/* VETURA — Homepage layer. Extends vetura-glass.css tokens only. */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-sans);color:var(--ink);line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;background:var(--stage);background-attachment:fixed;min-height:100vh}
h1,h2,h3,h4,.display{font-family:var(--font-display);letter-spacing:-.015em;line-height:1.12}
img{max-width:100%;display:block}
.mono{font-family:var(--font-mono)}
.thai-keep{word-break:keep-all}
a{color:var(--primary-700)}a:hover{color:var(--primary-600)}
[data-theme="dark"] a{color:var(--primary-400)}
:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-sm)}
.wrap{max-width:1220px;margin:0 auto;padding:0 28px}
.wrap-n{max-width:1000px;margin:0 auto;padding:0 28px}
section{position:relative;scroll-margin-top:96px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- type rhythm ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;letter-spacing:.10em;text-transform:uppercase;color:var(--primary-600);margin-bottom:16px}
.eyebrow::before{content:"";width:18px;height:1.5px;background:var(--lead);border-radius:2px}
.sec{padding:88px 0}
.sec.tight{padding:60px 0}
.sec-head{max-width:780px;margin-bottom:44px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec h2{font-size:clamp(27px,3.4vw,42px);font-weight:700;margin-bottom:16px;letter-spacing:-.02em}
.sec h2 .teal{color:var(--primary-600)}.sec h2 .lead{color:var(--lead-strong)}
.sub{font-size:17.5px;color:var(--ink-2);line-height:1.62}
.sub.sm{font-size:15.5px}
.center .sub{margin-left:auto;margin-right:auto}
.note{font-size:13.5px;color:var(--ink-3);line-height:1.55}
[data-theme="dark"] .note{color:#A2B7B9}
.mark{color:var(--primary-700);font-weight:600}
[data-theme="dark"] .mark{color:var(--primary-400)}

/* ---------- buttons ---------- */
.btn{font-family:var(--font-sans);font-weight:600;cursor:pointer;border:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;transition:transform .2s var(--e-out),box-shadow .2s,background .2s,color .2s;min-height:44px}
.btn-lead{background:linear-gradient(135deg,var(--lead),var(--lead-strong));color:#fff;padding:14px 28px;border-radius:var(--r-full);font-size:15.5px;box-shadow:var(--glow-lead)}
.btn-lead:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(var(--lead-glow),.3),0 26px 60px rgba(var(--lead-glow),.32);color:#fff}
.btn-glass{background:var(--glass-card);color:var(--primary-700);border:var(--rim);padding:13px 24px;border-radius:var(--r-full);font-size:15.5px;backdrop-filter:var(--blur-md);-webkit-backdrop-filter:var(--blur-md);box-shadow:var(--rim-top),var(--sh-xs)}
.btn-glass:hover{transform:translateY(-2px);box-shadow:var(--rim-top),var(--glow-teal)}
[data-theme="dark"] .btn-glass{color:var(--primary-400)}
.btn-quiet{background:transparent;color:var(--ink-2);padding:12px 16px;border-radius:var(--r-full);font-size:15px}
.btn-quiet:hover{color:var(--primary-600);background:var(--glass-soft)}
.btn-sm{padding:10px 18px;font-size:14px;min-height:40px}
.tlink{display:inline-flex;align-items:center;gap:7px;background:none;border:none;font-family:var(--font-sans);font-size:14.5px;font-weight:600;color:var(--primary-700);cursor:pointer;padding:6px 0;transition:gap .2s var(--e-out)}
.tlink:hover{gap:12px}
[data-theme="dark"] .tlink{color:var(--primary-400)}

/* ---------- announcement ---------- */
.announce{position:relative;z-index:210;background:linear-gradient(100deg,var(--primary-800),var(--primary-600) 60%,var(--primary-700));color:#EAF7F8}
.announce .in{max-width:1220px;margin:0 auto;padding:9px 28px;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;font-size:13.5px}
.announce b{color:#fff;font-weight:600}
.announce .dot{width:7px;height:7px;border-radius:50%;background:var(--lead);box-shadow:0 0 0 4px rgba(var(--lead-glow),.28);flex-shrink:0}
.announce a{color:#fff;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5);white-space:nowrap}
.announce a:hover{color:#fff;border-color:#fff}
.announce .x{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;color:#BDEAEE;cursor:pointer;font-size:17px;line-height:1;padding:6px 8px;border-radius:var(--r-full)}
.announce .x:hover{color:#fff;background:rgba(255,255,255,.12)}
body.no-announce .announce{display:none}
@media(max-width:640px){.announce .in{font-size:12.5px;padding:9px 44px 9px 20px}}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:200;padding:14px 20px;transition:padding .25s var(--e-out)}
.hdr.is-stuck{padding:8px 20px}
.hdr .bar{display:flex;align-items:center;justify-content:space-between;gap:22px;max-width:1220px;margin:0 auto;height:66px;padding:0 12px 0 20px;background:var(--glass-shell);border:var(--rim);border-radius:var(--r-full);backdrop-filter:var(--blur-xl);-webkit-backdrop-filter:var(--blur-xl);box-shadow:var(--rim-top),var(--sh-sm);transition:height .25s var(--e-out),box-shadow .25s}
.hdr.is-stuck .bar{height:56px;box-shadow:var(--rim-top),var(--sh-md)}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:600;font-size:20px;color:var(--ink);text-decoration:none;flex-shrink:0}
.brand svg{width:27px;height:27px}
.brand:hover{color:var(--ink)}
.nav-links{display:flex;gap:22px;align-items:center}
.nav-links a{color:var(--ink-2);text-decoration:none;font-size:14.5px;font-weight:500;white-space:nowrap}
.nav-links a:hover{color:var(--primary-600)}
.hdr-right{display:flex;align-items:center;gap:10px}
.icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-full);border:var(--rim);background:var(--glass-card);color:var(--ink-2);cursor:pointer;flex-shrink:0;backdrop-filter:var(--blur-md);-webkit-backdrop-filter:var(--blur-md);transition:transform .2s var(--e-out),color .2s,box-shadow .2s}
.icon-btn:hover{transform:translateY(-1px);color:var(--primary-600);box-shadow:var(--rim-top),var(--glow-teal)}
.icon-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}
.icon-btn .ic-sun{display:none}
[data-theme="dark"] .icon-btn .ic-sun{display:block}
[data-theme="dark"] .icon-btn .ic-moon{display:none}
[data-theme="dark"] .icon-btn:hover{color:var(--primary-400)}
.hdr .burger{display:none}
@media(max-width:1080px){.nav-links{display:none}.hdr .login{display:none}.hdr .burger{display:flex}}
@media(max-width:520px){.hdr .bar{padding:0 10px 0 16px}.brand{font-size:18px}}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:400;display:none}
.drawer.open{display:block}
.drawer .veil{position:absolute;inset:0;background:rgba(10,20,21,.42);backdrop-filter:blur(3px)}
.drawer .panel{position:absolute;top:0;right:0;bottom:0;width:min(360px,86vw);background:var(--glass-solid);backdrop-filter:var(--blur-xl);-webkit-backdrop-filter:var(--blur-xl);border-left:var(--rim);box-shadow:var(--sh-lg);padding:22px;display:flex;flex-direction:column;gap:6px;animation:slidein .3s var(--e-liquid) both;overflow-y:auto}
@keyframes slidein{from{transform:translateX(24px)}to{transform:translateX(0)}}
.drawer .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.drawer a.mlink{padding:13px 12px;border-radius:var(--r-md);color:var(--ink);text-decoration:none;font-size:16px;font-weight:500;border-bottom:1px solid var(--line)}
.drawer a.mlink:hover{background:var(--glass-tint-teal);color:var(--primary-700)}
.drawer .btn{width:100%;margin-top:10px}

/* ---------- hero ---------- */
.hero{padding:56px 0 30px}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:52px;align-items:center}
@media(max-width:1040px){.hero-grid{grid-template-columns:1fr;gap:44px}}
.hero h1{font-size:clamp(34px,4.4vw,58px);font-weight:700;letter-spacing:-.028em;line-height:1.06;margin-bottom:10px}
.hero h1 .en{display:block}
.hero .h1-th{font-family:var(--font-display);font-weight:600;font-size:clamp(19px,2vw,25px);color:var(--primary-700);line-height:1.32;margin-bottom:20px;letter-spacing:-.01em}
[data-theme="dark"] .hero .h1-th{color:var(--primary-400)}
.hero .lead-p{font-size:clamp(16px,1.5vw,18.5px);color:var(--ink-2);max-width:580px;margin-bottom:18px}
.hint{display:flex;gap:14px;align-items:flex-start;max-width:560px;padding:16px 20px;border-radius:var(--r-lg);background:linear-gradient(120deg,var(--glass-tint-coral),var(--glass-card));border:var(--rim);box-shadow:var(--rim-top),var(--sh-xs);backdrop-filter:var(--blur-md);-webkit-backdrop-filter:var(--blur-md);margin-bottom:26px}
.hint .qi{flex-shrink:0;width:30px;height:30px;border-radius:10px;background:rgba(var(--lead-glow),.16);color:var(--lead-deep);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:17px}
[data-theme="dark"] .hint .qi{color:var(--accent-500)}
.hint b{display:block;font-family:var(--font-display);font-size:17.5px;font-weight:600;color:var(--ink);line-height:1.4}
.hint span{font-size:13.5px;color:var(--ink-2)}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;color:var(--ink-3)}
.hero-meta i{color:var(--jade-600);font-style:normal;font-weight:700;margin-right:5px}

/* hero visual: central product view + connected chips */
.stage{position:relative}
.stage .glow{position:absolute;inset:-10% -8%;background:radial-gradient(58% 58% at 34% 22%,rgba(26,153,163,.22),transparent 70%),radial-gradient(50% 50% at 88% 82%,rgba(var(--lead-glow),.18),transparent 70%);filter:blur(18px);z-index:0}
.orbit{position:relative;z-index:1}
.chipset{position:absolute;inset:0;z-index:3;pointer-events:none}
.dchip{position:absolute;display:flex;align-items:center;gap:7px;padding:7px 13px;border-radius:var(--r-full);background:var(--glass-shell);border:var(--rim);backdrop-filter:var(--blur-lg);-webkit-backdrop-filter:var(--blur-lg);box-shadow:var(--rim-top),var(--sh-sm);font-size:12px;font-weight:600;color:var(--ink);white-space:nowrap}
.dchip s{width:7px;height:7px;border-radius:50%;background:var(--primary-500);text-decoration:none}
.dchip.c2 s{background:var(--lead)}.dchip.c3 s{background:var(--jade-500)}
.dchip.p1{top:2%;left:-4%}.dchip.p2{top:26%;right:-5%}.dchip.p3{bottom:22%;left:-6%}.dchip.p4{bottom:-2%;right:4%}
@media(max-width:1040px){.dchip.p1{left:0}.dchip.p3{left:0}.dchip.p2{right:0}}
@media(max-width:560px){.dchip{font-size:11px;padding:6px 10px}.dchip.p3{display:none}}

/* pipeline strip */
.pipe{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:18px 22px;border-radius:var(--r-xl);background:var(--glass-soft);border:var(--rim-subtle);backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm)}
.pipe .pl{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-right:6px}
.pipe .pi{font-size:13px;font-weight:600;color:var(--ink);padding:6px 12px;border-radius:var(--r-full);background:var(--glass-solid);border:var(--rim-subtle)}
.pipe .ar{color:var(--primary-400);font-size:13px}

/* ---------- product UI mock primitives ---------- */
.ui{position:relative;border-radius:var(--r-2xl);background:var(--glass-shell);border:var(--rim);backdrop-filter:var(--blur-xl);-webkit-backdrop-filter:var(--blur-xl);box-shadow:var(--rim-top),var(--sh-lg);overflow:hidden}
.ui-top{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--glass-soft)}
.ui-top .tt{font-family:var(--font-display);font-weight:600;font-size:13.5px;color:var(--ink)}
.ui-top .path{font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}
.ui-top .sp{margin-left:auto;display:flex;gap:6px;align-items:center}
.ui-body{padding:16px;display:grid;gap:12px}
.ui-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ui-cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:600px){.ui-cols,.ui-cols-3{grid-template-columns:1fr}}
.card{background:var(--glass-solid);border:var(--rim-subtle);border-radius:var(--r-lg);padding:14px;box-shadow:var(--rim-top)}
.card.pad-sm{padding:11px 13px}
.k{font-size:11px;color:var(--ink-3);font-weight:500;letter-spacing:.02em}
.v{font-family:var(--font-display);font-weight:700;font-size:23px;color:var(--ink);line-height:1.05;margin-top:3px}
.v small{font-size:13px;color:var(--ink-3);font-weight:600}
.tag{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:var(--r-full);white-space:nowrap}
.t-teal{background:var(--primary-100);color:var(--primary-700)}
.t-jade{background:var(--jade-100);color:var(--jade-600)}
.t-coral{background:var(--accent-100);color:var(--accent-700)}
.t-warn{background:var(--warning-bg);color:var(--warning)}
.t-err{background:var(--error-bg);color:var(--error)}
.t-flat{background:var(--glass-tint-teal);color:var(--primary-700)}
[data-theme="dark"] .t-teal{background:rgba(76,184,192,.16);color:var(--primary-200)}
[data-theme="dark"] .t-jade{background:rgba(43,168,74,.18);color:#9BE0B0}
[data-theme="dark"] .t-coral{background:rgba(255,122,89,.16);color:var(--accent-200)}
[data-theme="dark"] .t-warn{background:rgba(184,110,0,.2);color:#F0C67A}
[data-theme="dark"] .t-err{background:rgba(193,39,45,.18);color:#F2A5A8}
.row{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:12.5px}
.row:first-child{border-top:none;padding-top:0}
.row .nm{font-weight:600;color:var(--ink)}
.row .mt{color:var(--ink-3);font-size:11.5px}
.row .end{margin-left:auto;display:flex;align-items:center;gap:8px}
.av{width:26px;height:26px;border-radius:8px;flex-shrink:0;background:linear-gradient(135deg,var(--primary-200),var(--primary-500));overflow:hidden}
.av.c2{background:linear-gradient(135deg,var(--accent-200),var(--accent-500))}
.av.c3{background:linear-gradient(135deg,var(--jade-100),var(--jade-500))}
.av img{width:100%;height:100%;object-fit:cover}
.av.lg{width:44px;height:44px;border-radius:12px}
.bars{display:flex;align-items:flex-end;gap:6px;height:58px;margin-top:10px}
.bars i{flex:1;border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,var(--primary-400),var(--primary-600));opacity:.92}
.bars i.hi{background:linear-gradient(180deg,var(--lead),var(--lead-strong))}
.track{height:6px;border-radius:var(--r-full);background:rgba(154,167,168,.24);overflow:hidden;margin-top:8px}
.track i{display:block;height:100%;border-radius:var(--r-full);background:linear-gradient(90deg,var(--primary-500),var(--lead))}
.kv{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:12.5px}
.kv:first-child{border-top:none}
.kv span:first-child{color:var(--ink-3)}
.kv span:last-child{font-weight:600;color:var(--ink);font-family:var(--font-mono);font-size:12px}
.ui-cap{font-size:11.5px;color:var(--ink-3);margin-top:10px;display:flex;gap:7px;align-items:center}
.ui-cap::before{content:"";width:14px;height:1px;background:var(--line)}
.soap{display:grid;gap:8px}
.soap .sline{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:12.5px;color:var(--ink-2);align-items:start}
.soap .sline b{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--primary-600);padding-top:1px}
.trendline{position:relative;height:70px;margin-top:6px}
.trendline svg{width:100%;height:100%;overflow:visible}

/* ---------- bands ---------- */
.band{position:relative;overflow:hidden;margin:0 14px;border-radius:var(--r-4xl);padding:88px 0}
.band-dark::before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;background:radial-gradient(80% 80% at 12% 0%,rgba(26,153,163,.30),transparent 55%),radial-gradient(70% 70% at 92% 8%,rgba(var(--lead-glow),.20),transparent 52%),linear-gradient(165deg,#0C1719,#0F2629 60%,#0B1719);box-shadow:var(--sh-shell)}
.band>.wrap,.band>.wrap-n{position:relative;z-index:2}
.band h2{font-size:clamp(27px,3.4vw,42px);font-weight:700;margin-bottom:16px;letter-spacing:-.02em}
.band h2 .teal{color:var(--primary-600)}.band h2 .lead{color:var(--lead-strong)}
.band-dark .eyebrow{color:var(--primary-400)}
.band-dark h2,.band-dark h3{color:#F2F8F8}
.band-dark h2 .lead{color:var(--lead)}.band-dark h2 .teal{color:var(--primary-400)}
.band-dark .sub{color:#A9BFC0}
.band-dark .note{color:#87A1A2}
.band-photo{position:absolute;inset:0;z-index:1;border-radius:inherit;overflow:hidden}
.band-photo img{width:100%;height:100%;object-fit:cover;opacity:.5}
.band-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(96deg,#0B1517 12%,rgba(11,21,23,.92) 42%,rgba(11,21,23,.55) 72%,rgba(11,21,23,.35))}
.on-dark-card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.11);border-radius:var(--r-2xl);padding:24px;backdrop-filter:blur(10px)}
.band-dark .on-dark-card .card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);box-shadow:none}
.band-dark .on-dark-card .card .v,.band-dark .on-dark-card .nm{color:#EEF6F6}
.band-dark .on-dark-card .k,.band-dark .on-dark-card .mt,.band-dark .on-dark-card .kv span:first-child{color:#8FA9AA}
.band-dark .on-dark-card .kv span:last-child{color:#E4EFEF}
.band-dark .on-dark-card .row,.band-dark .on-dark-card .kv{border-color:rgba(255,255,255,.10)}
/* product mocks keep their own light glass surface + dark ink inside dark bands */
.band-dark .ui{background:rgba(252,254,254,.90);border-color:rgba(255,255,255,.5)}
.band-dark .ui .ui-top{background:rgba(240,249,249,.92)}
.band-dark .ui .tt,.band-dark .ui .nm,.band-dark .ui .v{color:var(--neutral-900)}
.band-dark .ui .k,.band-dark .ui .mt,.band-dark .ui .path,.band-dark .ui .sline{color:var(--neutral-600)}
.band-dark .ui .kv span:first-child{color:var(--neutral-500)}
.band-dark .ui .kv span:last-child,.band-dark .ui .mono{color:var(--neutral-900)}
.band-dark .ui .card{background:rgba(255,255,255,.72);border:1px solid rgba(201,210,211,.5)}
.band-dark .ui .row,.band-dark .ui .kv{border-color:rgba(201,210,211,.55)}
.band-dark .ui .t-teal{background:var(--primary-100);color:var(--primary-700)}
.band-dark .ui .t-jade{background:var(--jade-100);color:var(--jade-600)}
.band-dark .ui .t-coral{background:var(--accent-100);color:var(--accent-700)}
.band-dark .ui .t-warn{background:var(--warning-bg);color:var(--warning)}
.band-dark .ui .t-err{background:var(--error-bg);color:var(--error)}
.band-dark .ui .t-flat{background:#E0F4F5;color:var(--primary-700)}
@media(max-width:640px){.band{margin:0 8px;padding:64px 0;border-radius:var(--r-3xl)}}

/* ---------- statement type ---------- */
.statement{text-align:center;padding:16px 0}
.statement .big{font-family:var(--font-display);font-weight:700;font-size:clamp(30px,5vw,62px);line-height:1.04;letter-spacing:-.03em;color:var(--ink)}
.statement .big em{font-style:normal;color:var(--primary-600);display:block}
.statement .big em.lead{color:var(--lead-strong)}
.band-dark .statement .big{color:#F4FAFA}
.band-dark .statement .big em{color:var(--primary-400)}
.band-dark .statement .big em.lead{color:var(--lead)}

/* ---------- split layout ---------- */
.split{display:grid;grid-template-columns:1fr 1.08fr;gap:52px;align-items:center}
.split.rev>*:first-child{order:2}
.split.even{grid-template-columns:1fr 1fr}
@media(max-width:980px){.split{grid-template-columns:1fr;gap:38px}.split.rev>*:first-child{order:0}}
.ilist{display:grid;gap:2px;margin-top:22px}
.ilist .it{display:grid;grid-template-columns:20px 1fr;gap:12px;padding:9px 0;font-size:14.5px;color:var(--ink-2);border-top:1px solid var(--line);align-items:baseline}
.ilist .it:first-child{border-top:none}
.ilist .it b{color:var(--ink);font-weight:600}
.ilist .it .n{font-family:var(--font-mono);font-size:11px;color:var(--primary-500);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chip{font-size:12.5px;font-weight:500;color:var(--primary-700);background:var(--glass-tint-teal);border:1px solid rgba(166,221,225,.42);padding:6px 12px;border-radius:var(--r-full)}
.chip.co{color:var(--accent-700);background:var(--glass-tint-coral);border-color:rgba(255,195,178,.5)}
.chip.ja{color:var(--jade-600);background:var(--glass-tint-jade);border-color:rgba(43,168,74,.22)}
[data-theme="dark"] .chip{color:var(--primary-200)}[data-theme="dark"] .chip.co{color:var(--accent-200)}[data-theme="dark"] .chip.ja{color:#9BE0B0}
.band-dark .chip{background:rgba(76,184,192,.14);border-color:rgba(76,184,192,.22);color:#BDEAEE}
.hl-quote{padding:18px 22px;border-radius:var(--r-lg);background:var(--glass-tint-teal);border:1px solid rgba(166,221,225,.4);font-size:15.5px;color:var(--primary-800);font-weight:600;line-height:1.55;margin-top:22px}
[data-theme="dark"] .hl-quote{color:#CFEEF0;background:rgba(76,184,192,.12);border-color:rgba(76,184,192,.2)}

/* ---------- connected workflow ---------- */
.flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
@media(max-width:960px){.flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.flow{grid-template-columns:1fr}}
.fnode{position:relative;text-align:left;padding:14px 14px 13px;border-radius:var(--r-lg);background:var(--glass-soft);border:var(--rim-subtle);cursor:pointer;font-family:var(--font-sans);transition:transform .2s var(--e-out),box-shadow .2s,background .2s;display:grid;gap:4px}
.fnode:hover{transform:translateY(-2px);box-shadow:var(--rim-top),var(--sh-sm)}
.fnode .st{font-family:var(--font-mono);font-size:10.5px;font-weight:600;color:var(--primary-500)}
.fnode .fn{font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.3}
.fnode .fth{font-size:11.5px;color:var(--ink-3)}
.fnode[aria-selected="true"]{background:linear-gradient(140deg,var(--glass-tint-teal),var(--glass-card));border-color:rgba(76,184,192,.5);box-shadow:var(--rim-top),var(--glow-teal)}
.fnode::after{content:"";position:absolute;right:-9px;top:50%;width:10px;height:1.5px;background:linear-gradient(90deg,var(--primary-400),rgba(76,184,192,.15))}
.fnode:last-child::after{display:none}
@media(max-width:960px){.fnode::after{display:none}}
.fdetail{margin-top:14px;display:grid;grid-template-columns:1.1fr .9fr;gap:26px;padding:26px 28px;border-radius:var(--r-2xl);background:var(--glass-card);border:var(--rim);backdrop-filter:var(--blur-lg);-webkit-backdrop-filter:var(--blur-lg);box-shadow:var(--rim-top),var(--sh-md)}
@media(max-width:860px){.fdetail{grid-template-columns:1fr;gap:20px;padding:22px}}
.fdetail h3{font-size:21px;font-weight:600;margin-bottom:8px}
.fdetail p{font-size:14.5px;color:var(--ink-2);line-height:1.6}
.fdetail .dta{margin-top:16px;display:grid;gap:8px}
.fdetail .dta .dl{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.fpanel{display:none}
.fpanel.on{display:grid;gap:6px;animation:fade .3s var(--e-out) both}
@keyframes fade{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}

/* ---------- audience pills ---------- */
.aud{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:900px){.aud{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.aud{grid-template-columns:1fr}}
.aud .a{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:16px 18px;border-radius:var(--r-lg);background:var(--glass-soft);border:var(--rim-subtle);transition:transform .2s var(--e-out),box-shadow .2s}
.aud .a:hover{transform:translateY(-2px);box-shadow:var(--rim-top),var(--sh-sm)}
.aud .a .aud-icon{width:32px;height:32px;border-radius:10px;background:var(--glass-tint-teal);color:var(--primary-700);display:flex;align-items:center;justify-content:center}
.aud .a .aud-icon svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.9}
.aud .a b{display:block;font-size:14.5px;font-weight:600;color:var(--ink)}
.aud .a span{font-size:12.5px;color:var(--ink-3);line-height:1.45}
.aud .a.pri{background:linear-gradient(140deg,var(--glass-tint-teal),var(--glass-card));border-color:rgba(166,221,225,.5)}
.aud .a.pri .aud-icon{background:linear-gradient(135deg,var(--primary-600),var(--primary-800));color:#fff}

/* ---------- platform overview columns ---------- */
.groups{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:start}
@media(max-width:1000px){.groups{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.groups{grid-template-columns:1fr}}
.gcol{padding:22px 22px 18px;border-radius:var(--r-xl);background:var(--glass-card);border:var(--rim);backdrop-filter:var(--blur-md);-webkit-backdrop-filter:var(--blur-md);box-shadow:var(--rim-top),var(--sh-xs);min-width:0}
.gcol .gh{display:flex;align-items:center;gap:9px;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:8px}
.gcol .gd{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:var(--primary-500)}
.gcol.g2 .gd{background:var(--lead)}.gcol.g3 .gd{background:var(--jade-500)}.gcol.g4 .gd{background:var(--primary-800)}
.gcol .gn{font-family:var(--font-display);font-weight:600;font-size:16.5px;color:var(--ink)}
.gcol .gt{margin-left:auto;font-size:11px;color:var(--ink-3);font-family:var(--font-mono)}
.gcol ul{list-style:none;display:grid}
.gcol li{font-size:13.5px;color:var(--ink-2);padding:7px 0;border-top:1px solid var(--line);display:flex;gap:8px;align-items:center}
.gcol li:first-child{border-top:none}
.gcol li::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--primary-400);flex-shrink:0}

/* ---------- tabs ---------- */
.tabbar{display:flex;gap:8px;overflow-x:auto;padding:6px;border-radius:var(--r-full);background:var(--glass-soft);border:var(--rim-subtle);margin-bottom:26px;scrollbar-width:none}
.tabbar::-webkit-scrollbar{display:none}
.tabbar button{flex:0 0 auto;padding:10px 18px;border-radius:var(--r-full);border:none;background:transparent;font-family:var(--font-sans);font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,box-shadow .2s;min-height:42px}
.tabbar button:hover{color:var(--primary-600)}
.tabbar button[aria-selected="true"]{background:var(--glass-solid);color:var(--primary-700);box-shadow:var(--rim-top),var(--sh-xs)}
.band-dark .tabbar{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.10)}
.band-dark .tabbar button{color:#A9C0C1}
.band-dark .tabbar button:hover{color:#DDF0F1}
.band-dark .tabbar button[aria-selected="true"]{background:rgba(255,255,255,.12);color:#F2FAFA;box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.tpanel{display:none}
.tpanel.on{display:block;animation:fade .35s var(--e-out) both}
.tpanel h3{font-size:clamp(22px,2.5vw,30px);font-weight:700;margin-bottom:14px;letter-spacing:-.015em}
.tpanel .sub{font-size:16px}
.photo-frame{border-radius:var(--r-2xl);overflow:hidden;border:var(--rim);box-shadow:var(--rim-top),var(--sh-md);position:relative;background:var(--glass-soft)}
.photo-frame img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.photo-frame .cap{position:absolute;left:14px;bottom:14px;display:flex;gap:8px;flex-wrap:wrap}
.photo-frame .cap .tag{background:rgba(11,21,23,.62);color:#EAF6F6;backdrop-filter:blur(6px)}

/* ---------- CRM band ---------- */
.crm-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
@media(max-width:980px){.crm-grid{grid-template-columns:1fr;gap:34px}}
.tl{display:grid;gap:0;margin-top:8px}
.tl .te{display:grid;grid-template-columns:auto 1fr;gap:16px;padding-bottom:16px;position:relative}
.tl .te::before{content:"";position:absolute;left:13px;top:26px;bottom:0;width:1.5px;background:linear-gradient(180deg,rgba(76,184,192,.5),rgba(76,184,192,.06))}
.tl .te:last-child::before{display:none}
.tl .tdot{width:27px;height:27px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--glass-tint-teal);color:var(--primary-700);font-size:11px;font-weight:700;font-family:var(--font-mono);z-index:1;border:var(--rim-subtle)}
.tl .tdot.co{background:var(--glass-tint-coral);color:var(--accent-700)}
.tl .tdot.ja{background:var(--glass-tint-jade);color:var(--jade-600)}
.tl b{font-size:14.5px;font-weight:600;color:var(--ink);display:block}
.tl span{font-size:13px;color:var(--ink-2);line-height:1.5}

/* ---------- LINE phone ---------- */
.phone{width:min(320px,86vw);margin:0 auto;border-radius:38px;padding:12px;background:var(--glass-shell);border:var(--rim);box-shadow:var(--rim-top),var(--sh-lg);backdrop-filter:var(--blur-xl)}
.phone .scr{border-radius:28px;overflow:hidden;background:var(--glass-solid);border:var(--rim-subtle)}
.phone .pbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 8px;font-size:10.5px;color:var(--ink-3);font-family:var(--font-mono)}
.phone .phead{padding:10px 16px;background:linear-gradient(120deg,var(--jade-500),var(--jade-600));color:#fff;display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600}
.phone .pbody{padding:14px;display:grid;gap:10px}
.phone .msg{font-size:12px;padding:10px 13px;border-radius:14px 14px 14px 4px;background:var(--glass-tint-jade);color:var(--ink);max-width:88%}
.phone .msg.me{margin-left:auto;border-radius:14px 14px 4px 14px;background:var(--glass-tint-teal)}
.phone .pbtn{margin-top:2px;padding:11px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--primary-600),var(--primary-800));color:#fff;font-size:12.5px;font-weight:600;text-align:center}

/* ---------- flexible package / builder ---------- */
.pk{padding:96px 0}
.pk-head{max-width:900px}
.pk-head h2{font-size:clamp(30px,4.6vw,54px);line-height:1.06;letter-spacing:-.03em;margin-bottom:20px}
.builder{margin-top:40px;border-radius:var(--r-3xl);padding:30px;background:var(--glass-card);border:var(--rim);backdrop-filter:var(--blur-lg);-webkit-backdrop-filter:var(--blur-lg);box-shadow:var(--rim-top),var(--sh-md)}
@media(max-width:640px){.builder{padding:20px;border-radius:var(--r-2xl)}}
.b-top{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;align-items:flex-end;margin-bottom:22px}
.b-top .bt-l h3{font-size:22px;font-weight:600;margin-bottom:6px}
.types{display:flex;gap:8px;flex-wrap:wrap}
.types button{padding:11px 18px;border-radius:var(--r-full);border:var(--rim-subtle);background:var(--glass-soft);font-family:var(--font-sans);font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer;min-height:44px;transition:background .2s,color .2s,box-shadow .2s,transform .2s var(--e-out)}
.types button:hover{transform:translateY(-1px);color:var(--primary-600)}
.types button[aria-pressed="true"]{background:linear-gradient(135deg,var(--primary-600),var(--primary-800));color:#fff;border-color:transparent;box-shadow:var(--glow-teal)}
.bgroups{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:960px){.bgroups{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.bgroups{grid-template-columns:1fr}}
.bgroup{padding:18px;border-radius:var(--r-xl);background:var(--glass-soft);border:var(--rim-subtle)}
.bgroup .bgh{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.bgroup .bgh b{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--ink)}
.bgroup .bgh .cnt{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}
.mods{display:flex;flex-wrap:wrap;gap:7px}
.mod{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:var(--r-full);border:1px solid var(--line);background:var(--glass-solid);font-family:var(--font-sans);font-size:12.5px;font-weight:500;color:var(--ink-2);cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s var(--e-out);min-height:38px}
.mod:hover{transform:translateY(-1px);border-color:rgba(76,184,192,.5)}
.mod::before{content:"+";font-family:var(--font-mono);font-weight:700;font-size:12px;color:var(--primary-500)}
.mod[aria-pressed="true"]{background:linear-gradient(135deg,rgba(26,153,163,.16),rgba(76,184,192,.1));border-color:rgba(76,184,192,.55);color:var(--primary-800);font-weight:600}
.mod[aria-pressed="true"]::before{content:"✓";color:var(--jade-600)}
[data-theme="dark"] .mod[aria-pressed="true"]{color:#CFEEF0}
.b-foot{margin-top:22px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center;padding-top:20px;border-top:1px solid var(--line)}
.b-sum{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.b-sum .sv{font-family:var(--font-display);font-weight:700;font-size:30px;color:var(--ink);line-height:1}
.b-sum .sl{font-size:12.5px;color:var(--ink-3)}
.b-acts{display:flex;gap:10px;flex-wrap:wrap}
.suggest-note{display:flex;gap:10px;align-items:center;margin-top:16px;font-size:13px;color:var(--ink-3)}
.suggest-note .tag{flex-shrink:0}
.factors{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.factors .f{font-size:13px;color:var(--ink-2);padding:8px 14px;border-radius:var(--r-full);background:var(--glass-soft);border:var(--rim-subtle)}

/* ---------- growth stages ---------- */
.stages{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
@media(max-width:1000px){.stages{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.stages{grid-template-columns:1fr}}
.stage-c{position:relative;padding:22px 20px;border-radius:var(--r-xl);background:var(--glass-card);border:var(--rim);box-shadow:var(--rim-top),var(--sh-xs);backdrop-filter:var(--blur-sm)}
.stage-c .sn{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--primary-500);letter-spacing:.06em}
.stage-c h3{font-size:17px;font-weight:600;margin:6px 0 12px;color:var(--ink)}
.stage-c ul{list-style:none;display:grid;gap:6px}
.stage-c li{font-size:13px;color:var(--ink-2);display:flex;gap:8px;align-items:center}
.stage-c li::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--jade-500);flex-shrink:0}
.stage-c::after{content:"→";position:absolute;right:-13px;top:50%;transform:translateY(-50%);color:var(--primary-400);font-size:15px;font-weight:700}
.stage-c:last-child::after{display:none}
@media(max-width:1000px){.stage-c::after{display:none}}
.stage-c.s1{background:linear-gradient(150deg,var(--glass-tint-jade),var(--glass-card))}
.stage-c.s5{background:linear-gradient(150deg,var(--glass-tint-teal),var(--glass-card))}

/* ---------- edge gateway flow ---------- */
.edge{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;align-items:stretch}
@media(max-width:900px){.edge{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.edge{grid-template-columns:1fr}}
.enode{position:relative;padding:20px 18px;border-radius:var(--r-lg);text-align:center;background:var(--glass-soft);border:var(--rim-subtle)}
.enode .ei{width:38px;height:38px;margin:0 auto 10px;border-radius:11px;background:var(--glass-tint-teal);color:var(--primary-700);display:flex;align-items:center;justify-content:center}
.enode .ei svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.9}
.enode b{font-size:14px;font-weight:600;color:var(--ink);display:block}
.enode span{font-size:11.5px;color:var(--ink-3)}
.enode.key{background:linear-gradient(150deg,var(--glass-tint-teal),var(--glass-card));border-color:rgba(76,184,192,.5);box-shadow:var(--rim-top),var(--glow-teal)}
.enode.key .ei{background:linear-gradient(135deg,var(--primary-600),var(--primary-800));color:#fff}
.enode::after{content:"→";position:absolute;right:-11px;top:50%;transform:translateY(-50%);color:var(--primary-400);font-size:14px;font-weight:700;z-index:2}
.enode:last-child::after{display:none}
@media(max-width:900px){.enode::after{display:none}}

/* ---------- reports ---------- */
.rep{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
@media(max-width:980px){.rep{grid-template-columns:1fr;gap:34px}}
.rep-cats{display:grid;grid-template-columns:1fr 1fr;gap:26px 32px;margin-top:8px}
@media(max-width:560px){.rep-cats{grid-template-columns:1fr}}
.rep-cats .rc h3{font-size:15px;font-weight:600;color:var(--primary-700);margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--line)}
[data-theme="dark"] .rep-cats .rc h3{color:var(--primary-400)}
.rep-cats .rc p{font-size:13.5px;color:var(--ink-2);line-height:1.65}

/* ---------- security / thai-first grids ---------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:820px){.duo{grid-template-columns:1fr}}
.lgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px 26px;margin-top:18px}
@media(max-width:520px){.lgrid{grid-template-columns:1fr}}
.lgrid .li{font-size:14px;color:var(--ink-2);padding:9px 0;border-top:1px solid var(--line);display:flex;gap:9px;align-items:baseline}
.lgrid .li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--primary-400);flex-shrink:0;transform:translateY(-2px)}
.band-dark .lgrid .li{color:#B8CCCD;border-color:rgba(255,255,255,.10)}

/* ---------- early access ---------- */
.ea{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;padding:38px;border-radius:var(--r-3xl);background:linear-gradient(140deg,var(--glass-tint-teal),var(--glass-card) 60%);border:var(--rim);box-shadow:var(--rim-top),var(--sh-md);backdrop-filter:var(--blur-lg)}
@media(max-width:900px){.ea{grid-template-columns:1fr;gap:28px;padding:26px}}
.ea h2{font-size:clamp(26px,3.2vw,38px);margin-bottom:14px}
.ea .bens{display:grid;gap:9px;margin-top:20px}
.ea .bens .b{display:grid;grid-template-columns:20px 1fr;gap:10px;font-size:14.5px;color:var(--ink-2);align-items:baseline}
.ea .bens .b i{color:var(--jade-600);font-style:normal;font-weight:700}
.ea-photo{border-radius:var(--r-2xl);overflow:hidden;box-shadow:var(--sh-md);border:var(--rim)}
.ea-photo img{aspect-ratio:4/3;object-fit:cover;width:100%}

/* ---------- FAQ ---------- */
.faq{max-width:920px;margin:0 auto;display:grid;gap:10px}
.qa{border-radius:var(--r-lg);background:var(--glass-soft);border:var(--rim-subtle);overflow:hidden}
.qa>button{width:100%;display:flex;align-items:center;gap:16px;text-align:left;padding:18px 22px;background:none;border:none;cursor:pointer;font-family:var(--font-sans);font-size:15.5px;font-weight:600;color:var(--ink);min-height:56px}
.qa>button:hover{color:var(--primary-600)}
.qa>button .pm{margin-left:auto;flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--glass-tint-teal);color:var(--primary-700);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;transition:transform .25s var(--e-out)}
.qa>button[aria-expanded="true"] .pm{transform:rotate(45deg);background:var(--primary-600);color:#fff}
.qa .ans{display:block;overflow:hidden;max-height:0;transition:max-height .32s var(--e-liquid)}
.qa.open .ans{max-height:420px}
.qa .ans p{padding:0 22px 20px;font-size:14.5px;color:var(--ink-2);line-height:1.7;max-width:760px}

/* ---------- final CTA ---------- */
.final{padding:100px 0 40px;text-align:center}
.final .wrap-n{max-width:900px}
.final h2{font-size:clamp(27px,3.8vw,46px);font-weight:700;letter-spacing:-.025em;line-height:1.12;margin-bottom:22px}
.final h2 .teal{color:var(--primary-600)}
.final .chain{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 14px;font-size:16px;color:var(--ink-2);margin-bottom:10px}
.final .onv{font-family:var(--font-display);font-weight:700;font-size:clamp(24px,3vw,34px);color:var(--lead-strong);margin-bottom:30px}
.final .acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.reminder{margin:0 auto;max-width:980px;padding:32px 36px;border-radius:var(--r-2xl);background:linear-gradient(130deg,var(--glass-tint-coral),var(--glass-card) 65%);border:var(--rim);box-shadow:var(--rim-top),var(--sh-sm);display:flex;justify-content:space-between;gap:26px;align-items:center;flex-wrap:wrap}
.reminder .rq{font-size:14px;color:var(--ink-2)}
.reminder .rh{font-family:var(--font-display);font-weight:700;font-size:clamp(20px,2.4vw,28px);line-height:1.2;color:var(--ink);margin:6px 0 8px;letter-spacing:-.015em}

/* ---------- footer ---------- */
footer{padding:60px 0 40px;margin-top:36px;border-top:1px solid var(--line)}
.f-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:34px}
@media(max-width:980px){.f-grid{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:520px){.f-grid{grid-template-columns:1fr}}
.f-brand .tagl{font-family:var(--font-display);font-size:15px;color:var(--ink-2);margin-top:10px}
.f-brand .dis{font-size:12px;color:var(--ink-3);margin-top:14px;max-width:300px;line-height:1.6}
.f-col h3{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
.f-col ul{list-style:none;display:grid;gap:7px}
.f-col a{font-size:13.5px;color:var(--ink-2);text-decoration:none}
.f-col a:hover{color:var(--primary-600)}
.f-bot{margin-top:38px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-3)}

/* ---------- modal ---------- */
.modal{position:fixed;inset:0;z-index:500;display:none}
.modal.open{display:block}
.modal .veil{position:absolute;inset:0;background:rgba(9,18,19,.5);backdrop-filter:blur(4px)}
.modal .box{position:relative;z-index:2;width:min(620px,94vw);max-height:90vh;overflow-y:auto;margin:5vh auto;border-radius:var(--r-3xl);background:var(--glass-solid);border:var(--rim);backdrop-filter:var(--blur-xl);-webkit-backdrop-filter:var(--blur-xl);box-shadow:var(--sh-lg);padding:30px 32px 32px;animation:pop .3s var(--e-liquid) both}
@keyframes pop{from{transform:translateY(14px) scale(.985)}to{transform:none}}
@media(max-width:560px){.modal .box{padding:22px 20px 26px;border-radius:var(--r-2xl);margin:2vh auto;max-height:96vh}}
.modal h3{font-size:24px;font-weight:700;margin-bottom:8px}
.modal .mx{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:var(--rim-subtle);background:var(--glass-soft);color:var(--ink-2);cursor:pointer;font-size:17px;line-height:1}
.modal .mx:hover{color:var(--ink);background:var(--glass-tint-teal)}
.form{display:grid;gap:14px;margin-top:20px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.frow{grid-template-columns:1fr}}
.field{display:grid;gap:6px}
.field label{font-size:12.5px;font-weight:600;color:var(--ink-2)}
.field input,.field select,.field textarea{font-family:var(--font-sans);font-size:14.5px;color:var(--ink);padding:12px 14px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--glass-card);min-height:46px;width:100%}
.field textarea{min-height:80px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--primary-400);box-shadow:var(--focus-ring)}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts label{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:var(--r-full);border:1px solid var(--line);background:var(--glass-card);font-size:13.5px;color:var(--ink-2);cursor:pointer;min-height:42px}
.opts input{accent-color:var(--primary-600);width:15px;height:15px}
.opts label:has(input:checked){border-color:rgba(76,184,192,.6);background:var(--glass-tint-teal);color:var(--primary-800);font-weight:600}
[data-theme="dark"] .opts label:has(input:checked){color:#CFEEF0}
.form .btn-lead{margin-top:6px;width:100%}
.fnote{font-size:12px;color:var(--ink-3);line-height:1.55}
.done{display:none;text-align:center;padding:18px 0}
.done .ok{width:56px;height:56px;margin:0 auto 16px;border-radius:50%;background:var(--jade-100);color:var(--jade-600);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700}
.done h3{margin-bottom:10px}
.done p{font-size:14.5px;color:var(--ink-2)}
.modal.sent .form,.modal.sent .mintro{display:none}
.modal.sent .done{display:block}

/* ---------- sticky mobile CTA ---------- */
.scta{position:fixed;left:12px;right:12px;bottom:12px;z-index:300;display:none;align-items:center;gap:12px;padding:10px 12px 10px 18px;border-radius:var(--r-full);background:var(--glass-shell);border:var(--rim);backdrop-filter:var(--blur-xl);-webkit-backdrop-filter:var(--blur-xl);box-shadow:var(--sh-lg)}
.scta.show{display:flex;animation:up .35s var(--e-liquid) both}
@keyframes up{from{transform:translateY(20px)}to{transform:none}}
.scta .st{font-size:13px;font-weight:600;color:var(--ink);line-height:1.3;flex:1}
.scta .st span{display:block;font-size:11px;color:var(--ink-3);font-weight:500}
.scta .x{width:32px;height:32px;border-radius:50%;border:none;background:transparent;color:var(--ink-3);font-size:16px;cursor:pointer;flex-shrink:0}
@media(min-width:900px){.scta{display:none!important}}

/* ---------- reveal ---------- */
.reveal{will-change:transform}
.js-anim .reveal:not(.in){transform:translateY(24px)}
.js-anim .reveal.in{animation:reveal-up .7s var(--e-liquid) both}
@keyframes reveal-up{from{transform:translateY(24px)}to{transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.js-anim .reveal,.js-anim .reveal:not(.in){transform:none}.js-anim .reveal.in{animation:none}.tpanel.on,.fpanel.on{animation:none}}
