/* Editorial layouts use the frontsite's shared dark/light tokens and fonts. */
body.field-notes { background:var(--bg); color:var(--text); font-family:var(--font-ui); -webkit-font-smoothing:antialiased; }
.field-notes a { color:inherit; }
.field-notes a:focus-visible { outline:2px solid var(--amber-text); outline-offset:5px; border-radius:2px; }
.field-notes [hidden] { display:none !important; }
.fn-main { padding-top:64px; }
.fn-wrap { max-width:1120px; margin:0 auto; padding-left:32px; padding-right:32px; }
.fn-hero { padding-top:86px; padding-bottom:0; }
.fn-kicker { font-family:var(--font-mono); font-size:11px; line-height:1.6; letter-spacing:.12em; text-transform:uppercase; color:var(--amber-text); }
.fn-hero h1 { margin:18px 0 22px; font-family:var(--font-display); font-size:clamp(66px,10vw,128px); font-weight:400; letter-spacing:-.065em; line-height:1.03; }
.fn-hero h1 em { font-weight:400; }
.fn-period { color:var(--amber-text); }
.fn-lead { max-width:750px; font-size:clamp(19px,2.4vw,27px); line-height:1.5; letter-spacing:-.025em; }
.fn-hero-bottom { margin-top:40px; padding:25px 0 34px; display:flex; justify-content:space-between; align-items:flex-end; gap:24px; border-bottom:1px solid var(--border-strong); }
.fn-hero-bottom p { font-size:14px; line-height:1.7; color:var(--text-muted); }
.fn-hero-bottom a { font-size:13px; color:var(--amber-text); text-decoration:none; white-space:nowrap; }
.fn-hero-bottom a span { margin-left:14px; }
.fn-library { padding-top:45px; padding-bottom:64px; scroll-margin-top:86px; }
.fn-section-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.fn-section-heading h2 { font-family:var(--font-display); font-size:27px; font-weight:400; letter-spacing:-.03em; }
.fn-rss { color:var(--text-muted) !important; font-family:var(--font-mono); font-size:11px; text-decoration:none; }
.fn-rss:hover { color:var(--amber-text) !important; }
.fn-filters { margin:23px 0 30px; display:flex; flex-wrap:wrap; gap:8px; }
.fn-filter { padding:8px 13px; border:1px solid var(--border); border-radius:4px; text-decoration:none; color:var(--text-muted) !important; font-size:12px; line-height:1.5; }
.fn-filter:hover { border-color:var(--border-strong); color:var(--text) !important; }
.fn-filter[aria-current] { background:var(--accent-wash); border-color:var(--accent-edge); color:var(--amber-text) !important; }
.fn-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.fn-card { padding:30px; background:var(--surface); border:1px solid var(--border); position:relative; display:flex; flex-direction:column; }
.fn-card h3 { margin:15px 0 13px; font-family:var(--font-display); font-size:30px; font-weight:400; line-height:1.2; letter-spacing:-.025em; }
.fn-card h3 a { text-decoration:none; }
.fn-card h3 a::after { content:""; position:absolute; inset:0; }
.fn-card:focus-within, .fn-card:hover { border-color:var(--accent-edge); }
.fn-card > p:not(.fn-kicker) { color:var(--text-muted); line-height:1.7; font-size:14px; }
.fn-card-bottom { display:flex; justify-content:space-between; padding-top:28px; margin-top:auto; color:var(--text-muted); font-family:var(--font-mono); font-size:11px; }
.fn-card-bottom > span { color:var(--amber-text); font-size:20px; line-height:1; }
.fn-empty { min-height:180px; border:1px solid var(--border); background:var(--surface); display:flex; align-items:center; gap:26px; padding:36px; }
.fn-empty-mark { font-family:var(--font-display); font-size:50px; line-height:1; color:var(--amber-text); }
.fn-empty h3 { font-family:var(--font-display); font-size:27px; font-weight:400; letter-spacing:-.025em; margin-bottom:12px; }
.fn-empty p, .fn-no-results, .fn-no-script { color:var(--text-muted); font-size:14px; line-height:1.8; }
.fn-no-results { padding:40px 24px; border:1px solid var(--border); }
.fn-no-results a { color:var(--amber-text); }
.fn-about { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding-top:52px; padding-bottom:66px; border-top:1px solid var(--border); }
.fn-about-intro h2 { margin:16px 0 22px; font-family:var(--font-display); font-size:clamp(30px,4vw,43px); letter-spacing:-.045em; font-weight:400; line-height:1.15; }
.fn-about-intro > p:not(.fn-kicker) { color:var(--text-muted); font-size:14px; line-height:1.85; margin-top:15px; }
.fn-territories { display:grid; grid-template-columns:1fr 1fr; gap:28px 26px; }
.fn-number { color:var(--amber-text); font-family:var(--font-mono); font-size:10px; }
.fn-territory h3 { font-family:var(--font-display); font-size:21px; font-weight:400; margin:10px 0 9px; }
.fn-territory p { color:var(--text-muted); font-size:13px; line-height:1.7; }
.fn-colophon { display:flex; justify-content:space-between; flex-wrap:wrap; gap:15px; padding-top:20px; padding-bottom:40px; font-size:12px; color:var(--text-muted); }
.fn-colophon span { font-family:var(--font-mono); font-size:10px; }
.fn-article-wrap { max-width:780px; margin:0 auto; padding:55px 32px 0; }
.fn-back { display:inline-block; color:var(--text-muted) !important; text-decoration:none; font-size:13px; margin-bottom:45px; }
.fn-article-header h1 { font-family:var(--font-display); font-size:clamp(37px,5.5vw,61px); font-weight:400; line-height:1.12; letter-spacing:-.045em; margin:18px 0 22px; overflow-wrap:anywhere; }
.fn-article-header > .fn-kicker { text-decoration:none; }
.fn-deck { color:var(--text-muted); font-size:19px; line-height:1.7; }
.fn-meta { margin-top:27px; display:flex; flex-wrap:wrap; gap:8px 12px; font-size:12px; color:var(--text-muted); }
.fn-updated { color:var(--text-muted); font-size:12px; margin-top:12px; }
.fn-prose { margin:35px 0 50px; padding-top:35px; border-top:1px solid var(--border); font-size:17px; line-height:1.85; overflow-wrap:break-word; }
.fn-prose > * + * { margin-top:24px; }
.fn-prose h2 { font-family:var(--font-display); font-size:30px; letter-spacing:-.03em; font-weight:400; line-height:1.3; margin-top:42px; }
.fn-prose h3 { font-size:20px; line-height:1.4; margin-top:32px; }
.fn-prose a { color:var(--amber-text); text-underline-offset:4px; }
.fn-prose ul, .fn-prose ol { padding-left:24px; }
.fn-prose li + li { margin-top:9px; }
.fn-prose blockquote { border-left:2px solid var(--amber-text); padding:8px 0 8px 24px; color:var(--text-muted); }
.fn-prose pre { max-width:100%; overflow:auto; padding:20px; background:var(--surface2); border:1px solid var(--border); font-size:13px; }
.fn-prose code { font-family:var(--font-mono); font-size:.85em; }
.fn-prose img, .fn-prose svg { max-width:100%; height:auto; }
.fn-prose table { display:block; max-width:100%; overflow:auto; border-collapse:collapse; font-size:14px; }
.fn-prose th, .fn-prose td { padding:12px 16px; border:1px solid var(--border); text-align:left; }
.fn-prose figcaption { color:var(--text-muted); font-size:13px; margin-top:10px; }
.fn-publisher { border-top:1px solid var(--border); padding:26px 0 38px; font-size:14px; line-height:1.8; }
.fn-publisher > p:nth-child(2) { color:var(--text-muted); margin:8px 0 12px; }
.fn-publisher a { color:var(--amber-text); text-decoration:none; }
.fn-related { padding-top:30px; padding-bottom:65px; }
.fn-related > h2 { font-family:var(--font-display); font-size:30px; font-weight:400; margin-bottom:25px; }
.fn-draft { padding:12px 16px; margin-bottom:25px; border:1px solid var(--accent-edge); background:var(--accent-wash); color:var(--amber-text); font-family:var(--font-mono); font-size:12px; }
.field-notes .story-skip { position:fixed; top:8px; left:16px; padding:12px 18px; z-index:100; background:var(--cta-bg); color:var(--bg); text-decoration:none; transform:translateY(-200%); }
.field-notes .story-skip:focus { transform:translateY(0); }
@media (max-width:700px) {
  .fn-wrap { padding-left:24px; padding-right:24px; }
  .fn-hero { padding-top:50px; }
  .fn-hero-bottom { align-items:flex-start; flex-direction:column; gap:20px; margin-top:25px; }
  .fn-desktop-break { display:none; }
  .fn-about { grid-template-columns:1fr; gap:35px; }
  .fn-grid { grid-template-columns:1fr; }
  .fn-empty { align-items:flex-start; gap:18px; padding:26px 23px; }
  .fn-empty h3 { font-size:24px; }
  .fn-empty-mark { font-size:35px; }
  .fn-article-wrap { padding:36px 24px 0; }
  .fn-back { margin-bottom:30px; }
  .fn-deck { font-size:17px; }
  .fn-prose { font-size:16px; }
}
@media (max-width:370px) { .fn-territories { grid-template-columns:1fr; gap:24px; } .fn-filter { padding:8px 10px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
