/* Public experience: Telugu roots, warm photography and a clear registration path. */
.public-portal { --public-green:#147c48; --public-deep:#184a33; --public-orange:#ec7a10; --public-muted:#74816f; font-family:"Segoe UI",Arial,sans-serif; color:#283b2a; background:#fff; }
.public-portal .container { width:100%; max-width:1240px; padding-left:28px; padding-right:28px; }
.public-portal .site-header { background:#fff; border-bottom:1px solid #edf1e9; box-shadow:0 2px 14px #243b1b05; }
.public-portal .brand-navbar { min-height:84px; gap:24px; }
.public-portal .brand { min-width:200px; gap:10px; color:var(--public-green); }
.public-portal .brand>span { font:700 29px/1.05 "Segoe UI",Arial,sans-serif; color:var(--public-orange); letter-spacing:-1.1px; }
.public-portal .brand small { margin-top:9px; font:600 8px/1.2 "Segoe UI",Arial,sans-serif; letter-spacing:2.5px; color:#60926a; }
.public-portal .brand-mark { width:37px; height:42px; color:var(--public-green); }
.public-portal .navbar-nav { gap:28px; }
.public-portal .navbar-nav .nav-link { font-size:14px; font-weight:500; color:#63715d; letter-spacing:0; }
.public-portal .navbar-nav .nav-link:hover { color:var(--public-green); }
.public-portal .account-navigation { gap:20px; }
.public-portal .login-link { color:var(--public-deep); font-size:13px; font-weight:600; }
.public-portal .btn { font-family:inherit; font-size:14px; font-weight:600; border-radius:9px; padding:12px 20px; min-height:46px; letter-spacing:0; display:inline-flex; align-items:center; justify-content:center; gap:10px; }
.public-portal .btn-primary { color:#fff!important; background:var(--public-orange); border-color:var(--public-orange); box-shadow:0 5px 12px #e67b1414; }
.public-portal .btn-primary:hover { background:#d76a07; border-color:#d76a07; transform:none; }
.public-portal .portal-icon { width:23px; height:23px; flex-shrink:0; }
.public-portal .navbar-toggler { color:var(--public-green); min-width:44px; min-height:44px; }
.public-portal .navbar-toggler span { background:var(--public-green); }
.public-portal a:focus-visible,.public-portal button:focus-visible,.public-portal input:focus-visible,.public-portal select:focus-visible { outline:2px solid #228a50; outline-offset:3px; }
.public-hero { padding:44px 0 48px; background:linear-gradient(110deg,#f0f8ed,#fafbf7 58%,#f5f8ee); }
.public-hero-grid { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(350px,.82fr); grid-template-areas:"copy form" "photo form"; gap:24px 66px; align-items:start; }
.public-hero-copy { grid-area:copy; padding-top:3px; }
.public-eyebrow { display:block; font-size:10px; line-height:1.6; font-weight:700; letter-spacing:1.8px; text-transform:uppercase; color:#398453; margin-bottom:15px; }
.public-hero h1 { font-size:clamp(38px,4.1vw,55px); font-weight:700; line-height:1.13; letter-spacing:-2px; margin:0 0 18px; color:#273a27; }
.public-hero h1 em { font-style:normal; color:var(--public-green); }
.public-hero-copy>p { font-size:15px; line-height:1.8; color:#78816e; max-width:500px; margin:0; }
.public-hero-photo { grid-area:photo; height:286px; position:relative; border-radius:20px; overflow:hidden; background:#dce7cf; }
.public-hero-photo>img { width:100%; height:100%; object-fit:cover; object-position:center 10%; }
.public-hero-photo:after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,#1a302970); pointer-events:none; }
.public-photo-note { position:absolute; bottom:18px; left:20px; z-index:1; display:flex; align-items:center; gap:10px; color:#fff; }
.public-photo-note .portal-icon { width:30px; height:30px; }
.public-photo-note span { font-size:11px; line-height:1.5; }.public-photo-note strong { display:block; font-size:16px; font-weight:600; }
.public-start-card { grid-area:form; border-radius:18px; overflow:hidden; background:#fff; box-shadow:0 12px 38px #1c38131a; border:1px solid #e0e8d7; scroll-margin-top:100px; }
.public-card-banner { background:var(--public-green); color:#fff; display:flex; align-items:center; justify-content:center; gap:9px; padding:16px 20px; font-size:14px; font-weight:500; }
.public-card-banner .portal-icon { width:20px; height:20px; }
.public-card-body { padding:27px 30px 22px; }
.public-card-body h2 { font-size:24px; letter-spacing:-.7px; line-height:1.3; font-weight:700; margin:0 0 7px; color:#243c2c; }
.public-card-body>p { font-size:13px; color:#839078; margin-bottom:22px; }
.public-field { margin-bottom:17px; }
.public-portal .public-start-form .form-label { font-size:13px; color:#52664e; font-weight:600; margin-bottom:8px; }
.public-portal .public-start-form .form-control,.public-portal .public-start-form .form-select { height:46px; border:1px solid #dbe4d4; border-radius:8px; padding:10px 13px; background-color:#fff; font-size:14px; color:#384d35; box-shadow:none; }
.public-portal .public-start-form .form-select { padding-right:34px; }
.public-portal .public-start-form .form-control::placeholder { color:#a0aa98; }
.public-portal .public-start-button { width:100%; margin-top:3px; font-size:15px; padding:13px 12px; }
.public-start-button .portal-icon { width:18px; height:18px; }
.public-start-hint { font-size:11px; color:#98a18d; text-align:center; margin:10px 0 0; line-height:1.5; }
.public-card-privacy { display:flex; gap:9px; align-items:flex-start; border-top:1px solid #edf1e8; padding-top:16px; margin-top:19px; color:#8a957d; font-size:10px; line-height:1.8; }
.public-card-privacy .portal-icon { width:16px; height:16px; margin-top:2px; color:#4b935e; }.public-card-privacy a { color:#267a46; }
.public-card-body .public-card-login { font-size:12px; text-align:center; margin:16px 0 0; color:#7b8871; }.public-card-login a { color:#217c46; font-weight:600; margin-left:4px; }
.public-assurance { border-bottom:1px solid #edf0e7; background:#fff; }
.public-assurance-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding-top:25px; padding-bottom:25px; }
.public-assurance-grid>div { display:flex; align-items:center; gap:13px; padding:3px 22px; border-right:1px solid #e8ede1; }.public-assurance-grid>div:first-child { padding-left:0; }.public-assurance-grid>div:last-child { border:0; }
.public-assurance .portal-icon { width:30px; height:30px; color:#4b9b64; }.public-assurance strong { display:block; font-size:13px; font-weight:600; color:#45613c; }.public-assurance small { display:block; font-size:11px; color:#929d87; margin-top:5px; }
.public-section { padding:76px 0; }.public-portal .public-section h2,.public-community-section h2,.public-closing h2 { font-family:inherit; font-size:34px; font-weight:650; line-height:1.3; letter-spacing:-1px; color:#293e29; margin:0 0 16px; }
.public-portal #how-it-works,.public-portal #communities,.public-portal #safety { scroll-margin-top:100px; }
.public-section h2 em,.public-community-section h2 em { font-style:normal; color:#328552; }
.public-section-heading { text-align:center; max-width:680px; margin:0 auto 40px; }.public-section-heading p { font-size:14px; color:#87917d; line-height:1.8; margin-bottom:0; }
.public-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.public-steps article { position:relative; padding:26px 24px; border:1px solid #e6ecdf; border-radius:15px; background:#fff; }
.public-step-number { position:absolute; right:23px; top:20px; font-size:30px; font-weight:300; color:#dde7d4; }
.public-step-icon { display:flex; align-items:center; justify-content:center; background:#fff4e5; color:#e18a35; width:51px; height:51px; border-radius:14px; margin-bottom:24px; }
.public-steps h3 { font-size:19px; line-height:1.4; font-weight:600; color:#344d2f; margin-bottom:13px; letter-spacing:-.3px; }
.public-steps p { font-size:13px; line-height:1.9; color:#87937c; margin-bottom:18px; }.public-steps a { color:#2c874d; font-size:12px; font-weight:600; text-decoration:none; }
.public-steps a span { margin-left:7px; }
.public-community-section { padding:58px 0; background:#f6f9f1; border-block:1px solid #edf1e6; }
.public-community-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:85px; align-items:center; }.public-community-layout p { font-size:14px; line-height:1.8; color:#89947d; max-width:440px; }
.public-community-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.public-community-links>a { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:15px 19px; border:1px solid #dce6d0; border-radius:10px; background:#fff; color:#47663b; font-size:14px; font-weight:500; text-decoration:none; }.public-community-links>a:hover { border-color:#5d9b60; background:#f0f8e9; }.public-community-links .portal-icon { width:16px; height:16px; color:#8ba478; }
.public-community-layout .public-community-note { font-size:11px; color:#929d87; margin:17px 0 0; max-width:none; }.public-community-note a { color:#2c8049; }
.public-safety-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:90px; align-items:center; }
.public-privacy-art { display:flex; flex-direction:column; align-items:center; padding:38px 32px; border-radius:24px; background:linear-gradient(135deg,#eef6e8,#faf5e9); border:1px solid #e4ead9; max-width:450px; }
.public-art-shield { display:grid; place-items:center; width:90px; height:90px; border-radius:50%; background:#fff; box-shadow:0 7px 20px #37512c0c; color:#3c9660; margin-bottom:20px; }.public-art-shield .portal-icon { width:40px; height:40px; }
.public-art-label { font-size:21px; letter-spacing:-.5px; font-weight:600; color:#4f6a43; margin-bottom:25px; }
.public-art-row { display:flex; align-items:center; gap:12px; padding:14px 17px; border:1px solid #e1e9d6; background:#ffffffb0; margin-bottom:10px; border-radius:10px; width:100%; font-size:13px; color:#7c8f6c; }.public-art-row .portal-icon { width:17px; height:17px; color:#439760; }
.public-art-note { text-align:center; font-size:11px; color:#9aa68c; margin-top:13px; }
.public-safety-intro { font-size:14px; color:#8a9580; line-height:1.8; }
.public-safety-list { list-style:none; padding:0; margin:25px 0; }.public-safety-list li { display:flex; align-items:flex-start; gap:13px; margin-bottom:21px; }.public-safety-list .portal-icon { width:18px; height:18px; color:#479a61; margin-top:2px; }.public-safety-list h3 { font-size:14px; font-weight:600; color:#536e47; margin-bottom:6px; }.public-safety-list p { font-size:12px; color:#919d84; line-height:1.8; margin:0; }
.public-text-link { font-size:13px; color:#2f884d; font-weight:600; text-decoration:none; }.public-text-link span { margin-left:10px; }
.public-faq { background:#fafbf7; border-block:1px solid #eef1e7; }.public-faq-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:95px; }.public-faq-layout>div>p { font-size:14px; color:#909b84; line-height:1.8; }
.public-faq .accordion { --bs-accordion-bg:transparent; --bs-accordion-border-color:#e0e8d5; --bs-accordion-active-bg:transparent; --bs-accordion-active-color:#337e46; }.public-faq .accordion-button { font-family:inherit; font-size:14px; font-weight:600; color:#637b51; padding:22px 0; box-shadow:none; background:transparent; }.public-faq .accordion-button:focus-visible { outline-offset:0; }.public-faq .accordion-body { padding:0 24px 22px 0; font-size:13px; color:#909d81; line-height:1.9; }
.public-closing { padding:48px 0; background:#eaf4e3; }.public-closing>.container { display:flex; align-items:center; justify-content:space-between; gap:40px; }.public-closing .public-eyebrow { margin-bottom:11px; }.public-closing h2 { font-size:31px; margin-bottom:11px; }.public-closing p { font-size:14px; color:#839777; margin:0; }.public-closing .btn { white-space:nowrap; padding:15px 24px; }
.public-portal .site-footer { background:#fff; border-top:1px solid #e8eee0; padding-top:43px; }.public-portal .footer-main { padding-bottom:35px; }.public-portal .footer-brand p { color:#8d9c80; font-size:12px; line-height:1.8; }.public-portal .footer-main h2 { font-size:13px; color:#5d7850; font-weight:600; letter-spacing:0; text-transform:none; }.public-portal .footer-main a:not(.brand) { font-size:12px; color:#8c9b7f; }.public-portal .footer-bottom { border-color:#edf1e6; color:#9ba78e; font-size:10px; }
.public-portal .auth-page { max-width:1160px; width:calc(100% - 56px); margin:36px auto 56px; min-height:600px; border:1px solid #e1e8d9; border-radius:22px; overflow:hidden; box-shadow:0 12px 40px #29401b0c; grid-template-columns:minmax(0,1fr) minmax(0,1fr); background:#fff; }
.public-portal:has(.auth-page) { background:#f7faf3; }
.public-portal .auth-story { min-height:100%; padding:40px; background:#2e5039; }
.public-portal .auth-story>img { opacity:1; object-position:50% 23%; }.public-portal .auth-story:after { background:linear-gradient(0deg,#103c2ded,transparent 74%); }
.public-portal .auth-story .eyebrow { color:#d8e9bb; font-size:10px; letter-spacing:1.5px; }.public-portal .auth-story h2 { font-family:inherit; font-size:37px; font-weight:600; letter-spacing:-1px; line-height:1.2; }.public-portal .auth-story p { color:#e0ebd8; font-size:14px; line-height:1.8; max-width:340px; }.public-portal .auth-story small { color:#b5cfac; font-size:10px; }
.public-portal .auth-form-panel { padding:40px; }.public-portal .auth-form-inner { max-width:430px; }.public-portal .auth-form-inner>.eyebrow { font-size:10px; color:#438254; letter-spacing:1.5px; }
.public-portal .auth-form-inner h1 { font-family:inherit; font-size:32px; font-weight:650; line-height:1.25; color:#2d4c32; letter-spacing:-1px; margin-bottom:12px; }.public-portal .auth-form-intro { font-size:14px; color:#87967a; line-height:1.7; margin-bottom:25px; }
.public-auth-back { display:inline-flex; align-items:center; gap:7px; color:#7e9170; font-size:11px; margin-bottom:26px; text-decoration:none; }.public-auth-back .portal-icon { width:15px; height:15px; }
.public-portal .auth-form .form-label { font-size:13px; font-weight:600; color:#647d56; margin-bottom:8px; }.public-portal .auth-form input.form-control,.public-portal .auth-form select.form-select { font-size:14px; min-height:46px; height:46px; padding:10px 13px; border:1px solid #d9e3d0; border-radius:9px; color:#415a36; box-shadow:none; }.public-portal .auth-form select.form-select { padding-right:32px; }.public-portal .auth-form .password-field input { padding-right:52px; }
.public-portal .password-toggle { color:#438356; }.public-portal .password-toggle:hover { background:#f0f7e9; }.public-portal .password-hint { font-size:10px; color:#9aa78b; line-height:1.7; }.public-portal .auth-form-inner .form-check-label { font-size:12px; color:#819572; }.public-portal .auth-switch { font-size:13px; color:#8c9c7f; margin-top:21px; }.public-portal .auth-switch a { color:#2d864a; }.public-portal .auth-note { color:#98a58b; font-size:11px; border-top:1px solid #edf2e6; padding-top:17px; margin-top:20px; }.public-portal .auth-note svg { stroke:#4b8d5d; }.public-portal .auth-note a { color:#3b8b53; }
.auth-field-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; }.auth-field-grid .form-label { display:flex; align-items:flex-end; min-height:42px; }
.public-portal .public-registration .auth-form-panel { padding-top:30px; padding-bottom:30px; }.public-registration .public-auth-back { margin-bottom:19px; }
.public-portal .public-start-form .validation-summary-errors,.public-portal .auth-form .validation-summary-errors { color:#a43a3d; background:#fff3ef; border-color:#edcfc2; font-size:12px; }.public-portal .field-validation-error { color:#aa4944; font-size:11px; }
.public-portal .page-title,.public-portal .page-main h1 { font-family:inherit; color:#315737; }
@media(min-width:1500px) { .public-hero-grid { gap:26px 80px; }.public-hero-photo { height:310px; }.public-hero { padding:52px 0; } }
@media(max-width:1100px) and (min-width:992px) { .public-portal .brand { min-width:165px; }.public-portal .brand>span { font-size:26px; }.public-portal .navbar-nav { gap:16px; }.public-portal .brand-navbar { gap:16px; }.public-portal .account-navigation { gap:13px; }.public-hero-grid { gap:24px 36px; }.public-hero h1 { font-size:43px; }.public-card-body { padding:24px; } }
@media(max-width:991px) {
 .public-portal .brand-navbar { min-height:76px; }.public-portal .navbar-nav { gap:0; }.public-portal .navbar-nav .nav-link { font-size:14px; padding:13px 0; min-height:44px; border-color:#e7eddf; }.public-portal .account-navigation { margin:0; padding:10px 0 20px; }
 .public-hero-grid { grid-template-columns:minmax(0,1fr) minmax(310px,.9fr); gap:22px 30px; }.public-hero h1 { font-size:37px; letter-spacing:-1.3px; }.public-hero-copy>p { font-size:14px; }.public-hero-photo { height:290px; }.public-card-body { padding:24px 22px; }.public-card-body h2 { font-size:22px; }.public-card-banner { font-size:12px; padding:15px 12px; }
 .public-assurance-grid { gap:15px; }.public-assurance-grid>div { padding:0 13px; gap:10px; }.public-assurance strong { font-size:12px; }.public-assurance small { font-size:10px; }.public-assurance .portal-icon { width:25px; height:25px; }
 .public-steps { gap:20px; }.public-steps article { padding:22px 19px; }.public-steps h3 { font-size:17px; }.public-steps p { font-size:12px; }.public-community-layout,.public-safety-layout,.public-faq-layout { gap:40px; }.public-portal .public-section h2,.public-community-section h2 { font-size:29px; }.public-privacy-art { padding:30px 23px; }.public-art-label { font-size:19px; }.public-art-row { font-size:12px; padding:12px; }.public-closing h2 { font-size:27px; }
 .public-portal .auth-page { width:calc(100% - 40px); margin:28px auto 40px; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }.public-portal .auth-story { padding:30px; }.public-portal .auth-story h2 { font-size:30px; }.public-portal .auth-form-panel { padding:32px 25px; }.auth-field-grid { grid-template-columns:1fr; gap:0; }.auth-field-grid .form-label { min-height:0; }
 .public-portal .public-start-form input.form-control,.public-portal .public-start-form .form-select,.public-portal .auth-form input.form-control,.public-portal .auth-form .form-select { font-size:16px!important; }
}
@media(max-width:767px) {
 .public-portal .container { padding-left:22px; padding-right:22px; }.public-portal .brand { min-width:170px; }.public-portal .brand>span { font-size:26px; }.public-portal .brand small { font-size:7px; }
 .public-hero { padding:30px 0 34px; }.public-hero-grid { display:grid; grid-template-columns:minmax(0,1fr); grid-template-areas:"copy" "form" "photo"; gap:26px; }.public-eyebrow { font-size:9px; letter-spacing:1.5px; margin-bottom:13px; }.public-hero h1 { font-size:clamp(34px,8.7vw,48px); line-height:1.15; letter-spacing:-1.3px; margin-bottom:16px; }.public-hero-copy>p { max-width:500px; font-size:14px; line-height:1.8; }.public-hero-photo { height:260px; border-radius:16px; }.public-start-card { border-radius:15px; }.public-card-banner { padding:15px; font-size:13px; }.public-card-body { padding:24px; }.public-card-body h2 { font-size:24px; }.public-card-body>p { font-size:13px; margin-bottom:22px; }.public-portal .public-start-form .form-label { font-size:12px; }.public-field { margin-bottom:17px; }.public-card-privacy { font-size:11px; }.public-start-hint { font-size:11px; }.public-card-body .public-card-login { font-size:13px; }
 .public-assurance-grid { grid-template-columns:1fr; gap:0; padding-top:8px; padding-bottom:8px; }.public-assurance-grid>div,.public-assurance-grid>div:first-child { border-right:0; border-bottom:1px solid #edf1e6; padding:17px 0; gap:14px; }.public-assurance-grid>div:last-child { border-bottom:0; }.public-assurance strong { font-size:13px; }.public-assurance small { font-size:11px; }.public-assurance .portal-icon { width:29px; height:29px; }
 .public-section { padding:48px 0; }.public-portal .public-section h2,.public-community-section h2 { font-size:28px; letter-spacing:-.7px; }.public-section-heading { text-align:left; margin-bottom:28px; }.public-section-heading p { font-size:14px; }.public-steps { grid-template-columns:1fr; gap:16px; }.public-steps article { padding:25px; }.public-step-icon { margin-bottom:20px; }.public-steps h3 { font-size:21px; }.public-steps p { font-size:14px; }.public-steps a { font-size:13px; }
 .public-community-section { padding:42px 0; }.public-community-layout,.public-safety-layout,.public-faq-layout { grid-template-columns:minmax(0,1fr); gap:28px; }.public-community-layout p { font-size:14px; }.public-community-links { gap:10px; }.public-community-links>a { font-size:14px; padding:14px; }.public-community-layout .public-community-note { font-size:12px; }.public-privacy-art { max-width:450px; width:100%; margin:auto; padding:30px 23px; }.public-art-label { font-size:23px; }.public-art-row { font-size:14px; padding:14px; }.public-art-note { font-size:12px; }.public-safety-list h3 { font-size:15px; }.public-safety-list p { font-size:13px; }.public-text-link { font-size:14px; }
 .public-faq .accordion-button { font-size:14px; line-height:1.6; min-height:56px; }.public-faq .accordion-body { font-size:13px; }.public-faq h2 br { display:none; }.public-closing { padding:36px 0; }.public-closing>.container { align-items:flex-start; flex-direction:column; gap:25px; }.public-closing h2 { font-size:28px; }.public-closing p { font-size:14px; line-height:1.8; }.public-closing .btn { width:100%; }
 .public-portal .site-footer { padding-top:34px; }.public-portal .footer-main { gap:28px; }.public-portal .footer-main h2 { font-size:14px; }.public-portal .footer-main a:not(.brand) { font-size:13px; padding:5px 0; }.public-portal .footer-brand p { font-size:13px; }.public-portal .footer-bottom { font-size:11px; }
 .public-portal .auth-page { display:block; width:calc(100% - 32px); margin:22px auto 32px; min-height:0; border-radius:17px; }.public-portal .auth-story { display:none; }.public-portal .auth-form-panel { padding:29px 25px; }.public-portal .auth-form-inner { max-width:none; }.public-portal .auth-form-inner h1 { font-size:30px; }.public-auth-back { margin-bottom:25px; font-size:12px; }.public-portal .auth-form .form-label { font-size:13px; }.public-portal .password-hint { font-size:11px; }.public-portal .auth-note { font-size:12px; }.public-portal .auth-form .form-control,.public-portal .auth-form .form-select { min-height:48px; height:48px; }.public-portal .auth-form-inner .btn[type="submit"] { min-height:48px; }.public-portal .auth-switch { line-height:1.8; }
}
@media(max-width:359px) { .public-portal .container { padding-left:18px; padding-right:18px; }.public-card-body { padding:23px 18px; }.public-card-body h2 { font-size:22px; }.public-card-banner { font-size:12px; }.public-portal .public-start-button { font-size:13px; gap:6px; }.public-hero-photo { height:220px; }.public-art-label { font-size:20px; }.public-art-row { font-size:12px; }.public-portal .auth-form-panel { padding:25px 20px; } }
@media(prefers-reduced-motion:reduce) { .public-portal * { scroll-behavior:auto!important; } }
