@font-face{font-family:Space;src:url('/assets/space-grotesk.ttf') format('truetype');font-display:swap;font-weight:400 700}
:root{--paper:#f2f1e9;--ink:#293f35;--muted:#54645b;--soft:#bed0b6;--glow:#eee8bb;--mid:#849b7b;--line:#bfc7b9;--deep:#355447;--pad:clamp(22px,4vw,76px);--ease:cubic-bezier(.23,1,.32,1)}html[data-palette=clay]{--paper:#f1e9df;--ink:#512f27;--muted:#795449;--soft:#d9ab93;--glow:#f1d1a1;--mid:#ae7963;--line:#d3b4a4;--deep:#884c3d}html[data-palette=ink]{--paper:#eaeaf0;--ink:#303545;--muted:#565d73;--soft:#b4bfd8;--glow:#ddd8e6;--mid:#818ead;--line:#b6bdcf;--deep:#383d51}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Space,Arial,sans-serif;transition:background-color .45s var(--ease),color .45s var(--ease)}::selection{background:var(--ink);color:var(--paper)}a{color:inherit;text-decoration:none;text-underline-offset:6px}button{font:inherit;color:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}h1,h2,h3,p{margin:0}h2,h3{font-weight:400;letter-spacing:-.04em;line-height:1.04;text-wrap:balance}h2{font-size:clamp(2.5rem,5.6vw,6rem)}h2>span{color:var(--muted)}h3{font-size:28px}p{max-width:60ch}svg{display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip{position:fixed;left:24px;top:-100px;z-index:9;padding:12px;background:var(--paper)}.skip:focus{top:14px}.site-header{position:fixed;left:var(--pad);right:var(--pad);top:30px;z-index:5;display:flex;align-items:center;gap:12px;pointer-events:none}.site-header>*{pointer-events:auto}.logo{font-size:38px;line-height:1;letter-spacing:-.04em;display:flex;align-items:center;font-weight:600;gap:3px}.logo-spark{font-size:24px;line-height:1}.site-header nav{display:flex;gap:6px;margin-left:auto}.site-header nav a{background:var(--deep);color:var(--paper);padding:10px 25px;border-radius:50px;min-height:44px;font-size:14px;transition:background .2s var(--ease),color .2s var(--ease)}.site-header nav a:hover{background:var(--ink)}.motion-toggle{border:1px solid var(--line);background:var(--paper);width:44px;height:44px;border-radius:50%;display:grid;place-items:center}.motion-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7}.motion-toggle[aria-pressed=true]{background:var(--ink);color:var(--paper)}.hero{padding:140px var(--pad) 0;min-height:100svh;display:flex;flex-direction:column}.hero-meta,.hero-baseline,.section-index{display:flex;justify-content:space-between;gap:24px;font-size:13px}.hero-meta{border-top:1px solid var(--line);padding-top:16px}.type-stage{margin:25px -8px 0;position:relative}.kinetic-type{width:100%;height:auto;overflow:visible}.kinetic-type text{font:600 246px/1 Space,Arial,sans-serif;fill:var(--paper);stroke:var(--ink);stroke-width:1.2;paint-order:stroke fill;letter-spacing:-9px}.kinetic-type .front-type{fill:var(--ink);stroke-width:0}.echoes{transform:translate(var(--type-x,0px),var(--type-y,0px));transform-origin:center;transition:transform .6s var(--ease)}.hero-bottom{display:grid;grid-template-columns:1.4fr 1fr .5fr;gap:40px;align-items:end;padding:30px 0 65px;margin-top:auto}.hero-bottom>p{font-size:clamp(26px,3.3vw,50px);line-height:1.12;letter-spacing:-.035em}.hero-bottom>p span{color:var(--muted)}.hero-description p{font-size:17px;line-height:1.5;margin-bottom:26px}.pill{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 24px;background:var(--deep);color:var(--paper);border-radius:50px;min-height:54px;font-size:14px}.button-dot{height:8px;width:8px;border-radius:50%;background:currentColor;transition:transform .2s var(--ease)}.pill:hover .button-dot{transform:scale(1.8)}.scroll-link{font-size:13px;justify-self:end;display:flex;align-items:center;gap:16px;writing-mode:vertical-rl}.scroll-line{height:70px;width:1px;background:var(--ink)}.hero-baseline{padding:18px 0;border-top:1px solid var(--line)}.section{padding:110px var(--pad)}.section-index{border-top:1px solid var(--line);padding-top:18px;margin-bottom:85px}.ambient{background:radial-gradient(ellipse at 15% 45%,var(--glow),transparent 55%),radial-gradient(ellipse at 80% 25%,var(--soft),transparent 65%),var(--paper)}.studio{padding-top:65px}.studio-intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.studio-intro>div{padding-top:8px}.studio-intro p{font-size:20px;margin-bottom:26px}.studio-intro .large-copy{font-size:clamp(25px,3vw,42px);line-height:1.2;letter-spacing:-.035em}.underlined{font-size:14px;display:inline-block;margin-top:10px;border-bottom:1px solid;padding-bottom:6px}.strengths{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:95px 0 0 20%}.strengths article{padding:18px 18px 30px;border:1px solid color-mix(in srgb,var(--paper) 65%,transparent);border-radius:30px;background:color-mix(in srgb,var(--paper) 45%,transparent)}.strength-art{height:170px;background:color-mix(in srgb,var(--paper) 65%,transparent);border-radius:20px;display:flex;align-items:center;justify-content:center;margin-bottom:26px;font-size:13px;position:relative}.strengths h3{font-size:20px;letter-spacing:-.025em;margin:0 10px 14px;line-height:1.2}.strengths p{font-size:15px;margin:0 10px;color:var(--muted)}.overlap span{width:90px;height:90px;background:var(--soft);border:1px solid var(--mid);border-radius:50%;display:grid;place-items:center}.overlap span+span{margin-left:-18px;background:color-mix(in srgb,var(--glow) 80%,transparent)}.balance{gap:12px}.balance i{position:absolute;left:25%;right:25%;top:100px;border-top:2px solid var(--mid);transform:rotate(-8deg)}.balance:after{content:'';width:8px;height:8px;background:var(--ink);border-radius:50%;position:absolute;top:96px}.scale{gap:8px;align-items:center}.scale i{display:block;width:60px;height:82px;border:1px solid var(--mid);border-radius:4px;background:var(--soft)}.scale i:nth-child(2){width:44px;height:62px;background:var(--glow)}.scale i:nth-child(3){width:25px;height:45px;background:var(--paper)}.editorial-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:65px}.editorial-heading>p,.editorial-heading>div{max-width:340px}.editorial-heading p{font-size:17px;color:var(--muted)}.project{width:78%;margin-bottom:95px}.project-clay{margin-left:auto;margin-bottom:0}.project-visual{position:relative;aspect-ratio:1.6;background:#293f35;overflow:hidden;border-radius:4px;color:#fcf9e9}.project-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#12251b99,#12251b22),linear-gradient(180deg,#12251b55,transparent 35%,#132a2088);pointer-events:none}.project-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease)}.project-brand,.project-headline,.project-note{position:absolute;z-index:1;left:5%;right:5%;text-shadow:0 2px 20px #14281d55}.project-brand{top:7%;display:flex;justify-content:space-between;align-items:center;gap:20px}.project-brand>span:first-child{font-size:26px;letter-spacing:-.04em}.project-brand>span:last-child{font-size:12px;letter-spacing:.1em}.project-headline{top:35%;font-size:clamp(36px,5.5vw,85px);line-height:1.05;letter-spacing:-.04em}.project-note{bottom:8%;font-size:13px}.project-clay .project-headline{font-family:Georgia,serif}.project-clay .project-brand>span:first-child{font-size:17px;letter-spacing:.05em}.project-caption{display:grid;grid-template-columns:1fr 1fr auto;gap:20px;align-items:baseline;margin:22px 0 18px}.project-caption h3{font-size:24px}.project-caption p,.project-caption>span{font-size:13px;color:var(--muted)}.project-palette{display:flex;height:7px;width:100%}.project-palette span{flex:1;background:var(--swatch)}.palette-lab{padding-top:50px}.palette-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.palette-options button{display:flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid var(--line);border-radius:30px;background:transparent;font-size:14px;min-height:44px}.palette-options button[aria-pressed=true]{border-color:var(--ink);background:var(--paper)}.palette-options i{width:14px;height:14px;border-radius:50%}.color-field{height:360px;display:flex;position:relative;border-radius:8px;overflow:hidden}.color-field>span{flex:1;transition:background-color .45s var(--ease)}.color-field>span:nth-child(1){background:var(--ink)}.color-field>span:nth-child(2){background:var(--deep)}.color-field>span:nth-child(3){background:var(--mid)}.color-field>span:nth-child(4){background:var(--soft)}.color-field>span:nth-child(5){background:var(--glow)}.color-field>div{position:absolute;bottom:35px;left:35px;color:var(--paper);font-size:clamp(22px,3vw,44px);line-height:1.1;letter-spacing:-.035em;max-width:38%}.services{background:color-mix(in srgb,var(--soft) 25%,var(--paper))}.service-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:12%}.service-list details{border-bottom:1px solid var(--line);padding:28px 0}.service-list details:first-child{padding-top:0}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:30px;min-height:44px}summary::-webkit-details-marker{display:none}.service-list summary{font-size:clamp(26px,3vw,44px);letter-spacing:-.035em;line-height:1.2}.toggle-mark{width:17px;height:17px;position:relative;flex-shrink:0}.toggle-mark:before,.toggle-mark:after{content:'';position:absolute;left:0;right:0;top:8px;height:1px;background:currentColor}.toggle-mark:after{transform:rotate(90deg);transition:transform .2s var(--ease)}details[open] .toggle-mark:after{transform:rotate(0)}.service-list details>div{padding:25px 40px 8px 0}.service-list p{font-size:18px;color:var(--muted)}.service-list details>div>span{display:block;font-size:13px;margin-top:22px}.process ol{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:0;padding:0;gap:60px}.process li>span{font-size:13px}.process h3{font-size:clamp(28px,3.2vw,46px);margin:32px 0 24px}.process p{color:var(--muted);font-size:16px;max-width:32ch}.faq{display:grid;grid-template-columns:1fr 1.25fr;gap:12%;padding-top:40px}.faq h2{font-size:clamp(34px,4.5vw,64px)}.faq details{padding:22px 0;border-bottom:1px solid var(--line)}.faq summary{font-size:18px}.faq details p{margin-top:20px;color:var(--muted)}.contact{padding-top:60px;padding-bottom:60px}.contact .section-index{margin-bottom:70px}.contact h2{font-size:clamp(50px,10.4vw,180px);letter-spacing:-.04em;line-height:.97}.contact h2 a{display:inline-block;position:relative;border-bottom:2px solid transparent}.contact h2 a:hover{border-color:currentColor}.contact-period{color:var(--mid)}.contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-top:65px}.contact-bottom p{font-size:20px}.contact-bottom .pill{font-size:16px}footer{padding:35px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line)}footer p,footer>span,footer>a:last-child{font-size:12px}.motion-paused *{animation:none!important;scroll-behavior:auto!important}.motion-paused .echoes{transform:none!important}@media(hover:hover) and (pointer:fine){.project:hover img{transform:scale(1.025)}}@media(min-width:1800px){.hero{padding-top:160px}.type-stage{max-width:1700px;width:100%;margin-left:auto;margin-right:auto}.section{padding-top:140px;padding-bottom:140px}}@media(max-width:1000px){.hero{min-height:auto}.hero-bottom{grid-template-columns:1fr 1fr auto;gap:20px;padding-bottom:50px}.strengths{margin-left:0}.studio-intro,.service-layout,.faq{gap:7%}.project{width:90%}.editorial-heading{gap:30px}.process ol{gap:30px}.site-header nav a{padding:10px 20px}.section-index{margin-bottom:60px}.section{padding-top:85px;padding-bottom:85px}.contact-bottom .pill{font-size:14px}}@media(max-width:650px){html{scroll-padding-top:100px}.site-header{top:20px;gap:7px}.logo{font-size:29px}.logo-spark{font-size:18px}.site-header nav{gap:4px}.site-header nav a{padding:9px 13px;min-height:40px;font-size:12px}.site-header nav a:nth-child(2){display:none}.motion-toggle{width:38px;height:38px}.motion-toggle svg{width:20px}.hero{padding-top:105px;min-height:85svh}.hero-meta{font-size:12px}.hero-meta span:first-child{max-width:150px}.type-stage{margin:65px -10px 45px}.kinetic-type{width:100%}.hero-bottom{grid-template-columns:1fr auto;align-items:start;padding:0 0 35px;gap:24px}.hero-bottom>p{font-size:29px;grid-column:1/-1}.hero-description p{font-size:15px}.hero-description .pill{padding:12px 20px;font-size:13px;gap:20px}.scroll-link{align-self:end;font-size:12px}.scroll-line{height:45px}.hero-baseline{font-size:12px}.section{padding-top:65px;padding-bottom:65px}.section-index{font-size:12px;margin-bottom:45px}.section-index>span:last-child{text-align:right;max-width:150px}.studio-intro,.service-layout,.faq{display:block}.studio-intro h2{font-size:54px;margin-bottom:35px}.studio-intro p{font-size:17px}.studio-intro .large-copy{font-size:26px}.strengths{grid-template-columns:1fr;margin-top:50px;gap:14px}.strengths article{display:grid;grid-template-columns:105px 1fr;padding:15px;gap:0 15px;border-radius:22px}.strength-art{height:115px;grid-row:1/3;margin:0;border-radius:14px;font-size:12px}.strengths h3{align-self:end;font-size:17px;margin:0 0 9px;letter-spacing:-.03em}.strengths p{font-size:14px;margin:0}.overlap span{height:58px;width:58px}.overlap span+span{margin-left:-17px}.balance{gap:5px;flex-direction:column}.balance i{top:90px;left:20%;right:20%}.balance:after{top:86px}.scale{gap:4px}.scale i{width:32px;height:52px}.scale i:nth-child(2){width:23px;height:39px}.scale i:nth-child(3){width:15px;height:28px}.editorial-heading{display:block;margin-bottom:35px}.editorial-heading h2{font-size:44px;margin-bottom:28px}.editorial-heading>p,.editorial-heading>div{max-width:none}.project{width:100%;margin-bottom:50px}.project-clay{margin-bottom:0}.project-visual{aspect-ratio:4/5}.project-brand{align-items:start}.project-brand>span:first-child{font-size:22px}.project-brand>span:last-child{font-size:12px;max-width:75px;text-align:right}.project-headline{font-size:44px;top:40%}.project-note{font-size:12px}.project-caption{grid-template-columns:1fr auto;gap:8px}.project-caption h3{font-size:23px}.project-caption p{font-size:12px;grid-column:1;grid-row:2}.project-caption>span{grid-column:2;grid-row:1;font-size:12px}.color-field{height:250px}.color-field>div{left:16px;bottom:24px;max-width:36%;font-size:21px}.service-layout h2{font-size:48px;margin-bottom:48px}.service-list summary{font-size:30px}.service-list p{font-size:17px}.process ol{grid-template-columns:1fr;gap:38px}.process li{border-bottom:1px solid var(--line);padding-bottom:30px}.process h3{margin:20px 0;font-size:37px}.process p{max-width:none}.faq h2{font-size:42px;margin-bottom:30px}.faq summary{font-size:16px}.faq details p{font-size:15px}.contact h2{font-size:11.6vw}.contact .section-index{margin-bottom:50px}.contact-bottom{display:block;margin-top:40px}.contact-bottom p{font-size:17px;margin-bottom:28px}.contact-bottom .pill{font-size:13px;gap:20px;padding:16px 20px}footer{display:grid;grid-template-columns:1fr 1fr;padding-top:28px;padding-bottom:28px}footer p{text-align:right}footer>a:last-child{text-align:right}footer>span{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.echoes{transform:none!important}}

.logo-spark{width:24px;height:24px;stroke:currentColor;stroke-width:2;fill:none}@media(max-width:650px){.logo-spark{width:18px;height:18px}.kinetic-type text{stroke-width:2.4}}@media(max-width:380px){.site-header nav a:first-child{display:none}.site-header nav a{padding:10px 14px}}

.site-header:before{content:"";position:absolute;inset:-10px -12px;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(12px);border-radius:40px;z-index:-1}

/* Expressive studio motion: decoration moves; reading stays steady. */
.hero{position:relative;isolation:isolate;overflow:hidden}.hero-meta,.hero-bottom,.hero-baseline{position:relative;z-index:2}.type-stage{z-index:1}.hero-orbit{position:absolute;right:8%;top:15%;width:clamp(220px,31vw,540px);aspect-ratio:1;pointer-events:none;z-index:0;opacity:.8}.hero-orbit>span{position:absolute;right:-8%;top:45%;font-size:12px;line-height:1.4;writing-mode:vertical-rl}.orbital-form{width:100%;height:100%;position:relative;transform-style:preserve-3d;animation:orbit-turn 24s linear infinite}.orbital-form i{position:absolute;inset:8%;border:1px solid var(--mid);border-radius:50%;transform:rotateY(calc(var(--ring)*15deg)) rotateX(25deg);background:linear-gradient(110deg,transparent 35%,color-mix(in srgb,var(--glow) 18%,transparent),transparent 65%)}
@keyframes orbit-turn{from{transform:perspective(900px) rotateX(-18deg) rotateZ(-25deg) rotateY(0)}to{transform:perspective(900px) rotateX(-18deg) rotateZ(-25deg) rotateY(360deg)}}
.kinetic-type text{animation:type-arrive 1.4s var(--ease) both;transform-box:fill-box;transform-origin:center}.kinetic-type text:nth-child(2){animation-delay:50ms}.kinetic-type text:nth-child(3){animation-delay:100ms}.kinetic-type text:nth-child(4){animation-delay:150ms}.kinetic-type text:nth-child(5){animation-delay:200ms}.kinetic-type text:nth-child(6){animation-delay:250ms}.kinetic-type text:nth-child(7){animation-delay:300ms}@keyframes type-arrive{from{opacity:0;transform:translateY(25%) skewY(8deg)}to{opacity:1;transform:translateY(0) skewY(0)}}
.type-ribbon{overflow:hidden;padding:25px 0;background:var(--ink);color:var(--paper);border-block:1px solid var(--mid)}.type-ribbon>div{display:flex;width:max-content;animation:ribbon-drift 32s linear infinite}.type-ribbon span{white-space:nowrap;font-size:clamp(30px,5.5vw,84px);font-weight:500;letter-spacing:-.045em;line-height:1.1;padding-right:35px}.type-ribbon i{font-style:normal;color:var(--soft);display:inline-block;margin:0 35px}@keyframes ribbon-drift{to{transform:translateX(-50%)}}
.nocturne{background:var(--ink);color:var(--paper);border-radius:48px 48px 0 0}.nocturne h2>span,.nocturne .editorial-heading p,.nocturne .project-caption p,.nocturne .project-caption>span{color:var(--soft)}.nocturne .section-index{border-color:var(--muted)}.nocturne .project-visual{border-radius:180px 6px 6px 6px}.nocturne .project-clay .project-visual{border-radius:6px 6px 180px 6px}.project-visual img{transform:scale(1.025)}.strengths article{transition:transform 250ms var(--ease),border-color 250ms ease}.pill{transition:transform 160ms var(--ease)}.pill:active,.palette-options button:active{transform:scale(.97)}.contact{position:relative;overflow:hidden;isolation:isolate}.contact:after{content:'';position:absolute;width:60vw;aspect-ratio:1;border:1px solid var(--mid);border-radius:50%;right:-18%;bottom:-35%;z-index:-1;box-shadow:0 0 0 35px color-mix(in srgb,var(--mid) 15%,transparent),0 0 0 70px color-mix(in srgb,var(--mid) 12%,transparent),0 0 0 105px color-mix(in srgb,var(--mid) 8%,transparent);animation:contact-drift 12s ease-in-out infinite alternate}@keyframes contact-drift{to{transform:translate(-8%,5%) scale(1.12)}}
.reveal-ready{opacity:0;transform:translateY(30px);transition:opacity 800ms var(--ease),transform 800ms var(--ease)}.reveal-ready.is-visible{opacity:1;transform:none}.strengths article:nth-child(2){transition-delay:60ms}.strengths article:nth-child(3){transition-delay:120ms}
@media(hover:hover) and (pointer:fine){.strengths article:hover{transform:translateY(-7px);border-color:var(--mid)}.project:hover img{transform:scale(1.07)}.pill:hover{transform:translateY(-3px)}}
@media(max-width:650px){.hero-orbit{width:230px;top:130px;right:8%;opacity:.65}.hero-orbit>span{display:none}.type-ribbon{padding:20px 0}.nocturne{border-radius:28px 28px 0 0}.nocturne .project-visual{border-top-left-radius:90px}.nocturne .project-clay .project-visual{border-bottom-right-radius:90px}.contact:after{width:90vw;bottom:-10%}}
.motion-paused .reveal-ready{opacity:1;transform:none}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused .kinetic-type text{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none}.kinetic-type text{opacity:1;transform:none}.orbital-form{transform:perspective(900px) rotateX(-18deg) rotateZ(-25deg) rotateY(35deg)}.type-ribbon>div{transform:none}}
