/* Landing page: a light, cream theme with the app's approved colours (phase B) and fonts (El Messiri headings, Cairo text). */
:root {
  color-scheme: light;
  --bg: #F5EDE6;
  --surface: #FFFFFF;
  --ink: #5A4A47;
  --muted: #7D676B;
  --brand-dark: #8A3E50;
  --brand-light: #E8C4C4;
  --hairline: #EADFDA;
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px;
  --r1: 8px; --r2: 12px; --r3: 16px;
  --motion: 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 76px; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: "Cairo", system-ui, sans-serif; font-size: 17px; line-height: 1.9; -webkit-font-smoothing: antialiased; }
h1, h2, h3, .brand span { font-family: "El Messiri", "Cairo", serif; margin: 0; font-weight: 700; }
a { color: var(--brand-dark); }
img { max-width: 100%; height: auto; }
.wrap { width: min(1100px, 100% - 32px); margin-inline: auto; }
.narrow { width: min(760px, 100% - 32px); }

/* header */
.top { position: sticky; top: 0; z-index: 10; border-bottom: 1px solid var(--hairline); }
.top-row { display: flex; align-items: center; justify-content: space-between; gap: var(--s4); min-height: 64px; }
.brand { display: flex; align-items: center; gap: var(--s2); text-decoration: none; color: var(--brand-dark); font-size: 24px; }
.nav { display: none; gap: var(--s5); margin-inline-end: auto; margin-inline-start: var(--s5); }
.nav a { text-decoration: none; color: var(--ink); font-size: 15px; min-height: 48px; display: inline-flex; align-items: center; }
.nav a:hover { color: var(--brand-dark); text-decoration: underline; }
@media (min-width: 960px) { .nav { display: flex; } }

/* buttons: filled with brandDark, white text (7.28:1) */
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 var(--s5); border-radius: 999px; background: var(--brand-dark); color: #fff; text-decoration: none; font-weight: 700; font-size: 16px; border: 0; transition: transform var(--motion), box-shadow var(--motion); }
.btn:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(138, 62, 80, 0.28); }
.btn-small { padding: 0 var(--s4); font-size: 15px; }
.btn-light { background: var(--brand-light); color: var(--brand-dark); }

/* the Google Play badge (not a link yet) */
.store { display: inline-flex; align-items: center; gap: var(--s3); min-height: 56px; padding: 0 var(--s5); border-radius: var(--r2); background: var(--ink); color: var(--bg); }
.store-icon { width: 26px; height: 26px; }
.store small { display: block; font-size: 12px; line-height: 1.4; }
.store strong { display: block; font-size: 17px; line-height: 1.3; }

/* hero */
.hero { padding: 56px 0; }
.hero-grid { display: grid; gap: 40px; align-items: center; }
@media (min-width: 900px) { .hero-grid { grid-template-columns: 1.1fr 1fr; } }
h1 { font-size: clamp(32px, 6vw, 48px); line-height: 1.4; margin-bottom: var(--s4); }
h1 span { color: var(--brand-dark); }
.lead { margin: 0 0 var(--s5); font-size: 18px; max-width: 30em; }
.cta-row { display: flex; flex-wrap: wrap; gap: var(--s4); align-items: center; }
.shots { display: flex; gap: var(--s4); justify-content: center; align-items: flex-start; }
.shots img { width: min(46%, 270px); border-radius: var(--r3); border: 1px solid var(--hairline); box-shadow: 0 8px 28px rgba(90, 74, 71, 0.18); background: var(--surface); }
.shots img:nth-child(2) { margin-top: 40px; }

/* sections */
.section { padding: 64px 0; }
.section.alt { background: var(--hairline); }
h2 { font-size: clamp(26px, 4vw, 34px); line-height: 1.4; margin-bottom: var(--s5); }
.big { font-size: 18px; margin: 0 0 var(--s4); }
.cards { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s4); }
@media (min-width: 800px) { .cards { grid-template-columns: repeat(3, 1fr); } }
.card { background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--r3); padding: var(--s5); }
.card h3 { font-size: 20px; color: var(--brand-dark); margin-bottom: var(--s2); }
.card p { margin: 0; font-size: 16px; }
.steps b { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--brand-light); color: var(--brand-dark); font-family: "El Messiri", serif; margin-bottom: var(--s3); }

details { background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--r2); padding: 0 var(--s4); margin-bottom: var(--s2); }
summary { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: var(--s3); cursor: pointer; font-weight: 600; list-style: none; }
summary::-webkit-details-marker { display: none; }
summary::after { content: "+"; color: var(--brand-dark); font-size: 24px; line-height: 1; }
details[open] summary::after { content: "–"; }
details p { margin: 0 0 var(--s4); font-size: 16px; }

.foot { border-top: 1px solid var(--hairline); color: var(--muted); font-size: 14px; }
.foot-row { display: flex; flex-wrap: wrap; gap: var(--s5); align-items: center; min-height: 72px; }
.foot-row a { min-height: 48px; display: inline-flex; align-items: center; }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .btn { transition: none; } }

/* privacy / terms pages (generated from landing/legal/content.md) */
.legal { padding-block: 48px 72px; }
.legal h1 { font-size: clamp(28px, 4vw, 40px); margin: 0 0 var(--s2); }
.legal h2 { font-size: 22px; margin: 34px 0 10px; color: var(--brand-dark); }
.legal p, .legal li { color: var(--ink); }
.legal ul { padding-inline-start: 22px; }
.legal hr { border: 0; border-top: 1px solid var(--hairline); margin: 36px 0; }
.legal .table-wrap { overflow-x: auto; margin: 16px 0; }
.legal table { width: 100%; border-collapse: collapse; font-size: 15px; background: var(--surface); border: 1px solid var(--hairline); }
.legal th, .legal td { padding: 10px 12px; border: 1px solid var(--hairline); text-align: start; vertical-align: top; }
.legal th { background: var(--brand-light); }
