:root{
    --paper:#f3f1ea;
    --paper-2:#eceadf;
    --ink:#141209;
    --ink-2:#3a372d;
    --muted:#8f8b7d;
    --accent:oklch(0.62 0.21 28);
    --line:#141209;
    --hairline:rgba(20,18,9,.16);
    --disp:"Helvetica Neue",Helvetica,"Arial Nova",Arial,sans-serif;
    --mono:"Space Mono",ui-monospace,monospace;
    --maxw:1480px;
    --pad:clamp(20px,5vw,76px);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;background:var(--paper);color:var(--ink);
    font-family:var(--disp);
    -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
    overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}
  .mono{font-family:var(--mono);}
  .kick{font-family:var(--mono);font-size:clamp(10px,1vw,12px);letter-spacing:.22em;text-transform:uppercase;}

  /* ---------------- header ---------------- */
  header.nav{
    position:fixed;top:0;left:0;right:0;z-index:60;
    display:flex;align-items:center;gap:24px;
    padding:18px var(--pad);
    mix-blend-mode:normal;
    transition:background .4s ease, padding .4s ease, color .4s ease, border-color .4s;
    border-bottom:1px solid transparent;
    color:#fff;
  }
  header.nav .logo{height:26px;width:auto;transition:opacity .3s;}
  header.nav .logo.dark{display:none;}
  header.nav nav{margin-left:auto;display:flex;gap:clamp(14px,2.2vw,40px);align-items:center;}
  header.nav nav a{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;position:relative;padding:4px 0;}
  header.nav nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:currentColor;transition:right .3s ease;}
  header.nav nav a:hover::after{right:0;}
  header.nav .cta{border:1.5px solid currentColor;border-radius:40px;padding:9px 18px;}
  header.nav .cta::after{display:none;}
  header.nav.scrolled{
    background:var(--paper);color:var(--ink);
    border-bottom-color:var(--hairline);
    padding-top:13px;padding-bottom:13px;
  }
  header.nav.scrolled .logo.light{display:none;}
  header.nav.scrolled .logo.dark{display:block;}

  /* ---------------- hero ---------------- */
  .hero{position:relative;height:100svh;min-height:560px;width:100%;overflow:hidden;background:#0e0d08;}
  .hero image-slot,.hero .hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:none;background:#0e0d08;}
  .hero .scrim{position:absolute;inset:0;background:
      linear-gradient(180deg,rgba(8,7,4,.46) 0%,rgba(8,7,4,0) 26%,rgba(8,7,4,0) 52%,rgba(8,7,4,.62) 100%);
    z-index:2;pointer-events:none;}
  .hero .inner{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;padding:0 var(--pad) clamp(26px,4vw,52px);color:#fff;}
  .hero .topline{position:absolute;top:clamp(86px,11vh,128px);left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;gap:20px;color:#fff;}
  .hero h1{
    font-size:clamp(64px,17.5vw,280px);line-height:.82;letter-spacing:-.045em;
    font-weight:700;margin:0;text-transform:uppercase;
  }
  .hero .sub{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:clamp(14px,2vw,26px);flex-wrap:wrap;}
  .hero .sub p{max-width:30ch;font-size:clamp(14px,1.3vw,18px);line-height:1.4;color:#efeada;margin:0;}
  .hero .cue{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#efeada;}
  .hero .cue .ln{width:46px;height:1px;background:currentColor;display:inline-block;animation:cue 2.4s ease-in-out infinite;transform-origin:left;}
  @keyframes cue{0%,100%{transform:scaleX(.4);opacity:.5}50%{transform:scaleX(1);opacity:1}}

  /* ---------------- marquee ---------------- */
  .marquee{background:var(--ink);color:var(--paper);overflow:hidden;border-top:1px solid var(--ink);}
  .marquee .track{display:flex;gap:0;white-space:nowrap;width:max-content;animation:scroll 38s linear infinite;}
  .marquee span{font-family:var(--mono);font-size:clamp(12px,1.4vw,15px);letter-spacing:.18em;text-transform:uppercase;padding:13px 0;}
  .marquee .dot{padding:13px 26px;color:var(--accent);}
  @keyframes scroll{to{transform:translateX(-50%)}}

  /* ---------------- section scaffolding ---------------- */
  section{padding-block:clamp(60px,9vw,140px);}
  .wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad);}
  .eyebrow{display:flex;align-items:center;gap:12px;color:var(--accent);font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:28px;}
  .eyebrow::before{content:"";width:34px;height:1.5px;background:var(--accent);display:inline-block;}

  /* statement */
  .statement .wrap{display:grid;grid-template-columns:1fr;gap:0;}
  .statement p{
    font-size:clamp(30px,5.4vw,84px);line-height:1.02;letter-spacing:-.03em;
    margin:0;max-width:20ch;text-wrap:balance;
  }
  .statement em{font-style:normal;color:var(--accent);}
  .statement .foot{display:flex;gap:40px;margin-top:clamp(30px,4vw,56px);flex-wrap:wrap;}
  .statement .foot p{font-size:clamp(15px,1.3vw,18px);line-height:1.5;letter-spacing:0;max-width:38ch;color:var(--ink-2);}

  /* work */
  .work{background:var(--paper);}
  .work .head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(34px,4vw,60px);}
  .work .head h2{font-size:clamp(34px,5vw,76px);letter-spacing:-.03em;line-height:.92;margin:0;text-transform:uppercase;}
  .case{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,64px);align-items:center;margin-bottom:clamp(46px,7vw,120px);}
  .case:last-child{margin-bottom:0;}
  .case .media{position:relative;overflow:hidden;aspect-ratio:4/5;background:var(--paper-2);}
  .case .media image-slot{width:100%;height:100%;transition:transform 1.1s cubic-bezier(.2,.7,.2,1);}
  .case:hover .media image-slot{transform:scale(1.045);}
  .case .media .tagnum{position:absolute;top:16px;left:16px;z-index:4;font-family:var(--mono);font-size:12px;letter-spacing:.14em;background:var(--paper);color:var(--ink);padding:6px 11px;}
  .case.flip .media{order:2;}
  .case .info .meta{display:flex;gap:18px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;}
  .case .info h3{font-size:clamp(30px,4.4vw,64px);letter-spacing:-.03em;line-height:.96;margin:0 0 18px;text-transform:uppercase;}
  .case .info p{font-size:clamp(15px,1.3vw,18px);line-height:1.55;color:var(--ink-2);max-width:40ch;margin:0 0 26px;}
  .link{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1.5px solid var(--ink);padding-bottom:5px;transition:gap .3s,color .3s,border-color .3s;}
  .link:hover{gap:20px;color:var(--accent);border-color:var(--accent);}
  .link .ar{transition:transform .3s;}
  .link:hover .ar{transform:translateX(4px);}

  /* services index */
  .services{background:var(--ink);color:var(--paper);}
  .services .eyebrow{color:var(--accent);}
  .services .head h2{font-size:clamp(34px,5vw,76px);letter-spacing:-.03em;margin:0 0 clamp(30px,4vw,56px);text-transform:uppercase;line-height:.92;}
  .svc{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,2.4fr) minmax(0,2fr) auto;gap:20px;align-items:baseline;
    padding:clamp(22px,3vw,38px) 0;border-top:1px solid rgba(243,241,234,.18);transition:padding-left .4s ease;}
  .svc:last-child{border-bottom:1px solid rgba(243,241,234,.18);}
  .svc .n{font-family:var(--mono);font-size:13px;letter-spacing:.1em;color:var(--accent);}
  .svc .nm{font-size:clamp(24px,3.4vw,50px);letter-spacing:-.02em;line-height:1;text-transform:uppercase;transition:color .3s;}
  .svc .ds{font-size:clamp(14px,1.15vw,16px);line-height:1.5;color:rgba(243,241,234,.66);}
  .svc .go{font-family:var(--mono);font-size:20px;color:rgba(243,241,234,.5);transition:transform .35s,color .35s;}
  .svc:hover{padding-left:clamp(8px,1.6vw,26px);}
  .svc:hover .nm{color:var(--accent);}
  .svc:hover .go{color:var(--accent);transform:translateX(6px);}

  /* studio teaser */
  .studio .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,5vw,80px);align-items:center;}
  .studio .media{aspect-ratio:3/4;overflow:hidden;background:var(--paper-2);}
  .studio .media image-slot{width:100%;height:100%;}
  .studio h2{font-size:clamp(30px,4.4vw,66px);letter-spacing:-.03em;line-height:.98;margin:0 0 22px;text-transform:none;}
  .studio h2 em{font-style:normal;color:var(--accent);}
  .studio p{font-size:clamp(15px,1.35vw,19px);line-height:1.55;color:var(--ink-2);max-width:46ch;margin:0 0 22px;}
  .studio .pills{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 30px;}
  .studio .pills span{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--hairline);border-radius:30px;padding:7px 14px;}

  /* cta */
  .cta-sec{background:var(--accent);color:#fff;text-align:center;}
  .cta-sec .wrap{display:flex;flex-direction:column;align-items:center;gap:clamp(20px,3vw,38px);}
  .cta-sec .big{font-size:clamp(64px,16vw,260px);line-height:.82;letter-spacing:-.05em;margin:0;text-transform:uppercase;font-weight:700;}
  .cta-sec a.mail{font-family:var(--mono);font-size:clamp(15px,1.6vw,22px);letter-spacing:.06em;border-bottom:2px solid rgba(255,255,255,.55);padding-bottom:6px;transition:border-color .3s;}
  .cta-sec a.mail:hover{border-color:#fff;}
  .cta-sec .row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.85;}

  /* footer */
  footer{background:var(--ink);color:var(--paper);padding:clamp(46px,6vw,84px) var(--pad) 34px;}
  footer .grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px;align-items:start;}
  footer .brand img{height:44px;margin-bottom:18px;}
  footer .brand p{font-family:var(--mono);font-size:12px;letter-spacing:.04em;line-height:1.8;color:rgba(243,241,234,.6);text-transform:uppercase;margin:0;}
  footer h4{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 16px;}
  footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
  footer ul a{font-size:15px;color:rgba(243,241,234,.85);transition:color .25s;}
  footer ul a:hover{color:#fff;}
  footer .legal{max-width:var(--maxw);margin:clamp(44px,6vw,76px) auto 0;padding-top:22px;border-top:1px solid rgba(243,241,234,.16);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(243,241,234,.5);}

  /* reveal motion */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);}
  .reveal.in{opacity:1;transform:none;}
  body.no-motion .reveal{opacity:1;transform:none;transition:none;}
  body.no-motion .case:hover .media image-slot{transform:none;}
  body.no-motion .hero .cue .ln{animation:none;}
  body.no-motion .marquee .track{animation:none;}
  @media(prefers-reduced-motion:reduce){
    .reveal{opacity:1;transform:none;transition:none;}
    .marquee .track,.hero .cue .ln{animation:none;}
  }

  /* ---------------- case study ---------------- */
  .cs-hero{position:relative;height:88svh;min-height:520px;overflow:hidden;background:#0e0d08;}
  .cs-hero .media,.cs-hero .media iframe,.cs-hero .media img{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover;}
  .cs-hero .scrim{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(8,7,4,.5) 0%,rgba(8,7,4,0) 32%,rgba(8,7,4,0) 46%,rgba(8,7,4,.72) 100%);}
  .cs-hero .inner{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;padding:0 var(--pad) clamp(28px,4vw,56px);color:#fff;}
  .cs-back{position:absolute;top:clamp(88px,11vh,124px);left:var(--pad);z-index:4;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#f3f1ea;display:inline-flex;gap:9px;align-items:center;transition:gap .3s;}
  .cs-back:hover{gap:15px;color:#fff;}
  .cs-hero .cs-kicker{font-family:var(--mono);font-size:clamp(10px,1vw,12px);letter-spacing:.22em;text-transform:uppercase;color:#efeada;margin-bottom:clamp(12px,1.6vw,20px);}
  .cs-title{font-size:clamp(46px,10vw,148px);line-height:.86;letter-spacing:-.045em;text-transform:uppercase;font-weight:700;margin:0;}
  .cs-hero .cs-sub{font-size:clamp(14px,1.3vw,19px);line-height:1.4;color:#efeada;max-width:34ch;margin:clamp(14px,1.8vw,22px) 0 0;}

  .cs-meta{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--hairline);}
  .cs-meta .m{padding:clamp(22px,2.6vw,34px) clamp(16px,2vw,28px);border-left:1px solid var(--hairline);}
  .cs-meta .m:first-child{border-left:none;padding-left:0;}
  .cs-meta h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 10px;}
  .cs-meta p{margin:0;font-size:clamp(15px,1.3vw,18px);line-height:1.4;letter-spacing:-.01em;}

  .cs-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(26px,5vw,84px);align-items:start;}
  .cs-lead{font-size:clamp(24px,3.6vw,54px);line-height:1.06;letter-spacing:-.03em;margin:0;text-wrap:pretty;}
  .cs-lead em{font-style:normal;color:var(--accent);}
  .cs-intro .body p{font-size:clamp(15px,1.35vw,19px);line-height:1.6;color:var(--ink-2);margin:0 0 16px;}
  .cs-intro .body p:last-child{margin-bottom:0;}

  .cs-block{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,2fr);gap:clamp(18px,3vw,56px);padding:clamp(34px,5vw,76px) 0;border-top:1px solid var(--hairline);}
  .cs-block .n{font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--accent);}
  .cs-block h2{font-size:clamp(26px,3.6vw,52px);letter-spacing:-.03em;line-height:1;margin:0 0 18px;text-transform:uppercase;}
  .cs-block p{font-size:clamp(15px,1.35vw,19px);line-height:1.6;color:var(--ink-2);margin:0 0 16px;max-width:52ch;}
  .cs-block p:last-child{margin-bottom:0;}
  .cs-list{list-style:none;margin:22px 0 0;padding:0;}
  .cs-list li{display:flex;gap:14px;align-items:baseline;padding:12px 0;border-top:1px solid var(--hairline);font-size:clamp(14px,1.2vw,17px);}
  .cs-list li::before{content:"";width:7px;height:7px;background:var(--accent);flex:none;}

  .cs-full{width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--paper-2);}
  .cs-full img,.cs-full iframe{width:100%;height:100%;object-fit:cover;border:0;display:block;}
  .cs-duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,30px);}
  .cs-gal{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(12px,1.6vw,24px);}
  .cs-gal .cell{overflow:hidden;background:var(--paper-2);aspect-ratio:4/5;grid-column:span 2;}
  .cs-gal .cell:nth-child(1){grid-column:span 3;aspect-ratio:3/4;}
  .cs-gal .cell:nth-child(2){grid-column:span 3;aspect-ratio:3/4;}
  .cs-gal .cell:nth-child(6){grid-column:span 6;aspect-ratio:2/1;}
  .cs-gal .cell:nth-child(6) img{object-position:center 28%;}
  .cs-gal .cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.2,.7,.2,1);}
  .cs-gal .cell:hover img{transform:scale(1.04);}
  .cs-duo .cell{aspect-ratio:4/5;overflow:hidden;background:var(--paper-2);}
  .cs-duo .cell img{width:100%;height:100%;object-fit:cover;display:block;}
  .cs-cap{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:12px;}
  .cs-slot{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;background:var(--paper-2);border:1px dashed rgba(20,18,9,.18);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}

  .cs-palette{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.6vw,22px);margin-top:26px;}
  .cs-palette .sw{display:flex;flex-direction:column;gap:10px;}
  .cs-palette .chip{aspect-ratio:3/2;border:1px solid rgba(20,18,9,.10);}
  .cs-palette span{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}

  .cs-next{border-top:1px solid var(--hairline);}
  .cs-next a{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:clamp(28px,4vw,58px) 0;flex-wrap:wrap;transition:padding-left .4s;}
  .cs-next a:hover{padding-left:clamp(6px,1.4vw,22px);}
  .cs-next .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}
  .cs-next h3{font-size:clamp(28px,5vw,74px);letter-spacing:-.03em;line-height:.96;margin:8px 0 0;text-transform:uppercase;transition:color .3s;}
  .cs-next a:hover h3{color:var(--accent);}
  .cs-next .go{font-family:var(--mono);font-size:22px;transition:transform .35s,color .35s;}
  .cs-next a:hover .go{transform:translateX(7px);color:var(--accent);}

  /* ---------------- in agency ---------------- */
  .ia-bar{position:sticky;top:59px;z-index:50;background:var(--paper);border-bottom:1px solid var(--hairline);padding:14px var(--pad);display:flex;align-items:center;gap:clamp(12px,2vw,28px);flex-wrap:wrap;}
  .ia-tabs{display:flex;gap:8px;flex-wrap:wrap;}
  .ia-tab{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;border:1.5px solid var(--hairline);border-radius:30px;padding:8px 15px;background:transparent;color:var(--ink-2);cursor:pointer;transition:.25s;}
  .ia-tab:hover{border-color:var(--ink);color:var(--ink);}
  .ia-tab.on{background:var(--ink);color:var(--paper);border-color:var(--ink);}
  .ia-search{margin-left:auto;display:flex;align-items:center;gap:9px;border-bottom:1.5px solid var(--hairline);padding:6px 0;min-width:190px;}
  .ia-search input{border:none;background:transparent;outline:none;font-family:var(--disp);font-size:15px;color:var(--ink);width:100%;letter-spacing:-.01em;}
  .ia-search input::placeholder{color:var(--muted);}
  .ia-search .ico{font-family:var(--mono);font-size:13px;color:var(--muted);}
  .ia-count{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}

  .ia-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(14px,2vw,30px) clamp(12px,1.6vw,22px);}
  .ia-card{display:block;}
  .ia-shot{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--paper-2);}
  .ia-shot img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:2;transition:transform 1s cubic-bezier(.2,.7,.2,1);}
  .ia-card:hover .ia-shot img{transform:scale(1.04);}
  .ia-mono{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:clamp(30px,3.4vw,52px);letter-spacing:-.04em;color:rgba(20,18,9,.22);}
  .ia-badge{position:absolute;top:10px;left:10px;z-index:3;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;background:var(--accent);color:#fff;padding:4px 9px;}
  .ia-name{margin:12px 0 0;font-size:clamp(15px,1.2vw,18px);letter-spacing:-.01em;text-transform:uppercase;font-weight:700;}
  .ia-empty{grid-column:1 / -1;padding:50px 0;text-align:center;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}

  .ia-gate{background:var(--ink);color:var(--paper);}
  .ia-gate .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:start;}
  .ia-gate h2{font-size:clamp(28px,4.4vw,64px);letter-spacing:-.03em;line-height:.98;margin:0 0 18px;text-transform:uppercase;}
  .ia-gate p{font-size:clamp(15px,1.35vw,19px);line-height:1.6;color:rgba(243,241,234,.7);margin:0 0 14px;max-width:44ch;}
  .ia-gate .note{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(243,241,234,.45);}
  .ia-form .f{display:flex;flex-direction:column;gap:7px;padding:16px 0;border-top:1px solid rgba(243,241,234,.18);}
  .ia-form .f:first-child{border-top:none;}
  .ia-form label{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);}
  .ia-form input,.ia-form select{border:none;background:transparent;outline:none;font-family:var(--disp);font-size:clamp(17px,1.7vw,22px);color:var(--paper);letter-spacing:-.01em;width:100%;padding:3px 0;}
  .ia-form input::placeholder{color:rgba(243,241,234,.35);}
  .ia-form select option{color:#141209;}
  .ia-form .chk{flex-direction:row;align-items:flex-start;gap:11px;font-size:13px;line-height:1.5;color:rgba(243,241,234,.7);}
  .ia-form .chk input{width:17px;height:17px;flex:none;accent-color:var(--accent);margin-top:1px;}
  .ia-form button{margin-top:24px;background:var(--accent);color:#fff;border:none;border-radius:40px;padding:16px 32px;font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:opacity .3s;}
  .ia-form button:hover{opacity:.85;}
  .ia-ok{display:none;padding-top:8px;}
  .ia-ok.show{display:block;}
  .ia-ok p{font-size:clamp(19px,2.2vw,30px);letter-spacing:-.02em;color:var(--paper);margin:0 0 18px;}

  /* responsive */
  .nav-toggle{display:none;}
  @media(max-width:1100px){ .ia-grid{grid-template-columns:repeat(4,1fr);} }
  @media(max-width:860px){
    .ia-grid{grid-template-columns:repeat(2,1fr);}
    .ia-bar{top:53px;}
    .ia-search{margin-left:0;width:100%;}
    .ia-gate .wrap{grid-template-columns:1fr;}
    .cs-meta{grid-template-columns:1fr 1fr;}
    .cs-meta .m{border-left:none;border-top:1px solid var(--hairline);padding-left:0;}
    .cs-meta .m:nth-child(-n+2){border-top:none;}
    .cs-intro,.cs-block{grid-template-columns:1fr;}
    .cs-duo{grid-template-columns:1fr;}
    .cs-gal{grid-template-columns:repeat(2,1fr);}
    .cs-gal .cell,.cs-gal .cell:nth-child(1),.cs-gal .cell:nth-child(2){grid-column:span 1;aspect-ratio:4/5;}
    .cs-gal .cell:nth-child(6){grid-column:span 2;aspect-ratio:16/9;}
    .cs-palette{grid-template-columns:repeat(2,1fr);}
    .cs-full{aspect-ratio:4/3;}
  }
  @media(max-width:860px){
    .case,.studio .wrap{grid-template-columns:1fr;}
    .case.flip .media{order:0;}
    .case .media{aspect-ratio:3/2;}
    .studio .media{aspect-ratio:3/2;}
    .svc{grid-template-columns:auto 1fr auto;}
    .svc .ds{display:none;}
    footer .grid{grid-template-columns:1fr 1fr;}

    /* hamburger button */
    .nav-toggle{
      display:flex;flex-direction:column;justify-content:center;gap:5px;
      margin-left:auto;width:46px;height:46px;padding:0;border:none;background:transparent;
      cursor:pointer;color:currentColor;z-index:80;
    }
    .nav-toggle span{display:block;width:25px;height:2px;background:currentColor;margin:0 auto;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .25s;}
    header.nav.menu-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
    header.nav.menu-open .nav-toggle span:nth-child(2){opacity:0;}
    header.nav.menu-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
    header.nav.menu-open{color:var(--ink);}

    /* slide-down full panel */
    header.nav nav{
      position:fixed;left:0;right:0;top:0;
      height:100svh;margin:0;
      background:var(--paper);color:var(--ink);
      flex-direction:column;align-items:flex-start;justify-content:center;
      gap:6px;padding:90px var(--pad) 48px;
      transform:translateY(-100%);transition:transform .45s cubic-bezier(.2,.7,.2,1);
      z-index:70;
    }
    header.nav.menu-open nav{transform:translateY(0);}
    header.nav nav a{
      display:block;font-family:var(--disp);font-weight:700;
      font-size:clamp(32px,9vw,52px);letter-spacing:-.02em;text-transform:uppercase;
      padding:10px 0;color:var(--ink);
    }
    header.nav nav a::after{display:none;}
    header.nav nav a.cta{border:none;border-radius:0;padding:10px 0;color:var(--accent);}
    header.nav nav a[aria-current="page"]{color:var(--accent);}
  }
  @media(max-width:520px){
    footer .grid{grid-template-columns:1fr;}
  }

  /* tweaks mount */
  #tweaks-root{position:fixed;right:16px;bottom:16px;z-index:90;}

/* ---------------- inner pages ---------------- */
.nav nav a[aria-current="page"]{color:var(--accent);}
.page-hero{padding-top:clamp(112px,14vh,178px);padding-bottom:clamp(28px,5vw,64px);}
.page-hero .wrap{display:flex;flex-direction:column;gap:clamp(18px,2.4vw,34px);}
.page-hero .top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;}
.page-title{font-size:clamp(56px,13vw,200px);line-height:.84;letter-spacing:-.05em;text-transform:uppercase;margin:0;font-weight:700;}
.lead{font-size:clamp(17px,1.9vw,28px);line-height:1.28;letter-spacing:-.01em;max-width:30ch;color:var(--ink-2);margin:0;}
.divider{height:1px;background:var(--hairline);width:100%;}
.chips{display:flex;gap:10px;flex-wrap:wrap;}
.chip{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--hairline);border-radius:30px;padding:8px 15px;color:var(--ink-2);transition:.25s;cursor:default;}
.chip.on,.chip:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);}

/* work grid */
.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3.4vw,56px) clamp(20px,3vw,48px);}
.proj{display:block;}
.proj .media{position:relative;overflow:hidden;aspect-ratio:4/5;background:var(--paper-2);}
.proj.land .media{aspect-ratio:3/2;}
.proj .media image-slot{width:100%;height:100%;transition:transform 1.1s cubic-bezier(.2,.7,.2,1);}
.proj:hover .media image-slot{transform:scale(1.05);}
.proj .media .num{position:absolute;top:14px;left:14px;z-index:4;font-family:var(--mono);font-size:12px;letter-spacing:.14em;background:var(--paper);padding:5px 10px;}
.proj .media .play{position:absolute;z-index:4;top:50%;left:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;background:rgba(20,18,9,.42);border:1.5px solid rgba(243,241,234,.85);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;padding-left:4px;backdrop-filter:blur(2px);transition:background .3s,transform .3s;}
.proj:hover .media .play{background:var(--accent);transform:translate(-50%,-50%) scale(1.06);border-color:var(--accent);}
.proj .cap{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:16px;}
.proj .cap h3{font-size:clamp(22px,2.4vw,34px);letter-spacing:-.02em;line-height:1;margin:0;text-transform:uppercase;transition:color .3s;}
.proj:hover .cap h3{color:var(--accent);}
.proj .cap .yr{font-family:var(--mono);font-size:12px;color:var(--muted);}
.proj .tag{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:7px;}

/* service blocks */
.svc-block{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,72px);align-items:center;padding:clamp(40px,6vw,96px) 0;border-top:1px solid var(--hairline);}
.svc-block.flip .media{order:2;}
.svc-block .media{aspect-ratio:4/3;overflow:hidden;background:var(--paper-2);}
.svc-block .media image-slot{width:100%;height:100%;}
.svc-block .n{font-family:var(--mono);font-size:13px;letter-spacing:.16em;color:var(--accent);}
.svc-block h2{font-size:clamp(32px,4.6vw,68px);letter-spacing:-.03em;line-height:.96;margin:14px 0 18px;text-transform:uppercase;}
.svc-block p{font-size:clamp(15px,1.35vw,19px);line-height:1.55;color:var(--ink-2);max-width:44ch;margin:0 0 24px;}
.svc-block .deliv{display:flex;flex-direction:column;gap:0;}
.svc-block .deliv li{list-style:none;display:flex;gap:14px;align-items:baseline;padding:11px 0;border-top:1px solid var(--hairline);font-size:15px;}
.svc-block .deliv li::before{content:"";width:7px;height:7px;background:var(--accent);flex:none;}
.svc-block .deliv{padding:0;margin:0;}

/* stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,36px);}
.stats .st{border-top:2px solid var(--ink);padding-top:18px;}
.stats .st b{display:block;font-size:clamp(44px,7vw,104px);letter-spacing:-.04em;line-height:.9;}
.stats .st span{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,28px);}
.team .m .ph{aspect-ratio:3/4;overflow:hidden;background:var(--paper-2);}
.team .m image-slot{width:100%;height:100%;}
.team .m h4{font-size:18px;letter-spacing:-.01em;margin:14px 0 3px;text-transform:uppercase;}
.team .m span{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--muted);}
.approach{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,48px);}
.approach .it .n{font-family:var(--mono);font-size:13px;letter-spacing:.14em;color:var(--accent);}
.approach .it h3{font-size:clamp(20px,2.2vw,30px);letter-spacing:-.02em;margin:12px 0 10px;text-transform:uppercase;}
.approach .it p{font-size:15px;line-height:1.55;color:var(--ink-2);margin:0;}

/* contact */
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(30px,5vw,84px);align-items:start;}
.form{display:flex;flex-direction:column;gap:0;}
.form .f{display:flex;flex-direction:column;gap:8px;padding:18px 0;border-top:1px solid var(--hairline);}
.form .f:first-child{border-top:none;}
.form label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.form input,.form select,.form textarea{border:none;background:transparent;font-family:var(--disp);font-size:clamp(18px,2vw,26px);color:var(--ink);padding:4px 0;width:100%;outline:none;letter-spacing:-.01em;}
.form textarea{resize:vertical;min-height:90px;}
.form input::placeholder,.form textarea::placeholder{color:var(--muted);}
.form .submit{align-self:flex-start;margin-top:26px;background:var(--ink);color:var(--paper);border:none;border-radius:40px;padding:16px 34px;font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .3s;}
.form .submit:hover{background:var(--accent);}
.cinfo .blk{padding:22px 0;border-top:1px solid var(--hairline);}
.cinfo .blk:first-child{border-top:none;}
.cinfo h4{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 10px;}
.cinfo p,.cinfo a{font-size:clamp(16px,1.5vw,21px);line-height:1.5;color:var(--ink);letter-spacing:-.01em;display:block;}
.cinfo a:hover{color:var(--accent);}
.sent{font-size:clamp(20px,2.4vw,32px);letter-spacing:-.02em;color:var(--accent);}

@media(max-width:860px){
  .work-grid{grid-template-columns:1fr;}
  .svc-block,.contact-grid{grid-template-columns:1fr;}
  .svc-block.flip .media{order:0;}
  .stats{grid-template-columns:1fr;}
  .team{grid-template-columns:1fr 1fr;}
  .approach{grid-template-columns:1fr;}
}

/* ---------------- producción: imágenes y vídeos reales ---------------- */
.slot-img{display:block;width:100%;height:100%;object-fit:cover;border:none;}
.clients .clients-lead{font-size:clamp(15px,1.35vw,19px);line-height:1.55;color:var(--ink-2);max-width:42ch;margin:16px 0 0;}
.clients .clients-wall{display:block;width:100%;max-width:1180px;height:auto;margin:clamp(30px,4vw,56px) auto 0;}
.proj .media iframe.vid-embed,.case .media iframe.vid-embed{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:1;}
.slot-empty{width:100%;height:100%;background:var(--paper-2);}
/* hover-zoom para <img>/<video> (igual que los antiguos image-slot) */
.case .media .slot-img,.proj .media .slot-img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1);}
.case:hover .media .slot-img{transform:scale(1.045);}
.proj:hover .media .slot-img{transform:scale(1.05);}
body.no-motion .case:hover .media .slot-img,body.no-motion .proj:hover .media .slot-img{transform:none;}
@media(prefers-reduced-motion:reduce){.case .media .slot-img,.proj .media .slot-img{transition:none;}}
