.contact-page{background:var(--soft)}
.contact-section{min-height:0;padding:2.5rem 0;background:linear-gradient(to bottom,#f5f8fa 0%,#f5f8fa 55%,#f7fafc 100%)}
.contact-section .eyebrow{margin-bottom:1rem}
.contact-section h1{margin:0;color:var(--blue);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.5rem,3vw,2.55rem);font-weight:700;line-height:1;letter-spacing:normal}
.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2.25rem}
.contact-card{display:block;min-height:190px;padding:2rem;color:#fff;background:#1d4a75;text-decoration:none}
.contact-card:hover,.contact-card:focus-visible{color:#fff;background:#173e65;text-decoration:none}
.contact-card:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.contact-label{display:block;margin-bottom:.55rem;color:#dce8f2;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.contact-card strong,.contact-card address{display:block;margin:0;color:#fff;font-size:1.05rem;font-style:normal;font-weight:750;line-height:1.65}
@media(max-width:850px){.contact-grid{grid-template-columns:1fr}.contact-card{min-height:0}}
@media(max-width:620px){.contact-section{padding:3.5rem 0 2rem}.contact-card{padding:1.5rem}.contact-card strong,.contact-card address{font-size:1rem}}

.prospective-section,.student-life-section,.maps-section{padding:clamp(4rem,7vw,6rem) 0;background:#fff}
.prospective-section{padding-top:1.5rem;padding-bottom:2.5rem;background:linear-gradient(to bottom,#f7fafc 0,#fafbfd 3.5rem,#fff 7rem,#fff 100%)}
.prospective-section h2,.student-life-section h2,.maps-section h2{margin:0;color:var(--blue);font-size:clamp(1.2rem,2.4vw,1.95rem);line-height:1.2}
.section-intro{width:100%;max-width:none;margin:1rem 0 0;color:var(--muted);font-size:1.08rem;line-height:1.7}
.prospective-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}
.prospective-group{display:flex;flex-direction:column;padding:1.65rem;border:1px solid var(--line);background:var(--soft);box-shadow:0 8px 20px rgb(16 47 79/.06)}
.prospective-group h3{margin:0 0 .8rem;color:var(--navy);font-size:1.15rem;line-height:1.35}
.prospective-group a{padding:.7rem 0;border-top:1px solid var(--line);color:var(--blue);font-weight:750;line-height:1.4;text-decoration:none}
.prospective-group a:hover{text-decoration:underline;text-underline-offset:.18em}
.prospective-group a:focus-visible,.student-life-group a:focus-visible,.map-card>a:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.student-life-section{padding-top:1.5rem;padding-bottom:2.5rem;background:linear-gradient(to bottom,#fff 0,#fafcfd 4rem,var(--soft) 8rem,var(--soft) 100%)}
.student-life-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}
.student-life-group{display:flex;flex-direction:column;padding:1.65rem;border:1px solid var(--line);background:#fff;box-shadow:0 8px 20px rgb(16 47 79/.06)}
.student-life-group h3{margin:0 0 .8rem;color:var(--navy);font-size:1.15rem;line-height:1.35}
.student-life-group a{padding:.7rem 0;border-top:1px solid var(--line);color:var(--blue);font-weight:750;line-height:1.4;text-decoration:none}
.student-life-group a:hover{text-decoration:underline;text-underline-offset:.18em}
.maps-section{padding-top:1.5rem;background:var(--soft)}
.maps-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:1.25rem;margin-top:2rem;align-items:stretch}
.map-card{display:flex;flex-direction:column;margin:0;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 12px 28px rgb(16 47 79/.08)}
.map-card>a{display:flex;align-items:center;justify-content:center;min-height:360px;padding:.75rem;background:#f5f3e9}
.map-card img{display:block;width:100%;height:420px;object-fit:contain}
.map-card figcaption{display:grid;gap:.35rem;padding:1.15rem 1.25rem;border-top:1px solid var(--line)}
.map-card figcaption strong{color:var(--navy);font-size:1.05rem}
.map-card figcaption a{width:max-content;max-width:100%;color:var(--blue);font-weight:750}
@media(max-width:850px){.prospective-groups,.student-life-groups,.maps-grid{grid-template-columns:1fr}.map-card>a{min-height:0}.map-card img{height:auto;max-height:520px}}
@media(max-width:620px){.contact-section{padding-top:2rem}.prospective-section,.student-life-section,.maps-section{padding:2.5rem 0}.prospective-section{padding-top:1.25rem}.student-life-section,.maps-section{padding-top:1.25rem}.prospective-group,.student-life-group{padding:1.4rem}.map-card figcaption{padding:1rem}}
