@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=DM+Sans:wght@400;500;600&display=swap');
:root{--paper:#fbfbfa;--ink:#202628;--muted:#6d716d;--blue:#27526e;--navy:#101622;--line:#243b4b26;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:122px}body{margin:0;color:var(--ink);font:14px/1.7 var(--sans);background-color:var(--paper);background-image:url("/assets/white-linen.svg");background-size:384px 384px}body.modal-open{overflow:hidden}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:6px}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:300;letter-spacing:-.035em;line-height:1.03}em{font-family:var(--serif);font-weight:300;color:var(--blue)}button{border:0;background:none}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--paper);padding:10px}.skip:focus{top:10px}
#header{position:sticky;top:0;left:0;right:0;height:120px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:12px 5%;background:var(--paper);transition:background .4s,border .4s}.brand{display:block;flex-shrink:0;background:#f7f5efed;padding:4px 10px;border-radius:2px}.brand img{height:92px;width:auto}.contact-button{font-size:10px;letter-spacing:1.5px;text-transform:uppercase}.contact-button{visibility:hidden;opacity:0;padding:12px 0;display:flex;gap:15px;align-items:center}.contact-button span{font-size:18px}.hero-finished #header,#header.scrolled{background:#f7f5eff2;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.hero-finished .contact-button,#header.scrolled .contact-button{visibility:visible;opacity:1}
.hero{padding:0;background:var(--paper)}.hero-stage{position:relative;width:100%;height:auto;min-height:0;aspect-ratio:16/9;background:#f7f5ef;overflow:hidden}.hero-stage img,.hero-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-stage video{opacity:0;transition:opacity .2s}.hero-stage video.ready{opacity:1}
.eyebrow{font:500 9px/1.7 var(--sans);letter-spacing:2.6px;text-transform:uppercase;color:var(--blue)}.reveal-intro{display:grid;grid-template-columns:1.4fr .6fr;gap:10%;padding:90px 8%;align-items:center;border-bottom:1px solid var(--line)}h1{font-size:clamp(64px,7vw,108px)}.intro-note{padding-top:30px;border-top:1px solid var(--line)}.intro-note>p{font:300 27px/1.5 var(--serif);margin:20px 0}.intro-note>span:first-child{font:8px var(--sans);letter-spacing:2px;color:var(--muted)}.intro-direction{font-size:40px;color:var(--blue)}
.vision{padding:80px 8% 30px;background:var(--navy);color:#f5f5f0}.vision-main{display:grid;grid-template-columns:1fr 1.2fr;gap:0 10%;align-items:center}.vision-image{grid-column:2;grid-row:1}.vision-image img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:3px}.vision-main>.eyebrow{grid-column:1;grid-row:1;align-self:end;margin-bottom:22px;color:#9fb9cb}.vision h2{grid-column:1;grid-row:2;font-size:clamp(55px,5.5vw,85px)}.vision h2 em{color:#9fb9cb}.vision-text{grid-column:1;grid-row:3;max-width:370px;margin-top:25px}.vision-text p{color:#f5f5f099;margin-bottom:17px;line-height:1.9;font-size:13px}.vision-text p:first-child{font-size:17px;color:#f5f5f0d9}.vision:after{content:'REAL SPACES. NEW POSSIBILITIES.';display:block;text-align:right;padding:28px 0 0;margin-top:45px;border-top:1px solid #ffffff20;font:8px var(--sans);letter-spacing:2px;color:#f5f5f080}
.experience-line{padding:30px 8%;border-bottom:1px solid var(--line);font:300 clamp(23px,3.2vw,45px) var(--serif);letter-spacing:-.02em}.rooms-intro{padding:65px 8% 36px}.rooms-intro h2{font-size:75px}.room-story{display:grid;grid-template-columns:43% 57%;align-items:center;min-height:85svh;padding:40px 5% 70px 8%;gap:6%;overflow:hidden;border-bottom:1px solid var(--line)}.room-copy{padding-right:10%}.room-copy>.eyebrow{margin-bottom:26px}.room-copy h2{font-size:clamp(37px,4.3vw,69px);line-height:1.07;max-width:19ch}.room-media{position:relative;height:76svh;min-height:420px;width:calc(100% - 6vw);overflow:hidden;border-radius:2px;background:#e9e6dc}.room-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}.room-image.active{opacity:1}.room-media.portrait .room-image{object-fit:contain;background:#eee9e2}
.details{padding:90px 8% 50px}.details-title{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:42px}.details-title h2{font-size:clamp(40px,4.7vw,75px)}.details-title>p{font-size:12px;line-height:1.9;color:var(--muted)}.material-stage{position:relative;height:560px;overflow:hidden;border-radius:3px;background:#e0d7c9}.material-stage>img{width:100%;height:100%;object-fit:cover;transition:opacity .4s}.material-stage:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101622cc,transparent 85%),linear-gradient(0deg,#101622a6,transparent 65%);pointer-events:none}.material-copy{position:absolute;left:6%;bottom:27%;z-index:1;color:white;max-width:400px}.material-copy .eyebrow{color:#cbd8df}.material-copy h3{font-size:60px;margin:20px 0}.material-copy>p:last-child{color:#f5f5f0bf;font-size:12px}.material-tabs{position:absolute;left:6%;right:6%;bottom:32px;z-index:2;display:flex;gap:36px;border-top:1px solid #ffffff40;padding-top:18px}.material-tabs button{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#ffffff99;padding:7px 0}.material-tabs button[aria-selected=true]{color:white;border-bottom:1px solid white}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.room-gallery{padding:40px 8% 90px}.gallery-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.gallery-top h2{font-size:75px}.gallery-top>span{font-size:8px;letter-spacing:2px;color:var(--muted)}.gallery-track{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gallery-track figure{position:relative;overflow:hidden;border-radius:3px}.gallery-track figure img{height:350px;width:100%;object-fit:cover}.gallery-track figcaption{position:absolute;bottom:0;left:0;right:0;padding:40px 16px 20px;background:linear-gradient(transparent,#101622b3);font:17px var(--serif);color:white}
.begin{padding:80px 8% 90px;border-top:1px solid var(--line)}.begin-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.begin h2{font-size:clamp(45px,5.2vw,81px);margin:25px 0}.begin-desc{font-size:13px;line-height:1.9;color:var(--muted)}.begin-image{margin-top:35px}.begin-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px}.begin-image>span{display:block;font-size:8px;color:var(--muted);letter-spacing:1.8px;margin-top:12px}#brief-form h3{font-size:34px;margin-bottom:10px}#brief-form>p{font-size:12px;color:var(--muted)}form>label{display:block;font-size:11px;font-weight:500;margin-top:23px}form>label span{font-weight:400;color:var(--muted)}input,textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #243b4b55;border-radius:0;padding:12px 0;color:var(--ink);font-size:12px;outline:none}input:focus,textarea:focus{border-color:var(--blue)}input::placeholder,textarea::placeholder{color:#81857d}fieldset{border:0;margin:26px 0;padding:0}legend{font-size:11px;margin-bottom:13px}.choices{display:flex;flex-wrap:wrap;gap:8px}.choices label{position:relative;cursor:pointer}.choices input{position:absolute;opacity:0;width:1px;height:1px}.choices span{display:block;border:1px solid #243b4b50;padding:9px 12px;border-radius:30px;font-size:10px}.choices input:checked+span{background:var(--blue);color:white;border-color:var(--blue)}.choices input:focus-visible+span{outline:2px solid var(--blue);outline-offset:3px}textarea{resize:vertical;min-height:90px}input[type=file]{font-size:11px}input[type=file]::file-selector-button{border:1px solid #243b4b55;border-radius:20px;background:transparent;padding:8px 12px;margin-right:10px;color:var(--blue);cursor:pointer}.file-help{font-size:10px!important;line-height:1.6;margin-top:10px}.project-submit{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:28px;background:var(--blue);border-radius:40px;color:white;padding:16px 23px;font-size:12px}.project-submit:hover{background:#183f5a}.project-submit:disabled{opacity:.6;cursor:wait}.project-submit>span{font-size:22px}#form-status{margin-top:18px;line-height:1.8}#form-status.error{color:#8b3028}.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
footer{padding:40px 8% 25px;border-top:1px solid var(--line)}.footer-main{display:grid;grid-template-columns:130px 1fr 1fr;gap:7%;align-items:center}.footer-brand img{width:110px;height:auto}.footer-tagline{font:italic 22px var(--serif)}address{font-style:normal;font-size:12px;line-height:1.8}address>a,address>span{display:block;margin-bottom:6px}address small{font-size:10px;color:var(--muted)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);margin-top:35px;padding-top:22px;font-size:9px}.footer-bottom>div{display:flex;gap:25px}.footer-bottom>a{font-size:8px;letter-spacing:1px}
dialog{width:min(600px,92vw);max-height:90svh;overflow:auto;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:52px}dialog::backdrop{background:#101622b3;backdrop-filter:blur(8px)}.dialog-close{position:absolute;top:12px;right:16px;padding:5px;font-size:28px}dialog h2{font-size:62px;margin:20px 0 28px}dialog address{font-size:14px}.contact-project{display:inline-block;font-size:11px;letter-spacing:1px;margin-top:25px;border-bottom:1px solid;padding-bottom:7px}
@media(max-width:900px){.vision-main{gap:0 6%}.vision-image img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:3px}.room-copy h2{font-size:45px}.room-story{gap:3%;grid-template-columns:44% 56%}.room-media{width:calc(100% - 3vw)}.details-title{display:block}.details-title>p{margin-top:25px}.gallery-track{grid-template-columns:repeat(2,1fr)}.begin-grid{gap:7%}.footer-main{gap:4%}}
@media(max-width:650px){html{scroll-padding-top:98px}#header{height:96px;padding:8px 5%;gap:15px}.brand{padding:2px 6px}.brand img{height:60px}.brand{align-self:center}.contact-button{font-size:8px;letter-spacing:1px;gap:8px}.hero{padding:0}.hero-stage{height:auto;min-height:0;aspect-ratio:16/9}.reveal-intro{display:block;padding:50px 8%}.reveal-intro h1{font-size:64px}.intro-note{margin-top:35px;padding-top:20px}.intro-note>p{font-size:25px;margin:18px 0}.vision{padding:55px 8% 25px}.vision-main{display:flex;flex-direction:column;align-items:stretch}.vision-main>.eyebrow{align-self:start;margin-bottom:20px}.vision h2{font-size:61px}.vision-text{max-width:none}.vision-text p:first-child{font-size:16px}.vision-image{order:5;margin-top:15px}.vision-image img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:3px}.vision:after{font-size:6px;letter-spacing:1.5px;margin-top:25px}.experience-line{font-size:27px;padding:25px 8%;line-height:1.15}.rooms-intro{padding:42px 8% 20px}.rooms-intro h2{font-size:60px}.room-story{display:flex;flex-direction:column;gap:28px;align-items:stretch;min-height:0;padding:30px 0 45px}.room-copy{padding:0 8%;order:0}.room-copy>.eyebrow{font-size:7px;margin-bottom:17px;letter-spacing:1.8px}.room-copy h2{font-size:clamp(35px,9.6vw,49px);max-width:23ch}.room-media{height:auto;aspect-ratio:4/3;min-height:0;width:100%;border-radius:0}.room-media.portrait{aspect-ratio:1/1.1}.details{padding:50px 8% 35px}.details-title h2{font-size:42px}.details-title>p{font-size:11px}.material-stage{height:450px}.material-copy{left:8%;bottom:27%;right:8%;max-width:none}.material-copy h3{font-size:43px}.material-copy>p:last-child{font-size:10px}.material-copy .eyebrow{font-size:7px}.material-tabs{left:8%;right:8%;gap:26px}.material-tabs button{font-size:8px}.room-gallery{padding:25px 8% 55px}.gallery-top{display:block}.gallery-top h2{font-size:60px}.gallery-top>span{display:block;font-size:6px;margin-top:15px}.gallery-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-track figure img{height:230px}.gallery-track figcaption{font-size:13px;padding:30px 10px 15px}.begin{padding:50px 8%}.begin-grid{display:block}.begin h2{font-size:58px}.begin-copy>.eyebrow,.begin-grid>div>.eyebrow{font-size:7px}.begin-image{margin-top:28px;margin-bottom:45px}#brief-form{border-top:1px solid var(--line);padding-top:35px}#brief-form h3{font-size:32px}.begin-desc{font-size:12px}.footer-main{grid-template-columns:90px 1fr;gap:25px}.footer-brand img{width:85px}.footer-tagline{font-size:20px}.footer-main>address{grid-column:1/-1;font-size:11px}.footer-bottom{align-items:start;font-size:8px}.footer-bottom>div{flex-direction:column;gap:8px}.footer-bottom>a{font-size:7px}footer{padding:35px 8% 25px}dialog{padding:40px 25px}dialog h2{font-size:52px}dialog address{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* The landing header overlays the hero without reserving a separate band. */
body.landing #header{position:fixed;background:transparent;border:0;backdrop-filter:none}
body.landing #header .brand{background:transparent;filter:drop-shadow(0 0 .75px #f7f5ef) drop-shadow(0 0 1.5px #f7f5ef)}
body.landing #header .contact-button{color:var(--ink);text-shadow:0 0 3px #f7f5ef,0 0 6px #f7f5ef}


.hero-stage #hero-poster{object-fit:contain}

.hero-stage{background:#f3faff}

/* White woven paper across all page sections. */
.vision{background:transparent;color:var(--ink)}
.vision-main>.eyebrow,.vision h2 em{color:var(--blue)}
.vision-text p{color:var(--muted)}.vision-text p:first-child{color:var(--ink)}
.vision:after{color:var(--muted);border-color:var(--line)}
#header{background-image:url("/assets/white-linen.svg");background-size:384px 384px}
body.landing #header{background:transparent;transition:background-color .3s,box-shadow .3s}
body.landing #header.scrolled{background-color:var(--paper);background-image:url("/assets/white-linen.svg");background-size:384px 384px;border-bottom:1px solid var(--line);box-shadow:0 3px 18px #2026280b;backdrop-filter:blur(12px)}
body.landing #header .contact-button{visibility:visible;opacity:1;color:var(--ink);text-shadow:none;background:#fbfbfae8;border:1px solid #27526e50;border-radius:30px;padding:12px 19px;white-space:nowrap;font-size:11px;letter-spacing:1px;gap:12px;transition:color .2s,background .2s}
body.landing #header .contact-button:hover{background:var(--blue);border-color:var(--blue);color:#fff}
@media(max-width:650px){body.landing #header .contact-button{padding:10px 13px;font-size:9px;gap:7px;letter-spacing:.6px}}

/* Keep the vision copy in one flow so the tall hall image cannot stretch text rows. */
.vision-copy{grid-column:1;grid-row:1;align-self:center}
.vision-copy>.eyebrow{margin-bottom:22px;color:var(--blue)}
@media(max-width:650px){.vision-copy{align-self:stretch}.vision-copy>.eyebrow{margin-bottom:20px}}

/* Hall review: 70% image scale with the full photograph visible. */
.vision-image{width:70%;justify-self:center;margin-inline:auto;align-self:center}
.vision-copy{align-self:center}
/* Equal footer tracks keep the tagline at the page center. */
.footer-main{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:center}
.footer-brand{justify-self:start}
.footer-tagline{justify-self:center;text-align:center;max-width:240px}
.footer-main>address{justify-self:end;text-align:right;overflow-wrap:anywhere}
@media(max-width:650px){
 .vision-copy{align-self:stretch}
 .footer-main{grid-template-columns:90px minmax(0,1fr);gap:25px}
 .footer-tagline{justify-self:start;text-align:left;max-width:none}
 .footer-main>address{grid-column:1/-1;justify-self:start;text-align:left}
}
