@font-face{font-family:Inter;src:url(assets/fonts/inter-400.woff2) format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Space;src:url(assets/fonts/spacegrotesk-500.woff2) format('woff2');font-weight:500;font-display:swap}
:root{--ivory:#f4f0e7;--muted:#c2bcb0;--amber:#ebbb69;--ink:#171918;--line:rgba(244,240,231,.24);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#151716;color:var(--ivory);font:400 15px/1.7 Inter,Arial,sans-serif;--chapter:0}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button[hidden],[hidden]{display:none!important}button:disabled{cursor:not-allowed}a,button,input,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--amber);outline-offset:6px}input:focus-visible,textarea:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;z-index:100;top:10px;left:12px;padding:10px 20px;background:var(--ivory);color:var(--ink);transform:translateY(-150%)}.skip:focus{transform:none}
.world{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#171918;transition:opacity .6s ease}.room{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% center;transform:scale(1.04);filter:brightness(.83);will-change:transform}.room-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,14,14,.89),rgba(11,14,14,.61) 34%,rgba(11,14,14,.03) 65%,rgba(11,14,14,.03)),linear-gradient(0deg,rgba(16,18,17,.6),transparent 20%,transparent 75%,rgba(16,18,17,.3));transition:background .7s ease}.grain{position:absolute;inset:0;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.94' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.6' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:soft-light}#sculpture{position:absolute;right:0;top:9vh;width:53vw;height:70vh}#sculpture canvas{display:block;width:100%;height:100%;position:absolute;inset:0}#k-poster{width:49%;height:49%;object-fit:contain;position:absolute;left:25.5%;top:25.5%;filter:drop-shadow(12px 18px 16px #0007)}body[data-render=ready] #k-poster{visibility:hidden}body[data-render=static-poster] #k-poster{width:100%;height:100%;inset:0;filter:none}body.scene-covered .world{opacity:0}
header{position:fixed;z-index:30;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:27px 5.8vw;background:linear-gradient(#10121170,transparent);transition:background .35s,padding .35s}body.scrolled header{padding-top:18px;padding-bottom:18px;background:#131614e8;backdrop-filter:blur(16px);border-bottom:1px solid #ece8da14}.brand{display:inline-flex;align-items:center;flex-shrink:0}.brand img{width:177px;height:auto;filter:invert(1);mix-blend-mode:screen}header nav{display:flex;align-items:center;gap:34px;font-size:13px}header nav>a{position:relative}header nav>a:after{content:'';position:absolute;left:0;bottom:-7px;width:0;height:1px;background:var(--amber);transition:width .2s}header nav>a:hover:after,header nav>a[aria-current]:after{width:100%}header .nav-enquiry{margin-left:20px;border:1px solid #e6dfcf70;border-radius:30px;padding:8px 21px;display:flex;gap:25px}header .nav-enquiry:after{display:none}#menu-toggle{background:none;border:1px solid var(--line);border-radius:30px;color:var(--ivory);padding:7px 17px}
main,footer{position:relative;z-index:2}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Space,Inter,Arial,sans-serif;font-weight:500}h1{font-size:clamp(64px,7.1vw,112px);letter-spacing:-.055em;line-height:.98;margin-bottom:30px}h1>span,h2>span{color:#d6c2a1}h2{font-size:clamp(48px,4.9vw,76px);letter-spacing:-.045em;line-height:1.06;margin-bottom:29px}.eyebrow{font-size:10px;letter-spacing:.19em;text-transform:uppercase;display:flex;align-items:center;gap:13px;color:#ded7c8;margin-bottom:27px}.small-line{width:33px;height:1px;background:var(--amber);display:inline-block}.chapter{position:relative;min-height:100svh;padding:170px 6.5vw 110px;display:flex;align-items:center}.hero{min-height:100svh;padding-top:140px;padding-bottom:140px}.chapter-copy{width:46%;max-width:620px}.chapter-copy>p:not(.eyebrow){max-width:475px;color:var(--muted)}.chapter-copy .lead{font-size:17px;line-height:1.75;color:#e5dfd2}.hero .lead{font-size:16px}.actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:32px}.button{border:1px solid var(--amber);display:inline-flex;justify-content:space-between;align-items:center;gap:32px;min-height:51px;padding:12px 22px;background:var(--amber);color:#171a16;border-radius:3px;font-size:13px;font-weight:600;box-shadow:0 8px 24px #0002;transition:background .2s,transform .2s}.button:hover{background:#f5c983;transform:translateY(-2px)}.text-link{font-size:12px;border-bottom:1px solid #d8ccae80;padding-bottom:4px}.hero-bottom{position:absolute;left:6.5vw;right:6.5vw;bottom:38px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.045em;color:#d0c6b5}.discover{display:flex;align-items:center;gap:15px}.discover>span{height:36px;width:36px;display:grid;place-items:center;border:1px solid #d8ccae45;border-radius:50%;font-size:17px}.scene-caption{margin-right:10px}.service{border-top:1px solid #e1d8c519;background:linear-gradient(90deg,#111713a6,transparent 60%)}.chapter-number{color:var(--amber)}.service-list{list-style:none;padding:0;margin:25px 0;font-size:12px;color:#e0dacd;max-width:455px}.service-list>li{border-top:1px solid #e1d8c52e;padding:9px 0;display:flex;align-items:center;gap:12px}.service-list>li:before{content:'↗';font-size:11px;color:var(--amber)}.rate{display:flex;align-items:center;gap:20px;margin:27px 0;color:#ece7dd;font-size:12px}.rate strong{font-family:Space;font-size:42px;font-weight:500;letter-spacing:-.04em}.rate span{color:#bdb7ab;font-size:10px}.arrow-link{display:inline-flex;gap:33px;font-size:13px}.scope-note{font-size:12px;max-width:440px}.service-detail{max-width:470px;margin-top:24px;color:#c2bbae;font-size:11px}.service-detail summary{cursor:pointer;list-style:none}.service-detail summary:before{content:'＋';margin-right:8px;color:var(--amber)}.service-detail[open] summary:before{content:'−'}.service-detail p{margin:16px 0}.chapter-side{position:absolute;right:7vw;bottom:80px;text-align:right;font-size:11px;color:#e8dcc5}.chapter-side>span{font-family:Space;font-size:64px;letter-spacing:-.06em;opacity:.38;line-height:1}.chapter-side p{line-height:1.6;margin-top:10px}.chapter-rail{position:fixed;z-index:20;right:21px;top:50%;transform:translateY(-50%);display:grid;gap:13px}.chapter-rail a{width:25px;height:25px;display:grid;place-items:center}.chapter-rail span{font-size:9px;color:#f1e4c2;opacity:.55}.chapter-rail a:before{content:'';position:absolute;right:0;height:16px;width:2px;background:#fff5}.chapter-rail a[aria-current]:before{background:var(--amber);height:23px}.chapter-rail a[aria-current] span{opacity:1}.motion-control{position:fixed;bottom:18px;right:27px;z-index:35}.motion-control button{color:#eadfc8;border:1px solid #dccdb441;background:#171b18b0;backdrop-filter:blur(12px);border-radius:22px;font-size:10px;padding:7px 13px;display:flex;gap:7px;align-items:center}.motion-icon{margin-left:10px}body.scene-covered .chapter-rail{display:none}
.solid{background:#151a17}.approach{padding:110px 6.5vw 120px;border-top:1px solid #d9c9a635}.section-intro h2{font-size:clamp(40px,4.2vw,66px)}.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding:0;margin:58px 0 0}.steps li{border-top:1px solid #cec2a743;padding-top:25px}.steps li>span{font-size:11px;color:var(--amber)}.steps h3{font-size:29px;letter-spacing:-.03em;margin:28px 0 15px}.steps p{color:#bcb9ad;max-width:320px;font-size:13px}.enquiry{border-top:1px solid #cec2a733;display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding:110px 6.5vw 125px}.enquiry>div>p{max-width:410px;color:#c4beb0}.enquiry h2{font-size:clamp(43px,4.7vw,72px)}.small{font-size:11px}.enquiry label,.enquiry legend{font-size:12px;color:#e9e4d7;display:block;margin:0 0 10px}.enquiry label span,.enquiry legend span{font-size:10px;color:#bdb7a9}.enquiry input:not([type=checkbox]),.enquiry textarea{width:100%;padding:12px 13px;color:#f2ecdf;background:#ffffff06;border:1px solid #9b9b8866;border-radius:3px;resize:vertical}.enquiry textarea{min-height:120px}.enquiry fieldset{border:0;padding:0;margin:28px 0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.hint{font-size:10px;color:#bdb7a9;margin:10px 0 20px}.check{display:flex!important;gap:9px;align-items:center;margin-top:23px!important}.check input{accent-color:var(--amber);width:15px;height:15px}.enquiry .button{width:100%;margin-top:8px}.error{font-size:11px;color:#ffb6a7}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#ffb6a7!important}#form-status{font-size:11px;margin:14px 0;color:#ead2a9}.preview-note{font-size:10px;color:#bcb7a9;margin:12px 0}.policy-link{display:inline;background:none;border:0;padding:0;color:inherit;text-decoration:underline;text-underline-offset:3px;font-size:inherit}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:50px}.footer-top .brand img{width:154px}.footer-top p{font-size:12px;color:#c1bdae;margin:0}.footer-bottom{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;border-top:1px solid #cec2a722;padding-top:25px;font-size:9px;color:#b8b1a0}.footer-bottom>div{display:flex;gap:24px}footer{padding:60px 6.5vw 65px}dialog{width:min(850px,90vw);max-height:85svh;border:1px solid #c5b69366;border-radius:5px;padding:0;background:#1c231e;color:var(--ivory)}dialog::backdrop{background:#080c0bb8;backdrop-filter:blur(12px)}.dialog-header{position:sticky;top:0;background:#1c231ef5;padding:19px 27px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:1}.dialog-header strong{font-family:Space;font-size:17px}.dialog-header button{background:transparent;border:1px solid var(--line);color:var(--ivory);padding:4px 11px;border-radius:4px}.policy-content{padding:30px;font-size:13px}.policy-content h1{font-size:36px;line-height:1.1}.policy-content h2{font-size:25px;line-height:1.2;margin-top:35px;margin-bottom:15px}.policy-content h3{font-size:19px}.policy-content table{width:100%;font-size:11px;border-collapse:collapse}.policy-content td,.policy-content th{border-bottom:1px solid var(--line);padding:8px}.policy-content a{text-decoration:underline}
@media(min-width:1700px){.chapter-copy{max-width:730px}.chapter-copy>p:not(.eyebrow){max-width:540px}.hero .lead{font-size:19px}}
@media(max-width:1000px){header{padding-left:5vw;padding-right:5vw}header nav{gap:22px}.brand img{width:153px}h1{font-size:77px}.chapter{padding-left:6vw;padding-right:6vw}.chapter-copy{width:50%}.actions{gap:19px}.hero .lead{font-size:14px}.scene-caption{display:none}.chapter-rail{right:12px}.enquiry{gap:6vw}.steps{gap:30px}}
@media(max-width:700px){html{scroll-padding-top:96px}header,body.scrolled header{padding:22px 6vw;background:#101713db}.brand img{width:148px}header nav{font-size:12px;gap:16px;flex-wrap:wrap;padding:12px 6vw 18px}.js header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#151c18f5;border-bottom:1px solid var(--line)}.js header nav.open{display:flex}.js #menu-toggle{display:block}header .nav-enquiry{margin-left:0;padding:5px 15px}body:not(.js) header{position:relative;display:block}body:not(.js) header nav{padding-left:0;padding-right:0}.world{height:100lvh}.room{object-position:68% center;filter:brightness(.64)}.room-shade{background:linear-gradient(180deg,#0c1411cf 0%,#0c1411bb 24%,#0d15124d 58%,#0d1512d9 90%)}#sculpture{right:2%;top:41lvh;width:96%;height:45lvh}.hero{min-height:102svh;padding:132px 7vw 295px;align-items:flex-start}h1{font-size:clamp(53px,14.5vw,84px);line-height:1.02;margin-bottom:22px}.eyebrow{font-size:8px;letter-spacing:.13em;gap:10px;margin-bottom:23px}.hero .lead{font-size:12px;line-height:1.7}.chapter-copy{width:100%;max-width:510px}.hero .chapter-copy{width:100%}.actions{margin-top:23px;gap:19px}.button{font-size:11px;gap:22px;padding:10px 15px;min-height:47px}.text-link{font-size:10px}.hero-bottom{left:7vw;bottom:28px}.discover{font-size:9px}.discover>span{width:29px;height:29px;font-size:14px}.chapter-rail{display:none}.motion-control{bottom:14px;right:13px}.service{min-height:auto;padding:100px 7vw 80px;background:linear-gradient(90deg,#121b17e8,#121b17cf);border-top:1px solid #d9c9a640}.service h2{font-size:clamp(43px,10vw,65px)}.chapter-copy .lead{font-size:16px}.chapter-copy>p:not(.eyebrow){font-size:13px}.chapter-side{display:none}.rate{font-size:11px;gap:14px}.rate strong{font-size:37px}.service-list{font-size:12px}.service-detail{font-size:11px;max-width:100%}.approach{padding:75px 7vw 85px}.section-intro h2{font-size:38px}.steps{grid-template-columns:1fr;gap:26px;margin-top:38px}.steps h3{margin:18px 0 10px}.steps li{padding-top:17px}.steps p{max-width:none}.enquiry{grid-template-columns:1fr;gap:36px;padding:75px 7vw 85px}.enquiry h2{font-size:46px}.field-row{gap:13px}.footer-top{align-items:flex-start;flex-wrap:wrap}.footer-top p{width:100%;order:3}.footer-bottom{flex-direction:column;gap:17px}.footer-bottom>div{gap:20px}footer{padding:43px 7vw 75px}.dialog-header{padding:15px 20px}.policy-content{padding:23px}.policy-content h1{font-size:31px}body[data-chapter="1"] #sculpture,body[data-chapter="2"] #sculpture,body[data-chapter="3"] #sculpture{opacity:.15}}
@media(max-width:360px){.hero{padding-top:119px;padding-bottom:280px;min-height:100svh}.hero .actions{gap:15px;flex-direction:column;align-items:flex-start}.field-row{grid-template-columns:1fr}.hero .lead{font-size:11px}#sculpture{top:50lvh;height:40lvh}.rate span{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.room{will-change:auto}.button:hover{transform:none}}

/* Perspective and placement match the edited room plate. */
@media(min-width:701px){.room{object-position:100% center}#sculpture{right:-4vw;top:-9.5vh;width:35vw;height:75vh}}
@media(max-width:700px){#sculpture{top:56lvh;height:37lvh}}
@media(min-width:701px){#menu-toggle{display:none}#sculpture{top:-9.5vh}}
.brand{background:transparent}.brand img{filter:url('#brand-white');mix-blend-mode:normal}
.hero-services{display:flex;gap:20px;margin-top:28px;font-size:10px;letter-spacing:.03em;color:#e3dac8}.hero-services a{padding-bottom:4px;border-bottom:1px solid #caba9945}.hero-services a:hover{border-color:var(--amber)}
.enquiry input:not([type=checkbox]),.enquiry textarea{border-color:#979a86}
@media(max-width:700px){.hero-services{gap:18px;font-size:9px;margin-top:19px}.hero{min-height:105svh}#sculpture{top:59lvh;height:34lvh}}

#k-poster{width:100%;height:100%;inset:0;filter:none}

.brand img{filter:none;mix-blend-mode:normal}.footer-top .brand-symbol img{width:47px;height:auto}

/* One complete modelled studio fills the viewport. Quiet overlays keep HTML readable. */
#sculpture{inset:0!important;width:100%!important;height:100%!important;opacity:1!important}
#k-poster{object-fit:cover}.room{display:none}.room-shade{z-index:1;background:linear-gradient(90deg,#0c1411f2 0%,#101713dc 27%,#1017138a 44%,#1017130a 63%),linear-gradient(0deg,#0b131140,transparent 25%,transparent 75%,#0b131140)}
.grain{z-index:2}.world{background:#252d26}.service{background:transparent;min-height:110svh}.hero{min-height:110svh}.chapter-side{color:#e8dcc5;text-shadow:0 2px 10px #000}.chapter-side>span{opacity:.52}
@media(max-width:700px){.room-shade{background:linear-gradient(180deg,#0c1411f7 0%,#0c1411ee 25%,#0c1411ad 43%,#0c141145 57%,#0c141110 80%,#0c14116b 100%)}.hero{padding-top:126px;padding-bottom:44svh;min-height:118svh}.hero h1{font-size:clamp(45px,12vw,72px)}.hero .chapter-copy .lead{font-size:13px}.service{background:transparent;min-height:120svh;padding-top:105px;padding-bottom:48svh}.chapter-copy>p:not(.eyebrow){text-shadow:0 2px 8px #000}.service h2{font-size:46px}.service .chapter-copy{max-width:510px}.hero-services{font-size:9px}.hero-bottom{bottom:30px}}
@media(max-width:360px){.hero{padding-top:118px}.hero h1{font-size:45px}.service h2{font-size:42px}}

.mobile-scene-slot{display:none}
@media(max-width:700px){
 .hero,.service{padding-bottom:75px;min-height:auto}.hero{padding-top:126px}.hero-bottom{position:relative;left:auto;right:auto;bottom:auto;margin-top:26px}.hero{display:block}.service{padding-top:100px}.hero .chapter-copy,.service .chapter-copy{max-width:none}
 .mobile-scene-slot{display:block;width:100vw;height:clamp(250px,72vw,340px);margin:30px -7vw 32px;position:relative;overflow:hidden;background:#202623}
 .mobile-scene-slot img{width:100%;height:100%;object-fit:cover;display:block}.mobile-scene-slot picture{display:block;width:100%;height:100%}
 body[data-render=ready] .mobile-scene-slot.live-slot img{visibility:hidden}
 #sculpture{top:var(--mobile-scene-top,550px)!important;height:var(--mobile-scene-height,280px)!important;bottom:auto!important;left:0!important;right:0!important;width:100%!important}
 body:not([data-render=ready]) #sculpture{display:none}
 .room-shade{background:linear-gradient(180deg,transparent 85%,#0c141135);pointer-events:none}.world{height:100lvh;background:#111914}.chapter-copy>p:not(.eyebrow){text-shadow:none}
 .hero h1{font-size:clamp(45px,12vw,72px)}.hero-services{margin-top:24px}.service-list{margin-top:20px}
}
@media(max-width:700px){body[data-render=ready] .mobile-scene-slot.live-slot{background:transparent}}
@media(max-width:700px){#sculpture{display:block!important}body:not([data-render=ready]) #sculpture{visibility:hidden}body[data-render=ready] #sculpture{visibility:visible}}

/* Preserve the full scene composition for still mode in narrow desktop panels. */
@media(min-width:701px) and (max-width:1100px){#k-poster{object-fit:contain!important;object-position:center center!important}}

/* The introduction offers two audiences; services belong to those audiences. */
.choose-label{margin:26px 0 12px!important;font-size:12px;color:#ece7dd!important}
.category-choices{display:grid;grid-template-columns:1fr 1fr;gap:13px;max-width:510px}
.category-choice{display:flex;flex-direction:column;gap:9px;padding:18px 16px;border:1px solid #d7c4a45c;border-radius:3px;background:#17231bd9;transition:background .2s,border-color .2s}
.category-choice:hover{background:#243629ee;border-color:var(--amber)}
.category-choice strong{font-family:Space,Inter,sans-serif;font-size:22px;letter-spacing:-.035em;display:flex;justify-content:space-between;gap:14px;font-weight:500}
.category-choice strong span{color:var(--amber);font-size:17px}
.category-choice>span{font-size:10px;color:#d7cebb}
.category-choice .choice-number{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#c5b38d}
.hero-contact{margin-top:20px;gap:23px}
.category-services{max-width:475px;margin:28px 0}
.category-services>section{border-top:1px solid #e1d8c52e;padding:22px 0 5px}
.category-services h3{font-size:22px;letter-spacing:-.025em;line-height:1.3;margin-bottom:12px;color:#e9e4d7}
.category-services p{font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:14px}
.category-services .service-note{font-size:11px;color:#cfc5b1}
.enquiry select{width:100%;padding:12px 13px;color:#f2ecdf;background:#1c231e;border:1px solid #979a86;border-radius:3px;font:inherit;font-size:12px;margin-bottom:25px}
.business-category{scroll-margin-top:0}
@media(max-width:700px){.category-choices{gap:10px;max-width:none}.category-choice{padding:17px 12px}.category-choice strong{font-size:21px}.category-choice>span{font-size:9px}.category-choice strong span{font-size:15px}.choose-label{margin-top:22px!important}.category-services h3{font-size:23px}}
@media(max-width:360px){.category-choices{grid-template-columns:1fr}.category-choice{padding:16px}.category-choice strong{font-size:23px}}

/* Contact and optional DEV help belong to the same visitor journey. */
.nav-dev,.help-dev{border:0;background:none;color:inherit;cursor:pointer;font:inherit;padding:0}.help-dev{font-size:12px;border-bottom:1px solid #d8ccae80;padding-bottom:4px}.nav-dev{font-size:12px}.contact-options{display:flex;flex-wrap:wrap;gap:15px 24px;margin:24px 0 28px}.contact-options .text-link{font-size:12px}.direct-call[hidden]{display:none!important}
#appointment-preference input{margin-bottom:0}#enquiry-route:empty{display:none}
.dev-dialog{width:min(560px,92vw)}.dev-dialog .dialog-header p{font-size:11px;color:var(--muted);margin:5px 0 0}.dev-content{padding:24px}.dev-disclosure{font-size:11px;color:#c7c1b5;line-height:1.6}.dev-transcript{max-height:32svh;overflow:auto;margin:20px 0}.dev-message{font-size:13px;line-height:1.7;background:#ffffff08;padding:13px 15px;border-radius:5px;margin:10px 0}.dev-message.from-visitor{margin-left:34px;background:#d6b78316}.dev-choices{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.dev-choices button{background:#ffffff05;border:1px solid #a99d805c;color:#f1eadc;padding:9px 12px;border-radius:18px;font-size:11px}.dev-choices button:hover{border-color:var(--amber)}.dev-input-row{display:flex;gap:8px;align-items:stretch}.dev-input-row input{min-width:0;width:100%;border:1px solid #979a86;border-radius:3px;background:#ffffff06;padding:12px;color:#f2ecdf;font:inherit;font-size:13px}.dev-input-row .button{min-width:68px;padding:10px 15px;font-size:12px}.dev-content label{font-size:12px;display:block;margin-bottom:9px}.dev-content .hint{font-size:10px}.dev-next{padding:12px 0 20px;border-top:1px solid #d8ccae40}.dev-next p{font-size:12px;line-height:1.7;color:#d9cfbc}.dev-next .button{font-size:12px}.dev-content>#dev-reset{font-size:11px}
@media(max-width:1000px){header nav{gap:17px}.nav-dev{font-size:11px}}
@media(max-width:700px){.hero-contact{gap:17px}.help-dev{font-size:10px}.dev-content{padding:19px}.dev-transcript{max-height:28svh}.dev-dialog{max-height:88svh}.contact-options{gap:17px}.nav-dev{font-size:12px}}


/* Customer readability: clear supporting copy, roomy actions, and larger choices. */
:root{--muted:#e0dbd0}
body{font-size:18px;line-height:1.65}
header nav{font-size:16px;gap:24px}
.nav-dev{font-size:16px}
header .nav-enquiry{margin-left:8px;padding:10px 18px;gap:18px}
header nav>a,.nav-dev{min-height:44px;display:inline-flex;align-items:center}
#menu-toggle{font-size:16px;min-height:44px}
.eyebrow{font-size:14px;line-height:1.5;letter-spacing:.12em;color:#e7dfcf}
.chapter-copy>p:not(.eyebrow){max-width:540px;color:var(--muted)}
.chapter-copy .lead,.hero .lead{font-size:22px;line-height:1.55;color:#eee9df}
.chapter-copy .scope-note,.chapter-copy .context-line{font-size:19px;line-height:1.65}
.service h2{font-size:clamp(56px,4.9vw,80px)}
.actions{gap:18px 26px}
.button{font-size:18px;min-height:52px;padding:14px 22px}
.text-link,.help-dev,.arrow-link,.contact-options .text-link{font-size:18px;line-height:1.5;min-height:44px;display:inline-flex;align-items:center;padding:8px 0}
.hero-contact{margin-top:20px;gap:8px 24px}
.choose-label{font-size:20px!important;line-height:1.5}
.category-choices{max-width:560px;gap:16px}
.category-choice{padding:22px 18px;gap:12px;background:#17231be8}
.category-choice strong{font-size:clamp(26px,2.3vw,32px);line-height:1.2;gap:10px}
.category-choice strong span{font-size:22px}
.category-choice>span{font-size:17px;line-height:1.45;color:#e7dfcf}
.category-choice .choice-number{font-size:14px;line-height:1.5;letter-spacing:.05em;color:#dbc9a5}
.category-services{max-width:560px;margin:34px 0}
.category-services>section{padding:26px 0 8px}
.category-services h3{font-size:30px;line-height:1.2;margin-bottom:16px}
.category-services p{font-size:19px;line-height:1.65;color:var(--muted)}
.category-services .service-note{font-size:17px;line-height:1.65;color:#ded6c5}
.service-list{font-size:19px;line-height:1.6;max-width:540px}
.service-list>li{padding:14px 0}.service-list>li:before{font-size:17px}
.service-detail{font-size:18px;line-height:1.65}
.hero-bottom{font-size:14px;line-height:1.5}
.steps li>span{font-size:16px}.steps h3{font-size:34px}
.steps p{font-size:19px;line-height:1.65;color:var(--muted);max-width:360px}
.enquiry>div>p{font-size:20px;line-height:1.65;color:var(--muted)}
.enquiry label,.enquiry legend,.dev-content label{font-size:18px;line-height:1.5}
.enquiry label span,.enquiry legend span{font-size:15px;color:#d8d2c6}
.enquiry input:not([type=checkbox]),.enquiry textarea,.enquiry select{font-size:18px;line-height:1.5;padding:14px}
.enquiry select{height:auto;min-height:54px}
.hint,.small,#form-status,.error,.preview-note,.dev-content .hint{font-size:15px;line-height:1.6;color:#d8d2c6}
.enquiry .check{align-items:flex-start}.check input{width:20px;height:20px;flex-shrink:0;margin-top:4px}
.footer-top p{font-size:18px}.footer-bottom{font-size:15px;line-height:1.6;color:#d8d2c6}
.footer-bottom>div{flex-wrap:wrap;gap:12px 24px}
.footer-bottom a,.footer-bottom button{min-height:44px;padding:8px 0}
.motion-control button{font-size:14px;min-height:44px;padding:10px 16px}
.dialog-header strong{font-size:23px}.dialog-header button{font-size:16px;min-height:44px;padding:8px 14px}
.policy-content{font-size:18px;line-height:1.65}.policy-content table{font-size:16px}
.dev-dialog{width:min(660px,92vw)}
.dev-dialog .dialog-header p{font-size:16px;line-height:1.5}
.dev-disclosure{font-size:16px;line-height:1.6;color:#ded8cd}
.dev-message{font-size:18px;line-height:1.65;padding:16px}
.dev-choices button{font-size:16px;line-height:1.5;min-height:46px;padding:10px 16px}
.dev-input-row input{font-size:18px;min-height:54px}
.dev-input-row .button,.dev-next .button{font-size:18px;min-height:54px}
.dev-next p{font-size:18px;line-height:1.6}.dev-content>#dev-reset{font-size:16px}
@media(min-width:701px) and (max-width:1100px){
 .chapter-copy{width:56%;max-width:540px}
 header nav{font-size:16px;gap:12px}.nav-dev{font-size:16px}
 .brand img{width:138px}header .nav-enquiry{margin-left:0;padding:9px 12px;gap:10px}
 .category-choice{padding:20px 14px}.category-choice strong{font-size:26px}
 .hero{padding-top:150px;padding-bottom:100px}
 .hero-bottom{bottom:25px}
}
@media(max-width:700px){
 body{font-size:18px}
 header nav{font-size:18px;gap:12px 24px;padding:16px 6vw 20px}.nav-dev{font-size:18px}
 header nav>a,.nav-dev{min-height:46px}.brand img{width:154px}
 .hero h1{font-size:clamp(48px,12vw,76px)}
 .eyebrow{font-size:13px;line-height:1.5;letter-spacing:.06em;gap:10px}
 .chapter-copy>p.lead,.hero .chapter-copy .lead{font-size:20px;line-height:1.55}
 .chapter-copy>p:not(.eyebrow){font-size:18px;line-height:1.65}
 .chapter-copy .scope-note,.chapter-copy .context-line{font-size:18px}
 .service h2{font-size:clamp(44px,10.5vw,60px)}
 .category-choices{grid-template-columns:1fr;gap:14px}
 .category-choice{padding:22px 20px;gap:12px}
 .category-choice strong{font-size:30px}.category-choice strong span{font-size:24px}
 .category-choice>span{font-size:18px}.category-choice .choice-number{font-size:14px}
 .choose-label{font-size:20px!important}
 .category-services h3{font-size:28px;line-height:1.25}
 .category-services p{font-size:19px;line-height:1.65}.category-services .service-note{font-size:17px}
 .actions{gap:10px 24px}.hero-contact{gap:8px 20px}
 .text-link,.help-dev,.arrow-link,.contact-options .text-link{font-size:18px}
 .button{font-size:18px;min-height:52px;padding:13px 18px}
 .service-list{font-size:18px}.service-detail{font-size:18px}
 .steps p{font-size:19px}.steps h3{font-size:32px}
 .enquiry>div>p{font-size:20px}.enquiry h2{font-size:46px}
 .field-row{grid-template-columns:1fr;gap:20px}
 .dev-content{padding:20px}.dev-transcript{max-height:30svh}
 .dev-disclosure{font-size:16px}.dev-message{font-size:18px}
 .dev-dialog .dialog-header{padding:16px 18px;gap:12px}
 .dev-dialog .dialog-header strong{font-size:21px}
 .dev-content .hint{font-size:15px}
 .footer-top p{font-size:18px}.footer-bottom{font-size:15px}
 .policy-content{padding:22px;font-size:18px}.policy-content table{font-size:16px}
 .motion-control button{font-size:14px;min-height:44px}
}

/* Focused customer request flow: optional details stay out of the first step. */
#request-title,#call-enquiry-fallback h3{font-family:Space,Arial,sans-serif;font-size:clamp(26px,2.6vw,36px);line-height:1.2;margin:0 0 28px;letter-spacing:-.02em}
.enquiry-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:24px 0}.enquiry-details summary{font-size:18px;cursor:pointer;min-height:28px}.enquiry-details summary span{color:var(--muted);font-size:15px;margin-left:10px}.details-fields{padding-top:24px}.details-fields input{margin-bottom:22px}#call-enquiry-fallback>.text-link{display:inline-flex;margin-top:24px}#enquiry-form .hint{font-size:16px;line-height:1.6}#form-status{font-size:18px;line-height:1.6}.enquiry select:focus-visible{outline:2px solid var(--amber);outline-offset:3px}#enquiry-form fieldset{margin:26px 0}#enquiry-form .error{font-size:16px}#dev-handoff{display:inline-flex}

/* Service area: remote reach and the recorded onsite areas, side by side. */
.service-area{padding:110px 6.5vw 120px;border-top:1px solid #d9c9a635}
.coverage{display:grid;grid-template-columns:minmax(0,330px) minmax(0,1fr);gap:7vw;margin:54px 0 0}
.coverage>section{border-top:1px solid #cec2a743;padding-top:25px}
.coverage h3{font-family:Space,Inter,Arial,sans-serif;font-weight:500;font-size:29px;letter-spacing:-.03em;line-height:1.2;margin:0 0 16px}
.coverage p{font-size:19px;line-height:1.65;color:var(--muted);max-width:470px;margin:0}
.area-groups{display:grid;gap:34px;margin-top:32px}
.area-groups h4{font-family:Space,Inter,Arial,sans-serif;font-weight:500;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:#e7dfcf;margin:0 0 12px}
.area-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:0 28px;font-size:17px;line-height:1.5;color:#e3ddd1}
.area-list>li{border-top:1px solid #e1d8c51f;padding:9px 0}
.service-note a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px){.coverage{grid-template-columns:1fr;gap:42px;margin-top:44px}}
@media(max-width:700px){
 .service-area{padding:75px 7vw 85px}
 .coverage{gap:36px;margin-top:38px}
 .coverage>section{padding-top:17px}
 .coverage h3{font-size:26px}
 .coverage p{font-size:18px}
 .area-groups{gap:28px;margin-top:26px}
 .area-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0 20px;font-size:17px}
}
