:root{--visit-blue:#119bd0;--visit-ink:#0b5070;--visit-text:#456c7e;--visit-line:#c8e6f1;--visit-orange:#d8792e}
.visit-page{color:var(--visit-text)}
.visit-page-body .visit-hero{height:auto!important;min-height:0!important;padding:34px 0 30px!important;background:linear-gradient(135deg,#eefaff 0%,#fff 75%)!important}
.visit-page-body .visit-hero::after{display:none!important}
.visit-page-body .visit-hero .sub-container{position:relative;z-index:2}
.visit-page-body .visit-hero .sub-breadcrumb,.visit-page-body .visit-hero .sub-breadcrumb a{position:static!important;width:auto!important;max-width:none!important;min-height:0!important;margin:0 0 20px!important;padding:0!important;transform:none!important;background:transparent!important;color:#57798a!important;text-shadow:none!important;box-shadow:none!important}
.visit-page-body .visit-hero .sub-kicker{margin:0 0 8px!important;color:#129bd0!important;text-shadow:none!important}
.visit-page-body .visit-hero .sub-title{color:#0b5070!important;text-shadow:none!important}
.visit-hero__inner{display:block}.visit-hero .sub-breadcrumb{margin-bottom:20px}.visit-hero .sub-kicker{margin:0 0 8px}.visit-hero .sub-title{margin:0;font-size:clamp(2rem,4.2vw,3.5rem);line-height:1.18}.visit-hero__lead{max-width:650px;margin:14px 0 0;font-size:clamp(.92rem,1.5vw,1.04rem);line-height:1.85}
.hours-page-body .visit-hero .sub-title{font-size:clamp(1.9rem,2.8vw,2.55rem)!important;line-height:1.25}
.visit-section{padding:clamp(48px,6vw,82px) 0}.visit-section-head{max-width:760px;margin:0 0 28px}.visit-section-head h2,.access-address h2,.access-parking h2,.access-barrier h2,.hours-thursday h2{margin:7px 0 10px;color:var(--visit-ink);font-size:clamp(1.45rem,2.8vw,2rem);line-height:1.35}.visit-section-head p:last-child{margin:0;line-height:1.8}.visit-text-link{display:inline-flex;margin-top:20px;color:#087cad;font-weight:800;text-decoration:none;gap:8px}
.access-summary__grid,.access-parking,.access-barrier{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,5vw,72px);align-items:center}.access-address dl{margin:24px 0 0;border-top:1px solid var(--visit-line)}.access-address dl div{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--visit-line)}.access-address dt{color:#588092;font-size:.78rem;font-weight:800}.access-address dd{margin:0;color:var(--visit-ink);font-weight:700;line-height:1.7}.access-tel{color:#0785bb;font-size:1.2rem;text-decoration:none}
.access-summary__photo img,.access-parking figure img,.access-barrier figure img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:24px}.access-summary__photo figcaption,.access-parking figcaption{margin-top:8px;color:#6c8895;font-size:.72rem}.access-map{height:min(54vw,520px);min-height:360px;overflow:hidden;border:1px solid var(--visit-line);border-radius:24px;box-shadow:0 18px 44px rgba(25,115,151,.1)}.access-map iframe{width:100%;height:100%;border:0}.access-route-button{margin-top:18px}.access-parking{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}.access-parking__number{display:flex;align-items:baseline;gap:8px;margin:14px 0 10px;color:var(--visit-blue)}.access-parking__number strong{font-size:3.8rem;line-height:1}.access-parking__number span{font-weight:800}.access-parking__copy>p:not(.sub-kicker):not(.access-parking__number){margin:8px 0;line-height:1.8}
.access-directions{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--visit-line);border-bottom:1px solid var(--visit-line)}.access-directions article{padding:28px 28px 30px}.access-directions article+article{border-left:1px solid var(--visit-line)}.access-directions article>span{color:var(--visit-blue);font-size:.7rem;font-weight:900;letter-spacing:.14em}.access-directions h3{margin:8px 0 10px;color:var(--visit-ink);font-size:1.16rem}.access-directions p{margin:0;line-height:1.85}.access-barrier{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}.access-barrier p:last-child{max-width:640px;line-height:1.9}
.visit-related__links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.visit-related__links a{display:flex;min-height:110px;padding:22px 24px;flex-direction:column;justify-content:center;border:1px solid var(--visit-line);border-radius:16px;background:#fff;color:inherit;text-decoration:none;transition:.2s ease}.visit-related__links a:hover{border-color:var(--visit-blue);transform:translateY(-2px)}.visit-related__links strong{color:var(--visit-ink);font-size:.98rem}.visit-related__links span{margin-top:6px;font-size:.72rem;line-height:1.5}
.hours-today-section{padding-bottom:40px}.hours-today{position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;border:1px solid var(--visit-line)!important}.hours-change-note{display:flex;margin:14px 0 0;padding:13px 17px;align-items:center;gap:12px;border-radius:12px;background:#fff8ef;color:#795536;font-size:.76rem;line-height:1.6}.hours-change-note strong{color:#aa5d22}.hours-change-note span{flex:1}.hours-change-note a{color:#a95418;font-weight:800;text-decoration:none;white-space:nowrap}
.hours-page .hours-today .today-hours__status>small{display:none!important}
.hours-table{overflow:hidden;border:1px solid var(--visit-line);border-radius:20px;background:#fff;box-shadow:0 16px 38px rgba(21,116,154,.08)}.hours-table__row{display:grid;grid-template-columns:110px 1fr 1fr;min-height:64px;border-top:1px solid #e0eff4;align-items:stretch}.hours-table__row:first-child{border-top:0}.hours-table__row>*{display:flex;padding:13px 20px;align-items:center;justify-content:center;text-align:center}.hours-table__row>*+*{border-left:1px solid #e0eff4}.hours-table__head{min-height:50px;background:#0f92c5;color:#fff;font-size:.78rem;font-weight:800}.hours-table__row>strong{color:var(--visit-ink);font-size:1rem}.hours-table__row>span{color:#315f73;font-weight:700}.hours-table__row--thursday>span:nth-child(2){display:block;line-height:1.8}.hours-table__row--thursday b{color:#0c82b4}.hours-table .is-special{color:#147da7;background:#eef9fd}.hours-table .is-closed{color:#788f99;background:#f7fafb}.hours-table__closed-all{grid-column:2/4}.hours-table-note{margin:14px 0 0;color:#607d8b;font-size:.78rem}
.hours-thursday{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(400px,1.25fr);gap:20px 55px;align-items:start}.hours-thursday ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--visit-line)}.hours-thursday li{display:grid;grid-template-columns:180px 1fr;padding:15px 8px;border-bottom:1px solid var(--visit-line)}.hours-thursday li span{color:#55798a}.hours-thursday li strong{color:var(--visit-ink)}.visit-caution{grid-column:2;margin:0;padding:13px 16px;border-radius:10px;background:#fff5e8;color:#8b5d30;font-size:.76rem;line-height:1.7}.hours-reception dl{margin:0;border-top:1px solid var(--visit-line)}.hours-reception dl div{display:grid;grid-template-columns:minmax(220px,.7fr) 1.3fr;gap:30px;padding:20px 6px;border-bottom:1px solid var(--visit-line)}.hours-reception dt{color:var(--visit-ink);font-weight:800}.hours-reception dd{margin:0;line-height:1.75}.hours-reception a{color:#087eaf;font-weight:700;text-decoration:none}
@media(max-width:767px){.visit-page-body .visit-hero{padding:18px 0 20px!important}.visit-page-body .visit-hero .sub-breadcrumb{margin-bottom:12px!important}.visit-hero .sub-title{font-size:1.72rem}.visit-hero__lead{margin-top:8px;font-size:.8rem;line-height:1.65}.visit-section{padding:40px 0}.visit-section-head{margin-bottom:20px}.visit-section-head h2,.access-address h2,.access-parking h2,.access-barrier h2,.hours-thursday h2{font-size:1.35rem}.access-summary__grid,.access-parking,.access-barrier{grid-template-columns:1fr;gap:22px}.access-summary__photo{order:-1}.access-summary__photo img,.access-parking figure img,.access-barrier figure img{border-radius:17px}.access-address dl div{grid-template-columns:82px 1fr;gap:12px}.access-map{height:62vw;min-height:250px;border-radius:16px}.access-parking__number strong{font-size:3rem}.access-directions{grid-template-columns:1fr}.access-directions article{padding:21px 4px}.access-directions article+article{border-top:1px solid var(--visit-line);border-left:0}.access-barrier figure{order:-1}.visit-related__links{grid-template-columns:1fr}.visit-related__links a{min-height:86px;padding:16px 18px}.hours-change-note{display:block}.hours-change-note>*{display:block}.hours-change-note span{margin:3px 0}.hours-change-note a{margin-top:5px;white-space:normal}.hours-table__row{grid-template-columns:54px 1fr 1fr;min-height:58px}.hours-table__row>*{padding:10px 6px;font-size:.74rem}.hours-table__head{min-height:44px}.hours-table__row>strong{font-size:.82rem}.hours-table__row--thursday>span:nth-child(2){font-size:.68rem;line-height:1.65}.hours-thursday{grid-template-columns:1fr;gap:18px}.hours-thursday li{grid-template-columns:1fr 1fr;padding:13px 3px}.visit-caution{grid-column:1}.hours-reception dl div{grid-template-columns:1fr;gap:6px;padding:17px 2px}.hours-reception dd{font-size:.82rem}}

/* Hours page: keep the mobile introduction compact and intentionally readable. */
@media(max-width:767px){
  .hours-page-body .visit-hero{
    padding:14px 0 18px!important;
    border-bottom:1px solid #d9edf5;
    background:linear-gradient(135deg,#effaff 0%,#f8fdff 58%,#fff 100%)!important;
  }
  .hours-page-body .visit-hero .sub-kicker{
    margin-bottom:7px!important;
    font-size:.72rem;
    letter-spacing:.16em;
  }
  .hours-page-body .visit-hero .sub-title{
    white-space:nowrap;
    font-size:clamp(1.3rem,6vw,1.65rem)!important;
    line-height:1.22;
    letter-spacing:.015em;
  }
  .hours-page-body .visit-hero__lead{
    max-width:none;
    margin-top:9px;
    color:#52798a;
    font-size:.78rem;
    line-height:1.7;
  }
  .hours-page-body .visit-hero__lead span{display:block}
  .hours-page .hours-today-section{
    padding-top:24px;
    padding-bottom:30px;
  }
  .hours-page .hours-today{
    margin-top:0;
    padding:12px 13px;
    border-radius:12px;
  }
}

/* The hours page gives today's schedule a wider, purpose-built layout. */
@media(min-width:768px){
  .hours-page .hours-today{
    padding:0 24px 22px;
    border-radius:18px;
    box-shadow:0 18px 44px rgba(18,99,132,.1);
  }
  .hours-page .hours-today .today-hours__head{
    min-height:68px;
    padding:0;
  }
  .hours-page .hours-today .today-hours__label{
    color:var(--visit-ink);
    font-size:1.05rem;
  }
  .hours-page .hours-today .today-hours__date{
    padding:7px 16px;
    font-size:.78rem;
  }
  .hours-page .hours-today .today-hours__body{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:0;
  }
  .hours-page .hours-today .today-hours__status{
    display:flex;
    grid-column:1/-1;
    min-height:64px;
    padding:15px 2px;
    align-items:center;
    gap:8px;
    border-bottom:1px solid #e1eff4;
    color:#52798a;
  }
  .hours-page .hours-today .today-hours__status>span{
    font-size:.9rem;
  }
  .hours-page .hours-today .today-hours__status>strong{
    color:var(--visit-ink);
    font-size:1.05rem;
  }
  .hours-page .hours-today .today-hours__status>small{
    margin-left:auto;
    color:#5f7f8e;
    font-size:.78rem;
  }
  .hours-page .hours-today .today-hours__row{
    grid-template-columns:64px minmax(0,1fr);
    min-height:132px;
    padding:22px 24px 12px;
    gap:4px 16px;
    align-content:center;
  }
  .hours-page .hours-today .today-hours__status+.today-hours__row{
    padding-left:2px;
    border-right:1px solid #e1eff4;
  }
  .hours-page .hours-today .today-hours__row+.today-hours__row{
    margin-top:0;
  }
  .hours-page .hours-today .today-hours__session{
    grid-row:span 3;
    padding:10px 7px;
    border-radius:10px;
    font-size:.82rem;
    line-height:1.45;
  }
  .hours-page .hours-today .today-hours__row.is-afternoon .today-hours__session{
    border:1px solid #b8e2f2;
    background:#eef9fd;
    color:#087dab;
  }
  .hours-page .hours-today .today-hours__time{
    font-size:1.45rem;
  }
  .hours-page .hours-today .today-hours__reception{
    font-size:.76rem;
  }
  .hours-page .hours-today .today-hours__contact{
    font-size:.7rem;
    line-height:1.5;
  }
  .hours-page .hours-today .today-hours__note,
  .hours-page .hours-today .today-hours__alert,
  .hours-page .hours-today .today-hours__thursday{
    grid-column:1/-1;
  }
  .hours-page .hours-today .today-hours__thursday{
    display:grid;
    grid-template-columns:2fr 1fr;
  }
  .hours-page .hours-today .today-hours__thursday .today-hours__row{
    padding-left:2px;
  }
  .hours-page .hours-today .today-hours__thursday .is-closed-subtle{
    border-left:1px solid #e1eff4;
  }
  .hours-page .hours-today .today-hours__note--thursday{
    grid-column:1/-1;
  }
}
