.offer-list{grid-template-columns:repeat(4,minmax(0,1fr))}.offer-list article{min-width:0;min-height:31rem;height:100%;overflow:visible;overflow-wrap:anywhere}.offer-list h3{display:flex;align-items:flex-start;min-height:8.25rem;max-width:100%;font-size:clamp(1.9rem,3vw,3.2rem);line-height:1;overflow:visible;overflow-wrap:normal;word-break:normal;white-space:normal;text-wrap:balance}.offer-list p{max-width:100%;overflow-wrap:anywhere}.offer-list strong{max-width:100%;min-height:2.6rem;margin-top:auto;display:flex;align-items:flex-start;line-height:1.35;overflow-wrap:anywhere}.offer-list a{max-width:100%;min-height:3rem;display:flex;align-items:center;line-height:1.35;overflow-wrap:anywhere}.offer-list h3 i{font-family:var(--script);font-weight:400;letter-spacing:0}.structure-note{max-width:760px;margin:3rem 0 0;font:1.15rem/1.55 var(--serif);color:#6d5a4c}.facts-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.classes-page .programme-panel>*,.classes-page .programme-details,.classes-page .single-class-booking>*,.classes-page .offer-list article,.classes-page .pricing-grid>div{min-width:0}.classes-page .programme-details,.classes-page .single-class-booking>p,.classes-page .structure-note,.classes-page .faq-copy{overflow-wrap:anywhere}.classes-page .single-class-list span,.classes-page .pricing-grid span{overflow-wrap:anywhere}@media(max-width:1100px){.offer-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:950px){.facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.offer-list h3{min-height:0;font-size:clamp(2rem,8vw,3rem);letter-spacing:-.06em}.programme-dates{font-size:1rem}.single-class-list a{min-height:8rem}.faq-copy summary{font-size:1.25rem}}@media(max-width:500px){.offer-list,.facts-grid{grid-template-columns:1fr}}
.pricing-section{padding:7rem 8vw;background:var(--wine);color:var(--cream)}.pricing-section h2{font-size:clamp(3.8rem,7vw,7rem);margin:1.5rem 0 2rem}.pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#ffffff55}.pricing-grid>div{background:var(--wine);padding:1.5rem 1.25rem;min-height:9rem}.pricing-grid b{display:block;color:var(--red);font:700 .68rem/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.75rem}.pricing-grid span{display:block;font:1.05rem/1.45 var(--serif)}@media(max-width:950px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.pricing-section{padding:5rem 7vw}.pricing-grid{grid-template-columns:1fr}}
.single-class-booking{padding:7rem 8vw;background:var(--cream);color:var(--black)}.single-class-booking h2{font-size:clamp(3.8rem,7vw,7rem);margin:1.5rem 0 1rem}.single-class-booking h2 i{font-family:var(--script);font-weight:400;letter-spacing:0}.single-class-booking>p{max-width:38rem;font:1.2rem/1.5 var(--serif);color:#6d5a4c}.single-class-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:3rem;background:#b8a99d}.single-class-list a{display:flex;flex-direction:column;justify-content:space-between;gap:2rem;min-height:10rem;padding:1.4rem;background:var(--cream);color:var(--black);transition:background .2s ease,color .2s ease}.single-class-list a:hover,.single-class-list a:focus-visible{background:var(--red);color:var(--black)}.single-class-list b{font:700 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase}.single-class-list span{font:1rem/1.4 var(--serif)}@media(max-width:950px){.single-class-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.single-class-booking{padding:5rem 7vw}.single-class-list{grid-template-columns:1fr}}
.event-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:3rem;background:#b8a99d}.event-card{min-width:0;min-height:20rem;padding:1.4rem;background:var(--cream);display:flex;flex-direction:column;justify-content:space-between;gap:2rem}.event-card h3{font-size:clamp(4rem,7vw,7rem);line-height:.8;margin:.7rem 0}.event-card p,.event-card>div:last-child span{font:1rem/1.4 var(--serif);color:#6d5a4c}.event-month{font:700 .68rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}.event-card strong{display:block;font:700 1.2rem var(--sans);letter-spacing:.08em;color:var(--red)}.event-card>div:last-child span{display:block;margin:.3rem 0 1.3rem;font-size:.9rem}.event-card .button{width:100%;font-size:.62rem}.event-note{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;color:#6d5a4c;font:1rem var(--serif)}.event-note .text-link{margin-top:0}.practical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:3rem;background:#b8a99d}.practical-grid>div{min-width:0;padding:1.5rem;background:var(--cream)}.practical-grid b{display:block;margin-bottom:.7rem;color:var(--red);font:700 .68rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase}.practical-grid span{display:block;font:1.05rem/1.45 var(--serif);color:#6d5a4c}.pricing-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:2rem}.pricing-actions .text-link{color:var(--cream);margin-top:0}.private-booking{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,8rem);padding:7rem 8vw;background:var(--red);color:#fff}.private-booking h2{font-size:clamp(3.8rem,7vw,7rem);margin:1.5rem 0}.private-booking p{max-width:34rem;font:1.15rem/1.55 var(--serif)}.private-booking .lead{font-size:clamp(1.4rem,2.4vw,2.1rem);line-height:1.25;margin-bottom:1.3rem}.private-booking-form{display:grid;gap:.65rem;align-content:start}.private-booking-form label{font:700 .68rem var(--sans);letter-spacing:.12em;text-transform:uppercase}.private-booking-form input,.private-booking-form textarea{width:100%;border:1px solid #fff9;background:#7d0000;color:#fff;padding:.8rem;font:1rem var(--serif);border-radius:0}.private-booking-form input:focus,.private-booking-form textarea:focus{outline:2px solid #fff;outline-offset:2px}.private-booking-form button{justify-self:start;margin-top:.7rem}.private-booking-form .form-note{font:.8rem var(--sans);opacity:.85}.classes-page .private-booking-form{min-width:0}@media(max-width:1000px){.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practical-grid{grid-template-columns:1fr}.private-booking{grid-template-columns:1fr;gap:2.5rem}}@media(max-width:600px){.event-grid{grid-template-columns:1fr}.event-card{min-height:16rem}.event-note{display:block}.event-note .text-link{display:flex;margin-top:1rem}.pricing-actions{align-items:flex-start;flex-direction:column}.private-booking{padding:5rem 7vw}}
.private-booking-form select{width:100%;border:1px solid #fff9;background:#7d0000;color:#fff;padding:.8rem;font:1rem var(--serif);border-radius:0}.private-booking-form select:focus{outline:2px solid #fff;outline-offset:2px}.hero-secondary-link{margin-top:0}.teacher-proof{color:var(--crimson)!important;font-weight:500!important}.classes-page section[id]{scroll-margin-top:6rem}.essence-section .section-label,.paths-section .section-label{color:#fff}

/* Keep offer cards on one reading edge, including translated copy. */
.offer-list{align-items:stretch}
.offer-list article{display:flex;flex-direction:column;align-items:flex-start}
.offer-list article>p{min-height:7.2rem}
.offer-list article>strong{margin-top:auto}
.classes-page .contact-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:1rem;align-items:center}
.classes-page .contact-form textarea{grid-column:2;grid-row:3 / span 2}
.classes-page .contact-form button,.classes-page .contact-form .form-note{grid-column:2}
@media(max-width:800px){.offer-list article>p{min-height:0}.classes-page .contact-form{grid-template-columns:1fr}.classes-page .contact-form textarea,.classes-page .contact-form button,.classes-page .contact-form .form-note{grid-column:auto;grid-row:auto}}

@media(min-width:801px) and (max-width:1100px){.path-list{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Keep the private-group copy ahead of its form without collapsing the mobile stack. */
@media (min-width: 1001px) {
  .private-booking-form { padding-top: 4.5rem; }
}
@media (max-width: 1000px) {
  .private-booking-form { padding-top: 0; }
}

/* Content-safe card rows keep title, description, price and action aligned without transforms. */
@media (min-width: 801px) {
.offer-list article {
    display: grid;
    grid-template-rows: auto minmax(5.7rem, auto) auto minmax(7.2rem, auto) auto auto;
  }
  .offer-list article > h3 { display: block; }
  .offer-list article > .offer-pack {
    min-height: 2rem;
    margin: -.35rem 0 1rem;
    color: var(--crimson);
    font: 700 .68rem/1.3 var(--sans);
    letter-spacing: .12em;
    text-transform: uppercase;
  }
  .offer-list article > strong { margin-top: 0; }
  .offer-list article > a { margin-top: 1rem; }
}
@media (max-width: 800px) {
  .offer-list article { display: flex; }
  .offer-list article > .offer-pack { min-height: 0; margin: -.25rem 0 1rem; }
  .offer-list article > strong { margin-top: auto; }
  .offer-list article > a { margin-top: 0; }
}
