/* Bra Size — shared styles for legal and info pages (contact, disclaimer, affiliate disclosure, sitemap) */
:root{--paper:#F7F5EF;--paper-dim:#EFEAE0;--ink:#1B2A4A;--ink-soft:#5C6478;--red:#C1442D;--red-tint:#FBE9DE;--sage:#4B6E5D;--sage-dark:#33503F;--sage-tint:#E6EDE9;--line:#DDD6C6;--font-display:'Bitter',Georgia,serif;--font-mono:'Space Mono',ui-monospace,monospace;}
*{box-sizing:border-box;}
html{scroll-padding-top:84px;}
body{margin:0; background:var(--paper); color:var(--ink); font-family:'IBM Plex Sans',system-ui,sans-serif; line-height:1.75; -webkit-font-smoothing:antialiased;}
.page{max-width:800px; margin:0 auto; padding:40px 24px 72px;}
.crumb{font-family:var(--font-mono); font-size:0.75rem; color:var(--ink-soft); margin:0 0 18px;}
.crumb a{color:var(--ink-soft);}
h1{font-family:var(--font-display); font-size:clamp(1.9rem,4vw,2.5rem); line-height:1.2; margin:0 0 10px;}
h2{font-family:var(--font-display); font-size:1.3rem; line-height:1.3; margin:40px 0 10px;}
h3{font-family:var(--font-display); font-size:1.05rem; margin:0 0 6px;}
p{margin:0 0 14px;}
a{color:var(--sage-dark);}
.lede{font-size:1.08rem; color:var(--ink-soft);}
.updated{font-family:var(--font-mono); font-size:0.76rem; color:var(--ink-soft); margin:0 0 22px;}
.callout{background:#fff; border:1px solid var(--line); border-left:4px solid var(--red); border-radius:12px; padding:18px 20px; margin:22px 0;}
.callout p:last-child{margin:0;}
.note{background:var(--sage-tint); border-radius:12px; padding:16px 18px; margin:18px 0; font-size:0.95rem;}
.toc{background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px 20px; margin:22px 0;}
.toc b{display:block; font-family:var(--font-mono); font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:8px;}
.toc ol{margin:0; padding-left:20px; columns:2; column-gap:28px; font-size:0.92rem;}
.toc li{break-inside:avoid; margin-bottom:4px;}
@media(max-width:600px){.toc ol{columns:1;}}
.cards{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin:16px 0;}
@media(max-width:640px){.cards{grid-template-columns:1fr;}}
.card{background:#fff; border:1px solid var(--line); border-radius:12px; padding:18px;}
.card p{margin:0; font-size:0.93rem; color:var(--ink-soft);}
.card .tag{display:inline-block; font-family:var(--font-mono); font-size:0.66rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--sage-dark); background:var(--sage-tint); padding:3px 8px; border-radius:5px; margin-bottom:8px;}
ul.list{padding-left:20px;}
ul.list li{margin-bottom:10px;}
