/* The public header keeps the same geometry and typography on every page. */
body .camp-public-header {
  padding-inline: 12px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--season-ink, #293c33);
}
body .camp-public-header a { text-decoration: none; }
body .camp-public-header a[aria-current="page"] { color: var(--season-deep, #244b36); }
body .camp-public-header :is(.camp-header-icon-button, .camp-public-header-cta) { color: #fff; }
body[data-season] .camp-public-header .camp-mobile-menu {
  width: min(24rem, calc(100vw - 24px));
  max-height: calc(100svh - 110px);
  overflow-y: auto;
  background: var(--season-paper);
}
.camp-public-header [data-menu-close],
.camp-public-header [data-public-menu].is-open [data-menu-bars] { display:none; }
.camp-public-header [data-public-menu].is-open [data-menu-close] { display:block; }
body.prep-public > main { padding-top: 112px; }
body.prep-public .prep-public-aside { top: 112px; }
body.prep-public .prep-section { scroll-margin-top: 112px; }
@media(max-width:760px) { body.prep-public .prep-public-aside { top:auto; } }
.prep-skip:focus { z-index: 60; }
@media(min-width:640px) { body .camp-public-header { padding-inline:16px; } }
@media(min-width:1024px) { body .camp-public-header { padding-inline:20px; } }
@media print { body .camp-public-header { display:none; } body.prep-public > main { padding-top:0; } }

/* Shared footer uses the same type and gutters even on the parent guide. */
body .camp-public-footer { padding-inline:12px; font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; }
body .camp-public-footer .camp-footer-frame { max-width:none; box-shadow:0 -.35rem 1.25rem rgb(12 24 19 / 10%); }
body .camp-public-footer .camp-footer-contact-panel { box-shadow:none; }
body .camp-public-footer a { text-decoration:none; }
@media(min-width:640px) { body .camp-public-footer { padding-inline:16px; } }
@media(min-width:1024px) { body .camp-public-footer { padding-inline:20px; } }
