/* ============================================================
   Khởi nghiệp 0 đồng — campaign / story page
   ============================================================ */
.kn-badge { display:inline-flex; align-items:center; gap:8px; font-size:12.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:8px 15px; border-radius:var(--r-pill); background:var(--blue); color:#fff; box-shadow:var(--sh-blue); }
.kn-badge.light { background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3); color:#fff; box-shadow:none; backdrop-filter:blur(4px); }

/* hero */
.kn-hero { position:relative; overflow:hidden; background:linear-gradient(115deg,#0B1B2B 0%,#123859 55%,#1E5C8A 100%); color:#fff; }
.kn-hero .wrap { display:grid; grid-template-columns:1.08fr .92fr; gap:56px; align-items:center; padding-top:74px; padding-bottom:80px; position:relative; z-index:2; }
.kn-hero .deco { position:absolute; border-radius:50%; z-index:1; }
.kn-hero .deco.d1 { width:520px; height:520px; right:-150px; top:-190px; background:rgba(95,199,240,.13); }
.kn-hero .deco.d2 { width:340px; height:340px; left:-130px; bottom:-200px; background:rgba(255,255,255,.05); }
.kn-hero-copy > .kn-badge { margin-bottom:24px; }
.kn-hero h1 { font-size:clamp(34px,4.6vw,58px); line-height:1.05; letter-spacing:-.025em; margin-bottom:20px; }
.kn-hero h1 .hl { color:#FF6A3D; }
.kn-hero p { font-size:clamp(16px,1.35vw,19px); color:rgba(255,255,255,.9); max-width:520px; margin-bottom:32px; line-height:1.65; }
.kn-hero-btns { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:40px; }
.kn-btn-glass { background:rgba(255,255,255,.1); color:#fff; border:1.5px solid rgba(255,255,255,.32); backdrop-filter:blur(4px); }
.kn-btn-glass:hover { background:rgba(255,255,255,.18); transform:translateY(-2px); }
.kn-hero-stats { display:flex; gap:36px; flex-wrap:wrap; }
.kn-hero-stats div { display:flex; flex-direction:column; gap:3px; }
.kn-hero-stats b { font-size:27px; font-weight:900; color:#fff; letter-spacing:-.02em; line-height:1; }
.kn-hero-stats span { font-size:13.5px; color:rgba(255,255,255,.72); font-weight:600; }
.kn-hero-shot { border-radius:var(--r-lg); min-height:400px; align-self:stretch; }

/* intro quote */
.kn-intro { background:#fff; padding:84px 0; }
.kn-intro-inner { max-width:880px; margin:0 auto; text-align:center; }
.kn-intro .eyebrow { justify-content:center; margin-bottom:24px; }
.kn-ask { font-size:clamp(22px,2.6vw,33px); font-weight:800; line-height:1.32; letter-spacing:-.02em; color:var(--ink); margin-bottom:20px; }
.kn-ask::before, .kn-ask::after { content:'"'; color:var(--blue); }
.kn-ans { font-size:clamp(17px,1.6vw,21px); font-weight:700; color:var(--blue-600); margin-bottom:28px; }
.kn-lead { font-size:17px; line-height:1.78; color:var(--ink-2); max-width:760px; margin:0 auto; }

/* split: không cần / chỉ cần */
.kn-split { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
.kn-col { border-radius:var(--r-lg); padding:38px 36px; }
.kn-col h3 { font-size:21px; margin-bottom:24px; }
.kn-col ul { list-style:none; padding:0; margin:0; display:grid; gap:15px; }
.kn-col li { display:flex; align-items:flex-start; gap:13px; font-size:16px; font-weight:600; line-height:1.45; }
.kn-col li svg { width:22px; height:22px; flex:none; margin-top:1px; }
.kn-col-no { background:var(--bg-2); border:1px solid var(--line); color:var(--ink-2); }
.kn-col-no h3 { color:var(--muted); }
.kn-col-no li svg { color:#A6B5C4; }
.kn-col-yes { background:linear-gradient(150deg,var(--blue) 0%,#00B4F0 100%); color:#fff; box-shadow:var(--sh-blue); }
.kn-col-yes h3 { color:#fff; }
.kn-col-yes li svg { color:#fff; }
.kn-col-note { margin-top:26px; padding-top:20px; border-top:1px solid rgba(255,255,255,.24); font-size:14.5px; color:rgba(255,255,255,.92); font-weight:600; }

/* feature rows */
.kn-feature { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.kn-feature-media { border-radius:var(--r-lg); min-height:380px; align-self:stretch; position:relative; }
.kn-feature-copy .tag { margin-bottom:16px; }
.kn-feature-copy h2 { font-size:clamp(26px,3vw,38px); line-height:1.12; margin-bottom:16px; }
.kn-feature-copy > p { font-size:17px; color:var(--ink-2); line-height:1.72; margin-bottom:24px; }
.kn-check { list-style:none; padding:0; margin:0; display:grid; gap:14px; }
.kn-check li { display:flex; align-items:flex-start; gap:12px; font-size:15.5px; font-weight:600; color:var(--ink); line-height:1.5; }
.kn-check li svg { width:22px; height:22px; flex:none; color:var(--green); margin-top:1px; }

/* support grid */
.kn-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.kn-gcard { background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:30px 28px; transition:.18s ease; }
.kn-gcard:hover { transform:translateY(-4px); box-shadow:var(--sh-lg); border-color:transparent; }
.kn-gcard .ic { width:54px; height:54px; border-radius:15px; background:var(--sky); color:var(--blue-600); display:grid; place-items:center; margin-bottom:18px; transition:.18s; }
.kn-gcard:hover .ic { background:var(--blue); color:#fff; }
.kn-gcard .ic svg { width:26px; height:26px; }
.kn-gcard h3 { font-size:18px; margin-bottom:9px; }
.kn-gcard p { font-size:14.5px; color:var(--ink-2); line-height:1.6; }
.kn-grid-note { text-align:center; margin-top:34px; font-size:16.5px; font-weight:700; color:var(--blue-700); }

/* values */
.kn-values { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.kn-vcard { background:var(--bg-2); border:1px solid var(--line); border-radius:var(--r-lg); padding:34px 30px; }
.kn-vcard .ic { width:46px; height:46px; border-radius:50%; background:var(--sky); color:var(--blue-600); display:grid; place-items:center; margin-bottom:18px; }
.kn-vcard .ic svg { width:22px; height:22px; }
.kn-vcard h3 { font-size:19px; margin-bottom:9px; line-height:1.25; }
.kn-vcard p { font-size:15px; color:var(--ink-2); line-height:1.6; }

/* partnership + paths */
.kn-exp { position:absolute; left:22px; bottom:22px; background:#FF6A3D; color:#fff; border-radius:var(--r); padding:14px 20px 13px; display:flex; flex-direction:column; line-height:.95; font-weight:900; font-size:40px; box-shadow:0 12px 28px rgba(255,106,61,.36); }
.kn-exp sup { font-size:22px; font-weight:800; }
.kn-exp small { font-size:11.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; margin-top:8px; }
.kn-paths { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.kn-path { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-sm); transition:.18s ease; }
.kn-path:hover { transform:translateY(-4px); box-shadow:var(--sh-lg); border-color:transparent; }
.kn-path-media { min-height:210px; }
.kn-path-body { padding:26px 28px 30px; }
.kn-path-body .tag { margin-bottom:14px; }
.kn-path-body h3 { font-size:20px; margin-bottom:10px; line-height:1.2; }
.kn-path-body p { font-size:15px; color:var(--ink-2); line-height:1.62; }
.kn-tagline { text-align:center; margin-top:44px; font-size:clamp(18px,2vw,25px); font-weight:800; letter-spacing:-.01em; color:var(--blue-700); }
.kn-tagline em { font-style:normal; color:var(--accent); }

/* final cta */
.kn-final { position:relative; overflow:hidden; background:linear-gradient(120deg,#0B1B2B 0%,#0E3A5E 58%,#0091E6 130%); color:#fff; padding:88px 0; text-align:center; }
.kn-final .deco { position:absolute; width:500px; height:500px; border-radius:50%; background:rgba(95,199,240,.12); right:-130px; top:-170px; z-index:1; }
.kn-final .wrap { position:relative; z-index:2; max-width:920px; }
.kn-final .kn-badge { margin-bottom:24px; }
.kn-final h2 { font-size:clamp(28px,3.4vw,44px); line-height:1.14; margin-bottom:32px; letter-spacing:-.02em; }
.kn-chips { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-bottom:32px; }
.kn-chips span { display:inline-flex; align-items:center; gap:9px; font-size:14.5px; font-weight:700; padding:11px 18px; border-radius:var(--r-pill); background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); }
.kn-chips span svg { width:16px; height:16px; color:#5FC7F0; flex:none; }
.kn-final-line { font-size:17px; color:rgba(255,255,255,.86); max-width:700px; margin:0 auto 34px; line-height:1.72; }
.kn-final-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* responsive */
@media (max-width:960px) {
  .kn-hero .wrap, .kn-feature, .kn-split { grid-template-columns:1fr; }
  .kn-hero-shot { min-height:260px; order:-1; }
  .kn-feature-media { min-height:300px; }
  .kn-feature.reverse .kn-feature-copy { order:2; }
  .kn-grid, .kn-values { grid-template-columns:1fr 1fr; }
}
@media (max-width:860px) { .kn-paths { grid-template-columns:1fr; } }
@media (max-width:620px) {
  .kn-grid, .kn-values { grid-template-columns:1fr; }
  .kn-hero-stats { gap:26px; }
  .kn-col { padding:30px 24px; }
}
