:root{
  --bg:#fbfaff;
  --surface:#fff;
  --surface-soft:#f6f2ff;
  --surface-violet:#eee8ff;
  --ink:#11112f;
  --muted:#625f7c;
  --line:#ddd5fb;
  --violet:#6547d6;
  --violet-2:#7c5cff;
  --violet-dark:#4b2eb4;
  --blue:#2e89e8;
  --teal:#1aa8a0;
  --orange:#ff7a3d;
  --green:#28a56b;
  --red:#cf5964;
  --shadow:0 18px 50px rgba(56,39,117,.10);
  --shadow-soft:0 12px 30px rgba(56,39,117,.07);
  --radius:22px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{
  margin:0;
  background:
    radial-gradient(circle at 78% 2%,rgba(111,82,232,.08),transparent 30rem),
    linear-gradient(180deg,#fcfbff,#fff 44%,#f8f5ff);
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img,svg,iframe{display:block;max-width:100%}
button,select,a{font:inherit}
.container{width:min(calc(100% - 36px),var(--max));margin:0 auto}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:18px;top:18px;z-index:9999;background:#fff;padding:10px 14px;border-radius:8px}

/* Header and navigation */
.course-header{
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(101,71,214,.10);
}
.course-header-main{
  min-height:68px;
  display:flex;align-items:center;gap:18px;
}
.course-brand{
  margin-right:auto;
  font-size:1.22rem;font-weight:950;letter-spacing:-.04em;
  white-space:nowrap;
}
.course-brand span{color:var(--violet)}
.course-nav{display:flex;align-items:center;gap:18px}
.course-nav a{
  color:#383454;font-size:.85rem;font-weight:780;white-space:nowrap;
}
.course-nav a:hover,.course-utility a:hover{color:var(--violet)}
.course-cta,.button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:.72rem 1rem;border-radius:11px;
  font-weight:850;text-align:center;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.course-cta,.button-primary{
  color:#fff;background:linear-gradient(135deg,var(--violet),var(--violet-dark));
  box-shadow:0 10px 24px rgba(75,46,180,.20);
}
.course-cta:hover,.button-primary:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(75,46,180,.25)}
.button-secondary{
  color:var(--violet-dark);background:#fff;border:1px solid var(--line);
}
.button-secondary:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft)}
.course-utility{
  border-top:1px solid rgba(101,71,214,.08);
  background:rgba(248,246,255,.88);
}
.course-utility-inner{
  min-height:34px;display:flex;align-items:center;justify-content:flex-end;
  gap:17px;flex-wrap:wrap;
}
.course-utility a{
  color:#68627f;font-size:.74rem;font-weight:700;
}
.lang-pill{
  display:inline-flex!important;align-items:center;gap:6px;
  color:var(--violet-dark)!important;font-weight:900!important;
}
.lang-pill::before{content:"🌐";font-size:.85rem}

/* Shared typography */
.eyebrow,.section-kicker,.page-kicker{
  margin:0 0 9px;color:var(--violet);
  font-size:.73rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase;
}
.section{padding:56px 0}
.section-soft{
  background:linear-gradient(180deg,rgba(242,237,255,.76),rgba(255,255,255,.72));
  border-block:1px solid rgba(101,71,214,.08);
}
.section-title,.page-title{
  margin:0;font-size:clamp(2rem,4vw,3rem);
  line-height:1.05;letter-spacing:-.045em;
}
.section-intro,.page-lead{
  max-width:780px;margin:10px 0 0;color:var(--muted);line-height:1.72;
}
.panel{
  background:#fff;border:1px solid rgba(101,71,214,.13);
  border-radius:var(--radius);box-shadow:var(--shadow-soft);
}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.icon-badge{
  display:grid;place-items:center;width:42px;height:42px;border-radius:13px;
  color:#fff;background:linear-gradient(135deg,var(--violet-2),var(--violet-dark));
  font-weight:900;
}
.mini-card{
  padding:22px;background:#fff;border:1px solid rgba(101,71,214,.12);
  border-radius:18px;box-shadow:var(--shadow-soft)
}
.mini-card h3{margin:14px 0 7px;font-size:1.05rem}
.mini-card p{margin:0;color:var(--muted);line-height:1.58}

/* Main landing */
.hero{padding:54px 0 40px}
.hero-grid{
  display:grid;grid-template-columns:minmax(0,1.02fr) minmax(410px,.98fr);
  gap:42px;align-items:center;
}
.hero h1{
  margin:0;max-width:670px;font-size:clamp(3rem,6vw,5.25rem);
  line-height:.92;letter-spacing:-.065em;
}
.hero h1 span{display:block;color:var(--violet-dark)}
.hero-kicker{margin:18px 0 0;color:#32304f;font-size:1.13rem;font-weight:780}
.hero-lead{margin:12px 0 0;max-width:670px;color:var(--muted);font-size:1.02rem;line-height:1.72}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.hero-proof{display:flex;gap:22px;flex-wrap:wrap;margin-top:22px;color:#4b4765;font-size:.86rem}
.hero-proof span{display:flex;align-items:center;gap:8px}
.hero-proof b{color:var(--violet);font-size:1.05rem}
.hero-visual{position:relative;min-height:510px}
.visual-backdrop{
  position:absolute;inset:42px 34px 22px 18px;border-radius:26px;
  background:linear-gradient(145deg,#252044,#1f1b38 55%,#6754dc 150%);
  box-shadow:var(--shadow);overflow:hidden;
}
.visual-backdrop::after{
  content:"";position:absolute;width:300px;height:300px;right:-90px;top:-70px;
  background:radial-gradient(circle,rgba(150,127,255,.5),transparent 67%);
}
.method-note{
  position:absolute;z-index:2;top:78px;left:52px;color:#fff;
  font-family:Georgia,"Times New Roman",serif;font-size:1.48rem;line-height:1.5;
  font-style:italic;transform:rotate(-4deg);
}
.method-note strong{display:block;margin-top:6px;color:#aa91ff;font-size:1.8rem}
.portrait{
  position:absolute;z-index:3;right:38px;bottom:22px;width:56%;height:82%;
  object-fit:cover;object-position:center 18%;
  border-radius:26px 26px 20px 20px;
  box-shadow:0 18px 40px rgba(0,0,0,.30);
}
.quote-card{
  position:absolute;z-index:5;right:-4px;top:82px;width:215px;padding:19px 18px;
  background:rgba(255,255,255,.95);border:1px solid rgba(101,71,214,.12);
  border-radius:18px;box-shadow:var(--shadow);
}
.quote-card .quote-mark{color:#7f62ed;font-family:Georgia,serif;font-size:2.7rem;line-height:.7}
.quote-card p{margin:8px 0 12px;color:#25213f;font-size:.96rem;font-weight:780;line-height:1.35}
.quote-card small{color:var(--muted);font-size:.71rem}
.trust-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:20px;
  border:1px solid var(--line);border-radius:17px;overflow:hidden;
  background:var(--line);box-shadow:var(--shadow-soft);
}
.trust-item{padding:17px 20px;background:#fff}
.trust-item strong{display:block;color:var(--violet-dark);font-size:1.12rem}
.trust-item span{color:var(--muted);font-size:.84rem}

/* Restored course/journey sections */
.problem-grid,.journey-grid,.support-grid{display:grid;gap:16px;margin-top:25px}
.problem-grid{grid-template-columns:repeat(3,1fr)}
.problem-card,.journey-step,.support-card{
  padding:22px;background:#fff;border:1px solid rgba(101,71,214,.12);
  border-radius:18px;box-shadow:var(--shadow-soft)
}
.problem-card .n,.journey-step .n,.support-card .n{
  display:grid;place-items:center;width:36px;height:36px;border-radius:50%;
  background:var(--surface-violet);color:var(--violet-dark);font-weight:950;margin-bottom:13px
}
.problem-card h3,.journey-step h3,.support-card h3{margin:0 0 7px}
.problem-card p,.journey-step p,.support-card p{margin:0;color:var(--muted);line-height:1.6}
.journey-grid{grid-template-columns:repeat(4,1fr)}
.support-grid{grid-template-columns:repeat(3,1fr)}

/* 3-step method */
.method-grid{
  display:grid;grid-template-columns:1fr 44px 1fr 44px 1fr;
  gap:12px;align-items:stretch;margin-top:28px;
}
.method-card{
  padding:24px;background:#fff;border:1px solid rgba(101,71,214,.12);
  border-radius:20px;box-shadow:var(--shadow-soft)
}
.method-num{
  display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;
  color:#fff;background:linear-gradient(135deg,var(--violet-2),var(--violet-dark));font-weight:950
}
.method-icon{font-size:1.8rem;margin:16px 0 9px}
.method-card h3{margin:0 0 8px}
.method-card p{margin:0;color:var(--muted);line-height:1.6}
.method-arrow{display:grid;place-items:center;color:var(--violet);font-size:2rem}

/* Demo video */
.demo-shell{
  display:grid;grid-template-columns:.78fr 1.22fr;gap:28px;align-items:center;
  margin-top:26px;padding:26px;border-radius:26px;
  background:linear-gradient(135deg,#f0ebff,#faf9ff 55%,#eee7ff);
  border:1px solid rgba(101,71,214,.12)
}
.demo-copy h3{margin:0;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.08;letter-spacing:-.035em}
.demo-copy p{color:var(--muted);line-height:1.65}
.demo-note{
  margin-top:18px;padding:15px 16px;border-radius:14px;
  background:rgba(255,255,255,.75);border:1px solid rgba(101,71,214,.10);
  color:#4e4968;font-size:.9rem
}
.video-wrap{
  position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:18px;
  background:#171427;box-shadow:0 16px 40px rgba(31,22,72,.16)
}
.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.formula{
  margin-top:24px;padding:24px;border:1px solid rgba(101,71,214,.12);
  border-radius:22px;background:linear-gradient(90deg,#f2edff,#fbfaff,#eee8ff);text-align:center
}
.formula-title{margin:0 0 20px;color:#35228f;font-size:clamp(1.1rem,2vw,1.48rem);font-weight:950}
.formula-row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:12px}
.formula-item{color:#2c2850;font-weight:850}
.formula-item .big{display:block;color:var(--violet);font-size:1.8rem;margin-bottom:4px}
.formula-op{color:var(--violet);font-size:1.6rem;font-weight:800}

/* Modules */
.modules-head{display:flex;gap:24px;justify-content:space-between;align-items:end}
.modules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.module-card{
  padding:22px;background:#fff;border:1px solid rgba(101,71,214,.12);
  border-radius:20px;box-shadow:var(--shadow-soft)
}
.module-top{display:flex;align-items:center;gap:12px;margin-bottom:13px}
.module-icon{
  display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:12px;
  color:#fff;font-weight:950
}
.module-icon.teal{background:linear-gradient(135deg,#2bb8ae,#178f8a)}
.module-icon.blue{background:linear-gradient(135deg,#4b9cf4,#2a75d2)}
.module-icon.violet{background:linear-gradient(135deg,#825cff,#5833ce)}
.module-icon.orange{background:linear-gradient(135deg,#ff9362,#ef6530)}
.module-icon.green{background:linear-gradient(135deg,#42b97f,#228e5d)}
.module-icon.navy{background:linear-gradient(135deg,#4a4c7b,#292a52)}
.module-card h3{margin:0;font-size:1.03rem}
.module-card ul{margin:0;padding:0;list-style:none}
.module-card li{position:relative;padding-left:21px;margin:8px 0;color:#56516e;font-size:.9rem}
.module-card li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:950}

/* About/audience */
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start}
.about-card{
  padding:30px;border-radius:24px;background:#1f1b3a;color:#fff;box-shadow:var(--shadow)
}
.about-card p{color:#d6d0ec;line-height:1.7}
.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.audience-card{padding:22px;border-radius:18px;background:#fff;border:1px solid rgba(101,71,214,.12)}
.audience-card h3{margin:0 0 10px}
.audience-card ul{margin:0;padding:0;list-style:none}
.audience-card li{position:relative;padding-left:23px;margin:8px 0;color:var(--muted);line-height:1.46}
.audience-card.yes li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:950}
.audience-card.no li::before{content:"×";position:absolute;left:0;color:var(--red);font-weight:950}

/* FAQ */
.faq{display:grid;gap:10px;margin-top:22px}
.faq details{
  padding:0 18px;background:#fff;border:1px solid rgba(101,71,214,.12);border-radius:14px
}
.faq summary{cursor:pointer;list-style:none;padding:17px 0;font-weight:850}
.faq summary::-webkit-details-marker{display:none}
.faq p{margin:0 0 17px;color:var(--muted);line-height:1.65}

/* Final CTA */
.final-cta{padding:30px 0 64px}
.final-box{
  position:relative;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;
  gap:26px;align-items:center;padding:34px 40px;border-radius:26px;
  background:radial-gradient(circle at 76% 18%,rgba(117,90,255,.55),transparent 18rem),
  linear-gradient(135deg,#222044,#2d235e 55%,#4e2fae);
  color:#fff;box-shadow:0 24px 58px rgba(35,26,85,.20)
}
.final-box h2{margin:0;font-size:clamp(2rem,4vw,2.85rem);line-height:1.04;letter-spacing:-.04em}
.final-box p{color:#d9d4ef;line-height:1.65}
.final-art{position:relative;min-height:220px}
.final-circle{
  position:absolute;right:18px;top:50%;width:205px;height:205px;transform:translateY(-50%);
  border-radius:50%;overflow:hidden;border:7px solid rgba(255,255,255,.10);box-shadow:0 18px 44px rgba(0,0,0,.25)
}
.final-circle img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.hand-note{
  position:absolute;z-index:2;right:195px;top:50%;width:175px;color:#fff;
  font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:1.14rem;
  line-height:1.4;transform:translateY(-55%) rotate(-4deg)
}

/* Secondary pages */
.page-hero{padding:58px 0 28px}
.page-shell{max-width:980px}
.page-card{
  margin-top:24px;padding:30px;background:#fff;border:1px solid rgba(101,71,214,.13);
  border-radius:22px;box-shadow:var(--shadow-soft)
}
.page-card + .page-card{margin-top:18px}
.page-card h2{margin:0 0 10px;font-size:1.45rem;letter-spacing:-.025em}
.page-card p{color:var(--muted);line-height:1.7}
.page-card ul{color:var(--muted)}
.page-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.content-note{
  margin-top:18px;padding:16px 18px;border-radius:15px;
  background:var(--surface-violet);color:#4e466e
}

/* Content accordion, including legacy script output */
.accordion{display:grid;gap:12px;margin-top:24px}
.accordion-item,.accordion > div{
  background:#fff;border:1px solid rgba(101,71,214,.14);
  border-radius:16px;overflow:hidden;box-shadow:var(--shadow-soft)
}
.accordion-header,.accordion button{
  width:100%;padding:17px 20px;border:0;background:#fff;color:var(--ink);
  text-align:left;font-weight:850;cursor:pointer
}
.accordion-content{
  padding:0 20px 18px;color:var(--muted);line-height:1.65
}
.accordion ul{margin:8px 0;padding-left:1.2rem}

/* Contact */
.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px}
.contact-card{
  padding:22px;background:#fff;border:1px solid rgba(101,71,214,.13);
  border-radius:18px;box-shadow:var(--shadow-soft)
}
.contact-icon{font-size:1.5rem}
.contact-card h3{margin:10px 0 5px}
.contact-card p{margin:0;color:var(--muted);line-height:1.55}
.contact-card a{color:var(--violet-dark);font-weight:780;word-break:break-word}

/* About page */
.profile-hero{
  display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:center;
  padding:28px;background:#fff;border:1px solid rgba(101,71,214,.13);
  border-radius:22px;box-shadow:var(--shadow-soft)
}
.profile-photo{
  width:210px;height:210px;border-radius:22px;overflow:hidden;background:var(--surface-violet)
}
.profile-photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
.cert-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}
.cert-chip{
  padding:.4rem .65rem;border-radius:999px;background:var(--surface-violet);
  color:var(--violet-dark);font-size:.76rem;font-weight:800
}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px}
.stat-box{padding:18px;border-radius:16px;background:#fff;border:1px solid rgba(101,71,214,.12)}
.stat-box strong{display:block;color:var(--violet-dark);font-size:1.5rem}
.timeline{display:grid;gap:12px;margin-top:20px}
.timeline-item{
  display:grid;grid-template-columns:100px 1fr;gap:18px;
  padding:18px;background:#fff;border:1px solid rgba(101,71,214,.12);border-radius:16px
}
.timeline-year{color:var(--violet-dark);font-weight:950}
.timeline-item p{margin:0;color:var(--muted);line-height:1.65}

/* Terms */
.terms{display:grid;gap:14px;margin-top:22px}
.term-item{
  padding:22px;background:#fff;border:1px solid rgba(101,71,214,.12);
  border-radius:16px;box-shadow:var(--shadow-soft)
}
.term-item h2{margin:0 0 8px;font-size:1.15rem}
.term-item p{margin:0;color:var(--muted);line-height:1.7}

/* Footer */
.course-footer{
  padding:28px 0 38px;border-top:1px solid rgba(101,71,214,.10);
  color:#6b667f;font-size:.84rem;background:rgba(255,255,255,.6)
}
.footer-inner{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
.footer-links{display:flex;gap:15px;flex-wrap:wrap}
.footer-links a:hover{color:var(--violet)}

@media(max-width:1080px){
  .course-nav{display:none}
  .hero-grid{grid-template-columns:1fr}
  .hero-visual{min-height:480px}
  .problem-grid{grid-template-columns:1fr 1fr}
  .journey-grid{grid-template-columns:1fr 1fr}
  .method-grid{grid-template-columns:1fr}
  .method-arrow{transform:rotate(90deg);height:22px}
  .demo-shell{grid-template-columns:1fr}
  .formula-row{grid-template-columns:1fr}
  .formula-op{transform:rotate(90deg)}
  .modules-grid{grid-template-columns:1fr 1fr}
  .about-grid{grid-template-columns:1fr}
  .final-box{grid-template-columns:1fr}
}
@media(max-width:680px){
  .container{width:min(calc(100% - 24px),var(--max))}
  .course-header{position:relative}
  .course-header-main{min-height:62px}
  .course-brand{font-size:1rem}
  .course-cta{font-size:.78rem;padding:.62rem .72rem}
  .course-utility-inner{justify-content:flex-start;padding:7px 0;gap:12px}
  .hero{padding-top:34px}
  .hero h1{font-size:clamp(2.65rem,15vw,4rem)}
  .hero-actions .button{width:100%}
  .hero-visual{min-height:425px}
  .visual-backdrop{inset:32px 0 18px}
  .method-note{left:20px;top:62px;font-size:1.2rem}
  .portrait{right:12px;width:63%;height:77%}
  .quote-card{right:4px;top:54px;width:176px;padding:14px}
  .quote-card p{font-size:.83rem}
  .trust-strip,.problem-grid,.journey-grid,.support-grid,
  .modules-grid,.audience-grid,.contact-grid,.stats-row{grid-template-columns:1fr}
  .section{padding:42px 0}
  .demo-shell{padding:18px}
  .modules-head{align-items:flex-start;flex-direction:column}
  .final-box{padding:25px 21px}
  .final-circle{right:0;width:175px;height:175px}
  .hand-note{left:0;right:auto;top:15px;transform:none;width:155px;font-size:1rem}
  .profile-hero{grid-template-columns:1fr}
  .profile-photo{width:180px;height:180px}
  .timeline-item{grid-template-columns:1fr;gap:5px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .button,.course-cta{transition:none}
  .button:hover,.course-cta:hover{transform:none}
}

/* ===== Visual refinement v4: preserve content, fix header/hero/icons ===== */
.refined-header{box-shadow:0 4px 18px rgba(38,27,86,.035)}
.refined-header-main{min-height:76px}
.refined-nav{gap:15px}
.refined-nav>a{font-size:.82rem}
.lang-switch{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:38px;height:34px;padding:0 .62rem;border:1px solid var(--line);
  border-radius:999px;background:#fff;color:var(--violet-dark);
  font-size:.76rem;font-weight:950;letter-spacing:.03em;
}
.lang-switch:hover{background:var(--surface-violet)}
.nav-more{position:relative}
.nav-more summary{
  cursor:pointer;list-style:none;color:#383454;font-size:.82rem;font-weight:780;
  white-space:nowrap
}
.nav-more summary::-webkit-details-marker{display:none}
.nav-more summary::after{content:"⌄";margin-left:5px;color:var(--violet)}
.nav-more-menu{
  position:absolute;right:0;top:calc(100% + 13px);z-index:80;
  min-width:190px;padding:8px;background:#fff;border:1px solid var(--line);
  border-radius:14px;box-shadow:0 18px 40px rgba(45,33,99,.16)
}
.nav-more-menu a{
  display:block;padding:9px 10px;border-radius:9px;color:#4a4563;
  font-size:.8rem;font-weight:750
}
.nav-more-menu a:hover{background:var(--surface-soft);color:var(--violet-dark)}

.hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(430px,.96fr)}
.hero-visual-refined{min-height:500px}
.refined-backdrop{
  inset:28px 0 18px 16px;
  display:grid;grid-template-columns:.42fr .58fr;align-items:end;
  padding:0;overflow:hidden
}
.refined-backdrop::after{
  width:330px;height:330px;right:-80px;top:-120px;
}
.refined-note{top:52px;left:40px;font-size:1.42rem;z-index:4}
.developer-illustration{
  grid-column:2;align-self:end;justify-self:end;width:100%;height:100%;
  display:flex;align-items:flex-end;justify-content:flex-end;z-index:2
}
.developer-svg{width:100%;height:100%;min-height:420px}
.hero-mini-card{
  position:absolute;left:34px;bottom:36px;z-index:5;
  width:185px;padding:13px 14px;border-radius:14px;
  background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.25);
  box-shadow:0 12px 28px rgba(0,0,0,.15)
}
.hero-mini-card span{
  display:block;color:var(--violet);font-size:.65rem;font-weight:950;
  letter-spacing:.1em;margin-bottom:4px
}
.hero-mini-card b{display:block;color:#282244;font-size:.78rem;line-height:1.35}
.refined-quote{
  right:-18px;top:78px;width:210px;
}
.refined-quote p{font-size:.9rem}
.hero-proof .proof-icon{
  width:18px;height:18px;color:var(--violet);stroke:currentColor;fill:none;stroke-width:2
}

/* Restore actual line icons */
.method-icon{width:48px;height:48px;margin:17px 0 11px;color:#2c285f}
.method-icon .ui-icon{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.formula-item{display:flex;align-items:center;justify-content:center;gap:10px}
.formula-item .formula-icon{width:38px;height:38px;color:var(--violet);stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.module-icon .module-svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* CTA artwork no longer depends on a second portrait */
.final-art-refined{
  position:relative;min-height:230px;
}
.final-orbit{
  position:absolute;right:12px;top:50%;width:220px;height:220px;
  transform:translateY(-50%);border-radius:50%;
  border:2px solid rgba(255,255,255,.20);
  box-shadow:inset 0 0 0 18px rgba(255,255,255,.025)
}
.final-core{
  position:absolute;left:50%;top:50%;width:92px;height:92px;transform:translate(-50%,-50%);
  display:grid;place-items:center;border-radius:24px;
  background:linear-gradient(135deg,#fff,#dcd2ff);color:var(--violet-dark);
  box-shadow:0 18px 34px rgba(0,0,0,.18)
}
.final-core svg{width:48px;height:48px;stroke:currentColor;fill:none;stroke-width:1.6}
.orbit-chip{
  position:absolute;padding:.46rem .62rem;border-radius:999px;
  background:rgba(255,255,255,.94);color:#2d2750;font-size:.69rem;font-weight:850;
  box-shadow:0 8px 18px rgba(0,0,0,.12)
}
.orbit-chip.c1{top:4px;left:50%;transform:translateX(-50%)}
.orbit-chip.c2{right:-22px;top:50%;transform:translateY(-50%)}
.orbit-chip.c3{bottom:4px;left:50%;transform:translateX(-50%)}
.final-art-refined .hand-note{right:205px;top:50%}

@media(max-width:1180px){
  .refined-nav>a:nth-of-type(5){display:none}
}
@media(max-width:1080px){
  .refined-nav{display:none}
  .nav-more{display:none}
}
@media(max-width:680px){
  .refined-header-main{min-height:64px;gap:9px}
  .lang-switch{min-width:34px;height:32px;padding:0 .5rem}
  .hero-visual-refined{min-height:430px}
  .refined-backdrop{inset:24px 0 14px 0;grid-template-columns:.37fr .63fr}
  .refined-note{top:48px;left:18px;font-size:1.12rem}
  .developer-svg{min-height:390px}
  .hero-mini-card{left:15px;bottom:24px;width:150px;padding:10px}
  .refined-quote{right:2px;top:58px;width:172px;padding:14px}
  .refined-quote p{font-size:.8rem}
  .formula-item{flex-direction:column;gap:5px}
  .final-art-refined .hand-note{left:0;right:auto}
  .final-orbit{right:0;width:175px;height:175px}
}

/* ===== Curriculum redesign v6 ===== */
.curriculum-page .page-hero{
  padding-bottom:20px;
}
.curriculum-page .page-shell{
  max-width:1080px;
}
.curriculum-page .curriculum-frame{
  margin-top:8px;
}
.curriculum-intro-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  padding:24px 26px;
  margin-bottom:22px;
  border:1px solid rgba(101,71,214,.14);
  border-radius:20px;
  background:
    radial-gradient(circle at 100% 0,rgba(124,92,255,.10),transparent 220px),
    #fff;
  box-shadow:var(--shadow-soft);
}
.curriculum-intro-card h2{
  margin:0 0 7px;
  font-size:1.35rem;
  letter-spacing:-.025em;
}
.curriculum-intro-card p{
  margin:0;
  max-width:680px;
  color:var(--muted);
  line-height:1.65;
}
.curriculum-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(130px,1fr));
  gap:9px;
}
.curriculum-stat{
  min-width:138px;
  padding:11px 13px;
  border:1px solid rgba(101,71,214,.12);
  border-radius:13px;
  background:rgba(247,244,255,.82);
}
.curriculum-stat strong{
  display:block;
  color:var(--violet-dark);
  font-size:1.02rem;
  line-height:1.15;
}
.curriculum-stat span{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:.72rem;
}

.curriculum-roadmap-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin:30px 0 13px;
}
.curriculum-roadmap-title h2{
  margin:0;
  font-size:1.25rem;
  letter-spacing:-.02em;
}
.curriculum-roadmap-title p{
  margin:0;
  color:var(--muted);
  font-size:.82rem;
}

/* Main module stack */
.curriculum-page .accordion{
  counter-reset:curriculum-module -1;
  display:grid;
  gap:14px;
  margin-top:0;
}
.curriculum-page .curriculum-module{
  --module-accent:#6547d6;
  counter-increment:curriculum-module;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(101,71,214,.14)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 8px 26px rgba(51,37,105,.055)!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.curriculum-page .curriculum-module:nth-child(6n + 1){--module-accent:#6547d6}
.curriculum-page .curriculum-module:nth-child(6n + 2){--module-accent:#188f91}
.curriculum-page .curriculum-module:nth-child(6n + 3){--module-accent:#2d7ed4}
.curriculum-page .curriculum-module:nth-child(6n + 4){--module-accent:#8750cf}
.curriculum-page .curriculum-module:nth-child(6n + 5){--module-accent:#d46b36}
.curriculum-page .curriculum-module:nth-child(6n + 6){--module-accent:#25875d}
.curriculum-page .curriculum-module::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:var(--module-accent);
}
.curriculum-page .curriculum-module:hover{
  border-color:rgba(101,71,214,.24)!important;
  box-shadow:0 13px 30px rgba(51,37,105,.09)!important;
}

/* Existing button/header from script.js, enhanced without changing its behavior */
.curriculum-page .curriculum-module-trigger{
  position:relative;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;
  gap:13px;
  width:100%;
  min-height:72px;
  padding:13px 16px 13px 20px!important;
  border:0!important;
  background:#fff!important;
  color:var(--ink)!important;
  text-align:left!important;
  cursor:pointer;
}
.curriculum-module-number{
  display:grid;
  place-items:center;
  min-width:44px;
  height:44px;
  padding:0 8px;
  border-radius:13px;
  background:color-mix(in srgb,var(--module-accent) 11%, white);
  color:var(--module-accent);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.05em;
}
.curriculum-module-title{
  min-width:0;
  font-size:.98rem;
  font-weight:900;
  letter-spacing:-.012em;
  line-height:1.32;
}
.curriculum-module-count{
  padding:.34rem .57rem;
  border-radius:999px;
  background:#f6f3ff;
  color:#6b6384;
  font-size:.68rem;
  font-weight:800;
  white-space:nowrap;
}
.curriculum-native-toggle{
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid rgba(101,71,214,.18)!important;
  border-radius:50%!important;
  background:#faf8ff!important;
  color:var(--module-accent)!important;
  font-size:1rem!important;
  font-weight:900!important;
  line-height:1!important;
}

/* Module content */
.curriculum-page .curriculum-module-content{
  padding:5px 18px 19px 70px!important;
  border-top:1px solid rgba(101,71,214,.08);
  background:
    linear-gradient(180deg,rgba(249,247,255,.72),rgba(255,255,255,.98));
  color:var(--muted);
}
.curriculum-page .curriculum-module-content > p:first-child{
  margin-top:13px;
}
.curriculum-page .curriculum-module-content ul{
  counter-reset:curriculum-lesson;
  display:grid;
  gap:7px;
  margin:12px 0 0!important;
  padding:0!important;
  list-style:none!important;
}
.curriculum-page .curriculum-module-content li,
.curriculum-page .curriculum-lesson{
  counter-increment:curriculum-lesson;
  position:relative;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:start;
  gap:11px;
  margin:0!important;
  padding:9px 11px!important;
  border:1px solid rgba(101,71,214,.09);
  border-radius:10px;
  background:rgba(255,255,255,.85);
  color:#534e6b;
  line-height:1.42;
  font-size:.82rem;
}
.curriculum-page .curriculum-module-content li::before,
.curriculum-page .curriculum-lesson::before{
  content:counter(curriculum-lesson,decimal-leading-zero);
  display:grid;
  place-items:center;
  width:30px;
  height:25px;
  border-radius:7px;
  background:color-mix(in srgb,var(--module-accent) 10%, white);
  color:var(--module-accent);
  font-size:.62rem;
  font-weight:950;
  letter-spacing:.04em;
}
.curriculum-page .curriculum-module-content li:hover{
  border-color:color-mix(in srgb,var(--module-accent) 24%, white);
  background:#fff;
}
.curriculum-page .curriculum-module-content a{
  color:inherit;
  text-decoration:none;
}

/* If script.js creates a non-button header wrapper */
.curriculum-page .curriculum-module > .accordion-header:not(.curriculum-module-trigger){
  display:none!important;
}

/* Remove the old technical note and repetitive white card feeling */
.curriculum-page .legacy-curriculum-copy{
  display:none!important;
}
.curriculum-page .curriculum-host{
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}

/* Small guidance line */
.curriculum-hint{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 13px;
  color:#6d6685;
  font-size:.76rem;
}
.curriculum-hint::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--violet);
  box-shadow:0 0 0 4px rgba(101,71,214,.10);
}

@media(max-width:760px){
  .curriculum-intro-card{grid-template-columns:1fr;padding:20px}
  .curriculum-summary{grid-template-columns:1fr 1fr}
  .curriculum-page .curriculum-module-trigger{
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:10px;
    min-height:68px;
    padding:11px 11px 11px 16px!important;
  }
  .curriculum-module-count{display:none}
  .curriculum-module-number{min-width:39px;height:39px}
  .curriculum-page .curriculum-module-content{
    padding:4px 11px 15px 16px!important;
  }
  .curriculum-page .curriculum-module-content li,
  .curriculum-page .curriculum-lesson{
    grid-template-columns:30px minmax(0,1fr);
    gap:8px;
    padding:8px 9px!important;
    font-size:.79rem;
  }
  .curriculum-roadmap-title{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }
}

/* ===== Clean hero method board v7 ===== */
.hero-grid{
  grid-template-columns:minmax(0,1.03fr) minmax(500px,.97fr);
  gap:52px;
}
.hero-method-board{
  min-height:470px;
  display:flex;
  align-items:center;
}
.method-board{
  position:relative;
  width:100%;
  min-height:420px;
  overflow:hidden;
  padding:31px 30px 28px;
  border-radius:28px;
  background:
    radial-gradient(circle at 86% 12%,rgba(135,108,255,.40),transparent 230px),
    linear-gradient(145deg,#211c41 0%,#28204f 48%,#4f39a9 145%);
  box-shadow:0 22px 52px rgba(38,27,91,.18);
  color:#fff;
}
.method-board-grid{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.09;
  background-image:
    linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,transparent 0,#000 20%,#000 80%,transparent 100%);
}
.method-board-head{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:28px;
}
.method-board-head span{
  color:#bcaaff;
  font-size:.7rem;
  font-weight:950;
  letter-spacing:.13em;
}
.method-board-head strong{
  max-width:250px;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.15rem;
  font-style:italic;
  line-height:1.3;
  text-align:right;
  font-weight:500;
}
.method-board-flow{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:10px;
  align-items:center;
}
.method-board-step{
  min-height:175px;
  padding:18px 17px 16px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:19px;
  background:rgba(255,255,255,.095);
  backdrop-filter:blur(5px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.method-board-step.step-platform{
  background:rgba(255,255,255,.15);
  transform:translateY(-7px);
}
.method-board-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:14px;
  border-radius:13px;
  background:rgba(255,255,255,.12);
  color:#c5b5ff;
}
.method-board-icon svg{
  width:26px;
  height:26px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.method-board-number{
  display:block;
  margin-bottom:4px;
  color:#a996ff;
  font-size:.65rem;
  font-weight:950;
  letter-spacing:.08em;
}
.method-board-step h3{
  margin:0 0 6px;
  color:#fff;
  font-size:.95rem;
  letter-spacing:.02em;
}
.method-board-step p{
  margin:0;
  color:#d9d3ef;
  font-size:.75rem;
  line-height:1.45;
}
.method-board-arrow{
  color:#a792ff;
  font-size:1.8rem;
  font-weight:500;
}
.method-board-result{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:max-content;
  margin:26px auto 0;
  padding:11px 19px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:#251e48;
  box-shadow:0 12px 28px rgba(0,0,0,.15);
}
.method-board-result-icon{
  display:grid;
  place-items:center;
  color:var(--violet-dark);
}
.method-board-result-icon svg{
  width:31px;
  height:31px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.method-board-result div:last-child{
  display:flex;
  align-items:center;
  gap:8px;
}
.method-board-result span{
  color:var(--violet);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.45rem;
  font-style:italic;
}
.method-board-result strong{
  color:var(--violet-dark);
  font-size:.8rem;
  letter-spacing:.12em;
}

/* Hide previous experimental hero artwork if stale CSS survives browser cache */
.hero-visual-refined,
.hero-visual-demo{
  min-height:auto;
}
.developer-illustration,
.hero-mini-card,
.refined-quote,
.hero-demo-shell{
  display:none;
}

@media(max-width:1080px){
  .hero-grid{grid-template-columns:1fr}
  .hero-method-board{min-height:auto}
  .method-board{max-width:760px;margin:16px auto 0}
}
@media(max-width:680px){
  .method-board{min-height:auto;padding:23px 17px 20px;border-radius:22px}
  .method-board-head{
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
    margin-bottom:19px;
  }
  .method-board-head strong{
    max-width:none;
    font-size:1.02rem;
    text-align:left;
  }
  .method-board-flow{
    grid-template-columns:1fr;
    gap:8px;
  }
  .method-board-step,
  .method-board-step.step-platform{
    min-height:auto;
    display:grid;
    grid-template-columns:43px 1fr;
    gap:12px;
    align-items:center;
    padding:13px;
    transform:none;
  }
  .method-board-icon{margin:0}
  .method-board-arrow{
    height:16px;
    display:grid;
    place-items:center;
    transform:rotate(90deg);
    font-size:1.35rem;
  }
  .method-board-result{
    margin-top:19px;
    padding:10px 15px;
  }
}

/* Responsive navigation and footer alignment, 2026-10-03. */
.course-header-main>*,.course-footer-inner>*{min-width:0}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #6547d6;outline-offset:4px}
.course-footer a{display:inline-block;padding-block:6px}.course-footer{overflow-wrap:break-word}
@media(max-width:680px){.course-header-main{flex-wrap:wrap;gap:10px;padding-block:10px}.course-brand{white-space:normal}.course-utility-inner{justify-content:flex-start;gap:6px 14px;padding-block:6px}.course-utility a{padding-block:6px}.course-footer nav{flex-wrap:wrap;gap:8px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
