@import url('https://fonts.googleapis.com/css2?family=Bruno+Ace&family=Sora:wght@300;400;500;600;700&display=swap');
/* Shared visual language, derived from the approved homepage. */
:root{--tif-ink:#00080b;--tif-paper:#f2f1ea;--tif-orange:#d14414;--tif-accent:#e97a43;--tif-line:rgba(242,241,234,.18);--tif-display:'Bruno Ace','Sora',system-ui,sans-serif;--tif-body:'Sora',system-ui,sans-serif}
body.tif-page{--display:var(--tif-display);--serif:var(--tif-display);--sans:var(--tif-body);--body:var(--tif-body);--editorial:var(--tif-body);--ember:var(--tif-orange);--acid:var(--tif-accent);--header:88px;margin:0;min-width:320px;font-family:var(--tif-body);text-rendering:optimizeLegibility}
body.tif-page h1,body.tif-page h2,body.tif-page h3,body.tif-page h4,body.tif-page h1 em,body.tif-page h2 em,body.tif-page h3 em{font-family:var(--tif-display)!important;font-style:normal!important;font-weight:400;text-wrap:balance}
body.tif-page h1 em,body.tif-page h2 em{color:var(--tif-accent);text-transform:uppercase}
body.tif-page h1,body.tif-page h2{text-transform:uppercase;letter-spacing:-.04em;line-height:1.05;overflow-wrap:anywhere}
.tif-page main :is(section,article,div,figure){min-width:0}
.tif-page .editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.tif-page .editorial-copy h2{font-size:clamp(1.9rem,3vw,3.5rem)}
body.tif-page .wt-hero h1{font-size:clamp(3rem,5.5vw,6.75rem);line-height:1.04}
.tif-page :is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--tif-accent);outline-offset:5px}
.tif-page [hidden]{display:none!important}
html:has(.tif-page){scroll-padding-top:116px;overflow-x:clip}
body.tif-page{overflow-x:clip}
.tif-page :is(.btn,.button,.header-cta,.press-button,.tif-ticket-button){display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:54px;padding:.9rem 1.4rem;border:1px solid transparent;border-radius:999px;font:600 .72rem/1.4 var(--tif-body);letter-spacing:.105em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s}
.tif-page :is(.btn-primary,.button-primary,.header-cta,.tif-ticket-button){background:var(--tif-orange);color:var(--tif-paper);box-shadow:0 14px 45px rgba(150,31,7,.2)}
.tif-page :is(.btn-primary,.button-primary,.header-cta,.tif-ticket-button):hover{background:#e15320;color:var(--tif-paper);box-shadow:0 18px 52px rgba(209,68,20,.3)}
.tif-page :is(.btn-ghost,.button-ghost,.button-outline,.press-button){border-color:rgba(242,241,234,.3);background:rgba(0,8,11,.24);color:var(--tif-paper)}
.tif-page :is(.btn-ghost,.button-ghost,.button-outline,.press-button):hover{background:rgba(242,241,234,.08);border-color:rgba(242,241,234,.55);color:var(--tif-paper)}
.tif-page :is(.btn-dark,.button-dark){background:var(--tif-ink);color:var(--tif-paper)}
.tif-page :is(.btn,.button,.press-button):hover{transform:translateY(-2px)}
.tif-page .btn-small,.tif-page .tif-ticket-button{min-height:42px;padding:.65rem 1rem;font-size:.61rem}
.tif-page :is(.container,.profile-container){width:min(88vw,1480px);margin-inline:auto}
.tif-page :is(.hero,.wt-hero,.profile-hero){isolation:isolate}
.tif-page :is(.hero-media,.wt-hero-media) img{filter:saturate(.82) contrast(1.04);object-fit:cover}
.tif-page :is(.person-art,.profile-portrait,.proof-gallery figure,.audience-visual){border-radius:6px;overflow:hidden}
.tif-page :is(.person-art,.profile-portrait,.proof-gallery,.audience-visual) img{filter:saturate(.88) contrast(1.02)}
.tif-page :is(.person-copy h3,.day-card h3){font-size:clamp(.9rem,1.2vw,1.15rem);line-height:1.35}
.tif-page :is(.day-card,.notice,.press-card,.outcome-card,.inventory-card){border-radius:12px}
.tif-page .flagship{border-color:rgba(209,68,20,.5);box-shadow:inset 0 3px 0 var(--tif-orange)}
.tif-page .chip{border-radius:999px;min-height:44px}
.tif-page .search{border-radius:999px;min-width:0;max-width:100%}
.tif-page .tools{top:88px}
.tif-site-header{position:fixed;top:0;left:0;right:0;z-index:200;box-sizing:border-box;min-height:88px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:1rem 3vw;border-bottom:1px solid var(--tif-line);background:rgba(0,8,11,.88);color:var(--tif-paper);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.tif-brand{display:inline-flex;line-height:0;flex-shrink:0}
.tif-brand img{display:block;width:auto;height:42px;max-width:220px;object-fit:contain}
.tif-navigation{display:flex;align-items:center;justify-content:center;gap:clamp(14px,1.5vw,24px)}
.tif-navigation>a{display:flex;align-items:center;min-height:44px;color:rgba(242,241,234,.74);font:500 .65rem/1.4 var(--tif-body);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.tif-navigation>a:hover,.tif-navigation>a[aria-current=page]{color:var(--tif-accent)}
.tif-lang-switch{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:.4rem .7rem;border:1px solid var(--tif-line);border-radius:999px;background:transparent;color:var(--tif-paper);font:500 .62rem/1.3 var(--tif-body);cursor:pointer;white-space:nowrap}
.tif-menu-toggle{display:none;width:44px;height:44px;padding:10px;border:1px solid var(--tif-line);border-radius:50%;background:transparent;color:var(--tif-paper);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.tif-menu-toggle span{display:block;width:18px;height:1px;background:currentColor}
.tif-section-nav{position:relative;z-index:3;display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;margin-top:88px;padding:16px 6vw;background:var(--tif-ink);color:var(--tif-paper);border-bottom:1px solid var(--tif-line)}
.tif-section-nav a{font:500 .65rem/1.5 var(--tif-body);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:rgba(242,241,234,.7)}
.tif-section-nav a:hover{color:var(--tif-accent)}
.tif-section-nav+main :is(.hero-layout,.wt-hero-grid,.profile-hero-grid){padding-top:clamp(3rem,6vw,6rem)!important}
.tif-program-credit{position:absolute;z-index:5;display:flex;align-items:center;gap:14px;right:6vw;margin-top:20px;font:500 .62rem var(--tif-body);color:var(--tif-paper)}
.tif-program-credit img{width:100px;height:auto;object-fit:contain}
.tif-site-footer{position:relative;z-index:1;background:var(--tif-ink);color:var(--tif-paper);padding:54px 0 90px;border-top:1px solid var(--tif-line)}
.tif-footer-inner{width:min(88vw,1480px);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.tif-footer-inner p{max-width:560px;margin:18px 0 0;color:rgba(242,241,234,.55);font:400 .75rem/1.7 var(--tif-body)}
.tif-footer-inner nav{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:16px 24px}
.tif-footer-inner nav a{color:rgba(242,241,234,.7);font:500 .65rem/1.5 var(--tif-body);text-transform:uppercase;letter-spacing:.08em;text-decoration:none;min-height:32px;display:inline-flex;align-items:center}
.tif-footer-inner nav a:hover{color:var(--tif-accent)}
html:not([data-lang=es]) [data-tif-es],html[data-lang=es] [data-tif-en]{display:none!important}
/* Paired text spans use empty attributes; valued attributes belong to page translators. */
html:not([data-lang=es]) .tif-page [data-es=""],html[data-lang=es] .tif-page [data-en=""]{display:none!important}
.tif-directory{background:var(--tif-ink);color:var(--tif-paper)}
.tif-directory .hero{position:relative;min-height:620px;padding:180px 0 90px;display:flex;align-items:flex-end;overflow:hidden;background:var(--tif-ink)}
.tif-directory-hero-media{position:absolute;inset:0;z-index:-1}
.tif-directory-hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.04)}
.tif-directory-hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,8,11,.94),rgba(0,8,11,.68) 55%,rgba(0,8,11,.25)),linear-gradient(0deg,var(--tif-ink),transparent 65%)}
.tif-directory .hero h1{font-size:clamp(3rem,5.8vw,6.75rem);line-height:1.04;letter-spacing:-.04em;max-width:1050px}
.tif-directory .hero p.lede{max-width:720px;font-size:clamp(.95rem,1.2vw,1.1rem);color:rgba(242,241,234,.72)}
.tif-directory .section{padding:clamp(64px,8vw,120px) 0}
.tif-directory .section-head h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.1;max-width:700px}
.tif-directory .people-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.tif-directory .person-art{aspect-ratio:4/5;border-color:var(--tif-line);background:#061315}
.tif-directory .notice h2{font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.25}
.tif-page.press-page .press-intro{padding-top:160px}
.tif-page .press-intro h1{font-size:clamp(3rem,6vw,7rem);line-height:1.04}
@media(max-width:1280px){
  .tif-site-header{min-height:76px;grid-template-columns:1fr auto auto;gap:12px;padding:14px 4vw}
  .tif-brand img{height:34px;max-width:180px}
  .tif-menu-toggle{display:flex}
  .tif-navigation{position:fixed;top:76px;left:0;right:0;max-height:calc(100dvh - 76px);overflow-y:auto;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:16px 6vw 28px;background:rgba(0,8,11,.98);border-bottom:1px solid var(--tif-line);visibility:hidden;pointer-events:none;transform:translateY(-8px);opacity:0;transition:opacity .2s,transform .2s,visibility .2s}
  .tif-navigation>a{min-height:48px;font-size:.85rem;border-bottom:1px solid var(--tif-line)}
  .tif-navigation .tif-lang-switch{align-self:flex-start;margin-top:20px;min-height:44px}
  .tif-menu-open{overflow:hidden;overscroll-behavior:none}
  .tif-menu-open .tif-navigation{visibility:visible;pointer-events:auto;opacity:1;transform:none}
  .tif-section-nav{margin-top:76px}
  .tif-page .tools{top:76px}
  .tif-directory .hero{min-height:560px;padding-top:150px}
}
@media(max-width:640px){
  body.tif-page{--header:76px}
  .tif-site-header{gap:8px;padding:14px 4vw}
  .tif-brand img{height:29px;max-width:150px}
  .tif-page .tif-ticket-button{font-size:.58rem;padding:.65rem .8rem}
  .tif-page :is(.container,.profile-container){width:90vw}
  .tif-directory .hero{min-height:520px;padding:130px 0 60px}
  .tif-directory .hero h1{font-size:clamp(2.3rem,9vw,3.5rem);line-height:1.08}
  .tif-directory .people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .tif-directory .person-copy h3{font-size:.85rem}
  .tif-page .day-grid{grid-template-columns:1fr}
  .tif-page .editorial-grid{grid-template-columns:1fr}
  body.tif-page .wt-hero h1{font-size:clamp(2.2rem,8.5vw,3.5rem)}
  .tif-page .day-card{padding:24px}
  .tif-page .session-list li{flex-direction:column;gap:6px}
  .tif-page .session-list span:last-child{text-align:left}
  .tif-footer-inner{grid-template-columns:1fr;gap:2rem;width:90vw}
  .tif-footer-inner nav{justify-content:flex-start}
  .tif-section-nav{justify-content:flex-start;gap:12px 20px;padding-inline:5vw}
  .tif-page.press-page .press-intro{padding-top:130px}
  .tif-program-credit{display:none}
}
@media(prefers-reduced-motion:reduce){html:has(.tif-page){scroll-behavior:auto}.tif-page *, .tif-page *:before,.tif-page *:after{animation:none!important;transition:none!important}}

/* Arkangeles is credited in the Whale Tank header only. */
.wt-page .wt-brand-header .wt-brand-lockup{display:flex;align-items:center;gap:clamp(10px,1.5vw,20px);min-width:0}
.wt-page .wt-brand-header .tif-arkangeles{display:block;width:clamp(105px,10vw,155px);height:auto;object-fit:contain;flex-shrink:0}
@media(max-width:900px){
  /* Remove stacked hero spacing below the secondary navigation. */
  .wt-page .tif-section-nav+main .wt-hero{padding-top:0}
  .wt-page .tif-section-nav+main .wt-hero-grid{padding-top:2rem!important}
}
@media(max-width:640px){
  .wt-page .wt-brand-header{min-height:76px;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;padding-inline:3vw}
  .wt-page .wt-brand-header .wt-brand-lockup{flex-direction:row;align-items:center;gap:clamp(5px,1.6vw,10px);min-width:0}
  .wt-page .wt-brand-header .tif-brand img{height:clamp(21px,6vw,29px);max-width:105px}
  .wt-page .wt-brand-header .tif-arkangeles{width:clamp(64px,21vw,94px);max-width:100%}
  .wt-page .tif-section-nav{margin-top:76px}
  .wt-page .tif-navigation{top:76px;max-height:calc(100dvh - 76px)}
  .wt-page .tif-section-nav+main .wt-hero-grid{padding-top:1.5rem!important}
}
@media(max-width:390px){
  .wt-page .wt-brand-header .tif-brand img{height:22px;max-width:82px}
  .wt-page .wt-brand-header .tif-arkangeles{width:74px}
  .wt-page .wt-brand-header .tif-menu-toggle{width:40px;height:40px}
  .wt-page .wt-brand-header .tif-ticket-button{padding:.55rem .6rem;font-size:.52rem}
}
@media(max-width:350px){
  .wt-page .wt-brand-header .tif-brand img{height:19px;max-width:72px}
  .wt-page .wt-brand-header .tif-arkangeles{width:62px}
  .wt-page .wt-brand-header .tif-ticket-button{padding:.5rem .5rem;font-size:.49rem}
}

/* Whale Tank: stable mobile partner lockup + accessible section navigation. */
.wt-page .wt-brand-header .tif-arkangeles{
  display:block !important;
  width:clamp(105px,10vw,155px) !important;
  height:auto !important;
  max-height:27px !important;
  max-width:155px !important;
  flex:0 0 auto !important;
  object-fit:contain !important;
  aspect-ratio:1200 / 178;
}
.wt-page .wt-brand-header .wt-brand-lockup{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
  min-width:0;
}
.wt-page .tif-section-nav{
  position:sticky;
  top:88px;
  z-index:190;
  flex-wrap:nowrap;
  justify-content:center;
  white-space:nowrap;
  background:rgba(0,8,11,.97);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
}
.wt-page .tif-section-nav a{
  flex:0 0 auto;
  padding:5px 0;
}
.wt-page .tif-section-nav a:focus-visible{color:var(--tif-paper);outline-offset:3px}
html:has(.wt-page){scroll-padding-top:158px}
.wt-page :is(#program,#fit,#selection,#faq){scroll-margin-top:158px}
@media(max-width:1280px){
  .wt-page .wt-brand-header{height:76px;min-height:76px;max-height:76px}
  .wt-page .tif-section-nav{
    top:76px;
    justify-content:flex-start;
    gap:22px;
    width:100%;
    min-height:46px;
    padding:9px 5vw;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    scroll-snap-type:x proximity;
  }
  .wt-page .tif-section-nav::-webkit-scrollbar{display:none}
  .wt-page .tif-section-nav a{scroll-snap-align:start}
  html:has(.wt-page){scroll-padding-top:138px}
  .wt-page :is(#program,#fit,#selection,#faq){scroll-margin-top:138px}
}
@media(max-width:640px){
  .wt-page .wt-brand-header{height:76px !important;min-height:76px !important;max-height:76px !important}
  .wt-page .wt-brand-header .wt-brand-lockup{gap:clamp(5px,1.6vw,10px) !important}
  .wt-page .wt-brand-header .tif-arkangeles{
    width:clamp(64px,21vw,94px) !important;
    max-width:94px !important;
    max-height:16px !important;
  }
  .wt-page .tif-section-nav{min-height:44px;padding-block:8px;gap:22px}
  .wt-page .tif-section-nav a{font-size:.6rem}
}
@media(max-width:390px){
  .wt-page .wt-brand-header .tif-arkangeles{width:74px !important;max-width:74px !important;max-height:12px !important}
}
@media(max-width:350px){
  .wt-page .wt-brand-header .tif-arkangeles{width:62px !important;max-width:62px !important;max-height:11px !important}
}

/* Legibility floor for the header ticket button on small screens (Oct 2026). */
@media(max-width:640px){.tif-page .tif-site-header .tif-ticket-button{font-size:.625rem}}
/* Ghost buttons on light (paper) sections need dark ink to stay legible (Oct 2026). */
.tif-page .v2-executive .btn-ghost{background:transparent;color:var(--tif-ink);border-color:rgba(0,8,11,.32)}
.tif-page .v2-executive .btn-ghost:hover{background:rgba(0,8,11,.05);border-color:var(--tif-ink);color:var(--tif-ink)}
