/* VAS drawing language: fine rules, numbered views, generous intervals. */
:root{--paper:#f3f1eb;--accent:#96412f}
.vas-arrow{display:inline-block;width:1em;height:1em;min-width:1em;vertical-align:middle;overflow:visible}.vas-arrow.east{transform:rotate(45deg)}.vas-arrow.west{transform:rotate(225deg)}.vas-arrow.north{transform:rotate(-45deg)}.vas-arrow.south{transform:rotate(135deg)}
.opening{position:relative;min-height:650px;height:calc(100svh - 88px);max-height:1100px;color:#fff;isolation:isolate;background:#222}.opening-image,.opening-shade{position:absolute;inset:0;z-index:-1;overflow:hidden}.opening-image img{width:100%;height:100%;object-fit:cover;object-position:50% 48%;animation:opening-in 2s ease-out both}.opening-shade{background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.1) 85%),linear-gradient(0deg,rgba(0,0,0,.5),transparent 30%)}.opening-copy{padding:clamp(65px,8vh,130px) var(--gutter);max-width:1000px}.opening h1{font-size:clamp(86px,11vw,180px);line-height:.95;letter-spacing:-.065em;margin:35px 0}.opening h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.06em}.opening-copy>p:not(.label){font-size:clamp(17px,1.6vw,24px);line-height:1.4}.opening-link{display:inline-flex;gap:50px;align-items:center;margin-top:35px;border-bottom:1px solid #ffffff80;padding-bottom:10px}.opening-link svg{font-size:25px}.opening-caption{position:absolute;bottom:25px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;gap:15px;font:11px var(--display);letter-spacing:.06em}.opening-caption a{display:flex;gap:14px}.home .cover{padding-top:80px}.home .cover-heading #cover-title{font-size:clamp(60px,8vw,130px)}.home .cover-heading>.label{color:var(--muted)}
.story-heading{padding:70px var(--gutter) 50px}.story-heading>h1{font-size:clamp(70px,10vw,165px);margin:22px 0 50px}.story-deck{display:grid;grid-template-columns:1.3fr 1fr;gap:10vw;align-items:end}.story-deck h2{font-size:clamp(32px,3.5vw,56px);line-height:1.15}.story-deck p{max-width:540px;font-size:18px;color:var(--muted)}.room-index{display:flex;gap:28px;align-items:center;margin:0 var(--gutter);padding:20px 0;border-block:1px solid var(--ink);flex-wrap:wrap}.room-index>.label{margin-right:auto}.room-index a{font-size:13px;display:flex;gap:10px}.room-index a span{color:var(--accent);font-size:11px}.room-index a:hover{color:var(--accent)}
.story-chapter{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.5fr);gap:7vw;padding:100px var(--gutter);align-items:center;scroll-margin-top:35px}.chapter-copy h2{font-size:clamp(38px,4.2vw,65px);line-height:1.12;margin:24px 0}.chapter-copy>p:not(.label){max-width:420px;color:var(--muted);font-size:17px}.drawing-ref{display:block;font:10px/1.5 var(--display);letter-spacing:.08em;border-top:1px solid var(--line);margin-top:35px;padding-top:15px}.story-image-button{display:block;padding:0;width:100%;overflow:hidden;background:#dedbd2;cursor:zoom-in}.story-image-button img{width:100%;height:auto;max-height:920px;object-fit:contain;transition:transform .6s}.story-image-button:hover img{transform:scale(1.012)}.story-chapter figcaption{display:flex;justify-content:space-between;gap:25px;font-size:12px;color:var(--muted);padding:13px 0;border-bottom:1px solid var(--line)}.story-chapter figcaption>span:last-child{white-space:nowrap;font-family:var(--display)}.story-chapter:nth-of-type(even){grid-template-columns:minmax(0,1.35fr) minmax(220px,.7fr);background:#e8e5dc}.story-chapter:nth-of-type(even) .chapter-copy{grid-column:2;grid-row:1}.story-chapter:nth-of-type(even) figure{grid-column:1;grid-row:1}.story-chapter.chapter-1{padding-top:65px}
.architect-eye{padding:95px var(--gutter);background:#202720;color:#f3f1eb}.eye-heading{display:grid;grid-template-columns:.6fr 1fr .8fr;gap:5vw;align-items:end;margin-bottom:55px}.eye-heading h2{font-size:clamp(38px,4vw,64px);line-height:1.13}.eye-heading p:last-child{font-size:16px;color:#c8cec5}.eye-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(270px,.7fr);gap:6vw;align-items:center}.eye-image{position:relative}.eye-image>img{width:100%;height:auto}.eye-marker{position:absolute;transform:translate(-50%,-50%);border:1px solid #fff;border-radius:50%;width:46px;height:46px;color:#fff;background:#172016db;font:13px var(--display);box-shadow:0 0 0 6px #ffffff18}.eye-marker[aria-pressed=true]{background:#f3f1eb;color:#202720;box-shadow:0 0 0 9px #ffffff30}.eye-marker:focus-visible{outline-color:white;outline-offset:9px}.eye-panel h3{font-size:36px;line-height:1.15;margin:25px 0 15px}.eye-panel p{color:#c8cec5;max-width:420px}.detail-crop{height:220px;overflow:hidden;margin-top:24px;background:#323b31}.detail-crop img{width:100%;height:100%;object-fit:cover;object-position:var(--detail-x) var(--detail-y);transform:scale(2);transform-origin:var(--detail-x) var(--detail-y)}
.design-variants{padding:90px var(--gutter);max-width:1400px;margin:auto}.design-variants h2{font-size:clamp(34px,4vw,56px);margin:20px 0}.design-variants>p:not(.label){color:var(--muted);max-width:650px}.variant-controls{display:flex;gap:30px;border-block:1px solid var(--line);margin:30px 0}.variant-controls button{padding:16px 0;font-size:14px;border-bottom:2px solid transparent}.variant-controls button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.design-variants figure img{width:100%;max-height:760px;object-fit:contain;background:#e8e5dc}.design-variants figcaption{padding-top:10px;font-size:12px;color:var(--muted)}.story-colophon{display:grid;grid-template-columns:.5fr 1fr 1fr;gap:6vw;padding:70px var(--gutter);border-bottom:1px solid var(--line)}.story-colophon>p:nth-child(2){font-size:14px;color:var(--muted)}.story-colophon>div{display:grid;gap:25px;align-content:start}.lightbox-navigation{display:flex;justify-content:center;align-items:center;gap:40px;height:50px}.lightbox-navigation button{font-size:25px;width:44px;height:44px}.lightbox:has(.lightbox-navigation) .lightbox-image{height:calc(100% - 120px)}
.enquiry-section{padding:20px var(--gutter) 80px;display:grid;grid-template-columns:.8fr 1.5fr;gap:8vw}.enquiry-intro h2{font-size:clamp(35px,3.6vw,56px);line-height:1.13;margin:25px 0}.enquiry-intro p:not(.label){color:var(--muted);max-width:400px}.enquiry-state{border-top:1px solid var(--line);padding-top:20px;margin-top:28px;font-size:14px}fieldset{margin:0 0 35px;padding:25px 0;border:0;border-top:1px solid var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:25px}legend{padding-right:20px;font:20px var(--display)}form label{display:flex;flex-direction:column;gap:8px;font-size:14px}input,select,textarea{font:16px/1.5 Arial,sans-serif;color:var(--ink);border:1px solid #a4a99e;background:#faf9f5;border-radius:0;padding:13px;width:100%;min-width:0}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}textarea{resize:vertical}.wide{grid-column:1/-1}.consent{display:flex;flex-direction:row;align-items:start;font-size:13px}.consent input{width:18px;height:18px;flex-shrink:0;margin-top:2px}.consent a{text-decoration:underline}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.enquiry-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.primary-action{background:var(--ink);color:var(--paper);padding:16px 25px;font:14px var(--display);min-height:48px}.primary-action:hover{background:var(--accent)}.primary-action:disabled{opacity:.6;cursor:wait}#brief-review{border-top:1px solid var(--line);margin-top:35px;padding-top:30px}#brief-review h3{font-size:30px}#brief-summary{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;font-size:14px}#brief-summary dt{color:var(--muted)}#brief-summary dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}#enquiry-error{color:#963427;margin-top:15px}#enquiry-result{margin-top:20px}.privacy-copy{max-width:850px;padding:20px var(--gutter) 80px}.privacy-copy h2{font-size:30px;margin:30px 0 15px}.privacy-copy p{margin-bottom:15px}
.the-mansion .chapter-1{grid-template-columns:1fr}.the-mansion .chapter-1 .chapter-copy{display:grid;grid-template-columns:1fr 1fr;gap:20px 8vw;align-items:end}.the-mansion .chapter-1 .chapter-copy>.label{grid-column:1/-1}.the-mansion .chapter-1 .chapter-copy h2{margin:0}.the-mansion .chapter-1 .drawing-ref{grid-column:1/-1;margin-top:0}.the-mansion .chapter-1 figure img{max-height:none}.imperial-estate .chapter-2{grid-template-columns:1fr}.imperial-estate .chapter-2 .chapter-copy,.imperial-estate .chapter-2 figure{grid-column:auto;grid-row:auto}.imperial-estate .chapter-2 .chapter-copy{max-width:700px}.imperial-estate .chapter-2 .chapter-copy>p:not(.label){max-width:650px}
@keyframes opening-in{from{transform:scale(1.035);opacity:.6}to{transform:scale(1);opacity:1}}
@media(max-width:800px){.opening{height:calc(100svh - 78px);min-height:590px}.opening-copy{padding-top:65px}.opening h1{font-size:clamp(78px,18vw,125px)}.opening-caption{font-size:10px;flex-wrap:wrap}.opening-caption>span:nth-child(2){display:none}.opening-image img{object-position:58% 45%}.opening-shade{background:linear-gradient(90deg,#0009,#0002),linear-gradient(0deg,#0007,transparent 40%)}.home .cover{padding-top:45px}.story-heading{padding:40px var(--gutter)}.story-heading>h1{font-size:clamp(56px,12vw,95px);margin:20px 0 30px}.story-deck{grid-template-columns:1fr;gap:25px}.story-deck h2{font-size:35px}.story-deck p{font-size:16px}.room-index{gap:15px 23px}.room-index>.label{width:100%}.room-index a{min-height:32px;align-items:center}.story-chapter,.story-chapter:nth-of-type(even){grid-template-columns:1fr;gap:28px;padding:50px var(--gutter)}.story-chapter:nth-of-type(even) .chapter-copy,.story-chapter:nth-of-type(even) figure{grid-column:auto;grid-row:auto}.chapter-copy h2{font-size:38px;margin:18px 0}.chapter-copy>p:not(.label){font-size:16px}.drawing-ref{margin-top:20px}.story-chapter figcaption{font-size:12px;gap:15px}.architect-eye{padding:55px var(--gutter)}.eye-heading{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.eye-heading h2{font-size:40px}.eye-layout{grid-template-columns:1fr;gap:30px}.eye-panel h3{font-size:29px}.eye-marker{width:44px;height:44px}.detail-crop{height:200px;max-width:440px}.design-variants{padding:55px var(--gutter)}.variant-controls{gap:18px}.variant-controls button{font-size:12px;text-align:left}.story-colophon{grid-template-columns:1fr;gap:25px;padding:45px var(--gutter)}.enquiry-section{grid-template-columns:1fr;gap:35px;padding-bottom:50px}fieldset{gap:20px}.enquiry-actions{gap:20px}#brief-summary{grid-template-columns:95px minmax(0,1fr)}.privacy-copy{padding-bottom:50px}}
@media(max-width:800px){.the-mansion .chapter-1 .chapter-copy{display:block}.the-mansion .chapter-1 .chapter-copy h2{margin:18px 0}.the-mansion .chapter-1 .drawing-ref{margin-top:20px}}
@media(max-width:420px){fieldset{grid-template-columns:1fr}.wide{grid-column:auto}.opening h1{font-size:78px}.opening-copy{padding-top:50px}}
@media(prefers-reduced-motion:reduce){.opening-image img{animation:none}.story-image-button img{transition:none}.story-image-button:hover img{transform:none}}
