:root{--paper:#f4f5fa;--ink:#171923;--muted:#616677;--rule:#d9dce8;--soft:#e8ebf4;--accent:#3155f5;--acid:#d8e2ff;--hero-ink:#fff;--hero-soft:#d8e2ff;--stage:#17214f}
html[data-palette=plum]{--paper:#fbf4f5;--ink:#2c1829;--muted:#775d6b;--rule:#e6d6de;--soft:#f0e1e8;--accent:#68335c;--acid:#efc5d6;--hero-soft:#efc5d6;--stage:#301c32}
html[data-palette=citron]{--paper:#f5f6ef;--ink:#191d18;--muted:#666e5f;--rule:#dce0d3;--soft:#e8eddf;--accent:#d9f86b;--acid:#d9f86b;--hero-ink:#191d18;--hero-soft:#445621;--stage:#262d1e}
html[data-theme=dark]{--paper:#11141e;--ink:#f4f5fa;--muted:#aeb7cc;--rule:#343c50;--soft:#202737}
html[data-theme=dark][data-palette=plum]{--paper:#1c141d;--ink:#fff1f7;--muted:#c1aab8;--rule:#4c3547;--soft:#30222e}
html[data-theme=dark][data-palette=citron]{--paper:#141811;--ink:#f2f5e9;--muted:#b5c1a5;--rule:#3c4633;--soft:#242c1e}
body{transition:background .35s,color .35s}.site-header{position:sticky;top:0;height:82px;background:color-mix(in srgb,var(--paper) 93%,transparent);backdrop-filter:blur(18px)}.header-actions{gap:12px}.palette-picker{display:flex;gap:7px;align-items:center;padding:8px;border:1px solid var(--rule);border-radius:30px}.palette-picker button{width:15px;height:15px;border-radius:50%;padding:0;border:2px solid transparent;background:#3155f5;transition:transform .2s}.palette-picker [data-palette=plum]{background:#8a4577}.palette-picker [data-palette=citron]{background:#d9f86b}.palette-picker button[aria-pressed=true]{outline:1px solid var(--ink);outline-offset:3px}.palette-picker button:hover{transform:scale(1.18)}
.hero{color:var(--hero-ink);position:relative;padding:54px 5% 70px;background:var(--accent);transition:background .4s}.hero:before{content:'';position:absolute;width:680px;height:680px;border:1px solid currentColor;border-radius:50%;right:-270px;top:-350px;opacity:.15;pointer-events:none}.hero-main{grid-template-columns:1.2fr 1fr;gap:6%;padding:20px 0;min-height:550px}.hero h1{font-size:clamp(65px,7.1vw,112px);line-height:1.02;letter-spacing:-.075em}.hero h1 em{color:var(--hero-soft);white-space:nowrap;font-size:.94em}.hero-intro{display:block;max-width:460px;margin-top:32px}.hero-intro p{max-width:420px;line-height:1.65;font-size:16px}.hero-cta{display:inline-flex;border-color:color-mix(in srgb,var(--hero-ink) 45%,transparent);gap:45px;margin-top:24px;font-size:15px}.hero-cta:hover{gap:58px}.client-strip{padding:25px 5%;display:block}.client-strip>div{width:100%;justify-content:space-between;gap:35px}.client-strip b{font-size:20px}.work-stage{position:relative;min-width:0;padding:30px 0;perspective:1400px;isolation:isolate}.stage-window{position:relative;background:var(--stage);border:1px solid #ffffff35;border-radius:18px;box-shadow:0 28px 65px #0003;transform:rotate(-4deg) rotateY(var(--tilt-x,0deg)) rotateX(var(--tilt-y,0deg));transition:transform .65s var(--ease);height:370px;overflow:hidden}.stage-slide{position:absolute;inset:0 0 56px;display:flex;flex-direction:column;opacity:0;transform:translateX(50px) scale(.93);transition:opacity .65s,transform .8s var(--ease);pointer-events:none;color:#fff}.stage-slide.is-active{opacity:1;transform:translateX(0) scale(1);pointer-events:auto;z-index:2}.stage-slide>img{width:100%;height:230px;object-fit:cover;object-position:top;transition:transform 5s linear}.stage-slide[data-stage="0"]>img{object-position:center}.stage-slide.is-active>img{transform:scale(1.045)}.stage-caption{padding:17px 22px;position:relative;background:var(--stage)}.stage-caption strong{display:block;font:500 22px/1.2 var(--display);letter-spacing:-.04em}.stage-caption>span{font-size:12px;color:#cbd4ef;display:block;margin-top:7px}.stage-controls{position:absolute;bottom:0;left:0;right:0;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-top:1px solid #ffffff25;color:#fff;z-index:5}.stage-controls>div{display:flex;gap:5px}.stage-controls button{background:none;color:#cbd4ef;font:12px var(--body);padding:7px 9px;border-radius:6px}.stage-controls button[aria-pressed=true]{background:#ffffff20;color:#fff}.stage-controls #motion-toggle{border:1px solid #ffffff35;font-size:11px}.stage-sticker{position:absolute;right:-16px;bottom:-58px;background:var(--acid);color:#192040;padding:20px 52px 20px 20px;font:500 24px/1 var(--display);letter-spacing:-.04em;transform:rotate(7deg);border-radius:3px;box-shadow:0 10px 20px #0002;z-index:6;pointer-events:none}.stage-sticker em{font-size:22px}.stage-sticker svg{width:30px;height:30px;position:absolute;right:12px;top:22px;fill:none;stroke:currentColor;stroke-width:3}.stage-orbit{width:105%;aspect-ratio:1;position:absolute;left:-4%;top:-40px;border:1px dashed #ffffff35;border-radius:50%;animation:orbit 70s linear infinite;z-index:-1}.stage-orbit:after{content:'';width:18px;height:18px;background:var(--hero-soft);border-radius:50%;position:absolute;top:15%;left:12%}@keyframes orbit{to{transform:rotate(360deg)}}
.section{padding-top:95px;padding-bottom:95px}.section-heading{margin-bottom:42px}.showcase-grid{gap:56px 32px}.project-visual{border-radius:14px;isolation:isolate}.project-caption{padding-top:20px}.project-caption>div{display:flex;flex-direction:column}.project-caption>div>span{order:2;margin-top:12px;font-size:13px;text-transform:none;letter-spacing:0}.project-caption h3{font-size:clamp(24px,2.5vw,36px);max-width:22ch}.showcase-delta .project-visual{background:#dbe5ff;color:#172455}.showcase-hl .project-visual{background:#132f2c;color:#d9fff0}.showcase-hl .hl-title{font-size:clamp(40px,4.1vw,61px);padding-top:4px}.showcase-hl .receipt-stack{top:190px;left:7%;width:92%;transform:rotate(-5deg);background:none;padding:0;border-radius:10px;overflow:hidden;box-shadow:0 14px 40px #0005}.receipt-stack img{width:100%;height:220px;object-fit:cover}.showcase-artflow .project-visual{background:#eedcfa;color:#55296b}.showcase-w2 .project-visual{background:#f2b997;color:#532713}.showcase-writing .project-visual{background:#ded9f8;color:#342653}.showcase-reptrack .project-visual{background:#cedbcf;padding:25px;display:flex;align-items:center}.showcase-product-image{width:100%;border-radius:8px;box-shadow:0 20px 40px #16261825;transform:rotate(-5deg) scale(1.08);transition:transform .7s var(--ease)}.showcase-reptrack:hover .showcase-product-image{transform:rotate(0) scale(1.02)}.showcase-card .open-project{border-radius:30px;backdrop-filter:blur(14px);background:#ffffffcb;color:#17202b;padding:9px 15px;bottom:20px;left:auto;right:20px}.endpoint.end i{transform-origin:bottom;animation:grow 1.3s var(--ease) both}@keyframes grow{from{transform:scaleY(.01)}to{transform:scaleY(1)}}.approach-band{background:var(--soft)}.entry-source{display:block;margin-top:12px;text-transform:none;letter-spacing:0}.writing-entry>div{display:flex;flex-direction:column}.writing-entry .entry-source{order:3}.writing-entry h3{font-size:clamp(24px,2.6vw,38px)}.writing-entry:hover h3{color:var(--accent)}.writing-entry:hover{padding-left:15px}.product-grid{gap:32px}.product-tile,.all-products .product-tile,.lab-section .product-tile{background:var(--soft);color:var(--ink);border:1px solid var(--rule);border-radius:15px;padding:28px;overflow:hidden;box-shadow:none}.product-preview{display:block;margin:-28px -28px 27px;position:relative;overflow:hidden;background:#121821;aspect-ratio:1.55}.product-preview img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .8s var(--ease)}.product-preview:hover img{transform:scale(1.07)}.product-preview>span{position:absolute;bottom:14px;right:14px;background:#fff;color:#161921;font-size:12px;border-radius:30px;padding:8px 13px;box-shadow:0 3px 18px #0002}.all-products .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.all-products .product-tile h3{font-size:38px;letter-spacing:-.055em}.all-products .product-tile>p{font-size:16px;max-width:50ch}.product-story{border-color:var(--rule)}.product-story p,.product-story small{color:var(--muted)}.product-page-hero{background:var(--soft);position:relative;overflow:hidden}.product-page-hero:after{content:'↗';position:absolute;right:10%;top:15%;font:300 clamp(150px,22vw,320px) var(--display);color:var(--accent);transform:rotate(-12deg);pointer-events:none}.product-page-hero p{max-width:540px}.archive-hero h1{font-size:clamp(65px,8vw,118px)}.case-detail summary:hover .case-identity strong{color:var(--accent)}.social-gallery{align-items:flex-start;gap:26px}.social-post{flex:0 0 400px;transform:none!important;padding:0;border:1px solid var(--rule);border-radius:14px;overflow:hidden;background:#fff;color:#15181d;box-shadow:0 8px 30px #11182709}.social-post img{width:100%;height:auto;object-fit:contain;filter:none}.social-post>span{padding:16px 20px;font:13px var(--body);display:flex;justify-content:space-between}.source-link{flex-basis:220px;background:var(--soft);color:var(--ink)}.post-link-card{padding:24px}.post-link-card strong{font-size:14px}.post-link-card p{font:500 24px var(--display);margin:20px 0}.post-link-card span{font-size:13px;color:var(--muted)}.press-grid img{filter:none;border-radius:10px}.site-footer{color:var(--hero-ink);background:var(--accent);padding-top:45px}.site-footer h2 em{color:var(--hero-soft)}.footer-cta{border-color:currentColor}.footer-bottom{border-color:color-mix(in srgb,currentColor 25%,transparent)}
html[data-motion=paused] .stage-orbit{animation-play-state:paused}html[data-motion=paused] .stage-slide>img{transition:none;transform:none}.motion-in{animation:enter-card .55s var(--ease)}@keyframes enter-card{from{opacity:.2;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.site-header nav{gap:18px}.contact-link{display:none}.hero-main{gap:4%;min-height:480px}.hero h1{font-size:7.4vw}.stage-window{height:335px}.stage-slide>img{height:200px}.stage-caption strong{font-size:19px}.stage-sticker{font-size:20px;right:0}.stage-sticker em{font-size:19px}.stage-orbit{top:0}.client-strip>div{flex-wrap:wrap;justify-content:center}.product-page-hero:after{opacity:.2;right:5%}.all-products .product-tile h3{font-size:32px}}
@media(max-width:700px){.site-header{height:auto;min-height:78px;flex-wrap:wrap;padding:14px 6%;gap:12px}.wordmark{font-size:27px}.site-header nav{order:3;width:100%;justify-content:space-between;font-size:12px;gap:12px}.header-actions{margin-left:auto;gap:10px}#theme-toggle{width:28px;height:28px}.palette-picker{gap:9px}.palette-picker button{width:14px;height:14px}.hero{padding:35px 6% 65px}.hero-main{display:block;padding:0}.hero h1{font-size:clamp(52px,11vw,78px)}.hero h1 em{white-space:normal}.hero-intro{margin-top:24px}.hero-intro p{font-size:15px}.hero-cta{margin-top:19px}.work-stage{margin:28px 0 10px;padding:12px 7px;max-width:470px}.stage-window{height:330px;transform:rotate(-3deg)}.stage-slide>img{height:195px}.stage-caption{padding:15px 18px}.stage-caption strong{font-size:22px}.stage-sticker{bottom:-48px;right:0;padding:12px 45px 12px 15px;font-size:18px}.stage-sticker em{font-size:18px}.stage-sticker svg{top:14px;width:25px;height:25px}.stage-orbit{width:90%;top:-10px;left:5%}.client-strip{padding:25px 6%}.client-strip>div{gap:20px 28px}.client-strip b{font-size:16px}.section{padding:62px 6%}.showcase-grid{gap:34px}.project-visual{min-height:365px}.showcase-hl .hl-title{font-size:45px}.showcase-hl .receipt-stack{top:165px}.receipt-stack img{height:190px}.project-caption h3{font-size:27px}.all-products .product-grid,.lab-section .product-grid{grid-template-columns:1fr}.all-products .product-tile,.lab-section .product-tile{padding:24px}.product-preview{margin:-24px -24px 23px}.product-page-hero:after{display:none}.social-post{flex-basis:min(85vw,380px)}.source-link{flex-basis:220px}.social-post img{height:auto}.archive-hero h1{font-size:clamp(57px,11vw,78px)}.site-footer{padding-top:32px}.site-footer h2{margin-top:12px}.archive-section{padding-top:30px}.writing-section{padding-bottom:25px}.showcase-card:hover .showcase-product-image{transform:rotate(-5deg) scale(1.08)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.stage-window{transform:none}.stage-slide>img{transform:none!important}}
.post-archive{border-top:1px solid var(--rule);margin-top:28px;padding-top:22px}.post-archive summary{cursor:pointer;font-size:15px;display:flex;justify-content:space-between;list-style:none}.post-archive>div{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-top:30px}.post-archive h3{font-size:20px;margin-bottom:15px}.post-archive section>a{display:block;font-size:13px;padding:7px 0;color:var(--muted)}.post-archive section>a:hover{color:var(--accent)}@media(max-width:700px){.post-archive>div{grid-template-columns:1fr 1fr}}
