.school-hero{padding-bottom:64px}.school-intro{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:70px}.school-heading h1{font:600 clamp(56px,5.5vw,78px)/1.08 var(--display);letter-spacing:-1.5px}.school-lead{font-size:26px;line-height:1.4;font-weight:700;margin-top:27px}.school-description{color:var(--muted);margin-top:22px;max-width:590px}.school-actions{display:flex;flex-wrap:wrap;align-items:center;gap:25px;margin-top:32px}.school-portrait{position:relative;margin:0;min-width:0}.school-portrait>img{width:100%;height:560px;object-fit:cover;object-position:50% 44%;border-radius:4px}.school-portrait figcaption{position:absolute;bottom:22px;left:22px;right:22px;background:var(--forest);color:white;padding:17px 24px;line-height:1.5}.school-portrait figcaption span{display:block;color:var(--yellow);font-size:16px}.school-portrait figcaption strong{font-size:20px}.school-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:55px 0 0;padding:30px 0 0;border-top:1px solid #cdd2bf}.school-facts dt{font-size:16px;color:var(--muted);margin-bottom:7px}.school-facts dd{font-size:23px;font-weight:800;line-height:1.35;margin:0;color:var(--green)}.school-program-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px}.school-section-heading>p:not(.eyebrow){color:var(--muted);margin-top:25px}.school-section-heading .text-link{margin-top:28px}.school-program article{display:grid;grid-template-columns:58px 1fr;gap:23px;padding:30px 0;border-top:1px solid var(--line)}.school-program article:first-child{padding-top:0;border-top:0}.school-step{font:500 44px/1.15 var(--display);color:var(--pink)}.school-program h3{font-size:28px;margin-bottom:18px}.school-program p{color:var(--muted)}.school-program .school-included{padding:15px 20px;border-left:3px solid var(--lime);background:var(--cream);color:var(--green);font-weight:700}.school-ages{padding:65px 0}.school-ages>.wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}.school-ages h2{max-width:550px}.school-ages p:not(.eyebrow){margin-top:22px;color:var(--muted)}.school-ages ul{list-style:none;margin:0;padding:0}.school-ages li{font-size:23px;font-weight:700;padding:20px 0;border-bottom:1px solid #cdd2bf}.school-ages li:first-child{padding-top:0}.school-ages li span{font-family:var(--display);font-weight:500;font-size:20px;color:var(--green);margin-right:25px}.school-locations{gap:28px}.school-locations .location-card{border:1px solid var(--line);border-top:4px solid var(--green);display:flex;flex-direction:column}.school-locations .night{border-top-color:var(--purple);background:white;color:var(--ink)}.school-locations .location-top{min-height:150px}.school-locations .location-top h3{font-size:27px}.school-locations .location-actions{margin-top:auto;padding-top:28px}.school-locations .directions{margin-bottom:20px}.school-locations details{margin-bottom:0}.school-request{padding:70px 0}.school-request>.wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center}.school-request p:not(.eyebrow){margin-top:24px;color:var(--muted)}.school-request aside{border-left:1px solid #cdd2bf;padding-left:45px;display:flex;flex-direction:column;align-items:flex-start;gap:25px}.school-request-label{font-weight:800;font-size:24px;line-height:1.5;color:var(--green)}.school-services{padding:65px 0}.school-services h2{font-size:28px;margin-bottom:30px}.school-services nav{display:flex;flex-wrap:wrap;gap:15px 32px}.school-services a{color:var(--green);font-weight:700}.school-services a:hover{color:var(--pink)}
@media(max-width:1000px){.school-intro{gap:35px}.school-portrait>img{height:520px}.school-heading h1{font-size:66px}.school-lead{font-size:24px}.school-program-layout{gap:40px}.school-ages>.wrap{gap:40px}.school-request>.wrap{gap:35px}.school-request aside{padding-left:28px}.school-facts dd{font-size:21px}.school-locations .location-top{min-height:180px}}
@media(max-width:750px){.school-intro,.school-program-layout,.school-ages>.wrap,.school-request>.wrap{grid-template-columns:1fr}.school-intro{gap:36px}.school-portrait>img{height:480px;object-position:center 43%}.school-portrait{max-width:550px;width:100%;margin-inline:auto}.school-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-top:38px}.school-program-layout,.school-ages>.wrap{gap:38px}.school-program article:first-child{padding-top:28px;border-top:1px solid var(--line)}.school-locations{grid-template-columns:1fr}.school-locations .location-top{min-height:0}.school-request aside{border-left:0;border-top:1px solid #cdd2bf;padding:28px 0 0}.school-request-label{font-size:22px}.school-ages{padding:55px 0}.school-services nav{flex-direction:column}}
@media(max-width:480px){.school-heading h1{font-size:56px;letter-spacing:-1px}.school-lead{font-size:24px}.school-actions{gap:22px}.school-actions .btn{width:100%}.school-portrait>img{height:400px}.school-portrait figcaption{left:16px;right:16px;bottom:16px;padding:14px 18px}.school-portrait figcaption strong{font-size:18px}.school-facts{gap:25px 18px}.school-facts dd{font-size:20px}.school-program article{grid-template-columns:40px 1fr;gap:15px}.school-step{font-size:34px}.school-program h3{font-size:25px}.school-program .school-included{padding:15px}.school-locations .location-top h3{font-size:25px}.school-locations .btn{width:100%}.school-request aside .btn{width:100%}.school-request{padding:55px 0}.school-services{padding:45px 0}}
.school-inquiry-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start}.school-inquiry-copy h2{font-size:clamp(30px,3vw,42px);line-height:1.2;margin-bottom:25px}.school-inquiry-copy>p:not(.eyebrow){margin-bottom:25px;color:var(--muted)}.school-inquiry-copy .school-inquiry-benefit{color:var(--green)!important;font-weight:800}.school-inquiry-form{background:white;padding:35px;border-radius:4px;min-width:0}.school-location-options{padding:0;margin:0 0 28px;border:0;min-width:0}.school-location-options legend{font-weight:700;font-size:18px;margin-bottom:14px;padding:0}.school-location-options label{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:3px;cursor:pointer}.school-location-options label+label{margin-top:10px}.school-location-options label:has(input:checked){border-color:var(--green);background:#f0f5eb}.school-location-options input{width:20px;height:20px;flex-shrink:0;accent-color:var(--green)}.school-location-options strong{font-size:18px;display:block;line-height:1.4}.school-location-options small{font-size:16px;color:var(--muted)}.school-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.school-form-fields label,.school-comment{display:flex;flex-direction:column;gap:8px;font-size:18px;font-weight:600;min-width:0}.school-inquiry-form input:not([type=radio]):not([type=range]),.school-inquiry-form textarea{width:100%;min-width:0;border:1px solid #bbc6b4;border-radius:3px;padding:12px;background:#fff;color:var(--ink);font:400 18px/1.5 var(--body)}.school-inquiry-form textarea{resize:vertical;min-height:130px}.school-guests-label{display:flex;justify-content:space-between;align-items:center;font-weight:600;margin-top:26px}.school-guests-label output{font-weight:800;font-size:24px;color:var(--green)}#school-guests{width:100%;accent-color:var(--green);margin:14px 0 0;min-height:26px}.school-range-limits{display:flex;justify-content:space-between;font-size:16px;color:var(--muted);margin-bottom:24px}.school-form-note,.school-form-legal{font-size:16px;color:var(--muted);line-height:1.6;margin-top:20px}.school-inquiry-form>.btn{margin-top:22px}.school-form-legal a{text-decoration:underline;text-underline-offset:3px;color:var(--green)}.school-form-result{padding:18px;margin-top:22px;background:#edf3e7;border-left:3px solid var(--green);font-size:18px}
@media(max-width:1000px){.school-inquiry-layout{grid-template-columns:1fr;gap:30px}.school-inquiry-copy{max-width:720px}}@media(max-width:580px){.school-inquiry-form{padding:25px 20px}.school-form-fields{grid-template-columns:1fr}.school-inquiry-form>.btn{width:100%}}
