@font-face{font-family:Plex;src:url('assets/IBMPlexSans.ttf') format('truetype');font-weight:100 700;font-stretch:75% 100%;font-display:swap}
:root{--sans:Plex,'Segoe UI',sans-serif;--paper:#ecebe3;--ink:#202822;font-family:var(--sans);background:#131714;scroll-behavior:auto;scroll-padding-top:110px}
body{background:#131714}.private-flag{position:absolute;top:0;left:0;width:100%;height:23px;background:#161b16;color:#b8beae;text-align:center;font-size:9px;line-height:23px;z-index:30;letter-spacing:.02em}.private-flag span{margin-left:8px;color:#deb984}.studio-header{height:105px;padding:34px 3.5% 15px;position:absolute;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:28px;color:#e9e9de}.studio-brand{display:block;width:204px;background:#e8e6dc;padding:8px 12px;flex-shrink:0}.studio-brand img{display:block;width:100%;height:auto}.studio-header nav{display:flex;gap:30px;font-size:13px}.studio-header a:not(.studio-brand){padding:12px 0}.studio-contact{display:flex;gap:20px;align-items:center;font-size:13px;border-bottom:1px solid #ddba8066}.studio-contact span{font-size:20px}.story{height:470svh;position:relative;color:#f0eee6}.story-stage{position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden;background:#131714;isolation:isolate}.story-world{position:absolute;inset:0;min-height:0;height:100%;width:100%;z-index:-3}.story-world canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.world-fallback{position:absolute;inset:0;width:100%;height:100%}.story-world.ready .world-fallback{visibility:hidden}.world-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0d1513b0 0%,#10171330 43%,transparent 68%),linear-gradient(0deg,#121713a8,transparent 24%);pointer-events:none;z-index:-1}.world-grain{position:absolute;inset:0;opacity:.07;background-image:url('data:image/svg+xml,%3Csvg viewBox=%220 0 180 180%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cfilter id=%22g%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%22.87%22 numOctaves=%223%22 stitchTiles=%22stitch%22/%3E%3C/filter%3E%3Cpath fill=%22%23fff%22 filter=%22url(%23g)%22 d=%22M0 0h180v180H0z%22/%3E%3C/svg%3E');pointer-events:none;z-index:2}.story-text{position:absolute;left:6.5%;top:26%;max-width:650px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(14px);transition:opacity .3s,transform .3s;z-index:3}.story-text.active{opacity:1;visibility:visible;transform:none}.story-kicker{font-size:12px;letter-spacing:.025em;margin-bottom:24px;color:#dcc5a3;display:flex;gap:10px;align-items:center}.story-kicker:before{content:'';display:block;width:23px;height:1px;background:#d4ad73}.story-text h1,.story-text h2{font-family:Plex,sans-serif;font-weight:500;font-stretch:85%;font-variation-settings:'wdth' 85,'wght' 500;font-size:clamp(74px,7.8vw,128px);line-height:.96;letter-spacing:-.055em;margin:0 0 30px;color:#f3f0e6}.story-description{font-size:15px;line-height:1.7;max-width:410px;color:#c3c9bc}.story-bottom{position:absolute;left:6.5%;right:4%;bottom:80px;display:flex;align-items:center;gap:35px;z-index:5}.story-action{display:inline-flex;align-items:center;gap:34px;border-bottom:1px solid #dec59c;font-size:14px;color:#f5ead5;padding:13px 0}.story-action span{font-size:24px}.story-instruction{font-size:11px;color:#bec3b4;margin:0;flex:1}.story-instruction span{margin-left:10px}#motion-toggle{background:#11191260;color:#d5d9c9;border:1px solid #a9b29260;padding:10px 14px;font-size:11px;min-height:40px}.chapter-nav{position:absolute;left:6.5%;right:4%;bottom:20px;display:flex;gap:26px;z-index:5}.chapter-nav button{background:none;border:0;color:#aeb7a7;font-size:11px;padding:10px 0;min-height:42px}.chapter-nav span{color:#9a896d;font-size:9px;margin-right:8px}.chapter-nav [aria-current=step]{color:#f2d8ac}.chapter-nav [aria-current=step] span{color:#f2d8ac}.scene-caption{position:absolute;right:4%;bottom:34px;color:#9da793;font-size:9px;margin:0}.story-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:#6b735c33}.story-progress i{display:block;transform-origin:left;width:100%;height:100%;background:#c4a16d;transform:scaleX(var(--story-progress,0))}.still-narrative{padding:60px 6.5%;background:#202820;gap:32px;grid-template-columns:repeat(4,1fr);color:#e9eadb}.still-narrative article{border-top:1px solid #ae946644;padding-top:22px}.still-narrative span{color:#c4a16d;font-size:12px}.still-narrative h2{font-family:Plex;font-size:26px;line-height:1.2;margin:18px 0}.still-narrative p{font-size:13px;line-height:1.7;color:#bfc8b5}.still-mode .story{height:100svh;min-height:650px}.still-mode .story-stage{position:relative}.still-mode .still-narrative:not([hidden]){display:grid}.still-mode .chapter-nav,.still-mode .story-instruction,.still-mode .story-progress{display:none}.still-mode .story-bottom{bottom:40px}.still-mode .scene-caption{bottom:17px}.intro-band{background:#d4cdbb;background-image:linear-gradient(120deg,#eee9d944,transparent 65%),repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),#81715511 25%);padding:45px 6.5%;grid-template-columns:40% 60%;border-bottom:1px solid #bcb4a0}.intro-band>p{font-family:Plex;font-size:31px;font-weight:500;letter-spacing:-.04em}.intro-band em{font-family:inherit;font-style:normal;font-weight:400}.intro-band>div{font-size:13px}.intro-band>div span:before{content:'';display:inline-block;width:4px;height:4px;background:#8f6e46;border-radius:50%;margin-right:12px}.section{background:#ecebe3;position:relative}.section:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,#c1b69b0c,transparent 55%)}.section h2{font-family:Plex;font-stretch:90%;font-variation-settings:'wdth' 90,'wght' 500;letter-spacing:-.045em;line-height:1.02}.section h2 em{font-family:inherit;font-style:normal;color:inherit}.section-heading{align-items:end}.section-heading h2{font-size:clamp(42px,4.5vw,68px)}.family-panel h3{font-weight:500;letter-spacing:-.035em}.eyebrow{letter-spacing:.015em}.approach-section{background:#20291f;background-image:radial-gradient(ellipse at 90% 20%,#57533c33,transparent 70%)}.skills-section{background:#d7d9cb;background-image:linear-gradient(160deg,#ede8d5a0,transparent 60%)}.care-section{background:#e3e2d7}.enquiry-section{background:#c9cbbb;background-image:linear-gradient(125deg,#ebe4d780,transparent 60%)}.enquiry-workspace{background:#f2f0e6}.footer-name{font-family:Plex;font-weight:600}.footer-top p{font-family:Plex;font-style:normal;font-weight:300}.care-card .care-price{font-family:Plex}.status-label{letter-spacing:0}.review-tools{display:none}#review-tools:not([hidden]){position:fixed;bottom:6px;right:6px;z-index:200;width:300px;max-width:80vw;padding:8px;background:#10150feb;border:1px solid #a6ad78;color:#dedec7;font-size:10px}#review-tools button{background:#273327;border:1px solid #a2aa7e;color:#fff;font-size:10px;padding:6px;margin:2px}#performance-result{display:block;white-space:pre-wrap;padding-top:4px;max-height:170px;overflow:auto}
@media(max-width:1100px){.story-text{left:5%;top:28%;max-width:530px}.story-text h1,.story-text h2{font-size:86px}.story-description{font-size:14px;max-width:340px}.story-bottom,.chapter-nav{left:5%}.story-stage{min-height:610px}.studio-header nav{gap:18px}.story-instruction{display:none}.story-bottom{justify-content:space-between}.scene-caption{display:none}.still-narrative{grid-template-columns:1fr 1fr}}
@media(max-width:700px){:root{scroll-padding-top:30px}.private-flag{height:20px;line-height:20px;font-size:8px}.studio-header{height:91px;padding:30px 5% 12px;gap:16px}.studio-brand{width:154px;padding:6px 8px}.studio-header nav{display:none}.studio-contact{font-size:10px;gap:10px}.studio-contact span{font-size:18px}.story{height:400svh}.story-stage{height:100svh;min-height:680px}.story-text{left:6%;right:6%;top:15%;max-width:none}.story-kicker{font-size:10px;margin-bottom:18px}.story-text h1,.story-text h2{font-size:clamp(52px,13.5vw,80px);letter-spacing:-.05em;margin-bottom:20px;line-height:.97;font-variation-settings:'wdth' 85,'wght' 500}.story-description{font-size:12px;line-height:1.6;max-width:320px}.story-description br{display:none}.world-shade{background:linear-gradient(180deg,#10161155 0,#11191290 14%,transparent 44%,transparent 63%,#101811c0 86%)}.story-bottom{left:6%;right:6%;bottom:77px;gap:12px}.story-action{font-size:12px;gap:20px;padding:10px 0}.story-action span{font-size:20px}#motion-toggle{font-size:10px;padding:9px 10px}.chapter-nav{left:6%;right:6%;bottom:17px;gap:0;justify-content:space-between}.chapter-nav button{font-size:9px;padding:10px 4px;min-height:44px}.chapter-nav span{display:block;font-size:8px;margin:0 0 4px}.scene-caption{display:none}.intro-band{grid-template-columns:1fr;padding:30px 6%}.intro-band>p{font-size:28px}.intro-band>div{font-size:11px}.still-mode .story,.still-mode .story-stage{min-height:700px;height:100svh}.still-mode .story-bottom{bottom:34px}.still-narrative{grid-template-columns:1fr;padding:35px 6%;gap:12px}.still-narrative h2{font-size:27px;margin:12px 0}.still-narrative article{padding:18px 0}.section-heading h2{font-size:43px}.section{padding:60px 6%}.enquiry-intro h2{font-size:44px}.still-mode .story-description{max-width:300px}}
@media(prefers-reduced-motion:reduce){.story{height:100svh;min-height:680px}.story-stage{position:relative}.story-text{transition:none}.world-grain{opacity:.04}}

/* R2 focused correction 1: neutral charcoal, copy separation, review controls. */
.world-shade{background:linear-gradient(90deg,#101010b8 0%,#16161630 43%,transparent 68%),linear-gradient(0deg,#171717a8,transparent 24%)}
.world-grain{opacity:.045}.story-description{color:#d2d1c9}.story-kicker{color:#e1cba9}
#review-tools:not([hidden]){top:110px;bottom:auto;right:10px;width:255px}
@media(max-width:700px){.world-shade{background:linear-gradient(180deg,#16161655 0,#17171790 14%,transparent 44%,transparent 63%,#171717c0 86%)}#review-tools:not([hidden]){top:92px;right:6px;width:190px}#performance-result{max-height:80px}.story-description{font-size:13px}}

/* R2 focused correction 2: explicit failure display and tablet copy bounds. */
.story-world:not(.ready) canvas{display:none}
@media(min-width:701px) and (max-width:1100px){.story-text{max-width:420px}.story-text h1,.story-text h2{font-size:76px}.story-description{max-width:340px}}
@media(max-width:700px){.fallback-architecture{transform:translate(575px,400px) scale(.65) rotate(-15deg)}}
