/* Shared Claps visual language — intentionally light-touch so every route stays functional. */
:root {
  --claps-ink:#29483e;
  --claps-ink-strong:#183f36;
  --claps-accent:#149b88;
  --claps-accent-dark:#0d7769;
  --claps-paper:#fffefa;
  --claps-mist:#f2f5ee;
  --claps-line:#dce6dc;
  --claps-muted:#687970;
  --claps-shadow:0 18px 45px rgba(37,76,61,.10);
  --claps-layer-chat:2147483647;
}

/* --------------------------------------------------------------------------
   Responsive foundation
   Keeps every route inside the visual viewport, including compact Android
   browsers, iPhone safe areas, tablets, landscape phones and opened chat.
   -------------------------------------------------------------------------- */
html,
body,
#root {
  width:100%;
  max-width:100%;
  min-width:0;
}
html { overflow-x:hidden; }
body { overflow-x:hidden; overflow-x:clip; }

:where(main,section,article,aside,nav,header,footer,div,form,fieldset) {
  min-width:0;
}
:where(img,video,canvas,iframe,embed,object) {
  max-width:100%;
}
:where(h1,h2,h3,h4,p,li,blockquote) {
  overflow-wrap:break-word;
}

header,
.site-header {
  max-width:100vw;
}

#claps-widget-root #claps-chat-window {
  max-width:calc(100vw - 24px)!important;
  max-height:calc(100dvh - 108px)!important;
}

button[aria-label="Chat on WhatsApp"] {
  right:max(12px,env(safe-area-inset-right))!important;
  bottom:max(14px,env(safe-area-inset-bottom))!important;
}

@media (max-width:767px) {
  html { scroll-padding-top:calc(72px + env(safe-area-inset-top)); }

  .parent-home header {
    padding-top:env(safe-area-inset-top);
  }

  .parent-hero {
    padding-top:calc(95px + env(safe-area-inset-top))!important;
    scroll-margin-top:calc(72px + env(safe-area-inset-top));
  }

  .parent-hero h1,
  .parent-hero h1 span {
    white-space:normal!important;
    overflow-wrap:normal;
  }

  .parent-hero button {
    min-height:44px;
  }

  body:has(.site-header) .hero {
    min-height:0;
    padding-top:calc(108px + env(safe-area-inset-top));
  }

  body:has(.site-header) .eyebrow-badge {
    max-width:100%;
    white-space:normal;
    text-align:left;
    line-height:1.45;
  }

  body:has(.site-header) .hero-grid,
  body:has(.site-header) .hero-content,
  body:has(.site-header) .hero-actions,
  body:has(.site-header) .hero-media {
    min-width:0;
    max-width:100%;
  }

  #claps-widget-root {
    left:max(12px,env(safe-area-inset-left))!important;
    bottom:max(14px,env(safe-area-inset-bottom))!important;
  }

  #claps-widget-root #claps-chat-window,
  #claps-widget-root #claps-chat-window.active {
    left:0!important;
    bottom:calc(58px + max(14px,env(safe-area-inset-bottom)))!important;
    width:min(380px,calc(100vw - 24px))!important;
    height:min(600px,calc(100dvh - 98px))!important;
    max-height:calc(100dvh - 98px)!important;
    margin:0!important;
    border-radius:20px!important;
  }

  #claps-widget-root #claps-toggle-wrapper.open {
    display:none!important;
  }
}

@media (max-width:359px) {
  .parent-hero > .container {
    padding-inline:16px!important;
  }

  .parent-hero h1 {
    font-size:clamp(28px,9.35vw,30px)!important;
    line-height:1.1!important;
  }

  .parent-hero h1 + p {
    font-size:13.5px!important;
  }

  .parent-hero h1 + p + p {
    max-width:275px;
  }

  body:has(.site-header) .container {
    padding-inline:16px;
  }

  body:has(.site-header) .hero {
    padding-top:calc(98px + env(safe-area-inset-top));
    padding-bottom:64px;
  }

  body:has(.site-header) .hero-title {
    font-size:clamp(34px,10.7vw,38px);
    line-height:1.04;
  }

  body:has(.site-header) .hero-actions,
  body:has(.site-header) .hero-actions .btn {
    width:100%;
  }

  .success-stories-title {
    font-size:clamp(2.45rem,13vw,2.8rem);
  }

  html:not(.parent-home) main > section[aria-label="Call to action"] .container {
    padding-inline:1.15rem!important;
  }

  html:not(.parent-home) main > section[aria-label="Call to action"] h2 {
    font-size:clamp(2.25rem,11.5vw,2.6rem)!important;
  }
}

@media (max-height:600px) and (max-width:767px) {
  .parent-hero {
    padding-top:calc(84px + env(safe-area-inset-top))!important;
  }

  #claps-widget-root #claps-chat-window,
  #claps-widget-root #claps-chat-window.active {
    height:calc(100dvh - 88px)!important;
    max-height:calc(100dvh - 88px)!important;
  }
}

html { scroll-behavior:smooth; }
body { background:var(--claps-paper); color:var(--claps-ink); -webkit-font-smoothing:antialiased; }
h1,h2,h3 { text-wrap:balance; letter-spacing:-.035em; }
p,li { text-wrap:pretty; }
::selection { background:#cce9df; color:var(--claps-ink-strong); }

:where(a,button,input,textarea,select):focus-visible {
  outline:3px solid rgba(20,155,136,.42)!important;
  outline-offset:3px!important;
}
:where(a,button) { transition:transform .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease; }
:where(button,[role="button"]):active { transform:translateY(1px) scale(.985); }

/* Warm the common utility palette without flattening intentionally dark sections. */
.bg-slate-50,.bg-gray-50 { background-color:var(--claps-mist)!important; }
.text-slate-900,.text-gray-900,.text-claps-navy { color:var(--claps-ink-strong)!important; }
.text-slate-500,.text-slate-600,.text-gray-500,.text-gray-600 { color:var(--claps-muted)!important; }
.border-slate-100,.border-slate-200,.border-gray-100,.border-gray-200 { border-color:var(--claps-line)!important; }
.bg-claps-teal,.bg-claps-green { background-color:var(--claps-accent)!important; }
.text-claps-teal,.text-claps-green { color:var(--claps-accent-dark)!important; }

/* The assistant always sits above headers, menus, modals and fixed CTAs. */
#claps-widget-root {
  z-index:var(--claps-layer-chat)!important;
  isolation:isolate!important;
  --claps-primary:var(--claps-accent)!important;
  --claps-bg:rgba(255,254,250,.985)!important;
  --claps-text-main:var(--claps-ink-strong)!important;
  --claps-text-sub:var(--claps-muted)!important;
  --claps-glass-border:1px solid rgba(124,157,139,.30)!important;
  --claps-shadow:0 24px 70px rgba(35,73,58,.22)!important;
}
#claps-widget-root #claps-chat-window,
#claps-widget-root #claps-chat-window.active,
#claps-widget-root #claps-toggle-wrapper {
  z-index:var(--claps-layer-chat)!important;
}
#claps-widget-root #claps-chat-window.active {
  position:fixed!important;
  background:rgba(255,254,250,.985)!important;
  border-color:rgba(124,157,139,.30)!important;
  box-shadow:0 24px 70px rgba(35,73,58,.22)!important;
}
#claps-widget-root .claps-header,
#claps-widget-root .claps-input-area { background:rgba(242,245,238,.96)!important; border-color:var(--claps-line)!important; }
#claps-widget-root .avatar-circle,
#claps-widget-root #claps-send-btn:not(:disabled),
#claps-widget-root .user-bubble { background:var(--claps-accent)!important; }
#claps-widget-root #claps-input:focus { border-color:var(--claps-accent)!important; box-shadow:0 0 0 4px rgba(20,155,136,.12)!important; }

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* --------------------------------------------------------------------------
   Non-home pages — the same warm, reassuring visual world as the homepage.
   These selectors target the shared static landing/blog template only.
   -------------------------------------------------------------------------- */
body:has(.site-header) {
  --primary-color:#168f7d;
  --primary-dark:#0d695d;
  --primary-light:#e9f2ea;
  --navy-color:#29483e;
  --navy-dark:#183f36;
  --text-color:#52665e;
  --text-muted:#718078;
  --bg-color:#fffefa;
  --bg-light:#f0f4eb;
  --border-color:#dbe5da;
  --white:#fffefa;
  --shadow-sm:0 8px 24px rgba(37,76,61,.06);
  --shadow-md:0 18px 48px rgba(37,76,61,.09);
  --shadow-lg:0 30px 80px rgba(37,76,61,.14);
  --gradient-hero:radial-gradient(circle at 84% 18%,rgba(202,226,208,.62),transparent 31%),linear-gradient(145deg,#fffefa 0%,#f2f5ee 100%);
  --gradient-primary:linear-gradient(135deg,#168f7d,#0d695d);
  background:#fffefa;
}

body:has(.site-header) .container { max-width:1180px; padding-inline:clamp(20px,4vw,48px); }
body:has(.site-header) .site-header {
  height:82px;
  background:rgba(255,254,250,.88);
  border-color:rgba(88,119,104,.16);
  box-shadow:0 8px 35px rgba(37,76,61,.05);
  backdrop-filter:blur(18px) saturate(125%);
}
body:has(.site-header) .logo { gap:12px; color:var(--claps-ink-strong); font-size:20px; letter-spacing:-.03em; }
body:has(.site-header) .logo-icon { height:42px; width:auto; object-fit:contain; }
body:has(.site-header) .nav-links { gap:28px; }
body:has(.site-header) .nav-link { color:#4e625a; font-weight:600; }
body:has(.site-header) .nav-link:hover { color:var(--claps-accent-dark); }
body:has(.site-header) .nav-actions .btn { min-height:48px; padding-inline:22px; }

body:has(.site-header) .hero {
  min-height:min(780px,92svh);
  padding-top:clamp(138px,13vw,174px);
  padding-bottom:clamp(78px,8vw,112px);
  background:var(--gradient-hero);
  isolation:isolate;
}
body:has(.site-header) .hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.2;
  background:url('/images/misc/noise.svg') center/320px repeat;
  pointer-events:none;
}
body:has(.site-header) .hero-grid { grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr); gap:clamp(48px,7vw,92px); }
body:has(.site-header) .hero-content { max-width:650px; }
body:has(.site-header) .eyebrow-badge {
  border:0;
  border-radius:10px;
  background:#e7f0e6;
  box-shadow:none;
  padding:8px 13px;
  color:#176859;
  letter-spacing:.05em;
  text-transform:uppercase;
  font-size:11px;
}
body:has(.site-header) .hero-title {
  font-size:clamp(46px,5.2vw,72px);
  line-height:.99;
  letter-spacing:-.055em;
  color:#183f36;
  margin-bottom:26px;
}
body:has(.site-header) .hero-title span { color:#168f7d; }
body:has(.site-header) .hero-subtitle { max-width:580px; font-size:clamp(17px,1.45vw,20px); line-height:1.65; color:#5d6f67; }
body:has(.site-header) .hero-bullet-list { gap:14px; margin-block:26px 34px; }
body:has(.site-header) .hero-bullet-item { color:#35534a; font-weight:550; }
body:has(.site-header) .hero-bullet-item > span:first-child {
  display:grid;
  place-items:center;
  flex:0 0 25px;
  width:25px;
  height:25px;
  border-radius:8px;
  background:#dfece0;
  color:#157464;
}
body:has(.site-header) .pseo-hero .hero-media { position:relative; }
body:has(.site-header) .pseo-hero .hero-media::before {
  content:"";
  position:absolute;
  inset:10% -5% -8% 8%;
  border-radius:42% 58% 48% 52%;
  background:#dfe9da;
  transform:rotate(-4deg);
  z-index:-1;
}
body:has(.site-header) .pseo-hero .hero-media img {
  max-height:500px;
  border:1px solid rgba(100,132,116,.18);
  border-radius:30px 30px 70px 30px;
  background:rgba(255,254,250,.76);
  padding:clamp(12px,2vw,24px);
  box-shadow:0 28px 70px rgba(37,76,61,.16);
}

body:has(.site-header) .btn { border-radius:14px; min-height:46px; font-weight:650; }
body:has(.site-header) .btn-primary { background:#168f7d; box-shadow:0 12px 28px rgba(22,143,125,.2); }
body:has(.site-header) .btn-primary:hover { background:#0d7769; box-shadow:0 16px 34px rgba(22,143,125,.26); }
body:has(.site-header) .btn-secondary,
body:has(.site-header) .btn-outline { background:rgba(255,254,250,.74); border-color:#bfd0c5; color:#29483e; }

body:has(.site-header) .stats { padding-block:0; border:0; background:#fffefa; }
body:has(.site-header) .stats-grid {
  position:relative;
  z-index:2;
  margin-top:-34px;
  padding:24px 16px;
  border:1px solid rgba(105,136,120,.2);
  border-radius:22px;
  background:rgba(255,254,250,.94);
  box-shadow:0 20px 55px rgba(37,76,61,.1);
  backdrop-filter:blur(14px);
}
body:has(.site-header) .stat-value { color:#176859; font-size:30px; font-variant-numeric:tabular-nums; }
body:has(.site-header) .stat-label { color:#718078; font-size:12px; letter-spacing:.04em; }

body:has(.site-header) .section { padding-block:clamp(76px,9vw,116px); }
body:has(.site-header) .section-light { background:#f0f4eb; }
body:has(.site-header) .section-header { max-width:760px; margin:0 0 52px; text-align:left; }
body:has(.site-header) .section-eyebrow { color:#168f7d; font-size:11px; letter-spacing:.13em; }
body:has(.site-header) .section-title { font-size:clamp(34px,4vw,50px); line-height:1.05; letter-spacing:-.045em; color:#183f36; }
body:has(.site-header) .section-desc { max-width:650px; color:#687970; line-height:1.7; }
body:has(.site-header) .grid-3 { grid-template-columns:1.18fr .91fr .91fr; gap:18px; align-items:stretch; }
body:has(.site-header) .card {
  border:0;
  border-radius:26px;
  padding:clamp(26px,3.2vw,40px);
  background:#eef3e9;
  box-shadow:none;
}
body:has(.site-header) .card:nth-child(2) { background:#f7efe3; }
body:has(.site-header) .card:nth-child(3) { background:#e8f1ee; }
body:has(.site-header) .card:hover { transform:translateY(-5px); border-color:transparent; box-shadow:0 20px 45px rgba(37,76,61,.1); }
body:has(.site-header) .card-icon { width:44px; height:44px; margin-bottom:42px; border-radius:13px; background:rgba(255,254,250,.72); color:#176859; }
body:has(.site-header) .card-title { color:#29483e; font-size:22px; letter-spacing:-.025em; }
body:has(.site-header) .card-desc { color:#64756d; font-size:15px; line-height:1.7; }

body:has(.site-header) .split-section { gap:clamp(48px,8vw,110px); align-items:center; }
body:has(.site-header) .highlight-panel { border:0; border-radius:28px; padding:clamp(30px,4vw,48px); background:#fffefa; box-shadow:0 22px 60px rgba(37,76,61,.09); }
body:has(.site-header) .check-list li { color:#3f594f; font-weight:550; }
body:has(.site-header) .faq-list { max-width:900px; margin:0; }
body:has(.site-header) .faq-item { border:0; border-bottom:1px solid #dbe5da; border-radius:0; background:transparent; }
body:has(.site-header) .faq-question { padding:23px 4px; color:#29483e; font-size:17px; }
body:has(.site-header) .faq-answer { background:transparent; padding-inline:4px; color:#66776f; }
body:has(.site-header) .related-grid { gap:14px; }
body:has(.site-header) .related-card { border:0; border-radius:20px; padding:24px; background:#fffefa; box-shadow:none; }
body:has(.site-header) .related-card:hover { transform:translateY(-3px); box-shadow:0 15px 35px rgba(37,76,61,.08); }

body:has(.site-header) .cta-section { position:relative; overflow:hidden; background:#183f36; text-align:left; }
body:has(.site-header) .cta-section::after { content:""; position:absolute; width:520px; height:520px; right:-180px; top:-280px; border-radius:50%; background:repeating-radial-gradient(circle,transparent 0 25px,rgba(198,225,199,.09) 26px 27px,transparent 28px 52px); }
body:has(.site-header) .cta-inner { max-width:840px; margin:0; position:relative; z-index:1; }
body:has(.site-header) .cta-inner h2 { font-size:clamp(38px,5vw,60px); line-height:1.03; letter-spacing:-.05em; }
body:has(.site-header) .cta-inner p { max-width:620px; font-size:18px; line-height:1.7; }
body:has(.site-header) .site-footer { background:#12382f; color:rgba(244,248,240,.72); border:0; }

@media (max-width:991px) {
  body:has(.site-header) .site-header { height:70px; }
  body:has(.site-header) .nav-actions > .nav-link { display:none; }
  body:has(.site-header) .nav-actions { gap:8px; }
  body:has(.site-header) .nav-actions .btn { min-height:42px; padding:9px 15px; font-size:13px; }
  body:has(.site-header) .logo span { display:none; }
  body:has(.site-header) .logo-icon { height:39px; }
  body:has(.site-header) .hero { min-height:auto; padding-top:116px; padding-bottom:86px; }
  body:has(.site-header) .hero-grid { grid-template-columns:1fr; gap:54px; text-align:left; }
  body:has(.site-header) .hero-content { align-items:flex-start; }
  body:has(.site-header) .hero-title { font-size:clamp(40px,10vw,58px); }
  body:has(.site-header) .hero-actions { align-items:stretch; max-width:420px; }
  body:has(.site-header) .pseo-hero .hero-media { width:min(100%,560px); margin-inline:auto; }
  body:has(.site-header) .stats-grid { margin-top:-28px; }
  body:has(.site-header) .grid-3 { grid-template-columns:1fr 1fr; }
  body:has(.site-header) .grid-3 .card:first-child { grid-column:1/-1; }
  body:has(.site-header) .split-section { grid-template-columns:1fr; }
}

@media (max-width:640px) {
  body:has(.site-header) .container { padding-inline:20px; }
  body:has(.site-header) .hero { padding-top:108px; padding-bottom:72px; }
  body:has(.site-header) .hero-title { font-size:42px; }
  body:has(.site-header) .hero-subtitle { font-size:16px; }
  body:has(.site-header) .hero-actions { width:100%; max-width:none; }
  body:has(.site-header) .hero-actions .btn { width:100%; }
  body:has(.site-header) .pseo-hero .hero-media img { border-radius:24px 24px 48px 24px; }
  body:has(.site-header) .stats-grid { grid-template-columns:1fr 1fr; gap:0; padding:12px; }
  body:has(.site-header) .stat-card { padding:17px 8px; border-bottom:1px solid #dbe5da; }
  body:has(.site-header) .stat-card:nth-child(odd) { border-right:1px solid #dbe5da; }
  body:has(.site-header) .stat-card:nth-child(n+3) { border-bottom:0; }
  body:has(.site-header) .stat-value { font-size:25px; }
  body:has(.site-header) .section { padding-block:72px; }
  body:has(.site-header) .section-header { margin-bottom:34px; }
  body:has(.site-header) .section-title { font-size:36px; }
  body:has(.site-header) .grid-3 { grid-template-columns:1fr; }
  body:has(.site-header) .grid-3 .card:first-child { grid-column:auto; }
  body:has(.site-header) .card-icon { margin-bottom:28px; }
  body:has(.site-header) .cta-section { text-align:left; }
}

/* React content routes: blog, programs, boards, classes, countries and cities. */
html:not(.parent-home) {
  --background:48 33% 99%;
  --foreground:158 31% 19%;
  --card:48 33% 99%;
  --card-foreground:158 31% 19%;
  --primary:169 74% 32%;
  --primary-foreground:48 33% 99%;
  --secondary:102 24% 93%;
  --secondary-foreground:158 31% 19%;
  --muted:102 18% 94%;
  --muted-foreground:150 9% 43%;
  --accent:102 24% 92%;
  --accent-foreground:158 31% 19%;
  --border:115 17% 87%;
  --input:115 17% 87%;
  --ring:169 74% 32%;
}
html:not(.parent-home) body { background:#fffefa; color:#29483e; }
html:not(.parent-home),html:not(.parent-home) body { overflow-x:clip; }
html:not(.parent-home) header:not(.site-header) {
  background:rgba(255,254,250,.9)!important;
  border-color:rgba(88,119,104,.16)!important;
  box-shadow:0 8px 35px rgba(37,76,61,.05);
  backdrop-filter:blur(18px) saturate(125%)!important;
}
html:not(.parent-home) .bg-hero-gradient {
  position:relative;
  background:radial-gradient(circle at 78% 12%,rgba(202,226,208,.54),transparent 29%),linear-gradient(145deg,#fffefa,#f0f4eb)!important;
}
html:not(.parent-home) .bg-hero-gradient::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.15;
  background:url('/images/misc/noise.svg') center/320px repeat;
}
html:not(.parent-home) .bg-hero-gradient > * { position:relative; z-index:1; }
html:not(.parent-home) main h1 { color:#183f36; letter-spacing:-.05em; line-height:1.02; }
html:not(.parent-home) main h2,
html:not(.parent-home) main h3 { color:#29483e; letter-spacing:-.035em; }
html:not(.parent-home) input,
html:not(.parent-home) textarea,
html:not(.parent-home) select {
  background:#fffefa!important;
  border-color:#d5e1d5!important;
  border-radius:14px!important;
  box-shadow:0 10px 28px rgba(37,76,61,.05);
}
html:not(.parent-home) .bg-card {
  border-color:rgba(110,143,126,.14)!important;
  border-radius:24px!important;
  background:#fffefa!important;
  box-shadow:0 14px 36px rgba(37,76,61,.07)!important;
}
html:not(.parent-home) .bg-card:hover {
  transform:translateY(-4px);
  box-shadow:0 24px 52px rgba(37,76,61,.12)!important;
}
html:not(.parent-home) a:has(> .bg-card) { border-radius:24px; }
html:not(.parent-home) main button { font-weight:600; }
html:not(.parent-home) main .rounded-full { border-radius:12px!important; }

/* Shared closing CTA — a warm, reassuring final step instead of a dark promo block. */
html:not(.parent-home) main > section[aria-label="Call to action"] {
  position:relative;
  isolation:isolate;
  width:min(1120px,calc(100% - 40px));
  margin:clamp(3rem,7vw,6rem) auto;
  padding:clamp(4rem,7vw,6.5rem) 0!important;
  overflow:hidden;
  border:1px solid rgba(36,79,64,.1);
  border-radius:44px;
  background:#e9f0df!important;
  box-shadow:0 28px 70px rgba(42,78,59,.1);
}
html:not(.parent-home) main > section[aria-label="Call to action"] > .absolute {
  display:none!important;
}
html:not(.parent-home) main > section[aria-label="Call to action"]::before {
  content:"";
  position:absolute;
  z-index:-1;
  width:31rem;
  aspect-ratio:1;
  right:-8rem;
  top:-13rem;
  border:1px solid rgba(25,94,76,.13);
  border-radius:50%;
  box-shadow:0 0 0 4.5rem rgba(25,94,76,.035),0 0 0 9rem rgba(25,94,76,.025);
}
html:not(.parent-home) main > section[aria-label="Call to action"]::after {
  content:"1 : 1";
  position:absolute;
  z-index:-1;
  right:clamp(2.5rem,7vw,6rem);
  top:50%;
  translate:0 -50%;
  color:rgba(24,63,54,.105);
  font-family:inherit;
  font-size:clamp(5.5rem,11vw,9.5rem);
  font-weight:900;
  letter-spacing:-.085em;
  line-height:1;
  white-space:nowrap;
}
html:not(.parent-home) main > section[aria-label="Call to action"] .container {
  position:relative;
  z-index:1;
}
html:not(.parent-home) main > section[aria-label="Call to action"] .container > div {
  max-width:650px!important;
  margin:0!important;
  text-align:left!important;
}
html:not(.parent-home) main > section[aria-label="Call to action"] .container > div > div:first-child {
  gap:.65rem!important;
  margin-bottom:1.6rem!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
html:not(.parent-home) main > section[aria-label="Call to action"] .container > div > div:first-child::before {
  content:"";
  width:2rem;
  height:1px;
  background:#11816f;
}
html:not(.parent-home) main > section[aria-label="Call to action"] .container > div > div:first-child > span:first-child {
  display:none!important;
}
html:not(.parent-home) main > section[aria-label="Call to action"] .home-eyebrow {
  color:#11816f!important;
  font-size:.7rem!important;
  letter-spacing:.16em!important;
}
html:not(.parent-home) main > section[aria-label="Call to action"] h2 {
  max-width:9.5ch;
  margin-bottom:1.35rem!important;
  color:#173f36!important;
  font-size:clamp(2.65rem,5.1vw,4.85rem)!important;
  font-weight:800!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
  text-wrap:balance;
}
html:not(.parent-home) main > section[aria-label="Call to action"] h2 span {
  background:none!important;
  color:#11816f!important;
  -webkit-text-fill-color:currentColor!important;
}
html:not(.parent-home) main > section[aria-label="Call to action"] .container > div > p {
  max-width:34rem!important;
  margin:0 0 2rem!important;
  color:#5a6d65!important;
  font-size:1.05rem!important;
  font-weight:500!important;
  line-height:1.7!important;
  text-wrap:pretty;
}
html:not(.parent-home) main > section[aria-label="Call to action"] .container > div > div:last-child {
  justify-content:flex-start!important;
  gap:.75rem!important;
}
html:not(.parent-home) main > section[aria-label="Call to action"] button {
  min-height:3.5rem!important;
  padding-inline:1.5rem!important;
  border-radius:14px!important;
  box-shadow:none!important;
  font-size:.92rem!important;
  font-weight:750!important;
  transform:none!important;
  transition:transform .25s ease,background-color .25s ease,border-color .25s ease!important;
}
html:not(.parent-home) main > section[aria-label="Call to action"] button:first-child {
  border:1px solid #173f36!important;
  background:#173f36!important;
  color:#fffdf8!important;
}
html:not(.parent-home) main > section[aria-label="Call to action"] button:last-child {
  border:1px solid rgba(23,63,54,.2)!important;
  background:rgba(255,255,255,.5)!important;
  color:#173f36!important;
  backdrop-filter:none!important;
}
html:not(.parent-home) main > section[aria-label="Call to action"] button:last-child svg {
  color:#11816f!important;
}
html:not(.parent-home) main > section[aria-label="Call to action"] button:hover {
  transform:translateY(-2px)!important;
}
html:not(.parent-home) main > section[aria-label="Call to action"] button:first-child:hover {
  background:#245c4d!important;
  border-color:#245c4d!important;
}
html:not(.parent-home) main > section[aria-label="Call to action"] button:last-child:hover {
  border-color:rgba(23,63,54,.4)!important;
  background:rgba(255,255,255,.82)!important;
}
html:not(.parent-home) main > section[aria-label="Call to action"] button:focus-visible {
  outline:3px solid rgba(17,129,111,.28)!important;
  outline-offset:3px;
}

@media (max-width:640px) {
  html:not(.parent-home) .bg-hero-gradient { padding-top:6.5rem!important; padding-bottom:3.5rem!important; }
  html:not(.parent-home) main h1 { font-size:clamp(2.25rem,10vw,3.25rem)!important; }
  html:not(.parent-home) .bg-card { border-radius:20px!important; }
  html:not(.parent-home) main > section[aria-label="Call to action"] {
    width:calc(100% - 28px);
    margin:2.5rem auto 3.5rem;
    padding:3.5rem 0 3.75rem!important;
    border-radius:28px;
  }
  html:not(.parent-home) main > section[aria-label="Call to action"]::before {
    width:18rem;
    right:-10rem;
    top:-10rem;
  }
  html:not(.parent-home) main > section[aria-label="Call to action"]::after {
    right:-.25rem;
    top:2.1rem;
    translate:0 0;
    font-size:5rem;
    opacity:.7;
  }
  html:not(.parent-home) main > section[aria-label="Call to action"] .container {
    padding-inline:1.5rem!important;
  }
  html:not(.parent-home) main > section[aria-label="Call to action"] h2 {
    max-width:8.5ch;
    font-size:clamp(2.55rem,12vw,3.45rem)!important;
  }
  html:not(.parent-home) main > section[aria-label="Call to action"] .container > div > p {
    font-size:.96rem!important;
  }
  html:not(.parent-home) main > section[aria-label="Call to action"] .container > div > div:last-child {
    width:100%;
    align-items:stretch!important;
  }
  html:not(.parent-home) main > section[aria-label="Call to action"] button {
    width:100%!important;
  }
  html:not(.parent-home) footer .container,
  html:not(.parent-home) footer .grid,
  html:not(.parent-home) footer .grid > * { min-width:0!important; max-width:100%!important; }
  html:not(.parent-home) footer h2,
  html:not(.parent-home) footer h3,
  html:not(.parent-home) footer p { max-width:100%!important; overflow-wrap:anywhere; }
}

/* Last-word compact-width overrides: kept at the end so legacy route styles
   cannot re-introduce fixed mobile sizing. */
@media (max-width:359px) {
  body:has(.site-header) .container { padding-inline:16px; }
  body:has(.site-header) .hero {
    min-height:0;
    padding-top:calc(98px + env(safe-area-inset-top));
    padding-bottom:64px;
  }
  body:has(.site-header) .hero-title {
    font-size:clamp(34px,10.7vw,38px);
    line-height:1.04;
  }
  body:has(.site-header) .hero-actions,
  body:has(.site-header) .hero-actions .btn { width:100%; }
  .success-stories-title { font-size:clamp(2.45rem,13vw,2.8rem); }
  html:not(.parent-home) main > section[aria-label="Call to action"] .container { padding-inline:1.15rem!important; }
  html:not(.parent-home) main > section[aria-label="Call to action"] h2 { font-size:clamp(2.25rem,11.5vw,2.6rem)!important; }
}

/* --------------------------------------------------------------------------
   Claps AI chat window: same AI language as the Ask CLAPS launcher
   (gradient sparkle, gradient accents, AI chip). Launcher styles live in
   parent-home.css.
   -------------------------------------------------------------------------- */
#claps-widget-root #claps-chat-window.active { overflow:hidden; }
#claps-widget-root .claps-header { position:relative; }
#claps-widget-root .claps-header::after {
  content:''; position:absolute; left:0; right:0; bottom:-1px; height:2px;
  background:linear-gradient(90deg,#6fa8ff,#c98bff,#f27bff,#ffd36e,#6fa8ff); background-size:200% 100%;
  animation:claps-ai-flow 6s linear infinite;
}
#claps-widget-root .avatar-circle {
  position:relative; width:36px; height:36px;
  background:
    radial-gradient(70% 70% at 20% 25%,#6fa8ff,transparent 70%),
    radial-gradient(70% 70% at 80% 40%,#f27bff,transparent 70%),
    radial-gradient(60% 60% at 70% 95%,#ffe28a,transparent 70%),
    #c79bff!important;
  box-shadow:0 0 0 3px rgba(232,224,255,.9),0 4px 12px rgba(170,120,255,.35);
}
#claps-widget-root .avatar-circle svg { animation:claps-ai-twinkle 3.2s ease-in-out infinite; transform-origin:center; }
#claps-widget-root .header-text .title { display:flex; align-items:center; gap:6px; color:#173f34; }
#claps-widget-root .header-text .title .claps-ai-chip { margin-left:0; vertical-align:0; }
#claps-widget-root .header-text .status { color:#2f8a5f; }
#claps-widget-root .header-text .status::before { background:#34b36b; box-shadow:0 0 0 0 #34b36b66; animation:claps-ai-pulse 2.4s ease-out infinite; }

#claps-widget-root .bot-bubble { background:#fff; border:1px solid #e3ebe2; color:#24423a; box-shadow:0 2px 8px #213e380a; }
#claps-widget-root .bot-bubble a { color:#5a45c8; border-bottom-color:#5a45c833; }
#claps-widget-root .user-bubble { background:linear-gradient(120deg,#5468e8,#a24fd8)!important; box-shadow:0 4px 14px rgba(140,90,230,.28); }
#claps-widget-root .typing-dot { background:#6f8cff; }
#claps-widget-root .typing-dot:nth-child(2) { background:#c86bf2; }
#claps-widget-root .typing-dot:nth-child(3) { background:#f2a65a; }

#claps-widget-root .claps-suggest { display:flex; flex-wrap:wrap; gap:8px; margin-top:2px; animation:popIn .3s ease .15s both; }
#claps-widget-root .claps-suggest button {
  font:inherit; font-size:13px; line-height:1.2; color:#4b3d8f; cursor:pointer;
  padding:8px 12px; border-radius:999px; background:#f6f3ff; border:1px solid #ddd3fb;
  transition:background .15s,border-color .15s,transform .15s;
}
#claps-widget-root .claps-suggest button:hover { background:#efe9ff; border-color:#b9a5f3; transform:translateY(-1px); }
#claps-widget-root .claps-suggest button:focus-visible { outline:2px solid #8b6cf0; outline-offset:2px; }

#claps-widget-root #claps-input { border-radius:16px; border-color:#d6e2d8; }
#claps-widget-root #claps-input:focus {
  border-color:transparent!important;
  background:linear-gradient(#fff,#fff) padding-box,linear-gradient(110deg,#6fa8ff,#c98bff,#f27bff,#ffd36e) border-box;
  box-shadow:0 0 0 4px rgba(190,150,255,.18)!important;
}
#claps-widget-root #claps-send-btn:not(:disabled) { background:linear-gradient(120deg,#5468e8,#a24fd8)!important; box-shadow:0 4px 12px rgba(140,90,230,.35); }
#claps-widget-root #claps-send-btn:not(:disabled):hover { transform:scale(1.06); }

/* The widget's footer shares the site footer's class name; undo those styles here. */
#claps-widget-root .claps-chat-foot {
  display:flex; align-items:center; justify-content:center; gap:5px;
  background:rgba(242,245,238,.96)!important; color:#6f8277!important; border-radius:0!important;
  font-size:11px; padding:7px 8px 9px; margin:0; isolation:auto; overflow:visible;
}
#claps-widget-root .claps-chat-foot::before,#claps-widget-root .claps-chat-foot::after { display:none!important; }
#claps-widget-root .claps-chat-foot svg { color:#b07cf2; }

@keyframes claps-ai-flow { to { background-position:200% 0; } }
@keyframes claps-ai-pulse { 0% { box-shadow:0 0 0 0 #34b36b66; } 70%,100% { box-shadow:0 0 0 6px #34b36b00; } }
@media (prefers-reduced-motion:reduce) {
  #claps-widget-root .claps-header::after,#claps-widget-root .avatar-circle svg,#claps-widget-root .header-text .status::before { animation:none!important; }
}
