@font-face{font-family:"Poiret One";font-weight:400;font-display:swap;src:url('fonts/PoiretOne-Regular.ttf') format('truetype')}
@font-face{font-family:"Chillax";font-weight:200 700;font-display:swap;src:url('fonts/Chillax-Variable.ttf') format('truetype')}
/* Inner pages: same grammar as the homepage (see site.css) */
.phead{padding-top:16px}
.phead .cols{grid-template-rows:auto 1fr}
.phead .side{grid-column:1;grid-row:1/-1;display:flex;flex-direction:column;justify-content:flex-start;gap:28px;padding-top:44px}
.phead .side .logo{width:104px;height:auto}
.phead .side .label{font-weight:700}
.phead .rule{grid-column:2;grid-row:1/-1}
.phead .main{grid-column:3;padding:clamp(70px,11vw,150px) 0 clamp(36px,5vw,70px)}
.phead h1{font-size:clamp(3rem,9vw,8.4rem);line-height:.88;letter-spacing:var(--tight)}
.phead h1 .l{display:block;overflow:hidden;padding-bottom:.06em}
.phead h1 .l span{display:block;transform:translateY(105%);animation:up 1.2s var(--ease) forwards;animation-delay:calc(.15s + var(--i)*.12s)}
.phead h1 em{font-style:normal;color:var(--accent)}
@keyframes up{to{transform:none}}
.phead .lede{max-width:52ch;margin-top:30px;font-size:19px;line-height:1.35;font-weight:500;opacity:0;animation:fadeup 1s var(--ease) .7s forwards}
.phead .acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;opacity:0;animation:fadeup 1s var(--ease) .85s forwards}
@keyframes fadeup{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

.body-cols{display:grid;grid-template-columns:var(--col) 1px minmax(0,1fr);column-gap:var(--gutter)}
.body-cols>.kicker{grid-column:1;margin:0}
.body-cols>.rule{grid-column:2}
.body-cols>.content{grid-column:3;min-width:0}
.body-cols .kicker.sticky{position:sticky;top:16px;align-self:start}
.content p{font-size:17px;line-height:1.4;max-width:58ch}
.content p+p{margin-top:1em}
.content p a,.link{border-bottom:1px solid currentColor;transition:color .2s}
.content p a:hover,.link:hover{color:var(--accent)}
.content h2{font-size:clamp(2.2rem,5vw,4.4rem);line-height:.9;letter-spacing:var(--tight);margin-bottom:28px}
.band{padding-top:clamp(70px,10vw,140px)}

/* about */
.founder{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.founder .pic{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--soft);border-radius:999px 999px 4px 4px}
.founder .pic img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .8s,transform 1.2s var(--ease)}
.founder:hover .pic img{filter:grayscale(0);transform:scale(1.04)}
.pull{margin:clamp(40px,6vw,80px) 0 0;font-family:"Gambetta Variable",Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(1.8rem,3.6vw,3.2rem);line-height:1.08;letter-spacing:-.01em;max-width:24ch;color:var(--accent)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter);margin-top:clamp(40px,6vw,80px)}
.stats div{border-top:1px solid var(--ink);padding-top:12px}
.stats b{display:block;font-size:clamp(3.4rem,8vw,7rem);line-height:.8;letter-spacing:var(--tight);font-weight:800;color:var(--accent);margin-bottom:16px}
.stats span{font-weight:700}
.tl{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.tl li{display:grid;grid-template-columns:minmax(90px,.35fr) minmax(0,1fr) minmax(0,.55fr);gap:var(--gutter);align-items:center;padding:22px 0;border-bottom:1px solid var(--line);transition:padding-left .4s var(--ease)}
.tl li:hover{padding-left:.5em}
.tl .yr{font-size:clamp(2.4rem,5vw,4.4rem);font-weight:800;letter-spacing:var(--tight);line-height:.9;color:var(--accent)}
.tl b{display:block;font-size:22px;letter-spacing:-.03em;margin-bottom:6px}
.tl span{color:#444;line-height:1.35;display:block;max-width:52ch}
.tl .ph{aspect-ratio:4/3;overflow:hidden;background:var(--soft)}
.tl .ph img{width:100%;height:100%;object-fit:contain;transition:transform 1.1s var(--ease)}
.tl li:hover .ph img{transform:scale(1.07)}

/* services */
.svr{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,64px);padding:clamp(34px,5vw,64px) 0;border-top:1px solid var(--ink);scroll-margin-top:12px}
.svr:last-of-type{border-bottom:1px solid var(--ink)}
.svr .n{font-size:14px;color:var(--mute);font-weight:500;display:block;margin-bottom:14px}
.svr h2{font-size:clamp(2.4rem,5.2vw,4.8rem);line-height:.9;letter-spacing:var(--tight);margin-bottom:18px;transition:color .25s}
.svr:hover h2{color:var(--accent)}
.svr .d{font-size:17px;line-height:1.38;max-width:46ch;margin-bottom:22px}
.svr .tag{display:inline-block;font-size:13px;font-weight:700;background:var(--accent);color:#fff;border-radius:99px;padding:3px 11px 4px;margin-bottom:14px}
.inc{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 var(--gutter);max-width:640px}
.inc li{padding:9px 0;border-top:1px solid var(--line);display:flex;gap:10px;line-height:1.3}
.inc li::before{content:"+";color:var(--accent);font-weight:800}
.svr .ph{aspect-ratio:4/3;overflow:hidden;background:var(--soft);align-self:start;position:sticky;top:20px}
.svr .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.svr:hover .ph img{transform:scale(1.05)}
.js .svr .ph.rv{clip-path:inset(0 0 100% 0);opacity:1;transform:none;transition:clip-path 1.1s var(--ease)}
.js .svr .ph.rv.in{clip-path:inset(0)}

/* contact */
.acts-big{display:grid;grid-template-columns:1fr 1fr;gap:var(--gutter);margin-bottom:clamp(40px,6vw,80px)}
.big{display:flex;flex-direction:column;justify-content:space-between;min-height:clamp(180px,22vw,280px);padding:20px;border-radius:4px;background:var(--accent);color:#fff;transition:transform .5s var(--ease),background .3s}
.big:hover{transform:translateY(-4px);background:var(--ink)}
.big.alt{background:var(--soft);color:var(--ink)}.big.alt:hover{background:var(--ink);color:#fff}
.big small{font-size:14px;font-weight:700;opacity:.8}
.big strong{font-size:clamp(1.8rem,3.6vw,3.2rem);line-height:.95;letter-spacing:var(--tight);display:flex;justify-content:space-between;gap:14px;align-items:flex-end}
.big .arrow{font-size:.8em}
.drows{border-top:1px solid var(--ink)}
.drow{display:grid;grid-template-columns:minmax(120px,.4fr) minmax(0,1fr);gap:var(--gutter);padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline}
.drow dt{color:var(--mute);font-weight:500}
.drow dd{margin:0;font-size:clamp(1.2rem,2.2vw,1.8rem);font-weight:700;letter-spacing:-.03em;line-height:1.15}
.drow a:hover{color:var(--accent)}
.hours{margin-top:clamp(40px,6vw,70px)}
.hours h3{font-size:14px;color:var(--mute);font-weight:700;margin-bottom:10px}
.hours div{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);font-weight:700;max-width:520px}
.hours div:last-child{border-bottom:1px solid var(--line)}
.brief{list-style:none;padding:0;margin:20px 0 0;max-width:58ch}
.brief li{padding:11px 0;border-top:1px solid var(--line);display:flex;gap:12px;line-height:1.35}
.brief li::before{content:"+";color:var(--accent);font-weight:800}

/* portfolio */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(30px,4vw,56px)}
.chip{font:inherit;font-weight:700;font-size:14px;cursor:pointer;border:0;border-radius:99px;padding:8px 16px 9px;background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);transition:background .25s,color .25s,transform .3s var(--ease)}
.chip:hover{transform:translateY(-2px);background:var(--soft)}
.chip.on{background:var(--ink);color:#fff}
.mas{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3.2vw,48px) var(--gutter);counter-reset:pj}
.pc{display:block;position:relative;counter-increment:pj}
.pc .ph{overflow:hidden;background:#ecebe6;aspect-ratio:5/4}
.pc img{width:100%;height:100%;object-fit:contain;transition:transform 1.1s var(--ease)}
.pc:hover img{transform:scale(1.05)}
.pc .cap{display:flex;gap:10px;align-items:baseline;margin-top:12px;padding-top:11px;border-top:1px solid var(--ink);font-weight:700}
.pc .cap::before{content:counter(pj,decimal-leading-zero);font-weight:500;font-size:12px;color:var(--mute);min-width:22px}
.pc .cap b{font-weight:700;transition:color .2s}
.pc:hover .cap b{color:var(--accent)}
.pc .cap em{margin-left:auto;font-style:normal;color:var(--mute);font-weight:500;font-size:13px;text-align:right}
.pc .sub{color:var(--mute);font-weight:500;margin-top:3px;font-size:14px}
.pc.hide{display:none}
.pc.pop{animation:pop .7s var(--ease) both;animation-delay:calc(var(--k,0)*40ms)}
@keyframes pop{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.js .pc.rv .ph{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease)}
.js .pc.rv.in .ph{clip-path:inset(0)}
.js .pc.rv{opacity:1;transform:none}
.count{font-weight:700;margin-bottom:14px;color:var(--mute)}

@media (max-width:900px){
  .phead .side .logo{width:44px}.phead .side .label{display:none}
  .body-cols>.kicker{display:none}
  .founder{grid-template-columns:1fr}.founder .pic{max-width:300px}
  .stats{grid-template-columns:1fr}
  .tl li{grid-template-columns:1fr}.tl .ph{max-width:360px}
  .svr{grid-template-columns:1fr}.svr .ph{position:static;order:-1}
  .inc{grid-template-columns:1fr}
  .acts-big{grid-template-columns:1fr}
  .mas{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:520px){.mas{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){
  .phead h1 .l span{transform:none}.phead .lede,.phead .acts{opacity:1}.js .svr .ph.rv,.js .pc.rv .ph{clip-path:none}
}
.map{display:block;width:100%;aspect-ratio:16/9;border:0;background:var(--soft);filter:grayscale(1) contrast(1.05);transition:filter .6s}
.map:hover{filter:none}
@media (max-width:900px){.map{aspect-ratio:4/3}}
/* exhibition */
.evt{padding:clamp(34px,5vw,64px) 0;border-top:1px solid var(--ink)}
.evt .bd{display:inline-block;font-size:13px;font-weight:700;background:var(--ink);color:#fff;border-radius:99px;padding:3px 11px 4px;margin-bottom:14px}
.evt h2{font-size:clamp(2.4rem,6vw,5.4rem);line-height:.9;letter-spacing:var(--tight);margin-bottom:22px}
.evt .lead{font-size:19px;line-height:1.38;max-width:56ch;margin-bottom:30px}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter);margin:clamp(24px,4vw,48px) 0}
.trio .ph{overflow:hidden;background:var(--soft)}
.trio img{width:100%;height:auto;transition:transform 1.1s var(--ease)}
.trio a:hover img,.trio div:hover img{transform:scale(1.05)}
.wide-img{overflow:hidden;background:var(--soft);margin:clamp(24px,4vw,48px) 0}
.wide-img img{width:100%;height:auto;transition:transform 1.2s var(--ease)}
.wide-img:hover img{transform:scale(1.03)}
.pm{list-style:none;margin:0 0 30px;padding:0;border-top:1px solid var(--ink)}
.pm li{display:grid;grid-template-columns:minmax(70px,.2fr) minmax(0,1fr) minmax(0,1.3fr);gap:var(--gutter);padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline;transition:padding-left .4s var(--ease)}
.pm li:hover{padding-left:.5em}
.pm .n{font-size:clamp(2rem,4vw,3.4rem);font-weight:800;letter-spacing:var(--tight);color:var(--accent);line-height:.9}
.pm b{font-size:20px;letter-spacing:-.03em}
.pm span{color:#444;line-height:1.35}
.arch-note{background:var(--navy);color:#fff;padding:clamp(24px,4vw,44px);margin-top:clamp(30px,4vw,50px);display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.arch-note p{max-width:60ch;line-height:1.35}
.acts2{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:900px){.trio{grid-template-columns:1fr}.pm li{grid-template-columns:1fr}}
/* books */
.book-feat{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,64px);align-items:start}
.book-feat .imgs{display:grid;gap:var(--gutter)}
.book-feat .imgs .ph{overflow:hidden;background:var(--soft)}
.book-feat .imgs img{width:100%;height:auto;transition:transform 1.2s var(--ease)}
.book-feat .imgs .ph:hover img{transform:scale(1.04)}
.book-feat h2{font-size:clamp(2.6rem,6vw,5.4rem);line-height:.88;letter-spacing:var(--tight);margin:14px 0 18px}
.book-feat .au{font-weight:700;margin-bottom:16px}
.book-feat .tx{font-size:17px;line-height:1.4;max-width:46ch;margin-bottom:24px}
.upc{display:grid;grid-template-columns:auto 1fr;gap:clamp(16px,3vw,40px);align-items:center;border-top:1px solid var(--ink);padding:24px 0}
.upc .aa{font-family:"Gambetta Variable",Georgia,serif;font-style:italic;font-size:clamp(4rem,10vw,9rem);line-height:.8;color:var(--accent)}
.upc h3{font-size:clamp(1.6rem,3.4vw,3rem);letter-spacing:var(--tight);line-height:.95;margin:10px 0}
@media (max-width:900px){.book-feat{grid-template-columns:1fr}}
/* careers */
.job{border-top:1px solid var(--ink);padding:clamp(34px,5vw,64px) 0}
.job h2{font-size:clamp(2.4rem,6vw,5.4rem);line-height:.9;letter-spacing:var(--tight);margin:12px 0 10px}
.job .meta{color:var(--mute);font-weight:700;margin-bottom:22px}
.job .intro{font-size:18px;line-height:1.4;max-width:62ch}
.job .facts{margin:30px 0}
.job h3{font-size:14px;color:var(--mute);margin:30px 0 10px;font-weight:700}
.job ul{list-style:none;margin:0;padding:0;max-width:70ch}
.job ul li{padding:11px 0;border-top:1px solid var(--line);display:flex;gap:10px;line-height:1.35}
.job ul li::before{content:"+";color:var(--accent);font-weight:800}
.apply{margin-top:32px;padding:22px;background:var(--soft);display:flex;gap:20px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.apply p{max-width:54ch;line-height:1.35}
.bd2{display:inline-block;font-size:13px;font-weight:700;background:var(--accent);color:#fff;border-radius:99px;padding:3px 11px 4px}
/* sitemap */
.sm{list-style:none;margin:0 0 clamp(40px,6vw,80px);padding:0;border-top:1px solid var(--ink)}
.sm li a{display:flex;gap:14px;align-items:baseline;padding:.12em 0;border-bottom:1px solid var(--line);font-size:clamp(1.8rem,4.6vw,3.8rem);font-weight:700;letter-spacing:var(--tight);line-height:1.05;transition:color .2s,padding-left .35s var(--ease)}
.sm li a sup{font-size:13px;font-weight:500;color:var(--mute);letter-spacing:0}
.sm li a:hover{color:var(--accent);padding-left:.3em}
.sm.small li a{font-size:clamp(1.1rem,2vw,1.5rem);letter-spacing:-.03em}
.sm.cols2{columns:2;column-gap:var(--gutter)}.sm.cols2 li{break-inside:avoid}
@media (max-width:700px){.sm.cols2{columns:1}}

.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gutter);margin-top:clamp(36px,5vw,64px)}
.facts div{border-top:1px solid var(--ink);padding-top:10px}
.facts dt{color:var(--mute);font-weight:500;font-size:14px;margin-bottom:6px}
.facts dd{margin:0;font-weight:700;font-size:17px;line-height:1.25}
@media (max-width:900px){.facts{grid-template-columns:1fr 1fr}}
.job ul li{display:block;position:relative;padding-left:22px}
.job ul li::before{position:absolute;left:0}
.book-feat .txt{position:sticky;top:20px}
.role+.role{margin-top:clamp(40px,6vw,90px)}.role .job{border-top:0;padding-top:0}
.bg-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter)}
.bg-row.two{grid-template-columns:repeat(2,1fr)}.bg-row.six{grid-template-columns:repeat(3,1fr)}
.bg-tile{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;position:relative;background:#fff;border:1px solid var(--line);color:var(--ink)}
.bg-tile img{width:50%;height:auto}.bg-tile.ico img{width:20%}
.bg-tile>span{position:absolute;left:12px;bottom:10px;font-size:13px;font-weight:500;color:var(--mute)}
.bg-tile.blue{background:#0a00e9;border-color:transparent}.bg-tile.blue span,.bg-tile.black span,.bg-tile.grad1 span,.bg-tile.grad2 span{color:rgba(255,255,255,.75)}
.bg-tile.black{background:#0e0e0e;border-color:transparent}
.bg-tile.grad1{background:linear-gradient(135deg,#0a00e9,#ff00ea);border-color:transparent}
.bg-tile.grad2{background:linear-gradient(135deg,#935002,#fc941a);border-color:transparent}
.bg-tile.w img,.wht{filter:brightness(0) invert(1)}.bg-tile.k img,.blk{filter:brightness(0)}
.bg-tile .stack{display:flex;flex-direction:column;align-items:center;gap:14px;width:60%}.bg-tile .stack img{width:70%}
.bg-tile .stack .tg{position:static;font-family:"Poiret One",serif;letter-spacing:.28em;font-size:clamp(10px,1.3vw,15px);color:inherit;font-weight:400}
.bg-tile.blue .stack .tg,.bg-tile.black .stack .tg{color:#fff}.bg-tile .stack .tg{white-space:nowrap}
.clear{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;border:1px solid var(--line);background:#fff}
.clear .box{padding:11% 14%;background:repeating-linear-gradient(135deg,rgba(10,0,233,.12) 0 6px,transparent 6px 12px);outline:1px dashed #0a00e9}
.clear .box img{width:clamp(120px,18vw,240px);height:auto;background:#fff}
.clear span{position:absolute;left:12px;bottom:10px;font-size:13px;color:var(--mute);font-weight:500}
.bg-cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter);margin-top:22px}
.bg-cols3>div{border-top:1px solid var(--ink);padding-top:10px}.bg-cols3 b{display:block;margin-bottom:6px}.bg-cols3 p{color:var(--mute);line-height:1.35}
.bg-col{display:grid;grid-template-columns:repeat(3,1fr);gap:0;min-height:clamp(200px,26vw,320px)}
.bg-col>div{padding:16px;display:flex;flex-direction:column;justify-content:flex-end;gap:3px}
.bg-col small{opacity:.8;font-weight:500;line-height:1.35}
.bg-grads{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:var(--gutter);min-height:clamp(150px,18vw,220px)}
.bg-grads>div{padding:16px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;gap:3px}
.bg-grads small{opacity:.85;line-height:1.35}
.bg-type{border-top:1px solid var(--ink);padding:22px 0 26px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gutter);align-items:start}
.bg-type .spec{font-size:clamp(2.4rem,6vw,5rem);line-height:.98;word-break:break-word}
.bg-type .meta{color:var(--mute);line-height:1.5}.bg-type .meta b{color:var(--ink)}
.bg-type h3{font-size:14px;color:var(--mute);margin-bottom:10px;font-weight:700}
.f-poiret{font-family:"Poiret One",serif;font-weight:400;letter-spacing:.06em}
.f-chillax{font-family:"Chillax","Satoshi Variable",sans-serif;font-weight:300}
.f-satoshi{font-family:"Satoshi Variable",sans-serif;font-weight:700;letter-spacing:-.04em}
.f-gambetta{font-family:"Gambetta Variable",Georgia,serif;font-style:italic;font-weight:400}
.bg-scale div{display:grid;grid-template-columns:150px 1fr;gap:var(--gutter);align-items:baseline;border-top:1px solid var(--line);padding:12px 0}
.bg-scale small{color:var(--mute)}
.bg-dont{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter)}
.bg-dont>div{border-top:1px solid var(--ink);padding-top:10px}.bg-dont small{color:#c43;font-weight:800}.bg-dont b{display:block;margin:4px 0 6px}.bg-dont p{color:var(--mute);line-height:1.35}
.bg-web{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gutter)}
.bg-web>div{padding:18px;min-height:260px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line)}
.bg-web img{width:96px;height:auto}.bg-web h4{font-size:1.25rem;line-height:1.05;margin:10px 0}.bg-web p{font-size:13px;line-height:1.35;opacity:.8}.bg-web small{font-size:12px;opacity:.7}
.bg-web .w1{background:#fff;color:#0e0e0e}.bg-web .w2{background:#0a00e9;color:#fff;border-color:transparent}.bg-web .w3{background:#0e0e0e;color:#fc941a;border-color:transparent}.bg-web .w4{background:#0e0e0e;color:#fff;border-color:transparent}
.bg-web .w3 img,.bg-web .w4 img,.bg-web .w2 img{filter:brightness(0) invert(1)}
@media (max-width:900px){.bg-row,.bg-row.two,.bg-row.six,.bg-cols3,.bg-col,.bg-grads,.bg-dont,.bg-type{grid-template-columns:1fr}.bg-web{grid-template-columns:1fr 1fr}.bg-scale div{grid-template-columns:1fr}}

@media (max-width:520px){.big{min-width:0}.big strong{font-size:1.15rem;overflow-wrap:anywhere}}
@media (max-width:520px){.drow{grid-template-columns:1fr;gap:2px}.drow dd{overflow-wrap:anywhere}.body-cols .content{min-width:0}}
