/* skymindapp.com — same identity as the app: Instrument Serif headings, Inter text,
   dusk sky. Layout: one centred column; landing sections stack; legal pages read
   like a document (~68ch). */
:root {
  --bg: #FEFAF4;
  --surface: #FFFFFF;
  --ink: #2D2A26;
  --muted: #6B6560;
  --line: #ECE5DA;
  --accent: #7B5EA7;
  --accent-soft: #EEE8F7;
  --peach: #FFC9A3;
  --night: #1A1420;
  --night-2: #2A1F3F;
  --on-night: #F0E6E8;
  --on-night-muted: #B4A7B8;
  --serif: "Instrument Serif", Georgia, "Times New Roman", serif;
  --sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #140E1C; --surface: #1F1829; --ink: #F0E6E8; --muted: #B4A7B8; --line: #2E2338;
    --accent: #C5B6E8; --accent-soft: #2A2140;
    color-scheme: dark;
  }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 17px/1.6 var(--sans); }
a { color: var(--accent); text-underline-offset: 3px; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 6px; }
img { max-width: 100%; display: block; }
.wrap { max-width: 1040px; margin: 0 auto; padding-inline: 20px; }
.narrow { max-width: 720px; }

/* header */
.top { display: flex; align-items: center; justify-content: space-between; padding-block: 20px; gap: 16px; }
.brand { display: flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; font-weight: 600; letter-spacing: .01em; }
.brand img { width: 34px; height: 34px; border-radius: 9px; }
.top nav { display: flex; gap: 18px; flex-wrap: wrap; font-size: 15px; }
.top nav a { color: var(--muted); text-decoration: none; }
.top nav a:hover { color: var(--ink); }

/* hero: a piece of the app's night sky */
.hero { background: linear-gradient(180deg, #1E1630 0%, #34265A 45%, #96689F 78%, #FFB08C 100%); color: var(--on-night); }
.hero .top a, .hero .top nav a { color: var(--on-night-muted); }
.hero .brand { color: var(--on-night); }
.hero-body { display: grid; grid-template-columns: 1.15fr .85fr; gap: 40px; align-items: center; padding-block: 48px 72px; }
.hero h1 { font: italic 400 clamp(44px, 7vw, 76px)/1.02 var(--serif); margin: 0 0 18px; text-wrap: balance; }
.hero p.lede { font-size: 19px; color: var(--on-night-muted); max-width: 32ch; margin: 0 0 28px; }
.hero-art { justify-self: center; width: min(320px, 70vw); aspect-ratio: 1; border-radius: 22.37%; box-shadow: 0 30px 80px rgba(10, 6, 20, .45); overflow: hidden; }
.stores { display: flex; gap: 12px; flex-wrap: wrap; }
.store { display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; border-radius: 14px; background: #FFFFFF; color: #140E1C; text-decoration: none; font-weight: 600; font-size: 15px; }
.store svg { width: 20px; height: 20px; }
.store.ghost { background: rgba(255, 255, 255, .12); color: var(--on-night); border: 1px solid rgba(255, 255, 255, .25); }

/* sections */
section.block { padding-block: 72px; }
.eyebrow { font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); margin: 0 0 10px; }
h2 { font: italic 400 clamp(34px, 5vw, 48px)/1.08 var(--serif); margin: 0 0 14px; text-wrap: balance; }
.intro { color: var(--muted); max-width: 58ch; margin: 0 0 36px; }
.grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 22px; }
.card h3 { font: 600 17px/1.35 var(--sans); margin: 12px 0 6px; }
.card p { margin: 0; color: var(--muted); font-size: 15.5px; }
.dot { width: 38px; height: 38px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #FFE2C4, var(--peach) 45%, #C5B6E8 100%); }
.privacy-band { background: var(--accent-soft); border-radius: 28px; padding: 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.privacy-band ul { margin: 0; padding-left: 20px; color: var(--muted); }
.privacy-band li { margin-bottom: 8px; }
.help { border-left: 3px solid var(--accent); padding: 4px 0 4px 18px; color: var(--muted); max-width: 64ch; }

/* feature icons: a warm orb behind a line icon, like the app */
.icon { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
  background: radial-gradient(circle at 35% 30%, #FFE7D2, var(--peach) 50%, #D8CCF0 100%); }
.icon svg { width: 22px; height: 22px; fill: none; stroke: #3A2A5C; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.card { transition: transform .2s ease, box-shadow .2s ease; }
.card:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(42, 31, 63, .08); }

/* legal pages: a slice of night sky on top */
.doc-hero { background: linear-gradient(180deg, #1E1630 0%, #34265A 60%, #6D4F92 100%); }
.doc-head { padding-block: 8px 44px; }
.doc-head .eyebrow { color: var(--peach); }
.doc-head h1 { font: italic 400 clamp(42px, 7vw, 64px)/1.03 var(--serif); margin: 0 0 8px; color: var(--on-night); }
.doc-head .meta { color: var(--on-night-muted); margin: 0; font-size: 15px; }
.toc { border: 1px solid var(--line); border-radius: 18px; padding: 18px 22px; margin: 28px 0 8px; background: var(--surface); }
.toc p { margin: 0 0 8px; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.toc ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 28px; font-size: 15px; }
.toc li { margin-bottom: 4px; break-inside: avoid; }
.toc a { color: var(--ink); text-decoration: none; }
.toc a:hover { color: var(--accent); text-decoration: underline; }
.doc h2 { scroll-margin-top: 24px; }

/* legal documents */
.doc { padding-block: 32px 80px; }
.doc h1 { font: italic 400 clamp(40px, 6vw, 56px)/1.05 var(--serif); margin: 24px 0 8px; }
.doc .meta { color: var(--muted); font-size: 15px; margin: 0 0 32px; }
.doc h2 { font: 600 21px/1.35 var(--sans); font-style: normal; margin: 40px 0 10px; }
.doc h3 { font: 600 17px/1.4 var(--sans); margin: 24px 0 6px; }
.doc p, .doc li { color: var(--ink); }
.doc ul { padding-left: 22px; }
.doc li { margin-bottom: 6px; }
.doc .summary { background: linear-gradient(135deg, var(--accent-soft), color-mix(in srgb, var(--peach) 22%, var(--accent-soft))); border-radius: 20px; padding: 22px 26px; margin-bottom: 8px; }
.doc .summary ul { margin: 8px 0 0; }
.todo { background: #FFF1C2; color: #5B4500; border-radius: 6px; padding: 0 6px; }
.table-wrap { overflow-x: auto; }
.doc table { border-collapse: collapse; width: 100%; font-size: 15px; min-width: 560px; }
.doc th, .doc td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.doc th { font-weight: 600; }

footer { border-top: 1px solid var(--line); padding-block: 28px 40px; color: var(--muted); font-size: 14.5px; }
footer .wrap { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
footer a { color: var(--muted); }

@media (prefers-reduced-motion: reduce) { .card { transition: none; } .card:hover { transform: none; } }
@media (max-width: 820px) {
  .hero-body { grid-template-columns: 1fr; padding-block: 24px 56px; }
  .hero-art { width: min(240px, 60vw); order: -1; }
  .grid { grid-template-columns: 1fr; }
  .privacy-band { grid-template-columns: 1fr; padding: 28px 22px; }
  .toc ol { columns: 1; }
  .top nav { gap: 14px; font-size: 14px; }
}
