
  :root{
    --ink:#1c1c17;
    --ink-line:#302f27;
    --ink-text:#edece9;
    --ink-muted:#948f80;

    --paper:#f2efe6;
    --paper-line:#dad6c8;
    --paper-text:#1c1c17;
    --paper-muted:#615a49;

    --pop:#f0432a;
    --pop-text:#b23013;
    --pop-dim:#8a2818;

    --face: 'Geist', Arial, sans-serif;
    --mono: 'Geist Mono', 'SF Mono', Menlo, monospace;

    --side: clamp(20px, 5vw, 64px);
    --maxw: 1360px;

    --fs-hero: clamp(2.6rem, 1.55rem + 4.6vw, 6.2rem);
    --fs-h1:   clamp(2.1rem, 1.5rem + 2.6vw, 3.6rem);
    --fs-h2:   clamp(1.6rem, 1.35rem + 1.1vw, 2.25rem);
    --fs-lg:   clamp(1.05rem, 0.98rem + 0.3vw, 1.2rem);
    --fs-body: 1rem;
    --fs-sm:   0.9rem;
    --fs-label:0.76rem;
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;background:#100f0c;}
  #smoke-bg{position:fixed;inset:0;width:100vw;height:100vh;z-index:-1;pointer-events:none;display:block;}
  body{
    background:transparent;
    color:var(--paper-text);
    font-family:var(--face);
    font-size:var(--fs-body);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
  }
  img{display:block;max-width:100%;height:auto;}
  a{color:inherit;text-decoration:none;}
  ul{list-style:none;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--side);}

  ::selection{background:var(--pop);color:var(--paper);}

  :focus-visible{outline:2px solid var(--pop);outline-offset:3px;}

  .label{
    font-family:var(--mono);
    font-size:var(--fs-label);
    letter-spacing:0.1em;
    text-transform:uppercase;
  }

  /* ---------- buttons ---------- */
  .btn{
    display:inline-flex;align-items:center;gap:9px;
    font-family:var(--mono);font-size:0.82rem;letter-spacing:0.04em;text-transform:uppercase;
    padding:14px 26px;border-radius:100vh;white-space:nowrap;
    transition:background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
  }
  .btn:active{transform:translateY(1px);}
  .btn-pop{background:var(--pop);color:var(--ink);}
  .btn-pop:hover{background:#f2503a;}
  .btn-ink{background:var(--ink);color:var(--ink-text);}
  .btn-ink:hover{background:#000;}
  .btn-line{border:1px solid var(--paper-line);color:var(--paper-text);}
  .btn-line:hover{border-color:var(--paper-text);}
  .btn-line-dark{border:1px solid var(--ink-line);color:var(--ink-text);}
  .btn-line-dark:hover{border-color:var(--ink-muted);}
  .btn svg{width:13px;height:13px;flex-shrink:0;}

  /* ---------- crop-mark signature ---------- */
  .crop{position:relative;}
  .crop::before,.crop::after,
  .crop .cm-tr,.crop .cm-bl{
    content:"";position:absolute;width:18px;height:18px;pointer-events:none;
  }
  .crop::before{top:0;left:0;border-top:1px solid currentColor;border-left:1px solid currentColor;}
  .crop::after{bottom:0;right:0;border-bottom:1px solid currentColor;border-right:1px solid currentColor;}
  .crop .cm-tr{top:0;right:0;border-top:1px solid currentColor;border-right:1px solid currentColor;}
  .crop .cm-bl{bottom:0;left:0;border-bottom:1px solid currentColor;border-left:1px solid currentColor;}

  /* ---------- nav ---------- */
  header.site-nav{
    position:sticky;top:0;z-index:100;
    background:var(--ink);color:var(--ink-text);
    border-bottom:1px solid var(--ink-line);
  }
  .nav-row{display:flex;align-items:center;justify-content:space-between;padding:18px var(--side);}
  .wordmark{
    display:flex;align-items:center;gap:9px;
    font-family:var(--mono);font-weight:600;font-size:0.95rem;letter-spacing:0.06em;
  }
  .wordmark svg{width:23px;height:23px;color:inherit;}
  .nav-links{display:flex;align-items:center;gap:30px;}
  .nav-links a{
    font-family:var(--mono);font-size:0.76rem;letter-spacing:0.09em;text-transform:uppercase;
    color:var(--ink-muted);transition:color .15s ease;
  }
  .nav-links a:hover{color:var(--ink-text);}
  .nav-links a.active{color:var(--pop);}

  /* ---------- scroll progress ---------- */
  .scroll-progress{
    position:absolute;left:0;bottom:-1px;height:2px;width:0;
    background:var(--pop);z-index:101;transition:width .1s linear;
  }

  /* ---------- ticker ---------- */
  .ticker{
    background:var(--ink);color:var(--ink-text);
    border-bottom:1px solid var(--ink-line);
    overflow:hidden;padding:0;
  }
  .ticker-track{
    display:flex;width:max-content;
    animation:ticker-scroll 38s linear infinite;
  }
  .ticker:hover .ticker-track{animation-play-state:paused;}
  .ticker-track > span{
    font-family:var(--mono);font-size:0.82rem;letter-spacing:0.06em;text-transform:uppercase;
    color:var(--ink-muted);padding:16px 0;white-space:nowrap;display:inline-flex;align-items:center;
  }
  .ticker-track > span b{color:var(--ink-text);font-weight:500;}
  .ticker-track .dot{color:var(--pop);padding:0 26px;font-size:0.7rem;}
  @keyframes ticker-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  /* ---------- scroll reveal ---------- */
  body.reveal-on .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);}
  body.reveal-on .reveal.in{opacity:1;transform:none;}

  /* ---------- language transition ---------- */
  #lang-transition{--lt-dur:.52s;position:fixed;inset:0;z-index:9999;background:var(--ink);color:var(--ink-text);display:none;align-items:center;justify-content:center;will-change:transform;}
  #lang-transition .lt-inner{display:flex;flex-direction:column;align-items:center;gap:14px;}
  #lang-transition .lt-star{width:40px;height:40px;color:var(--ink-text);}
  #lang-transition .lt-word{font-family:var(--mono);font-weight:600;font-size:2rem;letter-spacing:0.1em;}
  #lang-transition .lt-label{font-family:var(--mono);font-size:0.8rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-muted);}
  #lang-transition.show{display:flex;transform:translateX(100%);}
  #lang-transition.show.in{transform:translateX(0);transition:transform var(--lt-dur) cubic-bezier(.76,0,.24,1);}
  #lang-transition.cover{display:flex;transform:translateX(0);}
  #lang-transition.cover.out{transform:translateX(-100%);transition:transform var(--lt-dur) cubic-bezier(.76,0,.24,1);}
  .nav-right{display:flex;align-items:center;gap:22px;}
  .nav-burger{
    display:none;width:44px;height:44px;border:1px solid var(--ink-line);border-radius:100vh;
    align-items:center;justify-content:center;background:none;color:var(--ink-text);cursor:pointer;
  }
  .nav-burger span{display:block;width:14px;height:1px;background:currentColor;position:relative;}
  .nav-burger span::before,.nav-burger span::after{content:"";position:absolute;left:0;width:14px;height:1px;background:currentColor;}
  .nav-burger span::before{top:-4px;}
  .nav-burger span::after{top:4px;}

  .mobile-panel{
    display:none;background:var(--ink);border-bottom:1px solid var(--ink-line);
    padding:8px var(--side) 26px;
  }
  .mobile-panel a{
    display:block;padding:12px 0;border-bottom:1px solid var(--ink-line);
    font-family:var(--mono);font-size:0.85rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-text);
  }
  .mobile-panel .btn{margin-top:18px;width:100%;justify-content:center;}
  body.nav-open .mobile-panel{display:block;}

  @media (max-width:860px){
    .nav-links{display:none;}
    .nav-burger{display:inline-flex;}
    .nav-right .btn-pop{display:none;}
  }

  /* ---------- hero ---------- */
  .hero{position:relative;background:var(--ink);color:var(--ink-text);overflow:hidden;}
  .hero-media{position:relative;height:min(92vh,920px);min-height:560px;}
  .hero-media img{
    width:100%;height:100%;object-fit:cover;object-position:50% 90%;
    filter:contrast(1.12) saturate(0.9) brightness(0.75);
  }
  .hero-media::after{
    content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:
      linear-gradient(180deg, rgba(18,17,13,0.55) 0%, rgba(18,17,13,0.1) 20%, rgba(18,17,13,0.4) 48%, rgba(18,17,13,0.88) 72%, rgba(18,17,13,0.97) 100%),
      linear-gradient(90deg, rgba(18,17,13,0.55) 0%, rgba(18,17,13,0.1) 40%);
  }
  .hero-copy{
    position:absolute;left:0;right:0;bottom:0;z-index:2;
    padding:0 var(--side) clamp(34px,5vw,56px);
  }
  .hero-eyebrow{color:var(--pop);margin-bottom:18px;display:block;text-shadow:0 2px 16px rgba(0,0,0,0.7);}
  .hero h1{
    font-size:var(--fs-hero);font-weight:600;line-height:1;letter-spacing:-0.03em;
    max-width:13ch;text-shadow:0 4px 30px rgba(0,0,0,0.5);
  }
  @media (min-width:761px){
    .hero-copy{padding-right:min(360px, 30vw);}
  }
  .hero-card{
    position:absolute;right:var(--side);bottom:clamp(34px,5vw,56px);z-index:2;
    width:min(320px,80vw);background:var(--paper);color:var(--paper-text);
    padding:22px 22px 24px;
  }
  .hero-card p{font-size:0.92rem;color:var(--paper-muted);line-height:1.55;}
  .hero-card .btn-row{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap;}
  .hero-card .btn{padding:12px 16px;font-size:0.72rem;}

  @media (max-width:760px){
    .hero-media{height:auto;min-height:0;border-bottom:1px solid var(--ink-line);}
    .hero-media img{aspect-ratio:1/1;height:auto;}
    .hero-card{position:static;width:auto;margin-top:0;}
    .hero-copy{position:static;background:var(--ink);padding:28px var(--side) 0;}
    .hero-media::after{display:none;}
  }

  /* ---------- sections generic ---------- */
  section{padding:clamp(64px,9vw,120px) 0;}
  .kicker{color:var(--pop-text);margin-bottom:14px;display:block;}
  /* kickers on dark sections keep the brighter ember (passes AA on ink) */
  .big-panel .kicker,.process .kicker,.cases .kicker,.closing .kicker,.contact-form .kicker{color:var(--pop);}
  h2.head{font-size:var(--fs-h1);font-weight:600;letter-spacing:-0.025em;line-height:1.06;}

  /* ---------- statement ---------- */
  .statement{background:rgba(242,239,230,0.92);text-align:center;}
  .statement-inner{max-width:900px;margin:0 auto;}
  .statement .kicker{text-align:center;}
  .statement p.big{
    font-size:clamp(1.6rem,1.2rem+2vw,2.9rem);font-weight:500;letter-spacing:-0.02em;
    line-height:1.3;max-width:24ch;margin:0 auto;
  }
  .statement .btn-row{display:flex;gap:14px;justify-content:center;margin-top:38px;flex-wrap:wrap;}

  /* ---------- mosaic (asymmetric, labels on photo) ---------- */
  .mosaic{background:rgba(242,239,230,0.92);border-top:1px solid var(--paper-line);}
  .mosaic-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2px;background:var(--paper-line);margin-top:56px;}
  .mosaic-tile{position:relative;overflow:hidden;background:var(--ink);}
  .mosaic-media{position:relative;aspect-ratio:3/4;}
  .mosaic-media img{width:100%;height:100%;object-fit:cover;filter:saturate(0.94) contrast(1.05) brightness(0.82);transition:transform .5s ease;}
  .mosaic-tile:hover .mosaic-media img{transform:scale(1.04);}
  .mosaic-tile::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(18,17,13,0) 42%,rgba(18,17,13,0.86) 100%);}
  .mosaic-cap{position:absolute;inset-inline-start:0;inset-block-end:0;z-index:1;padding:22px 22px 24px;color:var(--ink-text);}
  .mosaic-cap .tag{font-family:var(--mono);color:var(--pop);font-size:0.8rem;letter-spacing:0.04em;text-transform:uppercase;display:block;margin-bottom:8px;}
  .mosaic-cap h3{font-size:1.1rem;font-weight:600;margin-bottom:6px;letter-spacing:-0.01em;}
  .mosaic-cap p{font-size:0.86rem;color:var(--ink-muted);max-width:30ch;}
  @media (max-width:860px){
    .mosaic-grid{grid-template-columns:1fr;}
    .mosaic-tile:nth-child(1) .mosaic-media{aspect-ratio:4/3;}
    .mosaic-tile:nth-child(2) .mosaic-media{aspect-ratio:3/4;}
    .mosaic-tile:nth-child(3) .mosaic-media{aspect-ratio:1/1;}
  }

  /* ---------- opportunity ---------- */
  .opportunity{background:rgba(242,239,230,0.92);border-top:1px solid var(--paper-line);}
  .opp-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(32px,6vw,90px);margin-top:56px;}
  .opp-copy p{font-size:var(--fs-lg);color:var(--paper-muted);max-width:46ch;}
  .opp-copy p + p{margin-top:20px;}
  .opp-copy .btn{margin-top:28px;}

  .shift-list{border-top:1px solid var(--paper-line);}
  .shift-row{
    display:grid;grid-template-columns:44px 1fr;gap:20px;align-items:start;
    padding:26px 0;border-bottom:1px solid var(--paper-line);
    transition:opacity .45s ease;
  }
  /* pin-sequence hooks (Agent C toggles .is-dim / .is-active; default = all visible) */
  .shift-row.is-dim{opacity:0.32;}
  .shift-row.is-active .shift-after{color:var(--pop-text);}
  .shift-row .num{font-family:var(--mono);color:var(--pop-text);font-size:0.82rem;padding-top:4px;}
  .shift-pair{display:flex;flex-direction:column;gap:6px;}
  .shift-before{color:var(--paper-muted);font-size:0.92rem;text-decoration:line-through;text-decoration-color:var(--paper-line);}
  .shift-after{font-size:var(--fs-lg);font-weight:500;}
  .shift-arrow{color:var(--pop-text);font-family:var(--mono);margin-inline-end:8px;}

  @media (max-width:860px){
    .opp-grid{grid-template-columns:1fr;}
  }

  /* ---------- big panel (dark, full-bleed) ---------- */
  .big-panel{position:relative;background:var(--ink);color:var(--ink-text);overflow:hidden;}
  .big-panel-media{position:absolute;inset:0;}
  .big-panel-media img{width:100%;height:100%;object-fit:cover;filter:saturate(0.85) brightness(0.55) contrast(1.05);}
  .big-panel-media::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(18,17,13,0.78),rgba(18,17,13,0.6) 45%,rgba(18,17,13,0.92));
  }
  .big-panel .wrap{position:relative;z-index:1;}
  .big-panel-head{max-width:640px;}
  .big-panel-head p{margin-top:18px;color:var(--ink-muted);font-size:var(--fs-lg);max-width:52ch;}
  .trio{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink-line);margin-top:56px;}
  .trio-item{padding:26px clamp(0px,3vw,28px) 4px 0;border-right:1px solid var(--ink-line);}
  .trio-item:last-child{border-right:none;}
  .trio-item .tag{font-family:var(--mono);color:var(--pop);font-size:0.85rem;letter-spacing:0.02em;display:block;margin-bottom:10px;}
  .trio-item p{font-size:0.9rem;color:var(--ink-muted);max-width:34ch;}
  @media (max-width:860px){
    .trio{grid-template-columns:1fr;}
    .trio-item{border-right:none;border-bottom:1px solid var(--ink-line);padding:22px 0;}
    .trio-item:last-child{border-bottom:none;}
  }

  /* ---------- split ---------- */
  .split{background:rgba(242,239,230,0.92);border-top:1px solid var(--paper-line);}
  .split-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--paper-line);margin-top:56px;}
  .split-panel{background:var(--paper);padding:clamp(28px,4vw,44px) clamp(24px,4vw,44px) clamp(36px,5vw,52px);}
  .split-media{aspect-ratio:16/10;overflow:hidden;margin-bottom:24px;}
  .split-media img{width:100%;height:100%;object-fit:cover;filter:saturate(0.95);}
  .split-panel .tag{font-family:var(--mono);color:var(--pop-text);font-size:0.82rem;letter-spacing:0.02em;display:block;margin-bottom:12px;}
  .split-panel h3{font-size:1.35rem;font-weight:600;letter-spacing:-0.01em;margin-bottom:12px;}
  .split-panel p{color:var(--paper-muted);max-width:40ch;margin-bottom:22px;font-size:0.95rem;}
  @media (max-width:860px){.split-grid{grid-template-columns:1fr;}}

  /* ---------- packages (pricing cards) ---------- */
  .services{background:rgba(242,239,230,0.92);border-top:1px solid var(--paper-line);}
  .pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.2vw,24px);margin-top:56px;align-items:stretch;}
  .pkg-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--paper-line);background:var(--paper);padding:28px 26px 30px;}
  .pkg-card.featured{border-color:var(--paper-text);}
  .pkg-num{font-family:var(--mono);color:var(--pop-text);font-size:0.82rem;letter-spacing:0.06em;display:block;margin-bottom:16px;}
  .pkg-name{font-size:1.2rem;font-weight:600;letter-spacing:-0.01em;}
  .pkg-flag{font-family:var(--mono);font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--pop-text);display:inline-block;margin-top:9px;}
  .pkg-price{font-family:var(--mono);font-size:1.15rem;font-weight:500;font-variant-numeric:tabular-nums;margin-top:16px;letter-spacing:0.01em;}
  .pkg-price .from{font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--paper-muted);display:block;margin-bottom:4px;}
  .pkg-who{color:var(--paper-muted);font-size:0.9rem;margin-top:14px;}
  .pkg-list{margin-top:20px;border-top:1px solid var(--paper-line);}
  .pkg-list li{font-size:0.9rem;line-height:1.45;padding:11px 0;border-bottom:1px solid var(--paper-line);color:var(--paper-text);}
  .pkg-cta{margin-top:auto;padding-top:24px;}
  .pkg-cta .btn{width:100%;justify-content:center;}
  .pkg-foot{margin-top:clamp(28px,4vw,40px);font-family:var(--mono);font-size:0.8rem;letter-spacing:0.02em;line-height:1.6;color:var(--paper-muted);max-width:64ch;}
  @media (max-width:860px){
    .pkg-grid{grid-template-columns:1fr;}
  }

  /* ---------- process (dark) ---------- */
  .process{background:rgba(18,17,13,0.60);color:var(--ink-text);}
  .proc-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(30px,6vw,80px);margin-top:56px;align-items:stretch;}
  .proc-media{position:relative;min-height:420px;}
  .proc-media img{width:100%;height:100%;object-fit:cover;filter:saturate(0.95) contrast(1.05);}
  .proc-media .fig{
    position:absolute;top:16px;left:16px;font-family:var(--mono);font-size:0.7rem;
    letter-spacing:0.1em;color:var(--ink-text);background:rgba(28,28,23,0.55);padding:5px 9px;
  }
  .proc-media .rot{
    position:absolute;bottom:22px;right:-14px;transform:rotate(90deg);transform-origin:right bottom;
    font-family:var(--mono);font-size:0.72rem;letter-spacing:0.16em;color:var(--ink-text);
    background:rgba(28,28,23,0.55);padding:4px 10px;
  }
  .proc-copy p.lead{font-size:var(--fs-lg);color:var(--ink-muted);max-width:52ch;margin-bottom:34px;}
  .proc-steps{border-top:1px solid var(--ink-line);}
  .proc-step{
    display:grid;grid-template-columns:52px 1fr;gap:18px;
    padding:22px 0;border-bottom:1px solid var(--ink-line);
  }
  .proc-step .num{font-family:var(--mono);color:var(--pop);font-size:0.95rem;}
  .proc-step h3{font-size:1.05rem;font-weight:600;margin-bottom:5px;}
  .proc-step p{font-size:0.9rem;color:var(--ink-muted);max-width:48ch;}

  @media (max-width:860px){
    .proc-grid{grid-template-columns:1fr;}
    .proc-media{min-height:280px;}
    .proc-media .rot{display:none;}
  }

  /* ---------- the promise (trust row) ---------- */
  .promise-title{color:var(--pop);display:block;margin-top:clamp(46px,7vw,72px);margin-bottom:20px;}
  .promise{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink-line);}
  .promise-item{padding:26px clamp(0px,2vw,24px) 4px 0;border-right:1px solid var(--ink-line);}
  .promise-item:last-child{border-right:none;}
  .promise-item .pk{font-family:var(--mono);color:var(--pop);font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;display:block;margin-bottom:10px;}
  .promise-item p{font-size:0.98rem;color:var(--ink-text);max-width:30ch;}
  @media (max-width:860px){
    .promise{grid-template-columns:1fr;}
    .promise-item{border-right:none;border-bottom:1px solid var(--ink-line);padding:20px 0;}
    .promise-item:last-child{border-bottom:none;}
  }

  /* ---------- meet panel (single full-bleed statement) ---------- */
  .meet{position:relative;background:var(--ink);color:var(--ink-text);overflow:hidden;}
  .meet-media{position:relative;min-height:min(72vh,680px);display:flex;align-items:flex-end;}
  .meet-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:contrast(1.1) saturate(0.85) brightness(0.62);}
  .meet-media::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(18,17,13,0.5) 0%, rgba(18,17,13,0.15) 30%, rgba(18,17,13,0.55) 62%, rgba(18,17,13,0.95) 100%);
  }
  .meet-copy{position:relative;z-index:1;padding:0 var(--side) clamp(40px,6vw,64px);width:100%;}
  .meet-copy .label{color:var(--pop);margin-bottom:16px;display:block;text-shadow:0 2px 16px rgba(0,0,0,0.6);}
  .meet-copy h2{
    font-size:var(--fs-hero);font-weight:600;line-height:0.98;letter-spacing:-0.03em;
    max-width:14ch;text-shadow:0 4px 30px rgba(0,0,0,0.5);
  }
  .meet-copy p{margin-top:20px;color:var(--ink-muted);max-width:48ch;font-size:var(--fs-lg);}
  .meet-copy .btn{margin-top:28px;}

  @media (max-width:760px){
    .meet-media{min-height:0;flex-direction:column;align-items:stretch;}
    .meet-media img{position:relative;aspect-ratio:3/4;height:auto;}
    .meet-copy{position:static;padding:28px var(--side) 0;background:var(--ink);}
  }

  /* ---------- partners (two large photo panels) ---------- */
  .partners{background:rgba(242,239,230,0.92);border-top:1px solid var(--paper-line);}
  .partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:56px;background:var(--ink-line);}
  .partner-tile{position:relative;aspect-ratio:4/5;overflow:hidden;}
  .partner-tile img{width:100%;height:100%;object-fit:cover;filter:saturate(0.92) contrast(1.03);transition:transform .5s ease;}
  .partner-tile:hover img{transform:scale(1.035);}
  .partner-tile::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(18,17,13,0) 45%, rgba(18,17,13,0.85) 100%);
  }
  .partner-cap{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:26px 24px;color:var(--ink-text);}
  .partner-cap .tag{font-family:var(--mono);color:var(--pop);font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;display:block;margin-bottom:10px;}
  .partner-cap h3{font-size:1.2rem;font-weight:600;margin-bottom:8px;letter-spacing:-0.01em;}
  .partner-cap p{font-size:0.88rem;color:var(--ink-muted);max-width:34ch;}
  @media (max-width:860px){.partner-grid{grid-template-columns:1fr;}}

  /* ---------- case studies ---------- */
  .cases{background:rgba(10,9,7,0.55);color:var(--ink-text);}
  .case-intro{color:var(--ink-muted);max-width:62ch;font-size:var(--fs-lg);margin-top:18px;}
  .case-list{margin-top:clamp(48px,7vw,80px);display:flex;flex-direction:column;gap:clamp(48px,7vw,88px);}
  .case-row{display:grid;grid-template-columns:1.05fr 0.95fr;gap:clamp(28px,5vw,64px);align-items:center;}
  .case-row:nth-child(even) .case-figure{order:2;}
  .case-figure{margin:0;}
  .case-media{
    display:block;width:100%;padding:0;margin:0;border:1px solid var(--ink-line);background:#000;
    cursor:zoom-in;overflow:hidden;position:relative;appearance:none;-webkit-appearance:none;text-align:inherit;color:inherit;
  }
  .case-media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;filter:saturate(0.96) contrast(1.03);transition:transform .5s ease;}
  .case-media:hover img{transform:scale(1.03);}
  .case-media .zoom{position:absolute;inset-block-end:12px;inset-inline-end:12px;font-family:var(--mono);font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-text);background:rgba(18,17,13,0.62);padding:5px 9px;}
  .case-idx{font-family:var(--mono);color:var(--pop);font-size:0.82rem;letter-spacing:0.06em;display:block;margin-bottom:12px;}
  .case-name{font-size:clamp(1.5rem,1.2rem+1vw,2rem);font-weight:600;letter-spacing:-0.02em;line-height:1.05;}
  .case-formula{font-family:var(--mono);color:var(--ink-muted);font-size:0.82rem;letter-spacing:0.01em;line-height:1.5;margin-top:12px;max-width:46ch;}
  .case-meta{margin-top:22px;border-top:1px solid var(--ink-line);}
  .case-meta .m{display:grid;grid-template-columns:92px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--ink-line);}
  .case-meta .mk{font-family:var(--mono);color:var(--pop);font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;padding-top:2px;}
  .case-meta .mv{font-size:0.92rem;color:var(--ink-text);max-width:46ch;}

  /* before/after schematic (pure CSS, no images) */
  .ba{display:flex;align-items:flex-start;gap:16px;margin-top:24px;}
  .ba-side{display:flex;flex-direction:column;}
  .ba-side-after{flex:1;max-width:240px;}
  .ba-label{font-family:var(--mono);font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);margin-top:12px;display:block;}
  .ba-phone,.ba-browser{border:1px solid var(--ink-muted);position:relative;}
  .ba-phone{width:74px;min-width:74px;height:128px;border-radius:12px;padding:9px 8px;display:flex;flex-direction:column;gap:7px;}
  .ba-ava{width:18px;height:18px;border-radius:50%;border:1px solid var(--ink-muted);}
  .ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;}
  .ba-grid i{aspect-ratio:1;background:var(--ink-line);display:block;}
  .ba-dm{font-family:var(--mono);font-size:0.46rem;letter-spacing:0.03em;color:var(--ink-muted);text-transform:uppercase;margin-top:auto;}
  .ba-arrow{color:var(--pop);font-family:var(--mono);font-size:1.15rem;flex-shrink:0;align-self:center;}
  .ba-browser{width:100%;height:128px;border-radius:6px;display:flex;flex-direction:column;overflow:hidden;}
  .ba-bar{display:flex;gap:4px;padding:7px 9px;border-bottom:1px solid var(--ink-line);}
  .ba-bar i{width:6px;height:6px;border-radius:50%;background:var(--ink-muted);display:block;}
  .ba-heroblock{height:32px;background:var(--ink-line);margin:9px;}
  .ba-rows{display:flex;flex-direction:column;gap:5px;padding:0 9px;}
  .ba-rows i{height:5px;background:var(--ink-line);display:block;}
  .ba-rows i:nth-child(2){width:82%;}
  .ba-rows i:nth-child(3){width:62%;}
  .ba-wa{font-family:var(--mono);font-size:0.46rem;color:var(--pop);text-transform:uppercase;letter-spacing:0.04em;margin:8px 9px 9px;border:1px solid var(--pop-dim);padding:3px 6px;align-self:flex-start;}

  /* lightbox dialog */
  .lightbox{border:none;padding:0;background:transparent;max-width:min(92vw,1080px);width:auto;overflow:visible;}
  .lightbox::backdrop{background:rgba(18,17,13,0.85);}
  .lightbox img{width:100%;height:auto;display:block;border:1px solid var(--ink-line);}
  .lb-close{
    position:relative;margin-inline-start:auto;margin-bottom:10px;display:flex;align-items:center;gap:8px;
    font-family:var(--mono);font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;
    color:var(--ink-text);background:none;border:none;cursor:pointer;padding:14px 16px;min-height:44px;
  }
  .lb-close::before,.lb-close::after{content:"";position:absolute;width:12px;height:12px;pointer-events:none;}
  .lb-close::before{top:0;left:0;border-top:1px solid currentColor;border-left:1px solid currentColor;}
  .lb-close::after{bottom:0;right:0;border-bottom:1px solid currentColor;border-right:1px solid currentColor;}
  .lb-close:hover{color:var(--pop);}

  /* next-slot card — scarcity closes the sequence */
  .next-slot{border:1px solid var(--ink-line);padding:clamp(28px,4vw,40px);margin-top:clamp(48px,7vw,88px);display:flex;flex-direction:column;align-items:flex-start;}
  .next-slot .label{color:var(--pop);margin-bottom:14px;}
  .next-slot h3{font-size:clamp(1.4rem,1.15rem+1vw,1.9rem);font-weight:600;letter-spacing:-0.02em;line-height:1.1;margin-bottom:14px;max-width:20ch;}
  .next-slot p{color:var(--ink-muted);font-size:0.95rem;max-width:54ch;margin-bottom:22px;}

  @media (max-width:900px){
    .case-row{grid-template-columns:1fr;gap:24px;}
    .case-row:nth-child(even) .case-figure{order:0;}
    .ba-browser{max-width:none;}
  }

  /* ---------- closing (full-bleed photo) ---------- */
  .closing{position:relative;background:var(--ink);color:var(--ink-text);overflow:hidden;padding:0;}
  .closing-media{position:relative;min-height:min(70vh,640px);display:flex;align-items:center;justify-content:center;}
  .closing-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:contrast(1.1) saturate(0.8) brightness(0.5);}
  .closing-media::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 100% at 50% 30%, rgba(18,17,13,0.55) 0%, rgba(18,17,13,0.88) 100%);}
  .closing-inner{
    position:relative;z-index:1;max-width:720px;margin:0 auto;padding:clamp(56px,8vw,90px) clamp(24px,6vw,56px);
    text-align:center;color:var(--ink-text);
  }
  .closing-inner .kicker{justify-content:center;text-align:center;}
  .closing h2{font-size:var(--fs-h1);font-weight:600;letter-spacing:-0.025em;line-height:1.08;max-width:20ch;margin:0 auto;text-shadow:0 4px 24px rgba(0,0,0,0.5);}
  .closing p{margin:22px auto 0;max-width:52ch;color:var(--ink-muted);font-size:var(--fs-lg);}
  .closing .btn-row{display:flex;justify-content:center;gap:14px;margin-top:34px;flex-wrap:wrap;}

  @media (max-width:760px){
    .closing-media{min-height:0;padding:clamp(64px,12vw,90px) 0;}
  }

  /* ---------- about (vertical-hairline split) ---------- */
  .about{background:rgba(242,239,230,0.92);border-top:1px solid var(--paper-line);}
  .about-split{display:grid;grid-template-columns:0.82fr 1.18fr;margin-top:clamp(28px,4vw,48px);align-items:start;}
  .about-lead-col{padding-inline-end:clamp(28px,5vw,64px);}
  .about-lead-col .head{margin-bottom:clamp(24px,3vw,34px);}
  .about-note{padding-inline-start:clamp(28px,5vw,64px);border-inline-start:1px solid var(--paper-line);}
  .about-portrait .about-media{aspect-ratio:4/5;overflow:hidden;border:1px solid var(--paper-line);}
  .about-portrait img{width:100%;height:100%;object-fit:cover;filter:saturate(0.95) contrast(1.03);}
  .about-meta{margin-top:16px;}
  .about-meta .nm{font-family:var(--mono);font-size:0.9rem;font-weight:600;display:block;}
  .about-meta .rl{font-family:var(--mono);color:var(--paper-muted);font-size:0.78rem;letter-spacing:0.02em;display:block;margin-top:3px;}
  .about-note .lead{font-size:clamp(1.3rem,1.05rem+1vw,1.7rem);font-weight:500;letter-spacing:-0.015em;line-height:1.3;max-width:24ch;margin-bottom:24px;}
  .about-note p{color:var(--paper-muted);max-width:56ch;font-size:var(--fs-lg);}
  .about-note p + p{margin-top:18px;}
  .about-sign{margin-top:26px;font-family:var(--mono);font-size:0.85rem;color:var(--paper-text);}
  .about-facts{display:flex;flex-wrap:wrap;gap:8px 0;margin-top:26px;border-top:1px solid var(--paper-line);padding-top:14px;}
  .about-facts span{font-family:var(--mono);font-size:0.72rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--paper-muted);}
  .about-facts span:not(:last-child)::after{content:"·";margin-inline:12px;color:var(--pop-text);}
  @media (max-width:860px){
    .about-split{grid-template-columns:1fr;}
    .about-lead-col{padding-inline-end:0;margin-bottom:32px;}
    .about-note{padding-inline-start:0;border-inline-start:none;border-top:1px solid var(--paper-line);padding-top:32px;}
  }

  /* ---------- FAQ ---------- */
  .faq{background:rgba(242,239,230,0.92);border-top:1px solid var(--paper-line);}
  .faq-list{margin-top:clamp(40px,5vw,56px);border-top:1px solid var(--paper-line);}
  .faq-item{border-bottom:1px solid var(--paper-line);}
  .faq-item summary{
    list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
    padding:24px 0;font-size:var(--fs-lg);font-weight:500;letter-spacing:-0.01em;color:var(--paper-text);
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-q{max-width:54ch;}
  .faq-mk{font-family:var(--mono);font-size:1.25rem;line-height:1;color:var(--paper-muted);flex-shrink:0;transition:color .18s ease;padding-top:1px;}
  .faq-mk::before{content:"+";}
  .faq-item[open] .faq-mk{color:var(--pop-text);}
  .faq-item[open] .faq-mk::before{content:"\2212";}
  .faq-ans{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease;}
  .faq-item[open] .faq-ans{grid-template-rows:1fr;}
  .faq-ans-inner{overflow:hidden;min-height:0;}
  .faq-ans p{color:var(--paper-muted);max-width:64ch;padding-bottom:24px;font-size:0.98rem;}
  .faq-ans a{color:var(--paper-text);border-bottom:1px solid var(--paper-line);padding-bottom:1px;}
  .faq-ans a:hover{border-bottom-color:var(--paper-text);}

  /* ---------- contact form ---------- */
  .contact-form{background:rgba(18,17,13,0.62);color:var(--ink-text);border-top:1px solid var(--ink-line);}
  .cf-grid{display:grid;grid-template-columns:0.82fr 1.18fr;gap:clamp(32px,6vw,80px);margin-top:56px;align-items:start;}
  .cf-intro p{color:var(--ink-muted);font-size:var(--fs-lg);max-width:38ch;margin-top:18px;}
  .cf-direct{margin-top:32px;border-top:1px solid var(--ink-line);padding-top:24px;display:flex;flex-direction:column;gap:16px;}
  .cf-direct a{display:flex;flex-direction:column;gap:4px;font-family:var(--mono);font-size:0.95rem;color:var(--ink-text);transition:color .15s ease;}
  .cf-direct a:hover{color:var(--pop);}
  .cf-direct a .lb{color:var(--ink-muted);font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;}
  form.cf-form{display:grid;gap:26px;}
  .cf-row{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
  .cf-field{display:flex;flex-direction:column;gap:9px;}
  .cf-field label{font-family:var(--mono);font-size:0.72rem;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink-muted);}
  .cf-field label .req{color:var(--pop);}
  .cf-field input,.cf-field select,.cf-field textarea{
    background:transparent;border:none;border-bottom:1px solid var(--ink-line);
    color:var(--ink-text);font-family:var(--face);font-size:1rem;padding:13px 0;width:100%;
    transition:border-color .18s ease;
  }
  .cf-field input::placeholder,.cf-field textarea::placeholder{color:#948f80;}
  .cf-field input:focus,.cf-field select:focus,.cf-field textarea:focus{outline:none;border-bottom-color:var(--pop);}
  .cf-field textarea{resize:vertical;min-height:92px;line-height:1.6;}
  .cf-field select{
    cursor:pointer;appearance:none;-webkit-appearance:none;padding-right:26px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23948f80' stroke-width='1.5'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 2px center;
  }
  .cf-field select option{background:#232219;color:var(--ink-text);}
  .cf-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:4px;}
  .cf-note{font-size:0.84rem;color:var(--ink-muted);}
  .cf-note a{color:var(--ink-text);border-bottom:1px solid var(--ink-line);padding-bottom:1px;}
  .cf-note a:hover{border-bottom-color:var(--ink-muted);}
  @media (max-width:860px){.cf-grid{grid-template-columns:1fr;}.cf-row{grid-template-columns:1fr;}}

  /* ---------- footer ---------- */
  footer{background:rgba(18,17,13,0.62);color:var(--ink-text);border-top:1px solid var(--ink-line);}
  .foot-top{display:flex;justify-content:space-between;gap:40px;padding:56px 0 40px;flex-wrap:wrap;}
  .foot-links{display:flex;flex-wrap:wrap;align-items:flex-start;align-self:flex-start;gap:10px;}
  .foot-links a{
    font-family:var(--mono);font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;
    border:1px solid var(--ink-line);border-radius:100vh;padding:12px 16px;color:var(--ink-muted);
    transition:color .15s ease, border-color .15s ease;
  }
  .foot-links a:hover{color:var(--ink-text);border-color:var(--ink-muted);}
  .foot-contact{font-size:0.9rem;color:var(--ink-muted);}
  .foot-contact a{color:var(--ink-text);display:inline-block;padding-block:13px;margin-block:-13px;}
  .foot-contact div + div{margin-top:8px;}
  .foot-bottom{
    display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
    border-top:1px solid var(--ink-line);padding:22px 0 40px;
    font-size:0.78rem;color:var(--ink-muted);
  }
  .foot-word{font-family:var(--mono);font-size:1.6rem;letter-spacing:0.04em;color:var(--ink-text);}

  @media (max-width:640px){
    .foot-top{flex-direction:column;gap:26px;}
  }

  .foot-reply{font-family:var(--mono);font-size:0.72rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--pop);margin-top:16px;}

  /* ---------- contact secondary (email) link ---------- */
  .cf-secondary{background:none;border:none;cursor:pointer;font-family:var(--mono);font-size:0.84rem;color:var(--ink-muted);padding:12px 0;min-height:44px;transition:color .15s ease;}
  .cf-secondary .lk{color:var(--ink-text);border-bottom:1px solid var(--ink-line);padding-bottom:1px;}
  .cf-secondary:hover .lk{border-bottom-color:var(--ink-muted);}

  /* ---------- sticky mobile WhatsApp bar ---------- */
  .wa-bar{
    position:fixed;inset-inline:0;inset-block-end:0;z-index:90;display:none;
    padding:10px var(--side);padding-bottom:calc(10px + env(safe-area-inset-bottom));
    background:var(--ink);border-top:1px solid var(--ink-line);
    transform:translateY(115%);transition:transform .28s cubic-bezier(.2,.7,.2,1);
  }
  .wa-bar .btn{width:100%;justify-content:center;}
  body.wa-visible .wa-bar{transform:translateY(0);}
  body.nav-open .wa-bar{transform:translateY(115%);}
  @media (max-width:860px){
    .wa-bar{display:block;}
    body{padding-bottom:calc(66px + env(safe-area-inset-bottom));}
  }

  /* ---------- Agent C: skip link + motion hooks ---------- */
  .skip-link{
    position:fixed;top:10px;inset-inline-start:10px;z-index:9999;
    transform:translateY(-150%);
    background:var(--ink);color:var(--ink-text);
    font-family:var(--mono);font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;
    padding:12px 18px;border:1px solid var(--pop);border-radius:100vh;
    transition:transform .18s ease;
  }
  .skip-link:focus{transform:translateY(0);outline:2px solid var(--pop);outline-offset:3px;}
  /* when GSAP owns the reveals, drop the CSS transition so it can't fight the tween */
  body.gsap-active .reveal{transition:none;}
  /* scoped to the parallax photo layers only (JS adds/removes it, desktop only) */
  .gsap-parallax{will-change:transform;}

  /* ---- film section (photography & videography showcase) ---- */
  .film{background:var(--ink);color:var(--ink-text);padding:clamp(80px,10vw,130px) 0;}
  .film .kicker{color:var(--pop);}
  .film .head{color:var(--ink-text);}
  .film-lead{max-width:46rem;margin:18px 0 44px;color:var(--ink-muted);font-size:1.05rem;line-height:1.65;}
  .film-lead a{color:var(--ink-text);text-underline-offset:3px;}
  .film-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 22px;}
  .film-tile{position:relative;margin:0;}
  .film-tile video{display:block;width:100%;height:auto;background:#000;cursor:pointer;}
  .film-play{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(237,236,233,0.55);color:var(--ink-text);font-size:0.7rem;background:rgba(28,28,23,0.45);pointer-events:none;transition:opacity .2s ease;}
  .film-tile.playing .film-play{opacity:0;}
  .film-cap{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:12px 2px 0;font-family:var(--mono);font-size:0.72rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-muted);}
  .film-cap b{color:var(--ink-text);font-weight:500;}
  .film-foot{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:44px;padding-top:24px;border-top:1px solid var(--ink-line);}
  .film-note{margin:0;max-width:34rem;color:var(--ink-muted);font-size:0.95rem;line-height:1.6;}
  @media (max-width:860px){
    .film-grid{grid-template-columns:1fr;}
    .film-foot{flex-direction:column;align-items:flex-start;}
  }

  @media (prefers-reduced-motion:reduce){
    *{transition:none!important;animation:none!important;scroll-behavior:auto!important;}
    body.reveal-on .reveal{opacity:1!important;transform:none!important;}
    .ticker-track{animation:none!important;}
  }

  /* ---- multi-page additions ---- */
  main.subpage{padding-top:70px;}
  .work-preview{padding:clamp(80px,10vw,130px) 0;background:var(--paper);}
  .wp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:42px 0 40px;}
  .wp-card{display:block;text-decoration:none;color:inherit;}
  .wp-card img{display:block;width:100%;height:auto;border:1px solid var(--paper-line);transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease;}
  .wp-card:hover img{transform:translateY(-4px);box-shadow:0 18px 40px -18px rgba(28,28,23,.35);}
  .wp-name{display:block;margin-top:14px;font-weight:600;letter-spacing:-0.01em;}
  .wp-tag{display:block;margin-top:4px;color:var(--paper-muted);font-family:var(--mono);font-size:0.74rem;letter-spacing:0.06em;text-transform:uppercase;}
  @media (max-width:860px){.wp-grid{grid-template-columns:1fr;}}


  /* ============================================================
     2026 refresh v2 — refined agency layer
     ============================================================ */
  :root{ --easing: cubic-bezier(.22,1,.36,1); }

  /* nav: animated underline */
  .nav-links a{position:relative;}
  .nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1.5px;background:currentColor;transition:right .32s var(--easing);}
  .nav-links a:hover::after,.nav-links a.active::after{right:0;}

  /* buttons: gentle lift */
  .btn{transition:transform .25s var(--easing),background .2s ease,color .2s ease,border-color .2s ease;}
  .btn:hover{transform:translateY(-2px);}
  .btn:active{transform:translateY(0);}

  /* home work preview: editorial grid, sharp sources, hover zoom */
  .wp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,24px);align-items:start;}
  .wp-media{overflow:hidden;border:1px solid var(--paper-line);}
  .wp-card img{display:block;width:100%;height:auto;border:0;transition:transform .8s var(--easing);}
  .wp-card:hover img{transform:scale(1.025);box-shadow:none;}
  .wp-name{font-size:clamp(1.2rem,1rem+1vw,1.7rem);font-weight:650;letter-spacing:-0.02em;margin-top:16px;}
  .wp-name::after{content:" ↗";color:var(--pop);opacity:0;display:inline-block;transform:translate(-4px,4px);transition:opacity .25s ease,transform .25s var(--easing);}
  .wp-card:hover .wp-name::after{opacity:1;transform:none;}

  /* imagery hovers */
  .case-media{overflow:hidden;}
  .case-media img{transition:transform .9s var(--easing);}
  .case-media:hover img{transform:scale(1.03);}
  .film-tile{overflow:hidden;}
  .film-tile video{transition:transform .9s var(--easing);}
  .film-tile:hover video{transform:scale(1.015);}

  /* film page: make Tareq's Instagram unmissable */
  .film-lead a{color:var(--ink-text);font-weight:600;text-decoration-color:var(--pop);text-decoration-thickness:2px;text-underline-offset:4px;}
  .film-credit{margin:26px 0 44px;}
  .film-credit a{display:inline-flex;align-items:center;gap:11px;color:var(--ink-text);font-family:var(--mono);font-size:.86rem;letter-spacing:.05em;text-transform:uppercase;border:1px solid rgba(237,236,233,.4);padding:13px 20px;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .25s var(--easing);}
  .film-credit a:hover{background:var(--ink-text);color:var(--ink);border-color:var(--ink-text);transform:translateY(-2px);}
  .film-credit svg{width:17px;height:17px;}

  /* footer: giant lockup + tidy columns */
  .foot-lockup{display:flex;align-items:center;gap:14px;padding:clamp(14px,2.5vw,26px) 0 clamp(18px,3vw,30px);border-bottom:1px solid var(--ink-line);}
  .foot-lockup .fw{font-weight:700;letter-spacing:-0.03em;line-height:1;font-size:clamp(1.9rem,3vw,2.6rem);color:var(--ink-text);}
  .foot-lockup svg{width:clamp(1.5rem,2.2vw,2rem);height:auto;color:var(--ink-text);}
  .foot-grid{display:grid;grid-template-columns:1fr auto;align-items:start;gap:34px;padding:34px 0 6px;}
  .foot-links{display:flex;flex-wrap:wrap;gap:4px 26px;}
  .foot-links a{font-family:var(--mono);font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-muted);text-decoration:none;padding:8px 0;transition:color .2s ease;}
  .foot-links a:hover{color:var(--ink-text);}
  @media (max-width:860px){
    .foot-grid{grid-template-columns:1fr;gap:22px;}
    .wp-grid{grid-template-columns:1fr;}
  }

  /* closing ornament */
  .closing-mark{width:30px;height:30px;color:var(--ink-text);margin-bottom:16px;}

  /* hero entrance (after the intro curtain) */
  @keyframes kiraRise{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}
  .hero-eyebrow{animation:kiraRise .7s .5s var(--easing) both;}
  .hero h1{animation:kiraRise .85s .6s var(--easing) both;}
  .hero-card{animation:kiraRise .85s .8s var(--easing) both;}

  /* page fade for every navigation */
  @keyframes pageFade{from{opacity:0;}to{opacity:1;}}
  body{animation:pageFade .45s ease both;}

  /* first-visit load intro */
  /* The lift is a CSS animation, not a JS transition, on purpose: the curtain is in the
     HTML, so if site.js is slow, blocked or 503s, a JS-driven dismiss would leave the
     whole site behind a black screen. CSS guarantees it opens no matter what.
     Timing: 2.48s total — holds through 68% (~1.69s, just past the glint at 1.52s),
     then wipes upward over the remaining ~0.79s. */
  .page-intro{
    position:fixed;inset:0;z-index:2000;display:grid;place-items:center;background:var(--ink);
    animation:introLift 2.48s var(--easing) both;}
  @keyframes introLift{
    0%,68%{clip-path:inset(0);}
    100%{clip-path:inset(0 0 100% 0);visibility:hidden;pointer-events:none;}
  }
  .page-intro.done{animation:none;clip-path:inset(0 0 100% 0);visibility:hidden;pointer-events:none;}
  /* reduced motion: never paint the curtain at all, JS or no JS */
  @media (prefers-reduced-motion:reduce){ .page-intro{display:none;} }
  .pi-lockup{display:flex;align-items:center;color:var(--ink-text);}
  .pi-lockup svg{width:clamp(96px,15vw,190px);height:auto;color:var(--ink-text);}
  /* the eye opens: lids bow apart, iris rises, glint catches last */
  .pi-arc,.pi-iris,.pi-glint{transform-box:view-box;transform-origin:12px 12px;}
  .pi-arc{animation:piBow 1.05s .07s var(--easing) both;}
  .pi-iris{animation:piIris .72s .5s var(--easing) both;}
  .pi-glint{opacity:0;animation:piGlint .54s .98s ease both;}
  @keyframes piBow{from{transform:scaleY(0);}to{transform:scaleY(1);}}
  @keyframes piIris{from{transform:scale(0);}to{transform:scale(1);}}
  @keyframes piGlint{from{opacity:0;transform:scale(.35);}to{opacity:1;transform:scale(1);}}
  body.intro-active{overflow:hidden;}
  .foot-links a{border:0;border-radius:0;background:none;}

  /* professional cleanup pass */
  #smoke-bg{display:none;}
  .film .btn-line{color:var(--ink-text);border-color:rgba(237,236,233,.5);}
  .film .btn-line:hover{background:var(--ink-text);color:var(--ink);border-color:var(--ink-text);}
  .film-foot{align-items:center;}
  .wp-card img{aspect-ratio:4/3;object-fit:cover;}
  .case-media img{aspect-ratio:4/3;object-fit:cover;}
  .hero-media img{object-position:center;filter:saturate(1.02) brightness(.92) contrast(1.02);}
  .hero-media::after{background:linear-gradient(180deg,rgba(18,17,13,.35) 0%,transparent 24%),linear-gradient(0deg,rgba(18,17,13,.78) 0%,rgba(18,17,13,.3) 30%,transparent 52%) !important;}

  :root{color-scheme:only light;}

  /* Vortex tier showcase on the Work page (dark section context) */
  .tiers{margin-top:clamp(60px,8vw,110px);padding-top:clamp(28px,4vw,44px);border-top:1px solid var(--ink-line);}
  .tiers .head{color:var(--ink-text);}
  .tiers .case-intro{margin-bottom:34px;}
  .tiers .wp-grid{margin:0;}
  .tiers .wp-media{border-color:var(--ink-line);}
  .tiers .wp-name{color:var(--ink-text);}
  .tiers .wp-tag{color:var(--ink-muted);}

  /* ---------- mobile alignment fixes (2026-07-29) ---------- */
  @media (max-width:760px){
    .hero-eyebrow,.hero h1,.hero-card{animation:none;}
    .hero-copy{padding-bottom:24px;}
    .hero h1{line-height:1.06;}
  }
  .about-portrait.crop{padding-bottom:18px;}
  .about-meta{padding:0 2px;}

  /* package example links */
  .pkg-eg{font-family:var(--mono);font-size:0.72rem;letter-spacing:0.04em;margin:16px 0 0;color:var(--paper-muted);}
  .pkg-eg a{color:var(--pop-text);font-weight:600;text-decoration:underline;text-underline-offset:3px;}

  /* ---------- mobile menu polish (2026-07-30) ---------- */
  @media (max-width:760px){
    .nav-right .lang-toggle{display:none;} /* the panel has the language link */
    .mobile-panel{border-bottom:1px solid var(--ink-line);box-shadow:0 34px 54px -22px rgba(0,0,0,.6);}
    .mobile-panel .lang-toggle{letter-spacing:0 !important;font-size:0.95rem !important;}
  }
  @media (max-width:760px){
    .mobile-panel .btn{display:flex;justify-content:center;text-align:center;width:100%;box-sizing:border-box;padding:15px 14px;font-size:0.78rem;letter-spacing:0.05em;white-space:nowrap;}
  }
