/* Inner pages (privacy, terms, contact): the home page theme, one shared sheet. */
:root { --mint:#80cca6; --mint-deep:#47947a; --mint-deeper:#337a66; --paper:#fbf7ef; --cream:#f7f2e6; --ink:#26282a; --muted:#6c6f6b; --rule:#e8e2d5; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:500 17px/1.6 "Manrope", ui-sans-serif, -apple-system, "Segoe UI", sans-serif; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a { color:var(--mint-deeper); text-decoration:none; }
.wrap { max-width:1248px; margin:0 auto; padding:0 24px; }
header .wrap { display:flex; align-items:center; justify-content:space-between; height:84px; }
.brand { display:flex; align-items:center; gap:11px; font-family:"Bricolage Grotesque", "Manrope", ui-sans-serif, sans-serif; font-optical-sizing:auto; font-weight:800; font-size:26px; line-height:1.3; letter-spacing:-.02em; color:var(--ink); padding:4px 0; }
.brand img { width:36px; height:36px; border-radius:9px; }
.stores { display:flex; gap:10px; }
.store { display:inline-flex; align-items:center; gap:9px; text-decoration:none; padding:6px 14px 6px 10px; border-radius:10px; background:#0a0a0a; color:#fff; border:1px solid #2a2a2a; line-height:1; }
.store-text { display:flex; flex-direction:column; gap:3px; }
.store small { font-size:9px; font-weight:500; letter-spacing:.02em; opacity:.85; }
.store b { font-size:16px; font-weight:700; letter-spacing:-.01em; }
@media (max-width: 640px) { .store-text { display:none; } .store { padding:8px; } }
footer { border-top:1px solid var(--rule); padding:24px 0; font-size:14px; color:var(--muted); }
footer .wrap { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
footer a { color:var(--muted); margin-right:22px; }
a { color:var(--mint-deeper); }
main { min-height:60vh; }
h1, h2, h3 { font-family:"Bricolage Grotesque", "Manrope", ui-sans-serif, sans-serif; font-optical-sizing:auto; letter-spacing:-.02em; color:var(--ink); }
.legal h1 { font-weight:800; }
p { margin:.75rem 0; }
.btn { display:inline-block; padding:12px 20px; border-radius:12px; background:var(--ink); color:#fff; font-weight:700; font-size:15px; border:0; font-family:inherit; cursor:pointer; }
.btn:disabled { opacity:.6; cursor:default; }
.hp { position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
/* ── Legal pages ────────────────────────────────────────────────────── */

.legal { padding: clamp(2.5rem, 6vw, 4rem) 0 clamp(3rem, 7vw, 5rem); }
.legal .doc {
  max-width: 46rem; margin: 0 auto;
  background: var(--card); border: 1px solid var(--rule);
  border-radius: var(--radius); padding: clamp(1.6rem, 4vw, 2.75rem);
  box-shadow: var(--shadow);
}
.legal h1 { margin: 0 0 .3rem; font-size: clamp(1.7rem, 4vw, 2.2rem); }
.legal h2 {
  margin: 2.3rem 0 .6rem; font-size: 1.12rem;
  letter-spacing: -.012em; font-weight: 620;
}
.legal h3 { margin: 1.5rem 0 .4rem; font-size: 1rem; font-weight: 600; }
.legal .meta { color: var(--muted); font-size: .9rem; margin: 0 0 1.9rem; }
.legal .lede { font-size: 1.04rem; max-width: none; }
.legal ul { padding-left: 1.15rem; }
.legal li { margin: .3rem 0; }
.legal hr { border: 0; border-top: 1px solid var(--rule); margin: 2.2rem 0; }
.legal table { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: .94rem; }
.legal th, .legal td { text-align: left; padding: .55rem .7rem; border-bottom: 1px solid var(--rule); }
.legal th { font-weight: 600; }
.legal td, .legal th { vertical-align: top; }
/* Callout used by the privacy summary and the Apple section of the terms.
   Ported from legal/*.html when those documents replaced the 2026-07-30 drafts. */
.legal .box { border: 1px solid var(--rule); border-radius: 10px;
  padding: 1rem 1.1rem; margin: 1.25rem 0;
  background: color-mix(in srgb, var(--mint) 10%, var(--cream)); }
.legal .box > :first-child { margin-top: 0; }
.legal .box > :last-child  { margin-bottom: 0; }
.legal code {
  background: var(--cream); padding: .1rem .35rem; border-radius: 5px;
  font-size: .9em; font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
.callout {
  background: var(--cream); border: 1px solid var(--rule);
  border-left: 3px solid var(--mint-deep);
  border-radius: 10px; padding: 1rem 1.15rem; margin: 1.5rem 0;
}
.callout p:last-child { margin-bottom: 0; }
.callout p:first-child { margin-top: 0; }
.contact-form { margin: 1.4rem 0 0; }
.field { margin: 0 0 1.05rem; }
.field label {
  display: block; margin: 0 0 .35rem;
  font-size: .92rem; font-weight: 560; letter-spacing: -.005em;
}
.field input, .field select, .field textarea {
  width: 100%; padding: .78rem .95rem;
  font: inherit; font-size: 1rem; color: var(--ink);
  background: var(--card); border: 1px solid var(--rule); border-radius: 12px;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.field textarea { resize: vertical; min-height: 8rem; }
.field input::placeholder, .field textarea::placeholder {
  color: color-mix(in srgb, var(--muted) 70%, transparent);
}
.field input:focus, .field select:focus, .field textarea:focus {
  outline: none; border-color: var(--mint-deep);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--mint-deep) 14%, transparent);
}
.field .hint { display: block; margin: .35rem 0 0; font-size: .85rem; color: var(--muted); }

.form-actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin: 1.4rem 0 0; }
.contact-msg:empty { display: none; }
.contact-msg { margin: 0; font-size: .93rem; font-weight: 520; }
.contact-msg.ok  { color: var(--mint-deeper); }
.contact-msg.err { color: #b4553f; }
