/* GENERATED by src/styles/build.mjs from src/styles/*.css - do not edit this file. */
/* ===== base.css ===== */
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css");
:root { --display: "regulator-nova",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; --display-weight: 500; --sans: "Geomanist",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; --ui: "Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; --ui-weight: 500; --mono: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; --ember-brand: #E85A2E; --cta-grad: linear-gradient(100deg,#F07E3C 0%,#E0472C 100%); --cta-grad-hover: linear-gradient(100deg,#F2894A 0%,#E4512F 100%); --cta-ink: #FFFFFF; --hl-grad: linear-gradient(100deg,#FFF1E4 0%,#F7894C 52%,#E6462A 100%); --field: linear-gradient(180deg,#050A1E 0%,#0B1A3C 34%,#1E3E7E 64%,#3E74C4 100%); --aura-blur: 36px; --aura-light: radial-gradient(45% 40% at 50% 42%,rgba(255,255,255,.55),transparent 75%),radial-gradient(56% 46% at 24% 20%,rgba(150,188,230,.52),transparent 70%),radial-gradient(48% 40% at 78% 38%,rgba(242,178,136,.40),transparent 66%),radial-gradient(60% 54% at 60% 86%,rgba(154,172,226,.44),transparent 72%); --aura-dark: radial-gradient(50% 42% at 24% 22%,rgba(120,170,255,.24),transparent 70%),radial-gradient(46% 38% at 78% 36%,rgba(242,150,95,.20),transparent 66%),radial-gradient(58% 52% at 60% 88%,rgba(120,150,255,.18),transparent 72%); --dot-grid-dark: radial-gradient(rgba(255,255,255,.05) 1.1px,transparent 1.1px); --dot-grid-light: radial-gradient(rgba(20,18,15,.07) 1.1px,transparent 1.1px); --dot-size: 22px 22px; --aura-mask: radial-gradient(120% 78% at 50% 42%,#000 52%,transparent); --viz-blue: linear-gradient(90deg,#3E74C4,#5B93E0); --viz-warm: linear-gradient(90deg,#E0472C,#F07E3C); --viz-green: linear-gradient(90deg,#2E9E6C,#49BE86); --viz-amber: linear-gradient(90deg,#D99A2E,#F0C566); --viz-neutral: linear-gradient(90deg,#5A6488,#7A85AB); --viz-track: rgba(128,128,140,.16); --r-pill: 999px; --r-card: 16px; --r-panel: 22px; --r-input: 12px; --r-sm: 9px; --r-xs: 6px; --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px; --s8: 64px; --s9: 96px; --ease: cubic-bezier(.23,1,.32,1); --ease-spring: cubic-bezier(.34,1.56,.64,1); --d1: 120ms; --d2: 200ms; --d3: 280ms; --d4: 420ms; }
:root, :root[data-theme="dark"] { color-scheme: dark; --nav-bg: #080B1E; --cat-blue: #60A5FA; --cat-blue-ink: #60A5FA; --cat-blue-bg: rgba(96, 165, 250, .15); --cat-green: #34D399; --cat-green-ink: #34D399; --cat-green-bg: rgba(52, 211, 153, .15); --cat-violet: #C084FC; --cat-violet-ink: #C084FC; --cat-violet-bg: rgba(192, 132, 252, .15); --cat-amber: #FBBF24; --cat-amber-ink: #FBBF24; --cat-amber-bg: rgba(251, 191, 36, .15); --cat-teal: #2DD4BF; --cat-teal-ink: #2DD4BF; --cat-teal-bg: rgba(45, 212, 191, .15); --cat-rose: #F472B6; --cat-rose-ink: #F472B6; --cat-rose-bg: rgba(244, 114, 182, .15); --bg: #070B1C; --surface: #101A40; --surface-2: #1B2A5C; --surface-3: #293C7E; --well: #0B1130; --input-bg: var(--glass); --input-border: var(--hairline-strong); --hairline: rgba(255,255,255,.10); --hairline-raised: rgba(255,255,255,.15); --hairline-overlay: rgba(255,255,255,.20); --hairline-strong: rgba(255,255,255,.24); --shadow-xs: none; --shadow-sm: 0 1px 2px rgba(0,0,0,.5); --shadow-md: 0 10px 30px -10px rgba(0,0,0,.7),0 3px 10px rgba(0,0,0,.45); --shadow-float: 0 2px 10px rgba(0,0,0,.3),0 44px 90px -34px rgba(0,0,0,.72); --glass: rgba(255,255,255,.08); --glass-strong: rgba(255,255,255,.14); --glass-blur: 18px; --overlay: rgba(24,34,68,.44); --overlay-solid: #1B2A54; --overlay-blur: blur(30px) saturate(180%); --overlay-border: rgba(255,255,255,.10); --overlay-hover: rgba(255,255,255,.09); --scrim: rgba(6,10,24,.46); --scrim-blur: blur(10px); --modal-surface: rgba(18,26,54,.92); --modal-blur: blur(36px) saturate(160%); --shadow-pop: 0 16px 40px -14px rgba(0,0,0,.5); --ink: #F2F6FF; --ink-muted: rgba(226,235,252,.72); --ink-faint: rgba(226,235,252,.42); --ink-muted-flat: #A9B1C7; --ink-faint-flat: #6A7290; --ink-inverse: #0A0F22; --ember-lit: #F07E3C; --ember: #E85A2E; --ember-strong: #E0472C; --ember-soft: rgba(232,90,46,.14); --ember-soft-2: rgba(232,90,46,.22); --ember-ring: 0 0 0 3px rgba(232,90,46,.30); --success: #4FC28C; --success-bg: rgba(46,158,108,.15); --success-border: rgba(46,158,108,.36); --warning: #E8B45E; --warning-bg: rgba(224,169,62,.15); --warning-border: rgba(224,169,62,.38); --danger: #F0808C; --danger-bg: rgba(226,75,90,.15); --danger-border: rgba(226,75,90,.40); --danger-solid: #E24B5A; --info: #7FB0EC; --info-bg: rgba(91,147,224,.15); --info-border: rgba(91,147,224,.38); --info-solid: #5B93E0; --shell-nav-active-bg: rgba(255,255,255,.09); --tint-ember: linear-gradient(100deg,#271C2B,#1E1622); --tint-ember-icon: #E39A7C; --tint-blue: linear-gradient(100deg,#16203F,#111834); --tint-blue-icon: #8FB4E8; --tint-green: linear-gradient(100deg,#152A2A,#101F20); --tint-green-icon: #6FC3A2; --tint-amber: linear-gradient(100deg,#282218,#1E1913); --tint-amber-icon: #DBB877; --tint-violet: linear-gradient(100deg,#1F1A34,#171328); --tint-violet-icon: #B29ADA; --tint-neutral: linear-gradient(100deg,#191C28,#13151F); --tint-neutral-icon: #9AA1B6; --tint-cream: #2E2717; --tint-cream-icon: #E7B15C; --pane: rgba(14,22,54,.50); --pane-focal: var(--nav-bg); --recess: rgba(120,150,220,.10); --warm-wash: rgba(222,222,222,.20); --ai-surface: rgba(250,250,250,.93); --ai-rim: rgba(232,90,46,.30); --ai-rim-grad: linear-gradient(135deg,#4F80FF 0%,#E85A2E 50%,#D04BF4 100%); --ai-tint: linear-gradient(150deg,rgba(232,90,46,.13),transparent 62%); --ai-glow: 0 20px 52px -16px rgba(0,0,0,.6),0 4px 20px -6px rgba(232,90,46,.30); --ai-ink: #1B1410; --ai-ink-muted: #6E5F55; --ai-hover: rgba(232,90,46,.09); --dept-sales: var(--tint-blue-icon); --dept-sales-wash: var(--tint-blue); --dept-editorial: var(--tint-violet-icon); --dept-editorial-wash: var(--tint-violet); --dept-production: var(--tint-amber-icon); --dept-production-wash: var(--tint-amber); }
:root[data-theme="light"] { color-scheme: light; --nav-bg: #0C1330; --cat-blue: #2563EB; --cat-blue-ink: #2563EB; --cat-blue-bg: rgba(37, 99, 235, .14); --cat-green: #059669; --cat-green-ink: #04845C; --cat-green-bg: rgba(5, 150, 105, .14); --cat-violet: #9333EA; --cat-violet-ink: #9333EA; --cat-violet-bg: rgba(147, 51, 234, .14); --cat-amber: #D97706; --cat-amber-ink: #AE5F05; --cat-amber-bg: rgba(217, 119, 6, .14); --cat-teal: #0D9488; --cat-teal-ink: #0F766E; --cat-teal-bg: rgba(13, 148, 136, .14); --cat-rose: #DB2777; --cat-rose-ink: #BE185D; --cat-rose-bg: rgba(219, 39, 119, .14); --bg: #EDEFF3; --surface: #F6F7F9; --surface-2: #FFFFFF; --surface-3: #FFFFFF; --well: rgba(222,222,222,.20); --input-bg: var(--surface-2); --input-border: var(--hairline); --hairline: rgba(20,18,15,.11); --hairline-raised: rgba(20,18,15,.09); --hairline-overlay: rgba(20,18,15,.07); --hairline-strong: rgba(20,18,15,.16); --shadow-xs: none; --shadow-sm: 0 3px 8px -2px rgba(38,34,28,.12),0 1px 3px rgba(38,34,28,.07); --shadow-md: 0 16px 38px -14px rgba(38,34,28,.24),0 5px 12px rgba(38,34,28,.10); --shadow-float: 0 2px 10px rgba(20,18,15,.08),0 44px 80px -34px rgba(20,18,15,.20); --glass: rgba(255,255,255,.70); --glass-strong: rgba(255,255,255,.85); --glass-blur: 18px; --overlay: rgba(255,255,255,.50); --overlay-solid: #FFFFFF; --overlay-blur: blur(30px) saturate(155%); --overlay-border: rgba(255,255,255,.55); --overlay-hover: rgba(20,18,15,.05); --scrim: rgba(20,22,30,.16); --scrim-blur: blur(10px); --modal-surface: rgba(255,255,255,.92); --modal-blur: blur(36px) saturate(160%); --shadow-pop: 0 14px 38px -14px rgba(38,34,28,.16); --ink: #141824; --ink-muted: #5C6270; --ink-faint: #8B909C; --ink-muted-flat: #5C6270; --ink-faint-flat: #8B909C; --ink-inverse: #FAFAFA; --ember-lit: #F0793C; --ember: #D2531F; --ember-strong: #B84018; --ember-soft: rgba(210,83,31,.10); --ember-soft-2: rgba(210,83,31,.16); --ember-ring: 0 0 0 3px rgba(210,83,31,.26); --hl-grad: linear-gradient(100deg,#F0793C 0%,#D23F1E 100%); --field: linear-gradient(180deg,#FAFBFD 0%,#F3F5F8 58%,#EDEFF3 100%); --success: #1A6F49; --success-bg: rgba(46,158,108,.12); --success-border: rgba(46,158,108,.30); --warning: #8A5A00; --warning-bg: rgba(224,169,62,.14); --warning-border: rgba(224,169,62,.34); --danger: #B4283A; --danger-bg: rgba(226,75,90,.10); --danger-border: rgba(180,40,58,.30); --danger-solid: #C9354A; --info: #2E5FA8; --info-bg: rgba(91,147,224,.12); --info-border: rgba(91,147,224,.30); --info-solid: #3D6DB8; --shell-nav-active-bg: rgba(255,255,255,.09); --tint-ember: linear-gradient(100deg,#FBF1EA,#F6E5DA); --tint-ember-icon: #A94A1B; --tint-blue: linear-gradient(100deg,#F0F4FA,#E5EDF6); --tint-blue-icon: #345F9E; --tint-green: linear-gradient(100deg,#EEF5F0,#E2EEE6); --tint-green-icon: #22704A; --tint-amber: linear-gradient(100deg,#FAF3E5,#F3EAD3); --tint-amber-icon: #875B10; --tint-violet: linear-gradient(100deg,#F3F0FB,#EAE5F5); --tint-violet-icon: #5E48A0; --tint-neutral: linear-gradient(100deg,#F7F7F7,#EEEEEE); --tint-neutral-icon: #5F6572; --tint-cream: #F3E7CF; --tint-cream-icon: #8A5A12; --pane: rgba(248,250,253,.58); --pane-focal: rgba(255,255,255,.68); --recess: rgba(74,98,150,.10); --warm-wash: rgba(222,222,222,.20); --ai-surface: rgba(251,251,251,.90); --ai-rim: rgba(210,83,31,.26); --ai-rim-grad: linear-gradient(135deg,#4F80FF 0%,#E85A2E 50%,#D04BF4 100%); --ai-tint: linear-gradient(150deg,rgba(210,83,31,.09),transparent 62%); --ai-glow: 0 16px 40px -14px rgba(38,34,28,.16),0 3px 16px -5px rgba(210,83,31,.22); --ai-ink: #1B1410; --ai-ink-muted: #6E5F55; --ai-hover: rgba(210,83,31,.07); --dept-sales: var(--tint-blue-icon); --dept-sales-wash: var(--tint-blue); --dept-editorial: var(--tint-violet-icon); --dept-editorial-wash: var(--tint-violet); --dept-production: var(--tint-amber-icon); --dept-production-wash: var(--tint-amber); --viz-neutral: linear-gradient(90deg,#9AA0AC,#C2C7D0); }
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) { color-scheme: light; --nav-bg: #0C1330; --cat-blue: #2563EB; --cat-blue-ink: #2563EB; --cat-blue-bg: rgba(37, 99, 235, .14); --cat-green: #059669; --cat-green-ink: #04845C; --cat-green-bg: rgba(5, 150, 105, .14); --cat-violet: #9333EA; --cat-violet-ink: #9333EA; --cat-violet-bg: rgba(147, 51, 234, .14); --cat-amber: #D97706; --cat-amber-ink: #AE5F05; --cat-amber-bg: rgba(217, 119, 6, .14); --cat-teal: #0D9488; --cat-teal-ink: #0F766E; --cat-teal-bg: rgba(13, 148, 136, .14); --cat-rose: #DB2777; --cat-rose-ink: #BE185D; --cat-rose-bg: rgba(219, 39, 119, .14); --bg: #EDEFF3; --surface: #F6F7F9; --surface-2: #FFFFFF; --surface-3: #FFFFFF; --well: rgba(222,222,222,.20); --input-bg: var(--surface-2); --input-border: var(--hairline); --hairline: rgba(20,18,15,.11); --hairline-raised: rgba(20,18,15,.09); --hairline-overlay: rgba(20,18,15,.07); --hairline-strong: rgba(20,18,15,.16); --shadow-xs: none; --shadow-sm: 0 3px 8px -2px rgba(38,34,28,.12),0 1px 3px rgba(38,34,28,.07); --shadow-md: 0 16px 38px -14px rgba(38,34,28,.24),0 5px 12px rgba(38,34,28,.10); --shadow-float: 0 2px 10px rgba(20,18,15,.08),0 44px 80px -34px rgba(20,18,15,.20); --glass: rgba(255,255,255,.70); --glass-strong: rgba(255,255,255,.85); --glass-blur: 18px; --overlay: rgba(255,255,255,.50); --overlay-solid: #FFFFFF; --overlay-blur: blur(30px) saturate(155%); --overlay-border: rgba(255,255,255,.55); --overlay-hover: rgba(20,18,15,.05); --scrim: rgba(20,22,30,.16); --scrim-blur: blur(10px); --modal-surface: rgba(255,255,255,.92); --modal-blur: blur(36px) saturate(160%); --shadow-pop: 0 14px 38px -14px rgba(38,34,28,.16); --ink: #141824; --ink-muted: #5C6270; --ink-faint: #8B909C; --ink-muted-flat: #5C6270; --ink-faint-flat: #8B909C; --ink-inverse: #FAFAFA; --ember-lit: #F0793C; --ember: #D2531F; --ember-strong: #B84018; --ember-soft: rgba(210,83,31,.10); --ember-soft-2: rgba(210,83,31,.16); --ember-ring: 0 0 0 3px rgba(210,83,31,.26); --hl-grad: linear-gradient(100deg,#F0793C 0%,#D23F1E 100%); --field: linear-gradient(180deg,#FAFBFD 0%,#F3F5F8 58%,#EDEFF3 100%); --success: #1A6F49; --success-bg: rgba(46,158,108,.12); --success-border: rgba(46,158,108,.30); --warning: #8A5A00; --warning-bg: rgba(224,169,62,.14); --warning-border: rgba(224,169,62,.34); --danger: #B4283A; --danger-bg: rgba(226,75,90,.10); --danger-border: rgba(180,40,58,.30); --danger-solid: #C9354A; --info: #2E5FA8; --info-bg: rgba(91,147,224,.12); --info-border: rgba(91,147,224,.30); --info-solid: #3D6DB8; --shell-nav-active-bg: rgba(255,255,255,.09); --tint-ember: linear-gradient(100deg,#FBF1EA,#F6E5DA); --tint-ember-icon: #A94A1B; --tint-blue: linear-gradient(100deg,#F0F4FA,#E5EDF6); --tint-blue-icon: #345F9E; --tint-green: linear-gradient(100deg,#EEF5F0,#E2EEE6); --tint-green-icon: #22704A; --tint-amber: linear-gradient(100deg,#FAF3E5,#F3EAD3); --tint-amber-icon: #875B10; --tint-violet: linear-gradient(100deg,#F3F0FB,#EAE5F5); --tint-violet-icon: #5E48A0; --tint-neutral: linear-gradient(100deg,#F7F7F7,#EEEEEE); --tint-neutral-icon: #5F6572; --tint-cream: #F3E7CF; --tint-cream-icon: #8A5A12; --pane: rgba(248,250,253,.58); --pane-focal: rgba(255,255,255,.68); --recess: rgba(74,98,150,.10); --warm-wash: rgba(222,222,222,.20); --ai-surface: rgba(251,251,251,.90); --ai-rim: rgba(210,83,31,.26); --ai-rim-grad: linear-gradient(135deg,#4F80FF 0%,#E85A2E 50%,#D04BF4 100%); --ai-tint: linear-gradient(150deg,rgba(210,83,31,.09),transparent 62%); --ai-glow: 0 16px 40px -14px rgba(38,34,28,.16),0 3px 16px -5px rgba(210,83,31,.22); --ai-ink: #1B1410; --ai-ink-muted: #6E5F55; --ai-hover: rgba(210,83,31,.07); --dept-sales: var(--tint-blue-icon); --dept-sales-wash: var(--tint-blue); --dept-editorial: var(--tint-violet-icon); --dept-editorial-wash: var(--tint-violet); --dept-production: var(--tint-amber-icon); --dept-production-wash: var(--tint-amber); --viz-neutral: linear-gradient(90deg,#9AA0AC,#C2C7D0); }
}
* { box-sizing: border-box; margin: 0; }
button { font: inherit; color: inherit; background: none; border: 0; -webkit-appearance: none; appearance: none; }
body { background: var(--bg); color: var(--ink); font-family: var(--sans); font-size: 15px; line-height: 1.6; -webkit-font-smoothing: antialiased; padding-bottom: 120px; }
.wrap { max-width: 1180px; margin: 0 auto; padding: 0 26px; }
.serif { font-family: var(--display); font-weight: var(--display-weight); font-style: normal; letter-spacing: -.005em; line-height: 1.06; text-wrap: balance; }
.hl { font-family: var(--display); font-style: italic; font-weight: 500; background-image: var(--hl-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; padding-right: .05em; }
code { font-family: var(--mono); font-size: .82em; background: var(--well); border: 1px solid var(--hairline); border-radius: 5px; padding: 1px 5px; color: var(--ink); }
.mode { font-family: var(--ui); font-weight: 500; font-size: .76rem; color: var(--ink); background: var(--glass); border: 0; border-radius: var(--r-pill); padding: 7px 15px; cursor: pointer; flex: none; transition: background var(--d2) var(--ease); }
.mode:hover { background: var(--glass-strong); }
.pill { display: inline-flex; align-items: center; gap: 7px; font-family: var(--ui); font-weight: 500; font-size: .72rem; padding: 6px 12px; border-radius: var(--r-pill); border: 1px solid rgba(255,255,255,.16); color: #F2F6FF; background: rgba(255,255,255,.08); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.pill i { width: 12px; height: 12px; border-radius: 4px; flex: none; }
.btn { font-family: var(--ui); font-weight: var(--ui-weight); font-size: .85rem; letter-spacing: .01em; cursor: pointer; border: 0; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 20px; border-radius: var(--r-pill); transition: filter var(--d2) var(--ease),transform var(--d1) var(--ease),box-shadow var(--d2) var(--ease); white-space: nowrap; }
.btn:active { transform: scale(.98); }
.btn:focus-visible { outline: 0; box-shadow: var(--ember-ring); }
.btn svg { width: 17px; height: 17px; flex: none; }
.btn .bi { font-size: 17px; line-height: 0; flex: none; }
.btn-primary { background: var(--cta-grad); color: var(--cta-ink); padding-right: 15px; }
.btn-primary:hover { background: var(--cta-grad-hover); }
.btn-secondary { background: var(--glass); color: var(--ink); border: 0; -webkit-backdrop-filter: blur(14px) saturate(140%); backdrop-filter: blur(14px) saturate(140%); }
.btn-secondary:hover { background: var(--glass-strong); }
.btn-ghost { background: transparent; color: var(--ink); border: 0; }
.btn-ghost:hover { background: var(--overlay-hover); }
.btn-text { background: 0; color: var(--ember); padding: 8px 4px; border-radius: 6px; }
.btn-text:hover { text-decoration: underline; }
.btn-danger { background: var(--danger-solid); color: #fff; }
.btn-icon { width: 40px; height: 40px; padding: 0; border-radius: 50%; }
.btn[disabled] { opacity: .42; cursor: not-allowed; pointer-events: none; }
.btn-sm { padding: 8px 14px; font-size: .78rem; }
.btn-lg { padding: 15px 26px; font-size: .92rem; }
.grid { display: grid; gap: 14px; }
.g2 { grid-template-columns: 1fr 1fr; }
.g3 { grid-template-columns: repeat(3,1fr); }
@media (max-width:820px) {
  .g2, .g3 { grid-template-columns: 1fr; }
}
.card { background: var(--surface); border-radius: var(--r-card); padding: 18px; }
.tile { background: var(--surface); border-radius: var(--r-card); padding: 16px; min-height: 120px; display: flex; flex-direction: column; gap: 6px; }
.row { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
@media (max-width:720px) {
  .dd { grid-template-columns: 1fr; }
}
.fld { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.fld>label, .fld-head label { font-family: var(--ui); font-weight: 500; font-size: .8rem; color: var(--ink); }
.fld-head { display: flex; align-items: baseline; justify-content: space-between; }
.fld-hint { font-family: var(--ui); font-size: .7rem; color: var(--ink-faint); }
.inp { font-family: var(--sans); font-size: .9rem; color: var(--ink); background: var(--input-bg); border: 1px solid var(--input-border); border-radius: var(--r-input); padding: 11px 13px; width: 100%; outline: 0; transition: border-color var(--d2) var(--ease),box-shadow var(--d2) var(--ease); }
.inp::placeholder { color: var(--ink-faint); }
.inp:hover { border-color: var(--hairline-strong); }
.inp:focus { border-color: var(--ember); box-shadow: var(--ember-ring); }
.fld.err .inp { border-color: var(--danger); box-shadow: 0 0 0 3px var(--danger-bg); }
.inp-wrap { position: relative; display: flex; align-items: center; }
.inp-wrap>.bi { position: absolute; left: 13px; font-size: 14px; line-height: 0; color: var(--ink-faint); pointer-events: none; transition: color var(--d2) var(--ease); }
.inp-wrap>.inp { padding-left: 36px; }
.inp-wrap:focus-within>.bi { color: var(--ember); }
.sel-wrap { position: relative; display: flex; }
.sel-wrap>select.inp { appearance: none; -webkit-appearance: none; padding-right: 34px; cursor: pointer; }
.sel-wrap>.bi { position: absolute; right: 13px; top: 50%; transform: translateY(-50%); font-size: 11px; line-height: 0; color: var(--ink-faint); pointer-events: none; transition: color var(--d2) var(--ease); }
.sel-wrap:focus-within>.bi { color: var(--ember); }
.switch i { width: 40px; height: 23px; border-radius: var(--r-pill); background: var(--well); border: 1px solid var(--hairline-strong); position: relative; flex: none; transition: background var(--d2) var(--ease),border-color var(--d2) var(--ease); }
.switch i::after { content: ""; position: absolute; top: 2px; left: 2px; width: 17px; height: 17px; border-radius: 50%; background: var(--ink-muted); transition: left var(--d2) var(--ease),background var(--d2) var(--ease); }
.switch.on i { background: var(--cta-grad); border-color: transparent; }
.switch.on i::after { left: 20px; background: #fff; }
.scrim .actionrow { background: var(--pane); -webkit-backdrop-filter: blur(26px) saturate(150%); backdrop-filter: blur(26px) saturate(150%); }
.scrim .actionlist { background: var(--pane); -webkit-backdrop-filter: blur(26px) saturate(150%); backdrop-filter: blur(26px) saturate(150%); }
.help { font-size: .74rem; color: var(--ink-muted); }
.err-msg { font-size: .74rem; color: var(--danger); }
.check, .radio, .switch { display: flex; align-items: center; gap: 10px; font-size: .86rem; }
.check i, .radio i { width: 18px; height: 18px; flex: none; border: 1.5px solid var(--hairline-strong); display: grid; place-items: center; transition: background-color var(--d2) var(--ease),border-color var(--d2) var(--ease); }
.radio i { border-radius: 50%; }
.check i { border-radius: 6px; }
.check.on i { background: var(--ember); border-color: var(--ember); }
.check input { position: absolute; opacity: 0; pointer-events: none; }
.check i svg { width: 11px; height: 11px; color: #fff; opacity: 0; transform: scale(.7); transition: opacity var(--d1) var(--ease),transform var(--d1) var(--ease); }
.check.on i svg, .check input:checked + i svg { opacity: 1; transform: none; }
.check input:checked + i { background: var(--ember); border-color: var(--ember); }
.check input:focus-visible + i { box-shadow: var(--ember-ring); }
.radio.on i::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ember); }
.radio.on i { border-color: var(--ember); }
.bar { height: 8px; border-radius: 999px; background: var(--viz-track); overflow: hidden; margin: 6px 0; }
.bar i { display: block; height: 100%; border-radius: 999px; }
.vrow { display: flex; align-items: center; gap: 12px; font-size: .78rem; }
.vrow span { width: 64px; flex: none; color: var(--ink-muted); font-family: var(--ui); }
.vrow .bar { flex: 1; }
.chart { display: flex; align-items: flex-end; gap: 9px; height: 130px; margin-top: 10px; }
.chart i { flex: 1; border-radius: 5px 5px 0 0; }
.alert { border: 1px solid; border-radius: var(--r-card); padding: 12px 14px; font-size: .85rem; display: flex; gap: 10px; align-items: flex-start; margin-bottom: 9px; }
.alert .mk { width: 15px; height: 15px; border-radius: 50%; flex: none; margin-top: 3px; }
.badge { font-family: var(--ui); font-size: .68rem; font-weight: 600; color: #fff; padding: 3px 9px; border-radius: var(--r-pill); }
.shell { display: grid; grid-template-columns: 210px 1fr; overflow: hidden; position: relative; }
.shell>nav { background: var(--nav-bg); padding: 16px 12px; display: flex; flex-direction: column; gap: 2px; }
.shell>nav .brand { width: 112px; margin: 4px auto 18px; color: #F2F6FF; }
.shell>nav .brand svg { display: block; width: 100%; height: auto; fill: currentColor; }
.shell>nav .nl { font-family: var(--ui); font-weight: 600; font-size: .58rem; letter-spacing: .06em; color: #7f89aa; padding: 12px 10px 5px; }
.shell>nav a { display: flex; gap: 9px; align-items: center; font-family: var(--ui); font-weight: 500; font-size: .79rem; color: #9aa3c0; text-decoration: none; padding: 8px 10px; border-radius: 8px; }
.shell>nav a.on { background: var(--shell-nav-active-bg); color: #fff; }
.shell>nav a svg { width: 15px; height: 15px; flex: none; opacity: .7; }
.shell>nav a .bi { font-size: 15px; line-height: 0; flex: none; opacity: .7; }
.shell>nav a.on svg { opacity: 1; color: var(--ember-brand); }
.shell>nav a.on .bi { opacity: 1; color: var(--ember-brand); }
.shell>nav .spacer { flex: 1; min-height: 18px; }
.shell>nav .acct-trigger { width: 100%; margin-top: auto; background: rgba(255,255,255,.04); border: 0; border-radius: 12px; padding: 8px 10px; display: flex; align-items: center; gap: 10px; cursor: pointer; text-align: left; transition: background var(--d2) var(--ease); }
.shell>nav .acct-trigger:hover, .shell>nav .acct-trigger.on { background: rgba(255,255,255,.08); }
.acct-trigger .avatar-anchor { position: relative; flex: none; }
.avatar-mono { width: 30px; height: 30px; border-radius: 50%; background: var(--warm-wash); border: 1px solid rgba(255,255,255,.16); color: #F2F6FF; display: grid; place-items: center; font-family: var(--ui); font-weight: 600; font-size: .78rem; }
.badge-pip { position: absolute; top: -3px; right: -3px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: var(--r-pill); background: var(--cta-grad); color: #fff; font-family: var(--ui); font-weight: 700; font-size: .62rem; display: grid; place-items: center; box-shadow: 0 0 0 2px var(--nav-bg); }
.acct-trigger .who { min-width: 0; flex: 1; display: flex; flex-direction: column; }
.acct-trigger .nm { font-family: var(--ui); font-weight: 600; font-size: .86rem; color: #EEF2FC; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.acct-trigger .role { font-family: var(--ui); font-size: .68rem; color: #8b93b0; margin-top: 1px; }
.acct-trigger .caret { color: #8b93b0; flex: none; font-size: 12px; line-height: 0; transition: transform var(--d2) var(--ease); }
.acct-trigger.on .caret { transform: rotate(180deg); }
.avatar { width: 26px; height: 26px; border-radius: 50%; flex: none; display: grid; place-items: center; font-family: var(--ui); font-weight: 600; font-size: .62rem; color: #fff; background: var(--cta-grad); }
.avatar.lg { width: 34px; height: 34px; font-size: .74rem; }
.shell .right { display: flex; flex-direction: column; min-width: 0; }
.shell .hdr { display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 48px; padding: 0 14px; background: var(--overlay); -webkit-backdrop-filter: var(--overlay-blur); backdrop-filter: var(--overlay-blur); border-bottom: 1px solid var(--hairline); position: sticky; top: 0; z-index: 3; }
.shell .hdr .pt { font-family: var(--sans); font-weight: 600; font-size: .88rem; }
.shell .hdr .acts { display: flex; align-items: center; gap: 4px; }
.iconbtn { width: 31px; height: 31px; border-radius: 8px; border: 0; background: transparent; display: grid; place-items: center; color: var(--ink-muted); cursor: pointer; position: relative; transition: background var(--d2) var(--ease),color var(--d2) var(--ease); }
.iconbtn:hover { background: var(--glass); color: var(--ink); }
.iconbtn svg { width: 16px; height: 16px; }
.iconbtn .bi { font-size: 16px; line-height: 0; }
.iconbtn.solid { width: 32px; height: 32px; background: var(--glass); color: var(--ink); }
.iconbtn.solid:hover { background: var(--glass-strong); }
.iconbtn .dot { position: absolute; top: 4px; right: 4px; width: 7px; height: 7px; border-radius: 50%; background: var(--ember-brand); box-shadow: 0 0 0 2px var(--surface); }
.shell .body { background: transparent; padding: 18px; display: flex; flex-direction: column; gap: 14px; flex: 1; width: 100%; min-height: 300px; }
.shell .topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.shell .topline h4 { font-family: var(--sans); font-weight: 600; font-size: 1rem; }
.shell .topline .sub { font-size: .76rem; color: var(--ink-muted); }
.shell .stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.stat { background: var(--surface); border-radius: 10px; padding: 12px; }
.stat .k { font-family: var(--ui); font-weight: 500; font-size: .64rem; letter-spacing: .03em; color: var(--ink-faint); }
.stat .v { font-family: var(--display); font-weight: 500; font-size: 1.5rem; line-height: 1.1; margin-top: 3px; }
.stat.em .v { color: var(--ember); }
.shell table.ed { width: 100%; border-collapse: collapse; background: var(--surface); border-radius: 10px; overflow: hidden; font-family: var(--sans); }
.shell table.ed th { background: var(--well); font-family: var(--ui); font-weight: 600; font-size: .6rem; letter-spacing: .03em; color: var(--ink-faint); padding: 8px 12px; text-align: left; border-bottom: 1px solid var(--hairline); }
.shell table.ed td { padding: 9px 12px; font-size: .78rem; border-bottom: 1px solid var(--hairline); }
.shell table.ed tr:last-child td { border-bottom: 0; }
.shell table.ed tr.sel td { background: var(--surface-2); }
.shell .row-dot { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--ember-brand); margin-right: 7px; vertical-align: middle; }
.shell tr:not(.sel) .row-dot { background: transparent; }
.pop { position: absolute; background: var(--overlay); -webkit-backdrop-filter: var(--overlay-blur); backdrop-filter: var(--overlay-blur); border: 1px solid var(--overlay-border); border-radius: 14px; box-shadow: var(--shadow-pop); font-family: var(--ui); font-size: .76rem; z-index: 5; }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .pop { background: var(--overlay-solid); }
}
.pop a, .pop .mi { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 8px; color: var(--ink); text-decoration: none; cursor: pointer; }
.pop a:hover, .pop .mi:hover { background: var(--overlay-hover); }
.acct-pop { position: absolute; bottom: calc(100% + 10px); left: 0; width: 380px; background: var(--modal-surface); -webkit-backdrop-filter: var(--modal-blur); backdrop-filter: var(--modal-blur); border: 1px solid var(--overlay-border); border-radius: var(--r-panel); box-shadow: var(--shadow-pop); padding: 20px 24px 14px; z-index: 100; opacity: 0; transform: translateY(8px) scale(.98); pointer-events: none; transition: opacity var(--d2) var(--ease),transform var(--d2) var(--ease); }
.acct-pop.open { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .acct-pop { background: var(--overlay-solid); }
}
.acct-pop .rule { height: 1px; background: var(--hairline); margin: 4px 0; }
.acct-pop .pop-user { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; }
.acct-pop .pop-user .avatar-mono { width: 38px; height: 38px; font-size: .9rem; background: var(--warm-wash); border-color: var(--hairline); color: var(--ink); }
.acct-pop .user-details { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.acct-pop a.user-name { font-family: var(--ui); font-weight: 600; font-size: .96rem; color: var(--ink); line-height: 1.2; text-decoration: none; display: inline-flex; align-items: baseline; gap: 6px; }
.acct-pop a.user-name .edit-tag { font-family: var(--ui); font-weight: 500; font-size: .68rem; color: var(--ember); }
.acct-pop a.user-name:hover .edit-tag { color: var(--ember-strong); }
.acct-pop .user-meta { font-family: var(--sans); font-size: .76rem; color: var(--ink-muted); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pop-theme-row { display: flex; align-items: center; justify-content: space-between; padding: 11px 0; }
.pop-theme-row .label { font-family: var(--ui); font-weight: 500; font-size: .78rem; color: var(--ink); }
.seg { display: inline-flex; background: var(--well); padding: 2px; border-radius: var(--r-pill); gap: 2px; }
.seg-btn { font-family: var(--ui); font-weight: 500; font-size: .72rem; color: var(--ink-muted); background: 0; border: 0; padding: 4px 10px; border-radius: var(--r-pill); cursor: pointer; display: flex; align-items: center; gap: 5px; transition: background var(--d1) var(--ease),color var(--d1) var(--ease); }
.seg-btn .bi { font-size: 12px; line-height: 0; }
.seg-btn:hover { color: var(--ink); }
.seg-btn.on { background: var(--surface-2); color: var(--ink); font-weight: 600; }
.pop-notifs { padding: 12px 0 8px; }
.notifs-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.notifs-header .title-group { display: flex; align-items: center; gap: 8px; }
.notifs-header .title { font-family: var(--ui); font-weight: 600; font-size: .82rem; color: var(--ink); }
.count-badge { font-family: var(--ui); font-weight: 600; font-size: .65rem; background: var(--ember-soft); color: var(--ember); padding: 1px 6px; border-radius: var(--r-pill); }
.mark-read { font-family: var(--ui); font-weight: 500; font-size: .72rem; color: var(--ember); background: 0; border: 0; cursor: pointer; }
.notifs-list { display: flex; flex-direction: column; gap: 4px; }
.notif-card { display: flex; align-items: flex-start; gap: 12px; padding: 10px 12px; border-radius: 12px; text-decoration: none; color: inherit; background: var(--surface-2); position: relative; transition: background var(--d1) var(--ease); }
.notif-card:hover { background: var(--overlay-hover); }
.notif-card.read { background: transparent; opacity: .75; }
.notif-icon-well { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; font-size: 15px; flex: none; margin-top: 1px; }
.notif-icon-well .bi { line-height: 0; }
.notif-icon-well.t-success { background: var(--success-bg); color: var(--success); }
.notif-icon-well.t-ember { background: var(--ember-soft); color: var(--ember); }
.notif-icon-well.t-info { background: var(--info-bg); color: var(--info); }
.notif-details { flex: 1; min-width: 0; }
.notif-top { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.notif-title { font-family: var(--ui); font-weight: 600; font-size: .8rem; color: var(--ink); line-height: 1.3; }
.notif-time { font-family: var(--ui); font-size: .68rem; color: var(--ink-faint); white-space: nowrap; }
.notif-desc { font-family: var(--sans); font-size: .75rem; color: var(--ink-muted); margin-top: 2px; line-height: 1.35; }
.unread-indicator { width: 7px; height: 7px; border-radius: 50%; background: var(--ember-brand); flex: none; align-self: center; margin-left: 4px; }
.notif-card.read .unread-indicator { display: none; }
.notifs-footer { padding-top: 6px; display: flex; justify-content: flex-end; }
.notifs-all { display: inline-flex; align-items: center; gap: 6px; font-family: var(--ui); font-weight: 500; font-size: .74rem; color: var(--ember); text-decoration: none; padding: 4px 6px; }
.notifs-all .bi { line-height: 0; }
.acct-pop .pop-footer { display: flex; align-items: center; justify-content: space-between; padding-top: 10px; margin-top: 2px; }
.pop-settings { display: inline-flex; align-items: center; gap: 6px; font-family: var(--ui); font-weight: 500; font-size: .74rem; color: var(--ink-muted); background: 0; border: 0; cursor: pointer; text-decoration: none; padding: 5px 8px; border-radius: 6px; transition: color var(--d1) var(--ease),background var(--d1) var(--ease); }
.pop-settings:hover { color: var(--ink); background: var(--overlay-hover); }
.pop-settings .bi { font-size: 14px; line-height: 0; }
.signout-link { display: inline-flex; align-items: center; gap: 6px; font-family: var(--ui); font-weight: 500; font-size: .76rem; color: var(--danger); background: 0; border: 0; cursor: pointer; padding: 5px 8px; border-radius: 6px; transition: background var(--d1) var(--ease); }
.signout-link:hover { background: var(--danger-bg); }
.signout-link .bi { font-size: 14px; line-height: 0; }
.rtag { font-family: var(--ui); font-size: .56rem; font-weight: 600; padding: 1px 6px; border-radius: 999px; background: var(--ember-soft); color: var(--ember); margin-left: 6px; }
.metric { font-family: var(--display); font-weight: 500; font-size: 2rem; line-height: 1; }
.metric.em { color: var(--ember); }
@media (max-width:720px) {
  .shell { grid-template-columns: 1fr; }
  .shell>nav { flex-direction: row; overflow-x: auto; gap: 4px; align-items: center; }
  .shell>nav .brand { width: 88px; margin: 0 8px 0 4px; }
  .shell>nav .nl, .shell>nav .spacer, .shell>nav .acct-trigger .who { display: none; }
  .shell .stats { grid-template-columns: 1fr 1fr; }
  .acct-pop { position: static; width: auto; margin-top: 6px; }
}
@media (max-width:1023px) {
  .g3 { grid-template-columns: 1fr 1fr; }
}
@media (max-width:640px) {
  body { font-size: 15px; }
  .wrap { padding: 0 16px; }
  .g2, .g3 { grid-template-columns: 1fr; }
  .inp { font-size: 16px; }
}
@media (pointer:coarse) {
  .btn { min-height: 44px; }
  .btn-sm { min-height: 44px; padding-top: 0; padding-bottom: 0; }
  .btn:hover, .btn-primary:hover { background: var(--cta-grad); }
  .btn-secondary:hover { background: var(--glass); }
}
@media (prefers-reduced-motion:reduce) {
  * { transition-duration: .01ms!important; animation-duration: .01ms!important; }
}
.iconglass { width: 52px; height: 52px; border-radius: 15px; display: grid; place-items: center; background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.18); -webkit-backdrop-filter: blur(16px) saturate(160%); backdrop-filter: blur(16px) saturate(160%); box-shadow: 0 6px 18px -6px rgba(0,0,0,.4); color: #FFFFFF; }
.iconglass svg { width: 22px; height: 22px; stroke-width: 2; }
.iconglass .bi { font-size: 22px; line-height: 1; }
.onfield { background: linear-gradient(180deg,#050A1E 0%,#0B1A3C 34%,#1E3E7E 64%,#3E74C4 100%)!important; border-color: rgba(255,255,255,.10)!important; box-shadow: none!important; color: #F2F6FF; }
.onfield code { background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.14); color: #F2F6FF; }
.scrim { position: fixed; inset: 0; z-index: 100; background: var(--scrim); -webkit-backdrop-filter: var(--scrim-blur); backdrop-filter: var(--scrim-blur); display: grid; place-items: center; padding: 20px; opacity: 0; pointer-events: none; transition: opacity var(--d2) var(--ease); }
.scrim.open { opacity: 1; pointer-events: auto; }
.modal { position: relative; z-index: 2; width: min(480px,92vw); background: var(--modal-surface); -webkit-backdrop-filter: var(--modal-blur); backdrop-filter: var(--modal-blur); border: 0; border-radius: 24px; box-shadow: none; padding: 32px; transform: scale(.98); transition: transform var(--d2) var(--ease); }
.scrim.open .modal { transform: scale(1); }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .modal { background: var(--overlay-solid); }
}
.modal .mhead { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.modal h4 { font-family: var(--display); font-weight: var(--display-weight); font-size: 1.6rem; line-height: 1.15; letter-spacing: -.01em; color: var(--ink); }
.modal .msub { font-family: var(--sans); font-size: .85rem; color: var(--ink-muted); margin-top: 6px; }
.modal p { font-size: .85rem; color: var(--ink-muted); margin-bottom: 16px; }
.modal .mact { display: flex; align-items: center; gap: 8px; justify-content: flex-end; margin-top: 28px; }
.iconbtn-prominent { width: 36px; height: 36px; border-radius: 50%; border: 0; background: var(--overlay-hover); display: grid; place-items: center; color: var(--ink); cursor: pointer; flex-shrink: 0; transition: background var(--d2) var(--ease),transform var(--d1) var(--ease); }
.iconbtn-prominent:hover { background: var(--hairline-strong); }
.iconbtn-prominent:active { transform: scale(.94); }
.iconbtn-prominent:focus-visible { outline: 0; box-shadow: var(--ember-ring); }
.iconbtn-prominent .bi { font-size: 15px; line-height: 0; }
.msummary { background: var(--recess); border-radius: var(--r-card); padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.msummary .ms-lead { display: flex; flex-direction: column; gap: 2px; }
.msummary .ms-lead .nm { font-family: var(--ui); font-weight: 600; font-size: .92rem; color: var(--ink); }
.msummary .ms-lead .meta { font-size: .76rem; color: var(--ink-muted); }
.msummary .ms-amount { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; text-align: right; }
.msummary .val { font-family: var(--display); font-weight: var(--display-weight); font-size: 1.5rem; line-height: 1; color: var(--ink); }
.ms-badge { display: inline-flex; align-items: center; gap: 4px; font-family: var(--ui); font-weight: 600; font-size: .65rem; padding: 2px 7px; border-radius: var(--r-pill); background: var(--ember-soft); color: var(--ember); }
.ms-badge .bi { font-size: 10px; line-height: 0; }
.msnap { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border-radius: var(--r-input); background: var(--recess); margin-bottom: 18px; }
.msnap .info { font-family: var(--ui); font-size: .78rem; color: var(--ink); }
.msnap .info b { font-weight: 600; }
.msnap .zip-tag { font-family: var(--ui); font-size: .7rem; color: var(--ink-muted); background: var(--surface-2); padding: 2px 7px; border-radius: var(--r-pill); }
.evpick { background: var(--recess); border-radius: var(--r-card); padding: 6px; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 18px; }
.evchip { background: transparent; border: 0; border-radius: 10px; padding: 10px 12px; cursor: pointer; text-align: left; transition: background var(--d1) var(--ease); }
.evchip:hover { background: var(--overlay-hover); }
.evchip.on { background: var(--surface-2); }
.evchip .ev-name { font-family: var(--ui); font-weight: 600; font-size: .8rem; color: var(--ink); display: flex; align-items: center; gap: 6px; }
.evchip .ev-name .bi { color: var(--ember); font-size: 13px; line-height: 0; }
.evchip .ev-dur { display: block; font-size: .72rem; color: var(--ink-muted); margin-top: 2px; }
.link-box { display: flex; gap: 8px; }
.link-box .inp-wrap { flex: 1; }
.inp.link-input { font-family: var(--mono); font-size: .8rem; color: var(--ink-muted); background: var(--surface-2); }
.copy-btn { font-family: var(--ui); font-weight: 500; font-size: .8rem; padding: 0 16px; border-radius: var(--r-input); border: 1px solid var(--hairline); background: var(--surface-2); color: var(--ink); cursor: pointer; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; transition: border-color var(--d1) var(--ease),background var(--d1) var(--ease),color var(--d1) var(--ease); }
.copy-btn .bi { font-size: 13px; line-height: 0; }
.copy-btn:hover { border-color: var(--hairline-strong); }
.copy-btn.copied { background: var(--success-bg); color: var(--success); border-color: transparent; }
.mnote { display: flex; align-items: flex-start; gap: 6px; font-size: .76rem; line-height: 1.4; color: var(--ink-faint); }
.mnote .bi { color: var(--ember); font-size: 13px; line-height: 0; margin-top: 1px; flex: none; }
.mnote b { color: var(--ink-muted); }
.mrecip { display: flex; align-items: center; gap: 8px; padding: 10px 14px; background: var(--recess); border-radius: var(--r-input); margin-bottom: 18px; font-family: var(--ui); font-size: .82rem; }
.mrecip .to-label { color: var(--ink-faint); font-weight: 500; }
.mrecip .to-name { font-weight: 600; color: var(--ink); }
.mrecip .to-email { color: var(--ink-muted); }
.mrecip .terr { margin-left: auto; font-family: var(--ui); font-weight: 600; font-size: .7rem; color: var(--ink); background: var(--surface-2); padding: 2px 8px; border-radius: var(--r-pill); }
.tplbar { display: flex; align-items: center; gap: 6px; margin-bottom: 16px; overflow-x: auto; padding-bottom: 2px; }
.tplchip { font-family: var(--ui); font-weight: 500; font-size: .72rem; padding: 5px 12px; border-radius: var(--r-pill); border: 1px solid var(--hairline); background: var(--surface-2); color: var(--ink-muted); cursor: pointer; white-space: nowrap; display: inline-flex; align-items: center; gap: 5px; transition: border-color var(--d1) var(--ease),color var(--d1) var(--ease),background var(--d1) var(--ease); }
.tplchip:hover { border-color: var(--hairline-strong); color: var(--ink); }
.tplchip.on { background: var(--ink); color: var(--surface-2); border-color: transparent; font-weight: 600; }
.inp.em-body { min-height: 165px; resize: vertical; line-height: 1.55; padding: 12px 14px; }
.em-tools { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; margin: -6px 0 18px; }
.em-ins { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.em-ins .lbl { font-family: var(--ui); font-size: .68rem; color: var(--ink-faint); margin-right: 2px; }
.tokbtn { font-family: var(--mono); font-size: .68rem; padding: 3px 8px; border-radius: 6px; border: 1px solid var(--hairline); background: var(--surface-2); color: var(--ink-muted); cursor: pointer; transition: border-color var(--d1) var(--ease),color var(--d1) var(--ease); }
.tokbtn:hover { border-color: var(--ember); color: var(--ember); }
.ai-btn { display: inline-flex; align-items: center; gap: 5px; font-family: var(--ui); font-weight: 600; font-size: .72rem; color: var(--ember); background: var(--ember-soft); border: 0; padding: 4px 10px; border-radius: var(--r-pill); cursor: pointer; transition: background var(--d1) var(--ease); }
.ai-btn:hover { background: var(--ember-soft-2); }
.ai-btn .bi { font-size: 11px; line-height: 0; }
.mact.spread { justify-content: space-between; }
.mtrack { display: flex; align-items: center; gap: 6px; font-family: var(--ui); font-size: .72rem; color: var(--ink-faint); }
.mtrack .bi { color: var(--success); line-height: 0; }
.mact-r { display: flex; align-items: center; gap: 8px; }
.tabs { display: flex; gap: 2px; border-bottom: 1px solid var(--hairline); }
.tabs a { font-family: var(--ui); font-weight: 500; font-size: .82rem; color: var(--ink-muted); text-decoration: none; padding: 9px 12px; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.tabs a.on { color: var(--ink); border-color: var(--ember); }
.tabs a .c { font-size: .7rem; color: var(--ink-faint); margin-left: 5px; }
.crumbs { display: flex; align-items: center; gap: 7px; font-family: var(--ui); font-size: .76rem; color: var(--ink-muted); }
.crumbs .sep { color: var(--ink-faint); }
.crumbs b { color: var(--ink); font-weight: 600; }
.pager { display: flex; gap: 4px; align-items: center; font-family: var(--ui); font-size: .78rem; }
.pager a { min-width: 28px; height: 28px; display: grid; place-items: center; border-radius: 7px; color: var(--ink-muted); text-decoration: none; border: 1px solid transparent; }
.pager a.on { background: var(--surface-2); border-color: var(--hairline); color: var(--ink); }
.tablefoot { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 22px; border-top: 1px solid var(--hairline); font-family: var(--ui); }
.tablefoot .tf-size { display: flex; align-items: center; gap: 10px; }
.tablefoot .tf-size .lbl { font-weight: 500; font-size: .76rem; color: var(--ink-muted); }
.tablefoot .tf-page { display: flex; align-items: center; gap: 16px; }
.pgrange { font-size: .76rem; color: var(--ink-faint); }
.pgrange b { color: var(--ink); font-weight: 600; }
.pgbtn { font-family: var(--ui); font-weight: 500; font-size: .78rem; color: var(--ink); background: var(--surface-2); border: 0; border-radius: var(--r-pill); padding: 6px 14px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; transition: background var(--d1) var(--ease); }
.pgbtn .bi { font-size: 11px; line-height: 0; }
.pgbtn:hover { background: var(--surface-3); }
.pgbtn[disabled], .pgbtn[aria-disabled=true] { opacity: .4; pointer-events: none; }
.filterbar { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; padding: 4px 12px; background: var(--surface); border-radius: 12px; }
.shell .filterbar { background: var(--pane); border: 0; -webkit-backdrop-filter: blur(26px) saturate(150%); backdrop-filter: blur(26px) saturate(150%); }
.fchip { font-family: var(--ui); font-size: .74rem; font-weight: 500; padding: 5px 10px; border-radius: var(--r-pill); border: 0; -webkit-appearance: none; appearance: none; color: var(--ink-muted); background: transparent; cursor: pointer; display: inline-flex; gap: 6px; align-items: center; transition: background var(--d2) var(--ease),color var(--d2) var(--ease); }
.fchip .bi { font-size: 13px; line-height: 0; }
.fchip:hover { background: var(--overlay-hover); }
.fchip.on { background: var(--surface-2); color: var(--ink); font-weight: 600; }
.tt { position: relative; display: inline-block; }
.tt .bub { position: absolute; bottom: calc(100% + 7px); left: 50%; transform: translateX(-50%); background: var(--overlay); -webkit-backdrop-filter: var(--overlay-blur); backdrop-filter: var(--overlay-blur); border: 1px solid var(--overlay-border); color: var(--ink); font-family: var(--ui); font-size: .72rem; padding: 5px 9px; border-radius: 8px; white-space: nowrap; box-shadow: var(--shadow-pop); }
.status { display: inline-flex; align-items: center; font-family: var(--ui); font-size: .72rem; font-weight: 500; padding: 3px 9px; border-radius: var(--r-pill); }
.st-draft { background: var(--surface-2); color: var(--ink-muted); }
.st-sched { background: var(--info-bg); color: var(--info); }
.st-proof { background: var(--warning-bg); color: var(--warning); }
.st-mailed { background: var(--success-bg); color: var(--success); }
.st-failed { background: var(--danger-bg); color: var(--danger); }
.st-arch { background: transparent; color: var(--ink-faint); border: 1px solid var(--hairline); }
.skel { background: var(--recess); border-radius: var(--r-sm); position: relative; overflow: hidden; }
.skel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent); animation: sh 1.4s infinite; }
@keyframes sh { 100%{transform:translateX(100%)} }
.skel::after { transform: translateX(-100%); }
.stream { display: flex; flex-direction: column; }
.stream-row { display: flex; align-items: flex-start; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--hairline); }
.stream-row:last-child { border-bottom: 0; }
.stream-icon { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; flex: none; font-size: 15px; }
.stream-icon .bi { line-height: 0; }
.stream-icon.t-info { background: var(--info-bg); color: var(--info); }
.stream-icon.t-success { background: var(--success-bg); color: var(--success); }
.stream-icon.t-warn { background: var(--warning-bg); color: var(--warning); }
.stream-icon.t-neutral { background: var(--well); color: var(--ink-muted); }
.stream-content { flex: 1; min-width: 0; }
.stream-title-line { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.stream-title { font-family: var(--ui); font-size: .82rem; font-weight: 600; color: var(--ink); }
.stream-title span { font-weight: 400; color: var(--ink-muted); }
.stream-time { font-family: var(--ui); font-size: .68rem; color: var(--ink-faint); white-space: nowrap; }
.stream-meta { font-family: var(--sans); font-size: .75rem; color: var(--ink-muted); margin-top: 5px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.stream-meta code { font-family: var(--mono); font-size: .68rem; background: var(--well); padding: 2px 6px; border-radius: 4px; color: var(--ink); }
.stream-bubble { margin-top: 8px; background: var(--surface-2); border-radius: 10px; padding: 10px 14px; font-family: var(--sans); font-size: .75rem; color: var(--ink); line-height: 1.45; }
.stream-link { color: var(--ember); text-decoration: none; display: inline-flex; align-items: center; gap: 5px; font-family: var(--ui); font-size: .68rem; font-weight: 600; margin-top: 6px; }
.stream-link .bi { line-height: 0; }
.app-ground { position: fixed; inset: 0; z-index: 0; background: var(--field); }
.app-ground::before { content: ""; position: absolute; inset: -25% -12%; background: var(--aura-dark); filter: blur(var(--aura-blur)); mix-blend-mode: screen; }
:root[data-theme="light"] .app-ground::before { background: var(--aura-light); mix-blend-mode: normal; }
.app-ground::after { content: ""; position: absolute; inset: 0 0 auto; height: 560px; background-image: var(--dot-grid-dark); background-size: var(--dot-size); -webkit-mask-image: var(--aura-mask); mask-image: var(--aura-mask); }
:root[data-theme="light"] .app-ground::after { background-image: var(--dot-grid-light); }
.shell { position: relative; z-index: 1; grid-template-columns: 264px 1fr; min-height: 100vh; }
.shell>nav { padding: 28px 16px; gap: 8px; }
.shell>nav a { padding: 13px 14px; gap: 13px; font-size: .88rem; border-radius: 12px; }
.shell>nav a svg { width: 18px; height: 18px; }
.shell>nav a .bi { font-size: 18px; }
.shell .hdr { height: 60px; padding: 0 36px; }
.shell .body { background: transparent; padding: 44px clamp(24px,5vw,64px) 96px; gap: 22px; max-width: 1200px; margin: 0 auto; }
.shell .card { background: var(--pane); border-radius: var(--r-panel); padding: 30px; -webkit-backdrop-filter: blur(26px) saturate(150%); backdrop-filter: blur(26px) saturate(150%); }
.shell .card.focal { background: var(--pane-focal); -webkit-backdrop-filter: none; backdrop-filter: none; }
:root[data-theme="light"] .shell .card.focal { -webkit-backdrop-filter: blur(30px) saturate(160%); backdrop-filter: blur(30px) saturate(160%); }
.dtable { display: flex; flex-direction: column; }
.dtable-scroll { overflow-x: auto; }
.shell .card.dtable-host { padding: 6px 20px 8px; }
.drow { display: grid; grid-template-columns: var(--dt-cols); min-width: var(--dt-min,0); align-items: center; gap: 14px; padding: 15px 12px; border-bottom: 1px solid var(--hairline); text-decoration: none; color: inherit; }
.drow:last-child { border-bottom: 0; }
.drow>* { min-width: 0; }
a.drow { border-radius: 10px; transition: background var(--d2) var(--ease); }
a.drow:hover, .drow.sel { background: var(--overlay-hover); }
.drow.dhead { padding: 14px 12px 12px; font-family: var(--ui); font-weight: 600; font-size: .68rem; letter-spacing: .04em; color: var(--ink-faint); }
.drow.dhead:hover { background: none; }
.dcell-fade { overflow: hidden; white-space: nowrap; -webkit-mask-image: linear-gradient(to right,#000 calc(100% - 22px),transparent); mask-image: linear-gradient(to right,#000 calc(100% - 22px),transparent); }
.subpanel { background: var(--recess); border-radius: 16px; padding: 20px 22px; }
.subpanel.t-blue { background: var(--tint-blue); }
.subpanel.t-violet { background: var(--tint-violet); }
.subpanel.t-green { background: var(--tint-green); }
.subpanel.t-amber { background: var(--tint-amber); }
.subpanel.t-ember { background: var(--tint-ember); }
.subpanel.t-neutral { background: var(--tint-neutral); }
.subpanel.t-cream { background: var(--tint-cream); padding: 24px 26px; }
.card.t-blue { background: var(--tint-blue); }
.card.t-violet { background: var(--tint-violet); }
.card.t-green { background: var(--tint-green); }
.card.t-amber { background: var(--tint-amber); }
.card.t-ember { background: var(--tint-ember); }
.card.t-neutral { background: var(--tint-neutral); }
.shell .card.t-blue, .shell .card.t-violet, .shell .card.t-green, .shell .card.t-amber, .shell .card.t-ember, .shell .card.t-neutral { -webkit-backdrop-filter: blur(26px) saturate(150%); backdrop-filter: blur(26px) saturate(150%); }
.dept-sales { color: var(--dept-sales); }
.dept-editorial { color: var(--dept-editorial); }
.dept-production { color: var(--dept-production); }
.ai-composer { padding: 1.5px; border-radius: calc(var(--r-panel) + 2px); background: var(--ai-rim-grad); box-shadow: var(--ai-glow); }
.ai-composer>* { display: block; background: var(--ai-surface); border-radius: var(--r-panel); -webkit-backdrop-filter: blur(16px) saturate(150%); backdrop-filter: blur(16px) saturate(150%); }
.card.bleed { padding: 0; overflow: hidden; position: relative; display: flex; flex-direction: column; min-height: 300px; }
.card.bleed > .bleed-media { position: absolute; inset: 0; z-index: 0; }
.card.bleed > .bleed-lead { position: relative; z-index: 1; padding: 22px 26px; }
.card.bleed > .cardacts.band { position: relative; z-index: 1; margin: auto 0 0; padding: 20px 26px 18px; }
.card.bleed > .cardacts.band::before { content: ""; position: absolute; inset: -36px 0 0; z-index: -1; background: linear-gradient(to top,var(--band-tint,rgba(8,12,24,.80)),transparent); -webkit-backdrop-filter: blur(13px) saturate(140%); backdrop-filter: blur(13px) saturate(140%); -webkit-mask-image: linear-gradient(to top,#000 52%,transparent); mask-image: linear-gradient(to top,#000 52%,transparent); }
.card.bleed > .cardacts.band .hint { color: rgba(255,255,255,.88); }
.card.bleed > .cardacts.band .btn[disabled] { background: rgba(255,255,255,.15); color: #fff; opacity: .92; }
.cardhead { font-family: var(--ui); font-weight: 600; font-size: .94rem; letter-spacing: -.005em; color: var(--ink); display: block; margin-bottom: 16px; }
.cardhead .sub { font-family: var(--sans); font-weight: 400; font-size: .8rem; color: var(--ink-faint); margin-left: 7px; }
.cardhead.row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.subpanel .cardhead { margin-bottom: 14px; }
.cardacts { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 16px; }
.cardacts.split { justify-content: space-between; }
.cardacts .hint { font-family: var(--sans); font-size: .75rem; color: var(--ink-faint); }
.actionrow { display: flex; align-items: center; justify-content: space-between; gap: 16px; background: var(--surface); border-radius: var(--r-card); padding: 15px 18px; }
.actionrow>:first-child { min-width: 0; }
.actionrow .t { font-family: var(--ui); font-weight: 600; font-size: .88rem; color: var(--ink); display: block; }
.actionrow .d { font-family: var(--sans); font-size: .8rem; color: var(--ink-muted); display: block; margin-top: 2px; }
.actionrow .btn, .actionrow .switch { flex: none; }
.shell .actionrow { background: var(--pane); -webkit-backdrop-filter: blur(26px) saturate(150%); backdrop-filter: blur(26px) saturate(150%); }
.actionlist { background: var(--surface); border-radius: var(--r-card); overflow: hidden; }
.shell .actionlist { background: var(--pane); -webkit-backdrop-filter: blur(26px) saturate(150%); backdrop-filter: blur(26px) saturate(150%); }
.actionlist>.actionrow { background: 0; border-radius: 0; -webkit-backdrop-filter: none; backdrop-filter: none; border-bottom: 1px solid var(--hairline); }
.actionlist>.actionrow:last-child { border-bottom: 0; }
.pipeline { display: flex; align-items: flex-start; width: 100%; }
.pipeline .pst { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 13px; position: relative; }
.pipeline .pst::before { content: ""; position: absolute; top: 6.5px; left: calc(-50% + 13px); width: calc(100% - 26px); height: 2px; border-radius: 2px; background: var(--hairline-strong); }
.pipeline .pst:first-child::before { display: none; }
.pipeline .pst.done::before, .pipeline .pst.now::before { background: var(--ember); }
.pipeline .pst .pdot { width: 15px; height: 15px; border-radius: 50%; background: transparent; box-shadow: inset 0 0 0 2px var(--hairline-strong); transition: background var(--d2) var(--ease),box-shadow var(--d2) var(--ease); }
.pipeline .pst.done .pdot { background: var(--success); box-shadow: none; }
.pipeline .pst.now .pdot { background: var(--ember); box-shadow: none; }
.pipeline .pst .plbl { font-family: var(--ui); font-weight: 500; font-size: .72rem; color: var(--ink-faint); white-space: nowrap; text-align: center; }
.pipeline .pst.done .plbl { color: var(--ink-muted); }
.pipeline .pst.now .plbl { color: var(--ember); font-weight: 600; }
.ai-spark { color: var(--ember); }
.ai-fab { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: var(--ai-surface); border: 1px solid var(--ai-rim); box-shadow: var(--ai-glow); -webkit-backdrop-filter: blur(12px) saturate(150%); backdrop-filter: blur(12px) saturate(150%); color: var(--ember); cursor: pointer; transition: box-shadow var(--d2) var(--ease),transform var(--d1) var(--ease); }
.ai-fab .bi { font-size: 20px; line-height: 0; }
.ai-fab:hover { box-shadow: var(--ai-glow),0 0 0 4px var(--ember-soft); }
.ai-fab:active { transform: scale(.96); }
.ai-fab:focus-visible { outline: 0; box-shadow: var(--ember-ring); }
.ai-panel { position: absolute; min-width: 248px; max-width: 300px; border-radius: var(--r-panel); background: var(--ai-surface); border: 1px solid var(--ai-rim); box-shadow: var(--ai-glow); -webkit-backdrop-filter: blur(16px) saturate(150%); backdrop-filter: blur(16px) saturate(150%); padding: 6px; font-family: var(--ui); color: var(--ai-ink); z-index: 6; overflow: hidden; }
.ai-panel::before { content: ""; position: absolute; inset: 0; background: var(--ai-tint); pointer-events: none; }
.ai-panel>* { position: relative; }
.ai-panel .ai-head { display: flex; align-items: center; gap: 8px; padding: 9px 10px 7px; font-weight: 600; font-size: .82rem; }
.ai-panel .ai-head .bi { color: var(--ember); font-size: 15px; line-height: 0; }
.ai-act { display: flex; align-items: center; gap: 9px; width: 100%; padding: 9px 10px; border-radius: 10px; font-family: var(--ui); font-size: .8rem; font-weight: 500; color: var(--ai-ink); background: 0; border: 0; cursor: pointer; text-align: left; }
.ai-act .bi { font-size: 14px; line-height: 0; color: var(--ai-ink-muted); flex: none; }
.ai-act:hover { background: var(--ai-hover); }
.ai-act .sub { display: block; font-weight: 400; font-size: .7rem; color: var(--ai-ink-muted); margin-top: 1px; }
.ai-rewrite { display: inline-flex; align-items: center; gap: 4px; padding: 4px; border-radius: var(--r-pill); background: var(--ai-surface); border: 1px solid var(--ai-rim); box-shadow: var(--ai-glow); -webkit-backdrop-filter: blur(14px) saturate(150%); backdrop-filter: blur(14px) saturate(150%); }
.ai-rewrite>.bi { color: var(--ember); font-size: 14px; margin: 0 4px 0 6px; line-height: 0; }
.ai-rewrite button { font-family: var(--ui); font-size: .75rem; font-weight: 500; color: var(--ai-ink); background: 0; border: 0; padding: 6px 10px; border-radius: 999px; cursor: pointer; }
.ai-rewrite button:hover { background: var(--ai-hover); }
.ai-chip { display: inline-flex; align-items: center; gap: 4px; font-family: var(--ui); font-size: .6rem; font-weight: 600; color: var(--ember); background: var(--ember-soft); padding: 2px 7px; border-radius: 999px; }
.ai-chip .bi { font-size: 10px; line-height: 0; }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .ai-fab, .ai-panel, .ai-rewrite { background: #F7F7F7; }
}
body { padding-bottom: 0; overflow-x: hidden; }
img { display: block; }
a { color: inherit; text-decoration: none; }
.wrap-n { max-width: 1180px; margin: 0 auto; padding: 0 26px; }
.eyebrow { font-family: var(--ui); font-weight: 600; font-size: .7rem; letter-spacing: .04em; color: var(--ink-faint); }
.eyebrow.em { color: var(--ember); }
.lede { font-family: var(--sans); font-weight: 400; font-size: 1.05rem; line-height: 1.55; text-wrap: balance; color: var(--ink-muted); }
.sec { padding-block: clamp(56px,8vw,96px); }
.sec-field { background: var(--field); }
.sec-bg { background: var(--bg); }
body::before { content: ""; position: fixed; inset: 0; z-index: -2; background: var(--field); }
body::marker { content: none; }
html::after { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .6; background-image: var(--dot-grid-dark); background-size: var(--dot-size); }
:root[data-theme="light"]::after { background-image: var(--dot-grid-light); }
@media (prefers-color-scheme:light) {
  :root:not([data-theme="dark"])::after { background-image: var(--dot-grid-light); }
}
body::after { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; background-image: var(--aura-dark); filter: blur(var(--aura-blur)); mix-blend-mode: screen; }
:root[data-theme="light"] body::after { background-image: var(--aura-light); mix-blend-mode: normal; }
@media (prefers-color-scheme:light) {
  :root:not([data-theme="dark"]) body::after { background-image: var(--aura-light); mix-blend-mode: normal; }
}
.sec-surface, .sec-field { background: transparent; }
.field-aura::before, .field-aura::after { display: none; }
.sec-bg { background: var(--overlay); -webkit-backdrop-filter: blur(26px) saturate(150%); backdrop-filter: blur(26px) saturate(150%); }
.hero-shell { background: var(--bg); -webkit-backdrop-filter: none; backdrop-filter: none; }
.sec-surface { background: var(--surface); }
.field-aura { position: relative; overflow: hidden; }
.field-aura::before { content: ""; position: absolute; inset: -40% -12%; z-index: 0; pointer-events: none; background: var(--aura-dark); filter: blur(var(--aura-blur)); mix-blend-mode: screen; }
:root[data-theme="light"] .field-aura::before { background: var(--aura-light); mix-blend-mode: normal; }
@media (prefers-color-scheme:light) {
  :root:not([data-theme="dark"]) .field-aura::before { background: var(--aura-light); mix-blend-mode: normal; }
}
.field-aura::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .6; background-image: var(--dot-grid-dark); background-size: var(--dot-size); }
:root[data-theme="light"] .field-aura::after { background-image: var(--dot-grid-light); }
@media (prefers-color-scheme:light) {
  :root:not([data-theme="dark"]) .field-aura::after { background-image: var(--dot-grid-light); }
}
.field-aura>* { position: relative; z-index: 1; }
.shead { max-width: 52ch; margin: 0 auto clamp(40px,6vw,64px); text-align: center; }
.shead h2 { font-size: 1.9rem; margin-top: 10px; }
.shead p { margin-top: 14px; }
.hero-shell { position: relative; overflow: hidden; min-height: min(104vh,1000px); }
.hero-shell::before { content: ""; position: absolute; inset: -25% -12%; z-index: 0; pointer-events: none; background: var(--aura-dark); filter: blur(var(--aura-blur)); mix-blend-mode: screen; }
:root[data-theme="light"] .hero-shell::before { background: var(--aura-light); mix-blend-mode: normal; }
@media (prefers-color-scheme:light) {
  :root:not([data-theme="dark"]) .hero-shell::before { background: var(--aura-light); mix-blend-mode: normal; }
}
.hero-shell::after { content: ""; position: absolute; inset: 0 0 auto; height: 600px; z-index: 1; pointer-events: none; background-image: var(--dot-grid-dark); background-size: var(--dot-size); -webkit-mask-image: var(--aura-mask); mask-image: var(--aura-mask); }
:root[data-theme="light"] .hero-shell::after { background-image: var(--dot-grid-light); }
@media (prefers-color-scheme:light) {
  :root:not([data-theme="dark"]) .hero-shell::after { background-image: var(--dot-grid-light); }
}
.nav { position: fixed; top: 0; left: 0; right: 0; z-index: 50; background: transparent; border-bottom: 1px solid transparent; transition: background var(--d3) var(--ease),border-color var(--d3) var(--ease); }
.nav::before { content: ""; position: absolute; inset: 0; z-index: -1; background: transparent; transition: background var(--d3) var(--ease); }
.nav.scrolled::before { background: var(--overlay); -webkit-backdrop-filter: var(--overlay-blur); backdrop-filter: var(--overlay-blur); }
.nav.scrolled { border-bottom-color: var(--overlay-border); }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .nav.scrolled::before { background: var(--overlay-solid); }
}
.nav-in { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1180px; margin: 0 auto; padding: 20px 26px; transition: padding var(--d3) var(--ease); }
.nav.scrolled .nav-in { padding-block: 13px; }
.nav-left { display: flex; align-items: center; gap: 34px; }
.wm-mark { display: block; color: var(--ink); flex: none; width: 121px; }
.wm-mark svg { display: block; width: 100%; height: auto; fill: currentColor; }
.nav-links { display: flex; align-items: center; gap: clamp(30px,3.2vw,46px); }
.nav-links a { display: inline-flex; align-items: center; gap: 6px; font-family: var(--sans); font-weight: 500; font-size: .92rem; color: var(--ink); text-decoration: none; transition: color var(--d2) var(--ease); }
.nav-links a:hover { color: var(--ember); }
.nav-links a .bi { font-size: 10px; display: inline-block; line-height: 1; }
.navdrop > a .bi { display: grid; place-items: center; width: 16px; height: 16px; transition: transform 200ms var(--ease); }
.navdrop:focus-within > a .bi { transform: rotate(180deg); }
@media (hover:hover) and (pointer:fine) {
  .navdrop:hover > a .bi { transform: rotate(180deg); }
}
@media (prefers-reduced-motion:reduce) {
  .navdrop > a .bi { transition: none; }
  .navdrop:hover > a .bi, .navdrop:focus-within > a .bi { transform: none; }
}
.nav-right .signin .bi { font-size: 13px; display: inline-block; line-height: 1; }
@media (max-width:860px) {
  .nav-links { display: none; }
}
.nav-right { display: flex; align-items: center; gap: clamp(30px,3.2vw,46px); }
.nav-right .signin { font-family: var(--sans); font-weight: 500; font-size: .92rem; color: var(--ink); text-decoration: none; display: inline-flex; align-items: center; gap: 9px; padding-block: 6px; margin-block: -6px; }
.nav-right .signin { transition: color var(--d2) var(--ease); }
.nav-right .signin:hover { color: var(--ember); }
.nav-right .rule { width: 1px; height: 18px; background: rgba(255,255,255,.14); flex: none; }
@media (max-width:860px) {
  .nav-right .rule { display: none; }
}
.menubtn { display: inline-flex; align-items: center; gap: 9px; background: none; border: 0; padding: 6px 2px; cursor: pointer; color: var(--ink); font-family: var(--ui); font-weight: 500; font-size: .85rem; }
.menubtn .t { color: var(--ink-muted); transition: color var(--d2) var(--ease); }
.menubtn:hover .t { color: var(--ink); }
.menubtn .lines { position: relative; width: 20px; height: 14px; flex: none; }
.menubtn .lines i { position: absolute; left: 0; width: 100%; height: 1.5px; background: currentColor; border-radius: 2px; transition: transform var(--d3) var(--ease),opacity var(--d2) var(--ease); }
.menubtn .lines i:nth-child(1) { top: 0; }
.menubtn .lines i:nth-child(2) { top: 50%; transform: translateY(-50%); }
.menubtn .lines i:nth-child(3) { bottom: 0; }
.menubtn .lines.x i:nth-child(1) { top: 50%; transform: translateY(-50%) rotate(45deg); }
.menubtn .lines.x i:nth-child(2) { opacity: 0; }
.menubtn .lines.x i:nth-child(3) { bottom: auto; top: 50%; transform: translateY(-50%) rotate(-45deg); }
@media (max-width:480px) {
  .menubtn .t { display: none; }
}
.menu-drawer { position: fixed; inset: 0; z-index: 90; display: none; overflow-y: auto; background: var(--overlay); -webkit-backdrop-filter: var(--overlay-blur); backdrop-filter: var(--overlay-blur); }
.menu-drawer.open { display: block; animation: fein var(--d3) var(--ease); }
@keyframes fein { from{opacity:0}to{opacity:1} }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .menu-drawer { background: var(--overlay-solid); }
}
.menu-drawer .wrap-n { padding-block: 22px 32px; min-height: 100%; display: flex; flex-direction: column; }
.menu-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: clamp(28px,8vw,40px); }
.navdrop { position: relative; }
.navdrop > a { display: inline-flex; align-items: center; gap: 6px; padding-block: 34px; margin-block: -34px; }
.nav.scrolled .navdrop > a { padding-block: 27px; margin-block: -27px; }
.navdrop { position: static; }
.navdrop-panel { position: absolute; left: 0; right: 0; top: 100%; z-index: 60; padding: clamp(30px,3.4vw,44px) 0 clamp(34px,3.8vw,48px); background: radial-gradient(rgba(218,192,186,.32),rgba(250,250,250,.18)); -webkit-backdrop-filter: blur(64px) saturate(190%); backdrop-filter: blur(64px) saturate(190%); border-top: 1px solid rgba(20,18,15,.08); transform-origin: top; opacity: 0; visibility: hidden; transform: translateY(-14px); transition: opacity 200ms var(--ease) 260ms,transform 200ms var(--ease) 260ms, visibility 0s calc(200ms + 260ms); }
:root[data-theme="dark"] .navdrop-panel { background: radial-gradient(rgba(8,13,32,.32),rgba(8,13,32,.18)),rgba(8,13,32,.72); border-top: 1px solid rgba(255,255,255,.10); }
:root[data-theme="dark"] .navdrop-grid .t, :root[data-theme="dark"] .navdrop-feat .ft-t { color: #F2F6FF; }
:root[data-theme="dark"] .navdrop-grid .t em, :root[data-theme="dark"] .navdrop-feat .ft-d { color: rgba(226,235,252,.62); }
:root[data-theme="dark"] .navdrop-feat .ft-cta { color: var(--ember-lit); }
:root[data-theme="dark"] .navdrop-feat::before { background: linear-gradient(rgba(255,255,255,.14) 0%,rgba(255,255,255,.14) 62%,rgba(255,255,255,0) 100%); }
.navdrop:focus-within > .navdrop-panel { opacity: 1; visibility: visible; transform: none; transition: opacity 520ms var(--ease),transform 520ms var(--ease),visibility 0s; }
@media (hover:hover) and (pointer:fine) {
  .navdrop:hover > .navdrop-panel { opacity: 1; visibility: visible; transform: none; transition: opacity 520ms var(--ease),transform 520ms var(--ease),visibility 0s; }
}
.navdrop-inner { max-width: 1180px; margin: 0 auto; padding-inline: 26px; display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: clamp(36px,4.4vw,64px); }
@media (max-width:1000px) {
  .navdrop-inner { grid-template-columns: 1fr; }
}
.navdrop-grid { display: grid; grid-template-columns: repeat(2,1fr); row-gap: 26px; column-gap: clamp(24px,3vw,46px); }
@media (max-width:560px) {
  .navdrop-grid { grid-template-columns: 1fr; }
}
.navdrop-grid a, .nav-links .navdrop-feat { transition: opacity 200ms var(--ease),transform 200ms var(--ease); }
.navdrop-grid a { display: block; padding: 4px 0; text-decoration: none; opacity: 0; transform: translateY(10px); }
.navdrop:focus-within .navdrop-grid a, .navdrop:focus-within .navdrop-feat { opacity: 1; transform: none; transition-duration: 380ms; transition-delay: calc(40ms + var(--i) * 80ms); }
@media (hover:hover) and (pointer:fine) {
  .navdrop:hover .navdrop-grid a, .navdrop:hover .navdrop-feat { opacity: 1; transform: none; transition-duration: 380ms; transition-delay: calc(40ms + var(--i) * 80ms); }
}
.navdrop-grid a:focus-visible, .navdrop-feat:focus-visible { outline: 0; box-shadow: var(--ember-ring); border-radius: 8px; }
.nav .bi { background-image: var(--hl-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.navdrop-grid .n { display: block; line-height: 0; margin-bottom: 12px; }
.navdrop-grid .n .bi { font-size: 20px; display: inline-block; line-height: 1; }
.navdrop-grid .t { display: block; font-family: var(--display); font-weight: 600; font-size: 1.35rem; letter-spacing: -.008em; color: #141824; line-height: 1.2; }
.navdrop-grid .t em { display: block; margin-top: 7px; font-family: var(--sans); font-style: normal; font-weight: 500; font-size: .8rem; line-height: 1.5; color: #5C6270; max-width: 28ch; }
.nav-links .navdrop-feat { display: block; text-decoration: none; position: relative; padding-left: clamp(28px,3vw,44px); opacity: 0; transform: translateY(10px); }
.navdrop-feat::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 1px; background: linear-gradient(rgba(20,18,15,.14) 0%,rgba(20,18,15,.14) 62%,rgba(20,18,15,0) 100%); }
@media (max-width:1000px) {
  .nav-links .navdrop-feat { padding: 28px 0 0; }
  .navdrop-feat::before { left: 0; right: 0; top: 0; bottom: auto; width: auto; height: 1px; background: linear-gradient(90deg,rgba(20,18,15,.14),rgba(20,18,15,0)); }
}
.navdrop-feat .ft-shot { display: block; overflow: hidden; border-radius: var(--r-card); margin-bottom: 16px; }
.navdrop-feat .ft-shot img { display: block; width: 100%; height: auto; }
.navdrop-feat .ft-t { display: block; font-family: var(--display); font-weight: 600; font-size: 1.05rem; letter-spacing: -.008em; color: #141824; line-height: 1.2; }
.navdrop-feat .ft-d { display: block; margin-top: 7px; font-family: var(--sans); font-size: .8rem; line-height: 1.5; color: #5C6270; }
.navdrop-feat .ft-cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; font-family: var(--ui); font-size: .82rem; color: #D2531F; }
.nav-links .navdrop-feat .ft-cta i { font-size: 16px; display: inline-block; line-height: 1; }
@media (prefers-reduced-transparency:reduce) {
  .navdrop-panel { background: #FAFAFA; -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (prefers-reduced-motion:reduce) {
  .navdrop-panel, .navdrop-grid a, .navdrop-feat { transform: none!important; }
}
.pm { width: 100%; max-width: 440px; margin: auto; }
.pm-rows { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.pm-row { display: grid; grid-template-columns: 26px minmax(0,1fr); gap: 14px; align-items: start; padding: 10px 0; color: var(--ink); text-decoration: none; transition: color var(--d2) var(--ease); }
.pm-ic { color: var(--ember); font-size: 1.2rem; line-height: 1.3; }
.pm-t { display: grid; gap: 2px; }
.pm-t b { font-family: var(--sans); font-weight: 600; font-size: 1.05rem; line-height: 1.3; }
.pm-t em { font-style: normal; font-family: var(--sans); font-size: .88rem; line-height: 1.45; color: var(--ink-muted); }
.pm-end { padding-top: 28px; display: flex; justify-content: center; }
@media (hover:hover) and (pointer:fine) {
  .pm-row:hover { color: var(--ember); }
}
.pm-row:active { opacity: .7; }
@media (min-width:861px) {
  .nav-right .menubtn { display: none; }
}
@media (max-width:860px) {
  .nav-right { gap: 12px; }
}
.nav-right .menubtn { padding: 15px 12px; margin: 0 -12px 0 0; color: var(--ink); transition: color var(--d2) var(--ease),transform 140ms var(--ease); }
.nav-right .menubtn:active { transform: scale(.96); }
@media (hover:hover) and (pointer:fine) {
  .nav-right .menubtn:hover { color: var(--ember); }
}
.hero { position: relative; z-index: 3; text-align: center; padding-top: clamp(108px,13vw,150px); }
.hero .pill-announce { display: inline-flex; align-items: center; gap: 9px; font-family: var(--ui); font-weight: 500; font-size: .72rem; color: var(--ink-muted); text-decoration: none; background: var(--glass); border-radius: var(--r-pill); padding: 8px 16px; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); transition: background var(--d2) var(--ease); }
.hero .pill-announce:hover { background: var(--glass-strong); }
.hero .pill-announce i { width: 8px; height: 8px; border-radius: 50%; background: var(--ember); flex: none; }
.hero h1.serif { font-size: clamp(2rem,3.6vw,3rem); letter-spacing: -.01em; line-height: 1.08; max-width: 21ch; margin: 22px auto 0; }
.hero .lede { max-width: 56ch; margin: 20px auto 0; font-size: 1.05rem; }
.hero-cta { position: absolute; left: 0; right: 0; bottom: 9%; z-index: 3; display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.hero-figure { position: absolute; left: 50%; bottom: 2%; z-index: 1; pointer-events: none; width: min(1000px,68vw); transform: translate(-50%,var(--par,0px)); will-change: transform; }
.hero-figure img { display: block; width: 100%; height: auto; }
.hero-fade { position: absolute; inset: auto 0 0; height: 150px; z-index: 2; pointer-events: none; background: linear-gradient(transparent,var(--bg)); }
.hero-cta .btn-secondary { background: #2C5AA8; color: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
.hero-cta .btn-secondary:hover { background: #3466BC; }
@media (max-width:600px) {
  .hero-shell { min-height: 820px; }
  .hero-cta { position: static; margin: 26px auto 0; padding: 0 20px; }
  .hero-figure { width: 96vw; bottom: 0; }
  .hero-fade { height: 110px; }
}
.stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; text-align: center; }
.stats .metric { font-size: clamp(2.4rem,5.5vw,3.6rem); }
.stats .k { margin-top: 10px; font-family: var(--sans); font-size: .85rem; color: var(--ink-muted); }
@media (max-width:680px) {
  .stats { grid-template-columns: 1fr; gap: 32px; }
}
.docards { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
@media (max-width:900px) {
  .docards { grid-template-columns: 1fr; }
}
.docard { position: relative; aspect-ratio: 4/5; border-radius: var(--r-card); background: var(--surface); overflow: hidden; }
.docard .art { position: absolute; inset: 0; background: repeating-linear-gradient(135deg,transparent 0 13px,var(--hairline) 13px 14px); }
.docard .cap { position: absolute; left: 20px; bottom: 20px; right: 20px; }
.docard .cap .n { font-family: var(--ui); font-weight: 600; font-size: .7rem; color: var(--ink-faint); letter-spacing: .04em; }
.docard .cap h4 { font-family: var(--sans); font-weight: 600; font-size: 1.05rem; margin-top: 8px; color: var(--ink); }
.docard .cap p { font-family: var(--sans); font-size: .85rem; color: var(--ink-muted); margin-top: 4px; max-width: none; }
.persona-panel { display: none; }
.persona-panel.on { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(28px,6vw,60px); align-items: center; margin-top: clamp(32px,5vw,52px); animation: fein var(--d3) var(--ease); }
@media (max-width:860px) {
  .persona-panel.on { grid-template-columns: 1fr; gap: 24px; }
}
.persona-panel h3.serif { font-size: 1.4rem; margin-bottom: 12px; }
.persona-panel .lede { max-width: 38ch; margin: 0; }
.persona-panel .btn { margin-top: 20px; }
.persona-fig { aspect-ratio: 5/4; border-radius: var(--r-panel); background: var(--surface); position: relative; overflow: hidden; }
.persona-fig::after { content: ""; position: absolute; inset: 0; background: radial-gradient(120% 90% at 30% 20%,var(--ember-soft),transparent 60%); }
.proof-panel { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(28px,6vw,60px); align-items: center; padding: clamp(30px,5vw,48px); background: var(--glass); border-radius: var(--r-panel); -webkit-backdrop-filter: blur(20px) saturate(150%); backdrop-filter: blur(20px) saturate(150%); box-shadow: inset 0 1px 0 rgba(255,255,255,.14); }
@media (max-width:820px) {
  .proof-panel { grid-template-columns: 1fr; gap: 26px; }
}
.proof-panel .metric { font-size: clamp(3.2rem,7vw,5rem); }
.proof-panel .lede { max-width: 30ch; margin-top: 12px; }
.proof-panel blockquote { font-family: var(--display); font-weight: var(--display-weight); font-style: italic; font-size: clamp(1.25rem,2.4vw,1.6rem); line-height: 1.32; color: var(--ink); }
.proof-panel .who { margin-top: 16px; font-family: var(--ui); font-size: .85rem; color: var(--ink-muted); }
.math-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px,6vw,64px); align-items: center; }
@media (max-width:860px) {
  .math-grid { grid-template-columns: 1fr; gap: 30px; }
}
.math-grid h2.serif { font-size: 1.9rem; margin-bottom: 14px; }
.costs { width: 100%; border-collapse: collapse; }
.costs td { padding: 13px 2px; border-bottom: 1px solid var(--hairline); font-family: var(--sans); font-size: .85rem; color: var(--ink-muted); }
.costs tr:last-child td { border-bottom: 0; }
.costs tr:first-child td { font-family: var(--ui); font-size: .68rem; letter-spacing: .04em; color: var(--ink-faint); padding-bottom: 8px; }
.costs td:last-child { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.costs tr td:first-child { color: var(--ink); }
.costs .me td:first-child { font-weight: 600; }
.costs .me td:last-child { color: var(--ember); }
.flip-rail { display: flex; gap: 12px; overflow-x: auto; padding: 4px 26px 16px; scroll-snap-type: x mandatory; margin-inline: calc(50% - 50vw); }
.flip-pg { flex: none; width: min(210px,72vw); aspect-ratio: 3/4; scroll-snap-align: start; border-radius: var(--r-card); background: linear-gradient(180deg,#f7f7f7,#e9e9e9); position: relative; overflow: hidden; box-shadow: var(--shadow-md); }
.flip-pg::before { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(0,0,0,.08); }
.flip-pg span { position: absolute; top: 22px; left: 0; right: 0; text-align: center; font-family: var(--display); font-weight: 600; color: #1c1c1c; font-size: 1rem; letter-spacing: -.01em; }
.faq-head { max-width: 52ch; margin-bottom: clamp(32px,5vw,52px); }
.faq-head .eyebrow { display: block; margin-bottom: 14px; }
.faq-head h2.serif { font-size: 1.9rem; }
.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 44px; }
@media (max-width:820px) {
  .faq-grid { grid-template-columns: 1fr; }
}
.faq-grid details { border-top: 1px solid var(--hairline); padding: 20px 0; }
.faq-grid summary { font-family: var(--sans); font-weight: 600; font-size: 1.02rem; color: var(--ink); cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.faq-grid summary::-webkit-details-marker { display: none; }
.faq-grid summary .bi { color: var(--ink-faint); transition: transform var(--d2) var(--ease); flex: none; }
.faq-grid details[open] summary .bi { transform: rotate(180deg); color: var(--ember); }
.faq-grid details p { margin-top: 12px; font-family: var(--sans); font-size: .9rem; color: var(--ink-muted); line-height: 1.6; max-width: none; }
.cta-block { text-align: center; }
.cta-block h2.serif { font-size: clamp(2.2rem,5vw,3.4rem); }
.cta-block .lede { max-width: 56ch; margin: 16px auto 0; }
.zipbox { max-width: 520px; margin: clamp(28px,4vw,36px) auto 0; display: flex; flex-direction: column; gap: 10px; }
.zipbox .field { display: flex; align-items: center; gap: 8px; background: var(--glass-strong); border-radius: var(--r-pill); padding: 7px 7px 7px 24px; -webkit-backdrop-filter: blur(22px) saturate(160%); backdrop-filter: blur(22px) saturate(160%); box-shadow: inset 0 1px 0 rgba(255,255,255,.14); transition: box-shadow var(--d2) var(--ease); }
.zipbox .field:focus-within { box-shadow: inset 0 1px 0 rgba(255,255,255,.14),var(--ember-ring); }
.zipbox input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font-family: var(--sans); font-size: 1.1rem; color: var(--ink); letter-spacing: .05em; font-variant-numeric: tabular-nums; }
.zipbox input::placeholder { color: var(--ink-faint); letter-spacing: .12em; }
.zipbox .help { font-family: var(--sans); font-size: .8rem; color: var(--ink-muted); }
.foot { position: relative; overflow: hidden; background: linear-gradient(180deg,#050A1E 0%,#0B1A3C 34%,#1E3E7E 64%,#3E74C4 100%); color: #F2F6FF; padding-block: clamp(60px,8vw,90px) 44px; border-top: 1px solid rgba(255,255,255,.12); }
.foot::before { content: ""; position: absolute; inset: -25% -12%; z-index: 0; pointer-events: none; background: var(--aura-dark); filter: blur(36px); mix-blend-mode: screen; }
.foot::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .7; background-image: var(--dot-grid-dark); background-size: var(--dot-size); }
.foot > * { position: relative; z-index: 1; }
.foot-cols { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px 32px; }
@media (max-width:1000px) {
  .foot-cols { grid-template-columns: 1fr 1fr 1fr; }
  .foot-brand { grid-column: 1/-1; }
}
@media (max-width:620px) {
  .foot-cols { grid-template-columns: 1fr; text-align: center; }
  .foot-brand .wm-mark { margin-inline: auto; }
  .foot-brand p:not(.folio) { margin-inline: auto; }
  .colophon-social { justify-content: center; }
}
.foot .wm-mark { color: #F2F6FF; }
.foot-brand .wm-mark { width: 138px; }
.foot-brand p:not(.folio) { margin-top: 14px; max-width: 38ch; font-family: var(--sans); font-size: .92rem; color: rgba(226,235,252,.72); line-height: 1.55; }
.foot-col h5 { font-family: var(--ui); font-weight: 600; font-size: .72rem; letter-spacing: .02em; color: rgba(226,235,252,.45); margin-bottom: 18px; }
.foot-col a { display: block; font-family: var(--sans); font-size: .92rem; color: rgba(226,235,252,.72); text-decoration: none; margin-bottom: 12px; transition: color var(--d2) var(--ease); }
.foot-col a:hover { color: #FFFFFF; }
.colophon { margin-top: clamp(48px,6vw,76px); border-top: 1px solid rgba(255,255,255,.12); padding-top: 36px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.colophon-social { display: flex; align-items: center; gap: 24px; }
.colophon-social a { color: rgba(226,235,252,.55); font-size: 17px; transition: color var(--d2) var(--ease); }
.colophon-social a:hover { color: #FFFFFF; }
.folio { font-family: var(--ui); font-size: .74rem; letter-spacing: .04em; color: rgba(226,235,252,.5); }
.foot-brand .folio { margin-top: 20px; }
.foot-brand .colophon-social { margin-top: 20px; }
.colophon .legal { font-family: var(--sans); font-size: .74rem; color: rgba(226,235,252,.5); line-height: 1.9; }
.colophon .legal a { color: rgba(226,235,252,.55); text-decoration: none; }
.colophon .legal .legal-btn { background: none; border: 0; padding: 0; cursor: pointer; font-family: inherit; font-size: inherit; line-height: inherit; color: rgba(226,235,252,.55); transition: color var(--d2) var(--ease); }
.colophon .legal .legal-btn:hover { color: #FFFFFF; }
.colophon .legal .legal-btn:focus-visible { outline: 0; box-shadow: var(--ember-ring); border-radius: 4px; }
.colophon .legal a:hover { color: var(--ink-muted); }
.colophon .legal .sep { margin: 0 9px; opacity: .5; }
.foot-col p { margin: 0 0 18px; font-family: var(--sans); font-size: .92rem; color: rgba(226,235,252,.72); line-height: 1.55; }
.foot .btn-secondary { background: rgba(255,255,255,.08); color: #F2F6FF; -webkit-backdrop-filter: none; backdrop-filter: none; }
.foot .btn-secondary:hover { background: rgba(255,255,255,.14); }
.modal .check input { position: absolute; opacity: 0; pointer-events: none; }
.modal .check { cursor: pointer; align-items: flex-start; text-align: left; color: var(--ink-muted); }
.modal .check a { color: var(--ink); }
.r { opacity: 0; transform: translateY(12px); }
.r.in { opacity: 1; transform: none; transition: opacity var(--d4) var(--ease),transform var(--d4) var(--ease); transition-delay: calc(var(--i,0) * 40ms); }
@media (prefers-reduced-motion:reduce) {
  .r { opacity: 1; transform: none; }
}
.wm-mark { padding-block: 4px; }
[data-theme="light"] .nav .wm-mark, [data-theme="light"] .menu-drawer .wm-mark { --logo-o: #F96835; }
/* ===== theme-btn.css ===== */
.tg { position: fixed; bottom: 16px; right: 16px; z-index: 200; opacity: .85; width: 36px; height: 36px; padding: 0; display: inline-grid; place-items: center; font-size: 1rem; }
:root:not([data-theme="dark"]) .tg-sun, :root[data-theme="dark"] .tg-moon { display: none; }
@media (pointer: coarse) {
  .tg { width: 44px; height: 44px; }
}
/* ===== rs.css ===== */
:root { --rs-ease: cubic-bezier(.23, 1, .32, 1); }
.rs-hero { padding-top: clamp(112px, 14vw, 168px); padding-bottom: clamp(28px, 4vw, 56px); }
.rs-hero-in { text-align: center; }
.rs-hero .eyebrow { display: block; margin-bottom: 14px; }
.rs-hero h1.serif { font-size: clamp(2.8rem, 7.4vw, 5.8rem); line-height: 1; letter-spacing: -.03em; max-width: 52ch; margin: 0 auto; }
.rs-hero .lede { max-width: 56ch; margin: 18px auto 0; }
.rs-cta { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.rs-hero--b { min-height: 0; display: flex; align-items: flex-start; }
.rs-hero--b > .wrap-n { min-width: 0; }
.rs-photo { margin: 0; overflow: hidden; border-radius: var(--r-input); }
.rs-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rs-strip { display: flex; gap: 12px; align-items: flex-start; margin-top: clamp(30px, 5vw, 56px); min-width: 0; max-width: 100%; }
.rs-strip figure { margin: 0; flex: 1 1 0; min-width: 0; }
.rs-strip figure:nth-child(even) { margin-top: clamp(14px, 2.6vw, 34px); }
.rs-strip .rs-photo { aspect-ratio: 3 / 4; border-radius: var(--r-card); }
.rs-strip figcaption { margin-top: 8px; font-family: var(--ui); font-size: .74rem; font-weight: 500; line-height: 1.35; color: var(--ink-muted); text-align: left; }
.rs-strip figcaption b { display: block; color: var(--ink); font-weight: 600; }
.rs-panel { background: var(--overlay); -webkit-backdrop-filter: blur(26px) saturate(150%); backdrop-filter: blur(26px) saturate(150%); border-radius: var(--r-card); padding: clamp(20px, 3vw, 34px); }
@media (prefers-reduced-transparency: reduce) {
  .rs-panel, .rs-index { background: var(--surface); -webkit-backdrop-filter: none; backdrop-filter: none; }
}
.rs-reel-head { text-align: center; max-width: 52ch; margin: 0 auto clamp(28px, 4vw, 48px); }
.rs-reel-head .eyebrow { display: block; margin-bottom: 10px; }
.rs-reel-head h2.serif { font-size: 2rem; }
.rs-reel-grid > * { min-width: 0; }
.rs-reel-grid { display: grid; grid-template-columns: 250px 1fr; gap: clamp(24px, 4vw, 56px); align-items: start; }
.rs-index { position: sticky; top: 96px; padding: 14px 10px 14px 18px; border-radius: var(--r-card); background: var(--overlay); -webkit-backdrop-filter: blur(26px) saturate(150%); backdrop-filter: blur(26px) saturate(150%); }
.rs-index ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.rs-index a { display: flex; align-items: baseline; gap: 10px; padding: 9px 8px; border-radius: var(--r-input); font-family: var(--ui); font-size: .86rem; color: var(--ink-muted); transition: color var(--d2) var(--ease), background var(--d2) var(--ease); }
.rs-index .n { font-size: .68rem; letter-spacing: .04em; color: var(--ink-faint); min-width: 1.4em; transition: color var(--d2) var(--ease); }
.rs-index em { display: block; font-style: normal; font-size: .72rem; color: var(--ink-muted); margin-top: 1px; }
.rs-index a.on { color: var(--ink); font-weight: 600; background: var(--glass); }
.rs-index a.on .n { color: var(--ember); }
.rs-prog { position: absolute; left: 6px; top: 16px; bottom: 16px; width: 2px; border-radius: 2px; background: var(--hairline); overflow: hidden; }
.rs-prog i { position: absolute; inset: 0; background: var(--ember); transform-origin: top; transform: scaleY(.2); transition: transform 240ms var(--rs-ease); }
.rs-chapters { display: flex; flex-direction: column; gap: clamp(18px, 2.6vw, 30px); }
.rs-chap { display: grid; grid-template-columns: minmax(260px, 430px) 1fr; gap: clamp(22px, 3vw, 36px) clamp(20px, 3.4vw, 44px); align-items: center; scroll-margin-top: 96px; }
.rs-chap .rs-photo { aspect-ratio: 4 / 3; }
.rs-chap-body { display: flex; flex-direction: column; gap: 14px; }
.rs-who { margin: 0; font-family: var(--ui); font-size: .85rem; color: var(--ink-muted); }
.rs-who b { color: var(--ink); font-weight: 600; font-size: .95rem; }
.rs-chap h3.serif { font-size: clamp(1.4rem, 2.4vw, 1.8rem); line-height: 1.2; letter-spacing: -.015em; margin: 0; }
.rs-text { margin: 0; font-family: var(--sans); font-size: .95rem; line-height: 1.65; color: var(--ink-muted); }
.rs-facts { grid-column: 1 / -1; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px clamp(18px, 3vw, 40px); }
.rs-facts b { display: block; font-family: var(--display); font-weight: var(--display-weight); font-size: clamp(1.7rem, 3.2vw, 2.5rem); line-height: 1.02; letter-spacing: -.025em; color: var(--ink); }
.rs-facts span { display: block; margin-top: 8px; max-width: 26ch; font-family: var(--ui); font-size: .8rem; line-height: 1.45; color: var(--ink-muted); }
.rs-sticky { position: fixed; left: 50%; bottom: 16px; z-index: 60; display: flex; align-items: center; gap: 14px; padding: 8px 8px 8px 20px; border-radius: var(--r-pill); background: var(--overlay-solid); box-shadow: var(--shadow-float); font-family: var(--ui); font-size: .84rem; color: var(--ink); opacity: 0; transform: translate(-50%, 10px); pointer-events: none; transition: opacity 200ms var(--rs-ease), transform 200ms var(--rs-ease); }
.rs-sticky.show { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
@media (prefers-reduced-motion: reduce) {
  .rs-sticky, .rs-prog i { transition: none; }
}
@media (max-width: 980px) {
  .rs-reel-grid { grid-template-columns: minmax(0, 1fr); }
  .rs-index { position: sticky; top: 58px; z-index: 20; padding: 6px; }
  .rs-index ol { flex-direction: row; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; }
  .rs-index li { flex: none; scroll-snap-align: start; }
  .rs-index em, .rs-index .n, .rs-prog { display: none; }
  .rs-index a { white-space: nowrap; padding: 8px 12px; }
}
@media (max-width: 760px) {
  .rs-chap { grid-template-columns: minmax(0, 1fr); }
  .rs-facts { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .rs-facts li { display: grid; grid-template-columns: minmax(112px, 40%) minmax(0, 1fr); gap: 12px; align-items: baseline; }
  .rs-facts b { font-size: 1.45rem; }
  .rs-facts span { margin-top: 0; max-width: none; }
  .rs-strip { overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; padding-bottom: 6px; }
  .rs-strip figure { flex: 0 0 118px; scroll-snap-align: start; }
  .rs-sticky span { display: none; }
  .rs-sticky { padding: 6px; }
}
main .btn-ghost { background: var(--overlay-hover); }
.rs-hero .eyebrow, .rs-reel-head .eyebrow { color: var(--ink-muted); }
.rs-quote { margin: 0; font-family: var(--display); font-style: italic; font-weight: var(--display-weight); font-size: clamp(1.3rem, 2.2vw, 1.75rem); line-height: 1.3; letter-spacing: -.01em; text-wrap: balance; color: var(--ink); }
.rs-by { display: flex; align-items: center; gap: 12px; }
.rs-by img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; object-position: 50% 24%; flex: none; }
.rs-by .rs-who b { display: block; margin-bottom: 2px; }
.rs-feature { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 56px); align-items: center; margin-bottom: clamp(14px, 2vw, 22px); padding: clamp(24px, 4vw, 48px); }
.rs-feature-fig b { display: block; font-size: clamp(5rem, 13vw, 9.5rem); line-height: .9; letter-spacing: -.04em; padding-right: .06em; }
.rs-feature-fig span { display: block; margin-top: 14px; max-width: 24ch; font-family: var(--ui); font-size: .95rem; line-height: 1.45; color: var(--ink-muted); }
.rs-feature-body { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.rs-feature .rs-quote { font-size: clamp(1.3rem, 2.2vw, 1.75rem); }
@media (max-width: 980px) {
  .rs-feature { grid-template-columns: minmax(0, 1fr); }
}
.rs-mapstage { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 270px); gap: clamp(14px, 2vw, 22px); align-items: stretch; }
.rs-mapcell { display: flex; flex-direction: column; gap: clamp(10px, 1.4vw, 16px); min-width: 0; }
.rs-mapbox { position: relative; }
.rs-cities { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.rs-city { appearance: none; border: 0; border-radius: var(--r-pill); padding: 8px 14px; min-height: 40px; background: var(--overlay-hover); color: var(--ink); font-family: var(--ui); font-weight: 500; font-size: .74rem; cursor: pointer; transition: background 160ms var(--ease), color 160ms var(--ease), transform 160ms var(--ease); }
.rs-city:active { transform: scale(.98); }
@media (pointer: coarse) {
  .rs-city { min-height: 44px; }
}
.rs-city.on { background: var(--ink); color: var(--surface-2); }
.rs-city:focus-visible { outline: 2px solid var(--ember); outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) {
  .rs-city:not(.on):hover { background: var(--glass-strong); }
}
.rs-col { border-radius: var(--r-card); padding: clamp(22px, 2.4vw, 32px); display: flex; flex-direction: column; justify-content: center; gap: 12px; min-width: 0; background: radial-gradient(90% 70% at 100% 0%, var(--ember-soft-2), transparent 62%), radial-gradient(70% 60% at 0% 100%, var(--ember-soft), transparent 70%), var(--modal-surface); }
.rs-col h3.serif { margin: 0; font-size: clamp(1.7rem, 2.6vw, 2.3rem); line-height: 1.04; letter-spacing: -.02em; }
.rs-colist { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 12px; }
.rs-colist li { display: flex; align-items: center; gap: 12px; font-family: var(--sans); font-size: .92rem; line-height: 1.35; color: var(--ink); }
.rs-ic { flex: none; width: 30px; display: grid; place-items: center; color: var(--ember); font-size: 1.45rem; line-height: 1; }
.rs-map { position: relative; box-sizing: border-box; padding: clamp(14px, 2.4vw, 36px); border-radius: var(--r-card); background: var(--modal-surface); -webkit-backdrop-filter: blur(26px) saturate(150%); backdrop-filter: blur(26px) saturate(150%); display: grid; place-items: center; }
.rs-mapinner { position: relative; width: 100%; aspect-ratio: 922 / 500; }
.rs-usmap { position: absolute; inset: 0; width: 100%; height: 100%; fill: var(--ink-faint); opacity: .5; }
.rs-pin { position: absolute; width: 46px; height: 46px; margin: -23px 0 0 -23px; padding: 0; border: 0; border-radius: 50%; background: var(--surface-2); box-shadow: var(--shadow-sm), 0 0 0 2px var(--surface-2); cursor: pointer; z-index: 1; transition: box-shadow 160ms var(--ease), transform 160ms var(--ease); }
.rs-pin::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; }
.rs-pin img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; object-position: 50% 24%; }
.rs-pin:active { transform: scale(.98); }
.rs-pin.on { z-index: 3; transform: scale(1.22); box-shadow: var(--shadow-md), 0 0 0 3px var(--ink); }
.rs-pin.on:active { transform: scale(1.18); }
.rs-pin:focus-visible { outline: 2px solid var(--ember); outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) {
  .rs-pin:not(.on):hover { z-index: 2; box-shadow: var(--shadow-md), 0 0 0 2px var(--ink); }
}
.rs-callouts { position: absolute; inset: 0; pointer-events: none; z-index: 5; }
.rs-call { position: absolute; width: min(400px, 60%); box-sizing: border-box; padding: clamp(16px, 1.7vw, 22px); border-radius: var(--r-card); background: var(--overlay-solid); box-shadow: var(--shadow-float); display: flex; flex-direction: column; gap: 11px; max-height: calc(100% - 20px); overflow-y: auto; opacity: 0; visibility: hidden; transform: scale(.96); pointer-events: none; transition: opacity 120ms var(--ease), transform 120ms var(--ease), visibility 0s linear 120ms; }
.rs-call.on { opacity: 1; visibility: visible; transform: none; pointer-events: auto; transition: opacity 200ms var(--ease), transform 200ms var(--ease), visibility 0s linear 0s; }
.rs-mapstage.kb .rs-call { transition: none; }
.rs-x { position: absolute; top: 12px; right: 12px; }
.rs-call .rs-who { padding-right: 44px; }
.rs-call .rs-who b { display: block; margin-bottom: 2px; }
.rs-call .rs-quote { font-size: clamp(1.15rem, 1.6vw, 1.4rem); }
.rs-call .rs-text { font-size: .9rem; }
.rs-call .cardacts { margin-top: 0; }
@media (prefers-reduced-motion: reduce) {
  .rs-call, .rs-call.on { transform: none; transition: opacity 120ms linear, visibility 0s linear 120ms; }
}
/* ===== pub.css ===== */
.cs-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-family: var(--sans); font-size: 1rem; line-height: 1.6; color: var(--ink); }
.cs-check li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: start; }
.cs-check .bi { color: var(--ember); font-size: 1.15rem; line-height: 1.4; -webkit-text-stroke: .6px currentColor; }
.cs-list.cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 28px; }
.cs-need { font-size: 1.1rem; }
.pc-ring { margin-top: clamp(18px, 2.6vw, 30px); display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(20px, 3vw, 44px); align-items: center; }
.pc-ring h3.serif { font-size: clamp(1.6rem, 2.8vw, 2.2rem); letter-spacing: -.02em; line-height: 1.15; margin: 0 0 12px; }
.pc-ring p { margin: 0 0 10px; font-family: var(--sans); font-size: 1rem; line-height: 1.7; color: var(--ink); text-wrap: pretty; }
.pc-ring svg { width: min(100%, 340px); height: auto; justify-self: center; }
.pc-ring .seg { fill: var(--ember-soft-2); }
.pc-ring .seg.off { fill: var(--well); }
.pc-ring text { font-family: var(--ui); font-size: 9px; font-weight: 600; fill: var(--ember); text-anchor: middle; dominant-baseline: central; }
.pc-ring text.off { fill: var(--ink-faint); }
.pc-ring .big { font-family: var(--display); font-size: 40px; font-weight: 500; fill: var(--ink); }
.pc-ring .sub { font-family: var(--ui); font-size: 8px; font-weight: 500; fill: var(--ink-muted); }
@media (max-width: 1000px) {
  .pc-ring { grid-template-columns: minmax(0, 1fr); }
}
.pp[hidden] { display: none; }
.pp-sw { position: fixed; left: 16px; bottom: 16px; z-index: 200; }
.pv-ic { color: var(--ember); line-height: 1; display: inline-block; font-size: 1.6rem; }
.pv-head { text-align: center; max-width: 52ch; margin: 0 auto clamp(28px, 4vw, 48px); }
.pv-head .eyebrow { display: block; margin-bottom: 10px; color: var(--ink-muted); }
.pv-head h2.serif { font-size: 2rem; }
.pv-head .lede { margin: 14px auto 0; }
.rs-strip a { display: block; color: inherit; }
.pv-pills { display: flex; justify-content: center; margin-bottom: clamp(20px, 3vw, 32px); }
.pv-pills .filterbar { background: var(--glass); -webkit-backdrop-filter: blur(18px) saturate(150%); backdrop-filter: blur(18px) saturate(150%); justify-content: center; }
.pv-panel { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.pv-panel .copy { display: flex; flex-direction: column; gap: 14px; }
.pv-panel h3.serif { font-size: clamp(1.8rem, 3.2vw, 2.6rem); letter-spacing: -.02em; line-height: 1.1; margin: 0; }
.pv-panel p { margin: 0; font-family: var(--sans); font-size: 1.05rem; line-height: 1.7; color: var(--ink); max-width: 44ch; text-wrap: pretty; }
.pv-panel .rs-photo { aspect-ratio: 1440 / 1522; border-radius: var(--r-card); }
.pv-panel .rs-photo img { transition: opacity 140ms var(--rs-ease); }
.pv-panel.sw .rs-photo img, .pv-panel.sw .copy { opacity: 0; }
.pv-panel .copy { transition: opacity 140ms var(--rs-ease); }
.pz { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 40px); align-items: start; }
.pz-col { display: grid; gap: clamp(20px, 3vw, 40px); align-content: start; }
.pz-col:nth-child(odd) { margin-top: clamp(48px, 7vw, 100px); }
.pz .pz-it { display: grid; gap: 14px; padding: 12px 12px 18px; }
.pz .rs-photo { aspect-ratio: 1440 / 1522; }
.pz .rs-photo { position: relative; }
.pz-cover { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(6, 10, 24, .46); opacity: 0; pointer-events: none; transition: opacity 160ms var(--rs-ease); }
@media (hover: hover) and (pointer: fine) {
  .pz .rs-photo:hover .pz-cover, .pz-cover:focus-visible { opacity: 1; pointer-events: auto; }
}
@media (hover: none), (pointer: coarse) {
  .pz-cover { opacity: 1; pointer-events: auto; background: none; place-items: end center; padding-bottom: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .pz-cover { transition: none; }
}
.pz-card { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 4px 12px; align-content: start; padding: 0 8px; }
.pz-card .pv-ic { grid-row: span 2; font-size: 1.4rem; }
.pz-card h3 { margin: 0; font-family: var(--sans); font-weight: 600; font-size: 1.12rem; color: var(--ink); }
.pz-card p { margin: 0; font-family: var(--sans); font-size: .92rem; line-height: 1.6; color: var(--ink-muted); }
.pz-head { background: var(--surface); border-radius: var(--r-panel); padding: clamp(28px, 3vw, 40px) clamp(20px, 2.4vw, 32px); text-align: center; }
.pz-head .eyebrow { display: block; margin-bottom: 10px; color: var(--ink-muted); }
.pz-head h2.serif { font-size: 2rem; margin: 0; }
.pz-head .lede { margin: 14px auto 0; max-width: 56ch; }
@media (max-width: 760px) {
  .pz { grid-template-columns: minmax(0, 1fr); }
  .pz-col, .pz-col:nth-child(odd) { display: contents; margin-top: 0; }
  .pz-col > * { order: var(--o); }
}
:root { --note-pill-ink: #B84018; }
:root[data-theme="dark"] { --note-pill-ink: var(--ember-lit); }
.note-pill { display: inline-flex; align-items: center; font-family: var(--ui); font-weight: 500; font-size: .72rem; line-height: 1.25; padding: 5px 12px; border-radius: var(--r-pill); background: var(--ember-soft); color: var(--note-pill-ink); }
.sp { background: var(--surface); border-radius: var(--r-panel); padding: clamp(28px, 4vw, 56px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 360px) minmax(0, 1fr); grid-template-rows: auto auto; gap: clamp(28px, 4vw, 48px) clamp(24px, 4vw, 56px); align-items: center; }
.sp-photo { grid-column: 2; grid-row: 1 / span 2; aspect-ratio: 1760 / 2300; border-radius: var(--r-card); }
.sp-photo img { object-position: top; }
.sp-f { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; max-width: 320px; justify-self: center; }
.sp-f:nth-of-type(1) { grid-column: 1; grid-row: 1; }
.sp-f:nth-of-type(2) { grid-column: 3; grid-row: 1; }
.sp-f:nth-of-type(3) { grid-column: 1; grid-row: 2; }
.sp-f:nth-of-type(4) { grid-column: 3; grid-row: 2; }
.sp-f .ie-ic { margin-bottom: 4px; }
.sp-f h3 { margin: 0; font-family: var(--sans); font-weight: 600; font-size: 1.08rem; line-height: 1.3; color: var(--ink); }
.sp-f p { margin: 0; font-family: var(--sans); font-size: .92rem; line-height: 1.55; color: var(--ink-muted); text-wrap: pretty; }
@media (max-width: 900px) {
  .sp { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
  .sp-photo { grid-column: 1; grid-row: auto; max-width: 340px; width: 100%; margin: 0 auto; }
  .sp-f, .sp-f:nth-of-type(n) { grid-column: 1; grid-row: auto; justify-self: stretch; max-width: none; }
}
.pv-format { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.pv-format h2.serif { font-size: 2rem; max-width: 18ch; }
.pv-format .lede { margin: 14px 0 0; max-width: 46ch; }
.pv-rows { list-style: none; margin: clamp(24px, 3.4vw, 40px) 0 0; padding: 0; display: grid; gap: clamp(22px, 3vw, 32px); }
.pv-rows li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 4px 16px; }
.pv-rows li .pv-ic { grid-row: span 3; }
.pv-rows h3 { margin: 0; font-family: var(--sans); font-weight: 600; font-size: 1.12rem; color: var(--ink); }
.pv-rows p { margin: 0; font-family: var(--sans); font-size: .98rem; line-height: 1.6; color: var(--ink-muted); }
.pv-chip { justify-self: start; margin-top: 6px; font-family: var(--ui); font-size: .74rem; font-weight: 500; padding: 5px 10px; border-radius: var(--r-pill); background: var(--glass); color: var(--ink-muted); }
.pv-format .rs-photo { border-radius: var(--r-panel); aspect-ratio: 1760 / 2300; max-height: 640px; }
.pv-format .rs-photo img { object-position: top; }
.pv-steps { display: flex; flex-direction: column; }
.pv-step { display: grid; grid-template-columns: 110px minmax(0, 1fr) minmax(0, 300px); gap: clamp(16px, 3vw, 40px); align-items: center; padding-block: clamp(22px, 3vw, 34px); border-top: 1px solid var(--hairline); }
.pv-step:last-child { border-bottom: 1px solid var(--hairline); }
.pv-step .num { font-family: var(--display); font-size: clamp(3rem, 5vw, 4.4rem); line-height: 1; letter-spacing: -.04em; }
.pv-step h3 { display: flex; align-items: center; gap: 12px; margin: 0; font-family: var(--sans); font-weight: 600; font-size: 1.3rem; color: var(--ink); }
.pv-step h3 .pv-ic { font-size: 1.3rem; }
.pv-step p { margin: 8px 0 0; max-width: 52ch; font-family: var(--sans); font-size: 1rem; line-height: 1.65; color: var(--ink-muted); }
.pv-board { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); margin: 0; padding: 0; list-style: none; }
.pv-board li { display: flex; flex-direction: column; gap: 14px; }
.pv-board .num { font-family: var(--display); font-size: clamp(2.6rem, 4.4vw, 3.6rem); line-height: 1; letter-spacing: -.04em; }
.pv-board h3 { display: flex; align-items: center; gap: 10px; margin: 0; font-family: var(--sans); font-weight: 600; font-size: 1.08rem; line-height: 1.25; color: var(--ink); }
.pv-board p { margin: 0; font-family: var(--sans); font-size: .9rem; line-height: 1.6; color: var(--ink-muted); }
.il { min-height: 132px; border-radius: var(--r-card); background: var(--overlay); -webkit-backdrop-filter: blur(26px) saturate(150%); backdrop-filter: blur(26px) saturate(150%); padding: 16px; display: flex; flex-direction: column; justify-content: center; gap: 8px; font-family: var(--ui); font-size: .74rem; color: var(--ink-muted); }
.il b { color: var(--ink); font-weight: 600; }
.il-zip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.il-zip i { display: grid; place-items: center; padding: 8px 0; border-radius: var(--r-sm); background: var(--recess); font-style: normal; }
.il-zip i.mine { background: var(--ember-soft-2); color: var(--ember); font-weight: 600; }
.il-row { display: flex; align-items: center; gap: 10px; }
.il-row .bi { font-size: 1rem; color: var(--ember); }
.il-row.off { opacity: .45; }
.il-row .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ember); margin: 0 4px; }
.il-appr { flex-direction: row; align-items: center; gap: 14px; }
.il-appr img { width: 64px; border-radius: var(--r-xs); display: block; }
.il-houses { display: flex; align-items: center; justify-content: space-between; color: var(--ink-faint); font-size: 1.4rem; }
.il-houses .bi:nth-child(4) { color: var(--ember); }
.il-call { flex-direction: row; align-items: center; gap: 12px; }
.il-call .bi { font-size: 1.6rem; color: var(--ember); }
.pv-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.pv-card { padding: clamp(22px, 2.4vw, 30px); display: flex; flex-direction: column; gap: 10px; }
.pv-card h3 { margin: 8px 0 0; font-family: var(--sans); font-weight: 600; font-size: 1.08rem; color: var(--ink); }
.pv-card p { margin: 0; font-family: var(--sans); font-size: .9rem; line-height: 1.6; color: var(--ink-muted); }
.pk-you { max-width: 980px; }
.pk-eyebrow { display: block; margin-bottom: 10px; color: var(--ink-muted); }
.pk-you h2.serif { font-size: clamp(2rem, 4.6vw, 3.8rem); line-height: 1.04; letter-spacing: -.03em; margin: 0; }
.pk-you h2.serif span { display: block; color: var(--ink-muted); }
.pk-you ul.three { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 32px); margin: 28px 0 0; padding: 0; list-style: none; }
.pk-you ul.three li b { display: block; font-family: var(--sans); font-weight: 600; font-size: 1rem; color: var(--ink); }
.pk-you ul.three li span { display: block; margin-top: 4px; font-family: var(--sans); font-size: .9rem; line-height: 1.55; color: var(--ink-muted); }
.ie-ic { color: var(--ember); line-height: 1; display: inline-block; font-size: 1.8rem; }
.ie-box { padding: clamp(36px, 5vw, 64px) 0 clamp(28px, 4vw, 48px); max-width: 820px; margin: 0 auto; text-align: center; }
.ie-box .eyebrow { display: block; margin-bottom: 14px; color: var(--ink-muted); }
.ie-box h2.serif { font-size: 2rem; margin: 0; }
.ie-box .lede { max-width: 56ch; margin: 14px auto 0; }
.iz-bar { max-width: 1180px; margin: clamp(32px, 4vw, 48px) auto 14px; padding-inline: 26px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.iz-prog { flex: 1; height: 3px; border-radius: 2px; background: var(--hairline); overflow: hidden; margin-right: 12px; }
.iz-prog i { display: block; height: 100%; background: var(--ember); transform-origin: 0 50%; transform: scaleX(var(--p, .2)); transition: transform 160ms var(--rs-ease); }
.iz-arrows { display: flex; gap: 8px; }
.iz-rail { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 4px max(26px, calc((100vw - 1180px) / 2 + 26px)) 8px; scroll-padding-inline: max(26px, calc((100vw - 1180px) / 2 + 26px)); align-items: stretch; }
.iz-rail::-webkit-scrollbar { display: none; }
.iz-end { flex: none; width: 1px; }
.iz-card { flex: none; scroll-snap-align: start; padding: 20px; }
.iz-card h3 { margin: 0; font-family: var(--sans); font-weight: 600; line-height: 1.3; color: var(--ink); }
.iz-card p { margin: 0; font-family: var(--sans); font-size: .92rem; line-height: 1.55; color: var(--ink-muted); text-wrap: pretty; transition: color var(--d2) var(--rs-ease); }
@media (hover: hover) and (pointer: fine) {
  .iz-card:hover p { color: var(--ink); }
}
.ie-ic { font-size: 1.7rem; }
.s1 .iz-card { width: 270px; display: flex; flex-direction: column; gap: 8px; }
.s1 .iz-card h3 { font-size: 1.08rem; }
.s1 .ie-ic { margin-bottom: 4px; }
.s2 .iz-card { width: 250px; padding: 0; display: flex; flex-direction: column; overflow: hidden; }
.s2 .band { display: grid; place-items: center; height: 104px; background: radial-gradient(90% 140% at 50% 0%, var(--ember-soft-2), transparent 70%), var(--ember-soft); }
.s2 .band .ie-ic { font-size: 2.6rem; }
.s2 .body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 8px; }
.s2 .iz-card h3 { font-size: 1.08rem; }
.s3 .iz-card { width: 420px; display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 0 16px; align-items: start; padding: 22px; }
.s3 .iz-card .ie-ic { font-size: 2rem; padding-top: 2px; }
.s3 .iz-card h3 { font-size: 1.12rem; margin-bottom: 6px; }
.s4 .iz-card { width: 270px; display: flex; flex-direction: column; justify-content: space-between; gap: 22px; min-height: 0; padding: 22px; }
.s4 .iz-card h3 { font-size: 1.45rem; line-height: 1.2; letter-spacing: -.01em; margin-bottom: 8px; }
.s4 .ie-ic { font-size: 1.8rem; }
.rs-hero--b { min-height: 0; align-items: flex-start; }
.hw { display: grid; grid-template-columns: 300px minmax(0, 520px); gap: clamp(32px, 6vw, 72px); align-items: center; justify-content: center; text-align: left; }
.hw-ring { position: relative; width: 300px; height: 300px; }
.hw-ring > svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.hw-ring .seg { fill: var(--ember-soft-2); }
.hw-seg { position: absolute; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: 2px; }
.hw-seg em { font-style: normal; font-family: var(--ui); font-size: .8rem; font-weight: 600; color: var(--ember); }
.hw-mid { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; pointer-events: none; }
.hw .hw-mid b { font-family: var(--display); font-weight: var(--display-weight); font-size: 3.6rem; line-height: 1; letter-spacing: -.04em; color: var(--ink); }
.hw-mid span { font-family: var(--ui); font-size: .78rem; font-weight: 500; color: var(--ink-muted); margin-top: 2px; }
.hw-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 18px; }
.hw-list li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 0 12px; align-items: start; }
.hw-n { font-family: var(--ui); font-size: .8rem; font-weight: 600; color: var(--ember); padding-top: 3px; }
.hw-list b { display: block; font-family: var(--sans); font-weight: 600; font-size: 1.05rem; line-height: 1.3; color: var(--ink); }
.hw-list p { margin: 4px 0 0; font-family: var(--sans); font-size: .9rem; line-height: 1.5; color: var(--ink-muted); text-wrap: pretty; }
@media (max-width: 860px) {
  .hw { grid-template-columns: minmax(0, 1fr); justify-items: center; }
  .hw-ring { width: 260px; height: 260px; transform-origin: top center; }
  .hw-list { justify-self: stretch; max-width: 560px; }
}
@media (max-width: 1000px) {
  .pv-panel, .pv-format { grid-template-columns: minmax(0, 1fr); }
  .pv-six { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pv-six figure:nth-child(3n+2) { margin-top: 0; }
  .pv-step { grid-template-columns: 70px minmax(0, 1fr); }
  .pv-step .il { grid-column: 2; }
  .pv-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pv-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .pv-six, .pv-board, .pv-cards, .pk-you ul.three { grid-template-columns: minmax(0, 1fr); }
  .pv-step { grid-template-columns: minmax(0, 1fr); }
  .pv-step .il { grid-column: 1; }
  .filterbar { overflow-x: auto; flex-wrap: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  .pv-panel .rs-photo img, .pv-panel .copy { transition: none; }
}
body:has(#pub-sticky) #rs-sticky { display: none; }
.smp { position: fixed; inset: 0; z-index: 400; background: rgba(6, 10, 24, .92); }
.smp-frame { position: relative; display: block; width: 100%; height: 100%; border: 0; background: transparent; }
.smp-wait { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 14px; font-family: var(--ui); font-size: .9rem; color: rgba(255,255,255,.78); pointer-events: none; }
/* ===== faq.css ===== */
.fq-find { display: grid; justify-items: center; gap: 14px; margin-top: clamp(24px, 3.4vw, 36px); }
.fq-search { width: min(560px, 100%); margin: 0; }
.fq-search .inp { padding-right: 64px; }
.fq-kbd { position: absolute; right: 12px; font-family: var(--ui); font-size: .72rem; font-weight: 500; color: var(--ink-muted); background: var(--surface-2); padding: 3px 7px; border-radius: 6px; pointer-events: none; }
@media (hover: none) {
  .fq-kbd { display: none; }
}
.fq-common { margin: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 6px; font-family: var(--ui); font-size: .84rem; color: var(--ink-muted); }
.fq-common .fchip { background: var(--overlay-hover); padding: 6px 14px; font-size: .84rem; color: var(--ink); }
@media (hover: hover) and (pointer: fine) {
  .fq-common .fchip:hover { background: var(--surface-2); }
}
.fq-body { padding-top: clamp(28px, 4vw, 56px); padding-bottom: clamp(48px, 7vw, 96px); }
.fq-wide { max-width: 1320px; margin: 0 auto; padding: 0 26px; }
.fq-hub { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; align-items: stretch; }
.fq-hub[hidden], .fq-view[hidden] { display: none; }
.fq-card { padding: 22px 22px 14px; display: flex; flex-direction: column; }
.fq-ch { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 10px; }
.fq-card h3 { margin: 0; font-family: var(--ui); font-weight: 600; font-size: 1rem; line-height: 1.3; color: var(--ink); }
.fq-card ul { list-style: none; margin: 0; padding: 0; }
.fq-card li a, .fq-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 8px 0; font-family: var(--ui); font-weight: 400; font-size: .86rem; line-height: 1.5; color: var(--ink); text-align: left; transition: color var(--d2) var(--ease); }
.fq-card li a .bi, .fq-row .bi, .fq-all .bi { color: var(--ember); font-size: .72rem; flex: none; }
.fq-card li a .bi, .fq-row .bi { margin-top: .45em; }
.fq-all { margin-top: auto; align-self: flex-end; display: inline-flex; align-items: center; gap: 8px; padding: 12px 0 4px; font-family: var(--ui); font-weight: 500; font-size: .8rem; color: var(--ember); transition: color var(--d2) var(--ease); }
.fq-all .bi { font-size: .72rem; }
@media (hover: hover) and (pointer: fine) {
  .fq-card li a:hover, .fq-row:hover, .fq-ch:hover h3 { color: var(--ink-muted); }
  .fq-all:hover { color: var(--ember-strong); }
  .fq-all:hover .bi { color: var(--ember-strong); }
}
.fq-contact { grid-column: span 1; gap: 8px; padding-bottom: 22px; }
.fq-contact p { margin: 0; font-family: var(--ui); font-size: .86rem; line-height: 1.5; color: var(--ink-muted); }
.fq-contact { min-height: 0; }
.fq-contact .cardacts { margin-top: auto; padding-top: 18px; }
.fq-back { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 18px; padding: 6px 0; font-family: var(--ui); font-size: .84rem; font-weight: 500; color: var(--ink-muted); background: none; border: 0; cursor: pointer; transition: color var(--d2) var(--ease); }
@media (hover: hover) and (pointer: fine) {
  .fq-back:hover { color: var(--ink); }
}
.fq-hit { background: var(--ember-soft-2); color: inherit; border-radius: 3px; padding: 0 2px; }
.fq-none { margin: 0; font-family: var(--ui); font-size: .92rem; color: var(--ink-muted); text-align: center; padding: clamp(24px, 5vw, 48px) 0; }
@media (max-width: 1200px) {
  .fq-hub { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fq-contact { grid-column: span 2; }
}
@media (max-width: 1000px) {
  .fq-hub { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fq-contact { grid-column: span 1; }
}
@media (max-width: 640px) {
  .fq-hub { grid-template-columns: minmax(0, 1fr); }
  .fq-wide { padding: 0 16px; }
}
/* ===== cs-list.css ===== */
/* ===== cs-single.css ===== */
:where(#case) .rs-panel { background: var(--modal-surface); }
@media (prefers-reduced-transparency: reduce) {
  .rs-panel, .rs-index { background: var(--surface); }
}
main .btn-ghost { background: var(--overlay-hover); }
.cs-hero .eyebrow, .cs-rel-head .eyebrow { color: var(--ink-muted); }
.cs-ic { flex: none; width: 44px; height: 44px; display: grid; place-items: center; border-radius: var(--r-input); background: var(--cat-violet); color: #fff; font-size: 1.25rem; line-height: 1; }
.cs-ic.c-green { background: var(--cat-green); }
.cs-ic.c-blue { background: var(--cat-blue); }
.cs-ic.c-violet { background: var(--cat-violet); }
.cs-hero { padding-top: clamp(112px, 14vw, 168px); padding-bottom: clamp(20px, 3vw, 40px); }
.cs-hero-in { text-align: center; min-width: 0; }
.cs-hero .eyebrow { display: block; margin-bottom: 14px; }
.cs-hero h1.serif { font-size: clamp(2.8rem, 7.4vw, 5.8rem); line-height: 1; letter-spacing: -.03em; margin: 0 auto; }
.cs-quote { margin: 20px auto 0; max-width: 34ch; font-family: var(--display); font-style: italic; font-weight: var(--display-weight); font-size: clamp(1.2rem, 2.4vw, 1.7rem); line-height: 1.3; letter-spacing: -.01em; text-wrap: balance; color: var(--ink); }
.cs-attr { margin: 12px 0 0; font-family: var(--ui); font-size: .8rem; color: var(--ink-muted); }
.cs-cta { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.cs-stage { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 400px) minmax(0, 1fr); gap: clamp(16px, 3vw, 40px); align-items: center; margin-top: clamp(30px, 5vw, 56px); text-align: left; }
.cs-side { display: flex; flex-direction: column; gap: clamp(12px, 1.6vw, 18px); min-width: 0; }
.cs-side.l .cs-stat:nth-child(2) { margin-right: clamp(0px, 3vw, 44px); }
.cs-side.r2 .cs-stat { margin-left: clamp(0px, 3vw, 44px); }
.cs-portrait { aspect-ratio: 1 / 1.1; border-radius: var(--r-card); }
.cs-stat { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "ic fig" "cap cap"; align-items: center; gap: 12px 14px; padding: 16px 20px 18px; }
.cs-stat .cs-ic { grid-area: ic; }
.cs-stat b { grid-area: fig; display: block; font-family: var(--display); font-weight: var(--display-weight); font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1; letter-spacing: -.025em; color: var(--ink); }
.cs-stat p { grid-area: cap; margin: 0; font-family: var(--ui); font-size: .8rem; line-height: 1.45; color: var(--ink-muted); text-wrap: pretty; }
.cs-body { padding-top: clamp(12px, 2vw, 28px); }
.rs-reel-grid > * { min-width: 0; }
.rs-reel-grid { display: grid; grid-template-columns: 250px 1fr; gap: clamp(24px, 4vw, 56px); align-items: start; }
.rs-index { padding: 14px 10px 14px 18px; border-radius: var(--r-card); }
:where(#case) .rs-index { background: var(--modal-surface); }
.rs-index ol { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.rs-index a { display: flex; align-items: baseline; gap: 10px; padding: 9px 8px; border-radius: var(--r-input); font-family: var(--ui); font-size: .86rem; color: var(--ink-muted); }
.rs-index .n { font-size: .68rem; letter-spacing: .04em; min-width: 1.4em; }
:where(#case) .rs-index .n { color: var(--ink-muted); }
.rs-index em { display: block; font-style: normal; font-size: .72rem; color: var(--ink-muted); margin-top: 1px; }
.rs-index a.on { color: var(--ink); font-weight: 600; background: var(--glass); }
.rs-index a.on .n { color: var(--ember); }
.rs-prog { width: 2px; border-radius: 2px; background: var(--hairline); }
.rs-prog i { background: var(--ember); }
:where(#case) .rs-prog i { transform: scaleY(.25); }
.cs-chapters { display: flex; flex-direction: column; gap: clamp(18px, 2.6vw, 30px); min-width: 0; }
.cs-chap { scroll-margin-top: 96px; display: flex; flex-direction: column; gap: 16px; }
.cs-chap p a { color: var(--ember); }
.cs-chap-h { display: flex; align-items: baseline; gap: 12px; margin-bottom: 2px; }
.cs-num { font-family: var(--ui); font-size: .74rem; letter-spacing: .04em; color: var(--ink-muted); }
.cs-chap h2.serif { font-size: clamp(1.6rem, 2.8vw, 2.2rem); letter-spacing: -.02em; line-height: 1.15; margin: 0; }
.cs-chap p { margin: 0; font-family: var(--sans); font-size: 1rem; line-height: 1.7; color: var(--ink); }
.cs-chap h3.cs-sub { margin: 6px 0 0; font-family: var(--ui); font-style: normal; font-weight: 600; font-size: 1.05rem; line-height: 1.5; letter-spacing: 0; color: var(--ink); }
.cs-list { margin: 0; padding: 0; display: grid; gap: 10px; font-family: var(--sans); font-size: 1rem; line-height: 1.6; color: var(--ink); }
.cs-check li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: start; }
.cs-check .bi { color: var(--ember); font-size: 1.15rem; line-height: 1.4; }
.cs-list.cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 28px; }
.cs-need { font-size: 1.1rem; }
.cs-chap.cs-ember { background: radial-gradient(72% 130% at 100% 0%, var(--ember-soft-2), transparent 64%), radial-gradient(56% 100% at 92% 112%, var(--ember-soft), transparent 72%), var(--modal-surface); }
.cs-result b { display: block; width: fit-content; padding-right: .06em; font-family: var(--display); font-weight: var(--display-weight); font-size: clamp(3.2rem, 8vw, 5.8rem); line-height: 1; letter-spacing: -.03em; color: var(--ember); }
.cs-chap .cardacts { margin-top: 0; }
#case #c4 .btn-ghost { background: var(--ember-soft); color: var(--ember); }
#case #c4 .btn-ghost:hover { background: var(--ember-soft-2); }
.cs-related .cardacts { margin-top: 4px; }
main .btn .bi-arrow-right { color: inherit; }
.cs-chap p { text-wrap: pretty; }
.cs-result span { display: block; margin-top: 8px; font-family: var(--ui); font-size: .84rem; color: var(--ink-muted); }
.cs-rel-head { text-align: center; max-width: 52ch; margin: clamp(36px, 5vw, 64px) auto clamp(22px, 3vw, 36px); }
.cs-rel-head .eyebrow { display: block; margin-bottom: 10px; }
.cs-rel-head h2.serif { font-size: 2rem; margin: 0; }
.cs-related { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2vw, 22px); }
.cs-related .rs-panel { display: flex; flex-direction: column; gap: 14px; padding: 12px 12px 18px; }
.cs-related .rs-photo { aspect-ratio: 4 / 3; }
.cs-related .cs-rel-body { display: flex; flex-direction: column; gap: 12px; padding: 0 8px; }
.cs-related .rs-who b { display: block; margin-bottom: 2px; }
.rs-sticky { display: flex; align-items: center; gap: 14px; padding: 8px 8px 8px 20px; border-radius: var(--r-pill); background: var(--overlay-solid); font-family: var(--ui); font-size: .84rem; color: var(--ink); transform: translate(-50%, 10px); }
.rs-sticky.show { transform: translate(-50%, 0); }
@media (max-width: 980px) {
  .rs-reel-grid { grid-template-columns: minmax(0, 1fr); }
  .rs-index { padding: 6px; }
  .rs-index ol { flex-direction: row; }
  .rs-index li { flex: none; }
  .rs-index em, .rs-index .n, .rs-prog { display: none; }
  .rs-index a { padding: 8px 12px; }
  .cs-stage { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cs-side { display: contents; }
  .cs-portrait { grid-column: 1 / -1; order: -1; max-width: 460px; width: 100%; margin: 0 auto; aspect-ratio: 4 / 3; }
  .cs-side.l .cs-stat:nth-child(2), .cs-side.r2 .cs-stat { margin: 0; }
  .cs-related { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .cs-stage { grid-template-columns: minmax(0, 1fr); }
  .cs-stat b { font-size: 1.6rem; }
  .cs-list.cols { grid-template-columns: minmax(0, 1fr); }
  .rs-sticky span { display: none; }
  .rs-sticky { padding: 6px; }
}
/* ===== blog.css ===== */
.bl-cats { display: flex; flex-wrap: wrap; gap: 6px; }
.bl-sec { padding-top: clamp(28px, 4vw, 56px); }
.bl-wide { max-width: 1320px; margin: 0 auto; padding: 0 26px; }
.bl-topics { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.bl-topic { appearance: none; border: 0; font: inherit; text-align: left; cursor: pointer; color: inherit; padding: 20px; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; transition: background var(--d2) var(--ease), transform 140ms var(--ease); }
.bl-topic .ab-ic { color: var(--ember); font-size: 1.7rem; line-height: 1; display: inline-flex; margin-bottom: 4px; }
.bl-topic b { font-family: var(--sans); font-weight: 600; font-size: 1.02rem; line-height: 1.3; color: var(--ink); }
.bl-topic span.c { font-family: var(--ui); font-size: .84rem; color: var(--ink-muted); margin-top: auto; padding-top: 6px; }
.bl-head .btn[hidden] { display: none; }
.bl-topic:active { transform: scale(.98); }
.bl-topic.on { background: var(--glass); }
.bl-topic.on span.c { color: var(--ember); font-weight: 600; }
@media (hover: hover) and (pointer: fine) {
  .bl-topic:hover b { color: var(--ember); }
}
.bl-topic:focus-visible { outline: 2px solid var(--ember); outline-offset: 2px; }
.bl-feature { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(20px, 3.4vw, 48px); align-items: center; padding: 12px; }
.bl-feature .rs-photo, .bl-card .rs-photo { aspect-ratio: 3 / 2; border-radius: var(--r-card); }
.bl-feat-body { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: clamp(8px, 2vw, 28px) clamp(8px, 2.4vw, 36px) clamp(8px, 2vw, 28px) 0; }
.bl-feat-body h2 { margin: 0; font-family: var(--sans); font-weight: 600; font-size: clamp(1.5rem, 2.6vw, 2.1rem); line-height: 1.2; letter-spacing: -.01em; color: var(--ink); text-wrap: balance; }
.bl-feat-body .bl-ex { font-size: 1rem; }
.bl-feat-body .cardacts { margin-top: 6px; }
.bl-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: clamp(40px, 6vw, 72px) 0 clamp(16px, 2.4vw, 24px); }
.bl-head h2 { margin: 0; font-family: var(--ui); font-weight: 600; font-size: 1.15rem; color: var(--ink); }
.bl-head .eyebrow { display: block; margin-bottom: 6px; }
.bl-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: stretch; }
.bl-card { padding: 12px 12px 18px; display: flex; flex-direction: column; gap: 14px; position: relative; }
.bl-card[hidden] { display: none; }
.bl-body { padding: 0 8px; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; flex: 1; }
.bl-body h3 { margin: 0; font-family: var(--sans); font-weight: 600; font-size: 1.1rem; line-height: 1.3; color: var(--ink); text-wrap: balance; }
.bl-body h3 a { color: inherit; transition: color var(--d2) var(--ease); }
.bl-body h3 a::after { content: ""; position: absolute; inset: 0; border-radius: var(--r-card); }
@media (hover: hover) and (pointer: fine) {
  .bl-card:hover h3 a { color: var(--ember); }
}
.bl-ex { margin: 0; font-family: var(--sans); font-size: .92rem; line-height: 1.55; color: var(--ink-muted); text-wrap: pretty; }
.bl-body .rs-who { margin-top: auto; padding-top: 4px; }
.bl-pager { margin-top: clamp(28px, 4vw, 44px); display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px; }
.bl-pager .fchip { min-width: 36px; justify-content: center; background: var(--overlay-hover); }
.bl-pager .fchip.on { background: var(--surface-2); font-weight: 600; color: var(--ink); }
.bl-pager .gap { padding: 0 4px; color: var(--ink-muted); font-family: var(--ui); }
.bl-digest { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding: clamp(24px, 3.4vw, 40px); margin-top: clamp(48px, 7vw, 88px); }
.bl-digest h2 { margin: 0; font-family: var(--sans); font-weight: 600; font-size: 1.3rem; color: var(--ink); }
.bl-digest p { margin: 6px 0 0; font-family: var(--sans); font-size: .96rem; line-height: 1.55; color: var(--ink-muted); max-width: 56ch; }
.cta-block { text-align: center; }
.cta-block .eyebrow { display: block; margin-bottom: 14px; }
.cta-block .rs-cta { margin-top: clamp(22px, 3vw, 32px); display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
@media (max-width: 1000px) {
  .bl-topics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bl-feature { grid-template-columns: minmax(0, 1fr); }
  .bl-feat-body { padding: 8px 8px 12px; }
}
@media (max-width: 640px) {
  .bl-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bl-grid { grid-template-columns: minmax(0, 1fr); }
  .bl-wide { padding: 0 16px; }
}
.bz-hero h1.serif { font-size: clamp(2rem, 3.6vw, 3.1rem); line-height: 1.08; letter-spacing: -.025em; max-width: none; }
.bz-hero .lede { margin-top: 12px; }
.bz-hero { padding-bottom: clamp(28px, 4vw, 56px); }
.bz-sec { padding-top: clamp(24px, 3.4vw, 44px); padding-bottom: clamp(32px, 5vw, 72px); }
.bz-k { margin: 0; font-family: var(--ui); font-size: .84rem; line-height: 1.4; color: var(--ink-muted); }
.bz-k b { font-weight: 500; color: var(--ink); }
.bz-ph { margin: 0; overflow: hidden; border-radius: var(--r-card); }
.bz-ph img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bz-ttl a { color: inherit; transition: color var(--d2) var(--ease); }
.bz-ttl a::after { content: ""; position: absolute; inset: 0; border-radius: var(--r-card); }
.bz-hov { position: relative; }
.bz-hov:active { transform: scale(.995); transition: transform 140ms var(--ease); }
@media (hover: hover) and (pointer: fine) {
  .bz-hov:hover .bz-ttl a { color: var(--ember); }
}
.bz-end { display: flex; justify-content: flex-end; }
.bz-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 26px; margin: 0; padding: 0; list-style: none; }
.bz-nav button { appearance: none; background: none; border: 0; padding: 6px 0; font: inherit; font-family: var(--ui); font-size: .95rem; color: var(--ink-muted); cursor: pointer; transition: color var(--d2) var(--ease); }
.bz-nav button i { font-style: normal; font-size: .78rem; margin-left: 6px; }
.bz-nav button.on { color: var(--ink); font-weight: 600; }
@media (hover: hover) and (pointer: fine) {
  .bz-nav button:hover { color: var(--ink); }
}
.bz-nav button:focus-visible { outline: 2px solid var(--ember); outline-offset: 4px; border-radius: 4px; }
.bz-sm { position: relative; padding: 10px 10px 16px; display: flex; flex-direction: column; gap: 12px; }
.bz-sm .bz-ph { aspect-ratio: 4 / 3; }
.bz-sm .bz-b { padding: 0 6px; display: flex; flex-direction: column; gap: 6px; }
.bz-sm h3 { margin: 0; font-family: var(--sans); font-weight: 600; font-size: 1rem; line-height: 1.3; color: var(--ink); text-wrap: balance; }
.bz-cv { text-align: center; display: grid; justify-items: center; gap: 18px; }
.bz-cv h2.serif { margin: 0; font-size: clamp(2rem, 3.8vw, 3.2rem); line-height: 1.06; letter-spacing: -.028em; max-width: 24ch; }
.bz-cv .lede { margin: 0; }
.bz-cvph { width: min(1120px, 100%); padding: 12px; margin-top: 10px; position: relative; }
.bz-cvph .bz-ph { aspect-ratio: 21 / 9; }
.bz-cvph .bz-end { margin-top: 12px; padding: 0 4px 2px; }
.bz-also { margin-top: clamp(48px, 7vw, 96px); }
.bz-also > .bz-k { margin-bottom: 14px; }
.bz-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.bz-topics { margin-top: clamp(40px, 6vw, 80px); display: grid; justify-items: center; gap: 10px; }
.bz-bar { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 18px; flex-wrap: wrap; }
.bz-bar .bz-nav { justify-content: flex-start; }
.bz-news { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.bz-nc { grid-column: span 2; position: relative; padding: 12px 12px 20px; display: flex; flex-direction: column; gap: 14px; }
.bz-nc:nth-child(-n+2) { grid-column: span 3; }
.bz-nc .bz-ph { aspect-ratio: 16 / 10; }
.bz-nc .bz-b { padding: 0 8px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.bz-nc h3 { margin: 0; font-family: var(--sans); font-weight: 600; font-size: 1.15rem; line-height: 1.28; color: var(--ink); text-wrap: balance; }
.bz-nc:nth-child(-n+2) h3 { font-size: clamp(1.35rem, 2.1vw, 1.75rem); }
.bz-nc .bz-k { margin-top: auto; padding-top: 4px; }
.bz-kind { display: inline-flex; align-items: center; gap: 7px; font-family: var(--ui); font-size: .8rem; font-weight: 500; color: var(--ink-muted); }
.bz-kind .bi { color: var(--ember); font-size: .9rem; }
.bz-nc[hidden] { display: none; }
.bz-chaps { display: grid; gap: clamp(64px, 9vw, 128px); }
.bz-chap { text-align: center; display: grid; justify-items: center; gap: 16px; position: relative; }
.bz-chap h2.serif { margin: 0; font-size: clamp(1.8rem, 3.4vw, 2.7rem); line-height: 1.08; letter-spacing: -.026em; max-width: 26ch; }
.bz-chap .lede { margin: 0; max-width: 52ch; }
.bz-chap .bz-cvph { margin-top: 8px; }
.bz-chap .bz-cvph .bz-ph { aspect-ratio: 16 / 9; }
.bz-toc2 { max-width: 980px; margin: 0 auto; display: grid; gap: clamp(30px, 4.4vw, 52px); }
.bz-trow { position: relative; display: grid; grid-template-columns: clamp(64px, 9vw, 110px) minmax(0, 1fr) clamp(120px, 16vw, 200px); gap: clamp(14px, 3vw, 36px); align-items: start; }
.bz-trow .num { font-family: var(--display, var(--serif)); font-size: clamp(2.4rem, 5vw, 3.8rem); line-height: .9; letter-spacing: -.03em; color: var(--ember); }
.bz-trow h3 { margin: 6px 0 8px; font-family: var(--sans); font-weight: 600; font-size: clamp(1.3rem, 2.4vw, 1.9rem); line-height: 1.18; letter-spacing: -.01em; color: var(--ink); text-wrap: balance; }
.bz-trow p.sd { margin: 0 0 8px; font-family: var(--sans); font-size: 1rem; line-height: 1.55; color: var(--ink-muted); max-width: 56ch; text-wrap: pretty; }
.bz-trow .bz-ph { aspect-ratio: 4 / 3; }
.bz-arch { max-width: 1040px; margin: 0 auto; }
.bz-yr { display: grid; grid-template-columns: clamp(110px, 16vw, 200px) minmax(0, 1fr); gap: clamp(16px, 3vw, 40px); align-items: start; }
.bz-yr + .bz-yr { margin-top: clamp(40px, 6vw, 80px); }
.bz-yr > h2 { position: sticky; top: 96px; margin: 0; font-size: clamp(2.4rem, 5vw, 3.8rem); line-height: 1; letter-spacing: -.03em; }
.bz-list { display: grid; gap: clamp(24px, 3.2vw, 38px); }
.bz-li { position: relative; display: grid; gap: 6px; }
.bz-li h3 { margin: 0; font-family: var(--sans); font-weight: 600; font-size: clamp(1.25rem, 2.2vw, 1.65rem); line-height: 1.2; letter-spacing: -.01em; color: var(--ink); text-wrap: balance; }
.bz-li p.sd { margin: 0; font-family: var(--sans); font-size: .98rem; line-height: 1.55; color: var(--ink-muted); max-width: 60ch; text-wrap: pretty; }
@media (max-width: 1000px) {
  .bz-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bz-news { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bz-nc, .bz-nc:nth-child(-n+2) { grid-column: span 1; }
  .bz-yr { grid-template-columns: minmax(0, 1fr); }
  .bz-yr > h2 { position: static; }
  .bz-trow { grid-template-columns: 56px minmax(0, 1fr); }
  .bz-trow .bz-ph { grid-column: 2; max-width: 280px; }
}
@media (max-width: 640px) {
  .bz-strip, .bz-news { grid-template-columns: minmax(0, 1fr); }
}
.bp-sharep { padding: 22px 24px; display: grid; gap: 20px; }
.bp-row { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 14px; align-items: start; }
.bp-row > .rs-who { margin: 0; padding-top: 8px; }
.bp-tags { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.bp-sharebar { display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; }
.bp-soc { display: flex; align-items: center; gap: 6px; }
.bp-soc a { width: 36px; height: 36px; display: inline-grid; place-items: center; border-radius: var(--r-pill); background: var(--overlay-hover); font-size: .95rem; color: var(--ink); transition: background var(--d2) var(--ease), color var(--d2) var(--ease); }
@media (hover: hover) and (pointer: fine) {
  .bp-soc a:hover { background: var(--surface-2); color: var(--ember); }
}
#bp-copy .bi { font-size: .95rem; margin-right: 6px; }
.bp-quiet { display: grid; gap: 12px; }
.bp-rowp { padding: 16px 20px; }
.bp-who { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.bp-who img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; display: block; flex: none; }
.bp-who .rs-who { margin: 0; flex: 1; min-width: 200px; line-height: 1.4; }
.bp-links a { color: var(--ink); font-weight: 500; transition: color var(--d2) var(--ease); }
@media (hover: hover) and (pointer: fine) {
  .bp-links a:hover { color: var(--ember); }
}
.bp-card { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 6px 22px; align-items: start; }
.bp-card img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; grid-row: span 3; display: block; }
.bp-card h3 { margin: 0; font-family: var(--sans); font-weight: 600; font-size: 1.3rem; color: var(--ink); }
.bp-card p { margin: 0; font-family: var(--sans); font-size: .95rem; line-height: 1.6; color: var(--ink-muted); text-wrap: pretty; }
.bp-card .rs-who { margin: 0; }
.bp-card .bz-end { grid-column: 2; margin-top: 8px; justify-content: flex-start; }
.bp-next { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(16px, 3vw, 36px); align-items: center; padding: 12px; position: relative; }
.bp-next .bz-ph { aspect-ratio: 4 / 3; }
.bp-next-b { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: clamp(6px, 2vw, 20px) clamp(8px, 2vw, 28px) clamp(6px, 2vw, 20px) 0; }
.bp-next-b h3 { margin: 0; font-family: var(--sans); font-weight: 600; font-size: clamp(1.3rem, 2.2vw, 1.7rem); line-height: 1.2; color: var(--ink); text-wrap: balance; }
.bp-next-b .bz-end { width: 100%; }
@media (max-width: 900px) {
  .bp-next { grid-template-columns: minmax(0, 1fr); }
  .bp-card { grid-template-columns: 64px minmax(0, 1fr); }
  .bp-card img { width: 64px; height: 64px; }
}
.bo-ah { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0 0 14px; }
.bo-ah h2 { margin: 0; font-family: var(--ui); font-weight: 600; font-size: 1.15rem; line-height: 1.3; color: var(--ink); }
.bo-ah p { margin: 2px 0 0; font-family: var(--ui); font-size: .84rem; color: var(--ink-muted); }
.bo-gap { height: clamp(28px, 4vw, 52px); }
.bo-feat { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(20px, 3.4vw, 48px); align-items: center; padding: 12px; position: relative; }
.bo-feat .bz-ph { aspect-ratio: 3 / 2; }
.bo-feat-b { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: clamp(8px, 2vw, 28px) clamp(8px, 2.6vw, 40px) clamp(8px, 2vw, 28px) 0; }
.bo-feat-b h2 { margin: 0; font-family: var(--sans); font-weight: 600; font-size: clamp(1.5rem, 2.6vw, 2.1rem); line-height: 1.2; letter-spacing: -.01em; color: var(--ink); text-wrap: balance; }
.bo-feat-b .bz-end { width: 100%; }
.bo-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.bo-ti { display: flex; align-items: center; gap: 10px; }
.bo-ti .bi { color: var(--ember); font-size: 1.35rem; line-height: 1; }
.bo-cnt { font-family: var(--display, var(--serif)); font-size: 2.1rem; line-height: .9; letter-spacing: -.03em; color: var(--ink); }
.bo-cnt small { display: block; font-family: var(--ui); font-size: .72rem; letter-spacing: 0; color: var(--ink-muted); margin-top: 4px; text-align: right; }
.bo-two { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 12px; align-items: start; }
.bo-tiles .bz-ph { aspect-ratio: 16 / 10; }
.bo-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: stretch; }
.bo-side { display: grid; gap: 12px; }
.bo-p { padding: 20px; display: grid; gap: 12px; align-content: start; position: relative; }
.bo-p h3 { margin: 0; font-family: var(--ui); font-weight: 600; font-size: 1rem; color: var(--ink); }
.bo-mr { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.bo-mr li { position: relative; display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: 4px 10px; align-items: baseline; }
.bo-mr .n { font-family: var(--display, var(--serif)); font-size: 1.5rem; line-height: 1; color: var(--ember); }
.bo-mr b { font-family: var(--sans); font-weight: 600; font-size: .95rem; line-height: 1.3; color: var(--ink); }
.bo-mr b a { color: inherit; transition: color var(--d2) var(--ease); }
.bo-mr b a::after { content: ""; position: absolute; inset: 0; }
@media (hover: hover) and (pointer: fine) {
  .bo-mr li:hover b a { color: var(--ember); }
}
.bo-mr .bz-k { grid-column: 2; }
.bo-tl { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.bo-tl a { display: grid; grid-template-columns: 1.4rem minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 9px 8px; margin: 0 -8px; border-radius: var(--r-input); transition: background var(--d2) var(--ease); }
.bo-tl .bi { color: var(--ember); font-size: 1.05rem; }
.bo-tl .t { font-family: var(--ui); font-size: .92rem; color: var(--ink); transition: color var(--d2) var(--ease); }
.bo-tl .k { font-family: var(--ui); font-size: .82rem; color: var(--ink-muted); }
@media (hover: hover) and (pointer: fine) {
  .bo-tl a:hover .t { color: var(--ember); }
}
.bo-p p.bo-copy { margin: 0; font-family: var(--sans); font-size: .92rem; line-height: 1.55; color: var(--ink-muted); }
.bo-p .bz-end { margin-top: 2px; }
.bo-p .bo-ic { color: var(--ember); font-size: 1.5rem; line-height: 1; display: inline-flex; }
.bo-dg { padding: 20px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 20px 32px; align-items: center; }
.bo-dg-t { display: flex; align-items: flex-start; gap: 14px; }
.bo-dg-t .bo-ic { color: var(--ember); font-size: 1.6rem; line-height: 1; display: inline-flex; margin-top: 2px; }
.bo-dg h3 { margin: 0 0 4px; font-family: var(--ui); font-weight: 600; font-size: 1rem; color: var(--ink); }
.bo-dg p.bo-copy { margin: 0; font-family: var(--sans); font-size: .92rem; line-height: 1.5; color: var(--ink-muted); }
.bo-dg-f { display: flex; align-items: center; gap: 10px; }
.bo-dg-f .fld { flex: 1; min-width: 0; }
@media (max-width: 900px) {
  .bo-dg { grid-template-columns: minmax(0, 1fr); }
}
.bo-pager { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; align-items: center; }
.bo-lib { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 12px; align-items: start; }
.bo-rail { position: sticky; top: 92px; padding: 10px; display: grid; gap: 2px; }
.bo-rail h3 { margin: 6px 10px 8px; font-family: var(--ui); font-weight: 600; font-size: .95rem; color: var(--ink); }
.bo-rail button { appearance: none; border: 0; background: none; font: inherit; text-align: left; cursor: pointer; display: grid; grid-template-columns: 1.4rem minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px; border-radius: var(--r-input); color: var(--ink-muted); transition: background var(--d2) var(--ease), color var(--d2) var(--ease); }
.bo-rail button .bi { color: var(--ember); font-size: 1.05rem; }
.bo-rail button .t { font-family: var(--ui); font-size: .92rem; color: var(--ink); }
.bo-rail button .k { font-family: var(--ui); font-size: .8rem; color: var(--ink-muted); }
.bo-rail button.on { background: var(--glass); }
.bo-rail button.on .t { font-weight: 600; }
.bo-rail button.on .k { color: var(--ember); font-weight: 600; }
@media (hover: hover) and (pointer: fine) {
  .bo-rail button:hover .t { color: var(--ember); }
}
.bo-rail button:focus-visible { outline: 2px solid var(--ember); outline-offset: 2px; }
.bo-main { display: grid; gap: 12px; min-width: 0; }
.bo-sec { padding: 20px; display: grid; gap: 16px; transition: opacity 200ms var(--ease); }
.bo-sec.dim { opacity: .38; }
.bo-sh { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.bo-body { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(14px, 2vw, 24px); align-items: stretch; }
.bo-lead { position: relative; display: flex; flex-direction: column; gap: 12px; }
.bo-lead .bz-ph { aspect-ratio: 16 / 10; }
.bo-lead h3 { margin: 0; font-family: var(--sans); font-weight: 600; font-size: 1.2rem; line-height: 1.25; color: var(--ink); text-wrap: balance; }
.bo-list { display: grid; gap: 10px; grid-template-rows: repeat(3, minmax(0, 1fr)) auto; }
.bo-row { position: relative; display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 14px; align-items: center; padding: 8px; border-radius: var(--r-card); background: var(--overlay-hover); transition: background var(--d2) var(--ease); }
.bo-row .bz-ph { aspect-ratio: 4 / 3; align-self: center; }
.bo-row h4 { margin: 0 0 4px; font-family: var(--sans); font-weight: 600; font-size: .98rem; line-height: 1.3; color: var(--ink); text-wrap: balance; }
.bo-row h4 a { color: inherit; transition: color var(--d2) var(--ease); }
.bo-row h4 a::after { content: ""; position: absolute; inset: 0; border-radius: var(--r-card); }
@media (hover: hover) and (pointer: fine) {
  .bo-row:hover h4 a { color: var(--ember); }
}
.bo-two2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
@media (max-width: 1100px) {
  .bo-two { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .bo-feat, .bo-lib, .bo-body, .bo-two2 { grid-template-columns: minmax(0, 1fr); }
  .bo-rail { position: static; }
  .bo-tiles { grid-template-columns: minmax(0, 1fr); }
  .bo-feat-b { padding: 8px 8px 12px; }
}
@media (max-width: 640px) {
  .bo-tiles .bz-ph { aspect-ratio: 3 / 2; }
}
.bp-hero-in { text-align: left; width: 100%; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.bp-hero h1.serif { font-size: clamp(2rem, 3.6vw, 3.1rem); line-height: 1.08; letter-spacing: -.025em; max-width: none; margin: 16px 0 0; }
.bp-by { margin-top: clamp(16px, 2vw, 22px); display: inline-flex; align-items: center; gap: 12px; }
.bp-by img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; display: block; }
.bp-by .rs-who { line-height: 1.4; }
.bp-keys { margin-top: clamp(20px, 2.6vw, 30px); padding: 20px; }
.bp-keys .eyebrow { display: block; margin-bottom: 10px; color: var(--ink-muted); }
.bp-keys ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.bp-keys li { display: flex; gap: 12px; align-items: baseline; font-family: var(--sans); font-size: .95rem; line-height: 1.45; color: var(--ink); }
.bp-keys .n { font-family: var(--ui); font-size: .74rem; letter-spacing: .04em; color: var(--ember); min-width: 1.4em; }
.bp-cover { padding: 12px; }
.bp-cover .rs-photo { aspect-ratio: 4 / 3; border-radius: var(--r-card); }
.bp-cover .rs-photo img { object-position: 50% 30%; }
.bp-body { padding-top: clamp(28px, 4vw, 56px); }
.bp-chaps { display: flex; flex-direction: column; gap: clamp(18px, 2.6vw, 30px); min-width: 0; }
.bp-chap { scroll-margin-top: 96px; display: flex; flex-direction: column; gap: 16px; }
.bp-chap-h { display: flex; align-items: baseline; gap: 12px; margin-bottom: 2px; }
.bp-num { font-family: var(--ui); font-size: .74rem; letter-spacing: .04em; color: var(--ink-muted); }
.bp-chap h2.serif { font-size: clamp(1.6rem, 2.8vw, 2.2rem); letter-spacing: -.02em; line-height: 1.15; margin: 0; }
.bp-chap h3 { margin: 6px 0 0; font-family: var(--ui); font-style: normal; font-weight: 600; font-size: 1.05rem; line-height: 1.5; color: var(--ink); }
.bp-chap p, .bp-chap li { font-family: var(--sans); font-size: 1rem; line-height: 1.7; color: var(--ink); text-wrap: pretty; }
.bp-chap p { margin: 0; }
.bp-chap ol { margin: 0; padding-left: 1.3em; display: grid; gap: 10px; }
.bp-chap blockquote { margin: 0; padding: 0; font-family: var(--sans); font-size: 1.15rem; line-height: 1.6; color: var(--ink); text-wrap: pretty; }
.bp-chap blockquote .bi { display: block; color: var(--ember); font-size: 2rem; line-height: 1; margin-bottom: 6px; }
.bp-chap a { color: var(--ember); }
.bp-fig { margin: 0; }
.bp-fig .rs-photo { border-radius: var(--r-card); }
.bp-fig figcaption { margin-top: 8px; font-family: var(--ui); font-size: .82rem; color: var(--ink-muted); }
.bp-q h3 { margin: 0; }
.bp-q p { margin-top: 4px; color: var(--ink-muted); }
.bp-end { display: flex; flex-direction: column; gap: clamp(20px, 2.6vw, 28px); }
.bp-author { display: flex; align-items: flex-start; gap: 18px; }
.bp-author img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; display: block; flex: none; }
.bp-author .rs-who { margin: 0; }
.bp-author h3 { margin: 2px 0 0; font-family: var(--sans); font-weight: 600; font-size: 1.15rem; line-height: 1.3; color: var(--ink); }
.bp-author p:not(.rs-who) { margin: 8px 0 0; font-family: var(--sans); font-size: .95rem; line-height: 1.6; color: var(--ink-muted); text-wrap: pretty; max-width: 62ch; }
.bp-byrow { margin-top: clamp(16px, 2vw, 22px); display: flex; align-items: center; justify-content: space-between; gap: 12px 20px; flex-wrap: wrap; }
.bp-topics { padding: 20px; display: flex; align-items: center; gap: 14px; }
.bp-topics > .bi { color: var(--ember); font-size: 1.4rem; line-height: 1; flex: none; }
.bp-tags { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.bp-more { padding-top: clamp(28px, 4vw, 56px); }
@media (max-width: 900px) {
  .bp-hero-in { grid-template-columns: minmax(0, 1fr); }
  .bp-cover .rs-photo { aspect-ratio: 3 / 2; }
  .bp-body .rs-reel-grid { grid-template-columns: minmax(0, 1fr); }
  .bp-body .rs-index { position: static; }
  .bp-card { grid-template-columns: 64px minmax(0, 1fr); }
  .bp-card img { width: 64px; height: 64px; }
}
.bz-strip-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bp-hero-in.bp-nocover { grid-template-columns: minmax(0, 1fr); }
.bp-solo { max-width: 860px; margin: 0 auto; }
.bp-chap img { display: block; max-width: 100%; height: auto; border-radius: var(--r-card); }
.bp-chap figure { margin: 0; }
.bp-chap figcaption { margin-top: 8px; font-family: var(--ui); font-size: .82rem; color: var(--ink-muted); }
.bp-chap iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: var(--r-card); }
.bp-chap ul { margin: 0; padding-left: 1.3em; display: grid; gap: 8px; }
.bp-chap table { width: 100%; border-collapse: collapse; font-family: var(--sans); font-size: .95rem; color: var(--ink); }
.bp-chap th, .bp-chap td { text-align: left; padding: 8px 12px 8px 0; vertical-align: top; }
.bp-chap th { font-family: var(--ui); font-weight: 600; }
.bp-chap pre, .bp-chap code { font-size: .9em; }
.bp-chap pre { overflow-x: auto; }
.bp-chap a:not(.btn) { overflow-wrap: anywhere; }
.bp-role { margin: 0; font-family: var(--ui); font-size: .86rem; color: var(--ink-muted); }
.bp-card img { grid-row: 1 / span 4; }
.bp-card:not(:has(> img)) { grid-template-columns: minmax(0, 1fr); }
.bp-written .rs-who { margin: 0; }
.bo-tl a.on .t { font-weight: 600; color: var(--ember); }
.bo-pager a.fchip { text-decoration: none; }
@media (min-width: 981px) {
  .bp-body .rs-index { max-height: calc(100vh - 124px); overflow-y: auto; scrollbar-width: thin; }
}
@media (max-width: 900px) {
  .bz-strip-3 { grid-template-columns: minmax(0, 1fr); }
}
/* ===== about.css ===== */
.ab-sec { padding-top: clamp(40px, 6vw, 80px); }
.ab-head { text-align: center; max-width: 52ch; margin: 0 auto clamp(28px, 4vw, 48px); }
.ab-head .eyebrow { display: block; margin-bottom: 14px; }
.ab-head h2.serif, .ab-text h2.serif { font-size: 2rem; margin: 0; }
.ab-head .lede { margin: 14px auto 0; max-width: 56ch; }
.ab-ic { color: var(--ember); font-size: 1.7rem; line-height: 1; display: inline-flex; }
.ab-mission { padding: clamp(28px, 4.4vw, 60px); border-radius: var(--r-panel); }
.ab-mission .eyebrow { display: block; margin-bottom: 10px; color: var(--ink-muted); }
.ab-mission h2.serif { font-size: clamp(2rem, 4.6vw, 3.8rem); line-height: 1.04; letter-spacing: -.03em; margin: 0; }
.ab-mission h2.serif span { display: block; margin-top: 14px; font-family: var(--sans); font-weight: 400; font-size: clamp(1.05rem, 1.6vw, 1.3rem); line-height: 1.5; letter-spacing: 0; color: var(--ink-muted); max-width: 46ch; }
.ab-culture { margin-top: clamp(32px, 4vw, 48px); }
.ab-culture h3 { margin: 0; font-family: var(--sans); font-weight: 600; font-size: 1.15rem; color: var(--ink); }
.ab-culture p { margin: 8px 0 0; max-width: 62ch; font-family: var(--sans); font-size: 1rem; line-height: 1.65; color: var(--ink-muted); text-wrap: pretty; }
.ab-drives { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.ab-hists { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 3vw, 40px); align-items: start; }
.ab-hpanel { padding: clamp(24px, 3.4vw, 44px); border-radius: var(--r-panel); }
.ab-hist { display: flex; flex-direction: column; gap: 8px; }
.ab-yr { font-family: var(--ui); font-size: .8rem; font-weight: 600; color: var(--ember); }
.ab-hist h3, .ab-card h3 { margin: 0; font-family: var(--sans); font-weight: 600; font-size: 1.08rem; line-height: 1.3; color: var(--ink); }
.ab-hist p, .ab-card p { margin: 0; font-family: var(--sans); font-size: .92rem; line-height: 1.55; color: var(--ink-muted); text-wrap: pretty; }
.ab-stats { list-style: none; margin: clamp(32px, 4.4vw, 52px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 3vw, 40px); text-align: left; }
.ab-stats li { display: grid; gap: 4px; }
.ab-stats b { font-family: var(--ui); font-weight: 600; font-size: 1.4rem; line-height: 1.2; color: var(--ink); }
.ab-stats span { font-family: var(--ui); font-size: .86rem; color: var(--ink-muted); }
.ab-story { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.ab-text .eyebrow { display: block; margin-bottom: 14px; }
.ab-text p { margin: 16px 0 0; max-width: 56ch; font-family: var(--sans); font-size: 1rem; line-height: 1.7; color: var(--ink-muted); text-wrap: pretty; }
.ab-text h2.serif + p { margin-top: 22px; }
.ab-side { display: grid; gap: 12px; }
.ab-quote { padding: clamp(22px, 3vw, 32px); }
.ab-quote .bi { color: var(--ember); font-size: 2rem; line-height: 1; }
.ab-quote p { margin: 10px 0 0; font-family: var(--sans); font-size: 1.1rem; line-height: 1.6; color: var(--ink); text-wrap: pretty; }
.ab-values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ab-card { padding: 20px; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.ab-card .ab-ic { margin-bottom: 4px; }
.ab-team { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: start; }
.ab-team .ab-member:nth-child(3n+2) { margin-top: clamp(14px, 2.6vw, 34px); }
.ab-member { padding: 12px 12px 18px; display: flex; flex-direction: column; gap: 14px; scroll-margin-top: 110px; }
.ab-member .rs-photo { aspect-ratio: 670 / 896; border-radius: var(--r-card); }
.ab-member .rs-photo img { object-position: top; }
.ab-who { padding: 0 8px; display: flex; flex-direction: column; gap: 6px; }
.ab-role { font-family: var(--ui); font-size: .8rem; font-weight: 500; color: var(--ink-muted); }
.ab-member h3 { margin: 0; font-family: var(--sans); font-weight: 600; font-size: 1.15rem; line-height: 1.25; color: var(--ink); }
.ab-member p { margin: 4px 0 0; font-family: var(--sans); font-size: .92rem; line-height: 1.55; color: var(--ink-muted); text-wrap: pretty; }
.ab-tags { padding-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; }
@media (max-width: 1000px) {
  .ab-hists { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ab-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
  .ab-story { grid-template-columns: minmax(0, 1fr); }
  .ab-team { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ab-team .ab-member:nth-child(3n+2) { margin-top: 0; }
  .ab-drives { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .ab-hists, .ab-values, .ab-drives, .ab-team { grid-template-columns: minmax(0, 1fr); }
}
/* ===== ads.css ===== */
:root { --ad-ease: cubic-bezier(.23, 1, .32, 1); }
.ledger { margin-top: clamp(28px,3.4vw,40px); background: var(--surface); border-radius: 24px; padding: clamp(22px,2.4vw,28px); }
.ledger .adm-cap { text-align: left; margin: 0 0 14px; }
.ledger-rows { margin: 0; display: grid; gap: 9px; }
.ledger-rows > div { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.ledger-rows dt { margin: 0; font-family: var(--sans); font-size: .88rem; color: var(--ink-muted); }
.ledger-rows dd { margin: 0; font-family: var(--sans); font-size: .95rem; color: var(--ink); font-variant-numeric: tabular-nums; }
.ledger-rows .tot { margin-top: 5px; padding-top: 11px; box-shadow: inset 0 1px 0 var(--hairline); }
.ledger-rows .tot dt { color: var(--ink); font-weight: 600; }
.ledger-rows .tot dd { font-family: var(--display); font-weight: 600; font-size: 1.5rem; background-image: var(--hl-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.ledger-unit { margin: 4px 0 0; text-align: right; font-family: var(--ui); font-size: .7rem; color: var(--ink-muted); }
.ledger .adm-bar { margin-top: 18px; height: 8px; }
.ledger .adm-legend { margin-top: 9px; }
.adm-cap { font-family: var(--ui); font-weight: 600; font-size: .76rem; letter-spacing: .04em; color: var(--ink-muted); text-align: center; margin: clamp(32px,4vw,48px) auto 16px; }
.adm-bar { display: flex; gap: 3px; margin-top: clamp(24px,3vw,32px); height: 10px; }
.adm-bar span { display: block; width: var(--w); border-radius: var(--r-pill); background: var(--ember); }
.adm-bar .mine { background: var(--ink); }
.adm-legend { display: flex; justify-content: space-between; margin-top: 12px; font-family: var(--ui); font-size: .72rem; color: var(--ink-faint); }
.adm-legend b { font-weight: 600; color: var(--ink-muted); }
.ad-dot { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; flex: none; background: var(--surface-2); box-shadow: 0 2px 10px rgba(20,24,36,.10),0 0 0 1px var(--hairline); color: var(--ink-muted); font-size: 1.1rem; line-height: 0; }
.ad-ilist { list-style: none; margin: 0; padding: 0; display: grid; gap: 22px; }
.ad-irow { display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 16px; align-items: start; }
.ad-irow h3 { margin: 0; font-family: var(--sans); font-weight: 600; font-size: 1.04rem; color: var(--ink); display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.ad-irow p { margin: 5px 0 0; font-family: var(--sans); font-size: .95rem; line-height: 1.55; color: var(--ink-muted); }
.ad-duo { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(24px,4vw,64px); align-items: center; }
@media (max-width:860px) {
  .ad-duo { grid-template-columns: minmax(0,1fr); }
}
.ad-left { text-align: left!important; margin: 0 0 24px!important; max-width: none!important; }
.ad-lab { margin: 0 0 10px; font-family: var(--ui); font-weight: 600; font-size: .76rem; letter-spacing: .04em; color: var(--ink-muted); }
.ad-lab span { font-weight: 500; }
.ad-chiprow { display: flex; flex-wrap: wrap; gap: 8px; }
.ad-chiprow .fchip { font-size: .9rem; padding: 9px 15px; background: var(--surface-2); color: var(--ink); box-shadow: 0 1px 6px rgba(20,24,36,.08); transition: background 160ms var(--ad-ease),color 160ms var(--ad-ease),transform 120ms var(--ad-ease); }
.ad-chiprow .fchip.on { background: var(--surface-2); color: var(--ink); box-shadow: 0 0 0 2px var(--ink); font-weight: 600; }
.ad-chiprow .fchip:active { transform: scale(.97); }
.ad-fill { display: grid; grid-template-columns: minmax(0,.92fr) minmax(0,1fr); gap: clamp(24px,4vw,64px); align-items: center; padding: clamp(24px,3.4vw,44px); }
.ad-paper { background: var(--surface-2); border-radius: 14px; box-shadow: 0 18px 40px -26px rgba(20,24,36,.4),0 0 0 1px var(--hairline); padding: clamp(14px,1.8vw,20px); display: grid; gap: 10px; width: min(100%,400px); justify-self: center; }
.ad-paper .ad-mast { height: 22px; border-radius: 5px; background: var(--hairline-strong); }
.ad-paper .ad-bars { display: grid; gap: 6px; }
.ad-paper .ad-bars i { height: 7px; border-radius: 4px; background: var(--hairline); }
.ad-paper .ad-bars i:nth-child(2) { width: 86%; }
.ad-paper .ad-bars i:nth-child(3) { width: 64%; }
.ad-paper .ad-prow { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ad-paper .ad-art { border-radius: 10px; background: var(--surface); padding: 10px; display: grid; gap: 6px; align-content: start; min-height: 96px; }
.ad-paper .ad-art i { height: 6px; border-radius: 3px; background: var(--hairline-strong); }
.ad-paper .ad-art i:first-child { height: 30px; border-radius: 6px; background: var(--hairline); }
.ad-slot { appearance: none; border: 0; font: inherit; cursor: pointer; border-radius: 10px; min-height: 96px; display: grid; place-items: center; align-content: center; gap: 3px; text-align: center; padding: 8px; background: var(--surface); color: var(--ink-muted); font-family: var(--ui); font-weight: 600; font-size: .78rem; transition: background 160ms var(--ad-ease),box-shadow 160ms var(--ad-ease),transform 120ms var(--ad-ease),color 160ms var(--ad-ease); }
.ad-slot i { font-size: 1.25rem; line-height: 1; }
.ad-slot b { font-family: var(--display); font-weight: var(--display-weight); font-size: 1.3rem; letter-spacing: -.01em; display: none; }
.ad-slot:active { transform: scale(.97); }
.ad-slot:focus-visible { outline: none; box-shadow: var(--ember-ring); }
.ad-slot[aria-pressed="true"] { background: var(--surface-2); color: var(--ink); box-shadow: 0 0 0 2px var(--ink); }
.ad-slot[aria-pressed="true"] b { display: block; }
.ad-slot .ad-on { display: none; }
.ad-slot[aria-pressed="true"] .ad-on { display: inline; }
.ad-slot[aria-pressed="true"] .ad-off { display: none; }
.ad-fill h2.serif { font-size: 2rem; margin: 10px 0 12px; }
.ad-fill .ledger { margin-top: 22px; background: var(--surface-2); }
.ad-fill .ledger-rows dd { transition: opacity 120ms var(--ad-ease); }
.ad-fill .adm-bar span { transition: width 240ms var(--ad-ease); }
.ad-save { margin: 14px 0 0; font-family: var(--ui); font-size: .9rem; color: var(--ink-muted); min-height: 1.4em; }
.ad-save b { color: var(--ink); font-weight: 600; }
@media (max-width:900px) {
  .ad-fill { grid-template-columns: minmax(0,1fr); }
}
.ad-chips { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; max-width: 860px; margin: 0 auto; }
.ad-chip { display: inline-flex; gap: 10px; align-items: center; padding: 9px 18px 9px 10px; border-radius: 99px; background: var(--surface-2); box-shadow: 0 2px 10px rgba(20,24,36,.08); font-family: var(--ui); font-weight: 500; font-size: .95rem; color: var(--ink); }
.ad-dot { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: var(--surface-2); color: var(--ink-muted); font-size: 1.1rem; line-height: 0; }
:where(#ad-page) .ad-dot { box-shadow: 0 2px 10px rgba(20,24,36,.10); }
.ad-chip .ad-dot { width: 30px; height: 30px; font-size: .95rem; box-shadow: none; background: var(--bg); }
.ad-inv { background: var(--surface-2); border-radius: 16px; box-shadow: 0 18px 40px -26px rgba(20,24,36,.4); padding: clamp(20px,2.6vw,30px); display: grid; gap: 16px; font-family: var(--sans); width: min(100%,420px); justify-self: center; }
.ad-inv .ad-inv-hd { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.ad-inv .ad-inv-hd b { font-family: var(--display); font-weight: var(--display-weight); font-size: 1.5rem; letter-spacing: -.01em; color: var(--ink); }
.ad-inv .ad-inv-hd span { font-family: var(--ui); font-size: .78rem; color: var(--ink-muted); }
.ad-inv .ad-inv-to { font-size: .88rem; color: var(--ink-muted); }
.ad-inv .ad-inv-to b { display: block; color: var(--ink); font-size: 1rem; font-weight: 600; }
.ad-inv .ad-inv-ln { display: flex; justify-content: space-between; gap: 16px; font-size: .95rem; color: var(--ink-muted); }
.ad-inv .ad-inv-ln b { color: var(--ink); font-weight: 500; font-variant-numeric: tabular-nums; }
.ad-inv .ad-inv-tot { display: flex; justify-content: space-between; align-items: baseline; padding-top: 6px; font-size: .95rem; color: var(--ink); }
.ad-inv .ad-inv-tot b { font-family: var(--display); font-weight: var(--display-weight); font-size: 1.7rem; font-variant-numeric: tabular-nums; }
.ad-inv .ad-inv-due { display: flex; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 10px; background: var(--surface); font-size: .86rem; color: var(--ink-muted); margin: 0; }
.ad-inv .ad-inv-due i { color: var(--ink); }
.ad-wm { display: block; height: 24px; width: 70px; color: var(--ink); }
.ad-dot { justify-content: flex-start; }
:where(#ad-page) .ad-dot { background: none!important; box-shadow: none!important; width: auto; height: auto; color: var(--ember); font-size: 1.5rem; place-items: start; }
:where(#ad-page) .ad-irow { grid-template-columns: 30px minmax(0,1fr); gap: 14px; }
.ad-irow .ad-dot { padding-top: 2px; }
.ad-chip .ad-dot { color: var(--ember); place-items: center; }
:where(#ad-page) .ad-chip .ad-dot { background: none!important; font-size: 1.05rem; width: auto; height: auto; }
:where(#ad-page) .ad-chip { padding: 9px 18px; }
:where(#ad-page) .ad-inv .ad-inv-hd { align-items: center; }
:where(#ad-page) .ad-inv .ad-inv-due i { color: var(--ember); }
.ad-paper .ad-mast { padding: 2px 2px 6px; }
:where(#ad-page) .ad-paper .ad-mast { height: auto; background: none; }
:where(#ad-page) .ad-paper .ad-art i:first-child { background: var(--ember-soft); }
.ad-slot { color: var(--ink-muted); }
.ad-slot i { color: var(--ink-faint); }
.ad-slot .ad-on { color: var(--ember); }
:where(#ad-page) .ad-slot[aria-pressed="true"] { box-shadow: 0 0 0 2px var(--ember); }
.ad-slot b { background-image: var(--hl-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.ad-chiprow .fchip.on { color: var(--ink); }
:where(#ad-page) .ad-chiprow .fchip.on { box-shadow: 0 0 0 2px var(--ember); }
.ad-fill .ledger-rows .tot dd { font-size: 1.5rem; }
.ad-irow .ad-dot { background: var(--ember-soft)!important; border-radius: 50%; width: 40px; height: 40px; place-items: center; font-size: 1.15rem; color: var(--ember); }
.ad-irow { gap: 16px; }
:where(#ad-page) .ad-irow { grid-template-columns: 40px minmax(0,1fr); }
:where(#ad-page) .ad-irow .ad-dot { padding-top: 0; }
.ad-save { display: flex; width: fit-content; max-width: 100%; gap: 10px; align-items: center; padding: 10px 16px; border-radius: var(--r-input); background: var(--ember-soft); }
:where(#ad-page) .ad-save { margin: 16px 0 0; color: var(--ink); font-size: .92rem; min-height: 0; }
.ad-save i { color: var(--ember); font-size: 1.2rem; line-height: 1; }
@media (prefers-reduced-motion: reduce) {
  .ad-fill .adm-bar span, .ad-slot, .ad-chiprow .fchip { transition: none; }
}
/* ===== miles.css ===== */
:root { --mm-ease: cubic-bezier(.23,1,.32,1); }
.mm-photo { margin: 0; border-radius: var(--r-input); overflow: hidden; background: #F5F5F5; }
.mm-photo img { display: block; width: 100%; height: auto; }
.mm-lab { margin: 0 0 8px; font-family: var(--ui); font-weight: 600; font-size: .875rem; color: var(--ink); }
.mm-year { display: grid; grid-template-columns: minmax(0,400px) minmax(0,1fr); gap: 48px; padding: 32px; align-items: center; }
.mm-yr { background: var(--surface-2); border-radius: var(--r-card); padding: 24px 28px; box-shadow: 0 2px 12px rgba(20,24,36,.08); }
.mm-ladder { list-style: none; margin: 0; padding: 0; display: grid; }
.mm-stop { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; gap: 16px; align-items: center; padding: 16px 0; position: relative; }
.mm-stop:not(:last-child)::after { content: ""; position: absolute; left: 13px; top: calc(50% + 14px); bottom: calc(-50% + 14px); width: 2px; background: var(--hairline-strong); }
.mm-stop.got:not(:last-child)::after { background: var(--ember); }
.mm-stop .dot { width: 28px; height: 28px; border-radius: 50%; background: var(--surface); box-shadow: 0 0 0 2px var(--hairline-strong); display: grid; place-items: center; color: transparent; font-size: .8rem; position: relative; z-index: 1; transition: background 200ms var(--mm-ease),box-shadow 200ms var(--mm-ease); }
.mm-stop.got .dot { background: var(--cta-grad); box-shadow: none; color: #fff; }
.mm-stop .m { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.mm-stop b { font-family: var(--sans); font-weight: 600; font-size: 1.0625rem; color: var(--ink); }
.mm-stop .f { font-family: var(--sans); font-size: 1rem; color: var(--ink-muted); text-align: right; }
.mm-stop .f em { font-style: normal; font-family: var(--display); font-weight: var(--display-weight); font-size: 1.5rem; letter-spacing: -.01em; color: var(--ink-faint); margin-right: 4px; vertical-align: -2px; }
.mm-stop.got .f em { color: var(--ember); }
.mm-stop.you { padding: 4px 0; }
.mm-stop.you::after { display: none; }
.mm-stop.you .dot { background: none; box-shadow: none; color: var(--ember); font-size: 1.1rem; }
.mm-stop.you .pill { grid-column: 2/4; justify-self: start; padding: 6px 14px; border-radius: 99px; background: var(--ember-soft); font-family: var(--ui); font-weight: 600; font-size: .9375rem; color: var(--ink); }
.mm-best { font-family: var(--ui); font-weight: 600; font-size: .75rem; padding: 3px 8px; border-radius: 99px; background: var(--ember-soft); color: var(--ink); }
.mm-yr-note { margin: 8px 0 0; padding-top: 16px; font-family: var(--sans); font-size: .9375rem; line-height: 1.5; color: var(--ink-muted); box-shadow: inset 0 1px 0 var(--hairline); }
@media (max-width:900px) {
  .mm-year { grid-template-columns: minmax(0,1fr); padding: 20px 16px; gap: 24px; }
  .mm-photo { max-width: 400px; }
}
.mm-flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px; }
.mm-fs { display: grid; gap: 12px; align-content: start; justify-items: start; }
.mm-fs-ic { width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center; background: var(--ember-soft); color: var(--ember); font-size: 1.6rem; }
.mm-fs h3 { margin: 8px 0 0; font-family: var(--sans); font-weight: 600; font-size: 1.25rem; color: var(--ink); }
.mm-fs p { margin: 0; font-family: var(--sans); font-size: 1rem; line-height: 1.6; color: var(--ink-muted); max-width: 36ch; }
@media (max-width:860px) {
  .mm-flow { grid-template-columns: minmax(0,1fr); gap: 32px; }
}
.mm-photo img { height: auto; object-fit: contain; }
.mm-earnl { list-style: none; margin: 0; padding: 8px 28px 28px; display: grid; gap: 16px; }
.mm-earnl li { display: grid; grid-template-columns: 28px 118px minmax(0,1fr); gap: 12px; align-items: center; font-family: var(--sans); font-size: 1rem; line-height: 1.35; color: var(--ink-muted); white-space: nowrap; }
.mm-earnl i { color: var(--ember); font-size: 1.4rem; line-height: 1; }
.mm-earnl b { font-family: var(--sans); font-weight: 600; font-size: 1.125rem; line-height: 1.2; color: var(--ink); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) {
  .mm-stop .dot { transition: none; }
}
/* ===== cookies.css ===== */
.ck { position: fixed; left: 50%; bottom: 16px; transform: translateX(-50%); z-index: 210; width: min(1000px, calc(100vw - 32px)); display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: 16px 18px 16px 22px; border-radius: var(--r-card); background: var(--overlay); -webkit-backdrop-filter: var(--overlay-blur); backdrop-filter: var(--overlay-blur); border: 1px solid var(--overlay-border); box-shadow: var(--shadow-pop); animation: ck-in 240ms var(--ease) both; }
@keyframes ck-in { from { opacity: 0; transform: translate(-50%, 8px); } }
@media (prefers-reduced-motion: reduce) {
  .ck { animation: ck-fade 160ms linear both; }
  @keyframes ck-fade { from { opacity: 0; } }
}
.ck p { margin: 0; flex: 1 1 320px; text-wrap: pretty; font-family: var(--sans); font-size: .86rem; line-height: 1.5; color: var(--ink); }
.ck p a { color: var(--ember); }
.ck-act { display: flex; align-items: center; gap: 8px; margin-left: auto; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .ck { background: var(--overlay-solid); }
}
.gpc { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 14px; font-family: var(--sans); font-size: .82rem; line-height: 1.5; color: var(--ink-muted); }
.gpc .bi { color: var(--ember); font-size: 1rem; line-height: 1.3; }
.actionrow.locked .switch { opacity: .55; }
.switch[tabindex] { cursor: pointer; }
.switch[tabindex]:focus-visible { outline: 0; box-shadow: var(--ember-ring); border-radius: var(--r-pill); }
/* ===== funnel.css ===== */
.zc-stage { min-height: clamp(480px, 60vh, 560px); display: grid; align-content: center; justify-items: center; text-align: center; position: relative; }
.zc-step { width: 100%; animation: zc-in 220ms var(--ease) both; }
@keyframes zc-in { from { opacity: 0; transform: translateX(14px); } }
@media (prefers-reduced-motion: reduce) {
  .zc-step { animation: zc-fade 160ms linear both; }
  @keyframes zc-fade { from { opacity: 0; } }
}
.zc-prog { display: flex; gap: 7px; justify-content: center; margin-bottom: 4px; }
.zc-prog[hidden] { display: none; }
.zc-prog i { width: 22px; height: 3px; border-radius: 999px; background: var(--hairline-strong); transition: background var(--d2) var(--ease); }
.zc-prog i.on { background: var(--ember); }
.zc-crown { min-height: 1em; font-family: var(--display); font-size: clamp(2.2rem, 6vw, 3.2rem); line-height: 1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; margin-bottom: 10px; opacity: 0; transition: opacity var(--d2) var(--ease); }
.zc-crown.show { opacity: 1; }
.zc-ctx { margin: 0 0 8px; font-family: var(--ui); font-weight: 600; font-size: .7rem; letter-spacing: .04em; color: var(--ink-muted); }
.zc-ctx b { color: var(--ink); font-variant-numeric: tabular-nums; }
.zc-answer { margin: 0; font-family: var(--display); font-weight: var(--display-weight); font-size: clamp(1.8rem, 4.4vw, 2.6rem); line-height: 1.1; letter-spacing: -.02em; text-wrap: balance; }
.zc-answer:focus { outline: 0; }
.zc-opts { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; max-width: 330px; margin: 26px auto 0; }
.fchip.zc-opt { font-size: .92rem; padding: 13px 22px; background: var(--glass-strong); color: var(--ink); transition: background var(--d2) var(--ease), color var(--d2) var(--ease), transform var(--d1) var(--ease); }
@media (hover: hover) and (pointer: fine) {
  .fchip.zc-opt:hover { background: var(--overlay-hover); }
}
.fchip.zc-opt:active { transform: scale(.97); }
.fchip.zc-opt:focus-visible { outline: 0; box-shadow: var(--ember-ring); }
.fchip.zc-opt.picked { background: var(--ember); color: #fff; font-weight: 600; }
.zc-pay { min-height: 2.6em; max-width: 34ch; margin: 16px auto 0; font-family: var(--sans); font-size: .95rem; line-height: 1.4; color: var(--ink-muted); opacity: 0; transition: opacity var(--d2) var(--ease); }
.zc-pay.show { opacity: 1; }
.zc-qfoot { display: flex; gap: 22px; justify-content: center; align-items: center; }
.zc-back { font-family: var(--ui); font-size: .85rem; color: var(--ink-muted); padding: 8px 4px; cursor: pointer; transition: color var(--d2) var(--ease); }
@media (hover: hover) and (pointer: fine) {
  .zc-back:hover { color: var(--ink); }
}
.zc-back:focus-visible { outline: 0; box-shadow: var(--ember-ring); border-radius: 6px; }
.zc-card { max-width: 470px; margin: 22px auto 0; text-align: left; }
.zc-form { display: flex; flex-direction: column; gap: 14px; }
.zc-form .fld { margin-bottom: 0; }
.zc-two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 420px) {
  .zc-two { grid-template-columns: minmax(0, 1fr); }
}
.zc-consent { display: flex; gap: 10px; align-items: flex-start; font-family: var(--sans); font-size: .85rem; line-height: 1.45; color: var(--ink-muted); cursor: pointer; }
.zc-consent input { accent-color: var(--ember); margin-top: 3px; flex: none; }
.zc-err { min-height: 1.2em; margin: 0; font-family: var(--sans); font-size: .85rem; color: var(--danger); }
.zc-foot { display: flex; justify-content: center; }
.zc-fine { margin: 0; font-family: var(--sans); font-size: .78rem; line-height: 1.5; color: var(--ink-muted); text-align: center; }
.zc-fine a { color: var(--ember); }
.zc-choice { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-top: 28px; }
.zc-dots { display: inline-flex; gap: 6px; margin-top: 18px; }
.zc-dots i { width: 7px; height: 7px; border-radius: 50%; background: var(--ember); animation: zc-dot 1s var(--ease) infinite both; }
.zc-dots i:nth-child(2) { animation-delay: 140ms; }
.zc-dots i:nth-child(3) { animation-delay: 280ms; }
@keyframes zc-dot { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .zc-dots i { animation: none; }
}
/* ===== landing.css ===== */
body:has(#landing) .nav-in { justify-content: center; }
body:has(#landing) .nav-in .nav-left { margin: 0 auto; }
#landing .rs-hero { min-height: 100svh; padding-top: 96px; padding-bottom: 48px; display: flex; align-items: center; justify-content: center; }
#landing .rs-hero-in { width: 100%; }
.zmod-card { width: min(540px, 94vw); padding: 0; overflow: hidden; }
.zmod-frame { display: block; width: 100%; height: 280px; border: 0; background: transparent; transition: height .2s var(--ease); }
/* ===== name-studio.css ===== */
#ns-page .ns-body { padding-top: 0; }
#ns-page .ns-layout { max-width: 1040px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 20px; align-items: start; text-align: left; }
#ns-page .ns-gen, #ns-page .ns-res { display: grid; gap: 28px; align-content: start; padding: 32px; }
#ns-page .ns-gen { background: var(--tint-blue); -webkit-backdrop-filter: none; backdrop-filter: none; }
#ns-page .ns-head { display: flex; align-items: center; gap: 14px; }
#ns-page .ns-tile { width: 44px; height: 44px; border-radius: var(--r-input); display: grid; place-items: center; flex: none; }
#ns-page .ns-tile .bi { font-size: 20px; line-height: 0; }
#ns-page .ns-blue { background: var(--cat-blue-bg); color: var(--cat-blue-ink); }
#ns-page .ns-violet { background: var(--cat-violet-bg); color: var(--cat-violet-ink); }
#ns-page .ns-step { font-family: var(--ui); font-size: .76rem; color: var(--ink-muted); margin: 0 0 2px; }
#ns-page .ns-h { font-family: var(--ui); font-weight: 600; font-size: 1.15rem; color: var(--ink); margin: 0; }
#ns-page .ns-opt { font-weight: 400; color: var(--ink-faint); font-size: .8rem; margin-left: 4px; }
#ns-page .ns-fields { display: grid; gap: 16px; max-width: 360px; }
#ns-page .ns-fields .fld { margin: 0; gap: 8px; }
#ns-page .ns-fields label { font-family: var(--ui); font-weight: 500; font-size: .86rem; color: var(--ink); }
#ns-page .ns-act { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
#ns-page .ns-act .ns-msg { margin-right: auto; }
#ns-page .ns-msg { font-family: var(--ui); font-size: .8rem; color: var(--danger); margin: 0; min-height: 1.2em; }
#ns-page .ns-opts { display: grid; gap: 8px; min-height: 340px; align-content: start; }
#ns-page .ns-empty { display: grid; justify-items: center; align-content: center; gap: 12px; min-height: 300px; text-align: center; color: var(--ink-faint); }
#ns-page .ns-empty .bi { font-size: 34px; line-height: 0; }
#ns-page .ns-empty p { font-family: var(--ui); font-size: .9rem; color: var(--ink-muted); margin: 0; }
#ns-page .ns-op { display: flex; align-items: center; gap: 14px; width: 100%; text-align: left; padding: 12px 16px 12px 12px; border: 0; border-radius: var(--r-input); background: var(--tint-blue); cursor: pointer; font-family: inherit; color: var(--ink); transition: background var(--d1) var(--ease); }
#ns-page .ns-op:hover { filter: brightness(.98); }
#ns-page .ns-op.on { background: var(--ember-soft); }
#ns-page .ns-op:focus-visible { outline: 0; box-shadow: var(--ember-ring); }
#ns-page .ns-ico { width: 40px; height: 40px; border-radius: var(--r-input); display: grid; place-items: center; flex: none; background: rgba(255,255,255,.75); color: var(--ink-muted); }
#ns-page .ns-ico .bi { font-size: 18px; line-height: 0; }
#ns-page .ns-edit { border: 0; background: none; padding: 6px; margin: -6px; border-radius: var(--r-input); font-size: 16px; line-height: 0; color: var(--ink-faint); cursor: pointer; flex: none; visibility: hidden; }
#ns-page .ns-op:hover .ns-edit, #ns-page .ns-op:focus-within .ns-edit, #ns-page .ns-op.on .ns-edit { visibility: visible; }
#ns-page .ns-edit:hover { color: var(--ember); }
#ns-page .ns-edit:focus-visible { outline: 0; box-shadow: var(--ember-ring); }
#ns-page .ns-in { width: 100%; }
#ns-page .ns-op:focus-visible { outline: 0; box-shadow: var(--ember-ring); }
#ns-page .ns-nm { display: grid; gap: 2px; flex: 1; min-width: 0; }
#ns-page .ns-nm b { font-family: var(--sans); font-weight: 600; font-size: 1.02rem; line-height: 1.25; }
#ns-page .ns-nm span { font-family: var(--ui); font-size: .74rem; color: var(--ink-muted); }
#ns-page .ns-star { font-size: 18px; line-height: 0; color: var(--ink-faint); flex: none; }
#ns-page .ns-op.on .ns-star, #ns-page .ns-op.on .ns-ico { color: var(--ember); }
#ns-page .ns-acts2 .ns-msg { margin-right: auto; }
#ns-page .btn[disabled] { opacity: .45; pointer-events: none; }
@media (max-width: 860px) {
  #ns-page .ns-layout { grid-template-columns: 1fr; }
  #ns-page .ns-opts { min-height: 0; }
}
#ns-page .ns-hint { font-family: var(--ui); font-size: .8rem; line-height: 1.5; color: var(--ink-muted); margin: 0; min-height: 3em; }
/* ===== agent.css ===== */
#agent-page { --ag-w: 1040px; }
#agent-page .ag-body { padding-block: clamp(56px, 8vw, 112px); }
#agent-page .ag-hero { min-height: 100svh; padding-top: 96px; padding-bottom: 56px; display: flex; align-items: center; justify-content: center; }
#agent-page .ag-hero-in { width: 100%; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(24px, 4vw, 48px); align-items: center; text-align: left; }
#agent-page .ag-hero h1.serif { font-size: clamp(2rem, 3.6vw, 3.1rem); line-height: 1.08; letter-spacing: -.025em; max-width: none; margin: 24px 0 0; }
#agent-page .ag-hero .lede { margin: 26px 0 0; max-width: 50ch; line-height: 1.7; }
#agent-page .ag-crumb, #agent-dir .ag-crumb { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 6px; font-family: var(--ui); font-size: .8rem; color: var(--ink-muted); }
#agent-page .ag-crumb li + li::before, #agent-dir .ag-crumb li + li::before { content: "\F285"; font-family: "bootstrap-icons"; font-size: .7rem; margin-right: 6px; color: var(--ink-faint); }
#agent-page .ag-crumb a, #agent-dir .ag-crumb a { color: inherit; }
#agent-page .ag-crumb a:hover, #agent-dir .ag-crumb a:hover { color: var(--ember); }
#agent-page .ag-cta { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 12px; margin-top: 36px; }
#agent-page .ag-cta .btn { gap: 8px; }
#agent-page .ag-photo { margin: 0; position: relative; }
#agent-page .ag-photo img { width: 100%; height: auto; aspect-ratio: 9 / 7; object-fit: cover; object-position: center 25%; display: block; }
#agent-page .ag-photo figcaption { position: absolute; left: 14px; bottom: 14px; right: 14px; width: max-content; max-width: calc(100% - 28px); display: flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: var(--r-pill); background: var(--overlay); -webkit-backdrop-filter: var(--overlay-blur); backdrop-filter: var(--overlay-blur); font-family: var(--ui); font-size: .8rem; color: var(--ink); }
#agent-page .ag-bio { margin: 14px 0 0; font-family: var(--sans); font-size: .98rem; line-height: 1.6; color: var(--ink-muted); max-width: 52ch; }
#agent-page .ag-text h2.serif, #agent-page .ag-head h2.serif { font-size: clamp(1.8rem, 3.2vw, 2.6rem); line-height: 1.1; letter-spacing: -.02em; margin: 8px 0 18px; }
#agent-page .ag-text .eyebrow, #agent-page .ag-head .eyebrow { display: block; color: var(--ink-muted); }
#agent-page .ag-head { text-align: center; margin: 0 auto clamp(26px, 4vw, 44px); max-width: 60ch; }
#agent-page .ag-head h2.serif { margin: 8px 0 0; }
#agent-page .ag-p { font-family: var(--sans); font-size: clamp(1rem, 1.3vw, 1.12rem); line-height: 1.75; color: var(--ink-muted); margin: 0 0 18px; max-width: 60ch; }
#agent-page .ag-fig { font-family: var(--sans); font-weight: 600; color: var(--ink); }
#agent-page .ag-src { margin: 4px 0 0; display: flex; align-items: center; gap: 8px; font-family: var(--ui); font-size: .8rem; color: var(--ink-muted); text-align: left; }
#agent-page .ag-src .bi { color: var(--ink-faint); font-size: .9rem; line-height: 0; flex: none; }
#agent-page .ag-spread { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(24px, 5vw, 72px); align-items: center; text-align: left; }
#agent-page .ag-bar { position: relative; display: flex; align-items: center; justify-content: space-between; height: 52px; margin: 4px 0 22px; padding: 0 20px; border-radius: var(--r-pill); background: var(--surface-2); overflow: hidden; font-family: var(--ui); font-size: .9rem; color: var(--ink-muted); }
#agent-page .ag-bar-fill { position: absolute; inset: 0 auto 0 0; background: var(--ember-soft); }
#agent-page .ag-bar-l, #agent-page .ag-bar-r { position: relative; }
#agent-page .ag-bar-l { color: var(--ink); }
#agent-page .ag-bar-l b { font-weight: 600; }
#agent-page .ag-quote { margin: 0; padding: clamp(26px, 3.4vw, 44px); display: flex; flex-direction: column; gap: 14px; text-align: left; }
#agent-page .ag-quote > .bi { font-size: 3.2rem; line-height: .7; color: var(--ember); }
#agent-page .ag-quote blockquote { margin: 0; }
#agent-page .ag-quote blockquote p { margin: 0; font-family: var(--sans); font-weight: 500; font-size: clamp(1.2rem, 1.9vw, 1.5rem); line-height: 1.5; color: var(--ink); }
#agent-page .ag-quote figcaption { display: flex; flex-direction: column; gap: 14px; font-family: var(--ui); font-size: .84rem; line-height: 1.5; color: var(--ink-muted); }
#agent-page .ag-quote figcaption b { color: var(--ink); font-weight: 600; }
#agent-page .ag-quote figcaption .btn { align-self: flex-start; }
#agent-page .ag-map { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(20px, 4vw, 48px); align-items: center; text-align: left; }
#agent-page .ag-mapfig { margin: 0; padding: clamp(16px, 2vw, 24px); display: flex; flex-direction: column; gap: 12px; }
#agent-page .ag-mapsvg { width: 100%; height: auto; display: block; }
#agent-page .ag-mapsvg .z78 { fill: var(--ember-soft); stroke: var(--ember); stroke-width: 1.6; stroke-linejoin: round; }
#agent-page .ag-mapsvg .z34 { fill: var(--surface-2); stroke: var(--ink-faint); stroke-width: 1.2; stroke-linejoin: round; }
#agent-page .ag-mapsvg .zl { font-family: var(--ui); font-size: 13px; fill: var(--ink-muted); }
#agent-page .ag-pin circle { fill: var(--ink); stroke: #fff; stroke-width: 2.5; }
#agent-page .ag-pin text { font-family: var(--ui); font-weight: 600; font-size: 13px; fill: #fff; }
#agent-page .ag-pin.on circle { fill: var(--ember); }
#agent-page .ag-mapfig figcaption { display: flex; align-items: flex-start; gap: 8px; font-family: var(--ui); font-size: .78rem; line-height: 1.5; color: var(--ink-muted); }
#agent-page .ag-mapfig figcaption .bi { color: var(--ink-faint); font-size: .9rem; line-height: 1.4; flex: none; }
#agent-page .ag-hoods { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
#agent-page .ag-hoods li { display: flex; align-items: flex-start; gap: 14px; font-family: var(--sans); font-size: .94rem; line-height: 1.55; color: var(--ink-muted); }
#agent-page .ag-pn { flex: none; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--surface-2); color: var(--ink); font-family: var(--ui); font-weight: 600; font-size: .8rem; }
#agent-page .ag-hoods li.on .ag-pn { background: var(--ember); color: #fff; }
#agent-page .ag-hoods b { display: block; font-family: var(--sans); font-weight: 600; font-size: 1.02rem; color: var(--ink); margin-bottom: 2px; }
#agent-page .ag-sellers { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 5vw, 72px); align-items: start; text-align: left; }
#agent-page .ag-p2 .ag-p:last-of-type { margin-bottom: 14px; }
#agent-page .ag-two { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(24px, 5vw, 72px); align-items: center; text-align: left; }
#agent-page .ag-cover { margin: 0; max-width: 360px; }
#agent-page .ag-cover img { width: 100%; height: auto; display: block; }
#agent-page .ag-two .cardacts { margin-top: 28px; justify-content: flex-start; gap: 12px; flex-wrap: wrap; }
#agent-page .ag-two .btn { gap: 8px; }
#agent-page .faq-grid a { color: var(--ember); }
@media (max-width: 900px) {
  #agent-page .ag-hero-in, #agent-page .ag-spread, #agent-page .ag-map, #agent-page .ag-sellers, #agent-page .ag-two { grid-template-columns: 1fr; }
  #agent-page .ag-cover { max-width: 280px; }
}
#agent-page .ag-about .ag-p { font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.7; max-width: 66ch; }
#agent-page .ag-about .ag-cred { margin: 0; }
#agent-page .ag-p { margin-bottom: 22px; }
#agent-page .ag-bar { margin: 6px 0 28px; }
#agent-page .ag-text h2.serif, #agent-page .ag-head h2.serif { margin-bottom: 26px; }
#agent-page .ag-head { margin-bottom: clamp(40px, 6vw, 64px); }
#agent-page .ag-quote figcaption { gap: 18px; }
#agent-page .ag-head .lede { max-width: 56ch; }
#agent-page .ag-side { display: flex; align-items: center; gap: 14px; min-width: 0; }
#agent-page .ag-side .ag-photo { flex: 1; min-width: 0; }
#agent-page .ag-social { list-style: none; margin: 0; padding: 10px 6px; display: flex; flex-direction: column; align-items: center; gap: 4px; flex: none; border-radius: var(--r-pill); background: var(--overlay); -webkit-backdrop-filter: var(--overlay-blur); backdrop-filter: var(--overlay-blur); }
#agent-page .ag-social a { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; font-size: 1.35rem; line-height: 0; color: var(--ink-muted); }
#agent-page .ag-social a:hover { color: var(--ember); background: var(--overlay-hover); }
#agent-page .ag-social a:focus-visible { outline: 0; box-shadow: var(--ember-ring); }
#agent-page .ag-chips, #agent-dir .ag-chips { list-style: none; margin: 0 0 22px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
#agent-page .ag-chips li, #agent-dir .ag-chips li { font-family: var(--ui); font-weight: 500; font-size: .84rem; padding: 8px 14px; border-radius: var(--r-pill); background: var(--surface-2); color: var(--ink); }
#agent-page .ag-cover { position: relative; }
#agent-page .ag-cover figcaption { position: absolute; left: 14px; bottom: 14px; display: flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: var(--r-pill); background: var(--overlay); -webkit-backdrop-filter: var(--overlay-blur); backdrop-filter: var(--overlay-blur); font-family: var(--ui); font-size: .8rem; color: var(--ink); }
#agent-page .ag-creds { margin-top: 32px; }
#agent-page .ag-creds-l { margin: 0 0 10px; font-family: var(--ui); font-weight: 500; font-size: .78rem; color: var(--ink-muted); }
#agent-page .ag-creds-l .bi { color: var(--ink-muted); font-size: 1rem; line-height: 0; }
#agent-page .ag-creds .ag-chips { margin: 0; gap: 6px; }
#agent-page .ag-creds .ag-chips li { padding: 6px 12px; font-size: .72rem; background: var(--overlay); -webkit-backdrop-filter: var(--overlay-blur); backdrop-filter: var(--overlay-blur); }
#agent-page .ag-cover a { display: block; }
#agent-page .ag-cover a:focus-visible { outline: 0; box-shadow: var(--ember-ring); border-radius: inherit; }
@media (max-width: 900px) {
  #agent-page .ag-side { flex-direction: column; }
  #agent-page .ag-social { flex-direction: row; padding: 6px 10px; }
}
#agent-page .ag-contact { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 32px clamp(32px, 6vw, 96px); padding: clamp(40px, 4vw, 56px) clamp(32px, 6vw, 96px); text-align: left; }
#agent-page .ag-c-text h2.serif { font-size: clamp(1.7rem, 3vw, 2.4rem); margin: 10px 0 22px; }
#agent-page .ag-c-text .eyebrow { color: var(--ink-muted); }
#agent-page .ag-c-text p { margin: 0; font-family: var(--sans); font-size: .98rem; line-height: 1.75; color: var(--ink-muted); }
#agent-page .ag-c-text a { color: var(--ember); }
#agent-page .ag-phone { display: block; font-family: var(--display); font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1; letter-spacing: -.04em; color: var(--ink); }
#agent-page .ag-phone:hover { color: var(--ember); }
#agent-page .ag-c-act .cardacts { margin-top: 28px; justify-content: flex-start; gap: 12px; flex-wrap: wrap; }
#agent-page .ag-c-act .btn { gap: 8px; }
@media (max-width: 900px) {
  #agent-page .ag-contact { grid-template-columns: 1fr; }
}
#agent-page .ag-c-text p.ag-c-lead { margin: 0; font-size: clamp(1rem, 1.3vw, 1.12rem); line-height: 1.75; max-width: 58ch; }
@media (max-width: 900px) {
  #agent-page .ag-crumb a { display: inline-block; padding-block: 13px; margin-block: -13px; }
  #agent-page .ag-phone { padding-block: 8px; }
}
body:has(#agent-page) .rs-sticky { display: none; }
#agent-dir .ag-body { padding-block: clamp(40px, 5vw, 72px); }
#agent-dir .ag-head { margin-bottom: clamp(20px, 2.5vw, 32px); }
#agent-dir .ag-chips a { color: inherit; }
#agent-dir .ag-chips a:hover { color: var(--ember); }
#agent-dir .ag-dir { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 380px)); justify-content: start; gap: 16px; }
#agent-dir .ag-dir-card { display: flex; flex-direction: column; gap: 16px; padding: 14px 14px 22px; height: 100%; }
#agent-dir .ag-dir-card .rs-photo { margin: 0; aspect-ratio: 9 / 7; }
#agent-dir .ag-dir-card .rs-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
#agent-dir .ag-dir-body { display: flex; flex-direction: column; gap: 6px; padding-inline: 10px; flex: 1; }
#agent-dir .ag-dir-body h3.serif { font-size: 1.35rem; line-height: 1.15; margin: 0; }
#agent-dir .ag-dir-body p { margin: 0; font-family: var(--sans); font-size: .92rem; line-height: 1.55; color: var(--ink-muted); }
#agent-dir .ag-dir-body .cardacts { margin-top: auto; padding-top: 14px; justify-content: flex-start; }
#agent-dir .ag-dir-hero { width: 100%; text-align: left; }
#agent-dir .ag-dir-hero h1.serif { font-size: clamp(2rem, 3.6vw, 3.1rem); line-height: 1.08; letter-spacing: -.025em; max-width: none; margin: 14px 0 0; }
#agent-dir .ag-dir-hero .lede { margin: 22px 0 0; max-width: 56ch; line-height: 1.7; }
#agent-dir .ag-dir-hero .eyebrow { margin: 26px 0 0; }
