/* Coplost Enterprises — Solstice Console global theme
   Master identity from index.php. Remaps every page skin onto one palette. */

:root,
.a68-body,
.page-home.sc-home,
.lx-page,
.mf-page,
.si-page,
.hd-page,
.ol-page,
.wr-page,
.sb-page,
.rf-page,
.fc-page,
.kl-page,
.ln-page,
.lm-page,
.tx-page,
.page-policy,
.page-payment-return,
.page-mail-tools {
  --sc-night: #10150f;
  --sc-ink: #171c16;
  --sc-mute: #4a5548;
  --sc-paper: #eef1ea;
  --sc-panel: #f7f8f4;
  --sc-line: rgba(16, 21, 15, 0.12);
  --sc-flare: #ff4d1a;
  --sc-flare-deep: #d63b0f;
  --sc-chlor: #4f7a38;
  --sc-chlor-soft: #dce8d2;
  --sc-display: "Sora", "Avenir Next", sans-serif;
  --sc-serif: "Literata", Georgia, serif;
  --sc-mono: "IBM Plex Mono", ui-monospace, monospace;
  --sc-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --sc-dial-w: 4.25rem;
  --sc-dial-gutter: calc(var(--sc-dial-w) + 0.25rem);
  --sc-page-inline: clamp(1rem, 2.8vw, 1.5rem);
  --sc-radius: 1.25rem;
  --sc-radius-sm: 0.85rem;
  --sc-max: 1180px;

  /* Global token aliases (replace legacy teal/coral Appily tokens) */
  --a68-mist: #eef1ea;
  --a68-cloud: #f7f8f4;
  --a68-sheet: #ffffff;
  --a68-ink: var(--sc-ink);
  --a68-slate: var(--sc-mute);
  --a68-line: var(--sc-line);
  --a68-teal: var(--sc-chlor);
  --a68-teal-deep: #3d622c;
  --a68-coral: var(--sc-flare);
  --a68-coral-soft: #ffe6de;
  --a68-gold: #b87a0a;
  --a68-sky: var(--sc-chlor);
  --a68-mint: var(--sc-chlor);
  --a68-muted: var(--sc-mute);
  --a68-ice: var(--sc-ink);
  --a68-panel: #fff;
  --a68-glass: rgba(255, 255, 255, 0.86);
  --a68-radius: var(--sc-radius);
  --a68-radius-sm: var(--sc-radius-sm);
  --a68-max: var(--sc-max);
  --a68-display: var(--sc-display);
  --a68-sans: var(--sc-display);
  --a68-mono: var(--sc-mono);
  --a68-ease: var(--sc-ease);
  --a68-shadow: 0 18px 40px rgba(16, 21, 15, 0.1);
  --a68-shadow-lg: 0 28px 60px rgba(16, 21, 15, 0.14);
  --a68-rail: 4.75rem;
  --a68-dock: 4.75rem;

  /* Page skins → Solstice */
  --lx-ink: var(--sc-ink); --lx-slate: var(--sc-mute); --lx-mist: var(--sc-paper); --lx-paper: var(--sc-panel);
  --lx-line: var(--sc-line); --lx-signal: var(--sc-flare); --lx-signal-deep: var(--sc-flare-deep);
  --lx-ember: var(--sc-flare); --lx-ember-deep: var(--sc-flare-deep); --lx-glass: rgba(255,255,255,.78);
  --lx-shadow: var(--a68-shadow); --lx-radius: 1.25rem;
  --lx-font: var(--sc-display); --lx-display: var(--sc-serif); --lx-mono: var(--sc-mono);

  --mf-ink: var(--sc-ink); --mf-slate: var(--sc-mute); --mf-fog: var(--sc-paper); --mf-snow: var(--sc-panel);
  --mf-line: var(--sc-line); --mf-blue: var(--sc-flare); --mf-blue-deep: var(--sc-flare-deep);
  --mf-gold: var(--sc-chlor); --mf-night: var(--sc-night);
  --mf-font: var(--sc-display); --mf-display: var(--sc-serif); --mf-mono: var(--sc-mono);
  --mf-ease: var(--sc-ease); --mf-spring: cubic-bezier(0.34, 1.4, 0.64, 1);

  --si-ink: var(--sc-ink); --si-slate: var(--sc-mute); --si-fog: var(--sc-paper); --si-snow: var(--sc-panel);
  --si-line: var(--sc-line); --si-deep: var(--sc-chlor); --si-coral: var(--sc-flare); --si-night: var(--sc-night);
  --si-font: var(--sc-display); --si-display: var(--sc-serif); --si-mono: var(--sc-mono);
  --si-ease: var(--sc-ease); --si-spring: cubic-bezier(0.34, 1.4, 0.64, 1); --si-tone: var(--sc-chlor);

  --hd-ink: var(--sc-ink); --hd-slate: var(--sc-mute); --hd-fog: var(--sc-paper); --hd-snow: var(--sc-panel);
  --hd-line: var(--sc-line); --hd-navy: var(--sc-night); --hd-coral: var(--sc-flare); --hd-coral-deep: var(--sc-flare-deep);
  /* Bright lime for text/accents on dark panels — never chlor-soft (fails on light) */
  --hd-lime: #c8e89a;
  --hd-font: var(--sc-display); --hd-display: var(--sc-serif); --hd-mono: var(--sc-mono);
  --hd-ease: var(--sc-ease); --hd-spring: cubic-bezier(0.34, 1.4, 0.64, 1);

  --ol-ink: var(--sc-ink); --ol-slate: var(--sc-mute); --ol-fog: var(--sc-paper); --ol-snow: var(--sc-panel);
  --ol-line: var(--sc-line); --ol-navy: var(--sc-night); --ol-saffron: var(--sc-flare); --ol-saffron-deep: var(--sc-flare-deep);
  --ol-font: var(--sc-display); --ol-display: var(--sc-serif); --ol-mono: var(--sc-mono);
  --ol-ease: var(--sc-ease); --ol-spring: cubic-bezier(0.34, 1.4, 0.64, 1);

  --wr-ink: var(--sc-ink); --wr-slate: var(--sc-mute); --wr-fog: var(--sc-paper); --wr-snow: var(--sc-panel);
  --wr-line: var(--sc-line); --wr-mint: var(--sc-chlor); --wr-mint-deep: #3d622c; --wr-night: var(--sc-night);
  --wr-amber: var(--sc-flare);
  --wr-font: var(--sc-display); --wr-display: var(--sc-serif); --wr-mono: var(--sc-mono);
  --wr-ease: var(--sc-ease); --wr-spring: cubic-bezier(0.34, 1.4, 0.64, 1);

  --sb-ink: var(--sc-ink); --sb-slate: var(--sc-mute); --sb-fog: var(--sc-paper); --sb-snow: var(--sc-panel);
  --sb-line: var(--sc-line); --sb-cyan: var(--sc-chlor); --sb-cyan-deep: #3d622c; --sb-lime: var(--sc-chlor);
  --sb-amber: var(--sc-flare); --sb-coral: var(--sc-flare); --sb-night: var(--sc-night);
  --sb-font: var(--sc-display); --sb-display: var(--sc-serif); --sb-mono: var(--sc-mono);
  --sb-ease: var(--sc-ease); --sb-spring: cubic-bezier(0.34, 1.45, 0.64, 1);

  --rf-ink: var(--sc-ink); --rf-slate: var(--sc-mute); --rf-fog: var(--sc-paper); --rf-snow: var(--sc-panel);
  --rf-line: var(--sc-line); --rf-amber: var(--sc-flare); --rf-amber-deep: var(--sc-flare-deep);
  --rf-blue: var(--sc-chlor); --rf-blue-deep: #3d622c; --rf-night: var(--sc-night);
  --rf-font: var(--sc-display); --rf-display: var(--sc-serif); --rf-mono: var(--sc-mono);
  --rf-ease: var(--sc-ease); --rf-spring: cubic-bezier(0.34, 1.4, 0.64, 1);

  --fc-ink: #eef1ea; --fc-mute: rgba(238, 241, 234, 0.88); --fc-board: var(--sc-night); --fc-panel: #171c16;
  --fc-amber: var(--sc-flare); --fc-mint: #c8e89a; --fc-line: rgba(238, 241, 234, 0.12);
  --fc-font: var(--sc-display); --fc-display: var(--sc-serif); --fc-mono: var(--sc-mono);
  --fc-ease: var(--sc-ease); --fc-spring: cubic-bezier(0.34, 1.45, 0.64, 1);

  --kl-ink: var(--sc-ink); --kl-slate: var(--sc-mute); --kl-fog: var(--sc-paper); --kl-snow: var(--sc-panel);
  --kl-line: var(--sc-line); --kl-coral: var(--sc-flare); --kl-coral-deep: var(--sc-flare-deep);
  --kl-cyan: var(--sc-chlor); --kl-cyan-deep: #3d622c; --kl-night: var(--sc-night);
  --kl-font: var(--sc-display); --kl-display: var(--sc-serif); --kl-mono: var(--sc-mono);
  --kl-ease: var(--sc-ease); --kl-spring: cubic-bezier(0.34, 1.4, 0.64, 1);

  --ln-ink: var(--sc-ink); --ln-slate: var(--sc-mute); --ln-fog: var(--sc-paper); --ln-snow: var(--sc-panel);
  --ln-line: var(--sc-line); --ln-sage: var(--sc-chlor); --ln-sage-deep: #3d622c; --ln-marigold: var(--sc-flare);
  --ln-night: var(--sc-night);
  --ln-font: var(--sc-display); --ln-display: var(--sc-serif); --ln-mono: var(--sc-mono);
  --ln-ease: var(--sc-ease); --ln-spring: cubic-bezier(0.34, 1.4, 0.64, 1);

  --lm-ink: var(--sc-ink); --lm-slate: var(--sc-mute); --lm-fog: var(--sc-paper); --lm-snow: var(--sc-panel);
  --lm-line: var(--sc-line); --lm-citrus: var(--sc-flare); --lm-citrus-deep: var(--sc-flare-deep);
  --lm-sea: var(--sc-chlor); --lm-sea-bright: #5b8a40; --lm-night: var(--sc-night);
  --lm-font: var(--sc-display); --lm-display: var(--sc-serif); --lm-mono: var(--sc-mono);
  --lm-ease: var(--sc-ease); --lm-spring: cubic-bezier(0.34, 1.4, 0.64, 1);

  --tx-ink: var(--sc-ink); --tx-slate: var(--sc-mute); --tx-fog: var(--sc-paper); --tx-snow: var(--sc-panel);
  --tx-line: var(--sc-line); --tx-volt: var(--sc-chlor); --tx-volt-deep: #3d622c; --tx-amber: var(--sc-flare);
  --tx-rose: var(--sc-flare-deep); --tx-night: var(--sc-night);
  --tx-font: var(--sc-display); --tx-display: var(--sc-serif); --tx-mono: var(--sc-mono);
  --tx-ease: var(--sc-ease); --tx-spring: cubic-bezier(0.34, 1.45, 0.64, 1);
}

/* Canvas — clip horizontal bleed from page washes / 100vw math */
html {
  overflow-x: clip;
}
body.a68-body {
  margin: 0;
  min-height: 100vh;
  color: var(--sc-ink);
  font-family: var(--sc-display);
  overflow-x: clip;
  background:
    radial-gradient(90% 60% at 100% 0%, rgba(255, 77, 26, 0.12), transparent 55%),
    radial-gradient(70% 50% at 0% 30%, rgba(79, 122, 56, 0.14), transparent 50%),
    linear-gradient(180deg, #f4f6f0 0%, var(--sc-paper) 40%, #e7ebe2 100%) !important;
  background-attachment: fixed;
}

/* Shared content column — matches Seed Lattice footer frame */
.a68-root {
  padding-right: var(--sc-dial-gutter);
  max-width: 100%;
  overflow-x: clip;
}
/* Home still reserves the dial rail so footer + board share one column */
.a68-root-bare {
  padding-right: var(--sc-dial-gutter);
}
body.a68-body:not(.page-home) .a68-main {
  padding-right: 0;
  overflow-x: clip;
}

/* Night fill under the fixed dial — kills the light gap beside the right panel */
body.a68-body::before {
  content: "";
  position: fixed;
  top: 0;
  right: 0;
  z-index: 55;
  width: var(--sc-dial-gutter);
  height: 100vh;
  height: 100dvh;
  pointer-events: none;
  background:
    linear-gradient(180deg, #0e130d 0%, var(--sc-night) 45%, #151b14 100%);
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.04);
}

/* Page shells share footer max width */
body.a68-body .ol-loom,
body.a68-body .si-index,
body.a68-body .lm-loom,
body.a68-body .mf-deck,
body.a68-body .hd-harbor,
body.a68-body .wr-room,
body.a68-body .sb-bay,
body.a68-body .rf-folio,
body.a68-body .fc-terminal,
body.a68-body .kl-log,
body.a68-body .ln-bench,
body.a68-body .lx-field,
body.a68-body .tx-scope,
body.a68-body .a68-wrap,
body.a68-body .sc-dash {
  max-width: var(--sc-max) !important;
  width: min(var(--sc-max), calc(100% - 2rem));
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
body.a68-body .pl-shell {
  max-width: min(var(--sc-max), calc(100% - 2rem)) !important;
  width: min(var(--sc-max), calc(100% - 2rem));
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* Hide legacy Appily dock if present */
.a68-dock { display: none !important; }

/* Solstice monogram (top-left brand chip) */
.a68-monogram {
  border-radius: 1rem !important;
  background: rgba(247, 248, 244, 0.9) !important;
  border-color: var(--sc-line) !important;
}
.a68-mono-mark {
  background: linear-gradient(145deg, var(--sc-flare), var(--sc-flare-deep)) !important;
  border-radius: 0.75rem !important;
  animation: none !important;
  color: var(--sc-night) !important;
}
.a68-mono-text strong {
  font-family: var(--sc-serif) !important;
  letter-spacing: -0.02em !important;
}
.a68-mono-text em {
  color: var(--sc-flare) !important;
}

.a68-btn-mint,
.a68-btn-teal,
.a68-btn-violet,
.a68-btn-coral,
.a68-btn-amber,
.btn.btn-primary {
  background: var(--sc-flare) !important;
  color: var(--sc-night) !important;
  box-shadow: 0 10px 24px rgba(255, 77, 26, 0.28) !important;
}
.a68-btn-mint:hover,
.a68-btn-teal:hover,
.a68-btn-violet:hover,
.a68-btn-coral:hover,
.a68-btn-amber:hover,
.btn.btn-primary:hover {
  background: var(--sc-flare-deep) !important;
  color: #fff !important;
}
.a68-btn-ghost,
.btn.btn-soft {
  color: var(--sc-ink) !important;
  background: #fff !important;
}

/* ========== SPINE DIAL (shared) ========== */
.sc-dial {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 80;
  height: 100vh;
  height: 100dvh;
  width: var(--sc-dial-w);
  display: grid;
  grid-template-rows: auto 1fr;
  pointer-events: none;
}
.sc-dial > * { pointer-events: auto; }

.sc-dial-toggle {
  display: none;
  margin: 0.85rem 0.65rem 0;
  width: calc(var(--sc-dial-w) - 1.1rem);
  aspect-ratio: 1;
  border: 0;
  border-radius: 1rem;
  background: var(--sc-night);
  color: #fff;
  cursor: pointer;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  box-shadow: 0 12px 28px rgba(16, 21, 15, 0.28);
  font-family: var(--sc-display);
}
.sc-dial-toggle-mark {
  width: 1.1rem;
  height: 1.1rem;
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: inset 0 0 0 3px var(--sc-flare);
}
.sc-dial-toggle-text {
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.sc-dial-track {
  position: relative;
  margin: 1rem 0.55rem 1.25rem;
  padding: 1rem 0;
  display: grid;
  align-content: center;
  background: rgba(16, 21, 15, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1.6rem;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: -12px 0 40px rgba(16, 21, 15, 0.18);
  overflow: visible;
}

.sc-dial-spine {
  position: absolute;
  left: 50%;
  top: 1.4rem;
  bottom: 1.4rem;
  width: 2px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, transparent, rgba(255, 77, 26, 0.55) 18%, rgba(220, 232, 210, 0.35) 50%, rgba(255, 77, 26, 0.55) 82%, transparent);
  border-radius: 99px;
}

.sc-dial-glow {
  position: absolute;
  left: 50%;
  width: 0.85rem;
  height: 0.85rem;
  margin-left: -0.425rem;
  border-radius: 50%;
  background: var(--sc-flare);
  box-shadow: 0 0 0 4px rgba(255, 77, 26, 0.22);
  top: 2.1rem;
  transition: top 0.45s var(--sc-ease);
  z-index: 1;
}

.sc-dial-nodes {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 0.35rem;
  padding: 0 0.35rem;
}

.sc-dial-node {
  position: relative;
  display: grid;
  place-items: center;
  text-decoration: none;
  color: #fff !important;
  min-height: 2.55rem;
  isolation: isolate;
}
.sc-dial-node:visited,
.sc-dial-blade { color: inherit; }

.sc-dial-bead {
  width: 2.05rem;
  height: 2.05rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  transition: transform 0.35s var(--sc-ease), background 0.25s ease, border-color 0.25s ease, box-shadow 0.35s var(--sc-ease);
}
.sc-dial-bead i {
  font-style: normal;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.72);
}

.sc-dial-blade {
  position: absolute;
  right: calc(100% + 0.55rem);
  top: 50%;
  transform: translate(12px, -50%) scaleX(0.92);
  transform-origin: right center;
  white-space: nowrap;
  padding: 0.55rem 0.85rem;
  background: #fff;
  color: var(--sc-ink) !important;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  border: 1px solid var(--sc-line);
  clip-path: polygon(10px 0, 100% 0, 100% 100%, 10px 100%, 0 50%);
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 12px 28px rgba(16, 21, 15, 0.12);
  transition: opacity 0.28s ease, transform 0.4s var(--sc-ease);
  font-family: var(--sc-display);
}

.sc-dial-node:hover .sc-dial-bead,
.sc-dial-node:focus-visible .sc-dial-bead,
.sc-dial-node.is-here .sc-dial-bead {
  transform: scale(1.12);
  background: var(--sc-flare);
  border-color: transparent;
  box-shadow: 0 0 0 5px rgba(255, 77, 26, 0.2);
}
.sc-dial-node:hover .sc-dial-bead i,
.sc-dial-node:focus-visible .sc-dial-bead i,
.sc-dial-node.is-here .sc-dial-bead i { color: #fff; }

.sc-dial-node:hover .sc-dial-blade,
.sc-dial-node:focus-visible .sc-dial-blade {
  opacity: 1;
  transform: translate(0, -50%) scaleX(1);
  pointer-events: auto;
}

.sc-dial-scrim {
  position: fixed;
  inset: 0;
  z-index: 70;
  background: rgba(16, 21, 15, 0.35);
  backdrop-filter: blur(2px);
}

/* Mobile sheet chrome — hidden on desktop spine */
.sc-dial-sheet-head,
.sc-dial-sheet-divider {
  display: none;
}

body.sc-dial-lock { overflow: hidden; }

/* Policy cohesion */
.page-policy .pl-rail-link.is-on {
  background: var(--sc-flare) !important;
  border-color: var(--sc-flare-deep) !important;
}
.page-policy .pl-panel h2 { color: var(--sc-chlor) !important; }
.page-policy .pl-rail-label { color: var(--sc-flare-deep) !important; }

@media (max-width: 820px) {
  .a68-root,
  .a68-root-bare { padding-right: 0; }
  body.a68-body::before { display: none; }

  .sc-dial-scrim {
    background: rgba(16, 21, 15, 0.48);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
  }

  .sc-dial {
    width: auto;
    height: auto;
    inset: auto max(0.75rem, env(safe-area-inset-right, 0px)) max(0.85rem, env(safe-area-inset-bottom, 0px)) auto;
    display: block;
  }

  .sc-dial-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 3.15rem;
    min-width: 3.15rem;
    margin: 0;
    padding: 0.45rem 0.65rem;
    width: auto;
    aspect-ratio: auto;
    border-radius: 1.1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow:
      0 14px 32px rgba(16, 21, 15, 0.32),
      0 0 0 1px rgba(255, 77, 26, 0.12);
    position: relative;
    z-index: 1;
  }

  .sc-dial.is-open .sc-dial-toggle {
    background: var(--sc-flare);
    color: var(--sc-night);
  }

  .sc-dial.is-open .sc-dial-toggle-mark {
    border-color: var(--sc-night);
    box-shadow: inset 0 0 0 2px #fff;
  }

  .sc-dial-toggle-text {
    font-size: 0.62rem;
    letter-spacing: 0.12em;
  }

  /* Closed sheet must not steal taps — descendants can re-enable pointer-events */
  .sc-dial:not(.is-open) .sc-dial-track,
  .sc-dial:not(.is-open) .sc-dial-track * {
    pointer-events: none !important;
  }

  .sc-dial:not(.is-open) .sc-dial-track {
    visibility: hidden;
  }

  .sc-dial-track {
    position: fixed;
    right: max(0.75rem, env(safe-area-inset-right, 0px));
    left: max(0.75rem, env(safe-area-inset-left, 0px));
    bottom: calc(4.35rem + env(safe-area-inset-bottom, 0px));
    top: auto;
    margin: 0;
    width: auto;
    max-height: min(72vh, 32rem);
    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    padding: 0;
    border-radius: 1.35rem;
    background:
      linear-gradient(165deg, rgba(28, 34, 26, 0.98) 0%, rgba(16, 21, 15, 0.97) 55%, rgba(12, 16, 11, 0.99) 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow:
      0 28px 60px rgba(16, 21, 15, 0.45),
      0 0 0 1px rgba(255, 77, 26, 0.08);
    transform: translateY(16px) scale(0.97);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.32s ease, transform 0.42s var(--sc-ease);
    z-index: 0;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 77, 26, 0.45) transparent;
  }

  .sc-dial.is-open .sc-dial-track {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    z-index: 2;
  }

  .sc-dial.is-open .sc-dial-track * {
    pointer-events: auto;
  }

  .sc-dial-sheet-head,
  .sc-dial-sheet-divider {
    display: flex;
  }

  .sc-dial-sheet-head {
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1rem 0.85rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    position: sticky;
    top: 0;
    z-index: 3;
    background: linear-gradient(180deg, rgba(22, 28, 20, 0.98) 0%, rgba(22, 28, 20, 0.92) 100%);
    backdrop-filter: blur(12px);
  }

  .sc-dial-sheet-brand {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
  }

  .sc-dial-sheet-mark {
    flex: 0 0 auto;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 0.85rem;
    display: grid;
    place-items: center;
    font-family: var(--sc-display);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #fff;
    background: linear-gradient(145deg, var(--sc-chlor), #3d622c);
    box-shadow: 0 8px 18px rgba(79, 122, 56, 0.35);
  }

  .sc-dial-sheet-titles {
    min-width: 0;
  }

  .sc-dial-sheet-kicker {
    margin: 0;
    font-family: var(--sc-mono);
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
  }

  .sc-dial-sheet-title {
    margin: 0.15rem 0 0;
    font-family: var(--sc-display);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #fff;
    line-height: 1.2;
  }

  .sc-dial-sheet-close {
    flex: 0 0 auto;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    cursor: pointer;
    display: grid;
    place-items: center;
    padding: 0;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.25s var(--sc-ease);
  }

  .sc-dial-sheet-close span {
    position: relative;
    width: 0.95rem;
    height: 0.95rem;
    display: block;
  }

  .sc-dial-sheet-close span::before,
  .sc-dial-sheet-close span::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    transform: translate(-50%, -50%) rotate(45deg);
  }

  .sc-dial-sheet-close span::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }

  .sc-dial-sheet-close:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.22);
    transform: scale(1.04);
  }

  .sc-dial-sheet-close:focus-visible {
    outline: 2px solid var(--sc-flare);
    outline-offset: 2px;
  }

  .sc-dial-sheet-divider {
    height: 1px;
    margin: 0.35rem 1rem 0.5rem;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.14), transparent);
  }

  .sc-dial-spine,
  .sc-dial-glow { display: none; }

  .sc-dial-nodes {
    gap: 0.2rem;
    padding: 0.65rem 0.55rem 0.85rem;
  }

  .sc-dial-bead {
    display: none;
  }

  .sc-dial-node {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: 3rem;
    padding: 0.55rem 0.85rem;
    border-radius: 0.9rem;
    border: 1px solid transparent;
    transition: background 0.22s ease, border-color 0.22s ease, transform 0.25s var(--sc-ease);
  }

  .sc-dial-node:active {
    transform: scale(0.99);
  }

  .sc-dial-blade {
    position: static;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    transform: none;
    opacity: 1;
    clip-path: none;
    background: transparent;
    border: 0;
    box-shadow: none;
    color: rgba(255, 255, 255, 0.92) !important;
    padding: 0;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    white-space: normal;
  }

  .sc-dial-blade::after {
    content: "›";
    flex: 0 0 auto;
    font-size: 1.2rem;
    line-height: 1;
    color: rgba(255, 255, 255, 0.35);
    font-weight: 500;
  }

  .sc-dial-node.is-here {
    background: linear-gradient(90deg, rgba(255, 77, 26, 0.28) 0%, rgba(255, 77, 26, 0.08) 100%);
    border-color: rgba(255, 77, 26, 0.35);
    box-shadow: inset 3px 0 0 var(--sc-flare);
  }

  .sc-dial-node.is-here .sc-dial-blade {
    color: #fff !important;
    font-weight: 700;
  }

  .sc-dial-node.is-here .sc-dial-blade::after {
    color: var(--sc-flare);
  }

  .ce-ft-top-float {
    right: 5.25rem;
    bottom: 1.15rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sc-dial *,
  .a68-monogram { transition: none !important; }
}

/* ========== WCAG readability lock ==========
   Fixes Solstice remap clashes: soft accents on light, night-on-chlor fills,
   white-on-flare below AA, muted placeholders, dark-panel labels. */

:root {
  --sc-on-flare: #10150f;
  --sc-on-fill: #ffffff;
  --sc-lime-bright: #c8e89a;
  --sc-chlor-text: #2f5a22;
}

/* Placeholders always readable on light inputs */
::placeholder {
  color: var(--sc-mute) !important;
  opacity: 1 !important;
}

/* Body / panel copy defaults */
body.a68-body,
.a68-main,
.a68-panel {
  color: var(--sc-ink);
}
.a68-panel p,
.a68-lede,
.mini-copy {
  color: var(--sc-mute);
}

/* —— Filled CTAs: night ink on flare (5.5:1) —— */
.sc-cta-main,
.lx-btn-primary,
.lx-btn-accent,
.mf-btn-fill,
.kl-btn-fill,
.hd-btn-launch,
.rf-btn-fill,
.rf-btn-amber,
.sb-btn-solid,
.ce-ft-subscribe button,
.ce-ft-top,
.ce-ft-top-float {
  color: var(--sc-on-flare) !important;
}
.sc-cta-main,
.lx-btn-primary,
.lx-btn-accent,
.mf-btn-fill,
.kl-btn-fill,
.hd-btn-launch,
.rf-btn-fill,
.rf-btn-amber,
.sb-btn-solid,
.ce-ft-subscribe button,
.ce-ft-top,
.ce-ft-top-float {
  background: var(--sc-flare) !important;
  box-shadow: 0 12px 28px rgba(255, 77, 26, 0.3) !important;
}
.sc-cta-main:hover,
.lx-btn-primary:hover,
.lx-btn-accent:hover,
.mf-btn-fill:hover,
.kl-btn-fill:hover,
.hd-btn-launch:hover,
.rf-btn-fill:hover,
.rf-btn-amber:hover,
.sb-btn-solid:hover,
.ce-ft-subscribe button:hover,
.ce-ft-top:hover,
.ce-ft-top-float:hover {
  background: var(--sc-flare-deep) !important;
  color: #fff !important;
}

/* Chlor / sage fills → white text (5:1 on chlor) */
.wr-btn-fill,
.wr-btn-send,
.ln-btn-fill,
.ln-btn-launch,
.lm-btn,
.si-sort-btn.is-on,
.tx-sat.is-live .tx-sat-node,
.ln-qty-rail button:hover {
  color: #fff !important;
}
.wr-btn-fill,
.wr-btn-send {
  background: var(--sc-chlor) !important;
  color: #fff !important;
}
.wr-btn-fill:hover,
.wr-btn-send:hover {
  background: #3d622c !important;
  color: #fff !important;
  filter: none !important;
}
.ln-btn-fill,
.ln-btn-launch {
  background: var(--sc-chlor) !important;
  color: #fff !important;
}
.lm-btn {
  background: var(--sc-night) !important;
  color: #fff !important;
}
.lm-btn:hover {
  background: var(--sc-chlor) !important;
  color: #fff !important;
}

/* Ghost / soft buttons on light surfaces */
.lx-btn-ghost,
.hd-btn-ghost,
.ol-btn-ghost,
.kl-btn-ghost,
.mf-btn:not(.mf-btn-fill),
.rf-btn-ghost,
.wr-btn-ghost,
.fc-btn-ghost,
.sb-btn-ghost,
.sb-btn-link {
  color: inherit;
}
.lx-btn-ghost,
.hd-btn-ghost,
.ol-btn-ghost,
.kl-gate .kl-btn-ghost,
.rf-btn-ghost {
  color: var(--sc-ink) !important;
  background: #fff !important;
  border-color: var(--sc-line) !important;
}
/* Ghost buttons sitting on dark banners */
.sb-beacon .sb-btn-ghost,
.sb-beacon .sb-btn-link,
.kl-invoice .kl-btn-ghost,
.rf-btn-ghost-light,
.wr-telex .wr-btn-ghost,
.fc-btn-ghost,
.ol-mission .ol-btn-ghost {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
}
.sb-beacon .sb-btn-ghost:hover,
.kl-invoice .kl-btn-ghost:hover,
.rf-btn-ghost-light:hover,
.wr-telex .wr-btn-ghost:hover,
.fc-btn-ghost:hover,
.ol-mission .ol-btn-ghost:hover {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.16) !important;
  border-color: #fff !important;
}

/* Dark-panel accent labels (was chlor / chlor-soft — too dim) */
.wr-channel em,
.wr-stamp.is-city .wr-stamp-label,
.wr-telex .wr-eyebrow,
.hd-node.is-on em,
.hd-gate:has(input:checked) .hd-gate-kind,
.hd-cargo-total dd,
.fc-eyebrow,
.fc-btn-ghost:hover,
.kl-stat-link,
.lm-warp-title,
.lx-pitch .lx-kicker,
.lx-benefits li span {
  color: var(--sc-lime-bright) !important;
}

/* Success / notice copy on dark telex */
.wr-notice.is-ok { color: #d8f5e8 !important; }
.wr-notice.is-bad { color: #ffc4bc !important; }

/* Order-success primary: night on flare */
.fc-btn-primary {
  background: var(--sc-flare) !important;
  color: var(--sc-on-flare) !important;
}
.fc-btn-primary:hover {
  background: var(--sc-flare-deep) !important;
  color: #fff !important;
  filter: none !important;
}

/* Live radar node: white on chlor (not night-on-chlor) */
.tx-sat.is-live .tx-sat-node {
  background: var(--sc-chlor) !important;
  color: #fff !important;
  border-color: #fff !important;
}

/* Home CTA side link on dark hero veil */
.sc-cta-side { color: #fff !important; }
.sc-cta-side:hover { color: var(--sc-flare) !important; }

/* Footer: boost muted lines + placeholder */
.ce-ft {
  color: rgba(244, 246, 241, 0.94) !important;
}
.ce-ft-subscribe input[type="email"] {
  color: #fff !important;
}
.ce-ft-subscribe input[type="email"]::placeholder {
  color: rgba(244, 246, 241, 0.68) !important;
}
.ce-ft-subscribe-note,
.ce-ft-col a,
.ce-ft-reach a,
.ce-ft-legal {
  color: rgba(244, 246, 241, 0.82) !important;
}
.ce-ft-col a:hover,
.ce-ft-reach a:hover {
  color: #fff !important;
}
.ce-ft-kicker,
.ce-ft-col h3,
.ce-ft-subscribe.is-ok .ce-ft-subscribe-note {
  color: var(--sc-lime-bright) !important;
}
.ce-ft-brand-name,
.ce-ft-title {
  color: #fff !important;
}
.ce-ft-subscribe button {
  color: var(--sc-on-flare) !important;
}
.ce-ft-subscribe button:hover {
  color: #fff !important;
}

/* Account / shop chips & filters stay ink on white */
.lx-chip-btn,
.lx-seg,
.lx-auth-tabs button,
.si-chip,
.si-sort-btn {
  color: var(--sc-ink);
}
.lx-seg.is-active,
.lx-auth-tabs button.is-on {
  color: var(--sc-ink) !important;
}
/* Shop warp lanes stay light on dark rail */
.lm-warp .lm-lane {
  color: rgba(232, 238, 245, 0.88) !important;
}
.lm-warp .lm-lane.is-on,
.lm-warp .lm-lane:hover {
  color: #fff !important;
}

/* Disabled / muted interactive states stay legible */
button:disabled,
.btn:disabled,
[aria-disabled="true"] {
  opacity: 0.55 !important;
  color: inherit !important;
}
