 :root{--blue:#0088cc;--navy:#15385f;--red:#d9292f;--text:#172033;--muted:#667085;--soft:#f5f8fb;--line:#e7ebf0;--white:#fff;--radius:22px;--shadow:0 14px 40px rgba(18,38,63,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 40px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:flex-end;gap:7px;font-weight:800}.brand-main{font-size:29px;color:var(--navy);letter-spacing:-1.4px}.brand-sub{font-size:16px;color:var(--red);padding-bottom:5px}.main-nav{display:flex;align-items:center;gap:27px;font-weight:600;font-size:15px}.main-nav a:hover{color:var(--blue)}.nav-cta{background:var(--blue);color:white!important;padding:11px 18px;border-radius:999px}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:25px;height:2px;background:var(--navy);margin:5px 0}
.hero{padding:72px 0 74px;background:linear-gradient(180deg,#f8fbfe 0%,#fff 100%)}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;color:var(--blue);margin-bottom:12px}.eyebrow.light{color:#8ddcff}.hero h1{font-size:clamp(46px,6vw,78px);line-height:1.02;letter-spacing:-.045em;margin:0 0 22px;color:var(--navy)}.hero p{font-size:20px;color:var(--muted);max-width:650px;margin:0 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 23px;border-radius:999px;font-weight:800}.btn-primary{background:var(--blue);color:#fff}.btn-secondary{border:1px solid #cbd5df;background:white;color:var(--navy)}.btn-light{background:#fff;color:var(--navy)}.btn-large{min-height:56px;padding:0 30px}.hero-badges{display:flex;gap:9px;flex-wrap:wrap;margin-top:29px}.hero-badges span{font-size:13px;font-weight:700;padding:8px 12px;background:white;border:1px solid var(--line);border-radius:999px}.hero-placeholder{min-height:490px;border-radius:34px;background:linear-gradient(135deg,#dff5ff,#edf3ff 55%,#fff0f0);display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #b7cad9;color:var(--navy);text-align:center;padding:30px}.hero-placeholder strong{font-size:22px}.hero-placeholder span{color:var(--muted);margin-top:7px}
.section{padding:92px 0}.section-heading{max-width:720px;margin-bottom:42px}.section-heading h2,.split h2,.contact-box h2{font-size:clamp(34px,4vw,54px);letter-spacing:-.035em;line-height:1.08;color:var(--navy);margin:0 0 15px}.section-heading p,.prose,.contact-box p{font-size:18px;color:var(--muted)}.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.course-card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;min-height:300px;background:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column}.course-age{font-weight:800;color:var(--red);font-size:14px}.course-card h3{font-size:26px;margin:10px 0 12px;color:var(--navy)}.course-card p{color:var(--muted);margin:0 0 25px}.course-card a{margin-top:auto;color:var(--blue);font-weight:800}
.section-dark{background:var(--navy);color:#fff}.section-dark h2{color:#fff}.section-dark p{color:#c9d8e6;font-size:19px}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.cambridge-panel{background:#fff;color:var(--navy);border-radius:26px;padding:38px;display:flex;flex-direction:column;align-items:flex-start;gap:7px}.cambridge-panel strong{font-size:30px}.cambridge-panel span{margin-bottom:20px;color:var(--muted)}
.section-soft{background:var(--soft)}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.location-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px}.location-card h3{font-size:28px;margin:0 0 7px;color:var(--navy)}.location-card p{color:var(--muted)}.location-card a{color:var(--blue);font-weight:800}.contact-section{padding-top:35px}.contact-box{background:#f1f9fd;border:1px solid #d9eef8;border-radius:30px;padding:45px;display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-box h2{font-size:42px}
.site-footer{background:#0e2947;color:#d6e0ea;padding:38px 0}.footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-inner strong{display:block;color:white;font-size:20px}.footer-inner span{font-size:13px}.footer-links{display:flex;gap:22px;font-size:14px}
@media(max-width:950px){.main-nav{position:absolute;left:0;right:0;top:82px;background:white;border-bottom:1px solid var(--line);padding:20px;display:none;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.menu-toggle{display:block}.hero-grid,.split{grid-template-columns:1fr}.course-grid{grid-template-columns:repeat(2,1fr)}.contact-box{flex-direction:column;align-items:flex-start}}
@media(max-width:620px){.wrap{width:min(100% - 26px,1180px)}.header-inner{height:72px}.main-nav{top:72px}.hero{padding:48px 0 55px}.hero h1{font-size:48px}.hero p{font-size:18px}.section{padding:68px 0}.course-grid,.location-grid{grid-template-columns:1fr}.contact-box{padding:30px}.footer-inner{flex-direction:column;align-items:flex-start}}

/* V2 — loghi ufficiali */
.brand{display:flex;align-items:center;line-height:1}
.brand img{display:block;width:190px;height:auto;max-height:58px;object-fit:contain}
.cambridge-panel{justify-content:center;min-height:250px}
.cambridge-logo{display:block;width:min(100%,340px);height:auto;margin:0 0 22px}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.footer-brand img{display:block;width:190px;height:auto;max-height:68px;object-fit:contain}
.footer-brand span{font-size:13px;color:#d6e0ea}
@media(max-width:620px){.brand img{width:160px}.footer-brand img{width:165px}}

/* V3 — hero fotografica */
.hero-media{
  min-height:490px;
  height:490px;
  border-radius:34px;
  overflow:hidden;
  background:#eef5fa;
  box-shadow:0 18px 48px rgba(18,38,63,.10);
}
.hero-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
@media(max-width:950px){
  .hero-media{height:440px;min-height:440px}
}
@media(max-width:620px){
  .hero-media{height:360px;min-height:360px;border-radius:26px}
}


/* V4 — card percorsi con fotografie recuperate dal sito precedente */
.course-card{
  padding:0;
  overflow:hidden;
  min-height:390px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.course-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 42px rgba(18,38,63,.12);
}
.course-card-media{
  height:170px;
  overflow:hidden;
  background:#eef3f7;
}
.course-card-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 32%;
  transition:transform .35s ease;
}
.course-card:hover .course-card-media img{
  transform:scale(1.025);
}
.course-card-body{
  padding:24px 26px 26px;
  flex:1;
  display:flex;
  flex-direction:column;
}
.course-card-body .course-age{
  margin-bottom:2px;
}
.course-card-body h3{
  margin-top:8px;
}
.course-card-body p{
  margin-bottom:22px;
}
.course-card-body a{
  margin-top:auto;
}

@media(max-width:950px){
  .course-card-media{height:190px}
}
@media(max-width:620px){
  .course-card{min-height:0}
  .course-card-media{height:210px}
}


/* V5 — sezione Cambridge */
.cambridge-section{
  position:relative;
  overflow:hidden;
}
.cambridge-section::after{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  right:-170px;
  top:-190px;
  pointer-events:none;
}
.cambridge-grid{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:72px;
  align-items:center;
}
.cambridge-copy{
  position:relative;
  z-index:1;
}
.cambridge-copy h2{
  color:#fff;
  font-size:clamp(38px,4.4vw,58px);
  line-height:1.06;
  letter-spacing:-.035em;
  margin:0 0 20px;
  max-width:650px;
}
.cambridge-copy > p{
  color:#d7e3ee;
  font-size:19px;
  max-width:620px;
  margin:0;
}
.cambridge-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:28px;
}
.cambridge-meta span{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  color:#fff;
  font-size:13px;
  font-weight:700;
  background:rgba(255,255,255,.05);
}
.cambridge-panel-v5{
  padding:0;
  overflow:hidden;
  border-radius:28px;
  box-shadow:0 24px 56px rgba(5,22,40,.22);
}
.cambridge-panel-logo{
  padding:34px 38px 28px;
  background:#fff;
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:210px;
}
.cambridge-panel-v5 .cambridge-logo{
  width:min(390px,100%);
  max-width:100%;
}
.cambridge-panel-copy{
  width:100%;
  padding:26px 34px 32px;
  border-top:1px solid #edf1f5;
}
.cambridge-panel-copy h3{
  margin:0 0 8px;
  font-size:24px;
  color:var(--navy);
}
.cambridge-panel-copy p{
  margin:0 0 22px;
  color:var(--muted);
  font-size:16px;
}
.cambridge-panel-copy .btn{
  min-height:46px;
}

@media(max-width:950px){
  .cambridge-grid{grid-template-columns:1fr;gap:38px}
  .cambridge-panel-logo{min-height:190px}
}
@media(max-width:620px){
  .cambridge-panel-logo{padding:28px 24px 22px;min-height:165px}
  .cambridge-panel-copy{padding:22px 24px 26px}
  .cambridge-meta{margin-top:22px}
}


/* V6 — micro ritocchi Cambridge + blocco credibilità */
.cambridge-copy h2{
  max-width:560px;
  font-size:clamp(36px,4vw,54px);
}
.cambridge-panel-logo{
  min-height:190px;
  padding-top:28px;
  padding-bottom:24px;
}
.cambridge-panel-copy{
  padding-top:22px;
  padding-bottom:28px;
}

.trust-section{
  background:#fff;
}
.trust-heading{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:70px;
  align-items:end;
  margin-bottom:42px;
}
.trust-heading h2{
  font-size:clamp(36px,4.6vw,58px);
  letter-spacing:-.04em;
  line-height:1.06;
  margin:0;
  color:var(--navy);
}
.trust-heading > p{
  margin:0 0 6px;
  font-size:18px;
  color:var(--muted);
  max-width:560px;
}
.trust-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.trust-card{
  border:1px solid var(--line);
  border-radius:22px;
  padding:28px 26px;
  background:#fff;
  min-height:230px;
  box-shadow:var(--shadow);
}
.trust-card-highlight{
  background:#f3f9fd;
  border-color:#d9edf8;
}
.trust-number{
  font-size:42px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.04em;
  color:var(--navy);
  margin-bottom:10px;
}
.trust-label{
  color:var(--blue);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:12px;
  font-weight:800;
  margin-bottom:18px;
}
.trust-card p{
  margin:0;
  color:var(--muted);
  font-size:16px;
}
.trust-footer{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:22px;
  padding:18px 22px;
  border-radius:18px;
  background:var(--soft);
  border:1px solid var(--line);
}
.trust-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:66px;
  height:34px;
  padding:0 14px;
  border-radius:999px;
  background:var(--navy);
  color:#fff;
  font-weight:800;
  letter-spacing:.05em;
  font-size:13px;
}
.trust-footer p{
  margin:0;
  color:var(--muted);
  font-size:15px;
}

@media(max-width:950px){
  .trust-heading{grid-template-columns:1fr;gap:18px}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .trust-grid{grid-template-columns:1fr}
  .trust-card{min-height:0}
  .trust-footer{align-items:flex-start}
}

/* V6b — nessun dato su numero di studenti o docenti */
.trust-number-places{
  font-size:30px;
  line-height:1.08;
}


/* V7 — sezione sedi più utile e meno ripetitiva */
.locations-section{
  border-top:1px solid #edf1f5;
}
.locations-heading{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:70px;
  align-items:end;
  margin-bottom:38px;
}
.locations-heading h2{
  font-size:clamp(36px,4.5vw,56px);
  line-height:1.06;
  letter-spacing:-.04em;
  color:var(--navy);
  margin:0;
  max-width:700px;
}
.locations-heading > p{
  margin:0 0 6px;
  font-size:18px;
  color:var(--muted);
  max-width:560px;
}
.location-grid-v7{
  gap:22px;
}
.location-card-v7{
  position:relative;
  padding:32px 34px 34px;
  min-height:360px;
  overflow:hidden;
  box-shadow:0 14px 40px rgba(18,38,63,.06);
}
.location-card-v7::after{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  border-radius:50%;
  border:1px solid #e9eef3;
  right:-65px;
  bottom:-85px;
  pointer-events:none;
}
.location-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:28px;
}
.location-index{
  font-size:13px;
  font-weight:800;
  letter-spacing:.14em;
  color:var(--blue);
}
.location-tag{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 13px;
  border-radius:999px;
  background:#f2f8fc;
  color:var(--navy);
  font-size:12px;
  font-weight:800;
  border:1px solid #dcecf6;
}
.location-card-v7 h3{
  font-size:34px;
  letter-spacing:-.03em;
  margin:0 0 12px;
}
.location-card-v7 > p{
  max-width:540px;
  margin:0 0 24px;
  color:var(--muted);
  font-size:17px;
}
.location-features{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:30px;
}
.location-features span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 11px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  color:#475467;
  font-size:12px;
  font-weight:700;
}
.location-link{
  position:relative;
  z-index:1;
  color:var(--blue);
  font-weight:800;
}

@media(max-width:950px){
  .locations-heading{grid-template-columns:1fr;gap:18px}
}
@media(max-width:620px){
  .location-card-v7{padding:26px 24px;min-height:0}
  .location-card-top{align-items:flex-start}
  .location-tag{white-space:nowrap}
}

/* V7b — rimozione cerchi decorativi dalle card sedi */
.location-card-v7::after{
  display:none !important;
}


/* V8 — CTA finale e link reale alla pre-iscrizione */
.contact-box-v8{
  position:relative;
  overflow:hidden;
}
.contact-copy{
  max-width:760px;
}
.contact-copy p{
  margin-bottom:14px;
}
.contact-note{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid #d9eaf4;
  color:var(--navy);
  font-size:13px;
  font-weight:700;
}
.contact-action{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}
.contact-action > span{
  color:var(--muted);
  font-size:12px;
  text-align:center;
}
.contact-action .btn{
  min-width:190px;
}

@media(max-width:950px){
  .contact-action{
    align-items:flex-start;
  }
  .contact-action > span{
    text-align:left;
  }
}


/* V9 — pagina Cambridge Info & Risorse Esami */
.nav-current{
  color:var(--blue) !important;
}
.exam-resources-page{
  background:#fff;
}
.exam-resources-hero{
  padding:72px 0 76px;
  background:linear-gradient(180deg,#f7fbfe 0%,#fff 100%);
  border-bottom:1px solid var(--line);
}
.exam-resources-hero-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:70px;
  align-items:center;
}
.exam-resources-hero-copy h1{
  margin:10px 0 20px;
  color:var(--navy);
  font-size:clamp(48px,6vw,76px);
  line-height:.98;
  letter-spacing:-.05em;
}
.exam-resources-hero-copy > p{
  font-size:19px;
  color:var(--muted);
  max-width:650px;
  margin:0;
}
.exam-resources-badges{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:26px;
}
.exam-resources-badges span{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  padding:0 14px;
  border-radius:999px;
  border:1px solid #d7e8f2;
  background:#fff;
  font-size:13px;
  font-weight:800;
  color:var(--navy);
}
.exam-resources-hero-logo{
  border-radius:28px;
  padding:38px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  display:flex;
  align-items:center;
  justify-content:center;
}
.exam-resources-hero-logo img{
  width:min(420px,100%);
  height:auto;
}
.exam-jump-section{
  padding-top:24px;
  padding-bottom:24px;
}
.exam-jump{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.exam-jump a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid var(--line);
  color:var(--navy);
  font-weight:800;
  background:#fff;
}
.exam-jump a:hover{
  border-color:#bcdcec;
  color:var(--blue);
}
.exam-resource-section{
  scroll-margin-top:100px;
}
.exam-resource-heading{
  margin-bottom:32px;
  max-width:850px;
}
.exam-resource-heading h2{
  margin:8px 0 12px;
  color:var(--navy);
  font-size:clamp(34px,4.2vw,52px);
  line-height:1.06;
  letter-spacing:-.04em;
}
.exam-resource-heading p{
  margin:0;
  color:var(--muted);
  font-size:18px;
}
.exam-resource-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.exam-resource-grid-3{
  grid-template-columns:repeat(3,1fr);
}
.exam-resource-card{
  border:1px solid var(--line);
  background:#fff;
  border-radius:22px;
  padding:26px;
  min-height:310px;
  display:flex;
  flex-direction:column;
  box-shadow:0 12px 34px rgba(18,38,63,.055);
  transition:transform .2s ease, box-shadow .2s ease;
}
.exam-resource-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 42px rgba(18,38,63,.10);
}
.exam-resource-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:22px;
}
.exam-level{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:58px;
  height:38px;
  padding:0 12px;
  border-radius:999px;
  background:var(--navy);
  color:#fff;
  font-weight:800;
  font-size:13px;
}
.exam-resource-type{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:800;
  color:var(--blue);
}
.exam-resource-card h3{
  margin:0 0 10px;
  color:var(--navy);
  font-size:25px;
  line-height:1.12;
  letter-spacing:-.025em;
}
.exam-resource-card > p{
  margin:0 0 18px;
  color:var(--muted);
  font-size:15px;
}
.exam-resource-meta{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-bottom:22px;
}
.exam-resource-meta span{
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:0 9px;
  border:1px solid var(--line);
  border-radius:999px;
  color:#586576;
  background:#fff;
  font-size:11px;
  font-weight:700;
}
.exam-resource-link{
  margin-top:auto;
  color:var(--blue);
  font-weight:800;
}
.exam-resource-cta{
  padding-top:24px;
}
.exam-resource-cta-box{
  border-radius:28px;
  background:#eef8fd;
  border:1px solid #d5ebf7;
  padding:38px 42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}
.exam-resource-cta-box h2{
  margin:8px 0 10px;
  color:var(--navy);
  font-size:34px;
  letter-spacing:-.035em;
}
.exam-resource-cta-box p{
  margin:0;
  color:var(--muted);
}

@media(max-width:1050px){
  .exam-resource-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:950px){
  .exam-resources-hero-grid{grid-template-columns:1fr;gap:34px}
  .exam-resource-cta-box{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
  .exam-resources-hero{padding:46px 0 50px}
  .exam-resources-hero-logo{padding:26px}
  .exam-resource-grid{grid-template-columns:1fr}
  .exam-resource-card{min-height:0}
  .exam-resource-cta-box{padding:28px 24px}
}


/* V10 — collegamento sessioni Cambridge */
.exam-resources-hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:24px;
}
.exam-jump-session{
  background:var(--navy) !important;
  color:#fff !important;
  border-color:var(--navy) !important;
}
.exam-jump-session:hover{
  color:#fff !important;
  opacity:.92;
}
.exam-card-actions{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:9px;
}
.exam-card-actions .exam-resource-link{
  margin-top:0;
}
.exam-session-link{
  color:var(--navy);
  font-weight:800;
  font-size:14px;
}
.exam-session-link:hover{
  color:var(--blue);
}
.exam-resource-cta-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  flex:0 0 auto;
}
@media(max-width:950px){
  .exam-resource-cta-actions{
    align-items:flex-start;
  }
}


/* V11 — pagina A2 Key for Schools */
.exam-detail-page{
  background:#fff;
}
.exam-detail-hero{
  padding:68px 0 72px;
  background:linear-gradient(180deg,#f7fbfe 0%,#fff 100%);
  border-bottom:1px solid var(--line);
}
.exam-detail-hero-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:72px;
  align-items:center;
}
.exam-back-link{
  display:inline-flex;
  margin-bottom:28px;
  color:var(--blue);
  font-weight:800;
  font-size:14px;
}
.exam-detail-copy h1{
  margin:8px 0 18px;
  color:var(--navy);
  font-size:clamp(50px,6vw,78px);
  line-height:.98;
  letter-spacing:-.05em;
}
.exam-detail-copy > p{
  max-width:760px;
  color:var(--muted);
  font-size:17px;
}
.exam-detail-copy .exam-detail-lead{
  color:#334155;
  font-size:19px;
}
.exam-detail-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px;
}
.exam-detail-side{
  min-height:310px;
  border-radius:28px;
  background:var(--navy);
  padding:44px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:var(--shadow);
}
.exam-detail-badge{
  width:98px;
  height:98px;
  border-radius:50%;
  background:#fff;
  color:var(--navy);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:38px;
  font-weight:800;
  letter-spacing:-.04em;
}
.exam-detail-side-copy{
  display:flex;
  flex-direction:column;
  color:#fff;
}
.exam-detail-side-copy strong{
  font-size:28px;
}
.exam-detail-side-copy span{
  color:#cdd9e5;
  margin-top:4px;
}
.exam-detail-jump-section{
  padding:18px 0;
  border-bottom:1px solid var(--line);
  background:#fff;
  position:sticky;
  top:0;
  z-index:20;
}
.exam-detail-jump{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.exam-detail-jump a{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  padding:0 13px;
  border-radius:999px;
  border:1px solid var(--line);
  color:var(--navy);
  background:#fff;
  font-size:12px;
  font-weight:800;
}
.exam-detail-jump-primary{
  background:var(--blue) !important;
  color:#fff !important;
  border-color:var(--blue) !important;
}
.exam-detail-intro{
  padding-bottom:20px;
}
.exam-info-banner{
  border:1px solid #d8eaf4;
  border-radius:24px;
  padding:30px 32px;
  background:#f3f9fc;
  max-width:100%;
}
.exam-info-banner h2{
  margin:8px 0 12px;
  color:var(--navy);
  font-size:30px;
}
.exam-info-banner p{
  margin:0 0 10px;
  color:#475467;
}
.exam-info-banner a{
  display:inline-flex;
  margin-top:6px;
  color:var(--blue);
  font-weight:800;
}
.exam-detail-section{
  scroll-margin-top:90px;
}
.exam-detail-heading{
  max-width:830px;
  margin-bottom:30px;
}
.exam-detail-heading.compact{
  margin-bottom:18px;
}
.exam-detail-heading h2{
  margin:7px 0 12px;
  color:var(--navy);
  font-size:clamp(34px,4.5vw,54px);
  line-height:1.05;
  letter-spacing:-.04em;
}
.exam-detail-heading p{
  margin:0;
  color:var(--muted);
  font-size:17px;
}
.exam-format-grid,
.exam-test-grid,
.exam-speaking-grid,
.exam-prep-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.exam-format-card,
.exam-test-card,
.exam-speaking-card,
.exam-prep-card,
.exam-extra-card{
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  padding:26px;
  box-shadow:0 12px 34px rgba(18,38,63,.05);
}
.exam-format-kicker,
.exam-test-duration{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  background:#eef8fd;
  color:var(--blue);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.exam-format-card h3,
.exam-test-card h3,
.exam-speaking-card h3,
.exam-prep-card h3,
.exam-extra-card h3{
  margin:16px 0 10px;
  color:var(--navy);
  font-size:24px;
}
.exam-format-card p,
.exam-test-card p,
.exam-prep-card p,
.exam-extra-card p{
  margin:0;
  color:var(--muted);
}
.exam-test-card a,
.exam-speaking-card a,
.exam-prep-card a,
.exam-extra-card a{
  display:inline-flex;
  margin-top:18px;
  color:var(--blue);
  font-weight:800;
}
.exam-speaking-note{
  margin-top:18px;
  border-radius:18px;
  background:var(--navy);
  color:#fff;
  padding:20px 22px;
  display:flex;
  gap:18px;
  align-items:flex-start;
}
.exam-speaking-note strong{
  flex:0 0 auto;
}
.exam-speaking-note span{
  color:#dbe5ee;
}
.exam-tutorial-row{
  margin-bottom:22px;
}
.exam-solutions-block{
  margin-top:38px;
}
.exam-link-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.exam-link-list a{
  border:1px solid var(--line);
  border-radius:16px;
  padding:16px 18px;
  color:var(--blue);
  font-weight:800;
  background:#fff;
}
.exam-speaking-grid{
  grid-template-columns:repeat(3,1fr);
}
.exam-speaking-card{
  min-height:210px;
}
.exam-speaking-secondary{
  display:block !important;
  margin-top:9px !important;
  color:var(--navy) !important;
  font-size:14px;
}
.exam-paper-section{
  background:var(--navy);
  color:#fff;
}
.exam-paper-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:48px;
}
.exam-paper-box h2{
  color:#fff;
  font-size:42px;
  letter-spacing:-.04em;
  margin:8px 0 12px;
}
.exam-paper-box p{
  color:#d8e3ed;
  max-width:760px;
  margin:0;
}
.exam-prep-grid{
  grid-template-columns:repeat(3,1fr);
}
.exam-extra-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
  margin-top:18px;
}
.exam-extra-card{
  background:#f8fbfd;
}
.exam-schools-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.exam-detail-final-cta{
  background:var(--navy);
  color:#fff;
}
.exam-detail-final-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:48px;
}
.exam-detail-final-box h2{
  color:#fff;
  margin:8px 0 12px;
  font-size:42px;
  letter-spacing:-.04em;
}
.exam-detail-final-box p{
  color:#dbe5ee;
  margin:0;
}
.exam-detail-final-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

@media(max-width:1000px){
  .exam-detail-hero-grid{grid-template-columns:1fr;gap:34px}
  .exam-detail-side{min-height:240px}
  .exam-speaking-grid,.exam-prep-grid{grid-template-columns:1fr 1fr}
  .exam-link-list{grid-template-columns:1fr}
  .exam-paper-box,.exam-detail-final-box{flex-direction:column;align-items:flex-start}
  .exam-detail-final-actions{justify-content:flex-start}
}
@media(max-width:650px){
  .exam-detail-hero{padding:44px 0 48px}
  .exam-detail-jump-section{position:static}
  .exam-format-grid,.exam-test-grid,.exam-speaking-grid,.exam-prep-grid,.exam-extra-grid{grid-template-columns:1fr}
  .exam-speaking-note{flex-direction:column;gap:6px}
  .exam-paper-box h2,.exam-detail-final-box h2{font-size:34px}
  .exam-detail-side{padding:30px;min-height:210px}
}


/* V11C — fix menu desktop + spaziatura intestazione pagina esame */
.exam-detail-copy .exam-back-link{
  display:flex;
  width:max-content;
  margin-bottom:18px;
}
.exam-detail-copy > .eyebrow{
  display:block;
  width:max-content;
  margin-bottom:10px;
}
.exam-detail-copy h1{
  margin-top:0;
}


/* V12 — B1/B2 For Schools */
.exam-test-grid-3{
  grid-template-columns:repeat(3,1fr);
}
.exam-teacher-heading{
  margin-top:46px;
}
.exam-teacher-grid{
  grid-template-columns:repeat(2,1fr);
  margin-bottom:18px;
}
@media(max-width:1000px){
  .exam-test-grid-3{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .exam-test-grid-3,.exam-teacher-grid{grid-template-columns:1fr}
}


/* V13 — Young Learners */
.yl-side{
  background:linear-gradient(145deg,#163c66 0%,#204f7d 100%);
}
.yl-paper-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}
.yl-duration-grid .exam-test-card{
  min-height:150px;
}
.yl-duration-grid .exam-test-card h3{
  margin-top:18px;
}
@media(max-width:800px){
  .yl-paper-actions{justify-content:flex-start}
}


/* V13B — Young Learners: badge Pre A1 + area Volumi */
.exam-detail-badge.badge-pre-a1{
  font-size:25px;
  line-height:1;
  letter-spacing:-.03em;
  white-space:nowrap;
  text-align:center;
}

/* La stessa impaginazione si applica a Starters, Movers e Flyers */
.yl-paper-box{
  align-items:center;
}
.yl-paper-box > div:first-child{
  flex:1 1 auto;
  min-width:0;
}
.yl-paper-actions{
  flex:0 0 410px;
  width:410px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  justify-content:stretch;
}
.yl-paper-actions .btn{
  width:100%;
  min-height:54px;
  padding:0 18px;
  white-space:nowrap;
  border:1px solid rgba(255,255,255,.32);
}

@media(max-width:900px){
  .yl-paper-box{
    flex-direction:column;
    align-items:flex-start;
  }
  .yl-paper-actions{
    flex:0 0 auto;
    width:min(100%,430px);
  }
}
@media(max-width:520px){
  .yl-paper-actions{
    grid-template-columns:1fr;
  }
}


/* V16 — menu a tendina Esami Cambridge */
.nav-exams-dropdown{
  position:relative;
}
.nav-exams-summary{
  display:flex;
  align-items:center;
  gap:5px;
  color:var(--text);
  font:inherit;
  font-weight:600;
  line-height:1.3;
  cursor:pointer;
  list-style:none;
  white-space:nowrap;
}
.nav-exams-summary::-webkit-details-marker{
  display:none;
}
.nav-exams-summary::marker{
  display:none;
  content:"";
}
.nav-exams-summary:hover{
  color:var(--blue);
}
.nav-exams-chevron{
  display:inline-block;
  font-size:17px;
  line-height:1;
  margin-top:-2px;
  transition:transform .18s ease;
}
.nav-exams-dropdown[open] .nav-exams-chevron{
  transform:rotate(180deg);
}
.nav-exams-menu{
  position:absolute;
  z-index:120;
  top:calc(100% + 14px);
  left:50%;
  transform:translateX(-50%);
  width:min(800px,calc(100vw - 36px));
  padding:22px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 22px 60px rgba(18,38,63,.16);
  display:none;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.nav-exams-menu::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-16px;
  height:16px;
}
.nav-exams-dropdown[open] .nav-exams-menu,
.nav-exams-dropdown:hover .nav-exams-menu,
.nav-exams-dropdown:focus-within .nav-exams-menu{
  display:grid;
}
.nav-exams-group{
  min-width:0;
}
.nav-exams-label{
  display:block;
  margin:0 8px 8px;
  color:var(--blue);
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:11px;
  font-weight:800;
}
.main-nav .nav-exams-group a{
  display:block;
  padding:8px 9px;
  border-radius:10px;
  color:var(--navy);
  font-size:13px;
  line-height:1.35;
  font-weight:600;
}
.main-nav .nav-exams-group a strong{
  color:var(--blue);
  margin-right:3px;
}
.main-nav .nav-exams-group a:hover{
  background:#f3f8fb;
  color:var(--navy);
}
.nav-exams-footer{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-top:16px;
  border-top:1px solid var(--line);
}
.main-nav .nav-exams-footer a{
  font-size:13px;
  font-weight:800;
}
.main-nav .nav-exams-all{
  color:var(--navy);
}
.main-nav .nav-exams-sessions{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 15px;
  border-radius:999px;
  background:var(--blue);
  color:#fff !important;
}
.main-nav .nav-exams-sessions:hover{
  color:#fff !important;
}
@media(max-width:950px){
  .nav-exams-dropdown{
    width:100%;
  }
  .nav-exams-summary{
    width:100%;
    justify-content:space-between;
    padding:0;
  }
  .nav-exams-menu{
    position:static;
    transform:none;
    width:100%;
    max-height:62vh;
    overflow-y:auto;
    margin-top:12px;
    padding:16px;
    border-radius:16px;
    box-shadow:none;
    grid-template-columns:1fr;
    gap:14px;
  }
  .nav-exams-dropdown:hover:not([open]) .nav-exams-menu,
  .nav-exams-dropdown:focus-within:not([open]) .nav-exams-menu{
    display:none;
  }
  .nav-exams-dropdown[open] .nav-exams-menu{
    display:grid;
  }
  .nav-exams-footer{
    flex-direction:column;
    align-items:stretch;
  }
  .main-nav .nav-exams-sessions{
    justify-content:center;
  }
}


/* V17 — Stamford Early Years */
.course-detail-page{
  overflow:hidden;
}
.course-detail-hero{
  padding:72px 0 78px;
  background:linear-gradient(180deg,#f7fbfe 0%,#fff 100%);
}
.course-detail-hero-grid{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:56px;
  align-items:center;
}
.course-back-link{
  display:inline-block;
  margin-bottom:20px;
  color:var(--blue);
  font-size:14px;
  font-weight:800;
}
.course-detail-hero h1{
  margin:0 0 8px;
  color:var(--navy);
  font-size:clamp(52px,6vw,80px);
  line-height:.98;
  letter-spacing:-.05em;
}
.course-detail-tagline{
  margin:0 0 24px;
  color:var(--red);
  font-size:clamp(22px,2.6vw,34px);
  line-height:1.15;
  font-weight:800;
}
.course-detail-lead{
  max-width:680px;
  margin:0 0 13px;
  color:var(--navy);
  font-size:20px;
  line-height:1.55;
}
.course-detail-copy > p:not(.course-detail-lead):not(.course-detail-tagline){
  max-width:680px;
  color:var(--muted);
  font-size:17px;
}
.course-detail-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:30px;
}
.course-detail-media{
  position:relative;
}
.course-detail-media img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:34px;
  box-shadow:0 24px 60px rgba(18,38,63,.14);
}
.course-detail-age{
  position:absolute;
  left:-22px;
  bottom:24px;
  width:116px;
  height:116px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--red);
  color:#fff;
  border:8px solid #fff;
  box-shadow:0 14px 34px rgba(18,38,63,.16);
  font-size:32px;
  font-weight:900;
  letter-spacing:-.04em;
}
.course-detail-nav-section{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
}
.course-detail-nav{
  min-height:76px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.course-detail-nav a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 15px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--navy);
  font-size:13px;
  font-weight:800;
}
.course-detail-nav a:hover{
  border-color:#bddbea;
  color:var(--blue);
}
.course-detail-nav .course-detail-nav-primary{
  background:var(--blue);
  color:#fff;
  border-color:var(--blue);
}
.early-intro-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:70px;
  align-items:start;
}
.early-intro-number{
  position:sticky;
  top:120px;
  padding:34px;
  border-radius:28px;
  background:var(--navy);
  color:#fff;
}
.early-intro-number strong{
  display:block;
  font-size:72px;
  line-height:.9;
  letter-spacing:-.06em;
}
.early-intro-number span{
  display:block;
  margin-top:13px;
  color:#bfeaff;
  font-size:16px;
  font-weight:800;
}
.early-intro-copy h2,
.early-section-heading h2,
.early-continuity h2{
  margin:0 0 18px;
  color:var(--navy);
  font-size:clamp(36px,4.4vw,58px);
  line-height:1.06;
  letter-spacing:-.04em;
}
.early-intro-copy p,
.early-section-heading p,
.early-continuity p{
  color:var(--muted);
  font-size:18px;
}
.early-feature-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:36px;
}
.early-feature-card{
  min-height:220px;
  padding:28px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:var(--shadow);
}
.early-feature-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin-bottom:22px;
  border-radius:15px;
  background:#eaf7fd;
  color:var(--blue);
  font-size:20px;
  font-weight:900;
}
.early-feature-card h3{
  margin:0 0 10px;
  color:var(--navy);
  font-size:23px;
}
.early-feature-card p{
  margin:0;
  color:var(--muted);
  font-size:16px;
}
.early-routine-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:34px;
}
.early-routine-card{
  padding:30px;
  border-radius:24px;
  background:#fff;
  border:1px solid var(--line);
}
.early-routine-card span{
  display:inline-block;
  margin-bottom:14px;
  color:var(--red);
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
}
.early-routine-card h3{
  margin:0 0 11px;
  color:var(--navy);
  font-size:25px;
}
.early-routine-card p{
  margin:0;
  color:var(--muted);
}
.early-highlight{
  padding:38px;
  border-radius:30px;
  background:linear-gradient(135deg,#e9f7fd,#f7fbfe);
  border:1px solid #d9edf7;
}
.early-highlight h2{
  margin:0 0 14px;
  color:var(--navy);
  font-size:clamp(32px,4vw,50px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.early-highlight p{
  margin:0;
  max-width:900px;
  color:var(--muted);
  font-size:18px;
}
.early-continuity{
  display:grid;
  grid-template-columns:1fr auto;
  gap:42px;
  align-items:center;
  padding:42px;
  border-radius:30px;
  background:var(--navy);
}
.early-continuity h2{
  color:#fff;
}
.early-continuity p{
  color:#cbd9e7;
  margin-bottom:0;
}
.early-continuity .btn{
  white-space:nowrap;
}
.course-final-cta{
  padding-top:40px;
}
.course-final-box{
  display:grid;
  grid-template-columns:1fr auto;
  gap:42px;
  align-items:center;
  padding:46px;
  border-radius:30px;
  background:#f1f9fd;
  border:1px solid #d9eef8;
}
.course-final-box h2{
  margin:0 0 12px;
  color:var(--navy);
  font-size:clamp(34px,4vw,52px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.course-final-box p{
  max-width:720px;
  margin:0;
  color:var(--muted);
  font-size:17px;
}
.course-final-note{
  display:block;
  margin-top:12px;
  color:var(--muted);
  font-size:13px;
}
@media(max-width:950px){
  .course-detail-hero-grid,
  .early-intro-grid,
  .early-continuity,
  .course-final-box{
    grid-template-columns:1fr;
  }
  .course-detail-media{
    max-width:680px;
  }
  .early-intro-number{
    position:static;
  }
  .early-feature-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .early-routine-grid{
    grid-template-columns:1fr;
  }
  .early-continuity .btn{
    justify-self:start;
  }
}
@media(max-width:620px){
  .course-detail-hero{
    padding:48px 0 55px;
  }
  .course-detail-hero-grid{
    gap:34px;
  }
  .course-detail-age{
    left:14px;
    bottom:14px;
    width:90px;
    height:90px;
    border-width:6px;
    font-size:25px;
  }
  .course-detail-nav{
    padding:13px 0;
  }
  .early-feature-grid{
    grid-template-columns:1fr;
  }
  .early-highlight,
  .early-continuity,
  .course-final-box{
    padding:28px;
  }
}


/* V18 — Stamford Young Learners */
.yl-intro-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:68px;
  align-items:start;
}
.yl-age-panel{
  position:sticky;
  top:120px;
  padding:36px;
  border-radius:30px;
  background:var(--navy);
  color:#fff;
}
.yl-age-panel strong{
  display:block;
  font-size:72px;
  line-height:.92;
  letter-spacing:-.06em;
}
.yl-age-panel span{
  display:block;
  margin-top:14px;
  color:#bfeaff;
  font-size:16px;
  line-height:1.45;
  font-weight:800;
}
.yl-intro-copy h2,
.yl-section-heading h2,
.yl-cambridge-heading h2{
  margin:0 0 18px;
  color:var(--navy);
  font-size:clamp(36px,4.4vw,58px);
  line-height:1.06;
  letter-spacing:-.04em;
}
.yl-intro-copy p,
.yl-section-heading p,
.yl-cambridge-heading p{
  color:var(--muted);
  font-size:18px;
}
.yl-feature-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:36px;
}
.yl-feature-card{
  min-height:220px;
  padding:28px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:var(--shadow);
}
.yl-feature-number{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin-bottom:22px;
  border-radius:15px;
  background:#eaf7fd;
  color:var(--blue);
  font-size:14px;
  font-weight:900;
}
.yl-feature-card h3{
  margin:0 0 10px;
  color:var(--navy);
  font-size:23px;
}
.yl-feature-card p{
  margin:0;
  color:var(--muted);
  font-size:16px;
}
.yl-cambridge-box{
  padding:42px;
  border-radius:32px;
  background:#f1f9fd;
  border:1px solid #d8edf7;
}
.yl-cambridge-top{
  display:grid;
  grid-template-columns:1fr auto;
  gap:30px;
  align-items:start;
}
.yl-centre-pill{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  min-width:210px;
  padding:20px 22px;
  border-radius:20px;
  background:var(--navy);
  color:#fff;
}
.yl-centre-pill strong{
  font-size:17px;
}
.yl-centre-pill span{
  color:#bfeaff;
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
}
.yl-level-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:30px;
}
.yl-level-card{
  display:flex;
  flex-direction:column;
  min-height:220px;
  padding:28px;
  border:1px solid #dbe8ef;
  border-radius:24px;
  background:#fff;
}
.yl-level-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-width:58px;
  height:36px;
  padding:0 12px;
  margin-bottom:20px;
  border-radius:999px;
  background:#eaf7fd;
  color:var(--blue);
  font-size:13px;
  font-weight:900;
}
.yl-level-card h3{
  margin:0 0 10px;
  color:var(--navy);
  font-size:24px;
}
.yl-level-card p{
  flex:1;
  margin:0 0 18px;
  color:var(--muted);
}
.yl-level-card a{
  color:var(--blue);
  font-weight:800;
}
.yl-benefit-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:34px;
}
.yl-benefit-card{
  padding:30px;
  border-radius:24px;
  border:1px solid var(--line);
  background:#fff;
}
.yl-benefit-card span{
  display:block;
  margin-bottom:12px;
  color:var(--red);
  font-size:12px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.yl-benefit-card h3{
  margin:0 0 10px;
  color:var(--navy);
  font-size:24px;
}
.yl-benefit-card p{
  margin:0;
  color:var(--muted);
}
.yl-continuity{
  display:grid;
  grid-template-columns:1fr auto;
  gap:40px;
  align-items:center;
  padding:42px;
  border-radius:30px;
  background:var(--navy);
}
.yl-continuity h2{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(34px,4vw,52px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.yl-continuity p{
  margin:0;
  color:#cbd9e7;
  font-size:17px;
}
.yl-continuity .btn{
  white-space:nowrap;
}
@media(max-width:950px){
  .yl-intro-grid,
  .yl-cambridge-top,
  .yl-continuity{
    grid-template-columns:1fr;
  }
  .yl-age-panel{
    position:static;
  }
  .yl-feature-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .yl-level-grid,
  .yl-benefit-grid{
    grid-template-columns:1fr;
  }
  .yl-centre-pill{
    width:max-content;
  }
  .yl-continuity .btn{
    justify-self:start;
  }
}
@media(max-width:620px){
  .yl-feature-grid{
    grid-template-columns:1fr;
  }
  .yl-cambridge-box,
  .yl-continuity{
    padding:28px;
  }
}


/* V19 — Stamford Academy 13+ */
.academy-intro-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:68px;
  align-items:start;
}
.academy-age-panel{
  position:sticky;
  top:120px;
  padding:36px;
  border-radius:30px;
  background:var(--navy);
  color:#fff;
}
.academy-age-panel strong{
  display:block;
  font-size:72px;
  line-height:.92;
  letter-spacing:-.06em;
}
.academy-age-panel span{
  display:block;
  margin-top:16px;
  color:#bfeaff;
  font-size:17px;
  line-height:1.45;
  font-weight:800;
}
.academy-intro-copy h2,
.academy-section-heading h2,
.academy-cambridge-heading h2{
  margin:0 0 18px;
  color:var(--navy);
  font-size:clamp(36px,4.4vw,58px);
  line-height:1.06;
  letter-spacing:-.04em;
}
.academy-intro-copy p,
.academy-section-heading p,
.academy-cambridge-heading p{
  color:var(--muted);
  font-size:18px;
}
.academy-feature-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:36px;
}
.academy-feature-card{
  min-height:225px;
  padding:28px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:var(--shadow);
}
.academy-feature-number{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin-bottom:22px;
  border-radius:15px;
  background:#eaf7fd;
  color:var(--blue);
  font-size:14px;
  font-weight:900;
}
.academy-feature-card h3{
  margin:0 0 10px;
  color:var(--navy);
  font-size:23px;
}
.academy-feature-card p{
  margin:0;
  color:var(--muted);
  font-size:16px;
}
.academy-cambridge-box{
  padding:42px;
  border-radius:32px;
  background:#f1f9fd;
  border:1px solid #d8edf7;
}
.academy-cambridge-top{
  display:grid;
  grid-template-columns:1fr auto;
  gap:30px;
  align-items:start;
}
.academy-centre-pill{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  min-width:220px;
  padding:20px 22px;
  border-radius:20px;
  background:var(--navy);
  color:#fff;
}
.academy-centre-pill strong{
  font-size:17px;
}
.academy-centre-pill span{
  color:#bfeaff;
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
}
.academy-level-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
  margin-top:30px;
}
.academy-level-card{
  display:flex;
  flex-direction:column;
  min-height:225px;
  padding:23px;
  border:1px solid #dbe8ef;
  border-radius:22px;
  background:#fff;
}
.academy-level-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-width:48px;
  height:34px;
  padding:0 11px;
  margin-bottom:18px;
  border-radius:999px;
  background:#eaf7fd;
  color:var(--blue);
  font-size:13px;
  font-weight:900;
}
.academy-level-card h3{
  margin:0 0 8px;
  color:var(--navy);
  font-size:21px;
  line-height:1.12;
}
.academy-level-card p{
  flex:1;
  margin:0 0 16px;
  color:var(--muted);
  font-size:14px;
}
.academy-level-card a{
  color:var(--blue);
  font-size:14px;
  font-weight:800;
}
.academy-goals{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:34px;
}
.academy-goal-card{
  padding:34px;
  border-radius:26px;
  border:1px solid var(--line);
  background:#fff;
}
.academy-goal-card span{
  display:block;
  margin-bottom:12px;
  color:var(--red);
  font-size:12px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.academy-goal-card h3{
  margin:0 0 12px;
  color:var(--navy);
  font-size:27px;
}
.academy-goal-card p{
  margin:0;
  color:var(--muted);
}
.academy-continuity{
  display:grid;
  grid-template-columns:1fr auto;
  gap:40px;
  align-items:center;
  padding:42px;
  border-radius:30px;
  background:var(--navy);
}
.academy-continuity h2{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(34px,4vw,52px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.academy-continuity p{
  margin:0;
  color:#cbd9e7;
  font-size:17px;
}
.academy-continuity .btn{
  white-space:nowrap;
}
@media(max-width:1100px){
  .academy-level-grid{
    grid-template-columns:repeat(3,1fr);
  }
}
@media(max-width:950px){
  .academy-intro-grid,
  .academy-cambridge-top,
  .academy-continuity{
    grid-template-columns:1fr;
  }
  .academy-age-panel{
    position:static;
  }
  .academy-feature-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .academy-level-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .academy-goals{
    grid-template-columns:1fr;
  }
  .academy-centre-pill{
    width:max-content;
  }
  .academy-continuity .btn{
    justify-self:start;
  }
}
@media(max-width:620px){
  .academy-feature-grid,
  .academy-level-grid{
    grid-template-columns:1fr;
  }
  .academy-cambridge-box,
  .academy-continuity{
    padding:28px;
  }
}


/* V20 — Stamford Adults */
.adults-intro-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:68px;
  align-items:start;
}
.adults-focus-panel{
  position:sticky;
  top:120px;
  padding:36px;
  border-radius:30px;
  background:var(--navy);
  color:#fff;
}
.adults-focus-panel strong{
  display:block;
  font-size:46px;
  line-height:1;
  letter-spacing:-.04em;
}
.adults-focus-panel span{
  display:block;
  margin-top:17px;
  color:#bfeaff;
  font-size:17px;
  line-height:1.5;
  font-weight:800;
}
.adults-intro-copy h2,
.adults-section-heading h2{
  margin:0 0 18px;
  color:var(--navy);
  font-size:clamp(36px,4.4vw,58px);
  line-height:1.06;
  letter-spacing:-.04em;
}
.adults-intro-copy p,
.adults-section-heading p{
  color:var(--muted);
  font-size:18px;
}
.adults-goal-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:36px;
}
.adults-goal-card{
  min-height:225px;
  padding:28px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:var(--shadow);
}
.adults-goal-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin-bottom:22px;
  border-radius:15px;
  background:#eaf7fd;
  color:var(--blue);
  font-size:15px;
  font-weight:900;
}
.adults-goal-card h3{
  margin:0 0 10px;
  color:var(--navy);
  font-size:23px;
}
.adults-goal-card p{
  margin:0;
  color:var(--muted);
  font-size:16px;
}
.adults-level-box{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:42px;
  align-items:center;
  padding:42px;
  border-radius:32px;
  background:#f1f9fd;
  border:1px solid #d8edf7;
}
.adults-level-copy h2{
  margin:0 0 14px;
  color:var(--navy);
  font-size:clamp(34px,4vw,52px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.adults-level-copy p{
  margin:0;
  color:var(--muted);
  font-size:18px;
}
.adults-level-scale{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:8px;
}
.adults-level-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:92px;
  padding:12px 8px;
  border-radius:18px;
  background:#fff;
  border:1px solid #dbe8ef;
  text-align:center;
}
.adults-level-item strong{
  color:var(--blue);
  font-size:21px;
}
.adults-level-item span{
  margin-top:4px;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
}
.adults-method-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:34px;
}
.adults-method-card{
  padding:32px;
  border-radius:25px;
  border:1px solid var(--line);
  background:#fff;
}
.adults-method-card span{
  display:block;
  margin-bottom:12px;
  color:var(--red);
  font-size:12px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.adults-method-card h3{
  margin:0 0 11px;
  color:var(--navy);
  font-size:25px;
}
.adults-method-card p{
  margin:0;
  color:var(--muted);
}
.adults-cambridge{
  display:grid;
  grid-template-columns:1fr auto;
  gap:36px;
  align-items:center;
  padding:42px;
  border-radius:30px;
  background:var(--navy);
}
.adults-cambridge h2{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(34px,4vw,52px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.adults-cambridge p{
  margin:0;
  max-width:800px;
  color:#cbd9e7;
  font-size:17px;
}
.adults-cambridge .btn{
  white-space:nowrap;
}
@media(max-width:950px){
  .adults-intro-grid,
  .adults-level-box,
  .adults-cambridge{
    grid-template-columns:1fr;
  }
  .adults-focus-panel{
    position:static;
  }
  .adults-goal-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .adults-method-grid{
    grid-template-columns:1fr;
  }
  .adults-cambridge .btn{
    justify-self:start;
  }
}
@media(max-width:700px){
  .adults-level-scale{
    grid-template-columns:repeat(3,1fr);
  }
}
@media(max-width:620px){
  .adults-goal-grid{
    grid-template-columns:1fr;
  }
  .adults-level-box,
  .adults-cambridge{
    padding:28px;
  }
}


/* V21 — Stamford Online English */
.online-hero-visual{
  position:relative;
  min-height:410px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.online-screen{
  width:100%;
  max-width:590px;
  overflow:hidden;
  border:1px solid #d8e4ec;
  border-radius:30px;
  background:#fff;
  box-shadow:0 26px 70px rgba(18,38,63,.16);
}
.online-screen-bar{
  display:flex;
  align-items:center;
  gap:8px;
  height:48px;
  padding:0 20px;
  border-bottom:1px solid #e6edf2;
  background:#f8fbfd;
}
.online-screen-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#d8e1e8;
}
.online-screen-body{
  min-height:330px;
  padding:42px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    radial-gradient(circle at 86% 18%,rgba(0,136,204,.12),transparent 30%),
    linear-gradient(145deg,#f7fbfe 0%,#fff 72%);
}
.online-live-pill{
  display:inline-flex;
  align-items:center;
  width:max-content;
  gap:8px;
  margin-bottom:24px;
  padding:8px 13px;
  border-radius:999px;
  background:#fff;
  border:1px solid #dce8ef;
  color:var(--red);
  font-size:12px;
  font-weight:900;
  letter-spacing:.1em;
}
.online-live-pill::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--red);
  box-shadow:0 0 0 5px rgba(230,36,48,.10);
}
.online-screen-body strong{
  max-width:520px;
  color:var(--navy);
  font-size:clamp(36px,4vw,54px);
  line-height:.98;
  letter-spacing:-.05em;
}
.online-screen-body > span:not(.online-live-pill){
  margin-top:16px;
  color:var(--muted);
  font-size:17px;
}
.online-screen-tags{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:26px;
}
.online-screen-tags span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:var(--navy);
  color:#fff;
  font-size:12px;
  font-weight:800;
}
.online-intro-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:68px;
  align-items:start;
}
.online-focus-panel{
  position:sticky;
  top:120px;
  padding:36px;
  border-radius:30px;
  background:var(--navy);
  color:#fff;
}
.online-focus-panel strong{
  display:block;
  font-size:48px;
  line-height:1;
  letter-spacing:-.045em;
}
.online-focus-panel span{
  display:block;
  margin-top:17px;
  color:#bfeaff;
  font-size:17px;
  line-height:1.5;
  font-weight:800;
}
.online-intro-copy h2,
.online-section-heading h2{
  margin:0 0 18px;
  color:var(--navy);
  font-size:clamp(36px,4.4vw,58px);
  line-height:1.06;
  letter-spacing:-.04em;
}
.online-intro-copy p,
.online-section-heading p{
  color:var(--muted);
  font-size:18px;
}
.online-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:36px;
}
.online-feature-card{
  min-height:230px;
  padding:30px;
  border:1px solid var(--line);
  border-radius:25px;
  background:#fff;
  box-shadow:var(--shadow);
}
.online-feature-number{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin-bottom:22px;
  border-radius:15px;
  background:#eaf7fd;
  color:var(--blue);
  font-size:14px;
  font-weight:900;
}
.online-feature-card h3{
  margin:0 0 11px;
  color:var(--navy);
  font-size:25px;
}
.online-feature-card p{
  margin:0;
  color:var(--muted);
}
.online-audience{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:34px;
}
.online-audience-card{
  padding:36px;
  border-radius:27px;
  border:1px solid var(--line);
  background:#fff;
}
.online-audience-card span{
  display:block;
  margin-bottom:12px;
  color:var(--red);
  font-size:12px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.online-audience-card h3{
  margin:0 0 12px;
  color:var(--navy);
  font-size:28px;
}
.online-audience-card p{
  margin:0;
  color:var(--muted);
}
.online-level-box{
  display:grid;
  grid-template-columns:1fr auto;
  gap:38px;
  align-items:center;
  padding:42px;
  border-radius:30px;
  background:#f1f9fd;
  border:1px solid #d8edf7;
}
.online-level-box h2{
  margin:0 0 12px;
  color:var(--navy);
  font-size:clamp(34px,4vw,52px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.online-level-box p{
  margin:0;
  max-width:780px;
  color:var(--muted);
  font-size:17px;
}
.online-level-badge{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:180px;
  min-height:110px;
  padding:20px;
  border-radius:24px;
  background:var(--navy);
  color:#fff;
  text-align:center;
  font-size:20px;
  line-height:1.25;
  font-weight:900;
}
.online-final{
  display:grid;
  grid-template-columns:1fr auto;
  gap:40px;
  align-items:center;
  padding:42px;
  border-radius:30px;
  background:var(--navy);
}
.online-final h2{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(34px,4vw,52px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.online-final p{
  margin:0;
  max-width:800px;
  color:#cbd9e7;
  font-size:17px;
}
.online-final .btn{
  white-space:nowrap;
}
@media(max-width:950px){
  .online-intro-grid,
  .online-level-box,
  .online-final{
    grid-template-columns:1fr;
  }
  .online-focus-panel{
    position:static;
  }
  .online-feature-grid{
    grid-template-columns:1fr;
  }
  .online-audience{
    grid-template-columns:1fr;
  }
  .online-level-badge{
    width:max-content;
  }
  .online-final .btn{
    justify-self:start;
  }
}
@media(max-width:620px){
  .online-screen-body{
    min-height:290px;
    padding:28px;
  }
  .online-level-box,
  .online-final{
    padding:28px;
  }
}


/* V22 — menu a tendina Corsi */
.nav-courses-dropdown{
  position:relative;
}
.nav-courses-summary{
  display:flex;
  align-items:center;
  gap:5px;
  color:var(--text);
  font:inherit;
  font-weight:600;
  line-height:1.3;
  cursor:pointer;
  list-style:none;
  white-space:nowrap;
}
.nav-courses-summary::-webkit-details-marker{display:none;}
.nav-courses-summary::marker{display:none;content:"";}
.nav-courses-summary:hover,
.nav-courses-summary.nav-current{
  color:var(--blue);
}
.nav-courses-chevron{
  display:inline-block;
  font-size:17px;
  line-height:1;
  margin-top:-2px;
  transition:transform .18s ease;
}
.nav-courses-dropdown[open] .nav-courses-chevron{
  transform:rotate(180deg);
}
.nav-courses-menu{
  position:absolute;
  z-index:125;
  top:calc(100% + 14px);
  left:50%;
  transform:translateX(-50%);
  width:min(610px,calc(100vw - 36px));
  padding:22px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 22px 60px rgba(18,38,63,.16);
  display:none;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.nav-courses-menu::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-16px;
  height:16px;
}
.nav-courses-dropdown[open] .nav-courses-menu,
.nav-courses-dropdown:hover .nav-courses-menu,
.nav-courses-dropdown:focus-within .nav-courses-menu{
  display:grid;
}
.nav-courses-group{
  min-width:0;
}
.nav-courses-label{
  display:block;
  margin:0 8px 8px;
  color:var(--blue);
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:11px;
  font-weight:800;
}
.main-nav .nav-courses-group a{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  padding:10px 9px;
  border-radius:11px;
  color:var(--navy);
  line-height:1.25;
}
.main-nav .nav-courses-group a strong{
  font-size:14px;
  font-weight:800;
}
.main-nav .nav-courses-group a span{
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.main-nav .nav-courses-group a:hover{
  background:#f3f8fb;
  color:var(--navy);
}
.nav-courses-footer{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-top:16px;
  border-top:1px solid var(--line);
}
.main-nav .nav-courses-footer a{
  font-size:13px;
  font-weight:800;
}
.main-nav .nav-courses-all{
  color:var(--navy);
}
.main-nav .nav-courses-pre{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 15px;
  border-radius:999px;
  background:var(--blue);
  color:#fff !important;
}
.main-nav .nav-courses-pre:hover{
  color:#fff !important;
}
@media(max-width:950px){
  .nav-courses-dropdown{
    width:100%;
  }
  .nav-courses-summary{
    width:100%;
    justify-content:space-between;
    padding:0;
  }
  .nav-courses-menu{
    position:static;
    transform:none;
    width:100%;
    max-height:62vh;
    overflow-y:auto;
    margin-top:12px;
    padding:16px;
    border-radius:16px;
    box-shadow:none;
    grid-template-columns:1fr;
    gap:14px;
  }
  .nav-courses-dropdown:hover:not([open]) .nav-courses-menu,
  .nav-courses-dropdown:focus-within:not([open]) .nav-courses-menu{
    display:none;
  }
  .nav-courses-dropdown[open] .nav-courses-menu{
    display:grid;
  }
  .nav-courses-footer{
    flex-direction:column;
    align-items:stretch;
  }
  .main-nav .nav-courses-pre{
    justify-content:center;
  }
}


/* V23 — News */
.news-home-section{background:#fff;}
.news-home-heading{
  display:grid;
  grid-template-columns:1fr minmax(280px,470px);
  gap:40px;
  align-items:end;
  margin-bottom:34px;
}
.news-home-heading h2,
.news-index-hero h1,
.news-article-hero h1{
  margin:0;
  color:var(--navy);
  font-size:clamp(40px,4.8vw,64px);
  line-height:1.04;
  letter-spacing:-.045em;
}
.news-home-heading p{
  margin:0;
  color:var(--muted);
  font-size:17px;
}
.news-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.news-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:26px;
  background:#fff;
  box-shadow:var(--shadow);
}
.news-card-visual{
  min-height:185px;
  display:flex;
  align-items:flex-end;
  padding:24px;
  text-decoration:none;
}
.news-card-visual span{
  color:#fff;
  font-size:44px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.05em;
}
.news-visual-enrol{
  background:
    radial-gradient(circle at 82% 20%,rgba(255,255,255,.20),transparent 26%),
    linear-gradient(135deg,#0088cc,#16446f);
}
.news-visual-early{
  background:
    radial-gradient(circle at 82% 20%,rgba(255,255,255,.20),transparent 26%),
    linear-gradient(135deg,#e52631,#ff7d77);
}
.news-visual-cambridge{
  background:
    radial-gradient(circle at 82% 20%,rgba(255,255,255,.15),transparent 26%),
    linear-gradient(135deg,#173f69,#0a8ecf);
}
.news-card-body{padding:26px;}
.news-card-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
.news-card-meta span{
  color:var(--blue);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
}
.news-card h3{
  margin:0 0 12px;
  color:var(--navy);
  font-size:23px;
  line-height:1.2;
}
.news-card h3 a{color:inherit;text-decoration:none;}
.news-card p{
  margin:0 0 18px;
  color:var(--muted);
  font-size:15px;
}
.news-card-link{
  color:var(--blue);
  font-size:14px;
  font-weight:900;
}
.news-home-footer{
  display:flex;
  justify-content:flex-end;
  margin-top:28px;
}

/* Pagina indice News */
.news-index-hero{
  padding:72px 0 54px;
  background:linear-gradient(180deg,#f7fbfe 0%,#fff 100%);
}
.news-index-hero p{
  max-width:760px;
  margin:18px 0 0;
  color:var(--muted);
  font-size:19px;
}
.news-index-section{padding-top:30px;}

/* Singola news */
.news-article-hero{
  padding:70px 0 52px;
  background:linear-gradient(180deg,#f7fbfe 0%,#fff 100%);
}
.news-article-wrap{max-width:900px;}
.news-article-back{
  display:inline-block;
  margin-bottom:20px;
  color:var(--blue);
  font-size:14px;
  font-weight:900;
}
.news-article-meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  margin-bottom:18px;
  color:var(--muted);
  font-size:13px;
  font-weight:700;
}
.news-article-meta span{
  color:var(--blue);
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:900;
}
.news-article-lead{
  max-width:820px;
  margin:22px 0 0;
  color:var(--navy);
  font-size:21px;
  line-height:1.55;
}
.news-article-body{padding:52px 0 82px;}
.news-article-content{max-width:820px;}
.news-article-content h2{
  margin:38px 0 14px;
  color:var(--navy);
  font-size:32px;
  line-height:1.15;
  letter-spacing:-.025em;
}
.news-article-content h2:first-child{margin-top:0;}
.news-article-content p{
  margin:0 0 18px;
  color:var(--muted);
  font-size:18px;
  line-height:1.7;
}
.news-article-cta{
  margin-top:36px;
  padding:30px;
  border-radius:24px;
  background:#f1f9fd;
  border:1px solid #d9eef8;
}
.news-article-cta h3{
  margin:0 0 10px;
  color:var(--navy);
  font-size:25px;
}
.news-article-cta p{
  margin-bottom:20px;
  font-size:16px;
}
.news-article-cta .btn + .btn{margin-left:8px;}

@media(max-width:950px){
  .news-home-heading{
    grid-template-columns:1fr;
    align-items:start;
  }
  .news-grid{grid-template-columns:1fr;}
  .news-card{
    display:grid;
    grid-template-columns:minmax(180px,.55fr) 1fr;
  }
  .news-card-visual{min-height:100%;}
}
@media(max-width:620px){
  .news-card{display:block;}
  .news-card-visual{min-height:160px;}
  .news-home-footer{justify-content:flex-start;}
  .news-article-cta .btn + .btn{
    margin-left:0;
    margin-top:10px;
  }
}


/* V23B — visual editoriali News */
.news-card-visual{
  position:relative;
  overflow:hidden;
}
.news-visual-copy{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:7px;
}
.news-visual-copy small{
  color:rgba(255,255,255,.94);
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
}
.news-visual-copy span{
  color:#fff;
}
.news-visual-early{
  align-items:flex-end;
  background:
    linear-gradient(180deg,rgba(8,25,45,.02) 22%,rgba(8,25,45,.62) 100%),
    url('/newsite/images/course-early-years.jpg') center 43%/cover no-repeat;
}
.news-age-badge{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  width:78px;
  height:78px;
  border-radius:50%;
  border:6px solid rgba(255,255,255,.96);
  background:var(--red);
  color:#fff;
  font-size:27px !important;
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em !important;
  box-shadow:0 10px 26px rgba(18,38,63,.18);
}
.news-visual-cambridge{
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 85% 16%,rgba(255,255,255,.12),transparent 27%),
    linear-gradient(135deg,#173f69,#0b86bd);
}
.news-cambridge-visual{
  position:relative;
  z-index:2;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}
.news-cambridge-logo-box{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  max-width:330px;
  padding:13px 16px;
  border-radius:13px;
  background:#fff;
  box-shadow:0 8px 22px rgba(7,31,56,.14);
}
.news-cambridge-logo-box img{
  display:block;
  width:min(285px,100%);
  max-height:68px;
  object-fit:contain;
  object-position:left center;
}
.news-cambridge-visual > span{
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#fff;
  font-size:11px !important;
  line-height:1.1;
  font-weight:900;
  letter-spacing:.04em !important;
}
@media(max-width:950px){
  .news-cambridge-logo-box{max-width:285px;}
}


/* V24 — pagine Sedi */
.location-detail-page{overflow:hidden;}
.location-detail-hero{
  padding:72px 0 76px;
  background:linear-gradient(180deg,#f7fbfe 0%,#fff 100%);
}
.location-detail-hero-grid{
  display:grid;
  grid-template-columns:1fr .72fr;
  gap:64px;
  align-items:center;
}
.location-detail-copy h1{
  margin:0 0 18px;
  color:var(--navy);
  font-size:clamp(58px,7vw,92px);
  line-height:.96;
  letter-spacing:-.06em;
}
.location-detail-lead{
  max-width:720px;
  margin:0;
  color:var(--navy);
  font-size:21px;
  line-height:1.55;
}
.location-detail-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:30px;
}
.location-identity-card{
  min-height:310px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:38px;
  border-radius:34px;
  background:
    radial-gradient(circle at 82% 18%,rgba(255,255,255,.16),transparent 28%),
    linear-gradient(135deg,#0a8dcc,#173f69);
  color:#fff;
  box-shadow:0 24px 60px rgba(18,38,63,.16);
}
.location-identity-small{
  margin-bottom:auto;
  font-size:12px;
  font-weight:900;
  letter-spacing:.13em;
}
.location-identity-card strong{
  font-size:clamp(45px,5vw,68px);
  line-height:.95;
  letter-spacing:-.055em;
}
.location-identity-card > span:last-child{
  margin-top:12px;
  color:#c9edff;
  font-size:17px;
  font-weight:800;
}
.location-detail-info-section{
  padding:24px 0 70px;
}
.location-detail-info-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.location-contact-card{
  padding:30px;
  border:1px solid var(--line);
  border-radius:25px;
  background:#fff;
  box-shadow:var(--shadow);
}
.location-contact-card h2{
  margin:8px 0 8px;
  color:var(--navy);
  font-size:25px;
  line-height:1.15;
  overflow-wrap:anywhere;
}
.location-contact-card p{
  min-height:48px;
  margin:0 0 16px;
  color:var(--muted);
}
.location-contact-link{
  color:var(--blue);
  font-size:14px;
  font-weight:900;
}
.location-detail-section-heading{
  max-width:850px;
}
.location-detail-section-heading h2{
  margin:0 0 16px;
  color:var(--navy);
  font-size:clamp(38px,4.5vw,58px);
  line-height:1.06;
  letter-spacing:-.04em;
}
.location-detail-section-heading p{
  color:var(--muted);
  font-size:18px;
}
.location-course-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:32px;
}
.location-course-grid a{
  min-height:150px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:25px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  color:var(--navy);
  box-shadow:var(--shadow);
}
.location-course-grid a:hover{
  border-color:#b9ddeb;
  transform:translateY(-2px);
}
.location-course-grid strong{
  font-size:21px;
}
.location-course-grid span{
  margin-top:5px;
  color:var(--blue);
  font-size:13px;
  font-weight:800;
}
.location-detail-highlight{
  padding:42px;
  border-radius:30px;
  background:var(--navy);
}
.location-detail-highlight h2{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(34px,4vw,52px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.location-detail-highlight p{
  max-width:820px;
  margin:0 0 24px;
  color:#cbd9e7;
  font-size:17px;
}
@media(max-width:950px){
  .location-detail-hero-grid{
    grid-template-columns:1fr;
  }
  .location-identity-card{
    max-width:680px;
  }
  .location-detail-info-grid{
    grid-template-columns:1fr;
  }
  .location-contact-card p{
    min-height:0;
  }
  .location-course-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:620px){
  .location-detail-hero{
    padding:48px 0 54px;
  }
  .location-identity-card{
    min-height:240px;
    padding:28px;
  }
  .location-course-grid{
    grid-template-columns:1fr;
  }
  .location-detail-highlight{
    padding:28px;
  }
}


/* V24B — email sede + recensioni Google */
.location-contact-card .location-email{
  font-size:22px;
  line-height:1.18;
  letter-spacing:-.02em;
  white-space:nowrap;
}
.location-review-wrap{
  margin-top:24px;
}
.location-review-box{
  display:grid;
  grid-template-columns:1fr auto;
  gap:36px;
  align-items:center;
  padding:32px 36px;
  border:1px solid #d9eef8;
  border-radius:26px;
  background:#f1f9fd;
}
.location-review-box h2{
  margin:2px 0 8px;
  color:var(--navy);
  font-size:clamp(28px,3vw,40px);
  line-height:1.1;
  letter-spacing:-.03em;
}
.location-review-box p{
  margin:0;
  color:var(--muted);
  font-size:16px;
}
.location-review-box .btn{
  white-space:nowrap;
}
@media(max-width:950px){
  .location-review-box{
    grid-template-columns:1fr;
  }
  .location-review-box .btn{
    justify-self:start;
  }
}
@media(max-width:620px){
  .location-contact-card .location-email{
    font-size:19px;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .location-review-box{
    padding:26px;
  }
}


/* V25 — Privacy & Cookie Policy */
.legal-page{
  background:#fff;
}
.legal-wrap{
  max-width:980px;
}
.legal-hero{
  padding:72px 0 52px;
  background:linear-gradient(180deg,#f7fbfe 0%,#fff 100%);
}
.legal-hero h1{
  margin:0;
  color:var(--navy);
  font-size:clamp(48px,5.5vw,72px);
  line-height:1;
  letter-spacing:-.05em;
}
.legal-hero p{
  max-width:760px;
  margin:18px 0 0;
  color:var(--muted);
  font-size:19px;
  line-height:1.6;
}
.legal-nav-section{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
}
.legal-nav{
  min-height:74px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.legal-nav a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 15px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--navy);
  font-size:13px;
  font-weight:800;
}
.legal-nav a:hover{
  color:var(--blue);
  border-color:#bddbea;
}
.legal-content-section{
  padding:60px 0 90px;
}
.legal-content{
  max-width:860px;
}
.legal-content h2{
  margin:40px 0 14px;
  color:var(--navy);
  font-size:30px;
  line-height:1.15;
  letter-spacing:-.025em;
}
.legal-content p{
  margin:0 0 18px;
  color:var(--muted);
  font-size:17px;
  line-height:1.75;
}
.legal-content a:not(.btn){
  color:var(--blue);
  font-weight:800;
}
.legal-anchor{
  scroll-margin-top:110px;
  padding-top:18px;
}
.legal-anchor + .legal-anchor{
  margin-top:34px;
  padding-top:52px;
  border-top:1px solid var(--line);
}
.legal-notice,
.legal-warning{
  padding:24px 26px;
  border-radius:20px;
  background:#f1f9fd;
  border:1px solid #d9eef8;
}
.legal-notice{
  margin-bottom:30px;
}
.legal-notice strong,
.legal-warning strong{
  display:block;
  margin-bottom:6px;
  color:var(--navy);
  font-size:16px;
}
.legal-notice p,
.legal-warning p{
  margin:0;
  font-size:15px;
}
.legal-warning{
  margin:28px 0 6px;
  background:#fff8e9;
  border-color:#f0dfba;
}
.legal-data-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin:24px 0 10px;
}
.legal-data-grid div{
  padding:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.legal-data-grid span{
  display:block;
  margin-bottom:6px;
  color:var(--blue);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:11px;
  font-weight:900;
}
.legal-data-grid strong{
  color:var(--navy);
  font-size:15px;
  line-height:1.35;
}
@media(max-width:620px){
  .legal-hero{
    padding:48px 0 42px;
  }
  .legal-nav{
    padding:13px 0;
  }
  .legal-data-grid{
    grid-template-columns:1fr;
  }
  .legal-content-section{
    padding-top:42px;
  }
}


/* V26 — pagina Contatti */
.contact-page{background:#fff;}
.contact-hero{
  padding:70px 0 58px;
  background:linear-gradient(180deg,#f7fbfe 0%,#fff 100%);
}
.contact-hero-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:70px;
  align-items:end;
}
.contact-hero h1{
  margin:0;
  color:var(--navy);
  font-size:clamp(58px,7vw,92px);
  line-height:.96;
  letter-spacing:-.06em;
}
.contact-hero > .wrap > div:first-child > p{
  max-width:720px;
  margin:20px 0 0;
  color:var(--muted);
  font-size:20px;
  line-height:1.6;
}
.contact-hero-note{
  padding:26px 28px;
  border:1px solid #d9eef8;
  border-radius:22px;
  background:#f1f9fd;
}
.contact-hero-note strong{
  display:block;
  color:var(--navy);
  font-size:20px;
}
.contact-hero-note p{
  margin:7px 0 13px;
  color:var(--muted);
  line-height:1.5;
}
.contact-hero-note a{
  color:var(--blue);
  font-weight:900;
}
.contact-main-section{
  padding:34px 0 90px;
}
.contact-layout{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);
  gap:24px;
  align-items:start;
}
.contact-form-card{
  padding:38px;
  border:1px solid var(--line);
  border-radius:30px;
  background:#fff;
  box-shadow:var(--shadow);
}
.contact-form-heading h2{
  margin:0 0 10px;
  color:var(--navy);
  font-size:clamp(34px,4vw,52px);
  line-height:1.06;
  letter-spacing:-.04em;
}
.contact-form-heading p{
  margin:0 0 30px;
  color:var(--muted);
  font-size:17px;
}
.contact-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.contact-field{
  min-width:0;
}
.contact-field-full{
  grid-column:1/-1;
}
.contact-field label{
  display:block;
  margin:0 0 8px;
  color:var(--navy);
  font-size:13px;
  font-weight:900;
}
.contact-field label span{
  color:var(--red);
}
.contact-field input,
.contact-field select,
.contact-field textarea{
  width:100%;
  min-height:54px;
  padding:13px 15px;
  border:1px solid #cfdde7;
  border-radius:14px;
  background:#fff;
  color:var(--navy);
  font:inherit;
  font-size:16px;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.contact-field textarea{
  min-height:160px;
  resize:vertical;
  line-height:1.5;
}
.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 4px rgba(0,136,204,.10);
}
.contact-field input::placeholder,
.contact-field textarea::placeholder{
  color:#91a0ad;
}
.contact-privacy{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin-top:22px;
  padding:17px 18px;
  border-radius:15px;
  background:#f7fafc;
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
}
.contact-privacy input{
  width:18px;
  height:18px;
  margin-top:2px;
  flex:0 0 auto;
  accent-color:var(--blue);
}
.contact-privacy a{
  color:var(--blue);
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:2px;
}
.contact-submit-row{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  margin-top:24px;
}
.contact-submit-row > span{
  color:var(--muted);
  font-size:13px;
}
.contact-errors,
.contact-success{
  margin:0 0 24px;
  padding:19px 21px;
  border-radius:16px;
}
.contact-errors{
  background:#fff1f2;
  border:1px solid #f5c8cd;
  color:#8e2430;
}
.contact-success{
  background:#eefaf4;
  border:1px solid #c6ead6;
  color:#216a44;
}
.contact-errors strong,
.contact-success strong{
  display:block;
  margin-bottom:5px;
}
.contact-errors ul{
  margin:7px 0 0;
  padding-left:20px;
}
.contact-success p{
  margin:0;
}
.contact-sidebar{
  display:grid;
  gap:16px;
}
.contact-side-card{
  padding:27px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:var(--shadow);
}
.contact-side-card h3{
  margin:6px 0 5px;
  color:var(--navy);
  font-size:23px;
  line-height:1.18;
  overflow-wrap:anywhere;
}
.contact-side-card p{
  margin:0 0 15px;
  color:var(--muted);
}
.contact-side-card > a{
  display:block;
  margin-top:8px;
  color:var(--navy);
  font-size:14px;
  font-weight:800;
  overflow-wrap:anywhere;
}
.contact-side-card .contact-side-more{
  margin-top:18px;
  color:var(--blue);
}
.contact-side-dark{
  background:var(--navy);
  border-color:var(--navy);
}
.contact-side-dark h3,
.contact-side-dark > a{
  color:#fff;
}
.contact-side-dark p{
  color:#cbd9e7;
}
.contact-side-dark > a:last-child{
  color:#bfeaff;
}
.contact-hp{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(1px,1px,1px,1px) !important;
  white-space:nowrap !important;
}
@media(max-width:950px){
  .contact-hero-grid,
  .contact-layout{
    grid-template-columns:1fr;
  }
  .contact-sidebar{
    grid-template-columns:repeat(2,1fr);
  }
  .contact-side-dark{
    grid-column:1/-1;
  }
}
@media(max-width:620px){
  .contact-hero{
    padding:48px 0 42px;
  }
  .contact-form-card{
    padding:25px;
  }
  .contact-form-grid{
    grid-template-columns:1fr;
  }
  .contact-field-full{
    grid-column:auto;
  }
  .contact-sidebar{
    grid-template-columns:1fr;
  }
  .contact-side-dark{
    grid-column:auto;
  }
}


/* V26E — Chi siamo */
.about-page{overflow:hidden;}
.about-hero{
  padding:72px 0 78px;
  background:linear-gradient(180deg,#f7fbfe 0%,#fff 100%);
}
.about-hero-grid{
  display:grid;
  grid-template-columns:1.05fr .75fr;
  gap:68px;
  align-items:center;
}
.about-hero-copy h1{
  margin:0 0 10px;
  color:var(--navy);
  font-size:clamp(58px,7vw,92px);
  line-height:.96;
  letter-spacing:-.06em;
}
.about-hero-tagline{
  margin:0 0 22px;
  color:var(--red);
  font-size:clamp(24px,3vw,36px);
  line-height:1.15;
  font-weight:900;
}
.about-hero-lead{
  max-width:720px;
  margin:0 0 12px;
  color:var(--navy);
  font-size:21px;
  line-height:1.6;
}
.about-hero-copy > p:not(.about-hero-tagline):not(.about-hero-lead){
  max-width:720px;
  color:var(--muted);
  font-size:17px;
}
.about-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.about-hero-card{
  min-height:330px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:40px;
  border-radius:34px;
  background:
    radial-gradient(circle at 82% 18%,rgba(255,255,255,.16),transparent 28%),
    linear-gradient(135deg,#0a8dcc,#173f69);
  color:#fff;
  box-shadow:0 24px 60px rgba(18,38,63,.16);
}
.about-hero-card-small{
  margin-bottom:auto;
  font-size:12px;
  font-weight:900;
  letter-spacing:.13em;
}
.about-hero-card strong{
  font-size:clamp(70px,8vw,110px);
  line-height:.88;
  letter-spacing:-.07em;
}
.about-hero-card > span:last-child{
  margin-top:18px;
  color:#c9edff;
  font-size:18px;
  font-weight:800;
}
.about-jump-section{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
}
.about-jump{
  min-height:76px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.about-jump a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 15px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--navy);
  font-size:13px;
  font-weight:800;
}
.about-jump a:hover{
  color:var(--blue);
  border-color:#bddbea;
}
.about-story-grid{
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:70px;
  align-items:start;
}
.about-story-number{
  position:sticky;
  top:120px;
  padding:36px;
  border-radius:30px;
  background:var(--navy);
  color:#fff;
}
.about-story-number strong{
  display:block;
  font-size:82px;
  line-height:.9;
  letter-spacing:-.07em;
}
.about-story-number span{
  display:block;
  margin-top:14px;
  color:#bfeaff;
  font-size:16px;
  font-weight:800;
}
.about-story-copy h2,
.about-section-heading h2,
.about-quality-copy h2{
  margin:0 0 18px;
  color:var(--navy);
  font-size:clamp(38px,4.6vw,60px);
  line-height:1.06;
  letter-spacing:-.045em;
}
.about-story-copy p,
.about-quality-copy p{
  color:var(--muted);
  font-size:18px;
}
.about-timeline-section{
  border-top:1px solid #edf2f5;
}
.about-section-heading{
  max-width:850px;
  margin-bottom:34px;
}
.about-timeline{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.about-timeline-card{
  min-height:270px;
  padding:30px;
  border:1px solid var(--line);
  border-radius:26px;
  background:#fff;
  box-shadow:var(--shadow);
}
.about-timeline-highlight{
  background:linear-gradient(145deg,#eaf7fd,#fff);
  border-color:#cfe8f4;
}
.about-timeline-year{
  display:inline-block;
  margin-bottom:42px;
  color:var(--blue);
  font-size:14px;
  font-weight:900;
  letter-spacing:.08em;
}
.about-timeline-card h3{
  margin:0 0 12px;
  color:var(--navy);
  font-size:25px;
  line-height:1.15;
}
.about-timeline-card p{
  margin:0;
  color:var(--muted);
  font-size:16px;
}
.about-cambridge-box{
  display:grid;
  grid-template-columns:1fr auto;
  gap:48px;
  align-items:center;
  padding:44px;
  border-radius:32px;
  background:var(--navy);
}
.about-cambridge-box h2{
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(36px,4.5vw,58px);
  line-height:1.06;
  letter-spacing:-.04em;
}
.about-cambridge-box p{
  max-width:820px;
  margin:0 0 13px;
  color:#cbd9e7;
  font-size:17px;
}
.about-cambridge-actions{
  min-width:220px;
  display:flex;
  flex-direction:column;
  gap:15px;
  align-items:flex-start;
}
.about-dark-link{
  color:#bfeaff;
  font-size:14px;
  font-weight:900;
}
.about-quality-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
}
.about-quality-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.about-quality-cards article{
  min-height:240px;
  padding:28px;
  border:1px solid var(--line);
  border-radius:25px;
  background:#fff;
  box-shadow:var(--shadow);
}
.about-quality-cards strong{
  display:block;
  color:var(--navy);
  font-size:39px;
  line-height:1;
  letter-spacing:-.045em;
}
.about-quality-cards span{
  display:block;
  margin:8px 0 22px;
  color:var(--blue);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.about-quality-cards p{
  margin:0;
  color:var(--muted);
}
.about-section-heading-row{
  max-width:none;
  display:grid;
  grid-template-columns:1fr minmax(300px,480px);
  gap:50px;
  align-items:end;
}
.about-section-heading-row > p{
  margin:0;
  color:var(--muted);
  font-size:17px;
}
.about-location-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.about-location-card{
  min-height:300px;
  display:flex;
  flex-direction:column;
  padding:34px;
  border:1px solid var(--line);
  border-radius:28px;
  background:#fff;
  color:var(--navy);
  box-shadow:var(--shadow);
}
.about-location-card > span{
  color:var(--blue);
  font-size:13px;
  font-weight:900;
  letter-spacing:.1em;
}
.about-location-card strong{
  display:block;
  margin:46px 0 12px;
  font-size:42px;
  line-height:1;
  letter-spacing:-.045em;
}
.about-location-card p{
  max-width:520px;
  margin:0;
  color:var(--muted);
  font-size:17px;
}
.about-location-card b{
  margin-top:auto;
  padding-top:28px;
  color:var(--blue);
  font-size:15px;
}
.about-final-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}
@media(max-width:950px){
  .about-hero-grid,
  .about-story-grid,
  .about-cambridge-box,
  .about-quality-grid,
  .about-section-heading-row{
    grid-template-columns:1fr;
  }
  .about-story-number{
    position:static;
  }
  .about-timeline{
    grid-template-columns:1fr;
  }
  .about-cambridge-actions{
    min-width:0;
  }
  .about-quality-cards{
    max-width:700px;
  }
  .about-final-actions{
    justify-content:flex-start;
  }
}
@media(max-width:620px){
  .about-hero{
    padding:48px 0 54px;
  }
  .about-hero-card{
    min-height:260px;
    padding:28px;
  }
  .about-jump{
    padding:13px 0;
  }
  .about-quality-cards,
  .about-location-grid{
    grid-template-columns:1fr;
  }
  .about-cambridge-box{
    padding:28px;
  }
}


/* V26F — Chi siamo: loghi Cambridge + AISLi */
.about-cambridge-brand{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:18px;
}
.about-cambridge-brand img{
  display:block;
  width:190px;
  max-width:38vw;
  height:auto;
  padding:10px 12px;
  border-radius:13px;
  background:#fff;
}
.about-cambridge-brand .eyebrow{
  margin:0;
}
.about-quality-card-aisli{
  display:flex;
  flex-direction:column;
}
.about-aisli-logo{
  min-height:110px;
  display:flex;
  align-items:center;
  margin-bottom:12px;
}
.about-aisli-logo img{
  display:block;
  width:178px;
  max-width:100%;
  height:auto;
  object-fit:contain;
}
.about-quality-card-aisli span{
  margin-top:0;
}
@media(max-width:620px){
  .about-cambridge-brand{
    align-items:flex-start;
    flex-direction:column;
  }
  .about-cambridge-brand img{
    width:178px;
    max-width:100%;
  }
}


/* V26G — logo Cambridge nella card IT691 */
.about-quality-card-cambridge{
  display:flex;
  flex-direction:column;
}
.about-cambridge-card-logo{
  min-height:110px;
  display:flex;
  align-items:center;
  margin-bottom:10px;
}
.about-cambridge-card-logo img{
  display:block;
  width:170px;
  max-width:100%;
  height:auto;
  padding:8px 10px;
  border-radius:10px;
  background:#fff;
  object-fit:contain;
}
.about-quality-card-cambridge strong{
  margin-top:0;
}


/* V26H — riequilibrio loghi AISLi / Cambridge */
.about-aisli-logo,
.about-cambridge-card-logo{
  min-height:116px;
  display:flex;
  align-items:center;
}
.about-aisli-logo img{
  width:168px;
}
.about-cambridge-card-logo img{
  width:188px;
}


/* V27 — bonus soft, Preparation Centre animato e footer informativo */
.home-benefits-section{padding-top:74px;padding-bottom:36px}
.home-benefits-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:end;margin-bottom:26px}
.home-benefits-heading h2{margin:7px 0 0}.home-benefits-heading p{margin:0;color:var(--muted);font-size:17px}
.home-benefits-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.home-benefit-card{display:block;padding:26px 28px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--navy);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.home-benefit-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#c9e4f2}
.home-benefit-kicker{display:block;margin-bottom:12px;color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.home-benefit-card h3{margin:0 0 8px;font-size:25px}.home-benefit-card p{margin:0 0 17px;color:var(--muted);line-height:1.6}.home-benefit-card strong{color:var(--blue);font-size:14px}
.preparation-home-section{padding-top:36px;padding-bottom:76px}
.preparation-home-box{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center;padding:44px 54px;border-radius:26px;background:#f4f5f6;border:1px solid #e7e9eb;overflow:hidden}
.preparation-home-brand{text-align:center;opacity:0;transform:translateY(12px)}.preparation-home-brand img{display:block;width:min(330px,100%);height:auto;margin:0 auto 14px}.preparation-home-brand span{font-size:13px;font-weight:800;color:var(--muted);letter-spacing:.04em}
.preparation-home-copy{opacity:0;transform:translateX(26px)}.preparation-home-copy h2{margin:7px 0 12px;font-size:clamp(30px,3vw,43px);letter-spacing:-.035em}.preparation-home-copy p{max-width:650px;margin:0 0 22px;color:var(--muted);font-size:17px;line-height:1.6}
.preparation-home-section.is-visible .preparation-home-brand{animation:prepReveal .65s ease .1s forwards}
.preparation-home-section.is-visible .preparation-home-copy{animation:prepSlide .7s ease .55s forwards}
@keyframes prepReveal{to{opacity:1;transform:none}}@keyframes prepSlide{to{opacity:1;transform:none}}
.footer-grid-v27{display:grid;grid-template-columns:1.4fr 1fr 1.15fr 1.15fr;gap:42px;align-items:start}.footer-brand-v27 img{display:block;max-width:210px;height:auto}.footer-brand-v27 p{max-width:260px;margin:18px 0 0;color:#aebdcb;font-size:13px;line-height:1.6}.footer-column{display:flex;flex-direction:column;gap:10px}.footer-column strong{margin-bottom:4px;color:#fff;font-size:14px}.footer-column a{color:#c9d5df;font-size:13px}.footer-column a:hover{color:#fff}.footer-bottom-v27{margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);color:#91a4b5;font-size:12px}
.info-page-hero{padding:70px 0 42px;background:linear-gradient(180deg,#f7fbfe,#fff)}.info-page-hero h1{max-width:820px;margin:8px 0 14px;font-size:clamp(42px,5vw,64px);letter-spacing:-.045em}.info-page-hero p{max-width:760px;margin:0;color:var(--muted);font-size:19px;line-height:1.65}.info-page-content{padding:34px 0 84px}.info-page-card{max-width:900px;padding:34px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.info-page-card h2{margin-top:0}.info-checks{display:grid;gap:12px;margin:24px 0}.info-check{padding:14px 16px;border-radius:12px;background:#f5f9fc;font-weight:700}.info-note{margin:24px 0;padding:18px;border-left:4px solid var(--blue);background:#f7fbfe;color:var(--muted)}
@media(max-width:900px){.home-benefits-heading,.preparation-home-box,.footer-grid-v27{grid-template-columns:1fr}.preparation-home-box{gap:32px;padding:36px}.footer-grid-v27{grid-template-columns:1fr 1fr}.footer-brand-v27{grid-column:1/-1}}
@media(max-width:620px){.home-benefits-grid,.footer-grid-v27{grid-template-columns:1fr}.home-benefits-heading{grid-template-columns:1fr}.preparation-home-box{padding:28px 22px}.preparation-home-copy{transform:none}.preparation-home-section.is-visible .preparation-home-copy{animation-delay:.35s}.footer-brand-v27{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.preparation-home-brand,.preparation-home-copy{animation:none;opacity:1;transform:none}}

/* V29 — accesso scuole / Preparation Centres nel menu Esami Cambridge */
.nav-exams-footer-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.main-nav .nav-exams-preparation{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 15px;
  border-radius:999px;
  border:1px solid #cfe4f0;
  background:#f3f8fb;
  color:var(--navy) !important;
  white-space:nowrap;
}
.main-nav .nav-exams-preparation:hover{
  background:#eaf5fb;
  color:var(--blue) !important;
}
@media(max-width:950px){
  .nav-exams-footer-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .main-nav .nav-exams-preparation,
  .main-nav .nav-exams-sessions{
    justify-content:center;
    width:100%;
  }
}

