: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-heading{width:fit-content;text-align:center;margin-bottom:16px}
.day-illustration{display:block;width:128px;height:128px;margin:0 auto 8px}
.day h3{font-size:clamp(1.6rem,2.4vw,2.25rem);font-weight:400;line-height:1.1;letter-spacing:-.03em;margin:0}
.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{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;background:#f9f1e2;color:var(--ink);border:2px solid #b58a3b;border-radius:2px;outline:2px solid #b58a3b;outline-offset:-8px;padding:28px 24px 26px}
/* Small side cutouts and a perforated stub suggest a printed admission ticket. */
.tier::before,.tier::after{content:'';position:absolute;top:50%;width:22px;height:22px;border-radius:50%;background:var(--paper);transform:translateY(-50%);pointer-events:none}
.tier::before{left:-12px}
.tier::after{right:-12px}
/* Only the printed gold lines catch the light; the paper stays still. */
@media(prefers-reduced-motion:no-preference){
  .tier{animation:ticket-gold-shimmer 3.8s ease-in-out infinite}
  .tier .blurb{animation:ticket-gold-perforation 3.8s ease-in-out infinite}
  .tier:nth-child(even),.tier:nth-child(even) .blurb{animation-delay:-1.9s}
}
@keyframes ticket-gold-shimmer{
  0%,100%{border-color:#a17b37;outline-color:#b58a3b}
  35%{border-color:#dfbf70;outline-color:#a17b37}
  55%{border-color:#ead79f;outline-color:#dfbf70}
  70%{border-color:#b58a3b;outline-color:#ead79f}
}
@keyframes ticket-gold-perforation{
  0%,100%{border-top-color:#a17b37}
  45%{border-top-color:#c9a34e}
  60%{border-top-color:#ead79f}
}
.tier .badge{color:#7d2c30;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;width:100%;max-width:18rem;margin:12px 0 0;padding-top:16px;border-top:1px dashed #b5a17d}
.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:#ffffff;--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}}

/* Teal wash beneath the existing hero gradients at every screen size. */
.hero::after{background-color:rgb(0 0 0 / 0%)}
/* Young Serif is supplied in its regular weight for all site headings and the hero subtitle. */
h1,h2,h3,h4,h5,h6,.hero .subtitle{font-family:'Young Serif',Georgia,'Times New Roman',serif;font-weight:400}
