/* Screen spacing: document templates keep their established print typography. */
@media screen {
 body{line-height:1.5}
 body p{margin:0 0 1em;line-height:1.5!important}
 .section{padding-top:48px;padding-bottom:48px}
 .section h2,.section-head h2{margin-bottom:12px}
 .teacher-card,.message-card,.leader-card,.notice-list article{padding:24px}
 .message-card>p{line-height:1.5}
 .fee-note{padding:18px 22px;margin-top:22px}
 .portal-grid,.teacher-grid,.gallery-grid{gap:18px}
 @media(max-width:560px){.section{padding-top:32px;padding-bottom:32px}.teacher-card,.message-card,.leader-card,.notice-list article{padding:18px}}
}

.school-location{margin-top:20px;min-width:0}
.school-location h3{margin:0 0 10px;color:var(--navy,#0b2344)}
.school-map{display:block;width:100%;height:320px;border:1px solid #dbe5f2;border-radius:12px;background:#f5f8fc}
.school-map-link,.school-directions-link{display:inline-block;margin-top:10px;margin-right:12px;overflow-wrap:anywhere}
@media(max-width:560px){.school-map{height:280px}}
@media print{.school-map{display:none}}

/* Public website typography and links; printable ERP documents keep their own rules. */
@media screen{body{line-height:1.5}body :is(p,li,dd,dt,h1,h2,h3,h4,h5,h6,a,summary,label,input,select,textarea,button){line-height:1.5!important}main p{ text-align:justify;text-justify:inter-word;hyphens:auto;overflow-wrap:break-word}main .eyebrow,.hero-card p,.leader-card p,.teacher-card p,.center p,.result-card p{text-align:inherit}a{color:#205b91;text-decoration-thickness:1px;text-underline-offset:3px}a:hover{text-decoration-thickness:2px}a:focus-visible,summary:focus-visible{outline:3px solid #2f88b0;outline-offset:4px;border-radius:4px}a:not(.brand):not(.btn){overflow-wrap:anywhere}.btn,.parent-public-links a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:10px;text-align:center;box-sizing:border-box;transition:background-color .15s,box-shadow .15s}.btn:hover{box-shadow:0 4px 12px #123e721a}.links a{text-decoration:none;min-height:44px;display:flex;align-items:center;padding:8px 10px;border-radius:8px}.links a:hover{background:#edf4fb;color:#123e72}.brand{text-decoration:none}.brand:hover{color:var(--navy)}.message-card>p>a:only-child,.school-location-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #bdcfe2;background:#edf4fb;color:#123e72;border-radius:9px;font-size:14px;font-weight:700;text-decoration:none}.message-card>p>a:only-child:hover,.school-location-actions a:hover{background:#dfeef9}.school-location-section{background:#f5f8fc}.school-location-section .school-map{height:380px;margin-top:20px;background:#fff}.school-location-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.school-contact a{font-weight:600}.school-location-section h2{margin-bottom:12px}@media(max-width:560px){.school-location-section .school-map{height:300px}}}
@media(prefers-reduced-motion:reduce){.btn,.parent-public-links a{transition:none}}
