/* Caratteri ospitati sul sito: niente richieste a Google, niente catena di rete */
@font-face{font-family:"Fraunces";src:url("../fonts/fraunces.woff2") format("woff2");font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url("../fonts/fraunces-italic.woff2") format("woff2");font-weight:500 600;font-style:italic;font-display:swap}
@font-face{font-family:"Jost";src:url("../fonts/jost.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}

:root {
  --red:#a9232a;
  --black:#211d1a;
  --cream:#faf5ed;
  --border:#d2c4b6;
  --muted:#625b54;
  --footer:#f1e8dc;
  --sabbia:#f1e8dc;
  --anchor:#2f4651;
  --serif:"Fraunces", Georgia, serif;
  --sans:"Jost", Arial, sans-serif;
  --side:clamp(28px,5.525vw,80px);
  --max:1448px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--cream);color:var(--black);font-family:var(--sans);min-height:100%;width:100%}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.page{width:100%;max-width:var(--max);margin:0 auto;background:var(--cream);overflow-x:clip}
.red{color:var(--red)}
.it{color:var(--red);font-style:italic}

/* header */
.header{position:sticky;top:0;z-index:50;background:var(--cream);min-height:88px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:32px;padding:0 var(--side)}
/* hamburger: nascosto su desktop, visibile <=980px */
.nav-toggle{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.nav-burger{display:none}
.logo{font-family:var(--serif);font-size:24px;line-height:.95;font-weight:500;letter-spacing:-.02em;flex:0 0 auto;display:flex;align-items:center;gap:14px}
.logo-symbol{width:42px;height:42px;object-fit:contain;flex:0 0 auto}
.logo-text{display:inline-block}
.menu{display:flex;gap:clamp(28px,3.6vw,52px);list-style:none;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.menu li a{position:relative;display:inline-block;transition:color .22s ease;white-space:nowrap}
.menu li a::after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left center;transition:transform .22s ease}
.menu li a:hover{color:var(--anchor)}
.menu li a:hover::after{transform:scaleX(1)}






/* hero */
.hero{border-bottom:1px solid var(--border);overflow:hidden}
.hero-inner{position:relative;min-height:330px;display:grid;grid-template-columns:minmax(540px,46%) minmax(0,54%);align-items:stretch;background-repeat:no-repeat;background-position:calc(100% + 20px) 100%;background-size:auto 112%}
.hero-copy{padding:34px 24px 34px var(--side);position:relative;z-index:2;max-width:620px}
.eyebrow{color:var(--red);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:600;margin-bottom:26px;white-space:nowrap}
/* home — il claim sta sotto il logo nell'header da 981px in su, dentro la hero sotto */
.header-brand{display:flex;flex-direction:column;gap:9px;flex:0 0 auto}
.header-claim{font-family:var(--sans);color:var(--muted);font-size:12px;font-weight:400;line-height:1.3;white-space:nowrap}
@media (min-width:981px){.hero-copy .eyebrow{display:none}}
@media (max-width:980px){.header-claim{display:none}}
.wordmark{font-family:var(--serif);line-height:.90;letter-spacing:-.03em;margin-bottom:24px}
.wordmark .line{display:block;font-size:clamp(70px,5.66vw,82px);font-weight:500;white-space:nowrap}
.wordmark .line .plain{color:var(--black);font-weight:400}
.wordmark .red{font-weight:600}
.wordmark .it{font-weight:600}
/* claim: H1 della home. Su mobile ha l'aspetto del vecchio lead, su desktop diventa il titolo */
.hero-title{font-family:var(--sans);font-size:17px;line-height:1.55;font-weight:600;color:var(--black);max-width:500px;margin-bottom:0}
@media (min-width:981px){
  .wordmark{display:none}
  .hero-title{font-size:clamp(25px,2.25vw,32px);line-height:1.26;font-weight:600;letter-spacing:-.01em;max-width:600px;margin-bottom:18px;text-wrap:balance}
}
.lead{font-size:17px;line-height:1.58;max-width:500px;margin-bottom:26px}
.lead-flow{display:block;margin-top:0}
.target-line {
  display: inline-block;
  margin-top: -10px;
  margin-bottom: 34px;
  font-size: 17px;
  line-height: 1.5;
  font-weight: 400;
  color: var(--muted);
  text-decoration: none;
  transition: color .22s ease;
}
.target-line:hover {
  color: var(--black);
  text-decoration: underline;
  text-decoration-color: var(--red);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.lead em{color:var(--red);font-style:italic;font-weight:600}
.inline-link{color:inherit;text-decoration:none}
.inline-link em{color:var(--red)}
.inline-link:hover em{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.actions{display:flex;gap:38px;align-items:center;transform:translateY(-6px);flex-wrap:wrap}
.btn{height:47px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:20px;font-family:var(--sans);font-size:15px;font-weight:500;white-space:nowrap}
.btn-primary{width:206px;background:var(--red);color:var(--cream);box-shadow:none;border:1px solid var(--red)}
.hero-link{display:inline-flex;align-items:center;gap:10px;color:var(--anchor);font-size:14px;font-weight:500;letter-spacing:.02em;position:relative;padding:4px 0;transition:color .22s ease;white-space:nowrap}
.hero-link::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left center;transition:transform .22s ease}
.hero-link:hover{color:var(--red)}
.hero-link:hover::after{transform:scaleX(1)}
/* hero — rimando alla MAPPA sotto il pulsante del colloquio */
.hero-mappa{margin-top:10px;font-size:14px;line-height:1.55;color:var(--muted);max-width:470px}
.hero-mappa a{display:inline-block;color:var(--anchor);font-weight:500;position:relative;transition:color .22s ease}
.hero-mappa a::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left center;transition:transform .22s ease}
.hero-mappa a:hover{color:var(--red)}
.hero-mappa a:hover::after{transform:scaleX(1)}
.hero-mappa a span{color:var(--red)}
.hero-art{position:relative;z-index:1;min-height:420px}

/* striscia "Ti riconosci?" — tra hero e metodo, solo home */
.riconosci{background:#1d1512;color:var(--cream);padding:clamp(38px,3.8vw,54px) var(--side);text-align:center}
.riconosci-inner{max-width:880px;margin:0 auto}
.riconosci-titolo{font-family:var(--sans);font-size:clamp(30px,2.6vw,34px);line-height:1.12;font-weight:600;letter-spacing:-.015em;color:var(--cream);margin-bottom:14px}
.riconosci-lista{list-style:none;padding-left:0;display:grid;gap:7px}
.riconosci-lista li{font-size:16.5px;line-height:1.5;color:var(--cream)}
.riconosci-chiusura{margin-top:20px;font-size:16.5px;line-height:1.62;color:rgba(253,250,245,.72)}

/* method */
.method{border-bottom:1px solid var(--border);background:var(--sabbia);padding:48px var(--side) 48px;display:grid;grid-template-columns:minmax(340px,420px) 1px minmax(460px,650px);gap:clamp(44px,7.2vw,104px);align-items:start;justify-content:start}
.method-left{width:100%;max-width:420px}
.method-label{text-transform:uppercase;color:var(--anchor);letter-spacing:.10em;font-size:12px;font-weight:600;margin-bottom:18px}
.method-title{font-family:var(--sans);font-size:44px;line-height:1.08;font-weight:600;letter-spacing:-.015em;margin-bottom:19px}
.method-title .plain{color:var(--black);font-weight:400}
.method-title em{color:var(--red);font-style:normal;font-weight:600}
.method-desc{color:var(--muted);font-size:15.5px;line-height:1.65;max-width:420px}
.method-divider{width:1px;min-height:202px;background:var(--border)}
.method-list{width:100%;max-width:650px}
.method-row{min-height:0;padding:10px 0}
.method-row:not(:last-child){border-bottom:1px solid var(--border)}
.method-row h3{font-family:var(--sans);font-size:22px;line-height:1.1;font-weight:600;margin-bottom:4px}
.method-row p{font-size:13.5px;line-height:1.42;color:var(--muted);max-width:520px}
.method-more{display:inline-flex;margin-top:18px;color:var(--anchor);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600}
.method-more:hover{color:var(--red)}

/* percorsi */
.percorsi{border-bottom:1px solid var(--border);background:var(--cream);padding:54px var(--side) 62px}
.percorsi-wrap{width:100%}
.percorsi-label{text-transform:uppercase;color:var(--anchor);letter-spacing:.10em;font-size:12px;font-weight:600;margin-bottom:15px}
.percorsi-title{font-family:var(--sans);font-size:37px;line-height:1.1;font-weight:600;letter-spacing:-.015em;margin-bottom:34px;max-width:880px}
.percorsi-title em{color:var(--red);font-style:normal;font-weight:600}
.perc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.perc-card{border:1px solid var(--border);border-radius:10px;padding:18px 28px 30px;display:flex;flex-direction:column;background:var(--cream);transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease}
.perc-card:hover{border-color:var(--red);transform:translateY(-3px);box-shadow:0 18px 36px rgba(33,29,26,.10)}
.perc-card.feat{grid-column:1 / -1;background:var(--cream);border:2px solid var(--red);color:var(--black);padding:30px 38px;display:grid;grid-template-columns:minmax(0,.42fr) 1px minmax(0,.58fr);gap:34px;align-items:center}
.perc-feat-head{min-width:0}
.perc-feat-divider{width:1px;align-self:stretch;background:var(--border)}
.perc-name{font-family:var(--sans);font-size:24px;line-height:1.05;font-weight:600;color:var(--black);margin-bottom:8px}
.perc-card.feat .perc-name{color:var(--black);font-size:38px;letter-spacing:-.02em;margin-bottom:12px}
.perc-for{font-size:15px;line-height:1.35;color:var(--muted);margin-bottom:14px}
.perc-card.feat .perc-for{color:var(--muted);font-size:16px;margin-bottom:16px}
.perc-desc{font-size:15px;line-height:1.5;color:var(--muted);margin-bottom:0}
.perc-service-note{font-size:12px;line-height:1.45;color:rgba(33,29,26,.58);text-align:center;margin:18px auto 18px;max-width:92%;font-weight:400;text-decoration:none}
.perc-card.feat .perc-desc{color:var(--muted);font-size:17px;line-height:1.58;max-width:620px;margin-bottom:0}
.perc-badge{display:inline-flex;align-self:flex-start;background:transparent;color:var(--red);text-transform:uppercase;letter-spacing:.08em;font-size:11px;padding:0 0 6px;border-radius:0;margin-bottom:22px;border-bottom:1px solid var(--red);font-weight:600}


/* sezione-pausa professionalità */
.credential-pause{
  background:var(--sabbia);
  padding:78px var(--side) 82px;
  text-align:center;
  border-bottom:1px solid var(--border);
}
.credential-pause-inner{
  max-width:650px;
  margin:0 auto;
}
.credential-pause-line{
  width:46px;
  height:1px;
  background:var(--red);
  margin:0 auto 26px;
}
.credential-pause-main{
  font-family:var(--sans);
  font-size:27px;
  line-height:1.22;
  font-weight:600;
  color:var(--black);
  letter-spacing:-.015em;
  margin-bottom:16px;
}
.credential-pause-text{
  font-family:var(--sans);
  font-size:17px;
  line-height:1.58;
  font-weight:400;
  color:var(--black);
  margin:0;
}
.credential-link {
  display: inline-block;
  margin-top: 22px;
  color: var(--anchor);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 12px;
  font-weight: 600;
  font-family: var(--sans);
  transition: color .22s ease;
}
.credential-link:hover {
  color: var(--red);
}

/* inizia da qui */
.inizia{min-height:540px;background:#1d1512;color:var(--cream);text-align:left;position:relative;border-bottom:1px solid rgba(253,250,245,.10);padding:116px var(--side) 96px}
.inizia::before{content:"";position:absolute;left:var(--side);top:116px;width:2px;height:305px;background:var(--red)}
.inizia-wrap{margin-left:52px;max-width:760px}
.inizia-label{display:flex;align-items:center;justify-content:flex-start;gap:0;color:rgba(250,245,237,.72);text-transform:uppercase;letter-spacing:.10em;font-size:11px;font-weight:600;margin-bottom:22px}
.inizia-label::before,.inizia-label::after{display:none}
.inizia h2{font-family:var(--sans);font-size:50px;line-height:1.08;font-weight:600;letter-spacing:-.02em;margin-bottom:18px;max-width:720px}
.inizia h2 em{color:#c84a45;font-style:normal;font-weight:600}
.inizia p{font-size:17px;line-height:1.55;color:rgba(253,250,245,.68);margin-bottom:42px;max-width:520px}
.inizia-btn{background:var(--cream);color:var(--black);font-family:var(--sans);font-size:15px;font-weight:500;padding:13px 28px;border-radius:6px;border:1px solid var(--cream);display:inline-flex;align-items:center;gap:12px;transition:opacity .2s ease, transform .2s ease}
.inizia-btn:hover{opacity:.92;transform:none}
/* inizia — rimando alla MAPPA sotto il pulsante, su fondo scuro */
.inizia p.inizia-mappa{margin-top:18px;margin-bottom:0;font-size:15px;line-height:1.55;color:rgba(253,250,245,.68);max-width:700px}
.inizia-mappa a{color:var(--cream);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:rgba(253,250,245,.35);text-underline-offset:3px;transition:color .22s ease, text-decoration-color .22s ease}
.inizia-mappa a:hover{color:#c84a45;text-decoration-color:#c84a45}

/* footer */
.footer{min-height:109px;background:var(--cream);display:grid;grid-template-columns:minmax(240px, 1fr) minmax(320px,1fr) auto auto auto;align-items:center;gap:clamp(20px,3vw,42px);padding:23px var(--side)}
.footer-logo{font-family:var(--serif);font-size:20px;line-height:.98;font-weight:500}
.footer-brand{display:flex;align-items:center;gap:14px}
.footer-symbol{width:42px;height:42px;object-fit:contain;flex:0 0 auto}
.footer-text{display:inline-block;width:max-content;max-width:100%;font-size:14px;line-height:1.45;color:var(--muted);text-align:center;justify-self:start}
.footer-legal{display:block;margin-top:6px;font-size:12px;line-height:1.45;color:var(--muted);text-align:center}
.footer-privacy{display:inline;color:var(--anchor);text-decoration:none}
.footer-privacy:hover{color:var(--red);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.mail{font-size:14px;color:var(--black);white-space:nowrap}
.social{color:var(--black);display:inline-flex;align-items:center;justify-content:center}
.social svg{width:19px;height:19px}


@media (max-width:1180px){
  :root{--side:clamp(28px,4.6vw,54px)}
  .header{gap:24px}.menu{gap:24px 32px;font-size:13px}
  .hero-inner{grid-template-columns:minmax(420px,45%) minmax(0,55%)}
  .wordmark .line{font-size:clamp(60px,6.3vw,74px)}
  .method{grid-template-columns:minmax(310px,400px) 1px minmax(420px,1fr);gap:44px}
}

@media (max-width:980px){
  :root{--side:clamp(24px,6vw,48px)}
  .page{max-width:none}
  .header{min-height:auto;padding-top:18px;padding-bottom:18px;flex-direction:row;align-items:center;justify-content:space-between;gap:16px}
  .logo{font-size:23px}
  /* hamburger visibile */
  .nav-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:30px;height:30px;cursor:pointer;flex:0 0 auto}
  .nav-burger span{display:block;width:24px;height:2px;background:var(--black);border-radius:2px;transition:transform .25s ease, opacity .2s ease}
  .nav-toggle:checked ~ .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle:checked ~ .nav-burger span:nth-child(2){opacity:0}
  .nav-toggle:checked ~ .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  /* menu come tendina: nascosto, compare con :checked */
  .menu{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;width:auto;background:var(--cream);border-bottom:1px solid var(--border);box-shadow:0 14px 28px rgba(33,29,26,.10);padding:4px var(--side) 14px;font-size:13px;letter-spacing:.07em}
  .nav-toggle:checked ~ .menu{display:flex}
  .menu li{width:100%}
  .menu li a{display:block;padding:13px 0;border-bottom:1px solid rgba(210,196,182,.45)}
  .menu li:last-child a{border-bottom:none}
  .menu li a::after{display:none}
  .hero-inner{min-height:0;grid-template-columns:1fr;background:none !important}
  .hero-copy{padding:50px var(--side) 30px;max-width:720px}
  .eyebrow{white-space:normal;line-height:1.45}
  .wordmark .line{font-size:clamp(58px,12vw,82px)}
  .lead{max-width:620px}
  .hero-art{display:none}
  .method{padding:48px var(--side);display:grid;grid-template-columns:1fr;gap:36px}
  .method-left,.method-list{max-width:none;width:100%}
  .method-divider{display:none}
  .method-desc{max-width:640px}
  .method-row{min-height:0;padding:12px 0}
  .percorsi{padding:54px var(--side) 64px}
  .perc-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:24px}
  .perc-card,.perc-card:nth-child(1),.perc-card:nth-child(3),.perc-card.feat{grid-column:auto;grid-row:auto;min-height:0;padding:28px 28px 34px}
  .perc-card.feat{order:-1;padding:36px 34px 34px}
  .inizia{min-height:0;padding:88px var(--side)}
  .inizia::before{top:88px;height:280px}
  .inizia-wrap{margin-left:50px;max-width:720px}
  /* footer: tutto allineato a sinistra; email a sinistra, social a destra sull'ultima riga */
  .footer{display:grid;grid-template-columns:1fr auto auto;column-gap:14px;row-gap:14px;align-items:center;text-align:left;padding:28px var(--side)}
  .footer-brand{grid-column:1 / -1;grid-row:1;justify-self:start}
  .footer-logo{grid-column:auto;grid-row:auto}
  .footer-text{grid-column:1 / -1;grid-row:2;justify-self:start;text-align:left;width:auto;max-width:100%}
  .footer-legal{text-align:left}
  .mail{grid-column:1;grid-row:3;justify-self:start;display:inline-flex;align-items:center;width:auto;max-width:none;margin:0;white-space:nowrap}
  .social{position:static;grid-row:3;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin:0;vertical-align:middle}
  .social.ig{grid-column:2;justify-self:end}
  .social.li{grid-column:3;justify-self:end}
  .social svg{width:19px;height:19px}
}

@media (max-width:760px){
  .credential-pause{padding:62px var(--side) 66px}
  .credential-pause-main{font-size:26px}
  .credential-pause-text{font-size:16px}
  .perc-grid{grid-template-columns:1fr;gap:18px}
  .perc-card.feat{grid-column:auto;display:flex;padding:28px 26px 30px;gap:0}
  .perc-feat-divider{display:none}
  .perc-card.feat .perc-name{font-size:34px}
  .perc-card.feat .perc-desc{font-size:15.5px;line-height:1.58;max-width:none}
}

@media (max-width:640px){
  :root{--side:22px}
  .logo{font-size:21px}
  .wordmark .line{font-size:clamp(48px,15vw,64px);white-space:normal}
  .actions{flex-direction:column;align-items:stretch;gap:14px;transform:none;width:100%}
  .hero-mappa{margin-top:16px}
  .btn{width:100%;justify-content:space-between;padding:0 18px}
  .hero-link{justify-content:center;width:100%;margin-top:2px}
  .method-title{font-size:40px}
  .method-row{padding:20px 0}
  .method-row h3{margin-bottom:8px}
  .method-row p{line-height:1.5}
  .percorsi-title{font-size:34px}
  .perc-card{padding:22px 22px 26px;min-height:168px}
  .perc-card .perc-name{font-size:22px}
  .perc-card .perc-desc{font-size:13.5px;line-height:1.45}
  .perc-card.feat{padding:28px 26px 30px;min-height:0}
  .perc-card.feat .perc-name{font-size:34px}
  .perc-card.feat .perc-desc{font-size:15.5px;line-height:1.58}
  .perc-badge{margin-bottom:22px}
  .inizia{padding:72px var(--side)}
  .inizia::before{top:72px;width:64px;height:2px}
  .inizia-wrap{margin-left:0;padding-top:30px}
  .inizia h2{font-size:40px}
  .footer{padding-top:28px;padding-bottom:28px}
  .footer-symbol{width:38px;height:38px}
}

@media (max-width:420px){
  .footer{column-gap:12px}
  .mail{font-size:13px}
}


/* privacy page */
.privacy-hero,.page-hero{border-bottom:1px solid var(--border);padding:72px var(--side) 54px}
.privacy-label,.page-label{color:var(--red);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:600;margin-bottom:20px}
.privacy-title,.page-title{font-family:var(--sans);font-size:clamp(36px,4.2vw,56px);line-height:1.08;font-weight:600;letter-spacing:-.02em;max-width:850px;margin-bottom:20px}
.privacy-title em,.page-title em{color:var(--red);font-style:normal;font-weight:600}
.privacy-subtitle,.page-subtitle{font-size:17px;line-height:1.6;color:var(--muted);max-width:760px}
.privacy-meta,.page-meta{margin-top:22px;font-size:13px;line-height:1.55;color:var(--muted)}

/* hero con immagine di accompagnamento — background morbido desktop */
.privacy-hero--img,.page-hero--img{position:relative;min-height:400px;display:flex;flex-direction:column;justify-content:center;background-repeat:no-repeat;background-position:right center;background-size:auto 100%}
.privacy-hero--img>*,.page-hero--img>*{position:relative;z-index:2;max-width:560px}
.privacy-content,.page-content{padding:56px var(--side) 78px;display:grid;grid-template-columns:minmax(0,860px);justify-content:center}
.privacy-section,.page-section{padding:28px 0;border-bottom:1px solid var(--border)}
.privacy-section:first-child,.page-section:first-child{padding-top:0}
.privacy-section h2,.page-section h2{font-family:var(--sans);font-size:28px;line-height:1.15;font-weight:600;letter-spacing:-.015em;margin-bottom:16px;color:var(--black)}
.privacy-section p,.page-section p,.privacy-section li,.page-section li{font-size:15.5px;line-height:1.68;color:var(--muted)}
.privacy-section p:not(:last-child),.page-section p:not(:last-child){margin-bottom:12px}
.privacy-section ul,.page-section ul{padding-left:20px;display:grid;gap:10px}
.privacy-section a,.page-section a{color:var(--anchor);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.privacy-section a.contatti-btn,.page-section a.contatti-btn{color:var(--cream);text-decoration:none}
.privacy-note,.page-note{margin-top:32px;padding:20px 22px;border:1px solid var(--border);border-radius:10px;color:var(--muted);font-size:14px;line-height:1.55;background:rgba(246,239,229,.45)}

/* pagina 404 */
/* per-chi-e — testimonianze in apertura, due colonne senza riquadri */
.page-section.perchie-voci{padding-top:0;padding-bottom:34px}
.voci-griglia{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,56px)}
.page-section p.voci-label,.voci-label{text-transform:uppercase;letter-spacing:.12em;font-size:11.5px;font-weight:600;color:var(--red);margin-bottom:20px}
.voce{border-top:1px solid var(--border);padding-top:18px}
.perchie-voci .voce strong{font-weight:600;color:var(--black)}
.page-section .voce p{font-size:15.5px;line-height:1.62;color:var(--muted)}
.page-section p.voce-incipit{font-size:16.5px;line-height:1.6;color:var(--black);margin-bottom:0}
.voce-resto{margin-top:10px}
.voce-resto summary{list-style:none;cursor:pointer;display:inline-block;font-size:14px;font-weight:500;color:var(--anchor);padding:2px 0;transition:color .22s ease}
.voce-resto summary::-webkit-details-marker{display:none}
.voce-resto summary:hover{color:var(--red)}
.voce-resto summary .apri::after{content:" \2192";color:var(--red)}
.voce-resto summary .chiudi{display:none}
.voce-resto[open] summary .apri{display:none}
.voce-resto[open] summary .chiudi{display:inline}
.page-section .voce-resto p{margin-top:11px}
.page-section p.voce-firma{margin-top:16px;margin-bottom:0;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--red)}
@media (max-width:760px){
  .voci-griglia{grid-template-columns:1fr;gap:26px}
}

.page-section.errore-rimandi{border-bottom:0;padding-top:0}
.errore-lista{list-style:none;padding-left:0;display:grid;max-width:560px}
.errore-lista li + li{border-top:1px solid rgba(210,196,182,.55)}
.page-section .errore-lista a{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:16px 0;font-size:17px;font-weight:500;color:var(--anchor);text-decoration:none;transition:color .22s ease}
.page-section .errore-lista a:hover{color:var(--red)}
.errore-lista a span{color:var(--red)}
.errore-chiusura{border-bottom:0;padding-top:26px}

/* per-chi-e — blocco genitori (fascia editoriale) */
.page-section p.perchie-guida{margin-top:18px;margin-bottom:0;font-size:14.5px;line-height:1.55;color:var(--muted)}
.perchie-guida a span{color:var(--red);text-decoration:none}
.page-section.perchie-tutte-guide{padding:22px 0}
.perchie-tutte-guide p{font-size:15px}
.perchie-tutte-guide a span{color:var(--red);text-decoration:none}
.perchie-genitori{padding:40px 36px;background:var(--sabbia)}
.perchie-genitori-label{text-transform:uppercase;letter-spacing:.12em;font-size:11.5px;font-weight:600;color:var(--anchor);margin-bottom:10px}
/* per-chi-e — nota di chiusura "confine" (stile sommesso) */
.perchie-confine{margin-top:36px;padding-top:24px;border-top:1px solid var(--border)}
.perchie-confine-label{text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:600;color:var(--muted);margin-bottom:10px}
.perchie-confine p:last-child{font-size:13.5px;line-height:1.6;color:var(--muted)}
.perchie-chiusura{padding-top:48px;border-bottom:0}

@media (max-width:760px){
  .privacy-hero,.page-hero{padding:54px var(--side) 42px}
  .privacy-content,.page-content{padding:42px var(--side) 62px}
  .privacy-section h2,.page-section h2{font-size:24px}
  .privacy-hero--img,.page-hero--img{min-height:0;display:block;background:none !important;padding-bottom:0}
  .privacy-hero--img>*,.page-hero--img>*{max-width:none}
  .hero-inner .hero-copy{padding-bottom:38px}
}


@media (max-width:760px){
  .riconosci-titolo{font-size:29px}
  .riconosci-lista li,.riconosci-chiusura{font-size:16px}
}

/* packages page */
.packages-page{
  padding:70px var(--side) 82px;
}
.packages-hero{
  text-align:center;
  max-width:760px;
  margin:0 auto 58px;
}
.packages-label{
  color:var(--red);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  font-weight:600;
  margin-bottom:20px;
}
.packages-title{
  font-family:var(--sans);
  font-size:clamp(36px,4.2vw,54px);
  line-height:1.08;
  font-weight:600;
  letter-spacing:-.025em;
  margin-bottom:20px;
}
.packages-title em{
  color:var(--red);
  font-style:normal;
  font-weight:600;
}
.packages-desc{
  font-size:17px;
  line-height:1.62;
  color:var(--muted);
  max-width:660px;
  margin:0 auto;
}
.packages-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
  margin-bottom:60px;
}
.package-card{
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--cream);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  position:relative;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.package-card:hover{
  border-color:var(--red);
  transform:translateY(-3px);
  box-shadow:0 18px 36px rgba(33,29,26,.10);
}
.package-card-featured{
  border:2px solid var(--red);
}
.package-badge{
  color:var(--red);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:11px;
  font-weight:600;
  padding:18px 30px 0;
}
.package-badge::after{
  content:"";
  display:block;
  width:44px;
  height:1px;
  background:var(--red);
  margin-top:7px;
}
.package-card-header{
  padding:30px 30px 24px;
  border-bottom:1px solid var(--border);
}
.package-card-featured .package-card-header{
  padding-top:22px;
}
.package-name{
  font-family:var(--sans);
  font-size:26px;
  line-height:1.08;
  font-weight:600;
  letter-spacing:-.015em;
  margin-bottom:10px;
  color:var(--black);
}
.package-name em{
  color:var(--red);
  font-style:normal;
  font-weight:600;
}
.package-tagline{
  font-size:14px;
  line-height:1.55;
  color:var(--muted);
}
.package-price-block{
  padding:24px 30px 22px;
  border-bottom:1px solid var(--border);
}
.package-price{
  font-family:var(--sans);
  font-size:38px;
  line-height:1.02;
  font-weight:600;
  letter-spacing:-.02em;
  color:var(--black);
}
.package-price span{
  font-size:20px;
  color:var(--muted);
  font-weight:400;
}
.package-price-original{
  font-size:14px;
  color:var(--muted);
  text-decoration:line-through;
  margin-bottom:4px;
}
.package-price-ea{
  color:var(--red);
}
.package-price-ea span{
  color:var(--red);
  opacity:.75;
}
.package-price-note{
  margin-top:8px;
  color:var(--red);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:11px;
  font-weight:600;
}
.package-body{
  padding:26px 30px;
  flex:1;
}
.package-body-label{
  color:var(--anchor);
  text-transform:uppercase;
  letter-spacing:.10em;
  font-size:12px;
  font-weight:600;
  margin-bottom:16px;
}
.package-includes{
  list-style:none;
  display:grid;
  gap:11px;
}
.package-includes li{
  position:relative;
  padding-left:18px;
  font-size:14px;
  line-height:1.52;
  color:var(--black);
}
.package-includes li::before{
  content:"—";
  position:absolute;
  left:0;
  color:var(--red);
}
.package-includes em{
  color:var(--red);
  font-family:var(--sans);
  font-style:normal;
  font-weight:600;
}
.package-footer{
  padding:0 30px 30px;
}
.package-btn{
  min-height:47px;
  border-radius:6px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  background:var(--red);
  color:var(--cream);
  border:1px solid var(--red);
  font-family:var(--sans);
  font-size:13px;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:center;
  transition:opacity .22s ease, background .22s ease, color .22s ease;
}
.package-btn:hover{
  opacity:.92;
}
.package-btn-outline{
  background:transparent;
  color:var(--red);
}
.package-btn-outline:hover{
  background:var(--red);
  color:var(--cream);
  opacity:1;
}
.package-consents{
  max-width:760px;
  margin:0 auto 42px;
  padding:32px 36px;
  border:1px solid var(--border);
  border-radius:10px;
  background:rgba(246,239,229,.45);
}
.package-consents-title{
  font-family:var(--sans);
  font-size:28px;
  line-height:1.15;
  font-weight:600;
  letter-spacing:-.015em;
  margin-bottom:22px;
  color:var(--black);
}
.package-consent-item{
  display:grid;
  grid-template-columns:18px 1fr;
  gap:14px;
  align-items:start;
  margin-bottom:16px;
}
.package-consent-item input[type="checkbox"]{
  width:16px;
  height:16px;
  margin-top:4px;
  accent-color:var(--red);
  cursor:pointer;
}
.package-consent-item label{
  font-size:14px;
  line-height:1.6;
  color:var(--muted);
  cursor:pointer;
}
.package-consent-item label a,
.package-bank-note a{
  color:var(--anchor);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.package-consent-item label a:hover,
.package-bank-note a:hover{
  color:var(--red);
}
.package-consent-note{
  font-size:13px;
  line-height:1.55;
  color:var(--muted);
  margin-top:10px;
  padding-left:32px;
}
.package-consent-warning{
  display:none;
  color:var(--red);
  font-size:13px;
  line-height:1.55;
  margin-top:14px;
  padding-left:32px;
}
.package-consent-warning.visible{
  display:block;
}
.form-warning{
  display:none;
  margin:4px 0 16px;
  padding:12px 16px;
  border-left:4px solid var(--red);
  border-radius:6px;
  background:rgba(169,35,42,.08);
  color:var(--red);
  font-size:15px;
  font-weight:600;
  line-height:1.5;
}
.form-warning.visible{
  display:block;
}
.package-consent-ok{
  display:none;
  border:1px solid var(--red);
  border-left:5px solid var(--red);
  border-radius:8px;
  padding:22px 26px;
  background:rgba(169,35,42,.07);
}
.package-consent-ok-title{
  font-family:var(--sans);
  font-size:23px;
  font-weight:700;
  color:var(--red);
  margin-bottom:10px;
}
.package-consent-ok p:last-child{
  font-size:15px;
  line-height:1.65;
  color:var(--black);
  font-weight:500;
  margin:0;
}
.package-consent-todo p:last-child{
  font-size:14px;
  line-height:1.6;
  color:var(--muted);
  margin:0;
}
.package-consent-todo p a,
.package-consent-ok p a{
  color:var(--anchor);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.package-consent-todo p a:hover,
.package-consent-ok p a:hover{
  color:var(--red);
}
.package-bank{
  max-width:760px;
  margin:0 auto;
  padding:26px 30px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--cream);
}
.package-bank-toggle{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  border:0;
  background:transparent;
  padding:0;
  color:var(--anchor);
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
  font-weight:600;
  text-align:left;
  cursor:pointer;
}
.package-bank-toggle:hover{
  color:var(--red);
}
.package-toggle-arrow{
  color:var(--red);
  font-style:normal;
  font-size:10px;
  transition:transform .22s ease;
}
.package-bank-toggle.open .package-toggle-arrow{
  transform:rotate(90deg);
}
.package-bank-body{
  display:none;
  margin-top:24px;
}
.package-bank-body.open{
  display:block;
}
.package-bank-note{
  font-size:14px;
  line-height:1.65;
  color:var(--muted);
  border-left:2px solid var(--red);
  padding:14px 18px;
  background:rgba(246,239,229,.45);
  margin-bottom:22px;
}
.package-bank-table{
  width:100%;
  border-collapse:collapse;
  margin-bottom:18px;
  font-size:14px;
}
.package-bank-table td{
  padding:10px 0;
  border-bottom:1px solid var(--border);
  vertical-align:top;
}
.package-bank-table td:first-child{
  width:34%;
  padding-right:18px;
  color:var(--anchor);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:11px;
  font-weight:600;
}
.package-bank-table td:last-child{
  color:var(--black);
}
.package-iban{
  font-family:var(--sans);
  letter-spacing:.03em;
}
.package-causale{
  display:grid;
  gap:6px;
  margin-top:18px;
  font-size:13px;
  line-height:1.55;
  color:var(--muted);
}
.package-causale strong{
  color:var(--black);
  font-weight:500;
}
.package-causale em{
  color:var(--black);
  font-family:var(--sans);
  font-style:normal;
}
.package-bank-confirm{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--border);
  font-size:13px;
  line-height:1.6;
  color:var(--muted);
}
.package-bank-confirm strong{
  color:var(--black);
  font-weight:500;
}

@media (max-width:980px){
  .packages-page{
    padding:56px var(--side) 72px;
  }
  .packages-grid{
    grid-template-columns:1fr;
    max-width:620px;
    margin-left:auto;
    margin-right:auto;
  }
}

@media (max-width:640px){
  .packages-page{
    padding:46px var(--side) 62px;
  }
  .packages-hero{
    text-align:left;
    margin-bottom:42px;
  }
  .packages-title{
    font-size:40px;
  }
  .packages-desc{
    font-size:16px;
  }
  .package-card-header,
  .package-price-block,
  .package-body,
  .package-footer{
    padding-left:24px;
    padding-right:24px;
  }
  .package-badge{
    padding-left:24px;
    padding-right:24px;
  }
  .package-consents,
  .package-bank{
    padding:26px 22px;
  }
  .package-consents-title{
    font-size:24px;
  }
  .package-consent-item{
    grid-template-columns:16px 1fr;
    gap:12px;
  }
  .package-consent-note,
  .package-consent-warning{
    padding-left:28px;
  }
  .package-bank-table,
  .package-bank-table tbody,
  .package-bank-table tr,
  .package-bank-table td{
    display:block;
    width:100%;
  }
  .package-bank-table td:first-child{
    width:100%;
    padding:12px 0 2px;
    border-bottom:0;
  }
  .package-bank-table td:last-child{
    padding:0 0 12px;
  }
}


/* costruzione page */
.costruzione{
  padding:120px var(--side);
  min-height:56vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  border-bottom:1px solid var(--border);
}
.costruzione-inner{max-width:560px}
.costruzione-label{
  color:var(--red);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  font-weight:600;
  margin-bottom:22px;
}
.costruzione-title{
  font-family:var(--sans);
  font-size:clamp(34px,4.4vw,46px);
  line-height:1.1;
  font-weight:600;
  letter-spacing:-.02em;
  margin-bottom:20px;
}
.costruzione-title em{color:var(--red);font-style:normal;font-weight:600}
.costruzione-text{
  font-size:17px;
  line-height:1.6;
  color:var(--muted);
  max-width:460px;
  margin:0 auto 30px;
}
.costruzione-back{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--anchor);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
  font-weight:600;
  transition:color .22s ease;
}
.costruzione-back:hover{color:var(--red)}

@media (max-width:640px){
  .costruzione{padding:88px var(--side);min-height:50vh}
  .costruzione-title{font-size:34px}
  .costruzione-text{font-size:16px}
}


/* contatti page */
.contatti{padding:56px var(--side) 78px;display:grid;grid-template-columns:minmax(0,720px);justify-content:center}
.contatti-wrap{width:100%}
.contatti-eyebrow{text-transform:uppercase;color:var(--anchor);letter-spacing:.10em;font-size:12px;font-weight:600;margin-bottom:12px}
.contatti-colloquio{background:var(--sabbia);border:1px solid var(--border);border-radius:12px;padding:30px 32px;margin-bottom:8px}
.contatti-colloquio-text{font-size:16px;line-height:1.6;color:var(--black);max-width:46ch;margin-bottom:22px}
.contatti-btn{background:var(--red);color:var(--cream);font-family:var(--sans);font-size:15px;font-weight:500;padding:13px 26px;border:1px solid var(--red);border-radius:6px;display:inline-flex;align-items:center;gap:12px;cursor:pointer;transition:opacity .2s ease}
.contatti-btn:hover{opacity:.92}
.contatti-block{padding:34px 0 30px;border-bottom:1px solid var(--border)}
.contatti-intro{font-size:15.5px;line-height:1.65;color:var(--muted);margin-bottom:22px;max-width:52ch}
.contatti-form .field{display:grid;gap:7px;margin-bottom:18px}
.contatti-form label{text-transform:uppercase;color:var(--anchor);letter-spacing:.08em;font-size:11px;font-weight:600}
.contatti-form input,.contatti-form textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-family:var(--sans);font-size:15px;font-weight:400;line-height:1.5;color:var(--black);background:#fff}
.contatti-form textarea{min-height:140px;resize:vertical}
.contatti-form input:focus,.contatti-form textarea:focus{outline:none;border-color:var(--red)}
.contatti-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contatti-form .contatti-btn{margin-top:4px}
.form-privacy{font-size:12.5px;line-height:1.55;color:var(--muted);margin-top:14px;max-width:60ch}
.form-privacy a{color:var(--anchor);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.form-privacy a:hover{color:var(--red)}
.form-feedback{display:none;margin-bottom:22px;padding:14px 18px;border-radius:8px;font-size:14.5px;line-height:1.55;color:var(--black)}
.form-feedback a{color:var(--anchor);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.form-feedback a:hover{color:var(--red)}
.form-ok{background:rgba(47,70,81,.08);border-left:3px solid var(--anchor)}
.form-ko{background:var(--sabbia);border-left:3px solid var(--red)}
.contatti-canali{display:grid;gap:18px;padding:30px 0 0}
.contatti-canale{display:grid;gap:3px}
.contatti-canale .lab{text-transform:uppercase;color:var(--anchor);letter-spacing:.08em;font-size:11px;font-weight:600}
.contatti-canale a{font-size:16px;color:var(--black);width:max-content;transition:color .2s ease}
.contatti-canale a:hover{color:var(--red)}
.contatti-canale-note{font-size:13.5px;line-height:1.5;color:var(--muted)}
.contatti-disclaimer-title{margin:30px 0 8px;font-size:13px;font-weight:600;color:var(--anchor)}
.contatti-disclaimer{margin-top:0;border-left:3px solid var(--red);background:var(--sabbia);padding:14px 18px;border-radius:0 8px 8px 0;font-size:13.5px;line-height:1.55;color:var(--muted)}

@media (max-width:640px){
  .contatti{padding:42px var(--side) 62px}
  .contatti-colloquio{padding:24px 22px}
  .contatti-btn{width:100%;justify-content:space-between;padding:13px 18px}
}


/* metodo: sintesi del percorso */
.metodo-tappe{display:flex;align-items:flex-start;gap:8px;padding:0 0 30px;border-bottom:1px solid var(--border)}
.metodo-tappa{flex:1}
.metodo-tappa .n{font-family:var(--sans);color:var(--red);font-size:13px;font-weight:600;letter-spacing:.08em}
.metodo-tappa .t{font-family:var(--sans);font-size:17px;font-weight:600;line-height:1.2;margin-top:5px;color:var(--black)}
.metodo-tappa .d{font-size:12.5px;color:var(--muted);line-height:1.45;margin-top:5px}
.metodo-arrow{align-self:center;color:var(--border);font-size:20px;padding-top:6px}
.privacy-section p.metodo-claim,.page-section p.metodo-claim{font-family:var(--sans);font-size:18px;line-height:1.5;font-weight:500;color:var(--black);margin-bottom:14px}

@media (max-width:640px){
  .metodo-tappe{flex-direction:column;gap:18px;padding-bottom:24px}
  .metodo-arrow{display:none}
  .metodo-tappa .t{font-size:18px}
}


/* ============================================================
   GUIDE — template della singola guida
   Tutto è dentro .guida-page: nessuna regola condivisa
   (.page-hero, .page-content, .page-section) viene modificata.
   ============================================================ */

.guida-page{--guida-max:1050px;padding-bottom:0;border-bottom:1px solid var(--border)}
.guida-page h2{font-family:var(--sans);font-size:clamp(25px,2.4vw,31px);line-height:1.18;font-weight:600;letter-spacing:-.015em;color:var(--black);margin-bottom:20px}
.guida-page p{font-size:16.5px;line-height:1.72;color:var(--muted);max-width:68ch}
.guida-page strong{font-weight:600;color:var(--black)}
.guida-page p + p{margin-top:15px}
/* link dentro il testo delle guide */
.guida-page p a{color:var(--anchor);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .22s ease}
.guida-page p a:hover{color:var(--red)}
/* occhiello "Guide" cliccabile verso la raccolta */
.guida-page .page-label a{color:var(--red);text-decoration:none;transition:color .22s ease}
.guida-page .page-label a:hover{color:var(--anchor);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.guida-page .guida-microtitolo{color:var(--red);text-transform:uppercase;letter-spacing:.12em;font-size:11.5px;font-weight:600;line-height:1.4;margin-bottom:14px}

/* contenitore editoriale largo */
.guida-content{width:100%;max-width:calc(1050px + 2 * var(--side));margin:0 auto;padding:0 var(--side)}

/* apertura: testo a sinistra, immagine a destra */
.guida-hero{width:100%;max-width:calc(1050px + 2 * var(--side));margin:0 auto;padding:clamp(46px,5.2vw,74px) var(--side) 0;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(32px,4.4vw,64px);align-items:start}
.guida-page .page-label{color:var(--red)}
.guida-hero .page-label{margin-bottom:18px}
.guida-hero .page-title{font-size:clamp(34px,3.6vw,50px);margin-bottom:22px;max-width:none}
.guida-hero .page-subtitle{font-size:17px;line-height:1.65;max-width:48ch}
.guida-page .guida-domanda{font-family:var(--sans);font-size:clamp(20px,1.8vw,21px);line-height:1.4;font-weight:500;color:var(--anchor);margin-top:34px;margin-bottom:0;max-width:26ch}
.guida-page .guida-firma{margin-top:20px;font-size:13.5px;line-height:1.5;color:var(--muted)}
.guida-firma a{color:var(--anchor);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .22s ease}
.guida-firma a:hover{color:var(--red)}
.guida-firma-data{white-space:nowrap}
.guida-hero-media{margin:clamp(50px,3.8vw,55px) 0 0}
.guida-hero-media img{width:100%;height:auto;border-radius:10px}

/* primo blocco: testo + citazione come pausa visiva */
.guida-apertura{margin-top:clamp(46px,4.9vw,72px);display:grid;grid-template-columns:minmax(0,1.24fr) minmax(0,1fr);gap:clamp(36px,5vw,78px);align-items:start}
.guida-apertura-testo{max-width:62ch}
.guida-citazione{padding-top:10px}
.guida-citazione::before{content:"";display:block;width:40px;height:1px;background:var(--red);margin-bottom:24px}
.guida-page .guida-citazione p{font-family:var(--sans);font-size:clamp(22px,2.1vw,28px);line-height:1.3;font-weight:500;letter-spacing:-.015em;color:var(--black)}
/* citazione isolata, fuori da guida-apertura */
.guida-citazione--sola{margin-top:clamp(46px,4.9vw,72px);padding-top:0;max-width:620px}
/* pausa editoriale con filetto carminio a sinistra */
.guida-pausa{margin:clamp(44px,4.7vw,68px) 0;padding:6px 0 6px clamp(20px,2.2vw,30px);border-left:2px solid var(--red);max-width:700px}
.guida-page .guida-pausa p{font-family:var(--sans);font-size:clamp(22px,2vw,24px);line-height:1.32;font-weight:500;letter-spacing:-.01em;color:var(--anchor)}

/* blocchi di testo semplici */
.guida-blocco{margin-top:clamp(50px,5.4vw,78px)}
.guida-blocco--stretto{max-width:780px}
.guida-page .guida-blocco-intro{max-width:66ch}
.guida-blocco--passo{margin-top:clamp(56px,5.8vw,84px)}

/* tre punti: numeri grandi in carminio */
.guida-punti{list-style:none;padding-left:0;margin-top:clamp(32px,3.6vw,50px);display:grid;gap:0}
.guida-punti li{display:grid;grid-template-columns:auto minmax(0,.36fr) minmax(0,.64fr);gap:clamp(22px,2.8vw,44px);align-items:start}
.guida-punti li + li{margin-top:clamp(28px,3vw,42px);padding-top:clamp(28px,3vw,42px);border-top:1px solid rgba(210,196,182,.55)}
.guida-punto-n{font-family:var(--sans);font-size:clamp(46px,5.4vw,74px);line-height:.86;font-weight:500;letter-spacing:-.02em;color:var(--red)}
.guida-punto-corpo{min-width:0;padding-top:4px}
.guida-page .guida-punto-t{font-family:var(--sans);font-size:clamp(19px,1.7vw,22px);line-height:1.22;font-weight:600;color:var(--black);margin-bottom:0;padding-top:6px}

/* fascia sabbia: cambio di ritmo */
.guida-fascia{margin-top:clamp(58px,6.4vw,94px);background:var(--sabbia);padding:clamp(46px,5vw,74px) 0}
.guida-fascia-inner{width:100%;max-width:calc(1050px + 2 * var(--side));margin:0 auto;padding:0 var(--side);display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);gap:clamp(30px,4.4vw,68px);align-items:center}
.guida-fascia-testo{max-width:60ch}
.guida-fascia-media{margin:0;min-width:0}
.guida-fascia-media img{width:100%;height:auto;border-radius:10px}

/* immagine + testo */
.guida-figura{margin-top:clamp(58px,6.4vw,94px);display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(32px,4.2vw,64px);align-items:center}
.guida-figura-media{margin:0;min-width:0}
.guida-figura-media img{width:100%;height:auto;border-radius:10px}
.guida-figura-testo{min-width:0;max-width:60ch}
.guida-figura--testo-lungo{align-items:start}

/* fascia finale: MAPPA */
.guida-mappa{margin-top:clamp(58px,6.4vw,94px);background:var(--sabbia);padding:clamp(46px,5vw,70px) 0}
.guida-mappa-inner{width:100%;max-width:calc(1050px + 2 * var(--side));margin:0 auto;padding:0 var(--side);display:grid;grid-template-columns:auto 1px minmax(0,1fr) auto;gap:clamp(24px,3.2vw,46px);align-items:center}
.guida-mappa-label{color:var(--red);text-transform:uppercase;letter-spacing:.12em;font-size:11.5px;font-weight:600;margin-bottom:10px}
.guida-page .guida-mappa-titolo{font-family:var(--sans);font-size:clamp(38px,4.2vw,54px);line-height:.94;font-weight:500;letter-spacing:.02em;color:var(--anchor);margin-bottom:0}
.guida-mappa-divisore{width:1px;align-self:stretch;background:var(--border)}
.guida-mappa-testo{max-width:46ch}
.guida-page .guida-mappa-testo p{color:var(--black)}
.guida-mappa .contatti-btn{white-space:nowrap}

/* chiusura */
.guida-chiusura{margin-top:clamp(22px,2.4vw,30px);padding-bottom:clamp(44px,4.6vw,66px)}
.guida-page .guida-cta-soft{font-size:15px;line-height:1.6}
/* rimando fuori sezione, dentro il flusso del testo: serve aria sopra */
.guida-content > .guida-cta-soft{margin-top:clamp(30px,3vw,44px);color:var(--muted)}
.guida-cta-soft a{color:var(--anchor);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .22s ease}
.guida-cta-soft a:hover{color:var(--red)}

/* guide correlate */
.guida-correlate{margin-top:clamp(52px,5.8vw,80px);max-width:720px}
.guida-page .guida-correlate-label,.guida-correlate-label{text-transform:uppercase;color:var(--anchor);letter-spacing:.10em;font-size:12px;line-height:1.4;font-weight:600;margin-bottom:10px}
.guida-correlate-lista{list-style:none;padding-left:0;display:grid}
.guida-correlate-lista li + li{border-top:1px solid rgba(210,196,182,.55)}
.guida-correlate-lista a{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:18px 0;font-family:var(--sans);font-size:19px;line-height:1.25;font-weight:600;color:var(--black);transition:color .22s ease}
.guida-correlate-lista a span{color:var(--red);font-size:16px}
.guida-correlate-lista a:hover{color:var(--red)}

/* tablet */
@media (max-width:980px){
  .guida-hero{grid-template-columns:1fr;gap:30px}
  .guida-hero .page-title{font-size:clamp(32px,5.6vw,44px)}
  .guida-hero .page-subtitle{max-width:none}
  .guida-hero-media{margin-top:4px;max-width:560px}
  .guida-apertura{grid-template-columns:1fr;gap:34px}
  .guida-punti li{grid-template-columns:auto minmax(0,1fr);column-gap:clamp(20px,3vw,34px);row-gap:0}
  .guida-punti .guida-punto-t{grid-column:2;padding-top:2px;margin-bottom:9px}
  .guida-punti .guida-punto-corpo{grid-column:2}
  .guida-fascia-inner{grid-template-columns:1fr;gap:28px}
  .guida-fascia-media{max-width:560px}
  .guida-figura{grid-template-columns:1fr;gap:28px}
  .guida-figura-media{max-width:620px}
  .guida-mappa-inner{grid-template-columns:1fr;gap:22px;justify-items:start}
  .guida-mappa-divisore{display:none}
  .guida-mappa-testo{max-width:none}
}

/* mobile */
@media (max-width:640px){
  .guida-page p{font-size:16px}
  .guida-hero{padding-top:34px}
  .guida-punti li{column-gap:16px}
  .guida-punto-n{font-size:44px}
  .guida-page .guida-punto-t{font-size:18.5px}
  .guida-mappa .contatti-btn{width:100%;justify-content:space-between;padding:13px 18px;white-space:normal}
  .guida-correlate-lista a{font-size:17px}
}


/* ============================================================
   GUIDE — pagina raccolta (guide.html)
   Classi dedicate: nessuna regola condivisa
   (.page-hero, .page-content, .page-section) viene modificata.
   ============================================================ */

.guida-raccolta{padding-bottom:0;border-bottom:1px solid var(--border)}

/* apertura */
.guida-raccolta-hero{width:100%;max-width:calc(1050px + 2 * var(--side));margin:0 auto;padding:clamp(46px,5.2vw,74px) var(--side) 0}
.guida-raccolta .page-label{color:var(--red);font-size:16.5px;line-height:1.72;letter-spacing:.12em;margin-bottom:18px}
.guida-raccolta .page-title{font-size:clamp(34px,3.6vw,50px);margin-bottom:22px;max-width:15ch}
.guida-raccolta .page-subtitle{font-size:17px;line-height:1.65;max-width:none}

/* elenco delle schede */
.guida-raccolta-lista{width:100%;max-width:calc(1050px + 2 * var(--side));margin:clamp(48px,5.4vw,78px) auto 0;padding:0 var(--side);list-style:none}
.guida-scheda{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(30px,4.4vw,64px);align-items:center}
.guida-scheda + .guida-scheda{margin-top:clamp(40px,4.4vw,64px);padding-top:clamp(40px,4.4vw,64px);border-top:1px solid rgba(210,196,182,.55)}
.guida-scheda-testo{min-width:0;max-width:56ch}
.guida-scheda-titolo{font-family:var(--sans);font-size:clamp(24px,2.3vw,30px);line-height:1.18;font-weight:600;letter-spacing:-.015em;color:var(--black);margin-bottom:16px}
.guida-scheda-titolo a{transition:color .22s ease}
.guida-scheda-titolo a:hover{color:var(--red)}
.guida-scheda-testo p{font-size:16.5px;line-height:1.72;color:var(--muted)}
.guida-scheda-link{display:inline-flex;align-items:baseline;gap:10px;margin-top:22px;font-size:14px;font-weight:500;letter-spacing:.02em;color:var(--anchor);position:relative;padding-bottom:4px;transition:color .22s ease}
.guida-scheda-link::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left center;transition:transform .22s ease}
.guida-scheda-link span{color:var(--red)}
.guida-scheda-link:hover{color:var(--red)}
.guida-scheda-link:hover::after{transform:scaleX(1)}
.guida-scheda-media{margin:0;min-width:0}
.guida-scheda-media img{width:100%;height:auto;border-radius:10px}

/* fascia MAPPA e chiusura: riprendono i blocchi della singola guida,
   che fuori da .guida-page perdono solo la tipografia di base */
.guida-raccolta .guida-mappa-titolo{font-family:var(--sans);font-size:clamp(38px,4.2vw,54px);line-height:.94;font-weight:500;letter-spacing:.02em;color:var(--anchor);margin-bottom:0}
.guida-raccolta .guida-mappa-testo p{font-size:16.5px;line-height:1.72;color:var(--black)}
.guida-raccolta .guida-cta-soft{font-size:15px;line-height:1.6;color:var(--muted)}

/* tablet */
@media (max-width:980px){
  .guida-raccolta .page-title{font-size:clamp(32px,5.6vw,44px);max-width:none}
  .guida-raccolta .page-subtitle{max-width:none}
  .guida-scheda{grid-template-columns:1fr;gap:24px}
  .guida-scheda-testo{max-width:none}
  .guida-scheda-media{order:-1;max-width:520px}
}

/* mobile */
@media (max-width:640px){
  .guida-raccolta-hero{padding-top:34px}
  .guida-scheda-titolo{font-size:25px}
  .guida-scheda-testo p{font-size:16px}
}


/* ============================================================
   HOME — impianto adottato il 10/09/2026 (index.html)
   Classi con prefisso .hb-, più .home sul contenitore di pagina.
   ============================================================ */

:root{
  --hb-card:#fffcf7;   /* fondo card, crema schiarita */
  --hb-rosa:#efb7aa;   /* carminio schiarito, solo sui fondi scuri */
  --hb-riga:#bdb0a2;   /* filetto su fondo sabbia */
}

/* home: il claim sta nella eyebrow della hero, nell'header sarebbe la stessa riga due volte */
.home .header-claim{display:none}

.hb-eyebrow{margin-bottom:20px}

/* ---------- 1. hero ---------- */
.hb-hero{display:grid;grid-template-columns:1.03fr .97fr;border-bottom:1px solid var(--border);min-height:560px}
.hb-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(38px,3.6vw,58px) clamp(28px,3.4vw,52px) clamp(32px,3.05vw,44px) var(--side)}
.hb-hero-title{font-family:var(--sans);font-size:clamp(44px,4.5vw,68px);line-height:1.04;font-weight:600;letter-spacing:-.02em;margin-bottom:24px;max-width:760px;text-wrap:balance}
.hb-hero-lead{font-size:clamp(17px,1.35vw,20px);line-height:1.5;max-width:600px;margin-bottom:clamp(28px,3.05vw,44px)}
.hb-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
/* nella hero il blocco delle due strade è centrato, e ogni pulsante porta dentro la sua nota */
.hb-hero .hb-actions{align-items:flex-start;align-self:stretch}
.hb-hero .hb-btn,.gd-cta .hb-btn,.ct-colloquio .hb-btn{position:relative;flex-direction:column;justify-content:center;align-items:center;gap:3px;height:auto;min-height:0;min-width:300px;padding:12px 46px 13px;text-align:center}
.hb-btn-testo{font-size:15px;line-height:1.25;font-weight:500}
.hb-btn-sotto{font-size:12.5px;line-height:1.3;font-weight:400;letter-spacing:.01em;opacity:.78}
.hb-btn-freccia{position:absolute;right:20px;top:50%;transform:translateY(-50%)}
/* i pulsanti si sollevano al passaggio del mouse, come facevano le card dei percorsi */
.hb-btn{width:auto;padding:0 24px;justify-content:space-between;min-width:230px;transition:transform .22s ease, box-shadow .22s ease}
.hb-btn:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(169,35,42,.22)}
.hb-btn-anchor:hover{box-shadow:0 14px 28px rgba(47,70,81,.24)}
/* le due strade: pulsante + micro-riga, separatore centrato, pulsante outline + micro-riga */
.hb-oppure{display:flex;align-items:center;justify-content:center;width:300px;max-width:100%;gap:14px;margin:12px 0 6px;color:var(--muted);font-size:14px;letter-spacing:.02em}
.hb-oppure::before,.hb-oppure::after{content:"";flex:1 1 0;height:1px;background:var(--border)}
.hb-btn-outline{background:transparent;border:1px solid var(--anchor);color:var(--anchor)}
.hb-btn-outline:hover{box-shadow:0 14px 28px rgba(47,70,81,.18)}
.hb-textlink{font-size:15px;color:var(--anchor);font-weight:500;position:relative;padding-bottom:2px;transition:color .22s ease}
.hb-textlink::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left center;transition:transform .22s ease}
.hb-textlink:hover{color:var(--red)}
.hb-textlink:hover::after{transform:scaleX(1)}

.hb-hero-visual{position:relative;overflow:hidden;background:#dfd2c4;min-height:600px}
.hb-hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 58%}

/* ---------- 2. fascia payoff ---------- */
.hb-payoff{background:var(--black);color:var(--cream);padding:clamp(46px,4.6vw,62px) var(--side);display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(32px,4vw,56px);align-items:center}
.hb-payoff-label{margin-bottom:0;color:var(--red);white-space:normal;font-size:clamp(22px,2.4vw,34px);line-height:1.1;font-weight:600;letter-spacing:.015em}
.hb-payoff-testo{font-size:clamp(24px,2.8vw,40px);line-height:1.24;letter-spacing:-.015em;font-weight:400}
.hb-payoff-testo em{font-family:var(--serif);font-style:italic;font-weight:600;color:var(--hb-rosa)}

/* ---------- impianto comune delle sezioni ---------- */
.hb-sezione{padding:clamp(70px,8vw,118px) var(--side)}
.hb-sezione-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:46px}
.hb-sezione-head h2{font-family:var(--sans);font-size:clamp(34px,3.6vw,54px);line-height:1.07;font-weight:600;letter-spacing:-.02em;max-width:700px}
.hb-sezione-head p{max-width:440px;font-size:16px;line-height:1.6;color:var(--muted)}

/* ---------- 3. da quale punto stai partendo ---------- */
.hb-situazioni{border-bottom:1px solid var(--border)}
.hb-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.hb-card{display:flex;flex-direction:column;justify-content:space-between;min-height:296px;padding:28px 30px 26px;background:var(--hb-card);border:1px solid var(--border);border-radius:10px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.hb-card:hover{transform:translateY(-5px);border-color:var(--red);box-shadow:0 18px 38px rgba(33,29,26,.08)}
.hb-num{color:var(--red);font-size:13px;font-weight:600;letter-spacing:.08em}
.hb-card h3{font-family:var(--sans);font-size:clamp(23px,2vw,30px);line-height:1.16;font-weight:600;letter-spacing:-.015em;margin:26px 0 10px}
.hb-card p{font-size:15.5px;line-height:1.55;color:var(--muted)}
.hb-card-freccia{align-self:flex-end;color:var(--red);font-size:22px;line-height:1;margin-top:22px;transition:transform .22s ease}
.hb-card:hover .hb-card-freccia{transform:translateX(4px)}

/* ---------- 4. metodo ---------- */
.hb-metodo{background:var(--sabbia);border-bottom:1px solid var(--border);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(52px,7vw,110px);align-items:start}
.hb-metodo-copy .hb-metodo-label{color:var(--red);margin-bottom:16px}
.hb-metodo-copy h2{font-family:var(--sans);font-size:clamp(36px,3.9vw,58px);line-height:1.05;font-weight:600;letter-spacing:-.02em;margin-bottom:20px}
.hb-metodo-copy p{font-size:16.5px;line-height:1.62;color:var(--muted);max-width:500px;margin-bottom:26px}
.hb-btn-anchor{background:var(--anchor);border:1px solid var(--anchor);color:var(--cream)}
.hb-passi{border-top:1px solid var(--hb-riga)}
.hb-passo{display:grid;grid-template-columns:52px minmax(0,1fr);gap:22px;padding:26px 0;border-bottom:1px solid var(--hb-riga)}
.hb-passo b{color:var(--red);font-size:13px;font-weight:600;letter-spacing:.08em;padding-top:4px}
.hb-passo h3{font-family:var(--sans);font-size:22px;line-height:1.2;font-weight:600;margin-bottom:5px}
.hb-passo p{font-size:16px;line-height:1.55;color:var(--muted);max-width:560px}

/* ---------- dicono di noi: fascia bassa, voci brevi, filetto sopra come in «Per chi è» ---------- */
.hb-voci{background:var(--anchor);color:var(--cream);padding:clamp(40px,4vw,54px) var(--side)}
.hb-voci-label{color:var(--hb-rosa);margin-bottom:24px;white-space:normal}
.hb-voci-griglia{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,5vw,80px)}
.hb-voce{border-top:1px solid rgba(250,245,237,.26);padding-top:18px}
.hb-voce blockquote{font-size:19px;line-height:1.5;color:rgba(250,245,237,.94)}
.hb-voce figcaption{margin-top:14px;font-size:12px;line-height:1.4;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--hb-rosa)}

/* ---------- percorsi: sezione ripresa dalla home attuale, solo il respiro esterno cambia ---------- */
.hb-percorsi{padding:clamp(70px,8vw,118px) var(--side)}
/* stessa scala tipografica delle altre sezioni: struttura e colori restano quelli della home attuale */
.hb-percorsi .percorsi-label{color:var(--red);margin-bottom:16px}
.hb-percorsi .percorsi-title{font-size:clamp(34px,3.6vw,54px);line-height:1.07;letter-spacing:-.02em;margin-bottom:40px}
.hb-percorsi .perc-card .perc-name{font-size:clamp(23px,2vw,30px);line-height:1.16;letter-spacing:-.015em}
.hb-percorsi .perc-card.feat .perc-name{font-size:clamp(28px,2.5vw,36px);line-height:1.12}
.hb-percorsi .perc-for{font-size:16px;line-height:1.5}
.hb-percorsi .perc-desc{font-size:15.5px;line-height:1.55}
.hb-percorsi .perc-card.feat .perc-desc{font-size:16px;line-height:1.6}
.hb-percorsi .perc-service-note{font-size:13px;line-height:1.5}

/* ---------- 5. guide ---------- */
.hb-guide{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);border-bottom:1px solid var(--border);background:var(--hb-card)}
.hb-guide-img{position:relative;min-height:520px;background:#dfd2c4}
.hb-guide-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hb-guide-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(58px,7vw,104px) var(--side)}
.hb-guide-copy .eyebrow{color:var(--red)}
.hb-guide-copy h2{font-family:var(--sans);font-size:clamp(34px,3.6vw,54px);line-height:1.08;font-weight:600;letter-spacing:-.02em;margin-bottom:18px}
.hb-guide-copy p{font-size:17.5px;line-height:1.58;color:var(--muted);margin-bottom:26px;max-width:520px}
.hb-link-anchor{display:inline-flex;align-items:center;gap:9px;color:var(--anchor);font-size:15px;font-weight:600;position:relative;padding-bottom:3px;transition:color .22s ease}
.hb-link-anchor span{color:var(--red)}
.hb-link-anchor::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left center;transition:transform .22s ease}
.hb-link-anchor:hover{color:var(--red)}
.hb-link-anchor:hover::after{transform:scaleX(1)}

/* ---------- 6. chi ti accompagna ---------- */
.hb-lucia{background:var(--black);color:var(--cream);padding:clamp(56px,5.2vw,66px) var(--side);display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(44px,7vw,110px);align-items:start}
.hb-lucia-label{color:var(--hb-rosa);margin-bottom:18px}
.hb-lucia h2{font-family:var(--sans);font-size:clamp(46px,5.4vw,78px);line-height:1;font-weight:600;letter-spacing:-.025em;color:var(--cream)}
.hb-lucia h2 span{display:block}
.hb-lucia-copy{max-width:700px}
.hb-lucia-copy p{font-size:clamp(17px,1.5vw,21px);line-height:1.55;margin-bottom:26px;color:rgba(250,245,237,.9)}
.hb-link-chiaro{display:inline-flex;align-items:center;gap:9px;color:var(--cream);font-size:15px;font-weight:600;position:relative;padding-bottom:3px;transition:opacity .22s ease}
.hb-link-chiaro span{color:var(--hb-rosa)}
.hb-link-chiaro::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--hb-rosa);transform:scaleX(1);transform-origin:left center;transition:transform .22s ease}
.hb-link-chiaro:hover::after{transform:scaleX(.35)}

/* ---------- 7. cta finale ---------- */
.hb-finale{padding:clamp(76px,9vw,132px) var(--side);text-align:center}
.hb-finale .eyebrow{margin-bottom:18px;white-space:normal}
.hb-finale h2{font-family:var(--sans);font-size:clamp(38px,4.6vw,68px);line-height:1.05;font-weight:600;letter-spacing:-.025em;margin:0 auto 18px;max-width:840px}
.hb-finale-testo{margin:0 auto 30px;max-width:640px;font-size:18px;line-height:1.6;color:var(--muted)}
.hb-actions-centro{align-items:center}

/* ---------- footer: staccato dalla CTA finale, solo in home ---------- */
.hb-footer{background:var(--sabbia);border-top:1px solid var(--border)}

/* ============================================================
   da 980px in giù: una colonna
   ============================================================ */
@media (max-width:980px){
  .hb-hero{grid-template-columns:1fr;min-height:0}
  .hb-hero-copy{padding:34px var(--side) 38px;max-width:760px}
  .hb-hero-visual{min-height:0;height:46vw;max-height:420px}
  .hb-payoff{grid-template-columns:1fr;gap:14px}
  .hb-payoff-label{font-size:26px}
  .hb-sezione{padding:64px var(--side)}
  .hb-sezione-head{display:block}
  .hb-sezione-head p{margin-top:16px}
  .hb-cards{grid-template-columns:1fr}
  .hb-card{min-height:0}
  .hb-metodo{grid-template-columns:1fr;gap:38px}
  .hb-voci-griglia{grid-template-columns:1fr;gap:26px}
  .hb-percorsi{padding:64px var(--side)}
  .hb-guide{grid-template-columns:1fr}
  .hb-guide-img{min-height:0;height:44vw;max-height:380px}
  .hb-guide-copy{padding:56px var(--side)}
  .hb-lucia{grid-template-columns:1fr;gap:28px;padding:56px var(--side)}
  .hb-lucia h2 span{display:inline}
  .hb-finale{padding:70px var(--side)}
}

/* ============================================================
   sotto i 640px: composizione mobile dedicata
   ============================================================ */
@media (max-width:640px){
  .hb-hero-copy{padding:24px var(--side) 26px}
  .hb-eyebrow{margin-bottom:13px}
  .hb-hero-title{font-size:clamp(38px,10.6vw,44px);line-height:1.06;margin-bottom:16px}
  .hb-hero-lead{font-size:16.5px;line-height:1.45;margin-bottom:20px}
  .hb-actions{width:100%;gap:10px;align-items:stretch}
  .hb-btn{width:100%;min-width:0;padding:0 18px}
  .hb-hero .hb-btn,.gd-cta .hb-btn,.ct-colloquio .hb-btn{width:100%;min-width:0;padding:12px 34px 13px}
  .hb-textlink{text-align:center;font-size:15px}
  .hb-oppure{width:100%;margin:10px 0 6px}
  .hb-hero-visual{height:205px;max-height:205px}
  .hb-hero-visual img{object-position:58% 84%}

  .hb-payoff{padding:30px var(--side);gap:10px}
  .hb-payoff-label{font-size:19px;letter-spacing:.02em}
  .hb-payoff-testo{font-size:23px;line-height:1.22}

  .hb-sezione{padding:58px var(--side)}
  .hb-sezione-head{margin-bottom:26px}
  .hb-sezione-head h2{font-size:34px}
  .hb-sezione-head p{font-size:16px}

  /* card in scorrimento orizzontale, con un frammento della successiva a vista */
  .hb-cards{display:flex;gap:14px;overflow-x:auto;margin:0 calc(var(--side) * -1);padding:2px var(--side) 16px;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain}
  .hb-cards::-webkit-scrollbar{display:none}
  .hb-card{flex:0 0 82vw;min-height:222px;padding:24px;scroll-snap-align:start}
  .hb-card h3{font-size:25px;margin:20px 0 8px}
  .hb-card p{font-size:16px}

  .hb-metodo{gap:32px}
  .hb-metodo-copy h2{font-size:36px}
  .hb-metodo-copy p{font-size:16px;margin-bottom:20px}
  .hb-passo{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:20px 0}
  .hb-passo h3{font-size:20px}
  .hb-passo p{font-size:16px;line-height:1.5}

  .hb-voci{padding:38px var(--side)}
  .hb-voci-label{margin-bottom:20px}
  .hb-voce blockquote{font-size:17px}
  .hb-percorsi{padding:58px var(--side)}
  .hb-guide-img{height:210px;max-height:210px}
  .hb-guide-copy{padding:52px var(--side)}
  .hb-guide-copy h2{font-size:34px}
  .hb-guide-copy p{font-size:16.5px;margin-bottom:22px}

  .hb-lucia{padding:52px var(--side);gap:24px}
  .hb-lucia h2{font-size:46px}
  .hb-lucia-copy p{font-size:17px;margin-bottom:22px}

  .hb-finale{padding:60px var(--side)}
  .hb-finale h2{font-size:38px}
  .hb-finale-testo{font-size:17px;margin-bottom:26px}
  .hb-actions-centro{align-items:stretch}
}


/* ============================================================
   GUIDE — raccolta guide (guide.html), impianto del 10/09/2026
   Classi con prefisso .gd-, in coda alle regole della home.
   ============================================================ */
.gd-hero{padding:clamp(38px,3.6vw,56px) var(--side) clamp(44px,4.4vw,64px)}
.gd-eyebrow{margin-bottom:14px}
.gd-titolo{font-family:var(--sans);font-size:clamp(40px,4.4vw,64px);line-height:1.04;font-weight:600;letter-spacing:-.02em;margin-bottom:16px}
.gd-titolo em{color:var(--red);font-style:normal;font-weight:600}
.gd-intro{font-size:clamp(16.5px,1.25vw,18px);line-height:1.55;color:var(--black);max-width:720px;margin-bottom:clamp(28px,3vw,40px)}

/* guida in evidenza */
.gd-evidenza{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;background:var(--sabbia);border-radius:14px;overflow:hidden;transition:transform .22s ease, box-shadow .22s ease}
.gd-evidenza:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(33,29,26,.10)}
.gd-evidenza-testo{padding:clamp(28px,3vw,44px);display:flex;flex-direction:column;justify-content:center}
.gd-evidenza-titolo{font-family:var(--sans);font-size:clamp(26px,2.4vw,34px);line-height:1.12;font-weight:600;letter-spacing:-.02em;margin:0 0 14px}
.gd-evidenza-desc{font-size:15.5px;line-height:1.6;color:var(--muted);margin-bottom:22px;max-width:460px}
.gd-evidenza-media{position:relative;min-height:300px;background:#dfd2c4}
.gd-evidenza-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.gd-etichetta{display:block;color:var(--red);font-size:11.5px;line-height:1.3;font-weight:600;text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px}
.gd-link{display:inline-flex;align-items:center;gap:9px;color:var(--anchor);font-size:14.5px;font-weight:600;position:relative;padding-bottom:3px}
.gd-link span{color:var(--red);transition:transform .22s ease}
.gd-link::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left center;transition:transform .22s ease}
.gd-evidenza:hover .gd-link::after,.gd-card:hover .gd-link::after{transform:scaleX(1)}
.gd-evidenza:hover .gd-link span,.gd-card:hover .gd-link span{transform:translateX(4px)}

/* le altre guide */
.gd-altre{border-top:1px solid var(--border);padding:clamp(54px,6vw,86px) var(--side)}
.gd-altre-titolo{font-family:var(--sans);font-size:clamp(24px,2.1vw,30px);line-height:1.15;font-weight:600;letter-spacing:-.015em;margin-bottom:clamp(24px,2.6vw,34px)}
.gd-griglia{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2vw,26px)}
.gd-card{display:flex;flex-direction:column;background:var(--hb-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 2px 10px rgba(33,29,26,.05);transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease}
.gd-card:hover{transform:translateY(-5px);border-color:var(--red);box-shadow:0 18px 38px rgba(33,29,26,.08)}
.gd-card-media{display:block;position:relative;aspect-ratio:16/9;background:#dfd2c4}
.gd-card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gd-card-testo{display:flex;flex-direction:column;align-items:flex-start;padding:22px 26px 26px}
.gd-card-titolo{font-family:var(--sans);font-size:clamp(21px,1.8vw,26px);line-height:1.15;font-weight:600;letter-spacing:-.015em;margin:0 0 10px}
.gd-card-desc{display:block;font-size:15px;line-height:1.55;color:var(--muted);margin-bottom:20px}

/* fascia finale petrolio */
.gd-cta{background:var(--anchor);color:var(--cream);padding:clamp(52px,5.4vw,72px) var(--side);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(34px,5vw,72px);align-items:center}
.gd-cta-label{color:var(--hb-rosa);margin-bottom:16px}
.gd-cta-testo p{font-size:clamp(17px,1.45vw,20px);line-height:1.5;font-weight:500;color:var(--cream);max-width:520px}
.gd-cta-testo p + p{margin-top:12px}
.gd-cta .hb-actions{align-items:flex-start}
.gd-cta .hb-oppure{color:rgba(250,245,237,.75)}
.gd-cta .hb-oppure::before,.gd-cta .hb-oppure::after{background:rgba(250,245,237,.35)}
.gd-cta .hb-btn-outline{border-color:rgba(250,245,237,.55);color:var(--cream)}
.gd-cta .hb-btn-outline:hover{box-shadow:0 14px 28px rgba(0,0,0,.18)}

@media (max-width:980px){
  .gd-evidenza{grid-template-columns:1fr}
  .gd-evidenza-media{order:-1;min-height:0;aspect-ratio:16/9}
  .gd-griglia{grid-template-columns:1fr}
  .gd-cta{grid-template-columns:1fr;gap:30px;padding:56px var(--side)}
  .gd-cta .hb-actions{align-self:stretch}
}

@media (max-width:640px){
  .gd-hero{padding:28px var(--side) 34px}
  .gd-titolo{font-size:38px}
  .gd-intro{font-size:16px}
  .gd-altre{padding:48px var(--side)}
  .gd-card-testo{padding:20px 22px 24px}
  .gd-cta{padding:48px var(--side)}
  .gd-cta-testo p{font-size:17px}
}


/* ============================================================
   CONTATTI — impianto del 10/09/2026 (contatti.html)
   Classi con prefisso .ct-; la hero resta .page-hero, qui solo più bassa.
   ============================================================ */
.ct-hero,.pc-hero,.cs-hero,.mt-hero{min-height:274px;padding:36px var(--side) 32px}
.ct-hero .page-label,.pc-hero .page-label,.cs-hero .page-label,.mt-hero .page-label{margin-bottom:14px}
.ct-hero .page-title,.pc-hero .page-title,.cs-hero .page-title,.mt-hero .page-title{font-size:clamp(34px,3.8vw,50px);margin-bottom:14px}
.ct-hero .page-subtitle,.pc-hero .page-subtitle,.cs-hero .page-subtitle,.mt-hero .page-subtitle{font-size:16.5px}

.ct-wrap{padding:clamp(38px,4vw,54px) var(--side) clamp(54px,6vw,84px);max-width:1120px;margin:0 auto}

/* fascia del colloquio */
.ct-colloquio{background:var(--anchor);color:var(--cream);border-radius:14px;padding:clamp(28px,3vw,40px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,48px);align-items:center}
.ct-colloquio-label{color:var(--hb-rosa);margin-bottom:12px}
.ct-colloquio-testo p{font-size:clamp(16.5px,1.35vw,19px);line-height:1.5;color:var(--cream);max-width:460px}
.ct-btn{flex:0 0 auto}

/* modulo */
.ct-modulo{scroll-margin-top:110px;padding-top:clamp(44px,5vw,68px)}
.ct-modulo-label{margin-bottom:12px}
.ct-modulo-titolo{font-family:var(--sans);font-size:clamp(28px,2.8vw,38px);line-height:1.12;font-weight:600;letter-spacing:-.02em;margin-bottom:24px}
.ct-modulo-intro{font-size:16.5px;line-height:1.55;color:var(--muted);margin-bottom:26px}
.ct-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;max-width:none}
.ct-form .ct-field-lunga,.ct-form .ct-form-invio,.ct-form .contatti-hp{grid-column:1 / -1}
.ct-form-invio{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.ct-form-invio .form-privacy{margin:0}

/* email e instagram affiancati */
.ct-canali{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;border-top:1px solid var(--border);margin-top:clamp(44px,5vw,64px);padding-top:clamp(26px,3vw,34px)}
.ct-canale .eyebrow{margin-bottom:10px}
.ct-canale a{font-size:16.5px;line-height:1.5;color:var(--black);position:relative}
.ct-canale a:hover{color:var(--red)}

/* precisazione */
.ct-nota{background:var(--sabbia);border-left:3px solid var(--red);border-radius:0 10px 10px 0;padding:20px 24px;margin-top:clamp(30px,3.4vw,42px)}
.ct-nota-titolo{color:var(--anchor);font-size:11.5px;line-height:1.3;font-weight:600;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}
.ct-nota p{font-size:15px;line-height:1.55;color:var(--muted)}

@media (max-width:980px){
  .ct-hero,.pc-hero,.cs-hero,.mt-hero{min-height:0;padding:40px var(--side) 34px}
  .ct-colloquio{grid-template-columns:1fr;gap:24px}
  .ct-btn{width:100%}
}

@media (max-width:640px){
  .ct-wrap{padding:32px var(--side) 48px}
  .ct-form{grid-template-columns:1fr}
  .ct-canali{grid-template-columns:1fr;gap:20px}
  .ct-modulo{scroll-margin-top:88px}
}


/* ============================================================
   TITOLETTI DI PAGINA E DI SEZIONE — regola unica, 10/09/2026
   Riferimento: «GUIDE» e «ADAPTIVE PROGRAM» della home.
   Qui stanno solo i cinque valori tipografici: colore, margini e
   allineamenti restano alle regole di ogni sezione.
   Restano fuori, perché hanno un'altra funzione: logo, payoff,
   numeri delle tappe, etichette dentro le card, badge e firme.
   ============================================================ */
.eyebrow:not(.hb-payoff-label),
p.eyebrow:not(.hb-payoff-label),
.page-label,
p.page-label,
.privacy-label,
p.privacy-label,
.method-label,
p.method-label,
.percorsi-label,
p.percorsi-label,
.inizia-label,
p.inizia-label,
.packages-label,
p.packages-label,
.contatti-eyebrow,
p.contatti-eyebrow,
.voci-label,
p.voci-label,
.perchie-genitori-label,
p.perchie-genitori-label,
.perchie-confine-label,
p.perchie-confine-label,
.guida-mappa-label,
p.guida-mappa-label,
.guida-correlate-label,
p.guida-correlate-label,
.guida-microtitolo,
p.guida-microtitolo,
.ct-nota-titolo,
p.ct-nota-titolo,
.mappa-etichetta,
p.mappa-etichetta,
.mappa-passo,
p.mappa-passo,
.mappa-risultato-nome,
p.mappa-risultato-nome,
.mappa-blocco h2,
.page-section p.voci-label,
.guida-page .guida-correlate-label,
.guida-page .guida-microtitolo{
  font-size:14px;
  line-height:1.4;
  font-weight:600;
  letter-spacing:.10em;
  text-transform:uppercase;
}

/* la riga della privacy sotto il modulo non deve andare a capo prima del bordo */
.ct-form-invio .form-privacy{align-self:stretch;max-width:none}


/* ============================================================
   PER CHI È — impianto dell'11/09/2026 (per-chi-e.html)
   Classi con prefisso .pc-; hero bassa condivisa con i contatti,
   fascia testimonianze e CTA finale riprese da home e guide.
   ============================================================ */
.pc-destinatari{padding:clamp(44px,5vw,72px) var(--side) clamp(34px,4vw,52px)}
.pc-griglia{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.8vw,22px)}
.pc-card{display:flex;flex-direction:column;align-items:flex-start;background:var(--hb-card);border:1px solid var(--border);border-radius:12px;padding:26px 28px 28px;box-shadow:0 2px 10px rgba(33,29,26,.05);transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease}
.pc-card:hover{transform:translateY(-5px);border-color:var(--red);box-shadow:0 18px 38px rgba(33,29,26,.08)}
.pc-card-etichetta{color:var(--red);font-size:14px;line-height:1.4;font-weight:600;text-transform:uppercase;letter-spacing:.10em;margin-bottom:14px}
.pc-card-titolo{font-family:var(--sans);font-size:clamp(21px,1.75vw,25px);line-height:1.16;font-weight:600;letter-spacing:-.015em;margin:0 0 12px}
.pc-card p{font-size:15.5px;line-height:1.6;color:var(--muted)}
.pc-card-domanda{margin-top:14px;color:var(--black) !important;font-weight:500}
.pc-card .gd-link{margin-top:auto;padding-top:18px}
.pc-tutte-guide{margin-top:clamp(26px,3vw,36px)}

/* testimonianze: stessa fascia della home, con il testo lungo apribile */
.pc-voci .hb-voce blockquote{font-size:17.5px}
.pc-voce-resto{margin-top:12px}
.pc-voce-resto summary{list-style:none;cursor:pointer;display:inline-flex;color:var(--hb-rosa);font-size:14px;font-weight:600;padding-bottom:2px;border-bottom:1px solid rgba(239,183,170,.5)}
.pc-voce-resto summary::-webkit-details-marker{display:none}
.pc-voce-resto .chiudi,.pc-voce-resto[open] .apri{display:none}
.pc-voce-resto[open] .chiudi{display:inline}
.pc-voce-resto p{margin-top:14px;font-size:15.5px;line-height:1.6;color:rgba(250,245,237,.86)}
.pc-voci .hb-voce figcaption{margin-top:16px}

/* genitori, su fondo sabbia */
.pc-genitori{background:var(--sabbia);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:clamp(46px,5vw,70px) var(--side)}
.pc-genitori-inner{max-width:760px}
.pc-genitori-label{color:var(--red);margin-bottom:14px}
.pc-genitori-titolo{font-family:var(--sans);font-size:clamp(26px,2.4vw,34px);line-height:1.14;font-weight:600;letter-spacing:-.02em;margin-bottom:14px}
.pc-genitori p{font-size:16.5px;line-height:1.65;color:var(--muted)}

/* «Quando prima serve altro»: nota discreta */
.pc-confine{padding:clamp(34px,3.6vw,48px) var(--side)}
.pc-confine-label{color:var(--red);font-size:14px;line-height:1.4;font-weight:600;text-transform:uppercase;letter-spacing:.10em;margin-bottom:10px}
.pc-confine p{font-size:14.5px;line-height:1.6;color:var(--muted);max-width:820px}

@media (max-width:980px){
  .pc-griglia{grid-template-columns:1fr;gap:16px}
  .pc-destinatari{padding:44px var(--side) 32px}
}

@media (max-width:640px){
  .pc-destinatari{padding:38px var(--side) 28px}
  .pc-card{padding:22px 22px 24px}
  .pc-genitori{padding:44px var(--side)}
  .pc-confine{padding:32px var(--side)}
}

/* rimando alla guida per i genitori, sotto il paragrafo della sezione */
.pc-genitori-guida{margin-top:18px}
.pc-genitori-guida .gd-link{font-size:15px}

/* i due titoletti stavano prendendo il colore dei paragrafi della loro sezione */
p.pc-genitori-label,p.pc-confine-label{color:var(--red)}


/* ============================================================
   CHI SIAMO — impianto dell'11/09/2026 (chi-siamo.html)
   Classi con prefisso .cs-; hero bassa condivisa, fascia scura
   per «Come lavoriamo», CTA finale uguale a guide e per chi è.
   ============================================================ */
.cs-hero .page-title{font-size:clamp(28px,3.05vw,42px);max-width:760px}
/* Testi della hero più larghi che nelle altre pagine, dove il limite è 560px.
   Solo sopra i 1100px: più in basso il testo arriverebbe sopra i fogli
   dell'immagine, e resta quindi al limite condiviso. */
@media (min-width:1101px){
  .cs-hero>*{max-width:700px}
}

/* l'immagine della hero compare solo su mobile, dove il fondo viene spento */
.cs-hero-img{display:none}

/* alla guida del progetto: un blocco solo, etichetta e nome sopra il testo */
.cs-guida{padding:clamp(50px,5.4vw,76px) var(--side)}
.cs-guida-inner{max-width:1120px}
.cs-guida-label{margin-bottom:14px}
p.cs-guida-label{color:var(--red)}
.cs-guida-titolo{font-family:var(--sans);font-size:clamp(30px,3vw,42px);line-height:1.1;font-weight:600;letter-spacing:-.02em;margin-bottom:22px}
.cs-guida-copy{max-width:780px}
.cs-guida-copy p{font-size:17px;line-height:1.68;color:var(--muted)}
.cs-guida-copy p + p{margin-top:18px}
.cs-guida-copy a{color:var(--anchor);font-weight:500;border-bottom:1px solid rgba(47,70,81,.35)}
.cs-guida-copy a:hover{color:var(--red);border-bottom-color:var(--red)}
.cs-fatti{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(28px,3vw,40px);padding:34px 40px;background:var(--sabbia);border-radius:16px}
.cs-fatto{padding:0 32px;border-right:1px solid rgba(33,29,26,.14)}
.cs-fatto:first-child{padding-left:0}
.cs-fatto:last-child{padding-right:0;border-right:0}
.cs-fatto strong{display:block;margin-bottom:8px;font-family:var(--sans);font-size:clamp(22px,2.1vw,28px);line-height:1.1;font-weight:600;letter-spacing:-.015em;color:var(--red)}
.cs-fatto span{display:block;font-size:14px;line-height:1.48;color:var(--black)}

/* come lavoriamo: fascia scura con i tre principi */
.cs-lavoro{background:var(--black);color:var(--cream);padding:clamp(56px,5.6vw,82px) var(--side);display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(44px,6.5vw,92px);align-items:start}
.cs-lavoro-label{color:var(--hb-rosa);margin-bottom:14px}
.cs-lavoro-titolo{font-family:var(--sans);font-size:clamp(30px,3.1vw,42px);line-height:1.1;font-weight:600;letter-spacing:-.02em;color:var(--cream)}
.cs-lavoro-intro>p:last-child{max-width:500px;margin-top:22px;font-size:17px;line-height:1.62;color:rgba(250,245,237,.86)}
.cs-principi{border-top:1px solid rgba(250,245,237,.25)}
.cs-principio{display:grid;grid-template-columns:44px minmax(0,1fr);gap:18px;padding:22px 0;border-bottom:1px solid rgba(250,245,237,.25)}
.cs-principio-numero{font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--hb-rosa);padding-top:3px}
.cs-principio h3{margin:0 0 6px;font-family:var(--sans);font-size:17px;line-height:1.3;font-weight:600;color:var(--cream)}
.cs-principio p{margin:0;max-width:590px;font-size:15px;line-height:1.55;color:rgba(250,245,237,.73)}

/* il punto di vista */
.cs-punto-vista{background:var(--cream);padding:clamp(52px,5.4vw,80px) var(--side);display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(44px,6.5vw,92px);align-items:center}
p.cs-punto-vista-label{color:var(--red);margin-bottom:14px}
.cs-punto-vista h2{margin:0;font-family:var(--sans);font-size:clamp(29px,3vw,40px);line-height:1.12;font-weight:600;letter-spacing:-.02em;color:var(--black)}
.cs-punto-vista p{margin:0;max-width:650px;font-size:17px;line-height:1.68;color:var(--muted)}

@media (max-width:760px){
  .cs-hero{padding-bottom:22px}
  .cs-hero-img{display:block;width:100%;height:140px;object-fit:cover;border-radius:6px;margin:20px 0 0}
}

@media (max-width:980px){
  .cs-guida{padding:44px var(--side) 52px}
  .cs-lavoro,.cs-punto-vista{grid-template-columns:1fr;gap:28px;padding:52px var(--side)}
}

@media (max-width:640px){
  .cs-guida{padding:40px var(--side) 46px}
  .cs-guida-copy p{font-size:16.5px}
  .cs-fatti{grid-template-columns:1fr;padding:15px 26px}
  .cs-fatto{padding:20px 0;border-right:0;border-bottom:1px solid rgba(33,29,26,.14)}
  .cs-fatto:last-child{border-bottom:0}
  .cs-lavoro,.cs-punto-vista{padding:46px var(--side)}
  .cs-lavoro-titolo,.cs-punto-vista h2{font-size:30px}
}


/* ============================================================
   METODO — impianto del 14/09/2026 (metodo.html)
   Classi con prefisso .mt-; hero bassa condivisa con le altre pagine,
   i tre passi in card, fascia scura per il concetto centrale,
   CTA finale .gd-cta uguale a guide, per chi è e chi siamo.
   ============================================================ */

/* l'immagine della hero compare solo su mobile, dove il fondo viene spento */
.mt-hero-img{display:none}

/* i tre passi in card, sullo schema di «Per chi è» */
.mt-tappe{padding:clamp(50px,5.4vw,76px) var(--side) clamp(40px,4.4vw,60px)}
.mt-tappe-head{display:flex;justify-content:space-between;align-items:flex-end;gap:clamp(28px,4vw,56px);margin-bottom:clamp(30px,3.4vw,44px)}
p.mt-tappe-label{color:var(--red);margin-bottom:14px}
.mt-tappe-titolo{font-family:var(--sans);font-size:clamp(30px,3vw,42px);line-height:1.1;font-weight:600;letter-spacing:-.02em;max-width:640px}
.mt-tappe-head>p{max-width:420px;font-size:16px;line-height:1.6;color:var(--muted)}
.mt-griglia{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.8vw,22px)}
.mt-card{display:flex;flex-direction:column;align-items:flex-start;background:var(--hb-card);border:1px solid var(--border);border-radius:12px;padding:26px 28px 28px;box-shadow:0 2px 10px rgba(33,29,26,.05);transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease}
.mt-card:hover{transform:translateY(-5px);border-color:var(--red);box-shadow:0 18px 38px rgba(33,29,26,.08)}
.mt-card-numero{color:var(--red);font-size:13px;font-weight:600;letter-spacing:.08em}
.mt-card-titolo{font-family:var(--sans);font-size:clamp(21px,1.75vw,25px);line-height:1.16;font-weight:600;letter-spacing:-.015em;margin:20px 0 8px}
p.mt-card-sotto{color:var(--black);font-weight:500;font-size:15.5px;line-height:1.5;margin-bottom:12px}
.mt-card p{font-size:15.5px;line-height:1.6;color:var(--muted)}

/* il concetto centrale: fascia scura, come «Come lavoriamo» in chi siamo */
.mt-spazio{background:var(--black);color:var(--cream);padding:clamp(56px,5.6vw,82px) var(--side);display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(44px,6.5vw,92px);align-items:start}
p.mt-spazio-label{color:var(--hb-rosa);margin-bottom:14px}
.mt-spazio-titolo{font-family:var(--sans);font-size:clamp(30px,3.1vw,42px);line-height:1.1;font-weight:600;letter-spacing:-.02em;color:var(--cream)}
.mt-spazio-copy p{font-size:16.5px;line-height:1.68;color:rgba(250,245,237,.82)}
.mt-spazio-copy p + p{margin-top:18px}
.mt-spazio-copy p.mt-spazio-chiusa{margin-top:24px;padding-top:22px;border-top:1px solid rgba(250,245,237,.25);color:var(--cream);font-size:17px;font-weight:500}

/* Adaptive Program: blocco editoriale su crema */
.mt-programma{padding:clamp(52px,5.4vw,80px) var(--side)}
.mt-programma-inner{max-width:900px}
p.mt-programma-label{color:var(--red);margin-bottom:14px}
.mt-programma-titolo{font-family:var(--sans);font-size:clamp(28px,2.8vw,38px);line-height:1.14;font-weight:600;letter-spacing:-.02em;margin-bottom:22px;max-width:820px}
.mt-programma-copy{max-width:780px}
.mt-programma-copy p{font-size:17px;line-height:1.68;color:var(--muted)}
.mt-programma-copy p + p{margin-top:18px}
.mt-programma-copy em{font-style:normal;font-weight:600;color:var(--black)}

/* cosa cambia per te: fascia sabbia, due colonne */
.mt-cambia{background:var(--sabbia);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:clamp(50px,5.2vw,74px) var(--side);display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(40px,6vw,88px);align-items:start}
p.mt-cambia-label{color:var(--red);margin-bottom:14px}
.mt-cambia-titolo{font-family:var(--sans);font-size:clamp(28px,2.8vw,38px);line-height:1.12;font-weight:600;letter-spacing:-.02em}
.mt-cambia-copy p{font-size:16.5px;line-height:1.68;color:var(--muted);max-width:650px}
.mt-cambia-copy p + p{margin-top:18px}

@media (max-width:980px){
  .mt-tappe-head{flex-direction:column;align-items:flex-start;gap:18px}
  .mt-tappe-head>p{max-width:none}
  .mt-griglia{grid-template-columns:1fr;gap:16px}
  .mt-spazio,.mt-cambia{grid-template-columns:1fr;gap:28px;padding:52px var(--side)}
}

@media (max-width:760px){
  .mt-hero{padding-bottom:22px}
  .mt-hero-img{display:block;width:100%;height:140px;object-fit:cover;border-radius:6px;margin:20px 0 0}
}

@media (max-width:640px){
  .mt-tappe{padding:38px var(--side) 30px}
  .mt-card{padding:22px 22px 24px}
  .mt-spazio,.mt-cambia{padding:46px var(--side)}
  .mt-spazio-titolo,.mt-cambia-titolo,.mt-programma-titolo{font-size:28px}
  .mt-programma{padding:44px var(--side)}
  .mt-programma-copy p{font-size:16.5px}
}


/* ============================================================
   CONSENSO COOKIE — banner e comando nel footer (21/09/2026)
   Il markup lo crea js/consenso.js; classi con prefisso .ck-.
   I due pulsanti hanno lo stesso identico stile: pari evidenza.
   ============================================================ */
.ck-banner{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:900;width:min(780px, calc(100% - 32px));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 28px;align-items:center;padding:18px 22px;background:var(--cream);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px rgba(33,29,26,.10)}
.ck-banner[hidden]{display:none}
.ck-testo{margin:0;font-family:var(--sans);font-size:14px;line-height:1.55;color:var(--black)}
.ck-link{color:var(--anchor);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;white-space:nowrap}
.ck-link:hover{color:var(--red)}
.ck-azioni{display:flex;gap:10px}
.ck-btn{min-width:108px;height:40px;padding:0 20px;border:1px solid var(--anchor);border-radius:6px;background:transparent;color:var(--anchor);font-family:var(--sans);font-size:14px;font-weight:500;line-height:1;cursor:pointer;transition:background-color .2s ease, color .2s ease}
.ck-btn:hover{background:var(--anchor);color:var(--cream)}
.ck-btn:focus-visible,.ck-preferenze:focus-visible{outline:2px solid var(--anchor);outline-offset:2px}

/* «Preferenze cookie» nel footer: un pulsante che si presenta come i link accanto */
.ck-preferenze{display:inline;-webkit-appearance:none;appearance:none;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit;text-align:inherit;vertical-align:baseline;color:var(--anchor);cursor:pointer}

@media (max-width:640px){
  .ck-banner{bottom:12px;grid-template-columns:1fr;gap:14px;padding:16px 18px}
  .ck-azioni{width:100%}
  .ck-btn{flex:1 1 0;min-width:0}
}

/* ============================================================
   STRUMENTI — pagina strumenti.html (29/09/2026)
   Classi con prefisso .sm-. Le card dei percorsi riusano .percorsi
   e .perc- della home, così le due pagine restano identiche;
   la fascia «Se il dubbio non si scioglie» è petrolio pieno come .gd-cta.
   ============================================================ */
.sm-strumenti{padding:clamp(50px,5.4vw,76px) var(--side);border-bottom:1px solid var(--border)}
.sm-griglia{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
.sm-card{display:flex;flex-direction:column;padding:30px 32px 32px;background:var(--cream);border:1px solid var(--border);border-radius:10px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.sm-card:hover{border-color:var(--red);transform:translateY(-3px);box-shadow:0 18px 38px rgba(33,29,26,.08)}
.sm-card-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 18px;margin-bottom:20px}
p.sm-tag{margin-bottom:0;white-space:normal}
.sm-prezzo{font-size:12px;line-height:1.4;font-weight:600;letter-spacing:.10em;text-transform:uppercase;color:var(--anchor);white-space:nowrap}
.sm-titolo{font-family:var(--sans);font-size:clamp(26px,2.4vw,34px);line-height:1.12;font-weight:600;letter-spacing:-.02em;margin-bottom:14px}
.sm-card>p{font-size:16px;line-height:1.6;color:var(--muted);max-width:520px;margin-bottom:24px}
.sm-punti{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:9px}
.sm-punti li{position:relative;padding-left:20px;font-size:15px;line-height:1.5;color:var(--anchor)}
.sm-punti li::before{content:"\2014";position:absolute;left:0;color:var(--red)}
.sm-btn{margin-top:auto;align-self:flex-start;width:auto;padding:0 22px;gap:12px}
.sm-btn-outline{background:transparent;color:var(--anchor);border:1px solid var(--anchor);transition:background-color .22s ease,color .22s ease}
.sm-btn-outline:hover{background:var(--anchor);color:var(--cream)}

/* hero senza immagine: più bassa di quelle delle altre pagine */
.sm-hero{padding:clamp(42px,4vw,54px) var(--side) clamp(30px,3vw,38px)}
.sm-hero .page-title{margin-bottom:0;max-width:860px}

/* la chiusura è solo titolo e colloquio: serve meno aria delle altre */
.sm-finale{padding:clamp(58px,6vw,86px) var(--side)}
.sm-finale h2{font-size:clamp(34px,3.6vw,50px)}
.sm-finale .hb-finale-testo{margin-bottom:26px}

/* timbro «In arrivo» sulla card dello strumento non ancora pubblicato:
   stesso trattamento del timbro «Semestre filtro» in css/strumento.css */
.sm-card-arrivo{position:relative}
.sm-card>p.sm-timbro{margin:0;max-width:none;color:var(--cream)}
.sm-timbro{display:flex;align-items:center;justify-content:center;text-align:center;position:absolute;z-index:5;top:-16px;right:-10px;width:96px;height:96px;border-radius:50%;background:var(--red);color:var(--cream);transform:rotate(-12deg);box-shadow:0 8px 20px rgba(169,35,42,.28),inset 0 0 0 4px var(--red),inset 0 0 0 5.5px rgba(250,245,237,.7)}
.sm-timbro-giu{font-size:15px;line-height:1.05;font-weight:700;letter-spacing:.06em;text-transform:uppercase;max-width:74px}
.sm-solo-lettori{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* la card in arrivo non ha pulsante: la riga di chiusura sta al suo posto */
.sm-card-arrivo .sm-punti{margin-bottom:22px}
.sm-card>p.sm-arrivo-nota{margin:auto 0 0;font-size:14.5px;line-height:1.5;color:var(--muted);font-style:italic}

/* fascia di passaggio dagli strumenti ai percorsi */
.sm-ponte{background:var(--anchor);color:var(--cream);padding:clamp(46px,4.8vw,66px) var(--side)}
.sm-ponte-inner{max-width:820px}
.sm-ponte-label{color:var(--hb-rosa);margin-bottom:16px}
.sm-ponte h2{font-family:var(--sans);font-size:clamp(28px,2.9vw,38px);line-height:1.12;font-weight:600;letter-spacing:-.02em;color:var(--cream)}
.sm-ponte p{margin-top:16px;font-size:clamp(16.5px,1.35vw,19px);line-height:1.55;color:rgba(250,245,237,.86)}

@media (max-width:980px){
  .sm-griglia{grid-template-columns:1fr;gap:18px}
}

@media (max-width:640px){
  .sm-timbro{top:-14px;right:-6px;width:80px;height:80px}
  .sm-timbro-giu{font-size:13px;max-width:62px}
  .sm-card{padding:26px 24px 28px}
  .sm-card>p{font-size:15.5px}
  .sm-btn{width:100%;align-self:stretch}
}
