/*!
Theme Name: ASO Child v0.0.1
Theme URI: https://assistentesociale.online/
Author: Assistente Sociale Online
Author URI: https://assistentesociale.online/
Description: Child theme ASO che deploya la matrice CSS statica nel suo stylesheet.
Version: 0.0.1
Template: tema_aso_v0.0.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: ../tema_aso_v0.0.2/LICENSE
Text Domain: aso-child
*/

@import url("https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,600;0,700;1,400;1,600&family=DM+Sans:wght@300;400;500;600;700&display=swap");

/* ASO static HTML matrix. Generated from parent assets/css/aso-static-html.css. */

/* ===== ASO typography alignment ===== */
:root {
	--font-body: "DM Sans", sans-serif;
	--font-heading: "Lora", serif;
}

html,
body,
.site,
.site-main,
button,
input,
select,
textarea {
	font-family: var(--font-body);
}

.nav-links,
.nav-switch,
.bottom-nav,
.bnav-tab,
.btn,
.btn-primary,
.btn-outline,
.btn-cta-primary,
.btn-cta-outline,
.btn-load,
.btn-start,
.btn-next,
.btn-back {
	font-family: var(--font-body);
}

.nav-logo,
.gateway-logo span,
.footer-brand-logo,
.site-main h1,
.site-main h2,
.page-hero h1,
.page-header h1,
.gateway-headline h1,
.section-title,
.section-block h2,
.cta-section h2,
.blog-hero-content h1,
.newsletter h2,
.toc-title,
.doc-section h2,
.doc-section h3 {
	font-family: var(--font-heading);
}



/* ===== Page source: index.css ===== */



    :root {
      --verde-profondo:   #2d6a4f;
      --verde-medio:      #52b788;
      --verde-chiaro:     #b7e4c7;
      --verde-pastello:   #d8f3dc;
      --azzurro:          #a8c5da;
      --azzurro-chiaro:   #e0eff7;
      --bianco-panna:     #f9f7f2;
      --grigio-testo:     #3a3a3a;
      --grigio-muted:     #6b7280;
      --ombra:            rgba(45,106,79,.12);
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }

    body {
      font-family: 'DM Sans', sans-serif;
      color: var(--grigio-testo);
      overflow: hidden;
      height: 100vh;
    }

    /* ─── SFONDO ACQUERELLO ──────────────────────────────────── */
    .gateway {
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      position: relative;
      padding: 2rem 5%;
      overflow: hidden;

      /* Acquerello verde — luce in alto a sinistra, profondo a destra */
      background-color: #b8d9c4;
      background-image:
        /* Luce calda in alto a sinistra */
        radial-gradient(ellipse 75% 65% at 0% 0%,   rgba(247,253,250,.98) 0%, rgba(220,242,230,.6) 40%, transparent 70%),
        /* Menta chiara centro-sinistra */
        radial-gradient(ellipse 60% 55% at 18% 55%,  rgba(188,228,208,.75) 0%, transparent 65%),
        /* Verde medio al centro */
        radial-gradient(ellipse 55% 60% at 50% 40%,  rgba(140,205,170,.55) 0%, transparent 60%),
        /* Verde teal a destra */
        radial-gradient(ellipse 55% 70% at 88% 30%,  rgba(45,120,85,.60)  0%, transparent 60%),
        /* Verde scuro in basso a destra */
        radial-gradient(ellipse 50% 55% at 95% 90%,  rgba(25,80,55,.75)   0%, transparent 55%),
        /* Profondità ulteriore angolo basso-destra */
        radial-gradient(ellipse 35% 40% at 100% 100%, rgba(15,60,40,.55)  0%, transparent 50%);
    }

    /* ─── BOLLE FLUTTUANTI ───────────────────────────────────── */
    .bubble {
      position: absolute;
      border-radius: 50%;
      pointer-events: none;
      background: radial-gradient(circle at 35% 35%, rgba(255,255,255,.55), rgba(255,255,255,.08) 60%, transparent 80%);
      border: 1px solid rgba(255,255,255,.30);
      animation: bubbleFloat linear infinite;
    }

    @keyframes bubbleFloat {
      0%   { transform: translateY(0) translateX(0) scale(1); opacity: 0; }
      10%  { opacity: 1; }
      85%  { opacity: .65; }
      100% { transform: translateY(-110vh) translateX(var(--dx)) scale(1.1); opacity: 0; }
    }

    /* ─── LOGO ───────────────────────────────────────────────── */
    .gateway-logo {
      display: flex;
      align-items: center;
      gap: .5rem;
      margin-bottom: 1rem;
      text-decoration: none;
      position: relative;
      z-index: 2;
    }
    .gateway-logo .ic {
      width: 32px; height: 32px;
      color: var(--verde-medio);
      display: inline-block;
      line-height: 0;
    }
    .gateway-logo .ic svg { width: 100%; height: 100%; display: block; }
    .gateway-logo span {
      font-family: 'Lora', serif;
      font-weight: 700;
      font-size: 1.25rem;
      color: var(--verde-profondo);
    }
    .gateway-logo .highlight { color: var(--verde-medio); }

    /* ─── HEADLINE ───────────────────────────────────────────── */
    .gateway-headline {
      text-align: center;
      position: relative;
      z-index: 2;
      margin-bottom: 3rem;
    }
    .gateway-headline h1 {
      font-family: 'Lora', serif;
      font-size: clamp(1.8rem, 4vw, 2.8rem);
      font-weight: 700;
      color: var(--verde-profondo);
      line-height: 1.2;
      margin-bottom: .9rem;
    }
    .gateway-headline .portal-tagline {
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--verde-profondo);
      opacity: .75;
      max-width: 580px;
      margin: 0 auto .9rem;
      line-height: 1.55;
    }
    .gateway-headline p {
      font-size: 1.05rem;
      color: var(--grigio-muted);
      max-width: 480px;
      margin: 0 auto;
      line-height: 1.6;
    }

    /* ─── CARDS ──────────────────────────────────────────────── */
    .gateway-cards {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.8rem;
      max-width: 820px;
      width: 100%;
      position: relative;
      z-index: 2;
    }

    .gw-card {
      background: rgba(255,255,255,.88);
      backdrop-filter: blur(16px);
      border-radius: 2rem;
      padding: 2.8rem 2.2rem;
      text-decoration: none;
      color: inherit;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 1.2rem;
      box-shadow: 0 8px 40px var(--ombra), 0 2px 12px rgba(45,106,79,.06);
      border: 1.5px solid rgba(255,255,255,.7);
      transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease;
      cursor: pointer;
    }
    .gw-card:hover {
      transform: translateY(-8px) scale(1.01);
      box-shadow: 0 20px 60px rgba(45,106,79,.18), 0 4px 20px rgba(45,106,79,.08);
    }

    .gw-card-icon {
      width: 68px; height: 68px;
      border-radius: 1.2rem;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    .gw-card-icon svg { width: 36px; height: 36px; }

    /* Variante cittadini */
    .gw-card.cittadini .gw-card-icon {
      background: linear-gradient(135deg, var(--verde-pastello), var(--verde-chiaro));
      color: var(--verde-profondo);
    }
    .gw-card.cittadini:hover { border-color: var(--verde-chiaro); }
    .gw-card.cittadini .gw-tag {
      background: var(--verde-pastello);
      color: var(--verde-profondo);
    }

    /* Variante professionisti */
    .gw-card.professionisti .gw-card-icon {
      background: linear-gradient(135deg, var(--azzurro-chiaro), var(--azzurro));
      color: #1e4f7a;
    }
    .gw-card.professionisti:hover { border-color: var(--azzurro); }
    .gw-card.professionisti .gw-tag {
      background: var(--azzurro-chiaro);
      color: #1e4f7a;
    }

    .gw-tag {
      display: inline-block;
      font-size: .75rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: .08em;
      padding: .25rem .75rem;
      border-radius: 100px;
    }

    .gw-card h2 {
      font-family: 'Lora', serif;
      font-size: 1.45rem;
      font-weight: 700;
      color: var(--verde-profondo);
      line-height: 1.25;
    }

    .gw-card p {
      font-size: .92rem;
      color: var(--grigio-muted);
      line-height: 1.65;
      flex: 1;
    }

    .gw-card-cta {
      display: flex;
      align-items: center;
      gap: .4rem;
      font-size: .9rem;
      font-weight: 600;
      margin-top: .4rem;
    }
    .gw-card.cittadini .gw-card-cta { color: var(--verde-profondo); }
    .gw-card.professionisti .gw-card-cta { color: #1e4f7a; }
    .gw-card-cta .ic { width: 18px; height: 18px; display: inline-block; line-height: 0; transition: transform .25s ease; }
    .gw-card-cta .ic svg { width: 100%; height: 100%; display: block; }
    .gw-card:hover .gw-card-cta .ic { transform: translateX(4px); }

    /* ─── FEATURES LIST ─────────────────────────────────────── */
    .gw-features {
      display: flex;
      flex-direction: column;
      gap: .55rem;
      width: 100%;
    }
    .gw-feature {
      display: flex;
      align-items: center;
      gap: .55rem;
      font-size: .86rem;
      color: var(--grigio-muted);
    }
    .gw-feature .dot {
      width: 6px; height: 6px;
      border-radius: 50%;
      flex-shrink: 0;
    }
    .cittadini .gw-feature .dot { background: var(--verde-medio); }
    .professionisti .gw-feature .dot { background: var(--azzurro); }

    /* ─── FOOTER NOTE ────────────────────────────────────────── */
    .gateway-note {
      margin-top: 2.5rem;
      font-size: .82rem;
      color: var(--grigio-muted);
      text-align: center;
      position: relative;
      z-index: 2;
      opacity: .75;
    }

    /* Wrapper mobile — su desktop è trasparente (flex column) */
    .gw-card-body-mobile {
      display: contents; /* invisibile su desktop: i figli si comportano come se fossero diretti figli della card */
    }

    /* ─── RESPONSIVE ─────────────────────────────────────────── */
    @media (max-width: 680px) {
      body { overflow-y: auto; }

      /* Headline compatto */
      .gateway-headline { margin-bottom: 1.5rem; }
      .gateway-headline h1 { font-size: 1.5rem; margin-bottom: .6rem; }
      .gateway-headline .portal-tagline { display: none; }  /* nasconde tagline su mobile */
      .gateway-headline p { font-size: .92rem; }

      /* Due card una sotto l'altra, compatte */
      .gateway-cards {
        grid-template-columns: 1fr;
        max-width: 400px;
        gap: 1rem;
      }
      .gw-card {
        flex-direction: row;         /* icon a sinistra, testo a destra */
        align-items: center;
        padding: 1.4rem 1.5rem;
        gap: 1.2rem;
        border-radius: 1.4rem;
      }

      /* Nasconde le parti descrittive */
      .gw-card > p,
      .gw-features { display: none; }

      /* Icona più piccola */
      .gw-card-icon {
        width: 52px; height: 64px;
        border-radius: 1rem;
        flex-shrink: 0;
      }
      .gw-card-icon svg { width: 26px; height: 26px; }

      /* Testo a destra dell'icona: attivo solo su mobile */
      .gw-card-body-mobile {
        display: flex; flex-direction: column; gap: .35rem; flex: 1;
      }
      .gw-tag { margin-bottom: .1rem; }
      .gw-card h2 { font-size: 1.1rem; line-height: 1.2; }
      .gw-card-cta { margin-top: .3rem; font-size: .85rem; }

      /* Note footer */
      .gateway-note { display: none; }
    }

    @media (max-width: 400px) {
      .gateway { padding: 1.5rem 4%; }
      .gateway-cards { max-width: 100%; }
    }
  
footer.footer-main{background:#152e1f;color:rgba(255,255,255,.65);padding:4rem 5% 0;font-size:.88rem;line-height:1.7;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:3rem;max-width:1100px;margin:0 auto 3rem;}
.footer-brand-logo{font-family:'Lora',serif;font-weight:700;font-size:1.15rem;color:#fff;display:flex;align-items:center;gap:.5rem;text-decoration:none;margin-bottom:1rem;}
.footer-brand-logo svg,.footer-brand-logo span{color:#74c69d;}
.footer-brand p{font-size:.85rem;line-height:1.7;max-width:280px;}
.footer-brand-badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(116,198,157,.12);border:1px solid rgba(116,198,157,.25);border-radius:2rem;padding:.35rem .85rem;font-size:.78rem;color:#74c69d;margin-top:1.2rem;}
.footer-col-title{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:1rem;}
.footer-nav-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.55rem;}
.footer-nav-list a{color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s;}
.footer-nav-list a:hover{color:#a7f3d0;}
.footer-info-item{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.7rem;font-size:.84rem;}
.footer-info-item svg{flex-shrink:0;color:#74c69d;margin-top:.15rem;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.4rem 0;max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;font-size:.78rem;color:rgba(255,255,255,.35);}
.footer-bottom-links{display:flex;gap:1.4rem;}
.footer-bottom-links a{color:rgba(255,255,255,.4);text-decoration:none;transition:color .2s;}
.footer-bottom-links a:hover{color:#74c69d;}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr;gap:2rem;}.footer-bottom{flex-direction:column;text-align:center;}}

/* ═══════════════════════════════════════════════════
   TOP NAV MOBILE — solo ≤768px
═══════════════════════════════════════════════════ */
.mobile-topnav { display: none; }
@media (max-width: 768px) {
  .mobile-topnav {
    display: flex;
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 9999;
    height: 54px;
    background: rgba(249,247,242,.97);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(45,106,79,.18);
    box-shadow: 0 2px 12px rgba(45,106,79,.1);
    align-items: center;
    justify-content: center;
  }
  .mnav-logo { font-family:'Lora',serif; font-weight:700; font-size:1rem; color:var(--verde-profondo); text-decoration:none; display:flex; align-items:center; gap:.5rem; }
  .mnav-logo .hl { color: var(--verde-medio); }
  .mnav-logo-img { height: 28px; width: auto; display: block; }
  body {
    padding-top: 54px !important;
    padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important;
    overflow-y: auto !important;
    height: auto !important;
  }
  .gateway { min-height: calc(100vh - 54px - 66px); justify-content: flex-start; padding-top: 2.5rem; }
}

/* ═══════════════════════════════════════════════════
   BOTTOM NAV — solo ≤768px
═══════════════════════════════════════════════════ */
.bottom-nav { display: none; }
@media (max-width: 768px) {
  .bottom-nav {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important; left: 0 !important; right: 0 !important;
    height: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
    background: #ffffff !important;
    border-top: 2px solid #b7e4c7 !important;
    box-shadow: 0 -2px 16px rgba(45,106,79,.15) !important;
    z-index: 99999 !important;
    align-items: stretch !important;
  }
  .bnav-tab {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    text-decoration: none !important;
    color: #4a6080 !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    padding: .2rem .1rem !important;
    border-top: 3px solid transparent !important;
    -webkit-tap-highlight-color: transparent;
    height: 100%;
    box-sizing: border-box;
  }
  .bnav-tab svg {
    display: block !important;
    width: 22px !important; height: 22px !important;
    stroke: currentColor !important;
    stroke-width: 1.7 !important;
    fill: none !important;
    flex-shrink: 0 !important;
  }
  .bnav-tab span {
    display: block !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    font-family: 'DM Sans', sans-serif !important;
    color: inherit !important;
    text-align: center !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    padding: 0 2px !important;
  }
  .bnav-tab:active { background: #e8f8ee !important; }
  .bnav-tab.bnav-active {
    color: #1a5235 !important;
    border-top: 3px solid #52b788 !important;
    background: #e8f8ee !important;
    font-weight: 700 !important;
  }
  .bnav-tab.bnav-active svg { stroke: #1a5235 !important; }
  .bnav-tab.bnav-active span { color: #1a5235 !important; font-weight: 700 !important; }
  .bnav-tab.bnav-switch {
    color: #1e3a5f !important;
    border-left: 1px solid #d0e8d8 !important;
  }
  .bnav-tab.bnav-switch svg { stroke: #1e3a5f !important; }
  .bnav-tab.bnav-switch span { color: #1e3a5f !important; }
}
@media (min-width: 769px) { .bottom-nav { display: none !important; } .mobile-topnav { display: none !important; } }




/* ===== Page source: cittadini.css ===== */



    :root {
      --verde-profondo:   #2d6a4f;
      --verde-medio:      #52b788;
      --verde-chiaro:     #b7e4c7;
      --verde-pastello:   #d8f3dc;
      --azzurro:          #a8c5da;
      --azzurro-chiaro:   #e0eff7;
      --bianco-panna:     #f9f7f2;
      --grigio-testo:     #3a3a3a;
      --grigio-muted:     #6b7280;
      --ombra:            rgba(45,106,79,.12);
    }
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      font-family: 'DM Sans', sans-serif;
      background: var(--bianco-panna);
      color: var(--grigio-testo);
      overflow-x: hidden;
    }

    /* ─── SVG icon helper ─────────────────────────────────── */
    .ic {
      display: inline-block;
      flex-shrink: 0;
      line-height: 0;
    }
    .ic svg { display: block; }

    /* ─── NAV ─────────────────────────────────────────────── */
    nav {
      position: fixed; top: 0; left: 0; right: 0;
      z-index: 100;
      background: rgba(249,247,242,.92);
      backdrop-filter: blur(10px);
      border-bottom: 1px solid var(--verde-chiaro);
      display: flex; align-items: center; justify-content: space-between;
      padding: .9rem 5%;
    }
    .nav-logo{font-family:'Lora',serif;font-weight:700;font-size:1.05rem;color:#2d6a4f;text-decoration:none;display:flex;align-items:center;gap:.5rem}
    .nav-logo span{color:#52b788}
    .nav-logo-img{height:32px;width:auto;display:block;}
    .nav-links { display: flex; gap: 2rem; list-style: none; }
    .nav-links a {
      font-size: .88rem; font-weight: 500;
      color: var(--grigio-testo); text-decoration: none;
      letter-spacing: .02em; transition: color .25s;
    }
    .nav-links a:hover { color: var(--verde-profondo); }
    .nav-switch { display: flex; align-items: center; gap: .5rem; background: var(--azzurro-chiaro); color: #1e4f7a; font-size: .78rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; padding: .3rem .9rem .3rem .65rem; border-radius: 100px; text-decoration: none; border: 1.5px solid var(--azzurro); transition: background .25s; }
    .nav-switch:hover { background: var(--azzurro); color: #fff; }
    .nav-switch .ic { width: 15px; height: 15px; display: inline-block; line-height: 0; }
    .nav-switch .ic svg { display: block; }

    /* ─── HERO ────────────────────────────────────────────── */
    .hero {
      min-height: 100vh;
      display: flex; align-items: center; justify-content: center;
      padding: 8rem 2% 4rem;
      background:
        radial-gradient(ellipse 55% 65% at 88% 12%, rgba(82,183,136,.14) 0%, transparent 65%),
        radial-gradient(ellipse 40% 45% at 12% 88%, rgba(168,197,218,.10) 0%, transparent 60%),
        var(--bianco-panna);
      text-align: center;
      position: relative; overflow: hidden;
    }
    /* Illustrazioni laterali */
    .hero-img-left,
    .hero-img-right {
      position: absolute;
      top: 0; bottom: 0;
      width: 37%;
      object-fit: cover;
      object-position: top center;
      pointer-events: none; user-select: none;
    }
    .hero-img-left {
      left: 0;
      -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,1) 0%, rgba(0,0,0,.9) 50%, transparent 100%);
      mask-image:         linear-gradient(to right, rgba(0,0,0,1) 0%, rgba(0,0,0,.9) 50%, transparent 100%);
    }
    .hero-img-right {
      right: 0;
      -webkit-mask-image: linear-gradient(to left, rgba(0,0,0,1) 0%, rgba(0,0,0,.9) 50%, transparent 100%);
      mask-image:         linear-gradient(to left, rgba(0,0,0,1) 0%, rgba(0,0,0,.9) 50%, transparent 100%);
    }
    .hero-content {
      position: relative; z-index: 2;
      max-width: 580px; margin: 0 auto;
    }
    .hero-badge {
      display: inline-flex; align-items: center; gap: .5rem;
      background: var(--verde-pastello);
      color: var(--verde-profondo);
      font-size: .8rem; font-weight: 600;
      letter-spacing: .08em; text-transform: uppercase;
      padding: .4rem 1.2rem; border-radius: 100px;
      margin-bottom: 1.8rem;
    }
    .hero-content h1 {
      font-family: 'Lora', serif;
      font-size: clamp(2.4rem, 4.5vw, 4rem);
      font-weight: 700; line-height: 1.15;
      color: var(--verde-profondo);
      margin: 0 auto 1.4rem;
    }
    .hero-content h1 em { font-style: italic; color: var(--verde-medio); }
    .hero-content p {
      font-size: 1.08rem; color: var(--grigio-muted);
      margin: 0 auto 2.5rem; line-height: 1.72;
    }
    .btn-group { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
    .btn {
      display: inline-flex; align-items: center; gap: .5rem;
      padding: .9rem 2rem; border-radius: 100px;
      font-size: .95rem; font-weight: 600;
      text-decoration: none; transition: all .25s;
      cursor: pointer; border: none;
    }
    .btn-primary {
      background: var(--verde-profondo); color: #fff;
      box-shadow: 0 4px 20px rgba(45,106,79,.3);
    }
    .btn-primary:hover { background: #1e4f39; transform: translateY(-2px); }
    .btn-outline {
      background: transparent;
      border: 2px solid var(--verde-profondo);
      color: var(--verde-profondo);
    }
    .btn-outline:hover { background: var(--verde-pastello); transform: translateY(-2px); }
    @media (max-width: 900px) {
      .hero-img-left, .hero-img-right { width: 28%; opacity: .55; }
    }
    @media (max-width: 600px) {
      .hero-img-left, .hero-img-right { display: none; }
      .hero { padding: 8rem 6% 4rem; }
    }

    /* ─── SECTIONS ────────────────────────────────────────── */
    section { padding: 5rem 5%; }
    .section-label {
      font-size: .78rem; font-weight: 600;
      letter-spacing: .14em; text-transform: uppercase;
      color: var(--verde-medio); margin-bottom: .8rem;
    }
    .section-title {
      font-family: 'Lora', serif;
      font-size: clamp(1.7rem, 3vw, 2.4rem);
      font-weight: 700; color: var(--verde-profondo); margin-bottom: 1rem;
    }
    .section-sub {
      font-size: 1.05rem; color: var(--grigio-muted);
      max-width: 620px; line-height: 1.7; margin-bottom: 3rem;
    }
    .text-center { text-align: center; }
    .text-center .section-sub { margin-left: auto; margin-right: auto; }

    /* ─── CHI È ────────────────────────────────────────────── */
    #chi-e { background: var(--bianco-panna); }
    .chi-e-grid {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 4rem; align-items: center;
      max-width: 1100px; margin: 0 auto;
    }
    /* ─── CHI È visual ──────────────────────────────────────── */
    .chi-e-visual { position: relative; }
    .chi-e-card-wrap {
      background: var(--verde-pastello);
      border-radius: 2rem;
      padding: 1.2rem 1.2rem 2.2rem;
      overflow: hidden;
    }
    .chi-e-img-wrap {
      position: relative;
      margin-bottom: 1.6rem;
    }
    .chi-e-photo {
      width: 100%;
      border-radius: 1.4rem;
      object-fit: cover;
      object-position: center top;
      height: 360px;
      display: block;
    }
    /* badge sovrapposto all'immagine */
    .chi-e-badge {
      position: absolute;
      top: 1rem; right: 1rem;
      background: rgba(255,255,255,.95);
      border-radius: 2rem;
      padding: .5rem 1.1rem;
      font-size: .8rem; font-weight: 600;
      color: var(--verde-profondo);
      display: flex; align-items: center; gap: .45rem;
      box-shadow: 0 3px 14px rgba(0,0,0,.14);
      backdrop-filter: blur(4px);
      white-space: nowrap;
    }
    .chi-e-badge .ic { color: var(--verde-profondo); }
    /* contenuto sotto immagine */
    .chi-e-card-content {
      text-align: center;
      padding: 0 .8rem;
    }
    .chi-e-card-icon {
      width: 60px; height: 60px;
      margin: 0 auto 1rem;
      color: var(--verde-profondo);
    }
    .chi-e-card-content h3 {
      font-family: 'Lora', serif;
      font-size: 1.55rem; font-weight: 700;
      color: var(--verde-profondo);
      margin-bottom: .55rem;
    }
    .chi-e-card-content > p {
      color: var(--grigio-muted);
      font-size: .95rem;
      line-height: 1.65;
      max-width: 320px;
      margin: 0 auto;
    }

    .values-list {
      list-style: none; margin-top: 2rem;
      display: flex; flex-direction: column; gap: 1rem;
    }
    .values-list li {
      display: flex; gap: .9rem; align-items: flex-start;
      background: #fff; border-radius: 1rem;
      padding: 1rem 1.2rem;
      box-shadow: 0 2px 12px var(--ombra);
    }
    .values-list .v-ic {
      width: 28px; height: 28px;
      color: var(--verde-profondo); flex-shrink: 0; margin-top: .15rem;
    }
    .values-list strong { display: block; color: var(--verde-profondo); margin-bottom: .2rem; font-size: .97rem; }
    .values-list span { font-size: .9rem; color: var(--grigio-muted); line-height: 1.5; }

    /* ─── AREE TEMATICHE ──────────────────────────────────── */
    #aree { background: linear-gradient(180deg, var(--bianco-panna) 0%, var(--verde-pastello) 100%); }
    .aree-grid {
      display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 1.5rem; max-width: 1200px; margin: 0 auto;
    }
    .area-card {
      background: #fff; border-radius: 1.5rem;
      overflow: hidden;
      box-shadow: 0 4px 24px var(--ombra);
      transition: transform .3s, box-shadow .3s; cursor: pointer;
    }
    .area-card:hover { transform: translateY(-6px); box-shadow: 0 12px 40px rgba(45,106,79,.18); }
    .area-header { padding: 2rem 1.5rem 1.2rem; }
    .area-icon { width: 48px; height: 48px; margin-bottom: .9rem; }
    .area-card h3 {
      font-family: 'Lora', serif; font-size: 1.3rem;
      color: var(--verde-profondo); margin-bottom: .5rem;
    }
    .area-header > p { font-size: .92rem; color: var(--grigio-muted); line-height: 1.6; }
    .area-body { padding: 1.15rem 1.5rem 1.5rem; }
    .area-tag-list { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem; }
    .area-tag {
      font-size: .75rem; font-weight: 600;
      padding: .3rem .7rem; border-radius: 100px; letter-spacing: .04em;
    }
    .area-expand {
      font-size: .85rem; color: var(--verde-profondo); font-weight: 600;
      cursor: pointer; border: none; background: none; padding: 0;
      display: flex; align-items: center; gap: .4rem; transition: gap .2s;
    }
    .area-expand .ic { transition: transform .3s; }
    .area-expand.open .ic { transform: rotate(180deg); }
    .area-expand:hover { gap: .7rem; }
    .area-detail {
      display: none; background: var(--verde-pastello);
      border-radius: 1rem; padding: 1rem 1.2rem; margin-top: .8rem;
    }
    .area-detail.open { display: block; animation: slideIn .3s ease; }
    @keyframes slideIn {
      from { opacity: 0; transform: translateY(-8px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    .area-detail ul { padding-left: 1.2rem; }
    .area-detail li { font-size: .88rem; color: var(--grigio-testo); line-height: 1.7; margin-bottom: .3rem; }

    /* area colours */
    .area-minori   .area-header { background: linear-gradient(135deg,#fef9c3,#fde68a); }
    .area-minori   .area-icon   { color: #92400e; }
    .area-minori   .area-tag    { background: #fef3c7; color: #92400e; }
    .area-anziani  .area-header { background: linear-gradient(135deg,#dbeafe,#bfdbfe); }
    .area-anziani  .area-icon   { color: #1e40af; }
    .area-anziani  .area-tag    { background: #dbeafe; color: #1e40af; }
    .area-adulti   .area-header { background: linear-gradient(135deg,var(--verde-pastello),var(--verde-chiaro)); }
    .area-adulti   .area-icon   { color: var(--verde-profondo); }
    .area-adulti   .area-tag    { background: var(--verde-chiaro); color: var(--verde-profondo); }
    .area-disabilita .area-header { background: linear-gradient(135deg,#ede9fe,#ddd6fe); }
    .area-disabilita .area-icon   { color: #5b21b6; }
    .area-disabilita .area-tag    { background: #ede9fe; color: #5b21b6; }

    /* ─── MISURE ──────────────────────────────────────────── */
    #misure { background: var(--verde-pastello); }
    .misure-grid {
      display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 1.5rem; max-width: 1100px; margin: 0 auto;
    }
    .misura-card {
      background: #fff; border-radius: 1.4rem;
      padding: 1.8rem;
      box-shadow: 0 3px 16px var(--ombra);
      border-left: 4px solid var(--verde-medio);
      transition: transform .3s;
    }
    .misura-card:hover { transform: translateX(4px); }
    .misura-top { display: flex; align-items: center; gap: .8rem; margin-bottom: .8rem; }
    .misura-top .ic { color: var(--verde-profondo); }
    .misura-card h4 { font-family:'Lora',serif; font-size:1.05rem; color:var(--verde-profondo); }
    .misura-card p  { font-size:.9rem; color:var(--grigio-muted); line-height:1.6; }
    .misura-pill {
      display: inline-block;
      background: var(--verde-pastello); color: var(--verde-profondo);
      font-size: .75rem; font-weight: 600;
      border-radius: 100px; padding: .25rem .8rem; margin-top: .8rem;
    }

    /* ─── COLLOQUIO ───────────────────────────────────────── */
    #colloquio { background: #fff; }
    .colloquio-wrapper {
      display: grid; grid-template-columns: 1fr 1.3fr;
      gap: 4rem; align-items: start;
      max-width: 1100px; margin: 0 auto;
    }
    .colloquio-steps { display: flex; flex-direction: column; gap: 1.2rem; }
    .step {
      display: flex; gap: 1rem;
      background: var(--bianco-panna); border-radius: 1.2rem;
      padding: 1.2rem; box-shadow: 0 2px 10px var(--ombra);
      transition: box-shadow .3s;
    }
    .step:hover { box-shadow: 0 6px 24px rgba(45,106,79,.15); }
    .step-num {
      width: 36px; height: 36px;
      background: var(--verde-profondo); color: #fff;
      border-radius: 50%; display: flex; align-items: center; justify-content: center;
      font-size: .85rem; font-weight: 700; flex-shrink: 0;
    }
    .step-content strong { display: block; color: var(--verde-profondo); margin-bottom: .2rem; font-size: .95rem; }
    .step-content p { font-size: .88rem; color: var(--grigio-muted); line-height: 1.6; }

    .docs-box {
      background: linear-gradient(135deg, var(--azzurro-chiaro), var(--verde-pastello));
      border-radius: 1.5rem; padding: 2rem;
    }
    .docs-box h3 {
      font-family: 'Lora', serif; font-size: 1.25rem;
      color: var(--verde-profondo); margin-bottom: 1.2rem;
      display: flex; align-items: center; gap: .5rem;
    }
    .docs-box h3 .ic { color: var(--verde-profondo); }
    .doc-category { margin-bottom: 1.5rem; }
    .doc-category-title {
      font-size: .8rem; font-weight: 700; letter-spacing: .08em;
      text-transform: uppercase; color: var(--verde-profondo);
      margin-bottom: .6rem; padding-bottom: .4rem;
      border-bottom: 1px solid rgba(45,106,79,.2);
    }
    .doc-list { list-style: none; display: flex; flex-direction: column; gap: .5rem; }
    .doc-list li {
      display: flex; align-items: flex-start; gap: .6rem;
      font-size: .9rem; color: var(--grigio-testo);
    }
    .doc-list li .ic { color: var(--verde-medio); flex-shrink: 0; margin-top: .15rem; }
    .tip-box {
      background: rgba(45,106,79,.08); border-radius: 1rem;
      padding: 1rem 1.2rem; margin-top: 1.5rem;
      display: flex; gap: .7rem; align-items: flex-start;
    }
    .tip-box .ic { color: var(--verde-profondo); flex-shrink: 0; margin-top: .1rem; }
    .tip-box p { font-size: .88rem; color: var(--grigio-testo); line-height: 1.6; }
    .tip-box strong { color: var(--verde-profondo); }

    /* ─── FAQ ─────────────────────────────────────────────── */
    #faq { background: var(--verde-pastello); }
    .faq-list { max-width: 780px; margin: 0 auto; display: flex; flex-direction: column; gap: .8rem; }
    .faq-item { background: #fff; border-radius: 1rem; overflow: hidden; box-shadow: 0 2px 10px var(--ombra); }
    .faq-question {
      width: 100%; padding: 1.2rem 1.5rem;
      display: flex; align-items: center; justify-content: space-between;
      background: none; border: none; cursor: pointer;
      text-align: left; font-family: 'DM Sans', sans-serif;
      font-size: .97rem; font-weight: 600; color: var(--verde-profondo); gap: 1rem;
    }
    .faq-question .ic { flex-shrink: 0; color: var(--verde-profondo); transition: transform .3s; }
    .faq-item.active .faq-question .ic { transform: rotate(180deg); }
    .faq-answer {
      max-height: 0; overflow: hidden;
      transition: max-height .4s ease, padding .3s;
      padding: 0 1.5rem;
      font-size: .92rem; color: var(--grigio-muted); line-height: 1.7;
    }
    .faq-answer.open { max-height: 400px; padding: 0 1.5rem 1.2rem; }

    /* ─── CTA ─────────────────────────────────────────────── */
    #cta { background: var(--verde-profondo); color: #fff; text-align: center; padding: 5rem 5%; }
    #cta .section-label { color: var(--verde-chiaro); }
    #cta .section-title { color: #fff; }
    #cta > div > p { color: rgba(255,255,255,.75); max-width: 520px; margin: 0 auto 2rem; line-height: 1.7; }
    #cta .btn-primary { background: var(--verde-medio); box-shadow: 0 4px 20px rgba(82,183,136,.4); }
    #cta .btn-primary:hover { background: #3da06c; }
    #cta .btn-outline { border-color: var(--verde-chiaro); color: var(--verde-chiaro); }
    #cta .btn-outline:hover { background: rgba(255,255,255,.1); }

    /* ─── FOOTER ─────────────────────────────────────────── */
    
    
    

    /* ─── FADE IN ─────────────────────────────────────────── */
    .fade-in { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
    .fade-in.visible { opacity: 1; transform: translateY(0); }

    /* ─── RESPONSIVE ──────────────────────────────────────── */
    @media (max-width: 900px) {
      .chi-e-grid, .colloquio-wrapper { grid-template-columns: 1fr; gap: 2.5rem; }
      .nav-links { display: none; }
    }
    @media (max-width: 600px) {
      section { padding: 3.5rem 5%; }
      .hero { padding: 6rem 5% 3rem; }
    }
  



footer.footer-main{background:#152e1f;color:rgba(255,255,255,.65);padding:4rem 5% 0;font-size:.88rem;line-height:1.7;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:3rem;max-width:1100px;margin:0 auto 3rem;}
.footer-brand-logo{font-family:'Lora',serif;font-weight:700;font-size:1.15rem;color:#fff;display:flex;align-items:center;gap:.5rem;text-decoration:none;margin-bottom:1rem;}
.footer-brand-logo svg,.footer-brand-logo span{color:#74c69d;}
.footer-brand p{font-size:.85rem;line-height:1.7;max-width:280px;}
.footer-brand-badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(116,198,157,.12);border:1px solid rgba(116,198,157,.25);border-radius:2rem;padding:.35rem .85rem;font-size:.78rem;color:#74c69d;margin-top:1.2rem;}
.footer-col-title{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:1rem;}
.footer-nav-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.55rem;}
.footer-nav-list a{color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s;}
.footer-nav-list a:hover{color:#a7f3d0;}
.footer-info-item{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.7rem;font-size:.84rem;}
.footer-info-item svg{flex-shrink:0;color:#74c69d;margin-top:.15rem;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.4rem 0;max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;font-size:.78rem;color:rgba(255,255,255,.35);}
.footer-bottom-links{display:flex;gap:1.4rem;}
.footer-bottom-links a{color:rgba(255,255,255,.4);text-decoration:none;transition:color .2s;}
.footer-bottom-links a:hover{color:#74c69d;}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr;gap:2rem;}.footer-bottom{flex-direction:column;text-align:center;}}


    /* ─── Autovalutazione Banner ─────────────────────────────── */
    .autoval-banner {
      background: linear-gradient(135deg, var(--verde-profondo) 0%, #1e5c38 100%);
      border-radius: 1.5rem;
      padding: 2.8rem 3rem;
      display: flex;
      align-items: center;
      gap: 2.5rem;
      margin: 0 5% 0;
      color: #fff;
      box-shadow: 0 8px 40px rgba(45,106,79,.28);
    }
    .autoval-banner-icon {
      flex-shrink: 0;
      width: 72px;
      height: 72px;
      background: rgba(255,255,255,.12);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 2.2rem;
    }
    .autoval-banner-body { flex: 1; }
    .autoval-banner-eyebrow {
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--verde-chiaro);
      margin-bottom: .4rem;
    }
    .autoval-banner-body h3 {
      font-family: 'Lora', serif;
      font-size: 1.45rem;
      font-weight: 700;
      color: #fff;
      margin: 0 0 .6rem;
      line-height: 1.25;
    }
    .autoval-banner-body p {
      font-size: .93rem;
      color: rgba(255,255,255,.78);
      line-height: 1.65;
      margin: 0;
    }
    .autoval-banner-cta {
      flex-shrink: 0;
    }
    .autoval-banner-cta a {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      background: var(--verde-medio);
      color: #fff;
      font-weight: 600;
      font-size: .92rem;
      padding: .85rem 1.8rem;
      border-radius: 2rem;
      text-decoration: none;
      white-space: nowrap;
      box-shadow: 0 4px 16px rgba(82,183,136,.35);
      transition: background .2s, transform .15s;
    }
    .autoval-banner-cta a:hover { background: #3da06c; transform: translateY(-2px); }
    @media (max-width: 700px) {
      .autoval-banner { flex-direction: column; text-align: center; padding: 2rem 1.5rem; margin: 0 4%; }
      .autoval-banner-cta a { white-space: normal; }
    }

    /* ─── HAMBURGER NAV (responsive) ─────────────────────── */
    .nav-hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      cursor: pointer;
      background: none;
      border: none;
      padding: .4rem;
      border-radius: .4rem;
      transition: background .2s;
    }
    .nav-hamburger:hover { background: var(--verde-chiaro, #b7e4c7); }
    .nav-hamburger span {
      display: block;
      width: 24px; height: 2px;
      background: var(--verde-profondo, #2d6a4f);
      border-radius: 2px;
      transition: transform .3s, opacity .3s;
    }
    .nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2) { opacity: 0; }
    .nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    @media (max-width: 820px) {
      .nav-hamburger { display: flex; }
      .nav-switch { display: none !important; }
      .nav-links {
        display: none !important;
        position: fixed;
        top: 60px; left: 0; right: 0;
        background: rgba(249,247,242,.98);
        backdrop-filter: blur(12px);
        flex-direction: column !important;
        align-items: flex-start;
        gap: 0 !important;
        padding: 1rem 0 1.5rem;
        border-bottom: 2px solid var(--verde-chiaro, #b7e4c7);
        z-index: 99;
        box-shadow: 0 8px 24px rgba(0,0,0,.08);
      }
      .nav-links.open { display: flex !important; }
      .nav-links li { width: 100%; }
      .nav-links a {
        display: block;
        padding: .85rem 5%;
        font-size: 1rem !important;
        border-bottom: 1px solid var(--verde-chiaro, #b7e4c7);
      }
      .nav-links li:last-child a { border-bottom: none; }
    }

  
    @media (max-width: 820px) {
      .hero { flex-direction: column; text-align: center; padding-top: 5rem; }
      .hero-img-left, .hero-img-right { display: none; }
      .chi-e-grid { grid-template-columns: 1fr; }
      .chi-e-card-wrap { flex-direction: column; }
      .autoval-banner { padding: 2rem 5%; }
      .autoval-banner-inner { flex-direction: column; gap: 1rem; text-align: center; }
      .misure-preview-grid { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 500px) {
      .misure-preview-grid { grid-template-columns: 1fr; }
      .hero-content { padding: 0 1rem; }
      .hero-badge { margin: 0 auto; }
      .chi-e-photo { height: 220px; }
    }

  
    @media (max-width: 820px) {
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
    }
    @media (max-width: 500px) {
      .footer-grid { grid-template-columns: 1fr; gap: 1.5rem; }
    }

  
    /* ═══════════════════════════════════════════════════
       BOTTOM TAB BAR — solo mobile (≤768px)
    ═══════════════════════════════════════════════════ */
    @media (max-width: 768px) {
      .nav-hamburger { display: none !important; }
      .nav-links      { display: none !important; }
      .nav-links.open { display: none !important; }
      .nav-switch     { display: none !important; }
      body { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important; }

      .bottom-nav {
        display: flex !important;
        position: fixed !important;
        bottom: 0 !important; left: 0 !important; right: 0 !important;
        height: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
        background: #ffffff !important;
        border-top: 2px solid #b7e4c7 !important;
        box-shadow: 0 -2px 16px rgba(45,106,79,.15) !important;
        z-index: 99999 !important;
        align-items: stretch !important;
      }
      .bnav-tab {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        text-decoration: none !important;
        color: #4a7055 !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        padding: .2rem .1rem !important;
        border-top: 3px solid transparent !important;
        -webkit-tap-highlight-color: transparent;
        height: 100%;
        box-sizing: border-box;
      }
      .bnav-tab svg {
        display: block !important;
        width: 22px !important; height: 22px !important;
        stroke: currentColor !important;
        stroke-width: 1.7 !important;
        fill: none !important;
        flex-shrink: 0 !important;
      }
      .bnav-tab span {
        display: block !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        color: inherit !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
        height: auto !important;
        background: none !important;
        max-width: 100% !important;
        text-align: center !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        padding: 0 2px !important;
        font-weight: 600 !important;
        font-family: 'DM Sans', sans-serif !important;
        letter-spacing: 0 !important;
        border-radius: 0 !important;
        transform: none !important;
      }
      .bnav-tab:active { background: #e8f8ee !important; }
      .bnav-tab.bnav-active {
        color: #1a5235 !important;
        border-top: 3px solid #3aaa6e !important;
        background: #edf9f2 !important;
        font-weight: 700 !important;
      }
      .bnav-tab.bnav-active svg { stroke: #1a5235 !important; }
      .bnav-tab.bnav-active span { color: #1a5235 !important; font-weight: 700 !important; }
      .bnav-tab.bnav-switch {
        color: #1e3a5f !important;
        border-left: 1px solid #d8e8f5 !important;
      }
      .bnav-tab.bnav-switch svg { stroke: #1e3a5f !important; }
      .bnav-tab.bnav-switch span { color: #1e3a5f !important; }
      nav { padding: .6rem 4% !important; }
    }
    @media (min-width: 769px) { .bottom-nav { display: none !important; } }

  


/* ===== Page source: aree.css ===== */



:root {
  --verde-profondo:#2d6a4f;--verde-medio:#52b788;--verde-chiaro:#b7e4c7;
  --verde-pastello:#d8f3dc;--azzurro:#a8c5da;--azzurro-chiaro:#e0eff7;
  --bianco-panna:#f9f7f2;--grigio-testo:#3a3a3a;--grigio-muted:#6b7280;
  --grigio-bordo:#e5e7eb;--ombra:rgba(45,106,79,.12);--rosso-emergenza:#dc2626;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--bianco-panna);color:var(--grigio-testo);overflow-x:hidden;}
.ic{display:inline-block;flex-shrink:0;line-height:0;}
.ic svg{display:block;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(249,247,242,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--verde-chiaro);display:flex;align-items:center;justify-content:space-between;padding:.9rem 5%;}
.nav-logo{font-family:'Lora',serif;font-weight:700;font-size:1.05rem;color:#2d6a4f;text-decoration:none;display:flex;align-items:center;gap:.5rem}
    .nav-logo span{color:#52b788}
    .nav-logo-img{height:32px;width:auto;display:block;}
.nav-links{display:flex;gap:1.6rem;list-style:none;}
.nav-links a{font-size:.88rem;font-weight:500;color:var(--grigio-testo);text-decoration:none;letter-spacing:.02em;transition:color .25s;padding-bottom:2px;}
.nav-links a:hover{color:var(--verde-profondo);}
.nav-links a.active{color:var(--verde-profondo);font-weight:700;border-bottom:2px solid var(--verde-medio);}

/* PAGE HERO */
.page-hero{padding:7rem 5% 3.5rem;background-color:#b8d9c4;background-image:radial-gradient(ellipse 75% 65% at 0% 0%, rgba(247,253,250,.98) 0%, rgba(220,242,230,.6) 40%, transparent 70%),radial-gradient(ellipse 60% 55% at 18% 55%, rgba(188,228,208,.75) 0%, transparent 65%),radial-gradient(ellipse 55% 60% at 50% 40%, rgba(140,205,170,.55) 0%, transparent 60%),radial-gradient(ellipse 55% 70% at 88% 30%, rgba(45,120,85,.60) 0%, transparent 60%),radial-gradient(ellipse 50% 55% at 95% 90%, rgba(25,80,55,.75) 0%, transparent 55%),radial-gradient(ellipse 35% 40% at 100% 100%, rgba(15,60,40,.55) 0%, transparent 50%);text-align:center;}
.page-hero .breadcrumb{font-size:.8rem;color:var(--grigio-muted);margin-bottom:1rem;}
.page-hero .breadcrumb a{color:var(--verde-profondo);text-decoration:none;}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--verde-pastello);color:var(--verde-profondo);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.35rem 1.1rem;border-radius:100px;margin-bottom:1.2rem;border:1px solid var(--verde-chiaro);}
.page-hero h1{font-family:'Lora',serif;font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--verde-profondo);margin-bottom:1rem;line-height:1.2;}
.page-hero h1 em{font-style:italic;color:var(--verde-medio);}
.page-hero p{font-size:1.05rem;color:var(--grigio-muted);max-width:600px;margin:0 auto;line-height:1.7;}

/* SECTION COMMONS */
section{padding:5rem 5%;}
.section-label{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--verde-medio);margin-bottom:.8rem;}
.section-title{font-family:'Lora',serif;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:700;color:var(--verde-profondo);margin-bottom:1rem;}
.section-sub{font-size:1.05rem;color:var(--grigio-muted);max-width:620px;line-height:1.7;margin-bottom:3rem;}
.text-center{text-align:center;}
.text-center .section-sub{margin-left:auto;margin-right:auto;}

/* AREA CARDS GRID */
#aree{background:var(--bianco-panna);}
.aree-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto;}
.area-card{background:#fff;border-radius:1.5rem;overflow:hidden;box-shadow:0 4px 24px var(--ombra);transition:transform .3s,box-shadow .3s;}
.area-card:hover{transform:translateY(-6px);box-shadow:0 12px 40px rgba(45,106,79,.18);}
.area-header{padding:2rem 1.5rem 1.2rem;}
.area-icon{width:48px;height:48px;margin-bottom:.9rem;}
.area-card h3{font-family:'Lora',serif;font-size:1.25rem;color:var(--verde-profondo);margin-bottom:.5rem;}
.area-header > p{font-size:.9rem;color:var(--grigio-muted);line-height:1.6;}
.area-body{padding:1.15rem 1.5rem 1.5rem;}
.area-tag-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;}
.area-tag{font-size:.75rem;font-weight:600;padding:.3rem .7rem;border-radius:100px;letter-spacing:.04em;}
.area-approfondisci{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--verde-profondo);text-decoration:none;transition:gap .2s;margin-top:.3rem;}
.area-approfondisci:hover{gap:.7rem;}
button.area-approfondisci { background:none; border:none; cursor:pointer; font-family:'DM Sans',sans-serif; }


/* Area color themes */
.area-minori .area-header{background:linear-gradient(135deg,#fef9c3,#fde68a);}
.area-minori .area-icon{color:#92400e;}
.area-minori .area-tag{background:#fef3c7;color:#92400e;}
.area-minori .area-approfondisci{color:#92400e;}
.area-anziani .area-header{background:linear-gradient(135deg,#dbeafe,#bfdbfe);}
.area-anziani .area-icon{color:#1e40af;}
.area-anziani .area-tag{background:#dbeafe;color:#1e40af;}
.area-anziani .area-approfondisci{color:#1e40af;}
.area-adulti .area-header{background:linear-gradient(135deg,var(--verde-pastello),var(--verde-chiaro));}
.area-adulti .area-icon{color:var(--verde-profondo);}
.area-adulti .area-tag{background:var(--verde-chiaro);color:var(--verde-profondo);}
.area-disabilita .area-header{background:linear-gradient(135deg,#ede9fe,#ddd6fe);}
.area-disabilita .area-icon{color:#5b21b6;}
.area-disabilita .area-tag{background:#ede9fe;color:#5b21b6;}
.area-disabilita .area-approfondisci{color:#5b21b6;}
.area-dipendenze .area-header{background:linear-gradient(135deg,#fff7ed,#fed7aa);}
.area-dipendenze .area-icon{color:#c2410c;}
.area-dipendenze .area-tag{background:#ffedd5;color:#c2410c;}
.area-dipendenze .area-approfondisci{color:#c2410c;}
.area-salute-mentale .area-header{background:linear-gradient(135deg,#fdf2f8,#fbcfe8);}
.area-salute-mentale .area-icon{color:#9d174d;}
.area-salute-mentale .area-tag{background:#fce7f3;color:#9d174d;}
.area-salute-mentale .area-approfondisci{color:#9d174d;}
.area-giustizia .area-header{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);}
.area-giustizia .area-icon{color:#334155;}
.area-giustizia .area-tag{background:#f1f5f9;color:#334155;}
.area-giustizia .area-approfondisci{color:#334155;}
.area-immigrazione .area-header{background:linear-gradient(135deg,#ecfeff,#a5f3fc);}
.area-immigrazione .area-icon{color:#0e7490;}
.area-immigrazione .area-tag{background:#cffafe;color:#0e7490;}
.area-immigrazione .area-approfondisci{color:#0e7490;}

/* SECTION DIVIDER */
.section-divider{border:none;height:2px;background:linear-gradient(90deg,transparent,var(--verde-chiaro),transparent);margin:0;}

/* DEEP DIVE SECTIONS */
.deep-area{padding:5rem 5%;}
.deep-area:nth-child(odd){background:#fff;}
.deep-area:nth-child(even){background:var(--bianco-panna);}
.deep-minori{background:#fffbeb!important;}
.deep-anziani{background:#eff6ff!important;}
.deep-adulti{background:var(--verde-pastello)!important;}
.deep-disabilita{background:#f5f3ff!important;}
.deep-dipendenze{background:#fff7ed!important;}
.deep-salute-mentale{background:#fdf2f8!important;}
.deep-giustizia{background:#f8fafc!important;}
.deep-immigrazione{background:#f0fdfd!important;}
.deep-wrap{max-width:1100px;margin:0 auto;}
.deep-badge{display:inline-block;padding:.3rem 1rem;border-radius:100px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.8rem;}
.badge-minori{background:#fef3c7;color:#92400e;}
.badge-anziani{background:#dbeafe;color:#1e40af;}
.badge-adulti{background:var(--verde-chiaro);color:var(--verde-profondo);}
.badge-disabilita{background:#ede9fe;color:#5b21b6;}
.badge-dipendenze{background:#ffedd5;color:#c2410c;}
.badge-salute-mentale{background:#fce7f3;color:#9d174d;}
.badge-giustizia{background:#e2e8f0;color:#334155;}
.badge-immigrazione{background:#cffafe;color:#0e7490;}
.deep-title{font-family:'Lora',serif;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;color:var(--verde-profondo);margin-bottom:.8rem;line-height:1.3;}
.deep-title em{font-style:italic;color:inherit;opacity:.8;}
.deep-intro{font-size:1rem;color:var(--grigio-muted);max-width:750px;line-height:1.75;margin-bottom:2rem;}
.back-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--grigio-muted);font-size:.83rem;font-weight:500;text-decoration:none;transition:color .2s;margin-bottom:2rem;}
.back-link:hover{color:var(--verde-profondo);}
.deep-columns{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-bottom:2.5rem;}
.deep-col-title{font-family:'Lora',serif;font-size:1.1rem;color:var(--verde-profondo);margin-bottom:1.2rem;display:flex;align-items:center;gap:.5rem;}
.deep-steps{list-style:none;counter-reset:sc;padding:0;}
.deep-steps li{counter-increment:sc;display:flex;gap:.8rem;padding:.65rem 0;border-bottom:1px solid rgba(0,0,0,.07);font-size:.91rem;color:var(--grigio-testo);line-height:1.6;}
.deep-steps li::before{content:counter(sc);min-width:22px;height:22px;border-radius:50%;background:var(--verde-profondo);color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}
.deep-services{list-style:none;padding:0;}
.deep-services li{display:flex;gap:.6rem;padding:.6rem 0;border-bottom:1px solid rgba(0,0,0,.07);font-size:.91rem;color:var(--grigio-testo);line-height:1.6;}
.deep-services li::before{content:"→";color:var(--verde-medio);font-weight:700;flex-shrink:0;}
.deep-measures-title{font-family:'Lora',serif;font-size:1.1rem;color:var(--verde-profondo);margin-bottom:1.2rem;}
.measures-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;}
.measure-card{background:#fff;border-radius:1rem;padding:1.2rem 1.4rem;box-shadow:0 2px 12px var(--ombra);}
.measure-card strong{font-size:.93rem;color:var(--verde-profondo);display:block;margin-bottom:.3rem;}
.measure-card p{font-size:.83rem;color:var(--grigio-muted);line-height:1.55;}

/* TROVA SERVIZIO */
#trova{background:#fff;}
.search-bar-wrap{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem;background:var(--bianco-panna);border-radius:1.2rem;padding:1rem 1.2rem;box-shadow:0 2px 12px var(--ombra);}
.search-input-wrap{flex:1;min-width:220px;display:flex;align-items:center;gap:.6rem;background:#fff;border:1.5px solid var(--grigio-bordo);border-radius:.8rem;padding:.65rem 1rem;transition:border-color .25s;}
.search-input-wrap:focus-within{border-color:var(--verde-medio);}
.search-input-wrap .ic{color:var(--grigio-muted);}
.search-input-wrap input{border:none;outline:none;background:none;font-size:.95rem;color:var(--grigio-testo);font-family:'DM Sans',sans-serif;width:100%;}
.search-input-wrap input::placeholder{color:var(--grigio-muted);}
.filter-select-wrap{display:flex;align-items:center;gap:.5rem;background:#fff;border:1.5px solid var(--grigio-bordo);border-radius:.8rem;padding:.65rem 1rem;min-width:200px;transition:border-color .25s;}
.filter-select-wrap:focus-within{border-color:var(--verde-medio);}
.filter-select-wrap .ic{color:var(--grigio-muted);flex-shrink:0;}
.filter-select-wrap select{border:none;outline:none;background:none;font-size:.9rem;color:var(--grigio-testo);font-family:'DM Sans',sans-serif;cursor:pointer;width:100%;}
.btn-cerca{background:var(--verde-profondo);color:#fff;border:none;border-radius:.8rem;padding:.65rem 1.4rem;font-size:.92rem;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .25s;white-space:nowrap;}
.btn-cerca:hover{background:#1e4f39;}

    /* ── RESET BUTTON ── */
    .btn-reset {
      background: transparent;
      color: var(--verde-profondo, #2d6a4f);
      border: 1.5px solid var(--verde-medio, #52b788);
      border-radius: .8rem;
      padding: .65rem 1.1rem;
      font-size: .88rem;
      font-weight: 600;
      cursor: pointer;
      font-family: 'DM Sans', sans-serif;
      transition: background .2s, color .2s;
      white-space: nowrap;
      display: none; /* nascosto finché non ci sono filtri */
      align-items: center; gap: .4rem;
    }
    .btn-reset.visible { display: flex; }
    .btn-reset:hover { background: var(--verde-pastello, #d8f3dc); }
    .btn-reset svg { width: 15px; height: 15px; stroke: currentColor; }
    @media (max-width: 600px) {
      .btn-reset { width: 100%; justify-content: center; }
    }

.trova-layout{display:grid;grid-template-columns:253px 1fr;gap:2rem;align-items:start;}
.sidebar-regioni{background:var(--bianco-panna);border-radius:1.2rem;padding:1.2rem;box-shadow:0 2px 12px var(--ombra);position:sticky;top:80px;max-height:calc(100vh - 120px);display:flex;flex-direction:column;}
.sidebar-regioni h4{font-family:'Lora',serif;font-size:.95rem;color:var(--verde-profondo);margin-bottom:.8rem;padding-bottom:.6rem;border-bottom:1px solid var(--verde-chiaro);display:flex;align-items:center;gap:.4rem;flex-shrink:0;}
.regioni-list{list-style:none;display:flex;flex-direction:column;gap:.2rem;overflow-y:auto;flex:1;padding-right:.3rem;margin-bottom:.4rem;}
.regioni-list::-webkit-scrollbar{width:4px;}
.regioni-list::-webkit-scrollbar-track{background:transparent;}
.regioni-list::-webkit-scrollbar-thumb{background:var(--verde-chiaro);border-radius:4px;}
.regioni-list::-webkit-scrollbar-thumb:hover{background:var(--verde-medio);}
.regioni-list li button{width:100%;text-align:left;background:none;border:none;font-size:.85rem;color:var(--grigio-testo);cursor:pointer;padding:.4rem .7rem;border-radius:.6rem;font-family:'DM Sans',sans-serif;transition:all .2s;word-break:normal;overflow-wrap:normal;hyphens:none;}
.regioni-list li button:hover{background:var(--verde-pastello);color:var(--verde-profondo);}
.regioni-list li button.active{background:var(--verde-profondo);color:#fff;font-weight:600;}
.btn-tutte{width:100%;margin-top:.6rem;padding:.45rem;background:var(--verde-pastello);border:none;border-radius:.6rem;font-size:.82rem;font-weight:600;color:var(--verde-profondo);cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .2s;}
.btn-tutte:hover{background:var(--verde-chiaro);}
.risultati-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem;}
.risultati-count{font-size:.88rem;color:var(--grigio-muted);}
.risultati-count strong{color:var(--verde-profondo);}
.risultati-main{max-height:calc(100vh - 120px);overflow-y:auto;padding-right:.5rem;}
.risultati-main::-webkit-scrollbar{width:5px;}
.risultati-main::-webkit-scrollbar-track{background:transparent;}
.risultati-main::-webkit-scrollbar-thumb{background:var(--verde-chiaro);border-radius:4px;}
.risultati-main::-webkit-scrollbar-thumb:hover{background:var(--verde-medio);}
.servizi-grid{display:flex;flex-direction:column;gap:1.2rem;}
.servizio-card{background:var(--bianco-panna);border-radius:1.2rem;padding:1.4rem 1.6rem;box-shadow:0 2px 12px var(--ombra);border-left:4px solid var(--verde-medio);transition:transform .25s,box-shadow .25s;}
.servizio-card:hover{transform:translateX(4px);box-shadow:0 6px 24px rgba(45,106,79,.15);}
.servizio-card[data-tipo="ASL"]{border-left-color:#60a5fa;}
.servizio-card[data-tipo="Ospedale"]{border-left-color:#f87171;}
.servizio-card[data-tipo="UEPE"]{border-left-color:#a78bfa;}
.servizio-card[data-tipo="Consultorio"]{border-left-color:#fb923c;}
.servizio-card[data-tipo="SerD"]{border-left-color:#34d399;}
.servizio-card[data-tipo="CSM"]{border-left-color:#f59e0b;}
.servizio-card[data-tipo="Distretto"]{border-left-color:var(--azzurro);}
.servizio-card[data-tipo="INPS"]{border-left-color:#64748b;}
.servizio-card[data-tipo="Ambito"]{border-left-color:#10b981;}
.servizio-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem;}
.servizio-tipo-badge{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.25rem .75rem;border-radius:100px;background:var(--verde-pastello);color:var(--verde-profondo);white-space:nowrap;flex-shrink:0;}
.badge-ASL{background:#dbeafe;color:#1e40af;}
.badge-Ospedale{background:#fee2e2;color:#dc2626;}
.badge-UEPE{background:#ede9fe;color:#5b21b6;}
.badge-Consultorio{background:#ffedd5;color:#c2410c;}
.badge-SerD{background:#d1fae5;color:#065f46;}
.badge-Ambito{background:#ecfdf5;color:#047857;}
.badge-CSM{background:#fef3c7;color:#92400e;}
.badge-Distretto{background:var(--azzurro-chiaro);color:#1e40af;}
.badge-INPS{background:#f1f5f9;color:#475569;}
.badge-Comune{background:var(--verde-pastello);color:var(--verde-profondo);}
.servizio-nome{font-family:'Lora',serif;font-size:1.1rem;color:var(--verde-profondo);}
.servizio-meta{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:.7rem;font-size:.85rem;color:var(--grigio-muted);}
.servizio-meta span{display:flex;align-items:center;gap:.35rem;}
.servizio-meta .ic{color:var(--verde-medio);}
.servizio-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.85rem;margin-bottom:.9rem;}
.servizio-tag{font-size:.72rem;font-weight:600;padding:.2rem .6rem;border-radius:100px;letter-spacing:.04em;}
.tag-minori{background:#fef3c7;color:#92400e;}
.tag-anziani{background:#dbeafe;color:#1e40af;}
.tag-adulti{background:var(--verde-chiaro);color:var(--verde-profondo);}
.tag-disabilita{background:#ede9fe;color:#5b21b6;}
.tag-famiglie{background:#fce7f3;color:#9d174d;}
.tag-salute-mentale{background:#fef3c7;color:#78350f;}
.tag-dipendenze{background:#d1fae5;color:#065f46;}
.tag-lavoro{background:#f1f5f9;color:#475569;}
.servizio-actions{display:flex;gap:.7rem;flex-wrap:wrap;}
.btn-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;padding:.4rem .9rem;border-radius:100px;text-decoration:none;transition:all .2s;}
.btn-link-primary{background:var(--verde-profondo);color:#fff;}
.btn-link-primary:hover{background:#1e4f39;}
.btn-link-outline{border:1.5px solid var(--verde-chiaro);color:var(--verde-profondo);background:transparent;}
.btn-link-outline:hover{background:var(--verde-pastello);}
.nessun-risultato{text-align:center;padding:3rem 1rem;color:var(--grigio-muted);background:var(--bianco-panna);border-radius:1.2rem;}
.nessun-risultato h4{font-size:1.1rem;color:var(--grigio-testo);margin-bottom:.5rem;}
/* AMBITI COMUNI */
.ambito-comuni{padding:.8rem 0 .4rem;margin:0 0 .2rem;}
.ambito-comuni-label{font-size:.78rem;font-weight:700;color:var(--verde-profondo);display:flex;align-items:center;gap:.4rem;margin-bottom:.6rem;text-transform:uppercase;letter-spacing:.06em;}
.ambito-comuni-label svg{color:var(--verde-medio);}
.ambito-comuni-list{display:flex;flex-wrap:wrap;gap:.35rem;max-height:120px;overflow-y:auto;padding-right:.3rem;}
.ambito-comuni-list::-webkit-scrollbar{width:3px;}
.ambito-comuni-list::-webkit-scrollbar-thumb{background:var(--verde-chiaro);border-radius:4px;}
.ambito-comune-chip{font-size:.73rem;font-weight:500;padding:.2rem .6rem;border-radius:100px;background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;white-space:nowrap;}

/* EMERGENZE */
#emergenze{background:var(--verde-pastello);}
.emergenze-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;max-width:1100px;margin:0 auto 2.5rem;}
.emergenza-card{background:#fff;border-radius:1.2rem;padding:1.4rem;box-shadow:0 3px 16px var(--ombra);display:flex;flex-direction:column;gap:.5rem;border-top:3px solid var(--verde-medio);}
.emergenza-card.danger{border-top-color:var(--rosso-emergenza);}
.emergenza-card.warning{border-top-color:#f59e0b;}
.emergenza-card.info{border-top-color:#3b82f6;}
.em-numero{font-family:'Lora',serif;font-size:1.8rem;font-weight:700;color:var(--verde-profondo);line-height:1;}
.emergenza-card.danger .em-numero{color:var(--rosso-emergenza);}
.emergenza-card.warning .em-numero{color:#b45309;}
.emergenza-card.info .em-numero{color:#1d4ed8;}
.em-nome{font-weight:600;font-size:.95rem;color:var(--grigio-testo);}
.em-desc{font-size:.82rem;color:var(--grigio-muted);line-height:1.5;}
.em-gratuito{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.15rem .6rem;border-radius:100px;background:#dcfce7;color:#166534;}

/* COME SI ACCEDE */
#come-accedere{background:#fff;}
.accesso-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:1100px;margin:0 auto;}
@media(max-width:900px){.accesso-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.accesso-grid{grid-template-columns:1fr}}
.accesso-step{background:var(--bianco-panna);border-radius:1.2rem;padding:1.6rem;box-shadow:0 2px 12px var(--ombra);position:relative;overflow:hidden;}
.accesso-step::before{content:attr(data-num);position:absolute;right:.8rem;bottom:.2rem;font-family:'Lora',serif;font-size:4rem;font-weight:700;color:var(--verde-chiaro);line-height:1;pointer-events:none;opacity:.7;}
.accesso-step h4{font-family:'Lora',serif;font-size:1rem;color:var(--verde-profondo);margin-bottom:.5rem;}
.accesso-step p{font-size:.88rem;color:var(--grigio-muted);line-height:1.6;}
.accesso-nota{margin-top:2rem;max-width:700px;margin-left:auto;margin-right:auto;background:var(--azzurro-chiaro);border-radius:1rem;padding:1.2rem 1.5rem;text-align:center;font-size:.9rem;color:var(--grigio-testo);line-height:1.6;}
.accesso-nota strong{color:var(--verde-profondo);}

/* CTA */
#cta{background:var(--verde-profondo);color:#fff;text-align:center;padding:4rem 5%;}
#cta .section-title{color:#fff;}
#cta p{color:rgba(255,255,255,.75);max-width:500px;margin:0 auto 2rem;line-height:1.7;font-size:1rem;}
.btn-group{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.8rem;border-radius:100px;font-size:.92rem;font-weight:600;text-decoration:none;transition:all .25s;cursor:pointer;border:none;font-family:'DM Sans',sans-serif;}
.btn-primary{background:var(--verde-medio);color:#fff;box-shadow:0 4px 20px rgba(82,183,136,.4);}
.btn-primary:hover{background:#3da06c;transform:translateY(-2px);}
.btn-outline{border:2px solid var(--verde-chiaro);color:var(--verde-chiaro);background:transparent;}
.btn-outline:hover{background:rgba(255,255,255,.1);transform:translateY(-2px);}

/* FOOTER */
footer{background:#1a3d2b;color:rgba(255,255,255,.6);text-align:center;padding:2rem 5%;font-size:.85rem;}
footer a{color:var(--verde-chiaro);text-decoration:none;}
footer strong{color:#fff;}

/* FADE IN */
.fade-in{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.fade-in.visible{opacity:1;transform:translateY(0);}

/* DEEP PANEL (collapsed accordion below the grid) */
.deep-panel-wrapper {
  max-width:1200px; margin:0 auto;
  overflow:hidden;
  max-height:0;
  opacity:0;
  transition: max-height .55s cubic-bezier(.4,0,.2,1), opacity .4s ease;
}
.deep-panel-wrapper.panel-open {
  max-height:4000px;
  opacity:1;
}
.deep-panel {
  background:#fff;
  border-radius:1.5rem;
  box-shadow:0 8px 40px rgba(45,106,79,.14);
  margin-top:1.5rem;
  overflow:hidden;
  border:1px solid var(--verde-chiaro);
}
.deep-panel-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:1.5rem 2rem 1rem;
  border-bottom:1px solid var(--grigio-bordo);
}
.deep-panel-badge {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.3rem 1rem; border-radius:100px;
  font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
}
.deep-panel-title {
  font-family:'Lora',serif; font-size:clamp(1.3rem,2vw,1.8rem);
  font-weight:700; color:var(--verde-profondo); margin:.5rem 0 .3rem; line-height:1.3;
}
.deep-panel-title em { font-style:italic; opacity:.8; }
.deep-panel-intro {
  font-size:.96rem; color:var(--grigio-muted); line-height:1.75; max-width:750px; margin-bottom:0;
}
.btn-close-panel {
  display:inline-flex; align-items:center; gap:.5rem;
  background:none; border:1.5px solid var(--grigio-bordo); border-radius:100px;
  padding:.4rem 1rem; font-size:.82rem; font-weight:600;
  color:var(--grigio-muted); cursor:pointer; font-family:'DM Sans',sans-serif;
  transition:all .2s; white-space:nowrap; flex-shrink:0; align-self:flex-start;
}
.btn-close-panel:hover { border-color:var(--verde-medio); color:var(--verde-profondo); }
.deep-panel-body { padding:2rem; }
.deep-columns {
  display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; margin-bottom:2.5rem;
}
.deep-col-title {
  font-family:'Lora',serif; font-size:1.1rem; color:var(--verde-profondo);
  margin-bottom:1.2rem; display:flex; align-items:center; gap:.5rem;
}
.deep-steps { list-style:none; counter-reset:sc; padding:0; }
.deep-steps li {
  counter-increment:sc; display:flex; gap:.8rem;
  padding:.65rem 0; border-bottom:1px solid rgba(0,0,0,.07);
  font-size:.91rem; color:var(--grigio-testo); line-height:1.6;
}
.deep-steps li::before {
  content:counter(sc); min-width:22px; height:22px; border-radius:50%;
  background:var(--verde-profondo); color:#fff; font-size:.72rem; font-weight:700;
  display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px;
}
.deep-services { list-style:none; padding:0; }
.deep-services li {
  display:flex; gap:.6rem; padding:.6rem 0;
  border-bottom:1px solid rgba(0,0,0,.07);
  font-size:.91rem; color:var(--grigio-testo); line-height:1.6;
}
.deep-services li::before { content:"→"; color:var(--verde-medio); font-weight:700; flex-shrink:0; }
.deep-measures-title {
  font-family:'Lora',serif; font-size:1.1rem; color:var(--verde-profondo); margin-bottom:1.2rem;
}
.measures-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1rem; }
.measure-card {
  background:var(--bianco-panna); border-radius:1rem;
  padding:1.2rem 1.4rem; box-shadow:0 2px 12px var(--ombra);
  border-left:3px solid var(--verde-medio);
}
.measure-card strong { font-size:.93rem; color:var(--verde-profondo); display:block; margin-bottom:.3rem; }
.measure-card p { font-size:.83rem; color:var(--grigio-muted); line-height:1.55; }
/* Active card state */
.area-card.panel-active {
  outline:3px solid var(--verde-medio);
  outline-offset:2px;
  transform:translateY(-4px);
  box-shadow:0 14px 44px rgba(45,106,79,.22);
}
/* Panel color themes */
.panel-minori .deep-panel { border-color:#fde68a; }
.panel-minori .measure-card { border-left-color:#fbbf24; }
.panel-anziani .deep-panel { border-color:#93c5fd; }
.panel-anziani .measure-card { border-left-color:#60a5fa; }
.panel-adulti .deep-panel { border-color:var(--verde-chiaro); }
.panel-disabilita .deep-panel { border-color:#c4b5fd; }
.panel-disabilita .measure-card { border-left-color:#a78bfa; }
.panel-dipendenze .deep-panel { border-color:#fed7aa; }
.panel-dipendenze .measure-card { border-left-color:#fb923c; }
.panel-salute-mentale .deep-panel { border-color:#fbcfe8; }
.panel-salute-mentale .measure-card { border-left-color:#f472b6; }
.panel-giustizia .deep-panel { border-color:#cbd5e1; }
.panel-giustizia .measure-card { border-left-color:#94a3b8; }
.panel-immigrazione .deep-panel { border-color:#a5f3fc; }
.panel-immigrazione .measure-card { border-left-color:#22d3ee; }
@media(max-width:900px){
  .deep-columns { grid-template-columns:1fr; }
  .deep-panel-body { padding:1.2rem; }
  .deep-panel-head { flex-direction:column; align-items:flex-start; gap:.8rem; }
}

/* DEEP PANEL (collapsed accordion below the grid) */
.deep-panel-wrapper {
  max-width:1200px; margin:0 auto;
  overflow:hidden;
  max-height:0;
  opacity:0;
  transition: max-height .55s cubic-bezier(.4,0,.2,1), opacity .4s ease;
}
.deep-panel-wrapper.panel-open {
  max-height:4000px;
  opacity:1;
}
.deep-panel {
  background:#fff;
  border-radius:1.5rem;
  box-shadow:0 8px 40px rgba(45,106,79,.14);
  margin-top:1.5rem;
  overflow:hidden;
  border:1px solid var(--verde-chiaro);
}
.deep-panel-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:1.5rem 2rem 1rem;
  border-bottom:1px solid var(--grigio-bordo);
}
.deep-panel-badge {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.3rem 1rem; border-radius:100px;
  font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
}
.deep-panel-title {
  font-family:'Lora',serif; font-size:clamp(1.3rem,2vw,1.8rem);
  font-weight:700; color:var(--verde-profondo); margin:.5rem 0 .3rem; line-height:1.3;
}
.deep-panel-title em { font-style:italic; opacity:.8; }
.deep-panel-intro {
  font-size:.96rem; color:var(--grigio-muted); line-height:1.75; max-width:750px; margin-bottom:0;
}
.btn-close-panel {
  display:inline-flex; align-items:center; gap:.5rem;
  background:none; border:1.5px solid var(--grigio-bordo); border-radius:100px;
  padding:.4rem 1rem; font-size:.82rem; font-weight:600;
  color:var(--grigio-muted); cursor:pointer; font-family:'DM Sans',sans-serif;
  transition:all .2s; white-space:nowrap; flex-shrink:0; align-self:flex-start;
}
.btn-close-panel:hover { border-color:var(--verde-medio); color:var(--verde-profondo); }
.deep-panel-body { padding:2rem; }
.deep-columns {
  display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; margin-bottom:2.5rem;
}
.deep-col-title {
  font-family:'Lora',serif; font-size:1.1rem; color:var(--verde-profondo);
  margin-bottom:1.2rem; display:flex; align-items:center; gap:.5rem;
}
.deep-steps { list-style:none; counter-reset:sc; padding:0; }
.deep-steps li {
  counter-increment:sc; display:flex; gap:.8rem;
  padding:.65rem 0; border-bottom:1px solid rgba(0,0,0,.07);
  font-size:.91rem; color:var(--grigio-testo); line-height:1.6;
}
.deep-steps li::before {
  content:counter(sc); min-width:22px; height:22px; border-radius:50%;
  background:var(--verde-profondo); color:#fff; font-size:.72rem; font-weight:700;
  display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px;
}
.deep-services { list-style:none; padding:0; }
.deep-services li {
  display:flex; gap:.6rem; padding:.6rem 0;
  border-bottom:1px solid rgba(0,0,0,.07);
  font-size:.91rem; color:var(--grigio-testo); line-height:1.6;
}
.deep-services li::before { content:"→"; color:var(--verde-medio); font-weight:700; flex-shrink:0; }
.deep-measures-title {
  font-family:'Lora',serif; font-size:1.1rem; color:var(--verde-profondo); margin-bottom:1.2rem;
}
.measures-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1rem; }
.measure-card {
  background:var(--bianco-panna); border-radius:1rem;
  padding:1.2rem 1.4rem; box-shadow:0 2px 12px var(--ombra);
  border-left:3px solid var(--verde-medio);
}
.measure-card strong { font-size:.93rem; color:var(--verde-profondo); display:block; margin-bottom:.3rem; }
.measure-card p { font-size:.83rem; color:var(--grigio-muted); line-height:1.55; }
/* Active card state */
.area-card.panel-active {
  outline:3px solid var(--verde-medio);
  outline-offset:2px;
  transform:translateY(-4px);
  box-shadow:0 14px 44px rgba(45,106,79,.22);
}
/* Panel color themes */
.panel-minori .deep-panel { border-color:#fde68a; }
.panel-minori .measure-card { border-left-color:#fbbf24; }
.panel-anziani .deep-panel { border-color:#93c5fd; }
.panel-anziani .measure-card { border-left-color:#60a5fa; }
.panel-adulti .deep-panel { border-color:var(--verde-chiaro); }
.panel-disabilita .deep-panel { border-color:#c4b5fd; }
.panel-disabilita .measure-card { border-left-color:#a78bfa; }
.panel-dipendenze .deep-panel { border-color:#fed7aa; }
.panel-dipendenze .measure-card { border-left-color:#fb923c; }
.panel-salute-mentale .deep-panel { border-color:#fbcfe8; }
.panel-salute-mentale .measure-card { border-left-color:#f472b6; }
.panel-giustizia .deep-panel { border-color:#cbd5e1; }
.panel-giustizia .measure-card { border-left-color:#94a3b8; }
.panel-immigrazione .deep-panel { border-color:#a5f3fc; }
.panel-immigrazione .measure-card { border-left-color:#22d3ee; }
@media(max-width:900px){
  .deep-columns { grid-template-columns:1fr; }
  .deep-panel-body { padding:1.2rem; }
  .deep-panel-head { flex-direction:column; align-items:flex-start; gap:.8rem; }
}


/* DEEP PANEL (collapsed accordion below the grid) */
.deep-panel-wrapper{max-width:1200px;margin:0 auto;overflow:hidden;max-height:0;opacity:0;transition:max-height .55s cubic-bezier(.4,0,.2,1),opacity .4s ease;}
.deep-panel-wrapper.panel-open{max-height:5000px;opacity:1;}
.deep-panel{background:#fff;border-radius:1.5rem;box-shadow:0 8px 40px rgba(45,106,79,.14);margin-top:1.5rem;overflow:hidden;border:1px solid var(--verde-chiaro);}
.deep-panel-head{display:flex;align-items:flex-start;justify-content:space-between;padding:1.5rem 2rem 1rem;border-bottom:1px solid var(--grigio-bordo);}
.deep-panel-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem 1rem;border-radius:100px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.deep-panel-title{font-family:'Lora',serif;font-size:clamp(1.3rem,2vw,1.8rem);font-weight:700;color:var(--verde-profondo);margin:.5rem 0 .3rem;line-height:1.3;}
.deep-panel-title em{font-style:italic;opacity:.8;}
.deep-panel-intro{font-size:.96rem;color:var(--grigio-muted);line-height:1.75;max-width:750px;margin-bottom:0;}
.btn-close-panel{display:inline-flex;align-items:center;gap:.5rem;background:none;border:1.5px solid var(--grigio-bordo);border-radius:100px;padding:.4rem 1rem;font-size:.82rem;font-weight:600;color:var(--grigio-muted);cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s;white-space:nowrap;flex-shrink:0;}
.btn-close-panel:hover{border-color:var(--verde-medio);color:var(--verde-profondo);}
.deep-panel-body{padding:2rem;}
.deep-columns{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-bottom:2.5rem;}
.deep-col-title{font-family:'Lora',serif;font-size:1.1rem;color:var(--verde-profondo);margin-bottom:1.2rem;display:flex;align-items:center;gap:.5rem;}
.deep-steps{list-style:none;counter-reset:sc;padding:0;}
.deep-steps li{counter-increment:sc;display:flex;gap:.8rem;padding:.65rem 0;border-bottom:1px solid rgba(0,0,0,.07);font-size:.91rem;color:var(--grigio-testo);line-height:1.6;}
.deep-steps li::before{content:counter(sc);min-width:22px;height:22px;border-radius:50%;background:var(--verde-profondo);color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}
.deep-services{list-style:none;padding:0;}
.deep-services li{display:flex;gap:.6rem;padding:.6rem 0;border-bottom:1px solid rgba(0,0,0,.07);font-size:.91rem;color:var(--grigio-testo);line-height:1.6;}
.deep-services li::before{content:"\2192";color:var(--verde-medio);font-weight:700;flex-shrink:0;}
.deep-measures-title{font-family:'Lora',serif;font-size:1.1rem;color:var(--verde-profondo);margin-bottom:1.2rem;}
.measures-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;}
.measure-card{background:var(--bianco-panna);border-radius:1rem;padding:1.2rem 1.4rem;box-shadow:0 2px 12px var(--ombra);border-left:3px solid var(--verde-medio);}
.measure-card strong{font-size:.93rem;color:var(--verde-profondo);display:block;margin-bottom:.3rem;}
.measure-card p{font-size:.83rem;color:var(--grigio-muted);line-height:1.55;}
.area-card.panel-active{outline:3px solid var(--verde-medio);outline-offset:2px;transform:translateY(-4px);box-shadow:0 14px 44px rgba(45,106,79,.22);}
button.area-approfondisci{background:none;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;}
.panel-minori .deep-panel{border-color:#fde68a;} .panel-minori .measure-card{border-left-color:#fbbf24;}
.panel-anziani .deep-panel{border-color:#93c5fd;} .panel-anziani .measure-card{border-left-color:#60a5fa;}
.panel-adulti .deep-panel{border-color:var(--verde-chiaro);}
.panel-disabilita .deep-panel{border-color:#c4b5fd;} .panel-disabilita .measure-card{border-left-color:#a78bfa;}
.panel-dipendenze .deep-panel{border-color:#fed7aa;} .panel-dipendenze .measure-card{border-left-color:#fb923c;}
.panel-salute-mentale .deep-panel{border-color:#fbcfe8;} .panel-salute-mentale .measure-card{border-left-color:#f472b6;}
.panel-giustizia .deep-panel{border-color:#cbd5e1;} .panel-giustizia .measure-card{border-left-color:#94a3b8;}
.panel-immigrazione .deep-panel{border-color:#a5f3fc;} .panel-immigrazione .measure-card{border-left-color:#22d3ee;}

/* RESPONSIVE */
@media(max-width:900px){
  .trova-layout{grid-template-columns:1fr;}
  .sidebar-regioni{position:static;max-height:none;}
  .regioni-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem;overflow-y:visible;max-height:none;}
  .risultati-main{max-height:none;overflow-y:visible;padding-right:0;}
  .nav-links{display:none;}
  .deep-columns{grid-template-columns:1fr;}
}
@media(max-width:600px){
  section{padding:3.5rem 5%;}
  .page-hero{padding:6rem 5% 2.5rem;}
  .regioni-list{grid-template-columns:repeat(2,1fr);}
  .servizio-top{flex-direction:column;}
}
  
  /* Placeholder stato vuoto ricerca */
  .servizi-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 3rem 1rem;
    color: var(--testo-secondario, #6b7280);
    gap: 0.75rem;
  }
  .servizi-placeholder .placeholder-icon {
    width: 72px; height: 72px;
    background: var(--verde-chiaro, #e8f5e9);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: var(--verde-profondo, #2e7d32);
    margin-bottom: 0.5rem;
  }
  .servizi-placeholder h4 {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--testo-principale, #1a1a2e);
    margin: 0;
  }
  .servizi-placeholder p {
    font-size: 0.95rem;
    max-width: 380px;
    margin: 0;
    line-height: 1.5;
  }

/* ─── FOOTER RICCO ─────────────────────────────────────────────────────────── */
.footer-main {
  background: #152e1f;
  color: rgba(255,255,255,.65);
  padding: 4rem 5% 0;
  font-size: .88rem;
  line-height: 1.7;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  gap: 3rem;
  max-width: 1100px;
  margin: 0 auto 3rem;
}
.footer-brand-logo {
  font-family: 'Lora', serif;
  font-weight: 700;
  font-size: 1.15rem;
  color: #fff;
  display: flex;
  align-items: center;
  gap: .5rem;
  text-decoration: none;
  margin-bottom: 1rem;
}
.footer-brand-logo svg { color: #74c69d; }
.footer-brand-logo span { color: #74c69d; }
.footer-brand p { font-size: .85rem; line-height: 1.7; max-width: 280px; }
.footer-brand-badge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: rgba(116,198,157,.12);
  border: 1px solid rgba(116,198,157,.25);
  border-radius: 2rem;
  padding: .35rem .85rem;
  font-size: .78rem;
  color: #74c69d;
  margin-top: 1.2rem;
}
.footer-col-title {
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.35);
  margin-bottom: 1rem;
}
.footer-nav-list {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.footer-nav-list a {
  color: rgba(255,255,255,.6);
  text-decoration: none;
  transition: color .2s;
  display: flex;
  align-items: center;
  gap: .4rem;
}
.footer-nav-list a::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #74c69d;
  opacity: .4;
  flex-shrink: 0;
  transition: opacity .2s;
}
.footer-nav-list a:hover { color: #a7f3d0; }
.footer-nav-list a:hover::before { opacity: 1; }
.footer-info-item {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  margin-bottom: .7rem;
  font-size: .84rem;
}
.footer-info-item svg { flex-shrink: 0; color: #74c69d; margin-top: .15rem; }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 1.4rem 0;
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .8rem;
  font-size: .78rem;
  color: rgba(255,255,255,.35);
}
.footer-bottom-links { display: flex; gap: 1.4rem; }
.footer-bottom-links a { color: rgba(255,255,255,.4); text-decoration: none; transition: color .2s; }
.footer-bottom-links a:hover { color: #74c69d; }
@media(max-width:820px) {
  .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
  .footer-bottom { flex-direction: column; text-align: center; }
}

    .leg-item { display: flex; align-items: center; gap: .4rem; }
    .leg-dot { width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0; }
  .nav-switch{display:flex;align-items:center;gap:.4rem;background:var(--azzurro-chiaro);color:#1e4f7a;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.3rem .9rem .3rem .65rem;border-radius:100px;text-decoration:none;border:1.5px solid var(--azzurro);transition:background .25s;white-space:nowrap;}.nav-switch:hover{background:var(--azzurro);color:#fff;}.nav-switch .ic{width:15px;height:15px;display:inline-block;line-height:0;}.nav-switch .ic svg{display:block;}

    /* ─── Autovalutazione Banner (aree) ─────────────────────── */
    .autoval-aree-banner {
      background: linear-gradient(135deg, var(--verde-profondo) 0%, #1b5434 100%);
      border-radius: 1.25rem;
      padding: 2rem 2.4rem;
      display: flex;
      align-items: center;
      gap: 2rem;
      margin: 0 0 3rem;
      color: #fff;
      box-shadow: 0 6px 30px rgba(45,106,79,.22);
      text-align: left;
    }
    .autoval-aree-banner .aab-icon { font-size: 2rem; flex-shrink: 0; }
    .autoval-aree-banner .aab-body { flex: 1; }
    .autoval-aree-banner .aab-body strong {
      display: block;
      font-size: .88rem;
      font-weight: 700;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: var(--verde-chiaro);
      margin-bottom: .3rem;
    }
    .autoval-aree-banner .aab-body p {
      font-size: .92rem;
      color: rgba(255,255,255,.8);
      margin: 0;
      line-height: 1.55;
    }
    .autoval-aree-banner .aab-btn {
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      background: rgba(255,255,255,.15);
      border: 1.5px solid rgba(255,255,255,.4);
      color: #fff;
      font-size: .85rem;
      font-weight: 600;
      padding: .65rem 1.4rem;
      border-radius: 2rem;
      text-decoration: none;
      white-space: nowrap;
      transition: background .2s;
    }
    .autoval-aree-banner .aab-btn:hover { background: rgba(255,255,255,.25); }
    @media (max-width: 640px) {
      .autoval-aree-banner { flex-direction: column; text-align: center; }
      .autoval-aree-banner .aab-btn { white-space: normal; }
    }

    /* ─── HAMBURGER NAV (responsive) ─────────────────────── */
    .nav-hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      cursor: pointer;
      background: none;
      border: none;
      padding: .4rem;
      border-radius: .4rem;
      transition: background .2s;
    }
    .nav-hamburger:hover { background: var(--verde-chiaro, #b7e4c7); }
    .nav-hamburger span {
      display: block;
      width: 24px; height: 2px;
      background: var(--verde-profondo, #2d6a4f);
      border-radius: 2px;
      transition: transform .3s, opacity .3s;
    }
    .nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2) { opacity: 0; }
    .nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    @media (max-width: 820px) {
      .nav-hamburger { display: flex; }
      .nav-switch { display: none !important; }
      .nav-links {
        display: none !important;
        position: fixed;
        top: 60px; left: 0; right: 0;
        background: rgba(249,247,242,.98);
        backdrop-filter: blur(12px);
        flex-direction: column !important;
        align-items: flex-start;
        gap: 0 !important;
        padding: 1rem 0 1.5rem;
        border-bottom: 2px solid var(--verde-chiaro, #b7e4c7);
        z-index: 99;
        box-shadow: 0 8px 24px rgba(0,0,0,.08);
      }
      .nav-links.open { display: flex !important; }
      .nav-links li { width: 100%; }
      .nav-links a {
        display: block;
        padding: .85rem 5%;
        font-size: 1rem !important;
        border-bottom: 1px solid var(--verde-chiaro, #b7e4c7);
      }
      .nav-links li:last-child a { border-bottom: none; }
    }

  
    @media (max-width: 820px) {
      .trova-layout { grid-template-columns: 1fr; }
      .trova-sidebar { display: none; }
      .aree-grid { grid-template-columns: 1fr 1fr; }
      .deep-columns { grid-template-columns: 1fr; }
      .autoval-aree-banner { padding: 2rem 5%; text-align: center; }
    }
    @media (max-width: 500px) {
      .aree-grid { grid-template-columns: 1fr; }
    }

  
    @media (max-width: 820px) {
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
    }
    @media (max-width: 500px) {
      .footer-grid { grid-template-columns: 1fr; gap: 1.5rem; }
    }

  
    /* ═══════════════════════════════════════════════════
       BOTTOM TAB BAR — solo mobile (≤768px)
    ═══════════════════════════════════════════════════ */
    @media (max-width: 768px) {
      .nav-hamburger { display: none !important; }
      .nav-links      { display: none !important; }
      .nav-links.open { display: none !important; }
      .nav-switch     { display: none !important; }
      body { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important; }

      .bottom-nav {
        display: flex !important;
        position: fixed !important;
        bottom: 0 !important; left: 0 !important; right: 0 !important;
        height: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
        background: #ffffff !important;
        border-top: 2px solid #b7e4c7 !important;
        box-shadow: 0 -2px 16px rgba(45,106,79,.15) !important;
        z-index: 99999 !important;
        align-items: stretch !important;
      }
      .bnav-tab {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        text-decoration: none !important;
        color: #4a7055 !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        padding: .2rem .1rem !important;
        border-top: 3px solid transparent !important;
        -webkit-tap-highlight-color: transparent;
        height: 100%;
        box-sizing: border-box;
      }
      .bnav-tab svg {
        display: block !important;
        width: 22px !important; height: 22px !important;
        stroke: currentColor !important;
        stroke-width: 1.7 !important;
        fill: none !important;
        flex-shrink: 0 !important;
      }
      .bnav-tab span {
        display: block !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        color: inherit !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
        height: auto !important;
        background: none !important;
        max-width: 100% !important;
        text-align: center !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        padding: 0 2px !important;
        font-weight: 600 !important;
        font-family: 'DM Sans', sans-serif !important;
        letter-spacing: 0 !important;
        border-radius: 0 !important;
        transform: none !important;
      }
      .bnav-tab:active { background: #e8f8ee !important; }
      .bnav-tab.bnav-active {
        color: #1a5235 !important;
        border-top: 3px solid #3aaa6e !important;
        background: #edf9f2 !important;
        font-weight: 700 !important;
      }
      .bnav-tab.bnav-active svg { stroke: #1a5235 !important; }
      .bnav-tab.bnav-active span { color: #1a5235 !important; font-weight: 700 !important; }
      .bnav-tab.bnav-switch {
        color: #1e3a5f !important;
        border-left: 1px solid #d8e8f5 !important;
      }
      .bnav-tab.bnav-switch svg { stroke: #1e3a5f !important; }
      .bnav-tab.bnav-switch span { color: #1e3a5f !important; }
      nav { padding: .6rem 4% !important; }
    }
    @media (min-width: 769px) { .bottom-nav { display: none !important; } }

  

/* ===== Page source: misure.css ===== */



:root{--verde-profondo:#2d6a4f;--verde-medio:#52b788;--verde-chiaro:#b7e4c7;--verde-pastello:#d8f3dc;--azzurro:#a8c5da;--azzurro-chiaro:#e0eff7;--bianco-panna:#f9f7f2;--grigio-testo:#3a3a3a;--grigio-muted:#6b7280;--grigio-bordo:#e5e7eb;--ombra:rgba(45,106,79,.12);}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--bianco-panna);color:var(--grigio-testo);overflow-x:hidden;}
.ic{display:inline-block;flex-shrink:0;line-height:0;}.ic svg{display:block;}
/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(249,247,242,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--verde-chiaro);display:flex;align-items:center;justify-content:space-between;padding:.9rem 5%;}
.nav-logo{font-family:'Lora',serif;font-weight:700;font-size:1.05rem;color:#2d6a4f;text-decoration:none;display:flex;align-items:center;gap:.5rem}
    .nav-logo span{color:#52b788}
    .nav-logo-img{height:32px;width:auto;display:block;}
.nav-links{display:flex;gap:1.6rem;list-style:none;}
.nav-links a{font-size:.88rem;font-weight:500;color:var(--grigio-testo);text-decoration:none;letter-spacing:.02em;transition:color .25s;padding-bottom:2px;}
.nav-links a:hover{color:var(--verde-profondo);}
.nav-links a.active{color:var(--verde-profondo);font-weight:700;border-bottom:2px solid var(--verde-medio);}
/* HERO */
.page-hero{padding:7rem 5% 3.5rem;background-color:#b8d9c4;background-image:radial-gradient(ellipse 75% 65% at 0% 0%, rgba(247,253,250,.98) 0%, rgba(220,242,230,.6) 40%, transparent 70%),radial-gradient(ellipse 60% 55% at 18% 55%, rgba(188,228,208,.75) 0%, transparent 65%),radial-gradient(ellipse 55% 60% at 50% 40%, rgba(140,205,170,.55) 0%, transparent 60%),radial-gradient(ellipse 55% 70% at 88% 30%, rgba(45,120,85,.60) 0%, transparent 60%),radial-gradient(ellipse 50% 55% at 95% 90%, rgba(25,80,55,.75) 0%, transparent 55%),radial-gradient(ellipse 35% 40% at 100% 100%, rgba(15,60,40,.55) 0%, transparent 50%);text-align:center;}
.page-hero .breadcrumb{font-size:.8rem;color:var(--grigio-muted);margin-bottom:1rem;}
.page-hero .breadcrumb a{color:var(--verde-profondo);text-decoration:none;}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--verde-pastello);color:var(--verde-profondo);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.35rem 1.1rem;border-radius:100px;margin-bottom:1.2rem;border:1px solid var(--verde-chiaro);}
.page-hero h1{font-family:'Lora',serif;font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--verde-profondo);margin-bottom:1rem;line-height:1.2;}
.page-hero h1 em{font-style:italic;color:var(--verde-medio);}
.page-hero p{font-size:1.05rem;color:var(--grigio-muted);max-width:600px;margin:0 auto;line-height:1.7;}
/* COMMONS */
section{padding:5rem 5%;}
.section-label{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--verde-medio);margin-bottom:.8rem;}
.section-title{font-family:'Lora',serif;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:700;color:var(--verde-profondo);margin-bottom:1rem;}
.section-sub{font-size:1.05rem;color:var(--grigio-muted);max-width:620px;line-height:1.7;margin-bottom:2rem;}
/* SEARCH + FILTERS */
#misure{background:var(--bianco-panna);padding-top:4rem;}
.wizard-banner{display:flex;align-items:center;gap:1rem;background:linear-gradient(135deg,var(--verde-profondo),var(--verde-medio));border-radius:1rem;padding:.9rem 1.4rem;margin-bottom:1rem;text-decoration:none;transition:opacity .2s,transform .2s;}.wizard-banner:hover{opacity:.93;transform:translateY(-1px);}.wizard-banner-icon{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:#a7f3d0;flex-shrink:0;}.wizard-banner-text{flex:1;font-size:.88rem;color:rgba(255,255,255,.85);line-height:1.45;}.wizard-banner-text strong{color:#fff;font-weight:700;display:block;margin-bottom:.1rem;font-size:.92rem;}.wizard-banner-arrow{display:flex;align-items:center;gap:.4rem;white-space:nowrap;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);border-radius:2rem;padding:.4rem .9rem;font-size:.8rem;font-weight:700;color:#fff;flex-shrink:0;transition:background .2s;}.wizard-banner:hover .wizard-banner-arrow{background:rgba(255,255,255,.25);}@media(max-width:600px){.wizard-banner-arrow{display:none;}.wizard-banner{flex-wrap:wrap;}}
.misure-search-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin-bottom:1.2rem;background:#fff;border-radius:1.2rem;padding:1rem 1.2rem;box-shadow:0 2px 12px var(--ombra);}
.search-wrap{flex:1;min-width:220px;display:flex;align-items:center;gap:.6rem;background:var(--bianco-panna);border:1.5px solid var(--grigio-bordo);border-radius:.8rem;padding:.6rem 1rem;transition:border-color .25s;}
.search-wrap:focus-within{border-color:var(--verde-medio);}
.search-wrap .ic{color:var(--grigio-muted);}
.search-wrap input{border:none;outline:none;background:none;font-size:.95rem;color:var(--grigio-testo);font-family:'DM Sans',sans-serif;width:100%;}
.search-wrap input::placeholder{color:var(--grigio-muted);}
.filter-btns{display:flex;gap:.5rem;flex-wrap:wrap;}
.filter-btn{padding:.42rem 1rem;border-radius:100px;border:1.5px solid var(--grigio-bordo);background:#fff;font-size:.82rem;font-weight:600;color:var(--grigio-muted);cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s;white-space:nowrap;}
.filter-btn:hover{border-color:var(--verde-medio);color:var(--verde-profondo);}
.filter-btn.active{background:var(--verde-profondo);color:#fff;border-color:var(--verde-profondo);}
/* MAIN LAYOUT */
.misure-layout{display:grid;grid-template-columns:1fr 340px;gap:2rem;align-items:start;}
.cards-column{display:flex;flex-direction:column;overflow-y:auto;padding-right:.4rem;}
.cards-column::-webkit-scrollbar{width:5px;}
.cards-column::-webkit-scrollbar-track{background:transparent;}
.cards-column::-webkit-scrollbar-thumb{background:var(--verde-chiaro);border-radius:4px;}
.cards-column::-webkit-scrollbar-thumb:hover{background:var(--verde-medio);}
/* CARDS GRID */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;}
.misure-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem;color:var(--grigio-muted);gap:1rem;}
.misure-placeholder svg{opacity:.35;}
.misure-placeholder h4{font-family:'Lora',serif;font-size:1.1rem;color:var(--verde-profondo);opacity:.7;}
.misure-placeholder p{font-size:.88rem;line-height:1.6;max-width:340px;}
/* MISURA CARD */
.misura-card{background:#fff;border-radius:1.4rem;overflow:hidden;box-shadow:0 4px 24px var(--ombra);display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s;}
.misura-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px rgba(45,106,79,.18);}
.mc-top{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.3rem .6rem;}
.mc-area-badge{font-size:.72rem;font-weight:700;padding:.28rem .85rem;border-radius:100px;letter-spacing:.06em;text-transform:uppercase;}
.mc-anno{font-size:.72rem;font-weight:600;color:var(--grigio-muted);display:flex;align-items:center;gap:.3rem;}
.mc-anno svg{color:var(--verde-medio);}
.mc-title{font-family:'Lora',serif;font-size:1.1rem;font-weight:700;color:var(--verde-profondo);padding:0 1.3rem .5rem;line-height:1.35;}
.mc-desc{font-size:.88rem;color:var(--grigio-muted);padding:0 1.3rem .8rem;line-height:1.65;flex:1;}
.mc-requisiti{padding:.8rem 1.3rem;border-top:1px solid var(--grigio-bordo);}
.mc-req-label{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--grigio-muted);margin-bottom:.5rem;}
.mc-requisiti ul{list-style:none;padding:0;}
.mc-requisiti li{font-size:.83rem;color:var(--grigio-testo);padding:.2rem 0;padding-left:1rem;position:relative;line-height:1.5;}
.mc-requisiti li::before{content:"·";position:absolute;left:0;color:var(--verde-medio);font-weight:900;font-size:1.1rem;line-height:1.2;}
.mc-beneficio{margin:.8rem 1.3rem;background:var(--grigio-testo);border-radius:.9rem;padding:.9rem 1.1rem;}
.mc-ben-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:.3rem;}
.mc-ben-value{font-family:'Lora',serif;font-size:1rem;font-weight:700;color:#fff;line-height:1.3;}
.mc-ben-sub{font-size:.78rem;color:rgba(255,255,255,.65);margin-top:.2rem;}
.mc-footer{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.3rem;border-top:1px solid var(--grigio-bordo);gap:.8rem;flex-wrap:wrap;}
.mc-dove{font-size:.78rem;color:var(--grigio-muted);font-style:italic;display:flex;align-items:center;gap:.3rem;flex:1;}
.mc-dove svg{color:var(--verde-medio);flex-shrink:0;}
.mc-btn{background:var(--verde-profondo);color:#fff;border:none;border-radius:100px;padding:.4rem 1rem;font-size:.8rem;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;white-space:nowrap;transition:background .2s;}
.mc-btn:hover{background:#1e4f39;}
.no-results{grid-column:1/-1;text-align:center;padding:3rem;color:var(--grigio-muted);background:#fff;border-radius:1.2rem;}
/* SIDEBAR */
.isee-sidebar{position:sticky;top:90px;}
.sidebar-isee-card{background:#fff;border-radius:1.4rem;padding:1.6rem;box-shadow:0 4px 24px var(--ombra);border-top:4px solid var(--verde-profondo);}
.sidebar-isee-icon{width:44px;height:44px;background:var(--verde-pastello);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:var(--verde-profondo);}
.sidebar-isee-title{font-family:'Lora',serif;font-size:1.15rem;font-weight:700;color:var(--verde-profondo);margin-bottom:.7rem;}
.sidebar-isee-body{font-size:.88rem;color:var(--grigio-muted);line-height:1.7;margin-bottom:1rem;}
.sidebar-isee-list{list-style:none;padding:0;margin-bottom:1.2rem;}
.sidebar-isee-list li{display:flex;gap:.6rem;font-size:.85rem;color:var(--grigio-testo);padding:.35rem 0;border-bottom:1px solid var(--grigio-bordo);line-height:1.55;}
.sidebar-isee-list li::before{content:"→";color:var(--verde-medio);font-weight:700;flex-shrink:0;}
.sidebar-quote{background:var(--verde-pastello);border-radius:.9rem;padding:1rem 1.2rem;font-size:.84rem;color:var(--verde-profondo);font-style:italic;line-height:1.6;border-left:3px solid var(--verde-medio);}
.btn-vai-calc{display:block;width:100%;margin-top:1.2rem;background:var(--verde-profondo);color:#fff;border:none;border-radius:100px;padding:.7rem 1rem;font-size:.9rem;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;text-align:center;transition:background .2s;}
.btn-vai-calc:hover{background:#1e4f39;}
/* SECTION DIVIDER */
.section-divider{border:none;height:2px;background:linear-gradient(90deg,transparent,var(--verde-chiaro),transparent);margin:0;}
/* ISEE CALC SECTION */
#isee-calc{background:#fff;padding:5rem 5%;}
.calc-header{max-width:700px;margin-bottom:3rem;}
.calc-layout{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start;max-width:1200px;}
/* FORM */
.calc-form-card{background:var(--bianco-panna);border-radius:1.5rem;padding:2rem;box-shadow:0 4px 24px var(--ombra);}
.form-section{margin-bottom:1.8rem;}
.form-section-title{font-family:'Lora',serif;font-size:.95rem;font-weight:700;color:var(--verde-profondo);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--verde-chiaro);display:flex;align-items:center;gap:.4rem;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;}
.form-group{display:flex;flex-direction:column;gap:.3rem;}
.form-group.full{grid-column:1/-1;}
.form-label{font-size:.8rem;font-weight:600;color:var(--grigio-testo);}
.form-label span{font-size:.72rem;color:var(--grigio-muted);font-weight:400;}
.form-input{border:1.5px solid var(--grigio-bordo);border-radius:.7rem;padding:.55rem .85rem;font-size:.92rem;color:var(--grigio-testo);font-family:'DM Sans',sans-serif;background:#fff;transition:border-color .25s;width:100%;}
.form-input:focus{outline:none;border-color:var(--verde-medio);}
.form-select{border:1.5px solid var(--grigio-bordo);border-radius:.7rem;padding:.55rem .85rem;font-size:.92rem;color:var(--grigio-testo);font-family:'DM Sans',sans-serif;background:#fff;cursor:pointer;width:100%;transition:border-color .25s;}
.form-select:focus{outline:none;border-color:var(--verde-medio);}
.check-group{display:flex;flex-direction:column;gap:.6rem;}
.check-row{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;}
.check-row input[type=checkbox]{width:17px;height:17px;accent-color:var(--verde-profondo);cursor:pointer;flex-shrink:0;margin-top:2px;}
.check-row-label{font-size:.85rem;color:var(--grigio-testo);line-height:1.4;}
.check-row-label span{font-size:.75rem;color:var(--grigio-muted);display:block;}
.btn-calcola{width:100%;background:var(--verde-profondo);color:#fff;border:none;border-radius:100px;padding:.9rem 1rem;font-size:1rem;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .25s;margin-top:.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem;}
.btn-calcola:hover{background:#1e4f39;}
.btn-reset{width:100%;background:none;color:var(--grigio-muted);border:1.5px solid var(--grigio-bordo);border-radius:100px;padding:.55rem 1rem;font-size:.85rem;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;margin-top:.5rem;transition:all .2s;}
.btn-reset:hover{border-color:var(--verde-medio);color:var(--verde-profondo);}
/* RESULTS */
.calc-results-card{background:var(--verde-profondo);border-radius:1.5rem;padding:2rem;box-shadow:0 4px 24px rgba(45,106,79,.25);color:#fff;position:sticky;top:90px;}
.results-placeholder{text-align:center;padding:3rem 1rem;opacity:.7;}
.results-placeholder .ic{margin:0 auto 1rem;}
.results-placeholder p{font-size:.95rem;line-height:1.6;}
.result-main-label{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:.5rem;}
.result-isee-value{font-family:'Lora',serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:700;line-height:1;margin-bottom:.3rem;}
.result-isee-value.verde{color:#86efac;}
.result-isee-value.giallo{color:#fde047;}
.result-isee-value.rosso{color:#fca5a5;}
.result-fascia{font-size:.85rem;color:rgba(255,255,255,.75);margin-bottom:1.5rem;}
.result-indicators{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:1.5rem;}
.result-ind{background:rgba(255,255,255,.1);border-radius:.8rem;padding:.8rem 1rem;}
.result-ind-label{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:.2rem;}
.result-ind-value{font-family:'Lora',serif;font-size:1.2rem;font-weight:700;color:#fff;}
.result-scala{background:rgba(255,255,255,.1);border-radius:.8rem;padding:.8rem 1rem;margin-bottom:1.5rem;}
.result-scala-label{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:.2rem;}
.result-scala-value{font-family:'Lora',serif;font-size:1.2rem;font-weight:700;color:#fff;}
.result-detail{background:rgba(255,255,255,.08);border-radius:.8rem;padding:1rem;margin-bottom:1.5rem;}
.result-detail-title{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:.7rem;}
.result-detail-row{display:flex;justify-content:space-between;font-size:.83rem;padding:.25rem 0;border-bottom:1px solid rgba(255,255,255,.1);}
.result-detail-row:last-child{border-bottom:none;}
.result-detail-row span:first-child{color:rgba(255,255,255,.7);}
.result-detail-row span:last-child{font-weight:600;color:#fff;}
.result-note{font-size:.77rem;color:rgba(255,255,255,.5);line-height:1.5;margin-bottom:1.2rem;}
.share-row{display:flex;gap:.5rem;flex-wrap:wrap;}
.share-btn{flex:1;min-width:80px;background:rgba(255,255,255,.15);border:none;border-radius:.6rem;padding:.45rem .5rem;font-size:.75rem;font-weight:600;color:#fff;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .2s;display:flex;align-items:center;justify-content:center;gap:.3rem;}
.share-btn:hover{background:rgba(255,255,255,.25);}
/* ISEE INFO BOX */
.isee-info-section{background:var(--verde-pastello);padding:5rem 5%;}
.isee-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;max-width:1100px;margin:2rem auto 0;}
.isee-info-card{background:#fff;border-radius:1.2rem;padding:1.4rem;box-shadow:0 2px 12px var(--ombra);}
.isee-info-card h4{font-family:'Lora',serif;font-size:1rem;color:var(--verde-profondo);margin-bottom:.5rem;}
.isee-info-card p{font-size:.87rem;color:var(--grigio-muted);line-height:1.6;}
/* CTA */
#cta{background:var(--verde-profondo);color:#fff;text-align:center;padding:4rem 5%;}
#cta .section-title{color:#fff;}
#cta p{color:rgba(255,255,255,.75);max-width:500px;margin:0 auto 2rem;line-height:1.7;font-size:1rem;}
.btn-group{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.8rem;border-radius:100px;font-size:.92rem;font-weight:600;text-decoration:none;transition:all .25s;cursor:pointer;border:none;font-family:'DM Sans',sans-serif;}
.btn-primary{background:var(--verde-medio);color:#fff;box-shadow:0 4px 20px rgba(82,183,136,.4);}
.btn-primary:hover{background:#3da06c;transform:translateY(-2px);}
.btn-outline{border:2px solid var(--verde-chiaro);color:var(--verde-chiaro);background:transparent;}
.btn-outline:hover{background:rgba(255,255,255,.1);transform:translateY(-2px);}
/* FOOTER */
footer{background:#1a3d2b;color:rgba(255,255,255,.6);text-align:center;padding:2rem 5%;font-size:.85rem;}
footer a{color:var(--verde-chiaro);text-decoration:none;}
footer strong{color:#fff;}
/* FADE IN */
.fade-in{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.fade-in.visible{opacity:1;transform:translateY(0);}
/* RESPONSIVE */
@media(max-width:1100px){.misure-layout{grid-template-columns:1fr;}.isee-sidebar{position:static;}}
@media(max-width:900px){.calc-layout{grid-template-columns:1fr;}.calc-results-card{position:static;}.nav-links{display:none;}.form-grid{grid-template-columns:1fr;}}
@media(max-width:600px){section{padding:3.5rem 5%;}.filter-btns{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.3rem;}.cards-grid{max-height:none;overflow-y:visible;padding-right:0;}}
  
/* ─── FOOTER RICCO ─────────────────────────────────────────────────────────── */
.footer-main {
  background: #152e1f;
  color: rgba(255,255,255,.65);
  padding: 4rem 5% 0;
  font-size: .88rem;
  line-height: 1.7;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  gap: 3rem;
  max-width: 1100px;
  margin: 0 auto 3rem;
}
.footer-brand-logo {
  font-family: 'Lora', serif;
  font-weight: 700;
  font-size: 1.15rem;
  color: #fff;
  display: flex;
  align-items: center;
  gap: .5rem;
  text-decoration: none;
  margin-bottom: 1rem;
}
.footer-brand-logo svg { color: #74c69d; }
.footer-brand-logo span { color: #74c69d; }
.footer-brand p { font-size: .85rem; line-height: 1.7; max-width: 280px; }
.footer-brand-badge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: rgba(116,198,157,.12);
  border: 1px solid rgba(116,198,157,.25);
  border-radius: 2rem;
  padding: .35rem .85rem;
  font-size: .78rem;
  color: #74c69d;
  margin-top: 1.2rem;
}
.footer-col-title {
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.35);
  margin-bottom: 1rem;
}
.footer-nav-list {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.footer-nav-list a {
  color: rgba(255,255,255,.6);
  text-decoration: none;
  transition: color .2s;
  display: flex;
  align-items: center;
  gap: .4rem;
}
.footer-nav-list a::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #74c69d;
  opacity: .4;
  flex-shrink: 0;
  transition: opacity .2s;
}
.footer-nav-list a:hover { color: #a7f3d0; }
.footer-nav-list a:hover::before { opacity: 1; }
.footer-info-item {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  margin-bottom: .7rem;
  font-size: .84rem;
}
.footer-info-item svg { flex-shrink: 0; color: #74c69d; margin-top: .15rem; }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 1.4rem 0;
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .8rem;
  font-size: .78rem;
  color: rgba(255,255,255,.35);
}
.footer-bottom-links { display: flex; gap: 1.4rem; }
.footer-bottom-links a { color: rgba(255,255,255,.4); text-decoration: none; transition: color .2s; }
.footer-bottom-links a:hover { color: #74c69d; }
@media(max-width:820px) {
  .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
  .footer-bottom { flex-direction: column; text-align: center; }
}

/* ─── ACCESSO MISURE ─────────────────────────────────────────────────────── */
.accesso-panel{margin-top:1.5rem;border-top:1px solid rgba(255,255,255,.15);padding-top:1.2rem;}
.accesso-title{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:.9rem;display:flex;align-items:center;gap:.6rem;}
.accesso-title::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.1);}
.accesso-list{display:flex;flex-direction:column;gap:.45rem;}
.accesso-item{display:flex;align-items:flex-start;gap:.65rem;border-radius:.7rem;padding:.6rem .85rem;transition:background .2s;}
.accesso-item.si{background:rgba(134,239,172,.08);border-left:3px solid #86efac;}
.accesso-item.verifica{background:rgba(253,224,71,.07);border-left:3px solid rgba(253,224,71,.6);}
.accesso-badge{font-size:.9rem;flex-shrink:0;width:22px;text-align:center;line-height:1.6;}
.accesso-body{flex:1;min-width:0;}
.accesso-nome{font-size:.82rem;font-weight:600;color:#fff;line-height:1.35;margin-bottom:.2rem;}
.accesso-det{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;}
.accesso-area{font-size:.66rem;font-weight:700;padding:.12rem .5rem;border-radius:100px;letter-spacing:.05em;text-transform:uppercase;}
.accesso-beneficio{font-size:.74rem;color:rgba(255,255,255,.55);}
.accesso-summary{display:flex;justify-content:center;gap:1.2rem;margin-top:.9rem;padding-top:.9rem;border-top:1px solid rgba(255,255,255,.08);}
.accesso-sum-item{text-align:center;}
.accesso-sum-num{font-family:'Lora',serif;font-size:1.4rem;font-weight:700;}
.accesso-sum-num.verde{color:#86efac;}
.accesso-sum-num.giallo{color:#fde047;}
.accesso-sum-label{font-size:.68rem;color:rgba(255,255,255,.4);letter-spacing:.05em;text-transform:uppercase;}
.accesso-disclaimer{font-size:.7rem;color:rgba(255,255,255,.3);line-height:1.5;text-align:center;margin-top:.8rem;}
.accesso-empty{text-align:center;padding:1rem;font-size:.83rem;color:rgba(255,255,255,.4);line-height:1.6;}

.nav-switch{display:flex;align-items:center;gap:.4rem;background:var(--azzurro-chiaro);color:#1e4f7a;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.3rem .9rem .3rem .65rem;border-radius:100px;text-decoration:none;border:1.5px solid var(--azzurro);transition:background .25s;white-space:nowrap;}.nav-switch:hover{background:var(--azzurro);color:#fff;}.nav-switch .ic{width:15px;height:15px;display:inline-block;line-height:0;}.nav-switch .ic svg{display:block;}

    /* ─── HAMBURGER NAV (responsive) ─────────────────────── */
    .nav-hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      cursor: pointer;
      background: none;
      border: none;
      padding: .4rem;
      border-radius: .4rem;
      transition: background .2s;
    }
    .nav-hamburger:hover { background: var(--verde-chiaro, #b7e4c7); }
    .nav-hamburger span {
      display: block;
      width: 24px; height: 2px;
      background: var(--verde-profondo, #2d6a4f);
      border-radius: 2px;
      transition: transform .3s, opacity .3s;
    }
    .nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2) { opacity: 0; }
    .nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    @media (max-width: 820px) {
      .nav-hamburger { display: flex; }
      .nav-switch { display: none !important; }
      .nav-links {
        display: none !important;
        position: fixed;
        top: 60px; left: 0; right: 0;
        background: rgba(249,247,242,.98);
        backdrop-filter: blur(12px);
        flex-direction: column !important;
        align-items: flex-start;
        gap: 0 !important;
        padding: 1rem 0 1.5rem;
        border-bottom: 2px solid var(--verde-chiaro, #b7e4c7);
        z-index: 99;
        box-shadow: 0 8px 24px rgba(0,0,0,.08);
      }
      .nav-links.open { display: flex !important; }
      .nav-links li { width: 100%; }
      .nav-links a {
        display: block;
        padding: .85rem 5%;
        font-size: 1rem !important;
        border-bottom: 1px solid var(--verde-chiaro, #b7e4c7);
      }
      .nav-links li:last-child a { border-bottom: none; }
    }

  
    /* ═══════════════════════════════════════════════════
       BOTTOM TAB BAR — solo mobile (≤768px)
    ═══════════════════════════════════════════════════ */
    @media (max-width: 768px) {
      .nav-hamburger { display: none !important; }
      .nav-links      { display: none !important; }
      .nav-links.open { display: none !important; }
      .nav-switch     { display: none !important; }
      body { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important; }

      .bottom-nav {
        display: flex !important;
        position: fixed !important;
        bottom: 0 !important; left: 0 !important; right: 0 !important;
        height: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
        background: #ffffff !important;
        border-top: 2px solid #b7e4c7 !important;
        box-shadow: 0 -2px 16px rgba(45,106,79,.15) !important;
        z-index: 99999 !important;
        align-items: stretch !important;
      }
      .bnav-tab {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        text-decoration: none !important;
        color: #4a7055 !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        padding: .2rem .1rem !important;
        border-top: 3px solid transparent !important;
        -webkit-tap-highlight-color: transparent;
        height: 100%;
        box-sizing: border-box;
      }
      .bnav-tab svg {
        display: block !important;
        width: 22px !important; height: 22px !important;
        stroke: currentColor !important;
        stroke-width: 1.7 !important;
        fill: none !important;
        flex-shrink: 0 !important;
      }
      .bnav-tab span {
        display: block !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        color: inherit !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
        height: auto !important;
        background: none !important;
        max-width: 100% !important;
        text-align: center !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        padding: 0 2px !important;
        font-weight: 600 !important;
        font-family: 'DM Sans', sans-serif !important;
        letter-spacing: 0 !important;
        border-radius: 0 !important;
        transform: none !important;
      }
      .bnav-tab:active { background: #e8f8ee !important; }
      .bnav-tab.bnav-active {
        color: #1a5235 !important;
        border-top: 3px solid #3aaa6e !important;
        background: #edf9f2 !important;
        font-weight: 700 !important;
      }
      .bnav-tab.bnav-active svg { stroke: #1a5235 !important; }
      .bnav-tab.bnav-active span { color: #1a5235 !important; font-weight: 700 !important; }
      .bnav-tab.bnav-switch {
        color: #1e3a5f !important;
        border-left: 1px solid #d8e8f5 !important;
      }
      .bnav-tab.bnav-switch svg { stroke: #1e3a5f !important; }
      .bnav-tab.bnav-switch span { color: #1e3a5f !important; }
      nav { padding: .6rem 4% !important; }
    }
    @media (min-width: 769px) { .bottom-nav { display: none !important; } }





/* ===== Page source: colloquio.css ===== */



    :root {
      --verde-profondo:#1b4332;--verde-medio:#2d6a4f;--verde-chiaro:#74c69d;
      --verde-pastello:#d8f3dc;--avorio:#f9f7f2;--testo-principale:#1a1a2e;
      --grigio-testo:#4a4a5a;--grigio-muted:#6b7280;--grigio-bordo:#e8e4dc;
      --ombra:rgba(27,67,50,.08);
    }
    *, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
    html { scroll-behavior:smooth; }
    body { font-family:'DM Sans',sans-serif; background:var(--avorio); color:var(--testo-principale); line-height:1.6; }

    /* NAV */
    nav {position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(249,247,242,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--grigio-bordo);display:flex;align-items:center;justify-content:space-between;padding:.9rem 5%;}
    .nav-logo{font-family:'Lora',serif;font-weight:700;font-size:1.05rem;color:#2d6a4f;text-decoration:none;display:flex;align-items:center;gap:.5rem}
    .nav-logo span{color:#52b788}
    .nav-logo-img{height:32px;width:auto;display:block;}
    .nav-links{display:flex;gap:1.6rem;list-style:none;}
    .nav-links a{font-size:.88rem;font-weight:500;color:var(--grigio-testo);text-decoration:none;letter-spacing:.02em;transition:color .25s;padding-bottom:2px;}
    .nav-links a:hover{color:var(--verde-profondo);}
    .nav-links a.active{color:var(--verde-profondo);font-weight:700;border-bottom:2px solid var(--verde-medio);}

    /* PAGE HERO */
    .page-hero{padding:7rem 5% 3.5rem;background-color:#b8d9c4;background-image:radial-gradient(ellipse 75% 65% at 0% 0%, rgba(247,253,250,.98) 0%, rgba(220,242,230,.6) 40%, transparent 70%),radial-gradient(ellipse 60% 55% at 18% 55%, rgba(188,228,208,.75) 0%, transparent 65%),radial-gradient(ellipse 55% 60% at 50% 40%, rgba(140,205,170,.55) 0%, transparent 60%),radial-gradient(ellipse 55% 70% at 88% 30%, rgba(45,120,85,.60) 0%, transparent 60%),radial-gradient(ellipse 50% 55% at 95% 90%, rgba(25,80,55,.75) 0%, transparent 55%),radial-gradient(ellipse 35% 40% at 100% 100%, rgba(15,60,40,.55) 0%, transparent 50%);}
    .page-hero .breadcrumb{font-size:.8rem;color:var(--grigio-muted);margin-bottom:1rem;}
    .page-hero .breadcrumb a{color:var(--verde-profondo);text-decoration:none;}
    .page-hero h1{font-family:'Lora',serif;font-size:clamp(2rem,4.5vw,3.2rem);font-weight:700;color:var(--verde-profondo);margin-bottom:1rem;line-height:1.2;}
    .page-hero h1 em{font-style:italic;color:var(--verde-medio);}
    .page-hero p{font-size:1.02rem;color:var(--grigio-testo);max-width:620px;line-height:1.75;}
    .hero-pills{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.5rem;}
    .hero-pill{display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:1px solid var(--grigio-bordo);border-radius:2rem;padding:.35rem .9rem;font-size:.78rem;font-weight:500;color:var(--grigio-testo);}

    /* LAYOUT */
    .page-content{max-width:1100px;margin:0 auto;padding:4rem 5%;}
    .two-col{display:grid;grid-template-columns:1fr 320px;gap:4rem;align-items:start;}
    .main-col{}
    .side-col{position:sticky;top:90px;}

    /* SEZIONI */
    .section-block{margin-bottom:3.5rem;}
    .section-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--verde-pastello);color:var(--verde-profondo);border-radius:2rem;padding:.3rem .85rem;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:.8rem;}
    .section-block h2{font-family:'Lora',serif;font-size:1.65rem;font-weight:700;color:var(--verde-profondo);margin-bottom:.9rem;line-height:1.25;}
    .section-block p{color:var(--grigio-testo);line-height:1.75;margin-bottom:1rem;font-size:.95rem;}
    .section-block p:last-child{margin-bottom:0;}

    /* STEPS */
    .steps-list{display:flex;flex-direction:column;gap:1.2rem;margin:1.5rem 0;}
    .step-item{display:flex;gap:1.2rem;align-items:flex-start;}
    .step-num-circle{width:36px;height:36px;border-radius:50%;background:var(--verde-profondo);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0;margin-top:.1rem;}
    .step-content h4{font-weight:700;color:var(--testo-principale);margin-bottom:.3rem;font-size:.95rem;}
    .step-content p{color:var(--grigio-testo);font-size:.87rem;line-height:1.65;margin:0;}

    /* CHECKLIST */
    .checklist{list-style:none;display:flex;flex-direction:column;gap:.7rem;margin:1.2rem 0;}
    .checklist li{display:flex;align-items:flex-start;gap:.7rem;font-size:.9rem;color:var(--grigio-testo);}
    .checklist li::before{content:'';width:18px;height:18px;border-radius:50%;background:var(--verde-pastello);flex-shrink:0;display:flex;align-items:center;justify-content:center;background-image:url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%231b4332' stroke-width='3' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;margin-top:.1rem;}

    /* HIGHLIGHT BOX */
    .highlight-box{background:#fff;border:1px solid var(--grigio-bordo);border-left:4px solid var(--verde-chiaro);border-radius:0 .9rem .9rem 0;padding:1.4rem 1.6rem;margin:1.5rem 0;}
    .highlight-box h4{font-weight:700;color:var(--verde-profondo);margin-bottom:.6rem;display:flex;align-items:center;gap:.5rem;font-size:.95rem;}
    .highlight-box p{font-size:.87rem;color:var(--grigio-testo);line-height:1.65;margin:0;}

    /* ALERT BOX */
    .alert-box{background:var(--verde-pastello);border-radius:.9rem;padding:1.3rem 1.6rem;margin:1.5rem 0;display:flex;gap:.9rem;align-items:flex-start;}
    .alert-box svg{flex-shrink:0;color:var(--verde-profondo);margin-top:.1rem;}
    .alert-box p{font-size:.88rem;color:var(--verde-profondo);line-height:1.65;margin:0;}
    .alert-box strong{font-weight:700;}

    /* DIRITTI */
    .diritti-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0;}
    .diritto-card{background:#fff;border:1px solid var(--grigio-bordo);border-radius:.9rem;padding:1.2rem;transition:box-shadow .2s;}
    .diritto-card:hover{box-shadow:0 4px 16px var(--ombra);}
    .diritto-icon{width:36px;height:36px;border-radius:.6rem;background:var(--verde-pastello);display:flex;align-items:center;justify-content:center;color:var(--verde-profondo);margin-bottom:.7rem;}
    .diritto-card h4{font-weight:700;font-size:.9rem;color:var(--testo-principale);margin-bottom:.3rem;}
    .diritto-card p{font-size:.82rem;color:var(--grigio-muted);line-height:1.6;margin:0;}

    /* FAQ */
    .faq-item{border-bottom:1px solid var(--grigio-bordo);padding:1.1rem 0;}
    .faq-item:last-child{border-bottom:none;}
    .faq-q{display:flex;align-items:center;justify-content:space-between;cursor:pointer;gap:1rem;}
    .faq-q h4{font-weight:600;font-size:.95rem;color:var(--testo-principale);}
    .faq-toggle{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--grigio-bordo);background:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .2s;color:var(--grigio-muted);}
    .faq-item.open .faq-toggle{background:var(--verde-profondo);border-color:var(--verde-profondo);color:#fff;transform:rotate(45deg);}
    .faq-a{display:none;font-size:.88rem;color:var(--grigio-testo);line-height:1.7;padding-top:.7rem;}
    .faq-item.open .faq-a{display:block;}

    /* SIDEBAR */
    .sidebar-card{background:#fff;border-radius:1rem;border:1px solid var(--grigio-bordo);padding:1.5rem;margin-bottom:1.4rem;}
    .sidebar-card h4{font-family:'Lora',serif;font-weight:700;font-size:1rem;color:var(--verde-profondo);margin-bottom:.8rem;display:flex;align-items:center;gap:.5rem;}
    .sidebar-card p{font-size:.83rem;color:var(--grigio-muted);line-height:1.6;margin-bottom:.9rem;}
    .sidebar-link{display:flex;align-items:center;gap:.6rem;font-size:.84rem;font-weight:600;color:var(--verde-profondo);text-decoration:none;padding:.55rem .7rem;border-radius:.5rem;background:var(--verde-pastello);margin-bottom:.5rem;transition:background .2s;}
    .sidebar-link:hover{background:var(--verde-chiaro);color:#fff;}
    .sidebar-toc{list-style:none;display:flex;flex-direction:column;gap:.4rem;}
    .sidebar-toc a{font-size:.83rem;color:var(--grigio-testo);text-decoration:none;display:flex;align-items:center;gap:.5rem;padding:.25rem 0;border-bottom:1px dashed var(--grigio-bordo);transition:color .2s;}
    .sidebar-toc a:hover{color:var(--verde-profondo);}
    .sidebar-toc a::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--verde-chiaro);flex-shrink:0;}

    /* CTA SECTION */
    .cta-section{background:linear-gradient(135deg,var(--verde-profondo),var(--verde-medio));border-radius:1.5rem;padding:3rem;text-align:center;margin-top:3rem;}
    .cta-section h2{font-family:'Lora',serif;font-size:1.65rem;color:#fff;font-weight:700;margin-bottom:.7rem;}
    .cta-section p{color:rgba(255,255,255,.75);margin-bottom:1.8rem;font-size:.95rem;}
    .cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
    .btn-cta-primary{display:inline-flex;align-items:center;gap:.5rem;background:#fff;color:var(--verde-profondo);border-radius:.8rem;padding:.8rem 1.6rem;font-weight:700;font-size:.92rem;text-decoration:none;transition:transform .2s;}
    .btn-cta-primary:hover{transform:translateY(-2px);}
    .btn-cta-outline{display:inline-flex;align-items:center;gap:.5rem;border:1.5px solid rgba(255,255,255,.5);color:#fff;border-radius:.8rem;padding:.75rem 1.4rem;font-weight:600;font-size:.9rem;text-decoration:none;transition:background .2s;}
    .btn-cta-outline:hover{background:rgba(255,255,255,.1);}

    /* FADE */
    .fade-in{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease;}
    .fade-in.visible{opacity:1;transform:none;}

    /* FOOTER */
    .footer-main{background:#152e1f;color:rgba(255,255,255,.65);padding:4rem 5% 0;font-size:.88rem;line-height:1.7;}
    .footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:3rem;max-width:1100px;margin:0 auto 3rem;}
    .footer-brand-logo{font-family:'Lora',serif;font-weight:700;font-size:1.15rem;color:#fff;display:flex;align-items:center;gap:.5rem;text-decoration:none;margin-bottom:1rem;}
    .footer-brand-logo svg,.footer-brand-logo span{color:#74c69d;}
    .footer-brand p{font-size:.85rem;line-height:1.7;max-width:280px;}
    .footer-brand-badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(116,198,157,.12);border:1px solid rgba(116,198,157,.25);border-radius:2rem;padding:.35rem .85rem;font-size:.78rem;color:#74c69d;margin-top:1.2rem;}
    .footer-col-title{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:1rem;}
    .footer-nav-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.55rem;}
    .footer-nav-list a{color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s;display:flex;align-items:center;gap:.4rem;}
    .footer-nav-list a:hover{color:#a7f3d0;}
    .footer-info-item{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.7rem;font-size:.84rem;}
    .footer-info-item svg{flex-shrink:0;color:#74c69d;margin-top:.15rem;}
    .footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.4rem 0;max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;font-size:.78rem;color:rgba(255,255,255,.35);}
    .footer-bottom-links{display:flex;gap:1.4rem;}
    .footer-bottom-links a{color:rgba(255,255,255,.4);text-decoration:none;transition:color .2s;}
    .footer-bottom-links a:hover{color:#74c69d;}

    @media(max-width:1024px){.two-col{grid-template-columns:1fr;}.side-col{position:static;}}
    @media(max-width:768px){.nav-links{display:none;}.diritti-grid{grid-template-columns:1fr;}.cta-btns{flex-direction:column;align-items:center;}.footer-grid{grid-template-columns:1fr;gap:2rem;}.footer-bottom{flex-direction:column;text-align:center;}}
  .nav-switch{display:flex;align-items:center;gap:.4rem;background:var(--azzurro-chiaro);color:#1e4f7a;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.3rem .9rem .3rem .65rem;border-radius:100px;text-decoration:none;border:1.5px solid var(--azzurro);transition:background .25s;white-space:nowrap;}.nav-switch:hover{background:var(--azzurro);color:#fff;}.nav-switch .ic{width:15px;height:15px;display:inline-block;line-height:0;}.nav-switch .ic svg{display:block;}

    /* ─── Autovalutazione Banner (colloquio) ─────────────────── */
    .autoval-inline-banner {
      background: var(--verde-pastello);
      border: 1.5px solid var(--verde-chiaro);
      border-left: 4px solid var(--verde-medio);
      border-radius: 1rem;
      padding: 1.5rem 1.8rem;
      display: flex;
      align-items: center;
      gap: 1.2rem;
      margin-bottom: 2.5rem;
    }
    .autoval-inline-banner .aib-icon {
      font-size: 1.8rem;
      flex-shrink: 0;
    }
    .autoval-inline-banner .aib-body { flex: 1; }
    .autoval-inline-banner .aib-body strong {
      display: block;
      font-size: .93rem;
      color: var(--verde-profondo);
      font-weight: 700;
      margin-bottom: .25rem;
    }
    .autoval-inline-banner .aib-body p {
      font-size: .87rem;
      color: var(--grigio-testo);
      margin: 0;
      line-height: 1.55;
    }
    .autoval-inline-banner .aib-link {
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      gap: .4rem;
      background: var(--verde-profondo);
      color: #fff;
      font-size: .82rem;
      font-weight: 600;
      padding: .6rem 1.2rem;
      border-radius: 2rem;
      text-decoration: none;
      white-space: nowrap;
      transition: background .2s;
    }
    .autoval-inline-banner .aib-link:hover { background: var(--verde-medio); }
    @media (max-width: 600px) {
      .autoval-inline-banner { flex-direction: column; align-items: flex-start; }
      .autoval-inline-banner .aib-link { white-space: normal; }
    }

    /* ─── HAMBURGER NAV (responsive) ─────────────────────── */
    .nav-hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      cursor: pointer;
      background: none;
      border: none;
      padding: .4rem;
      border-radius: .4rem;
      transition: background .2s;
    }
    .nav-hamburger:hover { background: var(--verde-chiaro, #b7e4c7); }
    .nav-hamburger span {
      display: block;
      width: 24px; height: 2px;
      background: var(--verde-profondo, #2d6a4f);
      border-radius: 2px;
      transition: transform .3s, opacity .3s;
    }
    .nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2) { opacity: 0; }
    .nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    @media (max-width: 820px) {
      .nav-hamburger { display: flex; }
      .nav-switch { display: none !important; }
      .nav-links {
        display: none !important;
        position: fixed;
        top: 60px; left: 0; right: 0;
        background: rgba(249,247,242,.98);
        backdrop-filter: blur(12px);
        flex-direction: column !important;
        align-items: flex-start;
        gap: 0 !important;
        padding: 1rem 0 1.5rem;
        border-bottom: 2px solid var(--verde-chiaro, #b7e4c7);
        z-index: 99;
        box-shadow: 0 8px 24px rgba(0,0,0,.08);
      }
      .nav-links.open { display: flex !important; }
      .nav-links li { width: 100%; }
      .nav-links a {
        display: block;
        padding: .85rem 5%;
        font-size: 1rem !important;
        border-bottom: 1px solid var(--verde-chiaro, #b7e4c7);
      }
      .nav-links li:last-child a { border-bottom: none; }
    }

  
    @media (max-width: 820px) {
      .two-col { grid-template-columns: 1fr; }
      .colloquio-sidebar { display: none; }
      .fasi-grid { grid-template-columns: 1fr; }
      .autoval-inline-banner { margin: 1.5rem 0; }
    }
    @media (max-width: 500px) {
      .fase-card { padding: 1.2rem; }
    }

  
    @media (max-width: 820px) {
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
    }
    @media (max-width: 500px) {
      .footer-grid { grid-template-columns: 1fr; gap: 1.5rem; }
    }

  
    /* ═══════════════════════════════════════════════════
       BOTTOM TAB BAR — solo mobile (≤768px)
    ═══════════════════════════════════════════════════ */
    @media (max-width: 768px) {
      .nav-hamburger { display: none !important; }
      .nav-links      { display: none !important; }
      .nav-links.open { display: none !important; }
      .nav-switch     { display: none !important; }
      body { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important; }

      .bottom-nav {
        display: flex !important;
        position: fixed !important;
        bottom: 0 !important; left: 0 !important; right: 0 !important;
        height: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
        background: #ffffff !important;
        border-top: 2px solid #b7e4c7 !important;
        box-shadow: 0 -2px 16px rgba(45,106,79,.15) !important;
        z-index: 99999 !important;
        align-items: stretch !important;
      }
      .bnav-tab {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        text-decoration: none !important;
        color: #4a7055 !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        padding: .2rem .1rem !important;
        border-top: 3px solid transparent !important;
        -webkit-tap-highlight-color: transparent;
        height: 100%;
        box-sizing: border-box;
      }
      .bnav-tab svg {
        display: block !important;
        width: 22px !important; height: 22px !important;
        stroke: currentColor !important;
        stroke-width: 1.7 !important;
        fill: none !important;
        flex-shrink: 0 !important;
      }
      .bnav-tab span {
        display: block !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        color: inherit !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
        height: auto !important;
        background: none !important;
        max-width: 100% !important;
        text-align: center !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        padding: 0 2px !important;
        font-weight: 600 !important;
        font-family: 'DM Sans', sans-serif !important;
        letter-spacing: 0 !important;
        border-radius: 0 !important;
        transform: none !important;
      }
      .bnav-tab:active { background: #e8f8ee !important; }
      .bnav-tab.bnav-active {
        color: #1a5235 !important;
        border-top: 3px solid #3aaa6e !important;
        background: #edf9f2 !important;
        font-weight: 700 !important;
      }
      .bnav-tab.bnav-active svg { stroke: #1a5235 !important; }
      .bnav-tab.bnav-active span { color: #1a5235 !important; font-weight: 700 !important; }
      .bnav-tab.bnav-switch {
        color: #1e3a5f !important;
        border-left: 1px solid #d8e8f5 !important;
      }
      .bnav-tab.bnav-switch svg { stroke: #1e3a5f !important; }
      .bnav-tab.bnav-switch span { color: #1e3a5f !important; }
      nav { padding: .6rem 4% !important; }
    }
    @media (min-width: 769px) { .bottom-nav { display: none !important; } }

  



/* ===== Page source: wizard.css ===== */



    :root {
      --verde-profondo:#1b4332;--verde-medio:#2d6a4f;--verde-chiaro:#74c69d;
      --verde-pastello:#d8f3dc;--avorio:#f9f7f2;--testo-principale:#1a1a2e;
      --grigio-testo:#4a4a5a;--grigio-muted:#6b7280;--grigio-bordo:#e8e4dc;
      --ombra:rgba(27,67,50,.08);
    }
    *, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
    html { scroll-behavior:smooth; }
    body { font-family:'DM Sans',sans-serif; background:var(--avorio); color:var(--testo-principale); min-height:100vh; }

    /* NAV */
    nav {position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(249,247,242,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--grigio-bordo);display:flex;align-items:center;justify-content:space-between;padding:.9rem 5%;}
    .nav-logo{font-family:'Lora',serif;font-weight:700;font-size:1.05rem;color:#2d6a4f;text-decoration:none;display:flex;align-items:center;gap:.5rem}
    .nav-logo span{color:#52b788}
    .nav-logo-img{height:32px;width:auto;display:block;}
    .nav-links{display:flex;gap:1.6rem;list-style:none;}
    .nav-links a{font-size:.88rem;font-weight:500;color:var(--grigio-testo);text-decoration:none;letter-spacing:.02em;transition:color .25s;}
    .nav-links a:hover{color:var(--verde-profondo);}
    .nav-links a.active{color:var(--verde-profondo);font-weight:700;border-bottom:2px solid var(--verde-medio);}

    /* HERO */
    .wizard-hero {
      padding: 7rem 5% 3rem;
      background: linear-gradient(160deg, var(--verde-profondo) 0%, var(--verde-medio) 100%);
      text-align: center;
    }
    .wizard-hero-badge {
      display: inline-flex; align-items: center; gap: .45rem;
      background: rgba(116,198,157,.2); border: 1px solid rgba(116,198,157,.4);
      border-radius: 2rem; padding: .3rem .9rem; margin-bottom: 1.2rem;
      font-size: .75rem; font-weight: 600; letter-spacing: .07em;
      text-transform: uppercase; color: #a7f3d0;
    }
    .wizard-hero h1 {
      font-family: 'Lora', serif; font-size: clamp(1.9rem, 4vw, 2.8rem);
      font-weight: 700; color: #fff; line-height: 1.2; margin-bottom: 1rem;
    }
    .wizard-hero h1 em { font-style: italic; color: #a7f3d0; }
    .wizard-hero p {
      font-size: 1rem; color: rgba(255,255,255,.75);
      max-width: 540px; margin: 0 auto; line-height: 1.7;
    }

    /* CONTAINER */
    .wizard-wrap {
      max-width: 680px; margin: 0 auto; padding: 3rem 5% 5rem;
    }

    /* STEP INDICATOR */
    .step-indicator {
      display: flex; align-items: center; justify-content: center;
      gap: 0; margin-bottom: 2.5rem;
    }
    .step-dot {
      width: 36px; height: 36px; border-radius: 50%;
      border: 2px solid var(--grigio-bordo); background: #fff;
      display: flex; align-items: center; justify-content: center;
      font-size: .8rem; font-weight: 700; color: var(--grigio-muted);
      transition: all .3s; position: relative; z-index: 1;
    }
    .step-dot.active { border-color: var(--verde-profondo); background: var(--verde-profondo); color: #fff; }
    .step-dot.done { border-color: var(--verde-chiaro); background: var(--verde-chiaro); color: #fff; }
    .step-line {
      flex: 1; height: 2px; background: var(--grigio-bordo); max-width: 80px;
      transition: background .3s;
    }
    .step-line.done { background: var(--verde-chiaro); }

    /* PROGRESS BAR */
    .progress-bar-wrap {
      height: 4px; background: var(--grigio-bordo);
      border-radius: 2px; margin-bottom: 2rem; overflow: hidden;
    }
    .progress-bar {
      height: 100%; background: linear-gradient(90deg, var(--verde-medio), var(--verde-chiaro));
      border-radius: 2px; transition: width .4s ease;
    }

    /* CARD STEP */
    .step-card {
      background: #fff; border-radius: 1.25rem;
      border: 1px solid var(--grigio-bordo);
      padding: 2.5rem 2.5rem 2rem;
      box-shadow: 0 4px 24px var(--ombra);
      display: none; animation: fadeSlide .3s ease;
    }
    .step-card.active { display: block; }
    @keyframes fadeSlide {
      from { opacity: 0; transform: translateY(12px); }
      to { opacity: 1; transform: none; }
    }
    .step-num {
      font-size: .72rem; font-weight: 700; letter-spacing: .1em;
      text-transform: uppercase; color: var(--verde-medio);
      margin-bottom: .6rem; display: flex; align-items: center; gap: .4rem;
    }
    .step-num::before {
      content: ''; display: inline-block; width: 20px; height: 2px;
      background: var(--verde-chiaro); border-radius: 1px;
    }
    .step-card h2 {
      font-family: 'Lora', serif; font-size: 1.35rem; font-weight: 700;
      color: var(--testo-principale); margin-bottom: .5rem; line-height: 1.3;
    }
    .step-card .step-desc {
      font-size: .88rem; color: var(--grigio-muted); margin-bottom: 1.8rem;
    }

    /* OPTIONS */
    .options-grid {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: .85rem; margin-bottom: 1.8rem;
    }
    .option-btn {
      display: flex; align-items: flex-start; gap: .75rem;
      padding: 1rem 1.1rem; border-radius: .8rem;
      border: 1.5px solid var(--grigio-bordo); background: var(--avorio);
      cursor: pointer; text-align: left; transition: all .2s;
      font-family: 'DM Sans', sans-serif;
    }
    .option-btn:hover { border-color: var(--verde-medio); background: var(--verde-pastello); }
    .option-btn.selected { border-color: var(--verde-profondo); background: var(--verde-pastello); }
    .option-btn.selected .opt-check { background: var(--verde-profondo); border-color: var(--verde-profondo); }
    .option-btn.selected .opt-check::after { display: block; }
    .opt-check {
      width: 20px; height: 20px; border-radius: 50%;
      border: 2px solid var(--grigio-bordo); background: #fff;
      flex-shrink: 0; margin-top: .1rem; position: relative; transition: all .2s;
    }
    .opt-check::after {
      content: ''; display: none; position: absolute;
      top: 50%; left: 50%; transform: translate(-50%, -50%);
      width: 8px; height: 8px; border-radius: 50%; background: #fff;
    }
    .opt-label { font-size: .9rem; font-weight: 600; color: var(--testo-principale); display: block; }
    .opt-sub { font-size: .78rem; color: var(--grigio-muted); margin-top: .2rem; display: block; }

    /* NAV BUTTONS */
    .step-nav {
      display: flex; justify-content: space-between; align-items: center;
      padding-top: 1.5rem; border-top: 1px solid var(--grigio-bordo);
    }
    .btn-back {
      display: flex; align-items: center; gap: .4rem;
      font-size: .88rem; font-weight: 600; color: var(--grigio-muted);
      background: none; border: none; cursor: pointer; padding: .5rem 0;
      transition: color .2s; font-family: 'DM Sans', sans-serif;
    }
    .btn-back:hover { color: var(--testo-principale); }
    .btn-next {
      display: flex; align-items: center; gap: .5rem;
      background: var(--verde-profondo); color: #fff;
      border: none; border-radius: .7rem; padding: .75rem 1.6rem;
      font-size: .92rem; font-weight: 600; cursor: pointer;
      transition: background .2s, transform .2s; font-family: 'DM Sans', sans-serif;
    }
    .btn-next:hover { background: var(--verde-medio); transform: translateX(2px); }
    .btn-next:disabled { background: var(--grigio-bordo); color: var(--grigio-muted); cursor: not-allowed; transform: none; }

    /* RISULTATI */
    .results-card {
      background: #fff; border-radius: 1.25rem;
      border: 1px solid var(--grigio-bordo);
      box-shadow: 0 4px 24px var(--ombra);
      overflow: hidden; display: none;
    }
    .results-card.active { display: block; animation: fadeSlide .4s ease; }
    .results-header {
      background: linear-gradient(135deg, var(--verde-profondo), var(--verde-medio));
      padding: 2rem 2.5rem;
      color: #fff;
    }
    .results-header h2 {
      font-family: 'Lora', serif; font-size: 1.5rem;
      font-weight: 700; margin-bottom: .4rem;
    }
    .results-header p { font-size: .9rem; color: rgba(255,255,255,.75); }
    .results-body { padding: 2rem 2.5rem; }
    .results-intro {
      font-size: .9rem; color: var(--grigio-testo);
      background: var(--verde-pastello); border-radius: .75rem;
      padding: 1rem 1.2rem; margin-bottom: 1.8rem; line-height: 1.6;
    }
    .misura-result {
      display: flex; gap: 1.2rem; align-items: flex-start;
      padding: 1.2rem 0; border-bottom: 1px solid var(--grigio-bordo);
    }
    .misura-result:last-child { border-bottom: none; }
    .misura-icon {
      width: 44px; height: 44px; border-radius: .75rem;
      background: var(--verde-pastello); display: flex; align-items: center;
      justify-content: center; flex-shrink: 0; color: var(--verde-profondo);
    }
    .misura-content { flex: 1; }
    .misura-name {
      font-family: 'Lora', serif; font-weight: 700; font-size: 1rem;
      color: var(--testo-principale); margin-bottom: .3rem;
    }
    .misura-why {
      font-size: .83rem; color: var(--grigio-testo); line-height: 1.55;
    }
    .misura-match {
      display: inline-flex; align-items: center; gap: .3rem;
      margin-top: .5rem; font-size: .74rem; font-weight: 600;
      color: var(--verde-medio);
    }
    .btn-vedi-misura {
      display: inline-flex; align-items: center; gap: .4rem;
      background: var(--verde-pastello); color: var(--verde-profondo);
      border-radius: .5rem; padding: .4rem .85rem; margin-top: .6rem;
      font-size: .8rem; font-weight: 600; text-decoration: none;
      transition: background .2s;
    }
    .btn-vedi-misura:hover { background: var(--verde-chiaro); color: #fff; }
    .results-footer {
      padding: 1.5rem 2.5rem; border-top: 1px solid var(--grigio-bordo);
      display: flex; gap: 1rem; align-items: center; flex-wrap: wrap;
    }
    .btn-restart {
      display: inline-flex; align-items: center; gap: .4rem;
      border: 1.5px solid var(--grigio-bordo); background: #fff;
      color: var(--grigio-testo); border-radius: .7rem; padding: .65rem 1.2rem;
      font-size: .88rem; font-weight: 600; cursor: pointer;
      transition: all .2s; font-family: 'DM Sans', sans-serif;
    }
    .btn-restart:hover { border-color: var(--verde-medio); color: var(--verde-profondo); }
    .btn-tutte-misure {
      display: inline-flex; align-items: center; gap: .4rem;
      background: var(--verde-profondo); color: #fff;
      border-radius: .7rem; padding: .65rem 1.3rem;
      font-size: .88rem; font-weight: 600; text-decoration: none;
      transition: background .2s;
    }
    .btn-tutte-misure:hover { background: var(--verde-medio); }
    .no-results {
      text-align: center; padding: 2rem;
      color: var(--grigio-muted); font-size: .9rem;
    }

    /* FOOTER */
    .footer-main{background:#152e1f;color:rgba(255,255,255,.65);padding:3rem 5% 0;font-size:.88rem;line-height:1.7;}
    .footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:3rem;max-width:1100px;margin:0 auto 2.5rem;}
    .footer-brand-logo{font-family:'Lora',serif;font-weight:700;font-size:1.1rem;color:#fff;display:flex;align-items:center;gap:.5rem;text-decoration:none;margin-bottom:.8rem;}
    .footer-brand-logo svg,.footer-brand-logo span{color:#74c69d;}
    .footer-brand p{font-size:.84rem;line-height:1.7;max-width:280px;}
    .footer-col-title{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:.9rem;}
    .footer-nav-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem;}
    .footer-nav-list a{color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s;font-size:.85rem;}
    .footer-nav-list a:hover{color:#a7f3d0;}
    .footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.2rem 0;max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;font-size:.78rem;color:rgba(255,255,255,.35);}
    .footer-bottom-links{display:flex;gap:1.4rem;}
    .footer-bottom-links a{color:rgba(255,255,255,.4);text-decoration:none;transition:color .2s;}
    .footer-bottom-links a:hover{color:#74c69d;}

    @media(max-width:600px){
      .nav-links{display:none;}
      .options-grid{grid-template-columns:1fr;}
      .results-footer{flex-direction:column;}
      .step-card{padding:1.8rem 1.5rem 1.5rem;}
    }
  
    /* ─── HAMBURGER NAV (responsive) ─────────────────────── */
    .nav-hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      cursor: pointer;
      background: none;
      border: none;
      padding: .4rem;
      border-radius: .4rem;
      transition: background .2s;
    }
    .nav-hamburger:hover { background: var(--verde-chiaro, #b7e4c7); }
    .nav-hamburger span {
      display: block;
      width: 24px; height: 2px;
      background: var(--verde-profondo, #2d6a4f);
      border-radius: 2px;
      transition: transform .3s, opacity .3s;
    }
    .nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2) { opacity: 0; }
    .nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    @media (max-width: 820px) {
      .nav-hamburger { display: flex; }
      .nav-switch { display: none !important; }
      .nav-links {
        display: none !important;
        position: fixed;
        top: 60px; left: 0; right: 0;
        background: rgba(249,247,242,.98);
        backdrop-filter: blur(12px);
        flex-direction: column !important;
        align-items: flex-start;
        gap: 0 !important;
        padding: 1rem 0 1.5rem;
        border-bottom: 2px solid var(--verde-chiaro, #b7e4c7);
        z-index: 99;
        box-shadow: 0 8px 24px rgba(0,0,0,.08);
      }
      .nav-links.open { display: flex !important; }
      .nav-links li { width: 100%; }
      .nav-links a {
        display: block;
        padding: .85rem 5%;
        font-size: 1rem !important;
        border-bottom: 1px solid var(--verde-chiaro, #b7e4c7);
      }
      .nav-links li:last-child a { border-bottom: none; }
    }

  
    @media (max-width: 820px) {
      .wizard-layout { grid-template-columns: 1fr; }
      .wizard-sidebar { display: none; }
      .wizard-options { grid-template-columns: 1fr; }
    }
    @media (max-width: 500px) {
      .wizard-card { padding: 1.2rem; }
      .wizard-hero { padding: 5rem 5% 2rem; }
    }

  
    @media (max-width: 820px) {
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
    }
    @media (max-width: 500px) {
      .footer-grid { grid-template-columns: 1fr; gap: 1.5rem; }
    }

  
    /* ═══════════════════════════════════════════════════
       BOTTOM TAB BAR — solo mobile (≤768px)
    ═══════════════════════════════════════════════════ */
    @media (max-width: 768px) {
      .nav-hamburger { display: none !important; }
      .nav-links      { display: none !important; }
      .nav-links.open { display: none !important; }
      .nav-switch     { display: none !important; }
      body { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important; }

      .bottom-nav {
        display: flex !important;
        position: fixed !important;
        bottom: 0 !important; left: 0 !important; right: 0 !important;
        height: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
        background: #ffffff !important;
        border-top: 2px solid #b7e4c7 !important;
        box-shadow: 0 -2px 16px rgba(45,106,79,.15) !important;
        z-index: 99999 !important;
        align-items: stretch !important;
      }
      .bnav-tab {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        text-decoration: none !important;
        color: #4a7055 !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        padding: .2rem .1rem !important;
        border-top: 3px solid transparent !important;
        -webkit-tap-highlight-color: transparent;
        height: 100%;
        box-sizing: border-box;
      }
      .bnav-tab svg {
        display: block !important;
        width: 22px !important; height: 22px !important;
        stroke: currentColor !important;
        stroke-width: 1.7 !important;
        fill: none !important;
        flex-shrink: 0 !important;
      }
      .bnav-tab span {
        display: block !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        color: inherit !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
        height: auto !important;
        background: none !important;
        max-width: 100% !important;
        text-align: center !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        padding: 0 2px !important;
        font-weight: 600 !important;
        font-family: 'DM Sans', sans-serif !important;
        letter-spacing: 0 !important;
        border-radius: 0 !important;
        transform: none !important;
      }
      .bnav-tab:active { background: #e8f8ee !important; }
      .bnav-tab.bnav-active {
        color: #1a5235 !important;
        border-top: 3px solid #3aaa6e !important;
        background: #edf9f2 !important;
        font-weight: 700 !important;
      }
      .bnav-tab.bnav-active svg { stroke: #1a5235 !important; }
      .bnav-tab.bnav-active span { color: #1a5235 !important; font-weight: 700 !important; }
      .bnav-tab.bnav-switch {
        color: #1e3a5f !important;
        border-left: 1px solid #d8e8f5 !important;
      }
      .bnav-tab.bnav-switch svg { stroke: #1e3a5f !important; }
      .bnav-tab.bnav-switch span { color: #1e3a5f !important; }
      nav { padding: .6rem 4% !important; }
    }
    @media (min-width: 769px) { .bottom-nav { display: none !important; } }

  



/* ===== Page source: contatti.css ===== */




/* ── TEMA DINAMICO (verde=cittadini, blu=professionisti) ── */
:root {
  --t-profondo: #2d6a4f;
  --t-medio:    #52b788;
  --t-chiaro:   #b7e4c7;
  --t-pastello: #d8f3dc;
  --t-ombra:    rgba(45,106,79,.1);
}
body.tema-pro {
  --t-profondo: #1e3a5f;
  --t-medio:    #2d72a8;
  --t-chiaro:   #b7cde8;
  --t-pastello: #dbeafe;
  --t-ombra:    rgba(30,58,95,.09);
}

:root{
  --verde-profondo:#2d6a4f;
  --verde-medio:#52b788;
  --verde-chiaro:#b7e4c7;
  --verde-pastello:#d8f3dc;
  --bianco-panna:#f9f7f2;
  --grigio-testo:#3a3a3a;
  --grigio-muted:#6b7280;
  --grigio-bordo:#e5e7eb;
  --ombra:rgba(45,106,79,.1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--bianco-panna);color:var(--grigio-testo);line-height:1.7;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(249,247,242,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--t-chiaro);display:flex;align-items:center;justify-content:space-between;padding:.9rem 5%;}
.nav-logo{font-family:'Lora',serif;font-weight:700;font-size:1.05rem;color:#2d6a4f;text-decoration:none;display:flex;align-items:center;gap:.5rem}
    .nav-logo span{color:#52b788}
    .nav-logo-img{height:32px;width:auto;display:block;}
.nav-links{display:flex;gap:1.6rem;list-style:none;}
.nav-links a{font-size:.88rem;font-weight:500;color:var(--grigio-testo);text-decoration:none;transition:color .25s;}
.nav-links a:hover{color:var(--t-profondo);}
.nav-switch{display:inline-flex;align-items:center;gap:.4rem;background:var(--t-pastello);color:var(--t-profondo);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.3rem .9rem;border-radius:100px;text-decoration:none;border:1.5px solid var(--t-chiaro);transition:background .25s;white-space:nowrap;}
.nav-switch:hover{background:var(--t-chiaro);}

/* HERO */
.page-hero{padding:7rem 5% 3.5rem;background:linear-gradient(160deg,var(--t-pastello) 0%,var(--bianco-panna) 60%);border-bottom:1px solid var(--t-chiaro);text-align:center;}
.page-hero h1 em{color:var(--t-medio);}
.breadcrumb{font-size:.8rem;color:var(--grigio-muted);margin-bottom:1rem;}
.breadcrumb a{color:var(--t-profondo);text-decoration:none;}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:#fff;color:var(--t-profondo);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.3rem 1rem;border-radius:100px;margin-bottom:1rem;border:1px solid var(--t-chiaro);}
.page-hero h1{font-family:'Lora',serif;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700;color:var(--t-profondo);margin-bottom:.8rem;}
.page-hero h1 em{font-style:italic;color:var(--t-medio);}
.page-hero p{color:var(--grigio-muted);max-width:540px;margin:0 auto;font-size:1rem;}

/* LAYOUT */
.content-wrap{max-width:900px;margin:0 auto;padding:4rem 5% 5rem;}

/* GRID MOTIVI */
.motivi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-bottom:3.5rem;}
@media(max-width:900px){.motivi-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.motivi-grid{grid-template-columns:1fr;}}
.motivo-card{background:#fff;border-radius:1.2rem;padding:1.4rem;border:1px solid var(--grigio-bordo);box-shadow:0 2px 12px var(--t-ombra);transition:transform .2s,box-shadow .2s;}
.motivo-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px var(--t-ombra);}
.motivo-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:.9rem;}
.motivo-card h3{font-family:'Lora',serif;font-size:1rem;font-weight:700;color:var(--t-profondo);margin-bottom:.4rem;}
.motivo-card p{font-size:.85rem;color:var(--grigio-muted);line-height:1.6;}

/* CONTATTO PRINCIPALE */
.contact-main{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:3rem;align-items:start;}
.contact-card{background:#fff;border-radius:1.4rem;padding:2rem;border:1px solid var(--grigio-bordo);box-shadow:0 4px 20px var(--t-ombra);}
.contact-card.primary{border-top:4px solid var(--t-profondo);}
.cc-label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--grigio-muted);margin-bottom:.6rem;}
.cc-title{font-family:'Lora',serif;font-size:1.2rem;font-weight:700;color:var(--t-profondo);margin-bottom:.8rem;}
.cc-body{font-size:.9rem;color:var(--grigio-muted);line-height:1.7;margin-bottom:1.2rem;}
.cc-email{display:inline-flex;align-items:center;gap:.5rem;background:var(--t-profondo);color:#fff;text-decoration:none;padding:.7rem 1.4rem;border-radius:100px;font-size:.9rem;font-weight:600;transition:background .2s;}
.cc-email:hover{background:var(--t-profondo);}
.cc-email svg{flex-shrink:0;}
.cc-timing{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--grigio-muted);margin-top:.8rem;}
.cc-timing svg{color:var(--t-medio);flex-shrink:0;}

/* NOTE LIST */
.note-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.6rem;}
.note-list li{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;color:var(--grigio-testo);line-height:1.55;}
.note-list li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--t-medio);flex-shrink:0;margin-top:.5rem;}

/* DISCLAIMER */
.disclaimer-box{background:var(--t-pastello);border-radius:1rem;padding:1.4rem 1.8rem;border-left:4px solid var(--t-medio);}
.disclaimer-box h3{font-family:'Lora',serif;font-size:1rem;font-weight:700;color:var(--t-profondo);margin-bottom:.5rem;}
.disclaimer-box p{font-size:.88rem;color:var(--t-profondo);line-height:1.65;}

/* NUMERI EMERGENZA */
.emergenza-section{margin-top:3rem;}
.emergenza-title{font-family:'Lora',serif;font-size:1.3rem;font-weight:700;color:var(--t-profondo);margin-bottom:.4rem;}
.emergenza-sub{font-size:.9rem;color:var(--grigio-muted);margin-bottom:1.4rem;}
.numeri-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem;}
.numero-card{background:#fff;border-radius:1rem;padding:1.1rem 1.3rem;border:1px solid var(--grigio-bordo);display:flex;align-items:flex-start;gap:.8rem;}
.numero-badge{font-family:'Lora',serif;font-size:1.3rem;font-weight:700;color:var(--t-profondo);flex-shrink:0;min-width:48px;}
.numero-info h4{font-size:.88rem;font-weight:600;color:var(--grigio-testo);margin-bottom:.15rem;}
.numero-info p{font-size:.78rem;color:var(--grigio-muted);line-height:1.5;}

/* FOOTER */
.footer-main{background:#152e1f;color:rgba(255,255,255,.6);padding:2.5rem 5%;text-align:center;font-size:.85rem;line-height:1.7;}
.footer-links{display:flex;justify-content:center;gap:1.4rem;margin-top:1rem;flex-wrap:wrap;}
.footer-links a{font-size:.8rem;color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s;}
.footer-links a:hover,.footer-links a.active{color:var(--t-chiaro);}

@media(max-width:768px){.nav-links{display:none;}.contact-main{grid-template-columns:1fr;}.content-wrap{padding:2.5rem 5% 4rem;}}

    /* ─── HAMBURGER NAV (responsive) ─────────────────────── */
    .nav-hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      cursor: pointer;
      background: none;
      border: none;
      padding: .4rem;
      border-radius: .4rem;
      transition: background .2s;
    }
    .nav-hamburger:hover { background: var(--verde-chiaro, #b7e4c7); }
    .nav-hamburger span {
      display: block;
      width: 24px; height: 2px;
      background: var(--verde-profondo, #2d6a4f);
      border-radius: 2px;
      transition: transform .3s, opacity .3s;
    }
    .nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2) { opacity: 0; }
    .nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    @media (max-width: 820px) {
      .nav-hamburger { display: flex; }
      .nav-switch { display: none !important; }
      .nav-links {
        display: none !important;
        position: fixed;
        top: 60px; left: 0; right: 0;
        background: rgba(249,247,242,.98);
        backdrop-filter: blur(12px);
        flex-direction: column !important;
        align-items: flex-start;
        gap: 0 !important;
        padding: 1rem 0 1.5rem;
        border-bottom: 2px solid var(--verde-chiaro, #b7e4c7);
        z-index: 99;
        box-shadow: 0 8px 24px rgba(0,0,0,.08);
      }
      .nav-links.open { display: flex !important; }
      .nav-links li { width: 100%; }
      .nav-links a {
        display: block;
        padding: .85rem 5%;
        font-size: 1rem !important;
        border-bottom: 1px solid var(--verde-chiaro, #b7e4c7);
      }
      .nav-links li:last-child a { border-bottom: none; }
    }

  
    @media (max-width: 820px) {
      .contact-main { grid-template-columns: 1fr; }
      .contact-info { order: 2; }
      .contact-form-wrap { order: 1; }
      .contact-info-grid { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 500px) {
      .contact-info-grid { grid-template-columns: 1fr; }
      .hero-contact { padding: 5rem 5% 2rem; }
    }

  
    /* ═══════════════════════════════════════════════════
       BOTTOM TAB BAR — solo mobile (≤768px)
    ═══════════════════════════════════════════════════ */
    @media (max-width: 768px) {
      .nav-hamburger { display: none !important; }
      .nav-links      { display: none !important; }
      .nav-links.open { display: none !important; }
      .nav-switch     { display: none !important; }
      body { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important; }

      .bottom-nav {
        display: flex !important;
        position: fixed !important;
        bottom: 0 !important; left: 0 !important; right: 0 !important;
        height: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
        background: #ffffff !important;
        border-top: 2px solid #b7e4c7 !important;
        box-shadow: 0 -2px 16px rgba(45,106,79,.15) !important;
        z-index: 99999 !important;
        align-items: stretch !important;
      }
      .bnav-tab {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        text-decoration: none !important;
        color: #4a7055 !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        padding: .2rem .1rem !important;
        border-top: 3px solid transparent !important;
        -webkit-tap-highlight-color: transparent;
        height: 100%;
        box-sizing: border-box;
      }
      .bnav-tab svg {
        display: block !important;
        width: 22px !important; height: 22px !important;
        stroke: currentColor !important;
        stroke-width: 1.7 !important;
        fill: none !important;
        flex-shrink: 0 !important;
      }
      .bnav-tab span {
        display: block !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        color: inherit !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
        height: auto !important;
        background: none !important;
        max-width: 100% !important;
        text-align: center !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        padding: 0 2px !important;
        font-weight: 600 !important;
        font-family: 'DM Sans', sans-serif !important;
        letter-spacing: 0 !important;
        border-radius: 0 !important;
        transform: none !important;
      }
      .bnav-tab:active { background: #e8f8ee !important; }
      .bnav-tab.bnav-active {
        color: #1a5235 !important;
        border-top: 3px solid #3aaa6e !important;
        background: #edf9f2 !important;
        font-weight: 700 !important;
      }
      .bnav-tab.bnav-active svg { stroke: #1a5235 !important; }
      .bnav-tab.bnav-active span { color: #1a5235 !important; font-weight: 700 !important; }
      .bnav-tab.bnav-switch {
        color: #1e3a5f !important;
        border-left: 1px solid #d8e8f5 !important;
      }
      .bnav-tab.bnav-switch svg { stroke: #1e3a5f !important; }
      .bnav-tab.bnav-switch span { color: #1e3a5f !important; }
      nav { padding: .6rem 4% !important; }
    }
    @media (min-width: 769px) { .bottom-nav { display: none !important; } }

  



/* ===== Page source: privacy.css ===== */




/* ── TEMA DINAMICO (verde=cittadini, blu=professionisti) ── */
:root {
  --t-profondo: #2d6a4f;
  --t-medio:    #52b788;
  --t-chiaro:   #b7e4c7;
  --t-pastello: #d8f3dc;
  --t-ombra:    rgba(45,106,79,.1);
}
body.tema-pro {
  --t-profondo: #1e3a5f;
  --t-medio:    #2d72a8;
  --t-chiaro:   #b7cde8;
  --t-pastello: #dbeafe;
  --t-ombra:    rgba(30,58,95,.09);
}

:root{
  --verde-profondo:#2d6a4f;
  --verde-medio:#52b788;
  --verde-chiaro:#b7e4c7;
  --verde-pastello:#d8f3dc;
  --bianco-panna:#f9f7f2;
  --grigio-testo:#3a3a3a;
  --grigio-muted:#6b7280;
  --grigio-bordo:#e5e7eb;
  --ombra:rgba(45,106,79,.1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--bianco-panna);color:var(--grigio-testo);line-height:1.7;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(249,247,242,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--t-chiaro);display:flex;align-items:center;justify-content:space-between;padding:.9rem 5%;}
.nav-logo{font-family:'Lora',serif;font-weight:700;font-size:1.05rem;color:#2d6a4f;text-decoration:none;display:flex;align-items:center;gap:.5rem}
    .nav-logo span{color:#52b788}
    .nav-logo-img{height:32px;width:auto;display:block;}
.nav-links{display:flex;gap:1.6rem;list-style:none;}
.nav-links a{font-size:.88rem;font-weight:500;color:var(--grigio-testo);text-decoration:none;transition:color .25s;}
.nav-links a:hover{color:var(--t-profondo);}
.nav-switch{display:inline-flex;align-items:center;gap:.4rem;background:var(--t-pastello);color:var(--t-profondo);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.3rem .9rem;border-radius:100px;text-decoration:none;border:1.5px solid var(--t-chiaro);transition:background .25s;white-space:nowrap;}
.nav-switch:hover{background:var(--t-chiaro);}

/* HERO */
.page-hero{padding:7rem 5% 3rem;background:linear-gradient(160deg,var(--t-pastello) 0%,var(--bianco-panna) 60%);border-bottom:1px solid var(--t-chiaro);}
.breadcrumb{font-size:.8rem;color:var(--grigio-muted);margin-bottom:1rem;}
.breadcrumb a{color:var(--t-profondo);text-decoration:none;}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:#fff;color:var(--t-profondo);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.3rem 1rem;border-radius:100px;margin-bottom:1rem;border:1px solid var(--t-chiaro);}
.page-hero h1{font-family:'Lora',serif;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700;color:var(--t-profondo);margin-bottom:.8rem;}
.page-hero h1 em{font-style:italic;color:var(--t-medio);}
.page-hero p{color:var(--grigio-muted);max-width:600px;font-size:1rem;}

/* LAYOUT */
.content-wrap{max-width:820px;margin:0 auto;padding:4rem 5% 5rem;}

/* TOC */
.toc{background:#fff;border-radius:1.2rem;padding:1.4rem 1.8rem;margin-bottom:3rem;border:1px solid var(--grigio-bordo);box-shadow:0 2px 12px var(--t-ombra);}
.toc-title{font-family:'Lora',serif;font-size:.95rem;font-weight:700;color:var(--t-profondo);margin-bottom:.9rem;}
.toc ol{padding-left:1.2rem;display:flex;flex-direction:column;gap:.4rem;}
.toc li{font-size:.88rem;}
.toc a{color:var(--t-profondo);text-decoration:none;transition:color .2s;}
.toc a:hover{color:var(--t-medio);text-decoration:underline;}

/* SECTIONS */
.doc-section{margin-bottom:3rem;padding-top:1rem;}
.doc-section h2{font-family:'Lora',serif;font-size:1.35rem;font-weight:700;color:var(--t-profondo);margin-bottom:1rem;padding-bottom:.6rem;border-bottom:2px solid var(--t-pastello);display:flex;align-items:center;gap:.6rem;}
.doc-section h2 .num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--t-profondo);color:#fff;border-radius:50%;font-size:.78rem;font-weight:700;flex-shrink:0;font-family:'DM Sans',sans-serif;}
.doc-section h3{font-family:'Lora',serif;font-size:1.05rem;font-weight:600;color:var(--t-profondo);margin:1.4rem 0 .6rem;}
.doc-section p{font-size:.95rem;color:var(--grigio-testo);margin-bottom:.9rem;line-height:1.75;}
.doc-section ul,.doc-section ol{padding-left:1.4rem;margin-bottom:.9rem;display:flex;flex-direction:column;gap:.35rem;}
.doc-section li{font-size:.93rem;color:var(--grigio-testo);line-height:1.65;}
.doc-section strong{color:var(--t-profondo);font-weight:600;}
.doc-section a{color:var(--t-profondo);}

/* INFO BOX */
.info-box{background:var(--t-pastello);border-radius:.9rem;padding:1.1rem 1.4rem;margin:1.2rem 0;border-left:4px solid var(--t-medio);font-size:.9rem;color:var(--t-profondo);line-height:1.65;}
.info-box strong{font-weight:700;}
.warn-box{background:#fef3c7;border-radius:.9rem;padding:1.1rem 1.4rem;margin:1.2rem 0;border-left:4px solid #f59e0b;font-size:.9rem;color:#92400e;line-height:1.65;}

/* TABLE */
.cookie-table{width:100%;border-collapse:collapse;margin:1rem 0 1.4rem;font-size:.86rem;}
.cookie-table th{background:var(--t-profondo);color:#fff;padding:.6rem .9rem;text-align:left;font-weight:600;font-family:'DM Sans',sans-serif;}
.cookie-table td{padding:.6rem .9rem;border-bottom:1px solid var(--grigio-bordo);vertical-align:top;line-height:1.55;}
.cookie-table tr:nth-child(even) td{background:#f9fafb;}
.cookie-table tr:last-child td{border-bottom:none;}
.tag{display:inline-block;font-size:.72rem;font-weight:700;padding:.15rem .55rem;border-radius:100px;text-transform:uppercase;letter-spacing:.05em;}
.tag-tech{background:#dbeafe;color:#1e40af;}
.tag-analytics{background:#fce7f3;color:#9d174d;}

/* LAST UPDATED */
.last-update{font-size:.8rem;color:var(--grigio-muted);margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--grigio-bordo);}

/* FOOTER */
.footer-main{background:#152e1f;color:rgba(255,255,255,.6);padding:2.5rem 5%;text-align:center;font-size:.85rem;line-height:1.7;}
.footer-main a{color:var(--t-chiaro);text-decoration:none;}
.footer-links{display:flex;justify-content:center;gap:1.4rem;margin-top:1rem;flex-wrap:wrap;}
.footer-links a{font-size:.8rem;color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s;}
.footer-links a:hover,.footer-links a.active{color:var(--t-chiaro);}

@media(max-width:768px){.nav-links{display:none;}.content-wrap{padding:2.5rem 5% 4rem;}.cookie-table{font-size:.8rem;}}

    /* ─── HAMBURGER NAV (responsive) ─────────────────────── */
    .nav-hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      cursor: pointer;
      background: none;
      border: none;
      padding: .4rem;
      border-radius: .4rem;
      transition: background .2s;
    }
    .nav-hamburger:hover { background: var(--verde-chiaro, #b7e4c7); }
    .nav-hamburger span {
      display: block;
      width: 24px; height: 2px;
      background: var(--verde-profondo, #2d6a4f);
      border-radius: 2px;
      transition: transform .3s, opacity .3s;
    }
    .nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2) { opacity: 0; }
    .nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    @media (max-width: 820px) {
      .nav-hamburger { display: flex; }
      .nav-switch { display: none !important; }
      .nav-links {
        display: none !important;
        position: fixed;
        top: 60px; left: 0; right: 0;
        background: rgba(249,247,242,.98);
        backdrop-filter: blur(12px);
        flex-direction: column !important;
        align-items: flex-start;
        gap: 0 !important;
        padding: 1rem 0 1.5rem;
        border-bottom: 2px solid var(--verde-chiaro, #b7e4c7);
        z-index: 99;
        box-shadow: 0 8px 24px rgba(0,0,0,.08);
      }
      .nav-links.open { display: flex !important; }
      .nav-links li { width: 100%; }
      .nav-links a {
        display: block;
        padding: .85rem 5%;
        font-size: 1rem !important;
        border-bottom: 1px solid var(--verde-chiaro, #b7e4c7);
      }
      .nav-links li:last-child a { border-bottom: none; }
    }

  
    @media (max-width: 820px) {
      .privacy-layout { grid-template-columns: 1fr; }
      .privacy-sidebar { display: none; }
      .privacy-content { max-width: 100%; }
    }
    @media (max-width: 500px) {
      .privacy-hero { padding: 5rem 5% 2rem; }
    }

  
    /* ═══════════════════════════════════════════════════
       BOTTOM TAB BAR — solo mobile (≤768px)
    ═══════════════════════════════════════════════════ */
    @media (max-width: 768px) {
      .nav-hamburger { display: none !important; }
      .nav-links      { display: none !important; }
      .nav-links.open { display: none !important; }
      .nav-switch     { display: none !important; }
      body { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important; }

      .bottom-nav {
        display: flex !important;
        position: fixed !important;
        bottom: 0 !important; left: 0 !important; right: 0 !important;
        height: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
        background: #ffffff !important;
        border-top: 2px solid #b7e4c7 !important;
        box-shadow: 0 -2px 16px rgba(45,106,79,.15) !important;
        z-index: 99999 !important;
        align-items: stretch !important;
      }
      .bnav-tab {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        text-decoration: none !important;
        color: #4a7055 !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        padding: .2rem .1rem !important;
        border-top: 3px solid transparent !important;
        -webkit-tap-highlight-color: transparent;
        height: 100%;
        box-sizing: border-box;
      }
      .bnav-tab svg {
        display: block !important;
        width: 22px !important; height: 22px !important;
        stroke: currentColor !important;
        stroke-width: 1.7 !important;
        fill: none !important;
        flex-shrink: 0 !important;
      }
      .bnav-tab span {
        display: block !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        color: inherit !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
        height: auto !important;
        background: none !important;
        max-width: 100% !important;
        text-align: center !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        padding: 0 2px !important;
        font-weight: 600 !important;
        font-family: 'DM Sans', sans-serif !important;
        letter-spacing: 0 !important;
        border-radius: 0 !important;
        transform: none !important;
      }
      .bnav-tab:active { background: #e8f8ee !important; }
      .bnav-tab.bnav-active {
        color: #1a5235 !important;
        border-top: 3px solid #3aaa6e !important;
        background: #edf9f2 !important;
        font-weight: 700 !important;
      }
      .bnav-tab.bnav-active svg { stroke: #1a5235 !important; }
      .bnav-tab.bnav-active span { color: #1a5235 !important; font-weight: 700 !important; }
      .bnav-tab.bnav-switch {
        color: #1e3a5f !important;
        border-left: 1px solid #d8e8f5 !important;
      }
      .bnav-tab.bnav-switch svg { stroke: #1e3a5f !important; }
      .bnav-tab.bnav-switch span { color: #1e3a5f !important; }
      nav { padding: .6rem 4% !important; }
    }
    @media (min-width: 769px) { .bottom-nav { display: none !important; } }

  



/* ===== Page source: professionisti.css ===== */



    /* ──── Sezione Professionisti: palette blu/azzurro ──── */
    :root {
      --verde-profondo:   #1e3a5f;   /* navy profondo */
      --verde-medio:      #5a9cbf;   /* azzurro medio */
      --verde-chiaro:     #b0d0e8;   /* azzurro chiaro */
      --verde-pastello:   #e0eff7;   /* azzurro pallido */
      --azzurro:          #a8c5da;
      --azzurro-chiaro:   #e0eff7;
      --azzurro-medio:    #5a9cbf;
      --bianco-panna:     #f7f9fc;
      --grigio-testo:     #3a3a3a;
      --grigio-muted:     #6b7280;
      --ombra:            rgba(30,58,95,.12);
      --ombra-az:         rgba(90,156,191,.16);
    }
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body { font-family: 'DM Sans', sans-serif; background: var(--bianco-panna); color: var(--grigio-testo); overflow-x: hidden; }

    .ic { display: inline-block; flex-shrink: 0; line-height: 0; }
    .ic svg { display: block; }

    /* ─── NAV ─────────────────────────────────────────────────── */
    nav {
      position: fixed; top: 0; left: 0; right: 0;
      z-index: 100;
      background: rgba(249,247,242,.92);
      backdrop-filter: blur(10px);
      border-bottom: 1px solid var(--azzurro);
      display: flex; align-items: center; justify-content: space-between;
      padding: .9rem 5%;
    }
    .nav-logo{font-family:'Lora',serif;font-weight:700;font-size:1.05rem;color:#1e3a5f;text-decoration:none;display:flex;align-items:center;gap:.5rem}
    .nav-logo span{color:#5a9cbf}
    .nav-logo-img{height:32px;width:auto;display:block;}
    .nav-pro-badge {
      font-size: .72rem; font-weight: 600; letter-spacing: .08em;
      text-transform: uppercase; background: var(--azzurro-chiaro);
      color: var(--azzurro-medio); padding: .18rem .6rem; border-radius: 100px;
      border: 1px solid var(--azzurro); margin-left: .4rem;
    }
    .nav-links { display: flex; gap: 1.8rem; list-style: none; align-items: center; }
    .nav-links a {
      font-size: .88rem; font-weight: 500; color: var(--grigio-testo);
      text-decoration: none; letter-spacing: .02em; transition: color .25s;
    }
    .nav-links a:hover { color: var(--azzurro-medio); }
    .nav-links a.active { color: var(--azzurro-medio); font-weight: 700; border-bottom: 2px solid var(--azzurro); padding-bottom: 2px; }
    /* Switch verso cittadini: rimane verde */
    .nav-switch {
      display: flex; align-items: center; gap: .4rem;
      background: #d8f3dc; color: #2d6a4f;
      font-size: .78rem; font-weight: 600; text-transform: uppercase;
      letter-spacing: .06em; padding: .3rem .9rem .3rem .65rem;
      border-radius: 100px; text-decoration: none;
      border: 1.5px solid #b7e4c7; transition: background .25s;
      white-space: nowrap;
    }
    .nav-switch:hover { background: #b7e4c7; }
    .nav-switch .ic { width: 15px; height: 15px; }
    

    /* ─── HERO ─────────────────────────────────────────────────── */
    .hero {
      display: flex; align-items: center; justify-content: center;
      padding: 8rem 2% 5rem;
      background:
        radial-gradient(ellipse 55% 65% at 88% 12%, rgba(168,197,218,.18) 0%, transparent 65%),
        radial-gradient(ellipse 40% 45% at 12% 88%, rgba(90,156,191,.10) 0%, transparent 60%),
        var(--bianco-panna);
      text-align: center; position: relative; overflow: hidden;
    }
    .hero::after {
      content: '';
      position: absolute; bottom: 0; left: 0; right: 0;
      height: 5rem;
      background: linear-gradient(to bottom, transparent, rgba(30,58,95,.06));
      pointer-events: none;
    }
    /* Illustrazioni laterali */
    .hero-img-left,
    .hero-img-right {
      position: absolute;
      top: 0; bottom: 0;
      width: 37%;
      object-fit: cover;
      object-position: top center;
      pointer-events: none; user-select: none;
    }
    .hero-img-left {
      left: 0;
      -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,1) 0%, rgba(0,0,0,.9) 50%, transparent 100%);
      mask-image:         linear-gradient(to right, rgba(0,0,0,1) 0%, rgba(0,0,0,.9) 50%, transparent 100%);
    }
    .hero-img-right {
      right: 0;
      -webkit-mask-image: linear-gradient(to left, rgba(0,0,0,1) 0%, rgba(0,0,0,.9) 50%, transparent 100%);
      mask-image:         linear-gradient(to left, rgba(0,0,0,1) 0%, rgba(0,0,0,.9) 50%, transparent 100%);
    }
    .hero-content {
      position: relative; z-index: 2;
      max-width: 580px; margin: 0 auto;
    }
    .hero-inner { max-width: 760px; position: relative; z-index: 1; }
    .hero-badge {
      display: inline-flex; align-items: center; gap: .5rem;
      background: var(--azzurro-chiaro); color: var(--azzurro-medio);
      font-size: .8rem; font-weight: 600; letter-spacing: .08em;
      text-transform: uppercase; padding: .4rem 1.2rem; border-radius: 100px;
      margin-bottom: 1.8rem; border: 1px solid var(--azzurro);
    }
    .hero-content h1 {
      font-family: 'Lora', serif;
      font-size: clamp(2.2rem, 4.5vw, 3.8rem);
      font-weight: 700; color: var(--verde-profondo);
      line-height: 1.18; margin-bottom: 1.4rem;
    }
    .hero-content h1 em { font-style: italic; color: var(--azzurro-medio); }
    .hero-content p {
      font-size: 1.08rem; color: var(--grigio-muted);
      line-height: 1.7; margin: 0 auto 2.4rem;
    }
    .hero-btns { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
    @media (max-width: 900px) {
      .hero-img-left, .hero-img-right { width: 28%; opacity: .55; }
    }
    @media (max-width: 600px) {
      .hero-img-left, .hero-img-right { display: none; }
      .hero { padding: 8rem 6% 4rem; }
    }
    .btn {
      display: inline-flex; align-items: center; gap: .5rem;
      padding: .9rem 2rem; border-radius: 100px;
      font-size: .95rem; font-weight: 600; text-decoration: none;
      transition: transform .3s, box-shadow .3s;
    }
    .btn:hover { transform: translateY(-2px); }
    .btn-primary {
      background: var(--azzurro-medio); color: #fff;
      box-shadow: 0 4px 20px rgba(90,156,191,.35);
    }
    .btn-primary:hover { box-shadow: 0 8px 30px rgba(90,156,191,.45); }
    .btn-outline {
      background: transparent; color: var(--verde-profondo);
      border: 2px solid var(--verde-chiaro);
    }
    .btn-outline:hover { background: var(--verde-pastello); }

    /* ─── CHI SIAMO section ─────────────────────────────────── */
    .chi-siamo {
      padding: 5rem 5%;
      background: #fff;
    }
    .section-label {
      display: inline-flex; align-items: center; gap: .5rem;
      font-size: .78rem; font-weight: 600; letter-spacing: .1em;
      text-transform: uppercase; color: var(--azzurro-medio);
      margin-bottom: 1rem;
    }
    .section-title {
      font-family: 'Lora', serif; font-size: 2rem; font-weight: 700;
      color: var(--verde-profondo); line-height: 1.25; margin-bottom: 1rem;
      max-width: 600px;
    }
    .section-sub {
      font-size: .98rem; color: var(--grigio-muted); line-height: 1.7;
      max-width: 640px; margin-bottom: 3rem;
    }

    .chi-grid {
      display: grid; grid-template-columns: repeat(4, 1fr);
      gap: 1.4rem; max-width: 1100px;
    }
    @media(max-width:900px){.chi-grid{grid-template-columns:repeat(2,1fr);}}
    @media(max-width:560px){.chi-grid{grid-template-columns:1fr;}}
    .chi-card {
      background: var(--bianco-panna); border-radius: 1.4rem;
      padding: 1.8rem; border: 1.5px solid var(--azzurro-chiaro);
      transition: transform .3s, box-shadow .3s;
    }
    .chi-card:hover { transform: translateY(-4px); box-shadow: 0 8px 30px var(--ombra-az); }
    .chi-card-icon {
      width: 52px; height: 64px; border-radius: 1rem;
      background: var(--azzurro-chiaro); color: var(--azzurro-medio);
      display: flex; align-items: center; justify-content: center; margin-bottom: 1.2rem;
    }
    .chi-card h3 {
      font-family: 'Lora', serif; font-size: 1.15rem; font-weight: 700;
      color: var(--verde-profondo); margin-bottom: .6rem;
    }
    .chi-card p { font-size: .91rem; color: var(--grigio-muted); line-height: 1.65; }

    /* ─── PERCORSI section ───────────────────────────────────── */
    .percorsi {
      padding: 5rem 5%;
      background: linear-gradient(180deg, var(--bianco-panna) 0%, var(--azzurro-chiaro) 100%);
    }
    .percorsi-grid {
      display: grid; grid-template-columns: 1fr 1fr 1fr;
      gap: 2rem; max-width: 1100px; margin-top: 3rem;
    }
    @media(max-width:860px){ .percorsi-grid { grid-template-columns: 1fr 1fr; } }
    .percorso-card {
      background: rgba(255,255,255,.88);
      backdrop-filter: blur(10px);
      border-radius: 1.8rem; padding: 2.4rem 2rem;
      text-decoration: none; color: inherit;
      box-shadow: 0 6px 30px var(--ombra-az);
      border: 1.5px solid rgba(255,255,255,.7);
      transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s;
      display: flex; flex-direction: column; gap: 1.2rem;
    }
    .percorso-card:hover { transform: translateY(-6px); box-shadow: 0 16px 50px rgba(90,156,191,.22); }
    .percorso-icon {
      width: 60px; height: 60px; border-radius: 1rem;
      display: flex; align-items: center; justify-content: center;
    }
    .percorso-card.risorse .percorso-icon { background: linear-gradient(135deg, #dbeafe, #bfdbfe); color: #1e40af; }
    .percorso-card.formazione .percorso-icon { background: linear-gradient(135deg, var(--verde-pastello), var(--verde-chiaro)); color: var(--verde-profondo); }
    .percorso-card.simulatore .percorso-icon { background: linear-gradient(135deg, #f0e6ff, #d8b4fe); color: #6d28d9; }
    .percorso-card h3 { font-family: 'Lora', serif; font-size: 1.35rem; font-weight: 700; color: var(--verde-profondo); }
    .percorso-card p { font-size: .92rem; color: var(--grigio-muted); line-height: 1.65; flex: 1; }
    .percorso-list { display: flex; flex-direction: column; gap: .5rem; }
    .percorso-item {
      display: flex; align-items: center; gap: .5rem;
      font-size: .86rem; color: var(--grigio-muted);
    }
    .percorso-item .ic { width: 16px; height: 16px; color: var(--verde-medio); flex-shrink: 0; }
    .percorso-cta {
      display: flex; align-items: center; gap: .4rem;
      font-size: .9rem; font-weight: 600; color: var(--azzurro-medio);
      margin-top: .5rem;
    }
    .percorso-cta .ic { width: 17px; height: 17px; transition: transform .25s; }
    .percorso-card:hover .percorso-cta .ic { transform: translateX(4px); }

    /* ─── VALORI section ─────────────────────────────────────── */
    .valori {
      padding: 5rem 5%;
      background: var(--verde-profondo);
      color: #fff;
    }
    .valori .section-label { color: var(--verde-chiaro); }
    .valori .section-title { color: #fff; max-width: 100%; }
    .valori .section-sub { color: rgba(255,255,255,.75); }
    .valori-grid {
      display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1.4rem; max-width: 1000px; margin-top: 2.5rem;
    }
    .valore-item {
      padding: 1.6rem; border-radius: 1.2rem;
      background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12);
    }
    .valore-num {
      font-family: 'Lora', serif; font-size: 2.5rem; font-weight: 700;
      color: var(--verde-chiaro); line-height: 1; margin-bottom: .6rem;
    }
    .valore-item h4 { font-size: 1rem; font-weight: 600; color: #fff; margin-bottom: .4rem; }
    .valore-item p { font-size: .87rem; color: rgba(255,255,255,.65); line-height: 1.6; }

    /* ─── CTA SECTION ────────────────────────────────────────── */
    .cta-section {
      padding: 5rem 5%; text-align: center;
      background: var(--bianco-panna);
    }
    .cta-section h2 { font-family: 'Lora', serif; font-size: 2rem; font-weight: 700; color: var(--verde-profondo); margin-bottom: 1rem; }
    .cta-section p { font-size: 1rem; color: var(--grigio-muted); margin-bottom: 2rem; }
    .cta-btns { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

    /* ─── FOOTER ─────────────────────────────────────────────── */
    
    
    
    

    /* ─── FADE IN ────────────────────────────────────────────── */
    .fade-in { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
    .fade-in.visible { opacity: 1; transform: none; }

    /* ─── STATS STRIP ───────────────────────────────────────── */
    .stats-strip {
      background: var(--verde-profondo);
      padding: 1.4rem 5%;
      display: flex; gap: 0; justify-content: center; flex-wrap: wrap;
    }
    .stat-item {
      flex: 1; min-width: 140px; max-width: 220px;
      text-align: center; padding: .7rem 1.2rem;
      border-right: 1px solid rgba(255,255,255,.15);
      color: #fff;
    }
    .stat-item:last-child { border-right: none; }
    .stat-num {
      font-family: 'Lora', serif; font-size: 1.8rem;
      font-weight: 700; color: var(--verde-chiaro);
      line-height: 1; margin-bottom: .25rem;
    }
    .stat-label { font-size: .76rem; font-weight: 500; opacity: .82; letter-spacing: .04em; }

    /* ─── AGGIORNAMENTI ─────────────────────────────────────── */
    .aggiornamenti { background: var(--bianco-panna); padding: 5rem 5%; }
    .ag-grid {
      display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 1.4rem; max-width: 1100px; margin: 0 auto 2.5rem;
    }
    .ag-card {
      background: #fff; border-radius: 1.2rem;
      padding: 1.8rem; border: 1.5px solid var(--verde-chiaro);
      position: relative; overflow: hidden;
      transition: transform .25s, box-shadow .25s;
    }
    .ag-card:hover { transform: translateY(-3px); box-shadow: 0 8px 28px var(--ombra); }
    .ag-tag {
      display: inline-flex; align-items: center; gap: .35rem;
      font-size: .7rem; font-weight: 700; letter-spacing: .1em;
      text-transform: uppercase; background: var(--verde-pastello);
      color: var(--verde-profondo); padding: .2rem .7rem;
      border-radius: 100px; margin-bottom: 1rem;
    }
    .ag-card h3 { font-family: 'Lora', serif; font-size: 1.05rem; color: var(--verde-profondo); margin-bottom: .6rem; }
    .ag-card p { font-size: .9rem; color: var(--grigio-muted); line-height: 1.6; }
    .ag-card .ag-link {
      display: inline-flex; align-items: center; gap: .3rem;
      font-size: .82rem; font-weight: 600; color: var(--verde-profondo);
      text-decoration: none; margin-top: 1rem;
    }
    .ag-card .ag-link:hover { color: var(--verde-medio); }
    .ag-card::before {
      content: ''; position: absolute; top: 0; left: 0;
      width: 4px; height: 100%; background: var(--verde-medio);
    }
    .ag-cta { text-align: center; }
    .ag-cta a {
      display: inline-flex; align-items: center; gap: .5rem;
      color: var(--verde-profondo); font-weight: 600; font-size: .9rem;
      text-decoration: none; border-bottom: 2px solid var(--verde-chiaro);
      padding-bottom: 2px; transition: border-color .2s;
    }
    .ag-cta a:hover { border-color: var(--verde-profondo); }

    /* ─── MANDATO ───────────────────────────────────────────── */
    .mandato {
      background: linear-gradient(135deg, var(--verde-profondo) 0%, #0f2340 100%);
      padding: 5rem 5%; text-align: center; color: #fff;
      position: relative; overflow: hidden;
    }
    .mandato::before {
      content: '"'; font-family: 'Lora', serif; font-size: 14rem;
      color: rgba(255,255,255,.06); position: absolute;
      top: -3rem; left: 5%; line-height: 1; pointer-events: none;
    }
    .mandato blockquote {
      max-width: 760px; margin: 0 auto;
      font-family: 'Lora', serif; font-size: clamp(1.25rem, 2.5vw, 1.65rem);
      font-style: italic; line-height: 1.65; color: rgba(255,255,255,.92);
      position: relative; z-index: 1;
    }
    .mandato cite {
      display: block; margin-top: 1.5rem;
      font-family: 'DM Sans', sans-serif; font-size: .85rem;
      font-style: normal; color: var(--verde-chiaro); letter-spacing: .06em;
      text-transform: uppercase;
    }

    /* ─── STRUMENTI ─────────────────────────────────────────── */
    .strumenti { background: var(--verde-pastello); padding: 5rem 5%; }
    .strumenti-grid {
      display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
      gap: 1.4rem; max-width: 1100px; margin: 0 auto;
    }
    .strumento-card {
      background: #fff; border-radius: 1.2rem; padding: 1.8rem 1.6rem;
      display: flex; gap: 1.1rem; align-items: flex-start;
      border: 1.5px solid rgba(45,106,79,.12);
      transition: transform .25s, box-shadow .25s;
    }
    .strumento-card:hover { transform: translateY(-3px); box-shadow: 0 8px 28px var(--ombra); }
    .strumento-icon {
      width: 46px; height: 46px; flex-shrink: 0;
      background: var(--verde-pastello); border-radius: 12px;
      display: flex; align-items: center; justify-content: center;
      color: var(--verde-profondo);
    }
    .strumento-card h3 { font-size: 1rem; font-weight: 700; color: var(--verde-profondo); margin-bottom: .35rem; }
    .strumento-card p { font-size: .88rem; color: var(--grigio-muted); line-height: 1.55; }

    /* ─── BLOG PREVIEW ──────────────────────────────────────── */
    .blog-preview { background: var(--bianco-panna); padding: 5rem 5%; }
    .blog-preview-grid {
      display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 1.8rem; max-width: 1100px; margin: 0 auto 2.8rem;
    }
    /* Card moderna stile magazine */
    .bp-card {
      border-radius: 20px; overflow: hidden;
      background: #fff;
      box-shadow: 0 4px 24px rgba(30,58,95,.10);
      transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s;
      display: flex; flex-direction: column;
      border: none;
    }
    .bp-card:hover { transform: translateY(-6px); box-shadow: 0 16px 48px rgba(30,58,95,.16); }
    /* Immagine superiore */
    .bp-img {
      height: 200px; position: relative; overflow: hidden; flex-shrink: 0;
    }
    .bp-img-inner {
      position: absolute; inset: 0;
      background-size: cover; background-position: center;
      transition: transform .4s ease;
    }
    .bp-card:hover .bp-img-inner { transform: scale(1.04); }
    .bp-img-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(to bottom, transparent 40%, rgba(30,58,95,.35) 100%);
    }
    /* Contenuto card */
    .bp-content { padding: 1.4rem 1.5rem 1.2rem; display: flex; flex-direction: column; flex: 1; }
    /* Autore */
    .bp-author {
      display: flex; align-items: center; gap: .7rem; margin-bottom: .9rem;
    }
    .bp-avatar {
      width: 34px; height: 34px; border-radius: 50%;
      background: var(--azzurro-chiaro);
      display: flex; align-items: center; justify-content: center;
      font-size: .65rem; font-weight: 800; color: var(--azzurro-medio);
      flex-shrink: 0; border: 2px solid #fff;
      box-shadow: 0 1px 6px rgba(90,156,191,.25);
    }
    .bp-meta {
      display: flex; align-items: center; gap: .3rem; flex-wrap: wrap;
      font-size: .79rem; color: var(--grigio-muted);
    }
    .bp-name { font-weight: 600; color: var(--grigio-testo); }
    .bp-dot { opacity: .4; font-size: .85rem; }
    /* Titolo in corsivo Lora */
    .bp-content h3 {
      font-family: 'Lora', serif; font-style: italic;
      font-size: 1.18rem; line-height: 1.4;
      color: #1a1a2e; margin-bottom: .65rem;
    }
    .bp-content p {
      font-size: .87rem; color: var(--grigio-muted);
      line-height: 1.65; flex: 1;
    }
    /* Divisore */
    .bp-divider {
      border: none; border-top: 1px solid #e8ecf0;
      margin: 1rem 0 .75rem;
    }
    /* Stats inferiori */
    .bp-stats {
      display: flex; align-items: center; gap: 1.1rem;
      font-size: .82rem; color: var(--grigio-muted);
    }
    .bp-stat {
      display: flex; align-items: center; gap: .3rem;
    }
    .bp-stat svg { opacity: .6; }
    .bp-like { margin-left: auto; color: #f87171; cursor: pointer; font-size: .88rem; }
    /* CTA */
    .bp-cta { text-align: center; }
    .bp-cta a {
      display: inline-flex; align-items: center; gap: .5rem;
      background: var(--azzurro-chiaro); color: var(--azzurro-medio);
      font-weight: 600; font-size: .9rem; text-decoration: none;
      padding: .78rem 2rem; border-radius: 100px;
      border: 1.5px solid var(--azzurro); transition: all .2s;
    }
    .bp-cta a:hover { background: var(--azzurro-medio); color: #fff; border-color: var(--azzurro-medio); }

    /* ─── FAQ PRO ───────────────────────────────────────────── */
    .faq-pro { background: var(--bianco-panna); padding: 5rem 5%; }
    .faq-pro-grid { max-width: 800px; margin: 0 auto; }
    .faqp-item { border-bottom: 1.5px solid var(--verde-chiaro); }
    .faqp-q {
      display: flex; justify-content: space-between; align-items: center;
      padding: 1.2rem 0; cursor: pointer;
      font-weight: 600; color: var(--verde-profondo); font-size: .97rem;
      gap: 1rem;
    }
    .faqp-q .ic { flex-shrink: 0; transition: transform .3s; color: var(--verde-medio); }
    .faqp-q.open .ic { transform: rotate(180deg); }
    .faqp-a {
      display: none; padding-bottom: 1.2rem;
      font-size: .93rem; color: var(--grigio-muted); line-height: 1.7;
    }
    .faqp-a.open { display: block; }

    @media (max-width: 680px) {
      .percorsi-grid { grid-template-columns: 1fr; }
      .hero-btns { flex-direction: column; align-items: center; }
      .stats-strip { flex-direction: column; }
      .stat-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,.15); }
      .stat-item:last-child { border-bottom: none; }
    }

    /* ══════════════════════════════════════════════════════
       SEZIONE: IL PERCORSO DI STUDI
    ══════════════════════════════════════════════════════ */
    .percorso-studi { padding: 5rem 5% 0; background: var(--bianco-panna); }
    .percorso-studi > .section-label,
    .percorso-studi > .section-title,
    .percorso-studi > .section-sub { max-width: 700px; }

    /* ── Hero path timeline ── */
    .ps-path-box {
      margin-top: 2rem; margin-bottom: 0;
      background: rgba(255,255,255,.95);
      backdrop-filter: blur(10px);
      border-radius: 18px;
      padding: 1.4rem 1.8rem 1.2rem;
      border: 1.5px solid var(--azzurro-chiaro);
      box-shadow: 0 8px 32px var(--ombra-az);
      display: inline-block; max-width: 100%;
    }
    .ps-path { display:flex; align-items:center; overflow-x:auto; gap:0;
      -webkit-overflow-scrolling:touch; padding-bottom:.2rem; }
    .ps-path::-webkit-scrollbar { height:3px; }
    .ps-path::-webkit-scrollbar-track { background:rgba(45,114,168,.1); border-radius:4px; }
    .ps-path::-webkit-scrollbar-thumb { background:rgba(45,114,168,.3); border-radius:4px; }
    .ps-step { display:flex; align-items:center; flex-shrink:0; }
    .ps-node { display:flex; flex-direction:column; align-items:center; gap:.4rem; width:88px; cursor:default; }
    .ps-circle {
      width:50px; height:50px; border-radius:50%;
      display:flex; align-items:center; justify-content:center;
      background: #2d72a8; color:#fff;
      border:2.5px solid #fff;
      box-shadow:0 3px 12px rgba(45,114,168,.35);
      transition:transform .25s, box-shadow .25s;
    }
    .ps-node:hover .ps-circle { transform:scale(1.08); box-shadow:0 6px 20px rgba(45,114,168,.45); }
    .ps-circle.c-m  { background:#1e3a5f; box-shadow:0 4px 16px rgba(17,32,64,.4); }
    .ps-circle.c-c  { background:#4a8ab8; }
    .ps-label { font-size:.68rem; font-weight:600; text-align:center; line-height:1.3; color:#1e3a5f; max-width:86px; }
    .ps-label em { font-style:normal; font-size:.63rem; display:block; margin-top:.15rem; color:#2d72a8; font-weight:500; }
    .ps-arrow { width:20px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
      margin-top:-20px; color:#9bbdd6; font-size:1.1rem; }
    @media(max-width:680px) { .ps-node{width:72px;} .ps-circle{width:42px;height:42px;} .ps-label{font-size:.62rem;} }

    /* ── Tabs ── */
    .ps-tabs-nav {
      background:#fff; border-bottom:2px solid var(--azzurro-chiaro);
      display:flex; gap:0; padding:0 5%; overflow-x:auto;
      position:sticky; top:68px; z-index:10;
    }
    .ps-tab-btn {
      padding:.9rem 1.4rem; font-family:'DM Sans',sans-serif; font-size:.88rem; font-weight:600;
      color:var(--grigio-muted); background:none; border:none;
      border-bottom:3px solid transparent; margin-bottom:-2px;
      cursor:pointer; transition:color .25s, border-color .25s; white-space:nowrap;
    }
    .ps-tab-btn:hover  { color:var(--azzurro-medio); }
    .ps-tab-btn.active { color:var(--azzurro-medio); border-bottom-color:var(--azzurro-medio); }
    .ps-tab-panel { display:none; } .ps-tab-panel.active { display:block; }

    /* ── Shared panel helpers ── */
    .ps-panel-section { padding:3.5rem 5%; }
    .ps-info-box {
      background:var(--azzurro-chiaro); border-left:4px solid var(--azzurro-medio);
      border-radius:0 1rem 1rem 0; padding:1.2rem 1.5rem; margin:1.5rem 0; max-width:700px;
    }
    .ps-info-box p  { font-size:.9rem; color:var(--grigio-testo); line-height:1.65; }
    .ps-info-box strong { color:var(--azzurro-medio); }

    /* ── Tab 1: Iscrizione ── */
    .ps-iscr-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; max-width:1000px; align-items:start; }
    .ps-iscr-text p { font-size:.95rem; color:var(--grigio-muted); line-height:1.75; margin-bottom:1rem; }
    .ps-req-box { background:var(--azzurro-chiaro); border-radius:1.2rem; padding:1.6rem; border:1.5px solid var(--azzurro); }
    .ps-req-box h4 { font-family:'Lora',serif; font-size:1.05rem; font-weight:700; color:var(--verde-profondo); margin-bottom:1rem; }
    .ps-req-list { display:flex; flex-direction:column; gap:.6rem; }
    .ps-req-item { display:flex; align-items:center; gap:.6rem; font-size:.9rem; color:var(--grigio-testo); }
    .ps-req-item .ic { width:17px; height:17px; color:var(--verde-medio); }
    @media(max-width:680px) { .ps-iscr-grid { grid-template-columns:1fr; } }

    /* ── Tab 2: Corsi ── */
    .ps-corsi-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.8rem; max-width:1000px; }
    .ps-corso-card { border-radius:1.5rem; overflow:hidden; box-shadow:0 4px 24px var(--ombra-az); }
    .ps-corso-header { padding:1.8rem 1.8rem 1.2rem; display:flex; flex-direction:column; gap:.6rem; }
    .ps-corso-card.triennale .ps-corso-header { background:linear-gradient(135deg,var(--azzurro-chiaro),#dbeafe); }
    .ps-corso-card.magistrale .ps-corso-header { background:linear-gradient(135deg,var(--verde-pastello),var(--azzurro-chiaro)); }
    .ps-corso-badge { font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.08em; padding:.2rem .7rem; border-radius:100px; align-self:flex-start; }
    .ps-corso-card.triennale .ps-corso-badge { background:#dbeafe; color:#1e40af; }
    .ps-corso-card.magistrale .ps-corso-badge { background:var(--verde-pastello); color:var(--verde-profondo); }
    .ps-corso-header h3 { font-family:'Lora',serif; font-size:1.25rem; font-weight:700; color:var(--verde-profondo); }
    .ps-corso-header .durata { font-size:.85rem; color:var(--grigio-muted); }
    .ps-corso-body { background:#fff; padding:1.5rem 1.8rem; display:flex; flex-direction:column; gap:1rem; }
    .ps-corso-body p { font-size:.91rem; color:var(--grigio-muted); line-height:1.65; }
    .ps-corso-info { display:flex; flex-wrap:wrap; gap:.5rem; }
    .ps-info-pill { font-size:.8rem; font-weight:600; background:var(--bianco-panna); border:1px solid var(--azzurro-chiaro); color:var(--grigio-testo); padding:.22rem .7rem; border-radius:100px; }
    .ps-req-list-inline { display:flex; flex-direction:column; gap:.5rem; margin-top:.5rem; }
    .ps-req-list-inline .ps-req-item { font-size:.88rem; }
    @media(max-width:680px) { .ps-corsi-grid { grid-template-columns:1fr; } }

    /* ── Tab 3: Esame di Stato ── */
    .ps-esame-bg { background:#fff; }
    .ps-sez-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.8rem; max-width:1000px; margin-top:1.5rem; }
    .ps-sez-card { border-radius:1.5rem; border:2px solid; overflow:hidden; }
    .ps-sez-card.sez-a { border-color:var(--azzurro); }
    .ps-sez-card.sez-b { border-color:var(--verde-chiaro); }
    .ps-sez-header { padding:1.5rem 1.8rem; }
    .ps-sez-card.sez-a .ps-sez-header { background:var(--azzurro-chiaro); }
    .ps-sez-card.sez-b .ps-sez-header { background:var(--verde-pastello); }
    .ps-sez-label { font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.1em; margin-bottom:.4rem; }
    .ps-sez-card.sez-a .ps-sez-label { color:var(--azzurro-medio); }
    .ps-sez-card.sez-b .ps-sez-label { color:var(--verde-profondo); }
    .ps-sez-header h3 { font-family:'Lora',serif; font-size:1.2rem; font-weight:700; color:var(--verde-profondo); }
    .ps-sez-body { padding:1.5rem 1.8rem; background:#fff; display:flex; flex-direction:column; gap:1rem; }
    .ps-sez-body p { font-size:.9rem; color:var(--grigio-muted); line-height:1.65; }
    .ps-sez-list { display:flex; flex-direction:column; gap:.55rem; }
    .ps-sez-list li { font-size:.88rem; color:var(--grigio-testo); padding-left:1.2rem; position:relative; line-height:1.55; }
    .ps-sez-list li::before { content:"•"; position:absolute; left:0; }
    .ps-sez-card.sez-a .ps-sez-list li::before { color:var(--azzurro-medio); }
    .ps-sez-card.sez-b .ps-sez-list li::before { color:var(--verde-medio); }
    .ps-sez-tag { display:inline-flex; align-items:center; gap:.4rem; margin-top:.4rem; font-size:.78rem; font-weight:600; padding:.2rem .7rem; border-radius:100px; }
    .ps-sez-card.sez-a .ps-sez-tag { background:var(--azzurro-chiaro); color:var(--azzurro-medio); }
    .ps-sez-card.sez-b .ps-sez-tag { background:var(--verde-pastello); color:var(--verde-profondo); }
    @media(max-width:680px) { .ps-sez-grid { grid-template-columns:1fr; } }
    .ps-prove-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1.2rem; max-width:1000px; margin-top:1.5rem; }
    .ps-prova-item { background:var(--bianco-panna); border-radius:1.2rem; padding:1.5rem; border:1.5px solid var(--azzurro-chiaro); }
    .ps-prova-num { font-family:'Lora',serif; font-size:2rem; font-weight:700; color:var(--azzurro-medio); line-height:1; margin-bottom:.5rem; }
    .ps-prova-item h4 { font-size:.97rem; font-weight:600; color:var(--verde-profondo); margin-bottom:.4rem; }
    .ps-prova-item p { font-size:.85rem; color:var(--grigio-muted); line-height:1.55; }

    /* ── Tab 4: Inserimento ── */
    .ps-sbocchi-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.5rem; max-width:1100px; margin-top:2rem; }
    .ps-sbocco-card { background:rgba(255,255,255,.9); backdrop-filter:blur(8px); border-radius:1.5rem; padding:2rem 1.8rem; box-shadow:0 4px 24px var(--ombra-az); border:1.5px solid rgba(255,255,255,.7); transition:transform .3s, box-shadow .3s; }
    .ps-sbocco-card:hover { transform:translateY(-5px); box-shadow:0 12px 40px rgba(90,156,191,.18); }
    .ps-sbocco-icon { width:52px; height:64px; border-radius:1rem; display:flex; align-items:center; justify-content:center; margin-bottom:1rem; }
    .ps-sbocco-card.pub  .ps-sbocco-icon { background:#dbeafe; color:#1e40af; }
    .ps-sbocco-card.priv .ps-sbocco-icon { background:var(--verde-pastello); color:var(--verde-profondo); }
    .ps-sbocco-card.lib  .ps-sbocco-icon { background:#fef9c3; color:#92400e; }
    .ps-sbocco-card.coop .ps-sbocco-icon { background:#ede9fe; color:#5b21b6; }
    .ps-sbocco-card h3 { font-family:'Lora',serif; font-size:1.1rem; font-weight:700; color:var(--verde-profondo); margin-bottom:.6rem; }
    .ps-sbocco-card p  { font-size:.88rem; color:var(--grigio-muted); line-height:1.65; margin-bottom:.7rem; }
    .ps-sbocco-esempi  { font-size:.81rem; color:var(--grigio-muted); font-style:italic; }
    .ps-sbocco-tags { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.6rem; }
    .ps-sbocco-tag { font-size:.73rem; font-weight:600; padding:.18rem .6rem; border-radius:100px; }
    .ps-sbocco-card.pub  .ps-sbocco-tag { background:#dbeafe; color:#1e40af; }
    .ps-sbocco-card.priv .ps-sbocco-tag { background:var(--verde-pastello); color:var(--verde-profondo); }
    .ps-sbocco-card.lib  .ps-sbocco-tag { background:#fef9c3; color:#92400e; }
    .ps-sbocco-card.coop .ps-sbocco-tag { background:#ede9fe; color:#5b21b6; }
    /* Timeline verticale */
    .ps-tl-wrap { max-width:700px; margin-top:2rem; position:relative; }
    .ps-tl-wrap::before { content:''; position:absolute; left:22px; top:0; bottom:0; width:2px; background:linear-gradient(180deg,var(--azzurro),var(--verde-chiaro)); border-radius:2px; }
    .ps-tl-item { display:flex; gap:1.5rem; padding-bottom:2rem; position:relative; }
    .ps-tl-dot { width:46px; height:46px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-family:'Lora',serif; font-size:1.1rem; font-weight:700; z-index:1; border:3px solid #fff; box-shadow:0 0 0 2px var(--azzurro); }
    .ps-tl-item:nth-child(1) .ps-tl-dot { background:#dbeafe; color:#1e3a5f; }
    .ps-tl-item:nth-child(2) .ps-tl-dot { background:#c7e0f8; color:#1e40af; }
    .ps-tl-item:nth-child(3) .ps-tl-dot { background:linear-gradient(135deg,#2d72a8,#1e3a5f); color:#fff; }
    .ps-tl-item:nth-child(4) .ps-tl-dot { background:#c7e0f8; color:#1e3a5f; }
    .ps-tl-item:nth-child(5) .ps-tl-dot { background:linear-gradient(135deg,#1a5f9c,#0d2d5a); color:#fff; }
    .ps-tl-item:nth-child(6) .ps-tl-dot { background:linear-gradient(135deg,#5ba4d4,#3a7ab5); color:#fff; }
    .ps-tl-body { padding-top:.3rem; }
    .ps-tl-body h4 { font-family:'Lora',serif; font-size:1.05rem; font-weight:700; color:var(--verde-profondo); margin-bottom:.3rem; }
    .ps-tl-body p  { font-size:.88rem; color:var(--grigio-muted); line-height:1.6; }
    .ps-tl-anno { display:inline-block; font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--azzurro-medio); margin-bottom:.3rem; }
    /* CTA link in fondo alla sezione */
    .ps-cta-link { display:flex; justify-content:center; padding:2rem 5% 3.5rem; }
    .ps-cta-link a { display:inline-flex; align-items:center; gap:.5rem; background:var(--azzurro-medio); color:#fff; font-size:.95rem; font-weight:600; padding:.85rem 2rem; border-radius:100px; text-decoration:none; transition:background .2s, transform .2s; }
    .ps-cta-link a:hover { background:var(--verde-profondo); transform:translateY(-2px); }
  



footer.footer-main{background:#091629;color:rgba(255,255,255,.65);padding:4rem 5% 0;font-size:.88rem;line-height:1.7;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:3rem;max-width:1100px;margin:0 auto 3rem;}
.footer-brand-logo{font-family:'Lora',serif;font-weight:700;font-size:1.15rem;color:#fff;display:flex;align-items:center;gap:.5rem;text-decoration:none;margin-bottom:1rem;}
.footer-brand-logo svg,.footer-brand-logo span{color:#5a9cbf;}
.footer-brand p{font-size:.85rem;line-height:1.7;max-width:280px;}
.footer-brand-badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(90,156,191,.12);border:1px solid rgba(90,156,191,.25);border-radius:2rem;padding:.35rem .85rem;font-size:.78rem;color:#5a9cbf;margin-top:1.2rem;}
.footer-col-title{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:1rem;}
.footer-nav-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.55rem;}
.footer-nav-list a{color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s;}
.footer-nav-list a:hover{color:#b0d0e8;}
.footer-info-item{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.7rem;font-size:.84rem;}
.footer-info-item svg{flex-shrink:0;color:#5a9cbf;margin-top:.15rem;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.4rem 0;max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;font-size:.78rem;color:rgba(255,255,255,.35);}
.footer-bottom-links{display:flex;gap:1.4rem;}
.footer-bottom-links a{color:rgba(255,255,255,.4);text-decoration:none;transition:color .2s;}
.footer-bottom-links a:hover{color:#5a9cbf;}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr;gap:2rem;}.footer-bottom{flex-direction:column;text-align:center;}}


    /* ─── HAMBURGER NAV (responsive) ─────────────────────── */
    .nav-hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      cursor: pointer;
      background: none;
      border: none;
      padding: .4rem;
      border-radius: .4rem;
      transition: background .2s;
    }
    .nav-hamburger:hover { background: rgba(45,114,168,.15); }
    .nav-hamburger span {
      display: block;
      width: 24px; height: 2px;
      background: var(--navy, #112040);
      border-radius: 2px;
      transition: transform .3s, opacity .3s;
    }
    .nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2) { opacity: 0; }
    .nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    @media (max-width: 820px) {
      .nav-hamburger { display: flex; }
      .nav-switch { display: none !important; }
      .nav-links {
        display: none !important;
        position: fixed;
        top: 60px; left: 0; right: 0;
        background: rgba(249,247,242,.98);
        backdrop-filter: blur(12px);
        flex-direction: column !important;
        align-items: flex-start;
        gap: 0 !important;
        padding: 1rem 0 1.5rem;
        border-bottom: 2px solid #b7cde8;
        z-index: 99;
        box-shadow: 0 8px 24px rgba(0,0,0,.1);
      }
      .nav-links.open { display: flex !important; }
      .nav-links li { width: 100%; }
      .nav-links a {
        display: block;
        padding: .85rem 5%;
        font-size: 1rem !important;
        border-bottom: 1px solid #d0dff0;
        color: var(--navy, #112040) !important;
      }
      .nav-links li:last-child a { border-bottom: none; }
    }

  
    @media (max-width: 820px) {
      .pro-hero { flex-direction: column; text-align: center; }
      .pro-grid { grid-template-columns: 1fr; }
      .ps-cards-grid { grid-template-columns: 1fr 1fr; }
      .ps-tabs-inner { padding: 2rem 5%; }
      .ps-tab-content { flex-direction: column; }
      .ps-tab-img { max-width: 100%; }
    }
    @media (max-width: 500px) {
      .ps-cards-grid { grid-template-columns: 1fr; }
      .ps-tags { flex-wrap: wrap; }
    }

  
    @media (max-width: 820px) {
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
    }
    @media (max-width: 500px) {
      .footer-grid { grid-template-columns: 1fr; gap: 1.5rem; }
    }

  
    /* ═══════════════════════════════════════════════════
       BOTTOM TAB BAR — solo mobile (≤768px)
    ═══════════════════════════════════════════════════ */
    @media (max-width: 768px) {
      .nav-hamburger { display: none !important; }
      .nav-links      { display: none !important; }
      .nav-links.open { display: none !important; }
      .nav-switch     { display: none !important; }
      body { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important; }

      .bottom-nav {
        display: flex !important;
        position: fixed !important;
        bottom: 0 !important; left: 0 !important; right: 0 !important;
        height: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
        background: #ffffff !important;
        border-top: 2px solid #b7cde8 !important;
        box-shadow: 0 -2px 16px rgba(17,32,64,.15) !important;
        z-index: 99999 !important;
        align-items: stretch !important;
      }
      .bnav-tab {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        text-decoration: none !important;
        color: #4a6080 !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        padding: .2rem .1rem !important;
        border-top: 3px solid transparent !important;
        -webkit-tap-highlight-color: transparent;
        height: 100%;
        box-sizing: border-box;
      }
      .bnav-tab svg {
        display: block !important;
        width: 22px !important; height: 22px !important;
        stroke: currentColor !important;
        stroke-width: 1.7 !important;
        fill: none !important;
        flex-shrink: 0 !important;
      }
      .bnav-tab span {
        display: block !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        color: inherit !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
        height: auto !important;
        background: none !important;
        max-width: 100% !important;
        text-align: center !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        padding: 0 2px !important;
        font-weight: 600 !important;
        font-family: 'DM Sans', sans-serif !important;
        letter-spacing: 0 !important;
        border-radius: 0 !important;
        transform: none !important;
      }
      .bnav-tab:active { background: #e5edf8 !important; }
      .bnav-tab.bnav-active {
        color: #0f2a4a !important;
        border-top: 3px solid #2d72a8 !important;
        background: #e8f0f9 !important;
        font-weight: 700 !important;
      }
      .bnav-tab.bnav-active svg { stroke: #0f2a4a !important; }
      .bnav-tab.bnav-active span { color: #0f2a4a !important; font-weight: 700 !important; }
      .bnav-tab.bnav-switch {
        color: #2d6a4f !important;
        border-left: 1px solid #d0e8d8 !important;
      }
      .bnav-tab.bnav-switch svg { stroke: #2d6a4f !important; }
      .bnav-tab.bnav-switch span { color: #2d6a4f !important; }
      nav { padding: .6rem 4% !important; }
    }
    @media (min-width: 769px) { .bottom-nav { display: none !important; } }

    /* ─── STATS FIX mobile ── */
    @media (max-width: 600px) {
      .stats-strip {
        flex-direction: row !important;
        flex-wrap: wrap;
        padding: 1.2rem 4%;
        gap: 0;
        justify-content: center;
      }
      .stat-item {
        flex: 0 0 50%;
        max-width: 50%;
        border-right: none !important;
        border-bottom: 1px solid rgba(255,255,255,.12);
        padding: .9rem .6rem;
      }
      .stat-item:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.12) !important; }
      .stat-item:nth-last-child(-n+2) { border-bottom: none; }
      .stat-num { font-size: 1.7rem; }
      .stat-label { font-size: .72rem; }
    }

  

/* ═══ COSA TROVI QUI ═══════════════════════════════════════ */
.cth-section { padding: 5rem 5%; background: #fff; }
.cth-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.8rem;
  max-width: 1100px;
  margin-top: 2.5rem;
}
@media(max-width:860px){ .cth-grid { grid-template-columns: 1fr; max-width: 500px; } }
.cth-card {
  display: flex;
  gap: 1.4rem;
  align-items: flex-start;
  background: var(--bianco-panna);
  border: 1.5px solid rgba(45,106,79,.1);
  border-radius: 1.4rem;
  padding: 2rem 1.8rem;
  text-decoration: none;
  color: inherit;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.cth-card:hover { transform: translateY(-6px); box-shadow: 0 12px 40px rgba(45,106,79,.13); border-color: var(--verde-medio); }
.cth-icon {
  width: 56px; height: 56px; border-radius: 1rem;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.cth-card.guide .cth-icon    { background: linear-gradient(135deg,#dbeafe,#bfdbfe); color: #1e40af; }
.cth-card.biblioteca .cth-icon { background: linear-gradient(135deg,var(--verde-pastello),var(--verde-chiaro)); color: var(--verde-profondo); }
.cth-card.strumenti .cth-icon { background: linear-gradient(135deg,#f0e6ff,#d8b4fe); color: #6d28d9; }
.cth-body h3 { font-family: 'Lora',serif; font-size: 1.15rem; font-weight: 700; color: var(--verde-profondo); margin-bottom: .5rem; }
.cth-body p  { font-size: .9rem; color: var(--grigio-muted); line-height: 1.65; margin-bottom: .9rem; }
.cth-link    { font-size: .85rem; font-weight: 700; color: var(--azzurro-medio); display: flex; align-items: center; gap: .3rem; transition: gap .2s; }
.cth-card:hover .cth-link { gap: .55rem; }

/* ═══ SIMULATORE SPOTLIGHT ══════════════════════════════════ */
.sim-spotlight {
  background: linear-gradient(135deg, #0f2a4a 0%, #1a4a7a 50%, #0d3b2e 100%);
  padding: 5rem 5%;
}
.sim-spotlight-inner {
  max-width: 1100px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center;
}
@media(max-width:860px){ .sim-spotlight-inner { grid-template-columns: 1fr; gap: 2.5rem; } .sim-preview { order: -1; } }
.sim-bullets { list-style: none; display: flex; flex-direction: column; gap: .8rem; margin-bottom: 2rem; }
.sim-bullets li { display: flex; align-items: flex-start; gap: .7rem; color: rgba(255,255,255,.85); font-size: .95rem; line-height: 1.5; }
.sim-bullets li svg { color: #52b788; flex-shrink: 0; margin-top: .15rem; }
.sim-cta { background: #52b788 !important; border-color: #52b788 !important; color: #0f2a4a !important; font-weight: 700 !important; }
.sim-cta:hover { background: #74c69d !important; }

/* Phone mock */
.sim-phone {
  background: #1e293b; border-radius: 1.5rem;
  border: 2px solid rgba(255,255,255,.12);
  overflow: hidden; max-width: 340px; margin: 0 auto;
  box-shadow: 0 24px 60px rgba(0,0,0,.5);
}
.sim-phone-bar {
  background: #0f172a; padding: .6rem 1rem;
  display: flex; align-items: center; gap: .4rem;
}
.sim-dot { width: 8px; height: 8px; border-radius: 50%; background: #334155; }
.sim-phone-title { font-size: .72rem; font-weight: 600; color: rgba(255,255,255,.4); margin-left: auto; }
.sim-chat { padding: 1rem; display: flex; flex-direction: column; gap: .7rem; min-height: 300px; }
.sim-msg {
  padding: .65rem .9rem; border-radius: 1rem; font-size: .82rem; line-height: 1.5;
  opacity: 0; /* parte invisibile — JS aggiunge .sim-play per avviare */
}
.sim-msg-system { background: rgba(82,183,136,.15); color: #74c69d; border-radius: .6rem; font-size: .75rem; }
.sim-msg-user   { background: #2d72a8; color: #fff; align-self: flex-end; border-bottom-right-radius: .2rem; }
.sim-msg-bot    { background: #1e293b; color: rgba(255,255,255,.85); border: 1px solid rgba(255,255,255,.08); border-bottom-left-radius: .2rem; }
.sim-feedback   { display: flex; align-items: center; gap: .4rem; font-size: .72rem; font-weight: 600; color: #52b788; background: rgba(82,183,136,.1); padding: .4rem .7rem; border-radius: .5rem; opacity: 0; }
@keyframes fadeSlideUp { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
/* Le animazioni partono SOLO quando il genitore ha classe .sim-play (aggiunta da JS) */
.sim-play .sim-anim-1 { animation: fadeSlideUp .5s ease forwards; animation-delay: .3s; }
.sim-play .sim-anim-2 { animation: fadeSlideUp .5s ease forwards; animation-delay: 1.2s; }
.sim-play .sim-anim-3 { animation: fadeSlideUp .5s ease forwards; animation-delay: 2.2s; }
.sim-play .sim-anim-4 { animation: fadeSlideUp .5s ease forwards; animation-delay: 3.3s; }
.sim-play .sim-anim-5 { animation: fadeSlideUp .5s ease forwards; animation-delay: 4.4s; }
.sim-play .sim-anim-6 { animation: fadeSlideUp .5s ease forwards; animation-delay: 5.4s; }


/* ═══ VIDEO CARD COMING SOON ════════════════════════════════ */
.cth-card.video .cth-icon { background: linear-gradient(135deg,#fef3c7,#fde68a); color: #92400e; }
.cth-soon-badge { display:inline-block; background:#fef3c7; color:#92400e; border:1.5px solid #fde68a; border-radius:2rem; padding:.15rem .6rem; font-size:.7rem; font-weight:700; vertical-align:middle; margin-left:.4rem; }
.cth-card.cth-soon { opacity: .82; pointer-events: none; }

/* ═══ BIBLIOTECA PREVIEW ════════════════════════════════════ */
.bib-preview-section { padding: 5rem 5%; background: var(--bianco-panna); }
.bib-prev-header { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 1.5rem; margin-bottom: 2.5rem; max-width: 1100px; }
.bib-prev-all { display: inline-flex; align-items: center; gap: .4rem; font-size: .88rem; font-weight: 700; color: var(--azzurro-medio); text-decoration: none; white-space: nowrap; transition: gap .2s; }
.bib-prev-all:hover { gap: .65rem; }
.bib-prev-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.6rem; max-width: 1100px; }
@media(max-width:860px){ .bib-prev-grid { grid-template-columns: 1fr; } .bib-prev-header { flex-direction: column; align-items: flex-start; } }
.bib-prev-card {
  background: #fff; border: 1.5px solid rgba(45,106,79,.1); border-radius: 1.2rem;
  padding: 1.8rem; text-decoration: none; color: inherit;
  display: flex; flex-direction: column; gap: .6rem;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.bib-prev-card:hover { transform: translateY(-5px); box-shadow: 0 12px 36px rgba(45,106,79,.12); border-color: var(--verde-medio); }
.bib-prev-badges { display: flex; gap: .5rem; flex-wrap: wrap; }
.bib-prev-type { background: #f1f5f9; color: #475569; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: .2rem .6rem; border-radius: 2rem; }
.bib-prev-cat { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: .2rem .65rem; border-radius: 2rem; }
.bib-prev-cat.minori     { background:#fdf2f8; color:#9d174d; }
.bib-prev-cat.disabilita { background:#eff6ff; color:#1e40af; }
.bib-prev-cat.deontologia{ background:#e0e7ff; color:#4338ca; }
.bib-prev-card h3 { font-family: 'Lora',serif; font-size: 1.1rem; font-weight: 700; color: var(--verde-profondo); margin:0; }
.bib-prev-norm { font-size: .78rem; font-weight: 600; color: var(--grigio-muted); margin: 0; }
.bib-prev-card p { font-size: .88rem; color: var(--grigio-muted); line-height: 1.6; margin: 0; flex: 1; }
.bib-prev-link { font-size: .82rem; font-weight: 700; color: var(--azzurro-medio); display: flex; align-items: center; gap: .3rem; margin-top: .4rem; transition: gap .2s; }
.bib-prev-card:hover .bib-prev-link { gap: .55rem; }

/* ═══ SEZIONE UMANA ════════════════════════════════════════ */
.umana-section { background: linear-gradient(180deg, #fff 0%, var(--verde-pastello) 100%); padding: 5rem 5%; }
.umana-inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
@media(max-width:860px){ .umana-inner { grid-template-columns: 1fr; gap: 2.5rem; } }
.umana-source { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--verde-medio); margin-bottom: .9rem; }
.umana-quote blockquote {
  font-family: 'Lora', serif; font-size: 1.1rem; font-style: italic; line-height: 1.8;
  color: var(--verde-profondo); border-left: 3px solid var(--verde-medio); padding-left: 1.4rem;
  margin: 0 0 1.2rem;
}
.umana-sub { font-size: .9rem; color: var(--grigio-muted); line-height: 1.7; }
.umana-cards { display: flex; flex-direction: column; gap: 1.2rem; }
.umana-card { background: rgba(255,255,255,.75); backdrop-filter: blur(8px); border-radius: 1.1rem; padding: 1.3rem 1.5rem; border: 1.5px solid rgba(45,106,79,.1); }
.umana-princ { font-size: .88rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--verde-profondo); margin-bottom: .5rem; }
.umana-card p  { font-size: .87rem; color: var(--grigio-muted); line-height: 1.65; margin: 0; }
.umana-ref { display: block; margin-top: .4rem; font-size: .75rem; font-weight: 600; color: var(--verde-medio); }

/* ═══ PRONTO AD ESPLORARE ══════════════════════════════════ */
.esplora-section { padding: 5rem 5%; background: #2d4f6e; }
.esplora-section .section-label { color: #7eb8d8; }
.esplora-section .section-title { color: #fff; }
.esplora-section .section-sub   { color: rgba(255,255,255,.7); }
.esplora-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.2rem; max-width: 1100px; margin-top: 2.5rem; }
@media(max-width:900px){ .esplora-grid { grid-template-columns: 1fr 1fr; } }
@media(max-width:560px){ .esplora-grid { grid-template-columns: 1fr; } }
.esplora-card {
  display: flex; align-items: center; gap: 1rem;
  background: rgba(255,255,255,.08); border: 1.5px solid rgba(255,255,255,.15);
  border-radius: 1rem; padding: 1.2rem 1.4rem;
  text-decoration: none; color: inherit;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
}
.esplora-card:hover { transform: translateY(-4px); background: rgba(255,255,255,.15); border-color: rgba(255,255,255,.35); box-shadow: 0 8px 28px rgba(0,0,0,.2); }
.esplora-card svg { color: #7eb8d8; flex-shrink: 0; }
.esplora-card div { display: flex; flex-direction: column; gap: .2rem; }
.esplora-card strong { font-size: .95rem; color: #fff; font-weight: 700; }
.esplora-card span   { font-size: .8rem; color: rgba(255,255,255,.6); line-height: 1.45; }
.esplora-card.esplora-switch { border-color: rgba(126,184,216,.3); }
.esplora-card.esplora-switch svg { color: #74c69d; }




/* ===== Page source: risorse-pro.css ===== */



    :root {
      --verde-profondo:#2d6a4f;--verde-medio:#52b788;--verde-chiaro:#b7e4c7;
      --verde-pastello:#d8f3dc;--azzurro:#a8c5da;--azzurro-chiaro:#e0eff7;
      --azzurro-medio:#5a9cbf;--bianco-panna:#f9f7f2;
      --grigio-testo:#3a3a3a;--grigio-muted:#6b7280;
      --ombra:rgba(45,106,79,.12);--ombra-az:rgba(90,156,191,.14);
    }
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{font-family:'DM Sans',sans-serif;background:var(--bianco-panna);color:var(--grigio-testo);overflow-x:hidden;}
    .ic{display:inline-block;flex-shrink:0;line-height:0;}.ic svg{display:block;}

    /* NAV */
    nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(249,247,242,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--azzurro);display:flex;align-items:center;justify-content:space-between;padding:.9rem 5%;}
    .nav-logo{font-family:'Lora',serif;font-weight:700;font-size:1.05rem;color:#1e3a5f;text-decoration:none;display:flex;align-items:center;gap:.5rem}
    .nav-logo span{color:#5a9cbf}
    .nav-logo-img{height:32px;width:auto;display:block;}
    .nav-pro-badge{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--azzurro-chiaro);color:var(--azzurro-medio);padding:.18rem .6rem;border-radius:100px;border:1px solid var(--azzurro);margin-left:.4rem;}
    .nav-links{display:flex;gap:1.8rem;list-style:none;align-items:center;}
    .nav-links a{font-size:.88rem;font-weight:500;color:var(--grigio-testo);text-decoration:none;letter-spacing:.02em;transition:color .25s;}
    .nav-links a:hover{color:var(--azzurro-medio);}
    .nav-links a.active{color:var(--azzurro-medio);font-weight:700;border-bottom:2px solid var(--azzurro);padding-bottom:2px;}
    .nav-switch{display:flex;align-items:center;gap:.4rem;background:var(--verde-pastello);color:var(--verde-profondo);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.3rem .9rem .3rem .65rem;border-radius:100px;text-decoration:none;border:1.5px solid var(--verde-chiaro);transition:background .25s;white-space:nowrap;}
    .nav-switch:hover{background:var(--verde-chiaro);}
    .nav-switch .ic{width:15px;height:15px;}
    

    /* PAGE HEADER */
    .page-header{
      padding:8rem 5% 4rem;position:relative;overflow:hidden;
      background-color:#112040;
      background-image:
        radial-gradient(ellipse 80% 60% at 20% 15%, rgba(45,114,168,.7) 0%, transparent 60%),
        radial-gradient(ellipse 55% 65% at 82% 10%, rgba(30,58,95,.9) 0%, transparent 55%),
        radial-gradient(ellipse 50% 55% at 50% 60%, rgba(17,32,64,.6) 0%, transparent 65%),
        radial-gradient(ellipse 40% 50% at 5% 90%, rgba(90,156,191,.25) 0%, transparent 55%),
        radial-gradient(ellipse 60% 70% at 95% 85%, rgba(8,20,50,.85) 0%, transparent 55%);
    }
    .hero-blob{position:absolute;border-radius:50%;pointer-events:none;opacity:.18;filter:blur(60px);}
    .blob-1{width:500px;height:500px;background:radial-gradient(circle,#5a9cbf,transparent 70%);top:-150px;left:-100px;animation:blobFloat 14s ease-in-out infinite alternate;}
    .blob-2{width:400px;height:400px;background:radial-gradient(circle,#2d72a8,transparent 70%);bottom:-100px;right:-80px;animation:blobFloat 18s ease-in-out infinite alternate-reverse;}
    @keyframes blobFloat{0%{transform:translate(0,0) scale(1);}50%{transform:translate(30px,20px) scale(1.08);}100%{transform:translate(-20px,40px) scale(.95);}}
    .breadcrumb{font-size:.82rem;color:rgba(255,255,255,.55);margin-bottom:1.2rem;}
    .breadcrumb a{color:#8ec5e0;text-decoration:none;font-weight:600;}
    .breadcrumb a:hover{text-decoration:underline;}
    .page-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);color:#b0d0e8;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.35rem 1rem;border-radius:100px;margin-bottom:1rem;border:1.5px solid rgba(255,255,255,.2);backdrop-filter:blur(4px);}
    .page-header h1{font-family:'Lora',serif;font-size:clamp(2rem,4vw,3rem);font-weight:700;color:#fff;line-height:1.2;margin-bottom:.9rem;}
    .page-header p{font-size:1.05rem;color:rgba(255,255,255,.72);line-height:1.7;max-width:620px;}

    /* SECTION */
    section{padding:3.5rem 5%;}
    .section-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--azzurro-medio);margin-bottom:.9rem;}
    .section-title{font-family:'Lora',serif;font-size:1.85rem;font-weight:700;color:var(--verde-profondo);line-height:1.25;margin-bottom:.7rem;max-width:700px;}
    .section-sub{font-size:.97rem;color:var(--grigio-muted);line-height:1.7;max-width:660px;margin-bottom:2rem;}

    /* ─── PDF CARDS ─────────────────────────────────── */
    .pdf-section{background:#fff;}
    .pdf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.4rem;max-width:1100px;}
    .pdf-card{background:var(--bianco-panna);border-radius:1.3rem;padding:1.5rem;display:flex;gap:1rem;align-items:flex-start;border:1.5px solid var(--azzurro-chiaro);transition:transform .3s,box-shadow .3s;}
    .pdf-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px var(--ombra-az);}
    .pdf-icon{width:48px;height:48px;border-radius:.9rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;}
    .pdf-icon.red{background:#fee2e2;color:#dc2626;}
    .pdf-icon.blu{background:#dbeafe;color:#1e40af;}
    .pdf-icon.ver{background:var(--verde-pastello);color:var(--verde-profondo);}
    .pdf-icon.gio{background:#fef9c3;color:#92400e;}
    .pdf-icon.vio{background:#ede9fe;color:#5b21b6;}
    .pdf-body{flex:1;min-width:0;}
    .pdf-body h4{font-size:.97rem;font-weight:600;color:var(--verde-profondo);margin-bottom:.3rem;line-height:1.4;}
    .pdf-body p{font-size:.84rem;color:var(--grigio-muted);line-height:1.55;margin-bottom:.7rem;}
    .pdf-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;}
    .pdf-tag{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.18rem .6rem;border-radius:100px;}
    .pdf-tag.red{background:#fee2e2;color:#dc2626;}
    .pdf-tag.blu{background:#dbeafe;color:#1e40af;}
    .pdf-tag.ver{background:var(--verde-pastello);color:var(--verde-profondo);}
    .pdf-tag.gio{background:#fef9c3;color:#92400e;}
    .pdf-tag.vio{background:#ede9fe;color:#5b21b6;}
    .pdf-download{display:inline-flex;align-items:center;gap:.3rem;font-size:.82rem;font-weight:600;color:var(--azzurro-medio);text-decoration:none;padding:.25rem .7rem;border-radius:100px;border:1.5px solid var(--azzurro);background:rgba(224,239,247,.4);transition:background .2s;}
    .pdf-download:hover{background:var(--azzurro-chiaro);}

    /* ─── VIDEO YOUTUBE ─────────────────────────────── */

    .video-soon-overlay{position:absolute;inset:0;background:rgba(17,32,64,.65);backdrop-filter:blur(3px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:white;font-weight:700;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase}
    .video-soon-overlay .soon-badge{background:#f59e0b;color:#1c1917;font-size:.72rem;font-weight:800;padding:.2rem .8rem;border-radius:100px}

    .video-section{background:linear-gradient(180deg,var(--bianco-panna),var(--azzurro-chiaro));}
    .video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.6rem;max-width:1100px;}
    .video-card{background:rgba(255,255,255,.9);border-radius:1.4rem;overflow:hidden;box-shadow:0 4px 22px var(--ombra-az);transition:transform .3s;}
    .video-card:hover{transform:translateY(-5px);}
    .video-thumb{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#e5e7eb;position:relative;overflow:hidden;}
    .video-thumb-inner{width:100%;height:100%;background:linear-gradient(135deg,#1e3a5f,#2d6a4f);display:flex;align-items:center;justify-content:center;position:relative;}
    .play-btn{width:54px;height:54px;background:rgba(255,255,255,.92);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .25s,background .25s;}
    .play-btn::after{content:'';border-style:solid;border-width:10px 0 10px 18px;border-color:transparent transparent transparent #2d6a4f;margin-left:4px;}
    .video-card:hover .play-btn{transform:scale(1.1);background:#fff;}
    .video-ch-badge{position:absolute;top:.7rem;right:.7rem;background:rgba(0,0,0,.5);color:#fff;font-size:.72rem;font-weight:600;padding:.2rem .6rem;border-radius:.4rem;backdrop-filter:blur(4px);}
    .video-topic-badge{position:absolute;bottom:.7rem;left:.7rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .6rem;border-radius:.4rem;}
    .video-body{padding:1.2rem 1.4rem;}
    .video-body h4{font-size:.97rem;font-weight:600;color:var(--verde-profondo);margin-bottom:.35rem;line-height:1.4;}
    .video-body p{font-size:.85rem;color:var(--grigio-muted);line-height:1.55;margin-bottom:.8rem;}
    .video-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.84rem;font-weight:600;color:var(--azzurro-medio);text-decoration:none;}
    .video-link:hover{text-decoration:underline;}
    .video-link .ic{width:16px;height:16px;}

    /* ─── NORMATIVA ─────────────────────────────────── */
    .norm-section{background:#fff;}
    .norm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.3rem;max-width:1100px;}
    .norm-card{background:var(--bianco-panna);border-radius:1.2rem;padding:1.4rem 1.5rem;border-left:4px solid var(--azzurro-medio);transition:box-shadow .25s,transform .25s;}
    .norm-card:hover{box-shadow:0 6px 24px var(--ombra-az);transform:translateX(3px);}
    .norm-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.5rem;}
    .norm-anno{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--azzurro-medio);white-space:nowrap;padding-top:.1rem;}
    .norm-card h4{font-size:.97rem;font-weight:600;color:var(--verde-profondo);line-height:1.4;flex:1;}
    .norm-card p{font-size:.85rem;color:var(--grigio-muted);line-height:1.6;margin-bottom:.7rem;}
    .norm-new{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:#dcfce7;color:#166534;padding:.15rem .55rem;border-radius:100px;}

    /* ─── LINK UTILI ────────────────────────────────── */

    

    /* ── BIBLIOTECA GIURISPRUDENZIALE ───────────────────────── */
    .bib-section{padding:5rem 5%;background:var(--bianco-panna)}
    .bib-wrap{max-width:1100px;margin:0 auto}
    .bib-toolbar{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-bottom:2rem}
    .bib-search-wrap{flex:1;min-width:220px;position:relative}
    .bib-search-wrap svg{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--grigio-muted);pointer-events:none}
    .bib-search{width:100%;padding:.65rem .9rem .65rem 2.4rem;border:1.5px solid var(--az-chi);border-radius:100px;font-family:'DM Sans',sans-serif;font-size:.9rem;color:var(--testo);background:white;transition:border-color .2s,box-shadow .2s}
    .bib-search:focus{outline:none;border-color:var(--azzurro);box-shadow:0 0 0 3px rgba(45,114,168,.1)}
    .bib-filters{display:flex;flex-wrap:wrap;gap:.45rem}
    .bib-chip{padding:.35rem .9rem;border-radius:100px;border:1.5px solid var(--az-chi);background:white;font-size:.78rem;font-weight:600;color:var(--testo-luce);cursor:pointer;transition:all .18s;font-family:'DM Sans',sans-serif}
    .bib-chip:hover{border-color:var(--azzurro);color:var(--azzurro)}
    .bib-chip.active{background:var(--azzurro);border-color:var(--azzurro);color:white}
    .bib-chip.legge.active{background:#1e3a5f;border-color:#1e3a5f;color:white}
    .bib-chip.sentenza.active{background:#6d28d9;border-color:#6d28d9;color:white}
    .bib-count{font-size:.8rem;color:var(--grigio-muted);margin-bottom:1.2rem;font-weight:500}
    .bib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:1.2rem}
    .bib-card{background:white;border:1.5px solid var(--az-chi);border-radius:1.1rem;overflow:hidden;transition:box-shadow .22s,border-color .22s;cursor:pointer}
    .bib-card:hover{box-shadow:0 6px 24px rgba(30,58,95,.12);border-color:var(--azzurro)}
    .bib-card.open{border-color:var(--azzurro);box-shadow:0 8px 30px rgba(30,58,95,.14)}
    .bib-card[data-hidden="true"]{display:none}
    .bib-card-head{padding:1.1rem 1.3rem}
    .bib-badges{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.65rem}
    .bib-type{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .65rem;border-radius:100px}
    .bib-type.legge{background:#dbeafe;color:#1e40af}
    .bib-type.sentenza{background:#ede9fe;color:#6d28d9}
    .bib-cat{font-size:.68rem;font-weight:600;padding:.2rem .65rem;border-radius:100px}
    .bib-cat.minori{background:#fce7f3;color:#be185d}
    .bib-cat.disabilita{background:#d1fae5;color:#065f46}
    .bib-cat.welfare{background:#fef3c7;color:#92400e}
    .bib-cat.salute{background:#ecfdf5;color:#047857}
    .bib-cat.deontologia{background:#e0e7ff;color:#4338ca}
    .bib-cat.professione{background:#f3e8ff;color:#7c3aed}
    .bib-cat.immigrazione{background:#fff7ed;color:#c2410c}
    .bib-cat.dipendenze{background:#fdf4ff;color:#7e22ce}
    .bib-cat.penale{background:#fef2f2;color:#991b1b}
    .bib-card-head h4{font-size:.96rem;font-weight:700;color:var(--navy);line-height:1.35;margin-bottom:.3rem}
    .bib-anno{font-size:.78rem;color:var(--grigio-muted);font-weight:500}
    .bib-abstract{font-size:.84rem;color:#4b5563;line-height:1.65;margin-top:.5rem}
    .bib-chevron{float:right;color:var(--azzurro);font-size:.85rem;transition:transform .25s;margin-top:.15rem}
    .bib-card.open .bib-chevron{transform:rotate(180deg)}
    .bib-body{max-height:0;overflow:hidden;transition:max-height .35s ease,opacity .3s;opacity:0;border-top:1px solid var(--az-pastello)}
    .bib-card.open .bib-body{max-height:700px;opacity:1}
    .bib-body-inner{padding:1.1rem 1.3rem 1.3rem}
    .bib-section-block{margin-bottom:.9rem}
    .bib-section-block:last-child{margin-bottom:0}
    .bib-section-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--azzurro);margin-bottom:.3rem}
    .bib-section-block p{font-size:.84rem;color:#374151;line-height:1.65;margin:0}
    .bib-ref{font-size:.75rem;color:var(--grigio-muted);margin-top:.7rem;font-style:italic;border-top:1px solid var(--az-pastello);padding-top:.6rem}
    .bib-empty{text-align:center;padding:3rem 1rem;color:var(--grigio-muted);display:none}
    .bib-empty.show{display:block}

    .link-section{background:linear-gradient(180deg,var(--bianco-panna),var(--azzurro-chiaro));}
    .link-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem;max-width:1000px;}
    .link-card{background:rgba(255,255,255,.9);border-radius:1.2rem;padding:1.4rem;display:flex;align-items:flex-start;gap:1rem;box-shadow:0 3px 14px var(--ombra-az);text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s;}
    .link-card:hover{transform:translateY(-3px);box-shadow:0 8px 26px var(--ombra-az);}
    .link-card-icon{width:42px;height:42px;border-radius:.8rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
    .link-card-icon.az{background:var(--azzurro-chiaro);color:var(--azzurro-medio);}
    .link-card-icon.ve{background:var(--verde-pastello);color:var(--verde-profondo);}
    .link-card-icon.vio{background:#ede9fe;color:#5b21b6;}
    .link-card h4{font-size:.95rem;font-weight:600;color:var(--verde-profondo);margin-bottom:.25rem;}
    .link-card p{font-size:.84rem;color:var(--grigio-muted);line-height:1.55;}
    .ext-arrow{font-size:.75rem;color:var(--grigio-muted);margin-left:auto;padding-top:.2rem;flex-shrink:0;}

    /* CTA */
    .cta-section{padding:4rem 5%;background:var(--verde-profondo);color:#fff;text-align:center;}
    .cta-section h2{font-family:'Lora',serif;font-size:1.9rem;font-weight:700;margin-bottom:.8rem;}
    .cta-section p{color:rgba(255,255,255,.75);font-size:1rem;margin-bottom:1.8rem;}
    .cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
    .btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.9rem;border-radius:100px;font-size:.95rem;font-weight:600;text-decoration:none;transition:transform .3s;}
    .btn:hover{transform:translateY(-2px);}
    .btn-light{background:#fff;color:var(--verde-profondo);}
    .btn-outline-w{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);}
    .btn-outline-w:hover{border-color:#fff;background:rgba(255,255,255,.1);}

    
    
    

    .fade-in{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
    .fade-in.visible{opacity:1;transform:none;}
  



footer.footer-main{background:#091629;color:rgba(255,255,255,.65);padding:4rem 5% 0;font-size:.88rem;line-height:1.7;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:3rem;max-width:1100px;margin:0 auto 3rem;}
.footer-brand-logo{font-family:'Lora',serif;font-weight:700;font-size:1.15rem;color:#fff;display:flex;align-items:center;gap:.5rem;text-decoration:none;margin-bottom:1rem;}
.footer-brand-logo svg,.footer-brand-logo span{color:#5a9cbf;}
.footer-brand p{font-size:.85rem;line-height:1.7;max-width:280px;}
.footer-brand-badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(90,156,191,.12);border:1px solid rgba(90,156,191,.25);border-radius:2rem;padding:.35rem .85rem;font-size:.78rem;color:#5a9cbf;margin-top:1.2rem;}
.footer-col-title{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:1rem;}
.footer-nav-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.55rem;}
.footer-nav-list a{color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s;}
.footer-nav-list a:hover{color:#b0d0e8;}
.footer-info-item{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.7rem;font-size:.84rem;}
.footer-info-item svg{flex-shrink:0;color:#5a9cbf;margin-top:.15rem;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.4rem 0;max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;font-size:.78rem;color:rgba(255,255,255,.35);}
.footer-bottom-links{display:flex;gap:1.4rem;}
.footer-bottom-links a{color:rgba(255,255,255,.4);text-decoration:none;transition:color .2s;}
.footer-bottom-links a:hover{color:#5a9cbf;}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr;gap:2rem;}.footer-bottom{flex-direction:column;text-align:center;}}


    /* ─── HAMBURGER NAV (responsive) ─────────────────────── */
    .nav-hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      cursor: pointer;
      background: none;
      border: none;
      padding: .4rem;
      border-radius: .4rem;
      transition: background .2s;
    }
    .nav-hamburger:hover { background: rgba(45,114,168,.15); }
    .nav-hamburger span {
      display: block;
      width: 24px; height: 2px;
      background: var(--navy, #112040);
      border-radius: 2px;
      transition: transform .3s, opacity .3s;
    }
    .nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2) { opacity: 0; }
    .nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    @media (max-width: 820px) {
      .nav-hamburger { display: flex; }
      .nav-switch { display: none !important; }
      .nav-links {
        display: none !important;
        position: fixed;
        top: 60px; left: 0; right: 0;
        background: rgba(249,247,242,.98);
        backdrop-filter: blur(12px);
        flex-direction: column !important;
        align-items: flex-start;
        gap: 0 !important;
        padding: 1rem 0 1.5rem;
        border-bottom: 2px solid #b7cde8;
        z-index: 99;
        box-shadow: 0 8px 24px rgba(0,0,0,.1);
      }
      .nav-links.open { display: flex !important; }
      .nav-links li { width: 100%; }
      .nav-links a {
        display: block;
        padding: .85rem 5%;
        font-size: 1rem !important;
        border-bottom: 1px solid #d0dff0;
        color: var(--navy, #112040) !important;
      }
      .nav-links li:last-child a { border-bottom: none; }
    }

  
    @media (max-width: 820px) {
      .risorse-layout { grid-template-columns: 1fr; }
      .risorse-sidebar { display: none; }
      .risorse-grid { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 500px) {
      .risorse-grid { grid-template-columns: 1fr; }
      .risorsa-card { padding: 1.2rem; }
    }

  
    @media (max-width: 820px) {
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
    }
    @media (max-width: 500px) {
      .footer-grid { grid-template-columns: 1fr; gap: 1.5rem; }
    }

  
    /* ═══════════════════════════════════════════════════
       BOTTOM TAB BAR — solo mobile (≤768px)
    ═══════════════════════════════════════════════════ */
    @media (max-width: 768px) {
      .nav-hamburger { display: none !important; }
      .nav-links      { display: none !important; }
      .nav-links.open { display: none !important; }
      .nav-switch     { display: none !important; }
      body { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important; }

      .bottom-nav {
        display: flex !important;
        position: fixed !important;
        bottom: 0 !important; left: 0 !important; right: 0 !important;
        height: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
        background: #ffffff !important;
        border-top: 2px solid #b7cde8 !important;
        box-shadow: 0 -2px 16px rgba(17,32,64,.15) !important;
        z-index: 99999 !important;
        align-items: stretch !important;
      }
      .bnav-tab {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        text-decoration: none !important;
        color: #4a6080 !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        padding: .2rem .1rem !important;
        border-top: 3px solid transparent !important;
        -webkit-tap-highlight-color: transparent;
        height: 100%;
        box-sizing: border-box;
      }
      .bnav-tab svg {
        display: block !important;
        width: 22px !important; height: 22px !important;
        stroke: currentColor !important;
        stroke-width: 1.7 !important;
        fill: none !important;
        flex-shrink: 0 !important;
      }
      .bnav-tab span {
        display: block !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        color: inherit !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
        height: auto !important;
        background: none !important;
        max-width: 100% !important;
        text-align: center !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        padding: 0 2px !important;
        font-weight: 600 !important;
        font-family: 'DM Sans', sans-serif !important;
        letter-spacing: 0 !important;
        border-radius: 0 !important;
        transform: none !important;
      }
      .bnav-tab:active { background: #e5edf8 !important; }
      .bnav-tab.bnav-active {
        color: #0f2a4a !important;
        border-top: 3px solid #2d72a8 !important;
        background: #e8f0f9 !important;
        font-weight: 700 !important;
      }
      .bnav-tab.bnav-active svg { stroke: #0f2a4a !important; }
      .bnav-tab.bnav-active span { color: #0f2a4a !important; font-weight: 700 !important; }
      .bnav-tab.bnav-switch {
        color: #2d6a4f !important;
        border-left: 1px solid #d0e8d8 !important;
      }
      .bnav-tab.bnav-switch svg { stroke: #2d6a4f !important; }
      .bnav-tab.bnav-switch span { color: #2d6a4f !important; }
      nav { padding: .6rem 4% !important; }
    }
    @media (min-width: 769px) { .bottom-nav { display: none !important; } }

  



/* ===== Page source: simulatore-colloquio.css ===== */



    :root {
      --navy:#112040; --blu:#1e3a5f; --azzurro:#2d72a8; --az-med:#5a9cbf;
      --az-chi:#b0d0e8; --az-pastello:#e0eff7; --bianco-panna:#f7f9fc;
      --testo:#112040; --testo-luce:#2d5280; --grigio-muted:#6b7280;
      --ombra:rgba(30,58,95,.12); --ombra-card:rgba(17,32,64,.14);
      --nav-bg:#e0eff7;
      --ok-bg:#e8f5ee; --ok-border:#52b788; --ok-text:#1a5c37;
      --med-bg:#fff8e1; --med-border:#d4a017; --med-text:#7a5200;
      --bad-bg:#fdecea; --bad-border:#e74c3c; --bad-text:#7d1a12;
    }
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{font-family:'DM Sans',sans-serif;background:var(--bianco-panna);color:var(--testo);overflow-x:hidden}
    .ic{display:inline-flex;align-items:center;justify-content:center}
    .ic svg{display:block}

    /* NAV */
    nav{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(249,247,242,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--az-chi);display:flex;align-items:center;justify-content:space-between;padding:.9rem 5%}
    .nav-logo{font-family:'Lora',serif;font-weight:700;font-size:1.05rem;color:#1e3a5f;text-decoration:none;display:flex;align-items:center;gap:.5rem}
    .nav-logo span{color:#5a9cbf}
    .nav-logo-img{height:32px;width:auto;display:block;}
    .nav-links{display:flex;gap:1.8rem;list-style:none;align-items:center}
    .nav-links a{font-size:.88rem;font-weight:500;color:var(--testo-luce);text-decoration:none;transition:color .2s}
    .nav-links a:hover{color:var(--azzurro)}
    .nav-links a.active{color:var(--azzurro);font-weight:700;border-bottom:2px solid var(--azzurro);padding-bottom:2px}
    .nav-switch{display:flex;align-items:center;gap:.4rem;background:#d8f3dc;color:#2d6a4f;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.3rem .9rem;border-radius:100px;text-decoration:none;border:1.5px solid #b7e4c7;transition:background .25s;white-space:nowrap}
    .nav-switch:hover{background:#b7e4c7}
    @media(max-width:700px){.nav-links{display:none}}

    /* PAGE HEADER */
    .page-header{padding:8rem 5% 3.5rem;position:relative;overflow:hidden;text-align:center;background-color:#112040;
      background-image:
        radial-gradient(ellipse 80% 60% at 20% 15%, rgba(45,114,168,.7) 0%, transparent 60%),
        radial-gradient(ellipse 55% 65% at 82% 10%, rgba(30,58,95,.9) 0%, transparent 55%),
        radial-gradient(ellipse 50% 55% at 50% 60%, rgba(17,32,64,.6) 0%, transparent 65%),
        radial-gradient(ellipse 40% 50% at 5% 90%, rgba(90,156,191,.25) 0%, transparent 55%),
        radial-gradient(ellipse 60% 70% at 95% 85%, rgba(8,20,50,.85) 0%, transparent 55%);}
    .hero-blob{position:absolute;border-radius:50%;pointer-events:none;opacity:.18;filter:blur(60px);}
    .blob-1{width:500px;height:500px;background:radial-gradient(circle,#5a9cbf,transparent 70%);top:-150px;left:-100px;animation:blobFloat 14s ease-in-out infinite alternate;}
    .blob-2{width:400px;height:400px;background:radial-gradient(circle,#2d72a8,transparent 70%);bottom:-100px;right:-80px;animation:blobFloat 18s ease-in-out infinite alternate-reverse;}
    @keyframes blobFloat{0%{transform:translate(0,0) scale(1);}50%{transform:translate(30px,20px) scale(1.08);}100%{transform:translate(-20px,40px) scale(.95);}}
    .page-header .badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);color:#b0d0e8;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.4rem 1.2rem;border-radius:100px;border:1px solid rgba(255,255,255,.2);margin-bottom:1.4rem}
    .page-header h1{font-family:'Lora',serif;font-size:clamp(1.9rem,4vw,2.8rem);font-weight:700;color:#fff;line-height:1.2;margin-bottom:1rem}
    .page-header h1 em{font-style:italic;color:rgba(255,255,255,.88)}
    .page-header p{color:rgba(255,255,255,.72);font-size:1.05rem;max-width:580px;margin:0 auto}

    /* MAIN */
    main{max-width:940px;margin:0 auto;padding:0 5% 6rem}

    /* SCREENS */
    .screen{display:none;animation:fadeIn .4s ease}
    .screen.active{display:block}
    @keyframes fadeIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

    /* ── HUB SCREEN ──────────────────────────────────── */
    #screen-hub{background:linear-gradient(to bottom,#112040 0%,#1a2f52 3.5rem,#f7f9fc 3.5rem);padding-top:3.5rem}
    .hub-intro{background:#e0eff7;border-radius:1.2rem;border:1.5px solid #b0d0e8;padding:1.1rem 1.8rem;margin-bottom:2rem;display:flex;gap:1rem;align-items:center}
    .hub-intro .hi-icon{width:40px;height:40px;border-radius:10px;background:rgba(45,114,168,.15);color:#2d72a8;display:flex;align-items:center;justify-content:center;flex-shrink:0}
    .hub-intro h3{font-size:.95rem;font-weight:700;color:#112040;margin-bottom:.25rem}
    .hub-intro p{font-size:.84rem;color:#2d5280;line-height:1.6}
    .hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
    @media(max-width:680px){.hub-grid{grid-template-columns:1fr}}
    .hub-card{border-radius:1.6rem;overflow:hidden;border:2px solid var(--az-chi);cursor:pointer;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative}
    .hub-card:hover{transform:translateY(-5px);box-shadow:0 16px 44px var(--ombra-card);border-color:var(--azzurro)}
    .hub-card-header{padding:2.2rem 2rem 1.6rem}
    .hub-card.colloquio .hub-card-header{background:linear-gradient(135deg,var(--blu),var(--azzurro))}
    .hub-card.caso .hub-card-header{background:linear-gradient(135deg,#0d1f3c,var(--blu))}
    .hub-card-icon{width:56px;height:56px;border-radius:14px;background:rgba(255,255,255,.18);color:white;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
    .hub-card-header h2{font-family:'Lora',serif;font-size:1.35rem;font-weight:700;color:white;line-height:1.25;margin-bottom:.5rem}
    .hub-card-header p{font-size:.88rem;color:rgba(255,255,255,.8);line-height:1.6}
    .hub-card-body{padding:1.6rem 2rem}
    .hub-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.4rem}
    .hub-pill{font-size:.75rem;font-weight:600;padding:.28rem .75rem;border-radius:100px;background:var(--az-pastello);color:var(--testo-luce);border:1px solid var(--az-chi)}
    .hub-pill.red{background:#fdecea;color:#7d1a12;border-color:#e74c3c}
    .hub-pill.amber{background:#fff8e1;color:#7a5200;border-color:#d4a017}
    .hub-card-body p{font-size:.9rem;color:var(--grigio-muted);line-height:1.65;margin-bottom:1.4rem}
    .hub-cta{display:flex;align-items:center;gap:.5rem;background:var(--azzurro);color:white;font-size:.95rem;font-weight:700;padding:.75rem 1.6rem;border-radius:100px;border:none;cursor:pointer;transition:background .2s,transform .2s;width:100%;justify-content:center}
    .hub-cta:hover{background:var(--blu);transform:translateX(2px)}
    .hub-card.caso .hub-cta{background:var(--navy)}
    .hub-card.caso .hub-cta:hover{background:#070f1f}

    /* ── SHARED BACK LINK ────────────────────────────── */
    .btn-back-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--testo-luce);font-size:.88rem;cursor:pointer;border:none;background:none;padding:0;margin-bottom:1.5rem;transition:color .2s;font-family:'DM Sans',sans-serif}
    .btn-back-link:hover{color:var(--azzurro)}

    /* ── SIM INTRO BOX ───────────────────────────────── */
    .sim-intro-box{background:white;border-radius:1.2rem;border:1.5px solid var(--az-chi);padding:2rem 2.4rem;margin-bottom:2.5rem;display:flex;gap:1.4rem;align-items:flex-start}
    .sim-intro-box .sib-icon{width:48px;height:48px;border-radius:12px;background:var(--az-pastello);color:var(--azzurro);display:flex;align-items:center;justify-content:center;flex-shrink:0}
    .sim-intro-box h3{font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:.5rem}
    .sim-intro-box p{font-size:.92rem;color:var(--grigio-muted);line-height:1.65}

    /* ── SCENARIO GRID (colloquio) ───────────────────── */
    .scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
    @media(max-width:640px){.scenario-grid{grid-template-columns:1fr}}
    .scenario-card{background:white;border-radius:1.4rem;border:2px solid var(--az-chi);padding:2rem 1.8rem;cursor:pointer;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative;overflow:hidden}
    .scenario-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--azzurro),var(--az-med));transform:scaleX(0);transform-origin:left;transition:transform .3s}
    .scenario-card:hover{transform:translateY(-4px);box-shadow:0 12px 36px var(--ombra-card);border-color:var(--azzurro)}
    .scenario-card:hover::before{transform:scaleX(1)}
    .sc-icon{width:52px;height:64px;border-radius:14px;background:var(--az-pastello);color:var(--azzurro);display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem}
    .sc-tag{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.28rem .75rem;border-radius:100px;margin-bottom:1rem}
    .sc-tag.media{background:#fff8e1;color:#7a5200;border:1px solid #d4a017}
    .sc-tag.alta{background:#fdecea;color:#7d1a12;border:1px solid #e74c3c}
    .sc-title{font-family:'Lora',serif;font-size:1.18rem;font-weight:700;color:var(--navy);margin-bottom:.7rem;line-height:1.3}
    .sc-desc{font-size:.9rem;color:var(--grigio-muted);line-height:1.6;margin-bottom:1.4rem}
    .sc-meta{display:flex;gap:1rem;font-size:.8rem;color:var(--testo-luce);flex-wrap:wrap;margin-bottom:1.4rem}
    .sc-meta span{display:flex;align-items:center;gap:.3rem}
    .sc-btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--azzurro);color:white;font-size:.88rem;font-weight:600;padding:.65rem 1.4rem;border-radius:100px;border:none;cursor:pointer;transition:background .2s,transform .2s}
    .sc-btn:hover{background:var(--blu);transform:translateX(2px)}

    /* ── INTRO CARD ──────────────────────────────────── */
    .intro-card{background:white;border-radius:1.4rem;border:1.5px solid var(--az-chi);overflow:hidden;margin-bottom:2rem}
    .intro-card-header{background:linear-gradient(135deg,var(--blu),var(--azzurro));padding:2.4rem 2.4rem 1.8rem;color:white}
    .intro-card-header .scenario-label{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.75;margin-bottom:.8rem}
    .intro-card-header h2{font-family:'Lora',serif;font-size:1.6rem;font-weight:700;line-height:1.25;margin-bottom:.6rem}
    .intro-card-header p{font-size:.95rem;opacity:.85;line-height:1.6}
    .intro-card-body{padding:2rem 2.4rem}
    .persona-box{display:flex;gap:1.2rem;align-items:flex-start;background:var(--az-pastello);border-radius:1rem;padding:1.4rem;margin-bottom:1.6rem}
    .persona-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--azzurro),var(--az-med));color:white;font-size:1.1rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:'Lora',serif}
    .persona-info h4{font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:.3rem}
    .persona-info p{font-size:.88rem;color:var(--testo-luce);line-height:1.6}
    .obiettivi{margin-bottom:1.6rem}
    .obiettivi h4{font-size:.85rem;font-weight:700;color:var(--blu);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.8rem}
    .obiettivi ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}
    .obiettivi li{display:flex;align-items:flex-start;gap:.6rem;font-size:.9rem;color:var(--testo-luce);line-height:1.5}
    .obiettivi li .ic{color:var(--azzurro);margin-top:2px;flex-shrink:0}
    .intro-note{background:#fff8e1;border:1px solid #d4a017;border-radius:.8rem;padding:1rem 1.2rem;display:flex;gap:.8rem;align-items:flex-start;margin-bottom:1.8rem}
    .intro-note .ic{color:#d4a017;flex-shrink:0;margin-top:1px}
    .intro-note p{font-size:.85rem;color:#5a3e00;line-height:1.6}
    .btn-start{width:100%;padding:1rem;background:var(--azzurro);color:white;border:none;border-radius:100px;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.6rem;transition:background .22s,transform .22s;font-family:'DM Sans',sans-serif}
    .btn-start:hover{background:var(--blu);transform:translateY(-2px)}

    /* ── SIM SCREEN ──────────────────────────────────── */
    .sim-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}
    .sim-scenario-title{font-size:.85rem;font-weight:600;color:var(--testo-luce)}
    .progress-bar-wrap{flex:1;max-width:320px}
    .progress-dots{display:flex;gap:.45rem;align-items:center;justify-content:flex-end}
    .pdot{width:10px;height:10px;border-radius:50%;background:var(--az-chi);transition:background .3s,transform .3s}
    .pdot.active{background:var(--azzurro);transform:scale(1.25)}
    .pdot.done{background:var(--az-med)}
    .step-label{font-size:.78rem;color:var(--grigio-muted);text-align:right;margin-top:.4rem}
    .phase-badge{display:inline-flex;align-items:center;gap:.45rem;background:var(--navy);color:var(--az-chi);font-size:.73rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.32rem .95rem;border-radius:100px;border:1px solid var(--blu);margin-bottom:.6rem}
    .setting-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--az-pastello);color:var(--testo-luce);font-size:.78rem;font-weight:600;padding:.35rem 1rem;border-radius:100px;border:1px solid var(--az-chi);margin-bottom:1.2rem}
    .narrative-bubble{background:white;border:1.5px solid var(--az-chi);border-radius:0 1.4rem 1.4rem 1.4rem;padding:1.6rem 1.8rem;margin-bottom:1rem;position:relative;font-size:.98rem;line-height:1.7;color:var(--testo)}
    .narrative-bubble::before{content:'';position:absolute;top:0;left:-1.5px;width:4px;height:100%;background:var(--azzurro);border-radius:4px 0 0 4px}
    .user-speech{background:var(--az-pastello);border-radius:1.4rem 0 1.4rem 1.4rem;border:1.5px solid var(--az-chi);padding:1.2rem 1.6rem;margin-bottom:1.6rem;position:relative}
    .speech-tag{font-size:.72rem;font-weight:700;color:var(--az-med);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem}
    .user-speech p{font-size:.98rem;line-height:1.65;color:var(--navy);font-style:italic}
    .choices-title{font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--testo-luce);margin-bottom:1rem}
    .choices-list{display:flex;flex-direction:column;gap:.85rem}
    .choice-btn{background:white;border:2px solid var(--az-chi);border-radius:1rem;padding:1.2rem 1.4rem;cursor:pointer;text-align:left;display:flex;align-items:flex-start;gap:.9rem;transition:border-color .22s,background .22s,transform .22s,box-shadow .22s;font-family:'DM Sans',sans-serif}
    .choice-btn:hover{border-color:var(--azzurro);background:var(--az-pastello);transform:translateX(4px);box-shadow:0 4px 18px var(--ombra)}
    .choice-letter{width:28px;height:28px;border-radius:50%;flex-shrink:0;background:var(--az-pastello);color:var(--azzurro);font-size:.82rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--az-chi);transition:background .2s,color .2s}
    .choice-btn:hover .choice-letter{background:var(--azzurro);color:white;border-color:var(--azzurro)}
    .choice-text{font-size:.93rem;color:var(--testo);line-height:1.55;padding-top:3px}

    /* ── RESULT SCREEN ───────────────────────────────── */
    .result-header{text-align:center;padding:2.5rem 2rem 1.5rem;background:linear-gradient(135deg,var(--blu),var(--azzurro));border-radius:1.4rem;margin-bottom:2rem;color:white}
    .score-ring{width:110px;height:110px;border-radius:50%;border:6px solid rgba(255,255,255,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto 1.2rem;background:rgba(255,255,255,.12)}
    .score-num{font-size:2.2rem;font-weight:700;line-height:1}
    .score-denom{font-size:.85rem;opacity:.75}
    .score-label{font-family:'Lora',serif;font-size:1.3rem;font-weight:700;margin-bottom:.4rem}
    .score-sub{font-size:.9rem;opacity:.8}
    .stars{display:flex;gap:.25rem;justify-content:center;margin-top:.6rem}
    .stars .ic{color:rgba(255,220,50,.9)}
    .stars .ic.empty{color:rgba(255,255,255,.3)}
    .analysis-section{margin-bottom:2rem}
    .analysis-section h3{font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--testo-luce);margin-bottom:1rem}
    .choice-recap{border-radius:1.1rem;overflow:hidden;margin-bottom:1rem;border:1.5px solid var(--az-chi)}
    .cr-header{padding:.9rem 1.4rem;display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
    .cr-header.ottimale{background:var(--ok-bg);border-bottom:1px solid var(--ok-border)}
    .cr-header.buona{background:var(--med-bg);border-bottom:1px solid var(--med-border)}
    .cr-header.scarsa{background:var(--bad-bg);border-bottom:1px solid var(--bad-border)}
    .cr-badge{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.22rem .65rem;border-radius:100px;white-space:nowrap}
    .cr-badge.ottimale{background:var(--ok-border);color:white}
    .cr-badge.buona{background:var(--med-border);color:white}
    .cr-badge.scarsa{background:var(--bad-border);color:white}
    .cr-step{font-size:.8rem;font-weight:600;color:var(--grigio-muted);white-space:nowrap}
    .cr-choice-text{font-size:.88rem;font-weight:600;flex:1;min-width:0}
    .cr-choice-text.ottimale{color:var(--ok-text)}
    .cr-choice-text.buona{color:var(--med-text)}
    .cr-choice-text.scarsa{color:var(--bad-text)}
    .cr-body{padding:1rem 1.4rem;background:white}
    .cr-body p{font-size:.9rem;color:var(--testo-luce);line-height:1.65}
    .cr-deon{margin-top:.7rem;padding-top:.7rem;border-top:1px solid var(--az-pastello);display:flex;gap:.6rem;align-items:flex-start}
    .cr-deon .ic{color:var(--azzurro);flex-shrink:0;margin-top:1px}
    .cr-deon p{font-size:.82rem;color:var(--testo-luce);font-style:italic}
    .result-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-top:2rem}
    .btn-retry{display:inline-flex;align-items:center;gap:.5rem;border:2px solid var(--azzurro);color:var(--azzurro);background:white;font-size:.92rem;font-weight:600;padding:.7rem 1.5rem;border-radius:100px;cursor:pointer;transition:background .2s,color .2s;font-family:'DM Sans',sans-serif}
    .btn-retry:hover{background:var(--az-pastello)}
    .btn-other{display:inline-flex;align-items:center;gap:.5rem;background:var(--azzurro);color:white;font-size:.92rem;font-weight:600;padding:.7rem 1.5rem;border-radius:100px;cursor:pointer;border:none;transition:background .2s;font-family:'DM Sans',sans-serif}
    .btn-other:hover{background:var(--blu)}
    .btn-hub{display:inline-flex;align-items:center;gap:.5rem;background:var(--navy);color:var(--az-chi);font-size:.92rem;font-weight:600;padding:.7rem 1.5rem;border-radius:100px;cursor:pointer;border:none;transition:background .2s;font-family:'DM Sans',sans-serif}
    .btn-hub:hover{background:#070f1f}

    /* ── CASO HOME (3 cards) ─────────────────────────── */
    .caso-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
    @media(max-width:800px){.caso-grid{grid-template-columns:1fr}}
    .caso-card{background:white;border-radius:1.4rem;border:2px solid var(--az-chi);padding:1.8rem 1.6rem;cursor:pointer;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative;overflow:hidden}
    .caso-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--navy),var(--blu));transform:scaleX(0);transform-origin:left;transition:transform .3s}
    .caso-card:hover{transform:translateY(-4px);box-shadow:0 12px 36px var(--ombra-card);border-color:var(--navy)}
    .caso-card:hover::before{transform:scaleX(1)}
    .caso-card .sc-icon{background:#e8edf4;color:var(--navy)}
    .caso-card .sc-btn{background:var(--navy)}
    .caso-card .sc-btn:hover{background:#070f1f}
    .phases-mini{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:1.2rem}
    .pm-dot{font-size:.68rem;font-weight:600;color:var(--testo-luce);background:var(--az-pastello);padding:.18rem .55rem;border-radius:100px;border:1px solid var(--az-chi)}

    /* FOOTER */
    
    
    

    @media(max-width:600px){.sim-header{flex-direction:column;align-items:flex-start}.progress-dots{justify-content:flex-start}.cr-header{flex-direction:column;align-items:flex-start}}

    /* ── HUB SECTION LABELS & GENERATOR CARD ──────────────── */
    .hub-section-label{display:flex;align-items:center;gap:.9rem;margin:2.2rem 0 1rem;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--testo-luce)}
    .hub-section-label::after{content:'';flex:1;height:1px;background:var(--az-chi)}
    .hub-gen-wrap{border-radius:1.6rem;overflow:hidden;border:2px solid var(--az-chi);cursor:pointer;transition:transform .22s,box-shadow .22s,border-color .22s}
    .hub-gen-wrap:hover{transform:translateY(-5px);box-shadow:0 16px 44px var(--ombra-card);border-color:var(--azzurro)}
    .hub-gen-header{background:linear-gradient(135deg,#112040,#2d72a8);padding:2rem 2.2rem 1.6rem;display:flex;gap:1.4rem;align-items:flex-start}
    .hub-gen-icon{width:54px;height:54px;border-radius:14px;background:rgba(255,255,255,.18);color:white;display:flex;align-items:center;justify-content:center;flex-shrink:0}
    .hub-gen-header h2{font-family:'Lora',serif;font-size:1.35rem;font-weight:700;color:white;line-height:1.25;margin-bottom:.4rem}
    .hub-gen-header p{font-size:.88rem;color:rgba(255,255,255,.82);line-height:1.6;margin:0}
    .hub-gen-body{background:white;padding:1.3rem 2.2rem 1.7rem;display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}
    .hub-gen-pills{display:flex;gap:.45rem;flex-wrap:wrap;flex:1}
    .hub-gen-pill{font-size:.71rem;font-weight:600;padding:.26rem .75rem;border-radius:100px;background:var(--az-pastello);color:var(--azzurro)}
    .hub-gen-pill.green{background:var(--az-pastello);color:var(--azzurro)}
    .hub-gen-cta{display:inline-flex;align-items:center;gap:.45rem;background:var(--azzurro);color:white;border:none;border-radius:100px;padding:.65rem 1.35rem;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap;font-family:'DM Sans',sans-serif}
    .hub-gen-cta:hover{background:var(--blu)}
    /* ── GENERATOR SCREENS ─────────────────────────────────── */
    .gen-back{background:none;border:none;color:var(--testo-luce);font-size:.88rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;padding:0;margin-bottom:1.6rem;transition:color .2s;font-family:'DM Sans',sans-serif}
    .gen-back:hover{color:var(--azzurro)}
    .gen-header{margin-bottom:1.8rem}
    .gen-header h2{font-family:'Lora',serif;font-size:1.65rem;font-weight:700;color:var(--navy);margin-bottom:.45rem}
    .gen-header p{color:var(--grigio-muted);font-size:.93rem;line-height:1.6}
    .gen-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-bottom:1.8rem}
    @media(max-width:620px){.gen-type-grid{grid-template-columns:1fr}}
    .gen-type-card{border:2px solid var(--az-chi);border-radius:1.1rem;padding:1.3rem 1.5rem;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;position:relative;text-align:left;background:white}
    .gen-type-card:hover{border-color:var(--azzurro);background:var(--az-pastello);box-shadow:0 5px 20px var(--ombra)}
    .gen-type-card.selected{border-color:var(--azzurro);background:var(--az-pastello)}
    .gen-type-card.selected::after{content:'\2713';position:absolute;top:.75rem;right:.9rem;color:var(--azzurro);font-weight:700;font-size:1rem}
    .gen-type-icon{font-size:1.5rem;margin-bottom:.6rem}
    .gen-type-card h3{font-size:.97rem;font-weight:700;color:var(--navy);margin-bottom:.3rem}
    .gen-type-card p{font-size:.81rem;color:var(--grigio-muted);line-height:1.58;margin:0}
    .gen-type-note{background:var(--az-pastello);border-left:3px solid var(--azzurro);border-radius:.5rem;padding:.9rem 1.1rem;font-size:.84rem;color:var(--testo-luce);line-height:1.65;margin-bottom:1.8rem}
    .gen-type-note strong{color:var(--navy)}
    .gen-progress-wrap{margin-bottom:1.8rem}
    .gen-progress-label{display:flex;justify-content:space-between;font-size:.79rem;color:var(--grigio-muted);margin-bottom:.5rem;font-weight:500}
    .gen-progress-bar{height:4px;background:var(--az-chi);border-radius:100px;overflow:hidden}
    .gen-progress-fill{height:100%;background:linear-gradient(90deg,var(--azzurro),var(--az-med));border-radius:100px;transition:width .4s ease}
    .gen-step-title{font-family:'Lora',serif;font-size:1.35rem;font-weight:700;color:var(--navy);margin-bottom:1.3rem;padding-bottom:.75rem;border-bottom:1.5px solid var(--az-chi)}
    .gen-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
    @media(max-width:580px){.gen-grid-2{grid-template-columns:1fr}}
    .gen-field{margin-bottom:1.1rem}
    .gen-field label{display:block;font-size:.79rem;font-weight:600;color:var(--testo-luce);margin-bottom:.38rem;text-transform:uppercase;letter-spacing:.05em}
    .gen-field label span{font-weight:400;color:var(--grigio-muted);text-transform:none;letter-spacing:0}
    .gen-field input,.gen-field select,.gen-field textarea{width:100%;padding:.66rem .88rem;border:1.5px solid var(--az-chi);border-radius:.6rem;font-family:'DM Sans',sans-serif;font-size:.92rem;color:var(--testo);background:white;transition:border-color .2s,box-shadow .2s;resize:vertical}
    .gen-field input:focus,.gen-field select:focus,.gen-field textarea:focus{outline:none;border-color:var(--azzurro);box-shadow:0 0 0 3px rgba(45,114,168,.11)}
    .gen-field textarea{min-height:120px;line-height:1.65}
    .gen-field textarea.tall{min-height:165px}
    .gen-char-hint{font-size:.74rem;color:var(--grigio-muted);margin-top:.28rem}
    .gen-tip{background:linear-gradient(135deg,#eef6fd,#f5fbff);border:1.5px solid var(--az-chi);border-radius:.9rem;padding:1rem 1.2rem;margin-bottom:1.3rem;display:flex;gap:.85rem;align-items:flex-start}
    .gen-tip-icon{font-size:1.15rem;flex-shrink:0;margin-top:.05rem}
    .gen-tip-body strong{display:block;font-size:.77rem;font-weight:700;color:var(--azzurro);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.28rem}
    .gen-tip-body p{font-size:.83rem;color:var(--testo-luce);line-height:1.63;margin:0}
    .gen-tip-body ul{font-size:.83rem;color:var(--testo-luce);line-height:1.63;margin:.35rem 0 0 1.1rem;padding:0}
    .gen-nav{display:flex;justify-content:space-between;align-items:center;margin-top:1.8rem;padding-top:1.3rem;border-top:1.5px solid var(--az-chi)}
    .gen-btn-back{background:none;border:1.5px solid var(--az-chi);color:var(--testo-luce);border-radius:100px;padding:.6rem 1.3rem;font-size:.88rem;font-weight:500;cursor:pointer;transition:border-color .2s,color .2s;font-family:'DM Sans',sans-serif}
    .gen-btn-back:hover{border-color:var(--azzurro);color:var(--azzurro)}
    .gen-btn-next{background:var(--azzurro);color:white;border:none;border-radius:100px;padding:.6rem 1.5rem;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .2s;display:inline-flex;align-items:center;gap:.45rem;font-family:'DM Sans',sans-serif}
    .gen-btn-next:hover{background:var(--blu)}
    .gen-btn-next:disabled{background:var(--az-med);cursor:not-allowed;opacity:.65}
    .gen-preview-card{background:white;border:1.5px solid var(--az-chi);border-radius:1.1rem;padding:2.2rem;margin-bottom:1.8rem;font-size:.91rem;line-height:1.78;color:var(--testo)}
    .gen-preview-card h3{font-family:'Lora',serif;font-size:1.05rem;font-weight:700;color:var(--navy);margin:1.3rem 0 .5rem;padding-top:.75rem;border-top:1px solid var(--az-pastello)}
    .gen-preview-card h3:first-child{margin-top:0;padding-top:0;border-top:none}
    .gen-preview-card .pv-header{text-align:center;border-bottom:2px solid var(--az-chi);padding-bottom:1.1rem;margin-bottom:1.1rem}
    .gen-preview-card .pv-header h2{font-family:'Lora',serif;font-size:1.25rem;color:var(--navy);margin-bottom:.3rem}
    .gen-preview-card .pv-meta{font-size:.8rem;color:var(--grigio-muted);display:flex;gap:1.3rem;flex-wrap:wrap;justify-content:center}
    .gen-download-row{display:flex;gap:.9rem;flex-wrap:wrap;align-items:center}
    .gen-download-btn{display:inline-flex;align-items:center;gap:.55rem;background:#2d6a4f;color:white;border:none;border-radius:100px;padding:.75rem 1.6rem;font-size:.92rem;font-weight:600;cursor:pointer;transition:background .2s;font-family:'DM Sans',sans-serif}
    .gen-download-btn:hover{background:#1a5c37}
    .gen-edit-btn{display:inline-flex;align-items:center;gap:.55rem;background:none;border:1.5px solid var(--az-chi);color:var(--testo-luce);border-radius:100px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color .2s,color .2s;font-family:'DM Sans',sans-serif}
    .gen-edit-btn:hover{border-color:var(--azzurro);color:var(--azzurro)}
    .gen-disclaimer{font-size:.76rem;color:var(--grigio-muted);line-height:1.6;margin-top:.9rem}
  



footer.footer-main{background:#091629;color:rgba(255,255,255,.65);padding:4rem 5% 0;font-size:.88rem;line-height:1.7;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:3rem;max-width:1100px;margin:0 auto 3rem;}
.footer-brand-logo{font-family:'Lora',serif;font-weight:700;font-size:1.15rem;color:#fff;display:flex;align-items:center;gap:.5rem;text-decoration:none;margin-bottom:1rem;}
.footer-brand-logo svg,.footer-brand-logo span{color:#5a9cbf;}
.footer-brand p{font-size:.85rem;line-height:1.7;max-width:280px;}
.footer-brand-badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(90,156,191,.12);border:1px solid rgba(90,156,191,.25);border-radius:2rem;padding:.35rem .85rem;font-size:.78rem;color:#5a9cbf;margin-top:1.2rem;}
.footer-col-title{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:1rem;}
.footer-nav-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.55rem;}
.footer-nav-list a{color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s;}
.footer-nav-list a:hover{color:#b0d0e8;}
.footer-info-item{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.7rem;font-size:.84rem;}
.footer-info-item svg{flex-shrink:0;color:#5a9cbf;margin-top:.15rem;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.4rem 0;max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;font-size:.78rem;color:rgba(255,255,255,.35);}
.footer-bottom-links{display:flex;gap:1.4rem;}
.footer-bottom-links a{color:rgba(255,255,255,.4);text-decoration:none;transition:color .2s;}
.footer-bottom-links a:hover{color:#5a9cbf;}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr;gap:2rem;}.footer-bottom{flex-direction:column;text-align:center;}}


    /* ─── HAMBURGER NAV (responsive) ─────────────────────── */
    .nav-hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      cursor: pointer;
      background: none;
      border: none;
      padding: .4rem;
      border-radius: .4rem;
      transition: background .2s;
    }
    .nav-hamburger:hover { background: rgba(45,114,168,.15); }
    .nav-hamburger span {
      display: block;
      width: 24px; height: 2px;
      background: var(--navy, #112040);
      border-radius: 2px;
      transition: transform .3s, opacity .3s;
    }
    .nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2) { opacity: 0; }
    .nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    @media (max-width: 820px) {
      .nav-hamburger { display: flex; }
      .nav-switch { display: none !important; }
      .nav-links {
        display: none !important;
        position: fixed;
        top: 60px; left: 0; right: 0;
        background: rgba(249,247,242,.98);
        backdrop-filter: blur(12px);
        flex-direction: column !important;
        align-items: flex-start;
        gap: 0 !important;
        padding: 1rem 0 1.5rem;
        border-bottom: 2px solid #b7cde8;
        z-index: 99;
        box-shadow: 0 8px 24px rgba(0,0,0,.1);
      }
      .nav-links.open { display: flex !important; }
      .nav-links li { width: 100%; }
      .nav-links a {
        display: block;
        padding: .85rem 5%;
        font-size: 1rem !important;
        border-bottom: 1px solid #d0dff0;
        color: var(--navy, #112040) !important;
      }
      .nav-links li:last-child a { border-bottom: none; }
    }

  
    @media (max-width: 820px) {
      .hub-grid { grid-template-columns: 1fr; }
      .scenario-grid { grid-template-columns: 1fr; }
      .caso-grid { grid-template-columns: 1fr; }
      .results-breakdown { grid-template-columns: 1fr; }
      .sim-hero { padding: 5rem 5% 2rem; }
    }
    @media (max-width: 500px) {
      .scenario-card, .caso-card { padding: 1.2rem; }
      .choice-btn { font-size: .88rem; padding: .85rem 1rem; }
    }

  
    @media (max-width: 820px) {
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
    }
    @media (max-width: 500px) {
      .footer-grid { grid-template-columns: 1fr; gap: 1.5rem; }
    }

  
    /* ═══════════════════════════════════════════════════
       BOTTOM TAB BAR — solo mobile (≤768px)
    ═══════════════════════════════════════════════════ */
    @media (max-width: 768px) {
      .nav-hamburger { display: none !important; }
      .nav-links      { display: none !important; }
      .nav-links.open { display: none !important; }
      .nav-switch     { display: none !important; }
      body { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important; }

      .bottom-nav {
        display: flex !important;
        position: fixed !important;
        bottom: 0 !important; left: 0 !important; right: 0 !important;
        height: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
        background: #ffffff !important;
        border-top: 2px solid #b7cde8 !important;
        box-shadow: 0 -2px 16px rgba(17,32,64,.15) !important;
        z-index: 99999 !important;
        align-items: stretch !important;
      }
      .bnav-tab {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        text-decoration: none !important;
        color: #4a6080 !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        padding: .2rem .1rem !important;
        border-top: 3px solid transparent !important;
        -webkit-tap-highlight-color: transparent;
        height: 100%;
        box-sizing: border-box;
      }
      .bnav-tab svg {
        display: block !important;
        width: 22px !important; height: 22px !important;
        stroke: currentColor !important;
        stroke-width: 1.7 !important;
        fill: none !important;
        flex-shrink: 0 !important;
      }
      .bnav-tab span {
        display: block !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        color: inherit !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
        height: auto !important;
        background: none !important;
        max-width: 100% !important;
        text-align: center !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        padding: 0 2px !important;
        font-weight: 600 !important;
        font-family: 'DM Sans', sans-serif !important;
        letter-spacing: 0 !important;
        border-radius: 0 !important;
        transform: none !important;
      }
      .bnav-tab:active { background: #e5edf8 !important; }
      .bnav-tab.bnav-active {
        color: #0f2a4a !important;
        border-top: 3px solid #2d72a8 !important;
        background: #e8f0f9 !important;
        font-weight: 700 !important;
      }
      .bnav-tab.bnav-active svg { stroke: #0f2a4a !important; }
      .bnav-tab.bnav-active span { color: #0f2a4a !important; font-weight: 700 !important; }
      .bnav-tab.bnav-switch {
        color: #2d6a4f !important;
        border-left: 1px solid #d0e8d8 !important;
      }
      .bnav-tab.bnav-switch svg { stroke: #2d6a4f !important; }
      .bnav-tab.bnav-switch span { color: #2d6a4f !important; }
      nav { padding: .6rem 4% !important; }
    }
    @media (min-width: 769px) { .bottom-nav { display: none !important; } }

  



/* ===== Page source: esame-di-stato.css ===== */



    :root {
      --navy:#112040; --blu:#1e3a5f; --azzurro:#2d72a8; --az-med:#5a9cbf;
      --az-chi:#b0d0e8; --az-pastello:#e0eff7; --bianco-panna:#f7f9fc;
      --testo:#112040; --testo-luce:#2d5280; --grigio-muted:#6b7280;
      --ombra:rgba(30,58,95,.12); --ombra-card:rgba(17,32,64,.14);
    }
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{font-family:'DM Sans',sans-serif;background:var(--bianco-panna);color:var(--testo);overflow-x:hidden}
    .ic{display:inline-flex;align-items:center;justify-content:center}
    .ic svg{display:block}

    /* ── NAV ── */
    nav{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(249,247,242,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--az-chi);display:flex;align-items:center;justify-content:space-between;padding:.9rem 5%}
    .nav-logo{font-family:'Lora',serif;font-weight:700;font-size:1.05rem;color:#1e3a5f;text-decoration:none;display:flex;align-items:center;gap:.5rem}
    .nav-logo span{color:#5a9cbf}
    .nav-logo-img{height:32px;width:auto;display:block;}
    .nav-links{display:flex;gap:1.8rem;list-style:none;align-items:center}
    .nav-links a{font-size:.88rem;font-weight:500;color:var(--testo-luce);text-decoration:none;transition:color .2s}
    .nav-links a:hover{color:var(--azzurro)}
    .nav-links a.active{color:var(--azzurro);font-weight:700;border-bottom:2px solid var(--azzurro);padding-bottom:2px}
    .nav-switch{display:flex;align-items:center;gap:.4rem;background:#d8f3dc;color:#2d6a4f;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.3rem .9rem;border-radius:100px;text-decoration:none;border:1.5px solid #b7e4c7;transition:background .25s;white-space:nowrap}
    .nav-switch:hover{background:#b7e4c7}

    /* ── PAGE HEADER ── */
    .page-header{padding:7rem 5% 4rem;text-align:center;position:relative;overflow:hidden;background-color:#112040;
      background-image:
        radial-gradient(ellipse 80% 60% at 20% 15%, rgba(45,114,168,.7) 0%, transparent 60%),
        radial-gradient(ellipse 55% 65% at 82% 10%, rgba(30,58,95,.9) 0%, transparent 55%),
        radial-gradient(ellipse 50% 55% at 50% 60%, rgba(17,32,64,.6) 0%, transparent 65%),
        radial-gradient(ellipse 40% 50% at 5% 90%, rgba(90,156,191,.25) 0%, transparent 55%),
        radial-gradient(ellipse 60% 70% at 95% 85%, rgba(8,20,50,.85) 0%, transparent 55%);}
    .hero-blob{position:absolute;border-radius:50%;pointer-events:none;opacity:.18;filter:blur(60px);}
    .blob-1{width:500px;height:500px;background:radial-gradient(circle,#5a9cbf,transparent 70%);top:-150px;left:-100px;animation:blobFloat 14s ease-in-out infinite alternate;}
    .blob-2{width:400px;height:400px;background:radial-gradient(circle,#2d72a8,transparent 70%);bottom:-100px;right:-80px;animation:blobFloat 18s ease-in-out infinite alternate-reverse;}
    @keyframes blobFloat{0%{transform:translate(0,0) scale(1);}50%{transform:translate(30px,20px) scale(1.08);}100%{transform:translate(-20px,40px) scale(.95);}}

    .ph-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(90,156,191,.18);border:1px solid rgba(90,156,191,.35);border-radius:100px;padding:.35rem 1rem;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#b0d0e8;margin-bottom:1.2rem}
    .page-header h1{font-family:'Lora',serif;font-size:clamp(2rem,4.5vw,3rem);font-weight:700;color:#fff;line-height:1.2;margin-bottom:1rem}
    .page-header h1 em{font-style:italic;color:#8ec5e0}
    .page-header p{font-size:1.05rem;color:rgba(255,255,255,.75);max-width:640px;margin:0 auto 2rem;line-height:1.7}
    .ph-pills{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}
    .ph-pill{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:100px;padding:.3rem .85rem;font-size:.8rem;color:rgba(255,255,255,.85)}
    .ph-pill svg{flex-shrink:0}

    /* ── INTRO ALERT ROW ── */
    .alert-row{display:flex;gap:1.2rem;align-items:flex-start;max-width:960px;margin:2.5rem auto;flex-wrap:nowrap}
    .intro-alert{flex:1 1 auto;background:#fffbeb;border-left:4px solid #f59e0b;border-radius:0 10px 10px 0;padding:1rem 1.4rem;display:flex;gap:.9rem;align-items:flex-start;font-size:.9rem;line-height:1.6;color:#78350f}
    @media(max-width:700px){.alert-row{flex-wrap:wrap}}
    .intro-alert svg{flex-shrink:0;margin-top:.1rem;color:#f59e0b}

    /* ── DOWNLOAD CARD ── */
    .download-card{flex-shrink:0;width:210px;background:#fff;border:1.5px solid var(--az-chi);border-radius:12px;padding:1rem 1.1rem;display:flex;flex-direction:column;align-items:center;gap:.65rem;text-align:center;box-shadow:0 2px 10px rgba(30,58,95,.07);transition:box-shadow .2s,transform .2s}
    .download-card:hover{box-shadow:0 6px 20px rgba(30,58,95,.13);transform:translateY(-2px)}
    .dc-icon{width:42px;height:42px;background:linear-gradient(135deg,#e8f0fe,#c7ddf5);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--azzurro)}
    .dc-title{font-family:'Lora',serif;font-weight:700;font-size:.88rem;color:var(--testo);line-height:1.3}
    .dc-sub{font-size:.75rem;color:var(--grigio-muted)}
    .dc-btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--azzurro);color:#fff;font-size:.78rem;font-weight:600;padding:.42rem .9rem;border-radius:100px;text-decoration:none;transition:background .2s;margin-top:.1rem}
    .dc-btn:hover{background:var(--blu)}
    .dc-btn svg{flex-shrink:0}
    @media(max-width:700px){.alert-row{flex-direction:column!important}.download-card{width:100%;flex-direction:row;text-align:left;gap:.9rem}.dc-icon{flex-shrink:0}}

    /* ── LAYOUT ── */
    .container{max-width:1100px;margin:0 auto;padding:0 5%}
    section{padding:4.5rem 5%}

    /* ── SECTION LABEL ── */
    .section-label{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--az-med);margin-bottom:.6rem}
    .section-title{font-family:'Lora',serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:var(--navy);margin-bottom:.7rem;line-height:1.25}
    .section-title em{font-style:italic;color:var(--azzurro)}
    .section-sub{font-size:.97rem;color:var(--grigio-muted);max-width:620px;line-height:1.7}

    /* ── TIMELINE ── */
    .timeline-section{background:#fff}
    .timeline{position:relative;max-width:820px;margin:3rem auto 0;padding-left:2.5rem}
    .timeline::before{content:'';position:absolute;left:.85rem;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--azzurro),var(--az-chi))}
    .tl-item{position:relative;margin-bottom:2.5rem}
    .tl-item:last-child{margin-bottom:0}
    .tl-dot{position:absolute;left:-2.5rem;top:.25rem;width:1.7rem;height:1.7rem;background:var(--azzurro);border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid #fff;box-shadow:0 0 0 2px var(--azzurro)}
    .tl-dot svg{width:14px;height:14px;stroke:#fff;stroke-width:2.5}
    .tl-dot.tl-dot-muted{background:var(--az-med)}
    .tl-dot.tl-dot-muted{box-shadow:0 0 0 2px var(--az-med)}
    .tl-step{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--az-med);margin-bottom:.25rem}
    .tl-title{font-family:'Lora',serif;font-size:1.1rem;font-weight:700;color:var(--navy);margin-bottom:.4rem}
    .tl-body{font-size:.92rem;color:var(--grigio-muted);line-height:1.65}
    .tl-body strong{color:var(--navy)}
    .tl-tag{display:inline-block;background:var(--az-pastello);color:var(--azzurro);font-size:.74rem;font-weight:600;padding:.2rem .65rem;border-radius:100px;margin-top:.5rem}
    .tl-tag.green{background:#d8f3dc;color:#2d6a4f}

    /* ── SEZIONI A/B ── */
    .sezioni-section{background:var(--az-pastello)}
    .sezioni-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem;margin-top:2.5rem;max-width:900px;margin-left:auto;margin-right:auto}
    .sez-card{background:#fff;border-radius:16px;padding:2rem 1.8rem;box-shadow:0 4px 20px var(--ombra);border-top:4px solid var(--azzurro);position:relative;overflow:hidden}
    .sez-card.sez-b{border-top-color:#2d72a8}
    .sez-card.sez-a{border-top-color:#112040}
    .sez-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .85rem;border-radius:100px;margin-bottom:1.2rem}
    .sez-b .sez-badge{background:#dbeafe;color:#1e3a5f}
    .sez-a .sez-badge{background:#e8edf4;color:#112040}
    .sez-card h3{font-family:'Lora',serif;font-size:1.25rem;font-weight:700;color:var(--navy);margin-bottom:.3rem}
    .sez-card .sez-sub{font-size:.85rem;color:var(--grigio-muted);margin-bottom:1.4rem;line-height:1.5}
    .sez-req-title{font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--az-med);margin-bottom:.7rem}
    .sez-req-list{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.4rem}
    .sez-req-list li{display:flex;align-items:flex-start;gap:.6rem;font-size:.88rem;color:var(--testo-luce);line-height:1.5}
    .sez-req-list li .ic{background:var(--az-pastello);color:var(--azzurro);border-radius:50%;width:1.4rem;height:1.4rem;flex-shrink:0;margin-top:.1rem}
    .sez-a .sez-req-list li .ic{background:#e8edf4;color:var(--navy)}
    .sez-prove-title{font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--az-med);margin-bottom:.7rem}
    .sez-prove-list{display:flex;gap:.5rem;flex-wrap:wrap}
    .sez-prova{background:var(--az-pastello);color:var(--azzurro);font-size:.78rem;font-weight:600;padding:.3rem .75rem;border-radius:100px}
    .sez-a .sez-prova{background:#e8edf4;color:var(--navy)}
    .sez-divider{border:none;border-top:1px solid var(--az-chi);margin:1.3rem 0}
    .sez-footer{font-size:.82rem;color:var(--grigio-muted);line-height:1.5;display:flex;align-items:flex-start;gap:.5rem}
    .sez-footer svg{flex-shrink:0;color:var(--az-med);margin-top:.1rem}

    /* ── PROVE DETAIL ── */
    .prove-section{background:#fff}
    .prove-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
    .prova-card{background:var(--az-pastello);border-radius:14px;padding:1.6rem 1.5rem}
    .prova-num{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--az-med);margin-bottom:.6rem}
    .prova-icon{width:2.8rem;height:2.8rem;background:var(--azzurro);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
    .prova-icon svg{stroke:#fff;width:22px;height:22px}
    .prova-card h4{font-family:'Lora',serif;font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:.5rem}
    .prova-card p{font-size:.87rem;color:var(--grigio-muted);line-height:1.6}
    .prova-chip{display:inline-block;background:#fff;color:var(--azzurro);font-size:.76rem;font-weight:600;padding:.2rem .65rem;border-radius:100px;margin-top:.8rem}

    /* ── SESSIONI ── */
    .sessioni-section{background:var(--bianco-panna)}
    .sessioni-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem;max-width:780px}
    .sess-card{background:#fff;border-radius:14px;padding:1.5rem 1.6rem;box-shadow:0 2px 12px var(--ombra);border-left:4px solid var(--azzurro)}
    .sess-card h4{font-family:'Lora',serif;font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:.4rem}
    .sess-card p{font-size:.88rem;color:var(--grigio-muted);line-height:1.6}
    .sess-card .sess-tag{display:inline-block;background:var(--az-pastello);color:var(--azzurro);font-size:.76rem;font-weight:600;padding:.2rem .65rem;border-radius:100px;margin-top:.7rem}
    .sess-note{margin-top:1.5rem;max-width:780px;background:#fffbeb;border-radius:12px;padding:1rem 1.3rem;display:flex;gap:.8rem;align-items:flex-start;font-size:.88rem;color:#78350f;line-height:1.6}
    .sess-note svg{flex-shrink:0;color:#f59e0b;margin-top:.1rem}

    /* ── PREPARARSI ── */
    .prep-section{background:linear-gradient(135deg,#1a2f52,#1e3a5f)}
    .prep-section .section-label{color:#8ec5e0}
    .prep-section .section-title{color:#fff}
    .prep-section .section-title em{color:#8ec5e0}
    .prep-section .section-sub{color:rgba(255,255,255,.65)}
    .prep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
    .prep-card{background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.12);border-radius:16px;padding:1.8rem 1.6rem;transition:background .25s}
    .prep-card:hover{background:rgba(255,255,255,.11)}
    .prep-icon{width:2.8rem;height:2.8rem;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem}
    .prep-card h4{font-family:'Lora',serif;font-size:1rem;font-weight:700;color:#fff;margin-bottom:.5rem}
    .prep-card p{font-size:.87rem;color:rgba(255,255,255,.65);line-height:1.6}
    .prep-card a{display:inline-flex;align-items:center;gap:.4rem;color:#8ec5e0;font-size:.84rem;font-weight:600;text-decoration:none;margin-top:.9rem;transition:color .2s}
    .prep-card a:hover{color:#b0d0e8}
    .prep-card a svg{stroke:currentColor;width:15px;height:15px}

    /* ── FAQ ── */
    .faq-section{background:#fff}
    .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2.5rem;max-width:900px;align-items:start}
    .faq-item{background:var(--az-pastello);border-radius:14px;padding:1.4rem 1.5rem;cursor:pointer;transition:box-shadow .2s}
    .faq-item:hover{box-shadow:0 4px 16px var(--ombra)}
    .faq-q{font-size:.93rem;font-weight:600;color:var(--navy);display:flex;justify-content:space-between;align-items:flex-start;gap:.7rem;line-height:1.4}
    .faq-q svg{flex-shrink:0;stroke:var(--azzurro);transition:transform .25s;margin-top:.1rem}
    .faq-item.open .faq-q svg{transform:rotate(180deg)}
    .faq-a{font-size:.87rem;color:var(--grigio-muted);line-height:1.65;max-height:0;overflow:hidden;transition:max-height .3s ease, padding-top .3s}
    .faq-item.open .faq-a{max-height:300px;padding-top:.8rem}

    /* ── CTA SIMULATORE ── */
    .cta-sim{background:var(--az-pastello);padding:4rem 5%;text-align:center}
    .cta-sim-inner{max-width:680px;margin:0 auto}
    .cta-sim h2{font-family:'Lora',serif;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700;color:var(--navy);margin-bottom:.8rem}
    .cta-sim h2 em{font-style:italic;color:var(--azzurro)}
    .cta-sim p{font-size:.97rem;color:var(--grigio-muted);line-height:1.7;margin-bottom:1.8rem}
    .cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
    .btn{display:inline-flex;align-items:center;gap:.5rem;font-family:'DM Sans',sans-serif;font-size:.92rem;font-weight:600;padding:.75rem 1.6rem;border-radius:100px;text-decoration:none;transition:all .22s;cursor:pointer;border:none}
    .btn-primary{background:var(--azzurro);color:#fff}
    .btn-primary:hover{background:var(--blu)}
    .btn-outline{background:transparent;color:var(--azzurro);border:2px solid var(--azzurro)}
    .btn-outline:hover{background:var(--azzurro);color:#fff}

    /* ── FOOTER ── */
    .footer-main{background:var(--navy);color:rgba(255,255,255,.75);padding:3.5rem 5% 0}
    .footer-grid{display:grid;grid-template-columns:2fr 1.5fr 1.5fr;gap:3rem;max-width:1100px;margin:0 auto;padding-bottom:2.5rem}
    .footer-brand-logo{font-family:'Lora',serif;font-weight:700;font-size:1.05rem;color:#fff;text-decoration:none;display:flex;align-items:center;gap:.45rem;margin-bottom:.8rem}
    .footer-brand-logo svg,.footer-brand-logo span{color:#5a9cbf}
    .footer-brand p{font-size:.85rem;line-height:1.7;max-width:280px}
    .footer-brand-badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(90,156,191,.12);border:1px solid rgba(90,156,191,.25);border-radius:2rem;padding:.35rem .85rem;font-size:.78rem;color:#5a9cbf;margin-top:1.2rem}
    .footer-col-title{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:1rem}
    .footer-nav-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.55rem}
    .footer-nav-list a{color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s}
    .footer-nav-list a:hover{color:#b0d0e8}
    .footer-info-item{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.7rem;font-size:.84rem}
    .footer-info-item svg{flex-shrink:0;color:#5a9cbf;margin-top:.15rem}
    .footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.4rem 0;max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;font-size:.78rem;color:rgba(255,255,255,.35)}
    .footer-bottom-links{display:flex;gap:1.4rem}
    .footer-bottom-links a{color:rgba(255,255,255,.4);text-decoration:none;transition:color .2s}
    .footer-bottom-links a:hover{color:#5a9cbf}
    @media(max-width:820px){.footer-grid{grid-template-columns:1fr;gap:2rem}.footer-bottom{flex-direction:column;text-align:center}}

    /* ── HAMBURGER ── */
    .nav-hamburger{display:none;flex-direction:column;justify-content:space-between;width:2rem;height:1.4rem;background:transparent;border:none;cursor:pointer;padding:0}
    .nav-hamburger:hover{background:rgba(45,114,168,.15)}
    .nav-hamburger span{display:block;width:100%;height:2px;background:var(--navy);border-radius:2px;transition:transform .3s,opacity .3s}
    .nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
    .nav-hamburger.open span:nth-child(2){opacity:0}
    .nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

    @media(max-width:820px){
      .sezioni-grid{grid-template-columns:1fr}
      .prove-grid{grid-template-columns:1fr}
      .prep-grid{grid-template-columns:1fr}
      .faq-grid{grid-template-columns:1fr}
      .sessioni-row{grid-template-columns:1fr}
    }
    @media(max-width:768px){
      .nav-hamburger{display:flex}
      .nav-switch{display:none!important}
      .nav-links{
        display:none;position:absolute;top:100%;left:0;right:0;
        background:rgba(249,247,242,.98);border-bottom:1px solid var(--az-chi);
        flex-direction:column;gap:0;padding:.5rem 0
      }
      .nav-links.open{display:flex!important}
      .nav-links li{width:100%}
      .nav-links a{padding:.8rem 5%;font-size:.95rem;border-bottom:1px solid var(--az-pastello);color:var(--navy)!important}
      .nav-links li:last-child a{border-bottom:none}
      .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
    }
    @media(max-width:560px){
      .footer-grid{grid-template-columns:1fr}
      .ph-pills{flex-direction:column;align-items:center}
      .cta-btns{flex-direction:column;align-items:center}
    }

    /* ── MOBILE BOTTOM NAV ── */
    @media(max-width:768px){
      body{padding-top:54px;padding-bottom:calc(66px + env(safe-area-inset-bottom));overflow-y:auto;height:auto}
      .bottom-nav{
        position:fixed;bottom:0;left:0;right:0;z-index:300;
        background:rgba(249,247,242,.97);backdrop-filter:blur(14px);
        border-top:1px solid #d0e4f0;
        display:flex;justify-content:space-around;align-items:stretch;
        height:calc(58px + env(safe-area-inset-bottom));
        padding-bottom:env(safe-area-inset-bottom)
      }
      .bnav-tab{
        flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
        gap:3px;text-decoration:none;padding:.4rem .2rem;
        background:transparent;border:none;cursor:pointer;
        font-family:'DM Sans',sans-serif;transition:background .18s
      }
      .bnav-tab svg{stroke:#6b7280;width:20px;height:20px;stroke-width:1.7;fill:none;transition:stroke .18s}
      .bnav-tab span{font-size:.6rem;font-weight:500;color:#6b7280;letter-spacing:.02em;transition:color .18s;white-space:nowrap}
      .bnav-tab:active{background:#e5edf8!important}
      .bnav-tab.bnav-active{background:rgba(45,114,168,.07)}
      .bnav-tab.bnav-active svg{stroke:#0f2a4a!important}
      .bnav-tab.bnav-active span{color:#0f2a4a!important;font-weight:700!important}
      .bnav-tab.bnav-switch svg{stroke:#2d6a4f!important}
      .bnav-tab.bnav-switch span{color:#2d6a4f!important}
      nav{padding:.6rem 4%!important}
      .nav-logo{font-size:.95rem!important}
    }
    @media(min-width:769px){.bottom-nav{display:none!important}}

    /* ── SCROLL REVEAL ── */
    .reveal{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease}
    .reveal.visible{opacity:1;transform:none}
  


/* ===== Page source: blog.css ===== */



    :root {
      --verde-notte: #0d2b1f;
      --verde-scuro: #1a4030;
      --verde:       #2d6a4f;
      --verde-med:   #52b788;
      --verde-chi:   #b7e4c7;
      --verde-pale:  #d8f3dc;
      --bianco:      #f7fdf9;
      --carta:       #ffffff;
      --testo:       #1a2e24;
      --muted:       #6b7280;
      --bordo:       #cce8d8;
      --ombra:       rgba(13,43,31,.10);
    }
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{font-family:'DM Sans',sans-serif;background:var(--bianco);color:var(--testo);overflow-x:hidden;}
    .ic{display:inline-block;flex-shrink:0;line-height:0;}.ic svg{display:block;}
    a{text-decoration:none;}

    /* ── NAV ──────────────────────────────────────────────────── */
    nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(247,253,249,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--bordo);display:flex;align-items:center;justify-content:space-between;padding:.9rem 5%;}
    .nav-logo{font-family:'Lora',serif;font-weight:700;font-size:1.05rem;color:#2d6a4f;text-decoration:none;display:flex;align-items:center;gap:.5rem}
    .nav-logo span{color:#52b788}
    .nav-logo-img{height:32px;width:auto;display:block;}
    .nav-links{display:flex;gap:1.6rem;list-style:none;}
    .nav-links a{font-size:.88rem;font-weight:500;color:var(--muted);text-decoration:none;transition:color .25s;padding-bottom:2px;}
    .nav-links a:hover{color:var(--verde);}
    .nav-links a.active{color:var(--verde);font-weight:700;border-bottom:2px solid var(--verde-med);}
    .nav-switch{display:flex;align-items:center;gap:.4rem;background:#e0eff7;color:#1e3a5f;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.3rem .9rem .3rem .65rem;border-radius:100px;border:1.5px solid #b0d0e8;transition:background .25s;white-space:nowrap;}
    .nav-switch:hover{background:#b0d0e8;}
    

    /* ── HERO ─────────────────────────────────────────────────── */
    .blog-hero{
      min-height:80vh;display:flex;align-items:center;justify-content:center;
      text-align:center;padding:8rem 5% 5rem;position:relative;overflow:hidden;
      background-color:var(--verde-notte);
      background-image:
        radial-gradient(ellipse 80% 60% at 20% 15%, rgba(45,106,79,.75) 0%, transparent 60%),
        radial-gradient(ellipse 55% 65% at 82% 10%, rgba(26,64,48,.9) 0%, transparent 55%),
        radial-gradient(ellipse 50% 55% at 50% 60%, rgba(13,43,31,.6) 0%, transparent 65%),
        radial-gradient(ellipse 40% 50% at 5% 90%, rgba(82,183,136,.2) 0%, transparent 55%),
        radial-gradient(ellipse 60% 70% at 95% 85%, rgba(6,20,14,.85) 0%, transparent 55%);
    }
    .hero-blob{position:absolute;border-radius:50%;pointer-events:none;opacity:.18;filter:blur(60px);}
    .blob-1{width:500px;height:500px;background:radial-gradient(circle,#52b788,transparent 70%);top:-150px;left:-100px;animation:blobFloat 14s ease-in-out infinite alternate;}
    .blob-2{width:400px;height:400px;background:radial-gradient(circle,#2d6a4f,transparent 70%);bottom:-100px;right:-80px;animation:blobFloat 18s ease-in-out infinite alternate-reverse;}
    @keyframes blobFloat{0%{transform:translate(0,0) scale(1);}50%{transform:translate(30px,20px) scale(1.08);}100%{transform:translate(-20px,40px) scale(.95);}}
    .blog-hero-content{position:relative;z-index:2;max-width:720px;}
    .hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);color:var(--verde-chi);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.4rem 1.2rem;border-radius:100px;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(4px);margin-bottom:1.6rem;}
    .blog-hero-content h1{font-family:'Lora',serif;font-size:clamp(2.4rem,5vw,4rem);font-weight:700;color:#fff;line-height:1.16;margin-bottom:1.1rem;}
    .blog-hero-content h1 em{font-style:italic;color:var(--verde-chi);}
    .blog-hero-content p{font-size:1.08rem;color:rgba(255,255,255,.7);line-height:1.7;max-width:560px;margin:0 auto 2.4rem;}
    .hero-search{display:flex;align-items:center;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.22);border-radius:100px;padding:.55rem .55rem .55rem 1.4rem;max-width:440px;margin:0 auto;gap:.6rem;backdrop-filter:blur(8px);}
    .hero-search input{flex:1;background:none;border:none;outline:none;font-family:'DM Sans',sans-serif;font-size:.92rem;color:#fff;}
    .hero-search input::placeholder{color:rgba(255,255,255,.5);}
    .hero-search button{background:var(--verde);color:#fff;border:none;border-radius:100px;padding:.5rem 1.2rem;font-family:'DM Sans',sans-serif;font-size:.86rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:background .2s;}
    .hero-search button:hover{background:var(--verde-scuro);}
    .hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.35rem;color:rgba(255,255,255,.4);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;animation:bounce 2.2s ease-in-out infinite;}
    @keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(6px);}}
    .hero-scroll-line{width:1px;height:36px;background:linear-gradient(to bottom,rgba(255,255,255,.3),transparent);}

    /* ── CATEGORY FILTERS ─────────────────────────────────────── */
    .blog-cats{background:var(--carta);border-bottom:1px solid var(--bordo);padding:.9rem 5%;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;position:sticky;top:62px;z-index:80;}
    .cat-label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:.4rem;white-space:nowrap;}
    .cat-pill{padding:.32rem .9rem;border-radius:100px;border:1.5px solid var(--bordo);background:transparent;font-size:.8rem;font-weight:500;color:var(--muted);cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif;white-space:nowrap;}
    .cat-pill:hover{border-color:var(--verde-med);color:var(--verde);background:var(--verde-pale);}
    .cat-pill.active{background:var(--verde);border-color:var(--verde);color:#fff;font-weight:600;}

    /* ── FEATURED ARTICLE ─────────────────────────────────────── */
    .blog-featured{padding:4rem 5%;background:var(--bianco);}
    .feat-label{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--verde-med);margin-bottom:1.4rem;display:flex;align-items:center;gap:.5rem;}
    .feat-label::after{content:'';flex:1;height:1px;background:var(--bordo);}
    .feat-card{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:24px;overflow:hidden;box-shadow:0 8px 48px var(--ombra);max-width:1100px;margin:0 auto;}
    .feat-img{min-height:360px;background:linear-gradient(135deg,#b7e4c7 0%,#52b788 38%,#2d6a4f 68%,#0d2b1f 100%);position:relative;display:flex;align-items:flex-end;padding:2rem;}
    .feat-img-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(13,43,31,.2),rgba(13,43,31,.04));}
    .feat-cat-badge{position:relative;z-index:1;display:inline-flex;align-items:center;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .9rem;border-radius:100px;border:1px solid rgba(255,255,255,.3);}
    .feat-content{background:var(--carta);padding:2.8rem 2.4rem;display:flex;flex-direction:column;justify-content:center;}
    .feat-content .cat{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--verde-med);margin-bottom:.8rem;}
    .feat-content h2{font-family:'Lora',serif;font-size:clamp(1.4rem,2.5vw,1.85rem);font-style:italic;line-height:1.38;color:var(--testo);margin-bottom:1rem;}
    .feat-content p{font-size:.93rem;color:var(--muted);line-height:1.7;margin-bottom:1.6rem;flex:1;}
    .feat-author{display:flex;align-items:center;gap:.7rem;margin-bottom:1.4rem;}
    .feat-avatar{width:38px;height:38px;border-radius:50%;background:var(--verde-pale);display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;color:var(--verde);border:2px solid var(--verde-chi);}
    .feat-meta{font-size:.8rem;color:var(--muted);}
    .feat-meta strong{color:var(--testo);font-weight:600;}
    .feat-read{display:inline-flex;align-items:center;gap:.45rem;background:var(--verde);color:#fff;font-size:.88rem;font-weight:600;padding:.72rem 1.8rem;border-radius:100px;transition:all .25s;}
    .feat-read:hover{background:var(--verde-scuro);transform:translateX(3px);}
    @media(max-width:840px){.feat-card{grid-template-columns:1fr;}.feat-img{min-height:220px;}}

    /* ── ARTICLES GRID ────────────────────────────────────────── */
    .blog-grid-wrap{padding:3.5rem 5%;background:var(--bianco);}
    .grid-label{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--verde-med);margin-bottom:1.8rem;display:flex;align-items:center;gap:.5rem;}
    .grid-label::after{content:'';flex:1;height:1px;background:var(--bordo);}
    .articles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.8rem;max-width:1100px;margin:0 auto;}
    .art-card{border-radius:20px;overflow:hidden;background:var(--carta);box-shadow:0 4px 24px var(--ombra);transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s;display:flex;flex-direction:column;border:none;}
    .art-card:hover{transform:translateY(-6px);box-shadow:0 16px 48px rgba(13,43,31,.12);}
    .art-img{height:190px;position:relative;overflow:hidden;flex-shrink:0;}
    .art-img-inner{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .4s ease;}
    .art-card:hover .art-img-inner{transform:scale(1.05);}
    .art-img-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,rgba(13,43,31,.28) 100%);}
    .art-cat-badge{position:absolute;bottom:.75rem;left:.85rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:rgba(255,255,255,.88);backdrop-filter:blur(4px);color:var(--verde);padding:.22rem .7rem;border-radius:100px;}
    .art-body{padding:1.4rem 1.5rem 1.2rem;display:flex;flex-direction:column;flex:1;}
    .art-author{display:flex;align-items:center;gap:.6rem;margin-bottom:.85rem;}
    .art-avatar{width:32px;height:32px;border-radius:50%;background:var(--verde-pale);display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:800;color:var(--verde);border:2px solid #fff;box-shadow:0 1px 6px rgba(45,106,79,.2);flex-shrink:0;}
    .art-meta{display:flex;align-items:center;gap:.28rem;flex-wrap:wrap;font-size:.77rem;color:var(--muted);}
    .art-meta strong{color:var(--testo);font-weight:600;}
    .art-meta .dot{opacity:.4;}
    .art-body h3{font-family:'Lora',serif;font-style:italic;font-size:1.1rem;line-height:1.42;color:var(--testo);margin-bottom:.6rem;}
    .art-body p{font-size:.85rem;color:var(--muted);line-height:1.65;flex:1;}
    .art-divider{border:none;border-top:1px solid var(--bordo);margin:.95rem 0 .7rem;}
    .art-stats{display:flex;align-items:center;gap:1rem;font-size:.8rem;color:var(--muted);}
    .art-stat{display:flex;align-items:center;gap:.3rem;}
    .art-like{margin-left:auto;color:#f87171;cursor:pointer;font-size:.88rem;transition:transform .2s;}
    .art-like:hover{transform:scale(1.3);}

    .load-more-wrap{text-align:center;margin-top:2.8rem;}
    .btn-load{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--verde);border:1.5px solid var(--verde-chi);padding:.78rem 2rem;border-radius:100px;font-size:.9rem;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .25s;}
    .btn-load:hover{background:var(--verde-pale);border-color:var(--verde-med);}

    /* ── NEWSLETTER ───────────────────────────────────────────── */
    .newsletter{padding:5rem 5%;background:var(--verde);text-align:center;position:relative;overflow:hidden;}
    .newsletter::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 20% 50%,rgba(82,183,136,.35),transparent 65%),radial-gradient(ellipse 50% 70% at 80% 50%,rgba(13,43,31,.6),transparent 60%);pointer-events:none;}
    .newsletter-content{position:relative;z-index:1;max-width:560px;margin:0 auto;}
    .newsletter .badge{display:inline-block;background:rgba(255,255,255,.15);color:var(--verde-chi);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.3rem 1rem;border-radius:100px;border:1px solid rgba(255,255,255,.22);margin-bottom:1.4rem;}
    .newsletter h2{font-family:'Lora',serif;font-size:clamp(1.6rem,3vw,2.4rem);color:#fff;font-weight:700;line-height:1.25;margin-bottom:.8rem;}
    .newsletter p{color:rgba(255,255,255,.68);font-size:.97rem;line-height:1.65;margin-bottom:2rem;}
    .newsletter-form{display:flex;gap:.6rem;max-width:420px;margin:0 auto;flex-wrap:wrap;justify-content:center;}
    .newsletter-form input{flex:1;min-width:220px;background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.24);border-radius:100px;padding:.72rem 1.4rem;font-family:'DM Sans',sans-serif;font-size:.9rem;color:#fff;outline:none;}
    .newsletter-form input::placeholder{color:rgba(255,255,255,.48);}
    .newsletter-form button{background:#fff;color:var(--verde);border:none;border-radius:100px;padding:.72rem 1.8rem;font-family:'DM Sans',sans-serif;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap;}
    .newsletter-form button:hover{background:var(--verde-chi);}

    /* ── FOOTER ──────────────────────────────────────────────── */
    
    
    

    .fade-in{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
    .fade-in.visible{opacity:1;transform:none;}
  



footer.footer-main{background:#152e1f;color:rgba(255,255,255,.65);padding:4rem 5% 0;font-size:.88rem;line-height:1.7;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:3rem;max-width:1100px;margin:0 auto 3rem;}
.footer-brand-logo{font-family:'Lora',serif;font-weight:700;font-size:1.15rem;color:#fff;display:flex;align-items:center;gap:.5rem;text-decoration:none;margin-bottom:1rem;}
.footer-brand-logo svg,.footer-brand-logo span{color:#74c69d;}
.footer-brand p{font-size:.85rem;line-height:1.7;max-width:280px;}
.footer-brand-badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(116,198,157,.12);border:1px solid rgba(116,198,157,.25);border-radius:2rem;padding:.35rem .85rem;font-size:.78rem;color:#74c69d;margin-top:1.2rem;}
.footer-col-title{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:1rem;}
.footer-nav-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.55rem;}
.footer-nav-list a{color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s;}
.footer-nav-list a:hover{color:#a7f3d0;}
.footer-info-item{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.7rem;font-size:.84rem;}
.footer-info-item svg{flex-shrink:0;color:#74c69d;margin-top:.15rem;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.4rem 0;max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;font-size:.78rem;color:rgba(255,255,255,.35);}
.footer-bottom-links{display:flex;gap:1.4rem;}
.footer-bottom-links a{color:rgba(255,255,255,.4);text-decoration:none;transition:color .2s;}
.footer-bottom-links a:hover{color:#74c69d;}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr;gap:2rem;}.footer-bottom{flex-direction:column;text-align:center;}}


    /* ─── HAMBURGER NAV (responsive) ─────────────────────── */
    .nav-hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      cursor: pointer;
      background: none;
      border: none;
      padding: .4rem;
      border-radius: .4rem;
      transition: background .2s;
    }
    .nav-hamburger:hover { background: var(--verde-chiaro, #b7e4c7); }
    .nav-hamburger span {
      display: block;
      width: 24px; height: 2px;
      background: var(--verde-profondo, #2d6a4f);
      border-radius: 2px;
      transition: transform .3s, opacity .3s;
    }
    .nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2) { opacity: 0; }
    .nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    @media (max-width: 820px) {
      .nav-hamburger { display: flex; }
      .nav-switch { display: none !important; }
      .nav-links {
        display: none !important;
        position: fixed;
        top: 60px; left: 0; right: 0;
        background: rgba(249,247,242,.98);
        backdrop-filter: blur(12px);
        flex-direction: column !important;
        align-items: flex-start;
        gap: 0 !important;
        padding: 1rem 0 1.5rem;
        border-bottom: 2px solid var(--verde-chiaro, #b7e4c7);
        z-index: 99;
        box-shadow: 0 8px 24px rgba(0,0,0,.08);
      }
      .nav-links.open { display: flex !important; }
      .nav-links li { width: 100%; }
      .nav-links a {
        display: block;
        padding: .85rem 5%;
        font-size: 1rem !important;
        border-bottom: 1px solid var(--verde-chiaro, #b7e4c7);
      }
      .nav-links li:last-child a { border-bottom: none; }
    }

  
    @media (max-width: 820px) {
      .feat-card { grid-template-columns: 1fr; }
      .feat-img { max-height: 240px; }
      .blog-grid { grid-template-columns: 1fr 1fr; }
      .blog-layout { grid-template-columns: 1fr; }
      .blog-sidebar { display: none; }
    }
    @media (max-width: 500px) {
      .blog-grid { grid-template-columns: 1fr; }
    }

  
    @media (max-width: 820px) {
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
    }
    @media (max-width: 500px) {
      .footer-grid { grid-template-columns: 1fr; gap: 1.5rem; }
    }

  
    /* ═══════════════════════════════════════════════════
       BOTTOM TAB BAR — solo mobile (≤768px)
    ═══════════════════════════════════════════════════ */
    @media (max-width: 768px) {
      .nav-hamburger { display: none !important; }
      .nav-links      { display: none !important; }
      .nav-links.open { display: none !important; }
      .nav-switch     { display: none !important; }
      body { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important; }

      .bottom-nav {
        display: flex !important;
        position: fixed !important;
        bottom: 0 !important; left: 0 !important; right: 0 !important;
        height: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
        background: #ffffff !important;
        border-top: 2px solid #b7e4c7 !important;
        box-shadow: 0 -2px 16px rgba(45,106,79,.15) !important;
        z-index: 99999 !important;
        align-items: stretch !important;
      }
      .bnav-tab {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        text-decoration: none !important;
        color: #4a7055 !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        padding: .2rem .1rem !important;
        border-top: 3px solid transparent !important;
        -webkit-tap-highlight-color: transparent;
        height: 100%;
        box-sizing: border-box;
      }
      .bnav-tab svg {
        display: block !important;
        width: 22px !important; height: 22px !important;
        stroke: currentColor !important;
        stroke-width: 1.7 !important;
        fill: none !important;
        flex-shrink: 0 !important;
      }
      .bnav-tab span {
        display: block !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        color: inherit !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
        height: auto !important;
        background: none !important;
        max-width: 100% !important;
        text-align: center !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        padding: 0 2px !important;
        font-weight: 600 !important;
        font-family: 'DM Sans', sans-serif !important;
        letter-spacing: 0 !important;
        border-radius: 0 !important;
        transform: none !important;
      }
      .bnav-tab:active { background: #e8f8ee !important; }
      .bnav-tab.bnav-active {
        color: #1a5235 !important;
        border-top: 3px solid #3aaa6e !important;
        background: #edf9f2 !important;
        font-weight: 700 !important;
      }
      .bnav-tab.bnav-active svg { stroke: #1a5235 !important; }
      .bnav-tab.bnav-active span { color: #1a5235 !important; font-weight: 700 !important; }
      .bnav-tab.bnav-switch {
        color: #1e3a5f !important;
        border-left: 1px solid #d8e8f5 !important;
      }
      .bnav-tab.bnav-switch svg { stroke: #1e3a5f !important; }
      .bnav-tab.bnav-switch span { color: #1e3a5f !important; }
      nav { padding: .6rem 4% !important; }
    }
    @media (min-width: 769px) { .bottom-nav { display: none !important; } }

  



/* ===== Page source: blog-pro.css ===== */



    :root {
      --navy:    #112040;
      --blu:     #1e3a5f;
      --azzurro: #2d72a8;
      --az-med:  #5a9cbf;
      --az-chi:  #b0d0e8;
      --az-pale: #e0eff7;
      --bianco:  #f7f9fc;
      --carta:   #ffffff;
      --testo:   #1a1a2e;
      --muted:   #6b7280;
      --bordo:   #d0dce8;
      --ombra:   rgba(17,32,64,.10);
    }
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{font-family:'DM Sans',sans-serif;background:var(--bianco);color:var(--testo);overflow-x:hidden;}
    .ic{display:inline-block;flex-shrink:0;line-height:0;}.ic svg{display:block;}
    a{text-decoration:none;}

    /* ── NAV ──────────────────────────────────────────────────── */
    nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(247,249,252,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--bordo);display:flex;align-items:center;justify-content:space-between;padding:.9rem 5%;}
    .nav-logo{font-family:'Lora',serif;font-weight:700;font-size:1.05rem;color:#1e3a5f;text-decoration:none;display:flex;align-items:center;gap:.5rem}
    .nav-logo span{color:#5a9cbf}
    .nav-logo-img{height:32px;width:auto;display:block;}
    .nav-links{display:flex;gap:1.6rem;list-style:none;}
    .nav-links a{font-size:.88rem;font-weight:500;color:var(--muted);text-decoration:none;transition:color .25s;padding-bottom:2px;}
    .nav-links a:hover{color:var(--azzurro);}
    .nav-links a.active{color:var(--azzurro);font-weight:700;border-bottom:2px solid var(--az-med);}
    .nav-switch{display:flex;align-items:center;gap:.4rem;background:#d8f3dc;color:#2d6a4f;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.3rem .9rem .3rem .65rem;border-radius:100px;border:1.5px solid #b7e4c7;transition:background .25s;white-space:nowrap;}
    .nav-switch:hover{background:#b7e4c7;}
    

    /* ── HERO ─────────────────────────────────────────────────── */
    .blog-hero{
      min-height:80vh;display:flex;align-items:center;justify-content:center;
      text-align:center;padding:8rem 5% 5rem;position:relative;overflow:hidden;
      background-color:var(--navy);
      background-image:
        radial-gradient(ellipse 80% 60% at 20% 15%, rgba(45,114,168,.7) 0%, transparent 60%),
        radial-gradient(ellipse 55% 65% at 82% 10%, rgba(30,58,95,.9) 0%, transparent 55%),
        radial-gradient(ellipse 50% 55% at 50% 60%, rgba(17,32,64,.6) 0%, transparent 65%),
        radial-gradient(ellipse 40% 50% at 5% 90%, rgba(90,156,191,.25) 0%, transparent 55%),
        radial-gradient(ellipse 60% 70% at 95% 85%, rgba(8,20,50,.85) 0%, transparent 55%);
    }
    /* decorative blobs */
    .hero-blob{position:absolute;border-radius:50%;pointer-events:none;opacity:.18;filter:blur(60px);}
    .blob-1{width:500px;height:500px;background:radial-gradient(circle,#5a9cbf,transparent 70%);top:-150px;left:-100px;animation:blobFloat 14s ease-in-out infinite alternate;}
    .blob-2{width:400px;height:400px;background:radial-gradient(circle,#2d72a8,transparent 70%);bottom:-100px;right:-80px;animation:blobFloat 18s ease-in-out infinite alternate-reverse;}
    @keyframes blobFloat{0%{transform:translate(0,0) scale(1);}50%{transform:translate(30px,20px) scale(1.08);}100%{transform:translate(-20px,40px) scale(.95);}}
    .blog-hero-content{position:relative;z-index:2;max-width:720px;}
    .hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);color:var(--az-chi);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.4rem 1.2rem;border-radius:100px;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(4px);margin-bottom:1.6rem;}
    .blog-hero-content h1{font-family:'Lora',serif;font-size:clamp(2.4rem,5vw,4rem);font-weight:700;color:#fff;line-height:1.16;margin-bottom:1.1rem;}
    .blog-hero-content h1 em{font-style:italic;color:var(--az-chi);}
    .blog-hero-content p{font-size:1.08rem;color:rgba(255,255,255,.7);line-height:1.7;max-width:560px;margin:0 auto 2.4rem;}
    /* search bar */
    .hero-search{display:flex;align-items:center;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.22);border-radius:100px;padding:.55rem .55rem .55rem 1.4rem;max-width:440px;margin:0 auto;gap:.6rem;backdrop-filter:blur(8px);}
    .hero-search input{flex:1;background:none;border:none;outline:none;font-family:'DM Sans',sans-serif;font-size:.92rem;color:#fff;font-weight:400;}
    .hero-search input::placeholder{color:rgba(255,255,255,.5);}
    .hero-search button{background:var(--azzurro);color:#fff;border:none;border-radius:100px;padding:.5rem 1.2rem;font-family:'DM Sans',sans-serif;font-size:.86rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:background .2s;}
    .hero-search button:hover{background:#1e3a5f;}
    /* scroll hint */
    .hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.35rem;color:rgba(255,255,255,.4);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;animation:bounce 2.2s ease-in-out infinite;}
    @keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(6px);}}
    .hero-scroll-line{width:1px;height:36px;background:linear-gradient(to bottom,rgba(255,255,255,.3),transparent);}

    /* ── CATEGORY FILTERS ─────────────────────────────────────── */
    .blog-cats{background:var(--carta);border-bottom:1px solid var(--bordo);padding:.9rem 5%;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;position:sticky;top:62px;z-index:80;}
    .cat-label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:.4rem;white-space:nowrap;}
    .cat-pill{padding:.32rem .9rem;border-radius:100px;border:1.5px solid var(--bordo);background:transparent;font-size:.8rem;font-weight:500;color:var(--muted);cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif;white-space:nowrap;}
    .cat-pill:hover{border-color:var(--az-med);color:var(--azzurro);background:var(--az-pale);}
    .cat-pill.active{background:var(--azzurro);border-color:var(--azzurro);color:#fff;font-weight:600;}

    /* ── FEATURED ARTICLE ─────────────────────────────────────── */
    .blog-featured{padding:4rem 5%;background:var(--bianco);}
    .feat-label{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--az-med);margin-bottom:1.4rem;display:flex;align-items:center;gap:.5rem;}
    .feat-label::after{content:'';flex:1;height:1px;background:var(--bordo);}
    .feat-card{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:24px;overflow:hidden;box-shadow:0 8px 48px var(--ombra);max-width:1100px;margin:0 auto;}
    .feat-img{min-height:360px;background:linear-gradient(135deg,#c9dff0 0%,#6b9fc0 35%,#2d72a8 65%,#112040 100%);position:relative;display:flex;align-items:flex-end;padding:2rem;}
    .feat-img-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(17,32,64,.25),rgba(17,32,64,.05));}
    .feat-cat-badge{position:relative;z-index:1;display:inline-flex;align-items:center;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .9rem;border-radius:100px;border:1px solid rgba(255,255,255,.3);}
    .feat-content{background:var(--carta);padding:2.8rem 2.4rem;display:flex;flex-direction:column;justify-content:center;}
    .feat-content .cat{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--az-med);margin-bottom:.8rem;}
    .feat-content h2{font-family:'Lora',serif;font-size:clamp(1.4rem,2.5vw,1.85rem);font-style:italic;line-height:1.38;color:var(--testo);margin-bottom:1rem;}
    .feat-content p{font-size:.93rem;color:var(--muted);line-height:1.7;margin-bottom:1.6rem;flex:1;}
    .feat-author{display:flex;align-items:center;gap:.7rem;margin-bottom:1.4rem;}
    .feat-avatar{width:38px;height:38px;border-radius:50%;background:var(--az-pale);display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;color:var(--azzurro);border:2px solid var(--az-chi);}
    .feat-meta{font-size:.8rem;color:var(--muted);}
    .feat-meta strong{color:var(--testo);font-weight:600;}
    .feat-read{display:inline-flex;align-items:center;gap:.45rem;background:var(--azzurro);color:#fff;font-size:.88rem;font-weight:600;padding:.72rem 1.8rem;border-radius:100px;transition:all .25s;}
    .feat-read:hover{background:var(--blu);transform:translateX(3px);}
    @media(max-width:840px){.feat-card{grid-template-columns:1fr;}.feat-img{min-height:220px;}}

    /* ── ARTICLES GRID ────────────────────────────────────────── */
    .blog-grid-wrap{padding:3.5rem 5%;background:var(--bianco);}
    .grid-label{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--az-med);margin-bottom:1.8rem;display:flex;align-items:center;gap:.5rem;}
    .grid-label::after{content:'';flex:1;height:1px;background:var(--bordo);}
    .articles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.8rem;max-width:1100px;margin:0 auto;}
    /* Magazine card */
    .art-card{border-radius:20px;overflow:hidden;background:var(--carta);box-shadow:0 4px 24px var(--ombra);transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s;display:flex;flex-direction:column;border:none;}
    .art-card:hover{transform:translateY(-6px);box-shadow:0 16px 48px rgba(17,32,64,.14);}
    .art-img{height:190px;position:relative;overflow:hidden;flex-shrink:0;}
    .art-img-inner{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .4s ease;}
    .art-card:hover .art-img-inner{transform:scale(1.05);}
    .art-img-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,rgba(17,32,64,.3) 100%);}
    .art-cat-badge{position:absolute;bottom:.75rem;left:.85rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:rgba(255,255,255,.88);backdrop-filter:blur(4px);color:var(--azzurro);padding:.22rem .7rem;border-radius:100px;}
    .art-body{padding:1.4rem 1.5rem 1.2rem;display:flex;flex-direction:column;flex:1;}
    .art-author{display:flex;align-items:center;gap:.6rem;margin-bottom:.85rem;}
    .art-avatar{width:32px;height:32px;border-radius:50%;background:var(--az-pale);display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:800;color:var(--azzurro);border:2px solid #fff;box-shadow:0 1px 6px rgba(90,156,191,.2);flex-shrink:0;}
    .art-meta{display:flex;align-items:center;gap:.28rem;flex-wrap:wrap;font-size:.77rem;color:var(--muted);}
    .art-meta strong{color:var(--testo);font-weight:600;}
    .art-meta .dot{opacity:.4;}
    .art-body h3{font-family:'Lora',serif;font-style:italic;font-size:1.1rem;line-height:1.42;color:var(--testo);margin-bottom:.6rem;}
    .art-body p{font-size:.85rem;color:var(--muted);line-height:1.65;flex:1;}
    .art-divider{border:none;border-top:1px solid var(--bordo);margin:.95rem 0 .7rem;}
    .art-stats{display:flex;align-items:center;gap:1rem;font-size:.8rem;color:var(--muted);}
    .art-stat{display:flex;align-items:center;gap:.3rem;}
    .art-like{margin-left:auto;color:#f87171;cursor:pointer;font-size:.88rem;transition:transform .2s;}
    .art-like:hover{transform:scale(1.3);}

    /* ── LOAD MORE ────────────────────────────────────────────── */
    .load-more-wrap{text-align:center;margin-top:2.8rem;}
    .btn-load{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--azzurro);border:1.5px solid var(--az-chi);padding:.78rem 2rem;border-radius:100px;font-size:.9rem;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .25s;}
    .btn-load:hover{background:var(--az-pale);border-color:var(--az-med);}

    /* ── NEWSLETTER ───────────────────────────────────────────── */
    .newsletter{padding:5rem 5%;background:var(--blu);text-align:center;position:relative;overflow:hidden;}
    .newsletter::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 20% 50%,rgba(45,114,168,.4),transparent 65%),radial-gradient(ellipse 50% 70% at 80% 50%,rgba(17,32,64,.8),transparent 60%);pointer-events:none;}
    .newsletter-content{position:relative;z-index:1;max-width:560px;margin:0 auto;}
    .newsletter .badge{display:inline-block;background:rgba(255,255,255,.12);color:var(--az-chi);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.3rem 1rem;border-radius:100px;border:1px solid rgba(255,255,255,.2);margin-bottom:1.4rem;}
    .newsletter h2{font-family:'Lora',serif;font-size:clamp(1.6rem,3vw,2.4rem);color:#fff;font-weight:700;line-height:1.25;margin-bottom:.8rem;}
    .newsletter p{color:rgba(255,255,255,.65);font-size:.97rem;line-height:1.65;margin-bottom:2rem;}
    .newsletter-form{display:flex;gap:.6rem;max-width:420px;margin:0 auto;flex-wrap:wrap;justify-content:center;}
    .newsletter-form input{flex:1;min-width:220px;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.22);border-radius:100px;padding:.72rem 1.4rem;font-family:'DM Sans',sans-serif;font-size:.9rem;color:#fff;outline:none;transition:border-color .2s;}
    .newsletter-form input::placeholder{color:rgba(255,255,255,.45);}
    .newsletter-form input:focus{border-color:rgba(255,255,255,.55);}
    .newsletter-form button{background:#fff;color:var(--blu);border:none;border-radius:100px;padding:.72rem 1.8rem;font-family:'DM Sans',sans-serif;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap;}
    .newsletter-form button:hover{background:var(--az-chi);}

    /* ── FOOTER ──────────────────────────────────────────────── */
    
    
    

    /* ── FADE IN ─────────────────────────────────────────────── */
    .fade-in{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
    .fade-in.visible{opacity:1;transform:none;}
  



footer.footer-main{background:#091629;color:rgba(255,255,255,.65);padding:4rem 5% 0;font-size:.88rem;line-height:1.7;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:3rem;max-width:1100px;margin:0 auto 3rem;}
.footer-brand-logo{font-family:'Lora',serif;font-weight:700;font-size:1.15rem;color:#fff;display:flex;align-items:center;gap:.5rem;text-decoration:none;margin-bottom:1rem;}
.footer-brand-logo svg,.footer-brand-logo span{color:#5a9cbf;}
.footer-brand p{font-size:.85rem;line-height:1.7;max-width:280px;}
.footer-brand-badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(90,156,191,.12);border:1px solid rgba(90,156,191,.25);border-radius:2rem;padding:.35rem .85rem;font-size:.78rem;color:#5a9cbf;margin-top:1.2rem;}
.footer-col-title{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:1rem;}
.footer-nav-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.55rem;}
.footer-nav-list a{color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s;}
.footer-nav-list a:hover{color:#b0d0e8;}
.footer-info-item{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.7rem;font-size:.84rem;}
.footer-info-item svg{flex-shrink:0;color:#5a9cbf;margin-top:.15rem;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.4rem 0;max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;font-size:.78rem;color:rgba(255,255,255,.35);}
.footer-bottom-links{display:flex;gap:1.4rem;}
.footer-bottom-links a{color:rgba(255,255,255,.4);text-decoration:none;transition:color .2s;}
.footer-bottom-links a:hover{color:#5a9cbf;}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr;gap:2rem;}.footer-bottom{flex-direction:column;text-align:center;}}


    /* ─── HAMBURGER NAV (responsive) ─────────────────────── */
    .nav-hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      cursor: pointer;
      background: none;
      border: none;
      padding: .4rem;
      border-radius: .4rem;
      transition: background .2s;
    }
    .nav-hamburger:hover { background: rgba(45,114,168,.15); }
    .nav-hamburger span {
      display: block;
      width: 24px; height: 2px;
      background: var(--navy, #112040);
      border-radius: 2px;
      transition: transform .3s, opacity .3s;
    }
    .nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2) { opacity: 0; }
    .nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    @media (max-width: 820px) {
      .nav-hamburger { display: flex; }
      .nav-switch { display: none !important; }
      .nav-links {
        display: none !important;
        position: fixed;
        top: 60px; left: 0; right: 0;
        background: rgba(249,247,242,.98);
        backdrop-filter: blur(12px);
        flex-direction: column !important;
        align-items: flex-start;
        gap: 0 !important;
        padding: 1rem 0 1.5rem;
        border-bottom: 2px solid #b7cde8;
        z-index: 99;
        box-shadow: 0 8px 24px rgba(0,0,0,.1);
      }
      .nav-links.open { display: flex !important; }
      .nav-links li { width: 100%; }
      .nav-links a {
        display: block;
        padding: .85rem 5%;
        font-size: 1rem !important;
        border-bottom: 1px solid #d0dff0;
        color: var(--navy, #112040) !important;
      }
      .nav-links li:last-child a { border-bottom: none; }
    }

  
    @media (max-width: 820px) {
      .feat-card { grid-template-columns: 1fr; }
      .feat-img { max-height: 240px; }
      .blog-grid { grid-template-columns: 1fr 1fr; }
      .blog-layout { grid-template-columns: 1fr; }
      .blog-sidebar { display: none; }
    }
    @media (max-width: 500px) {
      .blog-grid { grid-template-columns: 1fr; }
    }

  
    @media (max-width: 820px) {
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
    }
    @media (max-width: 500px) {
      .footer-grid { grid-template-columns: 1fr; gap: 1.5rem; }
    }

  
    /* ═══════════════════════════════════════════════════
       BOTTOM TAB BAR — solo mobile (≤768px)
    ═══════════════════════════════════════════════════ */
    @media (max-width: 768px) {
      .nav-hamburger { display: none !important; }
      .nav-links      { display: none !important; }
      .nav-links.open { display: none !important; }
      .nav-switch     { display: none !important; }
      body { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important; }

      .bottom-nav {
        display: flex !important;
        position: fixed !important;
        bottom: 0 !important; left: 0 !important; right: 0 !important;
        height: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
        background: #ffffff !important;
        border-top: 2px solid #b7cde8 !important;
        box-shadow: 0 -2px 16px rgba(17,32,64,.15) !important;
        z-index: 99999 !important;
        align-items: stretch !important;
      }
      .bnav-tab {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        text-decoration: none !important;
        color: #4a6080 !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        padding: .2rem .1rem !important;
        border-top: 3px solid transparent !important;
        -webkit-tap-highlight-color: transparent;
        height: 100%;
        box-sizing: border-box;
      }
      .bnav-tab svg {
        display: block !important;
        width: 22px !important; height: 22px !important;
        stroke: currentColor !important;
        stroke-width: 1.7 !important;
        fill: none !important;
        flex-shrink: 0 !important;
      }
      .bnav-tab span {
        display: block !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        color: inherit !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
        height: auto !important;
        background: none !important;
        max-width: 100% !important;
        text-align: center !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        padding: 0 2px !important;
        font-weight: 600 !important;
        font-family: 'DM Sans', sans-serif !important;
        letter-spacing: 0 !important;
        border-radius: 0 !important;
        transform: none !important;
      }
      .bnav-tab:active { background: #e5edf8 !important; }
      .bnav-tab.bnav-active {
        color: #0f2a4a !important;
        border-top: 3px solid #2d72a8 !important;
        background: #e8f0f9 !important;
        font-weight: 700 !important;
      }
      .bnav-tab.bnav-active svg { stroke: #0f2a4a !important; }
      .bnav-tab.bnav-active span { color: #0f2a4a !important; font-weight: 700 !important; }
      .bnav-tab.bnav-switch {
        color: #2d6a4f !important;
        border-left: 1px solid #d0e8d8 !important;
      }
      .bnav-tab.bnav-switch svg { stroke: #2d6a4f !important; }
      .bnav-tab.bnav-switch span { color: #2d6a4f !important; }
      nav { padding: .6rem 4% !important; }
    }
    @media (min-width: 769px) { .bottom-nav { display: none !important; } }

  



/* ===== Page source: profilo-utente.css ===== */

body.aso-page-login,
body.aso-page-registrati,
body.aso-page-prova-guest,
body.aso-page-benvenuto,
body.aso-page-a-presto {
	background: #f5f7f3;
}

.aso-user-page {
	box-sizing: border-box;
	width: 100%;
	max-width: 100vw;
	min-height: calc(100vh - 64px);
	overflow-x: hidden;
	background:
		linear-gradient(180deg, rgba(216, 243, 220, .45) 0%, rgba(245, 247, 243, 0) 320px),
		#f5f7f3;
	color: #17221b;
}

.aso-user-page *,
.aso-user-page *::before,
.aso-user-page *::after {
	box-sizing: border-box;
}

body.aso-shell-page .aso-user-page > .aso-user-hero,
body.aso-shell-page .aso-user-page > .aso-user-content {
	box-sizing: border-box;
	width: min(calc(100vw - 2rem), 960px) !important;
	max-width: calc(100vw - 2rem) !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
	overflow-wrap: break-word;
}

body.aso-shell-page .aso-user-page > .aso-user-hero {
	padding-top: clamp(3rem, 6vw, 5rem) !important;
	padding-bottom: clamp(1.8rem, 4vw, 3rem) !important;
}

body.aso-shell-page .aso-user-page > .aso-user-content {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.aso-user-page .aso-user-kicker {
	margin-bottom: .85rem;
	color: var(--verde-profondo, #2d6a4f);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.aso-user-page .aso-user-hero h1 {
	max-width: 760px;
	margin: 0;
	color: #17221b;
	font-family: var(--font-heading, "Lora", serif);
	font-size: clamp(2.1rem, 5vw, 3.8rem);
	line-height: 1.08;
}

.aso-user-page .aso-user-hero p {
	max-width: 700px;
	margin: 1rem 0 0;
	color: #617064;
	font-size: 1.03rem;
	line-height: 1.65;
}

.aso-user-page .aso-login-gate,
.aso-user-page .aso-login-card,
.aso-user-page .aso-auth-panel {
	min-width: 0;
	max-width: 100%;
}

@media (max-width: 640px) {
	body.aso-shell-page .aso-user-page > .aso-user-hero,
	body.aso-shell-page .aso-user-page > .aso-user-content {
		width: calc(100vw - 1.25rem) !important;
		max-width: calc(100vw - 1.25rem) !important;
	}

	body.aso-shell-page .aso-user-page > .aso-user-hero {
		padding-top: 2.3rem !important;
		padding-bottom: 1.5rem !important;
	}
}


body.aso-page-profilo-utente {
	background: #f5f7f3;
}

.aso-user-page-profile {
	--aso-profile-bg: #f5f7f3;
	--aso-profile-surface: #ffffff;
	--aso-profile-border: #d9e6dd;
	--aso-profile-ink: #17221b;
	--aso-profile-muted: #617064;
	--aso-profile-accent: var(--verde-profondo, #2d6a4f);
	--aso-profile-accent-soft: #e8f5ec;
	--aso-profile-sky-soft: #eef6f9;
	min-height: calc(100vh - 64px);
	padding-bottom: 5rem;
	background:
		linear-gradient(180deg, rgba(216, 243, 220, .45) 0%, rgba(245, 247, 243, 0) 320px),
		var(--aso-profile-bg);
	color: var(--aso-profile-ink);
}

body.aso-shell-page .aso-user-page-profile > .aso-user-hero,
body.aso-shell-page .aso-user-page-profile > .aso-user-content {
	box-sizing: border-box;
	width: min(calc(100% - 2rem), 1200px) !important;
	max-width: 1200px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

body.aso-shell-page .aso-user-page-profile > .aso-user-hero {
	padding-top: clamp(3rem, 6vw, 5rem) !important;
	padding-bottom: clamp(1.8rem, 4vw, 3rem) !important;
}

body.aso-shell-page .aso-user-page-profile > .aso-user-content {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.aso-user-page-profile .aso-user-kicker {
	margin-bottom: .85rem;
	color: var(--aso-profile-accent);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.aso-user-page-profile .aso-user-hero h1 {
	max-width: 760px;
	margin: 0;
	color: #17221b;
	font-family: var(--font-heading, "Lora", serif);
	font-size: clamp(2.1rem, 5vw, 3.8rem);
	line-height: 1.08;
}

.aso-user-page-profile .aso-user-hero p {
	max-width: 700px;
	margin: 1rem 0 0;
	color: var(--aso-profile-muted);
	font-size: 1.03rem;
	line-height: 1.65;
}

.aso-user-page-profile .aso-welcome {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	margin-top: 1.25rem !important;
	padding: .35rem .8rem;
	border: 1px solid rgba(45, 106, 79, .18);
	border-radius: 8px;
	background: rgba(255, 255, 255, .72);
	color: var(--aso-profile-accent) !important;
	font-weight: 800;
}

.aso-user-page-profile .aso-user-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
	gap: clamp(1rem, 2.4vw, 1.5rem);
	align-items: start;
}

.aso-user-page-profile .aso-user-main,
.aso-user-page-profile .aso-user-side {
	border: 1px solid var(--aso-profile-border);
	border-radius: 8px;
	background: var(--aso-profile-surface);
	box-shadow: 0 18px 45px rgba(32, 72, 49, .08);
}

.aso-user-page-profile .aso-user-main {
	min-width: 0;
	padding: clamp(1.25rem, 3vw, 2rem);
}

.aso-user-page-profile .aso-user-main > h2,
.aso-user-page-profile .aso-user-side > h2 {
	margin: 0;
	color: #17221b;
	font-family: var(--font-heading, "Lora", serif);
	line-height: 1.15;
}

.aso-user-page-profile .aso-user-main > h2 {
	margin-bottom: 1.2rem;
	font-size: clamp(1.35rem, 2.4vw, 1.8rem);
}

.aso-user-page-profile .aso-profile-summary {
	border: 0;
	border-radius: 0;
	background: transparent;
	padding: 0;
}

.aso-user-page-profile .aso-profile-view,
.aso-user-page-profile .aso-profile-edit {
	min-width: 0;
}

.aso-user-page-profile .aso-profile-head {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 1rem 1.25rem;
	align-items: start;
}

.aso-user-page-profile .aso-profile-head img {
	width: 76px;
	height: 76px;
	border: 4px solid #eef6f0;
	border-radius: 50%;
	box-shadow: 0 10px 25px rgba(23, 34, 27, .12);
}

.aso-user-page-profile .aso-profile-head > div {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .75rem;
	min-width: 0;
}

.aso-user-page-profile .aso-profile-head p,
.aso-user-page-profile .aso-profile-fields p {
	min-width: 0;
	margin: 0;
	padding: .75rem .85rem;
	border: 1px solid rgba(217, 230, 221, .9);
	border-radius: 8px;
	background: #f8fbf8;
	color: #233026;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.aso-user-page-profile .aso-profile-head p strong,
.aso-user-page-profile .aso-profile-fields p strong {
	display: block;
	margin-bottom: .15rem;
	color: var(--aso-profile-muted);
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.aso-user-page-profile .aso-profile-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .75rem;
	margin-top: .75rem;
}

.aso-user-page-profile .aso-profile-fields:empty {
	display: none;
}

.aso-user-page-profile .aso-profile-view > .aso-button {
	margin-top: 1.1rem;
}

.aso-user-page-profile .aso-button,
.aso-user-page-profile .aso-logout-button,
.aso-user-page-profile .aso-delete-profile {
	min-height: 44px;
	border-radius: 8px;
	font-weight: 800;
}

.aso-user-page-profile .aso-button {
	border-color: var(--aso-profile-accent);
	color: var(--aso-profile-accent);
}

.aso-user-page-profile .aso-button:hover,
.aso-user-page-profile .aso-logout-button:hover {
	background: var(--aso-profile-accent);
	color: #ffffff;
}

.aso-user-page-profile .aso-user-side {
	position: sticky;
	top: 96px;
	overflow: hidden;
	padding: 1.25rem;
}

.aso-user-page-profile .aso-user-side::before {
	display: block;
	width: calc(100% + 2.5rem);
	height: 5px;
	margin: -1.25rem -1.25rem 1.1rem;
	background: linear-gradient(90deg, var(--aso-profile-accent), #4aa3a8);
	content: "";
}

.aso-user-page-profile .aso-user-side > h2 {
	margin-bottom: .85rem;
	font-size: 1.25rem;
}

.aso-user-page-profile .aso-user-quota {
	display: flex;
	min-height: 132px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	border: 1px solid rgba(45, 106, 79, .16);
	border-radius: 8px;
	background:
		linear-gradient(145deg, rgba(232, 245, 236, .95), rgba(238, 246, 249, .95)),
		#f7fbf8;
	color: var(--aso-profile-accent);
	font-size: clamp(3rem, 8vw, 4.6rem);
	font-weight: 800;
	line-height: .95;
}

.aso-user-page-profile .aso-user-quota::after {
	margin-top: .35rem;
	color: var(--aso-profile-muted);
	font-family: var(--font-body, "DM Sans", sans-serif);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .12em;
	line-height: 1;
	text-transform: uppercase;
	content: "crediti";
}

.aso-user-page-profile .aso-user-side > p {
	margin: 1rem 0 0;
	color: var(--aso-profile-muted);
	font-size: .96rem;
	line-height: 1.55;
}

.aso-user-page-profile .aso-user-actions {
	display: grid;
	gap: .75rem;
	margin-top: 1.2rem;
}

.aso-user-page-profile .aso-user-actions .aso-logout-button,
.aso-user-page-profile .aso-user-actions .aso-delete-profile {
	width: 100%;
	padding: .75rem 1rem;
}

.aso-user-page-profile .aso-user-actions .dashicons {
	width: 18px;
	height: 18px;
	font-size: 18px;
	line-height: 18px;
}

.aso-user-page-profile .aso-delete-profile {
	border-color: #c2410c;
	color: #c2410c;
}

.aso-user-page-profile .aso-delete-profile:hover {
	border-color: #c2410c;
	background: #c2410c;
	color: #ffffff;
}

.aso-user-page-profile .aso-muted {
	margin: 0;
	padding: .85rem;
	border: 1px solid #fed7aa;
	border-radius: 8px;
	background: #fff7ed;
	color: #7c2d12;
	font-size: .9rem;
	line-height: 1.45;
}

@media (max-width: 920px) {
	.aso-user-page-profile .aso-user-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.aso-user-page-profile .aso-user-side {
		position: static;
	}
}

@media (max-width: 640px) {
	.aso-user-page-profile {
		padding-bottom: calc(4rem + env(safe-area-inset-bottom, 0px));
	}

	body.aso-shell-page .aso-user-page-profile > .aso-user-hero,
	body.aso-shell-page .aso-user-page-profile > .aso-user-content {
		width: min(calc(100% - 1.25rem), 1200px) !important;
	}

	body.aso-shell-page .aso-user-page-profile > .aso-user-hero {
		padding-top: 2.3rem !important;
		padding-bottom: 1.5rem !important;
	}

	.aso-user-page-profile .aso-profile-head,
	.aso-user-page-profile .aso-profile-head > div,
	.aso-user-page-profile .aso-profile-fields {
		grid-template-columns: minmax(0, 1fr);
	}

	.aso-user-page-profile .aso-profile-head img {
		width: 68px;
		height: 68px;
	}
}

/* ===== ASO shell overrides ===== */
html {
	scroll-padding-top: 82px;
	background: var(--aso-footer-bg, #152e1f);
}

html.aso-footer-green {
	--aso-footer-bg: #152e1f;
	--aso-footer-accent: #74c69d;
	--aso-footer-accent-hover: #a7f3d0;
}

html.aso-footer-blue {
	--aso-footer-bg: #091629;
	--aso-footer-accent: #5a9cbf;
	--aso-footer-accent-hover: #b0d0e8;
}

body {
	min-height: 100vh;
	height: auto;
	overflow-x: hidden;
	overflow-y: auto;
}

body.aso-shell-page {
	width: 100%;
	min-width: 0;
}

body.admin-bar .aso-main-nav {
	top: 32px;
}

.site {
	min-height: 100vh;
}

body.aso-shell-page #page,
body.aso-shell-page .site,
body.aso-shell-page .site-main,
body.aso-shell-page .entry-content,
body.aso-shell-page .page-content {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
}

body.aso-shell-page .site-main {
	padding-bottom: 0 !important;
}

body.aso-shell-page #page {
	overflow-x: hidden;
}

body.aso-shell-page #page > :where(main, section, header, footer, .gateway, .hero, .page-hero),
body.aso-shell-page .site > :where(main, section, header, footer, .gateway, .hero, .page-hero),
body.aso-shell-page .site-main > :where(main, section, header, footer, .gateway, .hero, .page-hero),
body.aso-shell-page .entry-content > :where(main, section, header, footer, .gateway, .hero, .page-hero),
body.aso-shell-page .page-content > :where(main, section, header, footer, .gateway, .hero, .page-hero) {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.site-main {
	display: block;
}

.gateway.site-main {
	display: flex;
}

.gateway > :not(.gateway-cards) {
	max-width: 100%;
}

.gateway-cards {
	margin-left: auto;
	margin-right: auto;
	max-width: 820px;
}

html.aso-front-page-html,
body.aso-front-page-standalone {
	width: 100%;
	min-height: 100%;
	background: #b8d9c4;
}

body.aso-front-page-standalone {
	margin: 0;
	min-height: 100vh;
	overflow-x: hidden;
	overflow-y: auto;
}

body.aso-front-page-standalone .gateway {
	box-sizing: border-box;
	width: 100vw !important;
	max-width: none !important;
	min-height: 100vh !important;
	margin: 0 !important;
}

body.aso-front-page-standalone .gateway-cards {
	width: 100%;
	max-width: 820px;
}

.gateway-logo span,
.gateway-headline h1,
.gateway-headline p,
.gw-card h2,
.gw-card p,
.gw-card-cta,
.gw-tag {
	overflow-wrap: anywhere;
}

.aso-svg-sprite {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
}

.aso-site-header {
	position: relative;
	z-index: 500;
}

.aso-main-nav .nav-logo-img {
	width: 28px;
	height: 28px;
	object-fit: contain;
}

.aso-main-nav .nav-logo,
.aso-main-nav .nav-links,
.aso-main-nav .nav-switch,
.aso-main-nav .aso-area-switch {
	align-self: center;
}

.aso-main-nav .nav-links {
	margin: 0;
	padding: 0;
	align-items: center;
}

.aso-main-nav .nav-links li {
	display: flex;
	align-items: center;
	margin: 0;
}

.aso-main-nav .nav-links a {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0 0 2px;
	border-bottom: 2px solid transparent;
	line-height: 1;
}

.aso-main-nav .nav-logo span span,
.footer-brand-logo span {
	color: var(--verde-medio, #52b788);
}

.aso-main-nav .aso-area-switch {
	--aso-switch-bg: #d8f3dc;
	--aso-switch-border: #b7e4c7;
	--aso-switch-text: #2d6a4f;
	--aso-switch-active: #2d6a4f;
	box-sizing: border-box;
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 2px;
	min-height: 38px;
	padding: 3px;
	border: 1.5px solid var(--aso-switch-border);
	border-radius: 999px;
	background: var(--aso-switch-bg);
	box-shadow: 0 8px 22px rgba(45, 106, 79, .08);
}

.aso-main-nav .aso-area-switch.is-professionisti {
	--aso-switch-bg: #e0eff7;
	--aso-switch-border: #b0d0e8;
	--aso-switch-text: #1e3a5f;
	--aso-switch-active: #5a9cbf;
	box-shadow: 0 8px 22px rgba(90, 156, 191, .12);
}

.aso-main-nav .aso-area-switch-option {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 0 .85rem;
	border-radius: 999px;
	color: var(--aso-switch-text);
	font-size: .82rem;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition:
		background .2s ease,
		color .2s ease,
		box-shadow .2s ease;
}

.aso-main-nav .aso-area-switch-option:hover {
	background: rgba(255, 255, 255, .55);
	color: var(--aso-switch-text);
}

.aso-main-nav .aso-area-switch.is-cittadini .aso-area-switch-cittadini,
.aso-main-nav .aso-area-switch.is-professionisti .aso-area-switch-professionisti {
	background: var(--aso-switch-active);
	color: #fff;
	box-shadow: 0 5px 14px rgba(20, 83, 66, .14);
}

.aso-main-nav .nav-hamburger {
	display: none;
}

.aso-site-footer {
	position: relative;
	z-index: 2;
	margin-bottom: 0;
	width: 100%;
	overflow-x: clip;
	background: var(--aso-footer-bg, #152e1f) !important;
}

.aso-site-footer,
.aso-site-footer * {
	box-sizing: border-box;
}

.aso-site-footer .footer-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1.35fr) minmax(180px, .75fr) minmax(260px, 1fr) !important;
	gap: clamp(1.5rem, 4vw, 3rem) !important;
	width: min(100% - 2rem, 1100px) !important;
	max-width: 1100px !important;
	margin: 0 auto clamp(2rem, 4vw, 3rem) !important;
	padding: 0 !important;
	text-align: left;
}

.aso-site-footer .footer-brand,
.aso-site-footer .footer-grid > *,
.aso-site-footer .footer-info-item,
.aso-site-footer .footer-bottom,
.aso-site-footer .footer-bottom-links {
	min-width: 0;
}

.aso-site-footer .footer-brand-logo {
	display: inline-flex !important;
	align-items: center;
	gap: .75rem;
	max-width: 100%;
	margin-bottom: 1rem;
	color: #fff !important;
	line-height: 1.15;
	text-decoration: none;
	white-space: normal;
	overflow-wrap: anywhere;
}

.aso-site-footer .footer-brand-mark {
	display: block;
	width: 56px !important;
	height: 56px !important;
	max-width: 56px !important;
	max-height: 56px !important;
	object-fit: contain;
}

.aso-site-footer .footer-brand > p {
	max-width: 34rem;
	margin: 0 0 1rem;
}

.aso-site-footer .footer-brand-badge {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	gap: .45rem;
	white-space: normal;
}

.aso-site-footer .footer-nav-list {
	margin: 0;
	padding: 0;
}

.aso-site-footer .footer-info-item {
	display: grid !important;
	grid-template-columns: 16px minmax(0, 1fr);
	align-items: start;
	gap: .6rem;
	text-align: left;
}

.aso-site-footer .footer-info-item svg {
	width: 14px;
	height: 14px;
	margin-top: .2rem;
}

.aso-site-footer .footer-bottom {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	justify-items: center;
	gap: 1rem;
	width: min(100% - 2rem, 1100px) !important;
	max-width: 1100px !important;
	margin: 0 auto !important;
	text-align: center;
}

.aso-site-footer .footer-bottom > span {
	max-width: 100%;
	overflow-wrap: anywhere;
}

.aso-site-footer .footer-bottom-links {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 100%;
	gap: .55rem 1rem !important;
}

.aso-site-footer .footer-bottom-links a {
	white-space: nowrap;
}

.aso-site-footer .aso-footer-mode-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 100%;
	gap: .55rem;
}

.aso-site-footer .aso-mode-toggle-footer {
	display: inline-flex;
	align-items: center;
}

.aso-site-footer .footer-brand-logo span,
.aso-site-footer .footer-brand-logo svg,
.aso-site-footer .footer-brand-badge,
.aso-site-footer .footer-info-item svg {
	color: var(--aso-footer-accent, #74c69d) !important;
}

.aso-site-footer .footer-brand-badge {
	border-color: color-mix(in srgb, var(--aso-footer-accent, #74c69d) 35%, transparent) !important;
	background: color-mix(in srgb, var(--aso-footer-accent, #74c69d) 14%, transparent) !important;
}

.aso-site-footer .footer-nav-list a:hover,
.aso-site-footer .footer-bottom-links a:hover {
	color: var(--aso-footer-accent-hover, #a7f3d0) !important;
}

@media (min-width: 900px) {
	.aso-site-footer .footer-bottom {
		grid-template-columns: minmax(220px, auto) minmax(0, 1fr) auto;
		align-items: center;
		justify-items: stretch;
		text-align: left;
	}

	.aso-site-footer .footer-bottom-links {
		justify-content: center;
	}

	.aso-site-footer .aso-footer-mode-toggle {
		justify-content: flex-end;
	}
}

@media (max-width: 782px) {
	body.admin-bar .aso-main-nav {
		top: 46px;
	}
}

@media (max-width: 820px) {
	.aso-site-footer {
		padding-right: max(1rem, 5vw) !important;
		padding-left: max(1rem, 5vw) !important;
	}

	.aso-site-footer .footer-grid,
	.aso-site-footer .footer-bottom {
		width: 100% !important;
	}

	.aso-site-footer .footer-grid {
		grid-template-columns: minmax(0, 1fr) !important;
		text-align: center;
	}

	.aso-site-footer .footer-brand-logo,
	.aso-site-footer .footer-brand-badge {
		justify-content: center;
	}

	.aso-site-footer .footer-brand-logo {
		flex-wrap: wrap;
	}

	.aso-site-footer .footer-brand > p {
		margin-right: auto;
		margin-left: auto;
	}

	.aso-site-footer .footer-nav-list {
		width: fit-content;
		max-width: 100%;
		margin-right: auto;
		margin-left: auto;
		text-align: left;
	}

	.aso-site-footer .footer-info-item {
		max-width: 340px;
		margin-right: auto;
		margin-left: auto;
		text-align: left;
	}
}

@media (max-width: 768px) {
	html {
		scroll-padding-top: 70px;
	}

	body {
		padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px));
	}

	body.aso-shell-page {
		padding-bottom: 0 !important;
	}

	body.aso-front-page-standalone {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	body.aso-shell-page:not(.aso-front-page-standalone) {
		padding-top: 60px !important;
	}

	body.aso-shell-page .aso-site-footer {
		padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important;
	}

	.bottom-nav {
		top: 0 !important;
		bottom: auto !important;
		border-top: 0 !important;
		border-bottom: 1px solid #d8e4ed !important;
		box-shadow: 0 2px 16px rgba(17, 32, 64, .12) !important;
	}

	.bottom-nav .bnav-tab {
		border-top: 0 !important;
		border-bottom: 3px solid transparent !important;
	}

	.bottom-nav .bnav-tab.bnav-active {
		border-top: 0 !important;
		border-bottom-color: currentColor !important;
	}

	.gateway {
		width: 100%;
		max-width: 100%;
		padding-left: max(1rem, 4vw);
		padding-right: max(1rem, 4vw);
		overflow-x: hidden;
	}

	.gateway-logo,
	.gateway-headline,
	.gateway-cards {
		width: 100%;
	}

	.gateway-logo {
		justify-content: center;
		text-align: center;
	}

	.gateway-logo span {
		font-size: clamp(1.05rem, 5.6vw, 1.25rem);
	}

	.gateway-headline h1 {
		font-size: clamp(1.35rem, 6vw, 1.5rem);
		line-height: 1.18;
	}

	.gateway-cards {
		max-width: 100%;
	}

	.gw-card,
	.gw-card-body-mobile {
		min-width: 0;
	}

	.gw-card {
		width: 100%;
	}

	.gw-tag {
		width: fit-content;
		max-width: 100%;
	}

	.aso-main-nav .nav-hamburger {
		display: flex;
	}

	.aso-main-nav .aso-area-switch {
		display: none;
	}

	.aso-main-nav .nav-links li {
		display: block;
	}

	.aso-main-nav .nav-links a {
		display: block;
		min-height: 0;
		line-height: inherit;
	}
}

body.aso-page-index .site,
body.aso-page-index .gateway {
	max-width: 100vw;
	overflow-x: hidden;
}

body.aso-page-index .gateway.site-main {
	box-sizing: border-box;
	display: flex !important;
	width: 100% !important;
}

body.aso-page-index .gateway,
body.aso-page-index .gateway * {
	box-sizing: border-box;
}

@media (max-width: 768px) {
	body.aso-page-index .gateway {
		align-items: center;
		padding: 2.5rem 1rem 1.5rem !important;
	}

	body.aso-page-index .gateway-logo,
	body.aso-page-index .gateway-headline {
		width: 100% !important;
		max-width: 100% !important;
	}

	body.aso-page-index .gateway-cards {
		width: 100% !important;
		max-width: 400px !important;
	}

	body.aso-page-index .gateway-logo {
		flex-wrap: wrap;
		justify-content: center;
	}

	body.aso-page-index .gateway-logo span,
	body.aso-page-index .gateway-headline h1,
	body.aso-page-index .gateway-headline p {
		min-width: 0;
		white-space: normal;
		overflow-wrap: anywhere;
		text-align: center;
	}

	body.aso-page-index .gateway-cards {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.aso-page-index .gw-card {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		overflow: hidden;
		padding: 1.2rem 1rem;
		gap: 1rem;
	}

	body.aso-page-index .gw-card-icon {
		flex: 0 0 52px;
	}

	body.aso-page-index .gw-card-body-mobile {
		flex: 1 1 auto;
		max-width: 100%;
		min-width: 0;
		overflow: hidden;
	}

	body.aso-page-index .gw-card-body-mobile > *,
	body.aso-page-index .gw-card h2,
	body.aso-page-index .gw-card p,
	body.aso-page-index .gw-card-cta,
	body.aso-page-index .gw-tag {
		max-width: 100%;
		min-width: 0;
		white-space: normal;
		overflow-wrap: anywhere;
	}
}

@media (max-width: 768px) {
	body.aso-front-page-standalone {
		width: 100%;
		overflow-x: hidden;
	}

	body.aso-front-page-standalone .gateway {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;
		align-items: center;
		padding: 2.5rem 1rem 1.5rem !important;
		overflow-x: hidden;
	}

	body.aso-front-page-standalone .gateway > *,
	body.aso-front-page-standalone .gateway-logo,
	body.aso-front-page-standalone .gateway-headline,
	body.aso-front-page-standalone .gateway-cards {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;
	}

	body.aso-front-page-standalone .gateway-logo {
		flex-wrap: wrap;
		justify-content: center;
		text-align: center;
	}

	body.aso-front-page-standalone .gateway-logo span,
	body.aso-front-page-standalone .gateway-headline h1,
	body.aso-front-page-standalone .gateway-headline p {
		max-width: 100%;
		min-width: 0;
		white-space: normal;
		overflow-wrap: anywhere;
		text-align: center;
	}

	body.aso-front-page-standalone .gateway-cards {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.aso-front-page-standalone .gw-card {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		overflow: hidden;
	}

	body.aso-front-page-standalone .gw-card-body-mobile,
	body.aso-front-page-standalone .gw-card-body-mobile > *,
	body.aso-front-page-standalone .gw-card h2,
	body.aso-front-page-standalone .gw-card p,
	body.aso-front-page-standalone .gw-card-cta,
	body.aso-front-page-standalone .gw-tag {
		max-width: 100%;
		min-width: 0;
		white-space: normal;
		overflow-wrap: anywhere;
	}
}

/* === Codex conditional area header START === */
body.aso-audience-cittadini {
	--verde-profondo: #2d6a4f;
	--verde-medio: #52b788;
	--verde-chiaro: #b7e4c7;
	--verde-pastello: #d8f3dc;
	--t-profondo: #2d6a4f;
	--t-medio: #52b788;
	--t-chiaro: #b7e4c7;
	--t-pastello: #d8f3dc;
	--ombra: rgba(45, 106, 79, .1);
	--t-ombra: rgba(45, 106, 79, .1);
}

body.aso-audience-professionisti {
	--verde-profondo: #1e3a5f;
	--verde-medio: #5a9cbf;
	--verde-chiaro: #b7cde8;
	--verde-pastello: #e0eff7;
	--t-profondo: #1e3a5f;
	--t-medio: #5a9cbf;
	--t-chiaro: #b7cde8;
	--t-pastello: #e0eff7;
	--ombra: rgba(90, 156, 191, .12);
	--t-ombra: rgba(90, 156, 191, .12);
}

.aso-site-header--cittadini .nav-logo span span {
	color: var(--verde-medio, #52b788);
}

.aso-site-header--professionisti .nav-logo span span {
	color: var(--azzurro-medio, #5a9cbf);
}

.aso-site-header--cittadini .nav-links a:hover,
.aso-site-header--cittadini .nav-links a.active {
	color: var(--verde-profondo, #2d6a4f);
	border-bottom-color: var(--verde-medio, #52b788);
}

.aso-site-header--professionisti .nav-links a:hover,
.aso-site-header--professionisti .nav-links a.active {
	color: var(--azzurro-medio, #5a9cbf);
	border-bottom-color: var(--azzurro, #7eb8d8);
}

.aso-main-nav .nav-switch {
	box-sizing: border-box;
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: .4rem;
	min-height: 36px;
	padding: .3rem .9rem .3rem .65rem;
	border: 1.5px solid currentColor;
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	transition:
		background .2s ease,
		color .2s ease,
		border-color .2s ease;
}

.aso-main-nav .nav-switch .ic {
	display: inline-flex;
	width: 15px;
	height: 15px;
	line-height: 0;
}

.aso-main-nav .nav-switch .ic svg {
	display: block;
	width: 15px;
	height: 15px;
}

.aso-site-header--cittadini .nav-switch {
	border-color: #b0d0e8;
	background: #e0eff7;
	color: #1e3a5f;
}

.aso-site-header--cittadini .nav-switch:hover {
	border-color: #7eb8d8;
	background: #b0d0e8;
	color: #123353;
}

.aso-site-header--professionisti .nav-switch {
	border-color: #b7e4c7;
	background: #d8f3dc;
	color: #2d6a4f;
}

.aso-site-header--professionisti .nav-switch:hover {
	border-color: #95d5b2;
	background: #b7e4c7;
	color: #1b4332;
}

body.aso-shell-page .aso-main-nav .aso-area-switch {
	box-sizing: border-box;
	display: inline-grid !important;
	grid-template-columns: minmax(78px, auto) minmax(116px, auto);
	align-items: center;
	gap: 3px;
	min-height: 40px;
	padding: 3px;
	border: 1px solid rgba(30, 58, 95, .16);
	border-radius: 999px;
	background:
		linear-gradient(90deg, rgba(216, 243, 220, .92) 0 50%, rgba(224, 239, 247, .94) 50% 100%);
	box-shadow: 0 10px 24px rgba(17, 32, 64, .09);
}

body.aso-shell-page .aso-main-nav .aso-area-switch-option {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 0 .8rem;
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .01em;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition:
		background .18s ease,
		color .18s ease,
		box-shadow .18s ease,
		transform .18s ease;
}

body.aso-shell-page .aso-main-nav .aso-area-switch-cittadini {
	color: #2d6a4f;
}

body.aso-shell-page .aso-main-nav .aso-area-switch-professionisti {
	color: #1e3a5f;
}

body.aso-shell-page .aso-main-nav .aso-area-switch-cittadini:hover {
	background: rgba(82, 183, 136, .18);
}

body.aso-shell-page .aso-main-nav .aso-area-switch-professionisti:hover {
	background: rgba(90, 156, 191, .18);
}

body.aso-shell-page .aso-main-nav .aso-area-switch.is-cittadini .aso-area-switch-cittadini {
	background: #2d6a4f;
	color: #fff;
	box-shadow: 0 6px 16px rgba(45, 106, 79, .22);
}

body.aso-shell-page .aso-main-nav .aso-area-switch.is-professionisti .aso-area-switch-professionisti {
	background: #1e3a5f;
	color: #fff;
	box-shadow: 0 6px 16px rgba(30, 58, 95, .22);
}

@media (min-width: 769px) and (max-width: 1100px) {
	body.aso-shell-page .aso-main-nav .nav-links {
		gap: clamp(.75rem, 1.8vw, 1.1rem) !important;
	}

	body.aso-shell-page .aso-main-nav .aso-area-switch {
		grid-template-columns: minmax(68px, auto) minmax(96px, auto);
	}

	body.aso-shell-page .aso-main-nav .aso-area-switch-option {
		padding-right: .58rem;
		padding-left: .58rem;
		font-size: .72rem;
	}
}

@media (min-width: 769px) and (max-width: 900px) {
	body.aso-shell-page .aso-main-nav .nav-logo > span {
		display: none;
	}
}

body.aso-audience-cittadini .bottom-nav .bnav-switch svg,
body.aso-audience-cittadini .bottom-nav .bnav-switch span {
	color: #1e3a5f !important;
}

body.aso-audience-professionisti .bottom-nav .bnav-switch svg,
body.aso-audience-professionisti .bottom-nav .bnav-switch span {
	color: #2d6a4f !important;
}

@media (max-width: 768px) {
	.aso-main-nav .nav-switch {
		display: none !important;
	}

	.aso-main-nav .aso-area-switch {
		display: none !important;
	}

	body.aso-shell-page .aso-main-nav .aso-area-switch {
		display: none !important;
	}

	.bottom-nav.aso-mobile-header-nav {
		box-sizing: border-box !important;
		display: none !important;
		position: fixed !important;
		top: 0 !important;
		right: 0 !important;
		bottom: auto !important;
		left: 0 !important;
		width: 100vw !important;
		max-width: 100vw !important;
		min-width: 0 !important;
		height: 60px !important;
		padding: 0 !important;
		overflow: hidden !important;
		background: #fff !important;
		border-top: 0 !important;
		box-shadow: 0 2px 16px rgba(17, 32, 64, .12) !important;
		z-index: 99999 !important;
	}

	body.aso-audience-cittadini .bottom-nav--cittadini.aso-mobile-header-nav,
	body.aso-audience-professionisti .bottom-nav--professionisti.aso-mobile-header-nav {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) 54px repeat(2, minmax(0, 1fr)) !important;
		justify-content: stretch !important;
		gap: 0 !important;
	}

	body.aso-audience-cittadini .bottom-nav--professionisti.aso-mobile-header-nav,
	body.aso-audience-professionisti .bottom-nav--cittadini.aso-mobile-header-nav {
		display: none !important;
	}

	.bottom-nav.aso-mobile-header-nav .bnav-tab {
		box-sizing: border-box !important;
		display: flex !important;
		flex: none !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		height: 60px !important;
		gap: 3px !important;
		padding: .25rem .1rem !important;
		border-top: 0 !important;
		border-bottom: 3px solid transparent !important;
		color: #4a6080 !important;
		font-size: 9px !important;
		font-weight: 650 !important;
		line-height: 1.1 !important;
		text-align: center !important;
		text-decoration: none !important;
		-webkit-tap-highlight-color: transparent;
	}

	.bottom-nav.aso-mobile-header-nav .bnav-home-mark {
		box-sizing: border-box !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 54px !important;
		min-width: 54px !important;
		height: 60px !important;
		padding: 0 !important;
		border-bottom: 3px solid transparent !important;
		text-decoration: none !important;
		-webkit-tap-highlight-color: transparent;
	}

	.bottom-nav.aso-mobile-header-nav .bnav-home-mark img {
		display: block !important;
		width: 34px !important;
		height: 34px !important;
		object-fit: contain !important;
		padding: 4px !important;
		border-radius: 999px !important;
		background: #fff !important;
		box-shadow: 0 4px 14px rgba(17, 32, 64, .14) !important;
	}

	body.aso-audience-cittadini .bottom-nav--cittadini .bnav-home-mark img {
		border: 1px solid #b7e4c7 !important;
	}

	body.aso-audience-professionisti .bottom-nav--professionisti .bnav-home-mark img {
		border: 1px solid #b7cde8 !important;
	}

	body.aso-audience-cittadini .bottom-nav--cittadini .bnav-home-mark.bnav-home-active {
		background: #e8f8ee !important;
		border-bottom-color: #52b788 !important;
	}

	body.aso-audience-professionisti .bottom-nav--professionisti .bnav-home-mark.bnav-home-active {
		background: #e0eff7 !important;
		border-bottom-color: #5a9cbf !important;
	}

	.bottom-nav.aso-mobile-header-nav .bnav-tab svg {
		display: block !important;
		width: 22px !important;
		height: 22px !important;
		flex-shrink: 0 !important;
		stroke: currentColor !important;
		fill: none !important;
	}

	.bottom-nav.aso-mobile-header-nav .bnav-tab span {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		overflow: hidden !important;
		color: inherit !important;
		font-family: var(--font-body, "DM Sans", sans-serif) !important;
		font-size: 9px !important;
		font-weight: inherit !important;
		line-height: 1.1 !important;
		text-align: center !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
	}

	body.aso-audience-cittadini .bottom-nav--cittadini.aso-mobile-header-nav {
		border-bottom: 1px solid #b7e4c7 !important;
	}

	body.aso-audience-professionisti .bottom-nav--professionisti.aso-mobile-header-nav {
		border-bottom: 1px solid #b7cde8 !important;
	}

	body.aso-audience-cittadini .bottom-nav--cittadini .bnav-tab.bnav-active {
		background: #e8f8ee !important;
		border-bottom-color: #52b788 !important;
		color: #1a5235 !important;
		font-weight: 750 !important;
	}

	body.aso-audience-professionisti .bottom-nav--professionisti .bnav-tab.bnav-active {
		background: #e0eff7 !important;
		border-bottom-color: #5a9cbf !important;
		color: #0f2a4a !important;
		font-weight: 750 !important;
	}

	body.aso-audience-cittadini .bottom-nav--cittadini .bnav-switch {
		border-left: 1px solid #b7cde8 !important;
		color: #1e3a5f !important;
	}

	body.aso-audience-professionisti .bottom-nav--professionisti .bnav-switch {
		border-left: 1px solid #b7e4c7 !important;
		color: #2d6a4f !important;
	}
}

@media (max-width: 360px) {
	.bottom-nav.aso-mobile-header-nav .bnav-tab {
		gap: 2px !important;
	}

	.bottom-nav.aso-mobile-header-nav .bnav-tab svg {
		width: 20px !important;
		height: 20px !important;
	}

	.bottom-nav.aso-mobile-header-nav .bnav-tab span {
		font-size: 8px !important;
		line-height: 1.05 !important;
	}

	.bottom-nav.aso-mobile-header-nav .bnav-home-mark img {
		width: 32px !important;
		height: 32px !important;
	}
}
/* === Codex conditional area header END === */

/* === Codex Colloquio layout fix START === */
body.aso-page-colloquio .entry-content > .page-content,
body.aso-page-colloquio .site-main > .page-content,
body.aso-page-colloquio .page-content {
	box-sizing: border-box;
	width: min(100% - 2rem, 1100px) !important;
	max-width: 1100px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding: clamp(3rem, 5vw, 4rem) 0 !important;
}

body.aso-page-colloquio .two-col {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin-right: auto;
	margin-left: auto;
}

@media (max-width: 768px) {
	body.aso-page-colloquio .entry-content > .page-content,
	body.aso-page-colloquio .site-main > .page-content,
	body.aso-page-colloquio .page-content {
		width: min(100% - 2rem, 1100px) !important;
		padding-top: 2.5rem !important;
		padding-bottom: 3.5rem !important;
	}
}
/* === Codex Colloquio layout fix END === */

/* === Codex Cittadini green palette hardening START === */
body.aso-audience-cittadini .aso-main-nav {
	border-bottom-color: rgba(82, 183, 136, .28) !important;
	box-shadow: 0 10px 24px rgba(45, 106, 79, .08) !important;
}

body.aso-audience-cittadini .hero {
	background-color: #f2fbf5 !important;
	background-image:
		radial-gradient(ellipse 55% 65% at 88% 12%, rgba(82, 183, 136, .16) 0%, transparent 65%),
		radial-gradient(ellipse 40% 45% at 12% 88%, rgba(183, 228, 199, .28) 0%, transparent 60%),
		linear-gradient(180deg, #f7fcf9 0%, #e8f8ee 100%) !important;
}

body.aso-audience-cittadini .hero .hero-badge,
body.aso-audience-cittadini .page-hero .hero-badge,
body.aso-audience-cittadini .wizard-hero-badge {
	background: #d8f3dc !important;
	color: #2d6a4f !important;
	border-color: #b7e4c7 !important;
	box-shadow: none !important;
}

body.aso-audience-cittadini .btn-primary {
	background: #52b788 !important;
	color: #fff !important;
	box-shadow: 0 4px 20px rgba(82, 183, 136, .34) !important;
}

body.aso-audience-cittadini .btn-primary:hover {
	background: #2d6a4f !important;
}

body.aso-audience-cittadini .btn-outline {
	border-color: #52b788 !important;
	color: #2d6a4f !important;
	background: transparent !important;
}

body.aso-audience-cittadini .btn-outline:hover {
	background: #e8f8ee !important;
	color: #1b4332 !important;
}

body.aso-audience-cittadini #cta .btn-outline,
body.aso-audience-cittadini .cta-section .btn-outline {
	border-color: #b7e4c7 !important;
	color: #b7e4c7 !important;
	background: transparent !important;
}

body.aso-audience-cittadini #cta .btn-outline:hover,
body.aso-audience-cittadini .cta-section .btn-outline:hover {
	background: rgba(255, 255, 255, .12) !important;
	color: #fff !important;
}

body.aso-audience-cittadini .bottom-nav.aso-mobile-header-nav {
	box-shadow: 0 2px 16px rgba(45, 106, 79, .12) !important;
}

body.aso-audience-cittadini .bottom-nav--cittadini .bnav-tab {
	color: #496b58 !important;
}

body.aso-audience-cittadini .bottom-nav--cittadini .bnav-switch {
	border-left-color: #b7e4c7 !important;
	background: #f3fbf6 !important;
	color: #2d6a4f !important;
}

body.aso-audience-cittadini .bottom-nav--cittadini .bnav-switch svg,
body.aso-audience-cittadini .bottom-nav--cittadini .bnav-switch span {
	color: #2d6a4f !important;
	stroke: currentColor !important;
}

body.aso-audience-cittadini .bottom-nav--cittadini .bnav-home-mark img {
	box-shadow: 0 4px 14px rgba(45, 106, 79, .14) !important;
}
/* === Codex Cittadini green palette hardening END === */

/* === Codex Cittadini CTA centering START === */
body.aso-page-cittadini #cta .section-title {
	max-width: 760px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	text-align: center !important;
}
/* === Codex Cittadini CTA centering END === */

/* === Codex Professionisti mobile portal cards START === */
body.aso-page-professionisti .esplora-grid {
	width: min(100%, 1100px) !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

@media (max-width: 900px) {
	body.aso-page-professionisti .esplora-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.aso-page-professionisti .esplora-card {
		width: 100% !important;
		min-width: 0 !important;
	}
}
/* === Codex Professionisti mobile portal cards END === */

/* === Codex mobile floating auth START === */
.aso-floating-auth {
	display: none;
}

@media (max-width: 768px) {
	.aso-floating-auth {
		position: fixed;
		right: max(1rem, env(safe-area-inset-right, 0px));
		bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
		z-index: 99980;
		box-sizing: border-box;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 52px;
		height: 52px;
		border: 1px solid rgba(255, 255, 255, .82);
		border-radius: 999px;
		background: #fff;
		color: #2d6a4f;
		text-decoration: none;
		box-shadow: 0 12px 30px rgba(17, 32, 64, .18);
		-webkit-tap-highlight-color: transparent;
		transition:
			transform .18s ease,
			box-shadow .18s ease,
			background .18s ease;
	}

	.aso-floating-auth:active {
		transform: translateY(1px) scale(.98);
		box-shadow: 0 8px 22px rgba(17, 32, 64, .18);
	}

	.aso-floating-auth svg {
		display: block;
		width: 24px;
		height: 24px;
	}

	.aso-floating-auth--cittadini {
		background: #f3fbf6;
		color: #2d6a4f;
		box-shadow: 0 12px 30px rgba(45, 106, 79, .2);
	}

	.aso-floating-auth--professionisti {
		background: #eef6fb;
		color: #1e3a5f;
		box-shadow: 0 12px 30px rgba(17, 32, 64, .22);
	}

	.aso-floating-auth.is-logout {
		border-color: rgba(255, 255, 255, .9);
	}

	body.aso-page-login .aso-floating-auth.is-login,
	body.aso-page-registrati .aso-floating-auth.is-login {
		display: none !important;
	}
}
/* === Codex mobile floating auth END === */

/* === Codex gated media viewer START === */
.aso-media-content-page {
	box-sizing: border-box;
	min-height: 65vh;
	padding: 2rem 1rem 2.75rem;
	background: #f6faf7;
	color: #173424;
}

.aso-media-content-shell {
	box-sizing: border-box;
	width: min(100%, 980px);
	margin: 0 auto;
}

.aso-media-content-page-gated .aso-media-content-shell {
	width: min(100%, 720px);
	padding: 1.25rem 0;
}

.aso-media-content-kicker {
	margin: 0 0 .85rem;
	color: #2d6a4f;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.aso-media-content-page h1 {
	max-width: 820px;
	margin: 0;
	font-size: 1.9rem;
	line-height: 1.08;
	letter-spacing: 0;
}

.aso-media-content-page p {
	max-width: 680px;
	margin: 1rem 0 0;
	color: rgba(23, 52, 36, .78);
	font-size: 1.03rem;
	line-height: 1.65;
}

.aso-media-content-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: 1.25rem;
}

.aso-media-content-actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: .75rem 1.1rem;
	border: 1px solid rgba(45, 106, 79, .28);
	border-radius: 999px;
	color: #2d6a4f;
	font-weight: 800;
	text-decoration: none;
}

.aso-media-content-actions .aso-media-content-primary {
	border-color: #2d6a4f;
	background: #2d6a4f;
	color: #fff;
}

.aso-media-content-viewer {
	overflow: hidden;
	margin-top: 1.5rem;
	border: 1px solid rgba(23, 52, 36, .12);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 16px 36px rgba(17, 32, 64, .12);
}

.aso-media-content-viewer iframe {
	display: block;
	width: 100%;
	height: 72vh;
	min-height: 420px;
	border: 0;
}

body.aso-audience-professionisti .aso-media-content-page {
	background: #f3f7fb;
	color: #112b4a;
}

body.aso-audience-professionisti .aso-media-content-kicker,
body.aso-audience-professionisti .aso-media-content-actions a {
	color: #1e3a5f;
}

body.aso-audience-professionisti .aso-media-content-actions .aso-media-content-primary {
	border-color: #1e3a5f;
	background: #1e3a5f;
	color: #fff;
}

@media (min-width: 720px) {
	.aso-media-content-page {
		padding: 3.5rem 1.5rem 4.5rem;
	}

	.aso-media-content-page h1 {
		font-size: 2.75rem;
	}

	.aso-media-content-viewer iframe {
		height: min(78vh, 900px);
		min-height: 560px;
	}
}

@media (max-width: 520px) {
	.aso-media-content-page h1 {
		overflow-wrap: anywhere;
	}

	.aso-media-content-actions,
	.aso-media-content-actions a {
		width: 100%;
	}
}
/* === Codex gated media viewer END === */
