/**
 * TRVSystem Template System v1.0.1
 * Shared layout only: header, navigation, breadcrumbs, main containment, CTA and footer.
 * Page-specific presentation remains in home.css/style.css.
 */
:root{
  --ts-color-navy:#061e36;
  --ts-color-navy-deep:#031426;
  --ts-color-orange:#f26522;
  --ts-color-orange-dark:#d9541b;
  --ts-color-white:#fff;
  --ts-color-surface:#f5f7fa;
  --ts-color-text:#0d1117;
  --ts-color-muted:#5b6778;
  --ts-color-border:#d8e0e8;
  --ts-color-focus:#ffb38f;
  --ts-font-sans:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;
  --ts-font-size-sm:.8125rem;
  --ts-font-size-base:1rem;
  --ts-font-size-lg:1.125rem;
  --ts-space-1:.25rem;
  --ts-space-2:.5rem;
  --ts-space-3:.75rem;
  --ts-space-4:1rem;
  --ts-space-5:1.5rem;
  --ts-space-6:2rem;
  --ts-space-7:3rem;
  --ts-radius-sm:.625rem;
  --ts-radius-md:1rem;
  --ts-border:1px solid var(--ts-color-border);
  --ts-shadow-sm:0 2px 12px rgba(6,30,54,.08);
  --ts-shadow-lg:0 16px 42px rgba(6,30,54,.18);
  --ts-content-width:67.5rem;
  --ts-wide-width:73.75rem;
  --ts-reading-width:48rem;
  --ts-touch-target:2.75rem;
  /* Breakpoint reference tokens. CSS custom properties cannot be used in media queries. */
  --ts-breakpoint-sm:30rem;
  --ts-breakpoint-nav:50rem;
  --ts-breakpoint-lg:75rem;
}

.ts-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ts-skip-link{position:fixed;left:var(--ts-space-4);top:var(--ts-space-4);z-index:10000;transform:translateY(-180%);background:var(--ts-color-white);color:var(--ts-color-navy);padding:var(--ts-space-3) var(--ts-space-4);border:2px solid var(--ts-color-orange);border-radius:var(--ts-radius-sm);font-weight:700;text-decoration:none}
.ts-skip-link:focus{transform:translateY(0)}
.ts-container{width:min(100% - 2rem,var(--ts-content-width));margin-inline:auto}

.ts-topbar{background:var(--ts-color-white);border-bottom:var(--ts-border);font-family:var(--ts-font-sans);font-size:var(--ts-font-size-sm)}
.ts-topbar__inner{display:flex;align-items:center;justify-content:center;gap:var(--ts-space-4) var(--ts-space-6);min-height:2.25rem;flex-wrap:wrap;padding-block:var(--ts-space-1)}
.ts-topbar__item{display:inline-flex;align-items:center;gap:var(--ts-space-2);color:var(--ts-color-muted);text-decoration:none;overflow-wrap:anywhere}
.ts-topbar__item svg{width:.875rem;height:.875rem;stroke:var(--ts-color-orange);stroke-width:2;fill:none;flex:0 0 auto}
a.ts-topbar__item:hover{text-decoration:underline;text-underline-offset:.2em}

.ts-header{position:sticky;top:0;z-index:500;background:var(--ts-color-navy);font-family:var(--ts-font-sans);box-shadow:var(--ts-shadow-sm)}
.ts-header__inner{display:flex;align-items:center;justify-content:space-between;min-height:4.5rem;gap:var(--ts-space-4);position:relative}
.ts-logo{display:inline-flex;align-items:center;color:var(--ts-color-white);font-size:1.45rem;font-weight:800;letter-spacing:-.02em;text-decoration:none;min-height:var(--ts-touch-target)}
.ts-logo::before{content:"";width:.25rem;height:1.5rem;background:var(--ts-color-orange);border-radius:999px;margin-right:var(--ts-space-2)}
.ts-logo span{color:inherit;font-weight:800}
.ts-menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;width:var(--ts-touch-target);height:var(--ts-touch-target);padding:.55rem;border:1px solid rgba(255,255,255,.26);border-radius:var(--ts-radius-sm);background:transparent;cursor:pointer}
.ts-menu-toggle>span:not(.ts-visually-hidden){display:block;width:1.45rem;height:2px;margin:.16rem 0;background:var(--ts-color-white);border-radius:999px;transition:transform .2s ease,opacity .2s ease}
.ts-menu-toggle[aria-expanded="true"]>span:nth-of-type(2){transform:translateY(.32rem) rotate(45deg)}
.ts-menu-toggle[aria-expanded="true"]>span:nth-of-type(3){opacity:0}
.ts-menu-toggle[aria-expanded="true"]>span:nth-of-type(4){transform:translateY(-.32rem) rotate(-45deg)}
.ts-nav{display:flex;align-items:center;gap:clamp(1rem,2vw,2rem)}
.ts-nav>a,.ts-nav-submenu-toggle{display:inline-flex;align-items:center;min-height:var(--ts-touch-target);border:0;background:transparent;color:rgba(255,255,255,.82);font:500 .9375rem/1 var(--ts-font-sans);text-decoration:none;cursor:pointer;white-space:nowrap}
.ts-nav>a:hover,.ts-nav>a.is-active,.ts-nav-submenu-toggle:hover,.ts-nav-group.is-active>.ts-nav-submenu-toggle{color:var(--ts-color-white)}
.ts-nav>a.is-active,.ts-nav-group.is-active>.ts-nav-submenu-toggle{box-shadow:inset 0 -2px var(--ts-color-orange)}
.ts-nav-cta{height:auto!important;min-height:var(--ts-touch-target)!important;padding:.65rem 1rem!important;border-radius:var(--ts-radius-sm);background:var(--ts-color-orange)!important;color:var(--ts-color-white)!important;font-weight:700!important;box-shadow:none!important}
.ts-nav-cta:hover{background:var(--ts-color-orange-dark)!important}
.ts-nav-group{position:relative}
.ts-submenu{position:absolute;left:0;top:calc(100% + .25rem);min-width:15rem;padding:var(--ts-space-2);border:var(--ts-border);border-radius:var(--ts-radius-sm);background:var(--ts-color-white);box-shadow:var(--ts-shadow-lg);opacity:0;visibility:hidden;transform:translateY(-.4rem);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:600}
.ts-submenu a{display:flex;align-items:center;min-height:2.75rem;padding:.55rem .75rem;border-radius:.5rem;color:var(--ts-color-text);font:500 var(--ts-font-size-sm)/1.3 var(--ts-font-sans);text-decoration:none;white-space:normal}
.ts-submenu a:hover,.ts-submenu a:focus-visible{background:var(--ts-color-surface);color:var(--ts-color-orange-dark)}
.ts-nav-group:hover>.ts-submenu,.ts-nav-group:focus-within>.ts-submenu,.ts-nav-group.is-open>.ts-submenu{opacity:1;visibility:visible;transform:translateY(0)}

.ts-breadcrumbs{border-bottom:var(--ts-border);background:var(--ts-color-white);font-family:var(--ts-font-sans)}
.ts-breadcrumbs ol{display:flex;align-items:center;gap:var(--ts-space-2);min-height:2.75rem;margin:0;padding:0;list-style:none;font-size:var(--ts-font-size-sm);color:var(--ts-color-muted);overflow-x:auto;white-space:nowrap;scrollbar-width:thin}
.ts-breadcrumbs li{display:inline-flex;align-items:center;gap:var(--ts-space-2)}
.ts-breadcrumbs li+li::before{content:"/";color:#9aa6b2}
.ts-breadcrumbs a{color:var(--ts-color-navy);text-decoration:none}
.ts-breadcrumbs a:hover{text-decoration:underline;text-underline-offset:.2em}

.ts-main{display:block;min-width:0;overflow-wrap:anywhere}
.ts-main img,.ts-main svg,.ts-main video,.ts-main canvas{max-width:100%;height:auto}
.ts-main iframe{max-width:100%}
.ts-main table{max-width:100%;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
.ts-main pre,.ts-main code{max-width:100%;overflow-x:auto}

.ts-assistance-cta{background:var(--ts-color-navy);color:var(--ts-color-white);padding:clamp(2rem,5vw,4rem) 0}
.ts-assistance-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--ts-space-6)}
.ts-assistance-cta h2{margin:0 0 var(--ts-space-2);color:var(--ts-color-white);font-family:var(--ts-font-sans);font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.2}
.ts-assistance-cta p{max-width:43rem;margin:0;color:rgba(255,255,255,.8)}
.ts-assistance-cta__button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--ts-touch-target);padding:.75rem 1.2rem;border-radius:var(--ts-radius-sm);background:var(--ts-color-orange);color:var(--ts-color-white);font:700 .875rem/1.2 var(--ts-font-sans);text-align:center;text-decoration:none;white-space:nowrap}
.ts-assistance-cta__button:hover{background:var(--ts-color-orange-dark)}

.ts-footer-bar{border-top:var(--ts-border);background:var(--ts-color-white);font-family:var(--ts-font-sans)}
.ts-footer-bar__inner{display:flex;align-items:center;justify-content:center;gap:var(--ts-space-3) var(--ts-space-6);min-height:3.5rem;flex-wrap:wrap;padding-block:var(--ts-space-3);color:var(--ts-color-muted);font-size:var(--ts-font-size-sm);text-align:center}
.ts-footer-bar a{color:var(--ts-color-navy);text-decoration:none}
.ts-footer-bar a:hover{text-decoration:underline;text-underline-offset:.2em}
.ts-footer{background:var(--ts-color-navy-deep);padding:var(--ts-space-5) 0;color:rgba(255,255,255,.68);font:400 .78rem/1.6 var(--ts-font-sans);text-align:center}
.ts-footer p{margin:.25rem 0}
.ts-footer a{color:rgba(255,255,255,.9);text-decoration:underline;text-underline-offset:.2em}

.ts-guide{width:min(100% - 2rem,var(--ts-reading-width));margin:0 auto;padding:clamp(2rem,5vw,4rem) 0}
.ts-guide>section{margin-top:var(--ts-space-7);scroll-margin-top:6rem}
.ts-guide-summary{font-size:var(--ts-font-size-lg);color:var(--ts-color-muted)}
.ts-guide ol,.ts-guide ul{padding-left:1.25rem}
.ts-guide li+li{margin-top:var(--ts-space-3)}
.ts-guide-stop{padding:var(--ts-space-5);border-left:.3rem solid var(--ts-color-orange);border-radius:var(--ts-radius-sm);background:#fff4ef}

.ts-skip-link:focus-visible,.ts-header a:focus-visible,.ts-header button:focus-visible,.ts-breadcrumbs a:focus-visible,.ts-assistance-cta a:focus-visible,.ts-footer a:focus-visible,.ts-topbar a:focus-visible{outline:3px solid var(--ts-color-focus);outline-offset:3px}

/* Navigation breakpoint: 50rem / 800px */
@media (max-width:49.999rem){
  .ts-topbar__inner{justify-content:flex-start;gap:.35rem 1rem;padding-block:.35rem}
  .ts-topbar__address{display:none}
  .ts-header{position:relative}
  .ts-header__inner{flex-wrap:wrap;min-height:4rem;padding-block:.35rem}
  .ts-menu-toggle{display:flex}
  .ts-nav{display:none;flex:1 0 100%;align-items:stretch;gap:0;padding:.25rem 0 1rem;border-top:1px solid rgba(255,255,255,.14)}
  .ts-nav.is-open{display:flex;flex-direction:column}
  .ts-nav>a,.ts-nav-submenu-toggle{width:100%;justify-content:space-between;min-height:3rem;padding:.6rem .25rem;color:var(--ts-color-white);white-space:normal;text-align:left}
  .ts-nav>a.is-active,.ts-nav-group.is-active>.ts-nav-submenu-toggle{box-shadow:none;color:var(--ts-color-orange)}
  .ts-nav-cta{margin-top:.5rem;justify-content:center!important;padding:.75rem 1rem!important}
  .ts-nav-group{width:100%}
  .ts-submenu{display:none;position:static;min-width:0;padding:.1rem 0 .5rem .75rem;border:0;border-left:2px solid rgba(242,101,34,.55);border-radius:0;background:transparent;box-shadow:none;opacity:1;visibility:visible;transform:none}
  .ts-nav-group.is-open>.ts-submenu{display:block}
  .ts-submenu a{color:rgba(255,255,255,.84);padding:.45rem .7rem}
  .ts-submenu a:hover,.ts-submenu a:focus-visible{background:rgba(255,255,255,.08);color:var(--ts-color-white)}
  .ts-assistance-cta__inner{align-items:stretch;flex-direction:column}
  .ts-assistance-cta__button{width:100%;white-space:normal}
}
@media (max-width:22.5rem){
  .ts-container{width:min(100% - 1.25rem,var(--ts-content-width))}
  .ts-topbar__inner{font-size:.75rem}
  .ts-topbar__item{gap:.3rem}
  .ts-logo{font-size:1.25rem}
}
@media (prefers-reduced-motion:reduce){.ts-menu-toggle>span,.ts-submenu{transition:none!important}}
/* Stable hamburger/X geometry: the hidden accessible label must not alter bar positioning. */
.ts-menu-toggle{position:relative}
.ts-menu-toggle>span:not(.ts-visually-hidden){position:absolute;left:50%;top:50%;margin:0;transform-origin:center;width:1.45rem}
.ts-menu-toggle>span:nth-of-type(2){transform:translate(-50%,-.43rem)}
.ts-menu-toggle>span:nth-of-type(3){transform:translate(-50%,0)}
.ts-menu-toggle>span:nth-of-type(4){transform:translate(-50%,.43rem)}
.ts-menu-toggle[aria-expanded="true"]>span:nth-of-type(2){transform:translate(-50%,0) rotate(45deg)}
.ts-menu-toggle[aria-expanded="true"]>span:nth-of-type(3){opacity:0}
.ts-menu-toggle[aria-expanded="true"]>span:nth-of-type(4){transform:translate(-50%,0) rotate(-45deg)}
.ts-main [id]{scroll-margin-top:6rem}
