/* Shared header + footer for every public page. Markup is injected by scripts/chrome.py. */
.tt-header,.tt-footer{
  --c-cream:#FBF3E8; --c-paper:#FFFDF9; --c-ink:#3A2E28; --c-line:#E8DAC8; --c-sage:#D9E3D3;
  --c-sage-deep:#4A6350; --c-coral-deep:#B8532F; --c-blush:#F3D6D0;
  --f-display:'Baloo 2','Segoe UI',system-ui,sans-serif; --f-script:'Caveat',cursive;
}
.tt-header{ background:var(--c-cream); border-bottom:1px solid var(--c-line); position:sticky; top:0; z-index:100; }
.tt-header .tt-inner{ max-width:1180px; margin-inline:auto; padding:0.85rem 1.25rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:nowrap; }
.tt-header .tt-mark{ display:flex; align-items:baseline; gap:0.4rem; text-decoration:none; color:var(--c-ink); line-height:1; white-space:nowrap; }
.tt-header .tt-mark .s{ font-family:var(--f-script); font-weight:700; font-size:1.9rem; color:var(--c-coral-deep); }
.tt-header .tt-mark .b{ font-family:var(--f-display); font-weight:800; font-size:1.1rem; letter-spacing:0.04em; }
.tt-header .tt-nav{ display:none; }
.tt-header .tt-nav ul{ display:flex; gap:1.4rem; list-style:none; padding:0; margin:0; font-family:var(--f-display); font-weight:600; font-size:1rem; }
.tt-header a.tt-link{ color:var(--c-ink); text-decoration:none; }
.tt-header a.tt-link:hover,.tt-header a.tt-link[aria-current="page"]{ color:var(--c-coral-deep); }
.tt-header a.tt-link[aria-current="page"]{ text-decoration:underline; text-underline-offset:0.3em; text-decoration-thickness:2px; }
.tt-header .tt-right{ display:flex; align-items:center; gap:0.7rem; }
.tt-header .tt-menu{ position:relative; }
.tt-header .tt-menu summary{ list-style:none; cursor:pointer; font-family:var(--f-display); font-weight:700; font-size:1rem; padding:0.5em 0.8em; border:1px solid var(--c-line); border-radius:10px; background:var(--c-paper); color:var(--c-ink); min-height:44px; display:flex; align-items:center; }
.tt-header .tt-menu summary::-webkit-details-marker{ display:none; }
.tt-header .tt-menu[open] summary{ background:var(--c-sage); }
.tt-header .tt-panel{ position:absolute; right:0; top:calc(100% + 0.5rem); background:var(--c-paper); border:1px solid var(--c-line); border-radius:16px; box-shadow:0 14px 32px -14px rgba(58,46,40,0.22); padding:0.6rem 0.8rem; min-width:240px; }
.tt-header .tt-panel ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; font-family:var(--f-display); font-weight:600; font-size:1.05rem; }
.tt-header .tt-panel a{ display:block; padding:0.55rem 0.5rem; border-radius:8px; }
.tt-header .tt-panel a:hover{ background:var(--c-cream); }
.tt-header .tt-cta{ display:inline-flex; align-items:center; font-family:var(--f-display); font-weight:700; font-size:0.95rem; background:var(--c-coral-deep); color:#fff; padding:0.6em 1.1em; border-radius:999px; text-decoration:none; white-space:nowrap; min-height:44px; }
.tt-header .tt-cta:hover{ background:var(--c-sage-deep); color:#fff; }
@media (max-width:480px){
  .tt-header .tt-mark .s{ font-size:1.45rem; } .tt-header .tt-mark .b{ font-size:0.95rem; }
  .tt-header .tt-cta{ font-size:0.88rem; padding:0.55em 0.9em; }
  .tt-header .tt-inner{ padding-inline:1rem; gap:0.6rem; }
}
@media (min-width:1000px){ .tt-header .tt-nav{ display:block; } .tt-header .tt-menu{ display:none; } }

.tt-footer{ background:var(--c-ink); color:var(--c-cream); padding-block:2.4rem; margin-top:0; }
.tt-footer .tt-inner{ max-width:1180px; margin-inline:auto; padding-inline:1.25rem; display:flex; flex-direction:column; gap:0.6rem; align-items:flex-start; }
.tt-footer nav{ display:flex; flex-wrap:wrap; gap:0.6rem 1.4rem; font-family:var(--f-display); font-weight:700; margin-bottom:0.8rem; }
.tt-footer a{ color:var(--c-cream); }
.tt-footer nav a{ text-decoration:none; padding-block:0.2rem; }
.tt-footer a:hover{ color:var(--c-blush); text-decoration:underline; }
.tt-footer p{ margin:0; max-width:none; color:var(--c-cream); opacity:0.9; font-size:0.98rem; }
.tt-footer p.tt-note{ font-weight:700; opacity:1; }
