/* Ironspire Legion website (server/site/), adapted from the Frontier Lord site: parchment, ink, wood, gold. */
:root {
  --paper: #f3e7cc;
  --paper-2: #eadab5;
  --ink: #2e2216;
  --muted: #6b5840;
  --wood: #5a3a20;
  --gold: #b87a12;
  --line: #d6c193;
  color-scheme: light;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 17px/1.6 "Atkinson Hyperlegible", system-ui, sans-serif; }
img { display: block; max-width: 100%; }
a { color: var(--gold); }
h1, h2 { font-family: "MedievalSharp", Georgia, serif; line-height: 1.15; margin: 0; text-wrap: balance; }
.wrap { max-width: 860px; margin: 0 auto; padding: 0 16px; }
.bar { background: var(--wood); }
.bar .wrap { display: flex; align-items: center; height: 64px; }
.brand { display: flex; align-items: center; gap: 10px; color: #fff4dc; text-decoration: none; font-family: "MedievalSharp", Georgia, serif; font-size: 22px; }
.brand img { width: 36px; height: 36px; border-radius: 8px; }
.page { max-width: 860px; margin: 0 auto; padding: 36px 16px 56px; }
.page h1 { font-size: 38px; margin-bottom: 6px; }
.page h2 { font-size: 24px; margin: 30px 0 8px; }
.page p, .page ul, .page ol { margin: 0 0 12px; }
.muted { color: var(--muted); }
.table { overflow-x: auto; margin: 8px 0 12px; }
table { border-collapse: collapse; width: 100%; min-width: 520px; font-size: 15px; }
th, td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--line); }
th { background: var(--paper-2); }
.hero { text-align: center; padding: 56px 16px 40px; }
.hero img.icon { width: 128px; height: 128px; border-radius: 26px; margin: 0 auto 18px; box-shadow: 0 8px 24px rgba(60, 40, 10, .25); }
.hero h1 { font-size: 46px; }
.hero p { max-width: 560px; margin: 12px auto 0; color: var(--muted); }
footer { background: var(--paper-2); border-top: 1px solid var(--line); font-size: 15px; }
footer .wrap { display: flex; flex-wrap: wrap; gap: 8px 20px; justify-content: space-between; padding-top: 18px; padding-bottom: 18px; }
footer nav { display: flex; gap: 18px; }

/* screenshots: a swipeable strip on phones, a row on wide screens */
.shots { padding: 8px 0 8px; }
.shots h2 { text-align: center; font-size: 30px; margin-bottom: 18px; }
.strip { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 16px 14px; max-width: 1180px; margin: 0 auto; -webkit-overflow-scrolling: touch; }
.strip figure { flex: 0 0 min(64vw, 220px); margin: 0; scroll-snap-align: center; }
.strip img { width: 100%; height: auto; border-radius: 18px; border: 1px solid var(--line); box-shadow: 0 6px 18px rgba(60, 40, 10, .22); }
.strip figcaption { padding: 10px 2px 0; font-size: 15px; line-height: 1.4; }
.strip figcaption b { display: block; font-family: "MedievalSharp", Georgia, serif; font-size: 18px; font-weight: 400; }
.strip figcaption span { color: var(--muted); }
.hint { text-align: center; color: var(--muted); font-size: 14px; margin: 4px 16px 0; }
@media (min-width: 1180px) { .strip { justify-content: center; overflow-x: visible; } .hint { display: none; } }
/* store links (placeholders until the store apps exist) */
.stores { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 22px; }
.stores a, .stores span { display: inline-block; padding: 10px 18px; border-radius: 10px; background: var(--wood); color: #fff4dc; text-decoration: none; }
.stores span { opacity: .55; }
