
:root{
  --paper:#F4F0E6; --paper-deep:#E8E1D4; --ink:#0F0E11; --ink-soft:#34333A;
  --red:#D40F06; --blue:#0D67B4; --yellow:#ECC320; --olive:#93A441; --sky:#4C95E3;
  --sans:"Jost",Arial,sans-serif; --serif:"Source Serif 4",Georgia,serif;
  --rule:rgba(15,14,17,.20); --ease:cubic-bezier(.22,1,.36,1);
  --max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit}
.shell{width:min(calc(100% - 96px),var(--max));margin-inline:auto}
.skip-link{position:fixed;left:16px;top:-60px;z-index:1000;background:var(--ink);color:var(--paper);padding:10px 14px;font:500 14px var(--sans)}
.skip-link:focus{top:16px}
.site-header{position:sticky;top:0;z-index:90;height:80px;background:rgba(244,240,230,.96);backdrop-filter:blur(12px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:0 48px;border-bottom:1px solid var(--rule)}
.brand{font:600 14px/1 var(--sans);letter-spacing:.09em;text-decoration:none;white-space:nowrap}
.desktop-nav{display:flex;justify-content:center;gap:clamp(16px,1.8vw,30px);font:500 14px/1 var(--sans)}
.desktop-nav a{text-decoration:none;position:relative;padding:8px 0}
.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--ink);transition:right .18s ease}
.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after,.desktop-nav a.active::after{right:0}
.desktop-nav a.active::before{content:"";width:6px;height:6px;background:var(--red);border-radius:50%;position:absolute;left:-13px;top:12px}
.header-actions{display:flex;align-items:center;gap:18px}
.language-switch{display:flex;align-items:center;gap:7px;font:500 12px var(--sans)}
.language-switch button{border:0;background:transparent;padding:0;color:rgba(15,14,17,.48);cursor:pointer}
.language-switch button.is-active{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.menu-button{display:none;background:transparent;border:0;font:600 13px var(--sans);letter-spacing:.06em}
.mobile-menu{position:fixed;inset:0;z-index:100;background:var(--paper);display:flex;flex-direction:column;padding:22px 20px 28px;transform:translateY(-105%);visibility:hidden;pointer-events:none;overflow:auto;transition:transform .34s var(--ease),visibility 0s linear .34s}
.mobile-menu.is-open{transform:none;visibility:visible;pointer-events:auto;transition:transform .34s var(--ease)}
.mobile-menu-top{display:flex;justify-content:space-between;align-items:center}
.menu-close{border:0;background:transparent;font:600 13px var(--sans);letter-spacing:.06em}
.mobile-menu nav{display:flex;flex-direction:column;margin:auto 0;gap:9px}
.mobile-menu nav a{font:500 clamp(34px,9vw,54px)/1.03 var(--sans);letter-spacing:-.035em;text-decoration:none}
.mobile-menu nav a.active::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--red);margin-right:12px;vertical-align:8px}
.mobile-menu-footer{display:flex;justify-content:space-between;align-items:end}
.checker{width:40px;height:40px;background:conic-gradient(var(--ink) 25%,var(--paper) 0 50%,var(--ink) 0 75%,var(--paper) 0) 0 0/20px 20px;border:1px solid var(--ink)}

.section-pad{padding-block:clamp(88px,10vw,160px)}
.section-index{font:600 12px/1 var(--sans);letter-spacing:.12em}
.section-index.light,.kicker.light{color:rgba(244,240,230,.72)}
.kicker{margin:14px 0 16px;font:600 12px/1.3 var(--sans);letter-spacing:.11em}
.lead{font:400 clamp(20px,1.6vw,27px)/1.45 var(--serif)}
h1,h2,h3,p{margin-top:0}
h2{font:500 clamp(42px,5vw,76px)/.96 var(--sans);letter-spacing:-.04em;margin-bottom:26px}
p{font:400 17px/1.62 var(--serif)}
.dark{background:var(--ink);color:var(--paper)}
.text-link{font:500 14px/1.2 var(--sans);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.text-link:hover,.text-link:focus-visible{color:var(--red)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .56s var(--ease),transform .56s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}
.delay{transition-delay:.09s}

/* Hero */
.objects-hero{min-height:calc(100vh - 80px);display:grid;grid-template-columns:5fr 7fr;gap:24px;align-items:center;padding-block:clamp(64px,7vw,110px)}
.hero-copy{padding-right:clamp(10px,3vw,54px)}
.hero-copy h1{font:500 clamp(92px,12vw,190px)/.78 var(--sans);letter-spacing:-.065em;margin:20px 0 42px}
.hero-copy h1 span{display:block}
.hero-copy h1 span:last-child{padding-left:clamp(34px,5vw,88px)}
.hero-copy .lead{max-width:610px;margin-bottom:20px}
.hero-note{max-width:600px;color:var(--ink-soft)}
.hero-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-top:1px solid var(--rule);margin-top:44px;padding-top:18px}
.hero-counts div{display:flex;flex-direction:column;gap:3px}
.hero-counts b{font:500 28px/1 var(--sans)}
.hero-counts span{font:500 11px/1.35 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:rgba(15,14,17,.56)}
.hero-stage{position:relative;min-height:680px}
.hero-stage figure{margin:0;position:absolute;overflow:hidden}
.stage-main{right:7%;top:2%;width:43%;z-index:3}
.stage-main img{width:100%;height:auto}
.stage-bird{left:5%;top:15%;width:27%;z-index:2}
.stage-face{right:0;bottom:4%;width:43%;z-index:4}
.stage-main,.stage-bird,.stage-face{border:1px solid rgba(15,14,17,.12)}
.stage-red{position:absolute;left:23%;bottom:13%;width:70px;height:70px;background:var(--red);border-radius:50%;z-index:5}
.stage-yellow{position:absolute;right:31%;top:2%;width:46px;height:46px;background:var(--yellow);z-index:1}
.stage-line{position:absolute;left:24%;top:4%;width:34%;opacity:.9;z-index:1;transform:rotate(-7deg)}

/* Character */
.character-grid{display:grid;grid-template-columns:5fr 6fr 1fr;gap:24px;align-items:center;min-height:760px}
.character-copy{grid-column:1/2;max-width:590px}
.character-image{grid-column:2/3;margin:0;width:min(100%,640px);justify-self:end}
.character-image img{width:100%;height:auto;object-fit:contain}
.character-dot{grid-column:3/4;align-self:end;width:56px;height:56px;background:var(--red);border-radius:50%;margin-bottom:80px}

/* Section head */
.section-head{display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:end;margin-bottom:80px}
.section-head h2{max-width:820px;margin-bottom:0}
.section-head>p{max-width:500px;margin-bottom:2px}

/* Chairs */
.functional{background:var(--paper-deep)}
.chair-stage{position:relative;display:grid;grid-template-columns:repeat(12,1fr);gap:24px;min-height:900px}
.chair-stage figure{margin:0;overflow:hidden}
.chair-single{grid-column:1/4;align-self:start}
.chair-single img{width:100%;height:auto}
.chair-group{grid-column:5/13;align-self:start;margin-top:90px!important}
.chair-group img{width:100%;height:auto}
.chair-room{grid-column:2/7;align-self:end;margin-top:-180px!important}
.chair-room img{width:100%;height:auto}
.chair-quote{grid-column:8/12;align-self:end;border-top:1px solid var(--ink);padding-top:18px;margin-bottom:44px}
.quote-mark{font:400 58px/1 var(--serif)}
.chair-quote p{font:400 24px/1.35 var(--serif);margin:0}

/* Creatures */
.creatures-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:start}
.creatures-copy{grid-column:1/6;position:sticky;top:120px;padding-right:44px}
.creatures-copy h2{max-width:620px}
.creatures-copy p{max-width:560px}
.creature{margin:0;overflow:hidden;background:var(--paper-deep)}
.creature img{width:100%;height:auto}
.c1{grid-column:7/10;margin-top:30px}
.c2{grid-column:10/13;margin-top:170px}
.c3{grid-column:6/10;margin-top:70px}
.c4{grid-column:9/13;margin-top:90px}
.creatures-blue{grid-column:6;width:42px;height:42px;border-radius:50%;background:var(--blue);margin-top:-40px}

/* Atelier */
.atelier-grid{display:grid;grid-template-columns:7fr 5fr;gap:72px;align-items:center}
.atelier-image{margin:0}
.atelier-image img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 50%}
.atelier-copy{max-width:560px}
.atelier-copy .lead{margin-bottom:18px}
.atelier-copy .text-link{display:inline-block;margin-top:14px;color:var(--paper)}
.atelier-copy .text-link:hover{color:var(--yellow)}

/* Archive */
.archive-head{display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:end;margin-bottom:52px}
.archive-head h2{max-width:840px;margin-bottom:0}
.archive-head>p{max-width:520px;margin-bottom:4px}
.archive-toolbar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:22px 0;margin-bottom:76px}
.filters{display:flex;gap:36px;align-items:center;flex-wrap:wrap}
.filter{border:0;background:transparent;padding:0 0 8px;cursor:pointer;font:500 16px/1 var(--sans);position:relative;color:var(--ink)}
.filter sup{font:500 10px/1 var(--sans);color:rgba(15,14,17,.52);margin-left:4px}
.filter::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--ink);transition:right .18s ease}
.filter.is-active::after,.filter:hover::after,.filter:focus-visible::after{right:0}
.filter.is-active::before{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:var(--red);left:-14px;top:4px}
.archive-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:72px 24px;align-items:start}
.object-card{margin:0;grid-column:span 4;align-self:start}
.object-card.span-3{grid-column:span 3}
.object-card.span-5{grid-column:span 5}
.object-card.span-6{grid-column:span 6}
.object-card button{all:unset;display:block;width:100%;cursor:zoom-in}
.object-card .image-wrap{background:var(--paper-deep);display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:160px}
.object-card img{width:100%;height:auto;object-fit:contain;transition:transform .25s var(--ease)}
.object-card button:hover img,.object-card button:focus-visible img{transform:scale(1.012)}
.object-card button:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.object-meta{display:flex;justify-content:space-between;gap:14px;margin-top:12px}
.object-meta .left{min-width:0}
.object-meta h3{font:500 15px/1.25 var(--sans);margin:0 0 4px}
.object-meta p{font:400 12px/1.4 var(--sans);color:rgba(15,14,17,.56);margin:0}
.object-meta .kind{font:600 10px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:rgba(15,14,17,.58);white-space:nowrap}
.load-wrap{text-align:center;margin-top:84px}
.load-more{height:48px;padding:0 22px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);font:500 14px var(--sans);cursor:pointer}
.load-more:hover,.load-more:focus-visible{background:var(--red);border-color:var(--red)}
.ceramics-note{max-width:600px;margin:88px 0 12px}
.ceramics-link{display:inline-block}

/* Next */
.next{background:var(--paper-deep);border-top:1px solid var(--rule)}
.next-grid{display:grid;grid-template-columns:7fr 5fr;gap:72px}
.next h2{max-width:860px;margin-bottom:0}
.next-copy{align-self:end;max-width:460px}
.next-copy .text-link{display:inline-block;margin-top:10px}

/* Footer */
.site-footer{border-top:1px solid var(--rule);padding:42px 0 48px}
.footer-grid{display:grid;grid-template-columns:1fr auto auto;gap:40px;align-items:end}
.footer-wordmark{font:600 22px var(--sans);letter-spacing:.06em}
.footer-meta{font:500 11px/1.4 var(--sans);text-align:right}
.footer-meta p{font:inherit;margin:0}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:#0b0b0d;color:var(--paper);z-index:200;display:grid;grid-template-columns:70px 1fr 70px;grid-template-rows:1fr auto;align-items:center;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .22s ease,visibility 0s linear .22s}
.lightbox.is-open{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .22s ease}
.lb-stage{grid-column:2;grid-row:1;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;padding:48px 20px 20px}
.lb-stage img{max-width:100%;max-height:calc(100vh - 180px);object-fit:contain}
.lb-close,.lb-prev,.lb-next{border:0;background:transparent;color:var(--paper);cursor:pointer;font:400 38px/1 var(--sans)}
.lb-close{position:absolute;right:26px;top:22px;z-index:2}
.lb-prev{grid-column:1;grid-row:1}
.lb-next{grid-column:3;grid-row:1}
.lb-meta{grid-column:2;grid-row:2;border-top:1px solid rgba(244,240,230,.18);padding:18px 0 26px;display:grid;grid-template-columns:1fr auto;gap:8px 24px}
.lb-kind{grid-column:1/3;font:600 10px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:rgba(244,240,230,.58);margin:0}
.lb-meta h2{font:500 22px/1.15 var(--sans);letter-spacing:-.02em;margin:0}
.lb-meta>p:last-child{font:400 13px var(--sans);margin:4px 0 0;color:rgba(244,240,230,.62)}

/* Laptop */
@media (max-width:1180px){
  .site-header{padding:0 28px}
  .desktop-nav{gap:15px;font-size:12px}
  .shell{width:min(calc(100% - 56px),var(--max))}
  .objects-hero{grid-template-columns:5fr 7fr;min-height:auto}
  .hero-copy h1{font-size:clamp(78px,11vw,130px)}
  .hero-stage{min-height:560px}
  .character-grid{min-height:640px}
  .chair-stage{min-height:760px}
  .section-head,.archive-head{grid-template-columns:6.5fr 5.5fr}
}
@media (max-width:960px){
  .desktop-nav,.header-actions .language-switch{display:none}
  .menu-button{display:block}
  .site-header{height:64px;padding:0 20px;grid-template-columns:1fr auto}
  .header-actions{grid-column:2}
  .shell{width:calc(100% - 40px)}
  .objects-hero{min-height:auto;grid-template-columns:1fr;padding-block:56px 84px}
  .hero-copy{padding-right:0}
  .hero-copy h1{font-size:clamp(78px,17vw,150px);margin-bottom:30px}
  .hero-copy h1 span:last-child{padding-left:0}
  .hero-counts{max-width:700px}
  .hero-stage{min-height:650px;margin-top:12px}
  .stage-main{right:8%;width:45%}
  .stage-bird{left:7%;width:29%;top:17%}
  .stage-face{width:46%;right:0;bottom:3%}
  .character-grid{grid-template-columns:1fr 1fr;min-height:auto;gap:44px}
  .character-copy{grid-column:1}
  .character-image{grid-column:2}
  .character-dot{display:none}
  .section-head,.archive-head,.next-grid,.atelier-grid{grid-template-columns:1fr;gap:34px}
  .section-head>p,.archive-head>p{max-width:680px}
  .chair-stage{min-height:auto;row-gap:44px}
  .chair-single{grid-column:1/5}
  .chair-group{grid-column:5/13;margin-top:40px!important}
  .chair-room{grid-column:2/7;margin-top:-80px!important}
  .chair-quote{grid-column:8/13;margin-bottom:20px}
  .creatures-copy{position:relative;top:auto;grid-column:1/13;padding-right:0;max-width:700px;margin-bottom:30px}
  .c1{grid-column:1/5}.c2{grid-column:5/9;margin-top:80px}.c3{grid-column:8/13}.c4{grid-column:2/7}
  .creatures-blue{grid-column:11}
  .archive-grid{gap:56px 20px}
  .object-card,.object-card.span-5{grid-column:span 6}
  .object-card.span-3{grid-column:span 4}
  .object-card.span-6{grid-column:span 6}
}
@media (max-width:640px){
  .section-pad{padding-block:76px}
  h2{font-size:clamp(38px,12vw,58px)}
  p{font-size:16px}
  .hero-copy h1{font-size:clamp(70px,22vw,112px);line-height:.8}
  .hero-copy .lead{font-size:21px}
  .hero-counts{grid-template-columns:1fr 1fr;gap:18px 14px}
  .hero-counts div:first-child{grid-column:1/3}
  .hero-stage{min-height:540px;margin-inline:-4px}
  .stage-main{width:49%;right:3%;top:3%}
  .stage-bird{width:31%;left:2%;top:24%}
  .stage-face{width:52%;right:0;bottom:4%}
  .stage-red{width:48px;height:48px;left:17%;bottom:10%}
  .stage-yellow{width:30px;height:30px}
  .stage-line{width:40%;left:19%}
  .character-grid{grid-template-columns:1fr;gap:46px}
  .character-copy,.character-image{grid-column:1}
  .character-image{width:92%;justify-self:center}
  .section-head,.archive-head{margin-bottom:52px}
  .chair-stage{display:grid;grid-template-columns:repeat(4,1fr);min-height:auto}
  .chair-single{grid-column:1/3}
  .chair-group{grid-column:1/5;margin-top:8px!important}
  .chair-room{grid-column:2/5;margin-top:0!important}
  .chair-quote{grid-column:1/5;margin-top:4px}
  .creatures-grid{grid-template-columns:repeat(4,1fr);gap:16px}
  .creatures-copy{grid-column:1/5}
  .c1{grid-column:1/3}.c2{grid-column:3/5;margin-top:80px}.c3{grid-column:1/4;margin-top:24px}.c4{grid-column:2/5;margin-top:34px}
  .creatures-blue{grid-column:1;width:34px;height:34px}
  .atelier-image img{aspect-ratio:4/5;object-position:58% 50%}
  .archive-toolbar{align-items:flex-end}
  .archive-toolbar>.checker{display:none}
  .filters{gap:22px 26px}
  .filter{font-size:14px}
  .archive-grid{grid-template-columns:repeat(4,1fr);gap:48px 12px}
  .object-card,.object-card.span-3,.object-card.span-5,.object-card.span-6{grid-column:1/5}
  .object-card:nth-child(4n+2),.object-card:nth-child(4n+3){grid-column:span 2}
  .object-meta{display:block}
  .object-meta .kind{display:block;margin-top:6px}
  .footer-grid{grid-template-columns:1fr auto;align-items:end}
  .footer-meta{display:none}
  .lightbox{grid-template-columns:42px 1fr 42px}
  .lb-stage{padding:58px 6px 8px}
  .lb-stage img{max-height:calc(100vh - 190px)}
  .lb-meta{grid-template-columns:1fr;padding-inline:4px}
  .lb-kind{grid-column:1}
  .lb-meta>p:last-child{margin-top:0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .object-card img,.mobile-menu{transition:none}
}
