:root {
  --moss:#7BBF7B;
  --cream:#FFF4D6;
  --coral:#FF8E8E;
  --lavender:#C7A8FF;
  --navy:#2A2D5C;
  --gold:#F5C24B;
  --sky:#BFE3F5;
  --muted:#5C5F8A;
}
* { box-sizing: border-box; }
html,body { margin:0; padding:0; background:var(--cream); color:var(--navy); font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; line-height:1.55; }
a { color:var(--navy); }
.hero {
  background:linear-gradient(180deg,var(--sky) 0%,var(--cream) 100%);
  padding:80px 20px 100px;
  text-align:center;
}
.hero h1 { font-size:64px; margin:0 0 8px; color:var(--navy); letter-spacing:-1px; }
.hero p.tagline { font-size:22px; margin:0 0 24px; color:var(--muted); }
.cta { display:inline-block; background:var(--coral); color:#fff; font-weight:700; padding:14px 28px; border-radius:14px; border:2px solid #D96B6B; text-decoration:none; font-size:18px; }
.cta.alt { background:var(--lavender); border-color:#9C7AD6; color:var(--navy); margin-left:8px; }
.container { max-width:880px; margin:0 auto; padding:32px 20px; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin:32px 0; }
.card { background:#fff; border-radius:18px; padding:18px; box-shadow:0 4px 12px #00000010; }
.card h3 { margin:0 0 6px; color:var(--coral); }
.shots { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin:24px 0; }
.shots img { width:100%; border-radius:14px; box-shadow:0 6px 18px #00000022; background:var(--sky); }
footer { background:var(--navy); color:#fff; padding:32px 20px; text-align:center; }
footer a { color:#fff; margin:0 12px; }
h2 { color:var(--navy); margin-top:36px; }
.muted { color:var(--muted); }
.pill { display:inline-block; background:var(--gold); color:var(--navy); border-radius:999px; padding:4px 12px; font-weight:700; font-size:12px; margin-right:6px; }
article { max-width:720px; margin:0 auto; padding:32px 20px 60px; }
article h1 { border-bottom:3px solid var(--coral); padding-bottom:8px; }
article h2 { color:var(--coral); }
article ul { line-height:1.8; }
.tinybadge {
  display:inline-block; padding:4px 10px; background:var(--moss); color:#fff; border-radius:10px; font-weight:700; font-size:12px; margin-bottom:4px;
}
