@font-face{font-family:CavDisplay;src:url('assets/playfair-latin.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:CavDisplay;src:url('assets/playfair-ext.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+1E00-1EFF,U+20A0-20AB}
@font-face{font-family:CavSans;src:url('assets/montserrat-latin.woff2') format('woff2');font-weight:400 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:CavSans;src:url('assets/montserrat-ext.woff2') format('woff2');font-weight:400 700;font-display:swap;unicode-range:U+0100-02BA,U+1E00-1EFF,U+20A0-20AB}
:root{--cream:#fff4e0;--navy:#2c426f;--navy-deep:#17233f;--coral:#c26d56;--green:#3e7060;--ink:#1a2231;--pad:clamp(24px,4vw,72px);--serif:CavDisplay,Georgia,serif;--sans:CavSans,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--navy-deep)}body{margin:0;color:var(--cream);font-family:var(--sans);background:var(--navy-deep);overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.grain{position:fixed;inset:0;z-index:80;opacity:.055;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}
.topbar{position:fixed;top:0;left:0;right:0;height:92px;z-index:60;display:grid;grid-template-columns:250px 1fr auto auto;align-items:center;gap:34px;padding:0 var(--pad);color:var(--cream);transition:height .4s,background .4s,color .4s,border-color .4s;border-bottom:1px solid rgba(255,244,224,.18)}.topbar.scrolled{height:74px;background:rgba(23,35,63,.88);backdrop-filter:blur(18px);border-color:rgba(255,244,224,.12)}.brand img{width:190px;height:auto}.topbar nav{display:flex;gap:30px;justify-content:flex-end}.topbar nav a{font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.76;transition:opacity .2s}.topbar nav a:hover{opacity:1}.stage-pill{justify-self:start;font-size:11px;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:9px}.stage-pill span{width:7px;height:7px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px rgba(194,109,86,.18);animation:pulse 2s infinite}.nav-cta{font-size:12px;text-transform:uppercase;letter-spacing:.1em;border-left:1px solid rgba(255,244,224,.25);padding-left:28px}.nav-cta i{font-style:normal;margin-left:10px}.menu-button{display:none;background:none;border:0;width:32px;height:30px;padding:0}.menu-button span{display:block;height:1px;background:var(--cream);margin:7px 0}
.screen{position:relative;min-height:100svh;isolation:isolate;overflow:hidden}.chapter-index{position:absolute;top:130px;left:var(--pad);z-index:6;color:var(--coral);font-size:12px;letter-spacing:.15em}.chapter-index span{color:var(--ink);margin-left:18px;text-transform:uppercase}.chapter-index.light{color:var(--coral)}.chapter-index.light span{color:var(--cream)}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin:0 0 28px;color:var(--cream)}.eyebrow.ink{color:var(--navy)}h1,h2{font-family:var(--serif);font-weight:700;line-height:.91;letter-spacing:-.04em;margin:0}h1{font-size:clamp(64px,9.4vw,154px);max-width:1160px}h2{font-size:clamp(50px,7vw,112px)}h1 em,h2 em{color:var(--coral);font-style:normal}.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}.reveal-media{overflow:hidden}.reveal-media img{transform:scale(1.1);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}.reveal-media.visible img{transform:scale(1)}
.hero{display:flex;align-items:flex-end;padding:160px var(--pad) 56px;background:var(--navy-deep)}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 52%;transform:scale(1.08);animation:heroIn 2.2s cubic-bezier(.2,.7,.2,1) forwards}.hero-shade{background:linear-gradient(180deg,rgba(17,26,48,.58) 0%,rgba(17,26,48,.13) 42%,rgba(17,26,48,.84) 100%),linear-gradient(90deg,rgba(17,26,48,.25),transparent 60%)}.hero-copy{z-index:3;width:100%}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin-top:40px;padding-top:26px;border-top:1px solid rgba(255,244,224,.34)}.hero-bottom p{font-family:var(--serif);font-size:clamp(18px,1.8vw,28px);line-height:1.35;max-width:610px;margin:0}.circle-link{width:88px;height:88px;border:1px solid rgba(255,244,224,.6);border-radius:50%;display:grid;place-content:center;text-align:center;gap:4px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;transition:background .3s,color .3s}.circle-link b{font-size:17px}.circle-link:hover{background:var(--cream);color:var(--navy-deep)}.chapter-mark{position:absolute;right:var(--pad);top:126px;z-index:3;font-family:var(--serif);font-size:17px;letter-spacing:.1em}.scroll-rail{position:absolute;left:0;bottom:0;width:100%;height:3px;background:rgba(255,255,255,.12);z-index:5}.scroll-rail span{display:block;height:100%;width:0;background:var(--coral)}
.archive{background:var(--cream);color:var(--ink);padding:195px var(--pad) 90px}.archive-grid{display:grid;grid-template-columns:minmax(320px,.82fr) 1.18fr;gap:clamp(50px,8vw,140px);align-items:center;max-width:1500px;margin:auto}.archive-photo{margin:0;position:relative}.archive-photo img{width:100%;height:min(68vh,760px);object-fit:cover;object-position:48% 46%;filter:sepia(.12) contrast(1.08)}figcaption{font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-top:12px;display:flex;justify-content:space-between}.archive-copy{max-width:780px}.archive-copy h2{color:var(--navy-deep)}.archive-copy .lede{font-family:var(--serif);font-size:clamp(18px,2vw,27px);line-height:1.5;max-width:670px;margin:42px 0 0}.side-note{font-size:11px;line-height:1.7;text-transform:uppercase;letter-spacing:.13em;border-left:2px solid var(--coral);padding-left:18px;margin:44px 0 0}.vertical-word{position:absolute;right:-22px;bottom:40px;writing-mode:vertical-rl;font-family:var(--serif);font-size:11px;letter-spacing:.38em;color:rgba(44,66,111,.38)}
.transition{background:#14253d;min-height:120svh}.transition-media{position:absolute;inset:0}.transition-media img{width:100%;height:100%;object-fit:cover}.transition-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,37,61,.94) 0%,rgba(20,37,61,.58) 42%,rgba(20,37,61,.08) 75%),linear-gradient(0deg,rgba(20,37,61,.9),transparent 48%)}.transition-copy{position:absolute;left:var(--pad);top:50%;transform:translateY(-45%);z-index:4;max-width:760px}.transition-copy.visible{transform:translateY(-50%)}.transition-copy p:last-child{font-size:16px;line-height:1.7;max-width:560px;margin:36px 0 0}.fact-strip{position:absolute;z-index:5;bottom:0;left:0;right:0;padding:28px var(--pad);border-top:1px solid rgba(255,244,224,.25);display:grid;grid-template-columns:repeat(3,1fr);background:rgba(20,37,61,.36);backdrop-filter:blur(12px)}.fact-strip div{display:flex;align-items:baseline;gap:14px;border-right:1px solid rgba(255,244,224,.18);padding-left:34px}.fact-strip div:first-child{padding-left:0}.fact-strip div:last-child{border:0}.fact-strip strong{font-family:var(--serif);font-size:clamp(28px,3.3vw,54px)}.fact-strip span{font-size:10px;text-transform:uppercase;letter-spacing:.13em;opacity:.7}
.stage{background:#f0ece6;color:var(--ink);padding:190px var(--pad) 80px;display:grid;grid-template-columns:.8fr 1.2fr;grid-template-rows:auto 1fr;gap:56px 8vw}.stage-number{position:absolute;left:-1vw;bottom:-9vw;font-family:var(--serif);font-size:39vw;line-height:.8;color:rgba(194,109,86,.09);z-index:-1}.stage-copy{align-self:end;padding-bottom:6vh}.stage-copy h2{font-size:clamp(50px,6vw,100px);color:var(--navy-deep)}.stage-copy>p:last-child{font-size:16px;line-height:1.72;max-width:590px;margin-top:36px}.stage-photo{margin:0;grid-column:2;grid-row:1/span 2;align-self:center}.stage-photo img{width:100%;height:min(67vh,730px);object-fit:cover}.stage-photo figcaption{color:var(--navy)}.stage-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-self:start;border-top:1px solid rgba(44,66,111,.25);padding-top:22px}.stage-meta div{display:flex;flex-direction:column}.stage-meta b{font-family:var(--serif);font-size:clamp(28px,3vw,48px);color:var(--navy)}.stage-meta span{font-size:10px;text-transform:uppercase;letter-spacing:.11em;margin-top:6px}
.finale{display:flex;align-items:center;justify-content:center;text-align:center;padding:150px var(--pad) 80px;background:var(--navy-deep)}.finale-bg,.finale-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.finale-bg{filter:saturate(.68)}.finale-overlay{background:rgba(23,35,63,.77)}.emblem{position:absolute;width:min(37vw,470px);opacity:.075;filter:none}.finale-copy{position:relative;z-index:3}.finale-copy h2{font-size:clamp(56px,7.8vw,125px)}.finale-copy>p:nth-of-type(2){font-family:var(--serif);font-size:clamp(17px,1.6vw,24px);max-width:580px;line-height:1.5;margin:32px auto}.actions{display:flex;justify-content:center;align-items:center;gap:28px;margin-top:42px}.primary{background:var(--coral);padding:20px 26px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;transition:background .3s}.primary:hover{background:var(--cream);color:var(--navy-deep)}.primary span{margin-left:18px}.secondary{font-size:12px;letter-spacing:.1em;border-bottom:1px solid rgba(255,244,224,.5);padding:10px 0}.finale-foot{position:absolute;bottom:26px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font-size:9px;letter-spacing:.13em;text-transform:uppercase;opacity:.55;z-index:3}
@keyframes heroIn{to{transform:scale(1)}}@keyframes pulse{50%{box-shadow:0 0 0 9px rgba(194,109,86,0)}}
@media(max-width:1000px){.topbar{grid-template-columns:1fr auto auto;height:76px}.brand img{width:158px}.topbar nav{display:none}.stage-pill{justify-self:end}.nav-cta{display:none}.menu-button{display:block}.archive-grid{grid-template-columns:.8fr 1.2fr;gap:45px}.stage{grid-template-columns:1fr;grid-template-rows:auto}.stage-copy{padding-bottom:0}.stage-photo{grid-column:1;grid-row:auto}.stage-photo img{height:52vh}.stage-meta{order:3}.transition-wash{background:linear-gradient(90deg,rgba(20,37,61,.9),rgba(20,37,61,.28)),linear-gradient(0deg,rgba(20,37,61,.9),transparent 60%)}}
@media(max-width:700px){:root{--pad:22px}.topbar{height:68px;gap:12px}.topbar.scrolled{height:64px}.brand img{width:132px}.stage-pill{font-size:8px}.hero{padding-top:120px;padding-bottom:30px;min-height:100svh}.chapter-mark{top:96px}.hero h1{font-size:clamp(52px,17vw,78px)}.hero-bottom{align-items:center}.hero-bottom p{font-size:17px;max-width:70%}.circle-link{width:70px;height:70px}.archive{padding-top:140px}.chapter-index{top:100px}.archive-grid{grid-template-columns:1fr;gap:42px}.archive-photo{width:76%;margin-left:auto}.archive-photo img{height:43vh}.archive-copy h2{font-size:clamp(45px,14vw,68px)}.archive-copy .lede{font-size:18px;margin-top:30px}.side-note{margin-top:28px}.transition{min-height:110svh}.transition-copy{top:43%;right:var(--pad)}.transition-copy h2{font-size:clamp(50px,14vw,70px)}.fact-strip{grid-template-columns:1fr 1fr 1fr;padding:20px var(--pad)}.fact-strip div{display:block;padding-left:10px}.fact-strip strong{display:block;font-size:25px}.fact-strip span{font-size:8px;line-height:1.4;display:block;margin-top:3px}.stage{padding-top:145px;gap:35px}.stage-copy h2{font-size:clamp(49px,14vw,70px)}.stage-photo img{height:43vh}.stage-meta b{font-size:27px}.stage-meta span{font-size:8px}.finale{min-height:100svh;padding-top:110px}.finale-copy h2{font-size:clamp(50px,14vw,72px)}.actions{flex-direction:column;gap:14px}.primary{width:100%;padding:19px 18px}.finale-foot{font-size:7px}.emblem{width:75vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media img{animation:none;transform:none}.reveal,.reveal-media img{transition:none}.stage-pill span{animation:none}}

/* Concept v2 — scroll-directed film and complete navigation */
.topbar{grid-template-columns:250px 1fr auto auto auto}
.menu-button{display:grid;grid-template-columns:auto 24px;grid-template-rows:1fr 1fr;align-items:center;column-gap:12px;width:auto;height:34px;color:var(--cream);cursor:pointer}
.menu-button small{grid-row:1/span 2;font:400 10px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.menu-button span{grid-column:2;margin:3px 0;width:24px}
.menu-panel{position:fixed;inset:0;z-index:90;padding:0 var(--pad) 48px;background:var(--navy-deep);color:var(--cream);visibility:hidden;opacity:0;transform:translateY(-18px);transition:opacity .45s,transform .45s,visibility .45s;overflow:auto}
.menu-panel.open{visibility:visible;opacity:1;transform:none}
body.menu-open{overflow:hidden}
.menu-panel-head{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,244,224,.18)}
.menu-panel-head img{width:190px}
.menu-panel-head button{color:var(--cream);background:none;border:0;cursor:pointer;font:400 10px/1 var(--sans);text-transform:uppercase;letter-spacing:.15em}
.menu-panel-head button b{font:300 28px/1 var(--sans);vertical-align:-3px;margin-left:14px}
.menu-panel-grid{min-height:calc(100svh - 140px);display:grid;grid-template-columns:1fr minmax(420px,1.1fr) .65fr;gap:7vw;align-items:center;padding:50px 0}
.menu-kicker{align-self:start;margin:8px 0;color:var(--coral);font-size:10px;letter-spacing:.17em;text-transform:uppercase}
.full-menu{display:flex;flex-direction:column}
.full-menu a{position:relative;padding:8px 0;font-family:var(--serif);font-size:clamp(35px,4vw,64px);line-height:1;transition:color .2s,transform .25s}
.full-menu a:hover{color:var(--coral);transform:translateX(8px)}
.full-menu a span{display:inline-block;width:40px;color:var(--coral);font:400 9px/1 var(--sans);letter-spacing:.14em;vertical-align:middle}
.full-menu a.sub{margin:-1px 0 5px 42px;padding:2px 0;font-family:var(--sans);font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:.62}
.menu-panel-side{align-self:end;display:flex;flex-direction:column;gap:22px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;line-height:1.7}
.menu-panel-side .account{padding-bottom:15px;border-bottom:1px solid rgba(255,244,224,.22);font-family:var(--serif);font-size:19px;text-transform:none;letter-spacing:0}
.menu-panel-side .account b{float:right}.language{display:flex;gap:15px}.language a:first-child{color:var(--coral)}.menu-panel-side p{margin:0;opacity:.55}

.hero{display:block;height:420svh;min-height:0;padding:0;background:var(--navy-deep);overflow:visible}
.hero-sticky{position:sticky;top:0;width:100%;height:100svh;display:flex;align-items:flex-end;padding:150px var(--pad) 50px;isolation:isolate;overflow:hidden}
.motion-sequence,.motion-frame,.hero-shade{position:absolute;inset:0;width:100%;height:100%}
.motion-sequence{z-index:-2;background:var(--navy-deep)}
.motion-frame{object-fit:cover;opacity:0;will-change:opacity,transform;transform:scale(1.07);filter:saturate(.86) contrast(1.04)}
.motion-frame:first-child{opacity:1;object-position:48% 42%;filter:sepia(.26) saturate(.58) contrast(1.12)}
.motion-frame:nth-child(2){object-position:center 52%}.motion-frame:nth-child(3){object-position:center 50%}.motion-frame:nth-child(4){object-position:center 48%}
.hero-shade{z-index:5;background:linear-gradient(180deg,rgba(17,26,48,.57),rgba(17,26,48,.08) 42%,rgba(17,26,48,.89)),linear-gradient(90deg,rgba(17,26,48,.35),transparent 65%)}
.hero-copy{position:relative;z-index:8;will-change:opacity,transform}
.hero-bottom{margin-top:34px}.scroll-cue{width:150px;display:flex;align-items:center;gap:18px;font-size:9px;line-height:1.5;letter-spacing:.13em;text-transform:uppercase}
.scroll-cue b{flex:0 0 42px;width:42px;height:42px;border:1px solid rgba(255,244,224,.55);border-radius:50%;display:grid;place-items:center;font-size:16px}
.motion-caption{position:absolute;left:var(--pad);bottom:68px;z-index:8;opacity:0;transform:translateY(18px);will-change:opacity,transform;pointer-events:none}
.motion-caption span{display:block;margin-bottom:10px;color:var(--coral);font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.motion-caption p{margin:0;font-family:var(--serif);font-size:clamp(32px,4vw,68px);line-height:1}
.sequence-progress{position:absolute;right:var(--pad);bottom:58px;z-index:8;display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.15em}
.sequence-progress b{width:74px;height:1px;background:linear-gradient(90deg,var(--coral) var(--sequence,0%),rgba(255,244,224,.35) var(--sequence,0%));margin-right:5px}
.sequence-progress i{font-style:normal;opacity:.45}
.hero .scroll-rail{position:sticky;top:calc(100svh - 3px);z-index:10}

.history-notes{margin-top:42px;border-top:1px solid rgba(44,66,111,.25)}
.history-notes>div{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid rgba(44,66,111,.17)}
.history-notes b{color:var(--coral);font-size:10px;letter-spacing:.15em}.history-notes p{margin:0;font-size:12px;line-height:1.55}.history-notes strong{display:block;color:var(--navy);font-family:var(--serif);font-size:17px;margin-bottom:4px}
.urban-program{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px;padding-top:24px;border-top:1px solid rgba(255,244,224,.27)}
.urban-program div{display:flex;flex-direction:column}.urban-program strong{font-family:var(--serif);font-size:36px;color:var(--coral)}.urban-program span{font-size:9px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;opacity:.75}
.stage{min-height:150svh;grid-template-rows:auto auto auto}
.sales-proof{grid-column:1/-1;margin-top:22px;padding:42px 0 0;border-top:1px solid rgba(44,66,111,.27)}
.sales-columns{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:980px}
.sales-columns>div{position:relative;display:grid;grid-template-columns:auto 1fr;column-gap:23px;padding:20px 5vw 20px 0;border-right:1px solid rgba(44,66,111,.22)}
.sales-columns>div+div{padding-left:5vw;border-right:0}.sales-columns span{grid-column:1/-1;color:var(--coral);font-size:10px;letter-spacing:.15em;text-transform:uppercase}.sales-columns strong{grid-row:2/span 2;font-family:var(--serif);font-size:clamp(70px,8vw,120px);line-height:.9;color:var(--navy)}.sales-columns p{align-self:end;margin:0 0 5px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.sales-columns em{font-family:var(--serif);font-size:clamp(18px,2vw,27px);font-style:normal;color:var(--green)}
.sales-proof small{display:block;margin-top:22px;font-size:8px;letter-spacing:.12em;text-transform:uppercase;opacity:.52}

.contact-section{position:relative;background:var(--cream);color:var(--ink);padding:160px var(--pad);display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(60px,9vw,150px);align-items:start}
.contact-intro{position:sticky;top:130px}.chapter-label{margin:0 0 90px;color:var(--coral);font-size:12px;letter-spacing:.16em;text-transform:uppercase}.contact-intro h2{color:var(--navy-deep);font-size:clamp(54px,6vw,96px)}.contact-lede{max-width:520px;margin:36px 0 0;font-family:var(--serif);font-size:22px;line-height:1.5}.contact-direct{margin-top:70px;padding-top:25px;border-top:1px solid rgba(44,66,111,.25)}.contact-direct>span{display:block;color:var(--coral);font-size:11px;letter-spacing:.15em;text-transform:uppercase}.contact-direct>a{display:block;margin:14px 0;font-family:var(--serif);font-size:32px;color:var(--navy)}.contact-direct p{font-size:14px;line-height:1.6}.contact-direct small{opacity:.6}
.lead-form{padding:clamp(32px,5vw,72px);background:#f4eee4;border:1px solid rgba(44,66,111,.16)}.form-title{margin:0 0 42px;font-family:var(--serif);font-size:27px;color:var(--navy-deep)}.form-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:28px 22px}.form-grid label{display:block}.form-grid label:nth-child(1),.form-grid label:nth-child(2){grid-column:span 3}.form-grid label.wide{grid-column:1/-1}.form-grid label.phone-prefix{grid-column:span 1}.form-grid label.phone-number{grid-column:span 5}.form-grid label>span{display:block;margin-bottom:8px;color:var(--navy);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:0;border-bottom:1px solid rgba(44,66,111,.45);border-radius:0;background:transparent;color:var(--ink);font:400 16px/1.4 var(--sans);padding:9px 0 13px;outline:none}.form-grid textarea{resize:vertical;min-height:88px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--coral)}.required-note{margin:15px 0 32px;font-size:11px;opacity:.58}.legal-copy,.legal-details{font-size:12px;line-height:1.75}.legal-copy{padding:24px 0;border-top:1px solid rgba(44,66,111,.18);color:rgba(26,34,49,.72)}.legal-copy a,.legal-details a{text-decoration:underline}.legal-details{border-top:1px solid rgba(44,66,111,.18)}.legal-details summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:20px 0;cursor:pointer;color:var(--navy);font-weight:700}.legal-details summary::-webkit-details-marker{display:none}.legal-details summary span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--coral)}.legal-details>div{padding:0 0 24px;color:rgba(26,34,49,.72)}.legal-details ul{padding-left:18px}.legal-details li{margin:6px 0}.check-row{display:flex;align-items:flex-start;gap:12px;margin:13px 0;cursor:pointer}.check-row input{position:absolute;opacity:0}.check-row i{flex:0 0 19px;width:19px;height:19px;border:1px solid rgba(44,66,111,.48);position:relative}.check-row input:checked+i{background:var(--navy);border-color:var(--navy)}.check-row input:checked+i:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:var(--cream);font:700 12px/1 var(--sans)}.check-all{padding:15px 0;border-top:1px solid rgba(44,66,111,.15);font-weight:700;color:var(--navy)}.channel-consents{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.submit-button{width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:35px;padding:21px 24px;border:0;background:var(--coral);color:var(--cream);cursor:pointer;font:700 11px/1 var(--sans);letter-spacing:.13em;text-transform:uppercase}.submit-button:hover{background:var(--navy)}.submit-button span{font-size:16px}.form-status{min-height:18px;margin:14px 0 0;color:var(--green);font-family:var(--serif);font-size:16px}

.site-footer{background:#111c32;color:var(--cream);padding:90px var(--pad) 30px}.footer-top{display:grid;grid-template-columns:1.2fr .85fr 1fr 1fr 1.25fr;gap:clamp(28px,4vw,70px);padding-bottom:70px}.footer-brand img{width:185px}.footer-column h3{margin:0 0 22px;color:var(--coral);font:400 10px/1.3 var(--sans);letter-spacing:.15em;text-transform:uppercase}.footer-column p,.footer-column a{font-size:12px;line-height:1.75}.footer-column p{margin:0 0 17px}.footer-phone{font-family:var(--serif);font-size:23px!important}.footer-menu{display:flex;flex-direction:column}.footer-menu a{opacity:.72;transition:opacity .2s}.footer-menu a:hover{opacity:1}.sales-office small{opacity:.55}.hours{margin-top:24px!important;padding-top:20px;border-top:1px solid rgba(255,244,224,.17);opacity:.7}.hours strong{display:block;margin-top:12px;color:var(--cream);font-weight:400}.footer-social{display:flex;align-items:center;gap:30px;padding:26px 0;border-top:1px solid rgba(255,244,224,.18);border-bottom:1px solid rgba(255,244,224,.18);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.footer-social span{margin-right:auto;color:var(--coral)}.footer-social a{opacity:.7}.footer-disclaimer{max-width:1300px;margin:38px 0;color:rgba(255,244,224,.48);font-size:10px;line-height:1.7}.footer-bottom{display:grid;grid-template-columns:1fr auto auto auto;gap:35px;align-items:end;padding-top:30px;border-top:1px solid rgba(255,244,224,.12);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.developer-logos{display:flex;align-items:center;gap:18px}.developer-logos img{height:38px;width:auto}.developer-logos a:last-child img{height:27px}.developer-logos span{opacity:.45}.footer-bottom p{margin:0}.footer-bottom>p,.footer-bottom>a{opacity:.55}

@media(max-width:1000px){
  .topbar{grid-template-columns:1fr auto auto}.topbar .menu-button{display:grid}.menu-button small{display:none}
  .menu-panel-grid{grid-template-columns:1fr 2fr;gap:40px}.menu-panel-side{grid-column:2}.menu-kicker{grid-row:1/span 2}
  .hero-sticky{padding-top:120px}.stage{min-height:auto}.sales-proof{grid-column:1}.contact-section{grid-template-columns:1fr;padding-top:120px}.contact-intro{position:relative;top:auto}.chapter-label{margin-bottom:50px}.footer-top{grid-template-columns:1fr 1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .menu-panel{padding-bottom:24px}.menu-panel-head{height:68px}.menu-panel-head img{width:132px}.menu-panel-grid{min-height:auto;display:block;padding:50px 0}.menu-kicker{margin-bottom:30px}.full-menu a{font-size:39px;padding:6px 0}.full-menu a.sub{font-size:9px}.menu-panel-side{margin:45px 0 10px;padding-top:26px;border-top:1px solid rgba(255,244,224,.18)}
  .hero{height:390svh}.hero-sticky{padding:100px var(--pad) 28px}.hero-bottom p{max-width:75%}.scroll-cue{width:auto}.scroll-cue span{display:none}.sequence-progress{right:var(--pad);bottom:29px}.sequence-progress b{width:44px}.motion-caption{bottom:78px;right:var(--pad)}.motion-caption p{font-size:38px}.hero .scroll-rail{top:calc(100svh - 3px)}
  .urban-program{gap:9px}.urban-program strong{font-size:29px}.urban-program span{font-size:7px}
  .stage{padding-bottom:70px}.sales-proof{margin-top:10px;padding-top:30px}.sales-columns{grid-template-columns:1fr}.sales-columns>div,.sales-columns>div+div{padding:18px 0;border-right:0;border-bottom:1px solid rgba(44,66,111,.18)}.sales-columns strong{font-size:76px}
  .contact-section{padding:100px var(--pad);gap:55px}.contact-intro h2{font-size:52px}.contact-lede{font-size:19px}.contact-direct{margin-top:40px}.lead-form{padding:27px 22px}.form-grid{gap:24px 16px}.form-grid label:nth-child(1),.form-grid label:nth-child(2),.form-grid label.wide{grid-column:1/-1}.form-grid label.phone-prefix{grid-column:span 2}.form-grid label.phone-number{grid-column:span 4}.channel-consents{grid-template-columns:1fr}.site-footer{padding-top:70px}.footer-top{grid-template-columns:1fr 1fr;gap:46px 24px}.footer-brand{grid-column:1/-1}.sales-office{grid-column:1/-1}.footer-social{align-items:flex-start;flex-wrap:wrap;gap:16px 24px}.footer-social span{width:100%;margin:0 0 10px}.footer-bottom{grid-template-columns:1fr;gap:18px;align-items:start}.developer-logos{margin-bottom:15px}
}
@media(prefers-reduced-motion:reduce){.motion-frame,.motion-caption,.hero-copy{will-change:auto}}

/* Film extracted from the supplied Cavallia footage: one continuous camera move. */
.hero{height:340svh}
.film-poster,#heroFilm{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#heroFilm{opacity:0;pointer-events:none}#heroFilm.ready{opacity:1}
.hero-shade{background:linear-gradient(180deg,rgba(17,26,48,.30),transparent 37%,rgba(17,26,48,.68)),linear-gradient(90deg,rgba(17,26,48,.20),transparent 75%)}
.hero-copy h1 em{color:var(--cream)}
.hero-copy h1{text-shadow:0 2px 30px rgba(0,0,0,.15)}
.sequence-progress{font-size:12px}.hero-copy .eyebrow,.motion-caption span{font-size:12px}
@media(max-width:700px){.hero{height:310svh}.hero-bottom{padding-bottom:42px}.hero-copy .eyebrow{font-size:10px}.motion-caption p{font-size:34px}}
@media(prefers-reduced-motion:reduce){.hero{height:100svh}.scroll-cue,.sequence-progress,.motion-caption{display:none}.hero:not(.motion-enabled) .hero-copy{opacity:1!important;transform:none!important}}

/* Continuous flight into the furnished apartment. */
.hero{height:590svh}
.arrangement-note{position:absolute;left:var(--pad);bottom:22px;z-index:8;margin:0;font-size:12px;letter-spacing:.035em;color:rgba(255,255,255,.88);text-shadow:0 1px 6px #000;opacity:0;transition:opacity .25s;pointer-events:none}
.arrangement-note.visible{opacity:1}
@media(max-width:700px){.hero{height:530svh}.arrangement-note{bottom:56px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.hero{height:100svh}.arrangement-note{display:none}}

/* Contact and investment figures: consistent rhythm and readable hierarchy. */
.stage{min-height:auto;grid-template-rows:auto auto auto;row-gap:48px}
.stage-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-top:24px}
.stage-meta>div{min-width:0;gap:10px}
.stage-meta b{font-size:clamp(23px,2.15vw,38px);line-height:1.25;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums;font-weight:700;letter-spacing:-.035em}
.stage-meta b small{font:inherit;font-size:.56em;letter-spacing:0}
.stage-meta span{margin:0;font-size:10px;line-height:1.7;letter-spacing:.07em;max-width:150px}
.sales-proof{margin-top:8px;padding-top:40px}
.sales-proof>.eyebrow{margin:0 0 30px;line-height:1.7}
.sales-columns{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr))}
.sales-columns>div,.sales-columns>div+div{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0;padding:8px 48px 12px 0;border:0}
.sales-columns>div+div{padding-left:48px;border-left:1px solid rgba(44,66,111,.22)}
.sales-columns span{font-size:12px;line-height:1.4;margin-bottom:20px}
.sales-columns strong{font-size:clamp(70px,7vw,104px);line-height:1.05;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.045em}
.sales-columns p{align-self:auto;margin:14px 0 24px;font-size:12px;line-height:1.6;letter-spacing:.06em}
.sales-columns em{font:500 16px/1.6 var(--sans);color:var(--green);padding-top:16px;border-top:1px solid rgba(62,112,96,.2);width:100%;max-width:360px}
.sales-proof small{margin-top:30px;font-size:10px;line-height:1.7;letter-spacing:.055em;opacity:.68}
.contact-section{column-gap:clamp(40px,6vw,100px)}
.lead-form{background:#fffcf6;border:1px solid rgba(44,66,111,.12);padding:clamp(28px,3.4vw,56px);box-shadow:0 14px 44px rgba(44,66,111,.035)}
.form-title{font-size:clamp(30px,3vw,42px);line-height:1.2;margin:0 0 32px;padding-bottom:24px;border-bottom:1px solid rgba(44,66,111,.15)}
.form-grid{gap:22px 18px;grid-template-columns:repeat(6,minmax(0,1fr))}
.form-grid label{min-width:0}
.form-grid label>span{font-size:13px;font-weight:500;line-height:1.5;letter-spacing:0;text-transform:none;margin-bottom:8px}
.form-grid input,.form-grid select,.form-grid textarea{background:#fff;border:1px solid rgba(44,66,111,.23);padding:14px 13px;min-height:52px;line-height:1.4;transition:border-color .2s,box-shadow .2s}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--navy);box-shadow:0 0 0 2px rgba(44,66,111,.1)}
.form-grid textarea{min-height:112px}
.form-grid label.phone-prefix{grid-column:span 2}
.form-grid label.phone-number{grid-column:span 4}
.required-note{margin:14px 0 24px;font-size:12px}
.legal-copy,.legal-details{font-size:12px;line-height:1.75}
.legal-copy{padding:20px 0}
.legal-details summary{gap:16px;padding:18px 0;line-height:1.5}
.legal-details summary>span{white-space:nowrap;flex-shrink:0}
.channel-consents{grid-template-columns:1fr;gap:12px;padding:8px 0}
.check-row{line-height:1.6}
.check-row input:focus-visible+i{outline:2px solid var(--navy);outline-offset:3px}
.submit-button{margin-top:26px;min-height:56px;font-size:12px;letter-spacing:.08em}
.submit-button:focus-visible{outline:2px solid var(--navy);outline-offset:4px}
.form-status:empty{display:none}
@media(max-width:1000px){
 .stage-copy{grid-column:1;grid-row:1;order:0;padding-bottom:0}
 .stage-photo{grid-column:1;grid-row:2;order:0}
 .stage-meta{grid-column:1;grid-row:3;order:0}
 .sales-proof{grid-column:1;grid-row:4;order:0}
 .stage-meta b{font-size:clamp(26px,4vw,38px)}
}
@media(max-width:700px){
 .stage{row-gap:32px}
 .sales-columns>div,.sales-columns>div+div{padding:0 22px 0 0;border:0}
 .sales-columns>div+div{padding:0 0 0 22px;border-left:1px solid rgba(44,66,111,.22)}
 .sales-columns strong{font-size:68px}
 .sales-columns p{font-size:10px;min-height:32px;margin:12px 0 18px}
 .sales-columns em{font-size:14px}
 .lead-form{padding:28px 22px}
 .form-grid{gap:20px 14px}
}
@media(max-width:480px){
 .stage-meta{grid-template-columns:1fr;gap:0;padding-top:0;border-top:0}
 .stage-meta>div{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:18px;padding:18px 0;border-top:1px solid rgba(44,66,111,.2)}
 .stage-meta b{font-size:29px}
 .stage-meta span{font-size:10px;max-width:none}
 .sales-columns strong{font-size:58px}
 .sales-columns>div{padding-right:16px}
 .sales-columns>div+div{padding-left:16px}
 .lead-form{padding:26px 18px}
 .legal-details summary{font-size:12px;gap:8px}
}

/* Contact: original Cavallia fields in a balanced, compact composition. */
#kontakt{grid-template-columns:minmax(0,440px) minmax(0,560px);justify-content:center;align-items:start;gap:clamp(48px,7vw,100px);padding:96px var(--pad);scroll-margin-top:70px}
#kontakt .contact-intro{position:static;max-width:440px;padding-top:6px}
#kontakt .chapter-label{margin-bottom:36px}
#kontakt .contact-intro h2{font-size:clamp(40px,3.7vw,58px);line-height:1.08;letter-spacing:-.045em}
#kontakt .contact-lede{font:400 16px/1.8 var(--sans);max-width:390px;margin-top:26px}
#kontakt .contact-direct{margin-top:32px;padding-top:24px}
#leadForm{max-width:560px;width:100%;background:transparent;border:0;box-shadow:none;padding:0}
#leadForm .form-title{font-size:30px;line-height:1.3;margin:0 0 22px;padding:0;border:0;color:var(--navy)}
#leadForm .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
#leadForm .form-grid>label:nth-child(1),#leadForm .form-grid>label:nth-child(2),#leadForm .email-field{grid-column:auto}
#leadForm .form-grid label.wide{grid-column:1/-1}
#leadForm .form-grid label>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#leadForm .form-grid .contact-preference>span{position:static;width:auto;height:auto;clip-path:none;overflow:visible;display:block;margin:0 0 4px;font-size:12px;line-height:1.5;letter-spacing:0;text-transform:none}
#leadForm .form-grid input,#leadForm .form-grid select,#leadForm .form-grid textarea{width:100%;border:0;border-bottom:1px solid var(--coral);background:transparent;border-radius:0;box-shadow:none;outline:none;padding:10px 0 11px;min-height:46px;font:400 16px/24px var(--sans);color:var(--navy)}
#leadForm .form-grid input::placeholder,#leadForm .form-grid textarea::placeholder{color:var(--navy);opacity:.65}
#leadForm .form-grid input:focus,#leadForm .form-grid select:focus,#leadForm .form-grid textarea:focus{box-shadow:0 1px 0 var(--navy);border-color:var(--navy)}
#leadForm .form-grid textarea{min-height:70px}
#leadForm .phone-field{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;min-width:0}
#leadForm .phone-field label.phone-prefix,#leadForm .phone-field label.phone-number{grid-column:auto;min-width:0}
#leadForm .required-note{margin:10px 0 18px;font:400 10px/1.5 var(--sans)}
#leadForm .legal-details{font-size:11px;line-height:1.6;border-top:1px solid rgba(44,66,111,.13);border-bottom:0}
#leadForm .legal-details summary{padding:9px 0;gap:14px;font-size:11px;line-height:1.5;font-weight:400}
#leadForm .legal-details summary>span{font-size:10px;white-space:nowrap}
#leadForm .legal-copy{padding:12px 0;border:0;font-size:11px;line-height:1.65}
#leadForm .visible-consents{margin-top:8px}
#leadForm .check-all{padding:10px 0;border-top:0;font-size:11px;line-height:1.5;font-weight:500}
#leadForm .channel-consents{grid-template-columns:1fr;gap:7px;padding:3px 0 0}
#leadForm .channel-consents .check-row{font-size:10px;line-height:1.5}
#leadForm .check-row i{width:15px;height:15px;flex:0 0 15px}
#leadForm .submit-button{width:100%;margin-top:22px;padding:17px 22px;min-height:52px;background:var(--navy);color:var(--cream);font-size:12px;letter-spacing:.07em}
#leadForm .submit-button:hover{background:var(--coral)}
@media(max-width:850px){
 #kontakt{grid-template-columns:1fr;gap:40px;padding-top:64px;padding-bottom:64px}
 #kontakt .contact-intro,#leadForm{width:100%;max-width:560px;margin:0 auto}
 #kontakt .contact-intro h2{font-size:44px}
 #kontakt .chapter-label{margin-bottom:24px}
}
@media(max-width:480px){
 #leadForm .form-grid{gap:14px 18px}
 #leadForm .email-field,#leadForm .phone-field{grid-column:1/-1}
 #leadForm .phone-field{grid-template-columns:48px minmax(0,1fr)}
 #leadForm .form-title{font-size:28px}
}

/* Exact source copy, larger contact typography. */
#kontakt{grid-template-columns:minmax(0,440px) minmax(0,640px)}
#leadForm{max-width:640px}
#leadForm .form-title{font-size:38px;margin-bottom:28px}
#leadForm .form-grid input,#leadForm .form-grid select,#leadForm .form-grid textarea{font-size:18px;line-height:26px}
#leadForm .form-grid .contact-preference>span{font-size:14px}
#leadForm .phone-field{grid-template-columns:10px 40px minmax(0,1fr);gap:8px}
.phone-plus{align-self:center;color:var(--navy);font-size:16px}
#leadForm .required-note{font-size:12px;margin-bottom:22px}
#leadForm .legal-copy{font-size:13px;line-height:1.65;padding:0 0 18px}
#leadForm .legal-copy p{margin:0}
#leadForm .legal-copy a{text-decoration:underline;font-weight:600}
#leadForm .legal-details{font-size:13px;line-height:1.7}
#leadForm .legal-details summary{font-size:14px;padding:13px 0}
#leadForm .legal-details summary>span{font-size:12px}
#leadForm .legal-details ol{padding-left:22px}
#leadForm .legal-details li{margin:8px 0}
#leadForm .check-all,#leadForm .channel-consents .check-row{font-size:13px;line-height:1.6}
#leadForm .submit-button{font-size:14px}
.location-section{background:#edece6;color:var(--navy);padding:110px var(--pad)}
.location-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;max-width:1400px;margin:0 auto 48px}
.location-heading h2{font:700 clamp(44px,5vw,76px)/1.04 var(--serif);letter-spacing:-.045em;margin:20px 0 0}
.location-heading h2 em{font-style:normal;color:var(--coral)}
.location-heading>p{font:400 17px/1.8 var(--sans);max-width:410px;margin:0 0 5px}
.location-layout{max-width:1400px;margin:auto;display:grid;grid-template-columns:1.55fr 1fr;gap:40px;align-items:stretch}
.location-map{position:relative;min-height:540px;background:#d5d7cf;border:1px solid rgba(44,66,111,.15)}
.location-map iframe{display:block;border:0;width:100%;height:100%;min-height:540px}
.map-external{position:absolute;top:16px;right:16px;padding:11px 15px;background:var(--cream);font:500 11px/1.5 var(--sans);color:var(--navy);box-shadow:0 2px 10px #0002}
.location-places{display:flex;flex-direction:column;justify-content:space-between}
.place-button{display:grid;grid-template-columns:28px 1fr 18px;gap:12px;width:100%;text-align:left;background:none;border:0;border-top:1px solid rgba(44,66,111,.2);padding:21px 14px;color:var(--navy);cursor:pointer;transition:background .2s}
.place-button.is-active,.place-button:hover{background:rgba(255,244,224,.8)}
.place-button:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.place-index{font:500 12px/1.7 var(--sans);color:var(--coral)}
.place-button b{display:block;font:700 23px/1.2 var(--serif);margin-bottom:9px}
.place-button small{display:block;font:400 13px/1.7 var(--sans)}
.place-button i{font-style:normal;color:var(--coral)}
.location-caption{max-width:1400px;margin:20px auto 0;display:flex;justify-content:space-between;gap:20px;font:400 11px/1.7 var(--sans)}
.location-caption a{text-decoration:underline}
@media(max-width:1000px){.location-layout{grid-template-columns:1.2fr 1fr;gap:24px}.location-heading{gap:32px}.place-button b{font-size:21px}}
@media(max-width:850px){#kontakt{grid-template-columns:1fr}#leadForm{max-width:640px}.location-heading,.location-layout{grid-template-columns:1fr}.location-heading{gap:24px}.location-map,.location-map iframe{min-height:390px;height:390px}.location-section{padding:72px var(--pad)}.location-caption{display:block}.location-caption a{display:block;margin-top:8px}}
@media(max-width:480px){#leadForm .phone-field{grid-template-columns:10px 42px minmax(0,1fr)}#leadForm .form-title{font-size:32px}.location-map,.location-map iframe{height:340px;min-height:340px}}

/* Native mobile scrolling and a stable sticky viewport, including Safari. */
html{overflow-x:clip}
body{overflow-x:visible}
.hero{position:relative;touch-action:pan-y pinch-zoom;overflow:visible}
.hero-sticky{position:-webkit-sticky;position:sticky;height:100vh;height:100svh}
.enable-hero-motion{position:absolute;z-index:12;left:var(--pad);bottom:22px;padding:12px 16px;border:1px solid rgba(255,244,224,.6);background:var(--navy-deep);color:var(--cream);font:500 12px/1.4 var(--sans);cursor:pointer}
.enable-hero-motion[hidden]{display:none}
@media(max-width:700px){.hero{height:530vh;height:530svh}.hero-sticky{padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){
 .hero{height:100vh;height:100svh}
 .hero.motion-enabled{height:590vh;height:590svh}
 .hero.motion-enabled .arrangement-note{display:block}
}
@media(prefers-reduced-motion:reduce) and (max-width:700px){.hero.motion-enabled{height:530vh;height:530svh}}

/* User-directed scroll film is available immediately on every device. */
@media(max-width:700px){.grain{display:none}.topbar.scrolled{backdrop-filter:none;background:rgba(23,35,63,.96)}}

/* Typography follows scroll position, with no timed entrance competing with it. */
.heading-line{display:block;overflow:clip;padding-block:.13em;margin-block:-.13em}
.heading-line-inner{display:block}
.scroll-heading .heading-line-inner{opacity:var(--text-opacity,1);transform:translate3d(0,var(--text-shift,0%),0);transition:none;animation:none}
.scroll-text{opacity:var(--text-opacity,1);translate:0 var(--text-shift,0px);transition:none}
/* Mobile footer: readable sections and touch-sized navigation. */
@media(max-width:700px){
 .site-footer{padding:52px 24px 28px}
 .footer-top{grid-template-columns:minmax(0,1fr);gap:30px;padding-bottom:32px}
 .footer-brand{grid-column:auto;margin-bottom:4px}
 .footer-brand img{width:172px}
 .footer-column,.sales-office{grid-column:auto;min-width:0}
 .footer-column h3{font-size:12px;line-height:1.5;margin:0 0 12px;letter-spacing:.1em}
 .footer-column p,.footer-column a{font-size:14px;line-height:1.75}
 .footer-phone{font-size:30px!important;white-space:nowrap}
 .footer-menu{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 22px;border-top:1px solid rgba(255,244,224,.18);padding-top:26px}
 .footer-menu h3{grid-column:1/-1}
 .footer-menu a{display:flex;align-items:center;min-height:44px;padding:8px 0;opacity:.85}
 .sales-office{border-top:1px solid rgba(255,244,224,.18);padding-top:26px}
 .sales-office small{font-size:12px;opacity:.8}
 .hours{font-size:13px!important;line-height:1.75!important;margin-top:20px!important;padding-top:18px;opacity:.8}
 .footer-social{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding:22px 0;font-size:12px}
 .footer-social span{grid-column:1/-1;width:auto;margin:0 0 10px;line-height:1.6}
 .footer-social a{display:flex;align-items:center;min-height:44px;opacity:.85}
 .footer-disclaimer{font-size:12px;line-height:1.8;margin:26px 0;color:rgba(255,244,224,.66)}
 .footer-bottom{grid-template-columns:1fr;gap:14px;padding-top:26px;font-size:11px;line-height:1.6}
 .footer-bottom>a{display:flex;align-items:center;min-height:44px;opacity:.8}
 .developer-logos{gap:18px;margin:0 0 14px;flex-wrap:wrap}
 .developer-logos img{max-width:120px;height:42px;object-fit:contain}
 .developer-logos a:last-child img{height:28px;max-width:110px}
}

/* Cavallia neighborhood: branded vector cartography, v16. */
.location-layout{grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:0;border:1px solid #d6d4c9;background:#f7f4ec}
.location-map{height:620px;min-height:620px;border:0;overflow:hidden;background:#eae7dd}
#locationMap{position:absolute;inset:0;width:100%;height:100%;font-family:var(--sans)}
.map-kicker{position:absolute;z-index:2;top:25px;left:28px;pointer-events:none;font:600 10px/1.6 var(--sans);letter-spacing:.18em;color:var(--navy);background:#f7f4eceb;padding:12px 15px;box-shadow:0 6px 25px #242e4710}
.map-kicker span{display:block;font-size:12px;font-weight:400;letter-spacing:0;margin-top:4px}
.map-readout{position:absolute;z-index:2;bottom:34px;left:28px;right:80px;max-width:380px;padding:20px 24px;background:#1b2643;color:#faf5e9;pointer-events:none;box-shadow:0 12px 35px #18264420}
.map-readout>span{display:block;font:500 11px/1.5 var(--sans);letter-spacing:.05em;color:#e0b499}
.map-readout strong{display:block;font:400 29px/1.2 var(--serif);margin:7px 0}
.map-readout small{font:400 11px/1.5 var(--sans);color:#e1dfd5}
.location-places{padding:18px 22px;justify-content:center}
.place-button{padding:21px 12px;grid-template-columns:26px 1fr 12px;border-color:#dedbd0;position:relative}
.place-button:first-child{border-top:0}
.place-button b{font-size:23px;margin-bottom:5px}.place-button small{font-size:12px;line-height:1.65}
.place-button.is-active{background:#eae6da}.place-button.is-active:before{content:'';position:absolute;left:-22px;top:0;bottom:0;width:3px;background:var(--coral)}
.neighborhood-pin{border:0;background:transparent;padding:0;cursor:pointer;width:36px;height:36px;overflow:visible;color:#1b2643;z-index:1}
.pin-dot{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fffaf0;border:1px solid #a8ada6;box-shadow:0 3px 12px #18264420;font:600 11px var(--sans);transition:background .3s,color .3s,box-shadow .3s}
.pin-name{position:absolute;top:42px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#fffaf0eb;padding:4px 7px;font:500 10px/1.3 var(--sans);border-radius:2px;pointer-events:none}
.home-pin{z-index:3!important}.home-pin .pin-dot{background:#1b2643;color:#fff7e9;border:3px solid #f9f4e8;outline:1px solid #1b2643;font:500 22px var(--serif);box-shadow:0 0 0 9px #1b264315}
.home-pin .pin-name{background:#1b2643;color:#fff7e9;letter-spacing:.14em;font-size:11px;padding:6px 10px}
.neighborhood-pin.is-selected:not(.home-pin) .pin-dot{background:#b66e59;color:#fff;border-color:#fff;box-shadow:0 0 0 6px #b66e5920}
.neighborhood-pin:focus-visible{outline:3px solid #b66e59;outline-offset:5px;border-radius:50%}
.map-loading{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;background:#f2efe7;color:var(--navy);font:400 15px var(--sans)}
.map-loading[hidden]{display:none}.map-loading button{background:#1b2643;color:#fff7e9;border:0;padding:12px 18px;cursor:pointer}
.location-map .maplibregl-ctrl-top-right{top:20px;right:15px}.location-map .maplibregl-ctrl-group{border-radius:3px;box-shadow:0 2px 12px #18264415}
.location-map .maplibregl-ctrl-attrib{font-size:10px}
@media(max-width:1000px){.location-layout{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr)}.location-places{padding:14px}.place-button.is-active:before{left:-14px}.place-button b{font-size:21px}.map-readout{left:20px}}
@media(max-width:850px){.location-layout{grid-template-columns:minmax(0,1fr)}.location-map{height:500px;min-height:500px}.location-places{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:16px 20px}.place-button{padding:17px 5px}.place-button:first-child{grid-column:1/-1}.place-button.is-active:before{left:-6px;width:2px}.map-readout{max-width:350px}}
@media(max-width:480px){.location-map{height:460px;min-height:460px}.map-kicker{left:14px;top:16px;padding:9px 11px}.map-readout{left:14px;bottom:30px;right:42px;padding:16px 18px}.map-readout strong{font-size:26px}.location-places{display:flex;padding:10px 14px}.place-button{padding:17px 8px}.place-button b{font-size:22px}.place-button small{font-size:13px}.pin-name{font-size:9px}.location-map .maplibregl-ctrl-top-right{right:8px;top:12px}}

/* Destination arrival follows completion of the route, never the initial click. */
.neighborhood-pin.has-arrived .pin-dot{animation:destination-arrival 850ms cubic-bezier(.2,.7,.2,1) both}
.neighborhood-pin.has-arrived:after{content:'';position:absolute;inset:-1px;border:2px solid #b66e59;border-radius:50%;pointer-events:none;animation:destination-ring 1100ms ease-out both}
@keyframes destination-arrival{0%{transform:scale(1)}40%{transform:scale(1.24);box-shadow:0 0 0 9px #b66e5930}100%{transform:scale(1);box-shadow:0 0 0 6px #b66e5920}}
@keyframes destination-ring{0%{transform:scale(1);opacity:.8}100%{transform:scale(2.4);opacity:0}}
@media(prefers-reduced-motion:reduce){.neighborhood-pin.has-arrived .pin-dot,.neighborhood-pin.has-arrived:after{animation:none}.neighborhood-pin.has-arrived:after{display:none}}

/* Static courtyard image with content in normal document flow. */
#dzis.courtyard-static{height:auto;min-height:100svh;padding:160px var(--pad) 0;display:flex;flex-direction:column;justify-content:flex-end;gap:56px;isolation:isolate}
#dzis .transition-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:none}
#dzis .transition-copy{position:relative;left:auto;right:auto;top:auto;bottom:auto;transform:none;opacity:1;max-width:880px;margin:40px 0 0}
#dzis .transition-copy h2{font-size:clamp(42px,5.5vw,82px)}
#dzis .transition-copy>p:not(.eyebrow){font-size:16px;line-height:1.65;max-width:620px;margin:24px 0 0}
#dzis .urban-program{margin-top:26px;padding-top:18px}
#dzis .urban-program span{font-size:12px;letter-spacing:.04em}
#dzis .fact-strip{position:relative;left:auto;right:auto;bottom:auto;margin:0 calc(-1 * var(--pad));opacity:1;backdrop-filter:none}
#dzis .chapter-index{top:100px;text-shadow:0 1px 12px #14253d}
#dzis .fact-strip span{font-size:12px}
@media(max-width:700px){
 #dzis.courtyard-static{padding-top:130px;gap:36px}
 #dzis .chapter-index{top:88px}
 #dzis .transition-copy h2{font-size:clamp(32px,8.5vw,54px)}
 #dzis .transition-copy .eyebrow{font-size:10px;margin-bottom:18px}
 #dzis .transition-copy>p:not(.eyebrow){font-size:16px;line-height:1.5;margin-top:22px}
 #dzis .urban-program{margin-top:22px;padding-top:18px;gap:12px}
 #dzis .urban-program strong{font-size:30px}
 #dzis .urban-program span{font-size:12px;letter-spacing:0}
 #dzis .fact-strip span{font-size:11px;letter-spacing:0}
}

.sales-columns .offer-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px;max-width:360px;color:var(--cream);line-height:1.5}
.sales-columns .offer-cta span{margin:0;color:inherit;font-size:16px;line-height:1;letter-spacing:0}
.sales-columns .offer-cta:hover{color:var(--navy-deep)}
.sales-columns .offer-cta:focus-visible{outline:2px solid var(--navy);outline-offset:4px}
