/* SITHM header v2: contact bar, brand header, full-box hover menu, notice bar, Important Links.
   Loaded after theme.css. Uses the existing brand colours (navy / gold). */
:root{--sx-navy:var(--navy,#0A1D4D);--sx-deep:var(--navy-deep,#071437);--sx-gold:var(--gold,#C8A74E);--sx-gold-d:var(--gold-hover,#B8963A);--sx-tint:var(--gold-tint,#F6EFD6)}

/* ---------- 1) Contact bar ---------- */
.sx-top{background:var(--sx-deep);color:#dfe6fb;font-size:.84rem}
.sx-top-in{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.25rem 1rem;padding-top:.45rem;padding-bottom:.45rem}
.sx-top a{color:#e7ecfb;text-decoration:none;transition:color .2s}
.sx-top a:hover{color:var(--sx-gold)}
.sx-top i{color:var(--sx-gold);margin-right:.3rem}
.sx-top-info{display:flex;flex-wrap:wrap;gap:.2rem 1.2rem}
.sx-top-right{display:flex;align-items:center;gap:.55rem}
.sx-social-label{opacity:.8;margin-right:.2rem}
.sx-social{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.1)}
.sx-social i{margin:0;font-size:.8rem;color:#fff}
.sx-social:hover{background:var(--sx-gold)}.sx-social:hover i{color:var(--sx-navy)}
.sx-sep{width:1px;height:16px;background:rgba(255,255,255,.25);margin:0 .2rem}
.sx-acc{font-weight:600}
@media(max-width:575px){.sx-top{font-size:.78rem}.sx-top-info a:nth-child(2){display:none}}

/* ---------- 2) Brand header ---------- */
.sx-brand{background:#fff;border-bottom:1px solid #e6e9f2}
.sx-brand-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.8rem;padding-bottom:.8rem}
.sx-logo{flex:none;display:block}
.sx-logo img{height:92px;width:auto;max-width:150px;object-fit:contain;display:block}
.sx-logo-text{font-family:var(--f-head,Georgia,serif);font-weight:700;font-size:2rem;color:var(--sx-navy)}
.sx-title{flex:1;text-align:center;min-width:0}
.sx-tagline{font-style:italic;font-weight:700;color:var(--sx-gold-text,#8A6A10);font-size:.95rem;letter-spacing:.01em}
.sx-name{display:block;font-family:var(--f-head,Georgia,serif);font-weight:700;color:var(--sx-navy);text-decoration:none;font-size:clamp(1.25rem,2.9vw,2.15rem);line-height:1.15;margin:.15rem 0}
.sx-name:hover{color:var(--sx-navy)}
.sx-affil{font-weight:700;color:#3a4668;font-size:.95rem}
.sx-addr{font-weight:700;color:var(--sx-gold-text,#8A6A10);font-size:1rem}
.sx-addr i{margin-right:.3rem}
.sx-flagbox{flex:none;text-align:center;width:112px}
.sx-flag{width:58px;height:auto;display:block;margin:0 auto .2rem;transform-origin:left center;animation:sxWave 4.5s ease-in-out infinite;filter:drop-shadow(0 3px 4px rgba(0,0,0,.2))}
@keyframes sxWave{0%,100%{transform:skewY(-2deg) rotateY(0)}50%{transform:skewY(2deg) rotateY(-12deg)}}
.sx-date{font-size:.72rem;font-weight:700;color:#3a4668;line-height:1.25;min-height:1em}
@media(max-width:767px){
  .sx-logo img{height:62px;max-width:90px}
  .sx-flagbox{width:56px}.sx-flag{width:38px}.sx-date{display:none}
  .sx-tagline{font-size:.78rem}.sx-affil,.sx-addr{font-size:.8rem}
  .sx-brand-in{gap:.6rem}
}

/* ---------- 3) Main menu: full-box hover ---------- */
.sx-nav{background:var(--sx-navy);position:sticky;top:0;z-index:1030;box-shadow:0 6px 18px rgba(7,20,55,.25);border-bottom:3px solid var(--sx-gold)}
.sx-nav-in{padding-left:0;padding-right:0}
.sx-menu{list-style:none;margin:0;padding:0;display:flex;align-items:stretch}
.sx-item{position:relative;display:flex}
.sx-link{display:flex;align-items:center;gap:.4rem;padding:1.05rem 1.15rem;color:#fff;font-weight:700;font-size:.86rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;background:transparent;transition:background .22s,color .22s,box-shadow .22s;position:relative;white-space:nowrap}
.sx-link:hover,.sx-item:focus-within>.sx-link,.sx-has-drop:hover>.sx-link{background:var(--sx-gold);color:var(--sx-navy)}
.sx-link.is-active{background:rgba(255,255,255,.13);box-shadow:inset 0 -4px 0 var(--sx-gold)}
.sx-link.is-active:hover{background:var(--sx-gold);color:var(--sx-navy)}
.sx-link:focus-visible{outline:3px solid #fff;outline-offset:-3px}
.sx-caret{font-size:.62rem;transition:transform .2s}
.sx-has-drop:hover .sx-caret,.sx-has-drop.open .sx-caret{transform:rotate(180deg)}
.sx-apply{margin-left:auto}
.sx-link-apply{background:var(--sx-gold);color:var(--sx-navy)}
.sx-link-apply:hover{background:#fff;color:var(--sx-navy)}
.sx-link-apply i{font-size:.9rem}

.sx-drop{list-style:none;margin:0;padding:0;position:absolute;left:0;top:100%;min-width:250px;background:#fff;border-top:3px solid var(--sx-gold);box-shadow:0 18px 40px rgba(7,20,55,.28);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:5}
.sx-drop-scroll{max-height:70vh;overflow-y:auto}
.sx-drop li a{display:block;padding:.75rem 1.1rem;color:var(--sx-navy);font-weight:600;font-size:.92rem;text-decoration:none;border-bottom:1px solid #eef0f6;transition:background .18s,color .18s,padding-left .18s}
.sx-drop li:last-child a{border-bottom:0}
.sx-drop li a:hover,.sx-drop li a:focus-visible{background:var(--sx-navy);color:var(--sx-gold);padding-left:1.45rem}
.sx-has-drop:hover>.sx-drop,.sx-has-drop:focus-within>.sx-drop,.sx-has-drop.open>.sx-drop{opacity:1;visibility:visible;transform:none}

.sx-burger{display:none}
@media(max-width:991px){
  .sx-nav-in{padding:0}
  .sx-burger{display:flex;align-items:center;gap:.6rem;width:100%;background:var(--sx-navy);color:#fff;border:0;padding:.9rem 1.1rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.9rem}
  .sx-burger:hover,.sx-burger[aria-expanded="true"]{background:var(--sx-gold);color:var(--sx-navy)}
  .sx-menu{display:none;flex-direction:column;border-top:1px solid rgba(255,255,255,.15)}
  .sx-menu.show{display:flex}
  .sx-item{display:block;border-bottom:1px solid rgba(255,255,255,.12)}
  .sx-link{padding:.95rem 1.1rem;width:100%}
  .sx-has-drop>.sx-link{justify-content:space-between}
  .sx-drop{position:static;opacity:1;visibility:visible;transform:none;display:none;box-shadow:none;border-top:0;background:#0d2562;min-width:0}
  .sx-has-drop.open>.sx-drop{display:block}
  .sx-has-drop:hover>.sx-drop{display:none}
  .sx-has-drop.open:hover>.sx-drop{display:block}
  .sx-drop li a{color:#fff;border-bottom:1px solid rgba(255,255,255,.1);padding-left:1.8rem}
  .sx-apply{margin-left:0}
  .sx-link-apply{justify-content:center}
}

/* ---------- 4) Notice bar ---------- */
.sx-notice{background:var(--sx-tint);border-bottom:1px solid #e5d9aa}
.sx-notice-in{display:flex;align-items:stretch;gap:0;padding-left:0;padding-right:0}
.sx-notice-label{flex:none;display:flex;align-items:center;gap:.5rem;background:var(--sx-navy);color:#fff;font-weight:800;letter-spacing:.08em;font-size:.85rem;padding:.55rem 1.1rem;position:relative;z-index:2}
.sx-notice-label::after{content:"";position:absolute;right:-12px;top:0;border-left:12px solid var(--sx-navy);border-top:18px solid transparent;border-bottom:18px solid transparent}
.sx-notice-label i{color:var(--sx-gold);animation:sxRing 2.2s ease-in-out infinite;transform-origin:50% 0}
@keyframes sxRing{0%,70%,100%{transform:rotate(0)}75%{transform:rotate(16deg)}80%{transform:rotate(-14deg)}85%{transform:rotate(10deg)}90%{transform:rotate(-6deg)}}
.sx-marquee{flex:1;min-width:0;overflow:hidden;display:flex;align-items:center;padding-left:1.2rem}
.sx-track{display:flex;width:max-content;animation:sxScroll 45s linear infinite}
.sx-marquee:hover .sx-track,.sx-marquee:focus-within .sx-track{animation-play-state:paused}
.sx-track-set{display:flex;flex:none}
.sx-track-set a{color:var(--sx-navy);font-weight:600;font-size:.9rem;text-decoration:none;white-space:nowrap;padding:.62rem 2.2rem .62rem 0}
.sx-track-set a i{color:var(--sx-gold-text,#8A6A10);margin-right:.4rem}
.sx-track-set a:hover{text-decoration:underline}
@keyframes sxScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.sx-track,.sx-flag,.sx-notice-label i{animation:none}.sx-marquee{overflow-x:auto}}
@media(max-width:575px){.sx-notice-label span{display:none}.sx-notice-label{padding:.55rem .8rem}}

/* ---------- 5) Home: slider + Important Links ---------- */
.home-top{background:var(--tint,#F3F6FC);padding:1.1rem 0 1.4rem}
.home-top .hero-slider{border-radius:14px;box-shadow:0 12px 30px rgba(10,29,77,.18);height:100%}
.home-top .slide-bg{height:490px;min-height:0;max-height:none}
.home-top .slide-bg .container{max-width:100%;padding-left:2.2rem;padding-right:2.2rem}
.home-top .slide-caption{flex:0 0 100%;max-width:100%}
.home-top .slide-caption h1{font-size:clamp(1.6rem,3vw,2.5rem)}
.home-top .slide-shade{background:linear-gradient(100deg,rgba(7,20,55,.9) 0%,rgba(7,20,55,.6) 55%,rgba(7,20,55,.15) 100%)}
.home-top .carousel-control-prev,.home-top .carousel-control-next{opacity:1;background:var(--sx-gold);width:42px;height:42px}
.home-top .carousel-control-prev{left:14px}.home-top .carousel-control-next{right:14px}
.home-top .carousel-control-prev-icon,.home-top .carousel-control-next-icon{filter:invert(1);width:1rem;height:1rem}

.imp-links{background:#fff;border-radius:14px;box-shadow:0 12px 30px rgba(10,29,77,.14);overflow:hidden;height:490px;display:flex;flex-direction:column;border:1px solid #dfe4f1}
.imp-links h2{margin:0;background:var(--sx-gold);color:var(--sx-navy);text-align:center;font-family:var(--f-head,Georgia,serif);font-size:1.3rem;font-weight:700;padding:.75rem;letter-spacing:.01em}
.imp-list{flex:1;display:flex;flex-direction:column;gap:6px;padding:8px;background:#f1f4fb}
.imp-item{flex:1 1 0;min-height:0;position:relative;display:flex;align-items:center;gap:.9rem;padding:0 1rem;border-radius:8px;overflow:hidden;color:#fff;font-weight:700;font-size:.98rem;text-decoration:none;background:linear-gradient(90deg,var(--sx-navy) 0%,#1b3a8a 100%);transition:color .25s,transform .25s,box-shadow .25s}
.imp-item::before{content:"";position:absolute;inset:0;background:var(--sx-gold);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;z-index:0}
.imp-item>*{position:relative;z-index:1}
.imp-ico{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--sx-navy);font-size:.95rem;transition:background .25s,color .25s}
.imp-item span.t{flex:1;line-height:1.2}
.imp-item .go{font-size:.75rem;opacity:.7;transition:transform .25s}
.imp-item:hover,.imp-item:focus-visible{color:var(--sx-navy);transform:translateX(-3px);box-shadow:0 6px 16px rgba(10,29,77,.25)}
.imp-item:hover::before,.imp-item:focus-visible::before{transform:scaleX(1)}
.imp-item:hover .imp-ico,.imp-item:focus-visible .imp-ico{background:var(--sx-navy);color:var(--sx-gold)}
.imp-item:hover .go{transform:translateX(4px);opacity:1}
.imp-item.hot{background:linear-gradient(90deg,#8A6A10 0%,#B8963A 100%)}

@media(max-width:991px){
  .home-top{padding:.6rem 0 1rem}
  .home-top .slide-bg{height:400px}
  .imp-links{height:auto;margin-top:.3rem}
  .imp-item{padding:.85rem 1rem}
  .imp-list{gap:6px}
}
@media(max-width:575px){.home-top .slide-bg .container{padding-left:1.2rem;padding-right:1.2rem}}

/* the old chat/back-to-top safety: header must never cover the floating buttons */
