 :root{
    --red:#e2342a;
    --red-dark:#c01f16;
    --ink:#0e0e0e;
    --black:#0a0a0a;
    --paper:#f5f4f1;
    --white:#ffffff;
    --muted:#6c6a66;
    --muted-d:#9a9893;
    --line:#e6e4df;
    --line-d:#262626;
    --maxw:1240px;
    --pad:clamp(20px,5vw,64px);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:'Archivo',system-ui,sans-serif;
    background:var(--paper);
    color:var(--ink);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  ::selection{background:var(--red);color:#fff}
  html{scrollbar-width:thin;scrollbar-color:var(--red) #ece9e2}
  ::-webkit-scrollbar{width:11px;height:11px}
  ::-webkit-scrollbar-track{background:#ece9e2}
  ::-webkit-scrollbar-thumb{background:var(--red);border:3px solid #ece9e2;border-radius:8px}
  ::-webkit-scrollbar-thumb:hover{background:var(--red-dark)}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  body::before{content:"";position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.06;background-image:url("/img/leve-associate/noise.png");background-size:140px 140px}

  /* ---------- typography helpers ---------- */
  .display{font-weight:900;line-height:.9;letter-spacing:-.025em;text-transform:uppercase}
  .eyebrow{
    font-family:'Space Mono',monospace;font-size:12px;font-weight:700;
    letter-spacing:.14em;text-transform:uppercase;color:#7a756d;
  }
  .eyebrow::before{content:"[";color:var(--red);margin-right:7px}
  .eyebrow::after{content:"]";color:var(--red);margin-left:7px}
  .eyebrow.on-dark{color:#bfbdb8}
  .num{font-family:'Space Mono',monospace;font-weight:700;color:var(--red)}

  .wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

  /* ---------- header ---------- */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(245,244,241,.82);
    backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
  }
  .nav{
    display:flex;align-items:center;gap:32px;
    height:74px;
  }
  .brand{display:flex;align-items:center;gap:18px;flex-shrink:0}
  .logo{line-height:.82}
  .logo b{display:block;font-weight:900;font-size:21px;letter-spacing:-.01em;color:var(--ink)}
  .logo small{display:block;font-family:'Space Mono',monospace;font-size:8.5px;letter-spacing:.1em;color:var(--ink);margin-top:5px}
  .brand
  .brand
  .nav-links{margin-left:auto;display:flex;align-items:center;gap:30px}
  .nav-links a{font-size:13.5px;font-weight:600;letter-spacing:.01em;position:relative;padding:4px 0}
  .nav-links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--red);transition:width .25s ease}
  .nav-links a:hover::after{width:100%}
  .nav-cta{
    background:var(--red);color:#fff;padding:11px 20px;border-radius:2px;
    font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
    transition:background .2s ease;
  }
  .nav-cta:hover{background:var(--red-dark)}
  .burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px;margin-left:auto}
  .burger span{width:24px;height:2px;background:var(--ink);display:block;transition:.3s}

  /* ---------- hero ---------- */
  .hero{position:relative;overflow:hidden}
  .hero::before{content:"";position:absolute;inset:0;z-index:0;background:url("/img/leve-associate/sfondo-hero.png") no-repeat right -6vw center;background-size:auto 106%;transform-origin:79% 62%;animation:stampIn .65s cubic-bezier(.2,.85,.25,1) .25s both}
  @keyframes stampIn{0%{opacity:0;transform:scale(1.07)}62%{opacity:1;transform:scale(.996)}100%{opacity:1;transform:none}}
  .hero .wrap{position:relative;z-index:1}
  .hero .hero-copy{max-width:640px}
  @media(max-width:1180px){.hero::before{background-size:auto 88%;background-position:right -8vw center}}
  
  @media(max-width:1024px){
    .hero::before{background-size:80vw auto;background-position:right -8vw bottom -10vw;transform-origin:88% 92%}
    .hero .wrap{min-height:auto;align-content:start;padding-bottom:66vw}
    .hero .hero-copy{max-width:none}
  }
  .hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:center;padding-top:34px;padding-bottom:34px;min-height:min(62vh,560px)}
  .hero-copy{max-width:560px;position:relative;z-index:3}
  .hero h1{font-size:clamp(50px,9.2vw,120px);line-height:.86;letter-spacing:-.035em;margin:16px 0 26px;text-shadow:0 2px 0 var(--paper),0 -2px 0 var(--paper),2px 0 0 var(--paper),-2px 0 0 var(--paper),2px 2px 0 var(--paper),-2px -2px 0 var(--paper),2px -2px 0 var(--paper),-2px 2px 0 var(--paper),0 0 10px var(--paper),0 0 22px var(--paper),0 0 40px var(--paper)}
  .hero h1 .red{color:var(--red)}
  .hero p.lede{font-size:clamp(16px,1.4vw,19px);color:#2a2a2a;max-width:430px;margin-bottom:38px;font-weight:500;text-shadow:0 1px 0 var(--paper),0 -1px 0 var(--paper),1px 0 0 var(--paper),-1px 0 0 var(--paper),1px 1px 0 var(--paper),-1px -1px 0 var(--paper),1px -1px 0 var(--paper),-1px 1px 0 var(--paper),0 0 8px var(--paper),0 0 16px var(--paper),0 0 28px var(--paper)}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap}
  .btn{
    display:inline-flex;align-items:center;gap:12px;
    padding:16px 26px;border-radius:2px;font-weight:700;font-size:13px;
    letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:none;
    transition:transform .2s ease,background .2s ease,color .2s ease;
  }
  .btn .arr{transition:transform .25s ease}
  .btn:hover .arr{transform:translateX(5px)}
  .btn-primary{background:var(--red);color:#fff}
  .btn-primary:hover{background:var(--red-dark)}
  .btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
  .btn-ghost:hover{background:var(--ink);color:#fff}

  .hero-visual{position:relative;height:100%;min-height:420px;overflow:visible;z-index:1}
  .hero-visual img.hero-dart{position:absolute;right:-4%;top:-1%;width:116%;max-width:none;height:auto;mix-blend-mode:multiply;animation:heroIn 1.05s cubic-bezier(.2,.8,.25,1) both}
  @keyframes heroIn{0%{opacity:0;transform:scale(.95) translateY(-6px)}100%{opacity:1;transform:none}}

  /* dartboard animation */
  .scribble{fill:none;stroke:var(--red);stroke-linecap:round;stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 1s ease forwards}
  .scribble.s2{animation-delay:.18s}
  .scribble.s3{animation-delay:.32s}
  @keyframes draw{to{stroke-dashoffset:0}}
  .dart-grp{transform-origin:center;animation:land 1s cubic-bezier(.2,.85,.25,1) .15s both}
  @keyframes land{0%{transform:translate(-180px,-200px) rotate(-22deg);opacity:0}60%{opacity:1}100%{transform:translate(0,0) rotate(0);opacity:1}}

  /* ---------- section frame ---------- */
  section{padding:clamp(40px,5.5vw,72px) 0}
  .sec-head{margin-bottom:30px}
  .sec-title{font-size:clamp(34px,5vw,62px);margin-top:14px}
  .sec-title .red{color:var(--red)}
  .lead-grid{display:block}
  .lead-grid p{margin-top:18px;max-width:560px;color:var(--muted)}

  /* services */
  .svc-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-top:1px solid var(--line);scrollbar-width:thin;-webkit-mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent);mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent)}
  .svc-grid::-webkit-scrollbar{height:6px}
  .svc-grid::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}
  .svc{flex:1 0 212px;scroll-snap-align:start;padding:26px 20px 24px;border-right:1px solid var(--line);position:relative;transition:background .25s ease}
  .svc:last-child{border-right:none}
  .svc .num{font-size:15px;display:inline-block;margin-bottom:20px;padding:2px 8px;border-radius:3px;transition:background .25s ease,color .25s ease}
  .svc-ic{height:46px;margin-bottom:22px;color:var(--ink)}
  .svc-ic svg{height:46px;width:auto}
  .svc h3{font-size:19px;font-weight:800;letter-spacing:-.01em;line-height:1.1;margin-bottom:12px}
  .svc p{font-size:13px;color:var(--muted);line-height:1.5;margin-bottom:16px;min-height:64px}
  .svc .go{color:var(--ink);display:inline-block;transition:transform .25s ease,color .25s ease}
  .link-row{margin-top:30px}
  .text-link{display:inline-flex;align-items:center;gap:14px;font-family:'Space Mono',monospace;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
  .text-link .arr{transition:transform .25s ease}
  .text-link:hover .arr{transform:translateX(6px)}

  /* studio (dark) */
  .studio{background:#0a0a0a;color:#fff}
  .studio-photo{max-width:380px;margin:0 auto 34px}
  .studio-photo img{width:100%;display:block;-webkit-mask-image:radial-gradient(ellipse 78% 72% at 50% 46%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 78% 72% at 50% 46%,#000 55%,transparent 100%)}
  .studio .wrap{display:flex;flex-direction:column;align-items:center}
  .studio-copy{max-width:720px;width:100%}
  .studio-visual{position:relative;border-radius:4px;overflow:hidden;aspect-ratio:1/.82;
    background:radial-gradient(120% 120% at 30% 12%,#3a3a3a 0%,#161616 38%,#050505 100%);}
  .green-felt{position:absolute;inset:0;background:radial-gradient(60% 50% at 50% 58%,rgba(255,255,255,.05),transparent 70%)}
  .ball{position:absolute;left:30%;top:52%;width:21%;aspect-ratio:1;border-radius:50%;
    background:radial-gradient(35% 35% at 35% 32%,#fff,#cfcfcf 55%,#7d7d7d 100%);
    box-shadow:0 24px 40px rgba(0,0,0,.6);}
  .hole{position:absolute;left:46%;top:60%;width:30%;aspect-ratio:1/.42;border-radius:50%;
    background:radial-gradient(closest-side,#000,#0a0a0a);transform:rotate(-6deg);
    box-shadow:inset 0 6px 14px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.03);}
  .studio-copy h2{font-size:clamp(30px,4vw,50px)}
  .studio-copy h2 .red{color:var(--red)}
  .studio-copy>p{color:#b9b7b2;font-size:15.5px;max-width:440px;margin:22px 0 34px}
  .studio-list{list-style:none;display:flex;flex-direction:column;gap:14px;margin-bottom:28px}
  .studio-list li{display:flex;gap:16px;align-items:flex-start}
  .studio-list .ic{color:var(--red);flex-shrink:0;margin-top:2px}
  .studio-list span{font-size:14.5px;color:#e8e6e2;line-height:1.45}
  .studio .text-link{color:var(--red)}

  /* method */
  .method-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-top:1px solid var(--line);scrollbar-width:thin;-webkit-mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent);mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent)}
  .method-grid::-webkit-scrollbar{height:6px}
  .method-grid::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}
  .step{flex:1 0 212px;scroll-snap-align:start;padding:26px 20px 24px;border-right:1px solid var(--line);position:relative;transition:background .25s ease}
  .step:last-child{border-right:none}
  .step .connector{display:none}
  .step .num{font-size:15px;display:inline-block;margin-bottom:24px;padding:2px 8px;border-radius:3px;transition:background .25s ease,color .25s ease}
  .step-ic{height:40px;color:var(--ink);margin-bottom:20px}
  .step-ic svg{height:40px;width:auto}
  .step h3{font-size:18px;font-weight:800;margin-bottom:10px}
  .step p{font-size:13px;color:var(--muted);line-height:1.5}
  .step .connector{position:absolute;right:-13px;top:46px;z-index:2;color:var(--ink)}
  .step:last-child .connector{display:none}

  /* works + sectors (identico al mockup) */
  .closing{background:var(--paper)}
  .closing .wrap{display:block}
  
  
  
  
  
  
  
  
  
  
  
  
  
  .work{scroll-margin-top:90px}
  .work.spot .thumb{outline:3px solid var(--red);outline-offset:4px;border-radius:4px}
  .work.spot .work-cap h4{color:var(--red)}
  .works-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:22px 18px;margin-top:34px}
  .work.sp7{grid-column:span 7}
  .work.sp5{grid-column:span 5}
  .work.sp4{grid-column:span 4}
  .work.sp6{grid-column:span 6}
  .work .thumb{aspect-ratio:var(--ar,1/1)}
  .work-cap{display:flex;align-items:baseline;gap:10px;padding:12px 2px 0}
  .work-cap .idx{font-size:11px;color:var(--muted-d);font-weight:600;letter-spacing:.05em}
  .work-cap h4{font-size:16.5px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
  .work-cap .cat{margin-left:auto;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--red);text-align:right}
  .work:hover .thumb img{transform:scale(1.045)}
  @media(max-width:900px){
    .work.sp7,.work.sp5,.work.sp6{grid-column:span 6}
    .work.sp4{grid-column:span 6}
    .work.sp7 .thumb,.work.sp5 .thumb,.work.sp4 .thumb,.work.sp6 .thumb{aspect-ratio:1/1}
    .work-cap .cat{font-size:10px}
  }
  @media(max-width:560px){
    .works-grid{gap:26px 0}
    .work.sp7,.work.sp5,.work.sp4,.work.sp6{grid-column:span 12}
    .work.sp7 .thumb,.work.sp5 .thumb,.work.sp4 .thumb,.work.sp6 .thumb{aspect-ratio:1/1}
  }
  .work{display:block}
  .work.more{display:block}
  .works-grid.expanded .work.more{display:block}
  button.text-link{background:none;border:none;cursor:pointer;padding:0;color:inherit;line-height:inherit}
  .work .thumb{aspect-ratio:1/1;border-radius:4px;overflow:hidden;position:relative;margin-bottom:0;background:#161616}
  .work .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
  .work:hover .thumb img{transform:scale(1.03);filter:none}
  .work h4{font-size:15px;font-weight:800;letter-spacing:-.01em}
  .work span{font-size:11.5px;color:var(--muted);font-family:'Space Mono',monospace;letter-spacing:.03em}
  .studio-visual img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}
  .sectors{margin-top:50px}
  .sectors-band{padding:clamp(46px,6vw,84px) 0 clamp(34px,4.5vw,60px)}
  .sectors-band .sectors{margin-top:0}
  .video-band{padding:0;background:#0a0a0a}
  .video-band .wrap{max-width:none;padding:0;width:100%}
  .video-wrap{margin:0;border-radius:0;overflow:hidden;box-shadow:none}
  .leve-video{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
  .sector-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);column-gap:40px;border-top:1px solid var(--line);margin-top:18px}
  .sector-list li{border-bottom:1px solid var(--line)}
  .sector-link{display:flex;align-items:center;gap:14px;padding:14px 2px;font-weight:600;font-size:14.5px;color:inherit;transition:color .2s ease}
  .sector-link .arrow{margin-left:auto;color:var(--red);opacity:1;transition:transform .2s ease}
  .sector-link:hover{color:var(--red)}
  .sector-link:hover .arrow{transform:translateX(5px)}
  @media(hover:none){}
  .sector-list .ic{color:var(--red);flex-shrink:0}
  @media(max-width:820px){.works-grid{grid-template-columns:repeat(3,1fr)}.sector-list{grid-template-columns:1fr 1fr;column-gap:24px}}
  @media(max-width:560px){.works-grid{grid-template-columns:repeat(2,1fr)}.sector-list{grid-template-columns:1fr}}

  /* contact (dark) */
  .contact{background:var(--black);color:#fff}
  .contact .wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(28px,4vw,56px)}
  .contact h2{font-size:clamp(32px,4.6vw,58px);line-height:.94}
  .contact h2 .red{color:var(--red)}
  .contact .intro{color:#b9b7b2;font-size:15px;margin-top:24px;max-width:300px}
  .form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .form .full{grid-column:1/-1}
  .field input,.field textarea{
    width:100%;background:transparent;border:none;border-bottom:1px solid var(--line-d);
    color:#fff;font-family:inherit;font-size:14.5px;padding:12px 2px;transition:border-color .25s ease;
  }
  .field input::placeholder,.field textarea::placeholder{color:#7c7a76}
  .field input:focus,.field textarea:focus{outline:none;border-color:var(--red)}
  .field textarea{resize:vertical;min-height:84px}
  .form .btn-primary{justify-content:center;width:100%;padding:17px}
  .form-note{grid-column:1/-1;font-size:12px;color:#8a8884;margin-top:-4px}
  .contact-info dt{font-weight:800;font-size:15px;line-height:1.3}
  .contact-info .role{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.08em;color:#8a8884;margin:6px 0 22px}
  .contact-info dd{font-size:14px;color:#cfcdc8;line-height:1.7}
  .contact-info dd a:hover{color:var(--red)}
  .socials{display:flex;gap:12px;margin-top:30px}
  .socials a{width:50px;height:50px;border-radius:50%;border:1px solid var(--line-d);display:flex;align-items:center;justify-content:center;color:#fff;transition:.2s}
  .socials a svg{width:21px;height:21px}
  .socials a:hover{background:var(--red);border-color:var(--red)}

  /* proof band */
  .proof{background:var(--black);color:#fff}
  .proof-grid{display:grid;grid-template-columns:repeat(4,1fr);padding-top:46px;padding-bottom:46px}
  .stat{text-align:center;padding:8px 16px;border-right:1px solid var(--line-d)}
  .stat:last-child{border-right:none}
  .stat b{display:block;font-weight:900;font-size:clamp(28px,3.8vw,44px);letter-spacing:-.02em;line-height:1;color:var(--red)}
  .stat span{display:block;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#9a9893;margin-top:12px}
  @media(max-width:720px){.proof-grid{grid-template-columns:1fr 1fr;gap:30px 0}.stat:nth-child(2){border-right:none}}
  /* number fill + arrow micro-interactions */
  /* project hover overlay */
  
  
  
  
  
  
  
  
    
  /* colour rhythm */
  #metodo{background:#f6f5f3}
  /* final CTA bullseye watermark */
  .contact{position:relative;overflow:hidden}
  .contact .wrap{position:relative;z-index:2}
  .contact::before{content:none}
  @media(max-width:820px){.contact::before{right:-45%;width:560px;height:560px}}

  /* footer */
  footer{background:var(--black);color:#9a9893;border-top:1px solid var(--line-d)}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1.1fr;gap:clamp(34px,5vw,64px);padding-top:clamp(64px,8vw,104px);padding-bottom:clamp(44px,6vw,72px);align-items:start}
  .foot-brand b{display:block;font-weight:900;font-size:clamp(30px,3.6vw,46px);color:#fff;letter-spacing:-.02em;text-transform:uppercase;line-height:.95}
  .foot-brand small{display:block;font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.1em;color:#8a8884;margin-top:6px}
  .foot-brand p{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;color:#8a8884;margin-top:18px;text-transform:uppercase}
  .foot-by{display:flex;align-items:center;gap:12px;margin-top:18px}
  .foot-by span{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.14em;color:#8a8884;text-transform:uppercase}
  .foot-logo{height:48px;width:auto;display:block}
  .foot-col{font-size:16px;line-height:2.05;color:#cfcdc8}
  .foot-h{display:block;font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:16px}
  .foot-col a{transition:color .2s ease}
  .foot-col a:hover{color:#fff}
  .foot-muted{color:#6f6d69}
  .foot-legal{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:26px;padding-bottom:38px;border-top:1px solid var(--line-d);flex-wrap:wrap;font-family:'Space Mono',monospace;font-size:12.5px;letter-spacing:.03em;color:#8a8884}
  .foot-legal .f-links{display:flex;gap:20px}
  .foot-legal a:hover{color:#cfcdc8}
  @media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:520px){.foot-grid{grid-template-columns:1fr}}

  /* reveal */
  .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}

  /* ---------- responsive ---------- */
  @media(max-width:1000px){
    .nav-links{display:none}
    .burger{display:flex}
    .nav-links.open{display:flex;position:absolute;top:74px;left:0;right:0;background:var(--paper);flex-direction:column;align-items:flex-start;gap:0;padding:8px var(--pad) 20px;border-bottom:1px solid var(--line)}
    .nav-links.open a{padding:14px 0;width:100%;border-bottom:1px solid var(--line)}
    .nav-links.open .nav-cta{margin-top:16px;margin-bottom:6px;border-bottom:none;text-align:center;border-radius:2px}
    .hero .wrap{grid-template-columns:1fr;min-height:0}
    .hero-visual{order:-1;min-height:300px;margin-bottom:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}
    .hero-dart{position:relative!important;right:auto!important;top:auto!important;width:100%!important}
    .studio .wrap{grid-template-columns:1fr}
    .closing .wrap{grid-template-columns:1fr}
    .contact .wrap{grid-template-columns:1fr}
    .lead-grid{grid-template-columns:1fr}
  }
  @media(max-width:560px){
    .works-grid{grid-template-columns:1fr 1fr}
    .form{grid-template-columns:1fr}
    .brand .tag,.brand .divider{display:none}
  }
  /* --- polish + scroll animations --- */
  html{scroll-padding-top:88px}
  a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:2px}
  #progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--red);z-index:60;transition:width .12s linear}
  .hero-copy>*{opacity:0;animation:upIn .85s cubic-bezier(.2,.8,.25,1) forwards}
  .hero-copy>*:nth-child(1){animation-delay:.05s}
  .hero-copy>*:nth-child(2){animation-delay:.15s}
  .hero-copy>*:nth-child(3){animation-delay:.26s}
  .hero-copy>*:nth-child(4){animation-delay:.36s}
  @keyframes upIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
  .svc-grid>.svc,.method-grid>.step,.works-grid>.work{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
  .svc-grid>.svc.in,.method-grid>.step.in,.works-grid>.work.in{opacity:1;transform:none}
  @media(prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important}
    .scribble{stroke-dashoffset:0}
    .reveal{opacity:1;transform:none}
    .hero-copy>*{opacity:1!important}
    .svc-grid>.svc,.method-grid>.step,.works-grid>.work{opacity:1!important;transform:none!important}
    #progress{display:none}
    html{scroll-behavior:auto}
  }

  /* hero image: piu' compatta su mobile */
  @media(max-width:820px){
    .hero-visual{overflow:hidden;text-align:center}
    .hero-dart{width:80%!important;max-width:340px!important;margin:0 auto!important;display:block!important;
      aspect-ratio:1/0.74;object-fit:cover;object-position:50% 40%}
  }

  /* === LEVE: studio + metodo unificati === */
  #leve .leve-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(26px,4vw,60px);align-items:center}
  #leve .leve-grid .studio-copy{order:1}
  #leve .leve-grid .leve-photo{order:2}
  #leve .leve-photo{margin:0;border-radius:12px;overflow:hidden;aspect-ratio:4/3.2;box-shadow:0 36px 70px -34px rgba(0,0,0,.7)}
  #leve .leve-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;-webkit-mask-image:none;mask-image:none}
  #leve .leve-flow{display:block;margin-top:clamp(34px,5vw,58px)}
  #leve .leve-flow .eyebrow{display:inline-block;margin-bottom:14px}
  #leve .method-grid{width:100%;border-top-color:#fff}
  #leve .step{border-right-color:rgba(255,255,255,.55)}
  #leve .step-ic{color:#fff!important}
  #leve .step h3{color:#fff!important}
  #leve .step .num{color:#fff!important;background:transparent!important}
  #leve .step p{color:#fff!important}
  #leve .step-ic svg{stroke:#fff}
  #leve .step *{color:#fff}
  #leve .method-grid>.step{opacity:1!important;transform:none!important}
  #leve .leve-flow.reveal,#leve .leve-head.reveal,#leve .studio-copy.reveal{opacity:1!important;transform:none!important}
  @media(max-width:640px){#leve .leve-grid{grid-template-columns:1fr;gap:22px}#leve .leve-photo{aspect-ratio:16/11}}

  /* === FABLE POLISH PACK === */
  /* selezione testo brand */
  ::selection{background:var(--red);color:#fff}

  /* anchor sotto header sticky */
  section[id]{scroll-margin-top:84px}

  /* entrance hero: righe che salgono in sequenza */
  @keyframes heroUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
  .hero-copy>*{animation:heroUp .65s cubic-bezier(.22,.8,.3,1) both}
  .hero-copy>*:nth-child(1){animation-delay:.05s}
  .hero-copy>*:nth-child(2){animation-delay:.15s}
  .hero-copy>*:nth-child(3){animation-delay:.28s}
  .hero-copy>*:nth-child(4){animation-delay:.4s}
  .hero-visual{animation:heroUp .8s .25s cubic-bezier(.22,.8,.3,1) both}

  /* bottoni: freccia viva + lift */
  .btn .arr{transition:transform .25s ease}
  .btn:hover .arr{transform:translateX(5px)}
  .btn-primary{box-shadow:0 10px 24px -14px var(--red)}
  .btn-primary:hover{box-shadow:0 16px 30px -14px var(--red);transform:translateY(-1px)}
  .btn{transition:background .25s ease,color .25s ease,box-shadow .25s ease,transform .25s ease}

  /* nastro scorrevole (marquee) */
  .marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;background:var(--white)}
  .marquee-track{display:flex;align-items:center;white-space:nowrap;width:max-content;animation:mq 30s linear infinite}
  .marquee span{font-family:'Archivo',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(18px,2.4vw,28px);padding:0 18px;color:var(--ink)}
  .marquee i{display:inline-block;width:6px;height:6px;background:var(--ink);vertical-align:middle}
  @keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  @media(prefers-reduced-motion:reduce){.marquee-track{animation:none}.hero-copy>*,.hero-visual{animation:none}}

  /* nav: voce attiva durante lo scroll */
  .nav-links a{position:relative}
  .nav-links a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
  .nav-links a.active:not(.nav-cta)::after{transform:scaleX(1)}


  /* hero: scena leve al posto della foto */
  .iso-hero{width:100%}
  .iso-hero svg{width:100%;height:auto;display:block;overflow:visible}


  /* === HERO TIPOGRAFICO: la parola è la leva === */
  .hero .wrap{grid-template-columns:1fr}
  .hero .hero-copy{max-width:none}
  h1.type-lever{font-size:clamp(56px,12.5vw,180px);line-height:.9;letter-spacing:-.035em;user-select:none}
  h1.type-lever .row{display:block}
  #levaWrap{display:inline-block;position:relative}
  #levaWord{display:inline-block;transform-origin:6% 88%;cursor:grab;touch-action:none;
    transition:transform .5s cubic-bezier(.3,1.5,.4,1),color .4s;will-change:transform}
  #levaWord.drag{transition:none;cursor:grabbing}
  #levaWord.pulled{color:var(--red)}
  #levaHint{position:absolute;left:50%;top:-24px;transform:translateX(-50%);white-space:nowrap;
    font-family:'Space Mono',monospace;font-weight:400;font-size:11px;letter-spacing:3px;color:var(--muted);
    display:flex;align-items:center;gap:8px;transition:opacity .4s}
  #levaHint.off{opacity:0}
  #levaHint i{width:13px;height:13px;border:1.5px solid var(--red);border-radius:50%;animation:levaRing 1.8s ease-out infinite}
  @keyframes levaRing{0%{transform:scale(.6);opacity:1}70%{transform:scale(1.5);opacity:0}100%{opacity:0}}
  #gemDot{display:inline-block;width:.15em;height:.15em;border-radius:.03em;background:var(--ink);
    transform:rotate(45deg) translateY(-.05em);margin-left:.07em;transition:background .5s}
  #gemDot.on{background:#e2342a;animation:gemPulse 2.2s ease-in-out infinite}
  @keyframes gemPulse{0%,100%{box-shadow:0 0 .1em rgba(226,52,42,.8),0 0 .22em rgba(226,52,42,.35)}
    50%{box-shadow:0 0 .16em rgba(226,52,42,1),0 0 .34em rgba(226,52,42,.55)}}
  #green-flash{position:fixed;inset:0;pointer-events:none;z-index:45;opacity:0;mix-blend-mode:screen;background:radial-gradient(circle at 50% 42%,rgba(226,52,42,.6),rgba(226,52,42,.16) 45%,rgba(226,52,42,0) 72%)}
  #green-flash{display:none}
  #slotTrack.lit{animation:wordGlow 2.2s ease-out 1}
  @keyframes wordGlow{0%{text-shadow:none}22%{text-shadow:0 0 .05em rgba(226,52,42,.95),0 0 .16em rgba(226,52,42,.6)}55%{text-shadow:0 0 .04em rgba(226,52,42,.55),0 0 .1em rgba(226,52,42,.3)}100%{text-shadow:none}}
  @keyframes siteGreenOnce{0%{opacity:0}26%{opacity:.8}55%{opacity:.42}100%{opacity:0}}
  @media(prefers-reduced-motion:reduce){#levaHint i{animation:none}#slotTrack.lit{animation:none}#gemDot.on{animation:none}.hero::before{animation:none}}







  /* === COMPETITIVE PACK: clienti, manifesto, persone === */
  .marquee--clients{background:var(--paper);padding:13px 0}
  .marquee--clients .marquee-track{animation:mq 34s linear infinite reverse}
  .marquee--clients span{font-weight:700;font-size:clamp(14px,1.7vw,19px);letter-spacing:.02em;color:var(--muted);text-transform:uppercase;padding:0 14px}
  .marquee--clients i{color:var(--red);font-style:normal;font-size:12px}


  /* === MURO CLIENTI B/N === */
  .logo-wall{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-right:none;border-bottom:none;background:var(--white)}
  .logo-tile{aspect-ratio:3/1.7;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px;transition:opacity 1s ease}
  .logo-tile.fade{opacity:0}
  .mark{display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--ink);text-align:center;user-select:none}
  .mark b{font-weight:900;font-size:clamp(17px,2.3vw,25px);letter-spacing:.02em;line-height:1}
  .mark i{font-style:normal;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:4px}
  /* reveal lavoro su hover/tap */
  .logo-tile{position:relative;overflow:hidden}
  .logo-tile.lw{cursor:pointer}
  .lw-photo{position:absolute;inset:0;opacity:0;transition:opacity .45s ease;pointer-events:none}
  .lw-photo img{width:100%;height:100%;object-fit:cover;display:block}
  .lw-cap{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 9px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff}
  .lw-cap h4{font-size:13.5px;font-weight:800;letter-spacing:.01em}
  .lw-cap span{font-family:'Space Mono',monospace;font-size:9.5px;letter-spacing:1.5px;text-transform:uppercase;opacity:.85}
  .logo-tile.lw:hover .lw-photo,.logo-tile.lw:focus-visible .lw-photo,.logo-tile.lw.show .lw-photo{opacity:1}
  .mark-img{display:block;max-width:74%;max-height:62%;object-fit:contain;margin:auto}
  .mark .w-czg{letter-spacing:.42em;font-size:.62em;font-weight:700}
  .mark .w-cz2{font-weight:900;letter-spacing:.03em}
  .mark .w-cdfrow{display:flex;align-items:baseline;gap:1px;text-transform:lowercase}
  .mark .w-cdf1{font-weight:900}
  .mark .w-cdf2{font-weight:400}
  .mark .w-cz{letter-spacing:.3em;font-weight:600;font-size:clamp(15px,2vw,22px)}
  .mark .w-sp{letter-spacing:.34em;font-weight:600}
  .mark .w-low{text-transform:lowercase;font-weight:800;letter-spacing:.04em}
  .mark .w-thin{font-weight:400;letter-spacing:.3em}
  .mark .w-it{transform:skewX(-8deg);font-weight:800}
  .mark .w-mono{font-family:'Space Mono',monospace;font-weight:700;letter-spacing:.1em}
  @media(max-width:720px){.logo-wall{grid-template-columns:1fr 1fr}}


  /* === TITOLO A RULLO: trova la parola giusta === */
  .slot{display:inline-block;overflow:hidden;height:1em;line-height:1;vertical-align:-0.25em}
  .slot-track{display:block;transition:transform .2s ease-in}
  .slot-track i{display:block;height:1em;line-height:1;font-style:normal}
  .slot-track.hit{transition:transform .6s cubic-bezier(.28,1.45,.4,1)}
  .slot-track.hit i:last-child{color:var(--red)}

  /* === HERO SCENA + RULLO / OTTIMIZZAZIONI === */
  html{scroll-behavior:smooth}
  .hero .hero-stacked{display:grid;grid-template-columns:1fr;gap:6px}
  .hero-arch{width:100%;max-width:640px;margin:0 auto 2px}
  .hero-arch svg{width:100%;height:auto;display:block;overflow:visible}
  .marquee-track{will-change:transform}
  .marquee.paused .marquee-track{animation-play-state:paused}
  .btn{min-height:44px}
  @media(max-width:640px){
    h1.type-lever{font-size:clamp(42px,13vw,58px)}
    .hero-arch{max-width:none;margin-bottom:0}
    .logo-tile{aspect-ratio:3/1.9;padding:14px}
    .hero-cta .btn{width:100%;justify-content:center}
  }
  @media(min-width:1400px){.hero-arch{max-width:700px}}
  .leve-head{margin-bottom:clamp(22px,3.5vw,40px)}
  #leve .leve-head{align-items:flex-start;text-align:left}





  /* === FRECCETTA SOPRA IL TITOLO === */

  /* === FASCIA LOGHI (senso inverso) === */
  .marquee--logos{background:var(--white);padding:16px 0}
  .marquee--logos .marquee-track{animation:mq 36s linear infinite reverse}
  .mlg{display:inline-flex;align-items:center;padding:0 36px}
  .mlg img{height:clamp(40px,5.5vw,60px);width:auto;display:block}
  .marquee--logos .mark b{font-size:clamp(20px,2.6vw,30px)}
  .marquee--logos .mark i{font-size:10px;letter-spacing:4px}
  .marquee--logos i.sep{font-style:normal;color:var(--red);font-size:11px}

  #backToSectors{position:fixed;left:50%;bottom:22px;transform:translate(-50%,16px);z-index:60;
    display:flex;align-items:center;gap:8px;padding:11px 18px;border:0;border-radius:999px;
    background:var(--ink);color:var(--paper);font-family:'IBM Plex Mono',monospace;font-size:12px;
    letter-spacing:.06em;text-transform:uppercase;cursor:pointer;opacity:0;pointer-events:none;
    box-shadow:0 8px 24px rgba(0,0,0,.25);transition:opacity .25s ease,transform .25s ease}
  #backToSectors .bs-arrow{color:var(--red);font-size:14px}
  #backToSectors.on{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
  #backToSectors:hover{background:#000}
  @media(max-width:560px){#backToSectors{bottom:calc(14px + env(safe-area-inset-bottom))}}

  .nav-cta{background:var(--red);color:var(--paper)!important;padding:10px 18px;border-radius:2px;font-weight:700}
  .nav-cta:hover{background:var(--red-dark);color:var(--paper)!important}

.privacy-check label{
    display:flex;
    align-items:flex-start;
    gap:12px;
    cursor:pointer;
    font-size:.95rem;
    line-height:1.5;
}

.privacy-check input[type="checkbox"]{
    margin-top:4px;
    flex:0 0 auto;
    width:18px;
    height:18px;
}

.privacy-check span{
    flex:1;
}

.privacy-check a{
    color:inherit;
    text-decoration:underline;
}