/* ==========================================================================
   Passbook site base — Passbook brand guide v1.1 (October 2026)
   Tokens & components live in /brand.css; this file holds the reset and
   page-level helpers used by the site's sections.
   ========================================================================== */

:root{
  --ink:#182A6A;
  --ink-2:#10204F;
  --paper:#FFFFFF;
  --paper-2:#F8F9FC;
  --gold:#C29810;
  --muted:#434343;
  --muted-dark:#9AA3B8;
  --serif:'Montserrat',-apple-system,'Helvetica Neue',Arial,sans-serif;
  --sans:'Play','Helvetica Neue',Arial,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{color-scheme:light;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);font-weight:400;color:var(--muted);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);line-height:1.12}
em{font-style:italic}

/* mobile drawer: .pb-nav's backdrop-filter makes it the containing block
   for fixed descendants, so bottom:0 resolves against the 72px bar */
@media (max-width:1000px){
  body.nav-open .pb-nav-links{bottom:auto;height:calc(100vh - 72px)}
}

/* focus visibility (brand: 3px Ticket Gold) */
.pb a:focus-visible,.pb button:focus-visible{outline:3px solid #DEA931;outline-offset:3px}

/* layout helpers */
.center{text-align:center}
.mt{margin-top:44px}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:44px}
.cols3 h3{font-size:18px;margin:0 0 10px}
.cols3 p{margin:0;font-size:15.5px}

/* The Global Ticket — Insights block */
.insights-grid{display:grid;grid-template-columns:220px 1fr;gap:48px;align-items:center}
.insights-grid .pb-btn{margin-top:32px}
.gt-roundel{width:200px;height:200px;display:block}
.gt-pub{font-family:var(--serif);font-weight:600;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#C9D0DD;margin:14px 0 0;text-align:center}

@media (max-width:760px){
  .insights-grid{grid-template-columns:1fr;gap:28px}
  .gt-roundel{width:140px;height:140px}
  .cols3{grid-template-columns:1fr;gap:24px}
}

/* event logos on the Events page cards */
.pb-event-logo{height:64px;width:auto;max-width:100%;object-fit:contain;align-self:flex-start;margin-bottom:10px}
@media (max-width:760px){.pb-event-logo{height:52px}}

/* long statement titles span the full content width */
.pb .pb-title--long{max-width:none;text-wrap:wrap}

/* hero and page-hero headlines span the full content width */
.pb .pb-hero h1,.pb .pb-page-hero h1{max-width:none;text-wrap:wrap}
.pb .pb-hero .pb-hero-sub,.pb .pb-page-hero .pb-sub{max-width:none}

/* portfolio wall: 16 logos sit in a full 4×4 grid (2 across on phones) */
.pb .pb-logos{grid-template-columns:repeat(4,1fr)}
@media (max-width:700px){.pb .pb-logos{grid-template-columns:repeat(2,1fr)}}

/* inline links inside card copy */
.pb-card p a{color:var(--pb-navy);text-decoration:none;border-bottom:1px solid var(--pb-gold)}
.pb-card p a:hover{color:var(--pb-gold)}
