/* ============================================================
   Beso Provider Hub — shared.css
   Common styles included by every page.
   Page-specific styles remain in each page's <style> block.
   ============================================================ */

/* RESET */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

/* TOKENS */
:root{
  --white:#FFFFFF;--off-white:#F8F6F3;--surface:#F2EEE9;--border:#E4DDD6;
  --text-dark:#1C1917;--text-mid:#57534E;--text-light:#A8A29E;
  --purple:#7B3FA0;--purple-deep:#5A2D7A;--purple-soft:#EDE4F5;
  --gold:#C8A97E;--gold-light:#F5EFE6;--ink:#100E0C;
}

/* BASE */
html{scroll-behavior:smooth;}
body{font-family:'Outfit',sans-serif;background:var(--white);color:var(--text-dark);overflow-x:hidden;}

/* NAV */
#main-nav{position:fixed;top:0;left:0;right:0;z-index:9999;height:68px;display:flex;align-items:center;padding:0 80px;background:rgba(255,255,255,0.93);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);transition:box-shadow 0.3s;}
.nav-inner{width:100%;max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{text-decoration:none;display:flex;align-items:center;}
.nav-logo-img{height:40px;width:auto;display:block;}
#main-nav.scrolled .nav-logo-img{height:34px;}
.nav-links{display:flex;align-items:center;gap:30px;list-style:none;}
.nav-links a{font-size:0.79rem;font-weight:500;color:var(--text-mid);text-decoration:none;transition:color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--purple);}
.nav-cta{background:var(--purple)!important;color:var(--white)!important;padding:9px 22px!important;border-radius:2px!important;font-size:0.74rem!important;letter-spacing:0.05em!important;}
.nav-cta:hover{background:var(--purple-deep)!important;}

/* LAYOUT */
.container{max-width:1280px;margin:0 auto;padding:0 80px;}

/* TYPOGRAPHY HELPERS */
.kicker{font-size:0.65rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--purple);}
/* courses.html uses .label — same visual purpose */
.label{font-size:0.7rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--purple);}
/* display serif used on courses.html */
.display{font-family:'Cormorant Garamond',serif;font-weight:300;line-height:1.05;letter-spacing:-0.01em;}
.gold-rule{width:40px;height:1px;background:var(--gold);margin:18px 0;}

/* BUTTONS */
.btn-primary{display:inline-flex;align-items:center;gap:10px;background:var(--purple);color:var(--white);padding:14px 32px;border-radius:2px;font-size:0.8rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;transition:background 0.25s,transform 0.2s;}
.btn-primary:hover{background:var(--purple-deep);transform:translateY(-1px);}
.btn-outline{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);color:var(--text-dark);padding:13px 28px;border-radius:2px;font-size:0.78rem;font-weight:500;letter-spacing:0.07em;text-transform:uppercase;text-decoration:none;transition:all 0.2s;}
.btn-outline:hover{border-color:var(--purple);color:var(--purple);}
.btn-gold{display:inline-flex;align-items:center;gap:9px;background:var(--gold);color:var(--ink);padding:13px 30px;border-radius:2px;font-size:0.76rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;transition:opacity 0.2s;}
.btn-gold:hover{opacity:0.88;}
.btn-ink{display:inline-flex;align-items:center;gap:9px;background:var(--ink);color:var(--white);padding:13px 30px;border-radius:2px;font-size:0.76rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;transition:opacity 0.2s;}
.btn-ink:hover{opacity:0.82;}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);color:var(--text-dark);padding:12px 26px;border-radius:2px;font-size:0.74rem;font-weight:500;letter-spacing:0.07em;text-transform:uppercase;text-decoration:none;transition:all 0.2s;}
.btn-ghost:hover{border-color:var(--purple);color:var(--purple);}
.btn-ghost-light{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,0.22);color:rgba(255,255,255,0.72);padding:12px 26px;border-radius:2px;font-size:0.74rem;font-weight:500;letter-spacing:0.07em;text-transform:uppercase;text-decoration:none;transition:all 0.2s;}
.btn-ghost-light:hover{border-color:rgba(255,255,255,0.6);color:var(--white);}

/* CITIES SERVED */
.cities-served{font-size:0.82rem;font-weight:300;color:var(--text-light);line-height:1.75;margin-top:12px;border-top:1px solid var(--border);padding-top:12px;}
.cities-served a{color:var(--purple);text-decoration:none;border-bottom:1px solid rgba(123,63,160,0.2);}
.cities-served a:hover{border-color:var(--purple);}

/* FOOTER */
footer{background:var(--ink);color:var(--white);padding:64px 0 32px;}
.footer-inner{max-width:1280px;margin:0 auto;padding:0 80px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,0.07);margin-bottom:32px;}
.fbrand-name{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:500;color:var(--white);}
.fbrand-tag{font-size:0.56rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-top:3px;}
.fbrand-desc{margin-top:16px;font-size:0.8rem;font-weight:300;color:rgba(255,255,255,0.4);line-height:1.8;}
.fcol-head{font-size:0.6rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
.fcol ul{list-style:none;display:flex;flex-direction:column;gap:9px;}
.fcol ul a{font-size:0.8rem;font-weight:300;color:rgba(255,255,255,0.45);text-decoration:none;transition:color 0.2s;}
.fcol ul a:hover{color:var(--white);}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;}
.footer-copy{font-size:0.72rem;color:rgba(255,255,255,0.48);}
.footer-legal{display:flex;gap:22px;}
.footer-legal a{font-size:0.7rem;color:rgba(255,255,255,0.48);text-decoration:none;}
.footer-legal a:hover{color:rgba(255,255,255,0.55);}

/* HAMBURGER BUTTON */
.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:8px;background:none;border:none;cursor:pointer;flex-shrink:0;}
.nav-hamburger span{display:block;width:22px;height:1.5px;background:var(--text-dark);transition:transform 0.25s,opacity 0.2s;}
.nav-hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.nav-hamburger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* MOBILE NAV PANEL */
.mobile-nav{display:block!important;position:fixed!important;top:68px;left:0;right:0;z-index:9999!important;background:#FFFFFF!important;border-bottom:1px solid var(--border);padding:16px 24px 24px;box-shadow:0 8px 24px rgba(0,0,0,0.15);opacity:0;pointer-events:none;transition:opacity 0.2s ease;}
.mobile-nav.is-open{opacity:1!important;pointer-events:auto!important;}
.mobile-nav ul{list-style:none;display:flex;flex-direction:column;gap:0;}
.mobile-nav ul li a{display:block;font-size:0.9rem;font-weight:500;color:var(--text-mid);text-decoration:none;padding:13px 0;border-bottom:1px solid var(--border);transition:color 0.2s;}
.mobile-nav ul li:last-child a{border-bottom:none;}
.mobile-nav ul li a:hover,.mobile-nav ul li a.active{color:var(--purple);}
.mobile-nav ul li a.nav-cta{color:var(--purple);font-weight:600;}

/* RESPONSIVE — nav & container only (page sections handled per-page) */
@media(max-width:1024px){
  #main-nav{padding:0 40px;}
  .container{padding:0 40px;}
  .footer-inner{padding:0 40px;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px;}
}
@media(max-width:640px){
  #main-nav{padding:0 24px;}
  .nav-links{display:none;}
  .nav-hamburger{display:flex;}
  .container{padding:0 24px;}
  .footer-inner{padding:0 24px;}
  .footer-grid{grid-template-columns:1fr;}
}

/* SCROLL-REVEAL ANIMATIONS */
.reveal{opacity:0;transform:translateY(32px);transition:opacity 0.7s ease,transform 0.7s ease;}
.reveal.revealed{opacity:1;transform:translateY(0);}
.reveal-child>*{opacity:0;transform:translateY(24px);transition:opacity 0.5s ease,transform 0.5s ease;}
.reveal-child.revealed>*{opacity:1;transform:translateY(0);}
.reveal-child.revealed>*:nth-child(1){transition-delay:0s;}
.reveal-child.revealed>*:nth-child(2){transition-delay:0.08s;}
.reveal-child.revealed>*:nth-child(3){transition-delay:0.16s;}
.reveal-child.revealed>*:nth-child(4){transition-delay:0.24s;}
.reveal-child.revealed>*:nth-child(5){transition-delay:0.32s;}
.reveal-child.revealed>*:nth-child(6){transition-delay:0.4s;}
@media(prefers-reduced-motion:reduce){
  .reveal,.reveal-child>*{opacity:1!important;transform:none!important;transition:none!important;}
}

/* GRADIENT TEXT — apply to <em> or any element for purple→gold accent */
.text-gradient,
.hero-title em.text-gradient,
.section-title em.text-gradient{
  background:linear-gradient(135deg,var(--purple) 0%,var(--gold) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
}

/* NOISE TEXTURE — add class .has-noise to any dark section for subtle grain */
.has-noise{position:relative;}
.has-noise::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0.04;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.7 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-size:200px 200px;
}
.has-noise>*{position:relative;z-index:2;}

/* CARD LIFT ON HOVER — applies to common card patterns site-wide */
.intent-card,.rel-card,.bc-card,.ws-card,.for-card,.guide-card,.workshop-card,
.bundle-card,.cred-card,.path-card,.support-card,.outcome-card,.fp-card,
.related-card,.locality-card,.faq-card,.testimonial-card,.del-item,
.del-card,.value-card,.tier-card,.audit-card{
  transition:transform 0.25s ease,box-shadow 0.25s ease,border-color 0.2s,background 0.2s;
}
.intent-card:hover,.rel-card:hover,.bc-card:hover,.ws-card:hover,.for-card:hover,
.guide-card:hover,.workshop-card:hover,.bundle-card:hover,.cred-card:hover,
.path-card:hover,.support-card:hover,.outcome-card:hover,.fp-card:hover,
.related-card:hover,.locality-card:hover,.faq-card:hover,.testimonial-card:hover,
.del-card:hover,.value-card:hover,.tier-card:hover,.audit-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 32px -12px rgba(28,25,23,0.12);
}
@media(prefers-reduced-motion:reduce){
  .intent-card:hover,.rel-card:hover,.bc-card:hover,.ws-card:hover,.for-card:hover,
  .guide-card:hover,.workshop-card:hover,.bundle-card:hover,.cred-card:hover,
  .path-card:hover,.support-card:hover,.outcome-card:hover,.fp-card:hover,
  .related-card:hover,.locality-card:hover,.faq-card:hover,.testimonial-card:hover,
  .del-card:hover,.value-card:hover,.tier-card:hover,.audit-card:hover{transform:none;}
}

/* SECTION DIVIDERS — opt-in editorial numerals */
/* Usage: <span class="section-numeral">01</span> before a section title */
.section-numeral{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:300;
  font-size:clamp(3rem,5vw,5rem);
  color:var(--gold);
  opacity:0.35;
  line-height:1;
  display:block;
  margin-bottom:8px;
  letter-spacing:-0.02em;
}
.section-numeral.dark{color:var(--gold);opacity:0.5;}

/* CUSTOM CURSOR — opt-in via .cursor-luxe class on a section */
/* Disabled on touch devices automatically; respects reduced-motion */
.beso-cursor{
  position:fixed;top:0;left:0;width:14px;height:14px;border-radius:50%;
  background:var(--gold);pointer-events:none;z-index:99999;
  transform:translate(-50%,-50%);
  opacity:0;transition:opacity 0.2s ease,width 0.25s ease,height 0.25s ease,background 0.2s ease;
  mix-blend-mode:screen;
}
.beso-cursor.bc-active{opacity:0.85;}
.beso-cursor.bc-hover{width:42px;height:42px;background:rgba(200,169,126,0.35);border:1px solid var(--gold);}
@media(hover:none),(prefers-reduced-motion:reduce){
  .beso-cursor{display:none!important;}
}

/* ═══ CHAT WIDGET ═══ */
.bc-launcher{
  position:fixed;bottom:24px;right:24px;z-index:9000;
  width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;
  background:linear-gradient(135deg,var(--purple) 0%,var(--purple-deep) 100%);
  color:var(--white);box-shadow:0 8px 24px -6px rgba(123,63,160,0.5);
  display:flex;align-items:center;justify-content:center;
  transition:transform 0.25s ease,box-shadow 0.25s ease;
  font-family:inherit;
}
.bc-launcher:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 14px 32px -8px rgba(123,63,160,0.6);}
.bc-launcher svg{width:26px;height:26px;}
.bc-launcher.is-open{background:var(--ink);}
.bc-launcher .bc-icon-close{display:none;}
.bc-launcher.is-open .bc-icon-chat{display:none;}
.bc-launcher.is-open .bc-icon-close{display:block;}
.bc-pulse{position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--gold);opacity:0;animation:bcPulse 2.4s ease-out infinite;pointer-events:none;}
@keyframes bcPulse{0%{opacity:0.6;transform:scale(0.95);}100%{opacity:0;transform:scale(1.35);}}
.bc-launcher.is-open .bc-pulse{display:none;}

.bc-panel{
  position:fixed;bottom:96px;right:24px;z-index:9001;
  width:380px;max-width:calc(100vw - 32px);height:560px;max-height:calc(100vh - 120px);
  background:var(--white);border:1px solid var(--border);
  box-shadow:0 24px 60px -16px rgba(28,25,23,0.25);
  display:flex;flex-direction:column;overflow:hidden;
  opacity:0;transform:translateY(16px) scale(0.98);pointer-events:none;
  transition:opacity 0.25s ease,transform 0.25s ease;
}
.bc-panel.is-open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}

.bc-header{
  background:var(--ink);color:var(--white);
  padding:18px 20px;display:flex;align-items:center;gap:12px;flex-shrink:0;
  position:relative;overflow:hidden;
}
.bc-header::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 20%,rgba(200,169,126,0.18) 0%,transparent 60%);pointer-events:none;}
.bc-avatar{width:38px;height:38px;border-radius:50%;background:var(--gold);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:500;flex-shrink:0;position:relative;z-index:2;}
.bc-header-text{flex:1;position:relative;z-index:2;}
.bc-header-name{font-size:0.86rem;font-weight:600;letter-spacing:0.01em;}
.bc-header-status{font-size:0.66rem;font-weight:500;letter-spacing:0.08em;color:var(--gold);text-transform:uppercase;display:flex;align-items:center;gap:6px;margin-top:2px;}
.bc-status-dot{width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 6px #4ade80;}

.bc-body{flex:1;overflow-y:auto;padding:20px;background:var(--off-white);display:flex;flex-direction:column;gap:14px;}
.bc-body::-webkit-scrollbar{width:6px;}
.bc-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}

.bc-msg{max-width:85%;padding:12px 16px;font-size:0.84rem;line-height:1.55;animation:bcMsgIn 0.3s ease both;}
@keyframes bcMsgIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.bc-msg.bc-bot{align-self:flex-start;background:var(--white);border:1px solid var(--border);color:var(--text-dark);}
.bc-msg.bc-user{align-self:flex-end;background:var(--purple);color:var(--white);}
.bc-msg strong{font-weight:600;}
.bc-msg em{font-style:italic;color:var(--purple);}
.bc-msg.bc-user em{color:rgba(255,255,255,0.85);}

.bc-options{display:flex;flex-direction:column;gap:8px;margin-top:4px;animation:bcMsgIn 0.35s ease 0.15s both;}
.bc-option{
  background:var(--white);border:1px solid var(--border);color:var(--text-dark);
  padding:11px 14px;font-size:0.8rem;font-weight:500;text-align:left;cursor:pointer;
  font-family:inherit;display:flex;align-items:center;justify-content:space-between;gap:10px;
  transition:border-color 0.15s,background 0.15s,color 0.15s,transform 0.12s;
}
.bc-option:hover{border-color:var(--purple);color:var(--purple);transform:translateX(2px);}
.bc-option .bc-arrow{font-size:0.78rem;color:var(--text-light);flex-shrink:0;transition:color 0.15s;}
.bc-option:hover .bc-arrow{color:var(--purple);}
.bc-option.bc-cta{background:var(--purple);color:var(--white);border-color:var(--purple);}
.bc-option.bc-cta:hover{background:var(--purple-deep);color:var(--white);}
.bc-option.bc-cta .bc-arrow{color:var(--gold);}
.bc-option.bc-gold{background:var(--gold);color:var(--ink);border-color:var(--gold);}
.bc-option.bc-gold:hover{background:#B8956A;color:var(--ink);}

.bc-typing{align-self:flex-start;background:var(--white);border:1px solid var(--border);padding:12px 16px;display:flex;gap:4px;animation:bcMsgIn 0.3s ease both;}
.bc-typing span{width:6px;height:6px;border-radius:50%;background:var(--text-light);animation:bcDot 1.2s ease-in-out infinite;}
.bc-typing span:nth-child(2){animation-delay:0.2s;}
.bc-typing span:nth-child(3){animation-delay:0.4s;}
@keyframes bcDot{0%,60%,100%{opacity:0.3;transform:translateY(0);}30%{opacity:1;transform:translateY(-4px);}}

.bc-footer{padding:10px 16px;background:var(--white);border-top:1px solid var(--border);font-size:0.66rem;color:var(--text-light);text-align:center;letter-spacing:0.04em;flex-shrink:0;}
.bc-footer a{color:var(--purple);text-decoration:none;font-weight:600;}
.bc-restart{background:none;border:none;color:var(--text-light);font-size:0.7rem;cursor:pointer;text-decoration:underline;font-family:inherit;padding:0;margin-left:6px;}
.bc-restart:hover{color:var(--purple);}

@media(max-width:480px){
  .bc-launcher{bottom:16px;right:16px;width:54px;height:54px;}
  .bc-launcher svg{width:22px;height:22px;}
  .bc-panel{bottom:80px;right:16px;left:16px;width:auto;height:calc(100vh - 110px);}
}

/* ═══ EXIT-INTENT LEAD MAGNET ═══ */
.exit-overlay{position:fixed;inset:0;z-index:10100;background:rgba(16,14,12,0.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity 0.3s;}
.exit-overlay.exit-open{display:flex;opacity:1;}
.exit-modal{background:var(--white);max-width:480px;width:100%;border-radius:2px;overflow:hidden;position:relative;animation:exitIn 0.35s ease;}
@keyframes exitIn{from{transform:scale(0.92) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}
.exit-close{position:absolute;top:14px;right:14px;background:none;border:none;font-size:1.5rem;color:var(--text-light);cursor:pointer;z-index:2;line-height:1;padding:4px 8px;}
.exit-close:hover{color:var(--text-dark);}
.exit-top{background:var(--ink);padding:36px 32px 28px;text-align:center;}
.exit-icon{font-size:2.2rem;margin-bottom:12px;}
.exit-headline{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:400;color:var(--white);line-height:1.2;margin-bottom:8px;}
.exit-sub{font-size:0.82rem;font-weight:300;color:rgba(255,255,255,0.55);line-height:1.6;}
.exit-body{padding:28px 32px 32px;}
.exit-bullets{list-style:none;margin-bottom:20px;}
.exit-bullets li{font-size:0.82rem;color:var(--text-mid);padding:6px 0;padding-left:20px;position:relative;line-height:1.6;}
.exit-bullets li::before{content:'✓';position:absolute;left:0;color:var(--purple);font-weight:700;}
.exit-form{display:flex;gap:8px;}
.exit-input{flex:1;padding:12px 16px;border:1px solid var(--border);border-radius:2px;font-size:0.84rem;font-family:inherit;outline:none;transition:border-color 0.2s;}
.exit-input:focus{border-color:var(--purple);}
.exit-submit{padding:12px 20px;background:var(--purple);color:var(--white);border:none;border-radius:2px;font-size:0.76rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:background 0.2s;}
.exit-submit:hover{background:var(--purple-deep);}
.exit-note{font-size:0.7rem;color:var(--text-light);margin-top:10px;text-align:center;}
.exit-success{text-align:center;padding:40px 32px;}
.exit-success-icon{font-size:2.4rem;margin-bottom:12px;}
.exit-success-h{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:400;color:var(--text-dark);margin-bottom:8px;}
.exit-success-p{font-size:0.82rem;color:var(--text-mid);line-height:1.6;}
@media(max-width:480px){.exit-modal{max-width:100%;} .exit-form{flex-direction:column;} .exit-top{padding:28px 24px 20px;} .exit-body{padding:20px 24px 24px;}}

/* ═══ DENSITY OVERRIDES ═══ */
/* Tighten vertical whitespace site-wide. Tuned conservatively — heroes still
   keep weight, content sections feel less airy. Adjust the values below if
   the site feels too tight/loose. */
section{padding-top:88px!important;padding-bottom:88px!important;}
/* Heroes keep more breathing room */
.hero,.page-hero,.page-hdr,.quiz-hero{padding-top:108px!important;padding-bottom:72px!important;}
/* Sections inside hero blocks shouldn't be doubled */
.hero section,.page-hero section{padding-top:0!important;padding-bottom:0!important;}
/* Final / closing CTA bands keep gravity */
.final-cta,.cta-band,.bottom-cta{padding-top:96px!important;padding-bottom:96px!important;}
/* Mobile — already cramped, restore some breathing room */
@media(max-width:640px){
  section{padding-top:64px!important;padding-bottom:64px!important;}
  .hero,.page-hero,.page-hdr,.quiz-hero{padding-top:88px!important;padding-bottom:56px!important;}
  .final-cta,.cta-band,.bottom-cta{padding-top:72px!important;padding-bottom:72px!important;}
}
