/* Keepspire site — design system v2 (2026-10-04)
   Tokens follow App SanctumTheme (gold + dark) and UXUI palette v1.1.
   Local fonts only (assets/fonts, built by tools/build-fonts.py): zero external requests. */

/* ── fonts ── */
@font-face{font-family:Inter;font-weight:400;font-style:normal;font-display:swap;src:url(assets/fonts/Inter-400.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:500;font-style:normal;font-display:swap;src:url(assets/fonts/Inter-500.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:600;font-style:normal;font-display:swap;src:url(assets/fonts/Inter-600.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:700;font-style:normal;font-display:swap;src:url(assets/fonts/Inter-700.woff2) format("woff2")}
@font-face{font-family:"Noto Sans TC";font-weight:400;font-style:normal;font-display:swap;src:url(assets/fonts/NotoSansTC-400.woff2) format("woff2")}
@font-face{font-family:"Noto Sans TC";font-weight:700;font-style:normal;font-display:swap;src:url(assets/fonts/NotoSansTC-700.woff2) format("woff2")}
@font-face{font-family:"Noto Serif TC";font-weight:500;font-style:normal;font-display:swap;src:url(assets/fonts/NotoSerifTC-500.woff2) format("woff2")}

/* ── tokens ── */
:root{
  --ink:#0A0A0F;--ink-2:#111118;--panel:#1A1A24;--panel-2:#22222F;
  --paper:#E8E6E0;--muted:#9896A0;--tertiary:#5A5868;--line:rgba(255,255,255,.13);--line-soft:rgba(255,255,255,.07);
  /* --tertiary is <3:1 on --ink: placeholder / decoration only, never body text */
  --gold:#C9A84C;--gold-2:#E8C97A;--purple:#7C6FF7;--green:#5CC98A;--blue:#5CA8E0;--amber:#E0A85C;--danger:#E05C5C;
  --serif:"Noto Serif TC","Songti TC","PMingLiU",Georgia,serif;
  --sans:Inter,"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;
  --max:1180px;--header-h:68px;--chips-h:56px;
  --ease:cubic-bezier(.2,.75,.25,1);
  --r-sm:10px;--r-md:16px;--r-lg:24px;
  /* type scale ×1.25 */
  --fs-xs:12px;--fs-sm:14px;--fs-base:16px;--fs-md:18px;--fs-lg:20px;--fs-xl:25px;--fs-2xl:31px;--fs-3xl:39px;--fs-4xl:49px;
  --shadow-1:0 1px 0 rgba(255,255,255,.04) inset,0 10px 28px -14px rgba(0,0,0,.7);
  --shadow-2:0 1px 0 rgba(255,255,255,.06) inset,0 24px 50px -22px rgba(0,0,0,.8);
  --shadow-3:0 50px 90px -30px rgba(0,0,0,.85),0 22px 40px -22px rgba(0,0,0,.7);
}
.theme-light{--ink:#F5F4F0;--ink-2:#FFFFFF;--panel:#FFFFFF;--panel-2:#ECEBF4;--paper:#1A1820;--muted:#5C5A70;--tertiary:#9896A8;--line:rgba(0,0,0,.13);--line-soft:rgba(0,0,0,.07);
  --shadow-1:0 1px 0 rgba(255,255,255,.8) inset,0 10px 28px -16px rgba(26,24,32,.25);--shadow-2:0 1px 0 rgba(255,255,255,.8) inset,0 24px 50px -24px rgba(26,24,32,.3);
  background:var(--ink);color:var(--paper);color-scheme:light}
/* gold/gold-2/green/blue/amber/purple fail contrast as TEXT on light (gold 2.08:1): never use them as light-section text */

/* ── base ── */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 24px);-webkit-text-size-adjust:100%}
html.has-chips{scroll-padding-top:calc(var(--header-h) + var(--chips-h) + 24px)}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:var(--fs-base);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img,svg{max-width:100%}
img{display:block;height:auto}
h1,h2,h3,h4,p,ul,ol{margin-top:0}
[hidden]{display:none!important}
.wrap{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--gold-2);color:#1A1400;padding:12px 18px;border-radius:var(--r-sm);font-weight:700;transition:top .2s}
.skip-link:focus{top:12px}
a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px;border-radius:6px}
.theme-light a:focus-visible,.theme-light button:focus-visible{outline-color:#1A1820}

/* ── header / nav ── */
.site-header{position:fixed;top:0;left:0;right:0;z-index:40;height:var(--header-h)}
/* blur lives on ::before so the header is not a containing block for the fixed mobile drawer */
.site-header::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(10,10,15,.72);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--line-soft);transition:background .3s,border-color .3s,box-shadow .3s}
.site-header.is-scrolled::before{background:rgba(10,10,15,.9);border-color:var(--line);box-shadow:0 12px 32px -18px rgba(0,0,0,.8)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:11px;font-weight:600;font-size:20px;letter-spacing:.02em}
.brand-mark{width:32px;height:32px;flex:0 0 auto;border-radius:10px;display:grid;place-items:center;color:var(--gold-2);background:linear-gradient(145deg,#24222f,#14131c);border:1px solid rgba(201,168,76,.4);box-shadow:0 0 18px -4px rgba(201,168,76,.35)}
.brand-mark svg{width:18px;height:18px}
.site-nav{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:500}
.site-nav a:not(.nav-cta){position:relative;padding:12px 14px;color:#c4c2cc;transition:color .2s}
.site-nav a:not(.nav-cta)::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:2px;border-radius:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.site-nav a:not(.nav-cta):hover,.site-nav a[aria-current="page"]{color:var(--paper)}
.site-nav a:not(.nav-cta):hover::after,.site-nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav-cta{margin-left:10px}
.menu{display:none;position:relative;width:48px;height:48px;background:none;border:0;cursor:pointer}
.menu span,.menu::before,.menu::after{content:"";position:absolute;left:12px;width:24px;height:2px;border-radius:2px;background:var(--paper);transition:transform .35s var(--ease),opacity .2s,top .35s var(--ease)}
.menu::before{top:16px}.menu span{top:23px}.menu::after{top:30px}
.nav-open .menu::before{top:23px;transform:rotate(45deg)}.nav-open .menu::after{top:23px;transform:rotate(-45deg)}.nav-open .menu span{opacity:0}

/* ── buttons / pills / badges ── */
.button,.nav-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border:1px solid var(--gold);border-radius:12px;color:#1A1400;background:linear-gradient(135deg,var(--gold-2),var(--gold));font-weight:700;font-size:var(--fs-sm);letter-spacing:.02em;cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s,background .3s,color .3s,border-color .3s;box-shadow:0 8px 22px -10px rgba(201,168,76,.55)}
.button:hover,.nav-cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(201,168,76,.6)}
.button.ghost{background:transparent;color:var(--paper);border-color:rgba(232,230,224,.3);box-shadow:none}
.button.ghost:hover{border-color:var(--gold);color:var(--gold-2);background:rgba(201,168,76,.06)}
.nav-cta{min-height:44px;padding:0 16px;font-size:12.5px}
.theme-light .button{box-shadow:0 8px 22px -12px rgba(26,24,32,.4)}
.theme-light .button.ghost{color:var(--paper);border-color:rgba(0,0,0,.35)}
.theme-light .button.ghost:hover{border-color:var(--paper);color:var(--paper);background:rgba(0,0,0,.05)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:4px 10px;border-radius:999px;letter-spacing:.02em;white-space:nowrap}
.pill.enc{color:var(--green);background:rgba(92,201,138,.1);border:1px solid rgba(92,201,138,.3)}
.pill.soon{color:var(--amber);background:rgba(224,168,92,.14);border:1px solid rgba(224,168,92,.3)}
.pill.err{color:var(--danger);background:rgba(224,92,92,.1);border:1px solid rgba(224,92,92,.3)}
.pill.info{color:var(--blue);background:rgba(92,168,224,.1);border:1px solid rgba(92,168,224,.3)}
.pill.next{color:var(--gold);background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.3)}
.pill.muted{color:var(--muted);background:rgba(128,128,150,.1);border:1px solid var(--line)}
.state-badge{display:inline-flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.04em;padding:4px 10px;border-radius:999px;margin-bottom:14px}
.state-badge::before{content:"";width:6px;height:6px;border-radius:50%}
.state-badge.current{color:var(--green);background:rgba(92,201,138,.12)}.state-badge.current::before{background:var(--green)}
.state-badge.direction{color:var(--amber);background:rgba(224,168,92,.12)}.state-badge.direction::before{background:var(--amber)}
.theme-light .state-badge{color:var(--paper);background:rgba(0,0,0,.06)}
.grad-gold{background:linear-gradient(135deg,var(--gold-2),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.warn-line{display:flex;gap:10px;align-items:flex-start;padding:12px 16px;margin:14px 0;background:rgba(224,92,92,.07);border:1px solid rgba(224,92,92,.28);border-left:3px solid var(--danger);border-radius:var(--r-sm);color:var(--paper);font-size:var(--fs-sm)}
.warn-line::before{content:"!";flex:0 0 auto;width:18px;height:18px;border-radius:50%;border:1px solid var(--danger);color:var(--danger);display:grid;place-items:center;font-size:12px;font-weight:700;margin-top:1px}
.status-dot{display:inline-flex;align-items:center;gap:9px;color:var(--green);font-size:13px}
.status-dot::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 6px rgba(92,201,138,.1)}

/* ── sections ── */
.section{padding:96px 0;border-top:1px solid var(--line-soft);position:relative}
.section-soft{background:var(--ink-2)}
.section-tight{padding:72px 0}
.section-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:end;margin-bottom:56px}
.section-head.single{grid-template-columns:minmax(0,760px)}
.kicker,.breadcrumb{color:var(--gold);font-size:var(--fs-xs);font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}
.theme-light .kicker,.theme-light .breadcrumb{color:var(--muted)}
.kicker.diary{color:var(--blue)}.kicker.finance{color:var(--green)}.theme-light .kicker.diary,.theme-light .kicker.finance{color:var(--muted)}
.section h2,.h2{font:650 clamp(var(--fs-2xl),3.6vw,var(--fs-4xl))/1.15 var(--sans);letter-spacing:-.025em;margin-bottom:0}
.section-head p,.lead{color:var(--muted);font-size:var(--fs-md);max-width:560px;margin-bottom:0}
.section h3{font-weight:650}

/* ── page hero (inner pages) ── */
.page-hero{padding:calc(var(--header-h) + 72px) 0 56px;position:relative;background:radial-gradient(60% 90% at 85% 0,rgba(201,168,76,.11),transparent 62%),radial-gradient(40% 70% at 10% 100%,rgba(124,111,247,.08),transparent 70%)}
.page-hero .wrap{display:block}
.page-hero h1,.hero h1{font:500 clamp(40px,5.4vw,64px)/1.08 var(--serif);letter-spacing:-.03em;margin:0 0 20px;max-width:780px}
.page-hero p{color:var(--muted);max-width:640px;font-size:var(--fs-md);margin-bottom:0}
.page-hero p+p{margin-top:16px}

/* ── section chips (章節快跳) ── */
.chips{position:sticky;top:var(--header-h);z-index:30;background:rgba(10,10,15,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-block:1px solid var(--line-soft)}
.chips-inner{display:flex;gap:8px;align-items:center;overflow-x:auto;padding:6px 0;scrollbar-width:none;min-height:var(--chips-h)}
.chips-inner::-webkit-scrollbar{display:none}
.chips-label{flex:0 0 auto;font-size:var(--fs-xs);color:var(--muted);letter-spacing:.1em;margin-right:6px}
.chip{flex:0 0 auto;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:var(--fs-sm);font-weight:500;transition:color .2s,border-color .2s,background .2s}
.chip:hover{color:var(--paper);border-color:rgba(232,230,224,.4)}
.chip[aria-current="true"]{color:#1A1400;background:var(--gold-2);border-color:var(--gold-2);font-weight:600}

/* ── reveal ── */
.js [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .75s var(--ease),transform .75s var(--ease);transition-delay:calc(var(--d,0)*80ms)}
.js [data-reveal].is-visible{opacity:1;transform:none}

/* ── cards ── */
.card{position:relative;border:1px solid transparent;border-radius:var(--r-lg);background:linear-gradient(180deg,var(--panel),var(--ink-2)) padding-box,linear-gradient(135deg,rgba(232,201,122,.45),rgba(255,255,255,.07) 38%,rgba(124,111,247,.28)) border-box;box-shadow:var(--shadow-1);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.theme-light .card{background:linear-gradient(180deg,#fff,#fbfaf7) padding-box,linear-gradient(135deg,rgba(26,24,32,.2),rgba(26,24,32,.07)) border-box}
.card.lift:hover{transform:translateY(-6px);box-shadow:var(--shadow-2)}
.icon-tile{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;background:rgba(201,168,76,.13);color:var(--gold-2)}
.icon-tile svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.icon-tile.pu{background:rgba(124,111,247,.16);color:#A79CFF}.icon-tile.bl{background:rgba(92,168,224,.15);color:var(--blue)}.icon-tile.gr{background:rgba(92,201,138,.14);color:var(--green)}.icon-tile.am{background:rgba(224,168,92,.14);color:var(--amber)}
.theme-light .icon-tile{background:rgba(26,24,32,.07);color:var(--paper)}

/* ── device frame (real screenshots) ── */
.device{width:var(--w,260px);padding:9px;border-radius:40px;background:linear-gradient(145deg,#2c2c38,#0b0b10 52%,#32323e);box-shadow:var(--shadow-3),inset 0 0 0 1px rgba(255,255,255,.14);position:relative}
.device::after{content:"";position:absolute;top:17px;left:50%;width:46px;height:12px;margin-left:-23px;border-radius:8px;background:#050507}
.device img{width:100%;aspect-ratio:560/1245;border-radius:32px;background:#F5F4F0;object-fit:cover}
.device-cap{display:flex;justify-content:center;margin-top:16px}

/* ── home hero ── */
.hero{padding:calc(var(--header-h) + 40px) 0 56px;position:relative;overflow-x:clip;background:radial-gradient(48% 60% at 78% 42%,rgba(124,111,247,.13),transparent 70%),radial-gradient(60% 70% at 18% 0,rgba(201,168,76,.12),transparent 66%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:40px}
.hero h1{font-size:clamp(44px,5.6vw,72px);line-height:1.06;margin-bottom:24px}
.hero h1 em{font-style:normal;color:var(--gold-2)}
.hero-copy>p{max-width:540px;color:#b6b4bf;font-size:var(--fs-md)}
.quiet-meta{display:flex;gap:10px 22px;flex-wrap:wrap;margin-top:28px;color:var(--muted);font-size:13px}
.quiet-meta span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--purple);margin-right:8px;box-shadow:0 0 0 5px rgba(124,111,247,.1)}
.hero-devices{position:relative;height:548px}
.hero-devices::before{content:"";position:absolute;left:50%;top:50%;width:420px;height:420px;margin:-210px 0 0 -210px;border-radius:50%;background:radial-gradient(circle,rgba(201,168,76,.2),transparent 68%);filter:blur(10px)}
.hero-devices .device{position:absolute;animation:float 7s ease-in-out infinite}
.hero-devices .d-a{--w:228px;left:3%;top:56px;--r:-5deg;transform:rotate(var(--r))}
.hero-devices .d-b{--w:244px;right:3%;top:0;--r:4deg;transform:rotate(var(--r));animation-delay:-3.4s;z-index:2}
@keyframes float{0%,100%{transform:translateY(0) rotate(var(--r))}50%{transform:translateY(-12px) rotate(var(--r))}}
.hero-flag{position:absolute;left:50%;bottom:0;transform:translateX(-50%);z-index:3}

/* ── trust strip ── */
.trust{border-block:1px solid var(--line-soft);background:var(--ink-2)}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.trust-item{display:flex;gap:16px;align-items:center;padding:28px 28px 28px 0}
.trust-item+.trust-item{padding-left:28px;border-left:1px solid var(--line-soft)}
.trust-item strong{display:block;font-size:var(--fs-base);font-weight:650;line-height:1.4}
.trust-item span{display:block;color:var(--muted);font-size:var(--fs-sm);line-height:1.5}

/* ── module cards (home) ── */
.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.module-card{display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;min-height:480px}
.module-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(70% 45% at 50% 100%,var(--glow,rgba(124,111,247,.18)),transparent 70%)}
.module-card .mno{font-size:var(--fs-xs);font-weight:600;letter-spacing:.14em;color:var(--accent,#A79CFF)}
.module-card h3{font-size:var(--fs-xl);margin:10px 0 8px}
.module-card p{color:var(--muted);margin:0 0 24px;font-size:var(--fs-sm)}
.module-card .more{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:600;color:var(--gold-2);margin-bottom:22px}
.module-card .more::after{content:"→";transition:transform .3s var(--ease)}
.module-card:hover .more::after{transform:translateX(5px)}
.module-card .peek{margin:auto -32px 0;padding:0 40px;position:relative}
.module-card .peek .device{--w:100%;border-radius:34px 34px 0 0;padding:9px 9px 0;box-shadow:0 -10px 50px -12px var(--glow,rgba(124,111,247,.4)),inset 0 0 0 1px rgba(255,255,255,.14);transition:transform .6s var(--ease)}
.module-card .peek .device::after{display:none}
.module-card .peek img{height:230px;aspect-ratio:auto;object-position:top;border-radius:26px 26px 0 0}
.module-card:hover .peek .device{transform:translateY(-8px)}
.module-card.m-diary{--accent:var(--blue);--glow:rgba(92,168,224,.2)}.module-card.m-finance{--accent:var(--green);--glow:rgba(92,201,138,.18)}

/* ── cta band ── */
.cta-band{padding:56px 48px;border-radius:var(--r-lg);text-align:center;border:1px solid rgba(201,168,76,.3);background:radial-gradient(70% 140% at 50% 0,rgba(201,168,76,.14),transparent 70%),var(--panel);box-shadow:var(--shadow-2)}
.cta-band h2{font:650 clamp(var(--fs-xl),3vw,var(--fs-3xl))/1.2 var(--sans);letter-spacing:-.02em;margin:10px auto 14px;max-width:720px}
.cta-band p{color:var(--muted);max-width:620px;margin:0 auto}
.cta-band .actions{justify-content:center}

/* ── callout ── */
.callout{padding:36px;border:1px solid rgba(201,168,76,.35);border-radius:var(--r-lg);background:linear-gradient(120deg,rgba(201,168,76,.09),transparent 70%),var(--panel);display:grid;grid-template-columns:52px 1fr;gap:22px;align-items:start}
.callout-icon{width:52px;height:52px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font:600 24px var(--sans)}
.callout h3{font-size:var(--fs-xl);margin-bottom:8px}
.callout p{color:var(--muted);margin:0}
.theme-light .callout{background:#fff;border-color:rgba(0,0,0,.14)}
.theme-light .callout-icon{border-color:var(--paper);color:var(--paper)}

/* ── explorer (tabs) ── */
.explorer{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:48px;align-items:start}
.tab-list{display:flex;flex-direction:column;gap:10px}
.tab-list button{display:flex;gap:14px;align-items:center;text-align:left;width:100%;min-height:72px;padding:14px 16px;background:transparent;border:1px solid var(--line-soft);border-radius:var(--r-md);cursor:pointer;color:var(--muted);transition:background .3s,border-color .3s,color .3s,transform .3s var(--ease)}
.tab-list button:hover{border-color:var(--line);color:var(--paper)}
.tab-list button b{display:block;font-size:var(--fs-md);font-weight:650;color:inherit;line-height:1.3}
.tab-list button small{display:block;font-size:13px;line-height:1.45;margin-top:2px}
.tab-list button[aria-selected="true"]{background:var(--panel);border-color:rgba(201,168,76,.45);color:var(--paper);box-shadow:var(--shadow-1);transform:translateX(6px)}
.tab-list button[aria-selected="true"] b{color:var(--paper)}
.theme-light .tab-list button[aria-selected="true"]{background:#fff;border-color:rgba(0,0,0,.3)}
.stage{display:grid;grid-template-columns:auto minmax(0,1fr);gap:56px;align-items:center}
.stage .device{--w:290px}
.stage-copy h3{font-size:var(--fs-2xl);line-height:1.2;letter-spacing:-.02em;margin-bottom:12px}
.stage-copy p{color:var(--muted);max-width:420px}
.stage-copy ul{list-style:none;padding:0;margin:18px 0 0}
.stage-copy li{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid var(--line-soft);font-size:var(--fs-sm)}
.stage-copy li::before{content:"";flex:0 0 auto;width:7px;height:7px;margin-top:9px;border-radius:50%;background:var(--accent,var(--purple))}
[role="tabpanel"]:not([hidden]){animation:panelIn .55s var(--ease)}
@keyframes panelIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ── feature blocks / bento ── */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.bento>*{grid-column:span 2}
.bento .wide{grid-column:span 3}.bento .full{grid-column:span 6}
.b-card{padding:28px}
.b-card h3{font-size:var(--fs-lg);margin:18px 0 8px}
.b-card p{color:var(--muted);font-size:var(--fs-sm);margin:0}
.b-card ul{margin:12px 0 0;padding-left:18px;color:var(--muted);font-size:var(--fs-sm)}

/* ── currency flow (features) ── */
.flow3{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:16px;align-items:stretch}
.flow3 .arrow{align-self:center;color:var(--gold);font-size:22px}
.flow-box{padding:24px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--panel)}
.flow-box h4{font-size:var(--fs-base);margin:12px 0 10px}
.flow-box ul{list-style:none;margin:0;padding:0;font-size:var(--fs-sm);color:var(--muted)}
.flow-box li{padding:7px 0;border-bottom:1px dashed var(--line-soft);display:flex;justify-content:space-between;gap:10px}
.flow-box li b{color:var(--paper);font-weight:600;font-variant-numeric:tabular-nums}
.flow-note{margin:18px 0 0;font-size:13px;color:var(--muted)}

/* ── security: interactive flow ── */
.arch-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;position:relative}
.arch-steps button{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:120px;padding:18px;text-align:left;cursor:pointer;border-radius:var(--r-md);border:1px solid var(--line);background:var(--panel);transition:border-color .3s,transform .4s var(--ease),box-shadow .4s}
.arch-steps button:hover{border-color:rgba(201,168,76,.5);transform:translateY(-3px)}
.arch-steps button[aria-selected="true"]{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),var(--shadow-2)}
.arch-steps .n{position:absolute;top:14px;right:16px;font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--muted)}
.arch-steps b{font-size:var(--fs-base);font-weight:650;line-height:1.3}
.arch-steps button:not(:last-child)::after{content:"→";position:absolute;right:-17px;top:50%;margin-top:-12px;color:var(--gold);z-index:2;font-size:18px}
.arch-detail{padding:28px 32px;border:1px solid var(--line);border-radius:var(--r-md);background:linear-gradient(120deg,rgba(201,168,76,.07),transparent 60%),var(--panel)}
.arch-detail h3{font-size:var(--fs-lg);margin-bottom:8px}
.arch-detail p{color:var(--muted);margin:0;max-width:760px}
.arch-out{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
.arch-out .flow-box.dashed{border-style:dashed}
.arch-join{display:flex;align-items:center;gap:14px;margin:36px 0 4px;color:var(--muted);font-size:13px;letter-spacing:.06em}
.arch-join::before,.arch-join::after{content:"";flex:1;height:1px;background:var(--line)}
.note{margin:24px 0 0;font-size:13px;color:var(--muted);max-width:760px}

/* ── security items ── */
.sec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.sec-item{padding:28px;display:grid;grid-template-columns:44px 1fr;gap:6px 18px;align-items:start}
.sec-item .icon-tile{grid-row:span 3}
.sec-item h3{font-size:var(--fs-lg);margin:0 0 6px;line-height:1.3}
.sec-item p{color:var(--muted);margin:0;font-size:var(--fs-sm)}
.sec-item .pill{justify-self:start;margin-bottom:8px}

/* ── accordion ── */
.accordion{border-top:1px solid var(--line)}
.acc-item{border-bottom:1px solid var(--line)}
.acc-item>button{width:100%;min-height:64px;padding:20px 4px;background:none;border:0;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;cursor:pointer;font:600 var(--fs-lg)/1.4 var(--sans);color:var(--paper)}
.acc-item>button::after{content:"";flex:0 0 auto;width:12px;height:12px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg) translate(-3px,-3px);transition:transform .4s var(--ease)}
.theme-light .acc-item>button::after{border-color:var(--paper)}
.acc-item.is-open>button::after{transform:rotate(225deg) translate(-3px,-3px)}
.acc-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.acc-item.is-open .acc-panel{grid-template-rows:1fr}
.acc-panel>div{overflow:hidden;color:var(--muted);max-width:820px}
.acc-panel>div>p{margin:0;padding:0 4px 26px}

/* ── stepper (guide) ── */
.stepper{counter-reset:step;position:relative;display:grid;gap:20px}
.stepper::before{content:"";position:absolute;left:27px;top:28px;bottom:28px;width:2px;background:linear-gradient(var(--gold),rgba(201,168,76,.1));opacity:.5}
.step{counter-increment:step;position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:24px}
.step::before{content:counter(step);width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--ink);border:2px solid var(--gold);color:var(--gold-2);font:700 20px var(--sans);position:relative;z-index:1}
.step .card{padding:28px 32px}
.step h3{font-size:var(--fs-xl);margin-bottom:10px;line-height:1.3}
.step p{color:var(--muted);margin-bottom:0}
.step ul{margin:14px 0 0;padding-left:18px;color:var(--muted);font-size:var(--fs-sm)}
.step li{margin:4px 0}
.theme-light .step::before{background:#fff;border-color:var(--paper);color:var(--paper)}
.theme-light .stepper::before{background:linear-gradient(var(--paper),rgba(26,24,32,.1))}
.two-col{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.tip-card{padding:28px}
.tip-card .mno{font-size:var(--fs-xs);font-weight:600;letter-spacing:.14em;color:var(--muted)}
.tip-card h3{font-size:var(--fs-lg);margin:8px 0}
.tip-card p{color:var(--muted);font-size:var(--fs-sm);margin:0}

/* ── timeline (progress) ── */
.timeline{position:relative;padding-left:44px;--p:0}
.timeline::before,.timeline::after{content:"";position:absolute;left:11px;top:8px;width:2px;border-radius:2px}
.timeline::before{bottom:8px;background:var(--line)}
.timeline::after{height:calc((100% - 16px)*var(--p));background:linear-gradient(var(--gold-2),var(--gold))}
.t-item{position:relative;padding:0 0 36px}
.t-item:last-child{padding-bottom:0}
.t-item::before{content:"";position:absolute;left:-44px;top:6px;width:24px;height:24px;border-radius:50%;background:var(--ink);border:2px solid var(--line)}
.t-item.done::before{border-color:var(--green);background:var(--green);box-shadow:0 0 0 6px rgba(92,201,138,.12)}
.t-item.active::before{border-color:var(--blue);box-shadow:0 0 0 6px rgba(92,168,224,.16);animation:ping 2.4s ease-out infinite}
.t-item.next::before{border-color:var(--gold)}
.t-card{padding:24px 28px}
.t-card .row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.t-card h3{font-size:var(--fs-xl);margin:0;line-height:1.3}
.t-card p{margin:0;color:var(--muted)}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(92,168,224,.5)}80%,100%{box-shadow:0 0 0 12px rgba(92,168,224,0)}}
.gate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.gate{display:flex;gap:14px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);color:var(--paper)}
.gate::before{content:"";width:18px;height:18px;border:1.5px solid #6c6a7c;border-radius:5px;flex:0 0 auto;margin-top:4px}
.gate small{display:block;color:var(--gold);font-size:12px;margin-top:4px;letter-spacing:.02em}
.theme-light .gate small{color:var(--muted)}
.gate-grid.ok .gate::before{border-color:var(--green)}
.status-box{padding:48px;text-align:center}
.status-box h2{max-width:780px;margin:12px auto 18px}
.status-box p{max-width:640px;margin:0 auto;color:var(--muted)}

/* ── footer ── */
.site-footer{padding:56px 0 28px;border-top:1px solid var(--line-soft);background:#06060a}
.footer-main{display:grid;grid-template-columns:1.4fr repeat(3,.7fr);gap:40px;padding-bottom:36px}
.footer-brand p{color:var(--muted);max-width:340px;font-size:var(--fs-sm);margin:14px 0 0}
.footer-col h3{font:600 var(--fs-xs)/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);margin-bottom:10px}
.footer-col a{display:block;color:var(--muted);font-size:var(--fs-sm);padding:6px 0;transition:color .2s}
.footer-col a:hover,.footer-col a[aria-current="page"]{color:var(--paper)}
.footer-bottom{border-top:1px solid var(--line-soft);padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#8a8896;font-size:var(--fs-xs)}

/* ── misc ── */
.pulse-once{animation:pulse .9s}
@keyframes pulse{50%{box-shadow:0 0 0 10px rgba(201,168,76,.2)}}

/* ── responsive ── */
@media(max-width:1000px){
  .explorer{grid-template-columns:1fr}.tab-list{flex-direction:row;overflow-x:auto;gap:8px;padding:6px 4px 12px;scrollbar-width:none}.tab-list::-webkit-scrollbar{display:none}.tab-list button{flex:0 0 auto;width:auto;min-width:210px}.tab-list button[aria-selected="true"]{transform:none}
  .module-grid{grid-template-columns:1fr}.module-card{min-height:0;flex-direction:row;flex-wrap:wrap;padding:28px 28px 0}.module-card .txt{flex:1 1 280px;padding-bottom:24px}.module-card .peek{flex:0 0 220px;margin:0 0 0 auto;padding:0}.module-card .peek img{height:190px}
  .arch-steps{grid-template-columns:repeat(2,1fr)}.arch-steps button:not(:last-child)::after{display:none}
  .flow3{grid-template-columns:1fr}.flow3 .arrow{transform:rotate(90deg);justify-self:center}
  .bento{grid-template-columns:repeat(2,1fr)}.bento>*,.bento .wide,.bento .full{grid-column:span 2}
}
@media(max-width:900px){
  .site-nav{position:fixed;inset:0;z-index:-1;flex-direction:column;align-items:stretch;justify-content:center;gap:4px;padding:var(--header-h) 28px 32px;background:rgba(10,10,15,.985);visibility:hidden;opacity:0;transition:opacity .35s var(--ease),visibility 0s .35s}
  .nav-open .site-nav{visibility:visible;opacity:1;transition:opacity .35s var(--ease)}
  .nav-open{overflow:hidden}
  .site-nav a:not(.nav-cta){font-size:26px;font-weight:600;padding:14px 4px;border-bottom:1px solid var(--line-soft);transform:translateY(14px);opacity:0;transition:transform .5s var(--ease),opacity .5s,color .2s;transition-delay:calc(var(--i,0)*45ms)}
  .nav-open .site-nav a:not(.nav-cta){transform:none;opacity:1}
  .site-nav a:not(.nav-cta)::after{left:4px;right:auto;width:40px;bottom:8px}
  .nav-cta{margin:24px 0 0;min-height:52px}
  .menu{display:block}
  .header-inner{position:relative;z-index:2}
  .hero-grid{grid-template-columns:1fr;gap:12px}.hero-copy{text-align:center}.hero-copy>p{margin-inline:auto}.actions,.quiet-meta{justify-content:center}
  .hero-devices{height:470px;max-width:460px;margin-inline:auto;width:100%}.hero-devices .d-a{--w:190px;top:48px}.hero-devices .d-b{--w:204px}
  .section{padding:72px 0}.section-tight{padding:56px 0}.section-head{grid-template-columns:1fr;gap:18px;margin-bottom:40px}
  .stage{grid-template-columns:1fr;justify-items:center;gap:32px}.stage-copy{text-align:left}
  .trust-grid{grid-template-columns:1fr}.trust-item,.trust-item+.trust-item{padding:20px 0;border-left:0}.trust-item+.trust-item{border-top:1px solid var(--line-soft)}
  .sec-grid,.two-col,.gate-grid,.arch-out{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
}
@media(max-width:580px){
  .wrap{width:min(100% - 32px,var(--max))}
  .page-hero{padding:calc(var(--header-h) + 44px) 0 36px}
  .hero{padding-bottom:36px}.hero h1{font-size:42px}
  .hero-devices{height:410px}.hero-devices .d-a{--w:164px;top:40px;left:0}.hero-devices .d-b{--w:176px;right:0}
  .module-card{padding:24px 22px 0}.module-card .peek{flex-basis:100%;margin:0 -22px 0;padding:0 36px}.module-card .peek img{height:170px}
  .callout{grid-template-columns:1fr;padding:26px 22px}
  .cta-band,.status-box{padding:36px 22px}
  .actions .button{width:100%}
  .step{grid-template-columns:44px minmax(0,1fr);gap:14px}.step::before{width:44px;height:44px;font-size:17px}.stepper::before{left:21px}.step .card{padding:22px}
  .timeline{padding-left:36px}.t-item::before{left:-36px}.t-card{padding:20px}
  .arch-steps{grid-template-columns:1fr}.sec-item{padding:22px}
  .footer-main{grid-template-columns:1fr}
  .stage .device{--w:250px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js [data-reveal]{opacity:1;transform:none}
  .hero-devices .device{transform:rotate(var(--r))}
}

/* light-section overrides for components that use accent text colors */
.theme-light .module-card .more{color:var(--paper)}
.theme-light .module-card .mno{color:var(--muted)}
.theme-light .module-card::before{background:radial-gradient(70% 45% at 50% 100%,var(--glow,rgba(124,111,247,.18)),transparent 70%)}
.theme-light .stage-copy li{border-color:var(--line)}

/* compact rhythm (home ≤2.5 screens) */
.section-compact{padding:72px 0}.section-compact .section-head{margin-bottom:40px}
.section-tight{padding:48px 0}
.module-card{min-height:430px}.module-card .peek img{height:212px}
.site-footer{padding:44px 0 22px}.footer-main{padding-bottom:24px}
.hero{padding:calc(var(--header-h) + 28px) 0 36px}
.hero-devices{height:512px}.hero-devices .d-a{--w:214px;top:52px}.hero-devices .d-b{--w:228px}
.cta-band{padding:44px 40px}.section-tight{padding:40px 0}
.module-card{min-height:410px}.module-card .peek img{height:196px}
.site-footer{padding:36px 0 18px}.footer-main{padding-bottom:18px;gap:28px}.footer-col a{padding:4px 0}.footer-brand p{margin-top:10px}.footer-bottom{padding-top:16px}

/* mobile compaction (home ≤3.5 screens @390×844) */
@media(max-width:580px){
  .hero-devices{height:350px}.hero-devices .d-a{--w:132px;top:34px;left:2%}.hero-devices .d-b{--w:144px;right:2%}
  .hero-devices::before{width:300px;height:300px;margin:-150px 0 0 -150px}
  .hero-copy>p{font-size:var(--fs-base)}.actions{margin-top:24px}.quiet-meta{margin-top:20px}
  .trust-item,.trust-item+.trust-item{padding:14px 0;gap:14px}.trust-item .icon-tile{width:40px;height:40px}
  .module-grid{gap:16px}
  .module-card{display:grid;grid-template-columns:minmax(0,1fr) 124px;gap:12px;min-height:0;padding:22px 0 0 22px;overflow:hidden}
  .module-card .txt{padding-bottom:20px;flex:none}.module-card p{margin-bottom:12px}.module-card .more{margin-bottom:0}.module-card h3{font-size:22px}
  .module-card .peek{flex:none;margin:0;padding:18px 18px 0 0;align-self:end}.module-card .peek img{height:140px}.module-card .peek .device{border-radius:20px 20px 0 0;padding:5px 5px 0}.module-card .peek img{border-radius:16px 16px 0 0}
  .section-compact{padding:56px 0}.section-compact .section-head{margin-bottom:28px}
  .section-tight{padding:32px 0}.cta-band{padding:32px 20px}
  .footer-main{grid-template-columns:1fr 1fr;gap:20px}
  .page-hero h1{font-size:38px}
}
@media(max-width:580px){
  .module-card{padding-top:18px}.module-card .txt{padding-bottom:14px}.module-card .peek img{height:128px}
  .section-head p{font-size:15px;line-height:1.6}.section-compact .section-head{margin-bottom:22px}
  .cta-band h2{font-size:24px}.site-footer{padding-top:28px}
}

/* pills on light sections need darker text (green/amber/blue/gold fail contrast on white) */
.theme-light .pill.enc{color:#15603C;background:rgba(21,96,60,.09);border-color:rgba(21,96,60,.3)}
.theme-light .pill.soon{color:#8A5300;background:rgba(138,83,0,.09);border-color:rgba(138,83,0,.3)}
.theme-light .pill.info{color:#1B5B8A;background:rgba(27,91,138,.09);border-color:rgba(27,91,138,.3)}
.theme-light .pill.next{color:#7A5A00;background:rgba(122,90,0,.09);border-color:rgba(122,90,0,.3)}
.theme-light .pill.err{color:#A02525;background:rgba(160,37,37,.08);border-color:rgba(160,37,37,.3)}
.theme-light .status-dot{color:#15603C}
.theme-light .warn-line{background:rgba(160,37,37,.06)}
/* 44px minimum targets (QA a11y standard) */
.brand{min-height:44px}
.footer-col a{display:flex;align-items:center;min-height:44px;padding:0}
.footer-col h3{margin-bottom:4px}
.hero{padding-bottom:28px}
.theme-light .flow3 .arrow,.theme-light .arch-steps button:not(:last-child)::after{color:var(--muted)}
.theme-light .arch-steps button[aria-selected="true"]{border-color:var(--paper);box-shadow:0 0 0 1px var(--paper),var(--shadow-2)}
.theme-light .arch-steps button:hover{border-color:var(--muted)}
.theme-light .arch-detail{background:#fff}

/* ═══ marketing home v3 (2026-10-05): 6-language home, trust strip, benefits, comparison table ═══ */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.header-inner{gap:12px}
.site-nav{order:2}.header-tools{order:3;display:flex;align-items:center;gap:4px;margin-left:auto}
@media(min-width:901px){.header-tools{margin-left:0}.header-inner{justify-content:space-between}}
.lang{position:relative}
.lang summary{list-style:none;display:flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:999px;cursor:pointer;font-size:var(--fs-sm);font-weight:500;color:#c4c2cc;transition:border-color .2s,color .2s}
.lang summary::-webkit-details-marker{display:none}
.lang summary:hover,.lang[open] summary{border-color:rgba(232,230,224,.4);color:var(--paper)}
.lang summary svg{width:18px;height:18px}
.lang-list{position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:200px;margin:0;padding:6px;list-style:none;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-2)}
.lang-list a{display:flex;align-items:center;min-height:44px;padding:0 14px;border-radius:10px;font-size:var(--fs-sm);color:var(--muted)}
.lang-list a:hover{background:rgba(255,255,255,.06);color:var(--paper)}
.lang-list a[aria-current="true"]{color:var(--gold-2);font-weight:600}
.footer-note{margin:10px 0 0;font-size:13px;color:var(--muted);max-width:340px}
@media(max-width:900px){.header-inner{position:relative;z-index:2}.site-nav{order:0}}

/* per-language type (zh-CN / ja / ko use system stacks: nothing to bundle, zero external requests) */
html[lang="zh-CN"]{--sans:Inter,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","Noto Sans CJK SC",system-ui,sans-serif;--serif:"Songti SC","Noto Serif SC","Noto Serif CJK SC","SimSun",serif}
html[lang="ja"]{--sans:Inter,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic","Meiryo","Noto Sans JP","Noto Sans CJK JP",system-ui,sans-serif;--serif:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP","Noto Serif CJK JP",serif}
html[lang="ko"]{--sans:Inter,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR","Noto Sans CJK KR",system-ui,sans-serif;--serif:"AppleMyungjo","Batang","Noto Serif KR","Noto Serif CJK KR",serif}
html[lang="ja"] .hero h1,html[lang="ko"] .hero h1{font-size:clamp(34px,4.4vw,56px);letter-spacing:0;line-height:1.25}
html[lang="zh-CN"] .hero h1,html[lang="zh-TW"] .hero h1,html[lang="zh-HK"] .hero h1{font-size:clamp(40px,5.2vw,66px)}
html[lang="en"] .hero h1{font-size:clamp(40px,5vw,62px)}
html[lang="ja"] *,html[lang="ko"] *{letter-spacing:0}

/* hero v3 */
.hero-v3 .hero-sub{font-size:var(--fs-lg);color:var(--paper);margin:0 0 8px;max-width:560px}
.hero-v3 .hero-emph{font-weight:600;color:var(--gold-2);margin:0;max-width:560px}
.cta-note{margin:16px 0 0}
.cta-band .cta-note{margin-top:20px}
.button:disabled{background:transparent;color:var(--muted);border:1px dashed rgba(232,230,224,.35);box-shadow:none;cursor:not-allowed;transform:none}
.button:disabled:hover{transform:none;box-shadow:none}

/* trust strip */
.strip{background:linear-gradient(90deg,rgba(201,168,76,.13),rgba(124,111,247,.09));border-block:1px solid var(--line)}
.strip .wrap{display:flex;align-items:center;justify-content:center;gap:16px;padding:22px 0}
.strip p{margin:0;font-weight:600;font-size:var(--fs-md);line-height:1.5}

/* benefits */
.benefit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.benefit{display:grid;grid-template-columns:44px minmax(0,1fr);gap:18px;padding:28px;align-items:start}
.benefit h3{font-size:var(--fs-lg);margin:0 0 8px;line-height:1.35}
.benefit p{margin:0;color:var(--muted);font-size:var(--fs-sm);line-height:1.7}

/* what we don't do */
.dont-wrap{text-align:center}
.dont-h{font:600 var(--fs-md)/1.4 var(--sans);color:var(--muted);letter-spacing:.04em;margin:0 0 18px}
.dont{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:0;margin:0}
.dont li{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 18px 0 14px;border:1px solid var(--line);border-radius:999px;font-weight:600;font-size:var(--fs-sm)}
.dont .x{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(224,92,92,.15);color:var(--danger)}
.dont .x svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.6;stroke-linecap:round}
.honest{margin:22px auto 0;color:var(--muted);font-size:var(--fs-sm);max-width:660px}

/* comparison table */
.cmp-wrap{overflow:hidden;padding:0}
.cmp{width:100%;border-collapse:collapse;font-size:var(--fs-base)}
.cmp th,.cmp td{padding:16px 22px;text-align:left;vertical-align:middle;border-top:1px solid var(--line-soft)}
.cmp thead th{border-top:0;font-size:var(--fs-sm);font-weight:650;line-height:1.4}
.cmp thead th .icon-tile{display:inline-grid;vertical-align:middle;width:30px;height:30px;margin-right:10px;border-radius:9px}
.cmp thead th .icon-tile svg{width:16px;height:16px}
.cmp tbody th{font-weight:600;width:30%}
.cmp td.us{background:rgba(201,168,76,.12);font-weight:600}
.cmp thead th.us{background:rgba(201,168,76,.28)}
.cmp td.them,.cmp thead th.them{color:var(--muted)}
.cmp thead th.them{background:rgba(0,0,0,.05)}
.mk{display:inline-grid;place-items:center;width:26px;height:26px;margin-right:10px;border-radius:50%;font-size:14px;font-weight:700;vertical-align:middle;line-height:1}
.mk.ok{background:rgba(21,96,60,.14);color:#15603C}
.mk.no{background:rgba(160,37,37,.12);color:#A02525}
.mk.part{background:rgba(138,83,0,.14);color:#8A5300}
@media(max-width:900px){.benefit-grid{grid-template-columns:1fr}}
@media(max-width:720px){
  .cmp,.cmp tbody,.cmp tr,.cmp td,.cmp tbody th{display:block;width:100%}
  .cmp thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .cmp tr{padding:6px 0;border-top:1px solid var(--line)}.cmp tbody tr:first-child{border-top:0}
  .cmp th,.cmp td{border:0;padding:8px 18px}
  .cmp tbody th{padding-top:14px;font-size:var(--fs-md)}
  .cmp td::before{content:attr(data-label);display:block;font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--muted);margin-bottom:2px}
  .cmp td.us{margin:4px 12px;width:auto;border-radius:12px}
  .strip .wrap{flex-direction:column;gap:10px;text-align:center}
}
@media(max-width:580px){.benefit{padding:22px;gap:14px}.lang summary span{display:none}.lang summary{padding:0 12px}.lang-list{right:-52px}}

h1,h2,.cta-band h2{text-wrap:balance}
.section .dont-h{font:600 var(--fs-md)/1.4 var(--sans);color:var(--muted);letter-spacing:.04em;margin:0 0 18px}
.hero-grid>*,.section-head>*,.benefit>*{min-width:0}
.cta-note .pill{white-space:normal;line-height:1.5;padding:5px 12px}
.hero h1,.hero-copy p{overflow-wrap:anywhere}
@media(max-width:720px){
  .cmp tr{padding:2px 0}.cmp tbody th{padding:12px 18px 2px}.cmp th,.cmp td{padding:4px 18px}
  .cmp td::before{display:inline;margin:0 8px 0 0;font-size:11px}
  .cmp td.us{padding:8px 14px;margin:4px 10px}
}
@media(max-width:580px){.hero-v3 .hero-sub{font-size:var(--fs-md)}.cta-band h2{font-size:22px}}
html[lang="ja"] .hero h1,html[lang="ja"] .hero-copy p,html[lang="ja"] .strip p,html[lang="ja"] .cta-band h2,html[lang="zh-CN"] .hero h1,html[lang="zh-TW"] .hero h1,html[lang="zh-HK"] .hero h1,html[lang="ko"] .hero h1{overflow-wrap:normal;word-break:normal;line-break:strict}
html[lang="ko"] .hero h1,html[lang="ko"] .hero-copy p{word-break:keep-all}
html[lang="ja"] .hero h1,html[lang="ja"] .hero-copy p,html[lang="ja"] .strip p,html[lang="ja"] .cta-band h2,html[lang="ja"] .benefit h3{word-break:auto-phrase}
@media(max-width:580px){html[lang="ja"] .hero h1,html[lang="ko"] .hero h1{font-size:30px}}

/* palette v1.1 comparison: "us" column = brand gold fill (ink text, never gold text); semantic marks on-palette */
.cmp thead th.us{background:#C9A84C;color:#1A1400}
.cmp thead th.us .icon-tile{background:rgba(26,20,0,.14);color:#1A1400}
.cmp td.us{background:rgba(201,168,76,.14)}
.mk.ok{background:#5CC98A;color:#0A0A0F}
.mk.no{background:#E05C5C;color:#0A0A0F}
.mk.part{background:#E0A85C;color:#0A0A0F}
@media(max-width:720px){.cmp td.us{background:rgba(201,168,76,.18)}}
