:root{--ink:#111;--paper:#f6f6f3;--line:#d4d4d0;--gutter:clamp(22px,4vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid currentColor;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,p{margin:0}button{border-radius:0}section{scroll-margin-top:20px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.08em;line-height:1.5}.skip-link{position:fixed;top:-100px;left:16px;z-index:10;background:white;color:black;padding:16px}.skip-link:focus{top:12px}.announcement{background:var(--ink);color:white;text-align:center;padding:11px 15px;font-size:10px;letter-spacing:.09em;line-height:1.5}.announcement a{margin-left:14px;text-decoration:underline;text-underline-offset:3px}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 var(--gutter);background:var(--paper);position:relative;z-index:3}.wordmark{display:inline-flex;flex-shrink:0;align-items:center}.brand-logo{display:block;width:160px;height:48px;object-fit:contain;object-position:center}.site-header nav{display:flex;gap:34px;align-items:center}.site-header nav a{font-size:14px;padding:12px 0;position:relative}.site-header nav a::after{content:"";position:absolute;bottom:6px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.site-header nav a:hover::after,.site-header nav a[aria-current]::after{transform:scaleX(1)}.header-note{font-size:10px;letter-spacing:.07em}.menu-toggle{display:none}.photo-section{position:relative;isolation:isolate;color:white;background:#303330;overflow:hidden}.section-photo,.photo-shade{position:absolute;inset:0;z-index:-2}.section-photo{filter:grayscale(1)}.photo-shade{z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.08) 80%),linear-gradient(0deg,rgba(0,0,0,.28),transparent 45%)}.hero{min-height:760px;min-height:min(850px,calc(100svh - 130px));padding:28px var(--gutter) 25px;display:flex;flex-direction:column;justify-content:space-between}.hero-top,.hero-bottom,.section-top{display:flex;justify-content:space-between;gap:20px}.hero-top,.hero-bottom{font-size:10px}.hero-content{padding:56px 0 48px}.hero h1{font-size:clamp(64px,7.8vw,120px);font-weight:700;line-height:.87;letter-spacing:-.065em;margin:20px 0 24px}.hero-description{font-size:16px;line-height:1.5}.launch-block{margin-top:30px}.launch-block>.eyebrow{font-size:10px}.countdown{display:flex;align-items:flex-start;gap:15px;margin:10px 0 22px;width:max-content}.countdown div{display:flex;flex-direction:column;align-items:center;min-width:33px}.countdown span{font-size:29px;line-height:1;font-variant-numeric:tabular-nums;font-weight:400;letter-spacing:-1px}.countdown small{font-size:8px;letter-spacing:.1em;margin-top:8px}.countdown b{font-size:23px;font-weight:400}.button{min-height:49px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;padding:16px 31px;font-size:11px;font-weight:600;letter-spacing:.065em;transition:background .2s,color .2s,border-color .2s}.button-white{background:var(--paper);color:var(--ink)}.button-white:hover{background:transparent;border-color:white;color:white}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#333}.intro{display:grid;grid-template-columns:minmax(0,1fr) calc((100% - 250px) * 2 / 3) minmax(0,1fr);align-items:center;gap:45px;padding:76px var(--gutter)}.intro>.eyebrow{align-self:center}.intro h2{text-align:center;font-size:clamp(26px,3vw,43px);letter-spacing:-.045em;font-weight:400;line-height:1.1}.intro p:not(.eyebrow){font-size:15px;line-height:1.65;max-width:520px;margin-top:18px;margin-inline:auto;text-align:center;color:#555}.intro-mark{width:104px;height:32px;align-self:center;justify-self:end;opacity:.7}.events{height:660px;padding:29px var(--gutter);display:flex;flex-direction:column;justify-content:space-between}.events .section-photo{object-position:center 45%}.event-content{padding-top:95px}.event-content h2,.newsletter h2{font-size:clamp(58px,6.2vw,92px);line-height:.91;letter-spacing:-.06em;margin:18px 0 25px}.event-content>p:not(.eyebrow){font-size:16px;line-height:1.6;margin-bottom:28px}.event-caption{align-self:flex-end;font-size:10px}.newsletter{display:grid;grid-template-columns:1fr 1fr;min-height:530px;border-bottom:1px solid #333;background:var(--ink);color:white}.newsletter-image{position:relative;min-height:500px;overflow:hidden}.newsletter-image img{position:absolute;inset:0;filter:grayscale(1);opacity:.75}.newsletter-image>span{position:absolute;bottom:30px;left:var(--gutter);right:20px;font-size:10px}.newsletter-content{padding:65px clamp(28px,5vw,80px)}.newsletter h2{font-size:clamp(56px,5.5vw,82px)}.newsletter-content>p:not(.eyebrow){color:#ccc;font-size:15px;line-height:1.6}.signup-form{margin-top:32px}.signup-form label{display:block;font-size:12px;margin-bottom:9px}.newsletter .signup-form label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.email-row{display:flex;border-bottom:1px solid #aaa}.signup-form input{border:0;border-bottom:1px solid #999;border-radius:0;min-width:0;width:100%;padding:16px 0;color:inherit;background:transparent;font-size:16px}.email-row input{border:0}.email-row button{flex-shrink:0;color:white;background:none;border:0;padding:15px 4px 15px 22px;font-size:11px;letter-spacing:.07em}.email-row button:hover{text-decoration:underline;text-underline-offset:5px}.form-note{font-size:10px;line-height:1.6;color:#aaa;margin-top:14px}.form-status{font-size:13px;line-height:1.5;margin-top:12px}.form-status:empty{display:none}footer{padding:45px var(--gutter) 22px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:42px}.footer-top p{font-size:12px;letter-spacing:.065em}.footer-top>a:last-child{font-size:10px;letter-spacing:.04em}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:.04em;color:#666}dialog{border:0;padding:50px;max-width:520px;width:calc(100% - 32px);max-height:calc(100svh - 32px);background:var(--paper);color:var(--ink)}dialog::backdrop{background:rgba(0,0,0,.7)}dialog h2{font-size:clamp(42px,7vw,60px);line-height:.93;letter-spacing:-.055em;margin:22px 0}dialog>p:not(.eyebrow){font-size:16px;line-height:1.6;color:#555}.dialog-close{position:absolute;top:12px;right:12px;font-size:30px;width:42px;height:42px;border:0;background:transparent}.dialog-close:hover{background:#e4e4e1}dialog .button{width:100%;margin-top:20px}dialog .form-note{color:#666}
@media(min-width:1600px){.hero-content{max-width:1500px;width:100%;margin:auto}.hero{min-height:850px}}
@media(max-width:1050px){.header-note{display:none}.site-header nav{gap:25px}.intro{grid-template-columns:minmax(0,1fr) calc((100% - 30px) * 2 / 3) minmax(0,1fr);gap:30px}.intro-mark{display:none}.newsletter-content{padding:55px 30px}.desktop-break{display:none}}
@media(max-width:650px){html{scroll-padding-top:20px}.announcement{font-size:8px;padding:10px}.announcement a{margin-left:7px}.site-header{height:77px}.brand-logo{width:144px;height:44px}.menu-toggle{display:flex;align-items:center;gap:15px;border:0;background:none;padding:12px 0 12px 20px;font-size:13px}.menu-toggle span{font-size:24px;font-weight:300}.site-header nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:15px var(--gutter) 25px;display:none;box-shadow:0 12px 12px #0001;gap:0}.site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch}.site-header nav a{padding:15px 0;border-bottom:1px solid var(--line)}.site-header nav a::after{display:none}.hero{min-height:720px;min-height:max(680px,calc(100svh - 109px));padding-top:22px;padding-bottom:23px}.hero .section-photo{object-position:62% center}.hero-top span:last-child,.hero-bottom span:first-child{display:none}.hero-top,.hero-bottom{font-size:9px}.hero-content{padding:55px 0 45px}.hero h1{font-size:clamp(57px,14vw,90px);margin-top:18px;margin-bottom:23px}.hero-description{font-size:15px}.hero-content>.eyebrow{font-size:10px}.launch-block{margin-top:30px}.countdown{gap:18px;margin-bottom:23px}.countdown span{font-size:30px}.button{min-height:50px}.hero-bottom{justify-content:flex-end}.intro{display:block;padding:45px var(--gutter) 48px}.intro>.eyebrow{font-size:10px;margin-bottom:23px}.intro h2{font-size:30px}.intro p:not(.eyebrow){font-size:14px;line-height:1.7}.events{height:630px;padding-top:23px;padding-bottom:23px}.section-top{font-size:10px}.section-top span:last-child{display:none}.events .section-photo{object-position:58% center}.event-content{padding-top:70px}.event-content>.eyebrow{font-size:10px}.event-content h2{font-size:65px}.event-content>p:not(.eyebrow){font-size:15px;max-width:310px}.event-content br:not(h2 br){display:none}.event-caption{font-size:9px}.newsletter{display:flex;flex-direction:column}.newsletter-image{min-height:280px}.newsletter-content{padding:44px var(--gutter) 50px}.newsletter-content>.eyebrow{font-size:10px}.newsletter h2{font-size:64px}.newsletter-content>p:not(.eyebrow){font-size:15px}.newsletter-image>span{bottom:22px}.footer-top{flex-wrap:wrap;padding-bottom:30px;row-gap:30px}.footer-top p{order:3;width:100%;font-size:10px}.footer-bottom{flex-wrap:wrap;font-size:8px;line-height:1.5}.footer-bottom>span:nth-child(2){display:none}footer{padding-top:35px}.photo-shade{background:linear-gradient(90deg,#0009,#0002),linear-gradient(0deg,#0005,transparent)}dialog{padding:45px 25px 30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.events-signup { max-width: 380px; margin-top: 0; }
.events-signup input { border-bottom-color: white; }
.events-signup .button { margin-top: 20px; }

/* Center desktop navigation independently of the logo width. */
@media(min-width:651px){.site-header nav{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap}}
@media(min-width:651px) and (max-width:800px){.site-header nav{gap:10px}}
