/* Bnzo / dark stone. No remote fonts, libraries or render-blocking assets. */
:root{color-scheme:dark;--bg:#121110;--surface:#1C1917;--ink:#E8E6E1;--muted:#94908B;--stone:#C4BAAD;--line:#2B2826;--serif:Georgia,'Times New Roman',serif;--page:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--stone);outline-offset:6px}button:disabled{cursor:default}img,video{display:block;width:100%;object-fit:cover}[hidden]{display:none!important}.wrap{width:min(var(--page),calc(100% - 96px));margin-inline:auto}.header{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:112px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:28px;min-width:0}.wordmark{font-size:40px;line-height:1;font-weight:600;letter-spacing:-3px}.wordmark>span{color:var(--stone)}.brand-credit{font-size:11px;line-height:1.6;color:var(--muted);letter-spacing:.35px}.nav-contact{display:inline-flex;align-items:center;justify-content:flex-end;gap:18px;min-height:44px;flex-shrink:0;font-size:13px}.contact-line{width:36px;height:1px;background:var(--stone);transition:width .25s}.nav-contact:hover .contact-line{width:48px}.hero{padding-top:40px}.hero-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px) minmax(0,1fr);align-items:stretch;gap:34px;padding:26px 0 35px;position:relative}.stage-note{display:flex;flex-direction:column;justify-content:space-between;padding:7px 0 42px;font:10px/1.8 monospace;letter-spacing:1.2px;color:var(--muted)}.stage-right{text-align:right}.stage-note a{font-family:Arial,Helvetica,sans-serif;letter-spacing:0;font-size:12px;color:var(--ink)}.intro-figure{margin:0;min-width:0}.hero-film{position:relative;isolation:isolate;aspect-ratio:9/16;width:100%;background:#1C1917;overflow:hidden;box-shadow:0 24px 80px #12111033}.hero-film>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;gap:20px;background:radial-gradient(ellipse at 50% 45%,#292924,#1C1917 75%)}.eyebrow{font:11px/1.7 monospace;letter-spacing:1.7px;color:var(--muted);margin:0}.placeholder-title{font:italic 70px/1.2 var(--serif);letter-spacing:-3px;color:var(--stone)}.placeholder-lines{width:100%;margin:15px 0;color:#aaa08e;opacity:.55}.placeholder-lines svg{width:100%;display:block}.placeholder-status{font:11px/1.5 monospace;color:var(--muted);text-align:center}.film-bottom{position:absolute;bottom:0;left:0;right:0;padding:24px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(transparent,#121110bb);font:10px monospace;letter-spacing:1.5px}.round{background:#12111070;border:1px solid #645D56;border-radius:50%;width:42px;height:42px;font-size:18px}.intro-figure figcaption{display:flex;justify-content:space-between;gap:12px;font:9px/1.7 monospace;letter-spacing:1px;color:var(--muted);margin-top:17px}.hero-heading{text-align:center;padding:40px 0 96px}.hero-heading .eyebrow{margin-bottom:20px}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-2px;margin:0}h1{font-size:clamp(40px,5vw,68px)}h2{font-size:clamp(36px,4vw,52px)}em{font-family:var(--serif);font-weight:400;color:var(--stone)}.method{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0 32px}.section-meta{display:flex;justify-content:space-between;gap:20px;font:10px monospace;letter-spacing:1.5px;color:var(--muted)}.sequence{color:var(--stone);margin:39px 0 24px}.sequence svg{display:block;width:100%;height:auto}.sequence-legend{display:flex;justify-content:space-between;font-family:var(--serif);font-style:italic;font-size:20px;color:var(--muted)}.portfolio{padding-top:100px;padding-bottom:90px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:45px}.section-heading .eyebrow{padding-bottom:5px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.project-visual{position:relative;display:block;border:0;border-radius:0;width:100%;aspect-ratio:9/16;overflow:hidden;text-align:left;background:var(--surface);padding:25px}.project-visual.oasis{background:#20231f;color:#b9c0ad}.project-visual.pulse{background:#23211f;color:#c4b6ab}.project-visual.form{background:#202123;color:#b7bbc0}.project-visual>img,.project-visual>video{position:absolute;inset:0;width:100%;height:100%}.card-overline{position:absolute;left:25px;top:25px;z-index:1;font:10px monospace;letter-spacing:1.8px;color:var(--muted)}.card-statement{position:absolute;left:25px;top:29%;font:italic clamp(35px,3.4vw,49px)/1.1 var(--serif);letter-spacing:-1.5px}.pillar-graphic{position:absolute;left:25px;right:25px;bottom:80px;width:calc(100% - 50px);height:auto;opacity:.5;transition:opacity .3s,transform .3s}.project-visual:hover .pillar-graphic,.project-visual:focus-visible .pillar-graphic{opacity:1;transform:translateY(-4px)}.card-bottom{position:absolute;left:25px;right:25px;bottom:23px;display:flex;justify-content:space-between;align-items:center;gap:10px;font:10px monospace;letter-spacing:.8px;color:var(--ink)}.project-info{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-top:22px}.project-info h3{font-family:var(--serif);font-weight:400;font-size:25px;letter-spacing:-.6px;line-height:1.2;margin:0 0 9px}.project-info p{font-size:12px;color:var(--muted);margin:0}.project-info>span{font:11px monospace;color:var(--muted);padding-top:5px}.portfolio-note{font-size:11px;color:var(--muted);margin:30px 0 0}.contact{border-top:1px solid var(--line);text-align:center;padding-block:90px 95px}.contact .eyebrow{margin-bottom:23px}.contact h2{font-size:clamp(48px,6vw,80px);margin-bottom:35px}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;min-height:48px;border:0;border-radius:0;font-size:13px;line-height:1.5;transition:background .2s,color .2s}.primary{background:var(--stone);color:#171715}.primary:hover{background:#dbd1c1}.micro{font-size:12px;color:var(--muted);margin-top:16px}.footer{border-top:1px solid var(--line)}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-top{padding:35px 0}.footer-top .wordmark{font-size:30px}.footer-top p{font-size:12px;color:var(--muted)}.footer-bottom{padding:0 0 25px;font-size:11px;color:var(--muted);align-items:start}.footer-bottom>div{display:flex;gap:22px;flex-wrap:wrap}.footer button,.text-button{font:inherit;color:inherit;border:0;padding:0;background:none}.footer button:hover,.text-button:hover{color:var(--ink)}.text-button{text-decoration:underline;text-underline-offset:4px}.cookie-banner{position:fixed;z-index:10;bottom:18px;left:50%;transform:translateX(-50%);width:min(990px,calc(100% - 32px));background:#242420;border:1px solid var(--line);padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:26px;box-shadow:0 10px 45px #12111044}.cookie-banner strong{font-weight:400;font-family:var(--serif);font-size:19px}.cookie-banner p{font-size:12px;color:var(--muted);margin:4px 0 0}.cookie-actions{display:flex;gap:10px;flex-shrink:0}.consent{background:#383832;min-width:115px;padding:11px 18px;font-size:12px}.consent:hover{background:#49493f}dialog{width:min(640px,calc(100% - 32px));max-height:85dvh;overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:28px 35px;box-shadow:0 20px 80px #12111077}dialog::backdrop{background:#121110dd}body:has(dialog[open]){overflow:hidden}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.close{border:0;background:none;color:var(--ink);width:44px;height:44px;font-size:27px}.legal-body{font-size:14px;color:#E8E6E1}.legal-body h3{color:var(--ink);font-size:16px;margin-top:25px}.legal-body p{white-space:pre-line}.draft{border-left:1px solid var(--stone);padding-left:15px;color:var(--muted)}.email-link{display:block;width:fit-content;margin-top:23px}#project-player video{max-height:53dvh;width:100%;object-fit:contain;margin-top:25px;background:#121110}#project-description,#booking-description{color:#E8E6E1;font-size:15px;line-height:1.8}.skip{position:fixed;top:-100px;left:20px;z-index:100;padding:12px;background:var(--ink);color:var(--bg)}.skip:focus{top:12px}.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}.noscript{padding:20px;background:var(--surface);text-align:center}.reveal.revealed{animation:enter .7s cubic-bezier(0.16,1,0.3,1) both}@keyframes enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.hero-stage{grid-template-columns:1fr 390px 1fr}}
@media(max-width:1000px){.wrap{width:calc(100% - 60px)}.hero-stage{grid-template-columns:1fr minmax(0,330px) 1fr;gap:20px}.stage-note{font-size:9px;letter-spacing:.5px}.section-heading{display:block}.section-heading .eyebrow{margin-bottom:20px}.project-grid{gap:20px}.project-info h3{font-size:22px}.card-overline{font-size:9px}.card-statement{font-size:37px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{min-height:88px;gap:18px}.brand{gap:17px}.wordmark{font-size:35px}.brand-credit{font-size:9px}.nav-contact{font-size:12px;gap:10px}.contact-line{width:20px}.hero{padding-top:24px}.hero-stage{display:block;padding:0}.stage-note{display:none}.intro-figure{max-width:390px;margin-inline:auto}.hero-heading{padding:53px 0 65px}h1{font-size:43px;letter-spacing:-1.5px}.section-meta{font-size:9px;letter-spacing:.8px}.sequence{margin-block:30px 25px;overflow:hidden}.sequence svg{min-width:540px;position:relative;left:50%;transform:translateX(-50%)}.sequence-legend{font-size:17px}.portfolio{padding-block:65px}.section-heading{margin-bottom:32px}h2{font-size:38px}.project-grid{grid-template-columns:1fr;gap:44px}.project-visual{aspect-ratio:9/16}.project-info h3{font-size:27px}.card-statement{font-size:52px}.card-overline,.card-bottom{font-size:11px}.pillar-graphic{bottom:75px}.contact{padding-block:64px}.footer-top{align-items:center;gap:20px}.footer-top p{max-width:170px;text-align:right;font-size:11px}.footer-bottom{flex-direction:column;gap:20px}.footer-bottom>div{gap:17px}.cookie-banner{flex-direction:column;align-items:stretch;padding:18px;gap:15px;bottom:10px}.cookie-actions .button{flex:1}.cookie-banner p{font-size:12px}dialog{padding:20px}.intro-figure figcaption{font-size:9px}}
@media(max-width:360px){.brand-credit{display:none}.placeholder-title{font-size:59px}.card-statement{font-size:45px}.section-meta{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Sensory Studio: warm graphite, bone, ash and titanium. */
.hero-tagline{font:400 clamp(11px,1.18vw,15px)/1.7 Arial,Helvetica,sans-serif;letter-spacing:.3px;color:var(--muted);text-align:center;margin:0 0 14px;text-wrap:balance}
.hero{padding-top:30px;padding-bottom:55px}.hero-stage{padding-top:22px}.film-controls{display:flex;align-items:center;gap:10px}.film-bottom{gap:10px;padding:20px 15px}.film-bottom>span{font-size:9px;letter-spacing:.8px}.audio-toggle{display:flex;align-items:center;gap:7px;border:1px solid #645D56;background:#121110bb;color:var(--ink);min-height:42px;padding:8px 10px;font:10px monospace;letter-spacing:0;border-radius:24px}.audio-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.audio-toggle .audio-waves{display:none}.audio-toggle[aria-pressed=true] .audio-waves{display:block}.audio-toggle[aria-pressed=true] .audio-off{display:none}.round{flex-shrink:0}.hero-film{background:var(--surface)}
.method{transition:background-color .3s ease,color .3s ease}.method[data-phase="0"]{background:#171816}.method[data-phase="1"]{background:#1C1917}.method[data-phase="2"]{background:#211C19}.method .section-meta,.timeline-heading,.sequence-legend,.timeline-reading{margin-inline:24px}.timeline-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:40px}.timeline-heading h2{font-size:clamp(30px,3.4vw,44px)}.timeline-index{font:12px monospace;color:var(--muted);white-space:nowrap}.interactive-sequence{position:relative;margin:25px 24px 20px;isolation:isolate}.interactive-sequence .sequence{margin:0;pointer-events:none;overflow:visible}.interactive-sequence .sequence svg{min-width:0;left:auto;transform:none;position:static;overflow:visible;color:var(--muted)}.timeline-range{-webkit-appearance:none;appearance:none;position:absolute;inset:0 -10px;width:calc(100% + 20px);height:100%;margin:0;background:transparent;cursor:ew-resize;touch-action:pan-y;color:var(--ink)}.timeline-range::-webkit-slider-runnable-track{height:100%;background:transparent}.timeline-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;height:100%;width:20px;background:transparent;border:0}.timeline-range::-moz-range-track{height:100%;background:transparent}.timeline-range::-moz-range-thumb{height:100%;width:20px;background:transparent;border:0;border-radius:0}.timeline-range:focus-visible{outline:1px solid var(--stone);outline-offset:7px}.timeline-reading{display:flex;justify-content:space-between;align-items:baseline;gap:25px;margin-top:28px;min-height:46px}.timeline-reading p{margin:0}#timeline-philosophy{font-size:14px;color:var(--ink)}#timeline-help{font-size:11px;color:var(--muted)}.method .sequence-legend span{color:var(--muted);transition:color .2s}.method[data-phase="0"] .sequence-legend span:nth-child(1),.method[data-phase="1"] .sequence-legend span:nth-child(2),.method[data-phase="2"] .sequence-legend span:nth-child(3){color:var(--ink)}.project-visual{aspect-ratio:9/16}.project-visual:has(video) .card-overline{color:var(--ink);background:#121110bb;padding:5px 8px}.project-visual:has(video) .card-bottom{background:#121110bb;padding:8px}.contact h2{font-size:clamp(35px,4.5vw,61px);line-height:1.15}.contact .eyebrow{color:var(--muted)}
@media(max-width:700px){.hero-tagline{font-size:12px;line-height:1.8;max-width:330px;margin:0 auto 24px}.hero{padding-bottom:42px}.hero-stage{padding-top:0}.method .section-meta{font-size:9px;flex-wrap:wrap;gap:8px}.timeline-heading{margin-top:27px;gap:12px}.timeline-heading h2{font-size:31px;letter-spacing:-1px}.method .section-meta,.timeline-heading,.sequence-legend,.timeline-reading{margin-inline:18px}.interactive-sequence{margin:27px 18px;min-height:90px;display:flex;align-items:center}.interactive-sequence .sequence{width:100%}.timeline-reading{display:block;min-height:72px}.timeline-reading p+p{margin-top:13px}.sequence-legend{font-size:16px}.film-bottom{padding-inline:12px}.film-controls{gap:7px}.project-visual{aspect-ratio:9/16}}
@media(prefers-reduced-motion:reduce){.method,.method .sequence-legend span{transition:none}}

/* Manifesto: a deliberate pause between the opening and the work. */
.manifesto{border-top:1px solid var(--line);padding-block:100px 110px;display:grid;grid-template-columns:1fr 2fr;gap:60px}.manifesto .eyebrow{padding-top:8px}.manifesto h2{font-size:clamp(34px,3.8vw,53px);line-height:1.2;text-wrap:balance;letter-spacing:-1.5px}.manifesto-body{max-width:580px;margin-top:38px;font-size:15px;line-height:1.95;color:var(--muted)}.manifesto-body p{margin:0}.manifesto-body .manifesto-signature{margin-top:28px;font:italic 25px/1.5 var(--serif);color:var(--ink)}.contact-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:24px 32px}.contact-email{display:inline-flex;align-items:center;gap:12px;min-height:48px;font-size:15px;text-decoration:underline;text-underline-offset:6px}.contact-email:hover{color:var(--stone)}.legal-page{max-width:860px;padding-block:70px 90px}.legal-page>h1{font-size:clamp(36px,6vw,60px);margin-block:20px 35px}.legal-nav{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:55px;font-size:13px;color:var(--muted)}.legal-nav a,.legal-page a{text-decoration:underline;text-underline-offset:4px}.legal-page section{border-top:1px solid var(--line);padding-top:40px;margin-top:55px}.legal-page h2{font-size:34px}.legal-page h3{font-size:17px;font-weight:400;margin-top:30px}.legal-page p{color:var(--muted);line-height:1.85;white-space:pre-line;overflow-wrap:anywhere}.footer a:hover{color:var(--ink)}
@media(max-width:700px){.manifesto{grid-template-columns:1fr;gap:27px;padding-block:58px 64px}.manifesto h2{font-size:35px;letter-spacing:-1px}.manifesto-body{margin-top:28px;font-size:14px}.contact-actions{flex-direction:column;gap:15px}.legal-page{padding-top:45px}.legal-nav{gap:20px}}

/* Asymmetric story and manifesto. The reserved frame never shifts on load. */
.hero{padding-block:38px 44px}.hero-tagline{margin:0}.manifesto{grid-template-columns:minmax(0,.82fr) minmax(0,1.25fr);gap:clamp(40px,7vw,110px);align-items:center;padding-block:65px 90px}.manifesto-copy>.eyebrow{margin-bottom:27px}.manifesto h2{font-size:clamp(34px,3.5vw,50px)}.story-figure{margin:0;width:100%;max-width:400px;align-self:start}.story-frame{aspect-ratio:9/16;position:relative;background:var(--surface);box-shadow:0 24px 80px #12111033;overflow:hidden}.story-frame video{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.story-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;padding:25px;color:var(--muted)}.story-placeholder .eyebrow{font-size:9px;text-align:center}.story-placeholder svg{width:85%;color:var(--line)}.story-label{font:italic 42px/1.2 var(--serif);color:var(--stone)}.story-placeholder .micro{margin:0}.story-figure figcaption{display:flex;justify-content:space-between;margin-top:16px;font:9px/1.6 monospace;letter-spacing:1px;color:var(--muted)}.story-load{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);background:var(--stone);color:var(--bg);white-space:nowrap}
@media(max-width:700px){.hero{padding-block:28px 35px}.manifesto{grid-template-columns:1fr;gap:46px;padding-block:35px 65px}.story-figure{max-width:360px;justify-self:center}.manifesto-copy>.eyebrow{margin-bottom:22px}.manifesto h2{font-size:35px}.manifesto-body{margin-top:25px}}
