/* Sequence 2670. An editorial rhythm of warm light, space, and direct touch. */
@font-face{font-family:Commissioner;font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/commissioner-latin.woff2') format('woff2')}
:root{--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}
.intro-screen{display:none;position:fixed;inset:0;z-index:900;background:#101110;color:#f3f3ef;pointer-events:none;overflow:hidden}
html[data-intro=playing] .intro-screen{display:grid;place-items:center;animation:intro-away .55s var(--ease-in-out) .95s both}
.intro-wordmark{position:relative;width:min(62vw,680px);text-align:center;animation:intro-brand 1.1s var(--ease-out) both}
.intro-wordmark img{width:100%;height:auto}
.intro-wordmark>span{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-top:30px;color:#aeaca5}
.intro-light{position:absolute;left:50%;top:0;width:2px;height:100%;background:#ec4534;box-shadow:0 0 40px 12px #e32e2466;animation:intro-light 1.4s var(--ease-in-out) both}
.intro-kicker{position:absolute;bottom:40px;font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#bdb6af}
@keyframes intro-brand{0%{opacity:0;transform:translateY(12px)}35%,75%{opacity:1;transform:translateY(0)}100%{opacity:1}}
@keyframes intro-light{0%{transform:scaleY(0);opacity:0}40%{transform:scaleY(1);opacity:.9}90%,100%{transform:scaleY(1);opacity:0}}
@keyframes intro-away{to{opacity:0;visibility:hidden;transform:translateY(-2%)}}
.reading-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:110;pointer-events:none}
.reading-progress span{display:block;height:100%;background:var(--red);transform:scaleX(0);transform-origin:left}
.site-header,.site-header.is-scrolled{height:72px;transition:background-color .25s,color .25s,border-color .25s}
.site-header.is-scrolled .brand{width:214px}.site-header.is-scrolled .menu-toggle,.site-header.is-scrolled .header-book{min-height:44px}
.site-header.is-scrolled{box-shadow:0 5px 24px #1111}.site-menu{top:72px;transform-origin:top;animation:menu-arrive .4s var(--ease-out)}
@keyframes menu-arrive{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}
body.menu-open main{filter:none}
.header-book{min-height:44px}.cta{transition:background-color .2s,transform .2s var(--ease-out)}
.cta:active,.header-book:active,.study-controls button:active{transform:scale(.975)}
.hero h1{font-size:clamp(90px,8.6vw,155px)}
.hero-intro p{font-size:15px}.hero .scroll-cue{min-height:44px}
.hero-media img{will-change:transform}
.introduction{padding-top:180px;padding-bottom:100px;min-height:980px}
.intro-note{box-shadow:0 12px 50px #22205}.float-photo{border:3px solid white;box-shadow:0 9px 26px #0001}
.float-one{transform:rotate(-3deg)}.float-two{transform:rotate(3deg)}.float-three{transform:rotate(-2deg)}
.card-image{position:relative}.card-image::after{content:'Explore ↗';position:absolute;right:18px;bottom:18px;padding:11px 16px;border:1px solid #ffffff6b;background:#171b17c9;color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.09em;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .25s var(--ease-out)}
.experience-card{transition:background-color .25s}.experience-card:focus-within{background:#f3f3ef}
.visit-step{display:block;padding:0;border-bottom:1px solid var(--line)}
.visit-step summary{display:grid;grid-template-columns:34px 1fr 26px;align-items:center;gap:20px;padding:30px 0;list-style:none;cursor:pointer;min-height:88px}
.visit-step summary::-webkit-details-marker{display:none}.visit-step summary>span{color:var(--muted);font-size:11px}.visit-step summary h3{margin:0;font-size:30px}.visit-step summary i{font-style:normal;font-size:25px;font-weight:300;color:var(--red);transition:transform .25s var(--ease-out)}
.visit-step[open] summary i{transform:rotate(45deg)}.visit-step>div{padding:0 38px 32px 54px}.visit-step>div p{font-size:15px;max-width:50ch}
.visit-step[open]>div{animation:disclose .3s var(--ease-out)}
@keyframes disclose{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.faq-item[open]>div{animation:disclose .3s var(--ease-out)}
.session-row{transition:background-color .2s,padding-left .25s var(--ease-out)}
.session-row:focus-visible{background:#e5e5de}.book-dock{z-index:90;opacity:0;visibility:hidden;transition:transform .3s var(--ease-out),opacity .2s,visibility .2s}.book-dock.is-visible{opacity:1;visibility:visible}
.finale{min-height:720px}.finale-media{overflow:hidden}
.study-coordinate{position:absolute;top:22px;left:24px;font-size:9px;letter-spacing:.12em;color:#666a60;z-index:2}
.study-gesture{display:none;position:absolute;right:24px;bottom:20px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;z-index:2;color:#62675f}
.is-ready .study-gesture{display:block}.study-interactive-copy{display:none}.is-ready .study-interactive-copy{display:inline}.is-ready .study-static-copy{display:none}#light-study:not(.is-ready) .study-controls{display:none}
.study-gesture span{margin-left:14px;font-size:18px}.study-bottom{padding-top:24px}
.study-caption{text-align:center;margin:8px auto 0;font-size:10px;line-height:1.5;color:#62665d}.study-controls button{gap:10px}
@media(hover:hover) and (pointer:fine){
 .experience-card:hover{background:#f3f3ef}.card-image:hover::after,.card-image:focus-visible::after{opacity:1;transform:translateY(0)}
 .session-row:hover{padding-left:16px;background:#e8e9e2}.visit-step summary:hover h3{color:var(--red)}
}
@media(max-width:900px){.desktop-nav{display:none}.header-actions{margin-left:auto;gap:22px}.header-book{display:flex}.hero h1{font-size:10vw}.hero-intro{width:260px}.study-heading{gap:24px}}
@media(max-width:600px){
 :root{--gut:20px}
 .site-header,.site-header.is-scrolled{height:66px;padding:10px 16px;gap:12px}
 .brand,.site-header.is-scrolled .brand{width:155px}
 .header-actions{gap:14px;margin-left:auto}.menu-toggle{min-width:44px;min-height:44px;justify-content:center}.menu-toggle>span{display:none}.menu-toggle i,.menu-toggle i::before,.menu-toggle i::after{width:18px}
 .header-book,.site-header.is-scrolled .header-book{display:flex;min-height:40px;padding:0 13px;font-size:10px;gap:8px;background:#f3f3ef;color:#20211f}
 .header-book>span{display:none}.is-menu .header-book{display:flex}
 .hero{height:100svh;min-height:640px;max-height:980px}.hero-bottom{inset:0 20px}
 .hero h1{top:112px;left:0;font-size:14vw;letter-spacing:-.055em;line-height:.92;max-width:100%}
 .hero h1>span{white-space:nowrap}.hero-media img{object-position:61% center}
 .hero-intro{bottom:34px;left:0;right:0;width:auto;align-items:flex-start}
 .hero-intro p{text-align:left;margin:0 0 20px;font-size:14px;max-width:32ch;line-height:1.5}
 .hero-intro .cta{margin-bottom:18px;min-height:48px;grid-template-columns:1fr 48px}.hero-intro .cta>span:first-child{padding:16px 20px}
 .hero-intro .scroll-cue{width:100%;min-height:32px;font-size:9px}
 .hero-media::after{background:linear-gradient(180deg,#10110f8c,transparent 39%,#10110f22 48%,#10110fe6)}
 .site-menu{inset:66px 0 0;animation:menu-arrive .3s var(--ease-out);padding:45px 22px 30px;overflow-y:auto}.menu-content nav a{font-size:36px}
 .intro-wordmark{width:78vw}.intro-wordmark>span{font-size:9px;letter-spacing:.1em;margin-top:25px}
 .intro-kicker{bottom:28px;font-size:9px}.intro-light{box-shadow:0 0 25px 6px #e32e2466}
 .ticker{padding-block:21px}.ticker-track{gap:30px}.ticker-track span{font-size:16px}
 .introduction{padding:115px 20px 68px;min-height:0}.intro-title h2{font-size:clamp(34px,9.2vw,55px);max-width:11ch;line-height:1.04}.intro-note{width:100%;margin:60px 0 0;padding:23px 20px}
 .float-one{top:20px;left:15px;width:90px;height:70px;display:block;border-width:3px}.float-two{top:42px;right:16px;width:72px;height:82px;display:block;border-width:3px}.float-three{display:none}
 .experience{padding-top:48px;padding-bottom:60px}.section-heading{padding-bottom:36px}.section-heading h2{font-size:clamp(34px,9.6vw,58px)}.experience-card{padding:18px 16px 22px}.experience-card>p{font-size:21px;line-height:1.24}
 .card-image::after{opacity:1;transform:none;right:12px;bottom:12px;font-size:9px;padding:8px 12px}
 .research{padding:46px 20px 16px;margin-inline:8px}.research-opening h2{font-size:16.4vw;letter-spacing:-.055em;line-height:.94;margin-bottom:38px}
 .research-opening{padding-bottom:45px}.research-copy h3{font-size:27px}.research-image{height:360px}.research-image figcaption{font-size:30px;max-width:10ch}
 .science-facts>div{padding:22px}.science-facts h3{font-size:39px;margin-block:24px 20px}.science-facts{margin-bottom:28px}
 .visit{padding-top:65px;padding-bottom:50px}.visit-intro h2{font-size:49px}.visit-steps{padding-top:35px}
 .visit-step summary{grid-template-columns:22px 1fr 20px;gap:12px;padding:24px 0;min-height:76px}.visit-step summary h3{font-size:24px;line-height:1.15}.visit-step>div{padding:0 0 25px 34px}.visit-step>div p{font-size:14px}
 .sessions{padding-top:12px;padding-bottom:50px}.sessions-visual{height:310px}.sessions-content h2{font-size:50px}.session-row strong{font-size:24px}.session-price i{margin-left:14px}
 .questions{padding-block:50px}.questions h2{font-size:57px}.faq-list{padding-top:35px}.faq-item summary{font-size:21px;line-height:1.2;min-height:80px}
 .finale{min-height:560px}.finale h2{font-size:46px;max-width:11ch}
 .book-dock{display:none;width:auto;left:auto;right:16px;bottom:max(16px,env(safe-area-inset-bottom));transform:translateY(18px);grid-template-columns:1fr 45px;min-height:46px;box-shadow:0 5px 25px #0003}
 .book-dock.is-visible{transform:translateY(0)}.book-dock>span:first-child{padding:15px 18px;font-size:10px}
}
@media(max-width:359px){.brand,.site-header.is-scrolled .brand{width:118px}.header-actions{gap:10px}.header-book{font-size:9px;padding-inline:10px}.hero h1{font-size:13.7vw}.hero{min-height:620px}}
@media(prefers-reduced-motion:reduce){.intro-screen{display:none!important}.reading-progress{display:none}.hero-media img{will-change:auto}.visit-step[open]>div,.faq-item[open]>div{animation:none}.card-image::after{transform:none}.book-dock{transform:none}}

/* Navigation keeps its place in the story, for pointer and keyboard alike. */
.desktop-nav a{display:inline-flex;align-items:center;min-height:44px}
.desktop-nav a::after{bottom:7px}
.desktop-nav a[aria-current=location]::after,.desktop-nav a:focus-visible::after{transform:scaleX(1)}
.menu-content nav a[aria-current=location]{color:var(--red)}
.menu-content nav a{transition:color .2s,transform .3s var(--ease-out)}
.menu-content nav a:focus-visible{outline-offset:3px}
.menu-feature p{white-space:pre-line;max-width:calc(100% - 48px)}
.site-menu{min-height:min(540px,calc(100svh - 72px));max-height:calc(100svh - 72px);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--ink) var(--paper)}
.menu-feature{min-height:0}
.site-header a:focus-visible,.site-header button:focus-visible{outline-color:currentColor}
.ticker-pause{width:44px;height:44px}
.ticker-pause svg{display:block;width:20px;height:20px}
.ticker-pause:disabled{opacity:.55;cursor:default}
.hero .scroll-cue{display:flex}
.card-image:focus-visible::after{opacity:1;transform:translateY(0)}
.card-image:focus-visible img{transform:scale(1.045)}
.text-link,.faq-item>div a{text-underline-offset:5px;text-decoration-thickness:1px}
.text-link>span,.session-price i{transition:transform .25s var(--ease-out)}
.visit-step summary:focus-visible,.faq-item summary:focus-visible{outline-offset:4px}
.visit-step[open] summary h3,.faq-item[open] summary{color:var(--red)}
.visit-step,.faq-item{scroll-margin-top:100px}

@supports(interpolate-size:allow-keywords){
 .visit-step,.faq-item{interpolate-size:allow-keywords}
 .visit-step::details-content,.faq-item::details-content{block-size:0;overflow:clip;transition:block-size .32s var(--ease-out),content-visibility .32s allow-discrete}
 .visit-step[open]::details-content,.faq-item[open]::details-content{block-size:auto}
 .visit-step[open]>div,.faq-item[open]>div{animation:none}
}
@media(hover:hover) and (pointer:fine){
 .menu-content nav a:hover{color:var(--red);transform:translateX(8px)}
 .text-link:hover>span,.text-link:focus-visible>span,.session-row:hover .session-price i,.session-row:focus-visible .session-price i{transform:translate(3px,-3px)}
 .faq-item summary:hover{color:var(--red)}
}
@media(min-width:601px) and (max-height:720px){
 .site-menu{padding-block:22px;gap:6%}
 .menu-content nav a{font-size:clamp(30px,5.6vh,48px);min-height:48px}
 .menu-content>.eyebrow{margin-bottom:12px}
 .menu-bottom{padding-top:18px}
 .menu-feature p{font-size:30px}
}
@media(max-width:600px){
 .hero{min-height:760px}
 .header-book,.site-header.is-scrolled .header-book{min-height:44px}
 .site-menu{max-height:calc(100svh - 66px);min-height:0}
 .menu-content nav a{font-size:clamp(28px,8.4vw,36px);min-height:52px}
 .hero-intro .scroll-cue{min-height:44px}
 .text-link,.faq-item>div a{min-height:44px;align-items:center}
 .faq-item>div a{display:inline-flex}
}
@media(max-width:600px) and (max-height:700px){
 .site-menu{padding:22px 22px 24px}
 .menu-content>.eyebrow{margin-bottom:16px}
 .menu-content nav a{padding-block:7px;min-height:44px;font-size:30px}
 .menu-bottom{padding-top:24px}
 .menu-bottom>span{margin-bottom:16px}
}
@media(prefers-reduced-motion:reduce){
 .menu-content nav a,.text-link>span,.session-price i{transition:none}
 .menu-content nav a:hover,.text-link:hover>span,.session-row:hover .session-price i,.card-image:focus-visible img{transform:none}
 .visit-step::details-content,.faq-item::details-content{transition:none}
}

/* Small controls and notes stay readable at the same scale as the page. */
.cta,.experience-card>.cta,.intro-note .cta,.hero-intro .cta,.finale .cta,.menu-bottom .cta{font-size:11px}
.header-book,.site-header.is-scrolled .header-book{font-size:11px}
.hero .scroll-cue,.card-image::after,.book-dock>span:first-child{font-size:11px}
.intro-title .eyebrow,.intro-note .eyebrow,.section-heading .eyebrow,.research-copy .eyebrow,.science-facts .eyebrow,.questions .eyebrow,.finale .eyebrow,.booking-context .eyebrow,.menu-content>.eyebrow{font-size:11px}
.card-meta,.card-meta h3,.menu-bottom>span{font-size:11px}
.experience-card>p{line-height:1.35}
#light-study .study-coordinate,#light-study .study-gesture,#light-study .study-caption{font-size:11px}
#light-study .study-controls button,#light-study #studyStatus{font-size:12px}
#book .foot ul,#book .foot .copy{font-size:11px}
.questions .faq-item[open] summary{color:#b82b1a}
@media(hover:hover) and (pointer:fine){.questions .faq-item summary:hover{color:#b82b1a}}
