/* Homepage hero: photographic background with accessible HTML copy and booking link. */
.hero-course{min-height:690px;display:flex;align-items:center;background:#edf5e9;overflow:hidden;padding:42px 0}
.hero-course:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.82) 28%,rgba(255,255,255,.25) 53%,transparent 65%)}
.hero-course .hero-image{object-position:50% 50%;height:100%}
.hero-course .hero-copy{z-index:1;width:58%;max-width:850px;margin:0 0 0 clamp(28px,4.5vw,86px);padding:0;background:none;border:0}
.hero-course .hero-location{position:static;display:block;background:none;padding:0;margin:0 0 14px;font-size:12px;letter-spacing:.08em;color:#345544}
.hero-course h1{margin:0;color:#003b25;line-height:1.16}
.hero-intro{display:table;font-size:clamp(24px,2.4vw,40px);font-weight:800;border-bottom:3px solid #4d8339;padding-bottom:8px;margin-bottom:22px}
.hero-course h1 strong{display:block;font-size:clamp(46px,5.4vw,88px);font-weight:900;letter-spacing:-.065em;line-height:1.18}
.hero-course h1 strong span{display:block}
.hero-course h1 strong span:last-child{display:table;background:linear-gradient(transparent 84%,#ffe83d 84%,#ffe83d 97%,transparent 97%);padding-bottom:8px}
.hero-trial{font-size:clamp(20px,2.25vw,35px);font-weight:800;color:#003b25;line-height:1.6;margin-top:20px}
.hero-trial strong{font-size:1.55em;color:#e6430b;margin:0 .1em;line-height:1}
.hero-course .hero-summary{font-size:clamp(14px,1.3vw,19px);font-weight:700;line-height:1.7;margin-top:12px;padding:0}
.hero-benefits{list-style:none;display:flex;padding:0;margin:24px 0;max-width:680px}
.hero-benefits li{flex:1;text-align:center;font-size:clamp(12px,1.25vw,18px);font-weight:700;line-height:1.5;padding:0 12px;border-right:1px solid #9aad94}
.hero-benefits li:last-child{border:0}
.hero-course .hero-actions{padding:0;margin-top:22px;display:block}
.hero-reserve,.header .header-cta{background:linear-gradient(105deg,#ff4c15,#ffac00);border:2px solid white;border-radius:60px;color:white;box-shadow:0 5px 15px #4d612b25}
.hero-reserve:hover,.header .header-cta:hover{background:linear-gradient(105deg,#e8420e,#ef9600)}
.hero-course .hero-reserve{display:flex;gap:18px;justify-content:space-between;max-width:710px;padding:17px 24px;font-size:clamp(17px,1.8vw,27px);min-height:72px}
.hero-reserve>span:first-child{font-size:32px;line-height:1}
.hero-reserve>span:last-child{font-size:34px;line-height:1}
.cta-mobile{display:none}
.hero-line-note{font-size:12px;font-weight:600;margin:8px 0 0;text-align:center;max-width:710px;color:#345544}
@media(min-width:1600px){.hero-course{min-height:790px}.hero-course .hero-copy{margin-top:0}}
@media(max-width:1100px) and (min-width:801px){.header .header-cta{font-size:12px;padding-inline:14px}.hero-course{min-height:650px}.hero-course .hero-copy{width:62%;margin-top:0}.hero-course h1 strong{font-size:56px}.hero-intro{font-size:27px}.hero-trial{font-size:23px}}
@media(max-width:800px){
.hero-course{display:flex;flex-direction:column;align-items:stretch;padding:0;min-height:0;overflow:hidden;background:#f8fbf3}
.hero-course:before{display:none}
.hero-course .hero-image{position:relative;inset:auto;order:2;height:290px;width:100%;object-fit:cover;object-position:100% 48%;z-index:0}
.hero-course .hero-copy{width:auto;max-width:none;margin:0;padding:24px 20px 20px;background:linear-gradient(135deg,#fff,#f3f8e8)}
.hero-course .hero-location{font-size:10px;margin-bottom:10px}
.hero-course h1{padding:0;margin:0}
.hero-intro{font-size:clamp(21px,5.6vw,32px);padding-bottom:5px;margin-bottom:12px}
.hero-course h1 strong{font-size:clamp(36px,9.2vw,68px);letter-spacing:-.065em;line-height:1.2}
.hero-trial{font-size:clamp(16px,4.35vw,28px);margin-top:12px;white-space:nowrap}
.hero-course .hero-summary{font-size:13px;line-height:1.65;margin-top:10px}
.hero-benefits{margin:16px 0;font-size:12px}
.hero-benefits li{font-size:11px;padding:0 6px}
.hero-course .hero-actions{margin-top:14px}
.hero-course .hero-reserve{width:100%;font-size:clamp(14px,3.9vw,21px);min-height:56px;padding:10px 14px;gap:8px}
.hero-reserve>span:first-child{font-size:25px}.hero-reserve>span:last-child{font-size:26px}
.cta-desktop{display:none}.cta-mobile{display:inline}
.hero-line-note{font-size:10px;margin-top:7px}
.mobile-booking a:last-child{background:linear-gradient(105deg,#f24b13,#ee9300);border-color:#ed7600;color:#fff}
}
@media(max-width:380px){.hero-course .hero-copy{margin:0;padding-inline:16px}.hero-course h1 strong{font-size:9.2vw}.hero-trial{font-size:4.35vw}.hero-course .hero-image{height:250px}}

.hero-picture{position:absolute;inset:0;z-index:-1}
@media(max-width:800px){
.hero-course{height:max(660px,calc(100svh - 72px));max-height:800px;position:relative;display:block;padding:0;background:#edf5e9;isolation:isolate}
.hero-course .hero-picture{position:absolute;inset:0;z-index:-1}
.hero-course .hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:0}
.hero-course:before{display:block;z-index:0;background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.45) 34%,transparent 48%,transparent 73%,rgba(255,255,255,.86) 90%)}
.hero-course .hero-copy{position:relative;height:100%;padding:20px 20px 0;background:none;z-index:1;margin:0}
.hero-course .hero-location{margin-bottom:8px}
.hero-intro{font-size:clamp(20px,5.6vw,29px);margin-bottom:10px}
.hero-course h1 strong{font-size:clamp(34px,9.2vw,56px)}
.hero-trial{margin-top:10px;font-size:clamp(15px,4.35vw,24px)}
.hero-course .hero-summary{font-size:12px;line-height:1.6;margin-top:8px}
.hero-benefits{display:none}
.hero-course .hero-actions{position:absolute;left:20px;right:20px;bottom:100px;margin:0}
.hero-course .hero-line-note{position:absolute;left:20px;right:20px;bottom:77px;margin:0}
}
@media(max-width:380px){.hero-course .hero-copy{padding-inline:16px}.hero-course .hero-image{height:100%}.hero-course .hero-actions{left:16px;right:16px}}

@media(max-width:800px){.hero-course .hero-image{height:calc(100% - 100px);object-position:center bottom}.hero-course{background:#e9f0dc}.hero-course:before{background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.35) 32%,transparent 45%,transparent 70%,#e9f0dc 91%)}}

@media(max-width:800px) and (max-height:740px){.hero-course{height:max(590px,calc(100svh - 72px))}.hero-course .hero-summary{display:none}}

/* Mobile copy stays on an opaque surface above the teaching scene. */
@media(max-width:800px){
.hero-course .hero-copy{padding-top:16px}
.hero-course .hero-copy:before{content:"";position:absolute;top:0;left:0;right:0;height:290px;background:#fff;z-index:-1;box-shadow:0 14px 24px rgba(255,255,255,.8)}
.hero-course .hero-location{margin-bottom:7px}
.hero-intro{font-size:clamp(20px,5.6vw,29px);margin-bottom:10px;line-height:1.35}
.hero-course h1 strong{line-height:1.2}
.hero-trial{line-height:1.6;margin-top:12px}
.hero-course .hero-summary{display:none}
.hero-course .hero-image{object-position:center bottom}
.hero-course .hero-line-note{background:#e9f0dc;padding:2px 0}
}
@media(max-width:380px){.hero-course .hero-copy:before{height:210px}.hero-course h1 strong{font-size:9vw}.hero-trial{font-size:4.25vw}}

/* Small screens use a focused text hero instead of cropping the teaching photo. */
@media (max-width:800px){
  .hero-course{display:block;height:auto;min-height:0;max-height:none;padding:0;background:#fff;overflow:visible}
  .hero-course .hero-picture,.hero-course:before,.hero-course .hero-copy:before{display:none}
  .hero-course .hero-copy{position:relative;width:auto;height:auto;max-width:none;margin:0;padding:26px 20px 30px;background:linear-gradient(145deg,#fff 35%,#f0f7e7)}
  .hero-course .hero-location{font-size:12px;margin-bottom:14px}
  .hero-intro{font-size:clamp(20px,5.6vw,29px)}
  .hero-course h1 strong{font-size:clamp(32px,9vw,56px);line-height:1.22}
  .hero-trial{font-size:clamp(15px,4.25vw,24px);white-space:normal;margin-top:16px}
  .hero-course .hero-actions{position:static;margin-top:24px}
  .hero-course .hero-reserve{min-height:58px;font-size:clamp(14px,3.8vw,21px);padding:12px 14px;gap:8px}
  .hero-course .hero-line-note{position:static;margin:10px 0 0;padding:0;background:none;font-size:12px;line-height:1.6}
  .image-note{display:none}
}
