/* Shared public-site navigation. Page content styles remain page-local. */
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.97);border-bottom:1px solid #dce6f5;box-shadow:0 4px 18px rgba(15,40,89,.06);backdrop-filter:blur(12px)}
.site-header .nav-wrap{width:min(1180px,92vw);height:72px;margin:auto;display:flex;align-items:center;gap:18px}
.site-header .brand-logo{display:flex;align-items:center;flex:none;max-width:245px;text-decoration:none}
.site-header .brand-logo img{display:block;width:235px;height:54px;object-fit:contain;object-position:left center}
.site-header .nav-links{margin-left:auto;display:flex;align-items:center;gap:18px}
.site-header .nav-links>a{height:72px;display:flex;align-items:center;color:#223356;text-decoration:none;font:600 14px/1.3 Inter,ui-sans-serif,system-ui,sans-serif;white-space:nowrap}
.site-header .nav-links>a:hover,.site-header .nav-links>a:focus-visible{color:#2563eb}
.site-header .nav-legal{position:relative;height:72px;display:flex;align-items:center}
.site-header .nav-legal-button{height:100%;display:flex;align-items:center;gap:5px;border:0;background:none;color:#223356;font:600 14px/1.3 Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer;padding:0}
.site-header .nav-arrow{font-size:17px;line-height:1;transition:transform .15s}
.site-header .nav-legal.open .nav-arrow{transform:rotate(180deg)}
.site-header .nav-legal-menu{display:none;position:absolute;top:calc(100% - 5px);left:50%;right:auto;transform:translateX(-50%);min-width:215px;padding:8px;background:#fff;border:1px solid #dce6f5;border-radius:13px;box-shadow:0 16px 38px rgba(20,45,95,.14)}
.site-header .nav-legal.open .nav-legal-menu{display:grid}
.site-header .nav-legal-menu a{padding:11px 12px;border-radius:8px;color:#223356;font:600 14px/1.4 Inter,ui-sans-serif,system-ui,sans-serif;text-decoration:none;white-space:nowrap}
.site-header .nav-legal-menu a:hover{background:#f1f5fb;color:#1e3a8a}
.site-header .nav-actions{display:flex;align-items:center;gap:9px;flex:none}
.site-header .nav-mobile-actions{display:none}
.site-header .nav-cta{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:44px;padding:10px 14px;border:1px solid transparent;border-radius:10px;text-decoration:none;font:800 14px/1.35 Inter,ui-sans-serif,system-ui,sans-serif;white-space:nowrap}
.site-header .nav-play{background:linear-gradient(135deg,#ff9f1c,#ed7100);color:#102653}
.site-header .nav-package{background:#edf3ff;border-color:#b9cdec;color:#173a89}
.site-header .nav-play:hover{filter:brightness(1.05);color:#102653}
.site-header .nav-package:hover{background:#dceaff;color:#173a89}
.site-header .mobile-menu{display:none;margin-left:auto;border:1px solid #c7d7ed;border-radius:9px;background:#fff;color:#173a89;padding:6px 10px;min-width:44px;min-height:44px;font-size:23px;line-height:1;cursor:pointer}
.site-header a:focus-visible,.site-header button:focus-visible{outline:3px solid #b66a00;outline-offset:3px;border-radius:5px}
html{scroll-padding-top:92px}main [id]{scroll-margin-top:92px}
@media(max-width:1240px){
  .site-header .nav-wrap{height:auto;min-height:64px;flex-wrap:wrap;gap:0;padding:7px 0;position:relative}
  .site-header .brand-logo img{width:180px;height:48px}
  .site-header .mobile-menu{display:block}
  .site-header .nav-actions{display:none}
  .site-header .nav-mobile-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px 8px 4px}
  .site-header .nav-mobile-actions .nav-cta{white-space:normal;text-align:center;padding:12px 10px}
  .site-header .nav-links{order:3;width:100%;margin:7px 0 0;display:flex;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-top:1px solid #dce6f5;padding:6px 0 10px;max-height:calc(100vh - 76px);overflow-y:auto}
  .site-header.has-js .nav-links:not(.open){display:none}
  .site-header .nav-links>a,.site-header .nav-legal{height:auto;min-height:44px;display:flex;align-items:center}
  .site-header .nav-links>a{padding:9px 8px}
  .site-header .nav-legal{display:block}
  .site-header .nav-legal-button{width:100%;min-height:44px;justify-content:flex-start;padding:9px 8px}
  .site-header .nav-legal-menu{position:static;transform:none;border:0;box-shadow:none;min-width:0;padding:0 0 5px 13px}
  .site-header .nav-legal-menu a{min-height:42px;display:flex;align-items:center;white-space:normal}
  html{scroll-padding-top:80px}main [id]{scroll-margin-top:80px}
}
@media(max-width:540px){.site-header .nav-mobile-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.site-header .nav-arrow{transition:none}}
