/* 卡栖 Cardeyra 官网 —— Liquid Glass / 夜幕
   深色：#0B1118 ~ #19212A，银蓝 #BDD5E5；浅色：纸白 #F6F8FA。自动跟随系统。 */

/* ───────── Tokens ───────── */
:root {
  color-scheme: light dark;
  --font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  --bg: #F6F8FA;
  --bg-2: #EAF0F5;
  --ink: #0B1118;
  --ink-2: #3F4D59;
  --ink-3: #5C6A76;
  --line: rgba(11, 17, 24, .10);
  --acc: #1B5C8A;
  --acc-2: #3D7FB0;
  --acc-soft: #BDD5E5;
  --acc-bg: rgba(61, 127, 176, .12);
  --acc-line: rgba(61, 127, 176, .28);
  --chip-bg: rgba(11, 17, 24, .06);
  --focus: #1C6AA8;

  --glass: rgba(255, 255, 255, .56);
  --glass-2: rgba(255, 255, 255, .78);
  --pop: rgba(255, 255, 255, .95);
  --rim-a: rgba(255, 255, 255, 1);
  --rim-b: rgba(255, 255, 255, .55);
  --rim-c: rgba(130, 165, 192, .22);
  --rim-d: rgba(255, 255, 255, .85);
  --sheen: rgba(255, 255, 255, .75);
  --shadow: 0 0 0 1px rgba(40, 72, 104, .07), 0 1px 2px rgba(24, 52, 80, .06), 0 22px 44px -26px rgba(24, 52, 80, .38);
  --shadow-up: 0 0 0 1px rgba(40, 72, 104, .09), 0 2px 4px rgba(24, 52, 80, .08), 0 30px 60px -28px rgba(24, 52, 80, .5);

  --btn-bg: #0B1118;
  --btn-ink: #F6F8FA;
  --btn-glass: rgba(255, 255, 255, .6);
  --field: rgba(255, 255, 255, .7);
  --field-line: rgba(11, 17, 24, .14);
  --ok-bg: rgba(31, 140, 110, .12);
  --ok-ink: #17694F;
  --err-bg: rgba(193, 52, 44, .10);
  --err-ink: #A32A22;
  --down-bg: rgba(31, 140, 110, .13);
  --down-ink: #17694F;
  --danger: #C2362D;

  --grad-a: #1B5C8A;
  --grad-b: #5E9BC8;

  --orb-1: rgba(112, 168, 214, .62);
  --orb-2: rgba(150, 168, 232, .52);
  --orb-3: rgba(110, 192, 214, .46);

  --r-xl: 36px;
  --r-lg: 28px;
  --r-md: 22px;
  --r-sm: 16px;
  --wrap: 1120px;
  --ease: cubic-bezier(.2, .7, .2, 1);
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0B1118;
    --bg-2: #19212A;
    --ink: #F2F6F9;
    --ink-2: rgba(232, 239, 245, .76);
    --ink-3: rgba(232, 239, 245, .58);
    --line: rgba(232, 239, 245, .12);
    --acc: #BDD5E5;
    --acc-2: #8DB6D2;
    --acc-soft: #BDD5E5;
    --acc-bg: rgba(189, 213, 229, .12);
    --acc-line: rgba(189, 213, 229, .28);
    --chip-bg: rgba(232, 239, 245, .09);
    --focus: #8CC4EE;

    --glass: rgba(30, 41, 54, .46);
    --glass-2: rgba(24, 33, 44, .82);
    --pop: rgba(21, 29, 39, .96);
    --rim-a: rgba(255, 255, 255, .42);
    --rim-b: rgba(255, 255, 255, .07);
    --rim-c: rgba(189, 213, 229, .05);
    --rim-d: rgba(189, 213, 229, .26);
    --sheen: rgba(255, 255, 255, .11);
    --shadow: 0 1px 0 rgba(255, 255, 255, .05) inset, 0 26px 50px -24px rgba(0, 0, 0, .75);
    --shadow-up: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 34px 70px -26px rgba(0, 0, 0, .85);

    --btn-bg: linear-gradient(180deg, #E4EFF6, #BDD5E5);
    --btn-ink: #0B1118;
    --btn-glass: rgba(255, 255, 255, .09);
    --field: rgba(255, 255, 255, .06);
    --field-line: rgba(232, 239, 245, .18);
    --ok-bg: rgba(72, 200, 160, .14);
    --ok-ink: #8BE3C5;
    --err-bg: rgba(255, 110, 100, .13);
    --err-ink: #FFA59D;
    --down-bg: rgba(72, 200, 160, .15);
    --down-ink: #8BE3C5;
    --danger: #D64A40;

    --grad-a: #F2F6F9;
    --grad-b: #9CC3DE;

    --orb-1: rgba(72, 124, 184, .58);
    --orb-2: rgba(52, 92, 156, .5);
    --orb-3: rgba(110, 160, 210, .26);
  }
}

/* ───────── Base ───────── */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 92px; }
body {
  margin: 0; position: relative; overflow-x: clip;
  background: transparent; color: var(--ink);
  font: 400 17px/1.6 var(--font);
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  min-height: 100vh; display: flex; flex-direction: column;
}
main { flex: 1 0 auto; }
html:lang(zh-Hant) body { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang TC", "Microsoft JhengHei", "Noto Sans CJK TC", "Segoe UI", sans-serif; }
html:lang(ja) body { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, "Noto Sans CJK JP", sans-serif; }
html:lang(ko) body { word-break: keep-all; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans CJK KR", sans-serif; }
h1, h2, h3, h4, p, ul, ol, figure, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
img, svg { display: block; max-width: 100%; }
a { color: var(--acc); text-decoration: none; text-underline-offset: .2em; }
a:hover { text-decoration: underline; }
button, input, select, textarea { font: inherit; color: inherit; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: 10px; }
::selection { background: var(--acc-soft); color: #0B1118; }
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.ic { width: 1.25em; height: 1.25em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.wrap { width: min(var(--wrap), 100% - 32px); margin-inline: auto; }
.wrap.narrow, .narrow { max-width: 760px; }
.wrap.narrow { width: min(760px, 100% - 32px); }
.center { text-align: center; }
.skip { position: absolute; left: 16px; top: -80px; z-index: 200; padding: 10px 16px; border-radius: 12px; background: var(--ink); color: var(--bg); font-weight: 600; }
.skip:focus { top: 12px; text-decoration: none; }

/* ───────── Background ───────── */
.bg { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
html { background: var(--bg); }
.bg::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 0, var(--bg-2) 100%); opacity: .55; }
.orb { position: absolute; border-radius: 50%; width: min(96vw, 1100px); aspect-ratio: 1; }
.o1 { top: -16vw; right: -14vw; background: radial-gradient(closest-side, var(--orb-1), transparent); }
.o2 { top: 30%; left: -26vw; background: radial-gradient(closest-side, var(--orb-2), transparent); }
.o3 { top: 62%; right: -22vw; background: radial-gradient(closest-side, var(--orb-3), transparent); }

/* ───────── Liquid Glass ───────── */
.glass, .hint, .pop-list {
  position: relative; isolation: isolate;
  background: var(--glass);
  -webkit-backdrop-filter: blur(26px) saturate(1.8);
  backdrop-filter: blur(26px) saturate(1.8);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow);
}
.glass::before, .nav::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; pointer-events: none; z-index: 2;
  background: linear-gradient(150deg, var(--rim-a) 0%, var(--rim-b) 26%, var(--rim-c) 60%, var(--rim-d) 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
}
.glass::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: -1;
  background: radial-gradient(130% 80% at 10% -12%, var(--sheen), transparent 56%);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .glass, .hint, .pop-list { background: var(--glass-2); }
}

/* ───────── Nav（悬浮胶囊，滚动后变玻璃） ───────── */
.nav-wrap { position: sticky; top: 0; z-index: 60; padding: max(12px, env(safe-area-inset-top)) 16px 0; pointer-events: none; }
.nav {
  pointer-events: auto; position: relative; isolation: isolate;
  width: min(var(--wrap), 100%); height: 60px; margin-inline: auto; padding: 0 10px 0 16px;
  display: flex; align-items: center; gap: 12px; border-radius: 999px;
}
.nav::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: -1;
  background: var(--glass); box-shadow: var(--shadow);
  -webkit-backdrop-filter: blur(22px) saturate(1.7); backdrop-filter: blur(22px) saturate(1.7);
  opacity: .72; transition: opacity .35s var(--ease), box-shadow .35s var(--ease);
}
.nav.is-scrolled::before { opacity: 1; background: var(--glass-2); box-shadow: var(--shadow-up); }
.nav::after { opacity: .8; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); font-weight: 700; font-size: 18px; letter-spacing: -.01em; }
.brand:hover { text-decoration: none; }
.brand-icon { width: 32px; height: 32px; border-radius: 22.4%; box-shadow: 0 0 0 .5px rgba(11, 17, 24, .15), 0 4px 10px -4px rgba(11, 17, 24, .35); }
.nav-links { display: none; margin-inline: auto; gap: 2px; }
.nav-links a { display: block; padding: 8px 15px; border-radius: 999px; font-size: 15px; font-weight: 500; color: var(--ink-2); transition: background .2s, color .2s; }
.nav-links a:hover { text-decoration: none; background: var(--chip-bg); color: var(--ink); }
.nav-links a[aria-current="page"], .nav-links a.on { color: var(--ink); background: var(--chip-bg); }
.nav-actions { margin-left: auto; display: flex; align-items: center; gap: 6px; }
.pop { position: relative; }
.pop > summary {
  list-style: none; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  min-width: 42px; height: 42px; padding: 0 10px; border-radius: 999px; color: var(--ink-2); font-size: 14px; font-weight: 500;
  transition: background .2s;
}
.pop > summary::-webkit-details-marker { display: none; }
.pop > summary:hover, .pop[open] > summary { background: var(--chip-bg); color: var(--ink); }
.lang-cur { display: none; }
.pop-list {
  position: absolute; top: calc(100% + 12px); right: 0; z-index: 5; min-width: 188px; padding: 8px;
  border-radius: 24px; background: var(--pop); box-shadow: var(--shadow-up);
  animation: pop-in .22s var(--ease);
}
.pop-list a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 14px; border-radius: 14px; color: var(--ink); font-size: 15px; font-weight: 500; }
.pop-list a:hover { background: var(--chip-bg); text-decoration: none; }
.pop-list a[aria-current] { color: var(--acc); }
@keyframes pop-in { from { opacity: 0; transform: translateY(-6px) scale(.98); } }
.nav-cta { margin-left: 2px; }
.menu { display: block; }

.hint {
  z-index: 70; display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: 0;
  padding: 9px 52px 9px 16px; font-size: 14px; line-height: 1.4; text-align: center;
  background: var(--glass-2); box-shadow: 0 1px 0 var(--line);
}
.hint p { margin: 0; }
.hint a { font-weight: 650; white-space: nowrap; text-decoration: underline; text-underline-offset: 3px; }
.hint-x { position: absolute; right: 10px; top: 50%; translate: 0 -50%; width: 32px; height: 32px; display: grid; place-items: center; border: 0; background: transparent; color: var(--ink-3); border-radius: 50%; cursor: pointer; }
.hint-x:hover { background: var(--chip-bg); color: var(--ink); }

/* ───────── Buttons / chips ───────── */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px; height: 46px; padding: 0 22px;
  border: 0; border-radius: 999px; font-size: 16px; font-weight: 600; letter-spacing: -.005em; cursor: pointer; white-space: nowrap;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), filter .2s, background .2s;
}
.btn:hover { text-decoration: none; transform: translateY(-1px); }
.btn:active { transform: scale(.98); }
.btn-sm { height: 40px; padding: 0 16px; font-size: 14.5px; }
.btn-lg { height: 56px; padding: 0 28px; font-size: 17px; }
.btn-primary { background: var(--btn-bg); color: var(--btn-ink); box-shadow: 0 1px 0 rgba(255, 255, 255, .35) inset, 0 12px 26px -12px rgba(11, 17, 24, .55); }
.btn-primary:hover { filter: brightness(1.08); color: var(--btn-ink); }
@media (prefers-color-scheme: dark) { .btn-primary { box-shadow: 0 1px 0 rgba(255, 255, 255, .7) inset, 0 12px 30px -10px rgba(141, 182, 210, .5); } }
.btn-glass {
  color: var(--ink); background: var(--btn-glass);
  -webkit-backdrop-filter: blur(18px) saturate(1.6); backdrop-filter: blur(18px) saturate(1.6);
  box-shadow: 0 0 0 1px var(--field-line) inset, 0 8px 20px -12px rgba(11, 17, 24, .25);
}
.btn-glass:hover { color: var(--ink); background: var(--glass-2); }
.btn-danger { background: var(--danger); color: #fff; box-shadow: 0 10px 24px -12px rgba(194, 54, 45, .7); }
.btn-danger:hover { color: #fff; filter: brightness(1.08); }
.btn[disabled] { opacity: .55; cursor: progress; transform: none; }
.link-arrow { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.link-arrow .ic { transition: transform .25s var(--ease); }
.link-arrow:hover .ic { transform: translateX(3px); }
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px; padding: 6px 13px 6px 11px; border-radius: 999px;
  font-size: 13px; font-weight: 600; letter-spacing: .02em; color: var(--acc); background: var(--acc-bg); box-shadow: 0 0 0 1px var(--acc-line) inset;
}
.eyebrow .ic { width: 16px; height: 16px; }
.pill { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 999px; font-size: 12.5px; font-weight: 600; background: var(--chip-bg); color: var(--ink-2); white-space: nowrap; }
.pill .ic { width: 14px; height: 14px; }
.pill-acc { background: var(--acc-bg); color: var(--acc); box-shadow: 0 0 0 1px var(--acc-line) inset; }
.pill-down { background: var(--down-bg); color: var(--down-ink); }
.fine { font-size: 13.5px; color: var(--ink-3); }

/* ───────── Type ───────── */
.display { font-size: clamp(38px, 9.4vw, 84px); line-height: 1.06; font-weight: 800; letter-spacing: -.02em; margin: 18px 0 20px; text-wrap: balance; }
.display .l1, .display .l2 { display: block; }
.display .l2 { background: linear-gradient(100deg, var(--grad-a) 10%, var(--grad-b)); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: .08em; }
html:lang(en) .display, html:lang(fr) .display, html:lang(es) .display { font-size: clamp(32px, 8.6vw, 80px); letter-spacing: -.035em; }
html:lang(de) .display { font-size: clamp(36px, 9vw, 84px); letter-spacing: -.035em; }
html:lang(ja) .display, html:lang(ko) .display { font-size: clamp(31px, 8.4vw, 78px); letter-spacing: -.01em; }
.h1 { font-size: clamp(34px, 6.4vw, 64px); line-height: 1.1; font-weight: 800; letter-spacing: -.03em; margin: 16px 0 14px; text-wrap: balance; }
html:lang(zh-Hans) .h1, html:lang(zh-Hant) .h1, html:lang(ja) .h1, html:lang(ko) .h1 { letter-spacing: -.015em; }
h2 { font-size: clamp(28px, 4.6vw, 46px); line-height: 1.14; font-weight: 750; letter-spacing: -.028em; text-wrap: balance; }
.h3 { font-size: clamp(21px, 2.6vw, 26px); line-height: 1.25; font-weight: 700; letter-spacing: -.02em; }
html:lang(zh-Hans) h2, html:lang(zh-Hant) h2, html:lang(ja) h2, html:lang(ko) h2 { letter-spacing: -.012em; }
h3 { font-size: 18px; line-height: 1.3; font-weight: 650; letter-spacing: -.01em; }
.lead { font-size: clamp(17px, 2.1vw, 21px); line-height: 1.55; color: var(--ink-2); max-width: 40em; text-wrap: pretty; }
.center .lead, .section-head:not(.left) .lead { margin-inline: auto; }

/* ───────── Sections ───────── */
.section { padding: clamp(48px, 7vw, 92px) 0; position: relative; }
.section.tight { padding-top: 0; }
.section-head { display: grid; gap: 14px; justify-items: center; text-align: center; margin-bottom: clamp(32px, 5vw, 56px); }
.section-head.left { justify-items: start; text-align: left; margin-bottom: clamp(20px, 3vw, 32px); }
.page-hero { padding: clamp(40px, 8vw, 88px) 0 clamp(28px, 5vw, 48px); }
.page-hero .wrap > * { margin-inline: auto; }
.page-hero:not(.doc-hero) .wrap { text-align: center; }
.doc-hero .wrap > * { margin-inline: 0; }

/* ───────── Hero ───────── */
.hero { padding: clamp(28px, 6vw, 72px) 0 clamp(36px, 6vw, 80px); overflow-x: clip; }
.hero-grid { display: grid; gap: 40px; align-items: center; }
.cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.cta-row.center { justify-content: center; }
.hero .fine { margin-top: 16px; }
.hero-visual { position: relative; padding: 18px 0 70px; }
.tilt { -webkit-mask-image: linear-gradient(180deg, #000 0, #000 74%, transparent 100%); mask-image: linear-gradient(180deg, #000 0, #000 74%, transparent 100%); transform: perspective(1500px) rotateX(var(--rx, 7deg)) rotateY(var(--ry, -10deg)) rotateZ(var(--rz, 1.2deg)); transition: transform .35s var(--ease); transform-origin: 50% 40%; }
.stack { position: relative; width: min(100%, 410px); height: 520px; margin-inline: auto; }
.sc {
  position: absolute; left: 14px; right: 14px; padding: 20px 22px; border-radius: 30px; color: #fff; overflow: hidden;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .45) inset, 0 -1px 0 rgba(0, 0, 0, .1) inset, 0 28px 46px -20px rgba(0, 0, 0, .5);
  translate: calc(var(--px, 0) * var(--d, 1) * 14px) calc(var(--py, 0) * var(--d, 1) * 9px);
  transition: translate .3s var(--ease);
}
.sc::after { content: ""; position: absolute; inset: 0; background: radial-gradient(120% 90% at 0% 0%, rgba(255, 255, 255, .3), transparent 55%); pointer-events: none; }
.sc-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.sc-name { font-size: 19px; font-weight: 700; letter-spacing: -.01em; }
.sc-due { font-size: 14px; font-weight: 600; opacity: .85; white-space: nowrap; }
.sc-line { margin-top: 14px; font-size: 14.5px; opacity: .88; font-variant-numeric: tabular-nums; }
.sc-1 { --d: .4; left: 0; right: 0; top: 0; height: 244px; z-index: 1; color: #0B1118; background: linear-gradient(152deg, #F7FAFC 0%, #DFE9F1 52%, #BDD0DF 100%); padding: 22px 24px; }
.sc-1 .sc-due { opacity: .62; }
.sc-plan { margin-top: 16px; font-size: 15px; color: rgba(11, 17, 24, .62); }
.sc-price { margin-top: 10px; font-size: 40px; line-height: 1.05; font-weight: 800; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.sc-next { margin-top: 6px; font-size: 14px; color: rgba(11, 17, 24, .62); }
.sc-btn { position: absolute; left: 24px; bottom: 22px; display: inline-flex; align-items: center; gap: 2px; height: 34px; padding: 0 12px 0 16px; border-radius: 999px; background: #0B1118; color: #fff; font-size: 14px; font-weight: 650; }
.sc-btn .ic { width: 16px; height: 16px; stroke-width: 2.2; }
.sc-glyph { position: absolute; right: 22px; bottom: 26px; width: 104px; height: 104px; color: #0B1118; stroke-width: 1.05; opacity: .88; }
.sc-2 { --d: .8; top: 256px; height: 160px; z-index: 2; background: linear-gradient(162deg, #E58E6B 0%, #C25A3C 100%); }
.sc-3 { --d: 1.2; top: 340px; height: 160px; z-index: 3; background: linear-gradient(162deg, #8966CC 0%, #5A3EA2 100%); left: 22px; right: 22px; }
.sc-4 { --d: 1.6; top: 424px; height: 160px; z-index: 4; background: linear-gradient(162deg, #4F80E2 0%, #22479F 100%); left: 30px; right: 30px; }
.chip { position: absolute; z-index: 6; display: flex; align-items: center; gap: 12px; padding: 10px 18px 10px 10px; border-radius: 999px; }
.chip-ic { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--acc-bg); color: var(--acc); box-shadow: 0 0 0 1px var(--acc-line) inset; }
.chip-tx { display: grid; line-height: 1.25; }
.chip-tx b { font-size: 14px; font-weight: 650; }
.chip-tx span { font-size: 12.5px; color: var(--ink-3); font-variant-numeric: tabular-nums; }
.chip-a { bottom: 64px; left: 4px; }
.chip-b { bottom: 4px; right: 4px; }
@media (prefers-reduced-motion: no-preference) {
  .chip-a { animation: float 7s ease-in-out infinite; }
  .chip-b { animation: float 8s ease-in-out -3s infinite; }
  .chip-c { animation: float 9s ease-in-out -5s infinite; }
}
@keyframes float { 50% { transform: translateY(-8px); } }

/* ───────── Strip ───────── */
.strip { padding: 0 0 clamp(24px, 4vw, 40px); }
.strip-list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; padding: 20px 24px; border-radius: var(--r-lg); }
.strip-list li { display: flex; align-items: center; gap: 12px; font-size: 14.5px; font-weight: 550; color: var(--ink-2); line-height: 1.35; }
.strip-list .ic { color: var(--acc); width: 22px; height: 22px; }

/* ───────── Showcase / phone ───────── */
.showcase-grid, .split { display: grid; gap: clamp(36px, 6vw, 72px); align-items: center; }
.phone-wrap { position: relative; display: grid; justify-items: center; padding-block: 8px; }
.phone {
  position: relative; width: min(296px, 78vw); aspect-ratio: 840 / 1826; padding: 9px; border-radius: 54px;
  background: linear-gradient(140deg, #4A535E 0%, #171D24 28%, #0B0F14 60%, #3A434D 100%);
  box-shadow: 0 0 0 1.5px rgba(255, 255, 255, .22) inset, 0 0 0 1px rgba(0, 0, 0, .5), 0 50px 90px -34px rgba(11, 17, 24, .65), 0 0 90px -20px rgba(120, 170, 210, .35);
}
.phone::before, .phone::after { content: ""; position: absolute; width: 4px; border-radius: 3px; background: linear-gradient(90deg, #2A3139, #5A6470); }
.phone::before { left: -4px; top: 19%; height: 9%; box-shadow: 0 64px 0 #3C444E; }
.phone::after { right: -4px; top: 26%; height: 14%; }
.phone img { width: 100%; height: 100%; object-fit: cover; border-radius: 45px; background: #F6F8FA; }
.chip-c { left: 0; bottom: 12%; }
.ticks { display: grid; gap: 18px; }
.ticks li { display: flex; gap: 14px; align-items: flex-start; }
.ticks h3 { margin-bottom: 4px; }
.ticks p { color: var(--ink-2); font-size: 16px; }
.tick { flex: none; display: grid; place-items: center; width: 30px; height: 30px; margin-top: 1px; border-radius: 50%; background: var(--acc-bg); color: var(--acc); box-shadow: 0 0 0 1px var(--acc-line) inset; }
.tick .ic { width: 16px; height: 16px; stroke-width: 2.2; }

/* ───────── Feature grid ───────── */
.feature-grid { display: grid; grid-template-columns: 1fr; gap: 14px; }
.feature { padding: 24px; display: grid; gap: 10px; align-content: start; transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.feature:hover { transform: translateY(-3px); box-shadow: var(--shadow-up); }
.feature p { font-size: 15.5px; color: var(--ink-2); line-height: 1.55; }
.feature-ic {
  display: grid; place-items: center; width: 46px; height: 46px; border-radius: 15px; color: var(--acc); flex: none;
  background: linear-gradient(150deg, var(--acc-bg), rgba(255, 255, 255, .04)); box-shadow: 0 0 0 1px var(--acc-line) inset, 0 8px 18px -10px rgba(61, 127, 176, .5);
}
.feature-ic .ic { width: 24px; height: 24px; }

/* ───────── Privacy ───────── */
.privacy-grid { display: grid; gap: 16px; }
.vault { padding: 28px 22px 22px; display: grid; gap: 26px; align-content: center; }
.vault-row { display: flex; align-items: center; gap: 6px; }
.vault-node { display: grid; justify-items: center; gap: 12px; text-align: center; font-size: 14px; font-weight: 600; color: var(--ink-2); width: 92px; flex: none; }
.vault-node .ic { width: 64px; height: 64px; padding: 16px; border-radius: 22px; color: var(--acc); background: var(--acc-bg); box-shadow: 0 0 0 1px var(--acc-line) inset; }
.vault-link { flex: 1; display: flex; align-items: center; min-width: 0; margin-bottom: 28px; }
.vault-link i { flex: 1; height: 2px; background: repeating-linear-gradient(90deg, var(--acc-2) 0 6px, transparent 6px 12px); opacity: .7; }
.vault-lock { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; color: var(--btn-ink); background: var(--btn-bg); flex: none; margin-inline: 4px; box-shadow: 0 8px 20px -8px rgba(11, 17, 24, .6); }
.vault-lock .ic { width: 20px; height: 20px; }
.vault-note { display: flex; align-items: center; gap: 10px; justify-content: center; padding: 12px 16px; border-radius: 16px; background: var(--chip-bg); font-size: 14px; font-weight: 550; color: var(--ink-2); text-align: left; line-height: 1.4; }
.vault-note .ic { color: var(--acc); }
@media (prefers-reduced-motion: no-preference) { .vault-link i { background-size: 12px 2px; animation: dash 1.2s linear infinite; } }
@keyframes dash { to { background-position: 12px 0; } }
.privacy-cards { display: grid; gap: 14px; }
.privacy-cards li { padding: 20px; display: flex; gap: 16px; align-items: flex-start; border-radius: var(--r-md); }
.privacy-cards p { font-size: 15px; color: var(--ink-2); margin-top: 4px; }
.badges { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 28px; }
.badges li { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px 9px 12px; border-radius: 999px; font-size: 14.5px; font-weight: 600; color: var(--ink-2); background: var(--chip-bg); box-shadow: 0 0 0 1px var(--line) inset; }
.badges .ic { color: var(--acc); width: 18px; height: 18px; stroke-width: 2.2; }
.more { margin-top: 28px; text-align: center; }

/* ───────── Price watch ───────── */
.watch { padding: 26px; display: grid; gap: 18px; }
.watch-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.watch-title { font-weight: 700; font-size: 18px; }
.watch-sub { font-size: 14px; color: var(--ink-3); }
.watch-now { display: flex; align-items: baseline; gap: 14px; font-variant-numeric: tabular-nums; }
.watch-now .now { font-size: 46px; line-height: 1; font-weight: 800; letter-spacing: -.03em; }
.watch-now .was { font-size: 18px; color: var(--ink-3); text-decoration: line-through; order: 2; }
.spark { width: 100%; height: 96px; color: var(--acc-2); }
.watch-rows li { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid var(--line); font-size: 15px; color: var(--ink-2); }
.watch-rows b { color: var(--ink); font-variant-numeric: tabular-nums; }

/* ───────── Widgets ───────── */
.widget-board { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; max-width: 420px; width: 100%; margin-inline: auto; }
.w { position: relative; border-radius: 30px; padding: 18px; display: grid; align-content: space-between; aspect-ratio: 1; overflow: hidden; }
.w-due { color: #fff; background: linear-gradient(162deg, #E58E6B 0%, #C25A3C 100%); box-shadow: 0 1px 0 rgba(255, 255, 255, .4) inset, 0 26px 40px -22px rgba(194, 90, 60, .7); }
.w-due::after { content: ""; position: absolute; inset: 0; background: radial-gradient(120% 90% at 0% 0%, rgba(255, 255, 255, .3), transparent 55%); }
.w-label { font-size: 13px; font-weight: 600; opacity: .8; }
.glass .w-label, .w-stat .w-label { color: var(--ink-3); opacity: 1; }
.w-big { font-size: clamp(30px, 9vw, 48px); line-height: 1; font-weight: 800; letter-spacing: -.03em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.w-big.sm { font-size: 30px; }
.w-sub { font-size: 13.5px; opacity: .88; }
.glass .w-sub { color: var(--ink-3); opacity: 1; }
.w-stat { grid-column: 1 / -1; aspect-ratio: auto; min-height: 168px; gap: 16px; }
.w-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.w-bars { display: flex; align-items: flex-end; gap: 10px; height: 58px; }
.w-bars i { flex: 1; border-radius: 8px; background: linear-gradient(180deg, var(--acc-2), var(--acc-bg)); opacity: .9; }
.w-bars .b1 { height: 38%; } .w-bars .b2 { height: 62%; } .w-bars .b3 { height: 46%; } .w-bars .b4 { height: 80%; } .w-bars .b5 { height: 64%; } .w-bars .b6 { height: 96%; }

/* ───────── Covers ───────── */
.cover-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.cover { padding: 12px 12px 14px; display: grid; gap: 10px; border-radius: var(--r-md); text-align: center; font-size: 14px; font-weight: 600; color: var(--ink-2); }
.cover img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 14px; }

/* ───────── Pro / plans ───────── */
.compare { display: grid; gap: 16px; }
.plan { padding: clamp(24px, 4vw, 36px); display: grid; gap: 14px; align-content: start; }
.plan-head, .price-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; }
.plan-head h3, .price-top h2 { white-space: nowrap; }
.plan h3, .plan .h3 { font-size: 24px; letter-spacing: -.02em; }
.plan-sub { color: var(--ink-3); font-size: 15.5px; }
.plan-pro { --rim-a: var(--acc-soft); --rim-d: var(--acc-2); box-shadow: var(--shadow-up), 0 0 0 1px var(--acc-line); }
.plan-pro::after { background: radial-gradient(120% 70% at 12% -10%, var(--acc-bg), transparent 60%), radial-gradient(130% 80% at 10% -12%, var(--sheen), transparent 56%); }
.check-list { display: grid; gap: 12px; margin-top: 4px; }
.check-list li { display: flex; gap: 11px; align-items: flex-start; font-size: 15.5px; color: var(--ink-2); line-height: 1.45; }
.check-list .ic { color: var(--acc); width: 20px; height: 20px; margin-top: 1px; stroke-width: 2.2; }
.price-line { display: flex; gap: 28px; margin: 10px 0 6px; }
.price-line p { display: grid; }
.price-line b { font-size: 30px; line-height: 1.1; font-weight: 800; letter-spacing: -.03em; }
.price-line span { font-size: 13.5px; color: var(--ink-3); }
.plan .btn { justify-self: start; margin-top: 8px; }
.pricing { display: grid; gap: 16px; max-width: 920px; margin-inline: auto; }
.price-card { padding: clamp(26px, 4vw, 38px); display: grid; gap: 4px; align-content: start; }
.price-card h2 { font-size: 22px; letter-spacing: -.02em; }
.price-card .amount { font-size: clamp(44px, 7vw, 60px); line-height: 1.05; font-weight: 800; letter-spacing: -.035em; margin-top: 18px; font-variant-numeric: tabular-nums; }
.price-card .unit { color: var(--ink-3); font-size: 15px; margin-bottom: 18px; }
.price-card .check-list { margin-bottom: 22px; }
.price-card .btn { justify-self: stretch; }
.price-card.featured { --rim-a: var(--acc-soft); --rim-d: var(--acc-2); box-shadow: var(--shadow-up), 0 0 0 1px var(--acc-line); }
.price-card.featured::after { background: radial-gradient(120% 60% at 15% -10%, var(--acc-bg), transparent 62%), radial-gradient(130% 80% at 10% -12%, var(--sheen), transparent 56%); }
.pricing + .fine, .fine.center { margin-top: 22px; max-width: 720px; margin-inline: auto; text-align: center; }

/* ───────── FAQ ───────── */
.faq { display: grid; gap: 12px; }
.faq-item { border-radius: var(--r-md); }
.faq-item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 19px 22px; font-weight: 650; font-size: 17px; line-height: 1.4; border-radius: var(--r-md); }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary .ic { color: var(--ink-3); transition: transform .3s var(--ease); }
.faq-item[open] summary .ic { transform: rotate(90deg); color: var(--acc); }
.faq-a { padding: 0 22px 22px; color: var(--ink-2); font-size: 16px; line-height: 1.65; }

/* ───────── CTA ───────── */
.cta-section { padding-top: clamp(32px, 5vw, 56px); }
.cta-card { display: grid; justify-items: center; gap: 16px; text-align: center; padding: clamp(36px, 7vw, 72px) clamp(20px, 5vw, 56px); border-radius: var(--r-xl); overflow: hidden; }
.cta-card::after { background: radial-gradient(70% 90% at 50% -20%, var(--acc-bg), transparent 70%), radial-gradient(130% 80% at 10% -12%, var(--sheen), transparent 56%); }
.cta-icon { width: 88px; height: 88px; border-radius: 22.4%; box-shadow: 0 0 0 .5px rgba(11, 17, 24, .15), 0 24px 40px -16px rgba(11, 17, 24, .5); }
.cta-card .lead { max-width: 30em; }
.cta-card .cta-row { margin-top: 10px; }

/* ───────── Footer ───────── */
.footer { position: relative; margin-top: 24px; padding: 56px 0 40px; border-top: 1px solid var(--line); background: linear-gradient(180deg, transparent, var(--chip-bg)); }
.footer-top { display: grid; gap: 36px; }
.footer-brand p { margin-top: 14px; color: var(--ink-3); font-size: 14.5px; max-width: 26em; }
.footer-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 16px; }
.footer-cols ul { display: grid; gap: 10px; align-content: start; }
.foot-h { font-size: 13px; font-weight: 700; letter-spacing: .04em; color: var(--ink-3); text-transform: uppercase; margin-bottom: 4px; }
.footer-cols a { color: var(--ink-2); font-size: 15px; overflow-wrap: anywhere; }
.footer-cols a:hover { color: var(--ink); }
.footer-langs { display: flex; flex-wrap: wrap; gap: 6px 4px; margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--line); }
.footer-langs a { display: block; padding: 6px 12px; border-radius: 999px; font-size: 14px; color: var(--ink-2); }
.footer-langs a:hover { background: var(--chip-bg); text-decoration: none; }
.footer-langs a[aria-current] { background: var(--chip-bg); color: var(--ink); font-weight: 650; }
.footer-bottom { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-top: 22px; font-size: 13.5px; color: var(--ink-3); }
.footer-bottom a { color: var(--ink-3); text-decoration: underline; text-underline-offset: 3px; }
.apple-note { flex-basis: 100%; }

/* ───────── Doc (legal) ───────── */
.doc-hero { padding-bottom: 28px; }
.doc-meta { color: var(--ink-3); font-size: 15px; font-variant-numeric: tabular-nums; }
.doc-grid { display: grid; gap: 16px; padding-bottom: clamp(56px, 8vw, 96px); align-items: start; }
.toc { padding: 6px; border-radius: var(--r-md); }
.toc summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; font-weight: 700; font-size: 15px; border-radius: 16px; }
.toc summary::-webkit-details-marker { display: none; }
.toc summary::after { content: ""; width: 9px; height: 9px; border-right: 2px solid var(--ink-3); border-bottom: 2px solid var(--ink-3); rotate: 45deg; translate: 0 -2px; transition: rotate .25s; }
.toc[open] summary::after { rotate: -135deg; translate: 0 2px; }
.toc ol { display: grid; gap: 2px; padding: 0 6px 10px; counter-reset: t; }
.toc li a { display: block; padding: 8px 12px; border-radius: 12px; font-size: 14.5px; line-height: 1.4; color: var(--ink-2); }
.toc li a:hover { background: var(--chip-bg); color: var(--ink); text-decoration: none; }
.doc { padding: clamp(22px, 4.5vw, 52px); min-width: 0; }
.prose { font-size: 16.5px; line-height: 1.8; color: var(--ink-2); overflow-wrap: anywhere; }
.prose > :first-child { margin-top: 0; }
.prose h2 { font-size: clamp(22px, 3vw, 28px); line-height: 1.25; letter-spacing: -.02em; color: var(--ink); margin: 2.2em 0 .6em; scroll-margin-top: 92px; }
.prose h3 { font-size: 18.5px; color: var(--ink); margin: 1.6em 0 .4em; }
.prose p { margin: .8em 0; }
.prose ul, .prose ol { margin: .8em 0; padding-left: 1.4em; }
.prose ul { list-style: disc; }
.prose ol { list-style: decimal; }
.prose li { margin: .35em 0; padding-left: .2em; }
.prose li::marker { color: var(--acc); }
.prose strong { color: var(--ink); font-weight: 650; }
.prose a { text-decoration: underline; text-underline-offset: 3px; }
.prose blockquote { margin: 1em 0; padding: 4px 18px; border-left: 3px solid var(--acc-line); color: var(--ink-3); }
.prose hr { border: 0; border-top: 1px solid var(--line); margin: 2em 0 1.2em; }
.prose code { font-family: var(--mono); font-size: .9em; padding: .15em .4em; border-radius: 6px; background: var(--chip-bg); }
.prose pre { overflow-x: auto; padding: 16px; border-radius: 14px; background: var(--chip-bg); }
.prose pre code { padding: 0; background: none; }
.table-wrap { overflow-x: auto; margin: 1.1em 0; border-radius: 14px; box-shadow: 0 0 0 1px var(--line) inset; -webkit-overflow-scrolling: touch; }
.prose table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 14.5px; line-height: 1.55; }
.prose th, .prose td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.prose thead th { background: var(--chip-bg); color: var(--ink); font-weight: 650; white-space: nowrap; }
.prose tbody tr:last-child td { border-bottom: 0; }
.contact-line { padding: 14px 18px; border-radius: 14px; background: var(--acc-bg); }
.doc-foot { display: flex; flex-wrap: wrap; gap: 10px 28px; font-size: 15px; }

/* ───────── Forms / support / delete ───────── */
.support-grid { display: grid; gap: 18px; align-items: start; }
.contact-cards { display: grid; gap: 14px; }
.contact-cards li { display: flex; gap: 16px; align-items: flex-start; padding: 20px; border-radius: var(--r-md); }
.contact-cards p { font-size: 15px; color: var(--ink-2); margin-top: 4px; line-height: 1.55; }
.contact-cards a, .faq-a a { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: color-mix(in srgb, currentColor 45%, transparent); }
.form { padding: clamp(22px, 4vw, 36px); display: grid; gap: 4px; }
.form.flat { padding: 0; margin-top: 20px; }
.form .h3 { margin-bottom: 14px; }
.field { display: grid; gap: 8px; margin-bottom: 18px; }
.field label { font-size: 14.5px; font-weight: 650; }
.opt { font-weight: 500; color: var(--ink-3); margin-left: 6px; }
.field-hint { font-size: 13px; color: var(--ink-3); line-height: 1.45; }
input[type="email"], input[type="text"], select, textarea {
  width: 100%; min-height: 50px; padding: 0 16px; border-radius: var(--r-sm); border: 1px solid var(--field-line); background: var(--field);
  font-size: 16px; line-height: 1.4; transition: border-color .2s, box-shadow .2s;
}
textarea { padding: 14px 16px; min-height: 150px; resize: vertical; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--focus); box-shadow: 0 0 0 4px color-mix(in srgb, var(--focus) 28%, transparent); }
input::placeholder, textarea::placeholder { color: var(--ink-3); opacity: 1; }
.select { position: relative; }
.select select { appearance: none; -webkit-appearance: none; padding-right: 44px; cursor: pointer; }
.select .ic { position: absolute; right: 16px; top: 50%; translate: 0 -50%; rotate: 90deg; pointer-events: none; color: var(--ink-3); width: 18px; height: 18px; }
.code-input { font-family: var(--mono); font-size: 24px; letter-spacing: .4em; text-align: center; max-width: 260px; }
.check { display: flex; gap: 12px; align-items: flex-start; margin: 4px 0 18px; font-size: 15px; line-height: 1.5; color: var(--ink-2); cursor: pointer; }
.check input { width: 22px; height: 22px; margin: 1px 0 0; flex: none; accent-color: var(--danger); }
.btn-row { display: flex; flex-wrap: wrap; gap: 10px; }
.form-status { margin-top: 16px; padding: 13px 16px; border-radius: 14px; font-size: 15px; line-height: 1.5; background: var(--ok-bg); color: var(--ok-ink); font-weight: 550; }
.form-status.err { background: var(--err-bg); color: var(--err-ink); }
.sent-note { margin-bottom: 16px; padding: 12px 16px; border-radius: 14px; background: var(--ok-bg); color: var(--ok-ink); font-size: 15px; font-weight: 550; overflow-wrap: anywhere; }
.stack-y { display: grid; gap: 16px; }
.panel { padding: clamp(24px, 4vw, 36px); display: grid; gap: 14px; align-content: start; }
.two-col { display: grid; gap: 16px; }
.badge-n { display: inline-grid; place-items: center; width: 32px; height: 32px; margin-right: 12px; border-radius: 50%; font-size: 15px; font-weight: 700; color: var(--acc); background: var(--acc-bg); box-shadow: 0 0 0 1px var(--acc-line) inset; vertical-align: 3px; }
.steps { display: grid; gap: 14px; margin-top: 6px; }
.steps li { display: flex; gap: 14px; align-items: flex-start; font-size: 16.5px; line-height: 1.5; padding-top: 3px; }
.steps .n { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; font-size: 14px; font-weight: 700; background: var(--btn-bg); color: var(--btn-ink); margin-top: -3px; }
.dot-list { display: grid; gap: 10px; }
.dot-list li { position: relative; padding-left: 20px; font-size: 15.5px; color: var(--ink-2); line-height: 1.5; }
.dot-list li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--acc-2); }
.note { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.55; color: var(--ink-3); }
.note .ic { margin-top: 2px; }
.nf { padding-block: clamp(56px, 12vw, 140px); }
.nf-code { font-size: clamp(96px, 26vw, 220px); line-height: .95; font-weight: 800; letter-spacing: -.06em; background: linear-gradient(160deg, var(--grad-a), var(--grad-b)); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ───────── Reveal ───────── */
.js .reveal { opacity: 0; transform: translateY(20px); transition: opacity .8s var(--ease), transform .8s var(--ease); transition-delay: var(--rd, 0s); }
.js .reveal.in { opacity: 1; transform: none; }

/* ───────── Responsive ───────── */
@media (max-width: 479px) {
  .cta-row .btn { flex: 1 1 100%; }
  .nav { padding-left: 12px; gap: 6px; }
  .brand { font-size: 17px; gap: 8px; }
  .chip { padding: 8px 14px 8px 8px; gap: 10px; }
  .chip-ic { width: 32px; height: 32px; }
  .sc-price { font-size: 36px; }
  .sc-glyph { width: 84px; height: 84px; right: 16px; }
  .stack { height: 484px; }
  .tilt { --ry: -7deg; --rx: 5deg; }
}
@media (max-width: 559px) {
  .footer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .feature { grid-template-columns: 46px 1fr; column-gap: 16px; row-gap: 4px; padding: 20px; }
  .feature .feature-ic { grid-row: 1 / span 2; }
  .feature h3 { align-self: end; }
  .feature p { grid-column: 2; }
}
@media (min-width: 560px) {
  .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .strip-list { grid-template-columns: repeat(4, 1fr); }
  .check-list.two { grid-template-columns: repeat(2, 1fr); gap: 12px 24px; }
  .cover-row { grid-template-columns: repeat(3, 1fr); }
  .pricing { grid-template-columns: repeat(2, 1fr); }
  .two-col { grid-template-columns: repeat(2, 1fr); }
  .lang-cur { display: inline; }
}
@media (min-width: 900px) {
  .nav-links { display: flex; }
  .menu { display: none; }
  .nav-actions { margin-left: 0; }
  .hero-grid { grid-template-columns: minmax(0, 1.14fr) minmax(0, .86fr); gap: 40px; }
  .display { font-size: clamp(44px, 5.6vw, 80px); }
  html:lang(en) .display, html:lang(fr) .display, html:lang(es) .display { font-size: clamp(34px, 4.1vw, 58px); }
  html:lang(de) .display { font-size: clamp(38px, 4.8vw, 66px); }
  html:lang(ja) .display, html:lang(ko) .display { font-size: clamp(34px, 4vw, 56px); }
  .showcase-grid { grid-template-columns: auto minmax(0, 1fr); justify-content: center; }
  .split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .privacy-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .privacy-cards { grid-template-columns: 1fr 1fr; }
  .privacy-cards li { flex-direction: column; gap: 14px; }
  .compare { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); }
  .support-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .footer-top { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr); }
  .chip-a { left: -22px; }
  .chip-b { right: -14px; }
  .chip-c { left: -64px; }
  .tilt { --rx: 8deg; --ry: -14deg; }
}
@media (min-width: 960px) {
  .feature-grid { grid-template-columns: repeat(3, 1fr); }
  .doc-grid { grid-template-columns: 270px minmax(0, 1fr); gap: 24px; }
  .toc { position: sticky; top: 92px; max-height: calc(100vh - 112px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
  .toc summary { pointer-events: none; }
  .toc summary::after { display: none; }
}
@media (min-width: 1200px) {
  .feature-grid { grid-template-columns: repeat(4, 1fr); }
  .feature-grid.pro-grid { grid-template-columns: repeat(4, 1fr); }
  .lang-cur { display: inline; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .js .reveal { opacity: 1; transform: none; }
}
@media print {
  .nav-wrap, .hint, .bg, .footer-langs, .toc { display: none !important; }
  body { background: #fff; color: #000; }
  .glass { box-shadow: none; background: none; backdrop-filter: none; }
}
