:root { --paper: #F2E8D5; --card: #FBF5E9; --ink: #2A2320; --soft: #6B5D55; --poo: #9C6A4E; --red: #E2543F; --shadow: #E0CFB2; }
@font-face { font-family: Grandstander; src: url(fonts/Grandstander-Variable.woff2) format('woff2'); font-weight: 100 900; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 500 18px/1.6 Grandstander, 'Chalkboard SE', system-ui, sans-serif; padding: 32px 16px 64px; }
main { max-width: 680px; margin: 0 auto; }
h1 { font-weight: 900; font-size: 44px; line-height: 1.05; margin: 0 0 6px; }
h1 span { color: var(--poo); }
h2 { font-weight: 800; font-size: 24px; margin: 32px 0 6px; }
p, li { color: var(--ink); }
.lede { color: var(--soft); font-size: 20px; }
.card { background: var(--card); box-shadow: 4px 5px 0 var(--shadow); padding: 18px 22px; margin: 20px 0; }
a { color: var(--red); }
footer { margin-top: 48px; color: var(--soft); font-size: 15px; }
nav { margin-bottom: 28px; font-size: 16px; } nav a { margin-right: 14px; }

.hero { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 28px; margin: 18px 0 8px; }
.hero .icon { border-radius: 32px; box-shadow: 4px 5px 0 var(--shadow); }
.badges { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.badges a { display: inline-block; line-height: 0; }
.badges .gp { margin: -11px -10px; }
.soon { flex-basis: 100%; margin: 4px 0 0; font-size: 15px; color: var(--soft); }
.shots { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 8px 2px 18px; margin: 24px -16px 8px; padding-inline: 16px; }
.shots figure { flex: 0 0 min(560px, 82vw); margin: 0; scroll-snap-align: start; }
.shots img { width: 100%; height: auto; display: block; border-radius: 14px; box-shadow: 4px 5px 0 var(--shadow); }
.shots figcaption { font-size: 15px; color: var(--soft); margin-top: 8px; }
main { max-width: 760px; }
