:root{color-scheme:light;--accent-ink:#21221e;--surface:#dedfd4;--image-surface:#d8d6c9;--dialog-image-surface:#ddded3;--border-strong:#b3b5a9;--orbit:#d8d8cf;--axis:#ddddd3;--studio-muted:#606357;--stamp-ink:#626b57;--stamp-border:#919786;--input-border:#b6baab;--placeholder:#696d60;--menu-shadow:#21221e12;--client-filter:grayscale(1);--client-blend:multiply;--paper:#f1f0e9;--ink:#21221e;--muted:#66685f;--line:#d1d2c8;--accent:#ffff00;--accent-focus:#747400;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent-focus);outline-offset:7px}::selection{background:var(--accent);color:var(--accent-ink)}.wrap{width:calc(100% - 112px);max-width:1536px;margin-inline:auto}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:var(--paper);padding:12px}.skip:focus{top:10px}.header{height:110px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10}.wordmark{display:inline-flex;align-items:baseline;font-size:38px;font-weight:800;letter-spacing:-2.5px;line-height:1}.logo-dot{display:block;width:8px;height:8px;background:var(--accent);margin-left:4px}.desktop-nav{display:flex;gap:38px;margin-left:55px;font-size:13px;font-weight:500}.desktop-nav a{position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--ink);transition:width .2s}.desktop-nav a:hover:after{width:100%}sup{font-size:9px;margin-left:3px}.header-cta{display:flex;gap:30px;align-items:center;font-size:13px;font-weight:550}.header-cta span{font-size:25px;transition:transform .2s}.header-cta:hover span{transform:translate(3px,-3px)}.menu-toggle,.mobile-menu{display:none}.hero{padding-top:32px}.hero-eyebrow{display:flex;justify-content:space-between;align-items:center}.eyebrow,.location{font-size:10px;font-weight:550;letter-spacing:1px;line-height:1.6}.location{display:flex;align-items:center;gap:9px}.location i,.time-dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%}.hero-composition{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;min-height:570px;padding-block:38px 28px;position:relative}.hero-copy{position:relative;z-index:1}h1,h2,h3,p{margin:0}h1{font-size:clamp(66px,7.45vw,128px);line-height:.99;letter-spacing:-6px;font-weight:500;white-space:nowrap}em{font-family:var(--serif);font-weight:400;letter-spacing:-.04em}h1 em{font-size:1.12em}.hero-copy>p{margin-top:30px;font-size:15px;line-height:1.65;color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:24px;font-size:13px;font-weight:550;border:0;background:none;padding:0}.hero-copy>.text-link{margin-top:29px}.round-arrow{width:37px;height:37px;display:inline-grid;place-items:center;border:1px solid var(--border-strong);border-radius:50%;font-size:23px;font-weight:400;transition:background .2s,transform .2s}.text-link:hover .round-arrow{color:var(--accent-ink);background:var(--accent);border-color:var(--accent);transform:rotate(-12deg)}.hero-art{position:relative;aspect-ratio:1;max-width:500px;width:100%;margin-left:auto;isolation:isolate}.sculpture{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-18deg);transform-origin:50% 50%;animation:flower-reveal 1.2s cubic-bezier(.2,.8,.3,1) both}.hero-art{perspective:900px}.art-orbit{position:absolute;inset:9%;border:1px solid var(--orbit);border-radius:50%}.art-axis{position:absolute;background:var(--axis)}.axis-x{height:1px;left:1%;right:1%;top:50%}.axis-y{width:1px;top:1%;bottom:1%;left:50%}.art-coordinate{font-size:8px;letter-spacing:1px;position:absolute;z-index:2}.coordinate-a{top:11%;left:10%}.coordinate-b{bottom:8%;right:0}.art-note{position:absolute;bottom:4%;left:15%;transform:rotate(-8deg);font-family:var(--serif);font-style:italic;font-size:20px}.hero-foot{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding-block:20px;font-size:9px;letter-spacing:.9px}.hero-foot a{display:flex;gap:20px}.hero-foot a span{font-size:16px;line-height:1}.hero-foot>span:last-child{color:var(--muted)}.section-space{padding-top:110px;padding-bottom:100px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:50px}.section-kicker{display:block;margin-bottom:25px}h2{font-weight:500;font-size:68px;letter-spacing:-3.4px;line-height:1.03}h2 em{font-size:1.1em}.work-intro{padding-bottom:3px}.work-intro>p{font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:29px}.filters{display:flex;gap:7px}.filter{font-size:10px;border:1px solid var(--line);border-radius:30px;padding:8px 14px;background:transparent;transition:all .2s}.filter.active,.filter:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter sup{font-size:8px}.projects{display:grid;grid-template-columns:1.1fr 1fr;gap:32px 44px;align-items:start}.project{display:block;min-width:0;background:none;padding:0;border:0;text-align:left}.project[hidden]{display:none}.project-offset{margin-top:88px}.project-image{position:relative;display:block;overflow:hidden;background:var(--image-surface);aspect-ratio:1.38}.project-offset .project-image{aspect-ratio:1.16}.project img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s;filter:saturate(.72)}.project:hover img,.project:focus-visible img{transform:scale(1.045);filter:saturate(1)}.project-num{position:absolute;top:16px;left:16px;background:var(--paper);font-size:9px;padding:5px 9px;border-radius:20px}.project-view{position:absolute;left:50%;top:50%;transform:translate(-50%,-40%);opacity:0;background:var(--paper);padding:14px 20px;border-radius:40px;font-size:12px;white-space:nowrap;transition:.25s}.project:hover .project-view,.project:focus-visible .project-view{opacity:1;transform:translate(-50%,-50%)}.project-caption{display:flex;justify-content:space-between;align-items:start;padding-top:17px;gap:8px}.project-caption strong{display:block;font-size:21px;letter-spacing:-.7px;font-weight:500;line-height:1.2}.project-caption>span>span{display:block;font-size:11px;color:var(--muted);margin-top:6px}.project-type{display:flex;align-items:center;gap:18px;font-size:8px;letter-spacing:.5px;white-space:nowrap;padding-top:3px}.project-type i{font-size:21px;font-style:normal;line-height:1}.more-work{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:28px;margin-top:52px}.archive-note{font-size:10px;color:var(--muted)}.studio{background:var(--surface);padding-block:86px 93px;overflow:hidden}.studio-inner{position:relative;display:grid;grid-template-columns:1fr 3fr;gap:40px}.studio-inner>.section-kicker{padding-top:10px}.studio-body h2{font-size:66px}.studio-columns{display:grid;grid-template-columns:1fr 1.18fr;gap:65px;margin-top:44px}.studio-lead{font-size:22px;font-weight:450;line-height:1.45;letter-spacing:-.5px}.studio-text p{font-size:13px;color:var(--studio-muted);line-height:1.8;margin-bottom:17px}.studio-text .text-link{font-size:11px;margin-top:12px;gap:18px}.studio-stamp{position:absolute;bottom:-22px;left:10px;transform:rotate(-13deg);width:135px;height:135px;border:1px solid var(--stamp-border);border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:var(--stamp-ink)}.studio-stamp span{font-size:7px;letter-spacing:1px}.studio-stamp svg{width:55px;height:55px;stroke:currentColor;stroke-width:2}.clients{padding-top:47px;padding-bottom:47px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 3fr;gap:40px;align-items:center}.clients p{font-size:8px}.clients p span{font-size:7px;font-weight:400;letter-spacing:.5px;display:block;max-width:150px;margin-top:7px;line-height:1.7;color:var(--muted)}.client-logos{display:flex;align-items:center;justify-content:space-between;gap:30px}.client-logos img{width:110px;height:55px;object-fit:contain;filter:var(--client-filter);mix-blend-mode:var(--client-blend);opacity:.75}.expertise{display:grid;grid-template-columns:1fr 1.35fr;gap:70px}.expertise-intro h2{font-size:64px}.expertise-intro>p{font-size:13px;color:var(--muted);line-height:1.7;margin-top:25px}.services{padding-top:42px}.services details{border-top:1px solid var(--line)}.services details:last-child{border-bottom:1px solid var(--line)}.services summary{list-style:none;display:flex;align-items:center;gap:26px;padding-block:27px;cursor:pointer}.services summary::-webkit-details-marker{display:none}.service-num{font-size:9px;color:var(--muted)}.services h3{font-size:23px;font-weight:450;letter-spacing:-.7px}.service-toggle{width:17px;height:17px;position:relative;margin-left:auto}.service-toggle:before,.service-toggle:after{content:'';position:absolute;top:8px;left:2px;right:2px;background:var(--ink);height:1px}.service-toggle:after{transform:rotate(90deg);transition:transform .2s}details[open] .service-toggle:after{transform:rotate(0)}.service-content{padding-left:39px;padding-right:25px;padding-bottom:28px}.service-content p{font-size:13px;color:var(--muted);line-height:1.8;max-width:470px}.service-content>span{display:block;font-size:9px;margin-top:21px}.contact{color:var(--accent-ink);background:var(--accent);padding-block:38px 40px}.contact-top{display:flex;justify-content:space-between}.contact-top .eyebrow{font-size:9px}.contact-title{display:flex;align-items:center;justify-content:space-between;padding-block:52px 45px}.contact-title h2{font-size:clamp(72px,7.6vw,120px);line-height:1;letter-spacing:-5px}.contact-title em{font-size:1.1em}.contact-arrow{font-size:140px;font-weight:400;line-height:1;align-self:flex-start;padding-top:10px;transition:transform .3s}.contact-title:hover .contact-arrow{transform:translate(10px,-10px)}.contact-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #c5c500;padding-top:25px}.contact-bottom>div{display:flex;align-items:center;gap:13px;position:relative}.contact-email{font-size:19px;letter-spacing:-.5px}.copy-email{background:none;border:0;padding:6px;display:flex;opacity:.7}.copy-status{font-size:10px;position:absolute;top:36px;left:0}.brief-button{background:var(--accent-ink);border:1px solid var(--accent-ink);color:var(--accent);display:flex;align-items:center;gap:38px;font-size:11px;border-radius:40px;padding:14px 22px;transition:background .2s,color .2s}.brief-button:hover{background:transparent;color:var(--accent-ink)}.brief-button span{font-size:20px}.footer{padding-top:50px}.footer-main{display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1fr auto;gap:30px;padding-bottom:48px;align-items:start}.footer-main .wordmark{font-size:33px}.footer-main>p{font-size:13px;color:var(--muted)}.footer-main>div{font-size:11px}.footer-main .eyebrow{font-size:8px;color:var(--muted);display:block;margin-bottom:10px}.footer-main>div a{display:block;margin-bottom:6px}.back-top{font-size:22px;width:37px;height:37px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:8px;color:var(--muted);letter-spacing:.3px;padding-block:19px}.footer-bottom>span:nth-child(2){display:flex;gap:12px;align-items:center}.time-dot{width:4px;height:4px}dialog{border:0;padding:0;background:var(--paper);color:var(--ink);width:min(850px,calc(100% - 40px));max-height:90vh;max-height:90dvh;overflow:auto}dialog::backdrop{background:rgba(20,22,17,.65);backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:15px;top:15px;width:38px;height:38px;border:0;background:var(--paper);color:var(--ink);border-radius:50%;font-size:28px;display:grid;place-items:center;z-index:2;line-height:1}.project-dialog-image{height:380px;background:var(--dialog-image-surface)}.project-dialog-image img{width:100%;height:100%;object-fit:cover}.project-dialog-body{padding:35px 45px 45px}.project-dialog-body h2{font-size:54px;margin-top:14px}.project-dialog-body p{max-width:600px;margin-top:15px;color:var(--muted);font-size:14px;line-height:1.7}.dialog-meta{display:flex;gap:24px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px;font-size:9px}.project-dialog-body .text-link{margin-top:25px}.brief-dialog-body{padding:45px 55px}#brief-dialog{width:min(650px,calc(100% - 32px))}.brief-dialog-body h2{font-size:58px;margin-top:20px}#brief-form{margin-top:32px}#brief-form>label{display:block;margin-top:21px;font-size:11px;font-weight:500}input:not([type=checkbox]),textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--input-border);border-radius:0;background:none;padding:10px 0;color:var(--ink);outline-offset:5px;font-size:14px;font-weight:400}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:var(--placeholder)}fieldset{border:0;padding:0;margin:24px 0}legend{font-size:11px;margin-bottom:12px}.brief-options{display:flex;gap:7px;flex-wrap:wrap}.brief-options input{position:absolute;opacity:0}.brief-options span{display:block;border:1px solid var(--line);border-radius:30px;font-size:10px;padding:8px 12px;cursor:pointer}.brief-options input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink)}.brief-options input:focus-visible+span{outline:2px solid var(--accent-focus);outline-offset:3px}.brief-submit{color:var(--accent-ink);display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 20px;border:0;background:var(--accent);font-size:13px}.brief-submit span{font-size:23px}.form-note{font-size:10px;color:var(--muted);margin-top:12px}.projects.is-filtered .project-offset{margin-top:0}@keyframes flower-reveal{from{opacity:0}to{opacity:1}}@media(min-width:1600px){.hero-composition{min-height:660px}.hero-art{max-width:550px}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header{height:95px}h1{font-size:8vw;letter-spacing:-4px}.hero-composition{min-height:500px;grid-template-columns:1.25fr 1fr}.hero-copy>p{font-size:13px}.hero-art{margin-right:-10px}.project-caption{flex-wrap:wrap}.project-type{font-size:7px}.project-type i{font-size:17px}.studio-inner{grid-template-columns:1fr 3fr;gap:20px}.studio-body h2{font-size:56px}.studio-columns{gap:30px}.clients{grid-template-columns:1fr 3fr;gap:20px}.client-logos{gap:20px}.client-logos img{width:85px;height:42px}.expertise{gap:40px}.expertise-intro h2{font-size:57px}.services h3{font-size:21px}.contact-title h2{letter-spacing:-3px}.footer-main{gap:20px}}@media(max-width:760px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 40px)}.header{height:82px}.wordmark{font-size:32px;letter-spacing:-2px}.logo-dot{width:7px;height:7px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:35px;height:35px;border:0;background:none;padding:5px}.menu-toggle span{height:1px;width:25px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu:not([hidden]){display:flex;position:absolute;left:-20px;right:-20px;top:81px;background:var(--paper);padding:20px;flex-direction:column;gap:0;box-shadow:0 18px 18px var(--menu-shadow)}.mobile-menu a{font-size:25px;padding:12px 0;border-bottom:1px solid var(--line);letter-spacing:-1px}.hero{padding-top:23px}.hero-eyebrow .eyebrow,.location{font-size:7px;letter-spacing:.5px}.location{gap:5px}.location i{width:4px;height:4px}.hero-composition{display:flex;flex-direction:column;align-items:stretch;padding-top:45px;padding-bottom:0;min-height:0}h1{font-size:clamp(46px,10vw,75px);letter-spacing:-2.8px;line-height:1.02}.hero-copy>p{font-size:13px;line-height:1.7;margin-top:23px}.hero-copy>.text-link{margin-top:24px}.hero-art{width:78%;max-width:365px;margin:-6px 0 5px auto}.art-note{font-size:17px}.art-coordinate{font-size:6px}.hero-foot{font-size:7px;padding-block:18px;gap:10px}.hero-foot>a{display:none}.section-space{padding-block:65px}.section-heading{display:block;margin-bottom:30px}.section-kicker{font-size:8px;margin-bottom:20px}h2{font-size:50px;letter-spacing:-2.3px}.work-intro{margin-top:24px}.work-intro>p{font-size:12px;margin-bottom:20px}.filter{font-size:9px;padding:8px 12px}.projects{grid-template-columns:1fr;gap:34px}.project-offset{margin-top:0}.project-image,.project-offset .project-image{aspect-ratio:1.4}.project-caption{flex-wrap:nowrap;padding-top:14px}.project-caption strong{font-size:20px}.project-caption>span>span{font-size:10px}.project-type{font-size:6px;letter-spacing:.2px;gap:8px;padding-top:5px}.project-type i{font-size:18px}.project-view{display:none}.more-work{margin-top:33px;padding-top:23px;align-items:start;gap:20px}.archive-note{font-size:8px;max-width:95px;line-height:1.7}.more-work .text-link{font-size:10px;gap:10px}.round-arrow{width:32px;height:32px;font-size:20px}.studio{padding-block:50px}.studio-inner{display:block}.studio-body h2{font-size:49px}.studio-columns{grid-template-columns:1fr;margin-top:27px;gap:26px}.studio-lead{font-size:22px}.studio-text{padding-left:55px}.studio-text p{font-size:12px}.studio-text .text-link{font-size:10px;gap:9px}.studio-stamp{top:155px;right:10px;left:auto;bottom:auto;width:98px;height:98px;gap:5px}.studio-stamp svg{width:36px;height:36px}.studio-stamp span{font-size:5px;letter-spacing:.6px}.clients{display:block;padding-block:32px}.clients>p{font-size:8px}.clients p span{max-width:none;display:inline;margin-left:8px;font-size:6px}.client-logos{gap:17px;flex-wrap:wrap;justify-content:space-between;margin-top:23px}.client-logos img{width:calc(20% - 14px);height:37px}.expertise{display:block}.expertise-intro h2{font-size:51px}.expertise-intro>p{font-size:12px;margin-top:22px}.services{padding-top:35px}.services summary{gap:20px;padding-block:23px}.services h3{font-size:21px}.service-content{padding-left:32px;padding-right:10px}.service-content p{font-size:12px}.service-content>span{font-size:8px}.contact{padding-block:26px}.contact-top .eyebrow{font-size:6px;letter-spacing:.5px}.contact-title{padding-block:35px 30px;position:relative}.contact-title h2{font-size:clamp(44px,9.6vw,70px);letter-spacing:-2.2px}.contact-arrow{font-size:62px;position:absolute;right:1px;top:22px;padding:0}.contact-bottom{display:block;padding-top:20px}.contact-email{font-size:18px}.brief-button{margin-top:30px;padding:11px 18px;font-size:10px;gap:40px}.copy-status{top:28px;font-size:8px}.footer{padding-top:36px}.footer-main{grid-template-columns:1fr 1fr;gap:28px 24px;padding-bottom:30px;position:relative}.footer-main>.wordmark{font-size:31px}.footer-main>p{font-size:11px}.footer-main>div{font-size:10px}.back-top{position:absolute;right:0;bottom:32px;width:30px;height:30px;font-size:18px}.footer-bottom{font-size:7px;gap:10px}.footer-bottom>span:last-child{display:none}.footer-bottom>span:nth-child(2){gap:6px;white-space:nowrap}.project-dialog-image{height:230px}.project-dialog-body{padding:25px}.project-dialog-body h2{font-size:42px}.project-dialog-body p{font-size:12px}.dialog-meta{gap:15px;font-size:7px}.brief-dialog-body{padding:38px 25px}.brief-dialog-body h2{font-size:48px}.dialog-close{width:32px;height:32px;font-size:24px}.desktop-break{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media print{.header,.hero-art,.filters,.contact,.footer,.more-work,dialog{display:none}.wrap{width:100%}.section-space{padding:30px 0}.project{break-inside:avoid}.project-offset{margin-top:0}.studio{background:none}.projects{gap:20px}body{background:white;color:black}}

[hidden]{display:none!important}
@media(max-width:760px){.hero-eyebrow .eyebrow,.location{font-size:8px}.hero-foot{font-size:8px}.project-type{font-size:8px}.contact-top .eyebrow{font-size:8px}.clients p span{font-size:8px;display:block;margin-left:0}.footer-bottom{font-size:8px}.studio-stamp span{font-size:6px}}

/* The browser tracks system appearance changes without scripts or saved overrides. */
@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    --paper: #171815;
    --ink: #eeeee5;
    --muted: #a9ac9e;
    --line: #363930;
    --surface: #23251f;
    --image-surface: #252821;
    --dialog-image-surface: #252821;
    --border-strong: #626957;
    --orbit: #363b2e;
    --axis: #30332a;
    --studio-muted: #b3b7a7;
    --stamp-ink: #b4bd9e;
    --stamp-border: #687457;
    --input-border: #66705b;
    --placeholder: #9da18f;
    --menu-shadow: #00000060;
    --accent-focus: #ffff00;
    --client-filter: grayscale(1) invert(1);
    --client-blend: screen;
  }
  /* The contact panel stays brand yellow, so its focus ring stays dark. */
  .contact :focus-visible { outline-color: var(--accent-ink); }
}
@media print {
  :root { color-scheme: light; --paper: #ffffff; --ink: #21221e; --muted: #66685f; --studio-muted: #606357; --stamp-ink: #626b57; --line: #d1d2c8; --client-filter: grayscale(1); --client-blend: multiply; }
}

/* Real product screens are composed in HTML so the portfolio stays sharp. */
.work-art-label{display:block;font-size:8px;letter-spacing:1px;line-height:1.5;font-weight:500}
.koha-visual,.numa-visual,.grantpin-visual,.hajde-visual,.type-visual{position:absolute;inset:0;overflow:hidden}
.koha-visual{background:#e5e4dc;color:#21221e}
.koha-visual>.work-art-label{position:absolute;left:26px;top:25px;z-index:1}
.koha-screens{position:absolute;inset:11% 8% -23%;display:flex;gap:4%;align-items:flex-start;transform:rotate(-7deg)}
.koha-screens img{width:48%;height:auto;object-fit:contain;filter:none;box-shadow:0 10px 35px #00000013;border-radius:5px}
.koha-screens img:last-child{margin-top:21%}
.numa-visual{background:#d5e6de;color:#193c30}
.numa-visual>.work-art-label{position:absolute;top:25px;left:26px;z-index:1;max-width:150px}
.numa-visual picture{position:absolute;top:16%;left:25%;width:55%;transform:rotate(7deg);box-shadow:0 15px 50px #0f3c3025;border-radius:30px;overflow:hidden}
.numa-visual img{display:block;width:100%;height:auto;filter:none;object-fit:contain}
.grantpin-visual{background:#202a24;color:#e7ece4;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:42px 30px}
.grantpin-visual>.work-art-label{position:absolute;left:26px;top:25px;color:#b2c3b5}
.grantpin-visual .grantpin-icon{width:65px;height:65px;object-fit:contain;filter:none;margin-bottom:14px}
.grantpin-name{font-size:42px;line-height:1;letter-spacing:-2px;font-weight:550}
.grantpin-tagline{font-size:12px;color:#c3d1c4;margin-top:10px}
.grantpin-terminal{display:flex;flex-direction:column;gap:7px;margin-top:30px;background:#162019;border:1px solid #405244;padding:15px 20px;border-radius:6px;font:10px/1.5 monospace;color:#d8e7db}
.terminal-output{color:#93b99b}
.hajde-visual>img{filter:saturate(.8);object-position:center}
.hajde-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:28px;background:linear-gradient(180deg,#00000030,transparent 35%,#00000070);color:#fff}
.hajde-title{font-size:48px;line-height:.95;letter-spacing:-2px}
.hajde-title em{font-size:1.15em}
.type-visual{display:flex;flex-direction:column;justify-content:space-between;padding:35px;color:#eeeee5}
.purlin-visual{background:#23334b}
.purlin-name{font-size:70px;font-weight:550;letter-spacing:-5px;line-height:1.2}
.purlin-name>span{font-size:35px;letter-spacing:0;margin-left:5px;color:#a8c2e5}
.type-visual-sub{font-size:23px;line-height:1.15;letter-spacing:-.8px}
.zeri-visual{background:#e8e4da;color:#25231f}
.zeri-name{font-size:90px;font-weight:700;letter-spacing:-6px;line-height:1}
.zeri-name>span{color:#bd271d;animation:caret 1.5s steps(2) infinite}
.project-dialog-image{height:auto;aspect-ratio:1.5}
.project-dialog-image>.project-image{width:100%;height:100%;aspect-ratio:auto}
.project-dialog-image .project-image img{transition:none}
@keyframes caret{50%{opacity:.25}}
@media(prefers-color-scheme:dark){.numa-visual{background:#203b31;color:#d8eee1}.koha-visual{background:#d8d8cd}.zeri-visual{background:#302d26;color:#eeebe3}}
@media(max-width:760px){.work-art-label{font-size:7px}.koha-visual>.work-art-label,.numa-visual>.work-art-label,.grantpin-visual>.work-art-label{top:18px;left:20px}.grantpin-visual .grantpin-icon{width:45px;height:45px;margin-bottom:9px}.grantpin-name{font-size:33px}.grantpin-tagline{font-size:10px}.grantpin-terminal{margin-top:19px;padding:10px 12px;font-size:8px}.hajde-overlay{padding:22px}.hajde-title{font-size:42px}.type-visual{padding:24px}.purlin-name{font-size:54px}.zeri-name{font-size:65px}.type-visual-sub{font-size:20px}.project-dialog-image{aspect-ratio:1.15}}
@media(prefers-reduced-motion:reduce){.zeri-name>span{animation:none}}

/* Keep intrinsic text widths and decorative art inside the page. */
html,body{overflow-x:clip}
:where(.hero-composition,.projects,.studio-inner,.studio-columns,.clients,.expertise,.footer-main)>*{min-width:0}
.filters{flex-wrap:wrap}
.hero-copy h1{white-space:normal;overflow-wrap:break-word}
.project-caption{flex-wrap:wrap}
.project-caption>span:first-child{min-width:0;flex:1 1 170px}
.project-type{min-width:0;max-width:100%;white-space:normal;flex-wrap:wrap;overflow-wrap:anywhere}
.grantpin-terminal{max-width:100%;overflow-wrap:anywhere}
@media(max-width:1100px){.hero-art{margin-right:0}}
@supports not (overflow:clip){html,body{overflow-x:hidden}}

/* Purlin leads the portfolio; the supporting projects retain their own scale. */
.project-featured{grid-column:1/-1;margin-bottom:15px}
.project-featured>.project-image{aspect-ratio:2.6}
.purlin-visual{background:#20251e;color:#f1f0e9;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:60px;padding:48px 55px}
.purlin-feature-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.purlin-feature-copy>.work-art-label{color:#c6cfbb;margin-bottom:30px}
.purlin-name{font-size:clamp(70px,8vw,130px);font-weight:550;letter-spacing:-7px;line-height:1;color:#ffff00}
.purlin-name>span{font-size:.4em;color:inherit;display:inline-block;vertical-align:top;margin-left:12px;margin-top:8px;letter-spacing:0}
.purlin-feature-title{font-size:clamp(23px,2.7vw,43px);line-height:1.07;letter-spacing:-1.3px;margin-top:18px}
.purlin-feature-description{font-size:11px;color:#c6cfbb;line-height:1.7;margin-top:20px}
.purlin-capabilities{display:flex;flex-direction:column;min-width:0;border-top:1px solid #505b45}
.purlin-capability{display:flex;align-items:center;gap:25px;border-bottom:1px solid #505b45;padding-block:19px;font-size:19px;letter-spacing:-.5px}
.purlin-capability>span{font-size:9px;color:#ffff00;letter-spacing:0}
.purlin-capabilities>.work-art-label{margin-top:22px;color:#c6cfbb;font-size:7px}
.project-featured .project-num{display:none}
.project-featured .project-caption strong{font-size:27px}
.projects:not(.is-filtered)>.extra-project{grid-column:1/-1}
.projects:not(.is-filtered)>.extra-project>.project-image{aspect-ratio:2.8}
.project-dialog-image .purlin-visual{gap:35px;padding:30px}
.project-dialog-image .purlin-name{font-size:70px;letter-spacing:-4px}
.project-dialog-image .purlin-feature-copy>.work-art-label{margin-bottom:23px}
.project-dialog-image .purlin-feature-title{font-size:27px}
.project-dialog-image .purlin-feature-description{font-size:10px}
.project-dialog-image .purlin-capability{font-size:15px;padding-block:17px;gap:16px}
@media(max-width:1100px) and (min-width:761px){.project-featured>.project-image{aspect-ratio:2}.purlin-visual{padding:36px;gap:35px}.purlin-feature-copy>.work-art-label{margin-bottom:23px}.purlin-capability{font-size:16px;padding-block:17px}}
@media(max-width:760px){.project-featured>.project-image{aspect-ratio:auto;height:510px}.purlin-visual{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:25px;padding:28px 25px}.purlin-feature-copy>.work-art-label{font-size:7px;margin-bottom:23px}.purlin-name{font-size:74px;letter-spacing:-5px}.purlin-feature-title{font-size:28px;letter-spacing:-.9px;margin-top:15px}.purlin-feature-description{font-size:10px;margin-top:15px}.purlin-capability{font-size:14px;padding-block:11px;gap:18px}.purlin-capabilities>.work-art-label{font-size:6px;margin-top:14px}.project-featured .project-caption strong{font-size:23px}.projects:not(.is-filtered)>.extra-project>.project-image{aspect-ratio:1.4}.project-dialog-image:has(.purlin-visual){height:510px;aspect-ratio:auto}.project-dialog-image .purlin-visual{gap:25px;padding:28px 25px}.project-dialog-image .purlin-capability{font-size:14px;padding-block:11px}.project-dialog-image .purlin-feature-copy>.work-art-label{margin-bottom:23px}}
@media(max-width:760px){.project-featured>.project-image{height:auto}.project-featured .purlin-visual{position:relative;inset:auto}.project-dialog-image:has(.purlin-visual){height:auto}.project-dialog-image:has(.purlin-visual)>.project-image{height:auto}.project-dialog-image .purlin-visual{position:relative;inset:auto}}

/* Service and case-study pages share the studio's typography and system theme. */
.anchor-alias{display:block;height:0;scroll-margin-top:100px}
.hero-copy>p{max-width:480px}
.services-hub-link{margin-top:20px;font-size:11px}
.service-detail-link{margin-top:18px;font-size:11px}
.services-supporting{margin-top:25px;font-size:11px;line-height:1.8;color:var(--muted)}
.services details:last-of-type{border-bottom:1px solid var(--line)}
.services summary h3{min-width:0;flex:1}
.service-num,.service-toggle{flex-shrink:0}
.footer-links{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--muted)}
.footer-links a:hover{color:var(--ink)}
.breadcrumbs{width:calc(100% - 112px);max-width:1536px;margin:28px auto 0}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0;font-size:10px;color:var(--muted)}
.breadcrumbs li+li:before{content:'/';margin-right:10px;color:var(--muted)}
.breadcrumbs a:hover{text-decoration:underline}
.inner-hero{padding-block:70px 80px}
.inner-hero>.eyebrow{display:block;margin-bottom:30px;font-size:9px}
.inner-hero h1{font-size:clamp(48px,6.6vw,104px);line-height:1.03;letter-spacing:-4px;white-space:normal;overflow-wrap:break-word;max-width:1150px}
.inner-hero h1 em{font-size:1.1em}
.inner-hero>p{font-size:18px;line-height:1.75;max-width:810px;color:var(--muted);margin-top:30px}
.inner-hero>.text-link{margin-top:30px}
.service-directory{padding-bottom:60px}
.service-directory-row{display:grid;grid-template-columns:60px minmax(0,1fr) 40px;gap:30px;padding-block:32px;border-top:1px solid var(--line);align-items:start}
.service-directory-row:last-child{border-bottom:1px solid var(--line)}
.service-directory-row>.eyebrow{padding-top:8px}
.service-directory-row h2{font-size:39px;letter-spacing:-1.7px}
.service-directory-row p{font-size:14px;line-height:1.8;color:var(--muted);max-width:650px;margin-top:15px}
.service-directory-row>span:last-child{font-size:30px;transition:transform .2s}
.service-directory-row:hover>span:last-child{transform:translate(4px,-4px)}
.supporting-copy{padding-block:20px 80px;max-width:900px}
.supporting-copy h2{font-size:40px;letter-spacing:-1.5px}
.supporting-copy p{margin-top:20px;font-size:16px;color:var(--muted);line-height:1.8}
.service-page-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:80px;padding-block:75px;border-top:1px solid var(--line)}
.service-page-grid>div>.eyebrow{display:block;margin-bottom:24px}
.service-page-grid h2{font-size:51px;letter-spacing:-2px}
.scope-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px 40px}
.scope-grid h3{font-size:22px;font-weight:500;letter-spacing:-.7px;line-height:1.2}
.scope-grid p{font-size:14px;line-height:1.85;color:var(--muted);margin-top:15px}
.process-band{background:var(--surface);padding-block:65px}
.process-band .eyebrow{display:block;margin-bottom:25px}
.process-band h2{font-size:53px;letter-spacing:-2px}
.process-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px;list-style:none;padding:0;margin:45px 0 0}
.process-list .eyebrow{margin-bottom:16px}
.process-list h3{font-size:23px;font-weight:500;letter-spacing:-.6px;line-height:1.2}
.process-list p{font-size:14px;line-height:1.85;color:var(--studio-muted);margin-top:17px}
.proof-links{display:flex;flex-direction:column}
.proof-links a{display:flex;justify-content:space-between;gap:25px;padding-block:22px;border-bottom:1px solid var(--line);font-size:27px;letter-spacing:-1px}
.proof-links a:first-child{border-top:1px solid var(--line)}
.proof-links a>span:last-child{font-size:24px;transition:transform .2s}
.proof-links a:hover>span:last-child{transform:translate(4px,-4px)}
.page-faq details{border-bottom:1px solid var(--line)}
.page-faq details:first-child{border-top:1px solid var(--line)}
.page-faq summary{display:flex;justify-content:space-between;gap:25px;padding-block:24px;font-size:17px;line-height:1.4;cursor:pointer;list-style:none}
.page-faq summary::-webkit-details-marker{display:none}
.page-faq summary span{font-size:22px;line-height:1;flex-shrink:0}
.page-faq details[open] summary span{transform:rotate(45deg)}
.page-faq p{font-size:14px;line-height:1.85;color:var(--muted);padding-bottom:27px}
.all-services-link{padding-bottom:75px}
.case-art{height:clamp(350px,45vw,650px);margin-bottom:75px;position:relative}
.case-art>.project-image{height:100%;aspect-ratio:auto}
.case-story{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:80px;padding-block:10px 75px}
.case-story aside>.eyebrow{display:block;margin-bottom:20px}
.case-story aside h2{font-size:47px;letter-spacing:-2px}
.case-story aside p{font-size:10px;line-height:1.8;color:var(--muted);margin-top:18px;max-width:250px}
.case-story aside .text-link{font-size:12px;margin-top:25px}
.case-prose section+section{margin-top:40px}
.case-prose h2{font-size:31px;letter-spacing:-1px;line-height:1.15}
.case-prose p{font-size:16px;line-height:1.85;color:var(--muted);margin-top:17px}
.related-services{border-top:1px solid var(--line);padding-block:35px 75px}
.related-service-links{display:flex;gap:12px;flex-wrap:wrap;margin-block:20px 35px}
.related-service-links a{border:1px solid var(--line);padding:10px 15px;border-radius:30px;font-size:12px}
.related-service-links a:hover{background:var(--ink);color:var(--paper)}
.work-directory{padding-bottom:90px}
@media(max-width:1100px){.breadcrumbs{width:calc(100% - 64px)}.service-page-grid,.case-story{gap:45px}.process-list{gap:30px}.scope-grid{gap:30px}.service-page-grid h2{font-size:44px}}
@media(max-width:760px){.breadcrumbs{width:calc(100% - 40px);margin-top:24px}.breadcrumbs ol{font-size:9px;gap:7px}.breadcrumbs li+li:before{margin-right:7px}.inner-hero{padding-block:45px 50px}.inner-hero>.eyebrow{font-size:8px;margin-bottom:24px}.inner-hero h1{font-size:48px;letter-spacing:-2.5px}.inner-hero>p{font-size:15px;line-height:1.8;margin-top:25px}.inner-hero>.text-link{margin-top:25px}.service-directory-row{grid-template-columns:25px minmax(0,1fr) 20px;gap:14px;padding-block:25px}.service-directory-row h2{font-size:28px;letter-spacing:-1px}.service-directory-row p{font-size:12px;margin-top:12px}.service-directory-row>span:last-child{font-size:24px}.service-directory{padding-bottom:35px}.supporting-copy{padding-block:10px 55px}.supporting-copy h2{font-size:32px}.supporting-copy p{font-size:13px}.service-page-grid,.case-story{display:block;padding-block:45px}.service-page-grid>div+div{margin-top:32px}.service-page-grid h2{font-size:40px}.scope-grid{grid-template-columns:1fr;gap:27px}.scope-grid h3{font-size:21px}.scope-grid p{font-size:13px;margin-top:12px}.process-band{padding-block:45px}.process-band h2{font-size:42px}.process-list{grid-template-columns:1fr;gap:30px;margin-top:35px}.process-list h3{font-size:22px}.process-list p{font-size:13px;margin-top:12px}.proof-links a{font-size:25px;padding-block:20px}.page-faq summary{font-size:15px;padding-block:22px}.page-faq p{font-size:13px}.all-services-link{padding-bottom:50px}.case-art{height:360px;margin-bottom:10px}.case-art:has(.purlin-visual){height:auto}.case-art:has(.purlin-visual)>.project-image{height:auto}.case-art .purlin-visual{position:relative;inset:auto}.case-story aside{margin-bottom:35px}.case-story aside h2{font-size:40px}.case-story aside p{font-size:9px;max-width:none}.case-prose h2{font-size:27px}.case-prose p{font-size:14px}.case-prose section+section{margin-top:30px}.related-services{padding-block:30px 50px}.related-service-links{gap:8px;margin-block:20px 30px}.related-service-links a{font-size:10px;padding:9px 12px}.work-directory{padding-bottom:55px}.footer-links{font-size:11px}.services-supporting{font-size:11px}}

/* Vector icons keep their shape and ink color across iOS, Android and desktop. */
.icon{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.15em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.text-link>.icon{width:19px;height:19px;vertical-align:middle}
.round-arrow .icon{width:20px;height:20px;display:block}
.project-type i{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.project-type .icon{width:23px;height:23px}
.contact-arrow{display:inline-flex}
.contact-arrow .icon{width:1em;height:1em;stroke-width:1.2}
.dialog-close .icon{width:20px;height:20px}
.mobile-menu a>.icon{width:24px;height:24px;margin-left:8px}
.project-view .icon{width:17px;height:17px;margin-left:7px;vertical-align:-.25em}
.related-service-links .icon,.footer-main>div a>.icon{width:15px;height:15px;margin-left:4px}
#show-more .icon-vertical{transition:opacity .2s}
#show-more[aria-expanded="true"] .icon-vertical,.page-faq details[open] .icon-vertical{opacity:0}
.page-faq details[open] summary span{transform:none}
.page-faq summary .icon{width:20px;height:20px}
.project-num{left:auto;right:16px;z-index:2;min-width:28px;min-height:28px;padding:0 8px;display:inline-grid;place-items:center;line-height:1}
@media(max-width:760px){.project-type .icon{width:22px;height:22px}}

/* Option 01: an editorial cutaway of real work, without device chrome. */
.hero-art--detail{width:100%;max-width:470px;aspect-ratio:auto;perspective:none;margin-block:30px 18px;--scan-x:18%}
.detail-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.detail-heading>.eyebrow{font-size:8px;letter-spacing:1px}
.detail-project-link{font-size:9px;font-weight:550;display:flex;align-items:center;gap:8px;letter-spacing:.7px}
.detail-project-link>.icon{width:15px;height:15px}
.detail-stage{height:350px;position:relative;background:#faf9f6;border-top:1px solid var(--line);border-bottom:1px solid var(--line);isolation:isolate;overflow:hidden}
.detail-crop{position:absolute;inset:0;overflow:hidden}
.detail-capture{display:block;position:absolute;inset:0;transition:opacity .5s}
.detail-capture img{display:block;position:absolute;width:100%;height:auto;max-width:none;top:0;left:0;transform:translateY(-20%);transition:transform .85s cubic-bezier(.2,.7,.2,1)}
.hero-art--detail[data-step="1"] .detail-capture--home{opacity:.06}
.detail-overview{opacity:0}.detail-overview img{transform:translateY(-45%)}.hero-art--detail[data-step="2"] .detail-capture--home{opacity:0}.hero-art--detail[data-step="2"] .detail-overview{opacity:1}
.detail-calculation{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:26px 32px;background:var(--paper);opacity:0;transform:translateY(18px);transition:opacity .45s,transform .6s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.hero-art--detail[data-step="1"] .detail-calculation{opacity:1;transform:translateY(0)}
.detail-sheet-label{font-size:8px;letter-spacing:1.2px;margin-bottom:28px;color:var(--muted)}
.detail-sum-row{display:flex;justify-content:space-between;align-items:baseline;gap:15px;padding-bottom:13px}
.detail-sum-row>span{font-size:10px;color:var(--muted)}
.detail-sum-row>strong{font-size:32px;line-height:1.1;font-weight:450;letter-spacing:-1.4px;font-variant-numeric:tabular-nums}
.detail-sum-total{border-top:1px solid var(--ink);padding-top:16px;padding-bottom:0}
.detail-sum-total>strong{background:var(--accent);color:var(--accent-ink);padding:4px 7px;margin-right:-7px}
.detail-calculation>p{font-family:var(--serif);font-size:22px;line-height:1.08;letter-spacing:-.3px;margin-top:24px}
.detail-registration{position:absolute;inset:10px;pointer-events:none;z-index:3}
.detail-registration>span{position:absolute;width:12px;height:12px;border-color:#60655c;border-style:solid;border-width:0}
.detail-registration>span:nth-child(1){top:0;left:0;border-top-width:1px;border-left-width:1px}
.detail-registration>span:nth-child(2){top:0;right:0;border-top-width:1px;border-right-width:1px}
.detail-registration>span:nth-child(3){bottom:0;left:0;border-bottom-width:1px;border-left-width:1px}
.detail-registration>span:nth-child(4){bottom:0;right:0;border-bottom-width:1px;border-right-width:1px}
.detail-scan{position:absolute;top:0;bottom:0;left:var(--scan-x);width:1px;background:#b0b400;opacity:.5;z-index:2;pointer-events:none;transition:opacity .2s}
.hero-art--detail[data-step="1"] .detail-scan{opacity:0}
.detail-annotation{position:absolute;left:22px;bottom:18px;z-index:3;display:flex;align-items:center;gap:8px;background:var(--accent-ink);color:var(--accent);padding:8px 10px;font-size:7px;letter-spacing:.8px;line-height:1;pointer-events:none}
.detail-annotation-dot{width:4px;height:4px;background:currentColor;border-radius:50%}
.hero-art--detail[data-step="1"] .detail-annotation{opacity:0}
.detail-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line)}
.detail-tabs>button{background:none;border:0;border-radius:0;position:relative;min-width:0;min-height:48px;padding:13px 5px 13px 0;display:flex;align-items:center;gap:8px;font-size:11px;text-align:left;color:var(--muted)}
.detail-tabs>button>span{font-size:8px}
.detail-tabs>button::after{content:'';position:absolute;left:0;right:14px;bottom:-1px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.detail-tabs>button[aria-selected="true"]{color:var(--ink)}
.detail-tabs>button[aria-selected="true"]::after{transform:scaleX(1)}
.detail-tabs>button:focus-visible{outline-offset:2px;z-index:2}
.detail-panels{padding-top:22px;min-height:115px}
.detail-panels h2{font-family:var(--serif);font-size:31px;line-height:1.05;font-weight:400;letter-spacing:-.8px}
.detail-panels p{margin-top:10px;font-size:12px;line-height:1.75;max-width:410px;color:var(--muted)}
.detail-footnote{display:flex;justify-content:space-between;gap:15px;font-size:7px;letter-spacing:.6px;color:var(--muted);margin-top:15px}
.detail-gesture{display:inline-flex;align-items:center;gap:5px}
.detail-gesture>.icon{width:12px;height:12px}
@media(prefers-color-scheme:dark){.detail-stage{background:#111311}.detail-registration>span{border-color:#a8b4a4}.detail-scan{background:#ffff00}}
@media(max-width:1100px) and (min-width:761px){.hero-art--detail{margin-top:30px}.detail-stage{height:300px}.detail-calculation{padding:22px}.detail-sum-row>strong{font-size:27px}.detail-sum-row>span{font-size:9px}.detail-tabs>button{font-size:9px;gap:5px}.detail-footnote{font-size:6px;gap:8px}.detail-panels h2{font-size:28px}}
@media(max-width:760px){.hero-art--detail{width:100%;max-width:390px;margin:40px auto 24px}.detail-stage{height:300px}.detail-heading{margin-bottom:13px}.detail-calculation{padding:24px}.detail-sum-row>strong{font-size:30px}.detail-sheet-label{margin-bottom:24px}.detail-calculation>p{font-size:21px;margin-top:20px}.detail-tabs>button{font-size:9px;gap:6px;min-height:48px}.detail-panels{padding-top:21px;min-height:110px}.detail-panels h2{font-size:31px}.detail-panels p{font-size:11px;line-height:1.8}.detail-footnote{font-size:6px;gap:10px;margin-top:12px}.detail-gesture{display:none}.detail-annotation{font-size:6px;left:18px;bottom:16px}}
.detail-panels [role="tabpanel"]:focus-visible{outline:2px solid var(--accent-focus);outline-offset:5px}

/* Option 02: a small working mechanism, illustrated directly in SVG. */
.hero-art--machine{width:100%;max-width:490px;aspect-ratio:auto;perspective:none;margin-block:28px 18px;color:var(--ink)}
.machine-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:8px}
.machine-heading>.eyebrow{font-size:8px;letter-spacing:.8px}
.machine-project-link{font-size:9px;display:flex;align-items:center;gap:7px;letter-spacing:.6px}
.machine-project-link>.icon{width:15px;height:15px}
.machine-svg{width:100%;height:auto;display:block;overflow:visible}
.machine-line,.machine-hairline,.machine-doc-rule,.machine-dashed{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.machine-hairline{stroke-width:.7;stroke:var(--line)}
.machine-guide{stroke-dasharray:2 5}
.machine-dashed{stroke-width:1;stroke-dasharray:4 5}
.machine-platform,.machine-ink-fill,.machine-rivet{fill:var(--ink)}
.machine-paper,.machine-front-frame,.machine-gear-paper,.machine-gear-core,.machine-roller{fill:var(--paper);stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round}
.machine-paper-shadow,.machine-body-side{fill:var(--surface);stroke:var(--ink);stroke-width:1.2;stroke-linejoin:round}
.machine-front-frame{stroke-width:1.6}
.machine-shading{fill:url(#machine-hatch)}
.machine-yellow-band{fill:var(--accent)}
.machine-gear-yellow,.machine-yellow-knob{fill:var(--accent);stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round}
.machine-gear-core{fill:var(--accent-ink);stroke:var(--accent-ink)}
.machine-gear-bolt{fill:var(--accent-ink)}
.machine-shaft{stroke-width:4}
.machine-doc-heading{font-family:var(--sans);font-size:10px;font-weight:650;letter-spacing:.6px;fill:var(--ink)}
.machine-doc-label{font-family:var(--sans);font-size:8px;fill:var(--ink)}
.machine-doc-rule{stroke-width:.7}
.machine-total-text{fill:var(--accent-ink);font-weight:500;font-size:7px}
.machine-doc-small{font-family:var(--sans);font-size:4.6px;letter-spacing:.4px;fill:var(--muted)}
.machine-index{font-family:var(--sans);font-size:6px;font-weight:500;letter-spacing:.5px;fill:var(--muted)}
.machine-signature{font-family:var(--sans);font-size:5.5px;letter-spacing:.5px;fill:var(--muted)}
.machine-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:0 8px 0 4px}
.machine-footer>div{min-width:0;flex:1}
.machine-footer h2{font-size:31px;letter-spacing:-1px;line-height:1.02;font-weight:450}
.machine-footer h2 em{font-size:1.1em}
.machine-footer p{font-size:11px;line-height:1.75;max-width:275px;color:var(--muted);margin-top:13px;min-height:40px}
.machine-run{flex-shrink:0;background:var(--accent);color:var(--accent-ink);border:0;border-radius:0;display:inline-flex;align-items:center;justify-content:space-between;gap:15px;min-height:43px;padding:12px 14px;margin-top:3px;font-size:10px;font-weight:500;transition:background .2s}
.machine-run>.icon,.machine-run>span>.icon{width:19px;height:19px;display:block}
.machine-run:disabled{cursor:progress}
.machine-run:focus-visible{outline-offset:5px}
.machine-disclaimer{font-size:6px;letter-spacing:.7px;color:var(--muted);padding-left:4px;margin-top:20px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px) and (min-width:761px){.machine-footer{gap:15px;padding-right:0}.machine-footer h2{font-size:27px}.machine-run{font-size:9px;gap:8px;padding:10px}.machine-footer p{font-size:10px}.machine-heading>.eyebrow{font-size:7px}}
@media(max-width:760px){.hero-art--machine{width:100%;max-width:390px;margin:38px auto 25px}.machine-heading>.eyebrow{font-size:7px}.machine-footer{gap:14px;padding-inline:2px}.machine-footer h2{font-size:29px}.machine-run{font-size:9px;gap:8px;padding:11px;min-height:43px}.machine-footer p{font-size:11px;min-height:58px}.machine-disclaimer{font-size:6px;margin-top:17px}}
.machine-doc-on-yellow{fill:var(--accent-ink)}
.machine-axle{fill:var(--accent)}
.machine-confirmation-check{stroke:var(--accent-ink)}
.machine-index{font-size:8px;letter-spacing:.3px}
.machine-disclaimer{font-size:8px}
@media(max-width:760px){.machine-disclaimer{font-size:7px}}
@media(max-width:420px){.machine-footer{display:block}.machine-footer p{min-height:0;max-width:300px}.machine-run{margin-top:18px;min-width:150px}}
.machine-on-yellow{stroke:var(--accent-ink)}

/* A transforming workspace: start with an everyday object, discover the work. */
.hero--canvas{padding-top:30px}
.canvas-intro{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);align-items:end;gap:70px;padding-block:45px 10px}
.hero--canvas h1{font-size:clamp(68px,7.1vw,110px);letter-spacing:-4.8px;line-height:.98;white-space:normal;overflow-wrap:break-word;min-height:2.12em}
.hero--canvas h1 em{font-size:1.08em}
.canvas-intro>div{padding-bottom:15px;max-width:360px}
.canvas-intro p{font-size:14px;line-height:1.8;color:var(--muted);min-height:100px}
.canvas-intro .text-link{margin-top:22px}
.hero-art--canvas{width:100%;max-width:none;aspect-ratio:auto;perspective:none;margin:0;isolation:isolate;--canvas-progress:0}
.canvas-stage{height:410px;position:relative;overflow:hidden;transition:height .5s}
.canvas-desk-lines{position:absolute;inset:20px 0 30px;pointer-events:none;opacity:.6}
.canvas-desk-lines>span{position:absolute;left:0;right:0;height:1px;background:var(--line)}
.canvas-desk-lines>span:first-child{top:43%}.canvas-desk-lines>span:last-child{bottom:0}
.canvas-sources{position:absolute;inset:0;z-index:4}
.canvas-source{position:absolute;display:flex;flex-direction:column;align-items:center;gap:18px;background:none;border:0;border-radius:0;padding:0;color:var(--ink);text-align:left;transition:left .8s cubic-bezier(.2,.7,.2,1),top .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1),opacity .6s;transform-origin:top left}
.canvas-source--recording{left:7%;top:64px;width:270px;--source-angle:-7deg}
.canvas-source--receipt{left:46%;top:29px;width:160px;--source-angle:6deg}
.canvas-source--brief{left:72%;top:58px;width:225px;--source-angle:-5deg}
.source-art{position:relative;display:flex;flex-direction:column;width:100%;max-width:100%;transform:rotate(var(--source-angle));transform-origin:50% 50%;transition:transform .45s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(8px 12px 13px #0000000e)}
.canvas-source:not(:disabled):hover .source-art,.canvas-source:not(:disabled):focus-visible .source-art{transform:translateY(-12px) rotate(0)}
.source-recording{aspect-ratio:1.45;background:#23241f;color:#f1f0e9;padding:18px 20px;justify-content:space-between}
.recording-meta{display:flex;justify-content:space-between;font-size:7px;letter-spacing:.8px;color:#c9cbbb}
.source-wave{display:block;width:100%;height:auto;fill:none;stroke:#ffff00;stroke-width:2;stroke-linecap:round;margin-block:9px}
.recording-script{font-family:var(--serif);font-size:26px;line-height:.95;letter-spacing:-.5px}
.recording-corner{position:absolute;right:17px;bottom:17px;display:flex;color:#ffff00}.recording-corner>.icon{width:22px;height:22px}
.source-receipt{aspect-ratio:.68;background:#faf9f3;color:#21221e;padding:20px 18px;clip-path:polygon(0 0,100% 0,100% 96%,95% 100%,90% 96%,85% 100%,80% 96%,75% 100%,70% 96%,65% 100%,60% 96%,55% 100%,50% 96%,45% 100%,40% 96%,35% 100%,30% 96%,25% 100%,20% 96%,15% 100%,10% 96%,5% 100%,0 96%)}
.receipt-label{font-size:7px;letter-spacing:1.1px;text-align:center}.receipt-rule{height:1px;background:#21221e;margin-block:13px}.receipt-item{font-size:11px}
.receipt-lines{display:flex;flex-direction:column;gap:7px;margin-block:13px}.receipt-lines i{height:1px;background:#999b8e;width:80%}.receipt-lines i:nth-child(2){width:63%}.receipt-lines i:nth-child(3){width:91%}
.source-receipt strong{font-size:30px;font-weight:500;letter-spacing:-1px;line-height:1}.receipt-rule--dotted{background:none;border-top:1px dashed #999b8e;margin-block:12px}.receipt-caption{font-size:9px;line-height:1.5;color:#66685f}
.source-brief{aspect-ratio:1.12;background:var(--accent);color:var(--accent-ink);padding:21px 22px;justify-content:space-between;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%)}
.source-brief:after{content:'';position:absolute;top:0;right:0;border-left:20px solid #c5c500;border-top:20px solid transparent}
.brief-small{font-size:7px;letter-spacing:1px}.source-brief strong{font-size:27px;line-height:1;font-weight:500;letter-spacing:-.9px}.source-brief strong em{font-size:1.17em}
.brief-bottom{display:flex;align-items:center;justify-content:space-between;font-size:9px}.brief-bottom .icon{width:22px;height:22px}
.source-label{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-inline:7px;font-family:var(--serif);font-size:22px;line-height:1}
.source-label small{font-family:var(--sans);font-size:7px;letter-spacing:.7px;color:var(--muted)}
.canvas-instruction{position:absolute;bottom:5px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.3px;color:var(--muted)}.canvas-instruction>.icon{width:16px;height:16px;margin-left:6px}
.hero-art--canvas:not([data-story="none"]) .canvas-source{opacity:0;pointer-events:none;transform:translateY(35px) scale(.9)}
.hero-art--canvas[data-story="recording"] .canvas-source--recording,.hero-art--canvas[data-story="receipt"] .canvas-source--receipt,.hero-art--canvas[data-story="brief"] .canvas-source--brief{opacity:1;left:1%;top:95px;transform:scale(.72)}
.hero-art--canvas:not([data-story="none"]) .source-label{opacity:0}
.hero-art--canvas[data-phase="2"] .canvas-source:disabled{opacity:.28}
.canvas-world{position:absolute;inset:0;pointer-events:none;z-index:2}.world-layout{position:absolute;inset:0}
.world-paper{position:absolute;left:32%;top:22px;width:38%;height:320px;background:#faf9f3;color:#21221e;padding:24px 27px;border:1px solid #d5d5c8;box-shadow:10px 11px 0 var(--surface);opacity:0;transform:translate(-25px,30px) rotate(-4deg);transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .7s;overflow:hidden}
.world-eyebrow{display:block;font-size:7px;font-weight:500;letter-spacing:.8px;color:#66685f}
.world-paper h2{font-family:var(--serif);font-size:44px;font-weight:400;line-height:.92;letter-spacing:-1.6px;margin-top:22px}.world-paper h2 em{font-size:1em}
.editorial-columns{display:flex;gap:14px;height:36px;margin-top:18px}.editorial-columns>span{flex:1;background:repeating-linear-gradient(to bottom,#a8aa9a 0,#a8aa9a 1px,transparent 1px,transparent 7px)}
.world-paper p{font-size:10px;line-height:1.6;color:#66685f;margin-top:15px}
.world-paper-footer{position:absolute;left:27px;bottom:19px;font-size:6px;letter-spacing:.7px;color:#66685f}
.hero-art--canvas[data-phase="1"] .world-paper,.hero-art--canvas[data-phase="2"] .world-paper{opacity:1;transform:translate(0,0) rotate(-2deg)}
.hero-art--canvas[data-phase="2"] .world-paper{transform:translate(-28px,-6px) rotate(-4deg)}
.world-proof{position:absolute;left:70%;top:63px;width:22%;height:276px;overflow:hidden;background:#f6f5f1;box-shadow:9px 12px 0 var(--surface);opacity:0;transform:translate(20px,30px) rotate(9deg);transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .7s}
.world-proof img{position:absolute;top:0;left:0;width:100%;height:auto;display:block;max-width:none;transform:translateY(-24%)}
.world-proof>span{position:absolute;bottom:0;left:0;right:0;background:#21221e;color:#f1f0e9;font-size:6px;letter-spacing:.7px;padding:9px 10px;z-index:1}
.hero-art--canvas[data-phase="2"] .world-proof{opacity:1;transform:translate(0,0) rotate(6deg)}
.world-ribbon{position:absolute;left:32%;top:363px;padding:8px 11px;background:var(--accent);color:var(--accent-ink);font-size:8px;letter-spacing:.9px;font-weight:500;opacity:0;transform:translateY(12px);transition:transform .6s,opacity .6s}
.hero-art--canvas[data-phase="2"] .world-ribbon{opacity:1;transform:translateY(0)}
.world-note{position:absolute;left:4%;bottom:56px;font-family:var(--serif);font-size:28px;line-height:1.03;letter-spacing:-.7px;opacity:0;transition:opacity .6s}.world-note em{font-size:1.1em}
.hero-art--canvas[data-phase="1"] .world-note,.hero-art--canvas[data-phase="2"] .world-note{opacity:1}
.world-paper--expense{padding:17px 0 0;background:var(--paper);color:var(--ink);border-color:var(--line)}.world-paper--expense>.world-eyebrow{margin:0 20px;color:var(--muted)}
.world-expense-crop{position:absolute;inset:42px 0 34px;overflow:hidden}.world-expense-crop img{position:absolute;top:0;left:0;width:100%;height:auto;transform:translateY(-23%);max-width:none}.world-paper--expense>.world-paper-footer{color:var(--muted)}
.world-proof--numa img{transform:translateY(-44%)}
.context-rows{display:flex;flex-direction:column;gap:0;margin-top:24px}.context-rows>span{display:flex;gap:13px;align-items:center;border-top:1px solid #d5d5c8;padding:11px 0;font-size:11px}.context-rows i{font-size:7px;font-style:normal;color:#727669}
.context-wordmark{display:inline-flex;gap:12px;align-items:baseline;font-size:32px;font-weight:650;letter-spacing:-1.6px;margin-top:10px}.context-wordmark>span{color:#747400;font-size:22px}
.world-offer{position:absolute;left:70%;top:65px;width:23%;height:267px;padding:23px 20px;background:#ffff00;color:#21221e;box-shadow:9px 12px 0 var(--surface);opacity:0;transform:translate(15px,30px) rotate(10deg);transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .7s}
.offer-kicker{font-size:6px;letter-spacing:.8px}.world-offer strong{display:block;font-family:var(--serif);font-size:34px;font-weight:400;letter-spacing:-.7px;margin-top:20px;line-height:1}
.offer-lines{display:flex;flex-direction:column;gap:12px;margin-block:23px}.offer-lines i{height:1px;background:#8f9200}.offer-lines i:nth-child(2){width:72%}.offer-lines i:nth-child(4){width:84%}
.offer-review{font-size:11px;line-height:1.5}.world-offer small{display:block;font-size:5px;letter-spacing:.5px;margin-top:18px}
.hero-art--canvas[data-phase="2"] .world-offer{opacity:1;transform:translate(0,0) rotate(5deg)}
.canvas-navigation{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:30px;border-top:1px solid var(--line);padding-top:10px;position:relative}
.canvas-navigation::before{content:'';position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(var(--canvas-progress));transform-origin:left}
.canvas-reset,.canvas-replay{background:none;border:0;border-radius:0;font-size:11px;padding:12px 0;display:inline-flex;gap:8px;align-items:center;white-space:nowrap}
.canvas-reset>.icon,.canvas-replay>.icon{width:16px;height:16px}
.canvas-phases{display:flex;justify-content:center;gap:22px}
.canvas-phases>button{display:inline-flex;gap:8px;align-items:center;min-height:44px;background:none;border:0;border-radius:0;padding:10px 0;font-size:10px;color:var(--muted);text-align:left}
.canvas-phases>button>span:first-child{font-size:8px}.canvas-phases>button[aria-pressed="true"]{color:var(--ink)}
.canvas-project-link{display:inline-flex;gap:10px;align-items:center;font-size:11px;white-space:nowrap}.canvas-project-link>.icon{width:17px;height:17px}
.canvas-story-caption{display:flex;align-items:start;justify-content:space-between;gap:30px;margin-top:9px;padding-bottom:12px}.canvas-story-caption>p{font-size:12px;line-height:1.8;max-width:750px;color:var(--muted)}
.canvas-replay{font-size:10px;color:var(--muted);padding-top:2px}
.canvas-bottom{margin-top:25px}.canvas-bottom>span:nth-child(2){font-size:8px;color:var(--muted)}
.hero--canvas[data-canvas-story="recording"] h1 em{font-family:var(--serif);font-style:normal;font-weight:400}
.hero--canvas[data-canvas-story="brief"] h1 em{font-family:var(--sans);font-size:1em;font-style:normal;font-weight:500;letter-spacing:-.055em}
@media(max-width:1100px) and (min-width:761px){.canvas-intro{gap:40px}.hero--canvas h1{font-size:76px;letter-spacing:-3.5px}.canvas-source--recording{width:230px;left:4%}.canvas-source--receipt{width:145px;left:45%}.canvas-source--brief{width:190px;left:72%}.recording-script{font-size:23px}.source-brief strong{font-size:24px}.canvas-phases{gap:13px}.canvas-navigation{gap:20px}.world-paper h2{font-size:38px}.world-note{font-size:24px}.world-offer{padding:20px 15px}.world-offer strong{font-size:30px}}
@media(max-width:760px){.hero--canvas{padding-top:23px}.canvas-intro{display:block;padding-block:36px 0}.hero--canvas h1{font-size:clamp(38px,10vw,52px);letter-spacing:-1.8px;min-height:2.15em;line-height:1.02}.canvas-intro>div{margin-top:23px;padding-bottom:0;max-width:360px}.canvas-intro p{font-size:13px;line-height:1.8;min-height:95px}.canvas-intro .text-link{margin-top:16px}.hero-art--canvas{margin-top:25px}.canvas-stage{height:265px}.canvas-sources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end;padding:9px 3px 54px}.canvas-source{position:relative;left:auto;top:auto;width:100%;height:200px;justify-content:end;gap:18px;transform-origin:50% 50%}.source-art{filter:drop-shadow(4px 7px 6px #0000000c)}.source-recording{padding:8px}.recording-meta{font-size:4px;letter-spacing:.3px}.recording-script{font-size:15px}.source-wave{margin-block:5px;stroke-width:3}.recording-corner{right:7px;bottom:7px}.recording-corner>.icon{width:13px;height:13px}.source-receipt{padding:12px 10px}.receipt-label{font-size:5px;letter-spacing:.5px}.receipt-rule{margin-block:8px}.receipt-item{font-size:8px}.receipt-lines{margin-block:8px;gap:5px}.source-receipt strong{font-size:22px}.receipt-caption{font-size:6px}.source-brief{padding:12px 10px;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}.source-brief:after{border-left-width:12px;border-top-width:12px}.brief-small{font-size:4.5px;letter-spacing:.3px}.source-brief strong{font-size:17px;letter-spacing:-.6px}.brief-bottom{font-size:5px}.brief-bottom .icon{width:13px;height:13px}.source-label{font-family:var(--sans);font-size:10px;flex-direction:column;gap:5px;align-items:center;padding:0;white-space:nowrap}.source-label small{font-size:6px}.canvas-instruction{font-size:9px;bottom:11px}.canvas-instruction>.icon{width:14px;height:14px}.hero-art--canvas:not([data-story="none"]) .canvas-stage{height:400px}.hero-art--canvas:not([data-story="none"]) .canvas-sources{display:block;padding:0}.hero-art--canvas:not([data-story="none"]) .canvas-source{position:absolute;width:135px;height:auto;left:2%;top:55px;transform:scale(.75);transform-origin:left top}.hero-art--canvas[data-phase="1"] .canvas-source:disabled,.hero-art--canvas[data-phase="2"] .canvas-source:disabled{opacity:0}.world-paper{left:6%;top:25px;width:76%;height:300px;padding:22px 20px}.world-paper h2{font-size:38px;margin-top:21px}.world-eyebrow{font-size:6px;letter-spacing:.5px}.world-paper p{font-size:10px}.world-paper-footer{left:20px;font-size:5px;letter-spacing:.5px}.editorial-columns{height:29px;margin-top:17px}.hero-art--canvas[data-phase="2"] .world-paper{transform:translate(-8px,-2px) rotate(-3deg)}.world-proof{left:64%;top:101px;width:33%;height:222px;box-shadow:6px 7px 0 var(--surface)}.world-proof>span{font-size:4.5px;padding:7px 6px;letter-spacing:.5px}.world-ribbon{left:6%;top:359px;font-size:6px;letter-spacing:.6px;padding:8px 10px}.world-note{display:none}.world-paper--expense{padding:18px 0 0}.world-paper--expense>.world-eyebrow{margin-inline:18px}.world-expense-crop{inset:40px 0 32px}.context-rows{margin-top:24px}.context-rows>span{font-size:10px;gap:9px;padding-block:11px}.context-wordmark{font-size:28px}.world-offer{left:64%;top:105px;width:33%;height:218px;padding:18px 12px;box-shadow:6px 7px 0 var(--surface)}.offer-kicker{font-size:4.5px;letter-spacing:.3px}.world-offer strong{font-size:24px;margin-top:18px}.offer-lines{gap:10px;margin-block:20px}.offer-review{font-size:8px}.world-offer small{font-size:4px;letter-spacing:.3px;margin-top:13px}.canvas-navigation{grid-template-columns:minmax(0,1fr) auto;gap:0 12px;padding-top:8px}.canvas-reset,.canvas-project-link{font-size:10px;min-height:44px}.canvas-phases{grid-row:2;grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;justify-content:stretch;border-top:1px solid var(--line);margin-top:5px}.canvas-phases>button{font-size:9px;gap:6px;align-items:baseline;line-height:1.5}.canvas-project-link{grid-column:2;grid-row:1;gap:6px}.canvas-story-caption{display:block;margin-top:12px;padding-bottom:7px}.canvas-story-caption>p{font-size:11px;line-height:1.8}.canvas-replay{font-size:10px;margin-top:12px}.canvas-bottom{margin-top:16px;font-size:7px;gap:10px}.canvas-bottom>span:nth-child(2){display:none}.hero--canvas[data-canvas-story="brief"] h1 em{letter-spacing:-.055em}}
.world-paper--editorial h2{font-size:40px;margin-top:18px}
.world-paper--editorial .editorial-columns{height:28px;margin-top:12px}
.world-paper--editorial p{font-size:9.5px;margin-top:12px}
.world-paper--context h2{font-size:40px;margin-top:18px}
.context-rows{margin-top:18px}.context-rows>span{padding-block:8px}
.context-wordmark{font-size:28px;line-height:1;margin-top:8px}
@media(max-width:760px){.recording-script{display:none}.world-paper--editorial h2{font-size:34px}.world-paper--context h2{font-size:36px}.context-wordmark{font-size:26px}}

/* A quiet, continuous structure built from individual strands. */
.hero-art--weave{pointer-events:none;max-width:560px;width:110%;aspect-ratio:1;margin:0 -22px 0 auto;perspective:none;overflow:visible}
.weave-sculpture{display:block;width:100%;height:auto;overflow:visible;transform:translateY(-3%)}
.weave-caption{position:absolute;bottom:6%;right:10%;font-size:7px;letter-spacing:1.3px;color:var(--muted)}
@media(max-width:1100px) and (min-width:761px){.hero-art--weave{width:114%;margin-right:-10px}}
@media(max-width:760px){.hero-art--weave{width:100%;max-width:390px;margin:12px auto 0}.weave-sculpture{transform:none}.weave-caption{bottom:3%;right:7%;font-size:6px;letter-spacing:1px}.hero--weave .hero-composition{padding-bottom:10px}}

/* Alternative study: a quiet field across the hero, with no required interaction. */
.hero--signals{position:relative;isolation:isolate}
.hero--signals>.hero-eyebrow,.hero--signals>.hero-foot{position:relative;z-index:1}
.signal-composition{min-height:570px;display:flex;align-items:center;position:relative;padding-block:65px 75px}
.signal-composition>.hero-copy{width:64%;max-width:780px}
.signal-composition h1{font-size:clamp(64px,6.5vw,104px);line-height:1.03;letter-spacing:-4px}
.signal-composition p{max-width:420px}
.signal-field{position:absolute;inset:70px -20px 55px;z-index:0;pointer-events:none;overflow:hidden;background-image:radial-gradient(circle,var(--muted) .6px,transparent .9px);background-size:23px 23px;mask-image:radial-gradient(ellipse 76% 76% at 81% 49%,#000 15%,transparent 92%);-webkit-mask-image:radial-gradient(ellipse 76% 76% at 81% 49%,#000 15%,transparent 92%)}
.signal-field[data-signal-ready="true"]{background-image:none}
.signal-field>canvas{display:block;width:100%;height:100%}
@media(min-width:1450px){.signal-composition{min-height:660px}}
@media(max-width:1100px) and (min-width:761px){.signal-composition{min-height:500px}.signal-composition>.hero-copy{width:72%}.signal-composition h1{font-size:72px;letter-spacing:-3px}}
@media(max-width:760px){.signal-composition{min-height:490px;padding-block:60px 145px;align-items:flex-start}.signal-composition>.hero-copy{width:100%;max-width:420px}.signal-composition h1{font-size:clamp(38px,9vw,60px);letter-spacing:-1.8px;line-height:1.09}.signal-composition p{max-width:310px}.signal-field{inset:100px -10px 40px;mask-image:radial-gradient(ellipse 100% 65% at 88% 80%,#000 10%,transparent 90%);-webkit-mask-image:radial-gradient(ellipse 100% 65% at 88% 80%,#000 10%,transparent 90%)}.hero--signals .hero-foot{gap:12px}.hero--signals .hero-foot>span:last-child{display:none}}

/* Code is revealed within the dot field, without following the pointer as a label. */
.hero--codefield .signal-field{mask-image:linear-gradient(90deg,#0007 0%,#0009 40%,#000 74%);-webkit-mask-image:linear-gradient(90deg,#0007 0%,#0009 40%,#000 74%);background-size:24px 28px}
@media(max-width:760px){.hero--codefield .signal-field{mask-image:linear-gradient(180deg,#0004 0%,#0006 48%,#000 83%);-webkit-mask-image:linear-gradient(180deg,#0004 0%,#0006 48%,#000 83%)}}

/* An editorial composition: clear type, a yellow offset and actual work. */
.hero--editorial{--edit-x:0px;--edit-y:0px;padding-top:30px}
.editorial-heading{position:relative;padding-top:63px}
.hero--editorial h1{font-family:var(--sans);font-size:clamp(76px,10.7vw,166px);font-weight:450;line-height:.91;letter-spacing:-.075em;white-space:normal;overflow-wrap:normal}
.editorial-title-first{display:block}
.editorial-title-second{display:flex;align-items:baseline;justify-content:flex-end;gap:.17em;padding-right:4.5%;margin-top:.075em}
.hero--editorial h1 em{position:relative;isolation:isolate;display:inline-block;font-family:var(--serif);font-weight:400;font-size:1.14em;line-height:.86;letter-spacing:-.04em;font-style:italic;color:#20211d;padding:.025em .14em .09em .08em}
.hero--editorial h1 em::before{content:'';position:absolute;inset:0;z-index:-1;background:#ffff00;transform:translate(calc(var(--edit-x)*.5),calc(var(--edit-y)*.4));transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.editorial-margin-note{position:absolute;top:74px;right:4.5%;font-size:10px;line-height:1.75;letter-spacing:.1px;color:var(--muted);max-width:150px}
.editorial-body{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.5fr);gap:9%;align-items:start;margin-top:60px}
.editorial-intro{padding-top:15px}
.editorial-statement{font-family:var(--serif);font-size:32px;line-height:1.08;letter-spacing:-.5px}
.editorial-description{font-size:13px;line-height:1.8;color:var(--muted);max-width:300px;margin-top:20px}
.editorial-intro .text-link{font-size:12px;margin-top:24px}
.editorial-work{min-width:0}
.editorial-work-heading{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:.85px;color:var(--muted);margin-bottom:13px}
.editorial-excerpts{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}
.editorial-excerpt{display:block;min-width:0}
.editorial-crop{position:relative;height:222px;overflow:hidden;background:var(--surface)}
.editorial-crop::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px var(--line);pointer-events:none}
.editorial-crop img{position:absolute;display:block;width:100%;max-width:none;height:auto;left:0;top:0;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.editorial-excerpt--numa .editorial-crop{background:#eeeae2}
.editorial-excerpt--numa .editorial-crop img{width:143%;left:-5%;transform:translate(calc(var(--edit-x)*-.6),calc(-50% + var(--edit-y)*-.5))}
.editorial-excerpt--koha .editorial-crop{background:#171815}
.editorial-excerpt--koha .editorial-crop img{width:154%;left:-27%;transform:translate(calc(var(--edit-x)*.65),calc(-42% + var(--edit-y)*.6))}
.editorial-excerpt:hover .editorial-crop img{filter:brightness(1.035)}
.editorial-excerpt-label{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:12px;font-size:17px;letter-spacing:-.5px}
.editorial-excerpt-label>span:first-child{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px 12px}
.editorial-excerpt-label small{font-size:6px;letter-spacing:.6px;color:var(--muted)}
.editorial-excerpt-label>.icon,.editorial-excerpt-label>span>.icon{width:19px;height:19px}
.editorial-project-note{margin-top:37px;padding-block:18px;border-top:1px solid var(--line)}
.editorial-project-note>a{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.5fr) auto;align-items:center;gap:9%;font-size:11px;line-height:1.7;color:var(--muted)}
.editorial-project-note .eyebrow{font-size:8px;color:var(--ink)}
.editorial-note-arrow{color:var(--ink)}.editorial-note-arrow>.icon{width:18px;height:18px}
.editorial-mobile-break{display:none}
.hero--editorial>.hero-foot{padding-block:18px}
@media(min-width:1550px){.editorial-crop{height:265px}.editorial-description{font-size:14px}.editorial-statement{font-size:36px}.editorial-excerpt-label small{font-size:7px}}
@media(max-width:1100px) and (min-width:761px){.hero--editorial h1{font-size:clamp(72px,11vw,116px)}.editorial-margin-note{font-size:9px;top:65px}.editorial-heading{padding-top:55px}.editorial-body{gap:6%;margin-top:45px;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr)}.editorial-crop{height:190px}.editorial-statement{font-size:28px}.editorial-description{font-size:12px}.editorial-excerpts{gap:13px}.editorial-excerpt-label{font-size:16px}.editorial-excerpt-label small{font-size:5.5px}.editorial-project-note>a{gap:6%;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr) auto}}
@media(max-width:760px){.hero--editorial{padding-top:23px}.editorial-heading{padding-top:47px}.hero--editorial h1{font-size:clamp(48px,12.6vw,92px);line-height:.94;letter-spacing:-.065em}.editorial-title-second{padding-right:0;gap:.14em;margin-top:.16em}.hero--editorial h1 em{font-size:1.13em;padding:.025em .12em .1em .07em}.editorial-margin-note{display:none}.editorial-body{display:flex;flex-direction:column;gap:35px;margin-top:35px}.editorial-intro{padding-top:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:0 22px;width:100%}.editorial-statement{font-size:25px;letter-spacing:-.4px;padding-top:1px}.editorial-description{font-size:11px;line-height:1.8;margin:0;max-width:310px}.editorial-intro .text-link{grid-column:1/-1;margin-top:23px;font-size:11px}.editorial-work{width:100%}.editorial-work-heading{font-size:7px;letter-spacing:.65px;margin-bottom:11px}.editorial-excerpts{grid-template-columns:1.15fr 1fr;gap:12px}.editorial-crop{height:180px}.editorial-excerpt-label{font-size:17px;gap:7px;padding-top:10px}.editorial-excerpt-label>span:first-child{display:block}.editorial-excerpt-label small{display:block;font-size:5.5px;margin-top:5px;letter-spacing:.3px}.editorial-excerpt-label>span>.icon{width:17px;height:17px}.editorial-project-note{margin-top:25px;padding-block:16px}.editorial-project-note>a{grid-template-columns:minmax(0,1fr) auto;gap:9px;font-size:10px;line-height:1.8}.editorial-project-note .eyebrow{grid-column:1/-1;font-size:7px}.editorial-note-arrow{grid-column:2;grid-row:2}.editorial-mobile-break{display:block}.hero--editorial>.hero-foot{font-size:6px;letter-spacing:.5px;gap:10px;padding-block:16px}.hero--editorial>.hero-foot>span:nth-child(2){display:none}}
@media(max-width:380px){.editorial-intro{display:block}.editorial-description{margin-top:17px;max-width:280px;font-size:12px}.editorial-statement{font-size:29px}.editorial-crop{height:155px}.editorial-excerpt-label{font-size:16px}.editorial-excerpt-label small{font-size:5px}}
@media(prefers-reduced-motion:reduce){.hero--editorial h1 em::before,.editorial-crop img{transition:none}}
/* Keep the supporting labels readable at their smallest size. */
.editorial-work-heading{font-size:9px}
.editorial-excerpt-label small{font-size:8px}
.editorial-project-note .eyebrow{font-size:9px}
@media(max-width:1100px) and (min-width:761px){.editorial-excerpt-label small{font-size:7px}}
@media(max-width:760px){.editorial-work-heading{font-size:8px}.editorial-excerpt-label small{font-size:7px;letter-spacing:.15px;line-height:1.5}.editorial-project-note .eyebrow{font-size:8px}.hero--editorial>.hero-foot{font-size:7px;letter-spacing:.2px}}

/* The quieter editorial revision keeps the right-hand area deliberately open. */
.hero--editorial-space .editorial-body{margin-top:-55px;min-height:310px}
.hero--editorial-space .editorial-intro{padding-top:0}
@media(max-width:1100px) and (min-width:761px){.hero--editorial-space .editorial-body{margin-top:12px;min-height:290px}}
@media(max-width:760px){.hero--editorial-space .editorial-body{margin-top:22px;min-height:300px}}
@media(max-width:380px){.hero--editorial-space .editorial-body{min-height:355px}}

/* Mobile refinement: keep the two pieces of copy together and release space on the right. */
@media(max-width:760px){
 .concept-editorial-tight .header{height:66px}
 .concept-editorial-tight .menu-toggle{width:44px;height:44px;padding:9px}
 .concept-editorial-tight .mobile-menu:not([hidden]){top:65px}
 .hero--editorial-tight{padding-top:17px}
 .hero--editorial-tight .editorial-heading{padding-top:28px}
 .hero--editorial-tight .editorial-body{margin-top:40px;min-height:204px}
 .hero--editorial-tight .editorial-intro{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:0 14px;width:90%;max-width:340px}
 .hero--editorial-tight .editorial-statement{font-size:clamp(20px,5.4vw,25px);line-height:1.1;letter-spacing:-.3px;white-space:nowrap}
 .hero--editorial-tight .editorial-description{margin:0;font-size:11px;line-height:1.8;max-width:none}
 .hero--editorial-tight .editorial-intro .text-link{margin-top:19px}
 .hero--editorial-tight .editorial-project-note{margin-top:15px;padding-block:14px}
 .hero--editorial-tight>.hero-foot{padding-block:13px}
}

/* A quieter studio direction: useful scope, one project story and deliberate type. */
.business-page .header{height:98px}
.hero--business{padding-top:29px}
.business-intro{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:80px;align-items:center;padding-block:51px 55px}
.hero--business h1{font-family:var(--sans);font-size:clamp(68px,7.45vw,118px);font-weight:450;line-height:.99;letter-spacing:-.065em;white-space:normal;overflow-wrap:normal}
.hero--business h1>span{display:block}
.hero--business h1>span:nth-child(2){padding-left:.9em}
.hero--business h1>em{display:block;font-family:var(--serif);font-size:1.08em;line-height:1.05;letter-spacing:-.045em;margin-top:.03em;white-space:nowrap}
.business-aside{border-left:3px solid #ffff00;padding:8px 0 8px 23px;max-width:330px;margin-top:49px}
.business-invitation{font-family:var(--serif);font-size:31px;line-height:1.08;letter-spacing:-.5px}
.business-description{font-size:13px;line-height:1.85;color:var(--muted);margin-top:23px;max-width:285px}
.business-primary{display:inline-flex;align-items:center;gap:21px;font-size:12px;font-weight:550;margin-top:25px;min-height:44px}
.business-primary .round-arrow{background:#ffff00;color:#21221e;border-color:#ffff00}
.business-primary .round-arrow>.icon{width:21px;height:21px}
.business-secondary{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--muted);margin-top:17px;min-height:28px;max-width:max-content}
.business-secondary>.icon{width:15px;height:15px}
.business-proof{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr) auto;align-items:center;gap:35px;border-top:1px solid var(--line);padding-block:28px 30px}
.business-proof>.eyebrow{font-size:8px;line-height:1.8;letter-spacing:.8px;color:var(--muted)}
.business-proof-name{display:inline-flex;align-items:center;gap:14px;font-size:46px;line-height:1;font-weight:650;letter-spacing:-2.5px;max-width:max-content}
.business-proof-name>span{color:#a2a500;line-height:1}
.business-proof-name .icon{width:24px;height:24px}
.business-proof>div>p{font-size:15px;line-height:1.6;letter-spacing:-.2px}
.business-proof>div>span{display:block;font-size:10px;line-height:1.7;color:var(--muted);margin-top:8px}
.business-proof-link{display:inline-flex;align-items:center;gap:15px;font-size:11px;min-height:44px}
.business-proof-link>.icon{width:17px;height:17px}
.hero--business>.hero-foot{font-size:8px;padding-block:16px}
.business-page .work{padding-top:87px}
.business-page .work .section-heading h2{font-size:61px}
.business-page .work-intro>p{max-width:430px}
.business-page .studio-stamp{display:none}
.business-page .contact-title h2{font-size:clamp(62px,7.4vw,112px)}
@media(min-width:1550px){.business-intro{padding-block:65px 70px}.business-description{font-size:14px}.business-invitation{font-size:36px}.business-proof{padding-block:34px}}
@media(max-width:1100px) and (min-width:761px){.business-intro{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:45px}.hero--business h1{font-size:clamp(60px,7.25vw,81px)}.business-aside{padding-left:18px;margin-top:28px}.business-invitation{font-size:27px}.business-description{font-size:12px;margin-top:19px}.business-primary{font-size:11px;gap:12px}.business-proof{gap:22px;grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1.4fr)}.business-proof-link{grid-column:3;padding-top:0;margin-top:-19px}.business-proof-name{font-size:39px}.business-proof>div>p{font-size:13px}.business-page .work .section-heading h2{font-size:51px}}
@media(max-width:760px){.business-page .header{height:70px}.business-page .mobile-menu:not([hidden]){top:69px}.hero--business{padding-top:18px}.hero--business .hero-eyebrow>.eyebrow{font-size:7px;letter-spacing:.55px}.hero--business .location{font-size:7px}.business-intro{display:block;padding-block:35px 32px}.hero--business h1{font-size:clamp(42px,12vw,82px);line-height:1.02;letter-spacing:-.06em}.hero--business h1>span:nth-child(2){padding-left:1em}.hero--business h1>em{font-size:1.08em;letter-spacing:-.045em;margin-top:.04em}.business-aside{margin-top:32px;padding:0 0 0 18px;max-width:440px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:20px}.business-invitation{font-size:25px;line-height:1.12;letter-spacing:-.4px}.business-description{margin:0;font-size:11px;line-height:1.8;max-width:250px}.business-primary{grid-column:1/-1;font-size:12px;gap:18px;margin-top:0}.business-primary .round-arrow{width:32px;height:32px}.business-secondary{display:none}.business-proof{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:13px 24px;padding-block:22px}.business-proof>.eyebrow{grid-column:1/-1;font-size:7px;line-height:1.6}.business-proof>.eyebrow>br{display:none}.business-proof-name{font-size:39px;gap:12px;letter-spacing:-2px}.business-proof-name .icon{width:20px;height:20px}.business-proof>div>p{font-size:11px;line-height:1.7}.business-proof>div>span{font-size:8px;margin-top:7px;line-height:1.7}.business-proof-link{grid-column:2;font-size:10px;gap:10px;min-height:32px;padding:0;margin-top:0}.hero--business>.hero-foot{font-size:7px;letter-spacing:.2px;gap:12px;padding-block:15px}.hero--business>.hero-foot>span:nth-child(2){display:none}.business-page .work{padding-top:57px}.business-page .work .section-heading h2{font-size:44px}.business-page .work-intro>p{font-size:12px;max-width:315px}.business-page .studio-text{padding-left:0}.business-page .contact-title h2{font-size:clamp(40px,9vw,68px)}.business-page .contact-arrow{font-size:54px;top:19px}}
@media(max-width:380px){.business-aside{display:block;max-width:300px}.business-description{margin-top:18px;font-size:12px;max-width:260px}.business-invitation{font-size:29px}.business-primary{margin-top:17px}.business-proof{gap:13px 17px}.business-proof-name{font-size:35px}.business-proof>div>p{font-size:10px}}

/* Let the desktop editorial dividers follow the copy's natural height. */
@media(min-width:761px){.hero--editorial-tight .editorial-body{min-height:auto}}

/* The full stop enlarged: same composition, square at a resting angle of 45°. */
.hero--square .sculpture{transform:rotate(45deg);animation:none}

/* Editorial-only polish: let Purlin's artwork define its height; simplify the stamp. */
.concept-editorial-tight .project[data-project="purlin"]>.project-image{aspect-ratio:auto;height:auto;background:#20251e}
.concept-editorial-tight .studio-stamp{border:1px solid var(--stamp-border);border-radius:0;transform:none;background:none}
.concept-editorial-tight .studio-stamp>*{display:none}

.work-index {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: 24px 7%;
  margin-top: clamp(44px, 7vw, 96px);
  padding-top: 22px;
  border-top: 1px solid var(--line);
}

.work-index h2 {
  font-size: clamp(24px, 3.5vw, 50px);
  letter-spacing: -.045em;
  line-height: 1.08;
}

.work-index-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.work-index-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 20px;
  align-items: baseline;
  gap: 6px 16px;
  min-width: 0;
  padding-block: 16px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  overflow-wrap: anywhere;
}

.work-index-row strong {
  font-size: clamp(17px, 2vw, 24px);
  font-weight: 500;
  line-height: 1.2;
  color: var(--ink);
}

.work-index-arrow {
  grid-column: 3;
  justify-self: end;
  color: var(--ink);
  transition: transform .2s;
}

.work-index-arrow .icon { width: 18px; height: 18px; }
.work-index-row:hover .work-index-arrow { transform: translate(2px, -2px); }

@media (max-width: 760px) {
  .work-index { grid-template-columns: 1fr; gap: 8px; }
  .work-index-row { grid-template-columns: minmax(0, 1fr) 20px; }
  .work-index-row > span:first-of-type { grid-row: 2; font-size: 13px; }
  .work-index-arrow { grid-column: 2; grid-row: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .work-index-arrow { transition: none; }
}
