.pub { background: #f6f2ea; color: #14211c; }
.pubbar, .pubfoot {
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  padding: 16px 28px; background: #10241c; color: #f7f2e8;
}
.pubbar { position: sticky; top: 0; z-index: 20; }
.pubnav { display: flex; gap: 18px; align-items: center; font-size: 14px; }
.pubnav a { color: #f7f2e8; text-decoration: none; }
.pubbtn, .pubnav a.pubbtn { border: 1px solid #d7c4a1; padding: 8px 12px; letter-spacing: 0.06em; text-transform: uppercase; font-size: 12px; }
.hero { position: relative; min-height: 78vh; display: grid; align-items: end; }
.hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-copy { position: relative; max-width: 740px; margin: 12vh 7vw 8vh; color: white; text-shadow: 0 10px 28px rgba(0,0,0,.45); }
.hero-copy h1 { font-size: 58px; line-height: 0.95; color: white; }
.hero-copy p { font-size: 18px; max-width: 540px; }
.hero-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.btn.ghost { background: transparent; color: white; border: 1px solid rgba(255,255,255,.7); text-decoration: none; display: inline-block; }
.band { display: grid; grid-template-columns: repeat(4, 1fr); background: #10241c; color: #f7f2e8; }
.band div { padding: 22px 20px; border-right: 1px solid rgba(215,196,161,.25); }
.band b { display: block; font-family: Palatino, Georgia, serif; font-size: 28px; font-weight: 500; }
.band span { color: #d7c4a1; font-size: 13px; }
.block { padding: 64px 7vw; }
.block.alt { background: #fffdf8; border-top: 1px solid #e4dece; border-bottom: 1px solid #e4dece; }
.block h2, .page h1 { font-family: Palatino, Georgia, serif; font-weight: 500; }
.block h2 { font-size: 40px; margin: 0 0 18px; }
.block h3 { font-family: Palatino, Georgia, serif; font-weight: 500; font-size: 26px; margin: 0 0 8px; }
.block .card p, .prose p { color: #4e4c46; line-height: 1.6; }
.page { padding: 48px 7vw 72px; max-width: 980px; }
.page h1 { font-size: 46px; margin: 0 0 12px; }
.pubfoot { font-size: 12px; color: #d7c4a1; }
.pubfoot a { color: #f7f2e8; text-decoration: none; margin-left: 14px; }
@media (max-width: 860px) {
  .pubbar, .pubfoot { flex-wrap: wrap; padding: 12px; }
  .pubnav { width: 100%; overflow-x: auto; gap: 14px; }
  .hero-copy h1, .page h1 { font-size: 34px; }
  .band { grid-template-columns: 1fr 1fr; }
  .block, .page { padding: 36px 16px; }
  .block h2 { font-size: 30px; }
}

.pubbar { background:#0c1a15; border-bottom:1px solid rgba(215,196,161,.35); }
.hero-copy h1 { font-weight:500; letter-spacing:-0.03em; }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(12,26,21,.55), rgba(12,26,21,.05)); }
.hero-copy, .hero img { z-index:1; }
.hero-copy { z-index:2; }
.band b { letter-spacing:-0.03em; }
