:root{color-scheme:light;--paper: #f6f1e7;--paper-light: #fbf7f0;--navy: #001b72;--navy-deep: #00113f;--soft: #5a6280;--soft-light: #9aa6c8;--rust: #c8492b;--red: #ed1c24;--line: #d9cdb9;--mono-weight: 400;--mono-stroke: .34px;--gutter: clamp(1.25rem, 4.4vw, 4rem);--max: 90rem;--hero-h: min(50vw, 57.5rem);--measure: 33rem;--nav-h: 5.25rem;--control-h: 44px;--book-w: 14.5rem;--marquee-h: 2.25rem;--radius: 2px;--ease: cubic-bezier(.2, .7, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--t-fast: .18s;--t: .42s;--t-slow: .9s;font-family:var(--font-body);color:var(--navy);font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-padding-top:calc(var(--nav-h) + 1.5rem);scroll-behavior:smooth}.paper,body{background-color:var(--paper);background-image:url(/images/grain.webp);background-repeat:repeat;background-size:200px 200px}body{margin:0;overflow-x:clip}body[data-menu-open]{overflow:hidden}img,svg,video{display:block;max-width:100%}::selection{background:var(--navy);color:var(--paper-light)}.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}@media(max-width:30rem){:root{--hero-h: 65vw}}@media(orientation:landscape)and (max-height:30rem){:root{--hero-h: min(64vw, 88svh)}}@media(min-width:119rem){:root{--hero-h: calc(32.4vw + 19rem) }}.section{position:relative}.hero{z-index:1}.intro{z-index:5}.events{z-index:4}.quote{z-index:3}.film,.about{z-index:2}.eyebrow{margin:0;color:var(--soft);font-family:var(--font-mono);font-size:.75rem;font-weight:var(--mono-weight);-webkit-text-stroke:var(--mono-stroke) currentColor;line-height:1.3;letter-spacing:.1333em;text-transform:uppercase}.display{margin:0;color:var(--navy);font-family:var(--font-display);font-weight:400;font-size:clamp(2.5rem,5.6vw,3.75rem);line-height:1.12;letter-spacing:-.0067em}.body-copy{margin:0;max-width:var(--measure);color:var(--soft);font-size:1rem;line-height:1.7}.body-copy+.body-copy{margin-top:1.7em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.625rem;position:relative;isolation:isolate;overflow:hidden;padding:1rem 1.625rem;border:1px solid var(--navy);border-radius:var(--radius);background:transparent;color:var(--paper-light);font-family:var(--font-body);font-size:.8125rem;font-weight:600;line-height:1.1;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer;transition:color var(--t) var(--ease),border-color var(--t) var(--ease)}.btn:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--navy);transform:translateY(0);transition:transform var(--t) var(--ease-out)}.btn:hover:before,.btn:focus-visible:before{transform:translateY(101%)}.btn:hover,.btn:focus-visible{color:var(--navy)}.btn--ghost{color:var(--navy)}.btn--ghost:before{transform:translateY(101%)}.btn--ghost:hover:before,.btn--ghost:focus-visible:before{transform:translateY(0)}.btn--ghost:hover,.btn--ghost:focus-visible{color:var(--paper-light)}.btn--block{width:100%}.btn__arrow{display:inline-block;font-family:var(--font-body);font-weight:400;font-size:.875rem;letter-spacing:0;transition:transform var(--t) var(--ease-out)}.btn:hover .btn__arrow,.btn:focus-visible .btn__arrow{transform:translate(.25rem)}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--red);outline-offset:3px}.skip-link{position:absolute;top:0;left:0;z-index:200;padding:.75rem 1.25rem;background:var(--navy);color:var(--paper-light);font-family:var(--font-mono);font-weight:var(--mono-weight);-webkit-text-stroke:var(--mono-stroke) currentColor;font-size:.75rem;letter-spacing:.1333em;text-transform:uppercase;text-decoration:none;transform:translateY(-120%);transition:transform var(--t-fast) var(--ease)}.skip-link:focus-visible{transform:translateY(0)}[data-reveal]{opacity:1}.js [data-reveal]{opacity:0;translate:0 var(--reveal-y, 1.75rem);transition:opacity var(--t-slow) var(--ease-out),translate var(--t-slow) var(--ease-out);transition-delay:var(--reveal-delay, 0ms)}.js [data-reveal].is-visible{opacity:1;translate:none}.js [data-parallax]{transform:translate(var(--px, 0px),var(--py, 0px)) rotate(var(--pr, 0deg))}@media(max-width:64rem){:root{--nav-h: 4rem;--control-h: 38px}body{padding-bottom:calc(5rem + env(safe-area-inset-bottom,0px))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js [data-reveal]{opacity:1;translate:none}.js [data-parallax]{transform:none;will-change:auto}}
