/* R3.10: Susen's 30 October mood and supplied originals; Friedl's navigation,
   focus, type sizes and consent behaviour remain in force. */
.oc-r310-hero,
#P001 .home-hero.oc-susen-film-fallback {
  position: relative; isolation: isolate; display: block;
  width: 100%; max-width: none; margin: 0; padding: 0 !important;
  overflow: hidden; background: #f4f5f6; min-height: 34rem;
}
.oc-r310-hero > .hero-image,
#P001 .home-hero.oc-susen-film-fallback > .hero-image {
  display: block; position: absolute !important; inset: 0 !important;
  z-index: 0 !important; width: 100%; height: 100% !important;
  max-height: none; min-height: 0; margin: 0; border-radius: 0;
  aspect-ratio: auto; overflow: hidden;
}
.oc-r310-hero > .hero-image picture,
.oc-r310-hero > .hero-image img,
#P001 .home-hero.oc-susen-film-fallback > .hero-image picture,
#P001 .home-hero.oc-susen-film-fallback > .hero-image img {
  display: block; width: 100%; height: 100% !important;
  min-height: 0; aspect-ratio: auto; object-fit: cover !important;
  object-position: center center; border-radius: 0;
}
.oc-r310-hero > .hero-grid,
#P001 .home-hero.oc-susen-film-fallback > .hero-grid {
  position: relative; z-index: 1; display: flex; align-items: center;
  width: calc(100% - 4rem); max-width: 77.5rem;
  min-height: 34rem !important; padding: 3rem 0 !important; margin-inline: auto;
}
.oc-r310-hero .hero-copy,
#P001 .home-hero.oc-susen-film-fallback .hero-copy {
  display: flex; flex-direction: column; align-items: flex-start;
  width: 51% !important; max-width: 39rem !important; gap: 1.15rem;
}
.oc-r310-hero .hero-copy h1,
#P001 .home-hero.oc-susen-film-fallback .hero-copy h1 {
  font-family: "Open Sans", Arial, sans-serif; font-weight: 400;
  font-size: clamp(2rem, 3.1vw, 3rem); line-height: 1.22;
  letter-spacing: -.025em; max-width: 25ch; margin: 0; text-wrap: balance; order: 1;
}
.oc-r310-hero .hero-copy .eyebrow,
#P001 .home-hero.oc-susen-film-fallback .hero-copy .eyebrow { order: 0; margin: 0; font-weight: 400; }
.oc-r310-hero .hero-copy .lead,
#P001 .home-hero.oc-susen-film-fallback .hero-copy .lead {
  order: 2; margin: 0; max-width: 48ch; font-size: 1.125rem; line-height: 1.7; color: #445a68;
}
#P001 .home-hero.oc-susen-film-fallback .hero-copy .buttons { order: 3; margin: 0 !important; }
#P001 .home-hero.oc-susen-film-fallback .hero-copy .booking-help { order: 4; margin: 0 !important; }
#P001 .home-hero.oc-susen-film-fallback .hero-copy .slogan { order: 5; margin: .25rem 0 0 !important; font-weight: 400; }
#P001 .hero-copy .slogan::before { display: none; content: none; }
.oc-r310-hero figcaption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.oc-r310-practice-intro { padding-block: 2rem; }
.oc-r310-practice-intro > .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem 3rem; }
.oc-r310-practice-intro p { margin: 0; }

/* One continuous introduction, without changing the heading hierarchy. */
#P010 .page-hero .oc-r310-intro { font: 400 1.125rem/1.7 "Open Sans", Arial, sans-serif; color: #445a68; max-width: 65ch; }
.oc-r310-preparation-list { padding-left: 1.4rem; margin: .8rem 0; white-space: normal; }
.oc-r310-preparation-list li + li { margin-top: .35rem; }
.oc-r310-cost-link { margin-top: 1rem; }

/* Wide text cells and language-aware word breaks, including enlarged type. */
.feature-card { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.feature-card .card-body, .feature-card .card-link, .fact { min-width: 0; }
.feature-card .card-link { display: flex; align-items: center; gap: .8rem; word-break: normal; overflow-wrap: normal; hyphens: auto; }
.feature-card .card-link .arrow { flex: none; }
.feature-card h3, .fact .value { word-break: normal; overflow-wrap: normal; hyphens: auto; }
#P001 [data-image-slot="IMG-P001-03"] { object-position: 42% center; }
#P082 .facts { grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
#P082 .fact { display: block; }
#P082 .fact .value { max-width: none; text-align: left; }

/* Compact original horizontal footer, without removing any contact path. */
.footer { padding-block: 2.5rem 1.5rem; }
.footer .footer-grid { grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr)); gap: 1.5rem 2rem; }
.footer .footer-grid h3 { min-height: 2.75rem; margin-bottom: .35rem; }
.footer .oc-footer-identity { display: block; border: 0; padding: 0; margin: 0 0 .85rem; }
.footer .footer-static-logo.oc-negative-logo { width: 17.25rem; max-width: 100%; height: auto; }
.footer .footer-claim { margin: .6rem 0 0 !important; }
.footer .footer-grid li > a { min-height: 2.75rem; padding-block: .45rem; }
.footer .oc-footer-address { margin: 0 !important; }
.footer .oc-footer-hours { margin-top: .75rem !important; }
.footer .footer-line { margin-top: 1.5rem; padding-top: 1rem; }
.footer .oc-footer-acute { margin-top: .8rem; }
.oc-footer-map-section { background: #f4f5f6; padding-block: 1.75rem; color: #233949; }
.oc-footer-map-section .oc-map-block { margin: 0; }
.oc-footer-map-section .oc-map-copy > h2 { font-size: 1.5rem; }
.oc-footer-map-section .oc-map-consent { font-size: 1rem; line-height: 1.65; max-width: none; }

@media (max-width: 64rem) {
  .oc-r310-hero .hero-copy, #P001 .home-hero.oc-susen-film-fallback .hero-copy { width: 58% !important; }
  .oc-r310-hero > .hero-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #f4f5f6cc, transparent 75%); }
  .footer .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 48rem) {
  body[data-r310-home="true"] .mobile-booking { display: none !important; }
  body[data-r310-home="true"] .header-tools > .btn { display: inline-flex !important; }
  body[data-r310-home="true"] { padding-bottom: 3.5rem; }
  .oc-r310-hero, #P001 .home-hero.oc-susen-film-fallback { min-height: 0; }
  .oc-r310-hero > .hero-grid, #P001 .home-hero.oc-susen-film-fallback > .hero-grid { width: calc(100% - 2rem); min-height: 30rem !important; padding: 2rem 0 !important; }
  .oc-r310-hero .hero-copy, #P001 .home-hero.oc-susen-film-fallback .hero-copy { width: 100% !important; max-width: 36rem !important; }
  .oc-r310-hero .hero-copy h1, #P001 .home-hero.oc-susen-film-fallback .hero-copy h1 { font-size: 2rem; }
  .oc-r310-hero > .hero-image::after, #P001 .home-hero.oc-susen-film-fallback > .hero-image::after { display: block !important; content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #f4f5f6f5, #f4f5f6dc 65%, #f4f5f6b8); }
  .oc-r310-hero > .hero-image img, #P001 .home-hero.oc-susen-film-fallback > .hero-image img { object-position: 75% center; }
  .oc-r310-practice-intro > .wrap { grid-template-columns: 1fr; }
  .feature-card { display: flex !important; flex-direction: column; }
  .feature-card > picture { width: 100%; flex: none; }
  .feature-card > picture > img { height: auto !important; min-height: 0 !important; aspect-ratio: 16 / 9; width: 100%; object-fit: cover; }
  .feature-card .card-body { padding: 1.25rem; width: 100%; }
  .footer .footer-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .footer .footer-grid > div { grid-column: auto; }
  .footer .footer-grid h3 { min-height: 0; }
  #P010 .page-hero .oc-r310-intro { font-size: 1.0625rem; }
}
body.oc-large-text .oc-r310-hero .hero-copy,
body.oc-large-text #P001 .home-hero.oc-susen-film-fallback .hero-copy { width: 100% !important; max-width: 48rem !important; }
body.oc-large-text #P001 .home-hero.oc-susen-film-fallback { display: block; }
body.oc-large-text #P001 .home-hero.oc-susen-film-fallback > .hero-image { position: absolute !important; inset: 0 !important; z-index: 0 !important; height: 100% !important; }
body.oc-large-text .oc-r310-hero > .hero-image::after,
body.oc-large-text #P001 .home-hero.oc-susen-film-fallback > .hero-image::after { display: block !important; content: ""; position: absolute; inset: 0; background: #f4f5f6eb; }
@media print {
  .oc-r310-hero > .hero-image, #P001 .home-hero.oc-susen-film-fallback > .hero-image { display: none !important; }
  .oc-r310-hero .hero-copy, #P001 .home-hero.oc-susen-film-fallback .hero-copy { width: 100% !important; }
  .oc-r310-hero > .hero-grid, #P001 .home-hero.oc-susen-film-fallback > .hero-grid { min-height: 0 !important; }
}
