:root{
    --navy:#0F2341; --navy-deep:#0a1830; --gold:#D4AF37; --gold-soft:#f4e4bc;
    --gold-ink:#94731a; --ivory:#faf8f2; --card:#f1ead9; --intro:#eef2f8; --ink:#1a2436; --muted:#5a6678;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--ivory);line-height:1.6;}
  a{text-decoration:none;color:inherit;}
  img{display:block;max-width:100%;}
  .eyebrow{font-family:'Montserrat',sans-serif; font-size:12px; letter-spacing:3.5px; color:var(--gold); text-transform:uppercase; margin-bottom:16px;}
  .pillars .head .eyebrow, .diagnosi .eyebrow, .articles .head .eyebrow{font-family:'Montserrat',sans-serif; font-weight:600; color:var(--gold-ink); letter-spacing:2.5px;}

  /* ---------- HEADER ---------- */
  .site-header{position:fixed; top:0; left:0; right:0; z-index:50; display:flex; align-items:center; justify-content:space-between; padding:13px clamp(20px,5vw,56px) 15px; background:linear-gradient(180deg, rgba(10,18,40,0.55) 0%, rgba(10,18,40,0.30) 60%, rgba(10,18,40,0) 100%); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);}
  .brand{display:flex; align-items:center; gap:12px;}
  .brand img{width:40px; height:auto; filter:drop-shadow(0 0 8px rgba(212,175,55,0.35));}
  /* logo header: la favicon-G entra da sinistra, lo sfondo navy si dissolve, poi Compass e tagline compaiono */
  .logo-wrap{display:flex; flex-direction:column; line-height:1;}
  .wm-row{display:flex; align-items:center; font-family:'Montserrat',sans-serif; font-weight:700; font-size:26px; letter-spacing:0.5px; color:#fff;}
  .g-badge{display:inline-flex; align-items:center; justify-content:center; background:#1d3a6e; border-radius:5px; padding:2px 6px; transform:translateX(-200px); opacity:0; transition:transform 1.3s cubic-bezier(.2,.8,.2,1), opacity .8s ease;}
  .g-badge.enter{transform:translateX(0); opacity:1;}
  .g-badge.dissolved{background:transparent; padding:0; border-radius:0; transition:background 1s ease, padding 1s ease;}
  .g-letter{color:#fff;}
  .wm-c{color:var(--gold); display:inline-block; opacity:0; transform:translateY(-44px); transition:opacity .9s ease, transform 1s cubic-bezier(.2,.85,.3,1);}
  .wm-c.show{opacity:1; transform:translateY(0);}
  .wm-compass{opacity:0; transform:translateX(-6px); transition:opacity .9s ease, transform .9s ease;}
  .wm-compass.show{opacity:1; transform:translateX(0);}
  .wm-tagline{font-family:'Montserrat',sans-serif; font-weight:500; font-size:12px; letter-spacing:1.5px; color:var(--gold); margin-top:4px; opacity:0; transform:translateY(8px); transition:opacity .85s ease, transform .85s ease;}
  .wm-tagline.show{opacity:1; transform:translateY(0);}
  .nav{display:flex; align-items:center; gap:clamp(18px,2.4vw,38px);}
  .nav a{font-family:'Inter',sans-serif; font-size:14px; font-weight:500; letter-spacing:0.2px; color:#fff; transition:color .25s; text-shadow:0 1px 6px rgba(0,0,0,0.5);}
  .nav a:hover{color:var(--gold-soft);}
  .lang{display:flex; gap:9px; align-items:center; margin-left:8px; font-family:'Inter'; font-size:12px;}
  .lang a{color:rgba(255,255,255,0.85); text-shadow:0 1px 6px rgba(0,0,0,0.4);}
  .lang a.on{color:var(--gold); font-weight:600;}
  .lang span{color:rgba(255,255,255,0.25);}

  /* ---------- HERO ---------- */
  .hero{position:relative; min-height:90vh; display:flex; align-items:center; color:#fff; overflow:hidden;}
  .hero-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
  .hero-veil{position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(10,18,40,0.30) 0%, rgba(10,18,40,0.10) 38%, rgba(10,18,40,0.42) 100%);}
  .hero-inner{position:relative; z-index:2; max-width:880px; margin:0 auto; width:100%; padding:0 clamp(20px,5vw,56px); text-align:center;}
  .hero-link{margin-top:30px; opacity:0; transform:translateY(12px); transition:opacity 1s ease, transform 1s ease; display:inline-flex; align-items:center; gap:11px; font-family:'Montserrat',sans-serif; font-size:clamp(13px,1.6vw,16px); letter-spacing:2px; color:#fff; padding:16px 36px; border:1px solid rgba(255,255,255,0.55); border-radius:3px; background:rgba(10,18,40,0.22); backdrop-filter:blur(2px); text-shadow:0 1px 12px rgba(0,0,0,0.55);}
  .hero-link.show{opacity:1; transform:translateY(0);}
  .hero-link:hover{border-color:var(--gold-soft); color:var(--gold-soft); background:rgba(10,18,40,0.38);}
  .hero-link .arr{transition:transform .25s;}
  .hero-link:hover .arr{transform:translateX(4px);}
  /* intro benvenuto: finestra che compare, tiene, si rimpicciolisce e si dissolve */
  .welcome-card{position:absolute; top:50%; left:50%; z-index:6; width:min(560px, calc(100% - 44px)); padding:42px 46px; text-align:center; background:rgba(10,18,40,0.50); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid rgba(212,175,55,0.40); border-radius:16px; box-shadow:0 30px 90px rgba(0,0,0,0.55); transform:translate(-50%,-50%) scale(0.82); opacity:0; pointer-events:none; transition:opacity .7s ease, transform .7s cubic-bezier(.2,.85,.25,1);}
  .welcome-card.show{opacity:1; transform:translate(-50%,-50%) scale(1);}
  .welcome-card.hide{opacity:0; transform:translate(-50%,-50%) scale(0.5);}
  .welcome-card .eyebrow{color:var(--gold-soft); margin-bottom:14px; text-shadow:none;}
  .welcome-card h1{font-family:'Montserrat',sans-serif; font-weight:600; font-size:clamp(23px,3vw,34px); line-height:1.25; margin:0 0 16px; color:#fff; letter-spacing:0.3px;}
  .welcome-card h1 .accent{background:linear-gradient(135deg,#d4af37,#f4e4bc,#d4af37); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
  .welcome-card .lead{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(18px,2.2vw,23px); color:rgba(255,255,255,0.9); margin:0;}
  @keyframes linkReveal{from{opacity:0; transform:translateY(12px);} to{opacity:1; transform:translateY(0);}}
  .hero .eyebrow{color:var(--gold-soft); text-shadow:0 1px 12px rgba(0,0,0,0.7);}
  .hero h1{font-family:'Montserrat',sans-serif; font-weight:600; font-size:clamp(26px,3.7vw,44px); line-height:1.24; max-width:22ch; margin:0 auto 22px; text-shadow:0 2px 26px rgba(0,0,0,0.65);}
  .hero h1 .accent{background:linear-gradient(135deg,#d4af37,#f4e4bc,#d4af37); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
  .hero .lead{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(19px,2.3vw,25px); color:rgba(255,255,255,0.94); max-width:48ch; margin:0 auto; text-shadow:0 1px 16px rgba(0,0,0,0.7);}
  .scroll-cue{position:absolute; bottom:30px; left:50%; transform:translateX(-50%); z-index:3; color:rgba(255,255,255,0.6); font-family:'Montserrat',sans-serif; font-size:11px; letter-spacing:2px; text-transform:uppercase;}
  .scroll-cue span{display:block; text-align:center; font-size:18px; margin-top:4px; animation:bob 1.8s ease-in-out infinite;}
  @keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(6px);}}

  /* ---------- generic section ---------- */
  .sec{padding:clamp(60px,9vw,110px) clamp(20px,5vw,56px);}
  .wrap{max-width:1100px; margin:0 auto;}
  .sec-title{font-family:'Montserrat',sans-serif; font-weight:600; font-size:clamp(24px,3.1vw,34px); color:var(--navy); margin-bottom:16px; letter-spacing:0.2px;}
  .center{text-align:center;}
  .center .eyebrow{display:block;}
  .lead-p{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(19px,2.2vw,23px); color:#3a4658; max-width:62ch; line-height:1.6;}

  /* MISSION (manifesto introduttivo navy, stacca dalle schede chiare) */
  .mission{background:var(--ivory);}
  .mission .wrap{max-width:900px; text-align:center; background:linear-gradient(160deg,#13294a,#0a1830); border:1px solid rgba(212,175,55,0.30); border-radius:18px; padding:clamp(44px,6vw,68px) clamp(28px,5vw,58px); box-shadow:0 24px 60px rgba(10,18,40,0.28); position:relative; overflow:hidden;}
  .mission .wrap::before{content:''; position:absolute; inset:0; background:radial-gradient(700px 360px at 50% 0%, rgba(212,175,55,0.10), transparent 65%); pointer-events:none;}
  .mission .eyebrow{color:var(--gold); position:relative;}
  .mission .sec-title{font-family:'Montserrat',sans-serif; color:#fff; position:relative;}
  .mission .lead-p{margin:14px auto 0; color:rgba(255,255,255,0.86); font-weight:400; position:relative;}

  /* PILASTRI */
  .pillars{background:#fff; border-top:1px solid rgba(15,35,65,0.06); border-bottom:1px solid rgba(15,35,65,0.06);}
  .pillars .head{text-align:center; margin-bottom:54px;}
  .grid4{display:grid; grid-template-columns:repeat(2,1fr); gap:26px; max-width:920px; margin:0 auto;}
  .pill{background:var(--card); border:1px solid rgba(15,35,65,0.11); border-radius:12px; padding:34px 30px; box-shadow:0 3px 14px rgba(15,35,65,0.05); transition:transform .25s, box-shadow .25s;}
  .pill:hover{transform:translateY(-4px); box-shadow:0 16px 46px rgba(15,35,65,0.10);}
  .pill.featured{background:linear-gradient(160deg,#102843,#0a1830); border-color:rgba(212,175,55,0.35);}
  .pill h3{font-family:'Montserrat',sans-serif; font-weight:600; font-size:18px; color:var(--navy); margin-bottom:12px;}
  .pill.featured h3{color:var(--gold-soft);}
  .pill p{font-size:14.5px; color:var(--muted);}
  .pill.featured p{color:rgba(255,255,255,0.78);}
  .pill .tag{font-family:'Montserrat',sans-serif; font-weight:600; font-size:10.5px; letter-spacing:1.5px; color:var(--gold-ink); text-transform:uppercase; margin-bottom:14px; display:block;}
  .pill.featured .tag{color:var(--gold);}

  /* DISTINTIVO AI */
  .distinct{background:var(--navy); color:#fff; text-align:center; position:relative; overflow:hidden;}
  .distinct::before{content:''; position:absolute; inset:0; background:radial-gradient(900px 480px at 50% 0%, rgba(212,175,55,0.10), transparent 65%);}
  .distinct .wrap{position:relative; max-width:780px;}
  .distinct h2{font-family:'Montserrat',sans-serif; font-weight:600; font-size:clamp(24px,3.2vw,34px); margin-bottom:18px; color:#fff;}
  .distinct h2 .gold{background:linear-gradient(135deg,#d4af37,#f4e4bc,#d4af37); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
  .distinct p{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(18px,2.2vw,22px); color:rgba(255,255,255,0.82); max-width:58ch; margin:0 auto 30px; line-height:1.6;}
  .distinct p.distinct-claim{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(20px,2.6vw,26px); color:#fff; max-width:50ch; margin:0 auto 16px; line-height:1.4;}
  .distinct p.distinct-intro{font-family:'Inter',sans-serif; font-style:normal; font-size:16px; color:rgba(255,255,255,0.82); max-width:64ch; margin:0 auto 34px; line-height:1.7;}
  .distinct-points{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; max-width:860px; margin:0 auto 34px; text-align:left;}
  .distinct-points .dp{border-top:2px solid rgba(212,175,55,0.45); padding-top:14px;}
  .distinct-points .dp-lbl{display:block; font-family:'Montserrat',sans-serif; font-weight:600; font-size:15px; color:var(--gold-soft); margin-bottom:8px;}
  .distinct-points .dp p{font-family:'Inter',sans-serif; font-style:normal; font-size:14px; color:rgba(255,255,255,0.78); line-height:1.6; margin:0; max-width:none;}
  .distinct p.distinct-close{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(17px,2vw,20px); color:rgba(255,255,255,0.85); max-width:62ch; margin:0 auto 30px; line-height:1.55;}
  @media(max-width:760px){ .distinct-points{grid-template-columns:1fr; gap:20px;} }
  .btn{font-family:'Montserrat',sans-serif; font-size:13px; letter-spacing:1.5px; padding:15px 32px; border-radius:3px; transition:transform .2s, box-shadow .2s; cursor:pointer; display:inline-block;}
  .btn-gold{background:linear-gradient(135deg,#b8960c,#d4af37,#f4e4bc); color:#0a0a0a; font-weight:600; box-shadow:0 10px 34px rgba(212,175,55,0.28);}
  .btn-gold:hover{transform:translateY(-2px); box-shadow:0 14px 42px rgba(212,175,55,0.42);}
  .btn-ghost{border:1px solid rgba(244,228,188,0.55); color:var(--gold-soft);}
  .btn-ghost:hover{border-color:var(--gold-soft); background:rgba(244,228,188,0.08);}
  .btn-navy{border:1px solid rgba(15,35,65,0.30); color:var(--navy);}
  .btn-navy:hover{background:rgba(15,35,65,0.05);}

  /* DIAGNOSI */
  .diagnosi{background:var(--ivory); text-align:center;}
  .diagnosi .wrap{max-width:760px;}
  .diag-amount{font-family:'Montserrat',sans-serif; font-weight:700; font-size:clamp(40px,6vw,58px); background:linear-gradient(135deg,#8a6a10,#b8960c,#9a7a1e); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; display:block; margin:8px 0 4px;}
  .diag-note{font-size:12.5px; letter-spacing:1px; color:var(--muted); text-transform:uppercase; font-family:'Montserrat',sans-serif; font-weight:600; margin-bottom:30px; display:block;}

  /* ULTIMI ARTICOLI */
  .articles{background:#fff; border-top:1px solid rgba(15,35,65,0.06); padding:clamp(60px,8vw,96px) clamp(20px,5vw,56px);}
  .articles .head{text-align:center; margin-bottom:48px;}
  .art-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; max-width:1100px; margin:0 auto;}
  .art-card{background:var(--card); border:1px solid rgba(15,35,65,0.11); border-radius:12px; padding:28px 26px; box-shadow:0 3px 14px rgba(15,35,65,0.05); transition:transform .25s, box-shadow .25s; display:flex; flex-direction:column;}
  .art-card:hover{transform:translateY(-4px); box-shadow:0 16px 46px rgba(15,35,65,0.10);}
  .art-cat{font-family:'Montserrat',sans-serif; font-weight:600; font-size:10.5px; letter-spacing:1.5px; color:var(--gold-ink); text-transform:uppercase;}
  .art-card h3{font-family:'Montserrat',sans-serif; font-weight:600; font-size:16px; color:var(--navy); margin:11px 0 12px; line-height:1.4;}
  .art-date{font-size:12.5px; color:var(--muted); margin-top:auto;}
  .art-link{font-family:'Montserrat',sans-serif; font-weight:600; font-size:11.5px; letter-spacing:1px; color:var(--gold-ink); margin-top:12px; display:inline-block;}

  /* PRE-FOOTER ricco */
  .prefoot{background:var(--navy-deep); color:rgba(255,255,255,0.72); padding:clamp(46px,6vw,66px) clamp(20px,5vw,56px) 30px; border-top:1px solid rgba(212,175,55,0.18);}
  .prefoot .cols{max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1.3fr 0.8fr 1fr; gap:46px;}
  .prefoot h4{font-family:'Montserrat',sans-serif; font-size:13px; letter-spacing:2px; color:var(--gold-soft); margin-bottom:18px;}
  .prefoot .explore a{color:rgba(255,255,255,0.7); display:block; padding:5px 0; font-size:14px; transition:color .2s;}
  .prefoot .explore a:hover{color:var(--gold-soft);}
  .prefoot .explore a.explore-sep{margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,0.12); color:var(--gold-soft); font-weight:500;}
  /* agenda */
  .agenda-item{display:flex; gap:13px; align-items:flex-start; padding:11px 0; border-bottom:1px solid rgba(255,255,255,0.08);}
  .agenda-badge{flex-shrink:0; width:46px; text-align:center; background:rgba(212,175,55,0.12); border:1px solid rgba(212,175,55,0.3); border-radius:6px; padding:6px 0; line-height:1.05;}
  .agenda-badge .d{font-family:'Montserrat',sans-serif; font-weight:700; font-size:17px; color:var(--gold-soft); display:block;}
  .agenda-badge .m{font-family:'Montserrat',sans-serif; font-size:9px; letter-spacing:1px; color:var(--gold); text-transform:uppercase;}
  .agenda-txt{font-size:13px; color:rgba(255,255,255,0.78); line-height:1.4;}
  .btn-appt{margin-top:20px; display:inline-block; font-family:'Montserrat',sans-serif; font-size:11.5px; letter-spacing:1.2px; padding:11px 20px; border-radius:4px; border:1px solid rgba(212,175,55,0.5); color:var(--gold-soft); transition:all .2s;}
  .btn-appt:hover{background:rgba(212,175,55,0.1); border-color:var(--gold-soft);}
  .news p{font-size:13.5px; color:rgba(255,255,255,0.6); margin-bottom:16px; line-height:1.5;}
  .news input{width:100%; padding:11px 14px; border-radius:4px; border:1px solid rgba(255,255,255,0.18); background:rgba(255,255,255,0.06); color:#fff; font-family:'Inter'; font-size:14px; margin-bottom:10px;}
  .news input::placeholder{color:rgba(255,255,255,0.4);}
  .news button{width:100%; padding:11px; border:none; border-radius:4px; background:linear-gradient(135deg,#b8960c,#d4af37,#f4e4bc); color:#0a0a0a; font-family:'Montserrat',sans-serif; font-size:12px; letter-spacing:1.5px; font-weight:600; cursor:pointer;}
  .news-consent{display:flex; gap:8px; align-items:flex-start; margin:0 0 12px; font-size:11.5px; color:rgba(255,255,255,0.6); line-height:1.45; cursor:pointer;}
  .news-consent input{width:auto; margin:3px 0 0; flex:0 0 auto;}
  .news-consent span{flex:1;}
  .news-consent a{color:var(--gold-soft); text-decoration:underline;}

  /* OSSERVATORIO prefoot */
  .osservatorio h4{font-family:'Montserrat',sans-serif; font-size:13px; letter-spacing:2px; color:var(--gold-soft); margin-bottom:18px;}
  .oss-list{list-style:none; margin:0 0 16px; padding:0;}
  .oss-item{padding:9px 0; border-bottom:1px solid rgba(255,255,255,0.08);}
  .oss-item:last-child{border-bottom:none;}
  .oss-item a{font-size:13px; color:rgba(255,255,255,0.82); line-height:1.4; display:block; transition:color .2s;}
  .oss-item a:hover{color:var(--gold-soft);}
  .oss-date{font-size:11px; color:rgba(255,255,255,0.4); display:block; margin-top:3px; font-family:'Montserrat',sans-serif; letter-spacing:0.5px;}
  .oss-all{font-family:'Montserrat',sans-serif; font-size:11.5px; font-weight:600; letter-spacing:1px; color:var(--gold-soft); transition:color .2s;}
  .oss-all:hover{color:#fff;}

  /* COOKIE GATE (bloccante, conforme: anche "solo essenziali" apre il sito) */
  .cookie-wall{position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(6,12,24,0.88); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); opacity:0; visibility:hidden; transition:opacity .5s ease;}
  .cookie-wall.show{opacity:1; visibility:visible;}
  .cookie-card{width:min(560px,100%); background:linear-gradient(160deg,#102843,#0a1830); border:1px solid rgba(212,175,55,0.4); border-radius:16px; padding:clamp(28px,4vw,42px); box-shadow:0 30px 90px rgba(0,0,0,0.6); transform:scale(0.92); transition:transform .55s cubic-bezier(.2,.85,.25,1);}
  .cookie-wall.show .cookie-card{transform:scale(1);}
  .cookie-card h3{font-family:'Montserrat',sans-serif; font-weight:600; font-size:22px; color:#fff; margin-bottom:14px; letter-spacing:0.3px;}
  .cookie-card h3 .accent{color:var(--gold-soft);}
  .cookie-card p{font-size:14px; color:rgba(255,255,255,0.8); line-height:1.6; margin-bottom:9px;}
  .cookie-card p a{color:var(--gold); text-decoration:underline;}
  .cookie-card .small{font-size:12.5px; color:rgba(255,255,255,0.55);}
  .cookie-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:26px;}
  .ck-btn{flex:1; min-width:170px; font-family:'Montserrat',sans-serif; font-size:13px; font-weight:600; padding:13px 24px; border-radius:5px; cursor:pointer; border:1px solid transparent; transition:all .2s; text-align:center;}
  .ck-ess{background:transparent; border-color:rgba(255,255,255,0.4); color:#fff;}
  .ck-ess:hover{border-color:var(--gold-soft); color:var(--gold-soft);}
  .ck-all{background:linear-gradient(135deg,#b8960c,#d4af37,#f4e4bc); color:#0a0a0a;}
  .ck-all:hover{transform:translateY(-2px);}

  /* PROMO TOAST (compare dopo la scelta cookie) */
  .promo-toast{position:fixed; right:clamp(14px,3vw,28px); bottom:clamp(14px,3vw,28px); z-index:60; width:min(360px,calc(100% - 28px)); background:linear-gradient(160deg,#102843,#0a1830); border:1px solid rgba(212,175,55,0.4); border-radius:14px; padding:22px 24px 24px; box-shadow:0 24px 70px rgba(0,0,0,0.5); transform:translateY(24px); opacity:0; visibility:hidden; transition:opacity .5s ease, transform .5s cubic-bezier(.2,.8,.2,1);}
  .promo-toast.show{opacity:1; visibility:visible; transform:translateY(0);}
  .promo-toast .close{position:absolute; top:10px; right:13px; background:none; border:none; color:rgba(255,255,255,0.5); font-size:20px; cursor:pointer; line-height:1; transition:color .2s;}
  .promo-toast .close:hover{color:var(--gold-soft);}
  .promo-toast h4{font-family:'Montserrat',sans-serif; font-weight:600; font-size:16px; color:#fff; margin-bottom:8px;}
  .promo-toast p{font-size:13px; color:rgba(255,255,255,0.72); line-height:1.5; margin-bottom:14px;}
  .promo-toast .pf{display:flex; gap:8px;}
  .promo-toast input{flex:1; min-width:0; padding:10px 12px; border-radius:5px; border:1px solid rgba(255,255,255,0.2); background:rgba(255,255,255,0.06); color:#fff; font-family:'Inter'; font-size:13px;}
  .promo-toast input::placeholder{color:rgba(255,255,255,0.4);}
  .promo-toast .pbtn{padding:10px 16px; border:none; border-radius:5px; background:linear-gradient(135deg,#b8960c,#d4af37,#f4e4bc); color:#0a0a0a; font-family:'Montserrat',sans-serif; font-weight:600; font-size:12.5px; cursor:pointer; white-space:nowrap;}
  .promo-toast .promo-line{display:flex; align-items:center; gap:7px; margin-top:14px; padding-top:13px; border-top:1px solid rgba(255,255,255,0.1); font-size:13px; color:var(--gold-soft); transition:color .2s;}
  .promo-toast .promo-line:hover{color:#fff;}
  .promo-toast .promo-line strong{font-weight:600;}
  .promo-toast .promo-line .parr{display:inline-block; transition:transform .2s;}
  .promo-toast .promo-line:hover .parr{transform:translateX(3px);}

  /* FOOTER legale */
  footer{background:#06101f; color:rgba(255,255,255,0.5); padding:30px clamp(20px,5vw,56px); font-size:12.5px; text-align:center; line-height:1.8;}
  footer a{color:var(--gold-soft); text-decoration:none; border-bottom:1px solid transparent; transition:border-color .2s;}
  footer a:hover{border-bottom-color:var(--gold-soft);}

  @media(max-width:820px){
    .nav .links{display:none;}
    .grid4{grid-template-columns:1fr;}
    .prefoot .cols{grid-template-columns:1fr; gap:34px;}
    /* hamburger visibile */
    .ham-btn{display:flex;}
  }
  /* HAMBURGER MENU (mobile) */
  .ham-btn{display:none; flex-direction:column; justify-content:center; gap:5px; width:44px; height:44px; cursor:pointer; padding:8px; border-radius:6px; background:rgba(255,255,255,0.10); border:1px solid rgba(255,255,255,0.18); position:fixed; top:14px; right:clamp(14px,4vw,24px); z-index:9980;}
  .ham-btn span{display:block; width:22px; height:2px; background:#fff; border-radius:2px; transition:transform .3s ease, opacity .3s ease;}
  /* drawer */
  .mob-menu{display:none; position:fixed; inset:0; z-index:9990; background:rgba(6,12,24,0.96); flex-direction:column; align-items:center; justify-content:center; gap:0; backdrop-filter:blur(8px);}
  .mob-menu.open{display:flex;}
  .mob-menu a{font-family:'Montserrat',sans-serif; font-weight:600; font-size:22px; letter-spacing:1.5px; color:#fff; padding:18px 32px; text-align:center; transition:color .2s; border-bottom:1px solid rgba(255,255,255,0.07); width:100%; max-width:320px;}
  .mob-menu a:last-child{border-bottom:none;}
  .mob-menu a:hover{color:var(--gold-soft);}
  .mob-close{position:absolute; top:22px; right:24px; background:none; border:none; color:#fff; font-size:28px; cursor:pointer; line-height:1; padding:4px 8px;}
  .mob-lang{display:flex; gap:18px; margin-top:28px; padding-top:22px; border-top:1px solid rgba(255,255,255,0.15); font-family:'Inter',sans-serif; font-size:14px;}
  .mob-lang a{color:rgba(255,255,255,0.7); border-bottom:none; padding:0; font-weight:500; font-size:14px; letter-spacing:1px; white-space:nowrap;}
  .mob-lang a.on{color:var(--gold);}


/* ============================================================
   PAGINE INTERNE — banner navy in cima (l'header bianco ci sta sopra)
   ============================================================ */
.page-hero{position:relative; background:linear-gradient(160deg,#13294a,#0a1830); color:#fff; padding:168px clamp(20px,5vw,56px) 88px; text-align:center; overflow:hidden;}
.page-hero::before{content:""; position:absolute; inset:0; background:radial-gradient(ellipse at 50% -10%, rgba(212,175,55,0.16), transparent 62%); pointer-events:none;}
.page-hero .eyebrow{color:var(--gold);}
.page-hero h1{font-family:'Montserrat',sans-serif; font-weight:600; font-size:clamp(30px,5vw,50px); line-height:1.12; margin-bottom:16px; position:relative;}
.page-hero h1 .gold{color:var(--gold);}
.page-hero .lead{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(19px,2.4vw,25px); color:var(--gold-soft); max-width:720px; margin:0 auto; line-height:1.4; position:relative;}

/* ---------- CONTATTI ---------- */
.contact-sec{background:var(--ivory); padding:clamp(50px,7vw,86px) clamp(20px,5vw,56px);}
.contact-grid{max-width:1080px; margin:0 auto; display:grid; grid-template-columns:1.5fr 1fr; gap:clamp(28px,4vw,56px); align-items:start;}
.contact-form{background:#fff; border:1px solid rgba(15,35,65,0.10); border-radius:14px; padding:clamp(24px,3vw,40px); box-shadow:0 18px 50px -28px rgba(15,35,65,0.30);}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.field{margin-bottom:18px;}
.field.full{grid-column:1 / -1;}
.field label{display:block; font-family:'Montserrat',sans-serif; font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--navy); margin-bottom:7px;}
.field label .req{color:#b08400;}
.field input, .field select, .field textarea{width:100%; font-family:'Inter',sans-serif; font-size:15px; color:var(--ink); background:var(--ivory); border:1px solid rgba(15,35,65,0.16); border-radius:8px; padding:12px 14px; transition:border-color .2s, box-shadow .2s;}
.field textarea{min-height:130px; resize:vertical;}
.field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(212,175,55,0.16);}
.consent{display:flex; gap:11px; align-items:flex-start; margin:6px 0 22px; font-size:13.5px; color:var(--muted); line-height:1.5;}
.consent input{margin-top:3px; width:17px; height:17px; flex-shrink:0; accent-color:var(--navy);}
.consent a{color:var(--gold-ink); text-decoration:underline;}
.submit-btn{font-family:'Montserrat',sans-serif; font-weight:600; font-size:14px; letter-spacing:0.5px; color:#fff; background:var(--navy); border:none; border-radius:8px; padding:15px 34px; cursor:pointer; transition:background .2s, transform .2s;}
.submit-btn:hover{background:#163255; transform:translateY(-1px);}
.form-note{font-size:12.5px; color:var(--muted); margin-top:14px;}
.contact-aside{padding-top:6px;}
.contact-aside h3{font-family:'Montserrat',sans-serif; font-weight:600; font-size:19px; color:var(--navy); margin-bottom:8px;}
.contact-aside p{font-size:15px; color:var(--ink); margin-bottom:18px;}
.contact-aside .info-item{margin-bottom:18px;}
.contact-aside .info-item .lbl{font-family:'Montserrat',sans-serif; font-size:11px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold-ink); display:block; margin-bottom:4px;}
.contact-aside .info-item a{color:var(--navy); font-weight:500;}
.contact-aside .legal-note{margin-top:26px; padding-top:20px; border-top:1px solid rgba(15,35,65,0.12); font-size:12.5px; color:var(--muted); line-height:1.5;}
.form-alert{display:none; border-radius:8px; padding:13px 16px; font-size:14px; margin-bottom:18px;}
.form-alert.ok{display:block; background:rgba(35,120,70,0.10); border:1px solid rgba(35,120,70,0.30); color:#1d6b41;}
.form-alert.err{display:block; background:rgba(160,40,40,0.08); border:1px solid rgba(160,40,40,0.28); color:#9a2b2b;}

/* ---------- SEZIONE SEGNALATORI / "SVILUPPA AFFARI CON NOI" ---------- */
.partner-sec{background:linear-gradient(160deg,#13294a,#0a1830); color:#fff; padding:clamp(54px,7vw,90px) clamp(20px,5vw,56px) clamp(40px,5vw,58px); position:relative; overflow:hidden;}
.partner-sec::before{content:""; position:absolute; inset:0; background:radial-gradient(ellipse at 80% 0%, rgba(212,175,55,0.14), transparent 60%); pointer-events:none;}
.partner-wrap{max-width:1000px; margin:0 auto; position:relative;}
.partner-wrap .eyebrow{color:var(--gold);}
.partner-wrap h2{font-family:'Montserrat',sans-serif; font-weight:600; font-size:clamp(26px,4vw,40px); line-height:1.15; margin-bottom:16px; max-width:760px;}
.partner-wrap .intro{font-size:clamp(15px,1.8vw,17px); color:#d7e0ee; max-width:680px; margin-bottom:40px; line-height:1.6;}
.partner-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:42px;}
.partner-step{background:rgba(255,255,255,0.04); border:1px solid rgba(212,175,55,0.22); border-radius:12px; padding:26px 24px;}
.partner-step .n{font-family:'Montserrat',sans-serif; font-weight:700; font-size:14px; color:var(--gold); letter-spacing:1px; display:block; margin-bottom:12px;}
.partner-step h4{font-family:'Montserrat',sans-serif; font-weight:600; font-size:17px; color:#fff; margin-bottom:9px;}
.partner-step p{font-size:14px; color:#c4cedd; line-height:1.55;}
.partner-cta{display:inline-block; font-family:'Montserrat',sans-serif; font-weight:600; font-size:14px; letter-spacing:0.5px; color:var(--navy); background:var(--gold); padding:15px 34px; border-radius:8px; transition:transform .2s, box-shadow .2s;}
.partner-cta:hover{transform:translateY(-2px); box-shadow:0 12px 30px -10px rgba(212,175,55,0.5);}
.partner-fine{font-size:12.5px; color:#9fb0c6; margin-top:18px; max-width:680px; line-height:1.5;}
@media(max-width:760px){
  .contact-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .partner-steps{grid-template-columns:1fr;}
}

/* ---------- PAGINE LEGALI (privacy / cookie) ---------- */
.legal-doc{background:var(--ivory); padding:clamp(46px,6vw,80px) clamp(20px,5vw,56px);}
.legal-wrap{max-width:820px; margin:0 auto;}
.legal-wrap .updated{font-family:'Montserrat',sans-serif; font-size:12.5px; letter-spacing:0.5px; color:var(--gold-ink); text-transform:uppercase; margin-bottom:28px;}
.legal-wrap h2{font-family:'Montserrat',sans-serif; font-weight:600; font-size:clamp(20px,2.6vw,26px); color:var(--navy); margin:34px 0 12px;}
.legal-wrap h2:first-of-type{margin-top:0;}
.legal-wrap h3{font-family:'Montserrat',sans-serif; font-weight:600; font-size:16px; color:var(--navy); margin:22px 0 8px;}
.legal-wrap p{font-size:15px; color:var(--ink); margin-bottom:14px; line-height:1.7;}
.legal-wrap ul{margin:0 0 16px 22px;}
.legal-wrap li{font-size:15px; color:var(--ink); margin-bottom:8px; line-height:1.6;}
.legal-wrap a{color:var(--gold-ink); text-decoration:underline;}
.legal-wrap .todo{background:#fff7e6; border:1px solid #e8c878; border-radius:6px; padding:2px 7px; font-family:'Inter',sans-serif; font-size:13.5px; color:#8a6d1f; font-weight:500;}
.legal-wrap .note-box{background:#fff; border:1px solid rgba(15,35,65,0.12); border-left:3px solid var(--gold); border-radius:8px; padding:16px 20px; margin:18px 0; font-size:14px; color:var(--muted); line-height:1.6;}
.legal-wrap table{width:100%; border-collapse:collapse; margin:10px 0 22px; font-size:14px;}
.legal-wrap th, .legal-wrap td{text-align:left; padding:10px 12px; border:1px solid rgba(15,35,65,0.14); vertical-align:top;}
.legal-wrap th{background:var(--card); font-family:'Montserrat',sans-serif; font-weight:600; color:var(--navy); font-size:13px;}

/* ============================================================
   PAGINE SECONDO LIVELLO (dark/navy) — Consulenza, AI Advisory
   Titoli in Cinzel, fondo navy
   ============================================================ */
body.lvl2{background:var(--navy-deep); color:#dfe7f2;}

.lvl2-hero{position:relative; padding:clamp(140px,16vh,182px) clamp(20px,5vw,56px) clamp(58px,8vw,88px); text-align:center; overflow:hidden; background:radial-gradient(ellipse at 50% -5%, rgba(212,175,55,0.16), transparent 60%), linear-gradient(170deg,#13294a,#0a1830);}
.lvl2-hero .eyebrow{color:var(--gold);}
.lvl2-hero h1{font-family:'Cinzel',serif; font-weight:600; font-size:clamp(30px,5.2vw,54px); line-height:1.12; color:#fff; margin:0 auto 18px; max-width:880px;}
.lvl2-hero .subtitle{font-family:'Cinzel',serif; font-weight:500; font-size:clamp(16px,2.2vw,22px); color:var(--gold); margin-bottom:20px;}
.lvl2-hero .lead{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(18px,2.3vw,25px); color:#c9d4e4; max-width:720px; margin:0 auto 34px; line-height:1.5;}
.lvl2-hero .cta-row{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

.btn-gold{display:inline-block; font-family:'Cinzel',serif; font-size:13px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--navy); background:var(--gold); padding:15px 32px; border-radius:7px; transition:transform .2s, box-shadow .2s;}
.btn-gold:hover{transform:translateY(-2px); box-shadow:0 14px 30px -12px rgba(212,175,55,0.55);}
.btn-outline{display:inline-block; font-family:'Cinzel',serif; font-size:13px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--gold); border:1px solid rgba(212,175,55,0.5); padding:14px 30px; border-radius:7px; transition:background .2s;}
.btn-outline:hover{background:rgba(212,175,55,0.12);}

.method{padding:clamp(54px,7vw,90px) clamp(20px,5vw,56px); max-width:1140px; margin:0 auto;}
.method .head{text-align:center; margin-bottom:48px;}
.method h2{font-family:'Cinzel',serif; font-weight:600; font-size:clamp(26px,4vw,40px); color:#fff; margin-bottom:14px;}
.method .intro{font-size:clamp(15px,1.8vw,17px); color:#aebcd0; max-width:680px; margin:0 auto; line-height:1.6;}
.method-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.phase{background:rgba(255,255,255,0.035); border:1px solid rgba(212,175,55,0.18); border-radius:12px; padding:26px 22px;}
.phase .ph-n{font-family:'Cinzel',serif; font-weight:700; font-size:13px; letter-spacing:1.5px; color:var(--gold); display:block; margin-bottom:8px;}
.phase h3{font-family:'Cinzel',serif; font-weight:600; font-size:19px; color:#fff; margin-bottom:10px;}
.phase p{font-size:14px; color:#b7c4d6; line-height:1.55;}

.profiles{padding:clamp(34px,5vw,70px) clamp(20px,5vw,56px) clamp(50px,7vw,84px); max-width:920px; margin:0 auto;}
.profiles .head{text-align:center; margin-bottom:42px;}
.profiles h2{font-family:'Cinzel',serif; font-weight:600; font-size:clamp(26px,4vw,40px); color:#fff; margin-bottom:14px;}
.profiles .intro{font-size:clamp(15px,1.8vw,17px); color:#aebcd0; max-width:640px; margin:0 auto; line-height:1.6;}
.acc{border:1px solid rgba(212,175,55,0.20); border-radius:12px; margin-bottom:14px; overflow:hidden; background:rgba(255,255,255,0.025);}
.acc.featured{border-color:rgba(212,175,55,0.55); box-shadow:0 0 0 1px rgba(212,175,55,0.22), 0 18px 50px -30px rgba(212,175,55,0.4);}
.acc-head{display:flex; align-items:center; gap:16px; padding:22px 24px; cursor:pointer; transition:background .2s;}
.acc-head:hover{background:rgba(255,255,255,0.045);}
.acc-num{font-family:'Cinzel',serif; font-weight:700; font-size:15px; color:var(--gold); flex-shrink:0; width:28px;}
.acc-title{font-family:'Inter',sans-serif; font-weight:600; font-size:clamp(15px,1.9vw,17.5px); color:#f0f4fa; flex:1; line-height:1.4;}
.acc-toggle{flex-shrink:0; width:24px; height:24px; position:relative; transition:transform .3s;}
.acc-toggle::before, .acc-toggle::after{content:""; position:absolute; background:var(--gold); border-radius:2px;}
.acc-toggle::before{top:11px; left:4px; width:16px; height:2px;}
.acc-toggle::after{top:4px; left:11px; width:2px; height:16px; transition:opacity .3s;}
.acc.open .acc-toggle::after{opacity:0;}
.acc-body{max-height:0; overflow:hidden; transition:max-height .5s ease;}
.acc.open .acc-body{max-height:1200px;}
.acc-body-inner{padding:0 24px 26px 68px;}
.acc-row{margin-bottom:14px;}
.acc-row .lbl{font-family:'Cinzel',serif; font-size:12px; letter-spacing:1px; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:4px;}
.acc-row p{font-size:14.5px; color:#c4d0e0; line-height:1.6; margin:0;}
.acc-serv{margin-top:16px; padding-top:14px; border-top:1px solid rgba(212,175,55,0.18); font-size:13.5px; color:#aebccf; line-height:1.7;}
.acc-serv .fee{display:block; margin-top:6px; font-style:italic; color:#8c9bb2; font-size:12.5px;}

.entry2{text-align:center; padding:clamp(54px,7vw,90px) clamp(20px,5vw,56px); background:radial-gradient(ellipse at 50% 120%, rgba(212,175,55,0.14), transparent 60%);}
.entry2 .eyebrow{color:var(--gold);}
.entry2 h2{font-family:'Cinzel',serif; font-weight:600; font-size:clamp(26px,4vw,40px); color:#fff; margin-bottom:16px;}
.entry2 p{font-size:clamp(15px,1.8vw,17px); color:#b7c4d6; max-width:680px; margin:0 auto 18px; line-height:1.6;}
.entry2 .amount{font-family:'Cinzel',serif; font-weight:700; font-size:clamp(40px,7vw,64px); color:var(--gold); display:block; line-height:1; margin:10px 0 6px;}
.entry2 .note{font-size:13px; color:#8c9bb2; display:block; margin-bottom:26px;}

@media(max-width:820px){ .method-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:520px){ .method-grid{grid-template-columns:1fr;} .acc-body-inner{padding-left:24px;} }

/* ---------- AI ADVISORY — card servizi su dark ---------- */
.svc-intro{max-width:820px; margin:0 auto; padding:clamp(38px,6vw,66px) clamp(20px,5vw,56px) 0; text-align:center;}
.svc-intro h2{font-family:'Cinzel',serif; font-weight:600; font-size:clamp(24px,3.5vw,36px); color:#fff; margin-bottom:16px;}
.svc-intro p{font-size:clamp(15px,1.8vw,17px); color:#b7c4d6; line-height:1.65;}
.svc-sec{padding:clamp(36px,5vw,60px) clamp(20px,5vw,56px) clamp(40px,6vw,72px); max-width:1140px; margin:0 auto;}
.svc-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
.svc-card{display:flex; flex-direction:column; background:rgba(255,255,255,0.035); border:1px solid rgba(212,175,55,0.20); border-radius:14px; padding:30px 28px; transition:transform .2s, border-color .2s;}
.svc-card:hover{transform:translateY(-3px); border-color:rgba(212,175,55,0.5);}
.svc-card .tag{align-self:flex-start; font-family:'Inter',sans-serif; font-size:11px; font-weight:600; letter-spacing:0.4px; color:var(--gold); background:rgba(212,175,55,0.12); border:1px solid rgba(212,175,55,0.3); border-radius:20px; padding:4px 12px; margin-bottom:16px;}
.svc-card h3{font-family:'Cinzel',serif; font-weight:600; font-size:22px; color:#fff; margin-bottom:10px;}
.svc-card .sub{font-size:14.5px; color:#c4d0e0; line-height:1.55; margin-bottom:18px;}
.svc-card ul{list-style:none; margin:0 0 20px; padding:0;}
.svc-card li{position:relative; padding-left:20px; font-size:14px; color:#aebccf; line-height:1.5; margin-bottom:9px;}
.svc-card li::before{content:"\2014"; position:absolute; left:0; color:var(--gold);}
.svc-card .price{font-family:'Cinzel',serif; font-weight:600; font-size:16.5px; color:var(--gold); margin-top:auto; margin-bottom:16px;}
.svc-card .cta{align-self:flex-start; font-family:'Inter',sans-serif; font-weight:600; font-size:13.5px; color:#0f2341; background:var(--gold); padding:11px 22px; border-radius:7px; transition:transform .2s;}
.svc-card .cta:hover{transform:translateX(3px);}
@media(max-width:760px){ .svc-grid{grid-template-columns:1fr;} }

/* ---------- CHI SIAMO ---------- */
.about-sec{background:var(--ivory); padding:clamp(50px,7vw,86px) clamp(20px,5vw,56px);}
.about-wrap{max-width:820px; margin:0 auto;}
.about-intro{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(20px,2.6vw,27px); color:var(--navy); line-height:1.5; margin-bottom:16px;}
.about-intro-2{font-size:clamp(15px,1.8vw,17px); color:var(--ink); line-height:1.7; margin-bottom:40px; padding-bottom:36px; border-bottom:1px solid rgba(15,35,65,0.12);}
.about-block{margin-bottom:38px;}
.about-block h2{font-family:'Montserrat',sans-serif; font-weight:600; font-size:clamp(20px,2.6vw,26px); color:var(--navy); margin-bottom:14px;}
.about-block .claim{font-family:'Montserrat',sans-serif; font-weight:600; font-size:clamp(16px,2vw,19px); color:var(--gold-ink); line-height:1.5; margin-bottom:16px;}
.about-block p{font-size:15.5px; color:var(--ink); line-height:1.7; margin-bottom:12px;}
.about-block.compliance{background:#fff; border:1px solid rgba(15,35,65,0.10); border-left:3px solid var(--gold); border-radius:10px; padding:24px 28px; margin-bottom:0;}
.about-block.compliance h2{font-size:18px; margin-bottom:12px;}
.about-block.compliance p{font-size:14px; color:var(--muted); margin-bottom:8px;}

/* ---------- CAMPO UPLOAD DOCUMENTI (form contatti) ---------- */
.field-file{margin-bottom:18px;}
.field-file .lbl{display:block; font-family:'Montserrat',sans-serif; font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--navy); margin-bottom:7px;}
.file-drop{display:block; position:relative; border:1.5px dashed rgba(15,35,65,0.25); border-radius:8px; background:var(--ivory); padding:20px 16px; text-align:center; cursor:pointer; transition:border-color .2s, background .2s;}
.file-drop:hover{border-color:var(--gold); background:#fffdf6;}
.file-drop input[type=file]{position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; height:100%;}
.file-drop .fd-icon{font-size:24px; color:var(--gold-ink); line-height:1; margin-bottom:6px;}
.file-drop .fd-text{font-size:13.5px; color:var(--ink);}
.file-drop .fd-hint{font-size:12px; color:var(--muted); margin-top:4px;}
.file-list{margin-top:10px; font-size:13px; color:var(--navy);}
.file-list .fl-item{padding:3px 0;}
.field-file .help{font-size:12.5px; color:var(--muted); margin-top:9px; line-height:1.5;}
.field-file .help.strong{color:var(--gold-ink);}


/* COOKIE BAR leggera (non bloccante) - sostituisce il muro */
.cookie-bar{position:fixed; left:clamp(14px,3vw,28px); right:clamp(14px,3vw,28px); bottom:clamp(14px,3vw,24px); z-index:9999; max-width:760px; margin:0 auto; display:flex; gap:16px; align-items:center; justify-content:space-between; flex-wrap:wrap; background:linear-gradient(160deg,#102843,#0a1830); border:1px solid rgba(212,175,55,0.4); border-radius:12px; padding:14px 18px; box-shadow:0 18px 50px rgba(0,0,0,0.45); transform:translateY(20px); opacity:0; visibility:hidden; transition:opacity .4s ease, transform .4s ease;}
.cookie-bar.show{opacity:1; visibility:visible; transform:translateY(0);}
.cookie-bar p{font-size:13px; color:rgba(255,255,255,0.82); line-height:1.5; margin:0; flex:1; min-width:240px;}
.cookie-bar p a{color:var(--gold); text-decoration:underline;}
.cookie-bar .ck-ok{font-family:'Montserrat',sans-serif; font-size:12.5px; font-weight:600; padding:10px 22px; border-radius:6px; border:none; cursor:pointer; background:linear-gradient(135deg,#b8960c,#d4af37,#f4e4bc); color:#0a0a0a; white-space:nowrap;}
@media(max-width:560px){ .cookie-bar{flex-direction:column; align-items:flex-start; gap:10px;} .cookie-bar .ck-ok{width:100%;} }

/* ============================================================
   MOBILE RESPONSIVE — blocco aggiunto 25/06/2026
   Breakpoint principale: 640px (smartphone)
   Complementa il blocco 820px esistente (hamburger, grid4, prefoot)
   ============================================================ */
@media(max-width:820px){
  /* Nasconde il selettore lingua desktop (evita spezzatura accanto al logo) */
  .nav .lang{display:none;}
  /* Previene overflow orizzontale */
  html,body{overflow-x:hidden;}
  /* Riduce padding header su mobile */
  .site-header{padding:14px 20px 20px;}
  /* !important necessario: .nav .links ha style inline display:flex che sovrascrive media query */
  .nav .links{display:none !important;}
  /* !important necessario: .ham-btn base (display:none) è dichiarata DOPO nel CSS e sovrascrive questo blocco */
  .ham-btn{display:flex !important;}
}

@media(max-width:640px){
  /* ---- HERO ---- */
  .hero{min-height:80vh;}
  .welcome-card{padding:28px 22px; border-radius:12px;}
  .welcome-card h1{font-size:clamp(20px,6vw,28px);}
  .welcome-card .lead{font-size:clamp(16px,4.5vw,19px);}
  .hero-link{padding:13px 22px; font-size:13px; letter-spacing:1px;}
  /* Page hero (pagine interne) */
  .page-hero{padding:120px 20px 60px;}
  .page-hero h1{font-size:clamp(24px,7vw,36px);}
  .page-hero .lead{font-size:clamp(17px,4.5vw,20px);}

  /* ---- SEZIONI GENERICHE ---- */
  .sec{padding:48px 20px;}
  .articles{padding:48px 20px;}

  /* ---- MISSION ---- */
  .mission .wrap{padding:34px 22px; border-radius:12px;}

  /* ---- GRIGLIE CARD ---- */
  .art-grid{grid-template-columns:1fr;}
  .grid4{grid-template-columns:1fr;} /* ridondante con 820px ma sicura */

  /* ---- DISTINTIVO AI ---- */
  .distinct-points{grid-template-columns:1fr; gap:18px;}

  /* ---- DIAGNOSI ---- */
  .diag-amount{font-size:clamp(38px,10vw,52px);}

  /* ---- PREFOOT ---- */
  .prefoot{padding:40px 20px 28px;}
  .prefoot .cols{grid-template-columns:1fr; gap:28px;}

  /* ---- FOOTER ---- */
  footer{padding:24px 20px; font-size:12px;}

  /* ---- CONTATTI (pagina) ---- */
  .contact-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}

  /* ---- PAGINE DARK (lvl2: consulenza-prospetto, ai-advisory-prospetto) ---- */
  .lvl2-hero{padding:110px 20px 50px;}
  .lvl2-hero h1{font-size:clamp(24px,7vw,36px);}
  .lvl2-hero .lead{font-size:clamp(16px,4.5vw,20px);}
  .method-grid{grid-template-columns:1fr;}
  .acc-body-inner{padding-left:20px;}
  .partner-steps{grid-template-columns:1fr;}
  .svc-grid{grid-template-columns:1fr;}

  /* ---- COOKIE WALL (rende i bottoni impilati) ---- */
  .cookie-actions{flex-direction:column;}
  .ck-btn{min-width:unset; width:100%;}

  /* ---- BOTTONI AFFIANCATI ---- */
  .lvl2-hero .cta-row{flex-direction:column; align-items:center;}
  .btn-gold, .btn-outline{width:100%; max-width:300px; text-align:center;}
}
