/* Bringing AI Home: shared styles ("Editorial Rose"). See STYLE.md. Page-specific styles stay inline.
   Palette: wine #7d2742 (blocks), warm cream #fbf6f4, plum ink #2b2228, rose #b03a5b, blush #f2c4d0.
   Every text/background pair passes WCAG AA. */

/* Light tokens: the page, and every card-like surface (so cards stay light inside wine sections) */
:root,
:is(.card,.dlg,.phone){
  --wine:#7d2742; --cream:#fbf6f4; --plum:#2b2228; --blush:#f2c4d0;
  --accent:#b03a5b;  /* thin rules, markers, borders; blush inside wine sections */
  --rose:#b03a5b; --rose-deep:#7d2742; --rose-soft:rgba(125,39,66,.05); --rose-line:rgba(125,39,66,.3);
  --ink:#2b2228; --muted:#6f626a; --line:rgba(125,39,66,.16); --bg:#fbf6f4; --card:#fff;
  --label:#b03a5b; --faint:#6f626a; --unsure:#2b2228;
  color:var(--ink);
}
:root{
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --max:840px;
}
*{box-sizing:border-box}
body{margin:0;font:300 17px/1.75 var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
:is(strong,b){font-weight:600}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
a{color:var(--rose)}
p{margin:.6em 0}

/* Back link */
.back{max-width:var(--max);margin:0 auto;padding:14px 24px 0}
.back a{text-decoration:none;font:500 11.5px var(--mono);letter-spacing:.14em;text-transform:uppercase}

/* Banner: flat wine, big serif headline, watermark word (data-watermark) behind it */
.banner{background:var(--wine);color:#fff;padding:96px 24px 88px;position:relative;overflow:hidden}
.banner .wrap{position:relative;z-index:1}
.banner::after{content:attr(data-watermark);position:absolute;right:-.04em;bottom:-.2em;font:400 clamp(120px,22vw,300px)/1 var(--serif);color:#fff;opacity:.08;letter-spacing:-.02em;pointer-events:none}
.kicker{font:500 11.5px/1.4 var(--mono);letter-spacing:.2em;text-transform:uppercase;opacity:.8}
.banner h1{font:400 clamp(38px,6.5vw,68px)/1.06 var(--serif);letter-spacing:-.01em;margin:.35em 0 .3em}
.banner :is(.sub,.lede){font-size:18px;font-weight:300;opacity:.92;max-width:30em}

/* Sections: generous space; every even section is a full-width wine block */
section{padding:88px 0;border-bottom:1px solid var(--line)}
.wrap > section:nth-of-type(even){
  background:var(--wine);box-shadow:0 0 0 100vmax var(--wine);clip-path:inset(0 -100vmax);border-bottom-color:transparent;
  --ink:#fbf6f4; --muted:rgba(251,246,244,.85); --rose:#f2c4d0; --rose-deep:#fbf6f4; --line:rgba(242,196,208,.35); --accent:#f2c4d0;
  color:var(--ink);
}
.wrap > section:nth-of-type(even) a{color:var(--ink)}

/* Type roles: serif for display, sans for reading, mono for labels */
h2{font:500 11.5px/1.4 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--rose);margin:0 0 28px}
h2::before{content:"";display:inline-block;width:22px;height:1px;background:var(--accent);vertical-align:middle;margin-right:12px}
h3{margin:0 0 4px;font:500 21px/1.25 var(--serif);color:var(--rose-deep)}
.muted{color:var(--muted)}
.stat{font-weight:600;color:var(--rose-deep)}
blockquote{margin:1.2em 0 0;padding-top:1em;border-top:1px solid var(--line);font:italic 400 clamp(22px,3vw,28px)/1.4 var(--serif);color:var(--rose-deep);max-width:28em}
sup a{text-decoration:none;font:600 11px var(--mono);padding:0 1px}

/* Cards: square, hairline borders */
.grid{display:grid;gap:16px}
@media(min-width:640px){.grid.two{grid-template-columns:1fr 1fr}}
.card{background:var(--card);border:1px solid var(--line);padding:22px 24px}
.card p{margin:.25em 0 0;font-size:15px;font-weight:300;color:var(--muted)}
.card.rose{border-color:var(--rose-line);box-shadow:inset 0 2px 0 var(--accent)}

/* Sources */
.sources{border-bottom:0}
.sources ol{margin:0;padding-left:1.3em;font-size:13.5px;line-height:1.55;color:var(--muted)}
.sources li{margin:.4em 0}

/* Footer: full-width plum block */
footer,footer.wrap{background:var(--plum);box-shadow:0 0 0 100vmax var(--plum);clip-path:inset(0 -100vmax);color:rgba(251,246,244,.85);padding:48px 24px 64px;font:400 12px/1.8 var(--mono);letter-spacing:.06em}
footer .muted{color:rgba(251,246,244,.72)}
