/* ============================================================
   Student Success — evidence-first editorial page
============================================================ */
.hua-success { overflow: hidden; background: var(--hua-white); }

/* Hero */
.hua-success-hero {
  position: relative;
  padding: 176px 0 110px;
  background:
    radial-gradient(circle at 83% 18%, rgba(201,162,39,.11), transparent 28%),
    linear-gradient(180deg, #fff 0%, var(--hua-ivory) 100%);
}
.hua-success-hero::after { content:""; position:absolute; inset:auto 0 0; height:1px; background:var(--hua-border); }
.hua-success-hero__grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(380px,.72fr); gap:clamp(70px,8vw,130px); align-items:end; }
.hua-success-breadcrumb { display:flex; align-items:center; gap:12px; margin-bottom:48px; color:var(--hua-faint); font-size:11px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; }
.hua-success-breadcrumb a { color:var(--hua-muted); }
.hua-success-hero h1 { max-width:790px; margin:0; color:var(--hua-navy); font-family:var(--hua-serif); font-size:clamp(82px,8.4vw,132px); font-weight:600; line-height:.84; letter-spacing:-.055em; }
.hua-success-hero h1 em { color:var(--hua-gold); font-style:normal; }
.hua-success-hero__lead { max-width:650px; margin:32px 0 0; color:var(--hua-muted); font-size:clamp(17px,1.4vw,20px); line-height:1.75; }
.hua-success-hero__actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:38px; }
.hua-success-hero__actions .hua-text-link { border:0; background:transparent; cursor:pointer; }
.hua-success-ledger { border:1px solid var(--hua-border); border-radius:30px; background:rgba(255,255,255,.82); box-shadow:var(--hua-shadow-soft); backdrop-filter:blur(15px); }
.hua-success-ledger__intro { padding:28px 30px 25px; border-bottom:1px solid var(--hua-border); }
.hua-success-ledger__intro span { color:var(--hua-gold); font-size:10px; font-weight:600; letter-spacing:.17em; text-transform:uppercase; }
.hua-success-ledger__intro p { margin:10px 0 0; color:var(--hua-muted); font-size:13px; line-height:1.65; }
.hua-success-ledger dl { margin:0; padding:0 30px; }
.hua-success-ledger dl div { display:grid; grid-template-columns:minmax(0,1fr) minmax(150px,.95fr); gap:24px; align-items:center; padding:27px 0; }
.hua-success-ledger dl div + div { border-top:1px solid var(--hua-border); }
.hua-success-ledger dt { min-width:0; color:var(--hua-navy); font-family:var(--hua-serif); font-size:clamp(34px,2.7vw,46px); font-weight:600; line-height:.92; letter-spacing:-.025em; }
.hua-success-ledger dl div:last-child dt { font-size:clamp(29px,2.2vw,38px); }
.hua-success-ledger dd { margin:0; color:var(--hua-muted); font-size:12px; line-height:1.55; }

/* Progress tabs */
.hua-success-progress { background:var(--hua-white); }
.hua-success-progress__layout { display:grid; grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr); gap:44px; align-items:stretch; }
.hua-success-progress__tabs { display:grid; align-content:start; }
.hua-success-progress__tabs button { display:grid; grid-template-columns:42px 1fr; gap:4px 18px; width:100%; padding:22px 0; border:0; border-bottom:1px solid var(--hua-border); background:transparent; color:var(--hua-muted); text-align:left; cursor:pointer; transition:color .3s var(--hua-ease), padding-left .3s var(--hua-ease); }
.hua-success-progress__tabs button:first-child { border-top:1px solid var(--hua-border); }
.hua-success-progress__tabs button:hover,.hua-success-progress__tabs button[aria-selected="true"] { color:var(--hua-navy); padding-left:10px; }
.hua-success-progress__tabs button > span { grid-row:1 / span 2; color:var(--hua-gold); font-family:var(--hua-serif); font-size:24px; line-height:1; }
.hua-success-progress__tabs strong { font-family:var(--hua-serif); font-size:27px; font-weight:600; line-height:1; }
.hua-success-progress__tabs small { color:var(--hua-faint); font-size:10px; line-height:1.45; }
.hua-success-progress__panels { min-height:540px; }
.hua-success-progress__panels article { position:relative; min-height:540px; overflow:hidden; padding:64px; border-radius:32px; color:var(--hua-white); background:linear-gradient(145deg,#081c3a 0%,#12305a 100%); box-shadow:var(--hua-shadow-high); }
.hua-success-progress__panels article::after { content:""; position:absolute; right:-120px; bottom:-160px; width:420px; height:420px; border:1px solid rgba(226,201,108,.2); border-radius:50%; box-shadow:0 0 0 70px rgba(226,201,108,.04),0 0 0 140px rgba(226,201,108,.025); }
.hua-success-progress__number { position:absolute; top:30px; right:38px; color:rgba(255,255,255,.06); font-family:var(--hua-serif); font-size:170px; font-weight:600; line-height:1; }
.hua-success-progress__panels h3 { position:relative; max-width:660px; margin:12px 0 22px; font-family:var(--hua-serif); font-size:clamp(47px,5vw,74px); font-weight:600; line-height:.94; letter-spacing:-.035em; }
.hua-success-progress__panels article > p:not(.hua-eyebrow) { position:relative; max-width:620px; margin:0; color:rgba(255,255,255,.7); }
.hua-success-progress__panels ul { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 28px; max-width:610px; margin:40px 0 0; padding:0; list-style:none; }
.hua-success-progress__panels li { position:relative; padding-left:22px; color:rgba(255,255,255,.84); font-size:12px; }
.hua-success-progress__panels li::before { content:"✓"; position:absolute; left:0; color:var(--hua-gold-light); }

/* Evidence policy */
.hua-success-standard { padding:clamp(90px,9vw,150px) 0; color:var(--hua-white); background:var(--hua-navy); }
.hua-success-standard__grid { display:grid; grid-template-columns:minmax(0,.86fr) minmax(440px,1.14fr); gap:clamp(70px,9vw,145px); align-items:start; }
.hua-success-standard__statement h2 { max-width:650px; margin:0; font-family:var(--hua-serif); font-size:clamp(58px,6.7vw,96px); font-weight:600; line-height:.9; letter-spacing:-.045em; }
.hua-success-standard__statement > p:last-child { max-width:560px; margin:28px 0 0; color:rgba(255,255,255,.66); }
.hua-success-standard__list { margin:0; padding:0; list-style:none; }
.hua-success-standard__list li { display:grid; grid-template-columns:54px 1fr; gap:22px; padding:27px 0; border-top:1px solid rgba(255,255,255,.14); }
.hua-success-standard__list li:last-child { border-bottom:1px solid rgba(255,255,255,.14); }
.hua-success-standard__list li > span { color:var(--hua-gold-light); font-family:var(--hua-serif); font-size:25px; }
.hua-success-standard__list strong { display:block; font-family:var(--hua-serif); font-size:27px; font-weight:600; line-height:1; }
.hua-success-standard__list p { margin:8px 0 0; color:rgba(255,255,255,.6); font-size:12px; }

/* Published success stories */
.hua-success-stories { background:var(--hua-ivory); }
.hua-success-stories__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.hua-success-story { display:grid; overflow:hidden; min-height:410px; border:1px solid var(--hua-border); border-radius:28px; background:var(--hua-white); box-shadow:0 16px 50px rgba(8,28,58,.06); }
.hua-success-story--featured { grid-column:1 / -1; grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr); min-height:520px; }
.hua-success-story__media { min-height:260px; overflow:hidden; background:var(--hua-card); }
.hua-success-story__media img { width:100%; height:100%; object-fit:cover; transition:transform .7s var(--hua-ease); }
.hua-success-story:hover .hua-success-story__media img { transform:scale(1.035); }
.hua-success-story__body { display:flex; flex-direction:column; padding:36px; }
.hua-success-story__meta { display:flex; justify-content:space-between; gap:20px; color:var(--hua-gold); font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.hua-success-story__meta small { color:var(--hua-faint); font-size:10px; }
.hua-success-story__outcome { margin:34px 0 0; color:var(--hua-navy); font-family:var(--hua-serif); font-size:clamp(36px,4vw,58px); font-weight:600; line-height:.92; }
.hua-success-story h3 { margin:18px 0 0; font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.hua-success-story blockquote { margin:28px 0 32px; color:var(--hua-muted); font-family:var(--hua-serif); font-size:24px; line-height:1.25; }
.hua-success-story .hua-text-link { margin-top:auto; border:0; padding:0; background:transparent; cursor:pointer; }

/* Story dialogs */
.hua-success-dialog { width:min(760px,calc(100vw - 30px)); max-height:calc(100vh - 42px); padding:0; border:0; border-radius:28px; background:transparent; color:var(--hua-text); }
.hua-success-dialog::backdrop { background:rgba(4,15,31,.72); backdrop-filter:blur(10px); }
.hua-success-dialog__panel { position:relative; overflow:auto; max-height:calc(100vh - 42px); padding:52px; border-radius:28px; background:var(--hua-white); box-shadow:var(--hua-shadow-high); }
.hua-success-dialog__close { position:absolute; top:18px; right:18px; display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--hua-border); border-radius:50%; background:var(--hua-white); cursor:pointer; font-size:26px; line-height:1; }
.hua-success-dialog h2 { max-width:620px; margin:0; font-family:var(--hua-serif); font-size:clamp(48px,6vw,76px); line-height:.92; font-weight:600; }
.hua-success-dialog__facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:32px 0; }
.hua-success-dialog__facts span { padding:18px; border-radius:18px; background:var(--hua-card); }
.hua-success-dialog__facts small,.hua-success-dialog__facts strong { display:block; }
.hua-success-dialog__facts small { color:var(--hua-faint); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.hua-success-dialog__facts strong { margin-top:6px; color:var(--hua-navy); font-size:12px; }
.hua-success-dialog__content { color:var(--hua-muted); }

/* Visual bridge */
.hua-success-visual { position:relative; min-height:660px; overflow:hidden; display:flex; align-items:flex-end; color:var(--hua-white); background:var(--hua-navy); }
.hua-success-visual > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.hua-success-visual__overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,18,38,.92) 0%,rgba(5,18,38,.58) 48%,rgba(5,18,38,.12) 100%); }
.hua-success-visual__content { position:relative; z-index:1; padding-bottom:80px; }
.hua-success-visual h2 { max-width:720px; margin:0; font-family:var(--hua-serif); font-size:clamp(58px,7vw,100px); line-height:.88; font-weight:600; letter-spacing:-.045em; }
.hua-success-visual__content > p:last-child { max-width:570px; margin:24px 0 0; color:rgba(255,255,255,.72); }

/* Tracking board */
.hua-success-tracking { background:var(--hua-white); }
.hua-success-tracking__board { display:grid; grid-template-columns:1.15fr .85fr .85fr; grid-template-rows:auto auto; gap:16px; }
.hua-success-tracking__board article { min-height:255px; padding:32px; border:1px solid var(--hua-border); border-radius:24px; background:var(--hua-card); }
.hua-success-tracking__baseline { grid-row:1 / span 2; min-height:526px!important; color:var(--hua-white); background:var(--hua-navy)!important; }
.hua-success-tracking__board article:nth-child(4) { grid-column:2 / -1; }
.hua-success-tracking__board span { color:var(--hua-gold); font-size:10px; font-weight:600; letter-spacing:.15em; text-transform:uppercase; }
.hua-success-tracking__board h3 { margin:28px 0 12px; font-family:var(--hua-serif); font-size:clamp(34px,3vw,48px); font-weight:600; line-height:.98; }
.hua-success-tracking__board p { margin:0; color:var(--hua-muted); font-size:12px; }
.hua-success-tracking__baseline p { color:rgba(255,255,255,.65); }
.hua-success-tracking__board strong { display:block; margin-top:36px; color:var(--hua-navy); font-size:11px; }
.hua-success-mini-chart { display:flex; align-items:flex-end; gap:14px; height:185px; margin-top:48px; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); }
.hua-success-mini-chart i { flex:1; height:var(--h); border-radius:10px 10px 2px 2px; background:linear-gradient(180deg,var(--hua-gold-light),var(--hua-gold)); }

/* Parent trust */
.hua-success-parent { padding:clamp(100px,10vw,170px) 0; background:var(--hua-ivory); }
.hua-success-parent__grid { display:grid; grid-template-columns:minmax(380px,.9fr) minmax(0,1.1fr); gap:clamp(70px,9vw,150px); align-items:center; }
.hua-success-parent__portrait { position:relative; min-height:660px; }
.hua-success-parent__portrait > div { position:absolute; inset:38px 0 0 45px; border-radius:200px 200px 32px 32px; background:var(--hua-navy); box-shadow:var(--hua-shadow-high); }
.hua-success-parent__portrait img { position:absolute; z-index:1; left:50%; bottom:0; width:min(520px,42vw); max-height:650px; object-fit:contain; transform:translateX(-50%); filter:drop-shadow(0 28px 36px rgba(8,28,58,.22)); }
.hua-success-parent__copy h2 { max-width:720px; margin:0; font-family:var(--hua-serif); font-size:clamp(58px,6.6vw,96px); font-weight:600; line-height:.88; letter-spacing:-.045em; }
.hua-success-parent__copy > p:not(.hua-eyebrow) { max-width:620px; margin:28px 0 0; color:var(--hua-muted); }
.hua-success-parent__copy ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 28px; margin:34px 0; padding:0; list-style:none; }
.hua-success-parent__copy li { position:relative; padding-left:22px; color:var(--hua-muted); font-size:12px; }
.hua-success-parent__copy li::before { content:"✓"; position:absolute; left:0; color:var(--hua-success); font-weight:700; }

/* FAQ */
.hua-success-faq { background:var(--hua-white); }
.hua-success-faq__grid { display:grid; grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr); gap:clamp(70px,9vw,150px); align-items:start; }
.hua-success-faq__intro { position:sticky; top:130px; }
.hua-success-faq__intro h2 { margin:0; font-family:var(--hua-serif); font-size:clamp(54px,5.5vw,82px); line-height:.92; font-weight:600; letter-spacing:-.04em; }
.hua-success-faq__intro > p:last-child { margin:24px 0 0; color:var(--hua-muted); }
.hua-success-faq__item { border-top:1px solid var(--hua-border); }
.hua-success-faq__item:last-child { border-bottom:1px solid var(--hua-border); }
.hua-success-faq__item button { display:grid; grid-template-columns:1fr 26px; gap:24px; align-items:center; width:100%; padding:28px 0; border:0; background:transparent; color:var(--hua-navy); text-align:left; cursor:pointer; }
.hua-success-faq__item button span { font-family:var(--hua-serif); font-size:26px; font-weight:600; line-height:1.1; }
.hua-success-faq__item button i { position:relative; width:20px; height:20px; }
.hua-success-faq__item button i::before,.hua-success-faq__item button i::after { content:""; position:absolute; top:50%; left:50%; width:16px; height:1px; background:currentColor; transform:translate(-50%,-50%); transition:transform .3s var(--hua-ease); }
.hua-success-faq__item button i::after { transform:translate(-50%,-50%) rotate(90deg); }
.hua-success-faq__item.is-open button i::after { transform:translate(-50%,-50%) rotate(0); }
.hua-success-faq__answer { padding:0 52px 28px 0; }
.hua-success-faq__answer p { max-width:720px; margin:0; color:var(--hua-muted); font-size:13px; }

/* CTA */
.hua-success-cta { position:relative; overflow:hidden; padding:clamp(100px,10vw,160px) 0; color:var(--hua-white); background:var(--hua-navy); text-align:center; }
.hua-success-cta::before { content:""; position:absolute; width:620px; height:620px; left:50%; top:50%; border:1px solid rgba(226,201,108,.13); border-radius:50%; transform:translate(-50%,-50%); box-shadow:0 0 0 90px rgba(226,201,108,.035),0 0 0 180px rgba(226,201,108,.022); }
.hua-success-cta__inner { position:relative; }
.hua-success-cta h2 { max-width:940px; margin:0 auto; font-family:var(--hua-serif); font-size:clamp(60px,7vw,104px); font-weight:600; line-height:.86; letter-spacing:-.045em; }
.hua-success-cta__inner > p:not(.hua-eyebrow) { max-width:650px; margin:28px auto 0; color:rgba(255,255,255,.66); }
.hua-success-cta__actions { display:flex; justify-content:center; flex-wrap:wrap; gap:14px; margin-top:36px; }

@media (max-width:1120px) {
  .hua-success-hero__grid { grid-template-columns:minmax(0,1fr) minmax(340px,.72fr); gap:60px; }
  .hua-success-ledger dl div { grid-template-columns:minmax(0,1fr) minmax(145px,.95fr); }
  .hua-success-progress__panels article { padding:48px; }
  .hua-success-standard__grid { grid-template-columns:.95fr 1.05fr; gap:70px; }
  .hua-success-parent__portrait img { width:430px; }
}

@media (max-width:860px) {
  .hua-success-hero { padding-top:145px; }
  .hua-success-hero__grid,.hua-success-standard__grid,.hua-success-parent__grid,.hua-success-faq__grid { grid-template-columns:1fr; }
  .hua-success-ledger { max-width:640px; }
  .hua-success-progress__layout { grid-template-columns:1fr; }
  .hua-success-progress__tabs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; }
  .hua-success-progress__panels,.hua-success-progress__panels article { min-height:500px; }
  .hua-success-standard__statement { max-width:720px; }
  .hua-success-story--featured { grid-template-columns:1fr; }
  .hua-success-tracking__board { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; }
  .hua-success-tracking__baseline { grid-column:1 / -1; grid-row:auto; min-height:450px!important; }
  .hua-success-tracking__board article:nth-child(4) { grid-column:auto; }
  .hua-success-parent__portrait { min-height:600px; max-width:580px; width:100%; margin:0 auto; }
  .hua-success-parent__portrait img { width:min(460px,72vw); }
  .hua-success-faq__intro { position:static; max-width:680px; }
}

@media (max-width:640px) {
  .hua-success-hero { padding:122px 0 82px; }
  .hua-success-breadcrumb { margin-bottom:30px; }
  .hua-success-hero h1 { font-size:clamp(65px,20vw,92px); }
  .hua-success-hero__actions { align-items:stretch; }
  .hua-success-hero__actions .hua-button { width:100%; }
  .hua-success-ledger dl div { grid-template-columns:1fr; gap:8px; padding:22px 0; }
  .hua-success-ledger dl div:last-child dt { font-size:34px; }
  .hua-success-progress__tabs { grid-template-columns:1fr; }
  .hua-success-progress__tabs button:hover,.hua-success-progress__tabs button[aria-selected="true"] { padding-left:6px; }
  .hua-success-progress__panels,.hua-success-progress__panels article { min-height:0; }
  .hua-success-progress__panels article { padding:36px 26px; border-radius:24px; }
  .hua-success-progress__number { top:20px; right:22px; font-size:100px; }
  .hua-success-progress__panels ul { grid-template-columns:1fr; }
  .hua-success-standard__list li { grid-template-columns:44px 1fr; }
  .hua-success-stories__grid { grid-template-columns:1fr; }
  .hua-success-story--featured { grid-column:auto; }
  .hua-success-story__body { padding:28px; }
  .hua-success-dialog__panel { padding:46px 24px 30px; }
  .hua-success-dialog__facts { grid-template-columns:1fr; }
  .hua-success-visual { min-height:560px; }
  .hua-success-visual > img { object-position:58% center; }
  .hua-success-visual__overlay { background:linear-gradient(90deg,rgba(5,18,38,.92),rgba(5,18,38,.55)); }
  .hua-success-visual__content { padding-bottom:52px; }
  .hua-success-tracking__board { grid-template-columns:1fr; }
  .hua-success-tracking__baseline { grid-column:auto; min-height:410px!important; }
  .hua-success-parent__portrait { min-height:500px; }
  .hua-success-parent__portrait > div { inset:26px 0 0 18px; border-radius:130px 130px 24px 24px; }
  .hua-success-parent__portrait img { width:min(360px,82vw); max-height:485px; }
  .hua-success-parent__copy ul { grid-template-columns:1fr; }
  .hua-success-faq__item button span { font-size:23px; }
  .hua-success-faq__answer { padding-right:0; }
  .hua-success-cta__actions { align-items:stretch; }
  .hua-success-cta__actions .hua-button { width:100%; }
}
