/* Truli Blessed: header v2 ("glass over cinema"). Tokens are in SPEC.md. */
:root{
  --tb-midnight:#0E1428;--tb-navy:#1E2A4A;--tb-teal:#1F5F6B;--tb-gold:#E3A83A;--tb-glow:#FFD66B;--tb-ember:#D9542B;--tb-cream:#F4E9D3;
  --hdr-h:72px;--hdr-h-scrolled:56px;--hdr-wm-h:30px;--hdr-wm-h-scrolled:24px;
  --hdr-glass:rgba(14,20,40,.38);--hdr-glass-scrolled:rgba(14,20,40,.72);
  --hdr-border:rgba(244,233,211,.08);--hdr-blur:saturate(160%) blur(18px);
  --hdr-ease:cubic-bezier(.2,.8,.2,1);--hdr-dur:280ms;
  --hdr-maxw:1200px;--hdr-pad:clamp(16px,4vw,40px);
}
.tb-header{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--hdr-h);
  background:var(--hdr-glass);-webkit-backdrop-filter:var(--hdr-blur);backdrop-filter:var(--hdr-blur);
  border-bottom:1px solid transparent;
  transition:height var(--hdr-dur) var(--hdr-ease),background-color var(--hdr-dur) var(--hdr-ease),border-color var(--hdr-dur) var(--hdr-ease),box-shadow var(--hdr-dur) var(--hdr-ease)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.tb-header{background:rgba(14,20,40,.92)}}
.tb-header.is-scrolled{height:var(--hdr-h-scrolled);background:var(--hdr-glass-scrolled);border-color:var(--hdr-border);box-shadow:0 8px 32px rgba(0,0,0,.28)}
.tb-header__inner{height:100%;max-width:var(--hdr-maxw);margin:0 auto;padding:0 var(--hdr-pad);display:flex;align-items:center;gap:32px}
.tb-brand{display:flex;align-items:center;flex:none;border-radius:8px;text-decoration:none}
.tb-brand svg{height:var(--hdr-wm-h);width:auto;display:block;overflow:visible;transition:height var(--hdr-dur) var(--hdr-ease)}
.tb-header.is-scrolled .tb-brand svg{height:var(--hdr-wm-h-scrolled)}
/* spark glow */
.tb-brand #spark-halo{transform-box:fill-box;transform-origin:center;animation:tb-spark-breathe 3.6s ease-in-out infinite}
.tb-brand #spark-core{transform-box:fill-box;transform-origin:50% 70%;animation:tb-spark-flicker 3.6s ease-in-out infinite}
.tb-brand:hover #spark-halo,.tb-brand:focus-visible #spark-halo{animation-duration:1.8s}
@keyframes tb-spark-breathe{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}
@keyframes tb-spark-flicker{0%,100%{transform:scale(1)}48%{transform:scale(1.04)}52%{transform:scale(.98)}}
/* desktop nav */
.tb-nav{margin-left:auto;display:flex;align-items:center;gap:28px}
.tb-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.tb-nav a{font:500 15px/1 "DM Sans",system-ui,sans-serif;letter-spacing:.01em;color:rgba(244,233,211,.78);text-decoration:none;padding:10px 12px;border-radius:999px;transition:color 160ms,background-color 160ms}
.tb-nav a:hover{color:var(--tb-cream);background:rgba(244,233,211,.07)}
.tb-nav a[aria-current="page"]{color:var(--tb-cream)}
.tb-nav a[aria-current="page"]{position:relative}
/* site fix: absolutely positioned so the dot doesn't shift the inline link row (prototype never set aria-current) */
.tb-nav a[aria-current="page"]::after{content:"";position:absolute;left:50%;bottom:1px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--tb-glow);box-shadow:0 0 8px var(--tb-glow)}
.tb-cta{font:700 14px/1 "DM Sans",system-ui,sans-serif;color:var(--tb-midnight)!important;background:var(--tb-gold)!important;padding:11px 18px!important;border-radius:999px;box-shadow:0 0 0 0 rgba(255,214,107,0),0 6px 20px rgba(227,168,58,.25);transition:box-shadow 200ms,transform 200ms,background-color 200ms}
.tb-cta:hover{background:var(--tb-glow)!important;box-shadow:0 0 0 5px rgba(255,214,107,.14),0 8px 28px rgba(227,168,58,.35);transform:translateY(-1px)}
.tb-header a:focus-visible,.tb-header button:focus-visible,.tb-sheet a:focus-visible,.tb-sheet button:focus-visible{outline:2px solid var(--tb-glow);outline-offset:3px}
/* hamburger */
.tb-burger{display:none;margin-left:auto;width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:var(--tb-cream);cursor:pointer;position:relative;z-index:102}
.tb-burger span{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:currentColor;transition:transform var(--hdr-dur) var(--hdr-ease),opacity 160ms,top var(--hdr-dur) var(--hdr-ease)}
.tb-burger span:nth-child(1){top:16px}.tb-burger span:nth-child(2){top:26px;right:18px}
.tb-burger[aria-expanded="true"] span:nth-child(1){top:21px;transform:rotate(45deg)}
.tb-burger[aria-expanded="true"] span:nth-child(2){top:21px;right:12px;transform:rotate(-45deg)}
/* mobile sheet */
.tb-sheet{position:fixed;inset:0;z-index:101;display:flex;flex-direction:column;padding:calc(var(--hdr-h) + 24px) var(--hdr-pad) calc(32px + env(safe-area-inset-bottom));
  background:radial-gradient(ellipse 90% 50% at 50% 0%,rgba(227,168,58,.18),transparent 70%),rgba(14,20,40,.86);-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%);
  opacity:0;visibility:hidden;transition:opacity 260ms var(--hdr-ease),visibility 0s linear 260ms}
.tb-sheet.is-open{opacity:1;visibility:visible;transition:opacity 260ms var(--hdr-ease)}
.tb-sheet ul{list-style:none;margin:0;padding:0}
.tb-sheet li{opacity:0;transform:translateY(12px);transition:opacity 320ms var(--hdr-ease),transform 320ms var(--hdr-ease)}
.tb-sheet.is-open li{opacity:1;transform:none}
.tb-sheet.is-open li:nth-child(1){transition-delay:40ms}.tb-sheet.is-open li:nth-child(2){transition-delay:80ms}.tb-sheet.is-open li:nth-child(3){transition-delay:120ms}.tb-sheet.is-open li:nth-child(4){transition-delay:160ms}.tb-sheet.is-open li:nth-child(5){transition-delay:200ms}
.tb-sheet ul a{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid rgba(244,233,211,.08);font:700 clamp(26px,8vw,34px)/1.1 "Bricolage Grotesque",system-ui,sans-serif;letter-spacing:-.01em;color:var(--tb-cream);text-decoration:none}
.tb-sheet ul a::after{content:"→";font:400 20px "DM Sans",sans-serif;color:var(--tb-gold);opacity:.8}
.tb-sheet ul a[aria-current="page"]{color:var(--tb-glow)}
.tb-sheet .tb-cta{margin-top:auto;display:block;text-align:center;font-size:17px;padding:17px!important;text-decoration:none}
.tb-sheet__foot{margin:16px 0 0;text-align:center;font:italic 500 15px Lora,serif;color:rgba(244,233,211,.6)}
body.tb-locked{overflow:hidden}
@media (max-width:899px){.tb-nav{display:none}.tb-burger{display:block}:root{--hdr-h:64px;--hdr-h-scrolled:56px;--hdr-wm-h:26px;--hdr-wm-h-scrolled:22px}}
@media (min-width:900px){.tb-sheet{display:none}}
@media (prefers-reduced-motion:reduce){
  .tb-brand #spark-halo,.tb-brand #spark-core{animation:none}.tb-brand #spark-halo{opacity:.85}
  .tb-header,.tb-brand svg,.tb-burger span,.tb-sheet,.tb-sheet li,.tb-cta{transition:none!important}
}
@media (forced-colors:active){.tb-header{border-bottom:1px solid CanvasText}}
/* keep header (wordmark + close button) above the open sheet */
body.tb-locked .tb-header{z-index:102;background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
