:root{--cream:#f3eddf;--bronze:#c4a779;--ink:#141713;--focal:50%}*{box-sizing:border-box}html{background:var(--ink)}body{margin:0;color:var(--cream);background:var(--ink);font:14px/1.6 Arial,Helvetica,sans-serif}body.intro{overflow:hidden}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button{border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid #f6d7a4;outline-offset:5px}[hidden]{display:none!important}.stage{position:fixed;inset:0;overflow:hidden;background:#231d16}.stage>img,.stage>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--focal) 50%}.stage>video{opacity:0}.stage>video.visible{opacity:1}.stage #hearth{opacity:0;pointer-events:none}.stage #hearth.active{animation:hearth 2.7s ease-in-out infinite;opacity:.3;filter:brightness(1.22) saturate(1.05)}@keyframes hearth{0%,100%{opacity:.16}13%{opacity:.4}30%{opacity:.2}42%{opacity:.46}59%{opacity:.25}77%{opacity:.38}}
.scrim{position:absolute;inset:0;background:linear-gradient(90deg,#080c0b9c,transparent 80%),linear-gradient(0deg,#0709069c,transparent 50%,#08090888)}body[data-chapter="interior"] .scrim{background:linear-gradient(90deg,#07090574,transparent 37%,transparent 59%,#080b09d4),linear-gradient(0deg,#0809069c,transparent 65%,#08090888)}body[data-chapter="workshop"] .scrim{background:linear-gradient(90deg,transparent 30%,#080c0870 70%),linear-gradient(0deg,#080b08b5,transparent 64%,#08090888)}body[data-chapter="office"] .scrim{background:linear-gradient(90deg,#070b0bdd,transparent 49%,transparent 65%,#080b0999),linear-gradient(0deg,#080b0888,transparent 65%,#08090855)}
header{position:fixed;z-index:8;inset:0 0 auto;display:flex;align-items:center;gap:30px;padding:25px 4vw;background:linear-gradient(#12161060,transparent)}.brand{display:flex;align-items:center;gap:14px;letter-spacing:2px;font-size:15px;line-height:1.2;white-space:nowrap}.brand img{width:58px;height:48px;object-fit:contain;background:#f8f8f8}.brand small{display:block;font-size:8px;letter-spacing:2.1px;margin-top:9px}nav{margin-left:auto;display:flex;gap:25px}nav button{background:none;font-size:12px;padding:10px 0}nav button[aria-current="true"]{border-bottom:1px solid var(--bronze)}.call,.quiet{font-size:12px;letter-spacing:.4px;padding:12px 18px;border:1px solid #f3eddf66;background:#14171338}.call span{margin-left:22px}.intro nav,.intro .call{display:none}.intro #skip{margin-left:auto}
#journey{height:2055vh}body.intro #journey{height:100dvh}.panel{position:fixed;z-index:3;outline:none}.hero{left:29vw;top:34vh;width:62vw;transform-origin:center center}.eyebrow{font-size:10px;letter-spacing:2.5px;color:var(--bronze);margin:0 0 20px}h1,h2,h3,.editorial,.intro-caption p{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(44px,4.45vw,86px);line-height:1.1;letter-spacing:-2.5px;margin:0 0 23px;text-shadow:0 2px 18px #0005}h1 em,h2 em{color:#e2d0b2;font-weight:400}h2{font-size:clamp(40px,3.8vw,72px);line-height:1.08;letter-spacing:-1.8px;margin:0 0 24px}h3{font-size:28px;line-height:1.2;margin:0 0 14px}.support{color:#eee5d6;line-height:1.8;font-size:14px;margin:0 0 26px}.hero-actions{display:flex;gap:25px;align-items:center}.solid{display:inline-block;background:var(--cream);color:#292a24;padding:17px 23px;min-height:48px;font-size:12px;letter-spacing:.2px}.solid span{margin-left:26px}.solid:hover{background:#d7c1a0}.text-button{display:inline-block;background:none;border-bottom:1px solid #c4a77980;padding:11px 0;font-size:12px;color:var(--cream)}.scroll-cue{font-size:9px;letter-spacing:2px;margin-top:40px}.intro-caption{position:fixed;left:7vw;bottom:23vh;z-index:3}.intro-caption p{font-size:clamp(44px,5vw,80px);line-height:1.1;margin:0}.intro-caption .eyebrow{display:block}#start{position:fixed;left:7vw;bottom:12vh;z-index:4}
.chapter{inset:135px 4.5vw 90px;pointer-events:none}.chapter>*{pointer-events:auto}.editorial{font-size:21px;line-height:1.6;color:#e5d8c3}.gallery-zone{position:absolute;left:0;top:0;width:29%;max-width:410px}.gallery-zone>.eyebrow{margin-left:20px}#fan{position:relative;height:clamp(280px,43vh,530px);width:100%;touch-action:pan-y}.photo-card{position:absolute;width:78%;height:69%;left:7%;top:6%;padding:9px 9px 31px;background:#e9e1d0;box-shadow:0 15px 40px #0007;transition:transform .42s,opacity .42s;border:1px solid #bfb49b;transform-origin:50% 85%}.photo-card img{width:100%;height:100%;object-fit:contain;background:#302b24;pointer-events:none}.photo-card span{position:absolute;bottom:7px;left:10px;font-size:9px;letter-spacing:1px;color:#44382a}.photo-card.active{box-shadow:0 17px 50px #0009}.photo-card:hover{filter:brightness(1.05)}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:28px;font-size:10px;letter-spacing:2px}.round{width:44px;height:44px;border:1px solid #e9dcc275;background:#191b1788;display:inline-grid;place-items:center;font-size:21px;border-radius:50%}.round:hover{background:#594b38}#photo-caption{text-align:center;font:15px Georgia,serif;margin:13px 0 7px}.tiny{font-size:10px;line-height:1.6;color:#d6cbbb}.gallery-zone>.tiny{text-align:center}.work-story{position:absolute;right:0;top:1vh;width:28%}.reviews{position:absolute;right:0;bottom:0;width:30%;max-width:500px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid #bf9a6755;padding-top:15px}.review-grid article{font-family:Georgia,serif}.review-grid p{font-size:16px;margin:0 0 8px}.quote-mark{font:34px Georgia;color:var(--bronze);height:28px;display:block}.review-grid small{font:10px/1.7 Arial;color:#d9ccb6}.source-link{display:inline-block;font-size:10px;color:#cfb992;margin-top:16px}.chapter-actions{display:flex;justify-content:space-between;gap:20px;margin-top:18px}
.service-heading{position:absolute;left:0;bottom:0;width:34%;max-width:470px}.service-heading h2{font-size:clamp(34px,3.4vw,64px)}.service-heading .editorial{font-size:18px}.service-list{position:absolute;right:0;top:7vh;width:32%;max-width:490px}.reading-surface{background:linear-gradient(130deg,#181c17ec,#1b1b15bb);border:1px solid #aa8b5538;box-shadow:0 14px 50px #0002;padding:26px;backdrop-filter:blur(9px)}details{border-top:1px solid #c4a77955}summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:15px;min-height:72px;font:20px/1.3 Georgia,serif}summary::-webkit-details-marker{display:none}summary span{font:9px Arial;color:var(--bronze)}summary b{margin-left:auto;font:20px Arial;font-weight:400}details[open] summary b{transform:rotate(45deg)}details p{font-size:12px;color:#e2d5c0;margin:0 0 15px}details .text-button{margin-bottom:20px}.prep summary{font:14px Arial;min-height:60px}.service-list>.tiny{margin-top:22px}
.about{position:absolute;left:0;top:3vh;width:28%;max-width:450px}.about h2{font-size:clamp(36px,3.2vw,60px)}.about>p:not(.editorial):not(.eyebrow){font-size:13px;color:#e2d8c8}.about .editorial{font-size:20px}.contact-lines{border-top:1px solid #c4a77955;margin-top:25px;padding-top:20px}.contact-lines a{display:block;font-size:12px;overflow-wrap:anywhere;margin-bottom:8px}.contact-lines a:first-child{font:23px Georgia,serif;margin-bottom:13px}.contact-lines p{font-size:13px;margin:14px 0}.contact-lines small{color:#cabca5}#enquiry{position:absolute;right:0;top:3vh;width:29%;max-width:470px;padding:22px}#enquiry .eyebrow{margin-bottom:8px}#enquiry h3{font-size:27px}.demo-note{font-size:10px;color:#d7c4a5;margin:0 0 17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px 12px}.form-grid label{font-size:10px;letter-spacing:.3px}.full{grid-column:1/-1}input,select,textarea{width:100%;background:#141712ac;border:1px solid #a8977955;color:var(--cream);border-radius:0;min-height:39px;padding:8px 10px;display:block;margin-top:5px;font-size:12px}select option{background:#191c17}textarea{resize:vertical;max-height:170px}.upload span{font-size:8px;color:#c7bca7}.upload input{padding:7px;font-size:10px}input::file-selector-button{background:#d1bea0;color:#1d2319;border:0;padding:4px 8px;margin-right:8px}.form-grid [aria-invalid="true"]{border-color:#efad85}#form-status{font-size:11px;color:#f4ce9f;margin:8px 0}#enquiry .solid{width:100%;padding:12px;min-height:44px}#enquiry>.tiny{margin:8px 0 0}.contact-bottom{position:absolute;bottom:0;left:0;display:flex;gap:28px}
#portrait-slot{position:absolute;background:#e6d9be;display:grid;place-items:center;overflow:hidden;color:#6a5947;text-align:center;font:12px/1.5 Georgia,serif;padding:14px;box-shadow:inset 0 0 14px #583e2822}#portrait-slot img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;padding:12px}#portrait-slot img:not([src]){display:none}
footer{position:fixed;z-index:7;bottom:0;left:0;right:0;padding:20px 4vw;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:1.5px;background:linear-gradient(transparent,#11160ca0)}footer button{background:none;font-size:10px;padding:10px 0}.footer-actions{display:flex;gap:24px}.prototype-label{font-size:8px;color:#dbccb2b0}#progress{position:fixed;z-index:10;bottom:0;left:0;height:2px;background:var(--bronze)}#snow{position:fixed;inset:0;z-index:4;pointer-events:none;width:100%;height:100%}#review{position:fixed;z-index:10;right:20px;bottom:75px;width:min(340px,calc(100vw - 40px));padding:22px;background:#171b16f5;border:1px solid #a48b66}#review>div{display:flex;justify-content:space-between;align-items:center}#review button{background:none;font-size:24px}#review p,#review label{font-size:11px}#review label{display:block;margin-top:14px}#review input[type=checkbox]{width:auto;min-height:0;display:inline}.clean .panel,.clean .scrim,.clean #snow,.clean #portrait-slot,.clean #hearth{visibility:hidden}.skip-link{position:fixed;z-index:30;top:-100px;left:20px;padding:15px;background:#141713}.skip-link:focus{top:15px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.no-js{max-width:800px;padding:50px}
dialog{color:var(--cream);background:#171b15f5;border:1px solid #b2966866;padding:25px;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#080c09dd;backdrop-filter:blur(8px)}#lightbox{width:min(1100px,92vw);height:90dvh;text-align:center;overflow:hidden}#close-lightbox{position:absolute;right:14px;top:14px;z-index:2}#large-photo{width:100%;height:calc(100% - 100px);object-fit:contain}#lightbox-caption{font:17px Georgia,serif;margin:12px 0}.lightbox-controls{display:flex;justify-content:center;align-items:center;gap:25px;font-size:11px}.lightbox-controls .round{height:38px;width:38px}#privacy{max-width:620px;width:90vw;padding:45px}#privacy-close{float:right}#privacy h2{font-size:36px}#privacy p{font-size:14px}.dialog-open{overflow:hidden}
@media(min-width:701px){.reading-surface{max-height:calc(100dvh - 250px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.hero{max-width:1100px}.work-story h2{font-size:clamp(39px,3.9vw,74px)}}
@media(min-width:2100px){.hero{left:34vw;top:32vh}.chapter{inset-left:6vw;inset-right:6vw}.service-heading{left:8vw}.gallery-zone{left:4vw}.work-story,.reviews{right:4vw}}
@media(max-width:1100px) and (min-width:701px){header{gap:16px;padding:20px 3vw}nav{gap:14px}.brand{font-size:12px}.brand small{font-size:7px}.brand img{width:40px;height:40px}.call{padding:9px}.chapter{inset:110px 4vw 85px}.work-story,.reviews{width:32%}.work-story h2{font-size:39px}.work-story .editorial{font-size:17px}.service-list{width:39%;top:0}.service-heading{width:42%}summary{font-size:17px}.about{width:33%;padding:18px}.about h2{font-size:34px}#enquiry{width:37%;padding:17px}.about .editorial{font-size:17px}}
@media(max-height:800px) and (min-width:701px){.chapter{top:110px;bottom:80px}.work-story h2{font-size:42px;margin-bottom:10px}.work-story .editorial{font-size:16px}.reviews .eyebrow{margin-bottom:10px}.review-grid{gap:12px;padding-top:8px}.review-grid p{font-size:13px}.gallery-zone #fan{height:40vh}.service-heading h2{font-size:38px}.reading-surface{max-height:calc(100dvh - 210px)}.about,.service-list,#enquiry{top:0}.hero{top:28vh}h1{font-size:54px}.scroll-cue{margin-top:25px}}
@media(max-width:700px){header{padding:16px 20px;gap:12px;flex-wrap:wrap;background:linear-gradient(#11170ee0,#11170e70,transparent)}.brand{font-size:12px;gap:9px}.brand img{width:37px;height:37px}.brand small{font-size:6px;letter-spacing:1.4px;margin-top:6px}.call{margin-left:auto;padding:8px 11px;font-size:10px}.call span{margin-left:6px}nav{order:3;justify-content:space-between;width:100%;margin:0;border-top:1px solid #f3eddf25;padding-top:5px;gap:0}nav button{font-size:10px;min-height:36px;padding:6px 10px}.intro header{flex-wrap:nowrap}.quiet{font-size:10px;padding:9px}#journey{height:2515svh}.stage>img,.stage>video{inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--focal) 50%}.scrim,body[data-chapter] .scrim{background:linear-gradient(0deg,#10170eed 3%,#10170e90 55%,#11170e12 84%)}.hero{left:7vw;top:auto;bottom:18svh;width:86vw;max-height:62svh;overflow:auto}h1{font-size:clamp(35px,8.5vw,56px);letter-spacing:-1.6px}.hero .eyebrow{font-size:8px}.support{font-size:12px}.hero-actions{gap:20px;flex-wrap:wrap}.solid{font-size:11px;padding:14px 16px}.hero-actions .text-button{font-size:10px}.scroll-cue{font-size:8px;margin-top:24px}.chapter{position:fixed;inset:130px 5vw 78px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;pointer-events:auto;padding:15px 7px 20px;background:linear-gradient(#13191000,#13191099);display:flex;flex-direction:column;gap:24px}.chapter>*{position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;flex-shrink:0}.gallery-zone{order:1}.work-story{order:0}.reviews{order:2}.work-story h2{font-size:39px;margin:0 0 10px}.work-story h2 br{display:none}.work-story .editorial{font-size:16px;margin:0}.eyebrow{font-size:8px;margin-bottom:12px}#fan{height:320px;width:86%;margin:0 auto}.photo-card{height:68%;width:74%;left:9%}.gallery-zone>.eyebrow{margin-left:0}#photo-caption{font-size:14px}.review-grid{gap:20px}.reviews{padding:20px;background:#151b15dd}.service-heading{padding:16px;background:#141911a8;margin-top:31svh}.service-heading h2{font-size:39px}.service-heading .editorial{font-size:16px}.reading-surface{padding:20px;max-height:none;overflow:visible;backdrop-filter:blur(5px)}.service-list{margin-bottom:10px}.about{margin-top:26svh}.about h2{font-size:37px}.about h2 br{display:none}.contact-lines a{font-size:12px}#enquiry{padding:20px}.contact-bottom{display:flex;justify-content:space-between;gap:15px}.contact-bottom button{font-size:10px}.form-grid{gap:13px}.form-grid label{font-size:11px}input,select,textarea{font-size:16px;min-height:44px}.demo-note{font-size:11px}.upload span{font-size:9px}.upload input{font-size:11px}footer{padding:14px 20px;font-size:7px;letter-spacing:.5px}.footer-actions{gap:15px}footer button{font-size:9px}.prototype-label{display:none}.intro-caption{left:7vw;bottom:25svh}.intro-caption p{font-size:49px}#start{bottom:15svh}#portrait-slot span{font-size:8px}#lightbox{padding:18px;width:96vw;height:88dvh}#lightbox-caption{font-size:14px}#privacy{padding:25px}}
@media(min-width:1101px){.contact #enquiry{width:24%;right:-2.4vw;padding:20px}}
#lightbox[open] #large-photo{animation:photo-open .28s ease-out both}@keyframes photo-open{from{transform:scale(.85) rotate(-5deg);opacity:.4}to{transform:scale(1) rotate(0);opacity:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}#snow,#hearth{display:none!important}}
/* V2: reference-led composition, original artwork and spatial effects. */
.brand img{background:transparent;width:70px;height:54px;object-fit:contain}.brand{gap:12px}
.hero{left:31vw;top:36vh;width:49vw}h1{font-size:clamp(44px,4.1vw,79px)}
.hero .support{max-width:540px}.hero .eyebrow{letter-spacing:3px}.hero-actions{gap:26px}
#porch-sign{position:absolute;pointer-events:none;z-index:1;filter:drop-shadow(4px 8px 5px #160900c9)}
#sign-board{position:absolute;inset:0;overflow:hidden;border-radius:3px;transform:perspective(700px) rotateY(-9deg) rotate(6deg);transform-origin:20% 50%;box-shadow:2px 3px 2px #160e08,inset 0 0 4px #402a15}
#sign-board img{position:absolute;max-width:none;width:105.9%;height:146.6%;left:-2.92%;top:-22%;filter:brightness(.82) saturate(.9)}
#bear-warmth{position:absolute;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse,#f6ad55 0%,#dc872939 45%,transparent 72%);mix-blend-mode:screen}
#sign-scatter{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.stage #hearth{position:absolute;inset:auto;pointer-events:none;opacity:0;filter:none;animation:none}
.stage #hearth.active{opacity:1;animation:none;filter:none}
#portrait-slot{background:#e6d9be;box-shadow:inset 0 0 15px #583e2833}#portrait-slot img{padding:5px 10px}
.gallery-zone{top:80px;max-width:350px;width:24%}#fan{height:clamp(340px,48vh,560px)}.photo-card{top:22%;height:55%;width:83%}
.work-story{width:29%;top:2vh}.reviews{width:29%;max-width:460px}.review-grid{grid-template-columns:1fr;gap:10px;border:0;padding:0}.review-grid article{border:1px solid #b99b6466;background:#211c14b8;padding:13px 18px;backdrop-filter:blur(5px)}.quote-mark{display:none}.review-grid small br{display:none}.review-grid p{font-size:15px;margin-bottom:4px}
.service-heading{left:31%;bottom:8%;width:31%;max-width:440px;padding:20px 22px;background:linear-gradient(90deg,#171710c9,#17171072);border-left:1px solid #c4a77980}.service-heading h2{font-size:clamp(34px,3vw,58px)}.service-list{width:29%;top:7vh}.service-list summary{font-size:19px}
#lightbox[open]{animation:lightbox-in .22s ease-out}@keyframes lightbox-in{from{opacity:.3}to{opacity:1}}
.clean #porch-sign,.clean #bear-warmth,.clean #sign-scatter{visibility:hidden}
@media(min-width:2100px){.hero{left:32vw;top:33vh}.service-heading{left:31%}.gallery-zone{left:4vw;top:50px}}
@media(max-height:800px) and (min-width:701px){.gallery-zone{top:45px}.reviews .review-grid article{padding:8px 13px}.work-story .editorial{margin:8px 0}.service-heading{bottom:0}.service-heading h2{font-size:35px}}
@media(max-width:1100px) and (min-width:701px){.service-heading{left:27%;width:31%;padding:15px}.service-heading h2{font-size:32px}.service-list{width:36%}.service-list summary{font-size:17px}.gallery-zone{width:25%;top:70px}.reviews{width:32%}.review-grid small{font-size:9px}}
@media(max-width:700px){.brand img{width:42px;height:37px}.hero{left:7vw;top:auto;bottom:16svh;width:86vw}.hero h1{font-size:37px}.hero .support{font-size:12px}.gallery-zone{margin-top:60px}#fan{height:390px;width:86%}.photo-card{top:24%;height:53%;width:80%}.work-story{padding:12px;background:#171b12bb}.reviews{padding:16px}.review-grid{grid-template-columns:1fr;gap:12px}.service-heading{border-left:1px solid #c4a77980;padding:20px;margin-top:35svh}.service-heading h2{font-size:38px}.service-list summary{font-size:20px}.about{margin-top:29svh}#portrait-slot img{padding:3px 8px}}
@media(prefers-reduced-motion:reduce){#sign-scatter{display:none!important}}
body.form-active{overflow:hidden}
.gallery-controls{position:relative;z-index:7;margin-top:44px}.gallery-zone>.tiny{margin-bottom:0}

/* Keep preview status visible on narrow screens too. */
header::after{content:"PREVIEW";position:absolute;right:4vw;top:82px;font:8px Arial,sans-serif;letter-spacing:1.5px;color:#e5d8c3;pointer-events:none}@media(max-width:700px){header::after{top:111px;right:20px;font-size:8px}}

/* Version 3: reference-led composition and accessible controls. */
.brand{font-family:Georgia,'Times New Roman',serif;font-size:27px;font-weight:400;letter-spacing:2px;color:#fff;line-height:1.1}.brand img,.brand small{display:none}header{padding:27px 5vw}.hero,.hero .eyebrow,.hero h1 em,.hero .support,.hero .text-button,.hero .scroll-cue,.intro-caption,.intro-caption .eyebrow{color:#fff}.hero{left:29vw;top:34vh;width:58vw}.hero h1{font-size:clamp(44px,4.5vw,86px)}.hero .solid{color:#fff;background:#33251bea;border:1px solid #fff9}.hero .solid:hover{background:#60462e}.hero-enter .disperse{animation:copy-enter .65s ease-out both}.hero-enter .support{animation-delay:.08s}.hero-enter .hero-actions .disperse{animation-delay:.14s}.hero-enter .scroll-cue{animation-delay:.2s}@keyframes copy-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
body[data-chapter=hero] .scrim{background:linear-gradient(90deg,#080c0b18,transparent 80%),linear-gradient(0deg,#07090666,transparent 35%,#08090838)}
#bear-shade{position:absolute;border-radius:50%;background:radial-gradient(ellipse,#0a0504a0,transparent 72%);pointer-events:none}#bear-warmth{background:radial-gradient(ellipse,#f6c78099 0%,#dc872929 40%,transparent 72%)}
#sign-board{transform:perspective(700px) rotateY(-9deg) rotate(6deg);box-shadow:1px 2px 2px #160e08;transform-origin:30% 50%}#porch-sign{filter:drop-shadow(2px 4px 2px #160900d9)}
.photo-card{padding:0;background:transparent;border:0;box-shadow:0 12px 28px #0007;transition:transform .42s,opacity .42s}.photo-card img{height:100%;width:100%;object-fit:cover}.photo-card.active{filter:none}.photo-card>span{display:none}
.services .service-heading{left:0;top:0;bottom:auto;width:27%;padding:16px 0;background:none;border:0;max-width:450px}.services .service-heading h2{font-size:clamp(40px,4vw,73px);line-height:1.04}.service-cards{display:grid;gap:13px;margin-top:30px}.service-cards button{display:flex;align-items:center;gap:15px;text-align:left;background:#20150dd9;border:1px solid #c99b60;border-radius:4px;padding:21px 18px;font:22px/1.2 Georgia,serif;min-height:75px}.service-cards span{font:12px Arial;color:#dbb57e}.service-cards b{margin-left:auto;font-weight:400;color:#dbb57e}.services .service-list{top:0;right:0;width:43%;padding:30px 35px;background:#160f0bc9;border:1px solid #c99b60;border-radius:7px;backdrop-filter:blur(5px)}.service-list h3{font-size:clamp(30px,3.15vw,56px);margin:0 0 26px;line-height:1.08}.service-steps{padding:0;list-style:none;display:grid;gap:23px}.service-steps li{display:flex;gap:20px;align-items:flex-start}.service-steps li>span{border:1px solid #c99b60;color:#dbb57e;border-radius:50%;width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center}.service-steps h4{font:25px/1.2 Georgia,serif;margin:0 0 9px}.service-steps p{font-size:13px;line-height:1.6;margin:0;color:#eee5d6}.service-list .solid{width:100%;margin-top:18px;font:22px Georgia,serif}.service-list .prep{border-top:1px solid #c4a77980}.service-list .prep summary{font:20px Georgia,serif;padding:16px 0}.service-continue{position:absolute;bottom:-30px;left:42%;font-size:10px;letter-spacing:2px}.reviews .source-link{display:inline-block;margin-right:18px}
#portrait-canvas{position:absolute;pointer-events:none;z-index:0}.clean #portrait-canvas,.clean #bear-shade{visibility:hidden}
@media(min-width:701px) and (max-height:850px){.services .service-heading h2{font-size:47px}.service-cards{margin-top:20px;gap:10px}.service-cards button{min-height:62px;padding:14px;font-size:18px}.services .service-list{padding:23px}.service-list h3{font-size:37px;margin-bottom:18px}.service-steps{gap:15px}.service-steps h4{font-size:22px}.service-steps p{font-size:12px}.service-list .solid{font-size:18px}}
@media(max-width:1100px) and (min-width:701px){.brand{font-size:22px}.services .service-heading{width:32%}.services .service-list{width:45%;padding:20px}.service-cards button{font-size:18px}.service-steps li{gap:12px}.service-steps li>span{width:35px;height:35px;flex-basis:35px}.service-steps h4{font-size:22px}.hero{left:25vw;width:65vw}.hero h1{font-size:56px}}
@media(max-width:700px){header{padding:17px 20px}.brand{font-size:23px;letter-spacing:1px}.hero{left:6vw;top:auto;bottom:14svh;width:88vw;max-height:54svh}.hero h1{font-size:clamp(31px,8.4vw,43px)}.hero .support{font-size:12px}.hero .eyebrow{margin-bottom:12px}.hero-actions{gap:12px}.hero .scroll-cue{margin-top:18px}.hero .solid{padding:13px 15px}body[data-chapter=hero] .scrim{background:linear-gradient(0deg,#11110bf2 10%,#10100a99 45%,transparent 77%)}.services .service-heading{padding:16px;background:#1c130cd9;margin-top:24svh}.services .service-heading h2{font-size:43px}.services .service-heading h2 br{display:none}.service-cards{margin-top:20px}.service-cards button{font-size:21px;padding:18px}.services .service-list{padding:23px;background:#160f0bed}.service-list h3{font-size:34px}.service-steps h4{font-size:23px}.service-continue{align-self:center}.services{padding-bottom:35px}#fan{width:94%}.gallery-zone{margin-top:25px}.photo-card{height:61%;width:84%}}
@media(min-width:1101px){.services .service-heading{left:27%;width:26%}.services .service-list{width:41%;max-width:none}.services .service-heading h2{font-size:clamp(42px,3.5vw,65px)}}
@media(min-width:701px) and (max-width:1100px){.services .service-list{max-width:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}.hero-enter .disperse{animation:none}.photo-card{transition:none}#sign-scatter{display:none!important}}

/* V4: preserve the framed portrait independently of panel scroll. */
#media-notice{position:fixed;z-index:20;bottom:62px;left:50%;transform:translateX(-50%);max-width:85vw;padding:10px 16px;background:#171b16f5;border:1px solid #a48b66;font-size:12px}
#media-notice button{margin-left:12px;padding:8px;background:#594b38}
#still-mode{position:fixed;z-index:9;bottom:51px;right:4vw;background:#171b16dd;border:1px solid #a48b6680;font-size:10px;padding:7px 12px}
@media(min-width:701px){.contact #enquiry{top:calc(43vh - 135px);width:29%;right:0;max-height:calc(57dvh - 105px)}.contact .about{width:29%;max-height:calc(100dvh - 280px)}}
@media(max-width:700px){.services .service-heading h2{font-size:clamp(30px,9vw,43px);overflow-wrap:normal}.contact .about{margin-top:29svh}#media-notice{bottom:90px;width:90vw}#still-mode{bottom:58px}.contact{padding-top:20px}}
/* Keep enlarged headings within the mobile reading column. */
@media(max-width:700px){.services .service-heading h2,.service-list h3{overflow-wrap:anywhere}}

/* Office background and portrait are committed as one canvas bitmap. */
.stage>video#office.visible{opacity:0}
.clean .stage>video#office.visible{opacity:1}
