
:root{
  --navy:#061a44;--navy-2:#0a2458;--blue:#1264e8;--blue-2:#2f7df4;
  --pink:#e62e8b;--purple:#7c4dff;--green:#0ca678;--gold:#f9b233;
  --ink:#0b1636;--muted:#53627e;--line:#dce6f5;--surface:#ffffff;
  --soft:#f5f8ff;--soft-2:#edf3ff;--shadow:0 18px 50px rgba(6,26,68,.12);
  --shadow-sm:0 8px 25px rgba(6,26,68,.09);--radius:24px;--radius-sm:16px;
  --max:1200px;--header:78px;--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--surface);line-height:1.6;-webkit-font-smoothing:antialiased}
body.lock{overflow:hidden}
img,svg{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.section{padding:92px 0}
.section-sm{padding:62px 0}
.soft{background:linear-gradient(180deg,#f8fbff 0%,#f2f6ff 100%)}
.dark-section{background:linear-gradient(145deg,#041434,#092860);color:#fff;position:relative;overflow:hidden}
.dark-section:before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;background:rgba(124,77,255,.25);filter:blur(70px);top:-220px;right:-130px}
.section-head{max-width:760px;margin:0 auto 42px;text-align:center}
.section-head.left{text-align:left;margin-left:0}
.eyebrow{display:inline-flex;gap:8px;align-items:center;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:12px}
.eyebrow:before{content:"";width:25px;height:2px;background:currentColor}
h1,h2,h3,h4{line-height:1.12;margin:0 0 16px;letter-spacing:-.035em}
h1{font-size:clamp(2.65rem,6vw,5.3rem)}
h2{font-size:clamp(2.15rem,4vw,3.55rem)}
h3{font-size:1.35rem}
p{margin:0 0 18px;color:var(--muted)}
.dark-section p,.hero-dark p{color:#c7d5ef}
.lead{font-size:clamp(1.08rem,2vw,1.26rem);max-width:700px}
.gradient-text{background:linear-gradient(100deg,var(--blue),var(--purple) 48%,var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.skip-link{position:fixed;z-index:9999;top:8px;left:8px;background:#fff;color:#000;padding:10px 16px;border-radius:8px;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.announcement{background:linear-gradient(90deg,#061a44,#163d83,#7c4dff);color:#fff;font-size:.9rem}
.announcement .container{min-height:42px;display:flex;align-items:center;justify-content:center;gap:16px;text-align:center}
.announcement strong{color:#ffe085}
.announcement button{border:0;background:transparent;color:#fff;font-size:1.2rem;line-height:1;margin-left:auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(220,230,245,.85)}
.header-inner{height:var(--header);display:flex;align-items:center;gap:28px}
.logo{display:flex;align-items:center;flex:0 0 auto}
.logo img{width:190px;max-height:53px;object-fit:contain}
.nav{margin-left:auto;display:flex;align-items:center;gap:5px}
.nav>a,.nav-trigger{padding:10px 11px;border-radius:11px;color:#203253;font-weight:700;font-size:.92rem;border:0;background:transparent}
.nav>a:hover,.nav-trigger:hover{background:#eef4ff;color:var(--blue)}
.nav-item{position:relative}
.mega{position:absolute;top:calc(100% + 16px);right:-250px;width:min(760px,90vw);background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(3,1fr);gap:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s}
.nav-item:hover .mega,.nav-item:focus-within .mega,.nav-item.open .mega{opacity:1;visibility:visible;transform:none}
.mega a{display:block;padding:12px;border-radius:12px;color:#24385e;font-weight:650}
.mega a:hover{background:#f1f6ff;color:var(--blue)}
.mega strong{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);padding:8px 12px}
.header-actions{display:flex;align-items:center;gap:9px}
.icon-btn{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;color:var(--navy)}
.menu-btn{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:13px;padding:13px 19px;font-weight:800;border:1px solid transparent;transition:.2s;line-height:1.2}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(110deg,var(--blue),var(--purple));color:#fff;box-shadow:0 10px 25px rgba(18,100,232,.25)}
.btn-secondary{background:#fff;border-color:var(--line);color:var(--navy)}
.btn-pink{background:var(--pink);color:#fff}
.btn-ghost{color:#fff;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.08)}
.btn-sm{padding:10px 14px;font-size:.88rem}
.hero{min-height:calc(100vh - 120px);padding:70px 0 78px;display:flex;align-items:center;position:relative;overflow:hidden;background:
radial-gradient(circle at 12% 20%,rgba(18,100,232,.12),transparent 28%),
radial-gradient(circle at 88% 18%,rgba(230,46,139,.11),transparent 23%),
linear-gradient(180deg,#fbfdff,#f4f8ff)}
.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(18,100,232,.13) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(to bottom,black,transparent 85%)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:50px}
.hero h1{font-size:clamp(3rem,6.3vw,5.55rem)}
.hero-copy{max-width:680px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}
.trust-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:23px}
.trust-chip{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:9px 13px;border-radius:999px;font-weight:750;font-size:.84rem;color:#33486b}
.trust-chip i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e5f8f1;color:var(--green);font-style:normal}
.hero-visual{position:relative;min-height:520px;display:grid;place-items:center}
.hero-visual>img{width:100%;filter:drop-shadow(0 32px 38px rgba(6,26,68,.16));animation:floaty 7s ease-in-out infinite}
.float-card{position:absolute;background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.85);backdrop-filter:blur(15px);border-radius:16px;box-shadow:var(--shadow-sm);padding:13px 16px;font-weight:800;color:var(--navy);animation:floaty 5.5s ease-in-out infinite}
.float-card small{display:block;color:var(--muted);font-weight:650}
.float-card.one{top:13%;left:-2%}.float-card.two{top:23%;right:-4%;animation-delay:-1.2s}.float-card.three{bottom:11%;left:4%;animation-delay:-2.3s}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.logo-cloud{border-block:1px solid var(--line);background:#fff}
.logo-cloud .container{display:grid;grid-template-columns:auto repeat(6,1fr);align-items:center;gap:20px;min-height:88px}
.logo-cloud strong{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#6b7a95}
.logo-cloud span{text-align:center;font-weight:850;color:#536584}
.grid{display:grid;gap:22px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:0 8px 30px rgba(6,26,68,.055);transition:.25s}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#bfd3f8}
.card-icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;margin-bottom:20px;background:linear-gradient(135deg,#eaf2ff,#f3edff);color:var(--blue);font-size:1.5rem}
.card .link{color:var(--blue);font-weight:850;display:inline-flex;align-items:center;gap:6px}
.program-card{overflow:hidden;padding:0}
.program-card .visual{height:155px;padding:25px;background:linear-gradient(135deg,#0b2558,#1264e8);color:#fff;position:relative}
.program-card:nth-child(2n) .visual{background:linear-gradient(135deg,#5d33bf,#e62e8b)}
.program-card:nth-child(3n) .visual{background:linear-gradient(135deg,#006c72,#0ca678)}
.program-card .visual span{font-size:3rem;position:absolute;right:22px;bottom:12px}
.program-card .body{padding:23px}
.pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#edf4ff;color:var(--blue);font-size:.75rem;font-weight:850;letter-spacing:.04em}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.stat{padding:27px;border-radius:22px;background:#fff;border:1px solid var(--line);text-align:center}
.stat b{display:block;font-size:2.6rem;line-height:1;color:var(--navy);letter-spacing:-.05em}
.stat span{color:var(--muted);font-weight:700}
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.art-frame{background:linear-gradient(145deg,#e9f1ff,#f8eefe);border:1px solid #dbe7fb;border-radius:32px;padding:28px;position:relative}
.art-frame img{display:block;margin:auto}
.check-list{list-style:none;padding:0;margin:24px 0}
.check-list li{position:relative;padding:7px 0 7px 33px;color:#314568;font-weight:650}
.check-list li:before{content:"✓";position:absolute;left:0;top:6px;width:22px;height:22px;border-radius:50%;background:#dcf7ee;color:var(--green);display:grid;place-items:center;font-size:.78rem;font-weight:900}
.country-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.country{background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px 15px;font-weight:750;display:flex;align-items:center;gap:9px}
.country:hover{border-color:var(--blue);color:var(--blue)}
.pricing-shell{background:#fff;border:1px solid var(--line);border-radius:30px;padding:28px;box-shadow:var(--shadow)}
.price-controls{display:flex;align-items:center;gap:14px;justify-content:space-between;margin-bottom:25px;flex-wrap:wrap}
.select-wrap{display:flex;align-items:center;gap:10px}
select,input,textarea{width:100%;border:1px solid #cad8ee;border-radius:12px;background:#fff;color:var(--ink);padding:12px 13px;outline:none}
select:focus,input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(18,100,232,.12)}
.price-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.price-card{border:1px solid var(--line);border-radius:21px;padding:24px;position:relative}
.price-card.featured{border:2px solid var(--blue);box-shadow:0 18px 40px rgba(18,100,232,.12)}
.price-card .popular{position:absolute;right:16px;top:-13px;background:var(--blue);color:#fff;border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:850}
.price{font-size:2.55rem;letter-spacing:-.05em;font-weight:900;color:var(--navy)}
.price small{font-size:.88rem;color:var(--muted);font-weight:650;letter-spacing:0}
.journey{display:grid;grid-template-columns:.88fr 1.12fr;gap:30px;align-items:start}
.journey-progress{display:flex;gap:7px;margin:18px 0 24px}
.journey-progress span{height:6px;flex:1;border-radius:9px;background:#dce6f5}
.journey-progress span.active{background:linear-gradient(90deg,var(--blue),var(--purple))}
.journey-panel{background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:var(--shadow-sm)}
.journey-step{display:none}.journey-step.active{display:block}
.option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0}
.option-btn{padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff;text-align:left;font-weight:750;color:#324769}
.option-btn:hover,.option-btn.selected{border-color:var(--blue);background:#edf4ff;color:var(--blue)}
.journey-nav{display:flex;justify-content:space-between;gap:10px;margin-top:18px}
.result-box{background:linear-gradient(145deg,#061a44,#133b83);color:#fff;border-radius:26px;padding:30px;min-height:430px;position:sticky;top:110px;overflow:hidden}
.result-box:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;background:rgba(230,46,139,.25);filter:blur(30px);right:-90px;bottom:-80px}
.result-box p{color:#cbd9f1}.result-box .price{color:#fff}
.ai-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.ai-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:24px;border-radius:20px;backdrop-filter:blur(10px)}
.ai-card h3{color:#fff}.ai-card p{color:#c5d4ed}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 15px;font-weight:750;color:#4d5f7c}
.tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.dashboard-demo{border-radius:30px;overflow:hidden;background:#eef4ff;border:1px solid var(--line);box-shadow:var(--shadow)}
.dashboard-top{padding:16px 22px;background:#071c46;color:#fff;display:flex;align-items:center;justify-content:space-between}
.dashboard-body{display:grid;grid-template-columns:210px 1fr;min-height:430px}
.dashboard-nav{background:#fff;padding:20px;border-right:1px solid var(--line)}
.dashboard-nav span{display:block;padding:10px;border-radius:10px;color:#5a6982;font-weight:700;margin:3px 0}
.dashboard-nav span.active{background:#eaf2ff;color:var(--blue)}
.dashboard-main{padding:24px}
.chart{height:150px;background:linear-gradient(180deg,rgba(18,100,232,.18),rgba(18,100,232,.02));border-radius:16px;position:relative;overflow:hidden}
.chart svg{position:absolute;inset:0;width:100%;height:100%}
.tutor-card{position:relative}
.tutor-card .avatar{width:100%;aspect-ratio:1.25/1;object-fit:cover;border-radius:18px;background:#edf3ff}
.tutor-card .meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 0}
.rating{color:#9a6500;background:#fff7da;border-radius:999px;padding:5px 9px;font-size:.8rem;font-weight:850}
.disclosure{font-size:.78rem;color:#71809b;border-left:3px solid var(--gold);padding-left:10px}
.quote{font-size:1.04rem;color:#2c405f}
.quote:before{content:"“";font-size:3rem;color:#b7ccf3;display:block;line-height:.6}
.accordion{max-width:850px;margin:auto}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;padding:20px 2px;display:flex;justify-content:space-between;align-items:center;background:none;border:0;text-align:left;color:var(--navy);font-weight:850}
.faq-a{display:grid;grid-template-rows:0fr;transition:.25s}
.faq-a>div{overflow:hidden}
.faq-a p{padding:0 34px 18px 2px}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-item.open .faq-q span{transform:rotate(45deg)}
.blog-card{padding:0;overflow:hidden}
.blog-card .cover{height:160px;padding:25px;color:#fff;background:
linear-gradient(135deg,rgba(6,26,68,.78),rgba(124,77,255,.72)),
radial-gradient(circle at 80% 20%,#e62e8b,transparent 35%);display:flex;align-items:end}
.blog-card .body{padding:23px}
.blog-card time{font-size:.8rem;color:#73819b;font-weight:700}
.newsletter{display:grid;grid-template-columns:1fr auto;gap:12px;max-width:620px}
.newsletter button{white-space:nowrap}
.cta-band{padding:58px;border-radius:32px;background:
radial-gradient(circle at 80% 20%,rgba(230,46,139,.4),transparent 26%),
linear-gradient(120deg,#061a44,#1264e8 55%,#7c4dff);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}
.cta-band p{color:#d9e6fa;max-width:620px}
.page-hero{padding:90px 0 65px;background:
radial-gradient(circle at 80% 10%,rgba(230,46,139,.11),transparent 25%),
linear-gradient(180deg,#f9fbff,#eef4ff)}
.page-hero .container{display:grid;grid-template-columns:1.12fr .88fr;gap:45px;align-items:center}
.page-hero h1{font-size:clamp(2.7rem,5vw,4.7rem)}
.breadcrumbs{display:flex;gap:8px;align-items:center;font-size:.82rem;color:#71809a;margin-bottom:18px;flex-wrap:wrap}
.breadcrumbs a{color:var(--blue);font-weight:750}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:35px}
.prose{font-size:1.02rem}
.prose h2{font-size:2rem;margin-top:36px}.prose h3{margin-top:26px}
.prose ul{color:var(--muted)}
.aside-card{position:sticky;top:108px}
.form-card{background:#fff;border:1px solid var(--line);border-radius:25px;padding:27px;box-shadow:var(--shadow-sm)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.form-grid .full{grid-column:1/-1}
label{display:block;font-weight:750;color:#314466;font-size:.88rem}
label input,label select,label textarea{margin-top:6px;font-weight:500}
.notice{background:#fff9e5;border:1px solid #f2d88b;border-radius:14px;padding:13px 15px;color:#684d00;font-size:.88rem}
.success{background:#e8f8f2;border-color:#b4ead7;color:#075f43}
.filter-bar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:28px}
.filter-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;font-weight:750}
.filter-btn.active{background:var(--navy);color:#fff}
.policy-nav{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}
.policy-nav a{font-size:.82rem;padding:7px 11px;background:#eef4ff;color:var(--blue);border-radius:999px;font-weight:750}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px}
table{border-collapse:collapse;width:100%;min-width:640px}
th,td{padding:15px;text-align:left;border-bottom:1px solid var(--line)}
th{background:#f3f7ff;color:var(--navy)}
.footer{background:#041434;color:#fff;padding:70px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:35px}
.footer-logo{width:220px;filter:brightness(0) invert(1);margin-bottom:16px}
.footer p,.footer a{color:#b9c8e1}
.footer a{display:block;margin:8px 0;font-size:.9rem}
.footer a:hover{color:#fff}
.footer h3{font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:42px;padding-top:22px;display:flex;justify-content:space-between;gap:15px;color:#9eb0cf;font-size:.82rem}
.sticky-dock{position:fixed;z-index:90;right:18px;bottom:18px;display:flex;flex-direction:column;gap:9px}
.floating-btn{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;color:#fff;box-shadow:0 12px 30px rgba(6,26,68,.25);border:0;font-size:1.2rem}
.floating-btn.whatsapp{background:#16a765}.floating-btn.help{background:var(--blue)}
.sticky-cta{position:fixed;z-index:85;left:50%;bottom:17px;transform:translateX(-50%);display:flex;background:rgba(6,26,68,.94);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:6px;box-shadow:var(--shadow)}
.sticky-cta a{color:#fff;font-weight:800;padding:10px 16px;border-radius:11px;font-size:.85rem}
.sticky-cta a:first-child{background:var(--pink)}
.modal-backdrop{position:fixed;inset:0;z-index:300;background:rgba(1,10,29,.72);display:none;place-items:center;padding:20px}
.modal-backdrop.open{display:grid}
.modal{width:min(650px,100%);background:#fff;border-radius:28px;padding:32px;position:relative;box-shadow:0 30px 90px rgba(0,0,0,.3)}
.modal-close{position:absolute;right:17px;top:15px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff}
.chat-panel{position:fixed;z-index:200;right:18px;bottom:82px;width:min(370px,calc(100% - 36px));background:#fff;border-radius:22px;box-shadow:0 25px 65px rgba(6,26,68,.25);border:1px solid var(--line);display:none;overflow:hidden}
.chat-panel.open{display:block}
.chat-head{background:var(--navy);color:#fff;padding:16px 18px;display:flex;justify-content:space-between}
.chat-body{padding:18px;max-height:310px;overflow:auto}
.chat-msg{padding:10px 12px;border-radius:13px;background:#eef4ff;margin-bottom:10px;color:#304464;font-size:.9rem}
.chat-options{display:flex;gap:7px;flex-wrap:wrap;padding:0 18px 18px}
.chat-options button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;color:var(--blue);font-weight:750;font-size:.78rem}
.cookie{position:fixed;z-index:250;left:18px;bottom:18px;width:min(430px,calc(100% - 36px));padding:20px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);display:none}
.cookie.show{display:block}.cookie-actions{display:flex;gap:8px;flex-wrap:wrap}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}
.reveal.visible{opacity:1;transform:none}
.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}
html[data-theme="dark"]{--surface:#07152f;--ink:#edf4ff;--muted:#aebdd7;--line:#24395f;--soft:#0c1d3d;--soft-2:#10264d}
html[data-theme="dark"] body,html[data-theme="dark"] .site-header,html[data-theme="dark"] .card,html[data-theme="dark"] .pricing-shell,html[data-theme="dark"] .price-card,html[data-theme="dark"] .journey-panel,html[data-theme="dark"] .country,html[data-theme="dark"] .stat,html[data-theme="dark"] .form-card,html[data-theme="dark"] .modal,html[data-theme="dark"] .chat-panel,html[data-theme="dark"] .cookie{background:#07152f;color:#edf4ff}
html[data-theme="dark"] .hero,html[data-theme="dark"] .page-hero,html[data-theme="dark"] .soft{background:#0a1b39}
html[data-theme="dark"] .nav>a,html[data-theme="dark"] .nav-trigger,html[data-theme="dark"] .option-btn{color:#d9e5f7}
html[data-theme="dark"] .mega,html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] .option-btn,html[data-theme="dark"] .btn-secondary,html[data-theme="dark"] .icon-btn{background:#0e2347;color:#eef4ff}
html[data-theme="dark"] .logo img{content:url('/classlyone-logo-light.png')}
html[data-theme="dark"] .notice{background:#332b14;color:#ffe69b}
@media(max-width:1050px){
  .nav{position:fixed;inset:120px 15px auto;background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:stretch;max-height:calc(100vh - 145px);overflow:auto}
  .nav.open{display:flex}.nav>a,.nav-trigger{text-align:left;width:100%}.menu-btn{display:grid}.header-actions .btn{display:none}
  .mega{position:static;width:100%;grid-template-columns:repeat(2,1fr);box-shadow:none;display:none;opacity:1;visibility:visible;transform:none;margin-top:6px}
  .nav-item.open .mega{display:grid}
  .hero-grid,.page-hero .container,.split,.journey{grid-template-columns:1fr}
  .hero-visual{min-height:400px;max-width:650px;margin:auto}
  .grid-4{grid-template-columns:repeat(2,1fr)}.grid-3,.ai-grid{grid-template-columns:repeat(2,1fr)}
  .country-grid{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:repeat(3,1fr)}.footer-grid>div:first-child{grid-column:1/-1}
  .content-layout{grid-template-columns:1fr}.aside-card{position:static}
}
@media(max-width:720px){
  .container{width:min(100% - 28px,var(--max))}.section{padding:70px 0}.section-sm{padding:48px 0}
  .announcement .container{font-size:.78rem}.header-inner{height:70px}.logo img{width:150px}
  .hero{padding-top:45px;min-height:auto}.hero h1{font-size:clamp(2.7rem,13vw,4rem)}
  .hero-visual{min-height:310px}.float-card{font-size:.72rem;padding:9px 10px}
  .logo-cloud .container{grid-template-columns:repeat(2,1fr);padding-block:20px}.logo-cloud strong{grid-column:1/-1}
  .grid-2,.grid-3,.grid-4,.stats,.price-cards,.ai-grid,.form-grid{grid-template-columns:1fr}
  .country-grid{grid-template-columns:repeat(2,1fr)}
  .option-grid{grid-template-columns:1fr}.result-box{position:static;min-height:0}
  .dashboard-body{grid-template-columns:1fr}.dashboard-nav{display:none}
  .cta-band{padding:34px 24px;display:block}.cta-band .btn{margin-top:12px}
  .footer-grid{grid-template-columns:repeat(2,1fr)}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block}
  .newsletter{grid-template-columns:1fr}.sticky-cta{bottom:12px;width:calc(100% - 110px)}.sticky-cta a{flex:1;text-align:center;padding:10px 8px}
  .sticky-dock{right:12px;bottom:72px}.floating-btn{width:45px;height:45px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
@media print{.announcement,.site-header,.sticky-dock,.sticky-cta,.cookie,.footer{display:none!important}.section{padding:30px 0}}


/* ClasslyOne 4.1 production repair: photographic visual system, world map, login visibility and overflow fixes */
html,body{max-width:100%;overflow-x:hidden}
:root{--max:1280px}
.announcement .container{justify-content:space-between}
.announcement-copy{flex:1;text-align:center}
.top-account-links{display:flex;gap:8px;align-items:center;margin-left:auto}
.top-account-links a{color:#fff;border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.1);padding:6px 11px;border-radius:999px;font-size:.78rem;font-weight:850;white-space:nowrap}
.top-account-links a:hover{background:#fff;color:#0b2c69}
.mobile-login-links{display:none}
.account-shortcuts{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin:-10px 0 24px;color:#53627e;font-size:.9rem;font-weight:750}
.account-shortcuts a{color:#1264e8;background:#fff;border:1px solid #dce6f5;border-radius:999px;padding:7px 12px;font-weight:850;box-shadow:0 6px 18px rgba(6,26,68,.06)}
.hero-visual{min-height:540px;padding:16px}
.hero-visual>img.hero-photo{width:100%;height:520px;object-fit:cover;object-position:center;border-radius:38px;border:10px solid rgba(255,255,255,.88);box-shadow:0 32px 75px rgba(6,26,68,.2);filter:none;animation:none}
.hero-visual:before{content:"";position:absolute;inset:0;border-radius:46px;background:linear-gradient(135deg,rgba(18,100,232,.18),rgba(124,77,255,.12),rgba(230,46,139,.13));transform:rotate(-2deg);z-index:-1}
.float-card{z-index:2}
.program-card .visual.photo-visual{background-image:linear-gradient(180deg,rgba(6,26,68,.08),rgba(6,26,68,.86)),var(--program-image)!important;background-position:center;background-size:cover;height:190px;display:flex;flex-direction:column;justify-content:flex-end}
.program-card .visual.photo-visual span{background:rgba(255,255,255,.92);width:52px;height:52px;border-radius:16px;display:grid;place-items:center;right:18px;top:18px;bottom:auto;font-size:1.65rem;box-shadow:0 10px 26px rgba(6,26,68,.18)}
.program-card .visual.photo-visual small,.program-card .visual.photo-visual h3{position:relative;z-index:1}
.art-frame.photo-frame{padding:11px;background:linear-gradient(145deg,#e8f0ff,#fff);box-shadow:0 24px 65px rgba(6,26,68,.13);overflow:hidden}
.art-frame.photo-frame img[src*="/assets/images/"]{display:block;width:100%;height:430px;min-height:0;object-fit:cover;border-radius:23px;margin:0}
.page-hero .art-frame.photo-frame img[src*="/assets/images/"]{height:auto;aspect-ratio:4/3;object-fit:cover}
.art-frame.map-frame{padding:22px;background:linear-gradient(145deg,#eef4ff,#fbf7ff)}
.art-frame.map-frame img{height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;border-radius:18px!important}
.country-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.country{min-width:0;overflow-wrap:anywhere;padding:12px 13px;line-height:1.3}
.country>span:first-child{font-size:1.15rem;flex:0 0 auto}
.tutor-card .avatar{aspect-ratio:1.35/1;object-position:center 25%;border:1px solid #dce6f5}
.blog-card .cover{background-image:linear-gradient(180deg,rgba(6,26,68,.12),rgba(6,26,68,.86)),var(--blog-image)!important;background-position:center;background-size:cover}
.footer .footer-grid>div:nth-child(3) a[href*="portal/login"]{display:inline-flex;margin-right:8px;border:1px solid rgba(255,255,255,.18);padding:7px 10px;border-radius:10px}
@media(max-width:1180px){
  .nav>a,.nav-trigger{padding:9px 8px;font-size:.86rem}.logo img{width:175px}.header-inner{gap:17px}
}
@media(max-width:1050px){
  .top-account-links{display:none}
  .mobile-login-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 4px 3px}
  .mobile-login-links a{display:flex;justify-content:center;padding:12px;border-radius:12px;background:#edf4ff;color:#1264e8;font-weight:850;border:1px solid #d5e4fb}
  .nav{inset:112px 15px auto}
  .country-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  .hero-visual{min-height:400px;padding:4px}.hero-visual>img.hero-photo{height:390px;border-width:6px;border-radius:26px}
  .float-card{font-size:.78rem;padding:10px 12px}.float-card.one{top:8%;left:0}.float-card.two{top:18%;right:0}.float-card.three{bottom:5%;left:1%}
  .country-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .art-frame.photo-frame img[src*="/assets/images/"]{height:310px}
  .page-hero .art-frame.photo-frame img[src*="/assets/images/"]{height:auto}
  .account-shortcuts{margin-top:-5px}
}
@media(max-width:430px){.country-grid{grid-template-columns:1fr}.mobile-login-links{grid-template-columns:1fr}}

/* Final responsive containment */
.dark-section{overflow:clip;contain:paint}
.hero-grid,.hero-copy,.hero-visual,.split>*{min-width:0}
@media(max-width:720px){
  .float-card{max-width:175px;white-space:normal}
  .dark-section:before{width:330px;height:330px;right:-110px}
}
@media(max-width:720px){.dark-section:before{display:none}}
@media(max-width:720px){.hero-visual:before{transform:none;inset:4px}.hero-visual{overflow:visible}}

/* Final hero and mobile account polish */
.mobile-account-btn{display:none;color:#1264e8;border:1px solid #d5e4fb;background:#edf4ff;border-radius:12px;padding:9px 12px;font-weight:850;font-size:.84rem}
.hero h1{font-size:clamp(3rem,5vw,4.65rem);max-width:720px}
.hero-promise{color:#142c5c;font-weight:900}
@media(max-width:720px){
  .mobile-account-btn{display:inline-flex;align-items:center;justify-content:center}
  .hero{min-height:auto;padding:48px 0 66px}
  .hero h1{font-size:clamp(2.55rem,12vw,3.35rem);line-height:1.03}
  .hero-grid{gap:34px}
  .hero-copy .lead{font-size:1.03rem}
  .hero-visual{min-height:350px}
  .hero-visual>img.hero-photo{height:350px}
  .sticky-cta{display:none}
  .sticky-dock{right:10px;bottom:10px;gap:7px}
  .floating-btn{width:44px;height:44px;border-radius:14px;font-size:1rem}
}
/* Correct hero visual stacking so photography remains visible */
.hero-visual:before{z-index:0}
.hero-visual>img{position:relative;z-index:1}
/* Photography-first hero: remove decorative layers that could cover the image in some browsers */
.hero:after,.hero-visual:before{display:none!important}

/* ClasslyOne 4.2 client-ready promotional banner */
.announcement{position:relative;overflow:hidden;background:linear-gradient(100deg,#061a44 0%,#153f91 42%,#7c4dff 72%,#e62e8b 100%)}
.announcement:before{content:"";position:absolute;inset:-120% auto -120% -20%;width:22%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-20deg);animation:offerShine 5s ease-in-out infinite}
.offer-banner-link{min-height:48px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;color:#fff;font-weight:700;position:relative;z-index:1}
.offer-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#ffe45c;color:#382900;font-size:.76rem;font-weight:900;letter-spacing:.08em;box-shadow:0 4px 14px rgba(0,0,0,.18);animation:offerPulse 2.4s ease-in-out infinite}
.offer-detail{color:#e8efff;font-weight:600}.offer-cta{padding:5px 10px;border-radius:9px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);font-weight:850}
.announcement .top-account-links{position:relative;z-index:2}.announcement> .container>button{position:relative;z-index:2}
@keyframes offerShine{0%,58%{left:-25%}82%,100%{left:125%}}
@keyframes offerPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@media(max-width:780px){.announcement .container{padding:7px 0;gap:8px}.offer-banner-link{font-size:.78rem;gap:6px;line-height:1.25}.offer-detail{display:none}.offer-cta{padding:4px 7px}.announcement .top-account-links{display:none}}


/* ClasslyOne 4.5 fixed 50-minute class pricing calculator */
.calculator-fixed-value{width:100%;min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #b9cdef;border-radius:14px;background:linear-gradient(145deg,#f7faff,#edf4ff);color:#071b45;padding:0 14px;font-weight:900;box-shadow:0 5px 16px rgba(6,26,68,.04)}.calculator-fixed-value small{padding:4px 8px;border-radius:999px;background:#dfeaff;color:#1264e8;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}html[data-theme="dark"] .calculator-fixed-value{background:#0d2146;border-color:#29436f;color:#f5f8ff}html[data-theme="dark"] .calculator-fixed-value small{background:#173665;color:#bcd4ff}
.pricing-calculator-section{position:relative;overflow:clip;background:linear-gradient(180deg,#f7faff 0%,#fff 100%)}
.pricing-calculator-section:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(124,77,255,.14),transparent 68%);right:-180px;top:-210px;pointer-events:none}
.calculator-heading{max-width:780px;margin-inline:auto;text-align:center}
.pricing-calculator{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:26px;align-items:stretch;margin-top:34px;padding:14px;border:1px solid #dce6f5;border-radius:34px;background:rgba(255,255,255,.88);box-shadow:0 26px 80px rgba(6,26,68,.12);backdrop-filter:blur(18px)}
.calculator-controls{padding:30px 28px}
.calculator-step-label{display:flex;align-items:center;gap:13px;margin:0 0 16px}
.calculator-step-label>span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,#1264e8,#7c4dff);color:#fff;font-weight:900;box-shadow:0 8px 22px rgba(18,100,232,.25)}
.calculator-step-label div{display:grid}.calculator-step-label strong{color:#071b45;font-size:1rem}.calculator-step-label small{color:#71809b;font-weight:650}
.calculator-format{display:grid;grid-template-columns:1fr 1fr;gap:13px;border:0;padding:0;margin:0 0 30px;min-width:0}
.calculator-choice{position:relative;cursor:pointer;min-width:0}
.calculator-choice input{position:absolute;opacity:0;pointer-events:none}
.choice-card{min-height:112px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:16px;border:2px solid #dce6f5;border-radius:20px;background:#fff;transition:.2s ease;box-shadow:0 8px 24px rgba(6,26,68,.05)}
.choice-card .choice-icon{grid-row:1/3;width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:#eef4ff;color:#1264e8;font-weight:900;font-size:.92rem}
.choice-card>span:nth-child(2){display:grid;gap:2px;min-width:0}.choice-card b{color:#071b45}.choice-card small{color:#71809b;line-height:1.35}.choice-card>strong{grid-column:2;color:#1264e8;font-size:1.12rem}
.calculator-choice:hover .choice-card{transform:translateY(-2px);border-color:#aac9fb}
.calculator-choice input:checked+.choice-card{border-color:#1264e8;background:linear-gradient(145deg,#f7faff,#eef3ff);box-shadow:0 12px 28px rgba(18,100,232,.14)}
.calculator-choice input:focus-visible+.choice-card{outline:3px solid rgba(18,100,232,.24);outline-offset:3px}
.calculator-select-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.calculator-select-grid label{display:grid;gap:8px;color:#263b66;font-weight:800;font-size:.86rem}
.calculator-select-grid select{width:100%;min-height:50px;border:1px solid #ccd9ec;border-radius:14px;background:#fff;color:#071b45;padding:0 38px 0 14px;font:inherit;font-weight:750;box-shadow:0 5px 16px rgba(6,26,68,.04)}
.calculator-select-grid select:focus{border-color:#1264e8;outline:3px solid rgba(18,100,232,.13)}
.calculator-benefits{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}
.calculator-benefits span{padding:8px 11px;border-radius:999px;background:#edf9f5;color:#087f61;font-size:.78rem;font-weight:800;border:1px solid #cceee3}
.calculator-summary{position:relative;overflow:hidden;padding:34px;border-radius:25px;background:linear-gradient(145deg,#061a44 0%,#102f72 55%,#233f91 100%);color:#fff;box-shadow:0 20px 44px rgba(6,26,68,.23)}
.calculator-summary:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-95px;top:-110px;background:radial-gradient(circle,rgba(124,77,255,.75),transparent 68%)}
.calculator-summary>*{position:relative;z-index:1}
.calculator-offer{display:inline-flex;padding:7px 11px;border-radius:999px;background:#ffe45c;color:#3c2d00;font-size:.72rem;font-weight:950;letter-spacing:.08em;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.calculator-kicker{margin:24px 0 0;color:#c8d8ff;font-weight:760}
.calculator-total{font-size:clamp(3rem,6vw,4.8rem);line-height:1;font-weight:950;letter-spacing:-.05em;margin:8px 0;color:#fff}
.calculator-total-caption{margin:0 0 24px;color:#c8d8ff;font-size:.88rem}
.calculator-breakdown{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);margin-bottom:22px}
.calculator-breakdown>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:.88rem}.calculator-breakdown>div:last-child{border:0}
.calculator-breakdown span{color:#c8d8ff}.calculator-breakdown strong{text-align:right;color:#fff}
.calculator-breakdown .calculator-saving span,.calculator-breakdown .calculator-saving strong{color:#70efc1}
.calculator-cta{width:100%;justify-content:center;box-shadow:0 12px 30px rgba(230,46,139,.28)}
.calculator-note{font-size:.76rem;line-height:1.55;color:#c8d8ff;margin:16px 0 0}
html[data-theme="dark"] .pricing-calculator-section{background:linear-gradient(180deg,#081630,#071226)}
html[data-theme="dark"] .pricing-calculator{background:rgba(9,24,52,.92);border-color:#243c68}
html[data-theme="dark"] .calculator-step-label strong,html[data-theme="dark"] .choice-card b{color:#f5f8ff}
html[data-theme="dark"] .calculator-step-label small,html[data-theme="dark"] .choice-card small{color:#aebddb}
html[data-theme="dark"] .choice-card,html[data-theme="dark"] .calculator-select-grid select{background:#0d2146;border-color:#29436f;color:#f5f8ff}
html[data-theme="dark"] .calculator-choice input:checked+.choice-card{background:linear-gradient(145deg,#102a56,#172b5b)}
@media(max-width:960px){.pricing-calculator{grid-template-columns:1fr}.calculator-summary{min-height:0}.calculator-select-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.pricing-calculator{padding:8px;border-radius:25px}.calculator-controls,.calculator-summary{padding:24px 19px}.calculator-format,.calculator-select-grid{grid-template-columns:1fr}.choice-card{min-height:94px}.calculator-benefits{display:grid}.calculator-benefits span{text-align:center}.calculator-total{font-size:3.4rem}.calculator-breakdown>div{font-size:.82rem}}


/* ClasslyOne 4.5 unified grade-aware pricing calculator */
.level-pricing-section{position:relative;overflow:clip;background:linear-gradient(180deg,#f4f8ff 0%,#fff 100%)}
.level-pricing-section:before{content:"";position:absolute;width:540px;height:540px;border-radius:50%;right:-190px;top:-230px;background:radial-gradient(circle,rgba(18,100,232,.13),transparent 69%);pointer-events:none}
.level-pricing-heading{max-width:880px;margin-inline:auto;text-align:center}.level-pricing-heading .lead{font-size:1.02rem}
.level-pricing-calculator{position:relative;display:grid;grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr);gap:26px;margin-top:34px;padding:14px;border:1px solid #d9e5f6;border-radius:34px;background:rgba(255,255,255,.94);box-shadow:0 28px 85px rgba(6,26,68,.13);backdrop-filter:blur(18px)}
.level-calculator-controls{padding:28px}.level-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.level-field-grid label{display:grid;gap:8px;color:#071b45;font-weight:900;font-size:.88rem}.level-field-grid label>span{letter-spacing:.01em}
.level-field-grid select{width:100%;min-height:56px;border:1px solid #c8d8ee;border-radius:15px;background:#fff;color:#071b45;padding:0 42px 0 15px;font:inherit;font-weight:780;box-shadow:0 6px 18px rgba(6,26,68,.045)}
.level-field-grid select:focus{border-color:#1264e8;outline:3px solid rgba(18,100,232,.13)}
.level-selection-hint{margin:16px 0 0;padding:12px 14px;border-left:3px solid #1264e8;border-radius:0 12px 12px 0;background:#eff5ff;color:#405675;font-size:.82rem;font-weight:750}
.level-calculator-summary{position:relative;overflow:hidden;padding:32px;border-radius:25px;border:1px solid #cfe0f8;background:linear-gradient(155deg,#fbfdff 0%,#f2f7ff 100%);box-shadow:0 18px 48px rgba(6,26,68,.1)}
.level-calculator-summary:before{content:"";position:absolute;width:250px;height:250px;border-radius:50%;right:-105px;top:-115px;background:radial-gradient(circle,rgba(124,77,255,.22),transparent 67%)}.level-calculator-summary>*{position:relative;z-index:1}
.level-calculator-summary .eyebrow{display:block;margin:22px 0 8px;color:#078a75}.level-total-line{display:flex;align-items:baseline;gap:17px;flex-wrap:wrap;margin:0 0 14px}.level-old-total{font-size:2.25rem;color:#8b98ad;text-decoration:line-through;font-weight:900}.level-total-line strong{font-size:clamp(3rem,5vw,4.5rem);line-height:1;color:#1264e8;letter-spacing:-.055em}
.level-breakdown{min-height:58px;color:#263b66;font-size:1rem;line-height:1.55}.level-summary-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #d7e3f4;border-bottom:1px solid #d7e3f4;margin:20px 0}.level-summary-grid>div{padding:13px 8px;display:grid;gap:4px}.level-summary-grid>div:nth-child(odd){border-right:1px solid #d7e3f4}.level-summary-grid>div:nth-child(-n+2){border-bottom:1px solid #d7e3f4}.level-summary-grid span{font-size:.72rem;color:#71809b;text-transform:uppercase;letter-spacing:.07em;font-weight:850}.level-summary-grid strong{color:#071b45;font-size:.87rem}
.level-offer-message{padding:13px 14px;border:1px solid #ffc7e1;border-radius:15px;background:#fff3f9;color:#a10e5d;font-weight:850;font-size:.84rem;line-height:1.45;margin-bottom:18px}.level-calculator-cta{width:100%;justify-content:center}.selected-plan-summary{display:grid;gap:5px;margin-bottom:18px;padding:16px;border:1px solid #bcd4fb;border-radius:16px;background:linear-gradient(145deg,#f7faff,#edf4ff);color:#071b45}.selected-plan-summary strong{color:#1264e8}.selected-plan-summary span{font-weight:800}.selected-plan-summary small{color:#526684}
html[data-theme="dark"] .level-pricing-section{background:linear-gradient(180deg,#081630,#071226)}html[data-theme="dark"] .level-pricing-calculator{background:rgba(9,24,52,.94);border-color:#243c68}html[data-theme="dark"] .level-field-grid label,html[data-theme="dark"] .level-summary-grid strong{color:#f5f8ff}html[data-theme="dark"] .level-field-grid select{background:#0d2146;border-color:#29436f;color:#f5f8ff}html[data-theme="dark"] .level-selection-hint{background:#102a56;color:#bed0ef}html[data-theme="dark"] .level-calculator-summary{background:linear-gradient(155deg,#0d2146,#102a56);border-color:#29436f}html[data-theme="dark"] .level-breakdown{color:#c9d7ef}html[data-theme="dark"] .level-summary-grid{border-color:#29436f}html[data-theme="dark"] .level-summary-grid>div{border-color:#29436f}
@media(max-width:960px){.level-pricing-calculator{grid-template-columns:1fr}.level-calculator-summary{min-height:0}}
@media(max-width:680px){.level-pricing-calculator{padding:8px;border-radius:24px}.level-calculator-controls,.level-calculator-summary{padding:22px 18px}.level-field-grid{grid-template-columns:1fr}.level-total-line strong{font-size:3.35rem}.level-old-total{font-size:1.8rem}.level-summary-grid{grid-template-columns:1fr}.level-summary-grid>div:nth-child(odd){border-right:0}.level-summary-grid>div{border-bottom:1px solid #d7e3f4!important}.level-summary-grid>div:last-child{border-bottom:0!important}}


/* ClasslyOne 4.6 moving top discount strip */
.announcement{
  position:sticky;
  top:0;
  z-index:1100;
  overflow:hidden;
  background:linear-gradient(90deg,#071b45 0%,#1264e8 36%,#7c4dff 68%,#f04496 100%);
  box-shadow:0 10px 28px rgba(8,31,73,.18);
}
.announcement::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.10),transparent 24%,transparent 76%,rgba(255,255,255,.08));
}
.announcement .container{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:0 12px;
}
.offer-banner-link.offer-banner-marquee{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  flex-wrap:nowrap;
}
.offer-banner-link.offer-banner-marquee:hover .offer-marquee-track{animation-play-state:paused}
.offer-badge{
  flex:0 0 auto;
  padding:6px 12px;
  background:linear-gradient(135deg,#fff1a8,#ffd247);
  color:#372300;
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 8px 18px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.65);
}
.offer-marquee-window{
  position:relative;
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,black 6%,black 94%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,black 6%,black 94%,transparent);
}
.offer-marquee-track{
  display:flex;
  align-items:center;
  gap:16px;
  width:max-content;
  white-space:nowrap;
  font-weight:900;
  letter-spacing:.01em;
  animation:offerTicker 28s linear infinite;
}
.offer-marquee-track span{display:inline-flex;align-items:center}
.offer-dot{color:#ffe085;font-size:1rem;opacity:.95}
.offer-copy-stack{display:none;min-width:0;line-height:1.2}
.offer-copy-stack strong{display:block;color:#fff3bf}
.offer-detail{color:#eff5ff;font-weight:700}
.offer-cta{
  flex:0 0 auto;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.38);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24);
}
.announcement .top-account-links a{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.26);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}
.announcement>.container>button{
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.10);
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:999px;
  flex:0 0 auto;
}
@keyframes offerTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:980px){
  .announcement .container{min-height:50px;padding:0 10px}
  .offer-marquee-track{animation-duration:24s;font-size:.84rem}
}
@media(max-width:780px){
  .offer-banner-link.offer-banner-marquee{gap:10px}
  .offer-marquee-window{display:block}
  .offer-marquee-track{font-size:.77rem;gap:12px}
  .offer-badge{padding:5px 10px;font-size:.72rem}
  .offer-cta{padding:5px 9px;font-size:.74rem}
}
@media(max-width:560px){
  .announcement .container{gap:8px;min-height:48px}
  .offer-banner-link.offer-banner-marquee{gap:8px}
  .offer-marquee-window{display:none}
  .offer-copy-stack{display:block;font-size:.75rem}
  .offer-cta{display:none}
  .offer-badge{padding:4px 8px;font-size:.68rem}
}
@media (prefers-reduced-motion: reduce){
  .announcement:before,.offer-badge,.offer-marquee-track{animation:none!important}
}


/* ClasslyOne 4.7 universal smart class-based pricing */
.smart-pricing-universal{scroll-margin-top:110px}
.smart-price-principles{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px}
.smart-price-principles span{padding:8px 12px;border:1px solid #bfe8dc;border-radius:999px;background:#effcf8;color:#087a65;font-size:.8rem;font-weight:900}
.smart-calculator-topline{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;padding-bottom:17px;border-bottom:1px solid #e0e9f7;color:#071b45}
.smart-calculator-topline>div{display:flex;align-items:center;gap:9px}.smart-calculator-topline small{color:#667895;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
.smart-live-dot{width:10px;height:10px;border-radius:50%;background:#12b886;box-shadow:0 0 0 6px rgba(18,184,134,.12);animation:smartLivePulse 2s ease-in-out infinite}
.smart-level-scale{display:flex;align-items:center;gap:8px;margin-top:18px;padding:13px 14px;border-radius:15px;background:#f7faff;border:1px solid #dce8f8;overflow:auto;color:#4b5f80;font-size:.7rem;font-weight:850;white-space:nowrap}.smart-level-scale i{height:2px;min-width:18px;flex:1;background:linear-gradient(90deg,#2aa7ff,#7c4dff,#f04496)}
.smart-pricing-note{padding:12px 14px;border-radius:14px;background:#edf5ff;color:#24456f;font-weight:800;font-size:.82rem;line-height:1.5;margin:0 0 12px}
.smart-price-footnote{display:block;color:#667895;line-height:1.5;margin-top:12px}
.smart-aside-card{position:sticky;top:118px}.journey-smart-price{display:grid;gap:5px;margin:18px 0;padding:16px;border-radius:16px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2)}.journey-smart-price strong{color:#fff}.journey-smart-price small{color:#cfe0ff}
@keyframes smartLivePulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.82);opacity:.72}}
html[data-theme="dark"] .smart-calculator-topline{color:#f5f8ff;border-color:#29436f}html[data-theme="dark"] .smart-level-scale{background:#0d2146;border-color:#29436f;color:#bed0ef}html[data-theme="dark"] .smart-pricing-note{background:#102a56;color:#c9d7ef}
@media(max-width:680px){.smart-price-principles{display:grid;grid-template-columns:1fr 1fr}.smart-price-principles span{text-align:center}.smart-calculator-topline{align-items:flex-start}.smart-calculator-topline small{text-align:right;font-size:.65rem}.smart-level-scale{padding:11px 12px}.smart-aside-card{position:relative;top:auto}}
@media(max-width:560px){
  .announcement .container{min-height:48px;padding:0 8px}
  .offer-marquee-window{display:block!important;min-width:0!important}
  .offer-copy-stack{display:none!important}
  .offer-marquee-track{animation:offerTicker 18s linear infinite!important;font-size:.72rem!important;gap:11px!important}
  .offer-banner-link.offer-banner-marquee{min-width:0;gap:7px}
  .offer-badge{font-size:.65rem;padding:4px 7px}
  .announcement>.container>button{width:28px;height:28px;font-size:.95rem}
}

/* Keep the moving offer strip and sticky navigation from overlapping */
body:has(.announcement) .site-header{top:54px}
@media(max-width:980px){body:has(.announcement) .site-header{top:50px}}
@media(max-width:560px){body:has(.announcement) .site-header{top:48px}}


/* ClasslyOne 4.8 — mobile calculator overflow protection */
html,body{max-width:100%;overflow-x:clip}
.smart-pricing-universal,
.smart-pricing-universal .container,
.level-pricing-calculator,
.level-calculator-controls,
.level-calculator-summary,
.level-field-grid,
.level-summary-grid,
.level-selection-hint,
.smart-level-scale{min-width:0;max-width:100%}
.level-pricing-calculator{width:100%}
.level-calculator-controls,.level-calculator-summary{width:100%;overflow:hidden}
.level-field-grid>*{min-width:0}
.level-field-grid select,.calculator-fixed-value{min-width:0;max-width:100%}
.level-calculator-summary>*{min-width:0;max-width:100%}
.level-total-line{min-width:0;max-width:100%}
.level-total-line strong,.level-old-total{max-width:100%;overflow-wrap:anywhere;word-break:normal}
.level-breakdown,.smart-pricing-note,.level-offer-message,.smart-price-footnote,
.level-summary-grid strong,.level-selection-hint{overflow-wrap:anywhere;word-break:normal;white-space:normal}
.smart-level-scale{width:100%;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.sticky-dock{max-width:52px}
@media(max-width:960px){
  .level-pricing-calculator{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:680px){
  .smart-pricing-universal .container{width:calc(100% - 20px);max-width:calc(100% - 20px)}
  .level-pricing-calculator{grid-template-columns:minmax(0,1fr);gap:12px;padding:6px;border-radius:22px}
  .level-calculator-controls,.level-calculator-summary{padding:20px 14px;border-radius:18px}
  .level-field-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .level-field-grid select{font-size:16px;padding-right:38px}
  .calculator-fixed-value{font-size:15px;gap:8px}
  .smart-calculator-topline{align-items:flex-start;flex-direction:column;gap:8px}
  .smart-price-principles{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .smart-price-principles span{padding:8px 7px;font-size:.72rem;overflow-wrap:anywhere}
  .level-total-line{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:7px 12px}
  .level-old-total{font-size:clamp(1.55rem,8.5vw,2rem);line-height:1.05}
  .level-total-line strong{font-size:clamp(2.75rem,15vw,3.65rem);line-height:.95;letter-spacing:-.055em}
  .level-breakdown{min-height:0;font-size:.94rem;line-height:1.55;margin:14px 0 18px}
  .level-summary-grid{grid-template-columns:minmax(0,1fr);margin:16px 0}
  .level-summary-grid>div{min-width:0;padding:12px 6px}
  .level-summary-grid span{font-size:.68rem}
  .level-summary-grid strong{font-size:.9rem}
  .smart-pricing-note,.level-offer-message{padding:12px;font-size:.8rem}
  .level-calculator-cta{max-width:100%;text-align:center;padding-inline:12px}
  .smart-level-scale{padding:11px 10px;font-size:.65rem;gap:7px}
  .sticky-dock{right:8px!important;bottom:10px!important;width:44px;max-width:44px;gap:7px}
  .floating-btn{width:42px!important;height:42px!important;min-width:42px;max-width:42px;border-radius:13px!important}
}
@media(max-width:390px){
  .smart-pricing-universal .container{width:calc(100% - 14px);max-width:calc(100% - 14px)}
  .level-calculator-controls,.level-calculator-summary{padding:18px 12px}
  .level-total-line{grid-template-columns:minmax(0,1fr);gap:5px}
  .level-old-total{font-size:1.65rem}
  .level-total-line strong{font-size:clamp(2.6rem,16vw,3.25rem)}
  .calculator-offer{font-size:.68rem;padding:6px 9px}
  .level-calculator-summary .eyebrow{font-size:.7rem;letter-spacing:.1em}
  .smart-price-principles{grid-template-columns:minmax(0,1fr)}
}
@supports not (overflow-x:clip){html,body{overflow-x:hidden}}
