/* Editorial finish: warm paper, botanical ink and restrained brass details.
   Loaded before mobile.css so the mobile shell and overflow rules take priority. */
:root {
  --font-heading: 'Cormorant Garamond', Georgia, serif;
  --primary: #174f50;
  --primary-dark: #103b3d;
  --primary-light: #33706b;
  --primary-subtle: #edf2ed;
  --accent: #b89855;
  --accent-dark: #957335;
  --accent-light: #f5efdf;
  --gold: #b89855;
  --gold-subtle: #f8f3e8;
  --slate-900: #203532;
  --slate-700: #40524e;
  --slate-600: #5b6862;
  --slate-200: #e2e5dd;
  --slate-50: #faf9f6;
  --shadow-sm: 0 3px 12px rgb(20 48 37 / 3%);
  --shadow-md: 0 8px 24px rgb(20 48 37 / 5%);
  --shadow-lg: 0 14px 36px rgb(20 48 37 / 7%);
}
body { background: #faf9f6; }
.top-bar { background: #103639; border-bottom: 1px solid #ffffff12; }
.top-bar .badge-tag { background: transparent; color: #e0cc99; border-color: #d2ba8240; font-size: 10px; letter-spacing: .12em; }
.site-header { box-shadow: 0 3px 18px #142f2506; border-bottom-color: #dfe3d9; }
.btn { border-radius: 6px; font-weight: 600; letter-spacing: .015em; transition: background .2s, color .2s, border-color .2s, box-shadow .2s; }
.btn-primary { box-shadow: none; border-color: #174f50; }
.btn-primary:hover { transform: none; box-shadow: 0 4px 14px #103b3d14; }
.btn-accent { background: #d2ba82; color: #173b39; border-color: #d2ba82; }
.btn-accent:hover { background: #dfcb9c; color: #103b3d; border-color: #dfcb9c; transform: none; }
.btn-outline { border-color: #b3c1b6; }
.btn-outline-white { border-color: #ffffff55; }
.hero-section { background: linear-gradient(115deg, #102c30, #16494a); }
.hero-pattern-bg { opacity: .035; }
.hero-glow { opacity: .35; }
.hero-tagline-quote { color: #e6d5ad; }
.hero-badge { background: #ffffff08; border-color: #ffffff22; letter-spacing: .075em; }
.hero-badge .dot { box-shadow: none; }
.hero-description, .section-description, .card-text, .page-hero-desc, .issue-excerpt {
  font-family: var(--font-academic);
  line-height: 1.85;
}
.hero-cover-display { border-color: #b8985566; box-shadow: 0 12px 30px #00000026; }
.hero-card { border-color: #ffffff22; box-shadow: 0 12px 34px #00000020; }
.cover-badge-float { color: #e6d5ad; border-color: #b8985599; }
.page-hero { background: linear-gradient(115deg, #102c30, #16494a); }
.page-hero::after { height: 2px; background: linear-gradient(90deg, transparent, #b89855, transparent); }
.section-title, .page-hero-title { font-weight: 600; letter-spacing: -.025em; }
.section-subtitle { font-size: 10px; letter-spacing: .18em; font-weight: 600; color: #74613b; }
.section-dark .section-subtitle { color: #d2ba82; }
.card-title, .hero-card-title, .pricing-title, .issue-featured-title, .toc-entry-title, .article-card-title, .issue-card-title {
  font-family: var(--font-heading); font-weight: 600; letter-spacing: -.015em;
}
.card, .pillar-card, .leader-card, .member-card, .article-preview-card, .pricing-card, .issue-featured-card, .toc-entry-card {
  border-color: #e2e5dd; box-shadow: 0 4px 20px #183e2905;
}
.card:hover, .pillar-card:hover, .leader-card:hover, .member-card:hover, .article-preview-card:hover, .toc-entry-card:hover {
  transform: none; border-color: #b8c7b7; box-shadow: 0 8px 26px #183e290a;
}
.card-icon { background: #edf2ed; border: 1px solid #dfe7db; }
.pricing-card.featured { border-color: #b89855; box-shadow: 0 8px 30px #b8985510; }
.tariff-table th { background: #173e3f; }
.tariff-table td { border-bottom-color: #e7e8e0; }
.form-control { border-color: #dce2d7; box-shadow: none; }
.form-control:focus { border-color: #819d87; box-shadow: 0 0 0 3px #174f500c; }
.site-footer { background: #102f32; }
.footer-heading::after { background: #b89855; }
.footer-links a:hover { color: #e6d5ad; }
/* A distinct masthead and navigation tier gives the menu space to breathe. */
@media (min-width: 1025px) {
  html { scroll-padding-top: 155px; }
  .header-inner { flex-wrap: wrap; gap: 0; padding-top: 18px; padding-bottom: 0; }
  .brand-wrapper { gap: 20px; }
  .brand-emblem-img { width: 46px; height: 46px; }
  .journal-title { font-size: 1.9rem; }
  .journal-tagline { margin-top: 7px; letter-spacing: .13em; }
  .header-actions { margin-left: auto; }
  .header-actions > .btn { padding: 11px 20px; font-size: 11px; letter-spacing: .055em; }
  .main-nav { order: 3; flex: 0 0 100%; justify-content: center; margin-top: 17px; border-top: 1px solid #e7e8e0; }
  .nav-list { width: 100%; justify-content: center; flex-wrap: wrap; gap: clamp(2px, .9vw, 16px); }
  .main-nav .nav-link {
    position: relative; padding: 16px 10px 17px; border-radius: 0;
    font-family: var(--font-academic); font-size: 14px; font-weight: 400;
    color: #42534d; letter-spacing: .005em; background: transparent;
    transition: color .2s;
  }
  .main-nav .nav-link::after {
    content: ''; position: absolute; bottom: 0; left: 10px; right: 10px;
    height: 2px; background: #b89855; transform: scaleX(0); transition: transform .2s;
  }
  .main-nav .nav-link:hover, .main-nav .nav-link.active { background: transparent; color: #103b3d; font-weight: 400; }
  .main-nav .nav-link:hover::after, .main-nav .nav-link.active::after { transform: scaleX(1); }
  .main-nav .nav-link:focus-visible { outline-offset: -4px; }
  .dropdown-menu { padding: 10px; min-width: 280px; background: #fffefa; border-radius: 8px; border-color: #e5e4d9; box-shadow: 0 16px 40px #173b3914; }
  .dropdown-link { font-family: var(--font-academic); font-size: 13px; font-weight: 400; padding: 10px 12px; }
  .dropdown-link:hover { padding-left: 12px; background: #f1f3eb; }
  .dropdown-desc { font-family: var(--font-sans); font-size: 10px; line-height: 1.65; color: #738078; margin-top: 5px; }
  .has-dropdown:focus-within > .dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); }
  .hero-section { padding-top: 66px; padding-bottom: 72px; }
  .card-title { font-size: 1.65rem; }
}
@media (prefers-reduced-motion: reduce) {
  .main-nav .nav-link::after { transition: none; }
}
