
/* BEST OF YOU 2.0 – front-end and block editor; scoped to the landing */
.boy-landing{--boy-navy:#1e3455;--boy-yellow:#f1c142;--boy-sky:#92b7c3;--boy-paper:#f7f9fa;--boy-ink:#1d1d1b;--boy-progress:0%;color:var(--boy-navy);background:#fff!important;font-family:inherit;font-size:16px;line-height:1.55;isolation:isolate;overflow:clip;padding:0 0 24px;}
.boy-landing :is(h1,h2,h3,h4,p,figure){margin-top:0;}
.boy-landing :is(h1,h2,h3,h4){font-family:inherit;font-weight:800;letter-spacing:-.045em;line-height:1.04;color:var(--boy-navy);}
.boy-landing :is(.boy-hero,.boy-intro,.boy-experiences,.boy-open-day){max-width:1250px;margin-inline:auto;padding-inline:clamp(20px,5vw,66px);box-sizing:border-box;}
.boy-landing .boy-hero{padding-top:clamp(40px,7vw,110px);padding-bottom:clamp(60px,8vw,110px);position:relative;}
.boy-landing .boy-hero::after{content:'';width:130px;height:130px;background:var(--boy-yellow);border-radius:100%;position:absolute;top:8%;right:6%;z-index:-1;opacity:.83;}
.boy-landing .boy-hero-columns{gap:clamp(30px,6vw,78px);align-items:center!important;}
.boy-landing .boy-eyebrow,.boy-landing .boy-kicker,.boy-landing .boy-mini{color:#44637a;letter-spacing:.17em;font-size:12px;line-height:1.4;font-weight:750;text-transform:uppercase;margin-bottom:18px;}
.boy-landing .boy-hero-title{font-size:clamp(64px,8.6vw,142px);line-height:.87;letter-spacing:-.085em;margin:0 0 29px!important;max-width:7ch;}
.boy-landing .boy-hero-claim{font-size:clamp(25px,3vw,46px);max-width:15ch;margin:0 0 13px!important;}
.boy-landing .boy-hero-sub{font-size:clamp(16px,1.45vw,21px);margin-bottom:30px;color:#3c5568;}
.boy-landing .boy-hero-image{margin-inline:auto;max-width:100%;}
.boy-landing .boy-hero-image img{width:100%!important;height:auto!important;max-width:100%;border-radius:4px;box-shadow:0 24px 55px rgba(30,52,85,.13);}
.boy-landing .wp-block-buttons{gap:12px 12px;}
.boy-landing .wp-block-button .wp-block-button__link{background:var(--boy-navy);color:#fff!important;border:1px solid var(--boy-navy);text-decoration:none;padding:13px 19px;font-size:14px;font-weight:700;letter-spacing:0;border-radius:4px;box-shadow:none;transition:transform .2s ease,background .2s ease;line-height:1.3;}
.boy-landing .wp-block-button .wp-block-button__link:hover{transform:translateY(-2px);background:#2e537a;color:#fff;}
.boy-landing .wp-block-button.is-style-boy-button-primary .wp-block-button__link{background:var(--boy-yellow);color:var(--boy-navy)!important;border-color:var(--boy-yellow);}
.boy-landing .wp-block-button.is-style-boy-button-primary .wp-block-button__link:hover{background:#e9b828;}
.boy-landing .wp-block-button.is-style-boy-button-outline .wp-block-button__link{background:transparent;color:var(--boy-navy)!important;border-color:var(--boy-navy);}
.boy-landing .wp-block-button.is-style-boy-button-outline .wp-block-button__link:hover{background:#edf4f7;}
.boy-landing .wp-block-button.boy-incomplete-link .wp-block-button__link{border-style:dashed;opacity:.8;}
.boy-landing .boy-intro{padding-top:clamp(40px,7vw,100px);padding-bottom:clamp(50px,8vw,100px);position:relative;}
.boy-landing .boy-section-title{font-size:clamp(40px,5.5vw,83px);margin:0 0 22px!important;max-width:17ch;}
.boy-landing .boy-intro-copy{font-size:clamp(17px,2vw,25px);line-height:1.42;max-width:29ch;color:#395b72;}
.boy-landing .boy-chapters{position:relative;padding-block:14px 65px;}
.boy-landing .boy-chapters::before{content:'';position:absolute;top:0;bottom:0;left:max(calc((100vw - 1350px)/2 + 22px),clamp(12px,2.5vw,42px));width:20px;transform:skewY(-7deg);border-radius:24px;background:linear-gradient(90deg,#d6edf2 0%,var(--boy-sky) 35%,#5e9eaf 75%,#3c7289 100%);box-shadow:4px 6px 0 rgba(30,52,85,.08);}
.boy-landing .boy-chapters::after{content:'';position:absolute;z-index:0;top:0;left:max(calc((100vw - 1350px)/2 + 22px),clamp(12px,2.5vw,42px));width:20px;height:var(--boy-progress,0%);max-height:100%;border-radius:22px;background:linear-gradient(90deg,#ffdb5f,#f1c142);pointer-events:none;}
.boy-landing .boy-step{position:relative;z-index:1;max-width:1210px;width:calc(100% - 110px);box-sizing:border-box;margin:30px auto 75px!important;padding:clamp(22px,3.8vw,52px);border:1px solid #e6edf0;background:white;border-radius:8px;box-shadow:0 12px 43px rgba(30,52,85,.055);min-height:var(--boy-card-min-height,420px);transition:box-shadow .35s ease,transform .35s ease;}
.boy-landing .boy-step::before{content:'';position:absolute;left:-15px;top:50%;width:17px;height:17px;background:var(--boy-yellow);border:4px solid white;border-radius:50%;box-shadow:0 0 0 2px var(--boy-navy);}
.boy-landing .boy-step.is-current{box-shadow:0 24px 62px rgba(30,52,85,.12);}
.boy-landing .boy-step .boy-card-layout{gap:clamp(24px,4vw,60px);align-items:center!important;}
.boy-landing .boy-step .boy-col-image{display:flex;align-items:center;justify-content:center;}
.boy-landing .boy-step .boy-artwork{margin:0 auto;max-width:100%;}
.boy-landing .boy-step .boy-artwork img{width:100%;height:auto;max-width:100%;max-height:clamp(260px,36vw,490px);object-fit:contain;}
.boy-landing .boy-step-counter{font-size:12px;letter-spacing:.13em;font-weight:750;color:#51738c;margin-bottom:20px;}
.boy-landing .boy-step-title{font-size:clamp(27px,3.5vw,52px);line-height:1.09;margin:0 0 16px!important;}
.boy-landing .boy-step-desc{font-size:clamp(16px,1.45vw,19px);color:#455766;max-width:42ch;margin-bottom:22px;}
.boy-landing .boy-step-tags{font-size:12px;letter-spacing:.07em;text-transform:uppercase;font-weight:700;color:var(--boy-navy);padding-top:14px;border-top:2px solid var(--boy-yellow);margin-bottom:23px;}
.boy-landing .boy-step.is-style-boy-card-small,.boy-landing .boy-feature-card.is-style-boy-card-small{--boy-card-min-height:300px;max-width:900px;}
.boy-landing .boy-step.is-style-boy-card-medium{--boy-card-min-height:420px;max-width:1210px;}
.boy-landing .boy-step.is-style-boy-card-large{--boy-card-min-height:580px;max-width:1340px;}
.boy-landing .boy-artwork.is-style-boy-image-small img{max-height:250px;}
.boy-landing .boy-artwork.is-style-boy-image-medium img{max-height:400px;}
.boy-landing .boy-artwork.is-style-boy-image-large img{max-height:620px;}
.boy-landing .boy-experiences{padding-top:clamp(70px,8vw,120px);padding-bottom:clamp(80px,8vw,120px);}
.boy-landing .boy-feature-columns{gap:22px;align-items:stretch!important;}
.boy-landing .boy-feature-columns>.wp-block-column{display:flex;}
.boy-landing .boy-feature-card{border:1px solid #dce8ee;border-top:7px solid var(--boy-yellow);background:#f8fafb;border-radius:5px;padding:clamp(25px,4vw,45px);height:100%;box-sizing:border-box;max-width:none;}
.boy-landing .boy-feature-card h3{font-size:clamp(26px,3vw,44px);margin:0 0 14px!important;}
.boy-landing .boy-feature-card>p:not(.boy-mini){font-size:17px;color:#4d6170;max-width:43ch;}
.boy-landing .boy-open-day{background:var(--boy-navy)!important;color:#fff;padding-block:clamp(65px,9vw,125px);max-width:none!important;text-align:left;}
.boy-landing .boy-open-day>*{max-width:1130px;margin-left:auto;margin-right:auto;}
.boy-landing .boy-open-day :is(h2,p){color:#fff;}
.boy-landing .boy-open-day .boy-kicker{color:var(--boy-yellow);}
.boy-landing .boy-open-day .boy-open-lead{font-size:clamp(17px,2vw,23px);line-height:1.4;max-width:48ch;margin-bottom:30px;}
.boy-landing .boy-open-day .wp-block-button.is-style-boy-button-outline .wp-block-button__link{color:white!important;border-color:white;}
.boy-landing .boy-open-day .wp-block-button.is-style-boy-button-outline .wp-block-button__link:hover{color:var(--boy-navy)!important;background:white;}
.boy-landing .boy-open-day .boy-editor-note{font-size:12px;color:#cad8e0;margin-top:26px;}
.boy-landing .boy-observe{opacity:1;transform:none;}
@media (prefers-reduced-motion:no-preference){.boy-landing.boy-enhanced .boy-step:not(.is-visible),.boy-landing.boy-enhanced .boy-experiences:not(.is-visible),.boy-landing.boy-enhanced .boy-open-day:not(.is-visible){opacity:.78;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease;}.boy-landing.boy-enhanced .is-visible{opacity:1;transform:translateY(0);transition:opacity .5s ease,transform .5s ease;}}
@media(max-width:850px){.boy-landing .boy-chapters::before,.boy-landing .boy-chapters::after{left:18px;width:12px;}.boy-landing .boy-step{width:calc(100% - 54px);margin-left:48px!important;margin-right:6px!important;}.boy-landing .boy-step::before{left:-22px;}.boy-landing .boy-feature-columns{flex-direction:column;}.boy-landing .boy-feature-columns>.wp-block-column{width:100%;flex-basis:auto!important;}}
@media(max-width:730px){.boy-landing .boy-hero-columns,.boy-landing .boy-step .boy-card-layout{flex-direction:column;}.boy-landing .boy-hero-columns>.wp-block-column,.boy-landing .boy-step .boy-card-layout>.wp-block-column{flex-basis:100%!important;width:100%;}.boy-landing .boy-step .boy-col-image{order:0;}.boy-landing .boy-step .boy-col-copy{order:1;}.boy-landing .boy-hero{padding-top:52px;}.boy-landing .boy-hero-title{font-size:clamp(60px,16vw,98px);}.boy-landing .boy-step{padding:23px 22px;}.boy-landing .boy-step .boy-artwork img{max-height:320px;}.boy-landing .boy-open-day .wp-block-buttons{display:flex;flex-direction:column;align-items:stretch;}.boy-landing .boy-open-day .wp-block-button{width:100%;}.boy-landing .boy-open-day .wp-block-button__link{display:block;text-align:center;}}
@media(prefers-reduced-motion:reduce){.boy-landing *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}

/* Slider presets generated from editable CSS classes */
.boy-landing .boy-step.boy-w-760{max-width:760px;}
.boy-landing .boy-step.boy-w-780{max-width:780px;}
.boy-landing .boy-step.boy-w-800{max-width:800px;}
.boy-landing .boy-step.boy-w-820{max-width:820px;}
.boy-landing .boy-step.boy-w-840{max-width:840px;}
.boy-landing .boy-step.boy-w-860{max-width:860px;}
.boy-landing .boy-step.boy-w-880{max-width:880px;}
.boy-landing .boy-step.boy-w-900{max-width:900px;}
.boy-landing .boy-step.boy-w-920{max-width:920px;}
.boy-landing .boy-step.boy-w-940{max-width:940px;}
.boy-landing .boy-step.boy-w-960{max-width:960px;}
.boy-landing .boy-step.boy-w-980{max-width:980px;}
.boy-landing .boy-step.boy-w-1000{max-width:1000px;}
.boy-landing .boy-step.boy-w-1020{max-width:1020px;}
.boy-landing .boy-step.boy-w-1040{max-width:1040px;}
.boy-landing .boy-step.boy-w-1060{max-width:1060px;}
.boy-landing .boy-step.boy-w-1080{max-width:1080px;}
.boy-landing .boy-step.boy-w-1100{max-width:1100px;}
.boy-landing .boy-step.boy-w-1120{max-width:1120px;}
.boy-landing .boy-step.boy-w-1140{max-width:1140px;}
.boy-landing .boy-step.boy-w-1160{max-width:1160px;}
.boy-landing .boy-step.boy-w-1180{max-width:1180px;}
.boy-landing .boy-step.boy-w-1200{max-width:1200px;}
.boy-landing .boy-step.boy-w-1220{max-width:1220px;}
.boy-landing .boy-step.boy-w-1240{max-width:1240px;}
.boy-landing .boy-step.boy-w-1260{max-width:1260px;}
.boy-landing .boy-step.boy-w-1280{max-width:1280px;}
.boy-landing .boy-step.boy-w-1300{max-width:1300px;}
.boy-landing .boy-step.boy-w-1320{max-width:1320px;}
.boy-landing .boy-step.boy-w-1340{max-width:1340px;}
.boy-landing .boy-step.boy-w-1360{max-width:1360px;}
.boy-landing .boy-step.boy-w-1380{max-width:1380px;}
.boy-landing .boy-step.boy-h-280,.boy-landing .boy-feature-card.boy-h-280{min-height:280px;}
.boy-landing .boy-step.boy-h-300,.boy-landing .boy-feature-card.boy-h-300{min-height:300px;}
.boy-landing .boy-step.boy-h-320,.boy-landing .boy-feature-card.boy-h-320{min-height:320px;}
.boy-landing .boy-step.boy-h-340,.boy-landing .boy-feature-card.boy-h-340{min-height:340px;}
.boy-landing .boy-step.boy-h-360,.boy-landing .boy-feature-card.boy-h-360{min-height:360px;}
.boy-landing .boy-step.boy-h-380,.boy-landing .boy-feature-card.boy-h-380{min-height:380px;}
.boy-landing .boy-step.boy-h-400,.boy-landing .boy-feature-card.boy-h-400{min-height:400px;}
.boy-landing .boy-step.boy-h-420,.boy-landing .boy-feature-card.boy-h-420{min-height:420px;}
.boy-landing .boy-step.boy-h-440,.boy-landing .boy-feature-card.boy-h-440{min-height:440px;}
.boy-landing .boy-step.boy-h-460,.boy-landing .boy-feature-card.boy-h-460{min-height:460px;}
.boy-landing .boy-step.boy-h-480,.boy-landing .boy-feature-card.boy-h-480{min-height:480px;}
.boy-landing .boy-step.boy-h-500,.boy-landing .boy-feature-card.boy-h-500{min-height:500px;}
.boy-landing .boy-step.boy-h-520,.boy-landing .boy-feature-card.boy-h-520{min-height:520px;}
.boy-landing .boy-step.boy-h-540,.boy-landing .boy-feature-card.boy-h-540{min-height:540px;}
.boy-landing .boy-step.boy-h-560,.boy-landing .boy-feature-card.boy-h-560{min-height:560px;}
.boy-landing .boy-step.boy-h-580,.boy-landing .boy-feature-card.boy-h-580{min-height:580px;}
.boy-landing .boy-step.boy-h-600,.boy-landing .boy-feature-card.boy-h-600{min-height:600px;}
.boy-landing .boy-step.boy-h-620,.boy-landing .boy-feature-card.boy-h-620{min-height:620px;}
.boy-landing .boy-step.boy-h-640,.boy-landing .boy-feature-card.boy-h-640{min-height:640px;}
.boy-landing .boy-step.boy-h-660,.boy-landing .boy-feature-card.boy-h-660{min-height:660px;}
.boy-landing .boy-step.boy-h-680,.boy-landing .boy-feature-card.boy-h-680{min-height:680px;}
.boy-landing .boy-step.boy-h-700,.boy-landing .boy-feature-card.boy-h-700{min-height:700px;}
.boy-landing .boy-step.boy-h-720,.boy-landing .boy-feature-card.boy-h-720{min-height:720px;}
.boy-landing .boy-step.boy-h-740,.boy-landing .boy-feature-card.boy-h-740{min-height:740px;}
.boy-landing .boy-step.boy-h-760,.boy-landing .boy-feature-card.boy-h-760{min-height:760px;}
.boy-landing .boy-step.boy-h-780,.boy-landing .boy-feature-card.boy-h-780{min-height:780px;}
.boy-landing .boy-step.boy-h-800,.boy-landing .boy-feature-card.boy-h-800{min-height:800px;}
.boy-landing .boy-step.boy-h-820,.boy-landing .boy-feature-card.boy-h-820{min-height:820px;}

/* v2.2 - HERO integrata nella pagina (le opere restano sostituibili da Gutenberg).
   Il trattamento non crea contenitori fotografici aggiuntivi. */
.boy-landing .boy-hero-visual{position:relative;isolation:isolate;}
.boy-landing .boy-hero-image{background:transparent!important;box-shadow:none!important;border:0!important;}
.boy-landing .boy-hero-image img{
  border-radius:0!important;box-shadow:none!important;
  -webkit-mask-image:radial-gradient(ellipse 77% 83% at 55% 49%, #000 53%, rgba(0,0,0,.92) 69%, rgba(0,0,0,.35) 88%, transparent 100%);
  mask-image:radial-gradient(ellipse 77% 83% at 55% 49%, #000 53%, rgba(0,0,0,.92) 69%, rgba(0,0,0,.35) 88%, transparent 100%);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}
/* Selezionabile dal pannello dell'immagine; nessun bisogno di cambiare il codice. */
.boy-landing .boy-hero-image.boy-hero-fade-strong img{
  -webkit-mask-image:radial-gradient(ellipse 68% 75% at 56% 49%, #000 45%, rgba(0,0,0,.85) 60%, transparent 97%);
  mask-image:radial-gradient(ellipse 68% 75% at 56% 49%, #000 45%, rgba(0,0,0,.85) 60%, transparent 97%);
}
.boy-landing .boy-hero-image.boy-hero-fade-none img{
  -webkit-mask-image:none!important;mask-image:none!important;
}
@media(max-width:730px){
  /* L'integrazione funziona anche con i blocchi impilati: bordi sfumati su tutti i lati. */
  .boy-landing .boy-hero-visual{width:100%;}
  .boy-landing .boy-hero-image img{
    -webkit-mask-image:radial-gradient(ellipse 78% 83% at 50% 52%, #000 54%, rgba(0,0,0,.82) 72%, transparent 100%);
    mask-image:radial-gradient(ellipse 78% 83% at 50% 52%, #000 54%, rgba(0,0,0,.82) 72%, transparent 100%);
  }
  .boy-landing .boy-hero-image.boy-hero-fade-none img{-webkit-mask-image:none!important;mask-image:none!important;}
}
/* v2.2 refinement: feather the actual photographic edges, not the Gutenberg box. */
.boy-landing .boy-hero-image{position:relative!important;isolation:isolate;}
.boy-landing .boy-hero-image::after{
 content:'';position:absolute;inset:-2px;pointer-events:none;z-index:2;
 background:
   linear-gradient(90deg,#fff 0%,rgba(255,255,255,.96) 3%,rgba(255,255,255,.62) 12%,rgba(255,255,255,.10) 24%,transparent 36%,transparent 88%,rgba(255,255,255,.24) 95%,#fff 100%),
   linear-gradient(180deg,#fff 0%,rgba(255,255,255,.89) 4%,rgba(255,255,255,.45) 11%,transparent 24%,transparent 75%,rgba(255,255,255,.28) 87%,#fff 100%);
}
.boy-landing .boy-hero-image.boy-hero-fade-strong::after{
 background:
   linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 8%,rgba(255,255,255,.68) 20%,transparent 43%,transparent 80%,rgba(255,255,255,.75) 96%,#fff 100%),
   linear-gradient(180deg,#fff 0%,rgba(255,255,255,.93) 10%,rgba(255,255,255,.52) 21%,transparent 37%,transparent 69%,rgba(255,255,255,.62) 89%,#fff 100%);
}
.boy-landing .boy-hero-image.boy-hero-fade-none::after{display:none!important;}
@media(max-width:730px){
 .boy-landing .boy-hero-image::after{
 background:
   linear-gradient(90deg,#fff 0%,rgba(255,255,255,.65) 10%,transparent 27%,transparent 80%,rgba(255,255,255,.45) 92%,#fff 100%),
   linear-gradient(180deg,#fff 0%,rgba(255,255,255,.69) 7%,transparent 25%,transparent 76%,rgba(255,255,255,.62) 91%,#fff 100%);
 }
}
/* Keep the circular brand accent fully rounded and clear of the copy. */
@media(min-width:731px){.boy-landing .boy-hero::after{top:1%;}}
@media(max-width:730px){
 .boy-landing .boy-hero::after{top:56%;right:7%;width:95px;height:95px;opacity:.74;}
 .boy-landing .boy-hero-image.boy-hero-fade-strong img{
  -webkit-mask-image:radial-gradient(ellipse 68% 75% at 56% 49%, #000 45%, rgba(0,0,0,.85) 60%, transparent 97%);
  mask-image:radial-gradient(ellipse 68% 75% at 56% 49%, #000 45%, rgba(0,0,0,.85) 60%, transparent 97%);
 }
}
/* Mobile: the yellow circle already appears in the CTA and artworks; avoid overlap with the hero. */
@media(max-width:730px){.boy-landing .boy-hero::after{display:none!important;}}


/* v2.3 — Applies to pre-existing Gutenberg pages even after image replacement.
   This does not style the other images in the five course cards. */
.boy-landing .boy-hero .boy-hero-columns > .wp-block-column:last-child figure,
.boy-landing .boy-hero .boy-hero-visual figure{
  position:relative!important;overflow:visible!important;
  max-width:100%!important;border-radius:0!important;box-shadow:none!important;
}
.boy-landing .boy-hero .boy-hero-columns > .wp-block-column:last-child img,
.boy-landing .boy-hero .boy-hero-visual img{
  display:block;max-width:100%;width:100%!important;height:auto!important;
  border-radius:0!important;box-shadow:none!important;
  -webkit-mask-image:radial-gradient(ellipse 77% 83% at 55% 49%,#000 53%,rgba(0,0,0,.92) 69%,rgba(0,0,0,.35) 88%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse 77% 83% at 55% 49%,#000 53%,rgba(0,0,0,.92) 69%,rgba(0,0,0,.35) 88%,transparent 100%)!important;
  -webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important;
}
.boy-landing .boy-hero .boy-hero-columns > .wp-block-column:last-child figure::after,
.boy-landing .boy-hero .boy-hero-visual figure::after{
  content:''!important;position:absolute!important;inset:-2px!important;pointer-events:none!important;z-index:2!important;
  display:block;
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.96) 3%,rgba(255,255,255,.62) 12%,rgba(255,255,255,.10) 24%,transparent 36%,transparent 88%,rgba(255,255,255,.24) 95%,#fff 100%),linear-gradient(180deg,#fff 0%,rgba(255,255,255,.89) 4%,rgba(255,255,255,.45) 11%,transparent 24%,transparent 75%,rgba(255,255,255,.28) 87%,#fff 100%);
}
@media(max-width:730px){
  .boy-landing .boy-hero .boy-hero-columns > .wp-block-column:last-child img,
  .boy-landing .boy-hero .boy-hero-visual img{
    -webkit-mask-image:radial-gradient(ellipse 78% 83% at 50% 52%,#000 54%,rgba(0,0,0,.82) 72%,transparent 100%)!important;
    mask-image:radial-gradient(ellipse 78% 83% at 50% 52%,#000 54%,rgba(0,0,0,.82) 72%,transparent 100%)!important;
  }
}
