/* "fieldnote" theme — loaded after style.css; layouts in templates/themes/fieldnote/. */
@font-face { font-family: "Lora"; src: url("../fonts/lora.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Lora"; src: url("../fonts/lora.woff2") format("woff2"); font-weight: 100 900; font-style: italic; font-display: swap; }

:root { --bg:#f6f1e4; --surface:#fbf8ef; --text:#2a2a22; --muted:#6b6a55; --line:#dcd3bb; --accent:#3f6212; --accent-2:#b45309;
  --hub:#3f6212; --radius:4px; --pros:#3f6212; --cons:#9a3412; color-scheme: light; }
body { font-family: "Lora", Georgia, serif; background: var(--bg); color: var(--text); font-size: 17px; }
h1, h2, h3, .n-card-title, .card-title, .topic-name { font-family: "Lora", Georgia, serif; font-weight: 700; letter-spacing: 0; }
.n-header { text-align: center; padding: 22px 16px 0; border-bottom: 3px double var(--line); background: var(--surface); }
.n-motto { margin: 0 0 8px; font-variant: small-caps; letter-spacing: .12em; color: var(--muted); font-size: 15px; }
.n-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--text); text-decoration: none; font-style: italic; font-weight: 700; font-size: 38px; }
.n-brand img { border-radius: 50%; border: 2px solid var(--line); }
.n-brand.small { font-size: 22px; }
.n-nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 0; margin-top: 14px; border-top: 1px solid var(--line); }
.n-nav a { color: var(--text); text-decoration: none; font-variant: small-caps; letter-spacing: .06em; padding: 10px 16px; font-size: 16px; }
.n-nav a + a { border-left: 1px solid var(--line); }
.n-nav a:hover, .n-nav a.active { color: var(--accent); text-decoration: underline; text-underline-offset: 5px; }
.n-disclosure { color: var(--muted); font-size: 13px; font-style: italic; text-align: center; padding: 8px 0; border-bottom: 1px solid var(--line); }
.n-cols { display: grid; grid-template-columns: 1.6fr 1fr; gap: 48px; padding-top: 40px; padding-bottom: 50px; }
.n-intro h1 { font-size: clamp(2.3rem, 5vw, 3.6rem); line-height: 1.08; margin: 0 0 16px; }
.n-intro h1 em { color: var(--accent); }
.n-lede { font-size: 19px; color: var(--muted); border-left: 3px solid var(--accent-2); padding-left: 16px; }
.n-lede::first-letter { float: left; font-size: 3.2em; line-height: .85; padding: 4px 8px 0 0; color: var(--accent-2); font-weight: 700; }
.n-title { font-size: 15px; font-variant: small-caps; letter-spacing: .14em; color: var(--accent-2); border-bottom: 1px solid var(--line); padding-bottom: 8px; margin: 36px 0 14px; font-weight: 700; }
.n-list { display: grid; gap: 0; }
.n-card { display: grid; grid-template-columns: 130px 1fr; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--line); text-decoration: none; color: var(--text); }
.n-card:hover .n-card-title { color: var(--accent); }
.n-card-img { width: 130px; height: 100px; object-fit: cover; border: 6px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,.12); transform: rotate(-1.5deg); filter: sepia(.15); display: block; }
.n-ph { display: grid; place-items: center; background: #efe7d2; color: var(--accent); }
.n-card-body { display: flex; flex-direction: column; gap: 4px; }
.n-kicker { font-variant: small-caps; letter-spacing: .08em; color: var(--muted); font-size: 14px; }
.n-card-title { font-size: 21px; line-height: 1.25; }
.n-card-text { color: var(--muted); font-size: 15px; font-style: italic; }
.n-index ol { list-style: none; padding: 0; margin: 0; }
.n-index > ol li a { display: grid; gap: 2px; padding: 12px 0; border-bottom: 1px dotted var(--line); text-decoration: none; color: var(--text); }
.n-index > ol li a:hover b { color: var(--accent); }
.n-no { font-variant: small-caps; color: var(--accent-2); font-size: 14px; } .n-index small { color: var(--muted); font-size: 14px; }
.n-note { margin-top: 28px; background: var(--surface); border: 1px solid var(--line); padding: 18px 20px; box-shadow: 4px 4px 0 var(--line); }
.n-note h3 { margin: 0 0 8px; font-style: italic; } .n-note ol { list-style: decimal; padding-left: 20px; } .n-note li { margin: 6px 0; font-size: 15px; }
.n-footer { border-top: 3px double var(--line); background: var(--surface); padding: 36px 0 18px; color: var(--muted); }
.n-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 30px; }
.n-footer h3 { font-variant: small-caps; letter-spacing: .1em; font-size: 16px; margin: 0 0 8px; color: var(--text); }
.n-footer nav a { display: block; color: var(--muted); text-decoration: none; padding: 3px 0; } .n-footer nav a:hover { color: var(--accent); }
.n-fine { border-top: 1px solid var(--line); margin-top: 22px; padding-top: 12px; font-style: italic; }
.button.buy { background: var(--accent); color: #fff; border-radius: 3px; font-family: "Lora", Georgia, serif; } .button.buy:hover { background: #2f4a0d; color: #fff; }
@media (max-width: 820px) { .n-cols, .n-footer-grid { grid-template-columns: 1fr; } .n-card { grid-template-columns: 96px 1fr; } .n-card-img { width: 96px; height: 76px; } .n-brand { font-size: 30px; } }
