.mayo-home-template--28204481413396__mayo_home {
      --mayo-ink: #162026;
      --mayo-muted: #53636b;
      --mayo-paper: #f7f4ed;
      --mayo-surface: #ffffff;
      --mayo-line: rgba(22, 32, 38, 0.14);
      --mayo-gold: #d89a28;
      --mayo-green: #2f6b4f;
      --mayo-brick: #a24a32;
      --mayo-blue: #426b8a;
      --mayo-shadow: 0 22px 54px rgba(22, 32, 38, 0.18);
      color: var(--mayo-ink);
      background: var(--mayo-paper);
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    body:has(.mayo-home-template--28204481413396__mayo_home) .shopify-section-group-header-group,
    body:has(.mayo-home-template--28204481413396__mayo_home) .shopify-section-group-footer-group,
    body.mayo-homepage-template--28204481413396__mayo_home .shopify-section-group-header-group,
    body.mayo-homepage-template--28204481413396__mayo_home .shopify-section-group-footer-group {
      display: none !important;
    }

    .mayo-home-template--28204481413396__mayo_home * {
      box-sizing: border-box;
    }

    .mayo-home-template--28204481413396__mayo_home a {
      color: inherit;
    }

    .mayo-home-template--28204481413396__mayo_home img {
      display: block;
      max-width: 100%;
    }

    .mayo-home-template--28204481413396__mayo_home button,
    .mayo-home-template--28204481413396__mayo_home input {
      font: inherit;
    }

    .mayo-shell {
      width: min(1180px, calc(100% - 32px));
      margin-inline: auto;
    }

    .mayo-topbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      padding: 18px 0;
    }

    .mayo-brand {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      text-decoration: none;
      min-width: 0;
    }

    .mayo-mark {
      display: grid;
      place-items: center;
      width: 46px;
      height: 46px;
      border-radius: 6px;
      background: var(--mayo-ink);
      color: var(--mayo-gold);
      font-weight: 900;
      letter-spacing: 0;
    }

    .mayo-brand strong,
    .mayo-brand span {
      display: block;
      line-height: 1.08;
    }

    .mayo-brand span {
      margin-top: 4px;
      color: var(--mayo-muted);
      font-size: 0.83rem;
    }

    .mayo-nav {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      flex-wrap: wrap;
      gap: 8px;
    }

    .mayo-nav a,
    .mayo-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 42px;
      border-radius: 6px;
      text-decoration: none;
      font-weight: 800;
      line-height: 1;
    }

    .mayo-nav a {
      padding: 10px 12px;
      color: var(--mayo-muted);
    }

    .mayo-nav a:hover,
    .mayo-nav a:focus-visible {
      color: var(--mayo-ink);
      background: rgba(255, 255, 255, 0.72);
    }

    .mayo-button {
      border: 1px solid transparent;
      padding: 12px 16px;
      cursor: pointer;
    }

    .mayo-home-template--28204481413396__mayo_home .mayo-button--primary {
      background: var(--mayo-gold);
      color: var(--mayo-ink);
      box-shadow: 0 14px 34px rgba(216, 154, 40, 0.24);
    }

    .mayo-home-template--28204481413396__mayo_home .mayo-button--primary:hover,
    .mayo-home-template--28204481413396__mayo_home .mayo-button--primary:focus-visible {
      background: #ecb44a;
    }

    .mayo-home-template--28204481413396__mayo_home .mayo-button--secondary {
      background: #fff;
      border-color: rgba(22, 32, 38, 0.26);
      color: var(--mayo-ink);
      box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16);
    }

    .mayo-home-template--28204481413396__mayo_home .mayo-button--secondary:hover,
    .mayo-home-template--28204481413396__mayo_home .mayo-button--secondary:focus-visible {
      background: #f2efe8;
      color: var(--mayo-ink);
    }

    .mayo-hero {
      position: relative;
      min-height: 82svh;
      display: grid;
      grid-template-columns: minmax(520px, 0.92fr) minmax(0, 1.08fr);
      column-gap: clamp(10px, 1.1vw, 16px);
      overflow: hidden;
      background: #1d282d;
      isolation: isolate;
    }

    .mayo-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -2;
      background:
        linear-gradient(90deg, rgba(21, 30, 35, 0.94), rgba(21, 30, 35, 0.62) 44%, rgba(21, 30, 35, 0.18) 76%),
        linear-gradient(135deg, rgba(216, 154, 40, 0.2), transparent 38%);
    }

    .mayo-hero-copy {
      position: relative;
      z-index: 2;
      align-self: center;
      color: #fff;
      padding: clamp(32px, 5vw, 70px) 0 clamp(26px, 4vw, 48px) max(24px, calc((100vw - 1180px) / 2));
      margin-left: 24px;
      max-width: 680px;
      text-shadow: 0 3px 18px rgba(0, 0, 0, 0.4);
    }

    .mayo-hero-copy,
    .mayo-hero-visual {
      min-width: 0;
      max-width: 100%;
    }

    .mayo-eyebrow {
      margin: 0 0 12px;
      color: var(--mayo-gold);
      font-size: 0.78rem;
      font-weight: 900;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    .mayo-hero h1 {
      margin: 0;
      max-width: 640px;
      font-size: clamp(2.75rem, 4.6vw, 4.1rem);
      line-height: 0.96;
      letter-spacing: 0;
    }

    .mayo-hero-lede {
      max-width: 620px;
      margin: 20px 0 0;
      color: rgba(255, 255, 255, 0.9);
      font-size: clamp(1.02rem, 1.9vw, 1.3rem);
      line-height: 1.48;
    }

    .mayo-hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 28px;
    }

    .mayo-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1px;
      max-width: 640px;
      margin: 28px 0 0;
      padding: 0;
      border: 1px solid rgba(255, 255, 255, 0.18);
      border-radius: 8px;
      overflow: hidden;
    }

    .mayo-stats div {
      padding: 16px;
      background: rgba(255, 255, 255, 0.1);
      min-width: 0;
    }

    .mayo-stats dt {
      font-size: 1.28rem;
      font-weight: 900;
      color: #fff;
    }

    .mayo-stats dd {
      margin: 4px 0 0;
      color: rgba(255, 255, 255, 0.76);
      font-size: 0.86rem;
      line-height: 1.25;
    }

    .mayo-hero-visual {
      position: relative;
      min-height: 620px;
      perspective: 1100px;
      overflow: hidden;
    }

    .mayo-stage {
      position: absolute;
      inset: 0;
      transform-style: preserve-3d;
      transition: transform 720ms cubic-bezier(0.2, 0.8, 0.2, 1);
    }

    .mayo-stage.is-focused {
      transform: rotateX(2deg) rotateY(-4deg) translateZ(26px);
    }

    .mayo-stage-media {
      position: absolute;
      inset: 0;
      transform-origin: var(--zoom-x, 50%) var(--zoom-y, 50%);
      transition: transform 760ms cubic-bezier(0.2, 0.8, 0.2, 1), filter 760ms ease;
    }

    .mayo-stage.is-focused .mayo-stage-media {
      transform: scale(1.26);
      filter: saturate(1.05) contrast(1.04);
    }

    .mayo-stage-media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .mayo-main-placeholder {
      position: absolute;
      inset: 0;
      background:
        linear-gradient(115deg, rgba(47, 107, 79, 0.9), rgba(66, 107, 138, 0.72)),
        repeating-linear-gradient(90deg, rgba(255,255,255,0.08) 0 1px, transparent 1px 68px),
        repeating-linear-gradient(0deg, rgba(255,255,255,0.06) 0 1px, transparent 1px 58px);
    }

    .mayo-main-placeholder::after {
      content: "Add MAIN image in section settings";
      position: absolute;
      right: clamp(22px, 5vw, 64px);
      bottom: clamp(24px, 6vw, 84px);
      max-width: 260px;
      padding: 16px 18px;
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.9);
      color: var(--mayo-ink);
      font-weight: 900;
      line-height: 1.24;
      box-shadow: var(--mayo-shadow);
    }

    .mayo-hotspot {
      position: absolute;
      left: var(--x);
      top: var(--y);
      z-index: 3;
      transform: translate(-50%, -50%) translateZ(80px);
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 38px;
      max-width: min(180px, 34vw);
      border: 1px solid rgba(255, 255, 255, 0.54);
      border-radius: 999px;
      padding: 7px 10px 7px 8px;
      background: rgba(22, 32, 38, 0.7);
      color: #fff;
      box-shadow: 0 16px 34px rgba(0, 0, 0, 0.24);
      cursor: pointer;
      backdrop-filter: blur(12px);
    }

    .mayo-hotspot::before {
      content: "";
      flex: 0 0 14px;
      width: 14px;
      height: 14px;
      border-radius: 50%;
      background: var(--mayo-gold);
      box-shadow: 0 0 0 6px rgba(216, 154, 40, 0.22);
    }

    .mayo-hotspot span {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-size: 0.78rem;
      font-weight: 900;
    }

    .mayo-hotspot:hover,
    .mayo-hotspot:focus-visible,
    .mayo-hotspot.is-active {
      background: rgba(255, 255, 255, 0.94);
      color: var(--mayo-ink);
      outline: none;
    }

    .mayo-stage.is-reno .mayo-hotspot {
      opacity: 0;
      pointer-events: none;
      transform: translate(-50%, -50%) translateZ(40px) scale(0.88);
    }

    .mayo-reno-trigger {
      position: absolute;
      left: var(--reno-x, 82%);
      top: var(--reno-y, 88%);
      z-index: 4;
      transform: translate(-50%, -50%) translateZ(96px);
      display: inline-flex;
      align-items: center;
      gap: 9px;
      min-height: 42px;
      max-width: min(220px, 42vw);
      border: 1px solid rgba(255, 255, 255, 0.68);
      border-radius: 999px;
      padding: 8px 13px 8px 10px;
      background: rgba(216, 154, 40, 0.95);
      color: var(--mayo-ink);
      box-shadow: 0 18px 38px rgba(0, 0, 0, 0.3);
      cursor: pointer;
      backdrop-filter: blur(10px);
    }

    .mayo-reno-trigger::before {
      content: "";
      flex: 0 0 14px;
      width: 14px;
      height: 14px;
      border-radius: 50%;
      background: #fff;
      box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.22);
    }

    .mayo-reno-trigger span {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-size: 0.78rem;
      font-weight: 950;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    .mayo-reno-trigger:hover,
    .mayo-reno-trigger:focus-visible,
    .mayo-reno-trigger.is-active {
      background: #fff;
      color: var(--mayo-ink);
      outline: none;
    }

    .mayo-detail {
      position: absolute;
      right: clamp(16px, 3vw, 42px);
      bottom: clamp(16px, 4vw, 48px);
      z-index: 5;
      width: min(420px, calc(100% - 32px));
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.95);
      box-shadow: var(--mayo-shadow);
      overflow: hidden;
      transform: translateY(18px);
      opacity: 0;
      pointer-events: none;
      transition: opacity 240ms ease, transform 240ms ease;
    }

    .mayo-detail.is-open {
      opacity: 1;
      transform: translateY(0);
      pointer-events: auto;
    }

    .mayo-detail-media {
      aspect-ratio: 16 / 9;
      background: linear-gradient(135deg, var(--mayo-green), var(--mayo-blue));
      overflow: hidden;
    }

    .mayo-detail-media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .mayo-detail.is-reno-detail .mayo-detail-media {
      display: none;
    }

    .mayo-detail.is-reno-detail {
      bottom: 8px;
      max-height: calc(100svh - 16px);
      overflow-y: auto;
    }

    .mayo-detail.is-reno-detail.is-open {
      transform: translateY(62px);
    }

    .mayo-detail-body {
      padding: 20px;
    }

    .mayo-detail h2 {
      margin: 0;
      font-size: clamp(1.3rem, 2vw, 1.72rem);
      line-height: 1.04;
      letter-spacing: 0;
    }

    .mayo-detail p {
      margin: 10px 0 0;
      color: var(--mayo-muted);
      line-height: 1.45;
    }

    .mayo-detail ul {
      display: grid;
      gap: 7px;
      margin: 14px 0 0;
      padding-left: 18px;
      color: var(--mayo-ink);
    }

    .mayo-detail-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 18px;
    }

    .mayo-close {
      position: absolute;
      top: 10px;
      right: 10px;
      z-index: 2;
      display: grid;
      place-items: center;
      width: 44px;
      height: 44px;
      border: 1px solid rgba(22, 32, 38, 0.18);
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.92);
      color: var(--mayo-ink);
      cursor: pointer;
    }

    .mayo-quick {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1px;
      background: var(--mayo-line);
      border-block: 1px solid var(--mayo-line);
    }

    .mayo-quick a {
      display: grid;
      gap: 6px;
      min-height: 118px;
      align-content: center;
      padding: 24px clamp(18px, 4vw, 42px);
      background: var(--mayo-surface);
      text-decoration: none;
    }

    .mayo-quick span {
      color: var(--mayo-muted);
      font-size: 0.86rem;
      font-weight: 800;
    }

    .mayo-quick strong {
      font-size: clamp(1.02rem, 2vw, 1.38rem);
      line-height: 1.12;
    }

    .mayo-section {
      padding: clamp(54px, 8vw, 92px) 0;
    }

    .mayo-section-heading {
      max-width: 760px;
      margin-bottom: 28px;
    }

    .mayo-section-heading h2 {
      margin: 0;
      font-size: clamp(2rem, 4vw, 3.5rem);
      line-height: 0.98;
      letter-spacing: 0;
    }

    .mayo-section-heading p:not(.mayo-eyebrow) {
      margin: 14px 0 0;
      color: var(--mayo-muted);
      font-size: 1.04rem;
      line-height: 1.55;
    }

    .mayo-service-tools {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 14px;
      align-items: center;
      margin: 24px 0;
    }

    .mayo-search {
      width: 100%;
      min-height: 48px;
      border: 1px solid var(--mayo-line);
      border-radius: 6px;
      padding: 12px 14px;
      background: var(--mayo-surface);
      color: var(--mayo-ink);
    }

    .mayo-call-strip {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      justify-content: flex-end;
    }

    .mayo-phone-chip {
      display: inline-flex;
      align-items: center;
      min-height: 40px;
      border-radius: 999px;
      padding: 8px 12px;
      background: #edf4ef;
      color: var(--mayo-green);
      font-weight: 900;
      text-decoration: none;
    }

    .mayo-service-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
    }

    .mayo-card {
      min-height: 100%;
      border: 1px solid var(--mayo-line);
      border-radius: 8px;
      background: var(--mayo-surface);
      padding: 20px;
      box-shadow: 0 10px 24px rgba(22, 32, 38, 0.05);
    }

    .mayo-card h3 {
      margin: 10px 0 0;
      font-size: 1.2rem;
      line-height: 1.1;
      letter-spacing: 0;
    }

    .mayo-card p {
      margin: 10px 0 0;
      color: var(--mayo-muted);
      line-height: 1.5;
    }

    .mayo-card-number {
      color: var(--mayo-brick);
      font-weight: 900;
      font-size: 0.84rem;
    }

    .mayo-gallery-controls,
    .mayo-tabs {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 24px 0;
    }

    .mayo-filter,
    .mayo-tab {
      min-height: 40px;
      border: 1px solid var(--mayo-line);
      border-radius: 999px;
      padding: 9px 13px;
      background: var(--mayo-surface);
      color: var(--mayo-ink);
      font-weight: 800;
      cursor: pointer;
    }

    .mayo-filter.is-active,
    .mayo-tab.is-active {
      background: var(--mayo-ink);
      border-color: var(--mayo-ink);
      color: #fff;
    }

    .mayo-gallery {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
    }

    .mayo-gallery-card {
      display: grid;
      gap: 0;
      padding: 0;
      text-align: left;
      overflow: hidden;
      border: 1px solid var(--mayo-line);
      border-radius: 8px;
      background: var(--mayo-surface);
      color: var(--mayo-ink);
      cursor: pointer;
    }

    .mayo-gallery-card[hidden],
    .mayo-card[hidden] {
      display: none;
    }

    .mayo-gallery-image,
    .mayo-gallery-placeholder {
      aspect-ratio: 4 / 3;
      width: 100%;
      background: linear-gradient(135deg, rgba(47, 107, 79, 0.9), rgba(66, 107, 138, 0.82));
      overflow: hidden;
    }

    .mayo-gallery-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 260ms ease;
    }

    .mayo-gallery-card:hover img,
    .mayo-gallery-card:focus-visible img {
      transform: scale(1.04);
    }

    .mayo-gallery-placeholder {
      display: grid;
      place-items: center;
      padding: 18px;
      color: #fff;
      font-weight: 900;
      text-align: center;
    }

    .mayo-gallery-caption {
      padding: 14px;
    }

    .mayo-gallery-caption strong,
    .mayo-gallery-caption span {
      display: block;
    }

    .mayo-gallery-caption span {
      margin-top: 5px;
      color: var(--mayo-muted);
      font-size: 0.84rem;
    }

    .mayo-appointments {
      display: grid;
      grid-template-columns: minmax(0, 0.82fr) minmax(360px, 1.18fr);
      gap: 24px;
      align-items: start;
    }

    .mayo-appointment-panel {
      border: 1px solid var(--mayo-line);
      border-radius: 8px;
      background: var(--mayo-surface);
      padding: clamp(22px, 4vw, 34px);
      box-shadow: 0 12px 32px rgba(22, 32, 38, 0.08);
    }

    .mayo-appointment-panel h3 {
      margin: 0;
      font-size: clamp(1.5rem, 2.6vw, 2.35rem);
      line-height: 1.02;
    }

    .mayo-appointment-panel p {
      margin: 12px 0 0;
      color: var(--mayo-muted);
      line-height: 1.55;
    }

    .mayo-appointment-panel ul {
      display: grid;
      gap: 8px;
      margin: 18px 0 0;
      padding-left: 18px;
    }

    .mayo-appointment-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 22px;
    }

    .mayo-area {
      background: #e9efe9;
      border-block: 1px solid rgba(47, 107, 79, 0.16);
    }

    .mayo-area-grid {
      display: grid;
      grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
      gap: 24px;
      align-items: center;
    }

    .mayo-area-list {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }

    .mayo-area-list span {
      display: inline-flex;
      align-items: center;
      min-height: 38px;
      border-radius: 999px;
      padding: 8px 12px;
      background: rgba(255, 255, 255, 0.82);
      color: var(--mayo-green);
      font-weight: 900;
    }

    .mayo-lightbox {
      position: fixed;
      inset: 0;
      z-index: 9999;
      display: grid;
      place-items: center;
      padding: 20px;
      background: rgba(8, 12, 14, 0.82);
    }

    .mayo-lightbox[hidden] {
      display: none;
    }

    .mayo-lightbox-panel {
      width: min(980px, 100%);
      max-height: calc(100svh - 40px);
      overflow: auto;
      border-radius: 8px;
      background: var(--mayo-surface);
      box-shadow: var(--mayo-shadow);
    }

    .mayo-lightbox-media {
      aspect-ratio: 16 / 10;
      background: linear-gradient(135deg, var(--mayo-green), var(--mayo-blue));
    }

    .mayo-lightbox-media img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      background: #111;
    }

    .mayo-lightbox-copy {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 16px 18px;
    }

    .mayo-lightbox-copy h3 {
      margin: 0;
      font-size: 1.2rem;
    }

    .mayo-lightbox-copy p {
      margin: 4px 0 0;
      color: var(--mayo-muted);
    }

    @media (max-width: 980px) {
      .mayo-topbar {
        align-items: flex-start;
        flex-direction: column;
      }

      .mayo-nav {
        justify-content: flex-start;
      }

      .mayo-hero {
        grid-template-columns: 1fr;
        min-height: auto;
      }

      .mayo-hero-copy {
        margin: 0;
        padding: 52px 24px 32px;
      }

      .mayo-hero-visual {
        min-height: 560px;
        order: -1;
      }

      .mayo-quick,
      .mayo-service-grid,
      .mayo-gallery,
      .mayo-appointments,
      .mayo-area-grid {
        grid-template-columns: 1fr 1fr;
      }

      .mayo-service-tools {
        grid-template-columns: 1fr;
      }

      .mayo-call-strip {
        justify-content: flex-start;
      }
    }

    @media (max-width: 680px) {
      .mayo-shell {
        width: min(100% - 24px, 1180px);
      }

      .mayo-topbar {
        gap: 12px;
        padding: 12px 0 14px;
      }

      .mayo-brand {
        width: 100%;
      }

      .mayo-mark {
        width: 42px;
        height: 42px;
      }

      .mayo-brand span,
      .mayo-nav a {
        font-size: 0.78rem;
      }

      .mayo-nav {
        width: 100%;
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 8px;
        overflow-x: auto;
        padding-bottom: 2px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
      }

      .mayo-nav::-webkit-scrollbar {
        display: none;
      }

      .mayo-nav a {
        flex: 0 0 auto;
        min-height: 44px;
        padding: 9px 11px;
        border: 1px solid rgba(22, 32, 38, 0.12);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.72);
      }

      .mayo-nav .mayo-button--primary {
        order: -2;
        padding-inline: 16px;
      }

      .mayo-nav .mayo-portal-link {
        order: -1;
        font-weight: 900;
      }

      .mayo-nav .mayo-button--primary:hover,
      .mayo-nav .mayo-button--primary:focus-visible {
        background: #ecb44a;
      }

      .mayo-hero-copy,
      .mayo-hero-visual {
        width: 100%;
      }

      .mayo-hero-copy {
        order: -1;
        z-index: 1;
        padding: 30px 20px 24px;
      }

      .mayo-hero h1 {
        font-size: clamp(2.25rem, 11vw, 3rem);
      }

      .mayo-hero-lede {
        margin-top: 14px;
        font-size: 1rem;
        line-height: 1.42;
      }

      .mayo-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        margin-top: 22px;
      }

      .mayo-hero-actions .mayo-button {
        width: 100%;
        min-height: 46px;
      }

      .mayo-stats,
      .mayo-quick,
      .mayo-service-grid,
      .mayo-gallery,
      .mayo-appointments,
      .mayo-area-grid {
        grid-template-columns: 1fr;
      }

      .mayo-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-top: 22px;
      }

      .mayo-stats div {
        padding: 12px 8px;
      }

      .mayo-stats dt {
        font-size: 1.05rem;
      }

      .mayo-stats dd {
        font-size: 0.72rem;
        line-height: 1.2;
      }

      .mayo-hero-visual {
        order: 0;
        z-index: 3;
        min-height: clamp(410px, 108vw, 470px);
      }

      .mayo-hotspot {
        min-height: 44px;
        gap: 6px;
        padding: 6px 9px 6px 7px;
        transform: translate(-50%, -50%) translateZ(42px);
      }

      .mayo-hotspot::before {
        flex-basis: 12px;
        width: 12px;
        height: 12px;
        box-shadow: 0 0 0 5px rgba(216, 154, 40, 0.22);
      }

      .mayo-hotspot span {
        max-width: 86px;
        font-size: 0.72rem;
      }

      .mayo-reno-trigger {
        left: auto;
        right: 14px;
        transform: translateY(-50%);
        max-width: min(202px, calc(100% - 28px));
        min-height: 44px;
        padding: 7px 12px 7px 9px;
      }

      .mayo-reno-trigger span {
        max-width: none;
        font-size: 0.74rem;
      }

      .mayo-detail {
        left: 10px;
        right: 10px;
        bottom: 10px;
        width: auto;
        max-height: calc(100% - 20px);
        overflow-y: auto;
      }

      .mayo-detail.is-reno-detail {
        bottom: 10px;
        max-height: calc(100% - 20px);
      }

      .mayo-detail-body {
        padding: 16px;
      }

      .mayo-detail h2 {
        font-size: 1.35rem;
      }

      .mayo-detail.is-reno-detail.is-open {
        transform: translateY(0);
      }

      .mayo-lightbox-copy {
        align-items: flex-start;
        flex-direction: column;
      }
    }
