*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
  :root{
    --bg-primary:#050505;
    --bg-card:#0F0A10;
    --bg-raised:#141018;
    --text-primary:#ffffff;
    --text-secondary:#a1a1aa;
    --text-muted:#71717a;
    --accent-pink:#FF00B7;
    --accent-purple:#a855f7;
    --accent-green:#00D8AE;
    /* palette chiara del brand profile: tenuta come riferimento, non piu usata in pagina */
    --l-bg:#FFFFFF;
    --l-surface:#F4F4F5;
    --l-title:#050505;
    --l-body:#52525B;
    --l-pink:#C4008C;
    --l-purple:#7C3AED;
    --l-border:rgba(0,0,0,0.08);
    --border-color:rgba(255,255,255,0.08);
    --border-hover:rgba(255,255,255,0.15);
    --gradient-main:linear-gradient(to right,#FF00B7,#a855f7);
    --radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;
  }
  html{scroll-behavior:smooth;overflow-x:hidden;}
  body{font-family:'Poppins',sans-serif;background:var(--bg-primary);color:var(--text-primary);
    -webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden;}
  .container{max-width:1280px;margin:0 auto;padding:0 32px;position:relative;z-index:2;}
  a{color:inherit;text-decoration:none;}
  .text-gradient{background:var(--gradient-main);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}

  /* ---------- NAV ---------- */
  nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(5,5,5,0.82);backdrop-filter:blur(14px);
    border-bottom:1px solid var(--border-color);}
  .nav-inner{max-width:1280px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
  .brand{display:flex;align-items:center;gap:12px;}
  .brand .nome{font-weight:800;letter-spacing:0.16em;font-size:15px;text-transform:uppercase;white-space:nowrap;}
  .kt{margin-right:-0.055em;}
  .kw{margin-right:0.03em;}
  .brand .nome .a{color:var(--accent-pink);}
  .nav-links{display:flex;gap:28px;list-style:none;}
  .nav-links a{font-size:14px;color:var(--text-secondary);transition:color .2s;}
  .nav-links a:hover{color:var(--text-primary);}
  .btn-primary{background:var(--accent-pink);color:#fff;border:none;padding:11px 22px;border-radius:var(--radius-full);
    font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s,opacity .2s;white-space:nowrap;}
  .btn-primary:hover{transform:translateY(-1px);opacity:.92;}
  .btn-ghost{background:transparent;color:var(--text-primary);border:1px solid var(--border-hover);
    padding:11px 22px;border-radius:var(--radius-full);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:border-color .2s;white-space:nowrap;}
  .btn-ghost:hover{border-color:var(--accent-pink);}

  /* ---------- HERO ---------- */
  .hero{padding:160px 0 110px;position:relative;overflow:hidden;
    background:linear-gradient(to bottom,#050505 0%,#050505 72%,#0B080D 100%);}
  .hero .glow{position:absolute;top:-14%;left:50%;transform:translateX(-50%);
    width:1000px;height:660px;background:radial-gradient(ellipse at center,rgba(255,0,183,0.18),transparent 64%);pointer-events:none;z-index:0;}
  .hero .glow2{position:absolute;top:22%;right:-8%;width:520px;height:520px;
    background:radial-gradient(circle at center,rgba(168,85,247,0.13),transparent 66%);pointer-events:none;z-index:0;}
  /* texture di brand: le tre forme del repertorio, mai il marchio */
  .tex{position:absolute;inset:0;z-index:0;pointer-events:none;}
  /* il cerchio piccolo */
  .tex-dots{
    background-image:radial-gradient(rgba(255,255,255,0.20) 1.2px,transparent 1.2px);
    background-size:24px 24px;
    -webkit-mask-image:radial-gradient(ellipse 72% 64% at 50% 42%,#000 22%,transparent 82%);
    mask-image:radial-gradient(ellipse 72% 64% at 50% 42%,#000 22%,transparent 82%);}
  /* il rettangolo ad angoli morbidi, sfalsato come una griglia di schede fantasma */
  .tex-cards{
    background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='190' height='128'%3E%3Crect x='14' y='12' width='72' height='46' rx='7' fill='none' stroke='%23ffffff' stroke-opacity='0.038'/%3E%3Crect x='104' y='38' width='72' height='46' rx='7' fill='none' stroke='%23ffffff' stroke-opacity='0.038'/%3E%3C/svg%3E");
    background-size:190px 128px;
    -webkit-mask-image:linear-gradient(to bottom,transparent,#000 32%,#000 68%,transparent);
    mask-image:linear-gradient(to bottom,transparent,#000 32%,#000 68%,transparent);}
  /* la linea sottile, all'angolo del marchio */
  .tex-diag{
    background-image:repeating-linear-gradient(45deg,rgba(255,255,255,0.022) 0 1px,transparent 1px 15px);
    -webkit-mask-image:linear-gradient(to bottom,transparent,#000 35%,#000 65%,transparent);
    mask-image:linear-gradient(to bottom,transparent,#000 35%,#000 65%,transparent);}
  .hero-inner{text-align:center;max-width:920px;margin:0 auto;}
  .tag{display:inline-flex;align-items:center;gap:8px;padding:7px 18px;border:1px solid var(--accent-pink);color:var(--accent-pink);
    border-radius:var(--radius-full);font-size:12px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
    background:rgba(255,0,183,0.06);margin-bottom:28px;}
  .tag .dot{width:6px;height:6px;border-radius:50%;background:var(--accent-pink);}
  .hero h1{font-size:60px;font-weight:900;line-height:1.08;letter-spacing:-0.02em;margin-bottom:24px;}
  .hero .lead{font-size:19px;color:var(--text-secondary);max-width:730px;margin:0 auto 20px;}
  .hero .lead strong{color:var(--text-primary);font-weight:600;}
  .hero .claim{font-size:15px;color:var(--text-muted);font-style:italic;margin-bottom:36px;}
  .hero-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

  /* ---------- SEZIONI ---------- */
  section{padding:96px 0;position:relative;}
  .sec-head{text-align:center;max-width:780px;margin:0 auto 56px;}
  .sec-tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;
    color:var(--accent-pink);margin-bottom:14px;}
  .sec-head h2{font-size:42px;font-weight:800;line-height:1.15;letter-spacing:-0.01em;margin-bottom:16px;}
  .sec-head p{font-size:16px;color:var(--text-secondary);}
  .sec-head p strong{color:var(--text-primary);font-weight:600;}

  .ico-box{width:52px;height:52px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;
    background:rgba(255,0,183,0.09);border:1px solid rgba(255,0,183,0.22);color:var(--accent-pink);flex:none;}
  .ico-box.pp{background:rgba(168,85,247,0.09);border-color:rgba(168,85,247,0.24);color:var(--accent-purple);}

  /* ---------- SERVIZI ---------- */
  .bivio{background:linear-gradient(to bottom,#0B080D 0%,var(--bg-card) 26%,var(--bg-card) 74%,#0A070B 100%);}
  .due{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  .strada{background:var(--bg-raised);border:1px solid var(--border-color);border-radius:var(--radius-xl);
    padding:38px;display:flex;flex-direction:column;gap:18px;position:relative;overflow:hidden;transition:border-color .2s,transform .2s;}
  .strada:hover{border-color:var(--border-hover);transform:translateY(-2px);}
  .strada::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-main);}
  .strada.b::before{background:linear-gradient(to right,#a855f7,#FF00B7);}
  .strada .head{display:flex;align-items:center;gap:16px;}
  .strada .k{font-size:11.5px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--accent-pink);margin-bottom:3px;}
  .strada.b .k{color:var(--accent-purple);}
  .strada h3{font-size:27px;font-weight:800;line-height:1.15;letter-spacing:-0.01em;}
  .strada .per{font-size:14px;color:var(--text-muted);padding-bottom:16px;border-bottom:1px solid var(--border-color);}
  .strada .per b{color:var(--text-secondary);font-weight:600;}
  .strada > p{font-size:15px;color:var(--text-secondary);}
  .aree{display:flex;flex-wrap:wrap;gap:8px;}
  .area{font-size:12.5px;font-weight:500;padding:7px 13px;border-radius:var(--radius-full);
    background:rgba(255,0,183,0.07);border:1px solid rgba(255,0,183,0.18);color:#f5d0ec;}
  .strada.b .area{background:rgba(168,85,247,0.08);border-color:rgba(168,85,247,0.2);color:#e2d3f7;}
  .strada ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
  .strada li{position:relative;padding-left:24px;font-size:14.5px;color:var(--text-secondary);}
  .strada li::before{content:'';position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--accent-pink);}
  .strada.b li::before{background:var(--accent-purple);}
  .strada li b{color:var(--text-primary);font-weight:600;}
  .strada .foot{margin-top:auto;padding-top:20px;}
  .strada .foot a{font-size:14.5px;font-weight:600;color:var(--accent-pink);display:inline-flex;align-items:center;gap:7px;transition:gap .2s;}
  .strada.b .foot a{color:var(--accent-purple);}
  .strada .foot a:hover{gap:12px;}

  /* ---------- METODO ---------- */
  .metodo{background:linear-gradient(to bottom,#0A070B 0%,#050505 32%,#050505 64%,#0A070B 100%);}
  .flow{display:grid;grid-template-columns:1fr 44px 1fr 44px 1fr;align-items:stretch;}
  .flow-arrow{display:flex;align-items:center;justify-content:center;color:var(--text-muted);}
  .step{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:30px 26px;
    display:flex;flex-direction:column;gap:12px;transition:border-color .2s;}
  .step:hover{border-color:var(--border-hover);}
  .step .top{display:flex;align-items:center;gap:14px;}
  .step .n{width:34px;height:34px;border-radius:50%;background:var(--gradient-main);display:flex;align-items:center;justify-content:center;
    font-size:14px;font-weight:800;flex:none;}
  .step .quando{font-size:11px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent-pink);}
  .step h4{font-size:21px;font-weight:800;}
  .step p{font-size:14.5px;color:var(--text-secondary);}
  .step .out{margin-top:auto;padding-top:14px;border-top:1px solid var(--border-color);font-size:12.5px;color:var(--text-muted);}
  .step .out b{color:var(--text-secondary);font-weight:600;}

  /* ---------- SEZIONE TECNICA: viola, il colore che nel brand marca i contenuti tecnici ---------- */
  .light{padding:118px 0;
    background:linear-gradient(to bottom,#0A070B 0%,#150A1F 24%,#1B0D28 50%,#150A1F 76%,#0A070B 100%);}
  .light .sec-tag{color:#c99bf5;}
  .trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .trust{background:rgba(255,255,255,0.032);border:1px solid rgba(168,85,247,0.16);border-radius:var(--radius-lg);padding:28px;
    display:flex;flex-direction:column;gap:14px;transition:transform .2s,border-color .2s;}
  .trust:hover{transform:translateY(-3px);border-color:rgba(168,85,247,0.36);}
  .trust .ic{width:46px;height:46px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;
    background:rgba(168,85,247,0.12);border:1px solid rgba(168,85,247,0.24);color:#c99bf5;flex:none;}
  .trust h4{font-size:17px;font-weight:700;color:var(--text-primary);}
  .trust p{font-size:14px;color:var(--text-secondary);}
  .light-note{margin-top:34px;padding:26px 30px;background:rgba(0,0,0,0.36);border:1px solid rgba(168,85,247,0.18);
    border-radius:var(--radius-lg);display:flex;align-items:center;gap:24px;flex-wrap:wrap;justify-content:space-between;}
  .light-note p{color:var(--text-secondary);font-size:15.5px;font-weight:500;max-width:740px;}
  .light-note p b{color:var(--accent-pink);}

  /* ---------- SETTORI ---------- */
  .settori{background:linear-gradient(to bottom,#0A070B 0%,#050505 18%,#050505 76%,#0B080D 100%);}
  .tagcloud{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:940px;margin:0 auto;}
  .settore{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:var(--radius-full);
    background:var(--bg-card);border:1px solid var(--border-color);font-size:14.5px;color:var(--text-secondary);transition:border-color .2s,color .2s;}
  .settore:hover{border-color:var(--accent-pink);color:var(--text-primary);}
  .settore svg{color:var(--accent-pink);flex:none;}

  /* ---------- CORSI ---------- */
  .corsi{background:linear-gradient(to bottom,#0B080D 0%,var(--bg-card) 24%,var(--bg-card) 72%,#0A0509 100%);}
  .corso-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .corso{background:var(--bg-raised);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:30px;
    display:flex;flex-direction:column;gap:14px;transition:border-color .2s,transform .2s;}
  .corso:hover{border-color:var(--border-hover);transform:translateY(-3px);}
  .corso h4{font-size:18.5px;font-weight:700;line-height:1.3;}
  .corso .chi{font-size:13px;color:var(--text-muted);}
  .corso .meta{display:flex;gap:8px;flex-wrap:wrap;}
  .corso .meta span{font-size:11px;font-weight:600;padding:4px 11px;border-radius:var(--radius-full);
    background:rgba(255,255,255,0.05);border:1px solid var(--border-color);color:var(--text-secondary);}
  .corso .out{font-size:14px;color:var(--text-secondary);flex:1;}
  .corso .go{font-size:14px;font-weight:600;color:var(--accent-pink);display:inline-flex;align-items:center;gap:7px;transition:gap .2s;}
  .corso:hover .go{gap:12px;}

  /* ---------- CHI SIAMO ---------- */
  .chi{background:linear-gradient(to bottom,#0A0509 0%,#0D0510 34%,#160719 100%);position:relative;overflow:hidden;}
  .chi .glow3{position:absolute;bottom:-30%;left:-10%;width:640px;height:640px;
    background:radial-gradient(circle at center,rgba(255,0,183,0.1),transparent 65%);pointer-events:none;}
  .chi-grid{display:grid;grid-template-columns:0.72fr 1fr;gap:56px;align-items:center;}
  .chi-foto{position:relative;max-width:430px;}
  .timeline{margin-top:34px;}
  .chi-txt h2{font-size:38px;font-weight:800;line-height:1.15;margin-bottom:20px;letter-spacing:-0.01em;}
  .chi-txt p{font-size:16px;color:var(--text-secondary);margin-bottom:16px;}
  .chi-txt p strong{color:var(--text-primary);font-weight:600;}
  .timeline{display:flex;flex-direction:column;}
  .chi .tex-cards{opacity:0.75;}
  .tl-item{display:grid;grid-template-columns:22px 1fr;gap:20px;}
  .tl-rail{display:flex;flex-direction:column;align-items:center;}
  .tl-dot{width:14px;height:14px;border-radius:50%;background:var(--accent-pink);flex:none;margin-top:6px;
    box-shadow:0 0 0 5px rgba(255,0,183,0.14);}
  .tl-item:last-child .tl-dot{background:var(--accent-purple);box-shadow:0 0 0 5px rgba(168,85,247,0.16);}
  .tl-line{width:2px;flex:1;background:linear-gradient(to bottom,rgba(255,0,183,0.5),rgba(168,85,247,0.25));margin:6px 0;}
  .tl-body{padding-bottom:26px;}
  .tl-body h5{font-size:17px;font-weight:700;margin-bottom:5px;}
  .tl-body p{font-size:14px;color:var(--text-secondary);margin:0;}

  /* ---------- FORM su magenta ---------- */
  .contatto{position:relative;overflow:hidden;
    background:linear-gradient(to bottom,#160719 0%,#0C050E 42%,#050505 100%);}
  .contatto .glow4{position:absolute;top:12%;left:50%;transform:translateX(-50%);width:900px;height:600px;
    background:radial-gradient(ellipse at center,rgba(255,0,183,0.16),transparent 62%);pointer-events:none;z-index:0;}
  .form-wrap{max-width:820px;margin:0 auto;background:var(--bg-card);border:1px solid var(--border-color);
    border-radius:var(--radius-xl);padding:44px;position:relative;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.4);}
  .form-wrap::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-main);}
  .fl{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:10px;display:block;}
  .scelte{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:26px;}
  .scelta{position:relative;}
  .scelta input{position:absolute;opacity:0;width:0;height:0;}
  .scelta label{display:block;padding:18px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);
    cursor:pointer;transition:border-color .2s,background .2s;height:100%;}
  .scelta label .t{font-size:14.5px;font-weight:600;margin-bottom:5px;display:block;}
  .scelta label .s{font-size:12.5px;color:var(--text-muted);display:block;line-height:1.4;}
  .scelta input:checked + label{border-color:var(--accent-pink);background:rgba(255,0,183,0.08);}
  .scelta label:hover{border-color:var(--border-hover);}
  .campi{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
  .campo{display:flex;flex-direction:column;}
  .campo.full{grid-column:1/-1;}
  .campo input,.campo textarea,.campo select{background:rgba(255,255,255,0.04);border:1px solid var(--border-color);
    border-radius:var(--radius-md);padding:14px 16px;color:var(--text-primary);font-family:inherit;font-size:14.5px;transition:border-color .2s;}
  .campo select{appearance:none;cursor:pointer;
    background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2.5' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 14px center;padding-right:42px;}
  .campo select option{background:#111;color:#fff;}
  .campo input:focus,.campo textarea:focus,.campo select:focus{outline:none;border-color:var(--accent-pink);}
  .campo textarea{resize:vertical;min-height:88px;}
  .campo input::placeholder,.campo textarea::placeholder{color:var(--text-muted);}
  .consenso{display:flex;gap:11px;align-items:flex-start;margin:18px 0 0;}
  .consenso.marketing{margin-bottom:24px;}
  .consenso span b{color:var(--accent-pink);}
  .consenso span em{font-style:normal;color:var(--text-muted);opacity:.8;}
  .consenso input{margin-top:4px;accent-color:var(--accent-pink);flex:none;width:16px;height:16px;}
  .consenso span{font-size:12.5px;color:var(--text-muted);line-height:1.5;}
  .btn-submit{width:100%;background:var(--accent-pink);color:#050505;border:none;padding:16px;border-radius:var(--radius-md);
    font-family:inherit;font-size:15.5px;font-weight:800;letter-spacing:0.01em;cursor:pointer;transition:transform .2s,opacity .2s;}
  .btn-submit:hover{transform:translateY(-1px);opacity:.94;}
  .btn-submit:disabled{opacity:.45;cursor:not-allowed;}
  .form-note{text-align:center;font-size:12.5px;color:var(--text-muted);margin-top:16px;}

  /* ---------- FAQ ---------- */
  .faq{background:linear-gradient(to bottom,#050505 0%,#050505 78%,#0B080D 100%);}
  .faq .tex-dots{opacity:0.55;}
  .faq-list{max-width:860px;margin:0 auto;}
  .faq-item{border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:12px;overflow:hidden;
    background:var(--bg-card);transition:border-color .2s;}
  .faq-item.open{border-color:var(--border-hover);}
  .faq-q{width:100%;background:none;border:none;color:var(--text-primary);font-family:inherit;font-size:16px;font-weight:600;
    padding:22px 26px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;}
  .faq-q .ic{flex:none;color:var(--accent-pink);font-size:22px;font-weight:400;line-height:1;transition:transform .25s;}
  .faq-item.open .faq-q .ic{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
  .faq-a p{padding:0 26px 22px;font-size:14.5px;color:var(--text-secondary);}

  /* ---------- FOOTER ---------- */
  footer{background:var(--bg-card);border-top:1px solid var(--border-color);padding:60px 0 30px;}
  .f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;margin-bottom:44px;}
  .f-brand p{font-size:13.5px;color:var(--text-muted);margin-top:16px;max-width:300px;}
  .f-col h5{font-size:13px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:16px;}
  .f-col a,.f-col p{display:block;font-size:13.5px;color:var(--text-secondary);margin-bottom:10px;transition:color .2s;}
  .f-col a:hover{color:var(--accent-pink);}
  .f-bottom{padding-top:26px;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;
    flex-wrap:wrap;gap:12px;font-size:12.5px;color:var(--text-muted);}


  /* ---------- IMMAGINI ---------- */
  .slot{border:1px dashed rgba(255,255,255,0.18);border-radius:var(--radius-lg);background:rgba(255,255,255,0.02);
    display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;position:relative;overflow:hidden;}
  .slot::after{content:'';position:absolute;inset:0;pointer-events:none;
    background-image:repeating-linear-gradient(45deg,rgba(255,255,255,0.02) 0 1px,transparent 1px 15px);}
  .slot .slot-in{display:flex;flex-direction:column;align-items:center;gap:9px;position:relative;z-index:1;max-width:440px;}
  .slot .slot-n{font-size:10.5px;font-weight:800;letter-spacing:0.18em;text-transform:uppercase;color:var(--accent-pink);}
  .slot .slot-t{font-size:15px;font-weight:700;color:var(--text-primary);line-height:1.3;}
  .slot .slot-d{font-size:12.5px;color:var(--text-muted);line-height:1.45;}
  .slot svg{color:var(--text-muted);margin-bottom:2px;}
  .slot.card16{aspect-ratio:16/9;width:100%;margin-bottom:4px;}
  .slot.vert{aspect-ratio:4/5;width:100%;}
  .ph{width:100%;border-radius:var(--radius-lg);display:block;object-fit:cover;}
  .ph.card16{aspect-ratio:16/9;margin-bottom:4px;}
  .ph.vert{aspect-ratio:4/5;}
  @media (max-width:640px){
    .respiro{padding:80px 0;}
    .respiro .frase{font-size:25px;}
    .estratta{font-size:19px;padding-left:16px;margin:20px 0;}
    .trust-grid > .trust{margin-top:0 !important;}
    .dato .v{font-size:22px;} .slot .slot-d{display:none;} .slot.band{aspect-ratio:4/3;} }



  /* ============ A1 · intestazioni non tutte centrate ============ */
  .sec-head.left{text-align:left;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;}
  .sec-head.left h2{margin-bottom:0;}
  .sec-head.left .intro{padding-bottom:4px;}

  /* ============ A2/C12 · nastro dei settori a tutta larghezza ============ */
  .bleed{width:100vw;margin-left:calc(50% - 50vw);position:relative;}
  .marquee{overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
  .marquee + .marquee{margin-top:14px;}
  .track{display:flex;gap:12px;width:max-content;animation:scorri 46s linear infinite;}
  .track.rev{animation-direction:reverse;}
  .marquee:hover .track{animation-play-state:paused;}
  @keyframes scorri{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  @media (prefers-reduced-motion:reduce){ .track{animation:none;} }

  /* ============ A3 · la sezione respiro ============ */
  .respiro{background:linear-gradient(to bottom,#0A070B 0%,#030303 40%,#030303 60%,#0A070B 100%);
    padding:150px 0;position:relative;overflow:hidden;}
  .respiro .glow5{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:900px;height:460px;
    background:radial-gradient(ellipse at center,rgba(255,0,183,0.13),transparent 66%);pointer-events:none;}
  .respiro .frase{font-size:46px;font-weight:800;line-height:1.22;letter-spacing:-0.015em;text-align:center;
    max-width:1000px;margin:0 auto;}
  .respiro .frase em{font-style:normal;background:var(--gradient-main);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
  .respiro .sotto{text-align:center;font-size:16px;color:var(--text-muted);margin-top:26px;}

  /* ============ A4 · asimmetria nella griglia sicurezza ============ */
  /* le colonne non partono alla stessa altezza: l'occhio trova un appiglio */
  /* lo sfalsamento e' stato rimosso: le card devono essere tutte allineate e della stessa altezza */

  /* ============ B7 · il dato in evidenza ============ */
  .dato{display:flex;align-items:center;gap:12px;padding:15px 0 0;margin-top:6px;border-top:1px solid var(--border-color);}
  .dato .v{font-size:26px;font-weight:900;letter-spacing:-0.02em;line-height:1;
    background:var(--gradient-main);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
  .dato .l{font-size:11.5px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);line-height:1.35;max-width:26ch;}
  .step .dato{border-top-color:rgba(255,255,255,0.1);}
  .trust .dato{border-top-color:rgba(168,85,247,0.18);}

  /* ============ B5 · misura di riga ============ */
  .strada > p, .step > p, .chi-txt p{max-width:56ch;}
  .trust p{max-width:44ch;}

  /* ============ B8 · frase estratta dentro chi siamo ============ */
  .estratta{font-size:23px;font-weight:700;line-height:1.35;letter-spacing:-0.01em;color:var(--text-primary);
    padding:20px 0 20px 22px;border-left:3px solid var(--accent-pink);margin:26px 0;max-width:none;}

  /* ============ C9 · la linea del metodo che si riempie ============ */
  .care-band{display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center;margin-top:34px;
    background:linear-gradient(135deg,rgba(255,0,183,0.07),rgba(168,85,247,0.05));
    border:1px solid rgba(255,0,183,0.22);border-radius:var(--radius-lg);padding:30px 34px;}
  .care-band .care-k{font-size:11px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--accent-pink);margin-bottom:8px;}
  .care-band h3{font-size:21px;font-weight:800;line-height:1.25;margin-bottom:10px;}
  .care-band p{color:var(--text-secondary);font-size:15px;line-height:1.6;max-width:70ch;}
  .care-r{display:flex;align-items:baseline;gap:10px;white-space:nowrap;}
  .care-v{font-size:60px;font-weight:900;line-height:1;background:var(--gradient-main);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .care-u{font-size:15px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted);line-height:1.3;}
  @media(max-width:860px){.care-band{grid-template-columns:1fr;gap:18px;}}
  .flow{position:relative;}
  .flow-rail{position:absolute;top:50%;left:8%;right:8%;height:2px;background:rgba(255,255,255,0.07);z-index:0;}
  .flow-rail::after{content:'';position:absolute;inset:0;background:var(--gradient-main);
    transform:scaleX(0);transform-origin:left center;transition:transform 1.5s cubic-bezier(.3,.7,.3,1);}
  .flow-rail.pieno::after{transform:scaleX(1);}
  .flow .step{position:relative;z-index:1;}

  /* ============ C10 · bagliore che segue il cursore ============ */
  .lume{position:relative;}
  .lume::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;
    transition:opacity .35s ease;
    background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(255,0,183,0.10),transparent 62%);}
  .lume:hover::after{opacity:1;}
  .trust.lume::after{background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%),rgba(168,85,247,0.14),transparent 62%);}

  /* ============ C13 · avanzamento e voce attiva ============ */
  .progress{position:fixed;top:0;left:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;
    background:var(--gradient-main);z-index:101;transition:transform .1s linear;}
  .nav-links a{position:relative;padding-bottom:3px;}
  .nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--accent-pink);
    transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
  .nav-links a.attivo{color:var(--text-primary);}
  .nav-links a.attivo::after{transform:scaleX(1);}

  /* ============ C14 · il marchio si compone ============ */
  @keyframes daSinistra{from{transform:translateX(-26px);opacity:0;}to{transform:translateX(0);opacity:1;}}
  @keyframes daDestra{from{transform:translateX(26px);opacity:0;}to{transform:translateX(0);opacity:1;}}
  .js nav .brand svg .mL{animation:daSinistra .75s cubic-bezier(.2,.75,.25,1) .15s both;}
  .js nav .brand svg .mR{animation:daDestra .75s cubic-bezier(.2,.75,.25,1) .15s both;}
  @media (prefers-reduced-motion:reduce){ .js nav .brand svg .mL,.js nav .brand svg .mR{animation:none;} }

  /* ---------- ANIMAZIONI DI SCROLL ---------- */
  .js .reveal{opacity:0;transform:translateY(26px);
    transition:opacity .62s ease,transform .62s cubic-bezier(.22,.68,.28,1);will-change:opacity,transform;}
  .js .reveal.drop{transform:translateY(-34px);}
  .js .reveal.side{transform:translateX(-26px);}
  .js .reveal.in{opacity:1;transform:none;}
  .js .parallax.reveal{transition:opacity .62s ease;}
  .js .parallax.reveal.in{transform:translate3d(0,0,0);}
  /* il cursore della macchina da scrivere */
  .claim{min-height:1.6em;}
  .claim .caret{display:inline-block;width:2px;height:1em;background:var(--accent-pink);
    vertical-align:-0.14em;margin-left:2px;animation:blink 1s steps(1) infinite;}
  .claim.done .caret{display:none;}
  @keyframes blink{50%{opacity:0;}}
  @media (prefers-reduced-motion:reduce){
    .js .reveal{opacity:1;transform:none;transition:none;}
    .claim .caret{display:none;}
  }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:1024px){
    .sec-head.left{grid-template-columns:1fr;gap:18px;align-items:start;}
    .flow-rail{display:none;}
    .respiro .frase{font-size:34px;}
    .nav-links{display:none;}
    .due,.chi-grid{grid-template-columns:1fr;}
    .chi-foto{max-width:420px;}
    .flow{grid-template-columns:1fr;gap:14px;}
    .flow-arrow{transform:rotate(90deg);height:30px;}
    .trust-grid{grid-template-columns:repeat(2,1fr);}
    .corso-grid{grid-template-columns:1fr;}
    .f-grid{grid-template-columns:1fr 1fr;}
    .hero h1{font-size:44px;}
    .chi-grid{gap:36px;}
  }
  @media (max-width:640px){
    .respiro{padding:80px 0;}
    .respiro .frase{font-size:25px;}
    .estratta{font-size:19px;padding-left:16px;margin:20px 0;}
    .trust-grid > .trust{margin-top:0 !important;}
    .dato .v{font-size:22px;}
    .container{padding:0 16px;}
    .nav-inner{padding:12px 16px;gap:10px;}
    .hero{padding:120px 0 64px;}
    .hero h1{font-size:29px;letter-spacing:-0.01em;}
    .br-hero{display:none;}
    .hero .lead{font-size:15.5px;}
    .hero .claim{font-size:13.5px;}
    .hero-ctas{gap:10px;}
    .hero-ctas .btn-primary,.hero-ctas .btn-ghost{flex:1;min-width:150px;}
    section{padding:62px 0;}
    .sec-head{margin-bottom:36px;}
    .sec-head h2{font-size:27px;}
    .sec-head p{font-size:15px;}
    .strada{padding:26px;}
    .strada h3{font-size:23px;}
    .trust-grid{grid-template-columns:1fr;}
    .scelte,.campi{grid-template-columns:1fr;}
    .form-wrap{padding:24px;}
    .chi-txt h2{font-size:27px;}
    .f-grid{grid-template-columns:1fr;gap:30px;}
    .faq-q{font-size:14.5px;padding:18px 20px;}
    .faq-a p{padding:0 20px 18px;}
    .light-note{flex-direction:column;align-items:flex-start;}
    .brand .nome{font-size:12px;letter-spacing:0.1em;}
    .btn-primary{padding:10px 16px;font-size:13px;}
  }
  @media (max-width:400px){ .brand .nome{display:none;} }

/* ===== Codice colore delle due linee =====
   Formazione: magenta (default del brand). Implementazione: viola.
   Il bottone primario resta il gradiente di brand su entrambe: e' la CTA, non un segnale di linea. */
body.linea-impl{
  --accent-pink:#a855f7;
  --gradient-main:linear-gradient(to right,#a855f7,#7C3AED);
}
body.linea-impl .btn-primary{background:linear-gradient(to right,#FF00B7,#a855f7);}
body.linea-impl .dot{background:#a855f7;}
/* il marchio non cambia mai colore fra le pagine */
body.linea-impl .nome .a,
body.linea-impl .f-brand .nome .a{color:#FF00B7;}

/* ===== classi introdotte con le pagine verticali ===== */
.servizi{position:relative;background:linear-gradient(180deg,transparent,rgba(168,85,247,0.04),transparent);}
.strada .guida{color:var(--text-secondary);font-size:15.5px;line-height:1.65;margin-bottom:14px;}
.care-l{min-width:0;}
.nav-links a.cur{color:var(--text-primary);}
.nav-links a.cur::after{transform:scaleX(1);}

/* griglia a quattro card: 2x2 senza lo sfalsamento, che vale solo per i multipli di tre */
.trust-grid.quattro{grid-template-columns:repeat(2,1fr);}
.trust-grid.quattro > .trust{margin-top:0!important;}
@media(max-width:760px){.trust-grid.quattro{grid-template-columns:1fr;}}

/* numeri nell hero delle pagine interne */
.numeri-hero{display:flex;gap:52px;justify-content:center;flex-wrap:wrap;margin-top:38px;}
.numeri-hero > div{display:flex;flex-direction:column;align-items:center;gap:4px;max-width:200px;}
.numeri-hero .v{font-size:40px;font-weight:900;line-height:1;background:var(--gradient-main);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.numeri-hero .l{font-size:12.5px;color:var(--text-muted);text-align:center;line-height:1.45;}
@media(max-width:700px){.numeri-hero{gap:28px;}.numeri-hero .v{font-size:32px;}}

/* pagina analisi: form a sinistra, come funziona a destra */
.richiesta-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);gap:48px;align-items:start;}
.richiesta-grid .col-head{margin-bottom:26px;}
.richiesta-grid .col-head h2{font-size:34px;font-weight:900;line-height:1.12;margin:6px 0 10px;}
.richiesta-grid .col-head p{color:var(--text-secondary);font-size:15.5px;line-height:1.6;}
.richiesta-grid .form-wrap{margin:0;}
.ric-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px;}
.ric-list li{padding:22px 0;border-top:1px solid var(--border-color);}
.ric-list li:last-child{border-bottom:1px solid var(--border-color);}
.ric-list .k{font-size:11px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--accent-pink);margin-bottom:7px;}
.ric-list h4{font-size:17px;font-weight:800;margin-bottom:7px;}
.ric-list p{color:var(--text-secondary);font-size:14.5px;line-height:1.6;}
@media(max-width:980px){.richiesta-grid{grid-template-columns:1fr;gap:56px;}}

/* barra dei clienti, ripresa dalla landing Academy */
.numeri-hero.solo{gap:0;}
.partners-bar{background:#fff;border-radius:999px;padding:16px 34px;display:flex;align-items:center;
  justify-content:space-between;gap:28px;flex-wrap:nowrap;max-width:1080px;margin:34px auto 0;
  box-shadow:0 8px 40px rgba(255,0,183,0.10);}
.partners-label{font-size:13.5px;flex-shrink:0;font-weight:700;color:#111;white-space:nowrap;}
.partners-logos{display:flex;align-items:center;gap:26px;flex-wrap:nowrap;flex:1;justify-content:center;min-width:0;}
.partner-logo{display:inline-flex;align-items:center;}
.partner-logo img{display:block;height:24px;width:auto;object-fit:contain;}
.partners-tail{font-size:12px;color:#666;font-weight:600;line-height:1.3;text-align:right;white-space:nowrap;flex-shrink:0;}
@media(max-width:760px){
  .partners-bar{border-radius:22px;padding:22px 24px;justify-content:center;text-align:center;gap:18px;flex-wrap:wrap;}
  .partners-logos{flex-wrap:wrap;}
  .partners-logos{gap:22px;}
  .partners-tail{text-align:center;}
}

/* card di pari altezza in tutte le griglie trust */
.trust-grid{align-items:stretch;}
.trust-grid > .trust{margin-top:0;height:100%;display:flex;flex-direction:column;}
.trust-grid > .trust p:last-child{margin-bottom:0;}

/* due CTA nella barra: il check e' secondario, la richiesta e' primaria */
.nav-ctas{display:flex;align-items:center;gap:10px;}
.nav-ctas .btn-ghost.sm{padding:10px 18px;font-size:13.5px;white-space:nowrap;}
.nav-ctas .btn-primary{white-space:nowrap;}
@media(max-width:1180px){.nav-ctas .btn-ghost.sm{display:none;}}

/* pagina richiesta: la selezione va detta prima, non solo in fondo */
.lead-warn{max-width:640px;margin:18px auto 0;padding:14px 18px;border:1px solid rgba(255,0,183,0.28);
  border-radius:12px;background:rgba(255,0,183,0.05);color:var(--text-secondary);font-size:15px;line-height:1.6;}
.lead-warn b{color:var(--text-primary);}
.form-nota{font-size:13.5px;color:var(--text-muted);line-height:1.55;margin-bottom:16px;
  padding-left:14px;border-left:2px solid rgba(255,0,183,0.35);}


/* Copertine dei percorsi nella griglia corsi */
.corso-cover{margin:-30px -30px 2px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden;aspect-ratio:16/9;background:#141418}
.corso-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.corso:hover .corso-cover img{transform:scale(1.04)}


/* Copertine dei servizi nelle card prodotto */
.serv-cover{margin:-38px -38px 4px;aspect-ratio:16/9;overflow:hidden;background:#141418}
.serv-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.strada:hover .serv-cover img{transform:scale(1.03)}


/* Card larga corsi monoaziendali */
.mono{display:grid;grid-template-columns:1.2fr .8fr;margin-top:22px;background:var(--bg-raised);
  border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;
  text-decoration:none;color:inherit;transition:border-color .2s,transform .2s}
.mono:hover{border-color:var(--border-hover);transform:translateY(-3px)}
.mono-txt{padding:34px 34px 30px;display:flex;flex-direction:column;gap:14px}
.mono .k{font-size:11.5px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--accent-pink);margin-bottom:-4px}
.mono h3{font-size:23px;font-weight:800;line-height:1.25}
.mono .mono-lead{font-size:14.5px;line-height:1.62;color:var(--text-secondary)}
.mono .meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.mono .meta span{font-size:12px;padding:6px 12px;border-radius:var(--radius-full);
  border:1px solid var(--border-color);color:var(--text-muted)}
.mono .go{font-size:14px;font-weight:600;color:var(--accent-pink);display:inline-flex;
  align-items:center;gap:7px;margin-top:4px;transition:gap .2s}
.mono:hover .go{gap:12px}
.mono-img{min-height:280px;overflow:hidden}
.mono-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.mono:hover .mono-img img{transform:scale(1.03)}
@media(max-width:860px){
  .mono{grid-template-columns:1fr}
  .mono-img{min-height:190px;order:-1}
  .mono-txt{padding:26px 24px 24px}
}


/* Blocco partnership Formawork */
.fw-partner{display:flex;align-items:center;gap:26px;max-width:900px;margin:0 auto;
  padding:26px 30px;background:var(--bg-raised);border:1px solid var(--border-color);
  border-radius:var(--radius-lg)}
.fw-partner img{height:38px;width:auto;flex-shrink:0;opacity:.95}
.fw-partner p{font-size:14.5px;line-height:1.62;color:var(--text-secondary);margin:0}
@media(max-width:640px){
  .fw-partner{flex-direction:column;align-items:flex-start;gap:16px;padding:22px}
  .fw-partner img{height:32px}
}
