:root {
  color-scheme: dark;
  --ink: #10110f;
  --paper: #f3f0e8;
  --muted: #aaa99f;
  --acid: #d1ff58;
  --acid-dim: rgba(209, 255, 88, .16);
  --hairline: rgba(243, 240, 232, .15);
  --display: "Arial", "Helvetica Neue", sans-serif;
  --body: "Arial", "Helvetica Neue", sans-serif;
  font-family: var(--body);
  background: var(--ink);
  color: var(--paper);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 86px; }
body {
  min-width: 320px;
  margin: 0;
  background: var(--ink);
  color: var(--paper);
  font-size: 16px;
  line-height: 1.5;
}
a { color: inherit; }
::selection { color: var(--ink); background: var(--acid); }

.skip-link {
  position: fixed;
  z-index: 100;
  top: 12px;
  left: 12px;
  padding: 10px 14px;
  transform: translateY(-160%);
  background: var(--acid);
  color: var(--ink);
  font-weight: 700;
}
.skip-link:focus { transform: translateY(0); }

.masthead {
  position: relative;
  z-index: 5;
  min-height: 76px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  padding: 0 clamp(22px, 5.2vw, 84px);
  border-bottom: 1px solid var(--hairline);
}
.wordmark {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 10px;
  color: var(--paper);
  font-size: .83rem;
  font-weight: 700;
  letter-spacing: -.035em;
  text-decoration: none;
}
.wordmark-mark {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid rgba(209, 255, 88, .7);
  border-radius: 50%;
  color: var(--acid);
  font-size: 13px;
  letter-spacing: -.12em;
}
.wordmark-mark span { margin-left: -2px; color: var(--paper); }
.wordmark-period { color: var(--acid); }
.top-nav { display: flex; gap: 34px; }
.top-nav a,
.masthead-link {
  color: #c0beb4;
  font-size: .75rem;
  text-decoration: none;
  transition: color .2s ease;
}
.top-nav a:hover,
.top-nav a:focus-visible,
.masthead-link:hover,
.masthead-link:focus-visible { color: var(--acid); }
.masthead-link {
  display: inline-flex;
  justify-self: end;
  align-items: center;
  gap: 10px;
  color: var(--paper);
  font-weight: 700;
}
.live-dot,
.readout-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 12px rgba(209, 255, 88, .75);
}
.masthead-link > span:last-child { color: var(--acid); font-size: 1rem; }

.hero {
  position: relative;
  min-height: min(780px, calc(100svh - 76px));
  display: grid;
  grid-template-rows: 1fr auto;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 77% 48%, rgba(112, 130, 62, .13), transparent 32%),
    radial-gradient(ellipse at 18% 90%, rgba(93, 68, 50, .13), transparent 38%),
    var(--ink);
}
.hero::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  opacity: .2;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E");
  pointer-events: none;
}
.hero-grid {
  width: min(1500px, 100%);
  min-height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
  align-items: center;
  gap: 4vw;
  margin: 0 auto;
  padding: 62px clamp(22px, 8.8vw, 142px) 56px;
}
.hero-copy { position: relative; z-index: 2; }
.eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 29px;
  color: var(--acid);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .15em;
  line-height: 1.3;
  text-transform: uppercase;
}
.eyebrow-line {
  width: 26px;
  height: 1px;
  background: currentColor;
  box-shadow: 0 0 8px currentColor;
}
h1, h2, p { margin-top: 0; }
h1 {
  max-width: 840px;
  margin-bottom: 30px;
  font-family: var(--display);
  font-size: clamp(4rem, 8.6vw, 8.6rem);
  font-weight: 600;
  letter-spacing: -.092em;
  line-height: .83;
}
h1 em,
h2 em {
  color: var(--acid);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: -.08em;
}
h1 em { white-space: nowrap; }
.hero-bottom {
  max-width: 510px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
}
.hero-description {
  max-width: 350px;
  margin: 0;
  color: #c0beb4;
  font-size: clamp(.94rem, 1.2vw, 1.05rem);
  line-height: 1.65;
}
.round-link {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(209, 255, 88, .42);
  border-radius: 50%;
  color: var(--acid);
  font-size: 1.2rem;
  text-decoration: none;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}
.round-link:hover,
.round-link:focus-visible {
  transform: translateY(3px);
  background: var(--acid);
  color: var(--ink);
}
.hero-index {
  margin: 46px 0 0;
  color: #77786f;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .14em;
}
.hero-index span { color: var(--acid); }

.signal-stage {
  position: relative;
  min-width: 0;
  width: min(100%, 580px);
  aspect-ratio: 1 / 1;
  justify-self: end;
  isolation: isolate;
}
.signal-stage::before {
  position: absolute;
  z-index: -1;
  inset: 17%;
  border-radius: 50%;
  content: "";
  background: radial-gradient(circle, rgba(209, 255, 88, .13), rgba(107, 158, 164, .055) 35%, transparent 69%);
  filter: blur(26px);
}
#signal-field { position: absolute; inset: 0; width: 100%; height: 100%; }
.signal-caption,
.signal-readout {
  position: absolute;
  z-index: 1;
  left: 2%;
  right: 2%;
  display: flex;
  justify-content: space-between;
  color: rgba(220, 220, 205, .48);
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .16em;
}
.signal-caption { top: 6%; }
.signal-readout {
  bottom: 5%;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  color: rgba(230, 229, 218, .72);
}
.readout-coordinate { margin-left: auto; color: rgba(220, 220, 205, .42); }
.readout-dot { width: 5px; height: 5px; }
.signal-axis {
  position: absolute;
  z-index: -1;
  background: rgba(209, 255, 88, .12);
}
.signal-axis-x { top: 50%; left: 0; width: 100%; height: 1px; }
.signal-axis-y { top: 0; left: 50%; width: 1px; height: 100%; }
.signal-stamp {
  position: absolute;
  right: -1%;
  bottom: 20%;
  color: var(--acid);
  font-family: Georgia, "Times New Roman", serif;
  font-size: .84rem;
  line-height: .95;
  opacity: .8;
  transform: rotate(10deg);
}
.signal-stamp span { font-size: 1.5rem; }

.hero-foot {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 clamp(22px, 5.2vw, 84px);
  border-top: 1px solid var(--hairline);
  color: #77786f;
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .14em;
}
.scroll-note { display: inline-flex; align-items: center; gap: 9px; }
.scroll-line { width: 28px; height: 1px; background: var(--acid); }

.section-wrap {
  width: min(1320px, calc(100% - 2 * clamp(22px, 8.8vw, 142px)));
  margin: 0 auto;
}
.ecosystem {
  display: grid;
  grid-template-columns: minmax(230px, .74fr) minmax(0, 1.26fr);
  gap: clamp(48px, 10vw, 156px);
  padding-top: clamp(100px, 14vw, 190px);
  padding-bottom: clamp(100px, 14vw, 180px);
}
.section-intro .eyebrow { margin-bottom: 24px; }
h2 {
  margin-bottom: 24px;
  font-family: var(--display);
  font-size: clamp(2.9rem, 5.6vw, 5.6rem);
  font-weight: 500;
  letter-spacing: -.085em;
  line-height: .92;
}
.section-note {
  max-width: 310px;
  margin: 0;
  color: var(--muted);
  font-size: .92rem;
  line-height: 1.7;
}
.tool-list { border-top: 1px solid var(--hairline); }
.tool-row {
  min-height: 92px;
  display: grid;
  grid-template-columns: 42px minmax(180px, 1.1fr) minmax(130px, .8fr) minmax(138px, auto) 18px;
  align-items: center;
  gap: 17px;
  border-bottom: 1px solid var(--hairline);
  color: var(--paper);
  text-decoration: none;
  transition: color .2s ease, padding .25s ease, background .25s ease;
}
.tool-row-live { cursor: pointer; }
.tool-row-live:hover,
.tool-row-live:focus-visible {
  padding-right: 10px;
  padding-left: 10px;
  background: linear-gradient(90deg, rgba(209, 255, 88, .08), transparent 80%);
  color: var(--acid);
}
.tool-number {
  color: #77786f;
  font-size: .64rem;
  letter-spacing: .12em;
}
.tool-row-live .tool-number { color: var(--acid); }
.tool-name {
  font-size: clamp(.95rem, 1.3vw, 1.12rem);
  font-weight: 600;
  letter-spacing: -.035em;
}
.tool-description {
  color: #9f9f95;
  font-size: .76rem;
}
.tool-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--acid);
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .1em;
  white-space: nowrap;
}
.tool-status i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 8px rgba(209, 255, 88, .65);
}
.status-building { color: #8b8c83; }
.status-building i { background: #707168; box-shadow: none; }
.tool-arrow { justify-self: end; color: var(--acid); }
.tool-row:not(.tool-row-live) .tool-arrow { color: #66675f; }
.list-footnote {
  margin: 21px 0 0;
  color: #77786f;
  font-size: .72rem;
}
.list-footnote span { margin-right: 8px; color: var(--acid); }

.method {
  position: relative;
  min-height: 540px;
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  align-items: center;
  gap: 7vw;
  padding: 100px clamp(22px, 8.8vw, 142px);
  overflow: hidden;
  background:
    radial-gradient(ellipse at 21% 52%, rgba(209, 255, 88, .18), transparent 34%),
    linear-gradient(110deg, #d1ff58 0%, #a7ce50 15%, #20261a 15.1%, #151711 100%);
}
.method-mark {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(6rem, 15vw, 14rem);
  letter-spacing: -.18em;
  line-height: .8;
  opacity: .82;
  transform: rotate(-9deg);
}
.method-mark span:nth-child(2) { margin-top: -.2em; color: #34431b; }
.method-mark span:nth-child(3) { margin-top: .14em; }
.method-content { position: relative; z-index: 1; }
.method-content .eyebrow { color: var(--acid); }
.method-content h2 { margin-bottom: 34px; font-size: clamp(3.1rem, 6vw, 6.2rem); }
.method-content h2 em { color: var(--acid); }
.method-lower {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
}
.method-lower p {
  max-width: 360px;
  margin: 0;
  color: #c1c2b8;
  font-size: .9rem;
  line-height: 1.7;
}
.text-link {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 13px;
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(209, 255, 88, .7);
  color: var(--acid);
  font-size: .76rem;
  font-weight: 700;
  text-decoration: none;
}
.text-link span { font-size: 1rem; transition: transform .2s ease; }
.text-link:hover span,
.text-link:focus-visible span { transform: translate(3px, -3px); }
.method-orbit {
  position: absolute;
  width: 550px;
  height: 550px;
  border: 1px solid rgba(209, 255, 88, .14);
  border-radius: 50%;
  pointer-events: none;
}
.orbit-a { top: -310px; right: -90px; }
.orbit-b { right: -220px; bottom: -440px; width: 680px; height: 680px; }

.footer {
  min-height: 106px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 22px clamp(22px, 5.2vw, 84px);
}
.footer p {
  margin: 0;
  color: #bcbab0;
  font-size: .68rem;
  line-height: 1.55;
}
.footer p span { color: #72736b; }
.footer-back {
  color: #a8a79e;
  font-size: .59rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-decoration: none;
}
.footer-back span { margin-left: 7px; color: var(--acid); }
.footer-back:hover,
.footer-back:focus-visible { color: var(--acid); }

:focus-visible { outline: 2px solid var(--acid); outline-offset: 5px; }

@media (min-width: 1600px) {
  .hero-grid { padding-right: 160px; padding-left: 160px; }
}

@media (max-width: 1000px) {
  .hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(280px, .8fr);
    gap: 10px;
    padding-right: 5vw;
    padding-left: 7vw;
  }
  h1 { font-size: clamp(4rem, 8vw, 7.4rem); }
  .ecosystem { gap: 7vw; }
  .tool-row {
    grid-template-columns: 34px minmax(150px, 1fr) minmax(110px, .75fr) 18px;
    gap: 12px;
  }
  .tool-status { grid-column: 2; grid-row: 2; margin-top: -24px; font-size: .5rem; }
  .tool-arrow { grid-column: 4; grid-row: 1 / span 2; }
  .tool-description { grid-column: 3; grid-row: 1 / span 2; }
}

@media (max-width: 720px) {
  html { scroll-padding-top: 20px; }
  .masthead {
    min-height: 66px;
    grid-template-columns: 1fr auto;
    padding: 0 20px;
  }
  .top-nav { display: none; }
  .wordmark { font-size: .76rem; }
  .masthead-link { font-size: .68rem; }
  .hero { min-height: auto; }
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 2px;
    padding: 74px 22px 48px;
  }
  .hero-copy { grid-row: 1; }
  .eyebrow { margin-bottom: 24px; font-size: .58rem; }
  h1 { font-size: clamp(3.6rem, 16vw, 7rem); }
  .hero-bottom { max-width: 100%; }
  .hero-description { max-width: 300px; font-size: .9rem; }
  .round-link { width: 42px; height: 42px; }
  .hero-index { margin-top: 29px; }
  .signal-stage {
    width: min(100%, 470px);
    margin: -28px auto -20px;
    justify-self: center;
  }
  .hero-foot {
    min-height: 48px;
    padding: 0 20px;
    font-size: .49rem;
    letter-spacing: .09em;
  }
  .hero-foot > span:last-child { display: none; }
  .section-wrap { width: calc(100% - 44px); }
  .ecosystem {
    grid-template-columns: 1fr;
    gap: 48px;
    padding-top: 90px;
    padding-bottom: 100px;
  }
  .section-intro { max-width: 540px; }
  .section-note { max-width: 400px; }
  h2 { font-size: clamp(3rem, 12vw, 5rem); }
  .tool-row {
    min-height: 88px;
    grid-template-columns: 34px 1fr 18px;
    gap: 10px;
  }
  .tool-number { grid-column: 1; grid-row: 1 / span 2; align-self: start; padding-top: 21px; }
  .tool-name { grid-column: 2; grid-row: 1; align-self: end; }
  .tool-description { grid-column: 2; grid-row: 2; align-self: start; margin-top: 3px; }
  .tool-status { grid-column: 2; grid-row: 3; margin: -1px 0 12px; }
  .tool-arrow { grid-column: 3; grid-row: 1 / span 3; }
  .method {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 42px;
    padding: 76px 24px 84px;
    background:
      radial-gradient(ellipse at 10% 0%, rgba(209, 255, 88, .17), transparent 34%),
      linear-gradient(145deg, #252c1c, #141610 70%);
  }
  .method-mark {
    justify-content: flex-start;
    padding-left: 20px;
    font-size: 7rem;
  }
  .method-content h2 { font-size: clamp(3.1rem, 12vw, 5.4rem); }
  .method-lower { align-items: flex-start; flex-direction: column; }
  .footer { min-height: 120px; flex-wrap: wrap; padding: 24px 22px; }
  .footer p { order: 3; width: 100%; }
}

@media (max-width: 420px) {
  .wordmark { gap: 7px; font-size: .7rem; }
  .wordmark-mark { width: 27px; height: 27px; }
  .masthead-link { gap: 7px; font-size: .62rem; }
  .hero-grid { padding-right: 18px; padding-left: 18px; }
  h1 { font-size: 15.7vw; }
  .hero-foot { padding-right: 18px; padding-left: 18px; }
  .readout-coordinate { display: none; }
}

/* Readability pass: retain the editorial design while keeping actionable text legible. */
.top-nav a,
.masthead-link { font-size: .875rem; }
.hero-description { font-size: clamp(1rem, 1.3vw, 1.125rem); }
.tool-description { font-size: .875rem; }
.tool-status { font-size: .75rem; letter-spacing: .055em; }
.list-footnote { font-size: .875rem; line-height: 1.6; }
.text-link { font-size: .875rem; }
@media (max-width: 1000px) {
  .tool-status { font-size: .75rem; }
}
@media (max-width: 720px) {
  .masthead-link { font-size: .875rem; }
  .hero-description { font-size: 1rem; }
  .tool-status { font-size: .75rem; }
}
@media (max-width: 420px) {
  .masthead-link { font-size: .8rem; }
}

/* Small-screen navigation and tool rows: avoid overlapping status labels. */
@media (max-width: 1000px) and (min-width: 721px) {
  .tool-row { padding-top: 13px; padding-bottom: 13px; }
  .tool-status { margin-top: 0; align-self: start; }
}
@media (max-width: 720px) {
  .tool-row { padding-top: 12px; padding-bottom: 12px; }
  .tool-number { padding-top: 8px; }
  .tool-status { margin: 2px 0 6px; }
  .masthead-link { min-height: 44px; }
  .round-link { min-width: 44px; min-height: 44px; }
  .text-link { min-height: 44px; align-items: center; }
}
@media (max-width: 420px) {
  .masthead { gap: 10px; }
  .wordmark { font-size: .75rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}


/* Fixed-price, done-for-you business packages */
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.pricing-plan{background:rgba(25,31,26,.92);border:1px solid rgba(232,247,228,.28);border-radius:22px;padding:clamp(20px,2.6vw,35px);display:flex;flex-direction:column;gap:14px;color:#f5f6ee;min-width:0}
.pricing-featured{border:2px solid #d5ed99}
.pricing-label{color:#d5ed99;font-size:.9rem;font-weight:850;letter-spacing:.13em}
.pricing-plan h3{font-size:clamp(1.48rem,2vw,2rem);line-height:1.12;margin:0}
.pricing-setup{font-size:clamp(2.5rem,4vw,4rem);font-weight:850;line-height:1;margin:6px 0 0}
.pricing-setup span{font-size:1.1rem;font-weight:500}
.pricing-month{font-size:1.25rem;font-weight:750;color:#d5ed99;margin:0}
.pricing-plan>p:not(.pricing-setup):not(.pricing-month):not(.pricing-label){font-size:1.08rem;line-height:1.55}
.pricing-plan ul{padding-left:23px;margin:0 0 18px;display:grid;gap:12px;font-size:1.04rem;line-height:1.45;flex:1}
.pricing-plan li::marker{color:#d5ed99}
.pricing-action{display:block;background:#d5ed99;border-radius:12px;color:#1a2618!important;text-decoration:none;text-align:center;font-size:1.08rem;font-weight:850;padding:17px 12px}
.pricing-action:hover,.pricing-action:focus-visible{background:#f1ffce}
.pricing-fine{font-size:.98rem;line-height:1.6;max-width:1050px;margin-top:27px;opacity:.86}
@media(max-width:900px){.pricing-grid{grid-template-columns:1fr}.pricing-plan{max-width:650px}}


/* One account entry, in the top-right corner of the public gateway. */
.account-toggle { justify-self: end; max-width: 12rem; min-height: 44px; padding: .65rem 1rem; border: 1px solid var(--acid); border-radius: 999px; color: var(--acid); background: transparent; font: 700 1rem var(--body); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.account-toggle:hover, .account-toggle:focus-visible { background: var(--acid-dim); }
.account-dialog { position: fixed; inset: 0; margin: 90px 24px auto auto; width: min(440px, calc(100% - 32px)); max-height: calc(100dvh - 110px); overflow-y: auto; padding: 24px; border: 1px solid var(--hairline); border-radius: 20px; background: #181c17; color: var(--paper); box-shadow: 0 20px 80px #0008; font: 1rem/1.5 var(--body); }
.account-dialog::backdrop { background: #0005; }
.account-dialog [hidden] { display: none !important; }
.account-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.account-dialog h2 { margin: 0; font-size: 1.65rem; line-height: 1.25; letter-spacing: normal; }
.account-dialog button { font: inherit; cursor: pointer; min-height: 44px; }
.account-close { width: 44px; border: 0; border-radius: 50%; background: transparent; color: var(--paper); font-size: 1.8rem !important; }
.account-tabs, .account-secondary { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; }
.account-tabs button, .account-secondary button, #account-sign-out { border: 1px solid var(--hairline); border-radius: 10px; padding: .6rem .8rem; background: transparent; color: var(--paper); }
.account-tabs [aria-pressed="true"] { border-color: var(--acid); color: var(--acid); }
#account-form { display: grid; gap: 16px; }
#account-form label { display: grid; gap: 6px; }
#account-form input { width: 100%; min-width: 0; padding: 12px; border: 1px solid var(--hairline); border-radius: 10px; background: #10110f; color: var(--paper); font: inherit; }
.account-primary { display: block; padding: 12px 16px; border: 0; border-radius: 10px; background: var(--acid); color: var(--ink); text-align: center; text-decoration: none; font-weight: 700; }
.account-secondary { margin-top: 16px; margin-bottom: 0; }
#account-identity { overflow-wrap: anywhere; }
#account-sign-out { margin-top: 16px; }
#account-status { margin: 16px 0 0; overflow-wrap: anywhere; }
.account-dialog :focus-visible, .account-toggle:focus-visible { outline: 3px solid var(--acid); outline-offset: 3px; }
@media (max-width: 720px) { .account-dialog { margin: 78px 16px auto; max-height: calc(100dvh - 94px); } .account-toggle { max-width: 9rem; } }
@media (max-width: 420px) { .account-toggle { max-width: 7rem; padding-inline: .75rem; } }

/* Privacy choice appears only after successful session verification. */
.login-consent[hidden]{display:none!important}
.login-consent{position:fixed;z-index:1000;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;background:#181c17;color:#f5f6ee;border:1px solid #d5ed99;border-radius:18px;padding:20px 24px;box-shadow:0 12px 60px #000b;font:1rem/1.5 var(--body)}
.login-consent>div:first-child{flex:1 1 350px}
.login-consent h2{font-size:1.3rem;margin:0 0 5px;letter-spacing:normal;line-height:1.2;color:#f5f6ee}
.login-consent p{margin:0;max-width:72ch}
.login-consent-actions{display:flex;flex-wrap:wrap;gap:10px}
.login-consent-actions button{min-height:44px;border-radius:10px;border:1px solid #d5ed99;background:transparent;color:#f5f6ee;padding:10px 16px;font:700 .95rem var(--body);cursor:pointer}
#login-consent-allow{background:#d5ed99;color:#181c17}
.login-consent-actions button:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:720px){.login-consent{padding:16px;max-height:70dvh;overflow-y:auto}.login-consent-actions{width:100%}.login-consent-actions button{flex:1 1 145px}}

.login-consent a,.account-privacy-help a{color:#d5ed99;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.account-privacy-help{font-size:.9rem;line-height:1.5;margin:12px 0 0}
