/* Decision guides reuse the site's warm palette, Amaranth headings and Rubik copy. */
.guide-container { width: min(1140px, calc(100% - 48px)); margin-inline: auto; }
.guide-intro { max-width: 790px; margin: 0 auto 44px; text-align: center; }
.guide-intro p { margin: 0; font: 400 18px/1.65 "Rubik", sans-serif; color: #423b38; }
.guide-intro .guide-eyebrow { margin-bottom: 12px; color: #7e0606; font: 700 17px/1.35 "Amaranth", sans-serif; letter-spacing: .05em; }
.guide-heading { margin: 0 0 18px; color: #b63735; font: 700 40px/1.18 "Amaranth", sans-serif; text-wrap: balance; }
.who-we-help-section { position: relative; overflow: hidden; padding: 90px 0; background: linear-gradient(135deg, #fffaf0, #fff6f3 64%, #fff); }
.who-we-help-section::before { content: ""; position: absolute; width: 330px; height: 330px; top: -205px; right: -75px; border: 42px solid rgba(182,55,53,.045); border-radius: 50%; pointer-events: none; }
.who-we-help-layout { display: grid; grid-template-columns: minmax(0,.84fr) minmax(0,1.16fr); align-items: stretch; gap: 30px; }
.who-we-help-photo { min-width: 0; min-height: 630px; margin: 0; overflow: hidden; border-radius: 100px 28px 28px 28px; background: #f6e8dd; box-shadow: 0 14px 38px rgba(82,35,29,.09); }
.who-we-help-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 48% center; }
.child-needs-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.child-need-card { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 30px 28px 27px; border: 1px solid #eeddd6; border-radius: 52px 20px 20px 20px; background: #fff; box-shadow: 0 9px 28px rgba(82,35,29,.055); }
.child-need-card:nth-child(even) { border-radius: 20px 52px 20px 20px; }
.child-need-number { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 20px; border-radius: 50% 46% 44% 50%; background: #fff1e2; color: #b63735; font: 700 16px/1 "Amaranth", sans-serif; }
.child-need-card h3 { margin: 0 0 12px; color: #b63735; font: 700 24px/1.25 "Amaranth", sans-serif; text-wrap: balance; }
.child-need-card p { margin: 0 0 22px; color: #554b47; font: 400 15px/1.65 "Rubik", sans-serif; }
.need-link { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: auto; color: #7e0606; font: 700 15px/1.45 "Amaranth", sans-serif; text-decoration: none; }
.need-link > span:last-child { flex: 0 0 auto; font-size: 21px; transition: transform .2s; }
.need-link:hover { color: #b63735; }
.need-link:hover > span:last-child { transform: translateX(4px); }
.need-link:focus-visible { outline: 2px solid #7e0606; outline-offset: 5px; }
.programme-comparison-section { padding: 90px 0; background: linear-gradient(180deg, #fffaf2, #fff); color: #171717; }
.programme-table-scroll { width: 100%; overflow-x: auto; border: 1px solid #ead9d2; border-radius: 28px; background: #fff; box-shadow: 0 12px 34px rgba(82,35,29,.07); scrollbar-width: thin; scrollbar-color: #c89589 #f7e8e2; }
.programme-table-scroll:focus-visible { outline: 3px solid #b63735; outline-offset: 4px; }
.programme-table-scroll.site-table-scroll > .programme-comparison-table[data-wide-table] { width: 100%; min-width: 960px; margin: 0; border: 0; border-collapse: separate; border-spacing: 0; color: #3f3734; font: 400 15px/1.58 "Rubik", sans-serif; }
.programme-comparison-table .programme-name-col { width: 19%; }
.programme-comparison-table .programme-fit-col { width: 25%; }
.programme-comparison-table .programme-focus-col { width: 29%; }
.programme-comparison-table .programme-schedule-col { width: 16%; }
.programme-comparison-table .programme-action-col { width: 11%; }
.programme-comparison-table :is(th,td) { padding: 24px 20px; border: 0; border-right: 1px solid #f0e1dc; border-bottom: 1px solid #f0e1dc; text-align: left; vertical-align: top; }
.programme-comparison-table :is(th,td):last-child { border-right: 0; }
.programme-comparison-table tbody tr:last-child :is(th,td) { border-bottom: 0; }
.programme-comparison-table thead th { color: #fff; background: #7e0606; font: 700 16px/1.4 "Amaranth", sans-serif; }
.programme-comparison-table tbody th { color: #8d2524; background: #fff5e8; font: 700 17px/1.4 "Amaranth", sans-serif; }
.programme-comparison-table tbody tr:nth-child(even) td { background: #fffcfa; }
.programme-table-link { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 15px; border: 1px solid #b63735; border-radius: 24px; color: #7e0606; font: 700 14px/1.35 "Amaranth", sans-serif; text-align: center; text-decoration: none; }
.programme-table-link:hover { color: #fff; background: #b63735; }
.programme-table-link:focus-visible { outline: 2px solid #7e0606; outline-offset: 3px; }
.programme-comparison-note { margin: 30px 0 14px; color: #544943; font: 400 16px/1.6 "Rubik", sans-serif; text-align: center; }
.programme-comparison-action { text-align: center; }
.guide-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 13px 25px; border-radius: 28px; color: #fff; background: #b63735; font: 700 17px/1.3 "Amaranth", sans-serif; text-decoration: none; box-shadow: 0 8px 0 rgba(0,0,0,.04); transition: background-color .2s, transform .2s; }
.guide-button:hover { color: #fff; background: #7e0606; transform: translateY(-2px); }
.guide-button:focus-visible { outline: 2px solid #7e0606; outline-offset: 5px; }
.table-scroll-hint { display: none; }
.who-we-help-section + .elementor-section.elementor-element-333cf0d9 { margin-top: 30px; }
@media (min-width: 1025px) {
  /* Keep the following section's original curved overlap clear of the new cards. */
  .who-we-help-section + .elementor-section.elementor-element-333cf0d9 { margin-top: 20px; }
}
@media (min-width: 1025px) and (max-width: 1100px) {
  /* An original decorative image extends beyond the narrow desktop viewport. */
  .elementor-135 .elementor-element.elementor-element-6cb4ae5c { overflow: hidden; }
  /* Keep the last original programme card inside Windows-style scrollbars at this breakpoint. */
  .elementor-135 .elementor-element.elementor-element-1a30c0dd > .elementor-element-populated { max-width: calc(100% - 7px); margin-left: 7px !important; }
}
@media (max-width: 1024px) {
  .who-we-help-section, .programme-comparison-section { padding-block: 70px; }
  .guide-heading { font-size: 35px; }
  .who-we-help-layout { grid-template-columns: minmax(0,1fr); }
  .who-we-help-photo { min-height: 0; height: 390px; border-radius: 70px 24px 24px 24px; }
  .who-we-help-photo img { object-position: center 43%; }
}
@media (max-width: 900px) {
  .table-scroll-hint { display: block; margin: -18px 0 14px; color: #6a5a55; font: 400 13px/1.5 "Rubik", sans-serif; text-align: center; }
}
@media (max-width: 767px) {
  .guide-container { width: calc(100% - 36px); }
  .who-we-help-section, .programme-comparison-section { padding-block: 54px; }
  .guide-intro { margin-bottom: 32px; }
  .guide-heading { font-size: 30px; }
  .guide-intro p { font-size: 16px; }
  .guide-intro .guide-eyebrow { font-size: 15px; }
  .who-we-help-photo { height: 275px; border-radius: 52px 18px 18px 18px; }
  .child-needs-grid { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .child-need-card, .child-need-card:nth-child(even) { padding: 25px 23px; border-radius: 38px 18px 18px 18px; }
  .child-need-card h3 { font-size: 22px; }
  .table-scroll-hint { display: block; margin: -13px 0 13px; color: #6a5a55; font: 400 13px/1.5 "Rubik", sans-serif; text-align: center; }
  .programme-table-scroll.site-table-scroll > .programme-comparison-table[data-wide-table] { min-width: 880px; font-size: 14px; }
  .programme-comparison-table :is(th,td) { padding: 20px 16px; }
  .programme-table-scroll { border-radius: 20px; }
}
@media (max-width: 340px) {
  /* Preserve the original 250px artwork while avoiding a scrollbar beside a classic 15px browser scrollbar. */
  .elementor-135 .elementor-element.elementor-element-7c05093b .elementor-widget-image img { max-width: calc(100% + 60px); }
}
