/* Cowboy AI long-form brand layer */
:root {
  --ink: #282922;
  --ink-soft: #55584f;
  --muted: #77776f;
  --paper: #f2eee5;
  --paper-2: #e9e3d8;
  --paper-3: #ded6c8;
  --white: #fbf8f2;
  --green: #657166;
  --green-dark: #475149;
  --sage: #d8ddd4;
  --sage-2: #c8d0c5;
  --gold: #b38b5a;
  --clay: #9a6149;
  --dust: #758084;
  --line: #d8d0c3;
  --shadow: 0 24px 70px rgba(50,43,34,.1);
  --radius: 8px;
  --container: min(1200px, calc(100vw - 56px));
  --serif: "Iowan Old Style", "Palatino Linotype", Baskerville, Georgia, "Times New Roman", serif;
  --sans: "Avenir Next", Avenir, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body {
  color: var(--ink);
  background:
    linear-gradient(rgba(62,55,45,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(62,55,45,.015) 1px, transparent 1px),
    var(--paper);
  background-size: 48px 48px;
  font-family: var(--sans);
}
::selection { background: #d8c7b6; color: var(--ink); }

.site-header {
  background: rgba(242,238,229,.94);
  border-bottom-color: rgba(103,96,84,.2);
  backdrop-filter: blur(16px);
}
.site-header.is-scrolled {
  background: rgba(242,238,229,.98);
  box-shadow: 0 8px 30px rgba(54,47,37,.06);
}
.nav { min-height: 88px; }
.brand { gap: 0; }
.brand-logo { width: 205px; height: auto; object-fit: contain; }
.nav-links { gap: 25px; font-size: .79rem; font-weight: 700; letter-spacing: .025em; }
.nav-links a:not(.nav-cta) { color: #44463f; border-bottom: 1px solid transparent; }
.nav-links a:not(.nav-cta):hover { color: var(--ink); border-bottom-color: var(--clay); }
.nav-cta {
  color: #faf7f0 !important;
  background: var(--ink) !important;
  border-radius: 2px !important;
  padding: 13px 18px !important;
}
.nav-toggle { border-radius: 2px; background: rgba(251,248,242,.72); }

.content-main { padding-top: 88px; }
.content-hero {
  position: relative;
  overflow: hidden;
  padding: 88px 0 68px;
  border-bottom-color: var(--line);
  background:
    linear-gradient(90deg, rgba(242,238,229,.98) 0%, rgba(242,238,229,.92) 50%, rgba(242,238,229,.66) 100%),
    url("/assets/system-map.svg") right center / 56% auto no-repeat,
    var(--paper);
}
.content-hero::after {
  content: "FIELD GUIDE";
  position: absolute;
  right: max(28px, calc((100vw - 980px)/2));
  top: 36px;
  color: rgba(92,84,72,.42);
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .2em;
}
.content-hero h1,
.article-body h2,
.aside-card h3,
.resource-card h3,
.hub-card h2,
.whitepaper-cover h2,
.gate-copy h2,
.gate-card-header h2 {
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -.03em;
}
.content-hero h1 {
  color: var(--ink);
  font-size: clamp(3rem,5.6vw,5.25rem);
  line-height: .98;
}
.content-hero .lede { color: var(--ink-soft); }
.breadcrumbs { color: var(--muted); font-size: .69rem; letter-spacing: .06em; text-transform: uppercase; }
.breadcrumbs a:hover { color: var(--clay); }
.content-tags span {
  border-color: #cfc5b6;
  border-radius: 2px;
  background: rgba(251,248,242,.5);
  color: #66675f;
  font-size: .69rem;
  letter-spacing: .03em;
}

.content-shell { gap: 70px; padding-top: 72px; }
.article-body h2 {
  margin-top: 62px;
  color: var(--ink);
  font-size: clamp(2rem,3.4vw,2.9rem);
  line-height: 1.08;
}
.article-body h3 {
  color: var(--clay);
  font-family: var(--sans);
  font-size: .83rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.article-body p, .article-body li { color: #4f534c; line-height: 1.82; }
.article-body a { color: #4d5d53; text-decoration-color: #9f715b; }
.article-body code {
  border-color: #d4c8b9;
  border-radius: 2px;
  background: #e9e2d6;
  color: #4a564d;
}
.article-body pre {
  border-radius: 2px;
  background: #2d302b;
}
.callout {
  border-color: #c9c7bd;
  border-left: 3px solid var(--green);
  border-radius: 2px;
  background: #e4e7e1;
}
.callout.warning {
  border-color: #d6c6b4;
  border-left-color: var(--clay);
  background: #eee4d7;
}
.callout-title { color: var(--clay) !important; letter-spacing: .12em; }
.checklist li::before { color: var(--clay); }
.step-list li {
  border-color: var(--line);
  border-radius: 2px;
  background: rgba(251,248,242,.55);
}
.step-list li::before {
  border-radius: 2px;
  color: #f8f3eb;
  background: var(--ink);
}
.decision-table th, .decision-table td { border-color: #d5ccbf; }
.decision-table th { color: var(--ink); background: #dfe2dc; }
.decision-table tr:nth-child(even) td { background: rgba(251,248,242,.5); }

.content-aside { top: 126px; }
.aside-card,
.resource-card,
.hub-card,
.gate-card {
  border-color: #cfc5b7;
  border-radius: 2px;
  background: rgba(251,248,242,.72);
  box-shadow: 0 14px 40px rgba(55,47,37,.045);
}
.aside-card h3, .resource-card h3 { color: var(--ink); }
.aside-card p, .resource-card p, .hub-card p { color: var(--ink-soft); }
.aside-links a, .resource-card a, .hub-card a { color: #4f5b52; }

.button {
  border-radius: 2px;
  font-size: .78rem;
  font-weight: 780;
  letter-spacing: .04em;
}
.button.primary { color: #fbf8f2; background: var(--ink); }
.button.primary:hover { background: #3e3f37; }
.button.secondary { color: var(--ink); border-color: #8f887c; background: transparent; }

.resource-section {
  border-top-color: var(--line);
  background: #e6dfd3;
}
.resource-grid { gap: 14px; }
.resource-card { min-height: 210px; }
.hub-grid { gap: 14px; }
.hub-card { border-top: 3px solid var(--clay); }
.hub-card .eyebrow, .eyebrow { color: var(--clay); letter-spacing: .16em; }

.whitepaper-cover {
  border-color: #c9b9a7;
  border-radius: 2px;
  background:
    linear-gradient(120deg, rgba(228,231,225,.94), rgba(239,229,216,.94)),
    url("/assets/system-map.svg") right center / 54% auto no-repeat;
}
.source-list { border-top-color: var(--line); }

.gate-shell { padding-top: 72px; }
.gate-card { border-top: 3px solid var(--clay); }
.gate-card-header {
  border-bottom-color: #ded5c8;
  background: #e8e1d6;
}
.gate-unlocked {
  background:
    linear-gradient(145deg, rgba(223,226,220,.94), rgba(240,230,216,.94)),
    url("/assets/system-map.svg") center / cover no-repeat;
}
.gate-badge {
  border-radius: 2px;
  color: #f8f2e9;
  background: var(--ink);
}
.gate-note {
  border-color: #d7ccbe;
  border-radius: 2px;
  background: rgba(251,248,242,.55);
}

.site-footer {
  border-top-color: #cfc5b6;
  background: #ded6c9;
}
.footer-grid p { color: #66665e; font-size: .73rem; }

@media (max-width: 900px) {
  :root { --container: min(100% - 36px,1200px); }
  .nav { min-height: 78px; }
  .nav-links {
    top: 76px;
    border-radius: 2px;
    background: rgba(247,243,235,.99);
  }
  .content-main { padding-top: 78px; }
  .content-hero { padding-top: 68px; }
}

@media (max-width: 640px) {
  :root { --container: min(100% - 28px,1200px); }
  .brand-logo { width: 176px; }
  .content-hero {
    padding: 56px 0 44px;
    background:
      linear-gradient(rgba(242,238,229,.94), rgba(242,238,229,.94)),
      url("/assets/system-map.svg") center / cover no-repeat;
  }
  .content-hero::after { display: none; }
}

