/* roulang page: index */
:root{
  --kn-bg:#051F14;
  --kn-bg-soft:#07271A;
  --kn-panel:#0B2E1E;
  --kn-panel-2:#123F2B;
  --kn-gold:#F59E0B;
  --kn-gold-light:#FCD34D;
  --kn-red:#DC2626;
  --kn-text:#F8FAFC;
  --kn-mint:#D1FAE5;
  --kn-muted:#A3A375;
  --kn-line:rgba(245,158,11,.22);
  --kn-line-soft:rgba(209,250,229,.10);
  --kn-radius:18px;
  --kn-radius-sm:12px;
  --kn-shadow:0 20px 44px rgba(0,0,0,.48);
  --kn-gold-grad:linear-gradient(135deg,#F59E0B 0%,#FCD34D 100%);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  padding-top:76px;
  font-family:'Be Vietnam Pro',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:16px;
  line-height:1.65;
  color:var(--kn-text);
  background:var(--kn-bg);
  background-image:radial-gradient(900px 420px at 88% -8%,rgba(245,158,11,.14),transparent 60%),radial-gradient(760px 480px at -10% 22%,rgba(16,185,129,.12),transparent 62%);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color .2s ease}
a:hover{color:var(--kn-gold-light)}
h1,h2,h3,h4,h5{font-weight:800;line-height:1.25;letter-spacing:-.01em;margin:0 0 14px}
h1{font-size:clamp(1.75rem,3.6vw,2.85rem)}
h2{font-size:clamp(1.5rem,2.9vw,2.25rem)}
h3{font-size:clamp(1.08rem,1.7vw,1.25rem)}
p{margin:0 0 16px}
ul,ol{margin:0;padding:0;list-style:none}
button,input,select,textarea{font-family:inherit;font-size:1rem}
:focus-visible{outline:2px solid var(--kn-gold-light);outline-offset:3px;border-radius:6px}
.container{width:100%;max-width:1200px;margin:0 auto;padding-left:20px;padding-right:20px}
.kn-section{padding:76px 0;position:relative;scroll-margin-top:92px}
.kn-section--alt{background:linear-gradient(180deg,rgba(7,39,26,.85) 0%,rgba(5,31,20,.4) 100%);border-top:1px solid var(--kn-line-soft);border-bottom:1px solid var(--kn-line-soft)}
.kn-head{max-width:780px;margin-bottom:38px;text-align:left}
.kn-head--center{margin-left:auto;margin-right:auto;text-align:center}
.kn-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--kn-gold-light);background:rgba(245,158,11,.10);border:1px solid var(--kn-line);border-radius:999px;padding:6px 14px;margin-bottom:16px}
.kn-lead{color:var(--kn-mint);font-size:1.03rem}
.kn-muted{color:var(--kn-muted);font-size:.94rem}
.kn-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(245,158,11,.45),transparent);border:0;margin:34px 0}

/* ---------- Buttons ---------- */
.kn-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:12px 24px;font-weight:700;font-size:.95rem;line-height:1.2;border:1px solid transparent;cursor:pointer;transition:transform .18s ease,box-shadow .25s ease,background .25s ease,color .2s ease,border-color .25s ease;white-space:nowrap}
.kn-btn:active{transform:translateY(1px) scale(.99)}
.kn-btn-gold{background:var(--kn-gold-grad);color:#08251A;box-shadow:0 10px 26px rgba(245,158,11,.28)}
.kn-btn-gold:hover{color:#08251A;transform:translateY(-2px);box-shadow:0 16px 34px rgba(245,158,11,.42)}
.kn-btn-ghost{background:transparent;border-color:rgba(245,158,11,.5);color:var(--kn-gold-light)}
.kn-btn-ghost:hover{background:rgba(245,158,11,.14);color:#FFF;transform:translateY(-2px)}
.kn-btn-soft{background:rgba(209,250,229,.08);border-color:var(--kn-line-soft);color:var(--kn-mint)}
.kn-btn-soft:hover{background:rgba(209,250,229,.14);color:#FFF}
.kn-btn-sm{padding:9px 18px;font-size:.86rem}

/* ---------- Header ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1030;background:rgba(4,22,15,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--kn-line-soft)}
.kn-nav-inner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-height:74px;padding:10px 0}
.kn-brand{display:flex;align-items:center;gap:11px;flex:0 0 auto}
.kn-brand-mark{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:var(--kn-gold-grad);color:#08251A;box-shadow:0 8px 20px rgba(245,158,11,.3)}
.kn-brand-text{display:flex;flex-direction:column;line-height:1.1}
.kn-brand-text strong{font-size:1.06rem;font-weight:800;letter-spacing:-.02em;color:#FFF}
.kn-brand-text small{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--kn-gold-light)}
.kn-nav-links{display:flex;align-items:center;gap:4px;flex:1 1 auto;justify-content:center;margin:0}
.kn-nav-links .nav-item{list-style:none}
.kn-nav-links a{display:block;padding:9px 13px;border-radius:999px;font-size:.9rem;font-weight:600;color:var(--kn-mint);border:1px solid transparent;transition:background .2s,color .2s,border-color .2s}
.kn-nav-links a:hover{background:rgba(245,158,11,.12);color:#FFF}
.kn-nav-links a.active{background:rgba(245,158,11,.16);border-color:var(--kn-line);color:var(--kn-gold-light)}
.kn-nav-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.kn-toggler{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--kn-line);background:rgba(245,158,11,.08);padding:0;align-items:center;justify-content:center;flex-direction:column;gap:4px}
.kn-toggler span{display:block;width:18px;height:2px;background:var(--kn-gold-light);border-radius:2px}
@media (max-width:991.98px){
  .kn-toggler{display:flex}
  .kn-brand-text small{display:none}
  .kn-nav-links{flex-basis:100%;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;margin-top:12px;padding-top:12px;border-top:1px solid var(--kn-line-soft)}
  .kn-nav-links a{padding:11px 14px;font-size:.95rem}
  .kn-nav-actions{margin-left:auto}
  .kn-brand{margin-right:auto}
}

/* ---------- Hero ---------- */
.kn-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--kn-line-soft);padding:64px 0 54px}
.kn-hero-media{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.32;transform:scale(1.02)}
.kn-hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,31,20,.72) 0%,rgba(5,31,20,.93) 58%,#051F14 100%)}
.kn-hero-inner{position:relative;z-index:2}
.kn-hero-title{margin-bottom:18px}
.kn-hero-title .kn-hl{background:var(--kn-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kn-hero-lead{font-size:1.04rem;color:var(--kn-mint);max-width:640px}
.kn-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.kn-hero-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.kn-chip{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;color:var(--kn-mint);background:rgba(209,250,229,.07);border:1px solid var(--kn-line-soft);border-radius:999px;padding:7px 14px}
.kn-chip i{color:var(--kn-gold-light)}
.kn-sub-card{background:linear-gradient(160deg,rgba(18,63,43,.94),rgba(7,35,23,.96));border:1px solid var(--kn-line);border-radius:var(--kn-radius);padding:26px;box-shadow:var(--kn-shadow)}
.kn-sub-card h2{font-size:1.18rem;margin-bottom:10px}
.kn-sub-form{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.kn-input{width:100%;background:rgba(5,31,20,.85);border:1px solid var(--kn-line-soft);border-radius:12px;padding:12px 15px;color:var(--kn-text);transition:border-color .2s,box-shadow .2s}
.kn-input::placeholder{color:#7d8a80}
.kn-input:focus{outline:none;border-color:rgba(245,158,11,.6);box-shadow:0 0 0 3px rgba(245,158,11,.14)}
.kn-note{font-size:.79rem;color:var(--kn-muted);margin:12px 0 0}
.kn-nodebar{margin-top:40px;background:rgba(4,24,16,.82);backdrop-filter:blur(10px);border:1px solid var(--kn-line);border-radius:var(--kn-radius);padding:20px 6px;display:flex;overflow-x:auto;scrollbar-width:thin}
.kn-node{flex:0 0 auto;width:192px;padding:2px 18px;border-left:1px solid var(--kn-line)}
.kn-node:first-child{border-left:0}
.kn-node-time{display:block;font-size:.78rem;font-weight:800;letter-spacing:.1em;color:var(--kn-gold-light)}
.kn-node-title{display:block;font-size:.95rem;font-weight:700;margin:5px 0 3px}
.kn-node-desc{display:block;font-size:.79rem;color:var(--kn-muted);line-height:1.5}

/* ---------- Cards & blocks ---------- */
.kn-card{background:linear-gradient(160deg,rgba(18,63,43,.88),rgba(8,36,24,.94));border:1px solid var(--kn-line);border-radius:var(--kn-radius);padding:24px;height:100%;transition:border-color .25s,transform .25s,box-shadow .25s}
.kn-card:hover{border-color:rgba(245,158,11,.55);transform:translateY(-4px);box-shadow:0 22px 40px rgba(0,0,0,.45)}
.kn-card-icon{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:rgba(245,158,11,.14);border:1px solid var(--kn-line);color:var(--kn-gold-light);font-size:1.05rem;margin-bottom:16px}
.kn-card h3{margin-bottom:10px}
.kn-card p{color:var(--kn-mint);font-size:.93rem;margin-bottom:0}
.kn-tag{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--kn-gold-light);background:rgba(245,158,11,.12);border:1px solid var(--kn-line);border-radius:999px;padding:4px 11px}
.kn-tag--red{color:#fecaca;background:rgba(220,38,38,.18);border-color:rgba(220,38,38,.4)}
.kn-media{border-radius:var(--kn-radius);border:1px solid var(--kn-line);overflow:hidden;box-shadow:var(--kn-shadow)}
.kn-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.kn-media:hover img{transform:scale(1.04)}
.kn-list-check li{display:flex;gap:13px;padding:15px 0;border-bottom:1px dashed var(--kn-line-soft);color:var(--kn-mint);font-size:.95rem}
.kn-list-check li:last-child{border-bottom:0}
.kn-list-check i{color:var(--kn-gold-light);margin-top:4px}
.kn-list-check strong{color:#FFF;display:block;margin-bottom:3px;font-size:1rem}
.kn-numlist{counter-reset:kn;display:grid;gap:14px}
.kn-numitem{position:relative;padding:18px 20px 18px 74px;background:rgba(9,40,27,.6);border:1px solid var(--kn-line-soft);border-left:3px solid rgba(245,158,11,.5);border-radius:var(--kn-radius-sm);transition:border-color .25s,background .25s}
.kn-numitem:hover{border-color:var(--kn-line);background:rgba(18,63,43,.75)}
.kn-numitem::before{counter-increment:kn;content:counter(kn,decimal-leading-zero);position:absolute;left:20px;top:16px;font-size:1.15rem;font-weight:800;color:transparent;background:var(--kn-gold-grad);-webkit-background-clip:text;background-clip:text}
.kn-numitem strong{display:block;color:#FFF;margin-bottom:5px;font-size:1rem}
.kn-numitem span{color:var(--kn-mint);font-size:.92rem}
.kn-badges{display:flex;flex-wrap:wrap;gap:12px}
.kn-badge{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:14px;background:rgba(9,40,27,.72);border:1px solid var(--kn-line);font-size:.86rem;font-weight:600;color:var(--kn-mint)}
.kn-badge i{color:var(--kn-gold-light);font-size:1rem}
.kn-note-box{border-left:3px solid var(--kn-red);background:rgba(220,38,38,.08);border-radius:0 var(--kn-radius-sm) var(--kn-radius-sm) 0;padding:20px 22px}
.kn-note-box p:last-child{margin-bottom:0}
.kn-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.kn-stat{background:linear-gradient(160deg,rgba(14,53,36,.9),rgba(6,30,20,.95));border:1px solid var(--kn-line);border-radius:var(--kn-radius);padding:24px 20px}
.kn-stat b{display:block;font-size:clamp(1.5rem,3vw,2.05rem);font-weight:800;background:var(--kn-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1}
.kn-stat span{display:block;margin-top:8px;font-size:.86rem;color:var(--kn-mint)}
.kn-compare{display:grid;gap:12px}
.kn-crow{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:14px;align-items:center;padding:16px 18px;border-radius:14px;background:rgba(9,40,27,.55);border:1px solid var(--kn-line-soft)}
.kn-crow--head{background:rgba(245,158,11,.10);border-color:var(--kn-line);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--kn-gold-light)}
.kn-crow .kn-criter{font-weight:600;color:#FFF;font-size:.93rem}
.kn-crow .kn-old{color:var(--kn-muted);font-size:.9rem}
.kn-crow .kn-new{color:var(--kn-mint);font-size:.9rem;font-weight:600}
.kn-crow .kn-new i{color:var(--kn-gold-light);margin-right:7px}
.kn-timeline{position:relative;padding-left:26px}
.kn-timeline::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,rgba(245,158,11,.7),rgba(245,158,11,.06))}
.kn-tl-item{position:relative;padding:0 0 26px 0}
.kn-tl-item::before{content:"";position:absolute;left:-26px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--kn-gold);box-shadow:0 0 0 4px rgba(245,158,11,.16)}
.kn-tl-item:last-child{padding-bottom:0}
.kn-tl-ver{font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--kn-gold-light)}
.kn-tl-item h3{margin:6px 0 6px;font-size:1.02rem}
.kn-tl-item p{margin:0;color:var(--kn-mint);font-size:.92rem}
.kn-cat-card{display:block;height:100%;border-radius:var(--kn-radius);overflow:hidden;border:1px solid var(--kn-line);background:rgba(9,40,27,.6);transition:transform .25s,border-color .25s,box-shadow .25s}
.kn-cat-card:hover{transform:translateY(-5px);border-color:rgba(245,158,11,.6);box-shadow:0 24px 42px rgba(0,0,0,.5);color:inherit}
.kn-cat-thumb{position:relative;aspect-ratio:16/9;overflow:hidden}
.kn-cat-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.kn-cat-card:hover .kn-cat-thumb img{transform:scale(1.06)}
.kn-cat-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,31,20,.05),rgba(5,31,20,.85))}
.kn-cat-body{padding:20px 22px 24px}
.kn-cat-body h3{font-size:1.08rem;margin-bottom:8px;color:#FFF}
.kn-cat-body p{font-size:.9rem;color:var(--kn-mint);margin-bottom:14px}
.kn-cat-more{font-size:.84rem;font-weight:700;color:var(--kn-gold-light)}
.kn-cat-more i{margin-left:6px;transition:transform .25s}
.kn-cat-card:hover .kn-cat-more i{transform:translateX(4px)}

/* ---------- Posts / CMS ---------- */
.kn-post-list{display:grid;gap:14px}
.kn-post{display:flex;gap:18px;padding:20px;border-radius:var(--kn-radius);background:rgba(9,40,27,.55);border:1px solid var(--kn-line-soft);transition:border-color .25s,background .25s,transform .25s}
.kn-post:hover{border-color:var(--kn-line);background:rgba(18,63,43,.72);transform:translateX(3px)}
.kn-post-index{flex:0 0 auto;font-size:.92rem;font-weight:800;color:transparent;background:var(--kn-gold-grad);-webkit-background-clip:text;background-clip:text}
.kn-post-body{min-width:0}
.kn-post-title{font-size:1.04rem;margin-bottom:8px;color:#FFF}
.kn-post-title:hover{color:var(--kn-gold-light)}
.kn-post-excerpt{font-size:.92rem;color:var(--kn-mint);margin-bottom:12px}
.kn-post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:.8rem;color:var(--kn-muted)}
.kn-aside{background:rgba(9,40,27,.6);border:1px solid var(--kn-line);border-radius:var(--kn-radius);padding:24px;position:sticky;top:96px}
.kn-aside-title{font-size:1.02rem;padding-bottom:14px;margin-bottom:6px;border-bottom:1px solid var(--kn-line-soft)}
.kn-side-list li{padding:13px 0;border-bottom:1px dashed var(--kn-line-soft)}
.kn-side-list li:last-child{border-bottom:0}
.kn-side-list a{display:block;font-size:.92rem;font-weight:600;color:var(--kn-mint);margin-bottom:5px}
.kn-side-list a:hover{color:var(--kn-gold-light)}
.kn-side-list span{font-size:.76rem;color:var(--kn-muted)}
.kn-empty{padding:22px;border:1px dashed var(--kn-line);border-radius:var(--kn-radius-sm);color:var(--kn-muted);font-size:.92rem}

/* ---------- Quick answers / FAQ ---------- */
.kn-qa{display:grid;gap:14px}
.kn-qa-item{padding:18px 20px;border-radius:var(--kn-radius-sm);background:rgba(9,40,27,.5);border:1px solid var(--kn-line-soft);border-left:3px solid rgba(245,158,11,.45)}
.kn-qa-item strong{display:block;color:#FFF;margin-bottom:6px;font-size:.98rem}
.kn-qa-item p{margin:0;font-size:.9rem;color:var(--kn-mint)}
.kn-acc{border-radius:var(--kn-radius);overflow:hidden;border:1px solid var(--kn-line-soft);background:rgba(9,40,27,.45)}
.kn-acc .accordion-item{background:transparent;border:0;border-bottom:1px solid var(--kn-line-soft)}
.kn-acc .accordion-item:last-child{border-bottom:0}
.kn-acc .accordion-button{background:transparent;color:#FFF;font-weight:700;font-size:1rem;padding:20px 22px;box-shadow:none;border:0}
.kn-acc .accordion-button:not(.collapsed){color:var(--kn-gold-light);background:rgba(245,158,11,.07)}
.kn-acc .accordion-button:focus{box-shadow:none;border-color:var(--kn-line-soft)}
.kn-acc .accordion-button::after{filter:invert(78%) sepia(52%) saturate(600%) hue-rotate(340deg)}
.kn-acc .accordion-body{padding:4px 22px 22px;color:var(--kn-mint);font-size:.94rem}

/* ---------- Testimonials ---------- */
.kn-quote{background:rgba(9,40,27,.55);border:1px solid var(--kn-line-soft);border-radius:var(--kn-radius);padding:24px;height:100%}
.kn-quote i{color:rgba(245,158,11,.5);font-size:1.3rem;margin-bottom:12px;display:block}
.kn-quote p{font-size:.94rem;color:var(--kn-mint);margin-bottom:16px}
.kn-quote-who{display:flex;align-items:center;gap:11px}
.kn-quote-who span{width:38px;height:38px;border-radius:50%;background:var(--kn-gold-grad);color:#08251A;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.86rem}
.kn-quote-who b{display:block;font-size:.9rem;color:#FFF}
.kn-quote-who small{font-size:.76rem;color:var(--kn-muted)}

/* ---------- Form ---------- */
.kn-form-wrap{background:linear-gradient(160deg,rgba(18,63,43,.92),rgba(7,35,23,.96));border:1px solid var(--kn-line);border-radius:var(--kn-radius);padding:30px;box-shadow:var(--kn-shadow)}
.kn-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.kn-field{display:flex;flex-direction:column;gap:7px}
.kn-field label{font-size:.82rem;font-weight:600;color:var(--kn-mint)}
.kn-form-note{margin:14px 0 0;font-size:.82rem;color:var(--kn-muted)}
.kn-form-note.is-ok{color:var(--kn-gold-light);font-weight:600}

/* ---------- Footer ---------- */
.site-footer{background:linear-gradient(180deg,rgba(4,22,15,.6),#03150E);border-top:1px solid var(--kn-line);padding:56px 0 26px;margin-top:0}
.kn-foot-title{font-size:.84rem;letter-spacing:.14em;text-transform:uppercase;color:var(--kn-gold-light);margin-bottom:16px;font-weight:700}
.kn-foot-list li{margin-bottom:10px}
.kn-foot-list a{font-size:.9rem;color:var(--kn-mint)}
.kn-foot-list a:hover{color:var(--kn-gold-light)}
.kn-foot-brand{display:flex;align-items:center;gap:11px;margin-bottom:16px}
.kn-foot-brand span.kn-brand-mark{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--kn-gold-grad);color:#08251A}
.kn-foot-brand strong{font-size:1rem;color:#FFF}
.kn-pay{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.kn-pay span{font-size:.76rem;font-weight:700;padding:7px 13px;border-radius:9px;background:rgba(209,250,229,.08);border:1px solid var(--kn-line-soft);color:var(--kn-mint)}
.kn-foot-bottom{margin-top:38px;padding-top:20px;border-top:1px solid var(--kn-line-soft);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:.82rem;color:var(--kn-muted)}
.kn-18{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--kn-line);color:var(--kn-gold-light);font-weight:800;font-size:.8rem}

/* ---------- FAB ---------- */
.kn-fab{position:fixed;left:16px;bottom:96px;z-index:1050;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 32% 26%,#3a2410,#0B2E1E 68%);border:2px solid var(--kn-gold);box-shadow:0 6px 26px rgba(245,158,11,.4);animation:knFloat 3.4s ease-in-out infinite;transition:transform .25s ease,box-shadow .3s ease,opacity .25s ease;opacity:.86}
.kn-fab:hover{opacity:1;transform:scale(1.1);box-shadow:0 10px 34px rgba(245,158,11,.62);color:inherit}
.kn-fab:active{transform:scale(.94) translateY(3px)}
.kn-fab i{color:var(--kn-gold-light);font-size:1.3rem;transition:transform .5s ease}
.kn-fab:hover i{transform:rotate(360deg)}
.kn-fab-dot{position:absolute;top:-3px;right:-3px;width:13px;height:13px;border-radius:50%;background:var(--kn-red);box-shadow:0 0 0 2px #FFF,0 0 12px rgba(220,38,38,.8)}
@keyframes knFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

@media (max-width:1024px){
  .kn-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kn-aside{position:static}
}
@media (max-width:768px){
  .kn-section{padding:56px 0}
  .kn-hero{padding:44px 0 40px}
  .kn-crow{grid-template-columns:1fr;gap:6px;padding:15px 16px}
  .kn-crow--head{display:none}
  .kn-crow .kn-old::before{content:"Trước đây: ";color:var(--kn-muted);font-weight:600}
  .kn-crow .kn-new::before{content:"Cùng KeoNhaCai5: ";color:var(--kn-gold-light);font-weight:600}
  .kn-form-grid{grid-template-columns:1fr}
  .kn-post{flex-direction:column;gap:10px}
}
@media (max-width:520px){
  body{padding-top:70px}
  .kn-stat{padding:18px 16px}
  .kn-btn{padding:11px 18px;font-size:.9rem}
  .kn-nav-actions .kn-btn-ghost{padding:9px 12px;font-size:.82rem}
  .kn-nav-actions .kn-btn-gold{padding:9px 14px;font-size:.82rem}
  .kn-node{width:170px}
  .kn-fab{width:54px;height:54px;bottom:88px}
}

/* roulang page: category1 */
:root{
  --kn-bg:#051F14;
  --kn-bg-soft:#07271A;
  --kn-panel:#0B2E1E;
  --kn-panel-2:#123F2B;
  --kn-gold:#F59E0B;
  --kn-gold-light:#FCD34D;
  --kn-red:#DC2626;
  --kn-text:#F8FAFC;
  --kn-mint:#D1FAE5;
  --kn-muted:#A3A375;
  --kn-line:rgba(245,158,11,.22);
  --kn-line-soft:rgba(209,250,229,.10);
  --kn-radius:18px;
  --kn-radius-sm:12px;
  --kn-shadow:0 20px 44px rgba(0,0,0,.48);
  --kn-gold-grad:linear-gradient(135deg,#F59E0B 0%,#FCD34D 100%);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  padding-top:76px;
  font-family:'Be Vietnam Pro',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:16px;
  line-height:1.65;
  color:var(--kn-text);
  background-color:var(--kn-bg);
  background-image:radial-gradient(900px 420px at 88% -8%,rgba(245,158,11,.14),transparent 60%),radial-gradient(760px 480px at -10% 22%,rgba(16,185,129,.12),transparent 62%);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color .2s ease}
a:hover{color:var(--kn-gold-light)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--kn-gold-light);outline-offset:2px}
button,input,select,textarea{font-family:inherit;font-size:1rem}
h1,h2,h3,h4{font-weight:800;line-height:1.25;margin:0 0 .6rem;letter-spacing:-.015em}
h1{font-size:clamp(1.75rem,4vw,2.55rem)}
h2{font-size:clamp(1.35rem,2.7vw,1.9rem)}
h3{font-size:1.06rem}
h4{font-size:1rem}
p{margin:0 0 1rem}
ul{margin:0;padding:0}
.container{width:100%;max-width:1200px;margin:0 auto;padding-left:20px;padding-right:20px}
.kn-section{padding:76px 0;position:relative;scroll-margin-top:92px}
.kn-section--alt{background:linear-gradient(180deg,rgba(7,39,26,.85) 0%,rgba(5,31,20,.35) 100%);border-top:1px solid var(--kn-line-soft);border-bottom:1px solid var(--kn-line-soft)}
.kn-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--kn-gold-light);background:rgba(245,158,11,.10);border:1px solid var(--kn-line);border-radius:999px;padding:6px 14px;margin-bottom:16px}
.kn-lead{color:var(--kn-mint);font-size:1.03rem;max-width:62ch}
.kn-muted{color:var(--kn-muted);font-size:.94rem}
.kn-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(245,158,11,.45),transparent);border:0;margin:34px 0}
.kn-sec-head{max-width:70ch;margin-bottom:38px}
.kn-sec-head h2{margin-bottom:12px}
/* Buttons */
.kn-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:12px 24px;font-weight:700;font-size:.95rem;line-height:1.2;border:1px solid transparent;cursor:pointer;transition:transform .18s ease,box-shadow .25s ease,background .25s ease,color .2s ease,border-color .25s ease;white-space:nowrap}
.kn-btn:active{transform:translateY(1px) scale(.99)}
.kn-btn-gold{background:var(--kn-gold-grad);color:#08251A;box-shadow:0 10px 26px rgba(245,158,11,.28)}
.kn-btn-gold:hover{color:#08251A;transform:translateY(-2px);box-shadow:0 16px 34px rgba(245,158,11,.42)}
.kn-btn-ghost{background:transparent;border-color:rgba(245,158,11,.5);color:var(--kn-gold-light)}
.kn-btn-ghost:hover{background:rgba(245,158,11,.14);color:#FFF;transform:translateY(-2px)}
.kn-btn-soft{background:rgba(209,250,229,.08);border-color:var(--kn-line-soft);color:var(--kn-mint)}
.kn-btn-soft:hover{background:rgba(209,250,229,.14);color:#FFF}
.kn-btn-sm{padding:9px 18px;font-size:.86rem}
/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1030;background:rgba(4,22,15,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--kn-line-soft)}
.kn-nav-inner{display:flex;align-items:center;gap:14px;flex-wrap:nowrap;min-height:74px;padding:10px 0}
.kn-brand{display:flex;align-items:center;gap:11px;flex:0 0 auto;margin-right:auto}
.kn-brand-mark{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:var(--kn-gold-grad);color:#08251A;box-shadow:0 8px 20px rgba(245,158,11,.3)}
.kn-brand-text{display:flex;flex-direction:column;line-height:1.1}
.kn-brand-text strong{font-size:1.06rem;font-weight:800;letter-spacing:-.02em;color:#FFF}
.kn-brand-text small{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--kn-gold-light)}
.kn-nav-links{display:flex;align-items:center;gap:4px;justify-content:center;margin:0;list-style:none}
.kn-nav-links .nav-item{list-style:none}
.kn-nav-links a{display:block;padding:9px 13px;border-radius:999px;font-size:.9rem;font-weight:600;color:var(--kn-mint);border:1px solid transparent;transition:background .2s,color .2s,border-color .2s}
.kn-nav-links a:hover{background:rgba(245,158,11,.12);color:#FFF}
.kn-nav-links a.active{background:rgba(245,158,11,.16);border-color:var(--kn-line);color:var(--kn-gold-light)}
.kn-nav-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.kn-toggler{display:none;flex-direction:column;justify-content:center;gap:5px;width:46px;height:42px;border-radius:12px;border:1px solid var(--kn-line);background:rgba(245,158,11,.08);cursor:pointer;padding:0 11px}
.kn-toggler span{display:block;height:2px;border-radius:2px;background:var(--kn-gold-light)}
.kn-toggler:hover{background:rgba(245,158,11,.18)}
#knNav{padding-bottom:14px}
.kn-nav-mobile{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.kn-nav-mobile a{display:block;padding:11px 14px;border-radius:12px;font-size:.95rem;font-weight:600;color:var(--kn-mint);background:rgba(209,250,229,.05);border:1px solid var(--kn-line-soft)}
.kn-nav-mobile a.active{color:var(--kn-gold-light);border-color:var(--kn-line);background:rgba(245,158,11,.14)}
/* Hero */
.kn-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--kn-line-soft);padding:64px 0 62px}
.kn-hero-media{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.3;transform:scale(1.03)}
.kn-hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,31,20,.72) 0%,rgba(5,31,20,.93) 58%,#051F14 100%)}
.kn-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:start}
.kn-hero-title{margin-bottom:18px}
.kn-hero-title .kn-hl{background:var(--kn-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kn-hero-lead{font-size:1.05rem;color:var(--kn-mint);max-width:60ch}
.kn-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.kn-hero-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.kn-chip{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;color:var(--kn-mint);background:rgba(209,250,229,.07);border:1px solid var(--kn-line-soft);border-radius:999px;padding:7px 14px}
.kn-chip i{color:var(--kn-gold-light)}
.kn-sub-card{background:linear-gradient(160deg,rgba(18,63,43,.94),rgba(7,35,23,.97));border:1px solid var(--kn-line);border-radius:var(--kn-radius);padding:26px;box-shadow:var(--kn-shadow)}
.kn-sub-card h2{font-size:1.12rem;margin-bottom:6px}
.kn-node-list{list-style:none;margin:18px 0 0;padding:0;position:relative}
.kn-node{position:relative;padding:0 0 16px 26px;border-left:1px solid var(--kn-line-soft)}
.kn-node:last-child{border-left-color:transparent;padding-bottom:0}
.kn-node::before{content:"";position:absolute;left:-5px;top:7px;width:9px;height:9px;border-radius:50%;background:var(--kn-gold-grad);box-shadow:0 0 0 3px rgba(245,158,11,.16)}
.kn-node-t{display:block;font-size:.86rem;font-weight:700;color:var(--kn-gold-light);letter-spacing:.02em}
.kn-node p{margin:2px 0 0;font-size:.9rem;color:var(--kn-mint)}
.kn-sub-form{display:flex;flex-direction:column;gap:10px;margin-top:18px;padding-top:18px;border-top:1px dashed var(--kn-line-soft)}
.kn-input{width:100%;background:rgba(5,31,20,.85);border:1px solid var(--kn-line-soft);border-radius:12px;padding:12px 15px;color:var(--kn-text);transition:border-color .2s,box-shadow .2s}
.kn-input::placeholder{color:#7d8a80}
.kn-input:focus{outline:none;border-color:rgba(245,158,11,.6);box-shadow:0 0 0 3px rgba(245,158,11,.14)}
/* Metrics */
.kn-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.kn-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.kn-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.kn-stat{background:linear-gradient(165deg,rgba(18,63,43,.9),rgba(7,35,23,.92));border:1px solid var(--kn-line-soft);border-left:3px solid rgba(245,158,11,.55);border-radius:var(--kn-radius-sm);padding:24px 22px}
.kn-stat-value{font-size:2rem;font-weight:800;line-height:1;background:var(--kn-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:8px}
.kn-stat-label{font-size:.92rem;color:var(--kn-mint)}
/* Cards */
.kn-card{background:linear-gradient(165deg,rgba(18,63,43,.72),rgba(7,35,23,.86));border:1px solid var(--kn-line-soft);border-radius:var(--kn-radius);padding:26px 24px;transition:transform .22s ease,border-color .22s ease,box-shadow .25s ease}
.kn-card:hover{transform:translateY(-4px);border-color:var(--kn-line);box-shadow:0 18px 38px rgba(0,0,0,.42)}
.kn-card-icon{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:rgba(245,158,11,.14);border:1px solid var(--kn-line);color:var(--kn-gold-light);font-size:1.05rem;margin-bottom:16px}
.kn-card h3{margin-bottom:8px}
.kn-card p{margin:0;color:var(--kn-mint);font-size:.95rem}
/* Table */
.kn-table-wrap{overflow-x:auto;border:1px solid var(--kn-line-soft);border-radius:var(--kn-radius);background:rgba(7,35,23,.7)}
table.kn-table{width:100%;border-collapse:collapse;min-width:640px}
table.kn-table th,table.kn-table td{padding:16px 18px;text-align:left;font-size:.94rem;border-bottom:1px solid var(--kn-line-soft);vertical-align:top}
table.kn-table thead th{background:rgba(245,158,11,.12);color:var(--kn-gold-light);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
table.kn-table tbody tr:last-child td{border-bottom:0}
table.kn-table tbody th{font-weight:700;color:#FFF;background:rgba(209,250,229,.04);width:210px}
table.kn-table tbody td{color:var(--kn-mint)}
table.kn-table tbody tr:hover td{background:rgba(245,158,11,.05)}
/* Steps */
.kn-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:knstep}
.kn-step{position:relative;padding:26px 22px 22px;border-radius:var(--kn-radius);background:rgba(209,250,229,.04);border:1px solid var(--kn-line-soft)}
.kn-step-num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--kn-gold-grad);color:#08251A;font-weight:800;margin-bottom:14px}
.kn-step h3{font-size:1rem;margin-bottom:8px}
.kn-step p{margin:0;font-size:.92rem;color:var(--kn-mint)}
/* Match cards */
.kn-match{overflow:hidden;border-radius:var(--kn-radius);border:1px solid var(--kn-line-soft);background:linear-gradient(180deg,rgba(18,63,43,.7),rgba(6,32,21,.92));transition:transform .22s ease,border-color .22s ease}
.kn-match:hover{transform:translateY(-4px);border-color:var(--kn-line)}
.kn-match-media{position:relative;aspect-ratio:16/9;overflow:hidden}
.kn-match-media img{width:100%;height:100%;object-fit:cover}
.kn-match-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,31,20,.05),rgba(5,31,20,.85))}
.kn-tag{position:absolute;left:14px;top:14px;z-index:2;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px;background:rgba(220,38,38,.92);color:#FFF}
.kn-match-body{padding:22px}
.kn-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:.82rem;color:var(--kn-muted);margin-bottom:10px}
.kn-meta span{display:inline-flex;align-items:center;gap:6px}
.kn-match-body h3{margin-bottom:10px}
.kn-match-body p{margin:0;font-size:.93rem;color:var(--kn-mint)}
/* Category rows */
.kn-cat-row{display:flex;align-items:center;gap:20px;padding:22px 24px;border-radius:var(--kn-radius);border:1px solid var(--kn-line-soft);border-left:3px solid rgba(245,158,11,.6);background:rgba(209,250,229,.03);transition:background .22s ease,transform .22s ease}
.kn-cat-row:hover{background:rgba(245,158,11,.08);transform:translateX(4px)}
.kn-cat-row .kn-cat-ico{width:46px;height:46px;flex:0 0 auto;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(245,158,11,.14);border:1px solid var(--kn-line);color:var(--kn-gold-light)}
.kn-cat-row h3{margin:0 0 4px;font-size:1.02rem}
.kn-cat-row p{margin:0;font-size:.9rem;color:var(--kn-muted)}
.kn-cat-row .kn-cat-go{margin-left:auto;color:var(--kn-gold-light);font-size:1.05rem}
/* Post list */
.kn-post{display:flex;flex-direction:column;gap:12px;padding:24px;border-radius:var(--kn-radius);border:1px solid var(--kn-line-soft);background:linear-gradient(170deg,rgba(18,63,43,.6),rgba(7,35,23,.9));transition:transform .2s ease,border-color .2s ease}
.kn-post:hover{transform:translateY(-3px);border-color:var(--kn-line)}
.kn-post-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8rem;color:var(--kn-muted)}
.kn-post-tag{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--kn-gold-light);background:rgba(245,158,11,.12);border:1px solid var(--kn-line);border-radius:999px;padding:4px 11px}
.kn-post h3{font-size:1.05rem;margin:0}
.kn-post h3 a:hover{color:var(--kn-gold-light)}
.kn-post p{margin:0;font-size:.92rem;color:var(--kn-mint)}
.kn-link{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;font-weight:700;color:var(--kn-gold-light);margin-top:auto}
.kn-link:hover{color:#FFF;gap:12px}
/* FAQ */
.kn-faq{display:grid;grid-template-columns:1fr;gap:14px}
.kn-faq-item{border:1px solid var(--kn-line-soft);border-radius:var(--kn-radius-sm);background:rgba(209,250,229,.03);overflow:hidden}
.kn-faq-item summary{list-style:none;cursor:pointer;padding:20px 22px;font-weight:700;font-size:1rem;display:flex;gap:14px;align-items:flex-start;color:var(--kn-text)}
.kn-faq-item summary::-webkit-details-marker{display:none}
.kn-faq-item summary::after{content:"\f067";font-family:"Font Awesome 6 Free";font-weight:900;margin-left:auto;color:var(--kn-gold-light);transition:transform .25s ease;font-size:.85rem;line-height:1.8}
.kn-faq-item[open] summary::after{transform:rotate(45deg)}
.kn-faq-item[open] summary{background:rgba(245,158,11,.08);color:var(--kn-gold-light)}
.kn-faq-item p{margin:0;padding:0 22px 20px 22px;color:var(--kn-mint);font-size:.95rem}
/* CTA */
.kn-cta{position:relative;overflow:hidden;border:1px solid var(--kn-line);border-radius:24px;padding:44px;background:linear-gradient(140deg,rgba(18,63,43,.95),rgba(6,30,20,.98));box-shadow:var(--kn-shadow)}
.kn-cta::before{content:"";position:absolute;right:-90px;top:-90px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.28),transparent 68%)}
.kn-cta-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.kn-cta-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kn-cta-form .kn-field-full{grid-column:1 / -1}
.kn-cta-form .kn-btn{grid-column:1 / -1}
.kn-note{font-size:.82rem;color:var(--kn-muted);margin:12px 0 0}
/* Footer */
.site-footer{background:linear-gradient(180deg,#04200F 0%,#031A0D 100%);border-top:1px solid var(--kn-line-soft);padding:58px 0 26px;margin-top:10px}
.kn-foot-brand{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.kn-foot-brand strong{font-size:1.02rem}
.kn-pay{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.kn-pay span{font-size:.76rem;font-weight:700;color:var(--kn-mint);border:1px solid var(--kn-line-soft);background:rgba(209,250,229,.05);border-radius:8px;padding:5px 11px}
.kn-foot-title{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--kn-gold-light);margin-bottom:14px}
.kn-foot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.kn-foot-list a{font-size:.92rem;color:var(--kn-mint)}
.kn-foot-list a:hover{color:var(--kn-gold-light)}
.kn-18{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:30px;border-radius:8px;border:1px solid var(--kn-line);background:rgba(220,38,38,.16);color:#FECACA;font-weight:800;font-size:.82rem;margin-top:12px}
.kn-foot-bottom{margin-top:38px;padding-top:20px;border-top:1px solid var(--kn-line-soft);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;font-size:.82rem;color:var(--kn-muted)}
/* FAB */
.kn-fab{position:fixed;left:16px;bottom:96px;z-index:1050;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 25%,#FCD34D,#F59E0B 58%,#B45309 100%);border:2px solid #FCD34D;color:#08251A;font-size:1.25rem;box-shadow:0 6px 25px rgba(245,158,11,.35);opacity:.85;animation:knFabFloat 3.4s ease-in-out infinite;transition:box-shadow .25s ease,opacity .25s ease}
.kn-fab:hover{opacity:1;animation:none;transform:scale(1.1);box-shadow:0 12px 34px rgba(245,158,11,.55);color:#08251A}
.kn-fab:hover .kn-fab-ico{transform:rotate(360deg)}
.kn-fab:active{transform:translateY(4px) scale(.95)}
.kn-fab-ico{transition:transform .6s ease}
.kn-fab-dot{position:absolute;top:1px;right:1px;width:14px;height:14px;border-radius:50%;background:#DC2626;box-shadow:0 0 0 2px #FFFFFF}
@keyframes knFabFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media (prefers-reduced-motion:reduce){
  .kn-fab{animation:none}
  *{transition:none !important}
}
/* Responsive */
@media (max-width:1199.98px){
  .kn-grid-4{grid-template-columns:repeat(2,1fr)}
  .kn-steps{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:991.98px){
  body{padding-top:70px}
  .kn-nav-inner{min-height:66px}
  .kn-nav-links{display:none}
  .kn-toggler{display:flex}
  .kn-brand-text small{display:none}
  .kn-hero{padding:44px 0 46px}
  .kn-hero-inner{grid-template-columns:1fr;gap:30px}
  .kn-grid-3{grid-template-columns:1fr 1fr}
  .kn-cta{padding:32px}
  .kn-cta-inner{grid-template-columns:1fr;gap:24px}
  .kn-section{padding:58px 0}
}
@media (max-width:767.98px){
  .kn-grid-4,.kn-grid-3,.kn-grid-2{grid-template-columns:1fr}
  .kn-steps{grid-template-columns:1fr}
  .kn-hero-cta .kn-btn{width:100%}
  .kn-cat-row{flex-direction:column;align-items:flex-start;gap:14px}
  .kn-cat-row .kn-cat-go{display:none}
  .kn-cta-form{grid-template-columns:1fr}
}
@media (max-width:520px){
  .container{padding-left:16px;padding-right:16px}
  .kn-brand-text strong{font-size:.98rem}
  .kn-btn-sm{padding:8px 13px;font-size:.8rem}
  .kn-stat{padding:20px 18px}
  .kn-cta{padding:24px}
  .kn-fab{left:12px;bottom:84px;width:54px;height:54px}
}

/* roulang page: article */
:root{
  --kn-bg:#051F14;
  --kn-bg-soft:#07271A;
  --kn-panel:#0B2E1E;
  --kn-panel-2:#123F2B;
  --kn-gold:#F59E0B;
  --kn-gold-light:#FCD34D;
  --kn-red:#DC2626;
  --kn-text:#F8FAFC;
  --kn-mint:#D1FAE5;
  --kn-muted:#A3A375;
  --kn-line:rgba(245,158,11,.22);
  --kn-line-soft:rgba(209,250,229,.10);
  --kn-radius:18px;
  --kn-radius-sm:12px;
  --kn-shadow:0 20px 44px rgba(0,0,0,.48);
  --kn-gold-grad:linear-gradient(135deg,#F59E0B 0%,#FCD34D 100%);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  padding-top:76px;
  font-family:'Be Vietnam Pro',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:16px;
  line-height:1.65;
  color:var(--kn-text);
  background:var(--kn-bg);
  background-image:radial-gradient(900px 420px at 88% -8%,rgba(245,158,11,.14),transparent 60%),radial-gradient(760px 480px at -10% 22%,rgba(16,185,129,.12),transparent 62%);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color .2s ease}
a:hover{color:var(--kn-gold-light)}
h1,h2,h3,h4{font-weight:800;letter-spacing:-.02em;line-height:1.28;margin:0 0 14px;color:#FFF}
h1{font-size:clamp(1.72rem,3.5vw,2.55rem)}
h2{font-size:clamp(1.38rem,2.5vw,1.95rem)}
h3{font-size:1.13rem}
p{margin:0 0 14px}
ul,ol{margin:0;padding:0;list-style:none}
button,input,select,textarea{font-family:inherit;font-size:1rem}
:focus-visible{outline:2px solid var(--kn-gold-light);outline-offset:2px}
.container{width:100%;max-width:1200px;margin:0 auto;padding-left:20px;padding-right:20px}
.kn-section{padding:76px 0;position:relative;scroll-margin-top:92px}
.kn-section--alt{background:linear-gradient(180deg,rgba(7,39,26,.85) 0%,rgba(5,31,20,.4) 100%);border-top:1px solid var(--kn-line-soft);border-bottom:1px solid var(--kn-line-soft)}
.kn-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--kn-gold-light);background:rgba(245,158,11,.10);border:1px solid var(--kn-line);border-radius:999px;padding:6px 14px;margin-bottom:16px}
.kn-lead{color:var(--kn-mint);font-size:1.03rem}
.kn-muted{color:var(--kn-muted);font-size:.94rem}
.kn-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(245,158,11,.45),transparent);border:0;margin:34px 0}
.kn-sec-head{max-width:760px;margin-bottom:38px}
.kn-sec-head.left{text-align:left}
/* ---------- Buttons ---------- */
.kn-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:12px 24px;font-weight:700;font-size:.95rem;line-height:1.2;border:1px solid transparent;cursor:pointer;transition:transform .18s ease,box-shadow .25s ease,background .25s ease,color .2s ease,border-color .25s ease;white-space:nowrap}
.kn-btn i{font-size:.95em}
.kn-btn:active{transform:translateY(1px) scale(.99)}
.kn-btn-gold{background:var(--kn-gold-grad);color:#08251A;box-shadow:0 10px 26px rgba(245,158,11,.28)}
.kn-btn-gold:hover{color:#08251A;transform:translateY(-2px);box-shadow:0 16px 34px rgba(245,158,11,.42)}
.kn-btn-ghost{background:transparent;border-color:rgba(245,158,11,.5);color:var(--kn-gold-light)}
.kn-btn-ghost:hover{background:rgba(245,158,11,.14);color:#FFF;transform:translateY(-2px)}
.kn-btn-soft{background:rgba(209,250,229,.08);border-color:var(--kn-line-soft);color:var(--kn-mint)}
.kn-btn-soft:hover{background:rgba(209,250,229,.14);color:#FFF}
.kn-btn-sm{padding:9px 18px;font-size:.86rem}
/* ---------- Header ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1030;background:rgba(4,22,15,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--kn-line-soft)}
.kn-nav-inner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-height:74px;padding:10px 0}
.kn-brand{display:flex;align-items:center;gap:11px;flex:0 0 auto;margin-right:auto}
.kn-brand-mark{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:var(--kn-gold-grad);color:#08251A;box-shadow:0 8px 20px rgba(245,158,11,.3)}
.kn-brand-text{display:flex;flex-direction:column;line-height:1.1}
.kn-brand-text strong{font-size:1.06rem;font-weight:800;letter-spacing:-.02em;color:#FFF}
.kn-brand-text small{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--kn-gold-light)}
.kn-nav-links{display:flex;align-items:center;gap:4px;flex:1 1 auto;justify-content:center;margin:0}
.kn-nav-links .nav-item{list-style:none}
.kn-nav-links a{display:block;padding:9px 13px;border-radius:999px;font-size:.9rem;font-weight:600;color:var(--kn-mint);border:1px solid transparent;transition:background .2s,color .2s,border-color .2s}
.kn-nav-links a:hover{background:rgba(245,158,11,.12);color:#FFF}
.kn-nav-links a.active{background:rgba(245,158,11,.16);border-color:var(--kn-line);color:var(--kn-gold-light)}
.kn-nav-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.kn-toggler{display:none;width:44px;height:40px;border-radius:12px;background:rgba(209,250,229,.06);border:1px solid var(--kn-line-soft);padding:0;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:4px}
.kn-toggler span{display:block;width:18px;height:2px;background:var(--kn-mint);border-radius:2px}
/* ---------- Hero article ---------- */
.kn-ahero{position:relative;overflow:hidden;border-bottom:1px solid var(--kn-line-soft);padding:54px 0 58px}
.kn-ahero-media{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.30;transform:scale(1.02)}
.kn-ahero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,31,20,.74) 0%,rgba(5,31,20,.94) 62%,#051F14 100%)}
.kn-ahero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:44px;align-items:start}
.kn-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;color:var(--kn-muted);margin-bottom:18px}
.kn-crumb a:hover{color:var(--kn-gold-light)}
.kn-crumb i{font-size:.6rem;color:var(--kn-gold)}
.kn-ahero h1{margin-bottom:16px}
.kn-ahero h1 .kn-hl{background:var(--kn-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kn-ahero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.kn-ahero-lead{font-size:1.04rem;color:var(--kn-mint);max-width:660px}
.kn-slot-panel{background:linear-gradient(160deg,rgba(18,63,43,.94),rgba(7,35,23,.96));border:1px solid var(--kn-line);border-radius:var(--kn-radius);padding:26px;box-shadow:var(--kn-shadow)}
.kn-slot-panel h2{font-size:1.14rem;margin-bottom:6px}
.kn-slot-list{margin:18px 0 20px;display:flex;flex-direction:column;gap:10px}
.kn-slot-list li{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:var(--kn-radius-sm);background:rgba(5,31,20,.68);border:1px solid var(--kn-line-soft);transition:border-color .2s,transform .2s}
.kn-slot-list li:hover{border-color:var(--kn-line);transform:translateX(3px)}
.kn-slot-time{flex:0 0 auto;font-size:.82rem;font-weight:700;color:#08251A;background:var(--kn-gold-grad);border-radius:8px;padding:3px 9px;min-width:56px;text-align:center}
.kn-slot-list li span.kn-slot-label{font-size:.9rem;color:var(--kn-mint)}
/* ---------- Article body ---------- */
.kn-article-wrap{display:grid;grid-template-columns:minmax(0,1fr) 306px;gap:44px;align-items:start}
.kn-article-body{max-width:none;font-size:1.02rem;color:#E4F1E9}
.kn-article-body>p:first-of-type{font-size:1.08rem;color:var(--kn-mint)}
.kn-article-body h2{margin:38px 0 16px;font-size:clamp(1.3rem,2.1vw,1.6rem);padding-left:14px;border-left:3px solid var(--kn-gold)}
.kn-article-body h3{margin:26px 0 12px;font-size:1.12rem;color:var(--kn-gold-light);letter-spacing:0}
.kn-article-body h4{margin:22px 0 10px;font-size:1.02rem}
.kn-article-body p{margin-bottom:16px;line-height:1.7}
.kn-article-body strong{color:#FFF}
.kn-article-body ul,.kn-article-body ol{margin:0 0 18px;padding:0}
.kn-article-body ul li{position:relative;padding-left:24px;margin-bottom:10px;color:#E4F1E9}
.kn-article-body ul li::before{content:"";position:absolute;left:2px;top:11px;width:8px;height:8px;border-radius:2px;background:var(--kn-gold-grad)}
.kn-article-body ol{counter-reset:knli}
.kn-article-body ol li{position:relative;padding-left:30px;margin-bottom:10px;counter-increment:knli}
.kn-article-body ol li::before{content:counter(knli);position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:6px;background:rgba(245,158,11,.16);color:var(--kn-gold-light);font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.kn-article-body a{color:var(--kn-gold-light);text-decoration:underline;text-underline-offset:3px}
.kn-article-body img{border-radius:var(--kn-radius-sm);border:1px solid var(--kn-line-soft);margin:20px 0}
.kn-article-body blockquote{margin:24px 0;padding:16px 20px;border-left:3px solid var(--kn-gold);background:rgba(245,158,11,.07);border-radius:0 var(--kn-radius-sm) var(--kn-radius-sm) 0;color:var(--kn-mint);font-style:normal}
.kn-article-body table{width:100%;border-collapse:collapse;margin:20px 0;font-size:.95rem}
.kn-article-body th,.kn-article-body td{border:1px solid var(--kn-line-soft);padding:10px 12px;text-align:left}
.kn-article-body th{background:rgba(245,158,11,.10);color:#FFF}
.kn-empty{background:var(--kn-panel);border:1px solid var(--kn-line);border-radius:var(--kn-radius);padding:34px 28px;text-align:left}
.kn-empty h2{font-size:1.3rem;margin-bottom:10px}
.kn-side-card{background:linear-gradient(170deg,rgba(18,63,43,.9),rgba(7,35,23,.96));border:1px solid var(--kn-line);border-radius:var(--kn-radius);padding:22px;margin-bottom:18px}
.kn-side-card h3{font-size:1rem;margin-bottom:12px;color:#FFF}
.kn-side-list li{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--kn-mint);padding:8px 0;border-bottom:1px dashed var(--kn-line-soft)}
.kn-side-list li:last-child{border-bottom:0}
.kn-side-list i{color:var(--kn-gold-light);margin-top:4px;font-size:.8rem}
.kn-side-cta{margin-top:6px}
.kn-tag{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:5px 12px;border:1px solid var(--kn-line);color:var(--kn-gold-light);background:rgba(245,158,11,.10)}
.kn-tag-red{border-color:rgba(220,38,38,.5);background:rgba(220,38,38,.14);color:#FCA5A5}
/* ---------- Stats ---------- */
.kn-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.kn-stat{background:linear-gradient(165deg,rgba(18,63,43,.85),rgba(7,35,23,.95));border:1px solid var(--kn-line);border-radius:var(--kn-radius);padding:22px;position:relative;overflow:hidden;transition:transform .22s ease,border-color .22s ease}
.kn-stat:hover{transform:translateY(-4px);border-color:rgba(245,158,11,.5)}
.kn-stat i{color:var(--kn-gold-light);font-size:1.1rem}
.kn-stat-num{font-size:clamp(1.45rem,2.6vw,1.95rem);font-weight:800;color:#FFF;margin:10px 0 3px;letter-spacing:-.02em}
.kn-stat-label{font-size:.86rem;color:var(--kn-mint)}
.kn-stat-foot{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--kn-muted);margin-top:12px}
/* ---------- Layers ---------- */
.kn-layers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.kn-layer{padding:26px 22px;border-radius:var(--kn-radius);border:1px solid var(--kn-line-soft);background:rgba(11,46,30,.72);transition:border-color .22s,transform .22s}
.kn-layer:hover{border-color:var(--kn-line);transform:translateY(-4px)}
.kn-layer-ico{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(245,158,11,.12);border:1px solid var(--kn-line);color:var(--kn-gold-light);font-size:1.05rem;margin-bottom:16px}
.kn-layer p{color:var(--kn-mint);font-size:.96rem;margin-bottom:0}
/* ---------- Compare ---------- */
.kn-compare{border:1px solid var(--kn-line-soft);border-radius:var(--kn-radius);overflow:hidden;background:rgba(7,39,26,.6)}
.kn-compare-head,.kn-compare-row{display:grid;grid-template-columns:1.05fr 2fr 1fr;gap:16px;padding:16px 22px;align-items:center}
.kn-compare-head{background:rgba(245,158,11,.12);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--kn-gold-light);font-weight:700}
.kn-compare-row{border-top:1px solid var(--kn-line-soft);transition:background .2s}
.kn-compare-row:hover{background:rgba(245,158,11,.05)}
.kn-compare-name{display:flex;align-items:center;gap:10px;font-weight:700;color:#FFF}
.kn-compare-name i{color:var(--kn-gold-light)}
.kn-compare-row p{margin:0;color:var(--kn-mint);font-size:.94rem}
.kn-compare-time{font-size:.86rem;color:var(--kn-gold-light);font-weight:600}
/* ---------- Timeline ---------- */
.kn-timeline{position:relative;padding-left:26px;border-left:1px solid var(--kn-line)}
.kn-timeline li{position:relative;padding:0 0 26px 22px}
.kn-timeline li:last-child{padding-bottom:0}
.kn-timeline li::before{content:"";position:absolute;left:-33px;top:6px;width:13px;height:13px;border-radius:50%;background:var(--kn-gold-grad);box-shadow:0 0 0 4px rgba(245,158,11,.14)}
.kn-tl-time{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.08em;color:var(--kn-gold-light);margin-bottom:6px}
.kn-timeline h3{font-size:1.02rem;margin-bottom:6px}
.kn-timeline p{margin:0;color:var(--kn-mint);font-size:.94rem;max-width:720px}
/* ---------- Category cards ---------- */
.kn-cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.kn-cat-card{display:flex;flex-direction:column;border:1px solid var(--kn-line);border-radius:var(--kn-radius);overflow:hidden;background:rgba(11,46,30,.78);transition:transform .22s ease,box-shadow .25s ease,border-color .22s}
.kn-cat-card:hover{transform:translateY(-5px);box-shadow:var(--kn-shadow);border-color:rgba(245,158,11,.5)}
.kn-cat-media{position:relative;aspect-ratio:16/9;overflow:hidden}
.kn-cat-media img{width:100%;height:100%;object-fit:cover}
.kn-cat-media .kn-tag{position:absolute;top:12px;left:12px}
.kn-cat-body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.kn-cat-body h3{margin:0;font-size:1.06rem}
.kn-cat-body p{margin:0;color:var(--kn-mint);font-size:.93rem;flex:1}
.kn-cat-link{font-size:.88rem;font-weight:700;color:var(--kn-gold-light);display:inline-flex;align-items:center;gap:8px}
.kn-cat-link i{transition:transform .2s ease}
.kn-cat-card:hover .kn-cat-link i{transform:translateX(4px)}
/* ---------- Assurance ---------- */
.kn-assure{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 30px}
.kn-assure-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--kn-line-soft)}
.kn-assure-item i{color:var(--kn-gold-light);font-size:1.15rem;margin-top:3px}
.kn-assure-item h3{font-size:1rem;margin-bottom:6px}
.kn-assure-item p{margin:0;color:var(--kn-mint);font-size:.93rem}
/* ---------- FAQ ---------- */
.kn-faq{display:flex;flex-direction:column;gap:12px}
.kn-faq-item{background:rgba(11,46,30,.7);border:1px solid var(--kn-line-soft);border-radius:var(--kn-radius-sm);padding:0;transition:border-color .2s}
.kn-faq-item[open]{border-color:var(--kn-line);background:rgba(18,63,43,.72)}
.kn-faq-item summary{list-style:none;cursor:pointer;padding:17px 20px;font-weight:700;color:#FFF;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:.98rem}
.kn-faq-item summary::-webkit-details-marker{display:none}
.kn-faq-item summary i{color:var(--kn-gold-light);transition:transform .25s ease;flex:0 0 auto}
.kn-faq-item[open] summary i{transform:rotate(180deg)}
.kn-faq-body{padding:0 20px 18px;color:var(--kn-mint);font-size:.95rem}
/* ---------- CTA ---------- */
.kn-cta{background:linear-gradient(140deg,rgba(18,63,43,.95),rgba(5,31,20,.98));border:1px solid var(--kn-line);border-radius:var(--kn-radius);padding:34px;box-shadow:var(--kn-shadow);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:36px;align-items:start}
.kn-cta h2{font-size:clamp(1.3rem,2.2vw,1.7rem)}
.kn-cta-points{margin-top:18px;display:flex;flex-direction:column;gap:10px}
.kn-cta-points li{display:flex;gap:11px;align-items:flex-start;color:var(--kn-mint);font-size:.94rem}
.kn-cta-points i{color:var(--kn-gold-light);margin-top:4px;font-size:.85rem}
.kn-form{display:flex;flex-direction:column;gap:12px}
.kn-field label{display:block;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--kn-muted);margin-bottom:6px;font-weight:700}
.kn-input{width:100%;background:rgba(5,31,20,.85);border:1px solid var(--kn-line-soft);border-radius:12px;padding:12px 15px;color:var(--kn-text);transition:border-color .2s,box-shadow .2s;appearance:none}
.kn-input::placeholder{color:#7d8a80}
.kn-input:focus{outline:none;border-color:rgba(245,158,11,.6);box-shadow:0 0 0 3px rgba(245,158,11,.14)}
select.kn-input{background-image:linear-gradient(45deg,transparent 50%,var(--kn-gold-light) 50%),linear-gradient(135deg,var(--kn-gold-light) 50%,transparent 50%);background-position:calc(100% - 20px) calc(50% - 2px),calc(100% - 14px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.kn-form-note{font-size:.82rem;color:var(--kn-muted);margin:0}
.kn-msg{font-size:.9rem;color:var(--kn-gold-light);margin:0;min-height:20px}
/* ---------- Footer ---------- */
.site-footer{border-top:1px solid var(--kn-line-soft);background:linear-gradient(180deg,rgba(4,22,15,.6),rgba(3,17,11,.98));padding:58px 0 26px;margin-top:20px}
.kn-foot-brand{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.kn-foot-brand strong{font-size:1.02rem;color:#FFF}
.kn-foot-title{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--kn-gold-light);margin-bottom:14px}
.kn-foot-list li{margin-bottom:9px}
.kn-foot-list a{font-size:.92rem;color:var(--kn-mint)}
.kn-foot-list a:hover{color:var(--kn-gold-light)}
.kn-pay{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.kn-pay span{font-size:.76rem;font-weight:600;color:var(--kn-mint);border:1px solid var(--kn-line-soft);border-radius:999px;padding:5px 12px;background:rgba(209,250,229,.05)}
.kn-18{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--kn-line);color:var(--kn-gold-light);font-weight:800;margin-top:12px}
.kn-foot-bottom{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;border-top:1px solid var(--kn-line-soft);margin-top:38px;padding-top:20px;font-size:.84rem;color:var(--kn-muted)}
/* ---------- FAB ---------- */
.kn-fab{position:fixed;left:16px;bottom:96px;z-index:1050;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 32% 28%,#1B4B33 0%,#08251A 72%);border:2px solid var(--kn-gold);color:var(--kn-gold-light);font-size:1.2rem;box-shadow:0 6px 25px rgba(245,158,11,.35);opacity:.82;animation:knFloat 3.6s ease-in-out infinite;transition:transform .25s ease,opacity .25s ease}
.kn-fab:hover{opacity:1;transform:scale(1.1);color:var(--kn-gold-light)}
.kn-fab:active{transform:translateY(4px) scale(.95)}
.kn-fab i{transition:transform .5s ease}
.kn-fab:hover i{transform:rotate(360deg)}
.kn-fab-gem{position:absolute;top:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:#DC2626;box-shadow:0 0 0 2px #FFF}
@keyframes knFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .kn-article-wrap{grid-template-columns:1fr;gap:34px}
  .kn-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:991px){
  body{padding-top:70px}
  .kn-nav-inner{min-height:68px}
  .kn-nav-links{flex-basis:100%;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;margin-top:10px;padding-top:10px;border-top:1px solid var(--kn-line-soft)}
  .kn-nav-links a{padding:11px 14px;font-size:.95rem}
  .kn-nav-actions{margin-left:auto}
  .kn-toggler{display:none}
  .kn-ahero-inner{grid-template-columns:1fr;gap:30px}
  .kn-layer{transform:none}
  .kn-layers,.kn-cats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kn-cta{grid-template-columns:1fr;padding:28px}
  .kn-assure{grid-template-columns:1fr}
}
@media (max-width:767px){
  .kn-section{padding:56px 0}
  .kn-ahero{padding:36px 0 44px}
  .kn-layers,.kn-cats{grid-template-columns:1fr}
  .kn-stats{grid-template-columns:1fr}
  .kn-compare-head{display:none}
  .kn-compare-row{grid-template-columns:1fr;gap:8px;padding:18px}
  .kn-compare-name{font-size:1rem}
  .kn-fab{bottom:88px;width:52px;height:52px;font-size:1.08rem}
  .kn-foot-bottom{flex-direction:column}
  .kn-brand-text small{display:none}
}
@media (max-width:520px){
  .container{padding-left:16px;padding-right:16px}
  h1{font-size:1.58rem}
  .kn-btn{padding:11px 18px;font-size:.9rem}
  .kn-nav-actions .kn-btn{padding:9px 14px;font-size:.82rem}
  .kn-cta{padding:22px}
  .kn-slots{padding:0}
}

/* roulang page: category2 */
:root{
  --kn-bg:#051F14;
  --kn-bg-soft:#07271A;
  --kn-panel:#0B2E1E;
  --kn-panel-2:#123F2B;
  --kn-gold:#F59E0B;
  --kn-gold-light:#FCD34D;
  --kn-red:#DC2626;
  --kn-text:#F8FAFC;
  --kn-mint:#D1FAE5;
  --kn-muted:#A3A375;
  --kn-line:rgba(245,158,11,.22);
  --kn-line-soft:rgba(209,250,229,.10);
  --kn-radius:18px;
  --kn-radius-sm:12px;
  --kn-shadow:0 20px 44px rgba(0,0,0,.48);
  --kn-gold-grad:linear-gradient(135deg,#F59E0B 0%,#FCD34D 100%);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  padding-top:76px;
  font-family:'Be Vietnam Pro',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:16px;
  line-height:1.65;
  color:var(--kn-text);
  background:var(--kn-bg);
  background-image:radial-gradient(900px 420px at 88% -8%,rgba(245,158,11,.14),transparent 60%),radial-gradient(760px 480px at -10% 22%,rgba(16,185,129,.12),transparent 62%);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color .2s ease}
a:hover{color:var(--kn-gold-light)}
button,input,select,textarea{font-family:inherit;font-size:1rem}
h1,h2,h3,h4{margin:0 0 12px;line-height:1.25;font-weight:800;letter-spacing:-.015em;color:#fff}
h1{font-size:clamp(1.85rem,4.1vw,2.85rem)}
h2{font-size:clamp(1.45rem,2.7vw,2.05rem)}
h3{font-size:1.08rem;font-weight:700}
p{margin:0 0 14px}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--kn-gold-light);outline-offset:3px;border-radius:6px}
.container{width:100%;max-width:1200px;margin:0 auto;padding-left:20px;padding-right:20px}

/* Buttons */
.kn-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:12px 24px;font-weight:700;font-size:.95rem;line-height:1.2;border:1px solid transparent;cursor:pointer;transition:transform .18s ease,box-shadow .25s ease,background .25s ease,color .2s ease,border-color .25s ease;white-space:nowrap}
.kn-btn:active{transform:translateY(1px) scale(.99)}
.kn-btn-gold{background:var(--kn-gold-grad);color:#08251A;box-shadow:0 10px 26px rgba(245,158,11,.28)}
.kn-btn-gold:hover{color:#08251A;transform:translateY(-2px);box-shadow:0 16px 34px rgba(245,158,11,.42)}
.kn-btn-ghost{background:transparent;border-color:rgba(245,158,11,.5);color:var(--kn-gold-light)}
.kn-btn-ghost:hover{background:rgba(245,158,11,.14);color:#fff;transform:translateY(-2px)}
.kn-btn-soft{background:rgba(209,250,229,.08);border-color:var(--kn-line-soft);color:var(--kn-mint)}
.kn-btn-soft:hover{background:rgba(209,250,229,.14);color:#fff}
.kn-btn-sm{padding:9px 18px;font-size:.86rem}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1030;background:rgba(4,22,15,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--kn-line-soft)}
.kn-nav-inner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-height:74px;padding:10px 0}
.kn-brand{display:flex;align-items:center;gap:11px;flex:0 0 auto;margin-right:auto}
.kn-brand-mark{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:var(--kn-gold-grad);color:#08251A;box-shadow:0 8px 20px rgba(245,158,11,.3)}
.kn-brand-text{display:flex;flex-direction:column;line-height:1.1}
.kn-brand-text strong{font-size:1.06rem;font-weight:800;letter-spacing:-.02em;color:#fff}
.kn-brand-text small{display:none;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--kn-gold-light)}
.kn-nav-links{display:flex;align-items:center;gap:4px;flex:1 1 auto;justify-content:center;margin:0}
.kn-nav-links .nav-item{list-style:none}
.kn-nav-links a{display:block;padding:9px 13px;border-radius:999px;font-size:.9rem;font-weight:600;color:var(--kn-mint);border:1px solid transparent;transition:background .2s,color .2s,border-color .2s}
.kn-nav-links a:hover{background:rgba(245,158,11,.12);color:#fff}
.kn-nav-links a.active{background:rgba(245,158,11,.16);border-color:var(--kn-line);color:var(--kn-gold-light)}
.kn-nav-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.kn-toggler{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--kn-line);background:rgba(245,158,11,.08);flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;padding:0}
.kn-toggler span{display:block;width:20px;height:2px;border-radius:2px;background:var(--kn-gold-light)}

/* Hero */
.kn-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--kn-line-soft);padding:70px 0 60px;text-align:center}
.kn-hero-media{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.3;transform:scale(1.03)}
.kn-hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,31,20,.7) 0%,rgba(5,31,20,.93) 58%,#051F14 100%)}
.kn-hero-inner{position:relative;z-index:2}
.kn-hero-title{max-width:900px;margin:0 auto 16px}
.kn-hero-title .kn-hl{background:var(--kn-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kn-hero-lead{font-size:1.04rem;color:var(--kn-mint);max-width:720px;margin:0 auto 8px}
.kn-search{display:flex;gap:10px;max-width:660px;margin:26px auto 0;background:rgba(4,22,15,.75);border:1px solid var(--kn-line);border-radius:999px;padding:8px 8px 8px 20px;box-shadow:var(--kn-shadow)}
.kn-search i{color:var(--kn-gold-light);align-self:center;font-size:.95rem}
.kn-search input{flex:1 1 auto;background:transparent;border:0;color:var(--kn-text);padding:10px 4px;min-width:0}
.kn-search input::placeholder{color:#7d8a80}
.kn-search input:focus{outline:none}
.kn-chips{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-top:20px}
.kn-chip{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;color:var(--kn-mint);background:rgba(209,250,229,.07);border:1px solid var(--kn-line-soft);border-radius:999px;padding:7px 14px;transition:background .2s,border-color .2s,color .2s,transform .2s}
.kn-chip i{color:var(--kn-gold-light)}
.kn-chip:hover{background:rgba(245,158,11,.14);border-color:var(--kn-line);color:#fff;transform:translateY(-1px)}
.kn-hero-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:38px;text-align:left}
.kn-strip-item{background:rgba(11,46,30,.72);border:1px solid var(--kn-line-soft);border-radius:var(--kn-radius-sm);padding:16px 18px}
.kn-strip-item strong{display:block;font-size:1.32rem;font-weight:800;color:var(--kn-gold-light)}
.kn-strip-item span{font-size:.82rem;color:var(--kn-muted)}

/* Sections */
.kn-section{padding:76px 0;position:relative;scroll-margin-top:92px}
.kn-section--alt{background:linear-gradient(180deg,rgba(7,39,26,.85) 0%,rgba(5,31,20,.4) 100%);border-top:1px solid var(--kn-line-soft);border-bottom:1px solid var(--kn-line-soft)}
.kn-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--kn-gold-light);background:rgba(245,158,11,.10);border:1px solid var(--kn-line);border-radius:999px;padding:6px 14px;margin-bottom:16px}
.kn-head{max-width:760px;margin-bottom:36px}
.kn-head--center{margin-left:auto;margin-right:auto;text-align:center}
.kn-lead{color:var(--kn-mint);font-size:1.03rem}
.kn-muted{color:var(--kn-muted);font-size:.94rem}
.kn-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(245,158,11,.45),transparent);border:0;margin:34px 0}

/* Metrics */
.kn-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.kn-metric{position:relative;background:linear-gradient(165deg,rgba(18,63,43,.9),rgba(7,35,23,.95));border:1px solid var(--kn-line);border-radius:var(--kn-radius);padding:24px 22px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.kn-metric:hover{transform:translateY(-4px);box-shadow:var(--kn-shadow);border-color:rgba(245,158,11,.42)}
.kn-metric i{color:var(--kn-gold-light);font-size:1.15rem}
.kn-metric strong{display:block;font-size:1.85rem;font-weight:800;margin:10px 0 4px;background:var(--kn-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kn-metric h3{font-size:.98rem;margin-bottom:6px}
.kn-metric p{margin:0;font-size:.88rem;color:var(--kn-muted)}

/* Split block */
.kn-split{display:grid;grid-template-columns:1.02fr .98fr;gap:44px;align-items:center}
.kn-split-media{border:1px solid var(--kn-line);border-radius:var(--kn-radius);overflow:hidden;box-shadow:var(--kn-shadow)}
.kn-split-media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.kn-list-num{counter-reset:kn;display:grid;gap:16px;margin-top:22px}
.kn-list-num li{counter-increment:kn;display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start;background:rgba(11,46,30,.6);border:1px solid var(--kn-line-soft);border-radius:var(--kn-radius-sm);padding:16px 18px;transition:border-color .2s,background .2s}
.kn-list-num li:hover{border-color:var(--kn-line);background:rgba(18,63,43,.72)}
.kn-list-num li::before{content:counter(kn);grid-row:1;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#08251A;background:var(--kn-gold-grad)}
.kn-list-num h3{margin-bottom:4px}
.kn-list-num p{margin:0;font-size:.9rem;color:var(--kn-muted)}

/* Cards */
.kn-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.kn-card{background:linear-gradient(170deg,rgba(18,63,43,.82),rgba(7,35,23,.94));border:1px solid var(--kn-line-soft);border-radius:var(--kn-radius);padding:24px;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.kn-card:hover{transform:translateY(-4px);border-color:var(--kn-line);box-shadow:var(--kn-shadow)}
.kn-card i{color:var(--kn-gold-light);font-size:1.2rem}
.kn-card h3{margin:14px 0 8px}
.kn-card p{margin:0;font-size:.92rem;color:var(--kn-muted)}
.kn-tag{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--kn-red);border-radius:999px;padding:4px 10px;margin-bottom:12px}
.kn-tag--gold{background:rgba(245,158,11,.16);color:var(--kn-gold-light);border:1px solid var(--kn-line)}

/* Timeline */
.kn-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative}
.kn-step{background:rgba(11,46,30,.7);border:1px solid var(--kn-line-soft);border-radius:var(--kn-radius);padding:22px 20px;position:relative;transition:border-color .2s,transform .25s}
.kn-step:hover{border-color:var(--kn-line);transform:translateY(-3px)}
.kn-step-time{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--kn-gold-light);background:rgba(245,158,11,.12);border:1px solid var(--kn-line);border-radius:999px;padding:5px 12px;margin-bottom:12px}
.kn-step h3{font-size:1rem}
.kn-step p{margin:0;font-size:.88rem;color:var(--kn-muted)}

/* Compare */
.kn-compare{border:1px solid var(--kn-line-soft);border-radius:var(--kn-radius);overflow:hidden;background:rgba(7,35,23,.6)}
.kn-compare-head,.kn-compare-row{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:1px}
.kn-compare-head{background:rgba(18,63,43,.85)}
.kn-compare-head span{padding:16px 18px;font-weight:700;font-size:.86rem;letter-spacing:.04em}
.kn-compare-head span:nth-child(3){color:var(--kn-gold-light)}
.kn-compare-row{border-top:1px solid var(--kn-line-soft)}
.kn-compare-row > div{padding:16px 18px;font-size:.92rem;color:var(--kn-mint)}
.kn-compare-row > div:first-child{color:#fff;font-weight:600}
.kn-compare-row > div:last-child{background:rgba(245,158,11,.06)}
.kn-compare-row i{color:var(--kn-muted);margin-right:7px}
.kn-compare-row .kn-yes i{color:#34D399}

/* News */
.kn-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.kn-news-card{display:flex;flex-direction:column;background:rgba(11,46,30,.66);border:1px solid var(--kn-line-soft);border-radius:var(--kn-radius);padding:22px;transition:transform .25s,border-color .25s,box-shadow .25s}
.kn-news-card:hover{transform:translateY(-4px);border-color:var(--kn-line);box-shadow:var(--kn-shadow)}
.kn-news-title{font-size:1.02rem;margin-bottom:10px}
.kn-news-title a{color:#fff}
.kn-news-title a:hover{color:var(--kn-gold-light)}
.kn-news-excerpt{font-size:.9rem;color:var(--kn-muted);margin-bottom:16px}
.kn-news-meta{margin-top:auto;display:flex;flex-wrap:wrap;gap:10px;font-size:.78rem;color:var(--kn-gold-light);border-top:1px solid var(--kn-line-soft);padding-top:12px}
.kn-news-meta span{display:inline-flex;align-items:center;gap:6px}

/* Assurance */
.kn-assure{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.kn-assure-item{display:grid;grid-template-columns:48px 1fr;gap:16px;align-items:start;background:rgba(11,46,30,.6);border:1px solid var(--kn-line-soft);border-radius:var(--kn-radius-sm);padding:20px}
.kn-assure-item span.kn-ico{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(245,158,11,.12);border:1px solid var(--kn-line);color:var(--kn-gold-light)}
.kn-assure-item h3{font-size:1rem;margin-bottom:6px}
.kn-assure-item p{margin:0;font-size:.88rem;color:var(--kn-muted)}

/* FAQ */
.kn-accordion .accordion-item{background:rgba(11,46,30,.62);border:1px solid var(--kn-line-soft);border-radius:var(--kn-radius-sm)!important;margin-bottom:12px;overflow:hidden}
.kn-accordion .accordion-button{background:transparent;color:#fff;font-weight:700;font-size:.98rem;padding:18px 20px;box-shadow:none}
.kn-accordion .accordion-button:not(.collapsed){color:var(--kn-gold-light);background:rgba(245,158,11,.07)}
.kn-accordion .accordion-button::after{filter:invert(78%) sepia(58%) saturate(720%) hue-rotate(340deg) brightness(102%)}
.kn-accordion .accordion-button:focus{box-shadow:none;border-color:transparent}
.kn-accordion .accordion-body{color:var(--kn-mint);font-size:.93rem;padding:4px 20px 20px}

/* CTA */
.kn-cta{background:linear-gradient(150deg,rgba(18,63,43,.95),rgba(5,31,20,.98));border:1px solid var(--kn-line);border-radius:var(--kn-radius);padding:40px;box-shadow:var(--kn-shadow);display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
.kn-cta-form{display:grid;gap:12px}
.kn-input{width:100%;background:rgba(5,31,20,.85);border:1px solid var(--kn-line-soft);border-radius:12px;padding:12px 15px;color:var(--kn-text);transition:border-color .2s,box-shadow .2s}
.kn-input::placeholder{color:#7d8a80}
.kn-input:focus{outline:none;border-color:rgba(245,158,11,.6);box-shadow:0 0 0 3px rgba(245,158,11,.14)}
.kn-note{font-size:.8rem;color:var(--kn-muted);margin:4px 0 0}

/* Footer */
.site-footer{background:linear-gradient(180deg,rgba(4,22,15,.6),#041610);border-top:1px solid var(--kn-line-soft);padding:60px 0 26px;margin-top:20px}
.kn-foot-brand{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.kn-foot-brand strong{font-size:1.02rem;color:#fff}
.kn-foot-title{font-size:.86rem;letter-spacing:.12em;text-transform:uppercase;color:var(--kn-gold-light);margin-bottom:14px}
.kn-foot-list li{margin-bottom:9px}
.kn-foot-list a{font-size:.92rem;color:var(--kn-mint)}
.kn-foot-list a:hover{color:var(--kn-gold-light)}
.kn-pay{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.kn-pay span{font-size:.76rem;font-weight:600;color:var(--kn-mint);background:rgba(209,250,229,.07);border:1px solid var(--kn-line-soft);border-radius:999px;padding:5px 12px}
.kn-18{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--kn-line);color:var(--kn-gold-light);font-weight:800;font-size:.85rem;margin-top:8px}
.kn-foot-bottom{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;border-top:1px solid var(--kn-line-soft);margin-top:40px;padding-top:20px;font-size:.82rem;color:var(--kn-muted)}

/* FAB */
.kn-fab{position:fixed;left:16px;bottom:96px;z-index:1050;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 32% 26%,#1B4B33,#0B2E1E 72%);border:2px solid var(--kn-gold);color:var(--kn-gold-light);font-size:1.3rem;opacity:.86;box-shadow:0 6px 25px rgba(245,158,11,.35);animation:knFloat 3.6s ease-in-out infinite;transition:transform .25s,opacity .25s,box-shadow .25s}
.kn-fab:hover{opacity:1;transform:scale(1.09);color:var(--kn-gold-light);box-shadow:0 12px 34px rgba(245,158,11,.5)}
.kn-fab:active{transform:scale(.95) translateY(2px)}
.kn-fab-badge{position:absolute;top:-3px;right:-3px;width:14px;height:14px;border-radius:50%;background:var(--kn-red);box-shadow:0 0 0 2px #fff}
@keyframes knFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

/* Responsive */
@media (max-width:1199.98px){
  .kn-metrics{grid-template-columns:repeat(2,1fr)}
  .kn-grid-3{grid-template-columns:repeat(2,1fr)}
  .kn-news-grid{grid-template-columns:repeat(2,1fr)}
  .kn-steps{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:991.98px){
  body{padding-top:70px}
  .kn-toggler{display:flex}
  .kn-nav-links{display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;flex-basis:100%;order:6;width:100%;margin-top:6px;padding-top:12px;border-top:1px solid var(--kn-line-soft)}
  .kn-nav-inner.kn-open .kn-nav-links{display:flex}
  .kn-nav-links a{padding:11px 14px;font-size:.95rem}
  .kn-split{grid-template-columns:1fr;gap:30px}
  .kn-split-media{order:-1}
  .kn-cta{grid-template-columns:1fr;padding:30px}
  .kn-assure{grid-template-columns:1fr}
  .kn-hero-strip{grid-template-columns:repeat(2,1fr)}
  .kn-compare-head,.kn-compare-row{grid-template-columns:1fr}
  .kn-compare-head span:nth-child(1){display:none}
  .kn-compare-row > div{padding:12px 18px}
  .kn-compare-row > div:first-child{background:rgba(245,158,11,.08);font-size:.86rem;letter-spacing:.04em;text-transform:uppercase}
}
@media (max-width:575.98px){
  .kn-section{padding:56px 0}
  .kn-metrics{grid-template-columns:1fr}
  .kn-grid-3{grid-template-columns:1fr}
  .kn-news-grid{grid-template-columns:1fr}
  .kn-steps{grid-template-columns:1fr}
  .kn-hero-strip{grid-template-columns:1fr}
  .kn-search{flex-direction:column;border-radius:20px;padding:14px}
  .kn-search i{display:none}
  .kn-search input{padding:10px 6px;text-align:center}
  .kn-search .kn-btn{width:100%}
  .kn-brand-text strong{font-size:.96rem}
  .kn-brand-mark{width:38px;height:38px;border-radius:12px}
  .kn-btn-sm{padding:7px 13px;font-size:.78rem}
  .kn-nav-actions{gap:6px}
  .kn-cta{padding:24px}
  .kn-foot-bottom{flex-direction:column}
  .kn-fab{left:12px;bottom:84px;width:54px;height:54px}
}

/* roulang page: category3 */
:root{
  --kn-bg:#051F14;
  --kn-bg-soft:#07271A;
  --kn-panel:#0B2E1E;
  --kn-panel-2:#123F2B;
  --kn-gold:#F59E0B;
  --kn-gold-light:#FCD34D;
  --kn-red:#DC2626;
  --kn-text:#F8FAFC;
  --kn-mint:#D1FAE5;
  --kn-muted:#A3A375;
  --kn-line:rgba(245,158,11,.22);
  --kn-line-soft:rgba(209,250,229,.10);
  --kn-radius:18px;
  --kn-radius-sm:12px;
  --kn-shadow:0 20px 44px rgba(0,0,0,.48);
  --kn-gold-grad:linear-gradient(135deg,#F59E0B 0%,#FCD34D 100%);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  padding-top:76px;
  font-family:'Be Vietnam Pro',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:16px;
  line-height:1.65;
  color:var(--kn-text);
  background:var(--kn-bg);
  background-image:radial-gradient(900px 420px at 88% -8%,rgba(245,158,11,.14),transparent 60%),radial-gradient(760px 480px at -10% 22%,rgba(16,185,129,.12),transparent 62%);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color .2s ease}
a:hover{color:var(--kn-gold-light)}
button,input,select,textarea{font-family:inherit;font-size:1rem}
h1,h2,h3,h4{font-weight:800;line-height:1.25;letter-spacing:-.02em;margin:0 0 12px}
p{margin:0 0 14px}
.container{width:100%;max-width:1200px;margin:0 auto;padding-left:20px;padding-right:20px}

/* Buttons */
.kn-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:12px 24px;font-weight:700;font-size:.95rem;line-height:1.2;border:1px solid transparent;cursor:pointer;transition:transform .18s ease,box-shadow .25s ease,background .25s ease,color .2s ease,border-color .25s ease;white-space:nowrap}
.kn-btn:active{transform:translateY(1px) scale(.99)}
.kn-btn:focus-visible{outline:2px solid var(--kn-gold-light);outline-offset:3px}
.kn-btn-gold{background:var(--kn-gold-grad);color:#08251A;box-shadow:0 10px 26px rgba(245,158,11,.28)}
.kn-btn-gold:hover{color:#08251A;transform:translateY(-2px);box-shadow:0 16px 34px rgba(245,158,11,.42)}
.kn-btn-ghost{background:transparent;border-color:rgba(245,158,11,.5);color:var(--kn-gold-light)}
.kn-btn-ghost:hover{background:rgba(245,158,11,.14);color:#FFF;transform:translateY(-2px)}
.kn-btn-soft{background:rgba(209,250,229,.08);border-color:var(--kn-line-soft);color:var(--kn-mint)}
.kn-btn-soft:hover{background:rgba(209,250,229,.14);color:#FFF}
.kn-btn-sm{padding:9px 18px;font-size:.86rem}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1030;background:rgba(4,22,15,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--kn-line-soft)}
.kn-nav-inner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-height:74px;padding:10px 0;position:relative}
.kn-brand{display:flex;align-items:center;gap:11px;flex:0 0 auto}
.kn-brand-mark{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:var(--kn-gold-grad);color:#08251A;box-shadow:0 8px 20px rgba(245,158,11,.3)}
.kn-brand-text{display:flex;flex-direction:column;line-height:1.1}
.kn-brand-text strong{font-size:1.06rem;font-weight:800;letter-spacing:-.02em;color:#FFF}
.kn-brand-text small{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--kn-gold-light)}
.kn-nav-links{display:flex;align-items:center;gap:4px;flex:1 1 auto;justify-content:center;margin:0;padding:0;list-style:none}
.kn-nav-links .nav-item{list-style:none}
.kn-nav-links a{display:block;padding:9px 13px;border-radius:999px;font-size:.9rem;font-weight:600;color:var(--kn-mint);border:1px solid transparent;transition:background .2s,color .2s,border-color .2s}
.kn-nav-links a:hover{background:rgba(245,158,11,.12);color:#FFF}
.kn-nav-links a.active{background:rgba(245,158,11,.16);border-color:var(--kn-line);color:var(--kn-gold-light)}
.kn-nav-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.kn-toggler{display:none;width:44px;height:44px;border-radius:12px;background:rgba(209,250,229,.06);border:1px solid var(--kn-line-soft);flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;padding:0}
.kn-toggler span{display:block;width:20px;height:2px;border-radius:2px;background:var(--kn-mint)}

/* Sections */
.kn-section{padding:76px 0;position:relative;scroll-margin-top:92px}
.kn-section--alt{background:linear-gradient(180deg,rgba(7,39,26,.85) 0%,rgba(5,31,20,.4) 100%);border-top:1px solid var(--kn-line-soft);border-bottom:1px solid var(--kn-line-soft)}
.kn-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--kn-gold-light);background:rgba(245,158,11,.10);border:1px solid var(--kn-line);border-radius:999px;padding:6px 14px;margin-bottom:16px}
.kn-sec-head{max-width:760px;margin-bottom:38px}
.kn-sec-head h2{font-size:clamp(1.5rem,2.6vw,2.05rem)}
.kn-lead{color:var(--kn-mint);font-size:1.03rem}
.kn-muted{color:var(--kn-muted);font-size:.94rem}
.kn-hl{background:var(--kn-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Hero */
.kn-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--kn-line-soft);padding:62px 0 54px}
.kn-hero-media{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.3}
.kn-hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,31,20,.74) 0%,rgba(5,31,20,.94) 58%,#051F14 100%)}
.kn-hero-inner{position:relative;z-index:2}
.kn-hero h1{font-size:clamp(1.85rem,4vw,3rem);margin-bottom:18px}
.kn-hero-lead{font-size:1.05rem;color:var(--kn-mint);max-width:660px}
.kn-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.kn-hero-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.kn-chip{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;color:var(--kn-mint);background:rgba(209,250,229,.07);border:1px solid var(--kn-line-soft);border-radius:999px;padding:7px 14px}
.kn-chip i{color:var(--kn-gold-light)}
.kn-side-panel{background:linear-gradient(160deg,rgba(18,63,43,.94),rgba(7,35,23,.96));border:1px solid var(--kn-line);border-radius:var(--kn-radius);padding:26px;box-shadow:var(--kn-shadow)}
.kn-side-panel h2{font-size:1.16rem;margin-bottom:8px}
.kn-clock{position:relative;width:150px;height:150px;margin:6px auto 16px}
.kn-clock svg{width:100%;height:100%;transform:rotate(-90deg)}
.kn-clock-track{fill:none;stroke:rgba(209,250,229,.12);stroke-width:8}
.kn-clock-progress{fill:none;stroke:url(#knGoldGrad);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1s linear}
.kn-clock-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center}
.kn-clock-face strong{font-size:1.5rem;font-weight:800;color:#FFF;letter-spacing:-.02em}
.kn-clock-face span{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--kn-gold-light)}
.kn-clock-face small{font-size:.7rem;color:var(--kn-muted)}
.kn-mini-points{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:9px}
.kn-mini-points li{display:flex;gap:10px;font-size:.9rem;color:var(--kn-mint);align-items:flex-start}
.kn-mini-points i{color:var(--kn-gold);margin-top:4px}
.kn-form{display:flex;flex-direction:column;gap:10px}
.kn-input{width:100%;background:rgba(5,31,20,.85);border:1px solid var(--kn-line-soft);border-radius:12px;padding:12px 15px;color:var(--kn-text);transition:border-color .2s,box-shadow .2s}
.kn-input::placeholder{color:#7d8a80}
.kn-input:focus{outline:none;border-color:rgba(245,158,11,.6);box-shadow:0 0 0 3px rgba(245,158,11,.14)}

/* Stats */
.kn-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.kn-stat{background:rgba(11,46,30,.72);border:1px solid var(--kn-line-soft);border-radius:var(--kn-radius);padding:22px 20px;transition:border-color .25s,transform .25s}
.kn-stat:hover{border-color:var(--kn-line);transform:translateY(-3px)}
.kn-stat b{display:block;font-size:1.72rem;font-weight:800;line-height:1.1;color:#FFF;margin-bottom:6px}
.kn-stat b em{font-style:normal;color:var(--kn-gold-light)}
.kn-stat span{font-size:.86rem;color:var(--kn-muted)}

/* Scene cards */
.kn-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.kn-scene{background:linear-gradient(165deg,rgba(18,63,43,.72),rgba(7,35,23,.86));border:1px solid var(--kn-line-soft);border-radius:var(--kn-radius);padding:24px 20px;transition:transform .25s,border-color .25s,box-shadow .25s}
.kn-scene:hover{transform:translateY(-4px);border-color:var(--kn-line);box-shadow:0 18px 34px rgba(0,0,0,.35)}
.kn-scene .kn-ico{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:rgba(245,158,11,.14);color:var(--kn-gold-light);font-size:1.1rem;margin-bottom:14px}
.kn-scene h3{font-size:1.02rem;margin-bottom:8px}
.kn-scene p{font-size:.9rem;color:var(--kn-mint);margin:0}
.kn-scene .kn-mini{display:inline-block;margin-top:12px;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--kn-gold-light)}

/* Timeline */
.kn-timeline{position:relative;padding-left:26px;margin:0;list-style:none}
.kn-timeline::before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,rgba(245,158,11,.6),rgba(245,158,11,.06))}
.kn-timeline li{position:relative;padding:0 0 24px 8px}
.kn-timeline li::before{content:"";position:absolute;left:-26px;top:7px;width:16px;height:16px;border-radius:50%;background:#0B2E1E;border:2px solid var(--kn-gold)}
.kn-timeline .kn-time{display:inline-block;font-size:.76rem;font-weight:800;letter-spacing:.08em;color:var(--kn-gold-light);background:rgba(245,158,11,.12);border:1px solid var(--kn-line);border-radius:999px;padding:3px 12px;margin-bottom:8px}
.kn-timeline h3{font-size:1rem;margin-bottom:5px}
.kn-timeline p{font-size:.9rem;color:var(--kn-mint);margin:0}

/* Compare */
.kn-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.kn-col{border-radius:var(--kn-radius);padding:26px 24px;border:1px solid var(--kn-line-soft);background:rgba(7,35,23,.7)}
.kn-col.is-good{border-color:var(--kn-line);background:linear-gradient(165deg,rgba(18,63,43,.88),rgba(7,35,23,.92))}
.kn-col h3{display:flex;align-items:center;gap:10px;font-size:1.05rem;margin-bottom:16px}
.kn-col.is-bad h3 i{color:#f87171}
.kn-col.is-good h3 i{color:var(--kn-gold-light)}
.kn-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.kn-list li{display:flex;gap:10px;font-size:.92rem;color:var(--kn-mint);line-height:1.55}
.kn-list li i{margin-top:5px;font-size:.8rem;color:var(--kn-gold)}

/* Checklist */
.kn-split{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center}
.kn-shot{border-radius:var(--kn-radius);overflow:hidden;border:1px solid var(--kn-line);box-shadow:var(--kn-shadow)}
.kn-shot img{width:100%;height:100%;object-fit:cover}
.kn-check{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.kn-check li{display:flex;gap:12px;font-size:.94rem;color:var(--kn-mint)}
.kn-check i{color:var(--kn-gold-light);margin-top:4px}
.kn-check strong{display:block;color:#FFF;font-size:.98rem;font-weight:700;margin-bottom:2px}

/* Posts */
.kn-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.kn-post{display:flex;flex-direction:column;background:rgba(7,35,23,.78);border:1px solid var(--kn-line-soft);border-radius:var(--kn-radius);overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s}
.kn-post:hover{transform:translateY(-4px);border-color:var(--kn-line);box-shadow:0 18px 34px rgba(0,0,0,.4)}
.kn-post-thumb{display:block;aspect-ratio:16/10;overflow:hidden;background:#0B2E1E}
.kn-post-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.kn-post:hover .kn-post-thumb img{transform:scale(1.05)}
.kn-post-body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1 1 auto}
.kn-post-body h3{font-size:1.02rem;margin:0}
.kn-post-body h3 a{color:#FFF}
.kn-post-body h3 a:hover{color:var(--kn-gold-light)}
.kn-post-body p{font-size:.88rem;color:var(--kn-muted);margin:0}
.kn-post-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:.76rem;color:var(--kn-muted);margin-top:auto;padding-top:10px;border-top:1px solid var(--kn-line-soft)}
.kn-tag{display:inline-flex;align-items:center;align-self:flex-start;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--kn-gold-light);background:rgba(245,158,11,.12);border:1px solid var(--kn-line);border-radius:999px;padding:4px 11px}
.kn-empty{padding:24px;border:1px dashed var(--kn-line);border-radius:var(--kn-radius-sm);color:var(--kn-muted);background:rgba(7,35,23,.5);margin:0}

/* Assure */
.kn-assure{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.kn-assure-item{padding:22px 20px;border-radius:var(--kn-radius-sm);background:rgba(11,46,30,.6);border:1px solid var(--kn-line-soft)}
.kn-assure-item i{color:var(--kn-gold-light);font-size:1.15rem;margin-bottom:10px;display:block}
.kn-assure-item h3{font-size:.98rem;margin-bottom:6px}
.kn-assure-item p{font-size:.87rem;color:var(--kn-muted);margin:0}

/* FAQ */
.kn-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.kn-faq-item{border:1px solid var(--kn-line-soft);border-radius:var(--kn-radius-sm);background:rgba(7,35,23,.66);padding:20px 22px;transition:border-color .25s,background .25s}
.kn-faq-item:hover{border-color:var(--kn-line);background:rgba(18,63,43,.72)}
.kn-faq-item h3{font-size:.98rem;margin-bottom:8px;color:#FFF}
.kn-faq-item p{font-size:.89rem;color:var(--kn-mint);margin:0}

/* CTA */
.kn-cta-panel{background:linear-gradient(150deg,rgba(18,63,43,.95),rgba(5,31,20,.98));border:1px solid var(--kn-line);border-radius:var(--kn-radius);padding:38px;box-shadow:var(--kn-shadow)}
.kn-cta-panel h2{font-size:clamp(1.4rem,2.6vw,1.9rem)}
.kn-cta-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:start;margin-top:22px}
.kn-cta-note{font-size:.8rem;color:var(--kn-muted);margin-top:14px}

/* Footer */
.site-footer{background:#04170F;border-top:1px solid var(--kn-line-soft);padding:56px 0 26px;margin-top:20px}
.kn-foot-brand{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.kn-foot-brand strong{font-size:1.02rem;color:#FFF}
.kn-foot-title{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--kn-gold-light);margin-bottom:14px}
.kn-foot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.kn-foot-list a{font-size:.9rem;color:var(--kn-muted)}
.kn-foot-list a:hover{color:var(--kn-gold-light)}
.kn-pay{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.kn-pay span{font-size:.74rem;font-weight:700;color:var(--kn-mint);background:rgba(209,250,229,.07);border:1px solid var(--kn-line-soft);border-radius:8px;padding:5px 10px}
.kn-18{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;border:1px solid var(--kn-line);color:var(--kn-gold-light);font-weight:800;font-size:.9rem;margin-top:12px}
.kn-foot-bottom{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;font-size:.8rem;color:var(--kn-muted);border-top:1px solid var(--kn-line-soft);margin-top:34px;padding-top:20px}

/* FAB */
.kn-fab{position:fixed;left:16px;bottom:96px;z-index:1050;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 32% 26%,#1C1A10,#0B2E1E 72%);border:2px solid var(--kn-gold);color:var(--kn-gold-light);font-size:1.25rem;box-shadow:0 6px 25px rgba(245,158,11,.35);opacity:.85;transition:transform .25s ease,opacity .25s ease;animation:knFloat 3.4s ease-in-out infinite}
.kn-fab:hover{opacity:1;transform:scale(1.09);color:var(--kn-gold-light)}
.kn-fab:hover i{animation:knSpin .6s ease}
.kn-fab:active{transform:scale(.95) translateY(3px)}
.kn-fab-dot{position:absolute;top:2px;right:2px;width:13px;height:13px;border-radius:50%;background:#DC2626;box-shadow:0 0 0 2px #F8FAFC}
@keyframes knFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes knSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

@media (max-width:1024px){
  .kn-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kn-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kn-assure{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kn-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kn-split{grid-template-columns:1fr;gap:26px}
}
@media (max-width:991px){
  body{padding-top:70px}
  .kn-toggler{display:flex;order:3}
  .kn-brand{order:1;margin-right:auto}
  .kn-nav-actions{order:2}
  .kn-nav-links{display:none;order:4;flex-basis:100%;position:absolute;top:100%;left:-20px;right:-20px;background:#062318;border-top:1px solid var(--kn-line);border-bottom:1px solid var(--kn-line);padding:12px 20px 18px;flex-direction:column;align-items:stretch;gap:4px;box-shadow:var(--kn-shadow)}
  .site-header.nav-open .kn-nav-links{display:flex}
  .kn-nav-links a{padding:11px 14px;font-size:.95rem}
  .kn-nav-actions .kn-btn{padding:8px 13px;font-size:.78rem}
  .kn-section{padding:58px 0}
  .kn-hero{padding:46px 0 40px}
  .kn-cta-form{grid-template-columns:1fr}
  .kn-faq{grid-template-columns:1fr}
  .kn-compare{grid-template-columns:1fr}
}
@media (max-width:520px){
  .kn-stats{grid-template-columns:1fr}
  .kn-grid-4{grid-template-columns:1fr}
  .kn-assure{grid-template-columns:1fr}
  .kn-post-grid{grid-template-columns:1fr}
  .kn-brand-text small{display:none}
  .kn-nav-actions .kn-btn-ghost{display:inline-flex}
  .kn-cta-panel{padding:26px 20px}
  .kn-side-panel{padding:22px 18px}
  .kn-fab{width:52px;height:52px;font-size:1.1rem;bottom:88px}
  .kn-foot-bottom{flex-direction:column}
}

/* roulang: framework shim */
/* 覆盖 Bootstrap 等对 a/btn 的全局默认，避免导航出现下划线/蓝链 */
.site-header a,.site-header a:hover,.navbar a,.navbar a:hover,.nav-links a,.nav-links a:hover,header nav a,header nav a:hover{text-decoration:none}
.site-header .btn,.navbar .btn,.nav-cta{text-decoration:none}
/* ==================== 修复：右侧 4 个保障卡片被挤扁 BUG ==================== */

/* 1. 强制在两栏布局右侧时，将 4 个卡片改为 2x2（两列两行）排列，空间立刻翻倍！ */
.kn-split .kn-assure {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important; /* 强制两列 */
  gap: 16px !important;
  margin-top: 24px !important;
  width: 100% !important;
}

/* 2. 优化每个卡片内部布局：图标与文字左右分布 */
.kn-split .kn-assure-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  padding: 16px 18px !important;
  border-radius: 12px !important;
  background: rgba(11, 46, 30, 0.6) !important;
  border: 1px solid var(--kn-line-soft) !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}

/* 3. 图标固定尺寸，绝不缩水变形 */
.kn-split .kn-assure-item span.kn-ico {
  flex: 0 0 44px !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 12px !important;
  display: grid !important;
  place-items: center !important;
  font-size: 16px !important;
  margin-bottom: 0 !important;
}

/* 4. 文字区域自适应并自然换行 */
.kn-split .kn-assure-item > div {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.kn-split .kn-assure-item h3 {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin: 0 0 6px 0 !important;
  white-space: normal !important;
  word-break: normal !important;
}

.kn-split .kn-assure-item p {
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: var(--kn-muted) !important;
  margin: 0 !important;
  white-space: normal !important;
  word-break: normal !important;
}

/* 5. 手机/平板屏幕窄时（小于 768px），自动转为 1 列顺畅阅读 */
@media (max-width: 768px) {
  .kn-split .kn-assure {
    grid-template-columns: 1fr !important;
  }
}
