.detail-hero{background:var(--color-navy-deep);min-height:43rem;position:relative;overflow:hidden}.detail-hero>img{object-fit:cover;filter:saturate(.58)contrast(1.05);width:100%;height:100%;position:absolute;inset:0}.hero-shade{background:linear-gradient(#06111d40,#06111dc2 45%,#06111d 98%);position:absolute;inset:0}.detail-hero-inner{z-index:1;min-height:43rem;padding-top:calc(var(--header-height) + 5rem);flex-direction:column;justify-content:end;padding-bottom:clamp(4rem,8vw,7rem);display:flex;position:relative}h1{max-width:12ch;margin:1.2rem 0 1.5rem;font-size:clamp(4rem,8vw,8rem)}.detail-hero-inner>p:last-child{color:#f5f2eac7;max-width:43rem;margin:0;font-size:clamp(1.05rem,1.8vw,1.25rem)}.detail-shell{color:var(--color-navy);background:var(--color-cream);padding-block:clamp(4rem,8vw,7rem)}.detail-grid{grid-template-columns:minmax(0,1fr) 19rem;align-items:start;gap:clamp(3rem,8vw,7rem);display:grid}.facts{border-top:1px solid #0b172533;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 4rem;display:grid}.facts div{border-bottom:1px solid #0b172533;padding:1.2rem 1rem 1.2rem 0}.facts dt{color:#557a96;letter-spacing:.14em;text-transform:uppercase;font-size:.62rem;font-weight:750}.facts dd{font-family:var(--font-display);text-transform:uppercase;margin:.35rem 0 0;font-size:1.12rem;font-weight:650}.prose{max-width:47rem;font-size:1.04rem}.prose h2{font-family:var(--font-display);text-transform:uppercase;margin:3rem 0 1rem;font-size:2.3rem;line-height:1}.prose p,.prose li{color:#0b1725b8}.detail-section{margin-top:clamp(4rem,8vw,7rem)}.expect{border-radius:var(--radius-md);background:var(--color-white);border:1px solid #0b172524;margin:3rem 0;padding:clamp(1.5rem,4vw,2.5rem)}.expect h2{margin:.8rem 0 1.2rem;font-size:clamp(2rem,4vw,3.2rem)}.expect ul{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.expect li{color:#0b1725b8;border-top:1px solid #0b17251f;padding:.8rem 0 .8rem 1.4rem}.expect li:before{color:var(--color-ice);content:"•";margin-left:-1.4rem;position:absolute}.detail-section>h2{margin:1rem 0 2rem;font-size:clamp(2.7rem,5vw,4.6rem)}.sessions-intro{color:#0b1725ad;max-width:42rem;margin:-.75rem 0 2rem}.session-list{gap:.9rem;display:grid}.session-card{border-radius:var(--radius-md);background:var(--color-white);border:1px solid #0b172529;grid-template-columns:2rem 5.5rem minmax(0,1fr) auto;align-items:center;gap:1.2rem;min-height:9.5rem;padding:1.25rem;transition:transform .2s,border-color .2s,box-shadow .2s;display:grid;position:relative;box-shadow:0 14px 34px #0b17250f}.session-card:hover{border-color:#759bb8a6;transform:translateY(-2px);box-shadow:0 18px 42px #0b17251a}.session-card[hidden]{display:none}.session-index{color:#0b172552;letter-spacing:.12em;align-self:start;font-size:.68rem;font-weight:750}.session-calendar{border-radius:var(--radius-sm);min-height:6.5rem;color:var(--color-cream);background:var(--color-navy);text-align:center;align-content:center;padding:.7rem;display:grid}.session-calendar span,.session-calendar small{color:var(--color-ice-light);letter-spacing:.12em;text-transform:uppercase;font-size:.58rem;font-style:normal;font-weight:750;line-height:1.2}.session-calendar strong{font-family:var(--font-display);font-size:2.6rem;line-height:.95;display:block}.session-heading{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.session-main h3{font-family:var(--font-display);text-transform:uppercase;margin:0;font-size:clamp(1.35rem,3vw,1.8rem);line-height:1}.availability-pill{color:#406782;letter-spacing:.08em;text-transform:uppercase;background:#759bb81a;border:1px solid #759bb859;border-radius:999px;padding:.28rem .48rem;font-size:.55rem;font-weight:750;display:inline-flex}.session-main p{color:#0b1725b8;margin:.55rem 0 .2rem;font-size:.88rem}.session-main>small,.session-price small{color:#0b17259e;font-size:.72rem;display:block}.session-action{border-left:1px solid #0b17251f;justify-items:end;gap:.8rem;padding-left:1.2rem;display:grid}.session-price{text-align:right}.session-price strong{font-family:var(--font-display);text-transform:uppercase;font-size:1.15rem;line-height:1;display:block}.session-link{border-radius:var(--radius-sm);min-height:2.7rem;color:var(--color-cream);background:var(--color-navy);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:.8rem;padding:.6rem .85rem;font-size:.67rem;font-weight:750;transition:transform .2s,background-color .2s;display:inline-flex}.session-link:hover{background:var(--color-navy-soft);transform:translate(2px)}.button-session-secondary{min-height:2.8rem;color:var(--color-cream);background:var(--color-navy);white-space:nowrap;padding:.65rem .85rem}.button-session-secondary:hover{background:var(--color-navy-soft)}.sessions-toggle{border-radius:var(--radius-sm);width:100%;min-height:4.25rem;color:var(--color-navy);text-align:left;cursor:pointer;background:0 0;border:1px solid #0b172524;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;padding:.9rem 1.2rem;transition:border-color .2s,background-color .2s;display:grid}.sessions-toggle:hover{border-color:var(--color-ice);background:#ffffff73}.sessions-toggle span{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;font-size:.95rem;font-weight:700}.sessions-toggle small{color:#0b172585;font-size:.7rem}.sessions-toggle i{width:2rem;height:2rem;color:var(--color-cream);background:var(--color-navy);border-radius:50%;place-items:center;font-style:normal;display:grid}.session-loading,.session-fallback{border-radius:var(--radius-sm);background:var(--color-white);border:1px solid #0b172529;justify-content:space-between;align-items:center;gap:1rem;min-height:5rem;padding:1rem;display:flex}.session-loading{justify-content:flex-start}.session-loading span{border:2px solid #0b17252e;border-top-color:var(--color-ice);border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite session-spin}.session-loading p,.session-fallback p{color:#0b1725a6;margin:0;font-size:.85rem}.session-fallback strong{font-family:var(--font-display);text-transform:uppercase}.sessions-note{color:#0b17258a;margin:1rem 0 0;font-size:.75rem}@keyframes session-spin{to{transform:rotate(360deg)}}.feature-list{border-top:1px solid #0b172533;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.feature-list li{border-bottom:1px solid #0b172533;padding:1.2rem 1rem 1.2rem 1.5rem;position:relative}.feature-list li:before{color:var(--color-ice);content:"•";position:absolute;left:0}.schedule{border-top:1px solid #0b172533}.schedule>div{border-bottom:1px solid #0b172533;grid-template-columns:6rem 6rem 1fr;gap:1rem;padding:1.4rem 0;display:grid}.schedule>div>span{color:#557a96;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:750}.schedule h3,.coach-grid h3{font-family:var(--font-display);text-transform:uppercase;margin:0;font-size:1.35rem}.schedule p{color:#0b1725a6;margin:.35rem 0 0;font-size:.88rem}.coach-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.coach-grid article{background:#fff;border:1px solid #0b172526;padding:1.5rem}.coach-grid img{aspect-ratio:1;object-fit:cover;width:100%;margin-bottom:1.3rem}.coach-grid span{color:#557a96;text-transform:uppercase;font-size:.7rem;font-weight:700}.coach-grid p{color:#0b1725a6;font-size:.88rem}.faq details{border-top:1px solid #0b172533}.faq details:last-child{border-bottom:1px solid #0b172533}.faq summary{font-family:var(--font-display);text-transform:uppercase;cursor:pointer;padding:1.3rem 0;font-size:1.2rem;font-weight:650}.faq details p{color:#0b1725ad;max-width:44rem;margin:0 0 1.5rem}.action-panel{border-radius:var(--radius-md);color:var(--color-cream);background:var(--color-navy);box-shadow:var(--shadow-soft);padding:1.6rem;position:sticky;top:2rem}.state{color:var(--color-navy);background:var(--color-ice-light);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:.45rem .65rem;font-size:.6rem;font-weight:750;display:inline-flex}.state-fully-booked,.state-completed{color:var(--color-cream);background:var(--color-navy-soft)}.action-panel h2{font-family:var(--font-display);text-transform:uppercase;margin:2.2rem 0 .8rem;font-size:2.15rem;line-height:.95}.action-panel p{color:#f5f2eaa6;font-size:.88rem}.booking-steps{border-top:1px solid #f5f2ea24;gap:0;margin:1.4rem 0 0;padding:0;list-style:none;display:grid}.booking-steps li{border-bottom:1px solid #f5f2ea24;grid-template-columns:1.7rem 1fr;gap:.7rem;padding:.9rem 0;display:grid}.booking-steps span{color:var(--color-ice-light);font-family:var(--font-display);font-size:.72rem;font-weight:750}.booking-steps p{margin:0;line-height:1.45}.booking-summary{flex-wrap:wrap;gap:.4rem;margin-top:1rem;display:flex}.booking-summary span{color:#f5f2eab8;letter-spacing:.05em;text-transform:uppercase;border:1px solid #a9c3d638;border-radius:999px;padding:.35rem .5rem;font-size:.58rem;font-weight:700}.action-panel .button{width:100%;margin-top:1.2rem}.back-link{color:#f5f2ea94;text-align:center;text-transform:uppercase;margin-top:1.4rem;font-size:.68rem;display:block}@media (width<=820px){.detail-grid{grid-template-columns:1fr}.action-panel{grid-row:1;position:static}.booking-panel{grid-row:2}.session-card{grid-template-columns:1.5rem 5rem minmax(0,1fr)}.session-action{border-top:1px solid #0b17251f;border-left:0;grid-column:2/-1;grid-template-columns:1fr auto;align-items:center;width:100%;padding:1rem 0 0}.session-price{text-align:left}}@media (width<=560px){.facts,.feature-list,.coach-grid{grid-template-columns:1fr}.schedule>div{grid-template-columns:1fr 1fr}.schedule>div>div{grid-column:1/-1}.session-card{grid-template-columns:4.5rem minmax(0,1fr);gap:1rem;padding:1rem}.session-index{display:none}.session-calendar{min-height:5.75rem}.session-calendar strong{font-size:2.2rem}.session-main>small{display:none}.session-action{grid-column:1/-1}.session-link{min-height:3rem}.sessions-toggle{grid-template-columns:1fr auto}.sessions-toggle small{display:none}.session-fallback{flex-direction:column;align-items:stretch}}
