/* crowdfunding.az identity: clear white space, deep blue and an electric-blue point. */
:root {
  --bg: #FFFFFF; --surface: #FFFFFF; --ink: #061A39; --ink2: #263B5B; --muted: #405675;
  --line: #D8E5F1; --navy: #061A39; --navy-ink: #FFFFFF; --navy-muted: #C8D9E9;
  --accent: #005EB8; --accent-ink: #FFFFFF; --mint: #7EDCFF; --tint: #EAF6FF; --tint-line: #B8DEF5;
  --warn-bg: #FFF4E5; --warn-line: #D6AA65; --foot: #061A39; --foot-ink: #D6E5F4; --foot-muted: #B8CBE0;
  --field: #FFFFFF; --field-line: #6D83A0; --focus: #005EB8;
  --brand-ink: #061A39; --brand-ink-top: #0A5188; --brand-cyan: #00B8F2; --brand-blue: #0878EA;
  --radius-sm: 12px; --radius-card: 20px; --radius-lg: 28px;
  --space-section: 88px; --motion-fast: 220ms; --motion-med: 520ms; --motion-long: 680ms;
  --ease-out: cubic-bezier(.18,.72,.2,1);
  --display: 'Manrope', system-ui, sans-serif; --body: 'Source Sans 3', system-ui, sans-serif;
}
:root[data-theme="dark"] {
  --bg: #09192D; --surface: #102541; --ink: #F0F7FF; --ink2: #D1E0EE; --muted: #B0C4D9;
  --line: #31506F; --accent: #7EDCFF; --accent-ink: #061A39; --tint: #12334E; --tint-line: #2D6487;
  --warn-bg: #3B2D19; --warn-line: #9D7943; --foot: #041326; --field: #0B2039; --field-line: #7292B1; --focus: #7EDCFF;
  --brand-ink: #D6E8FC; --brand-ink-top: #FFFFFF; --brand-cyan: #39C8FF;
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--bg); color: var(--ink);
  font-family: var(--body); font-size: 17px; line-height: 1.6;
}
a { color: var(--accent); text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; border-radius: 4px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -999px; top: 8px; background: var(--navy); color: #fff; padding: 10px 14px; border-radius: 8px; z-index: 50; }
.skip:focus { left: 8px; }
.inner { width: 100%; max-width: 1200px; margin: 0 auto; padding-inline: 20px; }
@media (min-width: 700px) { .inner { padding-inline: 40px; } }
@media (min-width: 1100px) { .inner { padding-inline: 64px; } }

/* ---------- buttons */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 12px 22px; border-radius: 12px; border: 2px solid transparent;
  font-family: var(--display); font-weight: 700; font-size: 16px; line-height: 1.2;
  text-decoration: none; cursor: pointer;
}
.btn-sm { min-height: 44px; padding: 8px 18px; }
.btn-accent { background: var(--accent); color: var(--accent-ink); }
.btn-accent:hover { filter: brightness(.92); text-decoration: none; }
.btn-onDark { background: #6FD3C4; color: #0E2238; }
.btn-onDark:hover { background: #8BE0D3; text-decoration: none; }
.btn-ghostDark { background: transparent; color: #fff; border-color: rgba(255,255,255,.45); }
.btn-ghostDark:hover { border-color: #fff; text-decoration: none; }
.btn-ghostLight { background: transparent; color: var(--ink); border-color: var(--ink); }
.btn-ghostLight:hover { background: rgba(127,127,127,.12); text-decoration: none; }
.more { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 600; text-decoration: none; }
.more:hover { text-decoration: underline; }

/* ---------- header */
.site-header { background: var(--surface); border-bottom: 1px solid var(--line); position: sticky; top: env(safe-area-inset-top, 0px); z-index: 30; }
.bar { max-width: 1200px; margin: 0 auto; padding: 10px 20px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; }
@media (min-width: 700px) { .bar { padding-inline: 40px; } }
@media (min-width: 1100px) { .bar { padding-inline: 64px; } }
.logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ink); }
.logo span { font-family: var(--display); font-weight: 800; font-size: 22px; letter-spacing: .04em; }
.nav { display: flex; flex-wrap: wrap; gap: 0 22px; margin-inline: auto 0; flex: 1 1 auto; justify-content: center; }
.nav a { color: var(--ink); text-decoration: none; font-weight: 600; font-size: 16px; padding: 10px 2px; border-bottom: 2px solid transparent; }
.nav a:hover { color: var(--accent); }
.nav a[aria-current="page"] { border-bottom-color: var(--accent); }
.tools { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.langs { display: flex; gap: 4px; }
.lang { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border: 1px solid var(--ink); border-radius: 10px; color: var(--ink); text-decoration: none; font-family: var(--display); font-weight: 700; font-size: 14px; }
.lang[aria-current="true"] { background: var(--ink); color: var(--surface); }
.menu-btn { display: none; min-height: 44px; padding: 8px 14px; border: 1px solid var(--ink); border-radius: 10px; background: transparent; color: var(--ink); font: 700 14px var(--display); cursor: pointer; margin-left: auto; }
@media (max-width: 1020px) {
  .js .menu-btn { display: inline-flex; align-items: center; }
  .js .nav { display: none; flex-basis: 100%; flex-direction: column; gap: 0; order: 5; }
  .js .nav.open { display: flex; }
  .js .nav a { padding: 12px 2px; border-bottom: 1px solid var(--line); }
  .tools { margin-left: 0; }
  .bar { justify-content: space-between; }
  .js .menu-btn { margin-left: 0; }
}
@media (max-width: 520px) { .btn-sm.btn-accent { display: none; } }

/* ---------- inner pages */
.page-hero { background: var(--navy); color: var(--navy-ink); padding-block: 56px 48px; }
.eyebrow { margin: 0 0 14px; color: var(--mint); font: 700 14px var(--display); letter-spacing: .06em; text-transform: uppercase; }
.page-hero h1, .hero h1 { margin: 0; font-family: var(--display); font-weight: 800; line-height: 1.12; letter-spacing: -.02em; text-wrap: balance; }
.page-hero h1 { font-size: clamp(28px, 4.2vw, 44px); max-width: 24ch; }
.lead { margin: 20px 0 0; max-width: 70ch; color: var(--navy-muted); font-size: 19px; }
.content { padding-block: 48px 72px; }
.prose { max-width: 1000px; margin-inline: auto; display: flex; flex-direction: column; gap: 0; }
.prose > * { max-width: 100%; }
.prose h2 { margin: 48px 0 16px; font-family: var(--display); font-weight: 800; font-size: clamp(24px, 3vw, 30px); line-height: 1.2; letter-spacing: -.01em; text-wrap: balance; scroll-margin-top: 90px; }
.prose > h2:first-child, .prose > .callout + h2 { margin-top: 32px; }
.prose h3 { margin: 28px 0 10px; font-family: var(--display); font-size: 20px; }
.prose p { margin: 0 0 16px; max-width: 75ch; color: var(--ink2); }
.prose ul { margin: 0 0 16px; padding-left: 22px; max-width: 75ch; color: var(--ink2); }
.prose li { margin-bottom: 8px; }
.prose code { background: var(--tint); padding: 1px 6px; border-radius: 6px; font-size: .92em; }
.prose strong { color: var(--ink); }
.stamp { margin-top: 40px; color: var(--muted); font-size: 15px; }
.provider { padding: 14px 18px; background: var(--tint); border: 1px solid var(--tint-line); border-radius: 12px; }

.steps { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.steps li { display: flex; gap: 16px; align-items: flex-start; padding: 18px 20px; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; margin: 0; }
.steps .n { flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--navy); color: #fff; display: flex; align-items: center; justify-content: center; font: 700 15px var(--display); font-variant-numeric: tabular-nums; }
.steps li > div { min-width: 0; color: var(--ink2); }

.tablewrap { overflow-x: auto; margin: 0 0 24px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
table { width: 100%; border-collapse: collapse; font-size: 16px; }
th, td { text-align: left; vertical-align: top; padding: 12px 16px; border-bottom: 1px solid var(--line); color: var(--ink2); }
th { background: var(--tint); color: var(--ink); font: 700 14px var(--display); letter-spacing: .02em; }
tr:last-child td { border-bottom: 0; }
td:first-child { color: var(--ink); font-weight: 600; }
td:last-child { font-variant-numeric: tabular-nums; }
.pill { display: inline-block; padding: 2px 10px; border-radius: 999px; background: var(--warn-bg); border: 1px solid var(--warn-line); color: var(--ink); font-size: 14px; font-weight: 600; white-space: nowrap; }
@media (max-width: 700px) {
  .tablewrap { border: 0; background: transparent; overflow: visible; }
  table, tbody, tr, td { display: block; width: 100%; }
  thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  tr { margin-bottom: 12px; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 6px 0; }
  td { border: 0; padding: 8px 16px; }
  td::before { content: attr(data-label); display: block; color: var(--muted); font: 700 12px var(--display); letter-spacing: .05em; text-transform: uppercase; margin-bottom: 2px; }
  td:first-child::before { display: none; }
  td:first-child { padding-top: 12px; font-size: 17px; }
}

.callout { margin: 0 0 24px; padding: 16px 20px; background: var(--tint); border: 1px solid var(--tint-line); border-radius: 14px; }
.callout p { margin: 0; color: var(--ink); max-width: none; }
.callout.warn { background: var(--warn-bg); border-color: var(--warn-line); }
.empty { margin: 0 0 24px; padding: 40px 28px; border: 1.5px dashed var(--field-line); border-radius: 18px; display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; color: var(--muted); }
.empty p { margin: 0; max-width: 56ch; color: var(--muted); font-size: 18px; }
.timeline { list-style: none; margin: 0 0 24px; padding: 0 0 0 20px; border-left: 2px solid var(--line); display: flex; flex-direction: column; gap: 22px; }
.timeline li { position: relative; margin: 0; }
.timeline li::before { content: ""; position: absolute; left: -27px; top: 8px; width: 12px; height: 12px; border-radius: 50%; background: var(--accent); border: 3px solid var(--bg); }
.timeline time { display: block; font: 800 18px var(--display); color: var(--ink); font-variant-numeric: tabular-nums; }
.timeline li > div { color: var(--ink2); max-width: 70ch; }

.cards, .prose .cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; margin-bottom: 24px; }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; padding: 28px; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.card h3 { margin: 0; font: 700 22px/1.25 var(--display); }
.card p { margin: 0; flex: 1; color: var(--ink2); }
.ico { width: 48px; height: 48px; border-radius: 12px; background: var(--tint); color: var(--accent); display: flex; align-items: center; justify-content: center; }

.cta-band { margin: 48px 0 24px; padding: 32px; background: var(--tint); border: 1px solid var(--tint-line); border-radius: 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 40px; }
.cta-band > div { flex: 1 1 320px; min-width: 0; }
.cta-band h2 { margin: 0 0 8px !important; font-size: 26px !important; }
.cta-band p { margin: 0; }
.cta-act { flex: 0 1 auto !important; display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.cta-act .small { font-size: 14px; max-width: 42ch; }

/* ---------- forms */
.form { margin: 0 0 24px; padding: 28px; background: var(--surface); border: 1px solid var(--line); border-radius: 18px; display: flex; flex-direction: column; gap: 16px; max-width: 640px; }
.row { display: flex; flex-direction: column; gap: 6px; }
.row label { font-weight: 600; color: var(--ink); }
.field { width: 100%; min-height: 48px; padding: 10px 14px; border: 1.5px solid var(--field-line); border-radius: 12px; font: inherit; font-size: 16px; background: var(--field); color: var(--ink); }
textarea.field { min-height: 110px; resize: vertical; }
.small { margin: 0; font-size: 14px; color: var(--muted); }
.form .btn { align-self: flex-start; }
.form-msg { margin: 0; padding: 12px 16px; border-radius: 12px; background: var(--warn-bg); border: 1px solid var(--warn-line); color: var(--ink); }
.form-msg.ok { background: var(--tint); border-color: var(--tint-line); }
.contact-list { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.contact-list span { display: inline-block; min-width: 56px; color: var(--muted); font-weight: 600; }

/* ---------- home */
.hero { background: var(--navy); color: var(--navy-ink); padding-block: 72px; }
.hero-grid { display: flex; flex-wrap: wrap; align-items: center; gap: 48px; }
.hero-grid > div:first-child { flex: 1 1 520px; min-width: 0; }
.eyebrow-m { margin: 0 0 20px; color: var(--mint); font: 700 15px var(--display); letter-spacing: .04em; }
.hero h1 { font-size: clamp(34px, 5vw, 60px); line-height: 1.08; margin-bottom: 24px; }
.hero-sub { margin: 0 0 32px; max-width: 620px; color: var(--navy-muted); font-size: 19px; }
.btns { display: flex; flex-wrap: wrap; gap: 12px; }
.figs { flex: 1 1 320px; max-width: 420px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.fig { border: 1px solid rgba(255,255,255,.18); border-radius: 16px; padding: 24px 28px; background: rgba(255,255,255,.04); }
.fig .num { font: 800 clamp(40px, 5vw, 56px)/1 var(--display); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.fig .num.sm { font-size: clamp(32px, 4vw, 44px); }
.fig .num.acc { color: var(--mint); }
.fig p { margin: 12px 0 0; color: var(--navy-muted); font-size: 16px; }
.band { padding-block: 80px; background: var(--bg); }
.band.white { background: var(--surface); }
.band.tint { background: var(--tint); }
.band.tight { padding-block: 48px; }
.band h2 { margin: 0 0 20px; font: 800 clamp(26px, 3.4vw, 38px)/1.15 var(--display); letter-spacing: -.015em; text-wrap: balance; }
.big { margin: 0; max-width: 520px; font-size: 18px; color: var(--ink2); }
.two { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 40px 72px; }
.two > * { flex: 1 1 380px; min-width: 0; }
.two.center { align-items: center; }
.scheme { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.scheme li { display: flex; align-items: flex-start; gap: 16px; padding: 18px 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--bg); font-size: 18px; margin: 0; }
.scheme .n { flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--navy); color: #fff; display: flex; align-items: center; justify-content: center; font: 700 16px var(--display); }
.scheme span:last-child { padding-top: 4px; }
.scheme .branch { display: block; padding: 0; border: 0; background: none; }
.scheme .branch ul { margin: 0 0 0 18px; padding: 0 0 0 22px; list-style: none; border-left: 2px solid var(--line); display: flex; flex-direction: column; gap: 12px; }
.scheme .ok { background: var(--tint); border-color: var(--tint-line); }
.scheme .ok .n { background: var(--accent); color: var(--accent-ink); }
.scheme .back .n { background: #50627A; }
.demo-card { border: 1px solid var(--line); border-radius: 20px; padding: 36px; background: var(--bg); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 40px; }
.demo-card > div { flex: 1 1 420px; min-width: 0; }
.demo-card h2 { font-size: clamp(22px, 2.6vw, 30px); margin-bottom: 12px; }
.home .form { box-shadow: none; }

/* ---------- footer */
.site-footer { background: var(--foot); color: var(--foot-ink); padding-block: 56px 40px; }
.site-footer .inner { display: flex; flex-direction: column; gap: 32px; }
.ftop { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 32px 64px; }
.logo-f { display: flex; align-items: center; gap: 10px; color: #fff; font: 800 22px var(--display); letter-spacing: .04em; }
.fname { margin: 16px 0 0; font-size: 15px; color: var(--foot-muted); max-width: 32ch; }
.fstatus { margin: 6px 0 0; font-size: 14px; color: var(--foot-muted); }
.fcols { display: flex; flex-wrap: wrap; gap: 24px 56px; }
.fcol h2 { margin: 0 0 12px; font: 700 13px var(--display); letter-spacing: .08em; text-transform: uppercase; color: var(--foot-muted); }
.fcol ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.fcol a, .flinks a { color: var(--foot-ink); text-decoration: none; display: inline-block; padding: 4px 0; }
.fcol a:hover, .flinks a:hover { color: #fff; text-decoration: underline; }
.fdisc { margin: 0; max-width: 78ch; font-size: 16px; }
.fbot { padding-top: 24px; border-top: 1px solid rgba(255,255,255,.14); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 32px; font-size: 15px; color: var(--foot-muted); }
.flinks { display: flex; flex-wrap: wrap; gap: 4px 24px; }

/* ---------- language gateway */
.gateway { background: var(--navy); color: #fff; }
.gw { min-height: 100vh; padding: 48px 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 20px; }
.gw-logo { display: flex; align-items: center; gap: 12px; font: 800 30px var(--display); letter-spacing: .04em; }
.gw h1 { margin: 0; max-width: 20ch; font: 800 clamp(28px, 5vw, 46px)/1.12 var(--display); letter-spacing: -.02em; text-wrap: balance; }
.gw-sub { margin: 0; max-width: 60ch; color: var(--navy-muted); }
.gw-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 12px; }
.gw-btn { min-width: 190px; padding: 18px 24px; border: 1px solid rgba(255,255,255,.3); border-radius: 16px; color: #fff; text-decoration: none; display: flex; flex-direction: column; gap: 4px; }
.gw-btn strong { font: 800 26px var(--display); color: var(--mint); }
.gw-btn:hover { border-color: #fff; background: rgba(255,255,255,.06); }
.gw-note { margin: 12px 0 0; color: var(--navy-muted); font-variant-numeric: tabular-nums; }

/* ---------- new identity and first-stage page treatments */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: .18s ease-out both page-away; }
::view-transition-new(root) { animation: .28s ease-out both page-arrive; }
@keyframes page-away { to { opacity: 0; } }
@keyframes page-arrive { from { opacity: 0; } }

.brand-mark { flex: none; overflow: visible; }
.brand-c, .brand-dot { transform-box: fill-box; transform-origin: center; }
.brand-network { opacity: 0; }
.logo .brand-mark, .logo-f .brand-mark { transition: transform var(--motion-med) var(--ease-out); }
.logo:hover .brand-mark { transform: rotate(-8deg) scale(1.08); }
.logo-f { --brand-ink: #D9ECFF; --brand-ink-top: #FFFFFF; --brand-cyan: #29C7FC; }
.logo-f.footer-seen .brand-mark { animation: footer-mark .65s var(--ease-out) both; }
@keyframes footer-mark { from { opacity: .35; transform: translateY(10px) scale(.88); } }

.site-header { background: color-mix(in srgb, var(--surface) 93%, transparent); backdrop-filter: blur(14px); }
.site-header.is-scrolled { box-shadow: 0 12px 30px rgba(4,28,58,.11); }
.bar { transition: transform var(--motion-med) var(--ease-out); transform-origin: top center; }
.site-header.is-scrolled .bar { transform: scale(.985); }
.logo span, .logo-f span { letter-spacing: -.035em; }
.nav a, .lang, .btn, .more, .field, .card, .gw-btn { transition: transform var(--motion-fast) var(--ease-out), opacity var(--motion-fast) var(--ease-out), filter var(--motion-fast) var(--ease-out); }
.nav a:hover, .lang:hover, .more:hover { transform: translateY(-2px); }
.btn:hover, .gw-btn:hover { transform: translateY(-3px); }
.btn:active, .gw-btn:active, .card:active { transform: translateY(1px) scale(.99); }
.card:hover { transform: translateY(-5px); box-shadow: 0 16px 32px rgba(2,38,82,.10); }
.field:focus { outline: 3px solid var(--focus); outline-offset: 2px; }
.field:hover { filter: brightness(.98); }
.lang[aria-current="true"] { background: var(--ink); color: var(--surface); }
.btn-accent { background: var(--accent); color: var(--accent-ink); }
.btn-accent:hover { filter: brightness(1.1); }
.card, .form, .demo-card, .cta-band, .fig { border-radius: var(--radius-card); }
.ico { border-radius: 50%; color: var(--accent); background: var(--tint); }
.site-footer { border-top: 4px solid var(--brand-cyan); }

/* The language gateway borrows the white canvas and oversized mark from the identity sheet. */
.gateway {
  background: radial-gradient(circle at 77% 12%, rgba(0,184,242,.10), transparent 30%),
              radial-gradient(circle at 12% 92%, rgba(8,120,234,.07), transparent 36%), var(--surface);
  color: var(--ink);
}
.gw { position: relative; min-height: 100svh; gap: 22px; padding-block: 64px; overflow: hidden; }
.gw::before, .gw::after { content: ""; position: absolute; pointer-events: none; border: 1px solid var(--tint-line); border-radius: 50%; opacity: .5; }
.gw::before { width: min(70vw, 560px); aspect-ratio: 1; top: -310px; right: -210px; }
.gw::after { width: min(65vw, 460px); aspect-ratio: 1; bottom: -310px; left: -200px; }
.gw > * { position: relative; z-index: 1; }
.gw-logo { gap: 16px; color: var(--ink); font-size: clamp(38px, 6vw, 64px); letter-spacing: -.055em; }
.gw-logo .brand-mark { width: clamp(76px, 9vw, 110px); height: auto; }
.gw h1 { max-width: 24ch; font-size: clamp(30px, 4vw, 52px); }
.gw-sub, .gw-note { color: var(--muted); }
.gw-btns { margin-top: 22px; }
.gw-btn { min-width: 190px; min-height: 84px; background: var(--surface); color: var(--ink); border: 1px solid var(--line); box-shadow: 0 12px 28px rgba(7,49,94,.08); }
.gw-btn strong { color: var(--accent); }
.gw-btn:hover { border-color: var(--brand-cyan); background: var(--tint); }
.gw-skip:focus::after { content: attr(aria-label); }

/* The gateway animation is opt-in, short, and never hides a page without JS. */
.intro-active .gw-logo .brand-c { animation: logo-join .68s var(--ease-out) both; }
.intro-active .gw-logo .brand-dot { animation: dot-join .68s .18s var(--ease-out) both; }
.intro-active .brand-network { animation: network-join 1.35s .12s ease-out both; }
.intro-active .brand-links { stroke-dasharray: 36; stroke-dashoffset: 36; animation: draw-links .58s .35s ease-out forwards; }
.intro-active .gw h1, .intro-active .gw-sub { animation: rise-in .55s .55s var(--ease-out) both; }
.intro-active .gw-btns { animation: rise-in .55s .85s var(--ease-out) both; }
.intro-done .gw * { animation-duration: .01ms !important; animation-delay: 0ms !important; }
@keyframes logo-join { from { opacity: 0; transform: translateX(-12px) rotate(-10deg) scale(.9); } }
@keyframes dot-join { from { opacity: 0; transform: translateX(16px) scale(.4); } }
@keyframes network-join { 0%, 12% { opacity: 0; } 35%, 63% { opacity: .85; } 100% { opacity: 0; } }
@keyframes draw-links { to { stroke-dashoffset: 0; } }
@keyframes rise-in { from { opacity: 0; transform: translateY(16px); } }

/* Home: a restrained field of points, with content remaining the centre of attention. */
.home .hero {
  position: relative; overflow: hidden; isolation: isolate; min-height: 570px; display: flex; align-items: center;
  background: radial-gradient(circle at 77% 24%, rgba(0,184,242,.16), transparent 24%),
              radial-gradient(circle at 91% 70%, rgba(8,120,234,.11), transparent 27%),
              linear-gradient(135deg, var(--surface) 0%, var(--bg) 100%);
  color: var(--ink);
}
.home .hero::before {
  content: ""; position: absolute; z-index: -1; width: 590px; height: 590px; right: -150px; top: -170px;
  border-radius: 50%; border: 1px solid var(--tint-line); box-shadow: 0 0 0 75px rgba(0,135,217,.025), 0 0 0 150px rgba(0,135,217,.018);
  transform: translate3d(var(--hero-x, 0px), var(--hero-y, 0px), 0);
  transition: transform .5s var(--ease-out);
  pointer-events: none;
}
.home .hero::after {
  content: ""; position: absolute; z-index: -1; inset: 0; opacity: .35; pointer-events: none;
  background-image: radial-gradient(var(--brand-cyan) 1.5px, transparent 2px);
  background-size: 94px 94px; mask-image: linear-gradient(90deg, transparent 40%, #000 100%);
}
.home .hero-grid { position: relative; z-index: 1; }
.home .hero h1 { max-width: 15ch; font-size: clamp(38px, 5vw, 66px); }
.home .hero-sub { color: var(--ink2); }
.home .eyebrow-m { color: var(--accent); }
.home .btn-onDark { background: var(--ink); color: #fff; }
.home .btn-onDark:hover { filter: brightness(1.22); }
.home .btn-ghostDark { color: var(--ink); border-color: var(--ink); }
.home .btn-ghostDark:hover { color: var(--ink); border-color: var(--accent); }
.home .fig { background: color-mix(in srgb, var(--surface) 92%, transparent); border: 1px solid var(--line); box-shadow: 0 18px 46px rgba(4,40,80,.09); }
.home .fig .num { color: var(--ink); }
.home .fig .num.acc { color: var(--accent); }
.home .fig p { color: var(--muted); }
.home .band { padding-block: var(--space-section); }
.home .band.tight { padding-block: 52px; }
.home .scheme { position: relative; }
.home .scheme::before { content: ""; position: absolute; left: 39px; top: 27px; bottom: 28px; width: 2px; background: var(--tint-line); transform-origin: top; }
.home .scheme > li { position: relative; }
.home .scheme .n { background: var(--ink); }
.home .scheme .ok .n { background: var(--accent); color: var(--accent-ink); }
.home .scheme .back .n { background: var(--muted); }
.home .scheme .branch ul { border-color: var(--tint-line); }
.home .card { box-shadow: 0 8px 26px rgba(7,49,94,.055); }
.home .empty { background: var(--surface); }
.js .home .hero h1 { animation: rise-in .68s .08s var(--ease-out) both; }
.js .home .hero .eyebrow-m { animation: rise-in .52s var(--ease-out) both; }
.js .home .hero-sub { animation: rise-in .62s .2s var(--ease-out) both; }
.js .home .hero .btns { animation: rise-in .62s .34s var(--ease-out) both; }
.js .home .hero .fig:first-child { animation: rise-in .62s .24s var(--ease-out) both; }
.js .home .hero .fig:last-child { animation: rise-in .62s .38s var(--ease-out) both; }
.js .home .reveal-pending { opacity: 0; transform: translateY(18px); }
.js .home .reveal-pending.is-visible { opacity: 1; transform: translateY(0); transition: transform var(--motion-long) var(--ease-out), opacity var(--motion-long) var(--ease-out); }
.js .home .scheme.is-observed > li { opacity: 0; transform: translateY(16px); }
.js .home .scheme.is-observed.is-visible > li { opacity: 1; transform: translateY(0); transition: transform var(--motion-med) var(--ease-out), opacity var(--motion-med) var(--ease-out); }
.js .home .scheme.is-visible > li:nth-child(2) { transition-delay: 110ms; }
.js .home .scheme.is-visible > li:nth-child(3) { transition-delay: 220ms; }
.js .home .scheme.is-observed::before { transform: scaleY(0); }
.js .home .scheme.is-observed.is-visible::before { transform: scaleY(1); transition: transform .7s var(--ease-out); }

/* The law page stays calm: tables, article numbers and warnings appear immediately. */
.page-law .page-hero { background: radial-gradient(circle at 85% 15%, rgba(0,184,242,.13), transparent 32%), var(--surface); color: var(--ink); border-bottom: 1px solid var(--line); }
.page-law .eyebrow { color: var(--accent); }
.page-law .lead { color: var(--ink2); }
.page-law .content { background: var(--bg); }
.page-law .tablewrap { box-shadow: 0 12px 32px rgba(7,49,94,.055); }
.page-law th { background: var(--tint); }
.page-law .prose h2 { color: var(--ink); }
.js .page-law .page-hero h1 { animation: rise-in .56s var(--ease-out) both; }

:root[data-theme="dark"] .home .btn-onDark { background: #7EDCFF; color: #061A39; }

/* White is the canonical brand presentation, independently of OS appearance. */
.site-header { border-top: 4px solid var(--brand-cyan); border-bottom-color: var(--line); }
.bar { padding-block: 14px; }
.logo span { font-size: 25px; }
.logo .brand-mark { width: 44px; height: 44px; }
.nav a { min-height: 44px; display: inline-flex; align-items: center; }
.nav a[aria-current="page"] { color: var(--accent); }

.page-hero {
  position: relative; overflow: hidden; padding-block: 78px 72px;
  background: radial-gradient(circle at 88% 20%, rgba(0,184,242,.12), transparent 29%),
              linear-gradient(140deg, var(--surface) 0%, #F5FAFF 100%);
  color: var(--ink); border-bottom: 1px solid var(--line);
}
.page-hero .inner { position: relative; }
.page-hero h1 { font-size: clamp(36px, 4.7vw, 58px); letter-spacing: -.045em; }
.page-hero .lead { color: var(--ink2); }
.page-hero .eyebrow { color: var(--accent); }
.page-hero::after { content: ""; position: absolute; inset-inline: 0; bottom: 0; height: 5px; background: linear-gradient(90deg, var(--brand-cyan), var(--brand-blue) 45%, transparent 82%); transform-origin: left; }
.js .page-law .page-hero::after { animation: law-line .75s var(--ease-out) both; }
@keyframes law-line { from { transform: scaleX(0); opacity: .4; } }

.page-law .page-hero { min-height: 365px; padding-block: 88px 78px; }
.page-law .page-hero h1 { max-width: 17ch; }
.page-law .page-hero .lead { max-width: 63ch; }
.page-law .page-brand-art { position: absolute; width: 260px; height: 260px; right: 20px; top: -38px; pointer-events: none; }
.page-law .page-brand-art .brand-mark { width: 100%; height: 100%; }
.js .page-law .page-brand-art { animation: law-mark .72s .12s var(--ease-out) both; }
@keyframes law-mark { from { opacity: 0; transform: translateX(22px) scale(.9); } }
.page-law .content { background: var(--surface); }
.page-law .prose h2 { border-left: 5px solid var(--brand-cyan); padding-left: 20px; }
.page-law .tablewrap { border-radius: 18px; border-color: #C8E1F5; }
.page-law th { color: var(--ink); background: #E9F7FF; border-bottom: 2px solid #9ADCF8; }
.page-law tr:hover td { background: #F8FCFF; }

.site-footer { background: var(--surface); color: var(--ink2); border-top: 4px solid var(--brand-cyan); }
.logo-f { color: var(--ink); --brand-ink: #061A39; --brand-ink-top: #0A5188; }
.fname, .fstatus, .fcol h2, .fbot { color: var(--muted); }
.fcol a, .flinks a { color: var(--ink2); }
.fcol a:hover, .flinks a:hover { color: var(--accent); }
.fdisc { color: var(--ink2); }
.fbot { border-top-color: var(--line); }

.home .hero { min-height: 650px; padding-block: 78px; }
.home .hero-grid { align-items: center; }
.home .hero-emblem { width: 96px; margin-bottom: 22px; }
.home .hero-emblem .brand-mark { width: 96px; height: 96px; }
.js .home .hero-emblem { animation: logo-join .65s var(--ease-out) both; }
.home .hero-art { position: absolute; width: 460px; height: 460px; right: -66px; top: -68px; z-index: -1; opacity: .22; pointer-events: none; }
.home .hero-art .brand-mark { width: 100%; height: 100%; }
.home .hero h1 { font-size: clamp(42px, 5.2vw, 70px); max-width: 14ch; letter-spacing: -.055em; }
.home .eyebrow-m { font-size: 14px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.home .figs { position: relative; }
.home .fig { background: var(--surface); border-left: 4px solid var(--brand-cyan); box-shadow: 0 24px 56px rgba(4,40,80,.12); }
.home .fig .num { font-size: clamp(38px, 4.2vw, 52px); }
.home .band:nth-of-type(even) { background: #F6FAFE; }
.home .scheme > li:not(.branch) { box-shadow: 0 8px 26px rgba(7,49,94,.06); border-color: #C9E1F1; }
.home .scheme .n { background: var(--accent); }
.home .card { border-top: 3px solid var(--brand-cyan); }
.home .card:hover .ico { transform: rotate(-7deg) scale(1.07); }
.home .ico { transition: transform var(--motion-med) var(--ease-out); }
:root[data-theme="dark"] .page-hero { background: var(--surface); }
:root[data-theme="dark"] .logo-f { --brand-ink: #D9ECFF; --brand-ink-top: #FFFFFF; }
:root[data-theme="dark"] .page-law th { background: var(--tint); border-bottom-color: var(--tint-line); }
:root[data-theme="dark"] .page-law tr:hover td { background: var(--tint); }
:root[data-theme="dark"] .home .band:nth-of-type(even) { background: var(--surface); }

@media (max-width: 700px) {
  :root { --space-section: 58px; }
  .home .hero { min-height: 0; padding-block: 58px; }
  .home .hero::before { width: 340px; height: 340px; right: -210px; top: -160px; box-shadow: none; }
  .home .hero::after { opacity: .18; background-size: 75px 75px; }
  .home .hero-grid { gap: 30px; }
  .home .hero-emblem, .home .hero-emblem .brand-mark { width: 72px; height: 72px; }
  .home .hero-art { width: 250px; height: 250px; right: -115px; top: -80px; opacity: .14; }
  .home .figs { max-width: none; flex-direction: row; flex-wrap: wrap; }
  .home .fig { flex: 1 1 160px; padding: 20px; }
  .page-hero { padding-block: 58px; }
  .page-law .page-hero { min-height: 0; padding-block: 60px; }
  .page-law .page-brand-art { width: 155px; height: 155px; right: -30px; top: -70px; opacity: .16; }
  .gw { padding-inline: 24px; }
  .gw-btns { width: 100%; }
  .gw-btn { flex: 1 1 150px; min-width: 145px; }
}
@media (max-width: 430px) {
  .gw-logo { flex-direction: column; }
  .gw-btn { min-height: 72px; }
  .home .hero h1 { font-size: 38px; }
  .home .fig { flex-basis: 100%; }
}

/* ---------- airy editorial direction */
:root {
  --bg: #FCFEFF; --line: #E4EDF5; --tint: #F0F9FF; --tint-line: #D7EBF8;
  --radius-card: 26px; --space-section: 108px;
}
body { background: var(--bg); }
.inner { max-width: 1280px; }
.site-header { border: 0; background: transparent; backdrop-filter: none; }
.site-header.is-scrolled { box-shadow: none; }
.bar {
  max-width: 1280px; margin: 12px auto; padding: 10px 24px; border: 1px solid rgba(205,224,239,.86);
  border-radius: 24px; background: rgba(255,255,255,.94); backdrop-filter: blur(18px);
  box-shadow: 0 10px 34px rgba(13,56,105,.055);
}
.site-header.is-scrolled .bar { box-shadow: 0 14px 36px rgba(13,56,105,.12); }
.logo span { font-size: 23px; }
.logo .brand-mark { width: 40px; height: 40px; }
.nav { gap: 0 18px; }
.nav a { position: relative; border-bottom: 0; font-size: 15px; }
.nav a::after {
  content: ""; position: absolute; left: 2px; right: 2px; bottom: 5px; height: 2px;
  background: var(--brand-cyan); border-radius: 2px; transform: scaleX(0); transform-origin: left;
  transition: transform var(--motion-med) var(--ease-out);
}
.nav a:hover::after, .nav a[aria-current="page"]::after { transform: scaleX(1); }
.lang { border-color: transparent; border-radius: 999px; background: #F0F6FB; }
.lang[aria-current="true"] { background: var(--ink); color: #fff; }
.btn { border-radius: 999px; padding-inline: 25px; box-shadow: 0 8px 22px rgba(13,82,151,.09); }
.btn-ghostDark, .btn-ghostLight { box-shadow: none; }
.btn-accent { background: #0A69CA; }
.btn-accent:hover { filter: brightness(1.06); }
.more svg { transition: transform var(--motion-fast) var(--ease-out); }
.more:hover svg { transform: translateX(5px); }

.home .hero {
  min-height: 680px; padding-block: 92px 108px;
  background: radial-gradient(circle at 77% 43%, rgba(183,230,255,.35), transparent 34%),
              radial-gradient(circle at 18% 92%, rgba(226,246,255,.45), transparent 37%), var(--surface);
}
.home .hero::before { width: 550px; height: 550px; right: -150px; top: -120px; border: 0; box-shadow: none; opacity: .45; background: radial-gradient(circle, #C8F0FF, transparent 68%); }
.home .hero::after { opacity: 0; background-image: none; }
.home .hero-grid { gap: 44px; }
.home .hero-grid > div:first-child { flex-basis: 570px; }
.home .hero-emblem { width: 64px; height: 64px; margin-bottom: 28px; }
.home .hero-emblem .brand-mark { width: 64px; height: 64px; }
.home .eyebrow-m { font-size: 12px; letter-spacing: .16em; color: #1768B8; }
.home .hero h1 { max-width: 14ch; font-weight: 700; font-size: clamp(42px, 5.15vw, 68px); line-height: 1.13; letter-spacing: -.055em; }
.home .hero-sub { max-width: 58ch; font-size: 19px; line-height: 1.62; }
.js .home .hero h1 { animation: none; }
.hero-word { display: inline-block; }
.js .hero-word { animation: word-rise .68s calc(.08s + var(--word-i) * 50ms) var(--ease-out) both; }
@keyframes word-rise { from { opacity: 0; transform: translateY(22px); } }
.home .hero-art {
  width: 510px; height: 470px; right: -58px; top: -64px; z-index: -1; opacity: .9;
  transform: translate3d(var(--hero-x, 0px), var(--hero-y, 0px), 0);
  transition: transform .5s var(--ease-out);
}
.home .hero-art .network-svg { width: 100%; height: 100%; }
.network-orbit { stroke: #E2F0FA; stroke-width: 1.4; }
.network-lines path { stroke: #A6D7F3; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.network-nodes circle { fill: #45C9F5; stroke: #fff; stroke-width: 5; transform-box: fill-box; transform-origin: center; }
.network-nodes circle:nth-child(4) { fill: #0878EA; }
.js .network-lines path { stroke-dasharray: 1000; animation: network-draw 1.4s .2s var(--ease-out) both; }
.js .network-nodes circle { animation: node-pop .55s calc(.3s + var(--node-i, 0) * 95ms) var(--ease-out) both; }
.network-nodes circle:nth-child(2) { --node-i: 1; }
.network-nodes circle:nth-child(3) { --node-i: 2; }
.network-nodes circle:nth-child(4) { --node-i: 3; }
.network-nodes circle:nth-child(5) { --node-i: 4; }
.network-nodes circle:nth-child(6) { --node-i: 5; }
.network-nodes circle:nth-child(7) { --node-i: 6; }
.network-nodes circle:nth-child(8) { --node-i: 7; }
@keyframes network-draw { from { stroke-dashoffset: 1000; opacity: .15; } to { stroke-dashoffset: 0; opacity: 1; } }
@keyframes node-pop { from { opacity: 0; transform: scale(.2); } }
.home .figs { max-width: 360px; gap: 18px; }
.home .fig {
  padding: 25px 29px; border: 1px solid rgba(216,232,244,.9); border-radius: 26px;
  background: rgba(255,255,255,.88); box-shadow: 0 18px 48px rgba(20,80,130,.075);
  backdrop-filter: blur(16px);
}
.home .fig .num { font-size: clamp(36px, 4vw, 48px); }
.home .band { padding-block: var(--space-section); }
.home .band:nth-of-type(even) { background: #F9FCFF; }
.home .band.tint { background: linear-gradient(125deg, #F4FBFF, #EAF7FF); }
.home .band h2 { max-width: 20ch; font-size: clamp(28px, 3vw, 38px); letter-spacing: -.04em; }
.home .scheme::before { left: 18px; background: #CDE9F8; }
.home .scheme > li:not(.branch), .home .scheme .branch li {
  padding: 19px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0;
  background: transparent; box-shadow: none;
}
.home .scheme .branch li { gap: 16px; }
.home .scheme .n { background: #DFF2FF; color: #0C5CA7; }
.home .scheme .ok .n { background: #0A69CA; color: #fff; }
.home .scheme .back .n { background: #E4ECF4; color: #304964; }
.cards, .prose .cards { gap: 22px; }
.card, .home .card {
  border: 1px solid #E6EEF5; border-radius: 26px; border-top: 1px solid #E6EEF5;
  padding: 32px; background: var(--surface); box-shadow: 0 14px 38px rgba(21,79,127,.045);
}
.card:hover { transform: translateY(-8px); box-shadow: 0 22px 48px rgba(21,79,127,.11); }
.ico { width: 56px; height: 56px; background: #E9F8FF; color: #0A69CA; }
.empty { border: 1px dashed #D8E8F4; background: #FCFEFF; }
.cta-band, .demo-card { background: #F5FBFF; border-color: #E1EFF9; box-shadow: none; }
.form { border-color: #E4EDF5; box-shadow: 0 14px 40px rgba(18,75,127,.055); }
.field { border-color: #AEC2D6; border-radius: 14px; }
.field:hover { filter: none; border-color: #70B9E8; }

.page-hero, .page-law .page-hero {
  min-height: 0; padding-block: 100px 92px; border-bottom: 0;
  background: radial-gradient(circle at 89% 32%, rgba(203,238,255,.42), transparent 28%), var(--surface);
}
.page-hero::after { height: 1px; background: var(--line); }
.page-hero h1 { font-weight: 700; font-size: clamp(38px, 4.3vw, 56px); }
.page-law .page-brand-art { width: 130px; height: 130px; top: 8px; right: 54px; opacity: .55; }
.content, .page-law .content { padding-block: 70px 112px; background: var(--surface); }
.prose { max-width: 1020px; }
.prose h2 { margin-top: 64px; font-size: clamp(26px, 2.8vw, 34px); letter-spacing: -.04em; }
.page-law .prose h2 { padding: 0 0 16px; border-left: 0; border-bottom: 1px solid var(--line); }
.page-law .tablewrap { box-shadow: none; border: 1px solid var(--line); border-radius: 20px; }
.page-law th { background: #F3FAFF; border-bottom: 1px solid var(--line); }
.page-law tr:hover td { background: transparent; }
.site-footer { padding-block: 76px 38px; border-top: 1px solid var(--line); background: #FAFCFE; }

.gateway { background: radial-gradient(circle at 75% 19%, #E7F8FF, transparent 32%), var(--surface); }
.gw { gap: 25px; }
.gw::before, .gw::after { opacity: .22; }
.gw-logo { font-size: clamp(36px, 5vw, 56px); }
.gw-logo .brand-mark { width: 86px; }
.gw h1 { font-size: clamp(30px, 3.8vw, 48px); font-weight: 700; letter-spacing: -.045em; }
.gw-btn { min-height: 78px; border-radius: 18px; box-shadow: 0 12px 32px rgba(20,80,130,.055); }
.gw-btn:hover { box-shadow: 0 20px 40px rgba(20,80,130,.12); }

.js .page:not(.page-law) .reveal-pending { opacity: 0; transform: translateY(20px); }
.js .page:not(.page-law) .reveal-pending.is-visible { opacity: 1; transform: none; transition: opacity .68s var(--ease-out), transform .68s var(--ease-out); }
.js .page .page-hero h1 { animation: rise-in .66s .06s var(--ease-out) both; }
.js .home .cards .card:nth-child(2).is-visible { transition-delay: 100ms; }
.js .home .cards .card:nth-child(3).is-visible { transition-delay: 200ms; }
.js .home .band .two > .big.is-visible { transition-delay: 100ms; }
@media (max-width: 1020px) {
  .bar { margin-inline: 16px; }
  .home .hero-art { right: -100px; opacity: .38; }
}
@media (max-width: 700px) {
  :root { --space-section: 72px; }
  .bar { margin: 8px 12px; padding: 10px 16px; border-radius: 20px; }
  .home .hero { min-height: 0; padding-block: 70px 78px; }
  .home .hero h1 { font-size: clamp(38px, 9vw, 48px); }
  .home .hero-emblem, .home .hero-emblem .brand-mark { width: 56px; height: 56px; }
  .home .hero-art { width: 310px; height: 285px; right: -150px; top: 0; opacity: .28; }
  .home .figs { max-width: none; }
  .home .fig { flex: 1 1 155px; padding: 20px; }
  .page-hero, .page-law .page-hero { padding-block: 66px 58px; }
  .page-law .page-brand-art { right: -22px; top: -42px; width: 120px; height: 120px; opacity: .18; }
  .content, .page-law .content { padding-block: 46px 78px; }
  .page-law .tablewrap { border: 0; }
  .site-footer { padding-block: 58px 30px; }
}
@media (max-width: 430px) {
  .home .fig { flex-basis: 100%; }
  .gw-btn { flex-basis: 100%; }
}
:root[data-theme="dark"] .bar,
:root[data-theme="dark"] .home .fig,
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .form,
:root[data-theme="dark"] .gw-btn { background: var(--surface); border-color: var(--line); }
:root[data-theme="dark"] .home .hero,
:root[data-theme="dark"] .gateway,
:root[data-theme="dark"] .page-hero,
:root[data-theme="dark"] .page-law .page-hero { background: var(--bg); }
:root[data-theme="dark"] .home .band:nth-of-type(even),
:root[data-theme="dark"] .home .band.tint,
:root[data-theme="dark"] .site-footer { background: var(--surface); }
:root[data-theme="dark"] .lang,
:root[data-theme="dark"] .home .scheme .n,
:root[data-theme="dark"] .ico { background: var(--tint); color: var(--accent); }
:root[data-theme="dark"] .lang[aria-current="true"] { background: var(--accent); color: var(--accent-ink); }
:root[data-theme="dark"] .network-orbit { stroke: var(--line); }
:root[data-theme="dark"] .network-lines path { stroke: var(--tint-line); }
:root[data-theme="dark"] .page-law th { background: var(--tint); }

/* ---------- local MVP journeys, account and search */
[hidden] { display: none !important; }
.tools { flex-wrap: wrap; }
.tool-link {
  display: inline-flex; align-items: center; min-height: 44px; padding: 8px 6px;
  color: var(--ink); font: 700 13px var(--display); text-decoration: none;
  transition: transform var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);
}
.tool-link:hover { color: var(--accent); transform: translateY(-2px); }
.route-band { background: #F7FBFE !important; }
.route-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 16px 40px; margin-bottom: 28px; }
.route-heading h2 { margin: 0; }
.route-heading p { max-width: 45ch; margin: 0; color: var(--ink2); font-size: 18px; }
.route-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.route-tab {
  min-height: 48px; padding: 10px 20px; border: 1px solid var(--line); border-radius: 999px;
  background: var(--surface); color: var(--ink2); font: 700 15px var(--display); cursor: pointer;
  transition: transform var(--motion-fast) var(--ease-out), filter var(--motion-fast) var(--ease-out);
}
.route-tab:hover { transform: translateY(-3px); filter: brightness(.96); }
.route-tab[aria-pressed="true"] { background: var(--ink); color: #fff; border-color: var(--ink); }
.route-panels { position: relative; }
.route-panel {
  min-height: 220px; padding: 38px 42px; display: flex; align-items: flex-start; gap: 30px;
  border: 1px solid var(--line); border-radius: 30px; background: var(--surface);
  box-shadow: 0 22px 55px rgba(18,75,127,.055);
}
.route-panel:not([hidden]) { animation: route-in .48s var(--ease-out) both; }
@keyframes route-in { from { opacity: 0; transform: translateY(14px) scale(.985); } }
.route-icon { flex: none; width: 74px; height: 74px; display: grid; place-items: center; border-radius: 24px; color: var(--accent); background: #E9F8FF; }
.route-icon svg { width: 34px; height: 34px; }
.route-panel h3 { margin: 0 0 10px; font: 800 clamp(24px,3vw,34px)/1.2 var(--display); letter-spacing: -.035em; }
.route-panel p { margin: 0 0 16px; max-width: 65ch; color: var(--ink2); font-size: 18px; }
.status-band { background: #F6FBFF !important; }
.status-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; padding: 0; margin: 28px 0 0; list-style: none; }
.status-list li { min-height: 115px; padding: 25px; border: 1px solid var(--line); border-radius: 22px; background: var(--surface); color: var(--ink2); }
.status-list li::before { content: ""; display: block; width: 10px; height: 10px; margin-bottom: 15px; border-radius: 50%; background: var(--brand-cyan); }
.account-intro, .search-intro { padding-block: 84px 38px; }
.account-intro h1, .search-intro h1 { margin: 0 0 18px; font: 700 clamp(36px,5vw,60px)/1.14 var(--display); letter-spacing: -.05em; }
.account-intro > p:not(.eyebrow), .search-intro > p:not(.eyebrow) { max-width: 66ch; font-size: 19px; color: var(--ink2); }
.account-intro .callout { margin-top: 30px; max-width: 800px; }
.account-shell { padding-bottom: 110px; }
.auth-grid { display: grid; grid-template-columns: minmax(0, 620px); align-items: start; gap: 28px; }
.auth-grid .form { max-width: none; padding: 36px; }
.auth-switch { margin: 22px 0 0; color: var(--ink2); }
.auth-switch a { color: var(--accent); font-weight: 700; }
.auth-grid h2, .account-card h2 { margin: 0 0 12px; font: 800 clamp(24px,2.8vw,32px)/1.2 var(--display); letter-spacing: -.035em; }
.check-row { display: flex; align-items: flex-start; gap: 12px; line-height: 1.45; }
.check-row input { flex: none; width: 22px; height: 22px; accent-color: var(--accent); }
.account-message { min-height: 1.5em; margin: 0; color: var(--accent); font-weight: 600; }
.account-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 20px; margin: 0 0 30px; }
.account-top h2 { margin: 0 0 8px; font: 800 34px var(--display); }
.account-top p:last-child { margin: 0; color: var(--muted); }
.account-card { max-width: 900px; padding: 36px; margin-bottom: 30px; border: 1px solid var(--line); border-radius: 28px; background: var(--surface); box-shadow: 0 18px 48px rgba(18,75,127,.055); }
.account-card-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: start; gap: 18px; }
.account-card-head p { margin: 0 0 18px; color: var(--ink2); }
.account-status { padding: 12px 17px; border-radius: 15px; background: var(--tint); color: var(--ink); }
.account-card .form { max-width: none; padding: 0; margin: 0; border: 0; box-shadow: none; }
.account-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.admin-item { padding: 22px 0; border-top: 1px solid var(--line); }
.admin-item h3 { margin: 0 0 8px; font: 700 18px var(--display); }
.admin-item p { color: var(--ink2); overflow-wrap: anywhere; }
.admin-item select { max-width: 250px; margin-right: 12px; }
.text-button { margin-top: 14px; padding: 5px 0; border: 0; background: transparent; color: var(--accent); font: 700 14px var(--display); cursor: pointer; text-align: left; }
.text-button:hover { text-decoration: underline; }
.reset-form { max-width: 620px; margin-bottom: 30px; }
.notification-item { padding: 17px 0; border-top: 1px solid var(--line); }
.notification-item p { margin: 0; }
.notification-item.is-unread { font-weight: 700; }
.search-main { min-height: 70vh; }
.search-intro { padding-bottom: 25px; }
.search-intro .field { max-width: 720px; min-height: 62px; border-radius: 19px; font-size: 19px; }
.search-intro #search-status { margin-top: 15px; font-size: 15px; color: var(--muted); }
.search-results { max-width: 850px; padding-bottom: 110px; }
.search-result { padding: 27px 0; border-bottom: 1px solid var(--line); }
.search-result h2 { margin: 0 0 10px; font: 800 24px/1.25 var(--display); }
.search-result h2 a { color: var(--ink); text-decoration: none; }
.search-result h2 a:hover { color: var(--accent); }
.search-result p { margin: 0; color: var(--ink2); }
@media (max-width: 800px) {
  .auth-grid { grid-template-columns: 1fr; }
  .status-list { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .route-panel { padding: 26px; flex-direction: column; min-height: 0; }
  .route-icon { width: 62px; height: 62px; }
  .route-tab { flex: 1 1 auto; }
  .account-intro, .search-intro { padding-block: 56px 30px; }
  .auth-grid .form, .account-card { padding: 24px; }
  .tools { gap: 3px; }
  .tool-link { font-size: 12px; }
}
:root[data-theme="dark"] .route-band,
:root[data-theme="dark"] .status-band { background: var(--bg) !important; }
:root[data-theme="dark"] .route-panel,
:root[data-theme="dark"] .route-tab,
:root[data-theme="dark"] .status-list li,
:root[data-theme="dark"] .account-card { background: var(--surface); border-color: var(--line); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  .js .home .reveal-pending, .js .home .scheme.is-observed > li { opacity: 1 !important; transform: none !important; }
  .js .home .scheme.is-observed::before { transform: none !important; }
  .brand-network { opacity: 0 !important; }
  .js .page:not(.page-law) .reveal-pending { opacity: 1 !important; transform: none !important; }
}
