/* Seven adjacent pages share the approved homepage's visual system. */
.school-detail .breadcrumb{font-size:12px;margin:14px 0 12px;min-height:18px;gap:11px}
.school-detail .detail.hero{display:block;height:39vw;min-height:440px;max-height:600px;padding-bottom:0;overflow:hidden;position:relative;isolation:isolate}
.school-detail .hero-copy{width:46%;padding:30px 0;justify-content:center;position:relative;z-index:2}
.school-detail .hero h1{font-size:clamp(43px,4.3vw,66px);line-height:1.055;letter-spacing:-.05em;margin-bottom:22px;text-wrap:balance}
.school-detail .hero .eyebrow{font-size:13px;margin-bottom:27px}
.school-detail .hero-copy>p:not(.eyebrow):not(.caption){font-size:clamp(17px,1.55vw,23px);max-width:590px;line-height:1.42}
.school-detail .detail figure{position:absolute;right:0;top:0;width:64%;height:100%;max-width:none;margin:0;z-index:-1}
.school-detail .detail .hero-art{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:65% 48%;aspect-ratio:auto;border-radius:0;mask-image:linear-gradient(90deg,transparent 16%,#000 40%);mix-blend-mode:multiply}
.school-detail .detail figcaption{position:absolute;top:14px;right:18px;max-width:250px;margin:0;font-family:Plex,Arial,sans-serif;font-size:10px;line-height:1.4;color:#384643;background:#fffdf3e8;padding:5px 8px;border-radius:3px}
.school-detail .section{padding-block:32px}
.school-detail .detail-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}
.school-detail .detail-step{display:grid;grid-template-columns:66px 1fr;gap:20px;position:relative}
.school-detail .detail-step:not(:last-child):after{content:'';position:absolute;right:-31px;top:32px;width:25px;height:22px;background:url('icons/arrow-right.svg') center/contain no-repeat}
.school-detail .detail-step .icon-disc{width:66px;height:66px}
.school-detail .detail-step .number{font-family:Plex,Arial,sans-serif;font-size:32px;font-weight:600;line-height:1.1;color:#005b61;margin:0 0 5px}
.school-detail .detail-step h3{font-size:20px;line-height:1.15;letter-spacing:-.035em;margin:0 0 10px}
.school-detail .detail-step p{font-size:14px;color:var(--muted);line-height:1.45;margin:0}
.school-detail .detail-work{display:grid;grid-template-columns:34% 1fr;gap:48px;align-items:start;padding-block:35px}
.school-detail .detail-work .eyebrow{font-size:12px;margin-bottom:16px;color:var(--muted)}
.school-detail .detail-work h2{margin-bottom:0}
.school-detail .features{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 28px;padding-top:4px}
.school-detail .features li{border:0;padding:0 0 0 25px;font-size:17px;line-height:1.4;color:var(--ink)}
.school-detail .features li:before{color:var(--accent);font-size:20px;line-height:1.2}
.school-detail .limits{width:100vw;margin-left:calc((100% - 100vw)/2);padding:28px max(5vw,calc((100vw - 1600px)/2));border-radius:0;border-inline:0;display:grid;grid-template-columns:34% 1fr;gap:48px;background:#edf8f2}
.school-detail .limits .eyebrow{font-size:11px;letter-spacing:.09em;margin:0 0 13px;color:var(--muted)}
.school-detail .limits h2{font-size:27px;line-height:1.18;margin:0}
.school-detail .limits ul{margin:0;padding-left:18px;font-size:14px;line-height:1.5;color:var(--ink)}
.school-detail .limits li+li{margin-top:9px}
.school-detail .related{gap:32px}
.school-detail .related-link{display:grid;grid-template-columns:1fr 24px;gap:5px 16px;text-decoration:none;border-bottom:1px solid var(--line);padding:0 0 15px;align-items:center}
.school-detail .related-link .eyebrow{grid-column:1/-1;font-size:11px;margin:0;color:var(--muted)}
.school-detail .related-link strong{font-size:21px;font-weight:600;letter-spacing:-.03em}
.school-detail .related-link:hover{border-color:var(--accent)}
.school-detail .related-link:hover strong{text-decoration:underline;text-underline-offset:5px}
.school-detail .detail-related{padding-block:28px 32px}
.school-detail .demo h2{font-size:clamp(30px,2.8vw,44px)}
[data-theme=dark] .school-detail .detail .hero-art{mix-blend-mode:normal}
[data-theme=dark] .school-detail .detail-step .number{color:#a7ebdc}
[data-theme=dark] .school-detail .limits{background:var(--soft)}
[data-theme=dark] .school-detail .related-link>img,[data-theme=dark] .school-detail .detail-step:after{filter:invert(1)}
@media(max-width:1100px) and (min-width:900px){.school-detail .hero h1{font-size:4.45vw}.school-detail .hero-copy{width:47%}.school-detail .detail-steps{gap:32px}.school-detail .detail-step{grid-template-columns:54px 1fr;gap:12px}.school-detail .detail-step .icon-disc{width:54px;height:54px}.school-detail .detail-step h3{font-size:18px}.school-detail .detail-step:not(:last-child):after{right:-25px;width:18px}.school-detail .detail-work,.school-detail .limits{gap:30px}}
@media(max-width:899px){.school-detail .breadcrumb{margin:6px 0 12px}.school-detail .detail.hero{height:auto;min-height:0;max-height:none;padding-inline:24px}.school-detail .hero-copy{width:100%;padding:25px 0 27px;max-width:680px}.school-detail .hero h1{font-size:clamp(40px,6.5vw,58px);max-width:680px}.school-detail .hero-copy>p:not(.eyebrow):not(.caption){font-size:18px}.school-detail .detail figure{position:relative;right:auto;top:auto;width:calc(100% + 48px);height:auto;margin:0 -24px;z-index:0}.school-detail .detail .hero-art{position:relative;inset:auto;width:100%;height:auto;max-height:440px;aspect-ratio:1.55;object-fit:cover;object-position:center 48%;mask-image:none;margin:0;z-index:0}.school-detail .detail figcaption{top:auto;bottom:12px;right:12px;max-width:240px}.school-detail .detail-steps{gap:24px}.school-detail .detail-step{display:block}.school-detail .detail-step .icon-disc{width:50px;height:50px;margin-bottom:12px}.school-detail .detail-step .number{font-size:29px}.school-detail .detail-step:after{display:none}.school-detail .detail-step h3{font-size:19px}.school-detail .detail-work{grid-template-columns:1fr;gap:26px;padding-block:30px}.school-detail .detail-work h2 br{display:none}.school-detail .features{gap:20px 30px}.school-detail .limits{grid-template-columns:1fr;gap:22px;padding:26px 24px}.school-detail .limits h2 br{display:none}.school-detail .related{gap:24px}.school-detail .related-link strong{font-size:19px}}
@media(max-width:560px){.school-detail .detail.hero{padding-inline:20px}.school-detail .hero h1{font-size:40px}.school-detail .hero .eyebrow{font-size:12px;margin-bottom:22px}.school-detail .hero-copy>p:not(.eyebrow):not(.caption){font-size:17px}.school-detail .detail figure{width:calc(100% + 40px);margin-inline:-20px}.school-detail .detail .hero-art{aspect-ratio:1.16;max-height:none;object-position:55% center}.school-detail .detail-steps{grid-template-columns:1fr;gap:27px}.school-detail .detail-step{display:grid;grid-template-columns:50px 1fr;gap:17px}.school-detail .detail-step h3{font-size:20px}.school-detail .detail-step p{font-size:14px}.school-detail .features{grid-template-columns:1fr;gap:18px}.school-detail .limits{padding-inline:20px}.school-detail .limits h2{font-size:26px}.school-detail .related{grid-template-columns:1fr;gap:19px}.school-detail .related-link strong{font-size:21px}}
