/* Review content is scoped to About and Contact. The artwork scene retains v57 styling. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
#viewport .review-page{display:none;position:absolute;inset:0;max-width:none;width:100%;margin:0;padding:0;border:0;text-align:left;text-shadow:none;overflow:visible;min-height:100dvh;background:#080604;transform:none;filter:none}
#viewport .review-page.active{display:block;pointer-events:auto;opacity:1;transition:opacity 1600ms cubic-bezier(.45,0,.55,1),filter 1600ms cubic-bezier(.45,0,.55,1)}
#viewport .review-page.active.departing{opacity:0;filter:brightness(.12);transition:opacity 1400ms ease-in-out,filter 1400ms ease-in-out}
#viewport .review-page:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050403b5,#050403e5),url('assets/room-blank-alcove.webp') center/cover no-repeat;filter:none;opacity:1;z-index:-1;pointer-events:none}
html[data-scroll=story] #viewport .review-page{position:relative;inset:auto;display:none;min-height:100dvh;max-width:100%;padding:0;background:#080604}
html[data-scroll=story] #viewport .review-page.active{display:block}
html[data-scroll=story] .page:not(.active){display:none!important}
html[data-scroll=story] body>footer{display:none}
#viewport .review-content{max-width:1220px;margin:0 auto;padding:0 5%;font:15px/1.7 Arial,Helvetica,sans-serif;color:#c4bfb3;box-sizing:border-box}
#viewport .review-content *{box-sizing:border-box}
#viewport .review-top{padding:65px 0 24px;border-bottom:1px solid #bd9e5d38;display:flex;justify-content:center}
#viewport .review-brand{padding:0;min-height:0;width:235px;display:block}
#viewport .review-content img{display:block;max-width:100%}
#viewport .review-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.15fr);gap:8%;align-items:start;padding:40px 0 44px}
#viewport .review-content h1{font:normal clamp(31px,3vw,42px)/1.13 Georgia,'Times New Roman',serif;letter-spacing:-.025em;color:#e8e3d6;max-width:none;margin:0 0 24px}
#viewport .review-content h2{font:normal 25px/1.25 Georgia,'Times New Roman',serif;color:#e8e3d6;margin:0 0 12px}
#viewport .review-content p{font-size:15px;line-height:1.7;margin:0 0 20px;color:#c4bfb3}
#viewport .review-content .eyebrow{font:11px/1.6 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#cbb27e;margin:0 0 18px}
#viewport .review-content .intro{font-size:17px;line-height:1.5;color:#e5d6b9;margin-bottom:24px}
#viewport .review-content .portrait{margin:0;position:sticky;top:24px;align-self:start;width:100%}
#viewport .review-content .portrait .portrait-raster{width:100%;height:auto;max-height:620px;object-fit:contain;object-position:center bottom;filter:brightness(.76);mask-image:linear-gradient(#000 78%,transparent 100%)}
#viewport .review-content .portrait figcaption{position:static;border-top:1px solid #bd9e5d55;padding:20px 0;text-align:center;line-height:1.6;color:#bdb5a6}
#viewport .review-content .portrait strong{display:block;font-size:14px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:#e1cfaa}
#viewport .review-content .portrait span{display:block;font-size:13px;margin-top:4px}
#viewport .review-content .approach{border-top:1px solid #bd9e5d38;padding-top:25px;margin-top:26px}
#viewport .review-content .closing{font:19px/1.45 Georgia,'Times New Roman',serif;color:#dfcfad;margin:28px 0}
#viewport .review-content .text-link{display:inline-flex;gap:14px;align-items:center;color:#dcc491;font-size:14px;line-height:1.5;padding:7px 0;margin:0;min-height:44px;text-align:left}
#viewport .review-content svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.3;flex-shrink:0}
#viewport .review-content a:hover{color:#f8e4b5}
#viewport .review-content .review-footer{border-top:1px solid #bd9e5d38;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 0 30px;font-size:12px;color:#aaa292}
#viewport .review-content .review-footer a{display:flex;align-items:center;gap:12px;color:#d4bb88;min-height:44px}
#viewport .review-content .review-footer svg{width:18px;height:18px;transform:rotate(-135deg)}
#viewport .review-content .contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:9%}
#viewport .review-content .contact-intro>p:not(.eyebrow):not(.intro){font-size:15px;max-width:390px}
#viewport .review-content .contact-intro h1{font-size:clamp(31px,2.9vw,40px)}
#viewport .review-content .company{border-top:1px solid #bd9e5d38;margin-top:34px;padding-top:24px}
#viewport .review-content .company h2{font:11px/1.6 Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#cbb27e;margin-bottom:14px}
#viewport .review-content .company>a{display:block;width:fit-content}
#viewport .review-content .phone{font-size:23px;color:#e7dac1;letter-spacing:.025em}
#viewport .review-content .email{font-size:15px;overflow-wrap:anywhere;margin:3px 0 17px}
#viewport .review-content .company address{font-style:normal;font-size:14px;line-height:1.65;color:#bcb6a9}
#viewport .review-content .company .area{font-size:12px;margin:7px 0 18px;color:#aaa292}
#viewport .review-content .social{display:flex;gap:26px;flex-wrap:wrap}
#viewport .review-content .social a{font-size:13px;color:#d8bf8c;display:flex;align-items:center;gap:8px;min-height:44px}
#viewport .review-content .social svg{width:16px;height:16px}
#viewport .review-content .enquiry{display:grid;grid-template-columns:27px minmax(0,1fr);gap:20px;border-top:1px solid #bd9e5d50;padding:24px 0 26px}
#viewport .review-content .number{font:15px/1.5 Georgia,serif;color:#a38c5e}
#viewport .review-content .enquiry .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:9px}
#viewport .review-content .enquiry h2{font-size:26px}
#viewport .review-content .enquiry p:not(.eyebrow){font-size:14px;line-height:1.75;margin-bottom:12px}
#viewport .review-content .mail-note{font-size:11px;color:#9f9789;line-height:1.6;margin:8px 0 0 47px}
/* A discreet route selector uses the original enter() and home() movement. */
#room-navigation{position:fixed;top:max(14px,env(safe-area-inset-top));left:4%;z-index:80;color:#dcc491;transition:opacity .5s}
body:not([data-phase=ready]) #room-navigation,body[data-finale] #room-navigation{opacity:0;pointer-events:none}
.room-toggle{display:flex;align-items:center;gap:10px;background:#090704b0;border:1px solid #bd9e5d65;padding:9px 13px;font:12px Arial,sans-serif;white-space:nowrap;min-height:40px;backdrop-filter:blur(12px)}
.room-symbol{display:grid;grid-template-columns:5px 5px;gap:3px}.room-symbol i{width:5px;height:5px;border:1px solid currentColor}
.room-menu{position:absolute;top:calc(100% + 10px);left:0;width:315px;max-width:calc(100vw - 35px);padding:20px;background:linear-gradient(130deg,#1c160df5,#080705fc);border:1px solid #b89c5765;box-shadow:0 18px 60px #000b;backdrop-filter:blur(18px);max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain}
.room-menu[hidden]{display:none}.room-menu .menu-label{font:10px/1.6 Arial;letter-spacing:.16em;text-transform:uppercase;color:#bdab89;margin:0 0 14px}
.room-menu a{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);gap:1px 12px;padding:13px 5px;border-top:1px solid #bd9e5d25;white-space:normal;color:#c7c0af}
.room-menu a>span{grid-row:1/3;font:10px/1.5 Arial;color:#a48b5c;padding-top:3px}.room-menu strong{font:normal 19px/1.35 Georgia,serif}.room-menu small{font:10px/1.5 Arial;color:#aaa18e;letter-spacing:.02em}.room-menu a[aria-current=page]{background:#cbb27e10;color:#f0dfba}.room-menu a[aria-current=page]:after{content:"";position:absolute;top:20px;right:5px;width:5px;height:5px;background:#cfb57e;border-radius:50%}.room-menu a:hover{color:#f8e4b5;background:#b89c5710}
@media(max-width:760px){
 #viewport .review-content{padding:0 24px}#viewport .review-top{padding:68px 0 20px}#viewport .review-layout,#viewport .review-content .contact-layout{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:25px}
 #viewport .review-content .portrait{position:static;width:min(100%,330px);margin:auto}#viewport .review-content .portrait .portrait-raster{max-height:390px}#viewport .review-content .portrait figcaption{padding:12px 0}
 #viewport .review-content h1,#viewport .review-content .contact-intro h1{font-size:32px}#viewport .review-content .intro{font-size:16px}#viewport .review-content .closing{font-size:19px}#viewport .review-content .enquiry h2{font-size:25px}
 #viewport .review-content .company{margin-top:24px;padding-top:20px}#viewport .review-content .email{font-size:14px}#viewport .review-content .enquiry{gap:12px;grid-template-columns:24px minmax(0,1fr)}#viewport .review-content .mail-note{margin-left:36px}
 #viewport .review-content .review-footer{flex-wrap:wrap;gap:10px 20px;padding:20px 0 24px}#viewport .review-content .review-footer span:nth-child(2){display:none}#viewport .review-content .review-footer a{margin-left:auto}
 #room-navigation{left:5%}.room-toggle{font-size:11px;padding:8px 11px}
}
@media(orientation:landscape) and (min-width:650px) and (max-height:600px){
 #viewport .review-content{padding:0 5%}#viewport .review-top{padding:50px 0 12px}#viewport .review-brand{width:175px}
 #viewport .review-content .about-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.2fr);gap:6%;padding-top:25px}#viewport .review-content .contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:6%;padding-top:25px}
 #viewport .review-content .portrait{position:sticky;top:15px}#viewport .review-content .portrait .portrait-raster{max-height:300px}
 #viewport .review-content h1,#viewport .review-content .contact-intro h1{font-size:29px}#viewport .review-content .intro{font-size:15px;line-height:1.5}
 #viewport .review-content p,#viewport .review-content .contact-intro>p:not(.eyebrow):not(.intro){font-size:13px;line-height:1.65}#viewport .review-content .closing{font-size:17px}
 #viewport .review-content .approach h2,#viewport .review-content .enquiry h2{font-size:23px}#viewport .review-content .enquiry p:not(.eyebrow){font-size:12px;line-height:1.65}
 #viewport .review-content .eyebrow{font-size:9px}#viewport .review-content .enquiry .eyebrow{font-size:8px}#viewport .review-content .text-link{font-size:12px}#viewport .review-content .company .email,#viewport .review-content .company address{font-size:12px}
 #viewport .review-content .enquiry{padding:18px 0;gap:10px;grid-template-columns:20px minmax(0,1fr)}#viewport .review-content .mail-note{margin-left:30px;font-size:10px}.room-toggle{font-size:11px;min-height:34px}.room-menu a{padding:8px 5px}
}
/* Prepare an invisible incoming page while the original room lighting travels. */
body[data-page=story] #viewport #story,body[data-page=project] #viewport #project{display:block}
#viewport .review-page{touch-action:pan-y pinch-zoom}
