:root {
  --wrap:1160px;
  --header-h:88px;
  --h1:56px;
  --h2:40px;
  --h3:18px;
  --body:16px;
  --small:13px;
  --radius-control:6px;
  --radius-card:12px;
  --radius-panel:20px;
  --s1:8px;
  --s2:12px;
  --s3:16px;
  --s4:24px;
  --s5:32px;
  --s6:48px;
  --s7:64px;
  --ink:#16212c;
  --text:#2f3d4b;
  --muted:#5b6875;
  --soft:#7a8591;
  --line:#dde3e6;
  --bg:#ffffff;
  --paper:#ffffff;
  --alt:#f5f7f7;
  --band:#e8eeed;
  --pri:#0f4c55;
  --pri-d:#0a3b42;
  --glow:#c8643c;
  --field-line:#eef1f2;
  --selected:#eef4f4;
  --code-bg:#f3f6f8;
  --demo-bg:#f3ebe3;
  --demo-ink:#8a4b2c;
  --teal-card:#e3ecec;
  --teal-ink:#123c43;
  --sand-card:#efe6d8;
  --sand-art:#e6dccd;
  --sand-ink:#5a4127;
  --slate-card:#e6e7ef;
  --slate-ink:#2e3352;
  --art-dark:#0f3b42;
  --art-slate:#2a3644;
  --art-pale:#d6e2e2;
  --art-paper:#fbf7f1;
  --room-bg:#eef1ef;
  --room-floor:#dcd3c4;
  --room-line:#d3dadb;
  --room-seat:#14606b;
  --room-leaf:#4f7a5a;
  --sky:#9fb9c0;
  --glass:#3d6c75;
  --linkedin:#0a66c2;
  --linkedin-ink:#0a4f96;
  --youtube:#ff0033;
  --transparent:transparent;
  --white-72:rgba(255,255,255,.72);
  --white-85:rgba(255,255,255,.85);
  --white-55:rgba(255,255,255,.55);
  --white-16:rgba(255,255,255,.16);
  --white-14:rgba(255,255,255,.14);
  --white-10:rgba(255,255,255,.1);
  --white-22:rgba(255,255,255,.22);
  --sand-50:rgba(90,65,39,.5);
  --sand-22:rgba(90,65,39,.22);
  --sand-80:rgba(230,220,205,.8);
  --teal-18:rgba(18,60,67,.18);
  --pri-35:rgba(15,76,85,.35);
  --pri-07:rgba(15,76,85,.07);
  --pri-12:rgba(15,76,85,.12);
  --pri-13:rgba(15,76,85,.13);
  --linkedin-08:rgba(10,102,194,.08);
  --overlay:rgba(16,33,44,.48);
  --photo-shade:rgba(10,30,36,.82);
  --photo-shade-mid:rgba(10,30,36,.5);
  --photo-clear:rgba(10,30,36,0);
  --shadow:0 1px 2px rgba(16,33,44,.06),0 16px 40px -12px rgba(16,33,44,.22);
  --shadow-s:0 1px 2px rgba(16,33,44,.06),0 8px 24px -10px rgba(16,33,44,.16);
  --sans:"PingFang SC","Hiragino Sans GB","Noto Sans SC","Microsoft YaHei",system-ui,sans-serif;
  --mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
}
* { box-sizing:border-box; margin:0; padding:0; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 24px); }
body { font-family:var(--sans); font-size:var(--body); line-height:1.75; color:var(--text); background:var(--bg); -webkit-font-smoothing:antialiased; }
body.scroll-locked { overflow:hidden; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }
button { font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
button:disabled { cursor:wait; opacity:.6; }
button,a,input,textarea,summary { -webkit-tap-highlight-color:var(--transparent); }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
input,textarea { min-width:0; font:inherit; font-size:14px; border:1px solid var(--line); border-radius:var(--radius-control); padding:12px 16px; color:var(--ink); background:var(--bg); }
input::placeholder,textarea::placeholder { color:var(--soft); font-size:14px; }
input:focus,textarea:focus { outline:1px solid var(--ink); border-color:var(--ink); box-shadow:none; }
img { max-width:100%; }
.wrap { width:min(var(--wrap),calc(100% - 48px)); margin:0 auto; }
h1,h2,h3 { color:var(--ink); font-weight:500; }
h1 em { font-style:normal; }
h2 { font-size:var(--h2); line-height:1.3; letter-spacing:-.01em; }
h3 { font-size:var(--h3); line-height:1.5; font-weight:600; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.skip-link { position:fixed; top:8px; left:16px; z-index:120; padding:8px 16px; background:var(--ink); color:var(--bg); transform:translateY(-160%); border-radius:var(--radius-control); }
.skip-link:focus { transform:none; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:0 24px; border-radius:var(--radius-control); font-size:16px; font-weight:400; line-height:1.35; text-align:center; transition:background .2s,border-color .2s,color .2s; }
.btn-pri { background:var(--pri); color:var(--bg); }
.btn-pri:hover { background:var(--pri-d); color:var(--bg); }
.btn-line { border:1px solid var(--line); color:var(--ink); background:var(--transparent); }
.btn-line:hover { border-color:var(--ink); background:var(--ink); color:var(--bg); }
.btn-ghost { color:var(--text); background:var(--transparent); border:1px solid var(--line); }
.btn-ghost:hover { border-color:var(--text); background:var(--alt); color:var(--ink); }
.btn-light { background:var(--bg); color:var(--pri-d); border:1px solid var(--line); }
.btn-light:hover { background:var(--band); color:var(--pri-d); }
.actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.btn svg { width:16px; height:16px; flex:none; }
.nav { height:var(--header-h); background:var(--bg); position:sticky; top:0; z-index:50; }
.nav .wrap { height:100%; display:flex; align-items:center; justify-content:space-between; }
.brand { display:inline-flex; align-items:center; gap:8px; color:var(--ink); font-size:24px; font-weight:600; letter-spacing:-.01em; flex:none; }
.brand img { width:32px; height:32px; display:block; }
.nav-links { display:flex; gap:8px; font-size:16px; color:var(--muted); flex:none; }
.nav-links a { white-space:nowrap; }
.nav-links a:hover { color:var(--ink); }
.nav-links a[aria-current="page"],[data-site-nav] a[aria-current="page"] { background:var(--selected); color:var(--ink); border-radius:var(--radius-control); }
.nav-r { display:flex; align-items:center; gap:24px; flex:none; }
.nav-r .btn { min-height:40px; padding:0 24px; font-size:15px; white-space:nowrap; max-width:100%; }
.nav-r .x-short { display:none; }
.lang-wrap { position:relative; }
.lang { position:relative; display:inline-flex; align-items:center; gap:8px; padding:8px 22px 8px 0; font-size:15px; color:var(--text); background:var(--bg); cursor:pointer; white-space:nowrap; }
.chevron { display:block; width:7px; height:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); flex:none; }
.lang .chevron { position:absolute; right:3px; top:50%; transform:translateY(-50%) rotate(45deg); }
.lang[aria-expanded="true"] .chevron { position:absolute; top:50%; transform:translateY(-50%) rotate(45deg); }
.lang-menu { position:absolute; right:0; top:calc(100% + 12px); z-index:80; min-width:168px; padding:8px; border:1px solid var(--line); background:var(--bg); color:var(--ink); border-radius:var(--radius-card); box-shadow:var(--shadow-s); }
.lang-menu a { display:block; padding:8px 12px; border-radius:var(--radius-control); font-size:15px; }
.lang-menu a:hover,.lang-menu a[aria-current] { background:var(--selected); color:var(--pri-d); }
.mobile-toggle { display:none; width:36px; height:40px; align-items:center; justify-content:center; flex:none; }
.mobile-toggle svg { width:22px; height:22px; }
.nav-drawer { position:fixed; top:var(--header-h); left:16px; right:auto; z-index:70; width:min(320px,calc(100% - 32px)); padding:12px; background:var(--bg); color:var(--ink); border:1px solid var(--line); border-radius:var(--radius-card); box-shadow:var(--shadow); text-align:left; }
.nav-drawer a { display:block; padding:12px 16px; border-radius:var(--radius-control); }
.nav-drawer a:hover { background:var(--alt); color:var(--ink); }
.nav-drawer a[aria-current="page"] { background:var(--selected); color:var(--ink); }
.hero { position:relative; padding:40px 0 72px; overflow:visible; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:36px; align-items:stretch; }
.hero-copy { max-width:none; }
.hero h1 { max-width:760px; font-size:var(--h1); line-height:64px; font-weight:500; letter-spacing:-.01em; }
.lead { margin-top:24px; font-size:18px; line-height:1.75; color:var(--muted); max-width:640px; }
.seg { margin-top:32px; display:flex; gap:12px; max-width:560px; }
.seg > * { flex:1; height:48px; min-width:0; display:flex; align-items:center; justify-content:center; gap:8px; border-radius:var(--radius-control); border:1px solid var(--line); background:var(--bg); color:var(--text); font-size:16px; cursor:pointer; transition:background .2s,color .2s,border-color .2s; }
.seg svg { width:18px; height:18px; }
.seg > *:hover { border-color:var(--pri); color:var(--pri); background:var(--bg); }
.seg > .is-active { background:var(--ink); border-color:var(--ink); color:var(--bg); }
.p-fwd { display:none; }
.hero.is-forward .p-temp { display:none; }
.hero.is-forward .p-fwd { display:block; }
.hero.is-forward .win.p-fwd { display:flex; }
.addr { margin-top:16px; display:flex; align-items:center; height:64px; padding:0 8px 0 24px; background:var(--bg); border-radius:var(--radius-control); box-shadow:var(--shadow-s); border:1px solid var(--field-line); }
.addr-v { flex:1; min-width:0; font-family:var(--mono); font-size:18px; letter-spacing:0; white-space:nowrap; color:var(--ink); overflow-x:auto; scrollbar-width:none; }
.addr-v b { font-weight:600; }
.addr-v span { color:var(--soft); }
.addr .btn { height:48px; flex:none; }
.meta { margin-top:16px; display:flex; align-items:center; justify-content:space-between; font-size:15px; color:var(--muted); gap:12px; }
.ttl { display:inline-flex; align-items:center; gap:8px; }
.ttl i { width:8px; height:8px; border-radius:50%; background:var(--pri); box-shadow:0 0 0 4px var(--pri-12); font-style:normal; flex:none; }
.ttl em { font-style:normal; font-family:var(--mono); color:var(--ink); letter-spacing:0; }
.meta-acts { display:flex; flex-wrap:wrap; align-items:center; gap:8px; flex:0 1 auto; min-width:0; max-width:100%; }
.chip { height:32px; padding:0 12px; border-radius:var(--radius-control); font-size:13px; color:var(--pri); background:var(--pri-07); display:inline-flex; align-items:center; justify-content:center; gap:4px; white-space:nowrap; }
.chip:hover { background:var(--pri-13); color:var(--pri-d); }
.chip svg { width:14px; height:14px; }
.fwd-form { margin-top:16px; display:flex; gap:12px; }
.fwd-form .fwd-field { flex:1; min-width:0; height:64px; padding:0 24px; display:flex; align-items:center; border-radius:var(--radius-control); border:1px solid var(--field-line); box-shadow:var(--shadow-s); font-size:16px; color:var(--soft); background:var(--bg); }
.fwd-form .btn { min-height:64px; }
.fwd-note { margin-top:16px; font-size:15px; color:var(--muted); }
.assure { margin-top:32px; display:flex; gap:24px; font-size:15px; color:var(--text); }
.assure span { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
.assure svg { width:16px; height:16px; color:var(--pri); }
.hero-stage { position:relative; height:auto; width:100%; }
.hero-art { display:none; }
.win { position:relative; left:auto; top:auto; width:100%; height:840px; min-height:760px; background:var(--bg); border-radius:var(--radius-card); box-shadow:var(--shadow); overflow:hidden; display:flex; flex-direction:column; animation:rise .8s cubic-bezier(.2,.7,.2,1) both; }
.win.p-fwd { display:none; }
@keyframes rise {
  from { opacity:0; transform:translateY(16px); }
  to { opacity:1; transform:none; }
}
.win-top { height:56px; flex:none; display:flex; align-items:center; justify-content:space-between; padding:0 16px 0 24px; border-bottom:1px solid var(--line); gap:8px; }
.wt-l { display:flex; align-items:center; gap:12px; min-width:0; }
.wt-title { font-size:15px; font-weight:600; color:var(--ink); white-space:nowrap; }
.wt-addr { font-family:var(--mono); font-size:13px; letter-spacing:0; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wt-r { display:flex; align-items:center; gap:12px; font-size:13px; color:var(--muted); flex:none; }
.icon-btn { width:32px; height:32px; border-radius:var(--radius-control); display:flex; align-items:center; justify-content:center; color:var(--text); background:var(--transparent); flex:none; }
.icon-btn:hover { background:var(--alt); color:var(--ink); }
.icon-btn svg { width:16px; height:16px; }
.win-body { flex:1; display:grid; grid-template-columns:minmax(260px,320px) minmax(0,1fr); min-height:0; }
.list { border-right:1px solid var(--line); display:flex; flex-direction:column; overflow-y:auto; min-height:0; }
.row { height:76px; flex:none; padding:12px 16px; display:grid; grid-template-columns:32px minmax(0,1fr); gap:12px; align-items:center; border-bottom:1px solid var(--line); cursor:pointer; position:relative; text-align:left; width:100%; background:var(--bg); color:var(--text); }
.row:hover { background:var(--alt); color:var(--text); }
.row.is-open,.row.is-active { background:var(--selected); color:var(--text); }
.row.is-open,.row.is-active { box-shadow:inset 3px 0 var(--pri); }
.logo-b { width:32px; height:32px; border-radius:var(--radius-control); display:flex; align-items:center; justify-content:center; flex:none; background:var(--pri); color:var(--bg); }
.logo-b svg { width:18px; height:18px; }
.lb-in { background:var(--linkedin); color:var(--bg); }
.lb-yt { background:var(--youtube); color:var(--bg); }
.row-h { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:15px; line-height:20px; color:var(--ink); font-weight:600; }
.row-h > span { min-width:0; white-space:nowrap; }
.row-h time { font-size:13px; color:var(--soft); font-weight:400; white-space:nowrap; }
.row-s { font-size:13px; line-height:20px; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:4px; }
.demo { display:inline-block; font-size:13px; line-height:18px; padding:0 6px; border-radius:var(--radius-control); background:var(--demo-bg); color:var(--demo-ink); font-weight:400; font-style:normal; margin-left:4px; vertical-align:1px; }
.list-foot { margin-top:auto; padding:16px; display:flex; align-items:center; gap:8px; font-size:13px; color:var(--soft); }
.list-foot svg { width:16px; height:16px; flex:none; }
.read { display:flex; flex-direction:column; padding:24px; min-width:0; overflow-y:auto; min-height:0; background:var(--bg); color:var(--text); }
.read-h { display:grid; grid-template-columns:32px minmax(0,1fr) auto; gap:12px; align-items:center; }
.read-h .logo-b { width:32px; height:32px; }
.read-h .logo-b svg { width:18px; height:18px; }
.from { font-size:15px; font-weight:600; color:var(--ink); line-height:20px; }
.to { font-size:13px; color:var(--muted); line-height:20px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.to span { font-family:var(--mono); letter-spacing:0; }
.read-h time { font-size:13px; color:var(--soft); align-self:start; }
.subj { margin-top:24px; font-size:18px; font-weight:600; color:var(--ink); line-height:1.5; }
.mail { margin-top:12px; font-size:15px; line-height:1.75; color:var(--text); }
.code { margin-top:16px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:16px 16px 16px 24px; border-radius:var(--radius-control); background:var(--code-bg); border-left:3px solid var(--linkedin); }
.code b { font-family:var(--mono); font-size:40px; line-height:48px; font-weight:600; letter-spacing:.12em; color:var(--ink); }
.code .chip { color:var(--linkedin-ink); background:var(--linkedin-08); }
.dev { margin-top:16px; font-size:13px; line-height:1.75; color:var(--muted); }
.disc { margin-top:12px; padding-top:12px; border-top:1px solid var(--line); font-size:13px; line-height:1.75; color:var(--soft); }
.read-a { margin-top:24px; display:flex; flex-wrap:wrap; gap:12px; padding-top:16px; }
.read-a .btn { min-height:40px; padding:0 16px; font-size:15px; }
.reader-toolbar { display:none; }
.reader-body iframe,.archive-body iframe { display:block; width:100%; min-height:320px; border:0; background:var(--bg); color:var(--ink); }
.reader-body pre,.archive-body pre { white-space:pre-wrap; overflow-wrap:anywhere; font:15px/1.75 var(--sans); color:var(--text); }
.fwin-body { flex:1; padding:24px; display:flex; flex-direction:column; min-width:0; }
.fwin-lead { font-size:15px; color:var(--muted); }
.alias { margin-top:16px; display:grid; grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr); align-items:center; gap:16px; min-height:76px; padding:12px 24px; border-radius:var(--radius-card); background:var(--alt); color:var(--text); }
.alias .a1 { font-family:var(--mono); font-size:15px; letter-spacing:0; color:var(--ink); white-space:nowrap; }
.alias .a1 small { display:block; font-family:var(--sans); font-size:13px; color:var(--soft); }
.alias .a2 { font-size:15px; color:var(--text); }
.alias .a2 small { display:block; font-size:13px; color:var(--soft); }
.alias svg { width:24px; height:24px; color:var(--pri); }
.lockbar { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 24px; border-radius:var(--radius-card); background:var(--selected); font-size:15px; color:var(--pri-d); }
.lockbar .btn { min-height:40px; font-size:15px; }
.fwd { background:linear-gradient(var(--bg) 0 96px,var(--band) 96px); padding-bottom:96px; }
.fwd .wrap { display:grid; grid-template-columns:560px minmax(0,1fr); gap:96px; align-items:center; }
.route { background:var(--bg); border-radius:var(--radius-panel); box-shadow:var(--shadow); padding:32px; min-width:0; }
.route-t { display:flex; justify-content:space-between; align-items:center; font-size:15px; color:var(--muted); }
.route-t b { color:var(--ink); font-weight:600; }
.route-g { margin-top:24px; display:grid; grid-template-columns:minmax(0,1fr) 120px 168px; align-items:center; }
.src { display:flex; flex-direction:column; gap:12px; min-width:0; }
.src div { height:64px; padding:12px 16px; border-radius:var(--radius-card); background:var(--alt); color:var(--ink); }
.src small { display:block; font-size:13px; line-height:20px; color:var(--soft); }
.src span { display:block; font-family:var(--mono); font-size:13px; line-height:20px; letter-spacing:0; color:var(--ink); white-space:nowrap; }
.route-g svg.lines { width:120px; height:216px; display:block; }
.dst { height:120px; border-radius:var(--radius-card); background:var(--pri); color:var(--bg); display:flex; flex-direction:column; justify-content:center; padding:16px 24px; }
.dst small { font-size:13px; color:var(--white-72); line-height:20px; }
.dst strong { font-size:16px; font-weight:500; line-height:24px; }
.route-f { margin-top:24px; font-size:13px; color:var(--soft); }
.fwd-copy p { margin-top:24px; font-size:18px; color:var(--text); max-width:440px; }
.fwd-copy .btn { margin-top:32px; }
.fwd-copy .not { margin-top:16px; font-size:15px; color:var(--muted); }
.feat { background:var(--band); padding:32px 0 128px; }
.feat .wrap { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:48px; }
.feat h3 { display:flex; align-items:center; gap:8px; }
.feat h3 svg { width:24px; height:24px; flex:none; color:var(--pri); }
.feat p { margin-top:16px; font-size:16px; color:var(--text); }
.sec { padding:128px 0; }
.sec-alt { background:var(--alt); }
.sec-h { text-align:center; max-width:760px; margin:0 auto; }
.sec-h p { margin-top:20px; font-size:18px; color:var(--muted); }
.cmp { margin-top:64px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.opt { border-radius:var(--radius-panel); padding:32px; }
.opt-1 { background:var(--teal-card); color:var(--teal-ink); --k:var(--teal-ink); }
.opt-2 { background:var(--sand-card); color:var(--sand-ink); --k:var(--sand-ink); }
.opt-3 { background:var(--slate-card); color:var(--slate-ink); --k:var(--slate-ink); }
.opt-k { font-size:13px; color:var(--k); opacity:.8; }
.opt h3 { margin-top:4px; font-size:24px; font-weight:500; color:var(--k); }
.opt dl { margin-top:24px; }
.opt dt { font-size:13px; font-weight:600; color:var(--k); display:flex; align-items:center; gap:8px; }
.opt dt svg { width:14px; height:14px; }
.opt dd { margin-top:4px; font-size:15px; line-height:1.75; color:var(--k); }
.opt dd + dt { margin-top:16px; }
.scene .wrap { display:grid; grid-template-columns:560px minmax(0,1fr); gap:96px; align-items:center; }
.ph { border-radius:var(--radius-panel); overflow:hidden; height:520px; background:var(--band); }
.ph img,.ph svg { width:100%; height:100%; object-fit:cover; display:block; }
.scene-copy p.l { margin-top:20px; font-size:18px; color:var(--muted); }
.sc-list { margin-top:32px; display:flex; flex-direction:column; gap:24px; }
.sc-list li { display:grid; grid-template-columns:40px minmax(0,1fr); gap:16px; }
.sc-ico { width:40px; height:40px; border-radius:var(--radius-card); background:var(--bg); color:var(--pri); display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-s); }
.sc-ico svg { width:20px; height:20px; }
.sc-list p { font-size:15px; color:var(--text); margin-top:4px; }
.steps { margin-top:64px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px; }
.step { display:grid; grid-template-columns:40px minmax(0,1fr); gap:16px; }
.step-n { width:40px; height:40px; border-radius:50%; background:var(--bg); box-shadow:var(--shadow-s); display:flex; align-items:center; justify-content:center; font-size:24px; font-weight:500; color:var(--ink); line-height:1; }
.step p { margin-top:8px; font-size:16px; color:var(--text); }
.step-path { margin-top:48px; height:24px; }
.step-path svg { display:block; width:100%; height:24px; }
.band-ph { margin-top:64px; position:relative; height:400px; border-radius:var(--radius-panel); overflow:hidden; }
.band-ph img,.band-ph svg { width:100%; height:100%; object-fit:cover; display:block; }
.band-ph::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--photo-shade) 0%,var(--photo-shade-mid) 45%,var(--photo-clear) 75%); }
.band-ph strong { position:absolute; left:64px; bottom:56px; z-index:1; font-size:40px; line-height:1.3; font-weight:500; color:var(--bg); letter-spacing:-.01em; }
.faq-g { margin-top:64px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 24px; align-items:start; }
.faq-g details { background:var(--bg); color:var(--ink); border-radius:var(--radius-card); padding:0 24px; }
.faq-g summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:72px; font-size:16px; font-weight:600; color:var(--ink); position:relative; padding-right:24px; }
.faq-g summary::-webkit-details-marker { display:none; }
.faq-g summary .chevron { position:absolute; right:2px; top:50%; transform:translateY(-50%) rotate(45deg); }
.faq-g details[open] summary .chevron { position:absolute; top:50%; transform:rotate(45deg); translate:0 -50%; }
.faq-g details p { padding-bottom:24px; font-size:15px; color:var(--text); }
.faq-more { margin-top:48px; text-align:center; }
.cta { padding:128px 0; text-align:center; }
.cta .mk { width:48px; height:48px; margin:0 auto 24px; display:block; }
.cta p { margin-top:20px; font-size:18px; color:var(--muted); }
.cta-b { margin-top:32px; display:flex; justify-content:center; flex-wrap:wrap; gap:16px; }
.cta-b .btn { min-height:56px; padding:0 32px; }
.foot { background:var(--band); padding:96px 0 48px; color:var(--text); }
.foot-g { display:grid; grid-template-columns:320px repeat(3,minmax(0,1fr)); gap:48px; align-items:start; }
.foot-b p { margin-top:16px; font-size:15px; color:var(--muted); }
.foot-support { margin-top:20px; }
.foot-support .btn { margin-top:12px; min-height:40px; padding:10px 16px; font-size:14px; max-width:100%; overflow-wrap:anywhere; }
.foot h4 { font-size:15px; font-weight:600; color:var(--ink); }
.foot ul { margin-top:16px; display:flex; flex-direction:column; gap:8px; font-size:15px; color:var(--muted); }
.foot ul a { overflow-wrap:anywhere; }
.foot ul a:hover { color:var(--ink); }
.foot-bt { margin-top:64px; display:flex; justify-content:space-between; gap:24px; font-size:13px; color:var(--soft); }
.eyebrow { display:block; margin:0 0 20px; font-size:13px; color:var(--muted); }
.section-intro { margin-top:20px; font-size:18px; color:var(--muted); }
.page-hero { padding:64px 0; }
.page-hero h1 { font-size:var(--h1); line-height:1.25; max-width:900px; }
.card { padding:32px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--bg); color:var(--text); }
.form-stack { display:grid; gap:16px; }
.form-stack label { display:grid; gap:8px; font-size:14px; }
.form-stack input { width:100%; min-height:48px; }
.form-error { font-size:14px; color:var(--demo-ink); }
.form-notice { margin:16px 0; padding:12px 16px; background:var(--selected); color:var(--pri-d); border-radius:var(--radius-control); }
.auth-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; align-items:center; }
.auth-layout h1 { font-size:min(34px,var(--h1)); line-height:1.3; }
.auth-layout > * { min-width:0; }
.desk-layout { display:grid; gap:48px; }
.desk-identity { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.desk-identity [data-session-email] { overflow-wrap:anywhere; }
.desk-aliases { padding:32px; background:var(--bg); color:var(--text); border:1px solid var(--line); border-radius:var(--radius-panel); }
.desk-archive { padding:32px; background:var(--alt); color:var(--text); border-radius:var(--radius-panel); }
.surface-safety { padding:32px; background:var(--band); color:var(--text); border-radius:var(--radius-panel); }
.desk-layout h2,.surface-safety h2 { font-size:24px; line-height:1.4; }
.alias-compose { margin-top:24px; display:flex; align-items:center; gap:12px; }
.alias-compose input { min-width:0; flex:1; height:48px; border-radius:var(--radius-panel); font-size:14px; }
.alias-compose .btn { min-height:48px; font-size:14px; border-radius:var(--radius-panel); }
.alias-compose [data-random-prefix] { border-radius:var(--radius-panel); }
.alias-results { margin-top:24px; }
.alias-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px; padding:16px 0; }
.alias-address { font-family:var(--mono); font-size:14px; overflow-wrap:anywhere; letter-spacing:0; }
.alias-row .actions { justify-content:flex-end; }
.alias-row .btn { min-height:36px; padding:6px 12px; font-size:13px; }
.table-scroll { margin-top:24px; overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:14px; text-align:left; }
th,td { padding:16px; border-bottom:1px solid var(--line); vertical-align:middle; }
th { font-weight:600; color:var(--ink); background:var(--alt); }
.status-pill { display:inline-flex; align-items:center; width:auto; padding:4px 10px; margin:0; border-radius:var(--radius-control); background:var(--teal-card); color:var(--teal-ink); font-size:13px; font-weight:400; }
.status-pill.is-idle,.status-pill.is-paused { background:var(--sand-card); color:var(--sand-ink); }
.status-pill.is-active { background:var(--teal-card); color:var(--teal-ink); }
.status-line { display:flex; align-items:center; gap:12px; margin-top:16px; margin-bottom:20px; }
.filter { position:relative; display:inline-flex; margin-top:24px; }
.filter-trigger { position:relative; display:inline-flex; align-items:center; min-height:40px; gap:10px; padding:8px 30px 8px 14px; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--bg); color:var(--ink); font-size:14px; }
.filter-trigger .chevron { position:absolute; right:13px; top:50%; transform:translateY(-50%) rotate(45deg); }
.filter-menu { position:absolute; left:0; top:calc(100% + 8px); z-index:20; width:max-content; min-width:max(100%,12em); max-width:min(360px,calc(100vw - 32px)); padding:8px; border:1px solid var(--line); border-radius:var(--radius-card); box-shadow:var(--shadow-s); background:var(--bg); color:var(--ink); }
.filter-menu button,.filter-menu [role="option"] { display:flex; align-items:center; width:auto; min-width:100%; padding:8px 12px; border-radius:var(--radius-control); text-align:left; font-size:14px; white-space:nowrap; }
.filter-menu button:hover,.filter-menu [aria-checked="true"],.filter-menu [aria-selected="true"] { background:var(--selected); color:var(--pri-d); }
.archive-list { margin-top:24px; }
.archive-row { display:flex; align-items:center; gap:16px; width:100%; padding:16px; border:0; border-radius:var(--radius-control); text-align:left; background:var(--bg); color:var(--text); font:inherit; margin-bottom:8px; }
.archive-row:hover { background:var(--selected); color:var(--ink); }
.archive-row-main { flex:1; min-width:0; }
.archive-row-main strong { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:15px; font-weight:600; }
.archive-row-main span { display:block; font-size:13px; color:var(--muted); }
.archive-row-meta { display:flex; align-items:center; gap:12px; flex:none; font-size:13px; }
.archive-detail { min-width:0; max-width:100%; margin-top:24px; padding:24px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--bg); color:var(--text); overflow-wrap:anywhere; }
.archive-detail-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; min-width:0; max-width:100%; }
.archive-detail-head h3 { margin-bottom:12px; }
.archive-detail-head .btn { align-self:flex-start; min-height:36px; height:auto; padding:8px 12px; }
.archive-body { min-width:0; max-width:100%; margin-top:24px; overflow-x:auto; }
.archive-body iframe { min-width:0; max-width:100%; }
.empty-host { display:grid; place-items:center; min-width:0; }
.empty-state { width:min(420px,calc(100% - 32px)); min-height:0; height:auto; margin:16px auto; padding:16px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--bg); color:var(--text); text-align:center; }
.empty-state h3 { font-size:18px; margin-bottom:8px; }
.empty-state p { font-size:14px; color:var(--muted); }
.twofa-idle { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.twofa-idle .btn { align-self:center; height:48px; flex:none; }
.twofa-steps { display:flex; flex-wrap:wrap; gap:24px; margin-top:24px; }
.twofa-step { display:flex; align-items:center; gap:10px; font-size:14px; }
.twofa-step b { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:var(--bg); color:var(--pri-d); font-weight:500; }
.twofa-setup { margin-top:24px; margin-bottom:24px; padding-top:24px; border-top:1px solid var(--line); }
.setup-grid { display:grid; grid-template-columns:180px minmax(0,1fr); gap:32px; align-items:start; }
.twofa-qr { display:block; width:180px; height:180px; aspect-ratio:1; background:var(--bg); }
.twofa-secret { display:block; margin:16px 0 12px; color:var(--ink); font-family:var(--mono); font-size:14px; overflow-wrap:anywhere; }
.secret-actions .btn { width:auto; min-height:40px; padding:8px 16px; font-size:14px; }
.twofa-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:24px; }
.twofa-actions input { height:48px; width:160px; }
.twofa-actions .btn { min-height:48px; }
.prose-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:64px; max-width:1160px; margin:0 auto; }
.prose { min-width:0; font-size:16px; line-height:1.9; color:var(--text); }
.prose h2 { margin:40px 0 20px; font-size:24px; line-height:1.4; }
.prose h3 { margin:32px 0 16px; font-size:18px; line-height:1.5; }
.prose p + p { margin-top:16px; }
.prose ul,.prose ol { padding-left:24px; margin:24px 0 32px; list-style:initial; }
.prose li + li { margin-top:8px; }
.prose a:not(.btn) { color:var(--pri); text-decoration:underline; text-underline-offset:3px; }
.prose .card,.prose .table-scroll { margin-top:24px; margin-bottom:32px; }
.prose .actions { margin-top:28px; }
.prose .btn-pri { color:var(--bg); }
.toc { position:sticky; top:calc(var(--header-h) + 16px); align-self:start; padding:24px; background:var(--alt); color:var(--text); border:1px solid var(--line); border-radius:var(--radius-card); }
.toc h2 { font-size:18px; line-height:1.5; }
.toc ol { padding-left:18px; margin-top:16px; font-size:14px; }
.toc .status-pill { margin-top:16px; }
.post-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:48px; }
.post-card { display:flex; flex-direction:column; gap:16px; padding:32px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--bg); color:var(--text); }
.post-card:hover { background:var(--band); color:var(--ink); }
.post-card time { font-size:13px; color:var(--muted); }
.recommend-float { position:fixed; right:24px; bottom:24px; width:min(340px,calc(100% - 32px)); z-index:45; border:1px solid var(--line); border-radius:var(--radius-card); overflow:hidden; background:var(--bg); color:var(--text); box-shadow:var(--shadow); }
.recommend-visual { padding:24px; background:var(--band); color:var(--pri-d); }
.recommend-copy { padding:24px; }
.recommend-copy .btn { margin-top:24px; max-width:100%; white-space:normal; height:auto; padding:12px 20px; }
.float-close { position:absolute; right:8px; top:8px; display:flex; justify-content:center; align-items:center; width:32px; height:32px; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--bg); color:var(--ink); }
.modal-backdrop { position:fixed; inset:0; display:grid; place-items:center; z-index:100; padding:16px; background:var(--overlay); }
.modal { width:min(420px,100%); max-height:calc(100dvh - 32px); overflow-y:auto; padding:32px; border-radius:var(--radius-panel); background:var(--bg); color:var(--text); box-shadow:var(--shadow); }
.modal h2 { font-size:24px; line-height:1.4; margin-top:12px; }
.modal p { margin-top:16px; font-size:15px; }
.modal .actions { margin-top:24px; justify-content:flex-end; }
.toast { position:fixed; left:50%; bottom:24px; transform:translate(-50%,12px); z-index:150; width:max-content; max-width:min(430px,calc(100% - 32px)); padding:12px 20px; background:var(--ink); color:var(--bg); border-radius:var(--radius-control); box-shadow:var(--shadow-s); font-size:14px; text-align:center; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s,transform .2s,visibility .2s; }
.toast.show { opacity:1; visibility:visible; transform:translate(-50%,0); }
.art-dark { fill:var(--art-dark); }
.art-sand { fill:var(--sand-art); }
.art-slate { fill:var(--art-slate); }
.art-pale { fill:var(--art-pale); }
.art-white { fill:var(--bg); }
.art-glow { fill:var(--glow); }
.art-pri { fill:var(--pri); }
.art-none { fill:none; }
.stroke-pri { stroke:var(--pri); }
.stroke-soft { stroke:var(--soft); }
.stroke-ink { stroke:var(--ink); }
.stroke-white-16 { stroke:var(--white-16); }
.stroke-white-14 { stroke:var(--white-14); }
.stroke-sand { stroke:var(--sand-22); }
.stroke-sand-80 { stroke:var(--sand-80); }
.stroke-teal { stroke:var(--teal-18); }
.art-paper { fill:var(--art-paper); stroke:var(--sand-50); }
.stroke-sand-50 { stroke:var(--sand-50); }
.fill-white-10 { fill:var(--white-10); }
.fill-white-85 { fill:var(--white-85); }
.fill-white-55 { fill:var(--white-55); }
.room-bg { fill:var(--room-bg); }
.room-floor { fill:var(--room-floor); }
.room-window { fill:var(--bg); stroke:var(--room-line); }
.room-line { stroke:var(--room-line); }
.room-sand { fill:var(--sand-ink); }
.room-seat { fill:var(--room-seat); }
.room-leaf { fill:var(--room-leaf); }
.fill-alt { fill:var(--alt); }
.fill-teal-card { fill:var(--teal-card); }
.fill-pri-35 { fill:var(--pri-35); }
.fill-ink { fill:var(--ink); }
.sky-stop { stop-color:var(--sky); }
.pale-stop { stop-color:var(--art-pale); }
.glass-stop { stop-color:var(--glass); }
.dark-stop { stop-color:var(--art-dark); }
.glass-grid { stroke:var(--white-22); }
@media (max-width:1100px) {
  :root { --h1:48px; --h2:34px; }
  .nav-links { gap:8px; font-size:14px; }
  .nav-r { gap:16px; }
  .nav-r .btn { padding:0 16px; }
  .hero-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .hero h1 { line-height:1.2; }
  .hero-stage { height:auto; }
  .hero-art { display:none; }
  .win { position:relative; left:auto; top:auto; width:100%; height:760px; }
  .win-body { grid-template-columns:minmax(220px,34%) minmax(0,1fr); }
  .row { padding:12px; gap:8px; }
  .row-h { font-size:13px; }
  .row-h time { font-size:11px; }
  .row .demo { font-size:11px; padding:0 3px; }
  .read { padding:20px; }
  .read-h { gap:8px; grid-template-columns:32px minmax(0,1fr); }
  .read-h time { grid-column:2; }
  .code { padding:12px; }
  .code b { font-size:32px; }
  .addr { padding-left:16px; }
  .addr-v { font-size:15px; }
  .addr .btn { padding:0 16px; }
  .meta { flex-wrap:wrap; justify-content:flex-start; }
  .assure { gap:16px; flex-wrap:wrap; }
  .fwd .wrap,.scene .wrap { grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; }
  .route { padding:24px; }
  .route-g { grid-template-columns:minmax(0,1fr) 64px 120px; }
  .route-g svg.lines { width:64px; }
  .src span { font-size:11px; }
  .dst { padding:12px; }
  .feat .wrap { gap:24px; }
  .opt { padding:24px; }
  .foot-g { grid-template-columns:280px repeat(3,minmax(0,1fr)); gap:24px; }
  .prose-layout { gap:32px; }
}
@media (max-width:860px) {
  :root { --header-h:76px; --h1:44px; --h2:32px; }
  .nav .wrap { position:relative; gap:16px; }
  .mobile-toggle { display:inline-flex; order:-1; }
  .nav-links { display:none; }
  .brand { margin-right:auto; font-size:22px; }
  .nav-r { margin-left:auto; }
  .nav-r .header-product { display:none; }
  .hero { padding:32px 0 64px; }
  .hero-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
  .hero-copy { max-width:none; }
  .lead { max-width:520px; }
  .hero-stage { height:auto; width:100%; margin:0; }
  .hero-art { display:none; }
  .win { position:relative; left:auto; top:auto; width:100%; height:720px; }
  .receipt-route { grid-template-columns:minmax(0,1fr); gap:12px; }
  .receipt-route > svg { display:none; }
  .win-body { grid-template-columns:38% minmax(0,1fr); }
  .read-h { grid-template-columns:32px minmax(0,1fr) auto; }
  .read-h time { grid-column:auto; }
  .row-h { font-size:15px; }
  .row-h time { font-size:12px; }
  .row .demo { font-size:12px; }
  .meta { flex-wrap:nowrap; justify-content:space-between; }
  .fwd .wrap,.scene .wrap { grid-template-columns:minmax(0,1fr); gap:48px; }
  .fwd-copy { max-width:600px; }
  .route { width:min(560px,100%); }
  .route-g { grid-template-columns:minmax(0,1fr) 120px 168px; }
  .route-g svg.lines { width:120px; }
  .src span { font-size:13px; }
  .feat .wrap { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
  .feat { padding-bottom:80px; }
  .sec { padding:80px 0; }
  .cmp { grid-template-columns:minmax(0,1fr); gap:16px; margin-top:40px; }
  .opt { padding:32px; }
  .ph { max-width:560px; width:100%; }
  .steps { gap:24px; margin-top:40px; }
  .step { grid-template-columns:32px minmax(0,1fr); gap:12px; }
  .step-n { width:32px; height:32px; font-size:18px; }
  .band-ph strong { left:32px; bottom:32px; font-size:32px; max-width:80%; }
  .faq-g { margin-top:40px; gap:16px; }
  .cta { padding:80px 0; }
  .foot { padding:64px 0 32px; }
  .foot-g { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
  .foot-b { grid-column:1 / -1; }
  .foot-support { max-width:560px; }
  .foot-bt { flex-direction:column; gap:12px; margin-top:40px; }
  .auth-layout { grid-template-columns:minmax(0,1fr); gap:40px; }
  .auth-layout h1 { line-height:1.3; }
  .prose-layout { grid-template-columns:minmax(0,1fr); }
  .toc { position:static; }
  .archive-row-meta { flex-direction:column; align-items:flex-end; gap:4px; }
}
@media (max-width:560px) {
  :root { --header-h:72px; --h1:34px; --h2:28px; }
  .wrap { width:calc(100% - 32px); }
  .nav .wrap { gap:10px; }
  .brand { font-size:20px; gap:6px; }
  .brand img { width:28px; height:28px; }
  .nav-r { gap:10px; }
  .lang { width:30px; height:40px; padding:8px; justify-content:center; }
  .lang > .lang-label { display:none; }
  .lang .chevron { right:10px; }
  .lang-menu { right:-4px; }
  .nav-r { min-width:0; }
  .nav-r .btn { font-size:13px; min-height:36px; padding:0 10px; max-width:38vw; }
  .nav-r .x-full { display:none; }
  .nav-r .x-short { display:inline; }
  .hero { padding:32px 0 48px; overflow:visible; }
  .hero h1 { line-height:1.3; }
  .lead { font-size:16px; margin-top:20px; }
  .seg { margin-top:24px; gap:12px; flex-wrap:wrap; }
  .seg > * { min-width:130px; padding:0 12px; }
  .addr { padding-left:12px; }
  .addr-v { font-size:14px; }
  .addr .btn { padding:0 12px; font-size:14px; gap:4px; }
  .meta { flex-direction:column; align-items:flex-start; gap:12px; font-size:14px; }
  .assure { gap:12px 20px; margin-top:24px; font-size:14px; }
  .hero-stage { height:auto; padding-top:0; margin-top:0; }
  .hero-art { display:none; }
  .win { position:relative; left:auto; top:auto; width:100%; height:auto; min-height:0; animation:none; transform:none; }
  .win-top { height:56px; padding:0 12px; }
  .wt-l { gap:8px; }
  .wt-title { font-size:14px; }
  .wt-addr { font-size:11px; max-width:160px; }
  .wt-r { gap:4px; font-size:12px; }
  .win-body { grid-template-columns:minmax(0,1fr); min-height:0; }
  .list { border-right:0; min-height:0; overflow-y:auto; max-height:360px; }
  .row { height:76px; padding:12px 16px; gap:12px; }
  .row-h { font-size:15px; }
  .row-h time { font-size:13px; }
  .row .demo { font-size:13px; }
  .list-foot { padding:16px; min-height:52px; }
  .read { display:none; }
  .reader-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; position:sticky; top:0; padding:12px 16px; margin:-20px -20px 24px; z-index:2; background:var(--bg); color:var(--ink); border-bottom:1px solid var(--line); }
  .reader-toolbar .btn { min-height:40px; padding:8px 12px; font-size:14px; }
  .mobile-reader { position:fixed; inset:var(--header-h) 0 0; width:100%; height:calc(100dvh - var(--header-h)); max-height:calc(100dvh - var(--header-h)); padding:20px; display:flex; z-index:90; overflow-y:auto; overscroll-behavior:auto; background:var(--bg); color:var(--text); }
  .mobile-reader .read-h { margin-top:0; }
  .mobile-reader .read-a { padding-bottom:24px; }
  body.reader-open .hero-art { display:none; }
  .fwin-body { padding:20px; gap:0; }
  .alias { grid-template-columns:minmax(0,1fr) 20px; gap:8px; padding:16px; }
  .alias .a1 { white-space:normal; overflow-wrap:anywhere; font-size:13px; }
  .alias .a2 { grid-column:1 / -1; font-size:14px; }
  .lockbar { margin-top:24px; flex-direction:column; align-items:flex-start; padding:16px; }
  .lockbar .btn { max-width:100%; white-space:normal; height:auto; padding:10px 16px; }
  .fwd-form { flex-wrap:wrap; }
  .fwd-form .fwd-field { flex-basis:100%; }
  .fwd-form .btn { min-height:48px; width:100%; }
  .fwd { background:var(--band); padding:48px 0; margin-top:0; }
  .fwd .wrap,.scene .wrap { gap:32px; }
  .route { padding:20px; }
  .route-g { grid-template-columns:minmax(0,1fr) 44px 88px; }
  .src div { padding:12px 8px; }
  .src span { font-size:10px; }
  .src small { font-size:12px; }
  .route-g svg.lines { width:44px; }
  .dst { padding:8px; }
  .dst small { font-size:11px; }
  .dst strong { font-size:13px; }
  .fwd-copy p { font-size:16px; margin-top:20px; }
  .fwd-copy .btn { padding:12px 20px; max-width:100%; height:auto; }
  .feat { padding:16px 0 48px; }
  .feat .wrap { grid-template-columns:minmax(0,1fr); gap:28px; }
  .feat p { margin-top:12px; }
  .sec { padding:56px 0; }
  .sec-h p { font-size:16px; }
  .cmp { margin-top:32px; }
  .opt { padding:24px; }
  .ph { height:360px; }
  .scene-copy p.l { font-size:16px; }
  .sc-list { gap:24px; }
  .steps { grid-template-columns:minmax(0,1fr); gap:28px; margin-top:32px; }
  .band-ph { margin-top:40px; height:300px; }
  .band-ph strong { font-size:28px; left:24px; bottom:24px; max-width:calc(100% - 48px); }
  .faq-g { grid-template-columns:minmax(0,1fr); margin-top:32px; }
  .faq-g details { padding:0 20px; }
  .faq-g summary { font-size:15px; min-height:68px; }
  .faq-more { margin-top:32px; }
  .cta { padding:56px 0; }
  .cta p { font-size:16px; }
  .cta-b { flex-direction:column; align-items:stretch; }
  .cta-b .btn { min-height:52px; padding:12px 20px; white-space:normal; }
  .foot { padding:48px 0 32px; }
  .foot-g { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; }
  .foot-b { grid-column:1 / -1; min-width:0; }
  .foot-g > div { min-width:0; }
  .foot-g > div:last-child { grid-column:1 / -1; }
  .foot-support .btn { white-space:normal; height:auto; }
  .page-hero { padding:40px 0; }
  .page-hero h1 { font-size:34px; }
  .card,.desk-aliases,.desk-archive,.surface-safety { padding:24px; }
  .auth-layout h1 { font-size:32px; }
  .desk-layout { gap:32px; }
  .alias-compose { flex-direction:column; align-items:stretch; }
  .alias-compose input { flex:auto; width:100%; }
  .alias-row { grid-template-columns:minmax(0,1fr); }
  .alias-row .actions { justify-content:flex-start; }
  .archive-row { align-items:flex-start; padding:12px; gap:12px; }
  .archive-row-meta { max-width:100px; }
  .archive-detail { padding:16px; }
  .archive-detail-head { flex-direction:column; gap:16px; }
  .setup-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .twofa-actions { align-items:center; }
  .twofa-actions input { flex:1; width:120px; }
  .twofa-actions .btn { padding:0 16px; font-size:14px; }
  .twofa-idle { gap:20px; }
  .post-grid { grid-template-columns:minmax(0,1fr); }
  .recommend-float { right:16px; bottom:16px; }
  .prose-layout { gap:32px; }
  .prose h2 { font-size:22px; }
}
@media (min-width:561px) and (max-width:720px) {
  .alias-row { grid-template-columns:minmax(0,1fr); }
  .alias-row .actions { justify-content:flex-start; }
}
@media (min-width:861px) and (max-width:960px) {
  .auth-layout { grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
}


/* Shared mail surfaces */
.inbox-tools { display:flex; align-items:center; justify-content:flex-start; flex-wrap:wrap; gap:8px; padding:10px 16px; border-bottom:1px solid var(--line); background:var(--bg); color:var(--text); flex:none; }
.inbox-tools .meta-acts { flex-wrap:wrap; }
.inbox-tools > .chip { color:var(--muted); background:var(--alt); }
.inbox-tools > .chip:hover { color:var(--ink); background:var(--band); }
.win-body { min-height:0; grid-template-columns:38% minmax(0,1fr); }
.row-copy { display:block; min-width:0; }
.row-sender { display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; }
.row-s { display:block; }
.row-h { align-items:center; }
.row-h > .row-sender { overflow:hidden; }
.logo-b { position:relative; }
.unread-dot { position:absolute; top:-3px; right:-3px; width:8px; height:8px; border-radius:50%; border:2px solid var(--bg); background:var(--pri); }
.is-unread .row-s { font-weight:600; }
.is-real [data-demo-badge],.is-real .demo-brand-heading { display:none; }
.mail-plain { white-space:pre-wrap; overflow-wrap:anywhere; font:15px/1.75 var(--sans); color:var(--text); }
.message-frame { display:block; width:100%; min-height:180px; border:0; background:var(--bg); color:var(--ink); }
.mail-image-notice { margin:16px 0; padding:12px 16px; border-radius:var(--radius-control); background:var(--sand-card); color:var(--sand-ink); font-size:13px; }
.reader-body { min-width:0; margin-top:12px; }
.reader-body .mail:first-child { margin-top:0; }
.demo-brand-heading { display:flex; align-items:center; gap:8px; color:var(--linkedin); margin-top:8px; }
.demo-brand-heading strong { font-size:18px; font-weight:600; }
.demo-brand-icon { display:block; width:24px; height:24px; flex:none; }
.youtube-heading { color:var(--youtube); }
.code-reference { border-left-color:var(--youtube); padding:16px; }
.code-reference b { font-size:18px; line-height:1.5; letter-spacing:0; overflow-wrap:anywhere; }
.confirm-mark { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:var(--radius-card); background:var(--sand-card); color:var(--sand-ink); font-weight:600; }
.address-highlight { animation:address-pulse 1.8s ease-out; }
@keyframes address-pulse {
  0%,35% { outline:2px solid var(--pri); outline-offset:4px; }
  100% { outline:2px solid var(--transparent); outline-offset:7px; }
}

/* Access */
.access-page { background:var(--alt); color:var(--text); }
.access-spread { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:80px; align-items:center; padding-top:64px; padding-bottom:80px; }
.access-story,.access-panel { min-width:0; }
.access-story h1 { font-size:min(34px,var(--h1)); line-height:1.35; font-weight:500; color:var(--ink); }
.access-story .section-intro { max-width:480px; }
.access-route { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-top:32px; padding:24px; border-radius:var(--radius-card); background:var(--band); color:var(--pri-d); }
.access-route-label { font-size:13px; }
.access-route-address { font:14px/1.75 var(--mono); letter-spacing:0; overflow-wrap:anywhere; max-width:100%; color:var(--ink); }
.access-route svg { width:120px; height:32px; color:var(--pri); }
.access-boundary { margin-top:32px; font-size:15px; color:var(--muted); }
.access-story > .btn { margin-top:24px; }
.access-panel .summit-access-sheet { box-shadow:var(--shadow-s); padding:40px; }
.access-caption { font-size:13px; color:var(--muted); margin-bottom:20px; }
.access-hint { font-size:14px; color:var(--muted); margin-bottom:24px; }
.access-hint.form-notice { background:var(--selected); color:var(--pri-d); padding:12px 16px; margin:0 0 24px; overflow-wrap:anywhere; }
.access-panel .summit-access-sheet h2 { margin-bottom:24px; }
.access-small { margin-top:20px; font-size:13px; line-height:1.8; color:var(--muted); }
.access-small a { text-decoration:underline; text-underline-offset:3px; color:var(--pri); }
.access-instruction { margin:0 0 24px; }
.access-reassurance { margin-top:20px; font-size:13px; color:var(--muted); text-align:center; }
.access-error { margin-top:24px; padding:12px 16px; background:var(--demo-bg); color:var(--demo-ink); border-radius:var(--radius-control); }
[data-code-pane] [name=code],[data-authenticator-pane] [name=totp] { font-family:var(--mono); letter-spacing:.12em; }

/* Subscription desk */
.subscription-page { background:var(--bg); color:var(--text); }
.subscription-desk { padding-top:48px; padding-bottom:80px; }
.subscription-session { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.subscription-session h1 { font-size:28px; line-height:1.4; font-weight:500; }
.subscription-session p { margin-top:12px; font-size:14px; color:var(--muted); }
.subscription-session strong { font-weight:500; color:var(--ink); overflow-wrap:anywhere; }
.subscription-session > .btn { flex:none; }
.desk-jumps { display:flex; flex-wrap:wrap; gap:12px 32px; margin:32px 0 48px; }
.desk-jumps a { color:var(--muted); font-size:14px; padding:8px 0; text-underline-offset:6px; }
.desk-jumps a:hover { color:var(--pri); text-decoration:underline; }
.subscription-names { padding-bottom:48px; }
.desk-section-head { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.subscription-desk h2 { font-size:24px; line-height:1.45; font-weight:500; }
.desk-section-copy { max-width:760px; font-size:15px; color:var(--muted); margin-top:16px; }
.desk-quota { font-size:13px; color:var(--muted); flex:none; }
.subscription-names .alias-compose {
  gap:12px;
  margin-top:28px;
  padding:4px;
  border-radius:var(--radius-panel);
}
.subscription-names .alias-compose:focus-within {
  outline:2px solid var(--ink);
  outline-offset:4px;
}
.subscription-names .alias-compose input {
  flex:1 1 210px;
}
.subscription-names .alias-compose input:focus {
  outline:none;
  box-shadow:none;
  border-color:var(--line);
}
.subscription-names .alias-compose:focus-within .alias-domain {
  color:var(--ink);
}
.alias-domain { font:14px/1.5 var(--mono); letter-spacing:0; color:var(--muted); flex:none; }
.subscription-names .alias-compose .btn { padding:0 18px; }
.compose-help { margin-top:12px; font-size:13px; color:var(--muted); }
.desk-error { margin-top:20px; padding:12px 16px; border-radius:var(--radius-control); background:var(--demo-bg); color:var(--demo-ink); }
.subscription-names .alias-results { margin-top:28px; }
.alias-identity { display:flex; align-items:center; gap:16px; min-width:0; flex-wrap:wrap; }
.alias-identity .alias-address { flex:1; min-width:180px; }
.alias-identity .status-pill { flex:none; }
.subscription-names .alias-row { padding:16px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--bg); color:var(--text); margin-top:12px; }
.subscription-names .alias-row:first-child { margin-top:0; }
.subscription-names .alias-row .actions { gap:8px; }
.desk-empty { display:flex; align-items:flex-start; gap:20px; padding:24px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--alt); color:var(--text); }
.desk-empty > svg { width:32px; height:32px; flex:none; color:var(--pri); }
.desk-empty h3 { font-size:18px; line-height:1.5; }
.desk-empty p { font-size:14px; color:var(--muted); margin-top:8px; max-width:680px; }
.desk-footnote { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:24px; font-size:13px; color:var(--muted); }
.desk-footnote > span { max-width:760px; }
.desk-footnote .btn { flex:none; min-height:40px; padding:8px 16px; font-size:14px; }
.alias-statistics { margin-top:24px; padding:24px; border-radius:var(--radius-card); border:1px solid var(--line); background:var(--alt); color:var(--text); }
.alias-statistics .btn { min-height:36px; padding:6px 12px; font-size:13px; }
.stats-address { font:14px/1.75 var(--mono); overflow-wrap:anywhere; margin-top:20px; }
.stats-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:24px; }
.stats-cell { padding:16px; border-radius:var(--radius-control); background:var(--bg); color:var(--ink); }
.stats-cell dt { font-size:13px; color:var(--muted); }
.stats-cell dd { font:24px/1.5 var(--mono); margin-top:8px; }
.stats-heading { margin-top:24px; }
.stats-senders { margin-top:12px; font-size:14px; overflow-wrap:anywhere; }
.stats-senders li + li { margin-top:8px; }
.stats-note { margin-top:20px; color:var(--muted); font-size:14px; }
.subscription-deliveries { padding:40px; background:var(--alt); color:var(--text); border-radius:var(--radius-panel); }
.delivery-heading { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.delivery-heading > .btn { flex:none; min-height:40px; padding:8px 16px; font-size:14px; }
.archive-empty { margin-top:24px; background:var(--bg); color:var(--text); width:100%; }
.archive-row-main span { overflow-wrap:anywhere; }
.archive-row-meta time { white-space:nowrap; color:var(--muted); }
.archive-row-meta .status-pill { white-space:nowrap; }
.archive-more { margin-top:20px; font-size:14px; min-height:40px; padding:8px 16px; }
.archive-detail-sender { overflow-wrap:anywhere; font-size:14px; color:var(--muted); }
.archive-detail-meta { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-top:16px; font-size:13px; color:var(--muted); }
.archive-detail-head > .actions { flex:none; align-items:flex-start; }
.archive-detail-head .btn { font-size:13px; }
.archive-attachments { margin-top:32px; }
.archive-attachments h3 { font-size:16px; }
.attachment-note { font-size:13px; color:var(--muted); margin-top:12px; }
.attachment-row { display:flex; align-items:center; gap:16px; margin-top:16px; padding:12px 0; }
.attachment-row > span:first-child { flex:1; min-width:0; overflow-wrap:anywhere; font-size:14px; }
.attachment-row .btn { flex:none; min-height:36px; padding:6px 12px; font-size:13px; }
.subscription-safety { margin-top:48px; padding:32px 40px; }
.subscription-safety .twofa-idle { align-items:center; flex-wrap:nowrap; }
.subscription-safety .twofa-idle > div { min-width:0; flex:1; }
.subscription-safety .twofa-idle > .btn { align-self:center; min-height:48px; height:auto; padding:12px 24px; }
.subscription-safety .status-line { margin-top:20px; margin-bottom:20px; font-size:14px; }
.subscription-safety .status-pill { background:var(--pri); color:var(--bg); }
.subscription-safety .status-pill.is-idle { background:var(--sand-card); color:var(--sand-ink); }
.setup-instruction { font-size:14px; margin-top:12px; color:var(--text); }
.setup-caution { font-size:13px; color:var(--muted); margin-top:16px; }
.subscription-safety .twofa-secret { color:var(--ink); }
.subscription-safety .twofa-actions { margin-top:20px; }
.subscription-safety .twofa-actions .btn { padding:10px 16px; font-size:14px; height:48px; }
.disable-actions { margin-top:24px; }
.disable-actions label { font-size:14px; }
.desk-separation { margin-top:32px; color:var(--muted); font-size:13px; }
.subscription-page noscript .actions { margin-top:24px; }
.subscription-desk :target { scroll-margin-top:calc(var(--header-h) + 24px); }
.subscription-desk [tabindex="-1"]:focus { outline:2px solid var(--pri); outline-offset:4px; }

@media (max-width:1100px) {
  .access-spread { gap:48px; }
  .access-panel .summit-access-sheet { padding:32px; }
  .subscription-names .alias-compose { flex-wrap:wrap; }
  .subscription-names .alias-compose input { flex-basis:45%; }
  .subscription-names .alias-compose .btn { flex:1; }
  .subscription-deliveries { padding:32px; }
  .subscription-safety { padding:32px; }
  .subscription-names .alias-row { grid-template-columns:minmax(0,1fr); }
  .subscription-names .alias-row .actions { justify-content:flex-start; }
}
@media (max-width:960px) {
  .access-spread { grid-template-columns:minmax(0,1fr); gap:40px; padding-top:40px; padding-bottom:64px; }
  .access-panel { grid-row:1; }
  .access-story h1 { font-size:34px; line-height:1.35; }
  .access-story .section-intro { max-width:none; font-size:16px; }
  .access-route { margin-top:24px; }
  .access-story .eyebrow { margin-bottom:20px; }
}
@media (max-width:720px) {
  .subscription-session { align-items:flex-start; }
  .subscription-session .btn { padding:10px 16px; font-size:14px; height:auto; }
  .subscription-session h1 { font-size:24px; }
  .desk-section-head,.delivery-heading { flex-direction:column; align-items:flex-start; gap:16px; }
  .alias-identity { align-items:flex-start; flex-direction:column; gap:12px; }
  .alias-identity .alias-address { min-width:0; flex:auto; width:100%; }
  .subscription-safety .twofa-idle { flex-wrap:wrap; }
  .subscription-safety .twofa-idle > div { flex-basis:100%; }
  .desk-footnote { align-items:flex-start; flex-direction:column; gap:16px; }
  .subscription-desk h2 { font-size:22px; }
  .subscription-names .alias-compose { display:grid; grid-template-columns:minmax(0,1fr); align-items:stretch; }
  .subscription-names .alias-compose input { flex:auto; width:100%; }
  .alias-domain { margin-top:-4px; overflow-wrap:anywhere; }
  .subscription-names .alias-compose .btn { width:100%; padding:12px 16px; }
  .archive-detail-head { flex-direction:column; }
  .archive-detail-head > .actions { flex-wrap:wrap; gap:12px; }
  .subscription-safety .setup-grid { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:560px) {
  .win-body { grid-template-columns:minmax(0,1fr); min-height:600px; }
  .win-body > .list { min-height:600px; max-height:600px; }
  .win-body > .list.empty-host { display:grid; place-items:center; }
  .win { overflow:visible; min-height:600px; }
  .win-top { border-radius:var(--radius-card) var(--radius-card) 0 0; }
  .inbox-tools { padding:12px; gap:8px; }
  .inbox-tools .meta-acts { gap:8px; }
  .inbox-tools .chip { font-size:12px; padding:0 8px; }
  .addr-v { white-space:nowrap; overflow-x:auto; text-overflow:clip; scrollbar-width:thin; }
  .win .read:not(.mobile-reader) { display:none; }
  .mobile-reader { inset:0; height:100dvh; max-height:100dvh; padding:calc(var(--header-h) + 20px) 20px 24px; border-radius:0; transform:none; animation:none; z-index:90; }
  .mobile-reader .reader-toolbar { top:calc(var(--header-h) - 20px); margin-top:-20px; flex:none; }
  .mobile-reader.empty-host { display:flex; flex-direction:column; justify-content:flex-start; align-items:stretch; }
  .mobile-reader.empty-host .empty-state { margin-top:auto; margin-bottom:auto; }
  .mobile-reader .reader-body { flex:none; }
  .mobile-reader .read-a { padding-bottom:24px; }
  body.reader-open .nav { z-index:95; }
  body.reader-open .hero,body.reader-open .hero-grid,body.reader-open .hero-stage { transform:none; animation:none; }
  .access-spread { padding-top:32px; padding-bottom:48px; gap:40px; }
  .access-panel .summit-access-sheet { padding:24px; }
  .access-panel .summit-access-sheet h2 { font-size:22px; }
  .access-caption { margin-bottom:16px; }
  .access-route { padding:20px; }
  .access-story h1 { font-size:28px; }
  .access-panel .actions .btn { flex:1; padding:10px 12px; height:auto; }
  .subscription-desk { padding-top:32px; padding-bottom:48px; }
  .subscription-session { flex-wrap:wrap; gap:20px; }
  .subscription-session > div { flex-basis:100%; min-width:0; }
  .subscription-session p { display:grid; gap:4px; }
  .desk-jumps { gap:8px 20px; margin:24px 0 32px; }
  .subscription-names { padding-bottom:32px; }
  .subscription-deliveries { padding:24px 16px; }
  .subscription-safety { margin-top:32px; padding:24px; }
  .desk-empty { padding:20px 16px; gap:12px; }
  .desk-empty > svg { width:24px; height:24px; }
  .desk-empty h3 { font-size:16px; }
  .desk-quota { font-size:13px; }
  .subscription-names .alias-row { padding:16px; }
  .subscription-names .alias-row .btn { padding:8px 12px; height:auto; }
  .alias-statistics { padding:20px 16px; }
  .stats-grid { gap:8px; }
  .stats-cell { padding:12px; }
  .stats-cell dt { font-size:12px; }
  .stats-cell dd { font-size:24px; }
  .archive-row-main strong { font-size:14px; }
  .archive-row-main span { font-size:12px; }
  .archive-row-meta { max-width:104px; gap:8px; }
  .archive-row-meta .status-pill { padding:3px 7px; font-size:12px; }
  .archive-detail-head .actions { align-items:center; }
  .attachment-row { flex-wrap:wrap; }
  .attachment-row > span:first-child { flex-basis:100%; }
  .subscription-safety .twofa-actions input { width:100%; flex:1 1 100%; }
  .subscription-safety .twofa-actions .btn { min-height:48px; flex:1; height:auto; white-space:normal; padding:12px; }
  .subscription-safety .twofa-actions label { flex-basis:100%; }
  .subscription-safety .secret-actions .btn { width:auto; }
  .subscription-safety .twofa-steps { gap:16px; flex-direction:column; align-items:flex-start; }
  .subscription-safety .twofa-setup { margin-bottom:24px; }
  .subscription-safety .twofa-qr { width:180px; height:180px; }
  .desk-footnote .btn { max-width:100%; white-space:normal; height:auto; }
  .demo-brand-heading { margin-top:12px; }
}


/* Shared shell and control details */
body > header,header:has([data-site-nav]) { position:sticky; top:0; z-index:50; background:var(--bg); color:var(--ink); }
[data-site-nav] a { white-space:nowrap; padding:8px 12px; }
.brand-name { display:inline-block; flex:none; white-space:nowrap; line-height:1.3; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.reader-letterhead { min-width:0; max-width:100%; }
[data-reader]:not(.mobile-reader) [data-reader-close] { display:none; }
:lang(zh) h1,:lang(zh) h2 { text-wrap:balance; }
.section-head,.content-head { margin-bottom:40px; }
.archive-filter { display:inline-flex; align-items:center; gap:10px; }
.filter-chevron { display:block; position:absolute; top:50%; right:13px; width:7px; height:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:translateY(-50%) rotate(45deg); flex:none; }
.twofa-status { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.twofa-status [data-2fa-badge] { margin:0; }
.form-actions,.row-actions { display:flex; flex-wrap:wrap; align-items:center; column-gap:12px; row-gap:0; }
.twofa-actions .form-actions > * { margin-top:24px; }
[data-twofa-confirm] { margin-top:24px; }
[data-2fa-disable] { margin-top:24px; }
.meta-acts .chip { max-width:100%; height:auto; min-height:32px; padding-top:6px; padding-bottom:6px; white-space:normal; }


/* Privacy notice */
.privacy-page { background:var(--bg); color:var(--text); }
.privacy-hero { padding-top:64px; padding-bottom:64px; background:var(--alt); color:var(--text); }
.privacy-hero h1 { max-width:900px; font-size:var(--h1); line-height:1.25; font-weight:500; }
.privacy-hero .section-intro { max-width:760px; margin-top:24px; font-size:18px; color:var(--muted); }
.privacy-document-meta { display:flex; flex-wrap:wrap; gap:8px 32px; margin-top:24px; font-size:13px; color:var(--muted); }
.legal-glance.privacy-glance { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:48px; }
.privacy-glance-card { display:flex; flex-direction:column; align-items:flex-start; padding:28px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--bg); color:var(--text); }
.privacy-card-label { display:block; font-size:13px; color:var(--muted); margin-bottom:20px; }
.privacy-glance-card h2 { font-size:24px; line-height:1.4; font-weight:500; }
.privacy-glance-card p { margin-top:16px; margin-bottom:24px; font-size:15px; color:var(--text); }
.privacy-glance-card a { margin-top:auto; font-size:14px; color:var(--pri); text-decoration:underline; text-underline-offset:4px; }
.privacy-glance-card a:hover { color:var(--pri-d); }
.privacy-reading { padding-top:64px; padding-bottom:96px; }
.privacy-prose > section { scroll-margin-top:calc(var(--header-h) + 24px); }
.privacy-prose > section + section { margin-top:64px; }
.privacy-prose > section > .eyebrow { margin-bottom:20px; }
.privacy-prose h2 { margin:0 0 24px; font-size:28px; line-height:1.45; font-weight:500; }
.privacy-prose h3 { margin:32px 0 16px; font-size:18px; line-height:1.5; font-weight:600; }
.privacy-prose strong { font-weight:600; }
.privacy-retention { display:grid; grid-template-columns:144px minmax(0,1fr); align-items:start; gap:32px; margin:32px 0; padding:32px; border-radius:var(--radius-card); background:var(--band); color:var(--text); }
.privacy-retention-number { display:flex; flex-direction:column; gap:8px; color:var(--pri-d); }
.privacy-retention-number strong { font:500 56px/1.1 var(--mono); letter-spacing:0; }
.privacy-retention-number span { font-size:13px; }
.privacy-prose .privacy-retention h3 { margin:0 0 16px; color:var(--ink); }
.privacy-retention p { font-size:15px; }
.privacy-boundary-table { border:1px solid var(--line); border-radius:var(--radius-card); background:var(--bg); color:var(--text); }
.privacy-boundary-table table { min-width:620px; font-size:14px; line-height:1.8; }
.privacy-boundary-table caption { padding:16px; text-align:left; font-size:14px; font-weight:600; color:var(--ink); background:var(--band); }
.privacy-boundary-table th:first-child { width:23%; }
.privacy-boundary-table th { vertical-align:top; }
.privacy-boundary-table tbody th { background:var(--bg); color:var(--ink); }
.privacy-boundary-table td { vertical-align:top; }
.privacy-boundary-table tr:last-child > * { border-bottom:0; }
.privacy-note { margin:32px 0; padding:24px; border-left:3px solid var(--pri); border-radius:var(--radius-control); background:var(--selected); color:var(--text); }
.privacy-note > strong { display:block; color:var(--ink); font-size:16px; }
.privacy-note p { margin-top:12px; font-size:15px; }
.privacy-prose .privacy-operation-list { margin-top:24px; margin-bottom:32px; padding-left:24px; }
.privacy-prose .privacy-operation-list li + li { margin-top:16px; }
.privacy-contact { display:grid; grid-template-columns:40px minmax(0,1fr); gap:24px; margin-top:48px; padding:32px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--alt); color:var(--text); }
.privacy-contact > img { display:block; }
.privacy-prose .privacy-contact h3 { margin:0 0 16px; font-size:18px; line-height:1.5; }
.privacy-contact p { font-size:15px; color:var(--muted); }
.privacy-contact .btn { max-width:100%; min-height:48px; height:auto; padding:12px 20px; white-space:normal; }

@media (max-width:860px) {
  .privacy-hero { padding-top:40px; padding-bottom:48px; }
  .legal-glance.privacy-glance { grid-template-columns:minmax(0,1fr); gap:16px; margin-top:32px; }
  .privacy-glance-card { padding:24px; }
  .privacy-glance-card p { max-width:640px; }
  .privacy-glance-card a { margin-top:0; }
  .privacy-reading { padding-top:40px; padding-bottom:64px; }
  .privacy-prose > section + section { margin-top:48px; }
  .privacy-prose h2 { font-size:24px; line-height:1.45; }
  .privacy-prose h3 { font-size:18px; line-height:1.5; }
  .privacy-retention { grid-template-columns:112px minmax(0,1fr); gap:24px; padding:24px; }
  .privacy-contact { gap:16px; padding:24px; }
}

@media (max-width:560px) {
  .privacy-hero .section-intro { font-size:16px; }
  .privacy-document-meta { flex-direction:column; gap:8px; }
  .privacy-glance-card h2 { font-size:24px; }
  .privacy-reading { padding-bottom:48px; }
  .privacy-prose h2 { font-size:22px; }
  .privacy-retention { grid-template-columns:minmax(0,1fr); gap:24px; }
  .privacy-retention-number { flex-direction:row; align-items:center; gap:16px; }
  .privacy-note { padding:20px; }
  .privacy-contact { grid-template-columns:minmax(0,1fr); }
  .privacy-contact .actions { align-items:stretch; flex-direction:column; }
}


/* Terms */
.terms-hero { background:var(--alt); color:var(--text); padding-bottom:64px; }
.terms-hero h1 { max-width:960px; font-size:min(48px,var(--h1)); line-height:1.3; }
.terms-hero .section-intro { max-width:780px; }
.terms-date { margin-top:24px; font-size:var(--small); color:var(--muted); }
.terms-legal-glance { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:48px; }
.terms-overview-card { min-width:0; padding:24px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--bg); color:var(--text); }
.terms-card-label { display:block; margin-bottom:20px; font-size:var(--small); color:var(--pri); }
.terms-overview-card h2 { font-size:var(--h3); line-height:1.5; font-weight:600; }
.terms-overview-card p { margin-top:12px; font-size:15px; color:var(--muted); }
.terms-reading { padding:64px 0 96px; background:var(--bg); color:var(--text); }
.terms-prose > section + section { margin-top:64px; }
.terms-prose h2 { margin:0 0 24px; font-size:24px; line-height:1.45; }
.terms-prose h3 { margin:0 0 16px; font-size:var(--h3); line-height:1.5; }
.terms-prose section { scroll-margin-top:calc(var(--header-h) + 24px); }
.terms-use-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:24px 0 32px; }
.terms-use-card { min-width:0; padding:24px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--alt); color:var(--text); }
.terms-use-card h3 { color:var(--pri-d); }
.terms-use-card ul { margin:0; padding-left:20px; font-size:15px; }
.terms-use-card li + li { margin-top:12px; }
.terms-use-caution { background:var(--sand-card); color:var(--sand-ink); }
.terms-use-caution h3 { color:var(--sand-ink); }
.terms-boundary-table { margin:24px 0 32px; border:1px solid var(--line); border-radius:var(--radius-card); }
.terms-boundary-table table { min-width:580px; }
.terms-boundary-table caption { padding:16px; text-align:left; font-size:var(--small); color:var(--muted); background:var(--bg); }
.terms-boundary-table th { font-size:14px; }
.terms-boundary-table th[scope="row"] { width:22%; background:var(--bg); color:var(--ink); }
.terms-boundary-table td { width:39%; vertical-align:top; }
.terms-boundary-table tbody tr:last-child > * { border-bottom:0; }
.terms-callout { margin:24px 0 32px; padding:24px; border-radius:var(--radius-card); background:var(--selected); color:var(--text); }
.terms-callout ol { margin:0; padding-left:24px; font-size:15px; }
.terms-support { margin-top:32px; padding:32px; border-radius:var(--radius-panel); background:var(--band); color:var(--text); }
.terms-support .actions { margin-top:28px; }
.terms-support .btn { max-width:100%; height:auto; padding:12px 20px; white-space:normal; }
.terms-reading-end { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-top:48px; font-size:var(--small); color:var(--muted); }
@media (max-width:860px) {
  .terms-hero { padding-bottom:48px; }
  .terms-legal-glance { grid-template-columns:minmax(0,1fr); gap:16px; margin-top:32px; }
  .terms-overview-card { padding:24px; }
  .terms-reading { padding:40px 0 64px; }
  .terms-prose > section + section { margin-top:48px; }
  .terms-use-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  .terms-prose h2 { font-size:24px; line-height:1.45; }
  .terms-prose h3 { font-size:var(--h3); line-height:1.5; }
  .terms-support { padding:24px; }
}
@media (max-width:560px) {
  .terms-hero h1 { font-size:var(--h1); line-height:1.35; }
  .terms-hero .section-intro { font-size:16px; }
  .terms-overview-card { padding:20px; }
  .terms-prose h2 { font-size:22px; }
  .terms-use-card,.terms-callout { padding:20px; }
  .terms-support .actions { align-items:stretch; flex-direction:column; }
  .terms-reading-end { align-items:flex-start; flex-direction:column; }
}


/* Address choice matrix */
.matrix-hero { padding-top:64px; padding-bottom:96px; }
.matrix-hero-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:80px; align-items:center; }
.matrix-hero-grid > div,.matrix-hero-grid > aside { min-width:0; }
.matrix-hero h1 { font-size:var(--h1); line-height:1.25; font-weight:500; }
.matrix-hero .section-intro { max-width:540px; }
.matrix-hero-actions { margin-top:32px; }
.matrix-hero-actions .btn { padding:12px 24px; max-width:100%; }
.matrix-answer { padding:32px; border-radius:var(--radius-panel); background:var(--band); color:var(--text); }
.matrix-label { display:block; font-size:var(--small); font-weight:600; line-height:1.75; color:var(--pri-d); }
.matrix-answer h2 { margin-top:20px; font-size:24px; line-height:1.45; }
.matrix-answer > p { margin-top:16px; font-size:16px; }
.matrix-answer-note { margin-top:24px; padding-top:24px; border-top:1px solid var(--teal-18); }
.matrix-answer-note strong { font-size:16px; font-weight:600; color:var(--ink); }
.matrix-answer-note p { margin-top:8px; font-size:15px; }
.matrix-text-link { display:inline-block; max-width:100%; color:var(--pri); font-size:15px; line-height:1.75; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.matrix-text-link:hover { color:var(--pri-d); }
.matrix-answer > .matrix-text-link { margin-top:24px; }
.matrix-section-head { max-width:780px; margin-bottom:48px; }
.matrix-section-head .section-intro { max-width:720px; }
.matrix-overview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.matrix-option { display:flex; flex-direction:column; padding:32px; border-radius:var(--radius-panel); min-width:0; }
.matrix-option-temp { background:var(--teal-card); color:var(--teal-ink); }
.matrix-option-relay { background:var(--sand-card); color:var(--sand-ink); }
.matrix-option-primary { background:var(--bg); color:var(--text); border:1px solid var(--line); }
.matrix-option h3 { margin-top:20px; font-size:24px; line-height:1.45; font-weight:500; color:inherit; }
.matrix-option .matrix-label { color:inherit; }
.matrix-option-lead { margin-top:12px; font-size:15px; }
.matrix-option dl { margin:28px 0 32px; }
.matrix-option dt { font-size:var(--small); font-weight:600; }
.matrix-option dd { margin-top:8px; font-size:15px; }
.matrix-option dd + dt { margin-top:20px; }
.matrix-option .matrix-text-link { margin-top:auto; padding-top:4px; color:inherit; align-self:flex-start; }
.matrix-scroll-hint { font-size:var(--small); color:var(--muted); margin-bottom:16px; }
.matrix-table-scroll { width:100%; overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--bg); color:var(--text); scrollbar-color:var(--soft) var(--alt); }
.matrix-table-scroll:focus-visible { outline:2px solid var(--pri); outline-offset:4px; }
.matrix-table { min-width:840px; width:100%; table-layout:fixed; font-size:15px; line-height:1.8; }
.matrix-table caption { padding:20px 24px; text-align:left; font-size:var(--small); color:var(--muted); background:var(--bg); }
.matrix-table th,.matrix-table td { padding:24px; vertical-align:top; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.matrix-table thead th { font-size:16px; color:var(--ink); background:var(--band); font-weight:600; }
.matrix-table thead th span { display:block; margin-top:4px; font-size:var(--small); font-weight:400; color:var(--muted); }
.matrix-table tr > :first-child { width:160px; position:sticky; left:0; z-index:1; background:var(--alt); color:var(--ink); box-shadow:1px 0 0 var(--line); }
.matrix-table thead tr > :first-child { z-index:2; background:var(--band); color:var(--ink); }
.matrix-table tbody th { font-size:15px; font-weight:600; }
.matrix-table tbody td { background:var(--bg); color:var(--text); }
.matrix-table td strong { color:var(--ink); font-weight:600; }
.matrix-table tbody tr:last-child > * { border-bottom:0; }
.matrix-table-note { display:grid; grid-template-columns:200px minmax(0,1fr); gap:24px; margin-top:32px; padding:24px; border-radius:var(--radius-card); background:var(--alt); color:var(--text); }
.matrix-table-note > strong { font-size:16px; font-weight:600; color:var(--ink); }
.matrix-table-note p { font-size:15px; }
.matrix-table-note a { color:var(--pri); text-decoration:underline; text-underline-offset:3px; }
.matrix-task-list { display:grid; gap:24px; }
.matrix-task { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:64px; padding:32px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--bg); color:var(--text); }
.matrix-task-heading { min-width:0; }
.matrix-task-number { display:block; font:var(--small)/1.75 var(--mono); color:var(--soft); margin-bottom:16px; }
.matrix-task-heading h3 { font-size:var(--h3); line-height:1.5; }
.matrix-task-heading > p { margin-top:12px; font-size:15px; color:var(--muted); max-width:290px; }
.matrix-task-choice { min-width:0; }
.matrix-task-choice > p { font-size:15px; margin-top:12px; }
.matrix-task-choice .matrix-task-caution { color:var(--muted); margin-top:16px; }
.matrix-task-choice .matrix-text-link { margin-top:24px; }
.matrix-risk-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:96px; align-items:start; }
.matrix-risk-intro { min-width:0; }
.matrix-risk-intro .matrix-text-link { margin-top:28px; }
.matrix-risk-list { display:grid; gap:40px; min-width:0; }
.matrix-risk-list h3 { font-size:var(--h3); }
.matrix-risk-list p { font-size:15px; margin-top:12px; }
.matrix-risk-list strong { font-weight:600; color:var(--ink); }
.matrix-next { background:var(--alt); color:var(--text); }
.matrix-next .eyebrow { text-align:center; }
.matrix-next .matrix-next-intro { max-width:680px; margin:20px auto 0; }
.matrix-next .matrix-next-note { max-width:720px; margin:24px auto 0; font-size:var(--small); color:var(--muted); }
.matrix-next-note a { color:var(--pri); text-decoration:underline; text-underline-offset:3px; }
.matrix-next .cta-b { align-items:center; }
.matrix-next .cta-b .btn { height:auto; padding:14px 28px; max-width:100%; white-space:normal; }

@media (max-width:1100px) {
  .matrix-hero-grid { gap:48px; }
  .matrix-option { padding:24px; }
  .matrix-task { gap:32px; }
  .matrix-risk-grid { gap:48px; }
}
@media (max-width:860px) {
  .matrix-hero { padding-top:48px; padding-bottom:64px; }
  .matrix-hero-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
  .matrix-hero h1 { line-height:1.3; }
  .matrix-hero .section-intro { max-width:640px; }
  .matrix-answer { max-width:680px; }
  .matrix-section-head { margin-bottom:32px; }
  .matrix-overview-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
  .matrix-option { padding:32px; }
  .matrix-option dl { display:grid; grid-template-columns:120px minmax(0,1fr); gap:16px 24px; margin:24px 0; }
  .matrix-option dd,.matrix-option dd + dt { margin-top:0; }
  .matrix-option .matrix-text-link { margin-top:0; }
  .matrix-table-note { grid-template-columns:minmax(0,1fr); gap:12px; }
  .matrix-task { grid-template-columns:minmax(0,1fr); gap:24px; }
  .matrix-task-heading > p { max-width:none; }
  .matrix-risk-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
  .matrix-risk-intro { max-width:680px; }
}
@media (max-width:560px) {
  .matrix-hero { padding-top:40px; padding-bottom:48px; }
  .matrix-hero h1 { font-size:var(--h1); }
  .matrix-hero .section-intro,.matrix-section-head .section-intro,.matrix-risk-intro .section-intro { font-size:16px; }
  .matrix-hero-actions { gap:12px; align-items:stretch; }
  .matrix-hero-actions .btn { flex:1 1 140px; padding:12px 16px; }
  .matrix-answer,.matrix-option,.matrix-task { padding:24px; }
  .matrix-answer h2,.matrix-option h3 { font-size:24px; }
  .matrix-option dl { grid-template-columns:minmax(0,1fr); gap:0; }
  .matrix-option dd { margin-top:8px; }
  .matrix-option dd + dt { margin-top:20px; }
  .matrix-table { min-width:800px; font-size:14px; }
  .matrix-table th,.matrix-table td { padding:20px 16px; }
  .matrix-table tr > :first-child { width:112px; }
  .matrix-table caption { padding:16px; }
  .matrix-table-note { padding:20px; }
  .matrix-task-list { gap:16px; }
  .matrix-task-number { margin-bottom:12px; }
  .matrix-risk-list { gap:32px; }
  .matrix-next .cta-b { align-items:stretch; }
  .matrix-next .matrix-next-intro { font-size:16px; }
}


/* Trial signup and resource collection */
.trial-hero { padding-top:64px; padding-bottom:96px; }
.trial-hero-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:center; gap:64px; }
.trial-hero-grid > * { min-width:0; }
.trial-hero h1 { font-size:min(48px,var(--h1)); line-height:1.3; max-width:620px; letter-spacing:-.01em; }
.trial-hero .section-intro { max-width:540px; }
.trial-hero-copy { margin-top:20px; font-size:16px; max-width:540px; color:var(--text); }
.trial-hero-actions { margin-top:32px; }
.trial-hero-actions .btn { max-width:100%; height:auto; padding:12px 20px; white-space:normal; }
.trial-hero-note { margin-top:20px; color:var(--muted); font-size:13px; }
.trial-task-board { padding:32px; background:var(--band); color:var(--text); border-radius:var(--radius-panel); }
.trial-board-head { display:flex; align-items:center; gap:12px; margin-bottom:28px; font-size:14px; color:var(--pri-d); }
.trial-board-head img { flex:none; display:block; }
.trial-task { display:grid; grid-template-columns:40px minmax(0,1fr); align-items:start; gap:16px; padding:24px; background:var(--bg); color:var(--text); border-radius:var(--radius-card); }
.trial-task + .trial-task { margin-top:16px; }
.trial-task-icon { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:var(--radius-control); background:var(--selected); color:var(--pri); }
.trial-task-icon svg { width:24px; height:24px; }
.trial-task-label { font-size:13px; color:var(--muted); }
.trial-task h2 { margin-top:8px; font-size:18px; line-height:1.5; font-weight:600; color:var(--ink); }
.trial-task h2 + p { margin-top:12px; font-size:14px; color:var(--muted); }
.trial-board-note { display:flex; align-items:flex-start; gap:12px; margin-top:24px; font-size:14px; color:var(--pri-d); }
.trial-route-pin { display:block; flex:none; width:8px; height:8px; margin-top:8px; border-radius:50%; background:var(--glow); }
.trial-section-head { max-width:800px; }
.trial-section-head .section-intro { max-width:720px; }
.trial-route { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:48px; list-style:none; }
.trial-route-step { min-width:0; }
.trial-step-number { display:flex; align-items:center; justify-content:center; width:40px; height:40px; margin-bottom:24px; background:var(--bg); color:var(--pri-d); border-radius:50%; box-shadow:var(--shadow-s); font:500 18px/1 var(--mono); }
.trial-route-step > p { margin-top:16px; font-size:16px; color:var(--text); }
.trial-step-result { margin-top:24px; padding:20px; background:var(--bg); color:var(--text); border:1px solid var(--line); border-radius:var(--radius-card); }
.trial-step-result > span { font-size:13px; color:var(--pri); font-weight:600; }
.trial-step-result p { margin-top:8px; font-size:14px; color:var(--muted); }
.trial-timing-note { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-top:48px; padding:32px; border-radius:var(--radius-card); background:var(--sand-card); color:var(--sand-ink); }
.trial-timing-note > div { flex:1; min-width:0; }
.trial-timing-note h3 { color:var(--sand-ink); }
.trial-timing-note p { margin-top:12px; font-size:15px; color:var(--sand-ink); }
.trial-timing-note .btn { flex:none; max-width:100%; padding:12px 20px; height:auto; white-space:normal; }
.trial-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:48px; }
.trial-choice { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:32px; border-radius:var(--radius-panel); }
.trial-choice-once { background:var(--teal-card); color:var(--teal-ink); }
.trial-choice-ongoing { background:var(--sand-card); color:var(--sand-ink); }
.trial-choice-account { background:var(--alt); color:var(--ink); border:1px solid var(--line); }
.trial-choice-icon { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid currentColor; border-radius:var(--radius-control); }
.trial-choice-icon svg { width:24px; height:24px; }
.trial-choice-label { margin-top:24px; font-size:13px; }
.trial-choice h3 { margin-top:8px; color:inherit; }
.trial-choice h3 + p { margin-top:16px; font-size:15px; }
.trial-choice dl { margin-top:24px; margin-bottom:32px; font-size:14px; }
.trial-choice dt { font-size:13px; font-weight:600; }
.trial-choice dd { margin-top:8px; }
.trial-choice dd + dt { margin-top:20px; }
.trial-text-link { display:inline-block; max-width:100%; color:var(--pri); text-decoration:underline; text-underline-offset:5px; font-size:15px; overflow-wrap:anywhere; }
.trial-text-link:hover { color:var(--pri-d); }
.trial-choice .trial-text-link { margin-top:auto; color:inherit; }
.trial-choice .trial-text-link:hover { color:inherit; text-decoration-thickness:2px; }
.trial-after-cards { max-width:800px; margin-top:32px; color:var(--muted); font-size:15px; }
.trial-subscribe-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:80px; align-items:center; }
.trial-subscribe-grid > * { min-width:0; }
.trial-subscribe-copy { margin-top:24px; font-size:16px; color:var(--text); }
.trial-subscribe-actions { margin-top:32px; }
.trial-subscribe-actions .btn { max-width:100%; padding:12px 20px; height:auto; white-space:normal; }
.trial-subscribe-note { margin-top:16px; font-size:13px; color:var(--muted); }
.trial-subscribe-card { padding:32px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--bg); color:var(--text); box-shadow:var(--shadow-s); }
.trial-relay-route { display:flex; flex-direction:column; align-items:center; gap:8px; padding:24px; margin-bottom:32px; border-radius:var(--radius-card); background:var(--band); color:var(--pri-d); text-align:center; font-size:14px; }
.trial-relay-route svg { display:block; width:24px; height:32px; flex:none; }
.trial-relay-route strong { font-size:18px; font-weight:500; }
.trial-subscribe-card h3 + p { margin-top:16px; font-size:15px; }
.trial-subscribe-boundary { margin-top:16px; font-size:14px; color:var(--muted); }
.trial-accept-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:80px; align-items:start; }
.trial-accept-grid > * { min-width:0; }
.trial-accept-grid .trial-text-link { margin-top:32px; }
.trial-accept-list { display:grid; gap:32px; }
.trial-accept-item { display:grid; grid-template-columns:40px minmax(0,1fr); gap:20px; align-items:start; }
.trial-accept-number { font:500 18px/1.5 var(--mono); letter-spacing:0; color:var(--pri); }
.trial-accept-item p { margin-top:12px; font-size:16px; color:var(--text); }
.trial-finish { padding:0 0 96px; background:var(--bg); color:var(--text); }
.trial-finish-inner { padding:64px; border-radius:var(--radius-panel); background:var(--band); color:var(--text); text-align:center; }
.trial-finish-inner .eyebrow { color:var(--pri); }
.trial-finish-inner .section-intro { max-width:700px; margin-left:auto; margin-right:auto; }
.trial-final-checks { display:flex; flex-direction:column; align-items:center; gap:16px; margin-top:32px; list-style:none; }
.trial-final-checks li { display:flex; align-items:flex-start; gap:12px; max-width:640px; font-size:15px; text-align:left; }
.trial-final-checks svg { width:20px; height:20px; flex:none; margin-top:3px; color:var(--pri); }
.trial-finish-actions { justify-content:center; margin-top:32px; }
.trial-finish-actions .btn { max-width:100%; height:auto; padding:14px 24px; white-space:normal; }
.trial-finish-actions .btn-line { background:var(--bg); color:var(--pri-d); border-color:var(--line); }
.trial-finish-actions .btn-line:hover { background:var(--pri-d); color:var(--bg); border-color:var(--pri-d); }
.trial-finish-note { max-width:680px; margin:24px auto 0; font-size:13px; color:var(--muted); }

@media (max-width:1100px) {
  .trial-hero-grid { gap:40px; }
  .trial-task-board { padding:24px; }
  .trial-task { padding:20px; grid-template-columns:minmax(0,1fr); }
  .trial-choices { gap:16px; }
  .trial-choice { padding:24px; }
  .trial-subscribe-grid,.trial-accept-grid { gap:48px; }
}
@media (max-width:860px) {
  .trial-hero { padding-top:40px; padding-bottom:64px; }
  .trial-hero-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
  .trial-hero h1 { max-width:680px; }
  .trial-hero .section-intro,.trial-hero-copy { max-width:640px; }
  .trial-task-board { max-width:640px; width:100%; padding:32px; }
  .trial-task { grid-template-columns:40px minmax(0,1fr); padding:24px; }
  .trial-route { grid-template-columns:minmax(0,1fr); gap:32px; margin-top:40px; }
  .trial-route-step { display:grid; grid-template-columns:40px minmax(0,1fr); column-gap:20px; }
  .trial-step-number { grid-column:1; grid-row:1 / 4; margin-bottom:0; }
  .trial-route-step h3,.trial-route-step > p,.trial-step-result { grid-column:2; }
  .trial-route-step > p { margin-top:12px; }
  .trial-step-result { margin-top:20px; }
  .trial-timing-note { align-items:flex-start; flex-direction:column; gap:24px; padding:24px; margin-top:40px; }
  .trial-choices { grid-template-columns:minmax(0,1fr); gap:20px; margin-top:40px; }
  .trial-choice { padding:32px; }
  .trial-choice dl { display:grid; grid-template-columns:120px minmax(0,1fr); gap:16px; width:100%; }
  .trial-choice dd,.trial-choice dd + dt { margin-top:0; }
  .trial-subscribe-grid,.trial-accept-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
  .trial-subscribe-card { max-width:640px; width:100%; }
  .trial-accept-list { gap:28px; }
  .trial-finish { padding-bottom:64px; }
  .trial-finish-inner { padding:48px 32px; }
}
@media (max-width:560px) {
  .trial-hero { padding-top:40px; padding-bottom:48px; }
  .trial-hero-grid { gap:32px; }
  .trial-hero h1 { font-size:var(--h1); line-height:1.3; }
  .trial-hero .section-intro { font-size:16px; }
  .trial-hero-actions { align-items:stretch; }
  .trial-hero-actions .btn { flex:1 1 100%; }
  .trial-task-board { padding:20px; }
  .trial-board-head { margin-bottom:24px; }
  .trial-task { grid-template-columns:minmax(0,1fr); gap:12px; padding:20px; }
  .trial-task h2 { font-size:18px; }
  .trial-section-head .section-intro { font-size:16px; }
  .trial-route { margin-top:32px; }
  .trial-route-step { grid-template-columns:32px minmax(0,1fr); column-gap:12px; }
  .trial-step-number { width:32px; height:32px; font-size:16px; }
  .trial-step-result { padding:16px; }
  .trial-timing-note { padding:24px 20px; }
  .trial-timing-note .btn { width:100%; }
  .trial-choice { padding:24px; }
  .trial-choice dl { display:block; }
  .trial-choice dd { margin-top:8px; }
  .trial-choice dd + dt { margin-top:20px; }
  .trial-subscribe-grid .section-intro,.trial-accept-grid .section-intro { font-size:16px; }
  .trial-subscribe-card { padding:24px; }
  .trial-relay-route { padding:24px 16px; }
  .trial-accept-item { grid-template-columns:32px minmax(0,1fr); gap:12px; }
  .trial-accept-number { font-size:16px; }
  .trial-finish { padding-bottom:48px; }
  .trial-finish-inner { padding:40px 24px; }
  .trial-finish-inner .section-intro { font-size:16px; }
  .trial-final-checks { align-items:stretch; gap:20px; }
  .trial-finish-actions { align-items:stretch; flex-direction:column; }
}


/* Address generation tutorial */
.generator-hero { padding-top:64px; padding-bottom:96px; }
.generator-opening { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr); align-items:center; gap:64px; }
.generator-opening > * { min-width:0; }
.generator-hero h1 { font-size:min(34px,var(--h1)); line-height:1.3; letter-spacing:-.01em; }
.generator-hero .section-intro { max-width:600px; font-size:18px; }
.generator-opening-actions { margin-top:32px; }
.generator-opening-actions .btn { max-width:100%; padding:12px 24px; height:auto; white-space:normal; }
.generator-caption { margin-top:24px; font-size:13px; color:var(--muted); }
.generator-fieldnote { padding:32px; border-radius:var(--radius-panel); background:var(--band); color:var(--teal-ink); }
.generator-fieldnote-head { display:flex; align-items:center; gap:12px; font-size:14px; color:var(--pri-d); }
.generator-fieldnote-head svg { width:32px; height:32px; flex:none; }
.generator-route { margin-top:32px; padding:0; list-style:none; }
.generator-route li { position:relative; display:grid; grid-template-columns:16px minmax(0,1fr); align-items:start; gap:16px; padding-bottom:28px; }
.generator-route li:not(:last-child)::before { content:""; position:absolute; left:5px; top:18px; bottom:0; width:1px; background:var(--pri-35); }
.generator-route li:last-child { padding-bottom:0; }
.generator-route-point { display:block; width:11px; height:11px; margin-top:7px; border:2px solid var(--pri); border-radius:50%; background:var(--band); }
.generator-route li:last-child .generator-route-point { border-color:var(--glow); background:var(--glow); }
.generator-route strong { font-size:18px; font-weight:500; color:var(--teal-ink); }
.generator-route p { margin-top:4px; font-size:15px; color:var(--text); }
.generator-fieldnote-tail { margin-top:28px; font-size:13px; color:var(--muted); }
.generator-section { padding-top:96px; padding-bottom:96px; }
.generator-section-heading { max-width:800px; }
.generator-section-heading h2 { max-width:780px; }
.generator-section-heading .section-intro { max-width:760px; font-size:16px; }
.generator-address { margin-top:48px; padding:40px 32px 24px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--bg); color:var(--ink); }
.generator-address-parts { display:flex; align-items:flex-start; justify-content:center; gap:24px; }
.generator-address-part { min-width:0; text-align:center; }
.generator-address-part code { display:block; padding-bottom:20px; border-bottom:2px solid var(--pri); color:var(--pri-d); font:32px/1.5 var(--mono); letter-spacing:0; white-space:nowrap; }
.generator-address-part span { display:block; margin-top:12px; font-size:13px; color:var(--muted); }
.generator-address-separator code { border-bottom-color:var(--line); color:var(--soft); }
.generator-address figcaption { margin-top:32px; text-align:center; font-size:13px; color:var(--muted); }
.generator-explain { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; margin-top:40px; }
.generator-explain p { margin-top:12px; font-size:16px; color:var(--text); }
.generator-explain code { font-family:var(--mono); font-size:14px; letter-spacing:0; }
.generator-section-link { margin-top:32px; max-width:800px; font-size:15px; color:var(--muted); }
.generator-section-link a,.generator-process-note a { color:var(--pri); text-decoration:underline; text-underline-offset:4px; }
.generator-process { list-style:none; padding:0; margin-top:48px; max-width:960px; }
.generator-process > li { display:grid; grid-template-columns:48px minmax(0,1fr); gap:24px; }
.generator-process > li + li { margin-top:40px; }
.generator-process-number { width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:var(--selected); color:var(--pri-d); font:24px/1 var(--mono); }
.generator-process h3 { margin-top:4px; }
.generator-process p { margin-top:12px; font-size:16px; }
.generator-endpoint { display:inline-block; margin-top:20px; max-width:100%; padding:10px 16px; border-radius:var(--radius-control); background:var(--code-bg); color:var(--pri-d); font:14px/1.75 var(--mono); overflow-wrap:anywhere; }
.generator-process .generator-process-note { margin-top:16px; font-size:14px; color:var(--muted); }
.generator-credentials { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; align-items:start; }
.generator-credentials > * { min-width:0; }
.generator-credentials .section-intro { font-size:16px; }
.generator-body-copy { margin-top:24px; font-size:16px; color:var(--text); }
.generator-text-link { display:inline-block; margin-top:24px; color:var(--pri); text-decoration:underline; text-underline-offset:5px; font-size:15px; }
.generator-request-map { padding:32px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--bg); color:var(--text); }
.generator-map-header { display:flex; align-items:center; flex-wrap:wrap; gap:12px; color:var(--muted); font-size:13px; }
.generator-map-entry { margin-top:28px; }
.generator-map-entry dl { margin-top:16px; }
.generator-map-entry dl > div { display:grid; grid-template-columns:112px minmax(0,1fr); gap:16px; padding:8px 0; }
.generator-map-entry dt { font:14px/1.75 var(--mono); color:var(--pri-d); }
.generator-map-entry dd { font-size:14px; color:var(--muted); }
.generator-requests { margin-top:24px; padding:24px 0 0; list-style:none; border-top:1px solid var(--line); }
.generator-requests li + li { margin-top:24px; }
.generator-requests li > span { display:block; font-size:14px; font-weight:600; color:var(--ink); }
.generator-requests code { display:block; margin-top:8px; font:13px/1.75 var(--mono); color:var(--pri); overflow-wrap:anywhere; }
.generator-requests p { margin-top:8px; font-size:14px; color:var(--muted); }
.generator-map-note { margin-top:24px; font-size:13px; color:var(--muted); }
.generator-lifetime-table { margin-top:40px; margin-bottom:32px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--bg); color:var(--text); }
.generator-lifetime-table table { min-width:640px; font-size:15px; }
.generator-lifetime-table thead th { background:var(--band); color:var(--ink); }
.generator-lifetime-table tbody th { width:18%; background:var(--bg); color:var(--ink); font-weight:500; }
.generator-lifetime-table td { width:41%; }
.generator-lifetime-table tr:last-child th,.generator-lifetime-table tr:last-child td { border-bottom:0; }
.generator-caution { display:flex; align-items:flex-start; gap:16px; margin-top:32px; padding:24px; border-radius:var(--radius-card); background:var(--sand-card); color:var(--sand-ink); }
.generator-caution > svg { width:24px; height:24px; margin-top:2px; flex:none; }
.generator-caution h3 { color:var(--sand-ink); }
.generator-caution p { margin-top:8px; color:var(--sand-ink); font-size:15px; }
.generator-validation { margin-top:48px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; align-items:start; }
.generator-test { padding:32px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--bg); color:var(--text); }
.generator-test ol { list-style:decimal; margin:24px 0 0; padding-left:22px; font-size:15px; }
.generator-test li { padding-left:4px; }
.generator-test li + li { margin-top:16px; }
.generator-test > p { margin-top:24px; color:var(--muted); font-size:14px; }
.generator-limits { padding:8px 0; }
.generator-limits dl { margin-top:24px; }
.generator-limits dl > div + div { margin-top:24px; }
.generator-limits dt { font-size:16px; font-weight:600; color:var(--ink); }
.generator-limits dd { margin-top:8px; font-size:15px; color:var(--text); }
.generator-recovery { margin-top:48px; padding:32px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--bg); color:var(--text); }
.generator-recovery p { margin-top:16px; max-width:920px; font-size:16px; }
.generator-recovery .actions { margin-top:28px; }
.generator-recovery .generator-text-link { margin-top:0; }
.generator-recovery .btn { max-width:100%; height:auto; padding:12px 24px; white-space:normal; }
.generator-finish { padding-top:96px; padding-bottom:96px; }
.generator-finish .generator-finish-note { margin:24px auto 0; max-width:600px; font-size:13px; color:var(--muted); }
.generator-finish .cta-b { align-items:center; }
.generator-finish .cta-b .btn { max-width:100%; height:auto; padding:16px 32px; white-space:normal; }
@media (max-width:860px) {
  .generator-hero { padding-top:40px; padding-bottom:64px; }
  .generator-opening { grid-template-columns:minmax(0,1fr); gap:40px; }
  .generator-hero h1 { font-size:min(34px,var(--h1)); }
  .generator-fieldnote { max-width:600px; }
  .generator-section { padding-top:64px; padding-bottom:64px; }
  .generator-section-heading { max-width:100%; }
  .generator-address { margin-top:32px; padding:32px 24px 24px; }
  .generator-address-parts { gap:16px; }
  .generator-address-part code { font-size:24px; }
  .generator-explain { gap:32px; margin-top:32px; }
  .generator-process { margin-top:32px; }
  .generator-credentials { grid-template-columns:minmax(0,1fr); gap:40px; }
  .generator-request-map { max-width:640px; }
  .generator-validation { grid-template-columns:minmax(0,1fr); gap:32px; margin-top:32px; }
  .generator-limits { padding:0; }
  .generator-recovery { margin-top:32px; }
  .generator-finish { padding-top:64px; padding-bottom:64px; }
}
@media (max-width:560px) {
  .generator-hero { padding-top:40px; padding-bottom:48px; }
  .generator-hero h1 { font-size:34px; line-height:1.3; }
  .generator-hero .section-intro { font-size:16px; }
  .generator-opening-actions { gap:12px; margin-top:24px; }
  .generator-opening-actions .btn { flex:1 1 145px; padding:12px 16px; font-size:15px; }
  .generator-fieldnote { padding:24px; }
  .generator-route { margin-top:24px; }
  .generator-section { padding-top:56px; padding-bottom:56px; }
  .generator-address { padding:24px 12px; }
  .generator-address-parts { gap:8px; }
  .generator-address-part code { font-size:16px; padding-bottom:16px; }
  .generator-address-part span { font-size:12px; line-height:1.6; max-width:140px; }
  .generator-address figcaption { margin-top:24px; text-align:left; padding:0 4px; }
  .generator-explain { grid-template-columns:minmax(0,1fr); gap:24px; }
  .generator-process > li { grid-template-columns:32px minmax(0,1fr); gap:12px; }
  .generator-process-number { width:32px; height:32px; font-size:18px; }
  .generator-process h3 { margin-top:2px; }
  .generator-process > li + li { margin-top:32px; }
  .generator-endpoint { padding:10px 12px; font-size:12px; }
  .generator-request-map { padding:24px; }
  .generator-map-entry dl > div { grid-template-columns:minmax(0,1fr); gap:4px; padding:8px 0; }
  .generator-lifetime-table { margin-top:32px; }
  .generator-caution { padding:20px 16px; gap:12px; }
  .generator-test { padding:24px; }
  .generator-recovery { padding:24px; }
  .generator-recovery .actions { align-items:flex-start; }
  .generator-finish { padding-top:56px; padding-bottom:56px; }
  .generator-finish .cta-b { align-items:stretch; }
  .generator-finish .cta-b .btn { padding:14px 20px; }
}


.matrix-comparison { min-width:0; }

.summit-access-sheet { padding:32px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--bg); color:var(--text); }
.summit-access-sheet h2 { font-size:24px; line-height:1.4; }
.summit-access-sheet .actions { margin-top:24px; }
.summit-access-sheet .actions .btn { min-height:44px; padding:0 16px; font-size:14px; }


/* Notes index and article surfaces */
.notes-index { background:var(--bg); color:var(--text); }
.notes-index-hero { padding:64px 0 48px; }
.notes-index-hero h1 { max-width:940px; font-size:var(--h1); line-height:1.25; font-weight:500; letter-spacing:-.01em; }
.notes-index-hero .eyebrow { margin-bottom:20px; }
.notes-index-hero .notes-post-count { margin-top:24px; background:var(--selected); color:var(--pri-d); }
.notes-index-hero .section-intro { max-width:760px; margin-top:24px; }
.notes-index-list { padding:0 0 96px; }
.notes-post-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:stretch; }
.notes-post-card { display:flex; flex-direction:column; min-width:0; padding:32px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--alt); color:var(--text); transition:background .2s,color .2s,border-color .2s; }
.notes-post-card:hover { background:var(--band); color:var(--ink); border-color:var(--pri-35); }
.notes-card-top { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.notes-card-tag { background:var(--bg); color:var(--pri-d); border:1px solid var(--line); max-width:100%; }
.notes-card-arrow { position:relative; display:block; flex:none; width:24px; height:24px; color:var(--pri); }
.notes-card-arrow::before { content:""; position:absolute; width:16px; height:1px; left:3px; top:12px; background:currentColor; }
.notes-card-arrow::after { content:""; position:absolute; width:7px; height:7px; right:4px; top:9px; border-top:1px solid currentColor; border-right:1px solid currentColor; transform:rotate(45deg); }
.notes-post-card .notes-card-title { margin-top:28px; font-size:24px; line-height:1.45; font-weight:500; color:var(--ink); overflow-wrap:anywhere; }
.notes-card-description { margin-top:20px; margin-bottom:32px; font-size:16px; line-height:1.8; color:var(--muted); }
.notes-card-meta { display:flex; align-items:center; flex-wrap:wrap; gap:8px 24px; margin-top:auto; font-size:var(--small); color:var(--muted); }
.notes-card-meta time { font-variant-numeric:tabular-nums; }
.notes-card-read { white-space:nowrap; }
.notes-loading,.notes-noscript { grid-column:1 / -1; font-size:15px; color:var(--muted); }
.notes-noscript a { color:var(--pri); text-decoration:underline; text-underline-offset:4px; }

/* Article heroes keep breadcrumbs inside the reading context. */
.notes-article { background:var(--bg); color:var(--text); }
.notes-article-hero { padding:48px 0 64px; background:var(--alt); color:var(--text); }
.notes-breadcrumb { margin-bottom:32px; color:var(--muted); font-size:var(--small); }
.notes-breadcrumb ol { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; padding:0; margin:0; list-style:none; }
.notes-breadcrumb li { display:inline-flex; align-items:center; gap:12px; min-width:0; }
.notes-breadcrumb li + li::before { content:"/"; color:var(--soft); }
.notes-breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
.notes-breadcrumb a:hover { color:var(--pri-d); }
.notes-article-hero .eyebrow { margin-bottom:20px; color:var(--pri-d); }
.notes-article-hero h1 { max-width:980px; font-size:min(48px,var(--h1)); line-height:1.3; font-weight:500; letter-spacing:-.01em; }
.notes-article-hero .section-intro { max-width:840px; margin-top:24px; font-size:18px; }
.notes-article-meta { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:32px; color:var(--muted); font-size:var(--small); }
.notes-article-meta .status-pill { background:var(--bg); color:var(--pri-d); border:1px solid var(--line); }
.notes-article-meta time { font-variant-numeric:tabular-nums; }
.notes-article-meta .notes-meta-text { padding:4px 0; }
.notes-reading { padding:64px 0 96px; }
.notes-reading-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:64px; align-items:start; }
.notes-reading-layout > * { min-width:0; }
.notes-toc { position:sticky; top:calc(var(--header-h) + 16px); padding:24px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--alt); color:var(--text); }
.notes-toc summary { display:flex; align-items:center; gap:16px; justify-content:space-between; list-style:none; cursor:pointer; color:var(--ink); font-size:18px; font-weight:600; }
.notes-toc summary::-webkit-details-marker { display:none; }
.notes-toc summary .chevron { margin-top:-4px; }
.notes-toc[open] summary .chevron { transform:rotate(45deg); margin-top:4px; }
.notes-toc ol { margin-top:20px; padding-left:20px; list-style:decimal; font-size:14px; }
.notes-toc li + li { margin-top:12px; }
.notes-toc a { text-underline-offset:4px; overflow-wrap:anywhere; }
.notes-toc a:hover { color:var(--pri); text-decoration:underline; }
.notes-toc .status-pill { margin-top:20px; background:var(--bg); color:var(--muted); border:1px solid var(--line); }
.notes-prose { min-width:0; font-size:16px; line-height:1.9; overflow-wrap:anywhere; color:var(--text); }
.notes-prose > section { scroll-margin-top:calc(var(--header-h) + 24px); }
.notes-prose > section + section { margin-top:64px; }
.notes-prose h2 { margin:40px 0 24px; font-size:28px; line-height:1.45; font-weight:500; color:var(--ink); }
.notes-prose > section > h2:first-child { margin-top:0; }
.notes-prose h3 { margin:32px 0 16px; font-size:18px; line-height:1.5; font-weight:600; color:var(--ink); }
.notes-prose p + p { margin-top:16px; }
.notes-prose ul,.notes-prose ol { margin:24px 0 32px; padding-left:24px; list-style:initial; }
.notes-prose ol { list-style:decimal; }
.notes-prose li + li { margin-top:12px; }
.notes-prose strong { font-weight:600; }
.notes-prose a:not(.btn) { color:var(--pri); text-decoration:underline; text-underline-offset:4px; }
.notes-prose a:not(.btn):hover { color:var(--pri-d); }
.notes-prose code { font-family:var(--mono); font-size:14px; letter-spacing:0; }
.notes-prose pre { margin:24px 0 32px; padding:24px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--code-bg); color:var(--ink); overflow-x:auto; font:14px/1.8 var(--mono); }
.notes-callout { margin:32px 0; padding:24px; border-radius:var(--radius-card); background:var(--selected); color:var(--text); }
.notes-callout > strong { display:block; margin-bottom:12px; color:var(--pri-d); }
.notes-callout-caution { background:var(--sand-card); color:var(--sand-ink); }
.notes-callout-caution > strong { color:var(--sand-ink); }
.notes-prose .notes-callout h3 { margin:0 0 16px; }
.notes-table-scroll { width:100%; margin:24px 0 32px; overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--bg); color:var(--text); }
.notes-table-scroll:focus-visible { outline:2px solid var(--pri); outline-offset:4px; }
.notes-table-scroll table { min-width:640px; line-height:1.8; }
.notes-table-scroll caption { padding:16px; text-align:left; background:var(--band); color:var(--ink); font-size:14px; font-weight:600; }
.notes-table-scroll th,.notes-table-scroll td { vertical-align:top; padding:20px; }
.notes-table-scroll tbody th { background:var(--alt); color:var(--ink); }
.notes-table-scroll tr:last-child > * { border-bottom:0; }
.notes-evidence { display:grid; grid-template-columns:112px minmax(0,1fr); gap:16px 24px; margin:24px 0 32px; padding:24px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--bg); color:var(--text); }
.notes-evidence dt { font-size:14px; font-weight:600; color:var(--ink); }
.notes-evidence dd { min-width:0; font-size:15px; }
.notes-route-list { display:grid; gap:24px; margin:32px 0; padding:0; list-style:none; }
.notes-prose .notes-route-list { list-style:none; padding:0; }
.notes-route-list li { display:grid; grid-template-columns:40px minmax(0,1fr); gap:20px; margin:0; }
.notes-route-number { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:var(--band); color:var(--pri-d); font:500 18px/1 var(--mono); }
.notes-prose .notes-route-list h3 { margin:4px 0 12px; }
.notes-route-list p { font-size:15px; }
.notes-article-end { margin-top:48px; color:var(--muted); font-size:var(--small); }

/* The closing task card stays inside the article column. */
.notes-article-cta { margin-top:64px; padding:32px; border-radius:var(--radius-panel); background:var(--band); color:var(--text); }
.notes-prose .notes-article-cta h2 { margin:0 0 20px; font-size:28px; line-height:1.45; color:var(--ink); }
.notes-article-cta p { font-size:16px; color:var(--text); }
.notes-article-cta .actions { margin-top:28px; }
.notes-article-cta .btn { max-width:100%; height:auto; padding:12px 20px; white-space:normal; }
.notes-prose .notes-article-cta a.btn-pri { background:var(--pri); color:var(--bg); text-decoration:none; }
.notes-prose .notes-article-cta a.btn-pri:hover { background:var(--pri-d); color:var(--bg); }
.notes-prose .notes-article-cta a.btn-light { background:var(--bg); color:var(--pri-d); text-decoration:none; }
.notes-prose .notes-article-cta a.btn-light:hover { background:var(--selected); color:var(--pri-d); }
.notes-article-cta .notes-cta-note { margin-top:20px; font-size:var(--small); color:var(--muted); }

/* Recommendation appears only when included by an article. */
.notes-recommend { position:fixed; right:24px; bottom:24px; z-index:45; width:min(336px,calc(100% - 32px)); border:1px solid var(--line); border-radius:var(--radius-card); overflow:hidden; background:var(--bg); color:var(--text); box-shadow:var(--shadow); }
.notes-recommend-visual { min-height:104px; display:flex; align-items:center; gap:16px; padding:24px 52px 24px 24px; background:var(--band); color:var(--pri-d); }
.notes-recommend-visual img,.notes-recommend-visual svg { display:block; width:40px; height:40px; flex:none; }
.notes-recommend-visual p { font-size:14px; }
.notes-recommend-copy { padding:24px; }
.notes-recommend-copy h2 { font-size:18px; line-height:1.5; font-weight:600; }
.notes-recommend-copy p { margin-top:12px; font-size:14px; color:var(--muted); }
.notes-recommend-copy .btn { margin-top:24px; padding:12px 16px; max-width:100%; min-height:44px; height:auto; white-space:normal; font-size:14px; line-height:1.35; }
.notes-recommend .float-close { background:var(--bg); color:var(--ink); border:1px solid var(--line); }
.notes-recommend .float-close:hover { background:var(--pri); color:var(--bg); border-color:var(--pri); }

@media (max-width:1100px) {
  .notes-reading-layout { gap:40px; grid-template-columns:220px minmax(0,1fr); }
}
@media (max-width:860px) {
  .notes-index-hero { padding:48px 0 40px; }
  .notes-index-list { padding-bottom:64px; }
  .notes-post-card { padding:28px; }
  .notes-article-hero { padding:40px 0 48px; }
  .notes-article-hero h1 { font-size:min(40px,var(--h1)); }
  .notes-reading { padding:40px 0 64px; }
  .notes-reading-layout { grid-template-columns:minmax(0,1fr); gap:40px; }
  .notes-toc { position:static; padding:16px 20px; }
  .notes-toc summary { font-size:16px; }
  .notes-toc ol { margin-top:20px; margin-bottom:8px; }
  .notes-prose > section + section { margin-top:48px; }
  .notes-prose h2 { font-size:26px; }
  .notes-article-cta { margin-top:48px; }
}
@media (max-width:560px) {
  .notes-index-hero { padding:40px 0 32px; }
  .notes-index-hero h1 { font-size:var(--h1); line-height:1.3; }
  .notes-index-hero .section-intro { font-size:16px; }
  .notes-index-list { padding-bottom:48px; }
  .notes-post-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
  .notes-post-card { padding:24px; }
  .notes-post-card .notes-card-title { font-size:24px; margin-top:24px; }
  .notes-card-description { font-size:15px; margin-top:16px; margin-bottom:28px; }
  .notes-card-meta { gap:8px 20px; }
  .notes-article-hero { padding:40px 0; }
  .notes-breadcrumb { margin-bottom:24px; }
  .notes-article-hero h1 { font-size:var(--h1); line-height:1.35; }
  .notes-article-hero .section-intro { font-size:16px; }
  .notes-article-meta { gap:8px 12px; margin-top:24px; }
  .notes-reading { padding:32px 0 48px; }
  .notes-reading-layout { gap:32px; }
  .notes-prose h2 { font-size:24px; }
  .notes-prose > section + section { margin-top:40px; }
  .notes-prose pre { padding:20px 16px; }
  .notes-callout { padding:20px; }
  .notes-table-scroll th,.notes-table-scroll td { padding:16px; }
  .notes-evidence { grid-template-columns:minmax(0,1fr); gap:8px; padding:20px; }
  .notes-evidence dd + dt { margin-top:12px; }
  .notes-route-list li { grid-template-columns:32px minmax(0,1fr); gap:12px; }
  .notes-route-number { width:32px; height:32px; font-size:16px; }
  .notes-prose .notes-route-list h3 { margin-top:0; }
  .notes-article-cta { padding:24px; margin-top:40px; }
  .notes-prose .notes-article-cta h2 { font-size:24px; }
  .notes-article-cta .actions { align-items:stretch; flex-direction:column; }
  .notes-recommend { right:16px; bottom:16px; }
  .notes-recommend-visual { min-height:88px; padding:20px 48px 20px 20px; }
  .notes-recommend-copy { padding:20px; }
}


/* Receipt test article */
.receipt-article { background:var(--bg); color:var(--text); }
.receipt-hero { padding:96px 0 64px; background:var(--alt); color:var(--text); }
.receipt-crumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-bottom:32px; font-size:var(--small); color:var(--muted); }
.receipt-crumb a:hover { color:var(--pri); text-decoration:underline; text-underline-offset:4px; }
.receipt-hero h1 { max-width:920px; font-size:min(48px,var(--h1)); font-weight:500; line-height:1.35; letter-spacing:-.01em; }
.receipt-hero .section-intro { max-width:760px; margin-top:24px; font-size:18px; }
.receipt-meta { margin-top:24px; }
.receipt-meta > .status-pill { display:inline-flex; flex-wrap:wrap; align-items:center; gap:8px 12px; max-width:100%; padding:8px 12px; border:1px solid var(--line); background:var(--bg); color:var(--muted); }
.receipt-route { display:grid; grid-template-columns:auto 64px auto 64px auto; align-items:center; gap:24px; max-width:820px; margin-top:48px; }
.receipt-route > div { display:flex; align-items:center; gap:12px; min-width:0; font-size:14px; color:var(--ink); }
.receipt-route-number { display:inline-flex; align-items:center; justify-content:center; flex:none; width:32px; height:32px; border-radius:50%; background:var(--band); color:var(--pri-d); font:var(--small)/1 var(--mono); }
.receipt-route > svg { display:block; width:100%; height:20px; color:var(--pri); }
.receipt-reading { display:grid; grid-template-columns:minmax(0,1fr) 264px; gap:64px; align-items:start; padding-top:64px; padding-bottom:96px; }
.receipt-toc { grid-column:2; grid-row:1; z-index:2; padding:20px; background:var(--alt); color:var(--text); }
.receipt-toc summary { display:flex; align-items:center; justify-content:space-between; gap:16px; list-style:none; font-size:16px; font-weight:600; color:var(--ink); cursor:pointer; }
.receipt-toc summary::-webkit-details-marker { display:none; }
.receipt-toc summary .chevron { margin-right:2px; transform:rotate(45deg); }
.receipt-toc details:not([open]) summary .chevron { transform:rotate(45deg); }
.receipt-toc ol { list-style:decimal; margin-top:20px; padding-left:22px; font-size:13px; line-height:1.8; }
.receipt-toc li + li { margin-top:8px; }
.receipt-toc li a:hover { color:var(--pri); text-decoration:underline; text-underline-offset:3px; }
.receipt-toc .receipt-count { margin-top:20px; font-weight:400; text-decoration:none; }
.receipt-toc .receipt-count:hover { background:var(--pri); color:var(--bg); }
.receipt-prose { grid-column:1; grid-row:1; min-width:0; }
.receipt-prose > section { scroll-margin-top:calc(var(--header-h) + 24px); }
.receipt-prose > section + section { margin-top:48px; }
.receipt-prose h2 { margin:0 0 24px; font-size:24px; line-height:1.5; font-weight:500; }
.receipt-prose h3 { margin:32px 0 16px; font-size:18px; line-height:1.5; font-weight:600; }
.receipt-prose strong { font-weight:600; }
.receipt-prose code { color:var(--pri-d); font:14px/1.75 var(--mono); letter-spacing:0; overflow-wrap:anywhere; }
.receipt-prose ul { margin:24px 0 32px; padding-left:24px; }
.receipt-prose li + li { margin-top:8px; }
.receipt-prose .receipt-table { margin:24px 0 32px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--bg); color:var(--text); }
.receipt-table:focus-visible { outline:2px solid var(--pri); outline-offset:4px; }
.receipt-table table { min-width:640px; font-size:14px; line-height:1.8; }
.receipt-table caption { padding:16px; text-align:left; background:var(--band); color:var(--pri-d); font-size:var(--small); }
.receipt-table th,.receipt-table td { vertical-align:top; padding:16px; }
.receipt-table thead th { background:var(--alt); color:var(--ink); }
.receipt-table tbody th { width:24%; background:var(--bg); color:var(--ink); font-weight:500; }
.receipt-table tbody tr:last-child > * { border-bottom:0; }
.receipt-end-card { margin-top:64px; padding:40px; border-radius:var(--radius-panel); background:var(--band); color:var(--text); }
.receipt-end-icon { display:block; width:48px; height:48px; margin-bottom:24px; color:var(--pri); }
.receipt-end-card .eyebrow { margin-bottom:20px; color:var(--pri-d); }
.receipt-prose .receipt-end-card h2 { margin:0 0 20px; font-size:24px; line-height:1.5; }
.receipt-end-card p { font-size:15px; color:var(--text); }
.receipt-prose .receipt-end-card .actions { margin-top:28px; align-items:center; }
.receipt-end-card .btn { max-width:100%; min-height:48px; height:auto; padding:12px 20px; white-space:normal; text-decoration:none; }
.receipt-prose .receipt-end-card .btn-pri { background:var(--pri); color:var(--bg); border:0; }
.receipt-prose .receipt-end-card .btn-pri:hover { background:var(--pri-d); color:var(--bg); }
.receipt-prose .receipt-end-card .btn-light { background:var(--bg); color:var(--pri-d); border:1px solid var(--line); }
.receipt-prose .receipt-end-card .btn-light:hover { background:var(--selected); color:var(--ink); }
.receipt-recommend { z-index:45; width:min(324px,calc(100% - 32px)); }
.receipt-recommend .recommend-visual { display:flex; align-items:center; gap:12px; padding:16px 52px 16px 20px; background:var(--band); color:var(--pri-d); font-size:14px; }
.receipt-recommend .recommend-visual svg { display:block; width:32px; height:32px; flex:none; }
.receipt-recommend .float-close { position:absolute; right:10px; top:10px; background:var(--bg); color:var(--ink); }
.receipt-recommend .float-close svg { width:18px; height:18px; }
.receipt-recommend .float-close:hover { background:var(--pri); color:var(--bg); }
.receipt-recommend .recommend-copy { padding:20px; }
.receipt-recommend .recommend-copy p { font-size:14px; line-height:1.8; }
.receipt-recommend .actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:20px; }
.receipt-recommend .recommend-copy .btn { margin-top:0; min-height:40px; max-width:100%; height:auto; padding:10px; font-size:14px; white-space:normal; line-height:1.35; }

@media (max-width:1100px) {
  .receipt-reading { grid-template-columns:minmax(0,1fr) 240px; gap:40px; }
  .receipt-route { gap:16px; grid-template-columns:auto 40px auto 40px auto; }
}
@media (max-width:860px) {
  .receipt-reading { grid-template-columns:minmax(0,1fr); gap:40px; padding-top:40px; padding-bottom:64px; }
  .receipt-toc { grid-column:1; grid-row:1; position:static; }
  .receipt-prose { grid-column:1; grid-row:2; }
  .receipt-hero { padding-bottom:48px; }
  .receipt-hero .section-intro { font-size:16px; }
  .receipt-route { grid-template-columns:auto 24px auto 24px auto; gap:12px; }
  .receipt-route > div { font-size:13px; gap:8px; }
}
@media (max-width:560px) {
  .receipt-hero { padding-top:96px; padding-bottom:40px; }
  .receipt-crumb { margin-bottom:24px; font-size:12px; gap:6px 8px; }
  .receipt-hero h1 { font-size:var(--h1); line-height:1.35; }
  .receipt-meta > .status-pill { gap:6px; padding:8px 10px; font-size:12px; }
  .receipt-route { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin-top:32px; }
  .receipt-route > div { font-size:14px; gap:12px; }
  .receipt-route > svg { display:none; }
  .receipt-reading { padding-top:32px; padding-bottom:48px; gap:32px; }
  .receipt-toc { padding:16px 20px; }
  .receipt-toc ol { columns:2; column-gap:28px; padding-left:20px; font-size:12px; }
  .receipt-toc li { break-inside:avoid; padding-left:0; margin-bottom:8px; }
  .receipt-toc li + li { margin-top:0; }
  .receipt-prose h2 { font-size:22px; margin-bottom:20px; }
  .receipt-prose > section + section { margin-top:40px; }
  .receipt-prose h3 { font-size:18px; }
  .receipt-end-card { padding:24px; }
  .receipt-prose .receipt-end-card h2 { font-size:22px; }
  .receipt-end-card .actions { align-items:stretch; flex-direction:column; }
  .receipt-recommend .recommend-visual { padding-top:12px; padding-bottom:12px; }
  .receipt-recommend .recommend-copy { padding:16px; }
  .receipt-recommend .actions { margin-top:12px; }
}


/* Newsletter reading trail */
.trail-page { background:var(--bg); color:var(--text); }
.trail-hero { padding:96px 0 64px; background:var(--alt); color:var(--text); }
.trail-crumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-bottom:32px; font-size:var(--small); color:var(--muted); }
.trail-crumb a { text-decoration:underline; text-underline-offset:4px; }
.trail-crumb a:hover { color:var(--pri); }
.trail-hero h1 { max-width:960px; font-size:var(--h1); line-height:1.3; font-weight:500; letter-spacing:-.01em; }
.trail-hero .section-intro { max-width:800px; margin-top:24px; font-size:18px; color:var(--muted); }
.trail-meta { display:inline-flex; align-items:center; flex-wrap:wrap; gap:8px 12px; max-width:100%; margin-top:32px; padding:10px 16px; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--bg); color:var(--muted); font-size:var(--small); line-height:1.75; }
.trail-meta time { color:var(--text); }
.trail-meta-dot { width:3px; height:3px; border-radius:50%; background:var(--soft); flex:none; }
.trail-reading { padding-top:64px; padding-bottom:96px; }
.trail-layout { grid-template-columns:240px minmax(0,1fr); gap:64px; }
.trail-sidebar { position:sticky; top:calc(var(--header-h) + 16px); z-index:3; align-self:start; min-width:0; max-height:calc(100dvh - var(--header-h) - 32px); overflow-y:auto; }
.trail-toc { padding:24px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--alt); color:var(--text); }
.trail-toc summary { position:relative; padding-right:24px; list-style:none; cursor:pointer; font-size:15px; line-height:1.6; font-weight:600; color:var(--ink); }
.trail-toc summary::-webkit-details-marker { display:none; }
.trail-toc summary .chevron { position:absolute; top:50%; right:2px; transform:translateY(-50%) rotate(45deg); }
.trail-toc[open] summary .chevron { position:absolute; top:50%; transform:rotate(45deg); translate:0 -50%; }
.trail-toc ol { margin:20px 0 0; padding-left:20px; list-style:decimal; font-size:14px; line-height:1.7; }
.trail-toc li { padding-left:2px; }
.trail-toc li + li { margin-top:8px; }
.trail-toc li::marker { color:var(--soft); }
.trail-toc li a:hover { color:var(--pri); text-decoration:underline; text-underline-offset:3px; }
.trail-count { margin-top:20px; text-decoration:none; }
.trail-count:has([data-post-count][hidden]) { display:none; }
.trail-prose > section { scroll-margin-top:calc(var(--header-h) + 24px); }
.trail-prose > section + section { margin-top:56px; }
.trail-prose > section > h2 { margin:0 0 24px; font-size:24px; line-height:1.45; font-weight:500; }
.trail-prose h3 { margin:32px 0 16px; font-size:18px; line-height:1.5; font-weight:600; }
.trail-prose strong { font-weight:600; }
.trail-prose code { color:var(--pri-d); font:14px/1.75 var(--mono); letter-spacing:0; overflow-wrap:anywhere; }
.trail-prose ul,.trail-prose ol { margin:24px 0 32px; padding-left:24px; }
.trail-prose li + li { margin-top:8px; }
.trail-table-scroll { width:100%; margin:24px 0 32px; overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--bg); color:var(--text); }
.trail-table-scroll:focus-visible { outline:2px solid var(--pri); outline-offset:4px; }
.trail-table { min-width:620px; font-size:14px; line-height:1.8; }
.trail-table caption { padding:16px 20px; text-align:left; font-size:var(--small); background:var(--band); color:var(--pri-d); }
.trail-table th,.trail-table td { padding:20px; vertical-align:top; }
.trail-table thead th { background:var(--alt); color:var(--ink); }
.trail-table tbody th { width:19%; font-weight:600; background:var(--bg); color:var(--ink); }
/* The 40.5% data column belongs to the seed row-header table. Writer tables are all body cells, and the same percentage crushes the last columns. */
.trail-table tbody tr:has(> th) > td { width:40.5%; }
.trail-table:not(:has(tbody th)) { table-layout:fixed; min-width:720px; }
.trail-table:not(:has(tbody th)) th,
.trail-table:not(:has(tbody th)) td { width:auto; overflow-wrap:anywhere; }
.trail-table tbody tr:last-child > * { border-bottom:0; }
.trail-prose .trail-timeline { margin:24px 0 32px; padding:24px 24px 24px 48px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--alt); color:var(--text); }
.trail-timeline li { padding-left:4px; font-size:15px; }
.trail-timeline li::marker { color:var(--pri); }
.trail-callout { margin:24px 0 32px; padding:24px; border-left:3px solid var(--glow); border-radius:var(--radius-control); background:var(--sand-card); color:var(--sand-ink); }
.trail-prose .trail-callout h3 { margin:0 0 12px; color:var(--sand-ink); }
.trail-callout p { font-size:15px; color:var(--sand-ink); }
.trail-ledger { margin:24px 0 32px; padding:28px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--alt); color:var(--text); }
.trail-ledger-label { display:block; margin-bottom:20px; color:var(--muted); font-size:var(--small); }
.trail-ledger dl { display:grid; gap:12px; }
.trail-ledger dl > div { display:grid; grid-template-columns:120px minmax(0,1fr); gap:20px; font-size:14px; }
.trail-ledger dt { font-weight:600; color:var(--ink); }
.trail-ledger dd { min-width:0; overflow-wrap:anywhere; }
.trail-ledger code { font:14px/1.8 var(--mono); letter-spacing:0; color:var(--pri-d); overflow-wrap:anywhere; }
.trail-final { margin-top:40px; padding:32px; border-radius:var(--radius-panel); background:var(--band); color:var(--text); }
.trail-final-heading { display:flex; align-items:center; gap:16px; }
.trail-final-heading > div { min-width:0; }
.trail-final-heading .eyebrow { display:block; margin:0 0 6px; color:var(--pri-d); }
.trail-final-icon { display:flex; align-items:center; justify-content:center; width:48px; height:48px; flex:none; border-radius:var(--radius-card); background:var(--bg); color:var(--pri); }
.trail-final-icon svg { display:block; width:32px; height:32px; }
.trail-prose .trail-final h3 { margin:0; font-size:18px; color:var(--ink); }
.trail-final > p { margin-top:20px; font-size:15px; color:var(--text); }
.trail-final .actions { margin-top:28px; }
.trail-final .btn { max-width:100%; height:auto; padding:12px 20px; white-space:normal; }
.trail-prose .trail-final .btn-pri { border:0; background:var(--pri); color:var(--bg); text-decoration:none; }
.trail-prose .trail-final .btn-pri:hover { background:var(--pri-d); color:var(--bg); }
.trail-prose .trail-final .btn-light { background:var(--bg); color:var(--pri-d); text-decoration:none; }
.trail-prose .trail-final .btn-light:hover { background:var(--selected); color:var(--pri-d); }
.trail-recommend { width:min(308px,calc(100% - 32px)); z-index:45; }
.trail-recommend .recommend-visual { display:flex; align-items:center; gap:12px; padding:20px 48px 20px 20px; background:var(--band); color:var(--pri-d); font-size:var(--small); }
.trail-recommend .recommend-visual img,.trail-recommend .recommend-visual svg { display:block; width:32px; height:32px; flex:none; }
.trail-recommend .float-close { position:absolute; right:8px; top:8px; background:var(--bg); color:var(--ink); }
.trail-recommend .float-close svg { display:block; width:18px; height:18px; }
.trail-recommend .float-close:hover { background:var(--selected); color:var(--pri-d); }
.trail-recommend .recommend-copy { padding:20px; }
.trail-recommend .recommend-copy h2 { font-size:18px; line-height:1.5; font-weight:600; }
.trail-recommend .recommend-copy p { margin-top:8px; font-size:14px; color:var(--muted); }
.trail-recommend-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.trail-recommend .trail-recommend-actions .btn { flex:1 1 100px; min-width:0; max-width:100%; min-height:40px; height:auto; margin-top:0; padding:10px 12px; font-size:14px; line-height:1.35; white-space:normal; }

@media (max-width:1100px) {
  .trail-layout { grid-template-columns:220px minmax(0,1fr); gap:40px; }
  .trail-toc { padding:20px; }
}
@media (max-width:860px) {
  .trail-hero { padding-top:96px; padding-bottom:48px; }
  .trail-hero .section-intro { max-width:680px; }
  .trail-layout { grid-template-columns:minmax(0,1fr); gap:40px; }
  .trail-reading { padding-top:40px; padding-bottom:64px; }
  .trail-sidebar { position:static; max-height:none; overflow:visible; }
  .trail-toc { padding:16px 24px; }
  .trail-toc ol { columns:2; column-gap:32px; }
  .trail-toc li { break-inside:avoid; }
  .trail-prose > section + section { margin-top:48px; }
}
@media (max-width:560px) {
  .trail-hero { padding-top:96px; padding-bottom:40px; }
  .trail-crumb { margin-bottom:24px; gap:8px; font-size:12px; }
  .trail-hero h1 { font-size:var(--h1); line-height:1.35; }
  .trail-hero .section-intro { margin-top:20px; font-size:16px; }
  .trail-meta { gap:8px; margin-top:24px; padding:8px 10px; font-size:12px; }
  .trail-reading { padding-top:32px; padding-bottom:48px; }
  .trail-layout { gap:32px; }
  .trail-toc { padding:16px 20px; }
  .trail-toc ol { columns:1; }
  .trail-prose > section > h2 { font-size:22px; line-height:1.5; }
  .trail-prose > section + section { margin-top:40px; }
  .trail-table th,.trail-table td { padding:16px; }
  .trail-prose .trail-timeline { padding:20px 16px 20px 38px; }
  .trail-callout { padding:20px; }
  .trail-ledger { padding:20px; }
  .trail-ledger dl { gap:16px; }
  .trail-ledger dl > div { grid-template-columns:minmax(0,1fr); gap:4px; }
  .trail-final { margin-top:32px; padding:24px; }
  .trail-final-heading { align-items:flex-start; gap:12px; }
  .trail-final .actions { align-items:stretch; flex-direction:column; }
  .trail-recommend { width:calc(100% - 32px); }
  .trail-recommend .recommend-visual { padding:12px 48px 12px 16px; }
  .trail-recommend .recommend-copy { padding:16px; }
  .trail-recommend .recommend-copy p { font-size:13px; }
  .trail-recommend-actions { margin-top:12px; }
}


/* Timeline label and copy alignment. */
.timeline article { align-items:start; }
.timeline article h2,.timeline article h3 { margin-top:0; }


/* Shared article and access components. */
.article-cta { min-width:0; max-width:100%; }
.summit-access-sheet h2,
[data-code-pane] h2 { font-size:24px; line-height:1.4; margin-bottom:24px; }
