.news-list-view{display:grid;gap:24px;margin-block:32px}.news-card{background:var(--sage);padding:28px;border-radius:12px}.news-card h2{font-size:28px}.news-card time,.news-detail time{font-size:14px;color:var(--muted)}.news-detail img{max-width:100%;height:auto}.pagination{display:flex;gap:12px;list-style:none;padding:0}.frame-type-text{padding-block:24px}.frame-type-text h1,.frame-type-text h2{margin-bottom:20px}

/* Section components already sit inside the content page's central container. */
.content-page > .wrap,
.content-page .services > .wrap,
.content-page .contact > .wrap {
  width: 100%;
  max-width: none;
  padding-inline: 0;
}
.content-page > .hero {
  padding-top: 12px;
}
.hero--text-only {
  grid-template-columns: 1fr;
  gap: 0;
}
.hero--text-only .hero-visual {
  display: none;
}
.hero--text-only .intro {
  max-width: 650px;
}
.content-anchor {
  display: block;
  height: 0;
}
.breadcrumbs {
  flex-wrap: wrap;
}

.not-found {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:48px;background:linear-gradient(120deg,#f0f4e9,#e7f0e8);padding:48px;border-radius:16px;margin-block:16px 48px}
.not-found h1 {font-size:clamp(36px,4vw,54px);margin-bottom:24px}
.not-found-copy>p:not(.eyebrow) {font-size:17px;color:var(--muted)}
.not-found-copy>p.not-found-lead {font-size:20px;color:var(--deep)}
.not-found-actions {display:flex;align-items:center;flex-wrap:wrap;gap:18px 24px;margin-top:28px}
.not-found .button:hover {color:white}
.not-found-contact {display:inline-flex;align-items:center;gap:12px;min-height:48px;font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.not-found-art svg {display:block;width:100%;height:auto}
.not-found-art p {text-align:center;font-size:14px;color:var(--muted);margin:0}
.error-page .breadcrumbs,.error-page .section-nav {display:none}
.error-page {padding-top:0}
.error-page .not-found {background:var(--sage);border-radius:0;padding:64px 0;margin-top:0;box-shadow:0 0 0 100vmax var(--sage);clip-path:inset(0 -100vmax)}
@media(max-width:900px) {.not-found {padding:32px;gap:24px}}
@media(max-width:650px) {
  .not-found {grid-template-columns:minmax(0,1fr);padding:28px 24px;margin-top:0;gap:28px}
  .not-found h1 {font-size:36px}
  .not-found-copy>p.not-found-lead {font-size:18px}
  .not-found-art {max-width:260px;width:100%;margin:auto}
  .not-found-actions {align-items:stretch;flex-direction:column;gap:12px}
  .not-found-actions>a {justify-content:center;min-height:54px}
  .error-page .not-found {padding:40px 0}
}

/* Shared home content also fits the narrower information-page container. */
.information-page .patient,.information-page .hours-layout {width:100%;max-width:none;gap:56px}
.information-page .patient {padding-inline:0;padding-block:32px 64px}
.information-page .contact {border-radius:0;padding:60px 0;margin-bottom:24px;box-shadow:0 0 0 100vmax var(--deep);clip-path:inset(0 -100vmax)}
.information-page .section.wrap {width:100%;max-width:none;padding-inline:0;padding-block:40px}
@media(max-width:650px) {
  .information-page .patient,.information-page .hours-layout {gap:28px}
  .information-page .contact {padding:40px 0}
  .information-page .contact-layout {gap:32px}
}

/* News follows the service cards' calm colors and typography. */
.news-board {background:var(--sage);border-radius:14px;padding:32px;margin-block:12px 48px}
.news-board>.eyebrow {margin-bottom:24px}
.news-board .news-list-view {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}
.news-board .news-card {display:flex;flex-direction:column;min-width:0;padding:0;background:var(--paper);border:1px solid #dde5d9;border-radius:10px;overflow:hidden;transition:border-color .18s,box-shadow .18s}
.news-board .news-card:hover,.news-board .news-card:focus-within {border-color:#9bb9aa;box-shadow:0 8px 22px #203e380a}
.news-board .news-card:only-child {grid-column:span 2}
.news-card-image {aspect-ratio:16/10;overflow:hidden;background:#dfe8db}
.news-card-image img {width:100%;height:100%;object-fit:cover}
.news-card-body {padding:28px;display:flex;flex-direction:column;flex:1}
.news-card-meta {display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:28px;line-height:1.5}
.news-card-meta span,.news-card-meta time {font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--teal)}
.news-board .news-card h2 {font-size:27px;line-height:1.2;margin:0 0 18px;overflow-wrap:anywhere}
.news-card-body>p {font-size:15px;color:var(--muted);margin-bottom:24px}
.news-card-body>.text-link {margin-top:auto;gap:14px;font-size:14px}
.news-board .pagination {margin:24px 0 0}
.news-board .no-news-found {margin:0;color:var(--muted)}
@media(max-width:1100px) {.news-board .news-list-view {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px) {
  .news-board {padding:20px;margin-bottom:36px}
  .news-board .news-list-view {grid-template-columns:minmax(0,1fr);gap:18px}
  .news-board .news-card:only-child {grid-column:auto}
  .news-card-body {padding:24px}
  .news-card-meta {margin-bottom:22px}
  .news-board .news-card h2 {font-size:26px}
  .news-card-body>p {font-size:16px}
}

/* A quiet welcome, followed by practical visit information. */
.hero-background {background:var(--paper)}
.quick-band {background:var(--sage);border:0}
.quick-band .quick {padding-block:18px}
.quick-band .quick>a:hover {background:#dce8d9}
.home-closure .closure-banner {background:#e0eade;border-top:1px solid #cfddca;border-bottom:0}
.home-closure .closure-inner>.icon {color:var(--teal)}
.home-closure .closure-inner {padding-block:14px;position:relative}
.home-closure .closure-inner::after {content:'';position:absolute;bottom:0;left:48px;right:48px;height:1px;background:#cfddca}
.home-closure .closure-inner div>span {display:none}
#navigation .nav-top {display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:3px}
#navigation .nav-top>a {white-space:nowrap;display:flex;align-items:center;min-height:44px}
#navigation .submenu-toggle {flex:0 0 36px;min-height:44px}
#navigation>a.button:hover {color:white}
@media(max-width:1100px) {.home-closure .closure-inner::after {left:32px;right:32px}}
@media(max-width:650px) {
  .quick-band .quick {padding-block:0}
  .quick-band .quick>a:last-child {border-bottom:0}
  .home-closure .closure-inner {gap:10px;flex-wrap:wrap}
  .home-closure .closure-inner>div {flex:1;min-width:0}
  .home-closure .closure-inner strong {font-size:13px}
  .home-closure .closure-inner>a {margin-left:37px;min-height:36px;font-size:13px}
  .home-closure .closure-inner::after {left:23px;right:23px}
}
@media(max-width:650px){
  .home-closure .closure-inner>a{margin-left:0;min-height:44px;justify-self:start;display:inline-flex;align-items:center;gap:12px;text-decoration:underline;text-underline-offset:4px}
}
/* Keep home-page typography and action targets comfortable on narrow phones. */
@media(max-width:650px){
  .contact-details a[href^="mailto:"]{font-size:18px;line-height:1.6}
  .service-grid .text-link,.about-copy .text-link,.services-bottom .text-link{min-height:44px}
  .about-copy .signature{margin-top:12px}
}
@media(max-width:360px){
  .hours-layout h2,.about-copy h2,.patient h2,.contact h2,.section-heading h2{font-size:32px}
  .service-grid article{padding:24px}
  .service-grid h3{font-size:26px}
  .hours-layout .phone{font-size:28px}
}
