:root {
  --editorial-ink: #28150b;
  --editorial-muted: #705f53;
  --editorial-line: rgba(40, 21, 11, 0.14);
  --editorial-paper: #fffaf4;
  --editorial-accent: #fa7705;
  --editorial-soft: #fff0e3;
}

body.editorial-page {
  min-height: 100vh;
  margin: 0;
  color: var(--editorial-ink);
  background: linear-gradient(180deg, #fffdf9 0, #fff7ed 40rem, #fffaf6 100%);
  font-family: ui-rounded, "SF Pro Rounded", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.7;
}

.editorial-page *, .editorial-page *::before, .editorial-page *::after { box-sizing: border-box; }
.editorial-page a { color: inherit; text-underline-offset: 3px; text-decoration-color: #c9a88e; }
.editorial-page a:hover { text-decoration-color: var(--editorial-accent); }
.editorial-wrap { width: min(1120px, calc(100% - 36px)); margin-inline: auto; }
.editorial-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 0; border-bottom:1px solid var(--editorial-line); }
.editorial-brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; }
.editorial-brand img { display:block; width:82px; height:auto; }
.editorial-nav { display:flex; align-items:center; gap:18px; flex-wrap:wrap; font-size:14px; font-weight:700; }
.editorial-nav a { text-decoration:none; }
.editorial-main { width:min(760px, calc(100% - 36px)); margin:0 auto; padding:62px 0 88px; }
.editorial-main--wide { width:min(1000px, calc(100% - 36px)); }
.editorial-eyebrow { margin:0 0 12px; color:#8b5530; font-size:12px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.editorial-main h1 { max-width:820px; margin:0; font-family:Fraunces, Georgia, serif; font-size:clamp(2.5rem, 6vw, 4.7rem); font-weight:900; line-height:1.04; letter-spacing:-.045em; text-wrap:balance; }
.editorial-deck { max-width:680px; margin:22px 0 0; color:var(--editorial-muted); font-size:clamp(1.1rem, 2vw, 1.32rem); line-height:1.6; }
.editorial-meta { display:flex; gap:12px; flex-wrap:wrap; margin:22px 0 0; color:var(--editorial-muted); font-size:13px; }
.editorial-meta span + span::before { content:"·"; margin-right:12px; color:#b39a86; }
.editorial-answer { margin:34px 0; padding:20px 22px; border:1px solid rgba(250,119,5,.24); border-radius:18px; background:rgba(255,240,227,.72); }
.editorial-answer strong { display:block; margin-bottom:5px; color:#8b4a13; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.editorial-answer p { margin:0; font-size:1.12rem; }
.editorial-toc { margin:32px 0 42px; padding:20px 24px; border:1px solid var(--editorial-line); border-radius:18px; background:rgba(255,255,255,.65); }
.editorial-toc b { display:block; margin-bottom:8px; }
.editorial-toc ol { margin:0; padding-left:20px; columns:2; column-gap:32px; }
.editorial-toc li { break-inside:avoid; margin:4px 0; }
.editorial-content h2 { margin:52px 0 14px; font-family:Fraunces, Georgia, serif; font-size:clamp(1.7rem, 3vw, 2.35rem); line-height:1.18; letter-spacing:-.03em; text-wrap:balance; }
.editorial-content h3 { margin:28px 0 8px; font-size:1.15rem; line-height:1.35; }
.editorial-content p { margin:0 0 18px; color:#3f3026; }
.editorial-content ul, .editorial-content ol { margin:0 0 20px; padding-left:23px; color:#3f3026; }
.editorial-content li { margin:0 0 9px; padding-left:2px; }
.editorial-content li::marker { color:#c36a23; }
.editorial-content blockquote { margin:24px 0; padding:4px 0 4px 20px; border-left:3px solid var(--editorial-accent); color:var(--editorial-muted); }
.editorial-table-wrap { overflow-x:auto; margin:24px 0 28px; border:1px solid var(--editorial-line); border-radius:16px; background:rgba(255,255,255,.72); }
.editorial-content table { width:100%; min-width:620px; border-collapse:collapse; text-align:left; }
.editorial-content th, .editorial-content td { padding:14px 16px; border-bottom:1px solid var(--editorial-line); vertical-align:top; }
.editorial-content th { color:#60422d; background:var(--editorial-soft); font-size:.84rem; letter-spacing:.04em; }
.editorial-content tr:last-child td { border-bottom:0; }
.editorial-content td { color:#46352a; font-size:.94rem; }
.editorial-source-list { margin-top:30px; padding-top:20px; border-top:1px solid var(--editorial-line); }
.editorial-source-list h2 { margin-top:0; font-family:inherit; font-size:1.25rem; letter-spacing:0; }
.editorial-source-list li { overflow-wrap:anywhere; }
.editorial-cta { margin:42px 0 0; padding:24px; border-radius:20px; background:#2c1b12; color:#fffaf4; }
.editorial-cta p { color:#f5e6d9; }
.editorial-cta h2 { margin:0 0 10px; color:#fffaf4; font-family:Fraunces, Georgia, serif; }
.editorial-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; margin-top:5px; padding:12px 20px; border-radius:999px; background:#ff8a2a; color:#28150b !important; font-weight:800; text-decoration:none !important; }
.editorial-callout { margin:24px 0; padding:17px 20px; border-radius:14px; background:rgba(255,255,255,.72); color:var(--editorial-muted); font-size:.92rem; }
.editorial-footer { padding:22px 0 28px; border-top:1px solid var(--editorial-line); color:var(--editorial-muted); font-size:13px; }
.editorial-footer-inner { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.editorial-footer nav { display:flex; gap:16px; flex-wrap:wrap; }
.editorial-footer nav a { text-decoration:none; }
.guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:38px; }
.guide-card { display:flex; flex-direction:column; min-height:220px; padding:22px; border:1px solid var(--editorial-line); border-radius:20px; background:rgba(255,255,255,.72); text-decoration:none; transition:transform .18s ease, box-shadow .18s ease; }
.guide-card:hover { transform:translateY(-2px); box-shadow:0 15px 35px rgba(112,54,16,.1); }
.guide-card span { color:#99531e; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.guide-card h2 { margin:12px 0 8px; font-family:Fraunces, Georgia, serif; font-size:1.55rem; line-height:1.2; }
.guide-card p { margin:0; color:var(--editorial-muted); font-size:.94rem; }
.guide-card small { margin-top:auto; padding-top:18px; color:#7d4927; font-weight:800; }
.editorial-faq details { margin:10px 0; padding:16px 18px; border:1px solid var(--editorial-line); border-radius:14px; background:rgba(255,255,255,.65); }
.editorial-faq summary { cursor:pointer; font-weight:800; }
.editorial-faq details p { margin:12px 0 0; }
@media (max-width:640px) {
  .editorial-header { align-items:flex-start; flex-direction:column; }
  .editorial-nav { gap:12px; }
  .editorial-main { padding-top:42px; }
  .editorial-toc ol { columns:1; }
  .guide-grid { grid-template-columns:1fr; }
  .editorial-content h2 { margin-top:42px; }
}
@media (prefers-reduced-motion:reduce) { .guide-card { transition:none; } .guide-card:hover { transform:none; } }
.compare-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); gap:16px; margin:24px 0 28px; }
.compare-card { border:1px solid var(--editorial-line); border-radius:16px; background:rgba(255,255,255,.72); padding:18px 20px; min-width:0; overflow-wrap:anywhere; }
.compare-card h3 { margin:0 0 10px; }
.compare-card dl { margin:0; }
.compare-card dl > div { padding:8px 0; border-top:1px solid var(--editorial-line); }
.compare-card dt { font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; opacity:.7; margin-bottom:2px; }
.compare-card dd { margin:0; }
