@font-face{font-family:FilaroDisplay;src:url('/assets/fonts/forum-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:FilaroSans;src:url('/assets/fonts/hanken-variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--wine:#5b2c2d;--sorbet:#f5edaa;--cream:#f7f5ef;--gutter:clamp(30px,6.4vw,112px);--plate-left:max(var(--gutter),clamp(150px,8vw,184px));--plate-right:max(var(--gutter),clamp(190px,11vw,240px));--line:rgba(91,44,45,.28);--line-wine:rgba(247,245,239,.34);--ease:cubic-bezier(.22,.72,.24,1);--serif:FilaroDisplay,serif;--sans:FilaroSans,Arial,sans-serif;--type-display-opening:clamp(68px,7.35vw,112px);--type-display-page:clamp(54px,6.4vw,96px);--type-display-section:clamp(46px,5.5vw,84px);--type-display-chapter:clamp(48px,5.8vw,88px);--type-display-close:clamp(42px,4.6vw,70px);--type-lede:clamp(19px,1.85vw,29px);--type-reading:clamp(17px,1.15vw,19px);--type-detail:clamp(14px,.98vw,16px);--type-label:9px;--leading-reading:1.52;--measure-wide:760px;--measure-reading:650px;--measure-action:430px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--cream);color:var(--wine);scrollbar-color:var(--wine) transparent;scrollbar-width:thin}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--wine);border:2px solid transparent;background-clip:padding-box;border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:#472122;background-clip:padding-box}
body{margin:0;background:var(--cream);color:var(--wine);font-family:FilaroSans,Arial,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}
em,i{font-style:normal}
.page-filters{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
body.menu-open,body.overlay-open{overflow:hidden}
html.overlay-open,html.film-suite-playing,html.feature-film-playing{overflow:hidden}
img,video{display:block;width:100%;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{color:inherit}
.skip{position:fixed;left:20px;top:-90px;z-index:1000;background:var(--cream);color:var(--wine);padding:12px 16px}.skip:focus{top:20px}
.site-chrome{position:fixed;inset:0 0 auto;z-index:80;height:112px;pointer-events:none;color:var(--cream);transition:color .35s}
.ui-wine .site-chrome{color:var(--wine)}
.brand-mark{position:absolute;left:var(--gutter);top:30px;width:64px;height:64px;display:grid;place-items:center;pointer-events:auto}
.brand-mark span{display:block;width:100%;height:100%;background:currentColor;-webkit-mask:url('/assets/logos/emblem-white.svg') center/contain no-repeat;mask:url('/assets/logos/emblem-white.svg') center/contain no-repeat}
.site-nav{position:absolute;right:var(--gutter);top:28px;display:flex;align-items:flex-start;gap:26px;pointer-events:auto;text-transform:uppercase;font-size:9px;font-weight:700;letter-spacing:.18em}
.site-nav a,.menu-trigger{position:relative;border:0;background:none;padding:8px 0;cursor:pointer;text-transform:inherit;font:inherit;letter-spacing:inherit;color:inherit}
.site-nav a:after,.menu-trigger:after,.text-link:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:currentColor;transition:right .45s var(--ease)}
.site-nav a:hover:after,.site-nav a:focus-visible:after,.site-nav a[aria-current=page]:after,.menu-trigger:hover:after,.menu-trigger:focus-visible:after,.text-link:hover:after,.text-link:focus-visible:after{right:0}
.nav-main{font:400 24px/.85 FilaroDisplay,serif!important;letter-spacing:-.015em!important;text-transform:uppercase!important;max-width:104px}
.nav-main:before{content:"";position:absolute;left:0;bottom:-7px;width:30px;height:1px;background:currentColor;animation:nav-rule 4.8s var(--ease) infinite}
@keyframes nav-rule{0%,72%,100%{width:30px;transform:translateX(0)}82%{width:100%;transform:translateX(0)}92%{width:30px;transform:translateX(74px)}}
.menu-panel{position:fixed;inset:0;z-index:70;background:var(--wine);color:var(--cream);display:grid;grid-template-columns:1fr 1.35fr;padding:150px var(--gutter) 54px;clip-path:inset(0 0 100%);visibility:hidden;transition:clip-path .72s var(--ease),visibility 0s .72s}
.menu-panel.open{clip-path:inset(0);visibility:visible;transition:clip-path .72s var(--ease)}
.menu-panel__note{align-self:end;max-width:250px;font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.menu-panel ol{list-style:none;margin:0;padding:0;border-top:1px solid rgba(247,245,239,.3)}
.menu-panel li{border-bottom:1px solid rgba(247,245,239,.3)}
.menu-panel a{display:grid;grid-template-columns:46px 1fr auto;align-items:center;padding:11px 0;transition:padding .35s var(--ease)}
.menu-panel a:hover,.menu-panel a:focus-visible{padding-left:16px}
.menu-panel b{font-size:9px;letter-spacing:.18em}.menu-panel span{font:400 clamp(38px,5.1vw,78px)/.9 FilaroDisplay,serif;text-transform:uppercase}.menu-panel i{font-style:normal;font-size:18px}
.progress-rail{position:fixed;z-index:45;left:var(--gutter);bottom:30px;height:170px;width:38px;color:var(--cream);display:flex;flex-direction:column;align-items:center;pointer-events:none;transition:color .35s}
.ui-wine .progress-rail{color:var(--wine)}
.progress-rail span{font-size:8px;font-weight:700}.progress-rail i{position:relative;flex:1;width:1px;margin:10px 0;background:currentColor;opacity:.45}.progress-rail i:after{content:"";position:absolute;left:-2px;top:calc(var(--page-progress,0)*100%);width:5px;height:5px;border-radius:50%;background:currentColor;opacity:1}.progress-rail b{font-size:8px;letter-spacing:.18em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}
.page-veil{position:fixed;inset:0;z-index:500;background:var(--wine);transform:translate3d(0,101%,0);pointer-events:none;will-change:transform}
.ui-wine .page-veil{background:var(--cream)}
html.page-entering .page-veil{transform:translate3d(0,0,0)}
html.page-entering.page-revealing .page-veil{animation:veil-reveal .76s cubic-bezier(.65,0,.35,1) forwards}
.is-leaving .page-veil{animation:veil-cover .58s cubic-bezier(.65,0,.35,1) forwards}
@keyframes veil-cover{from{transform:translate3d(0,101%,0)}to{transform:translate3d(0,0,0)}}
@keyframes veil-reveal{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-101%,0)}}
.eyebrow{margin:0 0 28px;font-size:var(--type-label);font-weight:750;letter-spacing:.2em;text-transform:uppercase}
.display{font:400 var(--type-display-page)/.84 FilaroDisplay,serif;letter-spacing:-.045em;text-transform:uppercase;margin:0}
.lede{font:400 var(--type-lede)/1.12 FilaroDisplay,serif;max-width:580px;margin:0}
.text-link{position:relative;display:inline-flex;padding:8px 0 10px;text-transform:uppercase;font-size:9px;font-weight:750;letter-spacing:.18em}
.section-pad{padding:clamp(100px,14vh,160px) var(--gutter)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.in{opacity:1;transform:none}
[data-line-reveal]{--line-reveal-duration:1.05s}.line-reveal__line{display:block;overflow:hidden;padding:.08em 0 .12em;margin:-.08em 0 -.12em}.line-reveal__inner{display:block;transform:translate3d(0,108%,0);transition:transform var(--line-reveal-duration) cubic-bezier(.2,.72,.2,1);transition-delay:calc(.08s + var(--line-reveal-index,0) * .1s);will-change:transform}[data-line-reveal].line-reveal-in .line-reveal__inner{transform:translate3d(0,0,0)}
.hero{position:relative;height:180svh;background:var(--wine);color:var(--cream)}
.hero__stage{position:sticky;top:0;height:100svh;overflow:hidden}
.hero video{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(91,44,45,.05),rgba(91,44,45,.08) 60%,rgba(45,19,21,.42))}
.hero__title{position:absolute;left:50%;top:45%;width:min(70vw,940px);transform:translate(-50%,-50%);text-align:center}
.hero__title img{width:min(42vw,610px);margin:0 auto 26px}.hero__title h1{margin:0;font:400 clamp(62px,8.4vw,130px)/.75 FilaroDisplay,serif;text-transform:uppercase;letter-spacing:-.045em}.hero__title p{margin:24px 0 0;font-size:9px;font-weight:750;letter-spacing:.28em;text-transform:uppercase}
.hero__proposition{position:absolute;left:var(--gutter);right:var(--gutter);bottom:11vh;display:flex;justify-content:space-between;align-items:end;gap:40px;font:400 clamp(24px,2.6vw,42px)/1 FilaroDisplay,serif;text-transform:uppercase}.hero__proposition span:last-child{text-align:right}
.scroll-cue{position:absolute;right:var(--gutter);bottom:28px;display:flex;align-items:center;gap:12px;text-transform:uppercase;font-size:8px;font-weight:750;letter-spacing:.18em}.scroll-cue i{position:relative;width:1px;height:38px;background:rgba(247,245,239,.4);overflow:hidden}.scroll-cue i:after{content:"";position:absolute;inset:-100% 0 100%;background:var(--cream);animation:scroll-line 2.2s ease-in-out infinite}@keyframes scroll-line{0%{transform:translateY(0)}70%,100%{transform:translateY(200%)}}
.statement{background:var(--cream);color:var(--wine);display:grid;grid-template-columns:minmax(240px,.72fr) 1.55fr;gap:10vw;align-items:start}
.statement__side{position:sticky;top:150px}.statement__body .display{max-width:940px}.statement__body .lede{margin:58px 0 0 30%}.statement__body .text-link{margin:54px 0 0 30%}
.elevation{background:var(--cream);color:var(--wine);padding:0 var(--gutter) clamp(110px,16vh,180px)}
.elevation__head{display:grid;grid-template-columns:.72fr 1.55fr;gap:10vw;padding:0 0 64px}.elevation__head .display{font-size:clamp(52px,6.6vw,104px)}
.elevation__intro .lede{max-width:650px;margin:34px 0 28px}
.elevation__figure{position:relative;margin:0;border-top:1px solid var(--line);padding-top:22px}.elevation__figure>img{height:auto;max-height:84vh;object-fit:contain;object-position:center top;background:var(--cream)}
.elevation__caption{display:flex;justify-content:space-between;margin-top:12px;font-size:8px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.pin{position:absolute;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:var(--cream);padding:0;cursor:pointer;box-shadow:inset 0 0 0 1px currentColor;filter:drop-shadow(0 1px 5px rgba(0,0,0,.18))}.pin:before{content:"+";position:absolute;z-index:2;left:50%;top:50%;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--wine);font:500 13px/1 Arial,sans-serif;transform:translate(-50%,-50%);transition:transform .35s var(--ease)}.pin:after{content:"";position:absolute;inset:1px;border:1px solid currentColor;border-radius:50%;opacity:0;animation:pin-pulse 2.9s cubic-bezier(.22,.61,.36,1) infinite}.pin:hover:before,.pin:focus-visible:before{transform:translate(-50%,-50%) scale(1.1)}.pin:hover:after,.pin:focus-visible:after{animation-duration:2s}@keyframes pin-pulse{0%{transform:scale(.82);opacity:0}22%{opacity:.78}100%{transform:scale(1.62);opacity:0}}
.pin--1{left:66%;top:43%}.pin--2{left:49%;top:36%}.pin--3{left:24%;top:57%}
.detail-card{position:absolute;z-index:4;width:min(274px,calc(100% - 36px));background:#f3f0e8;color:var(--wine);padding:22px 23px 24px;border:1px solid rgba(91,44,45,.1);box-shadow:0 16px 44px rgba(30,20,18,.11);transform-origin:top left;transition:opacity .32s var(--ease),transform .42s var(--ease)}.detail-card[hidden]{display:none}.detail-card small,.detail-card button{display:none}.detail-card h3{font:400 31px/.96 FilaroDisplay,serif;text-transform:uppercase;margin:0 0 14px}.detail-card p{font-size:11px;line-height:1.5;margin:0;max-width:24em}.detail-card:before,.detail-card:after{content:"";position:absolute;width:24px;height:24px;pointer-events:none}.detail-card:before{left:-1px;top:-1px;border-left:1px solid rgba(91,44,45,.42);border-top:1px solid rgba(91,44,45,.42)}.detail-card:after{right:-1px;bottom:-1px;border-right:1px solid rgba(91,44,45,.42);border-bottom:1px solid rgba(91,44,45,.42)}@starting-style{.detail-card:not([hidden]){opacity:0;transform:translateY(12px) scale(.98)}}
.residence-preview{background:var(--wine);color:var(--cream)}
.residence-preview__head{display:grid;grid-template-columns:.72fr 1.55fr;gap:10vw;align-items:start;margin-bottom:80px}.residence-preview__head .display{font-size:clamp(54px,7vw,108px)}.residence-preview__intro .lede{max-width:650px;margin-top:34px}
.type-list{border-top:1px solid rgba(247,245,239,.35)}.type-list a{display:grid;grid-template-columns:80px 1fr auto;align-items:center;padding:28px 0;border-bottom:1px solid rgba(247,245,239,.35);transition:padding .35s var(--ease)}.type-list a:hover,.type-list a:focus-visible{padding-left:16px}.type-list small{font-size:8px;letter-spacing:.18em;text-transform:uppercase}.type-list strong{font:400 clamp(38px,4.2vw,66px)/1 FilaroDisplay,serif;text-transform:uppercase}.type-list span{font-size:18px}
.film-chapter{background:var(--cream);color:var(--wine);display:grid;grid-template-columns:1.35fr .65fr;gap:7vw;align-items:center}.film-chapter video{max-height:78vh;object-fit:cover;background:var(--wine)}.film-chapter .display{font-size:clamp(48px,5.8vw,88px)}.film-chapter .lede{margin:34px 0}.film-note{font-size:9px;letter-spacing:.17em;text-transform:uppercase;margin-top:12px}
.gallery{background:var(--cream);color:var(--wine)}
.gallery__head{display:grid;grid-template-columns:.72fr 1.55fr;gap:10vw;margin-bottom:70px}.gallery__head .display{font-size:clamp(52px,6.4vw,98px)}
.gallery__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(18px,2.2vw,36px);align-items:start}.gallery button{border:0;background:none;padding:0;text-align:left;cursor:zoom-in;color:inherit}.gallery button:nth-child(1){grid-column:1/span 7}.gallery button:nth-child(2){grid-column:9/span 4;margin-top:16vh}.gallery button:nth-child(3){grid-column:2/span 4;margin-top:6vh}.gallery button:nth-child(4){grid-column:7/span 6;margin-top:-5vh}.gallery img{height:100%;max-height:72vh;object-fit:cover;transition:transform .6s var(--ease)}.gallery button:hover img{transform:scale(.988)}.gallery span{display:flex;justify-content:space-between;margin-top:10px;font-size:8px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.place-tease{position:relative;isolation:isolate;overflow:hidden;min-height:88svh;background:var(--wine);color:var(--cream);display:flex;align-items:center}.place-tease__copy{position:relative;z-index:2;width:min(1100px,82vw)}.place-tease .display{font-size:clamp(52px,6.4vw,96px)}.place-tease .lede{margin:34px 0}
.closing{min-height:62svh;background:var(--cream);color:var(--wine);display:flex;flex-direction:column;justify-content:flex-start;gap:clamp(68px,9vh,96px)}.closing .display{max-width:var(--measure-wide);font-size:var(--type-display-close);line-height:.96;letter-spacing:-.03em}.closing__action{display:flex;justify-content:space-between;align-items:center;width:min(var(--measure-wide),100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;text-transform:uppercase;font-size:var(--type-label);font-weight:750;letter-spacing:.18em}.closing__action b{font:400 30px FilaroDisplay,serif}
.site-footer{background:var(--wine);color:var(--cream);padding:72px var(--gutter) 30px;display:grid;grid-template-columns:1fr 1fr;gap:38px}.site-footer img{width:110px}.site-footer p{margin:0;font:400 20px/1.15 FilaroDisplay,serif;text-transform:uppercase}.site-footer nav{display:flex;justify-content:flex-end;gap:28px;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.site-footer small{grid-column:1/-1;border-top:1px solid rgba(247,245,239,.3);padding-top:20px;font-size:8px;letter-spacing:.14em;text-transform:uppercase}
.page-intro{min-height:92svh;padding:190px var(--gutter) 100px;background:var(--cream);color:var(--wine);display:grid;grid-template-columns:.72fr 1.55fr;gap:10vw;align-content:center}.page-intro .display{font-size:var(--type-display-page);max-width:980px}.page-intro__copy{align-self:end;display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:70px}.page-intro__copy .lede{font-size:var(--type-lede)}
.page-intro--image{position:relative;color:var(--cream);background:var(--wine);overflow:hidden}.page-intro--image>img{position:absolute;inset:0;height:100%;object-fit:cover}.page-intro--image:after{content:"";position:absolute;inset:0;background:rgba(53,23,25,.26)}.page-intro--image>*:not(img){position:relative;z-index:1}
.plans{background:var(--cream);color:var(--wine);padding:20px var(--gutter) 140px}.plan-index{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid var(--line);padding-top:36px}.plan-card{border-bottom:1px solid var(--line);padding-bottom:28px}.plan-card__top{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.plan-card small{font-size:8px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.plan-card strong{font:400 44px/1 FilaroDisplay,serif}.plan-card button{width:100%;border:0;background:none;padding:0;color:inherit;text-align:left;cursor:zoom-in}.plan-card button img{height:50vh;object-fit:contain;background:#fff}.plan-card h2{font:400 clamp(32px,3.4vw,52px)/1 FilaroDisplay,serif;text-transform:uppercase;margin:24px 0 8px}.plan-card .open{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;font-size:8px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.disclaimer{max-width:780px;margin:44px 0 0;font-size:10px;line-height:1.55}
.feature-pair{background:var(--wine);color:var(--cream);display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;align-items:center}.feature-pair img{height:70vh;object-fit:cover}.feature-pair .display{font-size:clamp(48px,5.7vw,88px)}.feature-pair .lede{margin:34px 0}.layout-figure{position:relative;margin:0;background:var(--wine)}.feature-pair .layout-figure>img{display:block;width:100%;height:auto;object-fit:contain;background:transparent;mix-blend-mode:screen;filter:grayscale(1) invert(1) sepia(.22) saturate(.55) contrast(1.2) brightness(1.12);opacity:.9}.layout-figure figcaption{display:flex;justify-content:space-between;margin-top:12px;font-size:8px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.layout-pin{color:var(--cream);filter:drop-shadow(0 1px 5px rgba(0,0,0,.2))}.layout-pin--garage{left:39%;top:76%}.layout-pin--living{left:38%;top:47%}.layout-pin--bedroom{left:40%;top:27%}.layout-pin--terrace{left:39%;top:11%}
.interiors-chapter{background:var(--cream);color:var(--wine);display:grid;grid-template-columns:.72fr 1.28fr;gap:9vw;align-items:start}.interiors-chapter__head{padding-top:16px}.interiors-chapter__head .display{font-size:clamp(48px,5.7vw,88px);margin:34px 0}.interiors-chapter__head .lede{max-width:560px}.interiors-figure{position:relative;margin:0}.interiors-figure>img{display:block;width:100%;height:auto;background:var(--cream)}.interiors-figure figcaption{display:flex;justify-content:space-between;margin-top:12px;font-size:8px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.interiors-pin{color:var(--wine);filter:drop-shadow(0 1px 5px rgba(255,255,255,.5))}.interiors-pin--fireplace{left:49%;top:28%}.interiors-pin--timber{left:72%;top:14%}.interiors-pin--stone{left:65%;top:39%}.interiors-pin--living{left:37%;top:64%}

.team{background:var(--cream);color:var(--wine)}.team__head{display:grid;grid-template-columns:.72fr 1.55fr;gap:10vw;margin-bottom:70px}.team__head .display{font-size:clamp(52px,6.3vw,96px)}.team-list{border-top:1px solid var(--line)}.team-row{display:grid;grid-template-columns:70px 1fr 1fr;padding:24px 0;border-bottom:1px solid var(--line);align-items:baseline}.team-row small{font-size:8px;font-weight:700;letter-spacing:.16em}.team-row strong{font:400 clamp(25px,2.8vw,42px)/1 FilaroDisplay,serif;text-transform:uppercase}.team-row span{font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.contact{min-height:100svh;background:var(--wine);color:var(--cream);padding:180px var(--gutter) 100px;display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw}.contact .display{font-size:clamp(62px,7.6vw,116px)}.contact__intro .lede{margin-top:50px}.contact form{background:var(--cream);color:var(--wine);padding:clamp(30px,4vw,64px)}.field{display:grid;gap:7px;margin-bottom:24px}.field label{font-size:8px;font-weight:750;letter-spacing:.17em;text-transform:uppercase}.field input,.field textarea{border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;color:inherit;padding:12px 0}.field input:focus,.field textarea:focus{outline:2px solid transparent;border-color:var(--wine)}.field textarea{min-height:110px;resize:vertical}.submit{width:100%;border:1px solid var(--wine);background:none;color:var(--wine);padding:17px;text-transform:uppercase;font-size:9px;font-weight:750;letter-spacing:.18em;cursor:pointer;transition:color .3s,background .3s}.submit:hover,.submit:focus-visible{background:var(--wine);color:var(--cream)}.form-status{min-height:22px;font-size:11px}.honeypot{position:absolute;left:-9999px}
.overlay{position:fixed;inset:0;z-index:200;background:var(--wine);color:var(--cream);display:none;grid-template-rows:auto 1fr auto;padding:24px}.overlay.open{display:grid}.overlay__top,.overlay__bottom{display:flex;justify-content:space-between;align-items:center;font-size:8px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.overlay button{border:0;background:none;color:inherit;padding:10px;cursor:pointer;text-transform:uppercase;font-size:9px;letter-spacing:.15em}.overlay__stage{min-height:0;display:grid;place-items:center;overflow:auto;padding:20px}.overlay__stage img{width:auto;max-width:100%;max-height:calc(100svh - 130px);object-fit:contain}.overlay.plan .overlay__stage{place-items:start center}.overlay.plan .overlay__stage img{width:1100px;max-width:none}
@media(max-width:900px){:root{--gutter:24px}.site-chrome{height:92px}.brand-mark{top:20px;width:54px;height:54px}.site-nav{top:20px;gap:16px}.site-nav>a:not(.nav-main){display:none}.nav-main{font-size:21px!important}.menu-panel{grid-template-columns:1fr;padding:120px 24px 34px}.menu-panel__note{display:none}.progress-rail{display:none}.display{font-size:clamp(52px,13vw,88px)}.section-pad{padding:100px var(--gutter)}.hero{height:165svh}.hero__title{width:86vw;top:42%}.hero__title img{width:58vw}.hero__title h1{font-size:14vw}.hero__proposition{bottom:12vh;font-size:7vw;gap:18px}.statement,.elevation__head,.residence-preview__head,.gallery__head,.team__head{grid-template-columns:1fr;gap:34px}.statement__side{position:static}.statement__body .lede,.statement__body .text-link{margin-left:0}.elevation{padding-left:24px;padding-right:24px}.elevation__head .display{font-size:clamp(46px,12vw,64px)}.elevation__figure>img{height:auto;max-height:none;object-fit:contain;object-position:center top}.pin--1{left:66%;top:43%}.pin--2{left:49%;top:36%}.pin--3{left:24%;right:auto;top:57%}.film-chapter,.place-tease,.feature-pair,.interiors-chapter,.map-section{grid-template-columns:1fr}.film-chapter__copy,.place-tease__copy,.feature-pair__copy{order:-1}.interiors-chapter{gap:46px}.interiors-chapter__head .display{font-size:clamp(46px,12vw,64px)}.gallery__grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 14px}.gallery button:nth-child(n){grid-column:auto;margin:0}.gallery button:nth-child(even){margin-top:60px}.gallery img{height:auto;aspect-ratio:4/5}.place-tease img,.feature-pair img{height:58vh}.feature-pair .layout-figure>img{height:auto}.closing{min-height:76svh}.site-footer{grid-template-columns:1fr}.site-footer nav{grid-column:1;justify-content:flex-start}.page-intro{min-height:82svh;padding-top:150px;grid-template-columns:1fr;gap:34px}.page-intro__copy{grid-template-columns:1fr;margin-top:16px}.plan-index{grid-template-columns:1fr}.plan-card button img{height:auto;max-height:65vh}.team-row{grid-template-columns:42px 1fr}.team-row span{grid-column:2;margin-top:8px}.contact{grid-template-columns:1fr;padding-top:145px}.map{margin-top:20px}}
@media(max-width:520px){.site-nav{right:18px}.brand-mark{left:18px}.hero__proposition{display:grid}.hero__proposition span:last-child{text-align:left}.scroll-cue{right:18px}.elevation__figure>img{height:auto}.type-list a{grid-template-columns:50px 1fr auto}.gallery__grid{grid-template-columns:1fr}.gallery button:nth-child(n){margin:0}.site-footer nav{flex-wrap:wrap}.overlay{padding:14px}.contact form{padding:28px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.line-reveal__inner{transform:none;transition:none;will-change:auto}.nav-main:before,.scroll-cue i:after,.pin:after{animation:none}.pin:after{opacity:.5}.page-veil,.is-leaving .page-veil,html.page-entering .page-veil,html.page-entering.page-revealing .page-veil{animation:none!important;transform:translate3d(0,101%,0)!important}.site-chrome,.menu-panel,.menu-panel.open,.gallery img,.type-list a,.menu-panel a{transition:none}}
.gallery button:nth-child(4){margin-top:5vh}
.hero__title{top:24%;width:min(58vw,780px)}.hero__title img{width:min(28vw,400px);margin-bottom:16px}.hero__title h1{font-size:clamp(48px,5.8vw,88px)}.hero__title p{margin-top:16px}
@media(max-width:900px){.hero__title{top:30%;width:82vw}.hero__title img{width:46vw}.hero__title h1{font-size:11.5vw}}
.section-pad,.elevation{padding-top:clamp(150px,18vh,190px)}.plans{padding-top:150px}.hero__title{top:18%;width:min(52vw,720px)}.hero__title img{width:min(24vw,350px)}.hero__title h1{font-size:clamp(44px,5.2vw,78px)}
@media(max-width:900px){.section-pad,.elevation{padding-top:130px}.plans{padding-top:130px}.hero__title{top:24%;width:78vw}.hero__title img{width:42vw}.hero__title h1{font-size:10.5vw}}
@media(min-width:901px) and (max-width:1100px){.hero__title{top:22%;width:50vw}.hero__title img{width:20vw}.hero__title h1{font-size:4.8vw}}
html,body{overflow-x:clip}

/* Calibrated chrome: this composition is a locked Filaro invariant. */
.site-chrome{height:128px;color:var(--cream)}
.ui-wine .site-chrome{color:var(--wine)}
.brand-mark{left:38px;top:30px;width:76px;height:76px}
.brand-mark span{width:58px;height:58px}
.site-nav{right:38px;top:30px;display:flex;flex-direction:column;align-items:flex-end;gap:5px;font-size:9px;line-height:1.05}
.site-nav a,.menu-trigger{padding:0}
.site-nav a:not(.nav-main),.menu-trigger{transition:letter-spacing .3s}
.site-nav a:not(.nav-main):hover,.site-nav a:not(.nav-main):focus-visible,.menu-trigger:hover,.menu-trigger:focus-visible{letter-spacing:.27em}
.nav-main{--nav-line-height:23px;position:relative;min-width:126px;max-width:none;margin-bottom:10px;padding:0 0 16px!important;font:400 25px/.78 FilaroDisplay,serif!important;letter-spacing:-.025em!important;text-transform:uppercase!important;text-align:left}
.nav-main:before,.nav-main:after{display:none!important}
.nav-main-line{position:relative;display:block;height:var(--nav-line-height);overflow:hidden;clip-path:inset(0);contain:paint;white-space:nowrap}
.nav-main-track{display:grid;grid-template-rows:repeat(2,var(--nav-line-height));transition:transform .58s cubic-bezier(.76,0,.24,1) calc(var(--i)*.04s);will-change:transform}
.nav-main-track>span{display:block;height:var(--nav-line-height)}
.nav-main>i{position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;opacity:.5;transform:scaleX(.24);transform-origin:left center;transition:opacity .38s var(--ease),transform .38s cubic-bezier(.22,.61,.36,1)}
.nav-main:hover .nav-main-track,.nav-main:focus-visible .nav-main-track{transform:translateY(calc(-1 * var(--nav-line-height)))}
.nav-main:hover>i,.nav-main:focus-visible>i{opacity:1;transform:scaleX(1)}
/* Calibrated opening frame: preserve the accepted hierarchy, crop and scroll teaching. */
.hero-run{height:280svh;background:var(--wine);color:var(--cream)}
.hero-stage{position:sticky;top:0;width:100%;height:100dvh;min-height:650px;overflow:hidden;background:var(--wine)}
.hero-media{position:absolute;left:0;right:0;bottom:0;width:100%;height:auto;object-fit:contain;transform:translateY(clamp(38px,6vh,68px)) scale(calc(1 + var(--hero-zoom,0)*.085));transform-origin:50% 72%;opacity:.64;mix-blend-mode:multiply;filter:grayscale(1) contrast(1.08) brightness(1.08);will-change:transform,opacity}
.hero-wash{position:absolute;inset:0;background:transparent}
.hero-heading{position:absolute;z-index:2;left:50%;top:33%;width:min(680px,60vw);text-align:center;transform:translate(-50%,calc(-50% - var(--hero-heading-move,0)*82vh));opacity:calc(1 - var(--hero-heading-fade,0));will-change:transform,opacity}
.hero-heading__lockup{transform-origin:50% 54%;perspective:1000px}
.hero-name{display:block;width:min(300px,25.5vw);height:min(86px,7.1vw);margin:0 auto 10px;background:var(--cream);-webkit-mask:url('/assets/logos/wordmark-white.png') center/contain no-repeat;mask:url('/assets/logos/wordmark-white.png') center/contain no-repeat;transform-origin:50% 100%;backface-visibility:hidden}
.hero-heading h1{margin:0;font:400 clamp(76px,9.6vw,150px)/.76 FilaroDisplay,serif;letter-spacing:-.06em;text-transform:uppercase}
.hero-heading p{margin:.17em 0 0;font:400 clamp(43px,4.9vw,76px)/.84 FilaroDisplay,serif;letter-spacing:-.045em;text-transform:uppercase}
.hero-title-char{display:inline-block;transform-origin:50% 100%;backface-visibility:hidden;will-change:transform,opacity}
.hero-title-gap{display:inline-block;width:.24em}
.hero-proposition{position:absolute;z-index:2;left:50%;top:65%;width:min(850px,76vw);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;transform:translate(-50%,calc(-50% - var(--hero-proposition-move,0)*82vh));opacity:calc(1 - var(--hero-proposition-fade,0));will-change:transform,opacity}
.hero-proposition>span{font:400 clamp(20px,2.4vw,37px)/.9 FilaroDisplay,serif;letter-spacing:-.025em;text-transform:uppercase}
.hero-proposition>span:last-child{text-align:right}
.hero-cta{position:absolute;z-index:3;left:50%;bottom:28px;width:174px;height:174px;border:1px solid rgba(247,245,239,.48);border-radius:50%;transform:translateX(-50%);display:grid;place-items:center;text-align:center;font-size:9px;font-weight:700;line-height:1.1;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:transparent;color:var(--cream)}
.hero-cta span{transform:translateY(5px)}
.hero-cta small{display:block;margin-top:6px;font-size:7px;line-height:1.15;letter-spacing:.14em}
.hero-cta:before{content:"";position:absolute;inset:-2px;border-radius:50%;padding:1px;background:conic-gradient(from 0deg,transparent 0 70%,currentColor 78% 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;animation:hero-ring-orbit 3.8s linear infinite}
.hero-cta:hover:before,.hero-cta:focus-visible:before{animation-duration:2.2s}
@keyframes hero-ring-orbit{to{transform:rotate(360deg)}}
@keyframes hero-entry-rise{from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes hero-entry-fade{from{opacity:0}to{opacity:1}}
@keyframes home-veil-fade{from{opacity:1;transform:none}to{opacity:0;transform:none}}
@keyframes hero-media-enter{from{opacity:0}to{opacity:.64}}
@keyframes hero-wordmark-enter{from{opacity:0;transform:translate3d(0,20%,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes hero-title-enter{from{opacity:0;transform:translate3d(0,18%,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.home-page .page-veil{background:var(--wine)}
html.page-entering .home-page .page-veil{opacity:1;transform:none}
html.page-entering.page-revealing .home-page .page-veil{animation:home-veil-fade .78s cubic-bezier(.22,.61,.36,1) forwards}
.home-page:not(.hero-entry-complete) .hero-media{animation:hero-media-enter 2s cubic-bezier(.22,.61,.36,1) .16s backwards}
.home-page:not(.hero-entry-complete) .hero-name{animation:hero-wordmark-enter 1.9s cubic-bezier(.22,.61,.36,1) .78s backwards}
.home-page:not(.hero-entry-complete) .hero-heading h1 .hero-title-char{animation:hero-title-enter 1.62s cubic-bezier(.22,.61,.36,1) calc(1.64s + var(--i)*.045s) backwards}
.home-page:not(.hero-entry-complete) .hero-heading p .hero-title-char{animation:hero-title-enter 1.52s cubic-bezier(.22,.61,.36,1) calc(2.64s + var(--i)*.04s) backwards}
.home-page:not(.hero-entry-complete) .hero-proposition>span:first-child{animation:hero-entry-fade 1.55s ease 3.74s backwards}
.home-page:not(.hero-entry-complete) .hero-proposition__status{animation:hero-entry-fade 1.55s ease 3.94s backwards}
.home-page:not(.hero-entry-complete) .hero-cta{animation:hero-entry-fade 1.4s ease 4.72s backwards}
.home-page:not(.hero-entry-complete) .brand-mark,.home-page:not(.hero-entry-complete) .site-nav{animation:hero-entry-fade 1.2s var(--ease) .58s backwards}

@media(max-width:900px){
  .site-chrome{height:104px}.brand-mark{left:20px;top:21px;width:58px;height:58px}.brand-mark span{width:46px;height:46px}.site-nav{right:20px;top:21px;gap:5px}.nav-main{--nav-line-height:19px;min-width:106px;font-size:20px!important}.site-nav>a:not(.nav-main){display:none}
  .hero-stage{min-height:590px}.hero-media{inset:0;width:100%;height:100%;object-fit:cover;transform:translateY(clamp(28px,5vh,48px)) scale(calc(1 + var(--hero-zoom,0)*.06));transform-origin:52% 70%}.hero-heading{top:32%;width:82vw}.hero-name{width:44vw;height:13.5vw;margin-bottom:7px}.hero-heading h1{font-size:15vw;line-height:.76}.hero-heading p{font-size:8.9vw;margin-top:.2em}.hero-proposition{left:20px;right:20px;top:66%;width:auto;grid-template-columns:1fr 1fr;gap:18px;transform:translateY(calc(-50% - var(--hero-proposition-move,0)*82vh))}.hero-proposition>span{font-size:6vw}.hero-scroll{left:20px;bottom:20px;height:38%}.hero-cta{width:138px;height:138px;bottom:20px}
}

/* Architecture — light-led editorial frame */
.architecture-page--rethought.architecture-page--light-frame .architecture-hero {
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(22rem, .85fr);
  grid-template-rows: 1fr auto;
  align-items: end;
  padding: clamp(6.5rem, 10vw, 9.5rem) var(--gutter) clamp(2rem, 4vw, 3.75rem);
  color: var(--cream);
}

.architecture-page--rethought.architecture-page--light-frame .architecture-hero__shade {
  background: linear-gradient(90deg, rgba(24, 17, 16, .72) 0%, rgba(24, 17, 16, .2) 58%, rgba(24, 17, 16, .48) 100%);
}

.architecture-page--rethought.architecture-page--light-frame .architecture-hero__content {
  position: relative;
  inset: auto;
  grid-column: 1;
  grid-row: 1;
  width: min(100%, 52rem);
  z-index: 2;
}

.architecture-page--rethought.architecture-page--light-frame .architecture-hero__content .display {
  margin-top: clamp(1.5rem, 4vw, 3rem);
  max-width: 10ch;
  font-size: clamp(4.25rem, 8.3vw, 9rem);
  line-height: .84;
  letter-spacing: -.055em;
}

.architecture-page--rethought.architecture-page--light-frame .architecture-hero__statement {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  z-index: 2;
  max-width: 34rem;
  padding: 0 0 .4rem clamp(2rem, 5vw, 6rem);
  font-family: var(--serif);
  font-size: clamp(1.25rem, 1.7vw, 1.75rem);
  line-height: 1.28;
}

.architecture-page--rethought.architecture-page--light-frame .architecture-hero__statement p + p {
  margin-top: .8em;
}

.architecture-page--rethought.architecture-page--light-frame .architecture-hero__credit {
  position: relative;
  right: auto;
  bottom: auto;
  grid-column: 2;
  grid-row: 2;
  justify-self: end;
  z-index: 2;
  margin-top: clamp(3rem, 8vh, 6rem);
}

@media (max-width: 800px) {
  .architecture-page--rethought.architecture-page--light-frame .architecture-hero {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr auto auto;
    padding-top: 7.5rem;
  }

  .architecture-page--rethought.architecture-page--light-frame .architecture-hero video {
    top: 0;
    height: 100%;
    object-position: 58% center;
  }

  .architecture-page--rethought.architecture-page--light-frame .architecture-hero__shade {
    top: 0;
  }

  .architecture-page--rethought.architecture-page--light-frame .architecture-hero__content,
  .architecture-page--rethought.architecture-page--light-frame .architecture-hero__statement,
  .architecture-page--rethought.architecture-page--light-frame .architecture-hero__credit {
    grid-column: 1;
  }

  .architecture-page--rethought.architecture-page--light-frame .architecture-hero__content { grid-row: 1; }
  .architecture-page--rethought.architecture-page--light-frame .architecture-hero__statement {
    grid-row: 2;
    max-width: 29rem;
    margin-top: 2.5rem;
    padding-left: 0;
    font-size: 1.2rem;
  }
  .architecture-page--rethought.architecture-page--light-frame .architecture-hero__credit {
    grid-row: 3;
    justify-self: start;
    margin-top: 3.5rem;
  }

}
@media(prefers-reduced-motion:reduce){.nav-main-track{animation:none!important;transform:none!important;transition:none!important}.nav-main>i,.hero-cta:before{animation:none!important}.hero-media{display:none}.hero-stage{background-color:var(--wine);background-image:url('/assets/images/architecture-linework-orbit-first-frame.jpg');background-position:center bottom;background-size:contain;background-repeat:no-repeat;background-blend-mode:multiply}.hero-heading,.hero-proposition{opacity:1!important}}
@media(max-width:900px) and (prefers-reduced-motion:reduce){.hero-stage{background-size:cover;background-position:center}}
@media(min-width:901px){.elevation__head{padding-right:180px}}

/* Content-complete system: preserve calibrated chrome and opening frame. */
.progress-rail{display:none!important}
.menu-panel{padding-top:118px}
.menu-panel a{padding:6px 0}
.menu-panel span{font-size:clamp(27px,3.6vw,54px)}
.site-footer nav{flex-wrap:wrap;row-gap:12px}
.status-chapter{background:var(--cream);color:var(--wine);display:grid;grid-template-columns:minmax(220px,.62fr) 1.5fr;gap:11vw;align-items:start}
.status-chapter__meta{position:sticky;top:150px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.status-kicker{margin:0 0 26px;font-size:10px;font-weight:750;letter-spacing:.2em;text-transform:uppercase}
.status-kicker--completion{margin:26px 0 0;font-size:16px;font-weight:400;line-height:1.45;letter-spacing:0;text-transform:none}
.status-chapter__body .display{font-size:clamp(56px,6.8vw,104px)}
.status-chapter__body .lede{margin:54px 0 0 22%}
.status-chapter__film-run{grid-column:1/-1;position:relative;height:132svh;margin:72px calc(0px - var(--gutter)) calc(0px - clamp(100px,14vh,160px))}
.status-chapter__film{position:sticky;top:0;height:100svh;margin:0;overflow:hidden;--film-scale:.82;--film-caption:0}
.status-chapter__film-frame{position:absolute;inset:0;overflow:hidden;background:var(--wine);transform:translate3d(0,0,0) scale(var(--film-scale));transform-origin:50% 50%;backface-visibility:hidden;contain:paint;will-change:transform}
.status-chapter__film video{width:100%;height:100%;object-fit:cover;background:var(--wine);transform:translateZ(0);backface-visibility:hidden}
.status-chapter__film figcaption{position:absolute;z-index:2;left:var(--gutter);right:var(--gutter);bottom:22px;color:var(--cream);text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.48),0 4px 18px rgba(0,0,0,.28);opacity:var(--film-caption);will-change:opacity}
.status-chapter__film-caption{max-width:min(1320px,84vw);margin:0 0 clamp(14px,1.8vh,20px);font:400 clamp(15px,1.25vw,20px)/1.08 FilaroDisplay,serif;letter-spacing:-.012em}
.status-chapter__film-caption span{display:block}
.status-chapter__film-meta{display:flex;justify-content:flex-end;gap:24px;padding-top:11px;border-top:1px solid rgba(247,245,239,.58);font-size:8px;font-weight:750;letter-spacing:.16em}
.film-expanded .site-chrome{color:var(--cream)}
.place-tease__title{display:flex;flex-direction:column;gap:.12em}
.place-map,.place-map+.closing{--place-plate-left:max(var(--gutter),clamp(150px,8vw,184px));--place-plate-right:max(var(--gutter),clamp(190px,11vw,240px))}
.place-map__intro,.place-map+.closing{position:relative;overflow:hidden;isolation:isolate;padding-left:var(--place-plate-left);padding-right:var(--place-plate-right)}
.place-map__intro>*{position:relative;z-index:1}.place-map+.closing>*{position:relative;z-index:1}
.place-map+.closing .place-next__statement{position:relative;z-index:1;max-width:760px;margin:0;color:var(--wine);text-wrap:balance}
.place-map+.closing .place-next__statement .line-reveal__line:nth-child(3){margin-top:.42em}
.place-map+.closing{gap:0}
.place-map+.closing .closing__action{width:min(430px,100%);margin-top:clamp(42px,6vh,64px);padding:0 0 14px;border-top:0;border-bottom:1px solid rgba(91,44,45,.32)}
.place-map+.closing .closing__action b{font:650 16px/1 FilaroSans,sans-serif}
.authored-rooms{background:var(--cream);color:var(--wine)}
.authored-rooms__head{display:grid;grid-template-columns:.62fr 1.5fr;gap:11vw;margin-bottom:72px}
.authored-rooms__head .display{font-size:clamp(52px,6.5vw,98px)}
.room-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:auto auto;gap:24px}
.room-card{min-height:620px;background:var(--wine);color:var(--cream);padding:24px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.room-card:first-child{grid-row:1/3}
.room-card img{position:absolute;inset:0;height:100%;object-fit:cover;filter:brightness(.76);transition:transform 1.1s var(--ease)}
.room-card:hover img,.room-card:focus-visible img{transform:scale(1.025)}
.room-card>*:not(img){position:relative;z-index:1}
.room-card>span{font-size:8px;font-weight:750;letter-spacing:.18em;text-transform:uppercase}
.room-card h3{font:400 clamp(42px,5vw,76px)/.88 FilaroDisplay,serif;text-transform:uppercase;margin:20px 0 14px;max-width:650px}
.room-card p{max-width:420px;margin:0;font-size:14px}
.room-card .flow-line__inner{position:relative;transition:transform .58s cubic-bezier(.76,0,.24,1)}
.room-card .flow-line__inner:after{content:attr(data-roll);position:absolute;left:0;top:100%;width:100%;color:inherit}
.room-card:hover .flow-line__inner,.room-card:focus-visible .flow-line__inner{transform:translate3d(0,-100%,0)}
.room-card--wine{min-height:300px;background:var(--wine)}
.room-card--cream{min-height:300px;background:#efe9de;color:var(--wine)}
.place-intro .display,.architecture-intro .display,.team-intro .display{font-size:clamp(54px,6.4vw,96px)}
.place-map{position:relative;overflow:hidden;background:var(--wine);color:var(--cream);padding:0}
.place-map__intro{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:clamp(150px,18vh,198px);padding-bottom:clamp(220px,25vh,250px)}
.place-map__intro .display{display:flex;flex-direction:column;gap:.08em;font-size:var(--type-display-opening);line-height:.86}
.place-map__intro-copy{max-width:var(--measure-reading);margin-top:clamp(34px,4.5vh,52px)}
.place-map__intro-copy p{margin:0;font-family:FilaroDisplay,serif;font-size:clamp(19px,1.55vw,25px);line-height:1.18}
.place-map__intro-copy p+p{margin-top:clamp(14px,1.7vh,20px)}
.place-map__intro>.place-map__threshold{position:absolute;z-index:3}
.place-map__frame{position:relative;width:100%;height:100svh;min-height:720px;overflow:hidden;background:var(--cream);color:var(--wine);isolation:isolate}
.place-map__interface{position:absolute;z-index:10;top:auto;bottom:clamp(32px,5vh,56px);left:var(--gutter);display:flex;flex-direction:column;width:clamp(320px,27vw,390px);height:auto;max-height:min(680px,calc(100% - 210px));min-height:0;padding:34px 30px 28px;border:1px solid rgba(247,245,239,.28);background:var(--wine);color:var(--cream);transform:translate3d(0,0,0);visibility:visible;transition:none}
.place-map__frame[data-panel-open="false"] .place-map__interface{transform:translate3d(-120%,0,0);visibility:hidden;transition:none}
.place-map__interface-top{flex:0 0 auto;padding-right:72px}
.place-map__hint{display:grid;gap:9px;margin:0;color:var(--cream);font:750 9px/1.25 FilaroSans,sans-serif;letter-spacing:.17em;text-transform:uppercase}
.place-map__hint strong{font:750 clamp(10px,.78vw,12px)/1.15 FilaroSans,sans-serif;letter-spacing:.16em}
.place-map__hint span{max-width:24em;color:rgba(247,245,239,.62);font:500 11px/1.45 FilaroSans,sans-serif;letter-spacing:.015em;text-transform:none}
.place-map__panel-toggle{position:absolute;top:25px;right:25px;display:flex;align-items:center;gap:10px;padding:7px 0;border:0;background:transparent;color:rgba(247,245,239,.66);font:700 8px/1 FilaroSans,sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:none}
.place-map__panel-toggle b{font:400 18px/1 FilaroSans,sans-serif}.place-map__panel-toggle:hover,.place-map__panel-toggle:focus-visible{color:var(--cream);outline:0}
.place-map__panel-open{position:absolute;z-index:11;top:auto;bottom:clamp(32px,5vh,56px);left:var(--gutter);display:flex;align-items:center;gap:24px;padding:15px 18px;border:1px solid rgba(247,245,239,.38);background:var(--wine);color:var(--cream);font:700 8px/1 FilaroSans,sans-serif;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;opacity:1;transform:translate3d(0,0,0);transition:none}
.place-map__panel-open b{font:400 17px/1 FilaroSans,sans-serif}.place-map__panel-open:hover,.place-map__panel-open:focus-visible{border-color:var(--cream);outline:0}.place-map__frame[data-panel-open="true"] .place-map__panel-open{pointer-events:none;opacity:0;visibility:hidden;transform:translate3d(-18px,0,0)}
.place-map__categories{flex:0 1 auto;min-height:0;display:grid;align-content:start;margin-top:28px;padding-top:8px;border-top:1px solid rgba(247,245,239,.28);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}
.place-map__categories::-webkit-scrollbar,.place-map__places::-webkit-scrollbar{display:none}
.place-map__categories>button{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:40px;padding:10px 0 9px;border:0;border-bottom:1px solid rgba(247,245,239,.18);background:transparent;color:rgba(247,245,239,.58);font:700 9px/1.2 FilaroSans,sans-serif;letter-spacing:.14em;text-align:left;text-transform:uppercase;cursor:pointer;transition:none}
.place-map__categories>button b{font:400 15px/1 FilaroSans,sans-serif}.place-map__categories>button:hover,.place-map__categories>button:focus-visible,.place-map__categories>button.is-active{color:var(--cream);outline:0}
.place-map__places{display:grid;align-content:start;min-height:0;overflow:visible;scrollbar-width:none}.place-map__places[hidden]{display:none}.place-map__categories .place-map__places{grid-column:1/-1;padding:3px 0 10px 10px;border-bottom:1px solid rgba(247,245,239,.22)}
.place-map__places button{display:block;width:100%;padding:7px;border:0;background:transparent;color:rgba(247,245,239,.68);font-size:0;line-height:1;text-align:left;text-transform:none;cursor:pointer;transition:none}
.place-map__places button strong{font:550 10px/1.35 FilaroSans,sans-serif;letter-spacing:.015em;text-transform:none}
.place-map__places button:hover,.place-map__places button:focus-visible,.place-map__places button.is-active{color:var(--cream);outline:0}.place-map__places button.is-active{box-shadow:inset 1px 0 0 var(--cream)}
.place-map__distance{flex:0 0 auto;margin-top:32px;padding-top:0;border-top:0}
.place-map__distance>button{display:flex;align-items:center;justify-content:space-between;gap:22px;width:100%;padding:0 0 10px;border:0;background:transparent;color:rgba(247,245,239,.62);font:700 8px/1 FilaroSans,sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.place-map__distance>button:hover,.place-map__distance>button:focus-visible,.place-map__distance.is-active>button{color:var(--cream);outline:0}.place-map__distance>button b{font:inherit}
.place-map__distance>p{display:flex;justify-content:space-between;gap:16px;margin:4px 0 0;color:rgba(247,245,239,.44);font:700 7px/1 FilaroSans,sans-serif;letter-spacing:.12em;text-transform:uppercase}.place-map__distance.is-active>p{color:rgba(247,245,239,.84)}
.place-map__map{position:relative;width:100%;height:100%;background:var(--cream)}
.place-map__canvas{position:absolute;inset:0;width:100%;height:100%;background:var(--cream)}
.place-map__canvas .maplibregl-ctrl-bottom-left{max-width:calc(100% - 112px)}
.place-map__canvas .maplibregl-ctrl-bottom-left .maplibregl-ctrl{margin:0 0 8px 8px}
.place-map__canvas .maplibregl-ctrl-attrib{max-width:100%;box-shadow:none;color:rgba(91,44,45,.66);font:500 7px/1.3 FilaroSans,sans-serif}
.place-map__canvas .maplibregl-ctrl-attrib a{color:inherit}
.place-map__zoom{position:absolute;z-index:6;right:30px;bottom:30px;display:grid;justify-items:stretch;border:1px solid rgba(91,44,45,.34);background:rgba(247,245,239,.94);box-shadow:0 10px 30px rgba(91,44,45,.06)}
.place-map__zoom button{display:grid;place-items:center;min-width:42px;height:40px;padding:0 10px;border:0;border-bottom:1px solid rgba(91,44,45,.22);background:transparent;color:var(--wine);font:500 16px/1 FilaroSans,sans-serif;cursor:pointer}.place-map__zoom button:last-child{min-width:64px;border-bottom:0;font-size:7px;letter-spacing:.14em;text-transform:uppercase}.place-map__zoom button:hover,.place-map__zoom button:focus-visible{background:var(--wine);color:var(--cream);outline:0}
.place-map__status,.place-map__fallback{position:absolute;z-index:8;right:var(--gutter);bottom:22px;margin:0;padding:9px 11px;background:var(--wine);color:var(--cream);font:700 7px/1.3 FilaroSans,sans-serif;letter-spacing:.14em;text-transform:uppercase}.place-map__status[hidden]{display:none}
.place-map__site{position:absolute;display:grid;justify-items:center;gap:8px;width:max-content;max-width:150px;margin:0;padding:0;border:0;background:transparent;color:var(--wine);cursor:pointer;text-align:center}.place-map__site i{display:block;width:15px;height:15px;border:2px solid var(--cream);border-radius:50%;outline:1px solid rgba(91,44,45,.3);outline-offset:5px;background:var(--wine);transition:outline-offset .34s var(--ease),outline-color .34s var(--ease)}.place-map__site strong{padding:5px 8px 6px;background:var(--cream);color:var(--wine);font:700 8px/1 FilaroSans,sans-serif;letter-spacing:.14em;text-transform:uppercase;transition:background-color .28s var(--ease),color .28s var(--ease)}.place-map__site:hover i,.place-map__site:focus-visible i{outline-color:var(--wine);outline-offset:8px}.place-map__site:hover strong,.place-map__site:focus-visible strong{background:var(--wine);color:var(--cream)}.place-map__site:focus-visible{outline:0}
.place-map__selection,.place-map__hover-label{position:absolute;width:max-content;max-width:220px;padding:8px 10px;border:1px solid var(--wine);background:var(--cream);color:var(--wine);font:700 8px/1.25 FilaroSans,sans-serif;letter-spacing:.12em;text-align:center;text-transform:uppercase;pointer-events:none}.place-map__selection{opacity:0;transform:translateY(8px);transition:opacity .35s var(--ease),transform .45s var(--ease)}.place-map__selection.is-visible{opacity:1;transform:translateY(0)}.place-map__hover-label{padding:6px 8px;font-size:7px}
.place-map__ring-label{display:block;padding:5px 7px;background:var(--wine);color:var(--cream);font:700 7px/1 FilaroSans,sans-serif;letter-spacing:.1em;text-transform:uppercase;pointer-events:none}
.place-map__canvas .maplibregl-ctrl-attrib{background:rgba(247,245,239,.88);color:rgba(91,44,45,.58);font:500 9px/1.3 FilaroSans,sans-serif}.place-map__canvas .maplibregl-ctrl-attrib a{color:inherit}.place-map__canvas .maplibregl-ctrl-attrib-button{filter:none}
.place-map__canvas .maplibregl-cooperative-gesture-screen{background:rgba(91,44,45,.88);color:var(--cream);font:600 12px/1.4 FilaroSans,sans-serif;letter-spacing:.03em}
.construction-film{background:var(--wine);color:var(--cream);display:grid;grid-template-columns:1.35fr .65fr;gap:7vw;align-items:center}
.construction-film video{height:min(72vh,760px);object-fit:cover}
.construction-film .display{font-size:clamp(50px,5.8vw,88px)}
.construction-film .lede{margin-top:34px}
.architecture-sequence{background:var(--cream);color:var(--wine);display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line)}
.sequence-item{min-height:360px;padding:48px 7vw 48px 0;border-bottom:1px solid var(--line)}
.sequence-item:nth-child(odd){border-right:1px solid var(--line)}
.sequence-item:nth-child(even){padding-left:7vw}
.sequence-item span,.material-grid figcaption{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.sequence-item h2{font:400 clamp(38px,4.2vw,64px)/.92 FilaroDisplay,serif;text-transform:uppercase;margin:68px 0 18px}
.sequence-item p{max-width:430px;margin:0}
.material-chapter{background:var(--cream);color:var(--wine)}
.material-chapter__head{display:grid;grid-template-columns:.55fr 1fr;gap:7vw;align-items:end;margin-bottom:76px}
.material-chapter__head .eyebrow{align-self:start}
.material-chapter__head .lede{grid-column:2;margin-top:30px}
.material-chapter__head .display{font-size:clamp(52px,6.2vw,94px)}
.material-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:28px;align-items:start}
.material-grid figure{margin:0}.material-grid figure:nth-child(1){grid-column:1/span 7}.material-grid figure:nth-child(2){grid-column:9/span 4;margin-top:16vh}.material-grid figure:nth-child(3){grid-column:3/span 7;margin-top:6vh}
.material-grid img{max-height:74vh;object-fit:cover}
.material-grid figcaption{display:grid;gap:5px;margin-top:12px}.material-grid figcaption span{font-weight:500;letter-spacing:.08em;text-transform:none}
.plans-page .page-intro{padding-left:clamp(64px,10vw,180px);padding-right:clamp(64px,10vw,180px)}
.plans-page .page-intro .display{font-size:clamp(54px,5.9vw,92px);max-width:900px}
.plans-page .plans{padding-left:clamp(64px,10vw,180px);padding-right:clamp(64px,10vw,180px)}
.plan-summary{min-height:62px;font-size:11px;line-height:1.5;letter-spacing:.035em;text-transform:none;font-weight:550;margin:0 0 24px}
.plan-principles{background:var(--wine);color:var(--cream);display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.plan-principles article{padding:40px;border-top:1px solid rgba(247,245,239,.35);border-bottom:1px solid rgba(247,245,239,.35)}
.plan-principles article+article{border-left:1px solid rgba(247,245,239,.35)}
.plan-principles span{font-size:8px;letter-spacing:.18em}.plan-principles h2{font:400 clamp(34px,3.4vw,50px)/.95 FilaroDisplay,serif;text-transform:uppercase;margin:70px 0 20px}.plan-principles p{max-width:320px;margin:0}
.film-room-hero{position:relative;height:100svh;min-height:700px;background:var(--wine);color:var(--cream);overflow:hidden}
.film-room-hero>img{position:absolute;inset:0;height:100%;object-fit:cover;filter:brightness(.52)}
.film-room-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,12,14,.5),transparent 60%)}
.film-room-hero__copy{position:absolute;z-index:2;left:var(--gutter);right:var(--gutter);bottom:9vh;display:grid;grid-template-columns:1fr auto;align-items:end}
.film-room-hero__copy .eyebrow{grid-column:1/-1}.film-room-hero__copy .display{font-size:var(--type-display-page);max-width:900px}
.film-room-hero__action{position:relative;left:auto;bottom:auto;transform:none}
.film-feature{background:var(--wine);color:var(--cream)}
.film-feature--cream{background:var(--cream);color:var(--wine)}
.film-feature__head{display:grid;grid-template-columns:.5fr 1.1fr;gap:8vw;align-items:end;margin-bottom:70px}
.film-feature__head .display{font-size:var(--type-display-chapter)}
.film-feature__head .lede{grid-column:2;margin-top:26px}
.film-feature__media{max-width:1280px;margin-left:auto}.film-feature video{max-height:82vh;object-fit:contain;background:#1b1b1c}
.conversation-quote{background:var(--cream);color:var(--wine)}
.conversation-quote blockquote{font:400 clamp(48px,6.2vw,94px)/.94 FilaroDisplay,serif;text-transform:uppercase;letter-spacing:-.035em;max-width:1200px;margin:50px 0 70px}
.note-page{min-height:100svh;padding:190px var(--gutter) 140px;background:var(--cream);color:var(--wine);display:grid;grid-template-columns:.72fr 1.25fr .25fr;gap:6vw;align-items:start}
.note-page__head{position:sticky;top:150px}.note-page__head .display{font-size:clamp(62px,7.2vw,108px)}
.developer-letter{padding-top:104px;max-width:720px;font:400 clamp(21px,1.8vw,29px)/1.45 FilaroDisplay,serif}
.developer-letter p{margin:0 0 1.3em}.developer-letter .dropcap:first-letter{float:left;font-size:4.8em;line-height:.76;margin:.08em .1em 0 0}
.developer-letter footer{margin-top:80px;padding-top:30px;border-top:1px solid var(--line);display:grid;gap:10px;font:700 10px/1.3 FilaroSans,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.developer-letter footer small{margin-top:15px;font-size:8px}.note-page__mark{position:sticky;top:160px}.note-page__mark img{opacity:.55}
.team-row{text-decoration:none}.team-row:hover,.team-row:focus-visible{padding-left:14px}.team-row{transition:padding .35s var(--ease)}
.team-image{position:relative;background:var(--wine);color:var(--cream)}.team-image img{height:90svh;object-fit:cover}.team-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(28,12,13,.38))}.team-image p{position:absolute;z-index:1;left:var(--gutter);bottom:36px;font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.contact-paths{display:grid;gap:26px;margin-top:55px}.contact-paths article{border-top:1px solid rgba(247,245,239,.35);padding-top:16px}.contact-paths span{font-size:8px;font-weight:750;letter-spacing:.17em;text-transform:uppercase}.contact-paths p{font:400 23px/1 FilaroDisplay,serif;text-transform:uppercase;margin:15px 0 9px}.contact-paths a{font-size:12px}.contact-address{margin-top:46px;font-size:12px}
.field select{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:inherit;padding:12px 0}.field select:focus{outline:2px solid transparent;border-color:var(--wine)}
.legal-page{min-height:100svh;padding:180px var(--gutter) 120px;background:var(--cream);color:var(--wine);display:grid;grid-template-columns:.55fr 1fr;gap:10vw}
.legal-page header{position:sticky;top:150px;align-self:start}.legal-page header .display{font-size:clamp(54px,6vw,90px)}.legal-page header>p:last-child{font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-top:35px}
.legal-page article{max-width:760px;padding-top:45px}.legal-page article h2{font:400 clamp(28px,2.6vw,40px)/1 FilaroDisplay,serif;text-transform:uppercase;margin:62px 0 20px}.legal-page article h2:first-child{margin-top:0}.legal-page article p{font-size:16px;line-height:1.65}.legal-page article nav{display:flex;flex-wrap:wrap;gap:30px;margin-top:70px;padding-top:24px;border-top:1px solid var(--line)}
.page-intro--image>img,.film-room-hero>img{animation:cinematic-settle 2.2s cubic-bezier(.2,.7,.2,1) both;transform-origin:center center}
@keyframes cinematic-settle{from{transform:scale(1.035)}to{transform:scale(1)}}

@media(max-width:900px){
  .place-map,.place-map+.closing{--place-plate-left:112px;--place-plate-right:32px}
  .menu-panel{padding-top:110px}.menu-panel a{padding:8px 0}.menu-panel span{font-size:clamp(25px,8vw,42px)}
  .status-chapter,.authored-rooms__head,.material-chapter__head,.film-feature__head,.note-page,.legal-page{grid-template-columns:1fr;gap:34px}
  .status-chapter__meta,.note-page__head,.note-page__mark,.legal-page header{position:static}.status-chapter__body .lede{margin-left:0}
  .status-chapter__film-run{margin-top:30px;height:132svh}.status-chapter__film{--film-scale:.88}
  .place-map{padding:0}.place-map__intro{min-height:100svh}.place-map__frame{min-height:620px}.place-map__interface{top:auto;bottom:32px;left:var(--gutter);width:min(360px,44vw);height:auto;max-height:min(620px,calc(100% - 168px))}.place-map__panel-open{top:auto;bottom:32px;left:var(--gutter)}

  .place-tease__copy{width:100%}
  .room-grid{grid-template-columns:1fr;grid-template-rows:auto}.room-card:first-child{grid-row:auto}.room-card{min-height:70svh}.room-card--wine,.room-card--cream{min-height:42svh}
  .construction-film{grid-template-columns:1fr}.construction-film__copy{order:-1}.construction-film video{height:58vh}
  .architecture-sequence{grid-template-columns:1fr}.sequence-item:nth-child(n){border-right:0;padding:42px 0}.sequence-item h2{margin-top:48px}
  .material-chapter__head .lede,.film-feature__head .lede{grid-column:auto}.material-grid{display:grid;grid-template-columns:1fr 1fr}.material-grid figure:nth-child(n){grid-column:auto;margin:0}.material-grid figure:last-child{grid-column:1/-1}.material-grid img{height:auto;aspect-ratio:4/5}
  .plans-page .page-intro,.plans-page .plans{padding-left:24px;padding-right:24px}.plans-page .page-intro .display{font-size:clamp(48px,12vw,78px)}
  .plan-principles{grid-template-columns:1fr}.plan-principles article+article{border-left:0;border-top:0}
  .film-room-hero__copy{grid-template-columns:1fr;gap:38px}.film-room-hero__action{width:138px;height:138px}.film-feature__media{margin:0}
  .note-page{padding:150px 24px 100px}.developer-letter{padding-top:20px}.note-page__mark{display:none}
  .team-row strong{font-size:clamp(24px,7vw,38px)}.team-image img{height:68svh}
  .legal-page{padding:150px 24px 100px}.legal-page article{padding-top:0}
}
@media(max-width:760px){
  .place-map,.place-map+.closing{--place-plate-left:24px;--place-plate-right:24px}
  .place-map__intro{min-height:100svh;padding-top:130px;padding-bottom:190px}.place-map__intro .display{font-size:clamp(46px,13vw,58px)}.place-map__intro-copy{margin-top:34px}.place-map__intro-copy p{font-size:16px;line-height:1.22}
  .place-map+.closing{
    min-height:100svh;
    padding-top:142px;
    padding-bottom:72px;
    scroll-margin-top:0;
    scroll-snap-align:start
  }
  .place-map+.closing .place-next__statement{font-size:clamp(38px,10.5vw,41px);line-height:.98}
  .place-map+.closing .closing__action{margin-top:56px}
  .place-map__frame{height:100svh;min-height:620px}.place-map__interface{top:auto;right:12px;bottom:12px;left:12px;width:auto;height:auto;max-height:min(66svh,620px);padding:54px 24px 22px;border:1px solid rgba(247,245,239,.3);transform:translate3d(0,0,0)}
  .place-map__frame[data-panel-open="false"] .place-map__interface{transform:translate3d(0,calc(100% + 20px),0)}
  .place-map__interface-top{padding-right:56px}.place-map__panel-toggle{top:17px;right:20px}.place-map__hint{font-size:8px}
  .place-map__panel-open{top:auto;bottom:48px;left:var(--gutter);padding:14px 16px;border-left:1px solid rgba(247,245,239,.38)}
  .place-map__categories{display:block;margin-top:21px;padding-top:6px}.place-map__categories>button{min-height:39px;padding:9px 8px 8px 0;font-size:8px}.place-map__categories .place-map__places{padding-left:8px}
  .place-map__places button{padding:8px 6px}.place-map__places button strong{font-size:11px}.place-map__distance{margin-top:26px;padding-top:0}
  .place-map__zoom{right:16px;bottom:20px}.place-map__zoom button{min-width:38px;height:38px}.place-map__zoom button:last-child{min-width:58px}
}
@media(prefers-reduced-motion:reduce){.place-map__interface,.place-map__panel-open{transition:none}}
@media(max-width:560px){.material-grid{grid-template-columns:1fr}.material-grid figure:last-child{grid-column:auto}.film-room-hero__copy .display{font-size:13vw}.room-card h3{font-size:13vw}.site-footer nav{gap:16px}}
@media(prefers-reduced-motion:reduce){.status-chapter__film-run{height:auto;margin-bottom:0}.status-chapter__film{position:relative;height:68svh;--film-scale:1;--film-caption:1}.status-chapter__film-frame,.status-chapter__film figcaption{will-change:auto}}
@media(prefers-reduced-motion:reduce){.page-intro--image>img,.film-room-hero>img{animation:none}}

/* Gallery chapter: vertical page travel opens into one continuous horizontal sequence. */
.gallery{background:var(--cream);color:var(--wine);overflow:clip}
.gallery__head{align-items:start;margin:0;min-height:70svh;align-content:center;padding-bottom:clamp(80px,12vh,130px)}
.gallery__run{position:relative;height:100svh}
.gallery__stage{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;align-items:center;background:var(--cream)}
.gallery__track{display:flex;align-items:center;gap:clamp(8px,.8vw,12px);width:max-content;height:100%;padding:0 5vw;transform:translate3d(0,0,0);will-change:transform}
.gallery__panel{position:relative;isolation:isolate;flex:0 0 90vw;width:90vw;height:86svh;overflow:hidden;border:0;background:var(--wine);margin:0;padding:0;color:var(--cream);text-align:left;clip-path:inset(0 0 0 var(--peel-left,0%));will-change:clip-path;cursor:zoom-in}
.gallery__panel:focus-visible{outline:1px solid var(--cream);outline-offset:-5px}
.gallery__panel:after{content:"";position:absolute;z-index:1;inset:auto 0 0;height:24%;background:linear-gradient(180deg,transparent,rgba(22,12,12,.32));pointer-events:none}
.gallery__panel img,.gallery__panel:nth-child(n) img{width:100%;max-width:none;height:100%;max-height:none;object-fit:cover;background:var(--wine)}
.gallery__panel--portrait img{object-fit:contain}
.gallery__panel span{position:absolute;z-index:2;left:var(--gutter);right:var(--gutter);bottom:54px;display:flex;justify-content:space-between;gap:30px;margin:0;padding-top:11px;border-top:1px solid rgba(247,245,239,.7);font-size:8px;font-weight:750;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 12px rgba(0,0,0,.42)}
.gallery__panel span b{font:inherit}
.gallery__cue{position:absolute;z-index:4;left:calc(5vw + var(--gutter));right:var(--gutter);bottom:calc(7svh + 18px);display:flex;align-items:center;gap:18px;color:var(--cream);font-size:8px;font-weight:750;letter-spacing:.17em;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.55);pointer-events:none;transition:opacity .45s var(--ease)}
.gallery__run.is-complete .gallery__cue{opacity:0}
.gallery__cue i{position:relative;display:block;width:clamp(110px,12vw,180px);height:1px;overflow:hidden;background:rgba(247,245,239,.34)}
.gallery__cue i:before,.gallery__cue i:after{content:"";position:absolute;inset:0;background:currentColor;transform-origin:left center}
.gallery__cue i:before{width:30%;animation:gallery-cue 2.6s var(--ease) infinite}
.gallery__cue i:after{transform:scaleX(var(--gallery-progress,0))}
@keyframes gallery-cue{0%{transform:translateX(-110%);opacity:0}18%{opacity:1}78%{opacity:1}100%{transform:translateX(440%);opacity:0}}
.overlay__bottom{display:grid;grid-template-columns:1fr auto 1fr}
.overlay__bottom button{padding:0;font-size:8px;font-weight:700;letter-spacing:.16em}
.overlay__bottom button:first-child{justify-self:start}.overlay__bottom button:last-child{justify-self:end}
.gallery-active .site-chrome{color:var(--wine);text-shadow:none}
.gallery-active.gallery-chrome-over-media .site-chrome{color:var(--cream);text-shadow:0 1px 12px rgba(0,0,0,.5)}
.overlay{display:grid;padding:0;visibility:hidden;pointer-events:none;clip-path:polygon(100% 0,100% 0,100% 0,100% 0);transition:clip-path .78s cubic-bezier(.76,0,.24,1),visibility 0s linear .78s}
.overlay.open{visibility:visible;pointer-events:auto;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transition:clip-path .78s cubic-bezier(.76,0,.24,1),visibility 0s}
.overlay:not(.plan):before{content:"";position:absolute;z-index:3;inset:0;background:linear-gradient(180deg,rgba(20,8,10,.28),transparent 18%,transparent 78%,rgba(20,8,10,.34));pointer-events:none}
.overlay__top,.overlay__bottom{position:absolute;z-index:4;left:0;right:0;padding:22px var(--gutter);color:var(--cream);text-shadow:0 1px 12px rgba(0,0,0,.6);pointer-events:none}
.overlay__top{top:0}.overlay__bottom{bottom:0}
.overlay__top button,.overlay__bottom button{pointer-events:auto;color:inherit;text-shadow:inherit}
.overlay button:focus-visible{outline:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.overlay__stage{position:absolute;inset:0;display:grid;padding:0;overflow:hidden;cursor:e-resize}
.overlay__stage>img{grid-area:1/1;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}
.overlay__peel{visibility:hidden;position:relative;z-index:2;filter:drop-shadow(-18px 4px 18px rgba(20,8,10,.32))}
.overlay__stage.is-peeling .overlay__peel{visibility:visible;animation:gallery-page-peel .78s cubic-bezier(.76,0,.24,1) both}
@keyframes gallery-page-peel{0%{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)}45%{clip-path:polygon(58% 0,100% 0,100% 100%,76% 100%)}100%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}

/* Global Filaro footer — one quiet, authored closing frame. */
.site-footer.site-footer--structured{display:block;background:var(--wine);color:var(--cream);padding:clamp(58px,7vh,82px) var(--gutter) 32px}
.site-footer__main{display:grid;grid-template-columns:minmax(220px,1.05fr) minmax(360px,1.35fr) minmax(240px,.9fr);gap:clamp(46px,7vw,126px);padding-bottom:clamp(78px,10vh,116px)}
.site-footer__brand address{margin:0;font:500 11px/1.55 FilaroSans,sans-serif;letter-spacing:.025em;text-transform:none;font-style:normal}
.site-footer__brand .site-footer__name{display:block;width:max-content;margin:0 0 20px;font:400 clamp(42px,4.2vw,64px)/.84 FilaroDisplay,serif;letter-spacing:-.04em;text-transform:uppercase}
.site-footer h2{margin:0 0 18px;font:750 8px/1 FilaroSans,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.site-footer__index{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(170px,1.2fr);gap:clamp(32px,4vw,64px);align-content:start}
.site-footer__index-secondary{display:grid;align-content:start;gap:34px}
.site-footer .site-footer__group{display:grid;justify-content:stretch;align-content:start;gap:8px;font:500 11px/1.35 FilaroSans,sans-serif;letter-spacing:.025em;text-transform:none}
.site-footer__group h2{margin-bottom:10px}
.site-footer__group a{width:max-content;transition:opacity .3s var(--ease)}
.site-footer__group a:hover,.site-footer__group a:focus-visible{opacity:.58}
.site-footer .site-footer__visit{display:grid;align-content:start;gap:16px}
.site-footer__cta{display:flex;width:min(310px,100%);justify-content:space-between;align-items:center;padding:0 0 12px;border-bottom:1px solid rgba(247,245,239,.44);font-size:9px;font-weight:750;letter-spacing:.17em;text-transform:uppercase;transition:opacity .3s var(--ease)}
.site-footer__cta b{font:400 22px/1 FilaroDisplay,serif;transition:transform .3s var(--ease)}
.site-footer__cta:hover,.site-footer__cta:focus-visible{opacity:.72}
.site-footer__cta:hover b,.site-footer__cta:focus-visible b{transform:translate(4px,-4px)}
.site-footer__bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-top:0}
.site-footer__bottom:before{display:none}
.site-footer .site-footer__bottom nav{display:flex;justify-content:flex-end;gap:clamp(22px,3vw,46px);font-size:8px;font-weight:750;letter-spacing:.13em;text-transform:uppercase}
.site-footer__bottom nav a{transition:opacity .3s var(--ease)}
.site-footer__bottom nav a:hover,.site-footer__bottom nav a:focus-visible{opacity:.58}
.site-footer__bottom>p{margin:0;font:500 8px/1.45 FilaroSans,sans-serif;letter-spacing:.055em;text-transform:none;text-align:left}

@media(max-width:900px){
  .gallery__head{min-height:58svh;padding-bottom:70px}
  .gallery__run{height:auto}
  .gallery__stage{position:relative;height:auto;overflow:visible;display:block;padding-bottom:84px}
  .gallery__track{width:auto;height:auto;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;display:flex;align-items:center;gap:8px;padding:8svh 6vw;transform:none!important;will-change:auto;scrollbar-width:none}
  .gallery__track::-webkit-scrollbar{display:none}
  .gallery__panel,.gallery__panel--interior,.gallery__panel--portrait{flex:0 0 88vw;width:88vw;height:84svh;scroll-snap-align:center;transform:none!important}
  .gallery__panel img,.gallery__panel:nth-child(n) img,.gallery__panel--interior img{width:100%;max-width:none;height:100%;max-height:none;object-fit:cover}.gallery__panel--portrait img{object-fit:contain}
  .gallery__panel span{left:24px;right:24px;bottom:28px}
  .gallery__cue{left:calc(6vw + 24px);right:24px;bottom:calc(8svh + 20px)}
  .site-footer__main{grid-template-columns:minmax(190px,.8fr) minmax(360px,1.4fr);gap:54px 42px;padding-bottom:72px}
  .site-footer__brand{grid-column:1;grid-row:1}.site-footer__index{grid-column:2;grid-row:1 / span 2}.site-footer__visit{grid-column:1;grid-row:2}
  .site-footer__bottom>p{max-width:520px}
}
@media(max-width:560px){
  .gallery__panel,.gallery__panel--interior,.gallery__panel--portrait{width:88vw}
  .site-footer__main{grid-template-columns:1fr;gap:50px;padding-bottom:70px}.site-footer__brand,.site-footer__index,.site-footer__visit{grid-column:auto;grid-row:auto}.site-footer__index{grid-template-columns:1fr 1.15fr;gap:28px}
  .site-footer__bottom{align-items:flex-start;flex-direction:column;gap:24px}.site-footer .site-footer__bottom nav{justify-content:flex-start;flex-wrap:wrap;gap:14px 24px}.site-footer .site-footer__bottom nav span{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .gallery__run{height:auto!important}.gallery__stage{position:relative;height:auto;overflow:visible;padding-bottom:84px}.gallery__track{width:auto;overflow-x:auto;padding:0;transform:none!important;will-change:auto;scroll-snap-type:x mandatory}.gallery__panel{scroll-snap-align:start;clip-path:none;filter:none;will-change:auto}.gallery__cue i{animation:none;transform:scaleX(1)}.overlay,.overlay.open{clip-path:none;transition:none}.overlay__stage.is-peeling .overlay__peel{animation:none}
}

/* Homepage display recalibration: preserve the fine utility layer and reduce
   the large editorial tiers as one coherent hierarchy. */
.home-page{
  background:var(--wine);
  --home-display-hero:clamp(72px,9.2vw,144px);
  --home-display-hero-sub:clamp(41px,4.8vw,74px);
  --home-display-proposition:clamp(17px,2.05vw,31px);
  --home-display-status:clamp(48px,5.8vw,88px);
  --home-display-place:clamp(45px,5.45vw,82px);
  --home-display-architecture:clamp(45px,5.6vw,88px);
  --home-display-chapter:clamp(41px,4.85vw,75px);
  --home-display-floorplans:clamp(46px,5.9vw,92px);
  --home-display-voices:clamp(45px,5.5vw,83px);
  --home-display-card:clamp(36px,4.25vw,64px);
  --home-display-close:var(--type-display-close);
  --home-lede:clamp(19px,1.85vw,29px)
}
.home-page .hero-heading h1{font-size:var(--home-display-hero);color:var(--cream)}
.home-page .hero-heading p{font-size:var(--home-display-hero-sub)}
.home-page .hero-proposition>span{font-size:var(--home-display-proposition)}
.home-page .status-chapter__body .display{font-size:var(--home-display-status)}
.home-page .place-tease .display{font-size:var(--home-display-place)}
.home-page .place-tease .lede{max-width:680px}
.home-page .place-tease .lede p{margin:0}
.home-page .place-tease .lede p+p{margin-top:clamp(12px,1.5vh,18px)}
.home-page .elevation__head .display{font-size:var(--home-display-architecture)}
.home-page .feature-pair .display,.home-page .interiors-chapter__head .display{font-size:var(--home-display-chapter)}
.home-page .residence-preview__head .display{font-size:var(--home-display-floorplans)}
.home-page .type-list{width:60.5%;margin-left:auto}
.home-page .type-list a{grid-template-columns:1fr auto;padding:22px 0;transition:none}
.home-page .type-list a:hover,.home-page .type-list a:focus-visible{padding-left:0}
.home-page .type-list strong{font-size:clamp(20px,1.7vw,26px);line-height:1.1}
.home-page .type-list .cta-roll__track,
.home-page .type-list .cta-roll__track>span{font:inherit}
.home-page .type-list>a>.cta-roll__arrow{font-size:14px}
.home-page .authored-rooms__head .display{font-size:var(--home-display-voices)}
.home-page .room-card h3{font-size:var(--home-display-card)}
.home-page .closing .display{font-size:var(--home-display-close)}
.home-page .lede{font-size:var(--home-lede);line-height:1.12}
.home-page .status-chapter__meta{position:static}
.home-page .reveal{
  opacity:var(--flow-opacity,0);
  transform:translate3d(0,var(--flow-y,28px),0);
  transition:none;
  will-change:transform,opacity
}
.home-page .flow-composition:not(.flow-composition--card){
  opacity:1;
  transform:none;
  will-change:auto
}
.home-page [data-flow-role]{
  opacity:calc(var(--flow-part,0) * var(--flow-exit,1));
  transition:none;
  will-change:transform,opacity
}
.home-page [data-flow-role="label"]{
  transform:translate3d(0,calc((1 - var(--flow-part,0)) * 9px),0)
}
.home-page [data-flow-role="support"]{
  transform:translate3d(0,calc((1 - var(--flow-part,0)) * 14px),0)
}
.home-page [data-flow-role="action"]{
  transform:translate3d(0,calc((1 - var(--flow-part,0)) * 8px),0)
}
.home-page [data-flow-role="headline"]{
  transform:none
}
.home-page .flow-line{
  display:block;
  overflow:hidden;
  padding-bottom:.045em;
  margin-bottom:-.045em
}
.home-page .flow-line__inner{
  display:block;
  transform:translate3d(0,calc((1 - var(--flow-line-part,0)) * 108%),0);
  will-change:transform
}

@media(max-width:900px){
  .home-page .hero-heading h1{font-size:13.6vw}
  .home-page .hero-heading p{font-size:8.9vw}
  .home-page .hero-proposition>span{font-size:5.1vw}
  .home-page .type-list{width:100%;margin-left:0}
}
@media(prefers-reduced-motion:reduce){
  .home-page .reveal{opacity:1;transform:none;transition:none;will-change:auto}
  .home-page [data-flow-role]{opacity:1;transform:none;will-change:auto}
  .home-page .flow-line__inner{transform:none;will-change:auto}
  .home-page .room-card:hover .flow-line__inner,.home-page .room-card:focus-visible .flow-line__inner{transform:none;transition:none}
}

/* Residences destination: extend the homepage hierarchy and give each verified
   plan enough space to be read as an individual home. */
.plans-page .page-intro{
  min-height:100svh;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  gap:clamp(70px,9vw,140px);
  padding-left:var(--gutter);
  padding-right:var(--gutter)
}
.plans-page .page-intro .display{
  max-width:1000px;
  font-size:var(--type-display-opening)
}
.plans-page .page-intro--title-only{grid-template-columns:1fr}
.plans-page .page-intro__copy{
  grid-template-columns:1fr;
  gap:34px;
  margin-top:0;
  align-self:end;
  padding-bottom:6px
}
.plans-page .page-intro__copy .lede{font-size:clamp(20px,1.75vw,27px)}
.plans-page .page-intro__copy>p:last-child{max-width:390px;margin:0;font-size:13px;line-height:1.55}
.plans-page .plans{
  padding:0 var(--gutter) clamp(110px,15vh,170px)
}
.plans-page .collection-overview{
  background:var(--cream);
  color:var(--wine);
  padding:0 var(--gutter) clamp(110px,15vh,170px)
}
.plans-page .collection-overview__layout{
  display:grid;
  grid-template-columns:minmax(0,1.38fr) minmax(260px,.62fr);
  gap:clamp(46px,7vw,112px);
  align-items:center;
  border-top:1px solid var(--line);
  padding-top:clamp(46px,7vw,92px)
}
.plans-page .collection-overview__plan{
  width:100%;
  border:0;
  background:none;
  color:inherit;
  padding:0;
  text-align:left;
  cursor:zoom-in;
  outline-offset:10px
}
.plans-page .collection-overview__levels{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(8px,1.2vw,16px);
  padding:clamp(18px,2.4vw,34px) 0
}
.plans-page .collection-overview__levels img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  background:transparent
}
.plans-page .collection-overview__caption{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:12px 0 0;
  border-top:0;
  font-size:8px;
  font-weight:750;
  letter-spacing:.16em;
  text-transform:uppercase
}
.plans-page .collection-overview__copy{align-self:center;text-align:left}
.plans-page .collection-overview__copy small{
  display:block;
  margin-bottom:24px;
  font-size:8px;
  font-weight:750;
  letter-spacing:.18em;
  text-transform:uppercase
}
.plans-page .collection-overview__copy h2{
  margin:0 0 28px;
  font:400 clamp(34px,3.8vw,56px)/1 FilaroDisplay,serif;
  letter-spacing:-.02em;
  text-transform:uppercase
}
.plans-page .plan-levels{
  max-width:390px;
  margin:30px 0 0;
  font-size:8px;
  font-weight:750;
  letter-spacing:.16em;
  text-transform:uppercase
}
.plans-page .plan-index{
  display:block;
  border-top:0;
  padding-top:0
}
.plans-page .plan-card{
  padding:clamp(46px,7vw,92px) 0;
  border-top:1px solid var(--line);
  border-bottom:0
}
.plans-page .plan-card__layout{
  display:grid;
  grid-template-columns:minmax(0,1.38fr) minmax(260px,.62fr);
  gap:clamp(46px,7vw,112px);
  align-items:center
}
.plans-page .plan-card__media{
  display:block;
  min-width:0;
  outline-offset:10px
}
.plans-page #type-1 .plan-card__media{
  width:75%;
  justify-self:center
}
.plans-page .plan-card img{
  width:100%;
  height:min(72vh,700px);
  object-fit:contain;
  background:transparent;
  padding:clamp(18px,2.4vw,34px) 0
}
.plans-page .plan-card__copy{
  align-self:center;
  text-align:left
}
.plans-page .plan-card small{
  display:block;
  margin-bottom:24px;
  font-size:8px;
  font-weight:750;
  letter-spacing:.18em;
  text-transform:uppercase
}
.plans-page .plan-card h2{
  margin:0 0 16px;
  font-size:clamp(34px,3.8vw,56px)
}
.plans-page .plan-card h3{
  margin:0 0 10px;
  font:400 clamp(19px,1.75vw,27px)/1 FilaroDisplay,serif;
  letter-spacing:-.02em;
  text-transform:uppercase
}
.plans-page .plan-qualifier{
  max-width:390px;
  margin:0 0 28px;
  font:400 clamp(17px,1.45vw,21px)/1.15 FilaroDisplay,serif;
  letter-spacing:-.01em;
  font-style:normal
}
.plans-page .plan-qualifier em{font-style:normal}
.plans-page .plan-description{
  max-width:390px;
  margin:0 0 22px;
  font-size:14px;
  line-height:1.55
}
.plans-page .plan-features{
  max-width:390px;
  margin:0;
  font-size:11px;
  line-height:1.55
}
.plans-page .plan-features strong{font:inherit;font-weight:680}
.plans-page .plan-summary{
  min-height:0;
  max-width:390px;
  margin:0;
  font-size:13px;
  line-height:1.55;
  font-weight:500
}
.plans-page .plan-card .open{
  margin-top:14px;
  padding:0;
  border-top:0;
  transition:padding .35s var(--ease)
}
.plans-page .plan-card__media:hover .open,.plans-page .plan-card__media:focus-visible .open{padding-left:12px}
.plans-page .plan-card__action{
  display:inline-flex;
  width:min(100%,290px)!important;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-top:20px;
  padding:13px 0 8px!important;
  border:0;
  border-top:1px solid var(--line);
  background:none;
  color:inherit;
  font-size:8px;
  font-weight:750;
  letter-spacing:.16em;
  text-transform:uppercase;
  cursor:zoom-in;
  transition:border-color .25s var(--ease)
}
.plans-page .plan-card__action:hover,.plans-page .plan-card__action:focus-visible{border-color:currentColor}
.plans-page .plan-card__action b{
  font:inherit;
  transition:transform .3s var(--ease)
}
.plans-page .plan-card__action:hover b,.plans-page .plan-card__action:focus-visible b{transform:translate(3px,-3px)}
.plans-page .plan-specs{
  width:min(100%,290px);
  margin-top:38px;
  border-collapse:collapse;
  font-size:11px;
  line-height:1.35
}
.plans-page .plan-specs tr{border:0}
.plans-page .plan-specs th,
.plans-page .plan-specs td{padding:12px 0}
.plans-page .plan-specs th{
  font-weight:550;
  text-align:left
}
.plans-page .plan-specs td{
  font-weight:650;
  text-align:right;
  white-space:nowrap
}
.plans-page .plan-specs tr:last-child th,
.plans-page .plan-specs tr:last-child td{font-weight:750}
.plans-page .plans>.disclaimer{display:none}
.plans-page .plan-principles{
  padding-top:clamp(110px,15vh,160px);
  padding-bottom:clamp(110px,15vh,160px);
  gap:clamp(42px,7vw,110px)
}
.plans-page .plan-principles article{
  padding:0;
  border:0
}
.plans-page .plan-principles article+article{border:0}
.plans-page .plan-principles h2{
  margin:0 0 24px;
  font-size:clamp(27px,2.8vw,42px)
}
.plans-page .plan-principles p{font-size:14px;line-height:1.55}
.plans-page .closing .display{font-size:var(--type-display-close)}
.plans-page .overlay.plan{
  background:#fff;
  color:#1b1b1c
}
.plans-page .overlay.plan .overlay__top,
.plans-page .overlay.plan .overlay__bottom{
  color:#1b1b1c;
  text-shadow:none
}
.plans-page .overlay.plan .overlay__stage{
  place-items:center;
  overflow:hidden;
  padding:24px;
  cursor:grab;
  touch-action:none
}
.plans-page .overlay.plan .overlay__stage.is-dragging{cursor:grabbing}
.plans-page .overlay.plan .overlay__stage img{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:calc(100svh - 142px);
  object-fit:contain;
  background:#fff;
  pointer-events:none;
  user-select:none;
  transform-origin:center center;
  transition:transform .18s var(--ease);
  will-change:transform
}
.plans-page .overlay.plan .overlay__stage.is-dragging img{transition:none}
.plans-page .plan-explorer__selector,.plans-page .plan-panel{scroll-margin-top:118px}
.plans-page .plan-controls{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  pointer-events:auto
}
.plans-page .overlay.plan .overlay__bottom>span:first-child{justify-self:start}
.plans-page .overlay.plan .overlay__bottom>span:last-child{justify-self:end}
.plans-page .plan-controls button{
  min-width:34px;
  height:30px;
  padding:0 9px;
  border:1px solid rgba(27,27,28,.35);
  color:#1b1b1c;
  text-shadow:none;
  line-height:1
}
.plans-page .plan-controls button:hover,
.plans-page .plan-controls button:focus-visible{
  background:#1b1b1c;
  color:#fff
}

@media(max-width:900px){
  .plans-page .page-intro{
    min-height:86svh;
    grid-template-columns:1fr;
    gap:52px;
    padding-left:24px;
    padding-right:24px
  }
  .plans-page .page-intro .display{font-size:clamp(46px,11.5vw,72px)}
  .plans-page .page-intro__copy{margin-top:0}
  .plans-page .collection-overview{padding-left:24px;padding-right:24px}
  .plans-page .collection-overview__layout{grid-template-columns:1fr;gap:34px}
  .plans-page .collection-overview__copy{order:-1}
  .plans-page .collection-overview__copy small{margin-bottom:18px}
  .plans-page .plans{padding-left:24px;padding-right:24px}
  .plans-page .plan-card__layout{grid-template-columns:1fr;gap:34px}
  .plans-page #type-1 .plan-card__media{width:82%}
  .plans-page .plan-card img{height:auto;max-height:72svh}
  .plans-page .plan-card__copy{order:-1}
  .plans-page .plan-card small{margin-bottom:18px}
  .plans-page .plan-principles{gap:52px}
  .plans-page .plan-principles article+article{border:0}
}

/* Residences: the collection is read once, then the three plans share one
   editorial field. The index borrows the accepted Architecture rule grammar;
   it never becomes a shaded product selector. */
.plans-page .plan-explorer{
  border-top:1px solid var(--line);
  padding-top:0
}
.plans-page .plan-explorer__selector-head{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  min-height:52px;
  font-size:8px;
  font-weight:750;
  letter-spacing:.18em;
  text-transform:uppercase
}
.plans-page .plan-explorer__selector-head button{
  border:0;
  background:none;
  color:inherit;
  padding:8px 0 8px 24px;
  font:inherit;
  font-size:var(--type-label);
  letter-spacing:inherit;
  text-transform:inherit;
  cursor:pointer
}
.plans-page .plan-explorer__selector-head button[hidden]{display:none}
.plans-page .plan-explorer__selector-head button:before{content:"←";margin-right:10px}
.plans-page .plan-explorer__selector-head button:disabled{opacity:.48;cursor:default}
.plans-page .plan-explorer__selector-head button:disabled:before{content:"";margin-right:0}
.plans-page .plan-explorer__selector-label-phone{display:none}
.plans-page .plan-explorer__tabs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.plans-page .plan-explorer__tabs button{
  position:relative;
  display:block;
  min-height:144px;
  border:0;
  background:none;
  color:inherit;
  padding:28px clamp(10px,1.6vw,24px) 26px;
  text-align:center;
  cursor:pointer
}
.plans-page .plan-explorer__tabs button+button{border-left:1px solid var(--line)}
.plans-page .plan-explorer__tabs button:focus-visible{outline:0}
.plans-page .plan-explorer__tabs strong{
  display:block;
  font:400 clamp(32px,3.2vw,48px)/.96 var(--serif);
  letter-spacing:-.04em;
  text-transform:uppercase;
  white-space:nowrap
}
.plans-page .plan-explorer__tabs small{
  display:grid;
  gap:5px;
  margin-top:9px;
  font-size:10px;
  font-weight:750;
  line-height:1.25;
  letter-spacing:.15em;
  text-transform:uppercase;
  opacity:.82
}
.plans-page .plan-explorer__tabs small span,
.plans-page .plan-explorer__tabs small em{font:inherit;font-style:normal}
.plans-page .plan-explorer__tabs small i{font:inherit;font-style:normal}
.plans-page .plan-explorer__tab-action{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:20px;
  font-size:8px;
  font-weight:750;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase
}
.plans-page .plan-explorer__tab-action b{
  font:inherit;
  transition:transform .42s var(--ease)
}
.plans-page .plan-explorer__tabs button:hover .plan-explorer__tab-action b,
.plans-page .plan-explorer__tabs button:focus-visible .plan-explorer__tab-action b{transform:translate(2px,-2px)}
.plans-page .plans .collection-overview{
  display:grid;
  gap:0;
  padding:clamp(64px,7.5vw,108px) 0 clamp(82px,9vw,126px)
}
.plans-page .plans .collection-overview[hidden]{display:none}
.plans-page .collection-overview__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:32px
}
.plans-page .collection-overview__head .eyebrow{margin:0 0 22px}
.plans-page .collection-overview__head h2{
  margin:0;
  font:400 clamp(48px,6vw,84px)/.9 var(--serif);
  letter-spacing:-.045em;
  text-transform:uppercase
}
.plans-page .collection-overview__head>p{
  margin:0 0 5px;
  text-align:right;
  font-size:var(--type-label);
  font-weight:750;
  line-height:1.55;
  letter-spacing:.17em;
  text-transform:uppercase
}
.plans-page .collection-overview__head>p span{opacity:.72}
.plans-page .collection-levels{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:32px;
  margin-top:clamp(38px,4.2vw,62px);
  padding:0 0 18px;
  font-size:var(--type-label);
  font-weight:750;
  line-height:1;
  letter-spacing:.17em;
  text-transform:uppercase
}
.plans-page .collection-levels>span{opacity:.72}
.plans-page .collection-levels>div{display:flex;align-items:center;gap:clamp(20px,2.4vw,38px)}
.plans-page .collection-levels button{
  border:0;
  background:none;
  color:inherit;
  padding:8px 0;
  font:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
  opacity:.44;
  cursor:pointer;
  transition:opacity .28s var(--ease)
}
.plans-page .collection-levels button[aria-selected="true"],
.plans-page .collection-levels button:hover,
.plans-page .collection-levels button:focus-visible{opacity:1}
.plans-page .collection-levels button:focus-visible{outline:0}
.plans-page .collection-levels button:focus-visible .cta-roll__mask{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.plans-page .collection-plan{display:grid;gap:0;margin:0}
.plans-page .collection-plan__viewport{overflow:visible;outline-offset:8px}
.plans-page .collection-plan__pan-cue{display:none}
.plans-page .collection-plan__drawing{position:relative;min-width:0;aspect-ratio:1346/786}
.plans-page .collection-plan__drawing img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:0;
  visibility:hidden;
  transition:opacity .44s var(--ease),visibility 0s .44s
}
.plans-page .collection-plan__drawing img.is-active{opacity:1;visibility:visible;transition:opacity .44s var(--ease),visibility 0s}
.plans-page .collection-plan__labels span{
  position:absolute;
  left:var(--unit-x);
  top:84.5%;
  transform:translateX(-50%);
  padding:4px 7px;
  background:rgba(247,245,239,.88);
  color:var(--wine);
  font-size:10px;
  font-weight:800;
  line-height:1;
  letter-spacing:.14em
}
.plans-page .collection-plan__labels[hidden]{display:none}
.plans-page .collection-plan figcaption{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-top:14px;
  border-top:1px solid var(--line);
  font-size:var(--type-label);
  font-weight:750;
  line-height:1;
  letter-spacing:.17em;
  text-transform:uppercase
}
.plans-page .collection-plan__expand{
  display:flex;
  align-items:center;
  gap:12px;
  border:0;
  background:none;
  color:inherit;
  padding:8px 0;
  font:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
  cursor:zoom-in
}
.plans-page .collection-plan__expand b{font:inherit}
.plans-page .plan-panel{padding:0 0 clamp(88px,11vw,144px);animation:plan-panel-in .72s var(--ease) both}
@keyframes plan-panel-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.plans-page .plan-panel[hidden]{display:none}
.plans-page .plan-panel__media{
  display:grid;
  place-items:center;
  width:100%;
  min-height:0;
  border:0;
  border-bottom:1px solid var(--line);
  background:none;
  color:inherit;
  padding:clamp(54px,7vw,88px) 0 clamp(34px,4vw,54px);
  cursor:zoom-in;
  outline-offset:10px
}
.plans-page .plan-panel__media img{
  width:100%;
  max-width:100%;
  max-height:none;
  object-fit:contain
}
.plans-page .plan-panel__media--type-1 img{max-width:76%}
.plans-page .plan-panel__caption{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);
  gap:clamp(70px,10vw,160px);
  margin-top:0;
  padding:clamp(60px,7vw,88px) 0 clamp(48px,5.5vw,72px);
  border-bottom:1px solid var(--line)
}
.plans-page .plan-panel__summary h2{
  max-width:620px;
  margin:0 0 20px;
  font:400 clamp(32px,3.2vw,48px)/.96 var(--serif);
  letter-spacing:-.04em;
  text-transform:uppercase
}
.plans-page .plan-panel__index{
  margin:0 0 16px;
  font:750 var(--type-label)/1.2 var(--sans);
  letter-spacing:.17em;
  text-transform:uppercase
}
.plans-page .plan-panel .plan-qualifier{
  margin:0 0 30px;
  font:400 clamp(19px,1.5vw,23px)/1.08 var(--serif);
  text-transform:none
}
.plans-page .plan-panel .plan-description{max-width:470px;margin:0;font-size:clamp(16px,1.06vw,18px);line-height:1.52}
.plans-page .plan-panel__detail{align-self:start}
.plans-page .plan-panel .plan-features{max-width:430px;margin:0 0 24px;font-size:13px;line-height:1.55;font-weight:650}
.plans-page .plan-panel .plan-specs{width:100%;max-width:430px;margin:0;font-size:12px}
.plans-page .plan-panel__action{
  display:flex;
  justify-content:space-between;
  align-items:center;
  width:100%;
  max-width:430px;
  margin-top:24px;
  padding:13px 0 10px;
  border:0;
  border-top:1px solid var(--line);
  background:none;
  color:inherit;
  font-size:var(--type-label);
  font-weight:750;
  letter-spacing:.17em;
  text-transform:uppercase;
  cursor:zoom-in
}
.plans-page .plan-panel__action b{font:inherit;transition:transform .3s var(--ease)}
.plans-page .plan-panel__action:hover b,
.plans-page .plan-panel__action:focus-visible b{transform:translate(3px,-3px)}
.plans-page .overlay.plan{
  clip-path:none;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s var(--ease),visibility 0s .28s
}
.plans-page .overlay.plan.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .28s var(--ease),visibility 0s
}
html.overlay-open .plans-page .site-chrome{opacity:0;pointer-events:none}
.plans-page .overlay.plan .overlay__stage{position:absolute;inset:58px 0 54px;cursor:zoom-in}
.plans-page .overlay.plan .overlay__stage.is-zoomed{cursor:grab}
.plans-page .overlay.plan .overlay__stage.is-zoomed.is-dragging{cursor:grabbing}
.plans-page .overlay.plan .overlay__stage img{opacity:1;transition:transform .18s var(--ease),opacity .28s var(--ease)}
.plans-page .overlay.plan .overlay__stage.is-dragging img{transition:none}
.plans-page .overlay.plan.is-loading .overlay__stage img{opacity:0}
.plans-page .overlay__loader{
  position:absolute;
  left:50%;
  top:50%;
  z-index:2;
  font-size:8px;
  font-weight:750;
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,-50%);
  transition:opacity .25s var(--ease),visibility 0s .25s
}
.plans-page .overlay.plan.is-loading .overlay__loader,
.plans-page .overlay.plan.has-load-error .overlay__loader{opacity:1;visibility:visible;transition-delay:0s}
.plans-page .overlay.plan .overlay__bottom{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:18px;
  align-items:center
}
.plans-page .plan-controls button:disabled{opacity:.28;cursor:default;background:none;color:inherit}

@media(max-width:640px){
  .plans-page .plan-explorer__selector-head{grid-template-columns:1fr;min-height:92px;align-items:end;padding-bottom:14px}
  .plans-page .plan-explorer__selector-head button{padding-left:0}
  .plans-page .plan-explorer__selector-head button:disabled{visibility:hidden}
  .plans-page .plan-explorer__selector-label-desktop{display:none}
  .plans-page .plan-explorer__selector-label-phone{display:inline}
  .plans-page .plan-explorer__tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .plans-page .plan-explorer__tabs button{min-height:154px;padding:24px 4px 18px}
  .plans-page .plan-explorer__tabs button+button{border-left:1px solid var(--line);border-top:0}
  .plans-page .plan-explorer__tabs strong{font-size:clamp(22px,6.4vw,26px)}
  .plans-page .plan-explorer__tabs small{gap:4px;font-size:8px;letter-spacing:.1em}
  .plans-page .plan-explorer__tabs small i{display:none}
  .plans-page .plan-explorer__tab-action{gap:6px;margin-top:17px;font-size:7px;letter-spacing:.13em}
  .plans-page .plans .collection-overview{gap:0;padding:52px 0 72px}
  .plans-page .collection-overview__head{grid-template-columns:1fr auto;gap:16px}
  .plans-page .collection-overview__head .eyebrow{margin-bottom:15px}
  .plans-page .collection-overview__head h2{font-size:clamp(42px,13vw,56px)}
  .plans-page .collection-overview__head>p{margin-bottom:2px;font-size:8px}
  .plans-page .collection-levels{grid-template-columns:1fr;gap:13px;margin-top:32px;padding-bottom:14px}
  .plans-page .collection-levels>div{justify-content:space-between;gap:12px}
  .plans-page .collection-levels button{font-size:8px;letter-spacing:.12em}
  .plans-page .collection-plan__viewport{
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x pan-y;
    cursor:grab;
    scrollbar-width:none
  }
  .plans-page .collection-plan__viewport.is-dragging{cursor:grabbing;user-select:none}
  .plans-page .collection-plan__viewport::-webkit-scrollbar{display:none}
  .plans-page .collection-plan__drawing{width:880px}
  .plans-page .collection-plan__pan-cue{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:9px;
    margin:12px 0 10px;
    font-size:7px;
    font-weight:750;
    line-height:1;
    letter-spacing:.16em;
    text-transform:uppercase;
    opacity:.72
  }
  .plans-page .collection-plan__pan-cue b{font:inherit;font-size:10px;letter-spacing:0}
  .plans-page .collection-plan__labels span{font-size:9px}
  .plans-page .collection-plan figcaption{padding-top:12px}
  .plans-page .collection-plan figcaption>span{max-width:130px;line-height:1.35}
  .plans-page .collection-plan__caption-scope{display:none}
  .plans-page .plan-panel{padding:0 0 104px}
  .plans-page .plan-panel__media{min-height:0;padding-top:40px}
  .plans-page .plan-panel__media img{max-height:none}
  .plans-page .plan-panel__media--type-1 img{max-width:90%}
  .plans-page .plan-panel__caption{grid-template-columns:1fr;gap:40px;margin-top:0;padding:48px 0 36px}
  .plans-page .plan-panel__summary h2{font-size:clamp(32px,9.5vw,42px)}
  .plans-page .plan-panel .plan-qualifier{font-size:22px}
  .plans-page .overlay.plan{padding:16px}
  .plans-page .overlay.plan .overlay__stage{padding:12px 0}
  .plans-page .overlay.plan .overlay__stage img{max-height:calc(100svh - 124px)}
  .plans-page .overlay.plan .overlay__bottom{grid-template-columns:1fr auto 1fr;gap:8px;font-size:7px}
  .plans-page .plan-controls{gap:4px}
  .plans-page .plan-controls button{min-width:30px;height:29px;padding:0 7px}
}

@media(prefers-reduced-motion:reduce){
  .plans-page .plan-panel{animation:none}
  .plans-page .collection-plan__drawing img{transition:none}
}

/* Architecture carries the accepted Filaro plate, type and motion language forward. */
.architecture-page .architecture-intro{
  position:relative;
  isolation:isolate;
  display:flex;
  min-height:100svh;
  padding:clamp(166px,20vh,220px) var(--gutter) clamp(72px,9vh,104px);
  align-items:flex-end
}
.architecture-page .architecture-intro>img{object-position:center 54%}
.architecture-page .architecture-intro:after{
  display:none
}
.architecture-page .architecture-intro__content{
  position:relative;
  z-index:1;
  width:min(820px,70vw)
}
.architecture-page .architecture-intro .display{
  max-width:820px;
  font-size:clamp(52px,5.85vw,90px);
  line-height:.86
}
.architecture-page .architecture-intro .lede{
  max-width:590px;
  margin-top:clamp(28px,4vh,42px);
  font-size:clamp(19px,1.75vw,27px);
  line-height:1.12
}
.architecture-page .architecture-intro__credit{
  margin:27px 0 0;
  font-size:9px;
  font-weight:700;
  line-height:1.55;
  letter-spacing:.14em;
  text-transform:uppercase
}
.home-page .home-architecture-intro{
  display:grid;
  grid-template-columns:minmax(180px,.55fr) 1.35fr;
  gap:clamp(60px,10vw,160px);
  align-content:center;
  align-items:start;
  background:var(--cream);
  color:var(--wine)
}
.home-page .home-architecture-intro__side{
  display:flex;
  flex-direction:column;
  justify-content:space-between
}
.home-page .home-architecture-intro__side dl{
  display:grid;
  gap:17px;
  margin:54px 0 4px
}
.home-page .home-architecture-intro__side dl div{
  padding-top:11px;
  border-top:1px solid var(--line)
}
.home-page .home-architecture-intro__side dt{
  margin-bottom:6px;
  font-size:8px;
  font-weight:750;
  letter-spacing:.17em;
  text-transform:uppercase
}
.home-page .home-architecture-intro__side dd{
  margin:0;
  font-size:13px;
  line-height:1.45
}
.home-page .home-architecture-intro__side a{border-bottom:1px solid transparent}
.home-page .home-architecture-intro__side a:hover,
.home-page .home-architecture-intro__side a:focus-visible{border-color:currentColor}
.home-page .home-architecture-intro__body .display{
  font-size:clamp(46px,5.5vw,84px);
  line-height:.88
}
.home-page .home-architecture-intro__body .lede{
  max-width:690px;
  margin:38px 0 0;
  font-size:clamp(19px,1.72vw,26px);
  line-height:1.17
}
.home-page .home-architecture-intro__body .lede p{margin:0}
.home-page .home-architecture-intro__body .lede p+p{margin-top:clamp(12px,1.5vh,18px)}
.home-page .home-architecture-intro__body>p:not(.lede){
  max-width:var(--measure-reading);
  margin:clamp(22px,3vh,32px) 0 0;
  font-family:var(--sans);
  font-size:var(--type-reading);
  font-weight:400;
  line-height:var(--leading-reading);
  letter-spacing:0
}
.home-page .home-architecture-intro__linework{
  width:min(100%,690px);
  aspect-ratio:2.1;
  margin:clamp(34px,5vh,54px) 0 0;
  overflow:hidden
}
.home-page .home-architecture-intro__linework img{
  display:block;
  width:120%;
  max-width:none;
  transform:translate(-11.7%,-12.4%);
  mix-blend-mode:multiply;
  opacity:.96
}
.home-page .home-architecture-intro__body .text-link{margin-top:30px}
.architecture-page .architecture-elevation{padding-top:clamp(140px,18vh,190px)}
.architecture-page .architecture-elevation .elevation__head{
  grid-template-columns:minmax(180px,.55fr) 1.35fr;
  gap:clamp(60px,10vw,160px);
  padding-right:clamp(0px,4vw,64px);
  padding-bottom:clamp(70px,10vh,108px)
}
.architecture-page .architecture-elevation .elevation__intro .display{
  font-size:clamp(46px,5.5vw,84px);
  line-height:.88
}
.architecture-page .architecture-elevation .elevation__intro .lede{
  max-width:690px;
  margin:38px 0 0;
  font-size:clamp(19px,1.72vw,26px);
  line-height:1.17
}
.architecture-page .architecture-elevation .elevation__figure{padding-top:18px}
.architecture-page .architecture-elevation .elevation__caption{justify-content:flex-start}
.architecture-page .architecture-sequence{
  position:relative;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(36px,5vw,82px);
  border:0;
  background:var(--cream);
  color:var(--wine)
}
.architecture-page .architecture-sequence:before{
  content:"";
  position:absolute;
  top:clamp(100px,14vh,160px);
  right:var(--gutter);
  left:var(--gutter);
  height:1px;
  background:var(--line)
}
.architecture-page .sequence-item,
.architecture-page .sequence-item:nth-child(n){
  display:flex;
  min-height:390px;
  padding:32px 0 0;
  flex-direction:column;
  border:0
}
.architecture-page .sequence-item span{font-size:8px;letter-spacing:.18em}
.architecture-page .sequence-item h2{
  max-width:290px;
  margin:auto 0 22px;
  font-size:clamp(32px,3.15vw,49px);
  line-height:.94
}
.architecture-page .sequence-item p{
  max-width:300px;
  margin:0;
  font-size:14px;
  line-height:1.55
}
.home-page .architecture-film-suite{
  position:relative;
  isolation:isolate;
  padding:clamp(84px,11vh,126px) var(--gutter) clamp(96px,13vh,148px);
  background:var(--cream);
  color:var(--wine)
}
.home-page .architecture-film-suite__head{
  display:grid;
  grid-template-columns:minmax(180px,.55fr) 1.35fr;
  gap:clamp(60px,10vw,160px);
  align-items:start;
  margin-bottom:clamp(38px,5vh,56px)
}
.home-page .architecture-film-suite__body h2{
  max-width:440px;
  margin:0;
  font:400 clamp(38px,3.8vw,58px)/.92 FilaroDisplay,serif;
  letter-spacing:-.035em;
  text-transform:uppercase
}
.home-page .architecture-film-suite__role{
  margin:18px 0 0;
  font:750 9px/1.35 FilaroSans,sans-serif;
  letter-spacing:.13em;
  text-transform:uppercase
}
.home-page .architecture-film-suite__body>.architecture-film-suite__intro{
  max-width:650px;
  margin:18px 0 0;
  font-size:15px;
  font-weight:400;
  line-height:1.55;
  letter-spacing:0;
  text-transform:none
}
.home-page .architecture-film-suite__cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0
}
.home-page .architecture-film-card{
  position:relative;
  isolation:isolate;
  min-height:0;
  aspect-ratio:16/10;
  padding:clamp(24px,2.5vw,36px);
  border:0;
  overflow:hidden;
  background:#24191a;
  color:var(--cream);
  text-align:left;
  cursor:pointer
}
.home-page .architecture-film-card:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  border:1px solid currentColor;
  opacity:.56;
  transition:opacity .35s var(--ease)
}
.home-page .architecture-film-card:after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(180deg,rgba(36,25,26,.05) 10%,rgba(48,25,27,.22) 48%,rgba(48,25,27,.88) 100%);
  transition:background-color .4s var(--ease)
}
.home-page .architecture-film-card__image{
  position:absolute;
  z-index:-2;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:grayscale(1) contrast(.96);
  transform:scale(1);
  transition:transform .65s var(--ease),filter .45s var(--ease)
}
.home-page .architecture-film-card em{
  z-index:1;
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  font-size:8px;
  font-weight:750;
  font-style:normal;
  letter-spacing:.17em;
  text-transform:uppercase
}
.home-page .architecture-film-card em b{font:inherit}
.home-page .architecture-film-card strong{
  position:absolute;
  z-index:1;
  top:auto;
  right:clamp(24px,2.5vw,36px);
  bottom:clamp(62px,5.8vw,82px);
  left:clamp(24px,2.5vw,36px);
  font:400 clamp(28px,2.7vw,42px)/.9 FilaroDisplay,serif;
  text-transform:uppercase;
  transition:transform .45s var(--ease)
}
.home-page .architecture-film-card em{
  position:absolute;
  right:clamp(24px,2.5vw,36px);
  bottom:clamp(24px,2.5vw,36px);
  left:clamp(24px,2.5vw,36px)
}
.home-page .architecture-film-card:hover:before,
.home-page .architecture-film-card:focus-visible:before{opacity:1}
.home-page .architecture-film-card:hover .architecture-film-card__image,
.home-page .architecture-film-card:focus-visible .architecture-film-card__image{filter:grayscale(1) contrast(1.02);transform:scale(1.025)}
.home-page .architecture-film-card:hover strong,
.home-page .architecture-film-card:focus-visible strong{transform:translateY(-5px)}
.home-page .architecture-film-card:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
.home-page .architecture-film-suite__player{
  position:fixed;
  z-index:260;
  inset:0;
  width:100vw;
  height:100dvh;
  min-height:100svh;
  overflow:hidden;
  background:#171112;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:scale(.985);
  transition:opacity .38s var(--ease),transform .55s var(--ease),visibility 0s linear .55s
}
.home-page .architecture-film-suite.is-playing{z-index:260}
.home-page .architecture-film-suite__player video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:cover;
  object-position:center;
  background:#171112
}
.home-page .architecture-film-suite__player-meta{
  position:absolute;
  z-index:2;
  top:clamp(24px,4vw,50px);
  right:var(--gutter);
  left:var(--gutter);
  display:flex;
  justify-content:space-between;
  gap:28px;
  align-items:baseline;
  color:var(--cream)
}
.home-page .architecture-film-suite__player-meta p{
  margin:0;
  font:750 8px/1 FilaroSans,sans-serif;
  letter-spacing:.17em;
  text-transform:uppercase;
  text-shadow:0 1px 18px rgba(0,0,0,.45)
}
.home-page .architecture-film-suite__player-meta button,
.feature-film__player>header button{
  position:relative;
  padding:0 0 8px;
  border:0;
  background:none;
  color:inherit;
  font:750 8px/1 FilaroSans,sans-serif;
  letter-spacing:.17em;
  text-transform:uppercase;
  text-shadow:0 1px 18px rgba(0,0,0,.55);
  cursor:pointer
}
.feature-film__player>header button{padding:0 0 8px}
.home-page .architecture-film-suite__player-meta button:after,
.feature-film__player>header button:after{
  content:"";
  position:absolute;
  right:0;
  bottom:2px;
  left:0;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .3s var(--ease)
}
.home-page .architecture-film-suite__player-meta button:hover:after,
.home-page .architecture-film-suite__player-meta button:focus-visible:after,
.feature-film__player>header button:hover:after,
.feature-film__player>header button:focus-visible:after{transform:scaleX(1);transform-origin:left}
.home-page .architecture-film-suite__player-meta button:focus-visible,
.feature-film__player>header button:focus-visible{outline:0}
.home-page .architecture-film-suite__captions{
  position:absolute;
  z-index:3;
  bottom:clamp(82px,10vh,124px);
  left:50%;
  width:max-content;
  max-width:min(760px,calc(100% - 48px));
  margin:0;
  padding:10px 16px 11px;
  background:rgba(91,44,45,.9);
  color:var(--cream);
  font:500 clamp(14px,1.2vw,18px)/1.38 FilaroSans,sans-serif;
  letter-spacing:.01em;
  text-align:center;
  text-wrap:balance;
  transform:translateX(-50%);
  box-shadow:0 10px 32px rgba(20,10,10,.12)
}
.home-page .architecture-film-suite__captions[hidden]{display:none}
.home-page .architecture-film-suite__controls{
  position:absolute;
  z-index:3;
  right:var(--gutter);
  bottom:clamp(28px,4vw,54px);
  display:flex;
  gap:clamp(18px,2.1vw,34px);
  align-items:center
}
.home-page .architecture-film-suite__controls button{
  position:relative;
  padding:8px 0;
  border:0;
  background:none;
  color:var(--cream);
  font:750 9px/1 FilaroSans,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-shadow:0 1px 18px rgba(0,0,0,.55);
  cursor:pointer
}
.home-page .architecture-film-suite__controls button:after{
  content:"";
  position:absolute;
  right:0;
  bottom:2px;
  left:0;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .3s var(--ease)
}
.home-page .architecture-film-suite__controls button:hover:after,
.home-page .architecture-film-suite__controls button:focus-visible:after{transform:scaleX(1);transform-origin:left}
.home-page .architecture-film-suite.is-playing .architecture-film-suite__player{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
  transition:opacity .38s var(--ease),transform .55s var(--ease),visibility 0s
}
.film-suite-playing .site-chrome,
.film-suite-playing .site-chrome *,
.feature-film-playing .site-chrome,
.feature-film-playing .site-chrome *,
.interaction-exit-lock .site-chrome,
.interaction-exit-lock .site-chrome *{opacity:0;pointer-events:none!important}
.film-suite-playing{overflow:hidden}
.architecture-page .architecture-material{background:var(--wine);color:var(--cream)}
.architecture-page .architecture-material .material-chapter__head{
  grid-template-columns:minmax(180px,.55fr) 1.35fr;
  gap:clamp(60px,10vw,160px)
}
.architecture-page .architecture-material .material-chapter__head .display{
  font-size:clamp(46px,5.5vw,84px);
  line-height:.88
}
.architecture-page .architecture-material .material-chapter__head .lede{
  max-width:650px;
  font-size:clamp(19px,1.72vw,26px);
  line-height:1.17
}
.architecture-page .architecture-material .material-grid figcaption{color:var(--cream)}
.architecture-page .gallery__head .display{font-size:clamp(48px,5.8vw,88px)}
.architecture-page .gallery__head .line-reveal__line{
  display:block;
  justify-content:initial;
  margin:0 0 -.055em;
  padding:0 0 .055em;
  font:inherit;
  letter-spacing:inherit;
  text-transform:inherit
}
.architecture-page .gallery__head .line-reveal__inner{
  display:block;
  margin:0;
  font:inherit;
  letter-spacing:inherit;
  text-transform:inherit
}
@media(max-width:900px){
  .architecture-page .architecture-intro{
    min-height:92svh;
    padding:145px 24px 64px
  }
  .architecture-page .architecture-intro>img{object-position:58% center}
  .architecture-page .architecture-intro__content{width:100%}
  .architecture-page .architecture-intro .display{font-size:clamp(46px,11.5vw,72px)}
  .architecture-page .architecture-intro .lede{max-width:520px;font-size:18px}
  .home-page .home-architecture-intro{grid-template-columns:1fr;gap:30px}
  .home-page .home-architecture-intro__side dl{grid-template-columns:1fr 1fr;gap:20px;margin:14px 0 10px}
  .home-page .home-architecture-intro__body .display{font-size:clamp(44px,11.5vw,66px)}
  .home-page .home-architecture-intro__body .lede{margin-top:28px;font-size:18px}
  .home-page .home-architecture-intro__body>p:not(.lede){font-size:15px}
  .home-page .home-architecture-intro__linework{margin-top:32px}
  .home-page .home-architecture-intro__body .text-link{margin-top:24px}
  .home-page .architecture-film-suite{padding:68px 24px 84px}
  .home-page .architecture-film-suite__head{grid-template-columns:1fr;gap:22px;margin-bottom:34px}
  .home-page .architecture-film-suite__body h2{font-size:clamp(34px,9vw,48px)}
  .home-page .architecture-film-suite__body>.architecture-film-suite__intro{font-size:15px}
  .home-page .architecture-film-suite__cards{grid-template-columns:1fr;gap:10px}
  .home-page .architecture-film-card{min-height:0;aspect-ratio:16/10;padding:18px}
  .home-page .architecture-film-card strong{top:auto;right:18px;bottom:58px;left:18px;font-size:clamp(24px,6.8vw,28px);line-height:.92}
  .home-page .architecture-film-card em{font-size:8px}
  .home-page .architecture-film-card em{right:18px;bottom:18px;left:18px;display:flex;align-items:baseline}
  .home-page .architecture-film-card em b{display:inline;margin-top:0}
  .home-page .architecture-film-suite__player video{object-position:center}
  .home-page .architecture-film-suite__player-meta{top:22px;right:24px;left:24px}
  .home-page .architecture-film-suite__captions{bottom:76px;max-width:calc(100% - 36px);padding:9px 13px 10px;font-size:14px;line-height:1.34}
  .home-page .architecture-film-suite__controls{right:24px;bottom:20px;left:24px;flex-wrap:wrap;justify-content:flex-end;gap:10px 20px}
  .home-page .architecture-film-suite__controls button{font-size:8px}
  .architecture-page .architecture-elevation .elevation__head,
  .architecture-page .architecture-material .material-chapter__head{grid-template-columns:1fr;gap:30px;padding-right:0}
  .architecture-page .architecture-elevation .elevation__intro .display,
  .architecture-page .architecture-material .material-chapter__head .display{font-size:clamp(44px,11.5vw,66px)}
  .architecture-page .architecture-elevation .elevation__intro .lede,
  .architecture-page .architecture-material .material-chapter__head .lede{font-size:18px}
  .architecture-page .architecture-sequence{grid-template-columns:1fr;gap:76px}
  .architecture-page .architecture-sequence:before{top:130px;right:24px;left:24px}
  .architecture-page .sequence-item,
  .architecture-page .sequence-item:nth-child(n){min-height:0;padding-top:24px}
  .architecture-page .sequence-item h2{margin:70px 0 20px;font-size:clamp(36px,9.5vw,52px)}
  .architecture-page .architecture-material .material-chapter__head{margin-bottom:58px}
}

/* Architecture destination: one sequence from street to vertical life to material resolution. */
.architecture-page .architecture-street{
  padding-top:clamp(150px,19vh,205px);
  padding-bottom:clamp(120px,16vh,176px)
}
.architecture-page .architecture-street .elevation__head{
  padding-bottom:clamp(62px,8vh,92px)
}
.architecture-page .architecture-layout{
  min-height:100svh;
  grid-template-columns:minmax(310px,.66fr) minmax(0,1.34fr);
  gap:clamp(64px,8vw,132px);
  align-items:center;
  padding-top:clamp(144px,18vh,194px);
  padding-bottom:clamp(132px,17vh,184px)
}
.architecture-page .architecture-layout .feature-pair__copy{max-width:470px}
.architecture-page .architecture-layout .display{
  font-size:clamp(46px,5.25vw,80px);
  line-height:.88
}
.architecture-page .architecture-layout .lede{
  max-width:460px;
  margin-top:clamp(34px,5vh,50px);
  font-size:clamp(18px,1.55vw,24px);
  line-height:1.18
}
.architecture-page .architecture-layout .layout-figure{align-self:center}
.architecture-page .architecture-layout .layout-figure figcaption{justify-content:space-between}
.architecture-page .architecture-interiors{
  grid-template-columns:minmax(270px,.62fr) minmax(0,1.38fr);
  gap:clamp(62px,8vw,128px);
  padding-top:clamp(150px,19vh,205px);
  padding-bottom:clamp(138px,18vh,196px)
}
.architecture-page .architecture-interiors .interiors-chapter__head{max-width:480px}
.architecture-page .architecture-interiors .interiors-chapter__head .display{
  font-size:clamp(46px,5.25vw,80px);
  line-height:.88
}
.architecture-page .architecture-interiors .interiors-chapter__head .lede{
  max-width:470px;
  font-size:clamp(18px,1.55vw,24px);
  line-height:1.18
}
.architecture-page .architecture-interiors .interiors-figure{align-self:start}
.architecture-page .architecture-materials{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(24px,2.6vw,42px);
  align-items:start;
  margin-top:clamp(100px,15vh,160px);
  padding-top:clamp(122px,15vh,156px);
  border-top:1px solid var(--line)
}
.architecture-page .architecture-materials__intro{grid-column:1/span 4;max-width:370px}
.architecture-page .architecture-materials__intro .eyebrow{margin-bottom:clamp(30px,4vh,44px)}
.architecture-page .architecture-materials__intro h3{
  margin:0;
  font:400 clamp(30px,3.1vw,47px)/.96 FilaroDisplay,serif;
  letter-spacing:-.025em;
  text-transform:uppercase
}
.architecture-page .architecture-materials__intro>p:last-child{
  margin:clamp(24px,3.5vh,34px) 0 0;
  max-width:330px;
  font-size:15px;
  line-height:1.55
}
.architecture-page .architecture-materials figure{margin:0}
.architecture-page .architecture-materials__kitchen{grid-column:5/span 5}
.architecture-page .architecture-materials__bathroom{grid-column:10/span 3;margin-top:clamp(72px,10vh,116px)!important}
.architecture-page .architecture-materials img{
  width:100%;
  height:clamp(310px,37vw,570px);
  object-fit:cover
}
.architecture-page .architecture-materials__bathroom img{height:clamp(250px,29vw,430px)}
.architecture-page .architecture-materials figcaption{
  display:grid;
  gap:5px;
  margin-top:12px;
  font-size:8px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase
}
.architecture-page .architecture-materials figcaption span{
  font-weight:500;
  line-height:1.45;
  letter-spacing:.06em;
  text-transform:none
}
.team-intro{
  display:block;
  min-height:92svh;
  padding-right:clamp(120px,16vw,260px)
}
.team-intro>div:first-child{width:min(1040px,78vw)}
.team-intro .display{font-size:var(--type-display-opening)}
.team-intro .page-intro__copy{
  display:block;
  width:min(520px,48vw);
  margin:clamp(46px,7vh,72px) 0 0
}
.team-intro .page-intro__copy .lede{max-width:520px}
.team-intro .page-intro__copy>p:last-child{
  margin:30px 0 0;
  font-size:10px;
  font-weight:700;
  line-height:1.55;
  letter-spacing:.14em;
  text-transform:uppercase
}
.team-intro .page-intro__copy .lede{font-size:var(--type-lede)}
.contact .display{font-size:var(--type-display-page)}

@media(max-width:900px){
  .architecture-page .architecture-layout,
  .architecture-page .architecture-interiors{
    min-height:0;
    grid-template-columns:1fr;
    gap:clamp(44px,8vh,70px);
    padding-top:130px;
    padding-bottom:120px
  }
  .architecture-page .architecture-layout .feature-pair__copy,
  .architecture-page .architecture-interiors .interiors-chapter__head{max-width:620px}
  .architecture-page .architecture-layout .display,
  .architecture-page .architecture-interiors .interiors-chapter__head .display{font-size:clamp(44px,11.5vw,66px)}
  .architecture-page .architecture-layout .lede,
  .architecture-page .architecture-interiors .interiors-chapter__head .lede{font-size:18px}
  .architecture-page .architecture-materials{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:42px 18px;
    margin-top:80px;
    padding-top:108px
  }
  .architecture-page .architecture-materials__intro{grid-column:1/-1;max-width:560px;margin-bottom:8px}
  .architecture-page .architecture-materials__kitchen,
  .architecture-page .architecture-materials__bathroom{grid-column:auto;margin:0!important}
  .architecture-page .architecture-materials img,
  .architecture-page .architecture-materials__bathroom img{height:auto;aspect-ratio:4/5}
  .team-intro{min-height:auto;padding:145px 24px 110px}
  .team-intro>div:first-child,
  .team-intro .page-intro__copy{width:100%}
  .team-intro .display{font-size:clamp(46px,11.5vw,70px)}
  .team-intro .page-intro__copy{margin-top:38px}
}

@media(max-width:560px){
  .architecture-page .architecture-materials{grid-template-columns:1fr;gap:46px}
  .architecture-page .architecture-materials__intro,
  .architecture-page .architecture-materials__kitchen,
  .architecture-page .architecture-materials__bathroom{grid-column:1}
}

/* Authored interview playback: the same Filaro control language as the homepage films. */
.feature-film__poster{
  position:relative;
  display:block;
  width:100%;
  padding:0;
  overflow:hidden;
  border:0;
  background:var(--wine);
  color:var(--cream);
  text-align:left;
  cursor:pointer
}
.feature-film__poster:after{
  content:"";
  position:absolute;
  inset:58% 0 0;
  background:linear-gradient(0deg,rgba(20,10,10,.42),transparent);
  pointer-events:none
}
.feature-film__poster img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  transition:transform .7s var(--ease)
}
.feature-film__poster:hover img,
.feature-film__poster:focus-visible img{transform:scale(1.012)}
.feature-film__poster:focus-visible{outline:1px solid currentColor;outline-offset:5px}
.feature-film__poster span,
.feature-film__poster b{
  position:absolute;
  z-index:1;
  bottom:22px;
  font:750 9px/1 FilaroSans,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase
}
.feature-film__poster span{left:24px}
.feature-film__poster b{right:24px;font-weight:650}
.feature-film__player{
  position:fixed;
  z-index:260;
  inset:0;
  background:var(--wine);
  color:var(--cream);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(12px);
  transition:opacity .38s var(--ease),transform .55s var(--ease),visibility 0s .55s
}
.feature-film__player.is-playing{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
  transition:opacity .38s var(--ease),transform .55s var(--ease),visibility 0s
}
.feature-film__player video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  background:var(--wine);
  cursor:pointer
}
.feature-film__player>header{
  position:absolute;
  z-index:2;
  top:clamp(24px,4vw,50px);
  right:var(--gutter);
  left:var(--gutter);
  display:flex;
  justify-content:space-between;
  gap:28px;
  align-items:baseline;
  color:var(--cream);
  font:750 8px/1 FilaroSans,sans-serif;
  letter-spacing:.17em;
  text-transform:uppercase;
  text-shadow:0 1px 18px rgba(0,0,0,.55)
}
.feature-film__player>header p{margin:0}
.feature-film__player>header button{flex:0 0 auto}
.feature-film__captions{
  position:absolute;
  z-index:3;
  right:50%;
  bottom:clamp(82px,10vh,116px);
  width:max-content;
  max-width:min(780px,calc(100% - 48px));
  margin:0;
  padding:10px 15px 11px;
  background:rgba(91,44,45,.84);
  color:var(--cream);
  font:500 clamp(14px,1.2vw,18px)/1.38 FilaroSans,sans-serif;
  letter-spacing:.01em;
  text-align:center;
  text-wrap:balance;
  transform:translateX(50%);
  box-shadow:0 10px 32px rgba(20,10,10,.12)
}
.feature-film__captions[hidden]{display:none}
.feature-film__controls{
  position:absolute;
  z-index:3;
  right:var(--gutter);
  bottom:clamp(26px,4vw,50px);
  display:flex;
  gap:clamp(18px,2.1vw,34px);
  align-items:center
}
.feature-film__controls button{
  position:relative;
  padding:8px 0;
  border:0;
  background:none;
  color:var(--cream);
  font:750 9px/1 FilaroSans,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-shadow:0 1px 18px rgba(0,0,0,.55);
  cursor:pointer
}
.feature-film__controls button:after{
  content:"";
  position:absolute;
  right:0;
  bottom:2px;
  left:0;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .3s var(--ease)
}
.feature-film__controls button:hover:after,
.feature-film__controls button:focus-visible:after{transform:scaleX(1);transform-origin:left}
.feature-film__controls button:focus-visible{outline:0}
.feature-film-playing{overflow:hidden}
.feature-film-playing .site-chrome{opacity:0;pointer-events:none}

@media(max-width:900px){
  .feature-film__player>header{top:22px;right:24px;left:24px}
  .feature-film__captions{bottom:76px;max-width:calc(100% - 36px);padding:9px 13px 10px;font-size:14px}
  .feature-film__controls{right:24px;bottom:20px;left:24px;flex-wrap:wrap;justify-content:flex-end;gap:10px 20px}
  .feature-film__controls button{font-size:8px}
}

/* Site index: orientation first, with a single commercial action in the chrome. */
.menu-panel{
  grid-template-columns:minmax(0,1.28fr) minmax(260px,.72fr);
  grid-template-rows:1fr auto;
  column-gap:clamp(72px,10vw,170px);
  row-gap:32px;
  padding:clamp(142px,18vh,184px) var(--gutter) 42px
}
.menu-panel__primary{
  align-self:center;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:clamp(10px,1.55vh,18px);
  opacity:0;
  transition:opacity .52s var(--ease)
}
.menu-panel .menu-panel__primary a{
  position:relative;
  display:block;
  padding:0;
  font:400 clamp(39px,4.1vw,62px)/.94 FilaroDisplay,serif;
  letter-spacing:-.026em;
  text-transform:uppercase
}
.menu-panel .menu-panel__primary a:after{
  content:"";
  position:absolute;
  top:50%;
  left:calc(100% + 20px);
  width:28px;
  height:1px;
  background:currentColor;
  opacity:0;
  transform:scaleX(0)
}
.menu-panel .menu-panel__primary a:hover{padding:0}
.menu-panel .menu-panel__primary a:focus-visible{
  padding:0;
  outline:0;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.13em
}
.menu-panel .menu-panel__primary a[aria-current=page]:after{opacity:.7;transform:scaleX(1)}
.menu-panel .menu-panel__primary .menu-link-label,
.menu-panel .menu-panel__primary .cta-roll__track,
.menu-panel .menu-panel__primary .cta-roll__track>span{font:inherit;letter-spacing:inherit}
.menu-panel .menu-panel__primary .cta-roll__mask{height:1.04em}
.menu-panel .menu-panel__primary .cta-roll__track>span{height:1.04em}
.menu-panel .menu-panel__primary .cta-roll:hover .cta-roll__track,
.menu-panel .menu-panel__primary .cta-roll:focus-visible .cta-roll__track{transform:translate3d(0,-50%,0)}
.menu-panel__secondary{
  align-self:center;
  display:grid;
  justify-items:start;
  gap:clamp(34px,5vh,58px);
  max-width:420px;
  opacity:0;
  transition:opacity .52s var(--ease)
}
.menu-panel__group{
  display:grid;
  justify-items:start;
  gap:13px
}
.menu-panel__secondary p{
  margin:0 0 8px;
  font-size:9px;
  font-weight:750;
  letter-spacing:.2em;
  text-transform:uppercase;
  opacity:.62
}
.menu-panel .menu-panel__secondary a{
  display:block;
  padding:0;
  font:400 clamp(19px,1.72vw,27px)/1.08 FilaroDisplay,serif;
  letter-spacing:-.02em;
  text-transform:uppercase
}
.menu-panel .menu-panel__secondary a:hover{padding:0}
.menu-panel .menu-panel__secondary a:focus-visible{
  padding:0;
  outline:0;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.16em
}
.menu-panel .menu-panel__secondary .menu-link-label,
.menu-panel .menu-panel__secondary .cta-roll__track,
.menu-panel .menu-panel__secondary .cta-roll__track>span{font:inherit;letter-spacing:inherit}
.menu-panel .menu-panel__secondary .cta-roll__mask{height:1.16em}
.menu-panel .menu-panel__secondary .cta-roll__track{
  transition-duration:.5s;
  transition-timing-function:cubic-bezier(.76,0,.24,1)
}
.menu-panel .menu-panel__secondary .cta-roll__track>span{height:1.16em}
.menu-panel .menu-panel__secondary a[aria-current=page]{opacity:.58}
.menu-panel .menu-panel__enquire{
  grid-column:2;
  align-self:end;
  position:relative;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  width:100%;
  padding:19px 0 0;
  border-top:0;
  font:400 clamp(27px,2.55vw,39px)/.94 FilaroDisplay,serif;
  letter-spacing:-.025em;
  text-transform:uppercase;
  opacity:0;
  transition:opacity .52s var(--ease)
}
.menu-panel.open .menu-panel__primary{opacity:1;transition-delay:.12s}
.menu-panel.open .menu-panel__secondary{opacity:1;transition-delay:.17s}
.menu-panel.open .menu-panel__enquire{opacity:1;transition-delay:.22s}
.menu-panel .menu-panel__enquire:hover,
.menu-panel .menu-panel__enquire:focus-visible{padding-left:0;outline:0}
.menu-panel .menu-panel__enquire>small{font:700 8px/1.3 FilaroSans,sans-serif;letter-spacing:.16em}
.menu-panel .menu-panel__enquire>i{
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:currentColor;
  opacity:.5;
  transform:scaleX(.24);
  transform-origin:left center;
  transition:opacity .38s var(--ease),transform .38s cubic-bezier(.22,.61,.36,1)
}
.menu-panel .menu-panel__enquire:hover>i,
.menu-panel .menu-panel__enquire:focus-visible>i{opacity:1;transform:scaleX(1)}
.menu-open .site-chrome{color:var(--cream)!important}
.site-nav .nav-main{transition:opacity .28s var(--ease),transform .38s var(--ease)}
.menu-open .site-nav .nav-main{position:absolute;right:0;top:0;opacity:0;transform:translateY(-8px);pointer-events:none}
.menu-trigger{transition:none}
.site-nav .menu-trigger:hover,
.site-nav .menu-trigger:focus-visible{letter-spacing:inherit;transform:none}
.menu-open .menu-trigger{letter-spacing:.2em}
.menu-open .menu-trigger:hover,
.menu-open .menu-trigger:focus-visible{letter-spacing:.2em}
.menu-trigger:focus-visible{outline:0}
.site-nav .menu-trigger:after{
  display:block;
  right:0;
  bottom:-7px;
  opacity:.5;
  transform:scaleX(.26);
  transform-origin:right center;
  transition:opacity .36s var(--ease),transform .5s cubic-bezier(.2,.78,.22,1)
}
.site-nav .menu-trigger:hover:after,
.site-nav .menu-trigger:focus-visible:after{opacity:1;transform:scaleX(1);transform-origin:left center}

@media(hover:none),(pointer:coarse){
  .site-nav .menu-trigger:hover{letter-spacing:inherit;transform:none}
  .menu-open .menu-trigger:hover{letter-spacing:.2em}
  .site-nav .menu-trigger:hover:after{opacity:.5;transform:scaleX(.26);transform-origin:right center}
  .menu-panel .cta-roll:hover .cta-roll__track{transform:none}
}

@media(prefers-reduced-motion:reduce){
  .menu-trigger,
  .site-nav .menu-trigger:after,
  .menu-panel__primary,
  .menu-panel__secondary,
  .menu-panel .menu-panel__enquire,
  .menu-panel .cta-roll__track{transition:none}
  .menu-panel__primary,
  .menu-panel__secondary,
  .menu-panel .menu-panel__enquire{opacity:1;transform:none}
  .site-nav .menu-trigger:hover,
  .site-nav .menu-trigger:focus-visible{transform:none}
}

@media(max-width:900px){
  .menu-panel{display:flex;flex-direction:column;overflow-y:auto;padding:118px 24px 30px}
  .menu-panel__primary{align-self:stretch;flex:none;gap:9px}
  .menu-panel .menu-panel__primary a{font-size:clamp(33px,9vw,42px)}
  .menu-panel .menu-panel__primary a[aria-current=page]:after{left:calc(100% + 13px);width:20px}
  .menu-panel__secondary{align-self:stretch;flex:none;margin-top:44px;padding-bottom:clamp(42px,6vh,58px);gap:28px}
  .menu-panel__group{gap:10px}
  .menu-panel__secondary p{margin-bottom:8px}
  .menu-panel .menu-panel__secondary a{font-size:clamp(19px,5.7vw,25px)}
  .menu-panel .menu-panel__enquire{flex:none;margin-top:auto;font-size:clamp(29px,8vw,32px)}
  .menu-panel .menu-panel__enquire>small{max-width:122px;text-align:right}
}

#status,#architecture-films,#architecture-hero-image,#plans{scroll-margin-top:clamp(88px,11vh,120px)}
html:has(.place-map){scroll-snap-type:y proximity}
#place-map-explore{scroll-margin-top:0;scroll-snap-align:start}

/* Project information: a quiet utility surface composed from the established
   Filaro type, spacing and document language rather than a new chapter style. */
.documents-page main{
  overflow:hidden;
  background:var(--cream);
  color:var(--wine)
}
.documents-intro{
  min-height:82svh;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:auto 1fr;
  column-gap:clamp(24px,2.4vw,42px);
  padding:clamp(168px,19vh,210px) var(--gutter) clamp(92px,11vh,126px)
}
.documents-intro>.eyebrow{grid-column:1/4;margin:0}
.documents-intro .display{
  grid-column:1/8;
  align-self:center;
  margin:0;
  font-size:var(--type-display-opening)
}
.documents-intro__copy{
  grid-column:8/12;
  align-self:end;
  max-width:540px;
  margin:0;
  font:400 clamp(17px,1.36vw,21px)/1.55 FilaroSans,sans-serif
}
.documents-shelf{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:clamp(24px,2.4vw,42px);
  padding:clamp(40px,6vh,72px) var(--gutter) clamp(148px,18vh,210px)
}
.document-entry{
  min-width:0;
  display:grid;
  grid-row:1/span 2;
  grid-template-rows:subgrid
}
.document-entry--brochure{grid-column:1/7}
.document-entry--finishes{grid-column:8/13}
.document-entry__cover{
  display:block;
  align-self:end;
  overflow:hidden;
  background:#edeae2
}
.document-entry__cover img{
  display:block;
  width:100%;
  height:auto;
  transition:transform .8s var(--ease),filter .55s var(--ease)
}
.document-entry__cover:hover img,
.document-entry__cover:focus-visible img{transform:scale(1.012);filter:brightness(.97)}
.document-entry__cover:focus-visible{outline:1px solid var(--wine);outline-offset:5px}
.document-entry__details{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,.74fr);
  column-gap:clamp(24px,3vw,54px);
  padding-top:24px;
  border-top:1px solid var(--line)
}
.document-entry__cover+.document-entry__details{margin-top:22px}
.document-entry__details>.eyebrow{grid-column:1/-1;margin:0 0 31px}
.document-entry__details h2{
  grid-column:1/-1;
  margin:0;
  font:400 clamp(35px,3.2vw,50px)/.98 FilaroDisplay,serif;
  letter-spacing:-.028em;
  text-transform:uppercase
}
.document-entry__meta{
  grid-column:1/-1;
  margin:12px 0 42px!important;
  font-size:9px!important;
  font-weight:750!important;
  letter-spacing:.17em;
  text-transform:uppercase;
  opacity:.66
}
.document-entry__details>p:not(.eyebrow):not(.document-entry__meta){
  grid-column:1;
  max-width:480px;
  margin:0;
  font:400 15px/1.6 FilaroSans,sans-serif
}
.document-entry__actions{
  grid-column:2;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:14px
}
.document-entry__actions a{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:0 0 12px;
  border-bottom:1px solid var(--line);
  font-size:9px;
  font-weight:750;
  letter-spacing:.16em;
  text-transform:uppercase;
  transition:padding .35s var(--ease),border-color .3s var(--ease)
}
.document-entry__actions a:hover,
.document-entry__actions a:focus-visible{padding-left:7px;outline:0;border-color:var(--wine)}
.documents-note{
  grid-column:1/7;
  grid-row:3;
  margin:76px 0 0;
  padding-top:18px;
  border-top:1px solid var(--line);
  font-size:10px;
  line-height:1.5;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.68
}
@media(max-width:900px){
  .documents-intro{
    min-height:76svh;
    grid-template-columns:1fr;
    grid-template-rows:auto auto 1fr;
    padding:132px 24px 82px
  }
  .documents-intro>.eyebrow,
  .documents-intro .display,
  .documents-intro__copy{grid-column:1}
  .documents-intro .display{align-self:start;margin-top:68px;font-size:clamp(54px,15vw,76px)}
  .documents-intro__copy{align-self:end;margin-top:92px;font-size:16px}
  .documents-shelf{display:block;padding:24px 24px 120px}
  .document-entry{display:block}
  .document-entry--finishes{margin-top:94px}
  .document-entry__details{grid-template-columns:1fr}
  .document-entry__details>.eyebrow{margin-bottom:24px}
  .document-entry__details h2{font-size:38px}
  .document-entry__meta{margin-bottom:26px!important}
  .document-entry__details>p:not(.eyebrow):not(.document-entry__meta),
  .document-entry__actions{grid-column:1}
  .document-entry__actions{margin-top:31px}
  .documents-note{margin-top:72px}
}

@media(max-width:420px) and (max-height:720px){
  .menu-panel{padding-top:102px}
  .menu-panel .menu-panel__primary a{font-size:35px}
  .menu-panel__secondary{margin-top:34px;padding-bottom:36px}
  .menu-panel .menu-panel__secondary a{font-size:19px}
  .menu-panel .menu-panel__enquire{margin-top:auto;font-size:29px}
}

/* A Note from Oke & Tempo: image, letter and close as three composed plates. */
.note-hero{
  position:relative;
  height:168svh;
  overflow:visible;
  background:var(--cream);
  color:var(--wine)
}
.note-hero__stage{
  position:sticky;
  top:0;
  height:100svh;
  overflow:hidden;
  background:var(--cream)
}
.note-hero__stage>img{
  position:absolute;
  top:0;
  bottom:0;
  left:var(--note-image-left,46%);
  width:var(--note-image-width,54%);
  height:100%;
  object-fit:cover;
  object-position:center var(--note-image-focus-y,47%);
  transform:translateY(var(--note-image-y,0)) scale(var(--note-image-scale,1));
  transform-origin:center center;
  will-change:left,width,transform
}
.note-hero__copy{
  position:absolute;
  z-index:1;
  top:50%;
  left:var(--gutter);
  width:min(520px,39vw);
  padding:0;
  opacity:var(--note-copy-opacity,1);
  transform:translateY(calc(-50% + var(--note-copy-y,0)));
  will-change:opacity,transform
}
.note-hero__copy .eyebrow{margin-bottom:clamp(25px,3.5vh,38px)}
.note-hero__copy h1{
  margin:0;
  font:400 var(--type-display-opening)/.9 FilaroDisplay,serif;
  letter-spacing:-.035em;
  text-transform:uppercase
}
.note-hero__caption{
  position:absolute;
  z-index:1;
  left:var(--gutter);
  bottom:26px;
  margin:0;
  color:var(--wine);
  opacity:var(--note-copy-opacity,1);
  transform:translateY(var(--note-copy-y,0));
  font-size:8px;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase
}
.note-letter{
  padding:clamp(156px,20vh,218px) var(--gutter) clamp(164px,22vh,232px);
  background:var(--cream);
  color:var(--wine)
}
.note-letter__page{
  width:min(650px,calc(100% - 32vw));
  margin-left:32vw
}
.note-letter__body{
  display:grid;
  gap:1.25em;
  max-width:var(--measure-reading);
  font:400 var(--type-reading)/1.68 FilaroSans,Arial,sans-serif;
  letter-spacing:.002em
}
.note-letter__body p{margin:0}
.note-letter__signatures{
  display:flex;
  flex-direction:column;
  gap:17px;
  margin-top:clamp(72px,10vh,106px);
  padding-top:0
}
.note-letter__signatures div{display:flex;flex-direction:column;gap:2px}
.note-letter__signatures span{font:400 19px/1.35 FilaroDisplay,serif}
.note-letter__signatures small{font-weight:750;letter-spacing:.14em;text-transform:uppercase}
.note-letter__signatures small{font-size:8px;opacity:.68}
.note-letter__signatures .note-letter__action{
  width:min(320px,100%);
  margin-top:15px;
  padding-bottom:11px;
  border-bottom-color:rgba(91,44,45,.28)
}
.note-letter__signatures .note-letter__action span{font:inherit}
@media(max-width:900px){
  .note-hero{height:138svh}
  .note-hero__stage>img{top:40svh;bottom:auto;height:66svh;object-fit:contain;object-position:center top;background:var(--cream);transform:translateY(var(--note-image-y,0)) scale(var(--note-image-scale,1))}
  .note-hero__copy{top:32svh;left:24px;width:calc(100% - 48px);transform:translateY(calc(-50% + var(--note-copy-y,0)))}
  .note-hero__copy h1{font-size:clamp(46px,11.6vw,64px)}
  .note-hero__caption{right:24px;bottom:18px;left:auto;text-align:right}
  .note-experience-page .site-chrome:before{
    content:"";
    position:absolute;
    inset:0 0 -46px;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(247,245,239,.98) 0%,rgba(247,245,239,.92) 54%,rgba(247,245,239,0) 100%);
    opacity:0;
    transition:opacity .38s var(--ease)
  }
.note-experience-page.note-reading .site-chrome:before{opacity:1}
  .note-letter{padding:112px 24px 132px}
  .note-letter__page{width:100%;margin-left:0}
  .note-letter__body{font-size:18px;line-height:1.68}
  .closing{min-height:58svh;gap:64px}
  .closing .display{font-size:clamp(40px,11vw,58px)}
}

/* Project team: one composed authorship register, not a directory interface. */
.team-page .team-intro{
  display:grid;
  min-height:82svh;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:auto 1fr;
  column-gap:clamp(24px,2.4vw,42px);
  padding-top:clamp(168px,19vh,210px);
  padding-bottom:clamp(92px,11vh,126px)
}
.team-page .team-intro>div:first-child{
  display:grid;
  grid-column:1/9;
  grid-row:1/-1;
  grid-template-rows:auto 1fr;
  min-width:0
}
.team-page .team-intro>div:first-child .eyebrow{margin:0}
.team-page .team-intro .display{
  align-self:center;
  max-width:100%;
  font-size:clamp(64px,6.7vw,104px);
  line-height:.86
}
.team-page .team-intro .page-intro__copy{
  display:block;
  grid-column:1/6;
  grid-row:2;
  align-self:end;
  margin:0
}
.team-page .team-intro .page-intro__copy .lede{
  max-width:31rem;
  margin:0;
  font-family:var(--sans);
  font-size:var(--type-reading);
  font-weight:400;
  line-height:var(--leading-reading);
  letter-spacing:0;
  text-transform:none
}
.team-page .team{padding-top:clamp(94px,12vh,132px);padding-bottom:clamp(112px,15vh,158px)}
.team-page .team-list{border-top:1px solid var(--line)}
.team-page .team-list.reveal{
  opacity:1;
  transform:none;
  transition:none
}
.team-page .team-row{
  grid-template-columns:minmax(0,1.35fr) minmax(170px,.65fr) 18px;
  column-gap:clamp(20px,2.7vw,46px);
  min-height:92px;
  padding:25px 0;
  align-items:center;
  transition:none
}
.team-page .team-row:hover,.team-page .team-row:focus-visible{padding-left:0;outline:0}
.team-page .team-row b{
  display:grid;
  width:18px;
  height:18px;
  place-items:center;
  font:650 15px/1 var(--sans);
  transition:transform .34s var(--ease)
}
.team-page .team-row:hover b,.team-page .team-row:focus-visible b{transform:translate(3px,-3px)}
.team-page .team-image img{height:82svh}

@media(max-width:900px){
  .team-page .team-intro{
    min-height:100svh;
    grid-template-columns:1fr;
    grid-template-rows:auto;
    gap:0;
    padding:142px 24px 96px
  }
  .team-page .team-intro>div:first-child{
    display:block;
    grid-column:1;
    grid-row:auto
  }
  .team-page .team-intro .display{
    margin-top:34px;
    font-size:clamp(48px,12.8vw,64px)
  }
  .team-page .team-intro .page-intro__copy{
    grid-column:1;
    grid-row:auto;
    margin-top:42px
  }
  .team-page .team{padding-top:80px;padding-bottom:96px}
  .team-page .team-row{
    grid-template-columns:minmax(0,1fr) 16px;
    gap:16px;
    min-height:0;
    padding:24px 0
  }
  .team-page .team-row strong{font-size:clamp(24px,7vw,36px)}
  .team-page .team-row>span{grid-column:1;font-size:8px}
  .team-page .team-row>b{grid-column:2;grid-row:1/3}
  .team-page .team-image img{height:68svh}
}

/* Homepage experience blueprint — complete frames, protected reading holds and
   one legible carrier between scenes. */
.home-page .hero-media{
  opacity:.64
}
.home-page .hero-wash:after{
  content:"";
  position:absolute;
  inset:0;
  background:var(--wine);
  transform:translate3d(0,var(--hero-wipe,100%),0);
  will-change:transform
}
.home-page .hero-proposition{opacity:1}
.home-page .hero-proposition>span:first-child,
.home-page .hero-proposition__status{
  opacity:calc(1 - var(--hero-proposition-fade,0))
}

.home-page .status-chapter{
  --status-pad-left:max(var(--gutter),clamp(150px,8vw,184px));
  --status-pad-right:max(var(--gutter),clamp(190px,11vw,240px));
  position:relative;
  z-index:3;
  background:var(--wine);
  color:var(--cream);
  margin-top:-64svh;
  box-shadow:0 -2px 0 var(--wine);
  padding-right:var(--status-pad-right);
  padding-left:var(--status-pad-left);
  padding-top:clamp(54px,6vh,72px);
  padding-bottom:0;
  column-gap:11vw;
  row-gap:0
}
.home-page .status-chapter__body .status-kicker{
  text-align:left
}
.home-page .status-chapter__film-run{
  margin-top:clamp(34px,4.5vh,52px);
  margin-right:calc(0px - var(--status-pad-right));
  margin-bottom:0;
  margin-left:calc(0px - var(--status-pad-left))
}
.home-page .status-chapter__film-frame{
  box-shadow:0 0 0 1px rgba(247,245,239,.16)
}

.home-page .place-tease{
  min-height:100svh;
  background:var(--cream);
  color:var(--wine)
}
.home-page .home-architecture-intro{
  padding-top:clamp(110px,14vh,156px);
  padding-bottom:clamp(58px,7vh,80px)
}
.home-page .home-architecture-intro__linework{
  width:min(68%,520px);
  padding-bottom:0;
  border-bottom:0
}
.home-page .architecture-film-suite{
  padding-top:clamp(34px,4.5vh,54px)
}
.home-page .architecture-film-suite__cards{
  gap:0;
  border:1px solid var(--line)
}
.home-page .architecture-film-card:before{display:none}
.home-page .architecture-film-card+.architecture-film-card{
  border-left:1px solid var(--line)
}
.home-page .residence-preview{
  position:relative;
  padding-top:clamp(128px,17vh,184px);
  background:var(--wine);
  color:var(--cream)
}
.home-page .residence-preview__head{
  display:block;
  width:min(900px,100%);
  margin:0 auto clamp(58px,8vh,90px);
  text-align:left
}
.home-page .residence-preview__head>.eyebrow{
  position:static;
  margin:0 0 clamp(38px,5vh,54px);
  text-align:left
}
.home-page .residence-preview__intro .lede{
  max-width:680px;
  margin:clamp(30px,4vh,44px) 0 0
}
.home-page .residence-preview .type-list{
  width:min(900px,100%);
  margin-right:auto;
  margin-left:auto;
  border-color:rgba(247,245,239,.36)
}

.home-page .authored-rooms{
  position:relative;
  padding-top:clamp(112px,15vh,164px);
  padding-bottom:clamp(94px,12vh,132px);
  background:var(--wine);
  color:var(--cream)
}
.home-page .authored-rooms__head{
  grid-template-columns:minmax(180px,.62fr) minmax(0,1.5fr);
  gap:clamp(44px,8vw,128px);
  margin-bottom:clamp(58px,8vh,90px)
}
.home-page .authored-rooms__intro{
  width:min(900px,100%)
}
.home-page .authored-rooms__question{
  width:min(660px,100%);
  margin:clamp(26px,3.2vh,36px) 0 0;
  font-size:var(--type-reading);
  line-height:var(--leading-reading)
}
.home-page .authored-rooms__question>p{margin:0}
.home-page .authored-rooms__featured-question{
  margin:clamp(14px,2vh,20px) 0 0!important;
  color:rgba(247,245,239,.9);
  font:400 clamp(28px,2.5vw,38px)/1.02 var(--serif);
  letter-spacing:-.012em;
  text-transform:none
}
.home-page .authored-rooms__intro .display{margin:0}
.home-page .authored-rooms__intro .lede{
  width:min(660px,100%);
  margin:clamp(34px,4.5vh,52px) 0 0;
  color:rgba(247,245,239,.78)
}
.home-page .authored-rooms__intro .authored-rooms__question+.lede{margin-top:clamp(24px,3vh,32px)}
.home-page .authored-rooms__intro .lede p{margin:0}
.home-page .authored-rooms__intro .lede p+p{margin-top:clamp(12px,1.5vh,18px)}
.home-page .authored-composition{
  overflow:hidden;
  border:1px solid rgba(247,245,239,.38)
}
.home-page .authored-film__poster{
  position:relative;
  display:block;
  width:100%;
  min-height:clamp(520px,55vw,820px);
  padding:0;
  border:0;
  background:transparent;
  color:var(--cream);
  text-align:left;
  cursor:pointer
}
.home-page .authored-film__poster-media{
  position:absolute;
  inset:0;
  display:block;
  min-width:0;
  overflow:hidden
}
.home-page .authored-film__poster-media:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(48,20,21,.18),transparent 25%,transparent 66%,rgba(48,20,21,.32));
  opacity:.55;
  transition:opacity .55s var(--ease)
}
.home-page .authored-film__poster-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .85s var(--ease)
}
.home-page .authored-film__poster-copy{
  position:absolute;
  z-index:1;
  inset:0;
  display:flex;
  justify-content:space-between;
  flex-direction:column;
  padding:clamp(28px,3.4vw,54px);
  background:transparent;
  color:var(--cream);
  text-shadow:0 1px 20px rgba(20,8,8,.38)
}
.home-page .authored-film__poster-copy small,
.home-page .authored-film__poster-meta,
.home-page .authored-links small{
  font-size:8px;
  font-weight:750;
  letter-spacing:.18em;
  text-transform:uppercase
}
.home-page .authored-film__poster-meta{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:baseline
}
.home-page .authored-film__poster-meta b{font:inherit}
.home-page .authored-film__poster:hover .authored-film__poster-media img,
.home-page .authored-film__poster:focus-visible .authored-film__poster-media img{transform:scale(1.008)}
.home-page .authored-film__poster:hover .authored-film__poster-media:after,
.home-page .authored-film__poster:focus-visible .authored-film__poster-media:after{opacity:.82}
.home-page .authored-film__poster:focus-visible{outline:2px solid var(--cream);outline-offset:-6px}
.home-page .authored-film .feature-film__player video{
  object-fit:cover;
  object-position:center
}
.home-page .authored-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid rgba(247,245,239,.38)
}
.home-page .authored-links a{
  position:relative;
  display:flex;
  min-height:clamp(190px,18vw,240px);
  padding:clamp(28px,3vw,44px);
  flex-direction:column;
  color:inherit
}
.home-page .authored-links a+a{border-left:1px solid rgba(247,245,239,.38)}
.home-page .authored-links__row{
  display:flex;
  gap:24px;
  justify-content:space-between;
  align-items:center;
  margin-top:auto
}
.home-page .authored-links strong{
  font:400 clamp(34px,3.15vw,50px)/.94 FilaroDisplay,serif;
  letter-spacing:-.035em;
  text-transform:uppercase
}
.home-page .authored-links i{
  flex:0 0 auto;
  font:650 16px/1 FilaroSans,sans-serif;
  font-style:normal;
  transition:transform .34s var(--ease)
}
.home-page .authored-links a:hover,
.home-page .authored-links a:focus-visible{
  background:transparent;
  color:inherit
}
.home-page .authored-links a:focus-visible{outline:2px solid var(--cream);outline-offset:-6px}

.cta-roll__mask{
  display:block;
  height:1.2em;
  overflow:hidden
}
.cta-roll__track{
  display:grid;
  line-height:inherit;
  transition:transform .58s cubic-bezier(.76,0,.24,1);
  will-change:transform
}
.cta-roll__track>span{
  display:block;
  height:1.2em
}
.cta-roll:hover .cta-roll__track,
.cta-roll:focus-visible .cta-roll__track{transform:translate3d(0,-50%,0)}
.cta-roll__arrow{transition:transform .34s var(--ease)}
.cta-roll:hover .cta-roll__arrow,
.cta-roll:focus-visible .cta-roll__arrow{transform:translate(4px,-4px)}

.home-page .type-list a,
.home-page .type-list a:hover,
.home-page .type-list a:focus-visible{padding-left:0}

.home-page .closing{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  min-height:72svh;
  padding-top:clamp(96px,12vh,132px);
  padding-bottom:clamp(96px,12vh,132px);
  place-items:start stretch;
  background:var(--wine);
  color:var(--cream)
}
.home-page .closing__inner{
  width:min(900px,100%);
  margin:0 auto
}
.home-page .closing .display{
  width:min(760px,100%);
  margin:0;
  font-size:clamp(54px,5.25vw,84px)
}
.home-page .closing__action{
  width:min(430px,100%);
  margin-top:clamp(48px,6vh,68px);
  padding:0 0 14px;
  border-top:0;
  border-bottom:1px solid rgba(247,245,239,.46)
}
.home-page .closing__action b{
  font:650 16px/1 FilaroSans,sans-serif
}
.home-page .chapter-action{
  margin-top:clamp(26px,3.4vh,38px);
  border-bottom-color:rgba(91,44,45,.32)
}

@media(max-width:900px){
  .home-page .status-chapter{--status-pad-left:24px;--status-pad-right:24px;padding-top:clamp(126px,16vh,148px)}
  .home-page .status-chapter__body .status-kicker{text-align:left}
  .home-page .status-chapter__film-run{margin-top:30px}
  .home-page .place-tease{min-height:auto;padding-top:132px;padding-bottom:132px}
  .home-page .home-architecture-intro{padding-top:112px;padding-bottom:54px}
  .home-page .architecture-film-suite{padding-top:28px}
  .home-page .architecture-film-suite__cards{grid-template-columns:1fr}
  .home-page .architecture-film-card:nth-child(n){border-left:0}
  .home-page .architecture-film-card:nth-child(n+2){border-top:1px solid var(--line)}
  .home-page .residence-preview{padding-top:116px}
  .home-page .residence-preview__head{width:100%;margin-bottom:58px;text-align:left}
  .home-page .residence-preview__head>.eyebrow{position:static;margin-bottom:34px}
  .home-page .residence-preview__intro .lede{margin-left:0}
  .home-page .authored-rooms{padding-top:104px;padding-bottom:92px}
  .home-page .authored-rooms__head{grid-template-columns:1fr;gap:34px}
  .home-page .authored-film__poster{min-height:0;aspect-ratio:16/9}
  .home-page .authored-links{grid-template-columns:1fr}
  .home-page .authored-links a+a{border-top:1px solid rgba(247,245,239,.38);border-left:0}
  .home-page .closing{min-height:68svh;padding-top:96px;padding-bottom:96px}
  .home-page .closing__inner,
  .home-page .closing .display{width:100%}
  .home-page .closing__action{width:min(430px,100%)}
}

@media(max-width:560px){
  .home-page .hero-cta{width:126px;height:126px;bottom:28px}
  .home-page .architecture-film-card{min-height:0}
  .home-page .authored-film__poster-copy{padding:26px}
  .home-page .authored-links a{min-height:210px;padding:26px}
  .home-page .closing{min-height:64svh;padding-top:84px;padding-bottom:84px}
  .home-page .closing .display{font-size:clamp(48px,13vw,62px)}
  .home-page .closing__action{margin-top:42px}
}

@media(prefers-reduced-motion:reduce){
  .home-page{--hero-heading-fade:0!important;--hero-heading-move:0!important;--hero-proposition-fade:0!important;--hero-proposition-move:0!important;--hero-zoom:0!important;--hero-controls-fade:0!important;--hero-wipe:100%!important}
  .home-page .hero-media,.home-page .hero-name,.home-page .hero-heading h1,.home-page .hero-heading p,.home-page .hero-title-char,.home-page .hero-proposition>span:first-child,.home-page .hero-proposition__status,.home-page .hero-cta,.home-page .brand-mark,.home-page .site-nav{animation:none!important;transform:none!important;opacity:1!important}
  .home-page .hero-media{opacity:1}
  .home-page .hero-wash:after{display:none}
  .home-page .hero-proposition>span:first-child,
  .home-page .hero-proposition__status{opacity:1}
  .home-page .authored-film__poster-media img,
  .home-page .authored-film__poster-copy,
  .home-page .authored-links a,
  .home-page .authored-links i,
  .cta-roll__track,
  .cta-roll__arrow{transition:none}
  .cta-roll:hover .cta-roll__track,
  .cta-roll:focus-visible .cta-roll__track,
  .cta-roll:hover .cta-roll__arrow,
  .cta-roll:focus-visible .cta-roll__arrow{transform:none}
}

.home-page .hero-cta{
  opacity:calc(1 - var(--hero-controls-fade,0))
}
.home-page .home-architecture-intro__linework img{
  filter:url(#home-linework-wine);
  mix-blend-mode:normal
}
.home-page .architecture-film-suite{
  padding-bottom:clamp(72px,9vh,100px)
}
.home-page .architecture-film-suite__action{
  align-self:flex-end;
  margin-top:clamp(44px,6vh,64px)
}
.home-page .architecture-film-suite__head{
  padding-right:clamp(112px,10vw,160px);
  padding-left:clamp(46px,4.5vw,72px)
}
.home-page .site-footer.site-footer--structured{
  border-top:0
}

@media(max-width:900px){
  .home-page .architecture-film-suite{padding-top:118px}
  .home-page .architecture-film-suite__head{padding-right:0;padding-left:0}
  .home-page .home-architecture-intro__linework{width:min(88%,520px)}
}

/* Homepage plate grid: every chapter owns the full viewport width, while its
   content clears the persistent emblem and navigation lanes. */
.home-page{
  --home-plate-left:max(var(--gutter),clamp(150px,8vw,184px));
  --home-plate-right:max(var(--gutter),clamp(190px,11vw,240px))
}
.home-page .status-chapter{
  --status-pad-left:var(--home-plate-left);
  --status-pad-right:var(--home-plate-right)
}
.home-page .place-tease,
.home-page .home-architecture-intro,
.home-page .architecture-film-suite,
.home-page .residence-preview,
.home-page .authored-rooms,
.home-page .closing{
  padding-right:var(--home-plate-right);
  padding-left:var(--home-plate-left)
}
.home-page .place-tease,
.home-page .home-architecture-intro,
.home-page .architecture-film-suite,
.home-page .residence-preview,
.home-page .authored-rooms{
  min-height:clamp(760px,92svh,1040px)
}
@media(min-width:901px){
  .home-page .home-architecture-intro{min-height:100svh}
}
.home-page .architecture-film-suite{
  display:flex;
  padding-top:clamp(76px,8vh,96px);
  padding-bottom:clamp(96px,11vh,128px);
  flex-direction:column;
  justify-content:flex-start
}
.home-page .architecture-film-suite__head{
  padding-right:0;
  padding-left:0
}
@media(max-width:900px){
  .home-page{
    --home-plate-left:24px;
    --home-plate-right:24px
  }
  .home-page .place-tease,
  .home-page .home-architecture-intro,
  .home-page .architecture-film-suite,
  .home-page .residence-preview,
  .home-page .authored-rooms{
    min-height:auto
  }
  .home-page .architecture-film-suite{
    padding-top:124px;
    padding-bottom:70px
  }
  .home-page .architecture-film-suite__head{grid-template-columns:1fr;gap:24px}
  .home-page .architecture-film-suite__cards{grid-template-columns:1fr}
  .home-page .architecture-film-card:nth-child(n){border-left:0}
  .home-page .architecture-film-card:nth-child(n+2){border-top:1px solid var(--line)}

  .home-page .home-architecture-intro{
    min-height:100svh;
    align-content:center;
    padding-top:108px;
    padding-bottom:72px
  }
  .home-page .architecture-film-suite__action{
    align-self:stretch;
    margin-top:38px
  }
  .home-page .home-architecture-intro__body>p:not(.lede){
    max-width:34em;
    margin-top:22px;
    font-size:var(--type-reading);
    line-height:var(--leading-reading)
  }
.home-page .home-architecture-intro__linework{
    width:min(72%,420px);
    margin-top:26px
  }
  .home-page .architecture-film-suite__head{margin-bottom:30px}
  .home-page .architecture-film-suite__cards{gap:0}
  .home-page .residence-preview{
    padding-top:124px;
    padding-bottom:68px
  }
  .home-page .residence-preview__head{margin-bottom:46px}
  .home-page .authored-rooms{
    padding-top:140px;
    padding-bottom:72px
  }
  .home-page .authored-rooms__head{margin-bottom:44px}
  .home-page .authored-rooms__intro .lede{
    margin-top:26px;
    font-size:17px;
    line-height:1.18
  }
}

/* Architecture destination v2: one accumulating argument from whole to home. */
.architecture-page--rethought .architecture-hero{
  position:relative;
  isolation:isolate;
  min-height:100svh;
  overflow:hidden;
  background:var(--cream);
  color:var(--wine)
}
.architecture-page--rethought .architecture-hero video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center
}
.architecture-page--rethought .architecture-hero__shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(247,245,239,.08) 0,rgba(247,245,239,0) 48%,rgba(22,17,16,.24) 100%);
  pointer-events:none
}
.architecture-page--rethought .architecture-hero__content{
  position:absolute;
  z-index:1;
  top:clamp(122px,13vh,152px);
  left:var(--gutter);
  width:min(900px,72vw)
}
.architecture-page--rethought .architecture-hero__content .eyebrow{margin-bottom:clamp(24px,3vh,34px)}
.architecture-page--rethought .architecture-hero .display{
  max-width:900px;
  font-size:clamp(62px,6.5vw,98px);
  line-height:.84;
  text-shadow:0 1px 20px rgba(247,245,239,.25)
}
.architecture-page--rethought .architecture-hero__proposition{
  position:absolute;
  z-index:1;
  bottom:clamp(34px,5vh,58px);
  left:var(--gutter);
  margin:0;
  color:var(--cream);
  font:400 clamp(25px,2.45vw,38px)/.96 FilaroDisplay,serif;
  letter-spacing:-.02em;
  text-shadow:0 1px 18px rgba(0,0,0,.55);
  text-transform:uppercase
}
.architecture-page--rethought .architecture-hero__credit{
  position:absolute;
  z-index:1;
  right:var(--gutter);
  bottom:clamp(34px,5vh,58px);
  margin:0;
  color:var(--cream);
  font-size:8px;
  font-weight:750;
  line-height:1.55;
  letter-spacing:.17em;
  text-align:right;
  text-shadow:0 1px 16px rgba(0,0,0,.55);
  text-transform:uppercase
}
.architecture-page--rethought .architecture-reading{
  max-width:var(--measure-reading);
  margin-top:clamp(34px,4.6vh,50px);
  font:400 clamp(18px,1.42vw,23px)/1.22 FilaroDisplay,serif
}
.architecture-page--rethought .architecture-reading p{margin:0}
.architecture-page--rethought .architecture-reading p+p{margin-top:clamp(15px,1.8vh,22px)}
.architecture-page--rethought .pin:after{
  opacity:0;
  animation:architecture-pin-invite 8.4s cubic-bezier(.22,.61,.36,1) var(--pin-cue-delay,0s) infinite both;
  transform:scale(1);
  transition:opacity .3s var(--ease),transform .4s var(--ease)
}
.architecture-page--rethought .pin:hover:after,
.architecture-page--rethought .pin:focus-visible:after,
.architecture-page--rethought .pin[aria-expanded="true"]:after{opacity:.72;animation:none;transform:scale(1.48)}
@keyframes architecture-pin-invite{
  0%,8%{opacity:0;transform:scale(1)}
  13%{opacity:.66}
  30%,100%{opacity:0;transform:scale(1.72)}
}
.architecture-page--rethought .architecture-whole{
  overflow:hidden;
  padding-top:clamp(140px,18vh,198px);
  padding-bottom:0;
  background:var(--cream);
  color:var(--wine)
}
.architecture-page--rethought .architecture-whole__head,
.architecture-page--rethought .architecture-section__head{
  display:grid;
  grid-template-columns:minmax(180px,.5fr) minmax(0,1.5fr);
  gap:clamp(60px,10vw,160px);
  align-items:start;
  padding-right:clamp(0px,4vw,64px)
}
.architecture-page--rethought .architecture-whole__head .display,
.architecture-page--rethought .architecture-section__head .display{
  max-width:900px;
  font-size:clamp(52px,6vw,92px);
  line-height:.87
}
.architecture-page--rethought .architecture-whole__head>.eyebrow,
.architecture-page--rethought .architecture-section__head>.eyebrow{margin-left:52px}
.architecture-page--rethought .architecture-street-view{
  position:relative;
  width:calc(100% + (var(--gutter) * 2));
  margin:clamp(92px,12vh,134px) 0 0 calc(var(--gutter) * -1)
}
.architecture-page--rethought .architecture-street-view>img{
  display:block;
  width:100%;
  height:min(72svh,840px);
  object-fit:cover;
  object-position:center bottom
}
.architecture-page--rethought .architecture-street-view figcaption,
.architecture-page--rethought .architecture-section__figure figcaption,
.architecture-page--rethought .architecture-inside__figure figcaption{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin:12px var(--gutter) 0;
  font-size:8px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase
}
.architecture-page--rethought .architecture-street-pin{color:var(--cream)}
.architecture-page--rethought .architecture-street-pin--field{top:57%;left:49%}
.architecture-page--rethought .architecture-street-pin--openings{top:48%;left:65%}
.architecture-page--rethought .architecture-street-pin--threshold{top:79%;left:31%}
.architecture-page--rethought .architecture-position{
  display:grid;
  min-height:100svh;
  grid-template-columns:minmax(0,1.38fr) minmax(390px,.62fr);
  background:var(--wine);
  color:var(--cream)
}
.architecture-page--rethought .architecture-position__image{
  min-width:0;
  min-height:100svh;
  margin:0;
  overflow:hidden
}
.architecture-page--rethought .architecture-position__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:57% center
}
.architecture-page--rethought .architecture-position__copy{
  display:flex;
  min-width:0;
  padding:clamp(132px,17vh,188px) clamp(42px,5vw,82px) clamp(84px,11vh,124px);
  flex-direction:column;
  justify-content:space-between
}
.architecture-page--rethought .architecture-position__copy .display{
  max-width:520px;
  margin-top:auto;
  font-size:clamp(48px,4.9vw,75px);
  line-height:.88
}
.architecture-page--rethought .architecture-position__copy .architecture-reading{
  max-width:430px;
  margin-top:clamp(42px,6vh,66px);
  font-size:clamp(17px,1.18vw,20px)
}
.architecture-page--rethought .architecture-section{
  overflow:hidden;
  padding-top:clamp(144px,18vh,198px);
  padding-bottom:clamp(124px,16vh,178px);
  background:var(--cream);
  color:var(--wine)
}
.architecture-page--rethought .architecture-section__figure{
  position:relative;
  margin:clamp(82px,11vh,122px) 0 0
}
.architecture-page--rethought .architecture-section__figure>img{
  width:100%;
  height:auto;
  background:var(--cream);
  object-fit:contain;
  filter:contrast(1.12) saturate(.92)
}
.architecture-page--rethought .architecture-section-pin{color:var(--wine)}
.architecture-page--rethought .architecture-section-pin--arrival{top:72%;left:39%}
.architecture-page--rethought .architecture-section-pin--living{top:47%;left:39%}
.architecture-page--rethought .architecture-section-pin--retreat{top:28%;left:39%}
.architecture-page--rethought .architecture-section-pin--terrace{top:12%;left:36%}
.architecture-page--rethought .architecture-inside{
  display:grid;
  min-height:100svh;
  grid-template-columns:minmax(360px,.64fr) minmax(0,1.36fr);
  align-items:center;
  gap:clamp(60px,7vw,116px);
  padding:clamp(118px,15vh,166px) 0 clamp(118px,15vh,166px) var(--gutter);
  overflow:hidden;
  background:var(--wine);
  color:var(--cream)
}
.architecture-page--rethought .architecture-inside__copy{max-width:520px}
.architecture-page--rethought .architecture-inside__copy .display{
  font-size:clamp(48px,5vw,77px);
  line-height:.88
}
.architecture-page--rethought .architecture-inside__copy .architecture-reading{
  max-width:460px;
  font-size:clamp(17px,1.18vw,20px)
}
.architecture-page--rethought .architecture-inside__figure{
  position:relative;
  min-width:0;
  margin:0
}
.architecture-page--rethought .architecture-inside__figure>img{
  width:100%;
  height:min(76svh,820px);
  object-fit:cover;
  object-position:center
}
.architecture-page--rethought .architecture-inside__figure figcaption{
  margin-right:var(--gutter);
  margin-left:0;
  color:var(--cream)
}
.architecture-page--rethought .architecture-inside-pin{color:var(--wine)}
.architecture-page--rethought .architecture-inside-pin--joinery{top:30%;left:28%}
.architecture-page--rethought .architecture-inside-pin--stone{top:61%;left:51%}
.architecture-page--rethought .architecture-inside-pin--light{top:13%;left:62%}
.architecture-page--rethought .closing{
  min-height:68svh;
  padding-top:clamp(110px,14vh,154px);
  padding-bottom:clamp(100px,13vh,142px)
}
.architecture-page--rethought .closing .display{font-size:clamp(50px,5.15vw,78px)}
.architecture-page--rethought .closing__action{
  width:min(430px,100%);
  padding:0 0 14px;
  border-top:0
}
.architecture-page--rethought .closing__action b{font:650 16px/1 FilaroSans,sans-serif}

@media(max-width:900px){
  .architecture-page--rethought .architecture-hero video{
    top:216px;
    height:calc(100% - 216px);
    object-position:56% center
  }
  .architecture-page--rethought .architecture-hero__shade{top:216px}
  .architecture-page--rethought .architecture-hero__content{
    top:118px;
    left:24px;
    width:calc(100% - 48px)
  }
  .architecture-page--rethought .architecture-hero__content .eyebrow{margin-bottom:24px}
  .architecture-page--rethought .architecture-hero .display{font-size:clamp(52px,13.8vw,76px)}
  .architecture-page--rethought .architecture-hero__proposition{bottom:38px;left:24px;font-size:clamp(24px,6.5vw,34px)}
  .architecture-page--rethought .architecture-hero__credit{right:24px;bottom:28px}
  .architecture-page--rethought .architecture-whole{
    padding-top:122px;
    padding-right:24px;
    padding-left:24px
  }
  .architecture-page--rethought .architecture-whole__head,
  .architecture-page--rethought .architecture-section__head{
    grid-template-columns:1fr;
    gap:34px;
    padding-right:0
  }
  .architecture-page--rethought .architecture-whole__head .display,
  .architecture-page--rethought .architecture-section__head .display{font-size:clamp(46px,11.8vw,66px)}
  .architecture-page--rethought .architecture-whole__head>.eyebrow,
  .architecture-page--rethought .architecture-section__head>.eyebrow{margin-left:62px}
  .architecture-page--rethought .architecture-reading{
    margin-top:28px;
    font-size:18px;
    line-height:1.25
  }
  .architecture-page--rethought .architecture-street-view{
    width:calc(100% + 48px);
    margin:72px 0 0 -24px
  }
  .architecture-page--rethought .architecture-street-view>img{
    height:auto;
    aspect-ratio:1.55;
    object-position:center bottom
  }
  .architecture-page--rethought .architecture-street-view figcaption,
  .architecture-page--rethought .architecture-section__figure figcaption,
  .architecture-page--rethought .architecture-inside__figure figcaption{
    margin-right:24px;
    margin-left:24px
  }
  .architecture-page--rethought .architecture-position{
    min-height:0;
    grid-template-columns:1fr
  }
  .architecture-page--rethought .architecture-position__image{
    min-height:0;
    aspect-ratio:4/5
  }
  .architecture-page--rethought .architecture-position__image img{object-position:57% center}
  .architecture-page--rethought .architecture-position__copy{
    min-height:82svh;
    padding:112px 24px 104px
  }
  .architecture-page--rethought .architecture-position__copy .display{
    margin-top:auto;
    font-size:clamp(46px,11.8vw,66px)
  }
  .architecture-page--rethought .architecture-position__copy .architecture-reading{font-size:18px}
  .architecture-page--rethought .architecture-section{
    padding:150px 24px 112px
  }
  .architecture-page--rethought .architecture-section__figure{
    width:calc(100% + 48px);
    margin:68px 0 0 -24px
  }
  .architecture-page--rethought .architecture-section__figure figcaption{padding-right:24px;padding-left:24px}
  .architecture-page--rethought .architecture-section__figure figcaption{margin-right:0;margin-left:0}
  .architecture-page--rethought .architecture-inside{
    min-height:0;
    grid-template-columns:1fr;
    gap:64px;
    padding:112px 24px 0
  }
  .architecture-page--rethought .architecture-inside__copy{max-width:620px}
  .architecture-page--rethought .architecture-inside__copy .display{font-size:clamp(46px,11.8vw,66px)}
  .architecture-page--rethought .architecture-inside__copy .architecture-reading{font-size:18px}
  .architecture-page--rethought .architecture-inside__figure{
    width:calc(100% + 48px);
    margin-left:-24px
  }
  .architecture-page--rethought .architecture-inside__figure>img{
    height:auto;
    aspect-ratio:4/3;
    object-position:center
  }
  .architecture-page--rethought .architecture-inside__figure figcaption{margin-bottom:16px}
  .architecture-page--rethought .closing{min-height:64svh;padding-top:96px;padding-bottom:96px}
}

@media(max-width:560px){
  .architecture-page--rethought .architecture-hero{min-height:96svh}
  .architecture-page--rethought .architecture-hero video{object-position:60% center}
  .architecture-page--rethought .architecture-hero__content{top:112px}
  .architecture-page--rethought .architecture-hero__proposition{bottom:88px}
  .architecture-page--rethought .architecture-hero__credit{bottom:22px}
  .architecture-page--rethought .architecture-street-view figcaption,
  .architecture-page--rethought .architecture-section__figure figcaption,
  .architecture-page--rethought .architecture-inside__figure figcaption{align-items:flex-start;flex-direction:column;gap:5px}
  .architecture-page--rethought .architecture-street-pin,
  .architecture-page--rethought .architecture-section-pin,
  .architecture-page--rethought .architecture-inside-pin{transform:scale(.86)}
  .architecture-page--rethought .architecture-position__copy{min-height:76svh}
  .architecture-page--rethought .architecture-inside__figure>img{aspect-ratio:1/1}
  .architecture-page--rethought .architecture-inside-pin--joinery{top:26%;left:25%}
  .architecture-page--rethought .architecture-inside-pin--stone{top:61%;left:49%}
  .architecture-page--rethought .architecture-inside-pin--light{top:13%;left:61%}
}

@media(prefers-reduced-motion:reduce){
  .architecture-page--rethought .architecture-hero video{display:none}
  .architecture-page--rethought .architecture-hero{background:url('/assets/images/gallery-corner-perspective.webp') 58% center/cover no-repeat}
  .architecture-page--rethought .pin:after{opacity:.42;animation:none;transform:scale(1.34)}
}

@media(max-width:560px){
  .home-page .architecture-film-card{min-height:0}
  .home-page .architecture-film-card strong{top:auto}
  .home-page .authored-links a{min-height:172px;padding:24px}
}

/* Architecture — complete light-led destination */
.architecture-page--light-frame .architecture-reading {
  max-width: 34rem;
  font-family: var(--serif);
  font-size: clamp(1.15rem, 1.55vw, 1.55rem);
  line-height: 1.42;
}

.architecture-page--light-frame .architecture-reading p + p {
  margin-top: .85em;
}

.architecture-chapter {
  display: grid;
  grid-template-columns: minmax(8rem, 1fr) minmax(0, 3fr);
  gap: var(--gutter);
  align-items: start;
}

.architecture-chapter > div {
  display: grid;
  grid-template-columns: minmax(20rem, 1.3fr) minmax(18rem, .7fr);
  gap: clamp(2rem, 7vw, 8rem);
  align-items: end;
}

.architecture-chapter .display {
  max-width: 10ch;
  font-size: clamp(4rem, 7vw, 8rem);
  line-height: .88;
  letter-spacing: -.045em;
}

.architecture-levels,
.architecture-interiors,
.architecture-closing {
  color: var(--cream);
  background: var(--wine);
}

.architecture-levels__pair {
  margin-top: clamp(5rem, 10vw, 10rem);
  display: grid;
  gap: clamp(1rem, 2vw, 2rem);
}

.architecture-levels__figure {
  position: relative;
  margin: 0;
  color: var(--wine);
  background: var(--cream);
}

.architecture-levels__figure img {
  display: block;
  width: 100%;
  height: auto;
}

.architecture-levels__figure--side {
  aspect-ratio: 1.5 / 1;
  overflow: hidden;
}

.architecture-levels__figure--side img {
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.architecture-levels-pin {
  z-index: 2;
  color: var(--wine);
  filter: drop-shadow(0 1px 5px rgba(247, 245, 239, .5));
}

.architecture-levels-pin--retreat { left: 51%; top: 48%; --pin-cue-delay:1.4s; }
.architecture-levels-pin--living { left: 52%; top: 31%; --pin-cue-delay:2.8s; }
.architecture-levels-pin--outlook { left: 51%; top: 69%; }
.architecture-levels-pin--front-garden { left: 66%; top: 82%; }
.architecture-levels-pin--ground { left: 25%; top: 90%; --pin-cue-delay:0s; }
.architecture-levels-pin--terrace { left: 29%; top: 15%; --pin-cue-delay:4.2s; }

.architecture-rooms {
  display: grid;
  gap: clamp(7rem, 13vw, 13rem);
  margin-top: clamp(5rem, 10vw, 10rem);
}

.architecture-interiors .architecture-chapter > div {
  grid-template-columns: minmax(24rem, 1.5fr) minmax(17rem, .5fr);
}

.architecture-interiors .architecture-chapter .display {
  font-size: clamp(3.7rem, 6vw, 7rem);
}

.architecture-room {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(18rem, .55fr);
  gap: clamp(2.5rem, 6vw, 7rem);
  align-items: end;
}

.architecture-room--living { grid-template-columns: minmax(18rem, .55fr) minmax(0, 1.65fr); }
.architecture-room--living figure { grid-column: 2; grid-row: 1; }
.architecture-room--living > .architecture-room__notes { grid-column: 1; grid-row: 1; }

.architecture-room figure {
  overflow: hidden;
  background: #d9d1c7;
  height: min(62vw, 50rem);
}

.architecture-room img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.architecture-room--living img { object-position: center 37%; }
.architecture-room--retreat img { object-position: center; }

.architecture-room__notes {
  display: grid;
  gap: clamp(2.25rem, 4vw, 4rem);
  padding: 0 0 clamp(1.5rem, 3vw, 3rem);
}

.architecture-room h3 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(2.3rem, 3.4vw, 4.25rem);
  font-weight: 400;
  line-height: .93;
  letter-spacing: -.04em;
  text-transform: uppercase;
}

.architecture-room__note + .architecture-room__note {
  padding-top: clamp(2.25rem, 4vw, 4rem);
  border-top: 1px solid rgba(247, 245, 239, .32);
}

.architecture-room__note > p {
  max-width: 34rem;
  margin-top: clamp(1.25rem, 2vw, 1.75rem);
  font-family: var(--serif);
  font-size: clamp(1.05rem, 1.35vw, 1.3rem);
  line-height: 1.42;
}

.architecture-collection {
  color: var(--wine);
  background: var(--cream);
}

.architecture-collection__copy {
  min-height: 92svh;
  display: flex;
  flex-direction: column;
  padding: clamp(5rem, 9vw, 9rem) var(--gutter) clamp(3rem, 6vw, 6rem);
}

.architecture-collection__copy .display {
  max-width: 9ch;
  margin-top: auto;
  font-size: clamp(4rem, 6vw, 7rem);
  line-height: .88;
  letter-spacing: -.045em;
}

.architecture-collection__copy .architecture-reading {
  margin-top: clamp(2.5rem, 5vw, 5rem);
}

.architecture-collection__render {
  width: 100%;
  height: 100svh;
  margin: 0;
  overflow: hidden;
  background: var(--cream);
}

.architecture-collection__render img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
  -webkit-mask-image: url('/assets/images/architecture-collection-street-elevation-mask-working.png');
  -webkit-mask-size: cover;
  -webkit-mask-position: center bottom;
  -webkit-mask-repeat: no-repeat;
  mask-image: url('/assets/images/architecture-collection-street-elevation-mask-working.png');
  mask-mode: alpha;
  mask-size: cover;
  mask-position: center bottom;
  mask-repeat: no-repeat;
}

.architecture-types {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0 var(--architecture-plate-right) clamp(7rem, 11vw, 11rem) var(--architecture-plate-left);
}

.architecture-type {
  min-width: 0;
  padding: clamp(2rem, 3.5vw, 3.75rem) clamp(1.5rem, 3vw, 3.5rem) 0;
  border-top: 1px solid rgba(91, 44, 45, .35);
}

.architecture-type:first-child { padding-left: 0; }
.architecture-type:last-child { padding-right: 0; }
.architecture-type + .architecture-type { border-left: 1px solid rgba(91, 44, 45, .35); }

.architecture-type-map {
  position: relative;
  width: 100%;
  aspect-ratio: 591 / 291;
  margin-bottom: clamp(2.5rem, 4vw, 4.25rem);
}

.architecture-type-map__units {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 74fr 102fr 103fr 103fr 102fr 107fr;
  align-items: start;
}

.architecture-type-map__units span {
  position: relative;
  height: 74.23%;
  background: rgba(91, 44, 45, .07);
}

.architecture-type-map__units span:first-child { height: 100%; }
.architecture-type-map__units span.is-active { background: rgba(91, 44, 45, .78); }

.architecture-type-map__units b {
  position: absolute;
  top: 15%;
  left: 50%;
  transform: translateX(-50%);
  color: var(--wine);
  font-family: var(--sans);
  font-size: clamp(.48rem, .55vw, .62rem);
  font-weight: 650;
  line-height: 1;
  letter-spacing: .05em;
}

.architecture-type-map__units .is-active b { color: var(--cream); }

.architecture-type-map__outline {
  position: absolute;
  inset: 0;
  background: var(--wine);
  -webkit-mask: url('/assets/images/architecture-six-homes-massing-outline.png') center / 100% 100% no-repeat;
  mask: url('/assets/images/architecture-six-homes-massing-outline.png') center / 100% 100% no-repeat;
  pointer-events: none;
}

.architecture-type h3 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(2.35rem, 3vw, 4rem);
  font-weight: 400;
  line-height: .95;
  letter-spacing: -.035em;
  text-transform: uppercase;
}

.architecture-type > p {
  max-width: 31rem;
  margin-top: clamp(1.4rem, 2vw, 2rem);
  font-family: var(--serif);
  font-size: clamp(1.05rem, 1.28vw, 1.25rem);
  line-height: 1.42;
}

.architecture-closing .closing__action {
  width: min(430px, 100%);
  align-items: center;
  padding: 0 0 14px;
  border-top: 0;
  border-bottom: 1px solid rgba(247, 245, 239, .46);
}

.architecture-closing .closing__action b {
  font: 650 16px/1 FilaroSans, sans-serif;
}

@media (max-width: 1000px) {
  .architecture-chapter,
  .architecture-chapter > div {
    grid-template-columns: 1fr;
  }
  .architecture-chapter > div { gap: 3rem; }
  .architecture-collection__copy { min-height: 72svh; }
  .architecture-types { grid-template-columns: 1fr; }
  .architecture-type {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr);
    column-gap: clamp(2rem, 6vw, 5rem);
    padding: clamp(3.5rem, 7vw, 6rem) 0;
  }
  .architecture-type + .architecture-type { border-left: 0; }
  .architecture-type-map { grid-row: span 2; margin-bottom: 0; }
  .architecture-type h3 { align-self: end; }
}

@media (max-width: 700px) {
  .architecture-room--kitchen,
  .architecture-room--living,
  .architecture-room--retreat {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .architecture-room--living figure,
  .architecture-room--living > .architecture-room__notes { grid-column: 1; grid-row: auto; }
  .architecture-room--kitchen figure,
  .architecture-room--living figure,
  .architecture-room--retreat figure { height: 72svh; min-height: 0; }
  .architecture-room__notes { padding-top: 2rem; }
  .architecture-collection__copy { min-height: 80svh; }
  .architecture-collection__render { height: 72svh; }
  .architecture-types {
    padding-right: var(--architecture-plate-right);
    padding-left: var(--architecture-plate-left);
  }
  .architecture-type {
    display: block;
    padding: 3.25rem 0 4.25rem;
  }
  .architecture-type-map { margin-bottom: 2.5rem; }
  .architecture-type-map__units b { font-size: .52rem; }
}

/* Architecture alignment repair: return the page to the established plate
   and typography system used by Home and Place. */
.architecture-page--light-frame {
  --architecture-plate-left: max(var(--gutter), clamp(150px, 8vw, 184px));
  --architecture-plate-right: max(var(--gutter), clamp(190px, 11vw, 240px));
  --architecture-display-chapter: clamp(54px, 4.45vw, 72px);
  --architecture-reading-size: clamp(20px, 1.55vw, 24px);
}

.architecture-page--rethought.architecture-page--light-frame .architecture-hero {
  padding-right: var(--architecture-plate-right);
  padding-left: var(--architecture-plate-left);
}

.architecture-page--light-frame .architecture-levels,
.architecture-page--light-frame .architecture-interiors {
  padding-right: var(--architecture-plate-right);
  padding-left: var(--architecture-plate-left);
}

.architecture-page--light-frame .architecture-chapter > div,
.architecture-page--light-frame .architecture-interiors .architecture-chapter > div {
  display: block;
}

.architecture-page--light-frame .architecture-chapter .display,
.architecture-page--light-frame .architecture-interiors .architecture-chapter .display,
.architecture-page--light-frame .architecture-collection__copy .display {
  font-size: var(--architecture-display-chapter);
  line-height: .9;
  letter-spacing: -.045em;
}

.architecture-page--light-frame .architecture-reading {
  max-width: 650px;
  margin-top: clamp(32px, 4vh, 44px);
  font-size: var(--architecture-reading-size);
  line-height: 1.18;
}

.architecture-page--rethought.architecture-page--light-frame .architecture-hero__statement {
  font-size: var(--architecture-reading-size);
  line-height: 1.18;
}

.architecture-page--light-frame .architecture-collection__copy {
  padding-right: clamp(42px, 4.6vw, 72px);
  padding-left: var(--architecture-plate-left);
}

@media (max-width: 900px) {
  .architecture-page--light-frame {
    --architecture-plate-left: 24px;
    --architecture-plate-right: 24px;
    --architecture-display-chapter: clamp(44px, 10.8vw, 56px);
    --architecture-reading-size: clamp(19px, 5.4vw, 22px);
  }

  .architecture-page--rethought.architecture-page--light-frame .architecture-hero,
  .architecture-page--light-frame .architecture-collection__copy {
    padding-right: var(--architecture-plate-right);
    padding-left: var(--architecture-plate-left);
  }
}

/* Architecture form: the first internal chapter moves from an aligned text
   composition into one uninterrupted, full-screen proof image. */
.architecture-form {
  color: var(--wine);
  background: var(--cream);
}

.architecture-form__copy {
  min-height: 86svh;
  display: grid;
  grid-template-columns: minmax(8rem, 1fr) minmax(0, 3fr);
  gap: var(--gutter);
  align-items: start;
  padding: clamp(150px, 18vh, 190px) var(--architecture-plate-right) clamp(110px, 14vh, 150px) var(--architecture-plate-left);
}

.architecture-form__copy > .eyebrow {
  margin: 0;
}

.architecture-form__copy .display {
  max-width: none;
  font-size: var(--architecture-display-chapter);
  line-height: .9;
  letter-spacing: -.045em;
}

.architecture-form__copy .line-reveal__inner > span {
  display: block;
  white-space: nowrap;
}

.architecture-page--light-frame .architecture-form__copy .architecture-reading {
  max-width: 650px;
  margin-top: clamp(32px, 4vh, 44px);
  font-size: var(--architecture-reading-size);
  line-height: 1.18;
}

.architecture-form__image {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: 100svh;
  margin: 0;
  overflow: hidden;
  background: var(--cream);
}

.architecture-form__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  -webkit-mask-image: url('/assets/images/architecture-form-street-elevation-mask-working.png');
  -webkit-mask-size: cover;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-image: url('/assets/images/architecture-form-street-elevation-mask-working.png');
  mask-mode: luminance;
  mask-size: cover;
  mask-position: center;
  mask-repeat: no-repeat;
}

.architecture-form-pin {
  z-index: 2;
  color: var(--cream);
}

.architecture-form-pin--brick {
  top: 38%;
  left: 76%;
  --pin-cue-delay:0s;
}

.architecture-form-pin--openings {
  top: 33%;
  left: 53%;
  --pin-cue-delay:1.4s;
}

.architecture-form-pin--landscape {
  top: 72%;
  left: 46%;
  --pin-cue-delay:2.8s;
}

.architecture-form__detail {
  z-index: 3;
}

.ui-form-image .brand-mark {
  color: var(--wine);
}

.ui-form-image .site-nav {
  color: var(--cream);
  text-shadow: 0 1px 10px rgba(0, 0, 0, .28);
}

@media (min-width: 1101px) {
  .architecture-form__image img {
    transform: scale(1.12);
    transform-origin: left center;
  }

  .architecture-form-pin--brick {
    top: 36.6%;
    left: 85.1%;
  }

  .architecture-form-pin--openings {
    top: 31%;
    left: 59.4%;
  }

  .architecture-form-pin--landscape {
    top: 74.6%;
    left: 51.5%;
  }
}

@media (max-width: 1100px) {
  .architecture-form__copy {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 0;
    padding-top: 130px;
    padding-bottom: 110px;
  }

  .architecture-form__copy .display {
    max-width: none;
    margin-top: 64px;
  }

  .architecture-page--light-frame .architecture-form__copy .architecture-reading {
    margin-top: 42px;
  }

  .architecture-form-pin--brick {
    top: 34%;
    left: 82%;
  }

  .architecture-form-pin--openings {
    top: 30%;
    left: 50%;
  }

  .architecture-form-pin--landscape {
    top: 83%;
    left: 36%;
  }
}

@media (max-width: 560px) {
  .architecture-form__copy {
    padding-right: 24px;
    padding-bottom: 96px;
    padding-left: 24px;
  }

  .architecture-form__copy .display {
    margin-top: 52px;
    font-size: clamp(44px, 11.3vw, 54px);
  }

  .architecture-page--light-frame .architecture-form__copy .architecture-reading {
    margin-top: 36px;
  }

  .architecture-form__image img {
    object-position: 57% center;
    -webkit-mask-position: 57% center;
    mask-position: 57% center;
  }

  .architecture-form-pin--brick {
    top: 39%;
    left: 86%;
  }

  .architecture-form-pin--openings {
    top: 32%;
    left: 44%;
  }

  .architecture-form-pin--landscape {
    top: 81%;
    left: 24%;
  }

  .architecture-levels-pin--ground {
    top: auto;
    bottom: 14px;
  }
}

/* Architecture hero: deliberate title lines and a street elevation composed
   around open sky, without extending the lateral horizon. */
.architecture-page--rethought.architecture-page--light-frame .architecture-hero {
  grid-template-columns: minmax(0, 1.12fr) minmax(21rem, .88fr);
  grid-template-rows: auto 1fr auto;
  align-items: start;
  padding-top: clamp(140px, 16vh, 180px);
  color: var(--wine);
  background: var(--cream);
}

.architecture-page--light-frame .architecture-hero__image {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 50% 50%;
}

.architecture-page--rethought.architecture-page--light-frame .architecture-hero__shade {
  z-index: -1;
  background: linear-gradient(180deg, rgba(247, 245, 239, .16) 0%, rgba(247, 245, 239, .05) 52%, rgba(30, 18, 17, .24) 100%);
}

.architecture-page--rethought.architecture-page--light-frame .architecture-hero__content {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  width: auto;
  max-width: none;
}

.architecture-page--rethought.architecture-page--light-frame .architecture-hero__content .display {
  max-width: none;
  margin-top: clamp(22px, 3.5vh, 38px);
  font-size: var(--type-display-opening);
  line-height: .84;
  letter-spacing: -.045em;
}

.architecture-page--rethought.architecture-page--light-frame .architecture-hero__content .display span {
  display: block;
  white-space: nowrap;
}

.architecture-page--rethought.architecture-page--light-frame .architecture-hero__statement {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  max-width: 28rem;
  margin-top: clamp(38px, 5vh, 54px);
  padding-left: clamp(28px, 3.5vw, 52px);
  font-size: clamp(19px, 1.35vw, 22px);
  line-height: 1.22;
}

.architecture-page--rethought.architecture-page--light-frame .architecture-hero__statement p:first-child {
  margin-top: 0;
}

.architecture-page--rethought.architecture-page--light-frame .architecture-hero__credit {
  grid-column: 2;
  grid-row: 3;
  align-self: end;
  color: var(--cream);
  text-shadow: 0 1px 12px rgba(0, 0, 0, .55);
}

@media (max-width: 900px) {
  .architecture-page--rethought.architecture-page--light-frame .architecture-hero {
    min-height: 108svh;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto 1fr auto;
    padding-top: 118px;
  }

  .architecture-page--light-frame .architecture-hero__image {
    object-position: 50% 55%;
  }

  .architecture-page--rethought.architecture-page--light-frame .architecture-hero__shade {
    background: linear-gradient(180deg, rgba(247, 245, 239, .24) 0%, rgba(247, 245, 239, .12) 50%, rgba(30, 18, 17, .3) 100%);
  }

  .architecture-page--rethought.architecture-page--light-frame .architecture-hero__content {
    grid-column: 1;
    grid-row: 1;
  }

  .architecture-page--rethought.architecture-page--light-frame .architecture-hero__content .display {
    font-size: clamp(42px, 10.8vw, 54px);
  }

  .architecture-page--rethought.architecture-page--light-frame .architecture-hero__statement {
    grid-column: 1;
    grid-row: 2;
    max-width: 29rem;
    margin-top: 30px;
    padding-left: 0;
  }

  .architecture-page--rethought.architecture-page--light-frame .architecture-hero__credit {
    grid-column: 1;
    grid-row: 4;
    justify-self: start;
    margin-top: 32px;
  }
}

/* Architecture static recomposition — composition first, motion later. */
.architecture-form__copy {
  min-height: auto;
  padding-top: clamp(120px, 14vh, 156px);
  padding-bottom: clamp(68px, 8vh, 96px);
}

.architecture-rooms {
  gap: clamp(7rem, 11vw, 11rem);
  margin-top: clamp(6rem, 11vw, 11rem);
}

.architecture-room {
  position: relative;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(18rem, .55fr);
  gap: clamp(3rem, 6vw, 7rem);
  align-items: center;
}

.architecture-room figure {
  position: relative;
  height: clamp(34rem, 48vw, 48rem);
  margin: 0;
  overflow: hidden;
  background: rgba(247, 245, 239, .08);
}

.architecture-room img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.architecture-room--living {
  grid-template-columns: minmax(18rem, .55fr) minmax(0, 1.6fr);
}

.architecture-room--living figure {
  grid-column: 2;
  grid-row: 1;
}

.architecture-room--living > .architecture-room__notes {
  grid-column: 1;
  grid-row: 1;
}

.architecture-room--living img {
  object-position: center 38%;
}

.architecture-room--retreat img {
  object-position: center 46%;
}

.architecture-room__notes {
  gap: clamp(2.5rem, 4vw, 4.5rem);
  padding: 0;
}

.architecture-room__note + .architecture-room__note {
  padding-top: clamp(2.5rem, 4vw, 4.5rem);
}

.architecture-room__note .eyebrow {
  margin: 0 0 clamp(1.35rem, 2vw, 1.8rem);
}

.architecture-room__note h3 {
  font-size: clamp(2rem, 2.45vw, 2.75rem);
  line-height: .94;
}

.architecture-room__note > p:last-child {
  margin-top: clamp(1.3rem, 2vw, 1.8rem);
  font-size: clamp(1.05rem, 1.22vw, 1.22rem);
  line-height: 1.46;
}

.architecture-collection__copy {
  min-height: 78svh;
  display: block;
  padding-top: clamp(7rem, 10vw, 9rem);
  padding-bottom: clamp(5rem, 8vw, 8rem);
}

.architecture-collection__copy .display {
  max-width: none;
  margin-top: clamp(4rem, 6vw, 6rem);
}

.architecture-collection__copy .architecture-reading {
  margin-top: clamp(2.5rem, 4vw, 4rem);
}

.architecture-collection__copy .line-reveal__line {
  white-space: nowrap;
}

.architecture-type-studies {
  border-top: 0;
}

.architecture-type-study {
  min-height: auto;
  display: grid;
  grid-template-columns: minmax(7rem, .34fr) minmax(0, 1.66fr);
  column-gap: clamp(3rem, 6vw, 8rem);
  align-items: start;
  padding: clamp(6rem, 9vw, 9rem) var(--architecture-plate-right) clamp(7rem, 10vw, 10rem) var(--architecture-plate-left);
  border-bottom: 0;
}

.architecture-type-study h3 {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  font-family: var(--sans);
  font-size: .69rem;
  font-weight: 650;
  line-height: 1;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.architecture-type-study__statement {
  grid-column: 2;
  grid-row: 2;
  max-width: 35rem;
  margin: clamp(1.75rem, 3vw, 2.5rem) 0 0;
  font-family: var(--serif);
  font-size: clamp(1.65rem, 2.45vw, 2.55rem);
  line-height: 1.17;
  letter-spacing: -.025em;
}

.architecture-type-study__allocation {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  width: clamp(12rem, 17vw, 16.5rem);
  aspect-ratio: 591 / 291;
  overflow: hidden;
  background: var(--wine);
}

.architecture-type-study__allocation img,
.architecture-type-study__allocation svg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.architecture-type-study__allocation-shade .is-on {
  fill: var(--cream);
  fill-opacity: .42;
}

.architecture-type-study__allocation-labels text {
  fill: var(--cream);
  font-family: var(--sans);
  font-size: 27px;
  font-weight: 650;
  letter-spacing: .02em;
  text-anchor: middle;
}

@media (max-width: 1000px) {
  .architecture-room--kitchen,
  .architecture-room--living,
  .architecture-room--retreat {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .architecture-room--kitchen figure,
  .architecture-room--living figure,
  .architecture-room--living > .architecture-room__notes,
  .architecture-room--retreat figure,
  .architecture-room--retreat > .architecture-room__notes {
    grid-column: 1;
    grid-row: auto;
  }

  .architecture-room figure {
    width: 100%;
    height: min(72vw, 44rem);
  }

  .architecture-type-study {
    min-height: auto;
    grid-template-columns: minmax(6rem, .35fr) minmax(20rem, 1fr);
    row-gap: 0;
  }

  .architecture-type-study__statement {
    grid-column: 2;
  }

  .architecture-type-study__allocation {
    grid-column: 2;
  }

}

@media (max-width: 700px) {
  .contact .display {
    font-size: clamp(40px, 13vw, 52px);
  }

  .architecture-form__copy {
    padding-top: 112px;
    padding-bottom: 72px;
  }

  .architecture-rooms {
    gap: 8rem;
    margin-top: 6rem;
  }

  .architecture-room figure {
    height: min(125vw, 42rem);
  }

  .architecture-collection__copy {
    min-height: 74svh;
    padding-top: 112px;
    padding-bottom: 5rem;
  }

  .architecture-collection__copy .display {
    align-self: center;
    margin-top: 4rem;
  }

  .architecture-collection__copy .architecture-reading {
    margin-top: 2.75rem;
  }

  .architecture-type-study {
    display: block;
    padding: 5rem var(--architecture-plate-right) 6.5rem var(--architecture-plate-left);
  }

  .architecture-type-study__statement {
    margin-top: 3.5rem;
    font-size: clamp(1.65rem, 7.8vw, 2.2rem);
    line-height: 1.16;
  }

  .architecture-type-study__allocation {
    width: min(72vw, 16rem);
    margin-top: 3.5rem;
  }

  .architecture-type-study__statement {
    margin-top: 2rem;
  }

}

/* Filaro authored system — consolidated 02/Sep/26.
   Roles are shared across routes; composition remains page-specific. */
.reading-copy,
.home-page .place-tease .lede,
.home-page .home-architecture-intro__body .lede,
.home-page .authored-rooms__intro .lede,
.home-page .residence-preview__intro .lede,
.place-map__intro-copy,
.team-intro .lede,
.contact .lede,
.film-feature .lede{
  max-width:var(--measure-reading);
  font-family:var(--sans);
  font-size:var(--type-reading);
  font-weight:400;
  line-height:var(--leading-reading);
  letter-spacing:0
}
.reading-copy p,
.home-page .place-tease .lede p,
.home-page .home-architecture-intro__body .lede p,
.home-page .authored-rooms__intro .lede p,
.place-map__intro-copy p{margin:0;font:inherit}
.reading-copy p+p,
.home-page .place-tease .lede p+p,
.home-page .home-architecture-intro__body .lede p+p,
.home-page .authored-rooms__intro .lede p+p,
.place-map__intro-copy p+p{margin-top:1.05em}
.home-page{
  --home-plate-left:var(--plate-left);
  --home-plate-right:var(--plate-right)
}
.place-map,
.place-map+.closing{
  --place-plate-left:var(--plate-left);
  --place-plate-right:var(--plate-right)
}
.section-pad,
.page-intro,
.plans-page .page-intro,
.plans-page .plans,
.plans-page .collection-overview,
.note-letter,
.legal-page{
  padding-right:var(--plate-right);
  padding-left:var(--plate-left)
}
.film-room-hero__copy{
  right:var(--plate-right);
  left:var(--plate-left)
}
.note-hero__copy,
.note-hero__caption,
.team-image p{left:var(--plate-left)}
.contact{
  padding-right:var(--plate-right);
  padding-left:var(--plate-left)
}
.legal-page article{max-width:var(--measure-reading)}
.closing__action{
  width:min(var(--measure-action),100%);
  align-items:center;
  padding:0 0 14px;
  border-top:0;
  border-bottom:1px solid currentColor
}
.closing__action b,
.chapter-action b{
  display:grid;
  flex:0 0 1em;
  width:1em;
  height:1em;
  place-items:center;
  font:650 16px/1 var(--sans)
}
.closing[data-tone="wine"] .closing__action{border-bottom-color:rgba(91,44,45,.32)}
.closing[data-tone="cream"] .closing__action{border-bottom-color:rgba(247,245,239,.46)}
.closing__action:hover b,
.closing__action:focus-visible b{transform:translate(3px,-3px)}

@media(max-width:900px){
  :root{
    --plate-left:clamp(24px,12.5vw,112px);
    --plate-right:clamp(24px,5vw,48px);
    --type-reading:18px;
    --type-detail:15px
  }
  .note-hero__copy{left:var(--plate-left);width:calc(100% - var(--plate-left) - var(--plate-right))}
  .note-hero__caption{right:var(--plate-right);left:auto}
}
@media(max-width:760px){
  :root{--plate-left:24px;--plate-right:24px}
}

/* Contact is a final authored chapter, not a form card. */
.contact.contact--authored{
  min-height:100svh;
  grid-template-columns:minmax(0,1fr) minmax(30rem,1fr);
  gap:clamp(76px,8vw,132px);
  align-items:start;
  padding-top:clamp(178px,19vh,216px);
  padding-bottom:clamp(120px,14vh,168px);
  color:var(--cream);
  background:var(--wine)
}
.contact--authored .contact__intro{min-width:0}
.contact--authored .contact__intro .display{
  width:max-content;
  max-width:100%;
  margin-top:clamp(42px,5vh,62px);
  font-size:clamp(64px,5.35vw,86px);
  line-height:.86;
  letter-spacing:-.045em
}
.contact--authored .contact__intro .line-reveal__line{
  width:max-content;
  max-width:none;
  padding-right:.07em;
  margin-right:-.07em
}
.contact--authored .contact__intro .lede{
  max-width:31rem;
  margin:clamp(46px,5vh,64px) 0 0
}
.contact--authored .contact-paths{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(24px,3vw,42px);
  margin-top:clamp(72px,8vh,94px)
}
.contact--authored .contact-paths article{
  min-width:0;
  padding-top:0;
  border-top:0
}
.contact--authored .contact-paths span,
.contact--authored .contact-address{
  font-family:var(--sans);
  font-size:var(--type-label);
  font-weight:750;
  line-height:1.4;
  letter-spacing:.16em;
  text-transform:uppercase
}
.contact--authored .contact-paths p{
  margin:clamp(22px,2.2vw,32px) 0 12px;
  font-family:var(--serif);
  font-size:clamp(23px,2vw,30px);
  font-weight:400;
  line-height:.98;
  letter-spacing:-.025em;
  text-transform:uppercase
}
.contact--authored .contact-paths a{
  display:inline-block;
  max-width:100%;
  padding-bottom:0;
  border-bottom:0;
  text-decoration:none;
  font-family:var(--sans);
  font-size:clamp(11px,.86vw,13px);
  line-height:1.3;
  overflow-wrap:anywhere
}
.contact--authored .contact-address{
  margin:clamp(44px,5vh,62px) 0 0;
  opacity:.74
}
.contact--authored .contact__enquiry{
  min-width:0;
  padding-top:clamp(8px,1.4vh,18px)
}
.contact--authored .contact__form-head h2{
  max-width:35rem;
  margin:clamp(38px,4.5vh,54px) 0 clamp(62px,7vh,84px);
  font-family:var(--serif);
  font-size:clamp(40px,3.35vw,52px);
  font-weight:400;
  line-height:.9;
  letter-spacing:-.04em;
  text-transform:uppercase
}
.contact.contact--authored form{
  padding:0;
  color:inherit;
  background:transparent
}
.contact--authored .contact__form-head+form{margin-top:clamp(68px,8vh,96px)}
.contact--authored .contact-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:clamp(30px,3.2vw,52px)
}
.contact--authored .field{
  position:relative;
  display:block;
  min-width:0;
  margin:0;
  padding:0 0 clamp(26px,3vh,36px)
}
.contact--authored .field:nth-child(n+3){padding-top:clamp(24px,3vh,34px)}
.contact--authored .field--message{grid-column:1/-1}
.contact--authored .field>label,
.contact--authored .field>legend,
.contact--authored .field>.field-label{
  display:block;
  font-family:var(--sans);
  font-size:var(--type-label);
  font-weight:750;
  line-height:1;
  letter-spacing:.17em;
  text-transform:uppercase
}
.contact--authored .field--enquiry-select{z-index:5}
.contact--authored .enquiry-select__trigger{
  display:flex;
  width:100%;
  min-height:58px;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  padding:17px 0 8px;
  border:0;
  color:rgba(247,245,239,.72);
  background:transparent;
  cursor:pointer;
  text-align:left
}
.contact--authored .enquiry-select__trigger span{
  font-family:var(--serif);
  font-size:clamp(20px,1.55vw,24px);
  font-weight:400;
  line-height:1;
  letter-spacing:-.015em;
  text-transform:uppercase
}
.contact--authored .enquiry-select__trigger b{
  flex:0 0 auto;
  font:400 18px/1 var(--sans)
}
.contact--authored .enquiry-select__trigger:focus-visible{
  outline:0;
  color:var(--cream)
}
.contact--authored .enquiry-select__trigger:hover,
.contact--authored .enquiry-select__trigger[aria-expanded="true"]{color:var(--cream)}
.contact--authored .enquiry-select__menu{
  position:absolute;
  z-index:3;
  top:calc(100% - 25px);
  left:0;
  width:100%;
  padding:14px 0 18px;
  background:var(--wine)
}
.contact--authored .enquiry-select__menu[hidden]{display:none}
.contact--authored .enquiry-select__menu button{
  display:block;
  width:100%;
  padding:8px 0;
  border:0;
  color:rgba(247,245,239,.66);
  background:transparent;
  cursor:pointer;
  font-family:var(--sans);
  font-size:11px;
  font-weight:750;
  line-height:1.35;
  letter-spacing:.08em;
  text-align:left;
  text-transform:uppercase
}
.contact--authored .enquiry-select__menu button:hover,
.contact--authored .enquiry-select__menu button:focus-visible,
.contact--authored .enquiry-select__menu button[aria-selected="true"]{
  color:var(--cream);
  outline:0
}
.contact--authored .enquiry-select__input{display:none!important}
.contact--authored .field input,
.contact--authored .field textarea,
.contact--authored .field select{
  display:block;
  width:100%;
  min-height:58px;
  padding:20px 24px 10px 0;
  border:0;
  border-bottom:1px solid rgba(247,245,239,.42);
  border-radius:0;
  outline:0;
  color:inherit;
  background:transparent;
  caret-color:currentColor;
  font-family:var(--sans);
  font-size:clamp(16px,1.2vw,18px);
  line-height:1.35
}
.contact--authored .field select{
  appearance:none;
  cursor:pointer
}
.contact--authored .field select option{
  color:var(--wine);
  background:var(--cream)
}
.contact--authored .field--select::after{
  content:"";
  position:absolute;
  right:3px;
  bottom:53px;
  width:7px;
  height:7px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:rotate(45deg);
  pointer-events:none
}
.contact--authored .field textarea{
  min-height:132px;
  padding-top:22px;
  resize:none
}
.contact--authored .field input:focus,
.contact--authored .field textarea:focus,
.contact--authored .field select:focus{
  border-bottom-color:var(--cream)
}
.contact--authored .field input:-webkit-autofill,
.contact--authored .field input:-webkit-autofill:hover,
.contact--authored .field input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--cream);
  box-shadow:0 0 0 1000px var(--wine) inset;
  transition:background-color 9999s ease-out
}
.contact--authored .contact__submit-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(16rem,23rem);
  gap:clamp(28px,4vw,58px);
  align-items:end;
  margin-top:clamp(16px,2vh,28px)
}
.contact--authored .form-status{
  min-height:1.5em;
  margin:0;
  font-family:var(--sans);
  font-size:12px;
  line-height:1.5
}
.contact--authored .contact-submit{
  display:flex;
  width:100%;
  align-items:center;
  justify-content:space-between;
  padding:0 0 14px;
  border:0;
  border-bottom:1px solid rgba(247,245,239,.52);
  color:inherit;
  background:transparent;
  cursor:pointer;
  font-family:var(--sans);
  font-size:var(--type-label);
  font-weight:750;
  line-height:1;
  letter-spacing:.17em;
  text-align:left;
  text-transform:uppercase
}
.contact--authored .contact-submit b{
  display:grid;
  flex:0 0 1em;
  width:1em;
  height:1em;
  place-items:center;
  font:650 16px/1 var(--sans)
}
.contact--authored .contact-submit:focus-visible{
  outline:1px solid currentColor;
  outline-offset:8px
}
.contact--authored .contact-submit:disabled{cursor:wait;opacity:.46}
.contact--authored .disclaimer{
  max-width:34rem;
  margin:clamp(40px,5vh,58px) 0 0 auto;
  color:rgba(247,245,239,.68);
  font-family:var(--sans);
  font-size:10px;
  line-height:1.58
}
.contact--authored .disclaimer a{
  padding-bottom:2px;
  border-bottom:1px solid rgba(247,245,239,.36)
}
@media(max-width:1260px){
  .contact.contact--authored{
    grid-template-columns:1fr;
    gap:clamp(112px,16vh,152px);
    padding-top:150px;
    padding-bottom:112px
  }
  .contact--authored .contact__intro .display{
    width:auto;
    font-size:clamp(58px,8vw,82px)
  }
  .contact--authored .contact__intro .lede{max-width:34rem}
  .contact--authored .contact-paths{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:44rem
  }
  .contact--authored .contact__enquiry{max-width:48rem}
}
@media(max-width:900px){
  .contact.contact--authored{
    grid-template-columns:1fr;
    gap:clamp(112px,16vh,152px);
    padding-top:150px;
    padding-bottom:112px
  }
  .contact--authored .contact__intro .display{
    width:auto;
    font-size:clamp(58px,10.2vw,82px)
  }
  .contact--authored .contact__intro .lede{max-width:34rem}
  .contact--authored .contact-paths{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:44rem
  }
  .contact--authored .contact__enquiry{max-width:48rem}
}
@media(max-width:640px){
  .contact.contact--authored{
    gap:104px;
    padding-top:132px;
    padding-bottom:96px
  }
  .contact--authored .contact__intro .display{
    margin-top:42px;
    font-size:clamp(47px,13.2vw,58px)
  }
  .contact--authored .contact__intro .line-reveal__line{max-width:100%}
  .contact--authored .contact__intro .lede{margin-top:38px}
  .contact--authored .contact-paths{
    grid-template-columns:1fr;
    gap:32px;
    margin-top:64px
  }
  .contact--authored .contact__form-head h2{
    margin-top:36px;
    margin-bottom:58px;
    font-size:clamp(34px,9.4vw,42px)
  }
  .contact--authored .contact__form-head+form{margin-top:58px}
  .contact--authored .contact-fields{grid-template-columns:1fr}
  .contact--authored .field:nth-child(n+2){padding-top:24px}
  .contact--authored .field--message{grid-column:1}
  .contact--authored .contact__submit-row{
    grid-template-columns:1fr;
    gap:30px;
    margin-top:12px
  }
  .contact--authored .form-status:empty{display:none}
  .contact--authored .disclaimer{margin-left:0}
}

/* Home / 04 residences — one complete comparison plate */
.home-page .residence-preview{
  display:flex;
  min-height:100svh;
  padding-top:clamp(104px,12vh,132px);
  padding-bottom:clamp(90px,10vh,112px);
  flex-direction:column;
  justify-content:center
}
.home-page .residence-preview__head{
  margin-bottom:clamp(42px,5vh,56px)
}
.home-page .residence-preview__action{
  align-self:auto;
  width:min(430px,100%);
  margin:clamp(38px,4.5vh,50px) max(0px,calc((100% - 900px)/2)) 0 auto;
  color:inherit;
  border-bottom-color:rgba(247,245,239,.46)
}
@media(max-width:900px){
  .home-page .residence-preview{
    min-height:100svh;
    padding-top:112px;
    padding-bottom:68px
  }
  .home-page .residence-preview__head{margin-bottom:40px}
  .home-page .residence-preview__action{
    width:80%;
    margin:34px 0 0 auto
  }
  .home-page .authored-rooms__featured-question{
    font-size:clamp(26px,7.2vw,30px)
  }
}

/* Shared iPhone visual-viewport / safe-area rule. Desktop values stay untouched. */
html{
  --safe-top:env(safe-area-inset-top,0px);
  --safe-right:env(safe-area-inset-right,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-left:env(safe-area-inset-left,0px);
  --vvh:100svh;
  --vvw:100%;
  --vv-top:0px;
  --vv-left:0px
}
@media(max-width:900px){
  .site-chrome{height:calc(104px + var(--safe-top))}
  .brand-mark{top:calc(21px + var(--safe-top))}
  .site-nav{top:calc(21px + var(--safe-top))}
  .menu-panel,
  .overlay,
  .home-page .architecture-film-suite__player,
  .feature-film__player{
    inset:auto;
    top:var(--vv-top);
    left:var(--vv-left);
    width:var(--vvw);
    height:var(--vvh);
    min-height:var(--vvh)
  }
  .menu-panel{
    padding-top:calc(118px + var(--safe-top));
    padding-right:calc(24px + var(--safe-right));
    padding-bottom:calc(30px + var(--safe-bottom));
    padding-left:calc(24px + var(--safe-left))
  }
  .hero-stage,
  .gallery__stage,
  .gallery__run,
  .place-map__frame{
    height:var(--vvh);
    min-height:var(--vvh)
  }
  .home-page .architecture-film-suite__player-meta,
  .feature-film__player>header,
  .overlay__top{
    top:calc(22px + var(--safe-top))
  }
  .home-page .architecture-film-suite__controls,
  .feature-film__controls,
  .overlay__bottom{
    bottom:calc(20px + var(--safe-bottom))
  }
  .home-page .architecture-film-suite__captions,
  .feature-film__captions{
    bottom:calc(76px + var(--safe-bottom))
  }
  .overlay__top{padding-top:calc(22px + var(--safe-top))}
  .overlay__bottom{padding-bottom:calc(22px + var(--safe-bottom))}
  .place-map__interface,
  .place-map__panel-open{
    bottom:calc(12px + var(--safe-bottom))
  }
  .plans-page .plan-explorer__selector,
  .plans-page .plan-panel{
    scroll-margin-top:calc(104px + var(--safe-top))
  }
}
@media(max-width:520px){
  .menu-panel{padding-top:calc(102px + var(--safe-top))}
}
