/* sprint 03 — reproduce the measured GoDaddy homepage rhythm without redesigning it */
:root {
  --obc-blue: #75aab0;
  --obc-blue-dark: #537d82;
  --obc-ink: #1b1b1b;
  --obc-grey: #5e5e5e;
  --obc-mist: #f6f6f6;
  --obc-white: #fff;
  --obc-content: 1112px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: auto;
}

body {
  margin: 0;
  background: var(--obc-white);
  color: var(--obc-grey);
  font-family: Lato, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

a {
  color: inherit;
  text-underline-offset: 3px;
}

a:focus-visible,
button:focus-visible {
  outline: 3px solid var(--obc-blue-dark);
  outline-offset: 4px;
}

.obc-announcement {
  min-height: 46px;
  margin: 0;
  padding: 10px 24px;
  background: var(--obc-blue);
  color: #000;
}

.obc-announcement p {
  margin: 0;
  font-size: 16px;
  line-height: 26px;
}

.obc-announcement a {
  text-decoration: none;
}

/* sprint 25 — option three from the nav lab, on the real header.

   Three words carry the whole site and the rest live in a panel behind the first of them. The bar
   and the panel are both held to the page's own measure, which is what puts the mark on the same
   line as the hero copy and every heading below it. */
.obc-nav-shell.wp-block-group {
  /* The page's own margin, worked out the way the page works it out: the hero is a 1240 box centred
     inside a padded cover, so its copy starts at whichever is greater, the padding or half the
     leftover. Setting a max-width and a gutter here instead adds the gutter on top of that and puts
     the mark 60px inside the hero copy, which was the first attempt and was still wrong. */
  --obc-margin: max(clamp(20px, 5vw, 72px), calc((100% - 1240px) / 2));

  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 0 var(--obc-margin);
  min-height: 92px;
}

.obc-nav-shell .obc-desktop-navigation {
  flex: 1 1 auto;
}

.obc-nav-shell .obc-desktop-navigation .wp-block-navigation__container {
  gap: clamp(20px, 3vw, 42px);
}

.obc-nav-shell .obc-desktop-navigation a {
  color: #294f4b;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* the booking button, held at the right margin */
.obc-nav-shell .obc-nav-book {
  flex: 0 0 auto;
  margin-left: clamp(16px, 2vw, 28px);
}

.obc-nav-shell .obc-nav-book .wp-block-button__link {
  padding: 12px 22px;
  border-radius: 999px;
  background: #294f4b;
  color: #f6f6f6;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.obc-nav-shell .obc-nav-book .wp-block-button__link:hover {
  background: #537d82;
}

/* the panel. Shut by default, and it grows out of the bar rather than appearing under it. Height is
   not animated: the panel's height depends on what is in it, and animating to a guessed height
   either clips the last row or leaves a gap beneath it. */
.obc-panel.wp-block-group {
  position: absolute;
  z-index: 40;
  right: 0;
  left: 0;
  border-bottom: 1px solid rgba(41, 79, 75, 0.12);
  background: #fff;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s linear 0.22s;
  visibility: hidden;
}

/* sprint 32 — the panel opens without JavaScript.
 *
 * It used to open only when nav.js added `is-open`, so a script that failed took about twenty links
 * with it: the panel is the only route to the FAQ, the journal club, the students page, the referral
 * forms and the rest. Three top-level links survived on a desktop and, on a phone, nothing did.
 *
 * :hover and :focus-within do the same job in CSS and cost nothing. :focus-within matters more than
 * the hover: it is what makes the panel reachable by keyboard at all, which until now was also
 * something only the script provided.
 *
 * Scoped to .no-js, and that scoping is not tidiness. Unscoped, the two fought: CSS opens the instant
 * the pointer arrives and closes the instant it leaves, while nav.js is deliberately slower at both,
 * so moving quickly across the words made the panel half close and open again. The owner saw it
 * within the hour of it shipping. With the script running, the script owns the panel.
 *
 * nav.js is still worth having and this does not replace it. What it adds is the timing — waiting
 * before opening so crossing the word does not open it, and waiting longer before closing so the
 * pointer can travel down into the panel. Those are the manners. This is the menu existing. */
.obc-nav-shell.is-open + .obc-panel.wp-block-group,
.is-open > .obc-panel.wp-block-group,
.no-js .obc-nav-shell:hover > .obc-panel.wp-block-group,
.no-js .obc-nav-shell:focus-within > .obc-panel.wp-block-group,
.no-js .obc-nav-shell:hover + .obc-panel.wp-block-group,
.no-js .obc-nav-shell:focus-within + .obc-panel.wp-block-group {
  opacity: 1;
  transform: none;
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s;
  visibility: visible;
}

.obc-panel .obc-panel-inner.wp-block-columns {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(24px, 3vw, 38px) max(clamp(20px, 5vw, 72px), calc((100% - 1240px) / 2)) clamp(28px, 3.4vw, 44px);
  gap: clamp(20px, 3vw, 44px);
}

.obc-panel .obc-panel-title {
  margin: 0 0 14px;
  color: #537d82;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.obc-panel .obc-panel-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.obc-panel .obc-panel-list li {
  margin: 0 0 9px;
}

.obc-panel .obc-panel-list a {
  color: #294f4b;
  font-size: 14px;
  line-height: 1.45;
  text-decoration: none;
}

.obc-panel .obc-panel-list a:hover {
  text-decoration: underline;
}

/* the arrow that says a word has something behind it */
.obc-nav-shell [data-nl-trigger] > span::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-left: 7px;
  border-right: 1px solid currentcolor;
  border-bottom: 1px solid currentcolor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform 0.22s ease;
}

.obc-nav-shell.is-open [data-nl-trigger] > span::after {
  transform: translateY(1px) rotate(-135deg);
}

@media (max-width: 900px) {
  /* a phone gets the mark, the hamburger and nothing else; the panel is what the burger already is */
  .obc-nav-shell .obc-desktop-navigation,
  .obc-nav-shell .obc-nav-book,
  .obc-panel.wp-block-group {
    display: none;
  }
}

/* sprint 25 — the mark stands where HOME used to be in the menu. A logo that returns you to the
   front page is the one navigation convention every visitor already knows, and it buys back the
   width that the word was spending.

   The shell is a flex row, and it is one in the block itself rather than here. As a constrained
   group WordPress gave every child automatic side margins, and an automatic margin inside a flex row
   swallows the free space: the mark and the menu both ended up floating in the middle with the
   margins empty either side. Overriding that in CSS is a fight. Declaring the layout the block
   actually has is not. */
.obc-nav-shell.wp-block-group {
  gap: clamp(16px, 3vw, 40px);
}

.obc-nav-shell .obc-mark {
  flex: 0 0 auto;
  margin: 0;
  line-height: 0;
}

.obc-nav-shell .obc-mark img {
  display: block;
  width: auto;
  height: clamp(44px, 5vw, 64px);
}

/* the menu takes the rest of the row and stays centred within it, which keeps it where it was */
.obc-nav-shell .obc-desktop-navigation {
  flex: 1 1 auto;
}

@media (max-width: 781px) {
  /* the phone shows the mark and the hamburger, one at each end */
  .obc-nav-shell.wp-block-group {
    justify-content: space-between;
  }

  .obc-nav-shell .obc-mobile-navigation {
    flex: 0 0 auto;
  }
}

.obc-nav-shell {
  min-height: 80px;
  margin: 0;
  padding: 0 32px;
  background: var(--obc-mist);
}

.obc-desktop-navigation {
  min-height: 80px;
}

.obc-desktop-navigation .wp-block-navigation__container {
  gap: 34px;
}

.obc-desktop-navigation .wp-block-navigation-item__content {
  color: var(--obc-ink);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 2px;
  line-height: 24px;
  text-decoration: none;
  white-space: nowrap;
}

.obc-desktop-navigation .wp-block-navigation__submenu-container {
  border: 0;
  box-shadow: 0 8px 24px rgb(0 0 0 / 15%);
}

.obc-mobile-navigation {
  display: none !important;
}

.obc-hero {
  padding: 24px 24px 76px;
}

.obc-site-title {
  margin: 0;
  color: var(--obc-ink);
  font-family: Cabin, Arial, sans-serif;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 23px;
  text-transform: uppercase;
}

.obc-site-tagline {
  margin: 4px 0 21px;
  color: var(--obc-grey);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 3px;
  line-height: 20px;
}

.obc-hero-image {
  width: 750px;
  max-width: 100%;
  margin: 0 auto;
}

.obc-hero-image img {
  display: block;
  width: 750px;
  height: 500px;
  object-fit: cover;
}

.obc-hero-copy {
  margin: 21px auto 22px;
  color: var(--obc-grey);
  font-size: 16px;
  line-height: 24px;
}

.obc-pill .wp-block-button__link {
  min-width: 314px;
  padding: 17px 32px;
  border-radius: 999px;
  background: var(--obc-blue);
  color: var(--obc-ink);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  text-decoration: none;
}

.obc-section {
  padding: 78px 24px;
}

.obc-section > * {
  max-width: var(--obc-content);
  margin-inline: auto;
}

.obc-section-title {
  margin: 0 auto 44px;
  color: #595959;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 2px;
  line-height: 20px;
  text-transform: uppercase;
}

.obc-section-title::after {
  display: block;
  width: 48px;
  height: 1px;
  margin: 16px auto 0;
  background: var(--obc-blue);
  content: "";
}

.obc-cta-section,
.obc-explore,
.obc-book-again,
.obc-closing-band {
  background: var(--obc-blue);
}

.obc-card-grid {
  gap: 26px;
  margin-bottom: 0;
}

.obc-link-card {
  min-height: 158px;
  padding: 38px 24px 28px;
  background: var(--obc-white);
  text-align: center;
}

.obc-link-card h2,
.obc-book-again h2:not(.obc-section-title) {
  margin: 0;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 1px;
  line-height: 28px;
  text-transform: uppercase;
}

.obc-link-card h2 a,
.obc-book-again h2 a {
  color: var(--obc-ink);
  text-decoration: none;
}

.obc-link-card p {
  margin: 8px 0 0;
  color: #808080;
  font-size: 14px;
}

.obc-about-columns,
.obc-service-columns,
.obc-contact-columns {
  gap: 64px;
}

.obc-about-image img {
  display: block;
  width: 100%;
  aspect-ratio: 515 / 234;
  object-fit: cover;
}

.obc-about-copy h3 {
  margin: 0 0 24px;
  color: var(--obc-ink);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.3;
}

.obc-about-copy p,
.obc-services p,
.obc-contact p {
  margin: 0 0 18px;
}

.obc-services h4,
.obc-contact h4 {
  margin: 0 0 20px;
  color: var(--obc-ink);
  font-size: 22px;
  font-weight: 400;
  line-height: 28px;
}

.obc-services h4:not(:first-child) {
  margin-top: 40px;
}

.obc-book-again h2:last-child {
  margin: 0;
}

.obc-widget-note {
  color: #808080;
  font-size: 13px;
  font-style: italic;
}

.obc-closing-band {
  padding: 72px 24px 28px;
}

.obc-footer {
  padding: 54px 24px 62px;
  background: var(--obc-white);
  color: var(--obc-grey);
  font-size: 14px;
}

.obc-footer > * {
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
}

.obc-footer .wp-block-button__link {
  min-width: 160px;
  padding: 13px 28px;
  background: var(--obc-ink);
  color: var(--obc-white);
  font-size: 13px;
  letter-spacing: 2px;
}

.obc-not-migrated {
  min-height: 55vh;
  padding: 100px 24px;
  text-align: center;
}

/* sprint 04 — reproduce the portrait-led team directory without generic card chrome */
.obc-team-page {
  margin: 0;
  padding: 0 24px 220px;
  background: var(--obc-white);
}

.obc-team-brand {
  padding: 24px 0 57px;
}

.obc-team-content {
  width: min(100%, var(--obc-content));
  margin: 0 auto;
}

.obc-team-page-title,
.obc-team-section-title {
  margin: 0 0 12px;
  color: var(--obc-grey);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 2px;
  line-height: 22px;
  text-transform: uppercase;
}

.obc-team-section-title {
  margin-top: 78px;
}

.obc-team-rule {
  width: 100%;
  max-width: none !important;
  margin: 0 0 40px;
  border: 0;
  border-top: 1px solid #8c8c8c;
}

.obc-team-grid {
  display: grid;
  width: 100%;
  max-width: none !important;
  margin: 0;
  gap: 1px;
}

.obc-featured-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.obc-primary-team-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.obc-secondary-team-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.obc-provider-card {
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.obc-featured-provider {
  min-height: 489px;
}

.obc-provider-card .wp-block-cover__image-background {
  object-position: center;
}

.obc-provider-card .wp-block-cover__inner-container {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding: 0 28px 70px;
}

.obc-standard-provider::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 50% 0 0;
  background: linear-gradient(to bottom, transparent, rgb(0 0 0 / 34%));
  pointer-events: none;
}

.obc-standard-provider .wp-block-cover__inner-container {
  padding-bottom: 68px;
}

.obc-standard-provider p {
  margin: 0 0 22px;
  color: var(--obc-white);
  font-size: 16px;
  line-height: 22px;
  text-align: center;
}

.obc-provider-name {
  color: inherit;
}

.obc-standard-provider .obc-provider-name {
  color: var(--obc-white);
  font-weight: 700;
  text-decoration: underline;
}

.obc-provider-note {
  color: var(--obc-white);
  font-size: 14px;
}

.obc-provider-pill .wp-block-button__link,
.obc-provider-pill .obc-provider-name {
  min-width: 132px;
  padding: 12px 26px;
  border-radius: 999px;
  background: var(--obc-blue);
  color: var(--obc-ink);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 2px;
  line-height: 18px;
  text-align: center;
  text-decoration: none;
}

.obc-featured-name {
  width: 100%;
}

.obc-featured-name .obc-provider-pill,
.obc-featured-name .wp-block-button__link {
  max-width: 440px;
}

.obc-featured-name .wp-block-button__link {
  padding-right: 18px;
  padding-left: 18px;
  font-size: 12px;
  letter-spacing: 1.5px;
}

/* sprint 05 — reproduce the measured two-choice Book Now gateway */
.obc-book-page {
  margin: 0;
  padding: 0 24px 242px;
  background: var(--obc-white);
}

.obc-book-brand {
  padding: 24px 0 65px;
}

.obc-book-hero {
  padding-bottom: 80px;
}

.obc-book-title {
  width: 725px;
  max-width: 100%;
  margin: 0 auto;
  color: var(--obc-grey);
  font-size: 25px;
  font-weight: 400;
  line-height: 28px;
}

.obc-book-content {
  width: min(100%, var(--obc-content));
  margin: 0 auto;
}

.obc-book-prompt {
  margin: 0;
  color: var(--obc-grey);
  font-size: 25px;
  font-weight: 400;
  line-height: 37px;
}

.obc-book-rule {
  width: 100%;
  max-width: none !important;
  margin: 7px 0 32px;
  border: 0;
  border-top: 1px solid #8c8c8c;
}

.obc-book-choices {
  display: grid;
  grid-template-columns: repeat(2, 435px);
  width: 918px;
  max-width: 100%;
  margin: 0 auto;
  gap: 48px;
}

.obc-book-choice-wrap {
  width: 435px;
  margin: 0;
}

.obc-book-choice {
  display: flex;
  width: 435px;
  min-height: 470px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 14px;
  border-radius: 0;
  background: var(--obc-blue);
  color: #000;
  text-align: center;
  text-decoration: none;
}

.obc-book-choice-label {
  display: block;
  max-width: 407px;
  font-family: Cabin, Arial, sans-serif;
  font-size: 48px;
  font-weight: 400;
  letter-spacing: 1px;
  line-height: 1.3;
  text-transform: uppercase;
}

.obc-book-choice-detail {
  display: block;
  margin-top: 18px;
  font-size: 16px;
  line-height: 24px;
}

.obc-book-source-media {
  display: none;
}

/* sprint 06 — reproduce the prenatal directory's measured card grids */
.obc-waiting-page {
  margin: 0;
  padding: 0 24px 261px;
  background: var(--obc-white);
}

.obc-waiting-brand {
  padding: 24px 0 65px;
}

.obc-waiting-content {
  width: min(100%, var(--obc-content));
  margin: 0 auto;
}

.obc-waiting-title,
.obc-waiting-section-title {
  margin: 0;
  color: var(--obc-grey);
  font-size: 25px;
  font-weight: 400;
  line-height: 37px;
}

.obc-waiting-grid {
  display: grid;
  max-width: none !important;
  margin-right: auto;
  margin-left: auto;
  gap: 48px;
}

.obc-waiting-grid-three {
  grid-template-columns: repeat(3, 339px);
  width: 1113px;
}

.obc-waiting-grid-two {
  grid-template-columns: repeat(2, 435px);
  width: 918px;
}

.obc-waiting-gateways {
  margin-top: 40px;
}

.obc-waiting-card {
  display: flex;
  width: 100%;
  min-height: 470px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 38px 14px;
  background: var(--obc-blue);
  color: #000;
  text-align: center;
  text-decoration: none;
}

.obc-card-label {
  display: block;
  font-family: Cabin, Arial, sans-serif;
  font-size: 48px;
  font-weight: 400;
  letter-spacing: 1px;
  line-height: 1.3;
  text-transform: uppercase;
}

.obc-card-detail {
  display: block;
  margin-top: 18px;
  font-size: 16px;
  line-height: 24px;
}

.obc-booking-title {
  margin-top: 80px;
}

.obc-waiting-bookings {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 918px;
  max-width: 100%;
  min-height: 238px;
  margin: 28px auto 0;
  gap: 48px;
}

.obc-booking-option {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  text-align: center;
}

.obc-booking-option h4 {
  margin: 0 0 14px;
  color: var(--obc-grey);
  font-size: 19px;
  font-weight: 400;
  line-height: 28px;
}

.obc-booking-option p {
  min-height: 62px;
  margin: 0 0 20px;
  font-size: 15px;
  line-height: 23px;
}

.obc-waiting-booking,
.obc-map-button .wp-block-button__link {
  padding: 13px 28px;
  border-radius: 999px;
  background: var(--obc-blue);
  color: var(--obc-ink);
  font-size: 13px;
  letter-spacing: 1px;
  text-decoration: none;
}

.obc-provider-title {
  margin-top: 66px;
  margin-bottom: 39px;
}

.obc-provider-grid-last,
.obc-location-middle,
.obc-location-middle + .obc-waiting-grid {
  margin-top: 80px;
}

.obc-location-title {
  margin-top: 82px;
  margin-bottom: 80px;
}

.obc-location-middle {
  margin-top: 48px;
}

.obc-location-grid-last {
  margin-top: 80px;
}

.obc-map-button {
  margin-top: 70px;
}

/* sprint 07 — reproduce the postnatal directory and policy layout */
.obc-baby-page {
  margin: 0;
  padding: 0 24px 40px;
  background: var(--obc-white);
}

.obc-baby-brand {
  padding: 24px 0 65px;
}

.obc-baby-content {
  width: min(100%, var(--obc-content));
  margin: 0 auto;
}

.obc-baby-title {
  width: 725px;
  max-width: 100%;
  margin: 0 auto;
  color: var(--obc-grey);
  font-size: 25px;
  font-weight: 400;
  line-height: 28px;
}

.obc-baby-referral {
  width: 725px;
  max-width: 100%;
  margin: 22px auto 0;
  font-size: 16px;
  line-height: 24px;
}

.obc-baby-section-title {
  margin: 0;
  color: var(--obc-grey);
  font-size: 25px;
  font-weight: 400;
  line-height: 37px;
}

.obc-baby-prompt {
  margin-top: 57px;
}

.obc-baby-grid {
  display: grid;
  max-width: none !important;
  margin-right: auto;
  margin-left: auto;
  gap: 48px;
}

.obc-baby-grid-three {
  grid-template-columns: repeat(3, 339px);
  width: 1113px;
}

.obc-baby-grid-two {
  grid-template-columns: repeat(2, 339px);
  width: 726px;
}

.obc-baby-gateways {
  margin-top: 40px;
}

.obc-baby-card {
  display: flex;
  width: 100%;
  min-height: 470px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 38px 14px;
  background: var(--obc-blue);
  color: #000;
  text-align: center;
  text-decoration: none;
}

.obc-baby-booking-title {
  margin-top: 80px;
}

.obc-baby-bookings {
  display: grid;
  grid-template-columns: repeat(2, 339px);
  width: 726px;
  min-height: 267px;
  margin: 40px auto 0;
  gap: 48px;
}

.obc-baby-booking-option {
  margin: 0;
  text-align: center;
}

.obc-baby-booking-option h4 {
  margin: 0 0 14px;
  color: var(--obc-grey);
  font-size: 19px;
  font-weight: 400;
  line-height: 28px;
}

.obc-baby-booking-option p {
  min-height: 0;
  margin: 0 0 33px;
  font-size: 15px;
  line-height: 24px;
}

.obc-baby-booking,
.obc-baby-map .wp-block-button__link,
.obc-baby-questions {
  padding: 11px 28px;
  border-radius: 999px;
  background: var(--obc-blue);
  color: var(--obc-ink);
  font-size: 13px;
  letter-spacing: 1px;
  line-height: 18px;
  text-decoration: none;
}

.obc-baby-provider-title {
  margin-top: 0;
  margin-bottom: 40px;
}

.obc-baby-gap-small {
  margin-top: 48px;
}

.obc-baby-gap-large {
  margin-top: 80px;
}

.obc-baby-location-title {
  margin-top: 160px;
  margin-bottom: 39px;
}

.obc-baby-last-location {
  grid-template-columns: 532px;
  width: 532px;
}

.obc-baby-map {
  margin-top: 160px;
}

.obc-baby-map .wp-block-button,
.obc-baby-map .wp-block-button__link {
  width: 725px;
}

.obc-baby-map .wp-block-button__link {
  padding-top: 19px;
  padding-bottom: 19px;
  border-radius: 0;
  text-align: center;
}

.obc-baby-policy {
  display: grid !important;
  grid-template-columns: 435px 553px;
  margin-top: 80px;
  gap: 38px;
}

.obc-baby-policy .wp-block-column {
  margin: 0;
}

.obc-baby-policy figure,
.obc-baby-policy img {
  display: block;
  width: 339px;
  height: 226px;
  margin: 0;
  object-fit: cover;
}

.obc-baby-policy h4 {
  margin: 0 0 16px;
  color: var(--obc-grey);
  font-size: 19px;
  font-weight: 400;
  line-height: 28px;
}

.obc-baby-policy p {
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 20px;
}

.obc-baby-policy .wp-block-buttons {
  margin-top: 36px;
}

body:has(.obc-baby-page) .obc-footer {
  min-height: 456px;
}

/* sprint 08 — reproduce the long-form three-column consult catalogue */
.obc-consult-page {
  margin: 0;
  padding: 0 24px 60px;
  background: var(--obc-white);
}

.obc-consult-brand {
  padding: 24px 0 65px;
}

.obc-consult-hero-card {
  width: 532px;
  height: 470px;
  margin: 0 auto;
  background: var(--obc-blue);
}

.obc-consult-title-row {
  display: grid;
  grid-template-columns: 605px 176px;
  width: 798px;
  margin: 104px auto 0;
  gap: 16px;
}

.obc-consult-title-row h1 {
  margin: 10px 0 0;
  color: var(--obc-grey);
  font-size: 31px;
  font-weight: 400;
  line-height: 36px;
}

.obc-consult-title-row .wp-block-button__link,
.obc-consult-action.obc-consult-button,
.obc-consult-gift .wp-block-button__link {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 11px 27px;
  border-radius: 999px;
  background: var(--obc-blue);
  color: var(--obc-ink);
  font-size: 13px;
  letter-spacing: 1px;
  line-height: 18px;
  text-align: center;
  text-decoration: none;
}

.obc-consult-title-row .wp-block-button__link {
  width: 176px;
  min-height: 56px;
}

.obc-consult-intro {
  width: 725px;
  max-width: 100%;
  margin: 94px auto 0;
  text-align: center;
}

.obc-consult-intro h4,
.obc-consult-card h4,
.obc-gift-columns h4,
.obc-consult-cancellation h4 {
  margin: 0 0 24px;
  color: var(--obc-grey);
  font-size: 19px;
  font-weight: 400;
  line-height: 28px;
}

.obc-consult-intro p,
.obc-consult-card p,
.obc-gift-columns p,
.obc-consult-cancellation p {
  margin: 0 0 20px;
  font-size: 14px;
  line-height: 24px;
}

.obc-consult-section-title {
  width: 1112px;
  max-width: 100%;
  margin: 80px auto 39px;
  color: var(--obc-grey);
  font-size: 25px;
  font-weight: 400;
  line-height: 37px;
}

.obc-consult-grid {
  display: grid;
  grid-template-columns: repeat(3, 339px);
  grid-template-rows: 840px 1300px 700px;
  width: 1113px;
  max-width: 100%;
  margin: 0 auto;
  gap: 48px;
}

.obc-consult-card {
  position: relative;
  margin: 0;
  color: var(--obc-grey);
}

.obc-consult-card img {
  display: block;
  width: 339px;
  height: 169px;
  margin: 0 0 24px;
  object-fit: cover;
}

.obc-consult-card p a:not(.obc-consult-button) {
  font-weight: 700;
}

.obc-consult-card .obc-consult-button {
  margin-top: 8px;
}

.obc-consult-gift {
  width: 1112px;
  max-width: 100%;
  margin: 48px auto 0;
}

.obc-consult-gift > figure,
.obc-consult-gift > figure img {
  display: block;
  width: 1112px;
  height: 556px;
  margin: 0;
  object-fit: cover;
}

.obc-consult-gift .obc-consult-section-title {
  margin-top: 32px;
}

.obc-gift-columns {
  display: grid !important;
  grid-template-columns: 725px 314px;
  margin: 0;
  gap: 48px;
}

.obc-gift-columns .wp-block-column {
  margin: 0;
}

.obc-consult-cancellation {
  width: 725px;
  max-width: 100%;
  margin: 80px auto 0;
  text-align: center;
}

body:has(.obc-consult-page) .obc-footer {
  min-height: 456px;
}

/* sprint 03 — preserve the current full-height dark mobile navigation treatment */
.obc-mobile-drawer,
.obc-mobile-navigation .wp-block-navigation__responsive-container.is-menu-open {
  padding: 72px 24px 32px;
  background: #161616 !important;
  color: var(--obc-white) !important;
}

.obc-mobile-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  width: 100%;
  align-items: stretch;
  gap: 0;
}

.obc-mobile-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
  width: 100%;
  padding: 12px 24px;
  border-bottom: 1px solid rgb(255 255 255 / 12%);
}

.obc-mobile-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  color: var(--obc-white);
  font-size: 22px;
  line-height: 34px;
  text-decoration: none;
}

@media (max-width: 900px) {
  .obc-desktop-navigation {
    display: none !important;
  }

  .obc-mobile-navigation {
    display: flex !important;
    min-height: 88px;
    align-items: center;
  }

  .obc-nav-shell {
    min-height: 88px;
    padding: 0 34px;
  }

  .obc-about-columns,
  .obc-service-columns,
  .obc-contact-columns {
    gap: 30px;
  }
}

@media (max-width: 600px) {
  .obc-announcement {
    min-height: 58px;
    padding: 8px 22px;
  }

  .obc-announcement p {
    font-size: 14px;
    line-height: 21px;
  }

  .obc-hero {
    padding: 26px 24px 54px;
  }

  .obc-site-title {
    font-size: 15px;
    line-height: 20px;
  }

  .obc-site-tagline {
    margin-top: 4px;
    margin-bottom: 22px;
    font-size: 14px;
  }

  .obc-hero-image {
    width: 342px;
    max-width: 100%;
  }

  .obc-hero-image img {
    width: 342px;
    max-width: 100%;
    height: auto;
    aspect-ratio: 342 / 228;
  }

  .obc-hero-copy {
    margin: 22px 0;
    font-size: 16px;
    line-height: 23px;
  }

  .obc-pill,
  .obc-pill .wp-block-button__link {
    width: 100%;
    min-width: 0;
  }

  .obc-section {
    padding: 58px 24px;
  }

  .obc-section-title {
    margin-bottom: 34px;
    font-size: 13px;
    line-height: 19px;
  }

  .obc-card-grid,
  .obc-about-columns,
  .obc-service-columns,
  .obc-contact-columns {
    display: block;
  }

  .obc-link-card {
    min-height: 110px;
    margin-bottom: 16px;
    padding: 29px 18px 21px;
  }

  .obc-link-card h2,
  .obc-book-again h2:not(.obc-section-title) {
    font-size: 19px;
    line-height: 25px;
  }

  .obc-about-image,
  .obc-service-columns .wp-block-column,
  .obc-contact-columns .wp-block-column {
    margin-bottom: 40px;
  }

  .obc-about-copy h3,
  .obc-services h4,
  .obc-contact h4 {
    font-size: 20px;
    line-height: 26px;
  }

  .obc-footer {
    padding: 42px 24px 48px;
  }

  /* sprint 05 — match the measured stacked gateway at 390 pixels */
  .obc-book-page {
    padding: 0 24px 197px;
  }

  .obc-book-brand {
    padding: 26px 0 53px;
  }

  .obc-book-hero {
    padding-bottom: 64px;
  }

  .obc-book-title {
    width: 342px;
    font-size: 24px;
    line-height: 28px;
  }

  .obc-book-prompt {
    font-size: 20px;
    line-height: 25px;
  }

  .obc-book-rule {
    margin-top: 8px;
    margin-bottom: 17px;
  }

  .obc-book-choices {
    grid-template-columns: 342px;
    width: 342px;
    gap: 24px;
  }

  .obc-book-choice-wrap,
  .obc-book-choice {
    width: 342px;
  }

  .obc-book-choice {
    min-height: 160px;
    padding: 18px 16px;
  }

  .obc-book-choice-label {
    font-size: 28px;
    line-height: 36px;
  }

  .obc-book-choice-detail {
    margin-top: 10px;
    font-size: 14px;
    line-height: 20px;
  }

  /* sprint 06 — match the measured 342-by-160 prenatal stack */
  .obc-waiting-page {
    padding: 0 24px 222px;
  }

  .obc-waiting-brand {
    padding: 26px 0 55px;
  }

  .obc-waiting-title,
  .obc-waiting-section-title {
    font-size: 20px;
    line-height: 28px;
  }

  .obc-waiting-title {
    font-size: 19px;
  }

  .obc-waiting-grid {
    grid-template-columns: 342px;
    width: 342px;
    gap: 24px;
  }

  .obc-waiting-gateways {
    margin-top: 25px;
  }

  .obc-waiting-card {
    min-height: 160px;
    padding: 18px 16px;
  }

  .obc-card-label {
    font-size: 28px;
    line-height: 36px;
  }

  .obc-card-detail {
    margin-top: 10px;
    font-size: 14px;
    line-height: 20px;
  }

  .obc-booking-title {
    margin-top: 74px;
  }

  .obc-waiting-bookings {
    grid-template-columns: 342px;
    width: 342px;
    min-height: 0;
    margin-top: 25px;
    gap: 38px;
  }

  .obc-booking-option p {
    min-height: 0;
  }

  .obc-provider-title {
    margin-top: 63px;
    margin-bottom: 25px;
  }

  .obc-provider-grid-last,
  .obc-location-middle,
  .obc-location-middle + .obc-waiting-grid {
    margin-top: 40px;
  }

  .obc-provider-grid-last,
  .obc-location-grid-last,
  .obc-location-middle + .obc-waiting-grid {
    margin-top: 64px;
  }

  .obc-location-middle {
    margin-top: 24px;
  }

  .obc-location-title {
    margin-top: 91px;
    margin-bottom: 25px;
  }

  .obc-map-button {
    margin-top: 50px;
  }

  /* sprint 07 — preserve the measured postnatal mobile sequence */
  .obc-baby-page {
    padding: 0 24px 60px;
  }

  .obc-baby-brand {
    padding: 26px 0 55px;
  }

  .obc-baby-title {
    width: 342px;
    font-size: 24px;
    line-height: 28px;
  }

  .obc-baby-referral {
    width: 342px;
    margin-top: 22px;
    font-size: 14px;
    line-height: 21px;
  }

  .obc-baby-section-title {
    font-size: 20px;
    line-height: 28px;
  }

  .obc-baby-prompt {
    margin-top: 71px;
  }

  .obc-baby-grid {
    grid-template-columns: 342px;
    width: 342px;
    gap: 24px;
  }

  .obc-baby-gateways {
    margin-top: 24px;
  }

  .obc-baby-card {
    height: 160px;
    min-height: 160px;
    max-height: 160px;
    overflow: hidden;
    padding: 8px 16px;
  }

  .obc-baby-booking-title {
    margin-top: 64px;
  }

  .obc-baby-bookings {
    grid-template-columns: 342px;
    width: 342px;
    min-height: 0;
    margin-top: 24px;
    gap: 25px;
  }

  .obc-baby-booking-option p {
    min-height: 0;
    margin-bottom: 33px;
  }

  .obc-baby-provider-title {
    margin-top: 64px;
    margin-bottom: 25px;
  }

  .obc-baby-gap-small {
    margin-top: 24px;
  }

  .obc-baby-gap-large {
    margin-top: 64px;
  }

  .obc-baby-location-title {
    margin-top: 128px;
    margin-bottom: 24px;
  }

  .obc-baby-last-location {
    width: 342px;
  }

  .obc-baby-map {
    margin-top: 128px;
  }

  .obc-baby-map .wp-block-button,
  .obc-baby-map .wp-block-button__link {
    width: 342px;
  }

  .obc-baby-policy {
    display: block !important;
    margin-top: 64px;
  }

  .obc-baby-policy figure,
  .obc-baby-policy img {
    width: 342px;
    height: 228px;
  }

  .obc-baby-policy .wp-block-column:last-child {
    margin-top: 32px;
  }

  .obc-baby-policy h4 {
    width: 342px;
  }

  .obc-baby-policy p {
    line-height: 24px;
  }

  .obc-baby-policy .wp-block-buttons {
    margin-top: 39px;
  }

  /* sprint 08 — stack every consult service and gift section at 390 pixels */
  .obc-consult-page {
    padding: 0 24px 60px;
  }

  .obc-consult-brand {
    padding: 26px 0 55px;
  }

  .obc-consult-hero-card {
    width: 342px;
    height: 160px;
  }

  .obc-consult-title-row {
    display: block;
    width: 342px;
    margin-top: 80px;
    text-align: center;
  }

  .obc-consult-title-row h1 {
    width: 294px;
    margin: 0 auto 24px;
    font-size: 24px;
    line-height: 28px;
  }

  .obc-consult-intro {
    width: 342px;
    margin-top: 80px;
  }

  .obc-consult-section-title {
    width: 342px;
    margin-top: 80px;
    margin-bottom: 25px;
    font-size: 20px;
    line-height: 28px;
  }

  .obc-consult-grid {
    grid-template-columns: 342px;
    grid-template-rows: none;
    width: 342px;
    gap: 64px;
  }

  .obc-consult-card img {
    width: 342px;
    height: 171px;
  }

  .obc-consult-gift {
    width: 342px;
    margin-top: 64px;
  }

  .obc-consult-gift > figure,
  .obc-consult-gift > figure img {
    width: 342px;
    height: 171px;
  }

  .obc-consult-gift .obc-consult-section-title {
    margin-top: 64px;
  }

  .obc-gift-columns {
    display: block !important;
  }

  .obc-gift-columns .wp-block-column + .wp-block-column {
    margin-top: 64px;
  }

  .obc-consult-cancellation {
    width: 342px;
    margin-top: 80px;
  }

  /* sprint 04 — match the source directory's single portrait column on phones */
  .obc-team-page {
    padding: 0 36px 198px;
  }

  .obc-team-brand {
    padding: 26px 0 58px;
  }

  .obc-team-page-title,
  .obc-team-section-title {
    font-size: 14px;
    line-height: 21px;
  }

  .obc-team-page-title {
    max-width: 300px;
  }

  .obc-team-rule {
    margin-bottom: 23px;
  }

  .obc-team-section-title {
    margin-top: 58px;
  }

  .obc-team-grid,
  .obc-featured-grid,
  .obc-primary-team-grid,
  .obc-secondary-team-grid {
    grid-template-columns: 1fr;
  }

  .obc-provider-card .wp-block-cover__inner-container {
    padding-right: 20px;
    padding-left: 20px;
  }

  .obc-featured-grid > .obc-provider-card:first-child {
    min-height: 501px !important;
  }

  .obc-primary-team-grid > .obc-provider-card:nth-child(2) {
    min-height: 569px !important;
  }

  .obc-primary-team-grid > .obc-provider-card:nth-child(4),
  .obc-primary-team-grid > .obc-provider-card:nth-child(6) {
    min-height: 629px !important;
  }

  .obc-secondary-team-grid > .obc-provider-card:first-child {
    min-height: 549px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* sprint 12 — layout for the generated profile and content pages. Everything below styles native
   core blocks (cover, columns, buttons, gallery, file) rather than hand-written markup, so the pages
   stay editable in the block editor while keeping the captured source rhythm. */
.obc-provider-page {
  margin: 0;
  padding: 0 0 48px;
  background: var(--obc-white);
}

.obc-provider-brand {
  padding: 32px 24px 24px;
  text-align: center;
}

.obc-provider-hero,
.obc-provider-consult,
.obc-provider-bookings {
  display: grid;
  grid-template-columns: 330px minmax(0, 1fr);
  align-items: start;
  width: var(--obc-content);
  max-width: 100%;
  margin: 0 auto;
  padding: 0 24px;
  gap: 40px;
}

.obc-provider-hero {
  padding-bottom: 48px;
  gap: 48px;
}

.obc-provider-hero-body {
  min-width: 0;
}

.obc-provider-portrait {
  margin: 0;
}

.obc-provider-portrait img {
  width: 330px;
  height: 330px;
  max-width: 100%;
  border-radius: 50%;
  object-fit: cover;
}

.obc-provider-name {
  margin: 0 0 20px;
  color: var(--obc-ink);
  font-size: 22px;
  line-height: 1.35;
}

.obc-provider-bio-title {
  margin: 24px 0 12px;
  color: var(--obc-ink);
  font-size: 17px;
  line-height: 1.4;
}

.obc-provider-bio {
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.7;
  text-align: center;
}

/* the source states each section as a small, wide-tracked rule rather than a banner */
.obc-provider-prompt,
.obc-page-title {
  width: var(--obc-content);
  max-width: 100%;
  margin: 48px auto 24px;
  padding: 0 24px 12px;
  border-bottom: 1px solid #d9d9d9;
  color: var(--obc-grey);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.14em;
  text-align: left;
  text-transform: uppercase;
}

.obc-provider-consult .obc-provider-prompt,
.obc-provider-bookings .obc-provider-prompt {
  grid-column: 1 / -1;
  width: auto;
  margin: 48px 0 24px;
  padding: 0 0 12px;
}

.obc-provider-gateway,
.obc-provider-actions,
.obc-provider-gallery {
  width: var(--obc-content);
  max-width: 100%;
  margin: 0 auto;
  padding: 0 24px;
}

/* a choice tile: a cover block carrying the photograph with its label as a button inside */
.obc-provider-choices.wp-block-columns {
  gap: 24px;
  margin-bottom: 16px;
}

.obc-provider-choice-cell.wp-block-column {
  min-width: 0;
}

.obc-provider-tile.wp-block-cover {
  min-height: 340px;
  padding: 24px;
  background: #d5d5d5;
}

.obc-provider-tile-plain {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 340px;
  padding: 24px;
  background: #d5d5d5;
}

.obc-provider-choice-actions.wp-block-buttons,
.obc-provider-choice-label {
  margin: 0;
}

.obc-provider-choice .wp-block-button__link,
.obc-provider-choice-label {
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--obc-white);
  font-size: 30px;
  line-height: 1.25;
  text-align: center;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
}

.obc-provider-choice .wp-block-button__link:hover {
  background: transparent;
  text-decoration: underline;
}

.obc-provider-consult-image {
  margin: 0;
}

.obc-provider-consult-image img {
  width: 330px;
  max-width: 100%;
  height: auto;
}

.obc-provider-consult-title,
.obc-provider-option-title {
  margin: 0 0 12px;
  color: var(--obc-ink);
  font-size: 17px;
  line-height: 1.4;
  text-align: center;
}

.obc-provider-consult-text,
.obc-provider-option-text {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.7;
  text-align: center;
}

.obc-provider-booking-intro {
  text-align: center;
}

.obc-provider-options.wp-block-columns {
  gap: 40px;
  margin: 0 0 32px;
}

.obc-provider-option.wp-block-column {
  display: flex;
  flex-direction: column;
  min-width: 0;
  text-align: center;
}

.obc-provider-option-actions.wp-block-buttons {
  margin-top: auto;
}

/* a section with no picture beside it should still use the full width */
.obc-provider-bookings:not(:has(.obc-provider-booking-intro)) .obc-provider-options {
  grid-column: 1 / -1;
}

.obc-provider-action .wp-block-button__link,
.obc-page-action .wp-block-button__link {
  padding: 11px 22px;
  border-radius: 4px;
  background: var(--obc-blue);
  color: var(--obc-white);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-align: center;
  text-transform: uppercase;
}

.obc-provider-action .wp-block-button__link:hover,
.obc-page-action .wp-block-button__link:hover {
  background: var(--obc-blue-dark);
}

.obc-provider-action-row.wp-block-buttons,
.obc-page-action-row.wp-block-buttons {
  gap: 24px;
  margin-bottom: 32px;
}

.obc-provider-slides.wp-block-gallery {
  gap: 16px;
  margin-bottom: 32px;
}

.obc-provider-slides.wp-block-gallery .wp-block-image img {
  height: 240px;
  object-fit: cover;
}

/* prose, promotional, download and contact sections on the content pages */
.obc-page-prose,
.obc-page-promo,
.obc-page-downloads,
.obc-page-contact {
  width: var(--obc-content);
  max-width: 100%;
  margin: 0 auto;
  padding: 0 24px 40px;
  text-align: center;
}

.obc-page-subtitle {
  margin: 28px 0 12px;
  color: var(--obc-ink);
  font-size: 17px;
  line-height: 1.45;
}

.obc-page-text {
  margin: 0 auto 14px;
  max-width: 760px;
  font-size: 15px;
  line-height: 1.75;
}

.obc-page-image {
  margin: 0 auto 24px;
}

.obc-page-image img {
  width: 600px;
  max-width: 100%;
  height: auto;
}

.obc-page-promo {
  background: var(--obc-mist);
}

/* a referral form is the document a family carries to a prescriber; make it read as a file */
.obc-page-download.wp-block-file {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin: 24px 0;
  font-size: 14px;
}

.obc-page-download .wp-block-file__button {
  padding: 12px 24px;
  border-radius: 4px;
  background: var(--obc-ink);
  color: var(--obc-white);
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.obc-page-download .wp-block-file__button::before {
  content: "⬇ ";
}

.obc-page-download .wp-block-file__button:hover {
  background: #000;
}

@media (max-width: 900px) {
  .obc-provider-hero,
  .obc-provider-consult,
  .obc-provider-bookings {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    gap: 24px;
  }
}

@media (max-width: 600px) {
  .obc-provider-hero,
  .obc-provider-gateway,
  .obc-provider-consult,
  .obc-provider-bookings,
  .obc-provider-actions,
  .obc-provider-gallery,
  .obc-page-prose,
  .obc-page-promo,
  .obc-page-downloads,
  .obc-page-contact {
    width: 342px;
    padding-right: 12px;
    padding-left: 12px;
  }

  .obc-provider-prompt,
  .obc-page-title {
    width: 342px;
    margin-top: 36px;
    padding-right: 12px;
    padding-left: 12px;
  }

  .obc-provider-consult .obc-provider-prompt,
  .obc-provider-bookings .obc-provider-prompt {
    width: auto;
    padding-right: 0;
    padding-left: 0;
  }

  .obc-provider-name {
    font-size: 26px;
  }

  .obc-provider-portrait img {
    width: 300px;
    height: 300px;
  }

  .obc-provider-tile.wp-block-cover,
  .obc-provider-tile-plain {
    min-height: 240px;
  }

  .obc-provider-choice .wp-block-button__link,
  .obc-provider-choice-label {
    font-size: 24px;
  }

  .obc-provider-slides.wp-block-gallery .wp-block-image img {
    height: 200px;
  }
}

/* sprint 14 — these rows were centred by a layout attribute that made the block invalid in the
   editor. The attribute is gone; the centring lives here instead. */
.obc-provider-choice-actions.wp-block-buttons,
.obc-provider-option-actions.wp-block-buttons,
.obc-provider-action-row.wp-block-buttons,
.obc-page-action-row.wp-block-buttons,
.obc-featured-name.wp-block-buttons {
  justify-content: center;
}

/* sprint 32 — the footer's link list. Quiet: it is a safety net and a place to look things up, not
   the thing the footer is for. Four columns on a desktop, stacking to two on a phone rather than to
   one, because seventeen links in a single column is a lot of scrolling past. */
.obc-footer .obc-foot-nav {
  margin: 0 auto 26px;
  padding: 0 4vw;
  max-width: 1100px;
  gap: 18px;
}

.obc-footer .obc-foot-title {
  margin: 0 0 8px;
  color: #f5f5f5;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.obc-footer .obc-foot-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.obc-footer .obc-foot-list li { margin: 0 0 6px; }

.obc-footer .obc-foot-list a {
  color: #f5f5f5b5;
  font-size: 0.92rem;
  text-decoration: none;
}

.obc-footer .obc-foot-list a:hover,
.obc-footer .obc-foot-list a:focus-visible {
  color: #f5f5f5;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 781px) {
  .obc-footer .obc-foot-nav { flex-wrap: wrap !important; }
  .obc-footer .obc-foot-nav > .wp-block-column {
    flex-basis: calc(50% - 9px) !important;
    margin-bottom: 14px;
  }
}


/* sprint 32 — the hamburger goes when the script that opens it is not there.
 *
 * It is WordPress's own navigation block and the overlay needs JavaScript. Left in place without one
 * it is a visible button that does nothing, which is worse than no button: somebody presses it,
 * nothing happens, and they conclude the site is broken rather than scrolling. Every link it would
 * have shown is in the footer.
 */
.no-js .obc-mobile-navigation { display: none !important; }
