
  :root{
    --ivory:#F4F1EA;
    --ivory-dim:#E8E3D6;
    --ink:#17161A;
    --anthracite:#1B1A19;
    --anthracite-2:#242220;
    --cream:#F4F1EA;
    --mist:#8A867C;
    --mist-2:#57534B;
    --mist-invert:#9B978D;
    --text-muted-light:#4F4B44;
    --text-subtle-light:#6D685F;
    --text-muted-dark:#D2CEC4;
    --text-subtle-dark:#AAA59B;
    --text-faint-dark:#8F8A80;
    --line:rgba(23,22,20,0.14);
    --line-invert:rgba(244,241,234,0.16);
    --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  html.gate-lock, html.gate-lock body{height:100%;overflow:hidden;}
  body{
    margin:0;background:var(--anthracite);color:var(--cream);
    font-family:'Archivo',sans-serif;font-size:16px;line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;}
  ::selection{background:var(--cream);color:var(--ink);}
  img,video,canvas{display:block;max-width:100%;}

  h1,h2,h3{
    margin:0;font-family:'Archivo Black','Archivo',sans-serif;font-weight:400;
    letter-spacing:0;line-height:0.98;text-transform:uppercase;
  }
  em{font-family:'Archivo Black','Archivo',sans-serif;font-style:normal;font-weight:400;color:inherit;}
  .i{font-family:'Archivo Black','Archivo',sans-serif;font-style:normal;font-weight:400;}

  .eyebrow{
    display:inline-flex;align-items:center;gap:12px;
    font-family:'Archivo',sans-serif;font-weight:700;font-size:11px;
    letter-spacing:0.18em;text-transform:uppercase;color:var(--mist-2);
  }
  .eyebrow::before{content:"";width:22px;height:1px;background:currentColor;}
  .dark .eyebrow{color:var(--text-subtle-dark);}

  .mono{font-family:'IBM Plex Mono',monospace;letter-spacing:0.02em;}
  .num{
    font-family:'Archivo Black','Archivo',sans-serif;font-style:normal;font-weight:400;
    color:var(--line);-webkit-text-stroke:1px var(--mist);
    font-size:clamp(56px,7vw,110px);line-height:1;
  }
  .dark .num{-webkit-text-stroke:1px var(--line-invert);color:transparent;}

  .grain{position:absolute;inset:0;background-image:var(--grain);opacity:0.045;mix-blend-mode:multiply;pointer-events:none;}
  .dark .grain{opacity:0.07;mix-blend-mode:overlay;}

  .glow{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
  .glow::before{
    content:"";position:absolute;left:50%;top:38%;
    width:70vw;height:70vw;max-width:900px;max-height:900px;
    transform:translate(-50%,-50%);
    background:radial-gradient(circle, color-mix(in oklab, var(--cream) 22%, transparent), transparent 65%);
    filter:blur(40px);
  }
  .gate-screen .glow::before{
    left: calc(50% + (var(--mx, 0.5) - 0.5) * 10vw);
    top: calc(38% + (var(--my, 0.5) - 0.5) * 8vh);
    animation:gateAura 18s ease-in-out infinite alternate;
  }
  .gate-screen .glow::after{
    content:"";position:absolute;
    left: calc(50% + (var(--mx, 0.5) - 0.5) * 17vw);
    top: calc(42% + (var(--my, 0.5) - 0.5) * 13vh);
    width:60vw;height:60vw;max-width:780px;max-height:780px;
    transform:translate(-50%,-50%);
    background:radial-gradient(circle at 60% 40%, color-mix(in oklab, var(--cream) 16%, transparent), color-mix(in oklab, var(--cream) 6%, transparent) 45%, transparent 70%);
    filter:blur(48px);
    animation:gateDrift 28s ease-in-out infinite;
  }
  @keyframes gateAura{
    0%{transform:translate(-50%,-50%) scale(0.92) rotate(0deg);opacity:0.72;}
    50%{transform:translate(-50%,-50%) scale(1.06) rotate(180deg);opacity:1;}
    100%{transform:translate(-50%,-50%) scale(1.10) rotate(360deg);opacity:0.85;}
  }
  @keyframes gateDrift{
    0%,100%{transform:translate(-50%,-50%) translate3d(0,0,0) scale(1);opacity:0.55;}
    25%{transform:translate(-50%,-50%) translate3d(3vw,-2vh,0) scale(1.08);opacity:0.85;}
    50%{transform:translate(-50%,-50%) translate3d(-2vw,3vh,0) scale(0.96);opacity:0.65;}
    75%{transform:translate(-50%,-50%) translate3d(2vw,2vh,0) scale(1.04);opacity:0.8;}
  }



  .wrap{max-width:1180px;margin:0 auto;padding:0 40px;}
  section{position:relative;}
  .pad{padding:clamp(56px,7vw,96px) 0;}

  /* ---------- NAV ---------- */
  header.nav{
    position:fixed;top:0;left:0;right:0;z-index:100;
    padding:22px 40px;display:flex;align-items:center;justify-content:space-between;
    background:rgba(27,26,25,0.72);backdrop-filter:blur(14px);
    border-bottom:1px solid transparent;transition:border-color .3s ease, padding .3s ease, opacity .7s ease;
  }
  html.gate-lock header.nav{opacity:0;pointer-events:none;}
  header.nav.scrolled{border-bottom-color:var(--line-invert);padding:16px 40px;}
  .logo{
    display:inline-flex;align-items:center;
    text-decoration:none;
  }
  .logo-img{height:28px;width:auto;display:block;}
  .nav-links{display:flex;align-items:center;gap:38px;list-style:none;margin:0;padding:0;}
  .nav-links a{
    font-family:'Archivo',sans-serif;font-weight:700;font-size:12px;
    letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted-dark);
    text-decoration:none;position:relative;padding-bottom:3px;
  }
  .nav-links a::after{display:none;}
  .nav-links a:hover{color:var(--cream);}
  .nav-links a.cta{color:var(--cream);font-weight:800;}
  @media (max-width:780px){ .nav-links li:not(.cta-li){display:none;} }

  /* ---------- BUTTONS ---------- */
  .btn{
    font-family:'Archivo',sans-serif;font-weight:700;font-size:12.5px;
    letter-spacing:0.1em;text-transform:uppercase;
    padding:15px 26px;text-decoration:none;border:1px solid currentColor;
    display:inline-flex;align-items:center;gap:10px;cursor:pointer;
    transition:background .25s ease, color .25s ease, border-color .25s ease;
    background:transparent;
  }
  .btn .arrow{transition:transform .25s ease;}
  .btn:hover .arrow{transform:translateX(4px);}
  .btn-light{color:var(--cream);}
  .btn-light:hover{background:var(--cream);color:var(--anthracite);}
  .btn-ink{color:var(--ink);}
  .btn-ink:hover{background:var(--ink);color:var(--ivory);}
  .btn-acid{color:var(--cream);border-color:var(--cream);}
  .btn-acid:hover{background:var(--cream);color:var(--anthracite);}
  .link{
    font-family:'Archivo',sans-serif;font-weight:700;font-size:12.5px;
    letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;
    display:inline-flex;align-items:center;gap:8px;color:inherit;
    border-bottom:0;padding-bottom:2px;
  }
  .dark .link{border-color:transparent;}
  .link:hover{opacity:.72;}

  /* ---------- GATE ---------- */
  .gate-screen{
    position:fixed;inset:0;z-index:1000;background:var(--anthracite);color:var(--cream);
    display:flex;align-items:center;justify-content:center;padding:32px;
    opacity:1;visibility:visible;transition:opacity .9s ease, visibility 0s linear 0s;
  }
  .gate-screen.gate-hide{
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .9s ease, visibility 0s linear .9s;
  }
  .gate-inner{position:relative;z-index:2;max-width:600px;text-align:center;}
  .gate-corner{position:fixed;z-index:2;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-faint-dark);}
  .gate-corner.tl{top:30px;left:36px;display:inline-flex;align-items:center;}
  .gate-logo{height:22px;width:auto;display:block;}
  .gate-corner.tr{top:26px;right:36px;}
  .gate-corner.br{bottom:30px;right:36px;}
  .gate-corner.bl{bottom:30px;left:36px;}
  .gate-corner.bl a{color:var(--text-subtle-dark);text-decoration:none;}
  .gate-corner.bl a:hover{color:var(--cream);}
  .btn-gate{
    color:var(--cream);border-color:var(--cream);background:transparent;
    opacity:1;transform:scale(1);transform-origin:right center;
    padding:12px 22px;font-size:11px;letter-spacing:0.12em;
    transition:opacity .25s ease, transform .25s ease, color .25s ease, border-color .25s ease, background .25s ease;
  }
  .btn-gate:hover{
    opacity:1;color:var(--ink);border-color:var(--cream);background:var(--cream);
    transform:scale(1.04);
  }
  @media (max-width:600px){
    .gate-corner.br{display:none;}
    .gate-corner.bl{left:50%;transform:translateX(-50%);font-size:10px;}
    .gate-corner.tr{right:20px;}
    .btn-gate{padding:10px 16px;font-size:10px;}
  }
  .gate-rule{width:36px;height:1px;background:var(--cream);margin:0 auto 22px;}
  .gate-label{
    font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.24em;
    text-transform:uppercase;color:var(--text-muted-dark);
  }
  .gate-title{margin-top:26px;font-size:clamp(34px,5.2vw,58px);color:var(--cream);font-weight:400;}
  .gate-title .i{color:inherit;display:block;font-size:0.86em;margin-top:6px;}
  .gate-copy{
    margin-top:26px;font-family:'Archivo',sans-serif;font-style:normal;font-weight:600;
    font-size:clamp(16px,1.9vw,20px);line-height:1.55;color:var(--text-muted-dark);max-width:46ch;margin-left:auto;margin-right:auto;
  }
  .gate-enter{margin-top:44px;}
  .gate-fine{
    margin-top:24px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;
    letter-spacing:0.14em;text-transform:uppercase;color:var(--text-faint-dark);
  }

  /* ---------- VIDEO SKIPPER ---------- */
  .video-skipper{
    position:fixed;inset:0;z-index:900;background:#000;color:#fff;
    display:flex;align-items:center;justify-content:center;
    opacity:0;visibility:hidden;transition:opacity .8s ease, visibility 0s linear .8s;
  }
  .video-skipper:not([hidden]){opacity:1;visibility:visible;transition:opacity .8s ease, visibility 0s linear 0s;}
  .video-skipper-video{position:absolute;inset:0;overflow:hidden;}
  .video-skipper-video iframe{
    position:absolute;left:50%;top:50%;width:max(100vw,177.78vh);height:max(100vh,56.25vw);
    transform:translate(-50%,-50%) scale(1.02);border:0;
  }
  .video-skipper-ui{
    position:fixed;right:36px;bottom:28px;z-index:10;
    display:flex;align-items:center;gap:16px;
    font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;
  }
  .video-skipper-counter{color:rgba(255,255,255,0.62);}
  .video-skipper-btn{
    appearance:none;border:1px solid rgba(255,255,255,0.35);background:rgba(0,0,0,0.35);
    color:#fff;font-family:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit;
    padding:12px 18px;cursor:pointer;backdrop-filter:blur(8px);
    transition:background .25s ease, border-color .25s ease;
  }
  .video-skipper-btn:hover{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.65);}
  @media (max-width:600px){.video-skipper-ui{right:20px;bottom:20px;}}

  /* ---------- HERO ---------- */
  .hero{background:var(--anthracite);color:var(--cream);min-height:max(430px, calc(100svh - 185px));display:flex;flex-direction:column;justify-content:center;padding:112px 0 48px;overflow:hidden;isolation:isolate;}
  .hero-video{position:absolute;inset:0;z-index:-3;overflow:hidden;background:var(--anthracite);}
  .hero-video iframe{
    position:absolute;left:50%;top:50%;width:max(100vw,177.78svh);height:max(100svh,56.25vw);
    transform:translate(-50%,-50%) scale(1.16);border:0;pointer-events:none;
  }
  .hero-shade{position:absolute;inset:0;z-index:-2;background:rgba(18,19,15,0.8);opacity:0;transition:opacity 1.25s ease;}
  .hero .grain{z-index:-1;opacity:0;transition:opacity 1.25s ease;}
  .hero .wrap{position:relative;z-index:2;opacity:0;transform:translateY(24px);transition:opacity 1s ease .25s, transform 1s ease .25s;}
  .hero.intro-complete .hero-shade{opacity:1;}
  .hero.intro-complete .grain{opacity:0.07;}
  .hero.intro-complete .wrap{opacity:1;transform:translateY(0);}
  .hero h1{font-size:clamp(36px,5.4vw,76px);max-width:15ch;color:var(--cream);margin-top:20px;}
  .hero-sub{margin-top:22px;max-width:520px;font-size:clamp(15px,1.5vw,17.5px);color:var(--text-muted-dark);}
  .hero-actions{margin-top:32px;display:flex;gap:28px;flex-wrap:wrap;align-items:center;}
  .hero-projects{background:var(--anthracite);color:var(--cream);padding:54px 0 48px;border-top:1px solid var(--line-invert);}
  .hero-slider{
    overflow:hidden;position:relative;z-index:2;
  }
  .hero-slider-track{
    display:flex;
    transition:transform .6s cubic-bezier(0.22,0.61,0.36,1);
    will-change:transform;
  }
  .hero-slide{
    flex:0 0 100%;width:100%;
    padding:18px 0;box-sizing:border-box;
  }
  .hero-slide-title{
    font-family:'Archivo Black','Archivo',sans-serif;font-size:clamp(22px,2.5vw,30px);font-weight:400;
     color:var(--cream);line-height:1.15;
  }
  .hero-slide-desc{
    margin-top:12px;font-family:'IBM Plex Mono',monospace;font-size:12px;
    color:var(--text-subtle-dark);letter-spacing:0.01em;line-height:1.7;
  }
  .hero-slide-desc b{color:var(--text-muted-dark);font-weight:500;}
  .hero-slider-dots{
    display:flex;align-items:center;gap:10px;margin-top:18px;
  }
  .hero-slider-dot{
    width:8px;height:8px;border-radius:50%;border:0;padding:0;
    background:rgba(244,241,234,0.28);cursor:pointer;
    transition:background .25s ease, transform .25s ease;
  }
  .hero-slider-dot:hover{background:rgba(244,241,234,0.5);}
  .hero-slider-dot.active{background:var(--cream);transform:scale(1.25);}
  @media (max-width:720px){
    .hero{height:auto;min-height:calc(100svh - 190px);padding:100px 0 44px;}
    .hero h1{font-size:clamp(36px,11vw,58px);}
    .hero-actions{margin-top:30px;}
    .hero-projects{padding:40px 0 36px;}
    .hero-slide-title{font-size:clamp(18px,5vw,22px);}
    .hero-slider-dots{margin-top:14px;}
  }
  @media (min-width:721px) and (max-height:820px){
    .hero{padding:88px 0 28px;}
    .hero h1{font-size:clamp(36px,4.2vw,60px);margin-top:14px;}
    .hero-sub{margin-top:16px;font-size:15px;line-height:1.5;}
    .hero-actions{margin-top:22px;}
  }
  @media (prefers-reduced-motion: reduce){
    .hero-slider-track{transition:none;}
  }

  .caps-line{
    overflow:hidden;background:var(--anthracite);color:var(--cream);
    border-top:1px solid var(--line-invert);border-bottom:1px solid var(--line-invert);
    padding:20px 0;
  }
  .caps-track{
    display:flex;width:max-content;will-change:transform;
    animation:capsScroll 34s linear infinite;
  }
  .caps-group{
    flex:none;white-space:nowrap;padding-right:2.4em;
    font-family:'Archivo',sans-serif;font-size:12px;font-weight:700;
    letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted-dark);
  }
  .caps-group b{color:var(--cream);font-weight:800;margin:0 .7em;}
  @keyframes capsScroll{
    from{transform:translate3d(0,0,0);}
    to{transform:translate3d(-50%,0,0);}
  }
  @media (prefers-reduced-motion:reduce){
    .caps-track{animation-play-state:paused;}
  }

  /* ---------- SECTION HEAD ---------- */
  .head{max-width:660px;margin-bottom:48px;}
  .head h2{font-size:clamp(30px,4vw,50px);margin-top:18px;}
  .head p{margin-top:22px;color:var(--text-muted-light);font-size:16px;max-width:52ch;}
  .dark .head p{color:var(--text-muted-dark);}
  .light-heading{color:var(--ink);}
  .light-heading .i{color:inherit;}
  .dark .head h2,
  .contact h2{color:var(--cream);}
  .dark .head h2 .i,
  .contact h2 .i{color:inherit;background:none;padding:0;}

  /* ---------- OFFER ---------- */
  .offer{background:var(--anthracite);color:var(--cream);}
  .offer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;}
  .offer-grid{display:grid;grid-template-columns:0.95fr 1.05fr;gap:56px;align-items:start;margin-top:44px;}
  .offer-panel{aspect-ratio:4/5;position:relative;background:var(--anthracite);border:1px solid var(--ink);overflow:hidden;}
  .offer-panel video{width:100%;height:100%;object-fit:cover;background:var(--anthracite);}
  .offer-panel .glow::before{width:110%;height:110%;background:radial-gradient(circle, color-mix(in oklab, var(--cream) 18%, transparent), transparent 60%);}
  .offer-caption{display:flex;justify-content:space-between;margin-top:14px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-subtle-light);}
  .offer-price{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:0.04em;color:var(--text-muted-light);text-transform:uppercase;margin-bottom:14px;}
  .offer-price b{color:var(--ink);font-size:16px;}
  .offer-copy p{color:var(--text-muted-light);font-size:16px;max-width:52ch;}
  .deliverables{list-style:none;margin:36px 0 0;padding:0;border-top:1px solid var(--line);}
  .deliverables li{display:flex;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-family:'Archivo',sans-serif;font-size:15px;}
  .deliverables li::before{content:"—";color:var(--ink);font-family:'IBM Plex Mono',monospace;}
  .offer-foot{margin-top:44px;display:flex;gap:30px;flex-wrap:wrap;align-items:center;}

  /* ---------- PROCESS ---------- */
  .process{background:var(--ivory-dim);}
  .process-list{border-top:1px solid var(--line);}
  .process{background:var(--anthracite);color:var(--cream);}
  .process-item{display:grid;grid-template-columns:80px 1fr 1.25fr;gap:30px;padding:36px 0;border-bottom:1px solid var(--line-invert);align-items:start;transition:grid-template-columns 0.45s cubic-bezier(0.4,0,0.2,1);}
  .process-item>div{min-width:0;overflow:hidden;opacity:0;transform:translateX(-12px);transition:opacity 0.35s ease 0.08s,transform 0.45s cubic-bezier(0.4,0,0.2,1);}
  
  .process-item:hover>div{opacity:1;transform:translateX(0);}
  .process-item .num{font-size:34px;-webkit-text-stroke:0;color:var(--text-subtle-dark);transition:color .3s;}.process-item:hover .num{color:var(--cream);}
  .process-item h3{font-size:21px;}
  .process-item p{margin:0;color:var(--text-muted-dark);font-size:15px;max-width:46ch;}
  .process-meta{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-subtle-dark);margin-top:10px;display:block;}
  .process-feature{width:100%;height:100vh;height:100svh;background:var(--anthracite);overflow:hidden;}
  .process-feature video{width:100%;height:100%;object-fit:cover;background:var(--anthracite);}
  @media (max-width:720px){.process-item{grid-template-columns:1fr;gap:10px;}.process-item>div{opacity:1;transform:none;overflow:visible;}}

  /* ---------- CROSS-SELL ---------- */
  .expand{display:none !important;}
  .expand{background:var(--anthracite);color:var(--cream);}
  .expand .head h2{color:var(--cream);}
  .expand-grid{display:grid;grid-template-columns:1fr 1fr;}
  .expand-card{padding:0 48px 0 0;position:relative;}
  .expand-card + .expand-card{padding:0 0 0 48px;border-left:1px solid var(--line-invert);}
  .expand-card .n{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--text-subtle-dark);letter-spacing:0.12em;text-transform:uppercase;}
  .expand-card h3{color:var(--cream);font-size:26px;margin-top:18px;}
  .expand-card p{color:var(--text-muted-dark);font-size:14.5px;margin-top:16px;max-width:40ch;}
  .expand-price{margin-top:28px;font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--cream);letter-spacing:0.02em;}
  .expand-price span{color:var(--text-subtle-dark);}
  .expand-link{margin-top:22px;}
  @media (max-width:720px){
    .expand-grid{grid-template-columns:1fr;gap:48px;}
    .expand-card, .expand-card + .expand-card{padding:0;border:0;}
    .expand-card + .expand-card{border-top:1px solid var(--line-invert);padding-top:48px;}
  }

  /* ---------- CRAFT ---------- */
  .craft{background:var(--anthracite);color:var(--cream);}
  .craft-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:90px;align-items:start;}
  .craft .eyebrow{color:var(--ink);}
  .craft-quote{font-size:clamp(24px,2.6vw,34px);max-width:15ch;color:var(--ink);}
  .craft-quote .i{color:inherit;}
  .craft-names{margin-top:26px;font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--ink);letter-spacing:0.02em;}
  .craft-list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(23,22,20,0.28);}
  .craft-list li{padding:28px 0;border-bottom:1px solid rgba(23,22,20,0.28);display:grid;grid-template-columns:42px 1fr;gap:22px;}
  .craft-list .rn{display:inline-flex;align-items:center;justify-content:flex-start;width:36px;height:28px;background:transparent;font-family:'Archivo Black','Archivo',sans-serif;font-style:normal;font-weight:400;color:var(--ink);font-size:14px;}
  .craft-list h3{font-family:'Archivo',sans-serif;font-weight:800;font-size:18px;color:var(--ink);line-height:1.3;}
  .craft-list p{margin:9px 0 0;color:var(--ink);font-size:16px;line-height:1.65;max-width:44ch;}
  @media (max-width:820px){.craft-grid{grid-template-columns:1fr;gap:40px;}}

  /* ---------- WORK ---------- */
  .work{background:var(--anthracite);color:var(--cream);}
  .plates{display:grid;grid-template-columns:1fr 1fr;gap:48px 40px;}
  .plate-panel{aspect-ratio:3/4;position:relative;background:var(--anthracite);border:1px solid var(--ink);overflow:hidden;}
  .plate-panel video{width:100%;height:100%;object-fit:cover;background:var(--anthracite);}
  .plate-panel.plate-zoom video{transform:scale(1.02);}
  .plate-cap{display:flex;justify-content:space-between;margin-top:16px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-subtle-light);}
  .plate-cap b{color:var(--ink);font-weight:500;}
  @media (max-width:720px){.plates{grid-template-columns:1fr;}}

  /* ---------- PRICING ---------- */
  .pricing{background:var(--anthracite);color:var(--cream);}
  .price-table{border-top:1px solid var(--line-invert);position:relative;}
  .price-indicator{
    position:absolute;left:-24px;top:0;width:2px;height:0;
    background:var(--cream);opacity:0;pointer-events:none;z-index:2;
    transition:top .5s cubic-bezier(0.22,0.61,0.36,1),height .5s cubic-bezier(0.22,0.61,0.36,1),opacity .4s ease;
  }
  .price-row{display:grid;grid-template-columns:2fr 3fr 1fr;gap:24px;padding:30px 0;border-bottom:1px solid var(--line-invert);align-items:center;position:relative;}
  .price-row:not(.head-row){transition:opacity .35s ease;}
  .price-table:hover .price-row:not(.head-row):not(:hover){opacity:.55;}
  .price-row.head-row{padding-bottom:16px;}
  .price-row.head-row span{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-subtle-dark);}
  .price-row .name{font-family:'Archivo',sans-serif;font-weight:800;font-size:19px;}
  .price-row .name .tag{display:block;margin-top:6px;font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-subtle-dark);background:transparent;padding:0;line-height:1.3;}
  .price-row .desc{color:var(--text-muted-dark);font-size:14.5px;}
  .price-row .val{font-family:'IBM Plex Mono',monospace;font-size:14.5px;text-align:right;}
  @media (max-width:720px){
    .price-row{grid-template-columns:1fr;gap:8px;text-align:left;}
    .price-row .val{text-align:left;}
    .price-indicator{left:0;}
  }
  @media (prefers-reduced-motion:reduce){
    .price-indicator{transition:none;}
  }

  /* ---------- CONTACT ---------- */
  .contact{background:var(--anthracite);color:var(--cream);overflow:hidden;}
  .contact .eyebrow{color:var(--text-subtle-dark);}
  .contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end;position:relative;z-index:2;}
  .contact h2{font-size:clamp(32px,4.4vw,54px);color:var(--cream);margin-top:20px;}
  .contact p{margin-top:22px;max-width:44ch;color:var(--text-muted-dark);font-size:16px;}
  .contact-links{display:flex;flex-direction:column;gap:0;}
  .contact-item{border-top:1px solid var(--line-invert);padding:20px 0;}
  .contact-item:last-child{border-bottom:1px solid var(--line-invert);}
  .contact-item span{display:block;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-subtle-dark);}
  .contact-item a,.contact-item div{font-family:'Archivo',sans-serif;font-weight:800;font-size:19px;text-decoration:none;color:var(--cream);margin-top:6px;}
  @media (max-width:820px){.contact-grid{grid-template-columns:1fr;gap:44px;}}

  /* ---------- FOOTER ---------- */
  footer{background:var(--anthracite);color:var(--cream);padding:44px 0;border-top:1px solid var(--line-invert);}
  .foot-grid{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;}
  .foot-logo{display:inline-flex;align-items:center;}
  .foot-logo-img{height:22px;width:auto;display:block;}
  .foot-names{font-size:12.5px;color:var(--text-muted-dark);margin-top:8px;font-family:'IBM Plex Mono',monospace;}
  .foot-meta{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--text-muted-dark);text-align:right;line-height:1.8;}
  @media (max-width:600px){.foot-meta{text-align:left;}}

  .reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease, transform .8s ease;}
  .reveal.in{opacity:1;transform:translateY(0);}
  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1;transform:none;transition:none;}
    .glow::before{animation:none;}
    .hero-shade,.hero .grain,.hero .wrap{transition:none;}
    html{scroll-behavior:auto;}
  }

  /* ===== Formularz kontaktowy ===== */
  .contact-form-wrap{position:relative;z-index:2;margin-top:44px;padding-top:32px;border-top:1px solid var(--line-invert);}
  .contact-form{display:flex;flex-direction:column;gap:22px;max-width:760px;}
  .cf-row{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
  .cf-field{display:flex;flex-direction:column;gap:9px;}
  .cf-field > span{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-subtle-dark);}
  .cf-field input,.cf-field textarea{width:100%;background:rgba(255,255,255,0.04);border:1px solid var(--line-invert);border-radius:2px;padding:14px 16px;color:var(--cream);font-family:'Archivo',sans-serif;font-size:15px;transition:border-color .25s ease,background .25s ease;}
  .cf-field textarea{resize:vertical;min-height:130px;}
  .cf-field input::placeholder,.cf-field textarea::placeholder{color:var(--text-faint-dark);opacity:1;}
  .cf-field input:focus,.cf-field textarea:focus{outline:none;border-color:var(--cream);background:rgba(255,255,255,0.07);}
  .cf-error{font-style:normal;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.04em;color:#ff8f7a;}
  .cf-submit{align-self:flex-start;cursor:pointer;margin-top:6px;background:var(--cream);border-color:var(--cream);color:var(--anthracite);}
  .cf-submit:hover{background:transparent;color:var(--cream);border-color:var(--cream);}
  .cf-submit:disabled{opacity:.6;cursor:progress;}
  .cf-note{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.04em;margin:0;}
  .cf-ok{color:var(--cream);}
  .cf-bad{color:#ff8f7a;}
  @media (max-width:820px){.cf-row{grid-template-columns:1fr;}}

/* Panele bez dostępnego pliku wideo — subtelny placeholder zamiast czarnej plamy */
.offer-panel.no-media,
.plate-panel.no-media{background:linear-gradient(135deg, color-mix(in oklab, var(--ink) 8%, transparent), transparent);}
.offer-panel.no-media video,
.plate-panel.no-media video{display:none;}

/* ===== Ciemne sekcje treści (Usługa główna / Dlaczego PIXELATE / Charakter produkcji) ===== */
.dark .light-heading{color:var(--cream);}
.dark .light-heading .i{color:inherit;}

/* Usługa główna */
.dark .offer-panel{border-color:var(--line-invert);}
.dark .offer-caption{color:var(--text-subtle-dark);}
.dark .offer-price{color:var(--text-muted-dark);}
.dark .offer-price b{color:var(--cream);}
.dark .offer-copy p{color:var(--text-muted-dark);}
.dark .deliverables{border-top-color:var(--line-invert);}
.dark .deliverables li{border-bottom-color:var(--line-invert);}
.dark .deliverables li::before{color:var(--cream);}
.dark .btn-ink{color:var(--cream);border-color:var(--cream);}
.dark .btn-ink:hover{background:var(--cream);color:var(--anthracite);}

/* Dlaczego PIXELATE */
.craft.dark .eyebrow{color:var(--text-subtle-dark);}
.craft.dark .craft-quote{color:var(--cream);}
.craft.dark .craft-names{color:var(--text-muted-dark);}
.craft.dark .craft-list,
.craft.dark .craft-list li{border-color:var(--line-invert);}
.craft.dark .craft-list .rn{color:var(--cream);}
.craft.dark .craft-list h3{color:var(--cream);}
.craft.dark .craft-list p{color:var(--text-muted-dark);}

/* Charakter produkcji */
.dark .plate-panel{border-color:var(--line-invert);}
.dark .plate-cap{color:var(--text-subtle-dark);}
.dark .plate-cap b{color:var(--cream);font-weight:500;}
.gate-title{font-family:'Archivo Black',sans-serif;text-transform:uppercase;line-height:0.98;}
.craft-list h3{margin:0;text-transform:none;line-height:1.3;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
