:root {
  --ink: #1E2833; --paper: #FAFBFC; --oxide: #A6432C; --oxide-lt: #C86046;
  --lake: #2E5F7A; --ice: #E8EEF2; --line: #D4DDE3; --muted: #5B6B78; --good: #2E6B4F;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper);
       font: 17px/1.65 -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
h1, h2, h3 { font-family: "Iowan Old Style", Palatino, "Palatino Linotype", Georgia, serif; text-wrap: balance; margin: 0 0 0.4em; }
img { max-width: 100%; height: auto; }
a { color: var(--lake); }
.wrap { max-width: 1040px; margin: 0 auto; padding: 0 20px; }
.btn { display: inline-block; background: var(--oxide); color: #fff; text-decoration: none;
       font-weight: 700; padding: 14px 26px; border-radius: 6px; font-size: 1.05rem; }
.btn:hover { background: #8A3722; }
.btn.ghost { background: transparent; border: 2px solid rgba(255,255,255,0.5); }
.btn.ghost:hover { background: rgba(255,255,255,0.1); }

header { background: var(--ink); position: sticky; top: 0; z-index: 10; }
.nav { display: flex; align-items: center; justify-content: space-between; padding: 10px 20px; max-width: 1040px; margin: 0 auto; }
.nav .brand { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; }
.nav .brand img { height: 40px; }
.nav .brand b { font-family: Georgia, serif; font-size: 1.15rem; letter-spacing: 0.02em; white-space: nowrap; }
@media (max-width: 420px) { .nav .brand b { font-size: 0.98rem; } }
.nav .brand b span { color: var(--oxide-lt); }
.nav .links a { color: #B8C5CF; text-decoration: none; margin-left: 22px; font-size: 0.95rem; font-weight: 600; }
.nav .links a.cta { color: var(--oxide-lt); }
@media (max-width: 640px) { .nav .links a:not(.cta) { display: none; } }
.stripe { height: 8px; background: var(--oxide); }

.eyebrow { color: var(--oxide); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.78rem; }

/* blog index */
.bloghead { background: var(--ink); color: #fff; padding: 48px 0 56px; }
.bloghead h1 { color: #fff; font-size: clamp(1.9rem, 5vw, 2.8rem); margin: 10px 0 12px; }
.bloghead p { color: #B8C5CF; max-width: 40em; font-size: 1.1rem; margin: 0; }
.cards { display: grid; gap: 22px; padding: 48px 0 64px; }
.card { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 24px 26px; }
.card .eyebrow { font-size: 0.72rem; }
.card h2 { font-size: 1.35rem; margin: 6px 0 8px; }
.card h2 a { color: var(--ink); text-decoration: none; }
.card h2 a:hover { color: var(--oxide); }
.card p { color: var(--muted); margin: 0 0 10px; }
.card .more { font-weight: 700; text-decoration: none; }

/* article */
.article { padding: 48px 0 32px; }
.article .wrap { max-width: 760px; }
.article h1 { font-size: clamp(1.8rem, 4.5vw, 2.5rem); line-height: 1.15; margin: 8px 0 10px; }
.article .meta { color: var(--muted); font-size: 0.92rem; margin: 0 0 28px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.article h2 { font-size: 1.4rem; margin-top: 1.6em; }
.article p { margin: 0.9em 0; }
.article ul { padding-left: 22px; }
.article li { margin: 0.45em 0; }
.article .big { background: var(--ice); border-left: 4px solid var(--oxide); border-radius: 0 8px 8px 0;
                padding: 16px 20px; font-size: 1.06rem; margin: 1.4em 0; }
figure.fig { margin: 1.8em 0; }
.fig img { width: 100%; height: auto; display: block; border-radius: 10px; border: 1px solid var(--line); }
.fig figcaption { color: var(--muted); font-size: 0.88rem; margin-top: 9px; text-align: center; }
.card img.thumb { width: 100%; height: auto; display: block; border-radius: 8px; border: 1px solid var(--line); margin-bottom: 16px; }
.ctabox { background: var(--lake); color: #fff; border-radius: 10px; padding: 28px 30px; margin: 2.2em 0 1em;
          display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.ctabox h3 { color: #fff; margin: 0 0 4px; }
.ctabox p { margin: 0; color: #DCE7EE; max-width: 36em; }
.backlink { display: inline-block; margin: 10px 0 40px; font-weight: 600; text-decoration: none; }

footer { background: var(--ink); color: #93A3B0; padding: 44px 0; margin-top: 40px; font-size: 0.92rem; }
footer .wrap { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; align-items: center; }
footer img { height: 88px; }
footer a { color: #6FA3C0; }
