/* Reusable patterns from the supplied static design; contents stay in the document. */
.website-eyebrow{display:block;font-size:16px;font-weight:600;margin-bottom:20px;color:var(--area-accent,#a5141c)}
.website-layout--intro,.website-layout--split,.website-layout--editorial,.website-layout--columns,.website-layout--tiles,.website-layout--steps,.website-layout--logos,.website-layout--strip,.website-layout--grid{padding:clamp(64px,8vw,112px) 0;background:#fff!important}
.website-layout--intro{padding:clamp(40px,6vw,88px) 0 clamp(56px,7vw,96px);background:#fafaf8!important}
.website-layout--intro .website-block__inner:has(>.website-picture-public),.website-layout--split .website-block__inner:has(>.website-picture-public){grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:40px clamp(40px,6vw,96px);align-items:center}
.website-layout--intro .website-block__copy,.website-layout--split .website-block__copy{min-width:0;max-width:600px}
.website-layout--intro h1{font-size:clamp(40px,5.4vw,78px);line-height:.98;letter-spacing:-.035em;text-wrap:balance}
.website-layout--intro .website-prose{font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:#4d535b}
.website-layout--intro .website-picture-public img{height:auto;aspect-ratio:5/4;border-radius:24px}
.website-layout--split h2,.website-layout--columns h2,.website-layout--tiles h2,.website-layout--steps h2,.website-layout--logos h2{font-size:clamp(34px,4.4vw,60px);line-height:1;letter-spacing:-.035em}
.website-layout--split .website-picture-public img{height:auto;aspect-ratio:4/3;border-radius:24px}
.website-layout--split.website-block--functional .website-picture-public img{object-fit:contain}
.website-layout--intro .button,.website-layout--split .button{margin-top:8px;border-radius:999px}
.website-layout--editorial .website-block__copy{max-width:75ch}.website-layout--editorial .website-prose{font-size:20px;line-height:1.7}
.website-layout--accent{background:#fafaf8!important;padding:clamp(64px,8vw,112px) 0}
.website-layout--accent .website-block__inner{padding:0;max-width:1328px;width:calc(100% - 2 * clamp(16px,3vw,36px));gap:0;border-radius:28px;overflow:hidden;background:var(--area-accent,#a5141c);color:#fff;align-items:stretch}
.website-layout--accent .website-block__inner:has(>.website-picture-public){grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.website-layout--accent .website-block__copy{padding:clamp(28px,4.5vw,64px);min-width:0;display:flex;flex-direction:column;align-items:start;justify-content:center;gap:24px}
.website-layout--accent h2{font-size:clamp(44px,7vw,100px);line-height:.95;letter-spacing:-.04em;margin:0;overflow-wrap:anywhere}
.website-layout--accent .website-prose{font-size:18px;line-height:1.45;margin:0}.website-layout--accent .website-eyebrow{color:inherit;margin:0;opacity:.85}
.website-layout--accent .website-picture-public{display:flex;flex-direction:column;min-width:0}.website-layout--accent .website-picture-public img{flex:1;min-height:320px;height:100%;border-radius:0}.website-layout--accent figcaption{color:inherit;margin:0;padding:8px 16px;background:#16191d}
.website-layout--accent .button{background:#fff!important;color:#16191d;border-color:#fff;border-radius:999px}
.website-layout--columns .website-cards,.website-layout--logos .website-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:40px}
.website-layout--columns .website-cards article{border:0;border-top:2px solid #16191d;border-radius:0;padding:20px 0;background:transparent}
.website-layout--columns .website-cards h3{font-size:26px;margin:0}.website-layout--columns .website-cards .website-prose{font-size:17px;color:#4d535b}
.website-layout--tiles .website-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}
.website-layout--tiles .website-cards article{border:0;border-radius:18px;padding:22px;background:#f3f4f0}.website-layout--tiles .website-cards h3{font-size:22px;margin:0}.website-layout--tiles .website-cards .website-prose{font-size:16px;color:#5a6068}
.website-layout--steps .website-cards{display:block;counter-reset:steps;max-width:900px}.website-layout--steps .website-cards article{counter-increment:steps;border:0;border-top:1px solid #e6e6e1;border-radius:0;padding:20px 0 20px 60px;position:relative;background:transparent}
.website-layout--steps .website-cards article:before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:20px;color:var(--area-accent,#a5141c);font-size:24px;font-weight:600}
.website-layout--logos .website-cards article{border:0;background:transparent;padding:0}.website-layout--logos .website-cards img{height:140px;object-fit:contain;object-position:left}
.website-layout--grid .website-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));overflow:visible}.website-layout--grid .website-gallery figure{min-width:0}.website-layout--grid .website-gallery img{height:auto;aspect-ratio:4/3}
.website-layout--strip .website-gallery{gap:24px}.website-layout--strip .website-gallery img{height:auto;aspect-ratio:4/3;border-radius:24px}
@media(max-width:900px){.website-layout--intro.website-block--image-left .website-block__copy,.website-layout--split.website-block--image-left .website-block__copy,.website-layout--accent.website-block--image-left .website-block__copy{grid-column:auto}.website-layout--intro.website-block--image-left .website-picture-public,.website-layout--split.website-block--image-left .website-picture-public,.website-layout--accent.website-block--image-left .website-picture-public{grid-column:auto;grid-row:auto}}

.website-layout--intro .website-eyebrow:before{content:"";display:inline-block;width:10px;height:10px;margin-right:10px;border-radius:50%;background:var(--area-accent,#a5141c)}

.website-layout--intro .website-block__inner:not(:has(>.website-picture-public))>.website-block__copy,.website-layout--split .website-block__inner:not(:has(>.website-picture-public))>.website-block__copy,.website-layout--accent .website-block__inner:not(:has(>.website-picture-public))>.website-block__copy{grid-column:1;max-width:100%}

.school-quality-badge{display:inline-flex;width:fit-content;max-width:100%;padding:12px 18px;margin-bottom:20px;border-radius:12px;background:#18202b}
.school-quality-badge img{display:block;width:120px;max-width:100%;height:auto;object-fit:contain}
