/* =====================================================================================================
   Kouprey Trading Academy · brand layer (Oct 2026)
   Cream paper, forest green and gold, like the "គ្រឹះ Forex" course posters. Loaded LAST on every page
   (landing, Academy, Overview, Analysis, News, Journal, E-Books, Upgrade, Guide) and it only re-points the
   colour / font tokens each page already uses, then restyles the shared pieces (header, cards, buttons,
   pills, side menu). "html:root" is used so these win over the page's own :root tokens and shell.js.
   Light (cream) is the default theme; dark = "forest night".
   ===================================================================================================== */

/* ---------- tokens: light (default) ---------- */
html:root,html:root[data-theme="light"]{
  color-scheme:light;
  --kp-bg:#f4eee1;--kp-paper:#ffffff;--kp-paper2:#fffdf7;--kp-line:#e8dfcb;--kp-line2:#efe8d8;
  --kp-ink:#13261b;--kp-ink2:#2c3d31;--kp-ash:#5b6a5e;--kp-mute:#738075;
  --kp-forest:#163a29;--kp-green:#1f6b45;--kp-green2:#25a06a;--kp-gold:#b8861b;--kp-gold2:#d8a92c;--kp-goldSoft:#f6ecd2;
  --kp-blue:#2a6d9c;--kp-violet:#7d4cc2;--kp-orange:#c4562a;--kp-red:#b8394d;
  --kp-shadow:0 16px 38px -24px rgba(72,54,16,.38),0 2px 6px -2px rgba(72,54,16,.08);
  --kp-glow1:rgba(229,198,120,.55);--kp-glow2:rgba(31,107,69,.10);

  /* page tokens (index / academy / signals / guide) */
  --bg:var(--kp-bg);--ink:var(--kp-ink);--ash:var(--kp-ash);--veil:transparent;--img:none;
  --mist:rgba(19,38,27,.10);--glass:var(--kp-paper);--glass2:var(--kp-paper2);--edge:rgba(19,38,27,.09);
  --shadow:var(--kp-shadow);--grad:linear-gradient(135deg,#22744b 0%,#163f2b 100%);
  --a1:var(--kp-green);--a2:var(--kp-blue);--a3:var(--kp-gold);--a4:var(--kp-red);--a5:var(--kp-green2);
  --buy:#178a4c;--sell:#c0392b;--opt-bg:#fff;--opt-ink:var(--kp-ink);
  --nav-bg:rgba(250,246,236,.9);--nav-ink:var(--kp-ink);--chip:#fff;--chip-edge:rgba(19,38,27,.13);
  --lat:'Montserrat','Kantumruy Pro','Noto Sans Khmer',system-ui,sans-serif;
  --kh:'Kantumruy Pro','Noto Sans Khmer','Montserrat',system-ui,sans-serif;
  --t1:var(--kp-green);--t2:var(--kp-gold);

  /* member.css tokens (Overview / Upgrade / E-Books) */
  --panel:var(--kp-paper);--line:var(--kp-line);--line2:var(--kp-line2);--row:#f8f3e8;--hdr:rgba(250,246,236,.92);
  --chipE:var(--kp-line);--sel:#eaf2ea;--btn2:#f7f1e3;--btn2E:var(--kp-line);--track:#ece4d1;
  --ink2:var(--kp-ink2);--mute:var(--kp-mute);--dim:#8a9388;
  --red:var(--kp-red);--green:var(--kp-green);--gold:var(--kp-gold);--cyan:var(--kp-blue);--violet:var(--kp-violet);--blue:var(--kp-blue);
  --goldBg:#fbf5e4;--goldE:#ecdcae;--goldTxt:#6b5520;--goldTrack:#f1e5c4;

  /* side menu / bottom bar (shell.js) */
  --kr-bg:#fbf8f0;--kr-line:#e8dfcb;--kr-ink:#13261b;--kr-mute:#5f6d62;--kr-sel:#eef3ea;--kr-selE:#cfe0d2;--kr-tile:#fff;--kr-tileE:#e8dfcb;
  --kr-gold:#b8861b;--kr-av:#eef3ea;--kr-avInk:#1f6b45;--kr-sheet:#fbf8f0
}
/* ---------- tokens: dark ("forest night") ---------- */
html:root[data-theme="dark"],html:root:not([data-theme]){
  color-scheme:dark;
  --kp-bg:#0b1912;--kp-paper:#112519;--kp-paper2:#14291d;--kp-line:#21402e;--kp-line2:#1b3627;
  --kp-ink:#f3ecda;--kp-ink2:#ddd4bd;--kp-ash:#a8b3a2;--kp-mute:#8e9a8a;
  --kp-forest:#0f2a1d;--kp-green:#3db57a;--kp-green2:#4fd08e;--kp-gold:#e2b748;--kp-gold2:#f0cb68;--kp-goldSoft:#2a2512;
  --kp-blue:#62afe0;--kp-violet:#b08cf0;--kp-orange:#ec8a5a;--kp-red:#f07185;
  --kp-shadow:0 18px 44px -24px rgba(0,0,0,.75);
  --kp-glow1:rgba(226,183,72,.13);--kp-glow2:rgba(61,181,122,.10);
  --bg:var(--kp-bg);--ink:var(--kp-ink);--ash:var(--kp-ash);--veil:transparent;--img:none;
  --mist:rgba(243,236,218,.10);--glass:var(--kp-paper);--glass2:var(--kp-paper2);--edge:rgba(243,236,218,.09);
  --shadow:var(--kp-shadow);--grad:linear-gradient(135deg,#2c8a5a 0%,#1a4a33 100%);
  --a1:var(--kp-green);--a2:var(--kp-blue);--a3:var(--kp-gold);--a4:var(--kp-red);--a5:var(--kp-green2);
  --buy:#3ccf7e;--sell:#f26b6b;--opt-bg:#112519;--opt-ink:var(--kp-ink);
  --nav-bg:rgba(11,25,18,.9);--nav-ink:var(--kp-ink);--chip:rgba(243,236,218,.06);--chip-edge:rgba(243,236,218,.14);
  --lat:'Montserrat','Kantumruy Pro','Noto Sans Khmer',system-ui,sans-serif;
  --kh:'Kantumruy Pro','Noto Sans Khmer','Montserrat',system-ui,sans-serif;
  --t1:var(--kp-green);--t2:var(--kp-gold);
  --panel:var(--kp-paper);--line:var(--kp-line);--line2:var(--kp-line2);--row:#15301f;--hdr:rgba(11,25,18,.92);
  --chipE:var(--kp-line);--sel:#1c3a2a;--btn2:#15301f;--btn2E:#2a4a36;--track:#1d3628;
  --ink2:var(--kp-ink2);--mute:var(--kp-mute);--dim:#76826f;
  --red:var(--kp-red);--green:var(--kp-green);--gold:var(--kp-gold);--cyan:var(--kp-blue);--violet:var(--kp-violet);--blue:var(--kp-blue);
  --goldBg:#17200f;--goldE:#4a3f1c;--goldTxt:#d8cba0;--goldTrack:#2c2714;
  --kr-bg:#0d1f15;--kr-line:#1e3a2a;--kr-ink:#f3ecda;--kr-mute:#9aa795;--kr-sel:#173324;--kr-selE:#2c5a40;--kr-tile:#122a1d;--kr-tileE:#24412f;
  --kr-gold:#e2b748;--kr-av:#173324;--kr-avInk:#e2b748;--kr-sheet:#0d1f15
}

/* ---------- page background: cream paper with a warm glow (no photo) ---------- */
html body{background:radial-gradient(1100px 680px at -5% -8%,var(--kp-glow1),transparent 62%),radial-gradient(900px 700px at 105% 108%,var(--kp-glow2),transparent 60%),var(--kp-bg) fixed;color:var(--kp-ink);font-family:var(--lat);font-weight:400}
html body::before,html body::after{background:none!important;filter:none!important}
:lang(km),[lang="km"] body,html[lang="km"] body{font-family:var(--kh)}
::selection{background:color-mix(in srgb,var(--kp-gold2) 45%,transparent)}
:focus-visible{outline-color:var(--kp-gold2)!important}

/* ---------- type ---------- */
html body h1,html body h2{background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:currentColor!important;color:var(--kp-ink)!important;animation:none!important;font-weight:800;letter-spacing:.005em}
html[lang="km"] body h1,html[lang="km"] body h2,html[lang="km"] body h3{font-family:var(--kh);font-weight:700;letter-spacing:0}
html body h3,html body h4{color:var(--kp-ink)}
html body .lead,html body p{color:inherit}
html body .lead{color:var(--kp-ash)}

/* ---------- brand mark: logo tile + KOUPREY TRADING / ACADEMY ---------- */
html body .brand{display:inline-flex;align-items:center;gap:12px;font:800 14px/1.05 'Montserrat',sans-serif!important;letter-spacing:.32em!important;color:var(--kp-ink)!important;text-decoration:none;background:none!important;-webkit-text-fill-color:currentColor!important;text-transform:uppercase;white-space:nowrap}
html body .brand::before{content:'';flex:none;width:40px;height:40px;border-radius:11px;background:url(/icons/logo-tile-192.png) center/cover no-repeat;box-shadow:0 6px 14px -8px rgba(15,44,31,.7)}
html body header .brand::after,html body footer .brand::after{content:'ACADEMY';position:absolute;margin:30px 0 0 52px;font:700 9.5px 'Montserrat',sans-serif;letter-spacing:.55em;color:var(--kp-gold)}
html body header .brand,html body footer .brand{position:relative;padding-bottom:12px}

/* ---------- header / top bars ---------- */
html body header:not(.mh){background:var(--nav-bg)!important;border-bottom:1px solid var(--kp-line)!important;box-shadow:none}
html body header nav a{color:var(--kp-ink);font-weight:600}
html body header nav a.on,html body header nav a[aria-current]{background:var(--kp-forest)!important;color:var(--kp-gold2)!important;box-shadow:none!important}
html body header .tools button,html body header .tools .mem{border-color:var(--kp-line)!important}
html body header .tools button[aria-pressed="true"]{background:var(--kp-forest)!important;color:var(--kp-gold2)!important;border-color:var(--kp-forest)!important}
html body .mh{background:var(--hdr)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
html body .mh h1{font:800 21px/1.25 var(--lat)!important}
html[lang="km"] body .mh h1{font-family:var(--kh)!important;font-weight:700!important}

/* ---------- cards: white paper, soft warm shadow ---------- */
html body .card,html body .simcard,html body .comm,html body .join,html body .broker,html body .pcard{background:var(--kp-paper)!important;border:1px solid var(--kp-line)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:var(--kp-shadow)!important}
html body .card{border-radius:22px}

/* ---------- buttons ---------- */
html body .btn{background:var(--grad);color:#fff;font-family:var(--lat);font-weight:700;letter-spacing:.02em;box-shadow:0 12px 24px -14px rgba(22,58,41,.85),inset 0 1px 0 rgba(255,255,255,.18)}
html[lang="km"] body .btn{font-family:var(--kh)}
html body .btn.ghost,html body .btn.sec,html body .btn.white{background:var(--kp-paper)!important;color:var(--kp-ink)!important;border:1px solid var(--kp-line)!important;box-shadow:none!important}
html body .btn.gold,html body .btn.goldo{background:linear-gradient(135deg,var(--kp-gold2),var(--kp-gold))!important;color:#1d1608!important;border-color:transparent!important;box-shadow:0 12px 24px -14px rgba(184,134,27,.9)!important}
html body .btn.green{background:linear-gradient(135deg,#2fc27f,#1f8a57)!important}
html body .btn.pri{background:var(--grad)!important;color:#fff!important}
html body .btn.wht{background:var(--kp-forest)!important;color:var(--kp-gold2)!important}
html body .btn.tg{background:linear-gradient(135deg,#2aabee,#1f88c4)!important}

/* ---------- small labels: dark forest pill, gold letter-spaced caps ("COURSE CONTENTS") ---------- */
html body .eyebrow,html body .live,html body .new,html body .wsec>h3 .tagx{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:999px;background:var(--kp-forest)!important;color:var(--kp-gold2)!important;font:800 11.5px/1 'Montserrat',var(--kh)!important;letter-spacing:.2em!important;text-transform:uppercase;border:0!important;-webkit-text-fill-color:currentColor!important}
html[lang="km"] body .eyebrow,html[lang="km"] body .live,html[lang="km"] body .new{letter-spacing:.04em!important;font-family:var(--kh)!important;font-weight:700!important;font-size:13px!important}
html body .live::before{background:var(--kp-green2)!important;box-shadow:0 0 0 4px rgba(37,160,106,.25)!important}

/* ---------- side menu (desktop) / bottom tab bar (phone): coloured icon tiles like the course parts ---------- */
.kprail{box-shadow:none!important}
.kprail .lg img{border-radius:14px;box-shadow:0 8px 18px -10px rgba(15,44,31,.8)}
.kprail .it{font-family:var(--lat)!important;font-weight:600!important;color:var(--kr-mute)!important}
html[lang="km"] .kprail .it{font-family:var(--kh)!important}
.kprail .it>svg{box-sizing:content-box;padding:7px;border-radius:11px;background:var(--ic,#1f6b45);color:#fff;stroke:#fff!important;width:18px!important;height:18px!important;box-shadow:0 6px 12px -8px var(--ic,#1f6b45)}
.kprail .it[aria-current="page"]{background:var(--kr-sel)!important;color:var(--kr-ink)!important;box-shadow:inset 0 0 0 1.5px var(--kr-gold)!important}
.kprail .it[aria-current="page"]>svg{box-shadow:0 0 0 2px var(--kr-gold),0 6px 12px -8px var(--ic)}
.kprail .it[href="/app"]{--ic:#1f6b45}.kprail .it[href="/academy"]{--ic:#c9961f}.kprail .it[href="/simulator"]{--ic:#2a6d9c}
.kprail .it[href="/courses"]{--ic:#7d4cc2}.kprail .it[href="/ebooks"]{--ic:#c4562a}.kprail .it[href="/analysis"]{--ic:#b8394d}
.kprail .it[href="/news"]{--ic:#13261b}.kprail .it[href="/journal"]{--ic:#2f8f86}.kprail .it[data-alerts],.kprail .it[href="/analysis"][data-alerts]{--ic:#8a6a14}
.kprail .it.more{--ic:#5b6a5e}.kprail .it.gold{--ic:linear-gradient(135deg,#d8a92c,#b8861b);color:var(--kr-gold)!important}
.kprail .it.gold>svg{background:linear-gradient(135deg,#d8a92c,#b8861b)}
.kpmore a,.kpmore button{font-family:var(--lat)!important}
.kpmore a svg,.kpmore button svg{box-sizing:content-box;padding:8px;border-radius:12px;background:var(--ic,#1f6b45);stroke:#fff!important;color:#fff}
.kpmore a[href="/simulator"]{--ic:#2a6d9c}.kpmore a[href="/courses"]{--ic:#7d4cc2}.kpmore a[href="/ebooks"]{--ic:#c4562a}.kpmore a[href="/news"]{--ic:#13261b}
.kpmore a[href="/journal"]{--ic:#2f8f86}.kpmore [data-alerts]{--ic:#8a6a14}.kpmore a[href="/upgrade"]{--ic:#b8861b}
.kpoff a{background:var(--kp-forest)!important;color:var(--kp-gold2)!important}

/* ---------- forms ---------- */
html body input:not([type=checkbox]):not([type=radio]):not([type=range]),html body select,html body textarea{border-color:var(--kp-line)}

/* ---------- footer ---------- */
html body footer{border-top:1px solid var(--kp-line)!important;background:transparent!important}
.kp-tagline{font:800 12px 'Montserrat',sans-serif;letter-spacing:.32em;color:var(--kp-gold);text-transform:uppercase}

/* =====================================================================================================
   Landing page (index.html): free-course hero, How to join, Course contents (kpL-*)
   ===================================================================================================== */
.kpL-hero{padding:56px 0 40px;position:relative;overflow:hidden}
.kpL-hgrid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:40px;align-items:center}
.kpL-lock{display:flex;align-items:center;gap:18px;margin-bottom:26px}
.kpL-lock img{width:84px;height:84px;border-radius:22px;box-shadow:0 14px 28px -14px rgba(15,44,31,.8)}
.kpL-lock b{display:block;font:800 clamp(16px,2vw,22px)/1 'Montserrat',sans-serif;letter-spacing:.32em;color:var(--kp-ink)}
.kpL-lock span{display:block;margin-top:9px;font:700 clamp(11px,1.2vw,14px)/1 'Montserrat',sans-serif;letter-spacing:.6em;color:var(--kp-gold)}
.kpL-pill{display:inline-flex;align-items:center;gap:6px;padding:9px 20px;border-radius:999px;background:var(--kp-forest);color:var(--kp-gold2);font:800 12.5px/1 'Montserrat',var(--kh);letter-spacing:.22em;text-transform:uppercase}
html[lang="km"] .kpL-pill{letter-spacing:.06em;font-family:'Montserrat',var(--kh)}
html body .kpL-h{margin:18px 0 22px;font:700 clamp(40px,6.4vw,84px)/1.12 var(--kh)!important;letter-spacing:0!important}
.kpL-h1{display:block}.kpL-h em{font:800 1em/1 'Montserrat',sans-serif;font-style:normal;color:var(--kp-gold);letter-spacing:-.01em}
.kpL-h2{display:block;color:var(--kp-green)}
html body .kpL-hs{font-size:clamp(30px,4.2vw,56px)!important;margin:16px 0 18px}
.kpL-chips{display:flex;flex-wrap:wrap;gap:10px}
.kpL-chip{display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 20px;border-radius:16px;background:var(--kp-paper);border:1px solid var(--kp-line);box-shadow:var(--kp-shadow);font:700 16px var(--kh);color:var(--kp-ink)}
.kpL-chip b{font:800 22px 'Montserrat',var(--kh);color:var(--kp-gold)}.kpL-chip b.g{font-size:17px;color:var(--kp-green)}
.kpL-chip.dark{background:var(--kp-forest);border-color:var(--kp-forest);color:#f6efdc}.kpL-chip.dark b{color:#f0cb68}
.kpL-chip.free{background:linear-gradient(135deg,#2fc27f,#1f9a62);border:0;color:#fff;font:800 18px 'Montserrat',var(--kh);letter-spacing:.04em}
.kpL-play{flex:none;width:26px;height:26px;border-radius:50%;background:#f0cb68;position:relative}
.kpL-play::after{content:'';position:absolute;left:10px;top:7px;border-left:9px solid #13261b;border-top:6px solid transparent;border-bottom:6px solid transparent}
.kpL-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.kpL-cta .btn{padding:15px 28px;font-size:16px}
.kpL-hr{position:relative;min-height:440px}
.kpL-vid{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:22px;background:radial-gradient(120% 90% at 50% 0%,#1d2a22,#0b0f0c 70%);color:#f0cb68;text-decoration:none;box-shadow:0 30px 60px -28px rgba(0,0,0,.7)}
.kpL-vid.back{right:0;top:0;width:78%;height:56%;transform:rotate(4deg);border:6px solid #fff;opacity:.95}
.kpL-vid.front{left:4%;bottom:0;width:84%;height:62%;border:5px solid #c9a43a;transform:rotate(-1.5deg)}
.kpL-vid small{font:600 10px 'Montserrat',var(--kh);letter-spacing:.2em;color:#b9a77a}
.kpL-vid b{font:800 clamp(16px,2.2vw,26px)/1.1 'Montserrat',sans-serif;letter-spacing:.04em;text-align:center;padding:0 16px}
.kpL-part{font:700 10px 'Montserrat',var(--kh);letter-spacing:.14em;padding:3px 10px;border-radius:999px;border:1px solid rgba(240,203,104,.5)}
.kpL-tag{position:absolute;left:16px;top:14px;padding:6px 12px;border-radius:8px;background:#f0cb68;color:#13261b;font:800 11px 'Montserrat',sans-serif;letter-spacing:.2em}
.kpL-big{width:76px;height:76px;border-radius:50%;background:#f0cb68;box-shadow:0 0 0 12px rgba(240,203,104,.18);position:relative;margin:8px 0}
.kpL-big::after{content:'';position:absolute;left:30px;top:22px;border-left:22px solid #13261b;border-top:16px solid transparent;border-bottom:16px solid transparent}
.kpL-bar{position:absolute;left:18px;right:18px;bottom:30px;height:5px;border-radius:5px;background:rgba(255,255,255,.18)}.kpL-bar i{display:block;width:38%;height:100%;border-radius:5px;background:#f0cb68}
.kpL-vid.front small{position:absolute;bottom:10px}
.kpL-free{position:absolute;z-index:2;left:-4%;top:12%;width:150px;height:150px;border-radius:50%;background:linear-gradient(135deg,#2fc27f,#1f9a62);border:6px solid #fff;box-shadow:0 20px 40px -18px rgba(31,154,98,.8);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;transform:rotate(-10deg)}
.kpL-free b{font:800 36px/1 'Montserrat',sans-serif;letter-spacing:.02em}.kpL-free span{font:700 15px var(--kh)}
.kpL-sh{text-align:left;margin-bottom:26px}
.kpL-join,.kpL-cc{padding:40px 0}
.kpL-steps{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.kpL-step{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:center;padding:22px 24px;border-radius:24px;background:var(--kp-paper);border:1px solid var(--kp-line);box-shadow:var(--kp-shadow)}
.kpL-n{width:76px;height:76px;border-radius:20px;display:grid;place-items:center;background:var(--kp-forest);color:#f0cb68;font:700 40px/1 var(--kh);box-shadow:0 12px 22px -14px rgba(15,44,31,.9)}
html[lang="en"] .kpL-n,html:not([lang="km"]) .kpL-n{font-family:'Montserrat',sans-serif;font-weight:800;font-size:34px}
html body .kpL-step h3{margin:0 0 10px;font:700 clamp(18px,2.2vw,26px)/1.3 var(--kh)}
.kpL-step h3 b.g{color:var(--kp-gold);font-family:'Montserrat',sans-serif}
.kpL-link{display:inline-block;padding:8px 18px;border-radius:12px;background:var(--kp-goldSoft);border:1px solid color-mix(in srgb,var(--kp-gold) 45%,transparent);font:700 clamp(13px,1.5vw,17px) 'Montserrat',sans-serif;color:color-mix(in srgb,var(--kp-gold) 70%,var(--kp-ink));text-decoration:none}
.kpL-tg{display:inline-flex;align-items:center;gap:10px;padding:8px 18px 8px 10px;border-radius:999px;background:#e6f4fd;border:1px solid #9cd3f2;font:800 clamp(13px,1.5vw,17px) 'Montserrat',sans-serif;color:#13261b;text-decoration:none}
.kpL-tg i{width:26px;height:26px;border-radius:50%;background:#2aabee url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9.04 15.47l-.38 5.3c.54 0 .78-.23 1.06-.51l2.55-2.44 5.28 3.87c.97.53 1.65.25 1.91-.89l3.46-16.2c.31-1.43-.52-1.99-1.46-1.64L1.15 10.83c-1.39.54-1.37 1.31-.24 1.66l5.2 1.62L18.2 6.5c.57-.38 1.09-.17.66.21'/%3E%3C/svg%3E") center/15px no-repeat}
.kpL-sub{font:600 16px var(--kh);color:var(--kp-ash)}.kpL-sub b{color:var(--kp-green);font-family:'Montserrat',sans-serif}
.kpL-ic{width:96px;height:96px;border-radius:24px;display:grid;place-items:center;background:var(--kp-goldSoft);text-decoration:none}
.kpL-ic svg{width:40px;height:40px;fill:none;stroke:var(--kp-green);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kpL-ic.qr{background:#fff;border:3px solid #c9a43a;display:flex;flex-direction:column;gap:4px}.kpL-ic.qr svg{fill:#2aabee;stroke:none;width:42px;height:42px}.kpL-ic.qr small{font:700 7.5px 'Montserrat',sans-serif;color:#13261b}
.kpL-ic.ok{border-radius:50%;background:linear-gradient(135deg,#2fc27f,#1f9a62);box-shadow:0 14px 28px -14px rgba(31,154,98,.9)}.kpL-ic.ok svg{stroke:#fff;stroke-width:3}
.kpL-note{margin-top:18px;padding:22px 28px;border-radius:24px;background:linear-gradient(135deg,#163a29,#1d4a33);color:#f6efdc;font:600 16px/1.7 var(--kh)}
.kpL-note p{margin:0}.kpL-note b{color:#f0cb68}.kpL-note a{color:#f0cb68;font-family:'Montserrat',sans-serif;font-weight:800;text-decoration:none}
.kpL-small{margin:14px 4px 0;font:500 12.5px var(--kh);color:var(--kp-mute)}
.kpL-parts{columns:2 380px;column-gap:18px}
.kpL-part{break-inside:avoid;margin:0 0 18px;border-radius:22px;background:var(--kp-paper);border:1px solid var(--kp-line);box-shadow:var(--kp-shadow);overflow:hidden}
.kpL-part summary{list-style:none;display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--pc);color:#fff;cursor:pointer}
.kpL-part summary::-webkit-details-marker{display:none}
.kpL-pn{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.18);font:700 22px var(--kh)}
html:not([lang="km"]) .kpL-pn{font:800 19px 'Montserrat',sans-serif}
.kpL-pt{flex:1;min-width:0;display:grid}.kpL-pt small{font:700 11px 'Montserrat',var(--kh);letter-spacing:.14em;opacity:.8;text-transform:uppercase}.kpL-pt b{font:700 17px/1.3 var(--kh)}
.kpL-pc{flex:none;font:800 11px 'Montserrat',sans-serif;letter-spacing:.14em;opacity:.9}
.kpL-part ol{list-style:none;margin:0;padding:10px 18px 14px}
.kpL-part li{display:flex;gap:16px;padding:7px 0;border-bottom:1px dashed var(--kp-line2);font:600 15px/1.45 var(--kh);color:var(--kp-ink)}
.kpL-part li:last-child{border-bottom:0}.kpL-part li b{flex:none;width:34px;font:800 13px/1.7 'Montserrat',sans-serif;color:var(--pc)}
html[data-theme="dark"] .kpL-part[style*="#13261b"] summary{background:#24402f}html[data-theme="dark"] .kpL-part[style*="#13261b"] li b{color:#e2b748}
.kpL-reg{margin-top:8px;display:flex;flex-wrap:wrap;gap:18px 26px;align-items:center;justify-content:space-between;padding:28px 30px;border-radius:24px;background:linear-gradient(135deg,#163a29,#1d4a33);color:#f6efdc}
.kpL-rk{font:800 12px 'Montserrat',sans-serif;letter-spacing:.3em;color:#f0cb68}
html body .kpL-reg h3{margin:6px 0 6px;font:700 clamp(24px,3vw,34px)/1.25 var(--kh);color:#fff}
.kpL-reg p{margin:0;font:600 16px var(--kh)}.kpL-reg a:not(.btn){color:#f0cb68;font:800 17px 'Montserrat',sans-serif;text-decoration:none}
.kpL-ra{display:flex;flex-wrap:wrap;gap:10px}
html body .kpL-reg .btn.ghost{background:transparent!important;color:#f6efdc!important;border-color:rgba(246,239,220,.35)!important}
/* landing: marquee band = forest with gold words; section titles with a gold underline */
html body .marq{background:var(--kp-forest)!important;border-color:transparent!important}
html body .marq em{background:none!important;-webkit-background-clip:border-box!important;color:#f0cb68!important;-webkit-text-fill-color:#f0cb68!important;font-family:'Montserrat',sans-serif;font-weight:700}
html body .marq i{background:#f0cb68!important;box-shadow:none!important}
html body .followrow{height:auto}html body .follow{position:static;margin:18px auto 0;background:var(--kp-forest)!important;border:0!important}
html body .follow .ft{color:#f0cb68}
html body main>section:not([class^="kpL"])>.wrap>h2{position:relative;padding-bottom:14px;margin-bottom:16px}
html body main>section:not([class^="kpL"])>.wrap>h2::after{content:'';position:absolute;left:0;bottom:0;width:64px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--kp-gold2),var(--kp-gold))}
html body .jsteps b{background:var(--kp-forest)!important;color:#f0cb68!important}
html body .simchart{border-radius:20px;overflow:hidden;border:4px solid #c9a43a}
@media(max-width:900px){.kpL-hgrid{grid-template-columns:minmax(0,1fr)}.kpL-hr{min-height:360px;max-width:520px;width:100%;margin:0 auto}.kpL-hero{padding-top:30px}}
@media(max-width:600px){.kpL-step{grid-template-columns:auto minmax(0,1fr);padding:18px}.kpL-ic{display:none}.kpL-n{width:56px;height:56px;font-size:30px;border-radius:16px}
  .kpL-chip{height:44px;padding:0 14px;font-size:14px}.kpL-chip b{font-size:18px}.kpL-hr{min-height:300px}.kpL-free{width:110px;height:110px}.kpL-free b{font-size:26px}
  .kpL-lock img{width:64px;height:64px;border-radius:18px}.kpL-parts{columns:1}.kpL-note{padding:18px}}
html body header nav{gap:2px}html body header nav a{white-space:nowrap;font-size:13.5px;padding:8px 12px}
html:not([lang="km"]) body .kpL-h{font-family:'Montserrat',var(--kh)!important;font-weight:800!important;letter-spacing:-.01em!important;line-height:1.08!important}
@media(max-width:1400px){html body header .brand::after{display:none}html body header .brand{padding-bottom:0;font-size:0!important;letter-spacing:0!important;gap:0}}
@media(max-width:1240px){html body header .tools .mem span{display:none}html body header nav a{padding:8px 9px;font-size:13px}}
@media(max-width:1060px){html body header nav a[href="#free"]{display:none}}
.kpL-parts{columns:auto!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.kpL-col{display:grid;gap:18px}.kpL-col .kpL-part{margin:0}
.kpL-vcard{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:230px;border-radius:22px;border:5px solid #c9a43a;background:radial-gradient(120% 90% at 50% 0%,#1d2a22,#0b0f0c 70%);color:#f0cb68;text-decoration:none;box-shadow:var(--kp-shadow)}
.kpL-vcard b{font:800 clamp(20px,2.4vw,28px) 'Montserrat',sans-serif;letter-spacing:.04em}
.kpL-vcard small{position:absolute;left:20px;bottom:14px;font:700 15px var(--kh);color:#f6efdc}
.kpL-part2{font:700 10px 'Montserrat',var(--kh);letter-spacing:.14em;padding:3px 10px;border-radius:999px;border:1px solid rgba(240,203,104,.5)}
@media(max-width:760px){.kpL-parts{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.kpL-step .kpL-ic{display:none!important}.kpL-tg,.kpL-link{font-size:12.5px;padding:7px 12px 7px 8px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.kpL-step h3{font-size:17px}.kpL-cta .btn{flex:1 1 auto;text-align:center;justify-content:center}}
/* Khmer: never letter-space Khmer text (it breaks the clusters); only the Latin brand labels keep their tracking */
html[lang="km"] body *,html[lang="km"] .kprail *,html[lang="km"] .kpmore *{letter-spacing:0!important}
html[lang="km"] body .kpL-lock b,html[lang="km"] body .brand,html[lang="km"] body .kp-tagline,html[lang="km"] body .kpL-rk,html[lang="km"] body .kpL-tag,html[lang="km"] body .kpL-pc,html[lang="km"] body .marq em{letter-spacing:.3em!important}
html[lang="km"] body .kpL-lock span{letter-spacing:.6em!important}html[lang="km"] body header .brand{letter-spacing:.32em!important}
/* Khmer display headlines in Koulen (like the posters); Latin words in them stay Montserrat */
html[lang="km"] body .kpL-h,html[lang="km"] body main h1:not(.sr),html[lang="km"] body .top h1,html[lang="km"] body main>section>.wrap>h2,html[lang="km"] body .kpL-reg h3{font-family:'Montserrat','Koulen','Kantumruy Pro',sans-serif!important;font-weight:800!important;font-synthesis:none;line-height:1.3!important}
html[lang="km"] body .kpL-h{font-size:clamp(48px,7vw,96px)!important;line-height:1.18!important}
html[lang="km"] body .kpL-hs{font-size:clamp(34px,4.6vw,62px)!important}
details.kpL-part{letter-spacing:0;font:inherit;padding:0;border-radius:22px;border:1px solid var(--kp-line)}
