/* Round 14 (cities): see D:/elite-tmp/r14/brief.md.
   1. The Areas We Serve hub: the towns with a city page (archive-elite_area.php, area-card.php).
   2. The city pages, /locations/<town>-nj/ (single-elite_area.php, template-parts/components/city-*.php).
   Tokens only (site.css :root); the hub's own rules are in r7-content.css. */

/* ==========================================================================
   1. The hub
   ========================================================================== */

/* A town with its own page: the chip filled in the brand tint, an arrow that points on (not out). */
.post-type-archive-elite_area.premium-inner .aws-chip--page {
  border-color: color-mix(in srgb, var(--ortho, #462d88) 30%, #fff); background: var(--ortho-tint, #eee9f7); color: var(--ortho-dark, #35206a);
}
.post-type-archive-elite_area.premium-inner .aws-chip--page .aws-chip__go { transform: none; }
.post-type-archive-elite_area.premium-inner .aws-chip--page:hover { border-color: var(--ortho, #462d88); background: var(--ortho, #462d88); color: #fff; }
.post-type-archive-elite_area.premium-inner .aws-chip--page:hover .aws-chip__go { color: var(--cyan, #3aecf1); transform: translateX(2px); }
.post-type-archive-elite_area.premium-inner .aws-town--page:target .aws-chip__go { transform: none; }

/* The office card: directions, and the office town's own page. */
.post-type-archive-elite_area.premium-inner .aws-home__acts { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.post-type-archive-elite_area.premium-inner .aws-home__acts .aws-home__go { margin: 0; }
.post-type-archive-elite_area.premium-inner .aws-home__page {
  display: inline-flex; align-items: center; gap: 0.55rem; min-height: 2.75rem; padding: 0.55rem 1.1rem; border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.4); background: rgba(255, 255, 255, 0.08);
  font-size: 0.92rem; font-weight: 700; color: #fff; text-decoration: none;
  transition: background-color var(--t-fast, 0.18s ease), border-color var(--t-fast, 0.18s ease);
}
.post-type-archive-elite_area.premium-inner .aws-home__page svg { color: var(--cyan, #3aecf1); }
.post-type-archive-elite_area.premium-inner .aws-home__page:hover { border-color: #fff; background: rgba(255, 255, 255, 0.16); color: #fff; }
.post-type-archive-elite_area.premium-inner .aws-home__page:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

/* Round 14 review: the treatments in the appointment cards are links to their pages, so they look like links:
   an outline in the lane colour, an arrow, and filled on hover and focus (client: anything tagged is a link). */
.post-type-archive-elite_area.premium-inner .aws-lane__list a.aws-lane__link {
  gap: 0.4rem; border: 1px solid color-mix(in srgb, var(--aws-lane, #462d88) 28%, transparent); text-decoration: none;
  transition: background-color var(--t-fast, 0.18s ease), border-color var(--t-fast, 0.18s ease), color var(--t-fast, 0.18s ease);
}
.post-type-archive-elite_area.premium-inner .aws-lane__link svg { flex: none; color: var(--aws-lane, #462d88); transition: transform var(--t-fast, 0.18s ease), color var(--t-fast, 0.18s ease); }
.post-type-archive-elite_area.premium-inner .aws-lane__list a.aws-lane__link:hover,
.post-type-archive-elite_area.premium-inner .aws-lane__list a.aws-lane__link:focus-visible { border-color: var(--aws-lane, #462d88); background: var(--aws-lane, #462d88); color: #fff; }
.post-type-archive-elite_area.premium-inner .aws-lane__link:hover svg,
.post-type-archive-elite_area.premium-inner .aws-lane__link:focus-visible svg { color: #fff; transform: translateX(2px); }

/* The office card's address: a link to Google Maps (client, Round 14). */
.post-type-archive-elite_area.premium-inner .aws-home__addr-link {
  color: inherit; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, 0.45); text-decoration-thickness: 1px; text-underline-offset: 4px;
}
.post-type-archive-elite_area.premium-inner .aws-home__addr-link:hover { color: #fff; text-decoration-color: var(--cyan, #3aecf1); }
.post-type-archive-elite_area.premium-inner .aws-home__addr-link:focus-visible { outline: 2px solid #fff; outline-offset: 3px; border-radius: 2px; }

/* The appointment cards' buttons: the short labels, centred like the home hero's. */
.post-type-archive-elite_area.premium-inner .aws-lane__act .btn { justify-content: center; }
.post-type-archive-elite_area.premium-inner .aws-lane__act .btn__wrap { justify-content: center; width: auto; gap: 0.7rem; }

/* ==========================================================================
   2. The city pages
   ========================================================================== */

.single-elite_area.premium-inner .sect-head__copy > h2:first-child { margin-top: 0 !important; }
.single-elite_area.premium-inner .sect-head { margin-bottom: clamp(1.75rem, 1.2rem + 2vw, 3rem); }
/* Round 14 review: the town's name makes these headings longer than the site's 20ch heading measure, so they
   use their column; a head without a lede (the specialties) is one column, so its heading is not broken in two
   beside an empty half. */
.single-elite_area.premium-inner :is(.city-proof, .city-care) .sect-head__copy h2 { max-width: none; }
.single-elite_area.premium-inner .city-care .sect-head { grid-template-columns: minmax(0, 1fr); }

/* --- Hero: the two booking buttons side by side; they stack only where they cannot fit. */
/* As on the home hero (r10-home.css): equal when there is room, each on its own full-width row only when the pair cannot fit. */
.single-elite_area.premium-inner .city-hero .hero-book { flex-flow: row wrap; max-width: 42rem; gap: 0.75rem; }
.single-elite_area.premium-inner .city-hero .hero-book > .btn { flex: 1 1 0; min-width: max-content; justify-content: center; min-height: 58px; padding: 0.75rem 1.35rem; white-space: nowrap; }
.single-elite_area.premium-inner .city-hero .hero-book .btn__wrap { justify-content: center; width: auto; gap: 0.7rem; }
.single-elite_area.premium-inner .city-hero .ihero__copy .lede { max-width: 36rem; }
@media (max-width: 29.99rem) {
  .single-elite_area.premium-inner .city-hero .hero-book { flex-direction: column; }
  .single-elite_area.premium-inner .city-hero .hero-book > .btn { width: 100%; min-width: 0; white-space: normal; }
}

/* --- The town's families: four statistic cards. */
.single-elite_area.premium-inner .city-stats {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin: 0; padding: 0; list-style: none;
}
.single-elite_area.premium-inner .city-stat {
  --city-tone: var(--ink, #1a1236); --city-tint: var(--mist, #f3f1f7);
  position: relative; display: flex; flex-direction: column; gap: 0.35rem; min-width: 0; margin: 0; padding: 1.1rem 1rem 1.15rem;
  border: 1px solid var(--line-soft, #efedf5); border-radius: var(--r-card, 16px); background: #fff;
  box-shadow: var(--sh-sm, 0 1px 2px rgba(26, 18, 54, 0.04), 0 6px 16px -10px rgba(26, 18, 54, 0.22));
}
.single-elite_area.premium-inner .city-stat::before {
  content: ""; position: absolute; inset: 0 1rem auto; height: 3px; border-radius: 0 0 3px 3px; background: var(--city-tone);
}
.single-elite_area.premium-inner .city-stat--dual { --city-tone: var(--ortho, #462d88); --city-tint: var(--ortho-tint, #eee9f7); }
.single-elite_area.premium-inner .city-stat--dual::before { background: linear-gradient(90deg, var(--ortho, #462d88), var(--ped, #0b6f7d)); }
.single-elite_area.premium-inner .city-stat--ortho { --city-tone: var(--ortho, #462d88); --city-tint: var(--ortho-tint, #eee9f7); }
.single-elite_area.premium-inner .city-stat--ped { --city-tone: var(--ped, #0b6f7d); --city-tint: var(--ped-tint, #e3f4f6); }
.single-elite_area.premium-inner .city-stat__ic {
  display: grid; place-items: center; width: 2.25rem; height: 2.25rem; margin-bottom: 0.35rem; border-radius: 0.75rem;
  background: var(--city-tint); color: var(--city-tone);
}
.single-elite_area.premium-inner .city-stat__n {
  font-family: var(--display); font-weight: 700; font-size: clamp(2rem, 1.6rem + 1.6vw, 2.9rem); line-height: 1; letter-spacing: -0.04em; color: var(--city-tone);
}
.single-elite_area.premium-inner .city-stat--dual .city-stat__n { color: var(--ink, #1a1236); }
.single-elite_area.premium-inner .city-stat__t {
  display: inline-flex; align-items: center; gap: 0.4rem; font-family: var(--display); font-weight: 700; font-size: clamp(1.15rem, 1.05rem + 0.45vw, 1.4rem); line-height: 1.15; letter-spacing: -0.02em; color: var(--city-tone); text-decoration: none;
}
.single-elite_area.premium-inner a.city-stat__t { min-height: 2.75rem; }
.single-elite_area.premium-inner a.city-stat__t:hover { color: var(--ink, #1a1236); }
.single-elite_area.premium-inner .city-stat__k { font-size: 0.95rem; font-weight: 600; line-height: 1.4; color: var(--body, #5a5570); text-wrap: pretty; }
.single-elite_area.premium-inner a.city-stat__k { color: var(--city-tone); text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); text-underline-offset: 3px; }
.single-elite_area.premium-inner a.city-stat__k:hover { color: var(--ink, #1a1236); }
.single-elite_area.premium-inner .city-stat--text .city-stat__k { font-weight: 500; }
@media (min-width: 64rem) {
  .single-elite_area.premium-inner .city-stats { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 1.25rem; }
  .single-elite_area.premium-inner .city-stat { padding: 1.5rem 1.4rem 1.5rem; }
}
@media (max-width: 29.99rem) {
  .single-elite_area.premium-inner .city-stats { gap: 0.6rem; }
  .single-elite_area.premium-inner .city-stat { padding: 0.95rem 0.8rem 1rem; }
  .single-elite_area.premium-inner .city-stat::before { inset: 0 0.8rem auto; }
  .single-elite_area.premium-inner .city-stat__k { font-size: 0.86rem; }
  .single-elite_area.premium-inner .city-stat__t { font-size: 1.08rem; }
}
@media (max-width: 24rem) {
  .single-elite_area.premium-inner .city-stat { padding-inline: 0.7rem; }
  .single-elite_area.premium-inner .city-stat__k { font-size: 0.82rem; }
}

/* The ZIP codes and the population, as one quiet row of facts under the cards. */
.single-elite_area.premium-inner .city-facts {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.85rem; margin: clamp(1.25rem, 1rem + 1vw, 2rem) 0 0; padding: 1.1rem 1.15rem;
  border: 1px solid var(--line-soft, #efedf5); border-radius: var(--r-card, 16px); background: rgba(255, 255, 255, 0.6);
}
.single-elite_area.premium-inner .city-facts__row { display: grid; gap: 0.2rem; min-width: 0; }
.single-elite_area.premium-inner .city-facts dt {
  display: flex; align-items: center; gap: 0.45rem; margin: 0; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ortho, #462d88);
}
.single-elite_area.premium-inner .city-facts__ic { display: grid; place-items: center; color: var(--ortho, #462d88); }
.single-elite_area.premium-inner .city-facts dd { margin: 0; font-size: 0.98rem; line-height: 1.55; color: var(--ink, #1a1236); overflow-wrap: anywhere; }
.single-elite_area.premium-inner .city-facts__src { display: block; font-size: 0.86rem; color: var(--body, #5a5570); }
.single-elite_area.premium-inner .city-facts__src a { color: var(--ortho, #462d88); text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 48rem) {
  .single-elite_area.premium-inner .city-facts { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; padding: 1.25rem 1.5rem; }
}

/* --- The two specialties. */
.single-elite_area.premium-inner .city-care__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.single-elite_area.premium-inner .city-lane {
  --city-lane: var(--ortho, #462d88); --city-lane-dark: var(--ortho-dark, #35206a); --city-tint: var(--ortho-tint, #eee9f7);
  display: flex; flex-direction: column; min-width: 0; padding: 1.4rem 1.2rem 1.35rem;
  border: 1px solid var(--line-soft, #efedf5); border-top: 4px solid var(--city-lane); border-radius: var(--r-card, 16px);
  background: #fff; box-shadow: var(--sh-sm, 0 1px 2px rgba(26, 18, 54, 0.04), 0 6px 16px -10px rgba(26, 18, 54, 0.22));
}
.single-elite_area.premium-inner .city-lane--ped { --city-lane: var(--ped, #0b6f7d); --city-lane-dark: var(--ped-dark, #085966); --city-tint: var(--ped-tint, #e3f4f6); }
.single-elite_area.premium-inner .city-lane__top { display: flex; align-items: center; gap: 0.75rem; }
.single-elite_area.premium-inner .city-lane__ic { display: grid; place-items: center; flex: none; width: 2.75rem; height: 2.75rem; border-radius: 0.85rem; background: var(--city-tint); color: var(--city-lane); }
.single-elite_area.premium-inner .city-lane__k { margin: 0; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--city-lane); }
.single-elite_area.premium-inner .city-lane__h { margin: 1rem 0 0.5rem; font-family: var(--display); font-size: clamp(1.35rem, 1.2rem + 0.6vw, 1.7rem); line-height: 1.15; color: var(--ink, #1a1236); }
.single-elite_area.premium-inner .city-lane__p { max-width: 36rem; margin: 0 0 1.15rem; color: var(--body, #5a5570); text-wrap: pretty; }
.single-elite_area.premium-inner .city-lane__list { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 0 0 1.5rem; padding: 0; list-style: none; }
.single-elite_area.premium-inner .city-lane__list li { margin: 0; }
.single-elite_area.premium-inner .city-lane__list a {
  display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.4rem 0.9rem; border-radius: 999px;
  background: var(--city-tint); font-size: 0.9rem; font-weight: 600; line-height: 1.2; color: var(--city-lane-dark); text-decoration: none;
  transition: background-color var(--t-fast, 0.18s ease), color var(--t-fast, 0.18s ease);
}
.single-elite_area.premium-inner .city-lane__list a:hover { background: var(--city-lane); color: #fff; }
.single-elite_area.premium-inner .city-lane__list a:focus-visible { outline: 2px solid var(--city-lane); outline-offset: 2px; }
/* Round 14 review: an outline and an arrow, so each treatment reads as a link to its page, not a tag. */
.single-elite_area.premium-inner .city-lane__list a.city-lane__link {
  gap: 0.4rem; border: 1px solid color-mix(in srgb, var(--city-lane) 28%, transparent);
  transition: background-color var(--t-fast, 0.18s ease), border-color var(--t-fast, 0.18s ease), color var(--t-fast, 0.18s ease);
}
.single-elite_area.premium-inner .city-lane__link svg { flex: none; color: var(--city-lane); transition: transform var(--t-fast, 0.18s ease), color var(--t-fast, 0.18s ease); }
.single-elite_area.premium-inner .city-lane__list a.city-lane__link:hover,
.single-elite_area.premium-inner .city-lane__list a.city-lane__link:focus-visible { border-color: var(--city-lane); background: var(--city-lane); color: #fff; }
.single-elite_area.premium-inner .city-lane__link:hover svg,
.single-elite_area.premium-inner .city-lane__link:focus-visible svg { color: #fff; transform: translateX(2px); }
.single-elite_area.premium-inner .city-lane__act { margin-top: auto; }
.single-elite_area.premium-inner .city-lane__more { gap: 0.6rem; justify-content: center; }
.single-elite_area.premium-inner .city-lane__more svg { transition: transform var(--t-med, 0.28s ease); }
.single-elite_area.premium-inner .city-lane__more:hover svg { transform: translateX(3px); }
@media (min-width: 48rem) {
  .single-elite_area.premium-inner .city-lane { padding: 1.75rem 1.7rem 1.7rem; }
}
/* Phones: the treatment links two by two, so the cards stay short. */
@media (max-width: 29.99rem) {
  .single-elite_area.premium-inner .city-lane__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.4rem; }
  .single-elite_area.premium-inner .city-lane__list a { width: 100%; height: 100%; padding: 0.45rem 0.7rem; border-radius: 0.85rem; font-size: 0.84rem; line-height: 1.25; }
  .single-elite_area.premium-inner .city-lane__list a.city-lane__link { justify-content: space-between; gap: 0.3rem; padding-inline: 0.65rem 0.5rem; }
  /* Two-word endings stay together ("Clear & / Ceramic Braces", never "Braces" alone under the arrow). */
  .single-elite_area.premium-inner .city-lane__link > span { min-width: 0; text-wrap: balance; }
  .single-elite_area.premium-inner .city-lane__link svg { width: 12px; height: 12px; }
}
@media (min-width: 60rem) {
  .single-elite_area.premium-inner .city-care__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.35rem; }
}

/* --- The doctors: three small profile cards (r4-team.css), one per row below a wide desktop. */
.single-elite_area.premium-inner .city-doctors__grid { grid-template-columns: minmax(0, 1fr); gap: 0.85rem; align-items: stretch; }
.single-elite_area.premium-inner .city-doctors__grid > .dcard--mini { height: 100%; }
@media (min-width: 48rem) and (max-width: 63.99rem) {
  .single-elite_area.premium-inner .city-doctors__grid .dcard--mini .dcard__text { -webkit-line-clamp: unset; max-width: 60ch; }
}
/* Round 14 review: from a small desktop the three doctors sit side by side (one full-width card each left a third of
   every card empty at 1024); below 75rem the cards are compact, as on phones, without the short biography. */
@media (min-width: 64rem) and (max-width: 74.99rem) {
  .single-elite_area.premium-inner .city-doctors__grid { grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: 1rem; }
  .single-elite_area.premium-inner .city-doctors__grid .dcard--mini { gap: 0.95rem; padding: 0.8rem 1rem 0.8rem 0.8rem; }
  .single-elite_area.premium-inner .city-doctors__grid .dcard--mini .dcard__photo { flex-basis: 5rem; width: 5rem; }
  .single-elite_area.premium-inner .city-doctors__grid .dcard--mini .dcard__name { font-size: 1.12rem; }
  .single-elite_area.premium-inner .city-doctors__grid .dcard--mini .dcard__text { display: none; }
}
@media (min-width: 75rem) {
  .single-elite_area.premium-inner .city-doctors__grid { grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: 1.25rem; }
  .single-elite_area.premium-inner .city-doctors__grid .dcard--mini { gap: 1.1rem; padding: 0.9rem 1.15rem 0.9rem 0.9rem; }
  .single-elite_area.premium-inner .city-doctors__grid .dcard--mini .dcard__photo { flex-basis: 5.75rem; width: 5.75rem; }
  .single-elite_area.premium-inner .city-doctors__grid .dcard--mini .dcard__name { font-size: 1.22rem; }
}

/* --- Visiting from the town: the office card and the questions. */
.single-elite_area.premium-inner .city-visit__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; align-items: start; }
.single-elite_area.premium-inner .city-visit__side > h2 { margin: 0 0 1.5rem; }
.single-elite_area.premium-inner .city-office {
  padding: 1.35rem 1.25rem 1.4rem; border: 1px solid var(--line-soft, #efedf5); border-radius: var(--r-card, 16px); background: #fff;
  box-shadow: var(--sh-sm, 0 1px 2px rgba(26, 18, 54, 0.04), 0 6px 16px -10px rgba(26, 18, 54, 0.22));
}
.single-elite_area.premium-inner .city-office__k { margin: 0 0 0.4rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ortho, #462d88); }
.single-elite_area.premium-inner .city-office__addr {
  display: inline-block; margin: 0 0 1rem; font-family: var(--display); font-size: clamp(1.2rem, 1.1rem + 0.4vw, 1.4rem); font-weight: 700; line-height: 1.25; letter-spacing: -0.02em;
  color: var(--ink, #1a1236); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--ortho, #462d88) 35%, transparent); text-decoration-thickness: 2px; text-underline-offset: 5px;
}
.single-elite_area.premium-inner a.city-office__addr:hover { color: var(--ortho, #462d88); }
.single-elite_area.premium-inner .city-office__lines { display: grid; gap: 0.35rem; margin: 0 0 1.25rem; padding: 0; list-style: none; }
.single-elite_area.premium-inner .city-office__lines > li { display: flex; align-items: center; gap: 0.7rem; min-height: 2.75rem; margin: 0; }
.single-elite_area.premium-inner .city-office__lines > li > a { font-weight: 600; color: var(--ink, #1a1236); }
.single-elite_area.premium-inner .city-office__lines > li > a:hover { color: var(--ortho, #462d88); }
.single-elite_area.premium-inner .city-office__ic {
  display: grid; place-items: center; flex: none; width: 2.25rem; height: 2.25rem; border-radius: 0.7rem; background: var(--ortho-tint, #eee9f7); color: var(--ortho, #462d88);
}
.single-elite_area.premium-inner .city-office__hours-row { align-items: flex-start !important; padding-top: 0.3rem; }
.single-elite_area.premium-inner .city-office__hours { display: grid; gap: 0.2rem; width: 100%; max-width: 19rem; margin: 0.25rem 0 0; }
.single-elite_area.premium-inner .city-office__hours > div { display: flex; justify-content: space-between; gap: 1rem; font-size: 0.95rem; }
.single-elite_area.premium-inner .city-office__hours dt { margin: 0; font-weight: 600; color: var(--ink, #1a1236); white-space: nowrap; }
.single-elite_area.premium-inner .city-office__hours dd { margin: 0; color: var(--body, #5a5570); white-space: nowrap; }
.single-elite_area.premium-inner .city-office__dir { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.single-elite_area.premium-inner .city-office__go { flex: 1 1 auto; gap: 0.6rem; justify-content: center; min-height: 52px; }
@media (max-width: 29.99rem) {
  .single-elite_area.premium-inner .city-office { padding: 1.2rem 1rem 1.25rem; }
  .single-elite_area.premium-inner .city-office__go { padding-inline: 0.85rem; gap: 0.5rem; font-size: 0.95rem; }
}
.single-elite_area.premium-inner .city-visit__qh { margin: 0 0 1rem; font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.55rem); }
/* Round 14 review: the links inside the answers (the address, the insurance page, booking, the phone) were only a shade
   darker than the text; underlined and a little bolder, as on the FAQ page, so they read as links. */
.single-elite_area.premium-inner .city-visit .faq__a a {
  color: var(--ortho, #462d88); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.18em;
}
.single-elite_area.premium-inner .city-visit .faq__a a:hover { color: var(--ink, #1a1236); }
.post-type-archive-elite_area.premium-inner .aws-faq .faq__a a {
  color: var(--ortho, #462d88); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.18em;
}
.post-type-archive-elite_area.premium-inner .aws-faq .faq__a a:hover { color: var(--ink, #1a1236); }
@media (min-width: 64rem) {
  .single-elite_area.premium-inner .city-visit__grid { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(2.5rem, 5vw, 5rem); }
  .single-elite_area.premium-inner .city-office { padding: 1.75rem 1.75rem 1.8rem; }
  .single-elite_area.premium-inner .city-visit__faq { padding-top: 0.4rem; }
}

/* --- Booking, and the other towns: one panel. */
.single-elite_area.premium-inner .city-close__panel {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; padding: 1.6rem 1.25rem; border: 1px solid var(--line-soft, #efedf5);
  border-radius: calc(var(--r-card, 16px) + 6px); background: #fff; box-shadow: var(--lift);
}
.single-elite_area.premium-inner .city-close__book > h2 { margin: 0 0 0.75rem; }
.single-elite_area.premium-inner .city-close__book > .lede { margin: 0 0 1.4rem; max-width: 34rem; }
.single-elite_area.premium-inner .city-close__acts { display: flex; flex-direction: column; gap: 0.65rem; max-width: 27rem; }
.single-elite_area.premium-inner .city-close__acts > .btn { width: 100%; justify-content: center; }
.single-elite_area.premium-inner .city-close__acts .btn__wrap { justify-content: center; width: auto; gap: 0.7rem; }
.single-elite_area.premium-inner .city-close__call { gap: 0.55rem; }
.single-elite_area.premium-inner .city-close__th { margin: 0 0 1rem; font-family: var(--text); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ortho, #462d88); }
.single-elite_area.premium-inner .city-towns { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1.25rem; padding: 0; list-style: none; }
.single-elite_area.premium-inner .city-towns li { margin: 0; }
.single-elite_area.premium-inner .city-town {
  display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.45rem 1rem; border: 1px solid color-mix(in srgb, var(--ortho, #462d88) 30%, #fff);
  border-radius: 999px; background: var(--ortho-tint, #eee9f7); font-size: 0.95rem; font-weight: 600; line-height: 1.2; color: var(--ortho-dark, #35206a); text-decoration: none; white-space: nowrap;
  transition: background-color var(--t-fast, 0.18s ease), color var(--t-fast, 0.18s ease), border-color var(--t-fast, 0.18s ease);
}
.single-elite_area.premium-inner .city-town { gap: 0.45rem; }
.single-elite_area.premium-inner .city-town svg { flex: none; color: var(--ortho, #462d88); transition: transform var(--t-fast, 0.18s ease), color var(--t-fast, 0.18s ease); }
.single-elite_area.premium-inner .city-town:hover { border-color: var(--ortho, #462d88); background: var(--ortho, #462d88); color: #fff; }
.single-elite_area.premium-inner .city-town:hover svg,
.single-elite_area.premium-inner .city-town:focus-visible svg { color: var(--cyan, #3aecf1); transform: translateX(2px); }
.single-elite_area.premium-inner .city-town:focus-visible { outline: 2px solid var(--ortho, #462d88); outline-offset: 2px; }
@media (max-width: 29.99rem) {
  .single-elite_area.premium-inner .city-close__panel { padding: 1.4rem 1rem; }
  .single-elite_area.premium-inner .city-close__acts > .btn { padding-inline: 0.9rem; }
  .single-elite_area.premium-inner .city-close__acts .btn__wrap { gap: 0.55rem; }
}
@media (min-width: 48rem) {
  .single-elite_area.premium-inner .city-close__panel { padding: 2.25rem 2.25rem; }
}
@media (min-width: 64rem) {
  .single-elite_area.premium-inner .city-close__panel { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2.5rem, 5vw, 4.5rem); padding: 2.75rem 3rem; align-items: center; }
  .single-elite_area.premium-inner .city-close__towns { padding-left: clamp(2rem, 3.5vw, 3.25rem); border-left: 1px solid var(--line-soft, #efedf5); }
}

@media (prefers-reduced-motion: reduce) {
  .single-elite_area.premium-inner :is(.city-lane__list a, .city-town, .city-lane__more svg, .city-lane__link svg, .city-town svg) { transition: none; }
  .post-type-archive-elite_area.premium-inner :is(.aws-home__page, .aws-lane__link, .aws-lane__link svg) { transition: none; }
}
