:root{--ink:#123e49;--paper:#f9f1e2;--line:#d9cfbb;--gold:#dfbd70;font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a16d20;outline-offset:5px}p{line-height:1.55}h1,h2,p{margin-top:0}h2{font-size:clamp(2rem,4.4vw,4.25rem);font-weight:400;line-height:1.06;letter-spacing:-.035em}.skip-link{position:absolute;top:-100px;left:20px;z-index:5;background:var(--paper);padding:12px}.skip-link:focus{top:12px}
.site-header{position:absolute;top:0;left:0;width:100%;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 4%}.wordmark{text-transform:uppercase;letter-spacing:.19em;font-size:1.3rem;text-decoration:none}.site-header nav{display:flex;align-items:center;gap:28px;font-size:1.05rem}.site-header nav>a:not(.button){text-decoration:none}.site-header nav>a:not(.button):hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:13px 27px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:2px;text-decoration:none;font-size:1.15rem;line-height:1.2;cursor:pointer;transition:background .15s}.button:hover{background:#20545c}.button-small{font-size:1rem;padding:11px 18px;min-height:44px}
.hero{position:relative;isolation:isolate;min-height:640px;height:58vw;max-height:1050px;overflow:hidden}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:-1}.hero-copy{padding:clamp(100px,7.4vw,150px) 3.6% 0;max-width:900px}.hero h1{font-size:clamp(6rem,11.5vw,12rem);line-height:.9;letter-spacing:-.065em;font-weight:400;margin:0 0 16px}.subtitle{font-size:clamp(1.85rem,3.35vw,3.5rem);line-height:1.15;margin-bottom:14px}.event-details{font-size:clamp(1rem,1.65vw,1.7rem);margin-bottom:24px}.section{padding:76px 7%;border-top:1px solid var(--line)}.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center}.intro h2{margin:0}.intro p{font-size:clamp(1.25rem,2vw,1.75rem);margin:0}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:48px}.faq h2{margin:0}.questions details{border-bottom:1px solid var(--line)}.questions details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;padding:22px 5px;font-size:1.25rem}details p{font-size:1.1rem;margin:0 24px 22px}.tickets{display:flex;align-items:center;justify-content:space-between;gap:32px}.tickets h2{margin:0}.site-footer{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:32px 7%;border-top:1px solid var(--line);font-size:.95rem}.site-footer span{line-height:1.5}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:36px;max-width:calc(100% - 40px)}dialog::backdrop{background:rgb(18 62 73 / .35)}dialog h2{font-size:2rem;margin-bottom:12px}dialog p{font-size:1.1rem}
/* Keep copy comfortably centered on wide screens, with room for the artwork. */
:root{--content-width:70rem;--gutter:clamp(1.5rem,4vw,3rem)}
.site-header,.section,.site-footer{padding-inline:max(var(--gutter),calc((100% - var(--content-width))/2))}
.hero{width:100%;max-width:none;margin-inline:auto;height:60vw;min-height:42rem;max-height:54rem}
.hero-copy{position:relative;width:calc(100% - 2 * var(--gutter));max-width:var(--content-width);margin-inline:auto;padding:clamp(4rem,6vw,6rem) 0 0}
.hero h1{font-size:clamp(5.5rem,10vw,9rem);letter-spacing:-.055em}
.subtitle{font-size:clamp(1.85rem,3vw,2.75rem)}
.event-details{font-size:clamp(1rem,1.5vw,1.375rem)}
.section h2{font-size:clamp(2rem,3.5vw,3.5rem)}
.about p{font-size:1.125rem;max-width:42rem}

@media(max-width:800px){
  .site-header{padding-block:19px;gap:15px}
  .site-header nav{gap:18px}
  .site-header nav>a:not(.button){display:none}
  /* A single layered hero at every size; the tent stays below the headline. */
  .hero{height:auto;min-height:48rem;padding-bottom:25rem;max-height:none}
  .hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:44% center;z-index:-2}
  .hero::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,rgba(249,241,226,.78) 0%,rgba(249,241,226,.5) 24%,rgba(249,241,226,0) 52%)}
  .hero-copy{padding-top:5rem;width:calc(100% - 2 * var(--gutter));max-width:none}
  .hero h1{font-size:clamp(4.75rem,15vw,7rem);margin-bottom:14px}
  .subtitle{font-size:clamp(1.7rem,4.8vw,2.3rem)}
  .event-details{font-size:1.05rem;line-height:1.65;margin-bottom:22px}
  .section{padding-block:45px}
  .intro,.faq{grid-template-columns:1fr;gap:24px}
  .tickets{align-items:flex-start;flex-direction:column}
  .site-footer{padding-block:28px;align-items:flex-start;flex-direction:column;gap:15px}
}
@media(max-width:450px){
  .wordmark{font-size:1rem}
  .button-small{font-size:.9rem;padding:10px 12px}
  .hero{min-height:47rem;padding-bottom:26rem}
  .hero-copy{padding-top:4rem}
  .event-details>span:last-child{display:block}
  .event-details>span[aria-hidden]{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* The Big Tent: theatrical cream, deep teal, and circus burgundy. */
:root{--paper:#fff3db;--ink:#123e49;--line:#d4bf96;--gold:#dfbd70}
.hero{background:#123e49;color:var(--paper)}
.hero-art{z-index:-2;object-position:center center}
.hero::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(7,37,45,.4),transparent 62%)}
.hero h1{font-size:clamp(4rem,6.8vw,6.5rem);max-width:42rem;line-height:1.02;letter-spacing:-.045em}
.hero .button{background:var(--paper);border-color:var(--paper);color:#17343b}
.hero .button:hover{background:#eddbb7}
.button{background:#7d2c30;border-color:#7d2c30}
.button:hover{background:#963e40}
.about p{max-width:46rem;font-size:1.35rem}
@media(max-width:800px){
 .hero-art{object-position:59% center}
 .hero::after{background:linear-gradient(to bottom,rgba(7,37,45,.85),rgba(7,37,45,.6) 32%,rgba(7,37,45,0) 65%)}
 .hero h1{font-size:clamp(3.9rem,11.5vw,6rem);max-width:35rem}
}
@media(max-width:800px){
 .hero-art{width:180%;max-width:none;height:auto;left:-76%;right:auto;top:auto;bottom:0;object-fit:initial;mask-image:linear-gradient(to bottom,transparent,black 18%)}
 .hero::after{background:linear-gradient(to bottom,rgba(7,37,45,.2),transparent 65%)}
}
#mox-photos {
  display: block; width: 100%; max-width: 852px; height: auto; margin: 0 auto;
}

/* ------------------------------------------------------------------------
   Added sections: purpose, who, program, organizations, ticket tiers,
   footer links. Every value below is derived from the tokens
   and treatments above (paper, ink, line, gold, burgundy button, 2px radius,
   1px hairlines, uppercase tracked labels). Nothing above this line changed.
   ------------------------------------------------------------------------ */
.tagline{font-size:clamp(1.1rem,1.6vw,1.45rem);line-height:1.4;max-width:34rem;margin:0 0 18px}
.lede{font-size:1.35rem;max-width:46rem}
.purpose p{font-size:1.35rem;max-width:46rem}
.purpose p:last-child,.orgs .org-list-label{margin-bottom:0}
.who.intro{grid-template-columns:1.2fr 1fr}
.program-days{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:40px}
.day{border-top:1px solid var(--line);padding-top:24px}
.day-label{text-transform:uppercase;letter-spacing:.19em;font-size:.95rem;margin:0 0 12px}
.day h3{font-size:clamp(1.6rem,2.4vw,2.25rem);font-weight:400;line-height:1.1;letter-spacing:-.03em;margin:0 0 12px}
.day .lede{font-size:1.25rem;margin-bottom:0}
.orgs p{font-size:1.1rem;max-width:46rem}
.orgs .lede{font-size:1.35rem}
.partner-cta{font-size:1.25rem;margin:36px 0 0}
.partner-cta strong{font-weight:700}
.org-list-label{margin-top:36px}
.org-list{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-wrap:wrap;font-size:1.1rem;line-height:1.7}
.org-list li:not(:last-child)::after{content:'·';margin:0 .55em}
.org-list[hidden]{display:none}
.logo-carousel{--per-view:3;display:flex;overflow:hidden;margin:28px 0 8px}
.logo-carousel:empty{display:none}
.logo-track{display:flex;flex:none;list-style:none;padding:0;margin:0;transition:transform .8s cubic-bezier(.65,0,.35,1)}
.logo-track li{flex:none;width:calc(var(--carousel-w,100vw) / var(--per-view));height:104px;display:flex;align-items:center;justify-content:center;padding:0 20px}
.logo-track img{display:block;max-height:64px;max-width:100%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s}
.logo-track li:hover img{filter:none;opacity:1}
.logo-track .logo-invert img{filter:grayscale(1) invert(1);mix-blend-mode:normal}
.logo-track .logo-invert:hover img{filter:grayscale(1) invert(1)}
.logo-text{font-size:1.35rem;line-height:1.15;letter-spacing:-.02em;text-align:center;opacity:.8}
.logo-track li:has(.logo-label){flex-direction:column;gap:6px}
.logo-track li:has(.logo-label) img{max-height:44px}
.logo-label{font-size:.85rem;line-height:1.2;text-align:center;opacity:.8}
@media(max-width:640px){.logo-carousel{--per-view:2}}
@media(max-width:420px){.logo-carousel{--per-view:1}}
@media(prefers-reduced-motion:reduce){
  .logo-carousel{flex-wrap:wrap}
  .logo-track{transition:none;flex-wrap:wrap;row-gap:8px}
  .logo-track li{height:auto;padding:12px 28px}
  .logo-track[aria-hidden]{display:none}
}
.ticketing{text-align:center}
.ticketing h2{margin-bottom:10px}
.tickets-kicker{text-transform:uppercase;letter-spacing:.19em;font-size:.95rem;margin:0 0 36px}
.tiers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:44rem;margin:0 auto}
.tier{display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--ink);color:var(--paper);border-radius:12px;padding:28px 24px 26px}
.tier .badge{color:var(--gold);font-size:.78rem;text-transform:uppercase;letter-spacing:.19em}
.tier h3{font-size:.95rem;font-weight:400;text-transform:uppercase;letter-spacing:.16em;margin:0}
.tier .price{font-size:clamp(2.6rem,4.5vw,3.5rem);line-height:1;letter-spacing:-.04em;margin:6px 0 4px}
.tier .currency{font-size:.45em;vertical-align:.9em;letter-spacing:0;margin-right:.08em}
.tier .blurb{font-size:1rem;line-height:1.4;max-width:18rem;margin:0;opacity:.85}
.tickets-cta{margin:32px 0 0}
.tickets-cta .button{font-size:1.35rem;padding:18px 48px;min-height:60px}
.sale-note{font-size:1.15rem}
.button[aria-disabled=true]{background:transparent;color:var(--ink);border-color:var(--line);cursor:default;opacity:.75}
.button[aria-disabled=true]:hover{background:transparent}
.tickets-note{font-size:1.05rem;max-width:36rem;margin:24px auto 0}
.site-footer{flex-wrap:wrap}
.footer-nav{display:flex;gap:20px}
.footer-nav a{text-decoration:none}
.footer-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.colophon{flex-basis:100%;margin:0;line-height:1.5}
/* Page ground pulled from the hero sky instead of cream: pale duck-egg paper,
   teal-tinted hairlines, matching hero button hover. */
:root{--paper:#e3edea;--line:#b7cdc8}
.hero .button:hover{background:#cfdeda}
@media(max-width:600px){.tiers{grid-template-columns:1fr}}
@media(max-width:800px){
  .program-days,.who.intro{grid-template-columns:1fr}
  .program-days{gap:24px;margin-top:28px}
  .org-list-label{margin-top:28px}
  .footer-nav{gap:16px}
}
@media(max-width:450px){.day-label{letter-spacing:.14em;font-size:.85rem}}
