/* Scope to Source header */
.tn-mega { position:relative; }
.tn-mega__top { display:flex; gap:1.35rem; align-items:center; margin:0; padding:0; list-style:none; }
.tn-mega__trigger{
  background:none;
  border:0;
  cursor:pointer;
  padding:.75rem .6rem;
  font-weight:600;
  color:inherit;
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  position:relative;
  transition:color .25s ease;
}
.tn-mega__trigger::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:.3rem;
  inline-size:0;
  block-size:2px;
  background:var(--ghost-accent-color,#ff2d55);
  transform:translateX(-50%);
  transition:inline-size .2s ease;
}
.tn-mega__trigger:focus-visible{
  outline:none;
  color:var(--ghost-accent-color,#ff2d55);
}
.tn-mega__trigger:focus-visible::after{ inline-size:72%; }
.tn-mega__item[aria-expanded="true"] > .tn-mega__trigger{
  color:var(--ghost-accent-color,#ff2d55);
}
.tn-mega__item[aria-expanded="true"] > .tn-mega__trigger::after{ inline-size:72%; }
.tn-mega__chev{
  opacity:.7;
  transition:transform .2s ease;
}
.tn-mega__item[aria-expanded="true"] .tn-mega__chev{ transform:rotate(180deg); }

.tn-mega__item--mega { position:static; }
.tn-mega__item[aria-expanded="true"] > .tn-panel{ display:block; }

.tn-panel{
  position:fixed;
  top:calc(var(--tn-panel-top, 100px));
  left:0;
  right:0;
  inline-size:100%;
  background:var(--color-bg,#fff);
  color:var(--color-text,#15171A);
  border-radius:0;
  box-shadow:0 48px 120px rgba(10,14,23,.18);
  padding:0;
  display:none;
  z-index:60;
  border-bottom:1px solid rgba(0,0,0,.05);
  backdrop-filter:blur(10px);
  max-height:calc(100vh - var(--tn-panel-top, 100px));
  overflow-y:auto;
}
.tn-panel.is-open{ display:block; }
.tn-panel[hidden]{ display:none !important; }
.tn-panel__inner{
  max-inline-size:min(1440px, 92vw);
  margin:0 auto;
  padding:clamp(2.5rem, 4vw, 3.75rem) clamp(2rem, 6vw, 4rem) clamp(2.75rem, 5vw, 4.5rem);
  display:flex;
  flex-direction:column;
  gap:clamp(2rem, 3vw, 3.5rem);
}
.tn-panel__slot{ display:flex; flex-direction:column; gap:clamp(1.5rem, 2.5vw, 3rem); }
.tn-mega__template{
  display:flex;
  flex-direction:column;
  gap:clamp(1.5rem, 2vw, 2.75rem);
  color:inherit;
}
.tn-mega__template > *:first-child{ margin-top:0; }
.tn-mega__template > *:last-child{ margin-bottom:0; }
.tn-mega__template :where(h1,h2,h3){ margin:0; font-weight:700; letter-spacing:-0.01em; }
.tn-mega__template :where(p,ul,ol){ margin:0; }
.tn-mega__template ul{ padding-left:1.1rem; }
.tn-mega__template a{ color:inherit; text-decoration:none; font-weight:600; }
.tn-mega__template a:hover{ text-decoration:underline; text-underline-offset:4px; }

.tn-mega__template .tn-mega__columns{
  display:grid;
  gap:clamp(1.25rem, 3vw, 2.5rem) clamp(1.5rem, 3vw, 3rem);
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
}
.tn-mega__template .tn-mega__columns > *{
  display:flex;
  flex-direction:column;
  gap:.75rem;
}

.tn-panel__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:1.75rem 2.5rem; }
.tn-panel__col{ display:flex; flex-direction:column; gap:.65rem; }
.tn-panel__heading{ font-size:1rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin:0; }
.tn-panel__list{ list-style:none; margin:0; padding:0; display:grid; gap:.5rem; }
.tn-panel__list a{
  display:block;
  padding:.35rem 0;
  color:inherit;
  text-decoration:none;
  font-size:.97rem;
  font-weight:550;
}
.tn-panel__list a:hover{ text-decoration:underline; text-underline-offset:4px; }
.tn-panel__footer{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:1rem;
  border-top:1px solid rgba(0,0,0,.08);
  padding-top:1.35rem;
}
.tn-cta{ font-weight:700; font-size:.95rem; text-decoration:none; display:inline-flex; align-items:center; gap:.3rem; letter-spacing:.02em; }
.tn-cta::after{
  content:"";
  inline-size:.65rem;
  block-size:.65rem;
  border:1px solid currentColor;
  border-radius:999px;
  display:inline-block;
}

.has-light-text .tn-panel{
  background:rgba(8,10,18,.96);
  color:rgba(255,255,255,.92);
  border-bottom-color:rgba(255,255,255,.14);
}
.has-light-text .tn-panel__footer{ border-top-color:rgba(255,255,255,.24); }

@media (hover:hover) and (pointer:fine){
  .tn-mega__item--mega:hover > .tn-panel{ display:block; }
}

@media (max-width: 900px){
  .tn-panel{
    position:static;
    inline-size:100%;
    max-height:none;
    box-shadow:0 24px 64px rgba(0,0,0,.16);
  }
  .tn-panel[hidden]{ display:none !important; }
  .tn-panel__inner{
    max-inline-size:100%;
    padding:2.25rem 1.5rem 3rem;
  }
  .tn-panel__footer{ justify-content:flex-start; }
}

/* Footer refresh */
.td-footer{
  display:flex;
  flex-direction:column;
  gap:4.5rem;
  color:var(--color-text,#15171A);
  font-size:1.02rem;
}
.has-light-text .td-footer{ color:rgba(255,255,255,.92); }
.td-footer__intro{
  display:flex;
  flex-wrap:wrap;
  gap:3rem clamp(2rem,5vw,4rem);
  justify-content:space-between;
  align-items:flex-start;
}
.td-footer__brand{ flex:1 1 320px; max-inline-size:520px; }
.td-footer__logo{ display:inline-flex; align-items:center; gap:1rem; font-size:1.4rem; font-weight:750; }
.td-footer__logo img{ max-block-size:56px; inline-size:auto; display:block; }
.td-footer__tagline{ margin:1.25rem 0 1.75rem; font-size:1.2rem; line-height:1.7; font-weight:550; max-inline-size:36rem; }
.td-footer__meta{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem 1.75rem;
}
.td-footer__meta-label{
  display:block;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  opacity:.7;
  font-weight:700;
  margin-bottom:.35rem;
}
.td-footer__meta-value{
  display:block;
  font-size:1.05rem;
  font-weight:650;
  line-height:1.5;
}
.td-footer__meta-value a{ color:inherit; text-decoration:none; }
.td-footer__meta-value a:hover{ text-decoration:underline; }

.td-footer__actions{
  flex:1 1 280px;
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  background:linear-gradient(155deg, rgba(24,32,64,.92), rgba(16,25,48,.72));
  color:#f4f6ff;
  padding:2.25rem 2.5rem;
  border-radius:24px;
  box-shadow:0 18px 50px rgba(6,8,16,.25);
}
.has-light-text .td-footer__actions{
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.95);
  box-shadow:0 18px 50px rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.18);
}
.td-footer__actions-note{ margin:0; font-size:1.1rem; line-height:1.7; font-weight:600; }
.td-footer__cta{
  padding:1rem 1.85rem;
  border-radius:999px;
  font-weight:700;
  font-size:1rem;
  background:#fff;
  color:#101830;
}
.td-footer__actions .td-footer__cta:hover{ filter:brightness(.92); }
.has-light-text .td-footer__cta{
  background:rgba(255,255,255,.12);
  color:inherit;
  border:1px solid rgba(255,255,255,.35);
}
.td-footer__social{
  display:flex;
  flex-wrap:wrap;
  gap:.85rem 1.5rem;
  font-size:1rem;
  align-items:center;
}
.td-footer__social a{ color:inherit; text-decoration:none; font-weight:600; }
.td-footer__social a:hover{ text-decoration:underline; }
.td-footer__social-label{ text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; opacity:.75; font-weight:700; }

.td-footer__services{ display:flex; flex-direction:column; gap:3rem; }
.td-footer__row{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2.5rem clamp(2rem,4vw,3rem); }
.td-footer__col{ display:flex; flex-direction:column; gap:.85rem; }
.td-footer__col h3{ margin:0; font-size:1.05rem; text-transform:uppercase; letter-spacing:.1em; font-weight:700; }
.td-footer__col ul{ margin:0; padding:0; list-style:none; display:grid; gap:.6rem; font-size:1rem; white-space:normal; }
.td-footer__col li{ line-height:1.55; }

.td-footer__meta-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:1rem 2.75rem;
  align-items:center;
  border-top:1px solid rgba(0,0,0,.08);
  padding-top:1.85rem;
  margin-top:1.5rem;
  font-size:.98rem;
}
.has-light-text .td-footer__meta-links{ border-top-color:rgba(255,255,255,.25); }
.td-footer__sitemap{ display:flex; flex-wrap:wrap; gap:1.5rem; }
.td-footer__sitemap a{ color:inherit; text-decoration:none; font-weight:650; }
.td-footer__sitemap a:hover{ text-decoration:underline; }
.td-footer__copyright{ margin:0; opacity:.75; font-size:.95rem; }

@media (max-width: 1200px){
  .td-footer__row{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 1024px){
  .td-footer{ gap:4rem; }
  .td-footer__intro{ flex-direction:column; }
  .td-footer__actions{ width:100%; }
  .td-footer__meta{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .td-footer__row{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 720px){
  .td-footer{ gap:3.25rem; }
  .td-footer__meta{ grid-template-columns:1fr; }
  .td-footer__row{ grid-template-columns:1fr; }
  .td-footer__actions{ padding:2rem; }
  .td-footer__meta-links{ flex-direction:column; align-items:flex-start; gap:1rem; }
  .td-footer__sitemap{ gap:1.1rem; }
}

