:root{
    --ink:#1d1d1f;
    --ink-soft:#6e6e73;
    --bg:#ffffff;
    --bg-soft:#f5f5f7;
    --accent:#1F3465;      /* blu navy VES */
    --teal:#00B1B1;        /* teal VES */
    --teal-ink:#008C8C;    /* teal scurito per testi piccoli */
    --clinic:#B60B51;      /* magenta VES — area clinica */
    --radius:28px;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    color:var(--ink);background:var(--bg);
    -webkit-font-smoothing:antialiased;line-height:1.5;
  }
  a{text-decoration:none;color:inherit;cursor:pointer;}

  /* ---------- NAV ---------- */
  nav{
    position:fixed;top:0;left:0;right:0;z-index:100;
    backdrop-filter:saturate(180%) blur(20px);
    -webkit-backdrop-filter:saturate(180%) blur(20px);
    background:rgba(255,255,255,.72);
    border-bottom:1px solid rgba(0,0,0,.06);
  }
  .nav-inner{
    max-width:1024px;margin:0 auto;height:52px;
    display:flex;align-items:center;justify-content:space-between;
    padding:0 22px;font-size:14px;
  }
    .logo{display:flex;align-items:center;}
  .logo img{display:block;transition:opacity .35s ease, transform .35s ease;}
  .logo-full{height:26px;width:auto;}
  .logo-mark{height:22px;width:auto;position:absolute;opacity:0;transform:scale(.8);}
  nav.scrolled .logo-full{opacity:0;transform:scale(.92);}
  nav.scrolled .logo-mark{opacity:1;transform:scale(1);}
  .nav-links{display:flex;gap:34px;color:var(--ink);opacity:.85;}
  .nav-links a{transition:opacity .2s;padding:4px 0;border-bottom:2px solid transparent;}
  .nav-links a:hover{opacity:.55;}
  .nav-links a.active{border-bottom-color:var(--teal);opacity:1;font-weight:600;}
  .nav-right{display:flex;align-items:center;gap:14px;}
  .nav-login{font-size:14px;font-weight:500;color:var(--accent);opacity:.85;}
  .nav-login:hover{opacity:1;}
  .nav-burger{display:none;flex-direction:column;gap:4px;background:none;border:none;padding:8px 4px;cursor:pointer;}
  .nav-burger span{width:20px;height:2px;background:var(--ink);border-radius:2px;display:block;}
  .mobile-menu{display:none;position:fixed;top:52px;left:0;right:0;z-index:99;flex-direction:column;
    background:rgba(255,255,255,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border-bottom:1px solid rgba(0,0,0,.08);padding:8px 22px 18px;}
  .mobile-menu.open{display:flex;}
  .mobile-menu a{padding:14px 4px;font-size:16px;font-weight:600;color:var(--ink);border-bottom:1px solid rgba(0,0,0,.06);}
  .mobile-menu a:last-child{border-bottom:none;}
  .mobile-menu .mm-prenota{color:var(--teal-ink);}
  .nav-cta{
    background:var(--accent);color:#fff;padding:7px 16px;border-radius:980px;
    font-size:13px;font-weight:500;transition:transform .2s, filter .2s;
  }
  .nav-cta:hover{filter:brightness(1.15);transform:scale(1.03);}

  /* ---------- ROUTER ---------- */
  .page{display:none;}
  .page.active{display:block;animation:pageIn .5s ease;}
  @keyframes pageIn{from{opacity:0;}to{opacity:1;}}

  /* ---------- HERO HOME ---------- */
  header.hero-home{
    min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;
    position:relative;overflow:hidden;color:#fff;
  }
  .hero-photo{
    position:absolute;inset:0;
    background:
      linear-gradient(160deg, rgba(10,17,40,.38) 0%, rgba(31,52,101,.16) 55%, rgba(10,17,40,.34) 100%),
      url(../img/img_001.jpg) center/cover no-repeat;
  }
  .wave-canvas{position:absolute;left:0;right:0;bottom:0;width:100%;height:52%;display:block;pointer-events:none;}
  .photo-tag{
    position:absolute;top:76px;right:26px;font-size:11px;letter-spacing:.12em;
    text-transform:uppercase;color:rgba(255,255,255,.45);
    border:1px solid rgba(255,255,255,.25);padding:6px 12px;border-radius:980px;z-index:3;
  }
  .hero-content{
    position:relative;z-index:2;max-width:980px;margin:0 auto;
    padding:0 22px 5vh;text-align:center;width:100%;
  }
  h1{font-size:clamp(44px,7vw,84px);font-weight:700;letter-spacing:-.03em;line-height:1.04;}
  .hero-sub{
    margin:22px auto 0;max-width:640px;font-size:clamp(18px,2.2vw,24px);
    font-weight:400;color:rgba(255,255,255,.82);letter-spacing:-.01em;
  }
  .hero-ctas{margin-top:38px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
  .btn{
    padding:15px 30px;border-radius:980px;font-size:17px;font-weight:500;
    transition:transform .25s, filter .25s, background .25s;display:inline-block;
  }
  .btn:hover{transform:scale(1.04);}
  .btn-primary{background:#fff;color:var(--ink);}
  .btn-primary:hover{filter:brightness(.94);}
  .btn-ghost{border:1.5px solid rgba(255,255,255,.7);color:#fff;background:rgba(10,17,40,.30);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
  .btn-ghost:hover{background:rgba(255,255,255,.12);}
  .btn-navy{background:var(--accent);color:#fff;}
  .btn-teal{background:var(--teal-ink);color:#fff;}
  .btn-clinic{background:var(--clinic);color:#fff;}
  .hero-hint{position:absolute;left:0;right:0;bottom:4vh;font-size:12px;color:rgba(255,255,255,.45);letter-spacing:.2em;text-transform:uppercase;text-align:center;}

  /* ---------- PAGE HERO (pagine interne) ---------- */
  .page-hero{
    min-height:64vh;display:flex;flex-direction:column;justify-content:flex-end;
    position:relative;overflow:hidden;color:#fff;padding:130px 22px 70px;
  }
  .page-hero-inner{max-width:1024px;margin:0 auto;width:100%;position:relative;z-index:2;}
  .page-hero h1{font-size:clamp(38px,5.6vw,68px);}
  .page-hero .hero-sub{margin-left:0;text-align:left;max-width:960px;}
  .ph-navy{background:radial-gradient(1000px 600px at 80% 15%,rgba(0,177,177,.32),transparent 60%),linear-gradient(160deg,#0a1128,#1F3465);}
  .ph-teal{background:linear-gradient(160deg,rgba(1,60,64,.78) 0%,rgba(0,140,140,.35) 60%,rgba(1,60,64,.55) 100%),url(../img/img_002.jpg) center 30%/cover no-repeat;}
  .ph-clinic{background:linear-gradient(160deg,rgba(92,5,39,.88) 0%,rgba(155,9,68,.58) 60%,rgba(92,5,39,.72) 100%),url(../img/ph_clinic.jpg) center 30%/cover no-repeat;}
  .ph-dark{background:linear-gradient(160deg,rgba(11,15,28,.82) 0%,rgba(26,36,64,.55) 60%,rgba(11,15,28,.7) 100%),url(../img/img_004.jpg) center/cover no-repeat;}
  .ph-institute{background:linear-gradient(160deg,rgba(10,17,40,.82) 0%,rgba(31,52,101,.5) 60%,rgba(10,17,40,.65) 100%),url(../img/img_005.jpg) center 40%/cover no-repeat;}
  .ph-contatti{background:linear-gradient(160deg,rgba(10,17,40,.55) 0%,rgba(31,52,101,.25) 55%,rgba(10,17,40,.45) 100%),url(../img/img_006.jpg) center 60%/cover no-repeat;}
  .ph-palazzo{background:radial-gradient(1000px 600px at 70% 25%,rgba(214,178,120,.35),transparent 60%),linear-gradient(165deg,#141021 0%,#2a2036 55%,#4a3a52 100%);}

  /* ---------- SECTIONS ---------- */
  section{padding:110px 22px;}
  .inner{max-width:1024px;margin:0 auto;}
  .inner-wide{max-width:1180px;margin:0 auto;}
  .eyebrow{
    font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
    color:var(--teal-ink);margin-bottom:14px;
  }
  h2{font-size:clamp(32px,4.6vw,56px);font-weight:700;letter-spacing:-.025em;line-height:1.08;}
  h3.sec{font-size:clamp(24px,3vw,34px);font-weight:700;letter-spacing:-.02em;}
  .lead{font-size:clamp(17px,2vw,21px);color:var(--ink-soft);max-width:640px;margin-top:18px;}
  .center{text-align:center;}
  .center .lead{margin-left:auto;margin-right:auto;}
  .prose{max-width:680px;font-size:19px;color:#3a3a3e;margin-top:22px;}
  .prose p+p{margin-top:16px;}

  /* ---------- CARDS (home) ---------- */
  .cards{
    max-width:1180px;margin:64px auto 0;display:grid;
    grid-template-columns:repeat(3,1fr);gap:22px;
  }
  .card{
    border-radius:var(--radius);overflow:hidden;background:var(--bg-soft);
    display:flex;flex-direction:column;min-height:520px;position:relative;
    transition:transform .35s ease, box-shadow .35s ease;
  }
  .card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(0,0,0,.12);}
  .card-photo{height:270px;position:relative;}
  .card-photo .photo-tag{top:16px;right:16px;color:rgba(255,255,255,.6);border-color:rgba(255,255,255,.3);}
  .cp-teal{background:linear-gradient(150deg,rgba(0,125,128,.25),rgba(0,177,177,.08)),url(../img/img_007.jpg) center 40%/cover no-repeat;}
  .cp-clinic{background:linear-gradient(150deg,rgba(124,7,55,.22),rgba(182,11,81,.06)),url(../img/img_008.jpg) center 20%/cover no-repeat;}
  .cp-navy{background:linear-gradient(150deg,rgba(22,38,77,.35),rgba(31,52,101,.15)),url(../img/img_009.jpg) center/cover no-repeat;}
  .card-body{padding:34px 32px 38px;display:flex;flex-direction:column;flex:1;}
  .card h3{font-size:26px;font-weight:700;letter-spacing:-.02em;}
  .card p{margin-top:10px;color:var(--ink-soft);font-size:16px;flex:1;}
  .card-link{margin-top:22px;font-size:17px;font-weight:500;color:var(--teal-ink);}
  .card-link.clinic{color:var(--clinic);}
  .card-link::after{content:" ›";}

  /* ---------- STATEMENT ---------- */
  .statement-inner{max-width:820px;margin:0 auto;text-align:center;}
  .statement p.big{font-size:clamp(26px,3.6vw,42px);font-weight:600;letter-spacing:-.025em;line-height:1.22;}
  .statement p.big em{font-style:normal;color:var(--teal-ink);}

  /* ---------- SPLIT PANELS ---------- */
  .split{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:22px;}
  .split + .split{margin-top:22px;}
  .panel{
    border-radius:var(--radius);min-height:560px;position:relative;overflow:hidden;
    display:flex;flex-direction:column;justify-content:flex-end;padding:44px;color:#fff;
    transition:transform .35s ease;
  }
  .panel:hover{transform:scale(1.012);}
  .panel h3{font-size:clamp(26px,3vw,36px);font-weight:700;letter-spacing:-.02em;}
  .panel p{margin-top:10px;max-width:420px;color:rgba(255,255,255,.85);font-size:17px;}
  .panel .panel-link{margin-top:20px;font-weight:500;font-size:17px;}
  .panel .panel-link::after{content:" ›";}
  .panel.wide{grid-column:1/-1;min-height:520px;}
  .panel .photo-tag{top:24px;right:24px;}
  .panel-sanit{background:linear-gradient(180deg,rgba(92,5,39,.22) 25%,rgba(92,5,39,.85) 100%),url(../img/img_010.jpg) center 35%/cover no-repeat;}
  .panel-canta{background:linear-gradient(180deg,rgba(10,17,40,.16) 30%,rgba(10,17,40,.8) 100%),url(../img/img_011.jpg) center 30%/cover no-repeat;}
  .panel-parla{background:linear-gradient(180deg,rgba(1,60,64,.25) 25%,rgba(1,60,64,.85) 100%),url(../img/img_012.jpg) center 20%/cover no-repeat;}
  .panel-chir{background:linear-gradient(180deg,rgba(92,5,39,.42) 0%,rgba(92,5,39,.88) 100%),url(../img/img_013.jpg) center/cover no-repeat;}
  .panel-cura{background:linear-gradient(180deg,rgba(92,5,39,.30) 20%,rgba(92,5,39,.9) 100%),url(../img/img_014.jpg) center 40%/cover no-repeat;}
  .panel-palazzo{background:linear-gradient(180deg,rgba(20,16,33,.22) 30%,rgba(20,16,33,.88) 100%),url(../img/img_015.jpg) center 30%/cover no-repeat;}

  /* ---------- NUMBERS ---------- */
  .soft{background:var(--bg-soft);}
  .numbers-grid{
    max-width:1024px;margin:56px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;
  }
  .num{font-size:clamp(38px,5vw,60px);font-weight:700;letter-spacing:-.03em;color:var(--accent);}
  .num-label{margin-top:6px;color:var(--ink-soft);font-size:15px;}

  /* ---------- QUOTE ---------- */
  .quote-inner{max-width:760px;margin:0 auto;text-align:center;}
  .quote-inner blockquote{font-size:clamp(22px,3vw,32px);font-weight:600;letter-spacing:-.02em;line-height:1.3;}
  .quote-inner cite{display:block;margin-top:22px;font-style:normal;color:var(--ink-soft);font-size:16px;}

  /* ---------- COURSE / SERVICE CARDS ---------- */
  .grid2{max-width:1024px;margin:56px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:22px;}
  .grid3{max-width:1180px;margin:56px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .tile{
    background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:22px;padding:34px 30px;
    display:flex;flex-direction:column;transition:transform .3s ease, box-shadow .3s ease;
  }
  .soft .tile{border:none;}
  .tile:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(0,0,0,.09);}
  .tile .tag{
    align-self:flex-start;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
    padding:5px 12px;border-radius:980px;margin-bottom:18px;
  }
  .tag-teal{background:rgba(0,177,177,.12);color:var(--teal-ink);}
  .tag-navy{background:rgba(31,52,101,.1);color:var(--accent);}
  .tag-clinic{background:rgba(182,11,81,.1);color:var(--clinic);}
  .tile h3{font-size:22px;font-weight:700;letter-spacing:-.015em;}
  .tile .meta{margin-top:6px;font-size:14px;color:var(--ink-soft);font-weight:500;}
  .tile p.desc{margin-top:12px;color:var(--ink-soft);font-size:16px;flex:1;}
  .tile .card-link{margin-top:20px;}

  /* ---------- STEPS ---------- */
  .steps{max-width:1024px;margin:56px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  .step{text-align:center;padding:0 8px;}
  .step .n{
    width:54px;height:54px;border-radius:50%;background:var(--clinic);color:#fff;
    display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;margin:0 auto 16px;
  }
  .step h4{font-size:18px;font-weight:700;}
  .step p{margin-top:6px;color:var(--ink-soft);font-size:15px;}

  /* ---------- TEAM ---------- */
  .team{max-width:1024px;margin:56px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .person{text-align:center;}
  .avatar{
    width:150px;height:150px;border-radius:50%;margin:0 auto 16px;position:relative;overflow:hidden;
    display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.8);font-size:11px;
    letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:10px;
  }
  .av-1{background:linear-gradient(150deg,#16264d,#1F3465);}
  .av-2{background:linear-gradient(150deg,#007d80,#00B1B1);}
  .av-3{background:linear-gradient(150deg,#7c0737,#B60B51);}
  .person h4{font-size:18px;font-weight:700;}
  .person .role{color:var(--ink-soft);font-size:15px;margin-top:2px;}

  /* ---------- LIST (pubblicazioni) ---------- */
  .pub-list{max-width:820px;margin:48px auto 0;}
  .pub{
    padding:26px 0;border-bottom:1px solid rgba(0,0,0,.08);display:flex;gap:24px;align-items:baseline;
  }
  .pub .year{font-weight:700;color:var(--teal-ink);min-width:64px;font-size:17px;}
  .pub .title{font-size:18px;font-weight:600;letter-spacing:-.01em;}
  .pub .where{color:var(--ink-soft);font-size:15px;margin-top:3px;}

  /* ---------- FINAL CTA ---------- */
  .final{
    background:radial-gradient(900px 500px at 80% 0%,rgba(0,177,177,.35),transparent 60%),linear-gradient(170deg,#0a1128,#1F3465);
    color:#fff;text-align:center;border-radius:var(--radius);max-width:1180px;margin:0 auto;padding:100px 22px;
  }
  .final-wrap{padding:0 22px 120px;}
  .final .lead{color:rgba(255,255,255,.75);}
  .final .hero-ctas{margin-top:34px;}
  .final.clinic{background:radial-gradient(900px 500px at 80% 0%,rgba(255,255,255,.15),transparent 60%),linear-gradient(170deg,#5c0527,#B60B51);}

  /* ---------- CONTATTI ---------- */
  .contact-grid{max-width:1024px;margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:60px;}
  .contact-info h3{font-size:20px;font-weight:700;margin-bottom:8px;}
  .contact-block{margin-bottom:34px;}
  .contact-block p{color:var(--ink-soft);font-size:16px;}
  .contact-block a{color:var(--teal-ink);font-weight:500;}
  form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  input,select,textarea{
    width:100%;padding:14px 16px;border:1px solid rgba(0,0,0,.14);border-radius:14px;
    font-family:inherit;font-size:16px;margin-bottom:16px;background:#fff;color:var(--ink);
  }
  input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal);}
  textarea{min-height:130px;resize:vertical;}
  .map-ph{
    margin-top:10px;height:220px;border-radius:18px;position:relative;overflow:hidden;
    background:radial-gradient(400px 200px at 60% 40%,rgba(0,177,177,.25),transparent 60%),linear-gradient(150deg,#e8ecef,#d3dade);
    display:flex;align-items:center;justify-content:center;color:var(--ink-soft);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  }

  /* ---------- BLOCCHI PRESTAZIONI ---------- */
  .svc-block{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-top:70px;}
  .svc-photo{border-radius:24px;aspect-ratio:4/3;background-size:cover;background-position:center;box-shadow:0 18px 48px rgba(0,0,0,.12);}
  .svc-rev .svc-photo{order:2;}
  .svc-text .tag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;border-radius:980px;margin-bottom:0;}
  .svc-text h3{font-size:clamp(24px,2.6vw,32px);font-weight:700;letter-spacing:-.02em;margin-top:16px;}
  .svc-text p{margin-top:12px;color:var(--ink-soft);font-size:16.5px;line-height:1.65;}
  .svc-steps{margin-top:18px;}
  .svc-text .card-link{display:inline-block;margin-top:20px;}
  @media (max-width:880px){.svc-block{grid-template-columns:1fr;gap:22px;}.svc-rev .svc-photo{order:0;}}
  /* ---------- MAPPA MULTIDISCIPLINARE ---------- */
  .mappa-md{width:100%;height:auto;display:block;}
  .mm-node{cursor:default;transition:opacity .25s;}
  .mappa-md:hover .mm-node{opacity:.45;}
  .mappa-md .mm-node:hover{opacity:1;}
  .mm-pulse{animation:mmpulse 3s ease-in-out infinite;}
  @keyframes mmpulse{0%,100%{r:86;opacity:.5;}50%{r:96;opacity:.15;}}
  .mm-legend{display:flex;gap:26px;justify-content:center;margin-top:10px;flex-wrap:wrap;}
  .mm-legend span{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-soft);font-weight:500;}
  .mm-legend i{width:12px;height:12px;border-radius:50%;display:inline-block;}
  /* ---------- TIMELINE PRESTAZIONI ---------- */
  .tl{list-style:none;margin-top:18px;padding:0;counter-reset:tl;}
  .tl li{position:relative;padding:0 0 18px 36px;color:#3a3a3e;font-size:15px;font-weight:500;}
  .tl li::before{counter-increment:tl;content:counter(tl);position:absolute;left:0;top:-2px;width:25px;height:25px;border-radius:50%;background:var(--clinic);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;}
  .tl li::after{content:'';position:absolute;left:11.5px;top:25px;bottom:2px;width:2px;background:rgba(0,0,0,.08);}
  .tl li:last-child::after{display:none;}
  .tl li:last-child{padding-bottom:4px;}
  .tl-teal li::before{background:var(--teal-ink);}
  .tl-then{font-size:12px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;margin-top:10px;}
  .tl-paths{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
  .tl-paths span{background:rgba(182,11,81,.08);color:var(--clinic);font-size:13px;font-weight:600;padding:7px 14px;border-radius:980px;}
  /* ---------- BARRA DI RICERCA ---------- */
  .searchbar{display:flex;align-items:stretch;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:22px;box-shadow:0 18px 48px rgba(0,0,0,.09);padding:10px;}
  .sb-field{flex:1;padding:10px 22px;border-right:1px solid rgba(0,0,0,.08);}
  .sb-field:last-of-type{border-right:none;}
  .sb-field label{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:2px;}
  .sb-field select,.sb-field input{border:none;padding:4px 0;margin:0;font-size:15.5px;font-weight:600;background:transparent;width:100%;border-radius:0;color:var(--ink);}
  .sb-field select:focus,.sb-field input:focus{outline:none;}
  .sb-btn{background:linear-gradient(135deg,#1F3465,#00969b);color:#fff;border:none;border-radius:16px;padding:0 34px;font-size:16px;font-weight:600;cursor:pointer;font-family:inherit;transition:filter .2s;white-space:nowrap;}
  .sb-btn:hover{filter:brightness(1.12);}
  .sb-legal{margin-top:16px;font-size:12px;color:var(--ink-soft);font-style:italic;text-align:center;}
  @media (max-width:880px){.searchbar{flex-direction:column;gap:4px;}.sb-field{border-right:none;border-bottom:1px solid rgba(0,0,0,.07);}.sb-btn{padding:15px;}}
  /* ---------- BOOKING ---------- */
  .bk-grid{display:flex;flex-direction:column;gap:26px;margin-top:22px;max-width:720px;margin-left:auto;margin-right:auto;}
  .bk-grid > div:first-child{display:flex;flex-direction:column;}
  .bk-label{display:block;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin:18px 0 8px;}
  .bk-cal{background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:16px;padding:14px 16px 16px;margin-top:0;flex:1;display:flex;flex-direction:column;}
  .bk-cal-head{text-align:center;font-size:14.5px;margin-bottom:8px;color:var(--ink-soft);}
  .bk-cal-head b{color:var(--ink);}
  .bk-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;flex:1;grid-auto-rows:1fr;align-content:stretch;}
  .bk-days span{text-align:center;font-size:11px;font-weight:600;color:var(--ink-soft);padding:4px 0;}
  .bk-days button{aspect-ratio:auto;min-height:34px;border-radius:9px;border:none;background:var(--bg-soft);cursor:pointer;font-weight:600;font-size:12.5px;color:var(--ink);font-family:inherit;transition:transform .15s, background .15s;}
  .bk-days button:hover:not(:disabled){transform:scale(1.08);}
  .bk-days button:disabled{opacity:.30;cursor:default;background:transparent;}
  .bk-days button.sel{background:var(--bk-accent,#1F3465);color:#fff;}
  .bk-slots{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;flex:none;}
  .bk-slots button{border:1.5px solid rgba(0,0,0,.14);background:#fff;border-radius:980px;padding:7px 16px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit;color:var(--ink);transition:all .15s;}
  .bk-slots button.sel{background:var(--bk-accent,#1F3465);border-color:var(--bk-accent,#1F3465);color:#fff;}
  .bk-form{background:var(--bg-soft);border-radius:18px;padding:20px 22px;}
  .bk-form h3{font-size:15.5px;margin-bottom:10px;min-height:0;line-height:1.4;}
  .urg-opts{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 10px;}
  .urg-opts button{border:1.5px solid rgba(0,0,0,.15);background:#fff;border-radius:980px;padding:6px 13px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;color:var(--ink);transition:all .15s;}
  .urg-opts button.sel{background:var(--bk-accent,#B60B51);border-color:var(--bk-accent,#B60B51);color:#fff;}
  .bk-privacy{display:flex;gap:8px;font-size:11.5px;color:var(--ink-soft);margin:2px 0 10px;align-items:flex-start;}
  .bk-privacy input{width:auto;margin:3px 0 0;}
  .bk-note{margin-top:10px;font-size:10.5px;color:var(--ink-soft);}
  @media (max-width:880px){.bk-grid{grid-template-columns:1fr;}.bk-form{position:static;}}
  /* ---------- FOOTER ---------- */
  footer{background:var(--bg-soft);padding:52px 22px 70px;color:var(--ink-soft);font-size:13px;}
  .footer-inner{max-width:1024px;margin:0 auto;}
  .footer-cols{display:flex;gap:70px;flex-wrap:wrap;margin-bottom:36px;}
  .footer-cols h4{font-size:13px;color:var(--ink);margin-bottom:10px;}
  .footer-cols a{display:block;margin-bottom:7px;}
  .footer-cols a:hover{text-decoration:underline;}
  .footer-legal{border-top:1px solid rgba(0,0,0,.09);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}


  /* ---------- ENDO GALLERY ---------- */
  .endo-gallery{max-width:1180px;margin:56px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .endo-item{border-radius:22px;overflow:hidden;height:300px;background-size:cover;background-position:center;position:relative;transition:transform .3s ease;}
  .endo-item:hover{transform:scale(1.02);}
  .endo-item span{position:absolute;left:20px;bottom:16px;color:#fff;font-size:14px;font-weight:500;text-shadow:0 1px 8px rgba(0,0,0,.55);}
  .team-photo{max-width:1024px;margin:56px auto 0;border-radius:var(--radius);overflow:hidden;}
  .team-photo div{height:440px;background-size:cover;background-position:center 35%;}
  @media (max-width:880px){.endo-gallery{grid-template-columns:1fr;}}

  /* ---------- HERO CINEMATICO ---------- */
  .hero-photo{animation:kenburns 26s ease-in-out infinite alternate;transform-origin:center;}
  @keyframes kenburns{from{transform:scale(1);}to{transform:scale(1.09);}}
  @media (prefers-reduced-motion: reduce){.hero-photo{animation:none;}}
  .hero-claim{font-size:clamp(40px,6vw,76px);font-weight:700;letter-spacing:-.03em;line-height:1.05;opacity:0;animation:heroIn 1.1s ease .9s forwards;}
  .hero-cta-links{margin-top:30px;gap:36px;opacity:0;animation:heroIn 1.1s ease 1.9s forwards;}
  .hero-link{color:#fff;font-size:19px;font-weight:600;display:inline-flex;align-items:center;gap:10px;padding-bottom:6px;border-bottom:1.5px solid rgba(255,255,255,.4);transition:border-color .25s;}
  .hero-link:hover{border-color:#fff;}
  .hero-link span{transition:transform .25s;}
  .hero-link:hover span{transform:translateX(5px);}
  @keyframes heroIn{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
  /* ---------- CTA APPLE ---------- */
  .cta-white{background:#00A5A5;color:#fff;padding:16px 40px;font-size:17px;font-weight:500;box-shadow:0 12px 34px rgba(0,150,150,.4);}
  .cta-white:hover{filter:brightness(1.08);}
  .cta-glass{background:var(--clinic);color:#fff;padding:16px 40px;font-size:17px;font-weight:500;box-shadow:0 12px 34px rgba(182,11,81,.4);border:none;}
  .cta-glass:hover{filter:brightness(1.1);}

  /* ---------- CARD CORSO CON FOTO PIENA ---------- */
  .tile{position:relative;overflow:hidden;}
  .tile-photo{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;transition:transform .45s ease;}
  .tile > *:not(.tile-photo){position:relative;z-index:2;}
  .tile-img{color:#fff;border:none;min-height:380px;justify-content:flex-end;background:#0a1128;}
  .tile-img::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,17,40,.08) 20%,rgba(10,17,40,.62) 68%,rgba(10,17,40,.86) 100%);}
  .tile-img:hover .tile-photo{transform:scale(1.05);}
  .tile-img h3{color:#fff;}
  .tile-img .meta{color:rgba(255,255,255,.75);}
  .tile-img p.desc{color:rgba(255,255,255,.88);}
  .tile-img .card-link{color:#fff;}
  .tile-img .tag{background:rgba(255,255,255,.92);}
  .tile-img .tag.tag-clinic{color:var(--clinic);}
  .tile-img .tag.tag-teal{color:var(--teal-ink);}
  .tile-img .tag.tag-navy{color:var(--accent);}
  /* ---------- SCHEDA CORSO ---------- */
  .info-strip{
    margin-top:22px;border-radius:22px;padding:24px 30px;color:#fff;
    background:radial-gradient(500px 300px at 88% -10%,rgba(0,177,177,.35),transparent 60%),linear-gradient(170deg,#0e1b3a,#1F3465);
    display:flex;align-items:center;justify-content:space-between;gap:26px 44px;flex-wrap:wrap;
    box-shadow:0 20px 50px rgba(15,27,58,.3);
  }
  .is-rows{display:grid;grid-template-columns:repeat(3,minmax(0,auto));gap:20px 46px;align-items:start;flex:1 1 480px;max-width:640px;}
  .info-strip .irow{display:flex;flex-direction:column;gap:3px;padding:0;border:none;}
  .info-strip .irow .k{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:600;white-space:nowrap;}
  .info-strip .irow .v{color:#fff;font-size:15.5px;font-weight:600;text-align:left;}
  .is-buy{display:flex;align-items:center;gap:24px;margin-left:auto;flex:none;}
  @media (max-width:880px){.is-rows{flex-wrap:wrap;justify-content:flex-start;gap:16px 26px;}.is-buy{margin-left:0;}}
  .is-price .pb-rate{display:block;font-size:27px;font-weight:800;color:#85E7D0;letter-spacing:-.02em;line-height:1.15;}
  .is-price big{display:block;font-size:25px;font-weight:800;letter-spacing:-.02em;margin-top:2px;}
  .is-price.has-rate big{font-size:14px;font-weight:600;letter-spacing:0;opacity:.85;margin-top:6px;}
  .is-price .pb-off{display:inline-block;background:rgba(133,231,208,.16);padding:3px 12px;border-radius:980px;font-size:13px;margin-left:6px;}
  .is-price .pb-was{display:block;font-style:normal;font-size:13px;color:rgba(255,255,255,.65);margin-top:3px;}
  .is-price .pb-was s{margin-right:8px;}
  .is-price .pb-off{color:#85E7D0;font-weight:700;}
  .is-price .pb-offer{display:block;font-style:italic;font-size:11.5px;color:rgba(255,255,255,.55);margin-top:4px;max-width:230px;}
  .iscriviti-btn{display:inline-block;text-align:center;background:linear-gradient(135deg,#00969b,#00B1B1);color:#fff;font-size:17px;font-weight:600;padding:15px 36px;border-radius:980px;transition:filter .2s, transform .2s;box-shadow:0 10px 26px rgba(0,150,150,.4);white-space:nowrap;}
  .iscriviti-btn:hover{filter:brightness(1.08);transform:scale(1.03);}
  .corso-qual{display:grid;grid-template-columns:.85fr 1.15fr;gap:26px;align-items:start;margin-top:40px;}
  .diploma-card{position:relative;background:linear-gradient(165deg,#faf9f4,#ece7d8);border:1px solid rgba(0,0,0,.1);border-radius:22px;display:flex;align-items:center;justify-content:center;padding:34px;aspect-ratio:1/1.32;max-width:420px;}
  .diploma-inner{border:3px double rgba(31,52,101,.45);padding:44px 30px;text-align:center;width:100%;height:100%;background:rgba(255,255,255,.5);display:flex;flex-direction:column;justify-content:center;}
  .d-inst{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-top:14px;font-weight:600;}
  .d-title{font-size:clamp(17px,1.6vw,22px);font-weight:800;color:var(--accent);margin-top:18px;letter-spacing:-.01em;}
  .d-line{font-size:12px;color:var(--ink-soft);margin-top:22px;font-style:italic;}
  .d-name{font-family:'Snell Roundhand','Segoe Script',cursive;font-size:26px;color:#2b2b2e;margin-top:4px;}
  .d-seal{width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 32% 30%,#ecd083,#b8892d);margin:26px auto 0;box-shadow:0 3px 10px rgba(0,0,0,.25);}
  /* barra acquisto fissa — desktop e mobile */
  .buybar{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;
    align-items:center;justify-content:center;gap:28px;
    padding:12px 22px calc(12px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
    border-top:1px solid rgba(0,0,0,.08);
  }
  .buybar .bb-price{line-height:1.15;text-align:right;}
  .buybar .bb-price b{display:block;font-size:19px;color:var(--accent);letter-spacing:-.01em;}
  .buybar .bb-price small{color:var(--ink-soft);font-size:11px;}
  .buybar a{flex-shrink:0;background:linear-gradient(135deg,#00969b,#00B1B1);color:#fff;font-weight:600;font-size:16px;padding:13px 32px;border-radius:980px;box-shadow:0 8px 20px rgba(0,150,150,.35);transition:transform .2s;}
  .buybar a:hover{transform:scale(1.04);}
  #page-corso .final-wrap{padding-bottom:150px;}
  @media (max-width:880px){
    .corso-qual{grid-template-columns:1fr;}
    .diploma-card{margin:0 auto;}
    .is-buy{margin-left:0;width:100%;justify-content:space-between;}
    .buybar{justify-content:space-between;}
  }
  .chips{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}
  .chip{background:var(--bg-soft);border-radius:14px;padding:12px 20px;text-align:center;}
  .chip .k{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);}
  .chip .v{display:block;font-size:16px;font-weight:700;margin-top:2px;}
  .video-ph{
    position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/7;max-height:520px;width:100%;
    background:radial-gradient(800px 400px at 70% 20%,rgba(0,177,177,.25),transparent 60%),linear-gradient(160deg,#0a1128,#1F3465);
    display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;gap:10px;
  }
  .video-ph .play{width:76px;height:76px;border-radius:50%;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);border:1.5px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;font-size:24px;padding-left:6px;}
  .video-ph span{font-size:17px;font-weight:600;}
  .video-ph small{color:rgba(255,255,255,.5);font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
  .mod-acc{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:18px;margin-top:14px;overflow:hidden;}
  .mod-acc > summary{cursor:pointer;padding:20px 24px;display:flex;align-items:baseline;gap:14px;font-size:17px;list-style:none;}
  .mod-acc > summary::-webkit-details-marker{display:none;}
  .mod-acc > summary b{font-weight:700;letter-spacing:-.01em;}
  .mod-acc > summary span{color:var(--ink-soft);font-weight:500;font-size:14px;}
  .mod-acc > summary::after{content:'+';margin-left:auto;color:var(--teal-ink);font-size:22px;font-weight:600;line-height:1;}
  .mod-acc[open] > summary::after{content:'–';}
  .mod-body{padding:0 24px 20px;}
  .mod-body > p{color:var(--ink-soft);font-size:15.5px;line-height:1.6;}
  .lez-acc{border-top:1px solid rgba(0,0,0,.07);margin-top:12px;}
  .lez-acc > summary{cursor:pointer;padding:13px 4px;font-size:15px;font-weight:600;display:flex;list-style:none;color:var(--accent);}
  .lez-acc > summary::-webkit-details-marker{display:none;}
  .lez-acc > summary::after{content:'+';margin-left:auto;color:var(--teal-ink);font-weight:600;}
  .lez-acc[open] > summary::after{content:'–';}
  .lez-acc > p{padding:0 4px 14px;color:var(--ink-soft);font-size:14.5px;line-height:1.6;}
  .mod{background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:18px;padding:24px 26px;margin-top:16px;}
  .mod h4{font-size:18px;font-weight:700;letter-spacing:-.01em;}
  .mod h4 span{color:var(--teal-ink);margin-right:10px;}
  .mod p{margin-top:6px;color:var(--ink-soft);font-size:15px;}
  .target-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;}
  .target-chips span{background:rgba(0,177,177,.1);color:var(--teal-ink);font-weight:600;font-size:15px;padding:10px 20px;border-radius:980px;}
  /* ---------- CAROSELLO TESTIMONIANZE ---------- */
  .testi-car{max-width:860px;margin:48px auto 0;text-align:center;position:relative;}
  .testi-slide{display:none;animation:tfade .7s ease;}
  .testi-slide.active{display:block;}
  @keyframes tfade{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
  .testi-slide blockquote{font-size:clamp(21px,2.8vw,30px);font-weight:600;letter-spacing:-.02em;line-height:1.32;}
  .testi-slide cite{display:block;margin-top:22px;font-style:normal;color:var(--ink-soft);font-size:16px;}
  .testi-dots{display:flex;gap:10px;justify-content:center;margin-top:34px;}
  .testi-dots button{width:9px;height:9px;border-radius:50%;border:none;background:rgba(0,0,0,.18);cursor:pointer;padding:0;transition:background .3s, transform .3s;}
  .testi-dots button.on{background:var(--teal-ink);transform:scale(1.3);}
  .testi-note{margin-top:26px;font-size:11.5px;color:var(--ink-soft);}
  /* ---------- REVEAL ---------- */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease, transform .8s ease;}
  .reveal.visible{opacity:1;transform:none;}

  @media (max-width:880px){
    .nav-links{display:none;}
    .nav-login{display:none;}
    .nav-burger{display:flex;}
    .cards,.grid2,.grid3,.split,.team{grid-template-columns:1fr;}
    .steps{grid-template-columns:repeat(2,1fr);}
    .numbers-grid{grid-template-columns:repeat(2,1fr);}
    .contact-grid{grid-template-columns:1fr;}
    .panel{min-height:440px;padding:32px;}
    section{padding:80px 20px;}
  }

  /* ==================== CHECKOUT ==================== */
  .ck-wrap{max-width:1120px;margin:0 auto;padding:110px 24px 90px;}
  .ck-head .eyebrow{color:var(--teal-ink);}
  .ck-head h1{font-size:clamp(28px,3.6vw,44px);letter-spacing:-.02em;margin:6px 0 4px;}
  .ck-head p{color:#6e6e73;font-size:16px;max-width:640px;}
  .ck-cols{display:grid;grid-template-columns:1fr 360px;gap:44px;align-items:start;margin-top:34px;}
  .ck-steps{display:flex;align-items:center;gap:10px;margin:30px 0 6px;}
  .ck-step{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:#6e6e73;white-space:nowrap;}
  .ck-step .n{width:30px;height:30px;border-radius:50%;border:1.5px solid #d2d2d7;display:flex;align-items:center;justify-content:center;font-size:13px;background:#fff;transition:all .25s;}
  .ck-step.on{color:var(--accent);}
  .ck-step.on .n{background:var(--accent);border-color:var(--accent);color:#fff;}
  .ck-step.done{color:var(--teal-ink);}
  .ck-step.done .n{background:var(--teal);border-color:var(--teal);color:#fff;}
  .ck-sep{flex:1;height:1.5px;background:#e3e3e8;min-width:18px;}
  .ck-panel{display:none;}
  .ck-panel.on{display:block;animation:heroIn .5s ease both;}
  .ck-card{border:1px solid #e8e8ed;border-radius:22px;background:#fff;padding:30px;box-shadow:0 10px 30px rgba(0,0,0,.04);}
  .ck-card h3{font-size:20px;margin-bottom:18px;}
  .ck-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .ck-field{display:flex;flex-direction:column;gap:6px;}
  .ck-field.full{grid-column:1/-1;}
  .ck-field label{font-size:12.5px;font-weight:600;color:#6e6e73;letter-spacing:.02em;}
  .ck-field input,.ck-field select{padding:12px 14px;border:1px solid #d2d2d7;border-radius:12px;font-size:15px;background:#fff;font-family:inherit;color:#1d1d1f;outline:none;transition:border .2s;}
  .ck-field input:focus,.ck-field select:focus{border-color:var(--accent);}
  .ck-check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:#3a3a3c;margin-top:16px;line-height:1.5;}
  .ck-check input{width:18px;height:18px;margin-top:1px;accent-color:var(--accent);flex:none;}
  .ck-actions{display:flex;gap:14px;align-items:center;margin-top:26px;flex-wrap:wrap;}
  .ck-btn{border:none;cursor:pointer;font-family:inherit;display:inline-block;text-align:center;background:var(--accent);color:#fff;font-size:16px;font-weight:600;padding:14px 34px;border-radius:980px;transition:filter .2s,transform .2s,opacity .2s;}
  .ck-btn:hover{filter:brightness(1.12);transform:translateY(-1px);}
  .ck-btn[disabled]{opacity:.35;pointer-events:none;}
  .ck-btn.pay{background:linear-gradient(135deg,#00969b,#00B1B1);box-shadow:0 10px 26px rgba(0,150,150,.35);}
  .ck-back{background:none;border:none;cursor:pointer;font-family:inherit;color:#6e6e73;font-size:14.5px;font-weight:600;}
  .ck-back:hover{color:#1d1d1f;}
  .ck-err{color:#B60B51;font-size:13.5px;margin-top:12px;display:none;}
  .ck-contract{max-height:330px;overflow:auto;border:1px solid #d2d2d7;border-radius:16px;padding:22px 26px;background:#fafafa;font-size:13.5px;color:#3a3a3c;line-height:1.7;}
  .ck-contract h4{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:16px 0 6px;}
  .ck-contract h4:first-child{margin-top:0;}
  .ck-sign-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:end;margin-top:20px;}
  .ck-sign-box label{font-size:12.5px;font-weight:600;color:#6e6e73;}
  .ck-sign{border:none;border-bottom:2px solid #1d1d1f;border-radius:0;width:100%;padding:4px 2px 6px;font-size:30px;line-height:1.2;background:transparent;outline:none;font-family:'Snell Roundhand','Savoye LET','Segoe Script','Brush Script MT',cursive;color:#1d1d1f;}
  .ck-sign::placeholder{font-family:inherit;font-size:15px;color:#b6b6bb;}
  .ck-sign-date{font-size:13px;color:#6e6e73;padding-bottom:10px;white-space:nowrap;}
  .ck-payopt{display:flex;flex-direction:column;gap:12px;margin-bottom:22px;}
  .ck-payopt label{display:flex;align-items:center;gap:12px;border:1.5px solid #d2d2d7;border-radius:16px;padding:16px 18px;cursor:pointer;transition:border .2s,background .2s;font-size:15px;}
  .ck-payopt label:has(input:checked){border-color:var(--accent);background:#f4f7ff;}
  .ck-payopt input{accent-color:var(--accent);width:18px;height:18px;flex:none;}
  .ck-payopt b{font-size:16px;}
  .ck-payopt small{color:#6e6e73;display:block;font-size:13px;margin-top:2px;}
  .ck-side{position:sticky;top:96px;border:1px solid #e8e8ed;border-radius:22px;background:#fff;padding:28px;box-shadow:0 14px 36px rgba(0,0,0,.06);}
  .ck-side .eyebrow{font-size:11px;}
  .ck-side h3{font-size:19px;line-height:1.3;margin:4px 0 2px;}
  .ck-side .tipo{font-size:13px;color:#6e6e73;}
  .ck-side .rows{margin:18px 0;border-top:1px solid #ececf0;}
  .ck-side .row{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:11px 0;border-bottom:1px solid #ececf0;color:#3a3a3c;}
  .ck-side .row b{font-weight:600;}
  .ck-side .tot{display:flex;justify-content:space-between;align-items:baseline;font-size:15px;font-weight:700;padding-top:6px;}
  .ck-side .tot big{font-size:26px;letter-spacing:-.02em;}
  .ck-side .was{font-size:13px;color:#6e6e73;text-align:right;}
  .ck-side .was s{color:#a1a1a6;}
  .ck-side .off{color:var(--teal-ink);font-weight:600;}
  .ck-demo{margin-top:16px;font-size:11.5px;color:#a1a1a6;line-height:1.5;}
  .ck-success{text-align:center;padding:60px 20px;}
  .ck-success .big{width:84px;height:84px;border-radius:50%;background:linear-gradient(135deg,#00969b,#00B1B1);color:#fff;font-size:40px;display:flex;align-items:center;justify-content:center;margin:0 auto 26px;box-shadow:0 16px 40px rgba(0,150,150,.35);}
  .ck-success h2{font-size:clamp(26px,3.4vw,38px);}
  .ck-success p{color:#6e6e73;max-width:520px;margin:12px auto 0;font-size:16px;line-height:1.6;}
  @media(max-width:980px){
    .ck-cols{grid-template-columns:1fr;gap:26px;}
    .ck-side{position:static;order:-1;}
    .ck-grid{grid-template-columns:1fr;}
    .ck-steps{overflow-x:auto;padding-bottom:6px;}
    .ck-wrap{padding-top:96px;}
    .ck-sign-row{grid-template-columns:1fr;}
  }


  /* ---- verifica identità nel checkout ---- */
  .ck-id{margin-top:26px;border-top:1px solid #ececf0;padding-top:22px;}
  .ck-id h5{font-size:15px;margin-bottom:4px;}
  .ck-id .hint{font-size:13px;color:#6e6e73;margin-bottom:14px;line-height:1.5;}
  .ck-id-tabs{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;}
  .ck-id-tab{border:1.5px solid #d2d2d7;background:#fff;border-radius:980px;padding:9px 20px;font-size:14px;font-weight:600;color:#3a3a3c;cursor:pointer;font-family:inherit;transition:all .2s;}
  .ck-id-tab.on{border-color:var(--accent);background:var(--accent);color:#fff;}
  .ck-id-pane{display:none;}
  .ck-id-pane.on{display:block;animation:heroIn .4s ease both;}
  .ck-up-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .ck-up{position:relative;border:1.5px dashed #c7c7cc;border-radius:16px;padding:20px 16px;text-align:center;cursor:pointer;transition:border .2s,background .2s;background:#fafafa;display:block;}
  .ck-up:hover{border-color:var(--accent);}
  .ck-up input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
  .ck-up .ico{font-size:26px;display:block;margin-bottom:6px;}
  .ck-up b{font-size:14px;display:block;}
  .ck-up small{font-size:12px;color:#6e6e73;display:block;margin-top:3px;}
  .ck-up.ok{border-style:solid;border-color:var(--teal);background:#f0fbfb;}
  .ck-up.ok b{color:var(--teal-ink);}
  .ck-up img{max-height:74px;border-radius:10px;margin:8px auto 0;display:block;}
  .ck-otp-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
  .ck-otp-btn{border:1.5px solid var(--accent);background:#fff;color:var(--accent);border-radius:980px;padding:11px 22px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s;}
  .ck-otp-btn:hover{background:var(--accent);color:#fff;}
  .ck-otp-btn[disabled]{opacity:.4;pointer-events:none;}
  .ck-otp-in{width:150px;padding:12px 14px;border:1px solid #d2d2d7;border-radius:12px;font-size:19px;letter-spacing:.35em;text-align:center;font-family:inherit;outline:none;}
  .ck-otp-in:focus{border-color:var(--accent);}
  .ck-otp-msg{font-size:13px;color:#6e6e73;margin-top:10px;line-height:1.5;}
  .ck-otp-msg.ok{color:var(--teal-ink);font-weight:600;}


  /* ==================== LOGIN ==================== */
  .lg-wrap{min-height:88vh;display:flex;align-items:center;justify-content:center;padding:130px 24px 90px;background:#f5f5f7;}
  .lg-card{width:100%;max-width:430px;background:#fff;border-radius:28px;padding:42px 40px;box-shadow:0 20px 60px rgba(0,0,0,.08);}
  .lg-card img{height:40px;margin-bottom:20px;}
  .lg-card h1{font-size:26px;letter-spacing:-.02em;margin-bottom:6px;}
  .lg-card .sub{color:#6e6e73;font-size:14.5px;margin-bottom:26px;line-height:1.5;}
  .lg-card .ck-field{margin-bottom:14px;}
  .lg-btn{width:100%;border:none;cursor:pointer;font-family:inherit;background:var(--accent);color:#fff;font-size:16px;font-weight:600;padding:14px;border-radius:980px;margin-top:8px;transition:filter .2s;}
  .lg-btn:hover{filter:brightness(1.15);}
  .lg-links{margin-top:20px;font-size:13.5px;color:#6e6e73;display:flex;flex-direction:column;gap:8px;}
  .lg-links a{color:var(--accent);font-weight:600;}
  .lg-demo{margin-top:18px;font-size:11.5px;color:#a1a1a6;line-height:1.5;}

  /* ==================== AREA PERSONALE ==================== */
  .ar-wrap{max-width:1120px;margin:0 auto;padding:120px 24px 90px;}
  .ar-top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;}
  .ar-top h1{font-size:clamp(30px,3.8vw,46px);letter-spacing:-.02em;}
  .ar-top p{color:#6e6e73;font-size:16px;margin-top:4px;}
  .ar-exit{font-size:14px;font-weight:600;color:#6e6e73;background:none;border:none;cursor:pointer;font-family:inherit;padding:8px 0;}
  .ar-exit:hover{color:#B60B51;}
  .ar-sec{margin-top:46px;}
  .ar-sec h2{font-size:22px;margin-bottom:18px;}
  .ar-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
  .ar-card{border:1px solid #e8e8ed;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.05);display:flex;flex-direction:column;}
  .ar-photo{height:158px;background-size:cover;background-position:center 30%;}
  .ar-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:12px;flex:1;}
  .ar-body .tipo{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-ink);font-weight:700;}
  .ar-body h3{font-size:18px;line-height:1.3;}
  .ar-prog{height:6px;border-radius:3px;background:#e8e8ed;overflow:hidden;}
  .ar-prog span{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#00969b,#00B1B1);transition:width .5s;}
  .ar-meta{display:flex;justify-content:space-between;font-size:13px;color:#6e6e73;}
  .ar-resume{font-size:13.5px;color:#3a3a3c;}
  .ar-resume b{font-weight:600;}
  .ar-body .btn-row{margin-top:auto;padding-top:6px;}
  .ar-go{display:inline-block;background:var(--accent);color:#fff;font-size:14.5px;font-weight:600;padding:11px 26px;border-radius:980px;transition:filter .2s;}
  .ar-go:hover{filter:brightness(1.15);}
  .ar-app{display:flex;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid #ececf0;}
  .ar-date{width:58px;flex:none;text-align:center;border-radius:14px;background:var(--accent);color:#fff;padding:9px 0 7px;line-height:1.1;}
  .ar-date b{font-size:20px;display:block;}
  .ar-date small{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;}
  .ar-app .t b{font-size:15.5px;display:block;}
  .ar-app .t small{font-size:13px;color:#6e6e73;}
  .ar-doc{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #ececf0;font-size:14.5px;}
  .ar-doc .ico{width:38px;height:38px;flex:none;border-radius:11px;background:#f5f5f7;display:flex;align-items:center;justify-content:center;font-size:17px;}
  .ar-doc a{margin-left:auto;color:var(--accent);font-weight:600;font-size:13.5px;white-space:nowrap;}
  .ar-doc.lock{opacity:.5;}
  .ar-doc.lock a{color:#a1a1a6;pointer-events:none;}

  /* ==================== PLAYER CORSO ==================== */
  .pl-wrap{max-width:1220px;margin:0 auto;padding:100px 24px 90px;}
  .pl-head{margin-bottom:26px;}
  .pl-back{font-size:13.5px;color:#6e6e73;font-weight:600;}
  .pl-back:hover{color:var(--accent);}
  .pl-head h1{font-size:clamp(22px,2.6vw,32px);letter-spacing:-.02em;margin-top:8px;}
  .pl-headprog{display:flex;align-items:center;gap:14px;margin-top:12px;max-width:520px;}
  .pl-headprog .ar-prog{flex:1;}
  .pl-headprog small{font-size:13px;color:#6e6e73;white-space:nowrap;font-weight:600;}
  .pl-cols{display:grid;grid-template-columns:330px 1fr;gap:36px;align-items:start;}
  .pl-side{border:1px solid #e8e8ed;border-radius:20px;background:#fff;padding:10px;max-height:76vh;overflow:auto;position:sticky;top:92px;}
  .pl-mod summary{list-style:none;cursor:pointer;padding:13px 14px;font-size:14px;font-weight:700;display:flex;justify-content:space-between;gap:10px;align-items:center;border-radius:12px;}
  .pl-mod summary::-webkit-details-marker{display:none;}
  .pl-mod summary:hover{background:#f5f5f7;}
  .pl-mod summary .arrow{transition:transform .25s;color:#a1a1a6;flex:none;}
  .pl-mod[open] summary .arrow{transform:rotate(90deg);}
  .pl-mod summary small{font-weight:500;color:#a1a1a6;font-size:11.5px;white-space:nowrap;}
  .pl-lez{display:flex;gap:11px;align-items:center;padding:10px 12px 10px 16px;border-radius:10px;cursor:pointer;font-size:13.5px;color:#3a3a3c;line-height:1.35;}
  .pl-lez:hover{background:#f5f5f7;}
  .pl-lez.on{background:#eef3ff;font-weight:600;color:var(--accent);}
  .pl-dot{width:19px;height:19px;flex:none;border-radius:50%;border:1.5px solid #c7c7cc;display:flex;align-items:center;justify-content:center;font-size:10px;color:#fff;background:#fff;}
  .pl-lez.done .pl-dot{background:var(--teal);border-color:var(--teal);}
  .pl-main .video-ph{margin:0 0 26px;}
  .pl-main h2{font-size:clamp(20px,2.4vw,28px);letter-spacing:-.01em;margin-bottom:4px;}
  .pl-main .mod-of{font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--teal-ink);font-weight:700;margin-bottom:14px;}
  .pl-mat{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 6px;}
  .pl-mat span{font-size:13px;font-weight:600;border:1px solid #d2d2d7;border-radius:980px;padding:8px 16px;color:#3a3a3c;cursor:pointer;transition:all .2s;}
  .pl-mat span:hover{border-color:var(--accent);color:var(--accent);}
  .pl-actions{display:flex;gap:14px;align-items:center;margin-top:26px;flex-wrap:wrap;}
  .pl-done-btn{border:1.5px solid var(--teal);background:#fff;color:var(--teal-ink);font-size:14.5px;font-weight:600;padding:12px 26px;border-radius:980px;cursor:pointer;font-family:inherit;transition:all .2s;}
  .pl-done-btn.done,.pl-done-btn:hover{background:var(--teal);color:#fff;}
  .pl-next{display:inline-block;background:var(--accent);color:#fff;font-size:14.5px;font-weight:600;padding:12px 28px;border-radius:980px;cursor:pointer;border:none;font-family:inherit;transition:filter .2s;}
  .pl-next:hover{filter:brightness(1.15);}
  @media(max-width:980px){
    .ar-grid{grid-template-columns:1fr;}
    .pl-cols{grid-template-columns:1fr;}
    .pl-side{position:static;max-height:none;order:2;}
    .ar-wrap,.pl-wrap{padding-top:96px;}
  }


  /* ==================== ISTITUTO: VES + VALORI ==================== */
  .ves-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:1020px;margin:38px auto 0;padding:0 24px;}
  .ves-it{display:flex;gap:14px;padding:18px 20px;border:1px solid #e8e8ed;border-radius:16px;background:#fff;align-items:flex-start;}
  .ves-it .num{font-weight:800;color:var(--teal-ink);font-size:15px;width:24px;flex:none;padding-top:1px;}
  .ves-it b{display:block;font-size:15px;margin-bottom:3px;}
  .ves-it p{font-size:13.5px;color:#6e6e73;line-height:1.55;}
  .ves-note{max-width:820px;margin:30px auto 0;padding:0 24px;text-align:center;font-size:14.5px;color:#6e6e73;line-height:1.6;}
  .vals{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:1020px;margin:38px auto 0;padding:0 24px;}
  .pro-teaser{text-align:center;padding:26px 24px 0;}
  .pro-teaser a{color:var(--accent);font-weight:600;font-size:15px;}
  .pro-teaser a:hover{text-decoration:underline;}

  /* ==================== PROFESSIONISTI ==================== */
  .pro-wrap{max-width:1120px;margin:0 auto;padding:130px 24px 90px;}
  .pro-wrap .eyebrow{color:var(--teal-ink);}
  .pro-wrap h1{font-size:clamp(30px,4vw,50px);letter-spacing:-.02em;}
  .pro-wrap .sub{color:#6e6e73;font-size:16.5px;max-width:640px;margin-top:10px;line-height:1.6;}
  .pro-search{margin:30px 0 8px;max-width:460px;}
  .pro-search input{width:100%;padding:14px 20px;border:1px solid #d2d2d7;border-radius:980px;font-size:15px;font-family:inherit;outline:none;transition:border .2s;background:#fff;}
  .pro-search input:focus{border-color:var(--accent);}
  .pro-count{font-size:13px;color:#a1a1a6;margin-bottom:22px;}
  .pro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .pro-card{border:1px solid #e8e8ed;border-radius:20px;background:#fff;padding:26px 24px;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.04);}
  .pro-av{width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,#1F3465,#2c4a8a);color:#fff;font-size:22px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
  .pro-card h4{font-size:16.5px;margin-bottom:8px;}
  .pro-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-bottom:10px;}
  .pro-tags span{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:980px;}
  .pro-tags .q-cert{background:rgba(0,177,177,.12);color:var(--teal-ink);}
  .pro-tags .q-cand{background:rgba(31,52,101,.09);color:var(--accent);}
  .pro-tags .q-san{background:rgba(182,11,81,.09);color:var(--clinic);}
  .pro-card .spec{font-size:13px;color:#6e6e73;line-height:1.5;min-height:38px;}
  .pro-card a{display:inline-block;margin-top:12px;color:var(--accent);font-weight:600;font-size:13.5px;}
  .pro-more{margin-top:34px;text-align:center;font-size:14px;color:#6e6e73;line-height:1.6;}

  /* ==================== NEWSLETTER ==================== */
  .nl-band{background:linear-gradient(135deg,#1F3465,#27437f);border-radius:30px;max-width:1120px;margin:0 auto 100px;padding:0;color:#fff;display:grid;grid-template-columns:1.15fr 1fr;overflow:hidden;text-align:left;}
  .nl-body{padding:38px 44px;}
  .nl-img{background-size:cover;background-position:center 30%;min-height:230px;}
  @media(max-width:900px){ .nl-band{grid-template-columns:1fr;} .nl-img{min-height:220px;order:-1;} .nl-body{padding:40px 26px;} }
  .nl-band h2{font-size:clamp(26px,3.4vw,40px);letter-spacing:-.02em;}
  .nl-band .lead{color:rgba(255,255,255,.75);max-width:560px;margin:12px 0 0;font-size:16px;line-height:1.6;}
  .nl-form{display:flex;gap:12px;max-width:480px;margin:26px 0 0;}
  .nl-form input{flex:1;padding:14px 20px;border:none;border-radius:980px;font-size:15px;font-family:inherit;outline:none;}
  .nl-form button{border:none;cursor:pointer;font-family:inherit;background:var(--teal);color:#fff;font-size:15px;font-weight:600;padding:14px 28px;border-radius:980px;transition:filter .2s;white-space:nowrap;}
  .nl-form button:hover{filter:brightness(1.1);}
  .nl-note{margin-top:14px;font-size:12px;color:rgba(255,255,255,.55);}
  .nl-ok{margin-top:22px;font-size:16px;font-weight:600;color:#7fe7d0;display:none;}
  @media(max-width:740px){
    .ves-grid,.vals{grid-template-columns:1fr;}
    .pro-grid{grid-template-columns:1fr;}
    .nl-form{flex-direction:column;}
    .nl-band{border-radius:26px;margin:0 18px 70px;}
  }
  @media(min-width:741px) and (max-width:1000px){ .pro-grid{grid-template-columns:1fr 1fr;} }

  /* ==================== SELETTORE LINGUA ==================== */
  .lang-sel{appearance:none;-webkit-appearance:none;border:1.5px solid #c7c7cc;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%233a3a3c' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center;border-radius:980px;padding:0 30px 0 16px;height:32px;line-height:30px;vertical-align:middle;margin-top:auto;margin-bottom:auto;align-self:center;box-sizing:border-box;font-family:inherit;font-size:13px;font-weight:600;color:#3a3a3c;cursor:pointer;outline:none;margin-right:6px;position:relative;line-height:1.2;transition:border .2s;}
  .lang-sel:hover{border-color:#a1a1a6;}
  .lang-toast{position:fixed;top:70px;left:50%;transform:translateX(-50%);background:#1d1d1f;color:#fff;font-size:13px;padding:11px 20px;border-radius:980px;z-index:1200;opacity:0;transition:opacity .35s;pointer-events:none;max-width:88vw;text-align:center;}
  .lang-toast.show{opacity:1;}
  @media(max-width:740px){ .nav-right .lang-sel{display:none;} }
  .mm-lang{display:flex;gap:10px;align-items:center;font-size:14px;color:#6e6e73;}
  .mm-lang button{border:1px solid #d2d2d7;background:#fff;border-radius:980px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;}
  .mm-lang button.on{background:var(--accent);border-color:var(--accent);color:#fff;}


  .bk-price{font-size:13px;font-weight:700;color:var(--accent);margin:-2px 0 8px;}
  .bk-price small{font-weight:500;color:#6e6e73;display:block;font-size:12px;margin-top:2px;}


  .tile-img .tag{display:table;margin-bottom:7px;}
  .tile-img .tag-freq{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.5);color:#fff;backdrop-filter:blur(6px);margin-left:0;}


  /* ==================== CALL INFORMATIVA ==================== */
  .ci-band{max-width:1120px;margin:0 auto;padding:0 24px 100px;}
  .ci-card{border:1px solid #e8e8ed;border-radius:26px;background:#fff;box-shadow:0 14px 40px rgba(0,0,0,.06);padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
  .ci-card h2{font-size:clamp(24px,3vw,34px);letter-spacing:-.02em;}
  .ci-card .lead{color:#6e6e73;font-size:15.5px;margin-top:10px;line-height:1.6;}
  .ci-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;}
  .ci-chips span{font-size:12.5px;font-weight:600;color:var(--teal-ink);background:rgba(0,177,177,.1);border-radius:980px;padding:6px 14px;}
  .ci-lab{font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6e6e73;margin:18px 0 10px;}
  .ci-days{display:flex;gap:8px;flex-wrap:wrap;}
  .ci-days button,.ci-slots button{border:1.5px solid #d2d2d7;background:#fff;border-radius:14px;padding:10px 13px;font-family:inherit;font-size:13.5px;font-weight:600;color:#1d1d1f;cursor:pointer;transition:all .15s;line-height:1.25;}
  .ci-days button small{display:block;font-weight:500;font-size:10.5px;color:#a1a1a6;letter-spacing:.05em;text-transform:uppercase;}
  .ci-days button.sel,.ci-slots button.sel{background:var(--teal);border-color:var(--teal);color:#fff;}
  .ci-days button.sel small{color:rgba(255,255,255,.8);}
  .ci-slots{display:flex;gap:8px;flex-wrap:wrap;}
  .ci-form{display:flex;flex-direction:column;gap:10px;margin-top:18px;}
  .ci-form input,.ci-form select{padding:12px 14px;border:1px solid #d2d2d7;border-radius:12px;font-size:14.5px;font-family:inherit;outline:none;background:#fff;}
  .ci-form input:focus{border-color:var(--teal);}
  .ci-btn{border:none;cursor:pointer;font-family:inherit;background:linear-gradient(135deg,#00969b,#00B1B1);color:#fff;font-size:15px;font-weight:600;padding:13px 30px;border-radius:980px;margin-top:6px;transition:filter .2s;box-shadow:0 8px 22px rgba(0,150,150,.3);}
  .ci-btn:hover{filter:brightness(1.08);}
  .ci-ok{display:none;font-size:16px;font-weight:600;color:var(--teal-ink);margin-top:14px;line-height:1.5;}
  .ci-note{font-size:11.5px;color:#a1a1a6;margin-top:12px;line-height:1.5;}
  @media(max-width:900px){ .ci-card{grid-template-columns:1fr;padding:28px 22px;} }


  /* ==================== FILTRI DIRECTORY ==================== */
  .pro-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:30px 0 10px;}
  .pro-bar input{flex:1 1 230px;min-width:200px;padding:12px 20px;border:1px solid #d2d2d7;border-radius:980px;font-size:14px;font-family:inherit;outline:none;background:#fff;transition:border .2s;}
  .pro-bar input:focus{border-color:var(--accent);}
  .pf{width:auto;flex:0 0 auto;appearance:none;-webkit-appearance:none;padding:11px 36px 11px 18px;border:1px solid #d2d2d7;border-radius:980px;font-family:inherit;font-size:13.5px;font-weight:600;color:#1d1d1f;cursor:pointer;outline:none;transition:all .2s;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236e6e73' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 15px center;}
  .pf:hover{border-color:#a1a1a6;}
  .pf:focus{border-color:var(--accent);}
  .pf.active{background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23ffffff' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 15px center;color:#fff;border-color:var(--accent);}
  .pro-reset{background:none;border:none;font-family:inherit;font-size:13px;font-weight:600;color:#6e6e73;cursor:pointer;padding:6px 4px;display:none;}
  .pro-reset:hover{color:var(--clinic);}
  .pro-reset.show{display:inline-block;}

  /* ==================== PAGINA PROFESSIONISTA ==================== */
  .pp-wrap{max-width:980px;margin:0 auto;padding:120px 24px 90px;}
  .pp-back{font-size:13.5px;color:#6e6e73;font-weight:600;}
  .pp-back:hover{color:var(--accent);}
  .pp-head{display:flex;gap:30px;align-items:center;margin-top:22px;flex-wrap:wrap;}
  .pp-av{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#1F3465,#2c4a8a);color:#fff;font-size:38px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none;}
  .pp-head h1{font-size:clamp(28px,3.6vw,42px);letter-spacing:-.02em;}
  .pp-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px;}
  .pp-meta{margin-top:10px;font-size:14.5px;color:#6e6e73;}
  .pp-meta b{color:#1d1d1f;font-weight:600;}
  .pp-cols{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;margin-top:44px;align-items:start;}
  .pp-cols h3{font-size:19px;margin-bottom:12px;}
  .pp-bio p{font-size:15.5px;line-height:1.7;color:#3a3a3c;margin-bottom:14px;}
  .pp-spec{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;}
  .pp-spec span{font-size:13px;font-weight:600;border:1px solid #d2d2d7;border-radius:980px;padding:8px 16px;color:#3a3a3c;}
  .pp-cert{margin-top:34px;}
  .pp-cert .row{display:flex;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid #ececf0;font-size:14.5px;}
  .pp-cert .row .ico{width:36px;height:36px;flex:none;border-radius:11px;background:rgba(0,177,177,.1);color:var(--teal-ink);display:flex;align-items:center;justify-content:center;font-size:16px;}
  .pp-cert .row small{color:#6e6e73;display:block;font-size:12.5px;}
  .pp-side{border:1px solid #e8e8ed;border-radius:22px;background:#fff;padding:28px;box-shadow:0 12px 32px rgba(0,0,0,.05);position:sticky;top:96px;}
  .pp-side h3{font-size:17px;margin-bottom:14px;}
  .pp-side .r{display:flex;gap:12px;align-items:center;padding:9px 0;font-size:14px;color:#3a3a3c;}
  .pp-side .r .ic{width:20px;text-align:center;flex:none;}
  .pp-side a{color:var(--accent);font-weight:600;}
  .pp-cta{display:block;text-align:center;background:var(--accent);color:#fff;font-size:15px;font-weight:600;padding:13px;border-radius:980px;margin-top:16px;transition:filter .2s;}
  .pp-cta:hover{filter:brightness(1.15);}
  .pp-side a.pp-cta{color:#fff;}
  .pp-note{font-size:11.5px;color:#a1a1a6;margin-top:14px;line-height:1.5;}
  @media(max-width:900px){ .pp-cols{grid-template-columns:1fr;} .pp-side{position:static;} }


  .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
  .hero-photo.has-video{animation:none;}
  .hero-photo .wave-canvas{z-index:2;}
  .hero-photo::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(160deg, rgba(10,17,40,.38) 0%, rgba(31,52,101,.16) 55%, rgba(10,17,40,.34) 100%);pointer-events:none;}


  .ves-fold{max-width:1020px;margin:44px auto 0;padding:0 24px;}
  .ves-fold details{border:1px solid #e8e8ed;border-radius:18px;background:#fff;padding:4px 24px;}
  .ves-fold summary{cursor:pointer;font-weight:700;font-size:15.5px;padding:16px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;}
  .ves-fold summary::-webkit-details-marker{display:none;}
  .ves-fold summary small{font-weight:500;color:#a1a1a6;font-size:12.5px;}
  .ves-fold summary .arrow{transition:transform .25s;color:#a1a1a6;flex:none;}
  .ves-fold details[open] summary .arrow{transform:rotate(90deg);}
  .ves-fold .ves-grid{padding:0;margin:10px 0 20px;}
  .ves-fold .ves-it{background:#fafafa;border-color:#ececf0;}
  .mission{max-width:820px;margin:0 auto 44px;padding:0 24px;text-align:center;}
  .mission p{font-size:clamp(17px,2vw,21px);line-height:1.65;color:#3a3a3c;}
  .mission b{color:var(--accent);}


  .bk-grid2{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:8px;}
  .bk-grid2 input{margin:0 !important;width:100%;font-size:13px;padding:8px 11px;}
  .bk-grid2 .full{grid-column:1/-1;}


  /* ---- filtri catalogo formazione ---- */
  .fm-bar{display:flex;flex-direction:column;gap:10px;align-items:center;margin:34px auto 0;padding:0 24px;max-width:1100px;}
  .fm-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center;}
  .fm-lab{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#a1a1a6;margin-right:4px;}
  .fm-pill{border:1.5px solid #d2d2d7;background:#fff;border-radius:980px;padding:9px 18px;font-family:inherit;font-size:13.5px;font-weight:600;color:#1d1d1f;cursor:pointer;transition:all .18s;}
  .fm-pill:hover{border-color:#a1a1a6;}
  .fm-pill.on{background:var(--accent);border-color:var(--accent);color:#fff;}




  .fac-grid{display:flex;flex-direction:column;gap:12px;margin-top:30px;max-width:780px;}
  .fac-card{border:1px solid #e8e8ed;border-radius:20px;background:#fff;text-align:left;box-shadow:0 8px 24px rgba(0,0,0,.04);overflow:hidden;}
  .fac-card summary{list-style:none;cursor:pointer;display:flex;gap:18px;align-items:center;padding:18px 22px;}
  .fac-card summary::-webkit-details-marker{display:none;}
  .fac-card summary:hover{background:#fafafa;}
  .fac-card .pro-av{width:56px;height:56px;font-size:18px;margin:0;flex:none;background-size:cover;background-position:center;}
  .fac-card h4{font-size:16px;margin-bottom:2px;}
  .fac-card .fr{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--teal-ink);}
  .fac-card .arrow{margin-left:auto;color:#a1a1a6;transition:transform .25s;flex:none;font-size:18px;}
  .fac-card[open] .arrow{transform:rotate(90deg);}
  .fac-card p{font-size:13.5px;color:#6e6e73;line-height:1.65;padding:0 22px 20px 96px;}
  .fac-note{margin-top:18px;font-size:12px;color:#a1a1a6;font-style:italic;}
  @media(max-width:600px){.fac-card p{padding-left:22px;}}




  .cat-pill{position:absolute;top:26px;left:26px;z-index:2;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;padding:8px 18px;border-radius:980px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 6px 18px rgba(0,0,0,.18);}
  .cat-form{background:rgba(0,150,155,.88);}
  .cat-clin{background:rgba(182,11,81,.88);}


  /* ---- le parole del fondatore ---- */
  .founder{background:var(--bg-soft);padding-top:80px;padding-bottom:80px;}
  .founder .fq{max-width:820px;margin:0 auto;padding:0 24px;text-align:center;}
  .founder .mark{font-size:84px;line-height:.6;color:var(--teal);font-weight:800;display:block;margin-bottom:18px;font-family:Georgia,serif;}
  .founder blockquote{font-size:clamp(21px,2.6vw,29px);font-weight:600;letter-spacing:-.02em;line-height:1.4;color:#1d1d1f;}
  .founder .sig{display:flex;align-items:center;gap:14px;justify-content:center;margin-top:30px;}
  .founder .sig .av{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#1F3465,#2c4a8a);color:#fff;font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:center;}
  .founder .sig b{display:inline;font-size:14px;}
  .founder .sig small{color:#6e6e73;font-size:13px;}


  /* ==================== NEWS ==================== */
  .news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1180px;margin:40px auto 0;padding:0 24px;}
  .news-card{background:#fff;border:1px solid #e8e8ed;border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:10px;box-shadow:0 8px 24px rgba(0,0,0,.04);text-align:left;transition:transform .25s,box-shadow .25s;}
  .news-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.09);}
  .news-top{display:flex;align-items:center;gap:10px;}
  .news-date{font-size:12px;color:#a1a1a6;font-weight:600;}
  .news-card h3{font-size:17.5px;line-height:1.35;letter-spacing:-.01em;}
  .news-card p{font-size:13.5px;color:#6e6e73;line-height:1.6;flex:1;}
  .news-card .card-link{font-size:13.5px;}
  .news-all{text-align:center;margin-top:34px;}
  .news-all a{color:var(--accent);font-weight:600;font-size:15px;}
  .news-all a:hover{text-decoration:underline;}
  .nw-wrap{max-width:1180px;margin:0 auto;padding:130px 24px 90px;}
  .nw-wrap h1{font-size:clamp(30px,4vw,50px);letter-spacing:-.02em;}
  .nw-wrap .sub{color:#6e6e73;font-size:16.5px;margin-top:10px;}
  .nw-wrap .news-grid{padding:0;margin-top:40px;}
  @media(max-width:900px){.news-grid{grid-template-columns:1fr;}}


  /* ==================== STORIA + GALLERIA ISTITUTO ==================== */
  .story{max-width:900px;margin:44px auto 0;padding:0 24px;}
  .story-it{display:grid;grid-template-columns:110px 1fr 220px;gap:24px;align-items:center;padding:26px 0;border-bottom:1px solid #ececf0;}
  .story-it:last-child{border-bottom:none;}
  .story-y{font-size:clamp(22px,2.4vw,30px);font-weight:800;letter-spacing:-.02em;color:var(--teal-ink);}
  .story-it h4{font-size:16.5px;margin-bottom:4px;}
  .story-it p{font-size:14px;color:#6e6e73;line-height:1.6;}
  .story-ph{height:120px;border-radius:14px;background-size:cover;background-position:center;}
  .story-ph.ph-arch{background:#f5f5f7;border:1.5px dashed #d2d2d7;display:flex;align-items:center;justify-content:center;font-size:11.5px;color:#a1a1a6;text-align:center;padding:10px;}
  .gal{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1180px;margin:40px auto 0;padding:0 24px;}
  .gal div{border-radius:16px;background-size:cover;background-position:center;height:230px;transition:transform .3s;}
  .gal div:hover{transform:scale(1.02);}
  .gal .tall{grid-row:span 2;height:auto;min-height:474px;}
  .gal .wide{grid-column:span 2;}
  @media(max-width:880px){
    .story-it{grid-template-columns:70px 1fr;}
    .story-ph{display:none;}
    .gal{grid-template-columns:1fr 1fr;}
    .gal .tall{grid-row:auto;min-height:230px;}
.gal .wide{grid-column:auto;}
  }


  .news-top .npill{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;padding:5px 13px;border-radius:980px;}
  .npill.f{background:#00969b;}
  .npill.c{background:#B60B51;}
  .npill.r{background:var(--accent);}


  /* ---- per chi è ---- */
  .who-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1280px;margin:44px auto 0;padding:0 24px;}
  .who{position:relative;border-radius:22px;overflow:hidden;min-height:400px;display:flex;flex-direction:column;justify-content:flex-end;padding:26px 24px;color:#fff;background-size:cover;background-position:center;transition:transform .3s,box-shadow .3s;box-shadow:0 12px 32px rgba(0,0,0,.12);}
  .who::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,17,40,.05) 30%,rgba(10,17,40,.82) 100%);transition:background .3s;}
  .who:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(0,0,0,.22);}
  .who > *{position:relative;}
  .who h3{font-size:21px;letter-spacing:-.01em;margin-bottom:8px;}
  .who p{font-size:13.5px;color:rgba(255,255,255,.85);line-height:1.55;margin-bottom:14px;min-height:84px;}
  .who h3{min-height:1.2em;}
  .who .card-link{font-size:13.5px;color:#7fe7d0;}
  @media(max-width:900px){.who-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.who-grid{grid-template-columns:1fr;}}
  /* ---- fiducia checkout ---- */
  .ck-trust{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:16px;font-size:12px;color:#6e6e73;}
  .ck-trust span{display:flex;align-items:center;gap:6px;font-weight:600;}
  /* ---- whatsapp flottante ---- */
  .wa-fab{position:fixed;right:20px;bottom:22px;width:54px;height:54px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(37,211,102,.45);z-index:1100;transition:transform .2s,bottom .3s;}
  .wa-fab:hover{transform:scale(1.08);}
  .wa-fab img{width:30px;height:30px;}
  /* ---- bottoni contatto rapido ---- */
  .quick-call{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap;}
  .quick-call a{display:inline-flex;align-items:center;gap:8px;border:1.5px solid #d2d2d7;border-radius:980px;padding:9px 18px;font-size:13.5px;font-weight:600;color:#1d1d1f;transition:all .2s;}
  .quick-call a:hover{border-color:var(--accent);color:var(--accent);}
  .quick-call a.wa{border-color:#25D366;color:#128C7E;}


  .dip-photo{text-align:center;margin-bottom:34px;}
  .dip-photo img{width:100%;max-width:430px;border-radius:12px;box-shadow:0 26px 60px rgba(0,0,0,.28);}


  /* ==================== BANDE CROMATICHE AREE CLINICA ==================== */
  .area-band{--ac:#B60B51;border-radius:30px;max-width:1280px;margin:34px auto 0;padding:14px 30px 64px;}
  .ab-med{--ac:#B60B51;background:linear-gradient(180deg,rgba(182,11,81,.06),rgba(182,11,81,.015));}
  .ab-logo{--ac:#008C8C;background:linear-gradient(180deg,rgba(0,177,177,.08),rgba(0,177,177,.02));}
  .ab-psi{--ac:#008C8C;background:linear-gradient(180deg,rgba(0,177,177,.08),rgba(0,177,177,.02));}
  .ab-art{--ac:#1F3465;background:linear-gradient(180deg,rgba(31,52,101,.06),rgba(31,52,101,.015));}
  .area-band .area-head{margin-top:26px;}
  .area-band h3.sec{color:var(--ac);text-transform:uppercase;letter-spacing:.04em;}
  .area-band .svc-steps span{background:color-mix(in srgb, var(--ac) 9%, white);color:var(--ac);border-color:transparent;}
  .area-band .card-link{color:var(--ac);}
  .area-band .svc-text .tag{background:var(--ac);color:#fff;}
  @media(max-width:880px){.area-band{border-radius:0;padding-left:18px;padding-right:18px;}}


  .lg-tabs{display:flex;gap:5px;background:#f5f5f7;border-radius:980px;padding:4px;margin-bottom:24px;}
  .lg-tabs button{flex:1;border:none;background:transparent;font-family:inherit;font-size:14px;font-weight:600;color:#6e6e73;padding:9px;border-radius:980px;cursor:pointer;transition:all .2s;}
  .lg-tabs button.on{background:#fff;color:#1d1d1f;box-shadow:0 2px 8px rgba(0,0,0,.08);}


  /* ==================== EVOX27 ==================== */
  .ev-hero{--ev-bg:url(../img/img_015.jpg);min-height:86vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;color:#fff;background:linear-gradient(180deg,rgba(10,17,40,.55),rgba(31,52,101,.38) 45%,rgba(10,17,40,.82)),var(--ev-bg) center 22%/cover no-repeat;padding:120px 24px 80px;}
  .ev-hero .logo-ev{font-size:clamp(54px,9vw,110px);font-weight:800;letter-spacing:-.04em;line-height:.95;}
  .ev-hero .logo-ev em{font-style:normal;color:#7fe7d0;}
  .ev-hero .claim{font-size:clamp(18px,2.4vw,26px);color:rgba(255,255,255,.9);margin-top:18px;font-weight:600;}
  .ev-hero .when{margin-top:14px;font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.75);font-weight:700;}
  .ev-badge{position:absolute;top:86px;left:50%;transform:translateX(-50%);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25);padding:8px 18px;border-radius:980px;}
  .ev-nums{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:36px;}
  .ev-nums div{background:rgba(255,255,255,.12);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:14px 24px;font-size:13.5px;font-weight:600;}
  .ev-nums b{display:block;font-size:22px;letter-spacing:-.02em;}
  .ev-tick{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1080px;margin:40px auto 0;padding:0 24px;}
  .ev-card{border:1px solid #e8e8ed;border-radius:22px;background:#fff;padding:30px 26px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.05);}
  .ev-card.hi{border:2px solid var(--teal);box-shadow:0 18px 44px rgba(0,150,150,.18);position:relative;}
  .ev-card .pill{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--teal);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 16px;border-radius:980px;}
  .ev-card h4{font-size:17px;}
  .ev-card .pr{font-size:30px;font-weight:800;letter-spacing:-.02em;margin:10px 0 2px;}
  .ev-card small{color:#6e6e73;font-size:12.5px;display:block;line-height:1.5;}
  .ev-card .btn{margin-top:16px;}
  @media(max-width:880px){.ev-tick{grid-template-columns:1fr;}}


  .ev-hero .logo-ev em{color:#FF6B4A;}
  .ev-badge{border-color:rgba(255,107,74,.55);color:#FF7A5C;}
  .ev-nums b{color:#FF6B4A;}
  .ev-day{display:inline-flex;align-items:center;gap:10px;background:#FF6B4A;color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:7px 18px;border-radius:980px;margin-bottom:14px;}
  .ev-prog{max-width:900px;margin:36px auto 0;padding:0 24px;}
  .ev-prog .mod-acc summary b{font-size:15.5px;}
  .ev-slot{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:10px 0;border-bottom:1px solid #ececf0;font-size:14px;}
  .ev-slot:last-child{border-bottom:none;}
  .ev-slot .h{font-weight:700;color:#D54F2C;white-space:nowrap;}
  .ev-card.hi{border-color:#FF6B4A;box-shadow:0 18px 44px rgba(255,107,74,.25);}
  .ev-card .pill{background:#FF6B4A;color:#fff;}


  .logo-ev .lx{color:#E0286E;}
  .ev-logoimg{text-align:center;margin-bottom:26px;}
  .ev-logoimg img{width:min(300px,60vw);display:block;margin:0 auto 6px;}
  .ev-logoimg small{color:#a1a1a6;font-size:12px;}


  .logo-ev27{display:flex;align-items:center;justify-content:center;gap:.06em;}
  .logo-ev27 img{height:clamp(50px,6.8vw,88px);display:block;}
  .logo-ev27 em{font-style:normal;font-size:clamp(70px,9.5vw,123px);font-weight:800;letter-spacing:-.04em;line-height:1;}
  .ev-logoimg .lk{display:flex;align-items:center;justify-content:center;gap:5px;margin-bottom:6px;}
  .ev-logoimg .lk img{width:min(250px,50vw);margin:0;}
  .ev-logoimg .lk em{font-style:normal;color:#FF6B4A;font-weight:800;letter-spacing:-.04em;line-height:1;font-size:min(92px,18vw);}


  /* cookie banner */
  #cb-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:999;background:#fff;border:1px solid #e8e8ed;border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.18);padding:18px 22px;display:none;align-items:center;gap:18px;flex-wrap:wrap;max-width:920px;margin:0 auto;}
  #cb-banner.show{display:flex;}
  #cb-banner p{flex:1;min-width:260px;font-size:13px;line-height:1.55;color:#3a3a3c;margin:0;}
  #cb-banner p a{color:var(--accent);}
  #cb-banner .cb-btns{display:flex;gap:10px;flex-wrap:wrap;}
  #cb-banner button{cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:600;padding:10px 20px;border-radius:980px;border:1px solid #d2d2d7;background:#fff;color:var(--accent);}
  #cb-banner button.pri{background:var(--accent);border-color:var(--accent);color:#fff;}


  .nl-form2{display:flex;flex-direction:column;gap:10px;max-width:520px;margin-top:20px;}
  .nl-row{display:flex;gap:10px;}
  .nl-form2 input{flex:1;min-width:0;padding:12px 18px;border:none;border-radius:980px;font-size:14.5px;font-family:inherit;outline:none;}
  .nl-form2 button{border:none;cursor:pointer;font-family:inherit;background:var(--teal);color:#fff;font-size:14.5px;font-weight:600;padding:12px 26px;border-radius:980px;transition:filter .2s;white-space:nowrap;flex:none;}
  .nl-form2 button:hover{filter:brightness(1.1);}
  .nl-consent{display:flex;gap:9px;align-items:flex-start;margin-top:4px;font-size:12px;color:rgba(255,255,255,.6);cursor:pointer;line-height:1.55;}
  .nl-consent input{flex:none;margin-top:2px;width:auto;}
  .nl-band .lead{font-size:15px;margin-top:10px;}


  .pp-edu{margin-top:12px;}
  .pp-edu details{border:1px solid #e8e8ed;border-radius:14px;margin-bottom:10px;background:#fff;overflow:hidden;}
  .pp-edu summary{cursor:pointer;padding:13px 18px;font-weight:600;font-size:14.5px;color:var(--accent);list-style:none;display:flex;justify-content:space-between;align-items:center;}
  .pp-edu summary::-webkit-details-marker{display:none;}
  .pp-edu summary::after{content:"+";color:#a1a1a6;font-size:18px;font-weight:400;}
  .pp-edu details[open] summary::after{content:"–";}
  .pp-edu .bd{padding:0 18px 14px;font-size:13.5px;color:#3a3a3c;line-height:1.7;}
  .pp-edu .bd ul{margin:0;padding-left:18px;}
  .pp-edu .bd li{margin-bottom:4px;}
  .pp-quote{margin-top:30px;background:#f5f5f7;border-radius:16px;padding:22px 24px;font-style:italic;color:#3a3a3c;line-height:1.7;font-size:15px;}
  .pp-corsi{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px;}
  .pp-corsi span{background:#eef6f6;color:var(--teal-ink);padding:6px 12px;border-radius:99px;font-size:12.5px;font-weight:600;}


/* ==================== EVOX27 · redesign ==================== */
.ev-hero{min-height:92vh;}
.ev-subclaim{margin-top:16px;font-size:clamp(14.5px,1.7vw,17.5px);line-height:1.65;color:rgba(255,255,255,.78);font-weight:500;max-width:760px;margin-left:auto;margin-right:auto;}
.ev-hero .when{color:#FFB37E;margin-top:20px;}
@media(max-width:700px){.ev-br{display:none;}.ev-badge{top:64px;font-size:9.5px;letter-spacing:.1em;padding:6px 12px;white-space:nowrap;max-width:94vw;overflow:hidden;text-overflow:ellipsis;}.ev-hero{padding-top:140px;}}
.ev-cinesec{background:#0b1022;padding:90px 24px 100px;}
.ev-cinesec h2{color:#fff;}
.ev-cine{max-width:960px;margin:40px auto 0;}
.ev-cine video{width:100%;display:block;border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.55);background:#000;aspect-ratio:16/9;object-fit:cover;}
.ev-topics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1160px;margin:44px auto 0;padding:0 24px;}
.ev-topic{background:#fff;border:1px solid #e8e8ed;border-radius:20px;padding:26px 22px 24px;box-shadow:0 8px 26px rgba(0,0,0,.045);position:relative;overflow:hidden;transition:transform .3s ease, box-shadow .3s ease;}
.ev-topic:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(255,107,74,.16);}
.ev-topic .tnum{display:block;font-size:34px;font-weight:800;letter-spacing:-.04em;color:#FF6B4A;opacity:.9;line-height:1;margin-bottom:12px;}
.ev-topic h3{font-size:16.5px;letter-spacing:-.01em;margin-bottom:8px;}
.ev-topic p{font-size:13px;line-height:1.6;color:#6e6e73;}
@media(max-width:1024px){.ev-topics{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.ev-topics{grid-template-columns:1fr;}}
.ev-fmts{max-width:860px;margin:40px auto 0;padding:0 24px;display:grid;gap:14px;}
.ev-fmt{background:#fff;border:1px solid #e8e8ed;border-left:5px solid #FF6B4A;border-radius:16px;padding:20px 24px;box-shadow:0 8px 24px rgba(0,0,0,.04);}
.ev-fmt .fh{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.ev-fmt h4{font-size:16px;letter-spacing:-.01em;}
.ev-fmt .fchip{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#D54F2C;background:rgba(255,107,74,.12);padding:4px 12px;border-radius:980px;white-space:nowrap;}
.ev-fmt p{font-size:13.5px;line-height:1.6;color:#6e6e73;}
.ev-fmtnote{text-align:center;max-width:640px;margin:28px auto 0;font-size:13.5px;color:#6e6e73;font-weight:600;}
.ev-vids{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;max-width:1240px;margin:44px auto 0;padding:0 24px;}
.ev-vc{margin:0;}
.ev-vc .vwrap{border-radius:16px;overflow:hidden;background:#0b1022;box-shadow:0 12px 32px rgba(0,0,0,.14);aspect-ratio:16/9;}
.ev-vc video{width:100%;height:100%;display:block;object-fit:cover;}
.ev-vc figcaption{padding:12px 4px 0;}
.ev-vc b{display:block;font-size:14px;letter-spacing:-.01em;}
.ev-vc span{display:block;font-size:11.5px;color:#D54F2C;font-weight:700;margin-top:2px;}
.ev-vc small{display:block;font-size:11px;color:#a1a1a6;margin-top:3px;}
@media(max-width:1100px){.ev-vids{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px){.ev-vids{grid-template-columns:1fr 1fr;}}
@media(max-width:440px){.ev-vids{grid-template-columns:1fr;}}
.gala{position:relative;color:#fff;padding:130px 24px 150px;background:linear-gradient(180deg,rgba(8,5,3,.86),rgba(24,10,4,.55) 45%,rgba(8,5,3,.92)),var(--gala-bg) center 30%/cover no-repeat;overflow:hidden;}
.gala-glow{position:absolute;inset:auto 0 -40% 0;height:90%;background:radial-gradient(ellipse at 50% 100%,rgba(255,147,66,.34),rgba(255,107,74,.10) 45%,transparent 70%);pointer-events:none;}
.gala-inner{position:relative;max-width:820px;margin:0 auto;text-align:center;}
.gala h2{color:#fff;font-size:clamp(30px,4.6vw,52px);letter-spacing:-.03em;line-height:1.08;margin:10px 0 22px;text-shadow:0 4px 30px rgba(0,0,0,.5);}
.gala p{font-size:clamp(14.5px,1.8vw,17px);line-height:1.7;color:rgba(255,255,255,.88);max-width:680px;margin:0 auto;}
.gala p b{color:#FFB37E;}
.gala-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:44px auto 0;max-width:780px;}
.gala-steps div{background:rgba(20,10,4,.55);backdrop-filter:blur(8px);border:1px solid rgba(255,150,80,.28);border-radius:18px;padding:22px 18px;}
.gala-steps span{display:block;font-size:13px;font-weight:800;letter-spacing:.2em;color:#FF9A5C;margin-bottom:8px;}
.gala-steps b{display:block;font-size:15px;margin-bottom:6px;}
.gala-steps small{font-size:12.5px;line-height:1.55;color:rgba(255,255,255,.72);display:block;}
.gala-note{display:block;margin-top:30px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:rgba(255,179,126,.85);}
@media(max-width:640px){.gala-steps{grid-template-columns:1fr;}}
.candles{position:absolute;left:0;right:0;bottom:0;height:220px;pointer-events:none;}
.candles .fl{position:absolute;bottom:26px;width:7px;height:16px;border-radius:50% 50% 50% 50%/62% 62% 38% 38%;background:radial-gradient(circle at 50% 78%,#fff7d6 0%,#ffd27a 38%,#ff9142 68%,rgba(255,107,74,0) 100%);filter:blur(.4px);box-shadow:0 0 18px 7px rgba(255,150,60,.35),0 0 60px 24px rgba(255,120,50,.14);animation:evflick 2.4s ease-in-out infinite;transform-origin:50% 100%;}
.candles .fl::after{content:"";position:absolute;left:50%;top:100%;width:3px;height:9px;transform:translateX(-50%);background:linear-gradient(#e8d9c0,#b39a72);border-radius:2px;opacity:.8;}
@keyframes evflick{0%,100%{transform:scaleY(1) scaleX(1) rotate(0deg);opacity:.95;}25%{transform:scaleY(1.18) scaleX(.92) rotate(-2.5deg);opacity:1;}50%{transform:scaleY(.9) scaleX(1.06) rotate(2deg);opacity:.85;}75%{transform:scaleY(1.1) scaleX(.95) rotate(-1.5deg);opacity:.98;}}
.candles .f1{left:6%;animation-delay:0s;}
.candles .f2{left:16%;bottom:60px;transform:scale(.8);animation-delay:.5s;}
.candles .f3{left:27%;animation-delay:1.1s;}
.candles .f4{left:38%;bottom:48px;transform:scale(.7);animation-delay:.3s;}
.candles .f5{left:52%;animation-delay:.8s;}
.candles .f6{left:64%;bottom:64px;transform:scale(.85);animation-delay:1.6s;}
.candles .f7{left:75%;animation-delay:.2s;}
.candles .f8{left:86%;bottom:52px;transform:scale(.75);animation-delay:1.3s;}
.candles .f9{left:94%;animation-delay:.9s;}
.ev-tick2{grid-template-columns:repeat(2,1fr);max-width:760px;}
@media(max-width:700px){.ev-tick2{grid-template-columns:1fr;}}
.ev-ticknote{text-align:center;max-width:560px;margin:26px auto 0;font-size:12.5px;color:#6e6e73;line-height:1.6;padding:0 24px;}

/* EVOX27 · programma per aree, gala video, modale relatori, checkout */
.trk{display:inline-flex;align-items:center;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#fff;padding:3.5px 11px;border-radius:980px;white-space:nowrap;}
.t-cli{background:#B60B51;} .t-ria{background:#008C8C;} .t-art{background:#1F3465;}
.t-all{background:linear-gradient(90deg,#B60B51,#008C8C 50%,#1F3465);}
.ev-leg{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:26px;padding:0 24px;}
.ev-leg .trk{font-size:11px;padding:6px 15px;}
.ev-slot .trk{margin-right:10px;transform:translateY(-1.5px);}
.ev-sub{font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#a1a1a6;margin:16px 0 2px;}
.ev-slot{align-items:start;}
.gala-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.gala-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,5,3,.82),rgba(20,9,4,.42) 45%,rgba(8,5,3,.9));}
.gala{background:#0a0603;}
.gala-cta{margin-top:30px;}
.ev-vc .vwrap{position:relative;cursor:pointer;}
.ev-vc .vplay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.4));border-radius:16px;}
.ev-vc .vplay i{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.94);display:flex;align-items:center;justify-content:center;font-style:normal;color:#D54F2C;font-size:15px;padding-left:3px;box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform .2s;}
.ev-vc .vwrap:hover .vplay i{transform:scale(1.12);}
.evm-ov{position:fixed;inset:0;background:rgba(4,7,18,.92);z-index:2000;display:none;align-items:center;justify-content:center;padding:24px;}
.evm-ov.on{display:flex;}
.evm-box{width:min(920px,96vw);}
.evm-box video{width:100%;display:block;border-radius:18px;background:#000;box-shadow:0 40px 120px rgba(0,0,0,.6);aspect-ratio:16/9;}
.evm-cap{color:#fff;margin-top:14px;display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap;}
.evm-cap b{font-size:16px;}
.evm-cap span{color:rgba(255,255,255,.6);font-size:12.5px;}
.evm-x{position:absolute;top:18px;right:22px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:50%;width:40px;height:40px;font-size:16px;cursor:pointer;z-index:2;}
.evm-x:hover{background:rgba(255,255,255,.25);}
.evk-galabox{border:1.5px dashed #FF6B4A;border-radius:16px;padding:16px 18px;background:rgba(255,107,74,.05);}
.evk-galabox input{accent-color:#FF6B4A;}
.evk-note{font-size:13.5px;color:#6e6e73;line-height:1.6;background:#f5f5f7;border-radius:12px;padding:14px 16px;}
#page-evoxck .ck-check a{color:var(--accent);text-decoration:underline;}

/* EVOX27 · pass spettacolare: marquee, dark topics, media diffusi */
.ev-hero .claim{font-size:clamp(22px,3.2vw,36px);font-weight:800;letter-spacing:-.02em;}
.ev-marq{background:#FF6B4A;color:#fff;overflow:hidden;padding:13px 0;}
.ev-marq .in{display:inline-flex;white-space:nowrap;animation:evmarq 32s linear infinite;will-change:transform;}
.ev-marq span{display:inline-flex;align-items:center;font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-size:12.5px;}
.ev-marq i{font-style:normal;opacity:.55;margin:0 18px;font-size:11px;}
@keyframes evmarq{to{transform:translateX(-50%);}}
.ev-2col{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;max-width:1080px;margin:36px auto 0;padding:0 24px;}
@media(max-width:900px){.ev-2col{grid-template-columns:1fr;gap:28px;}}
.ev-med{margin:0;min-width:0;}
.ev-med .vwrap{position:relative;cursor:pointer;border-radius:18px;overflow:hidden;background:#0b1022;box-shadow:0 22px 54px rgba(0,0,0,.2);aspect-ratio:16/9;}
.ev-med video{width:100%;height:100%;object-fit:cover;display:block;}
.ev-med .vplay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.4));}
.ev-med .vplay i{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.94);display:flex;align-items:center;justify-content:center;font-style:normal;color:#D54F2C;font-size:16px;padding-left:3px;box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform .2s;}
.ev-med .vwrap:hover .vplay i{transform:scale(1.12);}
.ev-med figcaption{padding:12px 4px 0;font-size:13.5px;color:#1d1d1f;font-weight:700;}
.ev-med figcaption span{display:block;font-weight:500;color:#a1a1a6;font-size:12px;margin-top:3px;}
.ev-dark{background:#0b1022;position:relative;overflow:hidden;}
.ev-dark::before{content:"27";position:absolute;right:-3%;top:-8%;font-size:min(36vw,460px);font-weight:800;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px rgba(255,107,74,.18);pointer-events:none;line-height:1;}
.ev-dark .center,.ev-dark .ev-topics,.ev-dark .ev-feat{position:relative;z-index:1;}
.ev-dark h2{color:#fff;}
.ev-dark .lead{color:rgba(255,255,255,.72);}
.ev-dark .ev-topic{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);box-shadow:none;backdrop-filter:blur(4px);}
.ev-dark .ev-topic h3{color:#fff;}
.ev-dark .ev-topic p{color:rgba(255,255,255,.65);}
.ev-dark .ev-topic:hover{box-shadow:0 18px 44px rgba(255,107,74,.22);border-color:rgba(255,122,92,.4);}
.ev-dark .ev-med figcaption{color:#fff;}
.ev-dark .ev-med figcaption span{color:rgba(255,255,255,.55);}
.ev-feat{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;max-width:1080px;margin:60px auto 0;padding:0 24px;}
@media(max-width:900px){.ev-feat{grid-template-columns:1fr;gap:28px;}}
.ev-feat-txt h3{color:#fff;font-size:clamp(20px,2.6vw,29px);letter-spacing:-.02em;line-height:1.25;margin:8px 0 12px;}
.ev-feat-txt p{color:rgba(255,255,255,.7);font-size:14.5px;line-height:1.7;}
.ev-fmt2{max-width:1140px;margin:40px auto 0;padding:0 24px;display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:start;}
@media(max-width:900px){.ev-fmt2{grid-template-columns:1fr;}}
.ev-rail{display:flex;flex-direction:column;gap:26px;position:sticky;top:96px;}
@media(max-width:900px){.ev-rail{position:static;flex-direction:row;flex-wrap:wrap;}
.ev-rail .ev-med{flex:1 1 240px;}}
.ev-band{padding-top:90px;padding-bottom:90px;}
.ev-band .ev-2col{margin-top:0;}
.ev-band-txt h3{font-size:clamp(26px,3.4vw,40px);letter-spacing:-.02em;margin:8px 0 12px;}
.ev-band-txt p{color:#3a3a3c;font-size:15px;line-height:1.7;max-width:460px;}

.ev-med .vwrap.playing .vplay{display:none;}
.ev-med .vwrap.playing{cursor:default;box-shadow:0 22px 54px rgba(255,107,74,.3);}

.pp-tab{width:100%;border-collapse:collapse;margin:14px 0 6px;font-size:13.5px;}
.pp-tab td{padding:9px 0;border-bottom:1px solid #ececf0;}
.pp-tab td:first-child{color:#6e6e73;}
.pp-tab td:last-child{text-align:right;font-weight:600;color:#1d1d1f;}
.lg-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;}
@media(max-width:560px){.lg-grid2{grid-template-columns:1fr;}}

.nav-login,.nav-links a{white-space:nowrap;}
a.ar-app{text-decoration:none;color:inherit;display:flex;}
.ar-go.ghost{background:#fff;color:var(--accent);border:1.5px solid #d2d2d7;}
.pl-certbox{margin-top:24px;border:1.5px solid #85E7D0;background:linear-gradient(135deg,#f0fbf8,#e7f8f3);border-radius:18px;padding:22px 24px;display:none;gap:18px;align-items:center;flex-wrap:wrap;}
.pl-certbox .big{font-size:38px;line-height:1;}
.pl-certbox .tx b{display:block;font-size:16.5px;letter-spacing:-.01em;}
.pl-certbox .tx small{color:#33695e;display:block;margin-top:3px;font-size:13px;line-height:1.5;}
.pl-certbox .pl-next{margin-left:auto;background:#008C8C;}
@media(max-width:700px){.pl-certbox .pl-next{margin-left:0;}}

/* nota Centro della Voce + footer legale */
.cdv-note{max-width:900px;margin:-72px auto 84px;padding:24px 28px 26px;background:#fff;border:1px solid #e8e8ed;border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.05);}
.cdv-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.cdv-note .ic{flex:none;width:32px;height:32px;line-height:1;border-radius:50%;background:#eef4f4;color:var(--teal-ink);font-weight:800;font-size:15px;font-style:italic;font-family:Georgia,serif;display:flex;align-items:center;justify-content:center;}
.cdv-note h4{font-size:15px;letter-spacing:-.01em;color:#1d1d1f;margin:0;}
.cdv-note p{font-size:12.5px;line-height:1.7;color:#6e6e73;margin:0 0 8px;}
.cdv-note p:last-child{margin-bottom:0;}
@media(max-width:700px){.cdv-note{margin:-60px 18px 64px;padding:20px;}}
.flg{border-top:1px solid #e8e8ed;padding-top:28px;}
.flg h5{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#a1a1a6;margin-bottom:8px;font-weight:700;}
.flg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.flg-grid p{font-size:12px;line-height:1.75;color:#86868b;margin:0;}
.flg-grid b{color:#1d1d1f;}
.flg-roles{margin-top:22px;padding-top:16px;border-top:1px dashed #e8e8ed;font-size:11px;line-height:1.7;color:#a1a1a6;}
.flg-links{margin-top:14px;font-size:12px;color:#c7c7cc;}
.flg-links a{color:#86868b;text-decoration:none;}
.flg-links a:hover{text-decoration:underline;}
@media(max-width:760px){.flg-grid{grid-template-columns:1fr;gap:18px;}}

.ev-ctaline{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;margin:44px auto 0;color:rgba(255,255,255,.8);font-size:14.5px;font-weight:600;padding:0 24px;text-align:center;position:relative;z-index:1;}
.ev-buybar{position:fixed;left:0;right:0;bottom:0;z-index:900;transform:translateY(110%);transition:transform .35s ease;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(0,0,0,.08);box-shadow:0 -8px 30px rgba(0,0,0,.08);}
.ev-buybar.on{transform:none;}
.ev-buybar .in{max-width:1000px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 24px;}
.ev-buybar .t{font-size:13.5px;color:#3a3a3c;}
.ev-buybar .p{font-size:14px;color:#1d1d1f;margin-left:auto;}
.ev-buybar .p b{color:#D54F2C;font-size:16px;}
.ev-buybar .p s{color:#a1a1a6;font-size:12px;margin-left:4px;}
@media(max-width:640px){.ev-buybar .t{display:none;}.ev-buybar .p{margin-left:0;}.ev-buybar .in{justify-content:space-between;}}

/* hero home: velo blu sul video */
.hero-photo.has-video::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(31,52,101,.30),rgba(31,52,101,.10) 45%,rgba(10,17,40,.44));}

/* card professionista nel booking + team Centro della Voce */
#bkpro{margin:0 0 14px;}
.bkpro-lab{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#a1a1a6;margin-bottom:8px;}
.bkpro-card{display:flex;gap:14px;align-items:flex-start;background:#f9f9fb;border:1px solid #ececf0;border-radius:14px;padding:14px 16px;animation:heroIn .4s ease both;}
.bkpro-card b{display:block;font-size:15px;}
.bkpro-card span{display:block;font-size:12px;color:#B60B51;font-weight:700;margin-top:2px;}
.bkpro-card p{font-size:12.5px;color:#6e6e73;line-height:1.6;margin:7px 0 0;}
.bkpro-card a{font-size:12.5px;color:var(--accent);font-weight:600;text-decoration:none;}
.bkpro-em{font-size:11.5px;color:#a1a1a6;font-style:normal;}
.bkpro-note{font-size:12px;color:#6e6e73;background:#f5f5f7;border-radius:12px;padding:11px 14px;line-height:1.55;}
.bkpro-card .cdvt-av{width:52px;height:52px;}
.cdvt-av{width:64px;height:64px;border-radius:50%;background-size:cover;background-position:center;flex:none;}
.cdvt-ph{background:#eef1f6;color:#8a93a6;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;}
.cdvt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1080px;margin:40px auto 0;padding:0 24px;}
.cdvt-card{background:#fff;border:1px solid #e8e8ed;border-radius:18px;padding:24px;box-shadow:0 10px 28px rgba(0,0,0,.05);}
.cdvt-card .cdvt-av{width:72px;height:72px;margin-bottom:14px;}
.cdvt-card b{display:block;font-size:15.5px;}
.cdvt-card span{display:block;font-size:12px;color:#B60B51;font-weight:700;margin-top:3px;}
.cdvt-card p{font-size:12.5px;color:#6e6e73;line-height:1.6;margin:8px 0 6px;}
.cdvt-card a{font-size:12.5px;color:var(--accent);font-weight:600;text-decoration:none;}
@media(max-width:900px){.cdvt-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.cdvt-grid{grid-template-columns:1fr;}}
.bkpro-edu{margin-top:10px;}
.bkpro-edu summary{font-size:12.5px;}
.bkpro-edu .bd li{font-size:11.5px;}
.endo-item video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

/* leggibilità testi su hero fotografici */
.page-hero::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(16,5,10,.42) 0%,rgba(16,5,10,.22) 48%,rgba(16,5,10,.05) 100%),
             linear-gradient(0deg,rgba(16,5,10,.38) 0%,rgba(16,5,10,0) 55%);}
.page-hero h1,.page-hero .hero-sub,.page-hero .eyebrow{text-shadow:0 2px 22px rgba(0,0,0,.45),0 1px 3px rgba(0,0,0,.35);}

/* allineamento certificato/qualifica nella pagina corso */
.corso-qual .dip-photo,.corso-qual .diploma-card{grid-column:2;grid-row:1;}
.corso-qual > div.cq-tiles{grid-column:1;grid-row:1;align-self:center;}
.corso-qual > .cq-disc{grid-column:1/-1;margin:26px auto 0;text-align:center;max-width:680px;font-size:12px;color:#a1a1a6;line-height:1.6;}
@media (max-width:880px){
  .corso-qual .dip-photo,.corso-qual .diploma-card,.corso-qual > div.cq-tiles{grid-column:auto;grid-row:auto;align-self:auto;}
  .corso-qual > .cq-disc{grid-column:auto;margin:18px 0 0;}
}

/* minisito Andrea Bianchino */
.ab-hero{display:grid;grid-template-columns:1.3fr .7fr;gap:44px;align-items:center;}
.ab-photo{width:290px;height:290px;border-radius:50%;background-size:cover;background-position:center 18%;justify-self:end;box-shadow:0 30px 80px rgba(0,0,0,.45);border:4px solid rgba(255,255,255,.16);background-color:#2a3a5f;}
.ab-ghost{border:1px solid rgba(255,255,255,.55);color:#fff;background:transparent;}
.ab-ghost:hover{background:rgba(255,255,255,.12);}
.ab-bio p{margin-bottom:1.05em;}
.ab-card{display:grid;grid-template-columns:210px 1fr;gap:38px;align-items:center;background:#fff;border:1px solid #e8e8ed;border-radius:22px;padding:32px 40px;text-decoration:none;color:inherit;box-shadow:0 14px 40px rgba(0,0,0,.06);transition:transform .3s ease, box-shadow .3s ease;}
.ab-card:hover{transform:translateY(-3px);box-shadow:0 22px 54px rgba(0,0,0,.1);}
.ab-card-photo{width:210px;height:210px;border-radius:18px;background-size:cover;background-position:center 18%;background-color:#eef1f6;}
@media (max-width:880px){
  .ab-hero{grid-template-columns:1fr;gap:26px;}
  .ab-photo{justify-self:start;width:190px;height:190px;}
  .ab-card{grid-template-columns:1fr;gap:20px;padding:26px;}
  .ab-card-photo{width:140px;height:140px;}
}

/* pagina Andrea: numeri, anime, badge, galleria */
.ab-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1080px;margin:0 auto;padding:0 24px;text-align:center;}
.ab-stats b{display:block;font-size:clamp(40px,5vw,58px);letter-spacing:-.03em;color:var(--accent);}
.ab-stats span{display:block;font-size:13px;color:#6e6e73;line-height:1.5;margin-top:6px;}
.ab-tracks{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1120px;margin:44px auto 0;padding:0 24px;}
.ab-track{background:#fff;border:1px solid #e8e8ed;border-radius:20px;padding:28px;box-shadow:0 10px 30px rgba(0,0,0,.05);}
.ab-track h3{margin:14px 0 10px;font-size:19px;}
.ab-track p{font-size:13.5px;color:#6e6e73;line-height:1.65;}
.ab-badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:980px;margin:34px auto 0;padding:0 24px;}
.ab-badges span{border:1px solid #d8d8de;border-radius:100px;padding:9px 18px;font-size:13px;font-weight:600;color:#3a3a3f;background:#fff;white-space:nowrap;}
.ab-gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1080px;margin:44px auto 0;padding:0 24px;}
.ab-gallery figure{margin:0;}
.ab-gallery img{width:100%;border-radius:16px;display:block;box-shadow:0 14px 36px rgba(0,0,0,.12);}
.ab-gallery figcaption{font-size:12.5px;color:#6e6e73;margin-top:10px;text-align:center;}
@media (max-width:880px){
  .ab-stats{grid-template-columns:1fr 1fr;gap:26px;}
  .ab-tracks{grid-template-columns:1fr;}
  .ab-gallery{grid-template-columns:1fr;}
}

/* pagina Andrea: accensione cromatica */
#page-andrea .page-hero{background:
  radial-gradient(900px 480px at 88% 18%, rgba(0,177,177,.28), transparent 62%),
  radial-gradient(760px 540px at 8% 95%, rgba(182,11,81,.38), transparent 62%),
  linear-gradient(150deg,#16244a 0%,#1F3465 52%,#411431 100%);}
#page-andrea .page-hero .eyebrow{color:#6fd8d8 !important;}
.ab-photo{border-color:rgba(0,177,177,.45);box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 0 12px rgba(0,177,177,.10);}
.ab-ghost:hover{border-color:#6fd8d8;color:#6fd8d8;background:rgba(0,177,177,.08);}
.ab-stats > div:nth-child(1) b{color:#B60B51;}
.ab-stats > div:nth-child(2) b{color:#008C8C;}
.ab-stats > div:nth-child(3) b{color:#1F3465;}
.ab-stats > div:nth-child(4) b{color:#FF6B4A;}
.ab-track{border-top:4px solid #e8e8ed;}
.ab-track:nth-child(1){border-top-color:#B60B51;background:linear-gradient(180deg,#fdf1f6 0%,#fff 42%);}
.ab-track:nth-child(2){border-top-color:#00B1B1;background:linear-gradient(180deg,#ecf9f8 0%,#fff 42%);}
.ab-track:nth-child(3){border-top-color:#1F3465;background:linear-gradient(180deg,#eef1f8 0%,#fff 42%);}
.ab-track:nth-child(1) h3{color:#B60B51;}
.ab-track:nth-child(2) h3{color:#008C8C;}
.ab-track:nth-child(3) h3{color:#1F3465;}
#page-andrea .tl li b{color:#1F3465;}
.ab-badges span{transition:transform .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease;}
.ab-badges span:hover{border-color:#00B1B1;color:#008C8C;transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,140,140,.14);}
.ab-gallery figure{position:relative;overflow:hidden;border-radius:16px;background:#fff;}
.ab-gallery img{border-radius:16px 16px 0 0;box-shadow:none;transition:transform .6s ease;}
.ab-gallery figure:hover img{transform:scale(1.045);}
.ab-gallery figcaption{padding:12px 0 14px;font-weight:600;color:#3a3a3f;}
.ab-gallery figcaption::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:1px;}
.ab-gallery figure:nth-child(1) figcaption::before{background:#B60B51;}
.ab-gallery figure:nth-child(2) figcaption::before{background:#00B1B1;}
.ab-gallery figure:nth-child(3) figcaption::before{background:#FF6B4A;}
.ab-gallery figure:nth-child(4) figcaption::before{background:#1F3465;}
.ab-gallery figure{border:1px solid #e8e8ed;box-shadow:0 14px 36px rgba(0,0,0,.08);}
#page-andrea section.dark{background:
  radial-gradient(800px 400px at 80% 10%, rgba(0,177,177,.20), transparent 60%),
  radial-gradient(600px 420px at 12% 100%, rgba(182,11,81,.32), transparent 60%),
  linear-gradient(150deg,#101828 0%,#1F3465 70%,#33112a 100%) !important;}
#page-andrea section.dark .eyebrow{color:#FF8A6E !important;}

/* pagina Andrea: hero cinematico e dettagli vivi */
.ab-herovid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.48;filter:saturate(.85) contrast(1.03);}
#page-andrea .page-hero::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:
  radial-gradient(900px 480px at 88% 18%, rgba(0,177,177,.30), transparent 62%),
  radial-gradient(760px 540px at 8% 95%, rgba(182,11,81,.40), transparent 62%),
  linear-gradient(150deg,rgba(22,36,74,.72) 0%,rgba(31,52,101,.42) 52%,rgba(65,20,49,.72) 100%);}
#page-andrea .page-hero h1{text-shadow:none;background:linear-gradient(100deg,#ffffff 32%,#8fe3e3 50%,#ffffff 68%);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:220% 100%;animation:abShimmer 6.5s ease-in-out infinite;}
@keyframes abShimmer{0%,100%{background-position:0% 0;}50%{background-position:100% 0;}}
.ab-quote{background:
  radial-gradient(700px 300px at 85% 0%, rgba(0,177,177,.25), transparent 60%),
  linear-gradient(130deg,#B60B51 0%,#7a1046 55%,#1F3465 100%);
  color:#fff;text-align:center;padding:84px 24px;}
.ab-quote p{font-size:clamp(28px,4.2vw,50px);font-weight:700;letter-spacing:-.02em;margin:0;}
.ab-quote em{display:block;margin-top:16px;font-size:13.5px;color:rgba(255,255,255,.72);font-style:normal;}
#page-andrea section.dark .eyebrow::before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;background:#ff5a5a;margin-right:9px;vertical-align:1px;animation:abRec 1.6s ease-in-out infinite;}
@keyframes abRec{0%,100%{opacity:1;}50%{opacity:.2;}}
@media (prefers-reduced-motion:reduce){#page-andrea .page-hero h1{animation:none;}#page-andrea section.dark .eyebrow::before{animation:none;}}

/* frasi rotanti nell'hero di Andrea */
.ab-rot-wrap{margin-top:20px;min-height:36px;}
#ab-rot{display:inline-block;font-size:clamp(19px,2.4vw,27px);font-weight:700;letter-spacing:-.01em;color:#6fd8d8;opacity:1;transform:none;transition:opacity .45s ease, transform .45s ease;text-shadow:0 2px 18px rgba(0,0,0,.35);}
#ab-rot.out{opacity:0;transform:translateY(10px);}

/* racconto poetico */
.ab-story p{font-size:16.5px;line-height:1.9;color:#3a3a3f;}
.ab-story p:first-child::first-letter{font-size:3.4em;font-weight:700;color:#B60B51;float:left;line-height:.85;padding:6px 10px 0 0;}

/* card Chi sono (Istituto): foto a tutta altezza e testo centrato */
.ab-card{grid-template-columns:300px 1fr;gap:0;padding:0;overflow:hidden;border-radius:24px;align-items:stretch;}
.ab-card-photo{width:100%;height:100%;min-height:310px;border-radius:0;background-size:cover;background-position:center 20%;}
.ab-card > div:last-child{padding:44px 50px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;}
.ab-card .card-link{margin-top:2px;}
@media (max-width:880px){
  .ab-card{grid-template-columns:1fr;}
  .ab-card-photo{width:100%;height:240px;min-height:0;}
  .ab-card > div:last-child{padding:28px 26px;}
}

/* mosaico fotografico artistico */
.ab-mosaic-wrap{background:
  radial-gradient(760px 420px at 90% 8%, rgba(0,177,177,.16), transparent 60%),
  radial-gradient(640px 480px at 6% 100%, rgba(182,11,81,.24), transparent 60%),
  linear-gradient(160deg,#101828 0%,#1F3465 62%,#2b1230 100%);
  padding:88px 24px 110px;}
.ab-mosaic{display:grid;grid-template-columns:1.15fr .85fr .95fr;grid-template-rows:262px 262px;gap:18px;max-width:1180px;margin:48px auto 0;}
.ab-mosaic figure{position:relative;overflow:hidden;border-radius:22px;margin:0;box-shadow:0 24px 60px rgba(0,0,0,.35);}
.ab-mosaic .m1{grid-row:1/3;}
.ab-mosaic .m3{grid-column:3;grid-row:1/3;transform:translateY(30px);}
.ab-mosaic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.6,.2,1);}
.ab-mosaic figure::after{content:'';position:absolute;inset:0;background:linear-gradient(185deg,rgba(16,24,40,0) 42%,rgba(16,24,40,.82) 100%);transition:opacity .5s ease;}
.ab-mosaic figure:hover img{transform:scale(1.07);}
.ab-mosaic figcaption{position:absolute;left:24px;right:24px;bottom:20px;z-index:2;color:#fff;}
.ab-mosaic figcaption::before{content:'';display:block;width:36px;height:4px;border-radius:2px;background:var(--mc,#fff);margin-bottom:12px;}
.ab-mosaic figcaption b{display:block;font-size:clamp(22px,2.2vw,30px);letter-spacing:-.02em;line-height:1.1;}
.ab-mosaic figcaption span{display:block;font-size:12.5px;color:rgba(255,255,255,.78);margin-top:6px;}
@media (max-width:880px){
  .ab-mosaic{grid-template-columns:1fr;grid-template-rows:none;}
  .ab-mosaic .m1,.ab-mosaic .m3{grid-row:auto;grid-column:auto;transform:none;}
  .ab-mosaic figure{height:250px;}
}

/* card Chi sono senza box: foto e testo liberi, centrati */
.ab-card{background:transparent;border:none;box-shadow:none;border-radius:0;grid-template-columns:340px 1fr;gap:56px;padding:0;align-items:center;overflow:visible;}
.ab-card:hover{transform:none;box-shadow:none;}
.ab-card-photo{width:340px;height:340px;min-height:0;border-radius:26px;box-shadow:0 24px 60px rgba(0,0,0,.14);}
.ab-card > div:last-child{padding:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;}
@media (max-width:880px){
  .ab-card{grid-template-columns:1fr;gap:24px;}
  .ab-card-photo{width:100%;height:260px;border-radius:20px;}
  .ab-card > div:last-child{padding:0;}
}

/* pagina Andrea tutta in blu */
#page-andrea{background:linear-gradient(180deg,#0e1a38 0%,#13234c 55%,#0e1a38 100%);}
#page-andrea section{background:transparent;}
#page-andrea section.soft{background:rgba(255,255,255,.04);}
#page-andrea h2,#page-andrea h3{color:#fff;}
#page-andrea .prose p,#page-andrea .lead,#page-andrea .desc{color:#c3cbdd;}
#page-andrea .ab-stats span{color:#a7b2c9;}
#page-andrea .ab-stats > div:nth-child(1) b{color:#ff6fa5;}
#page-andrea .ab-stats > div:nth-child(2) b{color:#2fd4d4;}
#page-andrea .ab-stats > div:nth-child(3) b{color:#7ea2ff;}
#page-andrea .ab-stats > div:nth-child(4) b{color:#FF8A6E;}
#page-andrea .ab-track{background:#16264e;border:1px solid rgba(255,255,255,.09);box-shadow:0 14px 40px rgba(0,0,0,.25);}
#page-andrea .ab-track:nth-child(1){border-top:4px solid #ff6fa5;}
#page-andrea .ab-track:nth-child(2){border-top:4px solid #2fd4d4;}
#page-andrea .ab-track:nth-child(3){border-top:4px solid #7ea2ff;}
#page-andrea .ab-track:nth-child(1) h3{color:#ff6fa5;}
#page-andrea .ab-track:nth-child(2) h3{color:#2fd4d4;}
#page-andrea .ab-track:nth-child(3) h3{color:#7ea2ff;}
#page-andrea .ab-track p{color:#b9c3d8;}
#page-andrea .tl li{color:#c3cbdd;}
#page-andrea .tl li b{color:#fff;}
#page-andrea .ab-story p{color:#c9d1e2;}
#page-andrea .ab-story p:first-child::first-letter{color:#ff6fa5;}
#page-andrea .ab-badges span{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.20);color:#e2e8f4;}
#page-andrea .ab-badges span:hover{border-color:#2fd4d4;color:#2fd4d4;}
#page-andrea .card{background:#16264e;border:1px solid rgba(255,255,255,.09);}
#page-andrea .card h3{color:#fff;}
#page-andrea .card p{color:#b9c3d8;}
#page-andrea .card-link{color:#2fd4d4;}
#page-andrea .btn-navy{background:#fff;color:#1F3465;}
#page-andrea .ab-quote{background:
  radial-gradient(700px 300px at 85% 0%, rgba(0,177,177,.22), transparent 60%),
  linear-gradient(130deg,#B60B51 0%,#5c1040 45%,#101f44 100%);}
/* foto del mosaico allineate */
.ab-mosaic .m3{transform:none;}

#page-andrea .ab-track:nth-child(1) .tag{color:#ff6fa5;background:rgba(255,111,165,.14);}
#page-andrea .ab-track:nth-child(2) .tag{color:#2fd4d4;background:rgba(47,212,212,.14);}
#page-andrea .ab-track:nth-child(3) .tag{color:#7ea2ff;background:rgba(126,162,255,.14);}

/* logo wall società scientifiche */
.ab-logos{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1120px;margin:40px auto 0;padding:0 24px;}
.ab-logos .ab-logo{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:26px 20px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:170px;transition:transform .3s ease, border-color .3s ease, background .3s ease;}
.ab-logos .ab-logo:hover{transform:translateY(-3px);border-color:rgba(47,212,212,.55);background:rgba(255,255,255,.08);}
.ab-logos .ab-logo b{font-size:clamp(19px,1.8vw,24px);letter-spacing:.04em;color:#fff;line-height:1.15;text-transform:uppercase;min-height:52px;display:flex;align-items:center;}
.ab-logos .ab-logo span{font-size:11px;color:#9daac2;line-height:1.5;margin-top:8px;flex:1;}
.ab-logos .ab-logo em{font-style:normal;font-size:11.5px;font-weight:700;color:#2fd4d4;border:1px solid rgba(47,212,212,.4);border-radius:100px;padding:4px 12px;margin-top:12px;}
@media (max-width:880px){.ab-logos{grid-template-columns:1fr 1fr;}}

/* bande citazione */
.q-band{text-align:center;padding:78px 24px;}
.q-band .q-eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;}
.q-band p.q-text{font-size:clamp(22px,3vw,34px);font-weight:600;letter-spacing:-.02em;line-height:1.35;max-width:880px;margin:0 auto;color:#1d1d1f;}
.q-band .q-sub{font-size:14.5px;color:#6e6e73;margin-top:16px;}
.q-epi{font-size:15.5px;font-style:italic;color:#6e6e73;max-width:640px;margin:14px auto 0;line-height:1.6;}

/* pagina Andrea: foto nelle card e nel racconto */
.ab-cp{background-size:cover;background-position:center 22%;height:210px;}
.ab-story-photo{float:right;width:min(340px,38%);aspect-ratio:.82;border-radius:22px;background-size:cover;background-position:center 12%;margin:6px 0 20px 36px;box-shadow:0 24px 60px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12);}
@media (max-width:880px){.ab-story-photo{float:none;width:100%;aspect-ratio:1.5;margin:0 0 22px;}}

/* pagina Andrea: ritmo verticale uniforme tra i blocchi */
#page-andrea section{padding:78px 22px !important;}
#page-andrea section[style*="padding:0"]{padding:0 !important;}
#page-andrea section.ab-mosaic-wrap{padding:78px 24px 78px !important;}
#page-andrea section.dark{padding:82px 22px !important;}
#page-andrea .ab-stats{padding-left:24px;padding-right:24px;}
#page-andrea .tl{margin-bottom:0;}

/* timeline orizzontale */
.ab-tline{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;max-width:1180px;margin:58px auto 0;position:relative;padding:0 24px;}
.ab-tline::before{content:'';position:absolute;left:34px;right:34px;top:7px;height:2px;background:linear-gradient(90deg,#ff6fa5,#2fd4d4 45%,#7ea2ff 75%,#FF8A6E);opacity:.55;border-radius:2px;}
.ab-tstop{position:relative;padding-top:36px;}
.ab-tstop::before{content:'';position:absolute;top:0;left:2px;width:14px;height:14px;border-radius:50%;background:#0e1a38;border:3px solid #2fd4d4;box-shadow:0 0 14px rgba(47,212,212,.45);}
.ab-tstop:nth-child(1)::before{border-color:#ff6fa5;box-shadow:0 0 14px rgba(255,111,165,.45);}
.ab-tstop:nth-child(4)::before{border-color:#7ea2ff;box-shadow:0 0 14px rgba(126,162,255,.45);}
.ab-tstop:nth-child(5)::before{border-color:#FF8A6E;box-shadow:0 0 14px rgba(255,138,110,.45);}
.ab-tstop b{display:block;color:#fff;font-size:16.5px;letter-spacing:-.01em;}
.ab-tstop p{font-size:12.5px;color:#a7b2c9;line-height:1.6;margin-top:8px;}
@media (max-width:880px){
  .ab-tline{grid-template-columns:1fr;gap:26px;}
  .ab-tline::before{left:8px;right:auto;top:10px;bottom:10px;width:2px;height:auto;background:linear-gradient(180deg,#ff6fa5,#2fd4d4 45%,#7ea2ff 75%,#FF8A6E);}
  .ab-tstop{padding-top:0;padding-left:34px;}
  .ab-tstop::before{top:2px;left:2px;}
}

/* tre anime: foto di sfondo, niente etichette */
#page-andrea .ab-track{position:relative;overflow:hidden;padding-top:190px;}
.abt-bg{position:absolute;inset:0;background-size:cover;background-position:center 25%;opacity:.85;filter:saturate(.85);}
#page-andrea .ab-track::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,44,.10) 0%,rgba(10,20,44,.72) 42%,rgba(13,24,50,.97) 62%,#101f44 78%);}
#page-andrea .ab-track .tag{display:none;}
#page-andrea .ab-track h3,#page-andrea .ab-track p{position:relative;z-index:2;}
#page-andrea .ab-track h3{margin-top:0;font-size:21px;}
#page-andrea .ab-track h3::before{content:attr(data-anima);display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.85;margin-bottom:8px;}

/* strip fotografica congressi (segnaposto) */
.cg-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:30px;}
.cg-ph{aspect-ratio:4/3;border:1.5px dashed rgba(255,255,255,.28);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px;background:rgba(255,255,255,.03);}
.cg-ph b{color:#fff;font-size:13.5px;line-height:1.25;}
.cg-ph span{font-size:10.5px;color:#8d99b3;margin-top:5px;line-height:1.4;}
.cg-ph em{font-style:normal;font-size:10px;color:#5f6c88;margin-top:10px;border:1px solid rgba(255,255,255,.14);border-radius:100px;padding:3px 10px;}
@media (max-width:880px){.cg-strip{grid-template-columns:1fr 1fr;}}

/* bacheca congressi in stile polaroid */
.cgx-wall{display:flex;justify-content:center;align-items:flex-start;gap:30px;margin-top:44px;flex-wrap:wrap;position:relative;padding:18px 0 26px;}
.cgx-wall::before{content:'';position:absolute;left:4%;right:4%;top:34px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25) 15%,rgba(255,255,255,.25) 85%,transparent);}
.cgx{position:relative;width:186px;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.16);border-radius:6px;padding:10px 10px 16px;box-shadow:0 18px 40px rgba(0,0,0,.35);transition:transform .45s ease, box-shadow .45s ease;}
.cgx:nth-child(1){transform:rotate(-3.5deg);}
.cgx:nth-child(2){transform:rotate(2.5deg) translateY(24px);}
.cgx:nth-child(3){transform:rotate(-1.8deg) translateY(6px);}
.cgx:nth-child(4){transform:rotate(3.2deg) translateY(28px);}
.cgx:nth-child(5){transform:rotate(-2.6deg) translateY(2px);}
.cgx:hover{transform:rotate(0deg) translateY(-6px) scale(1.04);box-shadow:0 28px 60px rgba(0,0,0,.5);z-index:3;}
.cgx i{position:absolute;top:-7px;left:50%;transform:translateX(-50%);width:13px;height:13px;border-radius:50%;background:var(--pin,#2fd4d4);box-shadow:0 0 12px var(--pin,#2fd4d4),0 2px 4px rgba(0,0,0,.5);}
.cgx-ph{aspect-ratio:1/1;border-radius:3px;border:1.5px dashed rgba(255,255,255,.22);background:
  radial-gradient(120px 90px at 70% 25%, rgba(47,212,212,.10), transparent 70%),
  radial-gradient(110px 90px at 25% 80%, rgba(182,11,81,.12), transparent 70%),
  rgba(10,20,44,.55);
  display:flex;align-items:center;justify-content:center;}
.cgx-ph::after{content:'foto in arrivo';font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:#5f6c88;}
.cgx b{display:block;text-align:center;color:#fff;font-size:13px;margin-top:11px;line-height:1.25;}
.cgx span{display:block;text-align:center;font-size:10px;color:#8d99b3;margin-top:3px;line-height:1.35;}
@media (max-width:880px){.cgx-wall{gap:20px;}.cgx{width:44%;}.cgx:nth-child(2),.cgx:nth-child(4){transform:rotate(2.5deg);}}

.cgx-wall{width:min(1150px,92vw);margin-left:calc((100% - min(1150px,92vw))/2);}
@media (max-width:880px){.cgx-wall{width:100%;margin-left:0;}}

/* fregio editoriale congressi */
.cge{display:grid;grid-template-columns:1.35fr 1fr 1.2fr 1fr 1.25fr;gap:2px;width:min(1150px,92vw);margin:46px 0 0 calc((100% - min(1150px,92vw))/2);border-radius:16px;overflow:hidden;}
.cge figure{margin:0;position:relative;}
.cge-ph{aspect-ratio:3/3.4;background:
  radial-gradient(60% 45% at 50% 30%, rgba(255,255,255,.05), transparent 75%),
  linear-gradient(172deg,#182a52 0%,#0f1d3e 100%);}
.cge figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px 18px 18px;}
.cge figcaption::before{content:'';display:block;width:26px;height:1px;background:rgba(255,255,255,.4);margin-bottom:12px;}
.cge figcaption b{display:block;color:#fff;font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;line-height:1.4;}
.cge figcaption span{display:block;font-size:10.5px;color:#8d99b3;margin-top:4px;line-height:1.45;letter-spacing:.02em;}
.cge-note{width:min(1150px,92vw);margin:14px 0 0 calc((100% - min(1150px,92vw))/2);text-align:right;font-size:10.5px;color:#5f6c88;letter-spacing:.14em;text-transform:uppercase;}
@media (max-width:880px){
  .cge{grid-template-columns:1fr 1fr;width:100%;margin-left:0;}
  .cge figure:last-child{grid-column:1/-1;}
  .cge-note{width:100%;margin-left:0;}
}

/* espansori per i testi lunghi */
.xp{position:relative;overflow:hidden;max-height:var(--xph,300px);transition:max-height .6s ease;}
.xp.open{max-height:4000px;}
.xp::after{content:'';position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(180deg,transparent,var(--xpbg,#101f44));pointer-events:none;transition:opacity .4s ease;}
.xp.open::after{opacity:0;}
.xp-btn{margin-top:16px;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:100px;padding:9px 22px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .3s ease,color .3s ease;}
.xp-btn:hover{border-color:#2fd4d4;color:#2fd4d4;}

/* equilibrio verticale delle bande citazione */
section.q-band{padding:84px 24px !important;}
section.q-band + section{padding-top:44px !important;}
section.q-band-first{padding-top:106px !important;padding-bottom:56px !important;}

/* foto progetto sociale */
.pb-photo{float:right;width:min(340px,40%);aspect-ratio:.95;border-radius:20px;background-size:cover;background-position:center 30%;margin:8px 0 20px 36px;box-shadow:0 18px 44px rgba(0,0,0,.14);}
@media (max-width:880px){.pb-photo{float:none;width:100%;aspect-ratio:1.5;margin:0 0 20px;}}

/* ritmo mobile: le sezioni fissate a 110 per desktop tornano a 80, foto flottanti con margini regolari */
@media (max-width:880px){
  section[style*="padding-top:110px"]{padding-top:80px !important;}
  section[style*="padding-bottom:110px"]{padding-bottom:80px !important;}
  section[style*="padding-bottom:120px"]{padding-bottom:90px !important;}
  section.q-band{padding:64px 20px !important;}
  section.q-band + section{padding-top:34px !important;}
  section.q-band-first{padding-top:80px !important;padding-bottom:44px !important;}
  .pb-photo{margin:20px 0 24px !important;}
  .ab-story-photo{margin:20px 0 24px !important;}
}

/* EVOX27: ritmo verticale più compatto */
#page-evox27 section{padding-top:64px !important;padding-bottom:64px !important;}
#page-evox27 section.ev-hero{padding-top:120px !important;padding-bottom:80px !important;}
#page-evox27 .ev-gala{padding-top:84px !important;padding-bottom:92px !important;}
#page-evox27 .ev-final{padding-top:0 !important;padding-bottom:84px !important;}
.ev-ctaline{margin:34px auto 0 !important;}
