/* Homepage layout follows the October references; existing photographs retained. */
.home-refresh { --home-soft:#f2f7fc; }
.home-refresh .hb-button, .home-refresh .catalog-button { border-radius:6px; }
.home-refresh main h2 span { color:var(--brand-orange); }
.home-refresh .hb-home-hero { position:relative; isolation:isolate; min-height:570px; padding:90px 0; text-align:left; background:var(--navy-900); overflow:hidden; }
.home-hero-photo { position:absolute; inset:0 0 0 auto; width:60%; height:100%; object-fit:cover; object-position:50% 25%; z-index:-2; }
.home-refresh .hb-home-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#05234b 0%,#05234b 30%,#05234be8 44%,#05234b12 78%); z-index:-1; }
.home-hero-copy { max-width:660px; }
.home-refresh .hb-home-hero .hb-eyebrow { color:#d1dded; font-size:11px; letter-spacing:.2em; }
.home-refresh .hb-home-hero h1 { color:white; margin:0; font-size:clamp(40px,4.5vw,64px); text-transform:uppercase; line-height:1.08; }
.home-refresh .hb-hero-lede { margin:24px 0; max-width:430px; color:#e3eaf5; font-size:18px; line-height:1.65; }
.home-programmes { color:#e3eaf5; font-size:11px; letter-spacing:.1em; text-transform:uppercase; margin-bottom:24px; }
.home-programmes span { margin-inline:7px; color:var(--brand-orange); }
.home-refresh .hb-home-hero .lesson-booking { color:white; border-color:#a9bed8; }
.home-refresh .hb-home-hero .lesson-booking:hover { background:#ffffff18; }
.home-explore { display:block; width:fit-content; margin-top:22px; color:#e3eaf5; font-size:13px; }
.home-refresh .course-catalog { background:var(--home-soft); padding:65px 0; }
.home-refresh .course-catalog .badge { display:none; }
.home-refresh .catalog-card { border-color:#dce5ef; border-radius:10px; box-shadow:0 8px 24px #05234b0c; }
.home-refresh .catalog-card-media { aspect-ratio:2; }
.home-refresh .catalog-card-body { padding:22px; }
.home-refresh .catalog-badges { justify-content:flex-start; margin-bottom:16px; }
.home-refresh .catalog-badges li { background:#f1f5fa; border:0; }
.home-refresh .catalog-facts { background:#f8fafc; }
.home-refresh .catalog-card-footer { border:0; padding-top:0; }
.home-refresh .catalog-actions { flex-direction:column; }
.home-refresh .catalog-actions > .catalog-button { flex:0 0 auto; order:2; padding:7px; min-height:36px; font-size:12px; border:0; background:transparent; }
.home-refresh .lesson-actions--catalog { flex-direction:column; flex:0 0 auto; gap:8px; }
.home-refresh .lesson-actions--catalog .catalog-button { display:flex; align-items:center; justify-content:center; flex:0 0 auto; min-height:44px; padding:11px 16px; font-weight:700; font-size:13px; border-radius:5px; background:var(--brand-orange); color:var(--navy-950); }
.home-refresh .lesson-actions--catalog .lesson-booking { background:white; border-color:var(--navy-900); }
.home-refresh .hb-section, .home-refresh .hb-laptop-section { padding:70px 0; }
.home-refresh .hb-split { gap:45px; }
.home-refresh .hb-split-copy h2 { font-size:clamp(30px,3.2vw,44px); margin-bottom:20px; }
.home-refresh .hb-split-copy > p { line-height:1.7; }
.home-free-lesson, .home-refresh .hb-laptop-section, .home-refresh .faq { background:var(--home-soft); }
.home-section-photo { position:relative; border-radius:24px 0 24px 0; overflow:hidden; }
.home-section-photo img { width:100%; height:auto; aspect-ratio:1.25; object-fit:cover; }
.home-mini-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:30px 0 18px; }
.home-feature { min-width:0; font-size:12px; }
.home-feature svg { color:var(--brand-orange); margin-bottom:10px; }
.home-feature h3 { font-size:12px; line-height:1.45; margin-bottom:6px; }
.home-feature p { color:var(--text-muted); font-size:11px; line-height:1.6; }
.home-refresh .hb-kids-promo .hb-split-copy { grid-column:1; grid-row:1; }
.home-refresh .hb-kids-promo .hb-photo-frame { grid-column:2; grid-row:1; }
.home-refresh .hb-kids-promo .hb-photo-frame { padding:0; border-radius:24px 0 24px 0; }
.home-refresh .hb-kids-promo .hb-photo-frame img { border-radius:inherit; }
.home-refresh .hb-laptop-section .hb-split-copy { padding:0; }
.home-refresh .hb-laptop-visual { height:500px; border-radius:24px 0 24px 0; }
.home-laptop-benefits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:22px 0; }
.home-laptop-benefits .home-feature { display:flex; gap:12px; padding:16px; background:white; border-radius:8px; }
.home-laptop-benefits svg { flex-shrink:0; margin:0; }
.home-benefit-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.home-benefit-card { display:flex; flex-direction:column; align-items:center; padding:26px 16px 18px; text-align:center; border:1px solid #e6edf5; border-radius:10px; box-shadow:0 5px 18px #05234b08; }
.home-benefit-card svg { width:42px; height:42px; color:var(--brand-orange); background:var(--home-soft); border-radius:12px; padding:6px; margin-bottom:20px; }
.home-benefit-card h3 { font-size:14px; margin-bottom:12px; }
.home-benefit-card p { font-size:12px; line-height:1.65; color:var(--text-muted); flex:1; }
.home-benefit-card > span { font-size:10px; font-weight:600; background:#fff4ec; border-radius:5px; padding:8px; margin-top:20px; }
.home-refresh .hb-community .hb-photo-frame { border-radius:24px; }
.home-refresh .hb-community .hb-photo-frame img { border-radius:18px; }
.home-refresh .faq { padding:70px 0; }
.home-refresh .faq-intro h2 { font-size:clamp(30px,3vw,42px); }
.home-faq-lede { font-size:14px; color:var(--text-muted); margin:20px 0; line-height:1.7; max-width:350px; }
.home-refresh .faq-item { background:white; border:1px solid #e3ebf5; border-radius:9px; margin-bottom:12px; overflow:hidden; }
.home-refresh .faq-item[open] { border-left:3px solid var(--brand-orange); }
.home-refresh .faq-help { background:transparent; padding-inline:0; }
.home-refresh .faq-help-actions .btn { border-radius:5px; font-size:12px; }
.home-refresh .faq-help-actions a:first-child { background:#168c43; color:white; }
.home-refresh .home-closing { background:var(--navy-900); padding:75px 0; text-align:center; }
.home-closing h2 { color:white; }
.home-closing-name { display:block; font-size:clamp(48px,6vw,78px); font-weight:800; line-height:1.15; }
.home-closing-title { display:block; font-size:clamp(20px,2.8vw,34px); margin-top:8px; }
.home-closing-title em { color:var(--brand-orange); font-style:normal; }
.home-refresh .home-closing h2 .home-closing-name, .home-refresh .home-closing h2 .home-closing-title { color:white; }
.home-refresh .home-closing .welcome-tagline { color:white; font-size:clamp(20px,2.5vw,30px); margin:28px 0 14px; }
.home-closing .welcome-tagline span { color:var(--brand-orange); }
.home-refresh .home-closing .welcome-lede { color:#d1dded; font-size:15px; max-width:620px; margin:0 auto 28px; }
.home-closing .lesson-booking { border-color:#b5c4d8; color:white; }
.home-closing .lesson-booking:hover { background:#ffffff18; }
@media (max-width:980px) {
  .home-hero-copy { max-width:55%; }
  .home-refresh .hb-home-hero h1 { font-size:44px; }
  .home-benefit-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .home-refresh .hb-home-hero .lesson-actions { flex-direction:column; }
}
@media (max-width:767px) {
  .home-refresh .hb-home-hero { padding:45px 0 0; min-height:0; }
  .home-hero-copy { max-width:none; }
  .home-refresh .hb-home-hero h1 { font-size:clamp(35px,7vw,48px); }
  .home-refresh .hb-hero-lede { font-size:16px; max-width:none; }
  .home-hero-photo { position:relative; inset:auto; width:100%; height:300px; display:block; margin-top:30px; z-index:0; object-position:50% 22%; }
  .home-refresh .hb-home-hero::after { display:none; }
  .home-refresh .hb-home-hero .wrap { position:relative; }
  .home-refresh .hb-home-hero { display:flex; flex-direction:column; }
  .home-refresh .hb-home-hero .wrap { order:-1; }
  .home-programmes { font-size:10px; line-height:1.8; }
  .home-programmes span { margin-inline:3px; }
  .home-refresh .hb-section, .home-refresh .hb-laptop-section, .home-refresh .faq { padding:48px 0; }
  .home-refresh .hb-split { grid-template-columns:minmax(0,1fr); gap:28px; }
  .home-refresh .hb-kids-promo .hb-split-copy, .home-refresh .hb-kids-promo .hb-photo-frame { grid-column:auto; grid-row:auto; }
  .home-refresh .hb-kids-promo .hb-split-copy { order:-1; }
  .home-refresh .hb-laptop-visual { height:340px; }
  .home-mini-features { gap:12px; }
  .home-benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .home-benefit-card:last-child { grid-column:1 / -1; }
  .home-laptop-benefits .home-feature { display:block; padding:14px; }
  .home-laptop-benefits svg { margin-bottom:10px; }
  .home-refresh .home-closing { padding:50px 0; }
  .home-closing .lesson-actions { max-width:420px; margin-inline:auto; }
}
