/* What Men Really Think - site styles.
   Colors come only from themes.css variables. Sizes are in rem so the
   reader's text-size choice (data-ts on <html>) scales everything. */

@font-face{font-family:"Oswald";font-weight:500;font-style:normal;font-display:swap;src:url("fonts/oswald-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Oswald";font-weight:600;font-style:normal;font-display:swap;src:url("fonts/oswald-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Oswald";font-weight:700;font-style:normal;font-display:swap;src:url("fonts/oswald-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:400;font-style:normal;font-display:swap;src:url("fonts/source-sans-3-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:400;font-style:italic;font-display:swap;src:url("fonts/source-sans-3-latin-400-italic.woff2") format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:600;font-style:normal;font-display:swap;src:url("fonts/source-sans-3-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:600;font-style:italic;font-display:swap;src:url("fonts/source-sans-3-latin-600-italic.woff2") format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:700;font-style:normal;font-display:swap;src:url("fonts/source-sans-3-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:700;font-style:italic;font-display:swap;src:url("fonts/source-sans-3-latin-700-italic.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-style:normal;font-display:swap;src:url("fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:600;font-style:normal;font-display:swap;src:url("fonts/ibm-plex-mono-latin-600-normal.woff2") format("woff2")}

/* ---------- base ---------- */
html{font-size:100%;-webkit-text-size-adjust:100%;scroll-padding-top:7rem}
html[data-ts="l"]{font-size:115%}
html[data-ts="xl"]{font-size:130%}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--base);color:var(--text);font-family:"Source Sans 3",system-ui,sans-serif;font-size:1.125rem;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:var(--text);text-decoration:none}
a:hover{color:var(--accent-hover)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
::selection{background:var(--accent);color:var(--btntext)}
h1,h2,h3,h4{font-family:"Oswald",Impact,sans-serif;text-transform:uppercase;color:var(--head);margin:0;line-height:1.08;font-weight:700}
p{margin:0}
.wrap{max-width:1240px;margin:0 auto;padding-inline:clamp(1rem,2.5vw,2rem)}
.skip{position:absolute;left:-9999px;top:0;z-index:300;background:var(--accent);color:var(--btntext);padding:.75rem 1rem;font-weight:700}
.skip:focus{left:1rem;top:1rem}
[hidden]{display:none!important}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- small type ---------- */
.eyebrow{font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sec)}
.eyebrow.accent{color:var(--accent)}
.byline{font-family:"IBM Plex Mono",monospace;font-size:.75rem;color:var(--text3);line-height:1.5}
.chip{display:inline-block;font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--base);background:var(--text3);padding:.2rem .45rem;vertical-align:middle}
.chip.outline{color:var(--accent);background:none;border:1px solid var(--accent)}
.lead{font-size:clamp(1.125rem,1rem + .4vw,1.3rem);line-height:1.6;color:var(--text2)}
.muted{color:var(--text2)}

/* ---------- gradient rules and bars ---------- */
.rule{display:block;height:2px;background:var(--rule)}
.rule.short{width:6rem}
.rule.thick{height:4px}
.sec-head{margin:0 0 2.25rem}
.sec-head .eyebrow{margin-bottom:.6rem;display:block}
.sec-head .row{display:flex;align-items:center;gap:1.4rem}
.sec-head h2{font-size:clamp(1.75rem,1.2rem + 1.6vw,2.5rem);letter-spacing:.02em}
.sec-head .rule{flex:1;min-width:2.5rem}
.sec-intro{margin:-1rem 0 2rem;max-width:48rem;color:var(--text2);font-size:1.2rem}

/* ---------- buttons ---------- */
.btn{display:inline-block;font-family:"Oswald",sans-serif;font-weight:600;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;padding:1.1rem 1.9rem;background:var(--btn);color:var(--btntext);border:0;cursor:pointer;box-shadow:0 10px 22px rgba(var(--accent-rgb),.28);line-height:1.2;text-align:center}
.btn:hover{color:var(--btntext);filter:brightness(1.07)}
.btn.small{font-size:.875rem;padding:.75rem 1.2rem}
.btn-ghost{display:inline-block;font-family:"Oswald",sans-serif;font-weight:600;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;padding:1rem 1.75rem;border:2px solid var(--text);color:var(--text);background:transparent;cursor:pointer}
.btn-ghost:hover{border-color:var(--accent-hover);color:var(--accent-hover)}
.textlink{font-family:"Oswald",sans-serif;font-weight:600;font-size:.95rem;letter-spacing:.09em;text-transform:uppercase;text-decoration:underline;text-underline-offset:.4em}
.btn-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}

/* ---------- reading options bar ---------- */
.readbar{background:var(--footer);border-bottom:1px solid var(--line)}
.readbar .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.6rem 1.4rem;padding-block:.45rem;font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--text3)}
.readbar .grp{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.swatch{width:22px;height:22px;padding:0;border-radius:50%;cursor:pointer;border:1px solid var(--line)}
.swatch[aria-pressed="true"]{box-shadow:0 0 0 2px var(--base),0 0 0 4px var(--accent)}
.tsbtn{min-width:30px;height:26px;padding:0 6px;cursor:pointer;font-family:"Oswald",sans-serif;font-weight:600;line-height:1;color:var(--text);background:transparent;border:1px solid var(--line)}
.tsbtn[data-ts="m"]{font-size:12px}.tsbtn[data-ts="l"]{font-size:15px}.tsbtn[data-ts="xl"]{font-size:18px}
.tsbtn[aria-pressed="true"]{background:var(--accent);color:var(--btntext);border-color:var(--accent)}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:100;background:var(--header-bg);border-top:6px solid transparent;border-image:var(--bar-h) 1;box-shadow:0 10px 30px rgba(0,0,0,.35);backdrop-filter:blur(6px)}
.site-header .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;padding-block:.75rem}
.brand{display:flex;align-items:center;gap:1rem}
.brand img{width:clamp(48px,6vw,72px);height:clamp(48px,6vw,72px);box-shadow:0 6px 16px rgba(0,0,0,.35)}
.brand span{font-family:"Oswald",sans-serif;font-weight:700;font-size:clamp(1.25rem,.9rem + 1.2vw,1.85rem);letter-spacing:.06em;text-transform:uppercase;line-height:1;color:var(--text)}
.brand em{font-style:normal;color:var(--accent)}
.nav{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;align-items:center;font-family:"Oswald",sans-serif;font-weight:600;font-size:.95rem;letter-spacing:.1em;text-transform:uppercase}
.nav a[aria-current="page"]{color:var(--accent)}
.nav .btn{padding:.7rem 1.1rem;font-size:.875rem;box-shadow:none}
.searchbox{display:flex;align-items:stretch;border:1px solid var(--line);background:var(--alt)}
.searchbox input{background:transparent;border:0;color:var(--text);font:inherit;font-size:.95rem;padding:.55rem .75rem;width:12rem;min-width:0}
.searchbox input::placeholder{color:var(--ph)}
.searchbox button{background:transparent;border:0;border-left:1px solid var(--line);color:var(--text2);padding:0 .7rem;cursor:pointer}
.searchbox svg{width:18px;height:18px;display:block}
.header-rule{display:block;height:2px;background:var(--rule)}

/* ---------- hero ---------- */
.hero-band{background:var(--hero-bg);border-bottom:1px solid var(--line)}
.hero{display:flex;flex-wrap:wrap;gap:clamp(2rem,5vw,4rem);align-items:center;padding-block:clamp(3rem,7vw,6rem)}
.hero .copy{flex:1 1 520px;min-width:0}
.hero h1{font-size:clamp(2.6rem,1.4rem + 5vw,5.5rem);line-height:.98;margin-top:1.75rem;text-shadow:var(--head-shadow)}
.hero .tag{margin-top:1.4rem;font-family:"Oswald",sans-serif;font-weight:600;font-size:clamp(1.4rem,1rem + 1.6vw,2.5rem);line-height:1.1;text-transform:uppercase;color:var(--accent)}
.hero .lead{margin-top:1.4rem;max-width:40rem}
.hero .btn-row{margin-top:2.5rem}
.hero .art{flex:0 1 440px;min-width:0;margin:0 auto}
.frame{padding:1.1rem;background:var(--card);border:1px solid var(--line);box-shadow:0 40px 90px rgba(0,0,0,.6),0 0 80px rgba(var(--accent-rgb),.18)}
.frame .inner{padding:2px;background:var(--rule)}

/* ---------- sections ---------- */
.section{padding-block:clamp(3.5rem,7.5vw,6rem)}
.section.alt{background:var(--alt);border-block:1px solid var(--line)}
.section.glow{background:var(--latest-bg)}
.section.tight-top{padding-top:0}

/* ---------- feature (Sunday Edition) ---------- */
.feature{margin:0 0 3.5rem;position:relative;box-shadow:0 30px 60px rgba(0,0,0,.55)}
.feature img{width:100%}
.feature .over{position:absolute;left:0;right:0;bottom:4px;padding:clamp(3rem,9vw,7.5rem) clamp(1rem,3.75vw,3rem) clamp(1rem,3vw,2.5rem);background:linear-gradient(180deg,rgba(6,11,22,0) 0%,rgba(6,11,22,.74) 60%,rgba(6,11,22,.88) 100%)}
.feature .over q{display:block;max-width:52rem;font-style:italic;font-weight:600;font-size:clamp(1.15rem,.8rem + 1.7vw,2.4rem);line-height:1.3;color:#FFFFFF;quotes:"\201C" "\201D"}
.feature .over .byline{margin-top:1rem;color:#F5EBD7;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.feature .rule{height:4px}
.feature-copy{display:flex;flex-direction:column;gap:1.1rem;max-width:52rem}
.feature-copy h3{font-size:clamp(1.75rem,1.1rem + 2.2vw,2.75rem);line-height:1.06}
.feature-copy p{font-size:1.25rem;color:var(--text2)}

/* ---------- cards ---------- */
.grid{display:grid;gap:1.75rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.grid.wide{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.card{background:var(--card);border:1px solid var(--line);padding:1.85rem 1.75rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 16px 36px rgba(0,0,0,.35);position:relative;transition:transform .25s ease,box-shadow .25s ease}
.card.lift:hover{transform:translateY(-6px);box-shadow:0 26px 48px rgba(0,0,0,.5),0 0 0 1px rgba(var(--accent-rgb),.45)}
.card .bar{position:absolute;left:0;top:0;right:0;height:4px;background:var(--bar-h)}
.card.top-accent{border-top:4px solid var(--accent)}
.card .pic{display:block;width:calc(100% + 3.5rem);max-width:none;aspect-ratio:3/2;object-fit:cover;margin:-1.85rem -1.75rem .25rem}
.card h3{font-size:1.55rem;line-height:1.18;font-weight:600}
.card h3 a{color:var(--head)}
.card h3 a:hover{color:var(--accent-hover)}
.card .tags{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.card .foot{margin-top:auto;padding-top:1rem;border-top:1px solid var(--line)}
.card .deck{color:var(--text2);font-size:1.05rem}
.card .short{font-size:1.125rem;line-height:1.65}
.card .note{margin-top:auto;padding:1rem 1.1rem;background:rgba(var(--accent-rgb),.10);border-left:3px solid var(--accent)}
.card .note .eyebrow{color:var(--accent);display:block;margin-bottom:.25rem;font-size:.6875rem}
.card .note p{font-weight:600;font-size:1rem;line-height:1.5}
.num{font-family:"IBM Plex Mono",monospace;font-size:.8rem;font-weight:600;color:var(--sec)}

/* ---------- question of the week ---------- */
.qotw{background:var(--card);border:1px solid var(--line);box-shadow:0 30px 60px rgba(0,0,0,.45);display:flex;flex-wrap:wrap}
.qotw .ask{flex:3 1 520px;min-width:0;padding:clamp(1.5rem,4.4vw,3.5rem);border-top:6px solid transparent;border-image:var(--bar-h) 1}
.qotw .ask h2{font-size:clamp(2rem,1.2rem + 2.6vw,3.4rem);line-height:1.04;margin-top:1.1rem}
.qotw .ask h2 em{font-style:normal;color:var(--accent)}
.qotw .ask p{margin-top:1.4rem;color:var(--text2)}
.qotw .ask .btn{margin-top:1.9rem}
.qotw .last{flex:2 1 340px;min-width:0;padding:clamp(1.5rem,4.4vw,3.5rem) clamp(1.25rem,3.4vw,2.75rem);background:var(--alt);border-top:6px solid var(--accent)}
.qotw .last .q{margin:.4rem 0 1.75rem;font-family:"Oswald",sans-serif;font-weight:600;font-size:1.5rem;text-transform:uppercase;line-height:1.15;color:var(--head)}
.qotw blockquote{margin:0 0 1.6rem;padding:0 0 0 1.25rem;border-left:3px solid var(--accent)}
.qotw blockquote p{font-style:italic;font-size:1.2rem;line-height:1.5}
.qotw blockquote footer{margin-top:.6rem}

/* ---------- index list ---------- */
.index{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:0 3rem}
.index a{display:flex;align-items:baseline;gap:1rem;padding:1rem .25rem;border-bottom:1px solid var(--line)}
.index .name{font-family:"Oswald",sans-serif;font-size:1.25rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.index a:hover .name{color:var(--accent-hover)}
.index .count{margin-left:auto;font-family:"IBM Plex Mono",monospace;font-size:.75rem;color:var(--text3)}

/* ---------- callout panels ---------- */
.panel{background:var(--card);border:1px solid var(--line);box-shadow:0 30px 60px rgba(0,0,0,.45);position:relative;padding:clamp(1.75rem,5vw,4rem) clamp(1.4rem,5vw,4rem) clamp(1.75rem,5vw,4rem) clamp(2.1rem,6vw,4.75rem);display:flex;flex-wrap:wrap;gap:2rem 4rem;align-items:center}
.panel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:12px;background:var(--bar-v)}
.panel > div{flex:1 1 360px;min-width:0}
.panel h2{font-size:clamp(2.1rem,1.3rem + 2.8vw,3.75rem);line-height:1}
.panel h2 em{font-style:normal;color:var(--accent)}
.panel p{font-size:1.25rem;line-height:1.65}
.panel .btn{margin-top:1.75rem}

/* ---------- dark bands ---------- */
.band{background:var(--sub-bg);color:#FFFFFF}
.band h2{color:#FFFFFF}
.band .eyebrow{color:var(--bandaccent)}
.band p{color:var(--bandtext)}
.band a{color:#FFFFFF}
.sub{display:flex;flex-wrap:wrap;gap:2.5rem 4rem;align-items:center;padding-block:clamp(3.5rem,7vw,5.5rem)}
.sub > div{flex:1 1 360px;min-width:0}
.sub h2{font-size:clamp(2.1rem,1.4rem + 2.2vw,3rem);line-height:1.02;margin-top:.75rem}
.sub .rule{margin-top:1.1rem}
.sub p{margin-top:1rem;font-size:1.2rem}
.sub .formcard{background:var(--card);color:var(--text);padding:2.25rem;border:1px solid var(--line);box-shadow:0 30px 60px rgba(0,0,0,.45)}
.sub .formcard p{color:var(--text2);font-size:1rem}
.cause{background:var(--band-bg);color:#FFFFFF}
.cause .wrap{display:flex;flex-wrap:wrap;gap:1rem 2.5rem;align-items:center;justify-content:space-between;padding-block:2.5rem}
.cause p{font-family:"Oswald",sans-serif;font-size:1.5rem;font-weight:600;text-transform:uppercase;color:#FFFFFF;line-height:1.2}
.cause .links{display:flex;flex-wrap:wrap;gap:1.25rem;font-family:"Oswald",sans-serif;font-size:.95rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.cause .links a{color:#FFFFFF;text-decoration:underline;text-underline-offset:.3em}
.cause .links a.help{color:var(--bandlink)}

/* ---------- forms ---------- */
.field{display:flex;flex-direction:column;gap:.45rem}
.field label,.field .label{font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sec)}
.field .hint{font-size:.95rem;color:var(--text3);line-height:1.45}
.field input[type=text],.field input[type=email],.field input[type=search],.field select,.field textarea{font:inherit;font-size:1.05rem;color:var(--text);background:var(--base);border:1px solid var(--line);padding:.85rem .9rem;width:100%;border-radius:0}
.field textarea{min-height:16rem;line-height:1.6;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:var(--ph)}
.check{display:flex;gap:.7rem;align-items:flex-start;font-size:1rem;line-height:1.45}
.check input{width:1.1rem;height:1.1rem;margin-top:.2rem;accent-color:var(--accent);flex-shrink:0}
.form-grid{display:grid;gap:1.25rem 1.5rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.form-grid .full{grid-column:1/-1}
.fieldset{border:1px solid var(--line);background:var(--card);padding:clamp(1.25rem,3vw,2.25rem);margin:0 0 1.75rem}
.fieldset legend{font-family:"Oswald",sans-serif;font-size:1.5rem;font-weight:700;text-transform:uppercase;color:var(--head);padding:0 .5rem}
.radio-list{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
.radio-list label{display:flex;gap:.7rem;align-items:flex-start;padding:1rem;border:1px solid var(--line);background:var(--base);cursor:pointer;line-height:1.4}
.radio-list label strong{display:block;font-family:"Oswald",sans-serif;text-transform:uppercase;font-weight:600;color:var(--head)}
.radio-list label span{font-size:.95rem;color:var(--text2)}
.radio-list input{accent-color:var(--accent);margin-top:.25rem}
.counter{font-family:"IBM Plex Mono",monospace;font-size:.75rem;color:var(--text3)}
.counter.over{color:var(--accent)}
.formmsg{margin-top:1rem;padding:1rem 1.1rem;border-left:3px solid var(--accent);background:rgba(var(--accent-rgb),.10);font-size:1rem}
.formmsg[hidden]{display:none}

/* ---------- page heads and prose pages ---------- */
.page-head{background:var(--hero-bg);border-bottom:1px solid var(--line);padding-block:clamp(3rem,6vw,5rem)}
.page-head h1{font-size:clamp(2.3rem,1.3rem + 4vw,4.5rem);line-height:1;margin-top:1.25rem;max-width:58rem;text-shadow:var(--head-shadow)}
.page-head .lead{margin-top:1.25rem;max-width:46rem}
.crumbs{font-family:"IBM Plex Mono",monospace;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text3)}
.crumbs a{color:var(--sec)}
.page-photo{margin-top:-1px}
.page-photo img{width:100%;max-height:560px;object-fit:cover}
.copy-col{max-width:46rem}
.copy-col h2{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.3rem);margin:3rem 0 1rem}
.copy-col h2:first-child{margin-top:0}
.copy-col h3{font-size:1.4rem;margin:2rem 0 .6rem;color:var(--head)}
.copy-col p{margin:0 0 1.15rem;font-size:1.2rem;line-height:1.7}
.copy-col p.eyebrow{font-size:.75rem;line-height:1.4;margin:0}
.copy-col ul,.copy-col ol{margin:0 0 1.25rem;padding-left:1.25rem;font-size:1.15rem;line-height:1.65}
.copy-col li{margin-bottom:.5rem}
.copy-col li strong{color:var(--head)}
.sig{font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:.875rem;letter-spacing:.15em;text-transform:uppercase;color:var(--head);margin-top:2rem}
.two-col{display:flex;flex-wrap:wrap;gap:3rem 4rem;align-items:flex-start}
.two-col > .main{flex:999 1 560px;min-width:0}
.two-col > .side{flex:1 1 300px;min-width:0}
.sidebox{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--accent);padding:1.75rem}
.sidebox h2,.sidebox h3{font-size:1.35rem;margin-bottom:.9rem}
.sidebox ul{margin:0;padding-left:1.1rem;font-size:1.05rem;line-height:1.55}
.sidebox li{margin-bottom:.45rem}
.tiles{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.tile{background:var(--card);border:1px solid var(--line);padding:1.75rem;position:relative}
.tile::before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:var(--bar-h)}
.tile h3{font-size:1.35rem;margin-bottom:.6rem}
.tile p{color:var(--text2);font-size:1.05rem}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.steps li{background:var(--card);border:1px solid var(--line);padding:1.75rem}
.steps .num{font-size:1.75rem;font-family:"Oswald",sans-serif;font-weight:700;color:var(--accent)}
.steps h3{font-size:1.3rem;margin:.4rem 0 .5rem}
.steps p{color:var(--text2);font-size:1.05rem}
.subjects{display:flex;flex-wrap:wrap;gap:.6rem}
.subjects a,.subjects span{font-family:"Oswald",sans-serif;font-weight:600;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;padding:.55rem .9rem;border:1px solid var(--line);background:var(--card)}
.subjects a:hover{border-color:var(--accent);color:var(--accent-hover)}
table.ledger{width:100%;border-collapse:collapse;font-size:1rem}
table.ledger th,table.ledger td{text-align:left;padding:.85rem .75rem;border-bottom:1px solid var(--line);vertical-align:top}
table.ledger th{font-family:"IBM Plex Mono",monospace;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sec);font-weight:600}
.tablebox{overflow-x:auto;background:var(--card);border:1px solid var(--line)}

/* ---------- article ---------- */
.article-head{background:var(--hero-bg);border-bottom:1px solid var(--line);padding-block:clamp(2.5rem,5vw,4.5rem) clamp(2rem,4vw,3rem)}
.article-head .tags{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:1.25rem}
.article-head h1{font-size:clamp(2.1rem,1.2rem + 3.6vw,4.25rem);line-height:1.02;margin-top:1rem;max-width:62rem;text-shadow:var(--head-shadow)}
.article-head .deck{margin-top:1.25rem;max-width:46rem;font-size:clamp(1.15rem,1rem + .5vw,1.4rem);color:var(--text2);line-height:1.5}
.article-head .byline{margin-top:1.5rem;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase}
.article-head .byline a{color:var(--sec)}
.lead-photo{margin:0}
.lead-photo img{width:100%;max-height:640px;object-fit:cover}
.lead-photo figcaption{font-size:.875rem;color:var(--text3);padding:.6rem clamp(1rem,2.5vw,2rem)}
.article-layout{display:flex;flex-wrap:wrap;gap:3rem 4.5rem;align-items:flex-start;padding-block:clamp(2.5rem,5vw,4rem)}
.article-layout .story{flex:999 1 560px;min-width:0;max-width:46rem}
.article-layout aside{flex:1 1 280px;min-width:0}
.prose p{font-size:1.25rem;line-height:1.78;margin:0 0 1.4rem}
.prose h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);margin:2.5rem 0 1rem}
.prose .dropcap::first-letter{float:left;font-family:"Oswald",sans-serif;font-weight:700;font-size:4.6em;line-height:.82;margin:.06em .1em 0 0;color:var(--accent)}
.prose blockquote.pull{margin:2.5rem 0;padding:1.5rem 0 1.5rem 1.75rem;border-left:4px solid var(--accent);font-family:"Oswald",sans-serif;font-weight:500;font-size:clamp(1.4rem,1.1rem + 1.1vw,2rem);line-height:1.25;text-transform:uppercase;color:var(--head)}
.prose figure{margin:2.5rem 0}
.prose figure figcaption{font-size:.875rem;color:var(--text3);margin-top:.6rem}
.endmark{display:flex;align-items:center;gap:1rem;margin:2.75rem 0 1.5rem;font-family:"IBM Plex Mono",monospace;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text3)}
.endmark .rule{flex:1}
.sample-note{margin:0 0 2rem;padding:1rem 1.1rem;border:1px dashed var(--accent);font-family:"IBM Plex Mono",monospace;font-size:.75rem;letter-spacing:.06em;color:var(--accent);text-transform:uppercase}
.meta{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.55rem 1rem;font-size:1rem}
.meta dt{font-family:"IBM Plex Mono",monospace;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sec);padding-top:.2rem}
.meta dd{margin:0}
.taglist{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.taglist a{font-family:"IBM Plex Mono",monospace;font-size:.75rem;padding:.3rem .55rem;border:1px solid var(--line);color:var(--text2)}
.taglist a:hover{border-color:var(--accent);color:var(--accent-hover)}
.share{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1rem}
.helpbox{margin:2.5rem 0 0;background:var(--card);border:1px solid var(--line);border-left:8px solid var(--accent);padding:1.5rem 1.75rem}
.helpbox h2{font-size:1.5rem}
.helpbox p{margin-top:.6rem;font-size:1.1rem}
.helpbox .btn-row{margin-top:1.1rem}
.related{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.gate{max-width:40rem;margin:0 auto;text-align:left;background:var(--card);border:1px solid var(--line);border-top:6px solid var(--accent);padding:clamp(1.5rem,4vw,3rem)}
.gate h2{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.25rem)}
.gate p{margin-top:1rem;color:var(--text2)}
.gate .btn-row{margin-top:1.75rem}
html.gated .gated-body{display:none}
html:not(.gated) .gate-box{display:none}

/* ---------- browse / search ---------- */
.filters{background:var(--card);border:1px solid var(--line);padding:clamp(1.25rem,3vw,2rem);display:grid;gap:1.1rem 1.4rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));align-items:end}
.filters .field.q{grid-column:1/-1}
.filters .actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.results-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.5rem;align-items:baseline;margin:2rem 0 1.25rem;font-size:1rem;color:var(--text2)}
.result{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}
.result h3{font-size:1.5rem;line-height:1.2;font-weight:600}
.result h3 a{color:var(--head)}
.result h3 a:hover{color:var(--accent-hover)}
.result p{color:var(--text2);font-size:1.05rem}
.result mark{background:rgba(var(--accent-rgb),.28);color:inherit;padding:0 .1em}
.empty{background:var(--card);border:1px dashed var(--line);padding:clamp(1.75rem,4vw,3rem);text-align:left}
.empty h3{font-size:1.5rem}
.empty p{margin-top:.75rem;color:var(--text2)}
.empty .btn-row{margin-top:1.5rem}
.pager{display:flex;justify-content:center;margin-top:2rem}

/* ---------- writer page ---------- */
.writer-meta{display:flex;flex-wrap:wrap;gap:2rem 3rem;margin-top:1.75rem}
.writer-meta div{min-width:8rem}
.writer-meta dt{font-family:"IBM Plex Mono",monospace;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sec)}
.writer-meta dd{margin:.3rem 0 0;font-size:1.15rem}

/* ---------- landing (founding writers) ---------- */
.ways{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.rules-list{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.rules-list li{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent);padding:1.4rem 1.5rem}
.rules-list strong{display:block;font-family:"Oswald",sans-serif;text-transform:uppercase;font-size:1.2rem;color:var(--head);margin-bottom:.35rem;letter-spacing:.02em}
.rules-list span{color:var(--text2);font-size:1.05rem}
.promise{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.send-box{background:var(--card);border:1px solid var(--line);padding:clamp(1.5rem,4vw,2.5rem)}
.send-box .addr{font-family:"IBM Plex Mono",monospace;font-size:clamp(1rem,.8rem + 1vw,1.35rem);color:var(--accent);word-break:break-all;margin-top:1rem}
.send-box ul{margin:1rem 0 0;padding-left:1.2rem;line-height:1.6}
.band .send-box,.band .formcard{color:var(--text)}
.band .send-box p,.band .send-box li{color:var(--text)}
.band .send-box a:not(.btn),.band .formcard a:not(.btn){color:var(--accent)}
.band .send-box .btn,.band .formcard .btn{color:var(--btntext)}

/* ---------- footer ---------- */
.site-footer{background:var(--footer)}
.site-footer .top{border-top:6px solid transparent;border-image:var(--bar-h) 1}
.site-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding-block:2.5rem 3.5rem;font-family:"IBM Plex Mono",monospace;font-size:.75rem;color:var(--text2)}
.site-footer .motto{display:flex;align-items:center;gap:1rem}
.site-footer .motto img{width:56px;height:56px}
.site-footer nav{display:flex;flex-wrap:wrap;gap:.6rem 1.25rem}
.site-footer nav a{color:var(--text2)}
.site-footer nav a:hover{color:var(--accent-hover)}
.site-footer .legal{flex:1 1 100%;padding-top:1.1rem;border-top:1px solid var(--line);line-height:1.6;color:var(--text3)}

/* eyebrows keep their size inside any container */
.panel .eyebrow,.sub .eyebrow,.copy-col .eyebrow,.qotw .eyebrow,.band .eyebrow,.sidebox .eyebrow{font-size:.75rem;line-height:1.4}

/* ---------- phone ---------- */
@media (max-width:760px){
  .site-header{position:static}
  .site-header .wrap{gap:.75rem}
  .nav{gap:.4rem 1rem;font-size:.85rem}
  .nav{width:100%}
  .searchbox{flex:1 1 10rem}
  .searchbox input{width:100%}
  .readbar .wrap{justify-content:space-between;gap:.4rem .8rem;padding-block:.35rem}
  .readbar .grp > span{display:none}
  .swatch{width:20px;height:20px}
  .readbar .grp{gap:.35rem}
  .sec-head h2{white-space:normal}
  .feature .over{position:static;background:var(--card);padding:1.25rem}
  .feature .over q{color:var(--head)}
  .feature .over .byline{color:var(--text3)}
  .article-layout aside{order:2}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.readbar,.site-header,.cause,.band,.site-footer,.share,.helpbox{display:none}body{background:#fff;color:#000}}
