.contact-page{max-width:960px}
.contact-heading{padding-block:48px 38px}
.contact-heading h1{font-size:64px;line-height:1.05;letter-spacing:-.035em}
.contact-essentials{display:grid;grid-template-columns:1fr 1fr;gap:96px;padding-bottom:36px}
.contact-page h2{font-family:var(--sans);font-size:13px;font-weight:500;line-height:1.5;margin:0 0 20px;color:var(--muted)}
.contact-direct{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin-bottom:20px}
.contact-direct a{display:flex;align-items:center;min-height:44px;font-size:21px;line-height:1.5}
.contact-direct a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--gold)}
.contact-address address{font-size:16px;line-height:1.7;font-style:normal}
.contact-route{font-size:13px;min-height:44px;margin-top:7px;gap:22px}
.contact-fax{font-size:12px;color:var(--muted);margin-top:18px}
.hours-list{margin:0;font-size:15px;line-height:1.7}
.hours-list>div+div{margin-top:25px}
.hours-list dt{margin-bottom:5px}
.hours-list dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}
.hours-list dd span{display:block}
.contact-directions{border-block:1px solid var(--rule);scroll-margin-top:24px}
.contact-directions summary{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:64px;padding-block:16px;list-style:none;font-size:15px;cursor:pointer}
.contact-directions summary::-webkit-details-marker{display:none}
.contact-directions summary>span{font-size:25px;line-height:1;color:var(--muted);font-weight:300}
.contact-directions[open] summary>span{transform:rotate(45deg)}
.contact-directions summary:focus-visible,.map-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.contact-directions-content{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-block:15px 32px}
.contact-directions-content h2{margin-bottom:12px;color:var(--ink)}
.contact-directions-content p{font-size:14px;line-height:1.75}
.contact-parking ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:16px}
.contact-parking li{font-size:14px;line-height:1.65}
.contact-parking li>a{display:inline-block;padding-block:9px;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px}
.contact-parking li>a:hover{text-decoration-color:var(--ink)}
.contact-parking li>a>span{margin-left:8px;color:var(--muted)}
.contact-parking li>span{display:block;color:var(--muted);font-size:13px}
.contact-map p{font-size:13px;max-width:330px;color:var(--muted)}
.map-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;margin-top:16px;padding:8px 0;border:0;border-bottom:1px solid var(--gold);background:none;color:var(--ink);font:inherit;font-size:14px;cursor:pointer}
#contact-map-panel{margin-top:24px}
#contact-map-panel[hidden]{display:none}
#contact-map-frame iframe{display:block;width:100%;height:300px;border:0}
.map-status{padding-top:10px}
.contact-photo{width:min(100%,640px);margin:40px auto 56px}
.contact-photo img{width:100%;height:auto}
@media(max-width:1000px){.contact-essentials{gap:64px}.contact-directions-content{gap:40px}.contact-heading h1{font-size:58px}}
@media(max-width:640px){.contact-heading{padding-block:32px 28px}.contact-heading h1{font-size:48px}.contact-essentials{grid-template-columns:1fr;gap:32px;padding-bottom:30px}.contact-page h2{margin-bottom:14px}.contact-direct{margin-bottom:16px}.contact-direct a{font-size:20px}.contact-address address{font-size:15px}.contact-fax{margin-top:14px}.hours-list{font-size:15px}.hours-list>div+div{margin-top:20px}.contact-directions summary{min-height:60px}.contact-directions-content{grid-template-columns:1fr;gap:28px;padding-bottom:28px}.contact-photo{margin-block:30px 36px}}
@media(max-width:359px){.contact-heading h1{font-size:44px}.contact-direct a{font-size:19px}}
