.amp{font-family:'Outfit','Inter',sans-serif;font-style:normal;font-weight:400;display:inline-block;margin:0 1px;color:inherit}
:root {
  --bg:       #FBF8F1;
  --bg2:      #FFFFFF;
  --surface:  #FFFFFF;
  --surf2:    #F2EDE4;
  --gold:     #C9A961;
  --gold-lt:  #9A7820;
  --gold-dim: rgba(201,169,97,.1);
  --gold-bdr: rgba(201,169,97,.22);
  --text:     #0A2540;
  --mid:      #4A5568;
  --soft:     #8A9BAE;
  --blue:     #0A2540;
  --border:   rgba(232,224,208,.9);
  --r:        12px;
  --r-sm:     8px;
  --shadow:   0 4px 20px rgba(10,37,64,.08);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Outfit','Inter',sans-serif;
  background:var(--bg);
  color:var(--text);
  min-height:100vh;
  overflow-x:hidden;
}

a{text-decoration:none;color:inherit}
img{max-width:100%}

/* ── GRAIN OVERLAY ── */
body::before{
  content:'';position:fixed;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E");
  pointer-events:none;z-index:0;opacity:.25;
}

/* ── TYPOGRAPHY ── */
h1,h2,h3,.serif{font-family:'Fraunces',serif;color:#1A3A6B}
h1{font-size:clamp(2.4rem,5vw,4rem);font-weight:600;line-height:1.1;letter-spacing:-.02em}
h2{font-size:clamp(1.4rem,3vw,1.75rem);font-weight:600;line-height:1.2;letter-spacing:-.01em}
h3{font-size:1.375rem;font-weight:400;font-family:'Fraunces',serif;line-height:1.3}
p{font-size:.9375rem;line-height:1.7;color:var(--mid);font-weight:400}
.label{
  font-size:.6875rem;font-weight:500;letter-spacing:.06em;
  text-transform:uppercase;color:var(--gold);
  display:inline-flex;align-items:center;gap:8px;
}
.label::before,.label::after{content:'';display:inline-block;width:20px;height:1px;background:var(--gold)}

/* ── LAYOUT ── */
.wrap{max-width:1140px;margin:0 auto;padding:0 28px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.flex{display:flex;align-items:center}

/* ── GOLD LINE ── */
.gold-line{
  display:block;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:.4;
}

/* ── BUTTONS ── */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  padding:13px 28px;border-radius:8px;
  font-family:'Outfit','Inter',sans-serif;font-size:.92rem;font-weight:500;
  cursor:pointer;border:none;transition:all .22s ease;position:relative;z-index:1;
}
.btn-gold{
  background:#C9A961;
  color:#0A2540;box-shadow:0 4px 28px rgba(201,169,97,.3);
}
.btn-gold:hover{box-shadow:0 6px 36px rgba(201,169,97,.45);transform:translateY(-2px)}
.btn-outline{
  background:transparent;color:var(--gold-lt);
  border:1px solid var(--gold-bdr);
}
.btn-outline:hover{background:var(--gold-dim);border-color:var(--gold)}
.btn-ghost{
  background:var(--surf2);color:var(--text);
  border:1px solid var(--border);
}
.btn-ghost:hover{border-color:var(--gold-bdr);color:var(--gold-lt)}
.btn:active,.btn-gold:active,.btn-outline:active,.btn-ghost:active{transform:translateY(1px);transition:none}


/* ── NAV ── */
nav{
  position:sticky;top:0;z-index:100;
  background:#0A2540;backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(215,219,227,0.15);height:66px;
}
nav .wrap{height:100%;display:flex;align-items:center;justify-content:space-between}
.nav-logo{
  font-family:'Fraunces',serif;font-size:1.3rem;font-weight:500;
  color:#C9A961;cursor:pointer;letter-spacing:-.01em;
  white-space:nowrap;
}
.nav-logo span, .footer-logo span{color:var(--gold)}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-link{
  font-size:.9375rem;font-weight:500;color:#D7DBE3;
  padding:7px 15px;border-radius:8px;cursor:pointer;
  transition:all .18s;letter-spacing:.01em;
}
.nav-link:hover{color:#FFFFFF;background:rgba(255,255,255,0.05)}
.nav-link.active{color:#C9A961;background:rgba(201,169,97,0.15)}

/* ── HAMBURGER (desktop: hidden) ── */
.menu-toggle{display:none}

/* ── EXAM DROPDOWN ── */
.exam-dropdown{position:relative}
.exam-dropdown-btn{
  display:inline-flex;align-items:center;gap:6px;
  border:none;background:transparent;
  font-family:'Outfit','Inter',sans-serif;
}
.exam-arrow{
  width:10px;height:6px;flex-shrink:0;
  transition:transform .2s ease;
  color:currentColor;
}
.exam-dropdown.open .exam-arrow,
.exam-dropdown:focus-within .exam-arrow{transform:rotate(180deg)}
.exam-menu{
  position:absolute;top:calc(100% + 8px);right:0;
  background:var(--surface);border:1px solid var(--border);
  border-radius:16px;padding:8px;min-width:190px;
  box-shadow:0 12px 40px rgba(0,0,0,.13);
  opacity:0;visibility:hidden;
  transform:translateY(-6px) scale(.97);
  transform-origin:top right;
  transition:opacity .18s ease,transform .18s ease,visibility .18s;
  z-index:300;
}
.exam-dropdown.open .exam-menu,
.exam-dropdown:focus-within .exam-menu{
  opacity:1;visibility:visible;transform:translateY(0) scale(1);
}
.exam-group-label{
  font-size:.69rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold);padding:8px 12px 3px;
}
.exam-dropdown-item{
  display:block;padding:9px 12px;border-radius:9px;
  font-size:.89rem;font-weight:500;color:var(--mid);
  text-decoration:none;transition:background .14s,color .14s;
}
.exam-dropdown-item:hover{background:var(--gold-dim);color:var(--gold-lt)}
.exam-dropdown-item.active{background:var(--gold-dim);color:var(--gold-lt);font-weight:600}
.exam-dropdown-sep{height:1px;background:var(--border);margin:5px 4px}
.lang-switcher{
  display:flex;gap:3px;margin-left:16px;
  background:rgba(255,255,255,.06);border:1px solid rgba(215,219,227,0.15);
  border-radius:8px;padding:3px;
}
.lang-btn{
  font-size:.79rem;font-weight:600;padding:4px 10px;
  border-radius:6px;cursor:pointer;border:none;
  background:transparent;color:#D7DBE3;transition:all .18s;
}
.lang-btn.active{background:#C9A961;color:#0A2540}

/* ── PAGE ROUTING ── */
.page{display:none}
.page.active{display:block;animation:fadeUp .4s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

/* ── HERO ── */
.hero{padding:108px 0 96px;position:relative;overflow:hidden}
.hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(150deg,rgba(10,37,64,.05) 0%,transparent 52%);
}
.hero-orb{
  position:absolute;border-radius:50%;pointer-events:none;
  filter:blur(110px);opacity:.22;
}
.orb1{width:600px;height:600px;background:radial-gradient(circle,#C9A961,transparent);top:-150px;right:-100px}
.orb2{width:400px;height:400px;background:radial-gradient(circle,#B8C9E8,transparent);bottom:-50px;left:-80px}
.orb3{width:520px;height:520px;background:radial-gradient(circle,#0A2540,transparent);top:-180px;left:-120px;opacity:.13}
.hero .wrap{position:relative;z-index:1}
.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:center}

.hero-badge{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--gold-dim);border:1px solid var(--gold-bdr);
  border-radius:50px;padding:7px 18px 7px 10px;
  font-size:.82rem;font-weight:500;color:var(--gold-lt);margin-bottom:28px;
}
.badge-dot{
  width:7px;height:7px;border-radius:50%;background:var(--gold);
  animation:glow 2.4s ease-in-out infinite;
}
@keyframes glow{0%,100%{box-shadow:0 0 0 0 rgba(201,169,97,.4)}50%{box-shadow:0 0 0 5px rgba(201,169,97,0)}}

.hero h1{margin-bottom:24px;overflow:visible}
.hero h1 em{
  font-style:italic;color:transparent;
  background:linear-gradient(90deg,var(--gold),#A8891E);
  -webkit-background-clip:text;background-clip:text;
  line-height:1.35;
  padding-bottom:0.25em;
  display:inline;
}
.hero-desc{font-size:1.1rem;margin-bottom:40px;max-width:520px;color:var(--mid)}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.hero-stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;margin-top:52px;padding-top:40px;
  border-top:1px solid var(--border);
}
.hero-stats .stat-item{
  text-align:center;padding:0 12px;
  border-right:1px solid var(--border);
}
.hero-stats .stat-item:last-child{border-right:none}
.stat-num{
  font-family:'Fraunces',serif;font-size:2.2rem;
  font-weight:500;color:var(--gold-lt);line-height:1;
}
.stat-lbl{font-size:.78rem;color:var(--soft);margin-top:6px;font-weight:400}

/* ── PROFILE CARD ── */
.profile-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:12px;padding:36px;position:relative;overflow:hidden;
}
.profile-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,transparent,var(--gold),var(--gold-lt),transparent);
}
.profile-avatar{
  width:88px;height:88px;border-radius:50%;margin:0 auto 20px;
  background:linear-gradient(135deg,#2A4A8E,#C9A961);
  display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif;font-size:2.2rem;color:var(--text);font-weight:500;
  box-shadow:0 0 0 4px var(--gold-dim),0 8px 32px rgba(201,169,97,.2);
}
.profile-card h3{text-align:center;margin-bottom:4px}
.profile-card .sub{text-align:center;font-size:.86rem;color:var(--soft);margin-bottom:20px}
.profile-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px}
.tag{
  font-size:.76rem;font-weight:500;padding:5px 13px;border-radius:50px;
  background:var(--gold-dim);color:var(--gold-lt);border:1px solid var(--gold-bdr);
}
.score-badge{
  background:linear-gradient(135deg,var(--surf2),var(--bg));
  border:1px solid var(--gold-bdr);border-radius:12px;
  padding:14px 18px;text-align:center;
}
.score-badge .score-num{
  font-family:'Fraunces',serif;font-size:2rem;font-weight:500;
  color:var(--gold);line-height:1;
}
.score-badge .score-lbl{font-size:.78rem;color:var(--mid);margin-top:3px}
.fc-float{
  position:absolute;background:var(--surf2);border:1px solid var(--border);
  border-radius:12px;padding:10px 14px;
  display:flex;align-items:center;gap:8px;font-size:.81rem;font-weight:400;
  color:var(--mid);white-space:nowrap;animation:floatY 4s ease-in-out infinite;
  box-shadow:0 4px 20px rgba(0,0,0,.1);
}
.fc-float .ic{font-size:1.16rem}
.fc1{top:-14px;right:-14px;animation-delay:0s}
.fc2{bottom:-10px;left:-14px;animation-delay:.9s}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

/* ── SECTION ── */
.section{padding:96px 0;position:relative;z-index:1;scroll-margin-top:74px}
.section-dark{background:var(--surf2)}
.section-mid{background:var(--bg2)}
.section-head{text-align:center;margin-bottom:60px}
.section-head .label{margin-bottom:14px;justify-content:center}
.section-head h2{margin-bottom:16px}
.section-head p{max-width:520px;margin:0 auto}

/* ── COURSE CARDS ── */
.courses-groups { display:grid; grid-template-columns:2fr 1fr; gap:24px; margin-top:2rem; }
.course-group-label { font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; color:var(--soft); font-weight:600; margin-bottom:10px; padding-left:2px; }
.course-group-cards { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.course-group-vwu { display:flex; flex-direction:column; }
.course-group-vwu .course-card { flex:1; }
.course-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:12px;padding:36px 32px;
  transition:all .28s ease;cursor:pointer;position:relative;overflow:hidden;
  display:flex;flex-direction:column;
}
.course-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:3px;
  opacity:0;transition:opacity .28s;
}
.cc-wiso::after{background:linear-gradient(90deg,#C9A961,#E0C88A)}
.cc-bbe::after{background:linear-gradient(90deg,#3A8FC9,#7AC4E8)}
.cc-epd::after{background:linear-gradient(90deg,#3AC97A,#7AE8B4)}
.course-card:hover{
  border-color:var(--gold-bdr);transform:translateY(-5px);
  box-shadow:0 16px 40px rgba(0,0,0,.1);
}
.course-card:hover::after{opacity:1}
.course-icon{
  width:54px;height:54px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;margin-bottom:24px;background:var(--gold-dim);border:1px solid var(--gold-bdr);
}
.ci-blue{background:rgba(58,143,201,.12);border-color:rgba(58,143,201,.22)}
.ci-green{background:rgba(58,201,122,.12);border-color:rgba(58,201,122,.22)}
.course-card h3{margin-bottom:4px}
.course-card .exam-full{font-size:.84rem;color:var(--soft);margin-bottom:14px}
.course-card p{font-size:.91rem;margin-bottom:24px}
.course-link{
  display:inline-flex;align-items:center;gap:7px;
  font-size:.86rem;font-weight:500;color:var(--gold);transition:gap .2s;
}
.course-card:hover .course-link{gap:12px}

/* ── ABOUT ── */
.about-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}
.about-photo{
  border-radius:12px;overflow:hidden;aspect-ratio:4/5;position:relative;
  background:linear-gradient(145deg,#D4E0F5,#F2EDE4);
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--border);
}
.about-photo img{width:100%;height:100%;object-fit:cover}
.about-photo-initials{
  font-family:'Fraunces',serif;font-size:8rem;font-weight:500;
  color:var(--gold);opacity:.25;user-select:none;
}
.about-badge{
  position:absolute;bottom:-16px;right:-16px;
  background:linear-gradient(135deg,#C9A961,#E0C88A);
  color:#0A2540;border-radius:12px;
  padding:16px 20px;box-shadow:0 8px 32px rgba(201,169,97,.3);
  text-align:center;font-weight:500;
}
.about-badge strong{display:block;font-family:'Fraunces',serif;font-size:1.8rem;line-height:1}
.about-badge span{font-size:.79rem}
.about-content .label{margin-bottom:14px}
.about-content h2{margin-bottom:22px}
.about-content p{margin-bottom:18px}
.feats{display:flex;flex-direction:column;gap:14px;margin-top:30px}
.feat{
  display:flex;gap:16px;align-items:flex-start;
  background:var(--surf2);border:1px solid var(--border);
  border-radius:var(--r-sm);padding:16px 20px;
}
.feat-ic{
  width:38px;height:38px;border-radius:10px;flex-shrink:0;
  background:var(--gold-dim);border:1px solid var(--gold-bdr);
  display:flex;align-items:center;justify-content:center;font-size:1.05rem;
}
.feat h4{font-size:.92rem;font-weight:600;margin-bottom:3px;color:var(--text);font-family:'Outfit','Inter',sans-serif}
.feat p{font-size:.87rem;margin:0}

/* ── PRICING CARDS ── */
.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,360px));gap:20px;justify-content:center}
.price-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:12px;padding:32px;position:relative;overflow:hidden;
  transition:all .26s ease;
  display:flex;flex-direction:column;
}
.price-card .btn{margin-top:auto;}
.price-card.featured{
  border-color:var(--gold-bdr);background:var(--surf2);
}
.price-card.featured::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),var(--gold-lt),transparent);
}
.price-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.1)}
.price-card.featured:hover{box-shadow:0 12px 32px rgba(168,114,26,.15)}
.featured-badge{
  display:inline-block;background:var(--gold);color:#0A2540;
  font-size:.71rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:4px 12px;border-radius:50px;margin-bottom:16px;
}
.price-name{font-family:'Fraunces',serif;font-size:1.26rem;font-weight:500;margin-bottom:4px}
.price-sub{font-size:.84rem;color:var(--soft);margin-bottom:24px}
.price-amount{
  font-family:'Fraunces',serif;font-size:3rem;font-weight:500;
  color:var(--text);line-height:1;margin-bottom:4px;
}
.price-amount span{font-size:1.4rem;color:var(--mid)}
.price-divider{height:1px;background:var(--border);margin:24px 0}
.price-features{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}
.pf{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:var(--mid)}
.pf .check{color:var(--gold);flex-shrink:0;font-size:.95rem;margin-top:1px}

/* ── EXAM INFO BLOCK ── */
.exam-info{
  background:var(--surf2);border:1px solid var(--gold-bdr);
  border-radius:12px;padding:32px 36px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  position:relative;overflow:hidden;
}
.exam-info::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% -20%,rgba(201,148,58,.08),transparent 70%);
  pointer-events:none;
}
.ei-item{text-align:center;position:relative;z-index:1}
.ei-icon{font-size:1.8rem;margin-bottom:10px}
.ei-val{
  font-family:'Fraunces',serif;font-size:1.4rem;font-weight:500;
  color:var(--gold-lt);line-height:1.2;margin-bottom:6px;
}
.ei-lbl{font-size:.82rem;color:var(--soft)}

/* ── FAQ ── */
.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.faq-item{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;
  transition:border-color .22s,box-shadow .22s;
  opacity:0;transform:translateY(22px);
}
.faq-item.faq-visible{animation:faq-in .52s cubic-bezier(.22,1,.36,1) forwards}
@keyframes faq-in{to{opacity:1;transform:translateY(0)}}
.faq-item.open{border-color:var(--gold-bdr);box-shadow:0 4px 20px rgba(168,114,26,.07)}
.faq-q{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  padding:20px 26px;cursor:pointer;background:none;border:none;
  font-family:'Outfit','Inter',sans-serif;font-size:.98rem;font-weight:500;
  color:var(--text);text-align:left;gap:16px;transition:color .2s;
}
.faq-q:hover{color:var(--gold-lt)}
.faq-chevron{
  width:26px;height:26px;border-radius:50%;
  background:var(--surf2);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  font-size:.71rem;flex-shrink:0;transition:all .24s;color:var(--soft);
}
.faq-item.open .faq-chevron{transform:rotate(180deg);background:var(--gold-dim);color:var(--gold);border-color:var(--gold-bdr)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.22,1,.36,1)}
.faq-a-inner{overflow:hidden;padding:0 26px;padding-bottom:0;font-size:.92rem;line-height:1.78;color:var(--mid);opacity:0;transform:translateY(-6px);transition:padding-bottom .38s cubic-bezier(.22,1,.36,1),opacity .18s ease,transform .18s ease}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-item.open .faq-a-inner{padding-bottom:22px;opacity:1;transform:translateY(0);transition:padding-bottom .38s cubic-bezier(.22,1,.36,1),opacity .32s ease .14s,transform .32s cubic-bezier(.22,1,.36,1) .14s}

/* ── CTA BLOCK ── */
.cta-block{
  background:linear-gradient(135deg,#061828,#0A2540);
  border:1px solid rgba(201,169,97,.2);
  border-radius:16px;padding:72px 64px;text-align:center;
  position:relative;overflow:hidden;color:#F7F2EA;
}
.cta-block h2{color:#F7F2EA}
.cta-block p{color:rgba(247,242,234,.7)}
.cta-block::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% -10%,rgba(201,148,58,.1),transparent 65%);
  pointer-events:none;
}
.cta-block .label{justify-content:center;margin-bottom:16px}
.cta-block h2{margin-bottom:18px}
.cta-block p{max-width:480px;margin:0 auto 40px}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ── FOOTER ── */
footer{
  background:var(--surf2);border-top:1px solid var(--border);
  padding:40px 0;color:var(--soft);font-size:.86rem;
}
footer .wrap{display:flex;justify-content:space-between;align-items:center}
.footer-logo{font-family:'Fraunces',serif;color:var(--text);font-size:1.21rem;white-space:nowrap}

/* ── SUBPAGE ── */
.sub-hero{
  padding:80px 0 72px;background:var(--bg2);border-bottom:1px solid var(--border);
  position:relative;overflow:hidden;
}
.sub-orb{
  position:absolute;border-radius:50%;filter:blur(120px);opacity:.15;pointer-events:none;
}
.sub-hero .wrap{position:relative;z-index:1}
.back-btn{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.86rem;color:var(--mid);background:none;border:none;
  cursor:pointer;padding:0;margin-bottom:28px;transition:color .18s;
}
.back-btn:hover{color:var(--gold)}
.sub-inner{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:start}
.sub-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.pill{
  background:var(--gold-dim);border:1px solid var(--gold-bdr);
  border-radius:50px;padding:6px 16px;font-size:.82rem;font-weight:500;color:var(--gold-lt);
}
.pill-blue{background:rgba(58,143,201,.1);border-color:rgba(58,143,201,.2);color:#7AC4E8}
.pill-green{background:rgba(58,201,122,.1);border-color:rgba(58,201,122,.2);color:#7AE8B4}

.enroll-card{
  background:var(--surf2);border:1px solid var(--gold-bdr);
  border-radius:12px;padding:24px;position:sticky;top:86px;
}
.enroll-card::before{
  content:'';display:block;height:2px;border-radius:2px;margin-bottom:20px;
  background:linear-gradient(90deg,transparent,var(--gold),var(--gold-lt),transparent);
}
.enroll-price{
  font-family:'Fraunces',serif;font-size:2.4rem;font-weight:500;
  color:var(--gold-lt);line-height:1;margin-bottom:4px;
}
.enroll-price .from{font-size:1.05rem;color:var(--mid);font-family:'Outfit','Inter',sans-serif}
.enroll-note{font-size:.82rem;color:var(--soft);margin-bottom:16px}
.enroll-items{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.ei{display:flex;align-items:center;gap:9px;font-size:.87rem;color:var(--mid)}
.ei .ck{color:var(--gold);font-size:.89rem}

/* ── TOPICS GRID ── */
.topic-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:28px}
.topic-card{
  background:var(--surf2);border:1px solid var(--border);
  border-radius:var(--r-sm);padding:20px;display:flex;gap:14px;
}
.t-num{
  width:30px;height:30px;border-radius:8px;flex-shrink:0;
  background:var(--gold-dim);border:1px solid var(--gold-bdr);
  color:var(--gold);display:flex;align-items:center;justify-content:center;
  font-size:.8rem;font-weight:700;
}
.topic-card h4{font-size:.91rem;font-weight:600;margin-bottom:4px;color:var(--text);font-family:'Outfit','Inter',sans-serif}
.topic-card p{font-size:.84rem;margin:0}

/* ── TIMELINE ── */
.timeline{display:flex;flex-direction:column}
.tl-item{display:flex;gap:18px}
.tl-left{display:flex;flex-direction:column;align-items:center}
.tl-dot{width:12px;height:12px;border-radius:50%;background:var(--gold-lt);border:2px solid var(--gold-bdr);flex-shrink:0;margin-top:5px}
.tl-line{flex:1;width:1px;background:var(--border);margin:6px 0}
.tl-item:last-child .tl-line{display:none}
.tl-content{padding-bottom:28px}
.week-tag{font-size:.76rem;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px}
.tl-content h4{font-size:.98rem;font-weight:600;margin-bottom:4px;color:var(--text);font-family:'Outfit','Inter',sans-serif}
.tl-content p{font-size:.87rem}

/* ── UKRAINIAN NOTE ── */
.ukr-note {
  display: flex;
  gap: 16px;
  background: rgba(58, 143, 201, 0.05);
  border: 1px solid rgba(58, 143, 201, 0.15);
  border-radius: 12px;
  padding: 18px 22px;
  margin-top: 28px;
  align-items: center;
}
.ukr-flag {
  font-size: 1.6rem;
  line-height: 1;
}
.ukr-note-text h4 {
  font-family:'Outfit','Inter',sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--blue);
  margin-bottom: 4px;
}
.ukr-note-text p {
  font-size: 0.86rem;
  line-height: 1.5;
  color: #4A5568;
  margin: 0;
}

/* ── KEY ADVANTAGES BOX ── */
.adv-box {
  display: flex;
  gap: 16px;
  background: rgba(201, 169, 97, 0.06);
  border: 1px solid rgba(201, 169, 97, 0.18);
  border-radius: 12px;
  padding: 18px 22px;
  margin-top: 28px;
  align-items: flex-start;
  max-width: 580px;
}
.adv-box.adv-blue {
  background: rgba(58, 143, 201, 0.05);
  border: 1px solid rgba(58, 143, 201, 0.15);
}
.adv-icon {
  font-size: 1.5rem;
  line-height: 1;
  flex-shrink: 0;
  margin-top: 2px;
}
.adv-text h4 {
  font-family:'Outfit','Inter',sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: var(--gold-lt);
  margin-bottom: 6px;
}
.adv-box.adv-blue .adv-text h4 {
  color: #3A8FC9;
}
.adv-text p {
  font-size: 0.88rem;
  line-height: 1.6;
  color: var(--mid);
  margin: 0;
}
.adv-text p strong {
  color: var(--text);
}

/* ── UNAVAILABLE PRICING CARDS ── */
.price-card.unavailable {
  opacity: 0.6;
  filter: grayscale(90%);
  background: var(--surf2);
  border-color: var(--border);
  pointer-events: none;
}
.unavailable-badge {
  display: inline-block;
  background: #A8A8A8;
  color: #1A1710;
  font-size: .71rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 50px;
  margin-bottom: 16px;
}

/* ── WU facts strip ── */
.wu-facts-strip{padding:52px 0;border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);}
.wu-facts-strip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 48px;text-align:center;}
.wu-facts-strip-num{font-family:'Fraunces',serif;font-size:2.1rem;font-weight:700;color:var(--gold);line-height:1;}
.wu-facts-strip-lbl{font-size:.82rem;color:var(--muted);margin-top:7px;line-height:1.45;}

/* ── STEP 5: ANIMATIONS ── */

/* Pricing card glow pulse on featured card */
@keyframes price-glow {
  0%,100% { box-shadow: 0 4px 24px rgba(201,169,97,.12); }
  50%      { box-shadow: 0 8px 44px rgba(201,169,97,.30), 0 0 0 2px var(--gold-bdr); }
}
.price-card.featured {
  animation: price-glow 3.6s ease-in-out infinite;
}
.price-card.featured:hover {
  animation: none;
  box-shadow: 0 12px 32px rgba(168,114,26,.22);
}

/* Sticky mobile enroll bar */
.sticky-enroll {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 200;
  padding: 13px 20px;
  padding-bottom: max(13px, env(safe-area-inset-bottom));
  background: rgba(251,248,241,.97);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-top: 1px solid var(--border);
  display: flex;
  justify-content: center;
  transform: translateY(calc(100% + 1px));
  transition: transform .32s cubic-bezier(.22,1,.36,1);
  pointer-events: none;
}
.sticky-enroll.sticky-enroll-show {
  transform: translateY(0);
  pointer-events: auto;
}
@media (min-width: 769px) {
  .sticky-enroll { display: none !important; }
}

/* ── Result bar (landing hero, below H1) ── */
.result-bar {
  display: flex;
  align-items: center;
  gap: 10px 14px;
  flex-wrap: wrap;
  margin: 12px 0 18px;
}
.rb-item { font-size: .87rem; color: var(--mid); }
.rb-item strong { color: var(--gold-lt); font-weight: 600; font-family: 'Fraunces', serif; }
.rb-sep { color: var(--border); font-size: .9rem; }

/* ── Exam comparison strip (landing, below course cards) ── */
.exam-compare {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px 16px;
  flex-wrap: wrap;
  margin-top: 22px;
  padding: 13px 22px;
  background: var(--surf2);
  border: 1px solid var(--border);
  border-radius: 12px;
  font-size: .85rem;
  color: var(--mid);
}
.exam-compare strong { color: var(--text); font-weight: 600; }
.ec-sep { color: var(--border); }

/* ── Exam countdown (WISO / BBE hero) ── */
.exam-countdown {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 16px;
  background: var(--gold-dim);
  border: 1px solid var(--gold-bdr);
  border-radius: 50px;
  padding: 7px 18px;
}
.cd-num {
  font-family: 'Fraunces', serif;
  font-size: 1.45rem;
  font-weight: 600;
  color: var(--gold-lt);
  line-height: 1;
}
.cd-lbl {
  font-size: .79rem;
  color: var(--mid);
  text-transform: uppercase;
  letter-spacing: .07em;
}

/* ── Testimonials ── */
.member-link {
  font-size: .78rem;
  color: rgba(255,255,255,.45);
  text-decoration: none;
  padding: .28rem .75rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 20px;
  transition: color .2s, border-color .2s;
  white-space: nowrap;
}
.member-link:hover { color: rgba(255,255,255,.8); border-color: rgba(255,255,255,.4); }
.testimonials-section { background: var(--surf2); }
.testimonials-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-top: 2rem;
}
.testimonial-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 1.5rem;
  display: flex;
  flex-direction: row;
  gap: 1.5rem;
  align-items: flex-start;
}
.testimonial-avatar {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(0,27,82,.08);
  border: 2px solid rgba(0,27,82,.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--navy);
}
.testimonial-avatar svg { width: 28px; height: 28px; }
.testimonial-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; display: block; }
.testimonial-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.testimonial-quote {
  color: var(--text);
  font-style: italic;
  line-height: 1.7;
  margin: 0;
}
.testimonial-author {
  display: flex;
  align-items: center;
  gap: .6rem;
}
.testimonial-name {
  font-weight: 600;
  color: var(--text);
  font-size: .9rem;
}
.testimonial-tag {
  font-size: .75rem;
  background: var(--gold-dim);
  border: 1px solid var(--gold-bdr);
  color: var(--gold);
  border-radius: 20px;
  padding: .15rem .65rem;
  font-weight: 600;
}
