@import url("./tokens.css");
@font-face{font-family:"DM Sans";src:url("./dm-sans.ttf") format("truetype");font-weight:100 1000;font-style:normal;font-display:swap}
:root{
  --ground:var(--mc-ground);--ground-tint:var(--mc-ground-tint);--surface:var(--mc-surface);
  --ink:var(--mc-ink);--ink-soft:var(--mc-ink-soft);--ink-faint:var(--mc-ink-soft);
  --line:var(--mc-line);--red:var(--mc-red);--red-deep:var(--mc-red-deep);--red-tint:var(--mc-red-tint);--kicker:var(--mc-red-deep);
  --disp:"DM Sans",system-ui,sans-serif;--body:"DM Sans",system-ui,sans-serif;
  --sh-card:var(--mc-shadow-card);--sh-float:var(--mc-shadow-float);--sh-cta:var(--mc-shadow-cta);
  --n-ground:var(--mc-ground);--n-surface:var(--mc-surface);--n-surface2:var(--mc-surface-2);
  --n-text:var(--mc-ink);--n-text-soft:var(--mc-ink-soft);--n-line:var(--mc-line);--n-red:var(--mc-red);
}
body{font-family:var(--body);font-size:17px;line-height:1.6}
section{padding:72px 0}
h1,.h-xl{font-size:clamp(34px,4vw,52px);font-weight:700;line-height:1.12;letter-spacing:-.03em}
.h-lg{font-size:clamp(28px,3vw,38px);font-weight:700;line-height:1.2;letter-spacing:-.02em}
.h-md{font-size:clamp(24px,2.5vw,30px);font-weight:700;line-height:1.25;letter-spacing:-.02em}
.kicker{font-size:14px;letter-spacing:.06em;margin-bottom:16px}
.sub{font-size:18px;line-height:1.6;margin-top:20px}
.btn,.nav-cta{min-height:56px;justify-content:center;border-radius:12px;white-space:normal;text-align:center;line-height:1.4;box-shadow:none}
.btn-red,.nav-cta{color:var(--mc-on-primary)}
.btn:hover,.nav-cta:hover{transform:none}
.btn-ghost{border-color:var(--mc-control-line)}
nav.bar{border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--sh-card);min-height:76px;height:auto;padding:10px 14px 10px 24px}
.brand .word,.brand .word b{color:var(--ink);font-weight:700}
.navlinks a{min-height:48px;display:flex;align-items:center;border-radius:12px}
.hero{padding-top:140px}
.hero-grid{grid-template-columns:1.05fr 1fr;gap:48px}
.hero .sub{margin-bottom:24px}
.hero-phone{width:100%;margin:0;}
.hero-phone>.phone,.hero-phone>.float-chip{display:none}
.family-photo{width:100%;height:440px;object-fit:cover;border-radius:32px}
.family-caption{color:var(--ink-soft);font-size:14px;line-height:1.5;margin-top:14px}
.hero-chips{margin-top:24px;gap:8px}
.chip{border-radius:12px;box-shadow:none;border:1px solid var(--line);padding:10px 12px;font-size:14px}
.hero-note{line-height:1.5}
.manifesto p{font-size:clamp(24px,3vw,36px);font-weight:600;line-height:1.3}
.stat .n{font-size:40px;font-weight:700}
.plan .price{font-size:40px;font-weight:700}
.feat,.ecard,.plan,.step{border-radius:24px}
.feat h3,.step h3,.ecard h3{font-weight:600;line-height:1.35}
.cta-fine{color:var(--mc-on-primary);font-size:14px}
.tick-track{animation:none;flex-wrap:wrap;justify-content:center}
.tick-track span{font-size:14px}
html.js .rv{opacity:1;transform:none;transition:none}
a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:4px}
#totop{border:1px solid var(--line);border-radius:12px}
#totop{background:var(--surface);color:var(--ink)}
#totop path{stroke:currentColor}
#theme-toggle{display:grid;place-items:center;flex-shrink:0;width:48px;min-height:48px;border:1px solid var(--mc-control-line);border-radius:12px;background:var(--surface);color:var(--ink);cursor:pointer}
.chip,.btn-white{background:var(--surface);color:var(--ink)}
.cta-card,.cta-card .sub,.cta-fine,.plan .badge,.step .num{color:var(--mc-on-primary)}
.cta-steps span{border-radius:12px;background:transparent;border-color:var(--mc-on-primary)}
.cta-steps b{background:var(--surface);color:var(--ink)}
.pricing-soon{font-size:24px;font-weight:600;color:var(--ink);line-height:1.3}
.checks .ck path{stroke:var(--red)}
.powered-by{opacity:1}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr;gap:32px}.family-photo{height:300px}.hero-phone{max-width:640px;margin:0}.hero{padding-top:128px}}
@media(max-width:460px){section{padding:48px 0}.wrap{padding:0 20px}.hero{padding-top:120px}nav.bar{padding:10px 12px;gap:8px}.brand .word{font-size:18px}.nav-cta{font-size:14px;padding:10px;min-height:48px;max-width:110px}.btn{width:100%;padding:16px 20px}.family-photo{height:240px;border-radius:24px}.hero-grid{gap:28px}.hero-note{font-size:14px}.chip{font-size:13px}.navwrap{top:10px;padding:0 10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
