/* ============================================================================
   Bayou Bangers! Power LLC — "Gilded Bayou"
   Moonlit swamp × New Orleans art deco. No frameworks, no external requests:
   the display font is embedded as a data URI so the binary stays one file.

   Layers (splash, back → front): sky · stars · moon · heat-lightning ·
   treeline · mist · water (moonglade, ripples, reflection) · cattails ·
   frog scene · firefly canvas · vignette · content · flood · grain
   ========================================================================== */

/* Cinzel (SIL Open Font License 1.1, © The Cinzel Project — Natanael Gama).
   Variable weight 400–900, latin subset, woff2. */
@font-face {
  font-family: "Cinzel";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(data:font/woff2;base64,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) format("woff2");
}

:root {
  color-scheme: dark;

  /* palette — swamp night + brass */
  --night:     #050b08;
  --pine:      #0a1712;
  --bayou:     #10241a;
  --moss:      #21402e;
  --cream:     #f4edd8;
  --sage:      #a9c0ae;
  --sage-dim:  #647d6f;
  --gold:      #d9a648;
  --gold-hi:   #f4d98d;
  --gold-deep: #8a5f1d;
  --firefly:   #ffe9a8;
  --moonlight: 242, 220, 150;   /* rgb triplet for alpha mixes */
  --brass:     217, 166, 72;

  /* type */
  --display: "Cinzel", "TeX Gyre Pagella", "Palatino Linotype", Palatino, Georgia, serif;
  --serif:   "Palatino Linotype", Palatino, "TeX Gyre Pagella", "Book Antiqua", Georgia, serif;
  --sans:    "Avenir Next", "Segoe UI", "TeX Gyre Heros", "Helvetica Neue", Arial, system-ui, sans-serif;

  /* scene geometry */
  --moon-x: 72%;
  --moon-y: 18%;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; }

body {
  font-family: var(--sans);
  color: var(--cream);
  background: var(--night);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.page-splash { overflow: hidden; }
.page-gate   { overflow-x: hidden; }

::selection { background: rgba(var(--brass), 0.85); color: #0a130e; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

/* Film grain + vignette — shared finishing layers */
.grain {
  position: fixed;
  inset: 0;
  z-index: 10000;
  pointer-events: none;
  opacity: 0.05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 180px 180px;
}

/* --------------------------------------------------------------------------
   ORNAMENTS — art-deco rule with a brass gem
   ------------------------------------------------------------------------- */

.deco {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.9rem;
}
.deco::before,
.deco::after {
  content: "";
  height: 1px;
  width: clamp(3.2rem, 11vw, 8.5rem);
}
.deco::before { background: linear-gradient(to right, transparent, rgba(var(--brass), 0.55)); }
.deco::after  { background: linear-gradient(to left,  transparent, rgba(var(--brass), 0.55)); }
.deco__gem {
  width: 7px;
  height: 7px;
  flex: none;
  transform: rotate(45deg);
  background: linear-gradient(135deg, var(--gold-hi), var(--gold-deep));
  box-shadow: 0 0 10px rgba(var(--brass), 0.55);
}

/* --------------------------------------------------------------------------
   SWAMP SCENE
   ------------------------------------------------------------------------- */

.swamp {
  position: relative;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
}

/* Sky — deep bayou night, warmed near the moon and the horizon */
.swamp__sky {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(34% 26% at var(--moon-x) var(--moon-y), rgba(var(--moonlight), 0.10), transparent 70%),
    radial-gradient(58% 42% at 50% 80%, rgba(233, 183, 90, 0.08), transparent 70%),
    radial-gradient(75% 55% at 26% 10%, rgba(22, 48, 37, 0.55), transparent 65%),
    linear-gradient(180deg, #040907 0%, #071410 34%, #0c2018 58%, #123023 72%, #091812 100%);
}

/* Stars — two hand-placed layers, twinkling out of phase */
.swamp__stars {
  position: absolute;
  inset: 0 0 42% 0;
  pointer-events: none;
  background-image:
    radial-gradient(2px 2px at 16% 14%, rgba(255, 249, 228, 0.9) 50%, transparent 51%),
    radial-gradient(9px 9px at 16% 14%, rgba(255, 249, 228, 0.18) 40%, transparent 70%),
    radial-gradient(1.4px 1.4px at 3% 48%,  rgba(255, 249, 228, 0.60) 50%, transparent 51%),
    radial-gradient(1.7px 1.7px at 9% 34%,  rgba(255, 249, 228, 0.75) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 14% 66%, rgba(255, 249, 228, 0.50) 50%, transparent 51%),
    radial-gradient(1.8px 1.8px at 21% 42%, rgba(255, 249, 228, 0.80) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 27% 20%, rgba(255, 249, 228, 0.55) 50%, transparent 51%),
    radial-gradient(1.6px 1.6px at 33% 52%, rgba(255, 249, 228, 0.70) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 38% 10%, rgba(255, 249, 228, 0.50) 50%, transparent 51%),
    radial-gradient(1.7px 1.7px at 45% 33%, rgba(255, 249, 228, 0.75) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 52% 16%, rgba(255, 249, 228, 0.55) 50%, transparent 51%),
    radial-gradient(1.6px 1.6px at 57% 47%, rgba(255, 249, 228, 0.65) 50%, transparent 51%),
    radial-gradient(1.4px 1.4px at 63% 25%, rgba(255, 249, 228, 0.60) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 88% 62%, rgba(255, 249, 228, 0.45) 50%, transparent 51%),
    radial-gradient(1.6px 1.6px at 92% 38%, rgba(255, 249, 228, 0.65) 50%, transparent 51%),
    radial-gradient(1.4px 1.4px at 97% 21%, rgba(255, 249, 228, 0.60) 50%, transparent 51%);
  animation: twinkle 6.5s ease-in-out infinite alternate;
}
.swamp__stars--b {
  background-image:
    radial-gradient(1.3px 1.3px at 6% 16%,  rgba(255, 249, 228, 0.50) 50%, transparent 51%),
    radial-gradient(1.6px 1.6px at 12% 55%, rgba(255, 249, 228, 0.60) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 18% 30%, rgba(255, 249, 228, 0.45) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 24% 8%,  rgba(255, 249, 228, 0.65) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 30% 38%, rgba(255, 249, 228, 0.50) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 41% 58%, rgba(255, 249, 228, 0.55) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 48% 6%,  rgba(255, 249, 228, 0.60) 50%, transparent 51%),
    radial-gradient(1.4px 1.4px at 55% 36%, rgba(255, 249, 228, 0.55) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 61% 60%, rgba(255, 249, 228, 0.45) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 84% 48%, rgba(255, 249, 228, 0.55) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 90% 12%, rgba(255, 249, 228, 0.50) 50%, transparent 51%),
    radial-gradient(1.4px 1.4px at 95% 55%, rgba(255, 249, 228, 0.55) 50%, transparent 51%);
  animation: twinkle 9s ease-in-out -4s infinite alternate-reverse;
}
@keyframes twinkle {
  from { opacity: 0.45; }
  to   { opacity: 1; }
}

/* Shooting star — one faint streak every half minute */
.swamp__comet {
  position: absolute;
  top: 11%;
  left: 8%;
  width: 110px;
  height: 1.5px;
  border-radius: 2px;
  background: linear-gradient(90deg, transparent, rgba(255, 248, 220, 0.85));
  filter: drop-shadow(0 0 4px rgba(255, 248, 220, 0.5));
  opacity: 0;
  transform: rotate(16deg) translateX(0);
  animation: comet 28s linear 7s infinite;
  pointer-events: none;
}
@keyframes comet {
  0%    { opacity: 0;   transform: rotate(16deg) translateX(0); }
  1%    { opacity: 0.9; }
  3.5%  { opacity: 0;   transform: rotate(16deg) translateX(38vw); }
  100%  { opacity: 0;   transform: rotate(16deg) translateX(38vw); }
}

/* Moon — NASA LRO photograph, warm-tinted, with a wide halo */
.swamp__moon {
  position: absolute;
  left: var(--moon-x);
  top: var(--moon-y);
  width: clamp(96px, 13vmin, 164px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: url(/moon.webp) center / cover no-repeat;
  box-shadow:
    0 0 34px 10px rgba(var(--moonlight), 0.30),
    0 0 110px 48px rgba(var(--moonlight), 0.11);
}
.swamp__moon::after {
  content: "";
  position: absolute;
  inset: -58%;
  border-radius: 50%;
  background: radial-gradient(circle, transparent 52%, rgba(var(--moonlight), 0.05) 62%, transparent 74%);
}

/* Flying saucer — a little visitor crosses the moon now and then */
.swamp__saucer {
  position: absolute;
  left: calc(var(--moon-x) - 200px);
  top: calc(var(--moon-y) - 10px);
  width: 36px;
  height: 13px;
  border-radius: 50%;
  background: linear-gradient(180deg, #0d1a13 20%, #050b08 80%);
  box-shadow:
    0 1px 4px rgba(140, 220, 190, 0.18),
    0 0 8px rgba(var(--moonlight), 0.10);
  opacity: 0;
  transform: translate(0, 0) rotate(-3deg);
  animation: saucer 41s linear 8s infinite;
  pointer-events: none;
  z-index: 0;
}
.swamp__saucer::before {
  content: "";
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: 16px;
  height: 9px;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  background: #081109;
}
.swamp__saucer::after {
  content: "";
  position: absolute;
  bottom: 2px;
  left: 50%;
  transform: translateX(-50%);
  width: 22px;
  height: 2px;
  border-radius: 2px;
  background: repeating-linear-gradient(90deg,
    rgba(150, 230, 200, 0.75) 0 2px, transparent 2px 7px);
}
@keyframes saucer {
  0%     { opacity: 0; transform: translate(0, 0) rotate(-3deg); }
  0.6%   { opacity: 1; }
  2.5%   { transform: translate(200px, -14px) rotate(2deg); }
  4.4%   { opacity: 1; }
  5%     { opacity: 0; transform: translate(400px, -4px) rotate(-2deg); }
  100%   { opacity: 0; transform: translate(400px, -4px) rotate(-2deg); }
}

/* Heat lightning — a soft flicker low on the far horizon */
.swamp__heat {
  position: absolute;
  left: 0;
  right: 55%;
  bottom: 42%;
  height: 34%;
  background: radial-gradient(60% 100% at 30% 100%, rgba(188, 212, 255, 0.16), transparent 70%);
  filter: blur(6px);
  opacity: 0;
  animation: heat 13s infinite;
  pointer-events: none;
}
@keyframes heat {
  0%, 58%, 63%, 66%, 100% { opacity: 0; }
  59.5% { opacity: 0.55; }
  60.5% { opacity: 0.12; }
  61.5% { opacity: 0.70; }
  64.5% { opacity: 0.28; }
}

/* Cypress treeline — generated silhouette, stretched to the horizon */
.swamp__trees {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 45%;
  height: clamp(110px, 26vh, 250px);
  pointer-events: none;
}
.swamp__trees .trees,
.swamp__water .trees--refl {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

/* Water — dark glass with a moonlit hairline at the horizon */
.swamp__water {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 45%;
  background: linear-gradient(180deg, rgba(9, 20, 15, 0.25) 0%, rgba(7, 17, 12, 0.88) 22%, rgba(3, 9, 6, 0.99) 100%);
  overflow: hidden;
}
.swamp__water::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 4%,
    rgba(var(--moonlight), 0.14) 30%,
    rgba(var(--moonlight), 0.42) var(--moon-x),
    rgba(var(--moonlight), 0.14) 88%,
    transparent);
}

/* Drowned treeline reflection */
.swamp__water .trees--refl {
  height: 36%;
  transform: scaleY(-1);
  opacity: 0.14;
  filter: blur(3px);
  -webkit-mask-image: linear-gradient(180deg, transparent 8%, #000);
          mask-image: linear-gradient(180deg, transparent 8%, #000);
}

/* Moonglade — the moon's shimmer streaming down the water */
.swamp__moonglade {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--moon-x);
  width: clamp(64px, 9vmin, 110px);
  transform: translateX(-50%);
  background: linear-gradient(180deg, rgba(var(--moonlight), 0.28), rgba(var(--moonlight), 0.09) 45%, transparent 85%);
  filter: blur(7px);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 42% 58%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 42% 58%, transparent);
}
.swamp__moonglade::after {
  content: "";
  position: absolute;
  inset: -12px 0 0 0;
  background: repeating-linear-gradient(180deg, rgba(255, 244, 200, 0.30) 0 2px, transparent 2px 11px);
  animation: glade 7s linear infinite;
  opacity: 0.65;
}
@keyframes glade {
  to { transform: translateY(11px); }
}

/* Ripples — slow expanding moon-glints */
.swamp__ripple {
  position: absolute;
  border: 1px solid rgba(var(--moonlight), 0.20);
  border-radius: 50%;
  opacity: 0;
  animation: ripple 8s ease-out infinite;
}
.swamp__ripple--1 { left: 20%; bottom: 10%; width: 200px; height: 40px; animation-delay: 0s; }
.swamp__ripple--2 { left: 44%; bottom: 34%; width: 150px; height: 30px; animation-delay: 2.5s; }
.swamp__ripple--3 { left: 8%;  bottom: 22%; width: 250px; height: 50px; animation-delay: 5s; }

/* Moonlight ripples — brighter rings blooming inside the glade */
.swamp__ripple--m1,
.swamp__ripple--m2,
.swamp__ripple--m3 {
  border-width: 1.5px;
  border-color: rgba(var(--moonlight), 0.65);
  background: radial-gradient(50% 50% at 50% 50%,
    transparent 56%,
    rgba(var(--moonlight), 0.22) 74%,
    transparent 90%);
  box-shadow:
    0 0 18px rgba(var(--moonlight), 0.30),
    inset 0 0 12px rgba(var(--moonlight), 0.24);
}
.swamp__ripple--m1 { left: calc(var(--moon-x) - 90px);  bottom: 56%; width: 180px; height: 32px; animation-delay: 0.8s; }
.swamp__ripple--m2 { left: calc(var(--moon-x) - 55px);  bottom: 32%; width: 140px; height: 28px; animation-delay: 3.4s; }
.swamp__ripple--m3 { left: calc(var(--moon-x) - 125px); bottom: 10%; width: 250px; height: 48px; animation-delay: 6s; }

/* Cattail ripples — the swaying stalks stir the water at their feet */
.swamp__ripple--c1,
.swamp__ripple--c2,
.swamp__ripple--c3,
.swamp__ripple--c4 {
  border-color: rgba(var(--moonlight), 0.24);
  animation-duration: 6.5s;
}
.swamp__ripple--c1 { left: 3.5%; bottom: 72%; width: 90px;  height: 16px; animation-delay: 1.2s; }
.swamp__ripple--c2 { left: 11%;  bottom: 74%; width: 68px;  height: 13px; animation-delay: 4s; }
.swamp__ripple--c3 { left: 84%;  bottom: 73%; width: 100px; height: 17px; animation-delay: 2.4s; }
.swamp__ripple--c4 { left: 92.5%; bottom: 75%; width: 74px; height: 14px; animation-delay: 5.4s; }

@keyframes ripple {
  0%   { transform: scale(0.25); opacity: 0; }
  12%  { opacity: 0.85; }
  30%  { opacity: 0.55; }
  100% { transform: scale(1.6); opacity: 0; }
}

/* Mist — high haze and a low creeping fog bank */
.swamp__mist {
  position: absolute;
  inset: -8%;
  background:
    radial-gradient(30% 20% at 30% 60%, rgba(172, 196, 184, 0.06), transparent 70%),
    radial-gradient(25% 15% at 70% 45%, rgba(172, 196, 184, 0.05), transparent 70%),
    radial-gradient(20% 12% at 50% 70%, rgba(172, 196, 184, 0.04), transparent 70%);
  filter: blur(22px);
  animation: drift 36s ease-in-out infinite alternate;
  pointer-events: none;
}
.swamp__mist--low {
  inset: auto -12% 6% -12%;
  height: 36%;
  background:
    radial-gradient(38% 42% at 22% 68%, rgba(172, 196, 184, 0.08), transparent 70%),
    radial-gradient(30% 36% at 58% 55%, rgba(172, 196, 184, 0.07), transparent 70%),
    radial-gradient(26% 30% at 86% 70%, rgba(172, 196, 184, 0.06), transparent 70%);
  filter: blur(16px);
  animation: drift 26s ease-in-out infinite alternate-reverse;
}
@keyframes drift {
  0%   { transform: translateX(-2%) scale(1.05); }
  100% { transform: translateX(3%)  scale(1.12); }
}

/* Cattails */
.swamp__cattails {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  pointer-events: none;
}
.cattail {
  position: absolute;
  bottom: 35%;
  left: var(--x);
  width: 3px;
  height: var(--h);
  background: linear-gradient(180deg, #101c12 0%, #1c3020 100%);
  transform-origin: bottom center;
  animation: sway 4.5s ease-in-out infinite alternate;
  animation-delay: var(--d);
  border-radius: 2px 2px 0 0;
}
/* Seed head — the cylindrical 'corn dog', edge-lit by the moon */
.cattail::after {
  content: "";
  position: absolute;
  top: -26px;
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  height: 27px;
  background: linear-gradient(100deg, #1c1106 25%, #34210e 60%, #241605);
  border-radius: 4px;
  box-shadow:
    inset -1.5px 0 1.5px rgba(var(--moonlight), 0.18),
    0 0 3px rgba(0, 0, 0, 0.5);
}
/* Tip spike above the head */
.cattail::before {
  content: "";
  position: absolute;
  top: -39px;
  left: 50%;
  width: 1px;
  height: 13px;
  background: rgba(28, 48, 32, 0.9);
}
/* Curved leaf blades flanking each stalk */
.cattail__leaf {
  position: absolute;
  bottom: -2px;
  width: 16px;
  height: 70%;
  border-right: 2px solid #15281a;
  border-radius: 0 100% 0 0 / 0 100% 0 0;
}
.cattail__leaf--l {
  right: 0;
  height: 56%;
}
.cattail__leaf--r {
  left: 0;
  transform: scaleX(-1);
}
@keyframes sway {
  0%   { transform: rotate(calc(var(--lean, 0deg) - 1.6deg)); }
  100% { transform: rotate(calc(var(--lean, 0deg) + 1.6deg)); }
}

/* --------------------------------------------------------------------------
   FROG on a lily pad — geometry is load-bearing: the tongue/mouth JS derives
   positions from the 140×93 frog box (mouth at 108/140, 16/93). Don't scale.
   ------------------------------------------------------------------------- */

.frog-scene {
  position: absolute;
  top: 65%;
  left: 12%;
  z-index: 1;
  pointer-events: none;
}

.lily-pad {
  width: 180px;
  height: 35px;
  background: radial-gradient(ellipse at center, #1c402a 30%, #0d2415 70%, transparent 100%);
  border-radius: 50%;
  position: absolute;
  top: 50px;
  left: -35px;
  animation: bob 4s ease-in-out infinite;
}
.lily-pad::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 20%;
  width: 60%;
  height: 60%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(48, 92, 58, 0.6), transparent 70%);
}
.lily-pad::after {
  content: "";
  position: absolute;
  left: 8%;
  right: 12%;
  bottom: -3px;
  height: 6px;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(var(--moonlight), 0.10), transparent 70%);
}

.frog {
  position: absolute;
  width: 140px;
  height: 93px;
  top: 0;
  left: 0;
  animation: bob 4s ease-in-out infinite;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5)) drop-shadow(0 0 14px rgba(var(--moonlight), 0.08));
}
.frog--open { opacity: 0; }

.frog__mouth {
  position: absolute;
  top: 12px;
  left: 104px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0;
  border-color: transparent;
  opacity: 0;
  pointer-events: none;
  z-index: 3;
}
.frog__mouth--open {
  border-width: 8px 0 8px 14px;
  border-color: transparent transparent transparent #0a0e08;
  opacity: 1;
  animation: mouthOpen 0.3s ease-out;
}
@keyframes mouthOpen {
  0%   { border-width: 0; opacity: 0; }
  20%  { border-width: 10px 0 10px 16px; opacity: 1; }
  80%  { border-width: 10px 0 10px 16px; opacity: 1; }
  100% { border-width: 0; opacity: 0; }
}

.frog__tongue {
  position: absolute;
  top: 16px;
  left: 108px;
  width: 0;
  height: 4px;
  background: #0d2415;
  border-radius: 2px;
  transform-origin: left center;
  transform: rotate(0deg);
  opacity: 0;
  transition: none;
}
.frog__tongue::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(50%, -50%);
  width: 8px;
  height: 12px;
  background: #0d2415;
  border-radius: 50%;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
}
.frog__tongue--active {
  --tongue-angle: 0deg;
  --tongue-length: 100px;
  animation: tongueShoot 0.3s ease-out;
}
@keyframes tongueShoot {
  0%   { width: 0; opacity: 0; transform: rotate(var(--tongue-angle)); }
  15%  { width: var(--tongue-length); opacity: 1; transform: rotate(var(--tongue-angle)); }
  85%  { width: var(--tongue-length); opacity: 1; transform: rotate(var(--tongue-angle)); }
  100% { width: 0; opacity: 0; transform: rotate(var(--tongue-angle)); }
}

/* Score — a small brass tally, quiet until it pops */
.frog-score {
  position: fixed;
  top: 22px;
  right: 26px;
  z-index: 6;
  min-width: 3.6rem;
  padding: 0.55rem 0.65rem 0.5rem;
  text-align: center;
  font-family: var(--display);
  font-weight: 700;
  font-size: 1.45rem;
  line-height: 1;
  color: var(--gold-hi);
  text-shadow: 0 0 12px rgba(233, 183, 90, 0.45);
  background: rgba(6, 14, 10, 0.55);
  border: 1px solid rgba(var(--brass), 0.28);
  border-radius: 2px;
  backdrop-filter: blur(4px);
  opacity: 0.35;
  transition: opacity 0.3s, transform 0.3s;
}
.frog-score::before {
  content: "fireflies";
  display: block;
  margin-bottom: 0.32rem;
  font-family: var(--sans);
  font-size: 0.5rem;
  font-weight: 600;
  letter-spacing: 0.32em;
  padding-left: 0.32em;
  text-transform: uppercase;
  color: var(--sage-dim);
}
.frog-score--pop {
  opacity: 1;
  transform: scale(1.12);
}

@keyframes bob {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-3px); }
}

/* Firefly canvas — clickable; content above it re-enables its own clicks */
.swamp__fireflies {
  position: absolute;
  inset: 0;
  pointer-events: auto;
  z-index: 1;
  cursor: crosshair;
}

/* Vignette — pools the light toward the center */
.swamp__vignette {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: radial-gradient(115% 88% at 50% 44%, transparent 52%, rgba(2, 6, 4, 0.55) 100%);
}

/* --------------------------------------------------------------------------
   CONTENT — poster lockup: BAYOU / BANGERS! / POWER LLC
   ------------------------------------------------------------------------- */

.swamp__content {
  position: relative;
  z-index: 3;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
  pointer-events: none;
}
.swamp__cta { pointer-events: auto; }

.wordmark {
  font-family: var(--display);
  font-size: clamp(3.2rem, 10.5vw, 7.2rem);
  line-height: 1;
  filter: drop-shadow(0 0 26px rgba(233, 183, 90, 0.16));
}

/* “BAYOU” — cream, tracked wide above the main word */
.wm-bayou {
  display: block;
  font-size: 0.34em;
  font-weight: 600;
  letter-spacing: 0.62em;
  margin-right: -0.62em;   /* recenter the trailing tracking */
  margin-bottom: 0.22em;
}

/* “BANGERS!” — the gold-foil headliner */
.wm-bang {
  display: block;
  font-weight: 800;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
}

/* Foil fills. Per-character when JS splits the text (vertical gradients tile
   seamlessly letter to letter); on the whole word when it doesn't. */
.wm-bayou .wm-char,
html:not(.js) .wm-bayou {
  background-image: linear-gradient(180deg, #fffaf0 8%, #efe3c0 55%, #cbc19c 100%);
}
.wm-bang .wm-char,
html:not(.js) .wm-bang {
  background-image: linear-gradient(180deg,
    #f8e7b0 0%, #eec876 30%, #cf9c3d 48%, #96691f 60%, #e9bd63 78%, #f8e3a6 100%);
}
.wm-char,
html:not(.js) .wm-bayou,
html:not(.js) .wm-bang {
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.wm-char { display: inline-block; }

/* Letter reveal — embers rising into place (JS staggers the delays) */
.js .wordmark .wm-char { opacity: 0; }
.js .wordmark.revealing .wm-char {
  animation: emberIn 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes emberIn {
  0%   { opacity: 0; transform: translateY(0.5em) rotateX(-80deg) scale(0.8); filter: blur(8px); }
  50%  { opacity: 0.5; filter: blur(3px) drop-shadow(0 0 10px rgba(233, 183, 90, 0.9)); }
  80%  { opacity: 1; transform: translateY(0) rotateX(0) scale(1.05); filter: drop-shadow(0 0 20px rgba(233, 183, 90, 0.8)); }
  100% { opacity: 1; transform: translateY(0) rotateX(0) scale(1); filter: drop-shadow(0 0 12px rgba(233, 183, 90, 0.25)); }
}

/* “POWER LLC” — completes the company name */
.wordmark__co {
  margin-top: 1.15rem;
  font-family: var(--sans);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.6em;
  padding-left: 0.6em;
  text-transform: uppercase;
  color: var(--sage);
}
.js .wordmark__co { animation: fadeUp 0.9s ease 1.5s both; }

.deco--splash { margin-top: 1.9rem; }
.js .deco--splash {
  animation: decoIn 0.9s cubic-bezier(0.16, 1, 0.3, 1) 1.75s both;
}
@keyframes decoIn {
  from { opacity: 0; transform: scaleX(0.25); }
  to   { opacity: 1; transform: scaleX(1); }
}

/* CTA — brass plate with an offset deco ring and a sheen sweep */
.swamp__cta {
  position: relative;
  overflow: hidden;
  margin-top: 2.4rem;
  display: inline-block;
  text-decoration: none;
  font-family: var(--sans);
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #0d1b13;
  background: linear-gradient(180deg, #f0cf85, #d9a648 55%, #c08c2e);
  padding: 1.05rem 2.4rem 1rem calc(2.4rem + 0.3em);
  border: 1px solid rgba(138, 95, 29, 0.9);
  border-radius: 1px;
  outline: 1px solid rgba(var(--brass), 0.38);
  outline-offset: 5px;
  box-shadow:
    0 6px 30px -6px rgba(233, 183, 90, 0.45),
    inset 0 1px 0 rgba(255, 240, 200, 0.65);
  transition: box-shadow 0.35s, transform 0.2s, filter 0.2s, outline-color 0.3s;
}
.swamp__cta::after {
  content: "";
  position: absolute;
  top: -30%;
  bottom: -30%;
  left: 0;
  width: 38%;
  background: linear-gradient(100deg, transparent, rgba(255, 250, 226, 0.8), transparent);
  transform: translateX(-160%) skewX(-18deg);
}
.swamp__cta:hover::after {
  transform: translateX(400%) skewX(-18deg);
  transition: transform 0.75s ease;
}
.js .swamp__cta { animation: ctaIn 0.9s cubic-bezier(0.16, 1, 0.3, 1) 1.95s both; }
@keyframes ctaIn {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
.swamp__cta:hover {
  filter: brightness(1.07);
  box-shadow: 0 8px 38px -6px rgba(233, 183, 90, 0.6), inset 0 1px 0 rgba(255, 240, 200, 0.65);
  outline-color: rgba(var(--brass), 0.7);
  transform: translateY(-2px);
}
.swamp__cta:active { transform: translateY(0); filter: brightness(0.96); }
.swamp__cta:focus-visible {
  outline: 2px solid var(--gold-hi);
  outline-offset: 5px;
}

/* Disclaimer */
.swamp__disc {
  margin-top: 2.9rem;
  color: var(--sage-dim);
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.js .swamp__disc { animation: fadeIn 1.2s ease 2.6s both; }

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* --------------------------------------------------------------------------
   GATE (login + portal) — the same night, one quiet clearing
   ------------------------------------------------------------------------- */

.gate {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: 3rem 1.5rem;
  overflow: hidden;
  background:
    radial-gradient(52% 40% at 50% 8%, rgba(233, 183, 90, 0.09), transparent 65%),
    radial-gradient(75% 55% at 24% 14%, rgba(22, 48, 37, 0.5), transparent 65%),
    linear-gradient(180deg, #040907 0%, #0a1712 45%, #0d2018 78%, #060f0a 100%);
}
.gate__scene {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.gate__scene .swamp__stars { inset: 0 0 50% 0; }

/* CSS fireflies for the gate pages (no canvas here) */
.gfly {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--firefly);
  box-shadow: 0 0 8px 2px rgba(255, 233, 168, 0.55);
  animation:
    gflyDrift 16s ease-in-out infinite alternate,
    gflyBlink 3.4s ease-in-out infinite;
  animation-delay: var(--d), calc(var(--d) * 1.7);
}
@keyframes gflyDrift {
  from { transform: translate(0, 0); }
  to   { transform: translate(4vw, -5vh); }
}
@keyframes gflyBlink {
  0%, 100% { opacity: 0.1; }
  50%      { opacity: 0.9; }
}

/* The card — brass-cornered dark glass */
.card {
  position: relative;
  width: min(432px, 100%);
  padding: 2.7rem 2.5rem 2.3rem;
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(233, 183, 90, 0.05), transparent 55%),
    linear-gradient(165deg, rgba(15, 31, 23, 0.92), rgba(7, 16, 11, 0.95));
  border: 1px solid rgba(var(--brass), 0.26);
  border-radius: 3px;
  box-shadow:
    0 40px 90px -18px rgba(0, 0, 0, 0.72),
    0 0 60px -20px rgba(233, 183, 90, 0.2),
    inset 0 1px 0 rgba(244, 237, 216, 0.05);
  backdrop-filter: blur(6px);
}
.card__corner {
  position: absolute;
  width: 15px;
  height: 15px;
  border: 0 solid rgba(var(--brass), 0.62);
}
.card__corner--tl { top: 7px;    left: 7px;   border-top-width: 1px; border-left-width: 1px; }
.card__corner--tr { top: 7px;    right: 7px;  border-top-width: 1px; border-right-width: 1px; }
.card__corner--bl { bottom: 7px; left: 7px;   border-bottom-width: 1px; border-left-width: 1px; }
.card__corner--br { bottom: 7px; right: 7px;  border-bottom-width: 1px; border-right-width: 1px; }

/* Monogram seal */
.card__seal {
  width: 62px;
  height: 62px;
  margin: 0 auto 1.2rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-family: var(--display);
  font-weight: 700;
  font-size: 1.12rem;
  letter-spacing: 0.05em;
  padding-left: 0.05em;
  color: var(--gold-hi);
  text-shadow: 0 0 12px rgba(233, 183, 90, 0.5);
  border: 1px solid rgba(var(--brass), 0.55);
  outline: 1px solid rgba(var(--brass), 0.2);
  outline-offset: 4px;
  background: radial-gradient(circle at 35% 30%, rgba(233, 183, 90, 0.16), rgba(233, 183, 90, 0.03) 70%);
}

.card__mark {
  font-family: var(--display);
  font-weight: 700;
  text-align: center;
  color: var(--cream);
  font-size: 1.04rem;
  letter-spacing: 0.13em;
}
.card__mark .amber { color: var(--gold); }
.card__sub {
  text-align: center;
  color: var(--sage-dim);
  font-size: 0.66rem;
  letter-spacing: 0.42em;
  padding-left: 0.42em;
  text-transform: uppercase;
  margin-top: 0.6rem;
}
.deco--card { margin: 1.35rem 0 1.75rem; }
.deco--card::before,
.deco--card::after { width: 3rem; }
.deco--card .deco__gem { width: 5px; height: 5px; }

/* Fields */
.field { margin-bottom: 1.25rem; }
.field label {
  display: block;
  color: var(--sage);
  font-size: 0.68rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  margin-bottom: 0.55rem;
  transition: color 0.25s;
}
.field:focus-within label { color: var(--gold-hi); }
.field input {
  width: 100%;
  background: rgba(4, 10, 7, 0.55);
  border: 1px solid rgba(var(--brass), 0.16);
  border-radius: 2px;
  color: var(--cream);
  caret-color: var(--gold);
  font-family: var(--sans);
  font-size: 1rem;
  padding: 0.85rem 0.95rem;
  transition: border-color 0.25s, box-shadow 0.25s, background-color 0.25s;
}
.field input:focus {
  outline: none;
  border-color: rgba(var(--brass), 0.75);
  background: rgba(5, 12, 8, 0.75);
  box-shadow:
    0 0 0 3px rgba(var(--brass), 0.14),
    0 0 18px -6px rgba(233, 183, 90, 0.4);
}
.field input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 60px #081711 inset;
  -webkit-text-fill-color: var(--cream);
}

/* Submit button — same brass plate as the CTA */
.btn {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin-top: 0.7rem;
  background: linear-gradient(180deg, #f0cf85, #d9a648 55%, #c08c2e);
  color: #0d1b13;
  border: 1px solid rgba(138, 95, 29, 0.9);
  border-radius: 1px;
  font-family: var(--sans);
  font-weight: 700;
  letter-spacing: 0.28em;
  text-indent: 0.28em;
  text-transform: uppercase;
  font-size: 0.8rem;
  padding: 0.95rem;
  cursor: pointer;
  box-shadow:
    0 6px 24px -8px rgba(233, 183, 90, 0.5),
    inset 0 1px 0 rgba(255, 240, 200, 0.65);
  transition: filter 0.2s, box-shadow 0.3s, transform 0.1s;
}
.btn::after {
  content: "";
  position: absolute;
  top: -30%;
  bottom: -30%;
  left: 0;
  width: 38%;
  background: linear-gradient(100deg, transparent, rgba(255, 250, 226, 0.8), transparent);
  transform: translateX(-160%) skewX(-18deg);
}
.btn:hover::after {
  transform: translateX(400%) skewX(-18deg);
  transition: transform 0.7s ease;
}
.btn:hover {
  filter: brightness(1.07);
  box-shadow: 0 8px 30px -8px rgba(233, 183, 90, 0.65), inset 0 1px 0 rgba(255, 240, 200, 0.65);
}
.btn:active { transform: translateY(1px); }
.btn:focus-visible { outline: 2px solid var(--gold-hi); outline-offset: 3px; }

.back {
  display: block;
  text-align: center;
  margin-top: 1.7rem;
  color: var(--sage-dim);
  text-decoration: none;
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  transition: color 0.25s;
}
.back:hover { color: var(--gold-hi); }
/* .back as a <button> (the sign-out form) — strip chrome, keep the look */
button.back {
  width: 100%;
  background: none;
  border: 0;
  cursor: pointer;
  font-family: var(--sans);
}

.msg {
  margin-top: 1rem;
  font-size: 0.8rem;
  text-align: center;
  min-height: 1.1rem;
  letter-spacing: 0.04em;
}
.msg--ok  { color: #96d8ad; }
.msg--err { color: #e7b45c; }

.setup__lead {
  color: var(--sage);
  font-size: 0.86rem;
  line-height: 1.65;
  text-align: center;
  margin-bottom: 1.6rem;
  text-wrap: pretty;
}
.setup__id {
  color: var(--gold-hi);
  font-weight: 600;
  overflow-wrap: anywhere;
}

/* --------------------------------------------------------------------------
   INVESTOR PORTAL DASHBOARD
   Hero figure + sparkline + KPI row + reports + bulletin board.
   Direction colors pass 4.5:1 on the panel surface; value text stays in
   text tokens (cream/sage) — colored chevrons carry the direction.
   ------------------------------------------------------------------------- */

.gate--portal {
  place-items: start center;
  padding: 2.6rem 1.5rem 3.5rem;
}

.portal {
  position: relative;
  z-index: 1;
  width: min(1080px, 100%);
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

/* Header bar */
.portal__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 0 0.2rem;
}
.portal__brand {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}
.portal__seal {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-family: var(--display);
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--gold-hi);
  border: 1px solid rgba(var(--brass), 0.55);
  outline: 1px solid rgba(var(--brass), 0.18);
  outline-offset: 3px;
  background: radial-gradient(circle at 35% 30%, rgba(233, 183, 90, 0.16), rgba(233, 183, 90, 0.03) 70%);
}
.portal__mark {
  font-family: var(--display);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.1em;
  color: var(--cream);
}
.portal__mark .amber { color: var(--gold); }
.portal__tag {
  color: var(--sage-dim);
  font-size: 0.6rem;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  margin-top: 0.25rem;
}
.portal__who {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}
.portal__id {
  color: var(--sage);
  font-size: 0.8rem;
  overflow-wrap: anywhere;
}
.portal__out {
  background: none;
  border: 1px solid rgba(var(--brass), 0.3);
  border-radius: 2px;
  color: var(--sage);
  font-family: var(--sans);
  font-size: 0.66rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 0.5rem 0.85rem;
  cursor: pointer;
  transition: color 0.2s, border-color 0.2s;
}
.portal__out:hover { color: var(--gold-hi); border-color: rgba(var(--brass), 0.7); }

/* Panels — same dark-glass language as the card */
.panel {
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(233, 183, 90, 0.04), transparent 55%),
    linear-gradient(165deg, rgba(15, 31, 23, 0.92), rgba(7, 16, 11, 0.95));
  border: 1px solid rgba(var(--brass), 0.22);
  border-radius: 3px;
  box-shadow:
    0 30px 70px -24px rgba(0, 0, 0, 0.65),
    inset 0 1px 0 rgba(244, 237, 216, 0.04);
  padding: 1.5rem 1.7rem 1.6rem;
  backdrop-filter: blur(6px);
}
.panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  flex-wrap: wrap;
  margin-bottom: 1.2rem;
}
.panel__head h2 {
  font-family: var(--display);
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cream);
}
.badge-demo {
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold-hi);
  border: 1px solid rgba(var(--brass), 0.4);
  border-radius: 999px;
  padding: 0.32rem 0.7rem;
  background: rgba(233, 183, 90, 0.07);
  white-space: nowrap;
}
.panel__empty {
  color: var(--sage-dim);
  font-size: 0.85rem;
  line-height: 1.6;
  padding: 1.2rem 0 0.6rem;
  text-align: center;
  font-style: italic;
  font-family: var(--serif);
}

/* Live P&L hero + sparkline */
.pnl {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(0, 1.6fr);
  gap: 1.6rem;
  align-items: center;
}
.pnl__value {
  font-family: var(--sans);   /* hero figures stay in the sans, per dataviz */
  font-size: clamp(2.6rem, 5vw, 3.4rem);
  font-weight: 650;
  line-height: 1.05;
  color: var(--cream);
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
}
.pnl__sub {
  margin-top: 0.55rem;
  color: var(--sage-dim);
  font-size: 0.74rem;
  letter-spacing: 0.06em;
}
.chev { font-size: 0.55em; }
.chev--up   { color: #96d8ad; }
.chev--down { color: #e08a7a; }

.pnl__chart { position: relative; min-width: 0; }
.spark {
  display: block;
  width: 100%;
  height: 150px;
  cursor: crosshair;
}
.spark__line {
  fill: none;
  stroke: var(--gold);
  stroke-width: 2;
  stroke-linejoin: round;
  stroke-linecap: round;
}
.spark__zero {
  stroke: rgba(169, 192, 174, 0.28);
  stroke-width: 1;
  stroke-dasharray: 4 5;
}
.spark__cursor {
  stroke: rgba(244, 237, 216, 0.35);
  stroke-width: 1;
}
/* SVG elements don't honor the `hidden` attribute — enforce it here */
.spark [hidden] { display: none; }
.spark__dot {
  fill: var(--gold-hi);
  stroke: #0d1f17;
  stroke-width: 2;
}
.spark-tip {
  position: absolute;
  top: -0.4rem;
  padding: 0.35rem 0.6rem;
  background: rgba(5, 12, 8, 0.92);
  border: 1px solid rgba(var(--brass), 0.35);
  border-radius: 2px;
  color: var(--cream);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  pointer-events: none;
  white-space: nowrap;
}

/* KPI row */
.kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.9rem;
  margin-top: 1.5rem;
  padding-top: 1.3rem;
  border-top: 1px solid rgba(var(--brass), 0.14);
}
.stat__label {
  color: var(--sage-dim);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  margin-bottom: 0.4rem;
}
.stat__value {
  color: var(--cream);
  font-family: var(--sans);
  font-size: 1.35rem;
  font-weight: 600;
  display: flex;
  align-items: baseline;
  gap: 0.32rem;
}
.stat__value .chev { font-size: 0.6em; }

/* Two-column band: reports + board */
.portal__cols {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 1.4rem;
  align-items: start;
}

/* Bulletin board */
.board__form { display: flex; flex-direction: column; gap: 0.7rem; }
.board__label {
  color: var(--sage);
  font-size: 0.68rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}
.board__form textarea {
  width: 100%;
  resize: vertical;
  min-height: 4.2rem;
  background: rgba(4, 10, 7, 0.55);
  border: 1px solid rgba(var(--brass), 0.16);
  border-radius: 2px;
  color: var(--cream);
  caret-color: var(--gold);
  font-family: var(--sans);
  font-size: 0.92rem;
  line-height: 1.55;
  padding: 0.75rem 0.85rem;
  transition: border-color 0.25s, box-shadow 0.25s, background-color 0.25s;
}
.board__form textarea:focus {
  outline: none;
  border-color: rgba(var(--brass), 0.75);
  background: rgba(5, 12, 8, 0.75);
  box-shadow:
    0 0 0 3px rgba(var(--brass), 0.14),
    0 0 18px -6px rgba(233, 183, 90, 0.4);
}
.btn--small {
  width: auto;
  align-self: flex-end;
  margin-top: 0;
  padding: 0.65rem 1.4rem;
  font-size: 0.7rem;
}
.board__list {
  list-style: none;
  margin-top: 1.3rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-height: 30rem;
  overflow-y: auto;
}
.note {
  border-left: 2px solid rgba(var(--brass), 0.35);
  padding: 0.15rem 0 0.2rem 0.95rem;
}
.note__meta { margin-bottom: 0.3rem; }
.note__who {
  color: var(--cream);
  font-size: 0.78rem;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.note__when {
  color: var(--sage-dim);
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  margin-left: 0.5rem;
}
.note__text {
  color: var(--sage);
  font-size: 0.88rem;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.note--empty {
  border-left: none;
  padding-left: 0;
  color: var(--sage-dim);
  font-style: italic;
  font-family: var(--serif);
  font-size: 0.9rem;
}

.portal__foot {
  text-align: center;
  color: var(--sage-dim);
  font-size: 0.62rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  margin-top: 0.4rem;
}

@media (max-width: 900px) {
  .pnl { grid-template-columns: 1fr; }
  .portal__cols { grid-template-columns: 1fr; }
  .kpis { grid-template-columns: repeat(2, 1fr); row-gap: 1.2rem; }
}

.portal__lead {
  color: var(--sage);
  text-align: center;
  font-family: var(--serif);
  font-style: italic;
  font-size: 1.05rem;
  line-height: 1.65;
  margin-top: 1.5rem;
  text-wrap: balance;
}

/* --------------------------------------------------------------------------
   SWAMP FLOOD TRANSITION — the bayou surges up, then drains off the login
   ------------------------------------------------------------------------- */

.flood {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  overflow: hidden;
}
/* No JS → no transition; never trap the page under standing water */
html:not(.js) .flood { display: none; }

.flood__water {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 100%;
  background:
    linear-gradient(180deg,
      rgba(64, 105, 74, 0.92) 0%,
      rgba(26, 56, 37, 0.96) 12%,
      rgba(10, 30, 19, 0.99) 30%,
      rgba(4, 15, 9, 1) 50%,
      rgba(4, 15, 9, 1) 100%);
  transition: top 0.45s cubic-bezier(0.05, 0.6, 0.15, 1);
}

.flood__splash {
  position: absolute;
  left: -5%;
  right: -5%;
  top: -20px;
  height: 40px;
  background:
    radial-gradient(ellipse 22px 18px at 8% 60%,  rgba(96, 168, 106, 0.7),  transparent 65%),
    radial-gradient(ellipse 18px 22px at 20% 40%, rgba(74, 136, 90, 0.6),   transparent 65%),
    radial-gradient(ellipse 28px 16px at 32% 65%, rgba(106, 178, 116, 0.65), transparent 65%),
    radial-gradient(ellipse 16px 24px at 44% 35%, rgba(64, 126, 80, 0.55),  transparent 65%),
    radial-gradient(ellipse 24px 20px at 56% 55%, rgba(90, 156, 100, 0.6),  transparent 65%),
    radial-gradient(ellipse 20px 18px at 68% 40%, rgba(80, 146, 92, 0.58),  transparent 65%),
    radial-gradient(ellipse 26px 22px at 80% 60%, rgba(100, 172, 110, 0.62), transparent 65%),
    radial-gradient(ellipse 18px 16px at 92% 45%, rgba(70, 130, 84, 0.55),  transparent 65%);
  animation: splashChurn 0.4s ease-out;
}
@keyframes splashChurn {
  0%   { transform: translateY(15px) scaleY(0.6); opacity: 0; }
  20%  { transform: translateY(-8px) scaleY(1.3); opacity: 1; }
  60%  { transform: translateY(2px) scaleY(1.0); opacity: 0.8; }
  100% { transform: translateY(0) scaleY(1); opacity: 0.6; }
}

.flood__surface {
  position: absolute;
  left: -10%;
  right: -10%;
  top: -10px;
  height: 20px;
  background:
    radial-gradient(ellipse 26px 10px at 15% 50%, rgba(86, 148, 96, 0.6),  transparent 70%),
    radial-gradient(ellipse 22px 8px  at 35% 50%, rgba(66, 116, 80, 0.5),  transparent 70%),
    radial-gradient(ellipse 30px 12px at 55% 50%, rgba(76, 126, 86, 0.55), transparent 70%),
    radial-gradient(ellipse 24px 9px  at 75% 50%, rgba(60, 106, 74, 0.5),  transparent 70%),
    radial-gradient(ellipse 28px 11px at 92% 50%, rgba(70, 121, 82, 0.52), transparent 70%);
  animation: wave 0.35s ease-in-out infinite alternate;
}
@keyframes wave {
  0%   { transform: translateX(-6px) scaleY(0.85); }
  100% { transform: translateX(6px)  scaleY(1.15); }
}

.flood__sheen {
  position: absolute;
  left: 0;
  right: 0;
  top: 6px;
  height: 24px;
  background: linear-gradient(180deg,
    rgba(126, 186, 136, 0.18) 0%,
    rgba(64, 105, 74, 0.08) 30%,
    transparent 100%);
}

.flood__spray {
  position: absolute;
  top: -15px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(126, 186, 136, 0.7);
  opacity: 0;
  animation: spray 0.5s ease-out forwards;
}
@keyframes spray {
  0%   { transform: translate(0, 0) scale(1); opacity: 0.9; }
  100% { transform: translate(var(--sx, 0), var(--sy, -60px)) scale(0.3); opacity: 0; }
}

.flood__bubble {
  position: absolute;
  bottom: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, rgba(166, 216, 176, 0.4), rgba(44, 84, 54, 0.1));
  border: 1px solid rgba(146, 196, 156, 0.15);
  opacity: 0;
  animation: rise 1.5s ease-in infinite;
}
@keyframes rise {
  0%   { transform: translateY(0) scale(0.5); opacity: 0; }
  10%  { opacity: 0.5; }
  80%  { opacity: 0.3; }
  100% { transform: translateY(-100vh) scale(1.3); opacity: 0; }
}

/* Flood states */
.flood--rising .flood__water { top: 0%; }
.flood--full .flood__water { top: 0%; transition: none; }
.flood--draining .flood__water {
  top: 100%;
  transition: top 0.4s cubic-bezier(0.4, 0, 0.8, 0.2) 0.1s;
}
.flood--rising .flood__bubble,
.flood--full .flood__bubble { opacity: 1; }
.flood__splash, .flood__spray { display: none; }
.flood--rising .flood__splash { display: block; }
.flood--rising .flood__spray  { display: block; }

/* Card hidden behind the flood, then revealed (JS pages only) */
.js .gate .card {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.4s ease 0.12s, transform 0.45s cubic-bezier(0.16, 1, 0.3, 1) 0.12s;
}
.js .gate .card--reveal { opacity: 1; transform: translateY(0); }

/* --------------------------------------------------------------------------
   SMALL SCREENS
   ------------------------------------------------------------------------- */

@media (max-width: 700px) {
  :root { --moon-x: 76%; --moon-y: 14%; }
  .swamp__trees { height: clamp(90px, 20vh, 160px); }
  .wm-bayou { letter-spacing: 0.42em; margin-right: -0.42em; }
  .wordmark__co { letter-spacing: 0.42em; padding-left: 0.42em; font-size: 0.66rem; }
  .frog-score { top: 12px; right: 12px; min-width: 3.1rem; font-size: 1.2rem; }
  .swamp__disc { margin-top: 2.2rem; font-size: 0.6rem; letter-spacing: 0.16em; }
  .card { padding: 2.2rem 1.6rem 1.9rem; }
  .gate { padding: 2rem 1rem; }
}

/* --------------------------------------------------------------------------
   REDUCED MOTION — everything lands in its final, visible state
   ------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001s !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001s !important;
    transition-delay: 0s !important;
  }
  .swamp__comet, .swamp__heat, .swamp__saucer { display: none; }
}
