
/* HEADER + MEGA MENU */
.site-header{height:84px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(7,40,60,.08);position:sticky;top:0;z-index:100;transition:.28s}
.site-header.scrolled{height:72px;box-shadow:0 14px 35px rgba(5,38,56,.08)}
.header-row{height:84px;display:flex;align-items:center;transition:.28s}
.site-header.scrolled .header-row{height:72px}
.brand{width:235px;height:78px;display:flex;align-items:center;overflow:visible;padding-top:2px}
.brand img{width:100%;height:100%;object-fit:contain;display:block}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:27px}
.main-nav>a,.nav-trigger{font-size:11px;font-weight:800;border:0;background:none;padding:28px 0 26px;cursor:pointer;position:relative}
.main-nav>a:after,.nav-trigger:after{content:"";position:absolute;left:0;right:100%;bottom:18px;height:2px;background:var(--blue);transition:.28s var(--ease)}
.main-nav>a:hover:after,.nav-trigger:hover:after,.main-nav .active:after{right:0}
.nav-trigger span{font-size:10px;color:#78909b}
.header-tools{display:flex;align-items:center;gap:9px;margin-left:24px}
.icon-btn{width:38px;height:38px;border:0;background:none;display:grid;place-items:center;cursor:pointer}
.icon-btn svg{width:16px;height:16px}
.head-btn{height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;font-size:10px;font-weight:850}
.head-btn svg{width:12px;height:12px}
.head-btn.ghost{border:1px solid #8fc6de;background:#fff}
.head-btn.solid{background:var(--blue);color:#fff}
.mobile-trigger{display:none}
.mega-menu{position:fixed;left:0;right:0;top:78px;background:#fff;z-index:95;border-top:1px solid var(--line);box-shadow:0 24px 60px rgba(3,35,52,.12);opacity:0;visibility:hidden;transform:translateY(-12px);transition:.3s var(--ease)}
.site-header.scrolled .mega-menu{top:68px}
.mega-menu.open{opacity:1;visibility:visible;transform:none}
.mega-layout{display:grid;grid-template-columns:310px 1fr;gap:52px;padding:34px 0 38px}
.mega-intro{padding-right:34px;border-right:1px solid var(--line)}
.mega-intro>span{font-size:9px;color:var(--blue);text-transform:uppercase;font-weight:900;letter-spacing:.16em}
.mega-intro h3{margin:10px 0 0;font-size:27px;line-height:1.02;letter-spacing:-.035em}
.mega-intro p{margin:12px 0 0;font-size:11px;line-height:1.55;color:var(--muted)}
.mega-intro a{display:inline-block;margin-top:15px;color:var(--blue);font-size:10px;font-weight:850}
.mega-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 16px}
.mega-grid>a{display:flex;gap:12px;padding:13px;border:1px solid transparent;transition:.25s}
.mega-grid>a:hover{background:#f3f9fc;border-color:#dceaf0;transform:translateY(-2px)}
.mega-icon{width:36px;height:36px;border-radius:5px;background:#e9f6fb;color:var(--blue);display:grid;place-items:center;flex:none}
.mega-icon svg{width:18px;height:18px}
.mega-grid span:last-child{display:flex;flex-direction:column}
.mega-grid b{font-size:11px}
.mega-grid small{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.4}
.flag-mini i{width:36px;height:36px;border-radius:4px;background:var(--navy);color:#fff;display:grid;place-items:center;font-style:normal;font-size:9px;font-weight:900;flex:none}
.mega-scrim{position:fixed;inset:78px 0 0;background:rgba(3,24,36,.46);z-index:90;opacity:0;visibility:hidden;transition:.3s}
.mega-scrim.open{opacity:1;visibility:visible}
.mobile-menu,.mobile-backdrop{display:none}

/* SEARCH */
.search-overlay{position:fixed;inset:0;background:rgba(2,21,32,.82);backdrop-filter:blur(10px);z-index:130;opacity:0;visibility:hidden;transition:.3s}
.search-overlay.open{opacity:1;visibility:visible}
.search-shell{width:min(calc(100% - 34px),850px);margin:11vh auto 0;background:#fff;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.22);overflow:hidden;transform:translateY(18px);transition:.35s var(--ease)}
.search-overlay.open .search-shell{transform:none}
.search-top{height:58px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.15em;font-weight:900;color:#5e7380}
.search-top button{width:38px;height:38px;border:0;background:#f0f6f8;display:grid;place-items:center;cursor:pointer}
.search-field{height:74px;display:flex;align-items:center;gap:12px;padding:0 22px;border-bottom:1px solid var(--line)}
.search-field svg{width:22px;height:22px;color:var(--blue)}
.search-field input{width:100%;border:0;outline:0;font-size:22px}
.search-results{max-height:48vh;overflow:auto;padding:10px}
.search-results a{display:flex;align-items:center;justify-content:space-between;padding:14px 15px;border-radius:7px}
.search-results a:hover{background:#f1f8fb}
.search-results b{font-size:12px}.search-results span{font-size:9px;color:var(--muted)}

/* FOOTER */
.footer{background:#fff}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr .8fr .8fr 1fr;gap:42px;padding:48px 0 42px}
.footer-brand img{width:195px}.footer-brand p{max-width:320px;font-size:10px;line-height:1.55;color:var(--muted);margin:14px 0 11px}.footer-brand strong{font-size:8px;color:#7295a4;text-transform:uppercase;letter-spacing:.12em}
.footer-top>div:not(.footer-brand){display:flex;flex-direction:column}.footer-top h3{font-size:10px;margin:0 0 10px}.footer-top a{padding:3px 0;font-size:8px;color:#58717e}
.socials{display:flex;gap:6px;margin-top:12px}.socials a{width:28px;height:28px;background:var(--navy);color:#fff;display:grid;place-items:center;padding:0}
.footer-bottom{height:52px;background:var(--navy2);color:rgba(255,255,255,.52);font-size:7px}.footer-bottom .shell{height:100%;display:flex;align-items:center;justify-content:space-between}

/* CTA */
.cta-band{background:linear-gradient(115deg,#06314a,#07547a);color:#fff;position:relative;overflow:hidden}
.cta-band:after{content:"";position:absolute;inset:-40% -10% auto 45%;height:340px;background:radial-gradient(circle,rgba(24,184,232,.22),transparent 65%)}
.cta-band-inner{min-height:190px;position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:50px}
.cta-band h2{margin:9px 0 0;font-size:36px;line-height:1;letter-spacing:-.04em}.cta-band p{margin:11px 0 0;color:rgba(255,255,255,.68);font-size:11px;max-width:670px}

/* SHARED CARDS */
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.article-grid.wide{margin-top:25px}
.article-card{border:1px solid var(--line);background:#fff;overflow:hidden;transition:.3s var(--ease)}
.article-card:hover{transform:translateY(-6px);box-shadow:0 20px 45px rgba(5,40,58,.09)}
.article-card img{width:100%;height:170px;object-fit:cover;transition:.7s var(--ease)}.article-card:hover img{transform:scale(1.035)}
.article-card>div{padding:16px}.article-card span{font-size:8px;color:var(--blue);font-weight:900;text-transform:uppercase;letter-spacing:.11em}.article-card h3{margin:7px 0 0;font-size:16px;line-height:1.15}.article-card b{display:inline-block;margin-top:12px;color:var(--blue);font-size:9px}

/* RESPONSIVE HEADER */
@media(max-width:1080px){
 .main-nav,.header-tools .ghost,.header-tools> .icon-btn:not(.mobile-trigger){display:none}.mobile-trigger{display:grid}.header-tools{margin-left:auto}
 .mobile-menu{display:block;position:fixed;right:0;top:0;width:min(430px,92vw);height:100dvh;background:#fff;z-index:145;transform:translateX(102%);transition:.42s var(--ease)}
 .mobile-menu.open{transform:none}.mobile-backdrop{display:block;position:fixed;inset:0;background:rgba(2,22,34,.72);z-index:140;opacity:0;visibility:hidden;transition:.3s}.mobile-backdrop.open{opacity:1;visibility:visible}
 .mobile-head{height:72px;padding:8px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.mobile-head img{width:165px}.mobile-head button{width:42px;height:42px;border:1px solid var(--line);background:#fff;display:grid;place-items:center}
 .mobile-nav{padding:12px 20px;display:flex;flex-direction:column}.mobile-nav>a,.mobile-nav summary{padding:14px 0;border-bottom:1px solid var(--line);font-size:17px;font-weight:800;cursor:pointer;list-style:none}.mobile-nav details div{padding:5px 0 9px 15px;display:flex;flex-direction:column}.mobile-nav details a{padding:8px 0;color:#4e6774;font-size:12px}.mobile-nav .all-link{color:var(--blue);font-weight:800}.mobile-cta{padding:18px}.mobile-cta a{height:48px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;font-size:11px;font-weight:850}
 .footer-top{grid-template-columns:1.3fr 1fr 1fr}.footer-top>div:nth-child(4),.footer-top>div:nth-child(5){display:none}
}
@media(max-width:680px){
 .site-header,.header-row{height:64px}.brand{width:155px;height:58px}.header-tools .solid{display:none}
 .footer-top{grid-template-columns:1fr 1fr;gap:28px}.footer-brand{grid-column:1/-1}.footer-bottom{height:auto}.footer-bottom .shell{padding:12px 0;flex-direction:column;align-items:flex-start;gap:5px}
 .cta-band-inner{padding:38px 0;min-height:0;flex-direction:column;align-items:flex-start}.cta-band h2{font-size:29px}
 .article-grid{grid-template-columns:1fr}
}


/* =========================================================
   SEA LICENSING — HOME HEADER / MENU PREMIUM PASS
   ========================================================= */

/* Larger, uncropped logo */
.site-header {
  height: 92px;
}

.header-row {
  height: 92px;
}

.site-header.scrolled {
  height: 76px;
}

.site-header.scrolled .header-row {
  height: 76px;
}

.brand {
  width: 255px;
  height: 86px;
  flex: 0 0 255px;
  display: flex;
  align-items: center;
  overflow: visible;
  padding: 3px 0;
}

.brand img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
}


/* ---------------------------------------------------------
   PREMIUM DESKTOP NAVIGATION
   --------------------------------------------------------- */

.main-nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 3px;

  padding: 5px 6px;

  border: 1px solid rgba(10, 70, 102, .10);
  border-radius: 12px;

  background:
    linear-gradient(
      180deg,
      rgba(250, 253, 255, .94),
      rgba(243, 249, 252, .88)
    );

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    0 8px 24px rgba(5, 45, 67, .045);

  backdrop-filter: blur(14px);
}


.main-nav > a,
.nav-trigger {
  min-height: 40px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;

  padding: 0 14px;

  border: 0;
  border-radius: 8px;

  background: transparent;

  color: #09283b;

  font-size: 11px;
  font-weight: 800;
  letter-spacing: -.01em;

  cursor: pointer;

  transition:
    color .28s ease,
    background .28s ease,
    box-shadow .28s ease,
    transform .28s cubic-bezier(.22, 1, .36, 1);
}


/* Remove old underline */
.main-nav > a::after,
.nav-trigger::after {
  display: none !important;
}


/* Premium animated hover */
.main-nav > a:hover,
.nav-trigger:hover,
.main-nav > a.active,
.nav-trigger.active {
  color: #047fb9;

  background:
    linear-gradient(
      135deg,
      rgba(220, 243, 253, .92),
      rgba(239, 249, 253, .96)
    );

  box-shadow:
    inset 0 0 0 1px rgba(22, 155, 211, .12),
    0 6px 15px rgba(4, 108, 153, .07);

  transform: translateY(-1px);
}


/* Animated dropdown arrow */
.nav-trigger span {
  display: inline-block;

  color: #6e8a99;

  font-size: 10px;

  transition:
    color .25s ease,
    transform .32s cubic-bezier(.22, 1, .36, 1);
}

.nav-trigger:hover span,
.nav-trigger.active span {
  color: #078fd1;
  transform: rotate(180deg);
}


/* Search button */
.header-tools .icon-btn {
  border-radius: 8px;

  transition:
    background .25s ease,
    color .25s ease,
    transform .25s ease;
}

.header-tools .icon-btn:hover {
  color: #078fd1;
  background: #eef8fc;
  transform: translateY(-1px);
}


/* Header CTA refinements */
.head-btn {
  border-radius: 7px;

  transition:
    transform .28s cubic-bezier(.22, 1, .36, 1),
    box-shadow .28s ease,
    background .28s ease;
}

.head-btn:hover {
  transform: translateY(-2px);
}

.head-btn.ghost:hover {
  background: #f1f9fc;

  box-shadow:
    0 8px 20px rgba(7, 93, 132, .08);
}

.head-btn.solid {
  background:
    linear-gradient(
      135deg,
      #078fd1,
      #087fb9
    );

  box-shadow:
    0 8px 20px rgba(7, 143, 209, .16);
}

.head-btn.solid:hover {
  box-shadow:
    0 13px 28px rgba(7, 143, 209, .24);
}


/* ---------------------------------------------------------
   MEGA MENU — MORE CORPORATE / PREMIUM
   --------------------------------------------------------- */

.mega-menu {
  top: 92px;

  background:
    rgba(250, 253, 255, .985);

  backdrop-filter: blur(24px);

  border-top:
    1px solid rgba(8, 78, 111, .08);

  box-shadow:
    0 34px 75px rgba(3, 31, 47, .14);

  opacity: 0;
  visibility: hidden;

  transform:
    translateY(-12px)
    scale(.988);

  transform-origin:
    top center;

  transition:
    opacity .30s ease,
    visibility .30s ease,
    transform .38s cubic-bezier(.22, 1, .36, 1);
}

.site-header.scrolled .mega-menu {
  top: 76px;
}

.mega-menu.open {
  opacity: 1;
  visibility: visible;

  transform:
    translateY(0)
    scale(1);
}


.mega-layout {
  padding-top: 30px;
  padding-bottom: 32px;
}


.mega-intro {
  padding: 25px;

  border-right: 0;

  border-radius: 10px;

  color: #fff;

  background:
    radial-gradient(
      circle at 90% 5%,
      rgba(20, 181, 231, .25),
      transparent 40%
    ),
    linear-gradient(
      135deg,
      #07344e,
      #05263a
    );

  box-shadow:
    0 18px 38px rgba(4, 38, 57, .12);
}


.mega-intro > span {
  color: #53d9fa;
}


.mega-intro h3 {
  color: #fff;
}


.mega-intro p {
  color: rgba(255,255,255,.68);
}


.mega-intro a {
  color: #59ddfb;
}


.mega-grid > a {
  border-radius: 8px;

  border:
    1px solid rgba(5, 71, 104, .075);

  background:
    rgba(255, 255, 255, .68);

  transition:
    transform .28s cubic-bezier(.22, 1, .36, 1),
    box-shadow .28s ease,
    border-color .28s ease,
    background .28s ease;
}


.mega-grid > a:hover {
  transform: translateY(-4px);

  border-color:
    rgba(7, 143, 209, .20);

  background: #fff;

  box-shadow:
    0 16px 34px rgba(4, 50, 73, .09);
}


/* Keep mega dark overlay aligned to larger header */
.mega-scrim {
  inset: 92px 0 0;
}

.site-header.scrolled + .mega-scrim {
  inset: 76px 0 0;
}


@media (max-width: 1080px) {
  .site-header,
  .header-row {
    height: 72px;
  }

  .brand {
    width: 185px;
    height: 66px;
    flex-basis: 185px;
  }

  .mega-scrim {
    inset: 72px 0 0;
  }
}


/* =========================================================
   SEA LICENSING — GLOBAL CTA INTERACTION
   Master behavior based on header "Start a Request"
   ========================================================= */

/*
   Applies to:
   - standard .btn buttons
   - Flag States buttons
   - Honduras buttons
   - medical/download CTA
   - future .sl-cta buttons

   Does NOT affect filters, tabs, menu items or navigation pills.
*/

a.btn,
button.btn,
.fsh-btn,
.hnd2-btn,
.hnd2-medical > a,
.sl-cta{
  position:relative !important;
  overflow:hidden !important;

  transform:
    translateY(0) !important;

  transition:
    transform .32s cubic-bezier(.22,1,.36,1),
    background .30s ease,
    border-color .30s ease,
    box-shadow .34s ease,
    color .30s ease !important;
}


/* ---------------------------------------------------------
   LIGHT SWEEP
   --------------------------------------------------------- */

a.btn::after,
button.btn::after,
.fsh-btn::after,
.hnd2-btn::after,
.hnd2-medical > a::after,
.sl-cta::after{
  content:"";

  position:absolute;

  top:-35%;
  bottom:-35%;

  left:-55%;

  width:28%;

  z-index:1;

  opacity:0;

  pointer-events:none;

  transform:
    skewX(-22deg);

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.42),
      transparent
    );

  transition:
    left .58s cubic-bezier(.22,1,.36,1),
    opacity .20s ease;
}


/* keep button content above sweep */

a.btn > *,
button.btn > *,
.fsh-btn > *,
.hnd2-btn > *,
.hnd2-medical > a > *,
.sl-cta > *{
  position:relative;
  z-index:2;
}


/* ---------------------------------------------------------
   HOVER
   --------------------------------------------------------- */

a.btn:hover,
button.btn:hover,
.fsh-btn:hover,
.hnd2-btn:hover,
.hnd2-medical > a:hover,
.sl-cta:hover{
  transform:
    translateY(-3px) !important;

  box-shadow:
    0 13px 28px rgba(5,94,133,.20) !important;
}


a.btn:hover::after,
button.btn:hover::after,
.fsh-btn:hover::after,
.hnd2-btn:hover::after,
.hnd2-medical > a:hover::after,
.sl-cta:hover::after{
  left:125%;
  opacity:1;
}


/* ---------------------------------------------------------
   ARROW MOVEMENT
   Supports SVG, i, .arrow
   --------------------------------------------------------- */

a.btn svg,
button.btn svg,
.fsh-btn svg,
.hnd2-btn svg,
.hnd2-medical > a i,
.sl-cta svg,
.sl-cta i,
.sl-cta .arrow{
  transition:
    transform .32s cubic-bezier(.22,1,.36,1) !important;
}


a.btn:hover svg,
button.btn:hover svg,
.fsh-btn:hover svg,
.hnd2-btn:hover svg,
.hnd2-medical > a:hover i,
.sl-cta:hover svg,
.sl-cta:hover i,
.sl-cta:hover .arrow{
  transform:
    translateX(5px) !important;
}


/* ---------------------------------------------------------
   PRIMARY BLUE / CYAN CTA
   --------------------------------------------------------- */

.btn-primary:hover,
.fsh-btn.primary:hover,
.hnd2-btn.primary:hover,
.sl-cta.primary:hover{
  border-color:
    rgba(80,213,242,.80) !important;

  background:
    linear-gradient(
      135deg,
      #0b91c8 0%,
      #20bce2 100%
    ) !important;

  color:
    #ffffff !important;

  box-shadow:
    0 14px 30px rgba(8,127,176,.28),
    0 0 0 1px rgba(94,220,245,.08) inset !important;
}


/* ---------------------------------------------------------
   OUTLINE / DARK BACKGROUND CTA
   Example: Medical form button
   --------------------------------------------------------- */

.hnd2-medical > a:hover,
.sl-cta.outline:hover{
  border-color:
    rgba(111,224,246,.78) !important;

  background:
    rgba(42,181,215,.18) !important;

  color:
    #ffffff !important;

  box-shadow:
    0 12px 27px rgba(0,40,59,.17),
    0 0 0 1px rgba(99,220,244,.07) inset !important;
}


.hnd2-medical > a:hover span{
  color:#ffffff !important;
}


.hnd2-medical > a:hover i{
  color:#8ceafb !important;
}


/* ---------------------------------------------------------
   ACTIVE / CLICK
   --------------------------------------------------------- */

a.btn:active,
button.btn:active,
.fsh-btn:active,
.hnd2-btn:active,
.hnd2-medical > a:active,
.sl-cta:active{
  transform:
    translateY(-1px)
    scale(.985) !important;

  transition-duration:
    .10s !important;
}


/* ---------------------------------------------------------
   KEYBOARD ACCESSIBILITY
   --------------------------------------------------------- */

a.btn:focus-visible,
button.btn:focus-visible,
.fsh-btn:focus-visible,
.hnd2-btn:focus-visible,
.hnd2-medical > a:focus-visible,
.sl-cta:focus-visible{
  outline:
    2px solid #69def5 !important;

  outline-offset:
    3px !important;
}


/* ---------------------------------------------------------
   REDUCED MOTION
   --------------------------------------------------------- */

@media(prefers-reduced-motion:reduce){

  a.btn,
  button.btn,
  .fsh-btn,
  .hnd2-btn,
  .hnd2-medical > a,
  .sl-cta,
  a.btn::after,
  button.btn::after,
  .fsh-btn::after,
  .hnd2-btn::after,
  .hnd2-medical > a::after,
  .sl-cta::after,
  a.btn svg,
  button.btn svg,
  .fsh-btn svg,
  .hnd2-btn svg,
  .hnd2-medical > a i{
    transition:none !important;
  }

}

