:root {
  --lz-navy: #050b2f;
  --lz-navy-2: #090f3f;
  --lz-deep: #10144b;
  --lz-purple: #7d5cff;
  --lz-violet: #a174ff;
  --lz-blue: #49a7ff;
  --lz-teal: #4bd4d6;
  --lz-gold: #ffd663;
  --lz-amber: #ffbb45;
  --lz-ink: #11133f;
  --lz-muted: #6d7195;
  --lz-soft: #f6f7ff;
  --lz-border: #e7e9f5;
  --lz-white: #fff;
  --lz-radius: 22px;
  --lz-shadow: 0 24px 70px rgba(10, 14, 67, .15);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--lz-ink);
  background: #fff;
  line-height: 1.5;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
.lz-container { width: min(1500px, calc(100% - 100px)); margin: 0 auto; }
.lz-skip { position: absolute; left: -999px; top: 8px; background: #fff; color: #111; padding: 8px 12px; z-index: 999; }
.lz-skip:focus { left: 8px; }

/* Header */
.lz-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  color: #fff;
  background: rgba(5, 10, 45, .78);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.lz-header-inner { min-height: 64px; display: flex; align-items: center; gap: 28px; }
.lz-brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 900; letter-spacing: -.035em; white-space: nowrap; }
.lz-logo-mark { width: 33px; height: 33px; border-radius: 50%; display: grid; place-items: center; color: var(--lz-gold); font-size: 27px; line-height: 1; text-shadow: 0 0 22px rgba(255, 214, 99, .95); }
.lz-brand-copy { display: flex; flex-direction: column; line-height: 1; gap: 3px; }
.lz-logo-text { font-size: 28px; line-height: .92; color: #fff; }
.lz-logo-sub { font-size: 9px; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; color: rgba(255,255,255,.68); white-space: nowrap; }
.lz-nav { display: flex; align-items: center; justify-content: center; gap: 34px; margin-left: auto; font-size: 14px; font-weight: 800; }
.lz-nav a { opacity: .86; padding: 23px 0; position: relative; }
.lz-nav a:hover, .lz-nav a.is-active { opacity: 1; }
.lz-nav a.is-active::after { content: ""; position: absolute; left: 0; right: 0; bottom: 14px; height: 3px; border-radius: 2px; background: var(--lz-gold); }
.lz-header-cta { background: linear-gradient(135deg, #ffe47a, #ffc955); color: #12133d; font-weight: 900; border-radius: 999px; padding: 13px 25px; box-shadow: 0 14px 35px rgba(255,214,99,.24); }
.lz-menu-toggle { display: none; background: transparent; border: 0; margin-left: auto; padding: 8px; }
.lz-menu-toggle span { display: block; width: 24px; height: 2px; background: #fff; margin: 5px; }

/* Hero */
.lz-hero {
  position: relative;
  overflow: hidden;
  padding-top: 64px;
  color: #fff;
  min-height: 555px;
  background:
    radial-gradient(circle at 77% 26%, rgba(127, 87, 255, .58), transparent 34%),
    radial-gradient(circle at 55% 45%, rgba(45, 180, 228, .28), transparent 24%),
    linear-gradient(135deg, #030728, #070b38 42%, #142678 100%);
}
.lz-hero::before {
  content: "";
  position: absolute;
  inset: 64px 0 0;
  background-image: radial-gradient(circle, rgba(255,255,255,.78) 0 1px, transparent 1.45px);
  background-size: 54px 54px;
  opacity: .16;
}
.lz-hero-bg { position: absolute; inset: 0; background: radial-gradient(circle at 91% 39%, rgba(255,185,69,.16), transparent 23%); pointer-events: none; }
.lz-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(390px, 530px) minmax(0, 1fr);
  gap: 0;
  align-items: center;
  min-height: 490px;
  padding: 34px 0 86px;
}
.lz-hero-copy { position: relative; z-index: 4; }
.lz-hero-eyebrow { display: none; }
.lz-hero-copy h1 { margin: 0 0 18px; font-size: clamp(58px, 6vw, 92px); line-height: .98; letter-spacing: -.06em; font-weight: 950; }
.lz-hero-copy h1 span { color: var(--lz-gold); text-shadow: 0 0 24px rgba(255,214,99,.24); }
.lz-lead { max-width: 545px; color: rgba(255,255,255,.88); font-size: 19px; line-height: 1.42; margin: 0 0 22px; }
.lz-hero-trust, .lz-mini-trust { display: flex; flex-wrap: wrap; gap: 22px; color: rgba(255,255,255,.9); font-size: 13px; font-weight: 800; }
.lz-hero-actions { display: flex; flex-wrap: wrap; gap: 18px; margin: 30px 0 21px; }
.lz-btn { display: inline-flex; align-items: center; justify-content: center; gap: 13px; min-height: 56px; padding: 0 30px; border-radius: 16px; font-weight: 950; border: 1px solid transparent; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.lz-btn:hover { transform: translateY(-2px); }
.lz-btn-primary { background: linear-gradient(135deg, #ffe275, #ffc84f); color: #12133d; box-shadow: 0 16px 38px rgba(255, 214, 99, .27); }
.lz-btn-ghost { border-color: rgba(255,255,255,.42); color: #fff; background: rgba(255,255,255,.06); }
.lz-hero-art {
  height: 440px;
  min-height: 440px;
  position: relative;
  border-radius: 0;
  overflow: hidden;
  isolation: isolate;
  margin-left: -56px;
  margin-right: -82px;
  background-image: url('../img/pfc-hero-scene-clean.png');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center right;
  filter: none;
}
.lz-hero-art::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,8,38,.84) 0%, rgba(4,8,38,.30) 17%, rgba(4,8,38,0) 38%), linear-gradient(180deg, rgba(11,15,60,.18) 0%, rgba(11,15,60,0) 18%, rgba(11,15,60,0) 78%, rgba(42,30,118,.32) 100%); pointer-events: none; z-index: 2; }
.lz-hero-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,10,47,1) 0%, rgba(5,10,47,.72) 4%, rgba(5,10,47,0) 16%, rgba(5,10,47,0) 84%, rgba(37,24,103,.45) 96%, rgba(37,24,103,.72) 100%), linear-gradient(180deg, rgba(7,10,52,.08) 0%, rgba(7,10,52,0) 10%, rgba(7,10,52,0) 82%, rgba(36,30,110,.58) 100%); pointer-events: none; z-index: 3; }
.lz-hero-art > * { display: none; }
.lz-hero-wave { position: absolute; left: -4%; right: -4%; bottom: -64px; height: 132px; background: #fff; border-radius: 50% 50% 0 0 / 42% 42% 0 0; z-index: 3; transform: rotate(-2.2deg); }

/* Sections */
.lz-section { padding: 26px 0; background: #fff; }
.lz-steps-section { padding-top: 16px; }
.lz-section-heading { text-align: center; margin-bottom: 22px; }
.lz-section-heading h2, .lz-safety-intro h2, .lz-bottom-cta h2, .lz-form-section h2 { font-size: clamp(30px, 3.5vw, 38px); line-height: 1.08; letter-spacing: -.04em; margin: 0 0 8px; }
.lz-section-heading p { color: var(--lz-muted); margin: 0; font-size: 15px; }

/* Steps */
.lz-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; position: relative; }
.lz-steps::before { content: ""; position: absolute; top: 74px; left: 12%; right: 12%; border-top: 2px dashed #cfd6ef; z-index: 0; }
.lz-step { position: relative; z-index: 1; background: #fff; border: 1px solid var(--lz-border); border-radius: 18px; padding: 26px 24px 24px; text-align: center; min-height: 190px; box-shadow: 0 12px 30px rgba(15, 18, 75, .04); }
.lz-step-icon { width: 62px; height: 62px; display: grid; place-items: center; border-radius: 50%; margin: 0 auto 15px; font-size: 25px; }
.lz-step-icon.purple { background: #efe7ff; color: var(--lz-purple); }
.lz-step-icon.blue { background: #e4f2ff; color: var(--lz-blue); }
.lz-step-icon.teal { background: #dffafb; color: #0fa4a7; }
.lz-step-icon.gold { background: #fff2ca; color: #e3a914; }
.lz-step h3 { font-size: 16px; margin: 0 0 7px; line-height: 1.25; }
.lz-step p { margin: 0; color: #4d5277; font-size: 14px; line-height: 1.35; }

/* Safety */
.lz-safety-band { background: linear-gradient(180deg, #fff, #fbf9ff); padding: 12px 0 24px; }
.lz-safety-grid { display: grid; grid-template-columns: 310px 1fr; gap: 28px; background: rgba(250,248,255,.96); border: 1px solid rgba(132,112,255,.16); border-radius: 24px; padding: 29px 34px; box-shadow: 0 14px 36px rgba(27,24,80,.06); }
.lz-safety-intro { display: grid; grid-template-columns: 56px 1fr; column-gap: 15px; align-content: center; }
.lz-shield { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: #eee7ff; font-size: 25px; }
.lz-safety-intro h2 { margin-top: 5px; }
.lz-safety-intro p { grid-column: 2; margin: 0; color: #555a7b; font-size: 16px; line-height: 1.42; }
.lz-safety-items { display: grid; grid-template-columns: repeat(5, 1fr); }
.lz-safety-items article { padding: 0 20px; border-left: 1px solid rgba(17,19,63,.1); text-align: center; }
.lz-safety-items span { display: inline-grid; place-items: center; width: 47px; height: 47px; margin-bottom: 10px; border-radius: 50%; color: var(--lz-purple); border: 1px solid rgba(125,92,255,.24); font-weight: 950; }
.lz-safety-items h3 { font-size: 15px; line-height: 1.22; margin: 0 0 6px; }
.lz-safety-items p { margin: 0; color: #5f6384; font-size: 13px; line-height: 1.36; }

/* Games */
.lz-games-section { padding-top: 18px; }
.lz-game-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.lz-game-card { overflow: hidden; background: #fff; border: 1px solid var(--lz-border); border-radius: 13px; box-shadow: 0 12px 26px rgba(15,18,75,.04); }
.lz-game-art { height: 124px; position: relative; overflow: hidden; background-repeat: no-repeat; background-size: cover; background-position: center; }
.lz-game-art::before { display: none; }
.lz-game-art span { display: none; }
.art-relay { background-image: url('../img/pfc-game-light-relay.jpg'); }
.art-bridge { background-image: url('../img/pfc-game-bridge-builders.jpg'); }
.art-sync { background-image: url('../img/pfc-game-sync-paths.jpg'); }
.art-star { background-image: url('../img/pfc-game-star-garden.jpg'); }
.lz-game-body { position: relative; padding: 13px 16px 17px; min-height: 76px; }
.lz-game-body h3 { margin: 0 0 4px; font-size: 16px; line-height: 1.1; }
.lz-game-body p { color: #505678; font-size: 13px; margin: 0; max-width: 76%; line-height: 1.32; }
.lz-game-body b { position: absolute; right: 14px; bottom: 15px; background: #eef4ff; color: #367ed0; border-radius: 9px; padding: 6px 9px; font-size: 12px; }

/* Partners */
.lz-partners { padding: 4px 0 36px; }
.lz-partner-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.lz-partner-card { display: grid; grid-template-columns: 86px 1fr; column-gap: 20px; align-items: center; border: 1px solid var(--lz-border); border-radius: 16px; padding: 20px; min-height: 130px; background: #fff; }
.lz-partner-card span { grid-row: 1 / span 3; width: 72px; height: 72px; display: grid; place-items: center; border-radius: 50%; font-size: 31px; }
.lz-partner-card h3, .lz-partner-card p, .lz-partner-card a { grid-column: 2; }
.lz-partner-card h3 { margin: 0 0 5px; font-size: 17px; line-height: 1.1; }
.lz-partner-card p { margin: 0 0 6px; font-size: 13px; line-height: 1.32; color: #515679; }
.lz-partner-card a { font-size: 13px; font-weight: 950; color: #4657d5; }
.lz-partner-card.schools { background: #fbf9ff; } .lz-partner-card.schools span { background: #efe7ff; }
.lz-partner-card.cities { background: #f3fcfc; } .lz-partner-card.cities span { background: #dff8f9; }
.lz-partner-card.companies { background: #fffaf1; } .lz-partner-card.companies span { background: #fff0c2; }

/* Bottom CTA */
.lz-bottom-cta { padding: 0 0 18px; background: #fff; }
.lz-bottom-inner { display: grid; grid-template-columns: 250px 1fr auto; align-items: center; gap: 32px; background: radial-gradient(circle at 14% 48%, rgba(255,214,99,.30), transparent 17%), linear-gradient(135deg, #101062, #22129a 55%, #4b30d6); border-radius: 24px; color: #fff; min-height: 142px; padding: 24px 34px; overflow: hidden; }
.lz-bottom-inner h2 { font-size: 29px; margin: 0 0 4px; line-height: 1.05; }
.lz-bottom-inner p { margin: 0; color: rgba(255,255,255,.82); }
.lz-lantern { position: relative; width: 145px; height: 106px; }
.lz-lantern span { position: absolute; left: 54px; bottom: 14px; width: 46px; height: 56px; border-radius: 50% 50% 42% 42%; background: #fff2b1; box-shadow: 0 0 30px #fff3a7, 0 0 78px #ffd663; }
.lz-lantern::before { content: ""; position: absolute; left: 0; bottom: -22px; width: 175px; height: 92px; background: radial-gradient(ellipse at center, rgba(255,214,99,.36), transparent 62%); }
.lz-lantern::after { content: ""; position: absolute; left: 35px; top: 0; width: 86px; height: 82px; border: 3px solid rgba(255,214,99,.55); border-bottom: 0; border-radius: 50% 50% 0 0; box-shadow: 0 0 26px rgba(255,214,99,.20); }
.lz-bottom-actions { display: flex; gap: 14px; flex-wrap: wrap; justify-content: flex-end; }

/* Footer */
.lz-footer { background: #040a2d; color: rgba(255,255,255,.78); padding: 26px 0 20px; }
.lz-footer-grid { display: grid; grid-template-columns: 1.45fr repeat(4, 1fr); gap: 32px; }
.lz-brand-footer .lz-logo-text { color: #fff; }
.lz-brand-footer .lz-logo-sub { color: rgba(255,255,255,.56); }
.lz-footer p { color: rgba(255,255,255,.68); margin: 10px 0 0; }
.lz-footer h3 { color: #fff; margin: 0 0 12px; font-size: 14px; }
.lz-footer a { display: block; color: rgba(255,255,255,.72); font-size: 13px; margin: 8px 0; }
.lz-socials { display: flex; gap: 8px; margin-top: 16px; }
.lz-socials span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.08); font-size: 12px; }
.lz-copyright { color: rgba(255,255,255,.45); font-size: 12px; text-align: right; margin-top: 14px; }

/* Pages and lead form */
.lz-page { padding: 140px 0 80px; min-height: 60vh; }
.lz-page h1 { font-size: clamp(42px, 6vw, 70px); letter-spacing: -.055em; line-height: 1; margin: 0 0 24px; }
.lz-page-content { color: #4d5275; font-size: 18px; }
.lz-form-section { padding: 140px 0 70px; background: radial-gradient(circle at 92% 14%, rgba(125,92,255,.18), transparent 24%), linear-gradient(180deg, #fff, #f6f7ff); }
.lz-form-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 36px; align-items: start; }
.lz-eyebrow { display: inline-flex; background: #eafdfc; color: #0f8f91; border-radius: 999px; padding: 8px 12px; font-weight: 900; font-size: 13px; margin-bottom: 14px; }
.lz-check-list { padding-left: 0; list-style: none; color: #4d5275; }
.lz-check-list li { margin: 10px 0; padding-left: 28px; position: relative; }
.lz-check-list li::before { content: "✓"; position: absolute; left: 0; color: #12a9a9; font-weight: 900; }
.lz-lead-form { background: #fff; border: 1px solid var(--lz-border); border-radius: 24px; box-shadow: var(--lz-shadow); padding: 26px; display: grid; gap: 14px; }
.lz-lead-form label { display: grid; gap: 7px; font-weight: 800; font-size: 13px; color: #292d58; }
.lz-lead-form input, .lz-lead-form select, .lz-lead-form textarea { width: 100%; border: 1px solid #d9ddeb; border-radius: 12px; min-height: 46px; padding: 12px 14px; font: inherit; color: var(--lz-ink); background: #fbfcff; }
.lz-lead-form textarea { resize: vertical; }
.lz-alert { border-radius: 12px; padding: 12px 14px; font-weight: 800; font-size: 14px; }
.lz-success { background: #e9fff6; color: #04784d; }
.lz-error { background: #fff0f2; color: #b91c42; }

@media (max-width: 1180px) {
  .lz-container { width: min(100% - 56px, 1500px); }
  .lz-nav { gap: 20px; font-size: 13px; }
  .lz-logo-text { font-size: 24px; }
  .lz-header-cta { padding: 12px 18px; }
  .lz-hero-grid { grid-template-columns: minmax(340px, 470px) minmax(0, 1fr); }
  .lz-hero-art { margin-left: -36px; margin-right: -30px; }
}

@media (max-width: 1000px) {
  .lz-nav, .lz-header-cta { display: none; }
  .lz-menu-toggle { display: block; }
  .lz-nav.is-open { display: grid; position: absolute; left: 20px; right: 20px; top: 78px; background: rgba(5,10,45,.98); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; padding: 18px; gap: 0; }
  .lz-nav.is-open a { padding: 12px 0; }
  .lz-hero-grid { grid-template-columns: 1fr; padding-top: 40px; min-height: auto; }
  .lz-hero-art { height: 360px; min-height: 360px; margin: 8px 0 0; border-radius: 0; overflow: hidden; }
  .lz-steps, .lz-game-cards { grid-template-columns: repeat(2, 1fr); }
  .lz-steps::before { display: none; }
  .lz-safety-grid { grid-template-columns: 1fr; }
  .lz-safety-items { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .lz-safety-items article { border-left: 0; border-top: 1px solid rgba(17,19,63,.08); padding-top: 16px; }
  .lz-partner-cards, .lz-form-grid { grid-template-columns: 1fr; }
  .lz-bottom-inner { grid-template-columns: 1fr; text-align: center; }
  .lz-lantern { margin: 0 auto; }
  .lz-bottom-actions { justify-content: center; }
  .lz-footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .lz-container { width: min(100% - 30px, 1120px); }
  .lz-header-inner { min-height: 68px; }
  .lz-logo-text { font-size: 22px; }
  .lz-logo-sub { font-size: 8px; }
  .lz-hero { padding-top: 68px; min-height: auto; }
  .lz-hero-grid { padding-bottom: 56px; }
  .lz-hero-copy h1 { font-size: 50px; }
  .lz-lead { font-size: 16px; }
  .lz-hero-trust, .lz-mini-trust { gap: 11px; font-size: 12px; }
  .lz-hero-art { height: 285px; min-height: 285px; }
  .lz-steps, .lz-game-cards, .lz-safety-items, .lz-footer-grid { grid-template-columns: 1fr; }
  .lz-partner-card { grid-template-columns: 1fr; text-align: center; }
  .lz-partner-card span { grid-row: auto; margin: 0 auto 8px; }
  .lz-partner-card h3, .lz-partner-card p, .lz-partner-card a { grid-column: auto; }
  .lz-btn { width: 100%; }
  .lz-form-section { padding-top: 105px; }
}

/* v0.3.2 — hero image integrated into the header background */
.lz-hero {
  min-height: 690px;
  padding-top: 64px;
  background:
    radial-gradient(circle at 72% 36%, rgba(116, 84, 255, .42), transparent 34%),
    radial-gradient(circle at 86% 30%, rgba(255, 144, 196, .20), transparent 29%),
    linear-gradient(115deg, #05092e 0%, #07104d 43%, #17146a 100%);
}
.lz-hero::after {
  content: "";
  position: absolute;
  inset: 64px 0 0 34%;
  background-image:
    linear-gradient(90deg, rgba(5, 9, 46, 1) 0%, rgba(5, 9, 46, .82) 7%, rgba(5, 9, 46, .22) 24%, rgba(5, 9, 46, 0) 43%),
    linear-gradient(180deg, rgba(5, 9, 46, .18) 0%, rgba(5, 9, 46, 0) 48%, rgba(5, 9, 46, .16) 100%),
    url('../img/pfc-hero-scene-clean.png');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center right;
  opacity: .98;
  z-index: 1;
  pointer-events: none;
}
.lz-hero::before { z-index: 2; }
.lz-hero-bg {
  z-index: 2;
  background:
    radial-gradient(circle at 72% 35%, rgba(87, 178, 255, .22), transparent 25%),
    radial-gradient(circle at 91% 39%, rgba(255,185,69,.16), transparent 23%);
}
.lz-hero-grid {
  z-index: 4;
  min-height: 620px;
  grid-template-columns: minmax(430px, 570px) minmax(0, 1fr);
  padding: 42px 0 112px;
}
.lz-hero-copy { padding-top: 28px; }
.lz-hero-art {
  background-image: none !important;
  min-height: 0;
  height: 0;
  margin: 0;
  overflow: visible;
  filter: none;
}
.lz-hero-art::before,
.lz-hero-art::after { display: none; }
.lz-hero-wave {
  bottom: -74px;
  height: 148px;
  transform: rotate(-2deg);
}
.lz-lead { max-width: 535px; }
.lz-header { background: rgba(4, 8, 38, .86); }
.lz-copyright {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
@media (max-width: 1100px) {
  .lz-hero { min-height: auto; }
  .lz-hero::after {
    inset: 64px 0 0 24%;
    opacity: .55;
  }
  .lz-hero-grid {
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 54px 0 112px;
  }
  .lz-hero-copy { max-width: 620px; }
  .lz-hero-art { display: none; }
}
@media (max-width: 720px) {
  .lz-hero::after {
    inset: 64px 0 0 0;
    opacity: .28;
  }
  .lz-hero-grid { padding: 42px 0 94px; }
}



/* v0.4.0 — closer visual match to the original reference */
body.admin-bar .lz-header { top: 32px; }
@media screen and (max-width: 782px) { body.admin-bar .lz-header { top: 46px; } }
body.admin-bar .lz-nav.is-open { top: 110px; }

.lz-container { width: min(1500px, calc(100% - 88px)); }
.lz-header {
  background: rgba(5,10,45,.74);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.lz-header-inner { min-height: 68px; }
.lz-nav { gap: 32px; }
.lz-nav a { padding: 24px 0; }
.lz-nav a.is-active::after { bottom: 13px; }
.lz-header-cta { padding: 13px 28px; }

.lz-hero {
  min-height: 610px;
  padding-top: 68px;
  background:
    radial-gradient(circle at 78% 26%, rgba(127,87,255,.62), transparent 35%),
    radial-gradient(circle at 62% 36%, rgba(40,176,232,.22), transparent 23%),
    linear-gradient(112deg, #030728 0%, #06104a 43%, #1a1671 100%);
}
.lz-hero::before {
  inset: 68px 0 0;
  background-size: 56px 56px;
  opacity: .15;
  z-index: 2;
}
.lz-hero::after {
  content: "";
  position: absolute;
  inset: 68px 0 0 24%;
  background-image:
    linear-gradient(90deg, rgba(5,10,45,1) 0%, rgba(5,10,45,.96) 6%, rgba(5,10,45,.72) 14%, rgba(5,10,45,.36) 24%, rgba(5,10,45,.12) 31%, rgba(5,10,45,0) 38%),
    linear-gradient(180deg, rgba(8,12,52,.06) 0%, rgba(8,12,52,0) 18%, rgba(8,12,52,0) 82%, rgba(37,25,114,.34) 100%),
    url('../img/pfc-hero-scene-clean.png');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  pointer-events: none;
  opacity: 1;
  z-index: 1;
}
.lz-hero-bg {
  z-index: 3;
  background:
    radial-gradient(circle at 84% 43%, rgba(255, 216, 99, .14), transparent 18%),
    radial-gradient(circle at 72% 35%, rgba(87,178,255,.18), transparent 23%);
}
.lz-hero-grid {
  position: relative;
  z-index: 4;
  display: block;
  min-height: 470px;
  padding: 30px 0 88px;
}
.lz-hero-copy {
  width: min(560px, 43%);
  max-width: 560px;
  padding-top: 10px;
}
.lz-hero-copy h1 {
  font-size: clamp(74px, 6.8vw, 102px);
  line-height: .94;
  margin-bottom: 16px;
}
.lz-lead {
  max-width: 490px;
  font-size: 18px;
  line-height: 1.42;
  margin-bottom: 20px;
}
.lz-hero-trust, .lz-mini-trust { gap: 18px; font-size: 13px; }
.lz-hero-actions { gap: 16px; margin: 28px 0 18px; }
.lz-btn { min-height: 56px; border-radius: 17px; }
.lz-btn-primary { box-shadow: 0 14px 34px rgba(255,214,99,.25); }
.lz-btn-ghost { background: rgba(255,255,255,.04); }
.lz-hero-art { display: none; }
.lz-hero-wave {
  left: -2%;
  right: -2%;
  bottom: -58px;
  height: 118px;
  transform: rotate(-1.8deg);
  border-radius: 50% 50% 0 0 / 48% 48% 0 0;
}

.lz-section { padding: 28px 0; }
.lz-steps-section { padding-top: 8px; }
.lz-section-heading { margin-bottom: 24px; }
.lz-section-heading h2 { font-size: clamp(30px, 3vw, 44px); }
.lz-steps { gap: 18px; }
.lz-step { min-height: 186px; padding: 24px 20px 22px; border-radius: 18px; }
.lz-step h3 { font-size: 15px; }
.lz-step p { font-size: 13px; }

.lz-safety-band { padding: 12px 0 24px; }
.lz-safety-grid { gap: 24px; padding: 30px 28px; }
.lz-safety-items article { padding: 0 16px; }

.lz-games-section { padding-top: 18px; }
.lz-game-cards { gap: 20px; }
.lz-game-card { border-radius: 12px; }
.lz-game-art { height: 120px; }
.lz-game-body { padding: 12px 14px 16px; }
.lz-game-body h3 { font-size: 15px; }
.lz-game-body p { font-size: 12px; }

.lz-partners { padding: 4px 0 36px; }
.lz-partner-cards { gap: 18px; }
.lz-partner-card { min-height: 126px; padding: 18px; }
.lz-partner-card h3 { font-size: 17px; }

.lz-bottom-inner {
  min-height: 138px;
  grid-template-columns: 210px 1fr auto;
  padding: 22px 30px;
  border-radius: 20px;
}
.lz-bottom-inner h2 { font-size: 26px; }
.lz-bottom-inner p { font-size: 15px; }
.lz-bottom-actions { gap: 12px; }

.lz-footer { padding-top: 24px; }
.lz-copyright {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  text-align: left;
}
.lz-made-by { margin-left: 0; }

@media (max-width: 1180px) {
  .lz-container { width: min(100% - 54px, 1500px); }
  .lz-header-inner { min-height: 66px; }
  .lz-logo-text { font-size: 24px; }
  .lz-nav { gap: 20px; font-size: 13px; }
  .lz-hero-copy { width: min(520px, 48%); }
  .lz-hero::after { inset: 68px 0 0 16%; }
}

@media (max-width: 1000px) {
  body.admin-bar .lz-nav.is-open { top: 124px; }
  .lz-nav, .lz-header-cta { display: none; }
  .lz-menu-toggle { display: block; }
  .lz-nav.is-open { display: grid; position: absolute; left: 20px; right: 20px; top: 78px; background: rgba(5,10,45,.98); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; padding: 18px; gap: 0; }
  .lz-hero {
    min-height: auto;
  }
  .lz-hero::after {
    inset: 68px 0 0 0;
    background-image:
      linear-gradient(180deg, rgba(5,10,45,.78) 0%, rgba(5,10,45,.62) 24%, rgba(5,10,45,.22) 55%, rgba(5,10,45,.1) 100%),
      url('../img/pfc-hero-scene-clean.png');
    background-size: cover;
    background-position: center center;
    opacity: .30;
  }
  .lz-hero-grid {
    padding: 34px 0 72px;
    min-height: auto;
  }
  .lz-hero-copy {
    width: 100%;
    max-width: 640px;
    padding-top: 0;
  }
  .lz-hero-copy h1 { font-size: 62px; }
  .lz-steps, .lz-game-cards { grid-template-columns: repeat(2, 1fr); }
  .lz-steps::before { display: none; }
  .lz-safety-grid { grid-template-columns: 1fr; }
  .lz-safety-items { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .lz-safety-items article { border-left: 0; border-top: 1px solid rgba(17,19,63,.08); padding-top: 16px; }
  .lz-partner-cards, .lz-form-grid { grid-template-columns: 1fr; }
  .lz-bottom-inner { grid-template-columns: 1fr; text-align: center; }
  .lz-lantern { margin: 0 auto; }
  .lz-bottom-actions { justify-content: center; }
  .lz-footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .lz-container { width: min(100% - 28px, 1120px); }
  body.admin-bar .lz-header { top: 46px; }
  .lz-header-inner { min-height: 64px; }
  .lz-logo-text { font-size: 22px; }
  .lz-logo-sub { font-size: 8px; }
  .lz-hero { padding-top: 64px; }
  .lz-hero::before { inset: 64px 0 0; }
  .lz-hero::after { inset: 64px 0 0 0; opacity: .24; }
  .lz-hero-grid { padding-bottom: 54px; }
  .lz-hero-copy h1 { font-size: 50px; }
  .lz-lead { font-size: 16px; }
  .lz-hero-trust, .lz-mini-trust { gap: 11px; font-size: 12px; }
  .lz-steps, .lz-game-cards, .lz-safety-items, .lz-footer-grid { grid-template-columns: 1fr; }
  .lz-partner-card { grid-template-columns: 1fr; text-align: center; }
  .lz-partner-card span { grid-row: auto; margin: 0 auto 8px; }
  .lz-partner-card h3, .lz-partner-card p, .lz-partner-card a { grid-column: auto; }
  .lz-btn { width: 100%; }
  .lz-form-section { padding-top: 105px; }
  .lz-copyright { justify-content: flex-start; }
}


/* v0.4.1 — desktop hero image centering tweak to better match the reference */
.lz-hero::after {
  inset: 68px -2% 0 27.5%;
  background-position: 54% center;
  background-size: cover;
}
.lz-hero-copy {
  width: min(555px, 42.5%);
  max-width: 555px;
}
@media (max-width: 1180px) {
  .lz-hero::after {
    inset: 68px -2% 0 20%;
    background-position: 56% center;
  }
}
@media (max-width: 1000px) {
  .lz-hero::after {
    inset: 68px 0 0 0;
    background-position: center center;
  }
  .lz-hero-copy {
    width: 100%;
    max-width: 640px;
  }
}


/* v0.5.0 — final reference-match rebuild */
body.admin-bar .lz-header { top: 32px; }
@media screen and (max-width: 782px) { body.admin-bar .lz-header { top: 46px; } }
body.admin-bar .lz-nav.is-open { top: 110px; }

.lz-container { width: min(1500px, calc(100% - 104px)); }
.lz-header {
  background: rgba(4, 8, 38, .72);
  border-bottom: 1px solid rgba(255,255,255,.06);
  backdrop-filter: blur(16px);
}
.lz-header-inner { min-height: 64px; gap: 28px; }
.lz-logo-mark { font-size: 27px; }
.lz-logo-text { font-size: 28px; line-height: .92; }
.lz-logo-sub { font-size: 9px; letter-spacing: .17em; }
.lz-nav { gap: 34px; font-size: 14px; }
.lz-nav a { padding: 22px 0; }
.lz-nav a.is-active::after { bottom: 13px; height: 3px; }
.lz-header-cta { padding: 13px 25px; }

.lz-hero {
  position: relative;
  overflow: hidden;
  padding-top: 64px;
  min-height: 555px;
  color: #fff;
  background:
    radial-gradient(circle at 80% 28%, rgba(128, 91, 255, .58), transparent 35%),
    radial-gradient(circle at 58% 36%, rgba(53, 173, 240, .22), transparent 22%),
    linear-gradient(135deg, #030728 0%, #060d3b 42%, #16267a 100%);
}
.lz-hero::before {
  content: "";
  position: absolute;
  inset: 64px 0 0;
  background-image: radial-gradient(circle, rgba(255,255,255,.78) 0 1px, transparent 1.45px);
  background-size: 54px 54px;
  opacity: .16;
  z-index: 1;
}
.lz-hero::after { display: none !important; }
.lz-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(circle at 91% 39%, rgba(255,185,69,.14), transparent 23%),
    radial-gradient(circle at 73% 32%, rgba(90, 187, 255, .16), transparent 23%);
  pointer-events: none;
}
.lz-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(390px, 520px) minmax(0, 1fr);
  gap: 0;
  align-items: center;
  min-height: 490px;
  padding: 34px 0 86px;
}
.lz-hero-copy {
  position: relative;
  z-index: 4;
  width: auto;
  max-width: none;
  padding-top: 0;
}
.lz-hero-eyebrow { display: none; }
.lz-hero-copy h1 {
  position: relative;
  margin: 0 0 18px;
  max-width: 520px;
  font-size: clamp(76px, 6.15vw, 102px);
  line-height: .95;
  letter-spacing: -.06em;
  font-weight: 950;
}
.lz-hero-copy h1 span {
  color: var(--lz-gold);
  text-shadow: 0 0 24px rgba(255,214,99,.24);
}
.lz-hero-copy h1::after {
  content: "✦";
  position: absolute;
  right: 28px;
  top: 110px;
  font-size: 42px;
  line-height: 1;
  color: var(--lz-gold);
  text-shadow: 0 0 16px rgba(255,214,99,.56), 0 0 36px rgba(255,214,99,.28);
}
.lz-lead {
  max-width: 470px;
  color: rgba(255,255,255,.88);
  font-size: 19px;
  line-height: 1.42;
  margin: 0 0 22px;
}
.lz-hero-trust, .lz-mini-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  color: rgba(255,255,255,.9);
  font-size: 13px;
  font-weight: 800;
}
.lz-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin: 30px 0 21px;
}
.lz-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  min-height: 56px;
  padding: 0 30px;
  border-radius: 16px;
  font-weight: 950;
  border: 1px solid transparent;
}
.lz-btn-primary {
  background: linear-gradient(135deg, #ffe275, #ffc84f);
  color: #12133d;
  box-shadow: 0 16px 38px rgba(255, 214, 99, .27);
}
.lz-btn-ghost {
  border-color: rgba(255,255,255,.42);
  color: #fff;
  background: rgba(255,255,255,.04);
}
.lz-hero-art {
  display: block !important;
  position: relative;
  height: 430px;
  min-height: 430px;
  border-radius: 0;
  overflow: hidden;
  isolation: isolate;
  margin-left: -58px;
  margin-right: -56px;
  background-image: url('../img/pfc-hero-scene-clean.png') !important;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 53%;
  filter: none;
}
.lz-hero-art::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(4,8,38,.70) 0%, rgba(4,8,38,.18) 14%, rgba(4,8,38,0) 24%),
    linear-gradient(180deg, rgba(9,13,54,.06) 0%, rgba(9,13,54,0) 18%, rgba(9,13,54,0) 82%, rgba(41,28,112,.18) 100%);
  pointer-events: none;
  z-index: 2;
  display: block;
}
.lz-hero-art::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 48px;
  background: linear-gradient(180deg, rgba(7,11,48,0) 0%, rgba(18,22,77,.12) 100%);
  pointer-events: none;
  z-index: 2;
  display: block;
}
.lz-hero-art > * { display: none; }
.lz-hero-wave {
  position: absolute;
  left: -4%;
  right: -4%;
  bottom: -64px;
  height: 132px;
  background: #fff;
  border-radius: 50% 50% 0 0 / 42% 42% 0 0;
  z-index: 3;
  transform: rotate(-2.2deg);
}

.lz-section { padding: 26px 0; background: #fff; }
.lz-steps-section { padding-top: 16px; }
.lz-section-heading { text-align: center; margin-bottom: 22px; }
.lz-section-heading h2, .lz-safety-intro h2, .lz-bottom-cta h2, .lz-form-section h2 {
  font-size: clamp(30px, 3.5vw, 38px);
  line-height: 1.08;
  letter-spacing: -.04em;
  margin: 0 0 8px;
}
.lz-section-heading p { color: var(--lz-muted); margin: 0; font-size: 15px; }
.lz-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; position: relative; }
.lz-steps::before { content: ""; position: absolute; top: 74px; left: 12%; right: 12%; border-top: 2px dashed #cfd6ef; z-index: 0; }
.lz-step { position: relative; z-index: 1; background: #fff; border: 1px solid var(--lz-border); border-radius: 18px; padding: 26px 24px 24px; text-align: center; min-height: 190px; box-shadow: 0 12px 30px rgba(15, 18, 75, .04); }
.lz-safety-band { background: linear-gradient(180deg, #fff, #fbf9ff); padding: 12px 0 24px; }
.lz-safety-grid { display: grid; grid-template-columns: 310px 1fr; gap: 28px; background: rgba(250,248,255,.96); border: 1px solid rgba(132,112,255,.16); border-radius: 24px; padding: 29px 34px; box-shadow: 0 14px 36px rgba(27,24,80,.06); }
.lz-games-section { padding-top: 18px; }
.lz-game-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.lz-partners { padding: 4px 0 36px; }
.lz-partner-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.lz-bottom-cta { padding: 0 0 18px; background: #fff; }
.lz-bottom-inner { display: grid; grid-template-columns: 250px 1fr auto; align-items: center; gap: 32px; background: radial-gradient(circle at 14% 48%, rgba(255,214,99,.30), transparent 17%), linear-gradient(135deg, #101062, #22129a 55%, #4b30d6); border-radius: 24px; color: #fff; min-height: 142px; padding: 24px 34px; overflow: hidden; }
.lz-footer { background: #040a2d; color: rgba(255,255,255,.78); padding: 26px 0 20px; }
.lz-copyright {
  color: rgba(255,255,255,.45);
  font-size: 12px;
  text-align: right;
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
}
.lz-made-by { margin-left: 0; }

@media (max-width: 1180px) {
  .lz-container { width: min(100% - 56px, 1500px); }
  .lz-nav { gap: 20px; font-size: 13px; }
  .lz-logo-text { font-size: 24px; }
  .lz-header-cta { padding: 12px 18px; }
  .lz-hero-grid { grid-template-columns: minmax(340px, 470px) minmax(0, 1fr); }
  .lz-hero-art { margin-left: -36px; margin-right: -30px; background-position: 52% 53%; }
  .lz-hero-copy h1 { font-size: clamp(68px, 6vw, 86px); }
  .lz-hero-copy h1::after { right: 22px; top: 99px; font-size: 38px; }
}

@media (max-width: 1000px) {
  .lz-nav, .lz-header-cta { display: none; }
  .lz-menu-toggle { display: block; }
  .lz-nav.is-open { display: grid; position: absolute; left: 20px; right: 20px; top: 78px; background: rgba(5,10,45,.98); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; padding: 18px; gap: 0; }
  .lz-nav.is-open a { padding: 12px 0; }
  .lz-hero-grid { grid-template-columns: 1fr; padding-top: 40px; min-height: auto; }
  .lz-hero-copy h1::after { display: none; }
  .lz-hero-art { height: 360px; min-height: 360px; margin: 8px 0 0; border-radius: 0; overflow: hidden; }
  .lz-steps, .lz-game-cards { grid-template-columns: repeat(2, 1fr); }
  .lz-steps::before { display: none; }
  .lz-safety-grid { grid-template-columns: 1fr; }
  .lz-safety-items { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .lz-safety-items article { border-left: 0; border-top: 1px solid rgba(17,19,63,.08); padding-top: 16px; }
  .lz-partner-cards, .lz-form-grid { grid-template-columns: 1fr; }
  .lz-bottom-inner { grid-template-columns: 1fr; text-align: center; }
  .lz-lantern { margin: 0 auto; }
  .lz-bottom-actions { justify-content: center; }
  .lz-footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .lz-container { width: min(100% - 30px, 1120px); }
  .lz-header-inner { min-height: 68px; }
  .lz-logo-text { font-size: 22px; }
  .lz-logo-sub { font-size: 8px; }
  .lz-hero { padding-top: 68px; min-height: auto; }
  .lz-hero::before { inset: 68px 0 0; }
  .lz-hero-grid { padding-bottom: 56px; }
  .lz-hero-copy h1 { font-size: 50px; }
  .lz-lead { font-size: 16px; }
  .lz-hero-trust, .lz-mini-trust { gap: 11px; font-size: 12px; }
  .lz-hero-art { height: 285px; min-height: 285px; }
  .lz-steps, .lz-game-cards, .lz-safety-items, .lz-footer-grid { grid-template-columns: 1fr; }
  .lz-partner-card { grid-template-columns: 1fr; text-align: center; }
  .lz-partner-card span { grid-row: auto; margin: 0 auto 8px; }
  .lz-partner-card h3, .lz-partner-card p, .lz-partner-card a { grid-column: auto; }
  .lz-btn { width: 100%; }
  .lz-form-section { padding-top: 105px; }
}

/* v0.6.0 — final fix: the artwork is now one blended header background, not a framed block */
body.admin-bar .lz-header { top: 32px; }
@media screen and (max-width: 782px) { body.admin-bar .lz-header { top: 46px; } }

.lz-header {
  background: rgba(4, 8, 38, .76) !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
}

.lz-hero {
  min-height: 555px !important;
  padding-top: 64px !important;
  background:
    radial-gradient(circle at 82% 30%, rgba(119, 78, 255, .50), transparent 34%),
    radial-gradient(circle at 55% 44%, rgba(31, 156, 222, .19), transparent 24%),
    linear-gradient(135deg, #030728 0%, #070b38 42%, #142678 100%) !important;
}

.lz-hero::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 64px 0 0 !important;
  background-image: radial-gradient(circle, rgba(255,255,255,.72) 0 1px, transparent 1.45px) !important;
  background-size: 54px 54px !important;
  opacity: .16 !important;
  z-index: 1 !important;
}

.lz-hero::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 64px 0 0 30% !important;
  background-image: url('../img/pfc-hero-wide-blend.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  opacity: 1 !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.lz-hero-bg {
  z-index: 2 !important;
  background:
    linear-gradient(90deg, rgba(4,8,38,.96) 0%, rgba(4,8,38,.72) 25%, rgba(4,8,38,.16) 45%, rgba(4,8,38,0) 70%),
    radial-gradient(circle at 88% 42%, rgba(255,214,99,.12), transparent 22%) !important;
}

.lz-hero-grid {
  display: block !important;
  position: relative !important;
  z-index: 4 !important;
  min-height: 490px !important;
  padding: 34px 0 86px !important;
}

.lz-hero-copy {
  width: 520px !important;
  max-width: 44vw !important;
  padding-top: 0 !important;
  position: relative !important;
  z-index: 5 !important;
}

.lz-hero-copy h1 {
  font-size: clamp(72px, 5.9vw, 96px) !important;
  line-height: .98 !important;
  margin: 0 0 18px !important;
  letter-spacing: -.06em !important;
}

.lz-hero-copy h1::after {
  content: "✦" !important;
  position: absolute !important;
  right: 14px !important;
  top: 112px !important;
  color: var(--lz-gold) !important;
  font-size: 38px !important;
  line-height: 1 !important;
  text-shadow: 0 0 18px rgba(255,214,99,.75), 0 0 34px rgba(255,214,99,.34) !important;
}

.lz-lead {
  max-width: 500px !important;
  font-size: 19px !important;
  line-height: 1.42 !important;
}

.lz-hero-art {
  display: none !important;
}

.lz-hero-wave {
  left: -4% !important;
  right: -4% !important;
  bottom: -64px !important;
  height: 132px !important;
  border-radius: 50% 50% 0 0 / 42% 42% 0 0 !important;
  transform: rotate(-2.2deg) !important;
  z-index: 3 !important;
}

@media (max-width: 1180px) {
  .lz-hero::after {
    inset: 64px 0 0 25% !important;
    background-position: center center !important;
  }
  .lz-hero-copy {
    width: 500px !important;
    max-width: 50vw !important;
  }
  .lz-hero-copy h1 {
    font-size: clamp(64px, 6vw, 86px) !important;
  }
}

@media (max-width: 1000px) {
  .lz-hero {
    min-height: auto !important;
  }
  .lz-hero::after {
    inset: 64px 0 0 0 !important;
    opacity: .34 !important;
  }
  .lz-hero-bg {
    background: linear-gradient(90deg, rgba(4,8,38,.94) 0%, rgba(4,8,38,.76) 55%, rgba(4,8,38,.42) 100%) !important;
  }
  .lz-hero-grid {
    padding: 40px 0 76px !important;
    min-height: auto !important;
  }
  .lz-hero-copy {
    width: 100% !important;
    max-width: 640px !important;
  }
  .lz-hero-copy h1::after {
    display: none !important;
  }
}

@media (max-width: 640px) {
  .lz-hero {
    padding-top: 68px !important;
  }
  .lz-hero::before,
  .lz-hero::after {
    inset-top: 68px !important;
  }
  .lz-hero-copy h1 {
    font-size: 50px !important;
  }
}


/* v0.7.0 — hero rebuilt as one single full-width background image */
body.admin-bar .lz-header { top: 32px; }
@media screen and (max-width: 782px) { body.admin-bar .lz-header { top: 46px; } }

.lz-header {
  background: rgba(4, 8, 38, .76) !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
}

.lz-hero {
  min-height: 560px !important;
  padding-top: 64px !important;
  background-color: #05092e !important;
  background-image: url('../img/pfc-hero-full-header.png') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center top !important;
  overflow: hidden !important;
}

.lz-hero::before,
.lz-hero::after,
.lz-hero-bg {
  display: none !important;
  content: none !important;
}

.lz-hero-grid {
  display: block !important;
  min-height: 495px !important;
  padding: 38px 0 88px !important;
  position: relative !important;
  z-index: 3 !important;
}

.lz-hero-copy {
  width: 500px !important;
  max-width: 44vw !important;
  position: relative !important;
  z-index: 4 !important;
  padding-top: 8px !important;
}

.lz-hero-copy h1 {
  margin: 0 0 18px !important;
  font-size: clamp(76px, 6vw, 98px) !important;
  line-height: .95 !important;
  letter-spacing: -.06em !important;
}

.lz-hero-copy h1::after {
  content: "✦" !important;
  position: absolute !important;
  right: 4px !important;
  top: 116px !important;
  color: var(--lz-gold) !important;
  font-size: 40px !important;
  line-height: 1 !important;
  text-shadow: 0 0 18px rgba(255,214,99,.75), 0 0 34px rgba(255,214,99,.34) !important;
}

.lz-lead {
  max-width: 495px !important;
  font-size: 18px !important;
  line-height: 1.44 !important;
}

.lz-hero-actions { margin: 30px 0 21px !important; }
.lz-hero-art { display: none !important; }

.lz-hero-wave {
  left: -4% !important;
  right: -4% !important;
  bottom: -64px !important;
  height: 132px !important;
  background: #fff !important;
  border-radius: 50% 50% 0 0 / 42% 42% 0 0 !important;
  transform: rotate(-2.2deg) !important;
  z-index: 2 !important;
}

@media (max-width: 1180px) {
  .lz-container { width: min(100% - 56px, 1500px) !important; }
  .lz-hero { background-position: 58% top !important; }
  .lz-hero-copy { width: 470px !important; max-width: 50vw !important; }
  .lz-hero-copy h1 { font-size: clamp(68px, 6vw, 88px) !important; }
  .lz-hero-copy h1::after { top: 102px !important; right: 0 !important; font-size: 36px !important; }
}

@media (max-width: 1000px) {
  .lz-hero {
    min-height: auto !important;
    background-position: 66% top !important;
  }
  .lz-hero-grid {
    min-height: auto !important;
    padding: 42px 0 76px !important;
  }
  .lz-hero-copy {
    width: 100% !important;
    max-width: 640px !important;
  }
  .lz-hero-copy h1::after { display: none !important; }
}

@media (max-width: 640px) {
  .lz-hero {
    padding-top: 68px !important;
    background-position: 71% top !important;
  }
  .lz-hero-copy h1 {
    font-size: 50px !important;
  }
}


/* v0.8.0 — header rebuilt from scratch as one seamless full-width image */
.lz-header {
  background: rgba(4, 8, 38, .74) !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  backdrop-filter: blur(14px) !important;
}

.lz-hero {
  min-height: 560px !important;
  padding-top: 64px !important;
  background-color: #04082d !important;
  background-image: url('../img/pfc-hero-header-final.png') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center top !important;
}

.lz-hero::before,
.lz-hero::after,
.lz-hero-bg {
  display: none !important;
  content: none !important;
}

.lz-hero-grid {
  display: block !important;
  position: relative !important;
  z-index: 4 !important;
  min-height: 494px !important;
  padding: 34px 0 88px !important;
}

.lz-hero-copy {
  width: 500px !important;
  max-width: 44vw !important;
  position: relative !important;
  z-index: 5 !important;
  padding-top: 6px !important;
}

.lz-hero-copy h1 {
  position: relative !important;
  max-width: 470px !important;
  margin: 0 0 18px !important;
  font-size: clamp(76px, 6vw, 98px) !important;
  line-height: .95 !important;
  letter-spacing: -.06em !important;
}

.lz-hero-copy h1::after {
  content: "✦" !important;
  position: absolute !important;
  right: -6px !important;
  top: 116px !important;
  color: var(--lz-gold) !important;
  font-size: 40px !important;
  line-height: 1 !important;
  text-shadow: 0 0 18px rgba(255,214,99,.75), 0 0 34px rgba(255,214,99,.34) !important;
}

.lz-lead {
  max-width: 500px !important;
  font-size: 18px !important;
  line-height: 1.45 !important;
}

.lz-hero-art { display: none !important; }

.lz-hero-wave {
  left: -4% !important;
  right: -4% !important;
  bottom: -64px !important;
  height: 132px !important;
  background: #fff !important;
  border-radius: 50% 50% 0 0 / 42% 42% 0 0 !important;
  transform: rotate(-2.2deg) !important;
  z-index: 3 !important;
}

@media (max-width: 1180px) {
  .lz-hero {
    background-position: 60% top !important;
  }
  .lz-hero-copy {
    width: 470px !important;
    max-width: 50vw !important;
  }
  .lz-hero-copy h1 {
    font-size: clamp(68px, 6vw, 88px) !important;
  }
  .lz-hero-copy h1::after {
    top: 102px !important;
    font-size: 36px !important;
  }
}

@media (max-width: 1000px) {
  .lz-hero {
    min-height: auto !important;
    background-position: 67% top !important;
  }
  .lz-hero-grid {
    min-height: auto !important;
    padding: 40px 0 76px !important;
  }
  .lz-hero-copy {
    width: 100% !important;
    max-width: 640px !important;
  }
  .lz-hero-copy h1::after {
    display: none !important;
  }
}

@media (max-width: 640px) {
  .lz-hero {
    padding-top: 68px !important;
    background-position: 70% top !important;
  }
  .lz-hero-copy h1 {
    font-size: 50px !important;
  }
}


/* v0.9.0 — full hero image visible + playful animated step blocks */
.lz-hero {
  background-image: url('../img/pfc-hero-header-final.png') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center top !important;
}
.lz-hero::before,
.lz-hero::after,
.lz-hero-bg {
  display: none !important;
  content: none !important;
}
.lz-hero-grid {
  display: block !important;
  min-height: 494px !important;
  padding: 34px 0 88px !important;
}
.lz-hero-copy {
  width: 500px !important;
  max-width: 44vw !important;
}
.lz-hero-copy h1 {
  max-width: 470px !important;
}
@media (max-width: 1180px) {
  .lz-hero { background-position: 58% top !important; }
  .lz-hero-copy {
    width: 470px !important;
    max-width: 50vw !important;
  }
}
@media (max-width: 1000px) {
  .lz-hero { background-position: 66% top !important; }
  .lz-hero-copy {
    width: 100% !important;
    max-width: 640px !important;
  }
}

/* playful step cards */
.lz-steps {
  overflow: visible;
  padding-top: 8px;
  padding-bottom: 20px;
}
.lz-step {
  position: relative;
  overflow: visible;
  border: 0 !important;
  box-shadow: 0 18px 34px rgba(18, 23, 83, .10), 0 6px 14px rgba(18, 23, 83, .05) !important;
  opacity: 0;
  animation-duration: .85s;
  animation-fill-mode: forwards;
  transition: transform .3s ease, box-shadow .3s ease;
}
.lz-step:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 24px 42px rgba(18, 23, 83, .16), 0 8px 18px rgba(18, 23, 83, .08) !important;
}
.lz-step:nth-child(1),
.lz-step:nth-child(3) {
  animation-name: lzStepInLeft;
}
.lz-step:nth-child(2),
.lz-step:nth-child(4) {
  animation-name: lzStepInRight;
}
.lz-step:nth-child(1) { animation-delay: .08s; }
.lz-step:nth-child(2) { animation-delay: .22s; }
.lz-step:nth-child(3) { animation-delay: .36s; }
.lz-step:nth-child(4) { animation-delay: .50s; }

@keyframes lzStepInLeft {
  from { opacity: 0; transform: translateX(-70px) rotate(-5deg) scale(.92); }
  to   { opacity: 1; transform: translateX(0) rotate(0) scale(1); }
}
@keyframes lzStepInRight {
  from { opacity: 0; transform: translateX(70px) rotate(5deg) scale(.92); }
  to   { opacity: 1; transform: translateX(0) rotate(0) scale(1); }
}

.lz-step .lz-step-icon {
  position: relative;
  box-shadow: 0 8px 18px rgba(21, 27, 89, .12);
}

/* card 1: puzzle-style */
.lz-step:nth-child(1) {
  background: linear-gradient(180deg, #ffffff 0%, #fbf7ff 100%) !important;
  border-radius: 32px 60px 32px 54px / 30px 46px 30px 42px !important;
}
.lz-step:nth-child(1)::after {
  content: "";
  position: absolute;
  right: -16px;
  top: 50%;
  width: 34px;
  height: 34px;
  transform: translateY(-50%);
  background: #fbf7ff;
  border-radius: 50%;
  box-shadow: inset -10px 0 0 #ffffff, 0 0 0 1px rgba(138,118,255,.12);
}

/* card 2: candy shape */
.lz-step:nth-child(2) {
  background: linear-gradient(180deg, #ffffff 0%, #f6fbff 100%) !important;
  border-radius: 62px 26px 62px 26px / 38px 30px 38px 30px !important;
}
.lz-step:nth-child(2)::before,
.lz-step:nth-child(2)::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 18px;
  height: 44px;
  transform: translateY(-50%);
  background: linear-gradient(180deg, #d8efff, #eaf7ff);
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}
.lz-step:nth-child(2)::before { left: -10px; }
.lz-step:nth-child(2)::after { right: -10px; }

/* card 3: lego-style */
.lz-step:nth-child(3) {
  background: linear-gradient(180deg, #ffffff 0%, #f7fffd 100%) !important;
  border-radius: 30px !important;
}
.lz-step:nth-child(3)::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -10px;
  width: 112px;
  height: 18px;
  transform: translateX(-50%);
  background:
    radial-gradient(circle at 14px 9px, #ddfbf8 0 8px, transparent 8.5px),
    radial-gradient(circle at 42px 9px, #ddfbf8 0 8px, transparent 8.5px),
    radial-gradient(circle at 70px 9px, #ddfbf8 0 8px, transparent 8.5px),
    radial-gradient(circle at 98px 9px, #ddfbf8 0 8px, transparent 8.5px);
}

/* card 4: soft puzzle/candy hybrid */
.lz-step:nth-child(4) {
  background: linear-gradient(180deg, #ffffff 0%, #fffaf2 100%) !important;
  border-radius: 28px 52px 28px 52px / 26px 40px 26px 40px !important;
}
.lz-step:nth-child(4)::before {
  content: "";
  position: absolute;
  left: -14px;
  top: 28px;
  width: 30px;
  height: 30px;
  background: #fffaf2;
  border-radius: 50%;
  box-shadow: inset 10px 0 0 #ffffff, 0 0 0 1px rgba(255,202,99,.16);
}

/* add a bit more playful icon treatment */
.lz-step:nth-child(1) .lz-step-icon { transform: rotate(-6deg); }
.lz-step:nth-child(2) .lz-step-icon { transform: rotate(6deg); }
.lz-step:nth-child(3) .lz-step-icon { transform: translateY(-1px); }
.lz-step:nth-child(4) .lz-step-icon { transform: rotate(-4deg); }

@media (max-width: 1000px) {
  .lz-step,
  .lz-step:hover {
    transform: none;
  }
}


/* v1.0.0 — exact-size hero image matching the header dimensions */
.lz-hero {
  min-height: 560px !important;
  padding-top: 64px !important;
  background-color: #04082d !important;
  background-image: url('../img/pfc-hero-header-final.png') !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
  background-size: 100% 100% !important; /* use the full image, no cover cropping */
}
.lz-hero::before,
.lz-hero::after,
.lz-hero-bg {
  display: none !important;
  content: none !important;
}
.lz-hero-grid {
  display: block !important;
  min-height: 494px !important;
  padding: 34px 0 88px !important;
}
.lz-hero-copy {
  width: 500px !important;
  max-width: 44vw !important;
  position: relative !important;
  z-index: 5 !important;
}
.lz-hero-copy h1 {
  max-width: 470px !important;
}
.lz-hero-art {
  display: none !important;
}
@media (max-width: 1180px) {
  .lz-hero {
    background-size: cover !important;
    background-position: 60% top !important;
  }
  .lz-hero-copy {
    width: 470px !important;
    max-width: 50vw !important;
  }
}
@media (max-width: 1000px) {
  .lz-hero {
    background-size: cover !important;
    background-position: 67% top !important;
    min-height: auto !important;
  }
  .lz-hero-copy {
    width: 100% !important;
    max-width: 640px !important;
  }
}


/* v1.1.0 — use one single hero banner image instead of layered background/image/text composition */
.lz-hero-banner-only {
  min-height: 0 !important;
  padding: 0 !important;
  background: none !important;
  overflow: visible !important;
}
.lz-hero-banner-only::before,
.lz-hero-banner-only::after,
.lz-hero-banner-only .lz-hero-bg,
.lz-hero-banner-only .lz-hero-wave {
  display: none !important;
  content: none !important;
}
.lz-hero-banner-wrap {
  width: 100%;
  margin: 0;
  line-height: 0;
}
.lz-hero-banner-image {
  display: block;
  width: 100%;
  height: auto;
}
.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Keep the playful step cards from the previous version */
.lz-steps {
  overflow: visible;
  padding-top: 8px;
  padding-bottom: 20px;
}
.lz-step {
  position: relative;
  overflow: visible;
  border: 0 !important;
  box-shadow: 0 18px 34px rgba(18, 23, 83, .10), 0 6px 14px rgba(18, 23, 83, .05) !important;
  opacity: 0;
  animation-duration: .85s;
  animation-fill-mode: forwards;
  transition: transform .3s ease, box-shadow .3s ease;
}
.lz-step:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 24px 42px rgba(18, 23, 83, .16), 0 8px 18px rgba(18, 23, 83, .08) !important;
}
.lz-step:nth-child(1),
.lz-step:nth-child(3) { animation-name: lzStepInLeft; }
.lz-step:nth-child(2),
.lz-step:nth-child(4) { animation-name: lzStepInRight; }

.lz-step:nth-child(1) { animation-delay: .08s; }
.lz-step:nth-child(2) { animation-delay: .22s; }
.lz-step:nth-child(3) { animation-delay: .36s; }
.lz-step:nth-child(4) { animation-delay: .50s; }

@keyframes lzStepInLeft {
  from { opacity: 0; transform: translateX(-70px) rotate(-5deg) scale(.92); }
  to   { opacity: 1; transform: translateX(0) rotate(0) scale(1); }
}
@keyframes lzStepInRight {
  from { opacity: 0; transform: translateX(70px) rotate(5deg) scale(.92); }
  to   { opacity: 1; transform: translateX(0) rotate(0) scale(1); }
}

.lz-step:nth-child(1) {
  background: linear-gradient(180deg, #ffffff 0%, #fbf7ff 100%) !important;
  border-radius: 32px 60px 32px 54px / 30px 46px 30px 42px !important;
}
.lz-step:nth-child(1)::after {
  content: "";
  position: absolute;
  right: -16px;
  top: 50%;
  width: 34px;
  height: 34px;
  transform: translateY(-50%);
  background: #fbf7ff;
  border-radius: 50%;
  box-shadow: inset -10px 0 0 #ffffff, 0 0 0 1px rgba(138,118,255,.12);
}

.lz-step:nth-child(2) {
  background: linear-gradient(180deg, #ffffff 0%, #f6fbff 100%) !important;
  border-radius: 62px 26px 62px 26px / 38px 30px 38px 30px !important;
}
.lz-step:nth-child(2)::before,
.lz-step:nth-child(2)::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 18px;
  height: 44px;
  transform: translateY(-50%);
  background: linear-gradient(180deg, #d8efff, #eaf7ff);
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}
.lz-step:nth-child(2)::before { left: -10px; }
.lz-step:nth-child(2)::after { right: -10px; }

.lz-step:nth-child(3) {
  background: linear-gradient(180deg, #ffffff 0%, #f7fffd 100%) !important;
  border-radius: 30px !important;
}
.lz-step:nth-child(3)::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -10px;
  width: 112px;
  height: 18px;
  transform: translateX(-50%);
  background:
    radial-gradient(circle at 14px 9px, #ddfbf8 0 8px, transparent 8.5px),
    radial-gradient(circle at 42px 9px, #ddfbf8 0 8px, transparent 8.5px),
    radial-gradient(circle at 70px 9px, #ddfbf8 0 8px, transparent 8.5px),
    radial-gradient(circle at 98px 9px, #ddfbf8 0 8px, transparent 8.5px);
}

.lz-step:nth-child(4) {
  background: linear-gradient(180deg, #ffffff 0%, #fffaf2 100%) !important;
  border-radius: 28px 52px 28px 52px / 26px 40px 26px 40px !important;
}
.lz-step:nth-child(4)::before {
  content: "";
  position: absolute;
  left: -14px;
  top: 28px;
  width: 30px;
  height: 30px;
  background: #fffaf2;
  border-radius: 50%;
  box-shadow: inset 10px 0 0 #ffffff, 0 0 0 1px rgba(255,202,99,.16);
}

@media (max-width: 1000px) {
  .lz-step, .lz-step:hover { transform: none; }
}


/* v1.2.0 — crisp custom hero banner + clickable overlay hotspots */
.lz-hero-banner-wrap {
  position: relative;
}
.lz-hero-banner-image {
  display: block;
  width: 100%;
  height: auto;
}
.lz-hero-hotspot {
  position: absolute;
  display: block;
  text-indent: -9999px;
  overflow: hidden;
  border-radius: 20px;
  z-index: 3;
  background: rgba(255,255,255,0.001);
}
.lz-hero-hotspot:focus-visible {
  outline: 3px solid #ffd45a;
  outline-offset: 4px;
}
/* positions based on the 1920x720 banner */
.lz-hero-hotspot.hs-join {
  left: 3.85%;
  top: 71.55%;
  width: 18.5%;
  height: 10.3%;
}
.lz-hero-hotspot.hs-partners {
  left: 24.2%;
  top: 71.55%;
  width: 16.7%;
  height: 10.3%;
}


/* v1.3.0 — final hero: normal full image + real HTML text/buttons */
.pfc-hero-final {
  position: relative;
  margin: 0;
  padding: 0;
  line-height: 0;
  overflow: hidden;
  background: #04082d;
}
.pfc-hero-final-bg {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}
.pfc-hero-final-content {
  position: absolute;
  z-index: 2;
  left: max(54px, 5.4vw);
  top: 13%;
  width: min(560px, 43vw);
  color: #fff;
  line-height: 1.4;
}
.pfc-hero-final-content h1 {
  position: relative;
  margin: 0 0 18px;
  font-size: clamp(56px, 5.7vw, 98px);
  line-height: .96;
  letter-spacing: -.06em;
  font-weight: 950;
}
.pfc-hero-final-content h1 span {
  color: #ffd663;
}
.pfc-hero-final-content h1::after {
  content: "✦";
  position: absolute;
  right: 18px;
  top: 1.12em;
  color: #ffd663;
  font-size: .42em;
  line-height: 1;
  text-shadow: 0 0 18px rgba(255,214,99,.65);
}
.pfc-hero-final-content p {
  margin: 0 0 22px;
  max-width: 530px;
  color: rgba(255,255,255,.90);
  font-size: clamp(15px, 1.04vw, 19px);
  line-height: 1.42;
}
.pfc-hero-trust,
.pfc-hero-mini {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  color: rgba(255,255,255,.92);
  font-size: clamp(11px, .72vw, 13px);
  font-weight: 800;
  line-height: 1.2;
}
.pfc-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin: 28px 0 18px;
}
.pfc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 56px;
  padding: 0 30px;
  border-radius: 16px;
  font-weight: 950;
  font-size: 15px;
  line-height: 1;
  text-decoration: none;
}
.pfc-btn-primary {
  background: linear-gradient(135deg, #ffe275, #ffc84f);
  color: #12133d;
  box-shadow: 0 16px 38px rgba(255,214,99,.25);
}
.pfc-btn-ghost {
  color: #fff;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.45);
}
.pfc-btn:hover {
  transform: translateY(-2px);
}

/* playful animated first 4 blocks */
.lz-step {
  position: relative;
  overflow: visible;
  border: 0 !important;
  box-shadow: 0 18px 34px rgba(18,23,83,.10), 0 6px 14px rgba(18,23,83,.05) !important;
  opacity: 0;
  animation-duration: .85s;
  animation-fill-mode: forwards;
  transition: transform .3s ease, box-shadow .3s ease;
}
.lz-step:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 24px 42px rgba(18,23,83,.16), 0 8px 18px rgba(18,23,83,.08) !important;
}
.lz-step:nth-child(1),
.lz-step:nth-child(3) { animation-name: pfcStepLeft; }
.lz-step:nth-child(2),
.lz-step:nth-child(4) { animation-name: pfcStepRight; }
.lz-step:nth-child(1) { animation-delay: .08s; border-radius: 32px 60px 32px 54px / 30px 46px 30px 42px !important; background: linear-gradient(180deg,#fff,#fbf7ff) !important; }
.lz-step:nth-child(2) { animation-delay: .22s; border-radius: 62px 26px 62px 26px / 38px 30px 38px 30px !important; background: linear-gradient(180deg,#fff,#f6fbff) !important; }
.lz-step:nth-child(3) { animation-delay: .36s; border-radius: 30px !important; background: linear-gradient(180deg,#fff,#f7fffd) !important; }
.lz-step:nth-child(4) { animation-delay: .50s; border-radius: 28px 52px 28px 52px / 26px 40px 26px 40px !important; background: linear-gradient(180deg,#fff,#fffaf2) !important; }

@keyframes pfcStepLeft {
  from { opacity: 0; transform: translateX(-70px) rotate(-5deg) scale(.92); }
  to { opacity: 1; transform: translateX(0) rotate(0) scale(1); }
}
@keyframes pfcStepRight {
  from { opacity: 0; transform: translateX(70px) rotate(5deg) scale(.92); }
  to { opacity: 1; transform: translateX(0) rotate(0) scale(1); }
}
.lz-step:nth-child(1)::after {
  content: "";
  position: absolute;
  right: -16px;
  top: 50%;
  width: 34px;
  height: 34px;
  transform: translateY(-50%);
  background: #fbf7ff;
  border-radius: 50%;
  box-shadow: inset -10px 0 0 #fff, 0 0 0 1px rgba(138,118,255,.12);
}
.lz-step:nth-child(2)::before,
.lz-step:nth-child(2)::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 18px;
  height: 44px;
  transform: translateY(-50%);
  background: linear-gradient(180deg,#d8efff,#eaf7ff);
  clip-path: polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
}
.lz-step:nth-child(2)::before { left: -10px; }
.lz-step:nth-child(2)::after { right: -10px; }
.lz-step:nth-child(3)::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -10px;
  width: 112px;
  height: 18px;
  transform: translateX(-50%);
  background:
    radial-gradient(circle at 14px 9px,#ddfbf8 0 8px,transparent 8.5px),
    radial-gradient(circle at 42px 9px,#ddfbf8 0 8px,transparent 8.5px),
    radial-gradient(circle at 70px 9px,#ddfbf8 0 8px,transparent 8.5px),
    radial-gradient(circle at 98px 9px,#ddfbf8 0 8px,transparent 8.5px);
}
.lz-step:nth-child(4)::before {
  content: "";
  position: absolute;
  left: -14px;
  top: 28px;
  width: 30px;
  height: 30px;
  background: #fffaf2;
  border-radius: 50%;
  box-shadow: inset 10px 0 0 #fff, 0 0 0 1px rgba(255,202,99,.16);
}

@media (max-width: 1000px) {
  .pfc-hero-final-content {
    top: 15%;
    left: 28px;
    width: min(600px, calc(100% - 56px));
  }
  .pfc-hero-final-content h1 {
    font-size: clamp(44px, 9vw, 76px);
  }
  .pfc-hero-final-content h1::after { display: none; }
  .pfc-btn { min-height: 50px; padding: 0 22px; }
}
@media (max-width: 640px) {
  .pfc-hero-final-content {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    padding: 92px 22px 42px;
    background: #05092e;
  }
  .pfc-hero-final-bg {
    display: none;
  }
  .pfc-hero-actions,
  .pfc-hero-trust,
  .pfc-hero-mini {
    display: grid;
    gap: 12px;
  }
}


/* v1.4.0 — hero is one normal fixed image, no background tricks, no cover, no overlay text */
.pfc-hero-simple {
  margin: 0;
  padding: 0;
  line-height: 0;
  background: #fff;
}
.pfc-hero-simple-wrap {
  position: relative;
  width: 100%;
  margin: 0;
}
.pfc-hero-simple-image {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}
.pfc-hero-hotspot {
  position: absolute;
  display: block;
  overflow: hidden;
  text-indent: -9999px;
  white-space: nowrap;
  background: rgba(255,255,255,0.001);
  border-radius: 18px;
  z-index: 2;
}
.pfc-hero-hotspot:focus-visible {
  outline: 3px solid #ffd45a;
  outline-offset: 4px;
}

/* Coordinates based on the fixed reference hero image. */
.pfc-hero-hotspot.hs-join {
  left: 5.0%;
  top: 69.8%;
  width: 19.2%;
  height: 12.2%;
}
.pfc-hero-hotspot.hs-partners {
  left: 25.0%;
  top: 69.8%;
  width: 16.9%;
  height: 12.2%;
}

/* Disable old hero systems visually if still present anywhere. */
.pfc-hero-final,
.lz-hero,
.lz-hero-banner-only {
  background: none !important;
}


/* v1.5.0 — sharper fixed hero, dedicated mobile hero, more playful visual system */
.pfc-hero-simple {
  margin: 0;
  padding: 0;
  line-height: 0;
  background: #fff;
}
.pfc-hero-simple-wrap { position: relative; width: 100%; overflow: hidden; }
.pfc-hero-simple-wrap picture { display:block; }
.pfc-hero-simple-image { display:block; width:100%; height:auto; }
.pfc-hero-hotspot {
  position:absolute; display:block; overflow:hidden; text-indent:-9999px; white-space:nowrap;
  background: rgba(255,255,255,0.001); border-radius: 18px; z-index: 3;
}
.pfc-hero-hotspot.hs-join { left: 5.0%; top: 69.9%; width: 19.5%; height: 12.2%; }
.pfc-hero-hotspot.hs-partners { left: 25.2%; top: 69.9%; width: 17.0%; height: 12.2%; }
.pfc-hero-hotspot:focus-visible { outline: 3px solid #ffd45a; outline-offset: 4px; }
.pfc-hero-mobile-actions { display:none; }

/* More playful / less generic section cards */
.lz-steps-section, .lz-games-section, .lz-partners, .lz-safety-band {
  position: relative;
  overflow: visible;
}
.lz-section-heading h2 {
  letter-spacing: -.055em;
}
.lz-step {
  border: 0 !important;
  box-shadow: 0 22px 44px rgba(28, 34, 106, .10), 0 6px 14px rgba(28,34,106,.05) !important;
}
.lz-safety-grid {
  border: 0 !important;
  border-radius: 32px !important;
  background: linear-gradient(180deg, #fff, #fbf8ff) !important;
  box-shadow: 0 24px 48px rgba(30, 32, 94, .08) !important;
}
.lz-safety-items { gap: 14px; }
.lz-safety-items article {
  border: 0 !important;
  background: rgba(255,255,255,.96);
  border-radius: 22px;
  padding: 18px 14px !important;
  box-shadow: 0 14px 26px rgba(22, 24, 86, .06);
}
.lz-safety-items span {
  box-shadow: 0 10px 20px rgba(125,92,255,.12);
  background: linear-gradient(180deg,#fff,#f7f5ff);
}
.lz-game-card {
  border: 0 !important;
  border-radius: 26px !important;
  box-shadow: 0 22px 42px rgba(20,24,86,.10), 0 6px 18px rgba(20,24,86,.05) !important;
  transition: transform .28s ease, box-shadow .28s ease;
}
.lz-game-card:hover { transform: translateY(-8px) rotate(-1deg); box-shadow: 0 28px 54px rgba(20,24,86,.15), 0 8px 18px rgba(20,24,86,.06) !important; }
.lz-game-card:nth-child(1) { border-radius: 28px 28px 20px 40px !important; }
.lz-game-card:nth-child(2) { border-radius: 40px 24px 30px 20px !important; }
.lz-game-card:nth-child(3) { border-radius: 22px 36px 24px 36px !important; }
.lz-game-card:nth-child(4) { border-radius: 36px 22px 38px 22px !important; }
.lz-game-art { height: 138px !important; }
.lz-game-body { padding: 16px 18px 18px !important; }
.lz-game-body h3 { font-size: 17px !important; }
.lz-game-body p { font-size: 13px !important; color: #535a80 !important; }
.lz-game-body b {
  border-radius: 999px !important;
  background: linear-gradient(135deg, #edf7ff, #dff0ff) !important;
  box-shadow: 0 10px 18px rgba(73,167,255,.18);
}
.lz-partner-card {
  border: 0 !important;
  border-radius: 28px !important;
  box-shadow: 0 22px 44px rgba(20,24,86,.10), 0 6px 18px rgba(20,24,86,.05) !important;
  overflow: hidden;
  position: relative;
}
.lz-partner-card::after {
  content: '';
  position: absolute;
  right: -16px;
  top: -16px;
  width: 86px;
  height: 86px;
  border-radius: 50%;
  background: rgba(255,255,255,.30);
}
.lz-partner-card span {
  box-shadow: 0 14px 28px rgba(20,24,86,.08);
}
.lz-partner-card h3 { font-size: 18px !important; }
.lz-partner-card p { font-size: 13px !important; line-height: 1.38 !important; }
.lz-partner-card.schools { background: linear-gradient(135deg, #faf5ff, #f4edff) !important; }
.lz-partner-card.schools span { background: linear-gradient(135deg,#efe3ff,#dfd0ff) !important; }
.lz-partner-card.cities { background: linear-gradient(135deg, #effdff, #e6fbff) !important; }
.lz-partner-card.cities span { background: linear-gradient(135deg,#d8f8fb,#c8f1f6) !important; }
.lz-partner-card.companies { background: linear-gradient(135deg, #fff8ea, #fff2d8) !important; }
.lz-partner-card.companies span { background: linear-gradient(135deg,#ffeeb8,#ffe18c) !important; }
.lz-bottom-inner {
  border-radius: 30px !important;
  box-shadow: 0 28px 56px rgba(22,24,86,.18);
}

@media (max-width: 767px) {
  .pfc-hero-simple {
    padding-top: 64px;
    background: #05092e;
  }
  .pfc-hero-hotspot { display:none; }
  .pfc-hero-mobile-actions {
    display:flex;
    flex-direction:column;
    gap: 12px;
    padding: 14px 18px 22px;
    background: #05092e;
  }
  .pfc-hero-mobile-actions .lz-btn { min-height: 52px; }
  .pfc-hero-mobile-actions .lz-btn-ghost { background: rgba(255,255,255,.06); color:#fff; border-color: rgba(255,255,255,.28); }
  .lz-header { background: rgba(5,10,45,.92) !important; }
  .lz-nav.is-open {
    top: 72px !important;
    left: 14px !important;
    right: 14px !important;
    border-radius: 22px !important;
    padding: 16px 18px !important;
    box-shadow: 0 24px 48px rgba(10,12,48,.35);
  }
  .lz-step, .lz-game-card, .lz-partner-card, .lz-safety-items article { border-radius: 24px !important; }
}


/* v1.6.0 — mobile hero overhaul, wow-factor styling, rich pages and back-to-top */
html { scroll-padding-top: 88px; }
body { background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%); }
.lz-btn { border-radius: 999px !important; box-shadow: 0 16px 32px rgba(18,19,61,.10); }
.lz-btn-primary { background: linear-gradient(135deg, #ffe47b 0%, #ffcf58 55%, #ffbf3f 100%) !important; }
.lz-btn-ghost { backdrop-filter: blur(8px); }
.lz-btn:hover { transform: translateY(-3px) scale(1.01); }
.lz-section-heading p { max-width: 720px; margin-left: auto; margin-right: auto; }
.lz-section { position: relative; }
.lz-steps-section::before,
.lz-games-section::before,
.lz-partners::before {
  content: '';
  position: absolute;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  filter: blur(0px);
  opacity: .35;
  pointer-events: none;
}
.lz-steps-section::before { left: -90px; top: 80px; background: radial-gradient(circle, rgba(125,92,255,.12), transparent 70%); }
.lz-games-section::before { right: -70px; top: -20px; background: radial-gradient(circle, rgba(75,212,214,.14), transparent 70%); }
.lz-partners::before { left: 50%; transform: translateX(-50%); bottom: -70px; background: radial-gradient(circle, rgba(255,214,99,.16), transparent 70%); }

/* Home hero desktop */
.pfc-mobile-intro { display:none; }
.pfc-hero-simple { background: #fff; }
.pfc-hero-simple-wrap { position: relative; width: 100%; overflow: hidden; }
.pfc-hero-simple-image { display:block; width:100%; height:auto; }
.pfc-hero-hotspot { position:absolute; display:block; overflow:hidden; text-indent:-9999px; white-space:nowrap; border-radius: 18px; background: rgba(255,255,255,0.001); }
.pfc-hero-hotspot.hs-join { left: 5.0%; top: 69.9%; width: 19.5%; height: 12.2%; }
.pfc-hero-hotspot.hs-partners { left: 25.2%; top: 69.9%; width: 17.0%; height: 12.2%; }
.pfc-hero-hotspot:focus-visible { outline: 3px solid #ffd45a; outline-offset: 4px; }
.pfc-hero-mobile-actions { display:none; }

/* Playful motion */
@keyframes pfcFloat {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
@keyframes pfcDrift {
  0%,100% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(1.5deg) translateY(-4px); }
}
.lz-step .lz-step-icon, .lz-partner-card span, .lz-lantern span { animation: pfcFloat 3.6s ease-in-out infinite; }
.lz-game-card:nth-child(odd) { animation: pfcDrift 8s ease-in-out infinite; }

/* Rich cards */
.lz-step { position:relative; overflow:visible; }
.lz-step::after, .lz-step::before { content:''; position:absolute; pointer-events:none; }
.lz-step:nth-child(1)::after { width:18px; height:18px; right:22px; top:20px; background: radial-gradient(circle, #ffd663 0 45%, transparent 46%); filter: drop-shadow(0 0 8px rgba(255,214,99,.45)); }
.lz-step:nth-child(2)::after { width:14px; height:14px; left:20px; bottom:18px; border-radius:50%; background:#98dfff; }
.lz-step:nth-child(3)::after { width:20px; height:20px; right:22px; bottom:16px; border-radius:6px; background:#b9fff2; transform: rotate(18deg); }
.lz-step:nth-child(4)::after { width:16px; height:16px; left:18px; top:18px; background:#ffdca0; clip-path: polygon(50% 0, 61% 38%, 100% 50%, 61% 61%, 50% 100%, 38% 61%, 0 50%, 38% 38%); }
.lz-safety-intro { align-items: start; }
.lz-shield { width:56px; height:56px; display:grid; place-items:center; background: linear-gradient(180deg,#f3edff,#ece5ff); border-radius: 18px; box-shadow: 0 14px 28px rgba(125,92,255,.12); }
.lz-footer { position: relative; overflow:hidden; }
.lz-footer::before { content:''; position:absolute; inset:auto -100px -120px auto; width:280px; height:280px; border-radius:50%; background: radial-gradient(circle, rgba(125,92,255,.16), transparent 66%); }

/* Rich page system */
.pfc-page-hero {
  padding: 138px 0 56px;
  color: #fff;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #060c34, #182c8d 52%, #5f3ae5 100%);
}
.pfc-page-hero::before {
  content:''; position:absolute; inset:0; background-image: radial-gradient(circle, rgba(255,255,255,.75) 0 1px, transparent 1.4px); background-size: 52px 52px; opacity:.22;
}
.pfc-page-hero--gold { background: linear-gradient(135deg, #080c33, #272983 50%, #c87d28 100%); }
.pfc-page-hero--teal { background: linear-gradient(135deg, #060c34, #104a76 48%, #2a9bb0 100%); }
.pfc-page-hero .lz-container { position:relative; z-index:2; }
.pfc-eyebrow { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.14); color:#fff8d8; font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.pfc-page-hero h1 { font-size: clamp(40px, 6vw, 72px); line-height: .98; letter-spacing: -.055em; margin: 18px 0 14px; max-width: 980px; }
.pfc-page-hero p { max-width: 820px; color: rgba(255,255,255,.84); font-size: 18px; }
.pfc-rich-section { padding: 42px 0; }
.pfc-rich-section--soft { background: linear-gradient(180deg,#f9fbff,#f5f7ff); }
.pfc-two-col { display:grid; grid-template-columns: 1.1fr .9fr; gap: 28px; align-items: start; }
.pfc-two-col h2 { font-size: clamp(28px, 3vw, 42px); line-height: 1.02; margin:0 0 14px; letter-spacing:-.04em; }
.pfc-check-list { margin:0; padding-left:0; list-style:none; display:grid; gap:10px; }
.pfc-check-list li { padding-left:30px; position:relative; color:#44507a; font-size:16px; }
.pfc-check-list li::before { content:'✦'; position:absolute; left:0; top:-1px; color:#7d5cff; font-weight:900; }
.pfc-story-card, .pfc-rich-card, .pfc-principle, .pfc-flow-grid article {
  background: linear-gradient(180deg,#fff,#fbfcff);
  border-radius: 28px;
  border: 1px solid rgba(130,140,210,.15);
  box-shadow: 0 22px 44px rgba(18, 23, 85, .08);
}
.pfc-story-card { padding: 24px; }
.pfc-story-card h3 { margin:0 0 10px; font-size: 22px; }
.pfc-story-card p, .pfc-story-card li { color:#48537b; }
.pfc-story-card ol { margin: 0; padding-left: 20px; }
.pfc-flow-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.pfc-flow-grid article { padding: 24px 22px; position:relative; overflow:hidden; }
.pfc-flow-grid article span { width:54px; height:54px; border-radius:18px; display:grid; place-items:center; font-size:22px; font-weight:900; color:#11133f; background: linear-gradient(135deg,#ffe47a,#ffc955); margin-bottom: 14px; box-shadow: 0 14px 28px rgba(255,214,99,.20); }
.pfc-flow-grid article h3 { margin:0 0 8px; font-size: 20px; }
.pfc-flow-grid article p { margin:0; color:#4d567d; font-size:15px; }
.pfc-games-grid, .pfc-principles-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pfc-rich-card { padding: 24px; }
.pfc-rich-card h3 { margin:0 0 8px; font-size: 22px; }
.pfc-rich-card p { margin:0 0 12px; color:#4e587f; }
.pfc-rich-card ul { margin:0; padding-left:20px; color:#58628c; }
.pfc-principle { padding: 24px; }
.pfc-principle h3 { margin:0 0 8px; font-size: 21px; }
.pfc-principle p { margin:0; color:#4d567d; }
.pfc-impact-ribbon { display:flex; align-items:center; justify-content:space-between; gap:20px; background: linear-gradient(135deg, #1b146f, #4830d5); color:#fff; padding: 26px 28px; border-radius: 30px; box-shadow: 0 24px 46px rgba(30, 36, 117, .18); }
.pfc-impact-ribbon strong { display:block; font-size: 24px; margin-bottom: 6px; }
.pfc-impact-ribbon span { color: rgba(255,255,255,.82); }

/* Back to top */
.pfc-to-top {
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 54px;
  height: 54px;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 24px;
  color: #11133f;
  background: linear-gradient(135deg, #ffe47a, #ffc955);
  box-shadow: 0 18px 34px rgba(16, 19, 61, .20);
  z-index: 80;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .24s ease, transform .24s ease, visibility .24s ease;
}
.pfc-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.pfc-to-top:hover { transform: translateY(-2px); }

@media (max-width: 991px) {
  .pfc-flow-grid { grid-template-columns: repeat(2, 1fr); }
  .pfc-games-grid, .pfc-principles-grid, .pfc-two-col { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  html { scroll-padding-top: 74px; }
  .lz-container { width: min(100% - 28px, 1200px); }
  .lz-header-inner { min-height: 66px; gap: 14px; }
  .lz-logo-text { font-size: 18px; }
  .lz-logo-sub { font-size: 7px; letter-spacing: .14em; }
  .pfc-mobile-intro {
    display:block;
    padding: 84px 0 14px;
    background:
      radial-gradient(circle at 78% 24%, rgba(255,215,100,.14), transparent 22%),
      radial-gradient(circle at 18% 30%, rgba(125,92,255,.18), transparent 24%),
      linear-gradient(135deg,#050a31,#0d1452 52%, #152b83 100%);
    color:#fff;
    position: relative;
    overflow:hidden;
  }
  .pfc-mobile-intro::before {
    content:''; position:absolute; inset:0; background-image: radial-gradient(circle, rgba(255,255,255,.78) 0 1px, transparent 1.4px); background-size: 54px 54px; opacity:.18;
  }
  .pfc-mobile-intro .lz-container { position: relative; z-index: 2; }
  .pfc-mobile-chip { display:inline-flex; padding:8px 12px; border-radius:999px; background: rgba(255,255,255,.12); color:#ffeaa0; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
  .pfc-mobile-intro h1 { margin: 14px 0 12px; font-size: clamp(44px, 13vw, 64px); line-height: .92; letter-spacing: -.055em; }
  .pfc-mobile-intro h1 span { color:#ffd663; }
  .pfc-mobile-intro p { margin:0 0 14px; color: rgba(255,255,255,.88); font-size: 15px; line-height: 1.4; }
  .pfc-mobile-trust { display:grid; gap:8px; font-size:13px; font-weight:800; color: rgba(255,255,255,.94); }
  .pfc-hero-simple-wrap { background:#050a31; }
  .pfc-hero-simple-image { width:100%; }
  .pfc-hero-hotspot { display:none; }
  .pfc-hero-mobile-actions { display:flex; flex-direction:column; gap: 12px; padding: 14px 14px 22px; background:#050a31; }
  .pfc-hero-mobile-actions .lz-btn { width:100%; min-height:52px; }
  .pfc-hero-mobile-actions .lz-btn-ghost { background: rgba(255,255,255,.06); color:#fff; border-color: rgba(255,255,255,.28); }
  .lz-nav.is-open { top: 72px !important; left: 14px !important; right: 14px !important; border-radius: 22px !important; padding: 16px 18px !important; box-shadow: 0 24px 48px rgba(10,12,48,.35); }
  .lz-steps, .lz-game-cards, .lz-safety-items, .lz-partner-cards, .pfc-flow-grid, .pfc-games-grid, .pfc-principles-grid { grid-template-columns: 1fr !important; }
  .lz-safety-grid { padding: 22px 20px !important; }
  .pfc-page-hero { padding: 108px 0 42px; }
  .pfc-page-hero p { font-size: 16px; }
  .pfc-impact-ribbon { flex-direction: column; align-items: flex-start; }
}


/* v1.7.0 — content polish + game roadmap + playable-feeling demo */
.lz-section-heading h2,
.lz-safety-intro h2,
.lz-bottom-inner h2,
.pfc-game-copy h2 {
  letter-spacing: -.06em;
}

.pfc-game-plan {
  padding: 34px 0 42px;
  background:
    radial-gradient(circle at 12% 20%, rgba(255,214,99,.18), transparent 22%),
    radial-gradient(circle at 87% 0%, rgba(75,212,214,.16), transparent 25%),
    linear-gradient(180deg, #ffffff, #f7f8ff);
}
.pfc-game-plan-inner {
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 26px;
  align-items: stretch;
}
.pfc-game-copy,
.pfc-light-demo {
  border-radius: 34px;
  padding: 30px;
  box-shadow: 0 26px 56px rgba(18, 23, 85, .10);
  position: relative;
  overflow: hidden;
}
.pfc-game-copy {
  background: linear-gradient(135deg, #101062, #22129a 55%, #4b30d6);
  color: #fff;
}
.pfc-game-copy::after {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  right: -80px;
  top: -80px;
  border-radius: 50%;
  background: rgba(255,255,255,.10);
}
.pfc-eyebrow-dark {
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: #ffeaa0;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 950;
}
.pfc-game-copy h2 {
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.02;
  margin: 16px 0 12px;
  max-width: 760px;
}
.pfc-game-copy p {
  color: rgba(255,255,255,.83);
  font-size: 17px;
  max-width: 760px;
}
.pfc-roadmap-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 0 24px;
}
.pfc-roadmap-pills span {
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  padding: 9px 12px;
  color: rgba(255,255,255,.92);
  font-weight: 850;
  font-size: 13px;
}

.pfc-light-demo {
  background:
    radial-gradient(circle at 50% 36%, rgba(255,214,99,.24), transparent 23%),
    linear-gradient(180deg, #0a1148, #16115d 70%, #221176);
  color: #fff;
  min-height: 360px;
}
.pfc-light-demo h3 {
  font-size: 28px;
  margin: 0 0 8px;
  letter-spacing: -.04em;
}
.pfc-light-demo p {
  margin: 0;
  color: rgba(255,255,255,.78);
}
.pfc-demo-bridge {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  align-items: center;
  margin: 44px 0 28px;
  position: relative;
}
.pfc-demo-bridge::before {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  top: 50%;
  height: 4px;
  background: linear-gradient(90deg, rgba(255,214,99,.2), rgba(255,214,99,.75), rgba(75,212,214,.35));
  border-radius: 999px;
  box-shadow: 0 0 24px rgba(255,214,99,.24);
}
.pfc-demo-bridge button {
  position: relative;
  z-index: 2;
  width: 74px;
  height: 74px;
  border: 0;
  border-radius: 50%;
  margin: 0 auto;
  background: rgba(255,255,255,.10);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18), 0 18px 32px rgba(0,0,0,.20);
  cursor: pointer;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.pfc-demo-bridge button span {
  display: block;
  width: 34px;
  height: 34px;
  margin: 20px;
  border-radius: 50%;
  background: #fff5b5;
  box-shadow: 0 0 22px #ffe47a, 0 0 54px rgba(255,214,99,.42);
  transform: scale(.72);
  opacity: .5;
  transition: transform .22s ease, opacity .22s ease;
}
.pfc-demo-bridge button:hover,
.pfc-demo-bridge button.is-lit {
  transform: translateY(-6px) scale(1.06);
  background: rgba(255,214,99,.20);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.30), 0 20px 38px rgba(255,214,99,.18);
}
.pfc-demo-bridge button.is-lit span {
  opacity: 1;
  transform: scale(1);
}
.pfc-demo-status {
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  padding: 14px 16px;
  color: #fff;
  font-weight: 850;
}
.pfc-light-demo.is-complete {
  box-shadow: 0 26px 64px rgba(255,214,99,.22), 0 26px 56px rgba(18,23,85,.10);
}
.pfc-light-demo.is-shake {
  animation: pfcShake .45s ease;
}
@keyframes pfcShake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-6px); }
  50% { transform: translateX(6px); }
  75% { transform: translateX(-4px); }
}

.pfc-mini-intro {
  max-width: 860px;
  text-align: center;
}
.pfc-mini-intro h2 {
  font-size: clamp(30px, 4vw, 48px);
  letter-spacing: -.055em;
  margin: 0 0 10px;
}
.pfc-mini-intro p {
  color: #4d567d;
  font-size: 18px;
}

/* More visual cards */
.lz-step,
.lz-game-card,
.lz-partner-card,
.lz-safety-items article,
.pfc-rich-card,
.pfc-principle,
.pfc-flow-grid article,
.pfc-story-card {
  border: 2px solid rgba(255,255,255,.72) !important;
}
.lz-step:hover,
.lz-game-card:hover,
.lz-partner-card:hover,
.pfc-rich-card:hover,
.pfc-principle:hover {
  transform: translateY(-7px) rotate(-.6deg);
}

@media (max-width: 991px) {
  .pfc-game-plan-inner {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .pfc-mobile-intro {
    padding-top: 96px;
  }
  .pfc-game-plan {
    padding-top: 22px;
  }
  .pfc-game-copy,
  .pfc-light-demo {
    border-radius: 26px;
    padding: 22px;
  }
  .pfc-demo-bridge {
    gap: 8px;
  }
  .pfc-demo-bridge button {
    width: 58px;
    height: 58px;
  }
  .pfc-demo-bridge button span {
    width: 28px;
    height: 28px;
    margin: 15px;
  }
}


/* v1.8.0 — public-friendly mini-game lab and better Spark Bridge demo */
.pfc-game-lab .pfc-game-copy h2 {
  max-width: 780px;
}
.pfc-demo-topline {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin: 18px 0 12px;
}
.pfc-demo-topline span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  padding: 8px 11px;
  color: rgba(255,255,255,.90);
  font-weight: 850;
  font-size: 13px;
}
.pfc-demo-timer {
  height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  overflow: hidden;
  margin: 0 0 18px;
}
.pfc-demo-timer span {
  display: block;
  height: 100%;
  width: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #4bd4d6, #ffd663);
  box-shadow: 0 0 22px rgba(255,214,99,.45);
  transition: width .12s linear;
}
.pfc-demo-bridge button.is-next {
  animation: pfcPulseNext 1s ease-in-out infinite;
}
.pfc-demo-bridge button.is-wrong {
  background: rgba(255,80,100,.22);
  box-shadow: 0 0 0 2px rgba(255,80,100,.38), 0 18px 32px rgba(0,0,0,.20);
}
@keyframes pfcPulseNext {
  0%, 100% { box-shadow: inset 0 0 0 1px rgba(255,255,255,.28), 0 0 0 0 rgba(255,214,99,.20), 0 18px 32px rgba(0,0,0,.20); }
  50% { box-shadow: inset 0 0 0 1px rgba(255,255,255,.38), 0 0 0 12px rgba(255,214,99,.10), 0 18px 32px rgba(0,0,0,.20); }
}
.pfc-demo-reset {
  margin-top: 12px;
  border: 0;
  border-radius: 999px;
  padding: 10px 14px;
  background: rgba(255,255,255,.12);
  color: #fff;
  font-weight: 850;
  cursor: pointer;
}
.pfc-demo-reset:hover {
  background: rgba(255,255,255,.18);
}


/* v1.8.1 — remove public technical strategy copy; show two visual mini-game demos instead */
.pfc-lab-heading {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.pfc-lab-heading .pfc-eyebrow-dark {
  background: linear-gradient(135deg, #ffdf70, #ffd663);
  color: #12133d;
  margin-bottom: 12px;
}
.pfc-arcade-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: stretch;
}
.pfc-arcade-grid .pfc-light-demo,
.pfc-arcade-grid .pfc-star-demo {
  min-height: 430px;
  border-radius: 34px;
  padding: 28px;
  color: #fff;
  box-shadow: 0 28px 60px rgba(18,23,85,.16);
  overflow: hidden;
  position: relative;
}
.pfc-arcade-grid .pfc-light-demo {
  background:
    radial-gradient(circle at 50% 36%, rgba(255,214,99,.24), transparent 23%),
    linear-gradient(180deg, #0a1148, #16115d 70%, #221176);
}
.pfc-star-demo {
  background:
    radial-gradient(circle at 75% 20%, rgba(255,214,99,.22), transparent 22%),
    radial-gradient(circle at 22% 42%, rgba(75,212,214,.18), transparent 25%),
    linear-gradient(180deg, #071039, #10195d 62%, #211166);
}
.pfc-star-demo h3,
.pfc-light-demo h3 {
  font-size: 28px;
  margin: 0 0 8px;
  letter-spacing: -.04em;
}
.pfc-star-demo p,
.pfc-light-demo p {
  margin: 0 0 16px;
  color: rgba(255,255,255,.78);
}
.pfc-star-sky {
  position: relative;
  height: 230px;
  margin: 20px 0 18px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 20% 25%, rgba(255,255,255,.20) 0 1px, transparent 2px),
    radial-gradient(circle at 70% 15%, rgba(255,255,255,.24) 0 1px, transparent 2px),
    radial-gradient(circle at 82% 72%, rgba(255,255,255,.20) 0 1px, transparent 2px),
    rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}
.pfc-star-sky svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.pfc-star-sky polyline {
  fill: none;
  stroke: rgba(255,214,99,.88);
  stroke-width: 7;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 10px rgba(255,214,99,.6));
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  transition: stroke-dashoffset .5s ease;
}
.pfc-star-sky button {
  position: absolute;
  z-index: 2;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  border: 0;
  background: rgba(255,255,255,.10);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16), 0 16px 28px rgba(0,0,0,.18);
  cursor: pointer;
  transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
}
.pfc-star-sky button span {
  display: block;
  width: 28px;
  height: 28px;
  margin: 17px;
  background: #fff2a6;
  clip-path: polygon(50% 0, 61% 37%, 100% 50%, 61% 63%, 50% 100%, 39% 63%, 0 50%, 39% 37%);
  opacity: .45;
  filter: drop-shadow(0 0 12px rgba(255,214,99,.5));
}
.pfc-star-sky button:hover,
.pfc-star-sky button.is-lit {
  transform: translateY(-5px) scale(1.07);
  background: rgba(255,214,99,.20);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.28), 0 22px 38px rgba(255,214,99,.16);
}
.pfc-star-sky button.is-lit span {
  opacity: 1;
  filter: drop-shadow(0 0 18px rgba(255,214,99,.9));
}
.pfc-star-sky button:nth-of-type(1) { left: 11%; top: 52%; }
.pfc-star-sky button:nth-of-type(2) { left: 29%; top: 18%; }
.pfc-star-sky button:nth-of-type(3) { left: 47%; top: 38%; }
.pfc-star-sky button:nth-of-type(4) { left: 65%; top: 10%; }
.pfc-star-sky button:nth-of-type(5) { left: 78%; top: 58%; }

.pfc-star-status {
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  padding: 14px 16px;
  color: #fff;
  font-weight: 850;
}
.pfc-star-demo.is-complete {
  box-shadow: 0 28px 70px rgba(255,214,99,.20), 0 28px 60px rgba(18,23,85,.16);
}

@media (max-width: 991px) {
  .pfc-arcade-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .pfc-arcade-grid .pfc-light-demo,
  .pfc-arcade-grid .pfc-star-demo {
    border-radius: 26px;
    padding: 22px;
    min-height: auto;
  }
}


/* v2.0.0 — product-ready content sections */
.pfc-proof-section,
.pfc-pilot-preview,
.pfc-faq-preview {
  padding: 38px 0;
  position: relative;
  overflow: hidden;
}
.pfc-proof-section {
  background: linear-gradient(180deg, #fff, #f8f9ff);
}
.pfc-proof-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 28px;
  align-items: center;
}
.pfc-proof-copy {
  background: linear-gradient(135deg, #101062, #2f1fb3);
  color: #fff;
  border-radius: 32px;
  padding: 32px;
  box-shadow: 0 28px 56px rgba(22, 24, 86, .14);
}
.pfc-proof-copy h2,
.pfc-pilot-inner h2 {
  font-size: clamp(32px, 4vw, 54px);
  line-height: 1.02;
  letter-spacing: -.06em;
  margin: 16px 0 12px;
}
.pfc-proof-copy p,
.pfc-pilot-inner p {
  color: rgba(255,255,255,.82);
  font-size: 17px;
}
.pfc-proof-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.pfc-proof-cards article {
  min-height: 170px;
  display: grid;
  align-content: center;
  gap: 9px;
  padding: 24px;
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 24px 48px rgba(18, 23, 85, .09);
  border: 2px solid rgba(255,255,255,.72);
}
.pfc-proof-cards article:nth-child(1) { background: linear-gradient(180deg,#fff,#fbf7ff); transform: rotate(-1.2deg); }
.pfc-proof-cards article:nth-child(2) { background: linear-gradient(180deg,#fff,#f2fcff); transform: rotate(1deg); }
.pfc-proof-cards article:nth-child(3) { background: linear-gradient(180deg,#fff,#fff7e9); transform: rotate(-.7deg); }
.pfc-proof-cards strong {
  font-size: 20px;
  color: #11133f;
}
.pfc-proof-cards span {
  color: #515a80;
}
.pfc-pilot-preview {
  background:
    radial-gradient(circle at 10% 10%, rgba(255,214,99,.16), transparent 22%),
    radial-gradient(circle at 92% 5%, rgba(75,212,214,.16), transparent 22%),
    linear-gradient(180deg, #fff, #f9fbff);
}
.pfc-pilot-inner {
  background: linear-gradient(135deg, #080d3d, #151c69 56%, #2437a8);
  color: #fff;
  border-radius: 38px;
  padding: 34px;
  box-shadow: 0 30px 64px rgba(22, 24, 86, .16);
}
.pfc-pilot-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin: 24px 0 24px;
}
.pfc-pilot-steps article {
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 26px;
  padding: 22px;
}
.pfc-pilot-steps b {
  display: inline-grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 16px;
  background: linear-gradient(135deg, #ffe47a, #ffc955);
  color: #11133f;
  margin-bottom: 14px;
}
.pfc-pilot-steps h3 { margin: 0 0 8px; font-size: 20px; }
.pfc-pilot-steps p { margin: 0; font-size: 14px; color: rgba(255,255,255,.76); }
.pfc-faq-preview {
  background: linear-gradient(180deg, #fff, #f7f8ff);
}
.pfc-faq-list {
  display: grid;
  gap: 14px;
  max-width: 980px;
  margin: 0 auto;
}
.pfc-faq-list details {
  border: 0;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 38px rgba(18, 23, 85, .08);
  padding: 0;
  overflow: hidden;
}
.pfc-faq-list summary {
  cursor: pointer;
  list-style: none;
  padding: 20px 24px;
  font-weight: 950;
  color: #11133f;
}
.pfc-faq-list summary::-webkit-details-marker { display: none; }
.pfc-faq-list summary::after {
  content: "+";
  float: right;
  color: #7d5cff;
  font-size: 24px;
  line-height: 1;
}
.pfc-faq-list details[open] summary::after {
  content: "–";
}
.pfc-faq-list p {
  margin: 0;
  padding: 0 24px 22px;
  color: #515a80;
}
.pfc-faq-link {
  display: flex;
  justify-content: center;
  margin-top: 22px;
}
.pfc-faq-page {
  max-width: 1060px;
}
.lz-footer-grid {
  align-items: start;
}
.pfc-story-card .lz-btn {
  margin-top: 16px;
}

@media (max-width: 991px) {
  .pfc-proof-grid,
  .pfc-proof-cards,
  .pfc-pilot-steps {
    grid-template-columns: 1fr;
  }
  .pfc-proof-cards article {
    transform: none !important;
    min-height: auto;
  }
}
@media (max-width: 767px) {
  .pfc-proof-copy,
  .pfc-pilot-inner {
    border-radius: 28px;
    padding: 24px;
  }
  .pfc-proof-section,
  .pfc-pilot-preview,
  .pfc-faq-preview {
    padding: 28px 0;
  }
}


/* v2.1.0 — mobile hero cleanup + game worlds for age groups */
@media (max-width: 767px) {
  .pfc-hero-simple {
    background: #050a31 !important;
  }
  .pfc-hero-simple-wrap {
    overflow: hidden !important;
    background: #050a31 !important;
  }
  .pfc-hero-simple-image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 !important;
  }
  .pfc-mobile-intro {
    padding-bottom: 18px !important;
  }
  .pfc-hero-mobile-actions {
    padding-top: 16px !important;
  }
}

/* Game worlds / age category section */
.pfc-age-worlds {
  padding: 44px 0;
  background:
    radial-gradient(circle at 12% 20%, rgba(255,214,99,.18), transparent 22%),
    radial-gradient(circle at 88% 10%, rgba(75,212,214,.16), transparent 24%),
    linear-gradient(180deg, #fff, #f7f9ff);
  overflow: hidden;
}
.pfc-age-worlds-head {
  text-align: center;
  max-width: 930px;
  margin: 0 auto 28px;
}
.pfc-age-worlds-head .pfc-eyebrow-dark {
  background: linear-gradient(135deg, #ffdf70, #ffd663);
  color: #11133f;
  margin-bottom: 14px;
}
.pfc-age-worlds-head h2 {
  font-size: clamp(34px, 5vw, 60px);
  line-height: 1;
  letter-spacing: -.065em;
  margin: 0 0 12px;
}
.pfc-age-worlds-head p {
  color: #4e587f;
  font-size: 18px;
  margin: 0;
}
.pfc-age-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.pfc-age-card {
  position: relative;
  overflow: hidden;
  min-height: 260px;
  border-radius: 34px;
  padding: 24px;
  box-shadow: 0 26px 56px rgba(18,23,85,.11);
  border: 2px solid rgba(255,255,255,.72);
  transition: transform .3s ease, box-shadow .3s ease;
}
.pfc-age-card:hover {
  transform: translateY(-8px) rotate(-.8deg);
  box-shadow: 0 34px 70px rgba(18,23,85,.16);
}
.pfc-age-card::after {
  content: "";
  position: absolute;
  right: -28px;
  top: -28px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: rgba(255,255,255,.32);
}
.pfc-age-card span {
  display: inline-grid;
  place-items: center;
  min-width: 72px;
  height: 44px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  font-weight: 950;
  color: #11133f;
  margin-bottom: 18px;
  box-shadow: 0 14px 24px rgba(18,23,85,.08);
}
.pfc-age-card h3 {
  margin: 0 0 10px;
  font-size: 24px;
  line-height: 1;
  letter-spacing: -.04em;
}
.pfc-age-card p {
  color: #4d567d;
  margin: 0 0 16px;
}
.pfc-age-card b {
  display: inline-flex;
  color: #11133f;
  background: rgba(255,255,255,.58);
  border-radius: 999px;
  padding: 8px 11px;
  font-size: 12px;
}
.pfc-age-card--sun { background: linear-gradient(180deg, #fff8d9, #fff3b4); }
.pfc-age-card--teal { background: linear-gradient(180deg, #e9fdff, #d8f7fb); }
.pfc-age-card--violet { background: linear-gradient(180deg, #f4eeff, #e8ddff); }
.pfc-age-card--blue { background: linear-gradient(180deg, #eaf3ff, #dceaff); }
.pfc-age-note {
  margin: 22px auto 0;
  max-width: 900px;
  text-align: center;
  background: #fff;
  border-radius: 24px;
  padding: 18px 22px;
  box-shadow: 0 18px 38px rgba(18,23,85,.08);
  color: #4f587f;
}
.pfc-age-note strong {
  color: #11133f;
}
.pfc-age-grid-page {
  grid-template-columns: repeat(2, 1fr);
}
.pfc-age-grid-page .pfc-age-card {
  min-height: 240px;
}

/* Product vision */
.pfc-product-vision {
  padding: 42px 0;
  background:
    radial-gradient(circle at 88% 10%, rgba(125,92,255,.15), transparent 26%),
    linear-gradient(180deg, #fff, #f9fbff);
}
.pfc-product-vision-inner {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 26px;
  align-items: center;
}
.pfc-product-vision-inner > div:first-child {
  background: linear-gradient(135deg, #101062, #2f1fb3);
  color: #fff;
  border-radius: 34px;
  padding: 32px;
  box-shadow: 0 28px 56px rgba(18,23,85,.14);
}
.pfc-product-vision h2 {
  font-size: clamp(32px, 4vw, 54px);
  line-height: 1.02;
  letter-spacing: -.06em;
  margin: 14px 0 12px;
}
.pfc-product-vision p {
  color: rgba(255,255,255,.82);
  font-size: 17px;
}
.pfc-vision-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.pfc-vision-list article {
  background: #fff;
  border-radius: 28px;
  padding: 22px;
  box-shadow: 0 22px 44px rgba(18,23,85,.09);
  border: 2px solid rgba(255,255,255,.72);
}
.pfc-vision-list span {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: linear-gradient(135deg, #ffe47a, #ffc955);
  margin-bottom: 14px;
  font-size: 24px;
}
.pfc-vision-list h3 {
  margin: 0 0 8px;
  font-size: 21px;
}
.pfc-vision-list p {
  color: #4d567d;
  margin: 0;
  font-size: 15px;
}

@media (max-width: 991px) {
  .pfc-age-grid,
  .pfc-age-grid-page,
  .pfc-product-vision-inner,
  .pfc-vision-list {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .pfc-age-worlds,
  .pfc-product-vision {
    padding: 30px 0;
  }
  .pfc-age-card {
    min-height: auto;
    border-radius: 26px;
  }
  .pfc-product-vision-inner > div:first-child {
    border-radius: 28px;
    padding: 24px;
  }
}


/* v2.2.0 — more playful/cartoon-like look, better mobile game demo rendering */
:root {
  --pfc-ink-violet: #4d33d7;
  --pfc-ink-blue: #2439cb;
  --pfc-ink-cyan: #63e5e6;
  --pfc-ink-yellow: #ffd663;
  --pfc-ink-pink: #ff83d1;
}

/* More playful heading treatment */
.lz-section-heading h2,
.pfc-age-worlds-head h2,
.pfc-product-vision h2,
.pfc-proof-copy h2,
.pfc-pilot-inner h2 {
  text-wrap: balance;
}

.lz-section-heading h2 {
  position: relative;
  display: inline-block;
}
.lz-section-heading h2::after {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: -8px;
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255,214,99,.00), rgba(255,214,99,.75), rgba(117,219,235,.72), rgba(255,214,99,.00));
  z-index: -1;
  filter: blur(1px);
}

/* Homepage blocks less standard / more playful */
.lz-steps-grid .lz-step-card,
.lz-example-grid .lz-example-card,
.lz-partner-grid .lz-partner-card,
.pfc-proof-cards article,
.pfc-faq-list details,
.pfc-age-card,
.pfc-vision-list article {
  position: relative;
  overflow: hidden;
  border-width: 2px !important;
}

.lz-steps-grid .lz-step-card::before,
.lz-example-grid .lz-example-card::before,
.lz-partner-grid .lz-partner-card::before,
.pfc-proof-cards article::before,
.pfc-age-card::before,
.pfc-vision-list article::before {
  content: "";
  position: absolute;
  width: 110px;
  height: 110px;
  right: -26px;
  top: -26px;
  border-radius: 34px;
  background: rgba(255,255,255,.38);
  transform: rotate(22deg);
}

.lz-steps-grid .lz-step-card:nth-child(1) {
  border-radius: 30px 42px 30px 48px;
  transform: rotate(-1.2deg);
  background: linear-gradient(180deg, #fff, #fbf7ff);
}
.lz-steps-grid .lz-step-card:nth-child(2) {
  border-radius: 42px 32px 48px 30px;
  transform: rotate(1deg);
  background: linear-gradient(180deg, #fff, #eefbff);
}
.lz-steps-grid .lz-step-card:nth-child(3) {
  border-radius: 32px 46px 32px 46px;
  transform: rotate(-.8deg);
  background: linear-gradient(180deg, #fff, #f4fffa);
}
.lz-steps-grid .lz-step-card:nth-child(4) {
  border-radius: 46px 32px 42px 34px;
  transform: rotate(.9deg);
  background: linear-gradient(180deg, #fff, #fff9ed);
}

.lz-example-grid .lz-example-card:nth-child(1) { border-radius: 26px 34px 26px 40px; }
.lz-example-grid .lz-example-card:nth-child(2) { border-radius: 34px 26px 40px 26px; }
.lz-example-grid .lz-example-card:nth-child(3) { border-radius: 28px 40px 28px 34px; }
.lz-example-grid .lz-example-card:nth-child(4) { border-radius: 38px 28px 34px 28px; }

.lz-partner-grid .lz-partner-card:nth-child(1) { border-radius: 30px 44px 32px 44px; }
.lz-partner-grid .lz-partner-card:nth-child(2) { border-radius: 42px 32px 44px 32px; }
.lz-partner-grid .lz-partner-card:nth-child(3) { border-radius: 30px 42px 30px 48px; }

.lz-steps-grid .lz-step-card:hover,
.lz-example-grid .lz-example-card:hover,
.lz-partner-grid .lz-partner-card:hover {
  transform: translateY(-8px) scale(1.01) rotate(0deg);
}

/* Buttons more youthful and bouncy */
.lz-btn,
.pfc-demo-reset {
  box-shadow: 0 10px 0 rgba(10,14,62,.08), 0 16px 34px rgba(18,23,85,.16);
}
.lz-btn:hover,
.pfc-demo-reset:hover {
  transform: translateY(-2px);
}
.lz-btn-primary {
  background: linear-gradient(135deg, #ffd663, #ffcb47);
}
.lz-btn-secondary {
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(5px);
}

/* Demo cards: more colorful / playful */
.pfc-arcade-grid .pfc-light-demo,
.pfc-arcade-grid .pfc-star-demo {
  border-radius: 34px 42px 34px 42px;
}
.pfc-arcade-grid .pfc-light-demo::before,
.pfc-arcade-grid .pfc-star-demo::before {
  content: "";
  position: absolute;
  inset: auto auto -26px -22px;
  width: 120px;
  height: 120px;
  border-radius: 34px;
  background: rgba(255,255,255,.08);
  transform: rotate(18deg);
}
.pfc-light-demo h3,
.pfc-star-demo h3 {
  font-size: 32px;
  letter-spacing: -.05em;
}
.pfc-demo-status,
.pfc-star-status {
  border-radius: 22px;
  font-size: 18px;
  font-weight: 900;
}
.pfc-demo-bridge button,
.pfc-star-sky button {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16), 0 12px 24px rgba(0,0,0,.22);
}

/* Safety cards less dry */
.lz-safety-row {
  border-radius: 34px;
  overflow: hidden;
}
.lz-safety-row > * {
  position: relative;
}
.lz-safety-row > *::after {
  content: "";
  position: absolute;
  width: 80px;
  height: 80px;
  top: -16px;
  right: -16px;
  border-radius: 24px;
  background: rgba(255,255,255,.30);
  transform: rotate(25deg);
  pointer-events: none;
}

/* Slightly more fun footer CTA */
.lz-bottom-cta {
  overflow: hidden;
}
.lz-bottom-cta::before {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  left: -50px;
  bottom: -60px;
  border-radius: 40px;
  background: rgba(255,255,255,.08);
  transform: rotate(20deg);
}

/* Scroll-to-top button: better position on mobile */
.pfc-scroll-top,
.lz-scroll-top {
  z-index: 60;
}
@media (max-width: 767px) {
  .pfc-scroll-top,
  .lz-scroll-top {
    width: 56px !important;
    height: 56px !important;
    right: 14px !important;
    bottom: 18px !important;
  }
}

/* Mobile hero and games: fix visibility, spacing, no cut-off */
@media (max-width: 767px) {
  .pfc-hero-simple {
    padding-top: 0 !important;
  }
  .pfc-hero-simple-wrap {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .pfc-mobile-intro {
    padding: 18px 18px 12px !important;
  }
  .pfc-hero-simple-image {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    height: auto !important;
  }

  .lz-steps-grid .lz-step-card,
  .lz-example-grid .lz-example-card,
  .lz-partner-grid .lz-partner-card {
    transform: none !important;
    border-radius: 24px 30px 24px 30px !important;
  }

  .pfc-arcade-grid {
    gap: 16px !important;
  }
  .pfc-arcade-grid .pfc-light-demo,
  .pfc-arcade-grid .pfc-star-demo {
    min-height: auto !important;
    padding: 18px !important;
    border-radius: 24px 30px 24px 30px !important;
  }
  .pfc-light-demo h3,
  .pfc-star-demo h3 {
    font-size: 22px !important;
    margin-bottom: 8px !important;
  }
  .pfc-light-demo p,
  .pfc-star-demo p {
    font-size: 14px !important;
    line-height: 1.45 !important;
    margin-bottom: 12px !important;
  }
  .pfc-demo-topline {
    gap: 8px !important;
    margin: 10px 0 !important;
  }
  .pfc-demo-topline span {
    padding: 8px 10px !important;
    font-size: 12px !important;
  }
  .pfc-demo-timer {
    margin-bottom: 12px !important;
  }

  .pfc-demo-bridge {
    gap: 10px !important;
    margin: 10px 0 12px !important;
    padding: 8px 0 !important;
  }
  .pfc-demo-bridge::before {
    left: 28px !important;
    right: 28px !important;
  }
  .pfc-demo-bridge button {
    width: 52px !important;
    height: 52px !important;
    flex: 0 0 52px !important;
  }
  .pfc-demo-bridge button span {
    width: 18px !important;
    height: 18px !important;
    margin: 17px !important;
  }

  .pfc-star-sky {
    height: 170px !important;
    margin: 12px 0 12px !important;
    border-radius: 20px !important;
  }
  .pfc-star-sky button {
    width: 46px !important;
    height: 46px !important;
  }
  .pfc-star-sky button span {
    width: 20px !important;
    height: 20px !important;
    margin: 13px !important;
  }

  .pfc-demo-status,
  .pfc-star-status {
    font-size: 15px !important;
    line-height: 1.3 !important;
    padding: 12px 14px !important;
    margin-top: 8px !important;
  }
  .pfc-demo-reset {
    width: 100% !important;
    margin-top: 10px !important;
    justify-content: center !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
  }
}

/* Tablet tune */
@media (min-width: 768px) and (max-width: 991px) {
  .pfc-arcade-grid .pfc-light-demo,
  .pfc-arcade-grid .pfc-star-demo {
    min-height: auto;
  }
}


/* v2.3.0 — stronger game content, concrete game modes and more polished product sections */
.pfc-age-modes {
  padding: 42px 0;
  background:
    radial-gradient(circle at 8% 18%, rgba(255,131,209,.14), transparent 23%),
    radial-gradient(circle at 92% 8%, rgba(99,229,230,.16), transparent 24%),
    linear-gradient(180deg, #fff, #f9fbff);
}
.pfc-mode-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.pfc-mode-card {
  border-radius: 30px 42px 30px 42px;
  padding: 22px;
  min-height: 320px;
  box-shadow: 0 26px 56px rgba(18,23,85,.10);
  border: 2px solid rgba(255,255,255,.72);
  position: relative;
  overflow: hidden;
  transition: transform .28s ease, box-shadow .28s ease;
}
.pfc-mode-card:hover {
  transform: translateY(-8px) rotate(-.8deg);
  box-shadow: 0 34px 70px rgba(18,23,85,.16);
}
.pfc-mode-card::after {
  content: "";
  position: absolute;
  right: -36px;
  top: -36px;
  width: 128px;
  height: 128px;
  border-radius: 36px;
  background: rgba(255,255,255,.35);
  transform: rotate(22deg);
}
.pfc-mode-card span {
  display: inline-flex;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.68);
  color: #11133f;
  font-weight: 950;
  margin-bottom: 16px;
}
.pfc-mode-card h3 {
  margin: 0 0 12px;
  font-size: 25px;
  line-height: 1;
  letter-spacing: -.045em;
}
.pfc-mode-card ul {
  display: grid;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.pfc-mode-card li {
  color: #4d567d;
  line-height: 1.35;
}
.pfc-mode-card li strong {
  color: #11133f;
}
.pfc-mode-card--sun { background: linear-gradient(180deg, #fff8d9, #fff0ae); }
.pfc-mode-card--teal { background: linear-gradient(180deg, #e9fdff, #d5f7fb); }
.pfc-mode-card--violet { background: linear-gradient(180deg, #f5efff, #e8ddff); }
.pfc-mode-card--blue { background: linear-gradient(180deg, #eaf3ff, #dbeaff); }

.pfc-session-flow {
  padding: 42px 0;
  background:
    radial-gradient(circle at 18% 12%, rgba(255,214,99,.16), transparent 24%),
    radial-gradient(circle at 88% 30%, rgba(125,92,255,.14), transparent 25%),
    linear-gradient(180deg, #fff, #f7f8ff);
}
.pfc-session-inner {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 26px;
  align-items: center;
}
.pfc-session-copy {
  background: linear-gradient(135deg, #080d3d, #151c69 56%, #2437a8);
  color: #fff;
  border-radius: 34px;
  padding: 32px;
  box-shadow: 0 28px 56px rgba(18,23,85,.14);
}
.pfc-session-copy h2 {
  margin: 14px 0 12px;
  font-size: clamp(32px, 4vw, 54px);
  line-height: 1.02;
  letter-spacing: -.06em;
}
.pfc-session-copy p {
  color: rgba(255,255,255,.82);
  font-size: 17px;
}
.pfc-session-steps {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.pfc-session-steps article {
  background: #fff;
  border-radius: 30px;
  padding: 22px;
  box-shadow: 0 24px 48px rgba(18,23,85,.09);
  border: 2px solid rgba(255,255,255,.72);
}
.pfc-session-steps b {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: linear-gradient(135deg, #ffe47a, #ffc955);
  color: #11133f;
  margin-bottom: 14px;
}
.pfc-session-steps h3 {
  margin: 0 0 8px;
  font-size: 21px;
}
.pfc-session-steps p {
  margin: 0;
  color: #4d567d;
}

.pfc-world-table {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.pfc-world-table article {
  background: #fff;
  border-radius: 28px;
  padding: 22px;
  box-shadow: 0 22px 44px rgba(18,23,85,.08);
  border: 2px solid rgba(255,255,255,.72);
}
.pfc-world-table h3 {
  margin: 0 0 10px;
  font-size: 21px;
}
.pfc-world-table p {
  margin: 0 0 12px;
  color: #4d567d;
}
.pfc-world-table ul {
  margin: 0;
  padding-left: 18px;
  color: #4d567d;
}

.pfc-rich-card:hover,
.pfc-world-table article:hover,
.pfc-session-steps article:hover {
  transform: translateY(-6px);
}

@media (max-width: 991px) {
  .pfc-mode-grid,
  .pfc-world-table,
  .pfc-session-inner,
  .pfc-session-steps {
    grid-template-columns: 1fr;
  }
  .pfc-mode-card {
    min-height: auto;
  }
}
@media (max-width: 767px) {
  .pfc-age-modes,
  .pfc-session-flow {
    padding: 30px 0;
  }
  .pfc-mode-card,
  .pfc-session-copy,
  .pfc-session-steps article {
    border-radius: 26px;
    padding: 20px;
  }
}


/* v2.4.0 — stronger whimsical/cartoon website direction inspired by playful illustrated sites */
:root {
  --pfc-outline: #1a2070;
  --pfc-shadow: 0 12px 0 rgba(26, 32, 112, .08), 0 22px 50px rgba(18,23,85,.12);
  --pfc-soft-cream: #fff9ef;
  --pfc-soft-sky: #eef8ff;
  --pfc-soft-mint: #effff6;
  --pfc-soft-peach: #fff3ea;
}

/* Global paper-like feel */
body {
  background:
    radial-gradient(circle at 8% 8%, rgba(255,214,99,.10), transparent 20%),
    radial-gradient(circle at 92% 12%, rgba(116,226,233,.10), transparent 24%),
    linear-gradient(180deg, #fffdf8, #f7fbff);
}

.lz-section-heading {
  margin-bottom: 28px;
}
.lz-section-heading p {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

/* playful top navigation */
.site-header,
.lz-header,
header[role="banner"] {
  backdrop-filter: blur(12px);
}
.lz-nav a,
.site-header nav a {
  position: relative;
  border-radius: 999px;
}
.lz-nav a:hover,
.site-header nav a:hover {
  background: rgba(255,255,255,.08);
}
.lz-nav a.current-menu-item,
.lz-nav a[aria-current="page"] {
  background: rgba(255,214,99,.12);
}

/* Hero text gets more energy */
.pfc-hero-simple-copy h1,
.pfc-mobile-intro h1 {
  text-shadow: 0 4px 16px rgba(0,0,0,.14);
}
.pfc-hero-simple-copy h1 .accent,
.pfc-mobile-intro h1 .accent {
  text-shadow: 0 0 26px rgba(255,214,99,.18);
}

/* Section shells */
#steps,
#why-it-matters,
#safety,
#mini-games-preview,
#age-game-modes,
#product-vision,
#session-flow,
#partners,
#faq-preview {
  position: relative;
  overflow: hidden;
}
#steps::before,
#why-it-matters::before,
#mini-games-preview::before,
#age-game-modes::before,
#session-flow::before,
#partners::before,
#faq-preview::before {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  border-radius: 44px;
  transform: rotate(18deg);
  background: rgba(255,255,255,.48);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.55);
  pointer-events: none;
}
#steps::before { top: 28px; right: -100px; }
#why-it-matters::before { left: -120px; bottom: -80px; }
#mini-games-preview::before { right: -110px; top: 70px; }
#age-game-modes::before { left: -100px; top: 40px; }
#session-flow::before { right: -90px; bottom: -90px; }
#partners::before { left: -110px; top: 40px; }
#faq-preview::before { right: -100px; top: 10px; }

/* Illustrated band backgrounds */
#steps {
  background:
    radial-gradient(circle at 10% 10%, rgba(126,234,241,.16), transparent 26%),
    radial-gradient(circle at 90% 16%, rgba(255,214,99,.16), transparent 26%),
    linear-gradient(180deg, #ffffff, #f8fbff);
}
#why-it-matters {
  background:
    radial-gradient(circle at 80% 10%, rgba(255,131,209,.12), transparent 24%),
    linear-gradient(180deg, #f8fbff, #f6f1ff);
}
#mini-games-preview {
  background:
    radial-gradient(circle at 18% 10%, rgba(255,214,99,.12), transparent 24%),
    linear-gradient(180deg, #fffef9, #f2fbff);
}
#partners {
  background:
    radial-gradient(circle at 88% 10%, rgba(116,226,233,.16), transparent 24%),
    linear-gradient(180deg, #fff, #fffaf0);
}
#faq-preview {
  background:
    radial-gradient(circle at 10% 15%, rgba(255,214,99,.14), transparent 24%),
    linear-gradient(180deg, #fff, #f8f7ff);
}

/* Reusable cartoon frame look */
.lz-step-card,
.lz-example-card,
.lz-partner-card,
.pfc-proof-cards article,
.pfc-age-card,
.pfc-mode-card,
.pfc-rich-card,
.pfc-world-table article,
.pfc-session-steps article,
.pfc-vision-list article,
.pfc-faq-list details {
  border: 3px solid rgba(26,32,112,.08) !important;
  box-shadow: var(--pfc-shadow) !important;
  background-clip: padding-box;
}

.lz-step-card,
.lz-example-card,
.lz-partner-card,
.pfc-proof-cards article,
.pfc-age-card,
.pfc-mode-card,
.pfc-rich-card,
.pfc-world-table article,
.pfc-session-steps article,
.pfc-vision-list article {
  position: relative;
}
.lz-step-card::after,
.lz-example-card::after,
.lz-partner-card::after,
.pfc-proof-cards article::after,
.pfc-age-card::after,
.pfc-mode-card::after,
.pfc-rich-card::after,
.pfc-world-table article::after,
.pfc-session-steps article::after,
.pfc-vision-list article::after {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: inherit;
  border: 1px dashed rgba(26,32,112,.10);
  pointer-events: none;
}

.lz-step-card {
  padding-top: 28px;
}
.lz-step-card .step-icon,
.lz-step-card .lz-step-icon,
.lz-example-card .card-icon,
.lz-example-card .lz-example-icon,
.lz-partner-card .card-icon,
.lz-partner-card .lz-partner-icon {
  box-shadow: 0 10px 20px rgba(18,23,85,.10);
}

/* Wobbly card shapes similar to idea refs */
.lz-step-card:nth-child(1),
.pfc-rich-card:nth-child(1),
.pfc-mode-card:nth-child(1) { border-radius: 28px 42px 34px 46px !important; }
.lz-step-card:nth-child(2),
.pfc-rich-card:nth-child(2),
.pfc-mode-card:nth-child(2) { border-radius: 42px 28px 46px 34px !important; }
.lz-step-card:nth-child(3),
.pfc-rich-card:nth-child(3),
.pfc-mode-card:nth-child(3) { border-radius: 34px 46px 28px 42px !important; }
.lz-step-card:nth-child(4),
.pfc-rich-card:nth-child(4),
.pfc-mode-card:nth-child(4) { border-radius: 46px 34px 42px 28px !important; }

.lz-example-card:nth-child(1),
.lz-partner-card:nth-child(1),
.pfc-world-table article:nth-child(1) { border-radius: 26px 36px 26px 40px !important; }
.lz-example-card:nth-child(2),
.lz-partner-card:nth-child(2),
.pfc-world-table article:nth-child(2) { border-radius: 36px 26px 40px 26px !important; }
.lz-example-card:nth-child(3),
.lz-partner-card:nth-child(3),
.pfc-world-table article:nth-child(3) { border-radius: 28px 40px 28px 34px !important; }
.lz-example-card:nth-child(4),
.pfc-world-table article:nth-child(4) { border-radius: 40px 28px 34px 28px !important; }

/* Little top color tabs */
.lz-step-card::before,
.lz-example-card::before,
.lz-partner-card::before,
.pfc-mode-card::before,
.pfc-rich-card::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 18px;
  width: 78px;
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ffd663, #6fe1ea, #7b5cff);
  pointer-events: none;
}
.pfc-rich-card::before {
  width: 90px;
}

/* Home cards get more color */
.lz-step-card:nth-child(1) { background: linear-gradient(180deg, #fff, #faf5ff) !important; }
.lz-step-card:nth-child(2) { background: linear-gradient(180deg, #fff, #effbff) !important; }
.lz-step-card:nth-child(3) { background: linear-gradient(180deg, #fff, #f3fff8) !important; }
.lz-step-card:nth-child(4) { background: linear-gradient(180deg, #fff, #fff9ed) !important; }

.lz-example-card:nth-child(1) { background: linear-gradient(180deg, #fff, #f7f1ff) !important; }
.lz-example-card:nth-child(2) { background: linear-gradient(180deg, #fff, #eefeff) !important; }
.lz-example-card:nth-child(3) { background: linear-gradient(180deg, #fff, #fff3ea) !important; }
.lz-example-card:nth-child(4) { background: linear-gradient(180deg, #fff, #eff5ff) !important; }

.lz-partner-card:nth-child(1) { background: linear-gradient(180deg, #fff, #f8f2ff) !important; }
.lz-partner-card:nth-child(2) { background: linear-gradient(180deg, #fff, #eefcff) !important; }
.lz-partner-card:nth-child(3) { background: linear-gradient(180deg, #fff, #fff7e6) !important; }

/* Why it matters stronger focal card */
.pfc-proof-copy {
  border-radius: 36px 52px 36px 52px !important;
  box-shadow: 0 18px 0 rgba(32,32,100,.08), 0 28px 56px rgba(18,23,85,.14) !important;
}
.pfc-proof-cards {
  align-items: stretch;
}
.pfc-proof-cards article {
  border-radius: 24px 34px 24px 34px !important;
}

/* FAQ cards like playful answer panels */
.pfc-faq-list details {
  border-radius: 24px 32px 24px 32px !important;
  background: linear-gradient(180deg, #fff, #fcfdff);
}
.pfc-faq-list details summary {
  font-weight: 900;
}

/* Buttons more illustrated */
.lz-btn,
.pfc-demo-reset {
  border: 2px solid rgba(12,16,66,.08);
  box-shadow: 0 8px 0 rgba(18,23,85,.08), 0 18px 34px rgba(18,23,85,.18);
}
.lz-btn-primary:hover,
.pfc-demo-reset:hover {
  box-shadow: 0 5px 0 rgba(18,23,85,.08), 0 18px 34px rgba(18,23,85,.18);
}
.lz-btn-secondary {
  border-color: rgba(255,255,255,.22);
}

/* Demo zone more playful */
.pfc-arcade-grid .pfc-light-demo,
.pfc-arcade-grid .pfc-star-demo {
  background:
    radial-gradient(circle at 20% 14%, rgba(255,255,255,.10), transparent 24%),
    linear-gradient(180deg, #151b67, #2534a3);
  border: 3px solid rgba(255,255,255,.08);
  box-shadow: 0 22px 60px rgba(18,23,85,.22);
}
.pfc-demo-status,
.pfc-star-status {
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
  border: 2px solid rgba(255,255,255,.08);
}
.pfc-demo-bridge button,
.pfc-star-sky button {
  border: 2px solid rgba(255,255,255,.12);
}
.pfc-demo-bridge button:hover,
.pfc-star-sky button:hover {
  transform: translateY(-2px) scale(1.02);
}

/* Product vision / session / worlds */
.pfc-product-vision-inner > div:first-child,
.pfc-session-copy {
  border: 3px solid rgba(255,255,255,.10);
}
.pfc-vision-list article,
.pfc-session-steps article,
.pfc-world-table article,
.pfc-rich-card {
  background: linear-gradient(180deg, #fff, #fbfdff);
}

/* Bottom CTA more scene-like */
.lz-bottom-cta {
  border-radius: 34px 54px 34px 54px !important;
  border: 3px solid rgba(255,255,255,.09);
  box-shadow: 0 20px 60px rgba(18,23,85,.18);
}
.lz-bottom-cta::after {
  content: "";
  position: absolute;
  right: -28px;
  top: -26px;
  width: 150px;
  height: 150px;
  border-radius: 36px;
  background: rgba(255,255,255,.08);
  transform: rotate(24deg);
}

/* scroll top becomes a playful coin */
.pfc-scroll-top,
.lz-scroll-top {
  border: 3px solid rgba(26,32,112,.08) !important;
  box-shadow: 0 8px 0 rgba(18,23,85,.08), 0 18px 28px rgba(18,23,85,.18) !important;
}

/* Mobile: keep fun style but simplify so it remains stable */
@media (max-width: 767px) {
  #steps::before,
  #why-it-matters::before,
  #mini-games-preview::before,
  #age-game-modes::before,
  #session-flow::before,
  #partners::before,
  #faq-preview::before {
    width: 140px;
    height: 140px;
  }

  .lz-step-card,
  .lz-example-card,
  .lz-partner-card,
  .pfc-proof-cards article,
  .pfc-age-card,
  .pfc-mode-card,
  .pfc-rich-card,
  .pfc-world-table article,
  .pfc-session-steps article,
  .pfc-vision-list article,
  .pfc-faq-list details {
    border-width: 2px !important;
    border-radius: 22px 28px 22px 28px !important;
  }

  .lz-step-card::before,
  .lz-example-card::before,
  .lz-partner-card::before,
  .pfc-mode-card::before,
  .pfc-rich-card::before {
    width: 64px;
    height: 8px;
    left: 14px;
  }

  .pfc-proof-copy {
    border-radius: 26px 32px 26px 32px !important;
  }

  .lz-bottom-cta {
    border-radius: 28px !important;
  }
}


/* v2.4.1 — mobile header fixed above hero, no overlap */
@media (max-width: 767px) {
  body {
    padding-top: 72px !important;
  }

  body.admin-bar {
    padding-top: 118px !important;
  }

  .lz-header,
  .site-header,
  header[role="banner"] {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    background: #050a31 !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: 0 10px 28px rgba(3, 7, 35, .32) !important;
    backdrop-filter: none !important;
  }

  body.admin-bar .lz-header,
  body.admin-bar .site-header,
  body.admin-bar header[role="banner"] {
    top: 46px !important;
  }

  .lz-header-inner {
    min-height: 72px !important;
    height: 72px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-items: center !important;
  }

  .lz-logo {
    transform: none !important;
  }

  .lz-menu-toggle {
    position: relative !important;
    z-index: 10001 !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
  }

  .lz-nav {
    position: fixed !important;
    top: 82px !important;
    left: 14px !important;
    right: 14px !important;
    z-index: 10000 !important;
    max-height: calc(100vh - 104px) !important;
    overflow-y: auto !important;
    background: #081044 !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 22px !important;
    padding: 14px !important;
    box-shadow: 0 24px 54px rgba(3,7,35,.45) !important;
  }

  body.admin-bar .lz-nav {
    top: 128px !important;
    max-height: calc(100vh - 150px) !important;
  }

  .lz-nav:not(.is-open) {
    display: none !important;
  }

  .lz-nav.is-open {
    display: grid !important;
    gap: 8px !important;
  }

  .lz-nav a {
    display: block !important;
    padding: 13px 14px !important;
    border-radius: 14px !important;
    color: #fff !important;
    background: rgba(255,255,255,.045) !important;
    font-weight: 850 !important;
  }

  .lz-nav a:hover {
    background: rgba(255,214,99,.14) !important;
  }

  /* The mobile hero starts below the fixed header. */
  .pfc-mobile-intro {
    padding-top: 18px !important;
  }

  .pfc-hero-simple {
    margin-top: 0 !important;
  }

  /* Keep the mobile art clean and centered under the text/buttons. */
  .pfc-hero-simple-wrap {
    border-top: 1px solid rgba(255,255,255,.06);
  }

  .pfc-hero-mobile-actions {
    position: relative !important;
    z-index: 1 !important;
  }
}

@media (min-width: 768px) {
  body {
    padding-top: 0 !important;
  }
}


/* v2.4.5 — keep mobile header fixed at the top */
@media (max-width: 767px) {
  html { scroll-padding-top: 78px !important; }
  body { padding-top: 74px !important; }
  body.admin-bar { padding-top: 120px !important; }
  .lz-header, .site-header, header[role="banner"] {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 99999 !important;
    background: rgba(5,10,49,.98) !important;
    box-shadow: 0 10px 28px rgba(3,7,35,.34) !important;
  }
  body.admin-bar .lz-header,
  body.admin-bar .site-header,
  body.admin-bar header[role="banner"] { top: 46px !important; }
  .lz-header-inner { min-height: 74px !important; height: 74px !important; }
  .lz-nav {
    position: fixed !important;
    top: 82px !important;
    left: 12px !important;
    right: 12px !important;
    z-index: 100000 !important;
  }
  body.admin-bar .lz-nav { top: 128px !important; }
  .pfc-mobile-intro, .pfc-hero-simple { margin-top: 0 !important; }
}


/* v2.4.6 — mobile menu scrolls along as sticky header */
@media (max-width: 767px) {
  html {
    scroll-padding-top: 78px !important;
  }

  body,
  body.admin-bar {
    padding-top: 0 !important;
  }

  .lz-header,
  .site-header,
  header[role="banner"] {
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    z-index: 99999 !important;
    background: rgba(5,10,49,.98) !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: 0 10px 28px rgba(3,7,35,.34) !important;
    backdrop-filter: none !important;
  }

  body.admin-bar .lz-header,
  body.admin-bar .site-header,
  body.admin-bar header[role="banner"] {
    top: 0 !important;
  }

  .lz-header-inner {
    min-height: 74px !important;
    height: 74px !important;
    align-items: center !important;
  }

  .lz-nav {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 12px !important;
    right: 12px !important;
    z-index: 100000 !important;
    background: #081044 !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 22px !important;
    padding: 14px !important;
    box-shadow: 0 24px 54px rgba(3,7,35,.45) !important;
  }

  body.admin-bar .lz-nav {
    top: calc(100% + 8px) !important;
  }

  .pfc-mobile-intro,
  .pfc-hero-simple {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}


/* v2.5.0 — product-ready homepage sections */
.pfc-product-core {
  position: relative;
  padding: 68px 0 74px;
  background:
    radial-gradient(circle at 12% 20%, rgba(255,214,99,.20), transparent 30%),
    radial-gradient(circle at 86% 0%, rgba(92,213,255,.18), transparent 36%),
    linear-gradient(180deg, #fff 0%, #f7f4ff 100%);
  overflow: hidden;
}
.pfc-product-core::before {
  content: "";
  position: absolute;
  inset: 18px auto auto 4%;
  width: 92px;
  height: 92px;
  border: 4px solid rgba(125,92,255,.14);
  border-radius: 36% 64% 62% 38% / 46% 45% 55% 54%;
  transform: rotate(-12deg);
}
.pfc-product-core-head {
  max-width: 850px;
  margin: 0 auto 32px;
  text-align: center;
}
.pfc-product-core-head h2 {
  margin: 10px 0 12px;
  color: #11143f;
  font-size: clamp(34px, 4.4vw, 58px);
  line-height: .98;
  letter-spacing: -.06em;
}
.pfc-product-core-head p {
  margin: 0 auto;
  max-width: 760px;
  color: #51597d;
  font-size: 18px;
  line-height: 1.65;
}
.pfc-core-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.pfc-core-grid article {
  position: relative;
  background: rgba(255,255,255,.92);
  border: 3px solid #11143f;
  border-radius: 30px 24px 34px 22px;
  padding: 26px 24px;
  box-shadow: 9px 9px 0 rgba(17,20,63,.10), 0 18px 36px rgba(30,34,100,.08);
}
.pfc-core-grid article:nth-child(2) {
  transform: rotate(-1deg);
  border-radius: 24px 36px 24px 34px;
}
.pfc-core-grid article:nth-child(3) {
  transform: rotate(1deg);
  border-radius: 36px 24px 32px 24px;
}
.pfc-core-grid span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 38px;
  border-radius: 999px;
  background: #ffd663;
  color: #11143f;
  font-weight: 950;
  margin-bottom: 16px;
  box-shadow: 0 12px 22px rgba(255,214,99,.30);
}
.pfc-core-grid h3 {
  margin: 0 0 10px;
  color: #11143f;
  font-size: 22px;
  letter-spacing: -.035em;
}
.pfc-core-grid p {
  margin: 0;
  color: #58607f;
  line-height: 1.58;
}

.pfc-launch-checklist {
  padding: 74px 0;
  background:
    linear-gradient(135deg, rgba(255,214,99,.16), rgba(92,213,255,.12)),
    #fff;
}
.pfc-launch-inner {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.2fr);
  gap: 34px;
  align-items: start;
}
.pfc-launch-inner h2 {
  margin: 10px 0 14px;
  color: #11143f;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1;
  letter-spacing: -.055em;
}
.pfc-launch-inner p {
  color: #596080;
  font-size: 17px;
  line-height: 1.65;
}
.pfc-launch-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.pfc-launch-grid article {
  background: rgba(255,255,255,.94);
  border: 2px solid rgba(17,20,63,.10);
  border-radius: 26px;
  padding: 20px;
  box-shadow: 0 20px 38px rgba(28,34,100,.08);
}
.pfc-launch-grid b {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #11143f;
  color: #ffd663;
  margin-bottom: 12px;
}
.pfc-launch-grid h3 {
  margin: 0 0 8px;
  color: #11143f;
  font-size: 18px;
}
.pfc-launch-grid p {
  margin: 0;
  color: #596080;
  line-height: 1.52;
  font-size: 14px;
}

/* Mobile tightening for v2.5.0 */
@media (max-width: 767px) {
  .pfc-product-core,
  .pfc-launch-checklist {
    padding: 44px 0;
  }
  .pfc-product-core-head {
    text-align: left;
    margin-bottom: 22px;
  }
  .pfc-product-core-head h2,
  .pfc-launch-inner h2 {
    font-size: 34px;
    letter-spacing: -.045em;
  }
  .pfc-product-core-head p,
  .pfc-launch-inner p {
    font-size: 15px;
    line-height: 1.55;
  }
  .pfc-core-grid,
  .pfc-launch-inner,
  .pfc-launch-grid {
    grid-template-columns: 1fr;
  }
  .pfc-core-grid article,
  .pfc-core-grid article:nth-child(2),
  .pfc-core-grid article:nth-child(3) {
    transform: none;
    border-width: 2px;
    border-radius: 24px;
    padding: 20px;
  }
  .pfc-hero-mobile-actions {
    padding-bottom: 18px !important;
  }
}


/* ==========================================================
   v3.0.0 — Dark world overhaul / total package
   ========================================================== */
body {
  background: #04081f;
}

body.home,
body.page,
body.single {
  color: #eaf0ff;
}

body.home main,
body.page main,
body.single main {
  position: relative;
  background:
    radial-gradient(circle at 12% 4%, rgba(111, 89, 255, 0.23), transparent 24%),
    radial-gradient(circle at 86% 8%, rgba(0, 214, 255, 0.10), transparent 20%),
    radial-gradient(circle at 50% 50%, rgba(248, 204, 82, 0.08), transparent 18%),
    linear-gradient(180deg, #050b2e 0%, #07123f 18%, #091941 38%, #08112f 64%, #050920 100%);
  overflow: clip;
}

body.home main::before,
body.page main::before,
body.single main::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    radial-gradient(circle at 10% 20%, rgba(255,255,255,.9) 0 1.1px, transparent 1.2px),
    radial-gradient(circle at 32% 80%, rgba(255,255,255,.75) 0 1px, transparent 1.1px),
    radial-gradient(circle at 74% 16%, rgba(255,255,255,.7) 0 1.2px, transparent 1.3px),
    radial-gradient(circle at 84% 62%, rgba(255,255,255,.8) 0 1.1px, transparent 1.2px),
    radial-gradient(circle at 56% 30%, rgba(255,255,255,.72) 0 1px, transparent 1.1px);
  opacity: .32;
  z-index: 0;
}

body.home main > *, body.page main > * , body.single main > * {
  position: relative;
  z-index: 1;
}

.pfc-site-sparks {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  overflow: hidden;
}
.pfc-site-sparks .spark {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,240,170,1) 0%, rgba(255,211,92,.95) 42%, rgba(255,211,92,0) 74%);
  box-shadow: 0 0 16px rgba(255,211,92,.85), 0 0 34px rgba(120,96,255,.35);
  opacity: .9;
  animation: pfcFloatSpark 16s linear infinite, pfcTwinkle 2.8s ease-in-out infinite alternate;
}
.pfc-site-sparks .spark::before,
.pfc-site-sparks .spark::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background: rgba(255,231,153,.85);
}
.pfc-site-sparks .spark::before { width: 18px; height: 2px; }
.pfc-site-sparks .spark::after { width: 2px; height: 18px; }
.spark-1 { left: 8%; top: 20%; animation-duration: 17s, 2.4s; }
.spark-2 { left: 22%; top: 66%; width: 8px; height: 8px; animation-duration: 22s, 3.1s; animation-delay: -4s, -.7s; }
.spark-3 { left: 36%; top: 34%; animation-duration: 19s, 2.1s; animation-delay: -9s, -.2s; }
.spark-4 { left: 52%; top: 74%; width: 7px; height: 7px; animation-duration: 25s, 3.6s; animation-delay: -14s, -1.1s; }
.spark-5 { left: 69%; top: 21%; width: 9px; height: 9px; animation-duration: 21s, 3s; animation-delay: -7s, -1.4s; }
.spark-6 { left: 82%; top: 58%; animation-duration: 23s, 2.7s; animation-delay: -13s, -.4s; }
.spark-7 { left: 92%; top: 28%; width: 6px; height: 6px; animation-duration: 18s, 2.8s; animation-delay: -5s, -.8s; }
.spark-8 { left: 15%; top: 84%; width: 6px; height: 6px; animation-duration: 24s, 3.4s; animation-delay: -11s, -.6s; }
.spark-9 { left: 61%; top: 8%; width: 8px; height: 8px; animation-duration: 20s, 2.6s; animation-delay: -3s, -1.8s; }
.spark-10 { left: 44%; top: 52%; width: 5px; height: 5px; animation-duration: 27s, 3.8s; animation-delay: -17s, -.9s; }
@keyframes pfcFloatSpark {
  0% { transform: translate3d(0,0,0) scale(.9); }
  25% { transform: translate3d(18px,-26px,0) scale(1); }
  50% { transform: translate3d(-12px,-50px,0) scale(.86); }
  75% { transform: translate3d(14px,-82px,0) scale(1.04); }
  100% { transform: translate3d(-10px,-120px,0) scale(.88); }
}
@keyframes pfcTwinkle {
  from { opacity: .38; filter: saturate(95%); }
  to { opacity: .96; filter: saturate(115%); }
}

.home .lz-header,
.page .lz-header,
.single .lz-header {
  background: rgba(4,8,31,.72);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.home .lz-header.is-scrolled,
.page .lz-header.is-scrolled,
.single .lz-header.is-scrolled {
  background: rgba(4,8,31,.92);
  box-shadow: 0 16px 30px rgba(0,0,0,.28);
}
.home .lz-nav a,
.page .lz-nav a,
.single .lz-nav a,
.home .lz-brand,
.page .lz-brand,
.single .lz-brand {
  color: #f7fbff;
}

.home .pfc-hero-simple,
.home .pfc-product-core,
.home .lz-section,
.home .pfc-proof-section,
.home .lz-safety-band,
.home .pfc-game-plan,
.home .pfc-game-worlds,
.home .pfc-product-vision,
.home .pfc-session-flow,
.home .pfc-launch-checklist,
.home .lz-partners,
.home .pfc-faq-preview,
.home .lz-bottom-cta {
  background: transparent !important;
}

.home .pfc-product-core,
.home .lz-section,
.home .pfc-proof-section,
.home .lz-safety-band,
.home .pfc-game-plan,
.home .pfc-game-worlds,
.home .pfc-product-vision,
.home .pfc-session-flow,
.home .pfc-launch-checklist,
.home .lz-partners,
.home .pfc-faq-preview,
.home .lz-bottom-cta {
  padding-top: 42px;
  padding-bottom: 42px;
}

.home .pfc-product-core .lz-container,
.home .lz-section .lz-container,
.home .pfc-proof-section .lz-container,
.home .lz-safety-band .lz-container,
.home .pfc-game-plan .lz-container,
.home .pfc-game-worlds .lz-container,
.home .pfc-product-vision .lz-container,
.home .pfc-session-flow .lz-container,
.home .pfc-launch-checklist .lz-container,
.home .lz-partners .lz-container,
.home .pfc-faq-preview .lz-container,
.home .lz-bottom-cta .lz-container {
  position: relative;
}

.home .pfc-product-core .lz-container::before,
.home .lz-section .lz-container::before,
.home .pfc-proof-section .lz-container::before,
.home .lz-safety-band .lz-container::before,
.home .pfc-game-plan .lz-container::before,
.home .pfc-game-worlds .lz-container::before,
.home .pfc-product-vision .lz-container::before,
.home .pfc-session-flow .lz-container::before,
.home .pfc-launch-checklist .lz-container::before,
.home .lz-partners .lz-container::before,
.home .pfc-faq-preview .lz-container::before,
.home .lz-bottom-cta .lz-container::before {
  content: "";
  position: absolute;
  inset: -10px;
  border-radius: 38px;
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.01));
  border: 1px solid rgba(120, 154, 255, .14);
  box-shadow: 0 22px 55px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05);
  z-index: -1;
}

.home .pfc-eyebrow-dark,
.home .lz-eyebrow {
  background: linear-gradient(90deg, rgba(255,204,82,.16), rgba(118,104,255,.18));
  border: 1px solid rgba(255,221,122,.22);
  color: #ffe37d;
  box-shadow: 0 0 0 1px rgba(255,255,255,.03) inset;
}
.home h2,
.home h3,
.home h4,
.home .pfc-proof-copy h2,
.home .pfc-product-core-head h2,
.home .lz-section-heading h2,
.home .lz-safety-intro h2,
.home .pfc-session-copy h2,
.home .pfc-product-vision-inner h2,
.home .pfc-launch-inner h2,
.home .lz-bottom-inner h2,
.page h1, .page h2, .page h3, .single h1, .single h2, .single h3 {
  color: #f8fbff;
}
.home p,
.home li,
.home .lz-section-heading p,
.home .pfc-product-core-head p,
.home .pfc-proof-copy p,
.home .lz-safety-intro p,
.home .pfc-session-copy p,
.home .pfc-product-vision-inner p,
.home .pfc-launch-inner p,
.home .lz-bottom-inner p,
.page .lz-page-content,
.page p, .page li, .single p, .single li {
  color: rgba(226,234,255,.80);
}

.home .pfc-core-grid article,
.home .lz-step,
.home .pfc-proof-cards article,
.home .lz-safety-items article,
.home .lz-game-card,
.home .pfc-mode-card,
.home .pfc-vision-list article,
.home .pfc-session-steps article,
.home .pfc-launch-grid article,
.home .lz-partner-card,
.home .pfc-faq-list details,
.home .pfc-arcade-grid .pfc-light-demo,
.home .pfc-arcade-grid .pfc-star-demo,
.home .lz-bottom-inner,
.page .lz-page,
.page .lz-lead-form,
.page .lz-form-section .lz-container::before {
  background: linear-gradient(180deg, rgba(11,21,67,.9), rgba(9,17,52,.94)) !important;
  border: 1px solid rgba(141,167,255,.18) !important;
  box-shadow: 0 16px 35px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.home .pfc-core-grid article::before,
.home .lz-step::before,
.home .pfc-proof-cards article::before,
.home .lz-safety-items article::before,
.home .lz-game-card::before,
.home .pfc-mode-card::before,
.home .pfc-vision-list article::before,
.home .pfc-session-steps article::before,
.home .pfc-launch-grid article::before,
.home .lz-partner-card::before,
.home .pfc-faq-list details::before,
.home .pfc-arcade-grid .pfc-light-demo::before,
.home .pfc-arcade-grid .pfc-star-demo::before {
  background: linear-gradient(90deg, rgba(255,211,92,.28), rgba(94,131,255,.16));
}
.home .pfc-core-grid article,
.home .lz-step,
.home .pfc-proof-cards article,
.home .lz-safety-items article,
.home .lz-game-card,
.home .pfc-mode-card,
.home .pfc-vision-list article,
.home .pfc-session-steps article,
.home .pfc-launch-grid article,
.home .lz-partner-card,
.home .pfc-faq-list details {
  color: #f4f7ff;
}
.home .pfc-core-grid article:nth-child(odd),
.home .lz-step:nth-child(odd),
.home .lz-game-card:nth-child(odd),
.home .pfc-mode-card:nth-child(odd),
.home .pfc-launch-grid article:nth-child(odd),
.home .lz-partner-card:nth-child(odd) {
  border-radius: 28px 38px 28px 46px !important;
}
.home .pfc-core-grid article:nth-child(even),
.home .lz-step:nth-child(even),
.home .lz-game-card:nth-child(even),
.home .pfc-mode-card:nth-child(even),
.home .pfc-launch-grid article:nth-child(even),
.home .lz-partner-card:nth-child(even) {
  border-radius: 40px 26px 44px 28px !important;
}
.home .lz-step-icon {
  box-shadow: 0 12px 28px rgba(10,14,45,.34), 0 0 0 1px rgba(255,255,255,.08) inset;
}
.home .lz-step h3,
.home .lz-game-card h3,
.home .pfc-mode-card h3,
.home .pfc-launch-grid h3,
.home .pfc-vision-list h3,
.home .pfc-session-steps h3,
.home .lz-partner-card h3,
.home .pfc-faq-list summary,
.home .pfc-core-grid h3 {
  color: #ffffff;
}

.home .lz-game-art {
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.home .lz-game-body p,
.home .lz-game-body b {
  color: rgba(234,241,255,.86);
}

.home .pfc-proof-grid,
.home .pfc-product-vision-inner,
.home .pfc-session-inner,
.home .pfc-launch-inner {
  gap: 24px;
}
.home .pfc-proof-cards article {
  min-height: 152px;
  transform: none !important;
}
.home .pfc-proof-cards strong,
.home .pfc-proof-cards span {
  color: #f8fbff;
}

.home .lz-safety-grid,
.home .lz-safety-items {
  gap: 18px;
}
.home .lz-safety-intro,
.home .lz-safety-items article {
  border-radius: 30px !important;
}
.home .lz-safety-items article h3,
.home .lz-safety-items article p {
  color: #f0f5ff;
}

.home .pfc-arcade-grid .pfc-light-demo,
.home .pfc-arcade-grid .pfc-star-demo {
  border-radius: 34px !important;
  overflow: hidden;
}
.home .pfc-demo-level,
.home .pfc-demo-score,
.home .pfc-demo-status,
.home .pfc-star-status,
.home .pfc-demo-reset,
.home .pfc-star-reset {
  color: #f7fbff;
}
.home .pfc-demo-reset,
.home .pfc-star-reset,
.home .pfc-demo-status,
.home .pfc-star-status {
  background: rgba(110,87,255,.18);
  border-color: rgba(255,255,255,.08);
}
.home .pfc-demo-bridge button,
.home .pfc-star-sky button {
  box-shadow: 0 0 0 1px rgba(255,255,255,.06) inset, 0 0 22px rgba(130,118,255,.18);
}

.home .pfc-game-worlds .pfc-mode-grid,
.home .pfc-product-core .pfc-core-grid,
.home .pfc-launch-grid,
.home .pfc-session-steps,
.home .pfc-vision-list,
.home .lz-partner-cards {
  gap: 18px;
}
.home .pfc-mode-card span,
.home .pfc-launch-grid b,
.home .pfc-session-steps b {
  background: rgba(255,211,92,.18);
  color: #ffd968;
}
.home .pfc-vision-list article span {
  width: 52px;
  height: 52px;
  display: inline-grid;
  place-items: center;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,211,92,.20), rgba(255,255,255,.04));
  border: 1px solid rgba(255,229,140,.18);
}

.home .lz-partners .lz-section-heading,
.home .pfc-faq-preview .lz-section-heading,
.home .pfc-game-lab .lz-section-heading,
.home .lz-games-section .lz-section-heading,
.home .pfc-game-worlds .lz-section-heading {
  margin-bottom: 28px;
}

.home .pfc-faq-list details {
  background: rgba(9,16,50,.94) !important;
  color: #f2f5ff;
}
.home .pfc-faq-list summary { color: #fff; }
.home .pfc-faq-list p { color: rgba(229,235,255,.78); }

.home .lz-bottom-inner {
  padding: 28px 34px;
  border-radius: 32px;
  background: linear-gradient(90deg, rgba(89,60,208,.58), rgba(120,72,255,.58), rgba(11,18,55,.95)) !important;
}
.home .lz-lantern {
  background: linear-gradient(180deg, rgba(255,231,151,.18), rgba(255,206,86,.05));
  box-shadow: 0 0 35px rgba(255,211,92,.25);
}

.home .lz-btn-primary,
.home .lz-header-cta,
.page .lz-btn-primary,
.page .lz-header-cta {
  background: linear-gradient(90deg, #ffd95d, #ffbf47);
  color: #11163a;
  box-shadow: 0 12px 24px rgba(255,191,71,.24);
}
.home .lz-btn-ghost,
.page .lz-btn-ghost {
  background: rgba(18,28,80,.6);
  border-color: rgba(255,255,255,.16);
  color: #f8fbff;
}
.home .lz-btn-ghost:hover,
.home .lz-btn-primary:hover,
.page .lz-btn-ghost:hover,
.page .lz-btn-primary:hover {
  transform: translateY(-2px);
}

.home .lz-footer,
.page .lz-footer,
.single .lz-footer {
  background: #04081f;
  border-top: 1px solid rgba(255,255,255,.08);
}
.home .lz-footer a,
.page .lz-footer a,
.single .lz-footer a,
.home .lz-footer p,
.page .lz-footer p,
.single .lz-footer p {
  color: rgba(222,230,255,.72);
}
.home .pfc-to-top,
.page .pfc-to-top,
.single .pfc-to-top {
  background: linear-gradient(180deg, #ffd95d, #ffbf47);
  color: #162046;
  box-shadow: 0 16px 28px rgba(255,191,71,.28);
}

.page .lz-page,
.page .lz-form-section {
  background: transparent;
  padding-top: 130px;
}
.page .lz-page .lz-container,
.page .lz-form-section .lz-container {
  position: relative;
}
.page .lz-page .lz-container::before,
.page .lz-form-section .lz-container::before {
  content: "";
  position: absolute;
  inset: -12px;
  border-radius: 38px;
  background: linear-gradient(180deg, rgba(11,21,67,.88), rgba(9,17,52,.94));
  border: 1px solid rgba(141,167,255,.16);
  box-shadow: 0 20px 48px rgba(0,0,0,.28);
  z-index: -1;
}
.page .lz-page-content,
.page .lz-form-copy,
.page .lz-lead-form label,
.page .lz-check-list li { color: rgba(228,235,255,.86); }
.page .lz-lead-form input,
.page .lz-lead-form select,
.page .lz-lead-form textarea {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.12);
  color: #f6fbff;
}

@media (max-width: 1000px) {
  .pfc-site-sparks { opacity: .8; }
  .home .pfc-product-core .lz-container::before,
  .home .lz-section .lz-container::before,
  .home .pfc-proof-section .lz-container::before,
  .home .lz-safety-band .lz-container::before,
  .home .pfc-game-plan .lz-container::before,
  .home .pfc-game-worlds .lz-container::before,
  .home .pfc-product-vision .lz-container::before,
  .home .pfc-session-flow .lz-container::before,
  .home .pfc-launch-checklist .lz-container::before,
  .home .lz-partners .lz-container::before,
  .home .pfc-faq-preview .lz-container::before,
  .home .lz-bottom-cta .lz-container::before,
  .page .lz-page .lz-container::before,
  .page .lz-form-section .lz-container::before { inset: -6px; border-radius: 28px; }

  .home .lz-nav.is-open,
  .page .lz-nav.is-open,
  .single .lz-nav.is-open {
    background: rgba(6,12,43,.96);
    box-shadow: 0 22px 38px rgba(0,0,0,.34);
  }
  .home .lz-step,
  .home .pfc-proof-cards article,
  .home .pfc-mode-card,
  .home .lz-partner-card,
  .home .pfc-session-steps article,
  .home .pfc-launch-grid article,
  .home .pfc-vision-list article,
  .home .lz-game-card,
  .home .pfc-core-grid article { border-radius: 28px !important; }
}

@media (max-width: 767px) {
  .pfc-site-sparks .spark:nth-child(n+7) { display: none; }
  .home .pfc-product-core,
  .home .lz-section,
  .home .pfc-proof-section,
  .home .lz-safety-band,
  .home .pfc-game-plan,
  .home .pfc-game-worlds,
  .home .pfc-product-vision,
  .home .pfc-session-flow,
  .home .pfc-launch-checklist,
  .home .lz-partners,
  .home .pfc-faq-preview,
  .home .lz-bottom-cta { padding-top: 28px; padding-bottom: 28px; }

  .home .pfc-product-core .lz-container::before,
  .home .lz-section .lz-container::before,
  .home .pfc-proof-section .lz-container::before,
  .home .lz-safety-band .lz-container::before,
  .home .pfc-game-plan .lz-container::before,
  .home .pfc-game-worlds .lz-container::before,
  .home .pfc-product-vision .lz-container::before,
  .home .pfc-session-flow .lz-container::before,
  .home .pfc-launch-checklist .lz-container::before,
  .home .lz-partners .lz-container::before,
  .home .pfc-faq-preview .lz-container::before,
  .home .lz-bottom-cta .lz-container::before,
  .page .lz-page .lz-container::before,
  .page .lz-form-section .lz-container::before { inset: -3px; border-radius: 22px; }

  .home .pfc-proof-cards,
  .home .pfc-vision-list,
  .home .pfc-session-steps,
  .home .pfc-launch-grid,
  .home .lz-partner-cards,
  .home .pfc-core-grid,
  .home .lz-game-cards,
  .home .pfc-mode-grid,
  .home .lz-safety-items,
  .home .pfc-arcade-grid { grid-template-columns: 1fr !important; }

  .home .pfc-arcade-grid .pfc-light-demo,
  .home .pfc-arcade-grid .pfc-star-demo { padding: 20px 18px 18px !important; min-height: auto; }
  .home .pfc-light-demo h3,
  .home .pfc-star-demo h3 { font-size: 30px; }
  .home .pfc-light-demo p,
  .home .pfc-star-demo p { font-size: 16px; }
  .home .pfc-demo-bridge { gap: 8px; }
  .home .pfc-demo-bridge button { width: 52px; height: 52px; }
  .home .pfc-star-sky { min-height: 240px; }
  .home .lz-bottom-inner { padding: 22px; }
}


/* ==========================================================
   v3.0.1 — correction pass after full-page screenshot
   Fixes: white/invisible sections, random grey blobs, contrast, spacing.
   ========================================================== */

/* Remove old decorative blobs/cards that became ugly grey objects in the dark theme */
.home section::before,
.home section::after,
.home .lz-container::after,
.home .lz-section::before,
.home .lz-section::after,
.home .pfc-proof-section::before,
.home .pfc-proof-section::after,
.home .pfc-game-worlds::before,
.home .pfc-game-worlds::after,
.home .pfc-product-vision::before,
.home .pfc-product-vision::after,
.home .pfc-session-flow::before,
.home .pfc-session-flow::after,
.home .pfc-launch-checklist::before,
.home .pfc-launch-checklist::after,
.home .lz-bottom-cta::before,
.home .lz-bottom-cta::after {
  display: none !important;
  content: none !important;
}

/* Keep only the dark glass frame on section containers */
.home .pfc-product-core .lz-container::before,
.home .lz-section .lz-container::before,
.home .pfc-proof-section .lz-container::before,
.home .lz-safety-band .lz-container::before,
.home .pfc-game-plan .lz-container::before,
.home .pfc-game-worlds .lz-container::before,
.home .pfc-product-vision .lz-container::before,
.home .pfc-session-flow .lz-container::before,
.home .pfc-launch-checklist .lz-container::before,
.home .lz-partners .lz-container::before,
.home .pfc-faq-preview .lz-container::before,
.home .lz-bottom-cta .lz-container::before {
  display: block !important;
  content: "" !important;
}

/* Full homepage background: no accidental white bands */
body.home,
body.home main,
body.home .pfc-hero-simple,
body.home .pfc-product-core,
body.home .lz-section,
body.home .pfc-proof-section,
body.home .lz-safety-band,
body.home .pfc-game-plan,
body.home .pfc-game-worlds,
body.home .pfc-product-vision,
body.home .pfc-session-flow,
body.home .pfc-launch-checklist,
body.home .lz-partners,
body.home .pfc-faq-preview,
body.home .lz-bottom-cta {
  background-color: #050a28 !important;
  color: #eef4ff !important;
}

/* Specific white section fix: game worlds / age groups */
.home .pfc-game-worlds,
.home #game-worlds,
.home #games-by-age {
  background:
    radial-gradient(circle at 18% 0%, rgba(255,214,99,.11), transparent 28%),
    radial-gradient(circle at 82% 12%, rgba(89,195,255,.10), transparent 28%),
    linear-gradient(180deg, #071038 0%, #050b2d 100%) !important;
  color: #eef4ff !important;
}

.home .pfc-game-worlds .lz-section-heading h2,
.home .pfc-game-worlds .lz-section-heading p,
.home .pfc-game-worlds h2,
.home .pfc-game-worlds h3,
.home .pfc-game-worlds p,
.home .pfc-game-worlds li,
.home .pfc-game-worlds strong {
  color: #f7fbff !important;
}

.home .pfc-mode-card,
.home .pfc-mode-card--sun,
.home .pfc-mode-card--teal,
.home .pfc-mode-card--violet,
.home .pfc-mode-card--blue {
  background: linear-gradient(180deg, rgba(13,25,76,.96), rgba(10,18,57,.98)) !important;
  color: #f7fbff !important;
  border: 1px solid rgba(155,177,255,.22) !important;
  box-shadow: 0 18px 38px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05) !important;
}

.home .pfc-mode-card span {
  background: rgba(255,214,99,.16) !important;
  border: 1px solid rgba(255,226,132,.22) !important;
  color: #ffd85f !important;
}

.home .pfc-mode-card li,
.home .pfc-mode-card li strong {
  color: rgba(240,246,255,.92) !important;
}

/* Safety section fix: no pale white card with invisible text */
.home .lz-safety-grid,
.home .lz-safety-intro,
.home .lz-safety-items article {
  background: linear-gradient(180deg, rgba(12,24,70,.96), rgba(8,16,49,.98)) !important;
  border: 1px solid rgba(146,171,255,.20) !important;
  color: #f5f8ff !important;
}

.home .lz-safety-intro h2,
.home .lz-safety-intro p,
.home .lz-safety-items h3,
.home .lz-safety-items p {
  color: #f5f8ff !important;
}

.home .lz-safety-items article span,
.home .lz-shield {
  background: rgba(255,214,99,.14) !important;
  border: 1px solid rgba(255,226,132,.22) !important;
  color: #ffdc68 !important;
}

/* General dark-card readability */
.home .pfc-core-grid article p,
.home .lz-step p,
.home .pfc-proof-cards span,
.home .lz-game-body p,
.home .pfc-vision-list p,
.home .pfc-session-steps p,
.home .pfc-launch-grid p,
.home .lz-partner-card p,
.home .pfc-faq-list p {
  color: rgba(231,238,255,.84) !important;
}

.home .pfc-core-grid article h3,
.home .lz-step h3,
.home .pfc-proof-cards strong,
.home .lz-game-body h3,
.home .pfc-vision-list h3,
.home .pfc-session-steps h3,
.home .pfc-launch-grid h3,
.home .lz-partner-card h3 {
  color: #fff !important;
}

/* Smaller, cleaner section rhythm */
.home .pfc-product-core,
.home .lz-section,
.home .pfc-proof-section,
.home .lz-safety-band,
.home .pfc-game-plan,
.home .pfc-game-worlds,
.home .pfc-product-vision,
.home .pfc-session-flow,
.home .pfc-launch-checklist,
.home .lz-partners,
.home .pfc-faq-preview,
.home .lz-bottom-cta {
  padding-top: 34px !important;
  padding-bottom: 34px !important;
}

.home .lz-section-heading {
  margin-bottom: 22px !important;
}

.home .lz-section-heading h2,
.home .pfc-product-core-head h2,
.home .pfc-proof-copy h2,
.home .pfc-product-vision-inner h2,
.home .pfc-session-copy h2,
.home .pfc-launch-inner h2 {
  text-shadow: 0 0 22px rgba(83,129,255,.18);
}

/* Reduce flying sparks a little so they do not distract */
.pfc-site-sparks {
  opacity: .62 !important;
}
.pfc-site-sparks .spark {
  transform: scale(.72);
}

/* Header should remain the approved visual. Hide any extra old mobile art mistakes on desktop. */
@media (min-width: 768px) {
  .home .pfc-mobile-intro,
  .home .pfc-hero-mobile-actions {
    display: none !important;
  }
}

/* Mobile clean-up: no white bands, no grey blobs, better card stacking */
@media (max-width: 767px) {
  .home .pfc-product-core,
  .home .lz-section,
  .home .pfc-proof-section,
  .home .lz-safety-band,
  .home .pfc-game-plan,
  .home .pfc-game-worlds,
  .home .pfc-product-vision,
  .home .pfc-session-flow,
  .home .pfc-launch-checklist,
  .home .lz-partners,
  .home .pfc-faq-preview,
  .home .lz-bottom-cta {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

  .home .pfc-game-worlds .lz-section-heading,
  .home .lz-section-heading,
  .home .pfc-product-core-head {
    text-align: left !important;
  }

  .home .pfc-mode-card,
  .home .lz-safety-items article,
  .home .lz-game-card,
  .home .pfc-core-grid article,
  .home .lz-step,
  .home .pfc-proof-cards article,
  .home .pfc-vision-list article,
  .home .pfc-session-steps article,
  .home .pfc-launch-grid article,
  .home .lz-partner-card {
    border-radius: 22px !important;
    transform: none !important;
  }

  .pfc-site-sparks {
    opacity: .35 !important;
  }
}
