@font-face{font-family:Jakarta;src:url('/assets/brand/fonts/PlusJakartaSans-Variable.ttf') format('truetype');font-weight:400 800;font-display:swap}
@font-face{font-family:Plex;src:url('/assets/brand/fonts/IBMPlexMono-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
:root{--canvas:#fafaf6;--yellow:#ffe500;--sky:#a9ddf3;--accent:#53b9e5;--ink:#171717;--gutter:32px;--header:88px;--gap:64px;--border:#bfc3c5}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 16px)}body{margin:0;background:var(--canvas);color:var(--ink);font:400 18px/1.6 Jakarta,Arial,sans-serif}body.menu-open,body.viewer-open{overflow:hidden}img{max-width:100%;height:auto}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1.5px}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:4px}h1,h2,h3,h4,p{margin:0}h1,h2{font-weight:800;letter-spacing:-.035em}h1{font-size:72px;line-height:1.04}h2{font-size:48px;line-height:1.12}h3{font-size:24px;line-height:1.25;letter-spacing:-.025em;font-weight:800}h4{font-size:20px;line-height:1.3;font-weight:800}p+p{margin-top:16px}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.container{width:min(calc(100% - 2 * var(--gutter)),1200px);margin-inline:auto}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--yellow);padding:12px 20px;font-weight:800}.skip-link:focus{top:12px}.spark{display:inline-block;width:45px;height:45px;stroke:var(--accent);stroke-width:4;vertical-align:baseline;margin-left:5px;overflow:visible}
.site-header{position:sticky;top:0;z-index:40;background:var(--canvas)}.header-inner{height:var(--header);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #909597;position:relative;gap:24px}.logo-link{display:flex;flex-shrink:0;align-items:center}.logo-link img{width:164px;height:62px;object-fit:contain}.desktop-nav{display:flex;gap:40px;align-items:center}.desktop-nav>a:not(.button){font-weight:800;text-decoration:none;padding:12px 0;position:relative}.desktop-nav>a[aria-current]:after{content:'';position:absolute;bottom:7px;left:0;right:0;height:4px;border-radius:4px;background:var(--accent)}.menu-trigger,.mobile-nav{display:none}
.button{display:inline-flex;justify-content:center;align-items:center;padding:0;border:0;background:none;border-radius:12px;text-decoration:none;font-size:16px;font-weight:800;line-height:1.25;min-height:48px;width:fit-content;vertical-align:middle;position:relative;isolation:isolate}.button-surface{pointer-events:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 20px;width:100%;border:3px solid var(--ink);border-radius:12px;background:var(--canvas);box-shadow:4px 4px 0 var(--ink);transition:transform 130ms ease-out,box-shadow 130ms ease-out,background 130ms ease-out}.button svg{width:20px;height:20px}.button.primary .button-surface{background:var(--yellow)}.button.hero-button .button-surface{min-height:52px}.button.compact,.button.compact .button-surface{min-height:44px}.button.compact .button-surface{padding:8px 16px}.button:active .button-surface,.button.is-pressed .button-surface{transition-duration:90ms;transform:translate(4px,4px) scale(.985);box-shadow:0 0 0 var(--ink)}.button:hover .button-surface{background:#eeeeea}.button.primary:hover .button-surface{background:#f5dc00}.actions{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.pill{display:inline-flex;align-items:center;border:2px solid var(--ink);border-radius:10px;box-shadow:2px 2px 0 var(--ink);padding:5px 12px;background:var(--canvas);font-size:14px;font-weight:700;line-height:1.4}.eyebrow{font-size:14px;font-weight:800;padding:7px 14px;margin-bottom:22px}.label{font:500 14px/1.4 Plex,monospace;text-transform:uppercase;letter-spacing:.1em;display:block;margin-bottom:10px}
.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:24px;align-items:center;padding-block:40px 42px}.hero h1{font-size:clamp(48px,5.3vw,72px);max-width:14ch}.hero-copy>p{max-width:50ch;margin-top:24px;line-height:1.5;font-size:20px}.hero .actions{margin-top:28px}.circled{position:relative;display:inline-block}.circled:after{content:'';position:absolute;left:-4%;top:8%;width:108%;height:103%;border:4px solid var(--accent);border-radius:50%;transform:rotate(-3deg);pointer-events:none;z-index:-1}.hero-art-wrap{min-width:0;align-self:center;position:relative;padding-bottom:44px}.hero-art{position:relative;aspect-ratio:3/2;isolation:isolate}.hero-backdrop{position:absolute;inset:3% 2% 0 4%;border-radius:25px;background:var(--sky);transform:rotate(-9deg);z-index:-1}.hero-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity 600ms ease}.hero-scene.active{opacity:1}.hero-art-wrap #motion-control{position:absolute;right:2px;bottom:-6px;font-size:12px;min-height:36px}.hero-art-wrap #motion-control .button-surface{padding:6px 12px;min-height:36px;border-width:2px;border-radius:20px;box-shadow:2px 2px 0 var(--ink)}
.marquee{background:var(--yellow);overflow:hidden;margin-top:8px;height:56px;display:flex;align-items:center}.marquee-track{display:flex;width:max-content;animation:marquee var(--marquee-duration,36s) linear infinite;animation-play-state:paused;will-change:transform}.marquee.running .marquee-track{animation-play-state:running}.marquee-group{display:flex;align-items:center;gap:45px;padding-right:45px;flex-shrink:0}.marquee span,.marquee b{font:500 18px/1.2 Plex,monospace;letter-spacing:.17em;text-transform:uppercase}.marquee b{font-size:23px}@keyframes marquee{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.page-flow{display:grid;gap:var(--gap);padding-block:48px 0}.home-flow{padding-top:56px}.intro{margin-top:16px;max-width:65ch}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:32px}.service-tile{display:flex;align-items:center;gap:16px;min-height:96px;padding:18px;border:1px solid #ccd0d2;border-radius:16px;text-decoration:none;line-height:1.25;font-weight:800;transition:background 150ms}.service-tile .service-icon{width:44px;height:44px;flex-shrink:0}.service-tile>svg{margin-left:auto;width:22px}.service-tile.tile-0,.service-tile.tile-2{background:var(--yellow);border-color:var(--yellow)}.service-tile.tile-1{background:var(--sky);border-color:var(--sky)}.service-tile:active{background:#e1e1d6}.service-tile span{flex:1}.section-action{text-align:center;margin-top:32px}.work-preview{border-top:1px solid var(--border);padding-top:32px}.business-grid{display:grid;gap:24px}.business-compact{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px;gap:16px}.business-card{padding:32px;border-radius:16px;border:1px solid #c7cbd0;position:relative}.card-0{background:var(--yellow);border-color:var(--yellow)}.card-1{background:var(--sky);border-color:var(--sky)}.business-card h3{font-size:40px;line-height:1.1}.business-card>p{margin-top:12px;max-width:50ch}.business-card .button{margin-top:24px}.business-compact .business-card{padding:24px;display:flex;align-items:flex-start;flex-direction:column}.business-compact h3{font-size:28px}.business-compact p{line-height:1.45;margin-bottom:20px}.business-compact .button{margin-top:auto}.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.business-full .business-card{min-height:270px;padding-right:240px;box-shadow:4px 4px 0 var(--ink);border:2px solid var(--ink)}.scribble-arrow{width:130px;height:80px;position:absolute;right:45px;top:calc(50% - 40px);stroke-width:3}
.closing{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:center;min-height:360px;border-radius:16px;background:var(--yellow);padding:40px;overflow:hidden}.closing h2{font-size:40px;line-height:1.1;max-width:21ch}.closing p{margin-block:16px 24px;max-width:50ch;line-height:1.5}.closing .spark{width:33px;height:33px}.closing-art{align-self:end;position:relative;isolation:isolate;max-width:340px}.closing-art:before{content:'';position:absolute;inset:-18px -35px -45px;background:var(--sky);border-radius:50% 50% 0 0;z-index:-1}.closing-art img{display:block;width:100%;height:260px;object-fit:contain;object-position:center bottom}.closing-text{grid-template-columns:1fr;text-align:center}.closing-text h2,.closing-text p{margin-inline:auto}.closing-text h2{max-width:24ch}.closing-text .actions{justify-content:center}.footer{margin-top:40px;border-top:1px solid #93999e;min-height:112px;padding-block:22px;display:flex;align-items:center;gap:40px;justify-content:space-between}.footer>a{display:flex}.footer img{width:144px;height:60px;object-fit:contain}.footer-links{display:flex;align-items:center;gap:40px}.footer-links a{display:flex;gap:10px;align-items:center;font-size:14px;font-weight:800}.footer-links svg{width:18px;height:18px}.footer-note{font-size:12px;line-height:1.3}
.page-intro h1{max-width:14ch}.page-intro>p{max-width:65ch;margin-top:20px}.service-intro{display:grid;grid-template-columns:1fr 220px;gap:40px;align-items:center}.service-intro h1{max-width:14ch}.service-intro p{margin-top:20px;max-width:52ch}.service-intro>img{height:220px;object-fit:contain}.service-stacks{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.service-detail{border-bottom:1px solid var(--border);scroll-margin-top:calc(var(--header) + 24px)}.service-detail summary{display:flex;gap:18px;align-items:center;min-height:88px;padding:16px 10px;list-style:none;cursor:pointer}.service-detail summary::-webkit-details-marker{display:none}.service-detail summary h2{font-size:23px;letter-spacing:-.025em;line-height:1.25;font-weight:800;flex:1}.service-icon{width:48px;height:48px;object-fit:contain}.chevron{width:24px;height:24px;transition:transform 180ms}.service-detail[open]{background:var(--sky);border-radius:16px;border-color:transparent;margin-block:8px}.service-detail[open] .chevron{transform:rotate(180deg)}.service-detail[open] summary{padding-inline:20px}.service-body{padding:4px 24px 24px;animation:disclose 180ms ease-out}.service-body ul{margin:14px 0 20px;padding-left:23px}.service-body li{margin-block:6px}.text-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:800;text-decoration-color:var(--ink)}.text-link svg{width:20px;height:20px}@keyframes disclose{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.about-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}.about-hero h1{font-size:64px;max-width:14ch}.about-hero p{max-width:47ch;margin-top:22px}.about-hero .actions{margin-top:28px}.about-art{background:var(--sky);border-radius:50% 50% 16px 16px;align-self:end}.about-art img{display:block;width:100%;height:auto}.partners>.intro{max-width:70ch}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:36px}.values h3{margin-top:16px}.values p{margin-top:12px}.contact-main{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:64px 40px;min-height:700px}.contact-main h1{font-size:60px}.contact-intro>p{margin-top:28px;font-size:20px;max-width:40ch}.underlined{position:relative;display:inline-block}.underlined:after{content:'';position:absolute;left:0;right:0;bottom:-10px;height:5px;border-radius:50%;background:var(--accent);transform:rotate(-1deg)}.contact-details{display:grid;gap:32px;align-content:start;padding-top:12px}.contact-link{display:block;max-width:100%;font-size:40px;font-weight:800;line-height:1.2;text-decoration:none;overflow-wrap:anywhere;letter-spacing:-.03em}.contact-link svg{display:inline;vertical-align:middle;width:32px;height:32px}.contact-details>p{margin:0}.contact-credit{font-size:14px}.email-link{font-size:clamp(28px,3.1vw,42px)}
.case-main{padding-top:36px}.case-intro .back-button{display:flex;margin-bottom:28px}.back-button svg{order:-1;transform:rotate(180deg)}.project-brand{font-size:20px;font-weight:800;padding:8px 16px;margin-bottom:24px}.case-intro h1{font-size:56px;max-width:21ch}.case-front{margin:24px 0 0!important;max-width:860px!important}.case-front p:first-child{font-size:20px;line-height:1.5}.case-front strong{font-weight:800}.reporting-note{font:400 13px/1.6 Jakarta,sans-serif;margin-top:24px;max-width:80ch}.chapter-nav{position:sticky;top:var(--header);z-index:30;height:56px;display:flex;gap:10px;align-items:center;overflow-x:auto;overflow-y:hidden;background:var(--canvas);margin-top:28px;margin-bottom:40px;padding:4px 5px 8px 1px;border-bottom:1px solid #c9c9c1;scrollbar-width:none}.chapter-nav::-webkit-scrollbar{display:none}.chapter-link{flex-shrink:0;min-height:40px;font-size:14px}.chapter-link .button-surface{min-height:40px;padding:7px 14px;border-width:2px;border-radius:10px;box-shadow:2px 2px 0 var(--ink)}.chapter-link svg{display:none}.chapter-link[aria-current] .button-surface{background:var(--yellow);text-decoration:underline;text-underline-offset:4px}.chapter-link:active .button-surface{transform:translate(2px,2px) scale(.985);box-shadow:0 0 0 var(--ink)}.case-chapters{display:grid;gap:56px}.case-chapter{scroll-margin-top:calc(var(--header) + 72px);min-width:0}.case-chapter>h2{font-size:36px;line-height:1.2;max-width:760px;margin:0 auto 24px;padding-top:10px;border-top:1px solid var(--border)}.case-chapter:first-child>h2{max-width:none;border:0;padding-top:0}.context-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:40px}.prose{max-width:760px;margin-inline:auto;min-width:0}.prose>*+*{margin-top:18px}.prose h3{font-size:26px;margin-bottom:16px}.prose h4{margin-top:24px}.prose ul{padding-left:24px}.prose p{overflow-wrap:break-word}.context-grid .prose{margin:0}.challenge{border-left:2px solid var(--ink);padding:0 0 0 28px}.challenge h3{margin-bottom:24px}.challenge .pill{background:var(--yellow);font-size:22px;padding:8px 14px}.challenge h4{margin-top:18px;font-size:20px}.challenge p{font-size:16px;line-height:1.6;margin-top:8px}.case-block+.case-block{margin-top:36px}.case-block h3{font-size:24px}.case-block>figure{margin:26px auto;max-width:600px}.case-block figure img{display:block;max-height:660px;width:100%;object-fit:contain;border-radius:12px}.media-open{display:block;position:relative;padding:0;border:0;background:transparent;width:100%;border-radius:12px;overflow:hidden}.media-open:hover .enlarge{background:var(--yellow)}.enlarge{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;justify-content:center;background:var(--canvas);border:2px solid var(--ink);width:36px;height:36px;border-radius:50%;font-size:22px;font-weight:800}.case-block figcaption{font-size:14px;line-height:1.5;margin-top:8px;color:#40403c}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-block:24px}.metric{background:var(--sky);border:2px solid var(--ink);border-radius:14px;padding:20px;line-height:1.4}.metric:nth-child(2n){background:var(--yellow)}.metric strong{display:block;font-size:36px;line-height:1.05;font-weight:800;letter-spacing:-.03em;margin-bottom:8px}.metric span{font-size:14px}.archive{max-width:1000px;margin:40px auto 0;border-top:1px solid var(--border);padding-top:24px}.archive>h3{font-size:30px}.archive>p{margin-top:12px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;margin-top:28px}.gallery-item img{width:100%;height:100%;object-fit:contain;display:block}.gallery-item .media-open{aspect-ratio:4/5;background:#ecece5;border:1px solid #ccc}.gallery-format{font:500 11px/1.4 Plex,monospace;display:block;margin-block:16px 8px}.gallery-item h4{font-size:18px}.gallery-item>p{font-size:13px;line-height:1.5;margin-top:8px}.gallery-item .text-link{font-size:14px;margin-top:10px}.next-project{border-top:1px solid var(--border);margin-top:40px;padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.case-main>.closing{margin-top:64px}.case-block a{overflow-wrap:anywhere}
#media-viewer{width:min(1100px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border:3px solid var(--ink);border-radius:16px;padding:20px;background:var(--canvas);overflow:auto}#media-viewer::backdrop{background:rgb(23 23 23 / .8)}.viewer-toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:20px}#viewer-image{display:block;width:100%;height:min(70dvh,850px);object-fit:contain}#viewer-caption{font-size:14px;margin:16px 0 0;text-align:center}.viewer-toolbar .button-surface{min-height:44px;padding:8px 14px}.viewer-toolbar .button{min-height:44px}
@media(min-width:768px) and (max-width:1100px){.desktop-nav{gap:22px}.hero{grid-template-columns:1fr 1fr}.hero .actions{gap:14px}.hero-copy>p{font-size:18px}.business-compact h3{font-size:23px}.business-compact .business-card{padding:20px}.service-tile{gap:12px;padding:14px}.service-tile .service-icon{width:36px}.service-tile span{font-size:16px}}
@media(max-width:1023px){:root{--gutter:24px;--header:80px;--gap:56px}h1{font-size:56px}h2{font-size:40px}.hero h1{font-size:52px}.closing{padding:32px;grid-template-columns:minmax(0,1fr) 240px;gap:24px;min-height:400px}.closing h2{font-size:36px}.closing-art img{height:220px}.closing-text{grid-template-columns:1fr}.contact-main{gap:40px}.contact-main h1{font-size:48px}.contact-link{font-size:32px}.email-link{font-size:30px}.about-hero h1{font-size:52px}.stats{grid-template-columns:repeat(2,1fr)}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-stacks{gap:24px}.service-detail summary h2{font-size:20px}.service-detail summary{gap:12px}.case-intro h1{font-size:48px}.footer-note{display:none}}
@media(max-width:767px){:root{--gutter:20px;--header:72px;--gap:40px}body{font-size:16px}h1{font-size:40px}h2{font-size:32px}h3{font-size:22px}.spark{width:34px;height:34px;stroke-width:4}.header-inner{gap:16px}.logo-link img{width:132px;height:52px}.desktop-nav{display:none}.menu-trigger{display:inline-flex;min-height:44px;font-size:15px}.menu-trigger .button-surface{min-height:44px;padding:8px 14px;border-width:2px}.menu-trigger svg{width:20px}.mobile-nav:not([hidden]){display:flex}.mobile-nav{position:fixed;inset:var(--header) 0 0;z-index:39;background:var(--canvas);padding:32px 20px;flex-direction:column;gap:12px;overflow:auto}.mobile-nav>a:not(.button){font-size:36px;font-weight:800;padding:10px 4px;text-decoration:none;border-bottom:1px solid var(--border)}.mobile-nav>a[aria-current]{text-decoration:underline;text-decoration-color:var(--accent)}.mobile-nav>.button{margin-top:24px}.hero{grid-template-columns:1fr;padding-block:28px 20px;gap:28px}.hero h1{font-size:40px;max-width:14ch}.hero h1 .spark{width:30px;height:30px}.hero-copy>p{font-size:16px;margin-top:24px;line-height:1.6}.hero .actions{flex-direction:column;align-items:stretch;margin-top:24px;gap:16px}.hero .actions .button{width:100%}.eyebrow{font-size:12px;margin-bottom:24px;padding:7px 10px;max-width:100%}.hero-art-wrap{padding:16px 0 50px;margin-top:10px}.hero-art{aspect-ratio:3/2}.hero-backdrop{inset:0 4% 0 4%;border-radius:20px}.hero-art-wrap #motion-control{bottom:0;right:0}.marquee{margin-top:14px;height:48px}.marquee-group{gap:24px;padding-right:24px}.marquee span,.marquee b{font-size:14px;letter-spacing:.12em}.page-flow{padding-top:32px}.home-flow{padding-top:40px}.service-grid{grid-template-columns:1fr;gap:12px;margin-top:24px}.service-tile{min-height:80px;padding:16px;font-size:18px;gap:18px}.service-tile .service-icon{width:42px;height:42px}.section-action{margin-top:28px}.section-action .button{width:100%}.work-preview{padding-top:24px}.business-compact{grid-template-columns:1fr;margin-top:24px;gap:16px}.business-card,.business-compact .business-card{padding:24px}.business-compact h3{font-size:28px}.business-compact p{margin-block:8px 14px}.business-compact .button{margin-top:0}.business-full .business-card{min-height:0;padding:24px}.business-card h3{font-size:36px;overflow-wrap:break-word}.pills{gap:10px;margin-top:20px}.pill{font-size:13px}.scribble-arrow{position:static;display:block;margin:24px auto 4px;width:110px;height:60px}.business-full .business-card>.button{margin-top:14px}.closing{grid-template-columns:1fr;min-height:0;padding:24px;gap:24px;overflow:hidden}.closing h2{font-size:30px;max-width:20ch}.closing p{font-size:16px;margin-block:16px 24px}.closing .actions{flex-direction:column;align-items:stretch;gap:16px}.closing .button{width:100%}.closing-art{width:100%;max-width:320px;justify-self:center;margin-top:16px}.closing-art img{height:200px}.closing-art:before{inset:-16px -30px -35px}.closing-text{text-align:left}.closing-text h2{margin:0}.closing-text .actions{justify-content:initial}.footer{margin-top:32px;padding-block:24px 32px;display:grid;grid-template-columns:1fr;gap:24px;min-height:0}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:20px}.footer-links a{font-size:14px;min-height:44px}.footer img{width:140px;height:56px}.service-intro{grid-template-columns:1fr;gap:20px}.service-intro h1{max-width:13ch}.service-intro p{margin-top:18px}.service-intro>img{height:180px;width:220px;justify-self:center}.service-stacks{grid-template-columns:1fr;gap:0}.service-detail summary{min-height:80px;padding-inline:4px;gap:16px}.service-detail summary h2{font-size:20px}.service-detail[open] summary{padding-inline:16px}.service-body{padding:4px 20px 24px}.service-icon{width:42px;height:42px}.about-hero{grid-template-columns:1fr;gap:32px}.about-hero h1{font-size:40px;max-width:14ch}.about-hero p{margin-top:22px}.about-hero .actions{flex-direction:column;align-items:stretch;gap:16px}.about-hero .button{width:100%}.about-art{margin-top:12px}.values{grid-template-columns:1fr;gap:24px;margin-top:28px}.values article+article{border-top:1px solid var(--border);padding-top:24px}.values h3{font-size:24px;margin-top:12px;max-width:14ch}.contact-main{grid-template-columns:1fr;gap:48px;padding-block:36px 16px;min-height:0}.contact-main h1{font-size:40px;max-width:14ch;line-height:1.08}.contact-intro>p{font-size:18px;margin-top:28px}.contact-details{padding-top:0;gap:32px}.contact-link{font-size:32px;line-height:1.25}.email-link{font-size:30px;overflow-wrap:anywhere}.label{font-size:13px}.contact-details .actions{flex-direction:column;align-items:stretch;gap:20px}.contact-details .button{width:100%;font-size:18px}.contact-details .button-surface{min-height:56px}.contact-credit{font-size:13px}.case-main{padding-top:24px}.case-intro .back-button{margin-bottom:24px}.project-brand{font-size:18px;margin-bottom:20px}.case-intro h1{font-size:38px;max-width:16ch}.case-front{margin-top:20px!important}.case-front p:first-child{font-size:18px}.reporting-note{font-size:12px;margin-top:20px}.chapter-nav{margin-top:24px;margin-bottom:32px;margin-inline:-1px;height:56px}.chapter-link,.chapter-link .button-surface{min-height:40px;font-size:13px}.chapter-link .button-surface{padding:7px 12px}.case-chapters{gap:40px}.case-chapter>h2{font-size:28px;margin-bottom:20px;padding-top:16px}.context-grid{grid-template-columns:1fr;gap:28px}.challenge{border-left:0;border-top:1px solid var(--border);padding:24px 0 0}.challenge h3{margin-bottom:20px}.challenge .pill{font-size:22px}.challenge p{font-size:16px}.case-block+.case-block{margin-top:28px}.case-block h3{font-size:23px}.case-block h4{font-size:20px}.stats{grid-template-columns:1fr;gap:12px}.metric{padding:18px 20px}.metric strong{font-size:36px;margin-bottom:6px}.metric span{font-size:16px}.case-block>figure{margin:24px auto}.case-block figure img{max-height:600px}.case-block figcaption{font-size:14px}.gallery-grid{grid-template-columns:1fr;gap:32px;margin-top:24px}.gallery-item h4{font-size:20px}.gallery-item>p{font-size:14px}.gallery-item .text-link{font-size:16px}.gallery-format{font-size:12px}.gallery-item .media-open{max-width:420px;margin-inline:auto}.next-project{align-items:flex-start;flex-direction:column;gap:12px}.next-project>.button{max-width:100%}.next-project .button-surface{white-space:normal}.case-main>.closing{margin-top:40px}#media-viewer{padding:14px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.viewer-toolbar{gap:8px}.viewer-toolbar .button{font-size:12px}.viewer-toolbar .button-surface{padding:8px;min-height:44px;border-width:2px}.enlarge{width:32px;height:32px}.business-full .spark{width:30px;height:30px}}
@media(max-width:360px){.hero h1{font-size:38px}.hero .eyebrow{font-size:11px}.button{font-size:14px}.hero .button-surface{padding-inline:12px}.business-card h3{font-size:32px}.closing h2{font-size:29px}.closing .button-surface{padding-inline:10px}.contact-main h1{font-size:36px}.email-link{font-size:28px}.case-intro h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.button:active .button-surface,.button.is-pressed .button-surface{transform:none}.marquee{height:auto;min-height:48px;padding:12px 20px}.marquee-track{display:block;width:100%;transform:none}.marquee-group{flex-wrap:wrap;gap:12px 20px;padding:0}.marquee-group[aria-hidden]{display:none}.hero-scene{transition:none}}
/* Keep the menu exclusive to small screens, after the shared button display rule. */
.site-header .menu-trigger{display:none}
@media(max-width:767px){.site-header .menu-trigger{display:inline-flex}}
.chapter-link,.chapter-link .button-surface{min-height:44px}
.hero-art-wrap #motion-control{min-height:44px}

.archive-jump{margin-bottom:32px}.archive{scroll-margin-top:calc(var(--header) + 72px)}
/* Anchor offsets belong to their targets, so they are applied exactly once. */
html{scroll-padding-top:0}
#main{scroll-margin-top:calc(var(--header) + 16px)}
/* Reserve room for each mark beside the last word, never on a separate line. */
.accent-word{position:relative;display:inline-block;white-space:nowrap;padding-inline-end:.8em}
.accent-word>.spark,.hero h1 .accent-word>.spark,.closing .accent-word>.spark,.business-full .accent-word>.spark{position:absolute;inset:0 0 auto auto;width:.76em;height:.76em;margin:0;transform:none;overflow:hidden;pointer-events:none}
/* Keep disclosure geometry stable while its full height animates. */
.service-detail{margin:0;transition:background-color 220ms ease,border-color 220ms ease,border-radius 220ms ease}
.service-detail[open]{margin-block:0}
.service-detail summary,.service-detail[open] summary{padding-inline:20px}
.service-body{animation:none}
.service-detail[data-expanded="false"]{background:transparent;border-color:var(--border);border-radius:0}
.service-detail[data-expanded="false"] .chevron{transform:rotate(0)}
@media(max-width:767px){
  .scribble-arrow{display:none}
  .service-detail summary,.service-detail[open] summary{padding-inline:16px}
  .business-full .business-card>.button{margin-top:24px}
}
/* Four registered illustration frames; the layout and surrounding art stay still. */
.character-art{position:relative;display:block;width:100%;aspect-ratio:3/2;isolation:isolate}
.character-art>img{display:block;width:100%;height:100%;max-height:none;object-fit:contain}
.character-frames{position:absolute;inset:0;background-repeat:no-repeat;background-size:200% 200%;background-position:0% 0%;opacity:0}
.character-art[data-loop-ready="true"]>.character-frames{opacity:1}
.character-art[data-loop-ready="true"]>img{opacity:0}
.hero-art>.character-art{position:absolute;inset:0;width:100%;height:100%}
.closing-art>.character-art{height:auto;width:100%;max-height:260px}
.closing-art .character-art>img{height:100%;max-height:none}
.about-art{position:relative}
.motion-toggle,.hero-art-wrap #motion-control{width:44px;height:44px;min-height:44px;flex-shrink:0}
.motion-toggle .button-surface,.hero-art-wrap #motion-control .button-surface{padding:0;width:44px;height:44px;min-height:44px;border:2px solid var(--ink);border-radius:50%;box-shadow:2px 2px 0 var(--ink);background:var(--canvas)}
.motion-toggle svg{width:20px;height:20px;stroke-width:3.2}
.motion-play-icon{display:none;fill:var(--ink);stroke:none}
.motion-toggle[aria-pressed="true"] .motion-pause-icon{display:none}
.motion-toggle[aria-pressed="true"] .motion-play-icon{display:block}
.motion-toggle:active .button-surface,.motion-toggle.is-pressed .button-surface{transform:translate(2px,2px) scale(.985);box-shadow:0 0 0 var(--ink)}
.motion-toggle:disabled{cursor:default}
@media(min-width:768px){
  .marquee-track{animation:none;transform:none;width:min(calc(100% - 2 * var(--gutter)),1200px);margin-inline:auto;display:block;will-change:auto}
  .marquee-group{width:100%;justify-content:space-between;gap:24px;padding:0}
  .marquee-group[aria-hidden="true"],.marquee-group>b:last-child{display:none}
}
@media(prefers-reduced-motion:reduce){
  .character-art[data-loop-ready="true"]>.character-frames{display:none}
  .character-art[data-loop-ready="true"]>img{opacity:1}
  .motion-toggle:active .button-surface,.motion-toggle.is-pressed .button-surface{transform:none}
}
/* A brief, comfortable form, with direct contact underneath. */
.contact-main{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start;padding-block:56px 32px}
.contact-intro{min-width:0}.contact-main h1{font-size:clamp(40px,4.5vw,60px);line-height:1.08;max-width:14ch}
.contact-intro .eyebrow{margin-bottom:24px}.contact-intro>p{max-width:33ch}
.contact-art{margin-top:48px;position:relative;isolation:isolate;max-width:470px}
.contact-art:before{content:'';position:absolute;inset:7% 1% 0;border-radius:50% 50% 18px 18px;background:var(--sky);z-index:-1}
.contact-panel{min-width:0}.enquiry-form{padding:32px;border:2px solid var(--ink);border-radius:20px;background:var(--canvas);box-shadow:5px 5px 0 var(--ink);display:grid;gap:22px}
.enquiry-form h2{font-size:30px;line-height:1.2}.enquiry-form .form-note{font-size:14px;line-height:1.6;margin-top:-10px;color:#4b4b45}
.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 16px}.form-field{display:grid;gap:8px;min-width:0}
.form-field label{font-size:14px;font-weight:800;line-height:1.5}.form-field label span{font-size:12px;font-weight:400}
.form-field input,.form-field select,.form-field textarea{font:400 16px/1.5 Jakarta,Arial,sans-serif;color:var(--ink);width:100%;max-width:100%;min-width:0;border:1.5px solid #93968f;border-radius:9px;background:#fff;padding:12px 14px;min-height:48px;transition:border-color 150ms,box-shadow 150ms}
.form-field textarea{resize:vertical;min-height:146px}.form-field input::placeholder,.form-field textarea::placeholder{color:#73736d;opacity:1}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--ink)}
.form-field [aria-invalid=true]{border-color:#9c2018;box-shadow:0 0 0 1px #9c2018}
.form-privacy{font-size:12px;line-height:1.5;color:#4b4b45;margin:0!important}
.form-submit{width:100%;font-size:18px}.form-submit .button-surface{min-height:54px}.form-submit:disabled{cursor:wait;opacity:.7}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.form-status{font-size:14px;line-height:1.6;padding:16px;border:1px solid var(--ink);border-radius:10px;background:var(--sky)}
.form-status[data-error=true]{background:#fff0e8;border-color:#9c2018}.form-status:focus{outline:2px solid var(--accent);outline-offset:3px}
.contact-direct{margin-top:32px;display:grid;gap:16px}.contact-direct>p{margin:0}.contact-direct>p:first-child{font-weight:800;font-size:18px}.contact-direct .actions{gap:16px}.contact-direct .button{flex:1}.contact-direct .contact-credit{font-size:13px}
@media(max-width:1023px) and (min-width:768px){.contact-main{gap:28px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.enquiry-form{padding:24px}.form-grid{grid-template-columns:1fr}.contact-main h1{font-size:42px}.contact-direct .button-surface{padding-inline:12px}}
@media(max-width:767px){.contact-main{grid-template-columns:1fr;gap:32px;padding-block:32px 16px}.contact-main h1{font-size:40px}.contact-intro>p{font-size:18px;margin-top:24px;max-width:34ch}.contact-art{display:none}.enquiry-form{padding:24px 20px;gap:22px;border-radius:16px}.enquiry-form h2{font-size:27px}.form-grid{grid-template-columns:1fr;gap:20px}.contact-direct{margin-top:32px}.contact-direct .actions{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-direct .button{width:100%}.contact-direct .button-surface{padding-inline:12px}.form-field label{font-size:14px}}
@media(max-width:360px){.contact-main h1{font-size:36px}.enquiry-form{padding:24px 16px}.enquiry-form h2{font-size:25px}}
