/* AleVi School — isolated programme-page layout, stage 8 */
.schoolServicePage { padding-top: 28px; }
.schoolServicePage .schoolBreadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:7px; max-width:100%; min-width:0; margin:0 0 22px; padding:0 0 14px; border-bottom:1px solid #eee8f3; overflow:visible; white-space:normal; line-height:1.5; }
.schoolServicePage .schoolBreadcrumbs a,.schoolServicePage .schoolBreadcrumbs .schoolBreadcrumbCurrent {font-size:13px; line-height:1.5; min-width:0; overflow-wrap:anywhere; }
.schoolServicePage .schoolBreadcrumbs > span:not(.schoolBreadcrumbCurrent) {margin:0 1px;}
.schoolServicePage .schoolBreadcrumbCurrent {color:#727078;}
.schoolServicePage .pageTitle {margin:0 0 22px;}
.schoolServicePage .pageTitle h1 {font-size:clamp(27px,3vw,42px); line-height:1.2; margin:0;}
.schoolServicePage .schoolServiceHero {display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,.9fr); align-items:start; gap:clamp(20px,4vw,56px); margin:0 0 42px;}
.schoolServicePage .schoolServiceCopy,.schoolServicePage .schoolServiceMedia {width:auto; min-width:0; max-width:100%;}
.schoolServicePage .schoolServiceCopy {font-size:16px; line-height:1.75; overflow-wrap:anywhere;}
.schoolServicePage .schoolServiceCopy * {max-width:100%;}
.schoolServicePage .schoolServiceCopy p,.schoolServicePage .schoolServiceCopy li {text-align:left !important; word-spacing:normal !important; line-height:1.75;}
.schoolServicePage .schoolServiceCopy img {height:auto; max-width:100%;}
.schoolServicePage .schoolServiceMedia > img {display:block; width:100%; max-width:100%; height:auto; max-height:475px; object-fit:contain; border:1px solid #f2edf5; border-radius:16px; background:#fff;}
.schoolServicePage .serviceContent {padding:18px 20px; margin-top:24px; border-radius:14px; background:#f8f4fb;}
.schoolServicePage .servicePrice {font-size:20px;}
.schoolProgramSection {margin:0 0 38px;}
.schoolSectionHeading {max-width:760px; margin-bottom:20px;}
.schoolSectionEyebrow {display:inline-block;color:#9764b4;font-weight:700;font-size:12px;letter-spacing:.045em;text-transform:uppercase;margin-bottom:8px;}
.schoolSectionHeading h2 {font-size:clamp(23px,2.3vw,32px);line-height:1.25;margin:0 0 10px;color:#222;}
.schoolSectionHeading p {margin:0;color:#717078;line-height:1.65;}
.schoolDetailsGrid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.schoolDetailCard {min-width:0;box-sizing:border-box;background:#faf8fc;border:1px solid #eee6f2;border-radius:16px;padding:22px;overflow-wrap:anywhere;}
.schoolDetailCard h2 {font-size:19px;line-height:1.35;margin:0 0 12px;color:#302638;}
.schoolDetailCard p {font-size:15px;line-height:1.65;color:#635d68;margin:0;text-align:left!important;word-spacing:normal!important;}
.schoolRelatedSection {margin:0 0 32px;}
.schoolRelatedSection .popularServiceContent {margin:0;padding:24px;border:1px solid #eee6f2;border-radius:16px;}
.schoolRelatedSection .popularServiceContent h2 {margin:0;font-size:23px;}
.schoolRelatedSection .serviceItemContainer {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;}
.schoolRelatedSection .serviceItem {min-width:0;gap:12px;}
.schoolRelatedSection .serviceItem p {min-width:0;overflow-wrap:anywhere;}
@media(max-width:980px) {.schoolServicePage .schoolServiceHero {grid-template-columns:minmax(0,1fr) minmax(210px,.7fr);gap:24px;}.schoolDetailsGrid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px) {.schoolServicePage {padding-top:20px;}.schoolServicePage .schoolServiceHero {display:flex; flex-direction:column;gap:20px;}.schoolServicePage .schoolServiceCopy,.schoolServicePage .schoolServiceMedia {width:100%;}.schoolServicePage .schoolServiceMedia {order:-1;}.schoolServicePage .schoolServiceMedia > img {max-height:320px;}.schoolDetailsGrid {grid-template-columns:minmax(0,1fr);gap:12px;}.schoolDetailCard {padding:18px;}.schoolRelatedSection .serviceItemContainer {grid-template-columns:minmax(0,1fr);}.schoolRelatedSection .popularServiceContent {padding:18px;}.schoolServicePage .pageTitle {margin-bottom:18px;}}


/* Stage 9: accreditation editorial layout; the full description must never inherit narrow columns */
.schoolServicePage .schoolAccredHero {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);align-items:center;gap:clamp(24px,4vw,54px);margin-bottom:34px;}
.schoolServicePage .schoolAccredIntro {max-width:670px;}
.schoolServicePage .schoolAccredIntro h2 {font-size:clamp(24px,2.5vw,34px);line-height:1.25;margin:0 0 14px;text-align:left;color:#292333;}
.schoolServicePage .schoolAccredIntro p {font-size:16px;line-height:1.8;margin:0;text-align:left!important;color:#665f6c;}
.schoolServicePage .schoolAccredHero .schoolServiceMedia {max-width:355px;justify-self:center;}
.schoolServicePage .schoolAccredHero .schoolServiceMedia > img {max-height:360px;}
.schoolServicePage .schoolAccredHero .serviceContent {max-width:420px;}
.schoolServicePage .schoolAccredDescription {display:block;clear:both;width:100%;max-width:100%;margin:0 0 44px;padding:28px clamp(18px,3vw,36px);box-sizing:border-box;background:#fff;border:1px solid #eee8f3;border-radius:18px;}
.schoolServicePage .schoolAccredDescriptionHeading h2 {font-size:clamp(22px,2.2vw,30px);line-height:1.3;margin:0 0 20px;color:#292333;}
.schoolServicePage .schoolAccredArticle {display:block!important;columns:auto!important;column-count:1!important;column-width:auto!important;width:100%!important;min-width:0!important;max-width:100%!important;float:none!important;clear:both;}
.schoolServicePage .schoolAccredArticle .accreditation-content {display:block!important;columns:auto!important;column-count:1!important;column-width:auto!important;width:100%!important;max-width:100%!important;min-width:0!important;float:none!important;text-align:left!important;}
.schoolServicePage .schoolAccredArticle .accreditation-content > * {display:block;float:none;clear:none;width:auto!important;max-width:100%!important;min-width:0!important;box-sizing:border-box;text-align:left!important;word-spacing:normal!important;letter-spacing:normal;}
.schoolServicePage .schoolAccredArticle .accreditation-content h2 {font-size:clamp(19px,2vw,24px);line-height:1.35;margin:26px 0 12px;color:#33283e;}
.schoolServicePage .schoolAccredArticle .accreditation-content h2:first-child {margin-top:0;}
.schoolServicePage .schoolAccredArticle .accreditation-content p,.schoolServicePage .schoolAccredArticle .accreditation-content li {font-size:16px;line-height:1.75;text-align:left!important;overflow-wrap:break-word;word-break:normal;hyphens:none;}
.schoolServicePage .schoolAccredArticle .accreditation-content p {margin:0 0 16px;}
.schoolServicePage .schoolAccredArticle .accreditation-content ul,.schoolServicePage .schoolAccredArticle .accreditation-content ol {display:block!important;width:auto!important;max-width:100%!important;padding:0 0 0 22px;margin:10px 0 20px;list-style-position:outside;}
.schoolServicePage .schoolAccredArticle .accreditation-content li {display:list-item!important;width:auto!important;margin:0 0 9px;padding:0;}
.schoolServicePage .schoolAccredDescription + .schoolProgramSection {margin-top:0;}
@media(max-width:700px){.schoolServicePage .schoolAccredHero {display:flex;flex-direction:column-reverse;align-items:stretch;gap:22px;margin-bottom:24px;}.schoolServicePage .schoolAccredHero .schoolServiceMedia {width:100%;max-width:100%;}.schoolServicePage .schoolAccredHero .schoolServiceMedia > img {max-height:250px;}.schoolServicePage .schoolAccredDescription {padding:20px 16px;margin-bottom:30px;}.schoolServicePage .schoolAccredArticle .accreditation-content p,.schoolServicePage .schoolAccredArticle .accreditation-content li {font-size:15px;}.schoolServicePage .schoolAccredIntro h2 {font-size:24px;}}

/* Stage 10 — self-contained related-directions cards; override legacy serviceItem layout */
.schoolServicePage .schoolRelatedSection {margin:0 0 54px;}
.schoolServicePage .schoolRelatedSection .popularServiceContent {padding:clamp(22px,3vw,36px);border:1px solid #eae0ef;border-radius:20px;background:#fff;}
.schoolServicePage .schoolRelatedHeading {display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;}
.schoolServicePage .schoolRelatedEyebrow {display:block;color:#a068c2;font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;}
.schoolServicePage .schoolRelatedHeading h2 {margin:0;font-size:clamp(23px,2.2vw,29px);line-height:1.2;color:#31273a;}
.schoolServicePage .schoolRelatedHeading > p {margin:0;max-width:320px;font-size:14px;line-height:1.5;color:#766c7d;text-align:right;}
.schoolServicePage .schoolRelatedGrid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.schoolServicePage .schoolRelatedCard {display:flex;align-items:center;justify-content:space-between;min-width:0;gap:20px;padding:18px 20px;border:1px solid #eee6f1;border-radius:14px;background:#fbf9fc;color:#382b40;text-decoration:none!important;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s;}
.schoolServicePage .schoolRelatedCard:hover {background:#f6effa;border-color:#caa6db;box-shadow:0 5px 16px rgba(73,43,86,.07);transform:translateY(-1px);}
.schoolServicePage .schoolRelatedCard:focus-visible {outline:3px solid #ad71cd;outline-offset:3px;}
.schoolServicePage .schoolRelatedCardTitle {display:block;min-width:0;flex:1;font-size:15px;font-weight:600;line-height:1.5;overflow-wrap:break-word;word-break:normal;color:#382b40;}
.schoolServicePage .schoolRelatedCardAction {display:inline-flex;flex:none;align-items:center;gap:9px;white-space:nowrap;font-size:13px;font-weight:700;color:#a15bc2;}
.schoolServicePage .schoolRelatedCardAction svg {flex:none;}
@media(max-width:860px) {.schoolServicePage .schoolRelatedHeading {align-items:start;flex-direction:column;gap:10px;}.schoolServicePage .schoolRelatedHeading > p {text-align:left;max-width:none;}.schoolServicePage .schoolRelatedGrid {grid-template-columns:1fr;}}
@media(max-width:480px) {.schoolServicePage .schoolRelatedSection .popularServiceContent {padding:18px 14px;}.schoolServicePage .schoolRelatedCard {padding:16px;gap:10px;}.schoolServicePage .schoolRelatedCardTitle {font-size:14px;}.schoolServicePage .schoolRelatedCardAction {font-size:12px;gap:5px;}}


/* Stage 12 — full-width programme description and stage-4 editorial content. */
.schoolServicePage .schoolEducationIntro h2{font-size:clamp(24px,2.6vw,34px);line-height:1.24;margin:0 0 14px;color:#292333;}
.schoolServicePage .schoolEducationIntro p{font-size:16px;line-height:1.75;margin:0;color:#635d68;text-align:left!important;}
.schoolServicePage .schoolEducationDescription{display:block;clear:both;width:100%;min-width:0;margin:0 0 24px;padding:clamp(20px,3vw,36px);box-sizing:border-box;border:1px solid #eee8f3;border-radius:18px;background:#fff;}
.schoolServicePage .schoolEducationSectionHeading h2{font-size:clamp(23px,2.5vw,32px);line-height:1.3;margin:0 0 22px;color:#30263a;}
.schoolServicePage .schoolEducationArticle,.schoolServicePage .schoolEducationArticle *{min-width:0;max-width:100%;box-sizing:border-box;column-count:auto!important;column-width:auto!important;float:none!important;word-spacing:normal!important;letter-spacing:normal!important;text-align:left!important;}
.schoolServicePage .schoolEducationArticle{display:block!important;width:100%!important;max-width:850px!important;columns:auto!important;line-height:1.75;}
.schoolServicePage .schoolEducationArticle h2,.schoolServicePage .schoolEducationArticle h3{display:block;font-size:clamp(20px,2vw,26px);line-height:1.35;margin:28px 0 12px;color:#30263a;}
.schoolServicePage .schoolEducationArticle h2:first-child,.schoolServicePage .schoolEducationArticle h3:first-child{margin-top:0;}
.schoolServicePage .schoolEducationArticle p,.schoolServicePage .schoolEducationArticle li{display:list-item;word-break:normal;overflow-wrap:break-word;hyphens:none;font-size:16px;line-height:1.75;}
.schoolServicePage .schoolEducationArticle p{display:block;margin:0 0 16px;}
.schoolServicePage .schoolEducationArticle ul,.schoolServicePage .schoolEducationArticle ol{display:block!important;width:auto!important;max-width:100%!important;margin:10px 0 20px;padding-left:24px;list-style-position:outside;}
.schoolServicePage .schoolEducationEditorial{display:block;clear:both;width:100%;min-width:0;margin:0 0 42px;padding:clamp(20px,3vw,36px);box-sizing:border-box;background:#faf7fc;border:1px solid #eee6f2;border-radius:18px;}
.schoolServicePage .schoolEducationEditorialContent,.schoolServicePage .schoolEducationEditorial .program-editorial{display:block!important;width:100%!important;max-width:850px!important;min-width:0!important;float:none!important;columns:auto!important;column-count:1!important;column-width:auto!important;}
.schoolServicePage .schoolEducationEditorial .program-editorial>*{display:block!important;float:none!important;width:auto!important;max-width:100%!important;min-width:0!important;word-spacing:normal!important;letter-spacing:normal!important;text-align:left!important;box-sizing:border-box;}
.schoolServicePage .schoolEducationEditorial h2{font-size:clamp(22px,2.4vw,30px);line-height:1.3;margin:0 0 16px;color:#30263a;}
.schoolServicePage .schoolEducationEditorial h3{font-size:clamp(18px,2vw,23px);line-height:1.4;margin:24px 0 12px;color:#30263a;}
.schoolServicePage .schoolEducationEditorial p,.schoolServicePage .schoolEducationEditorial li{font-size:16px;line-height:1.75;margin:0 0 14px;word-break:normal;overflow-wrap:break-word;hyphens:none;text-align:left!important;}
@media(max-width:700px){.schoolServicePage .schoolEducationDescription,.schoolServicePage .schoolEducationEditorial{padding:20px 16px;margin-bottom:26px;}.schoolServicePage .schoolEducationArticle p,.schoolServicePage .schoolEducationArticle li,.schoolServicePage .schoolEducationEditorial p{font-size:15px;}}
