@charset "UTF-8";
:root{--ink:#14201b;--ink-dark:#0e1714;--paper:#f4f2eb;--paper-warm:#ebe7dd;--white:#fefdf9;--bronze:#bca688;--muted:#818a81;--serif:Georgia,"Times New Roman",serif;--sans:Arial,"Helvetica Neue",Helvetica,sans;--edge:clamp(24px,5.5vw,112px);--header-h:92px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}::selection{background:var(--bronze);color:var(--ink-dark)}img,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}em{font-weight:400}h1,h2,h3,p{margin-top:0}.skip-link{position:absolute;left:12px;top:-60px;z-index:1000;background:#fff;color:#000;padding:12px}.skip-link:focus{top:12px}.site-header{position:fixed;z-index:200;top:0;left:0;right:0;color:#fff;transition:background .45s,color .45s,box-shadow .45s}.site-header.is-scrolled,.site-header.is-open{background:rgba(17,25,21,.97);box-shadow:0 1px 0 rgba(255,255,255,.12)}.nav-shell{height:var(--header-h);padding:0 var(--edge);display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{display:inline-flex;flex-direction:column;align-items:flex-start;flex-shrink:0;line-height:1}.wordmark-top{font-family:var(--serif);font-size:35px;letter-spacing:-.065em;font-weight:700}.wordmark-num{font-size:.65em;letter-spacing:-.045em;color:var(--bronze)}.wordmark-bottom{font-size:7.5px;font-weight:700;letter-spacing:.23em;margin-top:2px}.main-nav{display:flex;align-items:center;gap:clamp(20px,2.4vw,42px);font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.main-nav>a:not(.nav-cta),.menu-list>li>a{transition:color .25s}.main-nav>a:hover,.menu-list>li>a:hover{color:var(--bronze)}.menu-list{display:flex;align-items:center;gap:clamp(20px,2.4vw,42px);padding:0;margin:0;list-style:none}.menu-list>li{margin:0}.nav-cta{border:1px solid rgba(255,255,255,.55);padding:17px 21px;transition:background .25s,color .25s}.nav-cta:hover{color:#14201b!important;background:#fff}.nav-cta span{margin-left:15px;font-size:15px}.menu-toggle{display:none;background:none;border:0;width:42px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:7px;color:inherit}.menu-toggle span{width:25px;height:1px;background:currentColor;transition:transform .2s}.section-pad{padding:clamp(92px,11vw,190px) var(--edge)}.eyebrow{display:flex;align-items:center;gap:18px;font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#7a817b}.eyebrow-line,.accent-line{display:inline-block;width:28px;height:1px;background:var(--bronze);flex-shrink:0}.eyebrow-light{color:#e3e2d8}.section-kicker{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#8f8070}.editorial-title{font-family:var(--serif);font-weight:400;letter-spacing:-.052em;font-size:clamp(56px,7.6vw,132px);line-height:1.02}.editorial-title em{font-style:italic;color:#908472}.text-link{display:inline-flex;align-items:center;gap:30px;padding:18px 0;border-bottom:1px solid #adafa5;font-size:11px;font-weight:700;letter-spacing:.13em;transition:gap .3s}.text-link:hover{gap:45px}.text-link span{font-size:21px;font-weight:400}.lede{font-family:var(--serif);font-size:clamp(24px,2.25vw,38px);line-height:1.32;letter-spacing:-.025em}.fade-in{opacity:0;transform:translateY(36px);transition:opacity .8s ease,transform .8s ease}.fade-in.is-visible{opacity:1;transform:translateY(0)}.image-reveal{overflow:hidden}.image-reveal img{width:100%;height:100%;object-fit:cover;transition:transform 1.5s cubic-bezier(.2,.6,.2,1)}.image-reveal:hover img{transform:scale(1.035)}
/* 01 HERO */
.hero{position:relative;min-height:730px;height:100svh;background:var(--ink-dark);color:#fff;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background-position:center 55%;background-size:cover;transform:scale(1.065) translate3d(0,var(--hero-shift,0px),0);will-change:transform}.hero-shade{background:linear-gradient(90deg,rgba(4,13,10,.57) 0%,rgba(7,13,10,.19) 60%,rgba(5,12,10,.11)),linear-gradient(0deg,rgba(6,13,9,.8),transparent 42%,rgba(5,9,7,.16))}.hero-topline{position:absolute;top:calc(var(--header-h) + 56px);left:var(--edge);right:var(--edge);display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:9px;font-weight:700;letter-spacing:.22em}.hero-topline span:first-child{display:flex;align-items:center;gap:17px}.hero-main{position:absolute;left:var(--edge);right:var(--edge);bottom:clamp(125px,13vh,190px);display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.hero-small{font-size:11px;letter-spacing:.3em;font-weight:600;margin-bottom:23px;color:#e6d3b9}.hero h1{font-family:var(--serif);font-weight:400;letter-spacing:-.068em;font-size:clamp(72px,10.5vw,184px);line-height:.85;margin:0;max-width:1100px;text-transform:uppercase}.hero h1 span,.hero h1 em{display:block}.hero h1 em{font-size:.54em;line-height:1.3;letter-spacing:-.044em;text-transform:uppercase}.hero-description{display:flex;align-items:start;gap:18px;margin-top:28px;max-width:470px}.hero-description p{font-family:var(--serif);font-size:clamp(17px,1.5vw,24px);line-height:1.4;margin:0}.tiny-square{width:8px;height:8px;margin-top:10px;border:1px solid var(--bronze);transform:rotate(45deg);flex-shrink:0}.round-arrow{display:flex;justify-content:center;align-items:center;width:90px;height:90px;border:1px solid rgba(255,255,255,.65);border-radius:50%;font-size:42px;transition:background .25s,color .25s,transform .25s}.round-arrow:hover{background:#fff;color:var(--ink);transform:rotate(45deg)}.hero-bottom{position:absolute;bottom:0;left:var(--edge);right:var(--edge);height:75px;border-top:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:space-between;font-size:9px;font-weight:700;letter-spacing:.18em}.hero-bottom a span{margin-left:22px;font-size:19px}
/* 02 INTRO */
.introduction{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:1.28fr .72fr;gap:10vw;margin-top:90px}.intro-grid .editorial-title{margin:10px 0 35px}.intro-copy{padding-top:110px;max-width:500px}.intro-copy>p:not(.lede){font-size:15px;line-height:1.95;color:#676c64;margin-bottom:23px}.intro-copy .lede{margin-bottom:26px}.intro-copy .text-link{margin-top:22px}.intro-micro{border-top:1px solid #d3d3ca;display:flex;justify-content:space-between;gap:16px;margin-top:118px;padding-top:24px;font-size:9px;font-weight:700;color:#817d75;letter-spacing:.16em}
/* 03 SCROLL CINEMATIC */
.cinematic{position:relative;height:400svh;background:#152019;color:#fff}.cinematic-sticky{height:100svh;min-height:620px;position:sticky;top:0;overflow:hidden;background:#152019}.cinematic-images,.cinematic-shade,.cinematic-ui,.cinematic-video{position:absolute;inset:0}.cinematic-images{transition:opacity .7s}.cinematic-frame{position:absolute;inset:-3%;background-size:cover;background-position:center center;opacity:0;transform:scale(1.12);will-change:opacity,transform}.cinematic-frame.active{opacity:1}.cinematic-video{width:100%;height:100%;object-fit:cover;z-index:1;opacity:0}.cinematic.has-video .cinematic-images{opacity:0}.cinematic.has-video .cinematic-video{opacity:1}.cinematic-shade{z-index:2;background:linear-gradient(90deg,rgba(6,13,12,.76),rgba(6,13,12,.2) 75%),linear-gradient(0deg,rgba(7,12,9,.68),transparent 42%,rgba(7,12,9,.3))}.cinematic-ui{z-index:3;display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--header-h) + 42px) var(--edge) 52px}.cinematic-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.cinematic-top>p{font-size:9px;font-weight:700;letter-spacing:.17em;margin:0}.cinematic-top>p span{font-size:20px;margin-left:18px}.cinematic-copy{position:relative;min-height:clamp(260px,35vw,440px);display:flex;align-items:center}.cinematic-caption{position:absolute;max-width:850px;opacity:0;transform:translateY(28px);pointer-events:none;transition:opacity .5s,transform .6s}.cinematic-caption.active{opacity:1;transform:translateY(0)}.cinematic-caption>p{font-size:11px;color:#e1cfb2;letter-spacing:.25em;margin-bottom:20px}.cinematic-caption h2{font-family:var(--serif);font-weight:400;font-size:clamp(55px,7.8vw,126px);line-height:1;letter-spacing:-.055em;margin:0 0 28px}.cinematic-caption h2 em{color:#ead7ba}.cinematic-caption>span{font-family:var(--serif);font-size:clamp(18px,1.7vw,28px)}.cinematic-bottom{display:flex;align-items:center;gap:18px;font-size:12px;letter-spacing:.11em}.cinematic-current{color:#ead7ba}.cinematic-track{height:2px;width:min(300px,23vw);background:rgba(255,255,255,.35);overflow:hidden}.cinematic-progress{display:block;height:100%;width:0;background:#e7d4b4;transform-origin:left}.cinematic-label{margin-left:auto;font-size:9px;font-weight:700;letter-spacing:.22em}
/* 04 ARCHITECTURE */
.architecture{background:var(--paper-warm)}.architecture-head{display:flex;justify-content:space-between;align-items:end;gap:8vw;margin:80px 0 70px}.architecture-head h2{margin:0}.arch-side{font-size:17px;line-height:1.8;max-width:375px;color:#647067;margin:0 0 8px}.architecture-image{position:relative;height:min(69vw,760px)}.image-caption{position:absolute;left:30px;bottom:25px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.2em;text-shadow:0 1px 8px #111}.feature-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c6c5b9;margin-top:62px}.feature{display:grid;grid-template-columns:45px 1fr;grid-template-rows:auto auto;gap:10px 14px;padding:32px 36px 5px 0;border-right:1px solid #c6c5b9;margin-right:28px}.feature:last-child{border:0;margin:0}.feature>span{font-size:10px;color:#a18b74;padding-top:7px}.feature h3{font-family:var(--serif);font-size:clamp(24px,2.3vw,37px);font-weight:400;letter-spacing:-.03em;margin:0}.feature p{grid-column:2;font-size:13px;line-height:1.8;color:#657067;margin:0}
/* 05 INTERIOR */
.interior-section{display:grid;grid-template-columns:1.25fr .75fr;min-height:690px;background:#e1ddd3}.interior-photo{min-height:710px}.interior-copy{padding:clamp(55px,8vw,145px) clamp(38px,5.5vw,110px);display:flex;flex-direction:column;justify-content:center}.interior-copy h2{font-size:clamp(52px,5.4vw,95px);margin:75px 0 25px}.interior-copy>p:not(.section-kicker){font-size:15px;line-height:1.9;color:#606b62;max-width:480px}.interior-rule{width:100%;height:1px;background:#c8c4b9;margin:45px 0 20px}.micro-label{font-size:10px;letter-spacing:.15em;font-weight:700;color:#827b6d}
/* 06 PRIVACY */
.privacy{background:var(--paper)}.privacy-layout{display:grid;grid-template-columns:1fr .56fr;gap:10vw;align-items:end;margin:70px 0}.privacy-layout h2{margin:0}.privacy-layout p:not(.lede){max-width:460px;color:#687168;line-height:1.95;margin-bottom:18px}.privacy-image{position:relative;height:clamp(380px,55vw,760px)}.privacy-stamp{position:absolute;right:0;bottom:0;background:#d6c8b4;color:#1f2a24;padding:34px clamp(35px,5vw,80px);font-size:10px;font-weight:700;line-height:2.3;letter-spacing:.15em}.privacy-stamp em{display:block;text-transform:none;font-family:var(--serif);font-size:clamp(25px,3vw,44px);letter-spacing:-.03em;line-height:1.15}
/* 07 LIFESTYLE */
.lifestyle{position:relative;min-height:840px;display:flex;align-items:center;background:var(--ink-dark);color:#fff}.lifestyle-background,.lifestyle-shade{position:absolute;inset:0}.lifestyle-background img{width:100%;height:100%;object-fit:cover}.lifestyle-shade{background:linear-gradient(90deg,rgba(9,20,16,.93),rgba(9,20,16,.41) 67%,rgba(9,20,16,.12)),linear-gradient(0deg,rgba(8,16,12,.52),transparent 55%)}.lifestyle-inner{position:relative;width:100%;padding:125px var(--edge)}.lifestyle-inner .section-kicker{margin-top:94px;color:#d0c3a8}.lifestyle-inner h2{margin:22px 0 30px;color:#fff}.lifestyle-inner h2 em{color:#f0ddbc}.lifestyle-inner>p:not(.section-kicker){font-family:var(--serif);font-size:clamp(20px,2vw,32px);line-height:1.4;max-width:560px}.amenities{display:flex;flex-wrap:wrap;gap:12px;margin-top:76px}.amenities span{border:1px solid rgba(255,255,255,.56);padding:17px 23px;font-size:9px;font-weight:700;letter-spacing:.14em}
/* 08 LOCATION */
.location{background:var(--paper-warm)}.location-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,9vw,160px);margin-top:85px}.location h2{font-size:clamp(55px,6.25vw,110px);margin:24px 0 28px}.location-intro{line-height:1.9;color:#626e64;font-size:15px;max-width:480px;margin-bottom:55px}.location-list{border-top:1px solid #c8c6ba;max-width:570px}.location-list div{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-bottom:1px solid #c8c6ba;gap:10px}.location-list span{font-size:10px;letter-spacing:.15em;font-weight:700}.location-list strong{font-family:var(--serif);font-weight:400;font-style:italic;font-size:25px;color:#8b7b67;white-space:nowrap}.location-grid small{display:block;margin-top:18px;line-height:1.6;color:#8a8d86}.location-visual{position:relative;align-self:stretch;min-height:690px}.location-visual img{position:absolute;inset:0}
/* 09 OUTRO */
.outro{min-height:760px;height:89svh;display:flex;align-items:center;position:relative;color:#fff;background:#141d17}.outro-image,.outro-shade{position:absolute;inset:0}.outro-image{background-position:center center;background-size:cover}.outro-shade{background:linear-gradient(90deg,rgba(4,12,8,.86),rgba(4,12,8,.22)),linear-gradient(0deg,rgba(4,12,8,.45),transparent)}.outro-content{position:relative;padding:80px var(--edge);max-width:1040px}.outro-content .section-kicker{color:#ead8b9}.outro h2{font-family:var(--serif);font-weight:400;letter-spacing:-.055em;font-size:clamp(64px,7.7vw,128px);line-height:1.04;margin:30px 0}.outro h2 em{color:#f0dec0}.outro-content>p:not(.section-kicker){font-family:var(--serif);font-size:clamp(18px,1.8vw,28px);max-width:550px;line-height:1.4}.button-outline{display:inline-flex;align-items:center;gap:90px;margin-top:30px;border:1px solid #fff;padding:23px 31px;font-size:11px;font-weight:700;letter-spacing:.13em;transition:background .25s,color .25s}.button-outline:hover{background:#fff;color:#111b15}.button-outline span{font-size:21px;font-weight:400}
/* 10 CONTACT */
.contact{background:var(--paper)}.contact-grid{display:grid;grid-template-columns:1fr .95fr;gap:clamp(50px,9vw,155px);margin-top:90px}.contact h2{font-size:clamp(55px,6.8vw,110px);margin:20px 0 35px}.contact-grid>div:first-child>p:not(.section-kicker){color:#667167;line-height:1.9;max-width:520px;margin-bottom:70px}.contact-detail{border-top:1px solid #d0cfc5;padding:21px 0;display:grid;grid-template-columns:125px 1fr;gap:20px;align-items:center}.contact-detail>span{font-size:9px;letter-spacing:.14em;font-weight:700;color:#89877e}.contact-detail strong,.contact-detail a{font-family:var(--serif);font-size:23px;font-weight:400}.contact-detail a:hover{text-decoration:underline}.brochure-link{margin-top:32px}.contact-form-wrap{padding-top:15px}.contact-form label{display:block;font-size:10px;letter-spacing:.14em;font-weight:700;color:#6f756c;margin-bottom:32px}.contact-form label>span:not(.consent span){font-weight:400;color:#8a8c81}.form-2col{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-form input:not([type=checkbox]),.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #b5b7ad;background:transparent;padding:17px 0;outline:none;border-radius:0;color:var(--ink);font-size:14px;font-weight:400;letter-spacing:0;resize:vertical;transition:border-color .3s}.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:#252f29}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#9b9e97}.contact-form .consent{display:flex;align-items:flex-start;gap:12px;line-height:1.7;font-weight:400;font-size:12px;letter-spacing:0;color:#667167}.consent input{accent-color:var(--ink);margin-top:4px}.consent a{text-decoration:underline}.form-submit{display:flex;justify-content:space-between;align-items:center;width:100%;background:#1a2820;color:#fff;border:0;padding:22px 27px;font-size:10px;font-weight:700;letter-spacing:.17em;transition:background .25s}.form-submit:hover{background:#4f604e}.form-submit span{font-size:22px;font-weight:400}.contact-form small{display:block;color:#9b9b92;line-height:1.7;margin-top:16px}.form-message{padding:16px;margin:0 0 22px;font-size:14px}.form-message.success{background:#e1ecdf;color:#214a2a}.form-message.error{background:#f5e3de;color:#713428}.bot-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
/* FOOTER */
.site-footer{background:#101a15;color:#f7f3e9;padding:76px var(--edge) 34px}.footer-top{display:flex;justify-content:space-between;align-items:start;gap:35px;padding-bottom:90px}.footer-brand{display:flex;flex-direction:column}.footer-brand>span{font-family:var(--serif);font-size:88px;font-weight:700;line-height:.9;letter-spacing:-.09em}.footer-dot{font-size:.54em;color:#c8b492}.footer-brand small{font-size:9px;font-weight:700;letter-spacing:.24em;margin-top:13px}.footer-caption{font-family:var(--serif);font-size:clamp(27px,3.5vw,56px);font-style:italic;line-height:1.2;color:#cdc6b9}.footer-links{display:flex;flex-direction:column;gap:18px;font-size:11px;letter-spacing:.1em}.footer-links a:hover{color:var(--bronze)}.footer-bottom{border-top:1px solid #445047;padding-top:26px;display:flex;gap:24px;justify-content:space-between;flex-wrap:wrap;font-size:10px;color:#a9afa6;line-height:1.7}.footer-bottom a:hover{text-decoration:underline}
/* WP fallback */
.inner-page{min-height:65svh;padding-top:calc(var(--header-h) + 110px)}.inner-page .editorial-title{margin:35px 0 55px}.inner-page h1{overflow-wrap:anywhere}.entry-content{font-size:17px;max-width:950px;line-height:1.75}.entry-content a{text-decoration:underline}.entry-content img{height:auto}.entry-content .alignwide{max-width:1200px}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.archive-card img{height:260px;width:100%;object-fit:cover}.archive-card h2{font:400 35px/1.15 var(--serif)}.archive-card p{line-height:1.6}.site-comments{margin:60px auto;max-width:750px}.site-header + .inner-page{padding-top:180px}body:not(.home) .site-header{background:#111b15}
@media(max-width:1120px){:root{--edge:clamp(22px,4vw,64px)}.main-nav{gap:18px}.nav-cta{padding:15px}.intro-grid{gap:5vw}.intro-copy{padding-top:60px}.interior-section{grid-template-columns:1.15fr .85fr}.interior-copy{padding:60px 40px}.location-grid{gap:60px}}
@media(max-width:820px){:root{--header-h:74px}.nav-shell{padding:0 var(--edge)}.menu-toggle{display:flex;z-index:5}.main-nav{position:fixed;inset:var(--header-h) 0 0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:35px;padding:40px var(--edge) 100px;background:rgba(16,26,21,.99);opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .25s,visibility .25s,transform .25s}.main-nav.open{opacity:1;visibility:visible;transform:translateY(0)}.main-nav>a:not(.nav-cta),.menu-list>li>a{font:400 36px var(--serif);text-transform:none;letter-spacing:-.03em}.menu-list{flex-direction:column;align-items:flex-start;gap:25px}.main-nav .nav-cta{align-self:flex-start}.menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{min-height:680px}.hero-topline{top:calc(var(--header-h) + 38px)}.hero-topline span:last-child{display:none}.hero-main{bottom:135px}.hero h1{font-size:clamp(60px,12vw,100px)}.round-arrow{width:64px;height:64px;font-size:32px}.hero-bottom span:last-child{display:none}.intro-grid,.privacy-layout,.location-grid,.contact-grid{grid-template-columns:1fr;gap:40px}.intro-copy{padding:0;max-width:720px}.intro-micro{margin-top:70px}.architecture-head{display:block}.arch-side{margin-top:30px;max-width:620px}.feature-list{grid-template-columns:1fr}.feature{margin:0;padding:25px 0;border-right:0;border-bottom:1px solid #c6c5b9}.feature:last-child{border-bottom:0}.interior-section{grid-template-columns:1fr}.interior-photo{min-height:550px;max-height:680px}.interior-copy{padding:80px var(--edge)}.interior-copy h2{margin:45px 0 25px}.privacy-image{height:540px}.lifestyle{min-height:750px}.location-visual{min-height:570px}.location h2{font-size:clamp(55px,9vw,100px)}.contact-grid{gap:70px}.contact-grid>div:first-child>p:not(.section-kicker){margin-bottom:40px}.footer-top{flex-wrap:wrap}.footer-caption{order:3;flex-basis:100%}.archive-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){:root{--edge:22px}.section-pad{padding:92px var(--edge)}.hero{height:100svh;min-height:630px}.hero-image{background-position:42% center}.hero-topline{font-size:8px;letter-spacing:.13em;top:calc(var(--header-h) + 44px)}.hero-main{bottom:145px;display:block}.hero h1{font-size:clamp(53px,15vw,84px)}.hero h1 em{font-size:.48em;margin-top:6px}.hero-small{font-size:9px;letter-spacing:.2em}.hero-description{max-width:290px;margin-top:20px}.hero-description p{font-size:17px}.round-arrow{display:none}.hero-bottom{height:75px;font-size:8px}.hero-bottom span:first-child{max-width:170px;line-height:1.6}.hero-bottom a span{margin-left:8px}.editorial-title{font-size:clamp(51px,13vw,77px)}.eyebrow{font-size:9px;letter-spacing:.13em}.intro-grid{margin-top:46px}.intro-grid .editorial-title{margin-bottom:16px}.intro-copy .lede{font-size:27px}.intro-micro{flex-direction:column;gap:18px}.cinematic{height:360svh}.cinematic-sticky{min-height:0}.cinematic-ui{padding:calc(var(--header-h) + 44px) var(--edge) 42px}.cinematic-top>p{font-size:8px;max-width:136px;text-align:right;line-height:1.5}.cinematic-top>p span{margin-left:4px}.cinematic-caption h2{font-size:clamp(50px,13vw,77px);margin-bottom:22px}.cinematic-caption>span{font-size:19px}.cinematic-caption>p{font-size:9px}.cinematic-label{display:none}.cinematic-track{width:55vw}.cinematic-frame{background-position:50% center}.architecture-head{margin:45px 0}.architecture-image{height:470px}.architecture-image img{object-position:63%}.feature-list{margin-top:35px}.interior-photo{min-height:430px}.interior-photo img{object-position:45%}.interior-copy{padding:85px var(--edge)}.privacy-layout{margin:45px 0}.privacy-image{height:470px}.privacy-stamp{padding:22px 30px}.privacy-stamp em{font-size:26px}.lifestyle{min-height:730px}.lifestyle-background img{object-position:65% center}.lifestyle-inner{padding:115px var(--edge) 85px}.lifestyle-inner .section-kicker{margin-top:60px}.lifestyle-inner h2{font-size:clamp(57px,13vw,80px)}.lifestyle-inner>p:not(.section-kicker){font-size:20px}.amenities{gap:8px;margin-top:46px}.amenities span{padding:13px 12px;font-size:8px}.location-grid{margin-top:45px}.location-visual{min-height:450px}.outro{height:auto;min-height:700px}.outro-content{padding:100px var(--edge)}.outro h2{font-size:clamp(55px,13vw,85px)}.button-outline{gap:30px;font-size:9px;padding:21px}.contact-grid{margin-top:45px}.form-2col{grid-template-columns:1fr;gap:0}.footer-top{padding-bottom:65px}.footer-brand>span{font-size:75px}.footer-bottom{flex-direction:column;gap:12px}.archive-grid{grid-template-columns:1fr}.inner-page{padding-top:160px}.inner-page .editorial-title{font-size:60px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.fade-in{opacity:1;transform:none}.cinematic-frame{transform:none!important}}

/* Approved G2.0 Residence golden identity — v1.1 */
.site-header .wordmark{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:0}
.brand-logo{display:block;width:210px;height:auto;max-height:73px;object-fit:contain;filter:none!important}
.site-header .brand-logo{width:210px;max-height:72px}
.footer-brand>a{display:inline-flex;align-items:center;max-width:100%;line-height:0}
.footer-brand .footer-logo{width:min(310px,74vw);max-height:none}
@media(max-width:1120px){.site-header .brand-logo{width:170px;max-height:58px}}
@media(max-width:820px){.site-header .brand-logo{width:160px;max-height:55px}}
@media(max-width:420px){.site-header .brand-logo{width:145px;max-height:50px}}

/* G2.0 cinematic landing v2 — sticky scroll-directed four-scene story */
.hero-journey{height:440svh;min-height:0;overflow:visible;background:#090b0a}
.hero-journey .hero-stage{position:sticky;top:0;height:100svh;min-height:560px;width:100%;overflow:hidden;isolation:isolate;background:#0b100c}
.hero-scenes,.hero-vignette,.hero-filmgrain,.hero-opening-curtain{position:absolute;inset:0;pointer-events:none}
.hero-scenes{z-index:-3}.hero-scene{position:absolute;inset:-3%;background-size:cover;background-position:center center;opacity:0;transform:scale(1.16) translate3d(0,0,0);will-change:opacity,transform;backface-visibility:hidden}
.hero-scene:first-child{opacity:1}.hero-scene-1{background-position:50% 57%}.hero-scene-2{background-position:50% 57%}.hero-scene-3{background-position:55% 50%}.hero-scene-4{background-position:50% 53%}
.hero-vignette{z-index:-2;background:linear-gradient(90deg,rgba(4,9,7,.70) 0%,rgba(5,8,7,.24) 60%,rgba(3,7,5,.11) 100%),linear-gradient(0deg,rgba(3,7,5,.75),transparent 27%,transparent 68%,rgba(4,7,5,.37))}
.hero-filmgrain{z-index:-1;opacity:.12;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='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.12' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.hero-journey .hero-topline{top:calc(var(--header-h) + 48px);font-size:10px;z-index:2}
.hero-story{position:absolute;z-index:2;inset:0 var(--edge);pointer-events:none}
.hero-beat{position:absolute;left:0;bottom:clamp(165px,23vh,260px);width:min(980px,88vw);opacity:0;transform:translate3d(0,38px,0);filter:blur(6px);will-change:opacity,transform,filter}
.hero-beat:first-child{opacity:1;transform:none;filter:none}
.hero-beat-eyebrow{color:#e7c78c;font-size:clamp(10px,.8vw,13px);letter-spacing:.3em;font-weight:700;margin-bottom:26px}
.hero-beat h1,.hero-beat h2{font-family:Georgia,serif;font-weight:400;color:#fff;letter-spacing:-.067em;font-size:clamp(62px,8.4vw,148px);line-height:.98;margin:0;text-wrap:balance;text-shadow:0 10px 50px rgba(0,0,0,.12)}
.hero-beat h1 em,.hero-beat h2 em{font-weight:400;color:#e8c887;font-style:italic}
.hero-beat-description{font-size:clamp(13px,1.2vw,17px);letter-spacing:.025em;color:#eee9db;margin-top:30px;max-width:450px;line-height:1.75;border-left:1px solid #d0ad72;padding-left:20px}
.hero-side-label{position:absolute;right:var(--edge);top:50%;writing-mode:vertical-rl;transform:translateY(-50%);font-size:9px;font-weight:bold;letter-spacing:.28em;color:#e4dac8}.hero-side-label span{color:#d3ac6a}
.hero-journey-bottom{position:absolute;left:var(--edge);right:var(--edge);bottom:clamp(32px,6vh,74px);display:flex;gap:clamp(14px,2vw,32px);align-items:center;font-size:10px;letter-spacing:.19em;font-weight:700;color:#f2e8d7;z-index:2}
.hero-scroll-prompt{display:flex;align-items:center;gap:15px;white-space:nowrap}.hero-scroll-mouse{display:grid;place-items:start center;width:23px;height:38px;border:1px solid rgba(255,255,255,.65);border-radius:13px;padding-top:8px}.hero-scroll-mouse i{width:2px;height:8px;background:#e9ca8e;animation:hero-wheel 1.8s ease-in-out infinite}.hero-timeline{height:1px;background:rgba(255,255,255,.42);flex:1;max-width:390px}.hero-timeline-fill{display:block;width:0;height:2px;background:#eac98b;box-shadow:0 0 20px #f1d08e;transform:translateY(-.5px)}.hero-count{white-space:nowrap;color:#ddd}.hero-count b{color:#e9c783;font-size:17px;font-weight:400}.hero-skip{margin-left:auto;border-bottom:1px solid rgba(255,255,255,.5);padding:12px 0;white-space:nowrap;transition:color .3s}.hero-skip:hover{color:#e9c783}
.hero-opening-curtain{background:#080b09;z-index:5;transform:translateY(-101%);animation:hero-curtain 1.4s cubic-bezier(.68,0,.2,1) both;animation-delay:.15s}
@keyframes hero-curtain{0%{transform:translateY(0)}100%{transform:translateY(-101%)}}@keyframes hero-wheel{0%{transform:translateY(0);opacity:0}35%{opacity:1}100%{transform:translateY(11px);opacity:0}}
@media(max-width:820px){.hero-journey{height:350svh}.hero-journey .hero-stage{min-height:0}.hero-beat{bottom:clamp(155px,21vh,230px);width:92vw}.hero-beat h1,.hero-beat h2{font-size:clamp(57px,11.8vw,96px)}.hero-journey .hero-topline{font-size:8px;top:calc(var(--header-h) + 35px)}.hero-journey .hero-topline span:last-child{display:none}.hero-side-label{display:none}.hero-timeline{max-width:none}.hero-skip{display:none}.hero-scroll-prompt{font-size:8px;letter-spacing:.09em}.hero-journey-bottom{bottom:30px}.hero-scene-1{background-position:45% center}.hero-scene-4{background-position:42% center}}
@media(max-width:420px){.hero-beat h1,.hero-beat h2{font-size:clamp(49px,12.7vw,68px)}.hero-beat-description{font-size:12px;max-width:290px}.hero-journey-bottom{gap:13px}.hero-scroll-prompt{gap:8px}.hero-timeline{min-width:35px}}
@media(prefers-reduced-motion:reduce){.hero-opening-curtain{display:none}.hero-scroll-mouse i{animation:none}.hero-beat{filter:none!important;transform:none!important}.hero-scene{transform:none!important}}

/* v2.1 precision slides & Ken Burns: no blurred intermediate frames */
.hero-journey{height:100svh!important;min-height:560px;overflow:visible}
.hero-journey .hero-stage{position:relative!important;height:100svh;min-height:560px}
.hero-scenes{overflow:hidden}
.hero-scene,.hero-scene:first-child{opacity:0;transform:scale(1.08);filter:none!important;transition:opacity 800ms cubic-bezier(.22,.72,.23,1);animation:none;will-change:opacity,transform}
.hero-scene.is-active{opacity:1;animation:g20-kenburns 12s linear both;}
.hero-scene.is-past{opacity:0}
@keyframes g20-kenburns{from{transform:scale(1.07) translate3d(0,0,0)}to{transform:scale(1.17) translate3d(-1.15%,-.65%,0)}}
.hero-scene-2.is-active{animation-name:g20-kenburns-alt}
.hero-scene-4.is-active{animation-name:g20-kenburns-alt}
@keyframes g20-kenburns-alt{from{transform:scale(1.15) translate3d(-1%,0,0)}to{transform:scale(1.06) translate3d(0,-.5%,0)}}
.hero-beat,.hero-beat:first-child{opacity:0;transform:translate3d(0,28px,0);filter:none!important;transition:opacity 580ms ease,transform 700ms cubic-bezier(.18,.8,.2,1);pointer-events:none}
.hero-beat.is-active{opacity:1;transform:translate3d(0,0,0)}
.hero-journey .hero-timeline-fill{transition:width 750ms ease}
@media(max-width:820px){.hero-journey{height:100svh!important;min-height:0}}
@media(prefers-reduced-motion:reduce){.hero-scene.is-active{animation:none!important;transform:none!important}.hero-scene,.hero-beat{transition:none!important}}

/* v2.2 mobile hero enhancements */
.hero-journey{height:100svh!important;min-height:0!important}
.hero-journey .hero-stage{height:100svh;min-height:0!important}
.hero-scene{backface-visibility:hidden;transition:opacity 720ms cubic-bezier(.25,.7,.23,1)}
.hero-scene.is-active{animation-duration:15s;animation-timing-function:ease-out}
.hero-beat.is-active{transition-delay:90ms}
@media(max-width:820px){
 .hero-journey,.hero-journey .hero-stage{height:100dvh!important}
 .hero-beat{bottom:clamp(122px,19dvh,205px)}
 .hero-beat h1,.hero-beat h2{font-size:clamp(47px,11.3vw,82px);line-height:1.02}
 .hero-beat-description{line-height:1.55;margin-top:20px}
 .hero-scene.is-active{animation-duration:17s}
 .hero-scene-1{background-position:51% center}
 .hero-scene-2{background-position:58% center}
 .hero-scene-3{background-position:56% center}
 .hero-scene-4{background-position:49% center}
 .hero-filmgrain{display:none}
 .hero-journey-bottom{bottom:max(22px,env(safe-area-inset-bottom))}
 .hero-vignette{background:linear-gradient(0deg,rgba(1,5,4,.78),transparent 65%),linear-gradient(90deg,rgba(1,6,4,.45),transparent 90%)}
}
@media(max-width:480px){
 .hero-beat{bottom:clamp(118px,18dvh,180px)}
 .hero-beat-description{font-size:12px;max-width:278px}
 .hero-scene.is-active{animation-name:g20-mobile-kenburns;animation-duration:16s}
 .hero-scene-2.is-active,.hero-scene-4.is-active{animation-name:g20-mobile-kenburns-reverse}
}
@keyframes g20-mobile-kenburns{from{transform:translate3d(0,0,0) scale(1.03)}to{transform:translate3d(-.5%,-.3%,0) scale(1.085)}}
@keyframes g20-mobile-kenburns-reverse{from{transform:translate3d(-.5%,0,0) scale(1.09)}to{transform:translate3d(0,-.3%,0) scale(1.035)}}
@media(prefers-reduced-motion:reduce){.hero-scene.is-active{animation:none!important;transform:none!important}.hero-scene,.hero-beat{transition:none!important}}

/* v3.0: fullscreen, native-scroll cinematic video journey */
.hero-video-journey{height:400svh!important;min-height:0!important;position:relative!important;background:#090c0a}
.hero-video-journey .hero-stage{position:sticky!important;top:0!important;height:100svh!important;min-height:0!important;overflow:hidden}
.hero-walkthrough,.hero-video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% center}
.hero-video-poster{background-position:center;background-size:cover;z-index:0}
.hero-walkthrough{z-index:1;opacity:0;transition:opacity 400ms ease;display:block;pointer-events:none;background:#111}
.hero-video-journey.video-ready .hero-walkthrough{opacity:1}
.hero-video-journey .hero-vignette{position:absolute;z-index:2;pointer-events:none;background:linear-gradient(0deg,rgba(2,5,4,.66),transparent 55%),linear-gradient(90deg,rgba(2,5,4,.54),transparent 64%)}
.hero-video-journey .hero-topline,.hero-video-journey .hero-story,.hero-video-journey .hero-journey-bottom{z-index:3}
.hero-video-journey .hero-story{pointer-events:none}
.hero-video-journey .hero-beat{transition:opacity 380ms ease,transform 550ms ease}
.hero-video-journey .hero-beat.is-active{transform:translateY(0);opacity:1}
.hero-video-journey .hero-timeline-fill{transition:width 90ms linear!important}
.hero-video-hint{position:absolute;z-index:4;right:var(--edge);top:calc(var(--header-h) + 18px);font-size:11px;color:white}
@media(max-width:820px){.hero-video-journey{height:310svh!important}.hero-video-journey .hero-stage{height:100dvh!important}.hero-walkthrough{object-position:52% center}.hero-video-journey .hero-beat{bottom:clamp(134px,20dvh,205px)}.hero-video-journey .hero-journey-bottom{bottom:max(24px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.hero-video-journey .hero-beat,.hero-video-journey .hero-walkthrough{transition:none!important}}

/* G2.0 v3.1 - project details, premium editorial */
.details-teaser{background:#171d19;color:#f4f0e8}.details-teaser .eyebrow{color:#ba9b71}.details-teaser-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:end}.details-teaser-grid .editorial-title{color:#f4f0e8}.details-teaser-grid p{font-size:clamp(16px,1.55vw,22px);line-height:1.75;max-width:540px;color:#d4d0c8;margin-bottom:28px}.details-teaser-button{display:inline-flex}
.details-hero{min-height:72vh;background-position:center;background-size:cover;display:flex;align-items:end;color:white}.details-hero-inner{width:min(1250px,88vw);margin:0 auto;padding:185px 0 95px}.detail-eyebrow{color:#bca17a;font:600 12px/1.7 Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase}.details-hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(60px,7vw,115px);line-height:1.02;letter-spacing:-.04em;margin:25px 0}.details-hero h1 em{font-weight:400;color:#d0ad7d}.details-hero-inner>p{font-size:17px;line-height:1.7;max-width:670px;color:#e6e3da}.details-hero-inner>a{display:inline-block;margin-top:28px;color:#d9bd95;text-decoration:none;font-size:12px;letter-spacing:.13em}
.details-content{width:min(1250px,88vw);margin:0 auto;display:grid;grid-template-columns:270px minmax(0,1fr);gap:clamp(40px,7vw,110px);padding:105px 0 125px}.details-sidebar{position:sticky;top:110px;align-self:start}.details-sidebar>span{font-size:12px;color:#9a805d;letter-spacing:.18em}.details-sidebar nav{margin-top:25px;display:flex;flex-direction:column;gap:15px}.details-sidebar a{font-size:13px;line-height:1.4;color:#777b73;text-decoration:none}.details-sidebar a:hover{color:#b59361}.detail-entry{padding-bottom:55px;margin-bottom:55px;border-bottom:1px solid #d9d7cf;scroll-margin-top:110px}.detail-entry h2{font-family:Georgia,serif;font-size:clamp(34px,3.65vw,57px);line-height:1.14;letter-spacing:-.025em;font-weight:400;margin:19px 0 32px;color:#222d25}.detail-entry>p:not(.detail-eyebrow){font-size:16px;line-height:1.9;max-width:800px;color:#555c56;margin:0 0 20px}.details-last{padding:20px 0}.details-last p{font-size:13px;line-height:1.7;color:#767b74;margin-bottom:28px}.details-last .button-outline{display:inline-block;color:#30362d;border-color:#9b875e}
@media(max-width:800px){.details-teaser-grid,.details-content{grid-template-columns:1fr}.details-content{padding:55px 0 75px;gap:30px}.details-sidebar{position:static;border-bottom:1px solid #ddd;padding-bottom:25px}.details-sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.details-hero{min-height:64svh}.details-hero-inner{padding:125px 0 65px}.detail-entry{margin-bottom:38px;padding-bottom:38px}}

/* G2.0 v3.2 — sharp still transitions & reliable hero decode */
.cinematic-frame{filter:none!important;transition:opacity .18s ease-out,transform 1.4s ease-out;backface-visibility:hidden;will-change:auto}
.cinematic-frame:not(.active){visibility:hidden!important;opacity:0!important}
.cinematic-frame.active{visibility:visible!important;opacity:1!important}
.cinematic-images{transition:none!important}
.hero-video-poster{background-color:#101715;z-index:0}
.hero-walkthrough{opacity:0;transition:opacity .15s ease-out;background:transparent!important}
.hero-video-journey.video-ready .hero-walkthrough{opacity:1}
@media (prefers-reduced-motion:reduce){.cinematic-frame{transition:none!important}}

/* 3.3: accessible language selector — visible alongside the menu at every width */
.language-switcher{flex:0 0 auto;position:relative;margin-left:auto;color:#e3d8c3;z-index:7}
.language-switcher select{appearance:none;-webkit-appearance:none;background:rgba(13,22,18,.55);color:inherit;border:1px solid rgba(227,216,195,.55);border-radius:2px;font:700 11px/1 var(--sans);letter-spacing:.14em;padding:12px 30px 12px 13px;min-height:40px;cursor:pointer;outline-offset:3px}
.language-switcher:after{content:"";position:absolute;right:13px;top:46%;width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);pointer-events:none}
.language-switcher option{background:#111b15;color:#fff}
.language-switcher select:focus-visible{outline:2px solid #dfc29c}
@media(min-width:821px){.nav-shell .main-nav{margin-left:auto}.language-switcher{margin-left:4px}}
@media(max-width:1300px) and (min-width:821px){.nav-shell{gap:12px}.main-nav,.menu-list{gap:clamp(9px,1vw,18px)}.nav-cta{padding:13px}.main-nav{font-size:9px;letter-spacing:.08em}.site-header .brand-logo{width:170px}}
@media(max-width:820px){.language-switcher{margin-left:auto;margin-right:0}.language-switcher select{min-height:38px;padding:10px 27px 10px 10px}.menu-toggle{flex-shrink:0}.main-nav{overflow:auto}}
@media(max-width:350px){.site-header .brand-logo{width:125px}.nav-shell{gap:8px}}

.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.screen-reader-text:focus{clip:auto!important;width:auto!important;height:auto!important;margin:0!important;padding:10px 14px!important;z-index:1000!important;background:#fff;color:#111}

/* v3.4 — single clear Milinkovo heading in every language */
.lifestyle-inner #lifestyle-title {
  max-width: 1190px;
  margin-top: clamp(55px, 6.5vw, 100px);
  margin-bottom: 32px;
  font-size: clamp(46px, 6.4vw, 104px);
  line-height: 1.04;
  letter-spacing: -0.045em;
  text-wrap: balance;
  overflow-wrap: break-word;
  hyphens: auto;
}
@media (max-width: 820px) {
  .lifestyle-inner #lifestyle-title {
    max-width: 100%;
    margin-top: 52px;
    font-size: clamp(36px, 7.6vw, 59px);
    line-height: 1.075;
  }
}
@media (max-width: 380px) {
  .lifestyle-inner #lifestyle-title { font-size: 34px; }
}


/* G2.0 Residence v3.5 — brand proportions & exact title color */
:root { --g20-logo-gold: #E8C886; }
/* Brand mark remains the approved transparent artwork; its source pixels are
   recolored to exactly #E8C886 with the original alpha channel unchanged. */
.site-header .wordmark { max-width: 100%; }
.site-header .brand-logo { width: 165px; height: auto; max-height: 57px; object-fit: contain; }
.footer-brand .brand-logo.footer-logo { width: 190px; max-width: min(190px, 62vw); height: auto; max-height: 68px; object-fit: contain; }
@media (max-width: 1300px) and (min-width: 821px) {
  .site-header .brand-logo { width: 149px; max-height: 51px; }
}
@media (max-width: 820px) {
  .site-header .brand-logo { width: 137px; max-height: 47px; }
  .footer-brand .brand-logo.footer-logo { width: 174px; max-width: 56vw; max-height: 62px; }
}
@media (max-width: 420px) {
  .site-header .brand-logo { width: 128px; max-height: 44px; }
  .footer-brand .brand-logo.footer-logo { width: 160px; max-width: 56vw; max-height: 57px; }
}
@media (max-width: 350px) {
  .site-header .brand-logo { width: 115px; max-height: 40px; }
}

/* G2.0 v3.6 — stable decoded video during reverse scroll/re-entry */
.hero-video-journey .hero-walkthrough{backface-visibility:hidden;transform:translateZ(0);will-change:contents;}
.hero-video-journey.video-ready .hero-walkthrough{opacity:1;}


/* G2.0 v3.7: narrow-screen contact area — prevent horizontal page drift */
.contact-grid,
.contact-grid > *,
.contact-form-wrap,
.contact-form,
.contact-detail,
.contact-detail > * { min-width: 0; }
.contact-grid { grid-template-columns: minmax(0,1fr) minmax(0,.95fr); }
.contact-detail { grid-template-columns: 125px minmax(0,1fr); }
.contact-detail strong,
.contact-detail a {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: none;
  line-height: 1.3;
}
.contact-form .form-2col { grid-template-columns:repeat(2,minmax(0,1fr)); }
.contact-form label,
.contact-form input:not([type=checkbox]),
.contact-form textarea { min-width:0; max-width:100%; }
.contact-form .form-submit {
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
  gap:16px;
  text-align:left;
  overflow-wrap:break-word;
}
.contact-form .form-submit > span {
  flex:0 0 auto;
  font-family:Arial,Helvetica,sans-serif;
  font-variant-emoji:text;
  line-height:1;
}
@media (max-width:820px) {
  .contact-grid { grid-template-columns:minmax(0,1fr); }
  .contact-grid > * { width:100%; }
  .contact-detail { grid-template-columns: minmax(0,1fr); gap:10px; }
  .contact-detail strong,
  .contact-detail a { display:block; font-size:clamp(18px,5vw,23px); }
  .contact-form .form-2col { grid-template-columns:minmax(0,1fr); gap:0; }
  .contact-form .form-submit { width:100%; padding:20px 22px; }
}
@media(max-width:380px) {
  .contact h2 { font-size:clamp(47px,13vw,60px); }
  .contact-detail a { font-size:18px; }
}


/* v3.12: touch-only native-playback chapters. Desktop scroll scrubbing untouched. */
@media (pointer: coarse) and (max-width: 1024px) {
  .hero-video-journey.g20-touch-hero {height:100svh!important;height:100dvh!important;min-height:0!important;overflow:clip}
  .hero-video-journey.g20-touch-hero .hero-stage {height:100svh!important;height:100dvh!important;min-height:0!important;position:relative!important}
  .hero-video-journey.g20-touch-hero .hero-walkthrough {transform:none!important;will-change:auto!important;backface-visibility:visible!important}
  .hero-video-journey.g20-touch-hero .hero-timeline-fill {transition:width .45s ease!important}
  .hero-video-journey.g20-touch-hero .hero-beat {filter:none!important}
}

/* v3.13: reverse-video support, mobile only */
@media (pointer:coarse) and (max-width:1024px){
.hero-video-journey.g20-touch-hero .hero-walkthrough.hero-reverse{z-index:1;opacity:0!important;transition:opacity .15s ease-out!important;pointer-events:none}
.hero-video-journey.g20-touch-hero[data-motion-source="reverse"].reverse-video-ready .hero-walkthrough.hero-reverse{opacity:1!important}
.hero-video-journey.g20-touch-hero[data-motion-source="reverse"].reverse-video-ready .hero-walkthrough:not(.hero-reverse){opacity:0!important}
.hero-video-journey.g20-touch-hero[data-motion-source="forward"] .hero-walkthrough.hero-reverse{opacity:0!important}
}

/* v3.14 deterministic frame-based desktop / segmented mobile cinema */
.hero-video-journey .hero-sequence-canvas,
.hero-video-journey .hero-mobile-hold,
.hero-video-journey .hero-mobile-clip {position:absolute;inset:0;width:100%;height:100%;z-index:1;object-fit:cover;object-position:center;pointer-events:none}
.hero-video-journey .hero-sequence-canvas{display:block;opacity:0;transition:none}
.hero-video-journey.g20-sequence-mode.sequence-ready .hero-sequence-canvas{opacity:1}
.hero-video-journey .hero-mobile-hold,.hero-video-journey .hero-mobile-clip{display:none}
.hero-video-journey .hero-video-poster{transition:opacity .1s ease}
.hero-video-journey.sequence-ready .hero-video-poster{opacity:0}
.hero-video-journey .hero-video-hint{pointer-events:none}
@media (max-width:1024px) and (pointer:coarse){
 .hero-video-journey.g20-mobile-cinema{height:100dvh!important;min-height:0!important;overflow:hidden}
 .hero-video-journey.g20-mobile-cinema .hero-stage{position:relative!important;height:100dvh!important;min-height:0!important}
 .hero-video-journey.g20-mobile-cinema .hero-sequence-canvas{display:none}
 .hero-video-journey.g20-mobile-cinema .hero-mobile-hold{display:block;opacity:1}
 .hero-video-journey.g20-mobile-cinema .hero-mobile-clip{display:block;opacity:0;transition:none!important}
 .hero-video-journey.g20-mobile-cinema.mobile-playing .hero-mobile-clip{opacity:1}
 .hero-video-journey.g20-mobile-cinema .hero-beat{filter:none!important;transition:opacity .3s ease,transform .35s ease!important}
 .hero-video-journey.g20-mobile-cinema .hero-timeline-fill{transition:width .35s ease!important}
}

/* v3.15: real frame-by-frame cinematic animation for iOS; desktop sequence unchanged. */
@media (max-width:1024px) and (pointer:coarse){
 .hero-video-journey.g20-mobile-cinema.g20-mobile-frame-sequence .hero-sequence-canvas{display:block!important;opacity:1!important;object-fit:cover}
 .hero-video-journey.g20-mobile-frame-sequence .hero-mobile-hold,
 .hero-video-journey.g20-mobile-frame-sequence .hero-mobile-clip{display:none!important}
 .hero-video-journey.g20-mobile-frame-sequence .hero-video-poster{opacity:1}
 .hero-video-journey.g20-mobile-frame-sequence.sequence-ready .hero-video-poster{opacity:0}
 .hero-video-journey.g20-mobile-frame-sequence.mobile-loading .hero-journey-bottom{opacity:.75}
 .hero-video-journey.g20-mobile-frame-sequence .hero-sequence-canvas{pointer-events:none}
}

/* v3.16 — restored v3.11 mobile hero: native scroll scrubbing with ONE 1080p MP4. */
@media (max-width:1024px) and (pointer:coarse) {
  .hero-video-journey.g20-mobile-v311 {height:310svh!important;min-height:0!important;overflow:visible!important;position:relative!important}
  .hero-video-journey.g20-mobile-v311 .hero-stage {position:sticky!important;top:0!important;height:100svh!important;height:100dvh!important;min-height:0!important;overflow:hidden!important}
  .hero-video-journey.g20-mobile-v311 .hero-sequence-canvas,
  .hero-video-journey.g20-mobile-v311 .hero-mobile-hold,
  .hero-video-journey.g20-mobile-v311 .hero-mobile-clip {display:none!important}
  .hero-video-journey.g20-mobile-v311 .hero-walkthrough {display:block!important;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% center;opacity:0;z-index:1;transition:opacity .15s ease-out;pointer-events:none}
  .hero-video-journey.g20-mobile-v311.video-ready .hero-walkthrough {opacity:1!important}
  .hero-video-journey.g20-mobile-v311 .hero-video-poster {opacity:1}
  .hero-video-journey.g20-mobile-v311 .hero-timeline-fill {transition:width 90ms linear!important}
}

/* v3.18: crops for the supplied photographs; existing section sizes are retained. */
.architecture-image img{object-position:54% center}
.interior-photo img{object-position:50% center}
.privacy-image img{object-position:54% center}
.lifestyle-background img{object-position:50% 60%}
.location-visual img{object-position:73% center}
.details-hero{background-position:50% 55%}
.outro-image{background-position:52% center}
@media(max-width:560px){
 .architecture-image img{object-position:58% center}
 .interior-photo img{object-position:49% center}
 .privacy-image img{object-position:50% center}
 .lifestyle-background img{object-position:59% center}
 .location-visual img{object-position:75% center}
 .details-hero{background-position:49% center}
}

/* v3.29: move the portrait crop a little further left. */
@media (pointer:coarse) and (max-width:1024px) and (orientation:portrait){
 .hero-video-journey{--g20-portrait-hero-x:56%}
 .hero-video-journey .hero-video-poster{background-position:var(--g20-portrait-hero-x) center}
 .hero-video-journey.g20-mobile-v311 .hero-walkthrough{object-position:var(--g20-portrait-hero-x) center}
}

/* v3.25: private penthouse pools, project photographs and planned A1 link. */
.penthouses{background:#e8e1d6}
.pool-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(35px,6vw,100px);align-items:center}
.pool-copy .editorial-title{font-size:clamp(48px,5vw,86px);margin:40px 0 28px}
.pool-copy>p{font-size:15px;line-height:1.9;color:#526056;max-width:520px}
.pool-photo{margin:0;min-width:0}
.pool-photo img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.pool-photo figcaption{margin-top:18px;font-size:9px;line-height:1.8;letter-spacing:.13em;color:#686658}
.pool-facts{display:flex;gap:40px;margin:34px 0 12px;padding-top:22px;border-top:1px solid #c5bba9}
.pool-facts>div{display:flex;flex-direction:column-reverse;gap:8px}
.pool-facts dt{font-size:9px;letter-spacing:.12em;color:#5a655d;line-height:1.6}
.pool-facts dd{font:42px/1 var(--serif);margin:0;color:#71604c}
.pool-copy .text-link{font-size:10px;gap:22px}
.detail-pool-photo{width:100%;height:auto;margin-top:28px}
.location-planned span{max-width:250px;line-height:1.7}
.location-grid .location-planned-note{color:#526056;max-width:570px;margin-top:12px}
.detail-planned{padding:20px 24px;background:#e8e1d6;border-left:2px solid #9e8668}
.detail-planned strong{font-weight:500}
.detail-planned span{font-size:.9em}
.project-gallery{background:var(--paper);overflow:hidden}
.gallery-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:50px}
.gallery-heading .editorial-title{font-size:clamp(52px,6vw,98px);margin:35px 0 0}
.gallery-heading>p{max-width:270px;font-size:13px;color:#626e64;line-height:1.8;margin-bottom:6px}
.project-gallery-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,34%);gap:25px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:1px;scrollbar-color:#a89983 #e0ddd2;scrollbar-width:thin;padding:0 0 24px}
.project-gallery-item{margin:0;min-width:0;scroll-snap-align:start}
.project-gallery-item>a{display:block;position:relative;background:#ddd8cb;outline-offset:5px}
.project-gallery-item img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.project-gallery-item figcaption{font-size:10px;line-height:1.8;letter-spacing:.05em;margin-top:17px;color:#626b61}
.gallery-expand{position:absolute;right:12px;bottom:12px;width:37px;height:37px;display:grid;place-items:center;background:rgba(20,32,27,.85);color:#fff;font-size:19px}
.gallery-dialog{border:0;padding:32px;background:transparent;color:#fff;max-width:100vw;max-height:100dvh;width:min(1500px,98vw);overflow:auto}
.gallery-dialog::backdrop{background:rgba(8,14,11,.96)}
.gallery-dialog-content{position:relative}
.gallery-dialog [data-gallery-image]{width:100%;height:auto;max-height:80dvh;object-fit:contain;background:#0e1714}
.gallery-close{position:absolute;right:10px;top:10px;border:1px solid rgba(255,255,255,.5);background:#14201b;color:#fff;width:44px;height:44px;font-size:30px;line-height:1;z-index:1}
.gallery-dialog-bar{display:flex;gap:18px;align-items:center;justify-content:space-between;padding-top:14px}
.gallery-dialog-bar p{margin:0;font-size:12px;line-height:1.7;text-align:center}
.gallery-dialog-bar button{color:#fff;background:transparent;border:1px solid #8c948e;width:44px;height:44px;font-size:23px;flex-shrink:0}
.gallery-dialog button:focus-visible,.project-gallery-item>a:focus-visible{outline:2px solid #dcc39d;outline-offset:4px}
@media(max-width:1024px){
 .pool-grid{grid-template-columns:1fr;gap:45px}
 .pool-copy{max-width:710px}
 .pool-copy>p{max-width:650px}
 .pool-copy .editorial-title{font-size:clamp(52px,7vw,84px)}
 .project-gallery-track{grid-auto-columns:55%}
}
@media(max-width:560px){
 .pool-copy .editorial-title{font-size:clamp(48px,12vw,68px);margin:32px 0 25px}
 .pool-facts{gap:30px}
 .pool-photo figcaption{font-size:8px}
 .gallery-heading{display:block;margin-bottom:32px}
 .gallery-heading>p{margin:25px 0 0;max-width:290px}
 .project-gallery-track{grid-auto-columns:88%;gap:16px}
 .project-gallery-item figcaption{font-size:10px}
 .gallery-dialog{width:100vw;padding:12px}
 .gallery-dialog [data-gallery-image]{max-height:75dvh}
 .gallery-dialog-bar{gap:10px}
 .gallery-dialog-bar p{font-size:10px}
 .detail-planned{padding:18px}
}
