:root {
  color-scheme: light;
  --paper: #f4f5f8;
  --paper-warm: #f8f7f4;
  --surface: #fff;
  --ink: #1f1d1a;
  --ink-2: #5c5953;
  --muted: #8e8c86;
  --line: rgba(31, 29, 26, .09);
  --line-strong: rgba(31, 29, 26, .16);
  --cobalt-50: #eef1fb;
  --cobalt-100: #e1e7f8;
  --cobalt-200: #c5d0ef;
  --cobalt-300: #9db1e6;
  --cobalt-500: #2f46a8;
  --cobalt-600: #293f99;
  --cobalt-700: #23367f;
  --cobalt-900: #121c45;
  --violet: #7657b6;
  --success: #23705a;
  --radius: 18px;
  --radius-lg: 28px;
  --control: 11px;
  --shadow: 0 1px 2px rgba(31, 44, 102, .04), 0 12px 36px rgba(31, 44, 102, .065);
  --shadow-lg: 0 30px 90px rgba(15, 23, 52, .16);
  --ease-out: cubic-bezier(.23, 1, .32, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body {
  margin: 0;
  overflow-x: hidden;
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 4%, rgba(157, 177, 230, .13), transparent 26rem),
    var(--paper);
  font: 14px/1.55 Manrope, "Avenir Next", Inter, ui-sans-serif, system-ui, sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
img, svg { display: block; max-width: 100%; }
:where(a, button, input, select, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--cobalt-500);
  outline-offset: 3px;
}
.skip-link {
  position: fixed;
  z-index: 100;
  top: 10px;
  left: 10px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  padding: 10px 14px;
  border-radius: 9px;
  color: #fff;
  background: var(--cobalt-700);
  clip-path: inset(50%);
  white-space: nowrap;
}
.skip-link:focus { width: auto; height: auto; overflow: visible; clip-path: none; }

.container { width: min(100% - 48px, 1280px); margin-inline: auto; }
.container-narrow { width: min(100% - 48px, 980px); margin-inline: auto; }
.site-header {
  position: sticky;
  z-index: 50;
  top: 0;
  border-bottom: 1px solid rgba(31, 29, 26, .07);
  background: rgba(244, 245, 248, .78);
  backdrop-filter: blur(20px) saturate(1.35);
  -webkit-backdrop-filter: blur(20px) saturate(1.35);
}
.nav {
  display: grid;
  min-height: 76px;
  align-items: center;
  gap: 24px;
  grid-template-columns: auto minmax(0, 1fr) auto;
}
.nav-actions, .actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.nav-actions { justify-content: flex-end; flex-wrap: nowrap; }
.language-switcher {
  position: relative;
  flex: 0 0 auto;
}
.language-switcher summary {
  display: flex;
  min-width: 190px;
  max-width: 260px;
  height: 40px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 10px;
  border: 1px solid var(--line-strong);
  border-radius: 12px;
  background: rgba(255, 255, 255, .72);
  cursor: pointer;
  list-style: none;
}
.language-switcher summary::-webkit-details-marker { display: none; }
.language-switcher-globe { width: 18px; height: 18px; flex: 0 0 auto; color: var(--cobalt-600); }
.language-switcher-current { display: flex; min-width: 0; align-items: center; gap: 5px; color: var(--ink-2); font-size: 9px; }
.language-switcher-current b, .language-switcher-current > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.language-switcher-current b { flex: 1 1 auto; font-weight: 850; }
.language-switcher-current > span { flex: 0 1 auto; color: var(--muted); }
.language-switcher-current i { color: var(--muted); font-style: normal; }
.language-switcher-chevron { color: var(--muted); font-size: 10px; transition: transform 160ms ease; }
.language-switcher[open] summary { border-color: var(--cobalt-200); background: #fff; box-shadow: 0 8px 24px rgba(20, 30, 70, .08); }
.language-switcher[open] .language-switcher-chevron { transform: rotate(180deg); }
.language-switcher-panel {
  position: absolute;
  z-index: 60;
  top: calc(100% + 8px);
  right: 0;
  width: min(820px, calc(100vw - 24px));
  max-height: calc(100vh - 100px);
  overflow-y: auto;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255, 255, 255, .98);
  box-shadow: var(--shadow-lg);
}
.language-switcher-groups { display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr) 190px; }
.market-group { min-width: 0; }
.market-group-global { padding-left: 8px; border-left: 1px solid var(--line); }
.market-group-title { display: block; padding: 7px 7px 9px; color: var(--muted); font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.language-switcher-options { display: grid; gap: 4px; }
.market-group-eu .language-switcher-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.market-group-global .language-switcher-options { grid-template-columns: 1fr; }
.market-country-column, .market-country-options { display: grid; align-content: start; }
.market-country-column { gap: 4px; }
.market-country-options { gap: 2px; }
.language-switcher-options a {
  display: grid;
  min-width: 0;
  min-height: 34px;
  align-items: center;
  gap: 5px;
  padding: 4px 6px;
  border-radius: 10px;
  color: var(--ink-2);
  grid-template-columns: 23px minmax(0, 1fr) 12px;
}
.market-country-flag { width: 18px; height: 12px; border-radius: 2px; box-shadow: 0 0 0 1px rgba(20, 30, 70, .13); object-fit: cover; }
.market-pair { display: flex; min-width: 0; align-items: baseline; gap: 4px; overflow: hidden; white-space: nowrap; }
.market-pair strong, .market-pair > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.market-pair strong { flex: 0 1 auto; font-size: 9px; font-weight: 800; }
.market-pair > span { flex: 1 1 auto; color: var(--muted); font-size: 8px; }
.market-pair i { flex: 0 0 auto; color: var(--muted); font-style: normal; }
.market-check { color: var(--cobalt-600); opacity: 0; font-size: 12px; font-weight: 900; }
.language-switcher-options a:hover, .language-switcher-options a:focus-visible, .language-switcher-options a[aria-current="page"] { color: var(--cobalt-700); background: var(--cobalt-50); }
.language-switcher-options a[aria-current="page"] .market-check { opacity: 1; }
.nav-links { display: flex; align-items: center; justify-content: center; gap: 30px; color: var(--ink-2); font-size: 12px; font-weight: 700; }
.nav-links a, .footer-grid a, .source-links a { transition: color 150ms ease; }
.nav-links a:hover, .footer-grid a:hover, .source-links a:hover { color: var(--cobalt-500); }
.logo { display: inline-flex; width: max-content; align-items: center; gap: 10px; font-size: 17px; font-weight: 800; letter-spacing: -.035em; }
.logo-mark { width: 28px; height: 28px; flex: 0 0 auto; }
.button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: var(--control);
  cursor: pointer;
  font-weight: 800;
  transition: transform 160ms var(--ease-out), box-shadow 160ms ease, background 160ms ease, border-color 160ms ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary {
  color: #fff;
  background: var(--cobalt-500);
  box-shadow: 0 8px 24px rgba(47, 70, 168, .2);
}
.button-primary:hover { background: var(--cobalt-700); box-shadow: 0 12px 30px rgba(47, 70, 168, .25); }
.button-secondary { border-color: var(--line-strong); background: rgba(255, 255, 255, .86); }
.button-secondary:hover { border-color: var(--cobalt-200); background: #fff; box-shadow: var(--shadow); }
.button-plain { color: var(--ink-2); background: transparent; }
.button-light { color: var(--cobalt-900); background: #fff; box-shadow: 0 12px 30px rgba(0, 0, 0, .13); }
.button-dark-ghost { border-color: rgba(255, 255, 255, .24); color: #fff; background: rgba(255, 255, 255, .07); }
.button-dark-ghost:hover { background: rgba(255, 255, 255, .13); }
.button-wide { width: 100%; }
.button-large { min-height: 52px; padding-inline: 24px; }
.eyebrow {
  margin: 0 0 11px;
  color: var(--cobalt-500);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.status-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 7px;
  border-radius: 50%;
  background: #55a489;
  box-shadow: 0 0 0 4px rgba(85, 164, 137, .12);
}
.panel {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .94);
  box-shadow: var(--shadow);
}
.dark-panel {
  color: #fff;
  background:
    radial-gradient(circle at 84% -10%, rgba(157, 177, 230, .48), transparent 25rem),
    radial-gradient(circle at 4% 110%, rgba(118, 87, 182, .34), transparent 22rem),
    linear-gradient(135deg, var(--cobalt-700), var(--cobalt-900));
  box-shadow: var(--shadow-lg);
}

.hero {
  display: grid;
  min-height: 760px;
  align-items: center;
  gap: clamp(42px, 5vw, 80px);
  padding-block: 76px 106px;
  grid-template-columns: minmax(0, .86fr) minmax(520px, 1.14fr);
}
.hero h1, .page-hero h1 {
  margin: 0;
  max-width: 690px;
  font-size: clamp(54px, 6.3vw, 86px);
  font-weight: 690;
  letter-spacing: -.078em;
  line-height: .96;
}
.hero h1 span {
  display: inline-block;
  margin-inline: -.025em;
  padding: .035em .025em .055em;
  white-space: nowrap;
  color: transparent;
  background: linear-gradient(115deg, var(--cobalt-500), #657bc5 65%, var(--violet));
  background-clip: text;
  -webkit-background-clip: text;
}
.hero h1.hero-title-balanced { font-size: clamp(54px, 5.75vw, 78px); letter-spacing: -.07em; line-height: .98; }
.hero h1.hero-title-compact { font-size: clamp(54px, 5.25vw, 72px); letter-spacing: -.065em; line-height: .98; }
.hero-copy { max-width: 590px; margin: 25px 0 0; color: var(--ink-2); font-size: 17px; line-height: 1.7; }
.hero .actions { margin-top: 31px; }
.hero-assurances {
  display: flex;
  margin: 17px 0 0;
  padding: 0;
  flex-wrap: wrap;
  gap: 8px 20px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
  list-style: none;
}
.hero-assurances li::before { margin-right: 6px; color: var(--success); content: "✓"; }
.hero-copy-wrap, .hero-product { min-width: 0; }
.hero-product { position: relative; min-height: 700px; }
.ambient { position: absolute; pointer-events: none; border-radius: 50%; filter: blur(4px); }
.ambient-one { inset: 7% 0 auto auto; width: 440px; height: 440px; background: rgba(157, 177, 230, .22); }
.ambient-two { inset: auto auto -3% -15%; width: 300px; height: 300px; background: rgba(118, 87, 182, .12); }
.floating-note {
  position: absolute;
  z-index: 2;
  display: flex;
  min-width: 220px;
  align-items: center;
  gap: 11px;
  padding: 12px 14px;
  border: 1px solid rgba(31, 29, 26, .08);
  border-radius: 14px;
  background: rgba(255, 255, 255, .91);
  box-shadow: 0 18px 42px rgba(31, 44, 102, .14);
  backdrop-filter: blur(14px);
}
.floating-note-top { top: 2px; right: -28px; }
.floating-note strong, .floating-note small { display: block; }
.floating-note strong { font-size: 11px; }
.floating-note small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.note-icon { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 10px; color: #fff; background: var(--success); font-size: 11px; font-weight: 850; }
.note-icon-soft { color: var(--cobalt-700); background: var(--cobalt-100); }

.proof-strip { border-block: 1px solid var(--line); background: rgba(255, 255, 255, .56); }
.proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.proof-grid > div { display: flex; min-height: 112px; align-items: center; gap: 12px; padding: 24px; border-left: 1px solid var(--line); }
.proof-grid > div:last-child { border-right: 1px solid var(--line); }
.proof-grid strong { color: var(--cobalt-500); font-size: 26px; font-weight: 720; letter-spacing: -.05em; }
.proof-grid span { max-width: 150px; color: var(--ink-2); font-size: 11px; line-height: 1.45; }

.section { padding-block: 116px; }
.section-heading { max-width: 770px; margin: 0 auto 54px; text-align: center; }
.section-heading-left { margin-inline: 0; text-align: left; }
.section-heading h2, .trust-panel h2, .final-cta h2 {
  margin: 0;
  font-size: clamp(38px, 5vw, 60px);
  font-weight: 670;
  letter-spacing: -.065em;
  line-height: 1.03;
  overflow-wrap: anywhere;
}
.section-heading > p:last-child { margin: 18px 0 0; color: var(--ink-2); font-size: 15px; line-height: 1.7; }
.section-heading-split {
  display: grid;
  max-width: none;
  align-items: end;
  gap: 90px;
  grid-template-columns: 1.35fr .65fr;
  text-align: left;
}
.section-heading-split > * { min-width: 0; }
.section-heading-split > p { margin: 0 0 8px; color: var(--ink-2); font-size: 15px; line-height: 1.7; }

.technical-section { padding-top: 76px; }
.technical-grid { display: grid; gap: 12px; grid-template-columns: repeat(3, 1fr); }
.technical-card {
  position: relative;
  min-height: 245px;
  padding: 27px;
  border: 1px solid var(--line);
  border-radius: 21px;
  background: rgba(255, 255, 255, .9);
  box-shadow: var(--shadow);
}
.technical-card-accent {
  border-color: rgba(47, 70, 168, .23);
  background: linear-gradient(145deg, #fff, var(--cobalt-50));
}
.technical-number { color: var(--cobalt-500); font: 800 9px/1 ui-monospace, monospace; }
.technical-card h3 { margin: 58px 0 11px; font-size: 21px; letter-spacing: -.045em; }
.technical-card p { margin: 0; color: var(--ink-2); font-size: 11px; line-height: 1.72; }
.technical-flow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 12px;
  padding: 23px 26px;
  border-radius: 18px;
  flex-wrap: wrap;
}
.technical-flow span { font-size: 10px; font-weight: 780; }
.technical-flow i { color: var(--cobalt-300); font-style: normal; }

.vertical-grid { display: grid; gap: 14px; grid-template-columns: repeat(4, 1fr); }
.vertical-card {
  position: relative;
  min-height: 490px;
  padding: 23px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 23px;
  background: rgba(255, 255, 255, .9);
  box-shadow: var(--shadow);
  transition: transform 260ms var(--ease-out), box-shadow 260ms ease;
}
.vertical-card:hover { transform: translateY(-6px); box-shadow: 0 24px 54px rgba(31, 44, 102, .1); }
.vertical-number { color: var(--muted); font: 700 9px/1 ui-monospace, monospace; }
.vertical-art { position: relative; height: 185px; margin: 26px -5px 29px; overflow: hidden; border-radius: 17px; }
.vertical-card h3 { margin: 0 0 9px; font-size: 18px; letter-spacing: -.045em; }
.vertical-card p { margin: 0; color: var(--ink-2); font-size: 11px; line-height: 1.65; }
.vertical-card ul { display: flex; margin: 25px 0 0; padding: 0; flex-wrap: wrap; gap: 5px; list-style: none; }
.vertical-card li { padding: 5px 8px; border: 1px solid var(--line); border-radius: 99px; color: var(--muted); background: rgba(255, 255, 255, .6); font-size: 8px; font-weight: 800; }
.art-meeting { display: grid; place-items: center; background: linear-gradient(145deg, #e7ecfb, #cbd7f4); }
.art-meeting span { z-index: 2; padding: 10px 18px; border-radius: 10px; color: #fff; background: var(--cobalt-500); box-shadow: 0 10px 25px rgba(47, 70, 168, .24); font-weight: 800; }
.art-meeting i { position: absolute; width: 52%; height: 1px; background: rgba(47, 70, 168, .2); }
.art-meeting i:nth-of-type(1) { transform: rotate(0) translateY(-38px); }
.art-meeting i:nth-of-type(2) { transform: rotate(0) translateY(38px); }
.art-meeting i:nth-of-type(3) { width: 1px; height: 70%; }
.art-services { display: grid; align-content: center; gap: 8px; padding: 23px; background: linear-gradient(145deg, #f0e9f7, #ded0ec); }
.art-services span { padding: 10px 12px; border: 1px solid rgba(118, 87, 182, .15); border-radius: 10px; color: #624592; background: rgba(255, 255, 255, .64); font-size: 10px; font-weight: 800; }
.art-services span:nth-child(2) { transform: translateX(17px); }
.art-class { display: grid; place-items: center; background: linear-gradient(145deg, #dff0e9, #c2e0d3); }
.art-class strong { color: #216951; font-size: 50px; letter-spacing: -.08em; }
.art-class > span { margin-top: -38px; color: #4a806e; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.art-class > div { display: flex; margin-top: -35px; gap: 5px; }
.art-class i { width: 28px; height: 7px; border-radius: 99px; background: rgba(35, 112, 90, .22); }
.art-class i:first-child { background: #23705a; }
.art-resource { display: grid; place-items: center; background: linear-gradient(145deg, #e0f3f6, #bddfe4); }
.court-lines { position: absolute; inset: 22px; border: 2px solid rgba(21, 115, 130, .29); }
.court-lines::before, .court-lines::after { position: absolute; background: rgba(21, 115, 130, .25); content: ""; }
.court-lines::before { inset: 50% 0 auto; height: 2px; }
.court-lines::after { inset: 0 auto 0 50%; width: 2px; }
.art-resource span { z-index: 2; padding: 7px 10px; border-radius: 99px; color: #176877; background: rgba(255, 255, 255, .8); font-size: 9px; font-weight: 850; box-shadow: var(--shadow); }

.comparison-section { background: var(--paper-warm); border-block: 1px solid var(--line); }
.comparison-heading { max-width: 800px; }
.comparison-wrap { overflow: hidden; border-radius: 24px; }
.comparison-scroll { overflow-x: auto; }
.comparison-wrap table { width: 100%; min-width: 930px; border-collapse: collapse; table-layout: fixed; }
.comparison-wrap caption { padding: 18px 22px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 9px; text-align: left; }
.comparison-wrap th, .comparison-wrap td { padding: 20px 16px; border-bottom: 1px solid var(--line); vertical-align: top; text-align: left; }
.comparison-wrap thead th { color: var(--ink); background: #fafaf9; font-size: 11px; }
.comparison-wrap thead th:first-child { width: 19%; }
.comparison-wrap tbody th { color: var(--ink); font-size: 10px; }
.comparison-wrap td { color: var(--ink-2); font-size: 10px; line-height: 1.55; }
.comparison-wrap td strong { color: var(--cobalt-700); }
.comparison-wrap .clearslot-column { border-inline: 1px solid rgba(47, 70, 168, .12); background: rgba(238, 241, 251, .7); }
.comparison-wrap thead .clearslot-column { border-top: 3px solid var(--cobalt-500); }
.comparison-logo { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.comparison-logo svg { width: 22px; height: 22px; }
.positive { display: inline-block; padding: 4px 8px; border-radius: 99px; color: var(--success) !important; background: #e4f4ec; }
.comparison-foot { display: grid; align-items: center; gap: 20px; padding: 25px; grid-template-columns: 1fr auto; }
.comparison-foot p { margin: 0; color: var(--ink-2); font-size: 11px; }
.comparison-foot p:first-child { max-width: 680px; }
.comparison-foot strong { color: var(--ink); }
.source-links { white-space: nowrap; }
.source-links a { color: var(--cobalt-500); text-decoration: underline; text-underline-offset: 2px; }

.pricing-section { padding-bottom: 130px; }
.pricing-card { display: grid; overflow: hidden; border-radius: 25px; grid-template-columns: 1fr 1fr; }
.pricing-main { padding: 42px; }
.pricing-main .label { color: var(--cobalt-500); font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.price-line { display: flex; align-items: center; gap: 14px; margin-top: 20px; }
.price { font-size: 64px; font-weight: 680; letter-spacing: -.075em; line-height: 1; }
.price-line > span:last-child { color: var(--muted); font-size: 10px; line-height: 1.35; }
.pricing-main > p { max-width: 480px; margin: 24px 0; color: var(--ink-2); line-height: 1.7; }
.pricing-main > small { display: block; margin-top: 13px; color: var(--muted); font-size: 9px; }
.pricing-details { padding: 42px; color: #fff; background: linear-gradient(145deg, var(--cobalt-700), var(--cobalt-900)); }
.pricing-details h3 { margin: 0; font-size: 25px; letter-spacing: -.05em; }
.pricing-details ul { display: grid; margin: 30px 0; padding: 0; gap: 13px; list-style: none; color: rgba(255, 255, 255, .72); font-size: 11px; }
.pricing-details li span { margin-right: 9px; color: var(--cobalt-300); }
.text-link { color: #fff; font-size: 11px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.pricing-note { margin: 24px 0 0; color: rgba(255, 255, 255, .38); font-size: 9px; }

.trust-section { padding-top: 0; }
.trust-panel { display: grid; align-items: center; gap: 72px; padding: 62px; border-radius: 28px; grid-template-columns: 1fr 1fr; }
.trust-panel .eyebrow { color: var(--cobalt-300); }
.trust-panel h2 { font-size: clamp(38px, 4vw, 56px); }
.trust-panel > div > p:last-child { max-width: 590px; margin: 21px 0 0; color: rgba(255, 255, 255, .6); font-size: 13px; line-height: 1.8; }
.trust-panel a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.trust-facts { display: grid; gap: 9px; }
.trust-facts > div { display: grid; min-height: 90px; align-items: center; gap: 4px 13px; padding: 16px; border: 1px solid rgba(255, 255, 255, .1); border-radius: 14px; background: rgba(255, 255, 255, .06); grid-template-columns: 48px 1fr; }
.trust-facts > div > span { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 12px; color: var(--cobalt-900); background: var(--cobalt-200); font-size: 11px; font-weight: 900; grid-row: span 2; }
.trust-facts strong { font-size: 12px; }
.trust-facts small { color: rgba(255, 255, 255, .44); font-size: 9px; }

.faq-section { padding-top: 36px; }
.faq-list { border-top: 1px solid var(--line-strong); }
.faq-list details { border-bottom: 1px solid var(--line-strong); }
.faq-list summary {
  display: flex;
  min-height: 80px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  cursor: pointer;
  font-size: 15px;
  font-weight: 750;
  list-style: none;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { display: grid; width: 32px; height: 32px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: var(--cobalt-500); background: var(--cobalt-50); font-size: 17px; transition: transform 180ms var(--ease-out); }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 730px; margin: -4px 0 28px; color: var(--ink-2); font-size: 13px; line-height: 1.75; }

.final-cta { padding-bottom: 110px; }
.final-cta-inner {
  position: relative;
  overflow: hidden;
  padding: 86px 40px;
  border-radius: 30px;
  color: #fff;
  background:
    radial-gradient(circle at 85% 15%, rgba(157, 177, 230, .5), transparent 24rem),
    radial-gradient(circle at 12% 110%, rgba(118, 87, 182, .46), transparent 25rem),
    var(--cobalt-900);
  text-align: center;
  box-shadow: var(--shadow-lg);
}
.final-cta .eyebrow { color: var(--cobalt-300); }
.final-cta h2 { max-width: 850px; margin-inline: auto; font-size: clamp(43px, 6vw, 72px); }
.final-cta p:not(.eyebrow) { margin: 21px 0 0; color: rgba(255, 255, 255, .58); font-size: 14px; }
.final-cta .actions { justify-content: center; margin-top: 30px; }

.site-footer { border-top: 1px solid var(--line); background: rgba(255, 255, 255, .58); }
.footer-grid { display: grid; gap: clamp(20px, 3vw, 42px); padding-block: 44px; grid-template-columns: 1.35fr .75fr 1.55fr .65fr .65fr; }
.footer-grid > div { display: flex; align-items: flex-start; flex-direction: column; gap: 10px; color: var(--muted); font-size: 10px; }
.footer-grid > div:first-child p { max-width: 290px; margin: 9px 0 0; line-height: 1.7; }
.footer-grid > div:nth-child(3) { display: grid; align-content: start; column-gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.footer-grid > div:nth-child(3) > strong { grid-column: 1 / -1; }
.footer-grid strong { margin-bottom: 3px; color: var(--ink); font-size: 10px; }
.footer-bottom { display: flex; min-height: 56px; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 9px; }

@keyframes note-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
/* Shared pricing and legal pages */
.page-header { border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, .75); }
.page-header .nav { display: flex; min-height: 72px; justify-content: space-between; }
.page-hero { padding: 72px 0 48px; }
.page-hero h1 { font-size: clamp(40px, 6vw, 66px); }
.page-hero > p:last-child { max-width: 700px; margin: 20px 0 0; color: var(--ink-2); font-size: 15px; }
.calculator-layout { display: grid; align-items: start; gap: 20px; padding-bottom: 32px; grid-template-columns: minmax(0, 1fr) 370px; }
.panel-heading { display: flex; min-height: 68px; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.panel-heading h2 { margin: 0; font-size: 15px; }
.panel-heading p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.form-body { display: grid; gap: 24px; padding: 26px; }
.field-grid { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; }
.field { display: grid; gap: 7px; color: var(--ink-2); font-size: 12px; font-weight: 700; }
.field input, .field select { width: 100%; min-height: 44px; padding: 0 13px; border: 1px solid var(--line-strong); border-radius: var(--control); color: var(--ink); background: #fff; }
.field small { color: var(--muted); font-weight: 400; }
.check-field { display: flex; align-items: flex-start; gap: 10px; padding: 15px; border: 1px solid var(--line); border-radius: 13px; background: rgba(244, 245, 248, .7); }
.check-field input { margin-top: 3px; }
.check-field strong { display: block; font-size: 13px; }
.check-field span { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }
.estimate { position: sticky; top: 24px; padding: 26px; border-radius: 20px; }
.estimate-label { color: var(--cobalt-200); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.estimate-value { margin-top: 18px; font-size: 38px; font-weight: 650; letter-spacing: -.06em; }
.estimate-copy { color: rgba(255, 255, 255, .58); font-size: 11px; }
.estimate hr { margin: 24px 0; border: 0; border-top: 1px solid rgba(255, 255, 255, .12); }
.estimate ul { display: grid; gap: 10px; padding: 0; color: rgba(255, 255, 255, .75); list-style: none; font-size: 11px; }
.estimate li::before { margin-right: 8px; color: var(--cobalt-200); content: "✓"; }
.estimate .button { margin-top: 20px; color: var(--cobalt-700); background: #fff; }
.estimate .secondary-link { display: block; margin-top: 12px; color: rgba(255, 255, 255, .72); text-align: center; font-size: 11px; }
.examples { margin-bottom: 72px; }
.example-grid { display: grid; grid-template-columns: 1fr 1fr; }
.example { display: flex; justify-content: space-between; gap: 20px; padding: 16px 20px; border-top: 1px solid var(--line); color: var(--ink-2); font-size: 12px; }
.example:nth-child(odd) { border-right: 1px solid var(--line); }
.example strong { color: var(--ink); }
.status { padding: 20px; color: var(--muted); }
.legal-main { width: min(100% - 48px, 800px); margin-inline: auto; padding: 56px 0 80px; }
.legal-main h1 { margin: 0; font-size: clamp(36px, 6vw, 48px); font-weight: 650; letter-spacing: -.055em; }
.updated { margin: 12px 0 0; color: var(--muted); font-size: 13px; }
.legal-card { display: grid; gap: 30px; margin-top: 34px; padding: 34px; color: var(--ink-2); font-size: 14px; line-height: 1.9; }
.legal-card section, .legal-card p { margin: 0; }
.legal-card h2 { margin: 0 0 8px; color: var(--ink); font-size: 18px; }
.legal-card a { color: var(--cobalt-500); font-weight: 700; text-decoration: underline; }

@media (max-width: 1100px) {
  .hero { min-height: auto; grid-template-columns: 1fr; }
  .hero-copy-wrap { max-width: 760px; }
  .hero-product { width: min(100%, 820px); min-height: 670px; margin-inline: auto; }
  .floating-note-top { right: 0; }
  .technical-grid { grid-template-columns: 1fr 1fr; }
  .vertical-grid { grid-template-columns: 1fr 1fr; }
  .vertical-card { min-height: 465px; }
}

@media (max-width: 900px) {
  .nav { grid-template-columns: 1fr auto; }
  .nav-links { display: none; }
  .proof-grid { grid-template-columns: 1fr 1fr; }
  .proof-grid > div:nth-child(2) { border-right: 1px solid var(--line); }
  .proof-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .section-heading-split { gap: 28px; grid-template-columns: 1fr; }
  .trust-panel { gap: 42px; padding: 44px; grid-template-columns: 1fr; }
  .comparison-foot { grid-template-columns: 1fr; }
  .source-links { white-space: normal; }
  .pricing-card, .calculator-layout { grid-template-columns: 1fr; }
  .estimate { position: static; }
}

@media (max-width: 680px) {
  .container, .container-narrow, .legal-main { width: min(100% - 32px, 1280px); }
  .site-header { backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
  .nav { min-height: 68px; gap: 10px; }
  .nav-signin { display: none; }
  .nav-actions .button { min-height: 39px; padding-inline: 12px; font-size: 11px; }
  .hero { gap: 32px; padding-block: 56px 76px; }
  .hero h1 { font-size: clamp(48px, 14vw, 65px); }
  .hero h1.hero-title-balanced { font-size: clamp(46px, 13vw, 62px); }
  .hero h1.hero-title-compact { font-size: clamp(44px, 12vw, 58px); }
  .hero h1 span { overflow-wrap: anywhere; white-space: normal; }
  .hero-copy { font-size: 15px; }
  .hero .actions { align-items: stretch; flex-direction: column; }
  .hero .button { width: 100%; }
  .hero-assurances { gap: 6px 13px; }
  .hero-product { min-height: 520px; }
  .ambient-one { right: 0; width: 100%; }
  .floating-note { min-width: 185px; padding: 10px; }
  .floating-note-top { top: 0; right: -5px; }
  .proof-grid > div { min-height: 100px; padding: 18px 13px; gap: 9px; }
  .proof-grid strong { font-size: 22px; }
  .proof-grid span { font-size: 9px; }
  .section { padding-block: 82px; }
  .section-heading { margin-bottom: 39px; }
  .section-heading h2, .trust-panel h2, .final-cta h2 { font-size: clamp(35px, 11vw, 48px); }
  .technical-grid { grid-template-columns: 1fr; }
  .technical-card { min-height: 0; }
  .vertical-grid { grid-template-columns: 1fr; }
  .vertical-card { min-height: 455px; }
  .comparison-section .container { width: min(100% - 16px, 1280px); }
  .comparison-heading { width: calc(100% - 16px); margin-left: 8px; }
  .comparison-scroll { -webkit-overflow-scrolling: touch; }
  .comparison-wrap table { min-width: 850px; }
  .comparison-wrap th, .comparison-wrap td { padding: 16px 12px; }
  .pricing-main, .pricing-details { padding: 30px 24px; }
  .price { font-size: 56px; }
  .trust-panel { padding: 32px 24px; border-radius: 22px; }
  .trust-facts > div { grid-template-columns: 45px 1fr; }
  .faq-list summary { min-height: 74px; font-size: 13px; }
  .final-cta { width: 100%; padding-bottom: 70px; }
  .final-cta-inner { padding: 68px 24px; border-radius: 0; }
  .final-cta .actions { align-items: stretch; flex-direction: column; }
  .footer-grid { gap: 30px 18px; padding-block: 38px; grid-template-columns: 1fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .footer-grid > div:nth-child(3) { grid-column: 1 / -1; }
  .footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; gap: 4px; }
  .page-header .nav { display: flex; }
  .page-hero { padding-top: 52px; }
  .field-grid, .example-grid { grid-template-columns: 1fr; }
  .example:nth-child(odd) { border-right: 0; }
  .form-body, .legal-card { padding: 22px; }
}

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

@media (prefers-reduced-transparency: reduce) {
  .site-header, .floating-note { background: var(--surface); backdrop-filter: none; -webkit-backdrop-filter: none; }
}

/* Landing v2: code-native product demonstrations */
body {
  background:
    radial-gradient(circle at 12% 2%, rgba(147, 166, 229, .2), transparent 34rem),
    radial-gradient(circle at 92% 22%, rgba(118, 87, 182, .1), transparent 30rem),
    linear-gradient(180deg, #f7f8fb 0, var(--paper) 42rem);
}
.site-header { background: rgba(247, 248, 251, .76); }
.play-mini { display: grid; width: 19px; height: 19px; place-items: center; border-radius: 50%; color: #fff; background: var(--cobalt-500); font-size: 7px; }
.hero { min-height: 810px; grid-template-columns: minmax(0, .82fr) minmax(570px, 1.18fr); }
.hero-product { min-height: 650px; }
.coded-app {
  position: absolute;
  inset: 34px -10px auto 0;
  height: 570px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 25px;
  background: #fff;
  box-shadow: 0 35px 100px rgba(29, 43, 94, .19), 0 3px 12px rgba(29, 43, 94, .08);
  transform: perspective(1500px) rotateY(-2.2deg) rotateX(.6deg);
  transform-origin: center;
}
.app-topbar { display: grid; height: 54px; align-items: center; gap: 18px; padding: 0 17px; border-bottom: 1px solid #eceef4; grid-template-columns: 1fr auto 1fr; }
.dashboard-topbar { grid-template-columns: 1fr auto; }
.app-brand { display: flex; align-items: center; gap: 8px; font-size: 11px; }
.app-brand svg { width: 23px; }
.app-avatar { display: grid; width: 28px; height: 28px; margin-left: auto; place-items: center; border-radius: 50%; color: #fff; background: var(--cobalt-500); font-size: 8px; font-weight: 800; }
.app-body { display: grid; min-height: 516px; grid-template-columns: 52px 1fr; }
.app-sidebar { display: flex; align-items: center; padding-top: 22px; border-right: 1px solid #eceef4; background: #fbfbfd; flex-direction: column; gap: 20px; color: #adb1bf; }
.app-sidebar span { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 8px; font-size: 12px; }
.app-sidebar .active { color: var(--cobalt-500); background: var(--cobalt-50); }
.hero-stage { position: relative; min-width: 0; min-height: 516px; overflow: hidden; background: #f8f9fc; }
.hero-scene { position: absolute; inset: 0; visibility: hidden; opacity: 0; transform: translateX(22px); transition: opacity 420ms ease, transform 520ms var(--ease-out), visibility 0s 520ms; }
.hero-scene.is-active { visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }
.calendar-scene { display: grid; grid-template-rows: 54px 1fr; }

.booking-flow-demo { display: grid; height: 100%; min-height: 0; background: #fff; grid-template-columns: minmax(205px, .78fr) minmax(0, 1.22fr); }
.booking-summary-card { display: flex; min-width: 0; padding: 33px 29px 24px; border-right: 1px solid #e5e8ef; background: #eef0f4; flex-direction: column; }
.public-booking-brand { display: flex; align-items: center; gap: 8px; margin-bottom: 35px; font-size: 12px; }
.public-booking-brand svg { width: 25px; }
.public-booking-host { display: flex; align-items: center; gap: 9px; margin-bottom: 20px; }
.public-booking-host > span:last-child { display: grid; }
.public-booking-host strong { font-size: 9px; }
.public-booking-host small { color: #777b88; font-size: 7px; }
.booking-host-avatar { display: grid; width: 37px; height: 37px; flex: 0 0 auto; place-items: center; border-radius: 11px; color: #fff; background: linear-gradient(145deg, var(--cobalt-500), var(--violet)); font-size: 9px; font-weight: 850; }
.booking-summary-card h2 { margin: 0 0 11px; font-size: 25px; letter-spacing: -.055em; line-height: 1; }
.booking-summary-card p { margin: 0; color: #777b88; font-size: 7.5px; line-height: 1.65; }
.booking-summary-card ul { display: grid; margin: 22px 0 0; padding: 14px 0 0; border-top: 1px solid rgba(31, 29, 26, .09); gap: 9px; color: #626672; list-style: none; font-size: 7px; font-weight: 700; }
.booking-summary-card li::before { display: inline-block; width: 14px; color: var(--cobalt-500); content: "✓"; }
.public-booking-powered { margin-top: auto; padding-top: 18px; color: #777b88; font-size: 6px; }
.booking-picker { position: relative; min-width: 0; padding: 29px 30px 24px; overflow: hidden; background: #fff; }
.flow-progress { display: flex; gap: 4px; margin-bottom: 25px; }
.flow-progress i { height: 3px; border-radius: 99px; background: #e4e7ee; flex: 1; }
.flow-progress i:first-child { background: var(--cobalt-500); }
.booking-picker-head { margin-bottom: 20px; }
.booking-picker-head h2 { margin: 0; font-size: 22px; letter-spacing: -.05em; }
.booking-picker-head p { margin: 4px 0 0; color: #777b88; font-size: 7px; }
.public-picker-grid { display: grid; align-items: start; gap: 13px; grid-template-columns: minmax(0, 1.15fr) minmax(90px, .85fr); }
.booking-calendar-shell, .booking-slot-panel { padding: 14px; border: 1px solid #e7e9f0; border-radius: 13px; background: #fff; box-shadow: 0 6px 18px rgba(37, 48, 92, .05); }
.flow-month { display: flex; align-items: center; justify-content: space-between; margin: 0 0 11px; font-size: 9px; }
.flow-month span { color: #9b9eaa; }
.booking-weekdays, .booking-month-grid { display: grid; grid-template-columns: repeat(7, 1fr); text-align: center; }
.booking-weekdays { margin-bottom: 4px; color: #9a9da8; font-size: 5px; font-weight: 800; }
.booking-month-grid { gap: 2px; }
.booking-day { display: grid; min-height: 22px; place-items: center; border: 1px solid transparent; border-radius: 6px; color: #555966; font-size: 6.5px; font-weight: 750; }
.booking-day.is-muted { color: #c1c3cb; }
.booking-day.is-open::after { width: 2px; height: 2px; margin-top: -4px; border-radius: 50%; background: var(--cobalt-300); content: ""; }
.booking-day.is-selected { border-color: var(--cobalt-500); color: #fff; background: var(--cobalt-500); box-shadow: 0 4px 12px rgba(47, 70, 168, .2); }
.booking-day.is-selected::after { background: #fff; }
.booking-slot-panel { display: grid; align-content: start; }
.booking-slot-panel > small { color: #9a9da8; font-size: 5.5px; text-transform: uppercase; }
.booking-slot-panel > strong { margin-top: 4px; font-size: 8px; line-height: 1.3; }
.flow-times { display: grid; gap: 6px; margin-top: 13px; grid-template-columns: 1fr; }
.flow-times span { padding: 8px 5px; border: 1px solid #e6e8ef; border-radius: 8px; color: #676b77; background: #fff; text-align: center; font-size: 7px; font-weight: 750; }
.flow-times .is-selected { border-color: var(--cobalt-500); color: #fff; background: var(--cobalt-500); }
.flow-confirm { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 14px; padding-top: 13px; border-top: 1px solid #eceef3; }
.flow-confirm > span { display: grid; }
.flow-confirm small { color: #a0a3ad; font-size: 5.5px; }
.flow-confirm strong { margin-top: 2px; font-size: 7.5px; }
.flow-confirm button { padding: 8px 9px; border: 0; border-radius: 8px; color: #fff; background: var(--cobalt-500); font-size: 6.5px; font-weight: 800; }
.flow-success { position: absolute; right: 15px; bottom: 14px; display: flex; min-width: 185px; align-items: center; gap: 9px; padding: 10px; border: 1px solid rgba(35, 112, 90, .16); border-radius: 11px; opacity: 0; background: rgba(255, 255, 255, .96); box-shadow: 0 14px 32px rgba(36, 58, 90, .16); transform: translateY(15px) scale(.96); }
.flow-success b { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 9px; color: #fff; background: var(--success); font-size: 8px; }
.flow-success span, .flow-success strong, .flow-success small { display: block; }
.flow-success strong { font-size: 7.5px; }
.flow-success small { margin-top: 1px; color: #8c8f99; font-size: 5.5px; }
.booking-flow-scene.is-active .booking-day { animation: flow-arrive 500ms var(--ease-out) both; }
.booking-flow-scene.is-active .flow-times span { animation: flow-arrive 500ms 650ms var(--ease-out) both; }
.booking-flow-scene.is-active .flow-times span:nth-child(2) { animation-delay: 790ms; }
.booking-flow-scene.is-active .flow-times span:nth-child(3) { animation-delay: 930ms; }
.booking-flow-scene.is-active .flow-confirm button { animation: confirm-pulse 1.2s 1.55s ease-in-out both; }
.booking-flow-scene.is-active .flow-success { animation: success-arrive 700ms 2.65s var(--ease-out) both; }

.calendar-demo { min-width: 0; height: 100%; background: #fff; }
.calendar-toolbar { display: flex; height: 68px; align-items: center; justify-content: space-between; gap: 12px; padding: 0 18px; border-bottom: 1px solid #eceef4; }
.calendar-toolbar > div:first-child { display: grid; }
.calendar-toolbar small { color: #9c9eaa; font-size: 7px; text-transform: uppercase; }
.calendar-toolbar strong { margin-top: 3px; font-size: 13px; letter-spacing: -.025em; }
.calendar-toolbar button { padding: 7px 10px; border: 1px solid #e5e7ee; border-radius: 8px; color: #666a78; background: #fff; font-size: 7px; }
.calendar-toolbar .demo-new { margin-left: 5px; border-color: transparent; color: #fff; background: var(--cobalt-500); }
.calendar-head { display: grid; height: 51px; align-items: center; border-bottom: 1px solid #eceef4; color: #9a9dab; grid-template-columns: 40px repeat(5, 1fr); text-align: center; font-size: 6px; font-weight: 800; letter-spacing: .07em; }
.calendar-head span { display: grid; gap: 3px; }
.calendar-head b { color: #555966; font-size: 10px; letter-spacing: 0; }
.calendar-head .today b { display: grid; width: 23px; height: 23px; margin: auto; place-items: center; border-radius: 50%; color: #fff; background: var(--cobalt-500); }
.calendar-grid { position: relative; display: grid; height: 397px; grid-template-columns: 40px repeat(5, 1fr); }
.time-labels { display: grid; padding-top: 3px; color: #aeb0ba; grid-template-rows: repeat(8, 1fr); font-size: 5.5px; text-align: center; }
.day-column { position: relative; overflow: hidden; border-left: 1px solid #f0f1f5; background: linear-gradient(180deg, rgba(246, 248, 253, .88), rgba(255, 255, 255, .96) 42%); }
.today-column { background: linear-gradient(180deg, rgba(232, 237, 251, .82), #fbfcff 46%, #fff); }
.demo-event { position: absolute; top: var(--top); right: 5px; left: 5px; display: grid; height: var(--height); align-content: start; gap: 2px; padding: 6px; overflow: hidden; border: 1px solid rgba(47, 70, 168, .12); border-left: 3px solid var(--event); border-radius: 8px; color: #303442; opacity: 0; background: var(--event-bg); box-shadow: 0 9px 20px rgba(48, 57, 99, .12); transform: translateY(18px) scale(.92); }
.demo-event b { overflow: hidden; font-size: 6.5px; text-overflow: ellipsis; white-space: nowrap; }
.demo-event span { overflow: hidden; color: #7d808d; font-size: 5.5px; text-overflow: ellipsis; white-space: nowrap; }
.event-violet { --event: #7657b6; --event-bg: #f1edf8; }
.event-blue { --event: #2f46a8; --event-bg: #edf1fb; }
.event-green { --event: #23705a; --event-bg: #e9f4ef; }
.event-gold { --event: #b47b2e; --event-bg: #faf3e8; }
.event-primary { box-shadow: 0 12px 28px rgba(47, 70, 168, .2); }
.calendar-scene.is-active .day-column:nth-child(2) .demo-event { animation: event-arrive 750ms 300ms var(--ease-out) both; }
.calendar-scene.is-active .day-column:nth-child(3) .demo-event { animation: event-arrive 750ms 720ms var(--ease-out) both; }
.calendar-scene.is-active .day-column:nth-child(4) .demo-event { animation: event-arrive 750ms 1.14s var(--ease-out) both; }
.calendar-scene.is-active .day-column:nth-child(5) .demo-event { animation: event-arrive 750ms 1.56s var(--ease-out) both; }
.calendar-scene.is-active .day-column:nth-child(6) .demo-event { animation: event-arrive 750ms 1.98s var(--ease-out) both; }
.now-line { position: absolute; z-index: 2; top: 52%; right: 0; left: 0; height: 1px; background: #e35467; }
.now-line::before { position: absolute; top: -3px; left: -3px; width: 7px; height: 7px; border-radius: 50%; background: #e35467; content: ""; box-shadow: 0 0 0 4px rgba(227, 84, 103, .1); }
.live-booking-card { min-width: 212px; visibility: hidden; opacity: 0; transform: translateY(12px) scale(.95); }
[data-hero-scene="calendar"] .live-booking-card { visibility: visible; animation: booking-pop 700ms 1.05s var(--ease-out) both; }

.demo-video-section { display: grid; align-items: center; gap: clamp(32px, 5vw, 72px); grid-template-columns: minmax(260px, .6fr) minmax(0, 1.4fr); }
.demo-video-copy h2 { margin: 0; font-size: clamp(37px, 4.4vw, 58px); font-weight: 680; letter-spacing: -.067em; line-height: 1.03; }
.demo-video-copy > p:not(.eyebrow) { margin: 22px 0; color: var(--ink-2); font-size: 15px; line-height: 1.75; }
.demo-video-copy ul { display: grid; margin: 0; padding: 0; gap: 10px; color: var(--ink-2); list-style: none; font-size: 11px; font-weight: 700; }
.demo-video-copy li::before { margin-right: 8px; color: var(--success); content: "✓"; }
.product-video-wrap { min-width: 0; }
.product-video-stage { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid rgba(255, 255, 255, .6); border-radius: 28px; background: #111a42; box-shadow: var(--shadow-lg); }
.product-tour-video { display: block; width: 100%; height: 100%; background: #111a42; cursor: pointer; object-fit: cover; }
.video-center-play { position: absolute; z-index: 3; inset: 50% auto auto 50%; display: grid; width: 72px; height: 72px; padding: 0; place-items: center; border: 1px solid rgba(255, 255, 255, .75); border-radius: 50%; color: var(--cobalt-900); background: rgba(255, 255, 255, .92); box-shadow: 0 14px 38px rgba(5, 11, 36, .24); cursor: pointer; transform: translate(-50%, -50%); transition: opacity 160ms ease, transform 180ms var(--ease-out); }
.video-center-play:hover { transform: translate(-50%, -50%) scale(1.06); }
.video-center-play span { padding-left: 3px; font-size: 21px; }
.product-video-wrap.is-playing .video-center-play { pointer-events: none; opacity: 0; }
.product-captions { position: absolute; z-index: 2; right: 8%; bottom: clamp(68px, 16%, 92px); left: 8%; width: max-content; max-width: 84%; margin-inline: auto; padding: 10px 16px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 11px; color: #fff; background: rgba(6, 12, 37, .86); box-shadow: 0 8px 28px rgba(0, 0, 0, .22); font-size: clamp(13px, 1.25vw, 18px); font-weight: 650; line-height: 1.4; text-align: center; text-wrap: balance; white-space: pre-line; }
.product-captions[hidden], .video-controls[hidden] { display: none; }
.video-controls { position: absolute; z-index: 4; right: 12px; bottom: 12px; left: 12px; display: flex; min-height: 58px; align-items: center; gap: 9px; padding: 8px 10px; border: 1px solid rgba(255, 255, 255, .15); border-radius: 16px; color: #fff; opacity: 0; background: rgba(6, 12, 37, .54); box-shadow: 0 12px 32px rgba(5, 11, 36, .18); backdrop-filter: blur(14px) saturate(1.2); -webkit-backdrop-filter: blur(14px) saturate(1.2); pointer-events: none; transform: translateY(7px); transition: opacity 180ms ease, transform 180ms var(--ease-out); }
.product-video-wrap.is-controls-visible .video-controls, .video-controls:has(:focus-visible) { opacity: 1; pointer-events: auto; transform: none; }
.video-control-button { display: grid; width: 40px; height: 40px; flex: 0 0 auto; padding: 0; place-items: center; border: 0; border-radius: 10px; color: #fff; background: transparent; cursor: pointer; transition: background 150ms ease; }
.video-control-button:hover, .video-control-button[aria-pressed="true"] { background: rgba(157, 177, 230, .22); }
.video-control-button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.video-control-button [hidden] { display: none; }
.video-caption-button span { font-size: 11px; font-weight: 900; letter-spacing: -.04em; }
.video-time { width: 68px; flex: 0 0 auto; color: rgba(255, 255, 255, .72); font-size: 10px; font-variant-numeric: tabular-nums; text-align: center; }
.video-slider { height: 4px; margin: 0; border-radius: 99px; outline: 0; background: linear-gradient(to right, var(--cobalt-300) var(--progress, 0%), rgba(255, 255, 255, .24) 0); cursor: pointer; appearance: none; }
.video-seek { min-width: 90px; flex: 1 1 auto; }
.video-volume { width: 68px; flex: 0 0 68px; }
.video-slider::-webkit-slider-thumb { width: 15px; height: 15px; border: 2px solid var(--cobalt-900); border-radius: 50%; background: #fff; box-shadow: 0 1px 5px rgba(0, 0, 0, .28); appearance: none; }
.video-slider::-moz-range-thumb { width: 11px; height: 11px; border: 2px solid var(--cobalt-900); border-radius: 50%; background: #fff; box-shadow: 0 1px 5px rgba(0, 0, 0, .28); }
.video-slider:focus-visible { outline: 2px solid var(--cobalt-200); outline-offset: 5px; }
.product-video-wrap:fullscreen { display: block; width: 100%; height: 100%; padding: 0; background: #060c25; }
.product-video-wrap:fullscreen .product-video-stage { width: 100%; height: 100%; aspect-ratio: auto; border: 0; border-radius: 0; box-shadow: none; }
.product-video-wrap:fullscreen .product-tour-video { object-fit: contain; }
.product-video-wrap:fullscreen .video-controls { right: clamp(12px, 3vw, 48px); bottom: clamp(12px, 3vh, 32px); left: clamp(12px, 3vw, 48px); }
.product-video-wrap:fullscreen .product-captions { bottom: clamp(82px, 12vh, 120px); }
.product-video-wrap:fullscreen:not(.is-controls-visible) { cursor: none; }
.product-video-wrap:fullscreen .video-credit { display: none; }
.video-credit { margin: 12px 7px 0; color: var(--muted); font-size: 10px; line-height: 1.5; text-align: right; }
.video-credit a { color: var(--ink-2); text-decoration-thickness: 1px; text-underline-offset: 2px; }
.integrations-section { padding-bottom: 140px; }
.integration-layout { display: grid; gap: 18px; grid-template-columns: .9fr 1.1fr; }
.integration-cards { display: grid; gap: 12px; }
.integration-card { position: relative; padding: 25px; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: rgba(255, 255, 255, .87); box-shadow: var(--shadow); transition: transform 220ms var(--ease-out), box-shadow 220ms ease; }
.integration-card:hover { transform: translateX(5px); box-shadow: 0 20px 50px rgba(31, 44, 102, .1); }
.integration-brand { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.integration-card h3 { max-width: 470px; margin: 19px 0 8px; font-size: 20px; letter-spacing: -.045em; line-height: 1.1; }
.integration-card p { margin: 0; color: var(--ink-2); font-size: 10.5px; line-height: 1.7; }
.integration-status { display: inline-flex; margin-top: 17px; padding: 6px 9px; border-radius: 99px; color: var(--success); background: #e7f4ef; font-size: 8px; font-weight: 850; }
.google-calendar-mark { position: relative; display: grid; width: 34px; height: 34px; grid-template-columns: 1fr 1fr; }
.google-calendar-mark i:nth-child(1) { background: #4285f4; }.google-calendar-mark i:nth-child(2) { background: #34a853; }.google-calendar-mark i:nth-child(3) { background: #fbbc04; }.google-calendar-mark i:nth-child(4) { background: #ea4335; }
.google-calendar-mark i:first-child { border-radius: 7px 0 0; }.google-calendar-mark i:nth-child(2) { border-radius: 0 7px 0 0; }.google-calendar-mark i:nth-child(3) { border-radius: 0 0 0 7px; }.google-calendar-mark i:nth-child(4) { border-radius: 0 0 7px; }
.google-calendar-mark b { position: absolute; inset: 5px; display: grid; place-items: center; color: #344054; background: #fff; font-size: 9px; }
.video-marks { display: flex; align-items: center; gap: 3px; }
.video-marks svg { width: 34px; height: 34px; filter: drop-shadow(0 5px 10px rgba(31, 44, 102, .12)); }
.check-mark { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; color: #fff; background: var(--success); box-shadow: var(--shadow); font-size: 15px; font-weight: 900; }
.stripe-word { color: #635bff; font-size: 20px; font-weight: 900; letter-spacing: -.08em; text-transform: lowercase; }
.payment-modes { display: flex; margin-top: 17px; flex-wrap: wrap; gap: 6px; }
.payment-modes span { padding: 6px 8px; border: 1px solid var(--line); border-radius: 99px; color: var(--cobalt-700); background: var(--cobalt-50); font-size: 8px; font-weight: 800; }
.integration-editorial { position: relative; min-height: 100%; margin: 0; overflow: hidden; border-radius: 23px; background: var(--cobalt-900); box-shadow: var(--shadow-lg); }
.integration-editorial img { width: 100%; height: 100%; min-height: 650px; object-fit: cover; }
.integration-editorial::after { position: absolute; inset: auto 0 0; height: 30%; background: linear-gradient(transparent, rgba(14, 22, 63, .72)); content: ""; }
.integration-editorial figcaption { position: absolute; z-index: 2; right: 25px; bottom: 23px; left: 25px; max-width: 520px; color: #fff; font-size: 11px; font-weight: 750; line-height: 1.6; }

.vertical-grid-expanded { gap: 12px; grid-template-columns: repeat(4, 1fr); }
.vertical-grid-expanded .vertical-card { min-height: 235px; padding: 23px; }
.vertical-glyph { display: grid; width: 42px; height: 42px; margin-bottom: 47px; place-items: center; border: 1px solid var(--cobalt-100); border-radius: 13px; color: var(--cobalt-500); background: linear-gradient(145deg, #fff, var(--cobalt-50)); box-shadow: 0 8px 22px rgba(47, 70, 168, .09); font-size: 17px; }
.vertical-grid-expanded small { color: var(--cobalt-500); font-size: 8px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.vertical-grid-expanded h3 { margin-top: 8px; font-size: 17px; }
.vertical-grid-expanded p { font-size: 10px; }

.pricing-section { padding-block: 130px; }
.pricing-intro { display: grid; align-items: end; gap: 50px; margin-bottom: 48px; grid-template-columns: 1fr auto; }
.pricing-intro h2 { max-width: 800px; margin: 0; font-size: clamp(43px, 5.5vw, 70px); font-weight: 680; letter-spacing: -.07em; line-height: 1; }
.pricing-intro > div:first-child > p:last-child { max-width: 690px; margin: 20px 0 0; color: var(--ink-2); font-size: 15px; line-height: 1.7; }
.free-price { display: grid; min-width: 250px; padding: 25px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255, 255, 255, .86); box-shadow: var(--shadow); grid-template-columns: 1fr auto; }
.free-price span { color: var(--cobalt-500); font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; grid-column: 1 / -1; }
.free-price strong { margin-top: 12px; font-size: 48px; letter-spacing: -.07em; line-height: 1; }
.free-price small { align-self: end; color: var(--muted); font-size: 8px; line-height: 1.45; }
.landing-calculator { grid-template-columns: minmax(0, 1fr) 390px; }
.pricing-bento { display: grid; align-items: stretch; gap: 20px; grid-template-columns: minmax(0, 1fr) 390px; }
.pricing-bento .landing-calculator { display: contents; }
.pricing-bento .landing-calculator > .panel { grid-column: 1; grid-row: 1; }
.pricing-bento .landing-calculator > .estimate { position: static; align-self: stretch; grid-column: 2; grid-row: 1 / 3; }
.homepage-pricing-bento .landing-calculator > .estimate { grid-row: 1; }
.landing-calculator .panel { border-radius: 22px; }
.landing-calculator .panel-heading { min-height: 82px; padding: 18px 24px; }
.landing-calculator .panel-heading h3, .landing-examples .panel-heading h3 { margin: 0; font-size: 15px; }
.detected-badge { padding: 7px 10px; border-radius: 99px; color: var(--cobalt-700); background: var(--cobalt-50); font-size: 8px; font-weight: 800; white-space: nowrap; }
.country-field select { font-weight: 750; }
.landing-examples { margin: 0; overflow: hidden; border-radius: 20px; grid-column: 1; grid-row: 2; }
.commission-card { display: grid; min-height: 150px; align-content: center; padding: 24px; border: 1px solid var(--cobalt-100); border-radius: 20px; background: linear-gradient(135deg, var(--cobalt-50), #fff); grid-column: 2; grid-row: 2; }
.commission-card strong { color: var(--cobalt-700); font-size: 32px; letter-spacing: -.055em; line-height: 1; }
.commission-card p { margin: 11px 0 0; color: var(--ink-2); font-size: 9px; line-height: 1.6; }
.pricing-note-centered { margin: 19px 410px 0 0; color: var(--muted); text-align: center; }

.availability-section { padding-top: 70px; }
.availability-panel { overflow: hidden; border-radius: 29px; }
.world-map-wrap { position: relative; padding: 48px 48px 18px; }
.world-map { width: 100%; max-height: 470px; object-fit: contain; filter: drop-shadow(0 22px 48px rgba(4, 9, 31, .24)); }
.map-legend { display: flex; align-items: center; justify-content: flex-end; margin-top: -12px; }
.map-legend strong { color: #fff; font-size: 12px; }
.country-list { display: grid; padding: 30px 42px 38px; border-top: 1px solid rgba(255, 255, 255, .1); background: rgba(5, 10, 34, .18); gap: 8px; grid-template-columns: repeat(6, 1fr); }
.country-list span { position: relative; padding-left: 12px; color: rgba(255, 255, 255, .62); font-size: 9px; }
.country-list span::before { position: absolute; top: .6em; left: 0; width: 4px; height: 4px; border-radius: 50%; background: var(--cobalt-300); content: ""; }

.trust-panel-eu { position: relative; min-height: 520px; overflow: hidden; grid-template-columns: .8fr 1.2fr; }
.eu-orbit { position: relative; display: grid; min-height: 360px; place-items: center; }
.eu-flag { position: relative; z-index: 3; width: 178px; height: 119px; border-radius: 17px; box-shadow: 0 25px 70px rgba(0, 0, 0, .32); transform: rotate(-4deg); animation: eu-float 6s ease-in-out infinite; }
.orbit { position: absolute; border: 1px solid rgba(197, 208, 239, .22); border-radius: 50%; }
.orbit-one { width: 290px; height: 290px; }
.orbit-two { width: 390px; height: 210px; transform: rotate(20deg); }
.orbit-icon { position: absolute; z-index: 4; display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid rgba(255, 255, 255, .25); border-radius: 16px; color: var(--cobalt-900); background: var(--cobalt-200); box-shadow: 0 18px 38px rgba(0, 0, 0, .18); font-style: normal; font-size: 12px; font-weight: 900; }
.orbit-lock { top: 30px; right: 36px; }
.orbit-home { bottom: 35px; left: 26px; }
.orbit-check { right: 24px; bottom: 48px; color: #fff; background: var(--success); }
.trust-copy { position: relative; z-index: 2; }
.trust-copy > p:not(.eyebrow) { max-width: 650px !important; }
.trust-badges { display: flex; margin-top: 28px; flex-wrap: wrap; gap: 8px; }
.trust-badges span { display: flex; align-items: center; gap: 8px; padding: 9px 11px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 99px; color: rgba(255, 255, 255, .72); background: rgba(255, 255, 255, .06); font-size: 8px; font-weight: 800; }
.trust-badges b { color: var(--cobalt-200); }

@keyframes event-arrive { from { opacity: 0; transform: translateY(12px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes flow-arrive { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes confirm-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(47, 70, 168, 0); } 45% { box-shadow: 0 0 0 7px rgba(47, 70, 168, .13); } }
@keyframes success-arrive { from { opacity: 0; transform: translateY(15px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes booking-pop { from { opacity: 0; transform: translateY(12px) scale(.95); } to { opacity: 1; transform: none; } }
@keyframes eu-float { 0%, 100% { transform: rotate(-4deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-8px); } }

@media (max-width: 1100px) {
  .hero { grid-template-columns: 1fr; }
  .hero-product { min-height: 650px; }
  .coded-app { right: 0; }
  .demo-video-section { grid-template-columns: 1fr; }
  .integration-layout { grid-template-columns: 1fr; }
  .integration-editorial img { min-height: 540px; }
  .vertical-grid-expanded { grid-template-columns: repeat(3, 1fr); }
  .landing-calculator, .pricing-bento { grid-template-columns: minmax(0, 1fr) 350px; }
  .pricing-note-centered { margin-right: 370px; }
}

@media (max-width: 900px) {
  .coded-app { right: 0; left: 0; transform: none; }
  .integration-editorial img { min-height: 430px; }
  .vertical-grid-expanded { grid-template-columns: repeat(2, 1fr); }
  .landing-calculator, .pricing-bento { grid-template-columns: 1fr; }
  .pricing-bento .landing-calculator > .panel { grid-column: 1; grid-row: 1; }
  .pricing-bento .landing-examples { grid-column: 1; grid-row: 2; }
  .pricing-bento .landing-calculator > .estimate { grid-column: 1; grid-row: 3; }
  .homepage-pricing-bento .commission-card { grid-column: 1; grid-row: 3; }
  .homepage-pricing-bento .landing-calculator > .estimate { grid-row: 4; }
  .pricing-note-centered { margin-right: 0; }
  .pricing-intro { grid-template-columns: 1fr; }
  .free-price { width: min(100%, 350px); }
  .country-list { grid-template-columns: repeat(4, 1fr); }
  .trust-panel-eu { grid-template-columns: 1fr; }
  .eu-orbit { min-height: 330px; }
}

@media (max-width: 680px) {
  .hero { padding-bottom: 56px; }
  .hero-product { min-height: 570px; }
  .coded-app { left: -12px; width: calc(100% + 24px); height: 500px; border-radius: 18px; }
  .app-topbar { height: 45px; gap: 7px; padding-inline: 10px; grid-template-columns: 1fr auto; }
  .app-brand strong { display: none; }
  .app-body { min-height: 445px; grid-template-columns: 39px 1fr; }
  .app-sidebar { gap: 14px; }
  .app-sidebar span { width: 24px; height: 24px; }
  .hero-stage { min-height: 445px; }
  .booking-flow-demo { grid-template-columns: minmax(116px, .72fr) minmax(0, 1.28fr); }
  .booking-summary-card { padding: 14px 11px 12px; }
  .public-booking-brand { gap: 5px; margin-bottom: 20px; font-size: 8px; }
  .public-booking-brand svg { width: 18px; }
  .public-booking-host { gap: 6px; margin-bottom: 13px; }
  .public-booking-host strong { font-size: 6.5px; }
  .public-booking-host small { font-size: 5.5px; }
  .booking-host-avatar { width: 27px; height: 27px; font-size: 6px; }
  .booking-summary-card h2 { margin-bottom: 8px; font-size: 15px; }
  .booking-summary-card p { font-size: 6px; }
  .booking-summary-card ul { margin-top: 12px; padding-top: 10px; gap: 6px; font-size: 5.5px; }
  .public-booking-powered { font-size: 5px; }
  .booking-picker { padding: 14px 10px 10px; }
  .flow-progress { margin-bottom: 13px; }
  .booking-picker-head { margin-bottom: 11px; }
  .booking-picker-head h2 { font-size: 14px; }
  .booking-picker-head p { font-size: 5.5px; }
  .public-picker-grid { gap: 6px; grid-template-columns: minmax(0, 1.2fr) minmax(66px, .8fr); }
  .booking-calendar-shell, .booking-slot-panel { padding: 7px; border-radius: 8px; }
  .flow-month { margin-bottom: 6px; font-size: 6.5px; }
  .booking-weekdays { font-size: 4px; }
  .booking-month-grid { gap: 1px; }
  .booking-day { min-height: 15px; border-radius: 4px; font-size: 5px; }
  .booking-day.is-open::after { display: none; }
  .booking-slot-panel > strong { font-size: 6px; }
  .flow-times { gap: 3px; margin-top: 8px; }
  .flow-times span { padding: 6px 2px; font-size: 6px; }
  .flow-confirm { margin-top: 9px; padding-top: 9px; }
  .flow-confirm button { padding: 7px 6px; font-size: 5.5px; }
  .flow-success { right: 8px; bottom: 8px; min-width: 155px; padding: 8px; }
  .calendar-toolbar { height: 58px; padding-inline: 10px; }
  .calendar-toolbar strong { font-size: 10px; }
  .calendar-toolbar button:first-child { display: none; }
  .calendar-head { height: 44px; grid-template-columns: 33px repeat(5, 1fr); font-size: 5px; }
  .calendar-grid { height: 342px; grid-template-columns: 33px repeat(5, 1fr); }
  .demo-event { right: 2px; left: 2px; padding: 4px 3px; border-left-width: 2px; }
  .demo-event b { font-size: 5px; }
  .demo-event span { display: none; }
  .demo-video-section { gap: 32px; }
  .product-video-stage { border-radius: 20px; }
  .video-center-play { width: 58px; height: 58px; }
  .video-controls { right: 7px; bottom: 7px; left: 7px; min-height: 52px; gap: 4px; padding: 6px; border-radius: 13px; }
  .video-control-button { width: 36px; height: 36px; }
  .video-time { width: 60px; font-size: 9px; }
  .video-volume { display: none; }
  .product-captions { right: 6%; left: 6%; max-width: 88%; padding: 8px 11px; border-radius: 9px; font-size: 12px; }
  .video-credit { text-align: left; }
  .integration-card { padding: 21px; }
  .integration-editorial img { min-height: 350px; }
  .vertical-grid-expanded { grid-template-columns: 1fr; }
  .vertical-grid-expanded .vertical-card { min-height: 210px; }
  .vertical-glyph { margin-bottom: 32px; }
  .pricing-section { padding-block: 92px; }
  .pricing-intro { margin-bottom: 34px; }
  .free-price { min-width: 0; }
  .landing-calculator .panel-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .country-list { padding: 25px 22px 30px; grid-template-columns: repeat(2, 1fr); }
  .world-map-wrap { padding: 28px 18px 16px; }
  .map-legend { margin-top: 0; }
  .trust-panel-eu { padding: 26px 20px 38px; }
  .eu-orbit { min-height: 280px; }
  .eu-flag { width: 145px; height: 97px; }
  .orbit-one { width: 230px; height: 230px; }
  .orbit-two { width: 300px; height: 170px; }
  .orbit-icon { width: 46px; height: 46px; }
}

@media (prefers-reduced-motion: reduce) {
  .eu-flag, .demo-event, .booking-day, .flow-times span, .flow-confirm button, .flow-success, .live-booking-card { animation: none !important; }
  .hero-scene { transition: none; }
  .hero-scene.is-active .demo-event, .booking-flow-scene.is-active .booking-day, .booking-flow-scene.is-active .flow-times span, .booking-flow-scene.is-active .flow-success { opacity: 1; transform: none; }
  [data-hero-scene="calendar"] .live-booking-card { opacity: 1; transform: none; }
}

/* Landing v3: technical capabilities, price-first plans and vertical pages */
.nav-dropdown { position: relative; }
.nav-dropdown summary { display: flex; align-items: center; gap: 5px; cursor: pointer; list-style: none; }
.nav-dropdown summary::-webkit-details-marker { display: none; }
.nav-dropdown summary span { transition: transform 160ms ease; }
.nav-dropdown[open] summary span { transform: rotate(180deg); }
.nav-dropdown-panel {
  position: absolute;
  z-index: 70;
  top: calc(100% + 17px);
  left: 50%;
  display: grid;
  width: 290px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 24px 70px rgba(20, 30, 70, .17);
  transform: translateX(-50%);
}
.nav-dropdown-panel a { padding: 9px 11px; border-radius: 9px; font-size: 11px; }
.nav-dropdown-panel a:hover { color: var(--cobalt-700); background: var(--cobalt-50); }
.nav-dropdown-panel a:first-child { display: grid; margin-bottom: 5px; border-bottom: 1px solid var(--line); border-radius: 9px 9px 0 0; }
.nav-dropdown-panel small { margin-top: 2px; color: var(--muted); font-size: 8px; font-weight: 500; }

.vertical-card { color: inherit; }
.vertical-grid-expanded .vertical-card { display: flex; flex-direction: column; }
.vertical-card .card-link { margin-top: auto; padding-top: 20px; color: var(--cobalt-500); font-size: 9px; font-weight: 850; }
.section-link-row { display: flex; justify-content: center; margin-top: 28px; }

.pricing-country-row { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.pricing-country-row .field { width: min(100%, 320px); }
.price-card-grid { display: grid; gap: 14px; margin-bottom: 26px; grid-template-columns: repeat(3, 1fr); }
.price-card { min-height: 295px; padding: 27px; border: 1px solid var(--line); border-radius: 22px; background: rgba(255, 255, 255, .92); box-shadow: var(--shadow); }
.price-card-free { border-color: rgba(47, 70, 168, .25); background: linear-gradient(145deg, #fff, var(--cobalt-50)); }
.price-card > span { color: var(--cobalt-500); font-size: 9px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.price-card > div { display: flex; align-items: end; gap: 9px; margin: 31px 0 22px; }
.price-card strong { font-size: clamp(40px, 4.7vw, 60px); font-weight: 680; letter-spacing: -.075em; line-height: .9; }
.price-card small { padding-bottom: 4px; color: var(--muted); font-size: 9px; }
.price-card h2, .price-card h3 { margin: 0; font-size: 17px; letter-spacing: -.04em; }
.price-card p { margin: 10px 0 0; color: var(--ink-2); font-size: 10px; line-height: 1.65; }
.stepper { display: grid; overflow: hidden; border: 1px solid var(--line-strong); border-radius: var(--control); background: #fff; grid-template-columns: 44px 1fr 44px; }
.stepper button { border: 0; color: var(--cobalt-700); background: var(--cobalt-50); cursor: pointer; font-size: 18px; font-weight: 700; }
.stepper input { min-width: 0; border: 0; border-radius: 0; text-align: center; appearance: textfield; }
.stepper input::-webkit-inner-spin-button { appearance: none; }
.pricing-page-content { padding-bottom: 100px; }
.pricing-page-hero { padding-top: 90px; }
.pricing-note-page { margin: 19px 0 70px; color: var(--muted); text-align: center; }

.breadcrumb { display: flex; gap: 7px; padding-top: 28px; color: var(--muted); font-size: 9px; }
.breadcrumb a:hover { color: var(--cobalt-500); }
.vertical-hero { display: grid; min-height: 650px; align-items: center; gap: clamp(35px, 6vw, 80px); padding-block: 54px 90px; grid-template-columns: .86fr 1.14fr; }
.vertical-hero-copy { min-width: 0; }
.vertical-hero h1 { margin: 0; font-size: clamp(49px, 6.2vw, 78px); font-weight: 690; letter-spacing: -.075em; line-height: .96; }
.vertical-hero h1 span { display: inline-block; white-space: nowrap; }
html[lang="ja"] .vertical-hero h1 span { white-space: normal; }
.vertical-hero h1.vertical-title-compact { font-size: clamp(38px, 4.2vw, 52px); }
.vertical-hero-copy > p:not(.eyebrow) { max-width: 610px; margin: 23px 0 0; color: var(--ink-2); font-size: 16px; line-height: 1.7; }
.vertical-hero .actions { margin-top: 29px; }
.vertical-hero-media { position: relative; min-width: 0; }
.vertical-hero-media img { width: 100%; aspect-ratio: 16 / 9; border-radius: 25px; object-fit: cover; box-shadow: var(--shadow-lg); }
.brand-overlay { position: absolute; right: 18px; bottom: 18px; display: flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid rgba(255, 255, 255, .45); border-radius: 11px; color: #fff; background: rgba(18, 28, 69, .76); box-shadow: 0 10px 30px rgba(0, 0, 0, .2); backdrop-filter: blur(12px); font-size: 11px; font-weight: 850; }
.brand-overlay svg { width: 23px; }
.vertical-price-section { padding-top: 50px; }
.vertical-example { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin: 18px 0 25px; padding: 25px 27px; border: 1px solid var(--cobalt-100); border-radius: 18px; background: var(--cobalt-50); }.vertical-example span { color: var(--ink-2); }.vertical-example strong { color: var(--cobalt-700); font-size: 23px; letter-spacing: -.045em; }
.related-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 25px; }.related-links a { padding: 8px 10px; border: 1px solid var(--line); border-radius: 99px; color: var(--ink-2); background: #fff; font-size: 9px; font-weight: 750; }
.vertical-index-hero { max-width: 900px; padding: 105px 0 70px; }.vertical-index-hero h1 { margin: 0; font-size: clamp(52px, 8vw, 92px); letter-spacing: -.08em; line-height: .92; }.vertical-index-hero > p:last-child { max-width: 680px; color: var(--ink-2); font-size: 16px; line-height: 1.7; }
.model-guide { display: grid; gap: 12px; grid-template-columns: repeat(4, 1fr); }.model-guide article { padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }.model-guide small { color: var(--cobalt-500); font-weight: 850; }.model-guide h3 { margin: 34px 0 8px; }.model-guide p { color: var(--ink-2); font-size: 10px; }

@media (max-width: 1180px) {
  .nav { grid-template-columns: 1fr auto auto; }
  .nav-links { display: flex; gap: 0; }
  .nav-links > a { display: none; }
  .nav-dropdown-panel { right: 0; left: auto; transform: none; }
}

@media (max-width: 900px) {
  .nav { grid-template-columns: 1fr auto auto; }
  .nav-links { display: flex; gap: 0; }
  .nav-links > a { display: none; }
  .nav-dropdown-panel { right: 0; left: auto; transform: none; }
  .nav-signin { display: none; }
  .vertical-hero { grid-template-columns: 1fr; }
  .price-card-grid, .model-guide { grid-template-columns: 1fr 1fr; }
  .vertical-hero { min-height: 0; }
  .language-switcher-panel { position: fixed; top: 61px; right: 8px; width: calc(100vw - 16px); max-height: calc(100vh - 75px); }
}

@media (max-width: 800px) {
  .language-switcher-groups { grid-template-columns: minmax(0, 1fr) 170px; }
  .market-group-eu .language-switcher-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .nav { gap: 7px; }
  .nav-actions { gap: 4px; }
  .site-header .logo > span { display: none; }
  .language-switcher summary { min-width: 0; width: min(148px, 40vw); height: 36px; gap: 5px; padding: 0 7px; }
  .language-switcher-current { font-size: 8px; }
  .language-switcher-chevron { display: none; }
  .nav-actions .button { min-height: 39px; padding-inline: 12px; font-size: 11px; }
}

@media (max-width: 680px) {
  .nav { gap: 7px; }
  .nav-actions { gap: 4px; }
  .site-header .logo > span { display: none; }
  .language-switcher summary { min-width: 0; width: min(148px, 40vw); height: 36px; gap: 5px; padding: 0 7px; }
  .language-switcher-current { display: flex; min-width: 0; font-size: 8px; }
  .language-switcher-chevron { display: none; }
  .language-switcher-panel { position: fixed; top: 61px; right: 8px; width: min(440px, calc(100vw - 16px)); max-height: calc(100vh - 75px); }
  .language-switcher-groups { grid-template-columns: 1fr; }
  .market-group-global { padding: 8px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .market-group-global .language-switcher-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav-dropdown summary { padding: 8px 5px; font-size: 10px; }
  .nav-dropdown-panel { position: fixed; top: 61px; right: 8px; width: min(310px, calc(100vw - 16px)); max-height: calc(100vh - 75px); overflow-y: auto; }
  .price-card-grid, .model-guide { grid-template-columns: 1fr; }
  .pricing-country-row { align-items: stretch; flex-direction: column; }
  .price-card { min-height: 245px; }
  .vertical-hero { padding-block: 40px 68px; }
  .vertical-hero h1 { font-size: clamp(42px, 12vw, 58px); }
  .vertical-hero h1.vertical-title-compact { font-size: 30px; letter-spacing: -.055em; line-height: 1.02; }
  .vertical-example { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 480px) {
  .site-header .nav-actions > .button-primary { display: none; }
}

@media (max-width: 360px) {
  .site-header .nav-actions > .button-primary { display: none; }
}

/* Outcome-led public site */
.nav-solutions-panel {
  left: 50%;
  width: min(760px, calc(100vw - 32px));
  padding: 14px;
  column-gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.nav-solutions-panel .nav-all-link { grid-column: 1 / -1; }
.nav-solutions-panel > .nav-all-link { display: grid; margin-bottom: 0; border-bottom: 1px solid var(--line); }
.nav-solution-group { display: grid; align-content: start; gap: 2px; padding: 8px; }
.nav-solution-group > strong { padding: 3px 3px 8px; color: var(--muted); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.nav-solution-group a { padding: 7px 3px; }

.outcome-hero {
  display: grid;
  min-height: 760px;
  align-items: center;
  gap: clamp(44px, 6vw, 86px);
  padding-block: 76px 96px;
  grid-template-columns: minmax(0, .82fr) minmax(560px, 1.18fr);
}
.outcome-hero h1 { max-width: 690px; margin: 0; font-size: clamp(58px, 7.2vw, 102px); font-weight: 690; letter-spacing: -.078em; line-height: .91; }
.outcome-hero-copy > p:not(.eyebrow) { max-width: 620px; margin: 26px 0 0; color: var(--ink-2); font-size: 17px; line-height: 1.7; }
.outcome-hero .actions { margin-top: 32px; }
.booking-to-calendar { position: relative; display: grid; align-items: center; gap: 22px; min-width: 0; grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr); }
.customer-booking-card, .operator-calendar-card { overflow: hidden; border: 1px solid rgba(31, 44, 102, .12); border-radius: 24px; background: #fff; box-shadow: var(--shadow-lg); }
.customer-booking-card { transform: rotate(-1deg); }
.operator-calendar-card { position: relative; transform: rotate(1deg); }
.mini-browser { display: flex; height: 43px; align-items: center; gap: 5px; padding: 0 13px; border-bottom: 1px solid var(--line); color: var(--muted); background: #fafafa; font-size: 7px; }
.mini-browser i { width: 6px; height: 6px; border-radius: 50%; background: #d8d8d8; }
.mini-browser span { margin-left: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.booking-card-body { padding: 23px; }
.ui-label { margin: 0 0 6px; color: var(--cobalt-500); font-size: 7px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.booking-card-body h2 { margin: 0; font-size: 21px; letter-spacing: -.05em; }
.ui-muted { margin: 4px 0 20px; color: var(--muted); font-size: 8px; }
.date-row, .time-row { display: grid; gap: 5px; margin-bottom: 18px; grid-template-columns: repeat(4, 1fr); }
.date-row span { display: grid; min-height: 52px; place-items: center; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); font-size: 5px; }
.date-row b { display: block; color: var(--ink); font-size: 10px; }
.date-row .selected, .time-row .selected { border-color: var(--cobalt-500); color: var(--cobalt-700); background: var(--cobalt-50); }
.time-row { grid-template-columns: repeat(3, 1fr); }
.time-row span { padding: 7px 3px; border: 1px solid var(--line); border-radius: 7px; text-align: center; font-size: 7px; }
.booking-choice { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin-top: 18px; padding: 11px; border-radius: 10px; background: #f7f8fc; }
.booking-choice span { display: grid; }
.booking-choice small { color: var(--muted); font-size: 6px; }
.booking-choice strong, .booking-choice b { font-size: 8px; }
.ui-confirm { margin-top: 10px; padding: 10px; border-radius: 8px; color: #fff; background: var(--cobalt-500); text-align: center; font-size: 8px; font-weight: 850; }
.flow-arrow { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--cobalt-200); border-radius: 50%; color: var(--cobalt-700); background: #fff; box-shadow: var(--shadow); font-size: 18px; }
.calendar-card-head { display: flex; min-height: 84px; align-items: center; justify-content: space-between; padding: 20px; border-bottom: 1px solid var(--line); }
.calendar-card-head span { display: grid; }
.calendar-card-head small { color: var(--muted); font-size: 7px; }
.calendar-card-head strong { font-size: 14px; }
.calendar-card-head > b { padding: 7px 8px; border-radius: 8px; color: var(--cobalt-700); background: var(--cobalt-50); font-size: 8px; }
.day-agenda { position: relative; display: grid; min-height: 360px; padding: 16px 18px 28px; color: var(--muted); font-size: 6px; grid-template-columns: 30px 1fr; grid-template-rows: repeat(5, 1fr); }
.day-agenda > i { align-self: start; border-top: 1px solid var(--line); }
.confirmed-slot { position: absolute; z-index: 2; top: 149px; right: 18px; left: 50px; display: grid; padding: 13px; border-left: 3px solid var(--cobalt-500); border-radius: 8px; color: var(--cobalt-900); background: var(--cobalt-50); box-shadow: 0 8px 20px rgba(47, 70, 168, .1); }
.confirmed-slot small { color: var(--cobalt-500); font-size: 6px; font-weight: 850; text-transform: uppercase; }
.confirmed-slot strong { font-size: 9px; }
.confirmed-slot span { color: var(--ink-2); font-size: 6px; }
.confirmation-note { position: absolute; right: 12px; bottom: 12px; display: flex; align-items: center; gap: 8px; padding: 9px 11px; border: 1px solid rgba(35, 112, 90, .16); border-radius: 10px; background: #f1faf6; box-shadow: var(--shadow); }
.confirmation-note > b { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 50%; color: #fff; background: var(--success); font-size: 8px; }
.confirmation-note span { display: grid; }
.confirmation-note strong { font-size: 7px; }
.confirmation-note small { color: var(--muted); font-size: 5px; }

.proof-grid-three { grid-template-columns: repeat(3, 1fr); }
.proof-grid-three > div { justify-content: center; }
.proof-grid-three span { max-width: 230px; }
.outcome-grid, .why-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); }
.outcome-grid article, .why-grid article { min-height: 250px; padding: 28px; border: 1px solid var(--line); border-radius: 21px; background: rgba(255, 255, 255, .9); box-shadow: var(--shadow); }
.outcome-grid article > span, .why-grid article > span { color: var(--cobalt-500); font-size: 9px; font-weight: 850; }
.outcome-grid h3, .why-grid h3 { margin: 60px 0 10px; font-size: 21px; letter-spacing: -.045em; }
.outcome-grid p, .why-grid p { margin: 0; color: var(--ink-2); font-size: 11px; line-height: 1.75; }

.product-proof-section { border-block: 1px solid var(--line); background: var(--paper-warm); }
.proof-workbench { display: grid; overflow: hidden; border: 1px solid var(--line); border-radius: 28px; background: #fff; box-shadow: var(--shadow-lg); grid-template-columns: 1.05fr .95fr; }
.proof-steps { display: grid; margin: 0; padding: 28px; border-right: 1px solid var(--line); list-style: none; }
.proof-steps li { display: grid; align-items: center; gap: 14px; padding: 20px 0; border-bottom: 1px solid var(--line); grid-template-columns: 34px 1fr auto; }
.proof-steps li:last-child { border-bottom: 0; }
.proof-steps li > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; color: var(--cobalt-700); background: var(--cobalt-50); font-size: 8px; font-weight: 850; }
.proof-steps li > div { display: grid; }
.proof-steps strong { font-size: 12px; }
.proof-steps small { color: var(--muted); font-size: 8px; line-height: 1.5; }
.proof-steps li > b { padding: 6px 8px; border-radius: 7px; color: var(--success); background: #edf8f3; font-size: 7px; }
.proof-calendar { min-width: 0; padding: 30px; background: linear-gradient(145deg, #fafbff, #eef1fb); }
.proof-calendar-head { display: flex; align-items: center; justify-content: space-between; }
.proof-calendar-head span:first-child { display: grid; }
.proof-calendar-head small { color: var(--muted); font-size: 8px; }
.proof-calendar-head strong { font-size: 18px; }
.calendar-owner { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: #fff; background: var(--cobalt-500); font-size: 8px; font-weight: 850; }
.proof-event { position: relative; display: grid; margin-top: 42px; padding: 25px; border-left: 4px solid var(--cobalt-500); border-radius: 12px; background: #fff; box-shadow: var(--shadow); }
.proof-event small { color: var(--cobalt-500); font-size: 8px; font-weight: 800; }
.proof-event strong { margin-top: 5px; font-size: 16px; }
.proof-event span { color: var(--ink-2); font-size: 9px; }
.proof-event em { position: absolute; top: 16px; right: 16px; padding: 5px 7px; border-radius: 99px; color: var(--success); background: #edf8f3; font-style: normal; font-size: 7px; font-weight: 850; }
.proof-details { display: grid; gap: 8px; margin-top: 15px; }
.proof-details span { padding: 10px 12px; border: 1px solid rgba(47, 70, 168, .09); border-radius: 8px; color: var(--ink-2); background: rgba(255, 255, 255, .7); font-size: 8px; }
.proof-details b { display: inline-block; min-width: 66px; color: var(--ink); }

.solution-groups { display: grid; gap: 18px; }
.solution-groups > section { display: grid; gap: 24px; padding: 28px; border: 1px solid var(--line); border-radius: 23px; background: rgba(255, 255, 255, .82); grid-template-columns: 260px 1fr; }
.solution-group-heading { display: flex; gap: 16px; }
.solution-group-heading > span { display: grid; width: 32px; height: 32px; flex: 0 0 auto; place-items: center; border-radius: 9px; color: var(--cobalt-700); background: var(--cobalt-50); font-size: 8px; font-weight: 850; }
.solution-group-heading h3 { margin: 2px 0 7px; font-size: 20px; letter-spacing: -.045em; }
.solution-group-heading p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.6; }
.solution-links { display: grid; gap: 9px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.solution-links a { display: grid; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: #fff; transition: border-color 150ms ease, transform 150ms ease; }
.solution-links a:hover { border-color: var(--cobalt-200); transform: translateY(-2px); }
.solution-links strong { font-size: 11px; }
.solution-links span { margin-top: 4px; color: var(--muted); font-size: 8px; line-height: 1.5; }
.integration-cards-row { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); }
.pricing-preview-section { border-block: 1px solid var(--line); background: var(--paper-warm); }
.compact-price-grid .price-card { min-height: 270px; }
.pricing-preview-foot { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 24px; }
.pricing-preview-foot p { max-width: 670px; margin: 0; color: var(--ink-2); font-size: 11px; line-height: 1.65; }
.why-grid { grid-template-columns: repeat(2, 1fr); }
.why-grid article { min-height: 220px; }
.why-grid h3 { margin-top: 44px; }
.solutions-band {
  color: var(--ink);
  border-block: 1px solid var(--line);
  background:
    radial-gradient(circle at 91% 8%, rgba(157, 177, 230, .28), transparent 31rem),
    radial-gradient(circle at 4% 96%, rgba(118, 87, 182, .1), transparent 28rem),
    #f4f5f9;
}
.solutions-band .section-heading .eyebrow { color: var(--cobalt-500); }
.solutions-band .section-heading h2 { color: var(--ink); }
.solutions-band .section-heading > p { color: var(--ink-2); font-size: 16px; }
.solution-showcase { display: grid; align-items: stretch; gap: 22px; grid-template-columns: minmax(0, 1.12fr) minmax(420px, .88fr); }
.solution-photo-stage { position: relative; min-height: 690px; overflow: hidden; border: 1px solid rgba(31, 44, 102, .1); border-radius: 28px; background: #e8eaf1; box-shadow: 0 28px 75px rgba(31, 44, 102, .15); }
.solution-photo-panel { position: absolute; inset: 0; margin: 0; opacity: 0; pointer-events: none; transform: scale(1.025); transition: opacity 700ms ease, transform 1200ms ease; }
.solution-photo-panel.is-active { opacity: 1; pointer-events: auto; transform: scale(1); }
.solution-photo-panel::after { position: absolute; inset: 48% 0 0; background: linear-gradient(180deg, transparent, rgba(11, 17, 47, .72)); content: ""; }
.solution-photo-panel img { width: 100%; height: 100%; object-fit: cover; }
.solution-photo-panel figcaption { position: absolute; z-index: 2; right: 30px; bottom: 28px; left: 30px; display: flex; align-items: center; gap: 13px; color: #fff; }
.solution-photo-panel figcaption span { display: grid; width: 35px; height: 35px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(255, 255, 255, .35); border-radius: 10px; background: rgba(15, 24, 71, .48); backdrop-filter: blur(8px); font-size: 8px; font-weight: 850; }
.solution-photo-panel figcaption strong { font-size: 27px; letter-spacing: -.05em; }
.solution-progress { position: absolute; z-index: 3; top: 22px; right: 22px; display: flex; gap: 6px; }
.solution-progress span { width: 22px; height: 3px; border-radius: 99px; background: rgba(255, 255, 255, .44); transition: width 250ms ease, background 250ms ease; }
.solution-progress span.is-active { width: 44px; background: #fff; }
.solution-card-grid { display: grid; gap: 12px; grid-template-columns: 1fr; }
.solution-card-grid > article { padding: 21px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255, 255, 255, .82); box-shadow: 0 12px 32px rgba(31, 44, 102, .06); transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease; }
.solution-card-grid > article.is-active { border-color: var(--cobalt-200); background: #fff; box-shadow: 0 18px 42px rgba(47, 70, 168, .12); transform: translateX(-4px); }
.solution-card-heading { display: grid; align-items: start; gap: 13px; margin-bottom: 16px; grid-template-columns: 30px 1fr; }
.solution-card-heading > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 9px; color: var(--cobalt-700); background: var(--cobalt-50); font-size: 8px; font-weight: 850; }
.solution-card-grid h3 { margin: 0; font-size: 22px; letter-spacing: -.045em; }
.solution-card-grid h3 button { padding: 0; border: 0; color: inherit; background: none; font: inherit; text-align: left; cursor: pointer; }
.solution-card-grid h3 button:hover { color: var(--cobalt-500); }
.solution-card-grid p { margin: 5px 0 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.solution-compact-links { display: grid; gap: 7px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.solution-compact-links a { display: flex; min-height: 43px; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: #fff; font-size: 10px; font-weight: 800; transition: border-color 150ms ease, background 150ms ease, transform 150ms ease; }
.solution-compact-links a:hover { border-color: var(--cobalt-200); background: var(--cobalt-50); transform: translateX(2px); }
.solution-compact-links span { color: var(--cobalt-500); font-size: 14px; }
.solutions-band .section-link-row { margin-top: 28px; }
.footer-grid { grid-template-columns: 1.25fr .8fr 1fr .8fr 1fr .7fr; }
.footer-grid > div:nth-child(3) { display: flex; }
.footer-grid > div:nth-child(3) > strong { grid-column: auto; }

@media (max-width: 1100px) {
  .outcome-hero { grid-template-columns: 1fr; }
  .booking-to-calendar { width: min(100%, 760px); margin-inline: auto; }
  .footer-grid { gap: 24px; grid-template-columns: 1.2fr repeat(5, 1fr); }
}

@media (max-width: 900px) {
  .nav-solutions-panel { right: 0; left: auto; transform: none; }
  .outcome-hero { min-height: 0; padding-block: 70px; }
  .outcome-grid, .integration-cards-row { grid-template-columns: 1fr; }
  .outcome-grid article { min-height: 210px; }
  .proof-workbench { grid-template-columns: 1fr; }
  .proof-steps { border-right: 0; border-bottom: 1px solid var(--line); }
  .solution-groups > section { grid-template-columns: 1fr; }
  .solution-showcase { grid-template-columns: 1fr; }
  .solution-photo-stage { min-height: 480px; }
  .solution-card-grid > article.is-active { transform: none; }
  .footer-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 680px) {
  .nav-solutions-panel { position: fixed; top: 61px; right: 8px; width: calc(100vw - 16px); max-height: calc(100vh - 75px); overflow-y: auto; grid-template-columns: 1fr; }
  .nav-solutions-panel .nav-all-link { grid-column: 1; }
  .outcome-hero h1 { font-size: clamp(52px, 15vw, 72px); }
  .booking-to-calendar { gap: 12px; grid-template-columns: 1fr; }
  .customer-booking-card, .operator-calendar-card { transform: none; }
  .flow-arrow { margin-inline: auto; transform: rotate(90deg); }
  .proof-grid-three { grid-template-columns: 1fr; }
  .proof-grid-three > div { justify-content: flex-start; border-right: 1px solid var(--line); }
  .proof-steps, .proof-calendar { padding: 19px; }
  .proof-steps li { gap: 9px; grid-template-columns: 32px 1fr; }
  .proof-steps li > b { grid-column: 2; justify-self: start; }
  .solution-groups > section { padding: 19px; }
  .solution-links { grid-template-columns: 1fr; }
  .solution-photo-stage { min-height: 340px; border-radius: 21px; }
  .solution-photo-panel figcaption { right: 20px; bottom: 18px; left: 20px; }
  .solution-photo-panel figcaption strong { font-size: 22px; }
  .solution-card-grid > article { padding: 18px; }
  .solution-compact-links { grid-template-columns: 1fr; }
  .pricing-preview-foot { align-items: flex-start; flex-direction: column; }
  .why-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
}

/* Industry product proof */
.vertical-product-demo { overflow: hidden; border: 1px solid rgba(31, 44, 102, .12); border-radius: 25px; background: #fff; box-shadow: var(--shadow-lg); }
.vertical-demo-top { display: flex; min-height: 54px; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 17px; border-bottom: 1px solid var(--line); background: #fafafa; }
.vertical-demo-brand { display: flex; align-items: center; gap: 8px; font-size: 10px; font-weight: 850; }
.vertical-demo-brand svg { width: 22px; }
.vertical-demo-top > span { padding: 6px 8px; border-radius: 8px; color: var(--success); background: #edf8f3; font-size: 7px; font-weight: 850; }
.vertical-demo-body { display: grid; min-height: 430px; padding: 23px; gap: 17px; grid-template-columns: .78fr 1.22fr; }
.vertical-demo-summary { padding: 18px; border-radius: 15px; color: #fff; background: linear-gradient(150deg, var(--cobalt-700), var(--cobalt-900)); }
.vertical-demo-summary small { color: var(--cobalt-200); font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.vertical-demo-summary h2 { margin: 15px 0 8px; font-size: 20px; letter-spacing: -.05em; line-height: 1.1; }
.vertical-demo-summary p { margin: 0; color: rgba(255, 255, 255, .64); font-size: 8px; line-height: 1.6; }
.vertical-demo-summary dl { display: grid; gap: 10px; margin: 27px 0 0; }
.vertical-demo-summary div { display: grid; gap: 2px; padding-top: 9px; border-top: 1px solid rgba(255, 255, 255, .12); }
.vertical-demo-summary dt { color: rgba(255, 255, 255, .44); font-size: 6px; }
.vertical-demo-summary dd { margin: 0; font-size: 8px; font-weight: 800; }
.vertical-demo-picker { min-width: 0; }
.vertical-demo-picker > small { color: var(--muted); font-size: 7px; font-weight: 800; text-transform: uppercase; }
.demo-option-list { display: grid; gap: 7px; margin-top: 10px; }
.demo-option { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.demo-option.is-selected { border-color: var(--cobalt-500); background: var(--cobalt-50); }
.demo-option > span { display: grid; min-width: 0; }
.demo-option strong { overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.demo-option small { color: var(--muted); font-size: 6px; }
.demo-option > b { color: var(--cobalt-700); font-size: 7px; white-space: nowrap; }
.demo-result { display: grid; gap: 7px; margin-top: 15px; padding: 13px; border-radius: 11px; background: #f7f8fc; }
.demo-result-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--ink-2); font-size: 7px; }
.demo-result-row strong { color: var(--ink); }
.demo-confirm-button { padding: 10px; border-radius: 8px; color: #fff; background: var(--cobalt-500); text-align: center; font-size: 7px; font-weight: 850; }
.vertical-fit-section { width: 100%; max-width: 100%; padding: 0; border-block: 1px solid var(--line); overflow: hidden; background: #fff; }
.vertical-fit-editorial { display: grid; min-width: 0; margin: 0; overflow: hidden; grid-template-columns: minmax(0, 1fr) minmax(520px, 760px); }
.vertical-fit-editorial img { width: 100%; height: 100%; min-width: 0; object-fit: cover; }
.vertical-fit-editorial figcaption { display: flex; min-width: 0; justify-content: center; flex-direction: column; padding: clamp(42px, 5vw, 72px); }
.vertical-fit-editorial figcaption > small { color: var(--cobalt-500); font-size: 8px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.vertical-fit-editorial h2 { margin: 15px 0 0; font-size: 29px; letter-spacing: -.055em; line-height: 1.05; }
.vertical-fit-editorial figcaption > p { margin: 15px 0 0; color: var(--ink-2); font-size: 11px; line-height: 1.75; }
.vertical-fit-points { display: grid; margin: 24px 0 0; padding: 0; list-style: none; }
.vertical-fit-points li { display: grid; min-width: 0; padding: 15px 0; border-top: 1px solid var(--line); gap: 13px; grid-template-columns: 30px 1fr; }
.vertical-fit-points li > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 9px; color: var(--cobalt-700); background: var(--cobalt-50); font-size: 8px; font-weight: 850; }
.vertical-fit-points li > div { min-width: 0; }
.vertical-fit-points small { color: var(--cobalt-500); font-size: 8px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.vertical-fit-points h3 { margin: 4px 0 0; font-size: 16px; letter-spacing: -.035em; line-height: 1.2; }
.vertical-fit-points p { margin: 5px 0 0; color: var(--ink-2); font-size: 10px; line-height: 1.65; }
.vertical-price-section .price-card-grid { margin-top: 20px; }
.not-found-page { display: flex; min-height: 100vh; align-items: flex-start; justify-content: center; flex-direction: column; }
.not-found-page .eyebrow { margin-top: 70px; }
.not-found-page h1 { max-width: 800px; margin: 0; font-size: clamp(60px, 10vw, 120px); letter-spacing: -.08em; line-height: .9; }
.not-found-page > p:not(.eyebrow) { margin: 25px 0 0; color: var(--ink-2); font-size: 16px; }
.not-found-page .actions { margin-top: 30px; }

@media (max-width: 900px) {
  .vertical-demo-body, .vertical-fit-editorial { grid-template-columns: 1fr; }
  .vertical-demo-body { min-height: 0; }
  .vertical-fit-editorial img { height: auto; min-height: 0; }
}

@media (max-width: 680px) {
  .vertical-demo-body { padding: 13px; grid-template-columns: .85fr 1.15fr; }
  .vertical-demo-summary { padding: 13px; }
  .vertical-demo-summary h2 { font-size: 16px; }
  .vertical-demo-summary dl { margin-top: 18px; }
  .vertical-fit-editorial figcaption { padding: 26px 22px; }
  .vertical-fit-points li { gap: 10px; grid-template-columns: 30px 1fr; }
}

/* Help Center */
.nav-help-mobile { display: none; }
.help-main { background: linear-gradient(180deg, #f7f8fb 0, var(--paper) 38rem); }
.help-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 78% -30%, rgba(157, 177, 230, .65), transparent 34rem),
    radial-gradient(circle at 6% 130%, rgba(118, 87, 182, .42), transparent 28rem),
    linear-gradient(135deg, var(--cobalt-700), var(--cobalt-900));
}
.help-hero::after {
  position: absolute;
  top: -160px;
  right: 5vw;
  width: 410px;
  height: 410px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(255, 255, 255, .025), 0 0 0 140px rgba(255, 255, 255, .018);
  content: "";
}
.help-hero-inner { position: relative; z-index: 1; padding-block: 86px 96px; text-align: center; }
.help-hero .eyebrow { color: var(--cobalt-200); }
.help-hero h1 { margin: 0; font-size: clamp(51px, 7vw, 82px); font-weight: 680; letter-spacing: -.074em; line-height: .95; }
.help-hero-inner > p:not(.eyebrow) { margin: 19px 0 0; color: rgba(255, 255, 255, .68); font-size: 16px; }
.help-search { width: min(100%, 760px); margin: 37px auto 0; text-align: left; }
.help-search > label { display: block; margin-bottom: 8px; color: rgba(255, 255, 255, .72); font-size: 10px; font-weight: 800; letter-spacing: .04em; }
.help-search > div { position: relative; display: flex; min-height: 62px; align-items: center; border: 1px solid rgba(255, 255, 255, .28); border-radius: 16px; background: #fff; box-shadow: 0 22px 55px rgba(5, 11, 36, .24); }
.help-search svg { width: 22px; height: 22px; margin-left: 20px; fill: none; stroke: var(--cobalt-500); stroke-linecap: round; stroke-width: 1.8; }
.help-search input { width: 100%; height: 60px; min-width: 0; padding: 0 16px; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 15px; }
.help-search input::placeholder { color: var(--muted); }
.help-search button { flex: 0 0 auto; margin-right: 9px; padding: 9px 12px; border: 0; border-radius: 9px; color: var(--cobalt-700); background: var(--cobalt-50); cursor: pointer; font-size: 10px; font-weight: 800; white-space: nowrap; }
.help-search-status { min-height: 18px; margin: 8px 2px 0; color: rgba(255, 255, 255, .55); font-size: 10px; }

.help-popular { padding-block: 78px 70px; }
.help-section-label { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 25px; }
.help-section-label .eyebrow { margin-bottom: 7px; }
.help-section-label h2 { margin: 0; font-size: 31px; font-weight: 670; letter-spacing: -.052em; }
.help-popular-grid { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.help-popular-grid a { position: relative; display: flex; min-height: 190px; flex-direction: column; padding: 23px 48px 23px 23px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .92); box-shadow: var(--shadow); transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms var(--ease-out); }
.help-popular-grid a:hover { border-color: var(--cobalt-200); box-shadow: 0 18px 44px rgba(31, 44, 102, .1); transform: translateY(-3px); }
.help-popular-grid span { color: var(--cobalt-500); font-size: 8px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.help-popular-grid strong { margin-top: auto; font-size: 16px; letter-spacing: -.028em; }
.help-popular-grid p { margin: 8px 0 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.help-popular-grid b { position: absolute; top: 21px; right: 21px; color: var(--cobalt-500); font-size: 18px; font-weight: 500; }

.help-layout { display: grid; align-items: start; gap: clamp(40px, 6vw, 88px); padding-bottom: 110px; grid-template-columns: 245px minmax(0, 1fr); }
.help-sidebar { position: sticky; top: 104px; display: grid; gap: 14px; }
.help-sidebar nav { display: grid; padding: 10px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255, 255, 255, .88); box-shadow: var(--shadow); }
.help-sidebar nav > strong { padding: 10px 11px 12px; color: var(--muted); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.help-sidebar nav a { display: flex; min-height: 43px; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 11px; border-radius: 10px; color: var(--ink-2); font-size: 11px; font-weight: 720; }
.help-sidebar nav a:hover { color: var(--cobalt-700); background: var(--cobalt-50); }
.help-sidebar nav small { display: grid; width: 24px; height: 24px; flex: 0 0 auto; place-items: center; border-radius: 8px; color: var(--muted); background: rgba(31, 29, 26, .04); font-size: 8px; }
.help-sidebar-support { display: grid; padding: 16px 18px; border-radius: 15px; color: #fff; background: var(--cobalt-900); }
.help-sidebar-support span { color: rgba(255, 255, 255, .55); font-size: 9px; }
.help-sidebar-support strong { margin-top: 3px; font-size: 12px; }
.help-content { min-width: 0; }
.help-category { scroll-margin-top: 100px; padding-bottom: 80px; }
.help-category + .help-category { padding-top: 8px; }
.help-category-heading { display: grid; align-items: end; gap: 32px; margin-bottom: 23px; grid-template-columns: 1fr minmax(220px, .72fr); }
.help-category-heading .eyebrow { margin-bottom: 7px; }
.help-category-heading h2 { margin: 0; font-size: clamp(31px, 4vw, 43px); font-weight: 670; letter-spacing: -.058em; line-height: 1.02; }
.help-category-heading > p { margin: 0 0 2px; color: var(--muted); font-size: 11px; line-height: 1.65; }
.help-article-list { display: grid; gap: 11px; }
.help-article { scroll-margin-top: 100px; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .94); box-shadow: var(--shadow); }
.help-article:target { border-color: var(--cobalt-300); box-shadow: 0 0 0 3px rgba(47, 70, 168, .08), var(--shadow); }
.help-article-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; padding: 22px 22px 18px; }
.help-article-heading > div { min-width: 0; }
.help-article-heading span { color: var(--cobalt-500); font-size: 8px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.help-article-heading h3 { margin: 7px 0 0; font-size: 19px; letter-spacing: -.035em; line-height: 1.2; }
.help-article-heading p { margin: 8px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.help-article-heading > a { display: grid; width: 32px; height: 32px; flex: 0 0 auto; place-items: center; border-radius: 9px; color: var(--muted); background: var(--paper); font-size: 11px; font-weight: 800; }
.help-article-heading > a:hover { color: var(--cobalt-700); background: var(--cobalt-50); }
.help-article details { border-top: 1px solid var(--line); }
.help-article summary { display: flex; min-height: 50px; align-items: center; justify-content: space-between; padding: 0 22px; color: var(--cobalt-700); cursor: pointer; font-size: 10px; font-weight: 820; list-style: none; }
.help-article summary::-webkit-details-marker { display: none; }
.help-article summary b { font-size: 19px; font-weight: 500; transition: transform 160ms ease; }
.help-article details[open] summary b { transform: rotate(45deg); }
.help-article-content { padding: 0 22px 26px; }
.help-quick-answer { margin-bottom: 25px; padding: 18px; border: 1px solid var(--cobalt-100); border-radius: 13px; background: var(--cobalt-50); }
.help-quick-answer strong { color: var(--cobalt-700); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.help-quick-answer p { margin: 8px 0 0; color: var(--ink-2); font-size: 12px; line-height: 1.72; }
.help-article-content section + section { margin-top: 26px; padding-top: 24px; border-top: 1px solid var(--line); }
.help-article-content h4 { margin: 0 0 10px; font-size: 15px; letter-spacing: -.025em; }
.help-article-content p { margin: 9px 0 0; color: var(--ink-2); font-size: 12px; line-height: 1.78; }
.help-article-content ol, .help-article-content ul { display: grid; gap: 9px; margin: 12px 0 0; padding-left: 22px; color: var(--ink-2); font-size: 12px; line-height: 1.68; }
.help-article-content li::marker { color: var(--cobalt-500); font-weight: 800; }
.help-empty { margin-bottom: 45px; padding: 34px; border: 1px solid var(--line); border-radius: 19px; background: #fff; text-align: center; }
.help-empty h2 { margin: 0; font-size: 27px; letter-spacing: -.045em; }
.help-empty p { margin: 9px 0 20px; color: var(--muted); }

.help-support { display: flex; min-height: 280px; align-items: center; justify-content: space-between; gap: 55px; margin-bottom: 90px; padding: 48px 55px; border-radius: 27px; color: #fff; background: linear-gradient(135deg, var(--cobalt-700), var(--cobalt-900)); box-shadow: var(--shadow-lg); }
.help-support > div { max-width: 700px; }
.help-support .eyebrow { color: var(--cobalt-200); }
.help-support h2 { margin: 0; font-size: clamp(38px, 5vw, 58px); letter-spacing: -.064em; line-height: 1; }
.help-support p:not(.eyebrow) { margin: 17px 0 0; color: rgba(255, 255, 255, .65); font-size: 13px; line-height: 1.75; }
.help-support .button { flex: 0 0 auto; }
[data-help-article][hidden], [data-help-category][hidden], [data-help-empty][hidden], [data-help-clear][hidden], [data-help-empty-clear][hidden] { display: none !important; }

@media (max-width: 900px) {
  .nav-help-mobile { display: block; grid-column: 1 / -1; margin-top: 5px; border-top: 1px solid var(--line); }
  .help-popular-grid { grid-template-columns: 1fr 1fr; }
  .help-layout { gap: 30px; grid-template-columns: 1fr; }
  .help-sidebar { position: static; }
  .help-sidebar nav { grid-template-columns: 1fr 1fr; }
  .help-sidebar nav > strong { grid-column: 1 / -1; }
  .help-sidebar-support { display: none; }
}

@media (max-width: 680px) {
  .help-hero-inner { padding-block: 62px 70px; }
  .help-hero h1 { font-size: clamp(47px, 15vw, 64px); }
  .help-hero-inner > p:not(.eyebrow) { font-size: 14px; }
  .help-search { margin-top: 30px; }
  .help-search > div { min-height: 56px; }
  .help-search input { height: 54px; padding-inline: 12px; font-size: 13px; }
  .help-search svg { width: 19px; margin-left: 15px; }
  .help-popular { padding-block: 57px; }
  .help-popular-grid { grid-template-columns: 1fr; }
  .help-popular-grid a { min-height: 150px; }
  .help-layout { padding-bottom: 75px; }
  .help-sidebar nav { grid-template-columns: 1fr; }
  .help-category { padding-bottom: 62px; }
  .help-category-heading { gap: 10px; grid-template-columns: 1fr; }
  .help-category-heading > p { max-width: 480px; }
  .help-article-heading { padding: 19px 17px 16px; }
  .help-article summary { padding-inline: 17px; }
  .help-article-content { padding: 0 17px 22px; }
  .help-support { width: 100%; align-items: flex-start; flex-direction: column; margin-bottom: 0; padding: 58px 24px 64px; border-radius: 0; }
  .help-support .button { width: 100%; }
}
