/* ═══════════════════════════════════════════════════════════════════
   marketing.css — shared styles for the static marketing pages
   (/how-it-works, /about, /pricing, /signup, /blog/*).

   Blocks below are copied VERBATIM from index.html's inline <style>.
   index.html intentionally keeps its own copy (the SPA is untouched);
   if you change a marketing selector in index.html, mirror it here.
   Source map (index.html line ranges as of 2026-07-07) precedes each
   section. New marketing-only additions are namespaced `mk-` and use
   existing design tokens only.
   ═══════════════════════════════════════════════════════════════════ */

/* ── Design tokens — index.html 67–104 ── */
:root {
  /* ── Brand: pine ── */
  --g900: #0B3527;
  --g800: #14523F;
  --g700: #1B6B52;
  --g600: #27906E;
  --g100: #CDEBDD;
  --g50:  #EBF6F0;
  /* ── Neutrals: green-cast stone ── */
  --n950: #10150F;
  --n900: #1B231D;
  --n800: #2A342C;
  --n700: #3E4A41;
  --n600: #55645A;
  --n500: #6E7D73;
  --n400: #8E9C93;
  --n300: #C2CCC5;
  --n200: #DEE4DF;
  --n100: #ECF0EC;
  --n50:  #F5F7F5;
  --white: #FFFFFF;
  --bg: #F1F4F0;
  /* ── Status hues (drafted / sent / replied / danger) ── */
  --gold-t: #8A5A12; --gold-bg: #FAF2DE; --gold-br: #EBD9AC; --gold-dot: #C89334;
  --sky-t: #22609F;  --sky-bg: #E9F1FA;  --sky-br: #C4D9EF;  --sky-dot: #4E8FD0;
  --err-t: #B3362C;  --err-bg: #FBEDEB;  --err-br: #F2CBC6;
  /* ── Type ── */
  --font-d: 'Fraunces', Georgia, serif;
  --font-b: 'Schibsted Grotesk', system-ui, -apple-system, sans-serif;
  --font-m: 'DM Mono', ui-monospace, 'Cascadia Mono', monospace;
  /* ── Shape & depth ── */
  --r-sm: 9px; --r-md: 12px; --r-lg: 16px; --r-xl: 22px;
  --sh-sm: 0 1px 2px rgba(13,32,23,.06), 0 1px 1px rgba(13,32,23,.04);
  --sh-md: 0 6px 18px -4px rgba(13,32,23,.10), 0 2px 5px rgba(13,32,23,.05);
  --sh-lg: 0 20px 48px -12px rgba(13,32,23,.18), 0 6px 14px rgba(13,32,23,.07);
  --e-out: cubic-bezier(.22,1,.36,1);
  --sbw: 232px;
}

/* ── Global resets — index.html 105–112 (`.page` mechanics deliberately
      NOT copied: static pages must never hide content) ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;color-scheme:light}
body{font-family:var(--font-b);background:var(--bg);color:var(--n900);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{text-decoration:none;color:inherit}
button{cursor:pointer;border:none;background:none;font-family:inherit;color:inherit}
img{max-width:100%}
::selection{background:var(--g100);color:var(--g900)}
:focus-visible{outline:2px solid var(--g600);outline-offset:2px;border-radius:4px}

/* ── ReachOut logo glyph (crisp SVG paper plane) — index.html 130–134 ── */
.nav-logo,.tr-logo,.home-topnav-logo,.home-foot-logo{display:inline-flex;align-items:center;gap:.42em}
.auth-logo{display:flex;align-items:center;justify-content:center;gap:.42em}
.nav-logo::before,.tr-logo::before,.auth-logo::before,.home-topnav-logo::before,.home-foot-logo::before,.topbar-logo::before{content:"";flex:none;width:1.18em;height:1.18em;background:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2048%22%3E%3Cpath%20fill%3D%22%2314523F%22%20d%3D%22M45.6%203.1c1.5-.6%203%20.9%202.4%202.4L31.3%2044.3c-.6%201.5-2.7%201.6-3.4.1l-6.5-13.4c-.2-.5-.7-.9-1.2-1.2L6.8%2023.4c-1.5-.7-1.4-2.8.1-3.4L45.6%203.1z%22%2F%3E%3Cpath%20fill%3D%22%2327906E%22%20d%3D%22M46.9%202.2c.6.5.9%201.4.6%202.2l-.1.2-25.9%2023.5c-.7.6-1.7.6-2.3%200-.6-.7-.6-1.7%200-2.3L45.7%202.3l.2-.1c.3-.1.7%200%201%200z%22%2F%3E%3C%2Fsvg%3E') center/contain no-repeat}
.topbar-logo::before{display:inline-block}
.auth-logo::before{width:1.3em;height:1.3em}

/* ── Buttons — index.html 148–153 ── */
.btn-p{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--g800);color:var(--white);padding:10px 20px;border-radius:10px;font-size:14px;font-weight:600;font-family:var(--font-b);letter-spacing:.005em;transition:background .18s var(--e-out),transform .18s var(--e-out),box-shadow .18s var(--e-out);cursor:pointer;border:none;min-height:40px}
.btn-p:hover{background:var(--g900);transform:translateY(-1px);box-shadow:0 6px 16px -4px rgba(11,53,39,.4)}
.btn-p:active{transform:translateY(0);box-shadow:none}
.btn-s{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--white);color:var(--n800);padding:10px 20px;border-radius:10px;font-size:14px;font-weight:550;font-family:var(--font-b);border:1px solid var(--n300);transition:border-color .18s,color .18s,background .18s;cursor:pointer;min-height:40px}
.btn-s:hover{border-color:var(--g700);color:var(--g900);background:var(--g50)}

/* ── How-it-works components — index.html 155–181
      (`.hiw-cta` is the bottom CTA banner reused on every page) ── */
.hiw-page{background:var(--white);min-height:100vh}
.hiw-wrap{max-width:780px;margin:0 auto;padding:72px 40px 88px}
.hiw-back{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:550;color:var(--n500);margin-bottom:48px;cursor:pointer;transition:color .15s;background:none;border:none;font-family:var(--font-b);padding:0}
.hiw-back:hover{color:var(--g800)}
.hiw-hero{text-align:center;margin-bottom:60px}
.hiw-eyebrow{display:inline-flex;align-items:center;gap:7px;background:var(--g50);border:1px solid var(--g100);color:var(--g800);font-family:var(--font-m);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:6px 14px;border-radius:100px;margin-bottom:22px}
.hiw-hero h1{font-family:var(--font-d);font-size:clamp(30px,3.6vw,44px);font-weight:600;color:var(--n950);letter-spacing:-.02em;line-height:1.12;margin-bottom:14px}
.hiw-hero p{font-size:16px;color:var(--n500);line-height:1.65;max-width:460px;margin:0 auto}
.hiw-steps{display:flex;flex-direction:column;gap:10px;margin-bottom:56px;position:relative}
.hiw-connector{position:absolute;left:43px;top:64px;bottom:64px;width:1px;background:linear-gradient(to bottom,var(--g100),var(--n200));z-index:0}
.hiw-step{display:flex;gap:20px;align-items:flex-start;background:var(--white);border:1px solid var(--n200);border-radius:var(--r-lg);padding:24px 26px;position:relative;z-index:1;transition:border-color .2s,box-shadow .2s,transform .2s}
.hiw-step:hover{border-color:var(--n300);box-shadow:var(--sh-md);transform:translateX(3px)}
.hiw-num{width:38px;height:38px;border-radius:50%;background:var(--g800);color:var(--white);font-family:var(--font-m);font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.hiw-step-body{flex:1}
.hiw-step-body h3{font-family:var(--font-d);font-size:17px;font-weight:600;color:var(--n900);letter-spacing:-.01em;margin-bottom:6px}
.hiw-step-body p{font-size:13.5px;color:var(--n500);line-height:1.65}
.hiw-step-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--g50);border-radius:var(--r-md);color:var(--g700);flex-shrink:0;margin-top:2px}
.hiw-cta{text-align:center;background:var(--g900);border:none;border-radius:var(--r-xl);padding:48px 32px;position:relative;overflow:hidden}
.hiw-cta::before{content:'';position:absolute;left:50%;top:-60%;width:520px;height:320px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(39,144,110,.35),transparent);pointer-events:none}
.hiw-cta h2{position:relative;font-family:var(--font-d);font-size:27px;font-weight:600;color:var(--white);letter-spacing:-.015em;margin-bottom:8px}
.hiw-cta p{position:relative;font-size:14px;color:rgba(255,255,255,.72);margin-bottom:24px;line-height:1.6}
.hiw-cta-btns{position:relative;display:flex;gap:10px;justify-content:center}
.hiw-cta-btns .btn-p{background:var(--white);color:var(--g900)}
.hiw-cta-btns .btn-p:hover{background:var(--g50);box-shadow:none}
.hiw-cta-btns .btn-s{background:transparent;color:var(--white);border-color:rgba(255,255,255,.35)}
.hiw-cta-btns .btn-s:hover{border-color:var(--white);background:rgba(255,255,255,.08);color:var(--white)}

/* ── Footer — index.html 183–189 ── */
.footer{background:var(--white);border-top:1px solid var(--n200);padding:24px 40px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.footer-copy{font-size:13px;color:var(--n500)}
.footer-links{display:flex;gap:22px;flex-wrap:wrap}
.footer-links a{font-size:13px;color:var(--n500);cursor:pointer;transition:color .15s}
.footer-links a:hover{color:var(--g800)}
.footer-links a:focus-visible{outline:2px solid var(--g600);outline-offset:3px;border-radius:3px;color:var(--n700)}

/* ── Home page (hero, features, foot) — index.html 191–265 ── */
.home-page{background:var(--white);min-height:100vh}
.home-nav-icon{display:flex;align-items:center;background:var(--n50);border:1px solid var(--n200);border-radius:100px;padding:7px 12px}
/* ── HOME HERO — serif thesis + live email demo ── */
.home-hero{max-width:1220px;margin:0 auto;padding:84px 40px 72px}
.hh-grid{display:grid;grid-template-columns:minmax(0,47fr) minmax(0,53fr);align-items:center;gap:64px;width:100%}
.hh-left{min-width:0}
.hh-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-m);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--g700);margin-bottom:22px}
.hh-eyebrow::before{content:'';width:22px;height:1px;background:var(--g600)}
.hh-headline{font-family:var(--font-d);font-weight:590;font-size:clamp(40px,5.2vw,68px);line-height:1.04;letter-spacing:-.028em;color:var(--n950);margin-bottom:24px}
.hh-accent{font-family:var(--font-d);font-style:italic;font-weight:560;color:var(--g700);letter-spacing:-.02em;text-decoration:underline;text-decoration-thickness:.07em;text-underline-offset:.13em;text-decoration-color:var(--g100)}
.hh-sub{font-family:var(--font-b);font-size:17.5px;line-height:1.65;color:var(--n600);max-width:470px;margin-bottom:34px}
.hh-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:16px}
.hh-cta{display:inline-flex;align-items:center;gap:10px;background:var(--g800);color:var(--white);font-family:var(--font-b);font-weight:650;font-size:16px;padding:15px 30px;border-radius:12px;border:none;cursor:pointer;box-shadow:0 8px 22px -6px rgba(11,53,39,.45);transition:transform .18s var(--e-out),box-shadow .18s var(--e-out),background .18s}
.hh-cta span{transition:transform .18s var(--e-out)}
.hh-cta:hover{background:var(--g900);transform:translateY(-2px);box-shadow:0 12px 28px -8px rgba(11,53,39,.5)}
.hh-cta:hover span{transform:translateX(3px)}
.hh-cta:focus-visible{outline:3px solid var(--g600);outline-offset:3px}
.hh-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-b);font-weight:600;font-size:15px;color:var(--n700);background:none;border:none;cursor:pointer;transition:color .18s,gap .18s}
.hh-link span{transition:transform .18s}
.hh-link:hover{color:var(--g800);gap:9px}
.hh-link:focus-visible{outline:2px solid var(--g600);outline-offset:3px;border-radius:4px}
.hh-note{font-family:var(--font-m);font-size:12px;color:var(--n400);letter-spacing:.02em;margin-top:4px}
@media(max-width:1000px){
  .home-hero{padding:48px 28px 56px}
  .hh-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .hh-sub{max-width:none}
}
@media(prefers-reduced-motion:reduce){
  .hh-cta,.hh-cta span,.hh-link{transition:none}
}

/* home features — the product's three moves, in order */
.home-features{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;max-width:1000px;margin:0 auto;padding:56px 40px 84px}
.feat-card{background:transparent;border:none;border-top:1px solid var(--n300);border-radius:0;padding:22px 0 0;position:relative}
.feat-step{position:absolute;top:-1px;left:0;width:44px;border-top:2px solid var(--g700);padding-top:20px;font-family:var(--font-m);font-size:12px;font-weight:500;color:var(--g700);letter-spacing:.08em}
.feat-icon{width:38px;height:38px;background:var(--g50);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;margin:34px 0 16px;color:var(--g700)}
.feat-card h3{font-family:var(--font-d);font-size:17.5px;font-weight:600;letter-spacing:-.01em;color:var(--n900);margin-bottom:8px}
.feat-card p{font-size:13.5px;color:var(--n500);line-height:1.65}

.home-foot{background:var(--white);border-top:1px solid var(--n200);padding:26px 40px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.home-foot-logo{font-family:var(--font-d);font-size:18px;font-weight:640;color:var(--g900);letter-spacing:-.02em}
.home-foot-credit{font-family:var(--font-m);font-size:11.5px;color:var(--n400);letter-spacing:.02em}

/* ── Home marketing nav header — index.html 606–609 ── */
.home-topnav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--n200);height:60px;display:flex;align-items:center;padding:0 32px;justify-content:space-between}
.home-topnav-logo{font-family:var(--font-d);font-size:20px;font-weight:640;color:var(--g900);letter-spacing:-.02em;cursor:pointer}
.home-topnav-acts{display:flex;gap:8px;align-items:center}

/* ── Nav page links (mirrors .nav-links a, index.html 137–138;
      also inserted into index.html's inline styles — keep in sync) ── */
.home-topnav-links{display:flex;gap:2px;align-items:center}
.home-topnav-links a{padding:6px 12px;font-size:14px;font-weight:500;color:var(--n600);border-radius:var(--r-sm);transition:color .15s}
.home-topnav-links a:hover{color:var(--n900)}
@media (max-width:760px){.home-topnav-links{display:none}}

/* ── Marketing responsive — de-commingled from index.html's mixed
      app @media blocks (880px: lines 1310/1311/1314 · 760px: 1316–1322 ·
      640px: 1329–1331) ── */
@media (max-width:880px){
  .home-topnav{padding:0 16px}
  .hiw-wrap{padding:48px 20px 64px}
  .footer,.home-foot{padding:22px 20px;flex-direction:column;align-items:flex-start;gap:10px}
}
@media (max-width:760px){
  .home-features{grid-template-columns:1fr;gap:26px;padding:40px 24px 64px}
  .home-hero{padding:40px 24px 48px}
  .hh-headline{font-size:clamp(34px,9vw,44px)}
  .hh-cta{width:100%;justify-content:center}
  .hh-actions{gap:14px}
}
@media (max-width:640px){
  .hiw-step{padding:18px;gap:14px}
  .hiw-step-icon{display:none}
  .hiw-connector{left:37px}
}

/* ═══════════════════════════════════════════════════════════════════
   NEW marketing-only components (`mk-` namespace).
   Built entirely on the tokens above — no new colors, fonts, or shapes.
   ═══════════════════════════════════════════════════════════════════ */

/* Article container: 720px prose column; -lg is the wider 980px variant
   for card grids (/blog index, /pricing). */
.mk-wrap{max-width:720px;margin:0 auto;padding:64px 24px 88px}
.mk-wrap-lg{max-width:980px;margin:0 auto;padding:64px 24px 88px}

/* Article typography */
.mk-prose h1{font-family:var(--font-d);font-size:clamp(30px,4vw,40px);font-weight:600;color:var(--n950);letter-spacing:-.02em;line-height:1.15;margin-bottom:12px}
.mk-prose h2{font-family:var(--font-d);font-size:26px;font-weight:600;color:var(--n950);letter-spacing:-.015em;line-height:1.25;margin:40px 0 14px}
.mk-prose h3{font-family:var(--font-d);font-size:19px;font-weight:600;color:var(--n900);letter-spacing:-.01em;margin:28px 0 10px}
.mk-prose p{font-size:16px;color:var(--n700);line-height:1.75;margin-bottom:16px}
.mk-prose ul,.mk-prose ol{padding-left:24px;margin-bottom:16px}
.mk-prose li{font-size:16px;color:var(--n700);line-height:1.75;margin-bottom:6px}
.mk-prose strong{color:var(--n900);font-weight:650}
.mk-prose a{color:var(--g800);text-decoration:underline;text-decoration-color:var(--g100);text-underline-offset:.15em;transition:text-decoration-color .15s}
.mk-prose a:hover{text-decoration-color:var(--g600)}
.mk-prose blockquote{border-left:3px solid var(--g100);padding-left:18px;margin:20px 0;color:var(--n600);font-style:italic}

/* Byline row under an article H1 (date · read time) */
.mk-byline{font-family:var(--font-m);font-size:12px;color:var(--n400);letter-spacing:.04em;margin-bottom:36px}

/* Copy-paste email template block */
.mk-template{background:var(--n50);border:1px solid var(--n200);border-radius:var(--r-lg);padding:22px 24px;margin:18px 0 22px;white-space:pre-wrap;font-size:15px;line-height:1.7;color:var(--n800)}
.mk-template-subject{display:block;font-family:var(--font-m);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--g700);margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--n200);white-space:normal}

/* Blog index cards */
.mk-cards{display:flex;flex-direction:column;gap:14px;margin:36px 0 56px}
.mk-card{display:block;background:var(--white);border:1px solid var(--n200);border-radius:var(--r-lg);padding:24px 26px;transition:border-color .2s,box-shadow .2s,transform .2s}
.mk-card:hover{border-color:var(--n300);box-shadow:var(--sh-md);transform:translateX(3px)}
.mk-card h2{font-family:var(--font-d);font-size:20px;font-weight:600;color:var(--n900);letter-spacing:-.01em;margin-bottom:6px}
.mk-card p{font-size:14px;color:var(--n500);line-height:1.65;margin-bottom:10px}
.mk-card .mk-byline{margin-bottom:0}

/* Pricing card */
.mk-price{background:var(--white);border:1px solid var(--g100);border-radius:var(--r-xl);box-shadow:var(--sh-md);padding:40px 36px;text-align:center;max-width:440px;margin:0 auto 48px}
.mk-price-figure{font-family:var(--font-d);font-size:56px;font-weight:600;color:var(--n950);letter-spacing:-.02em;line-height:1;margin:14px 0 4px}
.mk-price-term{font-size:14px;color:var(--n500);margin-bottom:24px}
.mk-price ul{list-style:none;padding:0;text-align:left;margin:0 auto 26px;max-width:300px}
.mk-price li{font-size:14.5px;color:var(--n700);line-height:1.6;padding:7px 0;display:flex;gap:10px;align-items:baseline}
.mk-price li::before{content:"✓";color:var(--g700);font-weight:700;flex:none}

/* FAQ */
.mk-faq h3{font-family:var(--font-d);font-size:18px;font-weight:600;color:var(--n900);letter-spacing:-.01em;margin:28px 0 8px}
.mk-faq p{font-size:15px;color:var(--n600);line-height:1.7}
