/* Shared Services package invitation and the dedicated package catalog. */
.services-open #services-pricing > .sp-package-promo { scroll-margin-top: 125px; }
.services-open #row-packages-v2 .sp-package-promo-body {
  position: relative; isolation: isolate; overflow: hidden;
  border: 1px solid #366194; border-radius: 24px; padding: 34px 38px;
  background: radial-gradient(ellipse at 100% 0, #226daf70, transparent 65%),
    linear-gradient(115deg, #122941, #172649 55%, #241d49);
}
.services-open #row-packages-v2 .sp-package-promo-art {
  position: absolute; z-index: -1; right: 38px; top: 0;
  display: flex; align-items: center; gap: 12px; transform: rotate(-9deg);
  font-size: clamp(5rem, 10vw, 9rem); font-weight: 900; letter-spacing: -.09em;
  color: #82caff; opacity: .45;
  text-shadow: 1px 3px #2a80b3, 3px 6px #3258a4, 5px 10px #473276;
}
.services-open #row-packages-v2 .sp-package-promo-art span { transform: translateY(64px); }
.services-open #row-packages-v2 .sp-package-promo-copy { max-width: 680px; }
.services-open #row-packages-v2.sp-package-promo .sp-pill { margin: 0 0 14px; }
.services-open #row-packages-v2.sp-package-promo h2 {
  max-width: 510px; margin: 0 0 14px; font-size: clamp(1.8rem, 3vw, 2.4rem);
  color: var(--sp-ink); letter-spacing: -.045em; line-height: 1.1;
}
.services-open #row-packages-v2.sp-package-promo p { max-width: 530px; color: var(--sp-muted); font-size: .95rem; line-height: 1.65; margin: 0 0 22px; }
.services-open #row-packages-v2 .sp-package-link { display: inline-flex; gap: 20px; width: auto; padding: 15px 22px; color: #031824; background: linear-gradient(100deg, #00c9ef, #34b3ff); border: 1px solid #4dd8ff; font-size: .92rem; }
.services-open #row-packages-v2 .sp-package-terms-link { display: inline-flex; align-items: center; min-height: 44px; margin-left: 20px; color: #c9dcf5; font-size: .8rem; text-decoration: underline; text-underline-offset: 4px; scroll-margin-top: 150px; }
.services-open #row-packages-v2.sp-package-promo .sp-package-help { margin-top: 18px; }
.packages-page #row-packages-v2 .sp-package-help { margin-top: 32px; border-top: 1px solid var(--sp-line); }
.services-open #row-packages-v2 .sp-package-help summary { padding: 20px 2px; font-size: .95rem; font-weight: 600; cursor: pointer; }
.services-open #row-packages-v2 .sp-package-help details > div { padding-bottom: 24px; line-height: 1.7; }
.services-open #row-packages-v2 .sp-package-help p { margin: 0 0 14px; }

.packages-page .sp-header { margin-bottom: 36px; }
.packages-page .sp-sub-title { max-width: 750px; line-height: 1.65; }
.packages-page .sp-area-control.sp-pickup { margin-bottom: 38px; }
.packages-page .sp-pickup .sp-area-label { margin-bottom: 18px; }
.packages-page .sp-pickup .sp-pickup-card { min-height: 158px; gap: 10px; padding: 22px 24px; }
.packages-page .sp-pickup .sp-pickup-core .sp-pickup-heading { padding-right: 0; }
.packages-page .sp-pickup .sp-pickup-title { font-size: 1.25rem; }
.packages-page .sp-pickup .sp-pickup-neighbourhoods { max-width: 85%; font-size: .8rem; line-height: 1.6; }
.packages-page .sp-pickup .sp-pickup-description { font-size: .78rem; }
.packages-page #row-packages-v2 .rpv2-header { margin-bottom: 22px; }
.packages-page #row-packages-v2 .rpv2-title { font-size: clamp(1.65rem, 3vw, 2.2rem); }
.packages-page #row-packages-v2 .rpv2-intro { max-width: 740px; }
.packages-page #row-packages-v2 .rpv2-selectors { max-width: 620px; margin-left: 0; margin-bottom: 22px; }
.packages-page #row-packages-v2 .rpv2-tbtn { min-height: 54px; }
.packages-page #row-packages-v2 .rpv2-terms-brief { margin-top: 12px; }
.packages-page #row-packages-v2 .pkg-all-prices { margin-top: 32px; }
.packages-page #row-packages-v2 .pkg-all-prices details > div { max-width: 920px; }
.packages-page #row-packages-v2 .pkg-price-table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 22px 0 12px; font-size: .9rem; }
.packages-page #row-packages-v2 .pkg-price-table caption { text-align: left; color: var(--sp-ink); font-size: 1.05rem; font-weight: 700; margin: 0 0 12px; }
.packages-page #row-packages-v2 .pkg-price-table th,
.packages-page #row-packages-v2 .pkg-price-table td { border-bottom: 1px solid #2b405e; text-align: center; padding: 8px 3px; }
.packages-page #row-packages-v2 .pkg-price-table thead th { color: #a8c4e7; font-size: .8rem; font-weight: 550; background: #112139; }
.packages-page #row-packages-v2 .pkg-price-table th:first-child { text-align: left; padding-left: 10px; }
.packages-page #row-packages-v2 .pkg-price-table th[scope="row"] { color: #edf5ff; font-size: .85rem; font-weight: 650; }
.packages-page #row-packages-v2 .pkg-price-table small { display: block; font-size: .7rem; font-weight: 450; color: #a8bcd5; }
.packages-page #row-packages-v2 .pkg-price-table .pkg-table-book { display: flex; min-height: 44px; align-items: center; justify-content: center; font-weight: 650; color: #65e2ff; text-decoration: underline; text-underline-offset: 4px; border-radius: 6px; }
.packages-page #row-packages-v2 .pkg-table-book:hover { background: #24466f; }
.packages-page #row-packages-v2 .pkg-table-note { font-size: .8rem; }
.packages-page :is(.pkg-price-table a, .sp-package-help summary):focus-visible,
.services-open .sp-package-promo a:focus-visible { outline: 3px solid #c9efff; outline-offset: 4px; }
@media (min-width: 1100px) {
  .packages-page .sp-pickup .sp-pickup-card { min-height: 226px; }
  .packages-page .sp-pickup .sp-pickup-neighbourhoods { max-width: 100%; }
}
@media (max-width: 680px) {
  .services-open #row-packages-v2 .sp-package-promo-body { padding: 24px 20px; border-radius: 20px; }
  .services-open #row-packages-v2 .sp-package-promo-art { right: 10px; top: 13px; font-size: 5.8rem; opacity: .19; gap: 6px; }
  .services-open #row-packages-v2 .sp-package-promo-art span { transform: translateY(40px); }
  .services-open #row-packages-v2.sp-package-promo h2 { max-width: 270px; font-size: 1.8rem; }
  .services-open #row-packages-v2.sp-package-promo p { font-size: .87rem; }
  .services-open #row-packages-v2 .sp-package-link { display: flex; width: 100%; padding-left: 12px; padding-right: 12px; gap: 12px; }
  .services-open #row-packages-v2 .sp-package-terms-link { display: flex; justify-content: center; margin: 4px 0 -8px; }
  .packages-page .sp-pickup .sp-pickup-card { min-height: 142px; padding: 18px; }
  .packages-page .sp-pickup .sp-pickup-core { min-height: 166px; }
  .packages-page .sp-pickup .sp-pickup-neighbourhoods { max-width: 93%; }
  .packages-page .sp-pickup .sp-pickup-heading { gap: 10px; }
  .packages-page .sp-pickup .sp-pickup-title { font-size: 1.2rem; }
  .packages-page .sp-pickup .sp-pickup-title-tail { display: inline; }
  .packages-page #row-packages-v2 .rpv2-tbtn { padding: 10px 7px; font-size: .85rem; }
  .packages-page #row-packages-v2 .pkg-price-table { font-size: .83rem; }
  .packages-page #row-packages-v2 .pkg-price-table thead th { font-size: .7rem; }
  .packages-page #row-packages-v2 .pkg-price-table th[scope="row"] { font-size: .78rem; }
}
