@font-face{font-family:Inter Display;src:url('../font/inter/InterDisplay-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Inter Display;src:url('../font/inter/InterDisplay-ExtraBold.woff2') format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:Martian Mono;src:url('../font/MartianMono-VariableFont_wdth,wght.woff2') format('woff2');font-weight:100 800;font-display:swap}
:root{color-scheme:dark;--pad:clamp(20px,4vw,72px);--line:#333;--muted:#aaa}
*{box-sizing:border-box;margin:0;padding:0}
html{background:#000;scroll-behavior:smooth;scroll-padding-top:100px}
body{font-family:Inter Display,Arial,sans-serif;background:#000;color:#fff;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,select{cursor:pointer}button{background:none;border:0}img{display:block;width:100%}button:disabled{cursor:default}
[hidden]{display:none!important}::selection{background:#fff;color:#000}:focus-visible{outline:2px solid #fff;outline-offset:5px}.mono{font-family:Martian Mono,monospace;font-size:10px;font-weight:400;line-height:1.65;font-stretch:85%;letter-spacing:0}
.skip{position:fixed;top:8px;left:16px;transform:translateY(-200%);padding:12px;background:#fff;color:#000;z-index:100}.skip:focus{transform:none}
.top{height:82px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;background:#000;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;min-height:44px}.brand svg{display:block;width:126px;height:27px;fill:currentColor}.menu{display:flex;align-items:center;gap:26px;min-height:44px}.menu span{font-family:Arial,sans-serif;font-size:26px}
.hero{padding:36px var(--pad) 0}.eyebrow{display:flex;justify-content:space-between;color:var(--muted)}h1{margin:30px 0 25px;font-size:clamp(62px,13.9vw,220px);font-weight:800;line-height:.79;letter-spacing:-.065em}h1 span{display:block;text-align:right}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:24px;margin:36px 0}.hero-bottom p{font-size:clamp(18px,2.1vw,30px);line-height:1.15;letter-spacing:-.035em}.text-link{padding:12px 0;border-bottom:1px solid #fff;white-space:nowrap}
.moments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.moment{position:relative;display:block;min-width:0;overflow:hidden;aspect-ratio:4/5;border-radius:14px;isolation:isolate;background:#191919}.moment img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s}.moment:first-child img{object-position:69% center}.moment:nth-child(2) img{object-position:41% center}.moment:nth-child(3) img{object-position:70% center}.moment:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 25%,#000b);z-index:0}.moment>span{position:absolute;top:20px;left:20px;z-index:1}.moment h2{position:absolute;bottom:22px;left:22px;right:22px;font-size:clamp(26px,3.7vw,58px);font-weight:800;line-height:.9;letter-spacing:-.045em;z-index:1}.moment i{display:block;margin-top:16px;font-size:30px;line-height:1;font-style:normal;font-weight:400}.moment:hover img{transform:scale(1.04)}
.calendar{padding:90px var(--pad) 70px}.calendar-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:40px}.calendar-heading h2,.contact h2{font-size:clamp(42px,7vw,110px);font-weight:800;line-height:.86;letter-spacing:-.055em}.calendar-heading p{color:var(--muted)}
.finder>label{color:var(--muted)}.search-row{display:flex;align-items:center;gap:16px;border-bottom:1px solid #fff;padding:10px 0 16px}.search-row input{border:0;background:none;flex:1;min-width:0;font-size:clamp(25px,3.5vw,52px);letter-spacing:-.035em;padding:6px 0;border-radius:0}.search-row input::placeholder{color:#888}.search-row input::-webkit-search-cancel-button{display:none}.search-row input:focus-visible{outline-offset:0}.search-row button{min-width:44px;min-height:44px}.search-submit{font-size:36px}.filters{display:flex;gap:20px;align-items:start;justify-content:space-between;padding:22px 0}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);border-radius:30px;padding:11px 15px;min-height:44px;white-space:nowrap;text-transform:uppercase}.chip[aria-pressed=true]{background:#fff;color:#000;border-color:#fff}.chip small{margin-left:8px;opacity:.6;font-size:9px}.chip:hover{border-color:#fff}.month-filter{flex-shrink:0;display:flex;gap:12px;align-items:center;min-height:44px;color:var(--muted)}.month-filter select{min-height:44px;max-width:190px;border:1px solid var(--line);border-radius:4px;padding:0 10px;background:#111;color:#fff;font-family:inherit;font-size:10px}
.results-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:60px;color:var(--muted);border-top:1px solid var(--line)}.results-meta button{font:inherit;color:#fff;min-height:44px}.month{margin-top:42px}.month-title{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:clamp(26px,3vw,42px);font-weight:800;text-transform:uppercase;letter-spacing:-.04em;padding-bottom:18px;border-bottom:1px solid #fff}.month-title span{letter-spacing:0;color:var(--muted)}
.event{display:grid;grid-template-columns:120px minmax(0,1fr) 140px;gap:26px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}.event-date{color:var(--muted);text-transform:uppercase}.event-main h4{font-size:clamp(20px,2.1vw,30px);font-weight:800;letter-spacing:-.035em;line-height:1.05}.event-main p{margin-top:9px;color:var(--muted);font-size:14px;line-height:1.4}.event-main .category{display:block;margin-top:12px;color:#888;text-transform:uppercase;font-size:9px}.request{border:1px solid #555;border-radius:40px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:20px;text-transform:uppercase}.request:hover{background:#fff;color:#000;border-color:#fff}.date-note{display:block;margin-top:8px;font-size:9px;color:#aaa}.empty{padding:70px 0;text-align:center}.empty h3{font-size:clamp(32px,6vw,74px);line-height:.9;letter-spacing:-.04em;margin:24px 0}.empty p{color:var(--muted);margin-bottom:28px}.notice{padding:24px 0}.notice a{text-decoration:underline}
.pill{display:inline-flex;align-items:center;justify-content:center;min-height:52px;background:#fff;color:#000;border-radius:40px;padding:16px 28px;font:11px Martian Mono,monospace}.contact{margin:0 var(--pad);border-top:1px solid #fff;padding:60px 0 70px}.contact h2{margin:26px 0 32px}.contact>p{max-width:540px;color:var(--muted);font-size:14px;line-height:1.55;margin-top:28px}footer{padding:28px var(--pad);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:28px}footer>div{display:flex;gap:24px}footer>span{font-size:9px;color:var(--muted)}footer a:hover{text-decoration:underline}
@media(max-width:900px){.filters{flex-direction:column}.calendar-heading{align-items:start}.hero-bottom{align-items:start}.event{grid-template-columns:100px minmax(0,1fr) 110px;gap:18px}footer{flex-wrap:wrap}footer>span{width:100%}}
@media(max-width:600px){html{scroll-padding-top:85px}.top{height:70px}.brand svg{width:100px;height:23px}.menu{gap:10px;font-size:9px}.hero{padding-top:26px}.eyebrow{font-size:8px}h1{font-size:14vw;margin:32px 0;line-height:.86}.hero-bottom{flex-direction:column;gap:18px;margin:24px 0}.hero-bottom p{font-size:21px}.moments{gap:8px}.moment{aspect-ratio:.6;border-radius:10px}.moment>span{top:10px;left:10px;font-size:8px}.moment h2{bottom:14px;left:10px;right:8px;font-size:clamp(13px,3.7vw,22px);line-height:.95;letter-spacing:-.03em}.moment i{display:none}.calendar{padding-top:55px;padding-bottom:45px}.calendar-heading{flex-direction:column;gap:18px;margin-bottom:28px}.calendar-heading h2{font-size:52px}.search-row{gap:8px}.search-row input{font-size:26px}.chips{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding:6px 2px 12px;scrollbar-width:thin}.filters{gap:4px;padding:14px 0 18px;min-width:0}.chip{font-size:9px;padding:10px 13px}.month-filter{width:100%;justify-content:space-between}.month-filter select{max-width:none;flex:1;margin-left:20px}.results-meta{font-size:9px;align-items:start;padding-top:18px}.results-meta button{font-size:9px;min-height:24px;white-space:nowrap}.month{margin-top:28px}.event{grid-template-columns:72px minmax(0,1fr);gap:10px 14px;padding:23px 0}.event-main h4{font-size:21px}.event-main p{font-size:13px}.request{grid-column:2;width:max-content;min-width:120px;padding:0 18px;margin-top:5px;font-size:9px}.event-date{align-self:start;padding-top:3px;font-size:9px}.date-note{font-size:8px}.contact{padding:40px 0 50px}.contact h2{font-size:13vw}.contact>p{font-size:13px}footer{gap:20px}footer>div{font-size:9px;gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.moment img{transition:none}}

/* Masked title reveals keep the layout still while the lettering arrives. */
h1 .title-line{display:block;overflow:hidden;padding:.09em 0;margin:-.09em 0;text-align:left}
h1 .title-line:last-child{text-align:right}
h1 .title-line>span{display:block;text-align:inherit}
.reveal-line{display:block;overflow:hidden;padding:.08em 0;margin:-.08em 0}
.reveal-line>span{display:block}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
