/* Apex — home page (motion version). */
html{scroll-behavior:smooth}
body.apex-canvas{margin:0;background:#ffffff}
:where(.apx) a{color:#395886}:where(.apx) a:hover{color:#2d4b74}

.apx{font-family:var(--font-sans);color:var(--text);background:var(--bg-page);overflow-x:clip;--mi:1}
.apx img{display:block}
.ax-card{transition:box-shadow .2s ease,border-color .2s ease}
.ax-card:hover{box-shadow:var(--shadow-md);border-color:var(--navy-200)}
.ax-testi__stars{display:none}

/* motion primitives: entrance, float, scroll reveal (no hover-driven movement) */
@keyframes rise{from{transform:translate3d(0,105%,0);opacity:0}to{transform:none;opacity:1}}
@keyframes fadeUp{from{transform:translate3d(0,20px,0);opacity:0}to{transform:none;opacity:1}}
@keyframes assemble{from{opacity:0;transform:translate3d(var(--ex,0px),var(--ey,0px),0) rotate(var(--er,0deg)) scale(.8)}to{opacity:1;transform:none}}
@keyframes bob{from{transform:translate3d(0,calc(var(--fa,8px) * -1),0) rotate(calc(var(--fr,1deg) * -1))}to{transform:translate3d(0,var(--fa,8px),0) rotate(var(--fr,1deg))}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spinRev{to{transform:rotate(-360deg)}}
@keyframes marq{from{transform:translate3d(0,0,0)}to{transform:translate3d(50%,0,0)}}
@keyframes eq{from{transform:scaleY(.3)}to{transform:scaleY(1)}}
@keyframes ping{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.5);opacity:0}}
@keyframes drift{from{transform:translate3d(0,-6px,0)}to{transform:translate3d(0,6px,0)}}
@keyframes wheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(10px);opacity:0}100%{transform:translateY(0);opacity:0}}

.in{animation:fadeUp .9s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--d,0s)}
.f1{--d:.05s}.f2{--d:.5s}.f3{--d:.62s}.f4{--d:.76s}
.h-line{display:block;overflow:hidden}
.h-line>span{display:block;animation:rise 1.05s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--d,0s)}
.l1{--d:.18s}.l2{--d:.3s}
.js-motion [data-reveal]{opacity:0;transform:translate3d(0,24px,0);transition:opacity .9s cubic-bezier(.2,.7,.1,1),transform 1s cubic-bezier(.2,.7,.1,1);transition-delay:var(--d,0s)}
.js-motion [data-reveal].is-in{opacity:1;transform:none}
.stagger>:nth-child(2){--d:.08s}.stagger>:nth-child(3){--d:.16s}.stagger>:nth-child(4){--d:.24s}.stagger>:nth-child(5){--d:.32s}.stagger>:nth-child(6){--d:.4s}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;isolation:isolate;padding:56px 0 112px;background:linear-gradient(180deg,#c7ddfb 0%,#e4eefb 38%,#f2f7fe 68%,#ffffff 100%)}
.hero-glow{position:absolute;left:0;top:0;z-index:-1;width:620px;height:620px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.75),rgba(255,255,255,0) 64%);transform:translate3d(calc(var(--cx,360px) - 310px),calc(var(--cy,300px) - 310px),0);will-change:transform}
.hero-in{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-12);min-height:560px}
.hero-text{flex:1.05 1 440px;min-width:0}
.hero-media{flex:1 1 460px;min-width:0;display:flex;justify-content:center}
.ax-hero__title{margin:0}
.ax-hero__title em{font-style:normal;color:var(--brand)}
.avs{display:flex}
.avs img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--surface);margin-inline-start:-10px;background:var(--surface-brand-soft)}
.avs img:first-child{margin-inline-start:0}

.kit{position:relative;width:100%;max-width:600px;aspect-ratio:670/595}
.layer{position:absolute;transform:translate3d(calc(var(--scroll,0) * var(--sx,0) * var(--mi) * 1px),calc(var(--scroll,0) * var(--sy,0) * var(--mi) * 1px),0)}
.layer-in{animation:assemble 1.7s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--ad,0s)}
.layer-float{animation:bob var(--fd,7s) ease-in-out infinite alternate}
.layer img{width:100%;height:auto;filter:drop-shadow(0 18px 22px rgba(25,52,84,.16))}
.k-glasses{--sx:0;--sy:-.1;--ex:0px;--ey:-150px;--er:-8deg;--ad:.45s;--fd:7.4s;--fa:6px;--fr:.6deg}
.k-hand{--sx:.06;--sy:-.06;--ex:160px;--ey:-60px;--er:22deg;--ad:.55s;--fd:6.2s;--fr:2deg}
.k-mirror{--sx:-.06;--sy:-.08;--ex:-150px;--ey:-90px;--er:-24deg;--ad:.6s;--fd:5.8s;--fr:2.4deg}
.k-denture{--sx:0;--sy:.02;--ex:0px;--ey:60px;--er:0deg;--ad:.25s;--fd:8s;--fa:5px;--fr:.3deg}
.k-high{--sx:-.06;--sy:.05;--ex:-160px;--ey:60px;--er:-22deg;--ad:.7s;--fd:6.6s;--fr:1.6deg}
.k-probe{--sx:0;--sy:.09;--ex:0px;--ey:150px;--er:16deg;--ad:.8s;--fd:6.9s}
.k-aligner{--sx:.05;--sy:.08;--ex:150px;--ey:120px;--er:26deg;--ad:.85s;--fd:5.4s;--fr:2.2deg}
.k-chip1{--sx:-.04;--sy:.04;--ex:-50px;--ey:50px;--ad:1.2s;--fd:5.6s;--fa:6px;--fr:0deg}
.k-chip2{--sx:.04;--sy:-.03;--ex:50px;--ey:-30px;--ad:1.35s;--fd:6.4s;--fa:7px;--fr:0deg}
.orbit{position:absolute;border-radius:50%;border:1px dashed rgba(98,143,203,.45);animation:spin 80s linear infinite}
.orbit::after{content:"";position:absolute;top:-5px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px rgba(98,143,203,.18)}
.orbit-2{border-style:solid;border-color:rgba(98,143,203,.2);animation:spinRev 56s linear infinite}
.orbit-2::after{width:8px;height:8px;margin-left:-4px;top:-4px;background:var(--brand)}
.chip{display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;background:rgba(255,255,255,.86);border:1px solid #ffffff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-md);box-shadow:var(--shadow-md);white-space:nowrap}
.chip-ic{width:40px;height:40px;border-radius:10px;background:var(--surface-brand-soft);color:var(--brand);display:grid;place-items:center}
.cue{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-muted);font-size:12px;line-height:20px}
.cue-mouse{position:relative;width:24px;height:38px;border:1.75px solid #6688b6;border-radius:12px}
.cue-mouse::after{content:"";position:absolute;left:50%;top:7px;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:var(--brand);animation:wheel 1.8s ease-in-out infinite}

/* ---------- benefits marquee ---------- */
.marquee{overflow:hidden;padding:6px 0;-webkit-mask-image:linear-gradient(to left,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(to left,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marq 44s linear infinite}
.marquee-track.slow{animation-duration:80s}
.marquee-track.rev{animation-direction:reverse;animation-duration:72s}
.marquee:hover .marquee-track{animation-play-state:paused}
.mgroup{display:flex;gap:16px;padding-inline-end:16px;margin:0;padding-inline-start:0;list-style:none}
.benefit{display:flex;align-items:center;gap:12px;padding:10px 22px 10px 10px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);white-space:nowrap;font-weight:500;font-size:15px;line-height:24px;color:var(--text)}
.benefit-ic{width:44px;height:44px;border-radius:50%;background:var(--surface-brand-soft);color:var(--brand);display:grid;place-items:center}
.tslot{flex:none;width:360px;display:flex}
.tslot>*{width:100%}

/* ---------- online head ---------- */
.big-logo{width:200px;height:auto;margin:0 auto 16px;animation:drift 5s ease-in-out infinite alternate}

/* ---------- instructors ---------- */
.inst-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:var(--space-5)}

/* ---------- apexcast ---------- */
.cast-wrap{display:flex;flex-wrap:wrap;gap:var(--space-12);align-items:center}
.cast-text{flex:1 1 360px;min-width:0}
.cast-stage{position:relative;flex:1.4 1 520px;min-width:0;height:520px;perspective:1600px}
.cast-row{position:absolute;inset:0;transform-style:preserve-3d}
.cast-card{position:absolute;left:50%;top:46%;width:240px;aspect-ratio:2/3;margin-left:-120px;margin-top:-180px;padding:0;border:0;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;background:var(--surface-brand-soft);box-shadow:var(--shadow-lg);transition:transform 1s cubic-bezier(.2,.8,.2,1),opacity .7s ease,filter .7s ease;-webkit-box-reflect:below 10px linear-gradient(transparent 74%,rgba(255,255,255,.22))}
.cast-card img{width:100%;height:100%;object-fit:cover}
.cast-card.is-active{box-shadow:0 0 0 3px #ffffff,0 0 0 5px var(--accent),var(--shadow-lg)}
.player{margin-top:var(--space-6);display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}
.play{position:relative;flex:none;width:52px;height:52px;border-radius:50%;border:0;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;cursor:pointer;transition:background .15s ease}
.play:hover{background:var(--brand-hover)}
.play::before{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--accent);opacity:0}
.is-playing .play::before{animation:ping 1.6s ease-out infinite}
.wave{display:flex;align-items:center;gap:3px;height:28px;margin-top:6px}
.wave i{display:block;width:3px;border-radius:2px;background:var(--navy-300);transform:scaleY(.45)}
.is-playing .wave i{background:var(--brand);animation:eq .8s ease-in-out infinite alternate}
.dots{display:flex;gap:6px;margin-top:var(--space-4)}
.dot{width:8px;height:8px;border-radius:999px;border:0;padding:0;background:var(--navy-200);cursor:pointer;transition:width .3s ease,background .3s ease}
.dot.is-on{width:24px;background:var(--brand)}

/* ---------- faq ---------- */
.faq-wrap{display:flex;flex-wrap:wrap;gap:var(--space-12);align-items:flex-start}
.faq-side{flex:1 1 320px;min-width:0;position:sticky;top:100px}
.faq-list{flex:1.8 1 520px;min-width:0}

/* ---------- assistant ---------- */
.bot{position:fixed;left:24px;bottom:24px;z-index:60;display:flex;align-items:center;gap:8px;text-decoration:none}
.bot img{width:60px;height:60px;--fa:4px;--fr:3deg;animation:bob 3.2s ease-in-out infinite alternate;filter:drop-shadow(0 10px 16px rgba(25,52,84,.25))}
.bot-bubble{padding:6px 14px;border-radius:999px;background:var(--brand);color:var(--on-brand);font-size:13px;line-height:22px;font-weight:500;box-shadow:var(--shadow-md)}

/* ---------- dark theme: same DS tokens, re-mapped for a dark ground ---------- */
.apx.is-dark{color-scheme:dark;
--bg-page:#0a1628;--bg-subtle:#0e1d34;--bg-muted:#13243d;--surface:#11233b;--surface-brand:#13284a;--surface-brand-soft:#16304f;
--border:#22385a;--border-strong:#2f4a70;--text:#eaf1fb;--text-muted:#a7b6ca;--text-subtle:#8796ab;--text-inverse:#ffffff;--text-inverse-muted:#c3d4ec;
--brand:#8fb3e8;--brand-hover:#a8c6f0;--brand-pressed:#7aa2dc;--on-brand:#091628;--brand-deep:#eaf1fb;--accent:#6f9bd6;--accent-strong:#8fb3e8;--accent-soft:#17325a;--accent-on-dark:#a8c6f0;--link:#8fb3e8;
--navy-100:#16304f;--navy-200:#2a4a73;--navy-300:#3d5f8c;--navy-600:#2a4a73;--navy-700:#1b3558;--slate-100:#1a2c45;--slate-300:#3a4b63;
--shadow-xs:0 1px 2px rgba(0,0,0,.3);--shadow-sm:0 1px 2px rgba(0,0,0,.3),0 4px 12px rgba(0,0,0,.25);--shadow-md:0 12px 32px rgba(0,0,0,.4);--shadow-lg:0 24px 56px rgba(0,0,0,.5);--shadow-focus:0 0 0 2px #0a1628,0 0 0 4px #8fb3e8}
.is-dark .hero{background:linear-gradient(180deg,#1d3d66 0%,#13284a 36%,#0e1d34 68%,#0a1628 100%)}
.is-dark .hero-glow{background:radial-gradient(circle,rgba(143,179,232,.1),rgba(143,179,232,0) 60%)}
/* box glow: a focused light that follows the pointer only inside boxes and cards (dark theme) */
.ax-stats,.player,.help-box,.benefit,.ax-acc__item{position:relative}
.is-dark .ax-card::after,.is-dark .ax-stats::after,.is-dark .ax-footer::after,.is-dark .player::after,.is-dark .help-box::after,.is-dark .benefit::after,.is-dark .ax-acc__item::after,.is-dark .cast-card::after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(200px circle at var(--mx,50%) var(--my,50%),rgba(143,179,232,.16),rgba(143,179,232,.05) 40%,rgba(143,179,232,0) 70%);opacity:0;transition:opacity .3s ease}
.is-dark [data-glow="1"]::after{opacity:1}
.ax-footer{position:relative}
.is-dark .kit::before{content:"";position:absolute;inset:4% 6%;border-radius:50%;background:radial-gradient(circle,rgba(143,179,232,.2),rgba(143,179,232,0) 66%)}
.is-dark .chip{background:rgba(17,35,59,.82);border-color:rgba(143,179,232,.18)}
.is-dark .ax-btn--inverse{background:#eaf1fb;color:#0a1628}
.is-dark .ax-btn--inverse:hover{background:#cadbf1}
.is-dark .ax-stats,.is-dark .ax-footer{border:1px solid #22385a}
.is-dark .cast-card.is-active{box-shadow:0 0 0 3px #0a1628,0 0 0 5px var(--accent),var(--shadow-lg)}
.is-dark .cast-card{-webkit-box-reflect:below 10px linear-gradient(transparent 74%,rgba(255,255,255,.08))}
.is-dark .layer img{filter:drop-shadow(0 18px 24px rgba(0,0,0,.45))}
::view-transition-old(root),::view-transition-new(root){animation-duration:.5s}

/* ---------- theme toggle ---------- */
.theme-btn{position:fixed;right:24px;bottom:24px;z-index:60;display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 18px 0 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;box-shadow:var(--shadow-md);transition:background-color .15s ease,border-color .15s ease}
.theme-btn:hover{border-color:var(--brand)}
.theme-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;color:var(--brand)}

@media (max-width:767px){
.theme-label{display:none}
.theme-btn{padding:0 14px}
.hero{padding:32px 0 72px}
.hero-in{min-height:0;gap:var(--space-8)}
.ax-hero__title{font-size:34px;line-height:52px}
.cue{display:none}
.cast-stage{height:400px}
.cast-card{width:180px;margin-left:-90px;margin-top:-135px}
.tslot{width:290px}
.faq-side{position:static}
.bot-bubble,.k-chip2{display:none}
}
@media (prefers-reduced-motion:reduce){
.apx *,.apx *::before,.apx *::after{animation:none !important;transition:none !important}
.layer{transform:none !important}
}
/* ---------- WordPress integration ---------- */
.apx section[id],.apx [id="contact"]{scroll-margin-top:var(--header-h)}
.theme-btn .ic-sun{display:none}
.is-dark .theme-btn .ic-sun{display:block}
.is-dark .theme-btn .ic-moon{display:none}
.apx [hidden]{display:none !important}

.apx [data-reveal] > .ax-card{width:100%}

/* Mobile/tablet: hero image above the text */
@media (max-width:959px){
.hero-media{order:-1}
.hero-in{gap:var(--space-10)}
.kit{max-width:440px}
.k-chip1{right:2% !important}
}

/* =====================================================================
   Mobile chrome: glass header, off-canvas drawer, bottom tab bar, footer
   ===================================================================== */
.apx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html.apx-lock{overflow:hidden}
.ax-header{transition:box-shadow .25s ease,background-color .25s ease}
.ax-header.is-scrolled{background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 6px 20px rgba(25,52,84,.08)}
.is-dark .ax-header.is-scrolled{background:rgba(10,22,40,.82)}

/* drawer */
.apx-drawer{position:fixed;inset:0;z-index:100;visibility:hidden;pointer-events:none;transition:visibility 0s .35s}
.apx-drawer.is-open{visibility:visible;pointer-events:auto;transition:visibility 0s}
.apx-drawer__backdrop{position:absolute;inset:0;background:rgba(9,22,40,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .3s ease}
.apx-drawer.is-open .apx-drawer__backdrop{opacity:1}
.apx-drawer__panel{position:absolute;top:0;bottom:0;inset-inline-start:0;width:min(86vw,360px);display:flex;flex-direction:column;background:var(--surface);color:var(--text);border-radius:24px 0 0 24px;box-shadow:var(--shadow-lg);transform:translateX(105%);transition:transform .38s cubic-bezier(.2,.8,.2,1)}
.apx-drawer.is-open .apx-drawer__panel{transform:none}
.admin-bar .apx-drawer__panel{top:46px}
.apx-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}
.apx-drawer__logo img{display:block;height:34px;width:auto}
.apx-drawer__x{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--bg-muted);color:var(--text);cursor:pointer}
.apx-drawer__body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:16px 20px 20px;display:flex;flex-direction:column;gap:16px}
.apx-drawer__search{display:flex;align-items:center;height:48px;border-radius:14px;background:var(--bg-muted);border:1px solid var(--border);padding-inline:14px 4px}
.apx-drawer__search input{flex:1;min-width:0;height:100%;border:0;background:transparent;font:inherit;font-size:15px;color:var(--text);outline:none}
.apx-drawer__search input::placeholder{color:var(--text-subtle)}
.apx-drawer__search button{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:10px;background:var(--brand);color:var(--on-brand);cursor:pointer}
.apx-drawer__acct{display:flex;gap:8px}
.apx-drawer__acct .ax-btn{flex:1;height:48px}
.apx-drawer__cart{position:relative;flex:none;width:48px;height:48px;display:grid;place-items:center;border-radius:12px;border:1.5px solid var(--border-strong);color:var(--brand);text-decoration:none}
.apx-drawer__cart span{position:absolute;top:-6px;inset-inline-end:-6px;min-width:20px;height:20px;padding-inline:5px;display:grid;place-items:center;border-radius:999px;background:var(--brand);color:var(--on-brand);font-size:11px;font-weight:700}
.apx-drawer__nav ul{margin:0;padding:0;list-style:none}
.apx-drawer__nav a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:0 12px;border-radius:12px;font-size:16px;line-height:24px;font-weight:500;color:var(--text);text-decoration:none}
.apx-drawer__nav li+li{border-top:1px solid var(--slate-100)}
.apx-drawer__nav a .ax-icon{color:var(--text-subtle)}
.apx-drawer__nav a.is-active{background:var(--surface-brand-soft);color:var(--brand);font-weight:700}
.apx-drawer__nav a.is-active .ax-icon{color:var(--brand)}
.apx-drawer__call{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:var(--surface-brand);color:var(--text-inverse);text-decoration:none}
.apx-drawer__callic{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.12);color:var(--accent-on-dark)}
.apx-drawer__call small{display:block;font-size:12px;line-height:18px;color:var(--text-inverse-muted)}
.apx-drawer__call b{display:block;font-size:18px;line-height:28px;font-weight:900;text-align:right}
.apx-drawer__addr{display:flex;gap:8px;margin:0;font-size:13px;line-height:22px;color:var(--text-muted)}
.apx-drawer__addr .ax-icon{flex:none;margin-top:2px;color:var(--accent-strong)}
.apx-drawer__social{display:flex;flex-wrap:wrap;gap:8px}
.apx-drawer__soc{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border-radius:999px;background:var(--bg-muted);border:1px solid var(--border);color:var(--text);font-size:13px;font-weight:500;text-decoration:none}
.apx-drawer__soc .ax-icon{color:var(--brand)}
.apx-drawer__foot{padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border)}
.apx-drawer__theme{width:100%;height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:12px;background:transparent;color:var(--text);font:inherit;font-size:14px;font-weight:500;cursor:pointer}
.apx-drawer__theme .ax-icon{color:var(--brand)}
.apx-drawer__theme .ic-sun{display:none}
.is-dark .apx-drawer__theme .ic-sun{display:inline-flex}
.is-dark .apx-drawer__theme .ic-moon{display:none}

/* bottom tab bar */
.apx-tabbar{display:none}
.apx-fsocial{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.apx-fsoc{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:var(--text-inverse) !important;font-size:13px;text-decoration:none}
.apx-fsoc:hover{background:rgba(255,255,255,.16)}
.apx-fsoc .ax-icon{color:var(--accent-on-dark)}

@media (max-width:960px){
.ax-header__login{display:none}
.ax-header__burger{width:44px;height:44px;border-radius:12px;background:var(--surface-brand-soft);color:var(--brand)}
.theme-btn{display:none !important}
.apx-tabbar{display:block;position:fixed;z-index:60;inset-inline:12px;bottom:calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);border:1px solid var(--border);border-radius:22px;box-shadow:0 14px 34px rgba(25,52,84,.18)}
.is-dark .apx-tabbar{background:rgba(17,35,59,.9)}
.apx-tabbar ul{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;margin:0;padding:6px;list-style:none}
.apx-tabbar__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:58px;border-radius:16px;color:var(--text-muted);text-decoration:none;-webkit-tap-highlight-color:transparent}
.apx-tabbar__ic{width:44px;height:30px;display:grid;place-items:center;border-radius:999px;transition:background-color .2s ease,color .2s ease}
.apx-tabbar__lb{font-size:11.5px;line-height:16px;font-weight:500;white-space:nowrap}
.apx-tabbar__item.is-active{color:var(--brand)}
.apx-tabbar__item.is-active .apx-tabbar__ic{background:var(--surface-brand-soft)}
.apx-tabbar__item.is-active .apx-tabbar__lb{font-weight:700}
.apx-tabbar__item.is-call{color:var(--brand)}
.apx-tabbar__item.is-call .apx-tabbar__ic{background:var(--brand);color:var(--on-brand);box-shadow:0 6px 14px rgba(57,88,134,.35)}
#parsaChatBtn{bottom:calc(92px + env(safe-area-inset-bottom)) !important}
.ax-footer{padding-bottom:calc(92px + env(safe-area-inset-bottom)) !important}
}

@media (max-width:767px){
.ax-footer{padding-top:36px !important;padding-inline:20px !important}
.ax-footer__grid{gap:28px 16px}
.ax-footer__about{align-items:center;text-align:center}
.ax-footer__about img{align-self:center}
.ax-footer__grid>.ax-footer__col:last-child{grid-column:1/-1;padding:16px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.ax-footer__bottom{align-items:center !important;text-align:center}
/* instructors: horizontal scroll */
.inst-grid{grid-auto-flow:column;grid-template-columns:none !important;grid-auto-columns:44%;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--gutter-m) * -1);padding:4px var(--gutter-m) 12px;scroll-padding-inline:var(--gutter-m);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.inst-grid::-webkit-scrollbar{display:none}
.inst-grid>*{scroll-snap-align:start}
.js-motion .inst-grid [data-reveal]{opacity:1;transform:none}
}
.apx-drawer__theme .theme-label{display:inline !important}

/* ---------- theme: dark is the default ---------- */
body.apex-canvas{background:#0a1628}
body.apex-canvas:has(.apx:not(.is-dark)){background:#ffffff}
.ax-root .apx-logo-d{display:none !important}
.ax-root.is-dark .apx-logo-l{display:none !important}
.ax-root.is-dark .apx-logo-d{display:block !important}
.big-logo{display:block;width:200px}
.big-logo img{width:100%;height:auto}
.apx-theme-ic{color:var(--brand)}
.apx-theme-ic .ic-sun,.apx-theme-ic .ic-moon{display:inline-flex}
.apx-theme-ic .ic-sun{display:none}
.is-dark .apx-theme-ic .ic-sun{display:inline-flex}
.is-dark .apx-theme-ic .ic-moon{display:none}
@media (max-width:960px){.apx-theme-ic{width:40px;height:40px}}

/* ---------- trust section, proof icon, upcoming course cards ---------- */
.trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-5)}
.trust-card{padding:24px;gap:10px}
.trust-card h3{margin:0;font-size:17px;line-height:28px;font-weight:700;color:var(--text)}
.trust-card p{margin:0;font-size:14px;line-height:24px;color:var(--text-muted)}
.trust-ic{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:var(--surface-brand-soft);color:var(--brand)}
.proof-ic{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--surface-brand-soft);color:var(--brand)}
.ax-course__soon{display:inline-flex;align-items:center;gap:6px;font-size:13px;line-height:20px;color:var(--text-muted)}
@media (max-width:1023px){.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.trust-grid{grid-template-columns:1fr}}
.ax-grid>div>.ax-course{width:100%;min-width:0}.ax-grid>div{min-width:0}

/* ---------- nav dropdowns (courses) ---------- */
.ax-header__nav .has-sub>a .ax-icon{transition:transform .2s ease;color:var(--text-subtle)}
.ax-header__nav .has-sub:hover>a .ax-icon,.ax-header__nav .has-sub:focus-within>a .ax-icon{transform:rotate(180deg);color:var(--brand)}
.ax-nav-sub{position:absolute;top:100%;right:50%;z-index:40;width:min(600px,80vw);padding:10px;margin-top:8px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 48px rgba(9,22,40,.18);opacity:0;visibility:hidden;transform:translate(50%,8px);transition:opacity .18s ease,transform .18s ease,visibility .18s}
.ax-nav-sub::before{content:"";position:absolute;inset-inline:0;top:-12px;height:12px}
.ax-header__nav .has-sub:hover>.ax-nav-sub,.ax-header__nav .has-sub:focus-within>.ax-nav-sub{opacity:1;visibility:visible;transform:translate(50%,0)}
.ax-nav-sub ul{display:grid !important;grid-template-columns:1fr 1fr;gap:2px !important;margin:0;padding:0;list-style:none}
.ax-header__nav .ax-nav-sub a{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;height:auto;min-height:56px;padding:8px 12px;border-radius:10px;white-space:normal}
.ax-nav-sub b{font-size:14px;line-height:22px;font-weight:700;color:var(--text)}
.ax-nav-sub small{font-size:12px;line-height:18px;color:var(--text-muted)}
.ax-header__nav .ax-nav-sub a:hover{background:var(--bg-muted)}
.ax-header__nav .ax-nav-sub a:hover b{color:var(--brand)}
.ax-header__nav .ax-nav-sub .ax-nav-sub__all{flex-direction:row;align-items:center;justify-content:center;gap:6px;min-height:44px;margin-top:6px;border-top:1px solid var(--border);border-radius:0 0 10px 10px;font-weight:700;color:var(--brand)}
.is-dark .ax-nav-sub{box-shadow:0 24px 48px rgba(0,0,0,.45)}
/* drawer sub lists */
.apx-drawer__nav details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:0 12px;border-radius:12px;font-size:16px;line-height:24px;font-weight:500;color:var(--text);cursor:pointer;list-style:none}
.apx-drawer__nav details>summary::-webkit-details-marker{display:none}
.apx-drawer__nav details>summary .ax-icon{color:var(--text-subtle);transition:transform .2s ease}
.apx-drawer__nav details[open]>summary .ax-icon{transform:rotate(180deg)}
.apx-drawer__nav details>summary.is-active{color:var(--brand);font-weight:700}
.apx-drawer__sub{margin:0 0 8px !important;padding:4px 12px 4px 0 !important;border-inline-start:2px solid var(--surface-brand-soft)}
.apx-drawer__sub li+li{border-top:0 !important}
.apx-drawer__nav .apx-drawer__sub a{min-height:40px;font-size:14px;line-height:22px;color:var(--text-muted)}
.apx-drawer__nav .apx-drawer__sub a.is-all{color:var(--brand);font-weight:700}
.apx-drawer__nav .apx-drawer__sub a.is-all .ax-icon{color:var(--brand)}
.is-dark .apx-drawer__nav li+li{border-top-color:rgba(143,179,232,.12)}

/* hero: certificate chip visible on mobile too */
@media (max-width:959px){
.k-chip2{display:block !important;left:0 !important;top:40% !important}
}
@media (max-width:480px){
.k-chip1 .chip,.k-chip2 .chip{padding:7px 12px 7px 7px;gap:8px}
.k-chip1 .chip-ic,.k-chip2 .chip-ic{width:32px;height:32px}
.k-chip1 strong,.k-chip2 strong{font-size:13px !important;line-height:20px !important}
.k-chip1 .chip span span,.k-chip2 .chip span span{font-size:11px !important;line-height:16px !important}
}
.ax-grid>div>.ax-card{width:100%;min-width:0}

/* hero (mobile): glasses a bit higher, certificate chip to the top-left */
@media (max-width:959px){
.k-glasses{top:-6% !important}
.k-chip2{left:0 !important;top:1% !important}
}
/* header nav: keep labels on one line */
.ax-header__nav a{white-space:nowrap}
@media (max-width:1360px){.ax-header__nav a{padding-inline:8px;font-size:14px}.ax-header__nav ul{gap:0}}
@media (max-width:1180px) and (min-width:961px){.ax-header__login span{display:none}.ax-header__login{padding-inline:10px}}

/* hero: desktop glasses higher; mobile handpiece below the certificate chip */
@media (min-width:960px){.k-glasses{top:-10% !important}}
@media (max-width:959px){.k-hand{top:34% !important;left:-1% !important}}

/* ---------- logo shine ---------- */
.ax-header__logo,.apx-drawer__logo{position:relative;overflow:hidden;isolation:isolate}
.ax-header__logo::after,.apx-drawer__logo::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(110deg,transparent 0%,transparent 38%,rgba(255,236,190,.95) 48%,#fff 50%,rgba(255,236,190,.95) 52%,transparent 62%,transparent 100%);background-size:300% 100%;background-position:120% 0;-webkit-mask:url(../img/logo.svg) center/contain no-repeat;mask:url(../img/logo.svg) center/contain no-repeat;animation:apx-shine 5s ease-in-out 1.2s infinite}
@keyframes apx-shine{0%{background-position:120% 0}40%,100%{background-position:-20% 0}}
@media (prefers-reduced-motion:reduce){.ax-header__logo::after,.apx-drawer__logo::after{animation:none;display:none}}

/* =====================================================================
   Footer v2
   ===================================================================== */
.ft{padding-top:28px !important}
.ft-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:40px;padding:22px 26px;border-radius:20px;background:linear-gradient(120deg,rgba(143,179,232,.22),rgba(143,179,232,.06));border:1px solid rgba(255,255,255,.12)}
.ft-cta b{display:block;font-size:19px;line-height:30px;font-weight:900;color:#fff}
.ft-cta span{font-size:14px;line-height:24px;color:rgba(255,255,255,.72)}
.ft-cta__btns{display:flex;flex-wrap:wrap;gap:10px}
.ft-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.3fr;gap:32px;padding-bottom:36px}
.ft-about{display:flex;flex-direction:column;gap:14px}
.ft-about img{height:44px;width:auto;align-self:flex-start}
.ft-about p{margin:0;font-size:14px;line-height:27px;color:var(--text-inverse-muted)}
.ft-col summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:default}
.ft-col summary::-webkit-details-marker{display:none}
.ft-col summary .ax-icon{display:none}
.ft h3{margin:0 0 16px;font-size:16px;line-height:26px;font-weight:700;color:var(--text-inverse)}
.ft-col ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.ft-col a{color:var(--text-inverse-muted);font-size:14px;line-height:22px;text-decoration:none;transition:color .15s ease}
.ft-col a:hover{color:#fff}
.ft-contact .ax-footer__contact{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:24px}
.ft-contact .ax-footer__contact a,.ft-contact .ax-footer__contact span{color:var(--text-inverse-muted)}
.ft-trust{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.ft-trust:empty{display:none}
.ft-trust img{display:block;max-height:96px;width:auto;border-radius:10px;background:#fff;padding:4px}
.ft-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px}
.ft-legal a{color:var(--text-inverse-muted);font-size:13px;text-decoration:none}
.ft-legal a:hover{color:#fff}
@media (max-width:1100px){.ft-grid{grid-template-columns:1fr 1fr 1fr}.ft-about,.ft-contact{grid-column:1/-1}}
@media (max-width:767px){
.ft-cta{flex-direction:column;align-items:stretch;text-align:center;padding:18px;margin-bottom:24px}
.ft-cta__btns{justify-content:center}
.ft-cta__btns .ax-btn{flex:1}
.ft-grid{grid-template-columns:1fr;gap:0}
.ft-about{align-items:center;text-align:center;margin-bottom:20px}
.ft-about img{align-self:center}
.ft-about .apx-fsocial{justify-content:center}
.ft-col{border-top:1px solid rgba(255,255,255,.1)}
.ft-col summary{cursor:pointer;padding:14px 2px}
.ft-col summary .ax-icon{display:block;color:var(--text-inverse-muted);transition:transform .2s}
.ft-col[open] summary .ax-icon{transform:rotate(180deg)}
.ft-col h3{margin:0}
.ft-col ul{padding:0 2px 16px}
.ft-contact{margin-top:8px;padding:16px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.ft-bottom{flex-direction:column;text-align:center}
.ft-legal{justify-content:center}
}

.ft-cta .ax-btn span{color:inherit;font-size:inherit;line-height:inherit}

/* 2.4.2 — academy dropdown + drawer sub spacing */
.ax-header__nav .has-sub.is-sm .ax-nav-sub{width:320px}
.ax-header__nav .has-sub.is-sm .ax-nav-sub ul{grid-template-columns:1fr}
.apx-drawer__sub{padding-block:6px !important}
.apx-drawer__sub li+li{margin-top:4px}
.apx-drawer__nav .apx-drawer__sub a{min-height:44px;padding-block:10px !important;line-height:24px;align-items:center}
.ft-credit{font-size:12px;line-height:20px;letter-spacing:.02em;color:var(--text-inverse-muted);text-decoration:none;opacity:.85;transition:color .15s,opacity .15s}
.ft-credit b{font-weight:800;color:#fff}
.ft-credit:hover{opacity:1;color:#fff}
