/* =========================================================
   Fonts (add actual files later)
   Headline: Bagel Fat One — Display
   Base: Roboto — Text
========================================================= */
@font-face {
  font-family: "Bagel Fat One";
  src: url("fonts/BagelFatOne.woff2") format("woff2"), url("fonts/BagelFatOne.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("fonts/Roboto-Regular.woff2") format("woff2"), url("fonts/Roboto-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("fonts/Roboto-Medium.woff2") format("woff2"), url("fonts/Roboto-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("fonts/Roboto-Bold.woff2") format("woff2"), url("fonts/Roboto-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* =========================================================
   Root Variables
========================================================= */
:root {
  /* Brand palette: vibrant */
  --clr-bg: #0e0f1a;
  --clr-surface: #141624;
  --clr-surface-2: #1b1e31;
  --clr-card: #171a2a;

  --clr-primary: #7dff72; /* neon lime */
  --clr-primary-600: #4eea42;
  --clr-primary-700: #35c92c;

  --clr-accent: #6ea6ff; /* sapphire */
  --clr-accent-600: #4a8bff;

  --clr-warning: #ffd166; /* yolk */
  --clr-danger: #ff6b6b; /* burst */

  --clr-text: #e6e9ef;
  --clr-text-muted: #b6bdd0;
  --clr-divider: #2a2e46;

  /* Typography */
  --ff-display: "Bagel Fat One", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --ff-base: "Roboto", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  /* Sizes */
  --maxw: 1200px;
  --radius: 16px;
  --radius-lg: 22px;
  --shadow: 0 10px 30px rgba(0, 0, 0, 0.35);

  /* Spacing */
  --space-1: 0.375rem;
  --space-2: 0.625rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2rem;
  --space-6: 3rem;
  --space-7: 4rem;

  /* Transitions */
  --tr-fast: 160ms ease;
  --tr-med: 260ms ease;

  /* Breakpoints */
  --bp-md: 768px;
  --bp-lg: 1024px;
}

/* =========================================================
   Base
========================================================= */
* {
  box-sizing: border-box;
}
html,
body {
  height: 100%;
}
body {
  margin: 0;
  background: radial-gradient(1200px 600px at 20% -10%, #1b2040 0%, #0e0f1a 60%) no-repeat, var(--clr-bg);
  color: var(--clr-text);
  font-family: var(--ff-base);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
figure {
  margin: 0;
}
a {
  color: var(--clr-accent);
  text-decoration: none;
}
a:hover {
  color: var(--clr-accent-600);
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  overflow: hidden;
  white-space: nowrap;
}

/* Containers */
.container {
  width: min(100% - 2rem, var(--maxw));
  margin-inline: auto;
  position: relative;
  z-index: 1;
}
.container-fluid {
  width: min(100% - 2rem, 1400px);
  margin-inline: auto;
}

/* Grids */
.grid {
  display: grid;
  gap: var(--space-5);
}
.grid--2col {
  grid-template-columns: 1fr;
}
.grid--3col {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
}
@media (min-width: 768px) {
  .grid--2col {
    grid-template-columns: 1.1fr 0.9fr;
    align-items: center;
  }
  .grid--3col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  scroll-behavior: smooth;
  margin: 0;
  padding: 0;
}

* {
  margin-top: 0;
}

h1,
h2,
h3,
h4 {
  font-family: var(--ff-display);
  font-weight: 400;
  line-height: 1.1;
}

h2 {
  color: var(--clr-primary);
}

* {
  margin-top: 0;
}

button {
  border: 0;
  cursor: pointer;
}

figure {
  margin: 0;
  overflow: hidden;
}

img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

blockquote {
  margin-left: 0;
  margin-right: 0;
}

/* Aspect helpers */
.aspect-1-1 {
  aspect-ratio: 1 / 1;
}
.aspect-4-3 {
  aspect-ratio: 4 / 3;
}
.aspect-16-9 {
  aspect-ratio: 16 / 9;
}
.aspect-3-4 {
  aspect-ratio: 3 / 4;
}

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.9rem 1.25rem;
  border-radius: var(--radius);
  background: var(--clr-primary);
  color: #071107;
  font-weight: 700;
  transition: transform var(--tr-fast), box-shadow var(--tr-fast), background var(--tr-fast);
  box-shadow: 0 6px 16px rgba(125, 255, 114, 0.22), inset 0 0 0 2px rgba(0, 0, 0, 0.08);
  text-align: center;
  border: 0;
  cursor: pointer;
}
.btn:hover {
  transform: translateY(-2px);
  background: var(--clr-primary-600);
}
.btn:active {
  transform: translateY(0);
}
.btn--secondary {
  background: var(--clr-accent);
  box-shadow: 0 6px 16px rgba(110, 166, 255, 0.22), inset 0 0 0 2px rgba(0, 0, 0, 0.08);
}
.btn--secondary:hover {
  background: var(--clr-accent-600);
}
.btn--pulse {
  animation: pulse 2.2s ease-in-out infinite;
}
@keyframes pulse {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(125, 255, 114, 0.35);
  }
  50% {
    box-shadow: 0 0 0 12px rgba(125, 255, 114, 0);
  }
}

/* Cards */
.card {
  background: linear-gradient(180deg, var(--clr-card) 0%, #111426 100%);
  border: 1px solid var(--clr-divider);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 0 5px var(--clr-primary);
  transition: transform var(--tr-med), border-color var(--tr-med);
}
.card:hover {
  transform: translateY(-4px);
  border-color: #3a3f63;
}

/* Section spacing */
.section {
  padding-block: var(--space-7);
  position: relative;
}
.section .lead {
  color: var(--clr-text-muted);
}
.lead.small {
  font-size: 0.95rem;
}

/* ============================== Header ============================== */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  backdrop-filter: blur(8px);
  background: rgba(10, 11, 22, 0.6);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.site-header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: 0.75rem;
}
.logo-figure img {
  height: auto;
  width: auto;
}
.nav-main .nav-list {
  list-style: none;
  display: flex;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
}
.nav-main a {
  display: inline-block;
  padding: 0.5rem 0.75rem;
  border-radius: 10px;
  color: var(--clr-text);
  transition: background var(--tr-fast), color var(--tr-fast);
}
.nav-main a:hover {
  background: rgba(110, 166, 255, 0.15);
  color: #fff;
}
.nav-cta a {
  background: rgba(125, 255, 114, 0.15);
  border: 1px solid rgba(125, 255, 114, 0.35);
}
.nav-cta a:hover {
  background: rgba(125, 255, 114, 0.25);
}

.burger {
  display: none;
  background: none;
  border: 0;
  width: 40px;
  height: 40px;
  cursor: pointer;
  position: relative;
}
.burger__bar,
.burger__bar::before,
.burger__bar::after {
  content: "";
  display: block;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  position: absolute;
  left: 9px;
  right: 9px;
  transition: transform var(--tr-fast);
}
.burger__bar {
  top: 19px;
}
.burger__bar::before {
  top: -8px;
}
.burger__bar::after {
  top: 8px;
}

@media (max-width: 767px) {
  .nav-main {
    display: none;
  }
  body.nav-open .nav-main {
    display: block;
    position: absolute;
    inset: 100% 0 auto 0;
    background: #0e1122;
    border-bottom: 1px solid var(--clr-divider);
  }
  .nav-main .nav-list {
    flex-direction: column;
    padding: 0.75rem;
  }
  .burger {
    display: block;
  }
}
@media (min-width: 1024px) {
  .nav-main .nav-list {
    gap: 1rem;
  }
}

/* =============================== Hero =============================== */
.section-hero .hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section-hero .hero__content {
  position: relative;
  z-index: 1;
  display: grid;
  gap: var(--space-4);
  text-align: center;
  padding-top: min(20vh, 8rem);
}
.section-hero h1 {
  font-family: var(--ff-display);
  font-weight: 400;
  font-size: clamp(2rem, 6vw, 3.5rem);
  letter-spacing: 0.5px;
  color: #fff;
}
.section-hero .lead {
  font-size: 1.05rem;
}

/* =========================== What is =========================== */
.section-what .bullets {
  padding-left: 1rem;
}
.section-what .bullets li {
  margin-bottom: 0.4rem;
}

/* ======================== Core Loop steps ======================= */
.loop-steps {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: 1fr;
}
.loop-step {
  background: linear-gradient(180deg, #171a2a 0%, #0f1223 100%);
  border: 1px solid var(--clr-divider);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  box-shadow: var(--shadow);
  text-align: center;
}
.loop-step h3 {
  font-family: var(--ff-display);
  font-weight: 400;
  letter-spacing: 0.3px;
}
.icon {
  width: 72px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .loop-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ====================== Units & Upgrades grid ====================== */
.card-grid {
  display: grid;
  gap: var(--space-4);
}
@media (min-width: 768px) {
  .grid--3col {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .grid--3col {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ================= Hatching timeline (split) ================= */
.timeline {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-3);
}
.timeline__row {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: var(--space-3);
  align-items: center;
}
.timeline__icon {
  width: 48px;
}

/* ===================== Zig-zag difficulty ===================== */
.zigzag {
  display: grid;
  gap: var(--space-5);
}
.zz {
  display: grid;
  gap: var(--space-3);
  align-items: center;
}
@media (min-width: 768px) {
  .zz {
    grid-template-columns: 1fr 1fr;
  }
  .zz:nth-child(even) .zz__text {
    order: -1;
  }
}

/* ======================= Perk 3-up band ======================= */
.perk-band {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: 1fr;
}
.perk {
  text-align: center;
  padding: var(--space-4);
  border: 1px solid var(--clr-divider);
  border-radius: var(--radius);
  background: linear-gradient(180deg, #12142a 0%, #0c0f1d 100%);
}
.perk h3 {
  font-family: var(--ff-display);
  font-weight: 400;
}
@media (min-width: 768px) {
  .perk-band {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ======================= Testimonials ======================= */
.section-testimonials .card-grid {
  align-items: stretch;
}
.testimonial blockquote {
  margin: 0;
  color: #e9ecf6;
}
.byline {
  margin-top: 0.5rem;
  color: var(--clr-text-muted);
}

/* ========================= FAQ ========================= */
.accordion .acc {
  border: 1px solid var(--clr-divider);
  border-radius: var(--radius);
  background: #101328;
  padding: 0.5rem var(--space-3);
}
.accordion .acc + .acc {
  margin-top: 0.75rem;
}
.accordion summary {
  cursor: pointer;
  font-weight: 700;
  color: #fff;
  outline: none;
  list-style: none;
}
.accordion summary::-webkit-details-marker {
  display: none;
}
.acc__content {
  padding: 0.5rem 0 0 0;
  color: var(--clr-text-muted);
}

/* ===================== Download section ===================== */
.section-download .store-links {
  display: flex;
  gap: var(--space-3);
  flex-wrap: wrap;
  justify-content: center;
  margin-top: var(--space-3);
}
.section-download .microcopy {
  text-align: center;
  color: var(--clr-text-muted);
  margin-top: 0.75rem;
}

/* ===================== Parental notes ===================== */
.section-notes .notes {
  display: grid;
  gap: 0.5rem;
  background: #0f1223;
  border: 1px dashed #3a3f63;
  padding: var(--space-3);
  border-radius: var(--radius);
}

/* ===================== Footer (unique layout) ===================== */
.site-footer {
  margin-top: var(--space-7);
  border-top: 1px solid var(--clr-divider);
  background: linear-gradient(180deg, #101327 0%, #0b0d1b 100%);
}
.footer__wrap {
  display: grid;
  gap: var(--space-5);
  grid-template-columns: 1fr;
  padding-block: var(--space-6);
}
.footer__panel .footer__title {
  margin: 0 0 0.5rem 0;
  font-family: var(--ff-display);
  font-weight: 400;
  font-size: 1.25rem;
}
.footer__nav {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.4rem;
}
.footer__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.4rem;
}
.footer__mark {
  width: 156px;
}

@media (min-width: 768px) {
  .footer__wrap {
    grid-template-columns: 1.2fr 1fr 1fr 1.3fr;
  }
}

.footer__bottom {
  border-top: 1px solid var(--clr-divider);
  background: #0a0c19;
  padding-block: 0.75rem;
}
.footer__bottom__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.footer__motto {
  color: var(--clr-text-muted);
}

/* ===================== Tables wrapper ===================== */
.table-wrap {
  overflow: auto;
}

/* ===================== Media Queries ===================== */
@media (min-width: 768px) and (max-width: 1023px) {
  /* tablet tweaks if needed */
}
@media (min-width: 1024px) {
  .section-hero .hero__content {
    padding-bottom: var(--space-7);
  }
}

/* ================= HERO BG / FULL-BLEED IMAGE ================= */
.section-hero {
  position: relative;
  min-height: clamp(520px, 70vh, 820px);
  display: grid;
  align-items: end;
  overflow: hidden;
}
.section-hero .hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.section-hero .hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section-hero::after {
  /* soft readable overlay (no external image) */
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 9, 18, 0.35) 0%, rgba(8, 9, 18, 0.65) 65%, rgba(8, 9, 18, 0.9) 100%);
  z-index: 0;
}
.section-hero .hero__content {
  position: relative;
  z-index: 1;
  padding-bottom: min(12vh, 5rem);
}

/* =============== CARD PADDING & EDGE SPACING =============== */
.card figure + * {
  margin-top: var(--space-3);
}
.card h3,
.card p,
.card blockquote,
.card .byline {
  padding-inline: var(--space-3);
}
.card blockquote p {
  margin: 0 0 0.5rem 0;
}
.card .byline {
  padding-bottom: var(--space-3);
}

/* give images a subtle division from text */
.card figure {
  border-bottom: 1px solid var(--clr-divider);
}

/* ================== COMMONLY USED STRUCTURES ================== */
.avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}
.testimonial {
  display: grid;
  gap: var(--space-2);
  border-top-left-radius: 40px;
}
.testimonial blockquote {
  color: #e9ecf6;
}
.testimonial .byline {
  color: var(--clr-text-muted);
  font-size: 0.95rem;
}

/* =================== SECTION DOWNLOAD (WITH BG) =================== */
/* Note: In HTML, wrap a figure.section__bg > img inside .section-download (same pattern as other sections).
   This keeps your “all images must be in HTML” rule. */
.section-download {
  position: relative;
  overflow: hidden;
  text-align: center;
}
.section__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.section__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(105%) contrast(105%);
}
.section-download::after {
  /* legibility overlay */
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 10, 24, 0.75), rgba(8, 10, 24, 0.85));
  z-index: 0;
}
.section-download h2,
.section-download p,
.section-download .store-links,
.section-download .microcopy {
  text-align: center;
}

/* ============== ALTERNATING SECTION BACKGROUNDS/ACCENTS ============== */
.section-what {
  background: linear-gradient(180deg, #11142a 0%, #0c0f1f 100%);
}
.section-coreloop {
  background: #0f1223;
}
.section-units {
  background: linear-gradient(180deg, #0c0f1d 0%, #101327 100%);
}
.section-hatching {
  background: #0e1020;
}
.section-difficulty {
  background: linear-gradient(180deg, #101327 0%, #0b0d1b 100%);
}
.section-perks {
  background: #0e1020;
}
.section-testimonials {
  background: linear-gradient(180deg, #0b0d1b 0%, #0a0c19 100%);
}
.section-faq {
  background: #0c0f1d;
}

/* =================== SECTION CTA (SPACING & CENTER) =================== */
.section-cta,
.section-cta .section-cta,
.section .section-cta {
  margin-top: var(--space-5);
  text-align: center;
}

/* ================= BUTTON: WHITE TEXT ON HOVER ================= */
.btn:hover,
.btn:focus {
  color: var(--clr-card) !important;
}
.btn--secondary:hover,
.btn--secondary:focus {
  color: #fff !important;
}

/* =================== ACCORDION PLUS/MINUS ICON =================== */
.accordion .acc {
  position: relative;
}
.accordion summary {
  position: relative;
  padding-right: 2rem; /* space for the icon */
}
.accordion summary::after {
  content: "+";
  position: absolute;
  right: 0.25rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.25rem;
  height: 1.25rem;
  line-height: 1.2rem;
  text-align: center;
  border-radius: 6px;
  font-weight: 700;
  color: #0a0c19;
  background: var(--clr-primary);
  transition: transform var(--tr-fast), background var(--tr-fast), color var(--tr-fast);
}
.accordion details[open] summary::after {
  content: "–";
  transform: translateY(-50%) rotate(0.0001deg);
  background: var(--clr-accent);
  color: #fff;
}

/* ============== OPTIONAL: SOFTER SECTION TOP/BOTTOM VARIATION ============== */
.section {
  /* subtle divider shadow between sections for depth */
  box-shadow: 0 -1px 0 0 rgba(255, 255, 255, 0.035) inset, 0 1px 0 0 rgba(0, 0, 0, 0.3) inset;
  position: relative;
  margin: 0;
}

/* ============== TIGHT EDGE CASES (EXTRA BREATHING ROOM) ============== */
.card h3 {
  margin: 0.35rem 0 0.25rem;
}
.card p {
  margin: 0 0 0.6rem;
}
.section-testimonials .card .byline {
  margin-top: 0.4rem;
}

/* === reviews.html — incremental styles (append to style.css) === */

/* Section theming for reviews page */
.section-review-highlights {
  background: linear-gradient(180deg, #0e1020 0%, #0b0d1b 100%);
}
.section-quote-grid {
  background: #0c0f1d;
}
.section-snippets {
  background: linear-gradient(180deg, #0a0c19 0%, #0e1020 100%);
}
.section-replay {
  background: #0c0f1f;
}
.section-wishlist {
  background: linear-gradient(180deg, #0f1223 0%, #0b0d1b 100%);
}
.section-perf {
  background: var(--clr-accent-600);
  text-align: center;
}
.section-tips {
  background: #0e1020;
}
.section-submit-review {
  background: linear-gradient(180deg, #0b0d1b 0%, #101327 100%);
}

/* Generic grids used on this page */
.grid {
  display: grid;
  gap: var(--space-4);
}

@media (min-width: 768px) {
  .grid--2col {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1024px) {
  .grid--3col {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Stat / highlight tiles */
.section-review-highlights .card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  padding: var(--space-3) 0 var(--space-3);
  backdrop-filter: blur(6px);
  transition: transform var(--tr-fast), box-shadow var(--tr-fast), border-color var(--tr-fast);
}
.section-review-highlights .card:hover {
  transform: translateY(-3px);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.35);
}
.section-review-highlights .icon {
  width: 72px;
  margin: var(--space-3) auto 0;
}
.section-review-highlights h3 {
  text-align: center;
  margin: var(--space-3) 0 var(--space-2);
}
.section-review-highlights p {
  text-align: center;
  padding-inline: var(--space-4);
}

/* Player quotes (2×3) */
.section-quote-grid .card {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: var(--space-2);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
  overflow: hidden;
  transition: transform var(--tr-fast), border-color var(--tr-fast), box-shadow var(--tr-fast);
}
.section-quote-grid .card:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.35);
}
.section-quote-grid blockquote {
  padding: 0 var(--space-4);
  color: #e9ecf6;
}
.section-quote-grid .byline {
  text-align: center;
  padding-bottom: var(--space-3);
  color: var(--clr-text-muted);
}
.section-quote-grid .avatar {
  border: 2px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  overflow: hidden;
}

/* Snippets (stores/press) */
.section-snippets .card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  overflow: hidden;
  transition: border-color var(--tr-fast), transform var(--tr-fast);
  padding: 16px;
}
.section-snippets .card:hover {
  border-color: rgba(255, 255, 255, 0.16);
  transform: translateY(-3px);
}
.section-snippets .card figure {
  border: 0;
}
.section-snippets .card h2 {
  text-align: center;
}

/* Replayability + bullets */
.section-replay .bullets,
.section-wishlist .bullets,
.section-tips .bullets {
  display: grid;
  gap: 0.65rem;
  padding-left: 1.25rem;
}
.section-tips .bullets {
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 767px) {
  .section-tips .bullets {
    grid-template-columns: 1fr;
  }
}
.section-replay .bullets li,
.section-wishlist .bullets li,
.section-tips .bullets li {
  position: relative;
  list-style: none;
  padding-left: 1.25rem;
}
.section-replay .bullets li::before,
.section-wishlist .bullets li::before,
.section-tips .bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5rem;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 2px;
  background: var(--clr-accent);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.04);
}

/* Performance note block */
.section-perf p {
  max-width: 70ch;
  margin: auto;
}

/* Submit review form */
.form-review {
  display: grid;
  gap: var(--space-4);
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  padding: var(--space-4);
}
.form-review .grid--2col .col {
  display: grid;
  gap: 0.5rem;
}
.form-review label {
  font-weight: 500;
  color: #d8dcee;
}
.form-review input[type="text"],
.form-review input[type="email"],
.form-review textarea {
  background: rgba(8, 10, 24, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 0.9rem 1rem;
  color: #fff;
  outline: none;
  transition: border-color var(--tr-fast), box-shadow var(--tr-fast);
}
.form-review input[type="text"]:focus,
.form-review input[type="email"]:focus,
.form-review textarea:focus {
  border-color: var(--clr-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--clr-primary) 25%, transparent);
}
.form-review .form__checkbox {
  font-size: 0.95rem;
  color: var(--clr-text-muted);
}
.form-review .btn {
  justify-self: start;
}
@media (max-width: 767px) {
  .form-review .btn {
    justify-self: stretch;
    text-align: center;
  }
}

/* CTA band back to gameplay */
.section-cta .btn {
  margin-top: var(--space-2);
}

/* Generic form row styling */
.form-row {
  display: grid;
  gap: 0.65rem;
}

.form-row label {
  font-weight: 500;
  color: #d8dcee;
  font-size: 0.95rem;
}

.form-row input[type="text"],
.form-row input[type="email"],
.form-row input[type="password"],
.form-row select,
.form-row textarea {
  background: rgba(8, 10, 24, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 0.9rem 1rem;
  color: #fff;
  font-size: 0.95rem;
  outline: none;
  transition: border-color var(--tr-fast), box-shadow var(--tr-fast);
}

.form-row input[type="text"]:focus,
.form-row input[type="email"]:focus,
.form-row input[type="password"]:focus,
.form-row select:focus,
.form-row textarea:focus {
  border-color: var(--clr-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--clr-primary) 25%, transparent);
}

/* For checkboxes & radios inside .form-row */
.form-row--inline {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.form-row--inline input[type="checkbox"],
.form-row--inline input[type="radio"] {
  width: 18px;
  height: 18px;
  accent-color: var(--clr-primary);
}

/* === gameplay.html — incremental styles (append to style.css) === */

/* Section themes for gameplay page */
.section-placement {
  background: linear-gradient(180deg, #0e1020 0%, #0b0d1b 100%);
}
.section-economy {
  background: #0c0f1d;
}
.section-enemies {
  background: linear-gradient(180deg, #0a0c19 0%, #0f1223 100%);
}
.section-hatching {
  background: #0e1020;
}
.section-roguelike {
  background: linear-gradient(180deg, #0b0d1b 0%, #101327 100%);
}
.section-boss {
  background: #0c0f1d;
}
.section-loadouts {
  background: linear-gradient(180deg, #0f1223 0%, #0b0d1b 100%);
}
.section-mistakes {
  background: #0e1020;
}
.section-glossary {
  background: #0c0f1d;
}

/* Grids specific to this page */
.grid {
  display: grid;
  gap: var(--space-4);
}
.grid--2col {
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .grid--2col {
    grid-template-columns: 1fr 1fr;
  }
}
.card-grid {
  display: grid;
  gap: var(--space-4);
}

/* Placement diagram + bullets */
.section-placement .aspect-16-9 {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
}
.section-placement .bullets {
  display: grid;
  gap: 0.7rem;
  padding-left: 1.1rem;
}
.section-placement .bullets li {
  list-style: none;
  position: relative;
  padding-left: 1.1rem;
}
.section-placement .bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55rem;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 2px;
  background: var(--clr-accent);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.04);
}

/* Economy & Upgrades */
.section-economy .taglist {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.section-economy .tag {
  display: inline-block;
  padding: 0.4rem 0.7rem;
  border-radius: 999px;
  font-size: 0.85rem;
  color: #e9ecf6;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.09);
}

/* Enemy Types row */
.icon-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-3);
  margin-block: var(--space-3);
}
@media (min-width: 768px) {
  .icon-row {
    grid-template-columns: repeat(3, 1fr);
  }
}
.icon-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: var(--space-3);
  text-align: center;
  transition: transform var(--tr-fast), border-color var(--tr-fast), box-shadow var(--tr-fast);
}
.icon-card:hover {
  transform: translateY(-3px);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.35);
}
.icon-card figure {
  width: 80px;
  margin-inline: auto;
  margin-bottom: 0.5rem;
}

/* Hatching timeline */
.section-hatching .aspect-21-9 {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.section-hatching .bullets {
  display: grid;
  gap: 0.6rem;
  padding-left: 1.1rem;
}
.section-hatching .bullets li {
  list-style: none;
  position: relative;
  padding-left: 1rem;
}
.section-hatching .bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6rem;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--clr-primary);
}

/* Roguelike perks */
.section-roguelike .card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  overflow: hidden;
  transition: transform var(--tr-fast), border-color var(--tr-fast), box-shadow var(--tr-fast);
}
.section-roguelike .card:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.35);
}
.section-roguelike .card figure {
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* Boss callout */
.callout {
  border: 1px dashed color-mix(in srgb, var(--clr-accent) 40%, #ffffff 0%);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.025));
  border-radius: 16px;
  padding: var(--space-3);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28) inset;
}

/* Loadouts cards */
.section-loadouts .card {
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: var(--space-3);
}
.section-loadouts .bullets {
  display: grid;
  gap: 0.55rem;
  padding-left: 1.1rem;
}
.section-loadouts .bullets li {
  list-style: disc;
}

/* Mistakes list */
.section-mistakes .bullets {
  display: grid;
  gap: 0.55rem;
  padding-left: 1.1rem;
}
.section-mistakes .bullets li {
  list-style: none;
  position: relative;
  padding-left: 1.5rem;
}
.section-mistakes .bullets li::before {
  content: "!";
  position: absolute;
  left: 0;
  top: 0.1rem;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 100%;
  display: grid;
  place-items: center;
  font-weight: 700;
  background: var(--clr-danger, #e64e4e);
  color: #fff;
  font-size: 0.7rem;
}

/* Glossary two-column */
.section-glossary .grid--2col p {
  margin: 0.35rem 0;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  padding: 0.75rem 0.9rem;
}

/* === details.html — incremental styles (append to style.css) === */

/* Section themes for details page */
.section-premise {
  background: #0c0f1d;
}
.section-roster {
  background: linear-gradient(180deg, #0b0d1b 0%, #101327 100%);
}
.section-milestones {
  background: #0e1020;
}
.section-hatch-panel {
  background: linear-gradient(180deg, #0a0c19 0%, #0e1020 100%);
}
.section-enemy-arch {
  background: #0c0f1d;
}
.section-paths {
  background: linear-gradient(180deg, #0f1223 0%, #0b0d1b 100%);
}
.section-status {
  background: #0e1020;
}
.section-journey {
  background: #0c0f1d;
}
.section-cta {
  background: linear-gradient(180deg, #0b0d1b 0%, #101327 100%);
  text-align: center;
}

/* Roster grid 2×3 */
.card-grid.grid--2x3 {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .card-grid.grid--2x3 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1024px) {
  .card-grid.grid--2x3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

.unit-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: var(--space-3);
  text-align: center;
  transition: transform var(--tr-fast), border-color var(--tr-fast), box-shadow var(--tr-fast);
}
.unit-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.35);
}
.unit-card .unit-icon {
  width: 140px;
  margin-inline: auto;
  margin-bottom: 0.5rem;
  border-radius: 14px;
  overflow: hidden;
}

/* Milestones row */
.milestones-row {
  display: grid;
  gap: var(--space-3);
  grid-template-columns: 1fr;
  text-align: center;
}
@media (min-width: 768px) {
  .milestones-row {
    grid-template-columns: repeat(3, 1fr);
  }
}
.milestone {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: var(--space-3);
}
.milestone figure {
  width: 64px;
  margin: 0 auto var(--space-2);
}

/* Hatch panel before/after */
.grid--2col {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .grid--2col {
    grid-template-columns: 1fr 1fr;
  }
}

.section-hatch-panel .panel {
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: var(--space-3);
}
.section-hatch-panel .bullets {
  display: grid;
  gap: 0.6rem;
  padding-left: 1.1rem;
}
.section-hatch-panel .bullets li {
  list-style: none;
  position: relative;
  padding-left: 1rem;
}
.section-hatch-panel .bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6rem;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--clr-primary);
}

/* Enemy archetypes list */
.section-enemy-arch .enemy-item {
  display: grid;
  grid-template-columns: 56px auto;
  gap: 0.9rem;
  align-items: start;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  padding: 0.75rem 0.9rem;
  margin-bottom: 0.75rem;
}
.section-enemy-arch .enemy-item figure {
  width: 56px;
  border-radius: 10px;
  overflow: hidden;
}

/* Upgrade paths vertical cards */
.card-stack {
  display: grid;
  gap: var(--space-4);
}
@media (min-width: 1024px) {
  .card-stack {
    grid-template-columns: repeat(3, 1fr);
  }
}
.path-card {
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: var(--space-3);
}
.path-card .bullets {
  display: grid;
  gap: 0.55rem;
  padding-left: 1.1rem;
}
.path-card .bullets li {
  list-style: disc;
}

/* Status badges row */
.badge-row {
  display: grid;
  gap: var(--space-3);
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .badge-row {
    grid-template-columns: repeat(3, 1fr);
  }
}
.badge {
  display: grid;
  grid-template-columns: 48px auto;
  gap: 0.8rem;
  align-items: center;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 0.8rem;
}
.badge figure {
  width: 40px;
}

/* Journey block */
.section-journey p {
  max-width: 70ch;
}

/* CTA center */
.section-cta .btn {
  margin-top: var(--space-2);
}

/* === about.html — incremental styles (append to style.css) === */

/* Section themes */
.section-pillars {
  background: linear-gradient(180deg, #0b0d1b 0%, #101327 100%);
}
.section-timeline-about {
  background: #0e1020;
}
.section-platforms {
  background: linear-gradient(180deg, #0a0c19 0%, #0e1020 100%);
}
.section-press {
  background: #0c0f1d;
}
.about-cta {
  background: linear-gradient(180deg, #0b0d1b 0%, #101327 100%);
  text-align: center;
}

/* Pillars */
.section-pillars .section-intro {
  max-width: 70ch;
}
.pillars-grid {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: 1fr;
}
@media (min-width: 1024px) {
  .pillars-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.pillar-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: var(--space-3);
  text-align: center;
  transition: transform var(--tr-fast), border-color var(--tr-fast), box-shadow var(--tr-fast);
}
.pillar-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.35);
}
.pillar-card .pillar-icon {
  width: 72px;
  margin-inline: auto;
  margin-bottom: 0.5rem;
}

/* Timeline band */
.timeline-band {
  display: grid;
  gap: var(--space-3);
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .timeline-band {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .timeline-band {
    grid-template-columns: repeat(4, 1fr);
  }
}
.t-card {
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: var(--space-3);
  text-align: center;
}
.t-card figure {
  width: 60px;
  margin: 0 auto 0.5rem;
}

/* Platforms table */
.table-wrap {
  overflow: auto;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.table-compat {
  width: 100%;
  border-collapse: collapse;
  min-width: 640px;
  background: rgba(255, 255, 255, 0.03);
}
.table-compat th,
.table-compat td {
  padding: 0.9rem 1rem;
  text-align: left;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.table-compat thead th {
  background: rgba(255, 255, 255, 0.06);
  font-weight: 600;
}
.table-compat tbody tr:hover {
  background: rgba(255, 255, 255, 0.04);
}
.section-platforms .note {
  margin-top: 0.75rem;
  color: #c9cee5;
  font-size: 0.95rem;
}

/* Press summary */
.section-press p {
  max-width: 70ch;
}

/* CTA */
.about-cta .btn {
  margin-top: var(--space-2);
}

/* === contact.html — incremental styles (append to style.css) === */

/* Page theming */
.section-support-topics {
  background: linear-gradient(180deg, #0b0d1b 0%, #101327 100%);
}
.section-contact-form {
  background: #0e1020;
}
.section-faq-contact {
  background: linear-gradient(180deg, #0a0c19 0%, #0e1020 100%);
}
.section-hq {
  background: #0c0f1d;
}
.section-info-notes {
  background: #0e1020;
}
.contact-cta {
  background: linear-gradient(180deg, #0b0d1b 0%, #101327 100%);
  text-align: center;
}

/* Support topics grid */
.topics-grid {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .topics-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .topics-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.topic-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: var(--space-3);
  text-align: left;
  transition: transform var(--tr-fast), border-color var(--tr-fast), box-shadow var(--tr-fast);
}
.topic-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.35);
}
.topic-card .topic-icon {
  width: 60px;
  margin-bottom: 0.5rem;
}

/* Contact form */
.form-contact {
  max-width: 920px;
}
.form-row {
  display: grid;
  gap: var(--space-3);
  grid-template-columns: 1fr;
}

.form-field {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.form-field--full {
  grid-column: 1 / -1;
}
.form-field input,
.form-field textarea {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #e9ecf6;
  border-radius: 12px;
  padding: 0.9rem 1rem;
  outline: none;
  transition: border-color var(--tr-fast), box-shadow var(--tr-fast);
}

.form-checkbox {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-top: 0.75rem;
  margin-bottom: var(--space-2);
}
.form-checkbox a {
  text-decoration: underline;
}

/* Accordion (FAQs) */
.accordion .acc-item {
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 0.25rem 0.75rem;
}
.accordion .acc-item + .acc-item {
  margin-top: 0.75rem;
}
.accordion summary {
  list-style: none;
  cursor: pointer;
  padding: 0.85rem 0.5rem;
  position: relative;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.accordion summary::-webkit-details-marker {
  display: none;
}

.accordion .acc-body {
  padding: 0 0.5rem 1rem 0.5rem;
  color: #cbd1ea;
}

/* HQ grid + map */
.hq-grid {
  display: grid;
  gap: var(--space-3);
  grid-template-columns: 1fr;
}
@media (min-width: 1024px) {
  .hq-grid {
    grid-template-columns: 1fr 1.2fr;
  }
}
.hq-info p + p {
  margin-top: 0.4rem;
}
.map-wrap {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
}

/* Info notes */
.info-grid {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: 1fr;
}
@media (min-width: 1024px) {
  .info-grid {
    grid-template-columns: 1fr 1fr;
  }
}
.info-col {
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: var(--space-3);
}

.hero-inner {
  position: relative;
  padding: clamp(3rem, 6vw, 5rem) 0;
  text-align: center;
  overflow: hidden;
}
.hero-inner--gradient {
  background: radial-gradient(1200px 600px at 10% 10%, color-mix(in srgb, var(--clr-accent) 35%, #000 0%) 0%, transparent 60%), radial-gradient(900px 500px at 90% 20%, color-mix(in srgb, var(--clr-primary) 35%, #000 0%) 0%, transparent 65%), linear-gradient(180deg, #0b0d1b 0%, #101327 100%);
}
.hero-inner h1 {
  margin-bottom: 0.35rem;
}
.hero-inner .lead {
  color: #cbd1ea;
}

.section-inner {
  padding: clamp(2rem, 5vw, 3rem) 0;
  background: #0e1020;
}
.section-inner:nth-of-type(odd) {
  background: #0c0f1d;
}

/* Legal grids & columns */
.legal-grid {
  display: grid;
  gap: var(--space-3);
  grid-template-columns: 1fr;
}
@media (min-width: 1024px) {
  .legal-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.legal-card {
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: var(--space-3);
}
.policy-list {
  padding-left: 1.1rem;
}
.policy-list li + li {
  margin-top: 0.35rem;
}

.legal-columns {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: 1fr;
}
@media (min-width: 1024px) {
  .legal-columns {
    grid-template-columns: 1fr 1fr;
  }
}

/* CTA band */
.section-cta {
  text-align: center;
  padding: clamp(2rem, 5vw, 3rem) 0;
  background: linear-gradient(180deg, #0b0d1b 0%, #101327 100%);
}
.section-cta .btn + .btn {
  margin-left: 0.75rem;
}

/* Buttons for thank-you */
.btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1rem;
}
.btn--ghost {
  --btn-bg: transparent;
  --btn-color: #e9ecf6;
  --btn-border: rgba(255, 255, 255, 0.28);
  border: 1px solid var(--btn-border);
  background: var(--btn-bg);
  color: var(--btn-color);
  border-radius: 999px;
  padding: 0.85rem 1.2rem;
  display: inline-grid;
  place-items: center;
  text-align: center;
  transition: transform var(--tr-fast), background-color var(--tr-fast), color var(--tr-fast), border-color var(--tr-fast);
}
.btn--ghost:hover {
  color: #0b0d1b;
  background: #e9ecf6;
  border-color: #e9ecf6;
}

iframe {
  border: 2px solid var(--clr-primary);
  border-radius: 20px;
}
