/* HitsBay V295.17 — shared visual system.
   Opted-in routes only; admin, login, banner/splashpage editors and custom blog designs are excluded.
   Future sections may use .hb17-card, .hb17-btn, .hb17-input, .hb17-pill and .hb17-section-title.
*/
body.hb29517-system {
  --hb17-ink:#20314c;
  --hb17-muted:#64748b;
  --hb17-navy:#101d35;
  --hb17-navy-2:#192c4b;
  --hb17-sky:#37cedd;
  --hb17-gold:#f0c46c;
  --hb17-purple:#9170e9;
  --hb17-background:#f4f7fb;
  --hb17-card:#ffffff;
  --hb17-border:#dce5f0;
  --hb17-radius:16px;
  --hb17-shadow:0 10px 28px rgba(18,39,67,.075);
  font-family:Inter,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  color:var(--hb17-ink);
}
body.hb29517-system .site-header {
  height:auto!important; min-height:0!important; overflow:visible!important;
  background:linear-gradient(108deg,rgba(12,25,46,.94),rgba(17,38,67,.95)),url('media/header-fjord.jpg') center/cover no-repeat!important;
  border-bottom:0!important; box-shadow:none!important;
}
body.hb29517-system .site-header:before{opacity:.16!important;pointer-events:none}
body.hb29517-system .site-header:after{height:2px!important;background:linear-gradient(90deg,var(--hb17-sky),var(--hb17-gold),var(--hb17-purple))!important;opacity:1!important}
body.hb29517-system .header-inner{
  width:100%; max-width:1300px!important; min-height:92px!important; height:auto!important;
  padding:9px 24px!important; display:flex!important; gap:16px!important; align-items:center!important;
}
body.hb29517-system .brand.brand-image{flex:0 1 270px!important;width:270px!important;max-width:44vw!important;min-width:0!important;line-height:0!important}
body.hb29517-system .brand.brand-image img{width:auto!important;max-width:100%!important;max-height:74px!important;object-fit:contain!important;object-position:left center!important;filter:drop-shadow(0 3px 9px rgba(0,0,0,.22))}
body.hb29517-system .header-ad{margin-left:auto!important;min-height:0!important;max-width:min(468px,58%)!important;border:1px solid rgba(255,255,255,.12)!important;padding:5px!important;background:rgba(3,14,31,.28)!important;border-radius:11px!important;overflow:hidden!important}
body.hb29517-system .header-ad:empty{display:none!important}
body.hb29517-system .topnav{background:var(--hb17-navy)!important;border-bottom:1px solid #344968!important;box-shadow:0 5px 17px rgba(18,36,65,.13)!important;position:relative!important;z-index:30!important}
body.hb29517-system .nav-inner{width:100%!important;max-width:1300px!important;min-height:62px!important;padding:8px 24px!important;display:flex!important;gap:11px!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important}
body.hb29517-system .hb29517-primary{flex:1 1 auto;min-width:0;display:flex;align-items:center}
body.hb29517-system .hb29517-links{display:flex!important;align-items:center!important;gap:4px!important;flex-wrap:nowrap!important;min-width:0;overflow:visible!important}
body.hb29517-system .hb29517-links>a,
body.hb29517-system .hb29517-more>summary{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  height:42px!important;min-height:42px!important;padding:0 11px!important;
  color:#dfebf9!important;background:transparent!important;border:1px solid transparent!important;border-radius:11px!important;
  font-size:12px!important;letter-spacing:0!important;font-weight:760!important;line-height:1.15!important;
  text-decoration:none!important;white-space:nowrap!important;box-shadow:none!important;cursor:pointer;
}
body.hb29517-system .hb29517-links>a:before,
body.hb29517-system .hb29517-links>a:after{display:none!important;content:none!important}
body.hb29517-system .hb29517-links>a:hover,
body.hb29517-system .hb29517-links>a.active,
body.hb29517-system .hb29517-more>summary:hover,
body.hb29517-system .hb29517-more>summary.active,
body.hb29517-system .hb29517-more[open]>summary{color:#fff!important;background:#293f61!important;border-color:#405a7e!important}
body.hb29517-system .hb29517-links>a.active{color:#ffe3a3!important}
body.hb29517-system .hb29517-links>a.hb29517-contribute-link{background:rgba(48,201,210,.12)!important;border-color:rgba(75,217,224,.33)!important;color:#9cf4f5!important}
body.hb29517-system .hb29517-links>a.hb29517-contribute-link:hover{background:#2f7987!important;color:#fff!important}
body.hb29517-system .hb29517-more{position:relative;flex:0 0 auto}
body.hb29517-system .hb29517-more>summary{list-style:none;gap:5px}
body.hb29517-system .hb29517-more>summary::-webkit-details-marker,
body.hb29517-system .hb29517-mobile-menu>summary::-webkit-details-marker{display:none}
body.hb29517-system .hb29517-more>summary span{font-size:18px;color:var(--hb17-gold)}
body.hb29517-system .hb29517-menu-panel{position:absolute;top:calc(100% + 7px);right:0;width:225px;display:grid;gap:3px;padding:7px;background:#fff;border:1px solid var(--hb17-border);border-radius:14px;box-shadow:0 18px 42px rgba(5,17,37,.27);z-index:40}
body.hb29517-system .hb29517-menu-panel a{display:block!important;padding:11px 12px!important;height:auto!important;background:transparent!important;border:0!important;border-radius:9px!important;color:#2a3d58!important;font-size:13px!important;line-height:1.35!important;font-weight:700!important;text-decoration:none!important}
body.hb29517-system .hb29517-menu-panel a:hover{background:#eff6ff!important;color:#125e92!important}
body.hb29517-system .hb29517-menu-panel a.active{background:#e8f4ff!important;color:#15558b!important;font-weight:900!important}
body.hb29517-system .hb29517-mobile-menu{display:none}
body.hb29517-system .nav-search{display:flex!important;align-items:center!important;flex:0 1 195px!important;width:195px!important;max-width:195px!important;min-width:115px!important;height:42px!important;border:1px solid #47607e!important;background:#172b47!important;border-radius:11px!important;padding:0!important;gap:0!important;margin:0!important;overflow:hidden!important;box-shadow:none!important}
body.hb29517-system .nav-search input{width:100%!important;min-width:0!important;flex:1 1 auto!important;height:40px!important;padding:0 10px!important;background:transparent!important;border:0!important;border-radius:0!important;color:#fff!important;font-size:12px!important;box-shadow:none!important}
body.hb29517-system .nav-search input::placeholder{color:#b6c9df!important}
body.hb29517-system .nav-search button{height:40px!important;min-width:38px!important;width:38px!important;padding:0!important;border:0!important;border-radius:0!important;background:var(--hb17-gold)!important;color:#14213a!important;font-size:20px!important}
body.hb29517-system .nav-login{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:0 12px!important;border:1px solid #d0ab63!important;border-radius:11px!important;background:rgba(240,196,108,.10)!important;color:#ffdf9b!important;font-size:12px!important;font-weight:800!important;text-align:center!important;white-space:nowrap!important;line-height:1.25!important;text-decoration:none!important}
body.hb29517-system .nav-login:hover{background:var(--hb17-gold)!important;color:#10233f!important}
body.hb29517-system .page-wrap{max-width:1300px!important}
body.hb29517-system .site-footer{background:linear-gradient(118deg,#101d31,#192845)!important;border-top:2px solid #d1a75b!important}
body.hb29517-system .site-footer:before{color:#e4c182!important;opacity:.4!important}
body.hb29517-system .footer-inner{max-width:1300px!important}
body.hb29517-system .site-footer a{color:#dce8f7!important}
body.hb29517-system .site-footer a:hover{color:#ffdf9e!important}
body.hb29517-system .hb29517-skip{position:absolute;z-index:10000;top:0;left:12px;padding:12px 18px;background:#fff;color:#10355c;border-radius:0 0 10px 10px;font-weight:800;transform:translateY(-120%)}
body.hb29517-system .hb29517-skip:focus{transform:translateY(0)}
body.hb29517-system :is(.hb29517-links a,.hb29517-more summary,.hb29517-menu-panel a,.hb29517-mobile-menu summary,.hb29517-mobile-panel a,.nav-login,.nav-search input,.nav-search button,.hb17-btn):focus-visible{outline:3px solid #72e7f0!important;outline-offset:3px!important}
/* Reusable primitives — intentionally opt-in to avoid altering custom authored blog content. */
body.hb29517-system .hb17-card{background:var(--hb17-card);border:1px solid var(--hb17-border);border-radius:var(--hb17-radius);box-shadow:var(--hb17-shadow);padding:clamp(17px,2.3vw,27px)}
body.hb29517-system .hb17-section-title{font-size:clamp(23px,2.6vw,34px);font-weight:900;letter-spacing:-.035em;line-height:1.15;color:var(--hb17-ink);margin:0 0 13px}
body.hb29517-system .hb17-muted{color:var(--hb17-muted)}
body.hb29517-system .hb17-pill{display:inline-flex;align-items:center;padding:6px 11px;border:1px solid #cfdcec;border-radius:999px;background:#edf5ff;color:#20436b;font-size:11px;font-weight:850}
body.hb29517-system .hb17-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px;border:1px solid transparent;border-radius:11px;background:#1a3455;color:#fff!important;font:800 13px/1.3 Inter,system-ui,sans-serif;text-decoration:none!important;cursor:pointer}
body.hb29517-system .hb17-btn:hover{background:#28527e}
body.hb29517-system .hb17-btn-gold{background:#efc467;color:#1b2940!important}
body.hb29517-system .hb17-btn-gold:hover{background:#ffdc94}
body.hb29517-system .hb17-input{width:100%;min-height:43px;border:1px solid #cdd9e7;border-radius:10px;padding:10px 12px;background:#fff;color:#20314c}
body.hb29517-system .hb17-input:focus-visible{outline:3px solid #70cddd;outline-offset:2px}
@media(max-width:1110px){
  body.hb29517-system .nav-inner{gap:7px!important;padding-left:15px!important;padding-right:15px!important}
  body.hb29517-system .hb29517-links>a,body.hb29517-system .hb29517-more>summary{padding-left:9px!important;padding-right:9px!important;font-size:11px!important}
  body.hb29517-system .nav-search{flex-basis:145px!important;width:145px!important}
  body.hb29517-system .nav-login{padding:0 9px!important;font-size:11px!important}
}
@media(max-width:880px){
  body.hb29517-system .nav-inner{flex-wrap:wrap!important;justify-content:space-between!important;gap:8px!important;padding:9px 14px!important;min-height:0!important}
  body.hb29517-system .hb29517-primary{flex:1 1 auto;order:1}
  body.hb29517-system .hb29517-links{display:none!important}
  body.hb29517-system .hb29517-mobile-menu{display:block;width:100%}
  body.hb29517-system .hb29517-mobile-menu>summary{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 14px;color:#fff;border:1px solid #465f82;border-radius:11px;background:#233958;list-style:none;cursor:pointer;font-weight:820;font-size:13px}
  body.hb29517-system .hb29517-mobile-menu[open]>summary{background:#33547c;color:#ffdf9e}
  body.hb29517-system .hb29517-mobile-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:11px 0 1px}
  body.hb29517-system .hb29517-mobile-panel a{padding:11px 13px;min-height:43px;display:flex;align-items:center;color:#e5f2ff!important;background:#1b3150;border:1px solid #395273;border-radius:10px;font-size:12px;font-weight:750;text-decoration:none}
  body.hb29517-system .hb29517-mobile-panel a.active{background:#345476;color:#ffe8ad!important}
  body.hb29517-system .hb29517-mobile-panel a:hover{background:#345476}
  body.hb29517-system .nav-login{order:2}
  body.hb29517-system .nav-search{order:3;flex:1 0 100%!important;width:100%!important;max-width:100%!important}
}
@media(max-width:600px){
  body.hb29517-system .header-inner{min-height:68px!important;padding:6px 13px!important;gap:8px!important}
  body.hb29517-system .brand.brand-image{flex:0 1 180px!important;width:180px!important;max-width:60vw!important}
  body.hb29517-system .brand.brand-image img{max-height:58px!important}
  body.hb29517-system .header-ad{display:none!important}
  body.hb29517-system .hb29517-mobile-panel{grid-template-columns:1fr 1fr}
  body.hb29517-system .page-wrap{padding-left:12px!important;padding-right:12px!important}
  body.hb29517-system .footer-inner{padding-left:16px!important;padding-right:16px!important}
}
@media(prefers-reduced-motion:reduce){body.hb29517-system *,body.hb29517-system *:before,body.hb29517-system *:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}
/* Component typography must defeat decades-old global h1/h2 decorations. */
body.hb29517-system .hb17-section-title{display:block!important;background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0 0 13px!important;color:var(--hb17-ink)!important;font:900 clamp(23px,2.6vw,34px)/1.15 Inter,system-ui,-apple-system,'Segoe UI',Arial,sans-serif!important;letter-spacing:-.035em!important}
body.hb29517-system .hb17-section-title:before,body.hb29517-system .hb17-section-title:after{display:none!important}
body.hb29517-system .hb29517-menu-panel a:before,body.hb29517-system .hb29517-menu-panel a:after{content:none!important;display:none!important}
body.hb29517-system .hb29517-menu-panel a{box-shadow:none!important;border-bottom:0!important}
@media(max-width:880px){
  body.hb29517-system .nav-inner{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;align-items:start!important;flex-direction:row!important}
  body.hb29517-system .hb29517-primary{grid-column:1;grid-row:1;align-self:start}
  body.hb29517-system .nav-login{grid-column:2;grid-row:1;align-self:start}
  body.hb29517-system .nav-search{grid-column:1/-1;grid-row:2;max-width:none!important;min-width:0!important}
}
