/* Shared responsive rules, loaded last in the page and both animated embeds. */
:root { --page-gutter: clamp(1rem, 4vw, 3rem); --section-space: clamp(4rem, 7vw, 7rem); }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: border-box; }
body { min-width: 0; }
body.component-page { min-height: 0; display: block; padding: 0; }
button, summary, a { -webkit-tap-highlight-color: rgba(126,224,74,.16); }
h1, h2, h3, h4, p, li, figcaption { overflow-wrap: anywhere; }
.site-header, .hero__content, .why__inner, .lead-demo__inner, .faq__inner, .site-footer__top, .site-footer__bottom {
  width: min(1280px, calc(100% - var(--page-gutter) - var(--page-gutter)));
}
.hero { min-height: 100vh; min-height: 100svh; height: auto; }
.hero__content { width: min(1000px, calc(100% - var(--page-gutter) - var(--page-gutter))); height: auto; padding-block: clamp(3rem, 8vh, 6rem); }
h1 { max-width: 100%; font-size: clamp(2.25rem, calc(1.25rem + 4vw), 5.6rem); }
.hero__content > p { font-size: 1.0625rem; }
.hero__actions { max-width: 100%; }
.button, .pr-cta { min-height: 3.5rem; height: auto; white-space: normal; text-align: center; padding-block: .9rem; }
.button span, .pr-cta svg { flex-shrink: 0; }
.site-header { min-height: 5.25rem; height: auto; padding-block: 1.25rem; flex-wrap: wrap; }
.brand, .brand__mark { flex-shrink: 0; }
.brand small { font-size: .625rem; }
.hero__proof { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: min(100%, 44rem); padding: 1.25rem; gap: 1rem; }
.hero__proof > div { min-width: 0; margin: 0; padding: 0 1rem 0 0; gap: .65rem; }
.hero__proof strong { font-size: .875rem; }
.hero__proof span { min-width: 0; max-width: 100%; }
.hero__proof strong, .hero__proof small { overflow-wrap: anywhere; }
.hero__proof small { line-height: 1.5; }
.why__inner, .lead-demo__inner, .faq__inner { padding-block: var(--section-space); }
.why__inner > *, .lead-demo__inner > *, .faq__inner > *, .pr-head > *, .pr-tier, .call-preview li > div, .sv-head > *, .sv-detail-inner > *, .sv-inc-t, .fs-head > *, .fs-step > * { min-width: 0; }
.sv, .fs, .pr { padding: var(--section-space) max(var(--page-gutter), calc((100vw - 1280px) / 2)); font-size: 1rem; }
.sv-head { grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); }
.sv-detail-inner { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); }
.sv-row { grid-template-columns: 3rem minmax(0,1fr) auto auto; gap: 1.2rem; }
.sv-inc li { grid-template-columns: 2rem minmax(0,1fr) auto; }
.sv-inc-label { font-size: .75rem; line-height: 1.6; }
.sv-eyebrow span, .fs-label, .pr-label { line-height: 1.6; }
.fs-head { grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); }
.fs-time { white-space: normal; }
.fs-done { overflow-wrap: anywhere; }
.pr-head { grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); }
.pr-tiers { grid-template-columns: repeat(3,minmax(0,1fr)); }
.pr-switch { max-width: 100%; }
.pr-switch button { min-width: 0; min-height: 2.75rem; font-size: .75rem; white-space: normal; }
.pr-switch button:focus-visible { outline-offset: 0; }
.pr-prices { min-width: 0; }
.pr-num { overflow-wrap: anywhere; }
.pr-cap, .pr-badge, .pr-feat { overflow-wrap: anywhere; }
.pr-cta { gap: .5rem; padding-inline: .8rem; }
.pf-phone { width: min(100%, 22rem); height: auto; min-height: 0; aspect-ratio: auto; font-size: 1.125rem; }
.pf-screen { min-height: 44rem; height: auto; padding: 1rem .75rem .5rem; }
.pf-stack { padding-top: 1.25rem; }
.pf-note { min-width: 0; }
.pf-body b { font-size: .875rem; }
.pf-body span, .pf-body i { font-size: .8125rem; overflow-wrap: anywhere; }
.pf-date, .pf-when { font-size: .625rem; }
.pf-when { max-width: 3rem; overflow-wrap: anywhere; }
.pf-timer { max-width: 100%; font-size: .75rem; white-space: normal; text-align: center; }
.faq__question { overflow-wrap: anywhere; }
.faq__answer-inner { padding-right: clamp(1rem, 5vw, 4.625rem); }
.call-preview summary { min-height: 3.5rem; }
.call-preview summary span { flex-shrink: 0; }
.booking--unified { padding: var(--section-space) max(var(--page-gutter), calc((100vw - 1280px) / 2)); }
.booking__calendar { max-width: 100%; min-height: 40rem; }
.booking__calendar iframe { display: block; max-width: 100%; }
.booking__fallback a { display: inline-block; padding-block: .5rem; }
.site-footer__top { flex-wrap: wrap; }
.site-footer nav a, .site-footer__bottom a { display: inline-flex; align-items: center; min-height: 2.75rem; }
.site-footer nav { gap: .4rem 2rem; }

@media (max-width: 1100px) {
  .site-header > .site-nav > a:not(.nav-cta) { display: none; }
  .site-header { gap: 1rem; }
  .site-nav { margin-left: auto; }
  .mobile-menu { flex-shrink: 0; }
  .mobile-menu nav { max-height: min(32rem, calc(100svh - 7rem)); overflow-y: auto; overscroll-behavior: contain; }
}
@media (max-width: 1000px) {
  .why__inner, .lead-demo__inner, .faq__inner, .sv-head, .sv-detail-inner, .fs-head, .pr-head { grid-template-columns: minmax(0,1fr); }
  .why__intro, .faq__intro { position: static; }
  .faq__index { display: none; }
  .sv-row { grid-template-columns: 2.5rem minmax(0,1fr) auto; padding-inline: 1rem; gap: .75rem; }
  .sv-cat { display: none; }
  .sv-detail-inner { padding-inline: 1rem; }
  .pr-tiers { grid-template-columns: minmax(0,1fr); gap: 1.25rem; }
  .pr-tier { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: 2rem; }
  .pr-top, .pr-purpose, .pr-line, .pr-prices { grid-column: 1; }
  .pr-line { min-height: 0; }
  .pr-feats { grid-column: 2; grid-row: 1 / 5; margin-top: 0; align-content: start; }
  .pr-cta { grid-column: 1 / -1; margin-top: 1.5rem; }
  .lead-demo__visual { width: 100%; }
}
@media (max-width: 620px) {
  .site-header > .site-nav { display: none; }
  .site-header { padding-block: 1rem; }
  .brand strong { font-size: .8125rem; letter-spacing: .12em; }
  .brand small { letter-spacing: .3em; }
  .brand__mark { width: 2rem; height: 2rem; }
  h1 { line-height: 1.12; }
  h1 br { display: none; }
  h1 span { display: block; }
  .hero__actions { width: 100%; }
  .hero__proof { padding: 1rem .5rem; gap: .5rem; }
  .hero__proof > div { padding-right: .5rem; align-items: center; text-align: center; }
  .hero__proof strong { font-size: .75rem; }
  .pr-tier { display: flex; flex-direction: column; padding: 1.5rem 1.25rem; }
  .pr-feats { margin-block: 1.5rem; }
  .pr-cta { margin-top: auto; }
  .pr-toggle { width: 100%; }
  .pr-switch { width: 100%; }
  .pr-switch button { flex: 1 1 0; padding-inline: .65rem; letter-spacing: 0; }
  .sv-row { grid-template-columns: 1.5rem minmax(0,1fr) 1.9rem; gap: .6rem; padding: 1.25rem .75rem; }
  .sv-name { font-size: 1.125rem; }
  .sv-detail-inner { padding-inline: .75rem; }
  .sv-inc li { grid-template-columns: 1.5rem minmax(0,1fr) 1rem; }
  .faq__item summary { padding-inline: .75rem; }
  .faq__answer-inner { padding-inline: 2.75rem 1rem; }
  .booking__calendar { min-height: 38rem; border-radius: .5rem; }
  .site-footer__bottom { flex-wrap: wrap; }
}
@media (max-width: 380px) {
  .pf-note { display: grid; grid-template-columns: 1.375rem minmax(0,1fr); gap: .25rem .4rem; }
  .pf-body { grid-column: 2; }
  .pf-when { grid-column: 2; max-width: none; padding-top: 0; }
  .hero__proof svg { width: 1.125rem; height: 1.125rem; }
}
@media (hover: none) {
  .button:hover, .nav-cta:hover { transform: none; }
  .pr-tier:hover::after { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
