/* ========== HEADER / NAV ========== */
.tt-header{
  position:sticky; top:0; z-index:60;
  background:var(--tt-green);
  border-bottom:4px solid var(--tt-gold);
}
.tt-header__inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; min-height:76px;
}
.tt-header__logo img{ height:44px; width:auto; }

.tt-nav ul{ display:flex; align-items:center; gap:4px; }
.tt-nav a{
  display:block; text-decoration:none; color:rgba(255,255,255,.88);
  font-family:var(--tt-head); font-weight:500; font-size:1.05rem;
  letter-spacing:.06em; text-transform:uppercase;
  padding:.5em .85em;
  transition:color .18s ease, background .18s ease;
}
.tt-nav a:hover{ color:var(--tt-white); background:rgba(255,255,255,.10); }
.tt-nav a[aria-current="page"]{ color:var(--tt-gold); }
.tt-nav__cta{ margin-left:8px; }
.tt-nav__cta a{
  background:var(--tt-gold); color:var(--tt-green-dk) !important;
  font-weight:700; padding:.55em 1.2em;
}
.tt-nav__cta a:hover{ background:#FFC759; }

.tt-burger{
  display:none; background:none; border:0; cursor:pointer;
  padding:10px;
}
.tt-burger span{
  display:block; width:26px; height:3px; margin:5px 0;
  background:var(--tt-white);
  transition:transform .25s ease, opacity .2s ease;
}
.tt-burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
.tt-burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.tt-burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }

/* Bruce peeks out of the open mobile menu. The panel clips its own overflow, so
   the negative margin crops him at the bottom edge and he reads as leaning in
   from below. Desktop nav never shows him. */
.tt-nav__bruce{ display:none; }

@media (max-width: 940px){
  .tt-burger{ display:block; }
  .tt-nav{
    position:absolute; left:0; right:0; top:100%;
    background:var(--tt-green-dk);
    border-bottom:4px solid var(--tt-gold);
    max-height:0; overflow:hidden; transition:max-height .3s ease;
  }
  .tt-nav[data-open="true"]{ max-height:80vh; overflow-y:auto; }
  .tt-nav ul{ flex-direction:column; align-items:stretch; gap:0; padding:12px var(--tt-gutter) 20px; }
  .tt-nav a{ padding:.85em .4em; font-size:1.15rem; border-bottom:1px solid rgba(255,255,255,.10); }
  .tt-nav__cta{ margin:14px 0 0; }
  .tt-nav__cta a{ text-align:center; border-bottom:0; }
  .tt-nav__bruce{
    display:block; line-height:0; font-size:0;
    width:82px; margin:2px var(--tt-gutter) -34px auto;
    pointer-events:none;
  }
  .tt-nav__bruce img{ display:block; width:100%; height:auto; }
}
