/* ============================================================
   SchedMate marketing site — redesign
   Palette, type scale, layout, components, animations.
   All brand tokens live in :root — change them in one place.
   ============================================================ */

:root{
  /* Brand */
  --brand:        oklch(0.55 0.18 264);      /* SchedMate blue */
  --brand-deep:   oklch(0.44 0.17 264);
  --brand-soft:   oklch(0.95 0.03 264);
  --ai:           oklch(0.62 0.16 300);      /* AI accent, same L/C family */

  /* Neutrals (cool, subtly toned) */
  --bg:           #fbfbfd;
  --bg-tint:      oklch(0.975 0.004 264);
  --ink:          oklch(0.22 0.02 264);
  --ink-2:        oklch(0.44 0.015 264);
  --ink-3:        oklch(0.58 0.012 264);
  --line:         oklch(0.91 0.008 264);
  --white:        #fff;

  /* Dark surface */
  --dark:         oklch(0.19 0.03 264);
  --dark-2:       oklch(0.24 0.035 264);
  --dark-line:    oklch(0.33 0.03 264);
  --dark-ink:     oklch(0.93 0.01 264);
  --dark-ink-2:   oklch(0.75 0.015 264);

  /* Type */
  --sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --serif: Georgia, "Times New Roman", serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;

  /* Space & shape */
  --r-sm: 10px;
  --r:    16px;
  --r-lg: 24px;
  --r-xl: 32px;
  --pad:  clamp(20px, 5vw, 40px);
  --sec:  clamp(72px, 9vw, 136px);
  --shadow-sm: 0 1px 2px oklch(0.22 0.02 264 / .06), 0 4px 14px oklch(0.22 0.02 264 / .05);
  --shadow:    0 2px 6px oklch(0.22 0.02 264 / .06), 0 18px 50px oklch(0.22 0.02 264 / .09);
  --shadow-lg: 0 4px 12px oklch(0.22 0.02 264 / .08), 0 40px 90px oklch(0.22 0.02 264 / .14);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:88px; }
body{
  margin:0; background:var(--bg); color:var(--ink);
  font:400 17px/1.6 var(--sans);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,video,svg{ max-width:100%; height:auto; display:block; }
a{ color:var(--brand-deep); text-decoration:none; }
a:hover{ color:var(--brand); text-decoration:underline; text-underline-offset:3px; }
h1,h2,h3{ margin:0; font-weight:600; letter-spacing:-0.021em; text-wrap:balance; line-height:1.1; }
p{ margin:0; text-wrap:pretty; }
ul,ol{ margin:0; padding:0; list-style:none; }
:focus-visible{ outline:2px solid var(--brand); outline-offset:3px; border-radius:4px; }

.wrap{ width:100%; max-width:1200px; margin:0 auto; padding:0 var(--pad); }
.center{ text-align:center; }
.skip{
  position:absolute; left:-9999px; top:0; z-index:100;
  background:var(--white); padding:12px 18px; border-radius:0 0 var(--r-sm) 0;
}
.skip:focus{ left:0; }

/* ── Typography helpers ───────────────────────────────────── */
.eyebrow{
  font:500 12px/1 var(--mono); letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-3); margin-bottom:18px;
}
.eyebrow--ai{ color:var(--ai); }
.lede{ font-size:clamp(17px, 1.5vw, 19.5px); color:var(--ink-2); max-width:62ch; }
.sechead{ max-width:760px; margin:0 auto clamp(40px, 5vw, 68px); text-align:center; }
.sechead h2{ font-size:clamp(29px, 4.1vw, 47px); margin-bottom:18px; }
.sechead .lede{ margin:0 auto; }
.sechead--left{ text-align:left; margin-inline:0; }
.sechead--left .lede{ margin-inline:0; }

.sec{ padding:var(--sec) 0; }
.sec--tint{ background:var(--bg-tint); border-block:1px solid var(--line); }
.sec--dark{ background:var(--dark); color:var(--dark-ink); }
.sec--dark .lede{ color:var(--dark-ink-2); }
.sec--cta{
  background:
    radial-gradient(60% 120% at 50% 0%, oklch(0.32 0.09 264) 0%, transparent 70%),
    var(--dark);
  color:var(--dark-ink); text-align:center;
}
.sec--cta .lede{ color:var(--dark-ink-2); margin:20px auto 34px; }
.sec--cta h2{ font-size:clamp(30px, 4.4vw, 52px); }

/* ── Buttons: one primary style, used sparingly ───────────── */
.btn{
  --h:46px;
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  min-height:var(--h); padding:0 20px; border:1px solid transparent; border-radius:999px;
  font:600 15px/1 var(--sans); letter-spacing:-.01em; cursor:pointer;
  transition:transform .18s cubic-bezier(.2,.7,.3,1), box-shadow .18s, background .18s, border-color .18s, color .18s;
  text-decoration:none; white-space:nowrap;
}
.btn:hover{ text-decoration:none; transform:translateY(-1px); }
.btn:active{ transform:translateY(0); }
.btn--primary{ background:var(--brand); color:#fff; box-shadow:0 1px 2px oklch(0.4 0.16 264/.3), 0 8px 22px oklch(0.5 0.18 264/.28); }
.btn--primary:hover{ background:var(--brand-deep); color:#fff; box-shadow:0 2px 4px oklch(0.4 0.16 264/.3), 0 14px 34px oklch(0.5 0.18 264/.34); }
.btn--quiet{ background:var(--white); color:var(--ink); border-color:var(--line); box-shadow:var(--shadow-sm); }
.btn--quiet:hover{ color:var(--ink); border-color:oklch(0.84 0.02 264); }
.btn--ghost{ background:transparent; color:var(--ink); border-color:var(--line); }
.btn--onDark{ background:oklch(1 0 0 / .08); color:var(--dark-ink); border-color:oklch(1 0 0 / .18); }
.btn--onDark:hover{ background:oklch(1 0 0 / .14); color:#fff; }
.btn--lg{ --h:54px; padding:0 28px; font-size:16.5px; }
.btn--sm{ --h:38px; padding:0 16px; font-size:14px; }
.btn--full{ width:100%; }

.ticks{ display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:22px; }
.ticks li{ font-size:14px; color:var(--ink-3); display:flex; align-items:center; gap:7px; }
.ticks li::before{ content:"✓"; color:var(--brand); font-weight:700; }
.ticks--center{ justify-content:center; }
.sec--cta .ticks li{ color:var(--dark-ink-2); }

.checks li{
  position:relative; padding-left:30px; margin-bottom:12px;
  color:var(--ink-2); font-size:16px;
}
.checks li::before{
  content:"✓"; position:absolute; left:0; top:0;
  color:var(--brand); font-weight:700;
}
.checks li strong{ color:var(--ink); font-weight:600; }
.checks--dark li{ color:var(--dark-ink-2); }
.checks--dark li strong{ color:var(--dark-ink); }
.checks--dark li::before{ color:var(--ai); }

/* ── Nav ──────────────────────────────────────────────────── */
.nav{
  position:sticky; top:0; z-index:50;
  background:oklch(0.99 0.002 264 / .78); backdrop-filter:saturate(180%) blur(18px);
  border-bottom:1px solid transparent; transition:border-color .25s, box-shadow .25s;
}
.nav.is-stuck{ border-bottom-color:var(--line); box-shadow:0 1px 20px oklch(0.22 0.02 264/.05); }
.nav__in{ display:flex; align-items:center; gap:24px; height:68px; }
.brand{ display:flex; align-items:center; gap:10px; font-weight:600; font-size:17px; color:var(--ink); letter-spacing:-.02em; }
.brand:hover{ color:var(--ink); text-decoration:none; }
.nav__links{ display:flex; align-items:center; gap:4px; margin-left:auto; }
.nav__links a{
  padding:8px 12px; border-radius:999px; font-size:14.5px; font-weight:500; color:var(--ink-2);
  transition:background .15s, color .15s;
}
.nav__links a:hover{ background:oklch(0.94 0.01 264); color:var(--ink); text-decoration:none; }
.nav__actions{ display:flex; align-items:center; gap:12px; }
.nav__login{ font-size:14.5px; font-weight:500; color:var(--ink-2); }
.nav__mobile-cta{ display:none; }
.nav__burger{
  display:none; width:40px; height:40px; border:1px solid var(--line); border-radius:12px;
  background:var(--white); flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:0;
}
.nav__burger span{ display:block; width:16px; height:1.5px; background:var(--ink); transition:transform .2s, opacity .2s; }
.nav__burger[aria-expanded="true"] span:first-child{ transform:translateY(3.25px) rotate(45deg); }
.nav__burger[aria-expanded="true"] span:last-child{ transform:translateY(-3.25px) rotate(-45deg); }

/* ── Hero ─────────────────────────────────────────────────── */
.hero{ position:relative; padding:clamp(56px, 8vw, 104px) 0 clamp(64px, 8vw, 112px); overflow:hidden; }
.hero__glow{
  position:absolute; inset:-30% 0 auto 0; height:760px; pointer-events:none;
  background:
    radial-gradient(46% 52% at 50% 42%, oklch(0.88 0.09 264 / .55), transparent 70%),
    radial-gradient(30% 40% at 78% 28%, oklch(0.9 0.07 300 / .38), transparent 72%);
  filter:blur(6px);
}
.hero__in{ position:relative; text-align:center; }
.hero .eyebrow{
  display:inline-block; padding:7px 14px; border:1px solid var(--line); border-radius:999px;
  background:oklch(1 0 0 / .7); color:var(--brand-deep); margin-bottom:26px;
}
.hero__h1{
  font-size:clamp(37px, 6.2vw, 74px); line-height:1.02; letter-spacing:-.03em;
  max-width:16ch; margin:0 auto;
}
.hero__h1 em{ font-family:var(--serif); font-style:italic; font-weight:400; font-size:.92em; letter-spacing:-.015em; color:var(--brand-deep); }
.hero__sub{ font-size:clamp(17px, 1.7vw, 20.5px); color:var(--ink-2); max-width:60ch; margin:24px auto 0; }
.hero__cta{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:34px; }
.hero__cta--center{ justify-content:center; }
.hero .ticks{ justify-content:center; }

.shot{
  position:relative; margin:clamp(44px, 6vw, 76px) 0 0;
  border:1px solid var(--line); border-radius:var(--r-lg); background:var(--white);
  box-shadow:var(--shadow-lg); overflow:hidden;
}
.shot img,.shot video{ width:100%; }
.shot__bar{
  display:flex; align-items:center; gap:7px; height:38px; padding:0 14px;
  background:oklch(0.98 0.004 264); border-bottom:1px solid var(--line);
}
.shot__bar span{ width:8px; height:8px; border-radius:50%; background:oklch(0.86 0.01 264); }
.shot__bar p{ margin-left:10px; font:500 11.5px/1 var(--mono); letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3); }
.shot--hero{ transform:perspective(1600px) rotateX(2.2deg); transition:transform .6s cubic-bezier(.2,.7,.3,1); }
.shot--consent{ max-width:900px; margin-inline:auto; border-color:var(--dark-line); background:var(--dark-2); }
.shot--consent figcaption{
  padding:16px 22px; font-size:14.5px; color:var(--dark-ink-2);
  border-top:1px solid var(--dark-line);
}

.floatcard{
  position:absolute; z-index:2; padding:12px 16px; border-radius:var(--r);
  background:oklch(1 0 0 / .92); backdrop-filter:blur(10px);
  border:1px solid var(--line); box-shadow:var(--shadow); text-align:left; max-width:250px;
}
.floatcard__k{ font:500 11px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); margin-bottom:6px; }
.floatcard__v{ font-size:14px; color:var(--ink-2); line-height:1.35; }
.floatcard__v strong{ color:var(--ink); font-weight:600; }
.floatcard--ai{ left:-14px; top:22%; animation:drift 7s ease-in-out infinite; }
.floatcard--ai .floatcard__k{ color:var(--ai); }
.floatcard--pay{ right:-14px; bottom:14%; animation:drift 8.5s ease-in-out infinite reverse; }
@keyframes drift{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-9px); } }

.hero__facts{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:clamp(36px,4vw,56px);
  background:var(--line); border:1px solid var(--line); border-radius:var(--r); overflow:hidden;
}
.hero__facts li{ background:var(--bg); padding:18px 20px; text-align:left; }
.hero__facts strong{ display:block; font-size:15.5px; font-weight:600; }
.hero__facts span{ font-size:14px; color:var(--ink-3); }

/* ── Workflow stepper ─────────────────────────────────────── */
.flow{
  display:grid; grid-template-columns:minmax(230px, 300px) 1fr; gap:clamp(24px,3vw,48px);
  align-items:start;
}
.flow__rail{ display:grid; gap:2px; position:relative; }
.flow__rail::before{
  content:""; position:absolute; left:23px; top:22px; bottom:22px; width:1px;
  background:linear-gradient(var(--line), var(--brand-soft));
}
.flow__rail button{
  position:relative; z-index:1; display:flex; align-items:center; gap:14px; width:100%;
  padding:11px 14px; border:1px solid transparent; border-radius:999px; background:transparent;
  font:600 16px/1.2 var(--sans); color:var(--ink-3); text-align:left; cursor:pointer;
  transition:background .2s, color .2s, border-color .2s;
}
.flow__rail button:hover{ color:var(--ink); background:oklch(1 0 0 / .7); }
.flow__n{
  display:grid; place-items:center; width:32px; height:32px; flex:0 0 32px; border-radius:50%;
  background:var(--white); border:1px solid var(--line);
  font:500 11.5px/1 var(--mono); color:var(--ink-3); transition:all .2s;
}
.flow__rail button[aria-selected="true"]{
  background:var(--white); color:var(--ink); border-color:var(--line); box-shadow:var(--shadow-sm);
}
.flow__rail button[aria-selected="true"] .flow__n{ background:var(--brand); border-color:var(--brand); color:#fff; }
.flow__rail button.is-ai[aria-selected="true"] .flow__n{ background:var(--ai); border-color:var(--ai); }

.flow__panels{ position:relative; }
.flow__panel{
  background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:clamp(26px,3.4vw,44px); box-shadow:var(--shadow-sm);
  animation:panelIn .38s cubic-bezier(.2,.7,.3,1) both;
}
.flow__panel[hidden]{ display:none; }
@keyframes panelIn{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
.flow__step{ font:500 11.5px/1 var(--mono); letter-spacing:.1em; text-transform:uppercase; color:var(--brand); margin-bottom:14px; }
.flow__panel h3{ font-size:clamp(22px,2.5vw,30px); margin-bottom:14px; }
.flow__panel > p{ color:var(--ink-2); margin-bottom:22px; max-width:56ch; }
.flow__foot{
  margin-top:clamp(28px,3vw,44px); text-align:center; font:500 14px/1.6 var(--mono);
  color:var(--ink-3); letter-spacing:.01em;
}

/* ── AI section ───────────────────────────────────────────── */
.aiflow{
  display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:14px; align-items:stretch;
  margin-bottom:clamp(44px,5vw,72px);
}
.aiflow__arrow{ align-self:center; color:var(--dark-line); font-size:22px; }
.aicard{
  background:var(--dark-2); border:1px solid var(--dark-line); border-radius:var(--r-lg);
  padding:24px; display:flex; flex-direction:column; gap:12px;
}
.aicard--lit{ border-color:oklch(0.62 0.16 300 / .5); box-shadow:0 0 0 1px oklch(0.62 0.16 300/.2), 0 24px 60px oklch(0.62 0.16 300/.12); }
.aicard__k{ font:500 11.5px/1 var(--mono); letter-spacing:.1em; text-transform:uppercase; color:var(--dark-ink-2); }
.aicard blockquote{ margin:0; font-size:16.5px; line-height:1.5; color:var(--dark-ink); }
.aicard__meta{ margin-top:auto; font-size:13.5px; color:var(--dark-ink-2); }
.aicard__meta strong{ display:block; color:var(--dark-ink); font-weight:600; font-size:14.5px; margin-top:3px; }
.aicard__badge{
  align-self:flex-start; padding:5px 12px; border-radius:999px;
  background:oklch(0.62 0.16 300 / .16); color:oklch(0.82 0.09 300);
  font-size:13px; font-weight:600;
}
.aicard__list li{ font-size:14.5px; color:var(--dark-ink-2); padding-left:16px; position:relative; margin-bottom:6px; }
.aicard__list li::before{ content:"·"; position:absolute; left:4px; color:var(--ai); }
.aicard__consent{
  margin-top:auto; padding:12px 14px; border-radius:var(--r-sm);
  background:oklch(1 0 0 / .05); border:1px solid var(--dark-line);
  font-size:13.5px; color:var(--dark-ink-2);
}

.aigrid{ display:grid; grid-template-columns:1.35fr 1fr; gap:clamp(24px,3vw,44px); align-items:start; }
.aigrid__cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.minicard{
  background:oklch(1 0 0 / .04); border:1px solid var(--dark-line); border-radius:var(--r);
  padding:22px; transition:background .25s, transform .25s, border-color .25s;
}
.minicard:hover{ background:oklch(1 0 0 / .07); border-color:oklch(0.42 0.05 264); transform:translateY(-2px); }
.minicard h3{ font-size:17.5px; margin:12px 0 8px; }
.minicard p{ font-size:14.5px; color:var(--dark-ink-2); }
.glyph{
  display:grid; place-items:center; width:36px; height:36px; border-radius:11px;
  background:oklch(1 0 0 / .07); color:var(--ai); font-size:17px;
}
.control{
  background:oklch(1 0 0 / .04); border:1px solid var(--dark-line);
  border-radius:var(--r-lg); padding:clamp(24px,3vw,34px);
}
.control h3{ font-size:clamp(20px,2.2vw,26px); margin-bottom:20px; }
.lanes{ display:grid; gap:8px; margin:24px 0; }
.lanes p{ padding:12px 14px; border-radius:var(--r-sm); background:oklch(1 0 0 / .05); border-left:2px solid var(--ai); }
.lanes strong{ display:block; font-size:14px; }
.lanes span{ font:400 13px/1.5 var(--mono); color:var(--dark-ink-2); }

/* ── Demo ─────────────────────────────────────────────────── */
.demo{ display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(28px,4vw,60px); align-items:center; }
.demo .sechead{ margin-bottom:0; }
.demo .checks{ margin-top:26px; }
.demo .shot{ margin-top:0; }

/* ── Tabs ─────────────────────────────────────────────────── */
.tabs__bar{
  display:flex; gap:6px; margin-bottom:26px; padding:5px;
  background:var(--white); border:1px solid var(--line); border-radius:999px;
  overflow-x:auto; scrollbar-width:none;
}
.tabs__bar::-webkit-scrollbar{ display:none; }
.tabs__bar button{
  flex:1 0 auto; padding:10px 18px; border:0; border-radius:999px; background:transparent;
  font:600 14.5px/1 var(--sans); color:var(--ink-2); cursor:pointer; white-space:nowrap;
  transition:background .2s, color .2s;
}
.tabs__bar button:hover{ background:oklch(0.95 0.008 264); }
.tabs__bar button[aria-selected="true"]{ background:var(--ink); color:#fff; }
.tabs__panel{
  display:grid; grid-template-columns:minmax(280px, 400px) 1fr; gap:clamp(24px,3.4vw,52px); align-items:center;
  animation:panelIn .38s cubic-bezier(.2,.7,.3,1) both;
}
.tabs__panel[hidden]{ display:none; }
.tabs__copy h3{ font-size:clamp(22px,2.5vw,31px); margin-bottom:14px; }
.tabs__copy > p{ color:var(--ink-2); }
.tabs__panel .shot{ margin:0; }
.notes{ counter-reset:n; margin-top:24px; display:grid; gap:14px; }
.notes li{ counter-increment:n; position:relative; padding-left:38px; font-size:15px; color:var(--ink-2); }
.notes li::before{
  content:counter(n); position:absolute; left:0; top:0;
  display:grid; place-items:center; width:26px; height:26px; border-radius:50%;
  background:var(--brand-soft); color:var(--brand-deep); font:600 12.5px/1 var(--mono);
}
.notes strong{ display:block; color:var(--ink); font-weight:600; }

/* ── Cards / features ─────────────────────────────────────── */
.cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg); padding:28px;
  transition:transform .28s cubic-bezier(.2,.7,.3,1), box-shadow .28s, border-color .28s;
}
.card:hover{ transform:translateY(-3px); box-shadow:var(--shadow); border-color:oklch(0.86 0.02 264); }
.card .glyph{ background:var(--brand-soft); color:var(--brand-deep); }
.card h3{ font-size:19px; margin:16px 0 8px; }
.card p{ font-size:15.5px; color:var(--ink-2); }
.card--wide{ grid-column:span 3; display:grid; grid-template-columns:auto 1fr; gap:8px 22px; align-items:start; }
.card--wide h3{ margin-top:4px; grid-column:2; }
.card--wide p{ grid-column:2; max-width:78ch; }
.card--wide .glyph{ grid-row:span 2; background:oklch(0.62 0.16 300 / .12); color:var(--ai); }

/* ── Team ─────────────────────────────────────────────────── */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,4.5vw,72px); align-items:center; }
.split h2{ font-size:clamp(28px,3.6vw,42px); margin:0 0 18px; }
.split .checks{ margin-top:26px; }
.roles{ display:grid; gap:12px; }
.roles li{
  background:var(--white); border:1px solid var(--line); border-radius:var(--r); padding:20px 22px;
  border-left:3px solid var(--brand);
}
.roles strong{ display:block; font-size:16.5px; margin-bottom:4px; }
.roles span{ font-size:14.5px; color:var(--ink-2); }

/* ── Steps ────────────────────────────────────────────────── */
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.steps li{ padding-top:22px; border-top:1px solid var(--line); }
.steps__n{
  display:grid; place-items:center; width:30px; height:30px; border-radius:50%;
  background:var(--ink); color:#fff; font:600 13px/1 var(--mono); margin-bottom:16px;
}
.steps h3{ font-size:18.5px; margin-bottom:8px; }
.steps p{ font-size:15px; color:var(--ink-2); }
.steps + .center{ margin-top:clamp(36px,4vw,56px); }

/* ── Pricing ──────────────────────────────────────────────── */
.price{ display:grid; grid-template-columns:1fr 1.25fr; gap:20px; max-width:940px; margin:0 auto; align-items:start; }
.price__card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--r-xl);
  padding:clamp(26px,3vw,38px); box-shadow:var(--shadow-sm);
}
.price__card--lead{ border-color:oklch(0.78 0.07 264); box-shadow:var(--shadow); }
.price__k{ font-size:16px; font-weight:600; display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.tag{
  font:500 11px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase;
  padding:5px 9px; border-radius:999px; background:var(--brand-soft); color:var(--brand-deep);
}
.price__v{ font-size:clamp(38px,4.6vw,54px); font-weight:600; letter-spacing:-.03em; margin:14px 0 4px; }
.price__v span{ font-size:17px; font-weight:500; color:var(--ink-3); letter-spacing:0; }
.price__note{ font-size:14.5px; color:var(--ink-3); margin-bottom:24px; }
.price__card .checks{ margin-bottom:26px; }
.price__card .checks li{ font-size:15px; margin-bottom:10px; }
.price__fine{ margin-top:14px; text-align:center; font-size:13px; color:var(--ink-3); }

/* ── Solutions ────────────────────────────────────────────── */
.sols{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.sol{
  display:grid; grid-template-columns:1fr auto; align-items:start; gap:6px 16px;
  padding:24px; border:1px solid var(--line); border-radius:var(--r-lg); background:var(--white);
  transition:transform .25s, box-shadow .25s, border-color .25s;
}
.sol:hover{ transform:translateY(-2px); box-shadow:var(--shadow); border-color:oklch(0.84 0.03 264); text-decoration:none; }
.sol strong{ font-size:17.5px; color:var(--ink); font-weight:600; }
.sol span{ grid-column:1/-1; font-size:14.5px; color:var(--ink-2); }
.sol em{ font-style:normal; color:var(--brand); transition:transform .25s; }
.sol:hover em{ transform:translateX(3px); }

/* ── FAQ ──────────────────────────────────────────────────── */
.faq{ display:grid; grid-template-columns:minmax(260px,380px) 1fr; gap:clamp(28px,4vw,64px); align-items:start; }
.acc{ display:grid; gap:8px; }
.acc details{
  background:var(--white); border:1px solid var(--line); border-radius:var(--r);
  padding:0 22px; transition:border-color .2s, box-shadow .2s;
}
.acc details[open]{ border-color:oklch(0.84 0.03 264); box-shadow:var(--shadow-sm); }
.acc summary{
  list-style:none; cursor:pointer; padding:19px 34px 19px 0; position:relative;
  font-size:16.5px; font-weight:600; letter-spacing:-.01em;
}
.acc summary::-webkit-details-marker{ display:none; }
.acc summary::after{
  content:"+"; position:absolute; right:0; top:50%; transform:translateY(-50%);
  font:400 22px/1 var(--sans); color:var(--brand); transition:transform .25s;
}
.acc details[open] summary::after{ content:"–"; }
.acc details p{ padding:0 0 20px; font-size:15.5px; color:var(--ink-2); max-width:70ch; }

/* ── Footer ───────────────────────────────────────────────── */
.foot{ background:var(--white); border-top:1px solid var(--line); padding:clamp(48px,6vw,76px) 0 28px; }
.foot__in{ display:grid; grid-template-columns:minmax(220px,300px) 1fr; gap:clamp(28px,4vw,64px); }
.foot__brand p{ margin-top:14px; font-size:14.5px; color:var(--ink-3); max-width:34ch; }
.foot__cols{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.foot__cols h3{ font:500 11.5px/1 var(--mono); letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); margin-bottom:14px; }
.foot__cols li{ margin-bottom:9px; }
.foot__cols a{ font-size:14.5px; color:var(--ink-2); }
.foot__cols a:hover{ color:var(--brand-deep); }
.foot__legal{
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px;
  margin-top:clamp(36px,4vw,56px); padding-top:22px; border-top:1px solid var(--line);
  font-size:13.5px; color:var(--ink-3);
}

/* ── Sticky mobile CTA ────────────────────────────────────── */
.stickycta{
  position:fixed; left:12px; right:12px; bottom:12px; z-index:40;
  display:none; align-items:center; justify-content:space-between; gap:14px;
  padding:10px 12px 10px 18px; border-radius:999px;
  background:oklch(0.99 0.002 264 / .92); backdrop-filter:blur(14px);
  border:1px solid var(--line); box-shadow:var(--shadow);
  transform:translateY(140%); transition:transform .35s cubic-bezier(.2,.7,.3,1);
}
.stickycta.is-on{ transform:none; }
.stickycta p{ display:grid; line-height:1.25; }
.stickycta strong{ font-size:14.5px; font-weight:600; }
.stickycta span{ font-size:12.5px; color:var(--ink-3); }

/* ── Reveal animation ─────────────────────────────────────── */
.reveal{ opacity:0; transform:translateY(14px); }
.js .reveal{ transition:opacity .6s cubic-bezier(.2,.7,.3,1), transform .6s cubic-bezier(.2,.7,.3,1); }
.reveal.is-in{ opacity:1; transform:none; }
html:not(.js) .reveal{ opacity:1; transform:none; }

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width:1080px){
  .aigrid{ grid-template-columns:1fr; }
  .cards{ grid-template-columns:repeat(2,1fr); }
  .card--wide{ grid-column:span 2; }
  .sols{ grid-template-columns:repeat(2,1fr); }
  .steps{ grid-template-columns:repeat(2,1fr); }
  .foot__in{ grid-template-columns:1fr; }
}
@media (max-width:940px){
  html{ scroll-padding-top:76px; }
  .nav__links{
    position:fixed; inset:68px 0 auto 0; flex-direction:column; align-items:stretch; gap:2px;
    background:var(--white); border-bottom:1px solid var(--line); padding:14px var(--pad) 22px;
    box-shadow:var(--shadow); transform:translateY(-120%); transition:transform .3s cubic-bezier(.2,.7,.3,1);
    margin:0;
  }
  .nav__links.is-open{ transform:none; }
  .nav__links a{ padding:13px 12px; font-size:16px; }
  .nav__mobile-cta{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
  .nav__mobile-cta .btn{ width:100%; }
  .nav__burger{ display:flex; }
  .nav__login,.nav__actions .btn{ display:none; }

  .flow{ grid-template-columns:1fr; }
  .flow__rail{ display:flex; overflow-x:auto; gap:8px; padding-bottom:6px; scrollbar-width:none; }
  .flow__rail::-webkit-scrollbar{ display:none; }
  .flow__rail::before{ display:none; }
  .flow__rail li{ flex:0 0 auto; }
  .flow__rail button{ background:var(--white); border-color:var(--line); font-size:14.5px; padding:8px 14px 8px 8px; }
  .flow__n{ width:26px; height:26px; flex-basis:26px; font-size:10.5px; }

  .aiflow{ grid-template-columns:1fr; }
  .aiflow__arrow{ transform:rotate(90deg); justify-self:center; }
  .aigrid__cards{ grid-template-columns:1fr 1fr; }
  .demo,.split,.faq,.price,.tabs__panel{ grid-template-columns:1fr; }
  .price__card--lead{ order:-1; }
  .hero__facts{ grid-template-columns:repeat(2,1fr); }
  .foot__cols{ grid-template-columns:repeat(2,1fr); }
  .stickycta{ display:flex; }
  .shot--hero{ transform:none; }
  .floatcard--ai{ left:8px; top:auto; bottom:12%; }
  .floatcard--pay{ display:none; }
}
@media (max-width:620px){
  body{ font-size:16.5px; }
  .cards,.sols,.steps,.aigrid__cards{ grid-template-columns:1fr; }
  .card--wide{ grid-column:span 1; grid-template-columns:1fr; }
  .card--wide h3,.card--wide p{ grid-column:1; }
  .card--wide .glyph{ grid-row:auto; }
  .hero__cta .btn{ width:100%; }
  .ticks{ gap:6px 16px; }
  .hero__facts{ grid-template-columns:1fr; }
  .floatcard{ max-width:200px; }
  .foot__cols{ grid-template-columns:1fr; }
  .foot__legal{ justify-content:flex-start; }
  .acc summary{ font-size:15.5px; }
}

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

/* Print: readable, no chrome */
@media print{
  .nav,.stickycta,.hero__glow,.tabs__bar{ display:none !important; }
  body{ background:#fff; }
  .sec--dark,.sec--cta{ background:#fff; color:#000; }
  .tabs__panel[hidden],.flow__panel[hidden]{ display:grid !important; }
}


/* v121.0.34 — production integration polish */
.brand__mark{
  display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:9px;
  background:linear-gradient(145deg,#4f46e5,#312e81);color:#fff;font-weight:850;font-size:16px;
  box-shadow:0 7px 20px rgba(79,70,229,.22)
}
.foot .brand__mark{width:28px;height:28px;border-radius:8px;font-size:15px}
.hero__purpose{
  max-width:780px;margin:14px auto 0;padding:12px 16px;border:1px solid rgba(79,70,229,.12);
  border-radius:14px;background:rgba(79,70,229,.035);color:var(--muted);font-size:14px;line-height:1.6
}
.hero__purpose strong{color:var(--ink)}
.capture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:32px}
.capture-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:var(--shadow-sm)}
.capture-card__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--brand-soft);color:var(--brand-deep);font-weight:800;margin-bottom:16px}
.capture-card h3{margin:0 0 8px;font-size:18px}.capture-card p{margin:0;color:var(--muted);line-height:1.65}
.capture-note{max-width:840px;margin:24px auto 0;padding:14px 18px;border-left:3px solid var(--brand);background:var(--brand-soft);border-radius:0 12px 12px 0;color:var(--muted);font-size:14px;line-height:1.65}
.capture-note strong{color:var(--ink)}
.business-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:20px auto 0;max-width:900px;padding:0;list-style:none}
.business-tags li{padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--muted);font-size:12px;font-weight:650}
@media(max-width:760px){.capture-grid{grid-template-columns:1fr}.hero__purpose{text-align:left}}
