@font-face{font-family:Barlow;src:url('assets/barlow-condensed-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Instrument;src:url('assets/instrument-sans-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Plex;src:url('assets/ibm-plex-mono-400.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--forest:#193e35;--chalk:#f5f2eb;--clay:#b97961;--ink:#262e29;--stone:#d9d2c5;--muted:#58625b;--gutter:clamp(22px,4.6vw,88px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--chalk);color:var(--ink);font:400 16px/1.6 Instrument,Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button{cursor:pointer}a,button,summary{touch-action:manipulation}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Barlow,'Arial Narrow',sans-serif;font-weight:600;line-height:.95;letter-spacing:-.015em}h2{font-size:clamp(60px,7vw,112px)}h3{font-size:clamp(48px,5vw,80px)}em{font-style:normal}button{border-radius:0}.eyebrow,.drawing-meta,.drawing-caption>span,.scroll-note,dt,.footer-bottom,.menu-top{font:400 10px/1.6 Plex,monospace;letter-spacing:.045em}.eyebrow{text-transform:uppercase}.section{padding:110px var(--gutter)}.skip{position:fixed;top:-100px;left:20px;z-index:110;background:var(--chalk);padding:12px}.skip:focus{top:10px}:focus-visible{outline:3px solid var(--clay);outline-offset:5px}[hidden]{display:none!important}.reading-progress{position:fixed;inset:0 auto auto 0;height:2px;background:var(--clay);width:100%;transform:scaleX(0);transform-origin:left;z-index:50;pointer-events:none}
.site-header{position:absolute;inset:0 0 auto;z-index:10;height:105px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:20px var(--gutter);border-bottom:1px solid #ffffff45;color:var(--chalk)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand>img{width:25px;height:43px}.brand>span{font-family:Barlow,sans-serif;font-size:39px;line-height:.9;letter-spacing:.005em}.brand small{font:8px/1.4 Plex,monospace;display:block;letter-spacing:.08em;margin-top:8px}.site-header nav{display:flex;gap:36px;align-items:center;margin-left:auto;font-size:13px}.site-header nav a{text-decoration:none}.site-header nav a:hover{text-decoration:underline}.menu-toggle{border:0;background:none;color:inherit;display:flex;align-items:center;gap:15px;font-size:12px;padding:10px}.menu-toggle span{font-size:24px}
.hero{position:relative;height:100svh;min-height:690px;max-height:1200px;background:var(--forest);color:var(--chalk);overflow:hidden}.hero-image{position:absolute;inset:0}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 55%;transform:scale(1.045)}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#102a2050,transparent 32%,#071d18b5 98%),linear-gradient(90deg,#0e261a30,transparent 80%)}.hero-image figcaption{position:absolute;bottom:12px;right:var(--gutter);z-index:3;color:#fff;background:#193e3580;font:9px/1.6 Plex,monospace;padding:3px 7px}.hero-copy{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:160px var(--gutter) 60px}.hero-copy .eyebrow{margin-bottom:24px;font-size:10px}.hero h1{font-size:clamp(88px,10.6vw,188px);line-height:.87;letter-spacing:-.012em}.hero h1 em{color:#e5bea3}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin-top:35px;gap:30px}.hero-bottom p{font-size:13px;line-height:1.65}.explore-link{display:flex;gap:70px;align-items:center;font:11px Plex,monospace;text-decoration:none;padding-bottom:9px;border-bottom:1px solid #ffffff90}.explore-link span{font:36px Instrument,sans-serif}
.studio-intro{display:grid;grid-template-columns:1fr 3fr;gap:40px;padding-block:120px 130px}.studio-intro>.eyebrow{padding-top:8px}.studio-intro h2{font-size:clamp(65px,8.4vw,132px);line-height:.94}.studio-intro h2 span{color:var(--clay)}.intro-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-top:45px}.intro-foot p{max-width:470px;font-size:17px}.text-link{display:inline-flex;align-items:center;gap:30px;white-space:nowrap;font-size:12px;text-decoration:none;border-bottom:1px solid;padding-bottom:7px}.text-link:hover{color:var(--clay)}
.services{border-top:1px solid var(--stone)}.services-heading{padding:40px var(--gutter);display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:20px}.services-heading h2{font-size:64px}.scroll-note{text-align:right}.service-scroll{display:grid;grid-template-columns:58% 42%;position:relative;border-top:1px solid var(--stone)}.drawing-sticky{position:sticky;top:0;align-self:start;height:100svh;max-height:1100px;background:#e9e5db;display:flex;flex-direction:column;padding:28px 36px;border-right:1px solid #c9c9ba;overflow:hidden}.drawing-meta{display:flex;justify-content:space-between;align-items:center;color:var(--forest)}.drawing-meta>span:last-child{font-size:22px}.drawing-canvas{position:relative;flex:1;min-height:0}.drawing-scene{position:absolute;inset:0;display:flex;align-items:center;opacity:0;visibility:hidden;transition:opacity .45s,visibility .45s;color:var(--forest)}.drawing-scene.is-active{opacity:1;visibility:visible}.drawing-scene svg{width:100%;height:100%;max-height:630px;overflow:visible}.ink{stroke:var(--forest)}.context{stroke:var(--forest);stroke-width:1;opacity:.45}.proposal{stroke:var(--clay);color:var(--clay)}.labels{font:10px Plex,monospace;letter-spacing:.02em;fill:var(--forest);stroke:none}.trace{stroke-dasharray:1;stroke-dashoffset:1}.is-active .trace{animation:draw 1.35s .1s var(--ease) forwards}.is-active .trace:nth-child(2){animation-delay:.25s}.is-active .trace:nth-child(3){animation-delay:.4s}.is-active .trace:nth-child(4){animation-delay:.55s}.is-active .assembly{animation:assemble 1.1s var(--ease) both}.is-active .layer-two{animation-delay:.15s}.is-active .layer-three{animation-delay:.3s}.is-active .planting{animation:plant-in 1.3s var(--ease) both;transform-origin:center;transform-box:fill-box}.drawing-caption{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;padding-top:18px;border-top:1px solid #b4bbad}.drawing-caption p{font-size:18px;line-height:1.25;max-width:260px}.drawing-caption>span{font-size:8px;max-width:155px;text-align:right}.chapter-ticks{display:flex;gap:5px;margin-top:20px}.chapter-ticks span{height:3px;flex:1;background:#cbd0c2;transition:background .3s}.chapter-ticks span.active{background:var(--forest)}.service-chapter{min-height:100svh;display:flex;align-items:center;padding:75px clamp(30px,4.6vw,88px);border-bottom:1px solid var(--stone);scroll-margin-top:30px}.service-chapter:last-child{border-bottom:0}.service-chapter .eyebrow{color:var(--muted);margin-bottom:26px}.service-chapter h3{text-transform:uppercase;font-size:clamp(48px,4.7vw,78px);line-height:.98}.chapter-description{font-size:16px;margin-top:30px;max-width:390px}.deliverables{font:10px/1.9 Plex,monospace;text-transform:uppercase;letter-spacing:.025em;margin-top:30px;border-top:1px solid var(--stone);padding-top:18px;max-width:360px;color:var(--muted)}.service-chapter .text-link{margin-top:30px}
.about{background:var(--forest);color:var(--chalk);display:grid;grid-template-columns:1fr 1fr;gap:12vw;padding-block:110px}.about h2{margin-top:38px;font-size:clamp(70px,8vw,132px)}.about h2 span{color:#c7b49d}.about-copy{padding-top:45px}.about-copy .large{font-size:clamp(22px,2.4vw,36px);line-height:1.35;letter-spacing:-.025em;color:var(--chalk)}.about-copy>p{margin-bottom:28px;max-width:550px;color:#d4ddd4}.about dl{margin:50px 0 0}.about dl>div{border-top:1px solid #536c60;display:grid;grid-template-columns:1fr 1.4fr;padding:16px 0;gap:20px}.about dt{color:#b3c2b6}.about dd{margin:0;font-size:13px}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:9vw}.faq h2{margin-top:32px;font-size:clamp(55px,5.8vw,95px)}.faq-list{border-top:1px solid var(--stone)}details{border-bottom:1px solid var(--stone)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 0;font-size:15px}summary::-webkit-details-marker{display:none}summary span{font:25px Instrument,sans-serif}details[open] summary span{transform:rotate(45deg)}details p{font-size:14px;color:var(--muted);padding:0 20px 25px 0}
.enquiry{display:grid;grid-template-columns:1fr 1.2fr;gap:9vw;border-top:1px solid var(--stone)}.enquiry h2{margin:32px 0;font-size:clamp(65px,6.8vw,110px)}.enquiry h2 span{color:var(--clay)}.enquiry-intro>p:not(.eyebrow){max-width:340px;font-size:15px}.contact-note{border-top:1px solid var(--stone);padding-top:20px;margin-top:26px;font-size:12px!important;color:var(--muted)}#direct-email{margin-top:20px}form{padding-top:4px}.form-heading h3{font:28px Instrument,sans-serif;letter-spacing:-.03em}.form-heading p{font:10px Plex,monospace;margin:12px 0 30px;color:var(--muted)}label{display:flex;flex-direction:column;gap:9px;font-size:12px;margin-bottom:23px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}input,select,textarea{width:100%;min-width:0;background:transparent;border:0;border-bottom:1px solid #9aa396;border-radius:0;padding:12px 0;color:var(--ink);font-size:15px;line-height:1.6}select{min-height:48px}textarea{resize:vertical;min-height:120px}input::placeholder,textarea::placeholder{color:#6c746c}.form-privacy{font-size:11px;max-width:520px;line-height:1.8;color:var(--muted);margin-bottom:24px}.button{display:flex;justify-content:space-between;align-items:center;gap:30px;background:var(--forest);color:var(--chalk);border:1px solid var(--forest);padding:18px 25px;font-size:13px;width:100%;transition:background .2s}.button:hover{background:#2b5144}#form-status{margin-top:20px;font-size:13px}
footer{background:var(--forest);color:var(--chalk);padding:45px var(--gutter) 25px}.footer-wordmark{display:flex;align-items:center;justify-content:space-between;gap:15px;font:600 clamp(70px,16.2vw,270px)/1 Barlow,sans-serif;letter-spacing:-.02em;text-decoration:none}.footer-wordmark span{font-family:Instrument,sans-serif;font-size:.55em}.footer-middle{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #587064;padding:35px 0 45px;margin-top:25px;font-size:12px}.footer-middle a{text-decoration:none}.replay-intro{border:0;background:none;padding:12px 0;color:inherit;font-size:12px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #587064;padding-top:22px;color:#c1cfc3;font-size:9px}.footer-bottom a{text-decoration:none}
#menu-dialog{width:100vw;height:100svh;max-width:none;max-height:none;margin:0;padding:35px var(--gutter);background:var(--forest);color:var(--chalk);border:0;overflow:auto}#menu-dialog::backdrop{background:var(--forest)}.menu-top{display:flex;justify-content:space-between;align-items:center}.menu-top button{background:none;border:0;padding:10px;color:inherit;font:13px Instrument,sans-serif}#menu-dialog nav{display:flex;flex-direction:column;align-items:flex-start;gap:15px;margin:55px 0 35px}#menu-dialog nav a{display:flex;align-items:center;gap:30px;text-transform:uppercase;text-decoration:none;font:600 clamp(45px,7vw,100px)/1 Barlow,sans-serif}#menu-dialog nav a:hover{color:#d7b89f}#menu-dialog nav small{font:10px Plex,monospace}#menu-dialog>p{font-size:13px;color:#bbcabe}.privacy-page{max-width:1000px;margin:auto;padding-top:170px}.privacy-page h1{font-size:80px}.privacy-page h2{font-size:35px;margin:35px 0 18px}.privacy-page p{margin-bottom:18px}.privacy-page .eyebrow{margin-bottom:25px}body:has(.privacy-page)>.site-header{background:var(--forest)}body:has(.privacy-page) .brand>img{width:180px;height:auto;filter:brightness(0) invert(1)}body:has(.privacy-page) .brand>span{font:8px Plex,monospace}
@keyframes draw{to{stroke-dashoffset:0}}@keyframes assemble{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:translateX(0)}}@keyframes plant-in{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@media(min-width:1900px){.service-chapter{padding-inline:100px}.drawing-sticky{padding-inline:65px}}
@media(max-width:1050px){.site-header nav{gap:22px}.studio-intro{grid-template-columns:1fr 3fr;gap:25px}.intro-foot{display:block}.intro-foot .text-link{margin-top:25px}.service-scroll{grid-template-columns:54% 46%}.service-chapter{padding-inline:30px}.drawing-sticky{padding:25px}.drawing-caption p{font-size:16px}.drawing-caption>span{font-size:7px}.services-heading{grid-template-columns:1fr 1.5fr 1fr}.services-heading h2{font-size:52px}.about,.faq,.enquiry{gap:6vw}.about-copy .large{font-size:27px}}
@media(max-width:760px){html{scroll-padding-top:15px}.section{padding:65px var(--gutter)}.site-header{height:85px;padding-block:16px;gap:15px}.site-header nav{display:none}.brand>img{width:23px;height:39px}.brand>span{font-size:34px}.brand small{font-size:6px}.menu-toggle{padding-right:0}.hero{min-height:640px;height:94svh;max-height:980px}.hero-copy{padding:120px var(--gutter) 65px}.hero h1{font-size:clamp(57px,12.5vw,96px);line-height:.94}.hero-copy .eyebrow{max-width:270px;font-size:8px;line-height:1.9;margin-bottom:25px}.hero-image img{object-position:59% center}.hero-image figcaption{font-size:7px;left:var(--gutter);right:auto;max-width:90%;bottom:15px}.hero-bottom{margin-top:28px;align-items:center}.hero-bottom p{font-size:11px;max-width:215px}.explore-link{gap:15px;font-size:9px}.explore-link span{font-size:24px}.studio-intro{display:block;padding-block:70px 75px}.studio-intro>.eyebrow{padding:0;margin-bottom:30px}.studio-intro h2{font-size:clamp(51px,12vw,87px)}.intro-foot{margin-top:30px}.intro-foot p{font-size:15px}.services-heading{display:grid;grid-template-columns:1fr 1fr;padding:28px var(--gutter);gap:18px}.services-heading h2{grid-row:2;grid-column:1/-1;font-size:55px}.services-heading>.eyebrow{font-size:8px}.scroll-note{font-size:8px}.service-scroll{display:block}.drawing-sticky{height:40svh;min-height:240px;max-height:360px;z-index:4;top:0;border-right:0;border-bottom:1px solid #b4bbad;padding:12px var(--gutter);box-shadow:0 8px 20px #193e3508}.drawing-meta{font-size:8px}.drawing-meta>span:last-child{font-size:14px}.drawing-canvas{min-height:0}.drawing-scene svg{height:100%;max-height:none}.drawing-caption{padding-top:7px;align-items:center;gap:10px}.drawing-caption p{font-size:13px}.drawing-caption>span{font-size:6px;max-width:120px}.chapter-ticks{margin-top:8px}.chapter-ticks span{height:2px}.service-chapter{min-height:78svh;padding:45px var(--gutter);scroll-margin-top:42svh;align-items:center}.service-chapter .eyebrow{font-size:9px;margin-bottom:20px}.service-chapter h3{font-size:clamp(46px,11.5vw,75px)}.chapter-description{font-size:15px;margin-top:24px;max-width:500px}.deliverables{font-size:9px;margin-top:24px;max-width:none}.service-chapter .text-link{margin-top:24px}.about{display:block}.about h2{font-size:clamp(72px,17vw,110px);margin-top:25px}.about-copy{padding-top:35px}.about-copy .large{font-size:25px}.about-copy>p{font-size:15px}.about dl{margin-top:30px}.about dl>div{grid-template-columns:1fr 1.3fr;gap:14px}.about dt{font-size:8px}.about dd{font-size:12px}.faq{display:block}.faq h2{font-size:58px;margin-top:25px}.faq-list{margin-top:35px}summary{font-size:14px;padding:20px 0}details p{font-size:13px}.enquiry{display:block}.enquiry h2{font-size:70px;margin-block:25px}.enquiry-intro{margin-bottom:45px}.form-grid{grid-template-columns:1fr;gap:0}input,select,textarea{font-size:16px}.footer-wordmark{font-size:17.3vw}.footer-wordmark span{font-size:.5em}.footer-middle{flex-wrap:wrap;gap:15px;padding:25px 0;font-size:11px}.footer-middle p{width:100%}.footer-middle a{margin-left:auto}.replay-intro{font-size:11px}.footer-bottom{align-items:flex-start;gap:20px;font-size:8px}.privacy-page{padding-top:120px}.privacy-page h1{font-size:60px}#menu-dialog nav{gap:25px}#menu-dialog nav a{font-size:60px}#opening .opening-mark{width:96px;height:156px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.trace{stroke-dashoffset:0}.hero-image img{transform:none!important}}
@media print{.site-header,.hero,.drawing-sticky,#opening,footer{display:none!important}.service-scroll{display:block}.service-chapter{min-height:0;padding:30px;break-inside:avoid}.section{padding:30px}.about{color:#000;background:#fff}}
/* The drawing room — composition, measured linework and scroll-scrubbed studies. */
.studio-intro{grid-template-columns:1fr 3fr;padding-block:105px 115px;position:relative}.studio-intro>div{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;align-items:end}.studio-intro h2{font:400 clamp(35px,3.8vw,62px)/1.15 Instrument,sans-serif;letter-spacing:-.055em}.studio-intro h2 span{color:var(--forest)}.intro-foot{display:block;margin:0}.intro-foot p{font-size:16px;color:var(--muted);line-height:1.75}.intro-foot .text-link{margin-top:26px}.services-heading{grid-template-columns:1fr 2fr 1fr;padding-block:55px}.services-heading h2{font-size:clamp(65px,6.8vw,110px);line-height:.91;letter-spacing:-.025em}.services-heading h2 span{color:var(--clay)}.service-index{display:flex;align-items:center;gap:30px;padding:20px var(--gutter);border-top:1px solid var(--stone);font-size:12px;overflow:auto}.service-index a{white-space:nowrap;text-decoration:none}.service-index a>span{font:8px Plex,monospace;color:var(--clay);margin-right:9px}.service-index a:hover{color:var(--clay)}.service-index .skip-studies{margin-left:auto;font-size:10px;color:var(--muted)}.service-scroll{grid-template-columns:62% 38%}.drawing-sticky{background:#eeece3;border-right:1px solid #cdd2c4;padding:24px 38px;max-height:none}.drawing-meta{font-size:9px;color:#526b5b}.drawing-meta>span:last-child{font-size:18px}.drawing-canvas{margin-block:8px}.drawing-scene{transition:opacity .18s,visibility .18s}.drawing-scene svg.architectural-study{max-height:none;overflow:visible}.architectural-study{stroke-linecap:round;stroke-linejoin:round}.architectural-study .study-label{font-family:Plex,monospace;font-weight:400;letter-spacing:.025em;fill:#4b6554;stroke:none}.study-stroke{stroke-dasharray:1;stroke-dashoffset:0}.drawing-caption{padding-top:15px;border-color:#bcc6b4}.drawing-caption p{font-size:17px;letter-spacing:-.025em}.drawing-caption>span{font-size:7px;max-width:160px;letter-spacing:.03em}.study-progress{height:1px;background:#c6cebe;margin-top:19px;overflow:hidden}.study-progress>span{display:block;background:var(--clay);height:100%;transform:scaleX(0);transform-origin:left}.study-status{display:flex;justify-content:space-between;gap:20px;font:8px/1.5 Plex,monospace;color:#536c59;margin-top:9px}.service-chapter{min-height:185svh;display:block;padding:75px clamp(28px,3.4vw,70px);scroll-margin-top:0}.service-chapter>div{position:sticky;top:13vh}.service-chapter .eyebrow{font-size:8px;margin-bottom:24px;color:#6d7b6d}.service-chapter h3{text-transform:none;font:400 clamp(33px,3.4vw,55px)/1.05 Instrument,sans-serif;letter-spacing:-.06em}.chapter-description{font-size:14px;line-height:1.75;margin-top:26px;color:#4a5b4e}.deliverables{font-size:8px;line-height:1.9;margin-top:26px;padding-top:17px;max-width:none}.service-chapter .text-link{margin-top:25px;font-size:11px}.build-sequence{list-style:none;padding:0;margin:40px 0 0;border-top:1px solid var(--stone)}.build-sequence li{display:flex;align-items:center;gap:13px;font-size:11px;padding:9px 0;color:#7b8676;border-bottom:1px solid #dddcd1;transition:color .2s}.build-sequence li>span{font:8px Plex,monospace}.build-sequence li.is-current{color:var(--forest)}.build-sequence li.is-current:after{content:'';margin-left:auto;width:5px;height:5px;background:var(--clay);border-radius:50%}.build-sequence li.is-complete{color:#526b57}.about{grid-template-columns:1.1fr 1fr;gap:14vw;padding-block:110px 120px}.about h2{font-size:clamp(70px,7.2vw,115px);letter-spacing:-.02em;max-width:540px}.about-copy{padding-top:10px}.about-copy .large{font-size:clamp(23px,2.1vw,34px)}.faq h2{font:400 clamp(40px,4vw,65px)/1.12 Instrument,sans-serif;letter-spacing:-.055em}.enquiry h2{font-size:clamp(70px,7vw,112px);text-transform:none}.text-link{transition:color .2s,border-color .2s}.text-link:hover{border-color:var(--clay)}
@media(min-width:1600px){.service-chapter>div{top:18vh}.chapter-description{font-size:16px}.build-sequence li{font-size:12px}.drawing-sticky{padding-inline:55px}}
@media(max-height:700px) and (min-width:761px){.service-chapter>div{top:35px}.service-chapter h3{font-size:36px}.service-chapter .eyebrow{margin-bottom:15px}.chapter-description,.deliverables{margin-top:18px}.build-sequence{margin-top:20px}.build-sequence li{padding:6px 0}.drawing-sticky{padding-block:15px}}
@media(max-width:1050px){.studio-intro{grid-template-columns:1fr}.studio-intro>div{grid-template-columns:1.2fr 1fr}.studio-intro h2{font-size:45px}.service-scroll{grid-template-columns:57% 43%}.service-index{gap:22px}.service-index .skip-studies{display:none}.drawing-sticky{padding-inline:22px}.service-chapter{padding-inline:30px}.service-chapter h3{font-size:38px}.build-sequence{margin-top:28px}.about{gap:8vw}}
@media(max-width:760px){.studio-intro{padding-block:65px}.studio-intro>div{display:block}.studio-intro h2{font-size:43px;max-width:350px}.intro-foot{margin-top:28px;max-width:440px}.intro-foot p{font-size:15px}.services-heading{grid-template-columns:1fr 1fr;padding:35px var(--gutter);gap:20px}.services-heading h2{font-size:78px;grid-column:1;grid-row:2}.scroll-note{grid-column:2;grid-row:2;align-self:end;font-size:7px}.service-index{padding:16px var(--gutter);gap:25px;font-size:11px;scrollbar-width:thin}.service-index a>span{font-size:7px}.service-scroll{display:block}.drawing-sticky{height:37svh;min-height:260px;max-height:none;padding:11px 20px 10px;box-shadow:0 6px 15px #193e3506}.drawing-meta{font-size:7px}.drawing-meta>span:last-child{font-size:12px}.drawing-canvas{margin-block:0}.drawing-caption{padding-top:7px}.drawing-caption p{font-size:12px}.drawing-caption>span{font-size:5px;max-width:108px}.study-progress{margin-top:9px}.study-status{font-size:6px;margin-top:6px}.service-chapter{min-height:170svh;padding:25px var(--gutter) 45px;scroll-margin-top:39svh}.service-chapter>div{position:sticky;top:calc(max(37svh,260px) + 22px)}.service-chapter .eyebrow{font-size:8px;margin-bottom:14px}.service-chapter h3{font:400 37px/1.06 Instrument,sans-serif;letter-spacing:-.055em}.chapter-description{font-size:14px;margin-top:18px;line-height:1.65}.deliverables{font-size:8px;margin-top:19px;padding-top:13px}.service-chapter .text-link{margin-top:18px}.build-sequence{display:none}.about{display:block;padding-block:70px}.about h2{font-size:74px;max-width:390px}.about-copy{padding-top:35px}.faq h2{font-size:46px}.enquiry h2{font-size:76px}}
@media(max-width:760px) and (max-height:700px){.drawing-sticky{height:220px;min-height:220px}.service-chapter>div{position:static}.service-chapter{min-height:150svh}.chapter-description{font-size:13px}.drawing-meta{display:none}.drawing-caption>span{display:none}}
@media(prefers-reduced-motion:reduce){.service-chapter{min-height:100svh}.has-scroll-study [data-build]{opacity:1!important;transform:none!important}.study-stroke{stroke-dashoffset:0!important}.study-progress>span{transform:scaleX(1)!important}}
@media print{.service-index,.drawing-sticky{display:none}.service-chapter{min-height:0}.service-chapter>div{position:static}.about h2{color:#000}}
@media(min-width:761px){.service-index a[aria-current="step"]{color:var(--forest);text-decoration:underline;text-underline-offset:6px}}
@media(max-width:760px) and (min-height:701px){.drawing-sticky{height:43svh;min-height:286px}.service-chapter{scroll-margin-top:45svh}.service-chapter>div{top:calc(max(43svh,286px) + 18px)}}
.drawing-meta .study-skip{font:8px Plex,monospace;text-decoration:none;padding:6px 0 6px 12px}.drawing-meta .study-skip:hover{text-decoration:underline}@media(max-width:760px){.drawing-meta .study-skip{font-size:7px;padding-block:2px}}

/* Compact drawing viewer: normal page flow, one study and one service at a time. */
.service-index{flex-wrap:wrap;overflow:visible;gap:12px 32px}
.service-index button{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:10px 0;font-size:12px;white-space:nowrap}
.service-index button>span{font:8px Plex,monospace;color:var(--clay);margin-right:9px}
.service-index button:hover,.service-index button[aria-pressed="true"]{color:var(--forest);border-bottom-color:var(--forest)}
.service-viewer{display:grid;grid-template-columns:58% 42%;border-top:1px solid var(--stone)}
.service-viewer .drawing-sticky{position:relative;top:auto;height:auto;min-height:620px;max-height:none;align-self:stretch;box-shadow:none;z-index:auto}
.service-viewer .drawing-canvas{min-height:420px}
.service-viewer .drawing-meta .study-edition{font:8px Plex,monospace}
.service-detail{min-width:0;display:flex;flex-direction:column}
.viewer-controls{display:none;justify-content:space-between;align-items:center;padding:20px clamp(28px,3.4vw,70px);border-bottom:1px solid var(--stone)}
.viewer-ready .viewer-controls{display:flex}
.viewer-controls>div{display:flex;gap:8px}
.viewer-controls button{background:transparent;border:1px solid var(--stone);color:var(--forest);height:44px;min-width:44px;font-size:20px}
.viewer-controls button:hover{background:var(--forest);color:var(--chalk);border-color:var(--forest)}
.viewer-controls #cycle-toggle{border:0;font:10px Plex,monospace;display:flex;gap:10px;align-items:center;padding:0 10px}
.viewer-controls #cycle-toggle span{font-size:16px}
.viewer-ready .service-chapters{display:grid;flex:1}
.service-viewer .service-chapter{min-height:0;padding:38px clamp(28px,3.4vw,70px) 46px;border:0;scroll-margin-top:30px}
.service-viewer .service-chapter>div{position:static}
.viewer-ready .service-chapter{grid-area:1/1;visibility:hidden;opacity:0;pointer-events:none}
.viewer-ready .service-chapter.is-active{visibility:visible;opacity:1;pointer-events:auto}
.service-viewer .service-chapter h3{font-size:clamp(34px,3.3vw,54px)}
.service-viewer .build-sequence{margin-top:28px}
.service-viewer .drawing-caption p{font-size:17px}
.service-viewer .study-status{min-height:12px}
.service-index{display:none}.has-service-viewer .service-index{display:flex}
@media(max-width:1050px){.service-viewer{grid-template-columns:54% 46%}.service-viewer .drawing-sticky{padding-inline:22px}.service-index{gap:10px 24px}.service-viewer .service-chapter h3{font-size:36px}}
@media(max-width:760px){
 .service-viewer{display:flex;flex-direction:column}
 .service-index{padding:12px var(--gutter);gap:0 20px}
 .service-index button{font-size:10px;padding-block:10px}
 .service-index button>span{font-size:7px;margin-right:6px}
 .service-viewer .drawing-sticky{position:relative;min-height:0;height:auto;padding:15px 20px 12px;border-right:0}
 .service-viewer .drawing-canvas{flex:none;height:clamp(275px,76vw,420px);min-height:0;margin-block:6px}
 .service-viewer .drawing-meta{display:flex}
 .service-viewer .drawing-caption p{font-size:14px}
 .service-viewer .drawing-caption>span{display:block;font-size:5px}
 .viewer-controls{padding:12px var(--gutter)}
 .service-viewer .service-chapter{padding:26px var(--gutter) 36px;min-height:0;scroll-margin-top:15px}
 .service-viewer .service-chapter h3{font-size:36px}
 .service-viewer .build-sequence{display:none}
 .services-heading h2{grid-column:1/-1;font-size:68px}.services-heading .scroll-note{grid-row:1;grid-column:2;font-size:7px;max-width:110px;justify-self:end}
}
@media(prefers-reduced-motion:reduce){.has-service-viewer [data-build]{opacity:1!important;transform:none!important}}
@media print{.service-index,.viewer-controls{display:none!important}.service-viewer,.viewer-ready .service-chapters{display:block}.viewer-ready .service-chapter{visibility:visible;opacity:1;pointer-events:auto}.service-viewer .service-chapter{break-inside:avoid}}
