@import url("fonts.css");

    :root{
      --paper:#f3f1ec;
      --ink:#11110f;
      --muted:#6e6b63;
      --line:rgba(17,17,15,.16);
      --soft:rgba(17,17,15,.06);
      --max:1440px;
      --pad:clamp(18px,3vw,48px);
      --serif:"Space Grotesk",system-ui,sans-serif;
      --sans:"DM Sans",system-ui,sans-serif;
      --ease:cubic-bezier(.2,.8,.2,1);
      --radius:0px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:auto}
    body{
      margin:0;
      background:var(--paper);
      color:var(--ink);
      font-family:var(--sans);
      cursor:none;
      overflow-x:hidden;
    }
    body.locked{overflow:hidden}
    img,video{display:block;max-width:100%}
    a{color:inherit;text-decoration:none}
    button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:none}

    .grain{
      pointer-events:none;
      position:fixed;inset:0;z-index:1000;opacity:.05;mix-blend-mode:multiply;
      background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
    }

    .cursor{
      position:fixed;left:0;top:0;z-index:1200;
      width:12px;height:12px;border:1px solid var(--ink);border-radius:50%;
      pointer-events:none;transform:translate3d(-50%,-50%,0);
      transition:width .25s var(--ease),height .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease);
      mix-blend-mode:multiply;
    }
    .cursor.label{
      width:74px;height:74px;background:var(--ink);color:var(--paper);border-color:var(--ink);
      display:grid;place-items:center;font-size:10px;letter-spacing:.13em;text-transform:uppercase;
      mix-blend-mode:normal;
    }
    .cursor.label::after{content:attr(data-label)}
    @media (pointer:coarse){body,button{cursor:auto}.cursor{display:none}}

    .site-header{
      position:fixed;top:0;left:0;right:0;z-index:500;
      display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
      padding:18px var(--pad);
      pointer-events:none;
    }
    .site-header > *{pointer-events:auto}
    .brand{font:600 15px var(--serif);letter-spacing:-.04em}
    .role{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:center}
    .header-right{justify-self:end;display:flex;gap:16px;align-items:center}
    .lang button,.menu-button{
      font-size:10px;letter-spacing:.12em;text-transform:uppercase
    }
    .lang button.active{font-weight:700}
    .menu-button{display:none}

    .hero{
      min-height:100svh;
      display:grid;grid-template-columns:repeat(12,1fr);
      grid-template-rows:auto 1fr auto;
      padding:100px var(--pad) 28px;
      position:relative;
    }
    .hero-kicker{
      grid-column:1/5;align-self:start;
      padding-top:5px;
      font-size:11px;line-height:1.45;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)
    }
    .hero-title{
      grid-column:1/13;align-self:center;
      font:600 clamp(70px,13vw,205px)/.82 var(--serif);
      letter-spacing:-.075em;
      margin:0;
      max-width:1200px;
    }
    .hero-title .line2{display:block;margin-left:10vw}
    .hero-title em{font-style:normal;display:inline-block}
    .hero-foot{
      grid-column:1/13;display:flex;justify-content:space-between;align-items:end;gap:30px
    }
    .hero-tagline{max-width:410px;font-size:15px;line-height:1.5}
    .scroll-cue{
      display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)
    }
    .scroll-cue span{display:block;width:48px;height:1px;background:var(--line)}

    .section{
      padding:clamp(90px,12vw,180px) var(--pad)
    }
    .section-head{
      display:grid;grid-template-columns:2fr 5fr 1fr;gap:20px;
      border-top:1px solid var(--line);padding-top:14px;margin-bottom:55px
    }
    .eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
    .section-title{
      font:500 clamp(35px,5vw,72px)/.95 var(--serif);letter-spacing:-.055em;margin:0
    }
    .section-index{text-align:right;font-size:10px;color:var(--muted);letter-spacing:.1em}

    .works{display:flex;flex-direction:column;gap:0}
    .work{
      display:grid;grid-template-columns:repeat(12,1fr);
      min-height:70vh;padding:38px 0;border-top:1px solid var(--line);
      position:relative;align-items:center;
    }
    .work:last-child{border-bottom:1px solid var(--line)}
    .work-meta{grid-column:1/4;align-self:start;padding-top:6px}
    .work-no{font:600 13px var(--serif);margin-bottom:12px}
    .work-cat{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);line-height:1.5}
    .work-name{
      grid-column:4/9;z-index:2;
      font:600 clamp(46px,8vw,122px)/.83 var(--serif);letter-spacing:-.065em;
      transform:translateY(10px);
      pointer-events:none;
    }
    .work-thumb{
      grid-column:8/13;min-height:55vh;position:relative;overflow:hidden;
      background:#ddd9d0;transform:translateZ(0)
    }
    .work-thumb .placeholder,
    .case-media .placeholder{
      position:absolute;inset:0;display:grid;place-items:center;
      background:
        radial-gradient(circle at 20% 20%, rgba(0,0,0,.12), transparent 34%),
        radial-gradient(circle at 75% 70%, rgba(255,255,255,.18), transparent 36%),
        linear-gradient(135deg,#c8c3b9,#e7e3db 48%,#b6b1a8);
      color:rgba(17,17,15,.62);
      text-transform:uppercase;letter-spacing:.14em;font-size:10px;
    }
    .work-thumb img,.work-thumb video{
      position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
      transform:scale(1.04);
      transition:transform .9s var(--ease),filter .7s var(--ease);
      filter:saturate(.85);
    }
    .work:hover .work-thumb img,.work:hover .work-thumb video{transform:scale(1);filter:saturate(1)}
    .work-award{
      grid-column:1/4;align-self:end;margin-top:28px;
      font-size:11px;line-height:1.45;color:var(--muted)
    }
    .work-open{
      grid-column:10/13;justify-self:end;align-self:end;
      font-size:10px;text-transform:uppercase;letter-spacing:.13em;
    }

    .categories{
      display:grid;grid-template-columns:1fr 3fr;gap:25px;
    }
    .category-list{border-top:1px solid var(--line)}
    .category{
      display:grid;grid-template-columns:1fr auto;gap:20px;
      align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line);
      font:500 clamp(24px,3.3vw,48px)/1 var(--serif);letter-spacing:-.04em
    }
    .category span:last-child{font:500 10px var(--sans);letter-spacing:.12em;color:var(--muted)}
    .category:hover{padding-left:12px;transition:padding .35s var(--ease)}

    .about{
      display:grid;grid-template-columns:4fr 5fr 3fr;gap:45px;align-items:start
    }
    .about-copy{
      font:500 clamp(30px,4vw,58px)/1.02 var(--serif);letter-spacing:-.045em
    }
    .about-copy em{font-style:normal;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.14em}
    .about-small{font-size:14px;line-height:1.6;color:var(--muted);max-width:350px}
    .portrait{
      aspect-ratio:4/5;background:#dad6cd;position:relative;overflow:hidden
    }
    .portrait .placeholder{
      position:absolute;inset:0;display:grid;place-items:center;
      border:1px dashed rgba(17,17,15,.28);
      font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);
    }

    .contact{
      min-height:86vh;display:flex;flex-direction:column;justify-content:space-between;
      background:var(--ink);color:var(--paper);padding:30px var(--pad) 26px;margin:0;
    }
    .contact .section-head{border-color:rgba(243,241,236,.25);margin-bottom:0}
    .contact .eyebrow,.contact .section-index{color:rgba(243,241,236,.58)}
    .contact-line{
      font:600 clamp(52px,9vw,140px)/.83 var(--serif);letter-spacing:-.075em;
      max-width:1260px;margin:0
    }
    .contact-line .second{display:block;margin-left:14vw}
    .contact-bottom{display:flex;justify-content:space-between;gap:30px;align-items:end}
    .contact-link{font-size:12px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid rgba(243,241,236,.35);padding-bottom:8px}

    .footer{
      padding:18px var(--pad) 32px;background:var(--ink);color:rgba(243,241,236,.55);
      border-top:1px solid rgba(243,241,236,.14);display:flex;justify-content:space-between;
      gap:20px;font-size:10px;text-transform:uppercase;letter-spacing:.11em
    }

    /* Full case overlay */
    .case{
      position:fixed;inset:0;z-index:900;background:var(--paper);overflow:auto;
      transform:translateY(100%);visibility:hidden;
      transition:transform .8s var(--ease),visibility 0s linear .8s;
    }
    .case.open{transform:translateY(0);visibility:visible;transition:transform .8s var(--ease),visibility 0s}
    .case-bar{
      position:sticky;top:0;z-index:5;
      display:flex;justify-content:space-between;align-items:center;
      padding:18px var(--pad);background:rgba(243,241,236,.82);backdrop-filter:blur(14px);
      border-bottom:1px solid var(--line)
    }
    .case-close{font-size:10px;text-transform:uppercase;letter-spacing:.12em}
    .case-inner{max-width:1700px;margin:auto;padding:70px var(--pad) 130px}
    .case-header{display:grid;grid-template-columns:3fr 1fr;gap:50px;align-items:end;margin-bottom:60px}
    .case-title{font:600 clamp(70px,12vw,190px)/.82 var(--serif);letter-spacing:-.075em;margin:0}
    .case-intro{font-size:15px;line-height:1.55;max-width:480px;color:var(--muted)}
    .case-facts{
      border-top:1px solid var(--line);border-bottom:1px solid var(--line);
      padding:16px 0;margin:0 0 55px;display:grid;grid-template-columns:repeat(4,1fr);gap:25px
    }
    .fact small{display:block;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
    .fact b{font:500 16px var(--serif)}
    .case-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
    .case-media{position:relative;background:#dedad2;min-height:35vw;overflow:hidden}
    .case-media img,.case-media video{width:100%;height:100%;object-fit:cover}
    .span-12{grid-column:1/13}
    .span-8{grid-column:1/9}.span-4{grid-column:9/13}
    .span-6{grid-column:1/7}.span-6b{grid-column:7/13}
    .case-caption{grid-column:1/13;padding:10px 0 25px;font-size:11px;color:var(--muted);line-height:1.5}
    .case-end{display:grid;grid-template-columns:2fr 3fr;gap:30px;padding-top:90px;border-top:1px solid var(--line);margin-top:90px}
    .case-end h3{font:500 35px/1 var(--serif);margin:0}
    .case-end p{font-size:15px;line-height:1.6;max-width:560px;color:var(--muted);margin:0}

    .menu-panel{
      position:fixed;inset:0;z-index:850;background:var(--ink);color:var(--paper);
      display:none;flex-direction:column;justify-content:space-between;padding:90px var(--pad) 30px
    }
    .menu-panel.open{display:flex}
    .menu-links{display:flex;flex-direction:column;gap:5px}
    .menu-links a{font:600 clamp(60px,11vw,150px)/.82 var(--serif);letter-spacing:-.075em}
    .menu-links small{font:10px;letter-spacing:.13em;text-transform:uppercase;color:rgba(243,241,236,.52)}
    .menu-footer{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;text-transform:uppercase}

    @media (max-width: 980px){
      body{cursor:auto}
      .site-header{grid-template-columns:1fr auto}
      .role{display:none}.menu-button{display:block}
      .header-right .lang{display:none}
      .hero{grid-template-columns:1fr;padding-top:100px}
      .hero-kicker,.hero-title,.hero-foot{grid-column:1}
      .hero-title{font-size:clamp(62px,18vw,140px)}
      .hero-title .line2{margin-left:12vw}
      .hero-foot{align-items:end}
      .section-head{grid-template-columns:1fr auto}
      .section-title{grid-column:1/-1;grid-row:2}
      .section-index{grid-column:2;grid-row:1}
      .work{grid-template-columns:1fr 1fr;gap:22px;min-height:0;padding:55px 0}
      .work-meta{grid-column:1/2}.work-name{grid-column:1/-1;grid-row:2;font-size:clamp(54px,12vw,110px);margin-bottom:8px}
      .work-thumb{grid-column:1/-1;grid-row:3;min-height:62vw;max-height:75vh}
      .work-award{grid-column:1/2;grid-row:4}
      .work-open{grid-column:2/3;grid-row:4}
      .categories{grid-template-columns:1fr}
      .about{grid-template-columns:1fr 1fr}
      .about-copy{grid-column:1/-1}
      .portrait{grid-column:2}
      .about-small{grid-column:1}
      .case-header{grid-template-columns:1fr}.case-facts{grid-template-columns:1fr 1fr}.case-grid{gap:10px}
      .span-8,.span-4,.span-6,.span-6b{grid-column:1/13}
      .case-end{grid-template-columns:1fr}
    }

    @media (max-width: 640px){
      .hero{padding-bottom:18px}
      .hero-title{font-size:clamp(54px,19vw,110px)}
      .hero-tagline{font-size:14px}
      .scroll-cue{display:none}
      .work-thumb{min-height:75vw}
      .about{grid-template-columns:1fr}
      .portrait,.about-small{grid-column:1}
      .portrait{order:2}.about-small{order:3}
      .contact-line{font-size:clamp(54px,18vw,100px)}
      .contact-line .second{margin-left:6vw}
      .contact-bottom{align-items:flex-start;flex-direction:column}
      .case-inner{padding-top:40px}
      .case-facts{grid-template-columns:1fr 1fr}
      .case-title{font-size:clamp(64px,18vw,120px)}
      .footer{flex-direction:column}
    }

    .reveal{opacity:0;transform:translateY(30px)}
    .ready .reveal{transition:opacity .9s var(--ease), transform .9s var(--ease)}
    .ready .reveal.in{opacity:1;transform:none}
  /* Production layer: progressive enhancement, accessible navigation, responsive cases. */
body,button{cursor:auto}button{cursor:pointer}.cursor{display:none}a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid currentColor;outline-offset:5px}html{scroll-padding-top:90px}.site-header{background:rgba(243,241,236,.94);backdrop-filter:blur(12px);grid-template-columns:1fr auto auto;gap:30px}.desktop-nav{display:flex;gap:24px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.header-right{gap:20px}.lang a.active{font-weight:700}.skip-link{position:absolute;top:0;left:20px;z-index:2000;background:var(--ink);color:var(--paper);padding:15px;transform:translateY(-120%)}.skip-link:focus{transform:none}.hero-title{font-size:clamp(76px,14.3vw,220px)}.hero-title .name-row{display:block;position:relative}.hero-title .name-row:last-child{margin-left:10vw}.title-original{display:block}.sliced .title-original{visibility:hidden}.type-slice{position:absolute;inset:0;display:block;clip-path:inset(var(--cut1) 0 var(--cut2) 0);animation:slice-enter 1.6s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--delay);will-change:transform}.hero-title{overflow:visible}@keyframes slice-enter{0%{transform:translateX(var(--from));opacity:0}12%{opacity:1}100%{transform:none;opacity:1}}.hero{min-height:max(620px,100svh);overflow:hidden}.hero-kicker{grid-column:1/8}.hero-foot{padding-top:30px}.work{min-height:560px}.work-thumb{grid-column:6/13;grid-row:1;aspect-ratio:1.28;min-height:0}.work-meta{grid-row:1}.work-name{grid-column:3/9;grid-row:1;mix-blend-mode:difference;color:white;overflow-wrap:normal;max-width:800px}.work-name.standalone{grid-column:3/6;mix-blend-mode:normal;color:var(--ink);font-size:clamp(35px,4.5vw,76px);padding-right:20px}.work-award,.work-open{grid-row:2;padding-top:20px}.work-thumb img{filter:none}.work-thumb:hover img{transform:scale(1)}.work-no{font-size:14px}.all-work-link{display:flex;justify-content:space-between;gap:20px;margin-top:40px;padding:22px 0;border-bottom:1px solid var(--ink);font:500 clamp(28px,4vw,60px)/1 var(--serif);letter-spacing:-.05em}.lab-section{background:#191917;color:var(--paper)}.lab-section .section-head{border-color:#484840}.lab-section .eyebrow,.lab-section .section-index{color:#b9b6ae}.lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px}.lab-card:nth-child(2){padding-top:110px}.lab-card img{height:340px;width:100%;object-fit:cover;background:#292925}.lab-card h3{font:500 clamp(30px,4vw,58px)/1 var(--serif);letter-spacing:-.055em;margin:24px 0 15px}.lab-card p{font-size:14px;line-height:1.6;max-width:440px;color:#b9b6ae}.home-about{display:grid;grid-template-columns:2fr 6fr 2fr;gap:35px}.home-about .big{font:500 clamp(32px,5vw,78px)/1.03 var(--serif);letter-spacing:-.055em;margin:0}.home-about .aside{font-size:14px;line-height:1.65;color:var(--muted)}.text-link{display:inline-block;margin-top:24px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid;padding-bottom:8px}.contact{gap:60px;min-height:650px}.contact-line{font-weight:500}.contact-bottom{font-size:13px;line-height:1.8;align-items:end;flex-wrap:wrap}.contact-bottom a{display:table;border-bottom:1px solid #77756d;overflow-wrap:anywhere}.contact-email{font-size:clamp(15px,2vw,24px);letter-spacing:-.02em}.page-top{padding:140px var(--pad) 65px}.page-title{font:500 clamp(60px,11vw,170px)/.88 var(--serif);letter-spacing:-.075em;margin:30px 0}.page-deck{font-size:17px;line-height:1.6;max-width:620px;margin-left:25%}.filters{display:flex;flex-wrap:wrap;gap:12px;padding:0 var(--pad) 20px}.filters button{border:1px solid var(--line);padding:12px 17px;font-size:11px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.filter-status{padding:0 var(--pad);font-size:12px;color:var(--muted);min-height:20px}.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 24px;align-items:start;padding:20px var(--pad) 120px}.archive-card:nth-child(3n+2){margin-top:70px}.archive-card[hidden]{display:none}.archive-card img{width:100%;height:310px;object-fit:cover;background:#e1ddd4}.archive-card h2{font:500 32px/1 var(--serif);letter-spacing:-.045em;margin:20px 0 10px}.archive-card p{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.type-cover{display:flex;align-items:center;justify-content:center;aspect-ratio:1.25;min-height:280px;padding:30px;background:#d7d1c5;font:500 clamp(30px,4vw,60px)/1 var(--serif);letter-spacing:-.05em}.about-story{display:grid;grid-template-columns:2fr 6fr;gap:45px;padding-top:0}.about-story .lead{font:500 clamp(28px,3.6vw,54px)/1.12 var(--serif);letter-spacing:-.04em;margin-top:0}.about-story p{font-size:17px;line-height:1.7;max-width:850px}.timeline{padding:0 var(--pad) 100px}.timeline-row{display:grid;grid-template-columns:2fr 3fr 4fr;gap:35px;padding:26px 0;border-top:1px solid var(--line)}.timeline-row h3{font:500 29px/1 var(--serif);letter-spacing:-.04em;margin:0 0 10px}.timeline-row p{font-size:14px;line-height:1.6;margin:0;color:var(--muted)}.timeline-row small{font-size:11px;color:var(--muted)}.about-extras{padding:0 var(--pad) 120px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.about-extras h2{font:500 40px/1 var(--serif);letter-spacing:-.04em}.about-extras p{font-size:15px;line-height:1.7}.case-dialog{border:0;padding:0;width:100%;height:100%;max-width:none;max-height:none;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain}.case-dialog::backdrop{background:#1118}.case-dialog[open]{animation:case-enter .7s var(--ease)}@keyframes case-enter{from{transform:translateY(100%)}to{transform:none}}.case-bar{gap:20px;flex-wrap:wrap}.case-bar button,.case-bar a{font-size:11px;letter-spacing:.08em;text-transform:uppercase}.case-toolbar{display:flex;gap:24px;align-items:center}.case-title{font-weight:500;overflow-wrap:break-word}.case-header{grid-template-columns:3fr 1.3fr}.case-intro{color:var(--ink)}.case-facts{grid-template-columns:repeat(3,1fr)}.case-facts small{font-size:10px}.case-media{min-height:0;background:transparent;overflow:visible;margin:0;align-self:start}.case-media img{width:100%;height:auto;object-fit:contain;background:#e3dfd6}.case-media button{width:100%;display:block}.case-media video{width:100%;height:auto;max-height:85svh;object-fit:contain;background:#171714}.case-media figcaption{font-size:10px;line-height:1.5;color:var(--muted);margin:10px 0 16px}.case-grid{gap:24px 16px}.case-media.half{grid-column:span 6}.case-media.wide{grid-column:1/13}.case-solution{display:grid;grid-template-columns:1fr 2fr;gap:45px;border-top:1px solid var(--line);padding:45px 0;margin-top:45px}.case-solution h2{font:500 38px/1 var(--serif);letter-spacing:-.045em;margin:0}.case-solution p{font-size:17px;line-height:1.65;margin:0;max-width:740px}.credits{border-top:1px solid var(--line);padding-top:25px;margin-top:30px}.credits summary{font-size:12px;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.credits dl{display:grid;grid-template-columns:1fr 2fr;gap:15px;font-size:13px;line-height:1.6}.credits dd{margin:0}.credits dt{color:var(--muted)}.award-list{padding:20px 0 35px}.award-list p{font:500 25px/1.25 var(--serif);letter-spacing:-.03em;margin:10px 0}.prototype{padding:28px;background:#e4e0d6;margin:40px 0}.proto-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.proto-head h2{font:500 30px/1 var(--serif);letter-spacing:-.04em;margin:0}.proto-head select{font:12px var(--sans);max-width:100%;padding:10px;background:var(--paper);border:1px solid var(--line)}.proto-frame{min-height:350px;display:grid;place-items:center;background:var(--paper)}.proto-frame.mobile{max-width:400px;min-height:650px;margin:auto}.proto-frame iframe{width:100%;height:660px;border:0;background:white}.proto-load{padding:16px 22px;background:var(--ink);color:var(--paper);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.proto-note{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:15px;line-height:1.5}.proto-note a{text-decoration:underline}.case-next{display:block;border-top:1px solid var(--line);padding-top:25px;margin-top:70px;font:500 clamp(32px,5vw,70px)/1.05 var(--serif);letter-spacing:-.045em}.case-next small{display:block;font:10px var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px}.lightbox{border:0;background:#151513;color:white;padding:20px;width:96vw;height:94svh;max-width:none;max-height:none}.lightbox::backdrop{background:#000d}.lightbox img{width:100%;height:calc(100% - 50px);object-fit:contain}.lightbox button{display:block;margin-left:auto;color:white;padding:10px}.standalone-case{padding-top:70px}.share-status{font-size:11px}.menu-button{display:none}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.motion-ready .reveal.in{opacity:1;transform:none}
@media(max-width:1100px){.role{display:none}.site-header{grid-template-columns:1fr auto auto}.desktop-nav{gap:15px}.archive-grid{grid-template-columns:1fr 1fr}.archive-card:nth-child(3n+2){margin-top:0}.archive-card:nth-child(even){margin-top:55px}.home-about{grid-template-columns:1fr 3fr}.home-about .aside{grid-column:2}.work{min-height:430px}}
@media(max-width:980px){.work-meta{grid-column:1/3;grid-row:1}.work-name,.work-name.standalone{grid-column:1/-1;grid-row:2;font-size:clamp(45px,10vw,90px);mix-blend-mode:normal;color:var(--ink);padding:0}.work-thumb{grid-column:1/-1;grid-row:3;aspect-ratio:1.3;min-height:0}.work-award{grid-column:1;grid-row:4}.work-open{grid-column:2;grid-row:4}.header-right .lang{display:block}.menu-button{display:none}.case-header{grid-template-columns:1fr}}
@media(max-width:720px){.site-header{gap:15px}.desktop-nav{display:none;position:absolute;top:59px;left:0;right:0;padding:25px var(--pad);background:var(--paper);border-bottom:1px solid var(--line);font-size:24px;letter-spacing:-.04em;text-transform:none;flex-direction:column}.desktop-nav.open{display:flex}.menu-button{display:block}.hero-title{font-size:20vw}.hero-title .name-row:last-child{margin-left:3vw}.hero{min-height:max(570px,92svh);padding-top:110px}.hero-kicker{grid-column:1}.lab-grid{grid-template-columns:1fr;gap:45px}.lab-card:nth-child(2){padding-top:0}.lab-card img{height:300px}.home-about{display:block}.home-about .big{margin-top:25px;font-size:38px}.home-about .aside{margin-top:30px;max-width:300px}.page-top{padding-top:110px}.page-title{font-size:clamp(54px,13vw,100px)}.page-deck{margin-left:0;font-size:15px}.archive-card img{height:240px}.archive-card h2{font-size:25px}.about-story{display:block}.about-story .lead{font-size:32px;margin-top:30px}.timeline-row{grid-template-columns:1fr 2fr;gap:15px}.timeline-row p{grid-column:2}.timeline-row h3{font-size:25px}.about-extras{grid-template-columns:1fr;gap:30px}.case-solution{grid-template-columns:1fr;gap:25px}.case-facts{grid-template-columns:1fr 1fr}.case-media.half{grid-column:1/13}.proto-head{flex-direction:column;align-items:start}.prototype{padding:18px}.proto-frame iframe{height:530px}.proto-frame.mobile{min-height:600px}.proto-frame.mobile iframe{height:600px}.credits dl{grid-template-columns:1fr;gap:5px}.credits dd{margin-bottom:15px}.contact{min-height:600px}.case-title{font-size:clamp(49px,12vw,92px)}.case-toolbar{gap:16px}.case-bar .brand{display:none}.case-solution p{font-size:15px}.section{padding-top:80px;padding-bottom:80px}}
@media(max-width:420px){.archive-grid{grid-template-columns:1fr}.archive-card:nth-child(even){margin-top:0}.archive-card img{height:300px}.hero-title{font-size:20vw}.case-toolbar{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.type-slice{display:none}.sliced .title-original{visibility:visible}.motion-ready .reveal{opacity:1;transform:none}.hero-title .name-row{transform:none!important;opacity:1!important}}
/* Final component alignment */
@keyframes slice-enter{0%{transform:translateX(var(--start-x));opacity:0}12%{opacity:1}100%{transform:none;opacity:1}}
.motion-ready .reveal.visible{opacity:1;transform:none}.eyebrow{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.section-head h2{font:500 clamp(26px,3vw,44px)/1.1 var(--serif);letter-spacing:-.045em;margin:0}.section-head{display:flex;justify-content:space-between;gap:25px;align-items:baseline}.section-head>span{font-size:11px}.work-meta{display:flex;flex-direction:column;gap:14px}.work-name{z-index:2;pointer-events:none}.home-about{grid-template-columns:3fr 2fr}.home-about .aside{max-width:400px}.about-story{grid-template-columns:3fr 2fr}.about-story p.lead{font:500 clamp(30px,3.8vw,58px)/1.15 var(--serif);letter-spacing:-.045em}.case-header{display:block}.case-title{max-width:1150px;margin:25px 0}.case-intro{max-width:820px;margin:35px 0;font:500 clamp(24px,3vw,42px)/1.2 var(--serif);letter-spacing:-.035em}.case-facts{display:grid;gap:25px;margin-top:45px}.fact span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}.fact strong{font-size:14px;font-weight:400}.case-solution h2{margin-bottom:22px}.case-toolbar{position:sticky;top:0;z-index:10;padding:20px var(--pad);background:var(--paper);border-bottom:1px solid var(--line);min-height:64px}.case-toolbar button{font-size:12px;text-transform:uppercase}.case-toolbar [data-share]{margin-left:auto}.case-award{font-size:13px;border-top:1px solid var(--line);padding-top:16px}.archive-section{padding-top:0}.archive-section .archive-grid,.archive-section .filters,.archive-section .filter-status{padding-left:0;padding-right:0}.archive-meta span{font-size:11px;color:var(--muted)}.lab-grid .archive-card:nth-child(2){margin-top:100px}.lab-grid .archive-card img{height:390px}.lab-grid .archive-meta span{color:#b9b6ae}.mobile-menu{position:fixed;z-index:490;inset:56px 0 auto;background:var(--paper);padding:30px var(--pad);border-bottom:1px solid var(--line)}.mobile-menu:not([hidden]){display:flex;flex-direction:column;gap:20px;font:500 34px var(--serif)}.timeline,.about-extras{padding-left:0;padding-right:0;padding-bottom:40px}.about-extras{grid-template-columns:repeat(3,1fr)}.contact-line{display:block}.case-media .zoom-image{cursor:zoom-in}.proto-external{font-size:11px;text-decoration:underline}.archive-image{overflow:hidden}.archive-card:hover img{transform:scale(1.025);transition:transform .6s var(--ease)}.language-link{font-size:11px}.case-inner{max-width:1440px;margin:auto}.footer{gap:20px}
@media(max-width:980px){.work-name{mix-blend-mode:normal;color:var(--ink)}}
@media(max-width:720px){.home-about,.about-story{display:block}.home-about .aside{max-width:100%}.about-story p.lead{font-size:32px}.lab-grid .archive-card:nth-child(2){margin-top:0}.lab-grid .archive-card img{height:300px}.about-extras{grid-template-columns:1fr}.case-facts{grid-template-columns:1fr 1fr}.section-head{align-items:start}.section-head>span{max-width:100px}.share-status{max-width:130px}.contact-line{font-size:clamp(43px,12.5vw,90px);overflow-wrap:break-word}}

@media(min-width:981px){.work-meta{grid-column:1/3}.work-name.standalone{font-size:clamp(30px,4vw,65px);overflow-wrap:normal}.work:nth-child(2n) .work-thumb{aspect-ratio:1.05}}
