:root{--ink:#17113f;--ink-2:#201858;--panel:#2b2070;--line:rgba(248,244,255,.18);--paper:#f7f4ff;--white:#fffdf7;--mint:#f8c828;--aqua:#7f6de0;--sage:#c7bdf2;--muted:#c2badb;--danger:#ff8c7d;--max:1360px;--pad:clamp(20px,4vw,64px);--radius:3px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--white);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.025;z-index:1000;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.skip-link{position:absolute;left:-9999px;top:8px;background:var(--mint);color:var(--ink);padding:12px;z-index:999}.skip-link:focus{left:8px}.site-header{height:88px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--pad);position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:1px solid transparent;transition:.35s;background:linear-gradient(180deg,rgba(23,17,63,.78),transparent);backdrop-filter:blur(0)}.site-header.is-scrolled{height:72px;border-color:var(--line);background:rgba(23,17,63,.86);backdrop-filter:blur(16px)}.brand{display:flex;gap:11px;align-items:center;font-family:Manrope,sans-serif;font-weight:600;letter-spacing:-.04em;line-height:1}.brand em{font-style:normal;color:var(--sage);font-weight:400}.brand-mark{width:35px;fill:none;stroke:var(--mint);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.primary-nav{display:flex;align-items:center;gap:34px}.primary-nav a,.account-nav>a:first-child{font-size:13px;transition:.2s}.primary-nav a:hover,.account-nav>a:first-child:hover{color:var(--mint)}.account-nav{justify-self:end;display:flex;align-items:center;gap:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:15px 22px;background:var(--mint);color:var(--ink);border:1px solid var(--mint);font-size:14px;font-weight:600;transition:.25s;cursor:pointer}.button:hover{background:transparent;color:var(--mint)}.button-small{padding:12px 18px;gap:18px}.button-outline{background:transparent;color:var(--white);border-color:var(--line)}.button-outline:hover{border-color:var(--mint);color:var(--mint)}.button-dark{background:var(--ink);color:var(--white);border-color:var(--ink)}.button-dark:hover{background:transparent;color:var(--ink)}.nav-toggle{display:none;background:none;border:0;padding:8px}.nav-toggle span{display:block;width:25px;height:1px;background:white;margin:7px}.flash{position:fixed;top:88px;left:50%;transform:translateX(-50%);z-index:99;padding:13px 20px;background:var(--mint);color:var(--ink);box-shadow:0 12px 40px #0008}.flash-error{background:var(--danger)}main{overflow:hidden}.hero{min-height:100vh;display:grid;align-content:end;padding:160px var(--pad) 64px;position:relative;border-bottom:1px solid var(--line)}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 25%,rgba(127,109,224,.15),transparent 28%),linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.04) 50%,transparent 50.1%);pointer-events:none}.hero-grid{width:100%;max-width:var(--max);margin:auto;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:5vw;align-items:end;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:600;color:var(--aqua);margin:0 0 30px}.hero h1,.page-hero h1{font:500 clamp(56px,8vw,126px)/.92 Manrope,sans-serif;letter-spacing:-.07em;margin:0;max-width:1000px}.hero h1 span,.page-hero h1 span{color:var(--sage);font-weight:400}.hero-aside{border-left:1px solid var(--line);padding-left:34px;margin-bottom:10px}.hero-aside p{color:var(--muted);font-size:17px;max-width:390px;margin:0 0 32px}.hero-metric{margin:80px auto 0;max-width:var(--max);width:100%;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);position:relative}.metric{padding:26px 20px 0 0;border-right:1px solid var(--line);min-height:112px}.metric:not(:first-child){padding-left:24px}.metric strong{display:block;font:500 clamp(28px,3vw,48px)/1 Manrope;color:var(--mint);letter-spacing:-.05em}.metric span{display:block;color:var(--muted);font-size:12px;margin-top:9px}.section{padding:clamp(90px,12vw,180px) var(--pad);border-bottom:1px solid var(--line)}.section-inner{max-width:var(--max);margin:auto}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:50px;margin-bottom:75px}.section-heading h2{font:500 clamp(40px,5vw,78px)/1.02 Manrope;margin:0;letter-spacing:-.06em;max-width:900px}.section-heading p:last-child{max-width:680px;color:var(--muted);font-size:18px;margin:20px 0 0}.light-section{background:var(--paper);color:var(--ink)}.light-section .eyebrow{color:#5d4ab7}.light-section .section-heading p:last-child{color:#645b88}.narrative-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.narrative-panel{padding:clamp(40px,6vw,90px);min-height:590px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.narrative-panel:first-child{border-right:1px solid var(--line);background:#120d35}.narrative-panel.solution{background:var(--mint);color:var(--ink)}.narrative-panel h3{font:500 clamp(38px,4vw,65px)/1 Manrope;letter-spacing:-.055em;margin:0;max-width:520px}.narrative-panel p{max-width:460px;color:var(--muted);font-size:18px}.narrative-panel.solution p{color:#2c225f}.line-art{height:190px;position:relative}.line-art:before,.line-art:after{content:"";position:absolute;border:1px solid currentColor;opacity:.35;border-radius:50%}.line-art:before{width:260px;height:260px;left:15%;top:20px}.line-art:after{width:160px;height:160px;left:48%;top:-60px}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(23,17,63,.16);border:1px solid rgba(23,17,63,.16)}.program-card{background:var(--paper);padding:38px;min-height:430px;display:flex;flex-direction:column;transition:.3s;transform-style:preserve-3d}.program-card:hover{background:var(--white)}.program-icon{width:55px;height:55px;border:1px solid #b8addd;display:grid;place-items:center;border-radius:50%;font:500 18px Manrope;margin-bottom:auto}.program-card .tag{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#594d98}.program-card h3{font:500 30px/1.08 Manrope;letter-spacing:-.045em;margin:15px 0}.program-card p{color:#645b88;margin:0 0 26px}.text-link{font-size:13px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:4px;align-self:flex-start}.audience-section{background:var(--aqua);color:var(--ink)}.audience-wrap{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1.5fr;gap:7vw}.audience-wrap h2{font:500 clamp(44px,6vw,90px)/.98 Manrope;letter-spacing:-.065em;margin:0}.audience-list{border-top:1px solid #30208033}.audience-item{display:flex;justify-content:space-between;padding:20px 4px;border-bottom:1px solid #30208033;font:500 clamp(18px,2vw,27px) Manrope}.audience-item span{font:400 12px DM Sans;color:#4b3b91}.outcomes{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center}.outcome-visual{aspect-ratio:1;position:relative;border:1px solid var(--line);display:grid;place-items:center;background:radial-gradient(circle,rgba(248,200,40,.14),transparent 60%)}.outcome-ring{width:66%;height:66%;border:1px solid var(--mint);border-radius:50%;display:grid;place-items:center;animation:pulse 4s ease-in-out infinite}.outcome-ring:before{content:"";position:absolute;width:44%;height:44%;border:1px solid var(--aqua);border-radius:50%}.outcome-ring strong{font:500 clamp(60px,8vw,116px)/1 Manrope;color:var(--mint);letter-spacing:-.07em}.outcome-copy h2{font:500 clamp(44px,5vw,76px)/1 Manrope;letter-spacing:-.06em;margin:0 0 30px}.check-list{list-style:none;padding:0;margin:35px 0}.check-list li{padding:15px 0;border-bottom:1px solid var(--line);color:var(--muted)}.check-list li:before{content:"+";color:var(--mint);margin-right:16px}.testimonial{background:#eee9fb;color:var(--ink);text-align:center}.quote{font:500 clamp(34px,4.7vw,72px)/1.13 Manrope;letter-spacing:-.055em;max-width:1120px;margin:20px auto 45px}.quote-author{font-size:13px;color:#574d7c}.page-hero{padding:190px var(--pad) 90px;border-bottom:1px solid var(--line);min-height:66vh;display:flex;align-items:end}.page-hero-inner{max-width:var(--max);margin:auto;width:100%}.page-hero p.page-intro{color:var(--muted);font-size:clamp(18px,2vw,25px);max-width:720px;margin:50px 0 0}.content-grid{display:grid;grid-template-columns:1fr 2fr;gap:7vw}.content-grid .lead{font:500 clamp(34px,4vw,58px)/1.08 Manrope;letter-spacing:-.05em;margin:0}.prose{color:var(--muted);font-size:18px}.prose p{margin:0 0 25px}.value-grid,.team-grid,.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.value-card,.team-card,.blog-card{border:1px solid var(--line);padding:32px;min-height:280px}.value-card span{color:var(--mint);font:500 15px Manrope}.value-card h3,.team-card h3,.blog-card h3{font:500 27px/1.12 Manrope;letter-spacing:-.04em;margin:55px 0 18px}.value-card p,.team-card p,.blog-card p{color:var(--muted)}.team-card{min-height:380px;background:var(--ink-2);display:flex;flex-direction:column;justify-content:flex-end}.team-avatar{height:150px;background:linear-gradient(135deg,rgba(127,109,224,.16),rgba(248,200,40,.05));position:relative;overflow:hidden;margin:-32px -32px 30px}.team-avatar:before{content:"";width:90px;height:90px;border:1px solid var(--aqua);border-radius:50%;position:absolute;left:calc(50% - 45px);top:28px}.team-avatar:after{content:"";width:180px;height:100px;border:1px solid var(--aqua);border-radius:50% 50% 0 0;position:absolute;left:calc(50% - 90px);top:112px}.service-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:45px}.service-tabs button{border:1px solid var(--line);background:none;color:var(--muted);padding:11px 18px;cursor:pointer}.service-tabs button.active,.service-tabs button:hover{background:var(--mint);border-color:var(--mint);color:var(--ink)}[hidden]{display:none!important}.detail-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:7vw}.detail-layout h2{font:500 clamp(42px,5vw,72px)/1 Manrope;letter-spacing:-.06em;margin:0 0 35px}.detail-sidebar{border:1px solid var(--line);padding:35px;height:max-content;position:sticky;top:100px}.price{font:500 55px/1 Manrope;color:var(--mint);letter-spacing:-.06em}.detail-meta{margin:28px 0;border-top:1px solid var(--line)}.detail-meta p{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0;margin:0;color:var(--muted)}.detail-meta strong{color:var(--white);font-weight:500}.curriculum{margin-top:60px}.curriculum article{border-top:1px solid var(--line);padding:22px 0;display:grid;grid-template-columns:60px 1fr;gap:20px}.curriculum span{color:var(--mint)}.blog-card{min-height:370px;display:flex;flex-direction:column}.blog-card .tag{color:var(--aqua);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.blog-card .text-link{margin-top:auto}.article{max-width:850px;margin:auto}.article h1{font:500 clamp(48px,7vw,90px)/.98 Manrope;letter-spacing:-.065em;margin:20px 0 35px}.article-content{font-size:20px;line-height:1.8;color:#d7d0ed}.contact-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}.contact-list p{padding:18px 0;border-bottom:1px solid var(--line);margin:0}.form-card{background:var(--paper);color:var(--ink);padding:clamp(28px,5vw,70px)}.field{margin-bottom:22px}.field label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:9px}.field input,.field textarea,.field select{width:100%;border:0;border-bottom:1px solid #8075a1;background:transparent;padding:13px 0;outline:none;color:var(--ink)}.field input:focus,.field textarea:focus{border-color:#493b8c}.field textarea{min-height:120px;resize:vertical}.auth-shell{min-height:100vh;padding:150px var(--pad) 80px;display:grid;place-items:center;background:radial-gradient(circle at 25% 20%,rgba(127,109,224,.1),transparent 35%)}.auth-card{width:min(540px,100%);border:1px solid var(--line);padding:clamp(28px,5vw,60px)}.auth-card h1{font:500 clamp(42px,6vw,64px)/1 Manrope;letter-spacing:-.06em;margin:0 0 15px}.auth-card>p{color:var(--muted);margin-bottom:35px}.auth-card .field input{color:var(--white);border-color:var(--line)}.auth-card .button{width:100%;margin-top:15px}.auth-meta{text-align:center;color:var(--muted);font-size:13px;margin-top:25px}.checkout-grid{display:grid;grid-template-columns:1fr .75fr;gap:7vw}.order-summary{border:1px solid var(--line);padding:35px;height:max-content}.order-line{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line)}.paypal-notice{background:#fff;color:#302080;padding:18px;margin:25px 0;font-size:14px}.site-footer{background:#0d0928}.footer-callout{min-height:520px;padding:100px var(--pad);position:relative;border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.footer-callout h2{font:500 clamp(52px,8vw,118px)/.94 Manrope;letter-spacing:-.07em;margin:0}.footer-callout h2 span{color:var(--sage);font-weight:400}.circle-link{width:110px;height:110px;border-radius:50%;background:var(--mint);color:var(--ink);display:grid;place-items:center;font-size:36px;position:absolute;right:var(--pad);bottom:90px;transition:.3s}.circle-link:hover{transform:rotate(45deg) scale(1.05)}.footer-grid{padding:75px var(--pad);display:grid;grid-template-columns:2fr repeat(3,1fr);gap:6vw;border-bottom:1px solid var(--line)}.footer-grid h3{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--sage);margin:0 0 25px}.footer-grid>div>a:not(.brand){display:block;color:var(--muted);font-size:14px;margin:13px 0}.footer-brand p{color:var(--muted);max-width:360px;margin-top:28px}.footer-bottom{padding:24px var(--pad);display:flex;justify-content:space-between;color:#746a95;font-size:11px}.footer-bottom div{display:flex;gap:25px}.reveal{opacity:1;transform:none}.animations-ready .reveal{opacity:0;transform:translateY(35px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.animations-ready .reveal.is-visible{opacity:1;transform:none}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.outcome-ring{animation:none}}@media(max-width:1050px){.site-header{grid-template-columns:1fr auto}.primary-nav{display:none;position:fixed;inset:72px 0 auto;background:var(--ink);padding:30px var(--pad);flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.primary-nav.is-open{display:flex}.nav-toggle{display:block;justify-self:end}.account-nav{display:none}.hero-grid,.section-heading,.content-grid,.audience-wrap,.outcomes,.detail-layout,.contact-grid,.checkout-grid{grid-template-columns:1fr}.hero-aside{border-left:0;padding:0;margin-top:40px;max-width:520px}.hero-metric{grid-template-columns:repeat(3,1fr)}.metric{border-bottom:1px solid var(--line)}.program-grid,.value-grid,.team-grid,.blog-grid{grid-template-columns:repeat(2,1fr)}.narrative-grid{grid-template-columns:1fr}.narrative-panel:first-child{border-right:0;border-bottom:1px solid var(--line)}.detail-sidebar{position:relative;top:auto}.footer-grid{grid-template-columns:2fr 1fr 1fr}.footer-grid>div:last-child{display:none}}@media(max-width:680px){.site-header{height:72px}.brand span{font-size:14px}.hero{padding-top:120px;min-height:auto}.hero h1,.page-hero h1{font-size:54px}.hero-metric{grid-template-columns:repeat(2,1fr);margin-top:55px}.metric{padding:18px 10px 18px 0;min-height:90px}.metric:not(:first-child){padding-left:12px}.program-grid,.value-grid,.team-grid,.blog-grid{grid-template-columns:1fr}.program-card{min-height:350px}.narrative-panel{min-height:480px}.page-hero{padding-top:130px;min-height:540px}.footer-callout{min-height:440px;padding-bottom:150px}.circle-link{width:80px;height:80px;left:var(--pad);right:auto;bottom:50px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:15px}.footer-bottom div{flex-wrap:wrap}.quote{text-align:left}.section{padding-top:80px;padding-bottom:80px}}

/* Theme, supplied identity, materials, and full-page ordering additions */
.theme-logo{display:block;width:142px;height:46px;object-fit:contain;object-position:left center}.theme-logo-light{display:none}.brand-logo{min-width:142px}.site-footer .theme-logo{width:168px;height:58px}.theme-toggle{border:0;background:transparent;color:inherit;padding:0;cursor:pointer}.theme-toggle-track{width:58px;height:30px;border:1px solid var(--line);border-radius:30px;display:grid;grid-template-columns:1fr 1fr;align-items:center;position:relative;background:rgba(255,255,255,.05)}.theme-toggle-icon{font-size:11px;text-align:center;z-index:1;opacity:.7}.theme-toggle-thumb{position:absolute;width:22px;height:22px;left:4px;top:3px;border-radius:50%;background:var(--mint);transition:transform .25s ease;box-shadow:0 3px 12px rgba(0,0,0,.25)}[data-theme=light] .theme-toggle-thumb{transform:translateX(27px)}
.flow-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin:0 0 50px;border:1px solid var(--line)}.flow-progress span{padding:15px;background:var(--ink-2);font-size:12px;color:var(--muted)}.flow-progress span.active{background:var(--mint);color:var(--ink);font-weight:600}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.choice-card{display:block;position:relative;padding:40px;background:var(--panel);min-height:280px;cursor:pointer;transition:.25s}.choice-card:hover,.choice-card:has(input:checked){background:#352580;transform:translateY(-3px)}.choice-card input{position:absolute;opacity:0}.choice-card strong{font-family:Manrope,sans-serif;font-size:30px;display:block;margin:30px 0 12px}.choice-card .choice-number{color:var(--mint);font-size:12px;letter-spacing:.15em}.choice-card p{color:var(--muted);max-width:500px}.subject-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.subject-option{border:1px solid var(--line);padding:18px 20px;display:flex;align-items:center;gap:12px;background:var(--panel);cursor:pointer}.subject-option:has(input:checked){border-color:var(--mint);box-shadow:inset 3px 0 var(--mint)}.calendar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.date-option,.slot-option{position:relative}.date-option input,.slot-option input{position:absolute;opacity:0}.date-option label,.slot-option label{display:block;border:1px solid var(--line);padding:18px;text-align:center;cursor:pointer;background:var(--panel)}.date-option input:checked+label,.slot-option input:checked+label{background:var(--mint);border-color:var(--mint);color:var(--ink)}.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:25px}.flow-actions{display:flex;align-items:center;justify-content:space-between;margin-top:40px;gap:20px}.material-meta{display:flex;justify-content:space-between;gap:20px;padding-top:25px;margin-top:auto;border-top:1px solid var(--line);color:var(--muted)}.material-meta strong{color:var(--mint);font-size:22px}.auth-logo{display:block;width:180px;height:80px;object-fit:contain;margin:0 auto 25px}.auth-logo-light{display:none}.order-form .field{margin-bottom:18px}.email-note{border-left:3px solid var(--aqua);padding:14px 18px;background:rgba(127,109,224,.08);margin:24px 0}.dashboard-logo{width:190px;height:70px;object-fit:contain;object-position:left center;margin-bottom:30px}

[data-theme=light]{--ink:#f7f4ff;--ink-2:#eee9fb;--panel:#fffdf7;--line:rgba(23,17,63,.16);--paper:#17113f;--white:#17113f;--sage:#5b4fa0;--muted:#6c6484;color-scheme:light}[data-theme=light] body{background:var(--ink);color:var(--white)}[data-theme=light] body:before{opacity:.018}[data-theme=light] .theme-logo-dark,[data-theme=light] .auth-logo-dark{display:none}[data-theme=light] .theme-logo-light,[data-theme=light] .auth-logo-light{display:block}[data-theme=light] .site-header{background:linear-gradient(180deg,rgba(247,244,255,.94),transparent)}[data-theme=light] .site-header.is-scrolled{background:rgba(247,244,255,.94)}[data-theme=light] .hero{background:radial-gradient(circle at 70% 35%,rgba(127,109,224,.16),transparent 38%),var(--ink)}[data-theme=light] .page-hero{background:linear-gradient(150deg,#f7f4ff 20%,#eee9fb)}[data-theme=light] .light-section{background:#fff;color:#17113f}[data-theme=light] .light-section .program-card,[data-theme=light] .light-section .value-card{background:#f7f4ff}[data-theme=light] .form-card,[data-theme=light] .auth-card,[data-theme=light] .order-summary{background:#fffdf7}[data-theme=light] input,[data-theme=light] textarea,[data-theme=light] select{color:#17113f}[data-theme=light] .site-footer{background:#17113f;color:#fffdf7}[data-theme=light] .site-footer .theme-logo-light{display:none}[data-theme=light] .site-footer .theme-logo-dark{display:block}[data-theme=light] .choice-card:hover,[data-theme=light] .choice-card:has(input:checked){background:#e6dfff}[data-theme=light] .button:not(.button-dark){color:#17113f}[data-theme=light] .admin-tabs a.active{color:#17113f}
@media(max-width:980px){.theme-toggle{margin-right:8px}.choice-grid{grid-template-columns:1fr}.calendar-grid{grid-template-columns:repeat(2,1fr)}.slot-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.theme-logo{width:132px;height:48px}.brand-logo{min-width:132px}.theme-toggle-track{width:52px}.theme-toggle-thumb{width:20px;height:20px;top:4px}.theme-toggle-icon{font-size:9px}.subject-grid,.calendar-grid{grid-template-columns:1fr}.flow-progress{grid-template-columns:1fr 1fr}.flow-progress span{padding:10px}.choice-card{padding:28px;min-height:240px}.flow-actions{align-items:stretch;flex-direction:column-reverse}.flow-actions .button{width:100%;text-align:center}.slot-grid{grid-template-columns:1fr 1fr}}

/* 2026 visual refinement: prominent identity, accessible light mode, and glass surfaces */
:root {
  --glass-surface: rgba(43, 32, 112, .56);
  --glass-surface-strong: rgba(32, 24, 88, .82);
  --glass-border: rgba(199, 189, 242, .22);
  --glass-highlight: rgba(255, 255, 255, .08);
  --glass-shadow: 0 24px 70px rgba(7, 4, 28, .28);
  --glass-shadow-hover: 0 30px 80px rgba(7, 4, 28, .38);
  --card-radius: 18px;
}

.site-header {
  height: 104px;
}

.site-header.is-scrolled {
  height: 84px;
}

.theme-logo {
  width: 248px;
  height: 86px;
}

.brand-logo {
  min-width: 248px;
}

.site-footer .theme-logo {
  width: 306px;
  height: 112px;
}

.site-footer .brand-logo {
  min-width: 306px;
}

/* A shared glass language for cards, checkout, dashboards, and forms. */
.program-grid {
  gap: 22px;
  background: transparent;
  border: 0;
}

.narrative-panel,
.program-card,
.value-card,
.team-card,
.blog-card,
.detail-sidebar,
.form-card,
.auth-card,
.order-summary,
.choice-card,
.subject-option,
.date-option label,
.slot-option label,
.admin-form,
.admin-table,
.detail-meta {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--glass-border);
  border-radius: var(--card-radius);
  background: linear-gradient(145deg, var(--glass-highlight), transparent 44%), var(--glass-surface);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  backdrop-filter: blur(18px) saturate(135%);
}

.narrative-panel::after,
.program-card::after,
.value-card::after,
.team-card::after,
.blog-card::after,
.detail-sidebar::after,
.form-card::after,
.auth-card::after,
.order-summary::after,
.choice-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(120deg, rgba(248, 200, 40, .09), transparent 28%, transparent 72%, rgba(127, 109, 224, .12));
}

.program-card > *,
.value-card > *,
.team-card > *,
.blog-card > *,
.detail-sidebar > *,
.form-card > *,
.auth-card > *,
.order-summary > *,
.choice-card > * {
  position: relative;
  z-index: 1;
}

.program-card,
.value-card,
.team-card,
.blog-card,
.detail-sidebar,
.choice-card,
.subject-option,
.date-option label,
.slot-option label {
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease, background-color .28s ease;
}

.program-card:hover,
.value-card:hover,
.team-card:hover,
.blog-card:hover,
.detail-sidebar:hover,
.choice-card:hover,
.subject-option:hover,
.date-option label:hover,
.slot-option label:hover {
  transform: translateY(-7px);
  border-color: rgba(248, 200, 40, .5);
  box-shadow: var(--glass-shadow-hover);
}

.narrative-grid {
  gap: 22px;
}

.narrative-panel:first-child {
  border: 1px solid var(--glass-border);
  background: linear-gradient(145deg, rgba(127, 109, 224, .16), transparent 48%), var(--glass-surface-strong);
}

.narrative-panel.solution {
  border-color: rgba(248, 200, 40, .62);
  background: linear-gradient(145deg, rgba(255, 255, 255, .3), transparent 42%), rgba(248, 200, 40, .92);
  box-shadow: 0 28px 70px rgba(248, 200, 40, .16);
}

.choice-grid {
  gap: 22px;
  background: transparent;
  border: 0;
}

.choice-card:hover,
.choice-card:has(input:checked) {
  background: linear-gradient(145deg, rgba(248, 200, 40, .11), transparent 45%), rgba(53, 37, 128, .82);
  border-color: var(--mint);
}

.detail-meta {
  padding: 0 24px;
  background: rgba(43, 32, 112, .38);
}

.admin-table {
  border-collapse: separate;
  border-spacing: 0;
}

.admin-table th,
.admin-table td {
  background: rgba(23, 17, 63, .18);
}

.form-card,
.auth-card {
  color: var(--white);
}

.field input,
.field textarea,
.field select,
.auth-card .field input,
.admin-form input,
.admin-form textarea,
.admin-form select,
.inline-form input,
.inline-form select,
.inline-form button {
  color: var(--white);
}

input::placeholder,
textarea::placeholder {
  color: var(--muted);
  opacity: .88;
}

/* Replace the numeric outcome with an editorial nursing-learning photograph. */
.outcome-visual {
  padding: clamp(24px, 4vw, 54px);
  overflow: hidden;
  border-radius: 24px;
  background: radial-gradient(circle at 50% 38%, rgba(248, 200, 40, .2), transparent 52%), rgba(43, 32, 112, .32);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

.outcome-visual::before,
.outcome-visual::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.outcome-visual::before {
  width: 72%;
  height: 72%;
  border: 1px solid rgba(248, 200, 40, .48);
}

.outcome-visual::after {
  width: 88%;
  height: 88%;
  border: 1px solid rgba(127, 109, 224, .28);
}

.outcome-frame {
  width: min(78%, 470px);
  aspect-ratio: 4 / 5;
  margin: 0;
  position: relative;
  z-index: 1;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, .32);
  background: var(--ink-2);
  box-shadow: 0 24px 70px rgba(7, 4, 28, .42);
}

.outcome-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 52% center;
  filter: saturate(.88) contrast(1.04);
}

.outcome-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 48%, rgba(23, 17, 63, .9) 100%);
  pointer-events: none;
}

.outcome-frame figcaption {
  position: absolute;
  z-index: 1;
  left: 24px;
  right: 24px;
  bottom: 22px;
  color: #fffdf7;
}

.outcome-frame figcaption span,
.outcome-frame figcaption strong {
  display: block;
}

.outcome-frame figcaption span {
  margin-bottom: 5px;
  color: #f8c828;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.outcome-frame figcaption strong {
  font: 600 clamp(17px, 2vw, 25px)/1.15 Manrope, sans-serif;
  letter-spacing: -.035em;
}

/* High-contrast light theme: every component keeps a clear text/background relationship. */
[data-theme=light] {
  --ink: #f7f4ff;
  --ink-2: #eee9fb;
  --panel: #fffdf7;
  --paper: #17113f;
  --white: #17113f;
  --sage: #4e3e91;
  --muted: #59516e;
  --line: rgba(23, 17, 63, .2);
  --glass-surface: rgba(255, 253, 247, .76);
  --glass-surface-strong: rgba(255, 255, 255, .9);
  --glass-border: rgba(48, 32, 128, .17);
  --glass-highlight: rgba(255, 255, 255, .72);
  --glass-shadow: 0 20px 60px rgba(48, 32, 128, .11);
  --glass-shadow-hover: 0 28px 70px rgba(48, 32, 128, .18);
}

[data-theme=light] body,
[data-theme=light] .page-hero,
[data-theme=light] .hero {
  color: #17113f;
}

[data-theme=light] .site-header,
[data-theme=light] .site-header.is-scrolled {
  border-color: rgba(48, 32, 128, .13);
  color: #17113f;
}

[data-theme=light] .primary-nav.is-open {
  background: rgba(247, 244, 255, .98);
  color: #17113f;
}

[data-theme=light] .nav-toggle span {
  background: #17113f;
}

[data-theme=light] .hero-aside,
[data-theme=light] .page-hero p.page-intro,
[data-theme=light] .prose,
[data-theme=light] .section-heading p:last-child,
[data-theme=light] .check-list li,
[data-theme=light] .auth-card > p,
[data-theme=light] .auth-meta,
[data-theme=light] .choice-card p,
[data-theme=light] .value-card p,
[data-theme=light] .team-card p,
[data-theme=light] .blog-card p {
  color: #59516e;
}

[data-theme=light] .eyebrow,
[data-theme=light] .blog-card .tag,
[data-theme=light] .program-card .tag {
  color: #4a358f;
}

[data-theme=light] .program-card,
[data-theme=light] .value-card,
[data-theme=light] .team-card,
[data-theme=light] .blog-card,
[data-theme=light] .detail-sidebar,
[data-theme=light] .form-card,
[data-theme=light] .auth-card,
[data-theme=light] .order-summary,
[data-theme=light] .choice-card,
[data-theme=light] .subject-option,
[data-theme=light] .date-option label,
[data-theme=light] .slot-option label,
[data-theme=light] .admin-form,
[data-theme=light] .admin-table,
[data-theme=light] .detail-meta {
  color: #17113f;
  background: linear-gradient(145deg, rgba(255, 255, 255, .88), rgba(255, 253, 247, .68));
}

[data-theme=light] .team-card {
  background: linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(238, 233, 251, .78));
}

[data-theme=light] .detail-meta strong,
[data-theme=light] .price,
[data-theme=light] .material-meta strong,
[data-theme=light] .admin-table,
[data-theme=light] .admin-table th,
[data-theme=light] .admin-table td {
  color: #17113f;
}

[data-theme=light] .admin-table th {
  color: #4a358f;
}

[data-theme=light] .admin-table th,
[data-theme=light] .admin-table td {
  background: rgba(255, 255, 255, .42);
}

[data-theme=light] .field input,
[data-theme=light] .field textarea,
[data-theme=light] .field select,
[data-theme=light] .auth-card .field input,
[data-theme=light] .admin-form input,
[data-theme=light] .admin-form textarea,
[data-theme=light] .admin-form select,
[data-theme=light] .inline-form input,
[data-theme=light] .inline-form select,
[data-theme=light] .inline-form button {
  color: #17113f;
  border-color: rgba(48, 32, 128, .36);
}

[data-theme=light] .inline-form input,
[data-theme=light] .inline-form select,
[data-theme=light] .inline-form button {
  background: rgba(255, 255, 255, .8);
}

[data-theme=light] input::placeholder,
[data-theme=light] textarea::placeholder {
  color: #6a627d;
}

[data-theme=light] .button,
[data-theme=light] .button:not(.button-dark) {
  color: #17113f;
}

[data-theme=light] .button:hover,
[data-theme=light] .button:not(.button-dark):hover {
  color: #302080;
  border-color: #302080;
  background: rgba(48, 32, 128, .06);
}

[data-theme=light] .button-dark {
  color: #fffdf7;
  background: #17113f;
  border-color: #17113f;
}

[data-theme=light] .button-dark:hover {
  color: #17113f;
  background: transparent;
}

[data-theme=light] .service-tabs button {
  color: #51486a;
  border-color: rgba(48, 32, 128, .24);
}

[data-theme=light] .service-tabs button.active,
[data-theme=light] .service-tabs button:hover,
[data-theme=light] .date-option input:checked + label,
[data-theme=light] .slot-option input:checked + label,
[data-theme=light] .flow-progress span.active {
  color: #17113f;
  background: #f8c828;
  border-color: #f8c828;
}

[data-theme=light] .flow-progress span {
  color: #51486a;
  background: rgba(255, 255, 255, .72);
}

[data-theme=light] .choice-card:hover,
[data-theme=light] .choice-card:has(input:checked),
[data-theme=light] .subject-option:has(input:checked) {
  color: #17113f;
  background: linear-gradient(145deg, rgba(248, 200, 40, .2), rgba(238, 233, 251, .88));
}

[data-theme=light] .article-content {
  color: #403852;
}

[data-theme=light] .text-link,
[data-theme=light] a.text-link,
[data-theme=light] .auth-meta a,
[data-theme=light] .article a,
[data-theme=light] .admin-table a {
  color: #3b277f;
}

[data-theme=light] .paypal-notice {
  color: #2c225f;
  background: rgba(248, 200, 40, .2);
  border: 1px solid rgba(158, 119, 0, .28);
}

[data-theme=light] .email-note {
  color: #403852;
  background: rgba(127, 109, 224, .1);
}

[data-theme=light] .outcome-visual {
  border-color: rgba(48, 32, 128, .18);
  background: radial-gradient(circle at 50% 38%, rgba(248, 200, 40, .26), transparent 54%), rgba(255, 255, 255, .52);
}

/* Footer remains intentionally dark in both themes, with explicit readable colors. */
[data-theme=light] .site-footer,
.site-footer {
  color: #fffdf7;
}

[data-theme=light] .site-footer .eyebrow,
.site-footer .eyebrow {
  color: #a99be8;
}

[data-theme=light] .site-footer .footer-brand p,
[data-theme=light] .site-footer .footer-grid > div > a:not(.brand),
[data-theme=light] .site-footer .footer-bottom,
.site-footer .footer-brand p,
.site-footer .footer-grid > div > a:not(.brand),
.site-footer .footer-bottom {
  color: #c9c1df;
}

[data-theme=light] .site-footer .footer-grid h3,
.site-footer .footer-grid h3 {
  color: #f8c828;
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .narrative-panel,
  .program-card,
  .value-card,
  .team-card,
  .blog-card,
  .detail-sidebar,
  .form-card,
  .auth-card,
  .order-summary,
  .choice-card,
  .subject-option,
  .date-option label,
  .slot-option label,
  .admin-form,
  .admin-table,
  .detail-meta {
    background-color: var(--ink-2);
  }

  [data-theme=light] .narrative-panel,
  [data-theme=light] .program-card,
  [data-theme=light] .value-card,
  [data-theme=light] .team-card,
  [data-theme=light] .blog-card,
  [data-theme=light] .detail-sidebar,
  [data-theme=light] .form-card,
  [data-theme=light] .auth-card,
  [data-theme=light] .order-summary,
  [data-theme=light] .choice-card,
  [data-theme=light] .subject-option,
  [data-theme=light] .date-option label,
  [data-theme=light] .slot-option label,
  [data-theme=light] .admin-form,
  [data-theme=light] .admin-table,
  [data-theme=light] .detail-meta {
    background-color: #fffdf7;
  }
}

@media (max-width: 1240px) {
  .theme-logo {
    width: 188px;
    height: 68px;
  }

  .brand-logo {
    min-width: 188px;
  }
}

@media (max-width: 1050px) {
  .site-header {
    height: 92px;
  }

  .site-header.is-scrolled {
    height: 78px;
  }

  .primary-nav {
    inset: 78px 0 auto;
  }
}

@media (max-width: 680px) {
  .site-header,
  .site-header.is-scrolled {
    height: 78px;
  }

  .theme-logo {
    width: 158px;
    height: 56px;
  }

  .brand-logo {
    min-width: 158px;
  }

  .site-footer .theme-logo {
    width: 224px;
    height: 82px;
  }

  .site-footer .brand-logo {
    min-width: 224px;
  }

  .outcome-visual {
    min-height: 460px;
    padding: 30px;
  }

  .outcome-frame {
    width: min(82%, 350px);
  }

  .outcome-frame figcaption {
    left: 18px;
    right: 18px;
    bottom: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .program-card,
  .value-card,
  .team-card,
  .blog-card,
  .detail-sidebar,
  .choice-card,
  .subject-option,
  .date-option label,
  .slot-option label {
    transition: none;
  }

  .program-card:hover,
  .value-card:hover,
  .team-card:hover,
  .blog-card:hover,
  .detail-sidebar:hover,
  .choice-card:hover,
  .subject-option:hover,
  .date-option label:hover,
  .slot-option label:hover {
    transform: none;
  }
}

/* Specificity guards for legacy light-section and solution-card rules. */
[data-theme=light] .light-section .program-card,
[data-theme=light] .light-section .value-card {
  color: #17113f;
  background: linear-gradient(145deg, rgba(255, 255, 255, .9), rgba(247, 244, 255, .74));
  border-color: rgba(48, 32, 128, .17);
}

[data-theme=light] .narrative-panel:first-child {
  color: #17113f;
  background: linear-gradient(145deg, rgba(127, 109, 224, .13), rgba(255, 255, 255, .86));
}

[data-theme=light] .narrative-panel.solution {
  color: #17113f;
  background: linear-gradient(145deg, rgba(255, 255, 255, .34), transparent 42%), rgba(248, 200, 40, .9);
  border-color: rgba(151, 111, 0, .36);
}

[data-theme=light] .narrative-panel.solution p {
  color: #342866;
}

/* Final requested refinement: stronger identity, edge-to-edge progress media, and complete portals. */
.theme-logo {
  width: 236px;
  height: 82px;
}

.brand-logo {
  min-width: 236px;
}

.site-footer .theme-logo {
  width: 292px;
  height: 104px;
}

.site-footer .brand-logo {
  min-width: 292px;
}

.auth-logo {
  width: 214px;
  height: 92px;
}

.dashboard-logo {
  width: 228px;
  height: 84px;
  object-fit: contain;
  object-position: left center;
  margin-bottom: 28px;
}

/* The photograph fills the complete square with no exposed frame area. */
.outcome-visual {
  padding: 0;
  display: block;
  min-height: 0;
}

.outcome-frame {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  border: 0;
  border-radius: inherit;
}

.outcome-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 52% center;
}

.mobile-auth-links {
  display: none;
}

.consent-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 22px;
  color: var(--white);
  font-size: 13px;
}

.consent-row input {
  width: 17px;
  height: 17px;
  margin-top: 2px;
  accent-color: var(--mint);
  flex: 0 0 auto;
}

.admin-entry {
  margin-top: 12px;
}

.admin-auth-shell {
  background: radial-gradient(circle at 70% 20%, rgba(248, 200, 40, .09), transparent 32%), radial-gradient(circle at 20% 70%, rgba(127, 109, 224, .13), transparent 36%);
}

.admin-auth-card {
  border-top: 3px solid var(--mint);
}

.security-note {
  margin: 20px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}

.dashboard-hero {
  min-height: 550px;
}

.dashboard-shell {
  padding-top: 80px;
}

.dashboard-layout,
.account-layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: clamp(42px, 6vw, 90px);
  align-items: start;
}

.dashboard-sidebar {
  position: sticky;
  top: 116px;
  padding: 28px;
  border: 1px solid var(--glass-border);
  border-radius: var(--card-radius);
  background: linear-gradient(145deg, var(--glass-highlight), transparent 45%), var(--glass-surface);
  box-shadow: var(--glass-shadow);
}

.dashboard-sidebar .eyebrow {
  margin-bottom: 18px;
}

.dashboard-sidebar a {
  display: block;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  color: #fffdf7;
  font-size: 13px;
  transition: color .2s, padding-left .2s;
}

.dashboard-sidebar a:hover,
.dashboard-sidebar a.active {
  padding-left: 8px;
  color: var(--mint);
}

.dashboard-content,
.account-content {
  min-width: 0;
}

.dashboard-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 26px;
  margin-bottom: 34px;
}

.dashboard-section-heading .eyebrow {
  margin-bottom: 14px;
}

.dashboard-section-heading h2,
.settings-panel h2,
.settings-callout h2 {
  margin: 0;
  font: 500 clamp(32px, 4vw, 56px)/1.04 Manrope, sans-serif;
  letter-spacing: -.055em;
}

.dashboard-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.stat-card,
.course-progress-card,
.resource-row,
.dashboard-list-row,
.progress-overview,
.settings-panel,
.settings-callout {
  position: relative;
  border: 1px solid var(--glass-border);
  border-radius: var(--card-radius);
  background: linear-gradient(145deg, var(--glass-highlight), transparent 44%), var(--glass-surface);
  box-shadow: var(--glass-shadow);
  overflow: hidden;
}

.stat-card {
  min-height: 178px;
  padding: 25px;
}

.stat-card span,
.stat-card p,
.course-progress-card p,
.dashboard-list-row p,
.settings-copy p,
.settings-callout p {
  color: #fffdf7;
}

.stat-card span {
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.stat-card strong {
  display: block;
  margin: 22px 0 10px;
  color: var(--mint);
  font: 500 42px/1 Manrope, sans-serif;
  letter-spacing: -.05em;
}

.stat-card strong.stat-date {
  font-size: 34px;
}

.stat-card p {
  margin: 0;
  font-size: 13px;
}

.dashboard-section {
  padding: 82px 0 0;
  scroll-margin-top: 100px;
}

.dashboard-empty {
  min-height: 360px;
}

.course-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.course-progress-card {
  min-height: 330px;
  padding: 32px;
}

.course-card-top,
.course-card-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.course-card-top > span:last-child,
.pending-label,
.completion-badge {
  color: var(--mint);
  font-size: 12px;
  font-weight: 600;
}

.course-progress-card h3,
.resource-row h3,
.dashboard-list-row h3 {
  margin: 42px 0 12px;
  color: #fffdf7;
  font: 500 27px/1.12 Manrope, sans-serif;
  letter-spacing: -.04em;
}

.progress-track {
  height: 6px;
  margin: 28px 0;
  border-radius: 10px;
  background: rgba(255, 255, 255, .15);
  overflow: hidden;
}

.progress-track > div {
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: var(--mint);
  transition: width 1s ease;
}

.progress-overview {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 46px;
  align-items: center;
  padding: clamp(30px, 5vw, 58px);
}

.progress-ring {
  --progress: 0;
  width: 170px;
  height: 170px;
  display: grid;
  place-content: center;
  text-align: center;
  border-radius: 50%;
  background: radial-gradient(circle closest-side, #211958 76%, transparent 78% 99%), conic-gradient(var(--mint) calc(var(--progress) * 1%), rgba(255, 255, 255, .12) 0);
}

.progress-ring strong {
  color: #fffdf7;
  font: 500 38px/1 Manrope, sans-serif;
}

.progress-ring span {
  color: #fffdf7;
  font-size: 12px;
}

.progress-overview h3 {
  margin: 0 0 12px;
  color: #fffdf7;
  font: 500 30px/1.15 Manrope, sans-serif;
}

.milestone-row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 28px;
}

.milestone-row span {
  color: #fffdf7;
  font-size: 13px;
}

.milestone-row strong {
  color: var(--mint);
}

.resource-list,
.dashboard-list {
  display: grid;
  gap: 14px;
}

.resource-row,
.dashboard-list-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 25px 28px;
}

.resource-row h3,
.dashboard-list-row h3 {
  margin: 8px 0 4px;
  font-size: 21px;
}

.dashboard-list-row strong {
  color: #fffdf7;
  text-align: right;
}

.settings-callout {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 35px;
  padding: clamp(34px, 5vw, 58px);
}

.account-hero {
  min-height: 520px;
}

.account-content {
  display: grid;
  gap: 28px;
}

.settings-panel {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(35px, 6vw, 80px);
  padding: clamp(32px, 5vw, 62px);
  scroll-margin-top: 100px;
}

.settings-copy p {
  line-height: 1.7;
}

.settings-form .field input {
  color: #fffdf7;
}

.account-meta {
  display: flex;
  justify-content: space-between;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
  color: #fffdf7;
  font-size: 13px;
}

.settings-form .button {
  width: 100%;
  margin-top: 26px;
}

/* Dark mode: every standard card uses true white text instead of blue-muted text. */
html:not([data-theme=light]) .program-card,
html:not([data-theme=light]) .value-card,
html:not([data-theme=light]) .team-card,
html:not([data-theme=light]) .blog-card,
html:not([data-theme=light]) .detail-sidebar,
html:not([data-theme=light]) .form-card,
html:not([data-theme=light]) .auth-card,
html:not([data-theme=light]) .order-summary,
html:not([data-theme=light]) .choice-card,
html:not([data-theme=light]) .subject-option,
html:not([data-theme=light]) .date-option label,
html:not([data-theme=light]) .slot-option label,
html:not([data-theme=light]) .admin-form,
html:not([data-theme=light]) .admin-table,
html:not([data-theme=light]) .detail-meta,
html:not([data-theme=light]) .stat-card,
html:not([data-theme=light]) .course-progress-card,
html:not([data-theme=light]) .resource-row,
html:not([data-theme=light]) .dashboard-list-row,
html:not([data-theme=light]) .progress-overview,
html:not([data-theme=light]) .settings-panel,
html:not([data-theme=light]) .settings-callout {
  color: #fffdf7;
}

html:not([data-theme=light]) .program-card p,
html:not([data-theme=light]) .program-card .tag,
html:not([data-theme=light]) .value-card p,
html:not([data-theme=light]) .value-card span,
html:not([data-theme=light]) .team-card p,
html:not([data-theme=light]) .blog-card p,
html:not([data-theme=light]) .blog-card .tag,
html:not([data-theme=light]) .detail-sidebar p,
html:not([data-theme=light]) .auth-card > p,
html:not([data-theme=light]) .choice-card p,
html:not([data-theme=light]) .detail-meta p,
html:not([data-theme=light]) .form-card p,
html:not([data-theme=light]) .order-summary p,
html:not([data-theme=light]) .admin-table td,
html:not([data-theme=light]) .course-progress-card p,
html:not([data-theme=light]) .dashboard-list-row p,
html:not([data-theme=light]) .settings-panel p,
html:not([data-theme=light]) .settings-callout p {
  color: #fffdf7;
}

[data-theme=light] .dashboard-sidebar,
[data-theme=light] .stat-card,
[data-theme=light] .course-progress-card,
[data-theme=light] .resource-row,
[data-theme=light] .dashboard-list-row,
[data-theme=light] .progress-overview,
[data-theme=light] .settings-panel,
[data-theme=light] .settings-callout {
  color: #17113f;
  background: linear-gradient(145deg, rgba(255, 255, 255, .9), rgba(247, 244, 255, .74));
}

[data-theme=light] .dashboard-sidebar a,
[data-theme=light] .stat-card span,
[data-theme=light] .stat-card p,
[data-theme=light] .course-progress-card h3,
[data-theme=light] .course-progress-card p,
[data-theme=light] .resource-row h3,
[data-theme=light] .dashboard-list-row h3,
[data-theme=light] .dashboard-list-row p,
[data-theme=light] .dashboard-list-row strong,
[data-theme=light] .progress-overview h3,
[data-theme=light] .milestone-row span,
[data-theme=light] .settings-copy p,
[data-theme=light] .settings-callout p,
[data-theme=light] .account-meta {
  color: #17113f;
}

[data-theme=light] .progress-ring {
  background: radial-gradient(circle closest-side, #fffdf7 76%, transparent 78% 99%), conic-gradient(#5b4fa0 calc(var(--progress) * 1%), rgba(48, 32, 128, .13) 0);
}

[data-theme=light] .progress-ring strong,
[data-theme=light] .progress-ring span {
  color: #17113f;
}

[data-theme=light] .settings-form .field input,
[data-theme=light] .consent-row {
  color: #17113f;
}

@media (max-width: 1240px) {
  .theme-logo { width: 202px; height: 72px; }
  .brand-logo { min-width: 202px; }
  .dashboard-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1050px) {
  .mobile-auth-links { display: flex; gap: 22px; padding-top: 8px; }
  .mobile-auth-links a:last-child { color: var(--mint); }
  .dashboard-layout,
  .account-layout { grid-template-columns: 1fr; }
  .dashboard-sidebar { position: static; display: flex; flex-wrap: wrap; gap: 0 22px; }
  .dashboard-sidebar .eyebrow { width: 100%; }
  .dashboard-sidebar a { width: auto; }
}

@media (max-width: 760px) {
  .dashboard-stats,
  .course-dashboard-grid,
  .settings-panel,
  .progress-overview { grid-template-columns: 1fr; }
  .progress-ring { margin: auto; }
  .dashboard-section-heading,
  .resource-row,
  .dashboard-list-row,
  .settings-callout { align-items: flex-start; flex-direction: column; }
  .dashboard-list-row strong { text-align: left; }
  .course-card-actions { align-items: stretch; flex-direction: column; }
  .course-card-actions .button { width: 100%; }
}

@media (max-width: 680px) {
  .theme-logo { width: 174px; height: 62px; }
  .brand-logo { min-width: 174px; }
  .site-footer .theme-logo { width: 244px; height: 88px; }
  .site-footer .brand-logo { min-width: 244px; }
  .outcome-visual { min-height: 0; padding: 0; }
  .outcome-frame { width: 100%; aspect-ratio: 1; }
  .dashboard-hero { min-height: 540px; }
  .dashboard-shell { padding-top: 55px; }
  .dashboard-sidebar { padding: 22px; }
  .dashboard-sidebar a { width: 50%; }
  .dashboard-section { padding-top: 65px; }
}

.admin-overview-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.admin-overview-grid .value-card {
  min-height: 250px;
}

.admin-insights {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 18px;
  margin-top: 22px;
}

.admin-insight-card {
  padding: clamp(30px, 4vw, 48px);
  border: 1px solid var(--glass-border);
  border-radius: var(--card-radius);
  color: #fffdf7;
  background: linear-gradient(145deg, var(--glass-highlight), transparent 44%), var(--glass-surface);
  box-shadow: var(--glass-shadow);
}

.admin-insight-card h3 {
  margin: 0 0 28px;
  font: 500 clamp(28px, 3vw, 40px)/1.08 Manrope, sans-serif;
  letter-spacing: -.045em;
}

.admin-insight-card > .text-link {
  display: table;
  margin: 18px 0;
  color: #fffdf7;
}

[data-theme=light] .admin-insight-card,
[data-theme=light] .admin-insight-card > .text-link {
  color: #17113f;
  background: linear-gradient(145deg, rgba(255, 255, 255, .9), rgba(247, 244, 255, .74));
}

@media (max-width: 1100px) {
  .admin-overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .admin-overview-grid,
  .admin-insights { grid-template-columns: 1fr; }
}

/* ================================================================
   NURSING WITH ESTON — COMPREHENSIVE FIXES (2026-08-04)
   1. Logo doubled on navbar and footer
   2. Programs cards legible in dark mode & hover
   3. Auth boxes redesigned premium
   4. Dashboard navbar/footer hidden
   ================================================================ */

/* ---- 1. LOGO — MAXIMUM VISIBILITY SIZE (2026-08-13 UPDATE: made even bigger) ---- */
/* Navbar logo - very large and clearly visible */
.theme-logo {
  width: 420px !important;
  height: 144px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

.brand-logo {
  min-width: 420px !important;
}

.site-header {
  height: 164px !important;
}

.site-header.is-scrolled {
  height: 136px !important;
}

/* Footer logo - even larger */
.site-footer .theme-logo {
  width: 480px !important;
  height: 172px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

.site-footer .brand-logo {
  min-width: 480px !important;
}

/* Responsive logo sizing — stays large at all breakpoints */
@media (max-width: 1240px) {
  .theme-logo { width: 360px !important; height: 124px !important; }
  .brand-logo { min-width: 360px !important; }
  .site-header { height: 148px !important; }
  .site-header.is-scrolled { height: 122px !important; }
  .site-footer .theme-logo { width: 420px !important; height: 150px !important; }
  .site-footer .brand-logo { min-width: 420px !important; }
}

@media (max-width: 1050px) {
  .site-header { height: 140px !important; }
  .site-header.is-scrolled { height: 118px !important; }
  .primary-nav { inset: 118px 0 auto !important; }
  .theme-logo { width: 300px !important; height: 106px !important; }
  .brand-logo { min-width: 300px !important; }
}

@media (max-width: 680px) {
  .site-header, .site-header.is-scrolled { height: 120px !important; }
  .theme-logo { width: 260px !important; height: 92px !important; }
  .brand-logo { min-width: 260px !important; }
  .site-footer .theme-logo { width: 340px !important; height: 122px !important; }
  .site-footer .brand-logo { min-width: 340px !important; }
}

/* ---- 2. PROGRAMS CARDS — LEGIBILITY FIX (dark mode & hover) ---- */
/* Dark mode: use dark rich purple backgrounds with strong white text */
html:not([data-theme=light]) .program-card {
  background: linear-gradient(145deg, rgba(40, 28, 100, 0.92), rgba(25, 18, 68, 0.96)) !important;
  border: 1px solid rgba(199, 189, 242, 0.30) !important;
  color: #fffdf7 !important;
}

html:not([data-theme=light]) .program-card h3 {
  color: #fffdf7 !important;
  font-weight: 600;
}

html:not([data-theme=light]) .program-card p {
  color: #d8d2f0 !important;
}

html:not([data-theme=light]) .program-card .tag {
  color: #f8c828 !important;
  font-weight: 600;
}

html:not([data-theme=light]) .program-card .program-icon {
  color: rgba(248, 200, 40, 0.7) !important;
}

/* HOVER STATE — must remain legible */
html:not([data-theme=light]) .program-card:hover {
  background: linear-gradient(145deg, rgba(55, 38, 140, 0.98), rgba(35, 25, 90, 0.99)) !important;
  border-color: rgba(248, 200, 40, 0.7) !important;
  box-shadow: 0 30px 80px rgba(7, 4, 28, 0.5) !important;
  transform: translateY(-7px) !important;
  color: #fffdf7 !important;
}

html:not([data-theme=light]) .program-card:hover h3 {
  color: #ffffff !important;
}

html:not([data-theme=light]) .program-card:hover p {
  color: #e8e3ff !important;
}

html:not([data-theme=light]) .program-card:hover .tag {
  color: #f8c828 !important;
}

html:not([data-theme=light]) .program-card:hover .text-link {
  color: #f8c828 !important;
}

/* Light mode cards — also keep legible on hover */
[data-theme=light] .light-section .program-card {
  background: linear-gradient(145deg, rgba(255,255,255,0.96), rgba(238,233,251,0.88)) !important;
  color: #17113f !important;
  border-color: rgba(48,32,128,0.2) !important;
}

[data-theme=light] .light-section .program-card:hover {
  background: linear-gradient(145deg, rgba(255,255,255,1), rgba(228,218,252,0.98)) !important;
  color: #17113f !important;
  border-color: rgba(248,200,40,0.7) !important;
}

[data-theme=light] .light-section .program-card:hover h3,
[data-theme=light] .light-section .program-card:hover p,
[data-theme=light] .light-section .program-card:hover .tag {
  color: #17113f !important;
}

[data-theme=light] .light-section .program-card:hover .text-link {
  color: #3b277f !important;
}

/* ---- 3. PREMIUM AUTH BOX REDESIGN ---- */
.auth-shell {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px var(--pad);
  background: radial-gradient(ellipse at 30% 20%, rgba(127, 109, 224, 0.22), transparent 45%),
              radial-gradient(ellipse at 75% 75%, rgba(248, 200, 40, 0.10), transparent 40%),
              var(--ink);
}

.auth-card {
  width: 100%;
  max-width: 480px;
  padding: 52px 48px !important;
  border-radius: 24px !important;
  background: linear-gradient(160deg, rgba(55, 42, 128, 0.72) 0%, rgba(28, 20, 76, 0.92) 100%) !important;
  border: 1px solid rgba(199, 189, 242, 0.32) !important;
  box-shadow: 0 32px 90px rgba(7, 4, 28, 0.52), 0 0 0 1px rgba(255,255,255,0.04) inset !important;
  -webkit-backdrop-filter: blur(24px) saturate(140%) !important;
  backdrop-filter: blur(24px) saturate(140%) !important;
}

.auth-card .auth-logo {
  display: block;
  width: 200px !important;
  height: 72px !important;
  object-fit: contain;
  object-position: left center;
  margin-bottom: 32px;
}

.auth-card .eyebrow {
  margin-bottom: 10px;
  font-size: 11px;
  letter-spacing: 0.18em;
  color: #f8c828 !important;
  text-transform: uppercase;
}

.auth-card h1 {
  font: 500 clamp(32px, 4vw, 46px)/1.06 Manrope, sans-serif !important;
  letter-spacing: -0.05em;
  margin: 0 0 14px;
  color: #fffdf7;
}

.auth-card > p {
  color: #c4bbde;
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 32px;
}

/* Premium input fields */
.auth-card .field {
  margin-bottom: 20px;
}

.auth-card .field label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #a99be8;
  margin-bottom: 8px;
}

.auth-card .field input,
.field input,
.field textarea,
.field select {
  width: 100%;
  padding: 15px 18px !important;
  background: rgba(10, 6, 36, 0.48) !important;
  border: 1px solid rgba(199, 189, 242, 0.28) !important;
  border-radius: 10px !important;
  color: #fffdf7 !important;
  font-size: 15px;
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
  outline: none;
}

.auth-card .field input:focus,
.field input:focus,
.field textarea:focus,
.field select:focus {
  border-color: rgba(248, 200, 40, 0.6) !important;
  box-shadow: 0 0 0 3px rgba(248, 200, 40, 0.12) !important;
  background: rgba(15, 10, 48, 0.64) !important;
}

.auth-card .field input::placeholder {
  color: rgba(199, 189, 242, 0.45);
}

.auth-card .button {
  width: 100%;
  margin-top: 8px;
  padding: 16px 28px !important;
  font-size: 15px !important;
  font-weight: 600;
  border-radius: 10px !important;
}

.auth-meta {
  margin-top: 22px;
  text-align: center;
  font-size: 13px;
  color: rgba(199, 189, 242, 0.7);
}

.auth-meta a {
  color: #f8c828;
  font-weight: 600;
}

.auth-meta a:hover {
  text-decoration: underline;
}

/* Light mode auth */
[data-theme=light] .auth-shell {
  background: radial-gradient(ellipse at 30% 20%, rgba(127, 109, 224, 0.14), transparent 50%),
              radial-gradient(ellipse at 75% 75%, rgba(248, 200, 40, 0.08), transparent 40%),
              var(--ink);
}

[data-theme=light] .auth-card {
  background: linear-gradient(160deg, rgba(255,253,247,0.96), rgba(238,233,251,0.92)) !important;
  border-color: rgba(48,32,128,0.2) !important;
  box-shadow: 0 28px 70px rgba(48,32,128,0.14) !important;
  color: #17113f !important;
}

[data-theme=light] .auth-card h1,
[data-theme=light] .auth-card > p {
  color: #17113f !important;
}

[data-theme=light] .auth-card > p {
  color: #59516e !important;
}

[data-theme=light] .auth-card .field input {
  background: rgba(255,255,255,0.88) !important;
  border-color: rgba(48,32,128,0.24) !important;
  color: #17113f !important;
}

[data-theme=light] .auth-card .field label {
  color: #4e3e91;
}

/* Admin auth card extra styling */
.admin-auth-shell .auth-card {
  border-top: 3px solid #f8c828 !important;
}

/* ---- 4. HIDE NAVBAR & FOOTER ON DASHBOARD PAGES ---- */
body.page-dashboard .site-header,
body.page-admin .site-header,
body.page-admin-login .site-header {
  display: none !important;
}

body.page-dashboard .site-footer,
body.page-admin .site-footer,
body.page-admin-login .site-footer {
  display: none !important;
}

body.page-dashboard main,
body.page-admin main {
  padding-top: 0 !important;
}

body.page-dashboard .dashboard-hero,
body.page-admin .page-hero {
  padding-top: 30px !important;
}

/* ---- 5. IMAGES — better outcome section ---- */
.nursing-img-hero {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 18px;
  display: block;
}

.about-image-block {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: var(--ink-2);
}

.about-image-block img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ---- FORM IMPROVEMENTS for contact/checkout forms ---- */
.form-card {
  padding: 44px !important;
  border-radius: 20px !important;
}

.form-card .field label,
.order-form .field label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sage);
  margin-bottom: 8px;
  display: block;
}

.paypal-notice {
  padding: 16px 20px;
  border-radius: 10px;
  background: rgba(248, 200, 40, 0.12);
  border: 1px solid rgba(248, 200, 40, 0.3);
  font-size: 13px;
  line-height: 1.6;
  margin: 18px 0;
}

.email-note {
  padding: 13px 18px;
  border-radius: 8px;
  background: rgba(127, 109, 224, 0.15);
  border: 1px solid rgba(127, 109, 224, 0.25);
  font-size: 13px;
  margin: 18px 0;
  color: var(--sage);
}


/* ============================================================
   PLATFORM NAV LINKS — Navbar links to LMS and Tutoring
   ============================================================ */
.nav-platform-link {
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 7px 14px !important;
  border-radius: 100px !important;
  border: 1px solid rgba(199,189,242,0.25) !important;
  background: rgba(199,189,242,0.08) !important;
  color: rgba(199,189,242,0.9) !important;
  letter-spacing: 0.02em !important;
  transition: all 0.2s !important;
  white-space: nowrap !important;
}
.nav-platform-link:hover {
  background: rgba(248,200,40,0.15) !important;
  border-color: rgba(248,200,40,0.4) !important;
  color: #f8c828 !important;
}

/* ================================================================
   NURSING WITH ESTON — IMAGE & TEAM CARD FIXES (2026-08-07)
   1. Team avatar photos with proper image display
   2. Hero background images with overlay
   3. Consistent image treatment across site
   ================================================================ */

/* Team avatar — now supports real photos */
.team-avatar {
  height: 200px !important;
  overflow: hidden !important;
  border-radius: 12px 12px 0 0 !important;
  background: linear-gradient(135deg, rgba(127,109,224,.2), rgba(248,200,40,.08)) !important;
  position: relative !important;
}

.team-avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 15% !important;
  display: block !important;
}

/* Team card image height at smaller sizes */
@media (max-width: 680px) {
  .team-avatar { height: 180px !important; }
}

/* Site-wide image defaults */
img {
  max-width: 100%;
}

/* Outcome frame gets a slight border-radius for elegance */
.outcome-frame {
  border-radius: 20px !important;
  overflow: hidden !important;
}

/* Ensure blog images and testimonials remain polished */
.blog-card-image {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 16px;
}

/* ================================================================
   NURSING WITH ESTON — EDUCATION TEAM CARD REDESIGN (2026-08-07)
   Removes images entirely; clean professional credential cards
   ================================================================ */

/* New image-free team card */
.team-card--no-image {
  min-height: 0 !important;
  padding: 36px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  background: var(--ink-2) !important;
  border: 1px solid rgba(248, 244, 255, 0.16) !important;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
}

/* Subtle accent bar at top */
.team-card--no-image::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #7f6de0, #f8c828);
  opacity: 0.6;
}

/* Initials circle */
.team-card-initials {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(127,109,224,0.3), rgba(248,200,40,0.15));
  border: 1px solid rgba(127,109,224,0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 20px/1 'Manrope', sans-serif;
  color: #f8c828;
  letter-spacing: 0.04em;
  margin-bottom: 24px;
  flex-shrink: 0;
}

.team-card-body {}

.team-card--no-image h3 {
  font: 500 22px/1.12 'Manrope', sans-serif !important;
  letter-spacing: -0.04em !important;
  color: var(--white) !important;
  margin: 0 0 8px !important;
}

.team-card-role {
  margin: 0 0 10px !important;
}

.team-card-role strong {
  font-size: 13px;
  font-weight: 600;
  color: #f8c828;
  letter-spacing: 0.02em;
}

.team-card-focus {
  font-size: 13.5px !important;
  color: #a99be8 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* Ensure old team-avatar is fully removed for no-image cards */
.team-card--no-image .team-avatar {
  display: none !important;
}

/* Light theme adjustment */
[data-theme=light] .team-card--no-image {
  background: #f7f4ff !important;
  border-color: rgba(23,17,63,0.12) !important;
}

[data-theme=light] .team-card--no-image h3 {
  color: var(--ink) !important;
}

[data-theme=light] .team-card-focus {
  color: #645b88 !important;
}

/* ============================================================
   PLATFORMS DROPDOWN NAVIGATION
   ============================================================ */
.nav-dropdown {
  position: relative;
  display: flex;
  align-items: center;
}

.nav-dropdown-trigger {
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--white);
  font-size: 13px;
  padding: 7px 13px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: background .2s, border-color .2s;
  white-space: nowrap;
}

.nav-dropdown-trigger:hover,
.nav-dropdown-trigger[aria-expanded="true"] {
  background: rgba(248,200,40,.12);
  border-color: var(--mint);
  color: var(--mint);
}

.nav-dropdown-arrow {
  font-size: 10px;
  transition: transform .2s;
  display: inline-block;
}

.nav-dropdown-trigger[aria-expanded="true"] .nav-dropdown-arrow {
  transform: rotate(180deg);
}

.nav-dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: 240px;
  background: rgba(23,17,63,.96);
  border: 1px solid var(--glass-border);
  border-radius: 14px;
  box-shadow: 0 24px 60px rgba(7,4,28,.42);
  backdrop-filter: blur(20px);
  z-index: 200;
  overflow: hidden;
  padding: 8px 0;
}

.nav-dropdown-menu.is-open {
  display: block;
  animation: dropdown-in .18s ease;
}

@keyframes dropdown-in {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.nav-dropdown-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 20px;
  color: var(--white);
  text-decoration: none;
  transition: background .18s;
  font-size: 14px;
}

.nav-dropdown-item:hover {
  background: rgba(248,200,40,.1);
  color: var(--mint);
}

.nav-dropdown-item span strong {
  display: block;
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 2px;
}

.nav-dropdown-item span small {
  display: block;
  font-size: 11px;
  color: var(--muted);
  font-weight: 400;
}

.nav-dropdown-item:hover span small {
  color: inherit;
  opacity: .8;
}

.nav-dropdown-icon {
  font-size: 20px;
  flex-shrink: 0;
}

/* Mobile: flatten dropdown inside open nav */
@media (max-width: 980px) {
  .nav-dropdown {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }
  .nav-dropdown-trigger {
    width: 100%;
    justify-content: space-between;
    padding: 12px 0;
    border: 0;
    border-radius: 0;
    border-bottom: 1px solid var(--line);
    font-size: 15px;
  }
  .nav-dropdown-menu {
    position: static;
    display: block !important;
    background: transparent;
    border: 0;
    box-shadow: none;
    backdrop-filter: none;
    padding: 0;
    animation: none;
  }
  .nav-dropdown-item {
    padding: 10px 8px;
  }
}

/* Light theme overrides */
[data-theme=light] .nav-dropdown-trigger {
  color: var(--white);
}
[data-theme=light] .nav-dropdown-menu {
  background: rgba(247,244,255,.97);
  border-color: rgba(23,17,63,.18);
}
[data-theme=light] .nav-dropdown-item {
  color: var(--paper);
}
[data-theme=light] .nav-dropdown-item span small {
  color: #746a95;
}

/* ============================================================
   PAYMENT TABS — PayPal & Card
   ============================================================ */
.payment-tabs {
  display: flex;
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 28px;
}

.payment-tab-btn {
  flex: 1;
  background: transparent;
  border: 0;
  padding: 14px 20px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background .2s, color .2s;
  border-right: 1px solid var(--line);
}

.payment-tab-btn:last-child {
  border-right: 0;
}

.payment-tab-btn.active,
.payment-tab-btn:hover {
  background: rgba(248,200,40,.1);
  color: var(--mint);
}

.payment-tab-btn.active {
  background: rgba(248,200,40,.15);
  font-weight: 600;
}

.payment-panel {
  display: none;
}

.payment-panel.active {
  display: block;
}

.paypal-btn-wrap {
  background: rgba(43,32,112,.35);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 28px;
  text-align: center;
}

.paypal-btn-wrap p {
  color: var(--muted);
  font-size: 13px;
  margin: 12px 0 0;
}

.card-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.card-form-grid .field.span-2 {
  grid-column: 1 / -1;
}

@media (max-width: 600px) {
  .card-form-grid {
    grid-template-columns: 1fr;
  }
}

.card-icons {
  display: flex;
  gap: 8px;
  margin-bottom: 18px;
  align-items: center;
}

.card-icon {
  height: 24px;
  border-radius: 4px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.08);
  padding: 3px 7px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .05em;
  color: var(--muted);
  display: flex;
  align-items: center;
}

.secure-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  margin-top: 14px;
}

.secure-badge::before {
  content: "🔒";
  font-size: 13px;
}

/* ============================================================
   TUTORING FLOW — Step progress with 5 steps
   ============================================================ */
.flow-progress-5 {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  gap: 1px;
  background: var(--line);
  margin: 0 0 50px;
  border: 1px solid var(--line);
}

.flow-progress-5 span {
  padding: 14px 10px;
  background: var(--ink-2);
  font-size: 11px;
  color: var(--muted);
  text-align: center;
  line-height: 1.3;
}

.flow-progress-5 span.active {
  background: var(--mint);
  color: var(--ink);
  font-weight: 600;
}

.flow-progress-5 span.done {
  background: rgba(248,200,40,.18);
  color: var(--mint);
}

@media (max-width: 680px) {
  .flow-progress-5 {
    grid-template-columns: repeat(5,1fr);
  }
  .flow-progress-5 span {
    padding: 8px 4px;
    font-size: 9px;
  }
}

/* ============================================================
   TUTORING DETAILS STEP
   ============================================================ */
.tutoring-confirmation-box {
  background: rgba(43,32,112,.38);
  border: 1px solid var(--glass-border);
  border-radius: var(--card-radius);
  padding: 28px;
  margin-bottom: 24px;
}

.tutoring-confirmation-box h3 {
  margin: 0 0 18px;
  font-family: Manrope, sans-serif;
  font-size: 18px;
}

.tutoring-confirmation-box dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 20px;
  margin: 0;
}

.tutoring-confirmation-box dt {
  font-size: 11px;
  letter-spacing: .1em;
  color: var(--muted);
  text-transform: uppercase;
}

.tutoring-confirmation-box dd {
  margin: 0;
  font-weight: 600;
  font-size: 14px;
}

/* ============================================================
   ORDER SUCCESS / EMAIL CONFIRMATION  
   ============================================================ */
.success-card {
  max-width: 560px;
  margin: 0 auto;
  text-align: center;
}

.success-icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: rgba(248,200,40,.15);
  border: 2px solid var(--mint);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  margin: 0 auto 28px;
}

/* ============================================================
   ROUND 2 FIXES — 2026-08-14
   1. Nav active page indicator
   2. Back to Top button
   3. Contact page spacing
   4. Auth card height / compact redesign
   5. Logo 2.5× on main site login/signup
   ============================================================ */

/* ---- 1. ACTIVE NAV LINK ---- */
.primary-nav a.nav-active {
  color: var(--mint) !important;
  position: relative;
}

.primary-nav a.nav-active::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--mint);
  border-radius: 2px;
}

[data-theme=light] .primary-nav a.nav-active {
  color: #2a1fa0 !important;
}

[data-theme=light] .primary-nav a.nav-active::after {
  background: #2a1fa0;
}

/* ---- 2. BACK TO TOP BUTTON ---- */
#back-to-top {
  position: fixed;
  bottom: 36px;
  right: 32px;
  z-index: 500;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--mint);
  color: var(--ink);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  line-height: 1;
  box-shadow: 0 8px 32px rgba(248,200,40,0.35), 0 2px 8px rgba(7,4,28,0.28);
  opacity: 0;
  transform: translateY(16px) scale(0.85);
  transition: opacity 0.3s ease, transform 0.3s ease, background 0.2s, box-shadow 0.2s;
  pointer-events: none;
}

#back-to-top.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

#back-to-top:hover {
  background: #ffe066;
  box-shadow: 0 12px 40px rgba(248,200,40,0.5), 0 4px 12px rgba(7,4,28,0.32);
  transform: translateY(-2px) scale(1.06);
}

#back-to-top:active {
  transform: scale(0.96);
}

@media (max-width: 680px) {
  #back-to-top {
    bottom: 22px;
    right: 18px;
    width: 46px;
    height: 46px;
    font-size: 18px;
  }
}

/* ---- 3. CONTACT PAGE SPACING ---- */
.contact-list p {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 24px 0 !important;
  border-bottom: 1px solid var(--line);
  margin: 0;
}

.contact-list p .eyebrow {
  margin-bottom: 0;
  display: block;
}

.contact-list p span.eyebrow + * ,
.contact-list .contact-value {
  color: var(--white);
  font-size: 16px;
  line-height: 1.5;
}

/* Fallback: add display block to text nodes that follow .eyebrow */
.contact-list .eyebrow {
  display: block;
  margin-bottom: 4px;
}

/* ---- 4. AUTH CARD COMPACT (Login/Signup fits on screen) ---- */
.auth-shell {
  padding: 100px var(--pad) 50px !important;
  min-height: 100vh;
  align-items: center;
}

.auth-card {
  padding: 36px 40px !important;
  max-width: 460px !important;
}

.auth-card h1 {
  font-size: clamp(26px, 3.5vw, 38px) !important;
  margin: 0 0 10px !important;
}

.auth-card > p {
  font-size: 14px !important;
  margin-bottom: 22px !important;
  line-height: 1.5 !important;
}

.auth-card .field {
  margin-bottom: 14px !important;
}

.auth-card .field input {
  padding: 12px 16px !important;
  font-size: 14px !important;
}

.auth-card .auth-logo {
  width: 500px !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: left center !important;
  margin-bottom: 22px !important;
}

/* Hide colored logo on main site login/signup — show white only */
.auth-card .auth-logo-light {
  display: none !important;
}

[data-theme=light] .auth-card .auth-logo-dark {
  display: block !important;
}

[data-theme=light] .auth-card .auth-logo-light {
  display: none !important;
}

.auth-meta {
  margin-top: 16px !important;
}

.auth-card .button {
  margin-top: 6px !important;
  padding: 14px 28px !important;
}

.consent-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 10px 0 16px;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.5;
}

.consent-row input[type=checkbox] {
  width: auto !important;
  margin-top: 2px;
  flex-shrink: 0;
}

@media (max-width: 480px) {
  .auth-card {
    padding: 28px 22px !important;
  }
}

/* ============================================================
   COMING SOON PAGE — Courses page replacement
   ============================================================ */
.coming-soon-hero {
  background: radial-gradient(ellipse at 50% 20%, rgba(127, 109, 224, .18), transparent 55%),
              radial-gradient(ellipse at 80% 80%, rgba(248, 200, 40, .08), transparent 40%),
              var(--ink) !important;
  border-bottom: 1px solid var(--line);
  padding: 160px var(--pad) 80px !important;
}

[data-theme=light] .coming-soon-hero {
  background: radial-gradient(ellipse at 50% 20%, rgba(127, 109, 224, .12), transparent 55%),
              radial-gradient(ellipse at 80% 80%, rgba(248, 200, 40, .08), transparent 40%),
              var(--ink) !important;
}

.coming-soon-badge {
  display: inline-block;
  margin-bottom: 32px;
}

.coming-soon-badge span {
  display: inline-block;
  padding: 10px 28px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--mint);
  border-radius: 50px;
  box-shadow: 0 8px 32px rgba(248, 200, 40, .3);
  animation: coming-soon-pulse 2.5s ease-in-out infinite;
}

@keyframes coming-soon-pulse {
  0%, 100% { box-shadow: 0 8px 32px rgba(248, 200, 40, .3); }
  50% { box-shadow: 0 8px 48px rgba(248, 200, 40, .55); }
}

.coming-soon-title {
  font: 500 clamp(42px, 7vw, 96px)/.94 Manrope, sans-serif !important;
  letter-spacing: -.065em !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
}

.coming-soon-title span {
  color: var(--sage) !important;
  font-weight: 400 !important;
}

.coming-soon-subtitle {
  font-size: clamp(16px, 2vw, 20px) !important;
  line-height: 1.7;
  color: var(--muted) !important;
  max-width: 640px;
  margin: 0 auto 56px !important;
}

.coming-soon-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-bottom: 56px;
}

.coming-soon-feature {
  padding: 32px 24px;
  border: 1px solid var(--glass-border);
  border-radius: var(--card-radius);
  background: linear-gradient(145deg, var(--glass-highlight), transparent 44%), var(--glass-surface);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  backdrop-filter: blur(18px) saturate(135%);
  text-align: center;
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.coming-soon-feature:hover {
  transform: translateY(-6px);
  border-color: rgba(248, 200, 40, .5);
  box-shadow: var(--glass-shadow-hover);
}

.coming-soon-feature-icon {
  font-size: 36px;
  margin-bottom: 16px;
}

.coming-soon-feature strong {
  display: block;
  font: 600 16px/1.3 Manrope, sans-serif;
  color: var(--white);
  margin-bottom: 10px;
}

.coming-soon-feature p {
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--muted);
  margin: 0;
}

.coming-soon-meanwhile {
  font-size: 14px;
  color: var(--muted);
  margin: 0 0 20px;
}

.coming-soon-buttons {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}

.coming-soon-buttons .button {
  border-radius: 8px;
}

[data-theme=light] .coming-soon-feature {
  background: linear-gradient(145deg, rgba(255, 255, 255, .88), rgba(255, 253, 247, .68));
  color: #17113f;
}

[data-theme=light] .coming-soon-feature strong {
  color: #17113f;
}

[data-theme=light] .coming-soon-feature p {
  color: #59516e;
}

@media (max-width: 780px) {
  .coming-soon-features {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

@media (max-width: 480px) {
  .coming-soon-buttons {
    flex-direction: column;
    align-items: center;
  }
  .coming-soon-buttons .button {
    width: 100%;
    text-align: center;
  }
}

/* ============================================================
   WHATSAPP BUTTON — opposite side of back-to-top
   ============================================================ */
#whatsapp-btn {
  position: fixed;
  bottom: 36px;
  left: 32px;
  z-index: 500;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #25D366;
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  line-height: 1;
  box-shadow: 0 8px 32px rgba(37, 211, 102, 0.35), 0 2px 8px rgba(7, 4, 28, 0.28);
  opacity: 0;
  transform: translateY(16px) scale(0.85);
  transition: opacity 0.3s ease, transform 0.3s ease, background 0.2s, box-shadow 0.2s;
  pointer-events: none;
  text-decoration: none;
}

#whatsapp-btn.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

#whatsapp-btn:hover {
  background: #1ebe5b;
  box-shadow: 0 12px 40px rgba(37, 211, 102, 0.5), 0 4px 12px rgba(7, 4, 28, 0.32);
  transform: translateY(-2px) scale(1.06);
}

#whatsapp-btn:active {
  transform: scale(0.96);
}

@media (max-width: 680px) {
  #whatsapp-btn {
    bottom: 22px;
    left: 18px;
    width: 46px;
    height: 46px;
  }
  #whatsapp-btn svg {
    width: 22px;
    height: 22px;
  }
}

/* ============================================================
   FIX: Testimonial section text legibility in LIGHT MODE
   The .testimonial section uses background: #eee9fb which is
   a light purple — text needs to be dark, not inherit from
   --white (which in light mode is #17113f). The issue is
   the quote text uses var(--ink) but in light mode --ink is
   #f7f4ff (light), making it invisible against #eee9fb.
   ============================================================ */
.testimonial {
  background: #eee9fb !important;
  color: #17113f !important;
}

.testimonial .eyebrow {
  color: #4a358f !important;
}

.testimonial .quote {
  color: #17113f !important;
}

.testimonial .quote-author {
  color: #574d7c !important;
}

/* Explicit light-mode override to guarantee contrast */
[data-theme=light] .testimonial {
  background: #eee9fb !important;
  color: #17113f !important;
}

[data-theme=light] .testimonial .eyebrow {
  color: #4a358f !important;
}

[data-theme=light] .testimonial .quote {
  color: #17113f !important;
}

[data-theme=light] .testimonial .quote-author {
  color: #574d7c !important;
}

/* Dark mode: keep the existing light-on-dark treatment */
html:not([data-theme=light]) .testimonial {
  background: #eee9fb !important;
  color: #17113f !important;
}

html:not([data-theme=light]) .testimonial .quote {
  color: #17113f !important;
}

html:not([data-theme=light]) .testimonial .quote-author {
  color: #574d7c !important;
}

html:not([data-theme=light]) .testimonial .eyebrow {
  color: #4a358f !important;
}

/* ============================================================
   FIX: Buy Material button illegible on hover in DARK MODE
   In dark mode, when hovering over a material card, the
   .buy-material-link / .text-link becomes invisible because
   the card hover changes text colors but the button's ink color
   blends with the bright background.
   ============================================================ */
html:not([data-theme=light]) .material-card .text-link,
html:not([data-theme=light]) .material-card .buy-material-link {
  color: #17113f !important;
  background: var(--mint) !important;
  font-weight: 700 !important;
}

html:not([data-theme=light]) .material-card:hover .text-link,
html:not([data-theme=light]) .material-card:hover .buy-material-link {
  color: #17113f !important;
  background: #e6b800 !important;
}

html:not([data-theme=light]) .material-card .text-link:hover,
html:not([data-theme=light]) .material-card .buy-material-link:hover {
  color: #17113f !important;
  background: #d4a91e !important;
}
