
*,*::before,*::after{box-sizing:border-box}
:root{
  --brand:#3B82F6; --brand-dark:#1e6fd9; --ink:#0f172a; --body:#334155;
  --muted:#64748b; --line:#e2e8f0; --bg:#ffffff; --bg-soft:#f8fafc; --code:#f1f5f9;
}
@media (prefers-color-scheme: dark){
  :root{--ink:#f1f5f9;--body:#cbd5e1;--muted:#94a3b8;--line:#1e293b;--bg:#0b1220;--bg-soft:#111a2b;--code:#111a2b}
}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--body);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}

.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:24px;height:72px}
.brand{display:flex;align-items:baseline;gap:8px;text-decoration:none;flex:none;margin-right:12px}
.brand-mark{font-weight:800;letter-spacing:-.02em;color:var(--ink);font-size:1.05rem}
.brand-sub{color:var(--brand);font-weight:600;font-size:.85rem}
.nav{display:flex;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav-link{white-space:nowrap;text-decoration:none;color:var(--muted);font-size:.875rem;font-weight:500;
  padding:8px 10px;border-radius:8px}
.nav-link:hover{color:var(--ink);background:var(--bg-soft)}
.nav-link.active{color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent)}
.cta{flex:none;white-space:nowrap;text-decoration:none;font-size:.83rem;font-weight:600;color:#fff;
  background:var(--brand);padding:9px 15px;border-radius:999px}
.cta:hover{background:var(--brand-dark)}
/* Feedback sits beside the primary CTA rather than in the nav: the nav scrolls
   when it runs out of room, and a link that scrolls out of a hidden-scrollbar
   strip is invisible. This one is flex:none, so it is always on screen. */
.cta-ghost{background:transparent;color:var(--brand);
  box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--brand) 45%,transparent);margin-right:8px}
.cta-ghost:hover{background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand)}

main{padding:64px 24px 96px}
.doc{display:grid;grid-template-columns:236px minmax(0,1fr);gap:56px;align-items:start}
.wide .content{max-width:none}
.content{min-width:0;max-width:76ch}

.toc{position:sticky;top:96px;display:flex;flex-direction:column;gap:2px;
  border-left:2px solid var(--line);padding-left:16px;max-height:calc(100vh - 140px);overflow-y:auto}
.toc-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);
  font-weight:700;margin-bottom:8px}
.toc a{text-decoration:none;color:var(--muted);font-size:.83rem;line-height:1.45;padding:3px 0}
.toc a:hover{color:var(--brand)}
.toc-l3{padding-left:12px;font-size:.79rem;opacity:.85}

h1{font-size:2.4rem;line-height:1.15;letter-spacing:-.025em;color:var(--ink);font-weight:800;margin:0 0 .5em}
h2{font-size:1.5rem;line-height:1.25;letter-spacing:-.015em;color:var(--ink);font-weight:700;
  margin:2.4em 0 .7em;padding-top:.4em}
h3{font-size:1.1rem;color:var(--ink);font-weight:600;margin:1.9em 0 .5em}
h4{font-size:.95rem;color:var(--ink);font-weight:600;margin:1.5em 0 .4em}
p{margin:0 0 1.1em}
a{color:var(--brand);text-decoration-thickness:1px;text-underline-offset:2px}
strong{color:var(--ink);font-weight:600}
hr{border:0;border-top:1px solid var(--line);margin:2.6em 0}
ul,ol{margin:0 0 1.2em;padding-left:1.3em}
li{margin:.35em 0}
code{background:var(--code);padding:.14em .42em;border-radius:5px;font-size:.87em;
  font-family:ui-monospace,'Cascadia Code',Menlo,Consolas,monospace}
blockquote{margin:1.6em 0;padding:16px 20px;background:var(--bg-soft);
  border-left:3px solid var(--brand);border-radius:0 10px 10px 0}
blockquote p:last-child{margin-bottom:0}
.table-wrap{overflow-x:auto;margin:1.4em 0;border:1px solid var(--line);border-radius:12px}
table{border-collapse:collapse;width:100%;font-size:.9rem}
th,td{text-align:left;padding:11px 15px;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--bg-soft);color:var(--ink);font-weight:600;white-space:nowrap}
tr:last-child td{border-bottom:0}

.hero{max-width:60ch;margin-bottom:44px}
.content>h1:first-child,.hero h1{margin-top:0}
.lede{font-size:1.12rem;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px}
.card{display:block;text-decoration:none;color:inherit;background:var(--bg-soft);
  border:1px solid var(--line);border-radius:16px;padding:26px;transition:.16s}
.card:hover{border-color:var(--brand);transform:translateY(-2px)}
.card-role{font-size:1.2rem;font-weight:700;color:var(--ink)}
.card-who{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--brand);
  font-weight:600;margin:2px 0 12px}
.card p{font-size:.92rem;color:var(--muted);margin-bottom:14px}
.card-go{font-size:.87rem;font-weight:600;color:var(--brand)}
.strip{margin-top:56px;padding:28px;border:1px solid var(--line);border-radius:16px}
.strip h2{margin-top:0}
.fb-strip{background:var(--bg-soft);border-color:color-mix(in srgb,var(--brand) 30%,var(--line))}
.fb-btn{display:inline-block;margin-top:6px;background:var(--brand);color:#fff;text-decoration:none;
  font-weight:600;font-size:.92rem;padding:11px 20px;border-radius:999px}
.fb-btn:hover{background:var(--brand-dark)}


.videos{margin:3em 0}
/* These are 1080x1920 social cuts. At full column width they dominate a doc
   page, so they render at phone size and sit in a row rather than a grid. */
.video-grid{display:flex;flex-wrap:wrap;gap:24px}
.video{margin:0}
.video video{width:100%;border-radius:14px;background:#000;display:block}
/* 16:9 explainers are the main event on a support page. One fills the row; two
   share it on a wide screen and stack on a narrow one. */
.video-wide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(460px,1fr));gap:24px}
.video.wide{width:100%;min-width:0}
.video.wide video{aspect-ratio:16/9}
/* A 9:16 social cut renders at phone size so it does not swallow the column. */
.video.tall{width:190px;max-width:100%}
.video.tall video{aspect-ratio:9/16}
figcaption{font-size:.82rem;color:var(--muted);margin-top:8px;line-height:1.45}

.site-footer{border-top:1px solid var(--line);padding:32px 0;font-size:.87rem}
.site-footer p{margin:.2em 0}
.muted{color:var(--muted)}

@media(max-width:900px){
  .doc{grid-template-columns:1fr;gap:0}
  .toc{position:static;border-left:0;border-bottom:1px solid var(--line);padding:0 0 18px;
    margin-bottom:28px;max-height:none}
  h1{font-size:1.9rem}
  main{padding-top:32px}
}
