/* ==========================================================
   ALÈA FITNESS & YOGA — Optin page
   Palette: terracotta #A16C4A · salvia #959674 · avorio #F6F4E8
   ========================================================== */

:root{
  --terra:#A16C4A;
  --terra-dark:#8A5A3C;
  --terra-cta:#A9542C;
  --sage:#959674;
  --sage-dark:#6E7D4A;
  --ivory:#F6F4E8;
  --cream:#FBF8F0;
  --ink:#2B2620;
  --muted:#5C5449;
  --line:rgba(160,108,74,.16);
  --shadow:0 10px 34px rgba(120,90,60,.13);
  --radius:18px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{background:var(--ivory);overflow-x:hidden;position:relative;
  font-family:'Jost',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--ink);line-height:1.55;background:var(--ivory);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
.serif{font-family:'Cormorant Garamond',Georgia,serif}
.wrap{width:100%;background:var(--ivory);overflow:hidden}
/* contenitore interno: il contenuto resta leggibile su schermi larghi,
   ma gli sfondi delle sezioni arrivano ai bordi */
.inner{max-width:1280px;margin:0 auto;width:100%}

/* ---------- elementi comuni ---------- */
.eyebrow{
  font-size:12px;letter-spacing:2.6px;color:var(--terra);
  text-transform:uppercase;font-weight:500;margin-bottom:14px;
}
.center{text-align:center}
h1 i,h2 i{font-weight:600;font-style:italic}
h1{font-size:clamp(31px,4.5vw,53px);line-height:1.05;font-weight:600;letter-spacing:-.4px;font-family:'Cormorant Garamond',Georgia,serif}
h2{font-size:clamp(26px,3.5vw,41px);line-height:1.1;font-weight:600;letter-spacing:-.3px;text-align:center;font-family:'Cormorant Garamond',Georgia,serif}
.sub{color:var(--muted);font-size:17px;line-height:1.5;max-width:660px;margin:15px auto 0;text-align:center}

.btn{
  display:inline-flex;align-items:center;gap:11px;background:var(--terra-cta);
  color:#FBF6EC;padding:16px 34px;border-radius:40px;text-decoration:none;
  font-size:16px;box-shadow:0 8px 22px rgba(181,98,58,.3);
  transition:transform .18s,background .18s;border:none;cursor:pointer;font-family:inherit;
}
.btn:hover{background:#9E5230;transform:translateY(-2px)}
.btn .ico{
  width:26px;height:26px;background:#FBF6EC;border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:var(--terra-cta);
  font-size:10px;flex-shrink:0;
}
.btn-sm{padding:11px 22px;font-size:14px}

/* ---------- NAV ---------- */
nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 46px;background:rgba(251,246,236,.94);
  backdrop-filter:blur(8px);position:sticky;top:0;z-index:50;
  border-bottom:1px solid var(--line);
}
.navlogo{display:flex;align-items:center;gap:12px;text-decoration:none}
.navlogo img{height:42px;width:auto}
.navlinks a{color:#5A5245;text-decoration:none;font-size:14.5px;margin-left:28px}
.navlinks a:hover{color:var(--terra)}
.navtoggle{display:none;background:none;border:none;font-size:24px;color:var(--terra);cursor:pointer}

/* ---------- HERO ---------- */
.hero{
  position:relative;
  background:image-set(url('../img/bg-hero.webp') type('image/webp'), url('../img/bg-hero.jpg') type('image/jpeg')) center/cover no-repeat;
  min-height:640px;display:flex;align-items:center;
}
.hero::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(251,246,236,.96) 0%,rgba(248,242,228,.88) 42%,rgba(245,238,222,.25) 68%,transparent 100%);
}
.hero-inner{
  position:relative;z-index:2;display:grid;grid-template-columns:1.02fr .98fr;
  width:100%;max-width:1280px;margin:0 auto;align-items:center;
}
/* la videocard è posizionata rispetto all'intera area hero, non alla colonna */
.hero-inner > .videocard{position:absolute}
.hero-l{padding:74px 24px 74px 60px}
.hero-l p.lead{font-size:17.5px;line-height:1.5;color:#4A443B;margin-top:20px;max-width:500px}
.badge-play{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(149,150,116,.16);border:1px solid rgba(149,150,116,.42);
  color:#5F6047;padding:8px 18px;border-radius:30px;font-size:12px;
  letter-spacing:2px;text-transform:uppercase;margin-bottom:24px;
}
.badge-play .p{width:24px;height:24px;background:var(--sage);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:9px}
.nocard{margin-top:18px;font-size:14px;color:#8A8272;font-style:italic;max-width:290px}

.hero-r{min-height:640px;display:flex;align-items:flex-end;justify-content:center}
.hero-fra{max-height:600px;width:auto;object-fit:contain;object-position:bottom;filter:drop-shadow(-14px 12px 26px rgba(90,70,45,.22))}
.videocard{
  position:absolute;left:44%;bottom:20px;width:292px;background:#FBF6EC;
  border-radius:18px;padding:13px;box-shadow:0 22px 54px rgba(60,40,20,.28);z-index:6;
}
.videocard .thumb{position:relative;border-radius:12px;overflow:hidden;line-height:0}
.videocard .thumb img{width:100%;height:auto}
.videocard .pbtn{
  position:absolute;inset:0;margin:auto;width:56px;height:56px;
  background:rgba(251,246,236,.94);border-radius:50%;display:flex;
  align-items:center;justify-content:center;color:var(--terra-cta);font-size:17px;
  box-shadow:0 4px 14px rgba(0,0,0,.22);cursor:pointer;transition:transform .18s;
}
.videocard .pbtn:hover{transform:scale(1.08)}
.videocard .cap{font-size:14px;color:var(--ink);margin:12px 4px 8px;font-weight:500}
.videocard .meta{display:flex;gap:13px;font-size:11px;color:#8A8272;padding:0 4px 4px;flex-wrap:wrap}

/* ---------- PROBLEMA ---------- */
.problem{background:var(--cream);padding:80px 60px}
.p3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}
.pcard{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:36px 28px;text-align:center;box-shadow:0 6px 22px rgba(160,108,74,.06);
}
.pcard .ic{
  width:78px;height:78px;border-radius:50%;background:#F6EDE2;
  display:flex;align-items:center;justify-content:center;margin:0 auto 20px;
}
.pcard .ic img{width:42px;height:42px}
.pcard h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:23px;font-weight:700;line-height:1.2;margin-bottom:12px;color:var(--ink)}
.pcard p{font-size:14.5px;line-height:1.55;color:var(--muted)}

/* ---------- PILASTRI ---------- */
.pillars{
  background:image-set(url('../img/bg-pilastri.webp') type('image/webp'), url('../img/bg-pilastri.jpg') type('image/jpeg')) center/cover no-repeat;
  padding:82px 60px;position:relative;
}
.pillars::before{content:'';position:absolute;inset:0;background:rgba(250,247,235,.32)}
.pillars > *{position:relative;z-index:2}
.p4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:52px}
.pill{background:var(--cream);border-radius:20px;overflow:hidden;box-shadow:0 14px 36px rgba(80,88,50,.2)}
.pill .img{
  height:180px;position:relative;display:flex;align-items:center;justify-content:center;
  background-size:cover;background-position:center;overflow:hidden;
}
.pill .img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(58,52,45,.18))}
.pill .lbl{
  position:absolute;bottom:14px;left:50%;transform:translateX(-50%);
  width:58px;height:58px;background:var(--cream);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 16px rgba(0,0,0,.14);z-index:3;
}
.pill .lbl img{width:29px;height:29px}
.pill .body{background:var(--ivory);
  padding:42px 20px 28px;text-align:center}
.pill h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:23px;font-weight:700;line-height:1.2;margin-bottom:8px;color:var(--ink)}
.pill p{font-size:14px;line-height:1.5;color:var(--muted)}
.tag-ph{
  position:absolute;top:11px;left:11px;background:rgba(58,52,45,.7);color:#fff;
  font-size:10px;padding:4px 10px;border-radius:20px;letter-spacing:.6px;z-index:4;
}

/* ---------- TEAM ---------- */
.team{background:var(--cream);padding:82px 60px}
.t4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:54px}
.mem{text-align:center}
.mem .pf{
  width:152px;height:152px;border-radius:50%;object-fit:cover;margin:0 auto;
  border:4px solid #EFE6D6;box-shadow:0 10px 28px rgba(160,108,74,.18);
}
.mem .pf-fra{object-position:center top}
.mem h4{font-family:'Cormorant Garamond',Georgia,serif;font-size:21px;font-weight:700;line-height:1.2;margin:18px 0 5px;color:var(--ink)}
.mem p{font-size:13.5px;color:#7A7061;line-height:1.45}

/* ---------- RISULTATI ---------- */
.results{
  background:image-set(url('../img/bg-risultati.webp') type('image/webp'), url('../img/bg-risultati.jpg') type('image/jpeg')) center/cover no-repeat;
  padding:82px 60px;position:relative;
}
.results::before{content:'';position:absolute;inset:0;background:rgba(252,248,238,.3)}
.results > *{position:relative;z-index:2}
.r3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
.rcard{background:#fff;border-radius:16px;padding:12px;box-shadow:0 10px 28px rgba(160,108,74,.14)}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ba .ph{height:215px;border-radius:10px}
.disclaimer{text-align:center;font-size:13px;color:#8A8070;margin-top:22px;font-style:italic}

/* ---------- STEP ---------- */
.steps{background:var(--cream);padding:82px 60px}
.s3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
.step{border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 26px rgba(160,108,74,.12);background:#fff}
.step .img{
  height:150px;position:relative;display:flex;align-items:center;justify-content:center;
  background-size:cover;background-position:center;overflow:hidden;
}
.step .body{background:var(--ivory);
  padding:24px 22px 28px}
.step .n{
  display:inline-flex;width:32px;height:32px;background:var(--terra-cta);color:#fff;
  border-radius:50%;align-items:center;justify-content:center;font-size:15px;margin-bottom:12px;
}
.step h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:21px;font-weight:700;line-height:1.2;margin-bottom:8px;color:var(--ink)}
.step p{font-size:14px;line-height:1.5;color:var(--muted)}

/* ---------- CTA FINALE ---------- */
.final{
  background:image-set(url('../img/bg-footer.webp') type('image/webp'), url('../img/bg-footer.jpg') type('image/jpeg')) center/cover no-repeat;
  padding:76px 60px;color:#F3ECDA;position:relative;
}
.final::before{content:'';position:absolute;inset:0;background:rgba(28,32,24,.5)}
.final-inner{
  position:relative;z-index:2;display:flex;align-items:center;
  justify-content:space-between;gap:44px;flex-wrap:wrap;
  max-width:1280px;margin:0 auto;
}
.final h2{text-align:left;color:#FBF6EC;font-size:clamp(24px,3vw,35px)}
.final p{color:#D6D2C2;font-size:15px;margin-top:12px;max-width:430px}

/* ---------- FOOTER ---------- */
footer{background:#2F332B;color:#9A9484;padding:38px 60px;text-align:center;font-size:12.5px;line-height:1.9}
footer > *{max-width:1280px;margin-left:auto;margin-right:auto}
footer .flogo-img{height:46px;width:auto;margin:0 auto 16px;opacity:.9}
footer a{color:#B5AC98;text-decoration:none}
footer a:hover{text-decoration:underline}

/* ---------- PLACEHOLDER ---------- */
.ph{
  background:repeating-linear-gradient(45deg,#E4DCC9,#E4DCC9 12px,#DED5C0 12px,#DED5C0 24px);
  border:2px dashed var(--terra-cta);border-radius:12px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:16px;color:#8A5A38;position:relative;
}
.ph b{font-size:12px;display:block;margin-bottom:5px;letter-spacing:.4px}
.ph span{font-size:11.5px;color:#8A8070;line-height:1.5}
.note{
  background:#FFF6E2;border-left:4px solid #C97F52;padding:16px 22px;
  font-size:13.5px;color:#6E5335;line-height:1.6;
}

/* ---------- MODAL VIDEO ---------- */
.modal{
  display:none;position:fixed;inset:0;background:rgba(24,20,16,.9);
  z-index:200;align-items:center;justify-content:center;padding:20px;
}
.modal.open{display:flex}
.modal-box{width:100%;max-width:900px;aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden;position:relative}
.modal-box iframe{width:100%;height:100%;border:0}
.modal-close{
  position:absolute;top:-44px;right:0;background:none;border:none;
  color:#F3ECDA;font-size:30px;cursor:pointer;line-height:1;
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1000px){
  .p4,.t4{grid-template-columns:1fr 1fr}
  nav{padding:14px 24px}
}
@media(max-width:880px){
  .navlinks{
    display:none;position:absolute;top:100%;left:0;right:0;background:#FBF6EC;
    flex-direction:column;padding:14px 24px;border-bottom:1px solid var(--line);
    box-shadow:0 10px 22px rgba(0,0,0,.1);
  }
  .navlinks.open{display:flex}
  .navlinks a{margin:0;padding:11px 0;border-bottom:1px solid rgba(0,0,0,.05)}
  .navtoggle{display:block}
  .hero-inner{grid-template-columns:1fr;display:flex;flex-direction:column}
  .hero-l{padding:52px 26px 24px;display:flex;flex-direction:column}
  .hero::before{background:linear-gradient(180deg,rgba(251,246,236,.95) 0%,rgba(249,244,232,.86) 55%,rgba(246,240,226,.7) 100%)}
  .hero-r{min-height:auto;flex-direction:column;padding:0 26px 30px;order:3}
  .hero-fra{max-height:400px}

  /* ordine mobile: badge → titolo → testo → VIDEO → pulsante */
  .hero-l .badge-play{order:1}
  .hero-l h1{order:2}
  .hero-l p.lead{order:3}
  .hero-inner > .videocard,
  .videocard{
    position:relative;z-index:6;order:4;
    width:100%;max-width:340px;
    margin:26px auto 4px;left:auto;right:auto;bottom:auto;top:auto;
  }
  .hero-l > div[style]{order:5}   /* il contenitore del pulsante */
  .hero-l .nocard{order:6}
  /* la foto resta intera, sotto tutto */
  .hero-r{padding-bottom:0}

  .problem,.pillars,.team,.results,.steps,.final{padding:56px 26px}
  .p3,.s3,.r3{grid-template-columns:1fr}
  .final-inner{flex-direction:column;text-align:center}
  .final h2{text-align:center}
  footer{padding:32px 24px}
}
@media(max-width:560px){
  .p4,.t4{grid-template-columns:1fr}
  .hero-l{padding:40px 20px 24px}
  .btn{padding:14px 26px;font-size:15px}
}

  .cookiebtns{width:100%}
  .cookiebar button{flex:1}
}

/* ═══════════════════════════════════════════════════
   MOVIMENTO E ANIMAZIONI
   ═══════════════════════════════════════════════════ */

/* ---------- PULSANTI: effetto metallico brillante ---------- */
.btn{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#BC6335 0%,#A9542C 45%,#8E4622 100%);
  box-shadow:0 8px 22px rgba(181,98,58,.32),
             inset 0 1px 0 rgba(255,255,255,.26),
             inset 0 -1px 0 rgba(0,0,0,.12);
}
/* riflesso che scorre in continuo */
.btn::before{
  content:'';
  position:absolute;
  top:0;left:-120%;
  width:65%;height:100%;
  background:linear-gradient(100deg,
    transparent 0%,
    rgba(255,255,255,.10) 30%,
    rgba(255,255,255,.48) 50%,
    rgba(255,255,255,.10) 70%,
    transparent 100%);
  transform:skewX(-22deg);
  animation:shine 4.2s ease-in-out infinite;
  pointer-events:none;
}
@keyframes shine{
  0%   {left:-120%}
  55%  {left:180%}
  100% {left:180%}
}
.btn:hover{
  background:linear-gradient(135deg,#CE7444 0%,#BC6438 45%,#A3532C 100%);
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(181,98,58,.42),
             inset 0 1px 0 rgba(255,255,255,.34),
             inset 0 -1px 0 rgba(0,0,0,.12);
}
.btn:active{transform:translateY(0);box-shadow:0 5px 14px rgba(181,98,58,.34)}
/* il contenuto sopra il riflesso */
.btn .ico, .btn > *{position:relative;z-index:2}

/* pulsante chiaro nella CTA finale */
.final .btn{
  background:linear-gradient(135deg,#BC6335 0%,#A9542C 45%,#8E4622 100%);
}

/* pulsante accetta cookie: stesso trattamento */
.ck-accept{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#BC6335,#8E4622);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24);
}

/* ---------- PULSANTE PLAY: pulsazione ---------- */
.videocard .pbtn{
  animation:pulse 2.6s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{box-shadow:0 4px 14px rgba(0,0,0,.22), 0 0 0 0 rgba(181,98,58,.42)}
  50%    {box-shadow:0 4px 14px rgba(0,0,0,.22), 0 0 0 14px rgba(181,98,58,0)}
}
.videocard .pbtn:hover{transform:scale(1.1);animation-play-state:paused}

/* ---------- COMPARSA IN SCROLL ---------- */
.reveal{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1);
}
.reveal.visible{opacity:1;transform:none}
/* sfalsamento a cascata dentro le griglie */
.reveal-d1{transition-delay:.09s}
.reveal-d2{transition-delay:.18s}
.reveal-d3{transition-delay:.27s}

/* ---------- CARD: sollevamento al passaggio ---------- */
.pcard,.pill,.step,.rcard{
  transition:transform .35s cubic-bezier(.2,.7,.3,1), box-shadow .35s ease;
}
.pcard:hover{transform:translateY(-6px);box-shadow:0 16px 38px rgba(160,108,74,.15)}
.pill:hover{transform:translateY(-7px);box-shadow:0 22px 46px rgba(80,88,50,.26)}
.step:hover{transform:translateY(-6px);box-shadow:0 16px 38px rgba(160,108,74,.18)}

/* zoom lento sulle foto dei pilastri e step */
.pill .img,.step .img{transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.pill:hover .img,.step:hover .img{transform:scale(1.06)}

/* icona nel cerchio: piccolo rimbalzo */
.pcard .ic{transition:transform .35s cubic-bezier(.34,1.4,.5,1),background .35s}
.pcard:hover .ic{transform:scale(1.09);background:#F1E2D2}

/* ---------- FOTO TEAM ---------- */
.mem .pf{transition:transform .4s cubic-bezier(.2,.7,.3,1), box-shadow .4s ease, border-color .4s}
.mem:hover .pf{transform:translateY(-5px) scale(1.04);box-shadow:0 16px 34px rgba(160,108,74,.26);border-color:#E4D5BE}

/* ---------- FRANCESCO NELL'HERO: entrata ---------- */
.hero-fra{
  animation:fadeUp 1.05s cubic-bezier(.2,.7,.3,1) both;
}
.videocard{
  animation:fadeUp 1.05s cubic-bezier(.2,.7,.3,1) .28s both;
}
.hero-l > *{animation:fadeUp .85s cubic-bezier(.2,.7,.3,1) both}
.hero-l > *:nth-child(1){animation-delay:.05s}
.hero-l > *:nth-child(2){animation-delay:.14s}
.hero-l > *:nth-child(3){animation-delay:.23s}
.hero-l > *:nth-child(4){animation-delay:.32s}
.hero-l > *:nth-child(5){animation-delay:.41s}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(22px)}
  to  {opacity:1;transform:none}
}

/* ---------- LINK NAV ---------- */
.navlinks a:not(.btn){position:relative}
.navlinks a:not(.btn)::after{
  content:'';position:absolute;left:0;bottom:-4px;
  width:0;height:1.5px;background:var(--terra);
  transition:width .3s cubic-bezier(.2,.7,.3,1);
}
.navlinks a:not(.btn):hover::after{width:100%}

/* ---------- RISPETTO PREFERENZE ACCESSIBILITÀ ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .reveal{opacity:1;transform:none}
}

/* ═══════════════════════════════════════════════════
   CAROSELLO PRIMA / DOPO
   ═══════════════════════════════════════════════════ */
.carousel{position:relative;margin-top:48px;padding:0 54px}
/* il carosello prima/dopo usa tutta la larghezza: le frecce vanno
   IN SOVRAPPOSIZIONE sopra l'immagine, ai lati, non esterne */
#baCarousel{padding:0}
.car-viewport{overflow:hidden;border-radius:16px}
.car-track{
  display:flex;
  transition:transform .55s cubic-bezier(.22,.7,.28,1);
  will-change:transform;
}
.car-slide{flex:0 0 33.333%;padding:0 8px;box-sizing:border-box}

/* frecce sovrapposte del carosello prima/dopo */
#baCarousel .car-ov{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:46px;height:46px;border-radius:50%;border:none;
  background:rgba(251,246,236,.92);color:var(--terra);
  font-size:24px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 16px rgba(60,40,20,.28);
  transition:background .25s,transform .25s,opacity .25s;font-family:inherit;
  backdrop-filter:blur(2px);
}
#baCarousel .car-ov:hover:not(:disabled){background:var(--terra);color:#FBF6EC;transform:translateY(-50%) scale(1.08)}
#baCarousel .car-ov:disabled{opacity:0;pointer-events:none}
#baCarousel .car-ov-prev{left:14px}
#baCarousel .car-ov-next{right:14px}

.ba-card{
  background:#fff;border-radius:16px;padding:12px;
  box-shadow:0 10px 28px rgba(160,108,74,.14);
  transition:transform .35s cubic-bezier(.2,.7,.3,1), box-shadow .35s;
}
.ba-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(160,108,74,.2)}

.ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ba-half{position:relative;margin:0;border-radius:10px;overflow:hidden;background:#EFE6D6}
.ba-half img{
  width:100%;aspect-ratio:3/4;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.2,.7,.3,1);
}
.ba-card:hover .ba-half img{transform:scale(1.04)}
.ba-half figcaption{
  position:absolute;left:8px;bottom:8px;
  background:rgba(58,52,45,.76);color:#F6F4E8;
  font-size:10.5px;letter-spacing:1.4px;padding:4px 11px;border-radius:20px;
}
.ba-half figcaption.is-after{background:rgba(181,98,58,.9)}

.ba-meta{
  text-align:center;
  padding:15px 10px 8px;
}
.ba-res{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:18.5px;font-weight:600;line-height:1.25;
  color:var(--ink);margin-bottom:7px;
}
.ba-time{
  display:inline-block;
  font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;
  color:var(--terra);background:#F6EDE2;
  padding:4px 12px;border-radius:20px;
}
.ba-name{font-size:12.5px;color:#8A8272;display:block;margin-top:6px}

/* frecce */
.car-nav{
  position:absolute;top:calc(50% - 30px);transform:translateY(-50%);
  width:44px;height:44px;border-radius:50%;border:1px solid var(--line);
  background:#FBF6EC;color:var(--terra);font-size:24px;line-height:1;
  cursor:pointer;z-index:4;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 18px rgba(120,90,60,.16);
  transition:background .25s,transform .25s,opacity .25s;font-family:inherit;
}
.car-nav:hover:not(:disabled){background:var(--terra);color:#FBF6EC;transform:translateY(-50%) scale(1.08)}
.car-nav:disabled{opacity:.3;cursor:default}
.car-prev{left:0}
.car-next{right:0}

/* pallini */
.car-dots{display:flex;justify-content:center;gap:9px;margin-top:24px}
.car-dots button{
  width:9px;height:9px;border-radius:50%;border:none;padding:0;cursor:pointer;
  background:#CFC6B2;transition:background .25s,transform .25s;
}
.car-dots button.on{background:var(--terra);transform:scale(1.35)}

/* ═══════════════════════════════════════════════════
   VIDEO TESTIMONIANZE
   ═══════════════════════════════════════════════════ */
/* .vt3 sostituito dal carosello */
.vt-card{
  background:#fff;border-radius:16px;overflow:hidden;height:100%;
  box-shadow:0 10px 28px rgba(160,108,74,.14);
  transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s;
}
.vt-card:hover{transform:translateY(-6px);box-shadow:0 18px 42px rgba(160,108,74,.22)}

.vt-thumb{position:relative;line-height:0;background:#EFE6D6;aspect-ratio:3/4;overflow:hidden}
/* il player mostra il poster nitido del video, ritagliato in verticale */
.vt-poster{position:absolute;inset:0;width:100%;height:100%}
.vt-poster wistia-player{
  display:block;width:100%;height:100%;
  --wistia-player-border-radius:0;
}
.vt-thumb img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
/* quando parte il video, la card passa al formato verticale pieno */
.vt-thumb.is-playing{aspect-ratio:9/16;background:#000}
.vt-thumb.is-playing .vt-poster{position:relative}
.vt-thumb.is-playing::after{display:none}
.vt-thumb.is-playing .vt-play{display:none}
.vt-thumb::after{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,transparent 55%,rgba(40,34,28,.5));
  pointer-events:none;
}
.vt-play{
  position:absolute;inset:0;margin:auto;
  width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(251,246,236,.94);color:var(--terra-cta);
  font-size:19px;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 20px rgba(0,0,0,.26);z-index:2;
  transition:transform .25s,background .25s;
  animation:pulse 2.8s ease-in-out infinite;
}
.vt-play:hover{transform:scale(1.12);background:#fff;animation-play-state:paused}
.vt-time{
  position:absolute;right:10px;bottom:10px;z-index:2;
  background:rgba(40,34,28,.72);color:#F6F4E8;
  font-size:11px;padding:3px 9px;border-radius:16px;
}
.vt-body{padding:18px 18px 20px;text-align:center}
.vt-quote{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:17px;font-style:italic;color:var(--ink);line-height:1.45;margin-bottom:8px;
}
.vt-name{font-size:12.5px;color:#8A8272;letter-spacing:.6px}

/* ---------- responsive carosello e video ---------- */
@media(max-width:1050px){
  .car-slide{flex:0 0 50%}
}
@media(max-width:880px){
  .carousel{padding:0 44px}
  #baCarousel{padding:0}
  .results{padding:56px 26px}
}
@media(max-width:700px){
  .car-slide{flex:0 0 100%}
  .carousel{padding:0 40px}
  .car-nav{width:38px;height:38px;font-size:21px}
  /* il carosello prima/dopo esce dal padding della sezione
     e usa TUTTA la larghezza dello schermo */
  #baCarousel{
    margin-left:-26px;margin-right:-26px;
    width:calc(100% + 52px);padding:0;
  }
  #baCarousel .car-viewport{border-radius:0}
  #baCarousel .car-slide{padding:0 6px}
  #baCarousel .car-ov-prev{left:8px}
  #baCarousel .car-ov-next{right:8px}
}

/* ═══════════════════════════════════════════════════
   MODAL VERTICALE (video testimonianze Wistia)
   ═══════════════════════════════════════════════════ */
.modal.is-vertical .modal-box{
  max-width:min(440px, 92vw);
  aspect-ratio:9/16;
  max-height:88vh;
  background:#000;
}
.modal.is-vertical wistia-player{
  display:block;width:100%;height:100%;
}
.modal-box wistia-player{border-radius:14px;overflow:hidden}

/* margine per i due caroselli nella stessa sezione */
#vtCarousel{margin-top:44px}

/* ═══════════════════════════════════════════════════
   ANTEPRIMA VIDEO HERO — leggero movimento
   ═══════════════════════════════════════════════════ */
/* anteprima video animata nell'hero */
.videocard .thumb{overflow:hidden;background:#EFE6D6;aspect-ratio:16/9}
.videocard .thumb wistia-player{
  display:block;width:100%;height:100%;
  --wistia-player-border-radius:12px;
}
/* il player non deve intercettare i click: passa al pulsante sopra */
.videocard .thumb wistia-player{pointer-events:none}
/* fallback mentre il player carica */
.videocard .thumb wistia-player:not(:defined){
  background:center/cover no-repeat url('https://fast.wistia.com/embed/medias/qu28ve5di3/swatch');
  display:block;filter:blur(4px);
}

/* se al posto dell'immagine c'è un video muto in loop */
.videocard .thumb video{
  width:100%;height:auto;display:block;border-radius:12px;
}

/* lo slot Wistia occupa il modal solo quando è attivo */
#wistiaslot{display:none;width:100%;height:100%}
.modal.is-vertical #wistiaslot{display:block}
.modal.is-vertical #videoframe{display:none}

/* ═══════════════════════════════════════════════════
   CONSENSO COOKIE — banner + pannello preferenze
   ═══════════════════════════════════════════════════ */
.cookiebar{
  display:none;position:fixed;left:20px;right:20px;bottom:20px;z-index:180;
  background:#FBF6EC;border:1px solid var(--line);border-radius:16px;
  padding:22px 26px;box-shadow:0 18px 48px rgba(60,45,30,.26);
  max-width:900px;margin:0 auto;
  align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;
}
.cookiebar.show{display:flex}
.ck-text{flex:1;min-width:260px}
.ck-text b{font-family:'Cormorant Garamond',Georgia,serif;font-size:19px;font-weight:700;display:block;margin-bottom:5px}
.ck-text p{font-size:13.5px;color:#5C5449;line-height:1.55;margin:0}
.ck-text a{color:var(--terra);text-decoration:underline}
.cookiebtns{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap}
.cookiebar button,.ck-panel-actions button{
  padding:11px 22px;border-radius:30px;font-size:13.5px;cursor:pointer;
  font-family:inherit;border:none;transition:.18s;white-space:nowrap;
}
.ck-accept{
  position:relative;overflow:hidden;color:#FBF6EC;
  background:linear-gradient(135deg,#BC6335,#8E4622);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24);
}
.ck-accept:hover{background:linear-gradient(135deg,#C56C3C,#9A4E28)}
.ck-refuse{background:transparent;color:#5C5449;border:1px solid #C4B79E}
.ck-refuse:hover{background:#EFE6D6}
.ck-link{background:none;color:var(--terra);text-decoration:underline;padding:11px 8px}
.ck-link:hover{color:var(--terra-dark)}

/* ---------- pannello ---------- */
.ck-panel{
  display:none;position:fixed;inset:0;z-index:200;
  background:rgba(35,30,24,.55);backdrop-filter:blur(3px);
  align-items:center;justify-content:center;padding:20px;
}
.ck-panel.open{display:flex}
.ck-panel-box{
  background:var(--cream);border-radius:18px;max-width:560px;width:100%;
  max-height:86vh;overflow-y:auto;padding:34px 32px 28px;position:relative;
  box-shadow:0 24px 60px rgba(40,30,20,.35);
}
.ck-panel-box h3{font-size:26px;font-weight:700;margin-bottom:8px;color:var(--ink)}
.ck-intro{font-size:14px;color:var(--muted);line-height:1.55;margin-bottom:24px}
.ck-panel-close{
  position:absolute;top:14px;right:16px;background:none;border:none;
  font-size:28px;line-height:1;color:#9A9284;cursor:pointer;padding:4px 8px;
}
.ck-panel-close:hover{color:var(--ink)}

.ck-cat{border-top:1px solid var(--line);padding:18px 0}
.ck-cat:last-of-type{border-bottom:1px solid var(--line)}
.ck-cat-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
.ck-cat-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:19px;font-weight:700;color:var(--ink)}
.ck-always{font-size:11.5px;color:var(--sage-dark);background:#E7EADB;padding:4px 12px;border-radius:20px;letter-spacing:.5px}
.ck-cat p{font-size:13px;color:var(--muted);line-height:1.55;margin:0}
.ck-cat p b{color:#5C5449}

/* interruttore */
.ck-switch{position:relative;display:inline-block;width:46px;height:26px;flex-shrink:0}
.ck-switch input{opacity:0;width:0;height:0}
.ck-slider{
  position:absolute;cursor:pointer;inset:0;background:#CFC6B2;
  border-radius:30px;transition:.25s;
}
.ck-slider::before{
  content:'';position:absolute;height:20px;width:20px;left:3px;bottom:3px;
  background:#fff;border-radius:50%;transition:.25s;box-shadow:0 1px 3px rgba(0,0,0,.2);
}
.ck-switch input:checked + .ck-slider{background:var(--terra)}
.ck-switch input:checked + .ck-slider::before{transform:translateX(20px)}
.ck-switch input:focus-visible + .ck-slider{outline:2px solid var(--terra);outline-offset:2px}

.ck-panel-actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.ck-panel-actions button{flex:1;min-width:150px;padding:13px 20px;font-size:14px}

@media(max-width:600px){
  .cookiebar{left:12px;right:12px;bottom:12px;padding:18px 20px}
  .cookiebtns{width:100%}
  .cookiebar button{flex:1}
  .ck-link{flex-basis:100%;order:3}
  .ck-panel-box{padding:28px 22px 22px;max-height:90vh}
}

/* ═══════════════════════════════════════════════════
   PAGINA VSL
   ═══════════════════════════════════════════════════ */
.vsl-top{
  background:image-set(url('../img/bg-hero.webp') type('image/webp'), url('../img/bg-hero.jpg') type('image/jpeg')) center/cover no-repeat;
  padding:56px 60px 70px;position:relative;
}
.vsl-top::before{content:'';position:absolute;inset:0;background:rgba(250,246,236,.72)}
.vsl-top > *{position:relative;z-index:2}
.vsl-h1{font-size:clamp(27px,3.9vw,45px);margin-bottom:6px}
.vsl-h1 i{color:var(--terra-cta)}
.vsl-player{
  max-width:860px;margin:34px auto 0;border-radius:18px;overflow:hidden;
  box-shadow:0 22px 60px rgba(60,45,30,.28);background:#000;aspect-ratio:16/9;
}
.vsl-player wistia-player{display:block;width:100%;height:100%}
.vsl-cta{text-align:center;margin-top:34px}
.vsl-cta .nocard{margin:14px auto 0;max-width:none;text-align:center}

/* ═══════════════════════════════════════════════════
   FORM CANDIDATURA
   ═══════════════════════════════════════════════════ */
.form-sec{background:var(--cream);padding:76px 60px 88px}
.alea-form{
  max-width:660px;margin:44px auto 0;background:#fff;
  border-radius:20px;padding:38px 36px 32px;
  box-shadow:0 14px 40px rgba(160,108,74,.14);
}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.f-field{margin-bottom:20px;position:relative}
.f-field label{
  display:block;font-size:14px;font-weight:500;color:var(--ink);
  margin-bottom:7px;line-height:1.4;
}
.f-field label span{color:var(--terra-cta)}
.f-field input,.f-field select,.f-field textarea{
  width:100%;padding:13px 15px;border:1.5px solid #DDD5C4;border-radius:10px;
  font-family:inherit;font-size:15px;color:var(--ink);background:#FCFBF6;
  transition:border-color .2s,box-shadow .2s;
}
.f-field textarea{resize:vertical;min-height:76px}
.f-field select{
  appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23A9542C' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;background-size:12px;
  padding-right:40px;
}
.f-field input:focus,.f-field select:focus,.f-field textarea:focus{
  outline:none;border-color:var(--terra);
  box-shadow:0 0 0 3px rgba(169,84,44,.13);
}
.f-err{
  display:none;font-size:12.5px;color:#B03030;margin-top:5px;
}
.f-field.has-error input,.f-field.has-error select,.f-field.has-error textarea{
  border-color:#D08080;background:#FEF7F5;
}
.f-field.has-error .f-err{display:block}
.f-hint{display:block;font-size:12px;color:#958D7E;margin-top:5px;font-style:italic}

/* consensi */
.f-consensi{border-top:1px solid var(--line);margin-top:26px;padding-top:22px}
.f-check{
  display:flex;align-items:flex-start;gap:11px;cursor:pointer;
  margin-bottom:15px;line-height:1.5;
}
.f-check input{position:absolute;opacity:0;width:0;height:0}
.f-check span{
  flex-shrink:0;width:21px;height:21px;border:1.5px solid #C4B79E;border-radius:5px;
  background:#FCFBF6;margin-top:1px;transition:.2s;position:relative;
}
.f-check input:checked + span{background:var(--terra);border-color:var(--terra)}
.f-check input:checked + span::after{
  content:'';position:absolute;left:6px;top:2px;width:6px;height:11px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);
}
.f-check input:focus-visible + span{outline:2px solid var(--terra);outline-offset:2px}
.f-check em{font-style:normal;font-size:13.5px;color:var(--muted)}
.f-check em a{color:var(--terra);text-decoration:underline}
.f-check em b{color:var(--terra-cta)}
#errPrivacy{display:none;margin:-8px 0 14px 32px}

/* honeypot: invisibile agli umani, non ai bot.
   Uso clip invece di left:-9999px per non allargare la pagina. */
.f-hp{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
}

.f-submit{width:100%;justify-content:center;margin-top:8px;font-size:16.5px;padding:17px 30px}
.f-submit.is-loading{opacity:.75;cursor:wait}
.f-submit:disabled{cursor:not-allowed}
.f-note{font-size:12.5px;color:#958D7E;text-align:center;margin-top:16px;line-height:1.55}
.f-fail{
  background:#FDF0EC;border-left:3px solid #C05A3A;padding:13px 16px;
  border-radius:8px;font-size:13.5px;color:#8A3A20;margin-bottom:18px;line-height:1.5;
}

/* conferma */
.f-ok{
  display:none;max-width:600px;margin:44px auto 0;background:#fff;
  border-radius:20px;padding:48px 40px;text-align:center;
  box-shadow:0 14px 40px rgba(160,108,74,.14);
}
.f-ok.show{display:block;animation:fadeUp .6s cubic-bezier(.2,.7,.3,1) both}
.f-ok-icon{
  width:66px;height:66px;border-radius:50%;background:#E7EADB;color:var(--sage-dark);
  display:flex;align-items:center;justify-content:center;font-size:31px;
  margin:0 auto 20px;
}
.f-ok h3{font-size:28px;font-weight:700;margin-bottom:12px;color:var(--ink)}
.f-ok p{font-size:15.5px;color:var(--muted);line-height:1.6;margin-bottom:10px}
.f-ok-small{font-size:13.5px !important;color:#958D7E !important;font-style:italic}

@media(max-width:880px){
  .vsl-top{padding:42px 22px 56px}
  .form-sec{padding:56px 22px 70px}
  .alea-form{padding:28px 22px 26px}
  .f-row{grid-template-columns:1fr;gap:0}
  .f-ok{padding:38px 24px}
}

/* tabelle nelle pagine legali */
.lg-table{width:100%;border-collapse:collapse;margin:14px 0 20px;font-size:13.5px}
.lg-table th{
  background:#EFE6D6;color:var(--ink);text-align:left;padding:10px 13px;
  font-weight:500;font-size:13px;border-bottom:1px solid var(--line);
}
.lg-table td{padding:10px 13px;border-bottom:1px solid #EDE7DA;color:var(--muted);vertical-align:top}
.lg-table td b{color:var(--ink)}
.lg-table a{color:var(--terra);text-decoration:underline}
.legal h3{font-size:18px;margin:22px 0 8px;color:var(--ink);font-family:'Cormorant Garamond',Georgia,serif;font-weight:700}
@media(max-width:600px){
  .lg-table{font-size:12.5px}
  .lg-table th,.lg-table td{padding:8px 9px}
}

/* la videocard è un link: niente sottolineature, cursore corretto */
a.videocard{text-decoration:none;color:inherit;display:block;cursor:pointer}
a.videocard:hover{transform:translateY(-3px)}
.videocard{transition:transform .3s cubic-bezier(.2,.7,.3,1)}
a.pbtn{text-decoration:none}

/* ═══════════════════════════════════════════════════
   POPUP OPTIN
   ═══════════════════════════════════════════════════ */
.optin-modal{
  display:none;position:fixed;inset:0;z-index:210;
  background:rgba(35,30,24,.6);backdrop-filter:blur(4px);
  align-items:center;justify-content:center;padding:20px;
}
.optin-modal.open{display:flex;animation:optinFade .25s ease}
@keyframes optinFade{from{opacity:0}to{opacity:1}}
.optin-box{
  background:var(--cream);border-radius:20px;max-width:440px;width:100%;
  padding:38px 34px 30px;position:relative;
  box-shadow:0 28px 70px rgba(40,30,20,.4);
  max-height:92vh;overflow-y:auto;
  animation:optinUp .35s cubic-bezier(.2,.7,.3,1);
}
@keyframes optinUp{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
.optin-close{
  position:absolute;top:14px;right:16px;background:none;border:none;
  font-size:28px;line-height:1;color:#9A9284;cursor:pointer;padding:4px 8px;
}
.optin-close:hover{color:var(--ink)}
.optin-head{text-align:center;margin-bottom:24px}
.optin-head .eyebrow{margin-bottom:10px}
.optin-head h3{font-size:27px;font-weight:700;color:var(--ink);line-height:1.15;margin-bottom:8px}
.optin-head p{font-size:14.5px;color:var(--muted);line-height:1.5}

.optin-form .f-field{margin-bottom:16px}
.optin-form .f-check{margin:6px 0 4px}
.optin-form #oErrPrivacy{display:none;font-size:12.5px;color:#B03030;margin:0 0 10px 32px}
.optin-submit{width:100%;justify-content:center;margin-top:14px;font-size:16px;padding:16px 28px}
.optin-submit.is-loading{opacity:.75;cursor:wait}
.optin-note{font-size:12px;color:#958D7E;text-align:center;margin-top:12px;line-height:1.5}

@media(max-width:480px){
  .optin-box{padding:30px 22px 24px}
  .optin-head h3{font-size:24px}
}

/* ═══════════════════════════════════════════════════
   SEZIONE CALENDARIO (ConvertoPlus)
   ═══════════════════════════════════════════════════ */
.cal-sec{background:var(--cream);padding:72px 60px 84px}
.cal-embed{
  max-width:820px;margin:40px auto 0;background:#fff;
  border-radius:20px;overflow:hidden;padding:8px;
  box-shadow:0 14px 40px rgba(160,108,74,.14);
}
.cal-embed iframe{display:block;border-radius:14px}
@media(max-width:880px){
  .cal-sec{padding:52px 20px 64px}
  .cal-embed{padding:4px}
}

/* ---------- gruppo telefono con prefisso ---------- */
.tel-group{display:flex;gap:8px;width:100%}
.tel-prefix{
  flex:0 0 96px !important;
  width:96px !important;
  min-width:96px !important;
  max-width:96px !important;
  padding:13px 26px 13px 12px !important;
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23A9542C' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 9px center;background-size:11px;
  appearance:none;text-overflow:ellipsis;
}
.tel-group input{flex:1 1 auto !important;width:auto !important;min-width:0 !important}

/* nel popup nome e cognome restano affiancati anche su mobile */
.optin-form .f-row{grid-template-columns:1fr 1fr !important;gap:10px}

/* pulsante CTA a fine di ogni sezione della VSL */
.sec-cta{text-align:center;margin-top:38px}
.sec-cta .btn{display:inline-flex}

/* ═══════════════════════════════════════════════════
   SEZIONE FONDATORE — storia di Francesco
   ═══════════════════════════════════════════════════ */
.founder{background:linear-gradient(180deg,var(--cream) 0%,var(--ivory) 100%);padding:90px 60px}
.founder-grid{
  display:grid;grid-template-columns:minmax(340px,440px) 1fr;gap:60px;align-items:center;
  max-width:1140px;margin:0 auto;
}
.founder-img{position:relative;align-self:stretch;min-height:100%}
.founder-img picture{display:block;height:100%}
.founder-img img{
  width:100%;height:100%;max-height:600px;object-fit:cover;
  border-radius:20px;display:block;
  box-shadow:0 26px 60px rgba(90,70,45,.26);
}
.founder-img::before{
  content:'';position:absolute;inset:-16px auto -16px -16px;width:60%;
  border:1.5px solid var(--sage);border-radius:22px;z-index:0;opacity:.45;
}
.founder-img picture{position:relative;z-index:1}
.founder-text{padding:6px 0}
.founder-text .eyebrow{text-align:left;margin-bottom:14px}
.founder-text h2{text-align:left;font-size:clamp(32px,3.8vw,46px);margin-bottom:8px;line-height:1.05}
.founder-role{
  font-size:13px;color:var(--sage-dark);letter-spacing:.4px;
  margin-bottom:24px;font-weight:500;line-height:1.5;
  padding-bottom:20px;border-bottom:1px solid var(--line);
}
.founder-text > p{
  font-size:15.5px;line-height:1.64;color:#4A443B;margin-bottom:14px;max-width:none;
}
.founder-text p b{color:var(--ink);font-weight:600}
.founder-stats{
  display:flex;gap:16px;margin:28px 0 24px;flex-wrap:wrap;
}
.fstat{
  flex:1;min-width:120px;background:#fff;border-radius:16px;
  padding:20px 16px;text-align:center;border:1px solid var(--line);
  box-shadow:0 6px 18px rgba(160,108,74,.08);
}
.fnum{
  display:block;font-family:'Cormorant Garamond',Georgia,serif;
  font-size:36px;font-weight:700;color:var(--terra-cta);line-height:1;margin-bottom:7px;
}
.flabel{display:block;font-size:12px;color:var(--muted);line-height:1.4}
.founder-quote{
  border-left:3px solid var(--terra);padding:8px 0 8px 22px;
  font-style:italic;font-size:17.5px;color:var(--ink);line-height:1.55;
  margin-top:10px !important;
}

@media(max-width:880px){
  .founder{padding:60px 30px}
  .founder-grid{grid-template-columns:1fr;gap:30px;max-width:440px}
  .founder-img{max-width:340px;margin:0 auto;width:100%}
  .founder-img img{max-height:none;aspect-ratio:1/1}
  .founder-img::before{inset:-12px auto -12px -12px;width:55%}
  .founder-text{text-align:left;padding:0}
  .founder-text .eyebrow,.founder-text h2,.founder-role{text-align:center}
  .founder-role{border-bottom:none;padding-bottom:0;margin-bottom:22px}
}
@media(max-width:560px){
  .founder{padding:52px 24px}
  .founder-stats{gap:10px}
  .fstat{min-width:100%;padding:16px}
  .fnum{font-size:32px}
}
