/* Jealash v28 clarity pass. Deliberately does NOT replace any Jealash font, core layout, photos or video. */
:root{--j28-deep:#173f34;--j28-soft:#f2f7f3;--j28-border:#d7e4da;--j28-ink:#254a3c}
.j28-sale-strip{padding:24px 0;background:#eef5f0;border-top:1px solid #d5e4d9;border-bottom:1px solid #d5e4d9}
.j28-sale-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}
.j28-sale-strip h2{font-family:var(--f-h, Fraunces, Georgia, serif);font-size:clamp(24px,2.8vw,36px);line-height:1.14;color:var(--j28-deep);margin:.22em 0 .3em}
.j28-sale-strip p{line-height:1.55;color:var(--j28-ink);margin:.35em 0}
.j28-sale-strip .j28-sale-kicker{font-size:.76rem;font-weight:800;letter-spacing:.105em;color:#86672e}
.j28-sale-strip .j28-sale-small{font-size:.83rem;color:#526b5c}
.j28-sale-cta{flex:none;white-space:nowrap;text-align:center}
/* Keep original course card styling; make price understandable in the same card. */
.j28-sale-active .course-price .now[data-jealash-regular-price]{font-size:1rem;text-decoration:line-through;text-decoration-thickness:1px;color:#64766d;font-weight:500;line-height:1.4}
.course-price .j28-price-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px 12px;padding-top:2px}
.j28-sale-cost{font-size:1.5rem;color:#1b6047;line-height:1.25}
.j28-price-save{font-weight:650;font-size:.78rem;color:#3c7553}
.j28-sale-active .pricebox .now[data-jealash-regular-price]{font-size:1.2rem;opacity:.9}
.pricebox .j28-inline-salelabel{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#775c29;font-weight:800;margin:3px 0 0}
.pricebox .j28-detail-sale{display:flex;align-items:center;flex-wrap:wrap;gap:7px 16px;margin:5px 0 9px}
.pricebox .j28-detail-sale strong{font-size:clamp(1.65rem,3vw,2.2rem);line-height:1.1;color:#1d684a;font-weight:750}
.pricebox .j28-detail-sale span{font-size:.87rem;color:#315d46;font-weight:650}
.pricebox .j28-booking-terms{font-size:.78rem;color:#4e6257;line-height:1.55;margin:8px 0 0;max-width:42em}
.j28-bundle-inline{max-width:54ch;margin:10px 0 5px;padding:12px 15px;border-left:3px solid #6c9e7d;background:#f0f5f0;font-size:.88rem;line-height:1.55}
.j28-bundle-inline a{color:#1b6047;text-decoration:underline;text-underline-offset:2px;font-weight:700}
.j28-bundle{background:#f7f8f4;padding:42px 0;border-block:1px solid #e1e8db}
.j28-bundle-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,0.7fr);gap:30px;align-items:center}
.j28-bundle h2{font-family:var(--f-h,Fraunces,Georgia,serif);color:#173e32;font-size:clamp(24px,3vw,38px);line-height:1.15;margin:10px 0}
.j28-bundle p{line-height:1.62;max-width:60ch}
.j28-bundle .j28-bundle-honest{font-size:.86rem;color:#526159}
.j28-bundle-action{background:#fff;border-radius:15px;box-shadow:0 8px 30px #20433212;border:1px solid #dfebe0;padding:24px;display:flex;flex-direction:column;gap:11px}
.j28-bundle-action .j28-bundle-price{font-size:2rem;color:#1a5e43;line-height:1;margin:0;font-weight:800}
.j28-bundle-action .j28-bundle-baseline{font-size:.82rem;margin:0;color:#66756b}
.j28-bundle-action .btn{width:100%;text-align:center}
.j28-sub-link{display:block;text-align:center;text-underline-offset:3px;color:#21573c;font-size:.87rem;font-weight:650}
.j28-optional{margin:20px auto;max-width:1100px;border:1px solid var(--j28-border);background:#fbfcfa;border-radius:12px;overflow:hidden}
.j28-optional>summary{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:16px 22px;cursor:pointer;font-size:.95rem;line-height:1.4;font-weight:700;color:#315847;list-style:none}
.j28-optional>summary::-webkit-details-marker{display:none}.j28-optional>summary span{font-size:1.3rem;line-height:1}
.j28-optional[open]>summary{border-bottom:1px solid var(--j28-border)}.j28-optional[open]>summary span{transform:rotate(45deg)}
.j28-optional section{margin-top:0;margin-bottom:0}
.j28-checkout-reassure{font-size:.84rem;color:#496957;margin:0 0 12px;padding:11px;background:#eaf3ed;border-radius:9px;line-height:1.5}
/* Refine rather than rebuild original site: reduce excessive repeated whitespace. */
section.phero .lede,section.hero .lede{max-width:63ch;line-height:1.57}
section#courses article.course .course-body>p{line-height:1.52}
section#courses .course-grid{align-items:stretch}
section#courses .course-body{display:flex;flex-direction:column}
section#courses .course-body>a.btn{margin-top:auto}
/* Retain all original images and videos, never force a new crop. */
img,video{max-width:100%}
[data-jealash-sale-only][hidden]{display:none!important}
@media(max-width:760px){
 .j28-sale-inner{display:block}.j28-sale-cta{margin-top:10px;display:inline-flex;white-space:normal}
 .j28-bundle-grid{grid-template-columns:1fr;gap:15px}.j28-bundle{padding:24px 0}
 .j28-sale-strip{padding:17px 0}
 .j28-bundle-action{padding:17px}
 .j28-optional{margin:15px 12px}
 .j28-sale-strip h2{font-size:clamp(24px,7vw,31px)}
 .course-price .j28-price-line{gap:6px}
}
@media(prefers-reduced-motion:reduce){.j28-optional>summary span{transition:none}}

.j28-quick-fees{max-width:1120px;margin:15px auto 0;padding:0 22px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.j28-quick-fees a{display:flex;flex-direction:column;justify-content:space-between;min-width:0;gap:5px;padding:12px 13px;border-radius:11px;border:1px solid #cadbcf;background:white;text-decoration:none!important;color:#234738;box-shadow:0 2px 8px #1b40330a}
.j28-quick-fees span{font-size:.74rem;color:#506a59;line-height:1.35}
.j28-quick-fees strong{font-size:1.15rem;color:#17583b}
.j28-quick-fees a:hover,.j28-quick-fees a:focus-visible{border-color:#648a6b;outline-offset:3px}
@media(max-width:760px){.j28-quick-fees{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:11px;padding:0 15px}.j28-quick-fees a{padding:10px 12px}.j28-quick-fees a:last-child:nth-child(odd){grid-column:span 2}.j28-quick-fees strong{font-size:1.05rem}.tscroll.pod-tscroll{width:100%;max-width:100%;margin-inline:0;box-sizing:border-box}}

/* V30: prevent 320px phones from expanding the checkout grid beyond the viewport. */
@media (max-width:720px){
  .checkout-layout{grid-template-columns:minmax(0,1fr)!important;width:100%;min-width:0}
  .checkout-layout>.purchase-form,.checkout-layout>.booking-summary{min-width:0;max-width:100%;width:100%;box-sizing:border-box}
  .purchase-form .form-grid,.purchase-form .form-grid>*{min-width:0;max-width:100%}
}
