:root {
  --pip343-mist: #e9f0f4;
  --pip343-ivory: #f8f1de;
  --pip343-ink: #152230;
  --pip343-cobalt: #2148c0;
  --pip343-jade: #0e8b7a;
  --pip343-vermilion: #e94b35;
  --pip343-sulfur: #eacb3b;
  --pip343-paper: #fffdf4;
  --pip343-muted: #526373;
  --pip343-line: rgba(21, 34, 48, .24);
  --pip343-shadow: 8px 8px 0 rgba(21, 34, 48, .2);
  --pip343-cut: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.pip343-body {
  margin: 0;
  color: var(--pip343-ink);
  background:
    radial-gradient(circle at 8% 18%, rgba(234, 203, 59, .24), transparent 21rem),
    radial-gradient(circle at 94% 42%, rgba(33, 72, 192, .16), transparent 26rem),
    linear-gradient(180deg, var(--pip343-mist), #dce8ec 48%, var(--pip343-ivory));
  font-family: "Fira Sans Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.58;
  overflow-x: hidden;
}

.pip343-body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  opacity: .25;
  background-image:
    linear-gradient(rgba(21, 34, 48, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(21, 34, 48, .08) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
}

.pip343-shell { width: min(1180px, calc(100% - 42px)); margin: 0 auto; }
.pip343-section { padding: 94px 0; position: relative; }
.pip343-section--ink { color: var(--pip343-ivory); background: var(--pip343-ink); }
.pip343-section--cobalt { color: var(--pip343-ivory); background: var(--pip343-cobalt); }
.pip343-section--jade { color: var(--pip343-ivory); background: var(--pip343-jade); }
.pip343-section--cream { background: var(--pip343-ivory); }

h1, h2, h3 {
  margin: 0;
  font-family: "Roboto Serif", Georgia, serif;
  font-weight: 780;
  letter-spacing: -.035em;
  line-height: 1.02;
  text-wrap: balance;
}
h1 { max-width: 880px; font-size: clamp(2.25rem, 5.2vw, 5.25rem); }
h2 { max-width: 920px; font-size: clamp(2.1rem, 4.3vw, 4.6rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.7rem); }
.pip343-display-title { max-width: 920px; font-family: "Roboto Serif", Georgia, serif; font-size: clamp(2.1rem, 4.3vw, 4.6rem); font-weight: 780; letter-spacing: -.035em; line-height: 1.02; text-wrap: balance; }
p { margin: 0; max-width: 78ch; }
a { color: inherit; }

.pip343-kicker {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 18px;
  color: var(--pip343-cobalt);
  font-size: .79rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.pip343-kicker::before {
  content: "";
  width: 28px;
  height: 12px;
  background: conic-gradient(from 45deg, var(--pip343-sulfur), var(--pip343-vermilion), var(--pip343-jade), var(--pip343-sulfur));
  clip-path: polygon(0 0, 72% 0, 100% 50%, 72% 100%, 0 100%, 20% 50%);
}
.pip343-section--ink .pip343-kicker,
.pip343-section--cobalt .pip343-kicker,
.pip343-section--jade .pip343-kicker { color: var(--pip343-sulfur); }

.pip343-section-head { display: grid; gap: 24px; margin-bottom: 46px; }
.pip343-prose { display: grid; gap: 20px; }
.pip343-prose--cols { grid-template-columns: repeat(3, 1fr); }
.pip343-prose--cols p {
  padding: 24px;
  background: rgba(255, 253, 244, .78);
  border: 2px solid var(--pip343-ink);
  clip-path: var(--pip343-cut);
  box-shadow: var(--pip343-shadow);
}
.pip343-section--ink .pip343-prose--cols p,
.pip343-section--cobalt .pip343-prose--cols p,
.pip343-section--jade .pip343-prose--cols p {
  color: var(--pip343-ink);
  background: var(--pip343-ivory);
  border-color: var(--pip343-sulfur);
  box-shadow: 8px 8px 0 rgba(0, 0, 0, .28);
}

.pip343-button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 13px 24px;
  color: #fff;
  background: linear-gradient(105deg, var(--pip343-cobalt), #536bff 48%, var(--pip343-jade));
  border: 2px solid var(--pip343-ink);
  clip-path: var(--pip343-cut);
  box-shadow: 5px 5px 0 var(--pip343-ink);
  font-weight: 850;
  letter-spacing: .02em;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.pip343-button:hover { transform: translate(-2px, -2px); box-shadow: 8px 8px 0 var(--pip343-ink); filter: saturate(1.2); }
.pip343-button--hot { background: linear-gradient(105deg, var(--pip343-vermilion), #ff8059 55%, var(--pip343-sulfur)); color: var(--pip343-ink); }
.pip343-button--pale { background: var(--pip343-ivory); color: var(--pip343-ink); }
.pip343-actions { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 30px; }

.pip343-topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  color: var(--pip343-ivory);
  background: rgba(21, 34, 48, .96);
  border-bottom: 3px solid var(--pip343-sulfur);
  backdrop-filter: blur(16px);
}
.pip343-topbar__inner { min-height: 76px; display: flex; align-items: center; gap: 24px; }
.pip343-brand { display: inline-flex; flex: 0 0 auto; align-items: center; text-decoration: none; }
.pip343-brand img { width: 236px; height: auto; display: block; }
.pip343-nav { display: flex; margin-left: auto; gap: 20px; align-items: center; }
.pip343-nav a { color: var(--pip343-mist); font-size: .84rem; font-weight: 750; letter-spacing: .04em; text-decoration: none; }
.pip343-topbar__actions { display: flex; gap: 10px; }
.pip343-topbar__actions .pip343-button { min-height: 42px; padding: 8px 16px; box-shadow: 3px 3px 0 var(--pip343-sulfur); }

.pip343-hero {
  padding: 72px 0 82px;
  color: var(--pip343-ivory);
  background:
    radial-gradient(circle at 79% 34%, rgba(234, 203, 59, .26), transparent 15rem),
    radial-gradient(circle at 58% 84%, rgba(14, 139, 122, .38), transparent 22rem),
    linear-gradient(132deg, #101c28 0 51%, #192c3d 51% 72%, #2148c0 72%);
  overflow: hidden;
}
.pip343-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .12;
  background: conic-gradient(from 45deg at 82% 42%, transparent 0 12deg, var(--pip343-sulfur) 12deg 14deg, transparent 14deg 28deg);
  pointer-events: none;
}
.pip343-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: 54px; align-items: center; }
.pip343-hero__copy { display: grid; gap: 22px; }
.pip343-hero__copy .pip343-kicker { color: var(--pip343-sulfur); margin-bottom: 0; }
.pip343-hero__copy p { color: #dfe9ee; font-size: 1.08rem; }
.pip343-hero__lead { font-size: 1.2rem !important; }
.pip343-domino-stack { min-height: 520px; position: relative; }
.pip343-domino {
  position: absolute;
  width: 245px;
  min-height: 122px;
  padding: 22px 24px;
  color: var(--pip343-ink);
  background: var(--pip343-ivory);
  border: 3px solid var(--pip343-ink);
  clip-path: var(--pip343-cut);
  box-shadow: 10px 10px 0 rgba(0, 0, 0, .32);
}
.pip343-domino::before {
  content: "";
  position: absolute;
  inset: 49% 20px auto;
  height: 2px;
  background: var(--pip343-ink);
  opacity: .45;
}
.pip343-domino::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  top: 18px;
  right: 22px;
  border-radius: 50%;
  background: var(--pip343-vermilion);
  box-shadow: -25px 72px 0 var(--pip343-jade), 0 72px 0 var(--pip343-cobalt);
}
.pip343-domino span { display: block; color: var(--pip343-muted); font-size: .75rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.pip343-domino div { margin-top: 44px; font-family: "Roboto Serif", Georgia, serif; font-size: 1.55rem; font-weight: 800; line-height: 1; }
.pip343-domino--1 { top: 4px; left: 18px; transform: rotate(-6deg); }
.pip343-domino--2 { top: 102px; right: 0; transform: rotate(5deg); }
.pip343-domino--3 { top: 204px; left: 0; transform: rotate(-2deg); }
.pip343-domino--4 { top: 306px; right: 18px; transform: rotate(7deg); }
.pip343-domino--5 { top: 398px; left: 36px; transform: rotate(-5deg); }
.pip343-domino--2::after { background: var(--pip343-sulfur); }
.pip343-domino--3::after { background: var(--pip343-cobalt); }
.pip343-domino--4::after { background: var(--pip343-jade); }

.pip343-hero-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 44px; position: relative; z-index: 1; }
.pip343-hero-stats article { padding: 20px; color: var(--pip343-ink); background: var(--pip343-mist); border: 2px solid var(--pip343-ink); box-shadow: 6px 6px 0 rgba(0,0,0,.34); clip-path: var(--pip343-cut); }
.pip343-hero-stats span { display: block; color: var(--pip343-cobalt); font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.pip343-hero-stats div { margin-top: 6px; font-family: "Roboto Serif", Georgia, serif; font-size: 1.45rem; font-weight: 800; }

.pip343-route-board { display: grid; grid-template-columns: .82fr 1.18fr; gap: 24px; margin-top: 42px; align-items: stretch; }
.pip343-route-card { padding: 30px; color: var(--pip343-ivory); background: linear-gradient(145deg, var(--pip343-cobalt), #172f86); clip-path: var(--pip343-cut); border: 3px solid var(--pip343-ink); box-shadow: var(--pip343-shadow); }
.pip343-route-card__label { color: var(--pip343-sulfur); font-size: .78rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.pip343-route-card__value { margin-top: 18px; font-family: "Roboto Serif", Georgia, serif; font-size: clamp(2rem, 5vw, 4rem); font-weight: 800; line-height: .94; }
.pip343-route-list { display: grid; gap: 12px; }
.pip343-route-list div { display: grid; grid-template-columns: 52px 1fr auto; gap: 14px; align-items: center; padding: 17px 20px; background: var(--pip343-paper); border: 2px solid var(--pip343-ink); clip-path: var(--pip343-cut); }
.pip343-route-list span:first-child { display: grid; width: 36px; aspect-ratio: 1; place-items: center; color: #fff; background: var(--pip343-jade); border-radius: 50%; font-weight: 850; }
.pip343-route-name { color: var(--pip343-ink); font-weight: 850; }
.pip343-route-list em { color: var(--pip343-muted); font-style: normal; font-size: .85rem; }

.pip343-stepgrid, .pip343-ticketgrid, .pip343-gamegrid, .pip343-livegrid, .pip343-profilegrid, .pip343-supportgrid {
  display: grid;
  gap: 18px;
}
.pip343-stepgrid { grid-template-columns: repeat(3, 1fr); margin-top: 40px; }
.pip343-stepgrid article,
.pip343-ticketgrid article,
.pip343-gamegrid article,
.pip343-livegrid article,
.pip343-profilegrid article,
.pip343-supportgrid article {
  position: relative;
  padding: 25px;
  background: var(--pip343-paper);
  border: 2px solid var(--pip343-ink);
  clip-path: var(--pip343-cut);
  box-shadow: var(--pip343-shadow);
  transition: transform .18s ease;
}
.pip343-stepgrid article:hover,
.pip343-gamegrid article:hover,
.pip343-livegrid article:hover { transform: translateY(-4px); }
.pip343-card-index { color: var(--pip343-vermilion); font-weight: 900; letter-spacing: .16em; }
.pip343-card-title { margin-top: 24px; font-family: "Roboto Serif", Georgia, serif; font-size: 1.36rem; font-weight: 800; line-height: 1.08; }
.pip343-card-copy { margin-top: 12px; color: var(--pip343-muted); font-size: .95rem; }
.pip343-card-link { display: inline-flex; margin-top: 20px; color: var(--pip343-cobalt); font-weight: 850; text-decoration: none; border-bottom: 2px solid currentColor; }

.pip343-bonus-copy { gap: 0; margin-top: 38px; border-top: 3px solid var(--pip343-sulfur); }
.pip343-bonus-copy p { margin: 0; padding: 18px 0; color: rgba(255,255,255,.9); border-bottom: 1px solid rgba(255,255,255,.32); }
.pip343-catalog-copy { gap: 0; margin-top: 38px; border-top: 3px solid var(--pip343-cobalt); }
.pip343-catalog-copy p { margin: 0; padding: 18px 0; color: var(--pip343-ink); border-bottom: 1px solid rgba(21,34,48,.28); }

.pip343-ticketgrid { grid-template-columns: repeat(4, 1fr); margin-top: 40px; }
.pip343-ticketgrid article:nth-child(2) { background: #eef5ff; transform: translateY(18px); }
.pip343-ticketgrid article:nth-child(3) { background: #e9fff5; }
.pip343-ticketgrid article:nth-child(4) { background: #fff0ea; transform: translateY(18px); }
.pip343-ticket-value { margin: 16px 0; color: var(--pip343-ink); font-family: "Roboto Serif", Georgia, serif; font-size: 2.1rem; font-weight: 850; line-height: 1; }
.pip343-ticket-meta { display: grid; gap: 7px; color: var(--pip343-muted); font-size: .89rem; }

.pip343-levels { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-top: 42px; }
.pip343-level {
  min-height: 210px;
  padding: 22px 16px;
  color: var(--pip343-ivory);
  background: linear-gradient(165deg, rgba(255,255,255,.07), rgba(255,255,255,.01));
  border: 2px solid rgba(248, 241, 222, .35);
  clip-path: var(--pip343-cut);
}
.pip343-level:nth-child(2n) { transform: translateY(18px); border-color: var(--pip343-sulfur); }
.pip343-level__pip { width: 17px; aspect-ratio: 1; margin-bottom: 28px; border-radius: 50%; background: var(--pip343-vermilion); box-shadow: 22px 0 0 var(--pip343-sulfur), 0 22px 0 var(--pip343-jade); }
.pip343-level div { margin-top: 15px; color: #cad7dc; font-size: .9rem; }
.pip343-club-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 52px; }
.pip343-club-duo article { padding: 28px; color: var(--pip343-ink); background: var(--pip343-sulfur); border: 2px solid var(--pip343-ink); clip-path: var(--pip343-cut); box-shadow: 8px 8px 0 rgba(0,0,0,.32); }
.pip343-club-duo article:nth-child(2) { background: var(--pip343-mist); }

.pip343-filterbar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.pip343-filterbar span { padding: 8px 14px; background: var(--pip343-paper); border: 2px solid var(--pip343-ink); font-weight: 800; font-size: .84rem; }
.pip343-filterbar span:first-child { color: #fff; background: var(--pip343-cobalt); }
.pip343-gamegrid { grid-template-columns: repeat(4, 1fr); }
.pip343-gamegrid article { padding: 0 0 22px; overflow: hidden; }
.pip343-gameart {
  height: 135px;
  display: grid;
  place-items: center;
  color: #fff;
  background:
    radial-gradient(circle at 25% 25%, var(--pip343-sulfur) 0 9px, transparent 10px),
    radial-gradient(circle at 75% 70%, var(--pip343-vermilion) 0 14px, transparent 15px),
    linear-gradient(135deg, var(--pip343-cobalt), var(--pip343-jade));
  border-bottom: 2px solid var(--pip343-ink);
  font-family: "Roboto Serif", Georgia, serif;
  font-size: 1.3rem;
  font-weight: 850;
  letter-spacing: .06em;
}
.pip343-gamegrid article:nth-child(3n+2) .pip343-gameart { background: radial-gradient(circle at 70% 30%, var(--pip343-sulfur), transparent 18%), linear-gradient(125deg, var(--pip343-vermilion), #752139); }
.pip343-gamegrid article:nth-child(3n) .pip343-gameart { background: conic-gradient(from 30deg, var(--pip343-jade), var(--pip343-cobalt), var(--pip343-vermilion), var(--pip343-jade)); }
.pip343-gamegrid .pip343-card-title,
.pip343-gamegrid .pip343-card-copy,
.pip343-gamegrid .pip343-card-link { margin-left: 18px; margin-right: 18px; }

.pip343-scoreboard { margin-top: 42px; border: 3px solid var(--pip343-sulfur); box-shadow: 10px 10px 0 rgba(0,0,0,.35); }
.pip343-score-row { display: grid; grid-template-columns: 90px 1fr 1fr 160px; gap: 14px; padding: 16px 20px; align-items: center; border-bottom: 1px solid rgba(248,241,222,.24); }
.pip343-score-row:last-child { border-bottom: 0; }
.pip343-score-row--head { color: var(--pip343-sulfur); background: rgba(0,0,0,.2); font-size: .78rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.pip343-score-rank { font-family: "Roboto Serif", Georgia, serif; font-size: 1.45rem; font-weight: 850; }

.pip343-livegrid { grid-template-columns: repeat(3, 1fr); }
.pip343-livegrid article { color: var(--pip343-ink); }
.pip343-live-on { display: inline-flex; align-items: center; gap: 8px; color: var(--pip343-vermilion); font-size: .78rem; font-weight: 900; letter-spacing: .12em; }
.pip343-live-on::before { content: ""; width: 10px; aspect-ratio: 1; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 5px rgba(233, 75, 53, .14); }

.pip343-profilegrid { grid-template-columns: repeat(5, 1fr); margin-top: 42px; }
.pip343-profilegrid article { padding-top: 52px; }
.pip343-profilegrid article::before { content: attr(data-pip); position: absolute; top: 15px; right: 18px; color: var(--pip343-cobalt); font-weight: 900; letter-spacing: .15em; }

.pip343-supportgrid { grid-template-columns: repeat(3, 1fr); margin-top: 42px; }
.pip343-supportgrid article { min-height: 250px; background: var(--pip343-ivory); }
.pip343-support-time { margin-top: 30px; color: var(--pip343-cobalt); font-family: "Roboto Serif", Georgia, serif; font-size: 2.5rem; font-weight: 850; }

.pip343-cashboard { margin-top: 42px; background: var(--pip343-paper); border: 3px solid var(--pip343-ink); box-shadow: var(--pip343-shadow); }
.pip343-cashrow { display: grid; grid-template-columns: 1.3fr .75fr .75fr 1fr; gap: 14px; padding: 17px 22px; border-bottom: 1px solid var(--pip343-line); align-items: center; }
.pip343-cashrow:last-child { border-bottom: 0; }
.pip343-cashrow--head { color: #fff; background: var(--pip343-ink); font-size: .78rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.pip343-pay { display: flex; align-items: center; gap: 12px; font-weight: 850; }
.pip343-pay i { display: grid; width: 34px; aspect-ratio: 1; place-items: center; color: #fff; background: var(--pip343-cobalt); border-radius: 50%; font-style: normal; }

.pip343-mobile-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 64px; align-items: center; }
.pip343-phone { width: min(360px, 100%); margin: 0 auto; padding: 20px; border: 4px solid var(--pip343-ink); border-radius: 36px; background: var(--pip343-ink); box-shadow: 18px 18px 0 rgba(21,34,48,.18); transform: rotate(-2deg); }
.pip343-phone__screen { min-height: 600px; padding: 24px; background: linear-gradient(160deg, var(--pip343-ivory), var(--pip343-mist)); border-radius: 20px; overflow: hidden; }
.pip343-phone__brand { font-family: "Roboto Serif", Georgia, serif; font-size: 2rem; font-weight: 850; }
.pip343-phone__balance { margin-top: 18px; padding: 20px; color: #fff; background: linear-gradient(120deg, var(--pip343-cobalt), var(--pip343-jade)); clip-path: var(--pip343-cut); }
.pip343-phone__balance span { display: block; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.pip343-phone__balance div { margin-top: 6px; font-size: 2.1rem; font-weight: 850; }
.pip343-phone__tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.pip343-phone__tiles i { min-height: 108px; background: var(--pip343-paper); border: 2px solid var(--pip343-ink); clip-path: var(--pip343-cut); }
.pip343-phone__tiles i:nth-child(2) { background: var(--pip343-sulfur); }
.pip343-phone__tiles i:nth-child(3) { background: #d8fff0; }
.pip343-phone__tiles i:nth-child(4) { background: #ffe1d7; }
.pip343-mobile-copy { display: grid; gap: 22px; }

.pip343-final { color: var(--pip343-ivory); background:
  radial-gradient(circle at 84% 28%, rgba(234,203,59,.4), transparent 19rem),
  linear-gradient(118deg, var(--pip343-cobalt), #4327a5 52%, var(--pip343-jade)); }
.pip343-final__grid { display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: end; }
.pip343-final h2 { max-width: 800px; }
.pip343-final .pip343-prose { margin-top: 26px; }
.pip343-final .pip343-actions { display: grid; min-width: 250px; }

.pip343-faq-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 48px; align-items: start; }
.pip343-faq-intro { position: sticky; top: 110px; display: grid; gap: 24px; }
.pip343-faq-list { display: grid; gap: 13px; }
.pip343-faq-list details { background: var(--pip343-paper); border: 2px solid var(--pip343-ink); clip-path: var(--pip343-cut); box-shadow: 5px 5px 0 rgba(21,34,48,.14); }
.pip343-faq-list summary { padding: 20px 54px 20px 22px; cursor: pointer; list-style: none; font-family: "Roboto Serif", Georgia, serif; font-weight: 800; position: relative; }
.pip343-faq-list summary::-webkit-details-marker { display: none; }
.pip343-faq-list summary::after { content: "+"; position: absolute; right: 20px; top: 14px; color: var(--pip343-vermilion); font-size: 1.8rem; }
.pip343-faq-list details[open] summary::after { content: "−"; }
.pip343-faq-list details p { padding: 0 22px 24px; color: var(--pip343-muted); }

.pip343-footer { padding: 46px 0; color: var(--pip343-mist); background: #0f1923; border-top: 4px solid var(--pip343-vermilion); }
.pip343-footer__top { display: flex; gap: 30px; align-items: center; }
.pip343-footer__links { display: flex; flex-wrap: wrap; margin-left: auto; gap: 18px; }
.pip343-footer__links a { color: var(--pip343-mist); font-size: .86rem; text-decoration: none; }
.pip343-footer__bottom { display: grid; grid-template-columns: 1fr auto; gap: 28px; margin-top: 32px; padding-top: 28px; border-top: 1px solid rgba(233,240,244,.22); align-items: start; }
.pip343-footer__bottom p { color: #b7c5cc; }
.pip343-age { display: grid; width: 70px; aspect-ratio: 1; place-items: center; color: var(--pip343-ink); background: var(--pip343-sulfur); border: 3px solid var(--pip343-ivory); border-radius: 50%; font-family: "Roboto Serif", Georgia, serif; font-size: 1.4rem; font-weight: 850; }

@media (max-width: 980px) {
  .pip343-nav { display: none; }
  .pip343-hero__grid, .pip343-route-board, .pip343-mobile-grid, .pip343-faq-grid { grid-template-columns: 1fr; }
  .pip343-domino-stack { width: min(520px, 100%); margin: 0 auto; }
  .pip343-prose--cols, .pip343-stepgrid, .pip343-livegrid, .pip343-supportgrid { grid-template-columns: 1fr 1fr; }
  .pip343-ticketgrid, .pip343-gamegrid { grid-template-columns: repeat(2, 1fr); }
  .pip343-levels { grid-template-columns: repeat(3, 1fr); }
  .pip343-profilegrid { grid-template-columns: repeat(2, 1fr); }
  .pip343-faq-intro { position: static; }
  .pip343-final__grid { grid-template-columns: 1fr; }
  .pip343-final .pip343-actions { display: flex; min-width: 0; }
}

@media (max-width: 640px) {
  body.pip343-body { font-size: 16px; }
  .pip343-shell { width: min(100% - 26px, 1180px); }
  .pip343-section { padding: 66px 0; }
  .pip343-topbar__inner { min-height: 68px; }
  .pip343-brand img { width: 176px; }
  .pip343-topbar__actions .pip343-button--pale { display: none; }
  .pip343-topbar__actions .pip343-button { min-width: 92px; }
  .pip343-hero { padding-top: 56px; }
  .pip343-hero__grid { gap: 30px; }
  .pip343-domino-stack { min-height: 460px; transform: scale(.88); transform-origin: top center; margin-bottom: -55px; }
  .pip343-domino { width: 210px; min-height: 112px; }
  .pip343-hero-stats, .pip343-prose--cols, .pip343-stepgrid, .pip343-ticketgrid, .pip343-gamegrid, .pip343-livegrid, .pip343-profilegrid, .pip343-supportgrid, .pip343-club-duo { grid-template-columns: 1fr; }
  .pip343-ticketgrid article:nth-child(n), .pip343-level:nth-child(n) { transform: none; }
  .pip343-levels { grid-template-columns: 1fr 1fr; }
  .pip343-level { min-height: 180px; }
  .pip343-score-row { grid-template-columns: 54px 1fr 100px; }
  .pip343-score-row span:nth-child(3) { display: none; }
  .pip343-cashboard { overflow-x: auto; }
  .pip343-cashrow { min-width: 650px; }
  .pip343-phone { width: 300px; }
  .pip343-phone__screen { min-height: 500px; }
  .pip343-footer__top, .pip343-footer__bottom { grid-template-columns: 1fr; display: grid; }
  .pip343-footer__links { margin-left: 0; }
  .pip343-actions { display: grid; }
  .pip343-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
