:root {
    --bg:#0A0B0D; --bg-2:#101216; --line:#1E2227; --line-soft:#15181C;
    --fg:#ECEAE0; --fg-mute:#8A9098; --fg-faint:#5B6168;
    --acc:#C6F135; --acc-deep:#A6CE1F;
    --serif:'Instrument Serif', Georgia, serif;
    --sans:var(--font-sans); --mono:var(--font-mono);
    --pad: clamp(24px, 5vw, 64px);
    --maxw: 1280px;
  }
  * { box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body { margin:0; background:var(--bg); color:var(--fg); font-family:var(--sans);
         -webkit-font-smoothing:antialiased; overflow-x:clip; }
  a { color:inherit; text-decoration:none; }
  ::selection { background:var(--acc); color:#0A0B0D; }

  .wrap { max-width:var(--maxw); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); }
  .eyebrow { font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:0.24em; text-transform:uppercase; color:var(--acc); }
  .eyebrow.muted { color:var(--fg-faint); }
  i.s { font-family:var(--serif); font-style:italic; font-weight:400; color:var(--acc); letter-spacing:0; }

  /* reveal — rAF-driven in site.js so it animates even where CSS transitions are frozen (capture/PDF) */
  .js .reveal { opacity:0; transform:translateY(46px); will-change:opacity, transform; }
  @media (prefers-reduced-motion: reduce) { .js .reveal { opacity:1 !important; transform:none !important; } html{scroll-behavior:auto;} }

  /* cursor */
  .cursor, .cursor-dot { position:fixed; top:0; left:0; border-radius:0; pointer-events:none; z-index:9999; mix-blend-mode:difference; }
  .cursor { width:38px; height:38px; border:1px solid var(--acc); transform:translate(-100px,-100px); transition:width .25s, height .25s, background .25s; }
  .cursor-dot { width:5px; height:5px; background:var(--acc); transform:translate(-100px,-100px); }
  .cursor.grow { width:74px; height:74px; background:rgba(198,241,53,0.08); }
  .scrolltop { position:fixed; bottom:24px; right:24px; z-index:90; width:50px; height:50px; border-radius:0; background:rgba(198,241,53,0.14); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); color:var(--acc); display:flex; align-items:center; justify-content:center; border:1px solid rgba(198,241,53,0.28); cursor:pointer; font-size:20px; opacity:0; transform:translateY(12px); pointer-events:none; transition:opacity .35s ease, transform .35s ease, background .25s, border-color .25s; }
  .scrolltop.show { opacity:1; transform:none; pointer-events:auto; }
  .scrolltop:hover { background:rgba(198,241,53,0.26); border-color:rgba(198,241,53,0.5); }
  @media (hover:none) { .cursor,.cursor-dot{ display:none; } }

  /* NAV */
  nav { position:fixed; top:0; left:0; right:0; z-index:100; transition:background .4s, border-color .4s, backdrop-filter .4s; border-bottom:1px solid transparent; }
  nav.scrolled { background:rgba(10,11,13,0.72); backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }
  nav .row { display:flex; align-items:center; justify-content:space-between; height:74px; }
  .brand { font-family:var(--font-logo); font-weight:800; font-size:23px; letter-spacing:-0.05em; color:var(--acc); }
  nav .links { display:flex; gap:30px; font-family:var(--mono); font-size:12px; letter-spacing:0.06em; color:var(--fg-mute); }
  nav .links a { position:relative; padding:4px 0; transition:color .25s; }
  nav .links a:hover { color:var(--fg); }
  nav .right { display:flex; align-items:center; gap:22px; }
  .lang { font-family:var(--mono); font-size:11px; letter-spacing:0.12em; color:var(--fg-faint); }
  .lang b { color:var(--fg); }
  .btn { display:inline-flex; align-items:center; gap:9px; white-space:nowrap; font-family:var(--sans); font-weight:600; font-size:14px;
         padding:11px 20px; border-radius:0; border:1px solid transparent; cursor:pointer; transition:background .25s, color .25s, border-color .25s, transform .25s; }
  .btn i { font-size:15px; }
  .btn-acc { background:var(--acc); color:#0A0B0D; }
  .btn-acc:hover { background:#D4FF3D; }
  .btn-ghost { border-color:var(--line); color:var(--fg); }
  .btn-ghost:hover { border-color:var(--fg-mute); }
  .btn-lg { padding:15px 26px; font-size:15px; }

  /* PARTICLE HERO (intro) */
  .phero { position:fixed; top:0; left:0; right:0; height:100vh; min-height:600px; overflow:hidden; background:var(--bg); z-index:0; }
  .scroll-content { position:relative; z-index:1; background:var(--bg); }
  .scroll-content .hero-panel { position:sticky; top:0; height:100vh; z-index:1; }
  .over { position:relative; z-index:2; background:var(--bg); }
  .sticky-marq { position:sticky; top:74px; z-index:5; transition:background .45s ease, backdrop-filter .45s ease, -webkit-backdrop-filter .45s ease; }
  .sticky-marq.stuck { background:rgba(198,241,53,0.7); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
  .marq-sentinel { height:1px; pointer-events:none; }
  #dmxCanvas { position:absolute; inset:0; width:100%; height:100%; display:block; }
  .phero-copy { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); text-align:center; width:min(640px,82vw); z-index:2; pointer-events:none; }
  .phero-copy p { font-family:var(--mono); font-size:13px; line-height:2; letter-spacing:0.14em; text-transform:uppercase; color:#E9ECE3; margin:0; mix-blend-mode:difference; }
  .phero-copy .ar { color:var(--acc); }
  .pcorner { position:absolute; bottom:24px; font-family:var(--mono); font-size:11px; letter-spacing:0.14em; color:var(--fg-faint); z-index:2; }
  .pcorner.bl { left:var(--pad); }
  .pcorner.br { right:var(--pad); }
  .pscroll { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); font-family:var(--mono); font-size:10px; letter-spacing:0.3em; color:var(--fg-faint); z-index:2; display:flex; flex-direction:column; align-items:center; gap:8px; }
  .pscroll .pln { width:1px; height:32px; background:linear-gradient(var(--acc),transparent); }

  /* HERO */
  header.hero { position:relative; min-height:100vh; display:flex; flex-direction:column; justify-content:center; padding-top:120px; padding-bottom:64px; overflow:hidden; border-top:1px solid var(--line-soft); }
  .blob { position:absolute; border-radius:0; filter:blur(90px); opacity:0.5; z-index:0; will-change:transform; }
  .blob.b1 { width:620px; height:620px; background:radial-gradient(circle, rgba(198,241,53,0.40), transparent 65%); top:0; left:0; right:auto; will-change:transform; }
  .blob.b2 { width:520px; height:520px; background:radial-gradient(circle, rgba(255,120,60,0.22), transparent 65%); bottom:-180px; left:-100px; animation:drift2 26s ease-in-out infinite; }
  @keyframes drift1 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(-60px,50px)} }
  @keyframes drift2 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(70px,-40px)} }
  .grain { position:absolute; inset:0; z-index:1; opacity:0.06; pointer-events:none;
           background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
  .hero .wrap { position:relative; z-index:2; width:100%; }
  .hero .eyebrow { display:block; margin-bottom:26px; }
  .hero h1 { font-family:var(--sans); font-weight:700; font-size:clamp(40px, 7.4vw, 118px); line-height:0.99; letter-spacing:-0.038em; margin:0; max-width:14ch; }
  .hero h1 .ln { display:block; }
  .hero h1 .word { display:inline-block; }
  .hero h1 i.s { font-size:1.02em; }
  /* (hero headline reveals via .reveal) */
  .hero .sub { font-size:clamp(16px,1.5vw,20px); line-height:1.55; color:var(--fg-mute); max-width:50ch; margin:32px 0 38px; }
  .hero .cta { display:flex; gap:14px; flex-wrap:wrap; }
  .hero .scrollcue { position:absolute; bottom:30px; left:var(--pad); font-family:var(--mono); font-size:11px; letter-spacing:0.2em; color:var(--fg-faint); display:flex; align-items:center; gap:10px; z-index:2; }
  .hero .scrollcue .l { width:46px; height:1px; background:var(--fg-faint); position:relative; overflow:hidden; }
  .hero .scrollcue .l::after { content:''; position:absolute; inset:0; background:var(--acc); transform:translateX(-100%); animation:cue 2.4s ease-in-out infinite; }
  @keyframes cue { 0%{transform:translateX(-100%)} 50%{transform:translateX(0)} 100%{transform:translateX(100%)} }

  /* MARQUEE */
  .marquee { background:var(--acc); color:#0A0B0D; overflow:hidden; }
  .mq-track { display:inline-flex; white-space:nowrap; will-change:transform; animation:mq 34s linear infinite; }
  .mq-track span { font-family:var(--font-display); font-size:15px; letter-spacing:0; padding:16px 0; display:inline-flex; align-items:center; }
  .mq-track .sep { padding:0 30px; opacity:0.45; }
  @media (prefers-reduced-motion: reduce){ .mq-track{ animation:none; } }
  @keyframes mq { from{transform:translateX(0)} to{transform:translateX(-50%)} }

  /* SECTION SHELL */
  section { position:relative; padding:clamp(80px,11vw,150px) 0; border-top:1px solid var(--line-soft); }
  .sec-head { display:flex; align-items:baseline; gap:18px; margin-bottom:54px; }
  .sec-head .num { font-family:var(--mono); font-size:12px; color:rgba(198,241,53,0.5); letter-spacing:0.1em; }
  .sec-head h2 { font-family:var(--sans); font-weight:600; font-size:clamp(13px,1.1vw,15px); letter-spacing:0.04em; color:var(--acc); margin:0; text-transform:none; }

  /* BIG STATEMENT */
  .statement .big { font-family:var(--sans); font-weight:500; font-size:clamp(26px,4vw,58px); line-height:1.16; letter-spacing:-0.02em; max-width:20ch; margin:0; }
  .statement .big.wide { max-width:24ch; }

  /* SELECTIVITY */
  .select-head { font-family:var(--sans); font-weight:600; font-size:clamp(24px,3.2vw,46px); line-height:1.1; letter-spacing:-0.025em; max-width:18ch; margin:0 0 56px; }
  .cols2 { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
  .col h4 { font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; margin:0 0 22px; padding-bottom:14px; border-bottom:1px solid var(--line); }
  .col.yes h4 { color:var(--acc); }
  .col.no h4 { color:var(--fg-faint); }
  .col ul { list-style:none; margin:0; padding:0; }
  .col li { font-size:17px; line-height:1.5; padding:14px 0; color:var(--fg); display:flex; gap:13px; align-items:flex-start; }
  .col.no li { color:var(--fg-mute); }
  .col li i { font-size:18px; margin-top:2px; flex:none; }
  .col.yes li i { color:var(--acc); }
  .col.no li i { color:var(--fg-faint); }

  /* PRINCIPLES */
  .principles { border-top:1px solid var(--line); }
  .principle { display:grid; grid-template-columns:64px 1fr 1.3fr; gap:24px; align-items:center; padding:30px 0; border-bottom:1px solid var(--line); transition:padding-left .35s ease, background .35s; }
  .principle:hover { padding-left:18px; }
  .principle .pn { font-family:var(--mono); font-size:13px; color:var(--fg-faint); }
  .principle .pt { font-family:var(--sans); font-weight:600; font-size:clamp(20px,2vw,30px); letter-spacing:-0.02em; }
  .principle .pd { font-size:15.5px; line-height:1.5; color:var(--fg-mute); }
  .principle:hover .pt { color:var(--acc); }

  /* SERVICES */
  .svc-row { display:grid; grid-template-columns:64px 1fr auto; gap:24px; align-items:center; padding:34px 0; border-bottom:1px solid var(--line); cursor:pointer; transition:padding-left .35s ease; }
  .services-list { border-top:1px solid var(--line); }
  .svc-row:hover { padding-left:20px; }
  .svc-row .sn { font-family:var(--mono); font-size:13px; color:var(--fg-faint); }
  .svc-row .st { font-family:var(--sans); font-weight:600; font-size:clamp(24px,3.2vw,46px); letter-spacing:-0.03em; line-height:1; transition:color .3s; }
  .svc-row .sd { font-size:15px; line-height:1.5; color:var(--fg-mute); max-width:42ch; margin-top:10px; }
  .svc-row .sarrow { font-size:26px; color:var(--fg-faint); transition:color .3s, transform .3s; }
  .svc-row:hover .st { color:var(--acc); }
  .svc-row:hover .sarrow { color:var(--acc); transform:translate(4px,-4px); }

  /* PROCESS */
  .proc { display:grid; grid-template-columns:repeat(5,1fr); gap:0; border:1px solid var(--line); border-radius:0; overflow:hidden; }
  .step { padding:30px 24px 36px; border-right:1px solid var(--line); position:relative; min-height:200px; display:flex; flex-direction:column; }
  .step:last-child { border-right:0; }
  .step .sidx { font-family:var(--mono); font-size:12px; color:var(--acc); letter-spacing:0.1em; }
  .step .sname { font-family:var(--sans); font-weight:600; font-size:20px; letter-spacing:-0.01em; margin-top:34px; }
  .step .sdesc { font-size:13.5px; line-height:1.5; color:var(--fg-mute); margin-top:10px; }
  .proc-note { font-family:var(--serif); font-style:italic; font-size:clamp(20px,2.4vw,32px); color:var(--fg); margin:44px 0 0; }
  .proc-note b { color:var(--acc); font-style:italic; font-weight:400; }

  /* WORK */
  .work-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
  .case { border:1px solid var(--line); border-radius:0; padding:34px 32px; background:var(--bg-2); transition:border-color .35s, transform .35s, background .35s; display:flex; flex-direction:column; gap:22px; min-height:340px; }
  .case:hover { border-color:var(--acc); transform:translateY(-5px); }
  .case .ctop { display:flex; align-items:center; justify-content:space-between; font-family:var(--mono); font-size:11px; letter-spacing:0.12em; color:var(--fg-faint); }
  .case .cname { font-family:var(--sans); font-weight:700; font-size:clamp(30px,3.4vw,46px); letter-spacing:-0.03em; line-height:1; }
  .case .crow { display:grid; grid-template-columns:90px 1fr; gap:14px; padding:13px 0; border-top:1px solid var(--line); font-size:14.5px; line-height:1.45; }
  .case .crow .k { font-family:var(--mono); font-size:11px; letter-spacing:0.1em; color:var(--fg-faint); text-transform:uppercase; padding-top:2px; }
  .case .crow .v { color:var(--fg); }
  .case .metric { margin-top:auto; display:flex; align-items:baseline; gap:12px; }
  .case .metric .big { font-family:var(--sans); font-weight:700; font-size:40px; letter-spacing:-0.03em; color:var(--acc); }
  .case .metric .lab { font-family:var(--mono); font-size:11px; letter-spacing:0.08em; color:var(--fg-mute); }

  /* AI & HUMAN */
  .ai-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:50px; }
  .ai-card { border:1px solid var(--line); border-radius:0; padding:34px 32px; }
  .ai-card.lime { background:var(--acc); color:#0A0B0D; border-color:var(--acc); }
  .ai-card h4 { font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; margin:0 0 24px; }
  .ai-card.lime h4 { color:rgba(10,11,13,0.6); }
  .ai-card.dark h4 { color:var(--fg-faint); }
  .ai-card ul { list-style:none; margin:0; padding:0; }
  .ai-card li { padding:13px 0; font-size:18px; font-weight:500; letter-spacing:-0.01em; border-top:1px solid; }
  .ai-card.lime li { border-color:rgba(10,11,13,0.14); }
  .ai-card.dark li { border-color:var(--line); color:var(--fg); }
  .ai-card li:first-child { border-top:0; }

  /* MANIFESTO */
  .manifesto .line { font-family:var(--sans); font-weight:500; font-size:clamp(24px,3.6vw,52px); line-height:1.18; letter-spacing:-0.025em; padding:22px 0; border-bottom:1px solid var(--line); color:var(--fg-mute); transition:color .4s; }
  .manifesto .line:first-child { border-top:1px solid var(--line); }
  .manifesto .line.in { color:var(--fg); }
  .manifesto .line i.s { font-size:1em; }
  .manifesto .line b { font-weight:500; color:var(--acc); }

  /* CTA */
  .cta-final { text-align:left; }
  .cta-final h2 { font-family:var(--sans); font-weight:700; font-size:clamp(40px,7vw,108px); line-height:0.98; letter-spacing:-0.04em; margin:0; }
  .cta-final h2 i.s { font-size:1.04em; }
  .cta-final .mail { display:inline-flex; align-items:center; gap:12px; font-family:var(--mono); font-size:clamp(15px,1.6vw,20px); color:var(--fg); margin:40px 0 34px; letter-spacing:0.02em; transition:color .3s; }
  .cta-final .mail:hover { color:var(--acc); }
  .cta-final .mail i { color:var(--acc); }

  /* FOOTER */
  footer { border-top:1px solid var(--line); padding:64px 0 0; overflow:hidden; }
  footer .top { display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; margin-bottom:50px; }
  footer .tagline { font-family:var(--sans); font-weight:500; font-size:clamp(20px,2.2vw,30px); letter-spacing:-0.02em; max-width:16ch; }
  footer .tagline i.s { font-size:1.04em; }
  footer .fcols { display:flex; gap:64px; flex-wrap:wrap; }
  footer .fcol h5 { font-family:var(--mono); font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--fg-faint); margin:0 0 16px; }
  footer .fcol a { display:block; font-size:14px; color:var(--fg-mute); padding:5px 0; transition:color .25s; }
  footer .fcol a:hover { color:var(--acc); }
  footer .bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; padding-top:28px; border-top:1px solid var(--line); }
  footer .social { display:flex; gap:18px; font-size:21px; color:var(--fg-mute); }
  footer .social a:hover { color:var(--acc); }
  footer .legal { font-family:var(--mono); font-size:11px; letter-spacing:0.08em; color:var(--fg-faint); }
  .foot-marquee { width:100%; background:var(--acc); color:#0A0B0D; overflow:hidden; margin-top:48px; border-top:1px solid #0A0B0D; }
  .fm-track { display:inline-flex; white-space:nowrap; animation:mq 30s linear infinite; }
  .fm-track span { font-family:var(--sans); font-weight:800; text-transform:uppercase; font-size:clamp(52px,10vw,150px); letter-spacing:-0.03em; line-height:1; padding:34px 0; display:inline-flex; align-items:center; }
  .fm-track .dot { font-size:0.5em; font-weight:700; color:#fff; vertical-align:middle; margin:0 0.28em; font-style:normal; }
  @media (prefers-reduced-motion: reduce){ .fm-track{ animation:none; } }

  /* ===== MOBILE NAV — hamburger + full-screen overlay (injected by site.js) ===== */
  html.menu-open, html.menu-open body { overflow:hidden; }
  html.lenis, html.lenis body { height:auto; }
  .lenis.lenis-smooth { scroll-behavior:auto !important; }
  .lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior:contain; }
  .lenis.lenis-stopped { overflow:hidden; }
  .nav-toggle { display:none; position:relative; width:44px; height:44px; flex-direction:column; align-items:center; justify-content:center; gap:6px; background:none; border:0; padding:0; margin-left:6px; cursor:pointer; z-index:101; }
  .nav-toggle span { display:block; width:24px; height:2px; background:var(--fg); transition:transform .32s cubic-bezier(.22,1,.36,1), opacity .2s; }
  .nav-toggle.open span:nth-child(1){ transform:translateY(4px) rotate(45deg); }
  .nav-toggle.open span:nth-child(2){ transform:translateY(-4px) rotate(-45deg); }

  .mobile-menu { position:fixed; inset:0; z-index:105; background:rgba(10,11,13,0.985); -webkit-backdrop-filter:blur(22px); backdrop-filter:blur(22px); display:flex; flex-direction:column; opacity:0; visibility:hidden; transition:opacity .42s cubic-bezier(.22,1,.36,1), visibility .42s; }
  .mobile-menu.open { opacity:1; visibility:visible; }
  .mm-head { flex:0 0 auto; height:74px; display:flex; align-items:center; justify-content:space-between; padding:0 var(--pad); }
  .mm-head .brand { font-family:var(--font-logo); font-weight:800; font-size:23px; letter-spacing:-0.05em; color:var(--acc); }
  .mm-close { position:relative; width:44px; height:44px; background:none; border:0; padding:0; cursor:pointer; margin-right:-6px; }
  .mm-close::before, .mm-close::after { content:''; position:absolute; top:50%; left:50%; width:23px; height:2px; background:var(--fg); }
  .mm-close::before { transform:translate(-50%,-50%) rotate(45deg); }
  .mm-close::after { transform:translate(-50%,-50%) rotate(-45deg); }
  .mm-list { position:relative; inset:auto; z-index:auto; flex:1 1 auto; min-height:0; overflow-y:auto; display:flex; flex-direction:column; justify-content:center; gap:clamp(2px,1vh,12px); padding:24px var(--pad); border-top:1px solid var(--line); }
  .mm-list a { display:flex; align-items:baseline; gap:16px; font-family:var(--sans); font-weight:700; font-size:clamp(26px,7vw,48px); line-height:1.05; letter-spacing:-0.03em; text-transform:uppercase; white-space:nowrap; color:var(--fg); opacity:0; transform:translateY(20px); transition:opacity .5s ease, transform .55s cubic-bezier(.22,1,.36,1), color .2s; }
  .mobile-menu.open .mm-list a { opacity:1; transform:none; }
  .mm-list a .ix { font-family:var(--mono); font-weight:500; font-size:12px; letter-spacing:0.1em; color:var(--acc); opacity:0.85; flex:0 0 auto; min-width:1.7em; }
  .mm-list a:active { color:var(--acc); }
  .mobile-menu.open .mm-list a:nth-child(1){ transition-delay:.10s; }
  .mobile-menu.open .mm-list a:nth-child(2){ transition-delay:.16s; }
  .mobile-menu.open .mm-list a:nth-child(3){ transition-delay:.22s; }
  .mobile-menu.open .mm-list a:nth-child(4){ transition-delay:.28s; }
  .mobile-menu.open .mm-list a:nth-child(5){ transition-delay:.34s; }
  .mobile-menu.open .mm-list a:nth-child(6){ transition-delay:.40s; }
  .mobile-menu.open .mm-list a:nth-child(7){ transition-delay:.46s; }
  .mobile-menu.open .mm-list a:nth-child(8){ transition-delay:.52s; }
  .mm-foot { flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px var(--pad) calc(26px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); }
  .mm-foot .lang-m { font-family:var(--mono); font-size:13px; letter-spacing:0.12em; color:var(--fg-faint); display:inline-flex; align-items:center; gap:6px; }
  .mm-foot .lang-m .lng { font:inherit; letter-spacing:inherit; color:var(--fg); background:none; border:0; padding:4px 2px; cursor:pointer; }
  .mm-foot .lang-m .sep { opacity:.4; }
  .mm-foot .mm-cta { font-size:15px; padding:13px 22px; }

  @media (max-width: 860px) {
    nav .links { display:none; }
    .nav-toggle { display:inline-flex; }
    nav .right .lang, nav .right > .btn { display:none; }
    .cols2, .work-grid, .ai-grid { grid-template-columns:1fr; gap:20px; }
    .proc { grid-template-columns:1fr 1fr; }
    .step:nth-child(2n){ border-right:0; }
    .principle { grid-template-columns:40px 1fr; }
    .principle .pd { grid-column:1 / -1; }
    .svc-row { grid-template-columns:40px 1fr; }
    .svc-row .sarrow { display:none; }
  }

  /* small screens ≤760px: hide HOLA corner + lift the SCROLL cue ~100px */
  @media (max-width: 760px) {
    .pcorner.br { display:none; }
    .pscroll { bottom:124px; }
  }

  /* ============ INTERNAL PAGES ============ */
  nav .links a.active { color:var(--acc); }

  .hero.page { min-height:58vh; justify-content:flex-start; padding-top:170px; padding-bottom:80px; }
  .hero.page.hero-panel { height:auto; min-height:58vh; }
  .hero.page h1 { font-size:clamp(38px,6vw,90px); max-width:16ch; }
  @media print { .js .reveal { opacity:1 !important; animation:none !important; transform:none !important; } }
  .crumb { font-family:var(--mono); font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--fg-faint); margin-bottom:26px; display:flex; align-items:center; gap:10px; }
  .crumb a { color:var(--fg-faint); } .crumb a:hover { color:var(--acc); }
  .crumb .sl { color:var(--acc); }
  .hero .lead { font-size:clamp(17px,1.7vw,22px); line-height:1.5; color:var(--fg-mute); max-width:56ch; margin:30px 0 0; }

  .section-intro { font-size:clamp(17px,1.7vw,21px); line-height:1.55; color:var(--fg-mute); max-width:60ch; margin:-22px 0 50px; }
  .pull { font-family:var(--serif); font-style:italic; font-size:clamp(26px,3.6vw,46px); line-height:1.28; color:var(--fg); max-width:20ch; margin:0; }
  .pull b { color:var(--acc); font-style:italic; font-weight:400; }

  .rich { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
  .rich p { font-size:17px; line-height:1.62; color:var(--fg-mute); margin:0 0 18px; }
  .rich p:last-child { margin-bottom:0; }
  .rich p b { color:var(--fg); font-weight:600; }
  .rich .single { max-width:64ch; }

  .ph-media { border:1px dashed var(--line); background:var(--bg-2); display:flex; align-items:center; justify-content:center; text-align:center; color:var(--fg-faint); font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; padding:24px; }

  .team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
  .tm { display:flex; flex-direction:column; gap:14px; }
  .tm .tm-ph { aspect-ratio:3/4; }
  .tm .tm-role { font-family:var(--mono); font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--acc); }
  .tm .tm-note { font-size:13.5px; color:var(--fg-mute); line-height:1.45; }

  .vp-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .vp { border:1px solid var(--line); padding:32px 28px; background:var(--bg-2); display:flex; flex-direction:column; gap:16px; transition:border-color .35s, transform .35s; }
  .vp:hover { border-color:var(--acc); transform:translateY(-4px); }
  .vp .aud { font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--acc); }
  .vp h4 { font-size:21px; font-weight:600; letter-spacing:-0.01em; margin:0; line-height:1.28; }
  .vp p { font-size:14.5px; line-height:1.55; color:var(--fg-mute); margin:0; }
  .vp .q { font-family:var(--serif); font-style:italic; font-size:18px; color:var(--fg); margin-top:auto; padding-top:16px; border-top:1px solid var(--line); }

  .acc { border-top:1px solid var(--line); }
  .acc-item { border-bottom:1px solid var(--line); }
  .acc-head { display:grid; grid-template-columns:60px 1fr auto; gap:24px; align-items:center; padding:28px 0; cursor:pointer; transition:padding-left .35s ease; }
  .acc-head:hover, .acc-item.open .acc-head { padding-left:16px; }
  .acc-n { font-family:var(--mono); font-size:13px; color:var(--fg-faint); }
  .acc-t { font-family:var(--sans); font-weight:600; font-size:clamp(21px,2.5vw,34px); letter-spacing:-0.02em; line-height:1.05; transition:color .3s; }
  .acc-head:hover .acc-t, .acc-item.open .acc-t { color:var(--acc); }
  .acc-ic { font-size:24px; color:var(--fg-faint); transition:transform .4s cubic-bezier(.22,1,.36,1), color .3s; }
  .acc-item.open .acc-ic { transform:rotate(45deg); color:var(--acc); }
  .acc-body { overflow:hidden; max-height:0; transition:max-height .55s cubic-bezier(.22,1,.36,1); }
  .acc-inner { padding:2px 0 36px 84px; }
  .acc-desc { font-size:16.5px; line-height:1.6; color:var(--fg); max-width:72ch; margin:0 0 26px; }
  .svc-meta { display:grid; grid-template-columns:repeat(2,1fr); gap:26px 36px; max-width:880px; }
  .svc-meta h6 { font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--fg-faint); margin:0 0 8px; }
  .svc-meta p { font-size:15px; line-height:1.55; color:var(--fg-mute); margin:0; }
  .svc-meta .exc h6 { color:var(--acc-deep); }

  .models { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .model { border:1px solid var(--line); padding:28px 26px; background:var(--bg-2); }
  .model .mk { font-family:var(--mono); font-size:12px; color:var(--acc); letter-spacing:0.08em; }
  .model h5 { font-size:20px; margin:12px 0 10px; font-weight:600; letter-spacing:-0.01em; }
  .model p { font-size:14px; color:var(--fg-mute); line-height:1.55; margin:0; }

  .cs { display:grid; grid-template-columns:0.82fr 1.18fr; gap:56px; padding:64px 0; border-top:1px solid var(--line); align-items:start; }
  .cs:first-of-type { border-top:0; padding-top:8px; }
  .cs .csnum { font-family:var(--mono); font-size:12px; color:var(--fg-faint); letter-spacing:0.1em; }
  .cs .csname { font-family:var(--sans); font-weight:700; font-size:clamp(40px,5vw,70px); letter-spacing:-0.03em; line-height:0.95; margin:14px 0 18px; }
  .cs .cstags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
  .tag { font-family:var(--mono); font-size:11px; letter-spacing:0.08em; color:var(--fg-mute); border:1px solid var(--line); padding:6px 11px; }
  .cs .csimg { aspect-ratio:4/3; }
  .cs-block { padding:18px 0; border-top:1px solid var(--line); }
  .cs-block:first-child { border-top:0; padding-top:0; }
  .cs-block h6 { font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--acc); margin:0 0 9px; }
  .cs-block p { font-size:16px; line-height:1.55; color:var(--fg); margin:0; }
  .cs-metrics { display:flex; gap:48px; flex-wrap:wrap; padding:22px 0; border-top:1px solid var(--line); }
  .cs-metric .big { font-family:var(--sans); font-weight:700; font-size:clamp(32px,4vw,50px); color:var(--acc); letter-spacing:-0.03em; line-height:1; }
  .cs-metric .lab { font-family:var(--mono); font-size:11px; color:var(--fg-mute); letter-spacing:0.06em; margin-top:7px; }
  .cs-quote { font-family:var(--serif); font-style:italic; font-size:clamp(18px,2vw,24px); line-height:1.42; color:var(--fg); border-left:2px solid var(--acc); padding-left:20px; margin:6px 0 0; }
  .cs-quote .who { display:block; font-family:var(--mono); font-style:normal; font-size:11px; letter-spacing:0.1em; color:var(--fg-faint); margin-top:13px; }

  .beliefs { display:grid; grid-template-columns:1fr 1fr; gap:0 48px; border-top:1px solid var(--line); }
  .belief { padding:30px 0; border-bottom:1px solid var(--line); }
  .belief h4 { font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--acc); margin:0 0 12px; }
  .belief p { font-size:17px; line-height:1.58; color:var(--fg-mute); margin:0; }
  .belief p b { color:var(--fg); font-weight:600; }

  .ba { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
  .ba-card { border:1px solid var(--line); padding:32px 28px; background:var(--bg-2); }
  .ba-card.before { border-color:var(--acc); }
  .ba-card .lab { font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; margin:0 0 16px; }
  .ba-card.before .lab { color:var(--acc); } .ba-card.after .lab { color:var(--fg-faint); }
  .ba-card p { font-size:17px; line-height:1.55; color:var(--fg); margin:0; }

  .uc-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
  .uc { border:1px solid var(--line); padding:28px 26px; display:flex; gap:16px; align-items:flex-start; transition:border-color .35s; }
  .uc:hover { border-color:var(--acc); }
  .uc i { font-size:26px; color:var(--acc); flex:none; margin-top:2px; }
  .uc h5 { font-size:18px; font-weight:600; margin:0 0 6px; letter-spacing:-0.01em; }
  .uc p { font-size:14.5px; color:var(--fg-mute); line-height:1.5; margin:0; }

  .contact-grid { display:grid; grid-template-columns:1.25fr 0.75fr; gap:60px; }
  .form { display:grid; grid-template-columns:1fr 1fr; gap:22px 26px; }
  .field { display:flex; flex-direction:column; gap:9px; }
  .field.full { grid-column:1 / -1; }
  .field label { font-family:var(--mono); font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--fg-mute); }
  .field input, .field select, .field textarea { background:var(--bg-2); border:1px solid var(--line); color:var(--fg); font-family:var(--sans); font-size:15px; padding:13px 15px; border-radius:0; outline:none; transition:border-color .25s; width:100%; }
  .field textarea { resize:vertical; min-height:130px; }
  .field input:focus, .field select:focus, .field textarea:focus { border-color:var(--acc); }
  .field input::placeholder, .field textarea::placeholder { color:var(--fg-faint); }
  .field select { appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238A9098'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 15px center; padding-right:38px; }
  .radio-row { display:flex; gap:12px; flex-wrap:wrap; }
  .radio { display:inline-flex; align-items:center; gap:9px; border:1px solid var(--line); padding:11px 16px; cursor:pointer; font-size:14px; color:var(--fg-mute); transition:border-color .25s, color .25s; }
  .radio input { accent-color:var(--acc); width:15px; height:15px; }
  .radio:hover { border-color:var(--fg-mute); color:var(--fg); }
  .radio.sel { border-color:var(--acc); color:var(--fg); }
  .submit-row { grid-column:1 / -1; }
  .form-done { display:none; border:1px solid var(--acc); background:rgba(198,241,53,0.06); padding:40px 36px; }
  .form-done h3 { font-family:var(--sans); font-weight:600; font-size:28px; letter-spacing:-0.02em; margin:0 0 12px; }
  .form-done p { font-size:16px; color:var(--fg-mute); line-height:1.55; margin:0; }
  .cinfo .ci { padding:22px 0; border-top:1px solid var(--line); }
  .cinfo .ci:first-child { border-top:0; padding-top:0; }
  .cinfo h6 { font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--fg-faint); margin:0 0 9px; }
  .cinfo p, .cinfo a { font-size:16px; color:var(--fg); line-height:1.5; margin:0; display:block; }
  .cinfo a:hover { color:var(--acc); }

  /* essays */
  .topics { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:42px; }
  .topic { font-family:var(--mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--fg-mute); border:1px solid var(--line); padding:9px 15px; transition:border-color .25s, color .25s; cursor:pointer; }
  .topic:hover, .topic.on { border-color:var(--acc); color:var(--acc); }
  .featured { display:grid; grid-template-columns:1fr 1fr; gap:44px; border:1px solid var(--line); background:var(--bg-2); padding:36px; margin-bottom:46px; align-items:center; transition:border-color .35s; cursor:pointer; }
  .featured:hover { border-color:var(--acc); }
  .featured .fimg { aspect-ratio:4/3; }
  .featured .fmeta { font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--acc); margin-bottom:18px; }
  .featured h3 { font-family:var(--sans); font-weight:600; font-size:clamp(26px,3vw,40px); letter-spacing:-0.025em; line-height:1.12; margin:0 0 16px; }
  .featured p { font-size:16px; line-height:1.6; color:var(--fg-mute); margin:0 0 24px; }
  .featured .fread { display:inline-flex; align-items:center; gap:10px; font-family:var(--mono); font-size:12px; letter-spacing:0.08em; color:var(--fg); }
  .featured:hover .fread { color:var(--acc); }
  .essay-list { border-top:1px solid var(--line); }
  .essay { display:grid; grid-template-columns:150px 1fr auto; gap:28px; align-items:baseline; padding:30px 0; border-bottom:1px solid var(--line); cursor:pointer; transition:padding-left .35s ease; }
  .essay:hover { padding-left:16px; }
  .essay .emeta { font-family:var(--mono); font-size:11px; letter-spacing:0.08em; color:var(--fg-faint); line-height:1.7; text-transform:uppercase; }
  .essay .etitle { font-family:var(--sans); font-weight:600; font-size:clamp(20px,2vw,28px); letter-spacing:-0.02em; line-height:1.15; transition:color .3s; }
  .essay .eexc { font-size:15px; line-height:1.5; color:var(--fg-mute); margin-top:8px; max-width:62ch; }
  .essay .earrow { font-size:22px; color:var(--fg-faint); transition:color .3s, transform .3s; align-self:center; }
  .essay:hover .etitle { color:var(--acc); }
  .essay:hover .earrow { color:var(--acc); transform:translate(4px,-4px); }
  @media (max-width:860px){
    .featured { grid-template-columns:1fr; }
    .essay { grid-template-columns:1fr; gap:8px; }
    .essay .earrow { display:none; }
  }

  @media (max-width: 860px) {
    .rich, .vp-grid, .models, .cs, .beliefs, .ba, .contact-grid, .form, .uc-grid { grid-template-columns:1fr; }
    .team-grid { grid-template-columns:1fr 1fr; }
    .svc-meta { grid-template-columns:1fr; }
    .acc-inner { padding-left:0; }
    .acc-head { grid-template-columns:40px 1fr auto; gap:16px; }
    .cs-metrics { gap:28px; }
  }
