/* ===== Header extras ===== */

/* Smart hide on scroll + reading progress */
[data-elementor-type="header"] .elementor-sticky--active[data-id="570512e0"] { transition:background-color .35s ease, box-shadow .35s ease, translate .35s cubic-bezier(.2,.8,.2,1) !important; }
html.hh-hide [data-elementor-type="header"] .elementor-sticky--active[data-id="570512e0"] { translate:0 -110%; box-shadow:none !important; }
.hh-progress { position:absolute; left:0; right:0; bottom:0; height:3px; background:linear-gradient(90deg, #D8A441, #F2CF86); transform-origin:left center; transform:scaleX(0); opacity:0; transition:opacity .3s ease; pointer-events:none; z-index:3; }
html.hh-scrolled .hh-progress { opacity:1; }

/* Live now */
.hh-top.is-live { background:#B3261E !important; }
.hh-top.is-live .hh-long, .hh-top.is-live .hh-short { display:none !important; }
.hh-top.is-live .hh-top-in b { color:#fff; letter-spacing:1.5px; }
.hh-top.is-live .hh-top-in i { background:#fff; }
.hh-top.is-live .hh-top-in a { border-bottom-color:rgba(255,255,255,.7); }
.hh-pulse { position:relative; width:9px; height:9px; border-radius:50%; background:#fff; flex:0 0 9px; }
.hh-pulse::after { content:''; position:absolute; inset:-5px; border-radius:50%; border:2px solid rgba(255,255,255,.75); animation:hh6223Pulse 1.6s ease-out infinite; }
@keyframes hh6223Pulse { from { scale:.5; opacity:1; } to { scale:1.6; opacity:0; } }

/* Announcement bar */
.hh-ann { flex:0 0 calc(100% + 56px); margin:0 -28px; order:-2; position:relative; display:flex; align-items:center; justify-content:center; min-height:40px; padding:8px 52px; background:linear-gradient(90deg, #D8A441, #F2CF86 50%, #D8A441); background-size:200% 100%; animation:hh6223Shine 9s linear infinite; }
.hh-ann-in, .hh-ann-in * { font-family:Montserrat, sans-serif !important; font-size:14px !important; font-weight:700 !important; color:#1D3F44 !important; margin:0 !important; text-align:center; line-height:1.4 !important; }
.hh-ann-in a { text-decoration:underline !important; text-underline-offset:3px; }
.hh-ann-x { position:absolute; right:14px; top:50%; translate:0 -50%; width:28px; height:28px; display:flex; align-items:center; justify-content:center; padding:0 !important; border:0 !important; border-radius:50% !important; background:rgba(29,63,68,.12) !important; color:#1D3F44 !important; cursor:pointer; }
.hh-ann-x svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; }
.hh-ann-x:hover { background:rgba(29,63,68,.22) !important; }
@keyframes hh6223Shine { from { background-position:0% 0; } to { background-position:200% 0; } }
html.hh-scrolled .elementor-sticky--active .hh-ann { display:none; }

/* Search button */
.hh-sbtn { flex:0 0 auto; width:40px; height:40px; margin-left:10px; padding:0 !important; display:inline-flex; align-items:center; justify-content:center; border-radius:50% !important; border:1.5px solid rgba(255,255,255,.28) !important; background:rgba(255,255,255,.06) !important; color:#fff !important; cursor:pointer; transition:background .25s ease, border-color .25s ease, translate .25s ease; }
.hh-sbtn svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; }
.hh-sbtn:hover, .hh-sbtn:focus-visible { background:rgba(216,164,65,.2) !important; border-color:#D8A441 !important; translate:0 -2px; }

/* Search overlay */
.hh-search { position:fixed; inset:0; z-index:100000; display:flex; align-items:flex-start; justify-content:center; padding:12vh 20px 40px; background:rgba(14, 38, 42, .94); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); opacity:0; visibility:hidden; transition:opacity .25s ease, visibility .25s ease; overflow-y:auto; }
.hh-search.is-open { opacity:1; visibility:visible; }
html.hh-search-open, html.hh-search-open body { overflow:hidden !important; }
.hh-sin { width:100%; max-width:720px; translate:0 16px; transition:translate .35s cubic-bezier(.2,.8,.2,1); }
.hh-search.is-open .hh-sin { translate:0 0; }
.hh-sx { position:fixed; top:22px; right:22px; width:48px; height:48px; display:flex; align-items:center; justify-content:center; padding:0 !important; border:1.5px solid rgba(255,255,255,.3) !important; border-radius:50% !important; background:transparent !important; color:#fff !important; cursor:pointer; }
.hh-sx svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; }
.hh-sx:hover { border-color:#D8A441 !important; color:#F2CF86 !important; }
.hh-seye { margin:0 0 14px !important; font-family:Montserrat, sans-serif; font-size:12px; font-weight:800; letter-spacing:2.5px; text-transform:uppercase; color:#F2CF86 !important; text-align:center; }
.hh-sform { position:relative; margin:0 !important; }
.hh-sicon { position:absolute; left:22px; top:50%; translate:0 -50%; width:24px; height:24px; color:#245C63; pointer-events:none; }
.hh-sicon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; }
.hh-sform input[type="search"] { width:100% !important; height:68px !important; padding:0 24px 0 62px !important; border:0 !important; border-radius:999px !important; background:#fff !important; color:#1D3F44 !important; font-family:Montserrat, sans-serif !important; font-size:clamp(17px, 2.2vw, 22px) !important; font-weight:600 !important; box-shadow:0 20px 50px rgba(0,0,0,.35) !important; outline:none !important; }
.hh-sform input[type="search"]:focus { box-shadow:0 0 0 4px rgba(216,164,65,.55), 0 20px 50px rgba(0,0,0,.35) !important; }
.hh-sres { margin-top:16px; display:flex; flex-direction:column; gap:8px; }
.hh-sitem { display:flex; align-items:center; gap:14px; padding:14px 18px; border-radius:14px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); color:#fff !important; text-decoration:none !important; transition:background .2s ease, translate .2s ease; }
.hh-sitem:hover, .hh-sitem:focus-visible { background:rgba(216,164,65,.18); translate:4px 0; }
.hh-sitem b { font-family:Montserrat, sans-serif; font-size:16px; font-weight:700; color:#fff; }
.hh-skind { flex:0 0 auto; padding:3px 9px; border-radius:999px; background:rgba(242,207,134,.18); color:#F2CF86; font-family:Montserrat, sans-serif; font-size:11px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
.hh-sitem i { margin-left:auto; color:#F2CF86; font-style:normal; }
.hh-snote { margin:6px 0 0 !important; text-align:center; color:rgba(255,255,255,.8) !important; font-family:Montserrat, sans-serif; font-size:15px; }
.hh-snote a { color:#F2CF86 !important; }
.hh-squick { margin-top:30px; text-align:center; }
.hh-search.has-q .hh-squick { display:none; }
.hh-squick p { margin:0 0 12px !important; font-family:Montserrat, sans-serif; font-size:12px; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.65) !important; }
.hh-squick div { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.hh-squick a { padding:9px 16px; border-radius:999px; border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.06); color:#fff !important; font-family:Montserrat, sans-serif; font-size:14px; font-weight:700; text-decoration:none !important; transition:background .2s ease, border-color .2s ease; }
.hh-squick a:hover { background:rgba(216,164,65,.22); border-color:#D8A441; }

/* Descriptive dropdowns */
@media (min-width:1025px) {
  html body .elementor-1413 .elementor-element.elementor-element-65e1ae04 .elementor-nav-menu--main ul.sub-menu.hh-mega {
    display:none; grid-template-columns:minmax(0, 1fr) 220px; grid-auto-rows:min-content; column-gap:10px; width:540px !important; min-width:540px !important; max-width:540px !important; padding:10px !important;
  }
  html body .elementor-1413 .elementor-element.elementor-element-65e1ae04 .elementor-nav-menu--main ul.sub-menu.hh-mega[style*="display: block"],
  html body .elementor-1413 .elementor-element.elementor-element-65e1ae04 .elementor-nav-menu--main li:hover > ul.sub-menu.hh-mega { display:grid !important; }
  .hh-mega > li { grid-column:1; width:auto !important; }
  .hh-mega > li.hh-feature { grid-column:2; grid-row:1 / span 8; align-self:stretch; display:flex; }
  html body .elementor-1413 .elementor-element.elementor-element-65e1ae04 .elementor-nav-menu--main .hh-mega > li > a.elementor-sub-item { display:flex !important; flex-direction:column; align-items:flex-start; gap:2px; white-space:normal !important; padding:11px 14px !important; }
  .hh-mt { font-family:Montserrat, sans-serif; font-size:14.5px; font-weight:700; color:#1D3F44; line-height:1.3; }
  .hh-md { font-family:Montserrat, sans-serif; font-size:12.5px; font-weight:500; color:#6B7B7D; line-height:1.4; }
  .hh-mega a:hover .hh-mt { color:#245C63; }
  html body .elementor-1413 .elementor-element.elementor-element-65e1ae04 .elementor-nav-menu--main .hh-mega a.hh-feature-card {
    display:flex !important; flex-direction:column; justify-content:flex-end; gap:6px; width:100%; min-height:100%; padding:18px !important; border-radius:12px !important;
    background:radial-gradient(circle at 85% 10%, rgba(242,207,134,.35), rgba(242,207,134,0) 45%), linear-gradient(160deg, #2C6B72, #1D3F44) !important;
    color:#fff !important; text-decoration:none !important; white-space:normal !important; transition:translate .25s ease, box-shadow .25s ease !important;
  }
  html body .elementor-1413 .elementor-element.elementor-element-65e1ae04 .elementor-nav-menu--main .hh-mega a.hh-feature-card:hover { translate:0 -3px; box-shadow:0 14px 28px rgba(15,52,58,.3); padding-left:18px !important; }
  .hh-fi { width:38px; height:38px; margin-bottom:auto; display:flex; align-items:center; justify-content:center; border-radius:10px; background:rgba(255,255,255,.12); color:#F2CF86; }
  .hh-fi svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
  .hh-feature-card b { margin-top:24px; font-family:Montserrat, sans-serif; font-size:17px; font-weight:800; color:#fff; }
  .hh-feature-card .hh-fd { font-family:Montserrat, sans-serif; font-size:13px; font-weight:500; line-height:1.45; color:rgba(255,255,255,.85); }
  .hh-feature-card em { font-style:normal; font-family:Montserrat, sans-serif; font-size:13px; font-weight:800; color:#F2CF86; margin-top:4px; }
}

/* Full-screen phone menu */
@media (max-width:1024px) {
  html body .elementor-1413 .elementor-element.elementor-element-65e1ae04 nav.elementor-nav-menu--dropdown.hh-fs {
    position:fixed !important; top:var(--hh-bottom, 110px) !important; left:0 !important; right:0 !important; bottom:0 !important; width:100vw !important;
    height:auto !important; max-height:none !important; margin:0 !important; padding:8px 24px 36px !important; overflow-y:auto !important; -webkit-overflow-scrolling:touch;
    background:linear-gradient(180deg, #1D3F44 0%, #16343A 100%) !important; border-radius:0 !important; box-shadow:none !important;
    transform:none !important; opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s ease !important; z-index:9998;
  }
  html body .elementor-1413 .elementor-element.elementor-element-65e1ae04 .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu--dropdown.hh-fs { opacity:1; visibility:visible; }
  html.hh-menu-open, html.hh-menu-open body { overflow:hidden !important; }
  html body .elementor-1413 .elementor-element.elementor-element-65e1ae04 nav.hh-fs > ul > li > a {
    color:#fff !important; background:transparent !important; font-size:22px !important; font-weight:700 !important; padding:16px 4px !important;
    border-bottom:1px solid rgba(255,255,255,.1) !important; justify-content:space-between;
  }
  html body .elementor-1413 .elementor-element.elementor-element-65e1ae04 nav.hh-fs a.elementor-item-active,
  html body .elementor-1413 .elementor-element.elementor-element-65e1ae04 nav.hh-fs a:hover { color:#F2CF86 !important; background:transparent !important; }
  html body .elementor-1413 .elementor-element.elementor-element-65e1ae04 nav.hh-fs .sub-menu { background:transparent !important; padding:4px 0 10px 14px !important; border-left:2px solid rgba(216,164,65,.5); margin:6px 0 6px 4px !important; }
  html body .elementor-1413 .elementor-element.elementor-element-65e1ae04 nav.hh-fs .sub-menu a { color:rgba(255,255,255,.88) !important; background:transparent !important; font-size:17px !important; font-weight:600 !important; padding:10px 6px !important; border-bottom:0 !important; }
  html body .elementor-1413 .elementor-element.elementor-element-65e1ae04 nav.hh-fs .sub-arrow { color:#F2CF86 !important; }
  .elementor-menu-toggle.elementor-active + nav.hh-fs > ul > li { animation:hh6223In .45s cubic-bezier(.2,.8,.2,1) backwards; }
  .elementor-menu-toggle.elementor-active + nav.hh-fs > ul > li:nth-child(2) { animation-delay:.04s; }
  .elementor-menu-toggle.elementor-active + nav.hh-fs > ul > li:nth-child(3) { animation-delay:.08s; }
  .elementor-menu-toggle.elementor-active + nav.hh-fs > ul > li:nth-child(4) { animation-delay:.12s; }
  .elementor-menu-toggle.elementor-active + nav.hh-fs > ul > li:nth-child(5) { animation-delay:.16s; }
  .elementor-menu-toggle.elementor-active + nav.hh-fs > ul > li:nth-child(6) { animation-delay:.2s; }
  .elementor-menu-toggle.elementor-active + nav.hh-fs > ul > li:nth-child(7) { animation-delay:.24s; }
  .elementor-menu-toggle.elementor-active + nav.hh-fs > ul > li:nth-child(8) { animation-delay:.28s; }
  .elementor-menu-toggle.elementor-active + nav.hh-fs > ul > li:nth-child(n+9) { animation-delay:.32s; }
  .elementor-menu-toggle.elementor-active + nav.hh-fs .hh-mfoot { animation:hh6223In .5s cubic-bezier(.2,.8,.2,1) .35s backwards; }
  @keyframes hh6223In { from { opacity:0; translate:0 14px; } to { opacity:1; translate:0 0; } }
  .hh-mfoot { margin-top:22px; display:flex; flex-direction:column; gap:16px; }
  .hh-msearch { display:flex; align-items:center; gap:10px; width:100%; padding:14px 18px !important; border:1px solid rgba(255,255,255,.2) !important; border-radius:999px !important; background:rgba(255,255,255,.08) !important; color:rgba(255,255,255,.85) !important; font-family:Montserrat, sans-serif; font-size:15px; font-weight:600; text-align:left; cursor:pointer; }
  .hh-msearch svg { width:18px; height:18px; fill:none; stroke:#F2CF86; stroke-width:2.2; stroke-linecap:round; }
  .hh-mtimes { display:flex; flex-direction:column; gap:4px; padding:16px 18px; border-radius:16px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); font-family:Montserrat, sans-serif; }
  .hh-mtimes b { color:#F2CF86; font-size:13px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:4px; }
  .hh-mtimes span { color:#fff; font-size:15px; font-weight:500; }
  .hh-mtimes span:last-child { color:rgba(255,255,255,.75); font-size:13.5px; margin-top:4px; }
  .hh-mbtns { display:flex; gap:10px; }
  .hh-mbtn { flex:1 1 0; text-align:center; padding:14px 12px; border-radius:999px; border:1.5px solid rgba(255,255,255,.35); color:#fff !important; font-family:Montserrat, sans-serif; font-size:14px; font-weight:800; text-decoration:none !important; border-bottom:1.5px solid rgba(255,255,255,.35) !important; }
  .hh-mbtn.is-gold { background:#D8A441; border-color:#D8A441 !important; color:#1D3F44 !important; }
  .hh-maddr { margin:0 !important; text-align:center; color:rgba(255,255,255,.65) !important; font-family:Montserrat, sans-serif; font-size:13px; }
  .hh-ann { flex-basis:calc(100% + 32px); margin:0 -16px; padding:8px 46px; }
}
@media (max-width:640px) { .hh-sbtn { display:none !important; } }
@media (prefers-reduced-motion: reduce) {
  .hh-pulse::after, .hh-ann, .elementor-menu-toggle.elementor-active + nav.hh-fs > ul > li, .elementor-menu-toggle.elementor-active + nav.hh-fs .hh-mfoot { animation:none !important; }
  [data-elementor-type="header"] .elementor-sticky--active[data-id="570512e0"] { transition:none !important; }
}
