/* assets/site.css — the marketing site (Home, How it works, Features, For youth, Sample email).
   Spec: docs/spec/03-public-site-emails.md §1.6. Tokens shared with the app (01-product-roles-brand.md).
   No framework; works with JS off. Candle gold (#C8922E) only on LIVE / recording marks. */
:root{
  --paper:#FBF9F5; --linen:#F3EFE7; --ink:#16140F; --ink-2:#3D3A34; --grey:#5F5A52; --grey-2:#6D675E; --rule:#ECE7DE;
  --card:#FFFFFF; --card-border:#E6E0D5; --accent:#3346C9; --accent-hover:#26359C; --accent-dark:#9FB0FF; --accent-soft:#E7EAFB;
  --candle:#C8922E; --teal:#1F8A78; --ok:#2A5A40; --ok-soft:#E4EFE8;
  --sans:'Geist',system-ui,-apple-system,'Segoe UI',sans-serif; --serif:'Instrument Serif',Georgia,serif; --mono:'Geist Mono',ui-monospace,Menlo,monospace;
  --r-tile:12px; --r-card:22px; --wrap:1200px; --gutter:clamp(20px,6vw,120px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{transition:none!important;animation:none!important}}
body{margin:0;font-family:var(--sans);font-size:17px;line-height:1.55;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%}
a{color:var(--accent);text-decoration:none} a:hover{color:var(--accent-hover)}
a:focus-visible,button:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
h1,h2,h3{margin:0;font-weight:300;letter-spacing:-.03em;line-height:1.05}
h1{font-size:clamp(44px,6.2vw,80px)} h2{font-size:clamp(32px,4vw,52px)} h3{font-size:clamp(22px,2.2vw,30px);letter-spacing:-.02em;line-height:1.15}
p{margin:0}
.sacred{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--accent);letter-spacing:-.01em}
.label{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-2)}
.lead{font-size:clamp(17px,1.5vw,20px);color:var(--grey);line-height:1.5}
.muted{color:var(--grey-2)} .small{font-size:14px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:calc(var(--wrap) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.section{padding:clamp(56px,8vw,96px) 0}
.center{text-align:center}
.card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--r-card)}

/* Wordmark (inc/brand.php) */
.wordmark{white-space:nowrap;font-weight:600;letter-spacing:-.02em;color:var(--ink)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:16px;font-weight:500;padding:14px 24px;border-radius:999px;border:1px solid transparent;cursor:pointer;text-decoration:none;line-height:1.2;min-height:48px}
.btn-primary{background:var(--accent);color:#fff} .btn-primary:hover{background:var(--accent-hover);color:#fff}
.btn-ink{background:var(--ink);color:var(--paper)} .btn-ink:hover{background:#000;color:var(--paper)}
.btn-ghost{background:#fff;color:var(--ink);border-color:#DDD6CA} .btn-ghost:hover{border-color:var(--ink);color:var(--ink)}
.btn-sm{font-size:15px;padding:10px 18px;min-height:42px}
.chip{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-2);background:#fff;border:1px solid var(--card-border);padding:7px 14px 7px 10px;border-radius:999px}
.chip i{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block}
.live{color:var(--candle)} .live-dot{width:8px;height:8px;border-radius:50%;background:var(--candle);display:inline-block}

/* Nav */
.site-nav{border-bottom:1px solid var(--rule);background:var(--paper);position:relative;z-index:30}
.site-nav .wrap{display:flex;align-items:center;gap:40px;min-height:78px}
.site-nav .brand{font-size:20px;color:var(--ink)}
.site-nav .links{display:flex;gap:30px;flex:1}
.site-nav .links a{color:var(--grey);font-size:15px} .site-nav .links a:hover,.site-nav .links a[aria-current]{color:var(--ink)}
.site-nav .login{font-size:15px;color:var(--ink)}
.menu-btn{display:none;margin-left:auto;background:none;border:0;padding:10px;cursor:pointer;color:var(--ink)}
.menu-btn svg{width:26px;height:26px}
.site-sheet{display:none}
@media (max-width:900px){
  .site-nav .wrap{gap:12px;min-height:64px}
  .site-nav .links,.site-nav .login,.site-nav .nav-cta{display:none}
  .menu-btn{display:inline-flex}
  .site-sheet{position:fixed;inset:64px 0 0 0;background:var(--paper);padding:24px var(--gutter);display:flex;flex-direction:column;gap:6px;z-index:40;overflow:auto}
  .site-sheet[hidden]{display:none}
  .site-sheet a{font-size:22px;color:var(--ink);padding:12px 0;border-bottom:1px solid var(--rule)}
  .site-sheet .btn{margin-top:16px;font-size:17px}
  body.menu-open{overflow:hidden}
}
.dark .site-nav{background:var(--ink);border-color:#2E2B25}
.dark .site-nav .brand,.dark .site-nav .login,.dark .menu-btn{color:var(--paper)}
.dark .site-nav .links a{color:#BDB5A8} .dark .site-nav .links a:hover,.dark .site-nav .links a[aria-current]{color:var(--paper)}
.dark .site-sheet{background:var(--ink)} .dark .site-sheet a{color:var(--paper);border-color:#2E2B25}

/* Footer */
.site-foot{border-top:1px solid var(--rule);padding:44px 0 48px;font-size:14px;color:var(--grey-2)}
.site-foot .row1{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.site-foot .grow{flex:1;min-width:220px}
.site-foot a{color:var(--grey-2)} .site-foot a:hover{color:var(--ink)}
.site-foot .links{display:flex;gap:22px;flex-wrap:wrap}
.site-foot .row2{display:flex;gap:22px;margin-top:22px;flex-wrap:wrap}
.site-foot .short{display:none}
@media (max-width:700px){ .site-foot .long{display:none} .site-foot .short{display:inline} }

/* Shared blocks used across pages */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,64px);align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:900px){ .grid-2,.grid-3{grid-template-columns:1fr} }
.cta-band{background:var(--ink);color:var(--paper);border-radius:28px;padding:clamp(36px,5vw,64px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.cta-band h2{color:var(--paper)} .cta-band .sacred{color:var(--accent-dark)} .cta-band p{color:#BDB5A8}
.faq details{border-bottom:1px solid var(--rule);padding:18px 0}
.faq summary{cursor:pointer;font-size:19px;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none} .faq summary::after{content:"+";color:var(--grey-2)} .faq details[open] summary::after{content:"–"}
.faq details p{margin-top:10px;color:var(--grey);font-size:17px}
.dark .site-nav .wordmark{color:var(--paper)}

/* Legal pages (privacy.php, terms.php): short-version card, sticky contents, readable sections */
.legal-hero{padding:clamp(48px,7vw,88px) 0 28px;display:flex;flex-direction:column;gap:14px;max-width:820px}
.legal-hero h1{font-size:clamp(40px,5.4vw,64px)}
.legal-hero .updated{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-2)}
.legal-short{background:var(--card);border:1px solid var(--card-border);border-radius:var(--r-card);padding:clamp(22px,3vw,34px);margin-bottom:clamp(36px,5vw,56px)}
.legal-short h2{font-size:22px;font-weight:500;letter-spacing:-.01em;margin-bottom:14px}
.legal-short ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}
.legal-short li{display:flex;gap:10px;font-size:16px;line-height:1.5;color:var(--ink-2)}
.legal-short li::before{content:"";flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-top:8px}
.legal-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start;padding-bottom:clamp(56px,8vw,96px)}
.legal-toc{position:sticky;top:24px;display:flex;flex-direction:column;gap:2px;font-size:14px}
.legal-toc .label{margin-bottom:8px}
.legal-toc a{color:var(--grey);padding:6px 0;border-left:2px solid var(--rule);padding-left:12px} .legal-toc a:hover{color:var(--ink);border-color:var(--accent)}
.legal-body{max-width:760px}
.legal-body section{padding-top:8px;margin-bottom:34px;scroll-margin-top:24px}
.legal-body h2{font-size:clamp(24px,2.4vw,30px);font-weight:400;letter-spacing:-.02em;margin-bottom:12px}
.legal-body h3{font-size:18px;font-weight:600;letter-spacing:-.01em;margin:18px 0 6px}
.legal-body p,.legal-body li{font-size:17px;line-height:1.65;color:var(--ink-2)}
.legal-body p+p{margin-top:12px}
.legal-body ul{margin:8px 0 0;padding-left:22px} .legal-body li{margin:6px 0}
.legal-body table{width:100%;border-collapse:collapse;margin-top:10px;font-size:15px}
.legal-body th,.legal-body td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--rule);vertical-align:top;line-height:1.5}
.legal-body th{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-2);font-weight:400}
.legal-note{background:var(--linen);border-radius:14px;padding:14px 18px;font-size:15px!important;color:var(--grey)!important;margin-top:14px}
@media (max-width:900px){
  .legal-grid{grid-template-columns:1fr} .legal-toc{position:static;display:none}
  .legal-short ul{grid-template-columns:1fr}
  .legal-body table{font-size:14px} .legal-body th,.legal-body td{padding:8px 6px}
}

/* Account pages (login, signup, forgot, reset, transfer) inside the site header and footer */
.auth{display:grid;place-items:center;padding:clamp(40px,7vw,88px) var(--gutter);min-height:62vh}
.auth .card{width:100%;max-width:460px;padding:clamp(24px,4vw,40px);box-shadow:0 40px 80px -60px rgba(22,20,15,.45)}
.auth .brand{display:none}
.auth h2{font-size:clamp(28px,3vw,34px);font-weight:300;letter-spacing:-.03em;margin-bottom:14px}
.auth p{margin-bottom:14px}
.auth label{display:block;font-weight:500;font-size:14px;margin:0 0 6px}
.auth .field{margin-bottom:18px} .auth .hint{font-size:13px;color:var(--grey-2);margin-top:6px}
.auth input[type=text],.auth input[type=email],.auth input[type=password],.auth select{width:100%;min-height:48px;padding:10px 14px;border:1px solid #DDD6CA;border-radius:12px;background:#fff;color:var(--ink);font:16px var(--sans)}
.auth input:hover,.auth select:hover{border-color:var(--grey-2)}
.auth input:focus,.auth select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.auth input[readonly]{background:var(--linen)}
.auth input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px}
.auth .btn{min-height:48px;font-size:16px;border:1px solid #DDD6CA;background:#fff;color:var(--ink)}
.auth .btn.primary{background:var(--accent);border-color:var(--accent);color:#fff} .auth .btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.auth .btn.ghost{background:transparent}
.auth .row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.auth .flash{display:flex;gap:10px;padding:12px 16px;border-radius:12px;margin-bottom:18px;background:var(--ok-soft);color:var(--ok);font-weight:500;font-size:15px}
.auth .flash.bad{background:#FBEAE8;color:#9A2B22} .auth .flash.warn{background:var(--linen);color:var(--ink-2);box-shadow:inset 3px 0 0 var(--grey)}
.auth .opt{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--card-border);border-radius:12px;background:#fff;margin-bottom:8px;cursor:pointer;font-weight:400}
.auth .opt input{margin-top:2px} .auth .opt b{display:block;font-weight:500}/* Sign in with Google */
.auth .gbtn{width:100%;justify-content:center;gap:12px;background:#fff;border:1px solid #DADCE0;color:#1F1F1F;font-weight:500}
.auth .gbtn:hover{background:#F8F9FA;border-color:#C6C9CE;color:#1F1F1F}
.auth .or{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--grey-2);font-size:13px}
.auth .or::before,.auth .or::after{content:"";flex:1;height:1px;background:var(--rule)}
.auth .gwho{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;background:var(--linen);margin-bottom:18px;font-size:14px;line-height:1.4}
.auth .gwho .gbtn{width:36px;min-height:36px;padding:0;flex:none;pointer-events:none;border-radius:50%}
