/* Gulf Coast RE Group — Coastal Luxe homepage craft layer.
   This file intentionally designs each section as its own composition. */

/* ---------- shared editorial utilities ---------- */
body{background:var(--background)}
.section-index{display:block;margin-bottom:1rem;color:var(--accentDark);font-size:.68rem;font-weight:700;letter-spacing:.19em;text-transform:uppercase}
.kicker--navy{color:var(--secondary)}
.text-link{display:inline-flex;align-items:center;gap:.75rem;color:var(--primary);font-size:.8rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;transition:color .4s var(--ease-premium),gap .4s var(--ease-premium)}
.text-link:hover{gap:1rem;color:var(--accentDark)}
.text-link--light{color:#f7f3ec}
.text-link--light:hover{color:var(--accent)}
.text-link--dark{color:var(--primary)}
.btn{min-height:52px;justify-content:center;padding:14px 25px;font-family:var(--font-body);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:color .4s var(--ease-premium),background-color .4s var(--ease-premium),border-color .4s var(--ease-premium),transform .4s var(--ease-premium),box-shadow .4s var(--ease-premium)}
.btn--gold{border:1px solid var(--accent);background:var(--accent);color:var(--primary);box-shadow:0 12px 38px rgba(189,165,93,.16)}
.btn--gold:hover{transform:translateY(-2px);background:#d2bc79;color:var(--primary);box-shadow:0 18px 45px rgba(189,165,93,.25)}
.btn--gold::after,.btn--navy::after{content:"";position:absolute;inset:0 auto 0 -80%;width:55%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-22deg);transition:left .6s var(--ease-premium)}
.btn--gold:hover::after,.btn--navy:hover::after{left:130%}
.btn--navy{border:1px solid var(--primary);background:var(--primary);color:var(--background)}
.btn--navy:hover{transform:translateY(-2px);background:var(--secondary);border-color:var(--secondary);color:white}
.btn--outline-light{border:1px solid rgba(247,243,236,.38);background:transparent;color:var(--background)}
.btn--outline-light:hover{border-color:var(--accent);background:rgba(189,165,93,.08);color:var(--accent)}

/* ---------- richer branded loader ---------- */
.home .site-preloader{overflow:hidden;background:var(--background)}
.home .site-preloader::before,.home .site-preloader::after{content:"";position:absolute;border:1px solid rgba(146,124,59,.15);border-radius:50%}
.home .site-preloader::before{width:42vw;height:42vw;min-width:420px;min-height:420px}
.home .site-preloader::after{width:62vw;height:62vw;min-width:620px;min-height:620px}
.home .site-preloader__halo{position:absolute;width:25vw;height:25vw;min-width:260px;min-height:260px;border-radius:50%;background:radial-gradient(circle,rgba(189,165,93,.18),transparent 68%);filter:blur(12px)}
.home .site-preloader__inner{position:relative;z-index:1;gap:.85rem}
.home .site-preloader__monogram{width:76px;color:var(--accentDark);animation:preloader-turn 2.4s var(--ease-premium) infinite}
.home .site-preloader__mark{margin-top:.25rem;color:var(--primary);font-size:clamp(1.25rem,2.4vw,1.8rem);letter-spacing:-.03em}
.home .site-preloader__mark i{color:var(--accentDark);font-style:italic;font-weight:400}
.home .site-preloader__place{display:flex;align-items:center;gap:.7rem;color:var(--secondary);font-size:.61rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.home .site-preloader__place b{width:24px;height:1px;background:var(--accent)}
.home .site-preloader__bar{width:180px;margin-top:.75rem;background:rgba(14,42,59,.12)}
.home .site-preloader__bar i{background:linear-gradient(90deg,var(--accentDark),var(--accent))}
@keyframes preloader-turn{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(3deg) scale(1.04)}}

/* ---------- floating motion toggle (header/nav/footer come from the shared v2 shell) ---------- */
.motion-toggle{position:fixed;left:16px;bottom:16px;z-index:9996;display:flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid rgba(14,42,59,.3);border-radius:999px;background:rgba(247,243,236,.9);color:var(--primary);font:600 .58rem var(--font-body);letter-spacing:.09em;text-transform:uppercase;backdrop-filter:blur(10px);box-shadow:0 10px 30px -18px rgba(14,42,59,.6);cursor:pointer;transition:background-color .35s var(--ease-premium),border-color .35s var(--ease-premium),color .35s var(--ease-premium)}
.motion-toggle svg{width:16px;height:16px}
.motion-toggle:hover,.motion-toggle[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--primary)}

/* ---------- hero / golden-hour canvas ---------- */
.hero{min-height:100svh;height:100svh;padding:0;background:var(--primary);color:var(--background);isolation:isolate}
.hero__poster{z-index:-4;filter:saturate(.65) contrast(1.08) brightness(.48);transform:scale(1.02)}
#hero-gl{z-index:-3;opacity:0;transition:opacity 1.2s var(--ease-premium)}
#hero-gl.is-ready{opacity:1}
.hero__veil{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,19,27,.88) 0%,rgba(5,19,27,.66) 41%,rgba(5,19,27,.13) 72%,rgba(5,19,27,.28) 100%),linear-gradient(0deg,rgba(5,19,27,.66) 0%,transparent 38%,rgba(5,19,27,.25) 100%)}
.hero__sunpath{position:absolute;z-index:-1;right:8%;bottom:-25%;width:38vw;height:100%;min-width:420px;opacity:.46;background:radial-gradient(ellipse at 50% 78%,rgba(189,165,93,.65),rgba(189,165,93,.15) 23%,transparent 62%);filter:blur(22px);transform:rotate(-7deg)}
.hero__layout{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,26%);align-items:center;width:100%;max-width:1380px;padding-top:100px;padding-bottom:80px}
.hero__content{max-width:960px;padding:0}
.hero__kicker{display:flex;align-items:center;gap:14px;margin-bottom:clamp(20px,3vh,34px);color:var(--accent);font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.hero__kicker-line{width:44px;height:1px;background:currentColor}
.hero h1{max-width:1100px;margin:0;color:#fff;font-size:clamp(3.2rem,7.5vw,7.9rem);font-weight:400;line-height:.91;letter-spacing:-.052em;text-wrap:balance}
.hero h1 em{display:block;margin-top:.11em;background:linear-gradient(105deg,#fff5d4 0%,var(--accent) 46%,#fff8e1 75%,var(--accentDark) 100%);background-clip:text;-webkit-background-clip:text;color:transparent;font-style:italic;font-weight:400}
.hero__lede{max-width:680px;margin:clamp(22px,3.5vh,42px) 0 0;padding-left:18px;border-left:1px solid rgba(189,165,93,.65);color:rgba(255,255,255,.78);font-size:clamp(.98rem,1.3vw,1.18rem);line-height:1.7}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(26px,4vh,44px)}
.btn--glass{border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.05);color:white;backdrop-filter:blur(12px)}
.btn--glass:hover{transform:translateY(-2px);border-color:var(--accent);background:rgba(189,165,93,.12);color:white}
.hero__micro{margin:16px 0 0 12px;color:rgba(255,255,255,.45);font-size:.64rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.hero__compass{justify-self:end;width:min(20vw,220px);color:rgba(255,255,255,.36)}
.hero__compass svg{overflow:visible}
.hero__compass text{fill:currentColor;font:600 9px var(--font-body);letter-spacing:.1em}
.hero__bottom{position:absolute;right:var(--gutter);bottom:20px;left:var(--gutter);display:flex;align-items:flex-end;justify-content:space-between;color:rgba(255,255,255,.48)}
.hero__coordinates{font-size:.58rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.hero__scroll{display:flex;align-items:center;gap:12px;color:inherit;font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;transition:color .35s var(--ease-premium)}
.hero__scroll:hover{color:var(--accent)}
.hero__scroll svg{width:17px}
.hero__scroll circle{animation:scroll-dot 1.8s var(--ease-premium) infinite}
@keyframes scroll-dot{0%{transform:translateY(0);opacity:1}70%{transform:translateY(12px);opacity:.2}100%{transform:translateY(0);opacity:1}}

/* ---------- trust proof strip ---------- */
.trust{position:relative;padding:0;background:var(--primary);color:var(--background);border-top:1px solid rgba(255,255,255,.1)}
.trust__rule{position:absolute;top:0;left:0;width:16%;height:1px;background:var(--accent)}
.trust__grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1380px;padding-inline:0}
.trust__item{position:relative;display:grid;grid-template-columns:48px 1fr;gap:17px;align-items:center;min-height:178px;padding:34px clamp(20px,3vw,46px);border-right:1px solid rgba(255,255,255,.1)}
.trust__item:last-child{border-right:0}
.trust__item::before{content:"";position:absolute;top:0;right:16%;left:16%;height:1px;background:linear-gradient(90deg,transparent,rgba(189,165,93,.52),transparent)}
.trust__item svg{width:48px;color:var(--accent);opacity:.82}
.trust__item>div{display:flex;flex-direction:column}
.trust__item strong{color:white;font:500 clamp(1.65rem,2.7vw,2.5rem)/1 var(--font-head);letter-spacing:-.04em}
.trust__item strong small{font-size:.42em;color:rgba(255,255,255,.5)}
.trust__item>div>span{margin-top:7px;color:rgba(255,255,255,.78);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.trust__item em{margin-top:3px;color:rgba(255,255,255,.38);font-size:.58rem;font-style:normal}

/* ---------- matcher signature ---------- */
.matcher{position:relative;overflow:hidden;padding:clamp(90px,12vw,170px) 0;background:var(--background)}
.matcher::before{content:"";position:absolute;top:0;left:clamp(30px,9vw,150px);width:1px;height:100%;background:rgba(14,42,59,.08)}
.matcher__watermark{position:absolute;top:20px;left:-2vw;color:transparent;font:700 clamp(7rem,17vw,17rem)/.8 var(--font-head);letter-spacing:-.06em;white-space:nowrap;-webkit-text-stroke:1px rgba(14,42,59,.065);pointer-events:none}
.matcher__intro{position:relative;display:grid;grid-template-columns:1fr 2fr 120px;gap:clamp(24px,5vw,78px);align-items:end;margin-bottom:clamp(42px,7vw,82px)}
.matcher__intro h2{max-width:780px;margin:0;color:var(--primary);font-size:clamp(2.8rem,6.1vw,6.4rem);font-weight:400;line-height:.96;letter-spacing:-.055em}
.matcher__intro p{max-width:600px;margin:24px 0 0;color:#53606a;font-size:1.02rem}
.matcher__intro-mark{width:112px;color:var(--accentDark);opacity:.7}
.matcher__shell{position:relative;z-index:1;overflow:hidden;border:1px solid rgba(14,42,59,.16);border-radius:28px;background:rgba(255,255,255,.74);box-shadow:0 40px 100px -45px rgba(14,42,59,.35);backdrop-filter:blur(20px)}
.matcher__shell::before{content:"";position:absolute;top:0;left:0;width:42%;height:1px;background:linear-gradient(90deg,var(--accent),transparent)}
.matcher__progress{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:16px;padding:24px clamp(24px,4vw,54px);border-bottom:1px solid rgba(14,42,59,.1);background:rgba(247,243,236,.72)}
.matcher__progress i{height:1px;background:rgba(14,42,59,.14);transition:background-color .45s var(--ease-premium)}
.matcher__progress-step{display:flex;align-items:center;gap:9px;padding:0;border:0;background:none;color:rgba(14,42,59,.4);font:inherit;cursor:pointer;transition:color .4s var(--ease-premium)}
.matcher__progress-step:disabled{cursor:default}
.matcher__progress-step span{display:grid;width:28px;height:28px;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:.55rem;font-weight:700}
.matcher__progress-step b{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}
.matcher__progress-step.is-current,.matcher__progress-step.is-complete{color:var(--primary)}
.matcher__progress-step.is-current span{border-color:var(--accent);background:var(--accent);color:var(--primary)}
.matcher__viewport{position:relative;min-height:650px}
.matcher__panel{position:absolute;inset:0;display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,2fr);gap:clamp(30px,5vw,74px);align-items:start;padding:clamp(42px,6vw,80px);visibility:hidden;opacity:0;transform:translateX(34px);pointer-events:none;transition:opacity .5s var(--ease-premium),transform .5s var(--ease-premium),visibility .5s}
.matcher__panel.is-active{position:relative;visibility:visible;opacity:1;transform:translateX(0);pointer-events:auto}
.matcher__question{position:sticky;top:120px;padding-right:30px}
.matcher__question>span{color:var(--accentDark);font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.matcher__question h3{margin:18px 0 20px;color:var(--primary);font-size:clamp(2rem,3.5vw,3.75rem);font-weight:400;line-height:1.02;letter-spacing:-.04em}
.matcher__question p{color:#5d666d;font-size:.92rem}
.matcher__options{display:grid;gap:12px}
.matcher__options--lifestyle{grid-template-columns:repeat(3,1fr)}
.match-option{position:relative;display:flex;min-height:184px;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:24px;border:1px solid rgba(14,42,59,.13);border-radius:15px;background:rgba(247,243,236,.48);color:var(--primary);text-align:left;cursor:pointer;overflow:hidden;transition:transform .4s var(--ease-premium),background-color .4s var(--ease-premium),border-color .4s var(--ease-premium),box-shadow .4s var(--ease-premium),color .4s var(--ease-premium)}
.match-option::before{content:"";position:absolute;top:0;right:0;left:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.35}
.match-option::after{content:"";position:absolute;top:14px;right:14px;width:18px;height:18px;border:1px solid rgba(14,42,59,.22);border-radius:50%;transition:background-color .35s var(--ease-premium),border-color .35s var(--ease-premium),box-shadow .35s var(--ease-premium)}
.match-option:hover{transform:translateY(-5px);border-color:rgba(146,124,59,.5);background:white;box-shadow:0 20px 40px -30px rgba(14,42,59,.5)}
.match-option.is-selected{border-color:var(--accentDark);background:var(--primary);color:var(--background);box-shadow:0 22px 44px -28px rgba(14,42,59,.75)}
.match-option.is-selected::after{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 4px var(--primary)}
.match-option svg{position:absolute;top:25px;left:24px;width:56px;color:var(--accentDark);transition:transform .45s var(--ease-premium),color .45s var(--ease-premium)}
.match-option:hover svg{transform:translateY(-3px) rotate(-2deg)}
.match-option.is-selected svg{color:var(--accent)}
.match-option>span{font:500 1.45rem var(--font-head)}
.match-option>small{margin-top:4px;color:currentColor;font-size:.68rem;opacity:.58}
.matcher__options--budget{grid-template-columns:repeat(2,1fr)}
.match-option--budget{min-height:150px;padding-left:96px;justify-content:center}
.match-option--budget svg{top:50%;left:25px;width:52px;transform:translateY(-50%)}
.match-option--budget:hover svg{transform:translateY(calc(-50% - 3px)) rotate(-2deg)}
.match-option--wide{grid-column:1/-1;min-height:120px}
.matcher__options--region{grid-template-columns:repeat(2,1fr)}
.match-option--region{min-height:140px;padding-left:90px;justify-content:center}
.match-option--region svg{top:50%;left:22px;width:52px;transform:translateY(-50%)}
.match-option--region:hover svg{transform:translateY(calc(-50% - 3px))}
.matcher__footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:20px clamp(24px,4vw,54px);border-top:1px solid rgba(14,42,59,.1);background:rgba(247,243,236,.72)}
.matcher__back,.matcher__next{display:inline-flex;align-items:center;gap:8px;width:max-content;padding:11px 18px;border:1px solid rgba(14,42,59,.18);border-radius:999px;background:transparent;color:var(--primary);font:700 .67rem var(--font-body);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;transition:opacity .35s var(--ease-premium),background-color .35s var(--ease-premium),color .35s var(--ease-premium),transform .35s var(--ease-premium)}
.matcher__back:disabled,.matcher__next:disabled{opacity:.25;cursor:not-allowed}
.matcher__next{justify-self:end;border-color:var(--primary);background:var(--primary);color:white}
.matcher__next:not(:disabled):hover,.matcher__back:not(:disabled):hover{transform:translateY(-2px);background:var(--accent);border-color:var(--accent);color:var(--primary)}
.matcher__selection{color:rgba(14,42,59,.5);font-size:.65rem;font-weight:600;letter-spacing:.04em;text-align:center}
.matcher__results{display:block;padding:clamp(42px,6vw,76px)}
.matcher__result-head{display:grid;grid-template-columns:.6fr 1.4fr 1fr;gap:34px;align-items:start;margin-bottom:36px}
.matcher__result-head>span{color:var(--accentDark);font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.matcher__result-head h3{font-size:clamp(2rem,3.6vw,3.7rem);font-weight:400;line-height:1.02}
.matcher__result-head p{color:#5d666d;font-size:.9rem}
.matcher__result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.match-result-card{position:relative;display:grid;min-height:330px;align-content:space-between;padding:28px;border:1px solid rgba(14,42,59,.14);border-radius:17px;background:var(--background);overflow:hidden;transition:transform .4s var(--ease-premium),box-shadow .4s var(--ease-premium),border-color .4s var(--ease-premium)}
.match-result-card::before{content:"";position:absolute;top:0;right:0;left:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.match-result-card:hover{transform:translateY(-6px);border-color:rgba(146,124,59,.5);box-shadow:0 26px 55px -38px rgba(14,42,59,.6)}
.match-result-card__number{color:rgba(14,42,59,.25);font:500 .7rem var(--font-body);letter-spacing:.1em}
.match-result-card__region{color:var(--accentDark);font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.match-result-card h4{margin:10px 0 15px;color:var(--primary);font-size:2rem;font-weight:400}
.match-result-card p{color:#59646b;font-size:.82rem;line-height:1.65}
.match-result-card a{display:inline-flex;margin-top:20px;color:var(--primary);font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.match-result-card>svg{position:absolute;top:18px;right:18px;width:68px;color:rgba(146,124,59,.24)}
.matcher__result-actions{display:flex;align-items:center;justify-content:space-between;margin-top:28px}
.matcher__result-actions .text-link{border:0;background:none;cursor:pointer}
.matcher__disclaimer{margin:24px 0 0;padding-top:18px;border-top:1px solid rgba(14,42,59,.1);color:rgba(14,42,59,.48);font-size:.67rem}
.market-library{margin-top:22px;border-top:1px solid var(--border)}
.market-library summary{display:flex;align-items:center;justify-content:space-between;padding:21px 0;color:var(--primary);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:color .35s var(--ease-premium)}
.market-library summary:hover{color:var(--accentDark)}
.market-library summary span{font-size:.62rem;font-weight:500;letter-spacing:0;text-transform:none;opacity:.55}
.market-library__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);border-left:1px solid var(--border)}
.market-library__grid article{position:relative;min-height:260px;padding:28px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:rgba(255,255,255,.3);transition:background-color .4s var(--ease-premium)}
.market-library__grid article:hover{background:white}
.market-library__grid svg{width:26px;color:var(--accentDark)}
.market-library__grid h4{margin:28px 0 10px;color:var(--primary);font-size:1.25rem;font-weight:500}
.market-library__grid p{font-size:.75rem;line-height:1.6;color:#5d666d}
.market-library__grid a{position:absolute;right:28px;bottom:24px;left:28px;color:var(--primary);font-size:.59rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

/* ---------- service editorial stack ---------- */
.services{position:relative;padding:clamp(100px,13vw,180px) 0;background:#102c3b;color:var(--background)}
.services::before{content:"";position:absolute;inset:0;opacity:.28;background:radial-gradient(circle at 12% 15%,rgba(189,165,93,.3),transparent 30%),linear-gradient(110deg,transparent 65%,rgba(255,255,255,.025) 65%)}
.services__head{position:relative;display:grid;grid-template-columns:.8fr 1.4fr .7fr;gap:clamp(24px,5vw,76px);align-items:end;margin-bottom:clamp(55px,8vw,95px)}
.services__head .section-index{color:var(--accent)}
.services__head h2{margin:0;color:white;font-size:clamp(2.7rem,5.5vw,5.8rem);font-weight:400;line-height:.98;letter-spacing:-.05em}
.services__head p{color:rgba(255,255,255,.62);font-size:.9rem}
.services__stack{position:relative;display:grid;gap:24px}
.service-card{position:sticky;top:100px;display:grid;grid-template-columns:72px minmax(330px,.9fr) minmax(340px,1.1fr);gap:clamp(20px,4vw,60px);align-items:center;min-height:510px;padding:clamp(36px,6vw,78px);border:1px solid rgba(255,255,255,.14);border-radius:24px;overflow:hidden;box-shadow:0 -10px 40px rgba(0,0,0,.12)}
.service-card::before{content:"";position:absolute;top:0;right:0;left:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent)}
.service-card--buy{top:90px;background:#15384a;color:#f7f3ec}
.service-card--sell{top:112px;background:#274f62;color:#f7f3ec}
.service-card--build{top:134px;background:#d9ca9b;color:#0e2a3b}
.service-card__number{align-self:start;color:currentColor;font-size:.64rem;font-weight:700;letter-spacing:.14em;opacity:.55}
.service-card__copy{position:relative;z-index:1}
.service-card__copy>span{font-size:.62rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;opacity:.65}
.service-card__copy h3{max-width:600px;margin:20px 0;color:inherit;font-size:clamp(2.3rem,4.4vw,4.8rem);font-weight:400;line-height:.98;letter-spacing:-.045em}
.service-card__copy p{max-width:540px;margin-bottom:30px;color:inherit;font-size:.92rem;opacity:.72}
.service-card__art{width:100%;max-height:350px;color:currentColor;opacity:.36;transition:opacity .5s var(--ease-premium),transform .7s var(--ease-premium)}
.service-card:hover .service-card__art{opacity:.6;transform:translateY(-7px)}
.service-card__tags{position:absolute;right:42px;bottom:28px;display:flex;gap:7px}
.service-card__tags span{padding:7px 11px;border:1px solid currentColor;border-radius:999px;color:inherit;font-size:.56rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;opacity:.58}

/* ---------- team model ---------- */
.team-model{position:relative;padding:0 0 clamp(110px,14vw,190px);background:var(--background)}
.team-model__image{position:relative;height:min(52vw,660px);min-height:430px;overflow:hidden;background:linear-gradient(180deg,#0a2130 0%,#123549 34%,#2C5468 52%,#7d6c3e 66%,#132e3d 78%,#0a2130 100%)}
.team-model__scene{position:absolute;inset:0;color:rgba(247,243,236,.55)}
.team-model__scene svg{width:100%;height:100%}
.team-model__scene .scene-gold{color:rgba(189,165,93,.75)}
.team-model__image-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,42,59,.04),rgba(14,42,59,.2)),linear-gradient(90deg,rgba(14,42,59,.22),transparent 50%)}
.team-model__image>span{position:absolute;right:var(--gutter);bottom:28px;padding:9px 15px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(14,42,59,.3);color:white;font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(12px)}
.team-model__layout{display:grid;grid-template-columns:1.15fr .7fr;column-gap:clamp(40px,9vw,130px);row-gap:70px;margin-top:clamp(70px,10vw,130px)}
.team-model__statement{grid-column:1/-1;display:grid;grid-template-columns:.45fr 1.55fr;gap:clamp(30px,6vw,90px)}
.team-model__statement h2{margin:0;color:var(--primary);font-size:clamp(3rem,6.5vw,7rem);font-weight:400;line-height:.94;letter-spacing:-.057em}
.team-model__body{align-self:center;padding-left:clamp(10px,4vw,58px);border-left:1px solid var(--border)}
.team-model__lead{color:var(--primary);font:500 clamp(1.5rem,2.6vw,2.5rem)/1.18 var(--font-head)}
.team-model__body>p:not(.team-model__lead){margin:25px 0;color:#5a646a;font-size:.98rem}
.team-model__diagram{position:relative;justify-self:center;width:min(100%,430px);aspect-ratio:1;color:var(--primary)}
.team-model__diagram>svg{width:100%;height:100%;animation:diagram-drift 24s linear infinite}
.team-model__center{position:absolute;inset:50% auto auto 50%;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-50%)}
.team-model__center strong{color:var(--accentDark);font:500 2rem var(--font-head)}
.team-model__center span{font-size:.55rem;letter-spacing:.11em;text-transform:uppercase}
.team-model__label{position:absolute;padding:7px 11px;border:1px solid var(--border);border-radius:999px;background:var(--background);font-size:.56rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.team-model__label--one{top:-5px;left:50%;transform:translateX(-50%)}
.team-model__label--two{top:50%;right:-30px;transform:translateY(-50%)}
.team-model__label--three{bottom:-5px;left:50%;transform:translateX(-50%)}
.team-model__label--four{top:50%;left:-25px;transform:translateY(-50%)}
@keyframes diagram-drift{to{transform:rotate(360deg)}}

/* ---------- markets and hand-drawn route ---------- */
.markets{position:relative;padding:0 0 clamp(100px,14vw,180px);background:#eee8de;overflow:hidden}
.marquee{overflow:hidden;padding:24px 0;border-top:1px solid rgba(14,42,59,.14);border-bottom:1px solid rgba(14,42,59,.14);background:var(--background)}
.marquee__track{display:flex;width:max-content;align-items:center;gap:2.7vw;animation:marquee-drift 38s linear infinite}
.marquee__track span,.marquee__track i{font:400 clamp(2.2rem,4.7vw,5.2rem)/1 var(--font-head);letter-spacing:-.04em;white-space:nowrap}
.marquee__track span{color:var(--primary)}
.marquee__track i{color:transparent;font-style:italic;-webkit-text-stroke:1px var(--accentDark)}
.marquee__track>*::after{content:"·";margin-left:2.7vw;color:var(--accent);-webkit-text-stroke:0}
@keyframes marquee-drift{to{transform:translateX(-50%)}}
.markets__head{display:grid;grid-template-columns:.75fr 1.5fr .75fr;gap:clamp(28px,5vw,74px);align-items:end;padding-top:clamp(100px,12vw,160px);padding-bottom:clamp(65px,9vw,110px)}
.markets__head h2{margin:0;color:var(--primary);font-size:clamp(2.8rem,5.5vw,5.8rem);font-weight:400;line-height:.98;letter-spacing:-.05em}
.markets__head p{color:#5b666d;font-size:.9rem}
.markets__layout{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,8vw,110px);align-items:start}
.coast-map{position:relative;padding:20px 45px 18px;border:1px solid rgba(14,42,59,.14);border-radius:240px 240px 24px 24px;background:rgba(247,243,236,.62);box-shadow:0 35px 90px -58px rgba(14,42,59,.48)}
.coast-map::before{content:"GULF OF MEXICO";position:absolute;top:41%;left:-57px;color:rgba(14,42,59,.36);font-size:.55rem;font-weight:700;letter-spacing:.2em;transform:rotate(-90deg)}
.coast-map__svg{width:100%;max-height:850px;color:var(--primary)}
.coast-map__land{fill:rgba(255,255,255,.34)}
.coast-map__waves{opacity:.2}
.coast-map__waterline{filter:drop-shadow(0 0 8px rgba(189,165,93,.38))}
.coast-map__route{opacity:.42}
.map-dot circle:first-child{fill:var(--accent);stroke:var(--primary)}
.map-dot circle:nth-child(2){stroke:var(--accentDark);opacity:.45}
.map-dot text{fill:var(--primary);font:600 12px var(--font-body);letter-spacing:.04em}
.map-sun{fill:none;stroke:var(--accentDark);opacity:.42}
.coast-map__legend{display:flex;justify-content:space-between;padding-top:15px;border-top:1px solid rgba(14,42,59,.1);color:rgba(14,42,59,.5);font-size:.57rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.coast-map__legend span{display:flex;align-items:center;gap:7px}
.coast-map__legend i{width:18px;height:2px;background:var(--accent)}
.market-regions{border-top:1px solid rgba(14,42,59,.2)}
.market-region{border-bottom:1px solid rgba(14,42,59,.16)}
.market-region>button{display:flex;width:100%;align-items:center;justify-content:space-between;padding:22px 0;border:0;background:none;color:var(--primary);font:inherit;text-align:left;cursor:pointer;transition:color .35s var(--ease-premium),padding-left .35s var(--ease-premium)}
.market-region>button:hover{padding-left:8px;color:var(--accentDark)}
.market-region>button>span{display:flex;align-items:center;gap:14px}
.market-region>button svg{width:34px;color:var(--accentDark)}
.market-region>button b{font:500 clamp(1.25rem,2vw,1.7rem) var(--font-head)}
.market-region>button em{font-size:.59rem;font-style:normal;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.45}
.market-region>div{display:grid;grid-template-columns:repeat(2,1fr);max-height:0;gap:0 20px;overflow:hidden;opacity:0;transition:max-height .6s var(--ease-premium),opacity .5s var(--ease-premium),padding .5s var(--ease-premium)}
.market-region.is-open>div{max-height:320px;padding:0 0 24px;opacity:1}
.market-region>div a{padding:7px 0;color:#5d666d;font-size:.76rem;transition:color .35s var(--ease-premium),transform .35s var(--ease-premium)}
.market-region>div a::before{content:"—";margin-right:9px;color:var(--accentDark)}
.market-region>div a:hover{color:var(--primary);transform:translateX(4px)}
.markets__all{margin-top:30px}
.alert-demo{position:relative;display:grid;grid-template-columns:1fr .8fr;align-items:center;min-height:630px;margin-top:clamp(90px,13vw,170px);padding:clamp(50px,8vw,100px);border-radius:26px;background:var(--primary);color:var(--background);overflow:hidden}
.alert-demo::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 50%,rgba(189,165,93,.2),transparent 28%),linear-gradient(120deg,transparent 50%,rgba(255,255,255,.035) 50%)}
.alert-demo__copy{position:relative;z-index:1;max-width:530px}
.alert-demo__copy h3{margin:12px 0 24px;color:white;font-size:clamp(2.7rem,5vw,5.4rem);font-weight:400;line-height:.97}
.alert-demo__copy p{margin-bottom:30px;color:rgba(255,255,255,.62)}
.alert-demo__copy .text-link{color:var(--accent)}
.phone-mockup{position:relative;z-index:2;justify-self:center;width:min(285px,75%);padding:10px;border:1px solid rgba(255,255,255,.32);border-radius:44px;background:#0a1d27;box-shadow:0 35px 80px rgba(0,0,0,.45);transform:rotate(4deg)}
.phone-mockup__speaker{position:absolute;top:18px;left:50%;z-index:2;width:66px;height:17px;border-radius:20px;background:#0a1d27;transform:translateX(-50%)}
.phone-mockup__screen{overflow:hidden;min-height:520px;border-radius:35px;background:var(--background);color:var(--primary)}
.phone-mockup__top{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 8px;font-size:.55rem;font-weight:700}
.phone-mockup__image{position:relative;height:210px;background:linear-gradient(180deg,transparent,rgba(14,42,59,.35)),url('../img/community-aerial.webp') center/cover}
.phone-mockup__image span{position:absolute;bottom:12px;left:12px;padding:5px 8px;border-radius:999px;background:var(--accent);font-size:.52rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.phone-mockup__body{padding:24px}
.phone-mockup__body small{color:var(--accentDark);font-size:.56rem;font-weight:700;text-transform:uppercase}
.phone-mockup__body strong{display:block;margin:10px 0;font:500 1.45rem/1.1 var(--font-head)}
.phone-mockup__body p{color:#5f686e;font-size:.7rem;line-height:1.5}
.phone-mockup__body button{width:100%;margin-top:14px;padding:11px;border:0;border-radius:999px;background:var(--primary);color:white;font:700 .58rem var(--font-body);letter-spacing:.07em;text-transform:uppercase}
.alert-demo__rings{position:absolute;right:-100px;bottom:-150px;width:620px;height:620px;opacity:.2}
.alert-demo__rings i{position:absolute;inset:0;border:1px solid var(--accent);border-radius:50%}
.alert-demo__rings i:nth-child(2){inset:70px}
.alert-demo__rings i:nth-child(3){inset:140px}

/* ---------- client reviews ---------- */
.reviews{position:relative;padding:clamp(105px,14vw,190px) 0;background:#0b2534;color:var(--background);overflow:hidden}
.reviews::after{content:"“";position:absolute;top:-17vw;right:-3vw;color:rgba(189,165,93,.055);font:400 66vw/.8 var(--font-head);pointer-events:none}
.reviews__head{position:relative;z-index:1;display:grid;grid-template-columns:.45fr 1.6fr .55fr;gap:clamp(30px,6vw,90px);align-items:end;margin-bottom:clamp(60px,9vw,110px)}
.reviews__head .section-index{color:var(--accent)}
.reviews__head h2{margin:0;color:white;font-size:clamp(2.8rem,5.4vw,5.7rem);font-weight:400;line-height:.98;letter-spacing:-.05em}
.reviews__head>div{display:flex;align-items:center;gap:13px;padding-left:24px;border-left:1px solid rgba(255,255,255,.16)}
.reviews__head strong{color:var(--accent);font:500 2.8rem var(--font-head)}
.reviews__head>div span{color:rgba(255,255,255,.65);font-size:.65rem;font-weight:700;line-height:1.4;text-transform:uppercase}
.reviews__head small{color:rgba(255,255,255,.35);font-size:.52rem;font-weight:500;text-transform:none}
.reviews__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .9fr .9fr;border-top:1px solid rgba(255,255,255,.14);border-left:1px solid rgba(255,255,255,.14)}
.review{position:relative;display:flex;min-width:0;min-height:650px;flex-direction:column;justify-content:space-between;margin:0;padding:clamp(32px,4vw,56px);border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);transition:background-color .45s var(--ease-premium)}
.review::before{content:"";position:absolute;top:0;right:0;left:0;height:1px;background:linear-gradient(90deg,transparent,rgba(189,165,93,.7),transparent);opacity:.4}
.review:hover{background:rgba(255,255,255,.035)}
.review>svg{width:54px;color:var(--accent);opacity:.55}
.review blockquote{margin:42px 0;color:rgba(255,255,255,.76);font:400 clamp(1.03rem,1.5vw,1.35rem)/1.58 var(--font-head)}
.review--feature blockquote{font-size:clamp(1.15rem,1.75vw,1.55rem)}
.review figcaption{display:flex;align-items:center;gap:13px;padding-top:24px;border-top:1px solid rgba(255,255,255,.13)}
.review figcaption>span{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(189,165,93,.45);border-radius:50%;color:var(--accent);font:600 .68rem var(--font-head)}
.review figcaption div{display:flex;flex-direction:column}
.review figcaption strong{color:white;font-size:.72rem}
.review figcaption em{color:rgba(255,255,255,.38);font-size:.57rem;font-style:normal}
.reviews__foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;margin-top:32px}
.reviews__foot p{margin:0;color:rgba(255,255,255,.45);font-size:.76rem}

/* ---------- new construction sequence ---------- */
.new-build{position:relative;padding:clamp(105px,14vw,190px) 0;background:var(--background);overflow:hidden}
.new-build__watermark{position:absolute;top:6%;right:-2%;color:transparent;font:700 clamp(6rem,15vw,15rem)/1 var(--font-head);letter-spacing:-.06em;white-space:nowrap;-webkit-text-stroke:1px rgba(14,42,59,.055)}
.new-build__head{position:relative;display:grid;grid-template-columns:.7fr 1.5fr .8fr;gap:clamp(30px,5vw,75px);align-items:end;margin-bottom:clamp(70px,9vw,120px)}
.new-build__head h2{margin:0;color:var(--primary);font-size:clamp(2.8rem,5.5vw,5.8rem);font-weight:400;line-height:.97;letter-spacing:-.052em}
.new-build__head p{color:#59646b;font-size:.9rem}
.new-build__pin{position:relative}
.new-build__pin-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,10vw,145px);align-items:start}
.new-build__story{position:sticky;top:130px;min-height:480px;padding:50px;border-radius:22px;background:var(--primary);color:var(--background);box-shadow:0 35px 80px -48px rgba(14,42,59,.7)}
.new-build__story::before{content:"";position:absolute;top:0;right:0;left:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.new-build__story>span{color:var(--accent);font-size:.64rem;font-weight:700;letter-spacing:.15em}
.new-build__story h3{margin:40px 0 22px;color:white;font-size:clamp(2.2rem,4vw,4rem);font-weight:400;line-height:1}
.new-build__story p{min-height:92px;color:rgba(255,255,255,.62);font-size:.9rem}
.new-build__progress{height:2px;margin:36px 0;background:rgba(255,255,255,.14)}
.new-build__progress i{display:block;width:14.28%;height:100%;background:var(--accent);transform-origin:left;transition:width .6s var(--ease-premium)}
.build-steps{margin:0;padding:0;list-style:none;border-top:1px solid var(--border)}
.build-steps li{display:grid;grid-template-columns:48px 1fr .9fr;gap:20px;align-items:center;min-height:112px;padding:24px 0;border-bottom:1px solid var(--border);color:rgba(14,42,59,.42);transition:color .4s var(--ease-premium),padding-left .4s var(--ease-premium),background-color .4s var(--ease-premium)}
.build-steps li.is-current{padding-left:18px;background:rgba(189,165,93,.08);color:var(--primary)}
.build-steps li span{font-size:.59rem;font-weight:700;letter-spacing:.1em}
.build-steps li b{font:500 clamp(1.35rem,2.3vw,2rem) var(--font-head)}
.build-steps li em{font-size:.65rem;font-style:normal;font-weight:600;letter-spacing:.04em;text-align:right}

/* ---------- FAQ ---------- */
.faq{padding:clamp(100px,14vw,180px) 0;background:#ebe4d9}
.faq__layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(60px,10vw,150px);align-items:start}
.faq__head{position:sticky;top:130px}
.faq__head h2{margin:15px 0 24px;color:var(--primary);font-size:clamp(3rem,6vw,6.3rem);font-weight:400;line-height:.94;letter-spacing:-.05em}
.faq__head p{max-width:460px;color:#5c666d}
.faq__head .text-link{margin-top:20px}
.faq__head>svg{width:180px;margin-top:50px;color:rgba(146,124,59,.38)}
.faq__list{border-top:1px solid rgba(14,42,59,.2)}
.faq details{border-bottom:1px solid rgba(14,42,59,.2)}
.faq summary{position:relative;display:grid;grid-template-columns:44px 1fr 24px;gap:18px;align-items:center;padding:31px 0;color:var(--primary);font:500 clamp(1.3rem,2.2vw,1.8rem)/1.2 var(--font-head);cursor:pointer;list-style:none;transition:color .35s var(--ease-premium),padding-left .35s var(--ease-premium)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{padding-left:7px;color:var(--accentDark)}
.faq summary span{font:700 .58rem var(--font-body);letter-spacing:.1em;color:var(--accentDark)}
.faq summary i{position:relative;width:20px;height:20px}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;top:50%;left:50%;width:14px;height:1px;background:currentColor;transition:transform .4s var(--ease-premium)}
.faq summary i::after{transform:rotate(90deg)}
.faq details[open] summary i::after{transform:rotate(0)}
.faq details>div{overflow:hidden}
.faq details p{max-width:720px;margin:0;padding:0 30px 32px 62px;color:#59646b;font-size:.9rem;line-height:1.75}

/* ---------- contact finale ---------- */
.contact-finale{position:relative;padding:clamp(100px,14vw,190px) 0 0;background:#102c3b;color:var(--background);overflow:hidden}
.contact-finale::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(189,165,93,.08),transparent 34%),radial-gradient(circle at 10% 82%,rgba(189,165,93,.14),transparent 28%)}
.contact-finale__sun{position:absolute;top:-280px;right:-180px;width:760px;height:760px;border:1px solid rgba(189,165,93,.18);border-radius:50%}
.contact-finale__sun::before,.contact-finale__sun::after{content:"";position:absolute;border:1px solid rgba(189,165,93,.13);border-radius:50%}
.contact-finale__sun::before{inset:80px}.contact-finale__sun::after{inset:160px}
.contact-finale__layout{position:relative;z-index:1;display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(50px,9vw,130px);align-items:start}
.contact-finale__intro .section-index{color:var(--accent)}
.contact-finale__intro h2{margin:20px 0 30px;color:white;font-size:clamp(3.1rem,6vw,6.3rem);font-weight:400;line-height:.93;letter-spacing:-.052em}
.contact-finale__intro>p{max-width:560px;color:rgba(255,255,255,.63)}
.contact-finale__details{display:grid;gap:18px;margin-top:46px;padding-top:35px;border-top:1px solid rgba(255,255,255,.14)}
.contact-finale__details a{display:flex;align-items:flex-start;gap:15px;color:white;transition:color .35s var(--ease-premium),transform .35s var(--ease-premium)}
.contact-finale__details a:hover{color:var(--accent);transform:translateX(5px)}
.contact-finale__details svg{width:42px;flex:0 0 auto;color:var(--accent)}
.contact-finale__details span{display:flex;flex-direction:column}
.contact-finale__details small{color:rgba(255,255,255,.4);font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.contact-finale__details strong{margin-top:3px;font:500 1rem/1.45 var(--font-head)}
.contact-finale__intro .contact-finale__hours{margin-top:26px;color:rgba(255,255,255,.38);font-size:.66rem}
.contact-form{position:relative;padding:clamp(32px,5vw,60px);border:1px solid rgba(255,255,255,.15);border-radius:24px;background:rgba(255,255,255,.055);box-shadow:0 35px 80px -50px rgba(0,0,0,.8);backdrop-filter:blur(16px)}
.contact-form::before{content:"";position:absolute;top:0;right:12%;left:12%;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.contact-form__top{display:flex;justify-content:space-between;margin-bottom:34px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.13)}
.contact-form__top span{color:var(--accent);font:500 1.4rem var(--font-head)}
.contact-form__top em{color:rgba(255,255,255,.35);font-size:.58rem;font-style:normal}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form .field{gap:8px;margin-bottom:18px}
.contact-form .field label,.contact-form__choices legend{color:rgba(255,255,255,.72);font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.contact-form .field label span{font-size:.55rem;font-weight:500;opacity:.45}
.contact-form .field input,.contact-form .field textarea{border:1px solid rgba(255,255,255,.16);background:rgba(5,19,27,.22);color:white;transition:border-color .35s var(--ease-premium),background-color .35s var(--ease-premium),box-shadow .35s var(--ease-premium)}
.contact-form .field input::placeholder,.contact-form .field textarea::placeholder{color:rgba(255,255,255,.3)}
.contact-form .field input:focus,.contact-form .field textarea:focus{border-color:var(--accent);background:rgba(5,19,27,.4);box-shadow:0 0 0 3px rgba(189,165,93,.08)}
.contact-form__choices{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0;border:0}
.contact-form__choices legend{margin-bottom:10px}
.contact-form__choices label{cursor:pointer}
.contact-form__choices input{position:absolute;opacity:0}
.contact-form__choices span{display:block;padding:8px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:rgba(255,255,255,.55);font-size:.61rem;font-weight:600;transition:border-color .35s var(--ease-premium),background-color .35s var(--ease-premium),color .35s var(--ease-premium)}
.contact-form__choices input:checked+span{border-color:var(--accent);background:var(--accent);color:var(--primary)}
.contact-form__submit{width:100%}
.contact-form__privacy{margin:13px 0 0;color:rgba(255,255,255,.3);font-size:.58rem;text-align:center}
.contact-finale__wordmark{position:relative;z-index:0;margin-top:clamp(70px,11vw,150px);color:transparent;font:700 clamp(7rem,20vw,21rem)/.6 var(--font-head);letter-spacing:-.07em;text-align:center;white-space:nowrap;-webkit-text-stroke:1px rgba(247,243,236,.09);transform:translateY(12%)}

/* ---------- motion, QA, fallback refinements ---------- */
html.motion-reduced *{scroll-behavior:auto!important;animation-play-state:paused!important}
html.motion-reduced #hero-gl{display:none}
html.motion-reduced [data-reveal]{opacity:1!important;transform:none!important;clip-path:none!important}
html.qa .matcher__panel:not(.is-active){opacity:0!important}
html.no-js .matcher__panel:first-of-type{position:relative;visibility:visible;opacity:1;transform:none;pointer-events:auto}
html.no-js .market-library{display:block}

/* ---------- responsive: laptop ---------- */
@media (max-width:1180px){
  .hero__layout{grid-template-columns:1fr 170px}.hero h1{font-size:clamp(3rem,7.7vw,6rem)}
  .trust__item{grid-template-columns:38px 1fr;padding:30px 20px}.trust__item svg{width:38px}
  .matcher__intro{grid-template-columns:.7fr 2fr 90px}.matcher__intro-mark{width:90px}
  .matcher__panel{grid-template-columns:.65fr 1.6fr;padding:50px 40px}.matcher__options--lifestyle{grid-template-columns:repeat(2,1fr)}.matcher__viewport{min-height:820px}
  .market-library__grid{grid-template-columns:repeat(3,1fr)}
  .service-card{grid-template-columns:52px 1fr .8fr}.services__head{grid-template-columns:.65fr 1.5fr .7fr}
  .markets__head,.reviews__head,.new-build__head{grid-template-columns:.6fr 1.6fr .75fr}
  .review{min-height:700px;padding:34px}.review blockquote{font-size:1.03rem}
}

/* ---------- responsive: tablet ---------- */
@media (max-width:880px){
  .motion-toggle span{display:none}
  .hero{min-height:900px;height:100svh}.hero__layout{grid-template-columns:1fr;padding-top:90px}.hero__compass{position:absolute;right:20px;bottom:70px;width:120px;opacity:.5}.hero h1{font-size:clamp(3.2rem,10vw,5.6rem)}.hero__content{max-width:700px}.hero__bottom{bottom:16px}
  .trust__grid{grid-template-columns:repeat(2,1fr)}.trust__item:nth-child(2){border-right:0}.trust__item:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.1)}
  .matcher__intro,.services__head,.markets__head,.reviews__head,.new-build__head{grid-template-columns:1fr;align-items:start}.matcher__intro-mark{position:absolute;right:0;bottom:0;opacity:.18}.matcher__intro>div:nth-child(2){max-width:720px}
  .matcher__progress-step b{display:none}.matcher__progress{gap:10px}.matcher__panel{grid-template-columns:1fr}.matcher__question{position:relative;top:auto;padding:0}.matcher__viewport{min-height:1020px}.matcher__result-head{grid-template-columns:1fr}.matcher__result-grid{grid-template-columns:1fr}.matcher__results{min-height:1250px}.match-result-card{min-height:240px}.matcher__footer{grid-template-columns:auto 1fr auto}.matcher__selection{padding:0 12px}
  .market-library__grid{grid-template-columns:repeat(2,1fr)}
  .service-card{grid-template-columns:42px 1fr;min-height:580px}.service-card__art{position:absolute;right:-70px;bottom:-30px;width:52%;opacity:.16}.service-card__tags{right:25px;bottom:22px}
  .team-model__layout{grid-template-columns:1fr}.team-model__statement{grid-template-columns:1fr}.team-model__body{padding-left:0;border-left:0}.team-model__diagram{margin-top:20px}
  .markets__layout{grid-template-columns:1fr}.coast-map{max-width:620px;margin-inline:auto}.alert-demo{grid-template-columns:1fr;gap:60px}.alert-demo__copy{max-width:620px}.phone-mockup{justify-self:end;margin-right:10%}
  .reviews__grid{grid-template-columns:1fr}.review{min-height:auto}.reviews__head>div{padding:20px 0 0;border-top:1px solid rgba(255,255,255,.14);border-left:0}.reviews__foot{align-items:flex-start;gap:25px}
  .new-build__pin-layout{grid-template-columns:1fr}.new-build__story{position:relative;top:auto;min-height:400px}.build-steps li{grid-template-columns:44px 1fr .7fr}
  .faq__layout{grid-template-columns:1fr}.faq__head{position:relative;top:auto}.faq__head>svg{position:absolute;right:0;bottom:-25px;opacity:.16}.faq__list{margin-top:20px}
  .contact-finale__layout{grid-template-columns:1fr}.contact-finale__intro{max-width:700px}.contact-form{max-width:700px}
}

/* ---------- responsive: mobile ---------- */
@media (max-width:600px){
  :root{--gutter:20px}
  section{padding-block:76px}
  .section-index{font-size:.6rem}.kicker{font-size:.65rem}
  .ph-banner{font-size:10px}
  .motion-toggle{left:12px;bottom:12px;padding:8px 10px}
  .hero{height:auto;min-height:820px}.hero__poster{object-position:62% center}.hero__veil{background:linear-gradient(90deg,rgba(5,19,27,.89),rgba(5,19,27,.38)),linear-gradient(0deg,rgba(5,19,27,.75),transparent 60%)}.hero__layout{min-height:820px;padding-top:110px;padding-bottom:95px}.hero__kicker{font-size:.57rem;letter-spacing:.15em}.hero h1{font-size:clamp(3.05rem,14vw,4.6rem);line-height:.91}.hero__lede{font-size:.9rem}.hero__cta{flex-direction:column;align-items:stretch;max-width:330px}.hero__micro{text-align:center}.hero__compass{right:-10px;bottom:66px;width:90px}.hero__coordinates{display:none}.hero__bottom{justify-content:flex-end}
  .trust__grid{grid-template-columns:1fr}.trust__item{min-height:136px;border-right:0;border-bottom:1px solid rgba(255,255,255,.1)!important;padding:25px var(--gutter)}.trust__item:last-child{border-bottom:0!important}
  .matcher{padding-top:100px}.matcher::before{left:20px}.matcher__intro{margin-bottom:38px}.matcher__intro h2{font-size:3.2rem}.matcher__intro-mark{display:none}.matcher__shell{border-radius:18px}.matcher__progress{grid-template-columns:auto 1fr auto 1fr auto 1fr auto;padding:16px}.matcher__progress-step{gap:0}.matcher__progress-step span{width:25px;height:25px}.matcher__panel{padding:30px 20px}.matcher__question h3{font-size:2.3rem}.matcher__options--lifestyle,.matcher__options--budget,.matcher__options--region{grid-template-columns:1fr}.matcher__viewport{min-height:1450px}.match-option,.match-option--budget,.match-option--region{min-height:126px;padding:20px 20px 20px 86px;justify-content:center}.match-option svg,.match-option--budget svg,.match-option--region svg{top:50%;left:20px;width:47px;transform:translateY(-50%)}.match-option:hover svg,.match-option--budget:hover svg,.match-option--region:hover svg{transform:translateY(-50%)}.match-option--wide{grid-column:auto}.matcher__footer{grid-template-columns:1fr 1fr;padding:15px}.matcher__selection{display:none}.matcher__back,.matcher__next{padding:10px 13px}.matcher__results{padding:30px 20px;min-height:1160px}.matcher__result-head{gap:16px}.matcher__result-grid{gap:10px}.match-result-card{min-height:245px;padding:22px}.matcher__result-actions{align-items:stretch;flex-direction:column-reverse;gap:18px}.matcher__disclaimer{font-size:.6rem}.market-library summary{align-items:flex-start;gap:12px;flex-direction:column}.market-library__grid{grid-template-columns:1fr}.market-library__grid article{min-height:220px}
  .services{padding-top:95px}.services__head h2{font-size:3.3rem}.service-card{position:relative!important;top:auto!important;grid-template-columns:1fr;min-height:620px;padding:30px 24px}.service-card__number{margin-bottom:5px}.service-card__copy h3{font-size:2.75rem}.service-card__art{right:-35px;bottom:30px;width:85%;opacity:.12}.service-card__tags{right:auto;bottom:20px;left:24px;flex-wrap:wrap}.service-card__tags span{padding:5px 8px}
  .team-model__image{min-height:390px}.team-model__image>span{right:16px;bottom:15px;font-size:.48rem}.team-model__statement h2{font-size:3.45rem}.team-model__layout{row-gap:42px;margin-top:80px}.team-model__diagram{width:88%}.team-model__label{font-size:.46rem}.team-model__label--two{right:-25px}.team-model__label--four{left:-25px}
  .marquee{padding:18px 0}.marquee__track span,.marquee__track i{font-size:2.6rem}.markets__head{padding-top:85px;padding-bottom:55px}.markets__head h2{font-size:3.2rem}.coast-map{padding:15px 10px;border-radius:160px 160px 18px 18px}.coast-map::before{display:none}.map-dot text{font-size:10px}.market-region>button b{font-size:1.15rem}.market-region>div{grid-template-columns:1fr}.market-region.is-open>div{max-height:520px}.alert-demo{min-height:780px;padding:40px 24px}.alert-demo__copy h3{font-size:3.2rem}.phone-mockup{justify-self:center;width:250px;margin:0}.phone-mockup__screen{min-height:470px}.phone-mockup__image{height:180px}
  .reviews__head h2{font-size:3.25rem}.review{padding:30px 22px}.review blockquote,.review--feature blockquote{font-size:1.02rem}.reviews__foot{flex-direction:column}.reviews__foot .btn{width:100%}
  .new-build__head h2{font-size:3.2rem}.new-build__story{min-height:455px;padding:35px 25px}.new-build__story h3{font-size:2.55rem}.build-steps li{grid-template-columns:34px 1fr;min-height:96px}.build-steps li em{display:none}
  .faq__head h2{font-size:3.6rem}.faq summary{grid-template-columns:30px 1fr 20px;gap:10px;padding:24px 0;font-size:1.2rem}.faq details p{padding:0 0 26px 40px}.faq__head>svg{width:120px}
  .contact-finale__intro h2{font-size:3.4rem}.contact-form{padding:30px 20px}.contact-form__row{grid-template-columns:1fr}.contact-form__top{align-items:flex-start;gap:10px;flex-direction:column}.contact-finale__wordmark{font-size:30vw}
}

@media (prefers-reduced-motion:reduce){
  .site-preloader__monogram,.hero__scroll circle,.team-model__diagram>svg,.marquee__track{animation:none}
  #hero-gl{display:none}
  .service-card__art,.match-option svg,.text-link{transition:none}
  .btn--gold::after,.btn--navy::after{display:none}
}
