/* ============================================================
   FIXER STUDIO - Shared Stylesheet (estratto da index.html)
   Design system: Ink/Paper/Neon - Archivo Black/Space Mono/Inter
   ============================================================ */
/* ─── SELF-HOSTED FONTS (woff2: latin + latin-ext) ─── */
  @font-face{font-family:'Archivo Black';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/ArchivoBlack-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
  @font-face{font-family:'Archivo Black';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/ArchivoBlack-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
  @font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/Inter-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
  @font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/Inter-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
  @font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/Inter-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
  @font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/Inter-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
  @font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/Inter-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
  @font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/Inter-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
  @font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/SpaceMono-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
  @font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/SpaceMono-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
  @font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/SpaceMono-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
  @font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/SpaceMono-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
  :root{
    --ink:#0A0A0A;
    --paper:#F4F1EB;
    --neon:#FF1F2E;
    --muted:rgba(10,10,10,.55);
    --muted-paper:rgba(244,241,235,.55);
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth; scroll-padding-top:72px}
  body{
    background:var(--paper); color:var(--ink);
    font-family:'Inter',system-ui,sans-serif;
    -webkit-font-smoothing:antialiased;
    line-height:1.5; overflow-x:hidden;
  }
  ::selection{background:var(--neon);color:var(--paper)}
  a{color:inherit}
  img{display:block; max-width:100%; height:auto}

  /* ─── NAV ─── */
  nav.top{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:rgba(10,10,10,.94);
    backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
    color:var(--paper);
    border-bottom:1px solid rgba(244,241,235,.1);
  }
  nav.top .inner{
    max-width:1400px; margin:0 auto;
    padding:14px 32px;
    display:flex; justify-content:space-between; align-items:center;
    gap:24px;
  }
  nav.top .brand{
    font-family:'Archivo Black',sans-serif;
    font-size:17px; letter-spacing:-.01em;
    text-transform:uppercase; text-decoration:none;
  }
  nav.top .brand .x{color:var(--neon)}
  nav.top ul{
    list-style:none; display:flex; gap:22px;
    font-family:'Space Mono',monospace;
    font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  }
  nav.top ul a{text-decoration:none; opacity:.7; transition:opacity .15s, color .15s; cursor:pointer}
  nav.top ul a:hover{opacity:1;color:var(--neon)}
  nav.top .cta-nav{
    font-family:'Space Mono',monospace;
    font-size:11px; letter-spacing:.2em; text-transform:uppercase;
    background:var(--neon); color:var(--ink);
    padding:9px 16px; text-decoration:none; font-weight:700;
    border:none; cursor:pointer;
    transition:transform .15s, box-shadow .15s;
  }
  nav.top .cta-nav:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--paper)}
  .menu-btn{display:none; background:none; border:none; color:var(--paper); cursor:pointer; padding:8px}
  .menu-btn span{display:block; width:24px; height:2px; background:var(--paper); margin:5px 0}
  @media (max-width:1000px){
    nav.top ul, nav.top .cta-nav{display:none}
    .menu-btn{display:block}
    nav.top.open ul{
      display:flex; position:absolute; top:100%; left:0; right:0;
      background:var(--ink); flex-direction:column; gap:0;
      padding:12px 32px 24px;
      border-bottom:2px solid var(--neon);
    }
    nav.top.open ul li{border-bottom:1px solid rgba(244,241,235,.1)}
    nav.top.open ul a{display:block; padding:14px 0}
  }

  /* ─── STICKY FLOATING CTA ─── */
  .float-cta{
    position:fixed; bottom:24px; right:24px; z-index:90;
    background:var(--neon); color:var(--ink);
    font-family:'Archivo Black',sans-serif;
    font-size:14px; letter-spacing:.05em; text-transform:uppercase;
    padding:16px 24px; border:none; cursor:pointer;
    box-shadow:0 8px 24px rgba(255,31,46,.4);
    transition:transform .2s, box-shadow .2s;
    display:inline-flex; align-items:center; gap:10px;
    text-decoration:none;
  }
  .float-cta:hover{
    transform:translate(-4px,-4px);
    box-shadow:8px 8px 0 var(--ink), 0 8px 24px rgba(255,31,46,.4);
  }
  .float-cta::before{
    content:""; width:10px; height:10px;
    background:var(--ink); border-radius:50%;
    animation:blink 1.4s infinite;
  }
  @keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
  @media (max-width:600px){
    .float-cta{
      bottom:14px; right:14px; left:14px;
      justify-content:center; padding:14px 20px; font-size:13px;
    }
  }

  /* ─── SHARED ─── */
  section{padding:96px 64px; position:relative}
  .container{max-width:1200px; margin:0 auto}
  .section-label{
    font-family:'Space Mono',monospace;
    font-size:11px; letter-spacing:.3em; text-transform:uppercase;
    margin-bottom:20px;
    display:inline-flex; align-items:center; gap:10px;
  }
  .section-label::before{content:""; width:32px; height:1px; background:var(--neon)}
  .section-label.on-dark{color:var(--paper)}
  h1, h2, h3, h4{font-family:'Archivo Black',sans-serif; text-transform:uppercase}
  h1{font-size:clamp(32px, 5vw, 60px); line-height:1; letter-spacing:-.02em}
  .hero h1{font-size:clamp(48px, 8vw, 120px); line-height:.9; letter-spacing:-.04em}
  h2{font-size:clamp(36px, 5vw, 64px); line-height:.92; letter-spacing:-.03em; margin-bottom:20px}
  h3{font-size:clamp(24px, 3vw, 38px); line-height:.95; letter-spacing:-.02em; margin-bottom:12px}
  h4{font-size:20px; letter-spacing:-.005em; margin-bottom:10px}
  p.lead{font-size:clamp(17px,1.7vw,20px); line-height:1.5; max-width:55ch; margin-bottom:24px}
  p.body{font-size:15px; line-height:1.55; max-width:60ch}
  .mono{font-family:'Space Mono',monospace; font-size:12px; letter-spacing:.05em}
  .red{color:var(--neon)}

  /* ─── HERO ─── */
  .hero{
    background:var(--ink); color:var(--paper);
    min-height:92vh; padding:110px 64px 56px;
    display:flex; flex-direction:column; justify-content:center;
    position:relative; overflow:hidden;
  }
  .hero .bg-x{
    position:absolute; right:-280px; top:50%; transform:translateY(-50%);
    width:1100px; height:1100px; opacity:.05; pointer-events:none;
  }
  .hero .container{position:relative; z-index:2; width:100%}
  .hero .pre{
    font-family:'Space Mono',monospace;
    font-size:12px; letter-spacing:.3em; text-transform:uppercase;
    color:var(--neon); margin-bottom:20px;
    display:inline-flex; align-items:center; gap:12px;
  }
  .hero .pre .blink{
    width:10px; height:10px; background:var(--neon);
    border-radius:50%; animation:blink 1.4s infinite;
  }
  .hero h1 .strike{position:relative; display:inline-block}
  .hero h1 .strike::after{
    content:""; position:absolute;
    left:-2%; right:-2%; top:50%;
    height:.1em; background:var(--neon);
    transform:rotate(-2deg);
  }
  .hero .sub{
    font-family:'Archivo Black',sans-serif;
    font-size:clamp(18px,2vw,28px);
    line-height:1.2; letter-spacing:-.01em;
    text-transform:uppercase;
    margin-top:20px; max-width:24ch;
    opacity:.9;
  }
  .hero-buttons{margin-top:36px; display:flex; gap:14px; flex-wrap:wrap}
  .btn-primary, .btn-ghost{
    font-family:'Space Mono',monospace;
    font-size:12px; letter-spacing:.2em; text-transform:uppercase; font-weight:700;
    padding:14px 24px; text-decoration:none; cursor:pointer;
    border:2px solid transparent;
    transition:transform .15s, box-shadow .15s;
    display:inline-flex; align-items:center; gap:10px;
  }
  .btn-primary{background:var(--neon); color:var(--ink); border-color:var(--neon)}
  .btn-primary:hover{transform:translate(-3px,-3px); box-shadow:6px 6px 0 var(--paper)}
  .btn-ghost{background:transparent; color:var(--paper); border-color:var(--paper)}
  .btn-ghost:hover{transform:translate(-3px,-3px); box-shadow:6px 6px 0 var(--neon)}

  /* ─── CTA MICROCOPY (Kostenlos · 30 Min · Keine Verpflichtung) ─── */
  .cta-micro{
    margin-top:18px;
    font-family:'Space Mono',monospace;
    font-size:12px;
    letter-spacing:.15em;
    text-transform:uppercase;
    color:var(--paper);
    opacity:.85;
    font-weight:700;
  }
  .cta-micro .cta-check{
    color:var(--neon);
    font-weight:900;
    margin-right:8px;
    font-size:14px;
  }
  /* Hero version (su sfondo scuro) ha gia colore paper. Per pacchetti su paper bg: */
  .pkg .cta-micro-card{
    margin-top:10px;
    margin-bottom:0;
    font-family:'Space Mono',monospace;
    font-size:10px;
    letter-spacing:.12em;
    text-transform:uppercase;
    text-align:center;
    color:var(--ink);
    opacity:.65;
    font-weight:700;
  }
  .pkg.featured .cta-micro-card{
    color:var(--paper);
    opacity:.75;
  }
  .pkg .cta-micro-card .cta-check{
    color:var(--neon);
    font-weight:900;
    margin-right:5px;
  }
  @media (max-width:600px){
    .cta-micro{font-size:10px; letter-spacing:.1em}
    .pkg .cta-micro-card{font-size:9px}
  }

  /* ─── ACCESSIBILITY: skip link + visible focus ─── */
  .skip-link{
    position:absolute;
    top:-100px;
    left:0;
    background:var(--neon);
    color:var(--ink);
    padding:16px 24px;
    font-family:'Archivo Black',sans-serif;
    font-size:14px;
    letter-spacing:.05em;
    text-transform:uppercase;
    text-decoration:none;
    z-index:99999;
    transition:top .15s;
  }
  .skip-link:focus{
    top:0;
    outline:3px solid var(--ink);
    outline-offset:-3px;
  }
  /* Focus state visibile per tutti gli elementi interattivi */
  a:focus-visible,
  button:focus-visible,
  input:focus-visible,
  textarea:focus-visible,
  select:focus-visible,
  [tabindex]:focus-visible{
    outline:3px solid var(--neon);
    outline-offset:2px;
  }
  /* Remove default outline e usa solo focus-visible */
  a:focus, button:focus, input:focus, textarea:focus{
    outline:none;
  }

  /* ─── PAKETE ─── */
  .prozess{background:var(--paper); color:var(--ink); padding:96px 64px}
  .prozess .container{max-width:1200px; margin:0 auto}
  .prozess h2{
    font-family:'Archivo Black',sans-serif;
    font-size:clamp(36px, 5vw, 64px);
    line-height:1; letter-spacing:-.02em;
    text-transform:uppercase;
    margin-bottom:20px;
  }
  .prozess .lead{font-size:18px; line-height:1.55; max-width:62ch; opacity:.85; margin-bottom:48px}
  .prozess-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:0;
    border:2px solid var(--ink);
  }
  .prozess-step{
    padding:32px 28px;
    border-right:2px solid var(--ink);
    border-bottom:2px solid var(--ink);
    position:relative;
    background:var(--paper);
    transition:background .2s;
  }
  .prozess-step:hover{background:#ECE8DF}
  .prozess-step:nth-child(3n){border-right:none}
  .prozess-step:nth-last-child(-n+3){border-bottom:none}
  .prozess-num{
    font-family:'Space Mono',monospace;
    font-size:11px; letter-spacing:.25em;
    color:var(--neon); font-weight:700;
    display:block; margin-bottom:8px;
  }
  .prozess-step h3{
    font-family:'Archivo Black',sans-serif;
    font-size:22px; line-height:1; letter-spacing:-.005em;
    text-transform:uppercase;
    margin-bottom:12px;
  }
  .prozess-step p{
    font-size:14px; line-height:1.55;
    margin-bottom:16px; opacity:.85;
  }
  .prozess-when{
    font-family:'Space Mono',monospace;
    font-size:10px; letter-spacing:.2em;
    text-transform:uppercase;
    background:var(--ink); color:var(--paper);
    padding:4px 8px;
    display:inline-block;
  }
  @media (max-width:980px){
    .prozess-grid{grid-template-columns:repeat(2, 1fr)}
    .prozess-step:nth-child(3n){border-right:2px solid var(--ink)}
    .prozess-step:nth-child(2n){border-right:none}
    .prozess-step:nth-last-child(-n+3){border-bottom:2px solid var(--ink)}
    .prozess-step:nth-last-child(-n+2){border-bottom:none}
  }
  @media (max-width:600px){
    .prozess{padding:64px 24px}
    .prozess-grid{grid-template-columns:1fr}
    .prozess-step{border-right:none !important; border-bottom:2px solid var(--ink) !important}
    .prozess-step:last-child{border-bottom:none !important}
  }

  /* ─── PAKETE ─── */
  .packages{background:var(--paper)}
  .pkg-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; margin-top:40px}
  .pkg{
    border:2px solid var(--ink); padding:28px 24px;
    background:var(--paper);
    display:flex; flex-direction:column;
    transition:transform .2s, box-shadow .2s;
    position:relative;
  }
  .pkg:hover{transform:translate(-4px,-4px); box-shadow:8px 8px 0 var(--ink)}
  .pkg.featured{background:var(--ink); color:var(--paper)}
  .pkg.featured:hover{box-shadow:8px 8px 0 var(--neon)}
  .pkg.featured::after{
    content:"EMPFOHLEN"; position:absolute; top:-2px; right:20px;
    background:var(--neon); color:var(--ink);
    font-family:'Space Mono',monospace;
    font-size:10px; letter-spacing:.2em;
    padding:6px 12px; font-weight:700;
  }
  .pkg .num{
    font-family:'Space Mono',monospace;
    font-size:10px; letter-spacing:.25em; text-transform:uppercase;
    margin-bottom:10px; opacity:.6;
  }
  .pkg.featured .num{color:var(--neon); opacity:1}
  .pkg h3{font-size:32px; line-height:.92; margin-bottom:4px}
  .pkg .tag{
    font-family:'Space Mono',monospace;
    font-size:11px; letter-spacing:.1em; text-transform:uppercase;
    color:var(--neon); margin-bottom:14px;
  }
  .pkg .for{
    font-size:13px; font-style:italic; line-height:1.5;
    margin-bottom:16px; opacity:.85;
  }
  .pkg ul{list-style:none; flex:1; margin-bottom:14px}
  .pkg ul li{
    font-size:13px; line-height:1.4;
    padding:7px 0; padding-left:20px;
    border-bottom:1px dotted rgba(0,0,0,.15);
    position:relative;
  }
  .pkg.featured ul li{border-bottom-color:rgba(255,255,255,.15)}
  .pkg ul li::before{content:"+"; position:absolute; left:0; color:var(--neon); font-weight:bold}
  .pkg ul li.minus{opacity:.5}
  .pkg ul li.minus::before{content:"−"; color:currentColor}
  .pkg .price-note{
    margin-top:14px; padding-top:12px;
    border-top:1px solid currentColor;
    font-family:'Space Mono',monospace;
    font-size:11px; letter-spacing:.15em;
    text-transform:uppercase; text-align:center;
  }
  .pkg .ask-btn{
    margin-top:12px; display:block; text-align:center;
    text-decoration:none; padding:13px 16px;
    font-family:'Space Mono',monospace;
    font-size:12px; letter-spacing:.2em; text-transform:uppercase; font-weight:700;
    background:var(--neon); color:var(--ink);
    cursor:pointer; border:none; width:100%;
    transition:transform .15s, box-shadow .15s;
  }
  .pkg .ask-btn:hover{transform:translate(-2px,-2px); box-shadow:4px 4px 0 var(--ink)}
  .pkg.featured .ask-btn:hover{box-shadow:4px 4px 0 var(--paper)}

  /* ─── PRICING TOGGLE ─── */
  .pricing-toggle{
    display:inline-flex; align-items:stretch;
    border:2px solid var(--ink);
    margin:24px 0 40px;
    background:var(--paper);
  }
  .pricing-toggle .pt-btn{
    background:transparent; color:var(--ink);
    border:none; cursor:pointer;
    padding:14px 24px;
    font-family:'Space Mono',monospace;
    text-align:left;
    display:flex; flex-direction:column; gap:2px;
    border-right:2px solid var(--ink);
    transition:background .15s, color .15s;
  }
  .pricing-toggle .pt-btn:last-child{border-right:none}
  .pricing-toggle .pt-btn .pt-label{
    font-family:'Archivo Black',sans-serif;
    font-size:14px; letter-spacing:.05em;
    text-transform:uppercase;
  }
  .pricing-toggle .pt-btn .pt-sub{
    font-size:10px; letter-spacing:.15em;
    text-transform:uppercase; opacity:.6;
  }
  .pricing-toggle .pt-btn:hover{background:rgba(0,0,0,.05)}
  .pricing-toggle .pt-btn.active{
    background:var(--ink); color:var(--paper);
  }
  .pricing-toggle .pt-btn.active .pt-sub{opacity:.7}

  /* New price block (replaces old tokens style) */
  .pkg .tokens{
    border-top:2px solid currentColor; border-bottom:2px solid currentColor;
    padding:18px 0; margin:8px 0 16px;
    display:flex; flex-direction:column; gap:2px;
  }
  .pkg .tokens .price-label{
    font-family:'Space Mono',monospace;
    font-size:11px; letter-spacing:.25em; text-transform:uppercase;
    opacity:.55; font-weight:400;
  }
  .pkg .tokens .price-amount{
    font-family:'Archivo Black',sans-serif;
    font-size:38px; line-height:1; letter-spacing:-.02em;
    transition:opacity .2s;
  }
  .pkg .tokens .price-amount.flipping{opacity:.3}
  .pkg .tokens small{
    font-family:'Space Mono',monospace;
    font-size:10px; letter-spacing:.12em; text-transform:uppercase;
    font-weight:400; margin-top:6px; opacity:.7;
  }

  @media (max-width:600px){
    .pricing-toggle{display:flex; width:100%}
    .pricing-toggle .pt-btn{flex:1; padding:12px 14px}
    .pricing-toggle .pt-btn .pt-label{font-size:12px}
    .pricing-toggle .pt-btn .pt-sub{font-size:9px}
    .pkg .tokens .price-amount{font-size:32px}
  }

  /* ─── METHOD ─── */
  .method{background:var(--ink); color:var(--paper)}
  .method-grid{
    display:grid; grid-template-columns:repeat(4, 1fr);
    gap:2px; background:rgba(244,241,235,.15);
    border:2px solid rgba(244,241,235,.15);
    margin-top:40px;
  }
  .method-cell{background:var(--ink); padding:28px 22px; min-height:220px; transition:background .25s}
  .method-cell:hover{background:#161616}
  .method-cell .q{
    font-family:'Space Mono',monospace;
    font-size:11px; letter-spacing:.25em;
    color:var(--neon); margin-bottom:6px;
  }
  .method-cell .word{
    font-family:'Archivo Black',sans-serif;
    font-size:38px; line-height:1; letter-spacing:-.03em;
    text-transform:uppercase; margin-bottom:6px;
  }
  .method-cell .word-de{
    font-family:'Space Mono',monospace;
    font-size:11px; letter-spacing:.15em; text-transform:uppercase;
    opacity:.6; margin-bottom:18px;
  }
  .method-cell p{font-size:13px; line-height:1.55; opacity:.85}
  .method-note{
    margin-top:28px; padding:22px 28px;
    border-left:4px solid var(--neon);
    background:rgba(255,31,46,.06); max-width:75ch;
  }
  .method-note p{font-size:14px; line-height:1.65; opacity:.9}

  /* ─── MANIFESTO ─── */
  .manifesto{
    background:var(--paper); padding:80px 64px;
    border-top:2px solid var(--ink); border-bottom:2px solid var(--ink);
  }
  .manifesto-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:24px}
  .manifesto-line{
    font-family:'Archivo Black',sans-serif;
    font-size:clamp(20px,2.2vw,28px);
    line-height:1.05; letter-spacing:-.02em; text-transform:uppercase;
  }
  .manifesto-line .red{color:var(--neon)}
  .manifesto-line .strike{position:relative; display:inline-block}
  .manifesto-line .strike::after{
    content:""; position:absolute;
    left:-2%; right:-2%; top:50%;
    height:.08em; background:var(--neon);
    transform:rotate(-2deg);
  }

  /* ─── ANTI-AGENCY ─── */
  .antiagency{background:var(--paper)}
  .anti-compare{
    display:grid; grid-template-columns:1fr 1fr;
    gap:2px; background:var(--ink);
    border:2px solid var(--ink); margin-top:36px;
  }
  .anti-cell{padding:32px; min-height:300px}
  .anti-cell.bad{background:var(--paper)}
  .anti-cell.good{background:var(--ink); color:var(--paper)}
  .anti-cell h3{
    font-size:24px; margin-bottom:20px;
    display:flex; align-items:center; gap:12px;
  }
  .anti-cell.bad h3::after{
    content:"NEIN";
    font-family:'Archivo Black',sans-serif;
    font-size:11px; letter-spacing:.1em;
    color:var(--paper); background:var(--neon);
    padding:5px 10px;
  }
  .anti-cell.good h3::after{
    content:"JA";
    font-family:'Archivo Black',sans-serif;
    font-size:11px; letter-spacing:.1em;
    color:var(--ink); background:var(--paper);
    padding:5px 10px;
  }
  .anti-cell ul{list-style:none}
  .anti-cell li{
    font-size:14px; line-height:1.5;
    padding:10px 0; padding-left:24px;
    border-bottom:1px solid rgba(0,0,0,.1);
    position:relative;
  }
  .anti-cell.good li{border-bottom-color:rgba(244,241,235,.1)}
  .anti-cell.bad li::before{content:"×"; position:absolute; left:0; color:var(--neon); font-weight:bold; font-size:18px; line-height:1.3}
  .anti-cell.good li::before{content:"+"; position:absolute; left:0; color:var(--neon); font-weight:bold; font-size:18px; line-height:1.3}

  /* ─── SINGLE FIX ─── */
  .singlefix{background:var(--ink); color:var(--paper)}
  .single-row{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:36px}
  .single-card{padding:32px; background:var(--paper); color:var(--ink)}
  .single-card.neon{background:var(--neon); color:var(--ink)}
  .single-card .who{
    font-family:'Space Mono',monospace;
    font-size:10px; letter-spacing:.25em; text-transform:uppercase;
    opacity:.7; margin-bottom:6px;
  }
  .single-card .who-h{
    font-family:'Archivo Black',sans-serif;
    font-size:28px; line-height:1; text-transform:uppercase;
    letter-spacing:-.01em; margin-bottom:20px;
  }
  .single-card .rate{
    font-family:'Archivo Black',sans-serif;
    font-size:64px; line-height:1; letter-spacing:-.03em;
  }
  .single-card.neon .rate{color:var(--ink)}
  .single-card.inside .rate{color:var(--neon)}
  .single-card .rate small{
    display:block;
    font-family:'Space Mono',monospace;
    font-size:11px; letter-spacing:.15em; text-transform:uppercase;
    font-weight:400; margin-top:6px; opacity:.7; color:currentColor;
  }
  .single-card .note{font-size:13px; line-height:1.5; margin-top:16px; opacity:.85}

  /* ─── CASE STUDY ─── */
  .casestudy{background:var(--paper); padding:96px 64px}
  .case-hero{
    background:var(--ink); color:var(--paper);
    padding:48px;
    margin-top:40px;
    border-left:6px solid var(--neon);
    position:relative;
  }
  .case-hero .case-tag{
    font-family:'Space Mono',monospace;
    font-size:11px; letter-spacing:.25em; text-transform:uppercase;
    color:var(--neon); margin-bottom:14px;
  }
  .case-hero h3{
    font-size:clamp(32px, 4vw, 56px);
    line-height:.95;
    color:var(--paper);
    margin-bottom:12px;
  }
  .case-hero .case-sub{
    font-family:'Space Mono',monospace;
    font-size:13px; letter-spacing:.05em;
    opacity:.7; margin-bottom:24px;
  }
  .case-hero .case-lead{
    font-size:17px; line-height:1.55; max-width:55ch; opacity:.92;
  }
  .case-stats{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:2px;
    background:var(--ink);
    border:2px solid var(--ink);
    margin-top:24px;
  }
  .stat-cell{
    background:var(--paper); color:var(--ink);
    padding:28px 24px;
    display:flex; flex-direction:column;
    justify-content:space-between;
    min-height:170px;
  }
  .stat-cell.neon{background:var(--neon); color:var(--ink)}
  .stat-cell .stat-label{
    font-family:'Space Mono',monospace;
    font-size:10px; letter-spacing:.25em;
    text-transform:uppercase; opacity:.7;
    margin-bottom:10px;
  }
  .stat-cell .stat-value{
    font-family:'Archivo Black',sans-serif;
    font-size:48px; line-height:1;
    letter-spacing:-.03em;
  }
  .stat-cell .stat-value small{
    display:block;
    font-family:'Space Mono',monospace;
    font-size:11px; letter-spacing:.1em;
    text-transform:uppercase;
    font-weight:400; margin-top:8px; opacity:.75;
  }
  .case-detail-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    margin-top:24px;
  }
  .case-block{
    background:var(--ink); color:var(--paper);
    padding:32px;
  }
  .case-block h4{
    color:var(--paper);
    margin-bottom:14px;
    font-size:18px;
  }
  .case-block ul{list-style:none}
  .case-block ul li{
    font-size:13px; line-height:1.55;
    padding:8px 0; padding-left:22px;
    position:relative;
    border-bottom:1px dotted rgba(244,241,235,.1);
    opacity:.9;
  }
  .case-block ul li::before{
    content:"+"; position:absolute; left:0;
    color:var(--neon); font-weight:bold;
  }
  .case-disclaimer{
    margin-top:24px;
    font-family:'Space Mono',monospace;
    font-size:11px; line-height:1.6;
    opacity:.55; max-width:75ch;
    border-left:2px solid var(--ink);
    padding-left:14px;
  }

  /* ─── VIDEO PLAYER GUSTAV (brutalist tabbed player) ─── */
  .video-player-gustav{
    margin:48px 0 32px;
    background:var(--ink);
    color:var(--paper);
    border:2px solid var(--ink);
    padding:32px;
  }
  .video-player-gustav .vp-header{margin-bottom:24px}
  .video-player-gustav .vp-label{
    font-family:'Space Mono',monospace;
    font-size:10px; letter-spacing:.25em;
    text-transform:uppercase; color:var(--neon);
    display:block; margin-bottom:8px;
  }
  .video-player-gustav .vp-header h4{
    font-family:'Archivo Black',sans-serif;
    font-size:32px; line-height:1; letter-spacing:-.02em;
    text-transform:uppercase; color:var(--paper);
  }

  .video-player-gustav .vp-tabs{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:0;
    border:2px solid var(--paper);
    margin-bottom:0;
  }
  .video-player-gustav .vp-tab{
    background:transparent;
    color:var(--paper);
    border:none;
    border-right:2px solid var(--paper);
    padding:16px 12px;
    cursor:pointer;
    text-align:left;
    display:flex; flex-direction:column; gap:4px;
    transition:background .15s, color .15s;
    font-family:inherit;
  }
  .video-player-gustav .vp-tab:last-child{border-right:none}
  .video-player-gustav .vp-tab:hover{background:rgba(255,255,255,.05)}
  .video-player-gustav .vp-tab.active{
    background:var(--neon);
    color:var(--ink);
  }
  .video-player-gustav .vp-tab .vp-tab-num{
    font-family:'Space Mono',monospace;
    font-size:10px; letter-spacing:.2em;
    opacity:.6;
  }
  .video-player-gustav .vp-tab.active .vp-tab-num{opacity:1}
  .video-player-gustav .vp-tab .vp-tab-name{
    font-family:'Archivo Black',sans-serif;
    font-size:13px; line-height:1.1;
    text-transform:uppercase; letter-spacing:-.005em;
  }
  .video-player-gustav .vp-tab .vp-tab-meta{
    font-family:'Space Mono',monospace;
    font-size:9px; letter-spacing:.1em;
    opacity:.55; text-transform:uppercase;
  }
  .video-player-gustav .vp-tab.active .vp-tab-meta{opacity:.75}

  .video-player-gustav .vp-stage{
    background:var(--paper);
    padding:32px;
    border:2px solid var(--paper);
    border-top:none;
  }
  .video-player-gustav .vp-frame{
    position:relative;
    width:100%;
    background:#000;
    overflow:hidden;
  }
  .video-player-gustav .vp-frame[data-aspect="16/9"]{aspect-ratio:16/9}
  .video-player-gustav .vp-frame[data-aspect="9/16"]{
    aspect-ratio:9/16;
    max-width:380px;
    margin:0 auto;
  }
  .video-player-gustav .vp-frame iframe{
    position:absolute;
    top:0; left:0;
    width:100%; height:100%;
    border:none;
  }
  .video-player-gustav .vp-footnote{
    margin-top:16px;
    font-family:'Space Mono',monospace;
    font-size:10px; letter-spacing:.05em;
    opacity:.5; text-align:left;
  }

  @media (max-width:780px){
    .video-player-gustav{padding:20px}
    .video-player-gustav .vp-tabs{
      grid-template-columns:1fr;
    }
    .video-player-gustav .vp-tab{
      border-right:none;
      border-bottom:2px solid var(--paper);
    }
    .video-player-gustav .vp-tab:last-child{border-bottom:none}
    .video-player-gustav .vp-header h4{font-size:24px}
    .video-player-gustav .vp-stage{padding:16px}
  }

  /* ─── CREW ─── */
  .villains{background:var(--ink); color:var(--paper); padding:96px 64px}
  .villain-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
    gap:24px; margin-top:48px;
  }
  .villain{
    background:var(--paper); color:var(--ink);
    border:2px solid var(--paper);
    overflow:hidden;
    display:flex; flex-direction:column;
    transition:transform .25s;
  }
  .villain:hover{transform:translate(-6px,-6px); box-shadow:12px 12px 0 var(--neon)}
  .villain .img-wrap{
    aspect-ratio:1/1; overflow:hidden; position:relative;
    background:var(--ink);
  }
  .villain .img-wrap img{
    width:100%; height:100%; object-fit:cover; display:block;
    transition:transform .4s;
  }
  .villain:hover .img-wrap img{transform:scale(1.04)}
  .villain .img-wrap .codename{
    position:absolute; bottom:14px; right:14px;
    font-family:'Space Mono',monospace;
    font-size:10px; letter-spacing:.25em; text-transform:uppercase;
    background:var(--neon); color:var(--ink);
    padding:5px 9px; font-weight:700;
    z-index:3;
  }
  .villain .info{padding:24px 22px; flex:1}
  .villain .alias{
    font-family:'Archivo Black',sans-serif;
    font-size:24px; line-height:.95;
    text-transform:uppercase; letter-spacing:-.01em;
    margin-bottom:4px;
  }
  .villain .real-name{
    font-family:'Space Mono',monospace;
    font-size:10px; letter-spacing:.2em; text-transform:uppercase;
    color:var(--neon); margin-bottom:12px;
  }
  .villain .role{
    font-family:'Space Mono',monospace;
    font-size:10px; letter-spacing:.15em; text-transform:uppercase;
    opacity:.5; margin-bottom:12px;
  }
  .villain .bio{font-size:12px; line-height:1.55; color:var(--muted)}
  .villain .skills{
    margin-top:14px; padding-top:14px;
    border-top:1px dotted rgba(0,0,0,.2);
    display:flex; flex-wrap:wrap; gap:5px;
  }
  .villain .skills span{
    font-family:'Space Mono',monospace;
    font-size:9px; letter-spacing:.1em; text-transform:uppercase;
    padding:3px 7px;
    border:1px solid rgba(0,0,0,.3);
  }

  /* ─── STUDIO GALLERY ─── */
  .studio{background:var(--paper)}
  .studio-gallery{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    grid-template-rows:repeat(2, 1fr);
    gap:16px; margin-top:40px;
    aspect-ratio:16/10;
  }
  .studio-gallery .item{position:relative; overflow:hidden; background:var(--ink)}
  .studio-gallery .item img{width:100%; height:100%; object-fit:cover; transition:transform .5s}
  .studio-gallery .item:hover img{transform:scale(1.05)}
  .studio-gallery .item .label{
    position:absolute; bottom:14px; left:14px;
    font-family:'Space Mono',monospace;
    font-size:11px; letter-spacing:.2em; text-transform:uppercase;
    color:var(--paper); background:var(--ink);
    padding:6px 12px;
  }
  .studio-info-row{
    display:grid; grid-template-columns:1.2fr 1fr;
    gap:48px; align-items:flex-start; margin-top:48px;
  }
  .studio-equipment{list-style:none}
  .studio-equipment li{
    padding:12px 0;
    border-bottom:1px solid rgba(0,0,0,.1);
    font-family:'Space Mono',monospace;
    font-size:13px; letter-spacing:.05em;
    display:flex; align-items:center;
  }
  .studio-equipment li::before{content:"+"; color:var(--neon); font-weight:bold; margin-right:10px}

  /* ─── KONTAKT (Cal.com + email backup) ─── */
  .kontakt{background:var(--ink); color:var(--paper); padding:96px 64px}
  .kontakt h2{margin-bottom:16px}

  /* Cal.com embed wrapper */
  .cal-embed-wrap{
    margin-top:32px;
    background:var(--ink);
    border:2px solid var(--paper);
    padding:0;
  }
  .cal-embed-header{
    padding:32px 32px 24px;
    border-bottom:2px solid var(--paper);
  }
  .cal-label{
    display:block;
    font-family:'Space Mono',monospace;
    font-size:10px; letter-spacing:.25em;
    text-transform:uppercase; color:var(--neon);
    margin-bottom:8px;
  }
  .cal-embed-header h3{
    font-family:'Archivo Black',sans-serif;
    font-size:32px; line-height:1; letter-spacing:-.02em;
    text-transform:uppercase; margin-bottom:12px;
  }
  #my-cal-inline{
    position:relative;
    min-height:640px;
    background:var(--ink);
    overflow:hidden;
  }
  /* L'iframe iniettato da Cal.com deve riempire il frame, niente bordi bianchi */
  #my-cal-inline iframe{
    width:100% !important;
    min-height:640px;
    border:0 !important;
    display:block;
  }
  /* Placeholder di caricamento: overlay che sparisce quando il calendario è pronto */
  .cal-placeholder-overlay{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:40px;
    text-align:center;
    background:var(--ink);
    z-index:2;
    transition:opacity .4s ease;
  }
  .cal-placeholder-overlay.is-hidden{
    opacity:0;
    pointer-events:none;
  }

  /* Legend sopra il calendario per chiarire disponibilità */
  .cal-legend{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid rgba(244,241,235,.15);
  }
  .cal-legend-item{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-family:'Space Mono',monospace;
    font-size:11px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--paper);
    opacity:.85;
  }
  .cal-legend-dot{
    display:inline-block;
    width:14px;
    height:14px;
    border:1.5px solid var(--paper);
    flex-shrink:0;
  }
  .cal-legend-dot.available{
    background:transparent;
    border-color:#FF1F2E;
    box-shadow:inset 0 0 0 2px rgba(255,31,46,.25);
  }
  .cal-legend-dot.unavailable{
    background:transparent;
    border-color:#3a3a3a;
    opacity:.5;
  }
  .cal-legend-dot.selected{
    background:#FF1F2E;
    border-color:#FF1F2E;
  }
  @media (max-width:600px){
    .cal-legend{gap:12px; font-size:10px}
    .cal-legend-item{font-size:10px}
  }
  /* Email backup compact section */
  /* Email direct block (no form, just CTA) */
  .email-direct-block{
    margin-top:48px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:48px;
    align-items:center;
    padding:36px 40px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.1);
  }
  .email-direct-block h4{
    font-family:'Archivo Black',sans-serif;
    font-size:28px; line-height:1; letter-spacing:-.01em;
    text-transform:uppercase;
    color:var(--paper); margin-top:6px;
  }
  .mail-direct-big{
    font-family:'Archivo Black',sans-serif;
    font-size:clamp(18px, 2.2vw, 24px);
    text-decoration:none; color:var(--paper);
    border-bottom:3px solid var(--neon);
    padding-bottom:6px;
    text-transform:lowercase;
    word-break:break-word;
    transition:color .15s;
    white-space:nowrap;
  }
  .mail-direct-big:hover{color:var(--neon)}

  @media (max-width:780px){
    .email-direct-block{
      grid-template-columns:1fr;
      gap:20px; padding:24px;
    }
    .mail-direct-big{
      font-size:16px;
      white-space:normal;
    }
    .cal-embed-header{padding:24px 20px 16px}
    .cal-embed-header h3{font-size:24px}
    #my-cal-inline{min-height:560px}
    #my-cal-inline iframe{min-height:560px}
  }

  /* ─── INSTAGRAM SHOWCASE (Barbie) ─── */
  .ig-showcase{
    margin:32px 0;
    background:var(--paper);
    border:2px solid var(--ink);
    padding:32px;
  }
  .ig-showcase-header{margin-bottom:24px}
  .ig-showcase-header h4{
    font-family:'Archivo Black',sans-serif;
    font-size:28px; line-height:1; letter-spacing:-.01em;
    text-transform:uppercase;
    margin-top:6px;
  }
  .ig-reels-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:20px;
    margin-bottom:24px;
  }
  /* Brutalist thumbnail card */
  .ig-reel-card{
    display:flex;
    flex-direction:column;
    background:var(--ink);
    color:var(--paper);
    border:2px solid var(--ink);
    text-decoration:none;
    overflow:hidden;
    transition:transform .15s, box-shadow .15s;
    cursor:pointer;
  }
  .ig-reel-card:hover{
    transform:translate(-4px,-4px);
    box-shadow:8px 8px 0 var(--neon);
  }
  .ig-reel-card:hover .ig-reel-cta{color:var(--neon)}
  .ig-reel-card:hover .ig-play{transform:scale(1.08)}

  /* Thumbnail wrap con aspect 9:16 */
  .ig-reel-thumb{
    position:relative;
    width:100%;
    aspect-ratio:9 / 16;
    overflow:hidden;
    background:#000;
  }
  .ig-reel-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    filter:saturate(1.05);
  }
  /* Play button overlay */
  .ig-reel-overlay{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.45) 100%);
    pointer-events:none;
  }
  .ig-reel-overlay .ig-play{
    width:64px; height:64px;
    transition:transform .2s;
    filter:drop-shadow(0 2px 12px rgba(0,0,0,.5));
  }

  /* Meta sotto la thumbnail */
  .ig-reel-meta{
    padding:16px 18px;
    background:var(--ink);
    color:var(--paper);
  }
  .ig-reel-stats{
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-family:'Space Mono',monospace;
    font-size:10px;
    letter-spacing:.15em;
    text-transform:uppercase;
    margin-bottom:10px;
    color:var(--paper);
    opacity:.75;
  }
  .ig-reel-stats .ig-likes{
    color:var(--neon);
    font-weight:700;
    opacity:1;
  }
  .ig-reel-title{
    font-family:'Archivo Black',sans-serif;
    font-size:14px;
    line-height:1.2;
    letter-spacing:-.005em;
    text-transform:uppercase;
    color:var(--paper);
    margin-bottom:8px;
  }
  .ig-reel-cta{
    font-family:'Space Mono',monospace;
    font-size:11px;
    letter-spacing:.15em;
    text-transform:uppercase;
    color:var(--paper);
    opacity:.85;
    transition:color .15s;
  }

  /* Profile CTA below */
  .ig-profile-cta{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px 24px;
    background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);
    color:var(--paper);
    text-decoration:none;
    border:2px solid var(--ink);
    transition:transform .15s, box-shadow .15s;
  }
  .ig-profile-cta:hover{
    transform:translate(-3px,-3px);
    box-shadow:6px 6px 0 var(--ink);
  }
  .ig-profile-cta-label{
    font-family:'Space Mono',monospace;
    font-size:11px; letter-spacing:.25em;
    text-transform:uppercase; opacity:.85;
  }
  .ig-profile-cta-handle{
    font-family:'Archivo Black',sans-serif;
    font-size:20px; letter-spacing:-.01em;
    text-transform:lowercase;
  }
  @media (max-width:980px){
    .ig-reels-grid{
      grid-template-columns:repeat(2, 1fr);
      gap:16px;
    }
    .ig-reels-grid > a:nth-child(3){
      grid-column:1 / -1;
      max-width:400px;
      justify-self:center;
      width:100%;
    }
  }
  @media (max-width:600px){
    .ig-showcase{padding:20px}
    .ig-reels-grid{
      grid-template-columns:1fr;
      gap:20px;
    }
    .ig-reels-grid > a:nth-child(3){grid-column:auto; max-width:none}
    .ig-profile-cta{flex-direction:column; align-items:flex-start; gap:8px}
    .ig-profile-cta-handle{font-size:18px}
    .ig-reel-overlay .ig-play{width:56px; height:56px}
  }

  /* ─── FOOTER ─── */
  footer{
    background:var(--ink); color:var(--paper);
    padding:48px 64px 32px;
    border-top:1px solid rgba(244,241,235,.1);
  }
  footer .row{
    max-width:1200px; margin:0 auto;
    display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr;
    gap:48px;
    font-family:'Space Mono',monospace;
    font-size:11px; letter-spacing:.15em; text-transform:uppercase; opacity:.75;
  }
  footer strong{
    font-family:'Archivo Black',sans-serif;
    color:var(--paper); opacity:1; letter-spacing:.05em;
    display:block; margin-bottom:8px;
    font-size:14px;
  }
  footer .col{line-height:1.9}
  footer a{color:var(--paper); text-decoration:none; opacity:.7; transition:opacity .15s, color .15s}
  footer a:hover{opacity:1; color:var(--neon)}
  footer .social-row{display:flex; gap:10px; margin-top:10px}
  footer a.social-btn{
    width:44px; height:44px; opacity:1;
    display:inline-flex; align-items:center; justify-content:center;
    border:2px solid var(--paper); color:var(--paper);
    transition:transform .15s, box-shadow .15s, background .15s, color .15s, border-color .15s;
  }
  footer a.social-btn svg{width:21px; height:21px; fill:currentColor; display:block}
  footer a.social-btn:hover{
    background:var(--neon); color:var(--ink); border-color:var(--neon);
    transform:translate(-3px,-3px); box-shadow:4px 4px 0 var(--paper);
  }
  footer .legal{
    max-width:1200px; margin:32px auto 0;
    padding-top:24px;
    border-top:1px solid rgba(244,241,235,.1);
    display:flex; justify-content:space-between;
    font-family:'Space Mono',monospace;
    font-size:10px; letter-spacing:.2em; text-transform:uppercase;
    opacity:.55; gap:24px; flex-wrap:wrap;
  }
  footer .legal a{margin-right:24px}

  /* ─── MOBILE ─── */
  @media (max-width:900px){
    section{padding:64px 24px}
    .hero{padding:96px 24px 48px}
    .manifesto, .villains, .kontakt, .studio, .singlefix, .antiagency, .method, .packages, .casestudy{padding:64px 24px}
    .manifesto-grid{grid-template-columns:1fr 1fr; gap:20px}
    .anti-compare, .pkg-grid, .method-grid, .single-row, .kontakt-grid, .studio-info-row, .case-detail-row{grid-template-columns:1fr}
    #kontakt-title{font-size:clamp(24px, 7.5vw, 44px); overflow-wrap:break-word; hyphens:auto; -webkit-hyphens:auto}
    .case-stats{grid-template-columns:1fr 1fr}
    .method-grid{gap:1px}
    .pkg-grid{gap:14px}
    .anti-cell, .single-card, .case-hero, .case-block{padding:24px 20px}
    .studio-gallery{aspect-ratio:auto; grid-template-columns:1fr; grid-template-rows:auto}
    .studio-gallery .item{aspect-ratio:16/10}
    footer{padding:32px 24px}
    footer .row{grid-template-columns:1fr; gap:32px}
    footer .legal{flex-direction:column; gap:8px}
  }
  @media (max-width:500px){
    .manifesto-grid{grid-template-columns:1fr}
    .case-stats{grid-template-columns:1fr}
  }

  /* ─── COOKIE BANNER ─── */
  .cookie-banner{
    position:fixed; bottom:0; left:0; right:0; z-index:200;
    background:var(--ink); color:var(--paper);
    border-top:4px solid var(--neon);
    padding:24px 32px;
    transform:translateY(100%);
    transition:transform .35s ease;
    box-shadow:0 -8px 32px rgba(0,0,0,.4);
  }
  .cookie-banner.visible{transform:translateY(0)}
  .cookie-banner .inner{
    max-width:1200px; margin:0 auto;
    display:flex; align-items:center; gap:32px;
    flex-wrap:wrap;
  }
  .cookie-banner .text{flex:1; min-width:280px}
  .cookie-banner .text h4{
    font-family:'Archivo Black',sans-serif;
    font-size:18px; text-transform:uppercase;
    letter-spacing:-.01em; margin-bottom:6px;
    color:var(--paper);
  }
  .cookie-banner .text p{
    font-size:13px; line-height:1.55; opacity:.85;
    max-width:65ch; margin:0;
  }
  .cookie-banner .text a{
    color:var(--neon); text-decoration:underline;
  }
  .cookie-banner .actions{
    display:flex; gap:10px; flex-wrap:wrap;
  }
  .cookie-banner button{
    font-family:'Space Mono',monospace;
    font-size:11px; letter-spacing:.2em; text-transform:uppercase; font-weight:700;
    padding:12px 20px;
    border:2px solid transparent;
    cursor:pointer;
    transition:transform .15s, box-shadow .15s;
  }
  .cookie-banner .btn-accept{
    background:var(--neon); color:var(--ink);
    border-color:var(--neon);
  }
  .cookie-banner .btn-accept:hover{transform:translate(-2px,-2px); box-shadow:4px 4px 0 var(--paper)}
  .cookie-banner .btn-reject{
    background:transparent; color:var(--paper);
    border-color:var(--paper);
  }
  .cookie-banner .btn-reject:hover{transform:translate(-2px,-2px); box-shadow:4px 4px 0 var(--neon)}
  @media (max-width:700px){
    .cookie-banner{padding:20px 20px 24px}
    .cookie-banner .inner{flex-direction:column; align-items:flex-start; gap:18px}
    .cookie-banner .actions{width:100%}
    .cookie-banner button{flex:1; padding:12px 14px}
  }

  /* ─── VIDEO MODAL ─── */
  .video-modal{
    position:fixed; top:0; left:0; right:0; bottom:0; z-index:150;
    background:rgba(10,10,10,.95);
    backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
    display:none;
    align-items:center; justify-content:center;
    padding:32px;
    cursor:pointer;
  }
  .video-modal.open{display:flex; animation:fadeIn .25s ease}
  @keyframes fadeIn{from{opacity:0}to{opacity:1}}
  .video-modal .wrap{
    position:relative; width:100%; max-width:1100px;
    aspect-ratio:16/9;
    background:#000;
    cursor:default;
  }
  .video-modal iframe{
    width:100%; height:100%; border:0;
  }
  .video-modal .close-btn{
    position:absolute; top:-48px; right:0;
    background:var(--neon); color:var(--ink);
    border:none; padding:10px 16px;
    font-family:'Space Mono',monospace;
    font-size:11px; letter-spacing:.2em; text-transform:uppercase;
    font-weight:700; cursor:pointer;
    transition:transform .15s;
  }
  .video-modal .close-btn:hover{transform:translate(-2px,-2px)}

  /* Play button overlay on villain */
  .villain .img-wrap.has-video::after{
    content:"";
    position:absolute; top:50%; left:50%;
    width:64px; height:64px;
    background:var(--neon);
    transform:translate(-50%,-50%);
    clip-path:polygon(25% 15%, 25% 85%, 80% 50%);
    opacity:0; transition:opacity .25s;
    pointer-events:none;
  }
  .villain:hover .img-wrap.has-video::after{opacity:.9}
  .villain .img-wrap.has-video::before{
    content:"";
    position:absolute; top:50%; left:50%;
    width:96px; height:96px;
    background:rgba(10,10,10,.7);
    border:2px solid var(--neon);
    border-radius:50%;
    transform:translate(-50%,-50%);
    opacity:0; transition:opacity .25s;
    pointer-events:none;
  }
  .villain:hover .img-wrap.has-video::before{opacity:1}
  .villain .img-wrap.has-video{cursor:pointer}
  .villain .video-badge{
    position:absolute; top:14px; left:14px;
    background:var(--ink); color:var(--paper);
    font-family:'Space Mono',monospace;
    font-size:9px; letter-spacing:.2em; text-transform:uppercase;
    padding:4px 8px; font-weight:700;
    border:1px solid var(--neon);
    display:flex; align-items:center; gap:5px;
    z-index:3;
  }
  .villain .video-badge::before{
    content:""; width:6px; height:6px;
    background:var(--neon); border-radius:50%;
    animation:blink 1.4s infinite;
  }

  /* ─── INTRO COVER (overlay avant-garde, kinetic, si dissolve allo scroll) ─── */
  #intro-cover{
    position:fixed; inset:0; z-index:10000;
    background:var(--ink); color:var(--paper);
    padding-top:40px;
    display:flex; flex-direction:column;
    overflow:hidden;
    will-change:transform, opacity;
  }
  /* X gigante che ruota lentamente dietro al titolo */
  #intro-cover .ic-x-wrap{
    position:absolute; left:50%; top:50%;
    width:min(118vh, 118vw); aspect-ratio:1;
    transform:translate(-50%,-50%);
    opacity:.07; pointer-events:none;
    will-change:transform;
  }
  #intro-cover .ic-x-bg{
    display:block; width:100%; height:100%;
    animation:icSpin 80s linear infinite;
  }
  @keyframes icSpin{to{transform:rotate(360deg)}}
  /* barra mono in alto */
  #intro-cover .ic-top{
    position:relative; z-index:2; padding:0 40px;
    display:flex; justify-content:space-between; gap:16px;
    font-family:'Space Mono',monospace;
    font-size:11px; letter-spacing:.25em;
    text-transform:uppercase;
    opacity:0; animation:icFade .8s ease .1s forwards;
  }
  /* blocco centrale */
  #intro-cover .ic-mid{flex:1; display:flex; flex-direction:column; justify-content:center}
  #intro-cover .ic-center{position:relative; z-index:2; padding:0 40px}
  #intro-cover .ic-title{
    font-family:'Archivo Black',sans-serif;
    font-size:clamp(64px, 17vw, 230px); line-height:.88;
    letter-spacing:-.05em; text-transform:uppercase;
  }
  /* ogni riga rivelata da una maschera (clip + slide su) */
  #intro-cover .ic-line{display:block; overflow:hidden; padding-top:.04em}
  #intro-cover .ic-line > span{
    display:block; transform:translateY(110%);
    animation:icReveal .9s cubic-bezier(.16,1,.3,1) forwards;
  }
  #intro-cover .ic-line:nth-child(1) > span{animation-delay:.15s}
  #intro-cover .ic-line:nth-child(2) > span{animation-delay:.30s}
  #intro-cover .ic-title .x{color:var(--neon)}
  #intro-cover .ic-sub{
    font-family:'Space Mono',monospace;
    font-size:clamp(13px, 1.6vw, 16px); text-transform:uppercase;
    letter-spacing:.35em; margin-top:28px;
    opacity:0; animation:icFade .8s ease .6s forwards;
  }
  /* footer: hint scroll + marquee */
  #intro-cover .ic-foot{position:relative; z-index:2}
  #intro-cover .ic-hint{
    padding:0 40px 18px;
    background:none; border:none; color:var(--paper); cursor:pointer;
    font-family:'Space Mono',monospace;
    font-size:11px; letter-spacing:.3em; text-transform:uppercase;
    opacity:0; animation:icFade .8s ease .8s forwards;
    display:inline-flex; align-items:center; gap:10px;
    align-self:flex-start;
  }
  #intro-cover .ic-hint .ic-arrow{
    display:inline-block; font-size:16px;
    animation:icBob 1.6s ease-in-out infinite;
  }
  /* marquee kinetico full-bleed */
  #intro-cover .ic-marquee{
    border-top:2px solid var(--neon);
    padding:14px 0; overflow:hidden; white-space:nowrap;
  }
  #intro-cover .ic-track{
    display:inline-block; white-space:nowrap;
    font-family:'Archivo Black',sans-serif;
    font-size:clamp(18px,2.4vw,30px); text-transform:uppercase;
    letter-spacing:.01em;
    animation:icMarquee 22s linear infinite;
  }
  #intro-cover .ic-track .sep{color:var(--neon); margin:0 .5em}
  @keyframes icMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  @keyframes icReveal{to{transform:translateY(0)}}
  @keyframes icFade{to{opacity:1}}
  @keyframes icBob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
  #intro-cover.is-hidden{visibility:hidden; pointer-events:none}
  @media (max-width:600px){
    #intro-cover{padding-top:28px}
    #intro-cover .ic-top, #intro-cover .ic-center, #intro-cover .ic-hint{padding-left:24px; padding-right:24px}
    #intro-cover .ic-top span:last-child{display:none}
  }
  /* Reduced motion: nessuna animazione, statico, uscita = dissolvenza minima */
  @media (prefers-reduced-motion: reduce){
    #intro-cover *{animation:none !important}
    #intro-cover .ic-line > span{transform:none}
    #intro-cover .ic-top, #intro-cover .ic-sub, #intro-cover .ic-hint{opacity:.85}
    #intro-cover{transition:opacity .25s linear}
  }

  /* ─── SCROLL-REVEAL (entrata elementi in viewport) ─── */
  .js-on .rv{
    opacity:0; transform:translateY(26px);
    transition:opacity .7s ease, transform .7s cubic-bezier(.16,1,.3,1);
  }
  .js-on .rv.rv-in{opacity:1; transform:none}

  /* ─── MARQUEE DIVIDER (banda kinetica tra le sezioni) ─── */
  .marquee-divider{
    background:var(--ink); color:var(--paper);
    border-top:2px solid var(--neon); border-bottom:2px solid var(--neon);
    padding:16px 0; overflow:hidden; white-space:nowrap;
  }
  .marquee-divider .md-track{
    display:inline-block; white-space:nowrap;
    font-family:'Archivo Black',sans-serif;
    font-size:clamp(18px,2.6vw,32px); text-transform:uppercase; letter-spacing:.01em;
    animation:mdScroll 24s linear infinite;
  }
  .marquee-divider .md-track .sep{color:var(--neon); margin:0 .55em}
  @keyframes mdScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

  /* ─── CUSTOM CURSOR (solo desktop con mouse) ─── */
  .cursor-ring{
    position:fixed; top:0; left:0; z-index:10001;
    width:34px; height:34px; margin:-17px 0 0 -17px;
    border:2px solid var(--neon); border-radius:50%;
    pointer-events:none; opacity:0;
    transition:width .18s ease, height .18s ease, margin .18s ease,
               opacity .25s ease, background-color .18s ease;
    will-change:transform;
  }
  .cursor-ring.is-active{opacity:1}
  .cursor-ring.is-hot{
    width:54px; height:54px; margin:-27px 0 0 -27px;
    background-color:rgba(255,31,46,.12);
  }
  .magnetic{will-change:transform}

  @media (hover:none), (pointer:coarse){
    .cursor-ring{display:none}
  }
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto}
    .js-on .rv{opacity:1 !important; transform:none !important; transition:none}
    .marquee-divider .md-track{animation:none}
    .cursor-ring{display:none}
    .blink, .float-cta::before, .video-badge::before,
    .hero .pre .blink{animation:none !important}
  }

/* --- ZWEI TUEREN (Social vs KI) --- */
.doors{background:var(--paper)}
.doors-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:40px}
.door{border:2px solid var(--ink); background:var(--paper); padding:36px 32px; display:flex; flex-direction:column; position:relative; transition:transform .2s, box-shadow .2s}
.door:hover{transform:translate(-4px,-4px); box-shadow:8px 8px 0 var(--ink)}
.door .door-num{font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.25em; text-transform:uppercase; opacity:.6; margin-bottom:12px}
.door h3{font-size:clamp(26px,3.2vw,40px); line-height:.95; margin-bottom:16px}
.door .door-proof{display:flex; gap:28px; margin-bottom:18px; flex-wrap:wrap}
.door .door-proof .pf{display:flex; flex-direction:column}
.door .door-proof .pf b{font-family:'Archivo Black',sans-serif; font-size:28px; line-height:1; letter-spacing:-.02em}
.door .door-proof .pf span{font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.12em; text-transform:uppercase; opacity:.6; margin-top:4px}
.door p{font-size:14px; line-height:1.6; margin-bottom:18px; opacity:.9; flex:1}
.door .door-price{font-family:'Space Mono',monospace; font-size:12px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:16px}
.door .door-price b{font-family:'Archivo Black',sans-serif; font-size:18px; letter-spacing:-.01em}
.door .door-cta{display:block; text-align:center; text-decoration:none; padding:14px 16px; font-family:'Space Mono',monospace; font-size:12px; letter-spacing:.2em; text-transform:uppercase; font-weight:700; background:var(--neon); color:var(--ink); border:none; transition:transform .15s, box-shadow .15s}
.door .door-cta:hover{transform:translate(-2px,-2px); box-shadow:4px 4px 0 var(--ink)}
.door .door-badge{position:absolute; top:-2px; right:22px; background:var(--neon); color:var(--ink); font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.2em; padding:6px 12px; font-weight:700}
@media (max-width:780px){.doors-grid{grid-template-columns:1fr}}

/* --- THE FIX IN ACTION (Proof cards, facade video) --- */
.proof{background:var(--paper)}
.proof-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:40px}
.proof-card{border:2px solid var(--ink); background:var(--paper); display:flex; flex-direction:column}
.facade{position:relative; display:block; height:clamp(320px,34vw,440px); background:var(--ink); overflow:hidden; cursor:pointer; text-decoration:none}
.facade img{position:absolute; top:0; left:0; right:0; bottom:0; margin:auto; max-width:100%; max-height:100%; width:auto; height:auto; display:block}
.facade .play{position:absolute; top:50%; left:50%; width:62px; height:62px; transform:translate(-50%,-50%); background:var(--neon); clip-path:polygon(28% 20%, 28% 80%, 82% 50%); transition:transform .2s; pointer-events:none}
.facade:hover .play{transform:translate(-50%,-50%) scale(1.08)}
.facade.played .play{display:none}
.facade iframe{position:absolute; inset:0; width:100%; height:100%; border:0; background:#000}
.facade video{position:absolute; top:0; left:0; right:0; bottom:0; margin:auto; max-width:100%; max-height:100%; width:auto; height:auto; border:0; background:#000}
.facade .badge-neu{position:absolute; top:10px; left:10px; background:var(--neon); color:var(--ink); font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.2em; padding:5px 9px; font-weight:700}
.proof-body{padding:20px 22px; display:flex; flex-direction:column; flex:1}
.proof-claim{font-family:'Archivo Black',sans-serif; font-size:17px; text-transform:uppercase; letter-spacing:-.01em; margin-bottom:12px; line-height:1.05}
.proof-nums{display:flex; flex-direction:column; gap:6px; margin-bottom:16px; flex:1}
.proof-nums span{font-family:'Space Mono',monospace; font-size:12px; letter-spacing:.02em; opacity:.85}
.proof-nums b{font-family:'Archivo Black',sans-serif; font-size:15px; letter-spacing:-.01em; color:var(--neon); margin-right:5px}
.proof-link{font-family:'Space Mono',monospace; font-size:12px; letter-spacing:.15em; text-transform:uppercase; font-weight:700; color:var(--ink); text-decoration:none; border-bottom:2px solid var(--neon); padding-bottom:3px; align-self:flex-start}
.proof-link:hover{color:var(--neon)}
@media (max-width:900px){.proof-grid{grid-template-columns:1fr}}

/* --- ROUND 3: proof cards (link-only, full-cover) + door visuals --- */
a.proof-card{text-decoration:none; color:inherit; transition:transform .2s, box-shadow .2s}
a.proof-card:hover{transform:translate(-4px,-4px); box-shadow:8px 8px 0 var(--ink)}
.pc-media{position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--ink)}
.pc-media img{width:100%; height:100%; object-fit:cover; display:block}
.pc-play{position:absolute; top:50%; left:50%; width:60px; height:60px; transform:translate(-50%,-50%); background:var(--neon); clip-path:polygon(28% 20%, 28% 80%, 82% 50%); transition:transform .2s; pointer-events:none}
a.proof-card:hover .pc-play{transform:translate(-50%,-50%) scale(1.1)}
.pc-badge{position:absolute; top:12px; left:12px; background:var(--neon); color:var(--ink); font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.2em; padding:5px 10px; font-weight:700}
.pc-body{padding:22px 24px; display:flex; flex-direction:column; gap:12px; flex:1}
.pc-claim{font-family:'Archivo Black',sans-serif; font-size:18px; text-transform:uppercase; letter-spacing:-.01em; line-height:1.05}
.pc-sub{font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.03em; opacity:.7; margin-top:-6px; line-height:1.4}
.pc-nums{display:flex; flex-direction:column; gap:5px; flex:1}
.pc-nums span{font-family:'Space Mono',monospace; font-size:12px; opacity:.85}
.pc-nums b{font-family:'Archivo Black',sans-serif; font-size:15px; color:var(--neon); margin-right:5px}
.pc-cta{margin-top:6px; align-self:stretch; text-align:center; background:var(--ink); color:var(--paper); font-family:'Space Mono',monospace; font-size:13px; letter-spacing:.2em; text-transform:uppercase; font-weight:700; padding:14px 20px; transition:background .15s, color .15s}
a.proof-card:hover .pc-cta{background:var(--neon); color:var(--ink)}
.door{padding:0}
.door-visual{position:relative; height:190px; overflow:hidden; border-bottom:2px solid var(--ink)}
.door-visual img{width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.05)}
.door-visual::after{content:""; position:absolute; inset:0; background:linear-gradient(160deg, rgba(10,10,10,.25), rgba(10,10,10,.6))}
.door-body{padding:32px; display:flex; flex-direction:column; flex:1}
.door .door-badge{top:12px; right:16px; z-index:3}
@media (max-width:600px){.door-visual{height:160px}}
