/* fonts are loaded in tokens.css (Soyuz Grotesk @font-face + Montserrat/Caveat @import) */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);font-family:var(--font-body);color:var(--ink);-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration:none}
::selection{background:var(--marker);color:var(--ink)}
[data-lucide]{stroke-width:2}
img{max-width:100%;display:block}
.wrap{max-width:1220px;margin:0 auto;padding:0 26px}
.wrap-narrow{max-width:1040px;margin:0 auto;padding:0 26px}
.wrap-narrower{max-width:840px;margin:0 auto;padding:0 26px}

@keyframes floaty{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-16px) rotate(6deg)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes wapulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes marq{to{transform:translateX(-50%)}}
/* sowieso living-gradient recipe: animate background-position around a slightly oversized gradient */
@keyframes gradient-shift{0%{background-position:50% 50%}25%{background-position:0% 0%}50%{background-position:50% 50%}75%{background-position:100% 100%}100%{background-position:50% 50%}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001s!important}}

/* ---------- SVG bee (replaces emoji everywhere; sized by context font-size) ---------- */
svg.bee{width:1.15em;height:auto;display:inline-block;vertical-align:-.18em}

/* ---------- living background + grain + progress ---------- */
.app-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(121deg,#DAD3FB -12%,var(--cream) 44%,#F1EEFD 76%,#E6F5BE 112%);background-size:150% 150%;background-position:50% 50%;animation:gradient-shift 14s ease infinite}
.grain{position:fixed;inset:0;z-index:9997;pointer-events:none;mix-blend-mode:multiply;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.progress-track{position:fixed;top:0;left:0;right:0;height:3px;z-index:9999;background:transparent}
.progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--brand),var(--honey))}

/* ---------- page-transition wipe ---------- */
.wipe{position:fixed;inset:0;z-index:9998;background:var(--brand);display:grid;place-items:center;transform:translateY(103%);pointer-events:none;font-size:64px}
html.wiped .wipe{transform:translateY(0)}

/* ---------- announcement ---------- */
.announcement{background:var(--brand-deep);color:#fff;text-align:center;font:600 13px var(--font-body);padding:9px 16px;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;gap:8px}

/* ---------- nav ---------- */
.nav-outer{position:sticky;top:0;z-index:60}
.nav{transition:all .3s var(--ease);padding:15px 0;border-bottom:1px solid transparent}
.nav.scrolled{padding:9px 0;background:rgba(246,243,236,.9);box-shadow:0 8px 28px rgba(52,38,110,.09);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:var(--sand-border)}
.nav-row{max-width:1220px;margin:0 auto;padding:0 26px;display:flex;align-items:center;gap:22px;position:relative}
.logo{display:flex;align-items:center;gap:11px;color:var(--ink)}
.logo-mark{width:40px;height:40px;border-radius:13px;background:var(--brand);border:2px solid var(--ink);display:grid;place-items:center;font-size:20px;box-shadow:0 5px 14px -5px rgba(52,38,110,.45);transform:rotate(-4deg)}
/* real brand logo + mascots (SVG) */
.logo-img{width:46px;height:46px;display:block}
.logo-word-img{height:23px;width:auto;display:block}
@media(max-width:640px){.logo-word-img{height:20px}}

/* ---------- preloader (initial-load splash; logo stays calm, only a gentle float + bar) ---------- */
.preloader{position:fixed;inset:0;z-index:10000;background:var(--cream);display:grid;place-items:center;transition:opacity .55s var(--ease),visibility .55s}
.preloader.done{opacity:0;visibility:hidden;pointer-events:none}
.pl-box{display:flex;flex-direction:column;align-items:center;gap:18px;animation:pl-pop .55s var(--ease) both}
.pl-mark{width:78px;height:78px;animation:pl-float 2.4s ease-in-out infinite}
.pl-word{width:150px;height:auto}
.pl-bar{width:130px;height:4px;border-radius:4px;background:var(--brand-soft);overflow:hidden}
.pl-bar span{display:block;height:100%;width:42%;border-radius:4px;background:var(--brand);animation:pl-slide 1.05s ease-in-out infinite}
@keyframes pl-pop{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
@keyframes pl-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes pl-slide{0%{transform:translateX(-115%)}100%{transform:translateX(330%)}}
@media(prefers-reduced-motion:reduce){.pl-mark,.pl-bar span{animation:none}}
.mascot{display:block;width:100%;height:auto}
.mascot-float{animation:floaty 5.5s ease-in-out infinite;filter:drop-shadow(3px 5px 3px rgba(0,0,0,.16))}
.review-shot{flex:0 0 322px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:16px 18px;align-self:center}
.review-shot img{width:100%;height:auto;display:block}
.logo-word{font:800 25px var(--font-display);letter-spacing:-.02em}
.navmenu{margin-left:auto;display:flex;align-items:center;gap:28px}
.navlink{color:var(--ink-soft);font:700 15px var(--font-body);padding:4px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.navlink:hover{color:var(--ink);border-bottom-color:var(--brand)}
.menu-cta{display:none;align-items:center;justify-content:center;gap:8px;background:var(--brand);color:#fff;border:1.5px solid var(--ink);border-radius:12px;padding:12px;font:800 15px var(--font-body);margin-top:6px}
/* a11y utilities */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:focus-visible{outline:2.5px solid var(--brand);outline-offset:2px}
.lang-toggle{display:inline-flex;border:1.5px solid var(--ink);border-radius:var(--r-pill);overflow:hidden;font:700 13px var(--font-body);user-select:none}
.lang-toggle span,.lang-toggle button{padding:7px 13px;cursor:pointer;transition:background .2s,color .2s;appearance:none;border:0;background:none;color:inherit;font:inherit;line-height:1}
.lang-toggle button:focus-visible{outline-offset:-2px}
.menu-toggle{display:none;width:44px;height:44px;border-radius:12px;border:1.5px solid var(--ink);background:#fff;place-items:center;cursor:pointer;color:var(--ink)}

/* ---------- buttons (sticker recipe: 2px ink border + hard offset shadow, zero blur) ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;border-radius:var(--r-pill);font:800 16px var(--font-body);cursor:pointer;border:none;text-decoration:none}
.btn-primary{background:var(--brand);color:#fff;border:2px solid var(--ink);padding:14px 24px;box-shadow:var(--shadow-sticker-md);transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 28px -10px rgba(52,38,110,.5);color:#fff}
.btn-primary:active{transform:translateY(0);box-shadow:0 5px 14px -6px rgba(52,38,110,.4)}
.btn-dark{background:var(--ink);color:var(--accent);padding:14px 22px;transition:transform .18s}
.btn-dark:hover{transform:translateY(-2px);color:var(--accent)}
.btn-outline{background:#fff;color:var(--ink);border:2px solid var(--ink);padding:14px 22px;transition:background .2s}
.btn-outline:hover{background:var(--brand-soft)}
.btn-ghost{color:var(--ink);font:700 16px var(--font-body);border-bottom:2px solid #CFC5F0;padding:6px 2px;border-radius:0;transition:border-color .2s}
.btn-ghost:hover{border-color:var(--brand)}
.btn-whatsapp{background:var(--whatsapp);color:#fff;border:2px solid var(--ink);padding:12px 18px;font:800 15px var(--font-body);box-shadow:var(--shadow-sticker-sm)}
.btn-sm{padding:9px 15px;font-size:14px}

/* ---------- chips/tags ---------- */
.chip{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1.5px solid var(--sand-border);border-radius:var(--r-pill);padding:9px 15px;font:700 14px var(--font-body)}
.tag{border-radius:8px;padding:4px 10px;font:800 12px var(--font-body)}
.tag-en{background:var(--brand-soft);border:1.5px solid var(--sand-border-2);color:var(--brand-deep)}
.tag-exam{background:var(--ink);color:var(--lavender)}
.tag-vienna{background:var(--honey);color:var(--ink)}

/* ---------- icon holders ---------- */
.icon-box{border-radius:15px;background:var(--brand-soft);border:1.5px solid var(--sand-border-2);display:grid;place-items:center;color:var(--brand)}
.icon-box-dark{border-radius:12px;border:1.5px solid var(--night-3);background:var(--ink);display:grid;place-items:center;color:var(--lavender)}

/* ---------- trust marquee ---------- */
.marquee-wrap{background:var(--night);color:var(--night-text-soft);padding:16px 0;overflow:hidden;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.marquee-track{display:flex;width:max-content;animation:marq 26s linear infinite}
.marquee-seg{display:flex;align-items:center;gap:34px;padding-right:34px;font:800 16px var(--font-display);letter-spacing:.02em;white-space:nowrap}
.marquee-seg .dot{color:#6B5FA8}
.marquee-seg .lead{color:var(--honey)}

/* ---------- sections ---------- */
section{position:relative}
.section-pad{padding:94px 0}
.eyebrow{font:700 25px var(--font-accent);color:var(--clay)}
.h2{font:800 clamp(30px,4vw,48px)/1.05 var(--font-display);letter-spacing:-.02em;margin:6px 0 0}

/* ---------- hero ---------- */
.hero{position:relative;padding:66px 0 96px;overflow:hidden}
.hero-blob{position:absolute;border-radius:50%;pointer-events:none}
/* ---- brand doodles (hand-drawn graphic elements) ---- */
.doodle{position:absolute;pointer-events:none;user-select:none;z-index:2;opacity:var(--dop,.5)}
.doodle svg{display:block;width:100%;height:100%;overflow:visible}
.doodle-fill svg path{fill:currentColor}
.doodle-float{animation:doodFloat 7s ease-in-out infinite}
@keyframes doodFloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(3deg)}}
/* trim-path draw-on (stroke reveals itself) */
.doodle-draw svg path{fill:none;stroke:currentColor;stroke-width:6.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.doodle-draw.drawn svg path{animation:doodDraw 1.75s cubic-bezier(.16,1,.3,1) forwards}
@keyframes doodDraw{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.doodle-float{animation:none}.doodle-draw svg path{stroke-dashoffset:0}}
@media(max-width:760px){.doodle.hide-sm{display:none!important}}
.hero-grid{max-width:1220px;margin:0 auto;padding:0 26px;position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center}
.hero h1{font:900 clamp(40px,5.6vw,72px)/1.04 var(--font-display);letter-spacing:-.025em;margin:0 0 22px;text-wrap:balance}
/* EN copy is ~2× longer than RU — scale the heading down so the hero keeps its shape */
[lang="en"] .hero h1{font-size:clamp(34px,4.4vw,54px)}
.hero h1 .mark{background-image:linear-gradient(transparent 58%,var(--marker) 58%,var(--marker) 92%,transparent 92%);background-repeat:no-repeat;background-position:0 0;background-size:0% 100%;padding:0 4px;transition:background-size .75s cubic-bezier(.16,1,.3,1)}
.hero h1 .mark.lit{background-size:100% 100%}
.hero-star svg path{fill:currentColor;fill-opacity:0;stroke:currentColor;stroke-width:22;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.hero-star.drawn svg path{animation:starDraw 1.2s cubic-bezier(.16,1,.3,1) forwards}
@keyframes starDraw{0%{stroke-dashoffset:1;fill-opacity:0}64%{stroke-dashoffset:0;fill-opacity:0}100%{stroke-dashoffset:0;fill-opacity:1}}
@media(prefers-reduced-motion:reduce){.hero h1 .mark{background-size:100% 100%;transition:none}.hero-star svg path{stroke-dashoffset:0;fill-opacity:1}}
.hero h1 .w{display:inline-block}
.hero-art{position:relative}
.hero-art-frame{position:relative;background:#fff;border:1.5px solid var(--sand-border);border-radius:28px;box-shadow:var(--shadow-sticker-xl);overflow:hidden}
.ph-placeholder{background:repeating-linear-gradient(135deg,#EAE5F8,#EAE5F8 13px,#F4F1FD 13px,#F4F1FD 26px);display:grid;place-items:center;text-align:center;color:#9C92C4;font:600 13px var(--font-body);letter-spacing:.03em}
.hero-greet{position:absolute;top:-20px;left:-22px;background:#fff;border:2px solid var(--ink);border-radius:16px;padding:9px 16px;font:700 22px var(--font-display);box-shadow:var(--shadow-sticker-sm);transition:opacity .22s,transform .22s;animation:bob 5s ease-in-out infinite}
.hero-bee{position:absolute;bottom:34px;right:-26px;font-size:58px;animation:floaty 5.5s ease-in-out infinite;filter:drop-shadow(3px 5px 3px rgba(0,0,0,.2))}
.hero-pin{position:absolute;bottom:-16px;left:26px;background:var(--brand-deep);color:#fff;border:2px solid var(--ink);border-radius:14px;padding:9px 15px;font:800 14px var(--font-body);box-shadow:var(--shadow-sticker-sm);display:inline-flex;align-items:center;gap:6px}

/* ---------- journey (scroll-pinned custom path; honey = bee trail) ---------- */
.journey{position:relative;height:300vh}
.journey-pin{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}
.j-drift{position:absolute;z-index:0;pointer-events:none;will-change:transform;transition:transform .12s linear}
.journey-head,.journey-path-holder{position:relative;z-index:1}
.journey-head{text-align:center;margin-bottom:30px;padding:0 26px}
.journey-hint{font:700 19px var(--font-accent);color:var(--brand-deep)}
.journey-path-holder{position:relative;width:100%;max-width:1080px;margin:0 auto;padding:0 40px}
.jstep{position:absolute;top:50%;transform:translate(-50%,-50%);transition:transform .45s var(--ease)}
.jicon{width:74px;height:74px;border-radius:22px;background:#fff;border:2px solid var(--ink);box-shadow:var(--shadow-sticker-sm);display:grid;place-items:center;color:var(--brand);transition:all .45s var(--ease)}
.jstep-label{position:absolute;top:88px;left:50%;transform:translateX(-50%);width:172px;text-align:center}
.jstep-label .t{font:800 19px var(--font-display)}
.jstep-label .s{font:500 13px/1.4 var(--font-body);color:var(--ink-soft);margin-top:4px}
.jbee{position:absolute;left:9%;top:50%;transform:translate(-50%,-88%);font-size:40px;z-index:6;pointer-events:none;transition:left .16s linear,top .16s linear;filter:drop-shadow(2px 3px 2px rgba(0,0,0,.22))}

/* ---------- journey — mobile vertical variant (swapped in by breakpoint below) ---------- */
.journey-mobile{display:none;padding:70px 0 60px}
.jm-track{position:relative;max-width:460px;margin:0 auto;padding:0 26px}
.jm-line{position:absolute;left:52px;top:6px;bottom:6px;width:3px;background:var(--sand-border);border-radius:2px}
.jm-fill{position:absolute;left:52px;top:6px;width:3px;height:0;background:var(--honey);border-radius:2px;transition:height .1s linear}
.jm-bee{position:absolute;left:52px;top:0;font-size:28px;transform:translate(-50%,-50%);z-index:3;transition:top .1s linear;filter:drop-shadow(2px 3px 2px rgba(0,0,0,.22))}
.jm-step{position:relative;display:flex;gap:18px;align-items:flex-start;padding-bottom:34px}
.jm-step:last-child{padding-bottom:0}
.jm-icon{flex:none;width:52px;height:52px;border-radius:16px;background:#fff;border:2px solid var(--ink);box-shadow:0 6px 16px -6px rgba(52,38,110,.3);display:grid;place-items:center;color:var(--brand);transition:all .3s var(--ease);z-index:2}
.jm-icon.active{background:var(--brand);color:#fff;box-shadow:0 10px 22px -8px rgba(52,38,110,.38);transform:scale(1.08)}
.jm-label{padding-top:8px}
.jm-label .t{font:800 18px var(--font-display)}
.jm-label .s{font:500 13.5px/1.4 var(--font-body);color:var(--ink-soft);margin-top:3px}

@media (max-width:768px){
  .journey-desktop{display:none}
  .journey-mobile{display:block}
}

/* ---------- cards ---------- */
.card{background:#fff;border:1.5px solid var(--sand-border);border-radius:var(--r-md);padding:26px;box-shadow:var(--shadow-soft);transition:box-shadow .5s var(--ease),border-color .5s var(--ease),transform .55s var(--ease)}
.card.tilting{transition:box-shadow .5s var(--ease),border-color .5s var(--ease),transform 0s}
.card-lg{padding:28px;border-radius:22px}
.card-dark{background:var(--night);border:2px solid var(--ink);border-radius:22px;padding:28px;box-shadow:var(--shadow-soft-lg);color:#fff}
[data-tilt]:hover, .card:hover, .card:focus-within{box-shadow:0 22px 44px -18px rgba(52,38,110,.34);border-color:var(--brand)}

/* ---------- who grid ---------- */
.who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}

/* ---------- programs ---------- */
.tabs{display:inline-flex;gap:6px;background:#EAE5F8;border:1.5px solid var(--sand-border-2);border-radius:var(--r-pill);padding:5px}
.tab-btn{border:1.5px solid transparent;background:transparent;border-radius:var(--r-pill);padding:9px 17px;font:800 14.5px var(--font-body);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .2s,border-color .2s,color .2s}
.tab-btn.active{border-color:var(--ink);background:var(--brand);color:#fff}
.panel{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.panel[hidden]{display:none}
.prog-card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.prog-icon{width:46px;height:46px}
.prog-card h3{font:800 21px var(--font-display);margin:0 0 7px}
.prog-card p{font:400 15px/1.55 var(--font-body);color:var(--ink-soft);margin:0 0 18px}
.card-link{font:800 15px var(--font-body);color:var(--ink);display:inline-flex;align-items:center;gap:6px}
/* whole program card is the click target (the tilt/gradient promise interactivity) */
.prog-card{cursor:pointer}
.prog-card .card-link::after{content:"";position:absolute;inset:0;z-index:4;border-radius:inherit}
.prog-card:hover .card-link,.prog-card:focus-within .card-link{color:var(--brand)}
/* touch targets: primary controls reach the 44px minimum on touch devices */
@media(hover:none){
  .btn,.tab-btn{min-height:44px}
  .lang-toggle button,.lang-toggle span{min-height:40px;display:inline-flex;align-items:center;justify-content:center}
}
/* program cards — living gradient "light up" on hover (smooth, eased) */
.prog-card{position:relative;isolation:isolate;--gl:linear-gradient(60deg,#d9b3e2,#9d54d5,#522ca4,#9d54d5,#d9b3e2);transition:box-shadow .55s var(--ease),border-color .55s var(--ease),transform .6s var(--ease)}
.prog-card.tilting{transition:box-shadow .55s var(--ease),border-color .55s var(--ease),transform 0s}
.prog-card:hover,.prog-card:focus-within{border-color:transparent;box-shadow:0 24px 48px -18px rgba(82,44,164,.4),0 12px 28px -16px rgba(157,84,213,.36)}
/* animated gradient ring — always flowing (paused when idle), only opacity eases in */
.prog-card::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.8px;background:var(--gl);background-size:220% 220%;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .6s var(--ease);pointer-events:none;z-index:2;animation:gradFlow 9s ease-in-out infinite alternate;animation-play-state:paused}
.prog-card:hover::after,.prog-card:focus-within::after{opacity:1;animation-play-state:running}
/* icon: gradient crossfades in over the lavender via opacity (no bg snap) */
.prog-icon{position:relative;overflow:hidden;transition:color .55s var(--ease),border-color .55s var(--ease)}
.prog-icon>*{position:relative;z-index:1}
.prog-icon::before{content:"";position:absolute;inset:0;background:var(--gl);background-size:220% 220%;opacity:0;transition:opacity .6s var(--ease);z-index:0;animation:gradFlow 9s ease-in-out infinite alternate;animation-play-state:paused}
.prog-card:hover .prog-icon,.prog-card:focus-within .prog-icon{color:#fff;border-color:transparent}
.prog-card:hover .prog-icon::before,.prog-card:focus-within .prog-icon::before{opacity:1;animation-play-state:running}
@keyframes gradFlow{from{background-position:0% 50%}to{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){.prog-card::after,.prog-icon::before{animation:none}.prog-card,.prog-icon{transition-duration:.01ms}}

/* ---------- teacher ---------- */
.teacher{background:var(--night);border-radius:var(--r-lg);overflow:hidden;display:grid;grid-template-columns:.85fr 1.15fr;box-shadow:0 24px 50px -20px rgba(0,0,0,.5)}
.teacher-photo{position:relative;min-height:460px;background:repeating-linear-gradient(135deg,#272040,#272040 14px,#322A4E 14px,#322A4E 28px);display:grid;place-items:center;color:#7C71AC;font:600 13px var(--font-body);overflow:hidden}
@media(max-width:1024px){.teacher-photo{min-height:440px}}
.teacher-sign{position:absolute;bottom:22px;left:22px;background:var(--honey);color:var(--ink);border-radius:14px;padding:9px 15px;font:700 22px var(--font-accent);box-shadow:0 8px 18px -7px rgba(0,0,0,.45);transform:rotate(-3deg)}
.teacher-body{padding:46px 44px;color:var(--night-text);display:flex;flex-direction:column;justify-content:center}
.teacher-body h2{font:800 clamp(28px,3.4vw,40px)/1.1 var(--font-display);margin:6px 0 16px;color:#fff}
.teacher-body p{font:400 17px/1.65 var(--font-body);color:var(--night-text-soft);margin:0 0 24px;max-width:520px}
.teacher-pill{display:inline-flex;align-items:center;gap:7px;background:var(--night-2);border:1.5px solid var(--night-3);border-radius:var(--r-pill);padding:8px 15px;font:700 13.5px var(--font-body);color:var(--night-text)}

/* ---------- why / stats / reviews ---------- */
.why{padding:92px 0;background:var(--night);color:var(--night-text);position:relative;overflow:hidden}
.why-blob{position:absolute;top:-60px;right:-40px;width:230px;height:255px;background:#2A2344;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);animation:spin 44s linear infinite}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:48px}
.stat-card{background:var(--night-2);border:1.5px solid var(--night-3);border-radius:22px;padding:32px}
.stat-num{font:800 64px var(--font-display);color:var(--lavender);line-height:1}
.stat-label{font:700 17px var(--font-body);color:var(--night-text-soft);margin:12px 0 0}
.reviews{overflow:hidden;padding-bottom:10px;--ml:80px;--mr:80px;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--ml),#000 calc(100% - var(--mr)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 var(--ml),#000 calc(100% - var(--mr)),transparent 100%)}
.reviews-track{display:flex;gap:18px;width:max-content;animation:review-marq 72s linear infinite}
.reviews:hover .reviews-track{animation-play-state:paused}
@keyframes review-marq{to{transform:translateX(calc(-50% - 9px))}}
@media (prefers-reduced-motion: reduce){.reviews-track{animation:none}}
.reviews::-webkit-scrollbar{display:none}
.review-card{flex:0 0 320px;background:var(--night-2);border:1.5px solid var(--night-3);border-radius:20px;padding:24px}
.review-stars{display:flex;color:var(--honey);margin-bottom:12px;gap:2px}
.review-text{font:400 15.5px/1.6 var(--font-body);color:var(--night-text);margin:0 0 16px}
.review-name{font:800 14px var(--font-body);color:#9E93C9}

/* ---------- how it works (sticky stack; honey finale) ---------- */
.how-stack{position:relative}
.how-panel{margin-bottom:26px;border:1.5px solid var(--sand-border);border-radius:26px;box-shadow:var(--shadow-sticker-lg);padding:36px 40px;display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;min-height:280px;overflow:hidden}
.how-num{font:800 14px var(--font-body);letter-spacing:.14em;color:var(--brand)}
.how-icon{width:56px;height:56px;border-radius:15px;background:#fff;border:1.5px solid var(--sand-border);display:grid;place-items:center;color:var(--brand);margin:14px 0 16px}
.how-panel h3{font:800 27px var(--font-display);margin:0 0 8px}
.how-panel p{font:400 16px/1.6 var(--font-body);color:var(--ink-soft);margin:0;max-width:420px}
.how-art{aspect-ratio:4/3;border-radius:16px;border:1px solid rgba(26,23,48,.08);display:grid;place-items:center;color:#9C92C4}
/* how-stack: the front (currently-locked) panel lights up with the gradient — scroll-driven, no hover */
.how-panel{--gl:linear-gradient(60deg,#d9b3e2,#9d54d5,#522ca4,#9d54d5,#d9b3e2);transition:box-shadow .7s var(--ease)}
/* green finale panel: keep the light-up in the green family so the edge doesn't vibrate against the fill */
.how-panel:last-child{--gl:linear-gradient(60deg,#1c7a4e,#3aa981,#1c7a4e,#3aa981,#1c7a4e)}
.how-panel::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;background:var(--gl);background-size:220% 220%;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .7s var(--ease);pointer-events:none;z-index:3;animation:gradFlow 9s ease-in-out infinite alternate;animation-play-state:paused}
.how-panel.lit::after{opacity:1;animation-play-state:running}
.how-icon{position:relative;overflow:hidden;transition:color .7s var(--ease),border-color .7s var(--ease)}
.how-icon>*{position:relative;z-index:1}
.how-icon::before{content:"";position:absolute;inset:0;background:var(--gl);background-size:220% 220%;opacity:0;transition:opacity .7s var(--ease);z-index:0;animation:gradFlow 9s ease-in-out infinite alternate;animation-play-state:paused}
.how-panel.lit .how-icon{color:#fff;border-color:transparent}
.how-panel.lit .how-icon::before{opacity:1;animation-play-state:running}
@media(prefers-reduced-motion:reduce){.how-panel::after,.how-icon::before{animation:none}}

/* ---------- trial banner (living gradient, purple) ---------- */
.trial-banner{position:relative;isolation:isolate;border:2px solid var(--ink);border-radius:var(--r-lg);box-shadow:var(--shadow-sticker-xl);padding:64px 56px;overflow:visible;color:#fff;min-height:clamp(380px,52vh,480px);display:flex;align-items:center;transition:border-color .45s ease,box-shadow .45s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.trial-banner::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,var(--brand),var(--brand-deep));background-size:150% 150%;animation:gradient-shift 12s ease infinite;z-index:-1;transition:opacity .55s ease}
.trial-banner.immersive{border-color:transparent;box-shadow:none}
.trial-banner.immersive::before{opacity:0}
.trial-photo{position:absolute;right:48px;top:50%;transform:translateY(-50%) scale(.94);width:clamp(240px,36%,380px);aspect-ratio:3/4;border-radius:22px;overflow:hidden;box-shadow:0 28px 54px -20px rgba(0,0,0,.6);clip-path:inset(0 0 0 100% round 22px);transition:clip-path .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);z-index:2}
.trial-photo img{width:100%;height:100%;object-fit:cover;display:block}
.trial-banner.immersive .trial-photo{clip-path:inset(0 round 22px);transform:translateY(-50%) scale(1)}
.trial-content{position:relative;z-index:3;max-width:min(56%,560px)}
.trial-stop{position:relative;min-height:120vh}
.trial-content h2,.trial-content p,.trial-content>div{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
.trial-banner.immersive .trial-content h2{opacity:1;transform:none;transition-delay:.12s}
.trial-banner.immersive .trial-content p{opacity:1;transform:none;transition-delay:.26s}
.trial-banner.immersive .trial-content>div{opacity:1;transform:none;transition-delay:.4s}
@media(max-width:820px){.trial-content h2,.trial-content p,.trial-content>div{opacity:1;transform:none}}
.trial-sticky{position:sticky;top:0;min-height:100vh;display:grid;place-items:center;padding:40px 0}
@media(max-width:820px){.trial-stop{min-height:auto}.trial-sticky{position:static;min-height:auto;padding:80px 0}.trial-content{max-width:100%}}
@media(max-width:760px){.trial-photo{display:none}}
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:200;max-width:660px;margin:0 auto;background:var(--ink);color:#fff;border-radius:16px;padding:15px 18px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;box-shadow:0 22px 50px -16px rgba(0,0,0,.55)}
.cookie-bar[hidden]{display:none}
.cookie-bar p{font:500 13.5px/1.5 var(--font-body);margin:0;color:#fff;flex:1 1 260px}
.cookie-bar a{color:var(--accent);text-decoration:underline}
.cookie-btns{display:flex;gap:8px;flex-shrink:0}
.cookie-bar .btn-sm{padding:9px 15px;font-size:13.5px}
.trial-bee{position:absolute;top:-40px;right:44px;font-size:130px;opacity:.25;animation:floaty 6s ease-in-out infinite}
.trial-banner h2{font:800 clamp(28px,3.6vw,44px)/1.06 var(--font-display);margin:0 0 14px;color:#fff}
.trial-banner p{font:500 18px/1.55 var(--font-body);color:#E4DEFB;margin:0 0 28px}
.trial-wash{position:fixed;inset:0;z-index:-1;background:linear-gradient(135deg,var(--brand),var(--brand-deep));opacity:0;pointer-events:none;transition:opacity .55s ease;will-change:opacity}
.hc-rot{color:var(--brand)}
.rev-card{flex:0 0 336px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:26px 24px 20px;display:flex;flex-direction:column;gap:12px;position:relative}
.rev-q{position:absolute;top:6px;left:18px;font:900 54px/1 var(--font-display);color:var(--brand);opacity:.45;pointer-events:none}
.rev-text{font:500 15px/1.62 var(--font-body);color:#E7E0FF;margin:8px 0 0;position:relative}
.rev-tag{align-self:flex-start;margin-top:auto;font:700 11px var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:rgba(195,236,69,.1);border:1px solid rgba(195,236,69,.28);border-radius:999px;padding:4px 11px}

/* ---------- blog ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.blog-card{color:var(--ink);background:#fff;border:1.5px solid var(--sand-border);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-soft);transition:box-shadow .5s var(--ease),border-color .5s var(--ease),transform .55s var(--ease);display:block}
.blog-card.tilting{transition:box-shadow .5s var(--ease),border-color .5s var(--ease),transform 0s}
.blog-thumb{aspect-ratio:16/9;background:repeating-linear-gradient(135deg,#E7E1F7,#E7E1F7 11px,#F2EEFB 11px,#F2EEFB 22px);display:grid;place-items:center;color:#9C92C4}
.blog-card .body{padding:22px}
.blog-tag{font:800 11px var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--clay)}
.blog-card h3{font:800 18px/1.32 var(--font-display);margin:9px 0 0}

/* ---------- accordion ---------- */
.acc{background:#fff;border:1.5px solid var(--sand-border);border-radius:18px;margin-bottom:14px;overflow:hidden;box-shadow:0 6px 18px -12px rgba(52,38,110,.3)}
.acc-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:21px 24px;cursor:pointer;font:800 18px var(--font-display);width:100%;text-align:left;background:none;border:0;color:var(--ink);appearance:none}
.acc-icon{color:var(--clay);transition:transform .3s;display:grid;place-items:center}
.acc-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s var(--ease)}
.acc-body>div{overflow:hidden;min-height:0}
.acc-body p{font:400 16px/1.6 var(--font-body);color:var(--ink-soft);margin:0;padding:0 24px 22px}

/* ---------- contact ---------- */
.contact-card{background:#fff;border:1.5px solid var(--sand-border);border-radius:var(--r-lg);box-shadow:var(--shadow-sticker-xl);overflow:hidden;display:grid;grid-template-columns:.92fr 1.08fr}
.contact-info{padding:46px 40px;background:var(--night);color:var(--night-text);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.contact-info a{display:inline-flex;align-items:center;gap:10px;font:700 15px var(--font-body);color:var(--lavender);margin-bottom:12px}
.contact-form{padding:40px;display:flex;flex-direction:column;gap:14px}
.field{padding:14px 16px;border:1.5px solid var(--sand-input);border-radius:12px;font:500 15px var(--font-body);background:#FDFCFA;outline:none;transition:border-color .2s;width:100%}
.field:focus{border-color:var(--brand)}
.field-row{display:flex;gap:14px}

/* ---------- footer ---------- */
footer{background:var(--night);color:var(--night-text-soft);padding:52px 0 32px}
.footer-top{display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between;padding-bottom:28px;border-bottom:1px solid var(--night-3)}
.footer-social{display:flex;gap:10px;flex-wrap:wrap}
.footer-social a{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:var(--r-pill);border:1.5px solid var(--night-3);color:var(--night-text-soft);font:700 13.5px var(--font-body);transition:background .2s,color .2s,border-color .2s}
.footer-social a i,.footer-social a svg{width:17px;height:17px;flex:none}
.footer-social a:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.footer-bottom{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;padding-top:20px;font:500 14px var(--font-body)}
.footer-contact{display:inline-flex;flex-wrap:wrap;gap:16px;align-items:center}
.footer-contact a{display:inline-flex;align-items:center;gap:7px;color:var(--night-text-soft)}
.footer-contact a i{width:15px;height:15px}
.footer-contact a:hover{color:#fff}

/* ---------- whatsapp float ---------- */
.wa-float{position:fixed;bottom:24px;right:24px;z-index:80;width:60px;height:60px;border-radius:50%;background:var(--whatsapp);border:2px solid var(--ink);display:grid;place-items:center;color:#fff;box-shadow:var(--shadow-sticker-sm);animation:wapulse 2.6s ease-out infinite}

/* ---------- lead magnet + content-honesty marker ---------- */
.lm-card{display:flex;flex-wrap:wrap;align-items:center;gap:26px;background:#fff;border:1.5px solid var(--sand-border);border-radius:26px;box-shadow:var(--shadow-sticker-lg);padding:34px 38px}
.needs-approval{display:inline-flex;align-items:center;gap:6px;margin-top:10px;background:#FDF3D7;border:1.5px solid #F2C14E;border-radius:999px;padding:5px 12px;font:700 12px var(--font-body);color:#8a6a12}
.needs-approval::before{content:"⚠";font-size:12px}

/* ---------- landing pages ---------- */
.lp-hero{padding:60px 0 80px}
.lp-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:start}
.lp-form-card{background:#fff;border:1.5px solid var(--sand-border);border-radius:26px;box-shadow:var(--shadow-sticker-lg);padding:32px}
.lp-check{display:flex;gap:12px;align-items:flex-start;font:600 17px/1.5 var(--font-body);margin-bottom:14px}
@media (max-width:1024px){.lp-grid{grid-template-columns:1fr}}

/* ---------- reveal (progressive enhancement base) ---------- */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
[data-reveal].is-visible{opacity:1;transform:none}

/* ---------- inner-page bits ---------- */
.page-header{border-bottom:1px solid var(--sand-border)}
.page-header .row{max-width:1220px;margin:0 auto;padding:18px 26px;display:flex;align-items:center;gap:14px}
.breadcrumb{font:600 13.5px var(--font-body);color:#8A82A3;margin:8px 0 22px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.breadcrumb a{color:#8A82A3}
.price-card{position:sticky;top:80px;background:var(--night);color:var(--night-text);border-radius:24px;padding:32px;box-shadow:0 20px 44px -18px rgba(0,0,0,.5)}
.checklist-item{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1.5px solid var(--sand-border);border-radius:14px;padding:16px 18px}
.article{max-width:760px;margin:0 auto}
.article h2{font:800 clamp(22px,2.6vw,30px)/1.2 var(--font-display);margin:40px 0 12px;color:var(--ink)}
.article h3{font:800 19px var(--font-display);margin:26px 0 8px;color:var(--ink)}
.article p{font:400 17px/1.78 var(--font-body);color:#2A251C;margin:0 0 16px}
.article ul{margin:0 0 18px;padding-left:4px;list-style:none}
.article li{position:relative;font:400 16.5px/1.65 var(--font-body);color:#2A251C;margin:0 0 10px;padding-left:26px}
.article li::before{content:"";position:absolute;left:2px;top:9px;width:8px;height:8px;border-radius:50%;background:var(--accent);border:1.5px solid var(--ink)}
.article strong{color:var(--ink);font-weight:800}
.article .lead{font-size:19px;line-height:1.7;color:var(--ink-soft);margin-bottom:24px}
.article blockquote{margin:20px 0;padding:14px 20px;background:var(--brand-soft);border-left:4px solid var(--brand);border-radius:0 14px 14px 0;font:600 16.5px/1.6 var(--font-body);color:var(--ink)}
.post-meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font:600 14px var(--font-body);color:#8A82A3;margin:14px 0 0}
.format-card{background:#fff;border:1.5px solid var(--sand-border);border-radius:22px;padding:24px 28px;box-shadow:var(--shadow-soft)}
.format-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--sand-border);font:600 15.5px var(--font-body);color:var(--ink)}
.format-row:first-of-type{border-top:none;padding-top:2px}
.format-row i{color:var(--brand);flex:none}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .hero-grid{grid-template-columns:1fr;text-align:center}
  .hero-art{margin:0 auto;max-width:420px}
  .who-grid,.panel,.blog-grid,.stat-grid{grid-template-columns:1fr 1fr}
  .teacher,.contact-card{grid-template-columns:1fr}
  .menu-toggle{display:grid}
  .navmenu{position:absolute;top:calc(100% + 12px);left:14px;right:14px;flex-direction:column;align-items:stretch;gap:4px;background:#fff;border:1.5px solid var(--sand-border);border-radius:16px;padding:12px;box-shadow:0 20px 44px rgba(52,38,110,.16);z-index:70;display:none}
  .navmenu.open{display:flex}
  .navlink{padding:12px 14px;border-radius:10px;border-bottom:none;color:var(--ink)}
  .menu-cta{display:flex}
  .nav-cta{display:none}
}
@media (max-width:640px){
  .who-grid,.panel,.blog-grid,.stat-grid,.how-panel{grid-template-columns:1fr}
  .field-row{flex-direction:column}
  h1,h2{overflow-wrap:break-word}
}

/* ── Fullscreen Hive-style reveal CTA (washes purple as it centres) ───────── */
body{transition:background-color .6s ease}
body.hc-purple{background-color:#6E5DF6}
.hive-cta{position:relative;min-height:170vh}
.hive-cta-stage{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;place-items:center;padding:12vh 0}
.hive-cta-hex{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hive-cta-inner{position:relative;z-index:1;text-align:center}
.hive-cta-h{font:800 clamp(34px,7vw,78px)/1.02 var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0;min-height:1.1em;opacity:0;transform:translateY(26px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1),color .6s}
.hive-cta.show-h .hive-cta-h{opacity:1;transform:none}
.hive-cta.is-active .hive-cta-h{color:var(--ink)}
.hc-caret{display:inline-block;width:.5ch;background:currentColor;border-radius:2px;margin-left:.03em;animation:hc-blink 1s steps(1) infinite}
.hc-caret.done{animation:none;opacity:0}
@keyframes hc-blink{50%{opacity:0}}
.hive-cta-sub{font:500 clamp(16px,2.2vw,20px)/1.55 var(--font-body);color:var(--ink-soft);max-width:600px;margin:20px auto 0;opacity:0;transform:translateY(10px);transition:opacity .6s,transform .6s,color .6s}
.hive-cta.show-sub .hive-cta-sub{opacity:1;transform:none}
.hive-cta.is-active .hive-cta-sub{color:var(--ink-soft)}
.hive-cta-btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:30px;opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s cubic-bezier(.16,1,.3,1)}
.hive-cta.show-btns .hive-cta-btns{opacity:1;transform:none}
.hive-cta-b1{background:var(--accent);color:var(--ink);border:2px solid var(--ink);padding:15px 26px;box-shadow:0 14px 30px -12px rgba(0,0,0,.4);transition:transform .18s,background .18s}
.hive-cta-b1:hover{background:var(--accent-deep);transform:translateY(-2px)}
.hive-cta-b2{background:#fff;color:var(--ink);border:2px solid var(--ink);padding:15px 22px;transition:background .18s,transform .18s}
.hive-cta-b2:hover{background:var(--brand-soft);transform:translateY(-2px)}
.hive-cta-pic{margin:56px auto 0;width:clamp(96px,13vw,150px);opacity:0;transition:opacity .7s var(--ease-snap)}
.hive-cta.show-pic .hive-cta-pic{opacity:1}
.hive-cta-pic img{width:100%;display:block;filter:drop-shadow(0 12px 16px rgba(110,91,242,.22))}
/* PRICING */
.price-sub{max-width:640px;margin:8px 0 40px;color:var(--ink-soft);font:500 17px/1.55 var(--font-body)}
.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}
.price-card{display:flex;flex-direction:column;gap:6px;padding:26px 26px}
.price-t{font:800 20px/1.22 var(--font-display);color:var(--ink);margin:0}
.price-m{font:500 13.5px/1.45 var(--font-body);color:var(--ink-soft);margin:0;min-height:18px}
.price-amt{margin:12px 0 0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.price-p{font:800 34px/1 var(--font-display);color:var(--brand)}
.price-u{font:600 13.5px/1.3 var(--font-body);color:var(--ink-soft)}
.price-k{font:600 13.5px/1.45 var(--font-body);color:var(--ink);margin:10px 0 0;padding-top:12px;border-top:1px dashed rgba(117,102,245,.28)}
/* TEAM */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:20px}
.team-card{display:flex;flex-direction:column;overflow:hidden;padding:0}
.team-photo{aspect-ratio:3/4;overflow:hidden;background:var(--brand-soft)}
.team-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.team-card:hover .team-photo img{transform:scale(1.04)}
.team-body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px}
.team-name{font:800 21px/1.1 var(--font-display);color:var(--ink);margin:0}
.team-spec-label{font:700 15px var(--font-accent);color:var(--honey);margin:2px 0 0}
.team-tags{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 4px}
.team-tag{font:600 12px/1 var(--font-body);color:var(--ink);background:var(--brand-soft);border:1.5px solid rgba(117,102,245,.28);border-radius:999px;padding:6px 11px;white-space:nowrap}
.team-bio{font:500 14.5px/1.55 var(--font-body);color:var(--ink-soft);margin:4px 0 0}
.team-photo.ph{display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-soft),#EDE9FE)}
.team-initial{font:800 96px/1 var(--font-display);color:var(--brand);opacity:.5}
/* styled select + lead-magnet form */
.field-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236E5BF2' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px;cursor:pointer}
.lm-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center;min-width:260px}
.lm-form .field{flex:1;min-width:190px}
/* branded arrow cursor (desktop, fine pointer) — purple englibee arrow */
@media (pointer:fine){
  html, html *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'%3E%3Cpath d='M4 2 L4 21 L9.2 16.2 L12.5 23 L15.2 21.7 L11.9 15 L18.8 15 Z' fill='%237566F5' stroke='%23FFFFFF' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 4 2, auto}
  html input, html textarea, html [contenteditable="true"]{cursor:text}
  html select{cursor:pointer}
}
/* English hero: hide the doodle asterisk that collides with the wrapped headline */
[lang="en"] .hero h1 .doodle{display:none}
