/* BotFlow home: warm charcoal, one lime accent and motion tied to the product. */
.home-site {
  --home-bg:#0d100c; --home-bg-2:#11150f; --home-surface:#161b14; --home-surface-2:#1b2118; --home-elevated:#242c20;
  --home-text:#f2f5ec; --home-muted:#a9b3a0; --home-faint:#808b77; --home-line:#283024; --home-line-strong:#3a4633;
  --home-accent:#d4e99a; --home-accent-strong:#e3f3b6; --home-accent-ink:#18210f; --home-link:#d4e99a;
  --home-accent-soft:rgba(212,233,154,.13); --home-glow:rgba(212,233,154,.17);
  --home-mint:#9fdcbf; --home-peach:#f2c59a; --home-sky:#a9cbf2;
  --home-bubble-in:#232b20; --home-bubble-out:#3c4b2a; --home-bubble-out-text:#f3f8e8;
  --home-chip:rgba(255,255,255,.07); --home-chip-hover:rgba(212,233,154,.18);
  --home-header:rgba(13,16,12,.78); --home-card-shadow:0 26px 60px -34px rgba(0,0,0,.75);
  --home-phone-shadow:0 50px 90px -40px rgba(0,0,0,.85);
  min-height:100vh; color:var(--home-text); background:var(--home-bg);
  font-family:Manrope,"Segoe UI",sans-serif; font-size:16px; line-height:1.65;
  overflow-x:clip; -webkit-font-smoothing:antialiased;
}
html[data-theme="light"] .home-site {
  --home-bg:#f7f8f1; --home-bg-2:#eef2e5; --home-surface:#ffffff; --home-surface-2:#fbfcf6; --home-elevated:#edf1e3;
  --home-text:#1c2417; --home-muted:#56614d; --home-faint:#5d6a53; --home-line:#e0e6d4; --home-line-strong:#c9d3b8;
  --home-accent:#d4e99a; --home-accent-strong:#c7e07f; --home-accent-ink:#1a240e; --home-link:#476020;
  --home-accent-soft:rgba(120,160,40,.12); --home-glow:rgba(196,226,120,.42);
  --home-mint:#24805a; --home-peach:#b5652a; --home-sky:#3a72b5;
  --home-bubble-in:#ffffff; --home-bubble-out:#dcefb0; --home-bubble-out-text:#1d2913;
  --home-chip:rgba(71,96,32,.09); --home-chip-hover:rgba(71,96,32,.17);
  --home-header:rgba(247,248,241,.82); --home-card-shadow:0 26px 60px -38px rgba(46,64,22,.35);
  --home-phone-shadow:0 50px 90px -45px rgba(46,64,22,.55);
}
.home-site h1,.home-site h2,.home-site h3,.home-site p { margin:0; }
.home-site svg { display:block; flex-shrink:0; }
.home-site .icon { width:20px; height:20px; stroke-width:1.8; }
.home-site button,.home-site input,.home-site select { font:inherit; }
.home-site button { cursor:pointer; }
.home-site button,.home-site a { -webkit-tap-highlight-color:transparent; }
.home-site button:focus-visible,.home-site a:focus-visible,.home-site summary:focus-visible,.home-site select:focus-visible { outline:2px solid var(--home-link); outline-offset:3px; }
.home-site a { color:var(--home-link); text-decoration:none; }
.home-wrap { width:100%; max-width:1240px; padding-inline:32px; margin-inline:auto; }
.home-skip { position:fixed; top:-70px; left:16px; z-index:100; padding:12px 18px; background:var(--home-accent); color:var(--home-accent-ink)!important; border-radius:10px; font-weight:700; }
.home-skip:focus { top:12px; }

/* Header */
.home-header { position:sticky; top:0; z-index:40; background:var(--home-header); border-bottom:1px solid var(--home-line); -webkit-backdrop-filter:blur(14px) saturate(140%); backdrop-filter:blur(14px) saturate(140%); }
.home-header-inner { display:flex; align-items:center; gap:28px; min-height:76px; }
.home-logo { display:inline-flex; align-items:center; gap:10px; font-size:25px; line-height:1; font-weight:800; letter-spacing:-1px; color:var(--home-text)!important; }
.home-logo > svg { width:34px; height:34px; color:var(--home-accent); }
.home-logo-dot { color:var(--home-link); }
.home-nav { display:flex; align-items:center; gap:4px; margin-left:auto; }
.home-site .home-nav a,.home-site .home-nav button { display:inline-flex; align-items:center; min-height:44px; padding:8px 13px; border:0; border-radius:12px; background:none; color:var(--home-muted); font-size:15px; font-weight:600; white-space:nowrap; transition:color .16s,background .16s; }
.home-site .home-nav a:hover,.home-site .home-nav button:hover { color:var(--home-text); background:var(--home-chip); }
.home-header .home-header-actions { display:flex; align-items:center; gap:6px; margin:0 0 0 6px; }
.home-header-actions .theme-toggle { display:inline-flex!important; align-items:center; justify-content:center; width:44px; height:44px; min-width:44px; min-height:44px; padding:0; border:0; border-radius:12px; background:none; color:var(--home-muted); }
.home-header-actions .theme-toggle .icon { width:19px; height:19px; }
.home-header-actions .theme-toggle:hover { color:var(--home-text); background:var(--home-chip); }
.home-header-actions .lang-select { min-height:44px; padding:0 6px; max-width:58px; border:0; border-radius:12px; background:none; color:var(--home-muted); font-size:14px; font-weight:700; cursor:pointer; }
.home-header-actions .lang-select:hover { color:var(--home-text); background:var(--home-chip); }
.home-header-actions .lang-select option { color:var(--home-text); background:var(--home-surface); }
.home-login { display:inline-flex; align-items:center; min-height:44px; padding:8px 14px; border:0; border-radius:12px; background:none; color:var(--home-text); font-size:15px!important; font-weight:700!important; white-space:nowrap; }
.home-login:hover { background:var(--home-chip); }
.home-site .home-header-cta { min-height:44px; padding:9px 18px; border-radius:12px; font-size:15px!important; margin-left:4px; }

/* Buttons */
.home-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px 20px; border:1px solid transparent; border-radius:14px; font-size:15px!important; font-weight:700!important; line-height:1.25; text-align:center; transition:background .18s,border-color .18s,box-shadow .18s,transform .18s; }
.home-button svg { width:18px; height:18px; transition:transform .18s; }
.home-button:hover svg { transform:translateX(2px); }
.home-button-primary { background:var(--home-accent); border-color:var(--home-accent); color:var(--home-accent-ink)!important; box-shadow:0 12px 30px -12px rgba(212,233,154,.6),inset 0 1px 0 rgba(255,255,255,.45); }
.home-button-primary:hover { background:var(--home-accent-strong); border-color:var(--home-accent-strong); transform:translateY(-1px); }
html[data-theme="light"] .home-button-primary { box-shadow:0 12px 26px -14px rgba(90,130,20,.55),inset 0 1px 0 rgba(255,255,255,.6); }
.home-button-outline { background:color-mix(in srgb,var(--home-surface) 60%,transparent); border-color:var(--home-line-strong); color:var(--home-text); }
.home-button-outline:hover { background:var(--home-elevated); transform:translateY(-1px); }
.home-button-large { min-height:56px; padding:15px 26px; border-radius:16px; font-size:16px!important; }

/* Hero */
.home-hero { position:relative; background:
  radial-gradient(780px 520px at 82% 34%,var(--home-glow),transparent 62%),
  radial-gradient(620px 420px at 6% 0%,rgba(159,220,191,.07),transparent 62%); }
.home-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:48px; align-items:center; padding-block:64px 88px; }
.home-tag { display:inline-flex; align-items:center; gap:10px; padding:7px 15px 7px 11px; border:1px solid var(--home-line); border-radius:999px; background:var(--home-surface); color:var(--home-muted); font-size:14px; font-weight:600; line-height:1.4; }
.home-tag-dot { width:8px; height:8px; border-radius:50%; background:var(--home-accent); box-shadow:0 0 0 4px var(--home-accent-soft); }
html[data-theme="light"] .home-tag-dot { background:#8db33c; }
.home-hero h1 { margin:24px 0 22px; max-width:620px; font-size:clamp(44px,5.3vw,70px); line-height:1.04; font-weight:800; letter-spacing:-.04em; text-wrap:balance; }
.home-hl { color:var(--home-accent); background:linear-gradient(95deg,#e2f3ae 0%,#c6e383 45%,#9fdcbf 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
html[data-theme="light"] .home-hl { color:#3f5a17; background:linear-gradient(95deg,#4d6b14 0%,#3f7a2a 50%,#1f7a58 100%); -webkit-background-clip:text; background-clip:text; }
.home-lead { max-width:540px; color:var(--home-muted); font-size:19px; line-height:1.65; }
.home-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.home-hero-points { display:flex; flex-wrap:wrap; gap:10px 24px; margin:28px 0 0; padding:0; list-style:none; color:var(--home-muted); font-size:14.5px; font-weight:600; }
.home-hero-points li { display:inline-flex; align-items:center; gap:8px; }
.home-hero-points svg { width:17px; height:17px; padding:3px; box-sizing:content-box; border-radius:50%; color:var(--home-accent-ink); background:var(--home-accent); }

/* Live example: a phone with a real, clickable chat */
.home-stage { position:relative; display:grid; grid-template-columns:auto 228px; gap:22px; align-items:start; }
.home-stage::before { content:''; position:absolute; z-index:0; left:-40px; top:30px; width:420px; height:560px; border-radius:50%; background:radial-gradient(closest-side,var(--home-glow),transparent); pointer-events:none; }
.home-phone { position:relative; z-index:1; width:322px; padding:9px; border-radius:50px; background:linear-gradient(155deg,#3a4335 0%,#151a13 38%,#0a0c09 62%,#262d22 100%); box-shadow:var(--home-phone-shadow),inset 0 0 0 1px rgba(255,255,255,.08); }
.home-phone::before { content:''; position:absolute; z-index:3; top:20px; left:50%; width:96px; height:27px; border-radius:20px; background:#050605; transform:translateX(-50%); }
.home-phone-screen { position:relative; display:flex; flex-direction:column; height:610px; border-radius:42px; overflow:hidden; background:
  radial-gradient(circle at 18% 22%,rgba(159,220,191,.09),transparent 42%),
  radial-gradient(circle at 85% 72%,rgba(212,233,154,.08),transparent 46%),
  linear-gradient(180deg,#141a12,#0f130d); }
html[data-theme="light"] .home-phone-screen { background:
  radial-gradient(circle at 18% 22%,rgba(255,255,255,.7),transparent 42%),
  radial-gradient(circle at 85% 72%,rgba(212,233,154,.45),transparent 46%),
  linear-gradient(180deg,#e7eed8,#dfe8cc); }
.home-chat-header { display:flex; align-items:center; gap:11px; padding:56px 14px 12px; background:rgba(22,27,20,.94); border-bottom:1px solid var(--home-line); }
html[data-theme="light"] .home-chat-header { background:rgba(255,255,255,.94); }
.home-chat-avatar { display:grid; place-items:center; width:40px; height:40px; flex-shrink:0; border-radius:50%; color:var(--home-accent-ink); background:linear-gradient(145deg,#e3f3b6,#b9d874); }
.home-chat-avatar .icon { width:20px; height:20px; }
.home-chat-header > div { min-width:0; flex:1; }
.home-chat-header strong { display:block; font-size:15px; font-weight:700; line-height:1.3; }
.home-chat-header small { display:block; font-size:12.5px; line-height:1.4; color:var(--home-faint); }
.home-chat-header button { display:grid; place-items:center; width:44px; height:44px; min-width:44px; padding:0; border:0; border-radius:14px; background:none; color:var(--home-muted); }
.home-chat-header button .icon { width:19px; height:19px; }
.home-chat-header button:hover { color:var(--home-text); background:var(--home-chip); }
.home-demo-messages { display:flex; flex:1; flex-direction:column; gap:8px; min-height:0; padding:16px 12px 10px; overflow:auto; scrollbar-width:thin; scrollbar-color:var(--home-line-strong) transparent; }
.home-chat-date { align-self:center; margin:2px 0 6px; padding:3px 11px; border-radius:999px; background:rgba(0,0,0,.28); color:#e9eee0; font-size:12px; font-weight:700; line-height:1.5; }
html[data-theme="light"] .home-chat-date { background:rgba(60,84,24,.16); color:#33461a; }
.home-demo-message { align-self:flex-start; max-width:86%; padding:9px 13px; border-radius:18px 18px 18px 6px; background:var(--home-bubble-in); color:var(--home-text); font-size:14.5px; line-height:1.5; overflow-wrap:anywhere; box-shadow:0 1px 1px rgba(0,0,0,.18); animation:home-message-in .2s ease-out both; }
.home-demo-outgoing { align-self:flex-end; border-radius:18px 18px 6px 18px; background:var(--home-bubble-out); color:var(--home-bubble-out-text); }
.home-demo-choices { display:grid; gap:6px; padding:2px 12px 10px; }
.home-demo-choices button { min-height:44px; padding:10px 12px; border:0; border-radius:13px; background:var(--home-chip); color:var(--home-text); font-size:14px!important; font-weight:700; line-height:1.35; text-align:center; transition:background .15s,transform .15s; }
html[data-theme="light"] .home-demo-choices button { color:#2f4313; background:rgba(255,255,255,.72); box-shadow:0 1px 0 rgba(46,64,22,.08); }
.home-demo-choices button:hover { background:var(--home-chip-hover); }
.home-demo-choices button:active { transform:scale(.98); }
.home-chat-input { margin:0 10px 12px!important; padding:11px 16px; border:1px solid var(--home-line); border-radius:999px; background:rgba(255,255,255,.04); color:var(--home-faint); font-size:12.5px; line-height:1.4; }
html[data-theme="light"] .home-chat-input { background:rgba(255,255,255,.8); }
.home-stage-side { position:relative; z-index:1; display:flex; flex-direction:column; gap:16px; min-width:0; padding-top:70px; }
.home-steps-card { padding:18px 18px 16px; border:1px solid var(--home-line); border-radius:22px; background:color-mix(in srgb,var(--home-surface) 88%,transparent); box-shadow:var(--home-card-shadow); }
.home-steps-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:14px; font-size:13px; font-weight:700; line-height:1.4; white-space:nowrap; }
.home-demo-badge { padding:3px 9px; border-radius:999px; background:var(--home-elevated); color:var(--home-muted); font-size:11px; font-weight:700; }
.home-flow-steps { display:flex; flex-direction:column; }
.home-flow-step { display:flex; align-items:center; gap:12px; min-height:34px; color:var(--home-faint); font-size:14px; font-weight:600; transition:color .2s; }
.home-flow-circle { display:grid; place-items:center; width:30px; height:30px; min-width:30px; border:1.5px solid var(--home-line-strong); border-radius:50%; background:var(--home-surface-2); color:var(--home-muted); font-size:12px; font-weight:800; transition:background .2s,border-color .2s,color .2s; }
.home-flow-circle svg { width:15px; height:15px; }
.home-flow-step-selected,.home-flow-complete { color:var(--home-text); }
.home-flow-step-selected .home-flow-circle { border-color:var(--home-accent); background:var(--home-accent); color:var(--home-accent-ink); box-shadow:0 0 0 5px var(--home-accent-soft); }
.home-flow-complete .home-flow-circle { border-color:var(--home-accent); background:var(--home-accent-soft); color:var(--home-link); }
.home-flow-complete .home-flow-circle svg { animation:home-check-in .2s ease-out both; }
.home-flow-join { position:relative; display:block; width:2px; height:14px; margin:3px 0 3px 14px; border-radius:2px; background:var(--home-line-strong); overflow:hidden; }
.home-flow-join::after { content:''; position:absolute; inset:0; background:var(--home-accent); transform:scaleY(0); transform-origin:top; transition:transform .25s; }
html[data-theme="light"] .home-flow-join::after { background:#8db33c; }
.home-flow-join.home-flow-passed::after { transform:scaleY(1); }
.home-demo-result[hidden] { display:none!important; }
.home-demo-result { display:flex; align-items:flex-start; gap:12px; padding:16px; border:1px solid rgba(212,233,154,.5); border-radius:22px; background:linear-gradient(160deg,rgba(212,233,154,.17),rgba(212,233,154,.03) 60%),var(--home-surface); box-shadow:0 24px 50px -28px rgba(212,233,154,.4); animation:home-result-in .3s ease-out both; }
html[data-theme="light"] .home-demo-result { border-color:#b7cf7f; background:linear-gradient(160deg,rgba(212,233,154,.5),rgba(255,255,255,.9) 65%),#fff; box-shadow:0 24px 50px -30px rgba(90,130,20,.45); }
.home-demo-result-check { display:grid; place-items:center; width:32px; height:32px; min-width:32px; border-radius:50%; background:var(--home-accent); color:var(--home-accent-ink); }
.home-demo-result-check svg { width:17px; height:17px; }
.home-demo-result-label { display:block; margin-bottom:3px; color:var(--home-link); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.home-demo-result strong { display:block; color:var(--home-text); font-size:15px; font-weight:700; line-height:1.35; }
.home-demo-result p { margin:7px 0!important; color:var(--home-text); font-size:13.5px; font-weight:600; line-height:1.5; }
.home-demo-result small { display:block; color:var(--home-muted); font-size:12px; line-height:1.5; }

/* Sections */
.home-section { padding-block:96px; }
.home-site section[id] { scroll-margin-top:84px; }
.home-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:40px; }
.home-section-heading h2,.home-faq h2,.home-care h2,.home-offer h2 { font-size:clamp(32px,3.5vw,46px); line-height:1.1; font-weight:800; letter-spacing:-.035em; text-wrap:balance; }
.home-section-heading p { max-width:620px; margin-top:14px!important; color:var(--home-muted); font-size:18px; line-height:1.6; }
.home-heading-center { justify-content:center; text-align:center; }
.home-heading-center p { margin-inline:auto; }
.home-inline-button,.home-inline-link { display:inline-flex; align-items:center; gap:9px; min-height:44px; padding:8px 0; border:0; background:none; color:var(--home-link)!important; font-size:15px!important; font-weight:700; line-height:1.4; text-decoration:none; white-space:nowrap; }
.home-inline-button svg,.home-inline-link svg { width:18px; height:18px; transition:transform .16s; }
.home-inline-button:hover > svg:last-child,.home-inline-link:hover > svg:last-child { transform:translateX(3px); }

.home-case-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.home-case { --tone:var(--home-accent); display:flex; flex-direction:column; padding:30px 28px 24px; border:1px solid var(--home-line); border-radius:26px; background:linear-gradient(180deg,var(--home-surface-2),var(--home-surface)); transition:transform .2s,border-color .2s,box-shadow .2s; }
.home-case:hover { transform:translateY(-3px); border-color:var(--home-line-strong); box-shadow:var(--home-card-shadow); }
.home-tone-mint { --tone:var(--home-mint); } .home-tone-peach { --tone:var(--home-peach); } .home-tone-sky { --tone:var(--home-sky); }
.home-case-visual { display:grid; place-items:center; width:54px; height:54px; margin-bottom:24px; border-radius:17px; color:var(--tone); background:rgba(255,255,255,.05); background:color-mix(in srgb,var(--tone) 15%,transparent); }
.home-case-visual .icon { width:26px; height:26px; }
.home-case h3 { margin-bottom:10px; font-size:22px; line-height:1.3; font-weight:800; letter-spacing:-.02em; }
.home-case p { margin-bottom:22px; color:var(--home-muted); font-size:16px; line-height:1.6; }
.home-case-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; margin-top:auto; padding:0; border:0; background:none; color:var(--home-link); font-size:15px!important; font-weight:700; text-align:left; }
.home-case-link svg { width:18px; height:18px; transition:transform .16s; }
.home-case-link:hover svg { transform:translateX(3px); }

.home-how { background:var(--home-bg-2); border-block:1px solid var(--home-line); }
.home-steps-row { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:0; padding:0; list-style:none; }
.home-steps-row::before { content:''; position:absolute; top:52px; left:60px; right:60px; height:2px; border-radius:2px; background:linear-gradient(90deg,var(--home-accent),rgba(212,233,154,.18)); }
.home-steps-row li { position:relative; z-index:1; padding:30px 28px 30px; border:1px solid var(--home-line); border-radius:26px; background:var(--home-surface); }
.home-step-number { display:grid; place-items:center; width:46px; height:46px; margin-bottom:22px; border-radius:50%; background:var(--home-accent); color:var(--home-accent-ink); font-size:19px; font-weight:800; box-shadow:0 0 0 7px var(--home-accent-soft); }
.home-steps-row h3 { margin-bottom:8px; font-size:21px; line-height:1.3; font-weight:800; letter-spacing:-.02em; }
.home-steps-row p { color:var(--home-muted); font-size:16px; line-height:1.6; }

.home-care-card { position:relative; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:48px; align-items:center; padding:52px; border:1px solid rgba(212,233,154,.22); border-radius:34px; overflow:hidden; background:
  radial-gradient(620px 340px at 0% 0%,rgba(212,233,154,.15),transparent 62%),
  radial-gradient(480px 300px at 100% 100%,rgba(159,220,191,.08),transparent 62%),
  linear-gradient(180deg,var(--home-surface-2),var(--home-surface)); }
html[data-theme="light"] .home-care-card { border-color:#d3e2b0; }
.home-status-pill { display:inline-flex; align-items:center; gap:9px; margin-bottom:20px; padding:6px 13px; border-radius:999px; background:rgba(159,220,191,.12); color:var(--home-mint); font-size:13px; font-weight:800; }
html[data-theme="light"] .home-status-pill { background:rgba(36,128,90,.1); }
.home-status-dot { width:8px; height:8px; border-radius:50%; background:currentColor; box-shadow:0 0 0 4px rgba(159,220,191,.2); }
.home-care-copy > p { margin-top:16px!important; color:var(--home-muted); font-size:18px; line-height:1.65; }
.home-care-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:0; padding:0; list-style:none; }
.home-care-list li { display:flex; align-items:flex-start; gap:14px; padding:20px; border:1px solid var(--home-line); border-radius:22px; background:rgba(255,255,255,.025); }
html[data-theme="light"] .home-care-list li { background:rgba(255,255,255,.75); }
.home-care-icon { display:grid; place-items:center; width:44px; height:44px; min-width:44px; border-radius:14px; background:var(--home-accent-soft); color:var(--home-link); }
.home-care-icon .icon { width:22px; height:22px; }
.home-care-list h3 { margin-bottom:5px; font-size:16.5px; line-height:1.35; font-weight:800; }
.home-care-list p { color:var(--home-muted); font-size:14.5px; line-height:1.55; }

.home-pricing-note { display:flex; align-items:center; justify-content:center; gap:10px; width:fit-content; max-width:100%; margin:0 auto 34px!important; padding:10px 18px; border:1px solid var(--home-line); border-radius:999px; background:var(--home-surface); color:var(--home-muted); font-size:14.5px; line-height:1.45; }
.home-pricing-note .icon { width:18px; height:18px; color:var(--home-link); }
.home-price-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:stretch; }
.home-price-card { position:relative; display:flex; flex-direction:column; padding:28px 22px 22px; border:1px solid var(--home-line); border-radius:26px; background:var(--home-surface); transition:border-color .18s,transform .18s; }
.home-price-card:hover { border-color:var(--home-line-strong); transform:translateY(-2px); }
.home-price-recommended { border:1.5px solid var(--home-accent); background:linear-gradient(180deg,rgba(212,233,154,.12),transparent 45%),var(--home-surface); box-shadow:0 30px 60px -36px rgba(212,233,154,.45); }
html[data-theme="light"] .home-price-recommended { border-color:#a9c86a; background:linear-gradient(180deg,rgba(212,233,154,.35),transparent 45%),#fff; }
.home-price-recommended:hover { border-color:var(--home-accent); }
.home-price-badge { position:absolute; top:-13px; left:22px; padding:4px 12px; border-radius:999px; background:var(--home-accent); color:var(--home-accent-ink); font-size:12px; font-weight:800; line-height:1.4; }
.home-price-card h3 { font-size:18px; line-height:1.4; font-weight:800; }
.home-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; padding:14px 0 18px; font-size:42px; line-height:1.1; font-weight:800; letter-spacing:-.04em; }
.home-price > span { color:var(--home-muted); font-size:13px; font-weight:600; letter-spacing:0; }
.home-price-card dl { display:flex; flex-direction:column; gap:10px; margin:0; padding:0 0 18px; border-bottom:1px solid var(--home-line); }
.home-price-card dl > div { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.home-price-card dt { color:var(--home-muted); font-size:14px; line-height:1.4; }
.home-price-card dd { margin:0; color:var(--home-text); font-size:16px; line-height:1.4; font-weight:800; }
.home-price-card ul { display:flex; flex:1; flex-direction:column; gap:10px; margin:0; padding:18px 0 22px; list-style:none; }
.home-price-card li { display:flex; align-items:flex-start; gap:9px; font-size:14.5px; line-height:1.5; }
.home-price-card li svg { width:16px; height:16px; margin-top:3px; color:var(--home-link); }
.home-price-card .home-button { width:100%; justify-content:space-between; min-height:48px; padding:12px 16px; border-radius:14px; font-size:14.5px!important; }
.home-price-fineprint { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:22px!important; color:var(--home-faint); font-size:13.5px; line-height:1.6; }
.home-price-fineprint button { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:4px 0; border:0; background:none; color:var(--home-link); font-size:14.5px; font-weight:700; white-space:nowrap; }
.home-price-fineprint button svg { width:17px; height:17px; }

.home-offer-section { padding-top:0; }
.home-offer { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); gap:44px; align-items:center; padding:48px; border:1px solid var(--home-line); border-radius:34px; background:
  radial-gradient(560px 320px at 100% 0%,rgba(242,197,154,.10),transparent 62%),
  linear-gradient(180deg,var(--home-surface-2),var(--home-surface)); }
.home-eyebrow { margin-bottom:12px!important; color:var(--home-peach); font-size:15px; font-weight:800; }
.home-offer-copy > p:not(.home-eyebrow) { margin:16px 0 26px!important; max-width:560px; color:var(--home-muted); font-size:18px; line-height:1.65; }
.home-offer-benefits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 22px; margin:0; padding:0; list-style:none; }
.home-offer-benefits li { display:flex; align-items:center; gap:10px; font-size:15.5px; font-weight:700; line-height:1.4; }
.home-offer-benefits svg { width:16px; height:16px; padding:4px; box-sizing:content-box; border-radius:50%; background:var(--home-accent-soft); color:var(--home-link); }
.home-offer-quote { display:flex; flex-direction:column; align-items:stretch; gap:10px; padding:30px; border:1px solid var(--home-line); border-radius:26px; background:var(--home-bg-2); }
.home-offer-quote > span { color:var(--home-muted); font-size:14px; font-weight:700; }
.home-offer-quote > strong { font-size:42px; line-height:1.1; font-weight:800; letter-spacing:-.04em; }
.home-offer-quote > p { color:var(--home-muted); font-size:15px; line-height:1.6; }
.home-offer-quote .home-button { margin-top:8px; }
.home-offer-quote > small { color:var(--home-faint); font-size:12.5px; line-height:1.55; }

.home-faq { background:var(--home-bg-2); border-top:1px solid var(--home-line); }
.home-faq-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; align-items:start; }
.home-faq-side > p { margin:16px 0 18px!important; color:var(--home-muted); font-size:17px; line-height:1.6; }
.home-faq-links { display:flex; flex-direction:column; align-items:flex-start; }
.home-faq-links svg:first-child { color:var(--home-link); }
.home-faq-list { border-top:1px solid var(--home-line); }
.home-faq details { border-bottom:1px solid var(--home-line); }
.home-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:70px; padding:18px 0; font-size:17px; font-weight:700; line-height:1.4; list-style:none; cursor:pointer; }
.home-faq summary::-webkit-details-marker { display:none; }
.home-faq summary > span { display:grid; place-items:center; width:36px; height:36px; min-width:36px; border:1px solid var(--home-line-strong); border-radius:50%; color:var(--home-muted); transition:transform .2s,background .2s,color .2s,border-color .2s; }
.home-faq summary > span .icon { width:17px; height:17px; }
.home-faq summary:hover > span { color:var(--home-text); border-color:var(--home-muted); }
.home-faq details[open] summary > span { transform:rotate(45deg); border-color:var(--home-accent); background:var(--home-accent); color:var(--home-accent-ink); }
.home-faq details > p { padding:0 56px 24px 0; color:var(--home-muted); font-size:16px; line-height:1.7; }

.home-final { padding-block:96px; }
.home-final-card { padding:76px 32px; border:1px solid rgba(212,233,154,.26); border-radius:38px; text-align:center; background:
  radial-gradient(560px 300px at 50% 0%,rgba(212,233,154,.24),transparent 70%),
  linear-gradient(180deg,var(--home-surface-2),var(--home-surface)); }
html[data-theme="light"] .home-final-card { border-color:#d3e2b0; background:radial-gradient(560px 300px at 50% 0%,rgba(212,233,154,.6),transparent 70%),#fff; }
.home-final h2 { font-size:clamp(34px,4.2vw,54px); line-height:1.08; font-weight:800; letter-spacing:-.04em; }
.home-final p { max-width:560px; margin:16px auto 30px!important; color:var(--home-muted); font-size:18px; line-height:1.6; }

.home-footer { border-top:1px solid var(--home-line); }
.home-footer-inner { display:flex; align-items:center; gap:24px; padding-block:28px 34px; }
.home-footer .home-logo { font-size:21px; }
.home-footer .home-logo > svg { width:28px; height:28px; }
.home-footer p { color:var(--home-faint); font-size:13px; }
.home-footer-inner > div { display:flex; flex-wrap:wrap; align-items:center; gap:6px 22px; margin-left:auto; }
.home-footer button,.home-footer-inner > div > a { display:inline-flex; align-items:center; min-height:44px; padding:6px 0; border:0; background:none; color:var(--home-muted); font-size:14.5px; font-weight:600; }
.home-footer button:hover,.home-footer-inner > div > a:hover { color:var(--home-text); }

/* Visible content is the fallback. The helper adds only viewport/lifecycle
   classes; every repeated motion stops off screen, on blur or reduced motion. */
.home-site .home-revealed { animation:home-section-in .65s cubic-bezier(.16,.75,.22,1) backwards; }
.home-site.home-motion-ready [data-home-motion] { --home-motion-play:paused; }
.home-site.home-motion-ready [data-home-motion].home-motion-visible { --home-motion-play:running; }
.home-site.home-motion-ready [data-home-motion],
.home-site.home-motion-ready [data-home-motion] *,
.home-site.home-motion-ready [data-home-motion]::before,
.home-site.home-motion-ready [data-home-motion]::after,
.home-site.home-motion-ready [data-home-motion] *::before,
.home-site.home-motion-ready [data-home-motion] *::after { animation-play-state:var(--home-motion-play)!important; }
.home-site.home-motion-ready.home-motion-paused *,
.home-site.home-motion-ready.home-motion-paused *::before,
.home-site.home-motion-ready.home-motion-paused *::after { animation-play-state:paused!important; }
.home-site.home-motion-reduced *,
.home-site.home-motion-reduced *::before,
.home-site.home-motion-reduced *::after,
.home-site.home-motion-static *,
.home-site.home-motion-static *::before,
.home-site.home-motion-static *::after { animation:none!important; transition:none!important; }

/* Hero arrives as a short sequence. Its text never fades below readable opacity. */
.home-motion-ready [data-home-motion="hero"].home-motion-entered > .home-tag { animation:home-copy-in .65s cubic-bezier(.16,.75,.22,1) backwards; }
.home-motion-ready [data-home-motion="hero"].home-motion-entered > h1 { animation:home-copy-in .7s .06s cubic-bezier(.16,.75,.22,1) backwards; }
.home-motion-ready [data-home-motion="hero"].home-motion-entered > .home-lead { animation:home-copy-in .7s .12s cubic-bezier(.16,.75,.22,1) backwards; }
.home-motion-ready [data-home-motion="hero"].home-motion-entered > .home-hero-actions { animation:home-copy-in .7s .18s cubic-bezier(.16,.75,.22,1) backwards; }
.home-motion-ready [data-home-motion="hero"].home-motion-entered > .home-hero-points { animation:home-copy-in .7s .24s cubic-bezier(.16,.75,.22,1) backwards; }
.home-motion-ready .home-stage.home-revealed { animation:home-product-in .85s .12s cubic-bezier(.16,.75,.22,1) backwards; }
.home-motion-ready .home-phone { animation:home-phone-float 6.8s .95s ease-in-out infinite; transform-origin:50% 70%; }
.home-site.home-motion-ready .home-phone:is(:hover,:focus-within) { animation-play-state:paused!important; }
.home-motion-ready .home-steps-card.home-motion-entered { animation:home-side-in .75s .28s cubic-bezier(.16,.75,.22,1) backwards; }

/* Three different gestures make the use cases recognisable at a glance. */
.home-motion-ready .home-case-visual { position:relative; }
.home-motion-ready [data-home-motion="case-booking"] .home-case-visual > .icon { animation:home-calendar-nod 5.2s .4s ease-in-out infinite; transform-origin:50% 30%; }
.home-motion-ready [data-home-motion="case-booking"] .home-case-visual::after {
  content:''; position:absolute; right:8px; bottom:8px; width:7px; height:11px;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(45deg); opacity:0; animation:home-booking-check 5.2s .4s ease-in-out infinite;
}
.home-motion-ready [data-home-motion="case-shop"] .home-case-visual > .icon { animation:home-cart-roll 5.8s .7s ease-in-out infinite; }
.home-motion-ready [data-home-motion="case-support"] .home-case-visual > .icon { animation:home-support-listen 5.4s .25s ease-in-out infinite; transform-origin:50% 65%; }
.home-motion-ready [data-home-motion="case-support"] .home-case-visual::after {
  content:''; position:absolute; right:8px; bottom:8px; width:3px; height:3px;
  border-radius:50%; background:currentColor; box-shadow:-5px 0 currentColor,5px 0 currentColor;
  animation:home-support-signal 5.4s .25s ease-in-out infinite;
}
.home-motion-ready .home-case:is(:hover,:focus-within) .home-case-visual { transform:translateY(-3px) scale(1.06); }
.home-motion-ready .home-case-visual { transition:transform .25s cubic-bezier(.2,.7,.2,1); }

/* Steps and plans enter once in a measured stagger. Their contents stay still. */
.home-motion-ready [data-home-motion="process"].home-motion-entered { animation:home-card-in .65s cubic-bezier(.16,.75,.22,1) backwards; }
.home-motion-ready [data-home-motion="process"]:nth-child(2).home-motion-entered { animation-delay:.09s; }
.home-motion-ready [data-home-motion="process"]:nth-child(3).home-motion-entered { animation-delay:.18s; }
.home-motion-ready [data-home-motion="price"].home-motion-entered { animation:home-card-in .7s cubic-bezier(.16,.75,.22,1) backwards; }
.home-motion-ready [data-home-motion="price"]:nth-child(2).home-motion-entered { animation-delay:.08s; }
.home-motion-ready [data-home-motion="price"]:nth-child(3).home-motion-entered { animation-delay:.16s; }
.home-motion-ready [data-home-motion="price"]:nth-child(4).home-motion-entered { animation-delay:.24s; }
.home-site .home-price-card { transition:border-color .22s,transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s; }
.home-site .home-price-card:is(:hover,:focus-within) { transform:translateY(-6px); border-color:var(--home-link); box-shadow:0 16px 35px -24px var(--home-glow); }
.home-site .home-price-card .home-button:is(:hover,:focus-visible) > svg { transform:translateX(4px); }

/* The real Telegram link keeps its target and accessible name. */
.home-motion-ready [data-home-motion="telegram"] { position:relative; gap:11px; border-radius:12px; padding:10px 12px; margin-left:-12px; }
.home-motion-ready [data-home-motion="telegram"] > .icon:first-child { animation:home-plane-flight 4.8s ease-in-out infinite; transform-origin:50% 50%; }
.home-motion-ready [data-home-motion="telegram"]:is(:hover,:focus-visible) { background:var(--home-accent-soft); }
.home-motion-ready [data-home-motion="telegram"]:is(:hover,:focus-visible) > .icon:first-child { animation-play-state:paused!important; }
.home-motion-ready [data-home-motion="telegram"]:is(:hover,:focus-visible) > svg:last-child { transform:translateX(5px); }

/* Feedback follows the actual demo stage, never a timed or simulated success. */
.home-motion-ready .home-demo-choices button { animation:home-choice-in .35s cubic-bezier(.16,.75,.22,1) backwards; }
.home-motion-ready .home-demo-choices button:nth-child(2) { animation-delay:.055s; }
.home-motion-ready .home-demo-message { animation:home-message-in .3s cubic-bezier(.16,.75,.22,1) backwards; }
.home-motion-ready .home-flow-step-selected .home-flow-circle { animation:home-step-select .55s cubic-bezier(.2,.8,.2,1) backwards; }
.home-motion-ready .home-flow-join::after { transition-duration:.45s; }
.home-motion-ready .home-demo-result { animation:none; }
.home-motion-ready .home-demo-result.home-motion-entered { animation:home-result-in .6s cubic-bezier(.16,.75,.22,1) backwards; }
.home-motion-ready .home-demo-result.home-motion-entered .home-demo-result-check { animation:home-result-check .7s .1s cubic-bezier(.16,.75,.22,1) backwards; }
.home-motion-ready .home-flow-complete .home-flow-circle svg { animation:home-check-in .4s cubic-bezier(.16,.75,.22,1) backwards; }

@keyframes home-section-in { from { transform:translateY(18px); } to { transform:none; } }
@keyframes home-copy-in { from { transform:translateY(16px); } to { transform:none; } }
@keyframes home-product-in { from { transform:translate(16px,18px) scale(.985); } to { transform:none; } }
@keyframes home-side-in { from { transform:translateX(16px); } to { transform:none; } }
@keyframes home-card-in { from { transform:translateY(24px) scale(.985); } to { transform:none; } }
@keyframes home-phone-float { 0%,100% { transform:translateY(0) rotate(.25deg); } 50% { transform:translateY(-7px) rotate(-.4deg); } }
@keyframes home-calendar-nod { 0%,12%,40%,100% { transform:none; } 20% { transform:rotate(-8deg) translateY(-2px); } 29% { transform:rotate(4deg); } }
@keyframes home-booking-check { 0%,26%,70%,100% { opacity:0; transform:rotate(45deg) scale(.5); } 36%,56% { opacity:1; transform:rotate(45deg) scale(1); } }
@keyframes home-cart-roll { 0%,12%,50%,100% { transform:none; } 24% { transform:translateX(5px) rotate(-5deg); } 34% { transform:translateX(3px) translateY(-3px) rotate(2deg); } }
@keyframes home-support-listen { 0%,15%,48%,100% { transform:none; } 25% { transform:rotate(-8deg); } 35% { transform:rotate(6deg); } }
@keyframes home-support-signal { 0%,18%,58%,100% { opacity:.3; transform:scale(.7); } 30%,42% { opacity:1; transform:scale(1); } }
@keyframes home-plane-flight { 0%,12%,55%,100% { transform:none; } 25% { transform:translate(4px,-4px) rotate(-7deg); } 38% { transform:translate(1px,-1px) rotate(3deg); } }
@keyframes home-choice-in { from { transform:translateY(7px); } to { transform:none; } }
@keyframes home-message-in { from { transform:translateY(8px) scale(.985); } to { transform:none; } }
@keyframes home-step-select { 0% { transform:scale(.86); } 60% { transform:scale(1.1); } 100% { transform:scale(1); } }
@keyframes home-result-in { from { transform:translateY(16px) scale(.97); } to { transform:none; } }
@keyframes home-result-check { 0% { transform:scale(.55) rotate(-15deg); } 58% { transform:scale(1.16) rotate(3deg); } 100% { transform:none; } }
@keyframes home-check-in { from { transform:scale(.6); } to { transform:scale(1); } }
@media(pointer:coarse) {
  @keyframes home-phone-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-4px); } }
}

@media (max-width:1180px) {
  .home-header-inner { gap:16px; }
  .home-site .home-nav a,.home-site .home-nav button { padding-inline:10px; font-size:14.5px; }
  .home-hero-grid { gap:32px; }
  .home-stage { grid-template-columns:auto 212px; gap:18px; }
  .home-phone { width:300px; }
  .home-phone-screen { height:590px; }
  .home-price-card { padding-inline:18px; }
}
@media (max-width:1060px) {
  .home-nav { display:none; }
  .home-header .home-header-actions { margin-left:auto; }
  .home-hero-grid { grid-template-columns:1fr; gap:48px; padding-block:52px 72px; }
  .home-hero-copy { max-width:720px; }
  .home-hero h1 { max-width:720px; }
  .home-stage { justify-self:center; grid-template-columns:auto 228px; }
  .home-price-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 16px; }
  .home-care-card { grid-template-columns:1fr; gap:32px; padding:40px; }
  .home-offer { grid-template-columns:1fr; gap:30px; padding:40px; }
  .home-faq-grid { grid-template-columns:1fr; gap:28px; }
}
@media (max-width:780px) {
  .home-section,.home-final { padding-block:72px; }
  .home-offer-section { padding-top:0; }
  .home-section-heading { flex-direction:column; align-items:flex-start; gap:12px; margin-bottom:30px; }
  .home-heading-center { align-items:center; }
  .home-case-list,.home-steps-row { grid-template-columns:1fr; gap:14px; }
  .home-steps-row::before { top:60px; bottom:60px; left:51px; right:auto; width:2px; height:auto; background:linear-gradient(180deg,var(--home-accent),rgba(212,233,154,.18)); }
  .home-steps-row li { display:grid; grid-template-columns:46px 1fr; column-gap:18px; padding:24px 22px; }
  .home-steps-row .home-step-number { grid-row:1/3; margin:0; }
  .home-steps-row h3 { align-self:center; }
  .home-case { padding:26px 22px 20px; }
  .home-care-list { grid-template-columns:1fr; }
  .home-offer-benefits { grid-template-columns:1fr; }
  .home-price-fineprint { flex-direction:column; align-items:flex-start; gap:8px; }
}
@media (max-width:640px) {
  .home-wrap { padding-inline:20px; }
  .home-header-inner { min-height:64px; gap:8px; }
  .home-logo { font-size:22px; gap:8px; }
  .home-logo > svg { width:30px; height:30px; }
  .home-site .home-header-cta { display:none; }
  .home-login { padding-inline:10px; }
  .home-hero-grid { padding-block:34px 56px; gap:36px; }
  .home-tag { font-size:13px; }
  .home-hero h1 { margin:20px 0 16px; font-size:clamp(36px,10.6vw,46px); letter-spacing:-.035em; }
  .home-lead { font-size:17px; }
  .home-hero-actions { flex-direction:column; align-items:stretch; margin-top:26px; }
  .home-hero-points { flex-direction:column; gap:10px; margin-top:24px; }
  .home-stage { display:flex; flex-direction:column; align-items:center; gap:14px; width:100%; }
  .home-stage::before { left:50%; top:60px; width:360px; transform:translateX(-50%); }
  .home-stage-side { display:contents; }
  .home-steps-card { order:-1; width:100%; max-width:360px; padding:14px 14px 12px; border-radius:20px; }
  .home-steps-head { margin-bottom:10px; }
  .home-flow-steps { flex-direction:row; align-items:flex-start; }
  .home-flow-step { flex:1; flex-direction:column; gap:6px; width:0; min-height:0; font-size:12px; text-align:center; }
  .home-flow-join { flex:0 0 14px; width:14px; height:2px; margin:15px 0 0; }
  .home-flow-join::after { transform:scaleX(0); transform-origin:left; }
  .home-flow-join.home-flow-passed::after { transform:scaleX(1); }
  .home-phone { width:100%; max-width:340px; }
  .home-phone-screen { height:560px; }
  .home-demo-result { width:100%; max-width:360px; }
  .home-section-heading h2,.home-faq h2,.home-care h2,.home-offer h2 { font-size:clamp(28px,8vw,34px); }
  .home-section-heading p,.home-care-copy > p,.home-offer-copy > p:not(.home-eyebrow) { font-size:16.5px; }
  .home-care-card,.home-offer { padding:28px 20px; border-radius:28px; }
  .home-offer-quote { padding:24px 20px; }
  .home-offer-quote > strong { font-size:36px; }
  .home-price-grid { grid-template-columns:1fr; gap:22px; }
  .home-price-card { padding:28px 22px 22px; }
  .home-pricing-note { border-radius:18px; text-align:left; justify-content:flex-start; }
  .home-faq summary { font-size:16px; gap:14px; }
  .home-faq details > p { padding-right:0; }
  .home-final-card { padding:52px 20px; border-radius:30px; }
  .home-final p { font-size:16.5px; }
  .home-final .home-button { width:100%; }
  .home-footer-inner { flex-wrap:wrap; gap:6px 18px; }
  .home-footer-inner > div { width:100%; margin-left:0; }
}
@media (max-width:380px) {
  .home-wrap { padding-inline:16px; }
  .home-header-inner { gap:4px; }
  .home-logo { font-size:20px; }
  .home-logo > svg { width:28px; height:28px; }
  .home-header-actions .lang-select { padding-inline:2px; max-width:46px; font-size:13px; }
  .home-login { padding-inline:8px; font-size:14px!important; }
  .home-hero h1 { font-size:34px; }
  .home-phone { padding:7px; border-radius:42px; }
  .home-phone::before { top:16px; width:84px; height:24px; }
  .home-phone-screen { height:540px; border-radius:35px; }
  .home-chat-header { padding-top:50px; }
  .home-steps-card { padding-inline:10px; }
  .home-flow-step { font-size:11px; }
  .home-flow-join { flex-basis:8px; width:8px; }
  .home-care-card,.home-offer { padding:24px 14px; }
  .home-offer-quote { padding:20px 14px; }
  .home-offer-quote > strong { font-size:31px; }
  .home-offer-quote .home-button { padding-inline:14px; font-size:14px!important; }
  .home-care-list li { padding:16px 14px; gap:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .home-site *,.home-site *::before,.home-site *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
