@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#141414;--accent:#aa7cff;--paper:#f7f7f5;--line:#dcdcd7;--muted:#62625e;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:Manrope,Arial,sans-serif;--page: min(1280px,calc(100% - 112px));color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8b4cda;outline-offset:5px}button{touch-action:manipulation}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--display);font-weight:800;letter-spacing:-.015em}h2{font-size:clamp(2.4rem,4vw,3.6rem);line-height:1.04}h3{font-weight:800;line-height:1.3}img{display:block;max-width:100%}section[id]{scroll-margin-top:20px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;padding:12px;background:var(--accent);z-index:100}.skip-link:focus{top:15px}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 56px;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{font-family:var(--display);font-weight:800;font-size:3.6rem;line-height:1;letter-spacing:-.055em}.brand-mark>span{color:#8b4cda}.brand-name{font-size:.78rem;line-height:1.28;font-weight:800;letter-spacing:.015em}.navigation{display:flex;align-items:center;gap:31px;font-size:.88rem;font-weight:700}.navigation>a{position:relative}.navigation>a:not(.nav-contact):after{content:'';position:absolute;bottom:-7px;left:0;width:0;height:3px;background:var(--accent);transition:width .2s}.navigation>a:hover:after{width:100%}.nav-contact{border:1px solid var(--ink);padding:12px 18px}.nav-contact:hover{background:var(--ink);color:white}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:595px;background:var(--ink);color:var(--paper)}.hero-copy{padding:64px 34px 26px 56px;display:flex;align-items:flex-start;flex-direction:column;position:relative;z-index:1}.eyebrow{font-size:.79rem;letter-spacing:.11em;font-weight:800;line-height:1.6}.hero .eyebrow{font-size:.73rem;color:#e3e3dd;display:flex;gap:10px;align-items:center}.small-cross{font-size:1.5rem;color:var(--accent)}h1{font-size:clamp(3.8rem,6.7vw,6.8rem);line-height:.96;margin-top:27px;letter-spacing:-.018em;white-space:nowrap}h1>span{color:var(--accent)}.hero-intro{font-size:1rem;max-width:355px;color:#c7c7c1;line-height:1.8;margin-top:27px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:28px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;font-size:.87rem;font-weight:800;line-height:1.5;padding:16px 24px;min-height:48px;border:1px solid transparent;transition:background .18s,transform .18s}.button:hover{transform:translateY(-2px)}.button-accent{background:var(--accent);color:var(--ink)}.button-accent:hover{background:#bd98ff}.text-link{font-size:.87rem;font-weight:700;text-decoration:underline;text-underline-offset:7px;text-decoration-color:#71716d}.text-link:hover{text-decoration-color:var(--accent)}.hero-bottom{width:100%;margin-top:auto;padding-top:46px;display:flex;gap:12px;justify-content:space-between;align-items:center;font-size:.63rem;letter-spacing:.1em;color:#c4c4bd}.edition{white-space:nowrap}.hero-visual{position:relative;min-width:0;overflow:hidden}.hero-visual>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:39% center}.photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.3),transparent 30%,rgba(0,0,0,.72))}.photo-top{display:flex;align-items:center;justify-content:space-between;position:absolute;left:27px;right:28px;top:28px}.photo-label{font-size:.65rem;letter-spacing:.1em;background:rgba(20,20,20,.75);padding:8px 12px;font-weight:700}.photo-star{color:var(--accent);font-size:3.5rem;line-height:1}.play-video{border:0;background:transparent;color:white;position:absolute;bottom:55px;left:35px;display:flex;align-items:center;gap:16px;text-align:left;padding:10px 0}.play-icon{border:1px solid rgba(255,255,255,.7);border-radius:50%;width:60px;height:60px;display:grid;place-items:center;font-size:1rem;padding-left:3px;transition:background .2s,color .2s}.play-video:hover .play-icon{background:var(--accent);color:var(--ink);border-color:var(--accent)}.play-video strong{display:block;font-size:1.15rem}.play-video small{font-size:.78rem;color:#e6e6e1;display:block;margin-top:3px}.photo-location{position:absolute;bottom:25px;right:27px;font-size:.65rem;letter-spacing:.1em}.statement-strip{background:var(--accent);display:flex;gap:45px;justify-content:space-around;align-items:center;overflow:hidden;white-space:nowrap;padding:12px 20px;font-family:var(--display);font-size:1.45rem;font-weight:700;letter-spacing:.025em}.statement-strip span:nth-child(even){font-family:Arial,sans-serif;font-size:1.8rem}.section{width:var(--page);margin:0 auto;padding:88px 0}.section-index{color:var(--muted);margin-bottom:20px}.about{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-bottom:1px solid var(--line)}.about-copy{padding-top:7px;color:#52524e}.about-copy p+p{margin-top:17px}.style-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.style-tags span{border:1px solid #c8c8c2;padding:5px 12px;font-size:.8rem;font-weight:700;color:var(--ink)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:37px}.section-meta{font-size:.72rem;letter-spacing:.055em;font-weight:800;line-height:1.8;text-align:right}.section-meta>span{font-weight:500;color:var(--muted);letter-spacing:0}.group-filters{display:flex;gap:8px;flex-wrap:wrap;margin:33px 0 28px}.filter-button{border:1px solid #c6c6c1;background:transparent;padding:11px 20px;font-size:.85rem;font-weight:700;min-height:46px}.filter-button:hover{background:#e9e9e5}.filter-button.active{background:var(--ink);color:white;border-color:var(--ink)}.schedule{border-top:2px solid var(--ink)}.day-row{display:grid;grid-template-columns:185px 1fr;border-bottom:1px solid #c9c9c3}.day-name{padding:25px 0;display:flex;align-items:baseline;gap:19px}.day-name>span:last-child{font-size:.8rem;color:var(--muted)}.day-code{font-family:var(--display);font-size:2.3rem;font-weight:700;line-height:1}.day-sessions{padding:4px 0}.session{display:grid;grid-template-columns:145px 1fr auto;align-items:center;gap:20px;min-height:86px;padding:17px 0}.session:not([hidden])~.session{border-top:1px dashed #d5d5cf}.session-time{font-size:1rem;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.session-name{display:flex;flex-direction:column;gap:2px}.session-name strong{font-size:1rem}.session-name>span{color:var(--muted);font-size:.8rem}.group-chip{font-size:.67rem;font-weight:800;letter-spacing:.04em;background:#e6e6e1;padding:5px 10px;white-space:nowrap}.accent-chip{background:#e3d5fa}.schedule-note{font-size:.8rem;color:var(--muted);margin-top:18px}.group-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:33px;margin-top:49px}.group-cards article{border-left:1px solid #c6c6c0;padding-left:23px}.card-number{font-family:var(--display);font-size:2.7rem;font-weight:700;line-height:1}.group-cards h3{font-size:1rem;margin:16px 0 11px}.group-cards p{font-size:.87rem;color:var(--muted);max-width:300px}.events{border-top:1px solid var(--line)}.event-filters{display:flex;gap:23px}.event-tab{border:0;border-bottom:2px solid transparent;background:transparent;color:#62625e;padding:12px 0;font-size:.88rem;font-weight:700}.event-tab.active{color:var(--ink);border-color:var(--ink)}.event-row{display:grid;grid-template-columns:150px 1fr 150px;gap:35px;background:#ecece7;padding:34px 36px;min-height:245px}.date-block{display:flex;flex-direction:column;align-items:flex-start;border-right:1px solid #c9c9c2}.date-block>span{font-family:var(--display);font-size:5rem;font-weight:700;line-height:.95}.date-block>strong{font-size:.9rem;letter-spacing:.06em;margin-top:11px}.date-block>small{font-size:.7rem;color:var(--muted);margin-top:8px}.event-tags{display:flex;flex-wrap:wrap;gap:12px;font-size:.65rem;font-weight:800;letter-spacing:.055em;align-items:center}.event-tags .planned{padding:3px 8px;border:1px solid #aaa99f}.event-content h3{font-family:var(--display);font-size:2.1rem;margin:11px 0 10px}.event-content>p{font-size:.9rem;color:#575751;max-width:520px}.event-content details{margin-top:19px;max-width:550px}.event-content summary{font-size:.82rem;font-weight:700;display:inline-flex;gap:20px;min-height:32px;align-items:center}.event-details{padding-top:12px;font-size:.85rem;color:#575751}.event-letter{align-self:center;font-family:var(--display);font-size:6rem;font-weight:800;letter-spacing:-.065em;line-height:1;color:#b5b5ad;text-align:center;transform:rotate(-7deg)}.event-letter>span{display:block;font-family:var(--body);font-size:.59rem;letter-spacing:.12em;margin-top:6px}details summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}summary>span{font-size:1.2rem;font-weight:500;line-height:1}details[open]>summary>span{transform:rotate(45deg)}.button-dark{background:var(--ink);color:white}.small-button{margin-top:20px;padding:11px 18px;font-size:.8rem}.choreo{background:var(--accent);padding:65px max(56px,calc((100vw - 1280px)/2));display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;position:relative;overflow:hidden}.choreo-main h2{font-size:clamp(5rem,9.4vw,9rem);line-height:.87;margin-top:29px}.choreo-main h2 span{position:relative;white-space:nowrap}.choreo-main h2 span:after{content:'';position:absolute;left:-6px;right:-8px;top:55%;height:5px;background:var(--ink);transform:rotate(-8deg)}.choreo-copy{max-width:380px;justify-self:end}.choreo-star{font-size:4.5rem;line-height:1}.choreo-copy h3{font-size:1.25rem;margin:21px 0 16px}.choreo-copy p{font-size:.92rem;line-height:1.85}.choreo-styles{display:block;margin-top:25px;font-size:.72rem;font-weight:800;letter-spacing:.08em}.performances-intro{max-width:630px;color:var(--muted);font-size:.97rem}.performances-intro strong{color:var(--ink)}.results-grid{margin-top:38px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.result-card{border:1px solid #d3d3cd;padding:30px 28px 24px;background:#f1f1ed}.result-place{font-family:var(--display);font-size:5.2rem;font-weight:700;line-height:1}.result-place>span{color:#8b4cda}.result-card h3{font-size:1.3rem;margin-top:16px}.result-card>p{font-size:.86rem;color:var(--muted);margin-top:6px}.result-caption{display:block;font-size:.63rem;letter-spacing:.035em;font-weight:800;border-top:1px solid #d3d3cd;margin-top:27px;padding-top:17px}.location{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-bottom:90px}.location>div>p:not(.eyebrow){margin:20px 0 26px;color:var(--muted)}.practical{padding-top:5px}.practical>h3{font-size:1.1rem;margin-bottom:17px}.practical details{border-bottom:1px solid #c6c6bf;padding:19px 0}.practical summary{font-weight:700;font-size:.9rem;display:flex;justify-content:space-between;gap:20px}.practical details p{color:var(--muted);font-size:.85rem;padding:14px 26px 3px 0}footer{padding:34px 56px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand .brand-mark{font-size:3rem}.footer-brand .brand-name{font-size:.65rem}footer>p{font-size:.82rem;color:#c5c5bd}footer>span{font-size:.64rem;letter-spacing:.065em;color:#c5c5bd}dialog{border:1px solid #555;background:var(--ink);color:white;padding:25px;width:min(920px,calc(100% - 32px));max-height:90dvh;overflow:auto}dialog::backdrop{background:rgba(0,0,0,.85);backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.dialog-heading .eyebrow{font-size:.66rem;color:var(--accent)}.dialog-heading h2{font-size:1.9rem;margin-top:8px}.close-dialog{font-size:2rem;line-height:1;width:44px;height:44px;flex-shrink:0;border:1px solid #686863;color:white;background:transparent}.close-dialog:hover{background:#353535}dialog video{width:100%;max-height:65vh;display:block}.video-caption{font-size:.8rem;color:#bfbfb6;margin-top:15px}
@media(min-width:1600px){.hero-copy{padding-left:max(56px,calc((100vw - 1280px)/2))}.hero{min-height:650px}.hero-copy{padding-right:45px}.hero-bottom{font-size:.7rem}}
@media(max-width:1100px){:root{--page:calc(100% - 64px)}.site-header{padding:0 32px;height:85px}.navigation{gap:22px}.nav-contact{display:none}.hero{min-height:570px}.hero-copy{padding:48px 28px 25px 32px}h1{font-size:6.7vw}.hero-bottom{display:block;font-size:.61rem}.edition{display:block;margin-top:8px}.hero .eyebrow{font-size:.65rem;letter-spacing:.05em}.about{gap:40px}.section{padding:70px 0}.day-row{grid-template-columns:140px 1fr}.day-name{gap:12px}.session{grid-template-columns:125px 1fr auto;gap:14px}.event-row{grid-template-columns:125px 1fr 100px;padding:30px;gap:25px}.event-letter{font-size:5rem}.choreo{padding:58px 32px;gap:40px}.location{gap:50px}.result-card{padding:24px 21px}.result-caption{font-size:.62rem}.group-cards{gap:22px}footer{padding:30px 32px}.brand-name{font-size:.7rem}}
@media(max-width:760px){:root{--page:calc(100% - 40px)}html{scroll-padding-top:90px}.site-header{padding:0 20px;height:78px}.brand-mark{font-size:3.2rem}.brand-name{font-size:.68rem}.navigation{display:none;position:absolute;top:78px;left:0;right:0;padding:10px 20px 20px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 10px 15px #00000013}.navigation.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.navigation a{padding:14px 4px;font-size:1rem}.navigation .nav-contact{display:block;border:none}.navigation>a:not(.nav-contact):after{display:none}.menu-toggle{display:flex;align-items:center;gap:9px;background:transparent;border:0;min-height:44px;padding:8px 0 8px 10px;font-size:.85rem;font-weight:800}.menu-lines{width:20px;height:10px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:37px 20px 26px}.hero .eyebrow{font-size:.68rem;letter-spacing:.06em}h1{font-size:clamp(3.85rem,13.5vw,6.5rem);margin-top:22px}.hero-intro{font-size:.94rem;max-width:430px;margin-top:23px}.hero-actions{margin-top:25px;gap:24px}.button{padding:14px 20px}.hero-bottom{display:flex;align-items:center;padding-top:31px;font-size:.55rem;gap:10px}.edition{margin:0}.hero-visual{height:355px}.hero-visual>img{position:absolute;object-fit:cover;object-position:45% 50%}.photo-top{top:20px;left:20px;right:20px}.photo-label{font-size:.6rem}.photo-star{font-size:2.8rem}.play-video{bottom:38px;left:20px}.play-icon{width:51px;height:51px}.play-video strong{font-size:1rem}.photo-location{bottom:20px;right:20px;font-size:.58rem}.statement-strip{justify-content:flex-start;gap:30px;padding:9px 20px;font-size:1.2rem}.statement-strip span:nth-child(n+5){display:none}.statement-strip span:nth-child(even){font-size:1.4rem}.section{padding:54px 0}.about{grid-template-columns:1fr;gap:23px}h2{font-size:2.65rem}.section-index{font-size:.68rem;margin-bottom:14px}.about-copy{padding:0;font-size:.94rem}.style-tags span{font-size:.76rem}.section-heading{flex-direction:column;align-items:flex-start;gap:17px;margin-bottom:25px}.section-meta{text-align:left;font-size:.69rem}.section-meta>span{display:block}.group-filters{margin:24px 0 21px;gap:7px}.filter-button{padding:10px 14px;font-size:.79rem;flex-grow:1}.filter-button:first-child{flex-grow:1.2}.day-row{grid-template-columns:63px 1fr}.day-name{flex-direction:column;gap:5px;justify-content:flex-start;padding-top:25px}.day-name>span:last-child{font-size:.64rem}.day-code{font-size:1.95rem}.session{grid-template-columns:1fr auto;gap:5px 10px;padding:19px 0;min-height:96px}.session-time{font-size:.84rem;grid-column:1;grid-row:1}.session-name{grid-column:1;grid-row:2;gap:3px}.session-name strong{font-size:.9rem}.session-name>span{font-size:.72rem;max-width:175px;line-height:1.5}.group-chip{grid-column:2;grid-row:1/3;font-size:.58rem;padding:4px 7px}.schedule-note{font-size:.76rem}.group-cards{grid-template-columns:1fr;gap:25px;margin-top:32px}.group-cards article{position:relative;padding:0 0 0 70px;border-left:none;min-height:70px}.card-number{position:absolute;left:0;top:0;font-size:2.8rem}.group-cards h3{margin:0 0 7px}.group-cards p{max-width:none;font-size:.84rem}.event-filters{gap:25px}.event-tab{padding:8px 0}.event-row{grid-template-columns:73px 1fr;gap:20px;padding:23px 18px}.date-block>span{font-size:3.7rem}.date-block>strong{font-size:.69rem;letter-spacing:0}.date-block>small{font-size:.6rem;max-width:55px;line-height:1.6}.event-content h3{font-size:1.8rem;margin-top:10px}.event-content>p{font-size:.84rem}.event-tags{font-size:.55rem;gap:7px}.event-letter{display:none}.event-content summary{font-size:.77rem;gap:10px}.event-details{font-size:.81rem}.choreo{grid-template-columns:1fr;padding:44px 20px;gap:35px}.choreo-main h2{font-size:clamp(5.4rem,19vw,7.5rem);margin-top:23px}.choreo .eyebrow{font-size:.65rem}.choreo-copy{justify-self:start;max-width:100%;position:relative;padding-right:42px}.choreo-star{position:absolute;right:0;top:10px;font-size:2.8rem}.choreo-copy h3{margin:0 0 14px;font-size:1.13rem}.choreo-copy p{font-size:.88rem}.choreo-styles{font-size:.66rem;margin-top:17px}.performances-intro{font-size:.89rem}.results-grid{grid-template-columns:1fr;gap:14px;margin-top:26px}.result-card{padding:20px;display:grid;grid-template-columns:80px 1fr;column-gap:19px}.result-place{grid-column:1;grid-row:1/4;font-size:4.5rem;align-self:center}.result-card h3{font-size:1.08rem;margin-top:4px}.result-card>p{font-size:.79rem}.result-caption{font-size:.56rem;margin-top:14px;padding-top:10px}.location{grid-template-columns:1fr;gap:36px}.practical{padding-top:0}.practical details{padding:19px 0}.practical summary{font-size:.86rem}.practical details p{font-size:.83rem}footer{padding:30px 20px;display:grid;grid-template-columns:1fr;gap:17px}footer p{font-size:.78rem}footer>span{font-size:.61rem}.footer-brand .brand-name{font-size:.66rem}dialog{padding:17px}.dialog-heading h2{font-size:1.7rem}.dialog-heading .eyebrow{font-size:.58rem}.video-caption{font-size:.72rem}}
@media(max-width:359px){h1{font-size:12.8vw}.hero .eyebrow{font-size:.58rem}.hero-bottom{font-size:.49rem}.hero-actions{gap:18px}.hero-actions .button{font-size:.79rem;padding:14px 17px}.hero-actions .text-link{font-size:.8rem}.group-chip{display:none}.session{grid-template-columns:1fr}.filter-button{padding:10px;font-size:.72rem}.event-row{padding:20px 14px;gap:15px}.statement-strip{gap:22px}.group-cards article{padding-left:57px}}
.eyebrow,.section-index,.hero .eyebrow,.choreo .eyebrow,.dialog-heading .eyebrow,.brand-name,.footer-brand .brand-name,.hero-bottom,.photo-label,.photo-location,.section-meta,.group-chip,.event-tags,.date-block>small,.event-letter>span,.choreo-styles,.result-caption,footer>span{font-size:max(.75rem,1em)}
.eyebrow,.section-index,.hero .eyebrow,.choreo .eyebrow,.dialog-heading .eyebrow,.brand-name,.footer-brand .brand-name,.hero-bottom,.photo-label,.photo-location,.section-meta,.group-chip,.event-tags,.date-block>small,.event-letter>span,.choreo-styles,.result-caption,footer>span{font-size:.75rem}
.hero-bottom{flex-wrap:wrap}.button,.text-link,.filter-button,.event-tab,.style-tags span,.session-name>span,.schedule-note,.event-content summary,.date-block>strong,.result-card>p,.practical summary,.play-video small,.video-caption,footer>p,.day-name>span:last-child{font-size:.875rem}
.hero-intro,.about-copy,.group-cards p,.event-content>p,.event-details,.choreo-copy p,.performances-intro,.practical details p{font-size:1rem}
@media(max-width:760px){.brand-name,.footer-brand .brand-name{font-size:.75rem}.day-name>span:last-child{font-size:.75rem}.session-name>span{max-width:190px}.date-block>small{max-width:61px}.event-row{grid-template-columns:78px 1fr}.group-chip{font-size:.75rem}.hero-bottom{gap:8px 18px}.result-caption{font-size:.75rem}.event-tags{gap:7px}.hero-actions{gap:20px}.filter-button{padding:10px 12px}.section-meta>span{font-size:.875rem}}
@media(max-width:420px){.session{grid-template-columns:1fr}.group-chip{display:none}.result-card{grid-template-columns:64px 1fr;column-gap:15px}.result-place{font-size:4rem}.event-row{padding:22px 14px;gap:14px}.filter-button{padding:10px;font-size:.875rem}}
.gallery{border-top:1px solid var(--line)}.gallery-grid{columns:3;column-gap:22px}.gallery-card{margin:0 0 22px;break-inside:avoid;background:#eaeae5}.gallery-photo{display:block;position:relative;padding:0;border:0;width:100%;background:transparent;cursor:zoom-in}.gallery-photo img{display:block;width:100%;height:auto}.photo-enlarge{position:absolute;bottom:13px;right:13px;width:40px;height:40px;display:grid;place-items:center;background:var(--ink);color:white;border:1px solid #777;font-size:1.5rem;line-height:1;transition:background .2s,color .2s}.gallery-photo:hover .photo-enlarge{background:var(--accent);color:var(--ink)}.gallery-card figcaption{display:flex;gap:12px;justify-content:space-between;align-items:baseline;padding:16px 18px}.gallery-card figcaption strong{font-size:.875rem;font-weight:700}.gallery-card figcaption>span{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.hero-visual>img{object-position:48% center}.photo-dialog{width:min(1120px,calc(100% - 32px));max-height:94dvh}.close-photo-dialog{font-size:2rem;line-height:1;width:44px;height:44px;flex-shrink:0;border:1px solid #686863;color:white;background:transparent}.close-photo-dialog:hover{background:#353535}#full-photo{display:block;width:100%;height:min(68dvh,760px);object-fit:contain;background:#101010}.photo-navigation{display:flex;gap:16px;justify-content:space-between;margin-top:18px}.photo-navigation button{border:1px solid #777;background:transparent;color:white;font-size:.875rem;font-weight:700;min-height:44px;padding:10px 20px}.photo-navigation button:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:1000px){.gallery-grid{columns:2;column-gap:18px}.gallery-card{margin-bottom:18px}}
@media(max-width:760px){.hero-visual>img{object-position:50% center}.photo-location{font-size:.75rem;max-width:calc(100% - 40px);text-align:right;line-height:1.4}.hero .play-video small{font-size:.875rem}.gallery-grid{columns:2;column-gap:14px}.gallery-card{margin-bottom:14px}.gallery-card figcaption{padding:12px;gap:5px}.gallery-card figcaption>span{display:none}.photo-enlarge{width:34px;height:34px;right:9px;bottom:9px}.photo-dialog .dialog-heading{align-items:flex-start}.photo-dialog h2{font-size:1.7rem}.photo-navigation{margin-top:14px}#full-photo{height:60dvh}}
@media(max-width:540px){.gallery-grid{columns:1}.gallery-card{margin-bottom:20px}.gallery-card figcaption{padding:15px 17px}.gallery-card figcaption>span{display:block}.hero .play-video{right:20px}.hero .play-icon{flex-shrink:0}.photo-dialog h2{font-size:1.5rem}#full-photo{height:58dvh}}
.event-panel{display:grid;gap:18px}.event-details p+p{margin-top:10px}
.event-workshop,.event-with-photo{grid-template-columns:125px minmax(0,1fr) minmax(170px,230px);border-top:4px solid var(--accent);scroll-margin-top:110px}.event-content>.event-time{font-size:1.125rem;font-weight:800;color:var(--ink);margin-bottom:14px}.event-photo{align-self:start;aspect-ratio:4/5;overflow:hidden;background:var(--ink)}.event-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.event-content>.event-deadline{color:var(--ink);margin-top:16px}.event-poster{display:block;aspect-ratio:auto;background:#fff;text-decoration:none}.event-poster img{height:auto;object-fit:contain}.event-poster>span{display:block;padding:12px 14px;border-top:1px solid var(--line);color:var(--ink);font-size:.875rem;font-weight:700}.event-poster:hover>span{background:var(--accent)}
@media(max-width:760px){.event-workshop,.event-with-photo{grid-template-columns:78px minmax(0,1fr)}.event-photo{grid-column:1/-1;width:100%;max-width:330px;justify-self:center}}
.questions{border-top:1px solid var(--line);display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:start}.questions-intro>p:not(.eyebrow){font-size:1rem;color:var(--muted);margin:23px 0 21px;max-width:350px}.contact-email{font-size:1rem;font-weight:800;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:6px;overflow-wrap:anywhere}.question-form{background:#ecece7;padding:30px;min-width:0}.question-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.question-field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;min-width:0}.question-field label{font-size:.875rem;font-weight:800}.question-field input,.question-field textarea{width:100%;min-width:0;border:1px solid #a9a9a3;background:var(--paper);color:var(--ink);font:inherit;font-size:1rem;line-height:1.5;padding:12px 13px;border-radius:0;box-shadow:none}.question-field textarea{resize:vertical;min-height:150px}.question-field input:focus-visible,.question-field textarea:focus-visible{outline:2px solid #8b4cda;outline-offset:2px}.question-field input::placeholder,.question-field textarea::placeholder{color:#6a6a63;opacity:1}.question-help{font-size:.875rem;color:#575751;line-height:1.6}.question-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:22px}.copy-question{font-size:.875rem;font-weight:700;min-height:44px;padding:9px 0;border:0;background:transparent;text-decoration:underline;text-underline-offset:5px;color:var(--ink)}.copy-question:hover{color:#6930ad}.question-status{font-size:.875rem;line-height:1.7;margin-top:23px;padding:12px 0 12px 15px;border-left:3px solid var(--accent);color:#41413b}.question-copy-fallback{margin-top:22px;margin-bottom:0}.question-copy-fallback textarea{font-size:.875rem}
@media(max-width:1100px){.questions{gap:35px}.question-form{padding:24px}.question-fields{grid-template-columns:1fr;gap:0}}
@media(max-width:760px){.questions{grid-template-columns:1fr;gap:28px}.questions-intro>p:not(.eyebrow){max-width:none;margin-top:20px}.question-form{padding:22px 18px}.question-fields{grid-template-columns:1fr;gap:0}.question-actions{gap:16px}.contact-email{font-size:1rem}.question-actions .button{flex-grow:1}.question-actions .copy-question{flex-grow:1}}
.trainers{border-bottom:1px solid var(--line)}.trainer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.trainer-card{border:1px solid var(--line);background:#ecece7;min-width:0}.trainer-photo{aspect-ratio:5/4;overflow:hidden;background:var(--ink)}.trainer-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 26%}.trainer-details{padding:25px 28px 29px;border-top:4px solid var(--accent)}.trainer-role{font-size:.75rem;letter-spacing:.1em;color:var(--muted);font-weight:800;margin-bottom:8px}.trainer-details h3{font-family:var(--display);font-size:2.35rem;line-height:1.1;overflow-wrap:anywhere}.trainer-styles{font-size:1rem;font-weight:700;margin-top:12px}.trainer-styles>span[aria-hidden]{color:#6930ad;margin:0 9px}.navigation{gap:22px}
@media(max-width:960px){.navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:10px 24px 20px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 10px 15px #00000013;max-height:calc(100dvh - 85px);overflow:auto}.navigation.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.navigation a{padding:13px 4px;font-size:1rem}.navigation .nav-contact{display:block;border:none}.navigation>a:not(.nav-contact):after{display:none}.menu-toggle{display:flex;align-items:center;gap:9px;background:transparent;border:0;min-height:44px;padding:8px 0 8px 10px;font-size:.875rem;font-weight:800}.menu-lines{width:20px;height:10px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}}
@media(max-width:600px){.trainer-grid{grid-template-columns:1fr;gap:24px}.trainer-photo{aspect-ratio:1/1}.trainer-details{padding:21px 22px 24px}.trainer-details h3{font-size:2.1rem}.trainer-styles{margin-top:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
