/* Help Me Do AI. Design system: "The Quick Start Card".
   Warm paper, book serif headlines in sentence case, one vermilion signal color,
   numbered steps, soft corners. System fonts only: nothing to download. */
:root{
  --paper:#faf6ee; --card:#fffdf8; --ink:#1c1a17; --ink-soft:#5c564c; --rule:#e2dacb;
  --signal:#c23616; --signal-deep:#9e2a10; --free:#1f5d43; --marker:#ffe9a8;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --r:12px; --gutter:clamp(1rem,4vw,4rem);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:1rem}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--sans)}
::selection{background:var(--marker);color:var(--ink)}
:focus-visible{outline:3px solid var(--signal);outline-offset:3px;border-radius:4px}
a{color:var(--signal-deep);text-decoration-thickness:1.5px;text-underline-offset:.2em}
a:hover{color:var(--signal);text-decoration-thickness:2.5px}
img,svg{max-width:100%;height:auto}
.skip{position:absolute;left:-999px}
.skip:focus{left:1rem;top:1rem;background:var(--card);padding:.5rem 1rem;z-index:10}

/* Masthead: paper, not a color bar. One rule under it. */
.mast{border-bottom:1.5px solid var(--ink)}
.mast-in{display:flex;align-items:center;gap:.5rem 2rem;padding:1rem var(--gutter);flex-wrap:wrap}
.wordmark{display:inline-flex;align-items:center;gap:.55rem;font:700 1.45rem/1 var(--serif);letter-spacing:-.01em;color:var(--ink);text-decoration:none}
.wordmark:hover{color:var(--ink)}
.mark{width:.85rem;height:.85rem;border-radius:50%;background:var(--signal);flex:none}
.mast nav{margin-left:auto}
.mast ul{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;list-style:none;margin:0;padding:0}
.mast nav a{font:600 .975rem/1 var(--sans);color:var(--ink);text-decoration:none;padding:.6rem 0;display:inline-block;border-bottom:2px solid transparent}
.mast nav a:hover,.mast nav a[aria-current]{border-bottom-color:var(--signal)}
@media (max-width:40rem){.mast nav{margin-left:0;width:100%}.mast ul{gap:0 1.15rem}}

/* Page frame */
.page{flex:1;padding:clamp(1.5rem,4vw,3.5rem) var(--gutter) 4rem}
.lead{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem clamp(2rem,5vw,5rem);max-width:78rem;margin:0 auto}
@media (min-width:62rem){.lead{grid-template-columns:minmax(0,1fr) 21rem;align-items:start}}
.main{min-width:0}
.crumbs{font-size:.875rem;color:var(--ink-soft);display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1.25rem}
.crumbs a{color:inherit}
h1{font:700 clamp(2.2rem,5vw,3.9rem)/1.05 var(--serif);letter-spacing:-.02em;margin:0 0 1.25rem;text-wrap:balance;max-width:20ch}
h1 .eyebrow{display:block;font:600 .8rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--signal-deep);margin-bottom:.9rem}
h1 .h1-main{display:block}
.answer{font:400 clamp(1.2rem,1.7vw,1.4rem)/1.5 var(--serif);max-width:42rem;margin:0;padding-left:1.1rem;border-left:4px solid var(--signal)}
.byline{font-size:.9rem;color:var(--ink-soft);margin:1.1rem 0 0}
.byline a{color:inherit}
.notice{font-size:.9rem;max-width:42rem;margin:1rem 0 0;padding:.7rem .9rem;background:var(--marker);border-radius:var(--r)}
.notice a{color:inherit}
.paid{font-weight:700}

/* Fact cells */
.cells{display:flex;flex-wrap:wrap;gap:.75rem;margin:2rem 0 0;padding:0}
.cell{flex:1 1 calc(50% - .75rem);background:var(--card);border:1.5px solid var(--rule);border-radius:var(--r);padding:.85rem 1rem .95rem}
@media (min-width:48rem){.cell{flex-basis:calc(100%/var(--per,3) - .75rem)}}
.cell dt{font:600 .72rem/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
.cell dd{font:700 clamp(1.2rem,1.8vw,1.45rem)/1.15 var(--serif);margin:.45rem 0 0;overflow-wrap:break-word;font-variant-numeric:tabular-nums}
.cell.long{flex-basis:100%}
@media (min-width:48rem){.cell.long{flex-basis:calc(100%/var(--per,3) - .75rem)}}
.cell.long dd{font:400 1rem/1.4 var(--sans)}
.cell .bar{display:none}

/* Product card and button */
.cta{background:var(--ink);color:var(--paper);border-radius:calc(var(--r) + 4px);padding:1.5rem;margin:2rem 0;max-width:38rem}
.cta-kicker{font:700 1.6rem/1.1 var(--serif);margin:0 0 .6rem}
.cta-pitch{margin:0 0 .9rem;color:#e9e3d6}
.cta-disclosure{margin:0 0 1rem;font-size:.85rem;line-height:1.45;color:#cfc8b8}
.cta-disclosure a{color:inherit}
.cta-disclosure .paid{color:var(--marker)}
.btn{display:block;background:var(--signal);color:#fff;font:700 1.1rem/1 var(--sans);text-align:center;text-decoration:none;padding:1rem 1.2rem;border-radius:999px;transition:background .15s,transform .15s}
.btn:hover{background:var(--signal-deep);color:#fff}
.btn:active{transform:translateY(1px)}
.quick{margin-top:1.25rem}
.quick-note{font-size:.85rem;color:var(--ink-soft);margin:.5rem 0 0;text-align:center}
.side .cta{margin:0 0 1.5rem;max-width:none}
.side{display:none}
@media (min-width:62rem){.quick{display:none}.side{display:block;position:sticky;top:1.25rem}}

/* In this guide */
.toc{font-size:.925rem}
.toc h2{font:600 .72rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .5rem}
.toc ol{margin:0;padding:0;list-style:none;counter-reset:toc}
.toc li{border-top:1px solid var(--rule);counter-increment:toc}
.toc a{display:flex;gap:.7rem;padding:.5rem 0;text-decoration:none;color:var(--ink)}
.toc a::before{content:counter(toc,decimal-leading-zero);font:600 .75rem/1.9 var(--mono);color:var(--signal-deep)}
.toc a:hover{color:var(--signal-deep)}

/* Reading column. Every H2 is a numbered step. */
.prose{margin-top:3rem;counter-reset:step}
.block{margin:0}
.block > *{max-width:40rem}
.block > table,.block > .list{max-width:60rem}
.block h2,.more h2{font:700 clamp(1.6rem,2.6vw,2.05rem)/1.15 var(--serif);letter-spacing:-.015em;margin:3rem 0 .8rem;text-wrap:balance;scroll-margin-top:1rem}
.block h2::before{counter-increment:step;content:counter(step,decimal-leading-zero);display:block;font:600 .8rem/1 var(--mono);letter-spacing:.08em;color:var(--signal-deep);margin-bottom:.6rem}
.block h3{font:700 1.1rem/1.3 var(--sans);margin:1.75rem 0 .4rem}
.block p,.block ul,.block ol{margin:0 0 1.05rem}
.block ul,.block ol{padding-left:1.25rem}
.block li{margin-bottom:.4rem}
.block li::marker{color:var(--signal-deep);font-weight:700}
.block table{display:block;overflow-x:auto;border-collapse:collapse;width:100%;margin:1.25rem 0 1.5rem;font-size:.975rem;font-variant-numeric:tabular-nums}
.block th{font:600 .72rem/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);text-align:left;border-bottom:1.5px solid var(--ink)}
.block th,.block td{padding:.65rem 1.1rem .65rem 0;vertical-align:top;min-width:6.5rem}
.block td{border-bottom:1px solid var(--rule)}
.tip{display:inline-block;font:600 .72rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;background:var(--marker);color:var(--ink);padding:.3rem .5rem;border-radius:6px;margin-right:.4rem}
.qa h3{margin:1.4rem 0 .3rem}
.qa p{margin:0}
.bottom p{font:400 1.2rem/1.5 var(--serif)}
.how{margin-top:3.5rem;padding-top:.5rem;border-top:1.5px solid var(--ink);font-size:.925rem}
.how h2{font-size:1.3rem;margin-top:1.25rem}
.how h2::before,.more h2::before{content:none;counter-increment:none}
.block .sources{padding-left:1.25rem}

/* Listings */
.list,.block ul.list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.75rem}
.list li{margin:0}
.list a{display:block;height:100%;background:var(--card);border:1.5px solid var(--rule);border-radius:var(--r);padding:1rem 1.1rem;text-decoration:none;color:var(--ink);transition:border-color .15s}
.list a:hover{border-color:var(--ink)}
.list .t{display:block;font:700 1.2rem/1.2 var(--serif)}
.list .d{display:block;font-size:.9rem;color:var(--ink-soft);margin-top:.4rem}
.more{max-width:60rem}

/* Footer */
.foot{border-top:1.5px solid var(--ink);padding:2.25rem var(--gutter) 2.5rem;font-size:.925rem}
.footer-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1.5rem 2rem;margin-bottom:1.75rem}
.footer-cols h2{font:600 .72rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .6rem}
.footer-cols ul{list-style:none;padding:0;margin:0}
.footer-cols a{display:inline-block;padding:.3rem 0;color:var(--ink)}
.foot p{max-width:46rem;margin:0 0 .75rem}
.footer-legal{font-size:.85rem;color:var(--ink-soft)}
