:root{
      --ink:#0A1326;          /* sfondo pagina */
      --ink-2:#0B1A30;        /* hero deep */
      --navy:#0F1E38;         /* pannelli */
      --navy-2:#152A4C;       /* card sollevate */
      --gold:#C8A24A;
      --gold-bright:#E6C878;
      --gold-deep:#9C7B30;
      --ivory:#F4EFE4;
      --text:#BCC8D8;
      --muted:#7B8AA0;
      --light:#EFEDE5;        /* bande chiare */
      --light-2:#E6E3D8;
      --ink-on-light:#10203A;
      --line:rgba(200,162,74,.30);
      --line-soft:rgba(255,255,255,.08);
      --line-dark:rgba(16,32,58,.12);
      --ease:cubic-bezier(.22,.61,.36,1);
    }
    *{margin:0;padding:0;box-sizing:border-box;}
    html{scroll-behavior:smooth;}
    body{
      font-family:'Archivo',system-ui,sans-serif;
      background:var(--ink); color:var(--text);
      -webkit-font-smoothing:antialiased; line-height:1.6; overflow-x:hidden;
    }
    ::selection{background:var(--gold);color:var(--ink);}
    h1,h2,h3,h4{font-family:'Oswald',sans-serif;color:var(--ivory);font-weight:600;line-height:1.05;letter-spacing:.01em;text-transform:uppercase;}
    /* accento editoriale: corsivo serif oro (richiama il pennello / l'evoluzione) */
    h1 .gold,h2 .gold{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:500;text-transform:none;letter-spacing:-.01em;color:var(--gold-bright);}
    /* l'accento che inizia una riga va allineato otticamente al bordo delle maiuscole
       (il valore dipende dal primo glifo: "u" e "5" hanno bearing diversi) */
    .hero h1 .gold{margin-left:-.05em;}
    .fhead h2 .gold{margin-left:-.012em;}
    .wrap{max-width:1240px;margin:0 auto;padding:0 32px;}
    a{color:inherit;}

    .eyebrow{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.28em;font-weight:600;font-size:12px;color:var(--gold);display:inline-flex;align-items:center;gap:14px;}
    .eyebrow::before{content:"";width:30px;height:2px;background:var(--gold);}
    .eyebrow.center::after{content:"";width:30px;height:2px;background:var(--gold);}

    /* ---------- BUTTONS ---------- */
    .btn{position:relative;display:inline-flex;align-items:center;gap:11px;font-family:'Oswald',sans-serif;font-weight:600;font-size:14px;letter-spacing:.10em;text-transform:uppercase;
      padding:15px 28px;border-radius:2px;text-decoration:none;cursor:pointer;border:none;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),color .35s var(--ease),background .35s;}
    .btn-primary{background:var(--gold);color:#15100a;box-shadow:0 12px 30px -10px rgba(200,162,74,.6);}
    .btn-primary:hover{transform:translateY(-2px);background:var(--gold-bright);box-shadow:0 18px 42px -12px rgba(200,162,74,.7);}
    .btn-ghost{background:transparent;color:var(--ivory);border:1px solid var(--line);}
    .btn-ghost:hover{border-color:var(--gold);color:var(--gold-bright);}
    .btn .arr{transition:transform .35s var(--ease);}
    .btn:hover .arr{transform:translateX(5px);}
    .btn-onlight{background:var(--gold);color:#15100a;}
    .btn-onlight:hover{background:var(--gold-bright);transform:translateY(-2px);}

    /* ---------- LOGO ---------- */
    .brand{display:inline-flex;align-items:center;gap:14px;text-decoration:none;}
    .brand .mark{position:relative;width:48px;height:48px;border:2px solid var(--gold);display:grid;place-items:center;overflow:hidden;
      transition:border-color .4s var(--ease),box-shadow .4s var(--ease);}
    .brand:hover .mark{border-color:var(--gold-bright);box-shadow:inset 0 0 0 1px rgba(230,200,120,.18),0 10px 26px -12px rgba(200,162,74,.6);}
    .z-mark{width:30px;height:30px;display:block;}
    .z-mark .z-back{transform:translate(3.5px,3.5px);transition:transform .45s var(--ease);}
    .brand:hover .z-mark .z-back{transform:translate(6px,6px);}
    .z-mark .z-front{stroke-dasharray:1;stroke-dashoffset:1;animation:zdraw 1.2s var(--ease) .3s forwards;}
    @keyframes zdraw{to{stroke-dashoffset:0;}}
    @media(prefers-reduced-motion:reduce){.z-mark .z-front{animation:none;stroke-dashoffset:0;}.z-mark .z-back,.brand:hover .z-mark .z-back{transition:none;}}
    .brand .bt{display:flex;flex-direction:column;line-height:1;}
    .brand .bt .b1{font-family:'Oswald',sans-serif;font-weight:600;font-size:21px;letter-spacing:.12em;color:var(--ivory);}
    .brand .bt .b1 b{color:var(--gold-bright);font-weight:700;}
    .brand .bt .b2{font-family:'Oswald',sans-serif;font-weight:500;font-size:9.5px;letter-spacing:.34em;color:var(--muted);margin-top:5px;}

    /* ---------- NAV ---------- */
    .scroll-progress{position:fixed;top:0;left:0;height:2px;width:0;z-index:200;pointer-events:none;
      background:linear-gradient(90deg,var(--gold-deep),var(--gold),var(--gold-bright));box-shadow:0 0 12px rgba(200,162,74,.5);}
    nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .4s var(--ease),border-color .4s;border-bottom:1px solid transparent;}
    nav.solid{background:rgba(10,19,38,.86);backdrop-filter:blur(14px);border-bottom-color:var(--line-soft);}
    nav .wrap{display:flex;align-items:center;justify-content:space-between;height:84px;}
    .nav-links{display:flex;align-items:center;gap:32px;}
    .nav-links a:not(.btn){position:relative;text-decoration:none;color:var(--text);font-family:'Oswald',sans-serif;font-weight:500;font-size:13.5px;letter-spacing:.12em;text-transform:uppercase;transition:color .3s;}
    .nav-links a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:2px;background:var(--gold);transition:width .3s var(--ease);}
    .nav-links a:not(.btn):hover{color:var(--ivory);}
    .nav-links a:not(.btn).active{color:var(--ivory);}
    .nav-links a:not(.btn).active::after,.nav-links a:not(.btn):hover::after{width:100%;}
    .nav-links .btn{padding:0;background:none;border:0;border-radius:0;box-shadow:none;overflow:visible;color:var(--gold-bright);font-weight:600;font-size:13.5px;letter-spacing:.12em;}
    .nav-links .btn::after{content:"";position:absolute;left:0;bottom:-7px;height:2px;width:0;background:var(--gold);transition:width .3s var(--ease);}
    .nav-links .btn:hover{color:var(--ivory);transform:none;box-shadow:none;background:none;}
    .nav-links .btn:hover::after{width:100%;}
    .menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--ivory);width:46px;height:46px;border-radius:4px;cursor:pointer;font-size:20px;line-height:1;}
    @media(max-width:1040px){
      nav .wrap{position:relative;}
      .menu-btn{display:block;}
      .nav-links{position:absolute;top:calc(100% + 1px);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
        background:rgba(10,19,38,.98);backdrop-filter:blur(16px);border-bottom:1px solid var(--line-soft);
        max-height:0;overflow:hidden;transition:max-height .42s var(--ease);}
      nav.open .nav-links{max-height:560px;}
      .nav-links a:not(.btn){padding:16px 32px;font-size:15px;border-top:1px solid var(--line-soft);}
      .nav-links a:not(.btn)::after{display:none;}
      .nav-links .btn{margin:16px 32px 20px;justify-content:center;padding:15px 22px;font-size:14px;}
    }

    /* ---------- HERO ---------- */
    .hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:130px 0 70px;overflow:hidden;
      background:radial-gradient(120% 100% at 80% 24%,#163055 0%,var(--ink-2) 46%,#070F1C 100%);}
    .hero .wrap{position:relative;z-index:2;width:100%;}
    .hero .side-label{position:absolute;left:30px;top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;font-family:'Oswald',sans-serif;letter-spacing:.4em;font-size:11px;color:var(--muted);text-transform:uppercase;display:flex;align-items:center;gap:20px;z-index:2;}
    .hero .side-label::before,.hero .side-label::after{content:"";width:1px;height:46px;background:linear-gradient(var(--gold),transparent);}
    /* paesaggio di montagne sfocato (destra) */
    .hero-landscape{position:absolute;top:0;right:0;width:62%;height:100%;z-index:0;
      background:url(assets/mountains.jpg) center 32%/cover no-repeat;
      filter:blur(3px) saturate(.82) brightness(.72) contrast(1.04);
      transform:scale(1.06);
      -webkit-mask:
        linear-gradient(90deg, transparent 0%, #000 46%),
        linear-gradient(180deg, transparent 2%, #000 26%, #000 76%, transparent 100%);
      -webkit-mask-composite:source-in;
      mask:
        linear-gradient(90deg, transparent 0%, #000 46%),
        linear-gradient(180deg, transparent 2%, #000 26%, #000 76%, transparent 100%);
      mask-composite:intersect;}
    .hero-tint{position:absolute;inset:0;z-index:1;pointer-events:none;
      background:
        radial-gradient(72% 64% at 76% 36%, rgba(28,52,92,.22), transparent 58%),
        linear-gradient(90deg, var(--ink-2) 0%, var(--ink-2) 22%, rgba(11,26,48,.6) 40%, rgba(11,26,48,0) 66%),
        linear-gradient(180deg, rgba(7,15,28,.5) 0%, transparent 24%, transparent 72%, rgba(7,15,28,.9) 100%);}
    .hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:46px;align-items:center;width:100%;}
    .hero-copy{max-width:650px;}
    .hero h1{font-size:clamp(44px,6.2vw,80px);font-weight:700;margin:22px 0 0;letter-spacing:.004em;line-height:.98;}
    .hero h1 .gold{color:var(--gold-bright);}
    .hero .tri{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.2em;font-size:clamp(13px,1.45vw,16px);color:var(--ivory);margin-top:24px;text-transform:uppercase;}
    .hero .tri b{color:var(--ivory);font-weight:600;}
    .hero .tri i{color:var(--gold);font-style:normal;font-size:9px;transform:translateY(-1px);}
    .hero .lead{font-size:17.5px;color:var(--text);max-width:520px;margin:26px 0 34px;line-height:1.72;}
    .hero-cta{display:flex;gap:18px;flex-wrap:wrap;align-items:center;}
    .hero-meta{margin-top:34px;font-family:'Oswald',sans-serif;letter-spacing:.18em;font-size:12.5px;color:var(--muted);text-transform:uppercase;display:flex;gap:16px;flex-wrap:wrap;}
    .hero-meta span{color:var(--gold);}

    /* hero visual */
    .hero h1 .gold{font-size:.92em;line-height:1;display:inline-block;margin-top:10px;}
    .hero-visual{position:relative;aspect-ratio:1/1.06;display:grid;place-items:center;}
    .hero-visual .enso{position:absolute;inset:0;z-index:1;pointer-events:none;transform-origin:center;}
    .enso .ring-spin{opacity:0;}
    @keyframes spin{to{transform:rotate(360deg);}}
    @media(min-width:561px){
      .enso .ring-spin{opacity:1;}
      .hero-visual .enso{animation:spin 11s linear infinite;}
    }
    @media(prefers-reduced-motion:reduce){.hero-visual .enso{animation:none;}.enso .ring-spin{opacity:0;}}
    .photo-ring{position:relative;z-index:2;width:82%;aspect-ratio:1/1;border-radius:50%;overflow:hidden;
      -webkit-mask:radial-gradient(circle at 50% 42%, #000 46%, rgba(0,0,0,.5) 64%, transparent 82%), linear-gradient(180deg, #000 52%, transparent 97%);
      -webkit-mask-composite:source-in;
      mask:radial-gradient(circle at 50% 42%, #000 46%, rgba(0,0,0,.5) 64%, transparent 82%), linear-gradient(180deg, #000 52%, transparent 97%);
      mask-composite:intersect;}
    .photo-ring img{width:100%;height:100%;object-fit:cover;object-position:50% 24%;filter:contrast(1.06) saturate(.78) brightness(.86);}
    .photo-ring .tint{position:absolute;inset:0;background:
      linear-gradient(0deg, rgba(30,56,100,.26), rgba(30,56,100,.05) 55%),
      linear-gradient(180deg, rgba(8,15,28,.06) 0%, rgba(8,15,28,0) 22%, rgba(8,15,28,.46) 70%, rgba(8,15,28,.96) 100%);}
    .hero-mtn{position:absolute;left:6%;right:6%;bottom:7%;z-index:4;opacity:.5;pointer-events:none;}
    .hero-mtn svg{width:100%;height:auto;}
    /* emblema METODO ZAC (al posto della foto) */
    .hero-emblem{position:relative;z-index:2;width:62%;aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
      background:radial-gradient(circle at 50% 48%, rgba(8,15,28,.6), rgba(8,15,28,0) 70%);}
    .hero-emblem .em-kicker{font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.46em;font-size:clamp(11px,1.4vw,17px);color:var(--gold);text-transform:uppercase;padding-left:.46em;}
    .hero-emblem .em-zac{font-family:'Oswald',sans-serif;font-weight:700;letter-spacing:.03em;font-size:clamp(56px,7.6vw,108px);line-height:.9;color:var(--ivory);margin-top:4px;text-shadow:0 6px 30px rgba(0,0,0,.5);}
    .hero-emblem .em-rule{width:clamp(64px,9vw,100px);height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:14px 0;}
    .hero-emblem .em-tri{display:flex;flex-direction:column;align-items:center;gap:4px;font-family:'Oswald',sans-serif;font-weight:500;letter-spacing:.18em;font-size:clamp(9px,1vw,12px);color:var(--muted);text-transform:uppercase;}
    .hero-emblem .em-tri i{font-style:normal;}
    /* foto fisico dentro al cerchio */
    .hero-photo{position:relative;z-index:2;width:84%;aspect-ratio:1/1;border-radius:50%;overflow:hidden;}
    .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;
      filter:grayscale(1) contrast(1.08) brightness(.9);}
    .hero-photo .hero-photo-veil{position:absolute;inset:0;border-radius:50%;pointer-events:none;
      background:radial-gradient(circle at 50% 42%, rgba(8,15,28,0) 52%, rgba(8,15,28,.55) 86%, rgba(8,15,28,.95) 100%);
      box-shadow:inset 0 0 40px 10px rgba(8,15,28,.55);}
    .hero-photo--bodybuilding{width:87%;box-shadow:0 36px 92px rgba(0,0,0,.55);}
    .hero-photo--bodybuilding img{object-position:50% 36%;filter:grayscale(1) contrast(1.16) brightness(.86) sepia(.08) hue-rotate(178deg) saturate(.82);transform:scale(1.04);}
    .hero-photo--bodybuilding .hero-photo-veil{background:
      radial-gradient(circle at 50% 36%, rgba(8,15,28,0) 36%, rgba(8,15,28,.08) 54%, rgba(8,15,28,.7) 86%, rgba(8,15,28,1) 100%),
      linear-gradient(180deg, rgba(10,19,38,0) 0%, rgba(10,19,38,.08) 50%, rgba(10,19,38,.82) 100%);
      box-shadow:inset 0 0 54px 18px rgba(8,15,28,.72);}
    .hero-logo-seal{position:absolute;z-index:5;right:8%;bottom:13%;width:92px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;
      background:rgba(6,12,24,.78);border:1px solid rgba(230,200,120,.38);box-shadow:0 18px 42px rgba(0,0,0,.42), inset 0 0 0 1px rgba(255,255,255,.04);backdrop-filter:blur(10px);}
    .hero-logo-seal::before{content:"";position:absolute;inset:9px;border-radius:50%;border:1px solid rgba(230,200,120,.22);}
    .hero-logo-seal img{width:78%;height:78%;object-fit:contain;border-radius:50%;}
    .hero-label{position:absolute;z-index:4;font-family:'Oswald',sans-serif;font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,238,220,.82);
      padding:8px 13px;border:1px solid rgba(230,200,120,.28);border-radius:999px;background:rgba(7,15,28,.54);box-shadow:0 14px 36px rgba(0,0,0,.26);backdrop-filter:blur(10px);}
    .hero-label::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);margin-right:9px;vertical-align:middle;box-shadow:0 0 14px rgba(230,200,120,.8);}
    .hero-label--top{top:9%;left:8%;}
    .hero-label--right{right:0;top:39%;}
    .hero-label--bottom{left:2%;bottom:17%;}
    /* variante: logo dentro al cerchio */
    .hero-photo--logo{background:#0A1326;}
    .hero-photo--logo img{object-fit:contain;object-position:50% 50%;filter:none;transform:scale(1.12);}

    /* variante hero centrata: niente medaglione, solo atmosfera zen + bodybuilding */
    .hero{
      min-height:94vh;
      padding:116px 0 54px;
      text-align:center;
      background:
        radial-gradient(70% 80% at 50% 38%,rgba(23,48,88,.42),transparent 58%),
        linear-gradient(180deg,#0B162A 0%,#07101F 100%);
    }
    .hero-landscape{
      left:0;right:0;top:auto;bottom:-4%;
      width:100%;height:58%;
      background:url(assets/mountains.jpg) center 42%/cover no-repeat;
      opacity:.56;
      filter:blur(4px) saturate(.72) brightness(.62) contrast(1.06);
      transform:scale(1.08);
      -webkit-mask:
        linear-gradient(180deg, transparent 0%, #000 36%, #000 72%, transparent 100%),
        linear-gradient(90deg, transparent 0%, #000 22%, #000 78%, transparent 100%);
      -webkit-mask-composite:source-in;
      mask:
        linear-gradient(180deg, transparent 0%, #000 36%, #000 72%, transparent 100%),
        linear-gradient(90deg, transparent 0%, #000 22%, #000 78%, transparent 100%);
      mask-composite:intersect;
    }
    .hero-tint{
      background:
        radial-gradient(58% 52% at 50% 35%,rgba(230,200,120,.08),transparent 62%),
        radial-gradient(70% 90% at 50% 100%,rgba(7,15,28,.3),rgba(7,15,28,.9) 82%),
        linear-gradient(180deg,rgba(7,15,28,.28) 0%,transparent 22%,rgba(7,15,28,.86) 100%);
    }
    .hero-center{
      position:relative;
      z-index:2;
      max-width:980px;
      margin:0 auto;
      display:flex;
      flex-direction:column;
      align-items:center;
      padding-top:0;
      transform:translateY(-10px);
    }
    .hero-title-wrap{
      position:relative;
      width:100%;
      display:grid;
      place-items:center;
      margin-top:16px;
      isolation:isolate;
    }
    .hero-title-wrap::before{
      content:"";
      position:absolute;
      z-index:0;
      left:50%;
      top:49%;
      width:min(980px,96vw);
      height:430px;
      transform:translate(-50%,-50%) scale(1.02);
      background:url(assets/mountains.jpg) center 41%/cover no-repeat;
      opacity:.48;
      filter:blur(5px) saturate(.7) brightness(.58) contrast(1.08);
      -webkit-mask:
        linear-gradient(180deg,transparent 0%,#000 20%,#000 74%,transparent 100%),
        linear-gradient(90deg,transparent 0%,#000 16%,#000 84%,transparent 100%);
      -webkit-mask-composite:source-in;
      mask:
        linear-gradient(180deg,transparent 0%,#000 20%,#000 74%,transparent 100%),
        linear-gradient(90deg,transparent 0%,#000 16%,#000 84%,transparent 100%);
      mask-composite:intersect;
    }
    .hero-title-stack{
      position:relative;
      z-index:4;
      display:flex;
      flex-direction:column;
      align-items:center;
    }
    .hero-center h1{
      position:relative;
      z-index:1;
      font-size:clamp(46px,5.4vw,84px);
      line-height:.95;
      max-width:860px;
      margin:0;
      text-align:center;
      background:linear-gradient(100deg,#EAE3D4 0%,#EAE3D4 40%,#FFFDF6 47%,#FFFFFF 50%,#FFFDF6 53%,#EAE3D4 60%,#EAE3D4 100%);
      background-size:280% 100%;
      background-position:130% 0;
      -webkit-background-clip:text;background-clip:text;
      -webkit-text-fill-color:transparent;color:transparent;
      filter:drop-shadow(0 26px 60px rgba(0,0,0,.5));
      animation:titleShine 8s linear 1.2s infinite;
    }
    @keyframes titleShine{0%{background-position:130% 0;}55%,100%{background-position:-30% 0;}}
    .hero-center h1 .gold{
      display:block;
      margin:18px 0 0;
      font-size:.62em;
      line-height:.95;
      -webkit-text-fill-color:var(--gold-bright);
      color:var(--gold-bright);
    }
    /* particelle dorate fluttuanti */
    .hero-embers{
      position:absolute;z-index:1;inset:50% auto auto 50%;
      width:min(720px,84vw);height:440px;
      transform:translate(-50%,-50%);
      pointer-events:none;overflow:visible;
    }
    .hero-embers span{
      position:absolute;bottom:8%;width:4px;height:4px;border-radius:50%;
      background:radial-gradient(circle,#F2D88A 0%,rgba(200,162,74,.5) 55%,transparent 75%);
      opacity:0;filter:blur(.3px);
      animation:emberRise linear infinite;
    }
    @keyframes emberRise{
      0%{transform:translateY(0) translateX(0) scale(.6);opacity:0;}
      12%{opacity:.9;}
      70%{opacity:.6;}
      100%{transform:translateY(-300px) translateX(14px) scale(1);opacity:0;}
    }
    .hero-embers span:nth-child(1){left:8%;animation-duration:9s;animation-delay:0s;}
    .hero-embers span:nth-child(2){left:20%;animation-duration:11s;animation-delay:2.4s;width:3px;height:3px;}
    .hero-embers span:nth-child(3){left:31%;animation-duration:8s;animation-delay:4.1s;}
    .hero-embers span:nth-child(4){left:43%;animation-duration:12s;animation-delay:1.2s;width:5px;height:5px;}
    .hero-embers span:nth-child(5){left:54%;animation-duration:10s;animation-delay:3.3s;}
    .hero-embers span:nth-child(6){left:63%;animation-duration:9.5s;animation-delay:5.5s;width:3px;height:3px;}
    .hero-embers span:nth-child(7){left:72%;animation-duration:11.5s;animation-delay:.6s;}
    .hero-embers span:nth-child(8){left:83%;animation-duration:8.5s;animation-delay:2.9s;width:5px;height:5px;}
    .hero-embers span:nth-child(9){left:91%;animation-duration:10.5s;animation-delay:4.7s;}
    .hero-embers span:nth-child(10){left:14%;animation-duration:13s;animation-delay:6.2s;width:3px;height:3px;}
    /* drift lento delle montagne (parallax mouse via JS) */
    .hero-title-wrap{--mx:0px;--my:0px;}
    .hero-title-wrap::before{
      animation:mtnDrift 22s ease-in-out infinite alternate;
      will-change:transform;
    }
    @keyframes mtnDrift{
      0%{transform:translate(calc(-50% + var(--mx)),calc(-50% + var(--my))) scale(1.02);}
      100%{transform:translate(calc(-50% - 14px + var(--mx)),calc(-50% - 4px + var(--my))) scale(1.05);}
    }
    .hero-katana{
      position:relative;
      z-index:2;
      width:min(500px,54vw);
      height:auto;
      margin-top:8px;
      filter:drop-shadow(0 10px 18px rgba(0,0,0,.28)) drop-shadow(0 0 18px rgba(200,162,74,.12));
      opacity:.94;
    }
    .hero-katana .katana-blade{fill:rgba(244,239,228,.76);}
    .katana-edge{stroke:#F6EFD9;stroke-width:1.25;stroke-linecap:round;opacity:.9;}
    .katana-back{stroke:rgba(200,162,74,.46);stroke-width:1.35;stroke-linecap:round;}
    .katana-guard{fill:#C8A24A;}
    .katana-handle{stroke:#9C7B30;stroke-width:8;stroke-linecap:round;}
    .katana-wrap{stroke:#E6C878;stroke-width:2;stroke-linecap:round;opacity:.88;}
    .katana-pommel{fill:#E6C878;}
    /* glint che scorre lungo la lama */
    .katana-glint{
      fill:none;stroke:#FFFDF5;stroke-width:2.4;stroke-linecap:round;
      filter:drop-shadow(0 0 4px rgba(255,250,225,.9));
      stroke-dasharray:34 600;stroke-dashoffset:430;
      animation:katanaGlint 11s ease-in-out 1.6s infinite;
    }
    @keyframes katanaGlint{
      0%{stroke-dashoffset:430;opacity:0;}
      8%{opacity:1;}
      40%{stroke-dashoffset:-180;opacity:1;}
      48%,100%{stroke-dashoffset:-180;opacity:0;}
    }
    .zen-stroke{
      position:absolute;
      z-index:1;
      width:min(760px,86vw);
      top:50%;
      left:50%;
      transform:translate(-50%,-50%);
      pointer-events:none;
      overflow:visible;
      opacity:.9;
    }
    .zen-stroke path{
      fill:none;
      stroke-linecap:round;
      stroke-linejoin:round;
      vector-effect:non-scaling-stroke;
    }
    .zen-arc{
      stroke:url(#zenGold);
      stroke-width:2;
      filter:drop-shadow(0 0 10px rgba(200,162,74,.18));
      stroke-dasharray:560;
      stroke-dashoffset:560;
    }
    .arc-top{animation:zenDraw 1.3s var(--ease) .3s forwards;}
    .arc-bot{animation:zenDraw 1.3s var(--ease) .5s forwards;}
    @keyframes zenDraw{to{stroke-dashoffset:0;}}
    @keyframes titleOrbit{to{transform:translate(-50%,-50%) rotate(360deg);}}
    .zen-grid{
      position:absolute;
      z-index:0;
      inset:50% auto auto 50%;
      width:min(760px,92vw);
      height:190px;
      transform:translate(-50%,-18%);
      background:
        linear-gradient(90deg,transparent,rgba(200,162,74,.18),transparent) 0 0/100% 1px no-repeat,
        repeating-linear-gradient(90deg,rgba(230,200,120,.10) 0 1px,transparent 1px 92px);
      opacity:.34;
      -webkit-mask:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);
      mask:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);
    }
    .hero-center .eyebrow{justify-content:center;}
    .hero-center .tri{justify-content:center;margin-top:30px;}
    .hero-center .lead{
      max-width:660px;
      margin:28px auto 36px;
      font-size:18px;
      line-height:1.78;
      color:#C8D3E2;
    }
    .lead-accent{display:block;margin-top:14px;color:var(--ivory);}
    .lead-accent b{color:var(--gold-bright);font-weight:600;font-style:normal;}
    .hero-center .hero-cta{justify-content:center;}
    .hero-center .hero-meta{justify-content:center;margin-top:38px;}
    @media(prefers-reduced-motion:reduce){
      .zen-arc{animation:none;stroke-dashoffset:0;}
      .katana-glint{display:none;}
      .hero-embers{display:none;}
      .hero-title-wrap::before{animation:none;}
      .hero-center h1{animation:none;background-position:50% 0;-webkit-text-fill-color:#EAE3D4;}
      .hero-center h1 .gold{-webkit-text-fill-color:var(--gold-bright);}
    }

    .zen-stroke defs{display:none;}
    @media(max-width:980px){
      .hero-grid{grid-template-columns:1fr;gap:30px;}
      .hero-visual{max-width:420px;margin:0 auto;order:-1;}
      .hero .side-label{display:none;}
    }

    /* ---------- LIGHT BANDS ---------- */
    .band-light{background:var(--light);color:var(--ink-on-light);position:relative;}
    .band-light h2,.band-light h3,.band-light h4{color:var(--ink-on-light);}
    .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:72px 0;}
    .pillar{padding:0 40px;display:flex;gap:24px;align-items:flex-start;}
    .pillar + .pillar{border-left:1px solid var(--line-dark);}
    .pillar .ic{flex:none;width:72px;height:72px;border-radius:50%;background:var(--navy);display:grid;place-items:center;
      transition:transform .45s var(--ease),box-shadow .45s var(--ease);}
    .pillar:hover .ic{transform:translateY(-5px);box-shadow:0 16px 30px -14px rgba(15,30,56,.55);}
    .pillar .ic svg{width:38px;height:38px;transition:transform .45s var(--ease);}
    .pillar:hover .ic svg{transform:scale(1.1) rotate(-3deg);}
    .pillar h3{font-size:20px;letter-spacing:.06em;margin-bottom:10px;}
    .pillar p{font-size:14.5px;color:#41506a;line-height:1.6;}
    @media(max-width:860px){.pillars{grid-template-columns:1fr;gap:8px;padding:48px 0;}.pillar{padding:24px 0;}.pillar + .pillar{border-left:none;border-top:1px solid var(--line-dark);}}

    /* ---------- PROOF · numeri reali ---------- */
    .proof{padding:94px 0;background:var(--ink);border-top:1px solid var(--line-soft);}
    .proof-head{text-align:center;margin-bottom:50px;}
    .proof-head .eyebrow{justify-content:center;}
    .proof-head h2{font-size:clamp(30px,3.6vw,44px);margin-top:16px;line-height:1.04;}
    .proof-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1000px;margin:0 auto;}
    .proof-stat{display:flex;flex-direction:column;align-items:center;text-align:center;padding:14px 20px;}
    .proof-stat + .proof-stat{border-left:1px solid var(--line-soft);}
    .proof-stat .pv{font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(40px,5vw,58px);line-height:1;color:var(--gold-bright);letter-spacing:.01em;}
    .proof-stat .pv i{font-style:normal;font-size:.42em;font-weight:600;color:var(--gold);margin-left:3px;}
    .proof-stat .pl{margin-top:14px;font-family:'Oswald',sans-serif;font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-wrap:balance;}
    .proof .link-more{display:flex;width:fit-content;margin:44px auto 0;}
    @media(max-width:720px){
      .proof{padding:72px 0;}
      .proof-grid{grid-template-columns:1fr 1fr;}
      .proof-stat{padding:22px 14px;}
      .proof-stat:nth-child(3),.proof-stat:nth-child(4){border-top:1px solid var(--line-soft);}
      .proof-stat:nth-child(3){border-left:none;}
    }

    /* ---------- SECTION SHELL ---------- */
    section{position:relative;}
    .fasi{padding:110px 0 120px;background:linear-gradient(180deg,var(--ink) 0%,#0B1830 100%);}
    .fasi-head{display:grid;grid-template-columns:.82fr 2.18fr;gap:48px;align-items:start;}
    .fhead h2{font-size:clamp(34px,4vw,48px);margin:18px 0 26px;line-height:.98;}
    .fhead h2 .nowrap{white-space:nowrap;}
    .fhead h2 .gold{color:var(--gold-bright);font-size:.88em;line-height:1;display:inline-block;margin-top:8px;}
    /* link "Scopri le fasi" — non più bottone */
    .link-more{display:inline-flex;align-items:center;gap:11px;font-family:'Oswald',sans-serif;font-weight:600;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-bright);text-decoration:none;padding-bottom:6px;position:relative;transition:gap .25s;}
    .link-more::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:38px;background:var(--gold);transition:width .3s;}
    .link-more:hover{gap:15px;}
    .link-more:hover::after{width:100%;}
    .link-more .arr{transition:transform .25s;}
    .link-more:hover .arr{transform:translateX(3px);}
    .link-more--dark{color:#9C7B30;}
    .link-more--dark::after{background:#9C7B30;}
    .fhead p{color:#C9D4E2;font-size:16px;line-height:1.8;margin:0 0 30px;max-width:332px;
      padding-left:20px;border-left:2px solid var(--line);text-wrap:pretty;}

    .fasi-note{max-width:640px;margin:56px auto 0;text-align:center;color:#C9D4E2;font-size:17px;line-height:1.8;text-wrap:pretty;}
    .fasi-note::before{content:"";display:block;width:46px;height:2px;background:var(--gold);margin:0 auto 26px;}
    .phase-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
    .pcard{background:linear-gradient(180deg,#10213C,#0C1A30);border:1px solid var(--line-soft);border-radius:6px;padding:26px 18px 28px;text-align:center;position:relative;
      display:flex;flex-direction:column;align-items:center;
      transition:transform .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease);}
    .pcard:hover{transform:translateY(-8px);border-color:var(--line);box-shadow:0 26px 50px -22px rgba(0,0,0,.7);}
    .pcard .fase{font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.24em;font-size:11px;color:var(--gold);text-transform:uppercase;height:16px;}
    .pcard .picon{height:48px;display:grid;place-items:center;margin:18px 0 10px;}
    .pcard .picon svg{width:44px;height:44px;}
    .pcard h3{font-size:16.5px;line-height:1.18;letter-spacing:.04em;margin:0 0 16px;height:42px;display:flex;align-items:center;justify-content:center;text-wrap:balance;}
    .pcard .belt{height:50px;display:grid;place-items:center;margin-bottom:18px;}
    .pcard .belt .belt-svg{width:116px;height:auto;display:block;filter:drop-shadow(0 7px 9px rgba(0,0,0,.45));}
    .pcard p{font-size:13px;color:#9fb0c6;line-height:1.55;text-wrap:balance;margin-top:0;}
    .phase-arrows{display:none;}

    /* ---------- LINEA DI PROGRESSO (tu sei qui) ---------- */
    /* il row-gap di .fasi-head è 48px: il margine negativo avvicina la track alle card */
    .phase-track{grid-column:2;position:relative;margin-top:-18px;display:grid;grid-template-columns:repeat(5,1fr);}
    /* linea di base sottile: unisce i centri del primo e dell'ultimo pallino
       (colonne da 20% → centri a 10% e 90%); i pallini hanno 22px → centro a 11px */
    .phase-track::before{content:"";position:absolute;top:11px;left:10%;right:10%;height:1px;
      background:var(--line-soft);}
    /* tratto "completato": parte in oro dal primo pallino e sfuma lungo il percorso */
    .phase-track::after{content:"";position:absolute;top:10px;left:10%;width:26%;height:2px;
      background:linear-gradient(90deg,var(--gold-bright),rgba(200,162,74,0));}
    .pt-step{position:relative;display:flex;flex-direction:column;align-items:center;}
    /* tratto verticale che collega il fondo di ogni card al suo pallino */
    .pt-step::before{content:"";position:absolute;left:50%;top:-30px;width:1px;height:30px;
      background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.04));}
    /* pallino = mini-cintura: pieno del colore della fase, numerale romano dentro */
    .pt-dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;
      font-family:'Oswald',sans-serif;font-weight:600;font-size:9.5px;line-height:1;letter-spacing:.04em;
      background:var(--pc,#22304A);color:var(--pn,var(--ivory));border:1px solid rgba(255,255,255,.16);
      position:relative;z-index:1;box-shadow:0 4px 10px rgba(0,0,0,.35);}
    .pt-step:nth-child(1) .pt-dot{--pn:#10203A;}
    .pt-step:nth-child(2) .pt-dot{--pn:#15100a;}
    .pt-step:nth-child(5) .pt-dot{--pn:var(--gold);} /* cintura nera con numerale oro, come i gradi dan */
    .pt-step.active .pt-dot{border-color:var(--gold-bright);
      box-shadow:0 0 0 4px rgba(230,200,120,.14),0 0 16px rgba(230,200,120,.4);}
    .pt-you{margin-top:10px;display:flex;flex-direction:column;align-items:center;gap:1px;
      font-family:'Oswald',sans-serif;font-weight:600;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-bright);white-space:nowrap;}
    .pt-arr{color:var(--gold-bright);font-size:12px;letter-spacing:0;line-height:1;}
    @media(max-width:1040px){
      .fasi-head{grid-template-columns:1fr;gap:24px;}
      .fhead p{max-width:none;}
      .phase-cards{grid-template-columns:repeat(2,1fr);}
      .phase-track{grid-column:1;max-width:420px;margin:30px auto 0;width:100%;}
      /* le card sono su più righe: i tratti verticali non hanno più una card da collegare */
      .pt-step::before{display:none;}
    }
    @media(max-width:560px){
      .phase-cards{grid-template-columns:1fr;max-width:360px;margin:0 auto;}
      .phase-track{max-width:300px;}
    }

    /* ---------- SAI SEMPRE DOVE SEI (anteprima app) ---------- */
    .dove-sei{padding:110px 0 120px;background:linear-gradient(180deg,#0B1830,var(--ink));border-top:1px solid var(--line-soft);}
    .ds-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center;max-width:1060px;margin:0 auto;}
    .ds-text h2{font-size:clamp(34px,4vw,48px);margin:18px 0 22px;line-height:1.02;}
    .ds-lead{color:#C9D4E2;font-size:16px;line-height:1.8;max-width:400px;margin-bottom:28px;text-wrap:pretty;}
    .ds-list{list-style:none;}
    .ds-list li{display:flex;align-items:baseline;gap:14px;padding:11px 0;border-top:1px solid var(--line-soft);color:var(--text);font-size:15px;}
    .ds-list li:last-child{border-bottom:1px solid var(--line-soft);}
    .ds-list li::before{content:"✓";color:var(--gold-bright);font-weight:700;font-size:14px;}
    /* card fase attuale */
    .ds-card{position:relative;background:linear-gradient(180deg,#10213C,#0C1A30);border:1px solid var(--line);border-radius:10px;padding:34px 34px 30px;
      box-shadow:0 30px 60px -30px rgba(0,0,0,.7);}
    .ds-row{display:flex;align-items:center;justify-content:space-between;gap:20px;}
    .ds-label{font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.22em;font-size:11px;color:var(--gold);text-transform:uppercase;}
    .ds-fase{font-family:'Oswald',sans-serif;font-weight:700;font-size:44px;letter-spacing:.02em;color:var(--ivory);text-transform:uppercase;line-height:1.1;margin-top:8px;}
    .ds-sub{font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.14em;font-size:12.5px;color:#9fb0c6;text-transform:uppercase;margin-top:4px;}
    .ds-belt{width:120px;height:auto;flex:none;filter:drop-shadow(0 7px 9px rgba(0,0,0,.45));}
    .ds-progress{margin-top:26px;padding-top:22px;border-top:1px solid var(--line-soft);}
    .ds-plabel{display:flex;justify-content:space-between;align-items:baseline;font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.18em;font-size:11px;color:var(--gold);text-transform:uppercase;margin-bottom:12px;}
    .ds-plabel b{font-size:16px;letter-spacing:.04em;color:var(--ivory);}
    .ds-bar{height:8px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden;}
    .ds-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--gold),var(--gold-bright));
      box-shadow:0 0 14px rgba(230,200,120,.4);}
    .ds-next{margin-top:26px;padding-top:22px;border-top:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;gap:20px;}
    .ds-next p{color:var(--ivory);font-size:15px;line-height:1.5;margin-top:10px;}
    .ds-belt--next{width:88px;opacity:.9;}
    @media(max-width:900px){
      .ds-grid{grid-template-columns:1fr;gap:48px;}
      .ds-card{max-width:480px;}
      .ds-fase{font-size:38px;}
    }

    /* ---------- FEATURES BAND ---------- */
    .features{display:grid;grid-template-columns:repeat(4,1fr) 1.5fr;gap:0;padding:60px 0;align-items:center;}
    .feat{padding:8px 30px;display:flex;gap:18px;align-items:flex-start;}
    .feat + .feat{border-left:1px solid var(--line-dark);}
    .feat .fic{flex:none;width:40px;height:40px;display:grid;place-items:center;}
    .feat .fic svg{width:30px;height:30px;}
    .feat h4{font-size:15px;letter-spacing:.08em;margin-bottom:6px;}
    .feat p{font-size:13px;color:#41506a;line-height:1.5;}
    .feat-cta{margin-left:24px;border:1.5px solid var(--gold);border-radius:6px;padding:26px 28px;background:rgba(200,162,74,.06);}
    .feat-cta h4{font-size:16px;letter-spacing:.08em;margin-bottom:8px;}
    .feat-cta p{font-size:13.5px;color:#41506a;margin-bottom:18px;line-height:1.5;}
    @media(max-width:1100px){
      .features{grid-template-columns:repeat(2,1fr);gap:20px 0;}
      .feat{padding:18px 24px;border-left:none !important;}
      .feat:nth-child(even){border-left:1px solid var(--line-dark) !important;}
      .feat-cta{grid-column:1/-1;margin-left:0;margin-top:8px;}
    }
    @media(max-width:560px){.features{grid-template-columns:1fr;}.feat:nth-child(even){border-left:none !important;}}

    /* ---------- CHI SONO ---------- */
    #chi-sono{padding:120px 0;background:var(--ink);border-top:1px solid var(--line-soft);}
    .about-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:64px;align-items:center;}
    .portrait{position:relative;aspect-ratio:4/5;border-radius:4px;overflow:hidden;border:1px solid var(--line-soft);background:#0A1526;}
    .portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%;z-index:0;
      filter:contrast(1.05) saturate(.96) brightness(.98);}
    .portrait::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
      background:linear-gradient(180deg, rgba(8,15,28,.10) 0%, transparent 26%, rgba(8,15,28,.12) 70%, rgba(8,15,28,.55) 100%);}
    .portrait::before{content:"";position:absolute;inset:14px;border:1px solid var(--line);pointer-events:none;z-index:2;}
    .about h2{font-size:clamp(32px,4.4vw,50px);line-height:1.16;margin:18px 0 22px;}
    .about p{color:var(--text);margin-bottom:18px;font-size:16px;line-height:1.75;}
    .creds{list-style:none;margin-top:28px;}
    .creds li{display:flex;gap:20px;align-items:baseline;padding:16px 0;border-top:1px solid var(--line-soft);}
    .creds li:last-child{border-bottom:1px solid var(--line-soft);}
    .creds .k{font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.06em;color:var(--gold-bright);font-size:16px;min-width:120px;text-transform:uppercase;}
    .creds .v{color:var(--text);font-size:14.5px;}
    @media(max-width:860px){.about-grid{grid-template-columns:1fr;gap:40px;}.portrait{max-width:320px;}}

    /* ---------- RISULTATI (zig-zag come Il Metodo) ---------- */
    .res-list{max-width:1120px;margin:10px auto 0;}
    .res-card{position:relative;display:grid;grid-template-columns:minmax(340px,440px) minmax(0,1fr);align-items:center;gap:60px;padding:60px 0;}
    .res-card::before{content:"";position:absolute;top:0;left:50%;width:min(100%,900px);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--line-soft),rgba(200,162,74,.22),var(--line-soft),transparent);}
    .res-card:first-of-type::before{display:none;}
    .res-card:nth-child(even){grid-template-columns:minmax(0,460px) minmax(340px,440px);justify-content:start;gap:38px;}
    .res-card:nth-child(even) .res-ba{order:2;}
    .res-card:nth-child(even) .res-info{order:1;}
    /* l'articolo non si anima: animano i due lati (reveal direzionale) */
    .res-card.reveal{opacity:1;transform:none;}
    .res-card .res-ba,.res-card .res-info{opacity:0;transition:opacity .8s var(--ease),transform .8s var(--ease);}
    .res-card .res-ba{transform:translateX(-28px);}
    .res-card .res-info{transform:translateX(28px);}
    .res-card:nth-child(even) .res-ba{transform:translateX(28px);}
    .res-card:nth-child(even) .res-info{transform:translateX(-28px);}
    .res-card.in .res-ba,.res-card.in .res-info{opacity:1;transform:none;}
    /* blocco foto prima/dopo */
    .res-ba{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#0A1628;aspect-ratio:1/1;border:1px solid var(--line-soft);border-radius:14px;overflow:hidden;box-shadow:0 20px 44px rgba(0,0,0,.42);}
    .res-shot{position:relative;overflow:hidden;}
    .res-shot img{width:100%;height:100%;object-fit:cover;display:block;}
    .res-shot.prima img{filter:grayscale(1) brightness(.66) contrast(.95);}
    .res-shot.dopo img{filter:saturate(1.06) contrast(1.04);}
    .res-shot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,18,40,.05),rgba(10,18,40,.55));}
    .res-shot .tag{position:absolute;left:12px;bottom:12px;z-index:2;font-family:'Oswald',sans-serif;font-weight:600;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;padding:5px 10px;border-radius:999px;backdrop-filter:blur(3px);}
    .res-shot.prima .tag{color:#C7D2E0;background:rgba(20,32,56,.6);border:1px solid var(--line-soft);}
    .res-shot.dopo .tag{color:#15100a;background:var(--gold);border:1px solid var(--gold-bright);}
    .res-ba .divider{position:absolute;top:0;bottom:0;left:50%;width:1px;transform:translateX(-50%);background:linear-gradient(180deg,transparent,rgba(200,162,74,.5),transparent);z-index:3;}
    /* lato info */
    .res-info{display:flex;flex-direction:column;justify-content:center;}
    .res-name{font-family:'Oswald',sans-serif;font-weight:600;font-size:clamp(24px,3vw,32px);letter-spacing:.03em;color:var(--ivory);text-transform:uppercase;line-height:1;}
    .res-meta{font-size:12.5px;color:var(--gold-bright);font-family:'Oswald',sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-top:9px;}
    .res-metrics{list-style:none;margin:24px 0 0;max-width:380px;}
    .res-metrics li{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:14px;padding:11px 0;border-top:1px solid var(--line-soft);}
    .res-metrics li:first-child{border-top:0;}
    .res-metrics .ml{font-size:13.5px;color:var(--text);}
    .res-vals{display:flex;align-items:center;gap:8px;font-family:'Oswald',sans-serif;font-weight:600;white-space:nowrap;}
    .res-vals .bf{color:var(--muted);font-size:14px;}
    .res-vals .ar{color:var(--gold);font-size:11px;}
    .res-vals .af{color:var(--ivory);font-size:16px;}
    .res-vals .un{color:var(--muted);font-size:11.5px;font-weight:500;margin-left:1px;}
    .res-quote{margin-top:22px;padding-top:18px;border-top:1px solid var(--line-soft);font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:15.5px;line-height:1.55;color:var(--text);max-width:480px;}
    .res-disc{margin-top:48px;font-size:12.5px;color:var(--muted);letter-spacing:.02em;text-align:center;}
    @media(prefers-reduced-motion:reduce){.res-card .res-ba,.res-card .res-info{opacity:1;transform:none;}}
    @media(max-width:820px){
      .res-card,.res-card:nth-child(even){grid-template-columns:1fr;gap:26px;padding:44px 0;}
      .res-card:nth-child(even) .res-ba{order:1;}.res-card:nth-child(even) .res-info{order:2;}
      .res-card .res-ba,.res-card:nth-child(even) .res-ba,.res-card .res-info,.res-card:nth-child(even) .res-info{transform:translateY(22px);}
      .res-card.in .res-ba,.res-card.in .res-info{transform:none;}
      .res-ba{aspect-ratio:3/2;}
    }

    /* ---------- PROGRAMMA GRATUITO ---------- */
    #programma{padding:120px 0;background:linear-gradient(180deg,#0B1830,var(--ink));position:relative;overflow:hidden;}
    #programma::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 90% at 50% 0%,rgba(200,162,74,.10),transparent 60%);}
    .prog-card{position:relative;max-width:760px;margin:0 auto;text-align:center;background:linear-gradient(180deg,#10213C,#0C1A30);border:1px solid var(--line);border-radius:10px;padding:56px 48px;}
    .prog-card h2{font-size:clamp(30px,4.6vw,52px);margin:16px 0 14px;}
    .prog-card h2 .gold{color:var(--gold-bright);}
    .prog-card p{color:var(--text);font-size:16px;max-width:520px;margin:0 auto 30px;line-height:1.7;}
    .prog-form{display:flex;gap:12px;max-width:480px;margin:0 auto;flex-wrap:wrap;}
    .prog-form input{flex:1;min-width:220px;background:rgba(255,255,255,.04);border:1px solid var(--line-soft);border-radius:3px;padding:15px 18px;color:var(--ivory);font-family:'Archivo',sans-serif;font-size:15px;}
    .prog-form input::placeholder{color:var(--muted);}
    .prog-form input:focus{outline:none;border-color:var(--gold);}
    .program-live-cta{width:fit-content;margin:28px auto 0;}
    .prog-steps{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin-top:34px;}
    .prog-steps span{font-family:'Oswald',sans-serif;letter-spacing:.14em;font-size:12px;color:var(--muted);text-transform:uppercase;display:flex;align-items:center;gap:9px;}
    .prog-steps span i{width:22px;height:22px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--gold-bright);font-style:normal;font-size:11px;font-family:'Oswald',sans-serif;}

    /* ---------- FOOTER ---------- */
    footer{border-top:1px solid var(--line-soft);padding:60px 0 40px;background:var(--ink);}
    footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;}
    footer .links{display:flex;gap:28px;flex-wrap:wrap;}
    footer .links a{text-decoration:none;color:var(--text);font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:.1em;text-transform:uppercase;transition:color .3s;}
    footer .links a:hover{color:var(--gold-bright);}
    .foot-note{max-width:1240px;margin:34px auto 0;padding:24px 32px 0;border-top:1px solid var(--line-soft);color:var(--muted);font-size:12.5px;letter-spacing:.04em;}

    /* reveal */
    .reveal{opacity:0;transform:translateY(26px);transition:opacity .85s var(--ease),transform .85s var(--ease);}
    .reveal.in{opacity:1;transform:none;}
    .reveal.d1{transition-delay:.07s;}.reveal.d2{transition-delay:.14s;}.reveal.d3{transition-delay:.21s;}.reveal.d4{transition-delay:.28s;}.reveal.d5{transition-delay:.35s;}

/* ---------- CONTATTI ---------- */
.contact{padding:110px 0;background:var(--ink);border-top:1px solid var(--line-soft);position:relative;overflow:hidden;}
.contact::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 100% at 50% 0%,rgba(200,162,74,.10),transparent 60%);}
.contact .wrap{position:relative;}
.contact-card{max-width:680px;margin:0 auto;text-align:center;}
.contact-card h2{font-size:clamp(34px,5vw,58px);margin:14px 0 16px;}
.contact-card>p{color:var(--text);font-size:17px;line-height:1.7;max-width:480px;margin:0 auto 30px;}
.contact-ig{gap:11px;}
.contact-ig svg{flex:none;}
.contact-handle{color:var(--gold-bright);font-family:'Oswald',sans-serif;letter-spacing:.16em;font-size:13px;text-transform:uppercase;margin-top:20px;}

/* ---------- RIFINITURE MOBILE ---------- */
@media(max-width:560px){
  .wrap{padding:0 22px;}
  /* nav: niente tagline che va a capo */
  .brand .bt .b2{display:none;}
  .brand .bt .b1{font-size:20px;}
  .brand .mark{width:44px;height:44px;}
  nav .wrap{height:74px;}
  .hero{padding:108px 0 56px;}
  .hero-visual{max-width:300px;margin:0 auto;}
  .hero-photo{width:86%;}
  .hero h1{font-size:40px;}
  .hero .lead{max-width:100%;}
  .hero-meta{font-size:11px;letter-spacing:.12em;}
  .hero-emblem{width:58%;}
  .hero-emblem .em-zac{font-size:46px;}
  .hero-emblem .em-kicker{font-size:10px;letter-spacing:.4em;}
  .hero-emblem .em-rule{margin:11px 0 0;width:54px;}
  .section-head h2,.fhead h2,.about h2,.prog-card h2,.contact-card h2,.cta-band h2,.method-cta h2{font-size:32px;line-height:1.12;}
  .sectionHeaderTitle{font-size:34px;}
  .phase-cards{gap:12px;}
  .pcard{padding:18px 16px 20px;}
  .pcard .fase{height:auto;font-size:10px;}
  .pcard .picon{height:36px;margin:10px 0 6px;}
  .pcard .picon svg{width:34px;height:34px;}
  .pcard h3{height:auto;min-height:38px;margin:0 0 8px;font-size:16px;}
  .pcard .belt{height:38px;margin-bottom:8px;}
  .pcard .belt .belt-svg{width:90px;}
  .pcard p{font-size:12.5px;line-height:1.45;margin-bottom:0;max-width:290px;}
  .feat-cta{padding:24px 22px;}
  footer .wrap{flex-direction:column;align-items:flex-start;gap:22px;}
}

/* ---------- MOBILE: sezioni pi\u00f9 compatte e leggibili ---------- */
@media(max-width:720px){
  .proof{padding:64px 0;}
  .proof-head{margin-bottom:36px;}
  .fasi{padding:64px 0 72px;}
  .dove-sei{padding:64px 0 72px;}
  #chi-sono{padding:64px 0;}
  #programma{padding:64px 0;}
  .contact{padding:64px 0;}
  .prog-card{padding:38px 26px;}
  .contact-card>p,.ds-lead{font-size:15.5px;}
  .fasi-note{margin-top:36px;font-size:15.5px;}
  .about h2{margin:14px 0 18px;}
  .about p{font-size:15.5px;margin-bottom:15px;}
}
