/* ============================================================
   RoboKids landing — white geometric design system (v2)
   Palette: ink #0f172a · blue #2f55e7 · navy #17214d · lime #c7f36b
   ============================================================ */
:root{
  --ink:#0f172a; --ink-2:#3c4763; --muted:#67718c;
  --blue:#2f55e7; --blue-dark:#1e3fbd; --navy:#17214d;
  --lime:#c7f36b; --lime-dark:#a8d94e;
  --paper:#ffffff; --alt:#f7f8fc; --line:#e7eaf3; --line-2:#d8dcea;
  --r-sm:10px; --r-md:16px; --r-lg:22px; --r-full:999px;
  --shadow-sm:0 1px 2px rgba(15,23,42,.06);
  --shadow-md:0 10px 30px rgba(23,33,77,.10);
  --shadow-lg:0 24px 60px rgba(23,33,77,.14);
  --fast:.18s ease; --normal:.3s cubic-bezier(.2,.7,.3,1);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
.container{width:100%;max-width:1160px;margin-inline:auto;padding-inline:24px}
.section{padding-block:104px}
.section--alt{background:var(--alt);border-block:1px solid var(--line)}
@media(max-width:760px){.section{padding-block:64px}}

/* scroll progress */
.scrollbar{position:fixed;top:0;left:0;right:0;height:3px;z-index:200;background:transparent}
.scrollbar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--lime));transition:width .1s linear}

.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;border-radius:0 0 10px 0;z-index:300}
.skip:focus{left:0}

/* ---------------- header ---------------- */
.header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color var(--fast),box-shadow var(--fast)}
.header.is-scrolled{border-color:var(--line);box-shadow:var(--shadow-sm)}
.header__inner{display:flex;align-items:center;gap:28px;height:72px}
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:1.15rem;letter-spacing:-.01em}
.brand__mark{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;font-weight:800}
.nav{display:flex;gap:6px;margin-left:8px}
.nav a{padding:8px 14px;border-radius:var(--r-full);font-weight:600;color:var(--ink-2);transition:background var(--fast),color var(--fast)}
.nav a:hover{background:var(--alt);color:var(--ink)}
.header__cta{margin-left:auto;display:flex;align-items:center;gap:14px}
.langs{display:flex;border:1px solid var(--line);border-radius:var(--r-full);padding:3px;background:#fff}
.langs button{border:0;background:transparent;padding:5px 10px;border-radius:var(--r-full);font-size:.78rem;font-weight:700;color:var(--muted)}
.langs button.is-active{background:var(--ink);color:#fff}
.menu{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;width:42px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.menu span{width:18px;height:2px;background:var(--ink);border-radius:2px;transition:transform var(--fast),opacity var(--fast)}
.menu[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}

/* ---------------- buttons ---------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:var(--r-full);font-weight:700;border:1px solid transparent;transition:transform var(--fast),box-shadow var(--fast),background var(--fast),border-color var(--fast)}
.btn:active{transform:translateY(1px)}
.btn--sm{padding:8px 16px;font-size:.9rem}
.btn--lg{padding:15px 28px;font-size:1.02rem}
.btn--primary{background:var(--blue);color:#fff;box-shadow:0 8px 22px rgba(47,85,231,.28)}
.btn--primary:hover{background:var(--blue-dark);box-shadow:0 10px 26px rgba(47,85,231,.36);transform:translateY(-1px)}
.btn--ghost{border-color:var(--line-2);background:#fff;color:var(--ink)}
.btn--ghost:hover{border-color:var(--ink);transform:translateY(-1px)}
.btn--dark{background:var(--ink);color:#fff}
.btn--dark:hover{background:var(--navy);transform:translateY(-1px)}
.btn--lime{background:var(--lime);color:var(--ink);box-shadow:0 8px 22px rgba(168,217,78,.4)}
.btn--lime:hover{background:var(--lime-dark);transform:translateY(-1px)}

/* ---------------- kicker / section head ---------------- */
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.kicker u{text-decoration:none;color:var(--muted);font-variant-numeric:tabular-nums;border:1px solid var(--line);border-radius:8px;padding:2px 7px;background:#fff}
.section-head{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:32px;margin-bottom:48px}
.section-head h2{margin:.5rem 0 0;font-size:clamp(1.8rem,1.2rem + 2.2vw,2.6rem);line-height:1.12;letter-spacing:-.02em;font-weight:800}
.section-head p{margin:0;color:var(--muted);font-size:1.05rem}
@media(max-width:760px){.section-head{grid-template-columns:1fr;gap:12px;margin-bottom:32px}}

/* ---------------- hero ---------------- */
.hero{position:relative;padding:88px 0 96px;overflow:hidden}
.hero__grid-bg{position:absolute;inset:0;background-image:radial-gradient(circle,var(--line-2) 1px,transparent 1px);background-size:26px 26px;mask-image:radial-gradient(700px 480px at 28% 30%,#000 0%,transparent 75%);opacity:.75;pointer-events:none}
.hero__blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.16;pointer-events:none}
.hero__blob--a{width:420px;height:420px;background:var(--blue);top:-140px;right:6%}
.hero__blob--b{width:340px;height:340px;background:var(--lime);bottom:-160px;left:-80px;opacity:.3}
.hero__grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:var(--r-full);padding:7px 16px;font-size:.82rem;font-weight:700;color:var(--ink-2);box-shadow:var(--shadow-sm)}
.eyebrow__dot{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(199,243,107,.35);animation:pulse 2.4s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 4px rgba(199,243,107,.35)}50%{box-shadow:0 0 0 8px rgba(199,243,107,.12)}}
.hero h1{margin:20px 0 16px;font-size:clamp(2.3rem,1.4rem + 3.8vw,3.7rem);line-height:1.05;letter-spacing:-.03em;font-weight:800}
.hero h1 em{font-style:normal;color:var(--blue);position:relative;white-space:nowrap}
.hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:.28em;background:var(--lime);z-index:-1;border-radius:4px}
.hero__text{max-width:33rem;color:var(--muted);font-size:1.12rem;margin:0 0 28px}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:36px}
.proof{display:flex;align-items:center;gap:22px}
.proof i{width:1px;height:34px;background:var(--line-2)}
.proof b{display:block;font-size:1.6rem;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.proof span{color:var(--muted);font-size:.88rem}

.hero__visual{position:relative}
.carousel{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:5/4;border:1px solid var(--line)}
.carousel__slides{position:absolute;inset:0}
.carousel__slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
.carousel__slide.is-active{opacity:1}
.carousel__slide img{width:100%;height:100%;object-fit:cover}
.carousel__shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 46%,rgba(10,16,38,.72));pointer-events:none}
.carousel__caption{position:absolute;left:22px;bottom:64px;color:#fff}
.carousel__caption span{font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.carousel__caption strong{display:block;font-size:1.25rem;font-weight:800;letter-spacing:-.01em}
.carousel__controls{position:absolute;left:22px;right:22px;bottom:18px;display:flex;align-items:center;justify-content:space-between}
.carousel__arrow{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.14);backdrop-filter:blur(6px);color:#fff;font-size:1rem;transition:background var(--fast)}
.carousel__arrow:hover{background:rgba(255,255,255,.3)}
.carousel__dots{display:flex;gap:8px}
.carousel__dots button{width:8px;height:8px;padding:0;border-radius:50%;border:0;background:rgba(255,255,255,.45);transition:width var(--fast),background var(--fast)}
.carousel__dots button.is-active{width:22px;border-radius:99px;background:var(--lime)}

.hero__badge{position:absolute;left:-22px;bottom:-20px;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:12px 18px}
.hero__badge span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--lime);font-weight:800}
.hero__badge b{display:block;line-height:1.2}
.hero__badge small{color:var(--muted)}
.hero__chip{position:absolute;top:26px;right:-16px;background:var(--navy);color:#fff;border-radius:var(--r-md);padding:10px 16px;box-shadow:var(--shadow-md);text-align:center}
.hero__chip b{display:block;font-size:1rem;letter-spacing:.04em}
.hero__chip small{opacity:.75;font-size:.72rem}
.float{animation:float 5.5s ease-in-out infinite}
.float-slow{animation:float 7s ease-in-out infinite reverse}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* ---------------- ticker ---------------- */
.ticker{border-block:1px solid var(--line);background:#fff;overflow:hidden;padding:16px 0}
.ticker__track{display:flex;align-items:center;gap:34px;white-space:nowrap;width:max-content;animation:ticker 30s linear infinite}
.ticker__track span{font-weight:800;letter-spacing:.16em;font-size:.85rem;color:var(--ink-2)}
.ticker__track i{color:var(--blue);font-style:normal}
.ticker:hover .ticker__track{animation-play-state:paused}
@keyframes ticker{to{transform:translateX(-50%)}}

/* ---------------- catalog ---------------- */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px}
.fchip{display:inline-flex;align-items:center;gap:9px;border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:8px 12px 8px 9px;font-weight:700;font-size:.92rem;color:var(--ink-2);transition:transform var(--fast),border-color var(--fast),box-shadow var(--fast),background var(--fast),color var(--fast)}
.fchip:hover{border-color:var(--ink-2);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.fchip__sw{width:20px;height:20px;border-radius:7px;flex:0 0 auto;box-shadow:inset 0 0 0 1px rgba(15,23,42,.06)}
.fchip__n{font-style:normal;font-size:.72rem;font-weight:800;min-width:22px;height:20px;padding:0 5px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;background:var(--alt);color:var(--muted)}
.fchip.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
.fchip.is-active .fchip__n{background:rgba(255,255,255,.16);color:#fff}
@media(max-width:520px){.fchip{padding:7px 10px 7px 7px;font-size:.86rem}.fchip__sw{width:18px;height:18px}}
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:960px){.course-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.course-grid{grid-template-columns:1fr}}
.course-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:transform var(--normal),box-shadow var(--normal),border-color var(--normal)}
.course-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--line-2)}
.course-cover{position:relative;aspect-ratio:16/9;background:var(--cover,linear-gradient(135deg,#8fa7ff,#5369e8));overflow:hidden}
.course-cover picture{position:absolute;inset:0;z-index:2}
.course-cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.course-card:hover .course-cover img{transform:scale(1.05)}
.course-cover__deco{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 82% 20%,rgba(255,255,255,.30),transparent 42%),radial-gradient(circle at 18% 88%,rgba(255,255,255,.18),transparent 46%)}
.course-cover__deco::before{content:"";position:absolute;right:-26px;bottom:-26px;width:104px;height:104px;border-radius:28px;border:2px solid rgba(255,255,255,.32);transform:rotate(18deg)}
.course-cover__deco::after{content:"";position:absolute;left:18px;top:18px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.24)}
.course-tag{z-index:3}
.course-flag{position:absolute;z-index:3;top:12px;right:12px;background:var(--lime);color:var(--ink);font-weight:800;font-size:.72rem;padding:4px 11px;border-radius:var(--r-full);box-shadow:var(--shadow-sm)}
.course-rating{display:flex;align-items:center;gap:7px}
.stars{position:relative;display:inline-block;font-size:.95rem;line-height:1;color:#d9deec;letter-spacing:2px}
.stars::before{content:"★★★★★"}
.stars>i{position:absolute;top:0;left:0;overflow:hidden;white-space:nowrap;color:#f6b12e;width:calc(var(--r)/5*100%)}
.stars>i::before{content:"★★★★★"}
.course-rating b{font-weight:800;font-size:.9rem;color:var(--ink)}
.course-rating__n{color:var(--muted);font-size:.82rem}
.course-tag{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.94);border-radius:var(--r-full);padding:5px 12px;font-size:.74rem;font-weight:800;letter-spacing:.04em;box-shadow:var(--shadow-sm)}
.course-body{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;flex:1}
.course-body h3{margin:0;font-size:1.08rem;font-weight:800;letter-spacing:-.01em;line-height:1.3}
.course-body p{margin:0;color:var(--muted);font-size:.92rem}
.course-meta{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:.85rem}
.course-meta span{color:var(--muted)}
.course-meta b{color:var(--blue);transition:transform var(--fast);display:inline-block}
.course-card:hover .course-meta b{transform:translateX(4px)}
.catalog__foot{display:flex;justify-content:center;margin-top:44px}
.catalog__more{display:flex;justify-content:center;margin-top:30px}
.catalog__count{font-style:normal;opacity:.6;font-size:.85rem;font-weight:800}

/* ---------------- showcase carousel ---------------- */
.showcase .section-head{margin-bottom:26px}
.showcase__track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:6px max(24px,calc((100% - 1160px)/2 + 24px)) 24px;scroll-padding-left:max(24px,calc((100% - 1160px)/2 + 24px))}
.showcase__track::-webkit-scrollbar{display:none}
.showcase__track>.course-card{scroll-snap-align:start;flex:0 0 300px;width:300px}
@media(max-width:520px){.showcase__track>.course-card{flex-basis:80%;width:80%}}
.showcase__controls{display:flex;align-items:center;gap:16px;margin-top:6px}
.showcase__arrow{flex:0 0 auto;width:46px;height:46px;border-radius:14px;border:1.5px solid var(--line-2);background:#fff;color:var(--ink);font-size:1.15rem;transition:transform var(--fast),background var(--fast),color var(--fast),border-color var(--fast)}
.showcase__arrow:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-2px)}
.showcase__slider{flex:1;-webkit-appearance:none;appearance:none;height:8px;border-radius:99px;background:var(--line-2);outline:none;cursor:pointer}
.showcase__slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;background:var(--blue);border:4px solid #fff;box-shadow:var(--shadow-md);cursor:grab;transition:transform var(--fast)}
.showcase__slider:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.1)}
.showcase__slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--blue);border:4px solid #fff;box-shadow:var(--shadow-md);cursor:grab}
.showcase__slider:focus-visible{box-shadow:0 0 0 4px var(--blue)}

/* ---------------- steps ---------------- */
.steps__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:960px){.steps__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.steps__grid{grid-template-columns:1fr}}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 24px;position:relative;transition:transform var(--normal),box-shadow var(--normal)}
.step:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.step__num{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--ink);color:var(--lime);font-weight:800;font-size:1.05rem;margin-bottom:16px}
.step h3{margin:0 0 8px;font-size:1.05rem;font-weight:800}
.step p{margin:0;color:var(--muted);font-size:.92rem}

/* ---------------- benefits ---------------- */
.benefits__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}
@media(max-width:900px){.benefits__grid{grid-template-columns:1fr;gap:36px}}
.benefits__intro h2{margin:.6rem 0 14px;font-size:clamp(1.8rem,1.2rem + 2.2vw,2.6rem);line-height:1.12;letter-spacing:-.02em;font-weight:800}
.benefits__intro p{color:var(--muted);font-size:1.05rem;margin:0 0 26px}
.benefit-list{display:flex;flex-direction:column}
.benefit-list article{display:flex;gap:22px;padding:24px 4px;border-bottom:1px solid var(--line);transition:padding-left var(--normal)}
.benefit-list article:hover{padding-left:14px}
.benefit-list article:first-child{border-top:1px solid var(--line)}
.benefit-list span{font-weight:800;color:var(--blue);font-variant-numeric:tabular-nums}
.benefit-list h3{margin:0 0 6px;font-size:1.08rem;font-weight:800}
.benefit-list p{margin:0;color:var(--muted);font-size:.94rem}

/* ---------------- reviews ---------------- */
.reviews__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:900px){.reviews__grid{grid-template-columns:1fr}}
.review{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;transition:transform var(--normal),box-shadow var(--normal)}
.review:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.review__stars{color:#f0b429;letter-spacing:3px;margin-bottom:14px}
.review blockquote{margin:0 0 18px;font-size:.98rem;line-height:1.65;color:var(--ink-2)}
.review figcaption b{display:block}
.review figcaption span{color:var(--muted);font-size:.85rem}

/* ---------------- cta ---------------- */
.cta__box{display:flex;align-items:center;justify-content:space-between;gap:36px;background:var(--navy);color:#fff;border-radius:26px;padding:52px 56px;position:relative;overflow:hidden}
.cta__box::before{content:"";position:absolute;right:-90px;top:-90px;width:280px;height:280px;border-radius:50%;background:var(--blue);opacity:.35;filter:blur(10px)}
.cta__box::after{content:"";position:absolute;left:32%;bottom:-120px;width:220px;height:220px;border-radius:50%;background:var(--lime);opacity:.14;filter:blur(6px)}
.cta__box>div{position:relative}
.cta__box span{font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--lime)}
.cta__box h2{margin:10px 0 8px;font-size:clamp(1.5rem,1.1rem + 1.8vw,2.2rem);letter-spacing:-.02em}
.cta__box p{margin:0;opacity:.8}
.cta__box .btn{position:relative;flex-shrink:0}
@media(max-width:760px){.cta__box{flex-direction:column;align-items:flex-start;padding:36px 28px}}

/* ---------------- contact / wizard ---------------- */
.contact__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
@media(max-width:900px){.contact__grid{grid-template-columns:1fr;gap:36px}}
.contact__intro h2{margin:.6rem 0 12px;font-size:clamp(1.7rem,1.2rem + 2vw,2.4rem);line-height:1.14;letter-spacing:-.02em;font-weight:800}
.contact__intro p{color:var(--muted);margin:0 0 24px}
.contact__points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.contact__points li{display:flex;align-items:center;gap:12px;font-weight:600;color:var(--ink-2)}
.contact__points li::before{content:"✓";flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--lime);font-size:.8rem;font-weight:800;color:var(--ink)}

.wizard{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow-md);padding:34px}
@media(max-width:560px){.wizard{padding:24px 18px}}
.wizard__progress{margin-bottom:26px}
.wizard__stepof{font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.wizard__bar{height:6px;border-radius:99px;background:var(--alt);margin-top:10px;overflow:hidden}
.wizard__bar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--blue),var(--lime));transition:width .45s cubic-bezier(.2,.7,.3,1)}
.wizard__step{border:0;margin:0;padding:0;display:none}
.wizard__step.is-active{display:block;animation:stepIn .4s cubic-bezier(.2,.7,.3,1)}
@keyframes stepIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
.wizard__step legend{font-size:1.25rem;font-weight:800;letter-spacing:-.01em;margin-bottom:20px;padding:0}
.rolegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(max-width:520px){.rolegrid{grid-template-columns:1fr}}
.rolecard{position:relative;display:flex;flex-direction:column;gap:2px;border:1.5px solid var(--line);border-radius:var(--r-md);padding:18px;cursor:pointer;transition:border-color var(--fast),box-shadow var(--fast),transform var(--fast)}
.rolecard:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.rolecard input{position:absolute;opacity:0;pointer-events:none}
.rolecard__icon{font-size:1.5rem;margin-bottom:6px}
.rolecard b{font-size:.98rem}
.rolecard small{color:var(--muted)}
.rolecard:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,85,231,.14)}
.rolecard:has(input:checked)::after{content:"✓";position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;font-size:.72rem;display:grid;place-items:center}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
.chips label{position:relative;cursor:pointer}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-block;border:1.5px solid var(--line);border-radius:var(--r-full);padding:9px 18px;font-weight:700;font-size:.92rem;color:var(--ink-2);transition:all var(--fast)}
.chips label:hover span{border-color:var(--ink)}
.chips input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.field{display:block;margin-bottom:16px}
.field>span{display:block;font-weight:700;font-size:.88rem;margin-bottom:7px;color:var(--ink-2)}
.field input,.field textarea{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;color:var(--ink);background:#fff;transition:border-color var(--fast),box-shadow var(--fast)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,85,231,.14)}
.field textarea{resize:vertical}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.field-row{grid-template-columns:1fr}}
.hp{position:absolute;left:-9999px;top:-9999px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;color:var(--muted);cursor:pointer;margin-top:4px}
.consent input{margin-top:3px;accent-color:var(--blue)}
.wizard__err{display:none;color:#d13438;font-size:.84rem;font-weight:600;margin:8px 0 0}
.wizard__err.is-visible{display:block}
.wizard__err--net{text-align:center;margin-top:14px}
.field .wizard__err{margin-top:6px}
.is-invalid input,.is-invalid textarea{border-color:#d13438 !important}
.wizard__nav{display:flex;justify-content:space-between;gap:12px;margin-top:26px}
.wizard__nav .btn:only-child{margin-left:auto}
#wizardNext,#wizardSubmit{margin-left:auto}
.btn.is-loading{position:relative;color:transparent !important;pointer-events:none}
.btn.is-loading::after{content:"";position:absolute;inset:0;margin:auto;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.wizard__success{text-align:center;padding:28px 8px}
.wizard__success-icon{width:64px;height:64px;border-radius:50%;background:var(--lime);display:grid;place-items:center;font-size:1.6rem;font-weight:800;margin:0 auto 18px;animation:pop .5s cubic-bezier(.2,.7,.3,1)}
@keyframes pop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
.wizard__success h3{margin:0 0 8px;font-size:1.4rem;letter-spacing:-.01em}
.wizard__success p{color:var(--muted);margin:0 0 22px}

/* ---------------- reviews wall (79 auto-scrolling) ---------------- */
.reviews__stat{display:inline-flex;align-items:center;gap:9px;margin-top:14px;font-weight:800;color:var(--ink-2)}
.reviews__stat b{font-size:1.1rem;color:var(--ink)}
.reviews__stat .stars{font-size:1.05rem}
.reviews__dot{opacity:.5;font-weight:400}
.rev-wall{position:relative;height:640px;overflow:hidden;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px;padding-inline:max(24px,calc((100% - 1160px)/2 + 24px));-webkit-mask-image:linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent)}
.rev-col{display:flex;flex-direction:column;gap:20px;animation:revscroll 66s linear infinite;will-change:transform}
.rev-col--2{animation-duration:84s;animation-direction:reverse}
.rev-col--3{animation-duration:74s}
@keyframes revscroll{from{transform:translateY(0)}to{transform:translateY(-50%)}}
.rev-wall:hover .rev-col{animation-play-state:paused}
.rev{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;box-shadow:var(--shadow-sm)}
.rev__top{display:flex;align-items:center;gap:12px}
.rev__ava{position:relative;width:46px;height:46px;border-radius:50%;flex:0 0 auto;overflow:hidden;display:grid;place-items:center;color:#fff;font-weight:800;font-size:.88rem;letter-spacing:.02em}
.rev__ava picture{position:absolute;inset:0}
.rev__ava img{width:100%;height:100%;object-fit:cover}
.rev__who b{display:block;font-size:.95rem;line-height:1.2}
.rev__who span{color:var(--muted);font-size:.82rem}
.rev__stars{display:inline-block;margin-top:12px;font-size:.85rem;letter-spacing:1px}
.rev__text{margin:8px 0 0;color:var(--ink-2);font-size:.94rem;line-height:1.6}
@media(max-width:900px){.rev-wall{grid-template-columns:repeat(2,1fr);height:600px}.rev-col--3{display:none}}
@media(max-width:600px){.rev-wall{grid-template-columns:1fr;height:560px}.rev-col--2{display:none}}
@media(prefers-reduced-motion:reduce){.rev-wall{height:auto;overflow:visible;-webkit-mask-image:none;mask-image:none}.rev-col{animation:none}.rev-col--2,.rev-col--3{display:none}}

/* ---------------- reviews CTA + modal ---------------- */
.reviews__cta{display:flex;justify-content:center;margin-top:40px}
.modal[hidden]{display:none}
.modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}
.modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(3px);animation:mfade .2s ease}
.modal__card{position:relative;z-index:1;background:#fff;border-radius:24px;max-width:460px;width:100%;padding:38px 34px 32px;text-align:center;box-shadow:0 30px 80px rgba(15,23,42,.32);animation:mpop .28s cubic-bezier(.2,.7,.3,1)}
.modal__card:focus{outline:none}
@keyframes mfade{from{opacity:0}to{opacity:1}}
@keyframes mpop{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
.modal__x{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:1.4rem;line-height:1;transition:background var(--fast),color var(--fast)}
.modal__x:hover{background:var(--alt);color:var(--ink)}
.modal__icon{display:inline-grid;place-items:center;width:66px;height:66px;border-radius:20px;background:rgba(47,85,231,.12);color:var(--blue);margin-bottom:18px}
.modal__card h3{margin:0 0 10px;font-size:1.3rem;font-weight:800;letter-spacing:-.01em;line-height:1.25}
.modal__card p{margin:0;color:var(--muted);line-height:1.6}
.modal__actions{display:flex;gap:10px;justify-content:center;margin-top:24px;flex-wrap:wrap}
@media(max-width:420px){.modal__actions .btn{width:100%}}

/* ---------------- legal pages ---------------- */
.legalbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.legalbar__in{display:flex;align-items:center;justify-content:space-between;height:64px}
.legal{max-width:820px;margin:0 auto;padding:52px 24px 80px}
.legal__eyebrow{display:inline-block;font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.legal h1{font-size:clamp(1.8rem,1.3rem + 2vw,2.4rem);letter-spacing:-.02em;margin:0 0 6px;font-weight:800}
.legal__upd{color:var(--muted);margin:0 0 34px;font-size:.9rem}
.legal h2{font-size:1.2rem;margin:34px 0 10px;letter-spacing:-.01em;font-weight:800}
.legal p,.legal li{color:var(--ink-2);line-height:1.7}
.legal ul{padding-left:20px;margin:8px 0}
.legal li{margin:4px 0}
.legal a{color:var(--blue);text-decoration:underline}
.legal__note{margin-top:40px;padding:16px 18px;background:var(--alt);border:1px solid var(--line);border-radius:14px;color:var(--muted);font-size:.9rem}

/* ---------------- footer ---------------- */
.footer{position:relative;background:var(--navy);color:#c4cbe6;padding-top:72px;overflow:hidden}
.footer__accent{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--lime))}
.footer::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.05) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(600px 300px at 85% 0%,#000,transparent 70%);pointer-events:none}
.footer>.container{position:relative}
.brand--light{color:#fff}

.footer__top{display:grid;grid-template-columns:1.5fr 2.5fr;gap:56px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.1)}
@media(max-width:900px){.footer__top{grid-template-columns:1fr;gap:40px}}
.footer__about{color:#8b95bd;max-width:24rem;margin:16px 0 22px;font-size:.95rem;line-height:1.6}

.footer__socials{display:flex;gap:10px}
.footer__socials a{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:#c4cbe6;transition:transform var(--fast),background var(--fast),color var(--fast),border-color var(--fast)}
.footer__socials a:hover{transform:translateY(-3px);background:var(--blue);border-color:var(--blue);color:#fff}

.footer__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
@media(max-width:640px){.footer__cols{grid-template-columns:1fr 1fr;gap:28px 20px}}
.footer__col{display:flex;flex-direction:column}
.footer__col strong{color:#fff;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}
.footer__col a,.footer__col span{padding:5px 0;color:#a8b0d3;font-size:.94rem;transition:color var(--fast),padding-left var(--fast)}
.footer__col a{width:fit-content}
.footer__col a:hover{color:#fff;padding-left:5px}
.footer__contactcta{color:var(--lime)!important;font-weight:700;margin-top:6px;display:inline-flex;align-items:center;gap:6px}
.footer__contactcta b{transition:transform var(--fast)}
.footer__contactcta:hover b{transform:translateX(4px)}

.footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:24px;font-size:.86rem;color:#8b95bd;flex-wrap:wrap}
.footer__legal{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.footer__legal a{color:#a8b0d3;transition:color var(--fast)}
.footer__legal a:hover{color:#fff}
.footer__dot{opacity:.5}
.footer__made{font-weight:600;color:#a8b0d3}
@media(max-width:640px){.footer__bottom{flex-direction:column;align-items:flex-start;gap:12px}}

/* ---------------- reveal on scroll ---------------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.reveal[data-delay="1"]{transition-delay:.08s}
.reveal[data-delay="2"]{transition-delay:.16s}
.reveal[data-delay="3"]{transition-delay:.24s}
.reveal[data-delay="4"]{transition-delay:.32s}
.reveal.is-in{opacity:1;transform:none}

/* ---------------- responsive header/hero ---------------- */
@media(max-width:900px){
  .hero__grid{grid-template-columns:1fr;gap:44px}
  .hero{padding:56px 0 72px}
  .hero__badge{left:10px;bottom:-18px}
  .hero__chip{right:6px;top:-14px}
}
@media(max-width:820px){
  .nav{position:fixed;inset:72px 0 auto 0;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-lg);flex-direction:column;padding:16px 24px 22px;gap:4px;transform:translateY(-130%);transition:transform var(--normal);z-index:90}
  .nav.is-open{transform:none}
  .nav a{padding:12px 14px}
  .menu{display:flex}
  .header__cta .btn{display:none}
}

/* ---------------- reduced motion ---------------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important}
  .reveal{opacity:1;transform:none}
  .ticker__track{animation:none}
}
