@font-face{font-family:SourceSerif;src:url('assets/fonts/source-serif-4.woff2') format('woff2');font-weight:200 900;font-display:swap}
@font-face{font-family:Archivo;src:url('assets/fonts/archivo.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:PlexMono;src:url('assets/fonts/ibm-plex-mono.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--cream:#f5f2e9;--bone:#ede9df;--forest:#173c32;--ink:#172a23;--sage:#b9c9ac;--rule:rgba(23,60,50,.3);--serif:SourceSerif,Georgia,serif;--sans:Archivo,Arial,sans-serif;--mono:PlexMono,Consolas,monospace;--ease:cubic-bezier(.44,0,.56,1);--gutter:48px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{margin:0;background:var(--cream);color:var(--forest);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body:has(dialog[open]),body.menu-is-open{overflow:hidden}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;color:inherit}
button{border:0;border-radius:0;background:none}
button:disabled{cursor:default}
a{color:inherit;text-decoration:none}
p,h1,h2,h3{margin:0}
img{display:block;max-width:100%}
svg{display:block;flex-shrink:0}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #598b66;outline-offset:5px}
[hidden]{display:none!important}
::selection{background:var(--forest);color:var(--cream)}
.svg-library{position:absolute;width:0;height:0;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:100;top:12px;left:12px;background:var(--forest);color:var(--cream);padding:16px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.wrap{width:calc(100% - var(--gutter)*2);max-width:1504px;margin-inline:auto}
.eyebrow{font:400 11px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.06em}
.header{position:sticky;top:0;z-index:40;background:var(--cream)}
.header-inner{width:calc(100% - var(--gutter)*2);max-width:1504px;margin:auto;height:100px;display:flex;align-items:center;border-bottom:1px solid var(--rule);gap:36px}
.wordmark{display:flex;align-items:center;gap:9px;flex-shrink:0}
.brand-mark{width:45px;height:45px}
.wordmark>span{font:750 25px/.98 var(--sans);letter-spacing:-.035em}
.wordmark small{display:block;font:500 10px/1 var(--mono);letter-spacing:.36em;margin-top:7px}
.desktop-nav{display:flex;align-items:center;gap:clamp(20px,3.1vw,50px);margin-left:auto}
.desktop-nav a{font:400 11px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;position:relative;padding:15px 0;white-space:nowrap}
.desktop-nav a:after{content:'';position:absolute;bottom:8px;left:0;right:0;height:1px;background:var(--forest);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{transform:scaleX(1)}
.header-actions{display:flex;gap:13px;align-items:center}
.icon-button{display:grid;place-items:center;width:44px;height:44px;padding:9px}
.icon-button svg{width:27px;height:27px}
.menu-toggle{display:none;position:relative}
.mobile-menu{display:none}
.hero{height:430px;display:grid;place-items:center;padding-bottom:26px;position:relative}
.hero h1{font:400 clamp(42px,4.1vw,62px)/1.13 var(--serif);letter-spacing:-.035em;text-align:center;position:relative}
.hero-accent{position:relative;white-space:nowrap}
.hero-accent>svg{position:absolute;left:-4%;width:111%;bottom:-13px;height:28px;overflow:visible;fill:none;stroke:#568463;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.hero-accent path{stroke-dasharray:650;stroke-dashoffset:0}
.hero-muncher{position:absolute;right:-68px;bottom:2px;width:57px;height:57px;transform:rotate(-8deg);color:var(--forest)}
.moving-jaw{transform-origin:34px 100px}
.stories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;padding:16px}
.tile{position:relative;min-width:0;aspect-ratio:1/1}
.tile:before,.tile:after{content:'';position:absolute;pointer-events:none}
.tile:before{inset:-16px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.tile:after{inset:0 -16px;border-left:1px solid var(--rule);border-right:1px solid var(--rule)}
.tile-link{position:relative;display:block;width:100%;height:100%;overflow:hidden;background:var(--forest);color:var(--cream);text-align:left;padding:0;isolation:isolate}
.tile-image{position:absolute;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.image-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,19,12,.26),rgba(3,19,12,.02) 37%,rgba(3,19,12,.78));transition:opacity .3s var(--ease)}
.tile-kicker{position:absolute;left:25px;top:25px;display:flex;align-items:center;gap:9px;font:400 12px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.035em;z-index:2}
.category-icon{position:relative;width:16px;height:16px;display:block}
.category-icon i{position:absolute;inset:1px;border-radius:50%;background:currentColor;transition:opacity .3s var(--ease)}
.category-icon svg{position:absolute;inset:-2px;width:21px;height:21px;opacity:0;transform:rotate(-30deg);transition:opacity .3s var(--ease),transform .3s var(--ease)}
.tile-caption{position:absolute;bottom:32px;left:28px;right:28px;transition:transform .25s var(--ease);z-index:2}
.tile-caption h2{font:400 clamp(26px,2.75vw,43px)/1.12 var(--serif);letter-spacing:-.025em}
.tile-caption p{margin-top:12px;font-size:14px;line-height:1.5}
.tile-action{position:absolute;bottom:26px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;font:12px var(--mono);text-transform:uppercase;letter-spacing:.04em;opacity:0;transform:translateY(12px);transition:opacity .25s var(--ease),transform .4s cubic-bezier(.2,.7,.2,1);z-index:2}
.tile-action svg{width:23px;height:23px}
.tile-link:focus-visible{outline-offset:4px}
.tile-link:focus-visible .tile-caption{transform:translateY(-40px)}
.tile-link:focus-visible .tile-action{opacity:1;transform:none}
.tile-link:focus-visible .category-icon i{opacity:0}
.tile-link:focus-visible .category-icon svg{opacity:1;transform:none}
.studio-tile .tile-link{color:var(--forest);background:#d9ddcf}
.studio-art{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 5%,#e7e8dc 0,transparent 60%),#d1d7c9;overflow:hidden}
.studio-art:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(15deg,transparent 0,transparent 3px,#53654704 3px,#53654704 4px);pointer-events:none}
.paper-card{position:absolute;width:62%;aspect-ratio:1.73;box-shadow:0 22px 25px -11px #20332958,1px 2px 3px #22382926;transition:transform .5s var(--ease);font-family:var(--sans)}
.paper-back{top:17%;left:27%;transform:rotate(12deg);padding:22px 25px;background:var(--bone);color:var(--forest);display:flex;flex-direction:column;align-items:flex-start}
.paper-back>svg{width:47px;height:47px;position:absolute;right:22px;top:20px}
.paper-back>span{font:400 clamp(16px,2.05vw,28px)/1.1 var(--serif);margin-top:6px;letter-spacing:-.035em}
.paper-back>small{font:8px var(--mono);margin-top:auto;letter-spacing:.14em}
.paper-front{top:32%;left:9%;transform:rotate(-12deg);padding:23px;background:var(--forest);color:var(--bone);display:flex;flex-direction:column;justify-content:space-between}
.paper-brand{display:flex;align-items:center;gap:6px}
.paper-brand>svg{width:29px;height:29px}
.paper-brand>span{font-size:13px;font-weight:750;letter-spacing:-.03em}
.paper-brand small{display:block;font:6px var(--mono);letter-spacing:.3em;margin-top:2px}
.paper-front>p{font:400 clamp(15px,1.8vw,25px)/1.06 var(--serif);letter-spacing:-.025em;margin:9px 0}
.paper-front>small{display:flex;justify-content:space-between;width:100%;font:8px var(--mono)}
.studio-tile .tile-caption{bottom:33px}
.studio-tile .tile-caption h2{font-family:var(--serif)}
.studio-tile .tile-caption p{font-size:13px}
.ai-tile .tile-image{object-position:58% center;filter:saturate(.55)}
.inspection-tile .tile-image,.tile-video{object-position:center 28%;filter:saturate(.48)}
.tile-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.video-control{position:absolute;top:15px;right:15px;z-index:4;width:36px;height:36px;border:1px solid #f5f2e977;color:var(--cream);background:#173c3255;border-radius:50%;font-size:14px;display:grid;place-items:center}
.video-control:hover{background:var(--forest)}
.inspection-tile .tile-caption h2{font-family:var(--sans);font-weight:500;letter-spacing:-.045em}
.education-tile .tile-link{background:#bcc9ad;color:var(--forest)}
.education-art{position:absolute;inset:0;overflow:hidden;background:linear-gradient(120deg,#cbd5bc,#aabda1)}
.edu-frame{position:absolute;top:15%;left:31%;width:45%;height:57%;border-radius:50% 50% 0 0;background:#729078;box-shadow:inset 13px 6px 22px #263e3140;overflow:hidden}
.edu-stair{position:absolute;width:70%;height:16%;background:#e1e5d6;border-top:1px solid #f4f2e9;box-shadow:0 -5px 12px #233d2920;transform:skewY(-12deg);transform-origin:left bottom;transition:transform .5s var(--ease)}
.s1{bottom:-2%;left:0}.s2{bottom:13%;left:22%}.s3{bottom:28%;left:44%}.s4{bottom:43%;left:66%}.s5{bottom:58%;left:88%}
.edu-mark{position:absolute;width:62px;height:62px;top:17%;left:28%;color:var(--cream);transform:rotate(-9deg)}
.education-note{position:absolute;left:12%;top:28%;font:9px var(--mono);letter-spacing:.18em;writing-mode:vertical-rl;transform:rotate(180deg)}
.editorial{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:16px;margin-top:0}
.small-tile .tile-kicker{left:22px;top:22px;font-size:10px}
.small-tile .tile-caption{left:24px;right:24px;bottom:26px}
.small-tile .tile-caption h2{font-size:clamp(22px,2vw,30px)}
.small-tile .tile-caption p{font-size:12px;margin-top:10px}
.small-tile .tile-action{left:24px;right:24px;bottom:24px;font-size:10px}
.work-tile .tile-image{filter:saturate(.6);object-position:60% center}
.manifesto-tile .tile-link{background:var(--forest)}
.manifesto-art{position:absolute;top:23%;left:24px;font:650 clamp(28px,3vw,48px)/1.05 var(--sans);letter-spacing:-.055em}
.manifesto-art>span{display:block}
.outlined-word{-webkit-text-stroke:1px var(--sage);color:transparent}
.manifesto-tile .tile-caption h2{font-size:20px}
.identity-tile .tile-link{background:#dedbcf;color:var(--forest)}
.identity-art{position:absolute;inset:0}
.mini-card{position:absolute;top:22%;left:12%;width:76%;aspect-ratio:1.7;transform:rotate(-9deg);background:var(--cream);box-shadow:10px 21px 22px #173c3227,0 1px 1px #173c3214;display:flex;align-items:center;justify-content:center;gap:7px;transition:transform .5s var(--ease)}
.mini-card>svg{width:45px;height:45px}
.mini-card>span{font-size:21px;font-weight:750;letter-spacing:-.05em}
.mini-card small{display:block;font:8px var(--mono);letter-spacing:.27em;margin-top:5px}
.mini-card i{position:absolute;bottom:12px;right:16px;font:7px var(--mono)}
.no-script-card{display:grid;place-items:center;height:100%;background:var(--bone)}
.approach{position:relative;padding:108px 16px 105px;display:grid;grid-template-columns:1fr 3fr;gap:32px;overflow:hidden}
.section-label{padding-top:12px}
.approach h2{font:400 clamp(32px,3.4vw,51px)/1.16 var(--serif);letter-spacing:-.035em;max-width:900px}
.approach h2 em{font-style:normal;color:#618064}
.approach-copy{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:35px;max-width:760px}
.approach-copy p{font-size:15px;line-height:1.65;max-width:350px}
.approach-mark{position:absolute;width:150px;height:150px;left:10px;bottom:47px;opacity:.1;transform:rotate(-12deg)}
.education-section{background:var(--forest);color:var(--cream);margin-top:2px}
.education-inner{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:76px 16px 72px}
.education-intro h2{font:400 clamp(40px,4.6vw,66px)/1.05 var(--serif);letter-spacing:-.04em;margin:30px 0 26px}
.education-intro>p{max-width:350px;font-size:15px;line-height:1.6;color:#e0e6d9}
.development-label{display:inline-flex;align-items:center;gap:9px;margin-top:33px;border:1px solid #b9c9ac66;padding:8px 11px;font:10px var(--mono);text-transform:uppercase;letter-spacing:.04em}
.development-label>span{width:6px;height:6px;background:var(--sage);border-radius:50%}
.education-projects article{padding:0 0 30px;border-bottom:1px solid #b9c9ac55}
.education-projects article+article{padding-top:25px}
.project-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px;color:var(--sage)}
.project-top>svg{width:25px;height:25px}
.project-top .eyebrow{font-size:10px}
.education-projects h3{font:400 29px/1.1 var(--serif);letter-spacing:-.02em;margin-bottom:15px}
.education-projects article p{font-size:14px;line-height:1.65;color:#e0e6d9;max-width:470px}
.development-note{font:11px/1.6 var(--mono);color:var(--sage);margin-top:22px;max-width:420px}
.directory{padding:87px 16px 83px}
.directory-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding-bottom:35px}
.directory-heading h2{font:400 39px/1.2 var(--serif);letter-spacing:-.035em}
.directory-heading>.eyebrow{font-size:10px}
.business-row{position:relative;border-top:1px solid var(--rule);display:flex;align-items:center;gap:28px}
.business-row:last-child{border-bottom:1px solid var(--rule)}
.business-row>a{display:grid;grid-template-columns:1.1fr 1fr 25px;align-items:center;gap:24px;flex:1;padding:29px 0;min-width:0}
.business-name{font:400 27px/1.2 var(--serif);letter-spacing:-.025em}
.business-desc{font-size:13px;line-height:1.5}
.business-desc small{display:block;font:9px var(--mono);text-transform:uppercase;letter-spacing:.04em;opacity:.75;margin-top:4px}
.business-row>a>svg{width:23px;height:23px;transition:transform .3s var(--ease)}
.business-row>a:hover>svg{transform:translate(3px,-3px)}
.business-row:last-child>a:hover>svg{transform:translateX(4px)}
.business-row>a:hover .business-name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.card-preview-button{font:10px var(--mono);text-transform:uppercase;border:1px solid var(--rule);padding:10px 13px;transition:background .25s var(--ease),color .25s var(--ease)}
.card-preview-button:hover{background:var(--forest);color:var(--cream)}
.footer{border-top:1px solid var(--rule);padding:50px 16px 24px}
.footer-main{display:grid;grid-template-columns:1.25fr 1fr 1.25fr .7fr;gap:35px;align-items:start}
.footer-wordmark{margin-top:3px}
.footer-column h2{font-weight:400;font-size:10px;margin-bottom:20px}
.footer-column>a{display:block;font-size:13px;line-height:1.8;margin-bottom:7px;width:max-content;max-width:100%}
.footer-column>a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-column>a>span{padding-left:8px;opacity:.6}
.footer-motion>.eyebrow{font-size:10px;display:block}
.motion-toggle{display:flex;align-items:center;gap:10px;padding:0;margin-top:20px;text-transform:uppercase;font:10px var(--mono)}
.toggle-track{position:relative;width:37px;height:19px;border:1px solid var(--forest);border-radius:20px}
.toggle-track i{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--forest);left:4px;top:3px;transition:transform .25s var(--ease)}
[data-motion=off] .toggle-track i{transform:translateX(16px)}
[data-motion=on] .motion-off,[data-motion=off] .motion-on{opacity:.4}
.motion-note{font:10px/1.5 var(--mono);margin-top:12px;max-width:150px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:70px;padding-top:21px;border-top:1px solid var(--rule);font:10px/1.5 var(--mono)}
.footer-bottom>a span{font-size:16px;padding-left:10px}
dialog{border:0;padding:0;background:var(--cream);color:var(--forest);max-height:calc(100dvh - 40px);overflow-y:auto;box-shadow:0 25px 100px #071a2350}
dialog::backdrop{background:#0b251ddd;backdrop-filter:blur(5px)}
dialog[open]{animation:dialog-in .3s var(--ease)}
.dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--rule);margin:0 30px;padding:16px 0}
.dialog-bar h2{font-weight:400}
.cross{position:relative;width:24px;height:24px}
.cross:before,.cross:after{content:'';position:absolute;left:0;top:12px;width:25px;height:1px;background:currentColor;transform:rotate(45deg)}
.cross:after{transform:rotate(-45deg)}
.search-dialog{width:850px}
.search-field{margin:30px;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--forest);padding:12px 0 22px}
.search-field svg{width:28px;height:28px}
.search-field input{border:0;background:none;min-width:0;width:100%;color:var(--forest);font:400 31px var(--serif);border-radius:0;outline:none}
.search-field:focus-within{box-shadow:0 1px 0 var(--forest)}
.search-field input::placeholder{color:#778277}
#search-count{margin:0 30px 12px;opacity:.8}
#search-results{padding:0 30px 35px;min-height:100px}
.search-result{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0;border-bottom:1px solid var(--rule)}
.search-result h3{font:400 25px var(--serif)}
.search-result p{font:12px/1.5 var(--sans);margin-top:5px}
.search-result svg{width:24px;height:24px;transition:transform .3s}
.search-result:hover>svg{transform:translateX(5px)}
.search-empty{padding:20px 0;font-size:15px;line-height:1.6}
.card-dialog{width:800px}
.card-scene{perspective:1200px;padding:55px 40px 38px;overflow:hidden}
.preview-card{position:relative;width:100%;max-width:580px;aspect-ratio:1.73;margin:auto;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.25,.6,.2,1);transform:rotate(-4deg)}
.preview-card.is-flipped{transform:rotate(-4deg) rotateY(180deg)}
.preview-face{position:absolute;inset:0;padding:32px;background:var(--forest);color:var(--bone);backface-visibility:hidden;box-shadow:0 19px 35px #173c3230;display:flex;flex-direction:column;justify-content:space-between}
.preview-brand{display:flex;align-items:center;gap:12px;font:750 28px/1 var(--sans);letter-spacing:-.025em}
.preview-brand>svg{width:51px;height:51px}
.preview-brand span{display:block;font:11px var(--mono);letter-spacing:.23em;margin-top:8px}
.preview-front>p{font:400 31px/1.15 var(--serif);max-width:330px;letter-spacing:-.025em}
.preview-front>span{font:10px var(--mono)}
.card-corner{position:absolute;bottom:27px;right:30px;width:24px;height:24px}
.preview-back{background:var(--bone);color:var(--forest);transform:rotateY(180deg);align-items:center;justify-content:center;border:1px solid #173c3220}
.preview-back>svg{width:120px;height:120px}
.preview-back>p{font:400 25px var(--serif);margin-top:8px}
.preview-back>span{position:absolute;bottom:23px;font:10px var(--mono);letter-spacing:.2em}
.preview-controls{margin:8px 40px 30px;display:flex;align-items:center;justify-content:space-between}
.flip-card{padding:12px 15px;border:1px solid var(--rule);font:11px var(--mono);text-transform:uppercase}
.flip-card>span{margin-left:25px;font-size:19px;line-height:.5}
.flip-card:hover{background:var(--bone)}
.preview-bottom{display:flex;align-items:center;justify-content:space-between;gap:32px;margin:0 30px;padding:25px 0 30px;border-top:1px solid var(--rule)}
.preview-bottom>p{font-size:13px;line-height:1.6;max-width:400px}
.preview-bottom>a{font:11px var(--mono);display:flex;gap:12px;align-items:center;text-transform:uppercase;flex-shrink:0}
.preview-bottom svg{width:24px;height:24px}
@keyframes dialog-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes draw-bite{from{stroke-dashoffset:650}to{stroke-dashoffset:0}}
@keyframes jaw-bite{0%,12%,54%,100%{transform:rotate(0)}28%{transform:rotate(14deg)}42%{transform:rotate(-3deg)}}
@keyframes crumb-pulse{0%,10%,45%,100%{opacity:1;transform:translateX(0)}25%{opacity:.3;transform:translateX(3px)}}
@keyframes hero-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.js[data-motion=on] .hero h1{animation:hero-in .8s var(--ease) both}
.js[data-motion=on] .hero-accent path{animation:draw-bite 1.3s var(--ease) .35s both}
.hero-trail{--bite-cycle:2.4s}
.js[data-motion=on] .moving-jaw{animation:jaw-bite var(--bite-cycle) var(--ease) .8s infinite}
.js[data-motion=on] .hero-trail>i{animation:crumb-pulse var(--bite-cycle) var(--ease) .8s infinite}
.js[data-motion=on] .hero-trail>i:nth-child(2){animation-delay:1s}
.js[data-motion=on] .hero-trail>i:nth-child(3){animation-delay:1.2s}
.js[data-motion=on] .reveal{transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js[data-motion=on] .reveal:not(.is-visible){opacity:0;transform:translateY(22px)}
@media(hover:hover) and (pointer:fine){
  .tile-link:hover .tile-image{transform:scale(1.035)}
  .tile-link:hover .tile-caption{transform:translateY(-40px)}
  .tile-link:hover .tile-action{opacity:1;transform:none}
  .tile-link:hover .category-icon i{opacity:0}
  .tile-link:hover .category-icon svg{opacity:1;transform:none}
  .tile-link:hover .paper-front{transform:translate(-3px,-45px) rotate(-15deg)}
  .tile-link:hover .paper-back{transform:translate(4px,-35px) rotate(15deg)}
  .tile-link:hover .mini-card{transform:translateY(-5px) rotate(-4deg)}
  .tile-link:hover .edu-stair{transform:skewY(-8deg) translateY(-3px)}
}
@media(min-width:1600px){.hero{height:450px}}
@media(max-width:1100px){
  :root{--gutter:32px}
  .header-inner{gap:20px;height:92px}.wordmark>span{font-size:22px}.brand-mark{width:40px;height:40px}.desktop-nav{gap:22px}.desktop-nav a{font-size:10px}.hero{height:380px}
  .paper-card{padding:18px}.paper-back>svg{width:36px;height:36px;right:17px;top:16px}.paper-front>p{font-size:20px}.paper-brand>span{font-size:11px}.paper-front>small,.paper-back>small{font-size:7px}
  .tile-kicker{left:22px;top:22px;font-size:11px}.tile-caption{left:24px;right:24px}.tile-caption p{font-size:12px}.small-tile .tile-kicker{left:16px;top:18px;font-size:9px}.small-tile .tile-caption{left:18px;right:18px}.small-tile .tile-caption h2{font-size:23px}.small-tile .tile-caption p{font-size:10px}.small-tile .tile-action{left:18px;right:18px}
  .manifesto-art{left:18px;font-size:34px}.manifesto-tile .tile-caption h2{font-size:18px}.mini-card>span{font-size:16px}.mini-card>svg{width:33px;height:33px}.mini-card small{font-size:7px}.identity-tile .tile-caption h2{font-size:22px}
  .approach{grid-template-columns:1fr 2.6fr;padding-block:80px}.education-inner{gap:60px;padding-block:60px}.business-name{font-size:24px}.business-row>a{grid-template-columns:1.15fr 1fr 20px;gap:20px}.business-desc{font-size:11px}.card-preview-button{font-size:9px;padding:10px}.footer-main{gap:22px;grid-template-columns:1.2fr .8fr 1.3fr .7fr}.footer-wordmark>span{font-size:20px}.footer-wordmark .brand-mark{width:34px;height:34px}
}
@media(max-width:850px){
  :root{--gutter:24px}.header-inner{height:80px;gap:15px}.desktop-nav{display:none}.header-actions{margin-left:auto}.menu-toggle{display:block}.menu-toggle span{position:absolute;left:9px;width:27px;height:1px;background:var(--forest);transition:transform .3s var(--ease),opacity .3s var(--ease),top .3s var(--ease)}.menu-toggle span:nth-child(1){top:12px}.menu-toggle span:nth-child(2){top:22px}.menu-toggle span:nth-child(3){top:32px}.menu-toggle[aria-expanded=true] span:nth-child(1){top:22px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){top:22px;transform:rotate(-45deg)}
  .mobile-menu{display:flex;flex-direction:column;position:fixed;inset:80px 0 0;z-index:35;background:var(--cream);padding:0 24px 35px;overflow-y:auto;animation:dialog-in .3s var(--ease)}
  .mobile-menu>a{font:400 25px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.015em;border-bottom:1px solid var(--rule);padding:26px 0;display:flex;justify-content:space-between;gap:20px}.mobile-menu>a>svg{width:27px;height:27px}.mobile-menu>.eyebrow{margin-top:36px;font-size:10px}.menu-mark{width:95px;height:95px;margin-top:auto;padding-top:20px;min-height:95px}
  .hero{height:340px}.hero h1{font-size:44px}.hero-muncher{width:43px;height:43px;right:-51px;bottom:5px}.hero-accent>svg{bottom:-11px;height:23px}
  .tile-caption h2{font-size:28px}.tile-kicker{font-size:10px;left:18px;top:18px}.tile-caption{left:20px;right:20px;bottom:25px}.tile-caption p{font-size:11px}.paper-card{width:70%;padding:16px}.paper-back{left:23%;top:17%}.paper-front{left:6%;top:31%}.paper-front>p{font-size:19px}.paper-back>span{font-size:19px}.paper-brand>svg{width:23px;height:23px}.paper-brand>span{font-size:10px}.paper-brand small{font-size:6px}.paper-back>svg{width:31px;height:31px;top:14px;right:13px}.edu-frame{height:53%;top:14%}.edu-mark{width:43px;height:43px}.education-note{font-size:7px}
  .editorial{gap:24px;padding-inline:12px}.editorial .tile:before{inset:-12px 0}.editorial .tile:after{inset:0 -12px}.small-tile .tile-kicker{font-size:8px;gap:5px;left:13px}.small-tile .category-icon{width:12px;height:12px}.small-tile .category-icon svg{width:17px;height:17px}.small-tile .tile-caption{left:14px;right:14px;bottom:19px}.small-tile .tile-caption h2{font-size:20px}.small-tile .tile-caption p{font-size:9px}.manifesto-art{left:15px;font-size:27px;top:26%}.manifesto-tile .tile-caption h2{font-size:16px}.small-tile .tile-action{font-size:9px;left:14px;right:14px;bottom:18px}.mini-card>span{font-size:13px}.mini-card>svg{width:26px;height:26px}.mini-card small{font-size:5px}.mini-card i{font-size:5px;bottom:8px}
  .approach{grid-template-columns:1fr;padding:65px 16px;gap:24px}.approach h2{font-size:36px}.approach-mark{display:none}.approach-copy{margin-top:25px;gap:25px}.approach-copy p{font-size:14px}.education-inner{gap:35px;padding:55px 16px}.education-intro h2{font-size:48px}.education-projects h3{font-size:26px}.education-projects article p,.education-intro>p{font-size:13px}.development-note{font-size:10px}.project-top .eyebrow{font-size:9px}
  .directory{padding:60px 16px}.directory-heading{align-items:flex-start;flex-direction:column;gap:12px}.directory-heading h2{font-size:35px}.business-row{gap:12px}.business-row>a{grid-template-columns:1fr 24px;gap:5px 20px;padding-block:24px}.business-desc{grid-column:1;grid-row:2}.business-row>a>svg{grid-column:2;grid-row:1/3}.business-name{font-size:26px}.card-preview-button{font-size:8px}
  .footer{padding-top:35px}.footer-main{grid-template-columns:1fr 1fr;gap:40px 30px}.footer-wordmark{grid-column:1/-1}.footer-motion{grid-column:1/-1}.footer-bottom{margin-top:40px;font-size:9px;flex-wrap:wrap}.footer-bottom>p:nth-child(2){display:none}
}
@media(max-width:600px){
  html{scroll-padding-top:95px}.header-inner{height:76px}.wordmark{gap:5px}.wordmark>span{font-size:22px}.wordmark small{font-size:8px;letter-spacing:.3em;margin-top:5px}.brand-mark{width:35px;height:35px}.header-actions{gap:2px}.icon-button{width:40px;height:44px}.icon-button svg{width:25px;height:25px}.menu-toggle span{left:7px;width:26px}.mobile-menu{top:76px}
  .hero{height:267px;padding:0 20px 21px}.hero h1{font-size:36px;line-height:1.14;max-width:290px;letter-spacing:-.035em}.hero h1>br{display:none}.hero-accent{display:inline-block}.hero-muncher{width:33px;height:33px;right:-17px;bottom:2px;transform:rotate(-8deg) translateX(100%)}.hero-accent>svg{height:19px;bottom:-9px}
  .stories{padding:8px;grid-template-columns:1fr;gap:16px}.tile:before{inset:-8px 0}.tile:after{inset:0 -8px}.tile-kicker{top:18px;left:18px;font-size:10px;gap:7px}.category-icon{width:13px;height:13px}.category-icon svg{width:18px;height:18px}.tile-caption{left:22px;right:22px;bottom:51px}.tile-caption h2{font-size:29px;line-height:1.06}.tile-caption p{font-size:11px;margin-top:8px}.tile-action{opacity:1;transform:none;left:22px;right:22px;bottom:18px;font-size:9px}.tile-action svg{width:19px;height:19px}.tile-link:focus-visible .tile-caption{transform:none}
  .studio-tile .tile-caption{bottom:53px}.studio-tile .tile-caption p{font-size:11px}.paper-card{width:63%;padding:15px}.paper-back{top:17%;left:29%}.paper-front{top:29%;left:8%}.paper-front>p{font-size:18px;margin-block:8px}.paper-front>small,.paper-back>small{font-size:6px}.paper-back>span{font-size:18px}.paper-back>svg{width:29px;height:29px;top:13px;right:13px}.paper-brand>span{font-size:10px}.paper-brand>svg{width:23px;height:23px}.paper-brand small{font-size:5px}
  .education-art .edu-frame{top:13%;height:51%;width:41%;left:36%}.education-note{left:15%;top:24%}.education-tile .tile-caption h2{font-size:29px}.edu-mark{width:40px;height:40px}
  .editorial{grid-template-columns:1fr;gap:16px;padding:8px;margin-top:0}.editorial .tile:before{inset:-8px 0}.editorial .tile:after{inset:0 -8px}.small-tile .tile-kicker{left:18px;top:18px;font-size:10px;gap:7px}.small-tile .category-icon{width:13px;height:13px}.small-tile .tile-caption{left:22px;right:22px;bottom:52px}.small-tile .tile-caption h2{font-size:29px}.small-tile .tile-caption p{font-size:11px}.small-tile .tile-action{left:22px;right:22px;bottom:18px;font-size:9px}.manifesto-art{left:24px;top:24%;font-size:42px}.manifesto-tile .tile-caption h2{font-size:23px}.mini-card{top:22%;width:72%;left:14%}.mini-card>span{font-size:20px}.mini-card>svg{width:43px;height:43px}.mini-card small{font-size:8px}.mini-card i{font-size:7px;bottom:11px}
  .approach{padding:60px 8px 56px;gap:20px}.section-label{font-size:10px;padding:0}.approach h2{font-size:34px;line-height:1.14}.desktop-break{display:none}.approach-copy{grid-template-columns:1fr;gap:17px;margin-top:23px}.approach-copy p{font-size:14px;line-height:1.6}.education-inner{grid-template-columns:1fr;gap:42px;padding:45px 8px}.education-intro h2{font-size:51px;margin:24px 0}.education-intro>p{font-size:14px}.development-label{margin-top:23px}.education-projects h3{font-size:29px}.education-projects article p{font-size:14px}.project-top .eyebrow{font-size:9px}.education-projects article{padding-bottom:24px}.education-projects article+article{padding-top:22px}.development-note{font-size:10px}
  .directory{padding:50px 8px 55px}.directory-heading{padding-bottom:25px}.directory-heading h2{font-size:33px}.directory-heading>.eyebrow{font-size:9px}.business-row{flex-wrap:wrap;gap:0;align-items:flex-start;padding-bottom:20px}.business-row>a{width:100%;flex:auto;padding:20px 0 10px}.business-name{font-size:25px}.business-desc{font-size:12px}.business-desc small{font-size:8px}.card-preview-button{font-size:9px;padding:8px 10px}.footer{padding:32px 8px 25px}.footer-main{gap:35px 20px;grid-template-columns:.8fr 1.2fr}.footer-column>a{font-size:12px;line-height:1.7;margin-bottom:9px}.footer-column h2{font-size:9px;margin-bottom:16px}.footer-wordmark>span{font-size:25px}.footer-wordmark .brand-mark{width:43px;height:43px}.footer-motion{display:flex;align-items:center;gap:24px}.motion-toggle{margin:0}.motion-note{font-size:9px}.footer-bottom{gap:20px;font-size:8px;margin-top:34px}
  dialog{max-width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.dialog-bar{margin:0 18px;padding:12px 0;gap:10px}.dialog-bar h2{font-size:10px}.card-scene{padding:40px 23px 27px}.preview-face{padding:19px}.preview-brand{font-size:19px;gap:6px}.preview-brand>svg{width:33px;height:33px}.preview-brand span{font-size:7px;margin-top:4px}.preview-front>p{font-size:20px;max-width:220px}.preview-front>span{font-size:7px}.card-corner{bottom:15px;right:16px;width:18px;height:18px}.preview-back>svg{width:74px;height:74px}.preview-back>p{font-size:21px;margin-top:2px}.preview-back>span{bottom:13px;font-size:7px}.preview-controls{margin:12px 20px 22px}.flip-card{font-size:9px;padding:10px}.flip-card>span{margin-left:15px}.preview-controls .eyebrow{font-size:9px}.preview-bottom{margin:0 18px;padding:20px 0;display:block}.preview-bottom>p{font-size:12px}.preview-bottom>a{margin-top:17px;font-size:10px;justify-content:space-between}.search-field{margin:22px 18px;padding-bottom:18px;gap:12px}.search-field input{font-size:23px}.search-field svg{width:22px;height:22px}#search-count{margin:0 18px 5px;font-size:9px}#search-results{padding:0 18px 24px}.search-result h3{font-size:23px}.search-result p{font-size:11px}.search-result{padding:18px 0}
}
@media(max-width:370px){.hero h1{font-size:33px}.hero-muncher{right:-10px;width:29px;height:29px}.hero{padding-inline:16px}.tile-caption h2{font-size:26px}.tile-caption p,.studio-tile .tile-caption p{font-size:10px}.tile-kicker{font-size:9px}.paper-front>p{font-size:16px}.paper-card{padding:13px}.paper-back>span{font-size:16px}.header-actions{gap:0}.wordmark>span{font-size:20px}.brand-mark{width:32px;height:32px}.mini-card>span{font-size:18px}.manifesto-art{font-size:38px}}
[data-motion=off]{scroll-behavior:auto}
[data-motion=off] *,[data-motion=off] *:before,[data-motion=off] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
[data-motion=off] .reveal{opacity:1!important;transform:none!important}
[data-motion=off] .hero-accent path{stroke-dashoffset:0!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .reveal:not(.is-visible){opacity:1;transform:none}.hero-accent path{stroke-dashoffset:0}}
@media(max-width:600px){
  .hero-muncher{right:0;bottom:3px;transform:rotate(-8deg);width:30px;height:30px}
  .paper-front{width:50%;top:19%;left:10%;padding:12px}
  .paper-back{width:54%;top:17%;left:34%;padding:13px}
  .paper-front>p,.paper-back>span{font-size:15px;margin-block:5px}
  .paper-front>small,.paper-back>small{font-size:5px}
  .paper-brand>span{font-size:8px}.paper-brand>svg{width:19px;height:19px}.paper-brand small{font-size:4px}
  .paper-back>svg{width:25px;height:25px;right:11px;top:12px}
}
.paper-card{height:36%;container-type:inline-size}
.paper-brand{gap:2cqw}.paper-brand>svg{width:12cqw;height:12cqw}.paper-brand>span{font-size:5.4cqw}.paper-brand small{font-size:2cqw;margin-top:1cqw}
.paper-front>p,.paper-back>span{font-size:9cqw;line-height:1.05;margin-block:2cqw}
.paper-front>small,.paper-back>small{font-size:3cqw}
.paper-back>svg{width:15cqw;height:15cqw}
@media(min-width:851px) and (max-width:1100px){.paper-front{top:27%}}
@media(min-width:601px) and (max-width:850px){.paper-card{width:60%;height:34.7%}.paper-front{top:19%;left:8%}.paper-back{top:14%;left:29%}}
@media(max-width:600px){.paper-front{top:17%;height:28.9%}.paper-back{top:15%;height:31.2%}}
