/* Dosscall AI — premium clinical editorial redesign */
:root {
  --paper: #f7f8f6;
  --white: #ffffff;
  --mist: #eef2f5;
  --ink: #071420;
  --ink-soft: #172938;
  --copy: #40515d;
  --blue: #1748d2;
  --green: #92de2c;
  --light-line: #d9e0e4;
  --dark-line: rgba(255, 255, 255, .14);
  --radius: 22px;
  --shadow: 0 22px 70px rgba(20, 43, 61, .10);
}

html { scroll-behavior: smooth; background: var(--paper); }
body { background: var(--paper); color: var(--ink); }
::selection { color: #fff; background: var(--blue); }
:focus-visible { outline: 3px solid var(--green); outline-offset: 4px; }

.chapter { border-bottom: 1px solid var(--light-line); overflow: clip; }
.eyebrow { color: #61717c; font-weight: 700; }
.display { color: var(--ink); }
.display em { color: var(--blue); }
.lead { color: var(--copy); }

/* Header remains legible as it travels from the dark hero into light sections. */
.header { padding: 8px 0; color: #fff; }
.header::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(4, 12, 19, .72), transparent); pointer-events: none; z-index: -1; }
.header.is-scrolled { background: rgba(5, 18, 28, .90); border-bottom-color: rgba(255, 255, 255, .12); box-shadow: 0 10px 40px rgba(5, 18, 28, .12); }
.header__inner { min-height: 48px; }
.brand img { width: 116px; }
.desktop-nav a { color: rgba(255, 255, 255, .78); font-weight: 600; }
.desktop-nav a:hover { color: #fff; }
.menu-button { background: rgba(255, 255, 255, .08); }

/* Hero: retain the requested film, simplify everything around the message. */
.hero { min-height: 100svh; padding: 104px 0 52px; color: #fff; align-items: center; }
.hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: rgba(255, 255, 255, .15); z-index: 4; }
.hero__video { opacity: .90; }
.hero__video-shade { background: linear-gradient(90deg, rgba(3, 12, 20, .94) 0%, rgba(3, 12, 20, .74) 47%, rgba(3, 12, 20, .20) 100%), linear-gradient(180deg, rgba(3, 12, 20, .22), rgba(3, 12, 20, .40) 58%, rgba(3, 12, 20, .86)); }
.hero__video-grain { opacity: .035; }
.hero__grid { display: block; }
.hero__copy { max-width: 900px; }
.hero-roll { max-width: 850px; margin-top: 0; }
.hero-roll__viewport { height: var(--hero-roll-height, 350px); min-height: 0; transition: height .45s cubic-bezier(.16, 1, .3, 1); }
.hero-roll h1 { max-width: 820px; font-size: clamp(50px, 5.6vw, 78px); line-height: 1; margin-bottom: 14px; text-wrap: balance; }
.hero-roll h1 span { white-space: normal; }
.hero-roll__question { max-width: 730px; font-size: clamp(18px, 1.55vw, 22px); }
.hero-roll__support { max-width: 720px; font-size: clamp(15px, 1.2vw, 18px); }
.hero__actions { margin-top: 18px; }
.signal-row { margin-top: 18px; color: rgba(255, 255, 255, .72); }
.button--glass { color: #fff; background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .30); }
.button--glass:hover { background: rgba(255, 255, 255, .15); }

/* The missed-moment sequence becomes a precise patient-journey editorial line. */
.story { background: var(--mist); padding: 124px 0 104px; }
.story__intro { max-width: 970px; padding-bottom: 72px; }
.story__moments { counter-reset: moment; position: relative; gap: 0; max-width: 1020px; margin-left: auto; padding: 0 0 0 72px; }
.story__moments::before { content: ""; position: absolute; top: 24px; bottom: 24px; left: 22px; width: 2px; background: linear-gradient(var(--blue), var(--green)); }
.story__moment { counter-increment: moment; display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 40px; align-items: end; padding: 34px 38px; margin-bottom: 14px; background: rgba(255, 255, 255, .78); border: 1px solid rgba(23, 72, 210, .10); border-radius: 18px; box-shadow: 0 10px 35px rgba(20, 43, 61, .045); }
.story__moment::before { content: counter(moment, decimal-leading-zero); position: absolute; left: -72px; top: 38px; width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--blue); border: 7px solid var(--mist); font: 700 10px/1 'Space Mono', monospace; }
.story__moment .story__statement { color: var(--ink); font-size: clamp(25px, 3vw, 43px); line-height: 1.08; }
.story__moment .story__detail { color: var(--blue); font-size: 15px; font-weight: 700; margin: 0; }

/* System */
.system { background: var(--white); padding: 124px 0; }
.section-head { margin-bottom: 64px; }
.system__hero-card { color: #fff; background: linear-gradient(135deg, #0b2233, #123a55); border: 0; box-shadow: var(--shadow); }
.system__hero-card::after { background: radial-gradient(circle at 77% 45%, rgba(146, 222, 44, .15), transparent 34%); }
.system__hero-copy p { color: rgba(255, 255, 255, .70); }
.system__visual { border-left-color: rgba(255, 255, 255, .13); background: radial-gradient(circle at center, rgba(146, 222, 44, .18), transparent 58%); }
.calendar-orb { border-color: rgba(255, 255, 255, .28); }
.calendar-orb__ring { border-color: rgba(255, 255, 255, .24); }
.feature-grid { border: 1px solid var(--light-line); border-radius: var(--radius); overflow: hidden; background: var(--white); box-shadow: var(--shadow); }
.feature { border-color: var(--light-line); background: #fff; }
.feature:hover { background: #f3f7fb; }
.feature__num { color: var(--blue); }
.feature h3 { color: var(--ink); }
.feature p { color: var(--copy); }
.flow { border-top-color: var(--light-line); }
.flow__item { border-left-color: var(--light-line); }
.flow__item b { color: var(--blue); }
.flow__item strong { color: var(--ink); }
.flow__item span { color: var(--copy); }
.system-pulse { color: var(--ink); border-color: var(--light-line); background: #f3f6f8; }
.system-pulse:hover { border-color: #b6c3ca; background: #eef3f6; }
.system-pulse__label { color: #667883; border-bottom-color: var(--light-line); }
.system-pulse__grid > div { border-color: var(--light-line); }
.system-pulse__grid span { color: var(--blue); }
.system-pulse__grid p { color: var(--copy); }
.pulse-status { color: #29404e; }

/* A single dark intermission creates contrast in the long light page. */
.economics { color: #fff; background: var(--ink); padding: 124px 0; border-color: var(--dark-line); }
.economics .display, .economics .lead { color: #fff; }
.economics .display em { color: #a7e94f; }
.economics .eyebrow { color: rgba(255, 255, 255, .65); }
.compare { border-color: var(--dark-line); box-shadow: 0 28px 80px rgba(0, 0, 0, .24); }
.compare__side--muted { background: rgba(255, 255, 255, .035); }
.compare__side--bright { background: linear-gradient(140deg, rgba(23, 72, 210, .35), rgba(255, 255, 255, .08)); }
.compare__rows div { border-color: rgba(255, 255, 255, .10); }
.compare__rows span { color: rgba(255, 255, 255, .52); }
.compare__rows b { color: #fff; }
.economics__line { border-color: var(--dark-line); }

/* Demonstrations */
.demo { background: var(--white); padding: 124px 0 0; border-bottom: 0; }
.demo__head { display: grid; grid-template-columns: 1fr .72fr; column-gap: 80px; align-items: end; margin-bottom: 56px; }
.demo__head .eyebrow { grid-column: 1 / -1; }
.demo__head .display { margin-bottom: 0; }
.demo__head .lead { margin: 0 0 8px; }
.demo-track { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.demo-card { min-width: 0; overflow: hidden; color: #fff; background: var(--ink); border-radius: var(--radius); box-shadow: var(--shadow); }
.demo-card__media { position: relative; aspect-ratio: 16 / 9; background: #02080d; overflow: hidden; }
.demo-card__media::after { content: ""; position: absolute; inset: auto 0 0; height: 20%; background: linear-gradient(transparent, rgba(0, 0, 0, .24)); pointer-events: none; }
.demo-card video { display: block; width: 100%; height: 100%; object-fit: contain; background: #000; }
.demo-card__copy { min-height: 132px; padding: 24px 26px 28px; }
.demo-card__copy .mono { color: #9fd9ff; }
.demo-card__copy h3 { max-width: 520px; margin: 13px 0 0; font-size: clamp(21px, 2vw, 29px); line-height: 1.1; letter-spacing: -.035em; }
.demo-controls { display: none; }
.demo__cta { display: flex; justify-content: space-between; align-items: center; gap: 30px; margin-top: 54px; padding: 32px 0 38px; border-bottom: 1px solid var(--light-line); }
.demo__cta p { margin: 0; color: var(--ink); font-size: clamp(22px, 2.4vw, 34px); font-weight: 650; letter-spacing: -.04em; }
.button--ink { color: #fff; background: var(--ink); white-space: nowrap; }
.button--ink:hover { background: var(--blue); }

/* Pricing */
.pricing { background: var(--paper); padding: 112px 0 124px; }
.price-card { color: var(--ink); background: #fff; border-color: var(--light-line); box-shadow: 0 14px 45px rgba(20, 43, 61, .06); backdrop-filter: none; }
.price-card:hover { background: #fff; border-color: rgba(23, 72, 210, .55) !important; box-shadow: 0 24px 70px rgba(23, 72, 210, .12); }
.price-card--featured { color: #fff; background: linear-gradient(155deg, #091c2c, #102f47); border-color: #1748d2; }
.price-card--featured:hover { background: linear-gradient(155deg, #091c2c, #102f47); }
.price-card__top > .mono { color: var(--blue); }
.price-card--featured .price-card__top > .mono { color: #9fd9ff; }
.badge { color: #071420; background: var(--green); border-color: rgba(255, 255, 255, .42); box-shadow: 0 0 24px rgba(146, 222, 44, .24); }
.price-card > p, .price span { color: #5e707b; }
.price-card li { color: #334650; }
.price-card li::before { color: var(--blue); }
.price-card--featured > p, .price-card--featured .price span, .price-card--featured li { color: rgba(255, 255, 255, .74); }
.price-card--featured li::before { color: var(--green); }
.price-card .button--glass { color: var(--ink); border-color: #b9c5cb; background: #f6f8f8; }
.price-card .button--glass:hover { background: var(--mist); }
.pricing-note { color: var(--copy); }
.pricing-note span { color: var(--blue); }

/* FAQ and final decision */
.decision { color: var(--ink); background: var(--white); padding: 124px 0 0; }
.decision .display { color: var(--ink); }
.faq-list, details { border-color: var(--light-line); }
summary { color: var(--ink); font-weight: 650; }
summary span { color: var(--blue); }
details[open] summary span { color: var(--blue); }
details p { color: var(--copy); }
.final-cta { color: #fff; border: 0; background: linear-gradient(120deg, #071420 0%, #0e3048 78%, #1748d2 150%); box-shadow: var(--shadow); }
.final-cta::after { background: radial-gradient(circle, rgba(146, 222, 44, .22), transparent 65%); }
.final-cta .eyebrow { color: rgba(255, 255, 255, .66); }
.final-cta .display { color: #fff; }
.final-cta .display em { color: #b8ee70; }
.final-cta__copy > p:last-child { color: rgba(255, 255, 255, .68); }
.final-cta__contact { color: rgba(255, 255, 255, .55); }

.footer { background: #050f17; border-top-color: rgba(255, 255, 255, .10); }

@media (min-width: 901px) {
  .demo-track { transform: none !important; }
}

@media (max-width: 1100px) {
  .desktop-nav { gap: 20px; }
  .hero-roll h1 { font-size: clamp(48px, 6.1vw, 69px); }
  .story__moment { grid-template-columns: 1fr 180px; }
  .demo__head { column-gap: 44px; }
}

@media (max-width: 900px) {
  .hero { padding-top: 96px; }
  .hero__copy { max-width: 760px; }
  .story__moments { margin-left: 0; }
  .story__moment { grid-template-columns: 1fr; gap: 12px; }
  .demo__head { grid-template-columns: 1fr; gap: 18px; }
  .pricing-grid { grid-template-columns: 1fr; }
  .price-card { min-height: 0; }
}

@media (max-width: 767px) {
  .shell { width: min(calc(100% - 34px), var(--max)); }
  .header { padding: 6px 0; }
  .header__inner { min-height: 42px; }
  .brand img { width: 98px; }
  .menu-button { width: 36px; height: 36px; }
  .hero { min-height: 100svh; padding: 84px 0 38px; align-items: center; }
  .hero__video { object-position: 58% center; }
  .hero__video-shade { background: linear-gradient(180deg, rgba(3, 12, 20, .67), rgba(3, 12, 20, .71) 45%, rgba(3, 12, 20, .94)); }
  .hero-roll h1 { font-size: clamp(35px, 10vw, 49px); line-height: 1.02; letter-spacing: -.05em; }
  .hero-roll h1 span { white-space: normal; }
  .hero-roll__question { font-size: 16px; line-height: 1.35; }
  .hero-roll__support { font-size: 14px; line-height: 1.42; }
  .hero__actions { margin-top: 14px; }
  .hero__actions .button { flex: 1 1 calc(50% - 6px); padding: 12px 13px; }
  .signal-row { display: grid; grid-template-columns: repeat(3, auto); align-items: center; gap: 8px 12px; margin-top: 14px; font-size: 9px; }
  .signal-row span { gap: 5px; white-space: nowrap; }

  .story, .system, .economics, .demo, .decision { padding-top: 86px; }
  .story, .system, .economics, .pricing { padding-bottom: 86px; }
  .display--medium { font-size: clamp(39px, 12vw, 58px); }
  .story__intro { padding-bottom: 48px; }
  .story__moments { padding-left: 44px; }
  .story__moments::before { left: 13px; }
  .story__moment { padding: 24px 22px; border-radius: 15px; }
  .story__moment::before { left: -48px; top: 26px; width: 36px; height: 36px; border-width: 6px; }
  .story__moment .story__statement { font-size: clamp(23px, 7.5vw, 32px); }
  .story__moment .story__detail { font-size: 13px; }

  .system__hero-card { border-radius: 20px; }
  .system__hero-copy { padding: 30px 26px; }
  .system__visual { min-height: 230px; border-top-color: rgba(255, 255, 255, .13); }
  .feature-grid { border-radius: 18px; }
  .system-pulse__grid > div { border-color: var(--light-line) !important; }
  .compare { border-radius: 18px; }
  .compare__side { padding: 25px 22px; }

  .demo { padding-bottom: 0; }
  .demo__head { margin-bottom: 34px; }
  .demo-carousel { overflow: hidden; margin-inline: -17px; padding-inline: 17px; }
  .demo-track { display: flex; gap: 0; width: 100%; transition: transform .45s cubic-bezier(.16, 1, .3, 1); touch-action: pan-y; }
  .demo-card { flex: 0 0 100%; border-radius: 18px; }
  .demo-card__copy { min-height: 118px; padding: 21px 22px 24px; }
  .demo-card__copy h3 { font-size: 22px; }
  .demo-controls { display: flex; justify-content: center; align-items: center; gap: 24px; margin-top: 22px; }
  .demo-arrow { width: 43px; height: 43px; display: grid; place-items: center; color: var(--ink); background: #fff; border: 1px solid var(--light-line); border-radius: 50%; cursor: pointer; }
  .demo-dots { display: flex; align-items: center; gap: 9px; }
  .demo-dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: #b7c1c7; cursor: pointer; transition: width .25s ease, border-radius .25s ease, background .25s ease; }
  .demo-dot.is-active { width: 26px; border-radius: 99px; background: var(--blue); }
  .demo__cta { align-items: flex-start; flex-direction: column; gap: 18px; margin-top: 36px; padding-bottom: 32px; }
  .demo__cta .button { width: 100%; }

  .pricing { padding-top: 78px; }
  .price-card { border-radius: 20px; }
  .decision { padding-bottom: 0; }
  .decision__grid { padding-bottom: 84px; }
  .final-cta { padding: 35px 26px; border-radius: 20px; margin-bottom: 84px; }
}

/* Refinement pass: quieter header, richer clinical surfaces, and native-feeling motion. */
.eyebrow {
  gap: 0;
  font-size: 13px;
  line-height: 1.35;
  letter-spacing: .095em;
}
.eyebrow::before { display: none; content: none; }

.header { padding: 3px 0; }
.header__inner { min-height: 42px; }
.brand img { width: 100px; }
.header .button--small { padding: 7px 12px; font-size: 11px; }
.menu-button { width: 38px; height: 38px; }

.story {
  background-color: #edf2f5;
  background-image:
    radial-gradient(circle at 8% 4%, rgba(23, 72, 210, .08), transparent 27%),
    radial-gradient(circle at 94% 82%, rgba(146, 222, 44, .08), transparent 24%);
}
.system {
  background-color: #f8fafb;
  background-image:
    linear-gradient(rgba(7, 20, 32, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7, 20, 32, .025) 1px, transparent 1px),
    radial-gradient(circle at 88% 8%, rgba(23, 72, 210, .08), transparent 25%);
  background-size: 56px 56px, 56px 56px, auto;
}
.demo {
  background-color: #f3f7f8;
  background-image:
    radial-gradient(ellipse at 12% 10%, rgba(23, 72, 210, .09), transparent 34%),
    radial-gradient(ellipse at 88% 88%, rgba(146, 222, 44, .08), transparent 29%),
    linear-gradient(135deg, rgba(255, 255, 255, .72), rgba(238, 244, 246, .62));
}
.pricing {
  background-color: #edf1f3;
  background-image: radial-gradient(circle at 50% 0, rgba(23, 72, 210, .07), transparent 34%);
}
.decision {
  background-color: #f8faf9;
  background-image:
    radial-gradient(circle at 5% 28%, rgba(146, 222, 44, .055), transparent 22%),
    linear-gradient(180deg, rgba(255, 255, 255, .78), rgba(238, 244, 246, .68));
}

.demo__head { display: block; max-width: 980px; margin-bottom: 56px; }
.demo__head .eyebrow { margin-bottom: 18px; }
.demo__head .display { margin: 0 0 24px; }
.demo__head .lead { max-width: 820px; margin: 0; font-size: 18px; }

@media (max-width: 900px) {
  .demo-carousel { overflow: hidden; margin-inline: -17px; padding-inline: 17px; }
  .demo-track { display: flex; grid-template-columns: none; gap: 0; width: 100%; transition: transform .32s cubic-bezier(.2, .8, .2, 1); touch-action: pan-y; }
  .demo-card { flex: 0 0 100%; width: 100%; }
  .demo-controls { display: flex; justify-content: center; align-items: center; gap: 24px; margin-top: 22px; }
  .demo-arrow { width: 44px; height: 44px; min-width: 44px; display: grid; place-items: center; color: var(--ink); background: #fff; border: 1px solid var(--light-line); border-radius: 50%; cursor: pointer; touch-action: manipulation; }
  .demo-arrow:active { transform: scale(.96); background: var(--mist); }
  .demo-dots { display: flex; align-items: center; gap: 9px; }
  .demo-dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: #aab7bf; cursor: pointer; touch-action: manipulation; transition: transform .2s ease, background .2s ease; }
  .demo-dot::before { content: ""; position: absolute; inset: -17px -8px; }
  .demo-dot { position: relative; }
  .demo-dot.is-active { width: 10px; border-radius: 50%; background: var(--blue); transform: scale(1.25); }
}

@media (max-width: 767px) {
  .eyebrow { font-size: 12px; }
  .header { padding: 2px 0; }
  .header__inner { min-height: 42px; }
  .brand img { width: 91px; }
  .menu-button { width: 40px; height: 40px; }
  .demo__head .lead { font-size: 16px; line-height: 1.55; }
}

@media (max-width: 390px) {
  .hero { padding-top: 74px; }
  .hero-roll h1 { font-size: clamp(32px, 9.5vw, 39px); }
  .hero-roll__question { font-size: 15px; }
  .hero-roll__support { font-size: 13px; }
  .signal-row { grid-template-columns: 1fr 1fr; }
  .signal-row span:last-child { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero-roll__viewport, .demo-track { transition: none; }
}

/* Legal page */
.site-header { position: sticky; top: 0; z-index: 20; color: #fff; background: rgba(5, 18, 28, .96); border-bottom: 1px solid rgba(255, 255, 255, .12); backdrop-filter: blur(16px); }
.container { width: min(calc(100% - 48px), 1120px); margin-inline: auto; }
.site-header .nav { min-height: 56px; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.nav-logo img { display: block; width: 100px; }
.btn { display: inline-flex; align-items: center; justify-content: center; padding: 10px 16px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 999px; color: #fff; font-size: 12px; font-weight: 700; }
.legal-page { min-height: 80vh; padding: 86px 0 110px; background: var(--paper); }
.legal-page .h2 { max-width: 920px; margin: 20px 0 24px; color: var(--ink); font-size: clamp(40px, 6vw, 78px); line-height: 1; letter-spacing: -.06em; }
.legal-meta { max-width: 900px; color: var(--copy); font-size: 13px; }
.legal-meta a, .legal-body a { color: var(--blue); text-decoration: underline; }
.legal-toc { display: flex; flex-wrap: wrap; gap: 10px; margin: 38px 0 58px; }
.legal-toc a { padding: 10px 14px; color: var(--ink); background: #fff; border: 1px solid var(--light-line); border-radius: 999px; font-size: 12px; font-weight: 700; }
.legal-body { max-width: 850px; }
.legal-body section { padding: 30px 0; border-top: 1px solid var(--light-line); }
.legal-body h2 { margin: 0 0 14px; color: var(--ink); font-size: clamp(23px, 3vw, 31px); letter-spacing: -.035em; }
.legal-body p, .legal-body li { color: var(--copy); font-size: 15px; line-height: 1.75; }
.legal-page + .footer { color: #fff; }

@media (max-width: 767px) {
  .container { width: min(calc(100% - 34px), 1120px); }
  .site-header .nav { min-height: 52px; }
  .nav-logo img { width: 90px; }
  .legal-page { padding: 64px 0 80px; }
  .legal-toc { margin: 30px 0 44px; }
}

/* Premium control-room layer: intentional contrast, operational icons and restrained motion. */
.js .reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .55s ease-out, transform .55s cubic-bezier(.2, .8, .2, 1);
}
.js .reveal.is-visible { opacity: 1; transform: translateY(0); }

.feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 0;
  border: 0;
  border-radius: 0;
  overflow: visible;
  background: transparent;
  box-shadow: none;
}
.feature {
  min-height: 250px;
  padding: 28px;
  border: 1px solid var(--light-line) !important;
  border-radius: 18px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 14px 36px rgba(20, 43, 61, .055);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.feature:nth-child(1), .feature:nth-child(5) { grid-column: span 2; }
.feature:nth-child(1) { background: linear-gradient(135deg, #fff, #edf4ff); }
.feature:nth-child(5) { background: linear-gradient(135deg, #f4f8ff, #eff7ec); }
.feature__top { display: flex; justify-content: space-between; align-items: center; }
.feature__icon {
  width: 44px;
  height: 44px;
  padding: 11px;
  color: var(--blue);
  border: 1px solid rgba(23, 72, 210, .16);
  border-radius: 13px;
  background: rgba(23, 72, 210, .06);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.feature h3 { margin: 64px 0 10px; }
.feature:nth-child(1) h3, .feature:nth-child(5) h3 { font-size: 25px; }
.feature:hover {
  transform: translateY(-4px);
  border-color: rgba(23, 72, 210, .30) !important;
  box-shadow: 0 22px 55px rgba(20, 43, 61, .10);
}

.flow__track { position: relative; }
.flow__track::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--blue), rgba(23, 72, 210, .12) 76%, var(--green));
}
.flow__track::after {
  content: "";
  position: absolute;
  top: -3px;
  left: 0;
  width: 18%;
  height: 8px;
  border-radius: 99px;
  opacity: 0;
  background: linear-gradient(90deg, transparent, var(--green));
  filter: drop-shadow(0 0 7px rgba(146, 222, 44, .72));
}
.flow.is-active .flow__track::after { animation: receptionSignal 1.45s cubic-bezier(.2, .75, .2, 1) .18s both; }
@keyframes receptionSignal {
  0% { opacity: 0; transform: translateX(0) scaleX(.2); }
  18% { opacity: 1; }
  82% { opacity: 1; }
  100% { opacity: 0; transform: translateX(455%) scaleX(1); }
}

.demo {
  color: #fff;
  background-color: #071420;
  background-image:
    linear-gradient(rgba(125, 182, 255, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(125, 182, 255, .055) 1px, transparent 1px),
    linear-gradient(135deg, #071420 0%, #092344 62%, #0d3158 100%);
  background-size: 64px 64px, 64px 64px, auto;
  border-bottom-color: rgba(255, 255, 255, .12);
}
.demo .eyebrow { color: #a5c9e9; }
.demo .display { color: #fff; }
.demo .display em { color: #a7e94f; }
.demo .lead { color: rgba(255, 255, 255, .72); }
.demo-card {
  border: 1px solid rgba(255, 255, 255, .15);
  background: rgba(4, 15, 24, .88);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .32);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.demo-card:hover {
  transform: translateY(-5px);
  border-color: rgba(125, 182, 255, .42);
  box-shadow: 0 38px 100px rgba(0, 0, 0, .40), 0 0 0 1px rgba(125, 182, 255, .08);
}
.demo-card__media { border-bottom: 1px solid rgba(255, 255, 255, .10); }

/* Keep the video action obvious on touch screens where native controls can sit below the fold. */
.demo-play { position: absolute; z-index: 2; top: 50%; left: 50%; width: 68px; height: 68px; transform: translate(-50%, -50%); display: grid; place-items: center; border: 1px solid rgba(255,255,255,.72); border-radius: 50%; background: rgba(8,12,18,.78); color: #fff; font-size: 22px; line-height: 1; cursor: pointer; transition: opacity .2s ease, transform .2s ease, background .2s ease; }
.demo-play:hover { background: rgba(48,104,255,.92); transform: translate(-50%, -50%) scale(1.06); }
.demo-card__media.is-playing .demo-play { opacity: 0; pointer-events: none; }
@media (max-width: 640px) { .demo-play { width: 64px; height: 64px; font-size: 20px; } }
@media (prefers-reduced-motion: reduce) { .demo-play { transition: none; } }

/* Editorial WhatsApp intent chapter */
.whatsapp-intent { position: relative; overflow: hidden; padding: clamp(76px, 11vw, 150px) 0; color: #07121d; background: #f2f0eb; }
.whatsapp-intent::before { content: "DOSSCALL AI"; position: absolute; right: -8vw; top: 10%; color: rgba(37, 89, 255, .055); font-size: clamp(80px, 18vw, 260px); font-weight: 800; letter-spacing: -.08em; white-space: nowrap; transform: rotate(-12deg); pointer-events: none; }
.whatsapp-intent__shell { position: relative; z-index: 1; }
.whatsapp-intent__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px; }
.whatsapp-window { max-width: 720px; margin: 0 auto clamp(48px, 7vw, 88px); overflow: hidden; border: 1px solid rgba(7,18,29,.16); border-radius: 22px; background: #e8f3e8; box-shadow: 0 30px 80px rgba(7,18,29,.12); }
.whatsapp-window__bar { display: flex; align-items: center; gap: 12px; padding: 16px 20px; color: #fff; background: #075e54; }
.whatsapp-avatar { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #b9ff3d; color: #06111a; font-weight: 800; }
.whatsapp-window__bar strong, .whatsapp-window__bar small { display: block; }.whatsapp-window__bar small { color: rgba(255,255,255,.72); font-size: 12px; }.whatsapp-dots { margin-left: auto; letter-spacing: 3px; }
.whatsapp-window__body { min-height: 205px; padding: 28px 22px; background: radial-gradient(circle at 20% 0%, rgba(255,255,255,.7), transparent 45%), #e5ddd5; }
.whatsapp-bubble { width: min(94%, 570px); padding: 17px 20px 19px; border-radius: 4px 18px 18px 18px; color: #17211b; background: #fff; font-size: clamp(17px, 2.2vw, 23px); line-height: 1.35; box-shadow: 0 2px 4px rgba(0,0,0,.08); }
.typing-caret { display: inline-block; width: 2px; height: 1.1em; margin-left: 3px; vertical-align: -0.15em; background: #075e54; animation: caretBlink .8s steps(2,end) infinite; }.whatsapp-window__input { display: flex; align-items: center; gap: 16px; padding: 12px 16px; color: #78817c; background: #f0f2f5; }.whatsapp-window__input span:first-child { flex: 1; padding: 11px 15px; border-radius: 20px; background: #fff; }.whatsapp-intent__title { max-width: 850px; margin: 0 auto; text-align: center; color: #07121d; }.whatsapp-intent__title em { color: #2e5bff; }
@keyframes caretBlink { 50% { opacity: 0; } }

/* About page */
.about-page { color: #07121d; background: #f3f1ec; }.about-page .header { position: absolute; top: 0; width: 100%; background: transparent; border: 0; }.about-page .brand img { filter: brightness(0); }.about-back { color: #07121d; font-size: 14px; }.about-hero { padding: clamp(130px, 14vw, 190px) 0 100px; background: #f3f1ec; }.about-hero__grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(40px, 8vw, 120px); }.about-hero__copy h1 { max-width: 580px; margin: 18px 0 26px; font-size: clamp(58px, 8vw, 122px); line-height: .92; }.about-hero__copy h1 em, .about-story h2 em, .about-principles h2 em { color: #2e5bff; }.about-hero__copy .lead { max-width: 470px; margin-bottom: 34px; }.about-portrait__index { display: block; margin-top: 14px; color: #2e5bff; font-family: monospace; }.about-hero__portrait { --portrait-tilt: 0deg; position: relative; min-height: min(68vw, 680px); transform: rotate(var(--portrait-tilt)); transition: transform .25s ease-out; }.about-portrait { position: absolute; inset: 0; margin: 0; opacity: 0; transform: translateY(10px) rotate(2deg); transition: opacity .8s ease, transform .8s ease; }.about-portrait.is-active { opacity: 1; transform: translateY(0) rotate(-2deg); }.about-portrait img { width: 100%; height: 100%; object-fit: cover; border-radius: 2px; filter: saturate(.9) contrast(1.02); }.about-story { padding: 130px 0; color: #fff; background: #07121d; }.about-story__grid { display: grid; grid-template-columns: .35fr 1fr; gap: 8vw; }.about-story h2 { max-width: 800px; margin: 0 0 34px; font-size: clamp(42px, 6vw, 88px); line-height: .98; }.about-story p:not(.eyebrow) { max-width: 680px; color: rgba(255,255,255,.7); font-size: 20px; line-height: 1.65; }.about-principles { padding: 130px 0 170px; background: #f3f1ec; }.about-principles__head { display: grid; grid-template-columns: .35fr 1fr; gap: 8vw; margin-bottom: 70px; }.about-principles h2 { margin: 0; }.about-principles__list { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }.about-principles__list article { min-height: 230px; padding: 24px; border-top: 1px solid rgba(7,18,29,.3); }.about-principles__list article span { color: #2e5bff; font-family: monospace; }.about-principles__list h3 { margin: 50px 0 12px; font-size: 26px; }.about-principles__list p { color: #50606b; line-height: 1.6; }
.legal-content { min-height: 70vh; padding: 150px 0 100px; background: #f3f1ec; color: #07121d; }.legal-copy { max-width: 850px; }.legal-copy h1 { margin: 16px 0 20px; }.legal-copy h2 { margin: 48px 0 12px; color: #2e5bff; font-size: 24px; }.legal-copy p { max-width: 700px; color: #465661; font-size: 17px; line-height: 1.7; }.legal-meta { color: #2e5bff !important; font-family: monospace; }.legal-copy a:not(.button) { color: #2e5bff; }
@media (max-width: 760px) { .whatsapp-intent__top, .about-principles__head { display: block; }.whatsapp-intent__top .mono { display: block; margin-top: 12px; }.about-hero__grid, .about-story__grid { grid-template-columns: 1fr; }.about-hero__portrait { min-height: 112vw; order: -1; }.about-hero { padding-top: 110px; }.about-hero__copy h1 { font-size: clamp(52px, 15vw, 76px); }.about-story__grid { gap: 34px; }.about-principles__list { grid-template-columns: 1fr; }.about-principles__list article { min-height: 0; padding-block: 26px; }.about-principles__list h3 { margin-top: 30px; } }

/* Clearer editorial spacing and high-intent sliced CTA treatment. */
body { letter-spacing: 0; }
h1, h2, h3, h4, p, a, button, label { word-spacing: .02em; }
.display, .hero-roll h1 { letter-spacing: -.035em; }
.about-hero__copy h1 { color: #2e5bff; font-weight: 800; letter-spacing: -.028em; }
.about-hero__copy h1 em, .about-story h2 em { color: #2e5bff; font-style: normal; }
.about-story h2 { color: #fff; letter-spacing: -.028em; }
.about-story h2 span { color: #fff; }
.about-story__text p { color: rgba(255,255,255,.82); }
.about-signoff { color: #fff !important; font-weight: 700; }.about-signoff span { color: #83a1ff; font-weight: 400; }
.optional-label { color: #77818b; font-size: .82em; font-weight: 400; }
.legal-back { color: #07121d; font-size: 14px; font-weight: 700; }
.button[href^="book-demo.html"], #dc-submit, .book-walkthrough { position: relative; isolation: isolate; overflow: hidden; color: #fff !important; border-color: #2e5bff !important; background: #2e5bff !important; box-shadow: 0 12px 34px rgba(46,91,255,.32); animation: slicedPulse 3.2s ease-in-out infinite; }
.button[href^="book-demo.html"]::before, #dc-submit::before, .book-walkthrough::before { content: ""; position: absolute; z-index: -1; inset: -80% -20%; background: linear-gradient(108deg, transparent 35%, #fff 44%, #ff3b52 49%, #ffd43b 54%, #ff6bd6 59%, transparent 68%); opacity: .9; transform: translateX(-75%) rotate(8deg); animation: slicedSweep 3.2s ease-in-out infinite; }
.button[href^="book-demo.html"]::after, #dc-submit::after, .book-walkthrough::after { content: ""; position: absolute; z-index: -1; inset: 2px; border-radius: inherit; background: #2e5bff; }
.button[href^="book-demo.html"]:hover, #dc-submit:hover, .book-walkthrough:hover { color: #fff !important; animation: slicedHover .38s steps(2,end) infinite; transform: translateY(-2px); }
.button[href^="book-demo.html"]:hover::before, #dc-submit:hover::before, .book-walkthrough:hover::before { animation-duration: .45s; }
@keyframes slicedPulse { 0%,100% { box-shadow: 0 12px 34px rgba(46,91,255,.28); } 50% { box-shadow: 0 12px 44px rgba(255,66,112,.48), 0 0 0 5px rgba(255,211,59,.14); } }
@keyframes slicedSweep { 0% { transform: translateX(-85%) rotate(8deg); } 55%,100% { transform: translateX(85%) rotate(8deg); } }
@keyframes slicedHover { 0%,100% { filter: brightness(1); } 50% { filter: brightness(1.7) saturate(1.25); } }
.final-cta { border: 1px solid rgba(255,255,255,.34); }
.final-cta::before { content: ""; position: absolute; inset: 0; padding: 1px; border-radius: inherit; background: linear-gradient(110deg, transparent 8%, #fff 24%, #b9ff3d 36%, #2e5bff 52%, #ff6bd6 68%, transparent 84%); background-size: 220% 100%; animation: shimmerStroke 4.2s linear infinite; -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
@keyframes shimmerStroke { to { background-position: -220% 0; } }
.final-cta__rotating { min-height: 1.9em; transition: opacity .26s ease, transform .26s ease; }.final-cta__rotating.is-changing { opacity: 0; transform: translateY(10px); }.final-cta__rotating em { color: #b9ff3d !important; font-style: normal; }
.sticky-book-cta.is-hidden { opacity: 0; transform: translateY(120%); pointer-events: none; }
.sticky-book-cta { transition: opacity .3s ease, transform .3s ease; }
@media (prefers-reduced-motion: reduce) { .button[href^="book-demo.html"], #dc-submit, .book-walkthrough, .button[href^="book-demo.html"]::before, #dc-submit::before, .book-walkthrough::before, .final-cta::before { animation: none; } }
.hero__video { transition: opacity .75s ease; }.hero__video--a { opacity: .92; }.hero__video--b { opacity: 0; }.hero__video--b.is-playing { opacity: .92; }.hero__video--a:not(.is-playing) { opacity: 0; }
.iphone-chat { display: grid; place-items: center; margin: 0 auto clamp(48px, 7vw, 88px); }
.iphone-chat__frame { position: relative; width: min(100%, 420px); aspect-ratio: 9 / 18.7; overflow: hidden; border-radius: 45px; background: #090b10; box-shadow: 0 35px 100px rgba(7,18,29,.3), 0 0 0 8px #161a22, 0 0 0 10px rgba(255,255,255,.35); }
.iphone-chat__device { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .18; pointer-events: none; }
.iphone-chat__screen { position: absolute; inset: 9% 4.2% 3.5%; overflow: hidden; border-radius: 29px; background: #08090b; }
.iphone-chat__header { display: flex; align-items: center; gap: 9px; height: 11%; padding: 0 12px; color: #f2f2f2; background: #111216; }.iphone-chat__header strong, .iphone-chat__header small { display:block; }.iphone-chat__header strong { font-size: 14px; }.iphone-chat__header small { color:#a6a8ae; font-size: 9px; }.iphone-chat__back { font-size: 28px; line-height:1; }.iphone-chat__header .whatsapp-avatar { width: 26px; height: 26px; font-size: 11px; }.iphone-chat__header .whatsapp-dots { margin-left:auto; font-size:13px; }
.iphone-chat__messages { height: 80%; overflow: hidden; padding: 12px 10px 18px; display:flex; flex-direction:column; gap:8px; background-image: url("assets/images/hero-poster.jpg"); background-size: cover; background-position:center; }
.iphone-chat__bubble { max-width: 86%; padding: 8px 10px 5px; border-radius: 4px 14px 14px 14px; color:#f2f3f5; background:#272a2c; font-size: clamp(10px, 2.1vw, 13px); line-height:1.28; box-shadow:0 2px 3px rgba(0,0,0,.22); animation: bubbleIn .35s ease both; }.iphone-chat__bubble--out { align-self:flex-end; border-radius:14px 4px 14px 14px; background:#77318d; }.iphone-chat__bubble span { display:block; }.iphone-chat__bubble small { display:block; margin-top:3px; text-align:right; color:rgba(255,255,255,.58); font-size:9px; }.iphone-chat__bubble b { color:#d9a6e6; letter-spacing:-2px; }.iphone-chat__input { display:flex; align-items:center; gap:9px; height:9%; padding:0 10px; color:#9499a0; background:#202529; font-size:12px; }.iphone-chat__input span:first-child { flex:1; padding:8px 12px; border-radius:20px; background:#2b3034; }.iphone-chat__input span:last-child { color:#c13de8; font-size:17px; }
@keyframes bubbleIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media (max-width: 760px) { .iphone-chat__frame { width:min(88vw, 390px); }.iphone-chat__bubble { font-size:11px; } }
.iphone-chat__typing { align-self:flex-start; display:flex; gap:4px; padding:10px 12px; border-radius:4px 14px 14px 14px; background:#272a2c; }.iphone-chat__typing--out { align-self:flex-end; border-radius:14px 4px 14px 14px; background:#77318d; }.iphone-chat__typing i { width:5px; height:5px; border-radius:50%; background:#c3c6ca; animation: typingDots 1s ease-in-out infinite; }.iphone-chat__typing i:nth-child(2){animation-delay:.15s}.iphone-chat__typing i:nth-child(3){animation-delay:.3s}
@keyframes typingDots { 0%,100% { transform:translateY(0); opacity:.45; } 50% { transform:translateY(-3px); opacity:1; } }
.about-hero__copy h1 { letter-spacing: .006em; line-height: .98; }
.sticky-book-cta.is-hidden { opacity: 0; transform: translateY(120%); pointer-events: none; }
.sticky-book-cta { transition: opacity .3s ease, transform .3s ease; animation: stickyCycle 8s ease-in-out infinite; }
@keyframes stickyCycle { 0%,62% { opacity:1; } 63%,100% { opacity:0; } }
.final-cta__rotating { display:flex; align-items:center; min-height:2.4em; max-width:650px; }.final-cta__rotating span { display:block; max-width:100%; }.final-cta__rotating em { white-space:nowrap; }
@media (max-width: 640px) { .sticky-book-cta { left:auto; right:14px; bottom:14px; width:auto; padding:0; background:transparent; border:0; box-shadow:none; }.sticky-book-cta .button { width:auto; max-width:calc(100vw - 28px); min-height:44px; padding:12px 16px; font-size:12px; }.final-cta__rotating { min-height:3.4em; font-size:clamp(31px, 8.5vw, 46px); line-height:1.08; } }
body.booking-page { background:#050609 !important; color:#f5f7fa; }
body.booking-page form { background:#fff; color:#111820; border-radius:24px; }
body.booking-page form label, body.booking-page form legend { color:#111820; }
@property --cta-angle { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
.final-cta { border: 0; position: relative; }
.final-cta::before { content:""; position:absolute; inset:0; padding:2px; border-radius:inherit; background:conic-gradient(from var(--cta-angle), transparent 0deg, #3944FE 72deg, #fff 108deg, #3944FE 150deg, transparent 220deg); animation:ctaShimmer 3s linear infinite; -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; z-index:0; }
.final-cta > * { position:relative; z-index:1; }
@keyframes ctaShimmer { to { --cta-angle:360deg; } }
.final-cta__rotating { height:2.25em; min-height:2.25em; overflow:hidden; position:relative; display:block; max-width:680px; }
.final-cta__headline { position:relative; display:block; height:100%; overflow:hidden; }
.headline-line { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; opacity:0; transform:translateY(100%); transition:opacity .6s ease-in-out, transform .6s ease-in-out; white-space:nowrap; }
.headline-line:first-child, .headline-line.is-active { opacity:1; transform:translateY(0); }
.headline-line.is-leaving { opacity:0; transform:translateY(-100%); }
.headline-line .accent { color:#b9ff3d; font-style:normal; font-weight:inherit; }
.book-walkthrough, .button[href^="book-demo.html"], #dc-submit { position:relative; isolation:isolate; overflow:visible; background:#3944FE !important; color:#fff !important; border-color:#3944FE !important; font-weight:700; animation:bookPulse 1.5s ease-in-out infinite; z-index:0; }
.book-walkthrough::before, .button[href^="book-demo.html"]::before, #dc-submit::before { content:""; position:absolute; z-index:-1; inset:-7px; border-radius:inherit; filter:blur(10px); opacity:.72; background:#fff; box-shadow:0 0 18px #fff, 0 0 30px #ff304f; animation:bookGlow 1.5s ease-in-out infinite; pointer-events:none; }
.book-walkthrough::after, .button[href^="book-demo.html"]::after, #dc-submit::after { content:""; position:absolute; z-index:-1; inset:-3px; border-radius:inherit; background:#3944FE; pointer-events:none; }
@keyframes bookGlow { 0%,100% { background:#fff; box-shadow:0 0 12px #fff,0 0 24px #fff; opacity:.6; } 25% { background:#ff304f; box-shadow:0 0 14px #ff304f,0 0 28px #ff304f; opacity:.9; } 50% { background:#ffd43b; box-shadow:0 0 16px #ffd43b,0 0 30px #ffd43b; opacity:.82; } 75% { background:#ff6bd6; box-shadow:0 0 16px #ff6bd6,0 0 30px #ff6bd6; opacity:.9; } }
@keyframes bookPulse { 0%,100% { transform:scale(1); } 50% { transform:scale(1.04); } }
@media (max-width: 760px) { .final-cta__rotating { height:2.55em; min-height:2.55em; font-size:clamp(30px, 8vw, 46px); line-height:1.1; }.headline-line { white-space:normal; } }
@media (prefers-reduced-motion: reduce) { .final-cta::before, .book-walkthrough, .button[href^="book-demo.html"], #dc-submit { animation:none; }.headline-line { transition:none; }.headline-line:not(:first-child) { display:none; }.headline-line:first-child { opacity:1; transform:none; } }
.demo-card__copy .mono { color: #a5c9e9; }
.demo__cta { border-bottom-color: rgba(255, 255, 255, .16); }
.demo__cta p { color: #fff; }
.demo__cta .button--ink { color: var(--ink); background: #fff; }
.demo__cta .button--ink:hover { color: #fff; background: var(--blue); }

.pricing {
  background-color: #e9eff3;
  background-image: linear-gradient(180deg, #e7eef3 0%, #f4f6f6 100%);
}
.decision {
  background-color: #edf2eb;
  background-image: linear-gradient(180deg, #edf2eb 0%, #f6f8f5 70%, #fff 100%);
}
.faq-list { display: grid; gap: 10px; border-top: 0; }
.faq-list details {
  padding: 0 22px;
  border: 1px solid #d6dfd3;
  border-radius: 14px;
  background: rgba(255, 255, 255, .76);
  transition: border-color .24s ease, background .24s ease, box-shadow .24s ease;
}
.faq-list details[open] {
  border-color: rgba(23, 72, 210, .22);
  background: #fff;
  box-shadow: 0 14px 38px rgba(20, 43, 61, .07);
}

.button:active, .demo-arrow:active { transform: translateY(0) scale(.97); }

@media (max-width: 900px) {
  .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .feature:nth-child(1), .feature:nth-child(5) { grid-column: span 2; }
  .demo-card:hover { transform: none; }
}

@media (max-width: 767px) {
  .feature-grid { grid-template-columns: 1fr; }
  .feature, .feature:nth-child(1), .feature:nth-child(5) { grid-column: auto; min-height: 220px; }
  .feature:nth-child(1) h3, .feature:nth-child(5) h3 { font-size: 22px; }
  .feature h3 { margin-top: 48px; }
  .flow__track::before, .flow__track::after { display: none; }
  .demo-arrow { color: #fff; border-color: rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .10); }
  .demo-arrow:active { background: rgba(255, 255, 255, .18); }
  .demo-dot { background: rgba(255, 255, 255, .38); }
  .demo-dot.is-active { background: #a7e94f; }
  .faq-list details { padding: 0 17px; }
}

@media (prefers-reduced-motion: reduce) {
  .js .reveal { opacity: 1; transform: none; transition: none; }
  .flow.is-active .flow__track::after { animation: none; }
}

/* Shared booking CTA: a readable signal pulse, never an opacity blink over the label. */
.button[href^="book-demo.html"] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  animation: walkthroughPulse 3.2s ease-in-out infinite;
}
.button[href^="book-demo.html"]::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.78) 48%, transparent 66%);
  transform: translateX(-130%);
  animation: walkthroughSweep 3.2s ease-in-out infinite;
  pointer-events: none;
}
@keyframes walkthroughPulse {
  0%, 100% { box-shadow: 0 10px 30px rgba(0,0,0,.16); }
  50% { box-shadow: 0 12px 38px rgba(23,72,210,.34), 0 0 0 4px rgba(146,222,44,.16); }
}
@keyframes walkthroughSweep {
  0%, 28% { transform: translateX(-130%); }
  58%, 100% { transform: translateX(130%); }
}

.footer__social .footer__label { display: block; }
.social-icons { display: flex; flex-wrap: wrap; gap: 9px; }
.social-icon-link {
  width: 42px;
  height: 42px;
  display: grid !important;
  place-items: center;
  color: #dcecff !important;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 12px;
  background: rgba(255,255,255,.06);
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}
.social-icon-link:hover { color: #071420 !important; background: var(--green); border-color: var(--green); transform: translateY(-2px); }
.social-icon-link svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.social-icon-link svg path:not(.social-icon-fill), .social-icon-link svg rect { fill: none; }
.social-icon-link .social-icon-fill { fill: currentColor; stroke: none; }

.sticky-book-cta {
  position: fixed;
  z-index: 85;
  right: 20px;
  bottom: 20px;
}
.sticky-book-cta .button { min-height: 48px; padding-inline: 20px; box-shadow: 0 18px 45px rgba(0,0,0,.28); }

@media (max-width: 767px) {
  body { padding-bottom: 78px; }
  .sticky-book-cta {
    left: 0;
    right: 0;
    bottom: 0;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
    background: rgba(7,20,32,.94);
    border-top: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(16px);
  }
  .sticky-book-cta .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .button[href^="book-demo.html"] { animation: none; }
  .button[href^="book-demo.html"]::before { animation: none; display: none; }
}
/* Long-form About and Privacy pages */
.longform{background:#f5f4ef;color:#091522;padding:clamp(5rem,9vw,9rem) 0 7rem;min-height:70vh}
.longform__inner{max-width:1180px}
.longform__hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px, .9fr);gap:clamp(2rem,7vw,7rem);align-items:center;margin-bottom:clamp(4rem,9vw,9rem)}
.longform__hero h1{max-width:760px;margin:.5rem 0 1.5rem;font-size:clamp(3.4rem,8vw,7.8rem);line-height:.93;letter-spacing:-.07em}
.longform__hero h1 em,.article-copy h2,.article-copy h3{color:#3944fe;font-style:normal}
.longform__hero .lead{max-width:600px;font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.55}
.about-portrait-stack{position:relative;aspect-ratio:4/5;max-width:520px;margin-left:auto}
.about-portrait-stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:2rem;box-shadow:0 25px 70px #09152225;animation:founderFade 8s ease-in-out infinite}
.about-portrait-stack img+img{animation-delay:4s;opacity:0}
@keyframes founderFade{0%,45%{opacity:1;transform:rotate(-1deg) scale(1)}50%,95%{opacity:0;transform:rotate(1deg) scale(1.02)}100%{opacity:1}}
.article-copy{max-width:850px;margin:0 auto;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.75}
.article-copy h1{font-size:clamp(3rem,7vw,6.5rem);line-height:.95;letter-spacing:-.06em;margin:0 0 2rem;color:#091522}
.article-copy h2{font-size:clamp(1.7rem,3.4vw,3rem);line-height:1.08;letter-spacing:-.03em;margin:4rem 0 1rem}
.article-copy h3{font-size:clamp(1.25rem,2vw,1.7rem);margin:2rem 0 .75rem}
.article-copy p{margin:0 0 1.25rem}.article-copy ul{padding-left:1.4rem;margin:0 0 1.5rem}.article-copy li{padding:.2rem 0}
.article-copy a{color:#3944fe;text-decoration:underline;text-underline-offset:3px}.article-copy strong{font-weight:750}
.founder-link{margin-top:3rem;padding-top:2rem;border-top:1px solid #09152222}.linkedin-mark{display:inline-grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:.3rem;background:#3944fe;color:#fff;font-weight:800;text-decoration:none;margin-right:.45rem}
.founder-name{font-size:clamp(1.5rem,3vw,2.3rem);font-weight:750;color:#091522;margin-top:-.5rem}
.policy-copy{max-width:900px}.policy-copy .eyebrow{margin-bottom:1rem}.policy-copy h1{font-size:clamp(3rem,7vw,6rem);margin-bottom:3rem}.policy-copy h2{scroll-margin-top:2rem}
.legal-page .longform{background:#fff}.legal-page .header{background:#091522}.legal-page .legal-back{color:#fff}
@media (max-width:760px){.longform{padding-top:4rem}.longform__hero{grid-template-columns:1fr;gap:2.5rem;margin-bottom:4rem}.about-portrait-stack{order:-1;width:100%;max-width:none}.article-copy{font-size:1.05rem;line-height:1.68}.article-copy h2{margin-top:3rem}.header__inner{padding-inline:1rem}}
@media (prefers-reduced-motion:reduce){.about-portrait-stack img{animation:none}.about-portrait-stack img+img{display:none}}

/* Final precision pass: contained button glow, readable CTA rotation, and reliable portraits. */
@property --button-angle { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
.book-walkthrough,
.button[href^="book-demo.html"],
#dc-submit {
  position:relative;
  isolation:isolate;
  overflow:visible;
  z-index:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.35em;
  min-width:max-content;
  min-height:44px;
  padding-inline:1.25em;
  border:2px solid transparent !important;
  border-radius:999px;
  background:linear-gradient(#3944FE,#3944FE) padding-box,conic-gradient(from var(--button-angle),#3944FE 0deg,#fff 55deg,#3944FE 105deg,#3944FE 215deg,#fff 265deg,#3944FE 325deg) border-box !important;
  background-size:100% 100%,100% 100%;
  color:#fff !important;
  font-weight:750;
  line-height:1.15;
  letter-spacing:.005em;
  text-align:center;
  white-space:nowrap;
  animation:buttonPulse 1.5s ease-in-out infinite,buttonShimmer 3s linear infinite;
}
.book-walkthrough::before,
.button[href^="book-demo.html"]::before,
#dc-submit::before {
  content:"";
  position:absolute;
  z-index:-1;
  left:9%;
  right:9%;
  bottom:-14px;
  height:18px;
  border-radius:50%;
  filter:blur(11px);
  background:#fff;
  opacity:.78;
  pointer-events:none;
  animation:buttonGlow 1.5s ease-in-out infinite;
}
.book-walkthrough::after,
.button[href^="book-demo.html"]::after,
#dc-submit::after { display:none; }
@keyframes buttonGlow {
  0%,100% { background:#fff; box-shadow:0 0 15px #fff,0 0 28px #fff; opacity:.55; }
  25% { background:#ff304f; box-shadow:0 0 16px #ff304f,0 0 32px #ff304f; opacity:.9; }
  50% { background:#ffd43b; box-shadow:0 0 17px #ffd43b,0 0 34px #ffd43b; opacity:.82; }
  75% { background:#ff6bd6; box-shadow:0 0 17px #ff6bd6,0 0 34px #ff6bd6; opacity:.9; }
}
@keyframes buttonPulse { 0%,100% { transform:scale(1); } 50% { transform:scale(1.035); } }
@keyframes buttonShimmer { to { --button-angle:360deg; } }
.book-walkthrough:hover,
.button[href^="book-demo.html"]:hover,
#dc-submit:hover { transform:translateY(-2px) scale(1.02); }

.final-cta__rotating {
  width:100%;
  max-width:100%;
  height:2.35em;
  min-height:2.35em;
  overflow:hidden;
  position:relative;
  font-size:clamp(30px,3.9vw,62px);
  line-height:1.04;
}
.final-cta__headline { display:block; width:100%; height:100%; overflow:hidden; }
.final-cta__rotating .headline-line {
  position:absolute;
  inset:0;
  width:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  opacity:0;
  transform:translateY(100%);
  transition:opacity .6s ease-in-out,transform .6s ease-in-out;
  white-space:nowrap;
}
.final-cta__rotating .headline-line > span { display:block; width:100%; max-width:none; }
.final-cta__rotating .headline-line:first-child,
.final-cta__rotating .headline-line.is-active { opacity:1; transform:translateY(0); }
.final-cta__rotating .headline-line.is-leaving { opacity:0; transform:translateY(-100%); }
.final-cta__rotating .accent { color:#b9ff3d; }

.about-portrait-stack { display:block; width:100%; min-height:clamp(390px,48vw,680px); overflow:hidden; }
.about-portrait-stack img { display:block; visibility:visible; }
@media (max-width:900px) {
  .final-cta { align-items:flex-start; }
  .final-cta__copy { width:100%; max-width:none; }
  .final-cta__rotating { font-size:clamp(30px,6.2vw,54px); }
}
@media (max-width:760px) {
  .final-cta__rotating { height:2.35em; min-height:2.35em; font-size:clamp(28px,8.6vw,43px); }
  .final-cta__rotating .headline-line { white-space:nowrap; }
  .book-walkthrough,.button[href^="book-demo.html"],#dc-submit { white-space:normal; min-width:0; }
  .about-portrait-stack { min-height:112vw; }
}
@media (prefers-reduced-motion:reduce) {
  .book-walkthrough,.button[href^="book-demo.html"],#dc-submit,.book-walkthrough::before,.button[href^="book-demo.html"]::before,#dc-submit::before,.final-cta::before { animation:none; }
}

/* Keep the blue buttons clean: remove the coloured blinking glow layer. */
.book-walkthrough::before,
.button[href^="book-demo.html"]::before,
#dc-submit::before { display:none !important; animation:none !important; box-shadow:none !important; }
