/* F52 page bodies. Photo openings: route-photos.css; dances: dances.css. */
@font-face{font-family:Template Fraunces;font-weight:300 600;font-style:normal;font-display:swap;src:url(/fonts/fraunces.woff2) format('woff2')}
#main:has(.shared-template,.article-opening,.event-template,.staff-hub,.staff-page,.dance-page,.dance-hub){--serif:'Template Fraunces',Georgia,serif;--ink:#2b2526;--muted:#4a4243;--line:#2b252624;background:#fbf5ea;color:var(--ink);font:400 16px/1.6 'DM Sans',sans-serif}
#main :is(.shared-template,.article-opening){padding:34px 0 26px;background:#fffefa;color:#500b19;border-bottom:1px solid var(--line)}
#main :is(.shared-template,.article-opening)>.wrap{max-width:1240px;width:calc(100% - clamp(40px,10vw,128px));padding:0}
#main :is(.shared-template,.article-opening) h1{font:400 clamp(2.2rem,4.6vw,4rem)/1.04 var(--serif);letter-spacing:-.02em;max-width:22ch;margin:0}
#main :is(.shared-template,.article-opening) p{font:400 clamp(1.05rem,1.4vw,1.22rem)/1.45 var(--serif);max-width:44rem;margin:12px 0 0;color:inherit}
#main :is(.shared-template,.article-opening).has-route-photo{min-height:450px;display:flex;align-items:end;padding:48px 0 34px;background:#2a0c12;color:#fbf5ea;isolation:isolate;position:relative;overflow:hidden}
#main :is(.shared-template,.article-opening).has-route-photo>.wrap{z-index:1}
#main :is(.shared-template,.article-opening) .route-photo-band{width:56%;min-width:0;inset:0 0 0 auto;position:absolute;border-radius:0;margin:0;mask-image:linear-gradient(90deg,transparent,#000 35%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%)}
#main .template-actions{margin-top:18px}
#main .template-actions .button{background:#e7bd65;color:#2a0910;border:0;border-radius:999px;padding:13px 24px}
#main .shared-template-body{display:block;padding-block:0 36px}
#main .shared-template-body .reading-main{max-width:none;width:100%}
#main .template-row,#main .staff-part{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:6px clamp(24px,4vw,56px);border-bottom:1px solid var(--line);padding-block:clamp(18px,2.2vw,28px);margin:0;max-width:none}
#main :is(.template-row,.staff-part,.dance-block)>h2{font:400 clamp(1.4rem,2.2vw,1.95rem)/1.12 var(--serif);letter-spacing:-.012em;color:#500b19;margin:0}
#main :is(.template-row,.staff-part,.dance-block) p{margin:0 0 12px}
#main .template-row>div>p:last-child{margin-bottom:0}
#main .template-close{padding-top:18px}
#main .template-keep{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:baseline;margin:0 0 10px}
#main .template-keep>span{font-size:.74rem;font-weight:700;text-transform:none;letter-spacing:0;font-size:max(13px,.74rem)}
#main .template-keep a{text-decoration:underline;text-underline-offset:4px}
#main .template-calendar{position:relative;isolation:isolate;overflow:hidden;display:flex;gap:10px 22px;align-items:center;margin-top:10px;padding:18px 28px;border-radius:4px;color:#fbf5ea;background:#1d1214}
#main .template-calendar::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(90% 220% at 0% 0%,#7f1623,#500b19 45%,#1d1214)}
#main .template-calendar strong{font:400 clamp(1.7rem,3vw,2.6rem)/1 var(--serif)}
#main .template-calendar span{font-size:.75rem;letter-spacing:0;text-transform:none;color:#e7bd65;font-size:max(13px,.75rem)}
#main .template-calendar span:last-child{flex:none;display:grid;place-items:center;width:46px;height:46px;margin-left:auto;border-radius:50%;background:#e7bd65;color:#1d1214;font:600 1.2rem/1 var(--sans)}
#main .template-company-repeat{display:none}
#main .shared-template-body .studio-request{max-width:740px;margin:24px 0 0 auto;background:none;padding:0;border:0}
#main .studio-request form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#main .studio-request form>label{margin:0;min-width:0}
#main .studio-request form>label:has(textarea),#main .studio-request form>:is(p,button,div){grid-column:1/-1}
#main .studio-request :is(input,select,textarea){width:100%;min-height:48px;padding:11px 13px;border:1.5px solid #2b252652;border-radius:8px;background:#fff;color:#2b2526;font:400 16px/1.45 'DM Sans',sans-serif}
#main .studio-request .button{justify-self:start;border-radius:999px;background:#404041;color:#fff}
#main :is(.class-row,.dance-class){background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:13px 0;grid-template-columns:6.2em minmax(0,1fr) auto;gap:12px}
#main :is(.class-row,.dance-class) .tag,#main :is(.class-teacher,.dance-class-teacher){display:none}
#main :is(.class-row,.dance-class) :is(h3,h4){font:400 1.16rem/1.2 var(--serif);margin:0}
#main :is(.class-row,.dance-class) .button{border:1px solid #404041;border-radius:999px;background:transparent;color:#2b2526;padding:8px 16px}
#main :is(.articles-index,.advice-article){padding-block:24px 36px}
#main .articles-index .article-cards,#main .article-related .article-cards{display:block}
#main .articles-index .article-card,#main .article-related .article-card{display:grid;grid-template-columns:240px 1fr;column-gap:24px;border:0;border-bottom:1px solid var(--line);background:none;border-radius:0;padding:18px 0}
#main .article-card[hidden]{display:none}
#main .article-card img{grid-row:1/5;width:100%;height:100%;max-height:176px;object-fit:cover;border-radius:4px}
#main .article-card :is(h2,h3){font:400 clamp(1.25rem,2.2vw,1.8rem)/1.15 var(--serif);margin:0 0 8px;color:#500b19}
#main .article-card p{margin:0 0 8px}
#main .article-card .article-tag-labels{grid-column:2}
#main .article-layout{grid-template-columns:minmax(0,740px) minmax(180px,1fr);gap:64px}
#main .article-invitation{background:#f4ead8;border:1px solid var(--line);padding:24px;border-radius:4px}
#main .staff-hero{border:0;padding:24px 0}
#main .staff-title{font:400 clamp(2.2rem,4.8vw,3.9rem)/1.04 var(--serif);color:#500b19}
#main .staff-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 24px}
#main .staff-card-photo{aspect-ratio:4/5;object-position:50% 0;border-radius:4px}
#main .staff-page{padding-block:24px 36px}
#main .staff-photo{max-width:240px;object-position:50% 0}
#main .flip-list{display:none}
#main .event-template{display:block;padding-block:0 36px}
#main .event-template .detail-header-grid{position:relative;isolation:isolate;display:flex;align-items:end;min-height:max(560px,calc(100svh - var(--event-above,0px)));background:#2a0c12;color:#fbf5ea;padding:116px 32px 32px;overflow:hidden}
#main .event-template .detail-head{width:100%;max-width:620px;position:relative;z-index:1}
#main .event-template .detail-head h1{font:400 clamp(2.2rem,4vw,3.7rem)/1.04 var(--serif);color:inherit}
#main .event-template .detail-header-grid .route-photo-frame{position:absolute;inset:0;width:100%;max-width:none;height:100%;aspect-ratio:auto;margin:0;z-index:-2;border-radius:0;mask-image:none;-webkit-mask-image:none}
#main .event-template .breadcrumb{display:none}


#main .event-template .detail-main>h2{border-top:1px solid var(--line);padding-top:22px;font:400 1.8rem/1.15 var(--serif);color:#500b19}
#main .event-template .timeline li{padding:10px 0;gap:18px}
#main .template-buybar{position:fixed;inset:auto 0 0;z-index:35;display:flex;align-items:center;justify-content:space-between}

#main .template-buybar[hidden]{display:none}
/* The footer's final links must scroll completely above the fixed ticket, including the phone safe area. */
@media(max-width:800px){body:has(.template-buybar){padding-bottom:var(--ticket-bar-height,calc(78px + env(safe-area-inset-bottom,0px)))}}
@media(min-width:801px){#main .template-buybar{display:none}}
@media(max-width:800px){#main :is(.template-row,.staff-part){grid-template-columns:1fr;gap:12px}#main :is(.class-row,.dance-class){grid-template-columns:5.2em minmax(0,1fr) auto;gap:10px}#main .studio-request form{grid-template-columns:1fr}#main .staff-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}#main .article-layout{display:block}#main .article-contents{position:static;margin-top:20px}#main .articles-index .article-card,#main .article-related .article-card{grid-template-columns:110px minmax(0,1fr);column-gap:16px}#main .article-card img{height:100%;max-height:150px}}
#main .event-template .detail-header-grid{width:100vw;margin-left:calc(50% - 50vw);padding-inline:max(clamp(20px,5vw,64px),calc((100vw - 1240px)/2))}
#main .event-template .detail-head>.notice{background:none;border:0;border-left:2px solid #e7bd65;padding:2px 0 2px 12px;margin:16px 0 0;color:#fbf5eadb;font-size:.92rem}
#main .event-template .detail-head .notice a{color:#fbf5ea}
#main .friday-event .detail-head>.eyebrow{display:block}
#main .event-template .detail-head .lead{color:#fbf5ea}
#main .event-template .detail-head .eyebrow{color:#e7bd65}
#main .event-template .template-event-about{margin-top:18px}
#main .event-template .template-event-about>h2{border:0;padding:0}
#main .staff-person-heading{padding:8px 0 24px;border-bottom:1px solid var(--line)}
#main .staff-bio-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;padding-top:24px}
#main .staff-bio-grid .staff-part{display:block;padding:0 0 20px;margin:0 0 20px}
#main .staff-bio-grid .staff-part h2{margin-bottom:12px}
#main .staff-bio-grid .staff-photo{position:sticky;top:calc(var(--shell-h,72px) + 24px)}
@media(max-width:800px){#main .staff-bio-grid{grid-template-columns:120px minmax(0,1fr);gap:20px}#main .staff-bio-grid .staff-photo{position:static}#main .staff-bio-grid .staff-part h2{font-size:1.25rem}}
@media(max-width:480px){#main .staff-bio-grid{grid-template-columns:1fr}#main .staff-bio-grid .staff-photo{width:160px}}
body:has(#main .event-template,#main .shared-template)>.more-midtown{background:#fbf5ea;color:#500b19;--bx-fg:#500b19;--bx-fg-inv:#fbf5ea;--bx-sec-bg:transparent;--bx-focus:#7f1623;max-width:1240px;width:calc(100% - 40px);margin:0 auto;padding:12px 0 24px;border:0}
body:has(#main .event-template,#main .shared-template)>.more-midtown h2{font-size:.8rem;text-transform:none;letter-spacing:0;font-size:max(13px,.8rem)}
body:has(#main .event-template,#main .shared-template)>.more-midtown div{display:flex;flex-wrap:wrap;gap:10px 24px}
body:has(#main .event-template,#main .shared-template)>.more-midtown a:not(.bx){padding:0;background:none;color:#500b19;border:0;text-decoration:underline}
#main .template-help{display:flex;align-items:start;flex-wrap:wrap;gap:12px}
#main .template-help .button{border:1px solid #404041;border-radius:999px;background:transparent;color:#2b2526}









#main .event-nosale{margin-top:16px;max-width:460px}
#main .event-nosale p{color:inherit}
#main .event-template :is([id],h1,h2,h3){scroll-margin-top:calc(var(--shell-h,108px) + 16px)}


#main .detail-subtitle{color:inherit;margin-top:6px;font:1.1rem var(--serif)}

#main .count-controls .button{background:#404041;color:#fff;border:0;border-radius:999px}
#main .advice-article .photo-story{display:block;border:0;background:none;padding:0}
#main .advice-article .photo-story .article-photo{margin:20px 0;width:100%;max-width:none;aspect-ratio:16/9}
#main .advice-article .photo-story .article-photo img{width:100%;height:100%;object-fit:cover}
#main .article-opening.has-route-photo .breadcrumb,#main .article-opening.has-route-photo .article-read-time{color:#fbf5eacc}
#main .article-opening.has-route-photo .breadcrumb a{color:inherit}
#main .shared-template-body>.template-gallery{background:none;padding:24px 0;margin:0}
#main .template-gallery>.wrap{max-width:none;width:100%;padding:0}
#main .template-gallery :is(.eyebrow,h2){display:none}
#main .template-gallery .photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}
#main .template-gallery .joy{position:relative;aspect-ratio:3/2;margin:0;width:100%;height:auto}
#main .template-gallery img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:560px){#main .template-gallery .photo-grid{grid-template-columns:1fr 1fr}#main .template-gallery .joy:first-child{grid-column:1/-1}}



@media(max-width:1000px){#main .article-layout{display:flex;flex-direction:column;gap:20px}#main .article-layout>.article-contents{order:-1;position:static;margin:0;padding:14px 18px;border:1px solid var(--line);border-radius:4px}#main .article-contents nav{gap:8px;margin-bottom:0}}
@media(max-width:480px){#main .articles-index .article-card,#main .article-related .article-card{grid-template-columns:1fr;row-gap:4px}#main .article-card img{grid-row:auto;height:auto;max-height:none;aspect-ratio:16/9;margin-bottom:10px}#main .article-card .article-tag-labels{grid-column:1}}
#main .advice-article .article-invitation a.button{border:0;border-radius:999px;background:#404041;color:#fff;padding:12px 22px}
#main .article-tags a{border-radius:999px;background:transparent;border:1px solid #2b252640;color:#2b2526;padding:5px 12px}
#main form .button{border:1px solid #404041;border-radius:999px;background:#404041;color:#fff}
@media(max-width:800px){#main .template-calendar{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;row-gap:4px;align-items:center}#main .template-calendar strong{grid-column:1;grid-row:1}#main .template-calendar span:nth-child(2){grid-column:1;grid-row:2}#main .template-calendar span:last-child{grid-column:2;grid-row:1/3;margin:0}}
@media(min-width:801px){#main .event-template .detail-header-grid{margin-top:-84px}}
/* One ticket over the opening; logistics and other offers belong to About the evening. */
#main .event-template .tkt{margin:16px 0 0;max-width:460px}#main .event-template .tkt p{color:inherit}
#main .event-template :is(.tkt-place,.event-offers){max-width:640px;margin-top:14px}#main .event-template .tkt-place{font-size:.92rem;line-height:1.4}
#main .event-template .tkt-place strong{display:block;font-weight:700}#main .event-template .tkt-place p{margin:0 0 6px;color:inherit}#main .event-template .tkt-place .bx-link{display:inline-flex;align-items:center;min-height:44px;padding-block:0;margin-top:-4px;background-position:0 calc(100% - 8px)}
#main .event-nosale .bx-secondary{margin-top:6px}#main .template-other-tickets .tkt-list{margin-bottom:12px}


/* The same opening order as Midtown and Spotlight: title, one ticket, visible media. */
#main .event-template .detail-header-grid::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(0deg,#1d1214f5, #1d121480 48%,#1d121414 78%)}
#main .event-template .detail-header-grid .route-photo-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#main .event-template .detail-head h1{margin:8px 0 0;text-wrap:balance}
@media(max-width:800px){#main .event-template .detail-header-grid{margin-top:-72px;min-height:calc(100svh - var(--event-above,0px));padding-top:104px;padding-bottom:20px}#main .event-template .detail-head{max-width:460px}#main .event-template .detail-head h1{font-size:clamp(2rem,8.5vw,3rem)}#main .event-template .detail-header-grid .route-photo-frame{display:block}}
