/* Lark - shared styles for legal pages (privacy, AI disclosure, terms) */
:root{
  --paper:#FAF8F2; --chalk:#FFFFFF; --ink:#0A0A0A;
  --ash-1:rgba(10,10,10,0.06);
  --ash-1s:rgba(10,10,10,0.10);
  --ash-2:rgba(10,10,10,0.45);
  --ash-3:rgba(10,10,10,0.72);
  --amber:#C97A2A; --amber-soft:rgba(201,122,42,0.10); --amber-line:rgba(201,122,42,0.45);
  --serif:ui-serif,"New York","Iowan Old Style",Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro",Inter,system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:100;background:transparent;
  border-bottom:1px solid transparent;transition:background-color .3s,border-color .3s}
.nav.scrolled{background:rgba(250,248,242,0.82);
  backdrop-filter:saturate(1.2) blur(14px);-webkit-backdrop-filter:saturate(1.2) blur(14px);
  border-bottom-color:var(--ash-1s)}
.nav .wrap{height:68px;display:flex;align-items:center;justify-content:space-between}
.brand{font-family:var(--serif);font-size:25px;font-weight:500;letter-spacing:-0.03em;
  display:inline-flex;align-items:center}
.brand-mark{width:26px;height:26px;margin-right:9px;flex-shrink:0}
footer .brand-mark{width:23px;height:23px;margin-right:8px}
.brand .dot{width:7px;height:7px;border-radius:4px;background:var(--amber);
  display:inline-block;margin-left:3px;vertical-align:3px}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a{font-size:14px;color:var(--ash-3);transition:color .15s}
.nav-links a:not(.nav-cta):hover{color:var(--ink)}
.nav-links a.nav-cta{height:40px;padding:0 17px;border-radius:12px;background:var(--ink);color:var(--paper);
  font-size:13.5px;font-weight:500;display:inline-flex;align-items:center;gap:8px;
  transition:transform .12s ease}
.nav-links a.active{color:var(--ink);font-weight:600}
.nav-cta:active{transform:scale(.97)}
.nav-cta svg{width:14px;height:14px}
@media(max-width:680px){.nav-links a:not(.nav-cta):not(.active){display:none}}

/* ---------- legal page ---------- */
.legal{position:relative;margin-top:-68px;padding:122px 0 40px;
  background:
    radial-gradient(120% 60% at 80% -8%, rgba(255,219,168,0.40), rgba(255,219,168,0) 56%),
    linear-gradient(180deg,#FCEEDB 0%, var(--paper) 30%)}
.legal .wrap{max-width:760px}
.back{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--ash-2);
  margin-bottom:30px;transition:color .15s,gap .15s}
.back:hover{color:var(--ink);gap:10px}
.legal-head{margin-bottom:18px}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--amber);font-family:var(--sans)}
.legal-head h1{font-family:var(--serif);font-weight:500;font-size:48px;line-height:1.02;
  letter-spacing:-0.03em;margin-top:14px}
.legal-head h1 .dot{color:var(--amber)}
.legal-head .updated{font-size:13px;color:var(--ash-2);margin-top:16px;font-variant-numeric:tabular-nums}

/* doc-nav: quick links between the three legal pages */
.docnav{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.docnav a{font-size:12.5px;color:var(--ash-3);padding:7px 14px;border-radius:20px;
  border:1px solid var(--ash-1s);background:var(--chalk);transition:all .15s}
.docnav a:hover{color:var(--ink);border-color:var(--ash-2)}
.docnav a[aria-current="page"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* ---------- prose ---------- */
.prose{margin-top:8px;border-top:1px solid var(--ash-1s);padding-top:8px}
.prose .intro{font-family:var(--serif);font-size:18px;line-height:1.55;color:var(--ash-3);
  margin-top:28px}
.prose h2{font-family:var(--serif);font-weight:500;font-size:23px;letter-spacing:-0.02em;
  line-height:1.2;margin-top:42px;scroll-margin-top:84px}
.prose h2 .num{color:var(--amber);font-variant-numeric:tabular-nums;margin-right:10px}
.prose h3{font-size:15px;font-weight:650;letter-spacing:-0.01em;margin-top:26px}
.prose p{font-size:15.5px;line-height:1.7;color:var(--ash-3);margin-top:14px}
.prose ul{list-style:none;margin-top:14px;display:flex;flex-direction:column;gap:10px}
.prose ul li{position:relative;padding-left:22px;font-size:15.5px;line-height:1.65;color:var(--ash-3)}
.prose ul li::before{content:"";position:absolute;left:4px;top:11px;width:5px;height:5px;
  border-radius:50%;background:var(--amber-line)}
.prose b,.prose strong{color:var(--ink);font-weight:650}
.prose a{color:var(--amber);text-decoration:underline;text-underline-offset:2px;
  text-decoration-color:var(--amber-line);transition:text-decoration-color .15s}
.prose a:hover{text-decoration-color:var(--amber)}
.prose .lead{margin-top:0}

/* provider table */
.prose .tablewrap{margin-top:18px;border:1px solid var(--ash-1s);border-radius:14px;
  overflow:hidden;background:var(--chalk)}
.prose table{width:100%;border-collapse:collapse;font-size:13.5px}
.prose thead th{text-align:left;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--ash-2);font-weight:600;padding:13px 16px;background:rgba(10,10,10,0.025)}
.prose tbody td{padding:13px 16px;border-top:1px solid var(--ash-1);color:var(--ash-3);
  line-height:1.5;vertical-align:top}
.prose tbody td:first-child{color:var(--ink);font-weight:600;white-space:nowrap}
@media(max-width:620px){
  .prose .tablewrap{border:none;border-radius:0;background:transparent;overflow:visible}
  .prose table,.prose thead,.prose tbody,.prose tr,.prose td{display:block;width:100%}
  .prose thead{display:none}
  .prose tbody tr{background:var(--chalk);border:1px solid var(--ash-1s);border-radius:12px;
    padding:6px 4px;margin-bottom:12px}
  .prose tbody td{border-top:none;padding:6px 14px}
  .prose tbody td:first-child{padding-top:12px;font-size:14.5px}
  .prose tbody td:not(:first-child)::before{content:attr(data-label);display:block;
    font-size:10.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--ash-2);margin-bottom:2px}
}

/* callout for important blocks */
.prose .callout{margin-top:18px;padding:16px 18px;border-radius:14px;
  background:var(--amber-soft);border:1px solid var(--amber-line)}
.prose .callout p{margin-top:0;color:var(--ash-3)}
.prose .callout p+p{margin-top:10px}

.prose .contact{margin-top:40px;padding-top:22px;border-top:1px solid var(--ash-1s);
  font-size:14.5px;color:var(--ash-3)}
.prose .contact a{color:var(--amber)}

/* ---------- footer ---------- */
footer{padding:56px 0 64px;margin-top:40px;border-top:1px solid var(--ash-1s)}
footer .wrap{max-width:1180px;display:flex;justify-content:space-between;align-items:flex-start;
  gap:40px;flex-wrap:wrap}
footer .brand{font-size:22px}
footer .tag{font-family:var(--serif);font-style:italic;font-size:13.5px;color:var(--ash-2);margin-top:10px}
.foot-cols{display:flex;gap:64px;flex-wrap:wrap}
.foot-col h5{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ash-2);margin-bottom:14px}
.foot-col a{display:block;font-size:13.5px;color:var(--ash-3);margin-bottom:10px;transition:color .15s}
.foot-col a:hover{color:var(--ink)}
.foot-base{border-top:1px solid var(--ash-1);margin-top:44px;padding-top:22px;
  display:flex;justify-content:space-between;font-size:12.5px;color:var(--ash-2);flex-wrap:wrap;gap:10px}

/* ---------- content-page helpers (about, contact) ---------- */
.lede{font-family:var(--serif);font-size:21px;line-height:1.5;color:var(--ash-3);max-width:620px;margin-top:6px}
.prose h2.plain .num{display:none}

/* App Store badge */
.appstore{display:inline-flex;align-items:center;gap:11px;height:54px;padding:0 20px 0 18px;
  border-radius:13px;background:var(--ink);color:var(--paper);transition:transform .12s ease}
.appstore:active{transform:scale(.97)}
.appstore svg{width:25px;height:25px;flex-shrink:0}
.appstore .ttl{display:flex;flex-direction:column;line-height:1.05;text-align:left}
.appstore .ttl .s{font-size:10px;letter-spacing:0.02em;opacity:0.82}
.appstore .ttl .b{font-size:18px;font-weight:500;letter-spacing:-0.01em;margin-top:1px}

/* contact method cards */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px}
@media(max-width:620px){.cards{grid-template-columns:1fr}}
.card{padding:20px;border:1px solid var(--ash-1s);border-radius:16px;background:var(--chalk);
  transition:border-color .15s,transform .15s}
.card:hover{border-color:var(--ash-2);transform:translateY(-2px)}
.card h3{font-size:15px;font-weight:650;letter-spacing:-0.01em}
.card p{font-size:14px;line-height:1.6;color:var(--ash-3);margin-top:8px}
.card .email{display:inline-block;margin-top:13px;font-size:14.5px;color:var(--amber);
  font-weight:600;text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--amber-line)}
.card .email:hover{text-decoration-color:var(--amber)}

/* numbered "how it works" steps for the about page */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
@media(max-width:620px){.steps{grid-template-columns:1fr;gap:14px}}
.step{padding:20px;border:1px solid var(--ash-1s);border-radius:16px;background:var(--chalk)}
.step .k{font-family:var(--serif);font-size:22px;color:var(--amber);font-weight:500}
.step h3{font-size:15px;font-weight:650;margin-top:8px}
.step p{font-size:13.5px;line-height:1.6;color:var(--ash-3);margin-top:7px}

/* page CTA block */
.page-cta{margin-top:50px;padding-top:36px;border-top:1px solid var(--ash-1s);
  display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.page-cta .ct{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--ash-3);max-width:340px}
