/* REVIEW DESK — print / editorial magazine system */
:root{
  --bg:#f7f2e7; --paper:#fffdf8; --ink:#221d14; --ink-dim:#6b6152;
  --line:#ddd3bd; --accent:#af3626; --accent-ink:#fff;
  --serif:'Fraunces', Georgia, serif; --sans:'Inter', -apple-system, sans-serif;
  --maxw:920px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.7;font-size:17px;}
a{color:inherit;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}

.masthead-bar{border-bottom:3px solid var(--ink);background:var(--paper);}
.masthead-bar .wrap{display:flex;justify-content:space-between;align-items:center;padding:22px 28px 18px;}
.masthead{font-family:var(--serif);font-size:1.7rem;font-weight:600;letter-spacing:-.01em;}
.masthead em{color:var(--accent);font-style:normal;}
nav{display:flex;gap:26px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-dim);}
nav a:hover{color:var(--ink);}
.dateline{border-bottom:1px solid var(--line);background:var(--paper);font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-dim);padding:8px 0;}
.dateline .wrap{display:flex;justify-content:space-between;}

.hero{padding:56px 0 44px;border-bottom:1px solid var(--line);}
.hero .kicker{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-weight:700;margin-bottom:18px;}
.hero h1{font-family:var(--serif);font-size:clamp(2.1rem,5vw,3.2rem);line-height:1.12;font-weight:600;max-width:18ch;margin-bottom:22px;}
.hero .dek{font-size:1.15rem;color:var(--ink-dim);max-width:56ch;font-family:var(--serif);font-style:italic;margin-bottom:28px;}
.byline{display:flex;gap:18px;font-size:12.5px;color:var(--ink-dim);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;}

.stamp{width:96px;height:96px;border:2px solid var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;
  transform:rotate(-8deg);color:var(--accent);font-family:var(--serif);font-weight:700;font-size:12px;text-align:center;line-height:1.3;text-transform:uppercase;letter-spacing:.02em;float:right;margin:4px 0 20px 24px;}

section{padding:48px 0;border-bottom:1px solid var(--line);}
.sechead{margin-bottom:32px;text-align:left;}
.sechead .rubric{font-size:11.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:700;margin-bottom:8px;}
.sechead h2{font-family:var(--serif);font-size:1.7rem;font-weight:600;}

.tldr{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--accent);padding:22px 26px;margin:30px 0;}
.tldr-label{font-family:var(--serif);font-weight:700;font-style:italic;color:var(--accent);margin-bottom:8px;font-size:.95rem;}
.tldr-body{font-size:.95rem;}

table{width:100%;border-collapse:collapse;font-size:.92rem;background:var(--paper);}
th,td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line);}
th{font-family:var(--serif);font-weight:600;font-style:italic;color:var(--ink-dim);}

.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.review-card{background:var(--paper);border:1px solid var(--line);padding:26px;}
.review-card .kicker-sm{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:700;margin-bottom:10px;}
.review-card h3{font-family:var(--serif);font-size:1.25rem;margin-bottom:10px;font-weight:600;}
.review-card p{color:var(--ink-dim);font-size:.92rem;}

.pullquote{font-family:var(--serif);font-style:italic;font-size:1.35rem;line-height:1.5;color:var(--ink);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:24px 0;margin:32px 0;}

.article-header{padding:52px 0 30px;border-bottom:1px solid var(--line);}
.article-header .kicker{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:700;margin-bottom:16px;}
.article-header h1{font-family:var(--serif);font-size:clamp(2rem,4.4vw,2.9rem);line-height:1.15;font-weight:600;max-width:20ch;margin-bottom:16px;}
.meta-row{font-size:12.5px;color:var(--ink-dim);display:flex;gap:16px;border-top:1px solid var(--line);padding-top:12px;}
.prose{max-width:68ch;padding:36px 0;}
.prose h2{font-family:var(--serif);font-size:1.5rem;margin:34px 0 14px;font-weight:600;}
.prose p{margin-bottom:18px;}
.prose ul,.prose ol{margin:0 0 18px 22px;}
.prose li{margin-bottom:8px;}
.callout{background:var(--paper);border-left:4px solid var(--accent);padding:16px 20px;margin:26px 0;font-size:.9rem;color:var(--ink-dim);}
.callout b{color:var(--ink);}

footer{padding:44px 0 34px;font-size:12.5px;color:var(--ink-dim);border-top:3px solid var(--ink);}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;padding-top:28px;}
.fcol h4{font-family:var(--serif);font-weight:600;font-style:italic;color:var(--ink);margin-bottom:10px;}
.fcol a{display:block;margin-bottom:7px;}
.fcol a:hover{color:var(--accent);}
.fbottom{margin-top:28px;}

@media(max-width:760px){.review-grid{grid-template-columns:1fr;} nav{display:none;} .stamp{float:none;margin:0 0 20px;}}

/* In-text links must look like links, not plain text */
.prose a, .related-cocoon a, .tldr-body a, .callout a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
.prose a:hover, .related-cocoon a:hover, .tldr-body a:hover, .callout a:hover {
  opacity: 0.8;
}
