.contact-page{width:100%;max-width:100%;overflow-x:clip;background:#f3f7fb}
.contact-page .container{width:min(1220px,calc(100% - 32px));max-width:1220px;margin-right:auto;margin-left:auto}
.contact-hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#062c60,#0b4f91)}
.contact-hero:after{content:"";position:absolute;left:-90px;bottom:-130px;width:320px;height:320px;border:58px solid rgba(255,255,255,.05);border-radius:50%}
.contact-hero .container{position:relative;z-index:1}
.contact-hero__eyebrow{display:inline-block;margin-bottom:5px;color:#e0b34b;font-size:12px;font-weight:900}
.contact-main-section{padding-top:34px}
.contact-intro{max-width:760px;margin:0 auto 24px;text-align:center}
.contact-intro h2{margin:4px 0 8px;color:#062c60;font-size:25px}
.contact-intro p{margin:0;color:#65758a;font-size:13px;line-height:2}
.contact-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}
.contact-info-card{position:relative;display:flex;min-height:178px;flex-direction:column;align-items:center;justify-content:center;padding:22px 18px;border:1px solid #e3eaf2;border-radius:12px;background:#fff;box-shadow:0 10px 28px rgba(3,42,92,.07);color:#062c60;text-align:center;transition:transform .2s,box-shadow .2s}
a.contact-info-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(3,42,92,.12)}
.contact-info-card__icon{display:grid;width:52px;height:52px;margin-bottom:13px;place-items:center;border-radius:50%;background:#fff6df;color:#b57b04}
.contact-info-card__icon:before{content:"";display:block;width:26px;height:26px;background-color:currentColor;-webkit-mask:var(--contact-icon) center/contain no-repeat;mask:var(--contact-icon) center/contain no-repeat}
.contact-info-card--phone .contact-info-card__icon:before{--contact-icon:url("../images/icon-phone.svg")}
.contact-info-card--email .contact-info-card__icon:before{--contact-icon:url("../images/top-mail.svg")}
.contact-info-card--address .contact-info-card__icon:before{--contact-icon:url("../images/top-location.svg")}
.contact-info-card--hours .contact-info-card__icon:before{--contact-icon:url("../images/icon-calendar.svg")}
.contact-info-card small{margin-bottom:7px;color:#8491a2;font-size:11px;font-weight:800}
.contact-info-card strong{font-size:13px;line-height:1.9;word-break:break-word}
.contact-info-card>a{margin-top:10px;color:#b57b04;font-size:11px;font-weight:900}
.contact-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}
.contact-form-panel,.contact-side-panel{border:1px solid #e3eaf2;border-radius:12px;background:#fff;box-shadow:0 10px 28px rgba(3,42,92,.07)}
.contact-form-panel{padding:26px}
.contact-panel-heading{margin-bottom:20px}
.contact-panel-heading h2{margin:4px 0 7px;color:#062c60;font-size:21px}
.contact-panel-heading p{margin:0;color:#6f7e91;line-height:1.9}
.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.contact-form-grid p{margin:0}
.contact-form-grid__full{grid-column:1/-1}
.school-contact-form label{display:block;margin-bottom:6px;color:#163f70;font-size:12px;font-weight:900}
.school-contact-form input,.school-contact-form textarea{width:100%;border:1px solid #d8e1eb;border-radius:7px;background:#fbfdff;padding:10px 12px;color:#183c67;font:inherit;transition:border-color .2s,box-shadow .2s}
.school-contact-form input{height:42px}
.school-contact-form textarea{min-height:145px;resize:vertical}
.school-contact-form input:focus,.school-contact-form textarea:focus{outline:0;border-color:#c4932b;box-shadow:0 0 0 3px rgba(196,147,43,.13)}
.contact-submit{margin-top:17px;border:0;cursor:pointer}
.contact-honeypot{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.contact-notice{margin:0 0 18px;padding:12px 14px;border-radius:7px;font-weight:800}
.contact-notice--success{border:1px solid #9bd5ae;background:#edf9f1;color:#21633a}
.contact-notice--error{border:1px solid #e7a4a4;background:#fff1f1;color:#8a2828}
.contact-side-panel{position:sticky;top:20px;padding:28px 24px;text-align:center}
.contact-side-panel__icon{display:grid;width:74px;height:74px;margin:0 auto 17px;place-items:center;border-radius:50%;background:linear-gradient(145deg,#062c60,#0d5ca6);box-shadow:0 9px 22px rgba(6,44,96,.2)}
.contact-side-panel__icon:before{content:"";display:block;width:34px;height:34px;background-color:#fff;-webkit-mask:url("../images/icon-phone.svg") center/contain no-repeat;mask:url("../images/icon-phone.svg") center/contain no-repeat}
.contact-side-panel h2{margin:0 0 10px;color:#062c60;font-size:18px}
.contact-side-panel p{margin:0 0 18px;color:#6d7c8f;line-height:2}
.contact-side-panel .small-btn{justify-content:center}
@media(max-width:980px){.contact-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-content-grid{grid-template-columns:1fr}.contact-side-panel{position:static}}
@media(max-width:600px){.contact-page .container{width:calc(100% - 22px)}.contact-main-section{padding-top:24px}.contact-info-grid{grid-template-columns:1fr}.contact-info-card{min-height:145px}.contact-form-panel{padding:19px}.contact-form-grid{grid-template-columns:1fr}.contact-form-grid__full{grid-column:auto}.contact-intro h2{font-size:21px}}
