/* Opening Hours (loaded after base.css). */
.hours { padding-top: 48px; padding-bottom: 0; }
@media (min-width: 768px) { .hours { padding-top: 110px; } }
.hours__grid { max-width: calc(1120px + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); display: grid; gap: 48px; }
@media (min-width: 1025px) { .hours__grid { grid-template-columns: 550px minmax(0, 1fr); gap: 0 40px; align-items: start; } }
.hours table { width: 100%; border-collapse: collapse; font: 300 15px/1.5 var(--ff-roboto); color: #4a4a4a; }
.hours caption { padding-bottom: 14px; text-align: left; font: 300 15px/1.5 var(--ff-roboto); color: var(--c-navy); }
.hours th, .hours td { padding: 12px 8px; text-align: left; border-bottom: 1px solid #e6e6e6; }
.hours tr:last-child th, .hours tr:last-child td { border-bottom: 0; }
.hours th { width: 52%; font-weight: 500; color: var(--c-navy); }
.slogan { text-align: center; color: #000; padding-top: 40px; }
.slogan__big { font: 500 clamp(1.625rem, 1.1rem + 2.2vw, 2.625rem)/1.36 var(--ff-sans); }
.slogan__small { margin-top: 14px; font: 500 clamp(1.125rem, 1rem + .5vw, 1.375rem)/1.27 var(--ff-sans); }
.cta-section { --cta-pad-t: 48px; --cta-pad-b: 56px; }
@media (min-width: 1025px) { .cta-section { --cta-pad-t: 150px; --cta-pad-b: 90px; } }

.cta-band__media img { object-position: center top; }
.hours-page .cta-band::before, .cta-section .cta-band::before { background: linear-gradient(100deg, rgba(0,0,0,.72), rgba(0,0,0,.45)); }
.cta-band__title { font-size: clamp(1.875rem, 1.3rem + 1.8vw, 2.75rem); }
