/* Independent school layouts; all selectors scoped to .asi-school */
.asi-school{margin:0;background:#fff;color:#233247;font-family:Arial,Helvetica,sans-serif;line-height:1.6}.asi-school *{box-sizing:border-box}.asi-school a{color:inherit}.asi-container{width:min(1180px,calc(100% - 36px));margin:auto}.asi-skip{position:absolute;left:-9999px}.asi-skip:focus{left:15px;top:15px;z-index:9999;background:#fff;padding:10px}.asi-top{background:#142e4b;color:#fff;font-size:13px}.asi-top .asi-container{display:flex;justify-content:space-between;padding:7px 0}.asi-header{background:white;border-bottom:1px solid #dce2e8;position:relative;z-index:2}.asi-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:110px}.asi-brand img{max-width:300px;max-height:100px;width:auto;height:auto;object-fit:contain}.asi-menu{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0}.asi-menu li{margin:0}.asi-menu a{display:block;padding:10px 12px;text-decoration:none;font-weight:700;font-size:14px;border-radius:5px}.asi-menu a:hover,.asi-menu a:focus{background:#edf2f7}.asi-mobile-menu{display:none}.asi-hero{background:#143b62;color:white;padding:44px 0}.asi-aap .asi-hero{background:#193e63}.asi-abfhs .asi-hero{background:#163f5b}.asi-aec .asi-hero{background:#183a60}.asi-hero h1{font-size:clamp(28px,3vw,43px);line-height:1.2;color:#fff;margin:10px 0}.asi-hero p{margin:0}.asi-eyebrow{font-size:14px}.asi-eyebrow a{color:white}.asi-main-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:48px;padding-top:42px;padding-bottom:64px;min-height:400px}.asi-content{min-width:0;font-size:16px}.asi-content img,.asi-content iframe,.asi-content video{max-width:100%;height:auto}.asi-content table{display:block;overflow-x:auto;max-width:100%}.asi-content h2,.asi-content h3{color:#173b5d}.asi-content a{color:#135f9c}.asi-content .elementor,.asi-content .wp-block-group{max-width:100%}.asi-side{background:#f4f7fa;border-radius:10px;padding:23px;align-self:start}.asi-side h2{font-size:21px;margin:0 0 12px}.asi-side h3{font-size:18px}.asi-side .asi-menu{display:block}.asi-side .asi-menu a{padding:7px 0}.asi-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}.asi-link-grid a{padding:15px;border:1px solid #dce5ec;border-radius:7px;text-decoration:none;display:flex;justify-content:space-between}.asi-footer{background:#142e4b;color:white;padding:42px 0 16px}.asi-footer-grid{display:grid;grid-template-columns:2fr 1.5fr 1.5fr;gap:30px}.asi-footer h2{font-size:19px;color:white}.asi-footer a{color:white}.asi-footer .asi-menu{display:block}.asi-footer .asi-menu a{padding:3px 0;font-weight:400}.asi-copyright{border-top:1px solid #52687d;padding-top:16px;margin-top:25px;font-size:13px}.asi-empty{padding:16px;background:#fff7e6;border-left:4px solid #c99335}.asi-school .site-header,.asi-school .topbar,.asi-school .footer{display:none}@media(max-width:1000px){.asi-desktop-nav{display:none}.asi-mobile-menu{display:block;max-width:55%}.asi-mobile-menu summary{cursor:pointer;padding:12px;background:#edf2f7;border-radius:5px}.asi-mobile-menu nav{position:absolute;right:18px;top:95px;background:white;box-shadow:0 8px 20px #0002;padding:12px;min-width:230px;max-height:75vh;overflow:auto}.asi-mobile-menu .asi-menu{display:block}}@media(max-width:700px){.asi-top span{display:none}.asi-header-inner{min-height:86px}.asi-brand img{max-width:190px;max-height:75px}.asi-hero{padding:32px 0}.asi-main-layout{grid-template-columns:1fr;gap:25px;padding-top:25px}.asi-side{order:2}.asi-link-grid{grid-template-columns:1fr}.asi-footer-grid{grid-template-columns:1fr}.asi-content{overflow-wrap:anywhere}}

/* v1.2: clean landing pages, without changing inner-page content */
.asi-home .asi-main-layout{gap:38px}
.asi-home .asi-content>p:first-child{margin-top:0}
.asi-home .asi-side{padding:25px}
.asi-home .asi-link-grid{margin-top:30px}
.asi-home .asi-content img{object-fit:contain}
.asi-home .asi-content h2:first-child{margin-top:0}
@media(max-width:700px){.asi-home .asi-main-layout{gap:20px}.asi-home .asi-side{padding:20px}}

/* v1.3: curated homepages; imported news and numerical placeholders remain in WP but are not shown here */
.asi-home-section{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:48px;padding-top:48px;padding-bottom:70px;min-height:340px}
.asi-home-intro h2{font-size:clamp(24px,2.3vw,31px);line-height:1.3;margin:0 0 20px;color:#173b5d}
.asi-home-intro h3{margin:30px 0 12px;color:#173b5d;font-size:20px}
.asi-home-intro p{font-size:17px;line-height:1.75;max-width:740px}
.asi-home-section .asi-link-grid{margin-top:15px}
.asi-home-section .asi-link-grid a{background:#fff;transition:background .15s ease,border-color .15s ease}
.asi-home-section .asi-link-grid a:hover,.asi-home-section .asi-link-grid a:focus{background:#f1f6fb;border-color:#8eafcb}
@media(max-width:700px){.asi-home-section{grid-template-columns:1fr;gap:25px;padding-top:30px;padding-bottom:42px}}

/* v1.4: compact school contact, branded social buttons and responsive footer */
.asi-home-section{grid-template-columns:minmax(0,1fr) 245px;gap:28px;padding-top:32px;padding-bottom:45px;min-height:0}
.asi-home-section .asi-side{padding:20px;background:#f5f7fa;border:1px solid #e4e9ef}
.asi-home-section .asi-side h2{font-size:18px;margin-bottom:10px}
.asi-home-section .asi-side p{margin:8px 0;font-size:14px;overflow-wrap:anywhere}
.asi-hero{padding:30px 0}
.asi-footer-grid{grid-template-columns:1.5fr 1fr 1.6fr;gap:24px}
.asi-footer h2{margin:0 0 12px}
.asi-footer-grid p{margin:8px 0}
.asi-social{margin-top:20px}
.asi-social h3{font-size:15px;color:#fff;margin:0 0 10px}
.asi-social-buttons{display:flex;flex-wrap:wrap;gap:8px}
.asi-footer .asi-social-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 12px;border-radius:6px;color:#fff!important;font-size:13px;font-weight:700;text-decoration:none;line-height:1.3;min-height:40px;border:1px solid #ffffff33}
.asi-social-btn:hover,.asi-social-btn:focus{filter:brightness(1.15);text-decoration:underline;outline-offset:3px}
.asi-social-facebook{background:#1877f2}.asi-social-instagram{background:#b52d87}.asi-social-youtube{background:#cc0000}.asi-social-x{background:#171717}.asi-social-linkedin{background:#0a66c2}.asi-social-tiktok{background:#222}
@media(max-width:900px){.asi-footer-grid{grid-template-columns:1fr 1fr}.asi-home-section{grid-template-columns:1fr}.asi-home-section .asi-side{max-width:100%}}
@media(max-width:650px){.asi-footer-grid{grid-template-columns:1fr}.asi-hero{padding:25px 0}.asi-home-section{padding-bottom:30px}}

/* v1.6: recognizable social-media buttons on all three school footers */
.asi-footer .asi-social{margin:20px 0 8px}
.asi-footer .asi-social h3{font-size:15px;line-height:1.45;font-weight:700;margin-bottom:11px;color:#fff}
.asi-footer .asi-social-buttons{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px}
.asi-footer .asi-social-btn{display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;min-width:112px;padding:11px 15px!important;border-radius:7px!important;box-shadow:0 2px 5px rgba(0,0,0,.18);font-size:14px!important;font-weight:700!important;color:#fff!important;text-decoration:none!important;border:1px solid rgba(255,255,255,.24)!important;transition:transform .15s ease,filter .15s ease}
.asi-footer .asi-social-btn:hover{filter:brightness(1.15);transform:translateY(-1px)}
.asi-footer .asi-social-btn:focus-visible{outline:3px solid #ffdf65!important;outline-offset:3px}
.asi-footer .asi-social-facebook{background:#1877f2!important}
.asi-footer .asi-social-instagram{background:#b52d87!important}
.asi-footer .asi-social-youtube{background:#cc0000!important}
.asi-footer .asi-social-x{background:#171717!important}
.asi-footer .asi-social-linkedin{background:#0a66c2!important}
.asi-footer .asi-social-tiktok{background:#222!important}
@media(max-width:560px){.asi-footer .asi-social-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.asi-footer .asi-social-btn{min-width:0;width:100%;padding:12px 8px!important}}
@media(prefers-reduced-motion:reduce){.asi-footer .asi-social-btn{transition:none}.asi-footer .asi-social-btn:hover{transform:none}}

/* v1.7 school inner-page empty-state styling */
.asi-content-notice{border:1px solid #dce6ef;border-radius:12px;background:#f8fafc;padding:20px;margin:12px 0 24px}
.asi-content-notice p{margin:0 0 14px}
.asi-action-link{display:inline-block;margin:4px 8px 4px 0;padding:10px 16px;background:#075a9d;color:#fff!important;border-radius:7px;text-decoration:none;font-weight:650}
.asi-action-link:hover,.asi-action-link:focus{background:#003e72;color:#fff!important}
.asi-content .asi-link-grid{margin:20px 0}
@media(max-width:640px){.asi-action-link{display:block;text-align:center}.asi-content-notice{padding:15px}}

.asi-entrance{font-size:.95rem;margin:.3rem 0 1rem}.asi-aap-apply{display:inline-block;background:#1461a6;color:white!important;border-radius:8px;padding:13px 22px;font-weight:700;text-decoration:none}.asi-aap-apply:hover{background:#0e457b}.asi-aap-staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px}.asi-aap-person{padding:16px;border:1px solid #dce5ef;border-radius:12px;min-width:0}.asi-aap-person img{width:100%;height:240px;object-fit:contain;background:#f4f6f8;border-radius:8px}.asi-aap-person h3{margin:12px 0 3px}.asi-aap-person p{overflow-wrap:anywhere;margin:5px 0}.asi-aap-family{margin-top:24px}

/* v2.0: AAP-only cohesive school experience. ABFHS/AEC untouched. */
.asi-aap{--aap-navy:#132b45;--aap-blue:#14578b;--aap-gold:#e9b54b;background:#f7f9fc;color:#22344a;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}
.asi-aap .asi-container{width:min(1200px,calc(100% - 48px))}
.asi-aap .asi-top{background:#10283f}.asi-aap .asi-top .asi-container{padding:9px 0;align-items:center;gap:12px}
.asi-aap .asi-top a{text-decoration:none;font-weight:650}.asi-aap .asi-top a:hover{text-decoration:underline}
.asi-aap .asi-header{background:#fff;border-bottom:1px solid #e4e9f0;box-shadow:0 3px 16px #10283f0a;position:sticky;top:0;z-index:100}
.asi-aap .asi-header-inner{min-height:96px;gap:15px}.asi-aap .asi-brand{flex:0 1 240px;min-width:140px}.asi-aap .asi-brand img{width:auto;max-width:100%;max-height:78px}
.asi-aap .asi-desktop-nav{min-width:0}.asi-aap .asi-menu{align-items:center;gap:2px;flex-wrap:nowrap}.asi-aap .asi-menu a{font-size:14px;padding:12px 9px;border-radius:6px;color:#19354d;white-space:nowrap;transition:background .15s ease,color .15s ease}
.asi-aap .asi-menu a:hover,.asi-aap .asi-menu a:focus-visible{background:#eaf2f8;color:#0d4e80}.asi-aap .asi-menu .current-menu-item>a{background:#e7f0f8;color:#0c4e7c}
.asi-aap .asi-header-apply{background:#12598f;color:#fff!important;border-radius:8px;text-decoration:none;font-size:14px;font-weight:750;padding:12px 16px;white-space:nowrap;box-shadow:0 3px 10px #123e6126}.asi-aap .asi-header-apply:hover{background:#0b426c}
.asi-aap .asi-hero{background:linear-gradient(115deg,#132d4a 0%,#185b88 100%);padding:43px 0 45px;border-bottom:4px solid var(--aap-gold)}
.asi-aap .asi-hero h1{font-size:clamp(30px,3.8vw,48px);font-weight:750;letter-spacing:-.035em;max-width:850px;line-height:1.12;margin:13px 0}.asi-aap .asi-hero p{color:#e6eff7}.asi-aap .asi-eyebrow{font-size:13px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.asi-aap .asi-hero-return{margin-top:17px!important;font-size:14px}.asi-aap .asi-hero-return a{color:#fff;text-underline-offset:4px}
.asi-aap .asi-home-section{grid-template-columns:minmax(0,1fr) 300px;gap:38px;padding-top:52px;padding-bottom:68px}.asi-aap .asi-home-intro{background:#fff;padding:34px 38px;border-radius:14px;border:1px solid #e4eaf0;box-shadow:0 8px 25px #152d4510}.asi-aap .asi-home-intro h2{font-size:clamp(25px,2.7vw,34px);letter-spacing:-.025em;color:#173d5d}.asi-aap .asi-home-intro p{line-height:1.7;color:#3c5063}.asi-aap .asi-home-intro h3{margin-top:33px}.asi-aap .asi-link-grid{gap:12px}.asi-aap .asi-link-grid a{border-radius:10px;padding:18px 19px;font-weight:650;background:#f9fbfd;border:1px solid #dce6ee;box-shadow:0 2px 4px #142e4b05}.asi-aap .asi-link-grid a:hover{background:#edf5fb;border-color:#8cb2d0;transform:translateY(-1px)}
.asi-aap .asi-side{background:#fff;border:1px solid #e0e8f0;border-radius:13px;padding:25px;box-shadow:0 5px 18px #152d4509}.asi-aap .asi-side h2{font-size:20px;color:#173d5d}.asi-aap .asi-side h3{font-size:16px;color:#173d5d;border-top:1px solid #e8edf2;padding-top:18px;margin-top:22px}.asi-aap .asi-side p{overflow-wrap:anywhere}.asi-aap .asi-side a{color:#155d91}.asi-aap .asi-side .asi-menu{display:block}.asi-aap .asi-side .asi-menu a{white-space:normal;padding:9px 10px;border-radius:7px}
.asi-aap .asi-main-layout{grid-template-columns:minmax(0,1fr) 285px;gap:34px;padding-top:42px;padding-bottom:68px;align-items:start}.asi-aap .asi-content{background:#fff;border:1px solid #e4eaf0;border-radius:14px;padding:36px 42px;box-shadow:0 8px 25px #152d450a;line-height:1.78;min-height:260px}.asi-aap .asi-content> :first-child{margin-top:0}.asi-aap .asi-content h2{font-size:clamp(22px,2.3vw,30px);letter-spacing:-.02em;margin:1.2em 0 .5em}.asi-aap .asi-content h3{font-size:20px;margin:1.2em 0 .5em}.asi-aap .asi-content p{margin:.6em 0 1.2em}.asi-aap .asi-content a{text-underline-offset:3px}.asi-aap .asi-content img{border-radius:9px}.asi-aap .asi-content table{border-collapse:collapse;width:100%}.asi-aap .asi-content td,.asi-aap .asi-content th{padding:11px 13px;border:1px solid #e2e8ef}.asi-aap .asi-content th{background:#edf4f9}.asi-aap .asi-content blockquote{border-left:4px solid #e9b54b;padding:10px 18px;background:#f8fafc;margin-left:0}
.asi-aap .asi-aap-staff-grid{grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:17px}.asi-aap .asi-aap-person{background:#fff;border:1px solid #e0e8ef;box-shadow:0 4px 14px #152d450b;padding:14px}.asi-aap .asi-aap-person img{height:230px;object-fit:cover;object-position:top center;background:#f1f4f8}.asi-aap .asi-aap-person h3{font-size:17px;line-height:1.3}.asi-aap .asi-aap-person p{font-size:13px;line-height:1.5}
.asi-aap .asi-aap-apply{background:#135c90;box-shadow:0 4px 12px #135c9026}.asi-aap .asi-footer{background:#10283f;padding-top:52px}.asi-aap .asi-footer-grid{gap:45px}.asi-aap .asi-footer h2{font-size:18px}.asi-aap .asi-footer p,.asi-aap .asi-footer a{color:#e2eaf2}.asi-aap .asi-footer .asi-menu a{white-space:normal;padding:5px 0}.asi-aap :focus-visible{outline:3px solid #e9b54b;outline-offset:3px}
@media(max-width:1150px){.asi-aap .asi-desktop-nav{display:none}.asi-aap .asi-mobile-menu{display:block;max-width:none;margin-left:auto}.asi-aap .asi-mobile-menu summary{list-style:none;font-weight:750;background:#edf3f8;border:1px solid #d7e2eb;padding:12px 16px;border-radius:8px;cursor:pointer}.asi-aap .asi-mobile-menu summary::-webkit-details-marker{display:none}.asi-aap .asi-mobile-menu nav{top:calc(100% - 3px);right:24px;width:min(350px,calc(100vw - 48px));max-height:75vh;overflow:auto;border:1px solid #e1e7ee;border-radius:10px;padding:12px;box-shadow:0 12px 30px #0f2c4540;z-index:110}.asi-aap .asi-mobile-menu .asi-menu{display:block}.asi-aap .asi-mobile-menu .asi-menu a{white-space:normal;padding:12px 14px;font-size:15px}.asi-aap .asi-header-apply{padding:11px 14px}}
@media(max-width:850px){.asi-aap .asi-home-section,.asi-aap .asi-main-layout{grid-template-columns:1fr;gap:22px}.asi-aap .asi-main-layout .asi-side{order:2}.asi-aap .asi-home-intro{padding:27px}.asi-aap .asi-content{padding:29px}.asi-aap .asi-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.asi-aap .asi-container{width:calc(100% - 30px)}.asi-aap .asi-top span{display:none}.asi-aap .asi-header-inner{min-height:78px;gap:8px}.asi-aap .asi-brand{flex:1 1 auto;min-width:0}.asi-aap .asi-brand img{max-height:62px;max-width:165px}.asi-aap .asi-header-apply{display:none}.asi-aap .asi-mobile-menu summary{font-size:13px;padding:10px}.asi-aap .asi-hero{padding:30px 0}.asi-aap .asi-hero h1{font-size:30px}.asi-aap .asi-home-section{padding-top:24px;padding-bottom:35px}.asi-aap .asi-home-intro{padding:22px 18px}.asi-aap .asi-link-grid{grid-template-columns:1fr}.asi-aap .asi-main-layout{padding-top:22px;padding-bottom:36px}.asi-aap .asi-content{padding:22px 18px}.asi-aap .asi-aap-staff-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.asi-aap .asi-footer-grid{grid-template-columns:1fr;gap:25px}.asi-aap .asi-footer{padding-top:34px}}
@media(prefers-reduced-motion:reduce){.asi-aap .asi-link-grid a{transition:none;transform:none}}

/* v2.1 AAP: main-site-inspired social pills, focused contact and balanced navigation */
.asi-aap .asi-footer .asi-social-buttons{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:15px}
.asi-aap .asi-footer .asi-social-btn{min-height:58px;min-width:154px;padding:14px 26px!important;border-radius:999px!important;font-size:19px!important;line-height:1.15!important;font-weight:800!important;letter-spacing:-.025em;box-shadow:none!important;border:2px solid transparent!important;text-decoration:none!important;white-space:nowrap;transition:filter .18s ease,transform .18s ease}
.asi-aap .asi-footer .asi-social-facebook{background:#1877f2!important}
.asi-aap .asi-footer .asi-social-instagram{background:linear-gradient(105deg,#833ab4 0%,#c13584 55%,#fd4059 100%)!important}
.asi-aap .asi-footer .asi-social-linkedin{background:#0a66c2!important}
.asi-aap .asi-footer .asi-social-x{background:#111!important;border-color:#494949!important}
.asi-aap .asi-footer .asi-social-btn:hover{filter:brightness(1.12);transform:translateY(-2px)}
.asi-aap .asi-footer .asi-social-btn:focus-visible{outline:3px solid #ffcc55!important;outline-offset:4px}
.asi-aap .asi-brand{display:flex;align-items:center;justify-content:flex-start;min-width:0;max-width:240px}
.asi-aap .asi-brand img{display:block;width:auto;height:auto;max-width:100%;max-height:76px;object-fit:contain}
.asi-aap .asi-desktop-nav{flex:1 1 auto;display:flex;justify-content:center}
.asi-aap .asi-desktop-nav .asi-menu{justify-content:center;flex-wrap:wrap;gap:2px 4px}
.asi-aap .asi-desktop-nav .asi-menu a{font-size:14px;line-height:1.25;padding:12px 10px}
.asi-aap .asi-header-inner{gap:18px}
.asi-aap .asi-aap-contact{width:100%}
.asi-aap .asi-contact-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(235px,.8fr);gap:25px;align-items:start;margin-bottom:42px}
.asi-aap .asi-contact-intro>div{min-width:0}
.asi-aap .asi-contact-kicker{color:#176298;font-size:12px;font-weight:800;letter-spacing:.14em;margin:0 0 7px}
.asi-aap .asi-contact-intro h2{margin:0 0 12px;font-size:clamp(24px,2.6vw,34px)}
.asi-aap .asi-contact-intro p{margin:0 0 12px}
.asi-aap .asi-contact-details{background:#f1f6fa;border:1px solid #dfeaf2;padding:22px;border-radius:12px}
.asi-aap .asi-contact-details h3{font-size:15px;margin:0 0 7px}
.asi-aap .asi-contact-details h3:not(:first-child){margin-top:19px}
.asi-aap .asi-aap-staff{margin-top:8px}
.asi-aap .asi-aap-staff>h2{padding-bottom:13px;border-bottom:2px solid #e4edf4;margin-bottom:24px}
.asi-aap .asi-aap-staff-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.asi-aap .asi-aap-person{padding:0 0 18px;border-radius:13px;overflow:hidden;box-shadow:0 5px 18px #132b4510;display:flex;flex-direction:column}
.asi-aap .asi-aap-person img{width:100%;height:245px;object-fit:cover;object-position:center 20%;border-radius:0;background:#e8edf3}
.asi-aap .asi-aap-person h3{font-size:17px;margin:17px 16px 3px;line-height:1.35}
.asi-aap .asi-aap-person p{font-size:13px;margin:3px 16px;line-height:1.55;overflow-wrap:anywhere}
.asi-aap .asi-aap-person p:last-child{margin-top:10px}
.asi-aap .asi-aap-person a{font-size:13px}
.asi-aap .asi-contact-form{margin-top:42px;padding-top:20px;border-top:1px solid #e4eaf0}
@media(max-width:1150px){.asi-aap .asi-desktop-nav{display:none}.asi-aap .asi-mobile-menu{display:block}}
@media(max-width:900px){.asi-aap .asi-aap-staff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asi-aap .asi-contact-intro{grid-template-columns:1fr}}
@media(max-width:560px){.asi-aap .asi-aap-staff-grid{grid-template-columns:1fr}.asi-aap .asi-aap-person img{height:320px}.asi-aap .asi-footer .asi-social-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.asi-aap .asi-footer .asi-social-btn{width:100%;min-width:0;min-height:52px;padding:12px 8px!important;font-size:15px!important}}

/* v2.2: AAP-only visual refinement. Avoid duplicate page lists and oversized social buttons. */
.asi-aap{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.65;color:#26394b;background:#f8fafc}
.asi-aap .asi-container{width:min(1160px,calc(100% - 44px))}
.asi-aap .asi-header-inner{min-height:96px;gap:20px}
.asi-aap .asi-brand img{max-height:78px;max-width:225px}
.asi-aap .asi-hero{padding:36px 0 39px}
.asi-aap .asi-home-section{grid-template-columns:minmax(0,1fr);padding-top:32px;gap:0}
.asi-aap .asi-home-intro{max-width:none;padding:38px 44px}
.asi-aap .asi-home-intro h2{margin-bottom:14px}
.asi-aap .asi-home-intro p{max-width:920px}
.asi-aap .asi-home-section>.asi-contact-side{display:none}
.asi-aap .asi-main-layout{grid-template-columns:minmax(0,1fr);gap:0;max-width:1160px;padding-top:32px}
.asi-aap .asi-main-layout>.asi-contact-side{display:none}
.asi-aap .asi-content{padding:38px 44px;max-width:none;min-width:0}
.asi-aap .asi-content h2{line-height:1.25}
.asi-aap .asi-content p,.asi-aap .asi-content li{line-height:1.72}
.asi-aap .asi-footer-grid{grid-template-columns:minmax(240px,.9fr) minmax(0,1.3fr);gap:44px;align-items:start}
.asi-aap .asi-footer-grid>div:last-child{min-width:0}
.asi-aap .asi-footer .asi-social h3{font-size:18px;margin:18px 0 12px}
.asi-aap .asi-footer .asi-social-buttons{display:flex!important;flex-wrap:wrap!important;gap:12px!important;align-items:center!important}
.asi-aap .asi-footer .asi-social-btn{display:inline-flex!important;flex:0 0 auto!important;width:auto!important;min-width:0!important;min-height:48px!important;padding:11px 20px!important;font-size:16px!important;line-height:1.25!important;letter-spacing:0!important;font-weight:700!important;border-radius:999px!important;border:2px solid transparent!important;box-shadow:none!important;text-align:center!important;white-space:nowrap!important;color:#fff!important}
.asi-aap .asi-footer .asi-social-arrow{display:none!important}
.asi-aap .asi-footer .asi-social-x{border-color:#4b4b4b!important}
.asi-aap .asi-footer .asi-social-btn:hover{transform:none!important;filter:brightness(1.08)}
.asi-aap .asi-aap-social-wrap{max-width:100%}
.asi-aap .asi-aap-staff-grid{gap:20px}
.asi-aap .asi-aap-person img{height:250px;object-position:center 15%}
.asi-aap .asi-aap-person h3{font-size:17px}
.asi-aap .asi-contact-intro{grid-template-columns:minmax(0,1fr) minmax(250px,.8fr)}
@media(max-width:850px){.asi-aap .asi-footer-grid{grid-template-columns:1fr;gap:22px}.asi-aap .asi-content,.asi-aap .asi-home-intro{padding:28px}.asi-aap .asi-contact-intro{grid-template-columns:1fr}}
@media(max-width:560px){.asi-aap .asi-container{width:calc(100% - 30px)}.asi-aap .asi-content,.asi-aap .asi-home-intro{padding:22px 18px}.asi-aap .asi-footer .asi-social-buttons{display:flex!important;flex-wrap:wrap!important;gap:9px!important}.asi-aap .asi-footer .asi-social-btn{padding:10px 15px!important;font-size:14px!important;min-height:43px!important}.asi-aap .asi-aap-person img{height:300px}}

/* v2.3 AAP: consistent, equal-size social pills, exactly two per row. */
.asi-aap .asi-footer .asi-social-buttons {
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:12px!important;max-width:470px!important;width:100%!important;align-items:stretch!important;
}
.asi-aap .asi-footer .asi-social-buttons > a.asi-social-btn {
 box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;
 width:100%!important;min-width:0!important;max-width:none!important;min-height:54px!important;
 padding:12px 10px!important;margin:0!important;border-radius:999px!important;
 font-size:clamp(13px,1.6vw,17px)!important;font-weight:750!important;line-height:1.2!important;
 letter-spacing:0!important;text-align:center!important;text-decoration:none!important;white-space:nowrap!important;
 flex:none!important;box-shadow:none!important;
}
.asi-aap .asi-footer .asi-social-buttons .asi-social-arrow {display:none!important;}
.asi-aap .asi-footer .asi-social-facebook {background:#1877f2!important;}
.asi-aap .asi-footer .asi-social-instagram {background:linear-gradient(105deg,#833ab4,#c13584 60%,#fd4059)!important;}
.asi-aap .asi-footer .asi-social-linkedin {background:#0a66c2!important;}
.asi-aap .asi-footer .asi-social-x {background:#111!important;border:2px solid #494949!important;}
@media(max-width:390px){
 .asi-aap .asi-footer .asi-social-buttons{gap:8px!important;}
 .asi-aap .asi-footer .asi-social-buttons>a.asi-social-btn{font-size:13px!important;min-height:48px!important;padding:10px 5px!important;}
}

/* v2.4: compact equal-width AAP social buttons; two per row. */
.asi-aap .asi-footer .asi-social-buttons{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:350px!important;gap:8px!important;}
.asi-aap .asi-footer .asi-social-buttons>a.asi-social-btn{min-height:39px!important;height:39px!important;padding:7px 9px!important;font-size:13px!important;font-weight:700!important;line-height:1.1!important;border-radius:999px!important;}
@media(max-width:390px){.asi-aap .asi-footer .asi-social-buttons{max-width:100%!important;gap:7px!important}.asi-aap .asi-footer .asi-social-buttons>a.asi-social-btn{font-size:12px!important;height:38px!important;min-height:38px!important;padding:6px!important;}}

/* v2.5 AAP: exact equal-width, compact pills with no excessive side padding. */
.asi-aap .asi-aap-social-wrap .asi-social-buttons {
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
 width:100%!important;max-width:640px!important;gap:10px!important;
 margin:12px 0 0!important;align-items:stretch!important;
}
.asi-aap .asi-aap-social-wrap .asi-social-buttons > a.asi-social-btn {
 box-sizing:border-box!important;display:flex!important;justify-content:center!important;align-items:center!important;
 width:100%!important;min-width:0!important;max-width:none!important;
 height:42px!important;min-height:42px!important;max-height:42px!important;
 padding:0 8px!important;margin:0!important;border-radius:24px!important;
 font-size:14px!important;font-weight:700!important;line-height:1!important;
 letter-spacing:0!important;white-space:nowrap!important;text-align:center!important;
 flex:none!important;box-shadow:none!important;
}
.asi-aap .asi-aap-social-wrap .asi-social-arrow,
.asi-aap .asi-aap-social-wrap .asi-social-btn::before,
.asi-aap .asi-aap-social-wrap .asi-social-btn::after {display:none!important;content:none!important;}
@media(max-width:760px){
 .asi-aap .asi-aap-social-wrap .asi-social-buttons{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:320px!important;gap:9px!important;}
}
@media(max-width:390px){
 .asi-aap .asi-aap-social-wrap .asi-social-buttons>a.asi-social-btn{font-size:13px!important;height:40px!important;min-height:40px!important;max-height:40px!important;}
}

/* v2.6: final AAP organization socials: two equal compact pills per row, larger legible labels. */
.asi-aap .asi-aap-social-wrap .asi-social-buttons {
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 width:100%!important;max-width:370px!important;gap:10px!important;
 margin:12px 0 0!important;
}
.asi-aap .asi-aap-social-wrap .asi-social-buttons>a.asi-social-btn {
 box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:none!important;
 height:44px!important;min-height:44px!important;max-height:44px!important;
 padding:0 8px!important;margin:0!important;border-radius:24px!important;
 font-size:17px!important;font-weight:700!important;line-height:1.1!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 white-space:nowrap!important;text-align:center!important;
}
@media(max-width:390px){
 .asi-aap .asi-aap-social-wrap .asi-social-buttons{max-width:100%!important;gap:8px!important;}
 .asi-aap .asi-aap-social-wrap .asi-social-buttons>a.asi-social-btn{font-size:15px!important;height:42px!important;min-height:42px!important;max-height:42px!important;}
}

/* v2.7 AAP homepage and navigation restoration; school-scoped */
.asi-aap .asi-aap-quickbar{background:#fff;border-bottom:1px solid #e4eaf0}
.asi-aap .asi-aap-quickbar .asi-container{display:flex;gap:24px;justify-content:center;align-items:center;flex-wrap:wrap;padding:11px 0}
.asi-aap .asi-aap-quickbar a{font-size:13px;color:#155c91;text-decoration:none;font-weight:600}
.asi-aap .asi-aap-quickbar a:hover{text-decoration:underline}
.asi-aap.asi-home .asi-hero{background:linear-gradient(90deg,rgba(9,29,61,.80),rgba(9,29,61,.66)),url('aap-school-building.jpg') center 44%/cover no-repeat;min-height:310px;display:flex;align-items:center}
.asi-aap .asi-aap-spotlight{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;align-items:center;margin-top:36px;margin-bottom:10px}
.asi-aap .asi-aap-spotlight-photo img{width:100%;height:260px;object-fit:cover;border-radius:14px;display:block}
.asi-aap .asi-aap-spotlight-copy h2{font-size:clamp(26px,3vw,36px);margin:0 0 12px;color:#173b5c}
.asi-aap .asi-aap-spotlight-copy p{font-size:17px;margin:0 0 22px}
.asi-aap .asi-aap-spotlight .asi-aap-apply,.asi-aap .asi-aap-side-apply{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;background:#146bc5;color:white!important;border-radius:9px;font-weight:700;text-decoration:none}
.asi-aap .asi-home-section{display:grid!important;grid-template-columns:minmax(0,1.6fr) minmax(280px,.85fr)!important;gap:20px!important;align-items:stretch}
.asi-aap .asi-home-section>.asi-contact-side{display:block!important;padding:30px!important;min-width:0}
.asi-aap .asi-home-section .asi-home-intro{padding:30px!important}
.asi-aap .asi-home-section .asi-contact-side h2{font-size:24px;margin:0 0 18px}
.asi-aap .asi-home-section .asi-contact-side p{font-size:15px;line-height:1.5;margin:0 0 12px}
.asi-aap .asi-home-section .asi-contact-side .asi-entrance{white-space:nowrap;font-size:13px!important;letter-spacing:-.15px}
.asi-aap .asi-aap-side-apply{width:100%;margin-top:10px;text-align:center}
.asi-aap .asi-aap-resources,.asi-aap .asi-aap-news{margin-top:28px;margin-bottom:30px;padding:28px 34px;background:#fff;border:1px solid #dfe8f1;border-radius:16px}
.asi-aap .asi-aap-resources h2,.asi-aap .asi-aap-news h2{font-size:26px;margin:0 0 18px;color:#173b5c}
.asi-aap .asi-aap-resources-links{display:flex;flex-wrap:wrap;gap:12px}
.asi-aap .asi-aap-resources-links a{display:inline-flex;background:#eef5ff;border:1px solid #cfe2fb;padding:12px 18px;border-radius:9px;color:#155c91;font-weight:700;text-decoration:none}
.asi-aap .asi-aap-news>a{display:inline-flex;background:#253e95;color:#fff;padding:12px 18px;border-radius:9px;font-weight:700;text-decoration:none}
@media(max-width:800px){.asi-aap .asi-aap-spotlight,.asi-aap .asi-home-section{grid-template-columns:1fr!important}.asi-aap .asi-aap-spotlight-photo img{height:230px}.asi-aap .asi-aap-quickbar .asi-container{gap:10px 16px}.asi-aap .asi-home-section .asi-contact-side .asi-entrance{white-space:normal}}


/* v2.8 — AAP footer: left/right balance and compact social controls.
   Final overrides deliberately win over historical v2.1–v2.7 rules. */
.asi-aap .asi-footer .asi-footer-grid{
 display:grid!important;
 grid-template-columns:minmax(0,1fr) 340px!important;
 column-gap:clamp(32px,8vw,160px)!important;
 align-items:start!important;
 justify-content:space-between!important;
}
.asi-aap .asi-footer .asi-footer-grid>div:first-child{justify-self:start;max-width:520px;min-width:0}
.asi-aap .asi-footer .asi-footer-grid>div:last-child{justify-self:end;width:340px;max-width:100%;min-width:0}
.asi-aap .asi-aap-social-wrap{width:100%!important;max-width:300px!important}
.asi-aap .asi-aap-social-wrap .asi-social-buttons{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 width:100%!important;max-width:300px!important;gap:9px!important;
 margin:12px 0 0!important;
}
.asi-aap .asi-aap-social-wrap .asi-social-buttons>a.asi-social-btn{
 box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;
 width:100%!important;max-width:none!important;min-width:0!important;
 height:42px!important;min-height:42px!important;max-height:42px!important;
 padding:0 6px!important;margin:0!important;border-radius:999px!important;
 font-size:16px!important;font-weight:700!important;line-height:1.1!important;
 text-align:center!important;white-space:nowrap!important;
}
.asi-aap .asi-aap-social-wrap .asi-social-arrow{display:none!important}
@media(max-width:760px){
 .asi-aap .asi-footer .asi-footer-grid{grid-template-columns:minmax(0,1fr)!important;gap:30px!important}
 .asi-aap .asi-footer .asi-footer-grid>div:first-child,
 .asi-aap .asi-footer .asi-footer-grid>div:last-child{justify-self:stretch;width:100%;max-width:100%}
 .asi-aap .asi-aap-social-wrap{max-width:300px!important}
}
@media(max-width:360px){
 .asi-aap .asi-aap-social-wrap .asi-social-buttons>a.asi-social-btn{font-size:14px!important}
}

/* v3.0 AAP: deliberate home spacing, balanced resource links, consistent school footer */
.asi-aap .asi-aap-spotlight{margin-bottom:0!important;padding-bottom:16px!important}
.asi-aap .asi-home-section{margin-top:0!important;padding-top:12px!important;padding-bottom:24px!important;min-height:0!important;align-items:stretch!important}
.asi-aap .asi-home-intro,.asi-aap .asi-home-section>.asi-side{height:auto!important;min-height:0!important}
.asi-aap .asi-home-intro{padding:28px 32px!important}
.asi-aap .asi-home-intro p{margin-bottom:0!important}
.asi-aap .asi-home-section .asi-side{padding:26px 28px!important}
.asi-aap .asi-aap-entrance-two{margin:13px 0!important;font-size:15px!important;line-height:1.5!important}
.asi-aap .asi-aap-entrance-two span{display:block!important;font-size:14px!important;color:#42566b!important}
.asi-aap .asi-aap-entrance-two a{display:block!important;white-space:nowrap!important;font-size:16px!important;font-weight:650!important}
.asi-aap .asi-aap-news,.asi-aap .asi-aap-resources{padding-top:24px!important;padding-bottom:24px!important;margin-top:0!important;margin-bottom:0!important;min-height:0!important}
.asi-aap .asi-aap-news h2,.asi-aap .asi-aap-resources h2{margin:0 0 15px!important}
.asi-aap .asi-aap-news p{margin:0 0 18px!important}
.asi-aap .asi-aap-news-link{display:inline-flex;align-items:center;justify-content:center;background:#135c90;color:white!important;border-radius:8px;padding:12px 18px;text-decoration:none!important;font-weight:700}
.asi-aap .asi-aap-resources-links{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;max-width:none!important;align-items:stretch!important}
.asi-aap .asi-aap-resources-links a{display:flex!important;align-items:center!important;justify-content:center!important;min-height:54px!important;max-width:none!important;width:100%!important;padding:12px 16px!important;text-align:center!important;border-radius:9px!important;font-weight:700!important;text-decoration:none!important}
.asi-aap .asi-footer .asi-footer-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:clamp(28px,6vw,100px)!important;align-items:start!important}
.asi-aap .asi-footer .asi-footer-grid>div{min-width:0!important}
@media(max-width:760px){.asi-aap .asi-footer .asi-footer-grid{grid-template-columns:1fr!important;gap:26px!important}.asi-aap .asi-aap-resources-links{grid-template-columns:1fr!important}.asi-aap .asi-home-section{padding-top:12px!important}.asi-aap .asi-aap-entrance-two a{white-space:normal!important}}


/* v3.1 — AAP design consolidation: avoid inherited tall sections, larger legible navigation */
.asi-aap{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;font-size:16px;line-height:1.55;letter-spacing:-.008em}
.asi-aap .asi-header-inner{min-height:94px!important;gap:20px!important}
.asi-aap .asi-desktop-nav .asi-menu{gap:5px!important;flex-wrap:nowrap!important}
.asi-aap .asi-desktop-nav .asi-menu a{font-size:17px!important;font-weight:700!important;line-height:1.3!important;padding:12px 10px!important;letter-spacing:0!important}
.asi-aap .asi-header-apply{font-size:16px!important}
.asi-aap .asi-aap-spotlight{margin:22px auto 18px!important;padding:0!important;gap:28px!important}
.asi-aap .asi-home-section{margin:0 auto 18px!important;padding:0!important;gap:18px!important;align-items:start!important;min-height:0!important}
.asi-aap .asi-home-section>.asi-home-intro,.asi-aap .asi-home-section>.asi-contact-side{align-self:start!important;min-height:0!important;height:auto!important;margin:0!important;padding:26px 30px!important}
.asi-aap .asi-home-intro h2{font-size:clamp(26px,2.6vw,33px)!important;line-height:1.2!important;margin:0 0 16px!important}
.asi-aap .asi-home-intro p{font-size:16px!important;line-height:1.6!important;margin:0!important}
.asi-aap .asi-home-section .asi-contact-side h2{font-size:24px!important;line-height:1.25!important;margin:0 0 15px!important}
.asi-aap .asi-home-section .asi-contact-side p{line-height:1.5!important;margin:0 0 12px!important}
.asi-aap .asi-aap-news,.asi-aap .asi-aap-resources{margin:0 auto 18px!important;padding:24px 30px!important;min-height:0!important;height:auto!important}
.asi-aap .asi-aap-news h2,.asi-aap .asi-aap-resources h2{font-size:26px!important;line-height:1.25!important;margin:0 0 12px!important}
.asi-aap .asi-aap-news p{font-size:16px!important;line-height:1.55!important;margin:0 0 16px!important}
.asi-aap .asi-aap-resources-links a{font-size:16px!important;min-height:48px!important}
.asi-aap .asi-main-layout{gap:24px!important;padding-top:26px!important;padding-bottom:34px!important;align-items:start!important}
.asi-aap .asi-content{font-size:16px!important;line-height:1.65!important;padding:30px 34px!important;min-height:0!important}
.asi-aap .asi-content h2{font-size:clamp(24px,2.5vw,30px)!important;line-height:1.25!important;margin:0 0 16px!important}
.asi-aap .asi-content h3{font-size:21px!important;line-height:1.3!important}
.asi-aap .asi-content p{font-size:16px!important;line-height:1.65!important;margin:0 0 16px!important}
.asi-aap .asi-contact-intro{gap:22px!important;margin-bottom:28px!important;align-items:start!important}
.asi-aap .asi-contact-intro h2{font-size:clamp(25px,3vw,32px)!important;letter-spacing:-.025em!important}
.asi-aap .asi-contact-intro p,.asi-aap .asi-contact-details p{font-size:16px!important;line-height:1.6!important}
.asi-aap .asi-contact-details{padding:22px!important}
.asi-aap .asi-aap-staff-grid{gap:16px!important}
.asi-aap .asi-aap-person h3{font-size:19px!important}
.asi-aap .asi-aap-person p{font-size:15px!important;line-height:1.45!important;overflow-wrap:anywhere}
@media(max-width:1150px){.asi-aap .asi-desktop-nav{display:none!important}.asi-aap .asi-mobile-menu{display:block!important}.asi-aap .asi-mobile-menu .asi-menu a{font-size:17px!important}}
@media(max-width:760px){.asi-aap .asi-aap-spotlight{margin:18px auto!important}.asi-aap .asi-home-section{margin-bottom:16px!important}.asi-aap .asi-home-section>.asi-home-intro,.asi-aap .asi-home-section>.asi-contact-side{padding:22px!important}.asi-aap .asi-aap-news,.asi-aap .asi-aap-resources{padding:22px!important;margin-bottom:16px!important}.asi-aap .asi-content{padding:22px!important}.asi-aap .asi-contact-intro{grid-template-columns:1fr!important}}

/* v3.2 — AAP page-wide spacing, responsive imagery and consistent CTA presentation */
.asi-aap .asi-content{max-width:100%;min-width:0;overflow-wrap:break-word}
.asi-aap .asi-content img{display:block;max-width:100%;height:auto;object-fit:contain;margin:18px auto 24px;border-radius:10px}
.asi-aap .asi-content figure{max-width:100%;margin:20px auto 26px;text-align:center}
.asi-aap .asi-content figure img{margin:0 auto}
.asi-aap .asi-content .wp-block-columns,.asi-aap .asi-content .elementor-container{align-items:start;gap:24px}
.asi-aap .asi-content h2,.asi-aap .asi-content h3{clear:both;overflow-wrap:break-word}
.asi-aap .asi-content p{margin-bottom:16px!important}
.asi-aap .asi-content a.asi-aap-enroll-cta{display:inline-flex!important;align-items:center;justify-content:center;min-height:46px;padding:11px 20px!important;background:#1269b4!important;color:#fff!important;border-radius:8px!important;text-decoration:none!important;font-weight:700!important;font-size:16px!important;line-height:1.35!important;box-shadow:0 3px 10px rgba(0,0,0,.1);margin:10px 0 18px}
.asi-aap .asi-content a.asi-aap-enroll-cta:hover,.asi-aap .asi-content a.asi-aap-enroll-cta:focus-visible{background:#084b87!important;color:#fff!important}
.asi-aap .asi-content .asi-aap-contact{width:100%}
.asi-aap .asi-content .asi-aap-staff-grid img{width:100%;height:220px;object-fit:cover;object-position:center top;margin:0 0 14px}
.asi-aap .asi-main-layout:has(.asi-aap-contact){grid-template-columns:minmax(0,1fr)!important}
.asi-aap .asi-main-layout:has(.asi-aap-contact)>.asi-contact-side{display:none!important}
@media(max-width:760px){.asi-aap .asi-content{padding:22px 18px!important}.asi-aap .asi-content img{margin:12px auto 20px}.asi-aap .asi-content .wp-block-columns{display:block}.asi-aap .asi-content a.asi-aap-enroll-cta{max-width:100%;text-align:center}}


/* v3.3: staff photographs retain full face and centered framing, without cropping */
.asi-aap .asi-content .asi-aap-staff-grid .asi-aap-person{display:flex!important;flex-direction:column!important;align-items:stretch!important;text-align:center!important}
.asi-aap .asi-content .asi-aap-staff-grid .asi-aap-person img{display:block!important;width:100%!important;height:260px!important;object-fit:contain!important;object-position:center center!important;background:#f3f6f9!important;border-radius:10px 10px 0 0!important;margin:0!important}
.asi-aap .asi-aap-person h3,.asi-aap .asi-aap-person p{text-align:center!important}
.asi-aap .asi-aap-person a{overflow-wrap:anywhere}
/* Parents: photo beside enrollment and family copy, stacked naturally on phones */
.asi-aap .asi-aap-parent-enroll,.asi-aap .asi-aap-family-layout{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr)!important;align-items:center!important;gap:26px!important;margin:14px 0 25px!important}
.asi-aap .asi-aap-parent-enroll-copy,.asi-aap .asi-aap-family-copy{min-width:0}
.asi-aap .asi-content img.asi-aap-parent-photo,.asi-aap .asi-content img.asi-aap-family-photo{width:100%!important;height:235px!important;object-fit:cover!important;object-position:center!important;border-radius:12px!important;margin:0!important}
.asi-aap .asi-aap-family-layout{align-items:start!important}
.asi-aap .asi-aap-family-layout .asi-aap-family-photo{height:275px!important}
.asi-aap .asi-aap-parent-enroll .asi-aap-enroll-cta{display:inline-flex!important;margin-top:8px!important}
.asi-aap .asi-content .asi-aap-enroll-cta{font-size:16px!important;min-width:0!important}
/* On image-heavy About and Students pages, let text flow beside the school photos. */
@media(min-width:850px){
 .asi-aap .asi-content:has(.asi-aap-family) .asi-aap-family{clear:both}
}
@media(max-width:780px){.asi-aap .asi-aap-parent-enroll,.asi-aap .asi-aap-family-layout{grid-template-columns:1fr!important;gap:16px!important}.asi-aap .asi-content img.asi-aap-parent-photo,.asi-aap .asi-content img.asi-aap-family-photo{height:auto!important;max-height:300px!important}}


/* v3.4 AAP: editorial text-left/photo-right layout for About Us and Students */
.asi-aap .asi-content .asi-aap-editorial{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(280px,.85fr)!important;align-items:start!important;gap:clamp(22px,3vw,44px)!important;width:100%!important}
.asi-aap .asi-aap-editorial-copy{min-width:0!important}
.asi-aap .asi-aap-editorial-copy h2{margin-top:0!important}
.asi-aap .asi-aap-editorial-media{min-width:0!important;position:sticky;top:120px}
.asi-aap .asi-content .asi-aap-editorial-media img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:450px!important;object-fit:cover!important;border-radius:12px!important;margin:0!important}
.asi-aap .asi-content .asi-aap-editorial-media figure{margin:0!important;width:100%!important}
.asi-aap .asi-content img.asi-aap-parent-photo,.asi-aap .asi-content img.asi-aap-family-photo{object-fit:cover!important;object-position:center!important}
@media(max-width:850px){.asi-aap .asi-content .asi-aap-editorial{grid-template-columns:1fr!important;gap:18px!important}.asi-aap .asi-aap-editorial-media{position:static!important}.asi-aap .asi-content .asi-aap-editorial-media img{max-height:340px!important;object-fit:contain!important}}


/* v3.5 — coherent AAP editorial typography, image treatment and Parents cards */
.asi-aap .asi-content{color:#233b53!important;font-size:17px!important;line-height:1.65!important}
.asi-aap .asi-content p{font-size:17px!important;line-height:1.65!important;margin-bottom:18px!important}
.asi-aap .asi-content h2{font-size:clamp(26px,2.4vw,32px)!important;line-height:1.22!important;letter-spacing:-.025em!important;margin-bottom:18px!important}
.asi-aap .asi-content .asi-aap-welcome-label{display:block!important;font-size:19px!important;font-weight:700!important;letter-spacing:.015em!important;color:#1a659c!important;line-height:1.4!important;margin:0 0 12px!important}
/* Also catches the original WordPress small-text paragraph if it is not wrapped by the content filter. */
.asi-aap .asi-aap-editorial-copy>p:first-child:has(small){font-size:19px!important;font-weight:700!important;color:#1a659c!important;margin-bottom:12px!important}
.asi-aap .asi-aap-editorial-copy>p:first-child small{font-size:19px!important;font-weight:700!important;color:#1a659c!important}
.asi-aap .asi-aap-editorial{grid-template-columns:minmax(0,1.35fr) minmax(300px,.95fr)!important;gap:36px!important;align-items:start!important}
.asi-aap .asi-aap-editorial-media{position:static!important;align-self:start!important;margin-top:12px!important}
.asi-aap .asi-content .asi-aap-editorial-media img{height:auto!important;max-height:none!important;aspect-ratio:16/10!important;object-fit:cover!important;object-position:center!important;border:1px solid #e0e9f1!important;box-shadow:0 6px 20px rgba(19,46,72,.07)!important}
.asi-aap .asi-aap-parent-enroll,.asi-aap .asi-aap-family-layout{grid-template-columns:minmax(0,1.2fr) minmax(310px,.85fr)!important;align-items:center!important;gap:32px!important;margin:20px 0 30px!important}
.asi-aap .asi-content img.asi-aap-parent-photo,.asi-aap .asi-content img.asi-aap-family-photo{height:auto!important;aspect-ratio:16/10!important;object-fit:cover!important;object-position:center!important;border:1px solid #e0e9f1!important;box-shadow:0 5px 16px rgba(19,46,72,.07)!important}
.asi-aap .asi-aap-family-layout{align-items:start!important}
.asi-aap .asi-aap-family-layout .asi-aap-family-photo{height:auto!important;aspect-ratio:16/10!important;object-fit:cover!important}
.asi-aap .asi-aap-parent-enroll-copy h2,.asi-aap .asi-aap-family-copy h2{margin-top:0!important}
.asi-aap .asi-content a.asi-aap-enroll-cta{font-size:16px!important;min-height:48px!important;padding:12px 22px!important}
@media(max-width:850px){
 .asi-aap .asi-content .asi-aap-editorial,.asi-aap .asi-aap-parent-enroll,.asi-aap .asi-aap-family-layout{grid-template-columns:1fr!important;gap:20px!important}
 .asi-aap .asi-aap-editorial-media{margin-top:0!important}
 .asi-aap .asi-content .asi-aap-editorial-media img,.asi-aap .asi-content img.asi-aap-parent-photo,.asi-aap .asi-content img.asi-aap-family-photo{aspect-ratio:auto!important;max-height:360px!important;object-fit:contain!important}
}

/* v3.6 — justified AAP editorial copy, without distorting UI labels. */
@media (min-width: 768px) {
  .asi-aap .asi-content p,
  .asi-aap .asi-aap-editorial-copy p,
  .asi-aap .asi-aap-family-copy p,
  .asi-aap .asi-aap-parent-enroll-copy p {
    text-align: justify !important;
    text-justify: inter-word;
    hyphens: auto;
    -webkit-hyphens: auto;
    overflow-wrap: break-word;
  }
}
/* Short descriptions, captions, contact details and card metadata remain readable. */
.asi-aap .asi-content h1,
.asi-aap .asi-content h2,
.asi-aap .asi-content h3,
.asi-aap .asi-content h4,
.asi-aap .asi-content .asi-aap-welcome-label,
.asi-aap .asi-content figcaption,
.asi-aap .asi-content .asi-aap-staff-card p,
.asi-aap .asi-content .asi-aap-staff-directory p,
.asi-aap .asi-content .asi-aap-school-info p {text-align:left!important}
@media (max-width: 767px) {
  .asi-aap .asi-content p {text-align:left!important;hyphens:none!important}
}


/* v3.7: AAP About Us introductory label and readable staff emails. */
.asi-aap .asi-content .asi-aap-welcome-label,
.asi-aap .asi-content .asi-aap-editorial-copy .asi-aap-welcome-label,
.asi-aap .asi-content .asi-aap-editorial-copy > p:first-child:has(small),
.asi-aap .asi-content .asi-aap-editorial-copy > p:first-child small {
  font-size:20px!important;
  font-weight:750!important;
  line-height:1.45!important;
  letter-spacing:0!important;
  color:#17629a!important;
  margin:0 0 12px!important;
  text-align:left!important;
}
.asi-aap .asi-content .asi-aap-staff-grid .asi-aap-person p:last-child,
.asi-aap .asi-content .asi-aap-staff-grid .asi-aap-person p:last-child a,
.asi-aap .asi-aap-staff-grid .asi-aap-person a[href^="mailto:"] {
  font-size:16px!important;
  line-height:1.55!important;
  font-weight:600!important;
  text-align:center!important;
  color:#1264a3!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
@media(max-width:600px){
 .asi-aap .asi-content .asi-aap-staff-grid .asi-aap-person p:last-child a{font-size:16px!important}
}

/* v3.8: Consistent AAP staff directory card alignment, scoped to contact page. */
.asi-aap .asi-content .asi-aap-staff-grid{align-items:stretch!important;gap:20px!important}
.asi-aap .asi-content .asi-aap-staff-grid .asi-aap-person{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;padding:0 16px 22px!important;min-width:0!important;overflow:hidden!important}
.asi-aap .asi-content .asi-aap-staff-grid .asi-aap-person>img{width:calc(100% + 32px)!important;max-width:none!important;height:260px!important;flex:0 0 260px!important;object-fit:contain!important;object-position:center center!important;background:#f2f5f8!important;border-radius:0!important;margin:0 -16px 16px!important}
.asi-aap .asi-content .asi-aap-staff-grid .asi-aap-person>h3{width:100%!important;min-height:2.7em!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0 0 4px!important;padding:0!important;text-align:center!important;font-size:19px!important;line-height:1.35!important}
.asi-aap .asi-content .asi-aap-staff-grid .asi-aap-person>p{width:100%!important;min-height:2.8em!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important;text-align:center!important;font-size:16px!important;line-height:1.4!important;overflow-wrap:anywhere!important}
.asi-aap .asi-content .asi-aap-staff-grid .asi-aap-person>p:last-child{margin-top:auto!important;padding-top:12px!important;min-height:3em!important}
.asi-aap .asi-content .asi-aap-staff-grid .asi-aap-person>p:last-child a{display:inline-block!important;font-size:16px!important;font-weight:600!important;line-height:1.4!important;text-align:center!important;overflow-wrap:anywhere!important}
@media(max-width:560px){.asi-aap .asi-content .asi-aap-staff-grid .asi-aap-person>img{height:290px!important;flex-basis:290px!important}}

/* v3.9: Keep each staff member's name and role together, without artificial row height. */
.asi-aap .asi-content .asi-aap-staff-grid .asi-aap-person>h3{min-height:0!important;height:auto!important;margin:0!important;padding:0!important;line-height:1.3!important}
.asi-aap .asi-content .asi-aap-staff-grid .asi-aap-person>p:not(:last-child){min-height:0!important;height:auto!important;margin:2px 0 0!important;padding:0!important;line-height:1.35!important}
.asi-aap .asi-content .asi-aap-staff-grid .asi-aap-person>p:last-child{margin-top:auto!important;padding-top:16px!important}

/* v4.3 — AAP homepage card balance and school information hierarchy */
@media (min-width:801px){
 .asi-aap.asi-home .asi-home-section{align-items:stretch!important;}
 .asi-aap.asi-home .asi-home-section>.asi-home-intro,
 .asi-aap.asi-home .asi-home-section>.asi-contact-side{align-self:stretch!important;height:100%!important;box-sizing:border-box!important;}
}
.asi-aap.asi-home .asi-home-section>.asi-contact-side{display:flex!important;flex-direction:column!important;gap:0!important;}
.asi-aap.asi-home .asi-contact-side .asi-aap-info-group{margin:0 0 14px!important;}
.asi-aap.asi-home .asi-contact-side .asi-aap-info-group h3{font-size:16px!important;font-weight:750!important;line-height:1.3!important;color:#173d5d!important;margin:0 0 6px!important;text-align:left!important;}
.asi-aap.asi-home .asi-contact-side .asi-aap-info-group p{margin:0 0 6px!important;line-height:1.5!important;font-size:15px!important;}
.asi-aap.asi-home .asi-contact-side .asi-aap-entrance-two span{display:block!important;font-size:14px!important;color:#52677d!important;margin-bottom:3px!important;}
.asi-aap.asi-home .asi-contact-side .asi-aap-entrance-two a{display:inline-block!important;font-size:15px!important;font-weight:650!important;}
.asi-aap.asi-home .asi-contact-side .asi-aap-side-apply{margin-top:auto!important;text-align:center!important;}
@media(max-width:800px){.asi-aap.asi-home .asi-home-section>.asi-home-intro,.asi-aap.asi-home .asi-home-section>.asi-contact-side{height:auto!important;align-self:auto!important;}}

/* AAP v4.4: authentic enhanced mural beneath the About Our School introduction. */
.asi-aap.asi-home .asi-home-section>.asi-home-intro{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;}
.asi-aap.asi-home .asi-aap-home-mural{margin:18px 0 0!important;width:100%!important;overflow:hidden;border-radius:10px;line-height:0;}
.asi-aap.asi-home .asi-aap-home-mural img{display:block;width:100%;height:auto;max-height:220px;object-fit:contain;object-position:center;background:#f5f7fa;}
@media(max-width:800px){.asi-aap.asi-home .asi-aap-home-mural img{max-height:none;}}

/* v4.5: display approved mural with PHYSICS lettering; preserve entire artwork. */
.asi-aap.asi-home .asi-aap-home-mural{margin:20px 0 0!important;max-width:100%!important;background:transparent!important;}
.asi-aap.asi-home .asi-aap-home-mural img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important;background:transparent!important;border-radius:9px!important;}
.asi-aap.asi-home .asi-home-intro{min-width:0!important;}
@media(min-width:801px){.asi-aap.asi-home .asi-home-section{align-items:stretch!important;}.asi-aap.asi-home .asi-home-section>.asi-home-intro,.asi-aap.asi-home .asi-home-section>.asi-contact-side{height:auto!important;align-self:stretch!important;}}
@media(max-width:800px){.asi-aap.asi-home .asi-aap-home-mural{margin-top:16px!important;}}

/* ASPIRA Manage 1.7 — AAP footer only: three aligned columns; school footer unaffected. */
@media (min-width: 761px) {
 .asi-aap .asi-footer .asi-footer-grid {
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr) minmax(0,1.05fr)!important;
  column-gap:clamp(24px,4vw,64px)!important;
  align-items:start!important;
 }
 .asi-aap .asi-footer .asi-footer-grid>div:first-child,
 .asi-aap .asi-footer .asi-footer-grid>div:last-child {
  justify-self:stretch!important;width:auto!important;max-width:none!important;min-width:0!important;
 }
 .asi-aap .asi-footer .asi-aap-footer-org-socials .asi-aap-social-wrap {max-width:100%!important;}
 .asi-aap .asi-footer .asi-aap-footer-org-socials .asi-social-buttons {max-width:100%!important;}
}
@media (max-width:760px){
 .asi-aap .asi-footer .asi-footer-grid {grid-template-columns:minmax(0,1fr)!important;gap:24px!important;}
 .asi-aap .asi-footer .asi-footer-grid>div {justify-self:stretch!important;width:auto!important;max-width:none!important;}
}

/* ASPIRA Manage 1.8: align AAP footer headings and social buttons to the same top edge. */
.asi-aap .asi-footer .asi-footer-grid > div {align-self:start!important;min-width:0!important;}
.asi-aap .asi-footer .asi-aap-footer-org-socials .asi-social,
.asi-aap .asi-footer .asi-aap-footer-org-socials .asi-aap-social-wrap {margin:0!important;padding:0!important;}
.asi-aap .asi-footer .asi-aap-footer-org-socials .asi-social h3 {
 margin:0 0 12px!important;padding:0!important;font-size:18px!important;
 line-height:1.35!important;font-weight:700!important;color:#fff!important;
}
.asi-aap .asi-footer .asi-aap-footer-org-socials .asi-social-buttons {margin:0!important;}
@media (max-width:760px){.asi-aap .asi-footer .asi-footer-grid{row-gap:26px!important;}}

/* v2.5: AAP contact information only; consistent type scale and natural wrapping. */
.asi-aap .asi-aap-contact .am25-contact-details h3{font-size:20px!important;line-height:1.35!important;margin:16px 0 5px!important}
.asi-aap .asi-aap-contact .am25-contact-details h3:first-child{margin-top:0!important}
.asi-aap .asi-aap-contact .am25-contact-details p,.asi-aap .asi-aap-contact .am25-contact-details p a{font-size:16px!important;line-height:1.6!important;overflow-wrap:anywhere!important;white-space:normal!important}
.asi-aap .asi-aap-contact .am25-contact-details .asi-entrance{margin:12px 0!important}
