/* TransSP universal header and off-canvas navigation */
.tsp-header{position:sticky;top:0;z-index:999;background:#c3cbd3;font-family:var(--font-body)}
.tsp-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;width:85%;margin:auto;padding:.55rem 0}
.tsp-header__menu-toggle{display:flex;min-height:44px;align-items:center;gap:.55rem;padding:0;border:0;background:transparent;color:var(--color-navy-dark);font:500 1rem var(--font-body);cursor:pointer}
.tsp-header__menu-toggle svg,.tsp-header__icon svg{width:21px;height:21px;fill:currentColor}
.tsp-header__logo img{display:block;width:auto;height:25px}.tsp-header__actions{display:flex;align-items:center}.tsp-header__icon{display:grid;width:44px;height:44px;place-items:center;color:var(--color-navy-dark)}
.tsp-header button:focus-visible,.tsp-header a:focus-visible{outline:3px solid var(--color-yellow);outline-offset:2px}
.site-menu{position:fixed;inset:0;z-index:1000;visibility:hidden;pointer-events:none}.site-menu.is-open{visibility:visible;pointer-events:auto}.site-menu__overlay{position:absolute;inset:0;background:rgba(0,0,0,.84);opacity:0;transition:opacity .24s ease}.site-menu.is-open .site-menu__overlay{opacity:1}
.site-menu__panel{position:absolute;inset:0 auto 0 0;width:min(330px,92vw);padding:.85rem 30px 1rem;overflow-y:auto;background:#fff;color:#172d38;box-shadow:5px 0 24px rgba(0,0,0,.14);transform:translateX(-100%);transition:transform .28s cubic-bezier(.2,.75,.25,1);scrollbar-color:#777 #eee;scrollbar-width:auto}.site-menu.is-open .site-menu__panel{transform:none}
.site-menu__top{display:flex;align-items:center;justify-content:space-between;min-height:70px}.site-menu__logo{display:block}.site-menu__logo img{display:block;width:230px;max-width:100%;height:auto}.site-menu__close{position:absolute;top:.35rem;right:.35rem;display:grid;width:32px;height:32px;place-items:center;border:0;background:#fff;color:#172d38;font-size:1.35rem;line-height:1;cursor:pointer;opacity:.72}.site-menu__title{margin:.2rem 0 .45rem;text-align:center;color:#152d39;font-family:Georgia,'Times New Roman',serif;font-size:1.1rem;font-weight:600}
.site-menu__list{margin:0;padding:0;border-left:1px solid #94a1a7;list-style:none}.site-menu__list>li{margin:0}.site-menu__list a,.site-menu__dropdown{display:flex;width:100%;min-height:38px;align-items:center;padding:.38rem .68rem;border:0;background:#fff;color:#20333c;font:400 .88rem/1.2 var(--font-body);text-align:left;text-decoration:none;cursor:pointer;transition:background .16s,color .16s}.site-menu__list a:hover,.site-menu__dropdown:hover{background:#edf1f2;color:#e5332a}.site-menu__list a.is-active,.site-menu__dropdown.is-active{background:#132f3c;color:#f13d32}
.site-menu__dropdown{justify-content:flex-start;gap:.8rem}.site-menu__dropdown span{width:0;height:0;margin-left:.2rem;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor;transition:transform .18s ease}.has-children.is-expanded>.site-menu__dropdown span{transform:rotate(180deg)}
.site-menu__list ul{display:none;margin:0;padding:0 0 0 .42rem;list-style:none}.site-menu__list .is-expanded>ul{display:block}.site-menu__list ul a{min-height:34px;padding:.3rem .68rem;font-size:.8rem;line-height:1.18}.site-menu__list ul a.is-active{background:#edf1f2;color:#e5332a;font-weight:600}
.site-menu__contact{margin-top:.5rem;padding:.6rem .65rem;border:1px solid #87969d;border-radius:6px;background:#edf1f2;color:#111}.site-menu__contact h2{margin:0 0 .4rem;font-family:Georgia,'Times New Roman',serif;font-size:.88rem;line-height:1.1;letter-spacing:0}.site-menu__contact p{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:.76rem;line-height:1.12}.site-menu__contact-btn{display:flex;min-height:42px;align-items:center;justify-content:center;margin-top:.5rem;padding:.5rem;border-radius:5px;background:#ee4b3e;color:#fff;font-size:.88rem;text-decoration:none}.site-menu__contact-btn:hover{background:#d73c31}
body.tsp-menu-open{overflow:hidden}
@media(max-width:767px){.tsp-header__inner{width:90%}.tsp-header__menu-toggle span{display:none}.tsp-header__menu-toggle svg{width:28px;height:28px}.tsp-header__logo img{height:24px}.site-menu__panel{padding-inline:26px}}
@media(prefers-reduced-motion:reduce){.site-menu__overlay,.site-menu__panel,.site-menu__dropdown span{transition:none}}
.has-children.is-expanded>.site-menu__dropdown{background:#132f3c;color:#f13d32}
.site-menu__contact-btn{background:#0a3161}.site-menu__contact-btn:hover{background:#06264d}

/* Component isolation: page builders must never restyle the shared header. */
.tsp-header,.tsp-header *{box-sizing:border-box}
.tsp-header .tsp-header__menu-toggle,
.tsp-header .site-menu__close,
.tsp-header .site-menu__dropdown{
  width:auto;
  margin:0;
  border-radius:0;
  box-shadow:none;
  font-family:var(--font-body);
  text-transform:none;
}
.tsp-header .tsp-header__menu-toggle{display:flex;width:auto;min-height:44px;padding:0;border:0;background:transparent;color:var(--color-navy-dark);font-size:1rem;font-weight:500}
.tsp-header .tsp-header__menu-toggle:hover,.tsp-header .tsp-header__menu-toggle:focus{border:0;background:transparent;color:var(--color-navy-dark)}
.tsp-header .site-menu__close{display:grid;width:32px;height:32px;padding:0;border:0;background:#fff;color:#172d38;font-size:1.35rem;font-weight:400}
.tsp-header .site-menu__close:hover,.tsp-header .site-menu__close:focus{border:0;background:#fff;color:#172d38}
.tsp-header .site-menu__dropdown{display:flex;width:100%;min-height:38px;padding:.38rem .68rem;border:0;background:#fff;color:#20333c;font-size:.88rem;font-weight:400;line-height:1.2;text-align:left}
.tsp-header .site-menu__dropdown:hover{border:0;background:#edf1f2;color:#b31942}
.tsp-header .has-children.is-expanded>.site-menu__dropdown{background:#132f3c;color:#f13d32}
.tsp-header .site-menu__list a{font-family:var(--font-body);font-size:.88rem;font-weight:400;line-height:1.2;text-decoration:none}
.tsp-header .site-menu__list ul a{font-size:.8rem;line-height:1.18}
.tsp-header .site-menu__title{font-family:Georgia,'Times New Roman',serif;font-size:1.1rem;font-weight:600;line-height:1.2}
.tsp-header .site-menu__contact h2,.tsp-header .site-menu__contact p{color:#111;font-family:Georgia,'Times New Roman',serif}

@media(min-width:768px){
  .tsp-header .site-menu__panel{overflow:hidden;padding-top:.65rem;padding-bottom:.65rem}
  .tsp-header .site-menu__top{min-height:62px}
  .tsp-header .site-menu__logo img{width:215px}
  .tsp-header .site-menu__title{margin:.1rem 0 .3rem;font-size:1rem}
  .tsp-header .site-menu__list a,.tsp-header .site-menu__dropdown{min-height:34px;padding:.28rem .62rem;font-size:.82rem}
  .tsp-header .site-menu__list ul a{min-height:29px;padding:.22rem .62rem;font-size:.74rem}
  .tsp-header .site-menu__contact{margin-top:.35rem;padding:.48rem .55rem}
  .tsp-header .site-menu__contact h2{margin-bottom:.25rem;font-size:.78rem}
  .tsp-header .site-menu__contact p{font-size:.69rem;line-height:1.08}
  .tsp-header .site-menu__contact-btn{min-height:36px;margin-top:.35rem;padding:.38rem;font-size:.78rem}
}
@media(min-width:768px) and (max-height:760px){
  .tsp-header .site-menu__panel{padding-top:.35rem;padding-bottom:.35rem}
  .tsp-header .site-menu__top{min-height:52px}
  .tsp-header .site-menu__logo img{width:190px}
  .tsp-header .site-menu__list a,.tsp-header .site-menu__dropdown{min-height:30px;padding:.2rem .55rem}
  .tsp-header .site-menu__contact{padding:.35rem .5rem}
}
