@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800&family=Inter:wght@400;500;600&display=swap');

:root{
  --rsg-navy:#09247c;
  --rsg-navy-dark:#071b5e;
  --rsg-red:#e20613;
  --rsg-red-dark:#b8050f;
  --rsg-black:#000000;
  --rsg-gray:#61615f;
  --rsg-gray-light:#9a9a97;
  --rsg-white:#ffffff;
  --rsg-line:rgba(9,36,124,.10);
  --rsg-tint:#f4f6fb;
  --font-display:'Archivo', sans-serif;
  --font-body:'Inter', sans-serif;
  --header-h:84px;
}
@media (max-width:900px){ :root{ --header-h:68px; } }

.rsg-header, .rsg-header *{ box-sizing:border-box; }

.rsg-header{
  position:fixed; inset:0 0 auto 0; z-index:1000;
  background:var(--rsg-white);
  border-bottom:1px solid var(--rsg-line);
  transition:box-shadow .25s ease, border-color .25s ease;
}
.rsg-header.is-scrolled{
  box-shadow:0 8px 24px -16px rgba(9,36,124,.35);
  border-bottom-color:transparent;
}
.rsg-header__inner{
  height:var(--header-h);
  max-width:1280px; margin:0 auto; padding:0 24px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}

/* Brand */
.rsg-brand{ display:flex; align-items:center; gap:14px; text-decoration:none; }
.rsg-brand__logo{ height:38px; width:auto; display:block; }
.rsg-brand__divider{ width:1px; height:30px; background:var(--rsg-line); }
.rsg-brand__text strong{
  font-family:var(--font-display); font-weight:700; font-size:16px;
  color:var(--rsg-navy); letter-spacing:.2px; display:block; line-height:1.15;
}
.rsg-brand__text strong em{ font-style:normal; font-weight:500; color:var(--rsg-gray); }
.rsg-brand__text small{ display:block; font-family:var(--font-body); font-size:11.5px; color:var(--rsg-gray-light); margin-top:2px; }
@media (max-width:640px){ .rsg-brand__text small{ display:none; } }

/* Desktop nav */
.rsg-nav{ display:none; }
@media (min-width:1024px){
  .rsg-nav{ display:flex; align-items:center; gap:28px; }
  .rsg-nav__list{ list-style:none; display:flex; gap:6px; margin:0; padding:0; }
  .rsg-nav__link{
    position:relative; display:inline-flex; align-items:center; gap:6px;
    font-family:var(--font-body); font-weight:500; font-size:14.5px;
    color:var(--rsg-gray); text-decoration:none; padding:8px 4px;
  }
  .rsg-nav__link::after{
    content:''; position:absolute; left:4px; right:4px; bottom:2px; height:2px;
    background:var(--rsg-red); transform:scaleX(0); transform-origin:left;
    transition:transform .25s ease;
  }
  .rsg-nav__link:hover{ color:var(--rsg-navy); }
  .rsg-nav__link:hover::after{ transform:scaleX(1); }
  .rsg-nav__chevron{ width:13px; height:13px; transition:transform .2s ease; }
  .rsg-nav__item--has-menu:hover .rsg-nav__chevron{ transform:rotate(180deg); }

  .rsg-nav__item--has-menu{ position:relative; }
  .rsg-submenu{
    position:absolute; top:calc(100% + 14px); left:50%; transform:translate(-50%,6px);
    min-width:250px; background:var(--rsg-white); border:1px solid var(--rsg-line);
    box-shadow:0 20px 40px -20px rgba(9,36,124,.25);
    padding:8px; opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .2s ease, transform .2s ease, visibility .2s;
  }
  .rsg-nav__item--has-menu:hover .rsg-submenu{
    opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0);
  }
  .rsg-submenu__link{
    display:flex; align-items:center; gap:10px; padding:10px 12px;
    font-family:var(--font-body); font-size:14px; color:var(--rsg-navy);
    text-decoration:none; border-left:2px solid transparent;
  }
  .rsg-submenu__link::before{
    content:''; width:5px; height:5px; border-radius:50%; background:var(--rsg-gray-light);
    flex-shrink:0; transition:background .2s ease;
  }
  .rsg-submenu__link:hover{ background:var(--rsg-tint); border-left-color:var(--rsg-red); }
  .rsg-submenu__link:hover::before{ background:var(--rsg-red); }
}

/* Buttons */
.rsg-btn{
  font-family:var(--font-body); font-weight:600; font-size:14px;
  text-decoration:none; display:inline-flex; align-items:center; justify-content:center;
  padding:11px 20px; border-radius:3px; transition:background .2s ease, transform .2s ease, color .2s ease;
  white-space:nowrap;
}
.rsg-btn--primary{ background:var(--rsg-red); color:var(--rsg-white); }
.rsg-btn--primary:hover{ background:var(--rsg-red-dark); transform:translateY(-1px); }
.rsg-btn--sm{ padding:8px 14px; font-size:13px; }

.rsg-nav__cta{ margin-left:6px; }

/* Mobile */
.rsg-mobile-actions{ display:flex; align-items:center; gap:10px; }
@media (min-width:1024px){ .rsg-mobile-actions{ display:none; } }
.rsg-mobile-cta{ display:none; }
@media (min-width:480px){ .rsg-mobile-cta{ display:inline-flex; } }

.rsg-menu-toggle{
  width:38px; height:38px; border:none; background:transparent; cursor:pointer;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
  padding:0;
}
.rsg-menu-toggle span{
  width:22px; height:2px; background:var(--rsg-navy); display:block; border-radius:1px;
  transition:transform .25s ease, opacity .2s ease;
}
.rsg-menu-toggle.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.rsg-menu-toggle.is-open span:nth-child(2){ opacity:0; }
.rsg-menu-toggle.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.rsg-mobile-menu{
  display:none; position:fixed; left:0; right:0; top:var(--header-h); z-index:999;
  background:var(--rsg-white); border-bottom:1px solid var(--rsg-line);
  box-shadow:0 20px 40px -24px rgba(9,36,124,.3);
  max-height:calc(100svh - var(--header-h)); overflow-y:auto;
}
.rsg-mobile-menu.is-open{ display:block; }
.rsg-mobile-menu ul{ list-style:none; margin:0; padding:8px 20px 24px; }
.rsg-mobile-menu > ul > li{ border-bottom:1px solid var(--rsg-line); }
.rsg-mobile-menu a{
  display:block; padding:15px 4px; font-family:var(--font-body); font-weight:500;
  font-size:15px; color:var(--rsg-navy); text-decoration:none;
}
.rsg-mobile-menu summary{
  display:flex; align-items:center; justify-content:space-between; cursor:pointer;
  padding:15px 4px; font-family:var(--font-body); font-weight:500; font-size:15px;
  color:var(--rsg-navy); list-style:none;
}
.rsg-mobile-menu summary::-webkit-details-marker{ display:none; }
.rsg-mobile-menu summary svg{ width:14px; height:14px; transition:transform .2s ease; }
.rsg-mobile-menu details[open] summary svg{ transform:rotate(180deg); }
.rsg-mobile-submenu{ padding:0 0 10px 12px; display:flex; flex-direction:column; }
.rsg-mobile-submenu a{ padding:11px 4px; font-size:14px; color:var(--rsg-gray); font-weight:400; }

.rsg-header-spacer{ height:var(--header-h); }

.rsg-header a:focus-visible,
.rsg-header button:focus-visible{ outline:2px solid var(--rsg-red); outline-offset:2px; }

@media (prefers-reduced-motion:reduce){
  .rsg-header *{ transition:none !important; }
}
.rsg-header__inner{ min-width:0; }
.rsg-brand{ min-width:0; flex-shrink:1; overflow:hidden; }
.rsg-brand__text{ min-width:0; overflow:hidden; }
.rsg-brand__text strong{
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block;
}
.rsg-mobile-actions{ flex-shrink:0; }