/* /courses/discovery-path — the guide to the "Từ người dùng tới user story"
 * track. Flat house style: radius 0, no shadow, no gradient, no translucency.
 * Prefix .dp-. Tokens fall back to literals so the page renders the same
 * without flat-tokens.css.
 */
.dp{
  --d-ink:var(--flat-ink,#0a0a0a); --d-paper:var(--flat-paper,#fff); --d-hair:var(--flat-hair,#e6e6e6);
  --d-dim:#4b5563; --d-body:#374151; --d-cap:#6b7280; --d-faint:#9aa1ab; --d-soft:#f3f4f6;
  --d-blue:var(--flat-blue,#1a3aff); --d-green:var(--flat-green,#0f7a4a);
  --d-font:var(--flat-font,'Be Vietnam Pro',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif);
  --d-pad:clamp(16px,4vw,48px);
  font-family:var(--d-font); color:var(--d-ink); background:var(--d-paper);
}
.dp *{box-sizing:border-box}
.dp a{color:var(--d-ink)}
.dp :focus-visible{outline:3px solid var(--d-blue);outline-offset:2px}
.dp-in{max-width:1100px;margin:0 auto;padding-left:var(--d-pad);padding-right:var(--d-pad)}

/* hero */
.dp-hero{background:var(--d-blue);color:#fff;padding:clamp(34px,5vw,64px) 0}
.dp-hero-in{display:flex;flex-wrap:wrap;gap:clamp(28px,5vw,64px);align-items:flex-end}
.dp-hero-txt{flex:999 1 520px;min-width:0}
.dp-kick{font-size:11px;font-weight:800;letter-spacing:.16em;color:rgba(255,255,255,.85)}
.dp-kick-dim{color:rgba(255,255,255,.6)}
.dp-h1{margin:14px 0 0;font-size:clamp(30px,4.6vw,52px);line-height:1.08;font-weight:800;letter-spacing:-.045em;color:#fff;max-width:20ch;text-wrap:balance}
.dp-lead{margin:18px 0 0;font-size:17px;line-height:1.6;color:rgba(255,255,255,.88);max-width:58ch}
.dp-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.dp-btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 24px;border:2px solid transparent;
  font-size:15px;font-weight:800;text-decoration:none;border-radius:0}
.dp-hero .dp-btn-on{background:#fff;color:var(--d-ink);border-color:#fff}
.dp-hero .dp-btn-on:hover{background:var(--d-soft);color:var(--d-ink)}
.dp-hero .dp-btn-ghost{background:transparent;color:#fff;border-color:#fff}
.dp-hero .dp-btn-ghost:hover{background:#fff;color:var(--d-ink)}
.dp-stat{flex:1 1 280px;min-width:0;border-top:2px solid #fff;padding-top:16px}
.dp-stat-big{font-size:clamp(64px,8vw,92px);line-height:.9;font-weight:800;letter-spacing:-.06em;color:#fff}
.dp-stat-big small{font-size:.45em}
.dp-stat-lab{margin-top:10px;font-size:10.5px;font-weight:700;letter-spacing:.14em;color:rgba(255,255,255,.8)}
.dp-hero .dp-bar{display:block;height:8px;margin-top:14px;background:rgba(255,255,255,.3)}
.dp-hero .dp-bar i{display:block;height:8px;background:#fff}
.dp-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
.dp-facts b{display:block;font-size:34px;line-height:1;font-weight:800;letter-spacing:-.045em;color:#fff}
.dp-facts span{display:block;margin-top:4px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.dp-stat-note{margin:18px 0 0;font-size:13px;color:rgba(255,255,255,.85)}
.dp-hero .dp-stat-note a{color:#fff;font-weight:800}

/* body */
.dp-body{padding-top:clamp(36px,5vw,64px);padding-bottom:clamp(48px,6vw,88px)}
.dp-sec{margin-top:clamp(44px,6vw,72px)}
.dp-sec:first-child{margin-top:0}
.dp-h2{margin:0;font-size:clamp(22px,2.8vw,32px);line-height:1.15;font-weight:800;letter-spacing:-.04em;color:var(--d-ink);text-wrap:balance}
.dp-h2-inv{color:#fff}
.dp-prose{max-width:68ch;margin-top:16px}
.dp-prose p{margin:0 0 12px;font-size:16px;line-height:1.7;color:var(--d-body)}
.dp-muted{margin:12px 0 0;max-width:68ch;font-size:14.5px;line-height:1.6;color:var(--d-dim)}

/* ruled blocks, shared construction: one bordered box, rows divided by hairlines */
.dp-fails,.dp-who,.dp-more{display:grid;grid-template-columns:1fr;border:2px solid var(--d-ink);margin-top:22px}
@media (min-width:720px){ .dp-fails{grid-template-columns:repeat(2,minmax(0,1fr))} .dp-who{grid-template-columns:repeat(3,minmax(0,1fr))} }
.dp-fails > div,.dp-who > div{padding:20px 20px 22px;border-bottom:1px solid var(--d-hair)}
@media (min-width:720px){
  .dp-fails > div:nth-child(odd){border-right:1px solid var(--d-hair)}
  .dp-fails > div:nth-last-child(-n+2){border-bottom:0}
  .dp-who > div{border-bottom:0;border-right:1px solid var(--d-hair)} .dp-who > div:last-child{border-right:0}
}
.dp-fails > div:last-child,.dp-who > div:last-child{border-bottom:0}
.dp-fails b,.dp-who b{display:block;font-size:17px;font-weight:800;letter-spacing:-.02em}
.dp-fails span,.dp-who span{display:block;margin-top:6px;font-size:14px;line-height:1.55;color:var(--d-dim)}
.dp-note{display:flex;flex-direction:column;gap:6px;margin-top:16px;padding:16px 18px;background:var(--d-soft);font-size:14.5px;line-height:1.6;color:var(--d-body)}
.dp-note > b{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--d-ink)}
.dp-note a{font-weight:700}

/* the chain: one quote becoming a metric */
.dp-chain{list-style:none;margin:20px 0 0;padding:0;border-left:2px solid var(--d-ink)}
.dp-chain li{position:relative;padding:0 0 16px 22px;font-size:15px;line-height:1.55;color:var(--d-body)}
.dp-chain li:last-child{padding-bottom:0}
.dp-chain li::before{content:'';position:absolute;left:-7px;top:6px;width:12px;height:12px;background:var(--d-ink)}
.dp-chain li:last-child::before{background:var(--d-blue)}
.dp-chain span{display:block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--d-blue);margin-bottom:2px}

/* steps */
.dp-steps{list-style:none;margin:24px 0 0;padding:0;border-top:2px solid var(--d-ink)}
.dp-step{display:flex;gap:clamp(14px,3vw,28px);padding:26px 0;border-bottom:1px solid var(--d-hair)}
.dp-step-n{flex:none;width:48px;height:48px;display:flex;align-items:center;justify-content:center;
  font-size:20px;font-weight:800;border:2px solid var(--d-ink);color:var(--d-ink)}
.dp-step.is-done .dp-step-n{background:var(--d-green);border-color:var(--d-green);color:#fff}
.dp-step.is-now .dp-step-n{background:var(--d-blue);border-color:var(--d-blue);color:#fff}
.dp-step-b{flex:1;min-width:0}
.dp-step-t{margin:0;font-size:clamp(19px,2.2vw,23px);line-height:1.25;font-weight:800;letter-spacing:-.03em}
.dp-step-t a{text-decoration:none}
.dp .dp-step-t a:hover{color:var(--d-blue)}
.dp-step-p{display:flex;align-items:center;gap:10px;margin-top:10px;max-width:360px;font-size:12.5px}
.dp-step-p .dp-bar{flex:1;height:6px;background:var(--d-hair)}
.dp-step-p .dp-bar i{display:block;height:6px;background:var(--d-green)}
.dp-step-why{margin:12px 0 0;max-width:68ch;font-size:15px;line-height:1.65;color:var(--d-body)}
.dp-io{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 0;max-width:680px}
.dp-io dt{font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--d-cap)}
.dp-io dd{margin:3px 0 0;font-size:14px;line-height:1.5;color:var(--d-ink)}
.dp-lessons{margin-top:14px;max-width:680px}
.dp-lessons summary{cursor:pointer;font-size:13.5px;font-weight:700;color:var(--d-dim)}
.dp-lessons ol{margin:10px 0 0;padding-left:20px;font-size:14px;line-height:1.7}
.dp-lessons a{text-decoration:none;border-bottom:1px solid var(--d-hair)}
.dp .dp-lessons a:hover{color:var(--d-blue);border-color:var(--d-blue)}
.dp-step-a{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:18px}
.dp-btn-sm{min-height:44px;padding:0 18px;font-size:14px}
.dp .dp-btn-line{background:var(--d-paper);color:var(--d-ink);border-color:var(--d-ink)}
.dp .dp-btn-line:hover{background:var(--d-ink);color:#fff}
.dp-body .dp-btn-on{background:var(--d-blue);color:#fff;border-color:var(--d-blue)}
.dp-body .dp-btn-on:hover{background:#0f2ce0;color:#fff}
.dp-dl{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;text-decoration:none;border-bottom:2px solid var(--d-ink);padding-bottom:1px}
.dp .dp-dl:hover{color:var(--d-blue);border-color:var(--d-blue)}

/* weeks */
.dp-weeks{list-style:none;margin:20px 0 0;padding:0;border:2px solid var(--d-ink)}
.dp-weeks li{display:flex;gap:18px;padding:14px 18px;border-bottom:1px solid var(--d-hair);font-size:15px;line-height:1.55;color:var(--d-body)}
.dp-weeks li:last-child{border-bottom:0}
.dp-weeks b{flex:none;width:64px;color:var(--d-ink)}

/* final project */
.dp-proj{display:flex;flex-wrap:wrap;gap:clamp(24px,4vw,48px);align-items:flex-end;background:var(--d-ink);color:#fff;padding:clamp(26px,4vw,44px)}
.dp-proj > div:first-child{flex:999 1 460px;min-width:0}
.dp-proj p{margin:12px 0 0;max-width:62ch;font-size:15px;line-height:1.65;color:rgba(255,255,255,.82)}
.dp-score{flex:1 1 260px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
.dp-score b{display:block;font-size:40px;line-height:1;font-weight:800;letter-spacing:-.05em;color:#fff}
.dp-score span{display:block;margin-top:4px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7)}

/* tips */
.dp-tips{margin:18px 0 0;padding-left:20px;max-width:72ch;display:flex;flex-direction:column;gap:10px;font-size:15px;line-height:1.6;color:var(--d-body)}
.dp-tips b{color:var(--d-ink)}

/* more */
@media (min-width:720px){ .dp-more{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:1000px){ .dp-more{grid-template-columns:repeat(3,minmax(0,1fr))} }
.dp-more a{display:block;padding:18px 20px 20px;border-bottom:1px solid var(--d-hair);text-decoration:none}
@media (min-width:720px){ .dp-more a{border-right:1px solid var(--d-hair)} }
.dp-more a:hover{background:var(--d-ink)}
.dp-more b{display:block;font-size:16px;font-weight:800;letter-spacing:-.02em}
.dp-more span{display:block;margin-top:6px;font-size:13.5px;line-height:1.5;color:var(--d-dim)}
.dp .dp-more a:hover b,.dp .dp-more a:hover span{color:#fff}

/* faq */
.dp-faq{margin-top:20px;border-top:2px solid var(--d-ink);max-width:820px}
.dp-faq details{border-bottom:1px solid var(--d-hair)}
.dp-faq summary{cursor:pointer;padding:16px 0;font-size:16px;font-weight:700;list-style-position:outside}
.dp-faq p{margin:0 0 16px;font-size:15px;line-height:1.65;color:var(--d-body);max-width:68ch}

/* closing */
.dp-final{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;margin-top:clamp(48px,6vw,80px);
  background:var(--d-blue);color:#fff;padding:clamp(26px,4vw,44px)}
.dp-final > div:first-child{flex:1 1 420px;min-width:0}
.dp-final p{margin:10px 0 0;max-width:56ch;font-size:15px;line-height:1.6;color:rgba(255,255,255,.88)}
.dp-final .dp-cta{margin-top:0}
.dp .dp-btn-inv{background:#fff;color:var(--d-ink);border-color:#fff}
.dp .dp-btn-inv:hover{background:var(--d-soft);color:var(--d-ink)}
.dp .dp-btn-inv-ghost{background:transparent;color:#fff;border-color:#fff}
.dp .dp-btn-inv-ghost:hover{background:#fff;color:var(--d-ink)}

@media (max-width:560px){
  .dp-io{grid-template-columns:minmax(0,1fr)}
  .dp-step-n{width:40px;height:40px;font-size:17px}
  .dp-weeks li{flex-direction:column;gap:2px}
}
