:root{--pink:#a92459;--ink:#35232d;--soft:#fcf0f4;--line:#ead5df}body{font-size:18px;line-height:1.7}header{background:#fffafc}.wrap{max-width:1200px}.nav{padding-top:24px;padding-bottom:24px}.brand{max-width:300px}.hero{gap:60px;padding-top:88px;padding-bottom:84px}.hero .lead{max-width:620px;color:#604752}.hero-panel{background:linear-gradient(145deg,#fbe7ee,#fff8fb);box-shadow:0 18px 46px #63243c0a;border-top-width:5px}.hero-panel h2{font-size:39px}.strip{background:#4a2c3c}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{padding:28px;background:#fff;box-shadow:0 8px 28px #63243c06}.card h3{font-size:24px;min-height:63px}.card .label{margin-bottom:18px;letter-spacing:.08em;font-size:12px}.card .course-price{color:var(--pink);font-size:34px;font-weight:750;margin:2px 0 16px}.course-price span{color:#715561;font-size:15px;font-weight:400}.card p{line-height:1.7}.card .course-cta{display:flex;align-items:center;min-height:48px;padding:10px 0;text-decoration:none}.card .course-cta:after{content:' →';margin-left:8px}.booking-journey{display:flex;flex-wrap:wrap;gap:12px 24px;padding-left:22px;margin:26px 0 34px;font-size:16px;font-weight:700}.booking-journey li{padding-right:6px}.calendar-box,.booking-choice{min-width:0;box-shadow:0 6px 24px #63243c05}.calendar-layout{gap:26px;align-items:start}.calendar-toolbar button{min-height:46px}.calendar-days button{min-height:44px}.calendar-week{color:#70525f}.calendar-days button:not(:disabled){font-weight:700;border-color:#cda4b6}.class-times{max-height:390px;overscroll-behavior:contain;gap:12px}.class-times button{min-height:76px;padding:16px 18px;line-height:1.4}.class-times .time-option strong{font-size:18px}.time-option span{font-size:15px}.note{font-size:16px;line-height:1.65}.availability-note{font-size:16px;line-height:1.65}.booking-contact{line-height:2.2}.booking-contact a{display:inline-block;min-height:44px;margin:0 4px}.booking-choice textarea{min-height:135px}.booking-check{padding:8px 0}.button{min-height:50px}.booking-choice input,.booking-choice select{min-height:50px}details{padding:24px 0}summary{min-height:44px;line-height:1.5;padding-right:20px}details p{margin:12px 0 0;line-height:1.8}.footer-contact{display:flex;flex-direction:column;gap:12px;overflow-wrap:anywhere}.footer-contact a{min-height:32px}.footer-bottom{margin-top:28px;padding-top:20px;border-top:1px solid #765363;font-size:14px}.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}section,#home{scroll-margin-top:22px}#registration-form{scroll-margin-top:20px}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.nav{gap:24px}nav{gap:18px}.hero{gap:30px}}
@media(max-width:850px){.hero{padding-top:54px;padding-bottom:54px}.hero-panel{max-width:none}.calendar-layout{grid-template-columns:1fr}.card h3{min-height:0}nav{flex-wrap:wrap}h2{font-size:36px}}
@media(max-width:600px){.cards{grid-template-columns:1fr}.wrap{padding-left:20px;padding-right:20px}.nav{gap:20px}nav{width:100%;gap:8px;justify-content:space-between}nav a{font-size:15px;min-height:44px;display:inline-flex;align-items:center}nav .button{padding:9px 12px}.brand{font-size:22px}h1{font-size:52px}.lead{font-size:19px}.hero-panel{padding:26px}.booking-journey{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:24px}.calendar-box,.booking-choice{padding:20px}.calendar-toolbar{gap:8px}.calendar-toolbar h3{font-size:18px}.calendar-week,.calendar-days{gap:4px}.calendar-days button{min-height:44px;font-size:16px}.booking-contact{font-size:16px}.card{padding:26px}footer .wrap{flex-direction:column}.footer-contact{gap:8px}.footer-contact a{min-height:44px}.actions .button{width:100%}}
@media(max-width:360px){.wrap{padding-left:12px;padding-right:12px}.calendar-box,.booking-choice{padding:14px}.calendar-week,.calendar-days{gap:2px}.calendar-toolbar button{padding:8px 6px;font-size:14px}.calendar-toolbar h3{font-size:16px}h1{font-size:46px}nav a{font-size:14px}nav .button{padding:9px 8px}}

.hero-call{margin:26px 0 18px}.hero-call .button{min-width:148px}@media(max-width:600px){.hero-call .button{width:auto;min-width:156px}}

.hero.hero-simple{grid-template-columns:1fr;gap:0;max-width:1200px;padding-top:68px;padding-bottom:68px}.hero-simple>div{max-width:800px}.hero-simple .lead{max-width:760px}@media(max-width:600px){.hero.hero-simple{padding-top:44px;padding-bottom:44px}}
