/* Use the bundled Open Sans 600 and Roboto Condensed 700 faces. */
main p strong,main li strong,main dd strong,main address strong{font-weight:600;color:inherit}
.hero h1 strong{font-weight:700}
.module-title,.inside-content h2,.start-copy h2,.education h2,.shop-story h2{font-weight:700}
.discipline h3,.price-table h3,.principles h3,.day h3,.contact-grid h3,.product-meta .shop-item-title{font-weight:700}
.hero-subtitle strong{font-weight:600}
.start-facts dd{font-weight:600;color:#fff}
.product-price,.product-meta>p,.cart-subtotal strong{font-weight:600}
.faq summary,.product-description summary,.other-plans summary{font-weight:600}
.schedule-grid{overflow:hidden;overflow-anchor:none;align-content:start}.schedule-grid.filtered{min-height:340px}.schedule-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.other-plans summary>span{transition:transform .2s ease-out;display:inline-block}.other-plans summary[aria-expanded=true]>span{transform:rotate(45deg)}
details{overflow-anchor:none}summary:focus-visible{outline-offset:3px}
.day-filters button{transition:color .16s,background-color .16s}.day-filters button[aria-pressed=true]:hover{background:#202020;color:#fff}
.hero-subtitle{line-height:1.75;max-width:650px;margin-left:auto;margin-right:auto}.value-principles{max-width:1100px;gap:55px;margin-bottom:0}.value-principles>div{display:flex;flex-direction:column;align-items:center}.value-principles .text-link{margin-top:auto}.value-principles p{max-width:320px}.saved-status{font-size:13px;color:#555;border-bottom:1px solid #ddd;padding-bottom:15px}
@media(max-width:800px){.value-principles{gap:30px}.hero-subtitle{max-width:500px}}
@media(max-width:520px){.hero-subtitle{font-size:14px;max-width:330px}.value-principles{gap:35px}}
.shop-controls input[type=search]{min-height:44px}.contact-grid>div>a:not(.btn){min-height:36px;display:flex;align-items:center}
@media(prefers-reduced-motion:reduce){[data-reveal]{transform:none!important;opacity:1!important}}
summary:focus,summary:focus-visible{outline:none}
summary:focus-visible{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
summary:hover{color:var(--ink)}
.more-plans{grid-template-columns:1fr;gap:20px;padding:20px 0}
.more-plans p{margin:0}
.more-plans strong{display:block;white-space:nowrap;color:var(--ink);font-size:14px}
.plan-description{display:block;color:var(--muted);margin-top:3px}
.other-plans summary{gap:16px;align-items:center}
.other-plans summary>span{flex-shrink:0}
.cart-icon{display:none}
.cart-trigger{align-items:center}
@media(max-width:800px){.nav-inner{gap:12px}.menu-toggle{width:44px;height:44px;flex-shrink:0;padding:0;border:0;font-size:24px;line-height:1}.menu-toggle span{margin:0}}
@media(max-width:520px){
 .hero h1{font-size:clamp(28px,10.8vw,48px);letter-spacing:clamp(1.5px,.7vw,3px)}
 .hero h1 strong{white-space:nowrap}
 .cart-trigger{display:inline-flex;gap:6px;padding:8px;min-width:64px;justify-content:center}
 .cart-label{display:none}
 .cart-icon{display:block;width:24px;height:24px;flex-shrink:0}
 .cart-trigger [data-cart-count]{margin:0}
}
@media(max-width:340px){
 .discipline-grid,.product-grid{grid-template-columns:1fr}
 .discipline h3{font-size:17px}
 .discipline p{font-size:13px}
 .class-row{grid-template-columns:90px 1fr;font-size:12px}
 .module-title{font-size:25px;letter-spacing:2px}
 .start-copy h2{font-size:26px}
 .hero .eyebrow{letter-spacing:2px}
 .shop-title .module-title{font-size:20px}
}
.ui-icon{width:24px;height:24px;display:inline-block;flex-shrink:0;vertical-align:middle}
.menu-toggle{position:relative}
.menu-toggle .ui-icon{position:absolute;inset:10px;transition:opacity .16s,transform .22s cubic-bezier(.2,.7,.3,1)}
.menu-toggle .menu-close-icon{opacity:0;transform:rotate(-45deg)}
.menu-toggle[aria-expanded=true] .menu-open-icon{opacity:0;transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-close-icon{opacity:1;transform:rotate(0)}
.dialog-close{display:grid;place-items:center;min-width:44px;min-height:44px}
.other-plans summary[aria-expanded=true]>.disclosure-mark{transform:rotate(180deg)}
.disclosure-mark .ui-icon{width:20px;height:20px}
.value-icon{width:48px;height:48px;color:#75551f;margin-bottom:8px}
.start-facts dt{display:flex;align-items:center;gap:12px}
.start-facts .ui-icon{width:19px;height:19px;color:var(--gold)}
.hero{overflow:hidden}
.hero h1 strong{position:relative;display:inline-block}
.hero h1 strong::after{content:'';position:absolute;width:48px;height:3px;background:var(--gold);left:50%;bottom:-13px;transform:translateX(-50%)}
.hero h1{margin-bottom:38px}
.discipline>a{display:block;color:var(--ink)}
.discipline-caption{position:relative;padding-bottom:16px;border-bottom:1px solid #d7d7d3}
.discipline-caption::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#967336;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.2,.7,.3,1)}
.discipline a:focus-visible .discipline-caption::after{transform:scaleX(1)}
.discipline a:focus-visible img{transform:scale(1.035);filter:saturate(1)}
.text-link{position:relative}
.text-link::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .24s ease-out}
.text-link:focus-visible::after{transform:scaleX(1)}
.site-header nav a[aria-current=location]{color:var(--gold)}
.site-header nav a[aria-current=location]::after{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){.discipline a:hover .discipline-caption::after,.text-link:hover::after{transform:scaleX(1)}}
@media(max-width:800px){.site-header nav.open{animation:menu-enter .2s cubic-bezier(.2,.7,.3,1)}.site-header nav a[aria-current=location]{box-shadow:inset 2px 0 var(--gold);padding-left:12px}}
@media(max-width:340px){.start-facts dt{gap:7px}.start-facts .ui-icon{width:16px;height:16px}}
@keyframes menu-enter{from{opacity:.5;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-header nav.open{animation:none}.menu-toggle .ui-icon,.discipline-caption::after,.text-link::after{transition:none}}

.shop-hero h1,.product-detail-copy h2,.cart-heading h2,.cart-line h3,.order-line h3{font-weight:700}
.product-detail-copy legend,.quantity-controls span,.cart-subtotal span,#order-total{font-weight:600}
.product-detail-copy strong,.cart-line strong,.shop-story strong{font-weight:600}
#product-description p,#product-description li{font-size:12px;line-height:1.8}
#product-description p{white-space:normal;margin:0 0 14px}
#product-description ul{padding-left:18px;margin:0 0 18px}
#product-description li{margin-bottom:7px}
