/* ============================================================
   BETWEEN — public website
   Same materials as the app: warm paper, plum ink, one quiet thread.
   Editorial serif for meaning, interface sans for doing.
   ============================================================ */
:root{
  --paper:#F7F3EE; --surface:#FFFFFF; --sunk:#F0EAE3; --line:#E6DED6; --line-strong:#D6CCC2;
  --ink:#261C2C; --ink-2:#594D5F; --ink-3:#716576;
  --plum:#4A2C5E; --plum-deep:#33203F; --plum-soft:#EFE7F2; --plum-tint:#F6F1F7; --lavender:#B9A6CF;
  --on-deep:#F4ECE4; --on-deep-2:#D8C9DD; --warm:#B5654A; --warm-soft:#F6E8E0;
  --font-ui:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Inter,Roboto,system-ui,sans-serif;
  --font-serif:ui-serif,"New York","Iowan Old Style","Charter","Bitstream Charter","Palatino Linotype",Georgia,serif;
  --wrap:1120px; --radius:18px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--plum)}
a:hover{color:var(--plum-deep)}
:focus-visible{outline:2px solid var(--plum);outline-offset:3px;border-radius:6px}
img,svg{display:block;max-width:100%}
.skip{position:absolute;left:-999px;top:8px;background:var(--surface);padding:8px 14px;border-radius:10px;z-index:10}
.skip:focus{left:12px}
.wrap{width:min(var(--wrap),calc(100% - 48px));margin:0 auto}
.narrow{width:min(760px,calc(100% - 48px));margin:0 auto}

/* header */
.site-head{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:saturate(150%) blur(14px);-webkit-backdrop-filter:saturate(150%) blur(14px);border-bottom:1px solid transparent}
.site-head.scrolled{border-bottom-color:var(--line)}
.site-head .wrap{display:flex;align-items:center;gap:28px;min-height:72px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-family:var(--font-serif);font-size:1.5rem;font-weight:500;letter-spacing:-.01em}
.brand svg{width:30px;height:30px}
.site-nav{display:flex;gap:24px;margin-left:auto;align-items:center}
.site-nav a{color:var(--ink-2);text-decoration:none;font-size:.9375rem;font-weight:500}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--ink)}
.head-actions{display:flex;gap:10px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:12px;font:600 .9375rem/1 var(--font-ui);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}
.btn.primary{background:var(--plum);color:#fff}
.btn.primary:hover{background:var(--plum-deep);color:#fff}
.btn.ghost{background:transparent;color:var(--plum);border-color:var(--line-strong)}
.btn.ghost:hover{background:var(--plum-tint);border-color:var(--lavender)}
.btn.quiet{background:transparent;color:var(--ink-2);padding:0 12px}
.btn.quiet:hover{color:var(--ink)}
.btn.lg{min-height:52px;padding:0 26px;font-size:1rem;border-radius:14px}

/* type */
.eyebrow{display:inline-block;font-size:.8125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
h1,h2,h3{font-family:var(--font-serif);font-weight:500;letter-spacing:-.015em;color:var(--ink);margin:0}
h1{font-size:clamp(2.5rem,5.4vw,4.25rem);line-height:1.04}
h2{font-size:clamp(1.875rem,3.4vw,2.75rem);line-height:1.1}
h3{font-size:1.375rem;line-height:1.25}
.lede{font-size:clamp(1.0625rem,1.6vw,1.25rem);line-height:1.6;color:var(--ink-2);max-width:620px}
.muted{color:var(--ink-3)}
.small{font-size:.875rem}

/* hero */
.hero{padding:clamp(56px,9vw,112px) 0 clamp(48px,7vw,88px)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,6vw,80px);align-items:center}
.hero h1 em{font-style:italic;color:var(--plum)}
.hero .lede{margin:22px 0 32px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero-note{margin-top:18px;font-size:.875rem;color:var(--ink-3)}

/* the thread illustration — built from the app's own vocabulary, not screenshots */
.thread-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:28px 28px 22px;box-shadow:0 1px 0 rgba(38,28,44,.03),0 24px 60px -32px rgba(51,32,63,.28)}
.thread-card .tc-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px}
.thread-card .tc-title{font-family:var(--font-serif);font-size:1.375rem}
.tl{list-style:none;margin:0;padding:0;position:relative}
.tl::before{content:"";position:absolute;left:7px;top:10px;bottom:10px;width:2px;background:linear-gradient(var(--plum),var(--lavender) 30%,var(--lavender) 70%,var(--plum))}
.tl li{position:relative;padding:0 0 18px 34px}
.tl li:last-child{padding-bottom:0}
.tl li::before{content:"";position:absolute;left:1px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--surface);border:2px solid var(--lavender)}
.tl li.anchor::before{background:var(--plum);border-color:var(--plum)}
.tl li.prep::before{background:var(--plum-soft);border-color:var(--plum)}
.tl .k{font-size:.75rem;font-weight:600;color:var(--ink-3);letter-spacing:.02em}
.tl .v{font-size:.9375rem;color:var(--ink);margin-top:2px}
.tl .v.serif{font-family:var(--font-serif);font-size:1.0625rem}
.tl .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--sunk);font-size:.75rem;color:var(--ink-2)}
.chip.shared{background:var(--plum-tint);color:var(--plum)}
.tc-foot{display:flex;align-items:center;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:.8125rem;color:var(--ink-3)}
.tc-foot svg{width:15px;height:15px;flex:0 0 auto}

/* sections */
.section{padding:clamp(64px,9vw,112px) 0}
.section.tint{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section.deep{background:var(--plum-deep);color:var(--on-deep)}
.section.deep h2,.section.deep h3{color:#fff}
.section.deep .lede,.section.deep p{color:var(--on-deep-2)}
.section-head{max-width:720px;margin-bottom:clamp(36px,5vw,56px)}
.section-head h2{margin-top:10px}
.section-head .lede{margin-top:16px}

.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pillar{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.section.tint .pillar{background:var(--paper)}
.pillar .pl-key{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.pillar .pl-name{font-family:var(--font-serif);font-size:1.5rem}
.pillar .pl-eq{font-size:.8125rem;font-weight:600;color:var(--plum);background:var(--plum-tint);padding:4px 10px;border-radius:999px;white-space:nowrap}
.pillar p{margin:0;color:var(--ink-2);font-size:.9375rem}

.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,64px);align-items:start}
.list{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:14px}
.list li{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;color:var(--ink-2);font-size:.9875rem}
.list li svg{width:20px;height:20px;margin-top:3px;color:var(--plum)}
.list li b{color:var(--ink);font-weight:600}
.section.deep .list li{color:var(--on-deep-2)}
.section.deep .list li b{color:#fff}
.section.deep .list li svg{color:var(--lavender)}
.role-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:clamp(26px,4vw,40px)}
.role-card .eyebrow{color:var(--plum)}
.role-card h3{font-size:1.75rem;margin-top:8px}

.motto{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px}
.motto h2{font-size:clamp(2rem,4.2vw,3.25rem)}
.motto h2 span{color:var(--lavender);font-style:italic}

.nots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:8px}
.not{border-top:2px solid var(--line-strong);padding-top:16px}
.not b{display:block;font-family:var(--font-serif);font-weight:500;font-size:1.1875rem;color:var(--ink)}
.not span{display:block;margin-top:6px;font-size:.9rem;color:var(--ink-2)}

.safety{display:flex;gap:14px;align-items:flex-start;background:var(--warm-soft);border:1px solid #EBD3C6;border-radius:16px;padding:18px 20px;color:#6B3A2A;font-size:.9375rem;margin-top:36px}
.safety svg{width:20px;height:20px;flex:0 0 auto;margin-top:2px}

.cta-band{text-align:center}
.cta-band h2{max-width:760px;margin:0 auto}
.cta-band .lede{margin:16px auto 30px}
.cta-band .hero-ctas{justify-content:center}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:8px}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:30px}
.plan h3{font-size:1.625rem}
.plan .who{font-size:.8125rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--plum)}
.tiers{display:grid;gap:0;margin-top:18px;border-top:1px solid var(--line)}
.tier{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.9375rem}
.tier b{font-weight:600}
.tier span{color:var(--ink-2);text-align:right}
.fineprint{font-size:.875rem;color:var(--ink-3);margin-top:16px}

/* documents (privacy, terms, support) */
.doc{padding:clamp(40px,7vw,80px) 0 clamp(56px,8vw,96px)}
.doc-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:clamp(26px,5vw,56px)}
.doc h1{font-size:clamp(2.25rem,5vw,3.25rem)}
.doc .lede{margin-top:14px}
.doc .policy-date,.doc .legal-version{font-size:.875rem;color:var(--ink-3);margin:18px 0 8px}
.doc .policy-section,.doc .legal-body h2{border-top:1px solid var(--line)}
.doc .policy-section{padding:24px 0}
.doc .policy-section h2,.doc .legal-body h2{font-size:1.375rem;margin:0 0 10px}
.doc .legal-body h2{padding-top:24px;margin-top:24px}
.doc .policy-section p,.doc .policy-section li,.doc .legal-body p{font-size:.9875rem;line-height:1.72;color:var(--ink-2)}
.doc .policy-section ul{padding-left:22px}
.doc .notice{background:var(--plum-tint);border:1px solid var(--plum-soft);border-radius:14px;padding:14px 16px;font-size:.9rem;color:var(--plum-deep);margin-top:20px}
.topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:28px 0}
.topic{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px 14px;color:var(--ink-2);font-size:.9375rem;font-weight:500}
.contact-email{display:block;margin-top:12px;font-size:.9375rem;font-weight:600;overflow-wrap:anywhere}

/* footer */
.site-foot{border-top:1px solid var(--line);padding:40px 0 48px;color:var(--ink-3);font-size:.875rem}
.site-foot .wrap{display:flex;flex-wrap:wrap;gap:20px 32px;align-items:flex-start;justify-content:space-between}
.site-foot nav{display:flex;flex-wrap:wrap;gap:10px 24px}
.site-foot a{color:var(--ink-2);text-decoration:none}
.site-foot a:hover{color:var(--ink);text-decoration:underline}
.site-foot .brand{font-size:1.25rem}
.site-foot .brand svg{width:24px;height:24px}
.site-foot .fine{flex-basis:100%;margin:0;max-width:720px}

/* 404 */
.lost{min-height:60vh;display:grid;place-items:center;text-align:center;padding:64px 0}
.lost h1{font-size:clamp(2.25rem,5vw,3.25rem)}
.lost p{color:var(--ink-2)}

/* responsive */
@media (max-width:1023px){
  .site-nav{gap:18px}
  .nots{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
}
@media (max-width:899px){
  .hero .wrap{grid-template-columns:1fr}
  .thread-card{max-width:520px}
  .pillars,.split,.plans{grid-template-columns:1fr}
  .site-nav{display:none}
  .head-actions{margin-left:auto}
  .topics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:559px){
  body{font-size:16px}
  .wrap,.narrow{width:calc(100% - 36px)}
  .site-head .wrap{min-height:64px;gap:12px}
  .brand{font-size:1.3125rem}
  .head-actions .btn.ghost{display:none}
  .hero-ctas .btn{flex:1 1 auto}
  .nots,.topics{grid-template-columns:1fr}
  .thread-card{padding:22px 20px 18px;border-radius:20px}
  .tier{flex-direction:column;gap:2px}
  .tier span{text-align:left}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important;scroll-behavior:auto !important}}
@media print{.site-head,.site-foot,.skip{display:none}body{background:#fff}.doc-card{border:0;padding:0}}
