/* Scoped inner-page refinements. Original copy, palette, imagery, and motion remain in page styles. */
body.eacc-design[data-page-group]:not([data-page-group=""]) {
  --refine-gap: 24px;
  --refine-read: 72ch;
}
body.eacc-design[data-page-group]:not([data-page-group=""]) .page-source > section:not(:is(.hero,.page-hero,.course-hero,.mind-hero,.summer-hero,.contact-hero,.legal-hero,.testing-hero,.psych-hero,.placement-hero)) {
  padding-block: clamp(56px, 5vw, 88px) !important;
}
body.eacc-design[data-page-group]:not([data-page-group=""]) :is(.section-head,.section-title) {
  max-width: 880px;
  margin-inline: auto;
  margin-bottom: 36px !important;
}
body.eacc-design[data-page-group]:not([data-page-group=""]) :is(.section-head,.section-title) > p {
  max-width: var(--refine-read);
  margin-inline: auto;
  text-wrap: pretty;
}
body.eacc-design[data-page-group]:not([data-page-group=""]) .page-content :is(.hero-actions,.actions,.btns,.cta-buttons) {
  gap: 14px !important;
  flex-wrap: wrap;
}
body.eacc-design[data-page-group]:not([data-page-group=""]) .page-content :is(.hero-grid,.split,.split-section,.two-column) > * { min-width: 0; }

/* 1. Language Academy and the English hub. */
body[data-page-group="language-hub"] .page-source > section > .container > .grid,
body[data-page-group="english-hub"] .path-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  max-width: 1120px;
  margin-inline: auto;
  align-items: stretch;
}
body[data-page-group="language-hub"] .grid > .card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: 28px !important;
}
body[data-page-group="language-hub"] .grid > .card > h3 { min-height: 2.6em; }
body[data-page-group="language-hub"] .grid > .card > p { flex: 1 0 auto; margin-bottom: 22px; }
body[data-page-group="language-hub"] .grid > .card > div:has(> a.btn) { margin-top: auto !important; }
body[data-page-group="language-hub"] .grid > .card .btn { min-height: 48px; }
body[data-page-group="english-hub"] .path-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
}
body[data-page-group="english-hub"] .path-card > img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}
body[data-page-group="english-hub"] .path-content { flex: 0 0 auto; margin-top: auto; padding: 28px !important; }
body[data-page-group="english-hub"] .path-content > p { margin-bottom: 0; }

/* 2. Individual language courses: image/text balance and comparable options. */
body[data-page-group="language-detail"] :is(.split-section,.intro-grid) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(28px, 4vw, 48px) !important;
  align-items: center;
}
body[data-page-group="language-detail"] :is(.split-section,.intro-grid) > * { min-width: 0; }
body[data-page-group="language-detail"] :is(.content-panel,.panel) > p { max-width: var(--refine-read); }
body[data-page-group="language-detail"] .media-card > img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
body[data-page-group="language-detail"] .photo-stack > img { width: 100%; object-fit: cover; }
body[data-page-group="language-detail"] :is(.feature-grid,.course-grid,.journey-grid,.path-grid,.camp-grid,.card-grid) {
  gap: 24px !important;
  align-items: stretch;
}
body[data-page-group="language-detail"] :is(.course-grid,.journey-grid,.camp-grid) > * { height: 100%; min-width: 0; }
body[data-page-group="language-detail"] .course-grid > .course-card > h3 { min-height: 2.6em; }
body[data-page-group="language-detail"] .path-card > img { height: 100% !important; width: 100%; object-fit: cover; }
body[data-page-group="language-detail"] .path-content { padding: 24px !important; }
body[data-page-group="language-detail"] .course-list { line-height: 1.8; }
body[data-page-group="language-detail"] .course-list > li + li { margin-top: 8px; }
body[data-page-group="language-detail"] .cta-box { max-width: 1120px; margin-inline: auto; }

/* 3. Preparation, official testing, and assessment paths. */
body:is([data-page-group="exam-prep"],[data-page-group="testing"]) :is(.option-grid,.details-grid,.why-grid,.services-grid,.placement-info-grid) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch;
}
body[data-page-group="exam-prep"] .why-grid:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
body:is([data-page-group="exam-prep"],[data-page-group="testing"]) :is(.option-card,.info-card,.why-card,.service-card,.placement-card) {
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 28px !important;
}
body:is([data-page-group="exam-prep"],[data-page-group="testing"]) :is(.option-card,.info-card,.why-card,.service-card) > h3 { min-height: 2.6em; }
body[data-page-group="testing"] .service-card > p { flex: 1 0 auto; }
body[data-page-group="testing"] .service-card > .card-action { margin-top: auto; padding-top: 16px; }
body[data-page-group="exam-prep"] .bottom-strip .container { max-width: 1120px; }
body[data-page-group="exam-prep"] :is(.split,.hero-grid) { gap: 40px !important; }
/* Keep list text in the original light palette of dark course sections. */
body.eacc-design[data-page-group="exam-prep"] main .dark-band li { color: inherit; }
body[data-page-group="testing"] .placement-shell { max-width: 980px; margin-inline: auto; }
body[data-page-group="testing"] .hero-card-list { line-height: 1.8; }

/* 4a. MindSpace retains its specialist presentation and all existing sections. */
body[data-page-group="wellbeing"] :is(.mindspace-purpose-grid,.mindspace-service-grid,.mindspace-assessment-grid,.mindspace-principle-grid,.mindspace-process-grid,.mindspace-why-grid) {
  gap: 24px !important;
  align-items: stretch;
}
body[data-page-group="wellbeing"] .mindspace-purpose-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
body[data-page-group="wellbeing"] :is(.mindspace-service-grid,.mindspace-principle-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
body[data-page-group="wellbeing"] :is(.mindspace-assessment-grid,.mindspace-why-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
body[data-page-group="wellbeing"] :is(.mindspace-purpose-card,.mindspace-service-card,.mindspace-assessment-card,.mindspace-family-card,.mindspace-principle,.mindspace-process-step) { min-width: 0; height: 100%; }
body[data-page-group="wellbeing"] :is(.mindspace-story,.mindspace-closing) { max-width: 960px; }
body[data-page-group="wellbeing"] :is(.mindspace-story,.mindspace-purpose-card) p { max-width: var(--refine-read); }
body[data-page-group="wellbeing"] .mindspace-form-shell { max-width: 1040px; margin-inline: auto; }
body[data-page-group="wellbeing"] .mindspace-inline-form .form-row { gap: 22px !important; align-items: start; }
body[data-page-group="wellbeing"] .mindspace-inline-form label { display: block; margin-bottom: 8px; }

/* 4b. Robotics: readable curriculum and evenly spaced stage cards. */
body[data-page-group="robotics"] .page-source > section:not(.hero) > .container { max-width: 1080px; }
body[data-page-group="robotics"] .grid { gap: 24px !important; align-items: stretch; }
body[data-page-group="robotics"] .card { padding: clamp(24px, 3vw, 36px) !important; height: 100%; }
body[data-page-group="robotics"] .card > :is(p,ul) { max-width: 78ch; line-height: 1.85; }
body[data-page-group="robotics"] .card li + li { margin-top: 8px; }

/* 4c. Camp keeps its distinctive artwork, colors, and activity styling. */
body[data-page-group="camp"] :is(.pillars-grid,.journey-grid,.summer-options-grid,.activity-grid,.parents-grid,.partners-grid) { gap: 24px !important; align-items: stretch; }
body[data-page-group="camp"] :is(.pillars-grid,.activity-grid) { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
body[data-page-group="camp"] :is(.journey-grid,.parents-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
body[data-page-group="camp"] .summer-options-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; max-width: 1040px; margin-inline: auto; }
body[data-page-group="camp"] :is(.pillar-card,.journey-card,.parents-card,.summer-option-card) { height: 100%; min-width: 0; }
body[data-page-group="camp"] .summer-option-card { display: flex; flex-direction: column; }
body[data-page-group="camp"] .summer-option-card > a { margin-top: auto; }
body[data-page-group="camp"] .summer-enroll-panel { gap: 0; align-items: stretch; max-width: 1120px; margin-inline: auto; }
body[data-page-group="camp"] .summer-enroll-form-card { padding: clamp(24px, 3vw, 40px) !important; min-width: 0; }
body[data-page-group="camp"] #summerCampForm { gap: 20px !important; }
body[data-page-group="camp"] #summerCampForm label { margin-bottom: 8px; display: block; }
body[data-page-group="camp"] .summer-enroll-visual img { width: 100%; height: 100%; object-fit: cover; }

/* 5a. Contact: form/map balance, wrapping details, and consistent field spacing. */
body[data-page-group="contact"] :is(.contact-layout,.contact-highlights) { gap: 28px !important; align-items: start; }
body[data-page-group="contact"] .contact-layout { grid-template-columns: 1fr 1fr !important; }
body[data-page-group="contact"] :is(.contact-panel,.map-panel,.contact-card) { min-width: 0; }
body[data-page-group="contact"] .contact-panel { padding: clamp(24px, 3vw, 36px) !important; }
body[data-page-group="contact"] .contact-form :is(.form-row,.input-group) { gap: 20px !important; }
body[data-page-group="contact"] .contact-form label { display: block; margin-bottom: 8px; line-height: 1.6; }
body[data-page-group="contact"] .contact-card a { overflow-wrap: anywhere; }
body[data-page-group="contact"] .map-panel iframe { width: 100%; min-height: 380px; }
body[data-page-group="contact"] .eacc-pro-form-card { max-width: 860px; margin-inline: auto; }
body[data-page-group="contact"] #consultationForm { gap: 22px !important; }

/* 5b. About: balanced media, aligned roles and responsibilities, readable profiles. */
body[data-page-group="about"] :is(.about-grid,.mission-grid,.two-column,.profile-top) { gap: 40px !important; align-items: start; }
body[data-page-group="about"] :is(.expertise-grid,.responsibility-grid,.cards-grid,.partners-grid) { gap: 24px !important; align-items: stretch; }
body[data-page-group="about"] :is(.expertise-card,.mini-card,.partner-card,.responsibility-card) { height: 100%; min-width: 0; }
body[data-page-group="about"] .about-image > img { width: 100%; max-height: 520px; object-fit: cover; }
body[data-page-group="about"] :is(.about-content,.mission-content,.profile-copy) > p { max-width: var(--refine-read); line-height: 1.85; }
body[data-page-group="about"] .profile-top { grid-template-columns: minmax(220px, .8fr) minmax(0, 1.7fr) !important; }
body[data-page-group="about"] .profile-copy { min-width: 0; }
body[data-page-group="about"] .executive-facts { flex-wrap: wrap; gap: 10px !important; }
body[data-page-group="about"] .partners-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; max-width: 1040px; margin-inline: auto; }
body[data-page-group="about"] .partner-card img { max-width: 100%; object-fit: contain; }

/* 5c. Policies: comfortable reading lengths and clear form/policy columns. */
/* Retain the original light hero text over the existing dark background. */
body.eacc-design[data-page-group="policy"] main .legal-hero p { color: rgba(255,255,255,.86); }
body[data-page-group="policy"] .page-source > .section > .container:not(.grid) { max-width: 980px; }
body[data-page-group="policy"] .container.grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; max-width: 1120px; gap: 32px !important; align-items: start; }
body[data-page-group="policy"] .card { padding: clamp(24px, 3vw, 36px) !important; }
body[data-page-group="policy"] .card :is(p,li) { max-width: 78ch; line-height: 1.85; text-align: start; }
body[data-page-group="policy"] .card li + li { margin-top: 10px; }
body[data-page-group="policy"] .toc { display: flex; flex-wrap: wrap; gap: 12px; }
body[data-page-group="policy"] .toc a { max-width: 100%; white-space: normal; }
body[data-page-group="policy"] #refundForm label { display: block; margin-block: 18px 8px; line-height: 1.6; }
body[data-page-group="policy"] #refundForm button[type="submit"] { margin-top: 24px; min-height: 50px; }

@media (max-width: 1100px) {
  body[data-page-group="language-hub"] .page-source > section > .container > .grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body[data-page-group="camp"] :is(.pillars-grid,.journey-grid,.activity-grid,.parents-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 800px) {
  body.eacc-design[data-page-group]:not([data-page-group=""]) .page-source > section:not(:is(.hero,.page-hero,.course-hero,.mind-hero,.summer-hero,.contact-hero,.legal-hero,.testing-hero,.psych-hero,.placement-hero)) { padding-block: 48px !important; }
  body[data-page-group="language-detail"] :is(.split-section,.intro-grid),
  body[data-page-group="contact"] .contact-layout,
  body[data-page-group="about"] :is(.about-grid,.mission-grid,.two-column,.profile-top),
  body[data-page-group="policy"] .container.grid { grid-template-columns: 1fr !important; gap: 28px !important; }
  body[data-page-group="wellbeing"] :is(.mindspace-purpose-grid,.mindspace-service-grid,.mindspace-principle-grid) { grid-template-columns: 1fr !important; }
  body[data-page-group="camp"] .summer-enroll-panel { grid-template-columns: 1fr !important; }
  body[data-page-group="camp"] .summer-enroll-visual { min-height: 0 !important; }
  body[data-page-group="camp"] .summer-enroll-visual img { height: auto !important; max-height: 360px; object-fit: contain; }
}
@media (max-width: 600px) {
  body[data-page-group="language-hub"] .page-source > section > .container > .grid,
  body[data-page-group="english-hub"] .path-grid,
  body:is([data-page-group="exam-prep"],[data-page-group="testing"]) :is(.option-grid,.details-grid,.why-grid,.services-grid,.placement-info-grid),
  body[data-page-group="wellbeing"] :is(.mindspace-assessment-grid,.mindspace-process-grid,.mindspace-why-grid),
  body[data-page-group="camp"] :is(.pillars-grid,.journey-grid,.summer-options-grid,.activity-grid,.parents-grid),
  body[data-page-group="about"] .partners-grid { grid-template-columns: 1fr !important; }
  body[data-page-group="exam-prep"] .why-grid:has(> :nth-child(4):last-child) { grid-template-columns: 1fr !important; }
  body[data-page-group="language-hub"] .grid > .card > h3,
  body:is([data-page-group="exam-prep"],[data-page-group="testing"]) :is(.option-card,.info-card,.why-card,.service-card) > h3,
  body[data-page-group="language-detail"] .course-grid > .course-card > h3 { min-height: 0; }
  body[data-page-group="contact"] :is(.contact-highlights,.form-row) { grid-template-columns: 1fr !important; }
  body[data-page-group="wellbeing"] .mindspace-inline-form .form-row { grid-template-columns: 1fr !important; }
  body.eacc-design[data-page-group]:not([data-page-group=""]) .page-content :is(.hero-actions,.actions,.btns,.cta-buttons) > .btn { max-width: 100%; }
}
