/* Homepage rhythm: scoped to existing sections; shared across six languages. */
html body.booking-refresh #small-groups{padding:36px 0 44px;border-bottom:1px solid #cbd5d6}
html body.booking-refresh #small-groups>.shell{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr);gap:48px;align-items:start}
html body.booking-refresh #small-groups .section-heading{text-align:left;margin:0}
html body.booking-refresh #small-groups h2{font-size:clamp(25px,2.7vw,34px);line-height:1.25}
html body.booking-refresh #small-groups .choice-grid{padding-top:0;margin:0;gap:24px}
html body.booking-refresh #small-groups .choice-card{padding:0 20px 0 0}
html body.booking-refresh #small-groups .choice-card h3{font-size:20px;line-height:1.35}
html body.booking-refresh #small-groups .choice-card p{font-size:13px;line-height:1.65}
html body.booking-refresh #discover{padding:88px 0}
html body.booking-refresh #discover .split{grid-template-columns:1.08fr 1fr;gap:64px;align-items:center}
html body.booking-refresh #discover h2,html body.booking-refresh #fun-diving h2{font-size:clamp(32px,3.5vw,46px);line-height:1.18;max-width:18ch}
html body.booking-refresh #discover .rounded-photo{height:auto;aspect-ratio:4/5;object-fit:cover}
html body.booking-refresh #fun-diving{padding:80px 0;background:#f4f7f6}
html body.booking-refresh #fun-diving .split{grid-template-columns:1.15fr .85fr;gap:64px;align-items:start}
html body.booking-refresh #fun-diving .rounded-photo{height:auto;aspect-ratio:4/5;object-fit:cover}
html body.booking-refresh #fun-diving .lfd-rate-pair{margin-top:28px;gap:32px}
html body.booking-refresh #price-notes{display:grid;grid-template-columns:.7fr 1fr 1fr;gap:16px 36px;padding-top:32px;padding-bottom:40px;margin-block:0}
html body.booking-refresh #price-notes h2{font-size:24px;line-height:1.3;margin:0}
html body.booking-refresh #price-notes p{margin:0;font-size:13px;line-height:1.75}
html body.booking-refresh #price-notes>a{grid-column:2/-1;font-size:13px;text-underline-offset:4px}
html body.booking-refresh #reviews.verified-reviews{padding:56px 48px;margin-top:24px;margin-bottom:0}
html body.booking-refresh #reviews .verified-review-grid{gap:32px;margin-top:32px}
html body.booking-refresh #reviews .verified-review-grid blockquote{margin:0;padding-right:28px}
html body.booking-refresh #reviews .verified-review-grid blockquote p{font-size:22px;line-height:1.5}
html body.booking-refresh #why{padding:80px 0 64px}
html body.booking-refresh #why>.split{grid-template-columns:minmax(0,1fr) 210px;gap:64px;align-items:center}
html body.booking-refresh #why h2{font-size:clamp(32px,3.4vw,44px);line-height:1.2}
html body.booking-refresh #why .feature-list{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin-top:28px}
html body.booking-refresh #why .feature-item{padding:20px 0;border-top:1px solid #cbd5d6}
html body.booking-refresh #why .feature-item strong{font-size:16px;line-height:1.5}
html body.booking-refresh #why .feature-item span{font-size:14px;line-height:1.75;margin-top:8px}
html body.booking-refresh #why .image-stack{display:flex;flex-direction:column;gap:28px;align-items:center}
html body.booking-refresh #courses{padding:64px 0 80px;border-top:1px solid #cbd5d6}
html body.booking-refresh #courses>.shell{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr);gap:0 64px;align-items:start}
html body.booking-refresh #courses .section-heading{grid-column:1;grid-row:1/4;text-align:left;margin:0;position:sticky;top:150px}
html body.booking-refresh #courses h2{font-size:clamp(32px,3.4vw,44px);line-height:1.2}
html body.booking-refresh #courses .lfd-training-row{grid-column:2;grid-template-columns:1fr;gap:16px;padding:24px 0}
html body.booking-refresh #courses .lfd-training-row:first-of-type{padding-top:0;border-top:0}
html body.booking-refresh #courses .course-action,html body.booking-refresh #courses .lfd-tax{grid-column:2}
html body.booking-refresh #green-fins{padding:36px 0;background:#f4f7f6}
html body.booking-refresh #travel{padding:36px 0}
html body.booking-refresh #faq{padding:64px 0;background:#fff;border-bottom:1px solid #cbd5d6}
html body.booking-refresh #faq>.shell{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr);gap:64px;max-width:1160px}
html body.booking-refresh #faq .section-heading{text-align:left;margin:0}
html body.booking-refresh #faq h2{font-size:clamp(32px,3.4vw,44px);line-height:1.2}
html body.booking-refresh .lfd-response-payment{padding-top:36px!important;padding-bottom:36px!important}
html body.booking-refresh #instagram{padding-top:48px;padding-bottom:48px}
@media(max-width:1000px){html body.booking-refresh #small-groups>.shell{grid-template-columns:1fr;gap:24px}html body.booking-refresh #discover .split,html body.booking-refresh #fun-diving .split{gap:36px}html body.booking-refresh #why>.split{grid-template-columns:1fr 170px;gap:32px}html body.booking-refresh #courses>.shell,html body.booking-refresh #faq>.shell{gap:0 36px}}
@media(max-width:720px){
html body.booking-refresh #small-groups{padding:28px 0 36px}
html body.booking-refresh #small-groups>.shell{gap:22px}
html body.booking-refresh #small-groups .choice-grid{grid-template-columns:1fr;gap:0}
html body.booking-refresh #small-groups .choice-card{padding:16px 0;border-right:0;border-bottom:1px solid #cbd5d6}
html body.booking-refresh #small-groups .choice-card:last-child{padding-bottom:0;border-bottom:0}
html body.booking-refresh #small-groups .choice-card h3{font-size:21px;margin:0 0 6px}
html body.booking-refresh #discover,html body.booking-refresh #fun-diving{padding:48px 0}
html body.booking-refresh #discover .split,html body.booking-refresh #fun-diving .split{grid-template-columns:1fr;gap:28px}
html body.booking-refresh #discover .rounded-photo,html body.booking-refresh #fun-diving .rounded-photo{aspect-ratio:4/3;height:auto;max-height:none}
html body.booking-refresh #discover h2,html body.booking-refresh #fun-diving h2{font-size:32px;max-width:none}
html body.booking-refresh #price-notes{grid-template-columns:1fr;gap:14px;padding-top:28px;padding-bottom:32px}
html body.booking-refresh #price-notes>a{grid-column:1}
html body.booking-refresh #reviews.verified-reviews{padding:36px 24px;margin-top:8px}
html body.booking-refresh #reviews .verified-review-grid{grid-template-columns:1fr;gap:24px;margin-top:24px}
html body.booking-refresh #reviews .verified-review-grid blockquote{padding:0 0 24px}
html body.booking-refresh #reviews .verified-review-grid blockquote:last-child{padding-bottom:0;border-bottom:0}
html body.booking-refresh #reviews .verified-review-grid blockquote p{font-size:21px}
html body.booking-refresh #why{padding:48px 0}
html body.booking-refresh #why>.split{grid-template-columns:1fr;gap:28px}
html body.booking-refresh #why .feature-list{grid-template-columns:1fr;gap:0}
html body.booking-refresh #why .image-stack{flex-direction:row;gap:24px}
html body.booking-refresh #why .image-stack img{max-width:calc(50% - 12px)!important}
html body.booking-refresh #courses{padding:48px 0}
html body.booking-refresh #courses>.shell,html body.booking-refresh #faq>.shell{display:block}
html body.booking-refresh #courses .section-heading{position:static;margin-bottom:28px}
html body.booking-refresh #courses .lfd-training-row{display:block;padding:24px 0}
html body.booking-refresh #courses .course-group-heading{margin-bottom:14px}
html body.booking-refresh #green-fins,html body.booking-refresh #travel{padding:28px 0}
html body.booking-refresh #faq{padding:48px 0}
html body.booking-refresh #faq .section-heading{margin-bottom:24px}
html body.booking-refresh #instagram{padding-top:36px;padding-bottom:36px}
}
/* The existing quick-choice heading is intentionally hidden; let the choices span the shell. */
html body.booking-refresh #small-groups>.shell{grid-template-columns:1fr}
/* Repeated certification imagery does not compete with the reasons to choose the shop. */
html body.booking-refresh #why>.split{grid-template-columns:minmax(0,1fr)}
html body.booking-refresh #why .image-stack{display:none}
html body.booking-refresh #why .lead{max-width:760px}

/* Brand catchphrase: readable editorial serif */
html body.booking-refresh .lfd-brand-catchphrase{font-family:Georgia,"Times New Roman",serif!important;font-size:16px!important;font-style:italic;font-weight:500!important;letter-spacing:.035em!important;line-height:1.65!important;color:#29464b!important;max-width:470px;text-wrap:balance}
@media(max-width:720px){html body.booking-refresh .lfd-brand-catchphrase{font-size:15px!important;letter-spacing:.025em!important;max-width:350px}}

/* Japanese typesetting and quieter secondary information */
html[lang="ja"] body.booking-refresh main h2{line-break:strict;word-break:normal;text-wrap:balance}
html[lang="ja"] .lfd-heading-phrase{display:block}
html[lang="ja"] .lfd-heading-credential{display:block;font-family:Arial,sans-serif;font-size:20px;line-height:1.5;letter-spacing:.015em;margin-bottom:14px;white-space:nowrap}
html body.booking-refresh #green-fins,html body.booking-refresh #travel{padding:28px 0}
html body.booking-refresh .lfd-utility h2{font-size:clamp(24px,2.4vw,30px);line-height:1.4;margin-bottom:12px}
html body.booking-refresh .lfd-utility p{font-size:14px;line-height:1.8;max-width:680px;margin-bottom:16px}
html body.booking-refresh #faq{padding:48px 0}
html body.booking-refresh #faq summary{padding-top:16px;padding-bottom:16px;font-size:15px;line-height:1.6}
html body.booking-refresh .lfd-response-payment{padding-top:24px!important;padding-bottom:24px!important}
html body.booking-refresh .lfd-response-payment h2{font-size:22px!important;line-height:1.4}
html body.booking-refresh .lfd-response-payment p{font-size:14px;line-height:1.8;max-width:760px}
html body.booking-refresh .final-cta{padding:48px 0}
html body.booking-refresh .final-cta>.shell>p:not(.eyebrow){max-width:560px;margin:16px auto 24px;font-size:15px;line-height:1.8}
html body.booking-refresh #instagram{padding-top:32px;padding-bottom:32px}
@media(max-width:720px){html[lang="ja"] body.booking-refresh #discover h2,html[lang="ja"] body.booking-refresh #fun-diving h2,html[lang="ja"] body.booking-refresh #courses h2,html[lang="ja"] body.booking-refresh #why h2,html[lang="ja"] body.booking-refresh .final-cta h2{font-size:clamp(23px,7vw,28px);line-height:1.45}html[lang="ja"] .lfd-heading-credential{font-size:18px;margin-bottom:10px}html body.booking-refresh .lfd-utility h2{font-size:23px}html body.booking-refresh #faq{padding:36px 0}html body.booking-refresh .final-cta{padding:40px 0}html body.booking-refresh #instagram{padding-top:28px;padding-bottom:28px}}

html body.booking-refresh .final-cta{text-align:center}html body.booking-refresh .final-cta h2{text-align:center;margin-left:auto;margin-right:auto}html body.booking-refresh .final-cta .hero-actions{display:flex;justify-content:center;flex-wrap:wrap}
