/* Shared refinements after comparing WordPress with the approved HTML. */
.group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.group-grid .group-card{display:flex;flex-direction:column;min-width:0}
.group-grid .group-card .group-address{display:flex;gap:10px;align-items:flex-start}
.group-address .icon{flex:0 0 19px;margin-top:3px}
.group-address a{text-decoration:none}
.group-grid .group-card .text-link{margin-top:auto;padding-top:22px;min-height:44px;width:100%;text-align:left}
.group-grid .group-card h3{font-size:clamp(28px,2.6vw,38px)}
.faq+.text-link,.faq-hub>.text-link{margin-top:28px;min-height:44px;gap:22px}
.section-head+.journal-grid{margin-top:0}
.story-body{padding-bottom:54px}
.story-sidebar nav a{line-height:1.55;transition:color .2s}
.story-sidebar nav a:hover,.story-sidebar nav a:focus-visible{color:var(--brand,#a73506)}
.story-content .wp-block-heading{scroll-margin-top:calc(var(--sticky-height,120px) + 24px)}
.story-content .context-links h3{max-width:none}
.school-information .legal-promo{margin-top:0}

.branch-explorer{align-items:center;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:28px}
.branch-list{align-content:center;padding:14px 12px;min-width:0}
.branch-list-caption{font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:650;color:var(--text-secondary,#5e6974);padding:0 16px;margin-bottom:18px}
.branch-list-note{font-size:12px;line-height:1.7;color:var(--text-secondary,#5e6974);padding:0 16px;margin-top:24px}
.branch-option{min-height:65px;line-height:1.5}
.branch-explorer [data-branch-details]{min-width:0}
.branch-detail{padding:24px}
.branch-photo{height:200px;margin-bottom:22px}
.branch-detail-heading h3{font-size:clamp(23px,2.1vw,30px);line-height:1.2;margin:10px 0}
.branch-detail-heading>p{margin:0 0 20px}
.branch-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:17px 0;border-block:1px solid var(--border,#dce0e5)}
.branch-contacts a{text-decoration:none;min-width:0;display:grid;gap:6px;align-content:start}
.branch-contacts span{font-size:10px;line-height:1.5;color:var(--text-secondary,#5e6974)}
.branch-contacts strong{font-size:14px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}
.branch-contacts a:hover strong{color:var(--brand,#a73506)}
.branch-decision{margin-top:22px}
.branch-decision h4{font-size:20px;line-height:1.3;font-weight:650;letter-spacing:-.025em;margin:0 0 10px}
.branch-decision p{line-height:1.7;max-width:58ch;margin:0 0 18px}
.branch-decision .button{min-height:48px;white-space:normal;text-align:left;gap:14px}
.branch-detail-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:15px}
.branch-detail-links .text-link{font-size:11px;min-height:36px;gap:10px}
.contact-context{padding:18px 20px;margin:20px 0;background:var(--brand-surface,#fcf4ef);border-radius:12px}
.contact-context:not([hidden]){display:grid;gap:12px}
.contact-context>strong{font-size:17px;line-height:1.4}
.contact-context>a{font-size:18px;text-decoration:none}
.modal .phone[hidden]{display:none}

.legal-layout{display:grid;grid-template-columns:225px minmax(0,790px);gap:48px;align-items:start}
.legal-nav{position:sticky;top:calc(var(--sticky-height,120px) + 24px);font-size:13px;line-height:1.5}
.legal-nav nav{display:grid;gap:13px;margin:18px 0 24px}
.legal-nav nav a{text-decoration:none;color:var(--text-secondary,#5e6974)}
.legal-nav a:hover,.legal-nav a:focus-visible{color:var(--brand,#a73506)}
.legal-nav .text-link{font-size:12px}
.legal-copy{min-width:0;font-size:16px;line-height:1.8;color:var(--text-secondary,#485461)}
.legal-copy>p{margin:0 0 24px}
.legal-copy>section+section{margin-top:30px;padding-top:26px;border-top:1px solid var(--border,#dce0e5)}
.legal-copy h2{font-size:clamp(23px,2vw,28px);font-weight:650;line-height:1.3;letter-spacing:-.025em;margin:0 0 16px;color:var(--text,#1f2834);scroll-margin-top:calc(var(--sticky-height,120px) + 24px);max-width:none}
.legal-copy h3{font-size:21px;margin:24px 0 12px}
.legal-copy p,.legal-copy ul{margin:0 0 16px}
.legal-copy li{margin:0 0 10px}
.legal-copy ul{padding-left:22px}
.legal-copy code{font-size:.88em;overflow-wrap:anywhere;padding:3px 6px;background:#f2f3f5;border-radius:4px;color:#333f4c}
.legal-copy address{font-style:normal;margin-block:16px}
.legal-copy dl{display:flex;flex-wrap:wrap;gap:16px 30px;margin-block:18px}
.legal-copy dt{font-size:11px;font-weight:650}
.legal-copy dd{margin:0;color:var(--text,#1f2834)}
.legal-copy .actions{margin-top:24px;gap:12px;flex-wrap:wrap}
body:has(.legal-layout) .page-intro h1{font-size:clamp(34px,4.2vw,60px);max-width:25ch}
body:has(.legal-layout) .page-intro .lead{font-size:17px}
.landing-contact .landing-phone-list a{line-height:1.5}
.lead-landing>*{min-width:0}

@media(max-width:1100px){
 .legal-layout{grid-template-columns:200px minmax(0,1fr);gap:35px}
 .branch-explorer{gap:16px}
 .branch-list{padding-inline:0}
 .branch-contacts{grid-template-columns:1fr;gap:12px}
 .branch-photo{height:180px}
}
@media(max-width:800px){
 .branch-explorer{grid-template-columns:minmax(0,1fr)}
 .branch-list{padding:18px 10px 4px}
 .branch-list-note{margin-top:16px}
 .branch-photo{height:240px}
 .branch-contacts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .legal-layout{grid-template-columns:minmax(0,1fr);gap:30px}
 .legal-nav{position:static;padding-bottom:20px;border-bottom:1px solid var(--border,#dce0e5)}
 .legal-nav nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
}
@media(max-width:600px){
 .group-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .group-grid .group-card{padding:23px}
 .group-grid .group-card h3{margin:24px 0 18px}
 .branch-detail{padding:19px}
 .branch-photo{height:180px;margin-bottom:20px}
 .branch-option{padding-inline:12px;gap:12px;font-size:13px}
 .branch-contacts{grid-template-columns:minmax(0,1fr)}
 .branch-decision .button{width:100%;justify-content:space-between;font-size:12px}
 .branch-detail-links{gap:0 12px}
 .legal-copy{font-size:15px;line-height:1.8}
 .legal-nav nav{grid-template-columns:minmax(0,1fr);gap:12px}
 .legal-copy .button{width:100%;white-space:normal}
 .story-body{padding-bottom:30px}
 .landing-contact h2{font-size:32px}
}
@media(prefers-reduced-motion:reduce){.story-sidebar nav a{transition:none}}


/* Schedule cards keep the approved desktop/tablet/mobile rhythm. */
.group-card button.text-link{background:transparent;border:0;border-radius:0;color:inherit;padding-inline:0;padding-bottom:0}
.schedule-section .group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.schedule-section .group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-section .group-card:last-child{grid-column:1/-1}}
@media(max-width:600px){.schedule-section .group-grid{grid-template-columns:minmax(0,1fr)}.schedule-section .group-card:last-child{grid-column:auto}}
.toolkit+.school-information{margin-top:32px}
