/* Quiet surfaces, precise typography, and a single blue accent. */
:root {
  --ink: #1d1d1f;
  --muted: #6e6e73;
  --paper: #fff;
  --line: #e5e5ea;
  --lime: #0071e3;
  --blue: #f5f5f7;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --heading: var(--font);
}
body { -webkit-font-smoothing: antialiased; }
html { scroll-padding-top: 94px; }
.shell { max-width: 1280px; }
.site-header { background: #ffffffdc; border-color: #0000000d; backdrop-filter: blur(24px) saturate(180%); }
.nav-row { height: 76px; }
.brand { font-size: 21px; font-weight: 600; letter-spacing: -.7px; gap: 10px; }
.brand-symbol { font-size: 43px; font-weight: 600; height: 41px; width: 37px; }
.brand-sub { letter-spacing: 3.2px; font-size: 10px; }
nav { font-size: 14px; gap: 30px; font-weight: 400; }
.button { border-radius: 999px; min-height: 48px; padding: 12px 23px; gap: 17px; font-weight: 500; }
.button-dark, .button-lime { background: #0071e3; color: #fff; }
.button-dark:hover, .button-lime:hover { background: #0077ed; transform: none; }
.nav-cta { min-height: 39px; padding: 8px 18px; font-size: 14px; }
.nav-cta svg { display: none; }
.hero { padding-top: 90px; padding-bottom: 100px; gap: 60px; }
.eyebrow { color: #6e6e73; font-size: 14px; letter-spacing: .02em; font-weight: 500; }
.hero h1 { font-size: clamp(48px, 5.25vw, 72px); font-weight: 600; line-height: 1.06; letter-spacing: -.055em; margin-top: 22px; }
.highlight { color: #0071e3; }
.highlight:after { display: none; }
.hero-copy>p { color: #6e6e73; font-size: 20px; line-height: 1.5; }
.text-button { color: #0066cc; font-weight: 400; font-size: 16px; }
.play-icon { border-color: #0066cc; }
.play-icon svg { fill: #0066cc; }
.hero-note { font-size: 12px; color: #6e6e73; }
.hero-visual, .photo-zone, .photo-zone:after { border-radius: 28px; }
.hero-visual { background: #f5f5f7; }
.medical-hero .photo-zone { background: #edf4ff; }
.medical-hero .photo-zone img { object-position: center top; }
.call-card { transform: none; border-radius: 22px; background: #1d1d1fed; backdrop-filter: blur(20px); box-shadow: 0 18px 45px #00000018; left: -24px; bottom: 24px; }
.call-icon { color: #8bc1ff; background: #ffffff12; }
.waveform i { background: #8bc1ff; }
.call-indicator { background: #81c99a; }
.appointment-badge { transform: none; border-radius: 18px; background: #ffffffed; backdrop-filter: blur(20px); box-shadow: 0 10px 35px #0000000d; right: -12px; }
.appointment-badge>span { background: #edf4ff; color: #0066cc; border-radius: 10px; }
.integration-strip { border: 0; background: #f5f5f7; padding-top: 36px; padding-bottom: 42px; }
.integration-strip p { color: #6e6e73; font-size: 12px; letter-spacing: .08em; }
.app-names { color: #6e6e73; }
.app-names>a { color: #0066cc; font-size: 14px; }
.section { padding-top: 112px; padding-bottom: 112px; }
h2 { font-weight: 600; font-size: 52px; letter-spacing: -.045em; line-height: 1.08; }
.section-heading { margin-bottom: 48px; align-items: center; }
.section-heading>p { font-size: 18px; line-height: 1.55; }
.service-grid { gap: 20px; }
.service-card { background: #f5f5f7; border: 0; border-radius: 24px; padding: 30px 25px; }
.service-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px #00000008; }
.service-icon, .service-card:nth-child(n) .service-icon { background: transparent; border-radius: 0; width: 34px; height: 38px; color: #1d1d1f; }
.service-icon svg { width: 30px; height: 30px; stroke-width: 1.5; }
.service-top { margin-bottom: 28px; }
.service-card h3 { font-size: 23px; font-weight: 600; letter-spacing: -.025em; }
.service-card>p { color: #6e6e73; line-height: 1.6; }
.card-link { color: #0066cc; font-weight: 400; font-size: 14px; line-height: 1.4; }
.demo-section { background: #f5f5f7; padding: 104px 0; }
.demo-copy h2 { font-size: 54px; letter-spacing: -.045em; font-weight: 600; }
.demo-copy>p { font-size: 18px; line-height: 1.6; max-width: 430px; }
.demo-tabs { margin-top: 32px; }
.demo-tabs button { border-color: #dedee3; padding: 17px 15px; border-radius: 0; font-size: 16px; }
.demo-tabs button:first-child { border-top: 0; }
.demo-tabs button[aria-selected=true] { color: #0066cc; border-radius: 14px; box-shadow: 0 4px 20px #00000004; }
.example-panel { transform: none; border: 0; border-radius: 28px; box-shadow: 0 20px 60px #00000007; padding: 28px; }
.example-logo { background: #1d1d1f; color: #fff; border-radius: 11px; }
.assistant-bubble { background: #f5f5f7; }
.client-bubble { background: #0071e3; color: #fff; }
.bubble { border-radius: 18px; }
.assistant-bubble { border-bottom-left-radius: 5px; }
.client-bubble { border-bottom-right-radius: 5px; }
.example-result { background: #f5f5f7; border: 0; border-radius: 16px; padding: 16px; }
.result-icon { background: #e7f0fb; color: #0066cc; }
.example-header strong { font-size: 15px; }
.center-heading { max-width: 900px; margin: 0 auto; }
.center-heading h2 { font-size: 64px; margin: 22px 0; }
.center-heading p { font-size: 20px; line-height: 1.5; max-width: 580px; margin: 0 auto; }
.steps { gap: 0; margin-top: 70px; }
.steps article { border-top: 0; padding: 6px 34px; }
.steps article:first-child { padding-left: 0; }
.steps article:last-child { padding-right: 0; }
.steps article+article { border-left: 1px solid #e5e5ea; }
.steps h3 { font-size: 24px; font-weight: 600; letter-spacing: -.025em; margin: 0 0 17px; }
.steps p { font-size: 17px; line-height: 1.65; max-width: none; }
.integrations-section { background: #101010; padding-top: 100px; }
.integrations-section h2 { font-size: 54px; }
.integrations-section .eyebrow { color: #a1a1a6; }
.integrations-layout>div>p { color: #a1a1a6; font-size: 18px; }
.light-link { color: #70b6ff; }
.integration-grid>div { background: #1d1d1f; border: 0; border-radius: 20px; min-height: 130px; }
.integration-grid .more-integrations { background: #1d1d1f; }
.more-integrations .integration-name { color: #f5f5f7; }
.integration-grid>div>span:last-child, .integration-disclaimer { color: #a1a1a6; }
.integration-disclaimer { border-top-color: #333; }
.faq-section { gap: 70px; }
.faq-list details { border-color: #d2d2d7; }
.faq-list summary { padding: 25px 0; font-size: 17px; }
.faq-list details p { line-height: 1.6; }
.contact-card { background: #f5f5f7; border-radius: 28px; padding: 80px 32px; }
.contact-card h2 { font-size: 64px; font-weight: 600; letter-spacing: -.045em; }
.contact-card p { color: #6e6e73; font-size: 20px; }
.contact-note { color: #0066cc; font-size: 14px; }
.footer-main { border-top: 0; }
.footer-bottom { color: #6e6e73; }
.skip { color: #fff; }
@media (max-width:1100px) {
  .hero { gap: 40px; }
  .hero h1 { font-size: 59px; }
  .hero-copy>p { font-size: 19px; }
  h2, .demo-copy h2, .integrations-section h2 { font-size: 44px; }
  .service-card { padding: 26px 20px; }
  .service-card h3 { font-size: 21px; }
  .steps article { padding-left: 26px; padding-right: 26px; }
  .steps h3 { font-size: 22px; }
  .example-panel { padding: 22px; }
}
@media (max-width:850px) {
  .hero { padding-top: 60px; padding-bottom: 70px; gap: 28px; }
  .hero h1 { font-size: 49px; }
  .hero-copy>p { font-size: 18px; }
  .hero-actions { gap: 19px; }
  .call-card { left: -10px; }
  .service-card { padding: 30px; }
  .service-card h3 { font-size: 24px; }
  .section { padding-top: 84px; padding-bottom: 84px; }
  .demo-copy h2, .integrations-section h2 { font-size: 39px; }
  .example-panel { padding: 20px; }
  .example-header strong { font-size: 13px; }
  .center-heading h2 { font-size: 54px; }
  .steps article { padding-left: 20px; padding-right: 20px; }
  .steps h3 { font-size: 20px; }
  .steps p { font-size: 16px; }
  .contact-card h2 { font-size: 54px; }
  .faq-section { gap: 30px; }
}
@media (max-width:640px) {
  .nav-row { height: 68px; }
  nav { top: 68px; background: #fffffff5; font-size: 16px; }
  .menu-toggle { border: 0; padding: 12px; }
  .brand { font-size: 21px; }
  .hero { padding-top: 48px; padding-bottom: 64px; gap: 52px; }
  .hero h1 { font-size: clamp(46px, 11.8vw, 67px); line-height: 1.07; letter-spacing: -.05em; }
  .eyebrow, .demo-copy .eyebrow, .faq-section .eyebrow { font-size: 14px; letter-spacing: 0; }
  .hero-copy>p { font-size: 19px; }
  .hero-actions { gap: 20px; flex-wrap: wrap; }
  .hero-actions .button { padding: 12px 20px; font-size: 16px; }
  .text-button { font-size: 16px; }
  .hero-note { font-size: 12px; }
  .hero-visual { margin-right: 0; }
  .call-card { left: 12px; bottom: 16px; width: min(290px, calc(100% - 24px)); padding: 18px; }
  .appointment-badge { right: -4px; top: -15px; border-radius: 16px; }
  .integration-strip p { font-size: 12px; }
  .section { padding-top: 72px; padding-bottom: 72px; }
  h2, .demo-copy h2, .integrations-section h2 { font-size: 39px; letter-spacing: -.04em; }
  .section-heading>p { font-size: 18px; }
  .service-grid { grid-template-columns: 1fr; gap: 18px; }
  .service-card { padding: 30px; }
  .service-card h3 { min-height: 0; font-size: 27px; margin-bottom: 15px; }
  .service-card>p { font-size: 17px; max-width: none; }
  .card-link { font-size: 16px; }
  .demo-section { padding: 72px 0 56px; }
  .demo-copy>p { font-size: 18px; }
  .demo-tabs button { font-size: 16px; }
  .example-panel { padding: 22px; }
  .example-header strong { font-size: 14px; }
  .example-result { padding: 14px 12px; }
  .center-heading { text-align: center; }
  .center-heading .eyebrow { justify-content: center; }
  .center-heading h2 { font-size: 41px; letter-spacing: -.045em; }
  .center-heading p { font-size: 19px; }
  .steps { gap: 28px; margin-top: 46px; }
  .steps article, .steps article:first-child, .steps article:last-child { padding: 0; border: 0; }
  .steps article+article { border-left: 0; border-top: 1px solid #e5e5ea; padding-top: 29px; }
  .steps h3 { font-size: 25px; margin-bottom: 13px; }
  .steps p { font-size: 17px; line-height: 1.6; }
  .integrations-section { padding-top: 70px; }
  .integrations-layout>div>p { font-size: 18px; }
  .contact-card { padding: 55px 23px; border-radius: 24px; }
  .contact-card h2 { font-size: 43px; letter-spacing: -.045em; }
  .contact-card p { font-size: 18px; }
  .contact-card .eyebrow { font-size: 14px; }
  .contact-note { font-size: 13px; }
}
