[hidden]{display:none!important}
/* Original interactive design studies. */
.arch-compare,.blueprint-section{--draft:var(--label);--on-dark:#f6f3ed;--on-dark-2:#d4d3ca;--stone:#3e4240;--paper-2:#eee9e2;--ink-2:#45413b;--header-h:var(--header)}
.arch-compare{padding:58px 0}.arch-compare h2{font-size:clamp(42px,4.2vw,64px)}.arch-compare-heading{margin-bottom:32px}.arch-compare-caption h3{font-size:29px}.arch-compare-explainer{font-size:10px;opacity:.65;margin-top:20px}
.blueprint-section{padding:60px 0;background:#424446;color:#f6f3ed}.blueprint-section .draft-label{font-family:var(--label);font-size:10px;letter-spacing:.12em;margin-bottom:18px}.blueprint-section h2{margin-bottom:23px}.blueprint-section p{font-size:14px;line-height:1.85}.blueprint-section .btn{display:inline-block;border:1px solid #ffffff80;padding:11px 20px;margin-top:20px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.blueprint-section .house-kicker{font-size:9px}.house-canvas{min-height:350px}
#residence.interior-experience{height:calc(100svh - var(--header));min-height:560px;margin:0;scroll-margin-top:0}#residence .official-logo{max-width:250px;max-height:65px;object-fit:contain;filter:brightness(0) invert(1)}#residence .ix-brand{max-width:255px}#residence .ix-brand img{width:250px;height:auto}#residence .ix-top{top:25px}#residence .ix-top-actions a{display:none}
/* A horizontal review marquee, with complete original quotations. */
.reviews{overflow:hidden;padding:54px 0}.reviews .wrap{max-width:none}.reviews-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent)}.reviews-belt{width:max-content;display:flex;gap:0;animation:review-drift 240s linear infinite}.review-group{display:flex;align-items:stretch;gap:32px;padding-right:32px}.reviews .review-card{flex:none;width:390px;min-height:340px;padding:24px 20px 10px 0}.reviews .review-card blockquote{font-size:22px;line-height:1.4}.reviews .review-card footer{padding-top:20px}.reviews-marquee:has(:focus-visible) .reviews-belt,.reviews-marquee.paused .reviews-belt{animation-play-state:paused}.reviews #reviews-toggle{font-size:10px;white-space:nowrap;margin-bottom:7px}.reviews #reviews-toggle span{font-size:10px}.reviews .section-heading{align-items:center}@keyframes review-drift{to{transform:translateX(-50%)}}
/* The hotel fills the visible screen, with the design controls on the film. */
#tour.tour{padding:0;background:#30281e;color:#fffaf1;scroll-margin-top:0}#tour .tour-stage{width:100%;height:calc(100svh - var(--header));min-height:560px;margin:0;overflow:hidden;touch-action:pan-y}#tour video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}#tour .tour-shade{background:linear-gradient(180deg,#171c1c75,transparent 35%,transparent 50%,#171813bc);pointer-events:none}.hotel-heading{position:absolute;top:34px;left:3.5%;pointer-events:none}.hotel-heading .eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:.17em;margin-bottom:15px}.hotel-heading h2{font-size:clamp(33px,3.3vw,52px);line-height:1.02;text-shadow:0 1px 20px #0003}.hotel-actions{position:absolute;right:3.5%;top:34px;display:flex;gap:24px}.hotel-actions button{background:none;border:0;color:inherit;display:flex;gap:9px;align-items:center;font-size:22px;padding:0}.hotel-actions span{font-size:10px}.hotel-bottom{position:absolute;left:3.5%;right:3.5%;bottom:40px;display:flex;justify-content:space-between;gap:40px;align-items:flex-end}.hotel-story h3{font-size:clamp(32px,3vw,49px)}.hotel-story .eyebrow{font-family:var(--sans);font-size:9px;margin-bottom:11px}.hotel-hint{font-size:11px;opacity:.83;margin-top:15px}.hotel-design{width:365px;flex-shrink:0}.hotel-design>p{font-size:9px;letter-spacing:.13em;margin-bottom:12px}.hotel-detail-links{display:flex;gap:9px}.hotel-detail-links button{background:#111b1429;border:1px solid #ffffff77;color:inherit;padding:7px 15px;font-size:11px;backdrop-filter:blur(5px)}.hotel-detail-links button:hover,.hotel-detail-links button[aria-expanded=true]{background:#fff8ed;color:#292b23}.hotel-route{display:flex;gap:15px;align-items:center;margin-top:18px}.hotel-route input{flex:1;min-width:0;accent-color:#fff8ed;height:2px;cursor:pointer}.hotel-route span{font-size:10px;min-width:26px}.hotel-credit{position:absolute;left:3.5%;bottom:12px;font-size:8px;opacity:.65;pointer-events:none}.hotel-hotspot{position:absolute;transform:translate(-50%,-50%);background:transparent;border:0;padding:8px;color:#fffdf7;display:flex;align-items:center;z-index:4}.hotel-hotspot i{width:24px;height:24px;border:1px solid #ffffffe0;border-radius:50%;display:grid;place-items:center;background:#1118;backdrop-filter:blur(4px);font-style:normal;font-size:18px;line-height:1}.hotel-hotspot span{position:absolute;left:42px;white-space:nowrap;font-size:11px;text-shadow:0 1px 7px #000;opacity:0;transform:translateX(-5px);transition:.2s}.hotel-hotspot:hover span,.hotel-hotspot:focus-visible span{opacity:1;transform:none}.hotel-hotspot.label-left span{left:auto;right:42px}.hotel-hotspot:hover i{background:#fff;color:#242823}.hotel-detail{position:absolute;z-index:8;right:3.5%;top:50%;transform:translateY(-50%);width:360px;padding:33px;background:#f6f3edf5;color:#272b24;backdrop-filter:blur(20px);box-shadow:0 10px 60px #0002}.hotel-detail>button{position:absolute;right:14px;top:9px;border:0;background:none;font-size:27px;padding:5px}.hotel-detail .eyebrow{font-family:var(--sans);font-size:9px;letter-spacing:.15em;margin-bottom:18px}.hotel-detail h3{font-size:36px;line-height:1.05;margin-bottom:20px}.hotel-detail>p:not(.eyebrow){font-size:14px;line-height:1.75}.hotel-detail .text-link{font-size:10px;margin-top:20px}.hotel-status{position:absolute;top:46%;left:50%;transform:translateX(-50%);font-size:13px}.hotel-status:empty{display:none}#tour .tour-stage:fullscreen,#tour .tour-stage.expanded{height:100svh;width:100%;min-height:0}#tour .tour-stage:fullscreen video,#tour .tour-stage.expanded video{object-fit:cover}
/* Original project pages, displayed at full page size. */
body.viewing-portfolio .site-header{position:fixed;background:#f6f3edf5;color:var(--ink);border-color:var(--line)}body.viewing-portfolio .site-header .brand img{filter:brightness(0)}#portfolio-page{padding-top:var(--header);min-height:100svh;--paper:#faf8f4;--paper-2:#eee9e2;--ink:#292a26;--ink-2:#4e4e47;--muted:#6c685f;--line:#dcd6cc;--line-strong:#b9b0a2;--accent:#71624c;--draft:var(--label);--header-h:var(--header);--wrap:1480px;--gutter:clamp(20px,4vw,65px);--gap:28px;--stone:#3e4240;--stone-2:#2c2a27;--on-dark:#f3efe8;--on-dark-2:#c9c1b4;--white:#fffdf9;--focus:#a88859}#portfolio-page .wrap{width:100%}#portfolio-page .reveal{opacity:1;transform:none}#portfolio-page .page-head,#portfolio-page .project-head{padding-top:42px}#portfolio-page .original-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}#portfolio-page .work-item{display:block}#portfolio-page .work-caption{z-index:2}#portfolio-page .role-box{padding:25px}#portfolio-page .related-svc{display:block}#portfolio-page .g-row img{height:auto;width:100%}#portfolio-page .gallery-note{margin-top:20px}#portfolio-page a:hover{color:inherit}#portfolio-page .g-row a{cursor:zoom-in}.portfolio-photo-large{width:100%;max-height:75svh;object-fit:contain}.photo-title{font-size:22px!important;line-height:1.3;margin-bottom:18px!important}
@media(max-width:1080px){.hotel-heading h2{font-size:39px}.hotel-heading{top:28px}.hotel-actions{gap:16px}.hotel-bottom{gap:25px}.hotel-design{width:320px}.hotel-story h3{font-size:35px}.hotel-hint{font-size:10px;max-width:270px}.hotel-detail{width:325px}.blueprint-section .blueprint-grid{gap:30px}.reviews .review-card{width:340px}#portfolio-page .original-project-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){#tour .tour-stage{height:calc(100svh - var(--header));min-height:650px}.hotel-heading{left:20px;right:20px;top:26px}.hotel-heading .eyebrow{font-size:8px;max-width:200px;line-height:1.8}.hotel-heading h2{font-size:36px}.hotel-actions{right:20px;top:22px;gap:15px}.hotel-actions span{display:none}.hotel-bottom{left:20px;right:20px;bottom:35px;display:block}.hotel-story h3{font-size:34px}.hotel-story .eyebrow{font-size:8px}.hotel-hint{font-size:9px;margin-top:10px;max-width:none}.hotel-design{width:100%;margin-top:23px}.hotel-design>p{font-size:8px;margin-bottom:9px}.hotel-detail-links button{flex:1;padding:7px 8px;font-size:10px}.hotel-route{margin-top:13px}.hotel-credit{left:20px;font-size:7px;bottom:9px}.hotel-hotspot span{display:none}.hotel-detail{right:20px;left:20px;width:auto;top:49%;padding:27px}.hotel-detail h3{font-size:32px}.hotel-detail>p:not(.eyebrow){font-size:13px}.detail-open .hotel-story{opacity:.12}.detail-open .hotel-heading{opacity:.25}.arch-compare{padding:45px 0}.arch-compare h2{font-size:40px}.arch-compare-caption h3{font-size:25px}.blueprint-section{padding:45px 0}.blueprint-section .house-viewer{min-height:330px}.blueprint-section .house-canvas{min-height:300px}#residence.interior-experience{min-height:650px}#residence .official-logo{max-width:210px}.reviews .section-heading{display:flex;gap:15px}.reviews h2{font-size:40px}.reviews #reviews-toggle{font-size:9px}.reviews #reviews-toggle span{font-size:9px}.reviews .review-card{width:290px}.reviews .review-card blockquote{font-size:21px}.review-group{gap:22px;padding-right:22px}#portfolio-page .original-project-grid{grid-template-columns:1fr}#portfolio-page .page-head,#portfolio-page .project-head{padding-top:28px}#portfolio-page .original-project-grid .work-item{min-height:300px}}
@media(prefers-reduced-motion:reduce){.reviews-belt{animation:none}.reviews-marquee{overflow-x:auto;mask-image:none}.review-group[aria-hidden=true]{display:none}}
/* Portfolio introduction and full, uncropped project photographs. */
#portfolio-page .page-head{padding:22px 0 16px}
#portfolio-page .page-head .draft-label{margin-bottom:18px}
#portfolio-page .page-head h1{font-size:clamp(48px,4.5vw,76px);line-height:1.08;margin:0 0 22px}
#portfolio-page .page-head .lede{max-width:none;font-size:clamp(16px,1.1vw,19px);line-height:1.6;margin:0}
#portfolio-page .section--tight{padding-top:14px;padding-bottom:45px}
#portfolio-page .original-project-grid .work-item{min-height:0;aspect-ratio:auto}
#portfolio-page .original-project-grid .work-item .media{height:auto;aspect-ratio:3/2}
#portfolio-page .original-project-grid .work-item .media img{display:block;width:100%;height:100%;object-fit:contain;transform:none}
#portfolio-page .original-project-grid .work-caption{padding:22px;justify-content:center}
#portfolio-page .original-project-grid .work-caption h2{font-size:clamp(22px,1.75vw,32px)}
@media(max-width:700px){
 #portfolio-page .page-head{padding-top:25px}
 #portfolio-page .page-head h1{font-size:48px;margin-bottom:18px}
 #portfolio-page .page-head .draft-label{font-size:9px}
 #portfolio-page .original-project-grid .work-caption h2{font-size:26px}
}


.reviews-footer{display:flex;justify-content:center;padding-top:28px}.reviews-footer .text-link{font-size:11px;letter-spacing:.07em}
