/* Brick Bust's site: the game's sunny sky, navy, tangerine and cream; Fredoka (the game's font) for headings. */
:root {
  --sky-top: #5ab6f4;
  --sky-bottom: #2b7fd8;
  --navy: #142a63;
  --navy-deep: #0c1c47;
  --tangerine: #f48b1f;
  --tangerine-dark: #c9650a;
  --cream: #fff6e3;
  --ink: #1b2a55;
  --muted: #56628a;
  --line: #e7dcc4;
  --display: "Fredoka", "Avenir Next Rounded", "Arial Rounded MT Bold", system-ui, sans-serif;
  --body: "Nunito", "Segoe UI", system-ui, -apple-system, sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body { font: 17px/1.6 var(--body); color: var(--ink); background: var(--cream); }
a { color: var(--tangerine-dark); }
img { max-width: 100%; height: auto; display: block; }
.wrap { max-width: 1040px; margin: 0 auto; padding-inline: max(20px, env(safe-area-inset-left, 0px)) max(20px, env(safe-area-inset-right, 0px)); }

/* Landing */
.hero { background: linear-gradient(180deg, var(--sky-top), var(--sky-bottom)); color: #fff; text-align: center; padding-block: 48px 64px; }
.hero .logo { width: min(560px, 88vw); margin: 0 auto 18px; }
.tagline { font: 700 clamp(24px, 4.4vw, 36px)/1.2 var(--display); margin: 0 0 12px; text-shadow: 0 3px 0 rgba(12, 28, 71, .3); }
.lede { max-width: 640px; margin: 0 auto; font-size: 19px; color: #f0f7ff; }
.soon { display: inline-flex; gap: 10px; align-items: center; margin-top: 26px; padding: 12px 22px; border-radius: 999px; background: var(--navy); color: #fff; font: 600 18px var(--display); box-shadow: 0 6px 0 var(--navy-deep); }
.soon img { width: 34px; height: 34px; border-radius: 9px; }
.shots { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: -36px; }
.shots figure { margin: 0; border-radius: 26px; overflow: hidden; border: 5px solid #fff; box-shadow: 0 12px 28px rgba(12, 28, 71, .28); background: #000; }
.shots img { width: 100%; aspect-ratio: 540 / 1050; object-fit: cover; object-position: top; }
@media (max-width: 760px) { .shots { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.features { display: grid; gap: 22px; grid-template-columns: repeat(3, minmax(0, 1fr)); padding-block: 48px 24px; }
@media (max-width: 760px) { .features { grid-template-columns: minmax(0, 1fr); } }
.features h2 { font: 700 24px var(--display); color: var(--navy); margin: 0 0 6px; }
.features p { margin: 0; color: var(--muted); }

/* Text pages */
.page-head { background: linear-gradient(180deg, var(--sky-top), var(--sky-bottom)); padding-block: 22px; }
.page-head a { display: inline-flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; font: 600 18px var(--display); }
.page-head img { width: 150px; }
.doc { max-width: 760px; padding-block: 28px 40px; }
.doc h1 { font: 700 clamp(28px, 5vw, 38px)/1.15 var(--display); color: var(--navy); margin: 0 0 6px; }
.doc h2 { font: 700 23px var(--display); color: var(--navy); margin: 30px 0 8px; }
.doc h3 { font: 700 19px var(--display); color: var(--navy); margin: 22px 0 6px; }
.meta { color: var(--muted); font-size: 15px; margin: 0 0 18px; }
.table-wrap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; font-size: 15px; margin: 10px 0; background: #fff; }
th, td { border: 1px solid var(--line); padding: 8px 10px; text-align: left; vertical-align: top; }
th { background: #fdecd0; font-weight: 700; }
.faq h3 { margin-top: 20px; }

footer { background: var(--navy); color: #cfe0ff; text-align: center; padding-block: 26px; font-size: 15px; }
footer a { color: #fff; margin: 0 8px; }
