/* Guest-only shell. Account pages retain the existing V4 navigation. */
body.site-v4.v4-guest { background: #fff; padding-bottom: 0; }
body.site-v4.v4-guest .main { margin: 0; padding: 0; }
body.site-v4.v4-guest .top { position: relative; inset: auto; width: 100%; max-width: 1440px; height: 88px; margin: 0 auto; padding: 0 48px; justify-content: space-between; gap: 24px; background: #fff; border: 0; }
body.site-v4.v4-guest .top::before, body.site-v4.v4-guest .top .menu, body.site-v4.v4-guest .mobileMenuButton, body.site-v4.v4-guest .v4-menu-toggle, body.site-v4.v4-guest .v4-mobile-nav { display: none !important; }
body.site-v4.v4-guest .top .logo { position: static; flex: 1; width: auto; max-width: 360px; min-width: 0; color: #252830; font-size: 24px; }
body.site-v4.v4-guest .top .myInfo { flex-shrink: 0; }
body.site-v4.v4-guest .top .login { min-height: 44px; background: #fff; color: #252830; border: 1px solid #d8ddda; }
body.site-v4.v4-guest .top .login.register { background: #a1274d; border-color: #a1274d; color: #fff; }
body.site-v4.v4-guest[data-v4-page=home] .v4-page-header { display: none !important; }
body.site-v4.v4-guest:not([data-v4-page=home]) .v4-page-header, body.site-v4.v4-guest:not([data-v4-page=home]) .loader { width: calc(100% - 96px); max-width: 1240px; margin: 0 auto; }
body.site-v4.v4-guest .v4-search-toggle { display: none !important; }
body.site-v4 .v4-front { width: 100%; }
body.site-v4 .v4-front-hero { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 520px; height: min(740px, calc(100svh - 190px)); overflow: hidden; background: #233b31; color: #fff; }
body.site-v4 .v4-front-image { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center top; }
body.site-v4 .v4-front-inner { width: 100%; max-width: 1440px; margin: 0 auto; padding: 48px; }
body.site-v4 .v4-front-copy { width: 49%; max-width: 660px; min-width: 0; }
body.site-v4 .v4-front-copy h1 { margin: 0 0 18px; font: 700 64px/1.12 var(--v4-font); color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; overflow-wrap: normal; }
body.site-v4 .v4-front-intro { margin: 0 0 32px; color: #fff; font: 400 30px/1.3 'V4 Serif', Georgia, serif; }
body.site-v4 .v4-front-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
body.site-v4 .v4-front-actions a { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 52px; padding: 13px 20px; border-radius: 5px; font: 600 16px/1.5 var(--v4-font); text-decoration: none; }
body.site-v4 a.v4-front-primary { background: #a1274d; color: #fff; border: 1px solid #b95b76; }
body.site-v4 a.v4-front-primary:hover { background: #851c3d; }
body.site-v4 a.v4-front-secondary { color: #fff; background: #233b3166; border: 1px solid #ffffff80; }
body.site-v4 a.v4-front-secondary:hover { background: #233b31; }
body.site-v4 .v4-front .v4-icon { flex: 0 0 20px; width: 20px; height: 20px; }
body.site-v4 .v4-front-disclosure { display: flex; align-items: center; gap: 12px; max-width: 430px; margin-top: 28px; font-size: 13px; color: #fff; }
body.site-v4 .v4-front-age { display: inline-flex; justify-content: center; align-items: center; width: 38px; height: 38px; flex: 0 0 38px; border: 1px solid #ffffff80; border-radius: 50%; font-size: 12px; }
body.site-v4 .v4-front-about { display: grid; grid-template-columns: minmax(200px, 1fr) minmax(0, 2.1fr); gap: 64px; max-width: 1344px; padding: 56px 48px; margin: 0 auto; }
body.site-v4 .v4-front-about-heading img { display: block; }
body.site-v4 .v4-front-about h2 { margin: 18px 0; font: 600 26px/1.25 var(--v4-font); }
body.site-v4 .v4-front-about-heading a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font-weight: 600; }
body.site-v4 .v4-front-about-text { color: #55615b; font-size: 14px; line-height: 1.85; overflow-wrap: anywhere; }
body.site-v4 .v4-front-about-text p { margin: 0 0 16px; }
body.site-v4 .v4-front-about-text p:last-child { margin: 0; font-size: 12px; }
body.site-v4 .v4-front-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; max-width: 1248px; margin: 0 auto; padding: 22px 0; border-top: 1px solid #dfe4dd; }
body.site-v4 .v4-front-domain { min-width: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; color: #55615b; }
body.site-v4 .v4-front-footer nav { display: flex; flex-wrap: wrap; gap: 8px 24px; }
body.site-v4 .v4-front-footer a { display: inline-flex; align-items: center; min-height: 44px; color: #55615b; }
body.site-v4 .v4-front a:focus-visible { outline-color: #fff; }
body.site-v4 .v4-front-about a:focus-visible, body.site-v4 .v4-front-footer a:focus-visible { outline-color: #a1274d; }
@media (max-width: 1344px) {
  body.site-v4 .v4-front-footer { margin-inline: 48px; }
}
@media (max-width: 760px) {
  body.site-v4.v4-guest .top { height: 76px; padding: 0 20px; gap: 16px; }
  body.site-v4.v4-guest .top .logo { max-width: none; font-size: 22px; }
  body.site-v4.v4-guest .top .myInfo { gap: 0; }
  body.site-v4.v4-guest .top .login.register { display: none; }
  body.site-v4.v4-guest:not([data-v4-page=home]) .v4-page-header, body.site-v4.v4-guest:not([data-v4-page=home]) .loader { width: calc(100% - 40px); }
  body.site-v4 .v4-front-hero { align-items: flex-end; height: min(640px, calc(100svh - 160px)); min-height: 400px; }
  body.site-v4 .v4-front-image { object-position: 76% top; }
  body.site-v4 .v4-front-inner { padding: 24px 20px; background: #173d32ed; }
  body.site-v4 .v4-front-copy { width: 100%; max-width: none; }
  body.site-v4 .v4-front-copy h1 { font-size: 38px; margin-bottom: 8px; }
  body.site-v4 .v4-front-intro { margin-bottom: 20px; font-size: 24px; }
  body.site-v4 .v4-front-actions { gap: 12px; }
  body.site-v4 .v4-front-actions a { min-height: 48px; padding: 11px 14px; font-size: 14px; gap: 10px; }
  body.site-v4 .v4-front-disclosure { margin-top: 20px; font-size: 12px; }
  body.site-v4 .v4-front-about { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 32px 20px; }
  body.site-v4 .v4-front-about-heading { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 0 14px; align-items: center; }
  body.site-v4 .v4-front-about h2 { margin: 0; font-size: 23px; }
  body.site-v4 .v4-front-about-heading a { grid-column: 2; }
  body.site-v4 .v4-front-footer { margin-inline: 20px; gap: 8px; }
  body.site-v4 .v4-front-footer nav { gap: 2px 20px; }
}
@media (max-width: 359px) {
  body.site-v4 .v4-front-actions { gap: 8px; }
  body.site-v4 .v4-front-actions a { font-size: 13px; padding-inline: 12px; gap: 8px; }
}
