/* =========================================================
   HỒ SƠ NĂNG LỰC — ĐỖ ĐĂNG DƯƠNG
   Design system theo Brand Kit v1.1
   Cam #EA6A1E · Xanh #1E5AA8 · Mực #16181D · Montserrat
   ========================================================= */

:root{
  --cam:#EA6A1E;
  --cam-dark:#C9560F;
  --xanh:#1E5AA8;
  --ink:#16181D;
  --paper:#FFFFFF;
  --bg:#EDEAE4;
  --line:#E4DFD7;
  --muted:#71757C;
  --body:#3B3E45;
  --soft:#F6F4F0;
  --nav-h:62px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  background:var(--bg);
  color:var(--ink);
  line-height:1.62;
  font-size:15px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;}

/* ---------- PROGRESS ---------- */
.progress{
  position:fixed;top:0;left:0;height:3px;width:0;
  background:var(--cam);z-index:60;transition:width .1s linear;
}

/* ---------- TOP BAR ---------- */
.topbar{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.94);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--line);
}
.topbar-in{
  max-width:1080px;margin:0 auto;height:var(--nav-h);
  padding:0 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.15;flex-shrink:0;}
.brand-name{font-weight:900;font-size:14.5px;letter-spacing:-.2px;text-transform:uppercase;}
.brand-sub{font-weight:700;font-size:9.5px;letter-spacing:2px;text-transform:uppercase;color:var(--cam);}
.nav{display:flex;align-items:center;gap:22px;}
.nav a{
  text-decoration:none;font-weight:700;font-size:12.5px;color:var(--body);
  padding:4px 0;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;
  white-space:nowrap;
}
.nav a:hover{color:var(--ink);}
.nav a.active{color:var(--ink);border-bottom-color:var(--cam);}
.nav a.nav-cta{
  background:var(--cam);color:#fff;border-radius:20px;padding:7px 16px;border-bottom:none;
}
.nav a.nav-cta:hover{background:var(--cam-dark);color:#fff;}
.nav a.nav-cta.active{border-bottom:none;}

/* ---------- DOC SHELL ---------- */
.doc{
  max-width:1080px;margin:0 auto;background:var(--paper);
  box-shadow:0 0 0 1px rgba(22,24,29,.05), 0 18px 60px -30px rgba(22,24,29,.35);
}
section{padding:74px 60px;scroll-margin-top:var(--nav-h);}
section.alt{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}

.eyebrow{
  font-weight:800;font-size:10.5px;letter-spacing:2.4px;text-transform:uppercase;
  color:var(--cam);margin-bottom:12px;display:flex;align-items:center;gap:10px;
}
.eyebrow i{
  font-style:normal;font-size:10.5px;font-weight:900;color:#fff;background:var(--cam);
  padding:3px 7px;border-radius:3px;letter-spacing:1px;
}
.eyebrow.light{color:#F6C6A2;}
.eyebrow.light i{background:#fff;color:var(--cam);}

h2{
  font-weight:900;font-size:clamp(26px,3.6vw,38px);line-height:1.06;
  letter-spacing:-1.1px;text-transform:uppercase;margin-bottom:22px;
}
h3.sub{
  font-weight:900;font-size:15px;letter-spacing:.3px;text-transform:uppercase;
  margin:44px 0 18px;padding-bottom:10px;border-bottom:2px solid var(--ink);
}
p.lead{font-size:16px;font-weight:500;color:var(--body);max-width:74ch;margin-bottom:30px;}
p{color:var(--body);font-weight:500;}
b{font-weight:800;color:var(--ink);}

/* ---------- HERO ---------- */
.hero{
  display:grid;grid-template-columns:1.35fr .85fr;gap:44px;align-items:center;
  padding:64px 60px 56px;position:relative;overflow:hidden;
}
.hero::before{content:"";position:absolute;left:0;top:0;bottom:0;width:9px;background:var(--xanh);}
.kicker{font-weight:800;font-size:10.5px;letter-spacing:3px;text-transform:uppercase;color:var(--cam);margin-bottom:16px;}
h1{
  font-weight:900;font-size:clamp(40px,7.2vw,68px);line-height:.94;
  letter-spacing:-2.4px;text-transform:uppercase;
}
h1 .hl{
  color:#fff;background:var(--cam);padding:0 12px 5px;
  box-decoration-break:clone;-webkit-box-decoration-break:clone;
  display:inline-block;margin-top:4px;
}
.hero-role{margin-top:20px;font-weight:800;font-size:15px;color:var(--ink);}
.hero-lead{margin-top:12px;font-size:15.5px;font-weight:500;max-width:52ch;}
.chips{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px;}
.chips span{
  font-weight:600;font-size:12px;background:var(--soft);border:1px solid var(--line);
  border-radius:20px;padding:6px 14px;color:var(--body);
}
.hero-photo{position:relative;max-width:330px;margin-left:auto;width:100%;}
.hero-photo::after{
  content:"";position:absolute;right:-14px;bottom:-14px;width:64%;height:42%;
  background:var(--cam);
}
.hero-photo img{
  position:relative;z-index:1;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 22%;border-radius:4px;filter:grayscale(.12) contrast(1.03);
  box-shadow:0 20px 44px -26px rgba(22,24,29,.6);
}

/* ---------- STAT STRIP ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);}
.stat{padding:22px 16px;text-align:center;border-right:1px solid #2A2D34;}
.stat:last-child{border-right:none;}
.stat .n{display:block;font-weight:900;font-size:22px;color:var(--cam);letter-spacing:-.6px;line-height:1.15;}
.stat .t{display:block;font-weight:600;font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:#B9BDC4;margin-top:6px;line-height:1.45;}

/* ---------- TÓM TẮT ---------- */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:34px;}
.two-col p{margin-bottom:14px;}
.quote{
  margin-top:34px;padding:22px 26px;background:var(--soft);
  border-left:5px solid var(--cam);border-radius:0 6px 6px 0;
  font-weight:700;font-size:16.5px;color:var(--ink);line-height:1.5;font-style:italic;
}
section.alt .quote{background:var(--paper);}

/* ---------- CARDS ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.card{
  background:var(--paper);border:1px solid var(--line);border-radius:10px;
  padding:24px 22px 22px;position:relative;transition:transform .18s,box-shadow .18s,border-color .18s;
}
.card:hover{transform:translateY(-3px);box-shadow:0 16px 34px -22px rgba(22,24,29,.5);border-color:#D6CEC1;}
.card-n{
  font-weight:900;font-size:11px;letter-spacing:1.5px;color:var(--cam);
  display:block;margin-bottom:10px;
}
.card h3{font-weight:900;font-size:15.5px;line-height:1.25;letter-spacing:-.3px;margin-bottom:8px;}
.card p{font-size:13.5px;line-height:1.6;}

/* ---------- TERAFAM ---------- */
.tf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:34px;}
.tf-box{
  background:var(--ink);color:#fff;border-radius:10px;padding:20px 18px;
  display:flex;flex-direction:column;gap:6px;
}
.tf-n{font-weight:900;font-size:21px;color:var(--cam);letter-spacing:-.6px;line-height:1.1;}
.tf-t{font-weight:600;font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:#B9BDC4;line-height:1.4;}
.tf-body{display:grid;grid-template-columns:1.5fr 1fr;gap:36px;align-items:start;}
.tf-cols{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.tf-col h4,.extra h4{
  font-weight:900;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--xanh);margin-bottom:12px;
}
.tf-col h4+ul+h4{margin-top:24px;}
ul.ticks{list-style:none;}
ul.ticks li{
  position:relative;padding-left:20px;margin-bottom:10px;
  font-size:13.8px;font-weight:500;color:var(--body);line-height:1.55;
}
ul.ticks li::before{
  content:"";position:absolute;left:0;top:9px;width:8px;height:8px;
  background:var(--cam);border-radius:2px;
}
.tf-photo img,.pp-photo img{border-radius:8px;filter:grayscale(.1);}
.pp-photo{margin-top:38px;}
.tf-photo figcaption,.pp-photo figcaption{
  margin-top:10px;font-size:12px;font-weight:600;color:var(--muted);line-height:1.5;
  padding-left:12px;border-left:3px solid var(--cam);
}

/* ---------- TIMELINE ---------- */
.timeline{position:relative;padding-left:0;}
.tl-item{
  display:grid;grid-template-columns:150px 1fr;gap:26px;
  padding:22px 0;border-top:1px solid var(--line);
}
.tl-item:first-child{border-top:none;padding-top:0;}
.tl-time{
  font-weight:800;font-size:11.5px;letter-spacing:1px;text-transform:uppercase;
  color:var(--muted);padding-top:3px;
}
.tl-item.current .tl-time{color:#fff;background:var(--xanh);border-radius:4px;padding:3px 10px;justify-self:start;height:fit-content;}
.tl-content h3{font-weight:900;font-size:16px;letter-spacing:-.3px;margin-bottom:6px;}
.tl-content h3 small{font-weight:700;font-size:13px;color:var(--xanh);letter-spacing:0;}
.tl-content p{font-size:13.8px;line-height:1.6;}
.tl-item.current{
  background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--cam);
  border-radius:10px;padding:22px 24px;margin-bottom:8px;
}

/* ---------- PHƯƠNG PHÁP ---------- */
.flows{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.flow{border-top:3px solid var(--ink);padding-top:14px;}
.flow-n{font-weight:900;font-size:11px;letter-spacing:1.5px;color:var(--cam);display:block;margin-bottom:6px;}
.flow h4{font-weight:900;font-size:16px;letter-spacing:-.3px;margin-bottom:7px;text-transform:uppercase;}
.flow p{font-size:13.3px;line-height:1.58;}
.ladder{display:grid;gap:10px;}
.rung{
  display:grid;grid-template-columns:78px 190px 1fr;gap:18px;align-items:center;
  background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:16px 20px;
}
section.alt .rung{background:var(--paper);}
.rung span{
  font-weight:900;font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;
  color:#fff;background:var(--xanh);border-radius:4px;padding:4px 8px;text-align:center;
}
.rung b{font-weight:900;font-size:16px;letter-spacing:-.3px;}
.rung p{font-size:13.5px;}

/* ---------- HỌC VẤN ---------- */
.edu-grid{display:grid;grid-template-columns:1.55fr .8fr;gap:36px;align-items:start;}
.edu-item{padding:14px 0;border-top:1px solid var(--line);}
.edu-item:first-child{border-top:none;padding-top:0;}
.edu-item b{display:block;font-weight:900;font-size:15px;color:var(--ink);margin-bottom:3px;}
.edu-item span{font-weight:500;font-size:13.5px;color:var(--body);line-height:1.55;display:block;}
.edu-photo img{border-radius:8px;filter:grayscale(.12);}
.skills{display:flex;flex-wrap:wrap;gap:9px;}
.skills span{
  font-weight:700;font-size:12.5px;padding:8px 16px;border-radius:22px;
  background:var(--paper);border:1.5px solid var(--xanh);color:var(--xanh);
}
.extra{display:grid;grid-template-columns:1fr 1.4fr;gap:30px;margin-top:38px;}
.extra p{font-size:13.8px;}

/* ---------- LIÊN HỆ ---------- */
.contact{background:var(--ink);color:#fff;border-top:none;}
.contact h2{color:#fff;}
.contact-lead{color:#C2C6CC;font-size:16px;font-weight:500;max-width:60ch;margin-bottom:28px;}
.contact-btns{display:flex;flex-wrap:wrap;gap:12px;}
.btn{
  display:inline-block;text-decoration:none;font-weight:800;font-size:14px;
  padding:14px 26px;border-radius:6px;transition:transform .15s,background .15s,color .15s;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--cam);color:#fff;}
.btn-primary:hover{background:#F5813A;}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid #444852;}
.btn-ghost:hover{border-color:var(--cam);color:var(--cam);}
.contact-note{
  margin-top:30px;padding-top:22px;border-top:1px solid #2A2D34;
  font-size:13.5px;color:#8A8E96;font-weight:500;
}
.contact-note a{color:var(--cam);font-weight:700;text-decoration:none;}
.contact-note a:hover{text-decoration:underline;}

/* ---------- FOOTER ---------- */
.foot{
  max-width:1080px;margin:0 auto;padding:26px 60px 40px;
  color:var(--muted);font-size:11.5px;font-weight:500;line-height:1.7;
  background:var(--bg);text-align:center;
}
.foot b{color:var(--ink);font-weight:800;}
.foot p+p{margin-top:5px;}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:1000px){
  .cards{grid-template-columns:repeat(2,1fr);}
  .tf-grid{grid-template-columns:repeat(2,1fr);}
  .tf-body{grid-template-columns:1fr;}
  .flows{grid-template-columns:repeat(2,1fr);}
  .nav a:not(.nav-cta){display:none;}
}
@media(max-width:820px){
  section,.hero{padding:52px 26px;}
  .topbar-in{padding:0 22px;}
  .foot{padding:24px 26px 36px;}
  .hero{grid-template-columns:1fr;gap:30px;padding-top:46px;}
  .hero-photo{max-width:270px;margin-left:0;}
  .hero-photo::after{display:none;}
  .stats{grid-template-columns:repeat(2,1fr);}
  .stat{border-bottom:1px solid #2A2D34;}
  .stat:nth-child(2){border-right:none;}
  .two-col{grid-template-columns:1fr;gap:0;}
  .cards{grid-template-columns:1fr;}
  .tf-cols{grid-template-columns:1fr;gap:22px;}
  .flows{grid-template-columns:1fr;}
  .rung{grid-template-columns:1fr;gap:8px;padding:16px;}
  .rung span{justify-self:start;}
  .edu-grid{grid-template-columns:1fr;gap:26px;}
  .edu-photo{max-width:300px;}
  .extra{grid-template-columns:1fr;gap:20px;}
  .tl-item{grid-template-columns:1fr;gap:8px;}
  .tl-time{padding-top:0;}
}
@media(max-width:480px){
  body{font-size:14.5px;}
  .stats{grid-template-columns:1fr;}
  .stat{border-right:none;}
  .tf-grid{grid-template-columns:1fr;}
  .btn{width:100%;text-align:center;}
}

/* ---------- IN / PDF (dự phòng) ---------- */
@media print{
  body{background:#fff;}
  .topbar,.progress{display:none;}
  .doc{box-shadow:none;max-width:100%;}
  section{padding:26px 30px;break-inside:avoid;}
  .card,.tl-item,.rung{break-inside:avoid;}
}
