/* ============ Krai-A design system v5 (+ v6 landing tokens) ============
   One focus point per screen. Near-black ink on white, soft-grey sections,
   LINE green (#06C755) only as a sparing accent (logo, LEGIT, focus ring).
   One primary button per screen (ink pill). Thai-first type: IBM Plex Sans
   Thai, headings line-height >= 1.3. Light only. Motion honors reduced-motion.
   Tokens below are the contract for every page (demo, member app, LIFF). */
@import url("https://fonts.googleapis.com/css2?family=Anuphan:wght@500;600;700&family=IBM+Plex+Sans+Thai:wght@400;500;600;700&display=swap");

:root{
  /* ---- color ---- */
  --bg:#FFFFFF;            /* page */
  --soft:#F5F5F7;          /* quiet section / input well */
  --soft2:#EDEDF0;         /* pressed / hover on soft */
  --ink:#111214;           /* text, primary button */
  --ink2:#46484F;          /* secondary text (8.9:1 on white) */
  --ink3:#6B6E76;          /* tertiary text, captions (5.1:1) */
  --line:#E4E5E8;          /* hairline */
  --line2:#D2D4D9;         /* control outline */
  --brand:#06C755;         /* LINE green — accent only, never body text */
  --brand-ink:#037A34;     /* green text on white (5.6:1) */
  --brand-soft:#E8F8EE;
  --scam:#E5383B;  --scam-ink:#B3261E;   --scam-soft:#FDEDED;
  --unsure:#F5A524;--unsure-ink:#8A5200; --unsure-soft:#FEF5E3;
  --legit:#06C755; --legit-ink:#037A34;  --legit-soft:#E8F8EE;
  /* carrier-charge notice (.k-note): calm slate neutral, never green (##002#) or red/amber (errors).
     --note-ink on --note-soft 8.9:1, --ink2 on --note-soft 8.1:1, --note icon on --note-soft 4.9:1 */
  --note:#5A6B80; --note-ink:#2F4A6B; --note-soft:#F1F4F8; --note-edge:rgba(47,74,107,.18);

  /* ---- type ---- */
  --font:"IBM Plex Sans Thai","Sukhumvit Set","Noto Sans Thai",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --fs-display:clamp(40px,6.2vw,76px);
  --fs-h1:clamp(32px,4.4vw,52px);
  --fs-h2:clamp(26px,3.2vw,40px);
  --fs-h3:20px;
  --fs-lead:clamp(18px,1.6vw,21px);
  --fs-body:17px;
  --fs-sm:15px;
  --fs-xs:13px;
  --lh-head:1.3;           /* Thai stacks marks — never below 1.3 */
  --lh-body:1.65;

  /* ---- shape / space / depth ---- */
  --r-sm:10px; --r:16px; --r-lg:24px; --r-xl:32px; --r-pill:999px;
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px;
  --sp-6:32px; --sp-7:48px; --sp-8:64px; --sp-9:96px; --sp-10:128px;
  --sh-1:0 1px 2px rgba(17,18,20,.06);
  --sh-2:0 1px 2px rgba(17,18,20,.04),0 8px 24px -10px rgba(17,18,20,.14);
  --sh-3:0 2px 6px rgba(17,18,20,.04),0 28px 56px -20px rgba(17,18,20,.22);

  /* ---- layout / touch / motion ---- */
  --wrap:1120px;
  --nav-h:56px;            /* 64px >= 821px, see below */
  --tap:48px;
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-in-out:cubic-bezier(.77,0,.175,1);
  --dur-fast:160ms; --dur:240ms;

  /* ---- business landing v6 (demo.krai-a.com): deep forest + LINE leaf ---- */
  --forest:#0B3D2C; --forest2:#0F5139; --forest3:#14654A;
  --leaf:#06C755; --leaf-hi:#2EE57A; --leaf-deep:#06230F;
  --mint:#E9F6EE; --gpaper:#F6F9F6; --gink:#10221A; --gink2:#41524A; --gink3:#5F6E66; --gline:#DCE6DF;
  --display:"Anuphan","IBM Plex Sans Thai","Sukhumvit Set",-apple-system,"Segoe UI",sans-serif;
  --spring:cubic-bezier(.32,.72,0,1);
  --sh-soft:0 1px 1px rgba(16,34,26,.04),0 24px 48px -24px rgba(16,34,26,.18);

  /* ---- legacy aliases (v4 names; keep until every page is migrated) ---- */
  --paper:var(--soft); --mist:var(--soft); --card:#FFFFFF;
  --line-soft:#EEEFF1;
  --brand-deep:var(--brand-ink);
  --ok:var(--legit-ink); --ok-soft:var(--legit-soft); --safe:var(--legit); --safe-soft:var(--legit-soft); --neon:var(--brand);
  --bad:var(--scam); --bad-soft:var(--scam-soft); --alert:var(--scam); --alert-soft:var(--scam-soft);
  --warn:var(--unsure); --warn-soft:var(--unsure-soft); --warn-ink:var(--unsure-ink);
  --amber:var(--unsure); --amber-soft:var(--unsure-soft);
  --gold:var(--unsure-ink); --gold-soft:var(--unsure-soft);
  --noir:#111214; --noir2:#1B1C20; --noir-line:#2E3036;
  --sh:var(--sh-2); --sh-sm:var(--sh-1);
  --r-s:var(--r-sm);
}
@media (min-width:821px){:root{--nav-h:64px}}
/* Product landing v7 "เช้าสดใส" (daylight mint, owner pick 2026-10-20): mint ->
   sky trays with a soft sun glow, ink type, LINE leaf as the loud colour,
   emerald (never deep forest) for any solid green surface. Kept out of the
   :root block above, which the support console mirrors verbatim. */
:root{
  --forest:#00875A; --forest2:#00764E; --forest3:#05A06A;   /* emerald: white text 4.6:1 */
  --leaf-hi:#22DB6E; --leaf-deep:#04210F;
  --mint:#E6FAEF; --gpaper:#F6FAF7; --gink:#0D2B1D; --gink2:#3A5145; --gink3:#5C6F65; --gline:#D5E8DC;
  --day:linear-gradient(162deg,#F3FFF8 0%,#DDF8E9 42%,#D2F2FF 100%);   /* the daylight tray */
  --sun:rgba(255,236,150,.75);
}
/* demo.krai-a.com (frozen): keeps the v6 deep forest it was built with */
body.hk-body{--forest:#0B3D2C;--forest2:#0F5139;--forest3:#14654A;--leaf-hi:#2EE57A;--leaf-deep:#06230F;--mint:#E9F6EE;--gpaper:#F6F9F6;--gink:#10221A;--gink2:#41524A;--gink3:#5F6E66;--gline:#DCE6DF}

/* ---------- base ---------- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px);-webkit-text-size-adjust:100%;color-scheme:light only}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
h1,h2,h3,h4{line-height:var(--lh-head);font-weight:700;text-wrap:balance;color:var(--ink)}
p,li{text-wrap:pretty}
img,svg{max-width:100%}
::selection{background:var(--brand-soft)}
a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--brand-ink)}
button{font-family:inherit}
:focus-visible{outline:3px solid var(--brand-ink);outline-offset:2px;border-radius:6px}   /* 5.6:1 on white (>= 3:1 non-text) */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.narrow{max-width:760px;margin:0 auto;padding:0 20px}
.num,.tnum{font-variant-numeric:tabular-nums}
.ch{display:inline-block}   /* Thai phrase chunk: wrap between chunks, never inside */
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dots,.dots-light{background-image:none}   /* v4 texture retired */

/* ---------- nav (rendered by site.js) ---------- */
.nav{position:sticky;top:0;z-index:50;min-height:var(--nav-h);background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);box-shadow:0 1px 0 var(--line)}
.nav-in{max-width:var(--wrap);margin:0 auto;height:var(--nav-h);padding:0 12px 0 20px;display:flex;align-items:center;gap:var(--sp-2)}
.brand{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;min-height:var(--tap);font-weight:700;font-size:19px;color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.brand:hover{color:var(--ink)}
.brand .dot{width:26px;height:26px;border-radius:8px;background:var(--brand);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:700;flex:none}
/* app icon (girl peeking from behind a phone): rounded like the home-screen icon */
.brand-logo{display:block;width:32px;height:32px;flex:none;border-radius:8px}
.brand-logo.sm,.foot-brand .brand-logo{width:28px;height:28px;border-radius:7px}
.nav-links{display:flex;align-items:center;gap:2px;margin-left:var(--sp-5)}
.nav-links a{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 14px;color:var(--ink2);text-decoration:none;font-size:var(--fs-sm);font-weight:500;border-radius:var(--r-sm);transition:color var(--dur-fast) ease}
.nav-links a:hover{color:var(--ink)}
.nav-links a.on{color:var(--ink);font-weight:600}
.nav-links .nav-sheet-only{display:none}
.nav-sheet-slot{display:contents}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2)}
.nav-text{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 12px;font-size:var(--fs-sm);font-weight:500;color:var(--ink2);text-decoration:none;background:none;border:0;cursor:pointer}
.nav-text:hover{color:var(--ink)}
.hamb{display:none;flex:none;width:var(--tap);height:var(--tap);align-items:center;justify-content:center;flex-direction:column;gap:6px;background:none;border:0;border-radius:var(--r-sm);cursor:pointer}
.hamb span{display:block;width:20px;height:1.5px;background:var(--ink);border-radius:2px;transition:transform var(--dur) var(--ease-out)}
body.menu-open .hamb span:first-child{transform:translateY(3.75px) rotate(45deg)}
body.menu-open .hamb span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
@media (max-width:720px){
  .nav-in{padding:0 4px 0 16px;gap:var(--sp-1)}
  .nav-right .nav-text{display:none}
  .hamb{display:inline-flex}
  .nav-links{display:none;position:absolute;top:var(--nav-h);left:0;right:0;margin:0;flex-direction:column;align-items:stretch;gap:0;padding:var(--sp-2) var(--sp-4) var(--sp-4);background:#fff;box-shadow:0 1px 0 var(--line),var(--sh-2)}
  .nav-links a{min-height:52px;font-size:var(--fs-body);color:var(--ink);padding:0 4px;border-radius:0;box-shadow:0 1px 0 var(--line-soft)}
  .nav-links>:last-child,.nav-sheet-slot>*{box-shadow:none}
  .nav-links .nav-sheet-only{display:inline-flex;align-items:center;min-height:52px;padding:0 4px;font-size:var(--fs-body);font-weight:500;color:var(--ink);text-align:left}
  body.menu-open .nav-links{display:flex}
}

/* ---------- buttons: one primary per screen ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--tap);padding:0 22px;font-family:var(--font);font-size:16px;font-weight:600;line-height:1.2;border-radius:var(--r-pill);border:0;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease,color var(--dur-fast) ease}
.btn:active{transform:scale(.97)}
.btn.primary,.btn.sun{background:var(--ink);color:#fff}
.btn.primary:hover,.btn.sun:hover{background:#2B2D33;color:#fff}
.btn.dark,.btn.light,.btn.secondary{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2)}
.btn.dark:hover,.btn.light:hover,.btn.secondary:hover{box-shadow:inset 0 0 0 1px var(--ink3);color:var(--ink)}
.btn.ghost{background:none;color:var(--ink);padding:0 12px}
.btn.ghost:hover{color:var(--brand-ink)}
.btn.small{min-height:40px;padding:0 16px;font-size:var(--fs-sm)}
.btn.small::after{content:"";position:absolute;inset:-4px 0}   /* 48px hit area */
.btn.big{min-height:56px;padding:0 30px;font-size:17px}
.btn .arr{display:inline-flex;font-weight:500}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed;transform:none}
.btn .play{width:0;height:0;border-left:9px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:2px}

/* ---------- marketing primitives ---------- */
.section{padding:var(--sp-9) 0}
.section.soft,.section.alt,.section.cream{background:var(--soft)}
.sec-head{max-width:680px;margin-bottom:var(--sp-7)}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head h2{font-size:var(--fs-h2)}
.sec-head p{color:var(--ink2);margin-top:var(--sp-3);font-size:var(--fs-lead)}
.lede{font-size:var(--fs-lead);color:var(--ink2);max-width:34em}
.kicker{display:inline-block;font-size:var(--fs-sm);font-weight:600;color:var(--brand-ink)}
.hl{color:inherit}
.card{background:#fff;border-radius:var(--r-lg);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.card .pad{padding:var(--sp-5)}
@media (max-width:720px){.section{padding:var(--sp-7) 0}.sec-head{margin-bottom:var(--sp-5)}}

/* FAQ accordion (native details, animated marker only) */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);min-height:64px;padding:var(--sp-3) 0;font-weight:600;font-size:var(--fs-body);cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:10px;height:10px;border-right:1.5px solid var(--ink2);border-bottom:1.5px solid var(--ink2);transform:translateY(-3px) rotate(45deg);transition:transform var(--dur) var(--ease-out)}
.faq details[open] summary::after{transform:translateY(2px) rotate(225deg)}
.faq details>div{padding:0 0 var(--sp-5);color:var(--ink2);font-size:var(--fs-sm);max-width:62ch}
.faq summary:hover{color:var(--ink)}

/* ---------- footer (rendered by site.js) ---------- */
.foot{background:var(--soft);color:var(--ink2);font-size:var(--fs-sm);margin-top:0;box-shadow:inset 0 1px 0 var(--line)}
.foot-in{max-width:var(--wrap);margin:0 auto;padding:var(--sp-7) 20px var(--sp-5);display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--sp-5) var(--sp-7)}
.foot-brand p{margin-top:var(--sp-2);max-width:30em;color:var(--ink3)}
.foot-links{display:flex;flex-wrap:wrap;gap:0 var(--sp-2)}
.foot-links a{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 10px;color:var(--ink2);text-decoration:none}
.foot-links a:hover{color:var(--ink)}
.foot-base{max-width:var(--wrap);margin:0 auto;padding:var(--sp-4) 20px var(--sp-6);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--sp-3);border-top:1px solid var(--line);font-size:var(--fs-xs);color:var(--ink3)}
.foot + .foot-note{display:none}
@media (max-width:720px){
  .foot-in{padding:var(--sp-6) 20px var(--sp-3);gap:var(--sp-3)}
  .foot-brand p{display:none}
  .foot-links{margin-left:-10px}
  .foot-base{padding-bottom:var(--sp-5)}
}   /* v4 recordings note retired */
/* v4 footer grid (pages not yet migrated) */
.foot-grid{max-width:var(--wrap);margin:0 auto;padding:var(--sp-7) 20px 0;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--sp-5)}
.foot h4{color:var(--ink);font-size:var(--fs-sm);margin-bottom:var(--sp-2)}
.foot-grid a{color:var(--ink2);text-decoration:none;display:block;padding:3px 0}
.foot-note{font-size:var(--fs-xs);color:var(--ink3)}

/* language switch — segmented, lives in the footer */
.lang-seg{display:inline-flex;padding:3px;background:#fff;border-radius:var(--r-pill);box-shadow:inset 0 0 0 1px var(--line)}
.lang-seg button{min-height:var(--tap);min-width:72px;padding:0 14px;border:0;border-radius:var(--r-pill);background:none;color:var(--ink2);font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease}
.lang-seg button.on{background:var(--ink);color:#fff}
.lang-seg button:not(.on):hover{color:var(--ink)}

/* v4 listbox language menu (LIFF / unmigrated pages) */
.lang{position:relative;display:inline-block}
.lang-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;background:#fff;border:0;box-shadow:inset 0 0 0 1px var(--line2);border-radius:var(--r-pill);padding:0 13px 0 11px;font-family:var(--font);font-weight:600;font-size:13.5px;color:var(--ink2);cursor:pointer}
.lang-ic{width:16px;height:16px;color:var(--ink3);flex:none}
.lang-cur{min-width:46px;text-align:left}
.lang-chev{width:7px;height:7px;flex:none;border-right:1.5px solid var(--ink3);border-bottom:1.5px solid var(--ink3);transform:rotate(45deg) translateY(-2px)}
.lang-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:172px;background:#fff;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line),var(--sh-2);padding:6px;list-style:none;z-index:70;margin:0}
.lang-menu[hidden]{display:none}
.lang-menu li{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;font-size:14px;font-weight:600;color:var(--ink2);cursor:pointer}
.lang-menu li:hover{background:var(--soft);color:var(--ink)}
.lang-menu li[aria-selected="true"]{color:var(--ink)}
.lang-code{font-size:11px;font-weight:700;background:var(--soft);color:var(--ink2);border-radius:6px;padding:2px 7px;flex:none}
.lang-tick{margin-left:auto;font-weight:700;color:var(--brand-ink);opacity:0;flex:none}
.lang-menu li[aria-selected="true"] .lang-tick{opacity:1}
.lang-pick{display:inline-flex;gap:4px}

/* ---------- verdict language (shared by demo + member app) ---------- */
.badge{display:inline-flex;align-items:center;font-size:12px;font-weight:700;letter-spacing:.02em;padding:3px 10px;border-radius:var(--r-pill);color:#fff;font-variant-numeric:tabular-nums}
.badge.SCAM{background:var(--scam-ink)}   /* white text AA at 12px */
.badge.LEGIT{background:var(--legit-ink)}
.badge.UNSURE{background:var(--unsure);color:#3D2600}

/* ---------- app surfaces / forms (start, dashboard) ---------- */
.page-hero{background:var(--bg);padding:var(--sp-8) 0 var(--sp-5)}
.page-hero h1{font-size:var(--fs-h1);margin:var(--sp-2) 0 var(--sp-2)}
.page-hero p{color:var(--ink2);font-size:var(--fs-lead);max-width:36em}
.page-body{padding:var(--sp-5) 0 var(--sp-7)}
.app-card{background:#fff;border-radius:var(--r-lg);box-shadow:inset 0 0 0 1px var(--line);padding:var(--sp-5);margin:0 0 var(--sp-4)}
.app-card h2{font-size:var(--fs-h3);margin-bottom:6px}
.app-card .sub{color:var(--ink2);font-size:var(--fs-sm);margin-bottom:var(--sp-2)}
.field{margin:var(--sp-4) 0}
.field label{display:block;font-size:var(--fs-sm);font-weight:600;margin-bottom:6px}
.field input,.field select{width:100%;min-height:var(--tap);border:0;box-shadow:inset 0 0 0 1px var(--line2);border-radius:var(--r-sm);padding:0 14px;font-size:17px;font-family:var(--font);background:#fff;color:var(--ink)}
.field input:focus,.field select:focus{outline:none;box-shadow:inset 0 0 0 2px var(--ink)}
.field .hint{font-size:var(--fs-xs);color:var(--ink3);margin-top:6px}
.alert{border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-sm);margin:var(--sp-3) 0;background:var(--soft);color:var(--ink2)}
.alert.err{background:var(--scam-soft);color:var(--scam-ink)}
.alert.ok{background:var(--legit-soft);color:var(--legit-ink)}
.alert.info{background:var(--soft);color:var(--ink)}
.alert code{font-family:var(--mono);font-size:18px;font-weight:700;letter-spacing:.12em}
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--sp-4)}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3)}
.stat{background:var(--soft);border-radius:var(--r);padding:var(--sp-4)}
.stat .n{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums}
.stat .l{font-size:var(--fs-xs);color:var(--ink3);font-weight:500}
.meter{height:6px;background:var(--soft2);border-radius:var(--r-pill);overflow:hidden;margin-top:var(--sp-2)}
.meter i{display:block;height:100%;background:var(--ink);border-radius:var(--r-pill)}
.rowline{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:var(--tap);padding:10px 2px;border-bottom:1px solid var(--line-soft);font-size:var(--fs-sm)}
.rowline:last-child{border-bottom:none}
.rowline .meta{color:var(--ink3);font-size:var(--fs-xs)}
.rowline code{font-family:var(--mono);font-size:13.5px}
.mini{min-height:40px;font-size:var(--fs-xs);padding:0 14px;border-radius:var(--r-pill);border:0;box-shadow:inset 0 0 0 1px var(--line2);background:#fff;cursor:pointer;font-family:var(--font);font-weight:600;color:var(--ink2)}
.mini:hover{box-shadow:inset 0 0 0 1px var(--ink3);color:var(--ink)}
.mini.del{color:var(--scam-ink)}
.turns{margin-top:var(--sp-2)}
.turn{background:var(--soft);border-radius:var(--r-sm);padding:9px 13px;margin-bottom:7px;font-size:var(--fs-sm)}
.turn b{font-size:var(--fs-xs);color:var(--ink3);display:block;font-weight:600}
.fwd-code{font-family:var(--mono);font-size:20px;font-weight:700;background:var(--soft);color:var(--ink);border-radius:var(--r);padding:15px 18px;text-align:center;margin:var(--sp-3) 0;font-variant-numeric:tabular-nums}
.fwd-cap{font-size:var(--fs-xs);font-weight:600;color:var(--ink3);margin-top:var(--sp-3)}
.plan-pick{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.plan-pick button{min-height:var(--tap);font-family:var(--font);font-size:var(--fs-sm);font-weight:600;padding:0 18px;border-radius:var(--r-pill);border:0;box-shadow:inset 0 0 0 1px var(--line2);background:#fff;cursor:pointer;color:var(--ink2)}
.plan-pick button.on{background:var(--ink);box-shadow:none;color:#fff}
.trial-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--legit-soft);border-radius:var(--r);padding:12px 18px;font-size:var(--fs-sm);font-weight:500;color:var(--legit-ink);margin-bottom:var(--sp-4)}
.trial-banner.over{background:var(--unsure-soft);color:var(--unsure-ink)}
.danger-zone{background:var(--scam-soft);border-radius:var(--r);padding:var(--sp-5);margin-top:var(--sp-2)}
.danger-zone h3{font-size:16px;color:var(--scam-ink);margin-bottom:4px}
.danger-zone p{font-size:var(--fs-sm);color:var(--ink2);margin-bottom:var(--sp-3)}
.danger-zone .btnrow,.btnrow{display:flex;gap:10px;flex-wrap:wrap}
.cancel-strip{display:flex;align-items:center;gap:var(--sp-4);background:var(--soft);border-radius:var(--r);padding:var(--sp-4) var(--sp-5);margin-top:var(--sp-5);font-size:var(--fs-sm)}
.cancel-strip code{font-family:var(--mono);font-size:14px}
.hstep-rail{display:flex;align-items:flex-start;margin:6px 0 20px}
.hstep{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:none;cursor:pointer;font-family:var(--font);position:relative;padding:0 4px}
.hstep .n{width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line2);font-weight:600;font-size:16px;color:var(--ink3);display:flex;align-items:center;justify-content:center;position:relative;z-index:1}
.hstep .t{font-size:var(--fs-xs);font-weight:600;color:var(--ink3);text-align:center}
.hstep::before{content:"";position:absolute;top:20px;left:-50%;width:100%;height:1.5px;background:var(--line2)}
.hstep:first-child::before{display:none}
.hstep.on .n{background:var(--ink);box-shadow:none;color:#fff}
.hstep.on .t{color:var(--ink)}
.hstep.done .n{background:var(--legit-soft);box-shadow:none;color:var(--legit-ink)}
.hstep-panel{display:none}
.hstep-panel.on{display:block}
@media (max-width:640px){
  .hstep-rail{flex-direction:column;align-items:stretch}
  .hstep{flex-direction:row;gap:12px;padding:10px 0 10px 4px;text-align:left}
  .hstep::before{left:23px;top:-12px;width:1.5px;height:22px}
}

/* reveal on scroll — opt-in, used once per page at most */
.rv{opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.rv.in{opacity:1;transform:none}

@media (max-width:920px){
  .dash-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .cancel-strip{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .rv{opacity:1;transform:none}
}


/* ---------- nav language pill (TH | EN) ---------- */
.nav-lang{display:inline-flex;margin-left:auto;padding:3px;border-radius:var(--r-pill);background:rgba(16,34,26,.05)}
.nav-lang button{min-width:40px;min-height:34px;padding:0 10px;border:0;border-radius:var(--r-pill);background:none;font-size:13px;font-weight:600;color:var(--ink2);cursor:pointer;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease}
.nav-lang button.on{background:#fff;color:var(--ink);box-shadow:var(--sh-1)}
.nav-lang+.nav-right{margin-left:var(--sp-2)}
@media (max-width:720px){.nav-lang button{min-height:40px}}

/* =====================================================================
   Business landing (index.html) — "lp-" namespace.
   One idea: a daylight tray holds the promise + the call; every
   section below proves it with a picture, not a paragraph.
   ===================================================================== */
body.home{background:var(--gpaper);color:var(--gink)}
/* text pages (privacy, withdraw): a morning wash at the top, white cards */
body.soft{background:linear-gradient(180deg,#E6F8EE 0,#F3FBF6 260px,var(--gpaper) 520px) no-repeat,var(--gpaper)}
body.soft .nav{background:rgba(236,249,242,.82)}
body.soft .foot{background:transparent}
body.home .nav{background:rgba(246,250,247,.82)}
.home h1,.home h2,.home h3{font-family:var(--display);color:inherit;letter-spacing:-.01em;line-height:1.25}
.lp-wrap{max-width:1200px;margin:0 auto;padding:0 24px}

/* -- hero tray -- */
.lp-hero{padding:12px 12px 0}
.lp-tray{position:relative;overflow:hidden;border-radius:36px;background:var(--day);color:var(--gink);isolation:isolate}
.lp-tray::before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(38% 46% at 88% 6%,var(--sun),transparent 70%),
  radial-gradient(46% 60% at 78% 62%,rgba(6,199,85,.22),transparent 70%),
  radial-gradient(40% 50% at 4% 100%,rgba(0,184,214,.16),transparent 70%)}
.lp-tray::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.7;background-image:radial-gradient(rgba(13,43,29,.07) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(180deg,#000,transparent 75%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 75%)}
.lp-hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-top:88px;padding-bottom:72px}
.lp-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 8px;border-radius:var(--r-pill);background:#fff;box-shadow:0 1px 2px rgba(13,43,29,.06),inset 0 0 0 1px rgba(13,43,29,.08);font-size:14px;font-weight:500;color:var(--gink)}
.lp-chip i{width:22px;height:22px;border-radius:50%;background:var(--leaf);display:inline-flex;align-items:center;justify-content:center;color:#fff}
.lp-chip i svg{width:12px;height:12px}
.lp-hero h1{margin-top:22px;font-size:clamp(42px,5.8vw,78px);font-weight:700;line-height:1.16;color:var(--gink)}
.lp-hero h1 .lp-soft{display:block;color:#00A85A;background:linear-gradient(92deg,#00A85A 10%,#00A3A8 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding-bottom:.08em}
.lp-lede{margin-top:22px;max-width:30em;font-size:clamp(17px,1.5vw,20px);line-height:1.7;color:var(--gink2)}
.lp-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.lp-note{margin-top:16px;font-size:14px;color:var(--gink3)}
.lp-note b{color:var(--gink);font-weight:600}

/* buttons: leaf primary with a nested icon island */
.btn.leaf{background:var(--leaf);color:var(--leaf-deep);padding:0 9px 0 26px;box-shadow:0 12px 28px -12px rgba(0,150,70,.65),inset 0 1px 0 rgba(255,255,255,.35)}
.btn.leaf:hover{background:var(--leaf-hi);color:var(--leaf-deep)}
.btn .isl{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(6,35,15,.12);transition:transform var(--dur) var(--spring)}
.btn:hover .isl{transform:translateX(2px) scale(1.06)}
.btn .isl svg{width:16px;height:16px}
.btn.glass{background:#fff;color:var(--gink);box-shadow:0 1px 2px rgba(13,43,29,.06),inset 0 0 0 1px rgba(13,43,29,.1)}
.btn.glass:hover{background:#fff;color:var(--gink);box-shadow:0 4px 14px -6px rgba(13,43,29,.2),inset 0 0 0 1px rgba(13,43,29,.18)}
.btn.forest{background:var(--forest);color:#fff}
.btn.forest:hover{background:var(--forest2);color:#fff}
.btn.outline{background:#fff;color:var(--gink);box-shadow:inset 0 0 0 1px var(--gline)}
.btn.outline:hover{box-shadow:inset 0 0 0 1px var(--gink3);color:var(--gink)}

/* -- stage: phone + floating LINE card -- */
.lp-stage{position:relative;display:flex;justify-content:center}
.lp-phone{position:relative;width:min(320px,80vw);aspect-ratio:320/640;border-radius:52px;padding:10px;background:linear-gradient(160deg,#1d2a24,#050807);box-shadow:0 0 0 1px rgba(255,255,255,.08),0 50px 90px -30px rgba(0,0,0,.65);color:#fff}
.lp-phone-screen{position:relative;height:100%;border-radius:42px;overflow:hidden;background:linear-gradient(180deg,#123c2c 0%,#0a2219 100%);display:flex;flex-direction:column;align-items:center;padding:16px 18px 28px;text-align:center}
.lp-island{width:96px;height:28px;border-radius:16px;background:#000;margin:0 auto 22px;flex:none}
.lp-in-cap{font-size:14px;color:rgba(255,255,255,.7)}
.lp-avatar{position:relative;width:96px;height:96px;margin:26px auto 16px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;flex:none}
.lp-avatar svg{width:44px;height:44px;opacity:.85}
.lp-avatar::before,.lp-avatar::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 2px rgba(46,229,122,.5);animation:lp-ring 2.4s var(--ease-out) infinite}
.lp-avatar::after{animation-delay:1.2s}
@keyframes lp-ring{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.7);opacity:0}}
.lp-in-num{font-family:var(--display);font-size:28px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.lp-in-tag{margin-top:4px;font-size:14px;color:rgba(255,255,255,.6)}
.lp-transfer{margin-top:auto;width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:12px 14px;border-radius:20px;background:rgba(6,199,85,.16);box-shadow:inset 0 0 0 1px rgba(46,229,122,.35);font-size:13.5px;line-height:1.45}
.lp-transfer i{flex:none;width:34px;height:34px;border-radius:50%;background:var(--leaf);display:flex;align-items:center;justify-content:center;color:var(--leaf-deep)}
.lp-transfer i svg{width:18px;height:18px}
.lp-transfer b{display:block;font-weight:600}
.lp-keys{display:flex;justify-content:space-between;width:78%;margin-top:22px;flex:none}
.lp-keys span{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.lp-keys .no{background:#e5484d}.lp-keys .yes{background:var(--leaf)}
.lp-keys svg{width:24px;height:24px}
.lp-keys .no svg{transform:rotate(135deg)}
.lp-demo{position:relative;width:100%;display:flex;justify-content:center}
/* the shared call demo sits on the dark tray */
.lp-stage{flex-direction:column;align-items:center}
.lp-tray .kcd-note{color:var(--gink3)}
.lp-tray .kcd-phone{box-shadow:0 50px 90px -34px rgba(0,80,50,.55),0 0 0 1px rgba(13,43,29,.08)}
.lp-cases{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:420px;margin-top:18px}
.lp-cases button{min-height:40px;padding:0 14px;border:0;border-radius:var(--r-pill);background:rgba(255,255,255,.72);box-shadow:inset 0 0 0 1px rgba(13,43,29,.1);color:var(--gink2);font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-fast) var(--spring)}
.lp-cases button:hover{background:#fff;color:var(--gink)}
.lp-cases button:active{transform:scale(.97)}
.lp-cases button[aria-pressed="true"]{background:var(--gink);color:#fff;box-shadow:none;font-weight:600}
.lp-float{transition:opacity .5s var(--spring),transform .5s var(--spring)}
.lp-stage.live .lp-float{opacity:0;transform:translateY(-8px)}

.lp-float{position:absolute;z-index:3;width:272px;padding:12px 14px;border-radius:20px;background:rgba(255,255,255,.97);color:var(--gink);box-shadow:0 24px 50px -22px rgba(13,60,40,.35),0 0 0 1px rgba(13,43,29,.05);display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.45;text-align:left;pointer-events:none}
.lp-float.f1{right:-28px;top:-6px;transform:rotate(2deg)}
.lp-float.f2{left:-34px;top:47%;transform:rotate(-2deg)}
.lp-float .lg{flex:none;width:34px;height:34px;border-radius:10px;background:var(--leaf);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;letter-spacing:.02em}
.lp-float .lg.rd{background:#FCEDEC;color:#B3261E}
.lp-float .lg svg{width:18px;height:18px}
.lp-float b{display:block;font-size:13px}
.lp-float small{display:block;font-size:12px;color:var(--gink3)}
.lp-float .tm{margin-left:auto;font-size:11px;color:var(--gink3);flex:none}

/* -- proof strip inside the tray -- */
.lp-proof{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(13,43,29,.1)}
.lp-proof li{padding:30px 24px 30px;border-left:1px solid rgba(13,43,29,.1)}
.lp-proof li:first-child{border-left:0;padding-left:0}
.lp-proof b{display:block;font-family:var(--display);font-size:clamp(38px,4.2vw,58px);font-weight:700;line-height:1.05;font-variant-numeric:tabular-nums;color:var(--gink)}
.lp-proof b small{font-size:.5em;font-weight:600;color:var(--gink3);margin-left:2px}
.lp-proof span{display:block;margin-top:8px;font-size:15px;line-height:1.5;color:var(--gink2)}
.lp-proof-src{padding:0 0 26px;font-size:12.5px;color:var(--gink3)}

/* -- generic section -- */
.lp-sec{padding:120px 0}
.lp-sec.mint{background:var(--mint)}
.lp-head{max-width:720px;margin-bottom:56px}
.lp-head.c{margin-left:auto;margin-right:auto;text-align:center}
.lp-head h2{font-size:clamp(32px,4vw,52px);font-weight:700}
.lp-head p{margin-top:14px;font-size:clamp(17px,1.4vw,19px);color:var(--gink2)}

/* bezel card: outer shell + inner core */
.lp-bezel{padding:6px;border-radius:32px;background:rgba(16,34,26,.04);box-shadow:inset 0 0 0 1px rgba(16,34,26,.05)}
.lp-core{height:100%;border-radius:26px;background:#fff;box-shadow:var(--sh-soft),inset 0 1px 0 rgba(255,255,255,.8)}

/* -- before / after -- */
.lp-ba{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.lp-ba .lp-core{padding:36px 34px 32px;display:flex;flex-direction:column}
.lp-ba-tag{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:5px 14px;border-radius:var(--r-pill);font-size:14px;font-weight:600}
.lp-before .lp-ba-tag{background:#FCEDEC;color:#A42A22}
.lp-after .lp-ba-tag{background:var(--mint);color:#037A34}
.lp-ba h3{margin-top:16px;font-size:clamp(24px,2.4vw,32px)}
.lp-tl{list-style:none;margin:26px 0 0;position:relative}
.lp-tl li{position:relative;padding:0 0 22px 42px;font-size:16px;line-height:1.6;color:var(--gink2)}
.lp-tl li::before{content:"";position:absolute;left:13px;top:30px;bottom:2px;width:2px;background:var(--gline)}
.lp-tl li:last-child::before{display:none}
.lp-tl i{position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.lp-before .lp-tl i{background:#FCEDEC;color:#A42A22}
.lp-after .lp-tl i{background:var(--mint);color:#037A34}
.lp-tl q{display:block;color:var(--gink);font-weight:500}
.lp-out{margin-top:auto;padding-top:22px;border-top:1px dashed var(--gline);display:flex;align-items:baseline;justify-content:space-between;gap:4px 12px;flex-wrap:wrap}
.lp-out span{font-size:15px;color:var(--gink2)}
.lp-out b{font-family:var(--display);font-size:clamp(34px,3.6vw,48px);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}
.lp-before .lp-out b{color:#B3261E}
.lp-after .lp-out b{color:#037A34}
.lp-out small{flex-basis:100%;font-size:12.5px;color:var(--gink3)}

/* -- what the family sees -- */
.lp-fam{display:grid;grid-template-columns:.95fr 1.05fr;gap:64px;align-items:center}
.lp-line{max-width:400px;margin:0 auto;width:100%}
.lp-line .lp-core{overflow:hidden;background:linear-gradient(180deg,#A9C1E3,#8AA8D4)}
.lp-line-top{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#fff;color:var(--gink);font-weight:600;font-size:15px}
.lp-line-top .lg{width:30px;height:30px;border-radius:9px;background:var(--leaf);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.lp-line-top .lg img{display:block;width:100%;height:100%;border-radius:inherit}
.lp-line-top small{margin-left:auto;font-weight:500;color:var(--gink3);font-size:12px}
.lp-line-body{padding:22px 18px 26px}
.lp-flex{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px -16px rgba(0,0,0,.35)}
.lp-flex-band{padding:12px 16px;background:#B3261E;color:#fff;font-weight:700;font-size:15px;display:flex;align-items:center;gap:8px}
.lp-flex-band svg{width:18px;height:18px}
.lp-flex-in{padding:14px 16px 16px;font-size:14px;line-height:1.55;color:var(--gink2)}
.lp-flex-in b.t{display:block;font-size:17px;color:var(--gink);margin-bottom:6px;font-family:var(--display)}
.lp-flex-row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid #EEF2EF;font-size:13px}
.lp-flex-row span:first-child{color:var(--gink3)}
.lp-flex-row span:last-child{color:var(--gink);font-weight:500;text-align:right}
.lp-flex-btns{display:grid;gap:8px;margin-top:12px}
.lp-flex-btns span{display:flex;align-items:center;justify-content:center;min-height:40px;border-radius:10px;font-weight:600;font-size:14px;color:#037A34;background:var(--mint)}
.lp-fam-list{list-style:none;margin-top:28px;display:grid;gap:16px}
.lp-fam-list li{display:flex;gap:14px;align-items:flex-start;font-size:16px;color:var(--gink2);line-height:1.6}
.lp-fam-list li b{color:var(--gink);display:block}
.lp-fam-list i{flex:none;width:38px;height:38px;border-radius:12px;background:#fff;color:#037A34;display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-1)}
.lp-fam-list svg{width:18px;height:18px}

/* audio clip player (the call recording the family receives) */
.lp-clip{margin-top:32px}
.lp-clip .lp-core{padding:14px 18px 14px 14px;display:flex;align-items:center;gap:14px}
.lp-play{flex:none;width:52px;height:52px;border-radius:50%;border:0;background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform var(--dur-fast) var(--spring),background-color var(--dur-fast) ease}
.lp-play:hover{background:var(--forest2)}
.lp-play:active{transform:scale(.95)}
.lp-play svg{width:20px;height:20px}
.lp-play .pz{display:none}
.lp-clip.on .lp-play .pl{display:none}
.lp-clip.on .lp-play .pz{display:block}
.lp-clip-txt{flex:1;min-width:0}
.lp-clip-txt b{display:block;font-size:15px}
.lp-clip-cap{display:block;font-size:14px;color:var(--gink2);line-height:1.5;min-height:3em}
.lp-clip-cap em{font-style:normal;font-weight:600;color:var(--gink)}
.lp-bars{display:flex;align-items:center;gap:3px;height:28px;flex:none}
.lp-bars i{width:3px;height:10px;border-radius:2px;background:var(--gline)}
.lp-clip.on .lp-bars i{background:var(--leaf);animation:lp-bar 1s var(--ease-in-out) infinite}
/* demo video: a thumbnail facade in the bezel; the YouTube player replaces it on a tap (js/demo-video.js) */
.lp-vid-sec{padding-top:0}
.lp-vid{max-width:960px;margin:0 auto}
.lp-vid .lp-core{padding:8px}
.lp-vid-frame{position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:var(--day)}
.lp-vid-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid-facade{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:var(--day);cursor:pointer;color:#fff}
.vid-facade[hidden]{display:none}
.vid-facade img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--dur) var(--ease-out),opacity var(--dur) ease}
.vid-facade::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,60,40,0) 60%,rgba(0,60,40,.45))}
.vid-play{position:absolute;left:50%;top:50%;z-index:1;display:flex;align-items:center;justify-content:center;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:var(--forest);color:#fff;box-shadow:0 0 0 6px rgba(255,255,255,.22),0 12px 32px -8px rgba(6,35,15,.55);transition:transform var(--dur-fast) var(--spring),background-color var(--dur-fast) ease}
.vid-play svg{width:28px;height:28px;transform:translateX(2px)}
.vid-len{position:absolute;left:16px;bottom:14px;z-index:1;padding:5px 12px;border-radius:999px;background:rgba(6,35,15,.72);font-size:14px;font-weight:600;line-height:1.3}
.vid-facade:hover .vid-play{transform:scale(1.06);background:var(--forest2)}
.vid-facade:hover img{transform:scale(1.02)}
.vid-facade:active .vid-play{transform:scale(.96)}
.vid-facade:focus-visible{outline:3px solid var(--leaf-hi);outline-offset:-3px;border-radius:20px}
@media (max-width:560px){.lp-vid .lp-core{padding:6px}.lp-vid-frame{border-radius:18px}.vid-play{width:60px;height:60px;margin:-30px 0 0 -30px}.vid-play svg{width:22px;height:22px}.vid-len{left:10px;bottom:10px;padding:3px 10px;font-size:12px}}
@media (prefers-reduced-motion:reduce){.vid-facade img,.vid-play{transition:none}.vid-facade:hover img,.vid-facade:hover .vid-play{transform:none}}
.lp-bars i:nth-child(2n){animation-delay:.15s}.lp-bars i:nth-child(3n){animation-delay:.3s}.lp-bars i:nth-child(5n){animation-delay:.45s}
@keyframes lp-bar{0%,100%{transform:scaleY(.6)}50%{transform:scaleY(2.4)}}

/* -- setup steps (a real sequence) -- */
.lp-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.lp-steps .lp-core{padding:30px 28px 32px}
.lp-steps .n{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--forest);color:#fff;font-family:var(--display);font-weight:700;font-variant-numeric:tabular-nums}
.lp-steps h3{margin-top:18px;font-size:22px}
.lp-steps p{margin-top:8px;color:var(--gink2);font-size:15.5px}
.lp-dial{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:14px;background:var(--gpaper);box-shadow:inset 0 0 0 1px var(--gline);font-size:13px;color:var(--gink3)}
.lp-dial code{font-family:var(--mono);font-size:17px;font-weight:700;color:var(--gink);letter-spacing:.04em}
/* forwarding guide (landing #forwarding): two options + the calm way out */
.lp-fwd{margin-top:56px;display:grid;gap:20px}
.lp-fwd-h{font-size:clamp(22px,2.4vw,28px);text-align:center}
.lp-fwd-opts{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.lp-fwd-opt{position:relative;padding:28px 28px 26px;border-radius:26px;background:#fff;box-shadow:var(--sh-soft),inset 0 0 0 1px var(--gline);display:flex;flex-direction:column}
.lp-fwd-opt.rec{box-shadow:var(--sh-soft),inset 0 0 0 2px var(--forest)}
.lp-fwd-tag{align-self:flex-start;margin-bottom:12px;padding:3px 12px;border-radius:999px;background:var(--forest);color:#fff;font-size:13px;font-weight:600}
.lp-fwd-opt h4{font-family:var(--display);font-size:21px;color:var(--gink)}
.lp-fwd-opt p{margin-top:8px;color:var(--gink2);font-size:15.5px;flex:1}
.lp-fwd-code{margin-top:16px;padding:12px 14px;border-radius:14px;background:var(--gpaper);box-shadow:inset 0 0 0 1px var(--gline);text-align:center}
.lp-fwd-code code{font-family:var(--mono);font-size:19px;font-weight:700;color:var(--gink);letter-spacing:.03em;user-select:all;-webkit-user-select:all}
.lp-fwd-code i{font-style:normal;font-family:var(--font);font-size:14px;font-weight:600;color:var(--gink3);padding:0 4px}
.lp-fwd-full{text-align:center;color:var(--gink3);font-size:14.5px}
.lp-safe{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:22px 24px;border-radius:26px;background:var(--mint);box-shadow:inset 0 0 0 1px rgba(6,199,85,.22)}
.lp-safe-ic{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#fff;color:var(--forest2)}
.lp-safe-ic svg{width:28px;height:28px}
.lp-safe-t b{display:block;font-family:var(--display);font-size:20px;color:var(--gink);line-height:1.3}
.lp-safe-t p{margin-top:4px;color:var(--gink2);font-size:15.5px}
.lp-safe code{font-family:var(--mono);font-weight:700;color:var(--gink);background:#fff;padding:1px 8px;border-radius:8px;white-space:nowrap;user-select:all;-webkit-user-select:all}
.lp-copy{min-height:48px;padding:0 18px;border:0;border-radius:999px;background:var(--forest);color:#fff;font:600 15px var(--font);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}
.lp-copy:hover{background:var(--forest2)}
.lp-copy:active{transform:scale(.97)}
.lp-copy:focus-visible{outline:3px solid var(--leaf);outline-offset:2px}
.lp-fwd-notes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;color:var(--gink3);font-size:14px}
.lp-fwd-notes li{padding-left:14px;position:relative}
.lp-fwd-notes li::before{content:"";position:absolute;left:0;top:.7em;width:5px;height:5px;border-radius:50%;background:var(--gink3)}
@media (max-width:820px){.lp-fwd-opts,.lp-fwd-notes{grid-template-columns:1fr}.lp-safe{grid-template-columns:auto 1fr}.lp-safe .lp-copy{grid-column:1 / -1;justify-self:stretch}}
@media (max-width:560px){.lp-fwd{margin-top:40px}.lp-fwd-opt{padding:22px 20px}.lp-safe{padding:18px;gap:14px}.lp-safe-ic{width:44px;height:44px}}
.lp-otp{margin-top:18px;display:flex;gap:6px}
.lp-otp span{width:38px;height:46px;border-radius:12px;background:var(--gpaper);box-shadow:inset 0 0 0 1px var(--gline);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}
.lp-mini-line{margin-top:18px;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--mint);font-size:13.5px;color:var(--gink)}
.lp-mini-line .lg{width:26px;height:26px;border-radius:8px;background:var(--leaf);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex:none}

/* -- pricing -- */
.lp-period{display:flex;justify-content:center;margin:-24px 0 36px}
.lp-seg{display:inline-flex;padding:4px;border-radius:var(--r-pill);background:#fff;box-shadow:inset 0 0 0 1px var(--gline)}
.lp-seg button{min-height:44px;min-width:120px;padding:0 18px;border:0;border-radius:var(--r-pill);background:none;font-size:15px;font-weight:600;color:var(--gink2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease}
.lp-seg button.on{background:var(--forest);color:#fff}
.lp-seg .save{font-size:12px;padding:1px 8px;border-radius:var(--r-pill);background:var(--mint);color:#037A34}
.lp-seg button.on .save{background:rgba(255,255,255,.16);color:#fff}
.lp-seg .save:empty{display:none}
.lp-plans{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:900px;margin:0 auto}
.lp-plan .lp-core{position:relative;padding:34px 30px 30px;display:flex;flex-direction:column}
.lp-plan.rec{background:linear-gradient(160deg,rgba(6,199,85,.55),rgba(0,163,168,.35))}
.lp-plan.rec .lp-core{background:var(--day);color:var(--gink)}
.lp-plan .tag{position:absolute;top:24px;right:24px;font-size:13px;font-weight:600;padding:4px 12px;border-radius:var(--r-pill);background:var(--leaf);color:var(--leaf-deep)}
.lp-plan h3{font-size:24px}
.lp-plan .for{margin-top:4px;font-size:15px;color:var(--gink2)}
.lp-plan.rec .for{color:var(--gink2)}
.lp-amt{display:flex;align-items:baseline;gap:6px;margin-top:20px}
.lp-amt b{font-family:var(--display);font-size:clamp(52px,5vw,68px);font-weight:700;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.lp-amt span{font-size:16px;color:var(--gink3)}
.lp-plan.rec .lp-amt span{color:var(--gink3)}
.lp-per{min-height:1.6em;margin-top:8px;font-size:14.5px;color:var(--gink3);font-variant-numeric:tabular-nums}
.lp-plan.rec .lp-per{color:var(--brand-ink)}
.lp-plan ul{list-style:none;margin:20px 0 26px;flex:1;display:grid;gap:10px;align-content:start}
.lp-plan li{position:relative;padding-left:28px;font-size:15.5px;line-height:1.55;color:var(--gink2);font-variant-numeric:tabular-nums}
.lp-plan.rec li{color:var(--gink)}
.lp-plan li::before{content:"";position:absolute;left:0;top:4px;width:18px;height:18px;border-radius:50%;background:var(--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5.2 9.2l2.6 2.6 5-5.3' fill='none' stroke='%23037A34' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.lp-plan.rec li::before{background-color:var(--leaf);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5.2 9.2l2.6 2.6 5-5.3' fill='none' stroke='%2306230F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.lp-plan .btn{width:100%}
.lp-fine{margin-top:12px;text-align:center;font-size:13px;color:var(--gink3)}
.lp-plan.rec .lp-fine{color:var(--gink3)}
.lp-extra{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin-top:32px;font-size:15px;color:var(--gink2);text-align:center}
.lp-extra a{color:var(--gink);font-weight:600}

/* -- faq + close -- */
.lp-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.lp-faq .lp-head{margin-bottom:0}
.home .faq,.home .faq details{border-color:var(--gline)}
.lp-close{margin:0 12px 12px;border-radius:36px;background:var(--day);color:var(--gink);text-align:center;padding:96px 24px;position:relative;overflow:hidden;isolation:isolate}
.lp-close::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 80% at 50% 120%,rgba(6,199,85,.28),transparent 70%),radial-gradient(30% 50% at 90% 0%,var(--sun),transparent 70%)}
/* the girl from the logo peeks in from the corner: warmth, never content */
.lp-close .lp-mascot{position:absolute;z-index:-1;left:clamp(8px,4vw,64px);bottom:-36px;width:clamp(150px,17vw,230px);height:auto;transform:rotate(-6deg);filter:drop-shadow(0 24px 30px rgba(13,60,40,.18));pointer-events:none}
@media (max-width:820px){.lp-close{padding-bottom:150px}.lp-close .lp-mascot{left:50%;width:140px;bottom:-30px;transform:translateX(-50%) rotate(-4deg)}}
.lp-close h2{font-size:clamp(32px,4.6vw,60px);font-weight:700;max-width:15em;margin:0 auto;color:var(--gink)}
.lp-close p{margin-top:16px;color:var(--gink2);font-size:18px}
.lp-close .lp-cta{justify-content:center}
body.home .foot{background:var(--gpaper)}

/* entrance: one orchestrated hero moment */
.lp-in{opacity:0;transform:translateY(18px);animation:lp-up .9s var(--spring) forwards}
.lp-in.d1{animation-delay:.08s}.lp-in.d2{animation-delay:.16s}.lp-in.d3{animation-delay:.24s}.lp-in.d4{animation-delay:.36s}
@keyframes lp-up{to{opacity:1;transform:none}}

@media (max-width:1040px){
  .lp-hero-in{grid-template-columns:1fr;gap:56px;padding-top:64px;padding-bottom:56px;text-align:center}
  .lp-lede{margin-left:auto;margin-right:auto}
  .lp-cta{justify-content:center}
  .lp-proof{grid-template-columns:1fr 1fr}
  .lp-proof li{padding:24px 18px}
  .lp-proof li:nth-child(odd){border-left:0;padding-left:0}
  .lp-proof li:nth-child(n+3){border-top:1px solid rgba(13,43,29,.1)}
  .lp-fam{grid-template-columns:1fr;gap:48px}
  .lp-faq{grid-template-columns:1fr;gap:24px}
}
@media (max-width:820px){
  .lp-ba,.lp-steps,.lp-plans{grid-template-columns:1fr}
  .lp-plan.rec{order:-1}
  .lp-sec{padding:80px 0}
  .lp-head{margin-bottom:36px}
}
@media (max-width:560px){
  .lp-wrap{padding:0 16px}
  .lp-hero{padding:8px 8px 0}
  .lp-tray,.lp-close{border-radius:28px}
  .lp-close{margin:0 8px 8px;padding:72px 20px 150px}
  .lp-hero-in{padding-top:44px;gap:40px}
  .lp-hero h1{font-size:clamp(36px,10.4vw,46px)}
  .lp-chip{font-size:13px;text-align:left}
  .lp-cta .btn{width:100%}
  .lp-phone{width:min(272px,76vw);border-radius:46px;padding:8px}
  .lp-phone-screen{border-radius:38px;padding:14px 14px 22px}
  .lp-avatar{width:80px;height:80px;margin:16px auto 12px}
  .lp-in-num{font-size:24px}
  .lp-float{width:220px;font-size:12.5px}
  .lp-stage{flex-direction:column;align-items:center;margin-bottom:12px}
  .lp-stage{padding-top:70px}
  .lp-float.f1{right:0;top:0;width:236px;transform:rotate(1.5deg)}
  .lp-float.f2{display:none}
  .lp-proof b{font-size:40px}
  .lp-proof span{font-size:14px}
  .lp-ba .lp-core,.lp-steps .lp-core,.lp-plan .lp-core{padding:26px 22px}
  .lp-bezel{border-radius:28px;padding:5px}
  .lp-core{border-radius:23px}
  .lp-sec{padding:64px 0}
  .lp-period{margin-top:-8px}
  .lp-seg button{min-width:0}
}
@media (prefers-reduced-motion:reduce){
  .lp-in{opacity:1;transform:none;animation:none}
  .lp-avatar::before,.lp-avatar::after,.lp-clip.on .lp-bars i{animation:none}
}
.lp-fam .lp-head{margin-bottom:0}
body.home .lang-seg button.on{background:var(--forest)}
html[lang="en"] .lp-hero h1{font-size:clamp(40px,4.9vw,68px);line-height:1.08}

/* demo.krai-a.com hero: the test-set footnote follows the facts strip in the stacked mobile order (demo.css orders the hero at <=960px) */
.hk-hero-facts + .hk-stats-note{order:5}

/* demo.krai-a.com outcome examples: neutral result tile (no LINE look) */
.hk-mini-line .lc-app{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#0B2618;color:#B9F5D2}
.hk-mini-line .lc-app svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* Logged-in nav at narrow widths: the menu already links to the dashboard. */
@media (max-width:400px){.nav-right a.btn.small[href="/dashboard.html"]{display:none}}

/* ---- 404 (public/404.html): static, no script, served on every product host ---- */
.nf{min-height:100vh;display:grid;place-items:center;padding:var(--sp-7) 20px}
.nf-card{width:100%;max-width:520px;text-align:center}
.nf-logo{display:block;width:72px;height:72px;border-radius:20px;margin:0 auto var(--sp-5)}
.nf .nf-code{margin:0;font-family:var(--display);font-size:clamp(64px,14vw,112px);font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--forest2)}
.nf h1,.nf h2{font-family:var(--display);color:var(--gink);line-height:1.3}
.nf h1{font-size:clamp(24px,4vw,32px);margin:var(--sp-3) 0 var(--sp-2)}
.nf h2{font-size:20px;margin:0 0 var(--sp-2)}
.nf p{margin:0;color:var(--gink2)}
.nf-en{margin-top:var(--sp-5);padding-top:var(--sp-5);border-top:1px solid var(--gline)}
.nf-go{margin-top:var(--sp-6)}

/* ---- bot check (Cloudflare Turnstile): invisible unless a tap is needed ---- */
.ts-host{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:1000;
  width:min(360px,calc(100vw - 32px));padding:14px 16px 16px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--sh-3);text-align:center}
.ts-host[hidden]{display:none}
.ts-host .ts-t{margin:0 0 10px;font-size:var(--fs-sm);color:var(--ink2);line-height:var(--lh-body)}
.ts-host .ts-w{display:flex;justify-content:center;min-height:65px}

/* ---------- carrier-charge notice (one short line + "Details" sheet: landing, pricing, checkout, forwarding) ----------
   Forwarded calls are billed by the member's own mobile operator. One calm line
   (js/cost-notice.js costNote) styled per context; the full explanation lives in
   the shared .k-sheet dialog. Never the green "##002# stop any time" look. */
.k-note{display:block;margin:0;font-size:14.5px;line-height:1.6;color:var(--ink2);text-wrap:pretty}   /* one paragraph: wraps like text on phones */
.k-note-ic{display:inline-flex;vertical-align:-4px;margin-right:6px;color:var(--note)}
.k-note-ic svg{width:18px;height:18px}
.k-note-more{position:relative;display:inline-block;margin-left:8px;padding:0;border:0;background:none;font:inherit;font-weight:600;color:var(--note-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--note-edge);cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) ease,text-decoration-color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}
.k-note-more::after{content:"";position:absolute;inset:-10px -8px}   /* 40px+ hit area */
.k-note-more:hover{text-decoration-color:currentColor}
.k-note-more:active{transform:scale(.97)}
/* landing / pricing page: a soft pill under the codes or above the cards */
.k-note--soft{width:fit-content;max-width:100%;margin-inline:auto;padding:10px 18px;border-radius:var(--r-pill);background:var(--note-soft);text-align:center}
/* inside the dark code card: a light-on-dark footnote row */
.k-note--dark{width:100%;margin-top:6px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14);font-size:13.5px;color:rgba(255,255,255,.78);text-align:center}
.k-note--dark .k-note-ic{color:rgba(255,255,255,.62)}
.k-note--dark .k-note-more{color:#fff;text-decoration-color:rgba(255,255,255,.42)}
.k-note--dark .k-note-more:hover{text-decoration-color:#fff}
/* plan card: a subtle line right under the price */
.k-note--price{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--ink3)}
.k-note--price .k-note-ic{vertical-align:-3px;margin-right:4px}
.k-note--price .k-note-ic svg{width:16px;height:16px}
.k-note--price .k-note-more{margin-left:6px}
/* settings: a quiet row right above the pay buttons */
.k-note--row{padding:10px 14px;border-radius:14px;background:var(--note-soft);font-size:14px}
@media (max-width:420px){.k-note--soft{border-radius:18px;padding:10px 14px}}

/* the shared Details sheet: bottom sheet on phones, centred dialog from 700px */
html.k-lock{overflow:hidden}
.k-sheet{border:0;padding:0;margin:auto auto 0;width:100%;max-width:520px;max-height:92dvh;border-radius:28px 28px 0 0;background:var(--bg);color:var(--ink);box-shadow:var(--sh-3);overflow:hidden}
.k-sheet::backdrop{background:rgba(17,18,20,.4)}
.k-sheet[open]{animation:k-sheet-up 260ms var(--ease-out)}
.k-sheet[open]::backdrop{animation:k-fade 200ms ease-out}
.k-sheet-in{position:relative;display:grid;gap:16px;padding:14px 22px calc(22px + env(safe-area-inset-bottom,0px));max-height:92dvh;overflow-y:auto;overscroll-behavior:contain}
.k-sheet-grab{justify-self:center;width:40px;height:4px;border-radius:4px;background:var(--line2)}
.k-sheet-x{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:50%;background:var(--soft);color:var(--ink2);cursor:pointer;transition:background-color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}
.k-sheet-x:hover{background:var(--soft2);color:var(--ink)}
.k-sheet-x:active{transform:scale(.94)}
.k-sheet-x svg{width:18px;height:18px}
.k-sheet-eyebrow{margin:6px 48px 0 0;font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;color:var(--note-ink)}
.k-sheet-h{margin:-10px 48px 0 0;font-family:var(--display);font-size:22px;font-weight:700;line-height:var(--lh-head);color:var(--ink);text-wrap:balance;outline:0}
.k-sheet-lead{margin:-6px 0 0;font-size:15px;line-height:1.6;color:var(--ink2);text-wrap:pretty}
.k-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.k-flow li{position:relative;display:grid;justify-items:center;align-content:start;gap:2px;padding:14px 6px 12px;border-radius:18px;background:var(--note-soft);text-align:center}
.k-flow li+li::before{content:"";position:absolute;left:-8px;top:33px;width:8px;height:2px;background:var(--note-edge)}
.k-flow-ic{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-bottom:4px;border-radius:50%;background:var(--bg);color:var(--note-ink);box-shadow:0 0 0 1px var(--note-edge)}
.k-flow-ic svg{width:20px;height:20px}
.k-flow b{font-size:13.5px;font-weight:600;line-height:1.35;color:var(--ink)}
.k-flow small{font-size:12.5px;line-height:1.35;color:var(--ink3)}
.k-calc{display:grid;gap:2px;padding:12px 16px;border-radius:16px;box-shadow:inset 0 0 0 1px var(--line);text-align:center}
.k-calc-eq{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 10px;margin:0;font-size:16px;font-weight:600;color:var(--ink2);font-variant-numeric:tabular-nums}
.k-calc-eq i{font-style:normal;font-weight:500;color:var(--ink3)}
.k-calc-eq b{font-family:var(--display);font-size:20px;color:var(--ink)}
.k-calc-cap{margin:0;font-size:12.5px;color:var(--ink3)}
.k-sheet-list{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:14.5px;line-height:1.55;color:var(--ink2)}
.k-sheet-list li{position:relative;padding-left:18px}
.k-sheet-list li::before{content:"";position:absolute;left:3px;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--note)}
.k-sheet-foot{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:var(--brand-soft);font-size:14px;line-height:1.55;color:var(--ink)}
.k-sheet-foot p{margin:0}
.k-sheet-foot-ic{display:flex;flex:none;margin-top:1px;color:var(--brand-ink)}
.k-sheet-foot-ic svg{width:20px;height:20px}
.k-sheet-foot code{font-family:var(--mono);font-weight:700;letter-spacing:.02em}
.k-sheet-foot a{color:var(--brand-ink);font-weight:600;text-underline-offset:3px;white-space:nowrap}
.k-sheet-ok{width:100%}
@keyframes k-sheet-up{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
@keyframes k-pop{from{transform:scale(.97);opacity:0}to{transform:none;opacity:1}}
@keyframes k-fade{from{opacity:0}to{opacity:1}}
@media (min-width:700px){
  .k-sheet{margin:auto;border-radius:28px}
  .k-sheet[open]{animation-name:k-pop;animation-duration:200ms}
  .k-sheet-grab{display:none}
  .k-sheet-in{padding:28px 28px 26px}
  .k-sheet-eyebrow{margin-top:0}
  .k-sheet-ok{width:auto;justify-self:end;min-width:140px}
}
@media (max-width:340px){.k-flow{grid-template-columns:1fr}.k-flow li{grid-template-columns:auto 1fr;justify-items:start;column-gap:12px;text-align:left}.k-flow-ic{grid-row:span 2;margin:0}.k-flow li+li::before{display:none}}
@media (prefers-reduced-motion:reduce){.k-sheet[open],.k-sheet[open]::backdrop{animation:none}}
.lp-cost{margin-top:4px}
.lp-cost-pr{margin-top:24px}
.pr-cost{margin-bottom:20px}
.lp-fwd-notes:has(> li:only-child){grid-template-columns:1fr}
