.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; padding: .65rem 1rem; color: #172019; background: #f8f7f2; }
.skip-link:focus { top: 1rem; }
.portal-link { border: 1px solid rgba(233,226,206,.55); padding: .45rem .7rem !important; }
.site-header.is-solid .portal-link { border-color: rgba(23,32,25,.35); }
.public-boundary { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(320px, .8fr); gap: clamp(40px, 7vw, 110px); align-items: end; padding: clamp(80px, 10vw, 140px) clamp(22px, 8vw, 132px); color: #e9e2ce; background: #101710; border-top: 1px solid rgba(233,226,206,.16); }
.public-boundary h2 { max-width: 720px; margin: 0; font: 400 clamp(2.1rem, 4.2vw, 4rem)/1.2 "Noto Serif SC", serif; }
.public-boundary h2 span { display: block; }
.public-boundary h2 em { color: #f4ead7; font-style: normal; }
.public-boundary p:not(.kicker) { max-width: 600px; margin: 26px 0 0; color: rgba(233,226,206,.65); line-height: 1.95; }
.public-boundary .kicker { margin: 0 0 20px; color: #c9a386; font-size: .68rem; letter-spacing: .16em; }
.public-boundary-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 16px; }
.public-boundary-actions a { width: min(100%, 360px); display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 0; color: #e9e2ce; border-top: 1px solid rgba(233,226,206,.32); border-bottom: 1px solid rgba(233,226,206,.32); }
.public-boundary-actions b { font: 400 1.2rem "Noto Serif SC", serif; }
.public-boundary-actions span { color: #c9a386; font-size: 1.15rem; }
.legacy-nav-toggle { display: none; }
@media (max-width: 800px) {
  .site-header .site-nav { gap: 12px; font-size: .68rem; }
  .public-boundary { grid-template-columns: 1fr; }
  .public-boundary-actions { justify-content: flex-start; }
}
@media (max-width: 1100px) {
  .site-header .site-nav { display: none; }
  .legacy-nav-toggle { display: block; flex-shrink: 0; width: 44px; height: 44px; border: 1px solid currentColor; background: transparent; }
  .legacy-nav-toggle span { display: block; width: 18px; height: 1px; margin: 5px auto; background: currentColor; }
  .site-header.nav-open .site-nav { position: absolute; inset: 100% 0 auto; display: grid; gap: 0; padding: 12px 22px 18px; color: #e9e2ce; background: rgba(16,23,16,.96); border-bottom: 1px solid rgba(233,226,206,.2); }
  .site-header.nav-open .site-nav a { padding: 12px 0; }
}
