/* Course area: catalogue, specializations, course pages, plans, redeem (.cx),
   in the look of edu.machinelearningplus.com (since 2026-10-29 the pages and the lesson
   player are B2: www/b2/b2-courses.css, b2-player.css; this file still styles the contact
   button and the admin preview bar)
   (owner request 2026-10-14; tokens measured from the live edu pages):
   navy header band #01172B, purple #5755D9, violet #6A33FF, orange #FF850C,
   slate text #50596C, lavender chips #EAEAFC and curriculum bars #E3EAF8;
   Raleway headings on the catalogue, Open Sans on the course page, Inter body.
   Dark mode follows the site's html.dark class. Mobile first. */
:root{
  --ed-navy:#01172b;--ed-navy2:#051e50;--ed-purple:#5755d9;--ed-purple-h:#4644c8;--ed-violet:#6a33ff;--ed-orange:#ff850c;--ed-orange-h:#ea7400;
  --ed-ink:#222730;--ed-ink2:#494949;--ed-body:#50596c;--ed-muted:#8a93a6;--ed-bg:#f6f7fb;--ed-card:#fff;--ed-line:#e3e6ee;
  --ed-chip:#eaeafc;--ed-chip-ink:#6f6de0;--ed-lav:#e3eaf8;--ed-tile:#fff;--ed-yellow:#ffc107;--ed-green:#1f7a55;
  --ed-shadow:0 1px 4px rgba(16,24,40,.14);--ed-shadow2:0 6px 24px -8px rgba(16,24,40,.22);
  --brand-primary:#5755d9;--brand-primary-hover:#4644c8;--brand-success:#1f7a55;--brand-highlight:#ff850c;
  /* names the player and older rules use */
  --cx-bg:var(--ed-bg);--cx-card:var(--ed-card);--cx-soft:#f3f4fb;--cx-line:var(--ed-line);--cx-ink:var(--ed-ink);--cx-body:var(--ed-body);--cx-muted:var(--ed-muted)}
html.dark{--ed-ink:#eef0f6;--ed-ink2:#dfe3ec;--ed-body:#b9c1d1;--ed-muted:#8a93a6;--ed-bg:#0c111d;--ed-card:#141b2c;--ed-line:#253049;
  --ed-chip:#1f2550;--ed-chip-ink:#b4b3ff;--ed-lav:#1c2645;--ed-tile:#141b2c;--ed-shadow:0 1px 3px rgba(0,0,0,.5);--ed-shadow2:0 8px 26px -10px rgba(0,0,0,.7);
  --cx-soft:#182136}
body.cx-page{background:var(--ed-bg);color:var(--ed-body);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0}
.cx{display:block;overflow-x:clip}
.cx *,.cx *::before,.cx *::after{box-sizing:border-box}
.cx a{color:var(--ed-purple)}
html.dark .cx a{color:#a9a8ff}
.ed-wrap{max-width:1240px;margin:0 auto;padding:0 16px}
@media(min-width:768px){.ed-wrap{padding:0 28px}}
.cx-is-hidden{display:none!important}
.cx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cx-muted{color:var(--ed-muted)}

/* ---- The site header as edu's navy bar (course pages only) ---- */
body.cx-page .sitenav:not(.b2nav){background:var(--ed-navy);border-bottom-color:var(--ed-navy)}
body.cx-page .sitenav:not(.b2nav) .brand-logo-light{display:none}
body.cx-page .sitenav:not(.b2nav) .brand-logo-dark{display:block}
body.cx-page .sitenav:not(.b2nav) .snav-links a{color:#fff;font-weight:700}
body.cx-page .sitenav:not(.b2nav) .snav-links a:hover,body.cx-page .sitenav:not(.b2nav) .snav-links a.on{background:rgba(255,255,255,.1);color:#fff}
body.cx-page .sitenav:not(.b2nav) .snav-btn{background:var(--ed-purple);color:#fff;border-radius:0;padding:10px 26px}
body.cx-page .sitenav:not(.b2nav) .snav-btn:hover{background:var(--ed-purple-h);color:#fff;box-shadow:none}
body.cx-page .sitenav:not(.b2nav) .masthead-auth-link{color:#fff;border-bottom-color:rgba(255,255,255,.4)}
body.cx-page .sitenav:not(.b2nav) .masthead-auth-link:hover{color:#fff;border-bottom-color:#fff}
body.cx-page .sitenav:not(.b2nav) .snav-search input{background:#0b2a45;border-color:#1c3a58;color:#fff}
body.cx-page .sitenav:not(.b2nav) .snav-search input::placeholder{color:#9db0c4}
body.cx-page .snav-search .snav-sicon{color:#9db0c4}
body.cx-page .snav-sbtn,body.cx-page .snav-burger{color:#fff;border-color:#1c3a58}
body.cx-page .snav-sbtn:hover,body.cx-page .snav-burger:hover{background:#0b2a45}
body.cx-page .sitenav:not(.b2nav) .snav-brand{color:#fff}

/* ---- Buttons ---- */
.cx-btn,.ed-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 24px;border-radius:4px;border:2px solid var(--ed-purple);
  background:var(--ed-purple);color:#fff!important;font:700 14px/1 "Open Sans",Inter,sans-serif;letter-spacing:3px;text-transform:uppercase;text-decoration:none;cursor:pointer;
  transition:background .15s,border-color .15s,transform .15s}
.cx-btn:hover,.ed-btn:hover{background:var(--ed-purple-h);border-color:var(--ed-purple-h)}
.ed-btn-orange{background:var(--ed-orange);border-color:var(--ed-orange)}
.ed-btn-orange:hover{background:var(--ed-orange-h);border-color:var(--ed-orange-h)}
.cx-btn-ghost,.ed-btn-ghost{background:transparent;color:var(--ed-purple)!important}
.cx-btn-ghost:hover,.ed-btn-ghost:hover{background:var(--ed-chip);color:var(--ed-purple)!important}
html.dark .cx-btn-ghost,html.dark .ed-btn-ghost{color:#b4b3ff!important;border-color:#6f6de0}
.ed-pill{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 32px;border-radius:999px;background:var(--ed-violet);color:#fff!important;
  font:600 17px/1 Raleway,Inter,sans-serif;text-decoration:none;box-shadow:0 8px 24px -10px rgba(106,51,255,.6);transition:transform .15s,background .15s}
.ed-pill:hover{background:#5a24ef;transform:translateY(-1px)}
.ed-ulink{color:var(--ed-ink)!important;font:600 17px Raleway,Inter,sans-serif;text-decoration:underline;text-underline-offset:3px}
.cx-cta-note{margin:8px 0 0;font-size:14px;color:var(--ed-muted);text-align:center}

/* ---- Catalogue and specialization pages (edu home and /s/pages/...) ---- */
.ed-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 16px;padding:38px 0 0}
.ed-tab{display:inline-flex;align-items:center;min-height:38px;padding:0 18px;background:var(--ed-chip);color:var(--ed-chip-ink)!important;font:400 14.5px Raleway,Inter,sans-serif;text-decoration:none;transition:background .15s,color .15s}
.ed-tab:hover{background:#dcdcfa}
.ed-tab.is-on{background:var(--ed-violet);color:#fff!important}
html.dark .ed-tab:hover{background:#2a3170}
@media(max-width:640px){.ed-tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding:22px 0 6px;scrollbar-width:thin}.ed-tab{flex:none}}
.ed-intro{text-align:center;padding:56px 0 8px;max-width:900px;margin:0 auto}
.ed-intro h1{font:800 clamp(28px,3.4vw,40px)/1.2 Raleway,Inter,sans-serif;color:var(--ed-ink);margin:0 0 34px;letter-spacing:-.005em}
.ed-lead{font:400 18px/1.45 Raleway,Inter,sans-serif;color:var(--ed-body);margin:0 auto 44px;max-width:720px}
.ed-lead b{color:var(--ed-ink);font-weight:700}
.ed-intro .ed-pill{margin:0 0 30px}
.ed-intro .ed-sub{margin:0}
.ed-find{max-width:560px;margin:40px auto 0;padding:0 0 4px}
.ed-search{position:relative;display:block}
.ed-search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--ed-muted)}
.ed-search input{width:100%;min-height:52px;padding:0 18px 0 46px;border:1px solid var(--ed-line);border-radius:999px;background:var(--ed-card);color:var(--ed-ink);
  font:500 16px Inter,sans-serif;box-shadow:var(--ed-shadow)}
.ed-search input:focus{outline:2px solid var(--ed-violet);outline-offset:1px}
.cx-empty{text-align:center;color:var(--ed-muted);margin:16px 0 0}
.ed-h2{font:600 clamp(24px,2.6vw,32px)/1.25 Raleway,Inter,sans-serif;color:var(--ed-ink);text-align:center;margin:56px 0 44px}
.ed-step{display:grid;grid-template-columns:1fr;gap:20px 40px;padding:0 0 56px}
@media(min-width:1000px){.ed-step{grid-template-columns:minmax(0,370px) minmax(0,1fr);padding-left:56px}}
.ed-step-l{max-width:420px}
@media(min-width:1000px){.ed-step-l{position:sticky;top:92px;align-self:start}}
.ed-step-n{font:500 24px/1.2 Inter,sans-serif;color:var(--ed-violet);margin:0 0 18px}
.ed-step-l h3,.ed-step-l h1{font:600 24px/1.35 Raleway,Inter,sans-serif;color:var(--ed-ink);margin:0 0 22px}
.ed-step-d{font:400 16px/2 Raleway,Inter,sans-serif;color:var(--ed-body);margin:0 0 14px}
.ed-step-facts{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 16px;padding:0;list-style:none;font-size:14px;color:var(--ed-muted)}
.ed-step-l .ed-more{font:600 15px Raleway,Inter,sans-serif}
/* specialization pages in steps (edu /s/pages/...): the arrow between steps,
   the facts line under the lead, the closing "Kick-Start" band */
.cx-sp .ed-step{padding-bottom:28px}
.ed-next{display:flex;justify-content:center;margin:4px 0 32px}
.ed-next svg{box-sizing:content-box;width:22px;height:22px;padding:9px;border-radius:50%;background:var(--ed-purple);color:#fff;box-shadow:0 6px 18px -8px rgba(87,85,217,.7)}
.ed-intro-facts{justify-content:center;margin:-26px 0 30px;font-size:15px}
.ed-intro-facts li+li::before{content:"\00b7";margin-right:16px;color:var(--ed-muted)}
@media(max-width:560px){.ed-intro-facts li+li::before{display:none}}
.ed-kick{text-align:center;padding:40px 0 84px}
.ed-kick p{margin:0;font:400 clamp(17px,1.6vw,19px)/1.5 Raleway,Inter,sans-serif;color:var(--ed-ink)}
.ed-kick .ed-kick-b{font-weight:700;margin:4px 0 22px}
.ed-kick .ed-pill{gap:10px;min-height:50px;padding:0 28px;font-size:16px}
.cx-cards,.ed-cards{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:560px){.cx-cards,.ed-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px}}
.ed-cards-3{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:560px){.ed-cards-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.ed-cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* course card (edu store card) */
.cx-card{display:flex;flex-direction:column;background:var(--ed-card);box-shadow:var(--ed-shadow);text-decoration:none!important;color:var(--ed-ink);
  transition:box-shadow .2s,transform .2s;min-width:0}
.cx-card:hover{box-shadow:var(--ed-shadow2);transform:translateY(-2px)}
.ed-card-img{display:block;aspect-ratio:3/2;background:#e1f3fc;overflow:hidden}
.ed-card-img img{display:block;width:100%;height:100%;object-fit:cover}
.ed-card-img.ed-noimg{display:flex;align-items:center;justify-content:center;padding:18px;background:linear-gradient(135deg,#e9e8ff,#dff3fd);
  font:700 20px/1.3 Raleway,Inter,sans-serif;color:var(--ed-purple);text-align:center}
html.dark .ed-card-img.ed-noimg{background:linear-gradient(135deg,#232a5a,#13334a);color:#c9c8ff}
.ed-card-b{display:flex;flex-direction:column;gap:12px;padding:18px 16px 20px}
.ed-card-m{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font:400 13px "Open Sans",Inter,sans-serif;letter-spacing:.4px;color:var(--ed-body)}
.cx-card-t,.ed-card-t{font:700 16.5px/1.6 Raleway,Inter,sans-serif;color:var(--ed-ink)}
.ed-tag{display:inline-block;padding:2px 8px;border-radius:3px;background:#e7f6ef;color:#14603f;font:700 11px/1.5 Inter,sans-serif;letter-spacing:.5px;text-transform:uppercase}
html.dark .ed-tag{background:#12382a;color:#7be3b5}
.ed-rate{display:inline-flex;align-items:center;gap:3px;color:var(--ed-ink)}
.ed-rate svg{color:var(--ed-yellow)}

/* phone: four courses per step until "Show all" (search shows every match).
   Only groups that catalog.js gave a "Show all" button (.has-more) fold, so a
   page without the button (specialization pages) or without the script
   always shows every course. */
.cx-more{display:none}
@media(max-width:639px){
  .cx-cat:not(.is-filtering) .cx-spec.has-more:not(.is-expanded) .cx-cards .cx-card:nth-child(n+5){display:none}
  .cx-cat:not(.is-filtering) .cx-spec.has-more:not(.is-expanded) .cx-more{display:flex}
  .cx-more{grid-column:1/-1;width:100%;min-height:48px;margin:4px 0 0;align-items:center;justify-content:center;border:1px solid var(--ed-line);
    background:var(--ed-card);color:var(--ed-purple);font:600 15px Raleway,Inter,sans-serif;cursor:pointer}
}
.ed-close{text-align:center;padding:24px 0 72px}
.ed-close h2{font:700 clamp(22px,2.4vw,28px)/1.3 Raleway,Inter,sans-serif;color:var(--ed-ink);margin:0 0 12px}
.ed-close p{max-width:640px;margin:0 auto 26px;font:400 17px/1.6 Raleway,Inter,sans-serif}

/* ---- Course page (edu course landing) ---- */
.ed-course{--side:370px}
.ed-cols{display:grid;grid-template-columns:minmax(0,1fr);max-width:1240px;margin:0 auto;padding:0 16px}
@media(min-width:768px){.ed-cols{padding:0 28px}}
@media(min-width:1040px){.ed-cols{grid-template-columns:minmax(0,1fr) var(--side);column-gap:44px}}
.ed-hero{position:relative;color:#fff;padding:48px 0 56px;z-index:0}
.ed-hero::before{content:"";position:absolute;top:0;bottom:0;left:-100vw;right:-100vw;background:var(--ed-navy);z-index:-1}
@media(min-width:1040px){.ed-hero{grid-column:1;grid-row:1;padding:56px 0 64px}}
.ed-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0 0 22px;font:400 14px "Open Sans",Inter,sans-serif}
.ed-crumbs a,.ed-crumbs span{color:#fff!important;text-decoration:none}
.ed-crumbs a:hover{text-decoration:underline}
.ed-crumbs i{display:inline-block;width:6px;height:6px;border:1px solid #fff;opacity:.85}
.ed-hero h1{font:700 clamp(28px,3.2vw,35px)/1.25 "Open Sans",Inter,sans-serif;color:#fff;margin:0 0 18px;overflow-wrap:anywhere}
.ed-hl{list-style:none;margin:0 0 24px;padding:0}
.ed-hl li{position:relative;padding:0 0 0 24px;margin:0 0 10px;font:400 15.5px/1.95 "Open Sans",Inter,sans-serif;color:#fff}
.ed-hl li svg{position:absolute;left:0;top:9px;color:#fff}
.ed-by{margin:0 0 22px;font:400 17px "Open Sans",Inter,sans-serif;color:#fff}
.ed-by a{color:#fff!important}
.ed-facts{display:flex;flex-wrap:wrap;gap:12px 36px;list-style:none;margin:0;padding:0;font:400 16px "Open Sans",Inter,sans-serif;color:#fff}
.ed-facts li{display:inline-flex;align-items:center;gap:9px}
.ed-facts svg{flex:none}
.ed-facts .ed-star{color:var(--ed-yellow)}
.ed-free-flag{display:inline-block;margin-left:12px;padding:3px 10px;border-radius:3px;background:#1f7a55;color:#fff;font:700 12px/1.4 Inter,sans-serif;letter-spacing:.6px;vertical-align:middle;text-transform:uppercase}

/* the side card overlaps the navy band on desktop and follows the reader */
.ed-side{position:relative;z-index:2;margin:-24px 0 28px}
@media(min-width:1040px){.ed-side{grid-column:2;grid-row:1/span 2;margin:40px 0 40px;align-self:stretch}
  .ed-side-in{position:sticky;top:80px}}
.ed-side-in{background:var(--ed-card);box-shadow:0 10px 40px -12px rgba(1,23,43,.45);padding:0 0 22px}
.ed-promo{position:relative;display:block;width:100%;aspect-ratio:16/10;background:#f1f3f9;overflow:hidden;border:0;padding:0;cursor:pointer}
.ed-promo img{display:block;width:100%;height:100%;object-fit:cover}
.ed-promo iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ed-promo-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:66px;height:66px;border-radius:50%;background:rgba(1,23,43,.82);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 6px 20px rgba(0,0,0,.35);transition:transform .15s}
.ed-promo:hover .ed-promo-play{transform:translate(-50%,-50%) scale(1.06)}
.ed-promo-cap{position:absolute;left:0;right:0;bottom:0;padding:6px 10px;background:linear-gradient(transparent,rgba(1,23,43,.75));color:#fff;font:600 13px Inter,sans-serif;text-align:left}
.ed-side-body{padding:22px 24px 0}
.ed-price{margin:0 0 4px;text-align:center;font:700 30px/1.15 "Open Sans",Inter,sans-serif;color:var(--ed-ink)}
.ed-price span{font-size:15px;font-weight:400;color:var(--ed-muted)}
.ed-price-sub{margin:0 0 16px;text-align:center;font-size:14px;color:var(--ed-muted)}
.ed-ctas{display:flex;flex-direction:column;gap:6px}
.ed-ctas .cx-btn{width:100%}
.ed-already{margin:14px 0 4px;text-align:center;font:400 15px/1.7 "Open Sans",Inter,sans-serif;color:var(--ed-muted)}
.ed-incl{list-style:none;margin:14px 0 0;padding:0}
.ed-incl li{display:flex;align-items:center;gap:14px;padding:7px 0;font:400 15px/1.4 "Open Sans",Inter,sans-serif;color:var(--ed-ink)}
html.dark .ed-incl li{color:var(--ed-ink2)}
.ed-incl svg{flex:none;color:var(--ed-body)}

.ed-main{min-width:0;padding:8px 0 40px}
@media(min-width:1040px){.ed-main{grid-column:1;grid-row:2;padding-top:44px}}
.ed-sec{margin:0 0 52px}
.ed-sec>h2{font:700 25px/1.3 "Open Sans",Inter,sans-serif;letter-spacing:2px;color:var(--ed-ink2);margin:0 0 24px}
.ed-learn{display:grid;grid-template-columns:1fr;gap:22px 46px;list-style:none;margin:0;padding:0}
@media(min-width:700px){.ed-learn{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ed-learn li{display:flex;align-items:center;gap:22px;min-height:90px;padding:14px 18px;background:var(--ed-tile);box-shadow:0 2px 12px -6px rgba(16,24,40,.18)}
.ed-num{flex:none;width:50px;height:50px;border-radius:50%;background:var(--ed-navy2);color:#fff;display:flex;align-items:center;justify-content:center;font:700 20px "Open Sans",Inter,sans-serif}
html.dark .ed-num{background:#3c4fb0}
.ed-learn b{font:700 18px/1.4 "Open Sans",Inter,sans-serif;color:var(--ed-ink2)}
.ed-desc p{margin:0 0 1em;font:400 16.5px/1.85 "Open Sans",Inter,sans-serif;color:var(--ed-body)}
.ed-skills{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.ed-skills li{padding:7px 14px;background:var(--ed-chip);color:var(--ed-chip-ink);font:600 14px Inter,sans-serif}
.ed-cur-sum{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:-12px 0 20px;font:400 15px "Open Sans",Inter,sans-serif;color:var(--ed-ink)}
.ed-cur-sum .ed-bar{color:#c2410c}
.ed-mods{list-style:none;margin:0;padding:0}
.ed-mod{margin:0 0 28px;background:var(--ed-card);box-shadow:0 2px 16px -8px rgba(16,24,40,.22)}
.ed-mod summary{display:flex;align-items:center;gap:22px;padding:18px 26px 18px 32px;background:var(--ed-lav);cursor:pointer;list-style:none}
.ed-mod summary::-webkit-details-marker{display:none}
.ed-mod-ico{flex:none;color:var(--ed-purple)}
.ed-mod-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.ed-mod-t b{font:600 20px/1.3 "Open Sans",Inter,sans-serif;letter-spacing:.5px;color:var(--ed-purple)}
html.dark .ed-mod-t b{color:#b4b3ff}
.ed-mod-t span{font:400 15px "Open Sans",Inter,sans-serif;letter-spacing:.5px;color:var(--ed-purple)}
html.dark .ed-mod-t span{color:#a9a8ff}
.ed-mod-chev{flex:none;color:var(--ed-purple);transition:transform .2s}
.ed-mod[open] .ed-mod-chev{transform:rotate(180deg)}
.ed-ls{list-style:none;margin:0;padding:8px 0}
.ed-l{display:grid;grid-template-columns:22px minmax(0,1fr) auto 64px;align-items:center;gap:0 18px;min-height:60px;padding:4px 26px 4px 30px}
.ed-l svg{color:var(--ed-purple)}
html.dark .ed-l svg{color:#a9a8ff}
.ed-l-t{font:400 17px/1.45 "Open Sans",Inter,sans-serif;color:var(--ed-body);min-width:0}
.ed-l-t a{color:var(--ed-body)!important;text-decoration:none}
.ed-l-t a:hover{color:var(--ed-purple)!important}
.ed-watch{font:400 14px "Open Sans",Inter,sans-serif;color:var(--ed-purple)!important;text-decoration:none}
.ed-watch:hover{text-decoration:underline}
.ed-l-d{font:400 13.5px "Open Sans",Inter,sans-serif;color:var(--ed-ink);text-align:left}
@media(max-width:560px){.ed-mod summary{padding:16px;gap:12px}.ed-mod-t b{font-size:17px}.ed-l{grid-template-columns:20px minmax(0,1fr) auto;padding:6px 16px;gap:4px 12px}.ed-l-d{grid-column:2;font-size:12.5px;color:var(--ed-muted)}.ed-l-t{font-size:15.5px}}
.ed-bullets{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ed-bullets li{display:flex;gap:14px;align-items:flex-start;font:400 16px/1.6 "Open Sans",Inter,sans-serif;color:var(--ed-body)}
.ed-bullets svg{flex:none;margin-top:3px;color:var(--ed-navy2)}
html.dark .ed-bullets svg{color:#8c9cff}
.ed-who{display:grid;grid-template-columns:1fr;gap:12px 28px}
@media(min-width:640px){.ed-who{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ed-ins{display:flex;align-items:center;gap:26px;margin:0 0 26px}
.ed-ins img{width:110px;height:110px;border-radius:50%;object-fit:cover;flex:none;box-shadow:var(--ed-shadow)}
.ed-ins-n{margin:0 0 4px;font:700 22px "Open Sans",Inter,sans-serif;color:var(--ed-ink)}
.ed-ins-t{margin:0;font:400 16px "Open Sans",Inter,sans-serif;color:var(--ed-muted)}
.ed-bio p{margin:0 0 1.2em;font:400 16px/2 "Open Sans",Inter,sans-serif;color:var(--ed-body)}
.ed-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;list-style:none;margin:28px 0 0;padding:0}
@media(min-width:760px){.ed-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ed-stats li{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:168px;padding:16px;background:var(--ed-tile);box-shadow:0 2px 16px -8px rgba(16,24,40,.22);
  text-align:center;font:400 16px/1.4 "Open Sans",Inter,sans-serif;color:var(--ed-body)}
.ed-stats svg{color:var(--ed-yellow)}
.ed-stats b{display:block;font-weight:400;color:var(--ed-body)}
.ed-faq details{background:var(--ed-card);box-shadow:var(--ed-shadow);margin:0 0 12px}
.ed-faq summary{padding:18px 22px;font:600 16.5px "Open Sans",Inter,sans-serif;color:var(--ed-ink);cursor:pointer}
.ed-faq p{margin:0;padding:0 22px 18px;font:400 16px/1.75 "Open Sans",Inter,sans-serif}
.ed-related{padding:20px 0 64px}
.ed-related>h2{font:600 26px/1.3 Raleway,Inter,sans-serif;color:var(--ed-ink);margin:0 0 26px}
.ed-related .ed-more{display:inline-block;margin-top:22px;font:600 16px Raleway,Inter,sans-serif}

/* the floating WhatsApp contact, as on edu */
.ed-wa{position:fixed;right:20px;bottom:20px;z-index:40;display:inline-flex;align-items:center;gap:8px;min-height:56px;padding:0 20px 0 14px;border-radius:999px;background:#4dc247;color:#fff!important;
  font:700 16px Inter,Arial,sans-serif;text-decoration:none;box-shadow:0 8px 24px -6px rgba(0,0,0,.35);transition:transform .15s}
.ed-wa:hover{transform:translateY(-2px)}
@media(max-width:560px){.ed-wa{right:14px;bottom:14px;width:52px;height:52px;min-height:0;padding:0;justify-content:center}.ed-wa span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
@media print{.ed-wa{display:none}}

/* ---- Plans and pricing (edu pricing page) ---- */
.ed-plans-page{background-color:#eef0fb;background-image:linear-gradient(rgba(87,85,217,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(87,85,217,.06) 1px,transparent 1px);background-size:44px 44px;padding:0 0 72px}
html.dark .ed-plans-page{background-color:#0d1324;background-image:linear-gradient(rgba(140,138,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(140,138,255,.07) 1px,transparent 1px)}
.ed-plans-head{text-align:center;padding:72px 0 36px}
.ed-plans-head h1{font:700 clamp(34px,4.4vw,52px)/1.15 Inter,sans-serif;color:var(--ed-ink);margin:0 0 18px;letter-spacing:-.02em}
.ed-plans-head p{margin:0 auto;max-width:900px;font:400 18px/1.6 Inter,sans-serif;color:var(--ed-ink)}
.ed-feats{display:grid;grid-template-columns:1fr;gap:30px;max-width:900px;margin:10px auto 54px;text-align:center;list-style:none;padding:0}
@media(min-width:760px){.ed-feats{grid-template-columns:repeat(3,1fr)}}
.ed-feat-ico{display:inline-flex;margin:0 0 18px}
.ed-feats h2{font:600 20px Inter,sans-serif;color:var(--ed-ink);margin:0 0 10px}
.ed-feats p{margin:0;font:400 14.5px/1.6 Inter,sans-serif;color:var(--ed-body)}
.cx-plans{display:grid;grid-template-columns:1fr;gap:26px;max-width:1150px;margin:0 auto}
@media(min-width:900px){.cx-plans{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}}
.cx-plan{position:relative;display:flex;flex-direction:column;align-items:center;gap:0;padding:46px 24px 30px;border-radius:14px;background:#eceef6;color:var(--ed-ink);text-align:center;box-shadow:0 2px 14px -8px rgba(16,24,40,.25)}
html.dark .cx-plan{background:#161d31}
.cx-plan-main{background:#08090d;color:#fff}
html.dark .cx-plan-main{background:#000;box-shadow:0 0 0 1px #3c3f66}
.ed-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);padding:5px 12px;font:700 12.5px/1 Inter,sans-serif;letter-spacing:.6px;text-transform:uppercase;white-space:nowrap}
.ed-badge-pop{background:#fcc419;color:#111;border:1px solid #c79100}
.ed-badge-free{background:#22e04b;color:#062b10;border:1px solid #14a836}
.cx-plan h2{font:600 21px Inter,sans-serif;margin:0 0 18px;text-transform:uppercase;letter-spacing:.2px}
.cx-plan-main h2{color:#fff;border-bottom:1px solid #333;padding-bottom:12px}
.cx-plan-p{display:flex;align-items:baseline;justify-content:center;gap:6px;margin:0 0 10px;font:800 40px/1.1 Inter,sans-serif;color:inherit}
.cx-plan-p .ed-unit{font-size:16px;font-weight:500;color:var(--ed-muted)}
.cx-plan-main .cx-plan-p .ed-unit{color:#a8adbd}
.ed-inr-link{font:600 17px Inter,sans-serif;color:var(--ed-violet)!important;text-decoration:underline;text-underline-offset:3px;background:none;border:0;cursor:pointer;padding:0}
.cx-plan-main .ed-inr-link{color:#8f8cff!important}
.ed-plan-note{margin:6px 0 0;font-size:13.5px;color:var(--ed-muted)}
.cx-plan-main .ed-plan-note{color:#a8adbd}
.cx-plan .cx-btn,.cx-plan .ed-select{margin:28px 0 16px;width:100%;min-height:56px;border-radius:8px;background:var(--ed-violet);border-color:var(--ed-violet);letter-spacing:0;text-transform:none;font:600 17px Inter,sans-serif}
.cx-plan .cx-btn:hover{background:#5a24ef;border-color:#5a24ef}
.ed-guar{display:inline-flex;align-items:center;gap:8px;font:400 13.5px Inter,sans-serif;color:inherit}
.ed-guar svg{color:#22c55e}
.ed-plan-list{list-style:none;margin:20px 0 0;padding:20px 0 0;border-top:1px solid rgba(127,127,127,.25);width:100%;text-align:left;display:grid;gap:10px}
.ed-plan-list li{display:flex;gap:10px;align-items:flex-start;font:400 14.5px/1.45 Inter,sans-serif}
.ed-plan-list svg{flex:none;margin-top:2px;color:#22c55e}
.cx-notice{max-width:760px;margin:34px auto 0;padding:14px 18px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12;text-align:center}
html.dark .cx-notice{background:#2a1a0b;border-color:#7c2d12;color:#fed7aa}
.ed-plans-faq{max-width:900px;margin:64px auto 0}
.ed-plans-faq>h2{font:700 28px Inter,sans-serif;color:var(--ed-ink);text-align:center;margin:0 0 24px}
[data-cur="INR"] .ed-usd,[data-cur="USD"] .ed-inr{display:none}

/* ---- Redeem ---- */
.ed-band{position:relative;color:#fff;text-align:center;padding:56px 0 64px}
.ed-band::before{content:"";position:absolute;inset:0 -100vw;background:var(--ed-navy);z-index:-1}
.ed-band h1{font:700 clamp(28px,3.2vw,36px)/1.2 "Open Sans",Inter,sans-serif;margin:0 0 12px;color:#fff}
.ed-band p{margin:0 auto;max-width:640px;font:400 17px/1.6 "Open Sans",Inter,sans-serif;color:#d6deea}
.cx-redeem-box{position:relative;z-index:1;max-width:620px;margin:-30px auto 40px;padding:28px 26px;background:var(--ed-card);box-shadow:0 10px 40px -12px rgba(1,23,43,.4)}
.cx-redeem-l{display:block;font:700 16px "Open Sans",Inter,sans-serif;color:var(--ed-ink);margin-bottom:10px}
.cx-redeem-row{display:flex;gap:10px;flex-wrap:wrap}
.cx-redeem-row input{flex:1;min-width:200px;min-height:52px;font:600 18px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;padding:0 14px;
  border:1px solid var(--ed-line);border-radius:4px;background:var(--ed-bg);color:var(--ed-ink)}
.cx-redeem-row input:focus{outline:2px solid var(--ed-purple);outline-offset:1px}
.cx-redeem-row input::placeholder{font:400 16px/1.2 Inter,-apple-system,"Segoe UI",sans-serif;letter-spacing:0;text-transform:none;color:var(--ed-muted)}
.cx-redeem-row .cx-btn{min-width:150px}
.cx-redeem-msg{min-height:1.4em;margin:14px 0 0;font-size:15.5px}
.cx-redeem-msg.is-good{color:var(--ed-green)}
.cx-redeem-msg.is-bad{color:#b42318}
html.dark .cx-redeem-msg.is-good{color:#4ade80}
html.dark .cx-redeem-msg.is-bad{color:#f87171}
.cx-redeem-msg .cx-btn{margin-top:14px}
.cx-redeem-note{max-width:620px;margin:0 auto 72px;text-align:center;color:var(--ed-muted);font-size:15px}

/* ---- Admin preview bar ---- */
.cx-admin-bar{background:#fff4e0;border-bottom:1px solid #f3d29a;color:#6b4300;padding:10px 16px;font-size:14px;text-align:center}
.cx-admin-bar a{color:inherit!important;font-weight:600;margin-left:6px}
html.dark .cx-admin-bar{background:#3a2a0c;border-color:#5c4416;color:#ffd99a}

@media(prefers-reduced-motion:reduce){.cx-btn,.cx-card,.ed-pill,.ed-wa{transition:none}}
