/* Shared tokens and interaction primitives, scoped to the approved page family. */
.rcv-page { --rcv-ink:#18112e; --rcv-muted:#686079; --rcv-line:#e8e1f3; --rcv-violet:#6829ef; --rcv-soft:#f8f6ff; --rcv-night:#110b27; --rcv-mint:#108c67; background:#fff; }
.rcv { color:var(--rcv-ink); background:#fff; font-size:18px; line-height:1.65; }
.rcv *, .rcv *::before, .rcv *::after { box-sizing:border-box; }
.rcv [hidden] { display:none!important; }
.rcv-wrap { width:min(100%,1264px); padding-inline:32px; margin-inline:auto; }
.rcv-section { padding-block:76px; }
.rcv h1,.rcv h2,.rcv h3,.rcv h4 { color:inherit; font-family:var(--rc-font); }
.rcv h1 { font-size:clamp(40px,4.1vw,60px); font-weight:750; line-height:1.08; letter-spacing:-.045em; margin:0 0 24px; }
.rcv h2 { font-size:clamp(28px,2.7vw,38px); font-weight:700; line-height:1.18; letter-spacing:-.035em; margin:0 0 16px; }
.rcv h3 { font-size:20px; font-weight:650; line-height:1.35; letter-spacing:-.02em; margin:0 0 12px; }
.rcv p { margin:0 0 16px; }
.rcv-heading { margin-bottom:38px; }
.rcv-heading p,.rcv-lead,.rcv-muted { color:var(--rcv-muted); }
.rcv-lead { font-size:19px; line-height:1.7; max-width:56ch; }
.rcv-kicker { display:block; margin-bottom:22px; font-size:14px; line-height:1.4; font-weight:700; letter-spacing:.1em; color:var(--rcv-violet); text-transform:uppercase; }
.rcv-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.rcv-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:14px 22px; min-height:48px; border:1px solid transparent; border-radius:10px; background:var(--rcv-violet); color:#fff; font:650 16px/1.4 var(--rc-font); text-align:center; cursor:pointer; transition:background .18s,box-shadow .18s,transform .18s; text-decoration:none; }
.rcv-btn:hover { background:#5320cf; color:#fff; text-decoration:none; box-shadow:0 8px 22px #6829ef20; transform:translateY(-1px); }
.rcv-btn--secondary { color:#5220be; background:transparent; border-color:#ab8be4; }
.rcv-btn--secondary:hover { color:#4214bc; background:#f2ecff; }
.rcv-btn--white { background:#fff; color:#4e21b6; }
.rcv-btn--white:hover { background:#f4edff; color:#3f1799; }
.rcv-btn--outline-light { background:transparent; border-color:#c6b1ff80; color:#fff; }
.rcv a:focus-visible,.rcv button:focus-visible,.rcv input:focus-visible,.rcv summary:focus-visible { outline:3px solid #9566fa; outline-offset:5px; }
.rcv-svg { display:inline-block; flex:none; width:24px; height:24px; vertical-align:middle; }
.rcv-btn .rcv-svg { width:19px; height:19px; }
.rcv-icon { display:inline-grid; place-items:center; width:48px; height:48px; border:1px solid #ece4fa; border-radius:14px; background:#fbf9ff; color:var(--rcv-violet); flex:none; }
.rcv-icon .rcv-svg { width:27px; height:27px; }
.rcv-checklist { list-style:none; padding:0; margin:0; }
.rcv-checklist li { display:flex; gap:10px; margin:0 0 12px; align-items:flex-start; }
.rcv-checklist .rcv-svg { width:16px; height:16px; color:var(--rcv-violet); margin-top:4px; }
.rcv-faq { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 24px; }
.rcv-faq details { border:1px solid var(--rcv-line); border-radius:12px; background:#fdfcff; align-self:start; }
.rcv-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px; cursor:pointer; list-style:none; font-size:16px; font-weight:600; line-height:1.5; }
.rcv-faq summary::-webkit-details-marker { display:none; }
.rcv-faq summary .rcv-svg { width:17px; height:17px; color:var(--rcv-violet); transition:transform .2s; }
.rcv-faq details[open] summary .rcv-svg { transform:rotate(180deg); }
.rcv-faq details p { margin:0; padding:0 20px 22px; font-size:16px; line-height:1.7; color:var(--rcv-muted); }
.rcv-cta { padding-top:10px; padding-bottom:44px; }
.rcv-cta__inner { display:flex; align-items:center; gap:28px; padding:38px 40px; border-radius:18px; background:radial-gradient(ellipse at 8% 110%,#8641ec75,transparent 48%),linear-gradient(120deg,#32116b,#5d20df 70%,#341075); color:#fff; }
.rcv-cta__mark { width:70px; height:70px; display:grid; place-items:center; border:1px solid #b89be78a; border-radius:22px; background:#ffffff10; flex:none; }
.rcv-cta__mark .rcv-svg { width:36px; height:36px; }
.rcv-cta__copy { flex:1; min-width:0; }
.rcv-cta__copy h2 { font-size:28px; margin:0 0 10px; max-width:24ch; }
.rcv .rcv-cta__copy h2 { color:#fff; }
.rcv-cta__copy p { font-size:16px; line-height:1.6; color:#e2d4fd; margin:0; }
.rcv-cta .rcv-actions { flex:none; }
.rcv-audio { --audio-bg:#fff; --audio-ink:#271547; --audio-accent:#7134e8; padding:14px 17px; border-radius:14px; border:1px solid #e5daf6; background:var(--audio-bg); color:var(--audio-ink); scroll-margin-top:100px; }
.rcv-audio__title { display:block; font-size:14px; line-height:1.5; font-weight:600; margin-bottom:8px; }
.rcv-audio audio { width:100%; }
.rcv-audio.is-enhanced audio { display:none; }
.rcv-audio__custom { display:flex; align-items:center; gap:12px; }
.rcv-audio__toggle { display:grid; place-items:center; width:36px; height:36px; flex:none; padding:0; border:0; border-radius:50%; background:var(--audio-accent); color:#fff; cursor:pointer; }
.rcv-audio__toggle .rcv-svg { width:21px; height:21px; }
.rcv-audio__time { font-size:13px; font-variant-numeric:tabular-nums; flex:none; }
.rcv-audio__track { position:relative; flex:1; min-width:40px; height:34px; }
.rcv-audio canvas { width:100%; height:34px; display:block; }
.rcv-audio input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:.01; cursor:pointer; }
.rcv-audio__track:focus-within { outline:2px solid #8853e0; border-radius:4px; outline-offset:3px; }
.rcv-audio__error { display:block; font-size:14px; line-height:1.5; margin-top:9px; color:#9d2451; }
.rcv section[id] { scroll-margin-top:100px; }
.rcv-page .rc-header__inner,.rcv-page .rc-footer>.rc-wrap { max-width:1264px; padding-inline:32px; }
.rcv-page .rc-header { border-color:#eae5f2; }
.rcv-page .rc-header .rc-btn { border-radius:9px; font-size:14px; padding:11px 16px; }
.rcv-page .rc-nav__link { font-size:15px; }
.rcv-page .rc-nav { margin-left:auto; }
.rcv-page .rc-header__cta { margin-left:20px; }
.rcv-page .rc-logo { font-size:19px; }
.rcv-page .rc-footer { border-top:1px solid var(--rcv-line); padding-top:42px; background:#fff; }
.rcv-page .rc-footer__cols { gap:25px; }
.rcv-page .rc-footer p,.rcv-page .rc-footer li a { font-size:14px; }
.rcv-page .rc-footer__cols h4,.rcv-page .rc-footer__hint,.rcv-page .rc-footer__bottom { font-size:13px; }
.rcv-page .rc-footer__note { font-size:14px!important; }
.rcv-page-solution .rc-footer { color:var(--rcv-muted); }
.rcv-page-solution .rc-footer h4,.rcv-page-solution .rc-footer .rc-logo { color:var(--rcv-ink); }
.rcv-page-solution .rc-footer a,.rcv-page-solution .rc-footer p,.rcv-page-solution .rc-footer__hint { color:var(--rcv-muted); }
.rcv-page-solution .rc-footer a:hover { color:var(--rcv-violet); }
.rcv-page-solution .rc-footer__bottom { border-color:var(--rcv-line); }
.rcv-dental .rcv-cta,.rcv-pricing .rcv-cta { width:100%; max-width:none; padding-block:0; background:radial-gradient(ellipse at 8% 110%,#8641ec75,transparent 48%),linear-gradient(120deg,#32116b,#5d20df 70%,#341075); }
.rcv-dental .rcv-cta__inner,.rcv-pricing .rcv-cta__inner { max-width:1200px; margin-inline:auto; padding-inline:0; border-radius:0; background:none; }
.rcv-page-solution .rc-header { background:#110b27f5; border-color:#ffffff0c; }
.rcv-page-solution .rc-header .rc-logo,.rcv-page-solution .rc-nav__link { color:#fff; }
.rcv-page-solution .rc-nav__link:hover { color:#fff; background:#ffffff10; }
.rcv-page-solution .rc-header__demo { background:transparent; color:#e9dcff; border-color:#ffffff25; }
.rcv-page-solution .rc-burger span { background:#fff; }
.rcv-page-dental .rc-footer,.rcv-page-pricing .rc-footer { background:#120d25; color:#ccc4db; border:0; }
.rcv-page-dental .rc-footer h4,.rcv-page-pricing .rc-footer h4,.rcv-page-dental .rc-footer a,.rcv-page-pricing .rc-footer a { color:#eee8fb; }
.rcv-page-dental .rc-footer p,.rcv-page-pricing .rc-footer p,.rcv-page-dental .rc-footer__hint,.rcv-page-pricing .rc-footer__hint { color:#ccc4db; }
@media(max-width:1100px) { .rcv-cta__inner { flex-wrap:wrap; }.rcv-cta .rcv-actions { width:100%; padding-left:98px; }.rcv-page .rc-header__cta { margin-left:auto; } }
@media(max-width:767px) { .rcv-wrap { padding-inline:22px; }.rcv-section { padding-block:52px; }.rcv h1 { font-size:40px; line-height:1.08; }.rcv h2 { font-size:28px; }.rcv-lead { font-size:18px; }.rcv-heading { margin-bottom:28px; }.rcv-faq { grid-template-columns:1fr; gap:10px; }.rcv-faq summary { padding:18px; }.rcv-cta__inner { padding:28px 24px; gap:20px; }.rcv-cta__mark { width:52px; height:52px; border-radius:16px; }.rcv-cta__mark .rcv-svg { width:28px; height:28px; }.rcv-cta__copy { flex-basis:100%; }.rcv-cta__copy h2 { font-size:26px; }.rcv-cta .rcv-actions { padding:0; }.rcv-cta .rcv-btn { width:100%; }.rcv-page .rc-header__inner,.rcv-page .rc-footer>.rc-wrap { padding-inline:22px; }.rcv-page .rc-header .rc-btn { padding:10px 12px; }.rcv-page .rc-logo { font-size:16px; }.rcv-page .rc-header__inner { gap:10px; }.rcv-audio { padding:13px; }.rcv-audio__custom { gap:8px; } }
@media(prefers-reduced-motion:reduce) { .rcv * { scroll-behavior:auto!important; transition:none!important; animation:none!important; }.rcv-btn:hover { transform:none; } }
