/* Navigation dropdowns */
.nav-group{position:relative;padding:1.4rem 0}.nav-group>a{font-size:.78rem;letter-spacing:.06em}.nav-group>a:after{content:"⌄";font-size:.7rem;margin-left:.35rem;color:var(--rose)}.submenu{position:absolute;left:-1.2rem;top:68px;min-width:210px;background:var(--paper);border:1px solid var(--line);padding:.7rem;box-shadow:0 18px 35px rgba(56,41,35,.1);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.nav-group:hover .submenu,.nav-group:focus-within .submenu{opacity:1;visibility:visible;transform:none}.submenu a,.submenu span{display:block;padding:.55rem .6rem;font-size:.72rem;white-space:nowrap}.submenu a:hover{background:var(--ivory)}.submenu span{color:#aa9890}
/* Class guidance */
.guidance{background:#e9d7cf}.guidance-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:6vw;align-items:end;margin-bottom:4rem}.guidance-intro .eyebrow{grid-column:1/-1}.guidance-intro h2{font-size:clamp(2.8rem,5vw,5rem)}.guidance-intro>p:last-child{max-width:520px}.level-path{border-top:1px solid #c9aaa0}.level-step{display:grid;grid-template-columns:80px 1fr;border-bottom:1px solid #c9aaa0;padding:2rem 0;gap:2rem}.level-step>span{font:1.1rem var(--serif);color:var(--terracotta)}.level-step>div{display:grid;grid-template-columns:150px 220px 1fr 190px;align-items:center;gap:2rem}.level-step p{margin:0}.level-step>div>p:first-child{text-transform:uppercase;letter-spacing:.13em;font-size:.62rem;color:var(--terracotta)}.level-step h3{font-size:2rem}.level-step>div>p:nth-of-type(2){font-size:.85rem;color:#68534b}.level-step a{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;text-align:right}.guidance-note{margin-top:2rem;display:grid;grid-template-columns:240px 1fr;gap:2rem;background:rgba(255,255,255,.42);padding:1.5rem}.guidance-note strong{font-weight:500}.guidance-note p{margin:0;max-width:760px}
/* Service modalities */
.modality-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;margin-bottom:7rem}.modality-card{grid-column:span 2}.modality-card:nth-child(4){grid-column:2/span 2}.modality-card:nth-child(5){grid-column:4/span 2}.modality-photo{aspect-ratio:4/3;border:1px solid #68554e;background:linear-gradient(145deg,#513a32,#2f211d);display:grid;place-items:center;margin-bottom:1.5rem;overflow:hidden;position:relative}.modality-photo:before,.modality-photo:after{content:"";position:absolute;border:1px solid #80665d;border-radius:50%;width:55%;height:85%;transform:rotate(24deg)}.modality-photo:after{transform:rotate(-24deg)}.modality-photo span{position:relative;z-index:1;color:#a99188;text-transform:uppercase;letter-spacing:.15em;font-size:.62rem}.modality-card>p:first-of-type{color:var(--blush);font-size:.62rem;text-transform:uppercase;letter-spacing:.15em}.modality-card h3{font-size:2.25rem}.modality-card>p:nth-of-type(2){color:#cdbfba;font-size:.85rem;min-height:4.2rem}.modality-card>a,.coming-label{color:var(--blush);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.modality-card.later{opacity:.72}.more-heading{margin-bottom:2rem}.compact-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.level-step>div{grid-template-columns:130px 180px 1fr}.level-step a{grid-column:3}.compact-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.nav-group{width:100%;padding:0}.nav-group>a{display:block;padding:.4rem 0}.submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-left:1px solid var(--line);background:transparent;margin:.2rem 0 .5rem;padding:.1rem .6rem}.submenu a,.submenu span{padding:.25rem .6rem}.guidance-intro{grid-template-columns:1fr}.guidance-intro .eyebrow{grid-column:auto}.level-step>div{grid-template-columns:1fr 1fr}.level-step a{grid-column:2;text-align:left}.modality-grid{grid-template-columns:repeat(2,1fr)}.modality-card,.modality-card:nth-child(4),.modality-card:nth-child(5){grid-column:auto}}
@media(max-width:600px){.level-step{grid-template-columns:40px 1fr;gap:.5rem}.level-step>div{grid-template-columns:1fr;gap:.7rem}.level-step a{grid-column:auto}.guidance-note{grid-template-columns:1fr}.modality-grid{grid-template-columns:1fr}.compact-grid{grid-template-columns:1fr}.modality-card>p:nth-of-type(2){min-height:0}}
.hoop-card-photo{background-image:url("assets/hoop-card-extended.png");background-position:center;background-size:115% auto;background-repeat:no-repeat}
.hoop-card-photo:before,.hoop-card-photo:after{display:none}
.aerial-yoga-card-photo{background-image:url("assets/aerial-yoga-card-final.png");background-position:center 44%;background-size:cover;background-repeat:no-repeat}
.aerial-yoga-card-photo:before,.aerial-yoga-card-photo:after{display:none}
.hammock-card-photo{background-image:url("assets/hammock-split-cleaned.png");background-position:center 57%;background-size:cover;background-repeat:no-repeat}
.hammock-card-photo:before,.hammock-card-photo:after{display:none}
.pole-card-main-photo{background-image:url("assets/PoleAllegra.png");background-position:center 52%;background-size:cover;background-repeat:no-repeat}
.pole-card-main-photo:before,.pole-card-main-photo:after{display:none}
@media(min-width:601px){.modality-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(2rem,3.5vw,4rem);row-gap:clamp(4rem,6vw,6rem)}.modality-card,.modality-card:nth-child(4),.modality-card:nth-child(5){grid-column:auto}}
@media(min-width:1101px){.modality-grid{width:100%;max-width:1320px;margin-inline:auto;justify-content:center;column-gap:3rem}.modality-photo{max-height:360px}}

/* New-customer announcement */
.offer-banner{position:fixed;inset:0 0 auto;z-index:60;height:38px;padding:0 clamp(1rem,4vw,4rem);display:flex;align-items:center;justify-content:center;gap:1rem;background:var(--terracotta);color:#fffaf6;font-size:.7rem;letter-spacing:.06em}
.offer-banner a{border-bottom:1px solid rgba(255,250,246,.75);font-weight:600;text-transform:uppercase;white-space:nowrap}
.has-offer-banner .site-header{top:38px}
.has-offer-banner .hero{padding-top:122px}
.has-offer-banner .hero-image{inset:122px 0 0}
.has-offer-banner .skip-link:focus{top:46px}
@media(max-width:900px){.has-offer-banner .site-header nav{inset:122px 0 auto}}
@media(max-width:600px){.offer-banner{height:44px;gap:.55rem;padding-inline:.7rem;font-size:.6rem;letter-spacing:.02em}.offer-banner span{white-space:nowrap}.offer-banner a{font-size:.58rem}.has-offer-banner .site-header{top:44px}.has-offer-banner .hero{padding-top:128px}.has-offer-banner .hero-image{inset:128px 0 0}.has-offer-banner .site-header nav{inset:128px 0 auto}.has-offer-banner .skip-link:focus{top:52px}}
