/* Divine Breath — shared theme for every page except the landing.
 *
 * The landing keeps its own inline <style> (it is pixel-tuned and is the one
 * page where a render-blocking request would cost something). Everything else
 * — help, privacy, terms, delete-account, 404 — reads this file, so the palette
 * lives in exactly one place. Before this file there were three different sets
 * of colour names across those pages, which is how they drifted apart.
 *
 * The blessing/ and auth/ pages deliberately stay self-contained: they are
 * opened cold from a messaging app or an email link, where one more blocking
 * request is the wrong trade.
 */

:root{
  --paper:#FAF8F4; --white:#fff; --sand:#F1EDE6;
  --rule:#E3DEDA; --rule-soft:#EEE9E2;
  --ink:#1E2A4A; --ink-hover:#2E3A5C;
  --body:#4A5170; --muted:#6B7078; --faint:#6B7078;
  --gold:#D7A94B; --gold-deep:#B98A2E; --gold-label:#8A6C2D; --gold-light:#E7C683;
  --serif:'Playfair Display',Georgia,serif;
  --sans:Inter,system-ui,-apple-system,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--gold-label);text-decoration:none}
a:hover{color:var(--gold-deep)}
::selection{background:rgba(215,169,75,.3)}
:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px;border-radius:4px}

.bg-halo{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(1200px 600px at 50% -10%,rgba(231,198,131,.26),rgba(250,248,244,0) 70%)}

/* ── Nav ── */
.nav{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 48px;border-bottom:1px solid var(--rule);background:var(--paper)}
.nav-brand{display:flex;align-items:center;gap:10px;color:var(--ink)}
.nav-brand img{display:block;width:16px;height:auto}
.nav-brand span{font-family:var(--serif);font-weight:500;font-size:19px}
.nav-back{font-size:13px;font-weight:500;color:var(--body);transition:color .25s ease}
.nav-back:hover{color:var(--ink)}

/* ── Page head ── */
.hero{position:relative;z-index:1;max-width:820px;margin:0 auto;padding:80px 32px 60px;text-align:center}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:3px;color:var(--gold-label)}
.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(34px,4vw,50px);line-height:1.1;margin:18px 0 0;text-wrap:balance}
.hero-sub{font-size:16px;line-height:1.75;color:var(--body);margin:20px auto 0;max-width:560px;text-wrap:pretty}

.chips{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:36px}
.chip{font-size:13px;font-weight:600;color:var(--body);background:var(--white);border:1px solid var(--rule);border-radius:999px;padding:8px 16px;transition:color .25s ease,border-color .25s ease}
.chip:hover{color:var(--ink);border-color:var(--gold)}

/* ── Help: sections and disclosures ── */
.content{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:20px 32px 120px;display:flex;flex-direction:column;gap:64px}
.sec-num{font-size:11px;font-weight:700;letter-spacing:3px;color:var(--gold-label)}
.sec-h{font-family:var(--serif);font-weight:500;font-size:28px;color:var(--ink);margin:10px 0 0}

details{border-top:1px solid var(--rule);padding:18px 0}
summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:15.5px;font-weight:600;color:var(--ink)}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';font-family:var(--serif);font-size:22px;color:var(--gold-label);flex:none;transition:transform .25s ease}
details[open] summary::after{content:'–'}
details p,details ul{font-size:14.5px;line-height:1.75;color:var(--body);margin:14px 0 0;text-wrap:pretty}
details ul{padding-left:22px}

.contact{text-align:center;border-top:1px solid var(--rule);padding-top:40px}
.contact h2{font-family:var(--serif);font-weight:500;font-size:26px;color:var(--ink);margin:0;text-wrap:balance}
.contact p{font-size:15px;line-height:1.7;color:var(--body);margin:14px 0 0}

/* ── Buttons ── */
.cta-mail{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 34px;border-radius:999px;background:var(--ink);color:var(--paper);font-family:var(--serif);font-size:16px;font-weight:600;margin-top:26px;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.cta-mail:hover{background:var(--ink-hover);color:var(--paper);transform:translateY(-2px);box-shadow:0 14px 30px rgba(30,42,74,.22)}
.cta{display:inline-flex;align-items:center;justify-content:center;height:50px;padding:0 30px;border-radius:999px;background:var(--ink);color:var(--paper);font-family:var(--serif);font-size:16px;font-weight:600;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.cta:hover{background:var(--ink-hover);color:var(--paper);transform:translateY(-2px);box-shadow:0 14px 30px rgba(30,42,74,.22)}

/* ── Legal / document pages ── */
.doc{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:80px 32px 40px}
.doc h1{font-family:var(--serif);font-weight:500;font-size:clamp(32px,4vw,46px);line-height:1.12;margin:18px 0 0;text-wrap:balance}
.eff{font-size:13px;color:var(--muted);margin:16px 0 0}
.lede{font-size:16px;line-height:1.75;color:var(--body);margin:20px 0 0;text-wrap:pretty}
.meta{font-size:13px;color:var(--muted);margin:10px 0 0}
.sections{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:20px 32px 120px;display:flex;flex-direction:column;gap:48px}
.sec h2{font-family:var(--serif);font-weight:500;font-size:24px;color:var(--ink);margin:12px 0 0}
.sec h2.tight{margin-top:0}
.sec p{font-size:15px;line-height:1.8;color:var(--body);margin:14px 0 0;text-wrap:pretty}
.sec ul,.sec ol{font-size:15px;line-height:1.8;color:var(--body);margin:14px 0 0;padding-left:22px}
.sec strong{color:var(--ink);font-weight:600}
.note{background:var(--white);border:1px solid var(--rule);border-radius:16px;padding:20px 22px;margin-top:20px;font-size:14.5px;line-height:1.7;color:var(--body)}
.opt{background:var(--white);border:1px solid var(--rule);border-radius:16px;padding:22px 24px;margin-top:16px}
.disc{font-size:13px;line-height:1.7;color:var(--muted);border-top:1px solid var(--rule);padding-top:24px;margin-top:8px}

.table-scroll{overflow-x:auto;margin-top:18px;border:1px solid var(--rule);border-radius:16px;background:var(--white)}
table{border-collapse:collapse;width:100%;min-width:460px;font-size:14.5px}
th,td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--rule);color:var(--body);line-height:1.6}
th{font-weight:600;color:var(--ink);background:var(--sand)}
tbody tr:last-child td{border-bottom:0}

/* ── Footer ── */
.foot{position:relative;z-index:1;border-top:1px solid var(--rule);padding:48px;background:var(--white)}
.foot-inner{max-width:1240px;margin:0 auto;display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;align-items:flex-start}
.foot-brand{display:flex;flex-direction:column;gap:10px}
.foot-brand-row{display:flex;align-items:center;gap:10px}
.foot-brand-row img{display:block;width:18px;height:auto}
.foot-brand-row span{font-family:var(--serif);font-weight:500;font-size:22px;color:var(--ink)}
.foot-tag{font-size:13px;color:var(--body)}
.foot-links{display:flex;gap:28px;flex-wrap:wrap;align-items:center}
.foot-links a{font-size:13px;color:var(--body);transition:color .25s ease}
.foot-links a:hover{color:var(--ink)}
.foot-mail{font-size:13px;color:var(--gold-label)}
.foot-copy{text-align:center;font-size:12px;color:var(--muted);margin-top:40px}

@media (max-width:760px){
  .nav{padding:16px 20px}
  .hero{padding:56px 20px 40px}
  .content,.sections{padding-left:20px;padding-right:20px}
  .doc{padding:56px 20px 32px}
  .foot{padding:40px 20px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none !important;transition:none !important}
}
