@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Sora:wght@500;600;700&display=swap');

:root {
  --std-navy:#082B4C;
  --std-navy-dark:#061F37;
  --std-teal:#168C8C;
  --std-coral:#F26B4A;
  --std-cream:#FAF7F0;
  --std-ink:#263238;
  --std-muted:#66757C;
  --std-line:#DDE4E7;
  --std-soft:#F5F8F8;
  --std-white:#FFFFFF;
  --std-shadow:0 18px 50px rgba(8,43,76,.12);
}

*{box-sizing:border-box}
[hidden]{display:none!important}
.final-site,.portal-page{margin:0;color:var(--std-ink);background:#fff;font:400 16px/1.65 "DM Sans",system-ui,sans-serif}
.final-site h1,.final-site h2,.final-site h3,.portal-page h1,.portal-page h2,.portal-page h3{font-family:"Sora",system-ui,sans-serif;letter-spacing:-.035em}
.final-site .container,.portal-page .container{width:min(calc(100% - 48px),1280px);margin-inline:auto}
.final-site img,.portal-page img{display:block;max-width:100%}
.final-site :focus-visible,.portal-page :focus-visible{outline:3px solid var(--std-teal);outline-offset:3px}
.final-site button,.final-site input,.final-site select,.final-site textarea,.portal-page button,.portal-page input{font:inherit}
.skip-link{position:fixed;z-index:1000;top:8px;left:8px;padding:10px 14px;color:#fff;background:var(--std-navy);transform:translateY(-160%)}
.skip-link:focus{transform:none}

/* Shared real-estate/IDX shell */
.final-utility{color:#fff;background:var(--std-navy-dark)}
.final-utility .utility-inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.76rem;font-weight:600}
.final-header{position:sticky;z-index:100;top:0;background:rgba(255,255,255,.98);border-bottom:1px solid rgba(8,43,76,.1)}
.final-header .navbar{min-height:82px;display:flex;align-items:center;gap:24px}
.final-header .brand{display:inline-flex;width:158px;min-height:62px;align-items:center;flex:0 0 auto}
.final-header .brand img{width:158px;height:68px;object-fit:contain}
.final-header .nav-links{margin-left:auto;display:flex;align-items:center;gap:22px}
.final-header .nav-links a{color:#173A58;font-size:.86rem;font-weight:600;text-decoration:none}
.final-header .nav-links a[aria-current="page"]{color:var(--std-teal)}
.final-header .portal-link{padding-left:19px;border-left:1px solid var(--std-line)}
.final-header .nav-cta,.final-cta{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 18px;border:1px solid var(--std-coral);border-radius:5px;color:#fff!important;background:var(--std-coral);font-weight:700;text-decoration:none;cursor:pointer}
.final-header .nav-cta:hover,.final-cta:hover{background:#DC5C40}
.final-header .menu-toggle{display:none;margin-left:auto;min-height:44px;padding:0 14px;color:var(--std-navy);background:#fff;border:1px solid var(--std-line);border-radius:5px;font-weight:700}

/* Supporting page hero */
.final-page-hero{position:relative;overflow:hidden;color:#fff;background:var(--std-navy)}
.final-page-hero.has-image::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,31,55,.96),rgba(6,31,55,.78) 48%,rgba(6,31,55,.35)),url('assets/neighborhood-home.jpg') center/cover no-repeat}
.final-page-hero .container{position:relative;z-index:1;min-height:390px;display:grid;align-content:center;padding-block:70px}
.final-page-kicker,.final-section-label{margin:0 0 12px;color:#168C8C;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.final-page-kicker{color:#8DD8D3}
.final-page-hero h1{max-width:800px;margin:0;color:#fff;font-size:clamp(2.7rem,5vw,5.2rem);font-weight:600;line-height:1.02}
.final-page-hero p:not(.final-page-kicker){max-width:700px;margin:22px 0 0;color:#D9E4E9;font-size:1.08rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.final-secondary{display:inline-flex;min-height:48px;align-items:center;padding:0 18px;border:1px solid rgba(255,255,255,.5);border-radius:5px;color:#fff;font-weight:700;text-decoration:none}

.final-section{padding:clamp(72px,8vw,112px) 0}
.final-section.soft{background:var(--std-soft)}
.final-section.navy{color:#fff;background:var(--std-navy)}
.final-section.navy .final-section-label{color:#82D8D2}
.final-section h2{max-width:840px;margin:0;color:var(--std-navy);font-size:clamp(2.15rem,4vw,4rem);font-weight:600;line-height:1.08}
.final-section.navy h2{color:#fff}
.final-lead{max-width:740px;margin:22px 0 0;color:var(--std-muted);font-size:1.05rem;line-height:1.75}
.final-section.navy .final-lead{color:#C9D7DF}
.final-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(48px,7vw,92px);align-items:center}
.final-photo{margin:0;min-height:480px;overflow:hidden;background:#EAF0F2}
.final-photo img{width:100%;height:480px;object-fit:cover}
.final-rule-list{margin:30px 0 0;padding:0;list-style:none;border-top:1px solid var(--std-line)}
.final-rule-list li{padding:16px 0;border-bottom:1px solid var(--std-line);color:var(--std-navy);font-weight:600}
.final-rule-list li::before{content:"✓";margin-right:10px;color:var(--std-teal)}
.final-grid-2,.final-grid-3,.final-grid-4{display:grid;gap:0;margin-top:44px;border-top:1px solid var(--std-line);border-left:1px solid var(--std-line)}
.final-grid-2{grid-template-columns:repeat(2,1fr)}
.final-grid-3{grid-template-columns:repeat(3,1fr)}
.final-grid-4{grid-template-columns:repeat(4,1fr)}
.final-grid-2 article,.final-grid-3 article,.final-grid-4 article{min-height:210px;padding:26px;border-right:1px solid var(--std-line);border-bottom:1px solid var(--std-line)}
.final-grid-2 article>span,.final-grid-3 article>span,.final-grid-4 article>span{color:var(--std-teal);font-size:.75rem;font-weight:700}
.final-grid-2 h3,.final-grid-3 h3,.final-grid-4 h3{margin:28px 0 10px;color:var(--std-navy);font-size:1.2rem}
.final-grid-2 p,.final-grid-3 p,.final-grid-4 p{margin:0;color:var(--std-muted)}
.final-text-link{display:inline-flex;margin-top:24px;color:var(--std-navy);font-weight:700;text-underline-offset:4px}

/* Address autocomplete */
.address-autocomplete{position:relative}
.address-search-shell{position:relative}
.address-search-shell svg{position:absolute;z-index:2;top:50%;left:18px;width:20px;height:20px;transform:translateY(-50%);fill:none;stroke:var(--std-teal);stroke-width:1.8}
.address-search-shell input[data-address-query]{width:100%;min-height:60px;padding:0 18px 0 52px;border:1px solid #AEBFC5;border-radius:5px;color:var(--std-ink);background:#fff;font:500 1rem/1.2 "DM Sans",sans-serif}
.address-search-shell input[data-address-query]:focus{border-color:var(--std-teal);outline:0;box-shadow:0 0 0 3px rgba(22,140,140,.12)}
.address-results{position:absolute;z-index:50;top:calc(100% + 6px);right:0;left:0;overflow:hidden;background:#fff;border:1px solid var(--std-line);border-radius:6px;box-shadow:0 18px 45px rgba(8,43,76,.16)}
.address-result{width:100%;min-height:62px;display:grid;gap:2px;padding:11px 16px;text-align:left;color:var(--std-navy);background:#fff;border:0;border-bottom:1px solid var(--std-line);cursor:pointer}
.address-result:last-child{border-bottom:0}.address-result:hover,.address-result:focus-visible{background:#F3F8F7}.address-result strong{font-size:.92rem}.address-result span{color:var(--std-muted);font-size:.78rem}
.address-status{min-height:20px;margin:8px 0 0;color:var(--std-muted);font-size:.78rem}
.address-manual-toggle{margin-top:8px;padding:0;color:var(--std-navy);background:transparent;border:0;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.address-manual{display:grid;grid-template-columns:1.5fr 1fr .55fr .7fr;gap:10px;margin-top:14px}
.address-manual input{width:100%;min-height:48px;padding:0 12px;border:1px solid #AEBFC5;border-radius:5px}

/* Seller intake */
.intake-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:52px;align-items:start}
.intake-sidebar{position:sticky;top:116px;padding:26px;color:#fff;background:var(--std-navy)}
.intake-sidebar h2{margin:0 0 12px;color:#fff;font-size:1.45rem}.intake-sidebar p{color:#CFDDE4}.intake-sidebar ul{margin:24px 0 0;padding:0;list-style:none}.intake-sidebar li{padding:11px 0;border-top:1px solid rgba(255,255,255,.18);font-size:.86rem}
.progress-meta{display:flex;justify-content:space-between;gap:20px;margin-bottom:8px;color:var(--std-muted);font-size:.78rem;font-weight:600}.progress-track{height:5px;overflow:hidden;background:#E5ECEE}.progress-bar{width:11%;height:100%;background:var(--std-teal);transition:width .22s ease}
.quiz-step{padding:42px 0 30px;border:0}.quiz-step h2,.quiz-step legend{max-width:760px;margin:0 0 10px;color:var(--std-navy);font:600 clamp(1.8rem,3.4vw,2.7rem)/1.12 "Sora",sans-serif}.quiz-step>p{max-width:680px;color:var(--std-muted)}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px}.choice{position:relative}.choice input{position:absolute;opacity:0;pointer-events:none}.choice label{min-height:58px;display:flex;align-items:center;padding:13px 16px;color:var(--std-navy);background:#fff;border:1px solid #C8D3D7;border-radius:5px;font-weight:600;cursor:pointer}.choice input:checked+label{border-color:var(--std-teal);background:#EFF8F7;box-shadow:inset 4px 0 0 var(--std-teal)}.choice input:focus-visible+label{outline:3px solid var(--std-teal);outline-offset:2px}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{margin-top:18px}.field label{display:block;margin-bottom:6px;color:var(--std-navy);font-weight:700}.field input,.field select,.field textarea{width:100%;min-height:52px;padding:10px 12px;border:1px solid #B7C5CA;border-radius:5px;background:#fff}.field textarea{min-height:100px;resize:vertical}
.quiz-controls{display:flex;justify-content:space-between;gap:12px;padding-top:22px;border-top:1px solid var(--std-line)}.quiz-button{min-height:50px;padding:0 18px;border-radius:5px;font-weight:700;cursor:pointer}.quiz-button.primary{margin-left:auto;color:#fff;background:var(--std-coral);border:1px solid var(--std-coral)}.quiz-button.secondary{color:var(--std-navy);background:#fff;border:1px solid var(--std-line)}.quiz-error{min-height:24px;margin:10px 0;color:#9D2F25;font-weight:600}
.review-box{margin-top:24px;border-top:1px solid var(--std-line)}.review-row{display:grid;grid-template-columns:190px 1fr;gap:18px;padding:13px 0;border-bottom:1px solid var(--std-line)}.review-row strong{color:var(--std-navy)}.review-row span{color:var(--std-muted)}

/* Confirmation */
.thank-grid{display:grid;grid-template-columns:1fr .8fr;gap:42px;align-items:start}.thank-card,.portal-access-card{padding:28px;background:#fff;border:1px solid var(--std-line);box-shadow:var(--std-shadow)}.portal-code{display:inline-block;margin:14px 0;padding:12px 15px;color:var(--std-navy);background:#EDF5F4;font:700 1.2rem/1.2 ui-monospace,SFMono-Regular,monospace;letter-spacing:.08em}

/* Legal footer */
.final-footer{color:#fff;background:var(--std-navy-dark);border-top:4px solid var(--std-teal)}
.final-footer .footer-main{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:56px;padding:58px 0 44px}.final-footer .brand-footer{display:inline-flex;width:160px}.final-footer .brand-footer img{width:160px;height:72px;object-fit:contain}.final-footer h2{margin:0 0 14px;color:#fff;font-size:.86rem;letter-spacing:.04em}.final-footer p{max-width:360px;color:#BFD0D9;font-size:.86rem}.final-footer a{color:#E5EFF3;text-decoration:none}.final-footer a:hover{color:#fff;text-decoration:underline}.final-footer .footer-links{display:grid;gap:9px;font-size:.84rem}
.license-disclosure{padding:22px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);color:#C7D7DE;font-size:.78rem}.license-disclosure strong{color:#fff}.license-disclosure a{color:#fff;text-decoration:underline}.final-footer-bottom{min-height:72px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#AFC3CD;font-size:.74rem}

/* Seller portal */
.portal-page{background:#F4F7F8}.portal-shell-header{background:#fff;border-bottom:1px solid var(--std-line)}.portal-shell-header .container{min-height:76px;display:flex;align-items:center;gap:24px}.portal-shell-header .brand{width:148px}.portal-shell-header .brand img{width:148px}.portal-header-actions{margin-left:auto;display:flex;gap:10px;align-items:center}.portal-logout{min-height:42px;padding:0 14px;color:var(--std-navy);background:#fff;border:1px solid var(--std-line);border-radius:5px;font-weight:700;cursor:pointer}
.portal-login-shell{min-height:calc(100dvh - 76px);display:grid;grid-template-columns:1fr 1fr}.portal-login-visual{position:relative;min-height:640px;background:linear-gradient(0deg,rgba(6,31,55,.45),rgba(6,31,55,.12)),url('assets/south-florida-home.jpg') center/cover no-repeat}.portal-login-copy{position:absolute;right:54px;bottom:54px;left:54px;color:#fff}.portal-login-copy h1{max-width:8ch;margin:0;color:#fff;font-size:3.7rem;line-height:1}.portal-login-panel{display:grid;place-items:center;padding:60px;background:#fff}.portal-login-card{width:min(100%,470px)}.portal-login-card h2{margin:0;color:var(--std-navy);font-size:2rem}.portal-login-card>p{color:var(--std-muted)}.portal-login-form{margin-top:28px}.portal-login-form label{display:block;margin-top:16px;color:var(--std-navy);font-weight:700}.portal-login-form input{width:100%;min-height:54px;margin-top:6px;padding:0 13px;border:1px solid #AFC0C6;border-radius:5px}
.portal-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:0 15px;border-radius:5px;font-weight:700;text-decoration:none;cursor:pointer}.portal-button.primary{color:#fff;background:var(--std-coral);border:1px solid var(--std-coral)}.portal-button.secondary{color:var(--std-navy);background:#fff;border:1px solid var(--std-line)}.portal-login-form .portal-button{width:100%;min-height:54px;margin-top:22px}.portal-login-error{min-height:24px;color:#9D2F25;font-weight:600}
.portal-dashboard{padding:42px 0 84px}.portal-welcome{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:26px}.portal-welcome h1{margin:0;color:var(--std-navy);font-size:clamp(2rem,4vw,3.4rem)}.portal-welcome p{margin:6px 0 0;color:var(--std-muted)}.portal-reference{color:var(--std-muted);font-size:.78rem}.portal-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:20px;align-items:start}.portal-card{padding:26px;background:#fff;border:1px solid var(--std-line);border-radius:7px}.portal-card+.portal-card{margin-top:20px}.portal-card h2{margin:0;color:var(--std-navy);font-size:1.4rem}.portal-card>p{color:var(--std-muted)}
.portal-status-banner{display:grid;grid-template-columns:10px 1fr;gap:16px;padding:20px;background:#EFF7F6;border:1px solid #C7DFDC}.portal-status-banner::before{content:"";background:var(--std-teal)}.portal-status-banner h2{margin:0 0 4px;color:var(--std-navy);font-size:1.25rem}.portal-status-banner p{margin:0;color:#4F6872}
.portal-timeline{margin:26px 0 0;padding:0;list-style:none}.portal-timeline-item{position:relative;display:grid;grid-template-columns:18px 1fr;gap:14px;min-height:60px}.portal-timeline-item::after{content:"";position:absolute;top:18px;bottom:-4px;left:7px;width:2px;background:#DCE5E8}.portal-timeline-item:last-child::after{display:none}.timeline-dot{z-index:1;width:16px;height:16px;margin-top:2px;border:2px solid #B9C8CD;border-radius:50%;background:#fff}.portal-timeline-item.done .timeline-dot,.portal-timeline-item.current .timeline-dot{border-color:var(--std-teal);background:var(--std-teal)}.portal-timeline-item strong{display:block;color:var(--std-navy);font-size:.9rem}.portal-timeline-item small{color:var(--std-muted)}
.portal-property-facts,.portal-analysis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:20px;background:var(--std-line);border:1px solid var(--std-line)}.portal-property-facts>div,.portal-analysis-grid>div{padding:15px;background:#fff}.portal-property-facts span,.portal-analysis-grid span{display:block;color:var(--std-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.portal-property-facts strong,.portal-analysis-grid strong{display:block;margin-top:4px;color:var(--std-navy)}
.portal-upload-form{margin-top:20px;padding:20px;border:1px dashed #9EB6BE;background:#F9FBFB}.portal-upload-form input[type="file"]{width:100%}.portal-upload-form .portal-button{margin-top:14px}.portal-upload-status{min-height:22px;margin-top:10px;color:var(--std-muted);font-size:.8rem}.portal-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.portal-photo{margin:0;border:1px solid var(--std-line);background:#fff}.portal-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}.portal-photo figcaption{padding:8px 10px;color:var(--std-muted);font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-document{display:flex;justify-content:space-between;gap:22px;align-items:center;padding:18px 0;border-bottom:1px solid var(--std-line)}.portal-document:last-child{border-bottom:0}.portal-document h3{margin:4px 0;color:var(--std-navy);font-size:1rem}.document-status{color:var(--std-teal);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.portal-document small{color:var(--std-muted)}.document-actions{display:flex;flex-wrap:wrap;gap:8px}.portal-empty{padding:22px;color:var(--std-muted);background:#F7F9F9}.portal-empty strong,.portal-empty span{display:block}.portal-empty strong{color:var(--std-navy)}.portal-empty span{margin-top:4px;font-size:.84rem}.portal-loading,.portal-error{padding:40px;text-align:center;background:#fff;border:1px solid var(--std-line)}.portal-error{color:#9D2F25}

@media(max-width:980px){.final-split,.intake-layout,.thank-grid,.portal-grid{grid-template-columns:1fr}.intake-sidebar{position:static}.final-grid-4{grid-template-columns:repeat(2,1fr)}.final-footer .footer-main{grid-template-columns:1fr 1fr}.portal-login-shell{grid-template-columns:1fr}.portal-login-visual{min-height:380px}.portal-login-copy h1{font-size:2.8rem}}
@media(max-width:760px){.final-site .container,.portal-page .container{width:min(calc(100% - 32px),100%)}.final-utility .utility-inner span:last-child{display:none}.final-header .navbar{min-height:72px}.final-header .brand,.final-header .brand img{width:132px}.final-header .menu-toggle{display:inline-flex}.final-header .nav-links{position:absolute;top:72px;right:0;left:0;display:none;margin:0;padding:18px 20px 24px;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid var(--std-line);box-shadow:0 14px 30px rgba(8,43,76,.1)}.final-header .nav-links.open{display:flex}.final-header .portal-link{padding-left:0;border-left:0}.final-header .nav-cta{width:100%}.final-page-hero .container{min-height:330px;padding-block:56px}.final-grid-2,.final-grid-3,.final-grid-4,.choice-grid,.field-grid,.address-manual{grid-template-columns:1fr}.review-row{grid-template-columns:1fr;gap:3px}.final-footer .footer-main{grid-template-columns:1fr;gap:30px}.final-footer-bottom{align-items:flex-start;flex-direction:column;justify-content:center;padding-block:18px}.portal-login-panel{padding:42px 20px}.portal-login-copy{right:24px;bottom:28px;left:24px}.portal-welcome{align-items:flex-start;flex-direction:column}.portal-property-facts,.portal-analysis-grid{grid-template-columns:1fr}.portal-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-document{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.final-site *,.portal-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
