/* Shared presentation for the English and Spanish expanded service directories. */
.expanded-services .expanded-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 32px; }
.expanded-service { padding: 30px; border: 1px solid var(--line); border-top: 3px solid var(--gold); border-radius: 12px; background: var(--paper, #fffdf9); scroll-margin-top: 120px; }
.expanded-service h3 { margin: 0 0 16px; font-size: clamp(25px, 2.3vw, 32px); line-height: 1.15; color: var(--navy); }
.expanded-service p { margin: 0 0 20px; font-size: 16px; line-height: 1.75; }
.expanded-service > a, .suite-details a { font-weight: 600; text-decoration: underline; text-underline-offset: 4px; color: var(--navy); }
.expanded-service-number { display: block; color: var(--gold-dark, #9c650d); font-size: 12px; letter-spacing: .12em; margin-bottom: 15px; }
.expanded-service--suite { grid-column: 1 / -1; }
.suite-details { margin-top: 20px; }
.suite-details summary { cursor: pointer; font-weight: 600; color: var(--navy); padding: 8px 0; }
.suite-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 16px 0 20px; }
.suite-photos figure { margin: 0; }
.suite-photos img { width: 100%; height: 200px; object-fit: cover; border-radius: 8px; }
.suite-photos figcaption { font-size: 14px; padding-top: 8px; }
.services-menu { position: relative; color: var(--navy); }
.services-menu > summary { font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; list-style: none; white-space: nowrap; }
.services-menu > summary::-webkit-details-marker { display: none; }
.services-menu > summary::after { content: '⌄'; margin-left: 7px; }
.services-menu[open] > summary::after { content: '⌃'; }
.services-menu-panel { position: absolute; z-index: 30; top: 100%; left: -18px; width: min(360px, 85vw); max-height: 65vh; overflow-y: auto; padding: 14px; background: #fffdf9; border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 12px 30px rgba(6,42,85,.14); }
.site-nav .services-menu-panel a { display: block; white-space: normal; padding: 10px 12px; line-height: 1.4; font-size: 14px; border-radius: 4px; }
.site-nav .services-menu-panel a::after { display: none; }
.site-nav .services-menu-panel a:hover, .site-nav .services-menu-panel a:focus-visible { background: #eaf6ff; }
.services-menu summary:focus-visible, .suite-details summary:focus-visible { outline: 2px solid var(--navy); outline-offset: 5px; }
@media (max-width: 900px) {
  .services-menu > summary { padding: 12px 0; }
  .services-menu-panel { position: static; width: 100%; max-height: 42vh; box-shadow: none; margin-bottom: 8px; }
  .site-nav.is-open { max-height: calc(100dvh - 90px); overflow-y: auto; }
}
@media (max-width: 650px) {
  .expanded-services .expanded-service-grid { grid-template-columns: 1fr; }
  .expanded-service { padding: 24px; }
  .suite-photos { grid-template-columns: 1fr; }
  .suite-photos img { height: auto; aspect-ratio: 4 / 3; }
}
