:root{
      --brand-primary:#20a1e8; --brand-primary-hover:#3b8af2;
      --brand-primary-strong:#0d58ba; --brand-primary-deep:#062b5b;
      --brand-primary-rgb:32, 161, 232; --brand-primary-hover-rgb:59, 138, 242;
      --brand-primary-strong-rgb:13, 88, 186; --brand-primary-deep-rgb:6, 43, 91;
      --brand-bg-soft:#f1f6fe; --brand-bg-soft-2:#e7f1fd; --brand-bg-soft-3:#e2eefd;
      --navy-950:var(--brand-primary-deep); --navy-900:var(--brand-primary-strong);
      --brand-azure:var(--brand-primary); --sky-400:#b3d1fa;
      --gray-bg:var(--brand-bg-soft); --white:#fff; --text:#0f172a; --muted:#334155;
      --radius-xxl:24px; --radius-lg:18px;
      --shadow-soft:0 20px 40px rgba(20,34,70,.16), 0 8px 16px rgba(20,34,70,.10);
      --shadow-hover:0 28px 52px rgba(20,34,70,.20), 0 10px 22px rgba(20,34,70,.12);
      --container-w: min(1520px, 92%);
      --gap: clamp(20px, 2.2vw, 32px);
      --pad: clamp(20px, 2.6vw, 36px);
    }
    *{box-sizing:border-box}
    html,body{height:100%}
    html{scroll-behavior:smooth}
    @media (prefers-reduced-motion: reduce){
      html{scroll-behavior:auto}
    }

    body{
      margin:0; font-family:Inter, Roboto, system-ui, -apple-system, Segoe UI, Arial, sans-serif;
      color:var(--text); background:var(--brand-bg-soft-2);
      -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
    }
    a{text-decoration:none;color:inherit}
    img{max-width:100%;height:auto;display:block}
    .container{width:var(--container-w); margin-inline:auto}
    .band--white{background:#fff}
    .band--gray{background:var(--gray-bg)}
    .band--pad{padding: clamp(28px, 6vw, 72px) 0}
    h1,h2,h3{margin:0 0 .55rem}
    h1{font-weight:800; letter-spacing:-.01em}
    h2{font-weight:800;font-size:clamp(1.35rem,1.1vw+1rem,2rem); letter-spacing:-.01em}
    h3{font-weight:800; letter-spacing:-.015em}
    p{margin:0 0 1rem;color:var(--muted);font-weight:400}

    .tagline-new{ padding: 0; }
    .tagline-new p{ text-align:center; font-weight:600; color:#0f172a; font-size: clamp(1rem, .5vw + 1rem, 1.15rem); margin: 0 auto; max-width: 1500px; }
    .tagline-new .promo-text-2:first-of-type{ text-align:center; margin-inline:auto; }
    .tagline-new .promo-text-2{
      --promo-fs-min: 2rem;
      --promo-fs-fluid: 2.45rem;
      --promo-fs-max: 2.6rem;
      --promo-ls: 0;
      --promo-fw: 800;
      --promo-lh: 1.35;
      font-size: clamp(var(--promo-fs-min), var(--promo-fs-fluid), var(--promo-fs-max));
      letter-spacing: var(--promo-ls);
      font-weight: var(--promo-fw);
      line-height: var(--promo-lh);
    }
    .tagline-new .ai-section-title{
      position:relative;
      isolation:isolate;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      max-width:min(100%, 920px);
      padding: 0 0 clamp(14px, 1.6vw, 18px);
      color:#0b4f9f;
      background:transparent;
      box-shadow:none;
      text-wrap:balance;
    }
    .tagline-new .ai-section-title::after{
      content:"";
      position:absolute;
      left:50%;
      bottom:0;
      width:min(280px, 64%);
      height:4px;
      border-radius:999px;
      background:linear-gradient(90deg, transparent, var(--brand-primary), var(--brand-primary-strong), transparent);
      transform:translateX(-50%);
      box-shadow:0 10px 22px rgba(32,161,232,.24);
    }

    .eyebrow{font-size:1.0rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;opacity:.95}

    /* ---------- NAV sospeso ---------- */
    .nav-wrap{
      position:fixed; top:18px; left:50%; transform:translateX(-50%);
      width:min(1520px, 96%); z-index:100;
    }
    .nav-wrap::after{content:""; display:none}

    .nav{
      position:relative;
      z-index:1;
      height:80px; display:flex; align-items:center; justify-content:space-between; gap:1rem;
      padding:0 18px; color:#ffffff; border-radius:16px;
      backdrop-filter: blur(14px);
      box-shadow:none;
    }
    .brand{display:flex;align-items:center;gap:.6rem;font-weight:800;letter-spacing:-.01em}

    /* LOGO NAVBAR con effetto comparsa ritardato */
    .brand-logo{
      display:block;
      height:55px;
      width:auto;
      opacity:0;
      animation: logoFade .6s ease-out .5s forwards;
    }

    .nav-right{display:flex; align-items:center; gap:14px}

    .nav ul{display:flex;align-items:center;gap:1.6rem;list-style:none;margin:0;padding:0}

    /* IMPORTANT: limita gli stili hover SOLO al menu principale, non al pannello app */
    .nav > ul a{font-weight:600;font-size:1rem;opacity:.95;transition:color .15s, text-shadow .15s}
    .nav > ul a:hover{opacity:1;color:#fff;text-shadow:0 0 14px rgba(255,255,255,.75)}

    #nav-toggle{display:none}
    .menu-btn{display:none;color:#fff;border:1px solid rgba(255,255,255,.55);padding:.5rem .7rem;border-radius:10px;cursor:pointer;font-weight:600}

    /* === APP LAUNCHER (menu icone stile screen) === */
    .appmenu{position:relative}
    .appmenu-btn{
      width:44px;height:44px;border-radius:12px;
      display:grid; place-items:center;
      border:1px solid rgba(255,255,255,.55);
      background:rgba(255,255,255,.10);
      backdrop-filter: blur(10px);
      color:#fff;
      cursor:pointer;
      transition: transform .15s, background .15s, border-color .15s;
    }
    .appmenu-btn:hover{
      transform:translateY(-1px);
      background:rgba(255,255,255,.14);
      border-color: rgba(255,255,255,.75);
    }
    .appmenu-btn svg{width:20px;height:20px}

    .appmenu-panel{
      position:absolute;
      right:0;
      top:calc(100% + 12px);
      width:360px;
      max-width:calc(100vw - 24px);
      background:rgba(255,255,255,.96);
      color:#0f172a;
      border-radius:18px;
      box-shadow:var(--shadow-soft);
      padding:14px 14px 12px;
      display:none;
      z-index:220;
    }
    .appmenu-panel.is-open{display:block}
    .appmenu-head{
      display:flex; align-items:center; justify-content:space-between;
      padding:6px 6px 12px;
    }
    .appmenu-title{font-weight:900; letter-spacing:-.01em; font-size:1.05rem}
    .appmenu-close{
      width:34px;height:34px;border-radius:10px;
      border:1px solid rgba(15,23,42,.18);
      background:rgba(15,23,42,.04);
      cursor:pointer;
      display:grid; place-items:center;
      font-weight:900;
      color:#0f172a;
    }
    .appmenu-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0,1fr));
      gap:12px;
      padding:0 6px 10px;
    }
    .appmenu-item{
      display:flex; flex-direction:column; align-items:center; gap:8px;
      padding:10px 8px;
      border-radius:14px;
      transition: background .15s, transform .15s, color .15s;
      color:#0f172a;
    }
    /* hover leggibile (niente bianco su bianco) */
    .appmenu-item:hover{
      background:rgba(15,23,42,.08);
      transform:translateY(-1px);
      color:#0b1d3b;
    }
    .appmenu-icon{
      width:46px;height:46px;border-radius:14px;
      display:grid; place-items:center;
      color:#fff;
      box-shadow:0 10px 18px rgba(15,23,42,.14);
    }
    .appmenu-item span{
      font-size:.84rem;
      font-weight:700;
      line-height:1.1;
      text-align:center;
      color:inherit;
    }
    .appmenu-icon svg{width:22px;height:22px}

    .appmenu-icon--1{background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-hover))}
    .appmenu-icon--2{background:linear-gradient(135deg,var(--brand-primary-strong),var(--brand-primary))}
    .appmenu-icon--3{background:linear-gradient(135deg,var(--brand-primary-deep),var(--brand-primary-strong))}
    .appmenu-icon--4{background:linear-gradient(135deg,var(--brand-primary-hover),#6ba7f5)}
    .appmenu-icon--5{background:linear-gradient(135deg,#6ba7f5,var(--brand-primary-strong))}
    .appmenu-icon--6{background:linear-gradient(135deg,var(--brand-bg-soft-2),var(--brand-bg-soft-3)); color:var(--brand-primary-deep)}

    .appmenu-footer{
      border-top:1px solid rgba(15,23,42,.10);
      padding:10px 6px 2px;
      display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap;
      font-weight:700;
      font-size:.9rem;
      color:#0b1d3b;
    }
    .appmenu-footer a{
      opacity:.95;
      padding:6px 10px;
      border-radius:999px;
      background:rgba(15,23,42,.06);
      color:#0b1d3b;
      transition: background .15s, color .15s, opacity .15s;
    }
    .appmenu-footer a:hover{
      opacity:1;
      background:rgba(15,23,42,.10);
      color:#0b1d3b;
    }

    @media (max-width: 880px){
      .nav{height:auto; padding:10px}
      .nav ul{
        display:none;
        position:absolute;
        left:2%; right:2%; top:64px;
      background:rgba(var(--brand-primary-deep-rgb), .9);
        backdrop-filter:blur(10px);
        border-radius:12px;
        padding:14px;
      }
      #nav-toggle:checked ~ ul{display:flex;flex-direction:column}
      .menu-btn{display:block}
    }

    /* NAV stato dopo aver superato l'hero */
    .nav-wrap.nav-wrap--scrolled{
      top:0;
      left:0;
      transform:none;
      width:100%;
      background: linear-gradient(180deg, rgba(var(--brand-primary-deep-rgb), .98) 0%, rgba(var(--brand-primary-strong-rgb), .96) 40%, rgba(var(--brand-primary-deep-rgb), .98) 100%);
    }
    .nav-wrap.nav-wrap--scrolled .nav{
      width:min(1520px, 96%);
      margin-inline:auto;
    }

    /* ---------- HERO (Particles.js) ---------- */
    .hero{
      position:relative;
      min-height:100svh; color:#fff; display:grid; align-items:end; overflow:hidden;
      background:
        radial-gradient(62% 120% at 120% -10%, rgba(var(--brand-primary-hover-rgb), .22), transparent 60%),
        linear-gradient(180deg, var(--brand-primary-deep), var(--brand-primary-strong) 62%, var(--brand-primary-deep));
    }
    #particles-js{
      position:absolute; inset:0; width:100%; height:100%;
      z-index:0; pointer-events:none;
      background:
        radial-gradient(90% 140% at 70% -20%, rgba(var(--brand-primary-rgb), .26) 0%, rgba(0,0,0,0) 58%),
        linear-gradient(180deg, var(--brand-primary-deep) 0%, var(--brand-primary-strong) 38%, var(--brand-primary-deep) 100%);
    }
    #particles-js > canvas{
      filter:
        drop-shadow(0 0 6px rgba(var(--brand-primary-rgb), .55))
        drop-shadow(0 0 18px rgba(var(--brand-primary-hover-rgb), .30));
      mix-blend-mode: screen;
    }

    .hero-inner{padding: clamp(18px, 3vw, 36px) 0; position:relative; z-index:1}

    /* Mobile first (default) */
    .hero-logo img{
      width: 200px;
      height: auto;
    }
    @media (min-width: 768px) { .hero-logo img{ width: 200px; } }
    @media (min-width: 1200px) { .hero-logo img{ width: 340px; } }

    .typing-wrap{width:100%; display:grid; place-items:center; margin-bottom: 10vh}
    .typed{
      display:flex; align-items:center; justify-content:center; gap:.35rem;
      font-weight:800; letter-spacing:-.01em;
      font-size: clamp(2.3rem, 6.2vw, 5rem); line-height:1.05; text-align:center;
      text-shadow:0 0 18px rgba(var(--brand-primary-rgb), .3);
      min-height:2.2em;
    }
    .typed .cursor{width:3px;height:1em;background:#fff;animation:blink 1s step-end infinite}
    @keyframes blink{50%{opacity:0}}
    .subtitle{ text-align:center; font-size: clamp(1.05rem, 1.1vw + .9rem, 1.5rem); opacity:1; max-width:900px; margin: 10px auto 0; font-weight:500; color:#fff; }
    .hero-cta{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;margin-top:1.1rem}

    /* ---------- Helpers ---------- */
    .soft-card{border-radius:var(--radius-xxl); box-shadow:var(--shadow-soft); overflow:hidden; position:relative; background-clip:padding-box; transition:.18s}
    .soft-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-hover) }
    .soft-card .btn{font-weight:800; letter-spacing:.02em}
    .btn-outline-light{
      --bs-btn-color:#fff; --bs-btn-border-color:#fff;
      --bs-btn-hover-bg:#fff; --bs-btn-hover-border-color:#fff; --bs-btn-hover-color:var(--brand-primary-deep);
      --bs-btn-padding-x:1.25rem; --bs-btn-padding-y:.7rem; --bs-btn-border-width:2px;
      border-radius:999px; font-weight:800;
    }
    .btn-hero{
      --bs-btn-bg:#fff; --bs-btn-border-color:#fff; --bs-btn-color:#06233f;
      --bs-btn-hover-bg:var(--brand-primary); --bs-btn-hover-border-color:var(--brand-primary); --bs-btn-hover-color:#fff;
      color:#06233f !important;
      background:#fff !important;
      border-color:#fff !important;
      border-radius:999px; font-weight:900;
      padding: 20px;
    }
    .btn-hero:hover,
    .btn-hero:focus-visible{
      color:#fff !important;
      background:var(--brand-primary-deep) !important;
      border-color:var(--brand-primary-deep) !important;
    }

    /* ---------- TAGLINE tra header e card ---------- */
    .tagline{ padding: clamp(28px, 5vw, 48px) 0 0; }
    .tagline p{ text-align:center; font-weight:600; color:#0f172a; font-size: clamp(1rem, .5vw + 1rem, 1.15rem); margin: 0 auto; max-width: 1000px; }
    .tagline .promo-text{
      --promo-fs-min: 2.60rem;
      --promo-fs-fluid: calc(1rem + 0.9vw);
      --promo-fs-max: 2.60rem;
      --promo-ls: -0.05em;
      --promo-fw: 600;
      --promo-lh: 1.35;
      font-size: clamp(var(--promo-fs-min), var(--promo-fs-fluid), var(--promo-fs-max));
      letter-spacing: var(--promo-ls);
      font-weight: var(--promo-fw);
      line-height: var(--promo-lh);
    }

    /* === Accent utilities === */
    .u-accent{ --accent: var(--brand-azure); color: var(--accent); font-weight: 800; }
    .u-accent--blue  { --accent: var(--brand-azure); }
    .u-accent--sky   { --accent: var(--sky-400); }
    .u-accent--indigo{ --accent: var(--brand-primary-strong); }
    .u-accent--teal  { --accent: var(--brand-primary-hover); }
    .u-accent--pink  { --accent: #6ba7f5; }
    .u-accent--orange{ --accent: var(--brand-primary-deep); }
    .u-accent--soft  { filter:saturate(.95) brightness(1.05); font-weight:700; }


    /* ===========================================================
       SOLUZIONI DESKTOP: sempre 2 colonne x 3 righe
  Card leggermente più basse
       =========================================================== */

    /* evita che la navbar fixed copra l'ancora */
    #soluzioni{ scroll-margin-top: var(--nav-safe); }

    /* la sezione occupa esattamente la viewport (meno navbar fixed) */
    #soluzioni.band--pad{
      padding: clamp(8px, 1.6vh, 16px) 0;          /* ridotto: meno spazio sopra e sotto */
      height: calc(100svh - var(--nav-safe));
      display:flex;
      align-items:stretch;
    }
    #soluzioni.band--pad > .container{
      flex:1;
      display:flex;
      min-height:0;
    }

    /* GRIGLIA FISSA 2x3 */
    .feature-grid{
      display:grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: clamp(10px, 1.2vw, 18px);               /* ridotto: card più basse */
      justify-content:center;

      height:100%;
      min-height:0;
    }

    .feature-card{
      color:#fff;
      display:grid;
      grid-template-columns: 1fr 0.50fr;           /* layout invariato: testo sx, immagine dx */
      height:100%;
      min-height:0;
      aspect-ratio:auto;                           /* fondamentale per ridurre l'altezza */
      background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-strong));
    }
    .feature-card:nth-child(2){background:linear-gradient(135deg,#6ba7f5,var(--brand-primary))}
    .feature-card:nth-child(3){background:linear-gradient(135deg,var(--brand-primary-hover),var(--brand-primary-strong))}
    .feature-card:nth-child(4){background:linear-gradient(135deg,var(--brand-primary-deep),var(--brand-primary))}
    .feature-card:nth-child(5){background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-deep))}
    .feature-card:nth-child(6){background:linear-gradient(135deg,var(--brand-primary-hover),var(--brand-primary-deep))}

    /* Ribbon FAST&GO */
    .feature-card--fastgo{ position:relative; }
    .feature-card--fastgo::before{
      content:"FAST&GO";
      position:absolute;
      top:10px;
      right:-56px;
      padding:4px 0;
      width:160px;
      background:linear-gradient(135deg,var(--brand-bg-soft-2),#b3d1fa);
      color:var(--brand-primary-deep);
      text-align:center;
      text-transform:uppercase;
      font-weight:800;
      letter-spacing:.12em;
      font-size:.62rem;
      box-shadow:0 10px 18px rgba(15,23,42,.4);
      transform:rotate(45deg);
      pointer-events:none;
    }

    .feature-copy{
      padding: clamp(12px, 1.0vw, 18px);          /* ridotto: meno altezza interna */
      display:flex;
      flex-direction:column;
      justify-content:center;
      min-height:0;
      overflow:hidden;
    }
    .feature-copy .eyebrow{
      font-size: clamp(.70rem, .30vw + .62rem, .92rem);
      letter-spacing:.10em;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
      margin-bottom:.18rem;
      opacity:.98;
    }
    .feature-copy h3{
      font-weight:800;
  font-size: clamp(.98rem, .55vw + .76rem, 1.55rem); /* leggermente più piccolo */
  line-height:1.10;                                  /* più compatto */
      margin:.22rem 0 .48rem;                            /* margini ridotti */
      color:#fff;

      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient: vertical;
      overflow:hidden;
    }
    .feature-copy .btn.btn-lg{
  padding: .46rem 1.00rem;                      /* bottone più basso */
      font-size: .88rem;
      border-width:2px;
    }

    .feature-media{padding:0; min-height:0}
    .feature-media img{
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center;
    }

    /* Viewport bassi: ulteriore compattazione (desktop piccoli) */
    @media (max-height: 760px){
      #soluzioni.band--pad{ padding: 8px 0; }
      .feature-grid{ gap: 10px; }
      .feature-copy{ padding: 12px; }
      .feature-copy h3{ font-size: .94rem; margin:.18rem 0 .40rem; }
      .feature-copy .btn.btn-lg{ font-size:.84rem; padding:.42rem .92rem; }
    }

    /* ===========================================================
       MOBILE: card una sotto l'altra
       =========================================================== */
    @media (max-width: 820px){
      /* su mobile la sezione NON deve essere vincolata alla viewport */
      #soluzioni.band--pad{
        height:auto;
        padding: clamp(20px, 4.5vw, 32px) 0;
      }
      #soluzioni.band--pad > .container{ display:block; }

      .feature-grid{
        grid-template-columns: 1fr;     /* 1 colonna */
        grid-template-rows: none;       /* righe automatiche */
        gap: clamp(14px, 4vw, 18px);
        height:auto;
      }

/* card più leggibile: immagine sopra, testo sotto */
      .feature-card{
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
      }
      .feature-media img{
        height: clamp(170px, 52vw, 260px);
      }

      .feature-copy{
        padding: clamp(14px, 4.2vw, 18px);
      }
      .feature-copy h3{
        font-size: clamp(1.05rem, 1.1vw + .9rem, 1.35rem);
      }
      .feature-copy .btn.btn-lg{
        font-size: .92rem;
        padding: .52rem 1.05rem;
      }

/* ribbon: leggermente più contenuto su schermi stretti */
      .feature-card--fastgo::before{
        right:-62px;
        width:150px;
        font-size:.60rem;
      }
    }

    /* ===========================================================
       SEZIONE 2: griglia 3x3 con tile 467x545
       =========================================================== */
    .soft-grid{
      display:grid;
      grid-template-columns: 1fr;
      gap: var(--gap);
      justify-content:center;
    }
    @media (min-width: 900px){
      .soft-grid{ grid-template-columns: repeat(2, minmax(320px, 1fr)); }
    }
    @media (min-width: 1500px){
      .soft-grid{ grid-template-columns: repeat(3, 467px); }
    }

    .soft-tile{
      color:#fff;
      display:grid;
      grid-template-rows: 48% 52%;
      aspect-ratio: 467 / 545;
      background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-strong));
      border-radius:var(--radius-xxl);
    }
    .soft-tile:nth-child(2){background:linear-gradient(135deg,var(--brand-primary-hover),var(--brand-primary))}
    .soft-tile:nth-child(3){background:linear-gradient(135deg,#6ba7f5,var(--brand-primary-strong))}
    .soft-tile:nth-child(4){background:linear-gradient(135deg,var(--brand-primary-strong),var(--brand-primary-deep))}
    .soft-tile:nth-child(5){background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-deep))}
    .soft-tile:nth-child(6){background:linear-gradient(135deg,var(--brand-primary-hover),var(--brand-primary-strong))}
    /* .soft-tile:nth-child(7){background:linear-gradient(135deg,#ff9966,#ff5e62)}
    .soft-tile:nth-child(8){background:linear-gradient(135deg,#7bdcb5,#00a676)}
    .soft-tile:nth-child(9){background:linear-gradient(135deg,#a88beb,#6f59e8)} */

    .soft-media{padding:0}
    .soft-media img{width:100%; height:100%; object-fit:cover}
    .soft-copy{padding: var(--pad); display:flex; flex-direction:column; justify-content:center}
    .soft-copy h3{font-size: clamp(1.1rem,1.1vw + 1rem,1.6rem); color:#fff; margin:.4rem 0 .6rem}
    .soft-copy p{color:#ecf6ff; max-width:42ch; margin-bottom:1rem}

    /* ---------- FORMAZIONE & SELEZIONE + ESG ---------- */
    .experience-title{text-align:center;font-weight:800;font-size:clamp(1.3rem,1.4vw+1rem,2rem);margin-bottom:18px}
    .experience{display:grid;grid-template-columns:repeat(12,1fr);gap: var(--gap)}
    .experience--two .exp{grid-column:span 6}
    .exp{
      grid-column:span 4; min-height:320px; color:#fff; display:grid; align-content:space-between;
      background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-strong));
      position:relative; overflow:hidden; text-align:left; padding: var(--pad);
      border-radius:var(--radius-xxl); box-shadow:var(--shadow-soft);
      padding-right: 0; padding-bottom: 0; /* QUESTO */
    }
    .exp:nth-child(2){background:linear-gradient(135deg,var(--brand-primary-hover),var(--brand-primary-strong))}
    .exp:nth-child(3){background:linear-gradient(135deg,var(--brand-primary-deep),var(--brand-primary))}

    /* Il wrapper testuale resta sopra l'immagine decorativa nelle card "Lavora con noi" */
    .exp > div{
      position:relative;
      z-index:1;
    }

    /* Per rendere l'immagine alta quanto la card .exp in futuro puoi, ad esempio:
       - rimuovere position:absolute da .exp img
       - usare display:grid con due colonne (testo | immagine) sulla card
       - dare all'immagine width:100%; height:100%; object-fit:cover
    */
    .exp img{
      position:absolute; right:16px; bottom:12px; width:45%; border-radius:10px; filter:saturate(1.05); right:0; bottom:0;
      z-index:0;
    }

    .exp .btn-outline-light{--bs-btn-padding-x:1.2rem}
    @media (max-width: 980px){ .exp{grid-column:span 6} }
    @media (max-width: 640px){ .exp{grid-column:span 12} }
    @media (max-width: 640px){ .experience--two .exp{grid-column:span 12} }

    .esg{
      margin-top: clamp(18px, 3vw, 28px);
      border-radius:var(--radius-xxl); color:#fff; padding: var(--pad);
      background:linear-gradient(90deg,var(--brand-primary-deep),var(--brand-primary-strong),var(--brand-primary));
      box-shadow:var(--shadow-soft);
      display:grid; grid-template-columns: 1.1fr .9fr; gap:20px; align-items:center;
    }
    .esg img{width:100%; height:100%; object-fit:cover; border-radius:14px}
    @media (max-width: 980px){ .esg{grid-template-columns:1fr} }

    /* Titolo sezione carriera / lavora con noi */
    .career-title{
      font-size: clamp(1.3rem,1.2vw+1rem,1.8rem);
      font-weight:800;
      color:var(--brand-primary-strong);
      margin: 0 0 1.2rem;
      text-align:left;
    }

    /* ---------- FOOTER ---------- */
    footer{margin-top: clamp(32px, 6vw, 64px); color:#fff; background:linear-gradient(180deg,var(--brand-primary-deep),var(--brand-primary-strong))}
    .f-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;padding: clamp(24px, 3vw, 40px) 0}
    .f-col{grid-column:span 4}
    .f-col a{display:block;opacity:.9;margin:.35rem 0;font-weight:500}
    .f-brand{grid-column:span 12;border-top:1px solid rgba(255,255,255,.12);padding-top:16px;margin-top:6px;font-size:.92rem;opacity:.95}
    @media (max-width: 980px){ .f-col{grid-column:span 6} }
    @media (max-width: 600px){ .f-col{grid-column:span 12} }

    /* ====== Nav: contrasto dinamico (solo aggiunte) ====== */
    .nav.nav--on-light{
      color:#0b1d3b;
      border-color: rgba(11,29,59,.35);
      background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.60));
    }
    .nav.nav--on-light a{ color:#0b1d3b; opacity:.95 }
    .nav.nav--on-light a:hover{ color:#0b1d3b; text-shadow:0 0 14px rgba(11,29,59,.18) }
    .nav.nav--on-light .menu-btn{
      color:#0b1d3b; border-color: rgba(11,29,59,.45);
    }

    .nav.nav--on-dark{
      color:#fff;
      border-color: #ffffff;
      background:linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.10));
    }
    .nav.nav--on-dark a{ color:#fff }
    .nav.nav--on-dark .menu-btn{
      color:#fff; border-color: rgba(255,255,255,.55);
    }

    @media (max-width: 880px){
      .nav--on-light #nav-toggle:checked ~ ul a{ color:#fff }
    }

    /* Animazione comparsa logo navbar */
    @keyframes logoFade{
      from{
        opacity:0;
        transform:translateY(4px);
      }
      to{
        opacity:1;
        transform:translateY(0);
      }
    }

    /* ===========================================================
       FOOTER: CERTIFICAZIONI (aggiunta richiesta)
       - 2 slot logo gi?? pronti (inserirai tu le immagini)
       =========================================================== */
    .f-certifications{
      grid-column: span 12;
      padding-top: 6px;
      margin-top: 4px;
      border-top: 1px solid rgba(255,255,255,.12);
      padding-top: 18px;
    }
    .f-certifications h4{
      margin: 0 0 12px;
      font-weight: 800;
      letter-spacing: .06em;
      text-transform: uppercase;
      font-size: .95rem;
      opacity: .98;
    }
    .cert-logos{
      display:flex;
      align-items:center;
      gap: 14px;
      flex-wrap:wrap;
    }
    .cert-logo-slot{
      width: 140px;
      height: 64px;
      border-radius: 12px;
      /* border: 2px dashed rgba(255,255,255,.35); */
      background: rgba(255,255,255,.06);
      display:flex;
      align-items:center;
      justify-content:center;
      font-weight: 800;
      font-size: .8rem;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: rgba(255,255,255,.78);
      user-select: none;
    }
    @media (max-width: 600px){
      .cert-logo-slot{ width: 100%; max-width: 320px; }
    }
/* Footer landing layout */
.footer-landing .f-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.footer-landing .f-col{grid-column:auto;}
.footer-landing .f-col:last-of-type{justify-self:end;text-align:right;}
@media (max-width: 600px){
  .footer-landing .f-grid{grid-template-columns:1fr;}
  .footer-landing .f-col{justify-self:start;text-align:left;}
}

@media (max-width: 640px) {
  .footer-landing {
    overflow-x: visible;
  }
  .footer-landing .f-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .footer-landing .f-col {
    text-align: left;
    width: 100%;
  }
  .footer-landing .f-certifications,
  .footer-landing .f-brand {
    width: 100%;
    min-width: 0;
  }
  .footer-landing .f-brand {
    text-align: center;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
  }
  .f-certifications h4,
  .footer-certifications h4 {
    text-align: center;
    width: 100%;
  }
  .f-certifications .cert-logos,
  .footer-certifications {
    flex-direction: column;
    align-items: center;
  }
  .f-certifications .cert-logo-slot,
  .footer-certifications .cert-logo-slot {
    width: 200px;
    max-width: 100%;
    justify-content: center;
  }
  .f-certifications .cert-project,
  .footer-certifications .cert-project {
    margin-left: 0 !important;
    width: 100%;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
  }
  .f-certifications .cert-project > div:last-child,
  .footer-certifications .cert-project > div:last-child {
    width: 100% !important;
    max-width: 220px;
    height: auto !important;
    padding: 6px;
  }
  .f-certifications .cert-project img,
  .footer-certifications .cert-project img {
    max-width: 100%;
    height: auto !important;
  }
}

.cookie-fab{ position:fixed; bottom:max(16px,env(safe-area-inset-bottom)); left:max(16px,env(safe-area-inset-left)); right:auto; z-index:9999; display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:999px; border:1px solid rgba(15,23,42,.08); background:#fff; box-shadow:0 8px 24px rgba(2,6,23,.12); color:#0f172a; cursor:pointer; transition:transform .15s ease, box-shadow .2s ease, background .2s ease }
.cookie-fab:hover{ transform:translateY(-1px); box-shadow:0 12px 28px rgba(2,6,23,.16) }
.cookie-fab:active{ transform:translateY(0) }
.cookie-fab:focus-visible{ outline:2px solid var(--brand-primary-hover); outline-offset:3px }
.cookie-fab .hint{ position:absolute; left:66px; bottom:50%; transform:translateY(50%); background:var(--brand-primary-deep); color:#fff; padding:6px 10px; border-radius:10px; font-size:.8rem; white-space:nowrap; box-shadow:0 6px 20px rgba(0,0,0,.2); opacity:0; pointer-events:none; transition:opacity .2s ease }
.cookie-fab:hover .hint{ opacity:.95 }
@media (max-width:640px){ .cookie-fab{ width:52px; height:52px; bottom:12px; left:12px } .cookie-fab .hint{ display:none } }

/* ---------- Runtime Home Layout ---------- */
.feature-subtitle {
      font-size: clamp(.65rem, .25vw + .6rem, .85rem);
      letter-spacing: .10em;
      text-transform: uppercase;
      opacity: .92;
      margin: 0 0 .28rem;
    }

    .news-home{
      padding: clamp(10px, 1.1vw, 18px);
      background:
        radial-gradient(100% 120% at 0% 0%, rgba(var(--brand-primary-rgb), .16), transparent 52%),
        radial-gradient(120% 120% at 100% 100%, rgba(var(--brand-primary-hover-rgb), .14), transparent 58%),
        var(--brand-bg-soft-2);
      height:100vh;
      overflow:hidden;
    }
    .news-shell{
      display:grid;
      grid-template-columns: minmax(260px, 32vw) 1fr;
      height:100%;
      gap:0;
      border-radius: 30px;
      overflow: hidden;
      box-shadow: 0 24px 60px rgba(15,23,42,.16);
      background:#fff;
    }
    .news-hero{
      position:relative;
      height:100%;
      align-self:start;
    }
    .news-hero .hero{
      min-height:100%;
      border-radius:0 28px 28px 0;
    }
    .news-hero .typing-wrap{
      margin-bottom:0;
      padding: clamp(18px, 3vw, 36px);
      min-height:100%;
      align-content:center;
    }
    .news-hero .typed{
      min-height:auto;
    }

    .news-hero .hero-inner{
      padding-inline: clamp(14px, 1.4vw, 22px);
    }
    .news-hero .typing-wrap{
      justify-items:center;
      text-align:center;
      gap: clamp(10px, 1.3vh, 16px);
    }
    .news-hero .hero-logo img{
      width: clamp(118px, 58%, 240px);
      max-width:100%;
      height:auto;
      margin-inline:auto;
    }
    .news-hero .typed{
      font-size: clamp(1.9rem, 2.4vw, 3.6rem);
      line-height:1.04;
      max-width: 12ch;
      margin-inline:auto;
      text-wrap: balance;
    }
    .news-hero .subtitle{
      max-width: 22ch;
      margin-inline:auto;
    }
    .news-main{
      background: var(--brand-bg-soft);
      height:100%;
      overflow-y:auto;
      overflow-x:hidden;
    }

    .news-main .nav-wrap{
      position:sticky;
      top:16px;
      left:auto;
      transform:none;
      width:min(1520px, 92%);
      margin: 0 auto;
      z-index:90;
    }
    .nav-wrap-mobile{
      display:none;
    }
    .news-main .nav.nav--on-dark{
      background: linear-gradient(180deg, rgba(var(--brand-primary-deep-rgb), .96), rgba(var(--brand-primary-strong-rgb), .92));
      border:1px solid rgba(255,255,255,.18);
      box-shadow: 0 18px 36px rgba(var(--brand-primary-deep-rgb), .28);
    }
    .nav-wrap-mobile .nav.nav--on-dark{
      background: linear-gradient(180deg, rgba(var(--brand-primary-deep-rgb), .96), rgba(var(--brand-primary-strong-rgb), .92));
      border:1px solid rgba(255,255,255,.18);
      box-shadow: 0 18px 36px rgba(var(--brand-primary-deep-rgb), .28);
    }

    .editorial-wrap{display:block}
    .news-timeline{
      background:#fff;
      padding: 0 0 clamp(8px, 1.4vw, 16px);
    }
    .news-timeline-track{
      display:grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
    }
    .timeline-item{
      display:block;
      border-radius: 14px;
      padding: 14px 16px;
      background:#ffffff;
      border:1px solid rgba(15,23,42,.08);
      box-shadow:0 10px 24px rgba(15,23,42,.07);
      transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
    }
    .timeline-item:hover{
      transform:translateY(-2px);
      box-shadow:0 14px 28px rgba(15,23,42,.11);
      border-color: rgba(var(--brand-primary-rgb), .32);
    }
    .timeline-date{
      font-weight:800;
      letter-spacing:.12em;
      text-transform:uppercase;
      font-size:.68rem;
      color:#64748b;
      margin-bottom:6px;
    }
    .timeline-link{
      display:block;
      font-weight:800;
      color:#0f172a;
      line-height:1.25;
    }
    .timeline-link:hover{ color:var(--brand-primary-strong); }
    .home-empty{
      margin: 10px 0 0;
      color:#475569;
      font-weight:600;
    }
    .news-head{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:14px;
      flex-wrap:wrap;
      text-align:center;
    }
    .news-head-copy{
      display:grid;
      gap:6px;
      width:100%;
      justify-items:center;
    }
    .news-filter-status{
      margin:0;
      color:#64748b;
      font-weight:700;
    }
    #news.band--pad{
      padding-top: clamp(12px, 2vw, 24px);
    }
    #news .news-head{
      margin-bottom: clamp(20px, 2.8vw, 34px);
    }
    .category-news-head{
      background:
        linear-gradient(180deg, #fff 0%, rgba(255,255,255,.94) 62%, var(--category-bg, #eef7ff) 100%);
    }
    .category-news-panel{
      position:relative;
      display:grid;
      grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
      gap: clamp(18px, 3vw, 36px);
      align-items:stretch;
      overflow:hidden;
      border:1px solid var(--category-border, rgba(var(--brand-primary-rgb), .18));
      border-radius:8px;
      padding: clamp(22px, 4vw, 42px);
      background:
        linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.9) 46%, var(--category-bg, #eef7ff) 100%);
      box-shadow:
        0 22px 42px var(--category-glow, rgba(var(--brand-primary-rgb), .12)),
        inset 0 1px 0 rgba(255,255,255,.94);
      isolation:isolate;
    }
    .category-news-panel::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg, transparent 0 60%, color-mix(in srgb, var(--category-bg-strong, #d8ebff) 60%, transparent) 60% 100%);
      opacity:.7;
      z-index:-1;
    }
    .category-news-panel::after{
      content:"";
      position:absolute;
      right: clamp(22px, 4vw, 52px);
      top: clamp(16px, 3vw, 34px);
      width: min(32vw, 280px);
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--category-border-strong, rgba(var(--brand-primary-rgb), .3)));
      z-index:-1;
    }
    .category-news-copy{
      display:grid;
      align-content:center;
      justify-items:start;
      gap: 14px;
      min-width:0;
    }
    .category-news-head .feature-subtitle{
      width:max-content;
      max-width:100%;
      border-radius:999px;
      padding:6px 10px;
      color:var(--category-ink, #0f172a);
      background:var(--category-bg, #eef7ff);
      border:1px solid var(--category-border, rgba(var(--brand-primary-rgb), .18));
    }
    .category-news-head h1{
      max-width: 13ch;
      color:#0f172a;
      font-size: clamp(2.3rem, 4.8vw, 5rem);
      line-height:.96;
      letter-spacing:0;
      margin:0;
      text-wrap:balance;
    }
    .category-news-head p{
      max-width: 760px;
      margin:0;
      color:#334155;
      font-size: clamp(1rem, .4vw + .96rem, 1.18rem);
      line-height:1.65;
    }
    .category-news-actions{
      display:flex;
      align-items:center;
      gap:14px;
      flex-wrap:wrap;
      margin-top:4px;
    }
    .category-news-button{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:42px;
      border-radius:8px;
      padding:0 16px;
      color:var(--category-hover-ink, #fff);
      background:
        linear-gradient(135deg, var(--category-hover-bg, var(--brand-primary)), var(--category-hover-bg-strong, var(--brand-primary-strong)));
      border:1px solid var(--category-border-strong, rgba(var(--brand-primary-rgb), .3));
      box-shadow:0 12px 24px var(--category-glow-strong, rgba(var(--brand-primary-rgb), .18));
      font-weight:800;
      text-decoration:none;
      transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
    }
    .category-news-button:hover,
    .category-news-button:focus-visible{
      transform:translateY(-1px);
      filter:saturate(1.05) brightness(1.03);
      color:var(--category-hover-ink, #fff);
      box-shadow:0 16px 30px var(--category-glow-strong, rgba(var(--brand-primary-rgb), .22));
      outline:0;
    }
    .category-news-actions span{
      color:var(--category-ink-soft, #64748b);
      font-weight:800;
    }
    .category-news-visual{
      position:relative;
      display:grid;
      grid-template-rows:minmax(0, 1fr) auto;
      align-content:space-between;
      gap:16px;
      min-height:250px;
      border:1px solid rgba(255,255,255,.62);
      border-radius:8px;
      padding:16px;
      color:var(--category-hover-ink, #fff);
      background:
        linear-gradient(150deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,.05) 16%, var(--category-hover-bg, #7cc5ff) 45%, var(--category-hover-bg-strong, #1e83e8) 100%);
      box-shadow:
        0 24px 44px var(--category-glow-strong, rgba(var(--brand-primary-rgb), .2)),
        inset 0 1px 0 rgba(255,255,255,.42);
      overflow:hidden;
    }
    .category-news-visual::before{
      content:"";
      position:absolute;
      inset:18px;
      border:1px solid rgba(255,255,255,.38);
      border-radius:8px;
      transform:rotate(-3deg);
    }
    .category-news-image-shell{
      position:relative;
      z-index:1;
      min-height:165px;
      border-radius:8px;
      background:
        linear-gradient(135deg, rgba(255,255,255,.34), rgba(255,255,255,.1));
      overflow:hidden;
      box-shadow:
        0 18px 34px rgba(15,23,42,.16),
        inset 0 1px 0 rgba(255,255,255,.5);
    }
    .category-news-image{
      width:100%;
      height:100%;
      min-height:165px;
      display:block;
      object-fit:cover;
    }
    .category-news-visual-copy{
      position:relative;
      z-index:1;
      display:grid;
      gap:5px;
    }
    .category-news-visual-copy span{
      width:max-content;
      max-width:100%;
      border-radius:999px;
      padding:5px 9px;
      color:var(--category-hover-ink-soft, rgba(255,255,255,.84));
      background:rgba(255,255,255,.16);
      border:1px solid rgba(255,255,255,.22);
      font-size:.72rem;
      font-weight:900;
      letter-spacing:.08em;
      text-transform:uppercase;
    }
    .category-news-visual-copy strong{
      color:var(--category-hover-ink, #fff);
      font-size:1.34rem;
      line-height:1.1;
      letter-spacing:0;
    }
    .category-news-visual-copy small{
      color:var(--category-hover-ink-soft, rgba(255,255,255,.78));
      font-weight:800;
    }
    .category-empty-state{
      display:grid;
      grid-template-columns:auto minmax(0, 1fr);
      gap:16px;
      align-items:center;
      border:1px solid var(--category-border, rgba(var(--brand-primary-rgb), .18));
      border-radius:8px;
      padding: clamp(20px, 3vw, 28px);
      background:
        linear-gradient(135deg, rgba(255,255,255,.98), var(--category-bg, #eef7ff));
      box-shadow:
        0 16px 32px var(--category-glow, rgba(var(--brand-primary-rgb), .12)),
        inset 0 1px 0 rgba(255,255,255,.94);
    }
    .category-empty-image{
      width:86px;
      height:68px;
      display:block;
      border-radius:8px;
      object-fit:cover;
      box-shadow:0 14px 24px var(--category-glow-strong, rgba(var(--brand-primary-rgb), .18));
    }
    .category-empty-state h2{
      margin:0 0 4px;
      color:#0f172a;
      font-size:1.2rem;
      letter-spacing:0;
    }
    .category-empty-state .home-empty{
      margin:0;
      text-align:left;
    }
    .editorial-grid{
      display:grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      grid-auto-rows: 1fr;
      gap: clamp(16px, 2vw, 26px);
      align-items:stretch;
    }
    .editorial-card{
      color:#fff;
      display:grid;
      grid-template-rows: minmax(220px, 56%) auto;
      min-height: clamp(360px, 33vw, 500px);
      height:100%;
      background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-strong));
      border-radius:var(--radius-xxl);
      overflow:hidden;
      box-shadow:var(--shadow-soft);
    }
    .editorial-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-hover) }
    .editorial-card--category{
      background:
        linear-gradient(var(--article-gradient-angle, 145deg), var(--article-card-start, var(--category-hover-bg, var(--brand-primary))), var(--article-card-mid, var(--category-hover-bg-strong, var(--brand-primary-strong))) 54%, var(--article-card-end, var(--category-ink, var(--brand-primary-deep))));
      border:1px solid var(--category-border-strong, rgba(255,255,255,.2));
      box-shadow:
        0 22px 42px var(--category-glow-strong, rgba(var(--brand-primary-rgb), .18)),
        inset 0 1px 0 rgba(255,255,255,.34);
    }
    .ai-category-card{
      background:
        linear-gradient(150deg, var(--category-hover-bg, var(--brand-primary)) 0%, var(--category-hover-bg-strong, var(--brand-primary-strong)) 100%);
      border:1px solid var(--category-border-strong, rgba(255,255,255,.2));
    }
    .editorial-media{
      padding:0;
      position:relative;
    }
    .editorial-card--category .editorial-media{
      overflow:hidden;
      background:var(--category-bg, #eef7ff);
    }
    .editorial-media img,
    .editorial-media video{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }
    .editorial-card--category .editorial-media::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(92% 120% at var(--article-wash-x, 12%) var(--article-wash-y, 0%), rgba(255,255,255,var(--article-overlay-opacity, .32)), transparent 54%),
        linear-gradient(180deg, rgba(2,6,23,.04), rgba(2,6,23,.22));
      pointer-events:none;
    }
    .ai-category-visual{
      min-height:220px;
      display:grid;
      place-items:center;
      overflow:hidden;
      background:
        radial-gradient(80% 80% at 18% 12%, rgba(255,255,255,.52), transparent 58%),
        linear-gradient(135deg, var(--category-bg, #eef6ff), var(--category-bg-strong, #d9e9ff));
    }
    .ai-category-visual::before{
      content:"";
      position:absolute;
      inset:14%;
      border:1px solid rgba(255,255,255,.58);
      border-radius:28px;
      transform:rotate(-6deg);
      box-shadow:0 20px 50px var(--category-glow-strong, rgba(15,23,42,.16));
    }
    .ai-category-mark{
      position:relative;
      z-index:1;
      width:94px;
      height:94px;
      display:grid;
      place-items:center;
      border-radius:28px;
      color:var(--category-hover-ink, #fff);
      background:
        linear-gradient(135deg, var(--category-hover-bg, var(--brand-primary)), var(--category-hover-bg-strong, var(--brand-primary-strong)));
      font-size:2.1rem;
      font-weight:900;
      letter-spacing:0;
      box-shadow:
        0 24px 48px var(--category-glow-strong, rgba(15,23,42,.18)),
        inset 0 1px 0 rgba(255,255,255,.38);
    }
    .editorial-copy{
      padding: clamp(18px, 2.2vw, 26px);
      display:flex;
      flex-direction:column;
      justify-content:center;
      gap:.4rem;
    }
    .editorial-card--category .editorial-copy{
      position:relative;
      overflow:hidden;
      background:
        radial-gradient(120% 150% at var(--article-wash-x, 12%) var(--article-wash-y, 0%), rgba(255,255,255,.22), transparent 50%),
        linear-gradient(var(--article-gradient-angle, 145deg), var(--article-card-start, var(--category-hover-bg, var(--brand-primary))), var(--article-card-mid, var(--category-hover-bg-strong, var(--brand-primary-strong))) 58%, var(--article-card-end, var(--category-ink, var(--brand-primary-deep))));
      isolation:isolate;
    }
    .editorial-card--category .editorial-copy::before{
      content:"";
      position:absolute;
      inset:-40% auto -40% var(--article-shine-x, -32%);
      width:62%;
      transform:skewX(-16deg);
      background:linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent);
      pointer-events:none;
      z-index:-1;
    }
    .editorial-card--category .feature-subtitle{
      color:rgba(255,255,255,.9);
    }
    .editorial-copy h3{
      font-size: clamp(1.2rem, 1.2vw + 1rem, 1.9rem);
      color:#fff;
      margin:.2rem 0 .4rem;
      text-shadow:0 1px 0 rgba(15,23,42,.12);
    }
    .editorial-copy p{
      color:#ecf6ff;
      margin-bottom:.6rem;
    }
    .editorial-card--category .editorial-copy p{
      color:rgba(255,255,255,.9);
    }
    .editorial-actions{
      display:flex;
      align-items:center;
      gap:12px;
      flex-wrap:wrap;
      margin-top: auto;
    }
    .editorial-date{
      font-size:.78rem;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:rgba(255,255,255,.85);
      font-weight:800;
    }
    .editorial-card--category .btn-outline-light{
      background:rgba(255,255,255,.12);
      border-color:rgba(255,255,255,.72);
      backdrop-filter:blur(6px);
    }
    .editorial-card--category .btn-outline-light:hover,
    .editorial-card--category .btn-outline-light:focus-visible{
      color:var(--category-ink, #0f172a);
      background:#fff;
      border-color:#fff;
    }
    .news-load-more-wrap{
      display:flex;
      justify-content:center;
      padding-top: clamp(18px, 2vw, 26px);
    }
    .news-load-more{
      appearance:none;
      min-height:52px;
      padding:0 22px;
      border-radius:999px;
      border:1px solid rgba(var(--brand-primary-rgb), .28);
      background:#fff;
      color:var(--brand-primary-strong);
      font-weight:800;
      box-shadow:0 12px 24px rgba(15,23,42,.08);
      transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
    }
    .news-load-more:hover,
    .news-load-more:focus-visible{
      transform:translateY(-1px);
      color:#fff;
      background:var(--brand-primary-strong);
      border-color:var(--brand-primary-strong);
      box-shadow:0 16px 28px rgba(var(--brand-primary-rgb), .18);
      outline:0;
    }
    .news-load-more[hidden]{
      display:none;
    }

    .footer-landing{
      margin-top: 0;
      background:#f8fafc;
      color:#0f172a;
      border-top:1px solid rgba(15,23,42,.08);
    }
    .footer-landing .f-grid{
      gap: clamp(18px, 2.4vw, 28px);
      padding: clamp(22px, 3.2vw, 36px) 0;
      align-items:start;
    }
    .footer-landing .f-col h4{
      margin-bottom:8px;
      letter-spacing:.02em;
      color:#0f172a;
      font-weight:800;
    }
    .footer-landing .f-col a{
      margin:.25rem 0;
      color:#0f172a;
      opacity:.82;
    }
    .footer-landing .f-col .footer-link-placeholder{
      display:block;
      margin:.25rem 0;
      color:#0f172a;
      opacity:.82;
      font-weight:500;
      cursor:default;
    }
    .footer-landing .f-col a:hover{
      opacity:1;
      color:#0b1d3b;
    }
    .footer-landing .f-certifications{
      margin-top: 8px;
      padding-top: 18px;
      border-top:1px solid rgba(15,23,42,.08);
    }
    .footer-landing .cert-logos{
      gap: 12px;
    }
    .footer-landing .cert-logo-slot{
      width: 120px;
      height: 56px;
      border-radius: 10px;
      background:#fff !important;
      border:1px solid rgba(15,23,42,.12);
      color:#0f172a;
    }
    .footer-landing .cert-logo-slot img{
      width:auto;
      height:64px;
    }
    .footer-landing .cert-project{
      gap: 10px;
    }
    .footer-landing .cert-project > div:first-child{
      font-size:.72rem;
      color:#0b1d3b;
    }
    .footer-landing .cert-project > div:last-child{
      background:#fff !important;
      border:1px solid rgba(15,23,42,.12);
    }
    .footer-landing .cert-project img{
      width:auto;
      height:64px;
      border-radius:10px;
    }
    .footer-landing .f-brand{
      margin-top: 10px;
      border-top:1px solid rgba(15,23,42,.08);
      color:#334155;
    }

    .not-found-section{
      background:
        radial-gradient(120% 120% at 100% 0%, rgba(var(--brand-primary-rgb), .08), transparent 56%),
        linear-gradient(180deg, #ffffff 0%, var(--brand-bg-soft) 100%);
    }
    .not-found-card{
      background:rgba(255,255,255,.94);
      border:1px solid rgba(var(--brand-primary-rgb), .14);
      border-radius:28px;
      box-shadow:var(--shadow-soft);
      padding:clamp(24px, 4vw, 42px);
    }
    .not-found-code{
      display:inline-flex;
      align-items:center;
      gap:.5rem;
      padding:.5rem .85rem;
      margin-bottom:1rem;
      border-radius:999px;
      background:rgba(var(--brand-primary-rgb), .10);
      color:var(--brand-primary-strong);
      font-size:.85rem;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
    }
    .not-found-card h2{
      margin-bottom:.85rem;
      max-width:16ch;
    }
    .not-found-card p{
      max-width:66ch;
      margin-bottom:1.15rem;
    }
    .not-found-list{
      margin:0 0 1.5rem 1.2rem;
      padding:0;
      color:var(--muted);
    }
    .not-found-list li{
      margin-bottom:.6rem;
      line-height:1.6;
    }
    .not-found-actions{
      display:flex;
      align-items:center;
      gap:12px;
      flex-wrap:wrap;
    }

    @media (max-width: 980px){
      .news-home{
        padding: 8px;
        height:auto;
        overflow:visible;
      }
      .nav-wrap-mobile{
        display:block;
        position:sticky;
        top:8px;
        left:0;
        transform:none;
        width:100%;
        margin:0 0 10px;
        z-index:120;
      }
      .nav-wrap-mobile .nav{
        width:100%;
        border-radius:14px;
        min-height:64px;
      }
      #nav-toggle-mobile{
        display:none;
      }
      #nav-toggle-mobile:checked ~ ul{
        display:flex;
        flex-direction:column;
      }
      .news-shell{
        grid-template-columns: 1fr;
        height:auto;
        border-radius: 20px;
        overflow:visible;
      }
      .news-hero{
        position:relative;
        height:auto;
      }
      .news-hero .hero{
        min-height:58svh;
        border-radius:0 0 20px 20px;
      }
      .news-hero .hero-logo img{
        width: clamp(156px, 42vw, 240px);
      }
      .news-hero .typed{
        font-size: clamp(2.2rem, 9vw, 3.6rem);
        max-width: 13ch;
      }
      .news-hero .subtitle{
        max-width: 30ch;
      }
      .category-news-panel{
        grid-template-columns:1fr;
        padding:20px;
      }
      .category-news-panel::before{
        background:
          linear-gradient(180deg, transparent 0 54%, color-mix(in srgb, var(--category-bg-strong, #d8ebff) 70%, transparent) 54% 100%);
      }
      .category-news-head h1{
        max-width:100%;
        font-size:clamp(2.2rem, 12vw, 4rem);
      }
      .category-news-actions,
      .category-news-button{
        width:100%;
      }
      .category-news-actions{
        align-items:stretch;
      }
      .category-news-actions span{
        display:flex;
        align-items:center;
        justify-content:center;
        min-height:42px;
      }
      .category-news-visual{
        min-height:210px;
      }
      .category-empty-state{
        grid-template-columns:1fr;
      }
      .editorial-grid{
        grid-template-columns: 1fr;
        grid-auto-rows: auto;
      }
      .editorial-card{
        min-height: 320px;
      }
      .news-timeline-track{
        grid-template-columns: 1fr;
      }
      .news-main{
        height:auto;
        overflow:visible;
      }
      .news-main .nav-wrap{
        display:none;
      }
    }

    @media (max-width: 680px){
      .not-found-actions .btn{
        width:100%;
      }
    }

