/* Shared customer-approved reading scale. Scoped to selected public pages only. */
.managed-page-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.managed-page-hero figure{margin:0;min-width:0;overflow:hidden;border-radius:16px;background:#f1f5f3}
.managed-page-hero img{display:block;width:100%;height:180px}
.managed-page-hero figure:only-child{grid-column:1/-1}
.managed-page-hero figure:only-child img{height:360px}
@media(min-width:768px){.managed-page-hero:has(figure:nth-child(3)){grid-template-columns:minmax(0,1.55fr) minmax(0,.85fr)}.managed-page-hero:has(figure:nth-child(3)) figure:first-child{grid-row:span 2}.managed-page-hero:has(figure:nth-child(3)) figure:first-child img{height:372px}}
@media(max-width:767px){.managed-page-hero{grid-template-columns:minmax(0,1fr)}.managed-page-hero img,.managed-page-hero figure:only-child img{height:240px}}
.cms-customer-page { background:#fff; font-size:14px; line-height:1.9; }
.cms-customer-page h1 { font-size:60px; line-height:1.25; }
.cms-customer-page h2 { font-size:24px; line-height:1.5; }
.cms-customer-page h3 { font-size:20px; line-height:1.5; }
.cms-customer-page p,.cms-customer-page li { line-height:1.9; }
.cms-customer-page > section > .mx-auto { width:100%; max-width:1740px; }
.cms-customer-page > section:first-child > .mx-auto { padding-top:28px; padding-bottom:28px; }
.cms-customer-page > section:first-child > .mx-auto > div:first-child { min-width:0; }
.cms-customer-page > section:first-child > .mx-auto > div:first-child > p:first-of-type { font-size:20px; line-height:1.8; }
.cms-customer-page > section:first-child > .mx-auto > div:first-child > p:nth-of-type(2) { font-size:16px; line-height:1.9; }
.cms-customer-page article { min-width:0; }
.cms-customer-page :is(h2,h3) { overflow-wrap:anywhere; }
.cms-customer-page svg { flex-shrink:0; }
/* Default school photos only; administrator-managed images retain their shared layout. */
.cms-page-internship .internship-default-hero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0;align-items:center}
.cms-page-internship .internship-default-hero figure{margin:0;min-width:0;overflow:hidden;border-radius:6px}
.cms-page-internship .internship-default-hero img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
@media(max-width:767px){.cms-page-internship .internship-default-hero{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-page-internship .internship-default-hero figure:last-child{grid-column:1/-1}.cms-page-internship .internship-default-hero figure:last-child img{max-height:220px}}
/* Certification defaults follow the same complete-photo layout, scoped to this page. */
.cms-page-certification .certification-default-hero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0;align-items:center}
.cms-page-certification .certification-default-hero figure{margin:0;min-width:0;overflow:hidden;border-radius:6px}
.cms-page-certification .certification-default-hero img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
@media(max-width:767px){.cms-page-certification .certification-default-hero{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-page-certification .certification-default-hero figure:last-child{grid-column:1/-1}.cms-page-certification .certification-default-hero figure:last-child img{max-height:220px}}
/* Size workflow steps by their panel width; the desktop panel shares a row with two others. */
.cms-page-internship #workflow > .mx-auto > .grid > article:first-child > .grid {
 grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));
}
/* Competition default photos; preserve complete group photo on small screens. */
.cms-page-competition .competition-default-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;align-items:center}
.cms-page-competition .competition-default-hero figure{margin:0;min-width:0;overflow:hidden;border-radius:6px}
.cms-page-competition .competition-default-hero img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
@media(max-width:767px){.cms-page-competition .competition-default-hero{grid-template-columns:minmax(0,1fr)}}
/* Cooperation defaults preserve complete school visit photos. */
.cms-page-cooperation .cooperation-default-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;align-items:center}
.cms-page-cooperation .cooperation-default-hero figure{margin:0;min-width:0;overflow:hidden;border-radius:6px}
.cms-page-cooperation .cooperation-default-hero img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
@media(max-width:767px){.cms-page-cooperation .cooperation-default-hero{grid-template-columns:minmax(0,1fr)}}
/* Career defaults keep the visit group photo full width on mobile. */
.cms-page-career .career-default-hero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0;align-items:center}
.cms-page-career .career-default-hero figure{margin:0;min-width:0;overflow:hidden;border-radius:6px}
.cms-page-career .career-default-hero img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
@media(max-width:767px){.cms-page-career .career-default-hero{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-page-career .career-default-hero figure:first-child{grid-column:1/-1}}
/* Downloads retain managed helper text beside the default school photos. */
.cms-page-downloads .downloads-default-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;align-items:center}
.cms-page-downloads .downloads-default-hero figure{margin:0;min-width:0;overflow:hidden;border-radius:6px}
.cms-page-downloads .downloads-default-hero img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.cms-page-downloads .downloads-hero-copy{grid-column:1/-1}
@media(max-width:767px){.cms-page-downloads .downloads-default-hero{grid-template-columns:minmax(0,1fr)}}
/* Regulations retain managed helper text around complete workshop photos. */
.cms-page-regulations .regulations-default-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;align-items:center}
.cms-page-regulations .regulations-default-hero figure{margin:0;min-width:0;overflow:hidden;border-radius:6px}
.cms-page-regulations .regulations-default-hero img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.cms-page-regulations .regulations-hero-copy{grid-column:1/-1}
@media(max-width:767px){.cms-page-regulations .regulations-default-hero{grid-template-columns:minmax(0,1fr)}}
/* Place the existing regulation contact beside the three information panels. */
.cms-page-regulations #regulations-updates > .mx-auto{grid-template-columns:minmax(0,1fr)}
.cms-page-regulations #regulations-updates > .mx-auto > article{min-width:0}
@media(min-width:768px){.cms-page-regulations #regulations-updates > .mx-auto{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1280px){.cms-page-regulations #regulations-updates > .mx-auto{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* Four sibling cards, not two narrow cards nested inside one column. */
.cms-page-competition #competition-content > .grid > div.grid { display:contents; }
.cms-page-competition #competition-content > .grid { grid-template-columns:minmax(0,1fr); align-items:start; }
.cms-page-competition #competition-content article { height:auto; }
.cms-page-honors .honor-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:12px;align-items:stretch}
.cms-page-honors .honor-hero-side{display:grid;gap:12px;min-width:0}
.cms-page-honors .honor-media-tile{display:block;min-width:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:12px;background:#fff}
.cms-page-honors .honor-media-tile img{display:block;width:100%;height:180px;background:#f8fafc;object-fit:contain}
.cms-page-honors .honor-hero-main img{height:364px}
.cms-page-honors .honor-hero-side img{height:158px}
.cms-page-honors .honor-media-caption{display:flex;flex-direction:column;gap:5px;padding:10px 14px;color:#064e3b;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.cms-page-honors .honor-media-caption strong{font-weight:700}
.cms-page-honors .honor-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.cms-page-honors .honor-photo-grid img{height:280px}
.cms-page-honors .honor-result-image img{transform:none!important}
.cms-page-honors .honor-results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px}
.cms-page-honors .honor-results-grid img{height:300px}
.cms-page-honors .honor-result-image>span:last-child{position:static;display:inline-block;margin:10px 16px}
@media(max-width:767px){
 .cms-page-honors .honor-hero-grid,.cms-page-honors .honor-photo-grid{grid-template-columns:minmax(0,1fr)}
 .cms-page-honors .honor-hero-main img,.cms-page-honors .honor-photo-grid img{height:260px}
 .cms-page-honors .honor-hero-side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
 .cms-page-honors .honor-hero-side img{height:200px}
}
@media(min-width:768px) {
 .cms-page-competition #competition-content > .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:1500px) {
 .cms-page-competition #competition-content > .grid { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr); }
}
@media(max-width:767px) {
 .cms-customer-page h1 { font-size:44px; }
 .cms-customer-page > section > .mx-auto { padding-left:16px; padding-right:16px; }
 .cms-customer-page > section:first-child > .mx-auto { padding-top:22px; padding-bottom:22px; }
}

/* Downloads: full-width document list, followed by the existing help panels. */
.cms-page-downloads #download-list > .mx-auto { grid-template-columns:minmax(0,1fr); }
.cms-page-downloads #download-notes .download-notes-grid { grid-template-columns:minmax(0,1fr); align-items:start; }
.cms-page-downloads #download-notes article { min-width:0; }
@media(min-width:1024px) {
 .cms-page-downloads #download-notes .download-notes-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

.cms-page-internship .service-card-photo { margin:16px 0 0; }
.cms-page-internship .service-card-photo img { display:block;width:100%;height:180px;object-fit:contain;background:#f8fafc;border-radius:12px; }

.cms-page-competition .competition-card-photo { margin:16px 0; }
.cms-page-competition .competition-card-photo img { display:block;width:100%;height:220px;object-fit:contain;background:#f8fafc;border-radius:12px; }
