/* TitanVX shared production shell — header, footer and official mark */
:root{
  --tv-shell-width:1240px;
  --tv-header-height:76px;
  --tv-black:#050505;
  --tv-black-soft:#0b0b0b;
  --tv-border:#292929;
  --tv-white:#ffffff;
  --tv-link:#d0d0d0;
  --tv-muted:#8a8a8a;
}

.tv-skip{
  position:fixed;
  left:12px;
  top:10px;
  z-index:10000;
  padding:10px 15px;
  border:1px solid #050505;
  background:#fff;
  color:#050505!important;
  font:800 13px/1.2 Inter,"Segoe UI",Arial,sans-serif;
  text-decoration:none!important;
  transform:translateY(-180%);
  transition:transform .16s ease;
}
.tv-skip:focus{transform:none}

.tv-shell-wrap{
  width:min(var(--tv-shell-width),calc(100% - 56px));
  margin-inline:auto;
}

.tv-site-header{
  position:sticky;
  inset:0 0 auto;
  z-index:1000;
  min-height:var(--tv-header-height);
  background:rgba(5,5,5,.97);
  border-bottom:1px solid rgba(255,255,255,.13);
  color:var(--tv-white);
  box-shadow:0 1px 0 rgba(0,0,0,.62);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.tv-site-nav{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  height:var(--tv-header-height);
}

.tv-brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
  color:#fff!important;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  font-size:18px;
  font-weight:850;
  letter-spacing:.05em;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
  text-decoration:none!important;
}

.tv-brand:hover{color:#fff!important}
.tv-brand-mark{
  display:block;
  width:30px;
  height:30px;
  flex:0 0 30px;
  object-fit:contain;
}
.tv-brand-word{transform:translateY(.5px)}

.tv-nav-links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:28px;
  min-width:0;
}

.tv-nav-links>a{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0;
  color:#d7d7d7!important;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  font-size:13.5px;
  font-weight:720;
  line-height:1;
  white-space:nowrap;
  text-decoration:none!important;
  transition:color .18s ease,background .18s ease,border-color .18s ease;
}

.tv-nav-links>a:not(.tv-nav-cta)::after{
  content:"";
  position:absolute;
  right:0;
  bottom:4px;
  left:0;
  height:1px;
  background:#fff;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s ease;
}

.tv-nav-links>a:hover,
.tv-nav-links>a[aria-current="page"],
.tv-nav-links>a[aria-current="location"]{color:#fff!important}
.tv-nav-links>a:hover::after,
.tv-nav-links>a[aria-current="page"]::after,
.tv-nav-links>a[aria-current="location"]::after{transform:scaleX(1)}

.tv-nav-cta{
  min-height:38px!important;
  padding:0 15px!important;
  border:1px solid #414141;
  border-radius:8px;
  color:#f4f4f4!important;
}
.tv-nav-cta:hover,
.tv-nav-cta:focus-visible{
  border-color:#fff;
  background:#fff;
  color:#050505!important;
}

.tv-nav-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  margin:0;
  padding:0;
  border:1px solid #494949;
  border-radius:9px;
  background:transparent;
  color:#fff;
  cursor:pointer;
}
.tv-nav-toggle svg{display:block;width:22px;height:22px;max-width:none}
.tv-nav-toggle:hover{border-color:#fff;background:#111}

.tv-footer{
  display:block;
  padding:64px 0 26px!important;
  border-top:1px solid var(--tv-border)!important;
  background:var(--tv-black)!important;
  color:#fff!important;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
}
.tv-footer-grid{
  display:grid;
  grid-template-columns:minmax(280px,1.55fr) repeat(3,minmax(130px,.8fr));
  gap:46px;
}
.tv-footer-brand p{
  max-width:36ch;
  margin:16px 0 0!important;
  color:#9b9b9b!important;
  font-size:13.5px!important;
  line-height:1.65!important;
}
.tv-footer .tv-brand{font-size:17px}
.tv-footer .tv-brand-mark{width:28px;height:28px;flex-basis:28px}
.tv-footer-col h4{
  margin:0 0 16px!important;
  color:#858585!important;
  font-size:10.5px!important;
  font-weight:850!important;
  letter-spacing:.18em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
}
.tv-footer-col a{
  display:block!important;
  width:max-content;
  max-width:100%;
  margin:0 0 10px!important;
  color:var(--tv-link)!important;
  font-size:13.5px!important;
  line-height:1.45!important;
  text-decoration:none!important;
  transition:color .18s ease,transform .18s ease;
}
.tv-footer-col a:hover,
.tv-footer-col a[aria-current="page"]{
  color:#fff!important;
  transform:translateX(2px);
}
.tv-footer-bar{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px;
  margin:42px 0 0!important;
  padding:22px 0 0!important;
  border-top:1px solid var(--tv-border)!important;
  color:#777!important;
  font-size:11.5px!important;
  line-height:1.5!important;
}
.tv-footer-bar a{color:#8c8c8c!important;text-decoration:none!important}
.tv-footer-bar a:hover{color:#fff!important}

.tv-site-header a:focus-visible,
.tv-site-header button:focus-visible,
.tv-footer a:focus-visible{
  outline:2px solid #fff;
  outline-offset:4px;
  border-radius:6px;
}

@media(max-width:980px){
  .tv-nav-links{gap:21px}
  .tv-footer-grid{grid-template-columns:1.3fr 1fr 1fr;gap:34px}
  .tv-footer-brand{grid-column:1/-1}
}

@media(max-width:820px){
  :root{--tv-header-height:70px}
  .tv-shell-wrap{width:min(100% - 36px,var(--tv-shell-width))}
  .tv-site-nav{gap:16px}
  .tv-brand{font-size:16px}
  .tv-brand-mark{width:29px;height:29px;flex-basis:29px}
  .tv-nav-toggle{display:inline-flex}
  .tv-nav-links{
    position:absolute;
    top:calc(100% + 1px);
    right:-18px;
    left:-18px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:12px 18px 18px;
    border-bottom:1px solid #292929;
    border-radius:0 0 14px 14px;
    background:#050505;
    box-shadow:0 24px 50px rgba(0,0,0,.42);
  }
  .tv-nav-links.open{display:flex}
  .tv-nav-links>a{
    width:100%;
    min-height:48px;
    justify-content:flex-start;
    padding:0 6px;
    border-bottom:1px solid #1f1f1f;
  }
  .tv-nav-links>a::after{display:none!important}
  .tv-nav-links>a:hover,
  .tv-nav-links>a[aria-current="page"],
  .tv-nav-links>a[aria-current="location"]{background:#111}
  .tv-nav-links>a.tv-nav-cta{
    min-height:44px!important;
    justify-content:center!important;
    margin-top:12px;
    padding:0 14px!important;
    border:1px solid #fff!important;
    background:#fff!important;
    color:#050505!important;
  }
  .tv-nav-links>a.tv-nav-cta:hover{background:#e8e8e8!important;color:#050505!important}
  .tv-footer{padding-top:52px!important}
  .tv-footer-grid{grid-template-columns:1fr 1fr;gap:30px 22px}
  .tv-footer-brand{grid-column:1/-1}
  .tv-footer-bar{display:grid}
}

@media(max-width:560px){
  .tv-shell-wrap{width:min(100% - 28px,var(--tv-shell-width))}
  .tv-nav-links{right:-14px;left:-14px}
  .tv-footer-grid{grid-template-columns:1fr}
  .tv-footer-brand{grid-column:auto}
}

@media(prefers-reduced-motion:reduce){
  .tv-skip,
  .tv-nav-links>a,
  .tv-nav-cta,
  .tv-footer-col a{transition:none!important}
}

@media print{
  .tv-skip,.tv-site-header,.tv-footer{display:none!important}
}
