/* Pantera — modern commercial advisory (DTRE / Caladan register). Hanken
   Grotesk throughout; flat full-bleed bands; navy gravity, restrained slate
   accent; hairlines not shadows; accessible scroll-reveal motion. */

:root {
  --pantera-line: var(--wp--preset--color--border);
  --pantera-brand: #2f3148;
  --pantera-brand-soft: #eceaf3;
  --pantera-accent: #6c6494;
  --pantera-accent-dark: #564e7a;
  --pantera-paper: #f8f8fa;
  --pantera-surface: #eef0f4;
  --pantera-ink: #2f3148;
  --pantera-ink-muted: #5a5c70;
  --pantera-navy-deep: #23253a;
  --pantera-radius: 10px;
  --pantera-radius-md: 8px;
  --pantera-radius-sm: 6px;
  --pantera-radius-pill: 999px;
  --pantera-shadow-nav: none;
  --pantera-shadow-card: none;
  --pantera-shadow-card-hover: none;
  --pantera-header-h: 76px;
  --pantera-header-offset: 0;
  --pantera-header-total: var(--pantera-header-h);
  --pantera-nav-mobile-max: 1199px;
  --pantera-content-max: 1680px;
  --pantera-island-max: 1480px;
  --pantera-gutter: 1.5rem;
  --pantera-shell-max: calc(var(--pantera-content-max) + (2 * var(--pantera-gutter)));
  --pantera-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --reveal-lift: 16px;
  --reveal-duration: 0.7s;
  --reveal-stagger: 80ms;
  --wp--preset--spacing--30: var(--pantera-gutter);
  --wp--style--root--padding-left: var(--pantera-gutter);
  --wp--style--root--padding-right: var(--pantera-gutter);
  /* Body copy scale (one step above legacy rem sizes) */
  --pantera-text-body: 1.0625rem;
  --pantera-text-body-sm: 1rem;
  --pantera-text-body-xs: 0.9375rem;
}

@supports (background: color-mix(in srgb, #000 12%, #fff)) {
  :root {
    --pantera-brand-soft: color-mix(in srgb, var(--pantera-brand) 12%, #fff);
  }
}

:root {
  --pantera-selection-bg: var(--pantera-brand-soft);
  --pantera-selection-color: var(--pantera-brand);
  --pantera-selection-fill: var(--pantera-brand);
  --pantera-selection-blend: normal;
  --pantera-selection-moz-bg: var(--pantera-selection-bg);
}

/* Light page surfaces — soft tint, brand text */
:where(
  body,
  .has-base-background-color,
  .has-surface-background-color,
  .has-paper-background-color,
  .pantera-mailing-list,
  .pantera-home-scroll,
  .pantera-hero-editorial__copy,
  .pantera-hero-editorial .pantera-hero__stack,
  .pantera-property,
  .pantera-property__card,
  .pantera-plugin-main,
  .is-style-card,
  .pantera-form,
  .wp-block-post-content
) {
  --pantera-selection-bg: var(--pantera-brand-soft);
  --pantera-selection-color: var(--pantera-brand);
  --pantera-selection-fill: var(--pantera-brand);
  --pantera-selection-blend: normal;
  --pantera-selection-moz-bg: var(--pantera-selection-bg);
}

:where(
  .has-surface-background-color,
  .has-paper-background-color,
  .pantera-mailing-list
) {
  --pantera-selection-bg: color-mix(in srgb, var(--pantera-brand) 16%, #fff);
}

/* Dark bands — light highlight, brand text (readable without blend mode) */
:where(
  .pantera-hero-full .pantera-hero__stack,
  .pantera-hero-split .pantera-hero__stack,
  .pantera-home-fold.pantera-hero-full,
  .pantera-home-fold.pantera-hero-split,
  .has-navy-background-color,
  .has-navy-deep-background-color,
  .pantera-about-accred,
  .pantera-footer,
  .pantera-cta,
  .pantera-home-cta,
  .pantera-mega__feature,
  .has-hero-header .pantera-header:not(.is-scrolled):not(.mega-open)
) {
  --pantera-selection-bg: color-mix(in srgb, #fff 90%, transparent);
  --pantera-selection-color: var(--pantera-brand);
  --pantera-selection-fill: var(--pantera-brand);
  --pantera-selection-blend: normal;
  --pantera-selection-moz-bg: color-mix(in srgb, #fff 90%, transparent);
}

::selection {
  background-color: var(--pantera-selection-bg);
  color: var(--pantera-selection-color) !important;
  -webkit-text-fill-color: var(--pantera-selection-fill) !important;
  mix-blend-mode: var(--pantera-selection-blend);
}

::-moz-selection {
  background-color: var(--pantera-selection-moz-bg);
  color: var(--pantera-selection-color) !important;
  -webkit-text-fill-color: var(--pantera-selection-fill) !important;
}

/* Side margins — fixed gutters (not WP fluid spacing) */
@media (max-width: 767px) {
  :root {
    --pantera-gutter: 1.875rem;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  :root {
    --pantera-gutter: 3rem;
  }
}

@media (min-width: 1200px) and (max-width: 1439px) {
  :root {
    --pantera-gutter: 2.25rem;
  }
}

/* Large desktops — fixed gutters; shell grows with the viewport (no hard cap). */
@media (min-width: 1440px) {
  :root {
    --pantera-gutter: 3.5rem; /* ~56px */
    --pantera-content-max: calc(100vw - (2 * var(--pantera-gutter)));
  }
}

html { scroll-behavior: smooth; }

/* Anchored bands land below the fixed header */
[id] { scroll-margin-top: calc(var(--pantera-header-total) + 1rem); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Cross-document View Transitions are disabled — the root crossfade stacked on
   scroll-reveal entrances read as a double load/jolt on every navigation. */
@view-transition { navigation: none; }

/* Geist Sans — single stack for display, body, nav */
.pantera-hero__title,
.pantera-band__title,
.pantera-case__title,
.pantera-stats__value,
h1, h2 {
  font-family: var(--wp--preset--font-family--display);
  letter-spacing: -0.025em;
}

.pantera-band__label,
.pantera-hero__kicker,
.pantera-kicker,
.pantera-dept-tab__label,
.pantera-search-card__filter label {
  font-family: var(--wp--preset--font-family--nav);
}

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  background: #fff;
  font-family: var(--wp--preset--font-family--body);
  font-size: var(--pantera-text-body);
}

/* ---- Design system primitives ---------------------------------------- */
.pantera-container {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--pantera-shell-max);
  margin-inline: auto;
  padding-inline: var(--pantera-gutter);
}

.pantera-surface-card {
  background: var(--pantera-surface);
  border-radius: var(--pantera-radius);
  padding: clamp(1.75rem, 4vw, 3rem);
  box-shadow: var(--pantera-shadow-card);
}

.pantera-surface-card--light {
  background: #fff;
}

.pantera-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin: 0 0 1.15rem;
  padding: 0;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pantera-ink-muted);
  background: none;
  border-radius: 0;
}


.pantera-title-split {
  color: var(--pantera-ink);
}

/* DTRE-style mixed headers: dark brand + accent purple emphasis */
.pantera-title-emph,
.pantera-hero__emph,
.pantera-title-split--muted {
  font-style: normal;
  font-weight: inherit;
  color: var(--pantera-accent);
}

.pantera-hero__stack .pantera-title-split {
  color: #fff;
}

.pantera-hero__stack .pantera-title-split--muted {
  color: rgba(255, 255, 255, 0.55);
}

/* On dark CTA bands, keep emphasis readable (lighter purple). */
.pantera-home-cta .pantera-title-emph,
.pantera-cta2__title .pantera-title-emph {
  color: color-mix(in srgb, var(--pantera-accent) 55%, #fff);
}

ul.pantera-stats {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.5rem, 4vw, 2.5rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.pantera-stats li {
  margin: 0;
}

.pantera-stats__value {
  display: block;
  margin-bottom: 0.5rem;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: var(--pantera-brand);
}

.pantera-stats__label {
  display: block;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.5;
  color: var(--pantera-ink-muted);
}

@media (max-width: 640px) {
  ul.pantera-stats {
    grid-template-columns: 1fr !important;
    gap: 1.5rem;
  }
}

/* Why Pantera — early layout guard (same load zone as ul.pantera-stats) */
section.pantera-home-why__inner {
  display: flex !important;
  flex-direction: column;
  gap: clamp(2.5rem, 5vw, 4rem);
}

div.pantera-home-why__split {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}

ul.pantera-home-why__points {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(1rem, 2vw, 1.35rem);
  list-style: none !important;
  margin: 0;
  padding: 0;
  width: 100%;
}

ul.pantera-home-why__points > li {
  display: flex !important;
  flex-direction: column;
  gap: .5rem;
  list-style: none !important;
  list-style-type: none !important;
  margin: 0;
  height: 100%;
  box-sizing: border-box;
  padding: clamp(1.4rem, 2.2vw, 1.85rem) 0 0;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--pantera-line);
  border-radius: 0;
}

ul.pantera-home-why__points > li::marker {
  content: none;
}

.pantera-home-why__point-label {
  display: block;
}

ul.pantera-home-why__points > li > strong {
  display: block;
}

@media (max-width: 767px) {
  div.pantera-home-why__split {
    grid-template-columns: 1fr !important;
  }

  ul.pantera-home-why__points {
    grid-template-columns: 1fr !important;
    gap: 1rem;
  }

  ul.pantera-home-why__points > li {
    height: auto;
  }
}

/* Home clients — early layout guard */
div.pantera-about-intro.pantera-home-clients__intro {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: stretch;
}

div.pantera-about-intro__copy {
  display: flex !important;
  flex-direction: column;
}

/* Tablet + phone: stack clients intro only on phone (mirrors Why Pantera). */
@media (max-width: 767px) {
  div.pantera-about-intro.pantera-home-clients__intro {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    align-items: stretch !important;
    gap: clamp(1.35rem, 3vw, 2rem) !important;
  }
}

/* Listings / insights carousels — .pantera-listings is display:grid sitewide */
.pantera-similar-carousel {
  container-type: inline-size;
  width: 100%;
  position: relative;
  overflow: hidden;
  --listings-per-view: 4;
  --listings-gap: clamp(1.25rem, 2vw, 1.75rem);
  --listings-card: calc((100cqw - (var(--listings-per-view) - 1) * var(--listings-gap)) / var(--listings-per-view));
}

@media (max-width: 999px) {
  .pantera-similar-carousel {
    --listings-per-view: 2;
  }
}

@media (max-width: 559px) {
  .pantera-similar-carousel {
    --listings-per-view: 1;
  }
}

ul.pantera-listings.pantera-similar-carousel__track,
ul.pantera-insights.pantera-similar-carousel__track {
  display: flex !important;
  flex-wrap: nowrap !important;
  grid-template-columns: unset !important;
  gap: var(--listings-gap);
  list-style: none;
  margin: 0;
  padding: 0;
  transition: transform .55s var(--pantera-ease);
}

ul.pantera-listings.pantera-similar-carousel__track > .pantera-listings__item,
ul.pantera-insights.pantera-similar-carousel__track > .pantera-insights__item {
  flex: 0 0 var(--listings-card) !important;
  width: var(--listings-card) !important;
  max-width: var(--listings-card);
  min-width: 0;
}

/* Insights deck — early layout guard */
div.pantera-insights-deck {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
}

a.pantera-insights-deck__link {
  display: flex !important;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

@media (max-width: 980px) {
  div.pantera-insights-deck {
    grid-template-columns: 1fr 1fr !important;
  }

  div.pantera-insights-deck .pantera-insights-deck__card--featured {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  div.pantera-insights-deck {
    grid-template-columns: 1fr !important;
  }
}

/* Mailing list — early layout + multi-select guard */
div.pantera-mailing-list__inner {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: clamp(1.75rem, 4vw, 3rem);
  box-sizing: border-box;
  width: 100%;
  max-width: var(--pantera-content-max);
  margin-inline: auto !important;
  padding: clamp(1.75rem, 3vw, 2.5rem);
  background: #fff;
  border-radius: var(--pantera-radius);
  box-shadow: var(--pantera-shadow-card);
}

.pantera-mailing-list__copy {
  flex: 1 1 13rem;
  max-width: 20rem;
}

div.pantera-mailing-list__action {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 2 1 28rem;
  min-width: 0;
}

form.pantera-mailing-list__form {
  display: flex !important;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
}

div.pantera-mailing-list__fields {
  display: grid !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.1fr) minmax(0, 1.2fr) auto;
  gap: .75rem;
  align-items: end;
}

.pantera-mailing-list__form .pantera-form__field {
  display: flex !important;
  flex-direction: column;
  gap: .35rem;
  min-width: 0;
  margin: 0;
}

.pantera-mselect {
  position: relative;
  width: 100%;
}

.pantera-mselect__native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.pantera-mselect__native[hidden] {
  display: none !important;
}

.pantera-mselect__trigger {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  width: 100%;
}

ul.pantera-mselect__menu {
  list-style: none !important;
  margin: 0;
  padding: .35rem 0;
}

.pantera-mselect__menu:not(.is-open) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 1100px) {
  div.pantera-mailing-list__inner {
    flex-direction: column !important;
    align-items: stretch;
    gap: 1rem !important;
    padding: 1.25rem !important;
  }

  .pantera-mailing-list__copy,
  div.pantera-mailing-list__action {
    flex: 0 0 auto !important;
    max-width: none;
  }

  form.pantera-mailing-list__form {
    gap: 0.65rem !important;
  }

  div.pantera-mailing-list__fields {
    grid-template-columns: 1fr 1fr !important;
    gap: .75rem !important;
  }

  .pantera-mailing-list__interests-field,
  .pantera-mailing-list__form .pantera-form__submit {
    grid-column: 1 / -1;
  }

  .pantera-mailing-list__form .pantera-form__submit .wp-element-button {
    width: auto;
  }
}

@media (max-width: 640px) {
  .wp-site-blocks .pantera-mailing-list.alignfull {
    padding-block: 1.5rem !important;
  }

  div.pantera-mailing-list__inner {
    gap: .85rem !important;
    padding: 1.1rem !important;
  }

  div.pantera-mailing-list__fields {
    grid-template-columns: 1fr !important;
    gap: .7rem !important;
  }

  .pantera-mailing-list__interests-field,
  .pantera-mailing-list__form .pantera-form__submit {
    grid-column: auto;
  }

  .pantera-mailing-list__form .pantera-form__submit .wp-element-button {
    width: 100%;
  }
}

/* Footer — early layout guard */
footer.pantera-footer {
  position: relative;
  padding-block: clamp(2.75rem, 5vw, 4rem) clamp(1.5rem, 2.5vw, 2rem);
  padding-inline: 0 !important;
  background: var(--wp--preset--color--navy) !important;
}

div.pantera-footer__inner {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(2rem, 4vw, 3rem);
  box-sizing: border-box;
  width: 100%;
  max-width: var(--pantera-shell-max);
  margin-inline: auto !important;
  padding-inline: var(--pantera-gutter);
}

div.pantera-footer__mast {
  display: grid !important;
  grid-template-columns: minmax(0, 220px) minmax(0, 1fr) !important;
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}

nav.pantera-footer__nav {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  min-width: 0;
}

ul.pantera-footer__links,
ul.pantera-footer__contact-links,
ul.pantera-footer__legal-list,
ul.pantera-trust-band__logos {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

ul.pantera-footer__links,
ul.pantera-footer__contact-links {
  display: flex !important;
  flex-direction: column !important;
  gap: .55rem;
}

ul.pantera-trust-band__logos {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  width: 100%;
}

div.pantera-footer__offices-grid {
  display: grid !important;
  grid-template-columns: repeat(var(--pantera-office-cols, 4), minmax(0, 1fr)) !important;
  align-items: start;
  gap: clamp(.75rem, 1.5vw, 1.25rem);
  width: 100%;
}

div.pantera-footer__social {
  display: flex !important;
  gap: .65rem;
}

div.pantera-footer__bottom,
.wp-block-group.pantera-footer__bottom {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .75rem 1.5rem;
  box-sizing: border-box;
  width: 100%;
  max-width: var(--pantera-shell-max);
  margin-inline: auto !important;
  padding-inline: var(--pantera-gutter);
}

ul.pantera-footer__legal-list {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: .5rem 1.25rem;
}

@media (max-width: 900px) {
  div.pantera-footer__mast {
    grid-template-columns: 1fr !important;
  }

  nav.pantera-footer__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  div.pantera-footer__offices-grid:not(.pantera-offices--count-1) {
    --pantera-office-cols: 2;
  }

  div.pantera-footer__offices-grid {
    gap: 1.5rem 2rem;
  }
}

@media (max-width: 620px) {
  nav.pantera-footer__nav {
    grid-template-columns: 1fr !important;
  }

  div.pantera-footer__offices-grid {
    --pantera-office-cols: 1;
  }

  ul.pantera-footer__legal-list {
    justify-content: flex-start;
  }
}

/* Pantera lists — suppress WP / browser defaults on component grids */
:is(
  .pantera-stats,
  .pantera-home-why__points,
  .pantera-client-logos,
  .pantera-insights-deck,
  .pantera-header__menu,
  .pantera-mobile-nav,
  .pantera-post-list,
  .pantera-svc-index,
  .pantera-contact-info__links,
  .pantera-footer__links,
  .pantera-footer__contact-links,
  .pantera-footer__legal-list,
  .pantera-trust-band__logos
) {
  list-style: none;
  margin: 0;
  padding: 0;
}

:is(
  .pantera-stats li,
  .pantera-home-why__points li,
  .pantera-client-logos li,
  .pantera-post-list__row
) {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}

.wp-site-blocks,
.wp-site-blocks > main {
  background: #fff;
}

/* Site shell — root padding + alignfull breakout (WP omits has-global-padding on some templates) */
.wp-site-blocks {
  padding-inline: var(--pantera-gutter);
  box-sizing: border-box;
}

.wp-site-blocks > .alignfull,
.wp-site-blocks > main .alignfull,
.wp-site-blocks > footer .alignfull,
.wp-site-blocks .wp-block-template-part .alignfull {
  margin-inline: calc(-1 * var(--pantera-gutter));
  width: auto;
  max-width: none;
}

/* Inner-page bands missing alignfull in markup — same shell breakout as homepage */
.wp-site-blocks > main > :is(
  .pantera-band,
  .pantera-svc-detail-wrap
):not(.alignfull) {
  margin-inline: calc(-1 * var(--pantera-gutter));
  width: auto;
  max-width: none;
}

/* Wide-viewport band gutters — match header / hero shell (global padding alone is too tight). */
.wp-site-blocks > main .alignfull:is(
  .pantera-band,
  .pantera-svc-detail-wrap
).is-layout-constrained {
  padding-inline: max(
    var(--pantera-gutter),
    calc((100vw - var(--pantera-shell-max)) / 2 + var(--pantera-gutter))
  ) !important;
}

/* Fluid shell: beat WP’s fixed wideSize so constrained children track the viewport. */
.wp-site-blocks .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: min(100%, var(--pantera-content-max));
}

/* Fixed header uses inner-shell gutters — cancel alignfull negative-margin breakout. */
.pantera-header.alignfull,
.wp-site-blocks .wp-block-template-part .pantera-header.alignfull {
  margin-inline: 0 !important;
  width: 100%;
  max-width: none;
}

/* Footer background edge-to-edge; gutters live on __inner / __bottom (mailing-list pattern). */
.pantera-footer.alignfull,
.wp-site-blocks .wp-block-template-part .pantera-footer.alignfull {
  box-sizing: border-box;
  width: 100vw;
  max-width: 100vw;
  margin-inline: calc(50% - 50vw) !important;
  padding-inline: 0 !important;
}

/* Template parts for footer/mailing list sit inside padded .wp-site-blocks */
.wp-site-blocks > .wp-block-template-part:has(.pantera-mailing-list),
.wp-site-blocks > .wp-block-template-part:has(.pantera-footer),
.wp-site-blocks > footer:has(.pantera-footer),
.wp-site-blocks > footer:has(.pantera-mailing-list) {
  margin-inline: calc(-1 * var(--pantera-gutter));
  margin-block-start: 0 !important;
  width: auto;
  max-width: none;
}

.wp-site-blocks .wp-block-template-part:has(.pantera-mailing-list) {
  overflow: visible;
}

/* ---- Quiet scroll-reveal (progressive enhancement) -------------------
 * Slow luxury recipe — fade-first entrances, tiny lift on cards only.
 * Grid groups cascade via JS sequential is-in (~130ms apart); grouped
 * children skip CSS transition-delay so timing stays deliberate, not rushed.
 * Sibling .reveal blocks (head → toolbar → carousel) fade as you scroll.
 * --------------------------------------------------------------------- */
.js .reveal {
  opacity: 0;
  transition: opacity var(--reveal-duration) var(--pantera-ease);
  transition-delay: calc(var(--reveal-i, 0) * var(--reveal-stagger));
}

.js :is(
  .pantera-listings__item,
  .pantera-insights__item,
  .pantera-service-cards__item,
  .pantera-auctions-grid__card,
  .pantera-home-why__points > li,
  .pantera-svc-type-list > li,
  .pantera-svc-index > li,
  .pantera-people-grid__card,
  .pantera-svc__team-card,
  .pantera-home-services-carousel__slide,
  .pantera-careers-table__row,
  .pantera-case
).reveal {
  transform: translateY(var(--reveal-lift));
  transition:
    opacity var(--reveal-duration) var(--pantera-ease),
    transform var(--reveal-duration) var(--pantera-ease);
}

.js .reveal-group > .reveal {
  transition-delay: 0ms;
}

.js .reveal.is-in {
  opacity: 1;
  transform: none;
}
/* Above-the-fold / nested wrappers — visible immediately, no second entrance */
.js .reveal.reveal-now,
.js .reveal.reveal-skip,
.js .pantera-scroll-start > .reveal,
.js .pantera-scroll-start .pantera-svc-hero.reveal,
.js .pantera-scroll-start .pantera-contact-hero.reveal,
.js .pantera-home-fold .pantera-hero__stack {
  opacity: 1;
  transform: none;
  transition: none;
}
@media (prefers-reduced-motion: reduce) {
  .js .reveal { opacity: 1; transform: none; transition: none; }
}
@media print {
  .js .reveal { opacity: 1 !important; transform: none !important; }
}

/* Lazy images settle in with a soft fade once decoded (class set by JS only) */
img.img-fade { opacity: 0; transition: opacity .3s var(--pantera-ease); }
img.img-fade.is-loaded { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  img.img-fade { opacity: 1; transition: none; }
}

/* Media reveal — scale-settle removed; images render at rest, no zoom on load. */
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; }

/* Keyboard focus baseline — zero-specificity so component styles still win */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--pantera-accent);
  outline-offset: 2px;
}

/* ---- Header — Caladan floating island nav ----------------------------- */
/* Fixed header — zero layout height; hero/main sit flush at viewport top. */
.wp-site-blocks > header:has(.pantera-header),
.wp-site-blocks > .wp-block-template-part:has(.pantera-header) {
  height: 0;
  overflow: visible;
  margin-bottom: 0;
}

body.has-hero-header .wp-site-blocks > main {
  margin-block-start: 0 !important;
}

body:not(.has-hero-header) {
  padding-top: var(--pantera-header-total);
}

html:has(body.has-hero-header),
body.has-hero-header {
  overscroll-behavior-y: none;
}

.pantera-header {
  position: fixed;
  inset-inline: 0;
  top: 0;
  z-index: 200;
  background: transparent;
  border-bottom: 0;
  font-family: var(--wp--preset--font-family--nav);
  padding: 0;
  pointer-events: none;
  gap: 0 !important;
}

.pantera-header.is-layout-flow,
.pantera-header.wp-block-group-is-layout-flow {
  gap: 0 !important;
}

.pantera-header > .pantera-header__island {
  margin-block-start: 0 !important;
}

.pantera-header.alignfull {
  padding-inline: 0;
}

.pantera-header__island {
  pointer-events: auto;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin: 0;
  background: var(--wp--preset--color--base);
  border-radius: 0;
  border-bottom: 1px solid var(--pantera-line);
  transition: background .28s var(--pantera-ease), border-color .28s var(--pantera-ease);
}

body:not(.has-hero-header) .pantera-header {
  padding-top: 0;
}

/* Transparent over a hero; solidifies (with a hairline) on scroll. */
.has-hero-header .pantera-header:not(.is-scrolled):not(.mega-open) .pantera-header__island {
  background: transparent;
  border-bottom-color: transparent;
}

.pantera-mega-backdrop {
  position: fixed;
  inset: 0;
  top: var(--pantera-header-total);
  z-index: 1;
  background: rgba(22, 21, 42, 0.32);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .25s var(--pantera-ease), visibility .25s;
}

.pantera-header.mega-open .pantera-mega-backdrop {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
  .pantera-mega-backdrop { transition: none; }
}

.pantera-header__inner {
  display: flex !important;
  align-items: center !important;
  gap: 2rem;
  box-sizing: border-box;
  width: 100%;
  max-width: var(--pantera-shell-max) !important;
  height: var(--pantera-header-h);
  margin-inline: auto !important;
  margin-block: 0 !important;
  padding-block: 0 !important;
  padding-inline: var(--pantera-gutter) !important;
  position: relative;
  z-index: 2;
}

.pantera-header__inner > * {
  margin: 0 !important;
}

/* Logo left; nav + actions pushed to the right. */
.pantera-header__logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  line-height: 0;
}

.pantera-header__logo-img {
  display: block;
  width: auto;
  height: 62px;
}

.pantera-header__logo-img--light { display: none; }
.has-hero-header .pantera-header:not(.is-scrolled):not(.mega-open) .pantera-header__logo-img--light { display: block; }
.has-hero-header .pantera-header:not(.is-scrolled):not(.mega-open) .pantera-header__logo-img--dark { display: none; }

.pantera-header__nav--left {
  margin-left: auto !important;
}

.pantera-header__actions {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.pantera-header__nav {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.pantera-header__menu {
  display: flex;
  align-items: center;
  gap: 1.35rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pantera-header__item {
  position: relative;
  display: flex;
  align-items: center;
}

.pantera-header__link {
  display: inline-flex;
  align-items: center;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1 !important;
  color: var(--pantera-brand);
  transition: color .15s var(--pantera-ease);
}

.pantera-header__link:hover {
  color: var(--pantera-accent);
  text-decoration: none;
}

/* Current section — quiet ink underline (set by pantera.js from pathname) */
.pantera-header__link[aria-current="page"] {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: currentColor;
  text-underline-offset: 2px;
}

.pantera-header__cta {
  flex-shrink: 0;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1;
  padding: .65rem 1.3rem;
  border: none;
  border-radius: 0;
  background: var(--pantera-brand);
  color: #fff;
  white-space: nowrap;
  transition: background .18s var(--pantera-ease), color .18s var(--pantera-ease), box-shadow .18s var(--pantera-ease);
}

.pantera-header__cta:hover {
  text-decoration: none;
  background: var(--pantera-navy-deep);
}

.pantera-header__cta:active {
  transform: translateY(1px);
}

/* Over a hero: white nav text, ghost CTA. */
.has-hero-header .pantera-header:not(.is-scrolled):not(.mega-open) .pantera-header__link {
  color: #fff;
}
.has-hero-header .pantera-header:not(.is-scrolled):not(.mega-open) .pantera-header__link:hover {
  color: rgba(255, 255, 255, 0.68);
}
.has-hero-header .pantera-header:not(.is-scrolled):not(.mega-open) .pantera-header__cta {
  background: transparent;
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
}
.has-hero-header .pantera-header:not(.is-scrolled):not(.mega-open) .pantera-header__cta:hover {
  background: #fff;
  color: var(--pantera-brand);
  box-shadow: none;
}

/* Compact nav dropdown — panel drops from the header like the mega menu */
.pantera-header__item.has-nav-drop { position: static; }

.has-nav-drop.is-mega-open > .pantera-header__link {
  color: var(--pantera-accent);
  text-decoration: underline;
  text-underline-offset: .2em;
  text-decoration-thickness: 1px;
}

.has-hero-header .pantera-header.mega-open .has-nav-drop.is-mega-open > .pantera-header__link {
  color: var(--pantera-accent);
}

.pantera-nav-drop {
  position: fixed;
  top: var(--pantera-header-total);
  left: 0;
  z-index: 35;
  width: min(21rem, calc(100vw - 2rem));
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity .22s var(--pantera-ease),
              transform .22s var(--pantera-ease),
              visibility .22s;
  transition-delay: .06s;
}

.pantera-nav-drop::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -20px;
  height: 24px;
}

.pantera-header__item.has-nav-drop:hover .pantera-nav-drop,
.pantera-header__item.has-nav-drop:focus-within .pantera-nav-drop,
.pantera-header__item.has-nav-drop.is-mega-open .pantera-nav-drop {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition-delay: .04s;
}

.pantera-nav-drop__panel {
  background: #fff;
  border: 1px solid #fff;
  border-top: none;
  border-radius: 0 0 var(--pantera-radius) var(--pantera-radius);
  box-shadow: 0 20px 50px -32px rgba(48, 49, 73, .28);
  padding: 1.35rem 1.5rem 1.15rem;
  overflow: hidden;
}

.pantera-nav-drop__label {
  margin: 0 0 .85rem;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-nav-drop__list {
  display: flex;
  flex-direction: column;
}

.pantera-nav-drop__list a {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: .75rem;
  row-gap: .1rem;
  padding: .7rem 0;
  color: inherit;
  text-decoration: none;
  border-top: 1px solid var(--pantera-line);
  transition: color .15s var(--pantera-ease);
}

.pantera-nav-drop__list a:first-child { border-top: 0; padding-top: 0; }

.pantera-nav-drop__list a::before {
  counter-increment: nav-drop;
  content: counter(nav-drop, decimal-leading-zero);
  grid-row: 1 / span 2;
  padding-top: .12rem;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .6875rem;
  font-weight: 500;
  letter-spacing: .06em;
  color: var(--wp--preset--color--ink-muted);
  transition: color .15s var(--pantera-ease);
}

.pantera-nav-drop__list { counter-reset: nav-drop; }

.pantera-header__item.has-nav-drop:hover .pantera-nav-drop__list a,
.pantera-header__item.has-nav-drop:focus-within .pantera-nav-drop__list a,
.pantera-header__item.has-nav-drop.is-mega-open .pantera-nav-drop__list a {
  animation: pantera-mega-link-in .38s var(--pantera-ease) backwards;
}

.pantera-header__item.has-nav-drop:hover .pantera-nav-drop__list a:nth-child(1),
.pantera-header__item.has-nav-drop:focus-within .pantera-nav-drop__list a:nth-child(1),
.pantera-header__item.has-nav-drop.is-mega-open .pantera-nav-drop__list a:nth-child(1) { animation-delay: .05s; }
.pantera-header__item.has-nav-drop:hover .pantera-nav-drop__list a:nth-child(2),
.pantera-header__item.has-nav-drop:focus-within .pantera-nav-drop__list a:nth-child(2),
.pantera-header__item.has-nav-drop.is-mega-open .pantera-nav-drop__list a:nth-child(2) { animation-delay: .09s; }
.pantera-header__item.has-nav-drop:hover .pantera-nav-drop__list a:nth-child(3),
.pantera-header__item.has-nav-drop:focus-within .pantera-nav-drop__list a:nth-child(3),
.pantera-header__item.has-nav-drop.is-mega-open .pantera-nav-drop__list a:nth-child(3) { animation-delay: .13s; }
.pantera-header__item.has-nav-drop:hover .pantera-nav-drop__list a:nth-child(4),
.pantera-header__item.has-nav-drop:focus-within .pantera-nav-drop__list a:nth-child(4),
.pantera-header__item.has-nav-drop.is-mega-open .pantera-nav-drop__list a:nth-child(4) { animation-delay: .17s; }

.pantera-nav-drop__list a:hover,
.pantera-nav-drop__list a:focus-visible {
  color: var(--pantera-accent);
  text-decoration: none;
}

.pantera-nav-drop__list a:hover::before,
.pantera-nav-drop__list a:focus-visible::before,
.pantera-nav-drop__list a:hover strong,
.pantera-nav-drop__list a:focus-visible strong {
  color: var(--pantera-accent);
}

.pantera-nav-drop__list strong {
  font-family: var(--wp--preset--font-family--display);
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.2;
  color: var(--pantera-brand);
  transition: color .15s var(--pantera-ease);
}

.pantera-nav-drop__list span {
  grid-column: 2;
  font-size: .8125rem;
  line-height: 1.45;
  color: var(--wp--preset--color--ink-muted);
}

/* About — plain link list */
.pantera-nav-drop--simple {
  width: min(9rem, calc(100vw - 2rem));
}

.pantera-nav-drop--simple .pantera-nav-drop__panel {
  padding: .65rem .85rem .55rem;
}

.pantera-nav-drop--simple .pantera-nav-drop__list a {
  display: block;
  padding: .45rem 0;
  font-size: .875rem;
  font-weight: 400;
  color: var(--pantera-brand);
  border-top: 0;
}

.pantera-nav-drop--simple .pantera-nav-drop__list a::before {
  content: none;
  display: none;
}

.pantera-nav-drop--simple .pantera-nav-drop__list a:hover,
.pantera-nav-drop--simple .pantera-nav-drop__list a:focus-visible {
  color: var(--pantera-accent);
}

@media (prefers-reduced-motion: reduce) {
  .pantera-nav-drop {
    transition: opacity .2s, visibility .2s;
    transform: none;
  }

  .pantera-header__item.has-nav-drop.is-mega-open .pantera-nav-drop {
    transform: none;
  }

  .pantera-nav-drop__list a {
    animation: none !important;
  }
}

/* Mega menu — inset panel below header (not full-bleed) */
.pantera-header__item.has-mega { position: static; }

.has-mega.is-mega-open > .pantera-header__link {
  color: var(--pantera-accent);
  text-decoration: underline;
  text-underline-offset: .2em;
  text-decoration-thickness: 1px;
}

.has-hero-header .pantera-header.mega-open .has-mega.is-mega-open > .pantera-header__link {
  color: var(--pantera-accent);
}

.pantera-mega {
  --pantera-mega-inset: clamp(1.5rem, 5vw, 3.5rem);
  --pantera-mega-max: 64rem;
  position: fixed;
  left: 50%;
  top: var(--pantera-header-total);
  width: min(var(--pantera-mega-max), calc(100% - (2 * var(--pantera-mega-inset))));
  max-width: calc(100% - (2 * var(--pantera-mega-inset)));
  background: #fff;
  border: 1px solid #fff;
  border-top: none;
  border-radius: 0 0 var(--pantera-radius) var(--pantera-radius);
  box-shadow: 0 20px 50px -32px rgba(48, 49, 73, .28);
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) translateY(-6px) scale(.985);
  transition: opacity .22s var(--pantera-ease),
              transform .22s var(--pantera-ease),
              visibility .22s;
  transition-delay: .06s;
}

/* Invisible bridge — catches the pointer while crossing from the nav link */
.pantera-mega::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -20px;
  height: 24px;
}

.pantera-header__item.has-mega:hover .pantera-mega,
.pantera-header__item.has-mega:focus-within .pantera-mega,
.pantera-header__item.has-mega.is-mega-open .pantera-mega {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0) scale(1);
  transition-delay: .04s;
}

@media (prefers-reduced-motion: reduce) {
  .pantera-mega {
    transition: opacity .2s, visibility .2s;
    transform: translateX(-50%);
  }

  .pantera-header__item.has-mega:hover .pantera-mega,
  .pantera-header__item.has-mega:focus-within .pantera-mega,
  .pantera-header__item.has-mega.is-mega-open .pantera-mega {
    transform: translateX(-50%);
  }

  .pantera-mega__grid a,
  .pantera-mega__feature-title,
  .pantera-mega__kicker {
    animation: none !important;
  }
}

.pantera-mega__panel {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin: 0;
  display: grid;
  grid-template-columns: 1.45fr 1fr;
  gap: clamp(1.75rem, 3.5vw, 2.5rem);
  padding: clamp(1.75rem, 3.5vw, 2.25rem) clamp(1.75rem, 3.5vw, 2.25rem);
}

.pantera-mega__links { min-width: 0; }

.pantera-mega__kicker {
  margin: 0 0 1rem;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--pantera-accent);
}

.pantera-mega__kicker--light {
  color: rgba(255, 255, 255, .62);
}

.pantera-mega__label {
  display: block;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink-muted);
  margin-bottom: 1rem;
}

.pantera-mega__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(1.5rem, 3.5vw, 2.5rem);
  row-gap: .15rem;
}

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

.pantera-mega__grid a {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  padding: .75rem 0;
  color: inherit;
  text-decoration: none;
  transition: color .15s var(--pantera-ease);
}

.pantera-header__item.has-mega:hover .pantera-mega__grid a,
.pantera-header__item.has-mega:focus-within .pantera-mega__grid a,
.pantera-header__item.has-mega.is-mega-open .pantera-mega__grid a {
  animation: pantera-mega-link-in .42s var(--pantera-ease) backwards;
}

.pantera-header__item.has-mega:hover .pantera-mega__grid a:nth-child(1),
.pantera-header__item.has-mega:focus-within .pantera-mega__grid a:nth-child(1),
.pantera-header__item.has-mega.is-mega-open .pantera-mega__grid a:nth-child(1) { animation-delay: .05s; }
.pantera-header__item.has-mega:hover .pantera-mega__grid a:nth-child(2),
.pantera-header__item.has-mega:focus-within .pantera-mega__grid a:nth-child(2),
.pantera-header__item.has-mega.is-mega-open .pantera-mega__grid a:nth-child(2) { animation-delay: .09s; }
.pantera-header__item.has-mega:hover .pantera-mega__grid a:nth-child(3),
.pantera-header__item.has-mega:focus-within .pantera-mega__grid a:nth-child(3),
.pantera-header__item.has-mega.is-mega-open .pantera-mega__grid a:nth-child(3) { animation-delay: .13s; }
.pantera-header__item.has-mega:hover .pantera-mega__grid a:nth-child(4),
.pantera-header__item.has-mega:focus-within .pantera-mega__grid a:nth-child(4),
.pantera-header__item.has-mega.is-mega-open .pantera-mega__grid a:nth-child(4) { animation-delay: .17s; }
.pantera-header__item.has-mega:hover .pantera-mega__grid a:nth-child(5),
.pantera-header__item.has-mega:focus-within .pantera-mega__grid a:nth-child(5),
.pantera-header__item.has-mega.is-mega-open .pantera-mega__grid a:nth-child(5) { animation-delay: .21s; }
.pantera-header__item.has-mega:hover .pantera-mega__grid a:nth-child(6),
.pantera-header__item.has-mega:focus-within .pantera-mega__grid a:nth-child(6),
.pantera-header__item.has-mega.is-mega-open .pantera-mega__grid a:nth-child(6) { animation-delay: .25s; }

@keyframes pantera-mega-link-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.pantera-mega__grid a:hover,
.pantera-mega__grid a:focus-visible {
  color: var(--pantera-accent);
}

.pantera-mega__grid a:hover strong,
.pantera-mega__grid a:focus-visible strong { color: var(--pantera-accent); }

.pantera-mega__grid a:hover span,
.pantera-mega__grid a:focus-visible span { color: var(--pantera-accent); }

.pantera-mega__grid strong {
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: 1.125rem;
  font-weight: 400;
  letter-spacing: -.01em;
  line-height: 1.12;
  color: var(--pantera-brand);
  transition: color .15s var(--pantera-ease);
}

.pantera-mega__grid span {
  font-size: .8125rem;
  line-height: 1.45;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-mega__feature {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100%;
  margin: calc(-1 * clamp(1.75rem, 3.5vw, 2.25rem)) calc(-1 * clamp(1.75rem, 3.5vw, 2.25rem)) calc(-1 * clamp(1.75rem, 3.5vw, 2.25rem)) 0;
  padding: clamp(1.75rem, 3.5vw, 2.25rem);
  background: linear-gradient(155deg, var(--pantera-brand) 0%, #252636 100%);
  border-radius: 0 0 var(--pantera-radius) 0;
  color: #fff;
  overflow: hidden;
}

.pantera-mega__feature::after {
  content: "";
  position: absolute;
  right: -2.75rem;
  bottom: -2.75rem;
  width: 9.5rem;
  height: 9.5rem;
  /* 768w PNG (no WebP size exists for this upload) — faint decorative crest. */
  background: url("/wp-content/uploads/2024/07/PanteraProperty_Logo_White-768x299.png") no-repeat;
  /* crop to the panther crest (left mark) from the full wordmark */
  background-size: 290% auto;
  background-position: 5% 50%;
  opacity: .18;
  pointer-events: none;
}

.pantera-header__item.has-mega:hover .pantera-mega__feature-title,
.pantera-header__item.has-mega:focus-within .pantera-mega__feature-title,
.pantera-header__item.has-mega.is-mega-open .pantera-mega__feature-title {
  animation: pantera-mega-link-in .5s var(--pantera-ease) .12s backwards;
}

.pantera-header__item.has-mega:hover .pantera-mega__kicker,
.pantera-header__item.has-mega:focus-within .pantera-mega__kicker,
.pantera-header__item.has-mega.is-mega-open .pantera-mega__kicker {
  animation: pantera-mega-link-in .4s var(--pantera-ease) backwards;
}

.pantera-mega__feature .pantera-mega__kicker {
  position: relative;
  z-index: 1;
}

.pantera-mega__feature-title {
  position: relative;
  z-index: 1;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(1.375rem, 2.4vw, 1.625rem);
  font-weight: 400;
  line-height: 1.14;
  letter-spacing: -.015em;
  color: #fff;
  margin: 0 0 1.25rem;
  max-width: 14ch;
}

.pantera-mega__feature-title em { font-style: italic; }

.pantera-mega__feature > div {
  position: relative;
  z-index: 1;
}

.pantera-mega__feature-link {
  align-self: flex-start;
  font-size: .875rem;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, .45);
  padding-bottom: 1px;
  transition: border-color .15s var(--pantera-ease), opacity .15s var(--pantera-ease);
}

.pantera-mega__feature-link:hover {
  opacity: 1;
  border-bottom-color: #fff;
}

.pantera-mega__phone {
  display: block;
  margin-top: .55rem;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .8125rem;
  color: rgba(255, 255, 255, .78);
}

.pantera-mega__phone:hover { color: #fff; }

.pantera-mega__all {
  display: inline-block;
  margin-top: 1.1rem;
  font-size: .875rem;
  font-weight: 500;
  color: var(--pantera-accent);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 1px;
  transition: opacity .15s var(--pantera-ease);
}

.pantera-mega__all:hover { opacity: .75; }

/* Properties mega — minimal image tiles */
.pantera-mega.pantera-mega--properties {
  --pantera-mega-max: 52rem;
}

.pantera-mega__panel--properties {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(.75rem, 1.5vw, 1rem);
  align-items: stretch;
  padding: clamp(1.1rem, 2vw, 1.35rem);
}

.pantera-mega-props-tile {
  position: relative;
  display: block;
  min-height: clamp(12rem, 18vw, 14.5rem);
  overflow: hidden;
  border-radius: var(--pantera-radius-sm);
  color: #fff;
  text-decoration: none;
}

.pantera-mega-props-tile__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pantera-mega-props-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(
    to top,
    rgba(35, 36, 58, .62) 0%,
    rgba(35, 36, 58, .22) 42%,
    rgba(35, 36, 58, .06) 100%
  );
  transition: opacity .25s var(--pantera-ease);
}

.pantera-mega-props-tile__label {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 1rem 1.15rem;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.25rem, 1.9vw, 1.5rem);
  font-weight: 400;
  line-height: 1.1;
  text-align: left;
}

.pantera-mega-props-tile:hover::after,
.pantera-mega-props-tile:focus-visible::after {
  opacity: .92;
}

.pantera-mega-props-tile--commercial {
  background: var(--pantera-brand);
}

.pantera-mega-props-tile--auctions {
  background: var(--pantera-brand);
}

@media (max-width: 980px) {
  .pantera-mega__panel--properties {
    grid-template-columns: 1fr;
  }
}

/* Simple variant — single row, no feature column */
.pantera-mega--simple .pantera-mega__panel { grid-template-columns: 1fr; }
.pantera-mega--simple .pantera-mega__grid,
.pantera-mega--simple .pantera-mega__grid--2 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: clamp(1.5rem, 4vw, 2.5rem);
  row-gap: .35rem;
}

@media (max-width: 980px) {
  .pantera-mega__panel { grid-template-columns: 1fr; }

  .pantera-mega__feature {
    margin: 1.25rem 0 0;
    padding: clamp(1.5rem, 3.5vw, 2rem);
    border-radius: var(--pantera-radius-sm);
    min-height: 0;
  }

  .pantera-mega__feature::after {
    width: 8rem;
    height: 8rem;
    right: -2.25rem;
    bottom: -2.25rem;
  }

  .pantera-mega--simple .pantera-mega__grid,
  .pantera-mega--simple .pantera-mega__grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .pantera-mega__grid,
  .pantera-mega--simple .pantera-mega__grid,
  .pantera-mega--simple .pantera-mega__grid--2 {
    grid-template-columns: 1fr;
  }
}

.pantera-header__mobile,
.pantera-nav-backdrop { display: none; }

.pantera-nav-toggle {
  position: absolute !important;
  opacity: 0;
  pointer-events: none;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.pantera-nav-toggle__btn {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.pantera-nav-toggle__btn span {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: var(--pantera-brand);
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1),
              opacity 0.2s ease,
              width 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: center;
}

.pantera-nav-toggle__btn span:nth-child(2) {
  width: 13px;
}

.pantera-nav-toggle:checked + .pantera-nav-toggle__btn span:nth-child(1),
.pantera-header__island:has(#pantera-nav-toggle:checked) .pantera-nav-toggle__btn span:nth-child(1) {
  width: 18px;
  transform: translateY(6px) rotate(45deg);
}

.pantera-nav-toggle:checked + .pantera-nav-toggle__btn span:nth-child(2),
.pantera-header__island:has(#pantera-nav-toggle:checked) .pantera-nav-toggle__btn span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}

.pantera-nav-toggle:checked + .pantera-nav-toggle__btn span:nth-child(3),
.pantera-header__island:has(#pantera-nav-toggle:checked) .pantera-nav-toggle__btn span:nth-child(3) {
  width: 18px;
  transform: translateY(-6px) rotate(-45deg);
}

.pantera-nav-open { overflow: hidden; }

@media (min-width: 1200px) {
  .pantera-header__cta { display: inline-flex; }
  .pantera-nav-toggle__btn { display: none !important; }
}

@media (max-width: 1199px) {
  .pantera-header__nav--left { display: none; }
  .pantera-header__cta { display: none; }
  .pantera-header__actions { margin-left: auto !important; }
  .pantera-mega,
  .pantera-nav-drop { display: none; }
  .pantera-mega-backdrop { display: none; }

  .pantera-nav-toggle__btn {
    display: flex;
    position: relative;
    z-index: 2;
  }

  .pantera-nav-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 210;
    background: rgba(48, 49, 73, .42);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    cursor: pointer;
    transition: opacity .32s var(--pantera-ease), visibility .32s;
  }

  .pantera-nav-toggle:checked ~ .pantera-nav-backdrop,
  .pantera-header__island:has(#pantera-nav-toggle:checked) .pantera-nav-backdrop,
  body.pantera-nav-open .pantera-nav-backdrop {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .pantera-header__mobile {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: fixed;
    inset: 0 0 0 auto;
    width: 75vw;
    max-width: 22rem;
    z-index: 211;
    margin: 0;
    padding: calc(var(--pantera-header-total) + 1.25rem) 0 0;
    background: #fff;
    border-left: 1px solid var(--pantera-line);
    box-shadow: -12px 0 40px -16px rgba(48, 49, 73, .18);
    overflow: hidden;
    transform: translateX(100%);
    visibility: hidden;
    pointer-events: none;
    transition: transform .36s var(--pantera-ease), visibility .36s;
  }

  .pantera-nav-toggle:checked ~ .pantera-header__mobile {
    transform: translateX(0);
    visibility: visible;
    pointer-events: auto;
  }

  .pantera-header__island:has(#pantera-nav-toggle:checked) .pantera-header__mobile {
    transform: translateX(0);
    visibility: visible;
    pointer-events: auto;
  }

  body.pantera-nav-open .pantera-header__mobile {
    transform: translateX(0);
    visibility: visible;
    pointer-events: auto;
  }

  .pantera-mobile-nav__close {
    position: absolute;
    top: 1.15rem;
    right: 1.15rem;
    left: auto;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  .pantera-mobile-nav__close span {
    position: absolute;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: var(--pantera-brand);
  }

  .pantera-mobile-nav__close span:first-child { transform: rotate(45deg); }
  .pantera-mobile-nav__close span:last-child { transform: rotate(-45deg); }

  .pantera-mobile-nav__close:hover span { background: var(--pantera-accent); }

  .pantera-mobile-nav__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0 1.75rem;
  }

  .pantera-mobile-nav {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .pantera-mobile-nav__item {
    border-bottom: 1px solid var(--pantera-line);
  }

  .pantera-mobile-nav__link,
  .pantera-mobile-nav__summary {
    display: flex;
    align-items: center;
    gap: .75rem;
    width: 100%;
    font-family: var(--wp--preset--font-family--display);
    font-size: 1.375rem;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -.01em;
    color: var(--pantera-brand);
    padding: .85rem 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    list-style: none;
    text-align: left;
    transition: color .18s var(--pantera-ease);
  }

  .pantera-mobile-nav__summary::-webkit-details-marker { display: none; }

  .pantera-mobile-nav__details[open] > .pantera-mobile-nav__summary {
    color: var(--pantera-accent);
  }

  .pantera-mobile-nav__sub {
    display: grid;
    gap: 0;
    padding: 0 0 .75rem;
  }

  .pantera-mobile-nav__sub a {
    display: block;
    font-family: var(--wp--preset--font-family--nav);
    font-size: var(--pantera-text-body-sm);
    font-weight: 400;
    line-height: 1.35;
    color: var(--wp--preset--color--ink-muted);
    padding: .55rem 0 .55rem .75rem;
    border-left: 2px solid var(--pantera-line);
    transition: color .18s var(--pantera-ease), border-color .18s var(--pantera-ease);
  }

  .pantera-mobile-nav__sub a:hover,
  .pantera-mobile-nav__sub a:focus-visible {
    color: var(--pantera-brand);
    border-left-color: var(--pantera-accent);
  }

  .pantera-mobile-nav__link:hover,
  .pantera-mobile-nav__summary:hover { color: var(--pantera-accent); }

  .pantera-mobile-nav__footer {
    flex-shrink: 0;
    padding: 1rem 1.75rem calc(1.25rem + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--pantera-line);
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: .5rem;
  }

  .pantera-mobile-nav__footer-label {
    font-family: var(--wp--preset--font-family--nav);
    font-size: .6875rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--wp--preset--color--ink-muted);
  }

  .pantera-mobile-nav__phone {
    font-family: var(--wp--preset--font-family--display);
    font-size: 1.125rem;
    font-weight: 400;
    letter-spacing: -.01em;
    line-height: 1.2;
    color: var(--pantera-brand);
    transition: color .18s var(--pantera-ease);
  }

  .pantera-mobile-nav__phone:hover,
  .pantera-mobile-nav__phone:focus-visible { color: var(--pantera-accent); }

  .pantera-mobile-nav__cta {
    font-family: var(--wp--preset--font-family--nav);
    font-size: .875rem;
    font-weight: 500;
    letter-spacing: .03em;
    padding: .65rem 1.25rem;
    border: 1px solid var(--pantera-brand);
    border-radius: var(--pantera-radius-sm);
    color: var(--pantera-brand);
    background: transparent;
    text-align: center;
    transition: background .18s var(--pantera-ease), color .18s var(--pantera-ease), border-color .18s var(--pantera-ease);
  }

  .pantera-mobile-nav__cta:hover,
  .pantera-mobile-nav__cta:focus-visible {
    background: var(--pantera-brand);
    border-color: var(--pantera-brand);
    color: #fff;
  }

  .has-hero-header.pantera-nav-open .pantera-header {
    z-index: 212;
  }

  .pantera-nav-open .pantera-nav-toggle__btn span { background: var(--pantera-brand); }

  @media (prefers-reduced-motion: reduce) {
    .pantera-header__mobile,
    .pantera-nav-backdrop { transition: none; }
  }
}

/* ---- Homepage fold — full viewport, search bridges hero + content ----- */
.has-hero-header .pantera-home-fold {
  min-height: 100svh;
  min-height: 100dvh;
  background-color: #23243a;
  background-image: url('/wp-content/uploads/2025/11/capture_1762218810870-scaled.png');
  background-position: center 39%;
  background-size: 128%;
  overflow: hidden;
}

main.pantera-home.is-layout-flow,
main.pantera-home.wp-block-group-is-layout-flow {
  gap: 0 !important;
}

main.pantera-home > .pantera-home-scroll {
  margin-block-start: 0 !important;
}

.pantera-home-fold {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) auto;
  align-content: stretch;
  min-height: 100svh;
  min-height: 100dvh;
  isolation: isolate;
  overflow: hidden;
  gap: 0 !important;
}

.pantera-home-fold.is-layout-flow,
.pantera-home-fold.wp-block-group-is-layout-flow {
  gap: 0 !important;
}

.pantera-home-fold > .pantera-hero__stack,
.pantera-home-fold > .pantera-search-bridge {
  margin-block-start: 0 !important;
}

.pantera-home-scroll {
  background: #fff;
  position: relative;
  z-index: 1;
  margin-block-start: 0;
  gap: 0 !important;
}

.pantera-home-scroll.is-layout-flow,
.pantera-home-scroll.wp-block-group-is-layout-flow {
  gap: 0 !important;
}

.pantera-home-scroll > .alignfull,
.pantera-home-scroll > .wp-block-group {
  margin-block-start: 0 !important;
}

.pantera-scroll-start {
  padding-top: clamp(2rem, 4vw, 3rem);
}

/* ---- Hero ------------------------------------------------------------ */
.pantera-hero {
  position: absolute;
  inset: 0;
  grid-row: 1 / -1;
  grid-column: 1;
  overflow: hidden;
  z-index: 0;
}

.pantera-hero__stack {
  position: relative;
  grid-row: 1;
  grid-column: 1;
  align-self: center;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  max-width: var(--pantera-shell-max);
  min-height: 0;
  margin-inline: auto;
  padding-block: clamp(3rem, 8vh, 5.5rem);
  padding-inline: var(--pantera-gutter);
  text-align: left;
  color: #fff;
  pointer-events: none;
}

.pantera-hero__stack > * { pointer-events: auto; }

/* ---- Homepage hero — editorial split (copy + clipped image) ----------- */
.pantera-home-fold.pantera-hero-editorial {
  --pantera-hero-editorial-corner: clamp(2.75rem, 5.5vw, 4.75rem);
  --pantera-hero-editorial-fold: calc(100svh - var(--pantera-header-total));
  display: block;
  min-height: 0;
  overflow: visible;
  isolation: auto;
  background: #fff;
  border-bottom: 1px solid var(--pantera-line);
}

@supports (height: 100dvh) {
  .pantera-home-fold.pantera-hero-editorial {
    --pantera-hero-editorial-fold: calc(100dvh - var(--pantera-header-total));
  }
}

.pantera-hero-editorial__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  align-items: stretch;
  gap: clamp(1rem, 2.5vw, 2rem);
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-height: var(--pantera-hero-editorial-fold);
  margin-inline: 0;
  padding: 0;
}

.pantera-hero-editorial__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(1.75rem, 4vh, 2.5rem);
  min-width: 0;
  grid-column: 2;
  grid-row: 1;
  background: #fff;
  padding:
    clamp(2rem, 5vh, 3.5rem)
    max(var(--pantera-gutter), calc((100vw - var(--pantera-shell-max)) / 2 + var(--pantera-gutter)))
    clamp(2.5rem, 6vh, 4rem)
    var(--pantera-gutter);
}

.pantera-hero-editorial .pantera-hero__stack {
  position: static;
  display: block;
  width: 100%;
  max-width: 36rem;
  min-height: 0;
  margin: 0;
  padding: 0;
  color: var(--pantera-brand);
  pointer-events: auto;
}

.pantera-hero-editorial .pantera-hero__stack .pantera-title-split {
  display: block;
  color: var(--pantera-brand);
}

.pantera-hero-editorial .pantera-hero__stack .pantera-title-split--muted {
  color: var(--pantera-accent);
}

.pantera-hero-editorial .pantera-hero__kicker {
  color: var(--wp--preset--color--ink-muted);
  margin-bottom: 1.35rem;
}

.pantera-hero-editorial .pantera-hero__title {
  margin: 0;
  color: var(--pantera-brand);
  font-size: clamp(2.5rem, 5.2vw, 4.35rem);
  font-weight: 500;
  line-height: 0.96;
  letter-spacing: -0.038em;
  max-width: none;
}

.pantera-hero-editorial .pantera-hero__lead {
  max-width: 48ch;
  margin-top: 1.5rem;
  font-size: var(--pantera-text-body);
  line-height: 1.7;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

.pantera-hero-editorial .pantera-hero__cta {
  margin-top: 1.65rem;
}

.pantera-hero-editorial__figure.pantera-hero,
.pantera-hero-editorial__figure {
  position: relative;
  inset: auto;
  grid-column: 1;
  grid-row: 1;
  align-self: stretch;
  height: var(--pantera-hero-editorial-fold);
  min-height: var(--pantera-hero-editorial-fold);
  margin: 0;
  overflow: hidden;
  background: var(--pantera-navy-deep);
  clip-path: polygon(
    0 0,
    100% 0,
    100% calc(100% - var(--pantera-hero-editorial-corner)),
    calc(100% - var(--pantera-hero-editorial-corner)) 100%,
    0 100%
  );
}

.pantera-hero-editorial__poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 36%;
  z-index: 0;
  transform-origin: center center;
  /* Cool the stock teal/orange grade toward the navy/purple brand world. */
  filter: saturate(0.84) contrast(1.05) brightness(0.95);
  animation: pantera-hero-editorial-drift 28s var(--pantera-ease) infinite alternate;
}

@keyframes pantera-hero-editorial-drift {
  from { transform: scale(1); }
  to { transform: scale(1.045); }
}

@media (prefers-reduced-motion: reduce) {
  .pantera-hero-editorial__poster {
    animation: none;
  }
}

.pantera-hero-editorial__figure .pantera-hero__video-wrap {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  min-height: 100%;
}

.pantera-hero-editorial__figure::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 3;
  width: var(--pantera-hero-editorial-corner);
  height: var(--pantera-hero-editorial-corner);
  pointer-events: none;
  background: linear-gradient(
    135deg,
    transparent calc(50% - 0.5px),
    rgba(220, 214, 255, 0.38) 50%,
    transparent calc(50% + 0.5px)
  );
}

.pantera-hero-editorial__figure::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  /* Navy scrim (top + weightier bottom) over a subtle full-plate purple-navy
     veil — unifies the photographic grade with the brand without a heavy
     duotone. */
  background:
    linear-gradient(
      180deg,
      rgba(35, 37, 58, 0.24) 0%,
      transparent 26%,
      transparent 60%,
      rgba(35, 37, 58, 0.44) 100%
    ),
    linear-gradient(
      0deg,
      rgba(44, 40, 74, 0.24),
      rgba(44, 40, 74, 0.24)
    );
}

@media (max-width: 860px) {
  .pantera-hero-editorial__inner {
    grid-template-columns: 1fr;
  }

  .pantera-hero-editorial__copy {
    order: 2;
    grid-column: 1;
    padding:
      clamp(2rem, 5vh, 2.75rem)
      var(--pantera-gutter);
  }

  .pantera-hero-editorial__figure {
    order: 1;
    grid-column: 1;
    clip-path: none;
    border-radius: var(--pantera-radius);
  }

  .pantera-hero-editorial .pantera-hero__title {
    font-size: clamp(2.1rem, 9vw, 2.85rem);
  }
}

.pantera-hero__kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin: 0 0 1.5rem;
  padding: 0;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.82);
  background: none;
  border-radius: 0;
}


.pantera-hero__title {
  margin: 0 0 1.15rem;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(2.75rem, 7vw, 5rem);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -0.03em;
  color: #fff;
  text-wrap: balance;
}

.pantera-hero__emph {
  font-style: normal;
  font-weight: 500;
  color: #b3a9e6;
}

.pantera-hero__title .pantera-hero__emph {
  color: #b3a9e6;
}

.pantera-hero__lead {
  margin: 0;
  max-width: 42ch;
  font-size: clamp(1.0625rem, 1.8vw, 1.1875rem);
  line-height: 1.6;
  color: rgba(255, 255, 255, .9);
}

/* Search — bottom row of hero grid, aligned to content shell */
.pantera-search-bridge {
  position: relative;
  grid-row: 2;
  grid-column: 1;
  z-index: 20;
  width: 100%;
  max-width: var(--pantera-shell-max);
  margin-inline: auto;
  padding-inline: var(--pantera-gutter);
  padding-block: 0 clamp(2.5rem, 6vh, 4rem);
  box-sizing: border-box;
  pointer-events: none;
}

.pantera-search-compact {
  width: min(100%, 680px);
  pointer-events: auto;
}

/* Form is the card — hairline only, no shadow (DESIGN.md) */
.pantera-search-card {
  background: #fff;
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius);
  overflow: clip;
  color: var(--pantera-brand);
  box-shadow: none;
}

.pantera-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-color: var(--pantera-navy-deep);
}

.pantera-hero__video-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 1;
  container-type: size;
  isolation: isolate;
}


/* Shared crop — cover the plate; slight scale clips soft edges. */
.pantera-hero__video-wrap .pantera-hero__poster,
.pantera-hero__video-wrap iframe,
.pantera-hero__video-wrap video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: max(100cqw, 177.78cqh);
  height: max(100cqh, 56.25cqw);
  border: 0;
  transform: translate(calc(-50% - 2%), calc(-50% - 9%)) scale(1.27);
  transform-origin: center center;
  pointer-events: none;
}

.pantera-hero__video-wrap .pantera-hero__poster {
  z-index: 0;
  object-fit: cover;
}

.pantera-hero__video-wrap iframe,
.pantera-hero__video-wrap video {
  z-index: 1;
  opacity: 0;
  transition: opacity .7s var(--pantera-ease);
  backface-visibility: hidden;
  object-fit: cover;
}

.pantera-hero.is-video-ready .pantera-hero__video-wrap iframe,
.pantera-hero.is-video-ready .pantera-hero__video-wrap video {
  opacity: 1;
}

@supports not (width: 100cqw) {
  .pantera-hero__video-wrap .pantera-hero__poster,
  .pantera-hero__video-wrap iframe,
  .pantera-hero__video-wrap video {
    width: 100vw;
    height: 56.25vw;
    min-width: 177.78vh;
    min-height: 100dvh;
    transform: translate(calc(-50% - 2%), calc(-50% - 9%)) scale(1.27);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pantera-hero__video-wrap { display: none; }

  .pantera-hero__video-wrap iframe,
  .pantera-hero__video-wrap video {
    opacity: 0;
    transition: none;
  }
}

/* Department tabs — photo tiles with overlay labels (desktop default) */
.pantera-search-card .pantera-dept-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem;
  width: min(100%, 30rem);
  padding: .85rem 1.25rem 0;
  margin: 0;
  border-bottom: 0;
}

.pantera-dept-tabs .control-department {
  display: contents;
}

.pantera-dept-tab {
  position: relative;
  display: block;
  min-width: 0;
  height: 4.75rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--pantera-radius-sm);
  overflow: hidden;
  cursor: pointer;
  color: #fff;
  background: color-mix(in srgb, var(--pantera-brand) 55%, #9aa0ae);
  box-shadow: inset 0 0 0 1px rgba(47, 49, 72, .08);
  transition: box-shadow .18s var(--pantera-ease);
}

.pantera-dept-tab__tile {
  position: absolute;
  inset: 0;
  display: block;
  width: auto;
  height: auto;
  border-radius: 0;
  overflow: hidden;
  background: transparent;
  box-shadow: none;
}

.pantera-dept-tab__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  display: block;
  transform: scale(1.04);
  transition:
    transform .35s var(--pantera-ease),
    filter .22s var(--pantera-ease),
    opacity .22s var(--pantera-ease);
  filter: grayscale(1) brightness(.78);
  opacity: .92;
}

.pantera-dept-tab:has(input[value^="residential"]) .pantera-dept-tab__img {
  object-position: center 48%;
}

.pantera-dept-tab:has(input[value="commercial"]) .pantera-dept-tab__img {
  object-position: center 30%;
}

.pantera-dept-tab:has(input[value="auctions"]) .pantera-dept-tab__img {
  object-position: center 42%;
}

.pantera-dept-tab__tile::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(35, 36, 58, .78) 0%,
    rgba(35, 36, 58, .28) 42%,
    transparent 72%
  );
  transition: background .22s var(--pantera-ease);
}

.pantera-dept-tab__label {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: .6rem .7rem;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .95rem;
  font-weight: 700;
  letter-spacing: -.01em;
  line-height: 1.15;
  white-space: nowrap;
  color: rgba(255, 255, 255, .88);
  text-shadow: 0 1px 3px rgba(0, 0, 0, .4);
  transition: color .18s var(--pantera-ease);
}

.pantera-dept-tab__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.pantera-dept-tab:hover .pantera-dept-tab__img,
.pantera-dept-tab:has(.pantera-dept-tab__input:checked) .pantera-dept-tab__img {
  transform: scale(1.08);
  filter: grayscale(0) saturate(1.12) brightness(1.05);
  opacity: 1;
}

.pantera-dept-tab:hover .pantera-dept-tab__label,
.pantera-dept-tab:has(.pantera-dept-tab__input:checked) .pantera-dept-tab__label {
  color: #fff;
}

.pantera-dept-tab:hover .pantera-dept-tab__tile::after,
.pantera-dept-tab:has(.pantera-dept-tab__input:checked) .pantera-dept-tab__tile::after {
  background: linear-gradient(
    to top,
    rgba(35, 36, 58, .68) 0%,
    rgba(35, 36, 58, .18) 44%,
    transparent 72%
  );
}

.pantera-dept-tab:has(.pantera-dept-tab__input:checked) {
  box-shadow:
    inset 0 0 0 1.5px #fff,
    0 0 0 1.5px var(--pantera-brand);
}

.pantera-dept-tab:has(.pantera-dept-tab__input:checked)::after {
  display: none;
}

.pantera-dept-tab:has(.pantera-dept-tab__input:focus-visible) {
  outline: 2px solid var(--pantera-accent);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .pantera-dept-tab__img {
    transition: filter .15s ease;
    transform: none;
  }

  .pantera-dept-tab:hover .pantera-dept-tab__img,
  .pantera-dept-tab:has(.pantera-dept-tab__input:checked) .pantera-dept-tab__img {
    transform: none;
  }
}

/* Tablet / phone — circular-thumb badge pills instead of photo tiles */
@media (max-width: 900px) {
  .pantera-search-card .pantera-dept-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
    width: 100%;
    max-width: 100%;
  }

  .pantera-dept-tab {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    flex: 0 0 auto;
    height: auto;
    min-height: 2.9rem;
    padding: .3rem 1rem .3rem .55rem;
    border: 1px solid color-mix(in srgb, var(--pantera-line) 88%, transparent);
    border-radius: var(--pantera-radius-pill);
    overflow: visible;
    color: var(--pantera-brand);
    background: color-mix(in srgb, var(--pantera-paper, #f3f4f8) 88%, #fff);
    box-shadow: none;
    transition:
      background .18s var(--pantera-ease),
      border-color .18s var(--pantera-ease),
      color .18s var(--pantera-ease);
  }

  .pantera-dept-tab__tile {
    position: relative;
    inset: auto;
    flex: 0 0 auto;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 50%;
    background: color-mix(in srgb, var(--pantera-brand) 18%, #c8ccd8);
    box-shadow: inset 0 0 0 1px rgba(47, 49, 72, .1);
  }

  .pantera-dept-tab__tile::after {
    display: none;
  }

  .pantera-dept-tab__img {
    transform: none;
    filter: none;
    opacity: 1;
    transition: transform .35s var(--pantera-ease);
  }

  .pantera-dept-tab__label {
    position: static;
    inset: auto;
    z-index: auto;
    display: block;
    padding: 0;
    font-size: .9375rem;
    font-weight: 600;
    color: inherit;
    text-shadow: none;
  }

  .pantera-dept-tab:hover {
    color: var(--pantera-brand);
    background: color-mix(in srgb, var(--pantera-paper, #f3f4f8) 70%, #fff);
    border-color: color-mix(in srgb, var(--pantera-brand) 28%, var(--pantera-line));
  }

  .pantera-dept-tab:hover .pantera-dept-tab__img,
  .pantera-dept-tab:has(.pantera-dept-tab__input:checked) .pantera-dept-tab__img {
    transform: scale(1.06);
    filter: none;
    opacity: 1;
  }

  .pantera-dept-tab:hover .pantera-dept-tab__label,
  .pantera-dept-tab:has(.pantera-dept-tab__input:checked) .pantera-dept-tab__label {
    color: inherit;
  }

  .pantera-dept-tab:has(.pantera-dept-tab__input:checked) {
    color: #fff;
    background: var(--pantera-brand);
    border-color: var(--pantera-brand);
    box-shadow: none;
  }

  .pantera-dept-tab:has(.pantera-dept-tab__input:checked) .pantera-dept-tab__tile {
    box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .35);
  }
}

/* Location + type + accent circle — single row (DESIGN.md) */
.pantera-search-card__main {
  padding: .65rem 1.25rem .85rem;
  border-top: 1px solid var(--pantera-line);
}

.pantera-search-row {
  display: flex;
  align-items: center;
  gap: .75rem;
}

.pantera-search-row .control-address_keyword,
.pantera-search-row .pantera-search-card__filter--location {
  flex: 1.35 1 0;
  min-width: 0;
  margin: 0;
  padding: 0 !important;
  border: 0;
  background: transparent;
}

.pantera-search-card__main .pantera-search-card__filter--location label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.pantera-search-row .pantera-search-card__filter:not(.pantera-search-card__filter--location) {
  position: relative;
  flex: 0 1 10.5rem;
  min-width: 7.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .12rem;
  margin: 0;
  padding: 0 0 0 1rem;
  border: 0;
  border-left: 1px solid var(--pantera-line);
  background: transparent;
  cursor: pointer;
  transition: background .15s var(--pantera-ease);
}

.pantera-search-row .pantera-search-card__filter:not(.pantera-search-card__filter--location):hover {
  background: transparent;
}

.pantera-search-row .pantera-search-card__filter:not(.pantera-search-card__filter--location):focus-within {
  outline: none;
  box-shadow: none;
}

.pantera-search-row .pantera-search-card__filter:not(.pantera-search-card__filter--location) label {
  display: block;
  margin: 0;
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--pantera-ink-muted);
}

.pantera-search-card:has(.pantera-cselect.is-open),
.pantera-search-card:has(.autocomplete-results ul li) {
  overflow: visible;
}

.pantera-search-row__input {
  width: 100%;
  border: 0;
  background: transparent;
  padding: .35rem 0;
  font: inherit;
  font-size: var(--pantera-text-body-sm);
  font-weight: 400;
  line-height: 1.4;
  color: var(--pantera-brand);
  outline: none;
}

.pantera-search-row__input::placeholder { color: #9a978f; font-weight: 400; }

.pantera-search-row__input:focus,
.pantera-search-row__input:focus-visible {
  outline: none;
  box-shadow: none;
}

.pantera-search-card__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: var(--pantera-accent);
  color: #fff;
  cursor: pointer;
  transition: background .18s var(--pantera-ease), transform .12s var(--pantera-ease);
}

.pantera-search-card__submit:hover {
  background: var(--pantera-accent-dark);
}

.pantera-search-card__submit:active {
  transform: translateY(1px);
}

.pantera-search-row .pantera-search-card__filter select,
.pantera-search-select {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 0;
  font: inherit;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--pantera-brand);
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath stroke='%236b6d78' stroke-width='1.5' d='m1 1 4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .15rem center;
  padding-right: 1rem;
}

.pantera-search-card__filter select:focus,
.pantera-search-select:focus,
.pantera-search-card .pantera-cselect__trigger:focus,
.pantera-search-card .pantera-cselect__trigger:focus-visible {
  outline: none;
}

/* Custom dropdown (JS-enhanced) — themed trigger + listbox panel */
.pantera-cselect { position: relative; }
.pantera-cselect__native { display: none !important; }

/* Contextual hide — wins over PropertyHive's inline department toggle */
.pantera-search-card .pantera-hide-beds,
.pantera-refine-form .pantera-hide-beds { display: none !important; }

.pantera-search-card .pantera-cselect__trigger {
  font-size: .875rem;
  line-height: 1.35;
}

.pantera-cselect__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: .875rem;
  font-weight: 500;
  color: var(--pantera-brand);
  text-align: left;
  cursor: pointer;
}

.pantera-cselect__value {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pantera-cselect__caret {
  flex-shrink: 0;
  width: 10px;
  height: 6px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform .2s var(--pantera-ease);
}

.pantera-cselect.is-open .pantera-cselect__caret {
  transform: rotate(180deg);
}

.pantera-search-card__filter.is-open { z-index: 50; }
.pantera-search-card__filter.is-open .pantera-cselect__caret { transform: rotate(180deg); }

.pantera-cselect__menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 60;
  min-width: 100%;
  width: max-content;
  max-width: 240px;
  margin: 0;
  padding: .25rem 0;
  list-style: none;
  background: #fff;
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius-sm);
  max-height: 264px;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity .16s var(--pantera-ease), transform .16s var(--pantera-ease), visibility .16s;
}

.pantera-cselect__menu.is-open {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.has-hero-header .pantera-home-fold:has(.pantera-search-card .pantera-cselect.is-open),
.has-hero-header .pantera-home-fold:has(.pantera-search-form .autocomplete-results ul li),
.pantera-home-fold.pantera-hero-editorial:has(.pantera-search-card .pantera-cselect.is-open),
.pantera-home-fold.pantera-hero-editorial:has(.pantera-search-form .autocomplete-results ul li),
.pantera-home-fold.pantera-hero-editorial:has(.pantera-search-form input[name="address_keyword"]:focus) {
  z-index: 10;
  overflow: visible;
}

.pantera-search-bridge:has(.pantera-cselect.is-open),
.pantera-search-bridge:has(.pantera-search-form .autocomplete-results ul li) {
  z-index: 50;
}

.pantera-cselect__option {
  padding: .5rem .85rem;
  font-size: .875rem;
  line-height: 1.2;
  color: var(--pantera-brand);
  white-space: nowrap;
  cursor: pointer;
  outline: none;
}

.pantera-cselect__option:hover,
.pantera-cselect__option:focus-visible {
  background: var(--pantera-surface);
}

.pantera-cselect__option[aria-selected="true"] {
  color: var(--pantera-accent);
  font-weight: 600;
}

.pantera-search-form .autocomplete-container { position: relative; width: 100%; }

.pantera-search-form .autocomplete-results {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px) !important;
  bottom: auto !important;
  z-index: 60;
  min-width: 100%;
  margin: 0;
  padding: 0;
  background: #fff;
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius-sm);
  max-height: 264px;
  overflow-x: hidden;
  overflow-y: auto;
  box-shadow: 0 10px 30px -12px rgba(48, 49, 73, .18);
}

.pantera-search-form .autocomplete-results ul {
  list-style: none;
  margin: 0;
  padding: .25rem 0;
  border: 0;
  background: transparent;
  max-height: none;
  overflow: visible;
}

.pantera-search-form .autocomplete-results li {
  padding: .5rem .85rem;
  font-size: .875rem;
  line-height: 1.2;
  color: var(--pantera-brand);
  white-space: nowrap;
  cursor: pointer;
  outline: none;
}

.pantera-search-form .autocomplete-results li:hover,
.pantera-search-form .autocomplete-results li:focus-visible {
  background: var(--pantera-surface);
}

.pantera-search-form .autocomplete-results li.active {
  color: var(--pantera-accent);
  font-weight: 600;
  background: var(--pantera-surface);
}

.pantera-search-form input[type="submit"] { display: none; }

@media (max-width: 768px) {
  .pantera-hero__stack {
    align-self: start;
    justify-content: flex-start;
    padding-block: calc(var(--pantera-header-h) + 1.25rem) clamp(1.5rem, 5vw, 2.5rem);
  }

  .pantera-search-bridge {
    padding-block: 0 clamp(1.25rem, 4vw, 2rem);
  }

  .pantera-search-compact {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
}

@media (max-width: 700px) {
  .pantera-search-card .pantera-dept-tabs {
    width: 100%;
    gap: .4rem;
    padding-inline: 1rem;
  }

  .pantera-dept-tab {
    min-height: 2.7rem;
    padding: .28rem .85rem .28rem .45rem;
    gap: .45rem;
  }

  .pantera-dept-tab__tile {
    width: 2.15rem;
    height: 2.15rem;
  }

  .pantera-dept-tab__label {
    font-size: .875rem;
    padding: 0;
  }

  .pantera-search-card__main {
    padding: .65rem .85rem .65rem 1rem;
  }

  .pantera-search-row {
    flex-wrap: wrap;
    row-gap: .55rem;
  }

  .pantera-search-row .pantera-search-card__filter--location {
    flex: 1 1 100%;
  }

  .pantera-search-row .pantera-search-card__filter:not(.pantera-search-card__filter--location) {
    flex: 1 1 calc(100% - 3.25rem);
    min-width: 0;
    padding-left: 0;
    border-left: 0;
  }

  .pantera-search-card__submit {
    margin-left: auto;
  }
}

@media (max-width: 560px) {
  .pantera-search-compact { width: 100%; }
}

/* ---- Homepage bands -------------------------------------------------- */
.pantera-band {
  padding-block: clamp(4rem, 8vw, 6.5rem);
}

.pantera-band--surface {
  background: var(--pantera-surface);
}

.pantera-band--accred {
  padding-block: clamp(1.5rem, 3vw, 2rem) clamp(2.5rem, 5vw, 3.5rem);
}

.pantera-band__label {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin: 0 0 1.15rem !important;
  padding: 0;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pantera-ink-muted);
  background: none;
  border-radius: 0;
}


.pantera-band__title {
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.08;
  margin: 0 0 1rem;
  max-width: 24ch;
  text-wrap: balance;
}

.pantera-band .pantera-hero__emph {
  font-style: normal;
  font-weight: 500;
  color: var(--pantera-accent);
}

.pantera-band__intro {
  max-width: 56ch;
  margin-bottom: 2.25rem !important;
  line-height: 1.7;
  font-size: var(--pantera-text-body);
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

.pantera-band__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1.75rem;
}

.pantera-band__head h2 {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 500;
  font-size: clamp(1.5rem, 2.6vw, 1.875rem);
  letter-spacing: -0.01em;
}

/* Services — section head: heading left, copy right */
.pantera-services__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: end;
  gap: clamp(1.5rem, 5vw, 4rem);
  margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

.pantera-services__head-title .pantera-band__title {
  margin-bottom: 0;
  max-width: 14ch;
}

.pantera-services__head-intro {
  max-width: 48ch;
  margin: 0;
  padding-bottom: .35rem;
  font-size: var(--pantera-text-body);
  line-height: 1.7;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

/* Services index — illustrated editorial grid (3 columns) */
.pantera-band--svc-list {
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
}

/* Index bands — shell-aligned columns (match header / homepage inset). */
.pantera-band--svc-hero .pantera-svc-hero,
.pantera-band--svc-hero .pantera-people-filters,
.pantera-band--svc-list .pantera-service-cards,
.pantera-band--svc-list .pantera-insights,
.pantera-band--svc-list .pantera-insight-pager,
.pantera-band--svc-list .pantera-empty,
.pantera-band--svc-list .pantera-auctions-grid,
.pantera-band--svc-list .pantera-people-grid,
.pantera-band--svc-list .pantera-people-archive__grid,
.pantera-band--insight-head .pantera-insight__head,
.pantera-band--insight-head .pantera-insight__hero,
.pantera-band--insight-body .pantera-insight__layout,
.pantera-band--careers-why .pantera-home-why__inner,
.pantera-band--careers-roles .pantera-careers-roles-head,
.pantera-band--careers-roles .pantera-careers-table-wrap,
.pantera-band--person .pantera-person,
.pantera-band--career .pantera-career-header,
.pantera-band--career .pantera-career__content,
.pantera-band--career .pantera-career-apply,
.pantera-svc-detail-wrap > .pantera-svc__layout {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--pantera-shell-max);
  margin-inline: auto !important;
  padding-inline: var(--pantera-gutter);
}

/* Topic tabs share the shell column but shrink-wrap to the pills —
   full-width 100% left an empty track stretch on tablet/phone. */
.pantera-band--svc-list .pantera-insight-tabs {
  box-sizing: border-box;
  width: fit-content;
  max-width: min(
    calc(100% - (2 * var(--pantera-gutter))),
    calc(var(--pantera-shell-max) - (2 * var(--pantera-gutter)))
  );
  margin-left: max(
    var(--pantera-gutter),
    calc((100% - var(--pantera-shell-max)) / 2 + var(--pantera-gutter))
  ) !important;
  margin-right: auto !important;
  /* Shell gutter is applied via margin, not padding. */
  padding-inline: 0;
}

/* Services index — illustrated editorial grid (3 columns) */
.pantera-services-page .pantera-service-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 0;
}

.pantera-services-page .pantera-service-cards__item {
  min-width: 0;
  border-bottom: 0;
}

.pantera-services-page .pantera-service-cards__item:not(:nth-child(3n + 1)) {
  border-left: 0;
}

.pantera-services-page .pantera-svc-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: .85rem;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.pantera-svc-card__media {
  position: relative;
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: clip;
  background: #fff;
  border-radius: var(--pantera-radius);
}

.pantera-svc-card__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  padding: 0;
  transition: opacity .25s var(--pantera-ease);
}

@media (prefers-reduced-motion: reduce) {
  .pantera-svc-card__media img { transition: none; }
}

.pantera-svc-card__media--valuation img,
.pantera-home-service-card__media--valuation img {
  transform: scale(0.94);
  transform-origin: center center;
}

.pantera-svc-card:hover .pantera-svc-card__media img,
.pantera-svc-card:focus-visible .pantera-svc-card__media img {
  opacity: .88;
}

.pantera-svc-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: .45rem;
}

.pantera-svc-card__head {
  display: flex;
  align-items: baseline;
  gap: .45rem;
}

.pantera-svc-card__title {
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(1.25rem, 1.8vw, 1.5rem);
  font-weight: 400;
  letter-spacing: -.015em;
  line-height: 1.15;
  color: var(--pantera-brand);
  transition: opacity .2s var(--pantera-ease);
}

.pantera-svc-card__desc {
  font-size: var(--pantera-text-body-xs);
  line-height: 1.6;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-svc-card__arrow {
  flex: 0 0 auto;
  font-size: 1.05rem;
  line-height: 1;
  color: var(--pantera-accent);
  opacity: 0;
  transform: translateX(-6px);
  transition: transform .2s var(--pantera-ease), opacity .2s var(--pantera-ease);
}

.pantera-svc-card:hover .pantera-svc-card__title,
.pantera-svc-card:focus-visible .pantera-svc-card__title {
  opacity: .72;
}

.pantera-svc-card:hover .pantera-svc-card__arrow,
.pantera-svc-card:focus-visible .pantera-svc-card__arrow {
  opacity: 1;
  transform: none;
}

@media (max-width: 820px) {
  .pantera-services__head { grid-template-columns: 1fr; align-items: center; gap: 1.25rem; }
  .pantera-services__head-title .pantera-band__title { max-width: 20ch; }
}

/* ---- Contact: offices grid ------------------------------------------- */
.pantera-offices--count-1 { --pantera-office-cols: 1; --pantera-office-max: 18rem; }
.pantera-offices--count-2 { --pantera-office-cols: 2; }
.pantera-offices--count-3 { --pantera-office-cols: 3; }
.pantera-offices--count-4 { --pantera-office-cols: 4; }
.pantera-offices--count-5 { --pantera-office-cols: 3; }
.pantera-offices--count-6 { --pantera-office-cols: 3; }

.pantera-contact-locations {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin-top: clamp(2rem, 4vw, 2.75rem);
  padding: clamp(1.75rem, 3.5vw, 2.25rem);
  background: var(--pantera-surface);
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius);
}

.pantera-contact-locations__head {
  margin-bottom: clamp(1.35rem, 2.5vw, 1.75rem);
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--pantera-line);
}

.pantera-contact-locations__title {
  margin: 0;
  max-width: 14ch;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.45rem, 2.5vw, 1.85rem);
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1.1;
  text-wrap: balance;
  color: var(--pantera-brand);
}

.pantera-contact-locations__grid {
  display: grid;
  grid-template-columns: repeat(var(--pantera-office-cols, 4), minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(.85rem, 1.5vw, 1rem);
  list-style: none;
  margin: 0;
  padding: 0;
}

.pantera-contact-location {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: .55rem;
  min-width: 0;
  height: auto;
  padding: clamp(1rem, 2vw, 1.2rem);
  background: #fff;
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius-sm);
  opacity: 1 !important;
  transform: none !important;
}

.pantera-contact-location__name {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-size: 1.08rem;
  font-weight: 500;
  letter-spacing: -.01em;
  line-height: 1.2;
  color: var(--pantera-accent);
}

.pantera-contact-location__address {
  flex: 1;
  margin: 0;
  font-style: normal;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.55;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-contact-location__directions {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: .1rem;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .02em;
  color: var(--pantera-brand);
  text-decoration: none;
  transition: gap .15s var(--pantera-ease), color .15s var(--pantera-ease);
}

.pantera-contact-location__directions:hover {
  color: var(--pantera-accent);
  gap: .55rem;
}

.pantera-contact-location__directions-icon {
  font-size: .95em;
  line-height: 1;
}

@media (max-width: 900px) {
  .pantera-contact-locations__grid:not(.pantera-offices--count-1) {
    --pantera-office-cols: 2;
  }
}

@media (max-width: 560px) {
  .pantera-contact-locations__grid {
    --pantera-office-cols: 1;
  }
}

/* ---- Group band (Part of Pantera Advisory Group) --------------------- */
.pantera-group-band__head {
  max-width: 58ch;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.pantera-group-band__intro {
  margin: 1rem 0 0;
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-divisions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--pantera-line);
}

.pantera-divisions > li {
  border-bottom: 1px solid var(--pantera-line);
}

.pantera-divisions > li + li {
  border-left: 1px solid var(--pantera-line);
}

.pantera-divisions > li,
.pantera-divisions > li > a {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  height: 100%;
  padding: clamp(1.5rem, 2.5vw, 2rem) clamp(1.25rem, 2.5vw, 1.85rem);
  color: inherit;
  text-decoration: none;
}

.pantera-divisions > li > a { padding: 0; }

.pantera-divisions strong {
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: -.01em;
  line-height: 1.15;
  color: var(--pantera-brand);
  transition: color .18s var(--pantera-ease);
}

.pantera-divisions span {
  font-size: var(--pantera-text-body-sm);
  line-height: 1.5;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-divisions__here,
.pantera-divisions__link {
  margin-top: auto;
  padding-top: .5rem;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .7rem !important;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.pantera-divisions__here { color: var(--wp--preset--color--ink-muted); }
.pantera-divisions__link { color: var(--pantera-accent); }

.pantera-divisions > li > a:hover strong { color: var(--pantera-accent); }

@media (max-width: 820px) {
  .pantera-divisions {
    grid-template-columns: 1fr;
  }
  .pantera-divisions > li + li {
    border-left: 0;
  }
  /* No equal-height stretch when stacked — keep the label under its copy. */
  .pantera-divisions__here,
  .pantera-divisions__link {
    margin-top: .35rem;
  }
}

/* Case study */
.pantera-case {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}

.pantera-case__title {
  margin: 0 0 .5rem;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.625rem, 3.2vw, 2.25rem);
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.1;
  color: var(--pantera-brand);
  text-wrap: balance;
}

.pantera-case__meta {
  margin: 0 0 1.25rem;
  font-size: .8125rem;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-case__text {
  margin: 0 0 1rem;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.65;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-case__result {
  margin: 0 0 1.25rem;
  font-size: var(--pantera-text-body-xs);
  color: var(--pantera-brand);
}

.pantera-case__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--pantera-radius);
}

.pantera-give .pantera-case__media img,
.pantera-home-give .pantera-case__media img {
  aspect-ratio: auto;
}

/* Split band */
.pantera-split-band { gap: clamp(2.5rem, 6vw, 5rem) !important; }

.pantera-pills {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
}

.pantera-pills li {
  font-size: .8125rem;
  padding: .45rem .85rem;
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius-sm);
  color: var(--pantera-brand);
  background: #fff;
}

.pantera-approach {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .85rem;
}

.pantera-approach li {
  font-size: var(--pantera-text-body-sm);
  line-height: 1.6;
  padding-left: 1rem;
  border-left: 2px solid var(--pantera-line);
}

.pantera-quote {
  margin: 2rem 0 0;
  padding: 1.35rem 0 0;
  border: 0;
  border-top: 1px solid var(--pantera-line);
  font-size: var(--pantera-text-body);
  font-style: italic;
  font-weight: 400;
  line-height: 1.6;
  color: var(--pantera-brand);
}

.pantera-est {
  margin: 1rem 0 0;
  font-size: .75rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-practice { gap: clamp(2rem, 5vw, 3rem) !important; }

.pantera-practice h3 {
  font-size: 1.125rem;
  font-weight: 500;
  margin-bottom: .65rem;
}

ul.pantera-stats--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pantera-about-stats-panel .pantera-stats {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.pantera-about-stats-panel .pantera-stats li {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  padding: 1.4rem 0 0;
  background: none;
  border-radius: 0;
  box-shadow: none;
  border-top: 1px solid var(--pantera-brand);
}

@media (max-width: 980px) {
  ul.pantera-stats--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  ul.pantera-stats--4 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1100px) {
  .pantera-services-page .pantera-service-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.35rem 1.25rem;
  }

  .pantera-services-page .pantera-service-cards__item:not(:nth-child(3n + 1)) {
    border-left: 0;
  }
}

@media (max-width: 980px) {
  .pantera-services-page .pantera-band--svc-hero {
    padding-block: clamp(1.35rem, 3.5vw, 2rem) clamp(.85rem, 2vw, 1.35rem);
  }

  .pantera-services-page .pantera-band--svc-list {
    padding-top: clamp(.85rem, 2vw, 1.35rem);
    padding-bottom: clamp(2.25rem, 5vw, 3.5rem);
  }

  .pantera-services-page .pantera-svc-hero {
    gap: .75rem;
  }

  .pantera-services-page .pantera-svc-hero .pantera-kicker {
    margin-bottom: .55rem;
  }

  .pantera-services-page .pantera-svc-hero__row {
    gap: .85rem;
  }

  .pantera-services-page .pantera-svc-hero__title {
    font-size: clamp(1.7rem, 6vw, 2.35rem);
    max-width: 14ch;
    line-height: 1.08;
  }

  .pantera-services-page .pantera-svc-hero__lead,
  .pantera-services-page .pantera-band--svc-hero .pantera-svc-hero__lead {
    font-size: 1rem;
    line-height: 1.55;
    max-width: none;
  }

  .pantera-services-page .pantera-svc-card {
    gap: .7rem;
  }

  .pantera-services-page .pantera-svc-card__media {
    aspect-ratio: 16 / 11;
  }

  .pantera-services-page .pantera-home-cta {
    padding-block: clamp(2.5rem, 6vw, 3.5rem);
  }
}

/* Services index + individual service detail: tighten tablet/phone shell gutters.
   Must set --pantera-gutter on body so .wp-site-blocks + alignfull breakout
   stay in sync. Inner shells already pad via has-global-padding — drop the
   second inset on nested shells. */
@media (min-width: 768px) and (max-width: 1199px) {
  body:has(.pantera-services-page),
  body:has(.pantera-svc-detail-wrap) {
    --pantera-gutter: 1.75rem;
  }
}

@media (max-width: 767px) {
  body:has(.pantera-services-page),
  body:has(.pantera-svc-detail-wrap) {
    --pantera-gutter: 1.25rem;
  }
}

@media (max-width: 1199px) {
  .pantera-services-page .pantera-band--svc-hero .pantera-svc-hero,
  .pantera-services-page .pantera-band--svc-list .pantera-service-cards,
  .pantera-svc-detail-wrap > .pantera-svc__layout {
    padding-inline: 0 !important;
  }
}

@media (max-width: 640px) {
  .pantera-services-page .pantera-service-cards {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .pantera-services-page .pantera-service-cards__item:not(:nth-child(3n + 1)) {
    border-left: 0;
  }

  .pantera-services-page .pantera-service-cards__item + .pantera-service-cards__item {
    border-top: 1px solid color-mix(in srgb, var(--pantera-line) 70%, transparent);
    padding-top: 1.25rem;
    margin-top: 1.25rem;
  }

  .pantera-services-page .pantera-svc-card__media {
    aspect-ratio: 4 / 3;
  }

  .pantera-services-page .pantera-svc-hero__title {
    max-width: none;
  }
}

@media (max-width: 900px) {
  .pantera-case { grid-template-columns: 1fr; }
}

/* ---- About page ------------------------------------------------------- */
.pantera-band--about-intro {
  background: var(--wp--preset--color--base);
  padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

.pantera-band--values,
.pantera-band--team {
  background: var(--wp--preset--color--base);
}

.pantera-about-intro {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}

.pantera-about-intro__title {
  margin: 0 0 1.25rem;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(2rem, 4.2vw, 3.25rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.01em;
  color: var(--pantera-brand);
  max-width: 18ch;
  text-wrap: balance;
}

.pantera-about-intro__media {
  margin: 0;
  border-radius: var(--pantera-radius);
  overflow: clip;
  aspect-ratio: 4 / 3;
  background: var(--pantera-surface);
}

.pantera-about-intro__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pantera-about-intro__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.pantera-about-intro__lead {
  margin: 0;
  max-width: 48ch;
  font-size: clamp(1.0625rem, 1.8vw, 1.1875rem);
  line-height: 1.7;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

/* Stack on tablet — side-by-side is too cramped on iPad widths (about page only) */
@media (max-width: 1080px) {
  .pantera-about-intro:not(.pantera-home-clients__intro) {
    grid-template-columns: 1fr;
    gap: clamp(1.5rem, 3.5vw, 2.25rem);
    align-items: center;
  }

  .pantera-about-intro:not(.pantera-home-clients__intro) .pantera-about-intro__copy {
    justify-content: flex-start;
  }

  .pantera-about-intro:not(.pantera-home-clients__intro) .pantera-about-intro__media {
    aspect-ratio: 16 / 10;
    max-height: min(48vh, 26rem);
  }

  .pantera-about-intro:not(.pantera-home-clients__intro) .pantera-about-intro__title {
    max-width: none;
    font-size: clamp(1.875rem, 5.2vw, 2.5rem);
  }

  .pantera-about-intro:not(.pantera-home-clients__intro) .pantera-about-intro__lead {
    max-width: none;
  }
}

/* Values — numbered editorial index, sibling of the services list */
.pantera-values {
  counter-reset: val;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(2rem, 4.5vw, 4rem);
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--pantera-line);
}

.pantera-values li {
  position: relative;
  padding: 2rem clamp(0rem, 2vw, 1.5rem) .5rem 0;
}

.pantera-values li + li {
  padding-left: clamp(0rem, 2vw, 1.5rem);
  border-left: 1px solid var(--pantera-line);
}

.pantera-values li::before {
  counter-increment: val;
  content: counter(val, decimal-leading-zero);
  display: block;
  margin-bottom: 2.75rem;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .12em;
  color: var(--pantera-accent);
}

.pantera-values strong {
  display: block;
  margin-bottom: .75rem;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(1.5rem, 2.4vw, 1.875rem);
  font-weight: 400;
  letter-spacing: -.01em;
  line-height: 1.08;
  color: var(--pantera-brand);
}

.pantera-values__desc {
  display: block;
  max-width: 34ch;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.7;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

/* Story — heading left, image + copy on second row */
.pantera-about-story {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  column-gap: clamp(2rem, 5vw, 4.5rem);
  row-gap: clamp(2.25rem, 4.5vw, 3.25rem);
  align-items: stretch;
}

.pantera-about-story__head {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
}

.pantera-about-story__head .pantera-band__title {
  margin-bottom: 0;
  max-width: 14ch;
  font-size: clamp(1.875rem, 3.6vw, 2.625rem);
}

.pantera-about-story__media {
  grid-column: 1;
  grid-row: 2;
  margin: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  align-self: stretch;
  border-radius: var(--pantera-radius);
  overflow: clip;
}

.pantera-about-story__text {
  grid-column: 2;
  grid-row: 2;
  align-self: center;
}

.pantera-about-story__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center 42%;
}

.pantera-about-story__text p {
  margin: 0 0 1.15rem;
  font-size: var(--pantera-text-body);
  line-height: 1.75;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

/* opening line carries more weight, like the home lead paragraphs */
.pantera-about-story__text p:first-child {
  font-size: clamp(1.125rem, 1.9vw, 1.25rem);
  color: var(--pantera-brand);
}

.pantera-about-story__text .pantera-quote {
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(1.25rem, 2.2vw, 1.5rem);
  line-height: 1.4;
}

.pantera-give__logo {
  display: block;
  width: min(100%, 140px);
  height: auto;
  margin: 0 0 1.25rem;
}

.pantera-about-accred {
  background: var(--pantera-brand);
}

@media (max-width: 820px) {
  .pantera-about-story {
    grid-template-columns: 1fr;
    row-gap: 1.5rem;
  }

  .pantera-about-story__head,
  .pantera-about-story__media,
  .pantera-about-story__text {
    grid-column: 1;
  }

  .pantera-about-story__head { grid-row: 1; }
  .pantera-about-story__media {
    grid-row: 2;
    aspect-ratio: 4 / 3;
    min-height: auto;
  }
  .pantera-about-story__text { grid-row: 3; }

  .pantera-values { grid-template-columns: 1fr; }
  .pantera-values li { padding: 1.5rem 0 .25rem; }
  .pantera-values li + li {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--pantera-line);
    margin-top: 1.25rem;
  }
  .pantera-values li::before { margin-bottom: 1rem; }
  .pantera-values__desc { max-width: 56ch; }
}


/* ---- Legacy sections ------------------------------------------------- */
.pantera-text-link {
  font-size: .875rem;
  font-weight: 500;
  color: var(--pantera-brand);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 1px;
}

.pantera-text-link:hover {
  color: var(--pantera-accent);
  border-bottom-color: var(--pantera-accent);
}

.pantera-home .wp-block-heading {
  letter-spacing: -0.01em;
}

/* Property listings — catalogue plates. Image, then a hairline-ruled caption:
   serif address, spec line (Fraunces price + small-caps meta). Flat — no
   shadows, no overlays; hover is an image settle + accent underline only. */
.pantera-listings:not(.pantera-similar-carousel__track) {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(2rem, 3.5vw, 3rem) clamp(1.25rem, 2vw, 1.75rem);
  list-style: none;
  margin: 0;
  padding: 0;
}

.pantera-listings__item {
  min-width: 0;
}

.pantera-listings__link {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.pantera-listings__media {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--pantera-radius);
  overflow: clip;
  background: var(--pantera-surface);
}

.pantera-listings__media > img,
.pantera-listings__media > .pantera-listings__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  transition: opacity .25s var(--pantera-ease);
}

.pantera-listings__link:hover .pantera-listings__media > img,
.pantera-listings__link:focus-visible .pantera-listings__media > img {
  opacity: .92;
}

@media (prefers-reduced-motion: reduce) {
  .pantera-listings__media > img { transition: none; }
}

.pantera-listings__body {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  min-width: 0;
  padding: .9rem 0 1.1rem;
}

.pantera-listings__type {
  display: block;
  min-height: 1.2em;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .8125rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.005em;
  text-transform: none;
  color: var(--pantera-accent);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pantera-listings__title {
  font-family: var(--wp--preset--font-family--display);
  font-size: 1.0625rem;
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1.25;
  margin-top: .1rem;
  color: var(--pantera-brand);
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pantera-listings__title + .pantera-listings__row {
  margin-top: .15rem;
}

.pantera-listings__link:hover .pantera-listings__title {
  color: var(--pantera-accent);
}

.pantera-listings__row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .25rem .85rem;
}

/* Auction lots: date + features on line 1, price + status on line 2 */
.pantera-listings__row--auction {
  flex-direction: column;
  align-items: flex-start;
  gap: .2rem;
}

.pantera-listings__priceline {
  display: inline-flex;
  align-items: baseline;
  gap: .6rem;
}

.pantera-listings__price {
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0;
  color: var(--pantera-brand);
  font-variant-numeric: lining-nums;
}

.pantera-listings__meta {
  font-family: var(--wp--preset--font-family--nav);
  font-size: .6563rem;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-empty {
  color: var(--wp--preset--color--ink-muted);
  margin: 0;
}

/* ---- Property archive (search results) ------------------------------- */
/* Listings pages sit on pure white; the filter panel carries the paper tint. */
body.post-type-archive-property,
body.post-type-archive-auctions,
body.single-property,
body.single-auctions,
body.tax-property_type,
body.tax-commercial_property_type {
  background: #fff;
}

.pantera-archive {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "dept"
    "head"
    "filters"
    "results";
  max-width: none;
  margin: 0;
  padding: clamp(2.25rem, 5vw, 3.5rem) 0 clamp(3rem, 6vw, 5rem);
  box-sizing: border-box;
}

.pantera-archive__head {
  grid-area: head;
  display: block;
  margin-bottom: clamp(.85rem, 1.8vw, 1.15rem);
  padding-bottom: 0;
  border-bottom: 0;
}

.pantera-archive__head-copy {
  min-width: 0;
  max-width: 42rem;
}

.pantera-archive__title {
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(2rem, 4.2vw, 3rem);
  font-weight: 500;
  letter-spacing: -.01em;
  line-height: 1.08;
  margin: .35rem 0 0;
  color: var(--pantera-brand);
  max-width: none;
  text-wrap: balance;
}

.pantera-archive__title .pantera-hero__emph {
  display: inline-block;
  min-width: 5.75ch;
  color: var(--pantera-accent);
  white-space: nowrap;
  vertical-align: baseline;
}

.pantera-archive__title .pantera-hero__emph.is-typing::after {
  content: "";
  display: inline-block;
  width: .08em;
  height: .85em;
  margin-left: .06em;
  background: currentColor;
  vertical-align: -0.08em;
  animation: pantera-emph-caret .55s steps(1) infinite;
}

@keyframes pantera-emph-caret {
  0%, 45% { opacity: 1; }
  50%, 100% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .pantera-archive__title .pantera-hero__emph.is-typing::after {
    display: none;
  }
}

.pantera-archive__lead {
  margin: .65rem 0 0;
  max-width: 36ch;
  padding-bottom: 0;
  font-size: clamp(.98rem, 1.5vw, 1.0625rem);
  line-height: 1.55;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

@media (max-width: 820px) {
  .pantera-archive__head {
    margin-bottom: .75rem;
  }
}

/* Refine bar — lift department tabs above the archive header via grid areas */
.pantera-archive__refine {
  display: contents;
}

.pantera-archive__refine > script {
  display: none;
}

.pantera-refine-form {
  display: contents;
}

.pantera-refine-form__toggle {
  grid-area: dept;
  margin: 0 0 clamp(1rem, 2vw, 1.35rem);
  padding-bottom: 0;
  border-bottom: 0;
}

.pantera-refine-form__panel {
  grid-area: filters;
  margin: 0;
  padding: .85rem 0 .2rem;
  background: #fff;
  border-radius: var(--pantera-radius);
  box-shadow: var(--pantera-shadow-card);
}

.pantera-archive__results {
  grid-area: results;
  min-width: 0;
  transition: opacity .2s var(--pantera-ease);
}

/* Department tabs — photo tiles with larger overlay labels */
.pantera-segment {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
  width: min(100%, 30rem);
  max-width: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
}

.pantera-segment__tab {
  position: relative;
  display: block;
  min-width: 0;
  height: 4.75rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--pantera-radius-sm);
  overflow: hidden;
  background: color-mix(in srgb, var(--pantera-brand) 55%, #9aa0ae);
  font-family: var(--wp--preset--font-family--nav);
  font-size: 1.18rem;
  font-weight: 700;
  letter-spacing: -.015em;
  text-transform: none;
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: inset 0 0 0 1px rgba(47, 49, 72, .08);
  transition: box-shadow .18s var(--pantera-ease);
}

.pantera-segment__icon { display: none; }

.pantera-segment__thumb {
  position: absolute;
  inset: 0;
  display: block;
  width: auto;
  height: auto;
  border-radius: 0;
  overflow: hidden;
  background: transparent;
}

.pantera-segment__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(35, 36, 58, .78) 0%,
    rgba(35, 36, 58, .28) 42%,
    transparent 72%
  );
  transition: background .22s var(--pantera-ease);
}

.pantera-segment__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  display: block;
  transform: scale(1.04);
  filter: grayscale(1) brightness(.78);
  opacity: .92;
  transition:
    transform .35s var(--pantera-ease),
    filter .22s var(--pantera-ease),
    opacity .22s var(--pantera-ease);
}

.pantera-segment__tab:has(input[value^="residential"]) .pantera-segment__img {
  object-position: center 48%;
}

.pantera-segment__tab:has(input[value="commercial"]) .pantera-segment__img {
  object-position: center 30%;
}

.pantera-segment__tab:has(input[value="auctions"]) .pantera-segment__img {
  object-position: center 42%;
}

.pantera-segment__text {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: .65rem .75rem;
  line-height: 1.1;
  color: rgba(255, 255, 255, .9);
  text-shadow: 0 1px 3px rgba(0, 0, 0, .4);
  transition: color .18s var(--pantera-ease);
}

.pantera-segment__input { position: absolute; opacity: 0; pointer-events: none; }

.pantera-segment__tab:hover .pantera-segment__img,
.pantera-segment__tab:has(.pantera-segment__input:checked) .pantera-segment__img {
  transform: scale(1.08);
  filter: grayscale(0) saturate(1.12) brightness(1.05);
  opacity: 1;
}

.pantera-segment__tab:hover .pantera-segment__text,
.pantera-segment__tab:has(.pantera-segment__input:checked) .pantera-segment__text {
  color: #fff;
}

.pantera-segment__tab:hover .pantera-segment__thumb::after,
.pantera-segment__tab:has(.pantera-segment__input:checked) .pantera-segment__thumb::after {
  background: linear-gradient(
    to top,
    rgba(35, 36, 58, .68) 0%,
    rgba(35, 36, 58, .18) 44%,
    transparent 72%
  );
}

.pantera-segment__tab:has(.pantera-segment__input:checked) {
  color: #fff;
  font-weight: 700;
  border-color: transparent;
  background: color-mix(in srgb, var(--pantera-brand) 55%, #9aa0ae);
  box-shadow:
    inset 0 0 0 1.5px #fff,
    0 0 0 1.5px var(--pantera-brand);
}

.pantera-segment__tab:has(.pantera-segment__input:checked)::after {
  display: none;
}

.pantera-segment__tab:has(.pantera-segment__input:focus-visible) {
  outline: 2px solid var(--pantera-accent);
  outline-offset: 2px;
}

.pantera-segment__tab:has(.pantera-segment__input:focus-visible) .pantera-segment__text {
  outline: none;
}

@media (max-width: 560px) {
  .pantera-segment {
    width: 100%;
    gap: .4rem;
  }

  .pantera-segment__tab {
    height: 4.1rem;
    font-size: 1.05rem;
  }

  .pantera-segment__text {
    padding: .5rem .6rem;
  }
}

/* Auctions uses the residential sales filter set on the refine bar. */
.pantera-refine-form[data-department="auctions"] .control.residential-only,
.pantera-refine-form[data-department="auctions"] .control.sales-only,
.pantera-refine-form[data-department="auctions"] .pantera-refine-form__range.residential-only,
.pantera-refine-form[data-department="auctions"] .pantera-refine-form__range.sales-only {
  display: block !important;
}

.pantera-refine-form[data-department="auctions"] .control.commercial-only,
.pantera-refine-form[data-department="auctions"] .pantera-refine-form__range.commercial-only {
  display: none !important;
}

/* Hero search — auctions uses property_type (meta) alongside location. */
.pantera-search-card[data-department="auctions"] .control-property_type,
.pantera-search-card[data-department="auctions"] .pantera-search-card__filter.control-property_type {
  display: flex !important;
}

.pantera-search-card[data-department="auctions"] .control-commercial_property_type {
  display: none !important;
}

.pantera-search-card[data-department="commercial"] .control-property_type {
  display: none !important;
}

.pantera-search-card[data-department="commercial"] .control-commercial_property_type {
  display: flex !important;
}

/* One adaptive row that wraps gracefully and works for every department
   without a rigid column template fighting the hidden fields. */
.pantera-refine-form__primary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem;
}

.pantera-refine-form__extras {
  display: contents;
}

.pantera-refine-form__primary > .control { flex: 0.85 1 7.5rem; }
.pantera-refine-form__primary > .control-address_keyword { flex: 3.6 1 18rem; }
.pantera-refine-form__primary > .control-property_type,
.pantera-refine-form__primary > .control-commercial_property_type,
.pantera-refine-form__extras > .control-property_type,
.pantera-refine-form__extras > .control-commercial_property_type { flex: 1 1 8.5rem; max-width: 11rem; }
.pantera-refine-form__primary > .pantera-refine-form__range,
.pantera-refine-form__extras > .pantera-refine-form__range { flex: 1.35 1 11.5rem; }
.pantera-refine-form__primary > .pantera-refine-form__more-btn { flex: 0 0 auto; margin-left: auto; }

.pantera-refine-form__range-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: .4rem;
}

.pantera-refine-form__range-sep {
  flex-shrink: 0;
  font-size: .875rem;
  font-weight: 400;
  color: var(--wp--preset--color--ink-muted);
  user-select: none;
}

.pantera-refine-form__range .control {
  display: block;
  min-width: 0;
}

/* iPad + phone: location + Filters only; Type / beds / price move into Filters. */
@media (max-width: 1100px) {
  .pantera-refine-form__primary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .55rem;
  }

  .pantera-refine-form__primary > .control-address_keyword {
    grid-column: 1;
    grid-row: 1;
    flex: none;
    width: auto;
    max-width: none;
  }

  .pantera-refine-form__primary > .pantera-refine-form__more-btn {
    grid-column: 2;
    grid-row: 1;
    margin-left: 0;
    width: auto;
  }

  .pantera-refine-form__extras {
    display: none;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
  }

  .pantera-refine-form.is-filters-open .pantera-refine-form__extras {
    display: grid;
  }

  .pantera-refine-form__extras > .control,
  .pantera-refine-form__extras > .control-property_type,
  .pantera-refine-form__extras > .control-commercial_property_type,
  .pantera-refine-form__extras > .pantera-refine-form__range {
    flex: none;
    max-width: none;
    width: auto;
    min-width: 0;
  }

  .pantera-refine-form__extras > .pantera-refine-form__range--beds,
  .pantera-refine-form__extras > .pantera-refine-form__range--price,
  .pantera-refine-form__extras > .pantera-refine-form__range--size {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .pantera-refine-form.is-filters-open .pantera-refine-form__extras {
    grid-template-columns: 1fr;
  }

  .pantera-refine-form__extras > .pantera-refine-form__range--beds,
  .pantera-refine-form__extras > .pantera-refine-form__range--price,
  .pantera-refine-form__extras > .pantera-refine-form__range--size {
    grid-column: auto;
  }

  .pantera-refine-form__primary > .pantera-refine-form__more-btn {
    width: auto;
  }
}

/* Controls. Specificity (0,3,0) beats PropertyHive's
   `.property-search-form .control{display:table-cell}` without !important, so
   PH's inline display:none department toggle can still hide off-dept fields. */
.pantera-refine-form.property-search-form .control {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0;
}

.pantera-refine-form label:not(.pantera-segment__tab) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.pantera-refine-form input[type="text"],
.pantera-refine-form .pantera-cselect__trigger,
.pantera-refine-form select {
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  min-width: 0;
  min-height: 2.75rem;
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius-sm);
  background: #fff;
  padding: .65rem .75rem;
  font: inherit;
  font-size: var(--pantera-text-body-sm);
  font-weight: 500;
  color: var(--pantera-brand);
  cursor: pointer;
  transition: border-color .15s var(--pantera-ease);
}

.pantera-refine-form input[type="text"] { cursor: text; font-weight: 400; }
.pantera-refine-form input[type="text"]::placeholder { color: #9a978f; font-weight: 400; }
.pantera-refine-form .pantera-cselect__value.is-placeholder { color: #9a978f; font-weight: 400; }
.pantera-refine-form .pantera-cselect__trigger { justify-content: space-between; }

.pantera-refine-form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath stroke='%236b6d78' stroke-width='1.5' d='m1 1 4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .75rem center;
  padding-right: 2rem;
}

.pantera-refine-form input:focus,
.pantera-refine-form input:focus-visible,
.pantera-refine-form .pantera-cselect__trigger:focus,
.pantera-refine-form .pantera-cselect__trigger:focus-visible,
.pantera-refine-form select:focus {
  outline: none;
  border-color: var(--pantera-brand);
  box-shadow: none;
}

.pantera-refine-form .pantera-cselect.is-open .pantera-cselect__trigger {
  border-color: var(--pantera-brand);
}

/* Multi-select Type field: match homepage cselect look (not checkbox UI). */
.pantera-refine-form .pantera-mselect { width: 100%; }
.pantera-refine-form .pantera-mselect__trigger {
  min-height: 2.75rem;
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius-sm);
  background: #fff;
  padding: .65rem .75rem;
  font-size: var(--pantera-text-body-sm);
  font-weight: 500;
}
.pantera-refine-form .pantera-mselect__value.is-placeholder { color: #9a978f; font-weight: 400; }
.pantera-refine-form .pantera-mselect__trigger:focus,
.pantera-refine-form .pantera-mselect__trigger:focus-visible,
.pantera-refine-form .pantera-mselect.is-open .pantera-mselect__trigger {
  border-color: var(--pantera-brand);
  background: #fff;
}

.pantera-refine-form .pantera-mselect.is-open {
  z-index: 40;
}

.pantera-refine-form .pantera-mselect__menu {
  top: calc(100% + 8px);
  min-width: 100%;
  width: max-content;
  max-width: 240px;
  max-height: 264px;
  overflow-y: auto;
  padding: .25rem 0;
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius-sm);
  background: #fff;
  box-shadow: none;
}

.pantera-refine-form .pantera-mselect__option {
  justify-content: flex-start;
  gap: 0;
  padding: .5rem .85rem;
  font-size: .875rem;
  line-height: 1.2;
  white-space: nowrap;
}

.pantera-refine-form .pantera-mselect__option:hover,
.pantera-refine-form .pantera-mselect__option:focus-visible {
  background: var(--pantera-surface);
}

.pantera-refine-form .pantera-mselect__option.is-selected,
.pantera-refine-form .pantera-mselect__option[aria-selected="true"] {
  color: var(--pantera-accent);
  font-weight: 600;
  background: transparent;
}

.pantera-refine-form .pantera-mselect__option.is-selected:hover,
.pantera-refine-form .pantera-mselect__option[aria-selected="true"]:hover {
  background: var(--pantera-surface);
}

.pantera-refine-form .pantera-mselect__tick {
  display: none;
}

/* Beds / baths greyed out when only no-bedroom types (Land, Garage) chosen. */
.pantera-refine-form .control.is-disabled {
  opacity: .45;
  pointer-events: none;
}

.pantera-refine-form__more-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  align-self: center;
  flex-shrink: 0;
  width: auto;
  height: 2.75rem;
  min-height: 2.75rem;
  padding: 0 .95rem 0 .85rem;
  border: 0;
  border-radius: 0;
  background: var(--pantera-brand);
  color: #fff;
  cursor: pointer;
  transition: background .15s var(--pantera-ease);
}

.pantera-refine-form__more-btn:hover {
  background: var(--pantera-accent);
}

.pantera-refine-form__more-btn.is-open {
  background: var(--pantera-accent);
}

.pantera-refine-form__more-btn:focus,
.pantera-refine-form__more-btn:focus-visible {
  outline: none;
  box-shadow: none;
}

.pantera-refine-form__more-icon {
  display: block;
  flex-shrink: 0;
}

.pantera-refine-form__more-label {
  font-family: var(--wp--preset--font-family--nav);
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1;
  white-space: nowrap;
}

.pantera-refine-form__advanced[hidden] {
  display: none;
}

.pantera-refine-form__advanced {
  margin-top: .85rem;
  padding-top: 0;
}

.pantera-refine-form__adv-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem 1.15rem;
  padding: 1rem 0 .15rem;
}

@media (max-width: 700px) {
  .pantera-refine-form__adv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pantera-refine-form__more-btn { justify-self: start; }
}

/* Result count + ordering — clear index hierarchy */
.pantera-archive__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .75rem 1.5rem;
  margin: .85rem 0 1.15rem;
  padding-block: .1rem;
}

.pantera-archive__bar-start,
.pantera-archive__bar-end {
  display: flex;
  align-items: center;
  gap: .85rem;
  flex-wrap: wrap;
}

.pantera-archive__bar-end {
  margin-left: auto;
  --pantera-archive-control-h: calc(1.85rem + .35rem);
}

.pantera-archive__sold-stc {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font-size: .75rem;
  font-weight: 500;
  color: var(--wp--preset--color--ink-muted);
  cursor: pointer;
  user-select: none;
  transition: color .15s var(--pantera-ease);
}

.pantera-archive__sold-stc:hover {
  color: var(--pantera-brand);
}

.pantera-archive__sold-stc-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.pantera-archive__sold-stc-box {
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  border: 1.5px solid var(--pantera-line);
  border-radius: 3px;
  background: #fff;
  position: relative;
  transition: background .15s var(--pantera-ease), border-color .15s var(--pantera-ease);
}

.pantera-archive__sold-stc-input:checked + .pantera-archive__sold-stc-box {
  background: var(--pantera-brand);
  border-color: var(--pantera-brand);
}

.pantera-archive__sold-stc-input:checked + .pantera-archive__sold-stc-box::after {
  content: '';
  position: absolute;
  left: 50%;
  top: calc(50% - 1px);
  width: 0.3125rem;
  height: 0.5625rem;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: translate(-50%, -50%) rotate(45deg);
}

.pantera-archive__sold-stc-input:checked ~ .pantera-archive__sold-stc-label {
  color: var(--pantera-brand);
}

.pantera-archive__sold-stc-input:focus-visible + .pantera-archive__sold-stc-box {
  outline: 2px solid var(--pantera-accent);
  outline-offset: 2px;
}

.pantera-archive__sold-stc-label {
  line-height: 1.2;
}

.pantera-archive__bar .propertyhive-result-count {
  margin: 0;
  font-size: .875rem;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-archive__views {
  display: inline-flex;
  align-items: center;
  gap: .15rem;
  box-sizing: border-box;
  height: var(--pantera-archive-control-h);
  padding: .15rem;
  border: 1px solid color-mix(in srgb, var(--pantera-line) 80%, transparent);
  border-radius: 0;
  background: transparent;
}

.pantera-archive__view {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--wp--preset--color--ink-muted);
  cursor: pointer;
  transition: background .15s var(--pantera-ease), color .15s var(--pantera-ease);
}

.pantera-archive__view:hover {
  color: var(--pantera-brand);
  background: color-mix(in srgb, var(--pantera-brand) 6%, transparent);
}

.pantera-archive__view.is-active {
  background: color-mix(in srgb, var(--pantera-brand) 10%, transparent);
  color: var(--pantera-brand);
}

.pantera-archive__view:focus-visible {
  outline: 2px solid var(--pantera-accent);
  outline-offset: 2px;
}

.pantera-archive__map-frame {
  position: relative;
  z-index: 0;
  min-height: clamp(32rem, 70vh, 48rem);
  border-radius: var(--pantera-radius-sm);
  overflow: hidden;
  background: var(--pantera-surface);
  border: 1px solid var(--pantera-line);
}

.pantera-archive__map-frame .leaflet-control-attribution {
  font-size: .625rem;
  background: rgba(255, 255, 255, .8);
}

.pantera-archive__map-leaflet-popup .leaflet-popup-content-wrapper {
  padding: 0;
  border-radius: var(--pantera-radius-sm);
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(48, 49, 73, .14);
}

.pantera-archive__map-leaflet-popup .leaflet-popup-content {
  margin: 0;
  width: 280px !important;
  line-height: 1.45;
}

.pantera-archive__map-leaflet-popup .leaflet-popup-tip {
  background: #fff;
}

.pantera-archive__map-popup .pantera-listings__link {
  gap: 0;
}

.pantera-archive__map-popup .pantera-listings__media {
  border-radius: 0;
}

.pantera-archive__map-popup .pantera-listings__body {
  padding: .75rem 1rem 1rem;
  border-top: 0;
}

.pantera-archive__map-popup .pantera-listings__title {
  white-space: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.pantera-archive__map-empty {
  margin: 0;
  padding: 2rem 0;
  font-size: var(--pantera-text-body-sm);
  color: var(--wp--preset--color--ink-muted);
  text-align: center;
}

/* Archive view toggle — map panel hidden until map view */
.pantera-archive [data-archive-panel="map"] {
  display: none;
}

.pantera-archive.is-map-view [data-archive-panel="grid"] {
  display: none !important;
}

.pantera-archive.is-map-view [data-archive-panel="map"] {
  display: block;
}

.pantera-archive.is-map-view [data-archive-pagination] {
  display: none;
}

/* Live AJAX search: gently dim + lock results while the next set loads. */
.pantera-archive.is-loading .pantera-archive__results {
  opacity: .55;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .pantera-archive__results { transition: none; }
}

.pantera-archive__bar .propertyhive-ordering { margin: 0; }

.pantera-archive__bar .propertyhive-ordering.pantera-cselect .pantera-cselect__trigger {
  box-sizing: border-box;
  min-height: 2.4rem;
  padding: .45rem .65rem .45rem .75rem;
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius-sm);
  background: #fff;
  font-size: .8125rem;
  font-weight: 500;
  width: auto;
  min-width: 9.5rem;
  transition: border-color .15s var(--pantera-ease), box-shadow .15s var(--pantera-ease);
}

.pantera-archive__bar .propertyhive-ordering.pantera-cselect .pantera-cselect__trigger:focus-visible {
  outline: none;
  border-color: var(--pantera-accent);
  box-shadow: 0 0 0 3px rgba(80, 81, 140, .1);
}

.pantera-archive__bar .propertyhive-ordering.pantera-cselect.is-open {
  z-index: 5;
}

.pantera-archive__bar .propertyhive-ordering select {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  border-bottom: 1px solid var(--pantera-line);
  border-radius: 0;
  background: transparent;
  padding: .35rem 1.4rem .35rem 0;
  font: inherit;
  font-size: .8125rem;
  font-weight: 500;
  color: var(--pantera-brand);
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath stroke='%236b6d78' stroke-width='1.5' d='m1 1 4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .2rem center;
  transition: border-color .15s var(--pantera-ease);
}

.pantera-archive__bar .propertyhive-ordering select:focus {
  outline: none;
  border-color: var(--pantera-accent);
}

/* Card grid — three across, roomier than the homepage strip */
.pantera-listings.pantera-archive__grid:not(.pantera-similar-carousel__track) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(2.25rem, 4vw, 3.25rem) clamp(1.25rem, 2vw, 1.75rem);
}

/* Pagination — bare numerals on a hairline */
.pantera-archive__pagination { margin-top: clamp(2.5rem, 5vw, 3.5rem); }

.pantera-archive__pagination ul.page-numbers {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .35rem;
  list-style: none;
  margin: 0;
  padding: 1.25rem 0 0;
  border-top: 1px solid var(--pantera-line);
}

.pantera-archive__pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0 .55rem;
  font-size: var(--pantera-text-body-sm);
  font-variant-numeric: lining-nums tabular-nums;
  color: var(--wp--preset--color--ink-muted);
  text-decoration: underline transparent;
  text-decoration-thickness: 1.5px;
  text-underline-offset: .35em;
  transition: color .15s var(--pantera-ease), text-decoration-color .15s var(--pantera-ease);
}

.pantera-archive__pagination a.page-numbers:hover {
  color: var(--pantera-brand);
  text-decoration-color: var(--pantera-line);
}

.pantera-archive__pagination .page-numbers.current {
  color: var(--pantera-brand);
  font-weight: 600;
  text-decoration-color: var(--pantera-accent);
}

@media (max-width: 1000px) {
  .pantera-listings.pantera-archive__grid:not(.pantera-similar-carousel__track) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .pantera-listings.pantera-archive__grid:not(.pantera-similar-carousel__track) {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1000px) {
  .pantera-listings:not(.pantera-similar-carousel__track) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .pantera-listings:not(.pantera-similar-carousel__track) { grid-template-columns: minmax(0, 1fr); }
}

/* Insights grid */
.pantera-insights:not(.pantera-similar-carousel__track) {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pantera-insights__link {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  color: inherit;
  text-decoration: none;
}

.pantera-insights__media {
  position: relative;
  width: 100%;
  border-radius: var(--pantera-radius);
  overflow: clip;
  aspect-ratio: 4 / 3;
  background: var(--pantera-surface);
}

.pantera-insights__media--empty {
  background: var(--pantera-surface);
}

.pantera-insights__img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  transition: opacity .25s var(--pantera-ease);
}

/* -------------------------------------------------------------------------
 * Branded "no image" placeholder (pantera_media_ph)
 * Quiet, intentional fill so a card / media well never collapses to an empty
 * box when a property, person or article has no image. Default aspect-ratio
 * lets it self-size in containers without a definite height; height:100% wins
 * wherever the parent already sets one (aspect-ratio cards).
 * ---------------------------------------------------------------------- */
.pantera-ph {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  background:
    radial-gradient(120% 120% at 50% 30%, color-mix(in srgb, var(--pantera-accent-soft) 55%, var(--pantera-surface)) 0%, var(--pantera-surface) 70%);
  color: var(--pantera-accent);
  overflow: hidden;
}

.pantera-ph__mark {
  width: clamp(28px, 22%, 60px);
  height: auto;
  opacity: .16;
}

.pantera-ph--person .pantera-ph__initials {
  font-family: var(--wp--preset--font-family--display, system-ui, sans-serif);
  font-weight: 500;
  font-size: clamp(1.5rem, 7cqi, 2.75rem);
  letter-spacing: -.03em;
  line-height: 1;
  color: var(--pantera-accent);
  opacity: .55;
}

/* Per-context sizing where the parent has no definite height of its own. */
.pantera-person__media .pantera-ph {
  aspect-ratio: 4 / 5;
  height: auto;
  border-radius: var(--pantera-radius);
}

.pantera-svc__team-photo .pantera-ph {
  aspect-ratio: 1 / 1;
  height: auto;
  border-radius: var(--pantera-radius-sm);
  container-type: inline-size;
}

.pantera-people-grid__photo .pantera-ph,
.pantera-person__media .pantera-ph {
  container-type: inline-size;
}

.pantera-insights__link:hover .pantera-insights__img { opacity: .92; }
.pantera-insights__link:hover .pantera-insights__title { text-decoration: underline; text-underline-offset: .15em; }

.pantera-insights__body {
  display: flex;
  flex-direction: column;
  gap: .35rem;
}

.pantera-insights__date {
  font-size: .8125rem;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-insights__title {
  font-size: var(--pantera-text-body-sm);
  font-weight: 500;
  color: var(--pantera-brand);
  line-height: 1.4;
}

.pantera-insights__excerpt {
  font-size: .8125rem;
  line-height: 1.5;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-insights__more {
  font-size: .8125rem;
  font-weight: 500;
  color: var(--pantera-brand);
  margin-top: .15rem;
}

@media (max-width: 1000px) {
  .pantera-insights:not(.pantera-similar-carousel__track) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .pantera-insights:not(.pantera-similar-carousel__track) { grid-template-columns: 1fr; }
}

/* CTA band — flat full-bleed, left-aligned editorial (light + navy variants).
   Navy CTAs (.pantera-home-cta) handle their own inset; don't stack gutters. */
.pantera-cta {
  padding: clamp(3.5rem, 6.5vw, 5rem) max(
    var(--pantera-gutter),
    calc((100vw - var(--pantera-shell-max)) / 2 + var(--pantera-gutter))
  );
  text-align: left;
  margin-top: 0;
}

.pantera-cta.pantera-home-cta {
  padding-inline: 0;
}

/* theme.json pins headings to ink — invisible on the navy band */
.pantera-cta .wp-block-heading {
  color: inherit;
  margin-bottom: clamp(1.125rem, 2.5vw, 1.75rem);
  max-width: 22ch;
  text-wrap: balance;
}

.pantera-cta__lead {
  color: rgba(255, 255, 255, .78);
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  line-height: 1.7;
  max-width: 55ch;
  margin: 0 0 1.25rem;
}

.pantera-cta--light {
  background: #fff;
  color: var(--pantera-brand);
  border-top: 1px solid var(--pantera-line);
}

.pantera-cta--light .wp-block-heading {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 500;
  color: var(--pantera-brand);
}

.pantera-cta--light .pantera-cta__lead {
  color: var(--wp--preset--color--ink-muted);
}

/* Buttons — restrained */
.wp-element-button,
.wp-block-button__link {
  border-radius: 0 !important;
  font-weight: 500 !important;
  font-size: .875rem !important;
  padding: .65rem 1.5rem !important;
  transition: background-color .18s var(--pantera-ease), color .18s var(--pantera-ease), transform .12s var(--pantera-ease);
}

.wp-element-button:active,
.wp-block-button__link:active { transform: translateY(1px); }

.pantera-btn-light .wp-block-button__link {
  background: #fff !important;
  color: var(--pantera-brand) !important;
}

.pantera-btn-light .wp-block-button__link:hover {
  background: var(--pantera-surface) !important;
}

/* Mailing list shell — block_template_part() on PropertyHive pages
   does not emit layout container CSS, so constrained children default to 760px. */
.pantera-footer.is-layout-constrained > .wp-block-html {
  box-sizing: border-box;
  width: 100%;
  max-width: none !important;
  margin-inline: 0 !important;
}

.pantera-mailing-list__inner {
  box-sizing: border-box;
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: clamp(1.75rem, 4vw, 3rem);
  width: 100%;
  max-width: var(--pantera-content-max);
  margin-inline: auto !important;
  padding: clamp(1.75rem, 3vw, 2.5rem);
  background: #fff;
  border-radius: var(--pantera-radius);
  box-shadow: var(--pantera-shadow-card);
}

/* ---- Mailing list (above footer, site-wide) -------------------------- */
.wp-site-blocks .pantera-mailing-list.alignfull {
  box-sizing: border-box;
  width: 100vw;
  max-width: 100vw;
  margin-inline: calc(50% - 50vw);
  padding: clamp(2.25rem, 4.5vw, 3rem) var(--pantera-gutter);
  border-top: 0;
  background: var(--pantera-paper) !important;
}


.pantera-mailing-list__copy {
  flex: 1 1 13rem;
  max-width: 20rem;
}

.pantera-mailing-list__title {
  margin: 0 0 .5rem;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.5rem, 2.8vw, 2rem);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -0.025em;
  color: var(--pantera-brand);
  text-wrap: balance;
}

.pantera-mailing-list__intro {
  margin: 0;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.6;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-mailing-list__action {
  flex: 2 1 28rem;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .75rem;
}

.pantera-mailing-list__confirmation {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: var(--pantera-ml-control-h, 3rem);
  padding: clamp(1.1rem, 2vw, 1.35rem) clamp(1.25rem, 2.2vw, 1.6rem);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent) 20%, var(--pantera-line));
  border-radius: var(--pantera-radius-sm);
  background: color-mix(in srgb, var(--wp--preset--color--accent-soft) 42%, #fff);
}

.pantera-mailing-list__confirmation-title {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.125rem, 1.8vw, 1.35rem);
  font-weight: 500;
  letter-spacing: -.01em;
  line-height: 1.2;
  color: var(--pantera-brand);
}

.pantera-mailing-list__confirmation-text {
  margin: .4rem 0 0;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.55;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-mailing-list__notice {
  margin: 0;
}

.pantera-mailing-list__form {
  --pantera-ml-control-h: 3rem;
  flex: 1 1 auto;
  width: 100%;
  gap: 0;
  min-width: 0;
}

.pantera-mailing-list__fields {
  display: grid !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.1fr) minmax(0, 1.2fr) auto;
  gap: .75rem;
  align-items: end;
}

.pantera-mailing-list__form .pantera-form__field {
  gap: .35rem;
  min-width: 0;
  margin: 0;
}

.pantera-mailing-list__form .pantera-form__field label {
  font-family: var(--wp--preset--font-family--nav);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-mailing-list__form .pantera-form__field label span {
  color: var(--pantera-accent);
}

.pantera-mailing-list__field-label {
  font-family: var(--wp--preset--font-family--nav);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-mailing-list__field-label span {
  color: var(--pantera-accent);
}

.pantera-mailing-list__interests-field {
  min-width: 0;
}

.pantera-mailing-list__form input[type="text"],
.pantera-mailing-list__form input[type="email"],
.pantera-mailing-list__form .pantera-mselect__trigger,
.pantera-mailing-list__form .pantera-form__submit .wp-element-button {
  height: var(--pantera-ml-control-h);
  min-height: var(--pantera-ml-control-h);
  box-sizing: border-box;
  line-height: 1.2;
  font-size: var(--pantera-text-body);
  font-weight: 400;
}

.pantera-mailing-list__form input[type="text"],
.pantera-mailing-list__form input[type="email"] {
  width: 100%;
  min-width: 0;
  padding: 0 .85rem;
  border: 1px solid rgba(48, 49, 73, .18);
  border-radius: 0;
  background: rgba(255, 255, 255, .55);
  font: inherit;
  color: var(--wp--preset--color--ink);
  transition: border-color .15s var(--pantera-ease), background .15s var(--pantera-ease);
}

.pantera-mailing-list__form .pantera-mselect__trigger {
  padding: 0 .85rem;
  border-radius: 0;
  font: inherit;
  font-size: var(--pantera-text-body);
  font-weight: 400;
  color: var(--wp--preset--color--ink);
}

.pantera-mailing-list__form .pantera-mselect__value.is-placeholder {
  font-size: var(--pantera-text-body);
  font-weight: 400;
}

.pantera-mailing-list__form input::placeholder {
  color: rgba(48, 49, 73, .4);
}

.pantera-mailing-list__form input:focus,
.pantera-mailing-list__form input:focus-visible {
  outline: none;
  border-color: rgba(48, 49, 73, .4);
  background: #fff;
  box-shadow: none;
}

.pantera-mailing-list__form .pantera-form__submit {
  margin: 0;
  align-self: end;
}

.pantera-mailing-list__form .pantera-form__submit .wp-element-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  padding: 0 1.25rem;
  border: 0;
  border-radius: 0;
  background: var(--pantera-brand);
  color: #fff;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .8125rem;
  font-weight: 600;
  letter-spacing: .02em;
  white-space: nowrap;
  transition: background .18s var(--pantera-ease);
}

.pantera-mailing-list__form .pantera-form__submit .wp-element-button:hover {
  background: var(--pantera-accent);
}

/* Multi-select checkbox dropdown — mailing list interests */
.pantera-mselect {
  position: relative;
  width: 100%;
}

.pantera-mselect__native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.pantera-mselect__native[hidden] {
  display: none !important;
}

.pantera-mselect__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  width: 100%;
  min-height: 2.75rem;
  margin: 0;
  padding: .8rem .9rem;
  border: 1px solid rgba(48, 49, 73, .18);
  border-radius: var(--pantera-radius-sm);
  background: rgba(255, 255, 255, .55);
  font: inherit;
  font-size: .875rem;
  font-weight: 500;
  color: var(--pantera-brand);
  text-align: left;
  cursor: pointer;
  transition: border-color .15s var(--pantera-ease), background .15s var(--pantera-ease);
}

.pantera-mselect__value {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pantera-mselect__value.is-placeholder {
  color: rgba(48, 49, 73, .4);
  font-weight: 400;
}

.pantera-mselect__caret {
  flex-shrink: 0;
  width: 10px;
  height: 6px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform .2s var(--pantera-ease);
}

.pantera-mselect.is-open {
  z-index: 5;
}

.pantera-mselect.is-open .pantera-mselect__caret {
  transform: rotate(180deg);
}

.pantera-mselect__trigger:focus,
.pantera-mselect__trigger:focus-visible,
.pantera-mselect.is-open .pantera-mselect__trigger {
  outline: none;
  border-color: rgba(48, 49, 73, .4);
  background: #fff;
  box-shadow: none;
}

.pantera-mselect__menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 60;
  min-width: 100%;
  width: max-content;
  max-width: min(100vw - 2rem, 20rem);
  margin: 0;
  padding: .35rem 0;
  list-style: none !important;
  background: #fff;
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius-sm);
  box-shadow: 0 10px 30px -12px rgba(48, 49, 73, .18);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity .16s var(--pantera-ease), transform .16s var(--pantera-ease), visibility .16s;
}

.pantera-mselect__menu.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto;
  transform: none;
}

.pantera-mselect__option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .85rem;
  padding: .55rem .85rem;
  font-size: .875rem;
  line-height: 1.25;
  color: var(--pantera-brand);
  cursor: pointer;
  outline: none;
}

.pantera-mselect__option:hover,
.pantera-mselect__option:focus-visible {
  background: var(--pantera-surface);
}

.pantera-mselect__option-label {
  flex: 1;
  min-width: 0;
}

.pantera-mselect__tick {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  border: 1.5px solid var(--pantera-line);
  border-radius: 3px;
  transition: background .15s var(--pantera-ease), border-color .15s var(--pantera-ease);
}

.pantera-mselect__option.is-selected .pantera-mselect__tick {
  background: var(--pantera-brand);
  border-color: var(--pantera-brand);
}

.pantera-mselect__option.is-selected .pantera-mselect__tick::after {
  content: '';
  display: block;
  width: 4px;
  height: 7px;
  margin-top: -1px;
  border: solid #fff;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg);
}

@media (max-width: 1100px) {
  .wp-site-blocks .pantera-mailing-list.alignfull {
    padding-block: clamp(1.5rem, 3vw, 2rem);
  }

  .pantera-mailing-list__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    padding: 1.25rem;
  }

  .pantera-mailing-list__copy,
  .pantera-mailing-list__action {
    flex: 0 0 auto;
    max-width: none;
  }

  .pantera-mailing-list__kicker,
  .pantera-mailing-list__copy .pantera-kicker {
    margin-bottom: .55rem;
  }

  .pantera-mailing-list__title {
    margin-bottom: .35rem;
    font-size: clamp(1.35rem, 3.5vw, 1.75rem);
  }

  .pantera-mailing-list__form.pantera-form {
    gap: .65rem;
  }

  .pantera-mailing-list__fields {
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
  }

  .pantera-mailing-list__interests-field {
    grid-column: 1 / -1;
  }

  .pantera-mailing-list__form .pantera-form__submit {
    grid-column: 1 / -1;
  }

  .pantera-mailing-list__form .pantera-form__submit .wp-element-button {
    width: auto;
  }
}

@media (max-width: 640px) {
  .wp-site-blocks .pantera-mailing-list.alignfull {
    padding-block: 1.35rem;
  }

  .pantera-mailing-list__inner {
    gap: .85rem;
    padding: 1.1rem;
  }

  .pantera-mailing-list__fields {
    grid-template-columns: 1fr;
    gap: .7rem;
  }

  .pantera-mailing-list__interests-field,
  .pantera-mailing-list__form .pantera-form__submit {
    grid-column: auto;
  }

  .pantera-mailing-list__form .pantera-form__submit .wp-element-button {
    width: 100%;
  }
}

/* ---- Trust band (accreditations) ------------------------------------- */
.pantera-trust-band {
  margin: 0 !important;
  padding: 0;
}

.pantera-footer .pantera-trust-band {
  padding-block: clamp(1.25rem, 2.5vw, 1.75rem);
  border-top: 1px solid rgba(255, 255, 255, .08);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.pantera-trust-band__logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

.pantera-trust-band__logos img {
  height: clamp(26px, 2.8vw, 32px);
  width: auto;
  opacity: .6;
  transition: opacity .2s var(--pantera-ease);
}

.pantera-trust-band__logos img:hover {
  opacity: .85;
}

@media (max-width: 680px) {
  .pantera-trust-band__logos {
    justify-content: flex-start;
    gap: .85rem 1.25rem;
  }

  .pantera-trust-band__logos img {
    height: 26px;
  }
}

/* ---- Footer ---------------------------------------------------------- */
.pantera-footer {
  position: relative;
  padding-block: clamp(2.75rem, 5vw, 4rem) clamp(1.5rem, 2.5vw, 2rem);
  padding-inline: 0 !important;
  margin-top: 0 !important;
  background: var(--wp--preset--color--navy) !important;
}

.pantera-footer.has-global-padding,
.pantera-footer.is-layout-constrained {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: none !important;
}

.pantera-footer__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, 4vw, 3rem);
  box-sizing: border-box;
  width: 100%;
  max-width: var(--pantera-shell-max);
  margin-inline: auto;
  padding-inline: var(--pantera-gutter);
}

.pantera-mailing-list { margin-bottom: 0 !important; }

/* Mast: logo + nav panels */
.pantera-footer__mast {
  display: grid;
  grid-template-columns: minmax(0, 220px) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
  padding-bottom: 0;
  border-bottom: 0;
}

.pantera-footer__logo {
  display: inline-block;
  align-self: start;
  line-height: 0;
}

.pantera-footer__logo img {
  height: 62px;
  width: auto;
}

.pantera-footer__nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem);
  min-width: 0;
}

.pantera-footer__col {
  min-width: 0;
}

.pantera-footer__label {
  font-family: var(--wp--preset--font-family--nav);
  font-size: .6875rem !important;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .42) !important;
  margin: 0 0 1rem !important;
}

.pantera-footer__label a {
  color: inherit;
  text-decoration: none;
  transition: color .15s var(--pantera-ease);
}

.pantera-footer__label a:hover {
  color: rgba(255, 255, 255, .75) !important;
}

.pantera-footer__links,
.pantera-footer__contact-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .55rem;
}

.pantera-footer__links a {
  font-size: var(--pantera-text-body-sm);
  line-height: 1.45;
  color: rgba(255, 255, 255, .78);
  text-decoration: none;
  transition: color .15s var(--pantera-ease), transform .15s var(--pantera-ease);
}

.pantera-footer__links a:hover,
.pantera-footer__links a[aria-current="page"] {
  color: #fff;
}

.pantera-footer__contact-links a {
  font-size: var(--pantera-text-body-sm);
  line-height: 1.45;
  color: rgba(255, 255, 255, .88);
  text-decoration: none;
  transition: color .15s var(--pantera-ease);
}

.pantera-footer__contact-links a:hover {
  color: #fff;
}

.pantera-footer__col--contact .pantera-footer__social {
  display: flex;
  gap: .65rem;
  margin-top: 1.15rem;
}

.pantera-footer__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 4px;
  color: rgba(255, 255, 255, .65);
  transition: color .15s var(--pantera-ease), border-color .15s var(--pantera-ease), background-color .15s var(--pantera-ease);
}

.pantera-footer__social a:hover {
  color: #fff;
  border-color: rgba(255, 255, 255, .35);
  background: rgba(255, 255, 255, .06);
}

/* Offices */
.pantera-footer__offices {
  width: 100%;
  padding-top: clamp(1.75rem, 3vw, 2.25rem);
  border-top: 1px solid rgba(255, 255, 255, .08);
}

.pantera-footer__offices > .pantera-footer__label {
  display: none;
}

.pantera-footer__offices-grid {
  display: grid;
  grid-template-columns: repeat(var(--pantera-office-cols, 4), minmax(0, 1fr));
  align-items: start;
  gap: clamp(.75rem, 1.5vw, 1.25rem);
  width: 100%;
}

.pantera-footer__office-item {
  margin: 0;
  min-width: 0;
}

.pantera-footer__contact-key {
  display: block;
  margin-bottom: .45rem;
  font-family: var(--wp--preset--font-family--heading);
  font-size: .8125rem;
  font-weight: 600;
  letter-spacing: .01em;
  color: #fff;
}

.pantera-footer__office-item p,
.pantera-footer__office-address {
  margin: 0;
  font-size: .8125rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, .48);
}

/* Desktop / tablet: stacked address lines. Phone: one comma-separated line. */
.pantera-footer__addr-line {
  display: block;
}

.pantera-footer__addr-sep {
  display: none;
}

/* Bottom bar */
.pantera-footer__bottom {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .75rem 1.5rem;
  box-sizing: border-box;
  width: 100%;
  max-width: var(--pantera-shell-max);
  margin-inline: auto !important;
  margin-top: 0;
  padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
  padding-inline: var(--pantera-gutter);
  border-top: 0;
  font-size: .75rem;
  color: rgba(255, 255, 255, .38);
}

.pantera-footer__legal-lines {
  flex: 1 1 16rem;
  min-width: 0;
}

.pantera-footer__legal-lines p {
  margin: 0 0 .25rem;
  line-height: 1.5;
}

.pantera-footer__legal-lines p:last-child {
  margin-bottom: 0;
}

.pantera-footer__legal {
  flex: 0 0 auto;
  margin-left: auto;
}

.pantera-footer__legal-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: .5rem 1.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pantera-footer__legal-list li {
  margin: 0;
  padding: 0;
}

.pantera-footer__bottom a,
.pantera-footer__legal-list a {
  font-size: .75rem;
  color: rgba(255, 255, 255, .5);
  text-decoration: none;
  transition: color .15s var(--pantera-ease);
}

.pantera-footer__bottom a:hover,
.pantera-footer__legal-list a:hover {
  color: rgba(255, 255, 255, .85);
}

@media (max-width: 900px) {
  .pantera-footer__mast {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

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

  .pantera-footer__col--contact {
    grid-column: 1 / -1;
    padding-top: clamp(1.5rem, 3vw, 2rem);
  }

  .pantera-footer__offices-grid:not(.pantera-offices--count-1) {
    --pantera-office-cols: 2;
  }

  .pantera-footer__offices-grid {
    gap: 1.5rem 2rem;
  }
}

@media (max-width: 620px) {
  .pantera-footer__nav {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .pantera-footer__col {
    padding-top: 1.75rem;
  }

  .pantera-footer__col:first-child {
    padding-top: 0;
  }

  .pantera-footer__offices-grid {
    --pantera-office-cols: 1;
    gap: 1.35rem;
  }

  .pantera-footer__addr-line {
    display: inline;
  }

  .pantera-footer__addr-sep {
    display: inline;
  }

  .pantera-footer__bottom {
    align-items: flex-start;
    gap: 1rem;
  }

  .pantera-footer__legal {
    margin-left: 0;
  }

  .pantera-footer__legal-list {
    justify-content: flex-start;
  }
}

/* Footer density — tablet (~768) & iPhone (~390). Additive overrides;
   preserve ≤620 comma-inline address lines (.pantera-footer__addr-*). */
@media (max-width: 900px) {
  footer.pantera-footer,
  .pantera-footer {
    padding-block: clamp(2.25rem, 4vw, 3rem) clamp(1.25rem, 2.5vw, 1.75rem);
  }

  div.pantera-footer__inner,
  .pantera-footer__inner {
    gap: clamp(1.5rem, 3vw, 2.25rem);
    padding-inline: clamp(1.5rem, 3.5vw, 2.25rem);
  }

  div.pantera-footer__mast,
  .pantera-footer__mast {
    gap: 1.5rem;
  }

  nav.pantera-footer__nav,
  .pantera-footer__nav {
    gap: 1.25rem 1.5rem;
  }

  .pantera-footer__col--contact {
    padding-top: 1.15rem;
  }

  .pantera-footer__label {
    margin-bottom: .75rem !important;
  }

  .pantera-footer__offices {
    padding-top: 1.35rem;
  }

  .pantera-footer__contact-key {
    margin-bottom: .18rem;
  }

  div.pantera-footer__offices-grid,
  .pantera-footer__offices-grid {
    gap: .8rem 1.15rem;
  }

  .pantera-footer__office-item p,
  .pantera-footer__office-address {
    line-height: 1.45;
  }

  div.pantera-footer__bottom,
  .wp-block-group.pantera-footer__bottom,
  .pantera-footer__bottom {
    padding-inline: clamp(1.5rem, 3.5vw, 2.25rem);
    padding-top: 1.15rem;
    gap: .65rem 1.15rem;
  }
}

@media (max-width: 620px) {
  footer.pantera-footer,
  .pantera-footer {
    padding-block: 2rem 1.25rem;
  }

  div.pantera-footer__inner,
  .pantera-footer__inner {
    gap: 1.35rem;
    padding-inline: 1.25rem;
  }

  nav.pantera-footer__nav,
  .pantera-footer__nav {
    gap: 1.35rem;
  }

  .pantera-footer__col {
    padding-top: 1.15rem;
  }

  .pantera-footer__col:first-child {
    padding-top: 0;
  }

  .pantera-footer__offices {
    padding-top: 1.15rem;
  }

  .pantera-footer__contact-key {
    margin-bottom: .12rem;
  }

  div.pantera-footer__offices-grid,
  .pantera-footer__offices-grid {
    gap: .7rem;
  }

  div.pantera-footer__bottom,
  .wp-block-group.pantera-footer__bottom,
  .pantera-footer__bottom {
    padding-inline: 1.25rem;
    padding-top: 1rem;
    gap: .7rem;
  }
}

/* ---- Shared cards (inner pages) -------------------------------------- */
.is-style-card {
  background: #fff;
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius);
  overflow: clip;
}

.is-style-card .wp-block-post-featured-image,
.pantera-auctions-grid__photo {
  overflow: clip;
  border-radius: var(--pantera-radius) var(--pantera-radius) 0 0;
}

/* ---- Buttons --------------------------------------------------------- */
.wp-element-button,
.wp-block-button__link {
  border-radius: var(--pantera-radius-sm);
}

.is-style-outline .wp-block-button__link {
  border-width: 1.5px;
  border-color: var(--pantera-brand);
  color: var(--pantera-brand);
  background: transparent;
}

/* ---- Contact form ---------------------------------------------------- */
.pantera-form {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  position: relative;
}

/* Mailing list form shares .pantera-form but must not inherit the contact-form gap
   — hidden honeypot/nonce nodes sit in the flex stack on tablet/phone. */
.pantera-mailing-list__form.pantera-form {
  gap: 0;
}

.pantera-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.1rem;
  margin: 0;
  min-width: 0;
}

@media (max-width: 560px) { .pantera-form__row { grid-template-columns: 1fr; } }

.pantera-form__field {
  margin: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .4rem;
}

.pantera-form__field label { font-size: .8rem; font-weight: 700; color: var(--wp--preset--color--ink); }
.pantera-form__field label span { color: var(--pantera-accent); }

.pantera-form input,
.pantera-form textarea,
.pantera-form select {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: .9rem 1rem;
  border: 0;
  border-radius: var(--pantera-radius-md);
  background: color-mix(in srgb, var(--pantera-surface) 85%, #fff);
  font: inherit;
  line-height: 1.4;
  color: var(--wp--preset--color--ink);
  transition: background .16s var(--pantera-ease), box-shadow .16s var(--pantera-ease);
}

.pantera-form input:not([type="submit"]),
.pantera-form select { min-height: 3rem; }

.pantera-form input:focus,
.pantera-form input:focus-visible,
.pantera-form textarea:focus,
.pantera-form textarea:focus-visible,
.pantera-form select:focus,
.pantera-form select:focus-visible {
  outline: none;
  background: #fff;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--pantera-accent) 20%, transparent);
}

.pantera-mailing-list__form.pantera-form input:focus,
.pantera-mailing-list__form.pantera-form input:focus-visible,
.pantera-mailing-list__form.pantera-form textarea:focus,
.pantera-mailing-list__form.pantera-form textarea:focus-visible {
  outline: none;
  border-color: rgba(48, 49, 73, .4);
  box-shadow: none;
}
.pantera-form textarea {
  min-height: 9rem;
  resize: vertical;
}
.pantera-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pantera-form__submit { margin: .25rem 0 0; }
.pantera-form__submit button { cursor: pointer; border: 0; }
.pantera-form__notice {
  padding: .9rem 1.1rem;
  border-radius: var(--pantera-radius-sm);
  margin-bottom: 1.25rem;
  font-size: .95rem;
  border: 1px solid transparent;
}
.pantera-form__notice.is-success { background: #eef7f0; border-color: #c5e6cf; color: #1f6b3a; }
.pantera-form__notice.is-error   { background: #fdeeee; border-color: #f3c9c9; color: #a02626; }

/* ---- People ------------------------------------------------------------ */
.pantera-people-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.pantera-people-grid__card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}

.pantera-people-grid__photo {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  background: var(--pantera-surface);
  border: 0;
  border-radius: var(--pantera-radius);
  overflow: clip;
  isolation: isolate;
}

.pantera-people-grid__photo img,
.pantera-people-grid__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: top center;
  display: block;
  transition: opacity .25s var(--pantera-ease);
}

.pantera-people-grid__card:hover .pantera-people-grid__photo img,
.pantera-people-grid__card:focus-visible .pantera-people-grid__photo img {
  opacity: .92;
}

@media (prefers-reduced-motion: reduce) {
  .pantera-people-grid__photo img { transition: none; }
}

.pantera-people-grid__body {
  padding: 1rem 0 0;
}

.pantera-people-grid__name {
  display: block;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 500;
  letter-spacing: -.015em;
  line-height: 1.2;
  color: var(--pantera-brand);
}

.pantera-people-grid__creds {
  font-family: var(--wp--preset--font-family--nav);
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink-muted);
  white-space: nowrap;
}

.pantera-people-grid__role {
  display: block;
  margin-top: .4rem;
  font-size: .9375rem;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0;
  text-transform: none;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-people-grid__card:hover .pantera-people-grid__name,
.pantera-people-grid__card:focus-visible .pantera-people-grid__name {
  text-decoration: underline;
  text-underline-offset: .15em;
}

/* People archive — hairline grid dividers */
.pantera-people-page .pantera-people-archive__grid .pantera-people-grid {
  gap: 0;
  border-top: 1px solid var(--pantera-line);
}

.pantera-people-page .pantera-people-archive__grid .pantera-people-grid__card {
  padding: clamp(1.25rem, 2.2vw, 1.75rem);
  border-bottom: 1px solid var(--pantera-line);
}

.pantera-people-page .pantera-people-archive__grid .pantera-people-grid__card:not(:nth-child(3n)) {
  border-right: 1px solid var(--pantera-line);
}

.pantera-people-page .pantera-people-archive__grid .pantera-people-grid__body {
  border-bottom: 0;
  padding: .9rem 0 0;
}

@media (max-width: 680px) {
  .pantera-people-page .pantera-people-archive__grid .pantera-people-grid__card:not(:nth-child(3n)) {
    border-right: 0;
  }

  .pantera-people-page .pantera-people-archive__grid .pantera-people-grid__card:not(:nth-child(2n)) {
    border-right: 1px solid var(--pantera-line);
  }
}

@media (max-width: 560px) {
  .pantera-people-page .pantera-people-archive__grid .pantera-people-grid__card {
    border-right: 0;
  }
}

/* About — carousel preview (3 visible, minimal chrome) */
.pantera-people-carousel {
  --people-per-view: 3;
  --people-gap: clamp(1.5rem, 3vw, 2.5rem);
  --people-slide: calc((100% - (var(--people-per-view) - 1) * var(--people-gap)) / var(--people-per-view));
  margin-top: clamp(1.5rem, 3vw, 2rem);
}

.pantera-people-carousel__viewport {
  overflow: hidden;
  width: 100%;
}

.pantera-people-carousel__track {
  display: flex;
  gap: var(--people-gap);
  align-items: stretch;
  transition: transform .8s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  .pantera-people-carousel__track { transition: none; }
}

.pantera-people-carousel .pantera-people-grid__card {
  flex: 0 0 var(--people-slide);
  width: var(--people-slide);
  min-width: 0;
  height: auto;
}

.pantera-people-carousel .pantera-people-grid__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding-inline: 1px;
}

.pantera-people-carousel .pantera-people-grid__role {
  flex: 1;
  min-height: calc(2 * 1.45em);
}

.pantera-people-carousel__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: clamp(1.75rem, 3vw, 2.25rem);
  padding-top: 1.25rem;
  border-top: 1px solid var(--pantera-line);
}

.pantera-people-carousel__btn {
  appearance: none;
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  font-size: .8125rem;
  font-weight: 500;
  letter-spacing: .02em;
  color: var(--pantera-brand);
  cursor: pointer;
}

.pantera-people-carousel__btn:hover:not(:disabled),
.pantera-people-carousel__btn:focus-visible:not(:disabled) {
  opacity: .7;
}

.pantera-people-carousel__btn:disabled {
  opacity: .28;
  cursor: default;
}

.pantera-people-carousel__count {
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink-muted);
}

@media (max-width: 680px) {
  .pantera-people-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .pantera-people-grid { grid-template-columns: 1fr; }
}

/* People archive — practice filter as editorial segmented control (matches
   hero search / insight tabs: uppercase labels, group hairline, 2px underline). */
.pantera-people-filters {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1.1rem, 3vw, 1.9rem);
  margin-top: clamp(1.25rem, 2.5vw, 1.75rem);
  border-bottom: 1px solid var(--pantera-line);
  width: fit-content;
  max-width: 100%;
  box-sizing: border-box;
}

.pantera-people-filters__pill {
  appearance: none;
  display: inline-flex;
  align-items: center;
  margin: 0 0 -1px;
  padding: .9rem 0;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  font: inherit;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink-muted);
  cursor: pointer;
  transition: color .15s var(--pantera-ease), border-color .15s var(--pantera-ease);
}

.pantera-people-filters__pill:hover,
.pantera-people-filters__pill:focus-visible {
  color: var(--pantera-brand);
}

.pantera-people-filters__pill.is-active {
  background: transparent;
  border-bottom-color: var(--pantera-brand);
  color: var(--pantera-brand);
}

@media (max-width: 767px) {
  .pantera-people-filters {
    flex-wrap: nowrap;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    gap: 1.25rem;
  }

  .pantera-people-filters::-webkit-scrollbar {
    display: none;
  }

  .pantera-people-filters__pill {
    flex: 0 0 auto;
    white-space: nowrap;
  }
}

.pantera-people-empty {
  margin-top: clamp(1.5rem, 3vw, 2rem);
}

.pantera-people-grid__card[hidden] {
  display: none !important;
}

/* Profile page — narrower photo + surface info card */
.pantera-person-page .pantera-band.pantera-band--person,
.pantera-person-page .pantera-band.pantera-band--person.has-base-background-color,
.pantera-person-page .pantera-band.pantera-band--person.has-background {
  padding-block: clamp(2.25rem, 4.5vw, 3.5rem);
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
}

.pantera-person-page > .pantera-band--surface {
  background: #fff;
  border-top: 1px solid var(--pantera-line);
}

.pantera-person {
  display: grid;
  grid-template-columns: minmax(0, 17.5rem) minmax(0, 1fr);
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: start;
}

.pantera-person__media {
  position: sticky;
  top: calc(var(--pantera-header-h) + 1.25rem);
}

.pantera-person__img,
.pantera-person__media .pantera-ph {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: top center;
  border-radius: var(--pantera-radius);
  background: var(--pantera-surface);
}

.pantera-person__media .pantera-ph {
  height: auto;
  aspect-ratio: 4 / 5;
}

.pantera-person__img--empty { display: block; }

.pantera-person__info {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 48rem;
  padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.35rem, 3vw, 2.25rem);
  background: var(--pantera-surface);
  border-radius: var(--pantera-radius);
}

.pantera-person__header {
  margin: 0;
  padding: 0;
  border: 0;
}

.pantera-person .pantera-kicker {
  margin-bottom: .75rem;
}

.pantera-person__crumb a {
  color: inherit;
  text-decoration: none;
}

.pantera-person__crumb a:hover {
  color: var(--pantera-accent);
}

.pantera-person__name {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(2rem, 3.8vw, 2.85rem);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -0.02em;
  text-wrap: balance;
  color: var(--pantera-brand);
}

.pantera-person__creds {
  margin: .55rem 0 0;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-person__role {
  margin: .45rem 0 0;
  max-width: 42ch;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
  color: var(--wp--preset--color--ink-muted);
}

/* Contact rows — label left, square arrow button right */
.pantera-person__actions {
  display: flex;
  flex-direction: column;
  margin: clamp(1.35rem, 2.5vw, 1.75rem) 0 0;
  padding: 0;
  border-top: 1px solid color-mix(in srgb, var(--pantera-line) 85%, transparent);
}

.pantera-person__action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0;
  padding: .95rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--pantera-line) 85%, transparent);
  color: var(--pantera-brand);
  text-decoration: none;
  transition: color .18s var(--pantera-ease);
}

.pantera-person__action-label {
  min-width: 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pantera-person__action-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 1.85rem;
  height: 1.85rem;
  background: var(--pantera-accent);
  color: #fff;
  border-radius: var(--pantera-radius-sm);
  transition: background .18s var(--pantera-ease);
}

.pantera-person__action-icon svg {
  width: .85rem;
  height: .85rem;
}

.pantera-person__action:hover {
  color: var(--pantera-accent);
  text-decoration: none;
}

.pantera-person__action:hover .pantera-person__action-icon {
  background: var(--pantera-brand);
}

.pantera-person__action:focus-visible {
  outline: 2px solid var(--pantera-accent);
  outline-offset: 3px;
}

.pantera-person__about {
  margin-top: clamp(1.5rem, 2.8vw, 2rem);
  max-width: 58ch;
  line-height: 1.72;
}

.pantera-person__about > p,
.pantera-person__about > div {
  margin: 0 0 1.15rem;
  font-size: var(--pantera-text-body);
  color: var(--wp--preset--color--ink);
}

.pantera-person__about > div:empty {
  display: none;
}

.pantera-person__about > :last-child {
  margin-bottom: 0;
}

@media (max-width: 900px) {
  .pantera-person {
    grid-template-columns: minmax(0, 14.5rem) minmax(0, 1fr);
    gap: 1.35rem;
  }
}

@media (max-width: 760px) {
  .pantera-person {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .pantera-person__media {
    position: static;
    max-width: 16rem;
  }

  .pantera-person__info {
    max-width: none;
  }
}

@media (max-width: 560px) {
  .pantera-person__media {
    max-width: none;
  }

  .pantera-person__info {
    padding: 1.25rem 1.1rem;
  }
}

/* Profile enquiry form */
.pantera-person-enquiry {
  margin-top: clamp(2.75rem, 5vw, 3.5rem);
  padding: clamp(2rem, 3.5vw, 2.5rem) 0 0;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--pantera-line);
  border-radius: 0;
}

.pantera-person__info .pantera-person-enquiry {
  max-width: none;
}

.pantera-person-enquiry__title {
  margin: 0 0 clamp(1.1rem, 2vw, 1.4rem);
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(1.5rem, 2.8vw, 2rem);
  font-weight: 500;
  letter-spacing: -.01em;
  color: var(--pantera-brand);
}

.pantera-person-enquiry__lead {
  margin: 0 0 1.5rem;
  max-width: 42ch;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.6;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-person-enquiry__form {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.pantera-person-enquiry__form .pantera-form {
  gap: .75rem;
}

.pantera-person-enquiry__form .pantera-form__row {
  gap: .6rem;
}

.pantera-person-enquiry__form .pantera-form__field {
  gap: .35rem;
  margin: 0;
}

.pantera-person-enquiry__form input[type="text"],
.pantera-person-enquiry__form input[type="email"],
.pantera-person-enquiry__form input[type="tel"],
.pantera-person-enquiry__form textarea {
  width: 100%;
  min-width: 0;
  padding: 0 .85rem;
  border: 1px solid rgba(48, 49, 73, .18);
  border-radius: var(--pantera-radius-sm);
  background: var(--pantera-paper);
  font: inherit;
  font-size: var(--pantera-text-body);
  font-weight: 400;
  color: var(--wp--preset--color--ink);
  transition: border-color .15s var(--pantera-ease), background .15s var(--pantera-ease);
  box-shadow: none;
}

.pantera-person-enquiry__form input[type="text"],
.pantera-person-enquiry__form input[type="email"],
.pantera-person-enquiry__form input[type="tel"] {
  height: 3rem;
  min-height: 3rem;
}

.pantera-person-enquiry__form textarea {
  min-height: 9rem;
  padding: .85rem;
  resize: vertical;
}

.pantera-person-enquiry__form input::placeholder,
.pantera-person-enquiry__form textarea::placeholder {
  color: rgba(48, 49, 73, .4);
}

.pantera-person-enquiry__form input:focus,
.pantera-person-enquiry__form input:focus-visible,
.pantera-person-enquiry__form textarea:focus,
.pantera-person-enquiry__form textarea:focus-visible {
  outline: none;
  border-color: rgba(48, 49, 73, .4);
  background: var(--pantera-paper);
  box-shadow: none;
}

.pantera-person-enquiry__notice {
  margin-bottom: 1.25rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius-sm);
}

.pantera-person-enquiry__notice--success {
  background: #fff;
  border-color: rgba(80, 81, 140, .22);
}

.pantera-person-enquiry__notice--error {
  background: #fdf8f8;
  border-color: #ecd5d5;
}

.pantera-person-enquiry__notice-title {
  margin: 0 0 .25rem;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: -.01em;
  color: var(--pantera-brand);
}

.pantera-person-enquiry__notice-text {
  margin: 0;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.55;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-person-enquiry__form .pantera-form__submit {
  margin: .35rem 0 0;
}

.pantera-person-enquiry__form .pantera-form__submit .wp-element-button {
  box-sizing: border-box;
  height: 3rem;
  min-height: 3rem;
  padding: 0 1.25rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--pantera-brand) !important;
  color: #fff !important;
  font-family: var(--wp--preset--font-family--nav) !important;
  font-size: .8125rem !important;
  font-weight: 600 !important;
  letter-spacing: .02em;
  transition: background .18s var(--pantera-ease);
}

.pantera-person-enquiry__form .pantera-form__submit .wp-element-button:hover {
  background: var(--pantera-accent) !important;
  color: #fff !important;
}

.pantera-person-enquiry .pantera-form__notice {
  margin-bottom: 1rem;
}

/* ---- Auctions -------------------------------------------------------- */
/* Catalogue plates, matching the property listings: flat image, hairline-ruled
   caption, Fraunces guide price. No boxes. */
.pantera-auctions-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.75rem, 3vw, 2.5rem);
}
@media (max-width: 1000px) { .pantera-auctions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .pantera-auctions-grid { grid-template-columns: 1fr; } }

.pantera-auctions-grid__card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
.pantera-auctions-grid__photo {
  aspect-ratio: 3 / 2;
  background: var(--wp--preset--color--surface);
  border-radius: var(--pantera-radius);
  overflow: clip;
}
.pantera-auctions-grid__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity .25s var(--pantera-ease);
}
.pantera-auctions-grid__card:hover .pantera-auctions-grid__photo img { opacity: .92; }
@media (prefers-reduced-motion: reduce) {
  .pantera-auctions-grid__photo img { transition: none; }
}
.pantera-auctions-grid__body {
  display: flex;
  flex-direction: column;
  gap: .3rem;
  padding: .9rem 0 0;
  border-bottom: 1px solid var(--pantera-line);
  padding-bottom: 1.1rem;
}
.pantera-auctions-grid__type {
  font-family: var(--wp--preset--font-family--nav);
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--wp--preset--color--ink-muted);
  font-weight: 600;
}
.pantera-auctions-grid__addr { font-weight: 500; color: var(--pantera-brand); line-height: 1.4; }
.pantera-auctions-grid__card:hover .pantera-auctions-grid__addr { text-decoration: underline; text-underline-offset: .15em; }
.pantera-auctions-grid__meta { font-size: var(--pantera-text-body-xs); color: var(--wp--preset--color--ink-muted); }
.pantera-auctions-grid__price {
  margin-top: .4rem;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: 1.25rem;
  color: var(--pantera-brand);
}

/* Single lot — editorial masthead + hairline spec ledger */
.pantera-auction__title {
  font-size: clamp(2.1rem, 4.5vw, 3.25rem);
  line-height: 1.05;
  letter-spacing: -0.01em;
  text-wrap: balance;
  max-width: 22ch;
}
.pantera-auction__hero img { border-radius: var(--pantera-radius); }
.pantera-auction__summary {
  font-size: 1.15rem;
  line-height: 1.6;
  color: var(--wp--preset--color--ink-muted);
  max-width: 62ch;
}
.pantera-auction__specs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 0 2rem;
  border-top: 1px solid var(--pantera-line);
  border-bottom: 1px solid var(--pantera-line);
  padding: 1.4rem 0;
  margin: 2rem 0;
}
.pantera-auction__specs > div { padding: .35rem 0; }
.pantera-auction__specs dt {
  font-family: var(--wp--preset--font-family--nav);
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-weight: 600;
  color: var(--wp--preset--color--ink-muted);
  margin-bottom: .3rem;
}
.pantera-auction__specs dd {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: 1.2rem;
  color: var(--pantera-brand);
}
.pantera-auction__location h2 { font-size: 1.5rem; margin-bottom: .5rem; }
.pantera-auction__location { max-width: 66ch; line-height: 1.7; }

/* ---- Careers (Pantera house style) ----------------------------------- */
.pantera-careers-page {
  background: var(--wp--preset--color--base);
}

.pantera-careers-page .pantera-svc-hero__lead a {
  color: var(--pantera-accent);
  text-decoration: underline;
  text-underline-offset: .15em;
  font-weight: 500;
}

.pantera-careers-page .pantera-svc-hero__lead a:hover,
.pantera-careers-page .pantera-svc-hero__lead a:focus-visible {
  color: var(--pantera-brand);
}

.pantera-band--careers-why {
  padding-block: clamp(2.5rem, 5vw, 4rem) clamp(3rem, 6vw, 4.5rem);
  border-top: 1px solid var(--pantera-line);
}

.pantera-careers-page .pantera-band--careers-why .pantera-home-why__inner {
  gap: clamp(2.5rem, 5vw, 4rem);
}

.pantera-careers-page .pantera-home-why__visual {
  background: var(--pantera-surface);
  border-radius: var(--pantera-radius);
  overflow: clip;
}

.pantera-band--careers-roles {
  padding-block: clamp(2.5rem, 5vw, 3.5rem) clamp(3rem, 6vw, 4.5rem);
  border-top: 1px solid var(--pantera-line);
}

.pantera-band--careers-roles:not(:has(.pantera-careers-table-wrap)) {
  display: none;
}

.pantera-careers-roles-head {
  margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem);
}

.pantera-careers-roles-head .pantera-kicker {
  margin-bottom: .85rem;
}

.pantera-careers-roles-head__title {
  margin: 0;
  max-width: 18ch;
}

.pantera-careers-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.pantera-careers-table {
  width: 100%;
  min-width: 36rem;
  border-collapse: collapse;
  border-top: 1px solid var(--pantera-line);
}

.pantera-careers-table thead th {
  padding: .85rem 0;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-align: left;
  color: var(--wp--preset--color--ink-muted);
  border-bottom: 1px solid var(--pantera-line);
  background: transparent;
}

.pantera-careers-table thead th:last-child {
  width: 7.5rem;
}

.pantera-careers-table tbody tr {
  background: transparent;
  transition: background-color .15s var(--pantera-ease);
}

.pantera-careers-table tbody tr:hover {
  background: color-mix(in srgb, var(--pantera-surface) 70%, transparent);
}

.pantera-careers-table td {
  padding: 1.15rem 0;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.45;
  vertical-align: middle;
  color: var(--wp--preset--color--ink-muted);
  border-bottom: 1px solid var(--pantera-line);
}

.pantera-careers-table__role {
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.0625rem, 1.5vw, 1.2rem);
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--pantera-brand);
}

.pantera-careers-table__role a {
  color: inherit;
  text-decoration: none;
}

.pantera-careers-table__role a:hover,
.pantera-careers-table__role a:focus-visible {
  color: var(--pantera-accent);
}

.pantera-careers-table__badge {
  display: inline-block;
  margin-right: .35rem;
  padding: .12rem .45rem;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .62rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink-muted);
  background: var(--pantera-surface);
  border-radius: var(--pantera-radius-sm);
  vertical-align: middle;
}

.pantera-careers-table__action {
  text-align: right;
  white-space: nowrap;
}

.pantera-careers-table__action a {
  font-size: .8125rem;
  font-weight: 600;
  color: var(--pantera-brand);
  text-decoration: underline;
  text-underline-offset: .15em;
  white-space: nowrap;
}

.pantera-careers-table__action a:hover,
.pantera-careers-table__action a:focus-visible {
  color: var(--pantera-accent);
}

.pantera-careers-table__empty {
  margin: 0;
  padding: 1.5rem 0;
  font-size: var(--pantera-text-body-sm);
  color: var(--wp--preset--color--ink-muted);
}

@media (max-width: 900px) {
  .pantera-careers-page .pantera-band--careers-why {
    padding-block: clamp(2rem, 5vw, 3rem);
  }

  .pantera-careers-page .pantera-home-why__split {
    grid-template-columns: 1fr;
  }
}

.pantera-band--career {
  padding-block: clamp(2rem, 4vw, 3rem) clamp(3rem, 6vw, 4.5rem);
}

.pantera-career-header {
  margin-bottom: clamp(2rem, 4vw, 2.75rem);
  padding-bottom: clamp(1.5rem, 3vw, 2rem);
  border-bottom: 1px solid var(--pantera-line);
}

.pantera-career-header__back {
  margin: 0 0 1.25rem;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.pantera-career-header__back a {
  color: var(--wp--preset--color--ink-muted);
  text-decoration: none;
  transition: color .18s var(--pantera-ease);
}

.pantera-career-header__back a:hover,
.pantera-career-header__back a:focus-visible {
  color: var(--pantera-accent);
}

.pantera-career-header__main {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: clamp(1.5rem, 4vw, 3rem);
}

.pantera-career-header__title {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(2rem, 4.2vw, 3.25rem);
  font-weight: 400;
  line-height: 1.06;
  letter-spacing: -0.01em;
  color: var(--pantera-brand);
  max-width: 16ch;
  text-wrap: balance;
}

.pantera-career-header__meta {
  display: flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pantera-career-header__meta li {
  padding: .38rem .7rem;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  line-height: 1.2;
  color: var(--pantera-brand);
  background: var(--pantera-surface);
  border: 1px solid var(--pantera-line);
  border-radius: 2px;
  white-space: nowrap;
}

.pantera-band--career .pantera-career__content.wp-block-post-content {
  box-sizing: border-box;
  width: min(100%, var(--pantera-content-max)) !important;
  max-width: var(--pantera-content-max) !important;
  margin-inline: auto !important;
  margin-top: 0 !important;
  line-height: 1.75;
}

.pantera-band--career .pantera-career__content > :first-child {
  margin-top: 0;
}

.pantera-band--career .pantera-career__content > :where(p, ul, ol) {
  max-width: none;
}

.pantera-band--career .pantera-career__content > p {
  margin: 0 0 .85rem;
  font-size: var(--pantera-text-body);
  line-height: 1.72;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

.pantera-band--career .pantera-career__content > p:first-child {
  font-size: clamp(1.125rem, 1.8vw, 1.25rem);
  line-height: 1.65;
  color: var(--pantera-brand);
  margin-bottom: clamp(.85rem, 1.5vw, 1.15rem);
}

.pantera-band--career .pantera-career__content > p:last-child {
  margin-bottom: 0;
}

.pantera-band--career .pantera-career-apply {
  box-sizing: border-box;
  width: min(100%, var(--pantera-content-max)) !important;
  max-width: var(--pantera-content-max) !important;
  margin-inline: auto !important;
  margin-top: clamp(2rem, 4vw, 2.75rem);
  padding-top: clamp(1.5rem, 3vw, 2rem);
  border-top: 1px solid var(--pantera-line);
}

.pantera-band--career .pantera-career-apply__title {
  max-width: none;
  margin: 0 0 .65rem;
  font-family: var(--wp--preset--font-family--heading);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--pantera-brand);
}

.pantera-band--career .pantera-career-apply__text {
  max-width: none;
  margin: 0;
  font-size: var(--pantera-text-body);
  line-height: 1.72;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-career-apply__text a {
  font-weight: 600;
  color: var(--pantera-accent);
  text-decoration: none;
}

.pantera-career-apply__text a:hover,
.pantera-career-apply__text a:focus-visible {
  text-decoration: underline;
  text-underline-offset: .15em;
}

@media (max-width: 720px) {
  .pantera-career-header__main {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }

  .pantera-career-header__title {
    max-width: none;
  }

  .pantera-career-header__meta {
    justify-content: flex-start;
  }
}

@media (max-width: 900px) {
  .pantera-careers-page .pantera-band--careers-why {
    padding-block: clamp(2rem, 5vw, 3rem);
  }
}

@media (max-width: 680px) {
  .pantera-careers-table {
    min-width: 0;
    border-top: 0;
  }

  .pantera-careers-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .pantera-careers-table tbody tr {
    display: block;
    padding: 1rem clamp(.85rem, 2vw, 1.25rem);
  }

  .pantera-careers-table td {
    display: grid;
    grid-template-columns: 6.5rem minmax(0, 1fr);
    gap: .35rem 1rem;
    padding: .35rem 0;
    border: 0;
  }

  .pantera-careers-table td::before {
    content: attr(data-label);
    font-family: var(--wp--preset--font-family--nav);
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--wp--preset--color--ink-muted);
  }

  .pantera-careers-table__role {
    display: block;
    padding-bottom: .5rem;
    margin-bottom: .35rem;
    border-bottom: 1px solid var(--pantera-line);
  }

  .pantera-careers-table__role::before {
    display: none;
  }

  .pantera-careers-table__action {
    text-align: left;
  }
}

/* ---- Generic page / plain archives ------------------------------------ */
.pantera-band--page-head { padding-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.pantera-band--page-head .pantera-page__title,
.pantera-page__title {
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  line-height: 1.05;
  letter-spacing: -0.01em;
  text-wrap: balance;
  margin: 0 0 1rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--pantera-line);
}
.pantera-page__lead { max-width: 58ch; color: var(--wp--preset--color--ink-muted); }
.pantera-band--page-body { padding-top: 0; }
.pantera-band--page-body .wp-block-post-content { line-height: 1.7; }
.pantera-band--page-body .wp-block-post-content > h2 { margin-top: 2.5rem; }

/* ---- Legal / policy pages --------------------------------------------- */
.pantera-legal-page {
  background: var(--wp--preset--color--base);
}

.pantera-band--legal {
  padding-block: clamp(3rem, 7vw, 5rem);
  background: var(--wp--preset--color--base);
}

.pantera-legal-page__inner {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--pantera-content-max);
  margin-inline: auto;
  padding-inline: var(--pantera-gutter);
}

.pantera-legal-page__shell {
  display: flex;
  flex-direction: column;
  gap: clamp(2.5rem, 5vw, 3.5rem);
}

.pantera-legal-hero {
  padding-bottom: 0;
  border-bottom: 0;
}

.pantera-legal-hero__title {
  margin: 0;
  max-width: 20ch;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(2.25rem, 4.8vw, 3.25rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.01em;
  color: var(--pantera-brand);
  text-wrap: balance;
}

.pantera-legal-layout {
  display: grid;
  grid-template-columns: minmax(0, 13.5rem) minmax(0, 1fr);
  gap: clamp(2.5rem, 6vw, 5rem);
  align-items: start;
}

.pantera-legal-nav {
  position: sticky;
  top: calc(var(--pantera-header-h) + 1.5rem);
  padding: 0;
}

.pantera-legal-nav__label {
  display: none;
}

.pantera-legal-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.pantera-legal-nav__link {
  display: block;
  padding: .85rem 1rem;
  margin-inline: 0;
  border-radius: var(--pantera-radius-md);
  background: #fff;
  box-shadow: var(--pantera-shadow-card);
  font-size: .875rem;
  font-weight: 500;
  color: var(--pantera-brand);
  text-decoration: none;
  transition: box-shadow .18s var(--pantera-ease), color .18s var(--pantera-ease);
}

.pantera-legal-nav__link:hover,
.pantera-legal-nav__link:focus-visible {
  color: var(--pantera-accent);
  background: #fff;
  box-shadow: var(--pantera-shadow-card-hover);
  text-decoration: none;
}

.pantera-legal-nav__link.is-active {
  color: var(--pantera-accent);
  background: #fff;
  box-shadow: var(--pantera-shadow-card-hover);
}

.pantera-legal-prose {
  min-width: 0;
  max-width: none;
  font-size: var(--pantera-text-body);
  line-height: 1.8;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

.pantera-legal-prose > :first-child {
  margin-top: 0;
}

.pantera-legal-prose h2,
.pantera-legal-prose h3,
.pantera-legal-prose h4,
.pantera-legal-section__title {
  margin: 0 0 1rem;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--pantera-brand);
  text-wrap: balance;
}

.pantera-legal-prose h2,
.pantera-legal-prose .wp-block-heading {
  margin-top: 0;
  margin-bottom: 1.25rem;
  font-size: clamp(1.5rem, 2.4vw, 1.875rem);
}

.pantera-legal-prose h3,
.pantera-legal-section__title {
  font-size: clamp(1.2rem, 2vw, 1.45rem);
}

.pantera-legal-prose > .pantera-legal-section__title,
.pantera-legal-section {
  margin-top: 0;
  padding-top: 2.75rem;
  border-top: 1px solid var(--pantera-line);
}

.pantera-legal-section__title {
  margin-top: 0;
  margin-bottom: 1rem;
}

.pantera-legal-prose h2 + p,
.pantera-legal-prose .wp-block-heading + p {
  margin-top: 0;
}

.pantera-legal-prose h3:not(.pantera-legal-section__title) {
  margin-top: 2.75rem;
}

.pantera-legal-prose p,
.pantera-legal-prose .wp-block-paragraph {
  margin: 0 0 1.25rem;
}

.pantera-legal-prose ul,
.pantera-legal-prose ol {
  margin: 0 0 1.5rem;
  padding-left: 1.35rem;
}

.pantera-legal-prose li {
  margin: 0 0 .65rem;
}

.pantera-legal-prose li::marker {
  color: var(--pantera-accent);
  font-weight: 600;
}

.pantera-legal-prose ol.wp-block-list > li {
  margin-bottom: 1.75rem;
  padding-left: .25rem;
}

.pantera-legal-prose ol.wp-block-list > li > p:first-child {
  margin: 0 0 .5rem;
  font-weight: 600;
  color: var(--pantera-brand);
}

.pantera-legal-prose ol.wp-block-list > li > p:first-child b {
  font-weight: inherit;
}

.pantera-legal-prose a {
  color: var(--pantera-brand);
  text-decoration: underline;
  text-underline-offset: .15em;
  text-decoration-color: color-mix(in srgb, var(--pantera-accent) 45%, transparent);
}

.pantera-legal-prose a:hover,
.pantera-legal-prose a:focus-visible {
  color: var(--pantera-accent);
  text-decoration-color: currentColor;
}

.pantera-legal-prose strong,
.pantera-legal-prose b {
  color: var(--pantera-brand);
  font-weight: 600;
}

.pantera-legal-prose__lead {
  margin: 0 0 2rem;
  font-size: clamp(1.125rem, 1.9vw, 1.25rem);
  line-height: 1.65;
  color: var(--pantera-brand);
}

@media (max-width: 820px) {
  .pantera-legal-layout {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .pantera-legal-nav {
    position: static;
    padding: 0 0 1.5rem;
    border-bottom: 1px solid var(--pantera-line);
  }

  .pantera-legal-nav__list {
    flex-flow: row wrap;
    gap: .35rem;
  }

  .pantera-legal-nav__link {
    margin-inline: 0;
    padding: .45rem .65rem;
  }

  .pantera-legal-hero__title {
    max-width: none;
  }
}

/* ---- 404 -------------------------------------------------------------- */
body.error404 .pantera-404 {
  min-height: calc(100vh - var(--pantera-header-h));
  min-height: calc(100dvh - var(--pantera-header-h));
}

.pantera-404 {
  background: var(--pantera-paper);
}

.pantera-band--404 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  min-height: calc(100vh - var(--pantera-header-h));
  min-height: calc(100dvh - var(--pantera-header-h));
  padding-block: clamp(2rem, 5vw, 3.5rem);
  background: var(--pantera-paper);
}

.pantera-404__shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
  width: 100%;
}

.pantera-404__media {
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.pantera-404__media img {
  display: block;
  width: min(100%, 30rem);
  max-height: min(55vh, 28rem);
  height: auto;
  object-fit: contain;
}

.pantera-404__content {
  max-width: 32rem;
}

.pantera-404__code {
  margin: 0 0 .15rem;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(6.5rem, 22vw, 13rem);
  font-weight: 400;
  line-height: .85;
  letter-spacing: -0.045em;
  color: var(--pantera-brand);
}

.pantera-404__title {
  margin: 0 0 .85rem;
  font-family: var(--wp--preset--font-family--heading);
  font-size: clamp(1.375rem, 2.6vw, 1.875rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--pantera-brand);
  text-wrap: balance;
}

.pantera-404__lead {
  margin: 0 0 1.35rem;
  max-width: 42ch;
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

.pantera-404__actions {
  margin-bottom: 0;
}

.pantera-404__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.125rem;
  padding: .4rem 1.15rem;
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius-sm);
  background: #fff;
  color: var(--pantera-brand);
  font-size: .875rem;
  font-weight: 500;
  text-decoration: none;
  transition: background-color .18s var(--pantera-ease), border-color .18s var(--pantera-ease), color .18s var(--pantera-ease), transform .12s var(--pantera-ease);
}

.pantera-404__btn:hover,
.pantera-404__btn:focus-visible {
  background: var(--pantera-surface);
  border-color: var(--pantera-brand);
  color: var(--pantera-brand);
  text-decoration: none;
}

.pantera-404__btn:active {
  transform: translateY(1px);
}

/* Tablet: keep the desktop two-column composition; tame display type + art. */
@media (max-width: 900px) {
  .pantera-band--404 {
    padding-block: clamp(1.75rem, 4vw, 2.75rem);
  }

  .pantera-404__shell {
    gap: clamp(1.5rem, 4vw, 2.5rem);
  }

  .pantera-404__code {
    font-size: clamp(5rem, 10vw + 1.25rem, 8.5rem);
  }

  .pantera-404__media img {
    width: min(100%, 22rem);
    max-height: min(42vh, 20rem);
  }

  .pantera-404__lead {
    font-size: 1rem;
  }

  .pantera-404__btn {
    min-height: 2.75rem;
    padding: .65rem 1.35rem;
  }
}

/* Phone: stack copy above art, tighten rhythm, keep illustration secondary. */
@media (max-width: 700px) {
  .pantera-band--404 {
    justify-content: flex-start;
    min-height: 0;
    padding-block: clamp(1.5rem, 5vw, 2.25rem) clamp(2rem, 6vw, 3rem);
  }

  body.error404 .pantera-404 {
    min-height: 0;
  }

  .pantera-404__shell {
    grid-template-columns: 1fr;
    gap: clamp(1.25rem, 4vw, 1.75rem);
    text-align: center;
  }

  .pantera-404__content {
    order: 1;
    max-width: 28rem;
    margin-inline: auto;
  }

  .pantera-404__media {
    order: 2;
  }

  .pantera-404__code {
    font-size: clamp(4.5rem, 18vw, 5.75rem);
  }

  .pantera-404__title {
    margin-bottom: .7rem;
    font-size: clamp(1.25rem, 4.2vw, 1.5rem);
  }

  .pantera-404__lead {
    margin-inline: auto;
    margin-bottom: 1.2rem;
    font-size: .9875rem;
    line-height: 1.6;
  }

  .pantera-404__media img {
    width: min(100%, 15.5rem);
    max-height: min(32vh, 15.5rem);
  }

  .pantera-404__actions {
    display: flex;
    justify-content: center;
  }

  .pantera-404__btn {
    min-height: 2.75rem;
    padding: .7rem 1.4rem;
  }
}

@media (max-width: 390px) {
  .pantera-404__code {
    font-size: clamp(4.25rem, 19vw, 5rem);
  }

  .pantera-404__media img {
    width: min(100%, 13.5rem);
    max-height: min(28vh, 13.5rem);
  }
}

/* Post list — gap card grid (search results, category and date archives) */
.pantera-post-list {
  display: grid;
  gap: clamp(1rem, 2vw, 1.25rem);
}

.pantera-post-list__row {
  padding: clamp(1.25rem, 2vw, 1.5rem);
  border: 0;
  border-radius: var(--pantera-radius);
  background: #fff;
  box-shadow: var(--pantera-shadow-card);
  max-width: none;
}
.pantera-post-list__date {
  font-family: var(--wp--preset--font-family--nav);
  font-size: .72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--wp--preset--color--ink-muted);
  margin: 0 0 .4rem;
}
.pantera-post-list__title { margin: 0; }
.pantera-post-list__title a { color: var(--pantera-brand); }
.pantera-post-list__title a:hover { text-decoration: underline; text-underline-offset: .15em; }
.pantera-post-list__excerpt { margin: .5rem 0 0; color: var(--wp--preset--color--ink-muted); font-size: .95rem; }
.pantera-site-search { max-width: 480px; }
/* Override the block's inline 10px radius (set in search.html, not editable here)
   so the search field matches the input token; button-inside stays square. */
.pantera-site-search .wp-block-search__inside-wrapper {
  border-radius: var(--pantera-radius-sm) !important;
}

/* Plugin pages (PropertyHive archive / single) — break out of .wp-site-blocks
   padding once, then use the same shell-max + gutter as block templates. */
.wp-site-blocks > .pantera-plugin-main {
  margin-inline: calc(-1 * var(--pantera-gutter));
  width: auto;
  max-width: none;
}

/* Plugin-page wrapper */
.pantera-plugin-main {
  background: #fff;
  padding-top: var(--pantera-gutter);
  padding-bottom: var(--wp--preset--spacing--60);
  max-width: none !important;
  width: 100%;
}

.pantera-plugin-main__inner {
  max-width: var(--pantera-shell-max);
  margin-inline: auto;
  padding-inline: var(--pantera-gutter);
  box-sizing: border-box;
  width: 100%;
}

/* PropertyHive default #container / #content wrappers — full width inside our shell */
.pantera-plugin-main #container,
.pantera-plugin-main #content {
  float: none;
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

/* -------------------------------------------------------------------------
 * Single property
 * ---------------------------------------------------------------------- */

/* Single property — white page, contained editorial layout */
body.single-property .wp-site-blocks > .pantera-plugin-main,
body.single-auctions .wp-site-blocks > .pantera-plugin-main {
  margin-top: 0;
  padding-top: 0;
}

body.single-property .pantera-plugin-main,
body.single-auctions .pantera-plugin-main {
  background: #fff;
}

.pantera-property {
  background: #fff;
}

.pantera-property__shell {
  max-width: none;
  margin: 0;
  padding: clamp(1.75rem, 3.5vw, 2.75rem) 0 clamp(3rem, 6vw, 5rem);
}

.pantera-property__back {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  width: max-content;
  margin-bottom: clamp(1.15rem, 2.2vw, 1.5rem);
  padding: .35rem 0;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .8125rem;
  font-weight: 500;
  letter-spacing: .01em;
  color: var(--wp--preset--color--ink-muted);
  text-decoration: none;
  transition: color .15s var(--pantera-ease);
}

/* Intro — split gallery + address on desktop for sharper images */
.pantera-property__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 360px);
  gap: clamp(1.75rem, 3.5vw, 3rem);
  align-items: start;
  padding-bottom: clamp(2rem, 4vw, 2.75rem);
  border-bottom: 1px solid var(--pantera-line);
}

.pantera-property__intro-media {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

/* Masthead — address column beside the gallery */
.pantera-property__masthead {
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, 2vw, 1.5rem);
  min-width: 0;
  padding: clamp(.25rem, 1vw, .5rem) 0;
}

.pantera-property__masthead-main {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  min-width: 0;
}

.pantera-property__masthead-foot {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.pantera-property__status {
  margin: 0 0 .15rem;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--pantera-accent);
}

.pantera-property__title {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(1.55rem, 2.4vw, 2.15rem);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.015em;
  color: var(--pantera-brand);
  text-wrap: balance;
}

.pantera-property__location {
  margin: 0;
  font-size: var(--pantera-text-body-sm);
  font-weight: 500;
  line-height: 1.45;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-property__masthead-type {
  margin: .55rem 0 0;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .8125rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: .015em;
  color: var(--pantera-brand);
}

.pantera-property__masthead-meta {
  margin: .2rem 0 0;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .8125rem;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: .015em;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-property__masthead-size {
  margin: .15rem 0 0;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .8125rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: .015em;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-property__masthead-price-block {
  display: flex;
  flex-direction: column;
  gap: .35rem;
}

.pantera-property__price-label {
  font-family: var(--wp--preset--font-family--nav);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-property__masthead-price {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(1.55rem, 2.2vw, 1.95rem);
  font-weight: 500;
  line-height: 1.05;
  color: var(--pantera-brand);
  font-variant-numeric: lining-nums;
}

.pantera-property__masthead-link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  width: max-content;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .8125rem;
  font-weight: 600;
  color: var(--pantera-accent);
  text-decoration: none;
  transition: color .16s var(--pantera-ease), gap .16s var(--pantera-ease);
}

.pantera-property__masthead-link:hover {
  color: var(--pantera-brand);
  gap: .5rem;
}

.pantera-property__back:hover { color: var(--pantera-brand); }
.pantera-property__back svg { transition: transform .18s var(--pantera-ease); }
.pantera-property__back:hover svg { transform: translateX(-2px); }

.pantera-property__panels {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.pantera-property__ref {
  margin: 0;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink-muted);
}

/* Figures band — editorial numerals over a hairline grid */
.pantera-property__figures {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: clamp(1.25rem, 2.5vw, 1.75rem) 0;
  list-style: none;
  border-bottom: 1px solid var(--pantera-line);
}

.pantera-property__figures li {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  padding: 0 clamp(1.5rem, 3.5vw, 3rem);
  border-left: 1px solid var(--pantera-line);
}

.pantera-property__figures li:first-child { padding-left: 0; border-left: 0; }

.pantera-property__figure-value {
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  font-weight: 500;
  line-height: 1.1;
  color: var(--pantera-brand);
  font-variant-numeric: lining-nums;
}

.pantera-property__figure-label {
  font-family: var(--wp--preset--font-family--nav);
  font-size: .66rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-property__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
  gap: clamp(2.5rem, 5vw, 4rem);
  align-items: start;
  padding-top: clamp(2rem, 4vw, 3rem);
}

.pantera-property__main {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
}

.pantera-property__floor-area {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .35rem .65rem;
  margin: 0 0 1.25rem;
  padding: .55rem .85rem;
  border: 1px solid var(--pantera-line);
  border-radius: 2px;
  background: var(--pantera-paper);
  width: max-content;
  max-width: 100%;
}

.pantera-property__floor-area-label {
  font-family: var(--wp--preset--font-family--nav);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-property__floor-area-value {
  font-size: var(--pantera-text-body-sm);
  font-weight: 600;
  color: var(--pantera-brand);
}

/* Shared section eyebrow */
.pantera-property__section-eyebrow {
  margin: 0 0 .4rem;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--pantera-accent);
}

.pantera-property__section {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  padding: clamp(1.85rem, 3vw, 2.35rem) 0;
  border-bottom: 1px solid var(--pantera-line);
}

.pantera-property__panels > .pantera-property__section:first-child,
.pantera-property__panels > p + .pantera-property__section {
  border-top: 0;
}

.pantera-property__panels > .pantera-property__section:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.pantera-property__section-title {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(1.2rem, 2vw, 1.4rem);
  font-weight: 500;
  letter-spacing: -.01em;
  color: var(--pantera-brand);
  text-wrap: balance;
}

.pantera-property__prose {
  font-size: var(--pantera-text-body);
  line-height: 1.72;
  color: var(--wp--preset--color--ink-muted);
  max-width: none;
  text-wrap: pretty;
}

/* Summary extract — body lead with left ribbon */
.pantera-property__summary {
  gap: 0;
  padding: clamp(1.5rem, 2.5vw, 2rem) 0;
}

.pantera-property__extract {
  margin: 0;
  padding: 0 0 0 1.15rem;
  border: 0;
  border-left: 2px solid var(--pantera-brand);
  font-family: var(--wp--preset--font-family--body);
  font-size: clamp(1.125rem, 1.45vw, 1.25rem);
  font-weight: 500;
  line-height: 1.62;
  letter-spacing: -.005em;
  color: var(--pantera-brand);
  max-width: none;
  text-wrap: pretty;
}

.pantera-property__extract p {
  margin: 0;
}

.pantera-property__extract p + p {
  margin-top: .85rem;
}

.pantera-property__prose p { margin: 0 0 1rem; }
.pantera-property__prose p:last-child { margin-bottom: 0; }

/* Location map — always-on Leaflet on quiet tiles */
.pantera-property__map-frame {
  position: relative;
  z-index: 0; /* contain Leaflet's pane z-indexes below the fixed header */
  aspect-ratio: 16 / 8;
  border-radius: var(--pantera-radius-sm);
  overflow: hidden;
  background: var(--pantera-surface);
  border: 1px solid var(--pantera-line);
}

.pantera-map-marker {
  background: transparent;
  border: 0;
}

.pantera-map-marker svg {
  display: block;
  filter: drop-shadow(0 2px 4px rgba(48, 49, 73, .22));
}

.pantera-property__map-frame .leaflet-control-attribution {
  font-size: .6rem;
  background: rgba(255, 255, 255, .8);
}

.pantera-property__description .pantera-property__prose-heading {
  margin: clamp(1.35rem, 2.5vw, 1.75rem) 0 .65rem;
}

.pantera-property__description .pantera-property__prose-heading:first-child {
  margin-top: 0;
}

.pantera-property__description .pantera-property__prose-block {
  margin: 0 0 clamp(1.25rem, 2.5vw, 1.5rem);
  font-size: 1.0125rem;
  line-height: 1.72;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-property__description .pantera-property__prose-block:last-child {
  margin-bottom: 0;
}

.pantera-property__description .pantera-property__prose h3,
.pantera-property__description .pantera-property__prose h4 {
  margin: clamp(1.35rem, 2.5vw, 1.75rem) 0 .65rem;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(1.2rem, 2vw, 1.4rem);
  font-weight: 500;
  letter-spacing: -.01em;
  color: var(--pantera-brand);
  text-wrap: balance;
}

.pantera-property__description .pantera-property__prose h3:first-child,
.pantera-property__description .pantera-property__prose h4:first-child {
  margin-top: 0;
}

.pantera-property__prose p { margin: 0 0 .85rem; }
.pantera-property__prose p:last-child { margin-bottom: 0; }

.pantera-property__spec-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 1.5rem 2rem;
  margin: 0;
}

.pantera-property__spec-item dt {
  margin: 0 0 .35rem;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-property__spec-item dd {
  margin: 0;
  font-size: 1.0625rem;
  font-weight: 500;
  color: var(--pantera-brand);
}

.pantera-property__feature-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: .65rem 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pantera-property__feature-list li {
  position: relative;
  padding-left: 1.15rem;
  font-size: .95rem;
  color: var(--pantera-brand);
}

.pantera-property__feature-list li::before {
  content: "";
  position: absolute;
  left: .15rem;
  top: .62em;
  width: .3125rem;
  height: .3125rem;
  border: 0;
  border-radius: 50%;
  background: var(--wp--preset--color--ink-muted);
  transform: none;
}

/* Floor plan — inline image in the main column */
.pantera-property__floorplan-grid {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.pantera-property__floorplan-figure {
  margin: 0;
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius-sm);
  overflow: hidden;
  background: #fff;
}

.pantera-property__floorplan-zoom {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  cursor: zoom-in;
  font: inherit;
  color: inherit;
  text-align: inherit;
}

.pantera-property__floorplan-img {
  width: 100%;
  height: auto;
  display: block;
}

.pantera-property__floorplan-fallback {
  display: block;
  padding: 1rem 1.25rem;
  color: var(--pantera-accent);
  font-weight: 500;
  text-decoration: none;
}

.pantera-property__floorplan-fallback:hover {
  text-decoration: underline;
  text-underline-offset: .15em;
}

/* Documents — surface card rows */
.pantera-property__doc-list {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: none;
}

.pantera-property__doc-list li + li { border-top: 0; }

.pantera-property__doc-list li {
  background: #fff;
  border-radius: var(--pantera-radius-md);
  box-shadow: var(--pantera-shadow-card);
  overflow: clip;
}

.pantera-property__doc-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .65rem;
  padding: .85rem 1rem;
  color: var(--pantera-brand);
  font-family: var(--wp--preset--font-family--nav);
  font-size: .875rem;
  font-weight: 500;
  text-decoration: none;
  transition: color .18s var(--pantera-ease);
}

.pantera-property__doc-link:hover { color: var(--pantera-accent); }

.pantera-property__doc-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--wp--preset--color--ink-muted);
  transition: color .18s var(--pantera-ease);
}

.pantera-property__doc-link:hover .pantera-property__doc-icon { color: var(--pantera-accent); }

.pantera-property__brochure-btn {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  width: 100%;
  max-width: 100%;
  min-height: 2.75rem;
  padding: .7rem 1.1rem;
  border: 1px solid var(--pantera-brand);
  border-radius: 0;
  background: var(--pantera-brand);
  color: #fff;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: .01em;
  text-align: center;
  text-decoration: none;
  transition:
    background .16s var(--pantera-ease),
    border-color .16s var(--pantera-ease),
    color .16s var(--pantera-ease);
}

.pantera-property__brochure-btn-icon {
  flex-shrink: 0;
  display: inline-flex;
  color: #fff;
  transition: color .16s var(--pantera-ease);
}

.pantera-property__brochure-btn:hover {
  border-color: var(--pantera-accent);
  background: var(--pantera-accent);
  color: #fff;
}

.pantera-property__brochure-btn:hover .pantera-property__brochure-btn-icon {
  color: #fff;
}

.pantera-property__utility-grid {
  display: flex;
  flex-direction: column;
  gap: clamp(1.5rem, 3vw, 2rem);
}

.pantera-property__utility-group {
  min-width: 0;
}

.pantera-property__utility-heading {
  margin: 0 0 1rem;
  padding-bottom: .65rem;
  border-bottom: 1px solid var(--pantera-line);
  font-family: var(--wp--preset--font-family--nav);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--pantera-accent);
}

.pantera-property__utility-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
  gap: 1.15rem 1.75rem;
  margin: 0;
}

.pantera-property__utility-item {
  min-width: 0;
}

.pantera-property__utility-list dt {
  margin: 0 0 .35rem;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-property__utility-list dd {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.3;
  color: var(--pantera-brand);
  text-wrap: pretty;
}

.pantera-property__utility-value {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--pantera-brand);
}

/* Gallery — contained stage + thumbnail strip */
.pantera-property .pantera-property-gallery {
  display: flex;
  flex-direction: column;
  gap: .65rem;
}

.pantera-property .pantera-property-gallery__stage {
  aspect-ratio: 16 / 10;
  border-radius: var(--pantera-radius-sm);
  overflow: hidden;
  background: #f5f4f2;
  border: 1px solid var(--pantera-line);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35);
}

.pantera-property-gallery {
  display: flex;
  flex-direction: column;
  gap: .65rem;
}

.pantera-property-gallery__stage {
  position: relative;
  aspect-ratio: 16 / 10;
  border-radius: var(--pantera-radius);
  overflow: hidden;
  background: #f5f4f2;
}

.pantera-property-gallery__scrim { display: none; }

.pantera-property-gallery__badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 3;
  padding: .38rem .65rem;
  border-radius: 3px;
  background: var(--pantera-brand);
  color: #fff;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .625rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pantera-property-gallery__slide {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  transition: opacity .4s var(--pantera-ease);
  pointer-events: none;
}

.pantera-property-gallery__slide.is-active {
  opacity: 1;
  pointer-events: auto;
  z-index: 1;
}

.pantera-property-gallery__slide img,
.pantera-property-gallery__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.pantera-property-gallery__zoom {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: none;
  cursor: zoom-in;
  font: inherit;
  color: inherit;
  text-align: inherit;
}

.pantera-property-gallery__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid var(--pantera-line);
  border-radius: 0;
  /* Stays filled — these float over photography. */
  background: #fff;
  color: var(--pantera-brand);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background .16s var(--pantera-ease), border-color .16s var(--pantera-ease), color .16s var(--pantera-ease);
}

.pantera-property-gallery__nav:hover {
  background: var(--pantera-brand);
  border-color: var(--pantera-brand);
  color: #fff;
}

.pantera-property-gallery__nav:focus-visible {
  outline: 2px solid var(--pantera-accent);
  outline-offset: 2px;
}

.pantera-property-gallery__nav--prev { left: 1rem; }
.pantera-property-gallery__nav--next { right: 1rem; }

.pantera-property-gallery__count {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  z-index: 2;
  padding: .35rem .55rem;
  border-radius: 0;
  border: 1px solid var(--pantera-line);
  background: #fff;
  color: var(--pantera-brand);
  font-family: var(--wp--preset--font-family--nav);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .04em;
  font-variant-numeric: lining-nums tabular-nums;
}

.pantera-property-gallery__thumbs {
  display: flex;
  gap: .5rem;
  overflow-x: auto;
  padding-bottom: .25rem;
  scrollbar-width: thin;
}

.pantera-property-gallery__thumb {
  position: relative;
  flex: 0 0 84px;
  width: 84px;
  height: 60px;
  padding: 0;
  border: 0;
  border-radius: var(--pantera-radius-sm);
  overflow: hidden;
  background: var(--pantera-surface);
  cursor: pointer;
  opacity: .5;
  transition: opacity .18s var(--pantera-ease);
}

.pantera-property-gallery__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--pantera-radius-sm);
  border: 2px solid var(--pantera-brand);
  opacity: 0;
  transition: opacity .18s var(--pantera-ease);
}

.pantera-property-gallery__thumb:hover { opacity: .85; }
.pantera-property-gallery__thumb.is-active { opacity: 1; }
.pantera-property-gallery__thumb.is-active::after { opacity: 1; }

.pantera-property-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Property photo lightbox */
body.pantera-lightbox-open {
  overflow: hidden;
}

.pantera-lightbox {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: grid;
  place-items: center;
  padding: clamp(2.5rem, 5vw, 3.5rem) clamp(3rem, 8vw, 5rem);
  opacity: 0;
  visibility: hidden;
  transition: opacity .18s var(--pantera-ease), visibility .18s var(--pantera-ease);
}

.pantera-lightbox.is-open {
  opacity: 1;
  visibility: visible;
}

.pantera-lightbox__backdrop {
  position: absolute;
  inset: 0;
  padding: 0;
  border: 0;
  background: rgba(0, 0, 0, .92);
  cursor: pointer;
}

.pantera-lightbox__img {
  position: relative;
  z-index: 1;
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 5rem);
  width: auto;
  height: auto;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
}

.pantera-lightbox__close,
.pantera-lightbox__nav {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .5rem;
  border: 0;
  background: none;
  color: rgba(255, 255, 255, .72);
  cursor: pointer;
  transition: color .15s var(--pantera-ease), opacity .15s var(--pantera-ease);
}

.pantera-lightbox__close:hover,
.pantera-lightbox__nav:hover,
.pantera-lightbox__close:focus-visible,
.pantera-lightbox__nav:focus-visible {
  color: #fff;
}

.pantera-lightbox__close {
  top: 1rem;
  right: 1rem;
}

.pantera-lightbox__nav {
  top: 50%;
  transform: translateY(-50%);
}

.pantera-lightbox__nav--prev { left: .75rem; }
.pantera-lightbox__nav--next { right: .75rem; }

.pantera-lightbox__count {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 1.25rem;
  transform: translateX(-50%);
  margin: 0;
  color: rgba(255, 255, 255, .55);
  font-family: var(--wp--preset--font-family--nav);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .08em;
  font-variant-numeric: lining-nums tabular-nums;
  pointer-events: none;
}

@media (max-width: 768px) {
  .pantera-lightbox {
    padding: 3rem 2.75rem 3.5rem;
  }

  .pantera-lightbox__nav--prev { left: .25rem; }
  .pantera-lightbox__nav--next { right: .25rem; }
  .pantera-lightbox__close {
    top: .75rem;
    right: .75rem;
  }
}

/* Sticky sidebar */
.pantera-property__aside {
  position: relative;
  align-self: stretch;
}

.pantera-property__card {
  --pantera-card-inset: 1.35rem;
  box-sizing: border-box;
  position: sticky;
  top: calc(var(--pantera-header-total) + 1.25rem);
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 100%;
  padding: var(--pantera-card-inset);
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius);
  background: #fff;
  box-shadow: none;
  overflow: hidden;
}

/* Card sections — gap rhythm, no hairline dividers */
.pantera-property__card > * + * {
  margin-top: 1.25rem;
  padding-top: 0;
  border-top: 0;
}

.pantera-property__card::before,
.pantera-property__card-accent {
  content: none;
  display: none;
}

.pantera-property__card-head {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0 0 1rem;
}

.pantera-property__price {
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(1.4rem, 2.4vw, 1.6rem);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0;
  color: var(--pantera-brand);
  font-variant-numeric: lining-nums;
}

.pantera-property__card-address {
  margin: -.35rem 0 0;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.5;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-property__chips {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pantera-property__chips li {
  display: flex;
  align-items: baseline;
  gap: .35rem;
  padding: 0 .9rem;
  border-left: 1px solid var(--pantera-line);
}

.pantera-property__chips li:first-child { padding-left: 0; border-left: 0; }

.pantera-property__chip-value {
  font-size: var(--pantera-text-body);
  font-weight: 600;
  color: var(--pantera-brand);
}

.pantera-property__chip-label {
  font-family: var(--wp--preset--font-family--nav);
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-property__enquiry {
  padding-inline: 0;
  padding-bottom: 0;
  min-width: 0;
}

.pantera-property__enquiry .pantera-property__brochure-btn + .pantera-property__masthead-link {
  margin-top: .75rem;
}

.pantera-property__enquiry .pantera-property__masthead-link {
  margin-bottom: 1rem;
}

.pantera-property__enquiry .pantera-property__brochure-btn {
  margin: 0 0 1.15rem;
}

.pantera-property__enquiry-title {
  margin: 0 0 .85rem;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: -.01em;
  color: var(--pantera-brand);
}

.pantera-property__enquiry .property-enquiry-form {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.pantera-property__enquiry .property-enquiry-form .control {
  margin-bottom: .75rem;
  min-width: 0;
  max-width: 100%;
}

.pantera-property__enquiry .property-enquiry-form label {
  display: block;
  margin-bottom: .3rem;
  font-size: .8125rem;
  font-weight: 500;
  color: var(--pantera-brand);
}

.pantera-property__enquiry .property-enquiry-form input[type="text"],
.pantera-property__enquiry .property-enquiry-form input[type="email"],
.pantera-property__enquiry .property-enquiry-form input[type="tel"],
.pantera-property__enquiry .property-enquiry-form textarea,
.pantera-property__enquiry .property-enquiry-form select {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: .65rem .8rem;
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius-sm);
  background: #fff;
  font: inherit;
  color: var(--pantera-brand);
  transition: border-color .16s var(--pantera-ease);
}

.pantera-property__enquiry .property-enquiry-form input:focus,
.pantera-property__enquiry .property-enquiry-form input:focus-visible,
.pantera-property__enquiry .property-enquiry-form textarea:focus,
.pantera-property__enquiry .property-enquiry-form textarea:focus-visible,
.pantera-property__enquiry .property-enquiry-form select:focus,
.pantera-property__enquiry .property-enquiry-form select:focus-visible {
  outline: none;
  border-color: var(--pantera-brand);
  box-shadow: none;
}

.pantera-property__enquiry .property-enquiry-form textarea {
  min-height: 96px;
  resize: vertical;
}

.pantera-property__enquiry .property-enquiry-form input[type="submit"] {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin-top: .25rem;
  padding: .75rem 1rem;
  border: 1px solid var(--pantera-brand);
  border-radius: 0;
  background: var(--pantera-brand);
  color: #fff;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: .02em;
  cursor: pointer;
  transition: background .16s var(--pantera-ease), border-color .16s var(--pantera-ease);
}

.pantera-property__enquiry .property-enquiry-form input[type="submit"]:hover {
  background: var(--pantera-accent);
  border-color: var(--pantera-accent);
}

.pantera-property__enquiry .property-enquiry-form input[type="submit"]:active {
  transform: translateY(1px);
}

/* Assigned team member — Savills-style cards in property sidebar */
.pantera-property__agents-title {
  margin: 0 0 .75rem;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: -.01em;
  color: var(--pantera-brand);
}

.pantera-property__agents {
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0;
}

.pantera-property__card .pantera-property__agents {
  margin-bottom: 0;
  padding: 0;
}

.pantera-property__card .pantera-property__agents .pantera-svc__team-card:first-child {
  padding-top: 0;
}

.pantera-property__card .pantera-property__agents-block + .pantera-property__enquiry,
.pantera-property__card .pantera-property__agents + .pantera-property__enquiry,
.pantera-property__card .pantera-property__card-head + .pantera-property__agents,
.pantera-property__card .pantera-property__card-head + .pantera-property__agents-block,
.pantera-property__card .pantera-property__card-facts + .pantera-property__agents,
.pantera-property__card .pantera-property__card-facts + .pantera-property__contact,
.pantera-property__card .pantera-property__agents + .pantera-property__contact,
.pantera-property__card .pantera-property__agents-block + .pantera-property__contact {
  margin-top: 0;
  padding-top: 1.25rem;
  border-top: 1px solid var(--pantera-line);
}

.pantera-property__enquiry .alert-box {
  margin-bottom: .75rem;
  padding: .65rem .75rem;
  border-radius: var(--pantera-radius-sm);
  font-size: .88rem;
}

.pantera-property__enquiry .alert-success {
  background: #edf8f0;
  color: #1f6b3a;
}

.pantera-property__enquiry .alert-danger {
  background: #fdf0f0;
  color: #8b2e2e;
}

.pantera-property__contact {
  margin: 0;
  padding-inline: 0;
  padding-bottom: 0;
  font-size: .92rem;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-property__contact-title {
  margin: 0 0 .45rem;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-property__contact-name {
  margin: 0 0 .2rem;
  font-weight: 700;
  color: var(--pantera-brand);
}

.pantera-property__contact-office { margin: 0 0 .35rem; }

.pantera-property__contact a {
  color: var(--pantera-accent);
  text-decoration: none;
}

.pantera-property__contact a:hover { text-decoration: underline; }

/* Similar properties — flick-through strip, three plates at a time */
.pantera-property__similar {
  margin-top: clamp(2.5rem, 5vw, 4rem);
  padding-top: clamp(2rem, 4vw, 3rem);
  border-top: 1px solid var(--pantera-line);
}

.pantera-property__similar-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: clamp(1.35rem, 2.5vw, 1.85rem);
}

.pantera-property__similar-intro {
  display: flex;
  flex-direction: column;
  gap: .35rem;
}

.pantera-property__similar-title {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(1.45rem, 2.6vw, 1.9rem);
  font-weight: 500;
  letter-spacing: -.01em;
  color: var(--pantera-brand);
}

.pantera-property__similar-nav {
  display: flex;
  align-items: center;
  gap: .4rem;
}

.pantera-carousel-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0;
  border: 1px solid var(--pantera-line);
  border-radius: 0;
  background: transparent;
  color: var(--pantera-brand);
  font-size: 0;
  line-height: 0;
  text-decoration: none;
  cursor: pointer;
  transition: background .16s var(--pantera-ease), color .16s var(--pantera-ease), border-color .16s var(--pantera-ease);
}

.pantera-carousel-arrow svg {
  display: block;
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
}

.pantera-carousel-arrow:hover {
  background: var(--pantera-brand);
  border-color: var(--pantera-brand);
  color: #fff;
  text-decoration: none;
}

.pantera-carousel-arrow:focus-visible {
  outline: 2px solid var(--pantera-accent);
  outline-offset: 2px;
}

.pantera-carousel-arrow:disabled {
  opacity: .28;
  cursor: default;
  pointer-events: none;
}

.pantera-similar-carousel {
  /* positioned so card.offsetLeft is measured from the carousel edge */
  container-type: inline-size;
  width: 100%;
  position: relative;
  overflow: hidden;
  --listings-gap: clamp(1.25rem, 2vw, 1.75rem);
  --listings-card: calc((100cqw - (var(--listings-per-view, 4) - 1) * var(--listings-gap)) / var(--listings-per-view, 4));
}

ul.pantera-similar-carousel__track,
ul.pantera-listings.pantera-similar-carousel__track,
ul.pantera-insights.pantera-similar-carousel__track {
  display: flex !important;
  flex-wrap: nowrap !important;
  grid-template-columns: unset !important;
  gap: var(--listings-gap);
  transition: transform .55s var(--pantera-ease);
}

.pantera-similar-carousel__track .pantera-listings__item,
.pantera-similar-carousel__track .pantera-insights__item {
  flex: 0 0 var(--listings-card) !important;
  width: var(--listings-card) !important;
  max-width: var(--listings-card);
  min-width: 0;
}

.pantera-similar-carousel__track .pantera-listings__item {
  min-width: 0;
}

.pantera-featured-carousel .pantera-similar-carousel__track .pantera-listings__item {
  flex: 0 0 var(--listings-card) !important;
  width: var(--listings-card) !important;
  max-width: var(--listings-card);
}

.pantera-insights-carousel .pantera-similar-carousel__track .pantera-insights__item {
  flex: 0 0 var(--listings-card) !important;
  width: var(--listings-card) !important;
  max-width: var(--listings-card);
}

.pantera-insights-carousel .pantera-similar-carousel__track {
  gap: clamp(1.25rem, 2.5vw, 2rem);
}

.pantera-band__head--properties {
  align-items: center;
}

.pantera-band__head-actions {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin: 0;
}

@media (max-width: 1000px) {
  .pantera-similar-carousel {
    --listings-per-view: 2;
  }
}

@media (max-width: 560px) {
  .pantera-similar-carousel {
    --listings-per-view: 1;
  }

  .pantera-similar-carousel__track .pantera-listings__item,
  .pantera-featured-carousel .pantera-similar-carousel__track .pantera-listings__item,
  .pantera-insights-carousel .pantera-similar-carousel__track .pantera-insights__item {
    flex: 0 0 var(--listings-card) !important;
    width: var(--listings-card) !important;
    max-width: var(--listings-card);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pantera-similar-carousel__track { transition: none; }
}

@media (max-width: 980px) {
  .pantera-property__intro {
    grid-template-columns: 1fr;
    gap: 0;
    padding-bottom: clamp(1.75rem, 4vw, 2.25rem);
  }

  .pantera-property__masthead {
    padding: clamp(1.25rem, 3vw, 1.65rem) 0 0;
    min-height: 0;
  }

  .pantera-property__title {
    font-size: clamp(1.65rem, 3.2vw, 2.25rem);
  }

  .pantera-property__summary {
    margin-top: 0;
  }

  /* Tablet + phone: stack particulars above the enquiry card so neither
     column is squeezed on iPad portrait / large phones. */
  .pantera-property__layout {
    grid-template-columns: 1fr;
    padding-top: clamp(1.75rem, 3vw, 2.25rem);
    gap: clamp(1.75rem, 3.5vw, 2.5rem);
  }

  .pantera-property__aside {
    width: 100%;
    max-width: none;
  }

  .pantera-property__card {
    position: static;
    max-width: none;
  }

  .pantera-property__map-frame {
    aspect-ratio: 16 / 10;
    min-height: 14rem;
  }

  .pantera-property__feature-list {
    grid-template-columns: 1fr;
  }

  .pantera-property__utility-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.25rem;
  }

  .pantera-property-gallery__nav {
    width: 2.75rem;
    height: 2.75rem;
  }

  .pantera-property-gallery__thumbs {
    gap: .55rem;
    padding-bottom: .35rem;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }

  .pantera-property-gallery__thumb {
    flex: 0 0 4.75rem;
    width: 4.75rem;
    height: 3.5rem;
    scroll-snap-align: start;
  }

  .pantera-property__enquiry .property-enquiry-form input[type="submit"] {
    width: 100%;
  }

  .pantera-property__brochure-btn {
    width: 100%;
    justify-content: center;
  }

  .pantera-auction__partner-agent-phone,
  .pantera-auction__partner-agent-email {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}

@media (max-width: 700px) {
  .pantera-property__figures {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem 1.5rem;
  }

  .pantera-property__figures li {
    padding: 0;
    border-left: 0;
  }

  .pantera-property__spec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.15rem 1.25rem;
  }

  .pantera-property__card {
    --pantera-card-inset: 1.15rem;
  }

  .pantera-property__card .pantera-svc__team-photo {
    width: 5.25rem;
  }

  .pantera-property__card .pantera-svc__team-card {
    gap: .75rem;
  }

  .pantera-property__floorplan-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .pantera-property .pantera-property-gallery__stage,
  .pantera-property-gallery__stage {
    aspect-ratio: 4 / 3;
    border-radius: var(--pantera-radius-sm);
  }

  .pantera-property-gallery__nav--prev { left: .65rem; }
  .pantera-property-gallery__nav--next { right: .65rem; }

  .pantera-property-gallery__thumb {
    flex: 0 0 4.5rem;
    width: 4.5rem;
    height: 3.35rem;
  }

  .pantera-property__shell {
    padding-top: 1.25rem;
    padding-bottom: clamp(2.5rem, 8vw, 3.5rem);
  }

  .pantera-property__back {
    min-height: 2.75rem;
    align-items: center;
  }

  .pantera-property__masthead-link {
    display: inline-flex;
    min-height: 2.5rem;
    align-items: center;
  }

  .pantera-property__map-frame {
    aspect-ratio: 1 / 1;
    min-height: 16rem;
  }

  .pantera-property__spec-grid {
    grid-template-columns: 1fr;
  }

  .pantera-property__utility-list {
    grid-template-columns: 1fr;
    gap: .95rem;
  }

  .pantera-lightbox {
    padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
  }

  .pantera-property__enquiry .property-enquiry-form input[type="text"],
  .pantera-property__enquiry .property-enquiry-form input[type="email"],
  .pantera-property__enquiry .property-enquiry-form input[type="tel"],
  .pantera-property__enquiry .property-enquiry-form textarea,
  .pantera-property__enquiry .property-enquiry-form select {
    font-size: 16px; /* prevent iOS zoom on focus */
  }
}

/* Content rhythm */
.wp-block-post-content > p:first-child {
  font-size: clamp(1.1rem, 2vw, 1.3rem);
  line-height: 1.55;
  color: var(--wp--preset--color--ink-muted);
  margin-bottom: var(--wp--preset--spacing--40);
}
.wp-block-post-content > h2 { margin-top: var(--wp--preset--spacing--50); }
.wp-block-post-content > h3 { margin-top: var(--wp--preset--spacing--40); }
.wp-block-post-content > h2:first-child,
.wp-block-post-content > h3:first-child { margin-top: 0; }
.wp-block-post-content a { text-underline-offset: .18em; color: var(--pantera-accent); }
.wp-block-post-content > p,
.wp-block-post-content > ul,
.wp-block-post-content > ol { max-width: 68ch; }

/* ---- Service pages ----------------------------------------------------- */

/* Services index page — intro */
.pantera-band--svc-hero {
  padding-bottom: clamp(1.25rem, 2.5vw, 2rem);
}

.pantera-svc-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1rem, 2vw, 1.35rem);
  align-items: center;
}

.pantera-svc-hero:has(.pantera-svc-hero__row) {
  gap: clamp(1rem, 2vw, 1.25rem);
}

.pantera-svc-hero__row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(1.5rem, 5vw, 4rem);
}

.pantera-svc-hero__row .pantera-svc-hero__lead {
  max-width: 48ch;
}

.pantera-svc-hero__title {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(2rem, 4.2vw, 3.25rem);
  font-weight: 500;
  line-height: 1.06;
  letter-spacing: -0.03em;
  color: var(--pantera-brand);
  max-width: 18ch;
  text-wrap: balance;
}

.pantera-band--svc-hero .pantera-svc-hero__lead {
  font-size: clamp(1rem, 1.6vw, 1.125rem);
}

.pantera-svc-hero__lead {
  margin: 0;
  max-width: 52ch;
  padding-bottom: .3rem;
  font-size: clamp(1.0625rem, 1.8vw, 1.1875rem);
  line-height: 1.7;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

.pantera-svc-hero--people {
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 46%);
  gap: clamp(1.35rem, 3.5vw, 2.75rem);
  align-items: center;
}

.pantera-svc-hero--people .pantera-svc-hero__main {
  min-width: 0;
}

.pantera-svc-hero--people .pantera-svc-hero__title {
  max-width: 16ch;
  margin-top: .35rem;
}

.pantera-svc-hero--people .pantera-svc-hero__lead {
  margin-top: clamp(.85rem, 1.5vw, 1.15rem);
  max-width: 48ch;
  padding-bottom: 0;
}

.pantera-svc-hero--people .pantera-svc-hero__art {
  position: relative;
  margin: 0;
  justify-self: end;
  width: 100%;
  max-width: clamp(17rem, 42vw, 35rem);
  line-height: 0;
  overflow: visible;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

.pantera-svc-hero--people .pantera-svc-hero__img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  object-fit: contain;
  object-position: center center;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
  pointer-events: none;
}

.pantera-svc-hero--contact {
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 48%);
  gap: clamp(1.35rem, 3.5vw, 2.75rem);
  align-items: center;
}

.pantera-svc-hero--contact .pantera-svc-hero__main {
  min-width: 0;
}

.pantera-svc-hero--contact .pantera-svc-hero__art,
.pantera-svc-hero--contact .pantera-svc-hero__img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  object-fit: contain;
  object-position: center center;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
  pointer-events: none;
}

.pantera-svc-hero--contact .pantera-svc-hero__art {
  position: relative;
  justify-self: end;
  max-width: clamp(18rem, 44vw, 38rem);
  line-height: 0;
  overflow: visible;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

/* Hairline-divided editorial index: name left, description right, arrow */
.pantera-svc-index {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 0;
  counter-reset: svc-index;
  display: flex;
  flex-direction: column;
  gap: clamp(0.75rem, 1.5vw, 1rem);
}

.pantera-svc-index a {
  display: grid;
  grid-template-columns: auto minmax(0, .75fr) minmax(0, 1.25fr) auto;
  align-items: center;
  column-gap: clamp(1rem, 3vw, 2rem);
  padding: clamp(1.25rem, 2.5vw, 1.75rem) 0;
  border: 0;
  border-bottom: 1px solid var(--pantera-line);
  background: transparent;
  color: inherit;
  text-decoration: none;
  transition: opacity .2s var(--pantera-ease);
}

.pantera-svc-index a::before {
  counter-increment: svc-index;
  content: counter(svc-index, decimal-leading-zero);
  font-family: var(--wp--preset--font-family--display);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--pantera-accent);
  font-variant-numeric: tabular-nums;
}

.pantera-svc-index a:hover,
.pantera-svc-index a:focus-visible {
  opacity: .72;
}

.pantera-svc-index strong {
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(1.375rem, 2.6vw, 1.875rem);
  font-weight: 400;
  letter-spacing: -.01em;
  line-height: 1.1;
  color: var(--pantera-brand);
  transition: color .18s var(--pantera-ease);
}

.pantera-svc-index__desc {
  font-size: var(--pantera-text-body-sm);
  line-height: 1.55;
  color: var(--wp--preset--color--ink-muted);
  max-width: 52ch;
}

.pantera-svc-index__arrow {
  font-size: 1.05rem;
  color: var(--pantera-accent);
  opacity: 0;
  transform: translateX(-6px);
  transition: transform .2s var(--pantera-ease), opacity .2s var(--pantera-ease);
}

.pantera-svc-index a:hover strong,
.pantera-svc-index a:focus-visible strong { color: var(--pantera-accent); }

.pantera-svc-index a:hover .pantera-svc-index__arrow,
.pantera-svc-index a:focus-visible .pantera-svc-index__arrow {
  opacity: 1;
  transform: none;
}

/* Compact two-column variant at the foot of each service page */
.pantera-svc-index--related {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(2rem, 5vw, 4.5rem);
}

.pantera-svc-index--related a {
  grid-template-columns: minmax(0, 1fr) auto;
  padding-block: 1.15rem;
}

.pantera-svc-index--related strong { font-size: 1.25rem; }
.pantera-svc-index--related .pantera-svc-index__desc { display: none; }

/* "How an instruction runs" — a real sequence, numbered like the values index */
.pantera-steps {
  counter-reset: step;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: clamp(1.5rem, 3.5vw, 3rem);
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--pantera-line);
}

.pantera-steps li {
  position: relative;
  padding: 1.75rem clamp(0rem, 1.5vw, 1rem) .5rem 0;
}

.pantera-steps li + li {
  padding-left: clamp(0rem, 1.5vw, 1.25rem);
  border-left: 1px solid var(--pantera-line);
}

.pantera-steps li::before {
  counter-increment: step;
  content: counter(step, decimal-leading-zero);
  display: block;
  margin-bottom: 2rem;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .12em;
  color: var(--pantera-accent);
}

.pantera-steps strong {
  display: block;
  margin-bottom: .6rem;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(1.25rem, 1.9vw, 1.5rem);
  font-weight: 400;
  letter-spacing: -.01em;
  line-height: 1.12;
  color: var(--pantera-brand);
}

.pantera-steps__desc {
  display: block;
  max-width: 30ch;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.65;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

/* Services page — vertical process ledger */
.pantera-band--services-process {
  padding-top: clamp(3.5rem, 7vw, 5.5rem);
  padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
  border-top: 1px solid var(--pantera-line);
}

.pantera-process-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--pantera-line);
}

.pantera-process-list li {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  gap: 1rem clamp(1.25rem, 3vw, 2.5rem);
  align-items: center;
  padding: clamp(1.35rem, 2.5vw, 1.75rem) 0;
  border-bottom: 1px solid var(--pantera-line);
}

.pantera-process-list__num {
  font-family: var(--wp--preset--font-family--nav);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .12em;
  color: var(--pantera-accent);
  padding-top: .2rem;
}

.pantera-process-list__body strong {
  display: block;
  margin-bottom: .45rem;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 500;
  letter-spacing: -.01em;
  line-height: 1.12;
  color: var(--pantera-brand);
}

.pantera-process-list__desc {
  margin: 0;
  max-width: 62ch;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.65;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

@media (max-width: 560px) {
  .pantera-process-list li {
    grid-template-columns: 2.75rem minmax(0, 1fr);
  }
}

/* Single service page */
.pantera-svc-detail-wrap {
  padding-top: clamp(1.5rem, 3vw, 2.25rem);
  padding-bottom: clamp(2rem, 4vw, 3rem);
}

.pantera-svc-detail-hero {
  display: block;
  margin-bottom: clamp(2rem, 4vw, 3rem);
  padding: 0 0 clamp(1.75rem, 3.5vw, 2.5rem);
  border-bottom: 1px solid var(--pantera-line);
  background: transparent;
}

.pantera-svc-detail-hero .pantera-kicker {
  margin: 0 0 .85rem;
}

.pantera-svc-detail-hero .pantera-kicker a {
  color: inherit;
  text-decoration: none;
}

.pantera-svc-detail-hero .pantera-kicker a:hover {
  color: var(--pantera-accent);
}

.pantera-svc-detail-hero__title {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -0.03em;
  color: var(--pantera-brand);
  max-width: 14ch;
  text-wrap: balance;
}

.pantera-svc-detail-hero__lead {
  margin: 1rem 0 0;
  max-width: 46ch;
  font-size: clamp(1.0625rem, 1.8vw, 1.1875rem);
  line-height: 1.68;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

/* Intro split — copy + large service image (DTRE register) */
.pantera-svc-intro-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(1.75rem, 4vw, 3.25rem);
  align-items: center;
  margin: 0 0 clamp(2.5rem, 5vw, 3.75rem);
}

.pantera-svc-intro-split__copy {
  min-width: 0;
}

.pantera-svc-intro-split .pantera-svc-detail-intro {
  margin: 0;
  max-width: 38ch;
  font-size: clamp(1.05rem, 1.7vw, 1.1875rem);
  font-weight: 400;
  line-height: 1.7;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

.pantera-svc-intro-split__media {
  margin: 0;
  aspect-ratio: 4 / 3;
  width: 100%;
  border-radius: var(--pantera-radius);
  overflow: clip;
  background: var(--pantera-surface);
}

.pantera-svc-intro-split__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
}

.pantera-svc-intro-split__media--valuation .pantera-svc-intro-split__img {
  object-position: center 50%;
}

.pantera-svc-intro-split__media--receivership .pantera-svc-intro-split__img {
  object-position: center 42%;
}

/* Legacy hero art (unused) */
.pantera-svc-detail-hero__art,
.pantera-svc-detail-hero__img {
  display: none;
}

.pantera-svc-hero-stats {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem clamp(1rem, 2.5vw, 1.75rem);
  list-style: none;
  margin: clamp(1.35rem, 2.5vw, 1.75rem) 0 0;
  padding: clamp(1rem, 2vw, 1.25rem) 0 0;
  border-top: 1px solid var(--pantera-line);
}

.pantera-svc-hero-stats li {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .35rem;
  padding: 0;
  margin: 0;
  border: 0;
}

.pantera-svc-hero-stats strong {
  font-family: var(--wp--preset--font-family--display);
  font-size: var(--pantera-text-body);
  font-weight: 500;
  letter-spacing: -.01em;
  color: var(--pantera-brand);
  line-height: 1.2;
}

.pantera-svc-hero-stats span {
  font-size: .875rem;
  line-height: 1.4;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-svc-band {
  margin-bottom: 0;
}

/* Last band in the main column — flush to the layout edge */
.pantera-svc__main > :last-child.pantera-svc-band {
  padding-bottom: 0;
  margin-bottom: 0;
}

.pantera-svc-band--intro {
  display: none;
}

.pantera-svc-band--tint {
  margin-inline: 0;
  margin-bottom: clamp(2rem, 4vw, 3rem);
  padding: clamp(2rem, 4vw, 2.75rem) clamp(1.25rem, 2.5vw, 1.75rem);
  background: var(--pantera-surface);
  border-radius: var(--pantera-radius);
  border-top: 0;
}

.pantera-svc-band--section {
  padding: clamp(2.25rem, 4.5vw, 3.25rem) 0;
  border-top: 1px solid var(--pantera-line);
}

.pantera-svc-band--section + .pantera-svc-band--section {
  margin-top: 0;
}

.pantera-svc-band--experts {
  box-sizing: border-box;
  width: auto;
  max-width: none;
  margin-top: clamp(2rem, 4vw, 3rem);
  margin-inline: calc(-1 * var(--pantera-gutter));
  padding: clamp(2.5rem, 5vw, 3.5rem) var(--pantera-gutter);
  background: var(--pantera-surface);
  border-top: 1px solid var(--pantera-line);
}

.pantera-svc-band--experts .pantera-svc__experts-group {
  max-width: var(--pantera-content-max);
  margin-inline: auto;
}

.pantera-svc__experts-group + .pantera-svc__experts-group {
  margin-top: clamp(2rem, 4vw, 2.75rem);
}

.pantera-svc__experts-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 2.5vw, 1.75rem);
  list-style: none;
  margin: clamp(1.5rem, 3vw, 2rem) 0 0;
  padding: 0;
}

.pantera-svc__experts-grid .pantera-svc__team-card {
  align-items: flex-start;
  gap: 1.15rem;
  padding: 0;
  border: 0;
  background: transparent;
}

.pantera-svc__experts-grid .pantera-svc__team-card + .pantera-svc__team-card {
  border-top: 0;
}

.pantera-svc__experts-grid .pantera-svc__team-photo {
  width: 5.5rem;
}

.pantera-svc__experts-grid .pantera-svc__team-img,
.pantera-svc__experts-grid .pantera-svc__team-photo .pantera-ph {
  border-radius: var(--pantera-radius);
}

.pantera-svc__experts-grid .pantera-svc__team-name {
  font-size: clamp(1.2rem, 1.8vw, 1.45rem);
}

.pantera-svc__experts-grid .pantera-svc__team-role {
  font-size: .9375rem;
}

.pantera-svc__experts-grid .pantera-svc__team-cta {
  text-transform: none;
  letter-spacing: 0;
  font-weight: 500;
  font-size: .875rem;
}

.pantera-svc-band--paper {
  margin-inline: 0;
  margin-bottom: clamp(2rem, 4vw, 2.75rem);
  padding: clamp(2rem, 3.5vw, 2.75rem) clamp(1.25rem, 2.5vw, 1.75rem);
  background: var(--wp--preset--color--paper);
  border-radius: var(--pantera-radius);
}

.pantera-svc-band--paper + .pantera-svc-band--paper {
  margin-top: calc(-1 * clamp(1rem, 2vw, 1.5rem));
  padding-top: clamp(1.5rem, 2.5vw, 2rem);
}

.pantera-svc-band--cases + .pantera-svc-band--paper,
.pantera-svc-band--usps + .pantera-svc-band--paper,
.pantera-svc-band--intro + .pantera-svc-band--paper {
  margin-top: clamp(1.5rem, 3vw, 2.25rem);
}

.pantera-svc-band--accent {
  margin-inline: 0;
  margin-bottom: clamp(2rem, 4vw, 3rem);
  padding: clamp(1.75rem, 3.5vw, 2.5rem) clamp(1.35rem, 2.5vw, 2rem);
  background: var(--wp--preset--color--navy);
  border-radius: var(--pantera-radius);
}

.pantera-svc-band--accent .pantera-svc-detail-intro {
  margin: 0;
  max-width: none;
  font-size: clamp(1.0625rem, 1.9vw, 1.25rem);
  line-height: 1.62;
  color: color-mix(in srgb, var(--wp--preset--color--base) 92%, transparent);
}

.pantera-svc-detail-intro {
  margin: 0;
  max-width: none;
  font-size: clamp(1.125rem, 1.8vw, 1.25rem);
  line-height: 1.65;
  color: var(--pantera-brand);
  text-wrap: pretty;
}

.pantera-svc-section__title {
  margin: 0 0 clamp(.85rem, 1.5vw, 1.15rem);
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(1.5rem, 2.6vw, 1.875rem);
  font-weight: 500;
  letter-spacing: -.015em;
  line-height: 1.1;
  color: var(--pantera-brand);
  max-width: 28ch;
  text-wrap: balance;
}

.pantera-svc-band--section .pantera-svc-section {
  display: grid;
  gap: clamp(.85rem, 1.5vw, 1.15rem);
}

.pantera-svc-section__title--lg {
  max-width: 22ch;
  margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem);
}

.pantera-svc-section__body {
  max-width: none;
}

.pantera-svc-section__body p {
  margin: 0 0 .85rem;
  font-size: var(--pantera-text-body);
  line-height: 1.72;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

.pantera-svc-section__body p:last-child,
.pantera-svc-section__after:last-child {
  margin-bottom: 0;
}

.pantera-svc-section__after {
  margin-top: 1rem;
}

.pantera-svc-section__body .pantera-svc-usp-list--steps {
  margin-top: 1.25rem;
}

.pantera-svc-usp-list--steps .pantera-svc-usp-item__title:last-child {
  margin-bottom: 0;
}

.pantera-process-list--svc {
  margin-top: 1.25rem;
}

.pantera-svc-band--types {
  /* tint band may wrap this; keep internal rhythm clean */
  border-top: 0;
}

.pantera-svc-band--types:not(.pantera-svc-band--tint) {
  padding: clamp(2rem, 4vw, 2.75rem) 0;
  border-top: 1px solid var(--pantera-line);
}

.pantera-svc-band--types .pantera-kicker {
  margin-bottom: .5rem;
}

.pantera-svc-band--types .pantera-svc-section__title--lg {
  margin-bottom: clamp(1rem, 2vw, 1.35rem);
  max-width: 22ch;
}

.pantera-svc-types__intro {
  margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
  max-width: 54ch;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.68;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

.pantera-svc-type-list {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--pantera-line);
}

.pantera-svc-type-item {
  display: grid;
  grid-template-columns: .55rem minmax(0, 1fr);
  column-gap: 1rem;
  align-items: start;
  padding: clamp(1.15rem, 2vw, 1.45rem) 0;
  border-bottom: 1px solid var(--pantera-line);
}

.pantera-svc-type-item:last-child {
  border-bottom: 0;
}

.pantera-svc-type-item__bullet {
  display: block;
  width: .55rem;
  height: .55rem;
  margin-top: .45rem;
  background: var(--pantera-accent);
  flex-shrink: 0;
}

.pantera-svc-type-item__icon {
  display: none;
}

.pantera-svc-type-item__body {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  min-width: 0;
}

.pantera-svc-type-item__title {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.125rem, 1.9vw, 1.35rem);
  font-weight: 500;
  letter-spacing: -.015em;
  line-height: 1.2;
  color: var(--pantera-brand);
  text-wrap: balance;
}

.pantera-svc-type-item__desc {
  margin: 0;
  max-width: 58ch;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.65;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

.pantera-svc-band--feature {
  padding: clamp(2rem, 4vw, 2.75rem) 0;
  border-top: 1px solid var(--pantera-line);
}

.pantera-svc-band--feature .pantera-kicker {
  margin-bottom: clamp(.85rem, 1.5vw, 1.1rem);
}

.pantera-svc-feature {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  align-items: center;
}

.pantera-svc-feature__platform-inner {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: clamp(1rem, 2vw, 1.35rem);
  align-items: center;
}

.pantera-svc-feature__panels {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  padding: 0 0 clamp(1.5rem, 2.75vw, 2rem);
  background: transparent;
  border: 0;
  border-radius: 0;
}

.pantera-svc-feature__panels + .pantera-svc-feature__platform,
.pantera-svc-feature__platform + .pantera-svc-feature__panels {
  padding-top: clamp(1.75rem, 3vw, 2.35rem);
  margin-top: clamp(1.75rem, 3vw, 2.35rem);
  border-top: 1px solid var(--pantera-line);
}

.pantera-svc-feature__panels .pantera-kicker {
  display: block;
  width: 100%;
  margin-bottom: clamp(.85rem, 1.5vw, 1.1rem);
}

.pantera-svc-feature__brand {
  margin: 0;
}

.pantera-svc-feature__logo {
  display: block;
  width: auto;
  height: clamp(4.25rem, 7.5vw, 5.75rem);
  max-width: min(100%, 18rem);
}

.pantera-svc-feature__name {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(1.5rem, 2.8vw, 2rem);
  font-weight: 400;
  letter-spacing: -.02em;
  line-height: 1;
  color: var(--pantera-brand);
}

.pantera-svc-feature__desc {
  margin: 0;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.68;
  color: var(--wp--preset--color--ink-muted);
  max-width: none;
  text-wrap: pretty;
}

.pantera-svc-feature__note {
  margin: clamp(.85rem, 1.5vw, 1.1rem) 0 0;
  font-size: var(--pantera-text-body-xs);
  line-height: 1.55;
  color: var(--wp--preset--color--ink-muted);
  max-width: 52ch;
  text-wrap: pretty;
}

.pantera-svc-band--feature .pantera-logo-wall--panels {
  display: inline-grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 0;
  width: fit-content;
  max-width: 100%;
  margin: 0;
  padding: clamp(1.1rem, 2vw, 1.5rem) clamp(1.25rem, 2.25vw, 1.75rem);
  list-style: none;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--pantera-paper) 88%, #fff) 0%, var(--pantera-paper) 100%);
  border: 1px solid var(--pantera-line);
  box-shadow: inset 3px 0 0 var(--pantera-brand);
}

.pantera-svc-band--feature .pantera-logo-box {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  padding: clamp(.15rem, .4vw, .3rem) clamp(.85rem, 1.75vw, 1.25rem);
}

.pantera-svc-band--feature .pantera-logo-box:first-child {
  padding-left: 0;
  align-items: flex-start;
  border-right: 1px solid color-mix(in srgb, var(--pantera-line) 85%, transparent);
}

.pantera-svc-band--feature .pantera-logo-box:first-child .pantera-logo-box__ph {
  min-width: 0;
  justify-content: flex-start;
}

.pantera-svc-band--feature .pantera-logo-box:first-child .pantera-logo-box__img {
  object-position: left center;
}

.pantera-svc-band--feature .pantera-logo-box + .pantera-logo-box {
  padding-left: clamp(.85rem, 1.75vw, 1.25rem);
  border-left: 0;
}

.pantera-svc-band--feature .pantera-logo-box__ph {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: auto;
  min-width: 0;
  height: clamp(3.75rem, 6.25vw, 5rem);
  aspect-ratio: auto;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.pantera-svc-band--feature .pantera-logo-box__ph .pantera-logo-box__img {
  display: block;
  width: auto;
  max-width: clamp(8rem, 17vw, 13rem);
  max-height: clamp(3.75rem, 6.25vw, 5rem);
  height: auto;
  object-fit: contain;
  object-position: center center;
}

.pantera-svc-band--feature .pantera-logo-box__cap {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 640px) {
  .pantera-svc-feature__brand {
    margin-bottom: 0;
  }

  .pantera-svc-feature__desc {
    max-width: none;
  }

  .pantera-svc-band--feature .pantera-logo-wall--panels {
    display: inline-grid;
    grid-template-columns: 1fr;
    width: fit-content;
    max-width: 100%;
    padding: clamp(1rem, 3.5vw, 1.35rem) clamp(1rem, 3vw, 1.35rem);
    box-shadow: inset 2px 0 0 var(--pantera-brand);
  }

  .pantera-svc-band--feature .pantera-logo-box:first-child {
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--pantera-line) 85%, transparent);
    padding-bottom: clamp(1rem, 3vw, 1.35rem);
  }

  .pantera-svc-band--feature .pantera-logo-box + .pantera-logo-box {
    padding-top: clamp(.85rem, 2.5vw, 1.15rem);
  }
}

.pantera-svc-case.pantera-case {
  margin: 0;
}

.pantera-svc-contact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: end;
  padding: clamp(1.75rem, 3vw, 2.25rem) 0 0;
  border-top: 1px solid var(--pantera-line);
}

.pantera-svc-contact__title {
  margin: 0 0 .65rem;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(1.375rem, 2.4vw, 1.75rem);
  font-weight: 400;
  letter-spacing: -.01em;
  line-height: 1.12;
  color: var(--pantera-brand);
}

.pantera-svc-contact__text,
.pantera-svc-contact__note {
  margin: 0;
  max-width: 48ch;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.6;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

.pantera-svc-contact__note {
  margin-top: .65rem;
  font-size: .8125rem;
}

.pantera-svc-contact__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .65rem;
}

.pantera-svc-contact__phone {
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 400;
  letter-spacing: -.01em;
  color: var(--pantera-brand);
  text-decoration: none;
  font-variant-numeric: lining-nums;
}

.pantera-svc-contact__phone:hover {
  color: var(--pantera-accent);
  text-decoration: none;
}

.pantera-svc-contact__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .65rem 1.25rem;
  border: 1px solid var(--pantera-brand);
  border-radius: var(--pantera-radius-sm);
  font-family: var(--wp--preset--font-family--nav);
  font-size: .8125rem;
  font-weight: 500;
  letter-spacing: .04em;
  color: var(--pantera-brand);
  text-decoration: none;
  transition: background-color .2s var(--pantera-ease), color .2s var(--pantera-ease);
}

.pantera-svc-contact__btn:hover {
  background: var(--pantera-brand);
  color: #fff;
  text-decoration: none;
}

.pantera-svc-band--team .pantera-svc__team-group + .pantera-svc__team-group {
  margin-top: clamp(2rem, 4vw, 2.75rem);
  padding-top: clamp(2rem, 4vw, 2.75rem);
  border-top: 1px solid var(--pantera-line);
}

.pantera-svc__team-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  list-style: none;
  margin: 0;
  padding: 0;
}

.pantera-svc__team-grid .pantera-svc__team-card {
  flex-direction: column;
  align-items: stretch;
  gap: .75rem;
  padding: 0;
}

.pantera-svc__team-grid .pantera-svc__team-photo {
  width: 100%;
}

.pantera-svc__team-grid .pantera-svc__team-img {
  aspect-ratio: 4 / 5;
  border-radius: var(--pantera-radius);
}

.pantera-band--svc-related {
  padding-top: clamp(2.5rem, 5vw, 3.5rem);
  padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
  background: var(--wp--preset--color--base);
  border-top: 1px solid var(--pantera-line);
}

/* Match services index: open card grid, no cell borders. */
.pantera-svc-page .pantera-service-cards--related {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 0;
}

.pantera-svc-page .pantera-service-cards--related .pantera-service-cards__item {
  min-width: 0;
  border: 0;
}

.pantera-svc-page .pantera-service-cards--related .pantera-service-cards__item:not(:nth-child(3n + 1)) {
  border-left: 0;
}

.pantera-svc-page .pantera-svc-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: .85rem;
  height: 100%;
  padding: 0;
  color: inherit;
  text-decoration: none;
}

.pantera-svc__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
  gap: clamp(2rem, 5vw, 3.75rem);
  align-items: start;
}

.pantera-svc__main {
  min-width: 0;
}

.pantera-svc-detail-wrap .pantera-svc__aside {
  align-self: stretch;
  --svc-aside-gutter: clamp(1.25rem, 3vw, 2.5rem);
}

.pantera-svc__aside {
  position: static;
}

.pantera-svc__aside-card {
  border: 0;
  border-top: 1px solid var(--pantera-line);
  padding: clamp(1.15rem, 2vw, 1.35rem) 0 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

/* Sticky scroll: pin below site header as a quiet hairline rail. */
.pantera-svc-detail-wrap .pantera-svc__aside-card {
  position: sticky;
  top: calc(var(--pantera-header-h) + var(--svc-aside-gutter));
  overflow-x: clip;
  border: 0;
  border-top: 1px solid var(--pantera-line);
  padding: clamp(1.25rem, 2vw, 1.5rem) 0 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

.pantera-svc__aside-cta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .65rem;
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 0;
}

.pantera-svc-detail-wrap .pantera-svc__aside-cta {
  margin: 0;
  padding: 0;
  background: transparent;
  border-radius: 0;
  border-bottom: 0;
}

.pantera-svc-detail-wrap .pantera-svc__aside-cta-label {
  color: var(--wp--preset--color--ink-muted);
}

.pantera-svc-detail-wrap .pantera-svc__aside-cta-phone {
  margin-top: .15rem;
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--pantera-brand);
  text-decoration: none;
}

.pantera-svc-detail-wrap .pantera-svc__aside-cta-phone:hover {
  color: var(--pantera-accent-dark);
  text-decoration: underline;
  text-underline-offset: .15em;
}

.pantera-svc-detail-wrap .pantera-svc__aside-cta-note {
  max-width: 28ch;
}

.pantera-svc-detail-wrap .pantera-svc__aside-cta-btn {
  margin-top: .5rem;
  border: 1px solid var(--pantera-brand);
  color: #fff;
  background: var(--pantera-brand);
}

.pantera-svc-detail-wrap .pantera-svc__aside-cta-btn:hover {
  background: var(--pantera-navy-deep, #23253a);
  border-color: var(--pantera-navy-deep, #23253a);
  color: #fff;
}

.pantera-svc__aside-cta-label {
  margin: 0;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-svc__aside-cta-text {
  margin: 0;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.55;
  color: var(--pantera-brand);
  text-wrap: pretty;
}

.pantera-svc__aside-cta-note {
  margin: 0;
  font-size: .8125rem;
  line-height: 1.5;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

.pantera-svc__aside-cta-phone {
  margin-top: .25rem;
  font-family: var(--wp--preset--font-family--display);
  font-size: 1.0625rem;
  color: var(--pantera-brand);
  text-decoration: none;
}

.pantera-svc__aside-cta-phone:hover {
  color: var(--pantera-accent);
  text-decoration: none;
}

.pantera-svc__aside-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: .35rem;
  padding: .6rem 1.15rem;
  border: 1px solid var(--pantera-brand);
  border-radius: var(--pantera-radius-sm);
  font-family: var(--wp--preset--font-family--nav);
  font-size: .8125rem;
  font-weight: 500;
  letter-spacing: .04em;
  color: var(--pantera-brand);
  text-decoration: none;
  transition: background-color .2s var(--pantera-ease), color .2s var(--pantera-ease);
}

.pantera-svc__aside-cta-btn:hover {
  background: var(--pantera-brand);
  color: #fff;
  text-decoration: none;
}

.pantera-svc__panel + .pantera-svc__panel {
  margin-top: 1.25rem;
  padding-top: 0;
  border-top: 0;
}

.pantera-svc__panel-title {
  margin: 0 0 .85rem;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .875rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  color: var(--pantera-brand);
}

.pantera-svc__crumb {
  margin: 0 0 .75rem;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .72rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.pantera-svc__crumb a {
  color: var(--wp--preset--color--ink-muted);
  text-decoration: none;
}

.pantera-svc__crumb a:hover { color: var(--pantera-accent); text-decoration: none; }

.pantera-svc__crumb a::after {
  content: "";
}

.pantera-svc__crumb-sep {
  color: var(--wp--preset--color--ink-muted);
  font-weight: 400;
}

.pantera-svc__crumb .pantera-insight__head-cat {
  color: var(--pantera-accent);
  font-weight: 600;
  text-decoration: none;
}

.pantera-svc__crumb .pantera-insight__head-cat:hover {
  color: var(--pantera-brand);
  text-decoration: none;
}

@media (max-width: 980px) {
  .pantera-svc-detail-wrap {
    padding-top: clamp(1.15rem, 2.5vw, 1.75rem);
    padding-bottom: clamp(1.75rem, 3.5vw, 2.5rem);
  }

  .pantera-svc-detail-hero__title {
    font-size: clamp(2rem, 5.5vw, 2.85rem);
    max-width: none;
  }

  .pantera-svc-intro-split {
    gap: clamp(1.35rem, 3vw, 2rem);
  }

  .pantera-svc-band--section,
  .pantera-svc-band--feature {
    padding-block: clamp(1.5rem, 3.5vw, 2.25rem);
  }

  .pantera-svc__experts-grid {
    grid-template-columns: 1fr;
  }

  .pantera-svc-band--paper {
    padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.1rem, 2.5vw, 1.5rem);
  }

  .pantera-svc-feature {
    grid-template-columns: 1fr;
  }

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

  .pantera-svc-page .pantera-service-cards--related {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pantera-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pantera-steps li { padding-top: 1.4rem; }
  .pantera-steps li:nth-child(3) { border-left: 0; padding-left: 0; }
}

/* Stack article + aside by iPad portrait so the hero art isn’t crushed. */
@media (max-width: 900px) {
  .pantera-svc__layout {
    grid-template-columns: 1fr;
    gap: clamp(1.75rem, 4vw, 2.5rem);
  }

  .pantera-svc-detail-wrap .pantera-svc__aside,
  .pantera-svc__aside {
    position: static;
    order: 2;
  }

  .pantera-svc-detail-wrap .pantera-svc__aside-card {
    position: static;
    top: auto;
  }

  .pantera-svc-detail-wrap .pantera-svc__aside-cta-btn,
  .pantera-svc__aside-cta-btn {
    width: auto;
    box-sizing: border-box;
  }
}

@media (max-width: 700px) {
  .pantera-svc-detail-hero {
    margin-bottom: 1.35rem;
    padding-bottom: 1.15rem;
  }

  .pantera-svc-detail-hero__title {
    font-size: clamp(1.95rem, 8vw, 2.45rem);
    line-height: 1.05;
  }

  .pantera-svc-intro-split {
    grid-template-columns: 1fr;
    gap: 1.25rem;
    margin-bottom: 2rem;
  }

  .pantera-svc-intro-split .pantera-svc-detail-intro {
    max-width: none;
    font-size: 1.05rem;
  }

  .pantera-svc-band--tint {
    margin-inline: 0;
    padding-inline: clamp(1rem, 3vw, 1.25rem);
  }

  .pantera-svc-band--experts {
    margin-inline: calc(-1 * var(--pantera-gutter));
    padding-inline: var(--pantera-gutter);
  }

  .pantera-svc__experts-grid {
    grid-template-columns: 1fr;
  }

  .pantera-svc-detail-wrap .pantera-svc__aside-card {
    display: block;
    padding: 1.15rem 0 0;
    border-top: 1px solid var(--pantera-line);
  }

  .pantera-svc-detail-wrap .pantera-svc__aside-cta {
    flex-direction: column;
    align-items: flex-start;
    gap: .55rem;
    width: 100%;
  }

  .pantera-svc-detail-wrap .pantera-svc__aside-cta-note {
    max-width: none;
  }

  .pantera-svc-detail-wrap .pantera-svc__aside-cta-btn {
    margin-top: .35rem;
    margin-left: 0;
  }
}

@media (max-width: 820px) {
  .pantera-svc-hero { grid-template-columns: 1fr; align-items: center; }
  .pantera-svc-hero--people .pantera-svc-hero__art {
    justify-self: start;
    max-width: min(100%, 26rem);
  }
  .pantera-svc-hero--contact .pantera-svc-hero__art {
    justify-self: start;
    max-width: min(100%, 28rem);
  }
  .pantera-svc-hero__row { grid-template-columns: 1fr; }
  .pantera-svc-hero__lead { padding-bottom: 0; }
  .pantera-svc-index a {
    grid-template-columns: minmax(0, 1fr) auto;
    row-gap: .35rem;
  }
  .pantera-svc-index__desc { grid-column: 1; grid-row: 2; }
  .pantera-svc-index__arrow { grid-column: 2; grid-row: 1 / span 2; }
  .pantera-svc-index--related { grid-template-columns: 1fr; }

  .pantera-svc-contact {
    grid-template-columns: 1fr;
    align-items: center;
  }
}

@media (max-width: 640px) {
  .pantera-svc-page .pantera-service-cards--related {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .pantera-svc__team-grid {
    grid-template-columns: 1fr;
  }

  .pantera-steps { grid-template-columns: 1fr; }
  .pantera-steps li { padding: 1.25rem 0 .25rem; }
  .pantera-steps li + li { border-left: 0; padding-left: 0; }
  .pantera-steps li::before { margin-bottom: .85rem; }
}

/* ---- Purple LOGO placeholder wall (logos supplied later) ------------- */
.pantera-logo-wall {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
}

.pantera-logo-wall--panels {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 22rem;
}

.pantera-logo-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .5rem;
}

.pantera-logo-box__ph {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: var(--pantera-paper);
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius-sm);
  color: var(--pantera-accent);
}

.pantera-logo-box__ph .pantera-ph__mark {
  width: clamp(26px, 28%, 44px);
  height: auto;
  opacity: .18;
}

.pantera-logo-box__ph .pantera-logo-box__img {
  display: block;
  width: auto;
  max-width: 72%;
  max-height: 72%;
  height: auto;
  object-fit: contain;
}

.pantera-logo-box__ph:has(.pantera-logo-box__img) {
  background: transparent;
}

.pantera-logo-box__cap {
  font-family: var(--wp--preset--font-family--nav);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--pantera-brand);
}

@media (max-width: 700px) {
  .pantera-logo-wall { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
  .pantera-logo-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---- Client-type list — typographic, hairline-ruled (home "who we work
   with"; replaces the empty logo wall until real logos are supplied) ------ */
ul.pantera-client-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(1.5rem, 3vw, 2.5rem);
  row-gap: 0;
  list-style: none !important;
  margin: clamp(1.5rem, 2.5vw, 2rem) 0 0;
  padding: 0;
  width: 100%;
}

ul.pantera-client-list > li {
  display: flex;
  align-items: baseline;
  gap: .85rem;
  box-sizing: border-box;
  list-style: none !important;
  margin: 0;
  padding: .8rem 0 .85rem;
  border-top: 1px solid var(--pantera-line);
}

.pantera-client-list__index {
  flex: none;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .08em;
  color: var(--wp--preset--color--ink-muted);
  font-variant-numeric: lining-nums tabular-nums;
}

.pantera-client-list__name {
  font-size: 1.05rem;
  line-height: 1.35;
  letter-spacing: -.005em;
  color: var(--pantera-brand);
}

@media (max-width: 640px) {
  ul.pantera-client-list {
    grid-template-columns: 1fr;
  }
}

/* Service team — Savills-style cards in aside panels */
.pantera-svc__team {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pantera-svc__team-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 0;
}

.pantera-svc__team-card + .pantera-svc__team-card {
  border-top: 1px solid color-mix(in srgb, var(--pantera-line) 65%, transparent);
}

.pantera-svc__team-photo {
  flex: none;
  display: block;
  width: 7.5rem;
}

.pantera-svc__team-img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 0;
  object-fit: cover;
  object-position: center top;
  background: var(--pantera-surface);
}

.pantera-svc__team-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .15rem;
  min-width: 0;
  flex: 1;
}

.pantera-svc__team-name {
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(1.125rem, 1rem + .35vw, 1.375rem);
  font-weight: 500;
  letter-spacing: -.015em;
  line-height: 1.15;
  color: var(--pantera-brand);
  text-decoration: none;
  transition: color .18s var(--pantera-ease);
}

.pantera-svc__team-name:hover,
.pantera-svc__team-name:focus-visible { color: var(--pantera-accent); text-decoration: none; }

.pantera-svc__team-role {
  font-size: var(--pantera-text-body-xs);
  line-height: 1.45;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-svc__team-phone {
  margin-top: .25rem;
  font-family: var(--wp--preset--font-family--nav);
  font-size: var(--pantera-text-body-sm);
  font-weight: 700;
  color: var(--pantera-brand);
  text-decoration: none;
  font-variant-numeric: lining-nums;
}

.pantera-svc__team-phone:hover,
.pantera-svc__team-phone:focus-visible { color: var(--pantera-accent); text-decoration: none; }

.pantera-svc__team-cta {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: .45rem;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--pantera-accent);
  text-decoration: none;
  transition: color .18s var(--pantera-ease);
}

.pantera-svc__team-cta:hover,
.pantera-svc__team-cta:focus-visible {
  color: var(--pantera-accent-dark);
  text-decoration: none;
}

.pantera-svc__team-cta-icon {
  display: inline-block;
  font-size: .85em;
  line-height: 1;
  transform: translateY(-.02em);
}

@media (max-width: 480px) {
  .pantera-svc__team-photo { width: 6.5rem; }
}

/* ---- Insights ----------------------------------------------------------- */

/* Topic filter — thin pill chips (active = brand fill). */
.pantera-insight-tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
  padding: 0;
  border: 0;
  background: transparent;
  box-sizing: border-box;
  align-self: flex-start;
  width: fit-content;
  max-width: 100%;
}

.pantera-insight-tabs__tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: .28rem .85rem;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  line-height: 1.25;
  color: var(--pantera-brand);
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: var(--pantera-radius-pill);
  background: var(--pantera-surface);
  box-shadow: none;
  transition:
    color .2s var(--pantera-ease),
    background-color .2s var(--pantera-ease),
    border-color .2s var(--pantera-ease);
}

.pantera-insight-tabs__tab:hover {
  color: var(--pantera-brand);
  background: color-mix(in srgb, var(--pantera-brand) 8%, var(--pantera-surface));
  text-decoration: none;
}

.pantera-insight-tabs__tab:focus-visible {
  outline: 2px solid var(--pantera-accent);
  outline-offset: 2px;
  text-decoration: none;
}

.pantera-insight-tabs__tab.is-active {
  color: #fff;
  background: var(--pantera-brand);
  border-color: var(--pantera-brand);
}

.pantera-insight-tabs__tab.is-active:hover {
  color: #fff;
  background: var(--pantera-brand);
  border-color: var(--pantera-brand);
}

/* Archive grid — uniform three-across cards (image → meta pills → title). */
.pantera-insights.pantera-insights--archive:not(.pantera-similar-carousel__track) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.5rem, 2.5vw, 2.25rem) clamp(1.25rem, 2vw, 1.75rem);
}

.pantera-insights--archive .pantera-insights__link {
  gap: .9rem;
}

.pantera-insights--archive .pantera-insights__media {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--pantera-radius);
}

.pantera-insights--archive .pantera-insights__media .pantera-ph {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
}

.pantera-insights--archive .pantera-insights__body {
  gap: .65rem;
}

.pantera-insights--archive .pantera-insights__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
}

.pantera-insights--archive .pantera-insights__cat {
  display: inline-flex;
  align-items: center;
  padding: .2rem .55rem;
  border-radius: var(--pantera-radius-pill);
  background: var(--pantera-brand);
  font-family: var(--wp--preset--font-family--nav);
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  line-height: 1.2;
  color: #fff;
}

.pantera-insights--archive .pantera-insights__date {
  display: inline-flex;
  align-items: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .65rem;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
  line-height: 1.2;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-insights--archive .pantera-insights__title {
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.05rem, 1.4vw, 1.25rem);
  font-weight: 500;
  letter-spacing: -.015em;
  line-height: 1.25;
  color: var(--pantera-brand);
}

.pantera-insights--archive .pantera-insights__link:hover .pantera-insights__title {
  text-decoration: none;
  color: var(--pantera-accent);
}

.pantera-insights--archive .pantera-insights__link:hover .pantera-insights__img {
  opacity: 1;
  transform: scale(1.03);
}

.pantera-insights--archive .pantera-insights__img {
  transition:
    opacity .25s var(--pantera-ease),
    transform .45s var(--pantera-ease);
}

.pantera-insight-pager {
  display: flex;
  justify-content: space-between;
  margin-top: clamp(2rem, 4vw, 3rem);
  padding-top: 1.25rem;
  border-top: 1px solid var(--pantera-line);
  font-size: var(--pantera-text-body-sm);
}

.pantera-insight-pager a { color: var(--pantera-brand); text-decoration: none; }
.pantera-insight-pager a:hover { color: var(--pantera-accent); text-decoration: none; }

@media (max-width: 900px) {
  .pantera-insights.pantera-insights--archive:not(.pantera-similar-carousel__track) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .pantera-insights.pantera-insights--archive:not(.pantera-similar-carousel__track) {
    grid-template-columns: 1fr;
  }
}

/* Insights index — tablet / phone gutters + stacked layout.
   Mirror services: set --pantera-gutter on body so .wp-site-blocks stays in sync,
   then drop the second inset on nested shells below 1199px. */
@media (min-width: 768px) and (max-width: 1199px) {
  body:has(.pantera-insights-page) {
    --pantera-gutter: 1.75rem;
  }
}

@media (max-width: 767px) {
  body:has(.pantera-insights-page) {
    --pantera-gutter: 1.25rem;
  }
}

@media (max-width: 1199px) {
  .pantera-insights-page .pantera-band--svc-hero .pantera-svc-hero,
  .pantera-insights-page .pantera-band--svc-list .pantera-insights,
  .pantera-insights-page .pantera-band--svc-list .pantera-insight-pager,
  .pantera-insights-page .pantera-band--svc-list .pantera-empty {
    padding-inline: 0 !important;
  }

  /* Tabs: drop shell-gutter margin (parent already inset). */
  .pantera-insights-page .pantera-band--svc-list .pantera-insight-tabs {
    margin-left: 0 !important;
    margin-right: auto !important;
    width: fit-content;
    max-width: 100%;
    padding-inline: 0;
  }
}

@media (max-width: 900px) {
  .pantera-band--svc-list .pantera-insight-tabs,
  .pantera-insight-tabs {
    width: fit-content;
    max-width: 100%;
    margin-right: auto;
  }
}

@media (max-width: 980px) {
  .pantera-insights-page .pantera-band--svc-hero {
    padding-block: clamp(1.35rem, 3.5vw, 2rem) clamp(.85rem, 2vw, 1.35rem);
  }

  .pantera-insights-page .pantera-band--svc-list {
    padding-top: clamp(.85rem, 2vw, 1.35rem);
    padding-bottom: clamp(2.25rem, 5vw, 3.5rem);
  }

  .pantera-insights-page .pantera-svc-hero {
    gap: .75rem;
  }

  .pantera-insights-page .pantera-svc-hero .pantera-kicker {
    margin-bottom: .55rem;
  }

  .pantera-insights-page .pantera-svc-hero__row {
    gap: .85rem;
  }

  .pantera-insights-page .pantera-svc-hero__title {
    font-size: clamp(1.7rem, 6vw, 2.35rem);
    max-width: 14ch;
    line-height: 1.08;
  }

  .pantera-insights-page .pantera-svc-hero__lead,
  .pantera-insights-page .pantera-band--svc-hero .pantera-svc-hero__lead {
    font-size: 1rem;
    line-height: 1.55;
    max-width: none;
  }

  .pantera-insights-page .pantera-insight-tabs {
    margin-bottom: clamp(1.15rem, 2.5vw, 1.65rem);
    width: fit-content;
    max-width: 100%;
  }

  .pantera-insights-page .pantera-insight-tabs__tab {
    min-height: 0;
    padding: .28rem .8rem;
  }

  .pantera-insights-page .pantera-insights--archive {
    gap: 1.35rem;
  }

  .pantera-insights-page .pantera-insight-pager {
    margin-top: clamp(1.5rem, 3.5vw, 2.25rem);
    padding-top: 1rem;
    gap: 1rem;
  }

  .pantera-insights-page .pantera-insight-pager a {
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
  }
}

@media (max-width: 767px) {
  .pantera-insights-page .pantera-insight-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    gap: .4rem;
    padding: .1rem 0 .35rem;
    border-radius: 0;
    width: 100%;
    max-width: 100%;
  }

  .pantera-insights-page .pantera-insight-tabs::-webkit-scrollbar {
    display: none;
  }

  .pantera-insights-page .pantera-insight-tabs__tab {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: .62rem;
    padding: .26rem .75rem;
  }

  .pantera-insights-page .pantera-insights.pantera-insights--archive:not(.pantera-similar-carousel__track) {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .pantera-insights-page .pantera-insights__media {
    aspect-ratio: 4 / 3;
  }

  .pantera-insights-page .pantera-insights--archive .pantera-insights__title {
    font-size: 1.1rem;
    line-height: 1.28;
  }
}

@media (max-width: 560px) {
  .pantera-insights-page .pantera-svc-hero__title {
    font-size: clamp(1.55rem, 7.2vw, 1.9rem);
    max-width: 12ch;
  }
}

/* Single insight */
.pantera-band--insight-head { padding-bottom: 0; }

.pantera-insight__head { margin-bottom: clamp(1.75rem, 3.5vw, 2.5rem); }

.pantera-insight__title {
  margin: 0 0 1rem;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(1.875rem, 3.8vw, 3rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.01em;
  color: var(--pantera-brand);
  max-width: 24ch;
  text-wrap: balance;
}

.pantera-insight__meta {
  margin: 0;
  font-size: .875rem;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-insight__hero { margin: 0; }

.pantera-insight__hero img {
  width: 100%;
  aspect-ratio: 21 / 9;
  object-fit: cover;
  border-radius: var(--pantera-radius);
}

.pantera-insight__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
}

.pantera-insight .pantera-svc__aside {
  position: sticky;
  top: calc(var(--pantera-header-total) + 1.25rem);
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.pantera-insight .pantera-svc__panel {
  padding: clamp(1.15rem, 2vw, 1.35rem);
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius);
  background: #fff;
  box-shadow: none;
}

.pantera-insight .pantera-svc__panel + .pantera-svc__panel {
  margin-top: 0;
}

.pantera-insight__content .wp-block-post-content > p,
.pantera-insight__content .wp-block-post-content > ul,
.pantera-insight__content .wp-block-post-content > ol {
  max-width: 64ch;
  line-height: 1.75;
}

.pantera-insight__content .wp-block-post-content img,
.pantera-insight__content .wp-block-post-content figure,
.pantera-insight__content .wp-block-post-content .wp-block-image,
.pantera-insight__content .wp-block-post-content .wp-block-gallery {
  max-width: 100%;
}

.pantera-insight__content .wp-block-post-content img {
  height: auto;
}

/* Stronger article rhythm: clear air before each section, sub-heads that
   actually outrank body copy so the piece doesn't read as one slab. */
.pantera-insight__content .wp-block-post-content > h2 {
  margin-top: clamp(2.5rem, 4.5vw, 3.25rem);
  margin-bottom: .65rem;
  font-size: clamp(1.5rem, 2.6vw, 1.9rem);
  letter-spacing: -0.01em;
  line-height: 1.15;
}

.pantera-insight__content .wp-block-post-content > h3 {
  margin-top: clamp(1.85rem, 3vw, 2.4rem);
  margin-bottom: .3rem;
  font-size: 1.0625rem;
  font-weight: 600;
  letter-spacing: .005em;
  color: var(--pantera-brand);
}

/* Related articles — small media rows */
.pantera-insight-related {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pantera-insight-related li + li { border-top: 1px solid var(--pantera-line); }

.pantera-insight-related a {
  display: flex;
  gap: .9rem;
  align-items: flex-start;
  padding: .85rem 0;
  color: inherit;
  text-decoration: none;
}

.pantera-insight-related__media {
  flex: none;
  width: 72px;
}

.pantera-insight-related__img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--pantera-radius-sm);
  background: var(--pantera-surface);
}

.pantera-insight-related__body {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  min-width: 0;
}

.pantera-insight-related__cat {
  font-family: var(--wp--preset--font-family--nav);
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--pantera-accent);
}

.pantera-insight-related__title {
  font-size: var(--pantera-text-body-sm);
  font-weight: 500;
  line-height: 1.4;
  color: var(--pantera-brand);
  transition: color .18s var(--pantera-ease);
}

.pantera-insight-related a:hover .pantera-insight-related__title,
.pantera-insight-related a:focus-visible .pantera-insight-related__title { color: var(--pantera-accent); }

.pantera-insight-related__all { margin: 1rem 0 0; }

/* Insight singles: tighten tablet/phone gutters (match service-detail pattern).
   Nested shells already sit inside has-global-padding — drop the second inset. */
@media (min-width: 768px) and (max-width: 1199px) {
  body:has(.pantera-insight) {
    --pantera-gutter: 1.75rem;
  }
}

@media (max-width: 767px) {
  body:has(.pantera-insight) {
    --pantera-gutter: 1.25rem;
  }
}

@media (max-width: 1199px) {
  .pantera-band--insight-head .pantera-insight__head,
  .pantera-band--insight-head .pantera-insight__hero,
  .pantera-band--insight-body .pantera-insight__layout {
    padding-inline: 0 !important;
  }
}

@media (max-width: 980px) {
  .pantera-band--insight-head {
    padding-top: clamp(1.5rem, 4vw, 2.5rem);
    padding-bottom: 0;
  }

  .pantera-band--insight-body {
    padding-block: clamp(1.5rem, 3.5vw, 2.25rem) clamp(2.5rem, 5vw, 3.5rem);
  }

  .pantera-insight__head {
    margin-bottom: clamp(1.25rem, 3vw, 1.75rem);
  }

  .pantera-insight__title {
    max-width: none;
    font-size: clamp(1.75rem, 5.2vw, 2.5rem);
  }

  .pantera-insight__layout {
    grid-template-columns: 1fr;
    gap: clamp(1.75rem, 4vw, 2.5rem);
  }

  .pantera-insight .pantera-svc__aside {
    position: static;
    top: auto;
    gap: 1rem;
  }

  .pantera-insight .pantera-svc__panel {
    padding: 1.1rem 1rem;
  }

  .pantera-insight__hero img {
    aspect-ratio: 16 / 9;
  }

  .pantera-insight__content .wp-block-post-content > h2 {
    font-size: clamp(1.35rem, 4vw, 1.65rem);
    margin-top: clamp(2rem, 4vw, 2.75rem);
  }

  /* Touch-friendly related rows + author CTAs in the aside */
  .pantera-insight-related a {
    min-height: 44px;
    padding: .95rem 0;
    gap: .75rem;
  }

  .pantera-insight-related__media {
    width: 64px;
  }

  .pantera-insight .pantera-svc__team-cta {
    min-height: 44px;
    padding-block: .55rem;
    box-sizing: border-box;
  }

  .pantera-insight .pantera-svc__team-phone {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}

@media (max-width: 767px) {
  .pantera-insight__hero img {
    aspect-ratio: 4 / 3;
    border-radius: calc(var(--pantera-radius) - 2px);
  }

  .pantera-insight .pantera-svc__team-card {
    align-items: flex-start;
    gap: .85rem;
  }

  .pantera-insight .pantera-svc__team-photo {
    width: 5.5rem;
  }

  .pantera-insight-related__media {
    width: 56px;
  }
}

/* ---- Contact page ------------------------------------------------------ */
.pantera-contact-page {
  background: #fff;
}

.pantera-band--contact {
  padding-block: clamp(2.25rem, 5vw, 3.75rem);
  background: #fff;
}

.pantera-contact-shell {
  width: 100%;
  max-width: var(--pantera-content-max);
  margin-inline: auto;
  min-width: 0;
}

.pantera-contact-shell__hero {
  margin-bottom: clamp(1.75rem, 3.5vw, 2.5rem);
}

.pantera-contact-shell__hero-main {
  min-width: 0;
}

.pantera-contact-shell__title {
  margin: 0 0 .75rem;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(2rem, 4vw, 2.85rem);
  font-weight: 500;
  line-height: 1.06;
  letter-spacing: -0.025em;
  text-wrap: balance;
  color: var(--pantera-brand);
  max-width: 14ch;
}

.pantera-contact-shell__lead {
  margin: 0;
  max-width: 44ch;
  font-size: var(--pantera-text-body);
  line-height: 1.65;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-contact-shell__panel {
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius);
  background: #fff;
  overflow: hidden;
}

.pantera-contact-shell__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
  align-items: stretch;
}

.pantera-contact-shell__main {
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 2rem);
  background: #fff;
}

.pantera-contact-shell__aside {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: clamp(1.5rem, 3vw, 2rem);
  background: var(--pantera-brand);
  color: #fff;
  border-left: 1px solid var(--pantera-brand);
}

.pantera-contact-shell__aside-block {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  padding: 1.15rem 0;
  border-top: 1px solid rgba(255, 255, 255, .14);
}

.pantera-contact-shell__aside-block:first-child {
  padding-top: 0;
  border-top: 0;
}

.pantera-contact-shell__aside-block--phone {
  padding-bottom: 1.35rem;
}

.pantera-contact-shell__aside-label {
  margin: 0;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .58);
}

.pantera-contact-shell__aside-label--with-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}

.pantera-contact-shell__hours-status {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .62rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .45);
}

.pantera-contact-shell__hours-dot {
  width: .35rem;
  height: .35rem;
  border-radius: 50%;
  flex-shrink: 0;
  background: currentColor;
}

.pantera-contact-shell__hours-status--open {
  color: rgba(168, 220, 191, .92);
}

.pantera-contact-shell__hours-status--closed {
  color: rgba(255, 255, 255, .42);
}

.pantera-contact-shell__aside-text {
  margin: 0;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.55;
  color: rgba(255, 255, 255, .78);
}

.pantera-contact-shell__phone {
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.45rem, 2.4vw, 1.85rem);
  font-weight: 500;
  letter-spacing: -.02em;
  color: #fff;
  text-decoration: none;
}

.pantera-contact-shell__phone:hover {
  color: rgba(255, 255, 255, .82);
}

.pantera-contact-shell__link {
  font-size: .9375rem;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  word-break: break-word;
}

.pantera-contact-shell__link:hover {
  color: rgba(255, 255, 255, .82);
  text-decoration: underline;
  text-underline-offset: .18em;
}

.pantera-contact-enquiry__title {
  margin: 0 0 1rem;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.25rem, 2vw, 1.4rem);
  font-weight: 500;
  letter-spacing: -.01em;
  color: var(--pantera-brand);
}

.pantera-contact-form.pantera-form {
  gap: .75rem;
}

.pantera-contact-form .pantera-form__row {
  gap: .75rem;
}

.pantera-contact-form .pantera-form__field {
  margin: 0;
  gap: .35rem;
}

.pantera-contact-form input[type="text"],
.pantera-contact-form input[type="email"],
.pantera-contact-form input[type="tel"],
.pantera-contact-form textarea {
  width: 100%;
  min-width: 0;
  padding: 0 .85rem;
  border: 1px solid rgba(48, 49, 73, .14);
  border-radius: var(--pantera-radius-sm);
  background: var(--pantera-paper);
  font: inherit;
  font-size: var(--pantera-text-body);
  font-weight: 400;
  color: var(--wp--preset--color--ink);
  transition: border-color .15s var(--pantera-ease);
  box-shadow: none;
}

.pantera-contact-form input[type="text"],
.pantera-contact-form input[type="email"],
.pantera-contact-form input[type="tel"] {
  height: 3rem;
  min-height: 3rem;
}

.pantera-contact-form textarea {
  min-height: 7.5rem;
  padding: .85rem;
  appearance: none;
  -webkit-appearance: none;
  resize: none;
  overflow: auto;
  background-clip: padding-box;
}

.pantera-contact-form input::placeholder,
.pantera-contact-form textarea::placeholder {
  color: rgba(48, 49, 73, .4);
}

.pantera-contact-form input:focus,
.pantera-contact-form input:focus-visible,
.pantera-contact-form textarea:focus,
.pantera-contact-form textarea:focus-visible {
  outline: none;
  border-color: rgba(48, 49, 73, .4);
  background: var(--pantera-paper);
  box-shadow: none;
}

.pantera-contact-form select {
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  min-width: 0;
  height: 3rem;
  min-height: 3rem;
  padding: 0 .85rem;
  padding-right: 2.25rem;
  border: 1px solid rgba(48, 49, 73, .14);
  border-radius: var(--pantera-radius-sm);
  background: var(--pantera-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath stroke='%23303149' stroke-width='1.5' d='m1 1 4 4 4-4'/%3E%3C/svg%3E") no-repeat right .85rem center;
  font: inherit;
  font-size: var(--pantera-text-body);
  font-weight: 400;
  color: var(--wp--preset--color--ink);
  transition: border-color .15s var(--pantera-ease);
  box-shadow: none;
  cursor: pointer;
}

.pantera-contact-form select:focus,
.pantera-contact-form select:focus-visible {
  outline: none;
  border-color: rgba(48, 49, 73, .4);
  background-color: var(--pantera-paper);
  box-shadow: none;
}

.pantera-contact-form .pantera-cselect__trigger {
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  min-width: 0;
  height: 3rem;
  min-height: 3rem;
  padding: 0 .85rem;
  border: 1px solid rgba(48, 49, 73, .14);
  border-radius: var(--pantera-radius-sm);
  background: var(--pantera-paper);
  font: inherit;
  font-size: var(--pantera-text-body);
  font-weight: 400;
  color: var(--wp--preset--color--ink);
  transition: border-color .15s var(--pantera-ease);
  box-shadow: none;
  justify-content: space-between;
}

.pantera-contact-form .pantera-cselect__value.is-placeholder {
  color: rgba(48, 49, 73, .4);
}

.pantera-contact-form .pantera-cselect__trigger:focus,
.pantera-contact-form .pantera-cselect__trigger:focus-visible,
.pantera-contact-form .pantera-cselect.is-open .pantera-cselect__trigger {
  outline: none;
  border-color: rgba(48, 49, 73, .4);
  background: var(--pantera-paper);
  box-shadow: none;
}

.pantera-contact-form .pantera-form__field.pantera-cselect.is-open {
  z-index: 20;
}

.pantera-contact-form .pantera-cselect.is-open .pantera-cselect__caret {
  transform: rotate(180deg);
}

.pantera-contact-form .pantera-cselect__menu {
  width: 100%;
  max-width: none;
  border-color: rgba(48, 49, 73, .18);
  border-radius: var(--pantera-radius-sm);
  box-shadow: 0 10px 28px rgba(35, 37, 58, .08);
}

.pantera-contact-form .pantera-cselect__option {
  white-space: normal;
  color: var(--wp--preset--color--ink);
}

.pantera-contact-form .pantera-cselect__option:hover,
.pantera-contact-form .pantera-cselect__option:focus-visible {
  background: rgba(48, 49, 73, .04);
}

.pantera-contact-form .pantera-cselect__option[aria-selected="true"] {
  color: var(--wp--preset--color--ink);
  font-weight: 600;
}

@media (max-width: 900px) {
  .pantera-contact-shell__layout {
    grid-template-columns: 1fr;
  }

  .pantera-contact-shell__aside {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem 1.25rem;
    padding: clamp(1.25rem, 3vw, 1.5rem);
    border-left: 0;
    border-top: 0;
    order: -1;
  }

  .pantera-contact-shell__aside-block {
    padding: 0;
    border-top: 0;
  }

  .pantera-contact-shell__aside-block--phone {
    padding-bottom: 0;
  }

  .pantera-contact-shell__title {
    max-width: none;
  }
}

@media (max-width: 640px) {
  .pantera-contact-shell__aside {
    grid-template-columns: 1fr;
  }

  .pantera-contact-form .pantera-form__row {
    grid-template-columns: 1fr;
  }
}

/* ---- Auction lot — key facts + association block in the property sidebar -- */
.pantera-property__card-facts {
  margin: 0;
  padding: 0;
  border: 0;
  display: grid;
  gap: .85rem;
}

.pantera-property__card-facts > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}

.pantera-property__card-facts + .pantera-property__enquiry {
  padding-top: 1.5rem;
}

.pantera-property__card-facts + .pantera-property__agents,
.pantera-property__card-facts + .pantera-property__agents-block,
.pantera-property__card-facts + .pantera-property__contact,
.pantera-property__agents + .pantera-property__enquiry,
.pantera-property__agents-block + .pantera-property__enquiry,
.pantera-property__agents-block + .pantera-auction__partner,
.pantera-auction__partner + .pantera-property__enquiry,
.pantera-auction__partner + .pantera-property__agents-block {
  padding-top: 1.5rem;
}

.pantera-property__agents + .pantera-property__contact,
.pantera-property__agents-block + .pantera-property__contact,
.pantera-property__enquiry + .pantera-property__contact {
  padding-top: 1.5rem;
}

.pantera-auction__partner {
  margin: 0;
  padding: 0;
  border: 0;
}

.pantera-auction__partner .pantera-property__brochure-btn {
  margin: .85rem 0 0;
}

.pantera-auction__partner .pantera-property__brochure-btn svg {
  flex-shrink: 0;
}

.pantera-property__card-facts dt {
  font-family: var(--wp--preset--font-family--nav);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-property__card-facts dd {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-size: 1.0625rem;
  color: var(--pantera-brand);
}

.pantera-auction__agent-logo {
  margin: .35rem 0 0;
}

.pantera-auction__agent-logo img {
  max-width: 140px;
  height: auto;
}

.pantera-auction__partner-agent {
  display: grid;
  grid-template-columns: 3.5rem 1fr;
  gap: .65rem;
  align-items: center;
  margin-top: 1rem;
}

.pantera-auction__partner-agent-photo {
  width: 3.5rem;
  border-radius: var(--pantera-radius-sm);
  overflow: hidden;
  background: var(--pantera-surface);
}

.pantera-auction__partner-agent-img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: top center;
}

.pantera-auction__partner-agent-name {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-size: .98rem;
  font-weight: 500;
  line-height: 1.25;
  color: var(--pantera-brand);
}

.pantera-auction__partner-agent-contact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .1rem;
  margin-top: .25rem;
}

.pantera-auction__partner-agent-phone,
.pantera-auction__partner-agent-email {
  font-size: .8125rem;
  font-weight: 500;
  color: var(--pantera-accent);
  text-decoration: none;
}

.pantera-auction__partner-agent-phone:hover,
.pantera-auction__partner-agent-email:hover {
  color: var(--pantera-brand);
  text-decoration: underline;
}

.pantera-auction__view-lot.pantera-property__brochure-btn {
  gap: .55rem;
}

/* ---- Homepage — section rhythm (white ↔ surface grey) ----------------
   Hero (dark) →
   Services      white
   Why Pantera   white
   Clients       surface
   Properties    white
   Insights      surface
   Giving back   white
   CTA           navy
   ---------------------------------------------------------------------- */
.pantera-home-scroll {
  background: #fff;
}

.pantera-home .pantera-band--services,
.pantera-home .pantera-band.pantera-home-why,
.pantera-home .pantera-band.pantera-home-properties,
.pantera-home .pantera-band.pantera-home-give,
.pantera-about .pantera-band.pantera-home-give {
  background: #fff;
}

.pantera-home .pantera-band.pantera-home-clients,
.pantera-home .pantera-band.pantera-home-insights {
  background: var(--pantera-surface);
}

.pantera-home ~ .pantera-mailing-list {
  background: #fff !important;
}

.pantera-home .pantera-band {
  padding-block: clamp(4rem, 9vw, 6.5rem);
}

.pantera-home .pantera-kicker,
.pantera-home .pantera-band__label {
  font-family: var(--wp--preset--font-family--body);
}

.pantera-home .pantera-band__title {
  font-size: clamp(2rem, 4.2vw, 3rem);
  font-weight: 500;
  line-height: 1.06;
  max-width: 22ch;
}

.pantera-text-link--light {
  color: #fff;
}

.pantera-text-link--light:hover {
  opacity: .8;
}

.pantera-band__label--light {
  color: rgba(255, 255, 255, .72);
}

/* Properties band — reuses services head + toolbar */
.pantera-home-services__head {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: stretch;
  gap: clamp(2rem, 5vw, 4rem);
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
  padding-bottom: 0;
  border-bottom: 0;
}

.pantera-home-services__head-aside {
  display: flex !important;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  gap: clamp(1rem, 2vw, 1.35rem);
}

.pantera-home-services__head-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.pantera-home-services__head-title .pantera-band__title {
  margin: 0;
  max-width: 16ch;
}

.pantera-home-services__toolbar-actions {
  display: inline-flex !important;
  align-items: center;
  flex-wrap: nowrap;
  gap: 1.25rem;
}

/* Services — full-bleed white band over hero */
.pantera-home .pantera-band--services {
  background: #fff;
  padding-block: clamp(2rem, 4vw, 3rem);
}

/* Why Pantera — editorial band */
.pantera-home .pantera-band.pantera-home-why {
  padding-top: clamp(4rem, 9vw, 6.5rem);
  padding-bottom: clamp(5.5rem, 10vw, 8rem);
  border-top: 0;
}

section.pantera-home-why__inner {
  display: flex !important;
  flex-direction: column;
  gap: clamp(3.25rem, 6.5vw, 5.5rem);
}

.pantera-home-why .pantera-stats {
  margin-top: clamp(2rem, 4vw, 3rem);
  padding: 0;
  background: none;
  border-radius: 0;
  border-top: 0;
  gap: clamp(1.5rem, 4vw, 3.5rem);
}

.pantera-home-why .pantera-stats li {
  padding: 1.4rem 0 0;
  background: none;
  border-radius: 0;
  box-shadow: none;
  border-top: 1px solid var(--pantera-brand);
}

div.pantera-home-why__split {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}

.pantera-home-why__copy {
  max-width: 34rem;
}

.pantera-home-why__title {
  margin: 0 0 1.25rem;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(2.125rem, 4.8vw, 3.25rem);
  font-weight: 400;
  line-height: 1.06;
  letter-spacing: -.015em;
  color: var(--pantera-brand);
  text-wrap: balance;
}

.pantera-home-why__lead {
  margin: 0;
  max-width: 38ch;
  font-size: clamp(1.0625rem, 1.8vw, 1.1875rem);
  line-height: 1.75;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

.pantera-home-why__visual {
  margin: 0 0 0 auto;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--pantera-radius);
  overflow: clip;
  background: #fff;
}

.pantera-home-why__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
}

ul.pantera-home-why__points {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(1rem, 2vw, 1.35rem);
  list-style: none !important;
  margin: 0;
  padding: 0;
  width: 100%;
}

.pantera-home-why__points li {
  display: flex !important;
  flex-direction: column;
  gap: .5rem;
  list-style: none !important;
  list-style-type: none !important;
  height: 100%;
  box-sizing: border-box;
  padding: clamp(1.4rem, 2.2vw, 1.85rem) 0 0;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--pantera-line);
  border-radius: 0;
}

.pantera-home-why__point-label {
  display: block;
  font-family: var(--wp--preset--font-family--nav);
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-home-why__points strong {
  display: block;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.25rem, 2.2vw, 1.5625rem);
  font-weight: 500;
  line-height: 1.16;
  letter-spacing: -.015em;
  color: var(--pantera-brand);
  text-wrap: balance;
}

.pantera-home-why__points p {
  margin: 0;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.65;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

/* Reusable image slot — swap <div class="pantera-img-slot__ph"> for <img> when ready */
.pantera-img-slot {
  position: relative;
  margin: 0;
  overflow: clip;
  background: var(--pantera-surface);
}

.pantera-img-slot img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pantera-img-slot--portrait {
  aspect-ratio: 4 / 5;
}

.pantera-img-slot--card {
  aspect-ratio: 16 / 10;
}

.pantera-img-slot--wide {
  aspect-ratio: auto;
  height: 100%;
}

.pantera-img-slot--bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.pantera-img-slot__ph {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  width: 100%;
  height: 100%;
  min-height: inherit;
  padding: 1.5rem;
  text-align: center;
  background:
    radial-gradient(120% 120% at 50% 30%, color-mix(in srgb, var(--pantera-accent-soft) 55%, var(--pantera-surface)) 0%, var(--pantera-surface) 70%);
  border: 1px solid var(--pantera-line);
}

.pantera-img-slot--bg .pantera-img-slot__ph {
  border: 0;
  background:
    linear-gradient(160deg, color-mix(in srgb, var(--pantera-brand) 88%, #000) 0%, var(--pantera-brand) 100%);
}

.pantera-img-slot__label {
  font-family: var(--wp--preset--font-family--nav);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--pantera-accent);
}

.pantera-img-slot--bg .pantera-img-slot__label {
  display: none;
}

.pantera-img-slot__hint {
  font-size: .75rem;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-home .pantera-band.pantera-home-clients {
  padding-block: clamp(3rem, 6vw, 4.5rem);
}

.pantera-home-clients .pantera-about-intro {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: stretch;
}

.pantera-home-clients .pantera-about-intro__media {
  position: relative;
  z-index: 0;
  background: #fff;
  aspect-ratio: auto;
  height: 100%;
  align-self: stretch;
  min-height: 0;
  overflow: clip;
  border-radius: var(--pantera-radius);
}

.pantera-home-clients .pantera-about-intro__media img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center 40%;
}

.pantera-home-clients .pantera-about-intro__copy {
  position: relative;
  z-index: 1;
  gap: .75rem;
  justify-content: center;
  min-width: 0;
}

.pantera-home-clients .pantera-band__title {
  margin: 0;
  max-width: 16ch;
}

.pantera-home-clients .pantera-about-intro__lead {
  margin: 0;
  max-width: none;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.5;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-home-clients .pantera-client-logos {
  margin-top: clamp(1rem, 2vw, 1.35rem);
  column-gap: clamp(1rem, 2.5vw, 1.5rem);
  row-gap: clamp(1.25rem, 2.5vw, 1.75rem);
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.pantera-home-clients .pantera-client-logos__slot {
  aspect-ratio: 5 / 2;
  max-height: 3.25rem;
  padding: .35rem .5rem;
  background: #fff;
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius-sm);
}

/*
 * Tablet — keep the Why-style split (image + copy side by side),
 * with rounded media inside the band shell.
 */
@media (min-width: 768px) and (max-width: 1199px) {
  .pantera-home-clients .pantera-about-intro {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: clamp(1.25rem, 2.5vw, 2rem);
    align-items: stretch;
  }

  .pantera-home-clients .pantera-about-intro__media {
    order: 0;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 3;
    border-radius: var(--pantera-radius);
    overflow: clip;
  }

  .pantera-home-clients .pantera-about-intro__media img {
    position: static;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 42%;
  }

  .pantera-home-clients .pantera-about-intro__copy {
    padding: 0;
    background: transparent;
  }

  .pantera-home-clients .pantera-band__title {
    max-width: none;
    font-size: clamp(1.45rem, 3vw, 1.85rem);
  }

  .pantera-home-clients .pantera-about-intro__lead {
    max-width: none;
    font-size: .9375rem;
    line-height: 1.6;
  }
}

/*
 * Phone — stack like Why Pantera: padded shell, rounded image, clear gap.
 */
@media (max-width: 767px) {
  .pantera-home .pantera-band.pantera-home-clients {
    padding-block: clamp(2.5rem, 6vw, 3.5rem);
  }

  .pantera-home-clients .pantera-about-intro {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: clamp(1.35rem, 3vw, 2rem);
    align-items: stretch;
    width: 100%;
  }

  .pantera-home-clients .pantera-about-intro__media {
    flex: 0 0 auto;
    order: -1;
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: 16 / 11;
    border-radius: var(--pantera-radius);
    overflow: clip;
  }

  .pantera-home-clients .pantera-about-intro__media img {
    position: static;
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    object-position: center 42%;
  }

  .pantera-home-clients .pantera-about-intro__copy {
    flex: 0 0 auto;
    order: 0;
    width: 100%;
    padding: 0;
    background: transparent;
  }

  .pantera-home-clients .pantera-band__title {
    max-width: none;
    font-size: clamp(1.5rem, 5vw, 2rem);
  }

  .pantera-home-clients .pantera-about-intro__lead {
    max-width: none;
    font-size: var(--pantera-text-body-sm);
    line-height: 1.55;
  }
}

/* Client logo placeholders — swap <span class="pantera-client-logos__ph"> for <img> */
.pantera-client-logos {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.5vw, 1.5rem);
  list-style: none !important;
  margin: 0;
  padding: 0;
  width: 100%;
}

.pantera-client-logos > li {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0;
  padding: 0;
}

.pantera-client-logos__slot {
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin: 0;
  aspect-ratio: 16 / 9;
  padding: clamp(.65rem, 1.5vw, 1rem);
  background: var(--pantera-paper);
  border: 1px solid var(--pantera-line);
  overflow: clip;
}

.pantera-client-logos__slot img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  filter: grayscale(1);
  opacity: .72;
  transition: filter .25s var(--pantera-ease), opacity .25s var(--pantera-ease);
}

.pantera-client-logos__slot:hover img,
.pantera-client-logos__slot:focus-within img {
  filter: grayscale(0);
  opacity: 1;
}

.pantera-client-logos__ph {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--pantera-accent);
}

.pantera-client-logos__ph .pantera-ph__mark {
  width: clamp(28px, 34%, 48px);
  height: auto;
  opacity: .18;
}

.pantera-home-give .pantera-case {
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: stretch;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  padding: clamp(1.5rem, 3vw, 2rem);
  background: #fff;
  border-radius: var(--pantera-radius);
  box-shadow: var(--pantera-shadow-card);
}

.pantera-home-give .pantera-case__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.pantera-home-give .pantera-case__copy .pantera-give__cta {
  flex: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto !important;
  min-height: 0;
  margin-top: .25rem;
  background: #fff !important;
  color: var(--pantera-brand) !important;
  border: 1px solid var(--pantera-line);
  text-decoration: none;
}

.pantera-home-give .pantera-case__copy .pantera-give__cta:hover {
  background: var(--pantera-paper) !important;
}

.pantera-home-give .pantera-case__media {
  position: relative;
  margin: 0;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--pantera-radius);
  overflow: clip;
  background: #fff;
}

.pantera-home-give .pantera-case__media::after {
  display: none;
}

.pantera-home-give .pantera-case__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;
  border-radius: 0;
  object-fit: cover;
  object-position: center 38%;
}

@media (max-width: 900px) {
  .pantera-home-give .pantera-case {
    align-items: center;
    gap: 1.75rem;
  }

  .pantera-home-give .pantera-case__media {
    aspect-ratio: 4 / 3;
    max-width: 100%;
    margin-inline: 0;
  }

  .pantera-home-give .pantera-case__media img {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center 38%;
  }
}

/* Services — editorial carousel */
.pantera-home-services-carousel {
  container-type: inline-size;
  width: 100%;
  --services-per-view: 5;
  --services-gap: clamp(1rem, 1.75vw, 1.5rem);
  --services-slide: calc((100cqw - (var(--services-per-view) - 1) * var(--services-gap)) / var(--services-per-view));
  --services-carousel-duration: .8s;
  --services-carousel-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

@media (max-width: 899px) {
  .pantera-home-services-carousel {
    --services-per-view: 2;
  }
}

@media (max-width: 559px) {
  .pantera-home-services-carousel {
    --services-per-view: 1;
  }
}

.pantera-home-services-carousel__viewport {
  overflow: hidden;
  width: 100%;
}

ul.pantera-home-services-carousel__track,
.pantera-home-services-carousel__viewport > .pantera-home-services-carousel__track {
  display: flex !important;
  flex-wrap: nowrap;
  gap: var(--services-gap);
  margin: 0;
  padding: 0;
  list-style: none;
  transition: transform var(--services-carousel-duration) var(--services-carousel-ease);
  will-change: transform;
  backface-visibility: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .pantera-home-services-carousel__track {
    transition: none;
  }
}

.pantera-home-services-carousel__slide {
  flex: 0 0 var(--services-slide) !important;
  width: var(--services-slide) !important;
  max-width: var(--services-slide);
  min-width: 0;
  list-style: none;
  display: flex !important;
}

.pantera-home-service-card {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  flex: 1;
  min-height: 100%;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.pantera-home-service-card__media {
  position: relative;
  width: 100%;
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: clip;
  background: #fff;
  border-radius: var(--pantera-radius);
}

.pantera-home-service-card__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  transition: opacity .25s var(--pantera-ease);
}

.pantera-home-service-card:hover .pantera-home-service-card__media img,
.pantera-home-service-card:focus-visible .pantera-home-service-card__media img {
  opacity: .92;
}

.pantera-home-service-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: .4rem;
  min-height: 0;
  padding: .9rem 0 1.1rem;
  border-bottom: 1px solid var(--pantera-line);
}

.pantera-home-service-card__title {
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.35rem, 1.6vw, 1.625rem);
  font-weight: 400;
  letter-spacing: -.015em;
  line-height: 1.2;
  color: var(--pantera-brand);
  transition: opacity .2s var(--pantera-ease);
}

.pantera-home-service-card__desc {
  margin-top: auto;
  font-size: var(--pantera-text-body);
  line-height: 1.55;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-home-service-card:hover .pantera-home-service-card__title,
.pantera-home-service-card:focus-visible .pantera-home-service-card__title {
  opacity: .72;
}

/* Underlined text links (section heads: All services, View all, etc.) */
.pantera-outline-link,
.pantera-home-insights__all {
  display: inline-flex;
  align-items: center;
  gap: 0;
  height: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--pantera-brand);
  font-family: var(--wp--preset--font-family--nav);
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: .01em;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: .28em;
  white-space: nowrap;
  transition: color .16s var(--pantera-ease), text-decoration-color .16s var(--pantera-ease);
}

.pantera-outline-link svg,
.pantera-home-insights__all svg {
  display: none;
}

.pantera-outline-link:hover,
.pantera-outline-link:focus-visible,
.pantera-home-insights__all:hover,
.pantera-home-insights__all:focus-visible {
  background: transparent;
  border-color: transparent;
  color: var(--pantera-accent);
  text-decoration: underline;
  text-decoration-color: var(--pantera-accent);
}

.pantera-outline-link:focus-visible,
.pantera-home-insights__all:focus-visible {
  outline: 2px solid var(--pantera-accent);
  outline-offset: 3px;
}

.pantera-outline-link:active,
.pantera-home-insights__all:active {
  transform: none;
}

/* Insights — three-column deck (homepage) */
.pantera-home-insights__head {
  align-items: flex-end;
  margin-bottom: clamp(1.75rem, 3.5vw, 2.5rem);
}

.pantera-home-insights__head .pantera-band__title {
  margin: 0;
}

.pantera-insights-deck {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
  width: 100%;
}

.pantera-insights-deck__card {
  margin: 0;
  min-width: 0;
  padding-inline: clamp(1.1rem, 2.2vw, 1.65rem);
  border-left: 1px solid var(--pantera-line);
}

.pantera-insights-deck__card:first-child {
  padding-left: 0;
  border-left: 0;
}

.pantera-insights-deck__link {
  display: flex !important;
  flex-direction: column;
  gap: 1.05rem;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.pantera-insights-deck__media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: var(--pantera-radius);
  overflow: clip;
  background: #fff;
}

.pantera-insights-deck__card--featured .pantera-insights-deck__media {
  aspect-ratio: 16 / 10;
}

.pantera-insights-deck__img,
.pantera-insights-deck__media .pantera-ph {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s var(--pantera-ease), opacity .25s var(--pantera-ease);
}

.pantera-home-insights .pantera-insights-deck__card--featured .pantera-insights-deck__img {
  object-position: center 68%;
}

.pantera-insights-deck__link:hover .pantera-insights-deck__img,
.pantera-insights-deck__link:focus-visible .pantera-insights-deck__img {
  transform: scale(1.03);
  opacity: .96;
}

.pantera-insights-deck__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: .65rem;
  min-width: 0;
  padding-top: .15rem;
}

.pantera-insights-deck__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .35rem .75rem;
}

.pantera-insights-deck__badge {
  font-family: var(--wp--preset--font-family--nav);
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  line-height: 1.2;
  color: var(--pantera-accent-dark);
}

.pantera-insights-deck__card--featured .pantera-insights-deck__badge {
  color: var(--pantera-brand);
}

.pantera-insights-deck__date {
  font-size: .75rem;
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--pantera-ink-muted);
}

.pantera-insights-deck__title {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  font-weight: 500;
  letter-spacing: -.015em;
  line-height: 1.25;
  color: var(--pantera-brand);
  text-wrap: balance;
  transition: color .18s var(--pantera-ease);
}

.pantera-insights-deck__card--featured .pantera-insights-deck__title {
  font-size: clamp(1.35rem, 2.3vw, 1.75rem);
  line-height: 1.15;
}

.pantera-insights-deck__link:hover .pantera-insights-deck__title,
.pantera-insights-deck__link:focus-visible .pantera-insights-deck__title {
  color: var(--pantera-accent-dark);
}

@media (max-width: 980px) {
  .pantera-insights-deck {
    grid-template-columns: 1fr 1fr !important;
  }

  .pantera-insights-deck__card--featured {
    grid-column: 1 / -1;
    padding: 0 0 clamp(1.25rem, 3vw, 1.75rem);
    border-left: 0;
    border-bottom: 1px solid var(--pantera-line);
    margin-bottom: clamp(.35rem, 1vw, .65rem);
  }

  .pantera-insights-deck__card:not(.pantera-insights-deck__card--featured):nth-child(2) {
    padding-left: 0;
    padding-right: clamp(1.1rem, 2.2vw, 1.65rem);
    border-left: 0;
  }

  .pantera-insights-deck__card:not(.pantera-insights-deck__card--featured):nth-child(3) {
    padding-left: clamp(1.1rem, 2.2vw, 1.65rem);
    padding-right: 0;
    border-left: 1px solid var(--pantera-line);
  }
}

@media (max-width: 640px) {
  .pantera-home-insights__head {
    align-items: flex-start;
  }

  .pantera-insights-deck {
    grid-template-columns: 1fr !important;
  }

  .pantera-insights-deck__card,
  .pantera-insights-deck__card--featured,
  .pantera-insights-deck__card:not(.pantera-insights-deck__card--featured):nth-child(2),
  .pantera-insights-deck__card:not(.pantera-insights-deck__card--featured):nth-child(3) {
    grid-column: auto;
    padding: 0 0 1.35rem;
    border-left: 0;
    border-bottom: 1px solid var(--pantera-line);
    margin-bottom: 0;
  }

  .pantera-insights-deck__card:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }

  .pantera-insights-deck__media,
  .pantera-insights-deck__card--featured .pantera-insights-deck__media {
    aspect-ratio: 16 / 10;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pantera-insights-deck__img,
  .pantera-outline-link,
  .pantera-home-insights__all {
    transition: none;
  }

  .pantera-insights-deck__link:hover .pantera-insights-deck__img,
  .pantera-insights-deck__link:focus-visible .pantera-insights-deck__img {
    transform: none;
  }
}

/* Insights */
.pantera-home .pantera-insights {
  gap: clamp(1.25rem, 2.5vw, 2rem);
}

.pantera-home .pantera-insights__link {
  border: 0;
  border-radius: 0;
}

.pantera-home .pantera-band__head h2,
.pantera-about .pantera-band__head h2 {
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 400;
}

/* Final CTA — full-bleed accent band, DTRE-minimal (eyebrow + title + arrow link). */
.pantera-home-cta {
  position: relative;
  box-sizing: border-box;
  width: 100vw;
  max-width: 100vw !important;
  margin-block: 0 !important;
  margin-inline: calc(50% - 50vw) !important;
  border-radius: 0;
  border-top: 0;
  padding-block: clamp(4.5rem, 10vw, 7.5rem);
  overflow: clip;
  isolation: isolate;
  background-color: var(--pantera-brand) !important;
  color: #fff;
}

.wp-site-blocks > main .alignfull.pantera-home-cta,
.pantera-home-scroll > .alignfull.pantera-home-cta {
  margin-inline: calc(50% - 50vw) !important;
  width: 100vw;
  max-width: 100vw;
}

.pantera-home-cta.has-global-padding,
.pantera-home-cta.is-layout-constrained {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: none !important;
}

.pantera-home-cta.has-navy-deep-background-color,
.pantera-home-cta.has-navy-background-color,
.pantera-home-cta.has-accent-background-color {
  background-color: var(--pantera-brand) !important;
}

.pantera-home-cta__bg {
  display: none;
}

.pantera-home-cta__inner {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  width: 100%;
  max-width: var(--pantera-shell-max);
  margin-inline: auto;
  text-align: left;
  padding-inline: var(--pantera-gutter);
}

.pantera-home-cta .wp-block-heading {
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(2.125rem, 5vw, 3.5rem);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -0.025em;
  color: #fff;
}

/* Home responsive — keep why split side-by-side on tablet; stack on phone */
@media (min-width: 768px) and (max-width: 980px) {
  div.pantera-home-why__split {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) !important;
    gap: clamp(1.25rem, 2.5vw, 2rem);
  }

  .pantera-home-why__copy {
    max-width: none;
  }

  .pantera-home-why__lead {
    max-width: none;
  }

  .pantera-home-why__visual {
    margin: 0;
    width: 100%;
    max-width: none;
    aspect-ratio: 4 / 3;
  }

  .pantera-home-why__points {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .85rem;
  }
}

@media (max-width: 767px) {
  .pantera-home-why__split {
    grid-template-columns: 1fr !important;
    gap: clamp(1.35rem, 3vw, 2rem);
  }

  .pantera-home-why__copy {
    max-width: none;
  }

  .pantera-home-why__lead {
    max-width: none;
  }

  /* Stacked: stay flush with copy — don't centre a capped image. */
  .pantera-home-why__visual {
    margin: 0;
    width: 100%;
    max-width: none;
    aspect-ratio: 16 / 11;
  }

  .pantera-home-why__points {
    grid-template-columns: 1fr !important;
    gap: 1rem;
  }

  .pantera-home-why__points li {
    height: auto;
  }
}

@media (max-width: 620px) {
  .pantera-home-services__head {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .pantera-home-services__head-aside {
    align-items: flex-start;
    justify-content: flex-start;
    gap: 1rem;
  }

  .pantera-home-services__toolbar-actions {
    width: 100%;
    justify-content: space-between;
  }

  .pantera-client-logos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pantera-home-clients .pantera-client-logos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ---- About page (homepage rhythm) ------------------------------------- */
.pantera-about ~ .pantera-mailing-list {
  background: #fff !important;
}

.pantera-about .pantera-band {
  padding-block: clamp(3.5rem, 8vw, 6rem);
}

.pantera-about .pantera-band__title {
  font-size: clamp(2rem, 4.2vw, 2.75rem);
  font-weight: 500;
  line-height: 1.08;
  max-width: 22ch;
}

.pantera-about .pantera-band.pantera-about-intro-band {
  padding-top: clamp(3rem, 6vw, 5rem);
  padding-bottom: clamp(3rem, 6vw, 4.5rem);
  background: #fff;
}

.pantera-about-intro-band .pantera-about-intro {
  align-items: center;
}

.pantera-about-intro-band .pantera-about-intro__media {
  position: relative;
  aspect-ratio: 4 / 3;
  min-height: clamp(18rem, 36vw, 26rem);
}

.pantera-about-intro-band .pantera-about-intro__media::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(
    ellipse at center,
    transparent 45%,
    rgba(35, 36, 58, 0.22) 100%
  );
}

.pantera-about-intro-band .pantera-about-intro__media img {
  object-position: center center;
  display: block;
}

.pantera-about-intro-band .pantera-about-stats-panel {
  margin-top: clamp(2rem, 4vw, 2.75rem);
  padding-top: 0;
}

.pantera-about .pantera-band.pantera-about-principles {
  background: #fff;
  border-top: 1px solid var(--pantera-line);
  padding-top: clamp(3.5rem, 8vw, 6rem);
}

.pantera-about .pantera-band.pantera-about-team {
  background: #fff;
}

.pantera-about .pantera-home-why__visual {
  background: #fff;
}

.pantera-about .pantera-band.pantera-about-principles .pantera-home-why__inner {
  gap: clamp(2.5rem, 5vw, 4rem);
}

.pantera-about .pantera-band.pantera-about-story-band {
  background: var(--pantera-surface);
}

.pantera-about-story-band .pantera-about-story {
  align-items: stretch;
}

.pantera-about .pantera-band.pantera-about-team {
  border-top: 0;
}

.pantera-about-team:has(.pantera-band__head [data-people-prev]) .pantera-people-carousel__footer {
  display: none;
}

.pantera-about .pantera-band.pantera-home-give .pantera-case__media {
  background: #fff;
}

/* ==========================================================================
   Service page — new components (USP grid, case study grid)
   ========================================================================== */

/* USP process list — receivership stages */
.pantera-svc-band--usps {
  padding: clamp(2rem, 4vw, 2.75rem) 0;
  border-top: 1px solid var(--pantera-line);
}

.pantera-svc-band--usps .pantera-kicker {
  margin-bottom: .5rem;
}

.pantera-svc-band--usps .pantera-svc-section__title--lg {
  margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem);
  max-width: 22ch;
}

.pantera-svc-usp-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--pantera-line);
}

.pantera-svc-usp-item {
  display: grid;
  grid-template-columns: clamp(3.75rem, 8vw, 5.25rem) minmax(0, 1fr);
  column-gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: center;
  padding: clamp(1.75rem, 3vw, 2.35rem) 0;
  border-bottom: 1px solid var(--pantera-line);
}

.pantera-svc-usp-item:last-child {
  border-bottom: 0;
}

.pantera-svc-usp-item__num {
  margin-top: .1rem;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(2.75rem, 5.5vw, 4.25rem);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: .9;
  color: var(--pantera-accent);
  opacity: .13;
  pointer-events: none;
  user-select: none;
  font-variant-numeric: tabular-nums;
}

.pantera-svc-usp-item__body {
  min-width: 0;
}

.pantera-svc-usp-item__title {
  margin: 0 0 .5rem;
  font-family: var(--wp--preset--font-family--display);
  font-optical-sizing: auto;
  font-size: clamp(1.125rem, 1.9vw, 1.375rem);
  font-weight: 500;
  letter-spacing: -.015em;
  line-height: 1.2;
  color: var(--pantera-brand);
  text-wrap: balance;
}

.pantera-svc-usp-item__desc {
  margin: 0;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.68;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

@media (max-width: 560px) {
  .pantera-svc-usp-item {
    grid-template-columns: clamp(2.5rem, 12vw, 3.25rem) minmax(0, 1fr);
    column-gap: 1rem;
  }

  .pantera-svc-usp-item__num {
    font-size: clamp(2.25rem, 10vw, 3rem);
    opacity: .11;
  }
}

/* Case studies — 2-up on tablet/desktop; stacked on phone */
.pantera-svc-band--cases {
  padding: clamp(2rem, 4vw, 2.75rem) 0;
  border-top: 1px solid var(--pantera-line);
}

.pantera-svc-band--cases .pantera-kicker {
  margin-bottom: .5rem;
}

.pantera-svc-band--cases .pantera-svc-section__title--lg {
  margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem);
  max-width: 22ch;
}

.pantera-svc-cases-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--pantera-line);
}

.pantera-svc-case-card {
  display: grid;
  grid-template-columns: minmax(6.5rem, 9rem) minmax(0, 1fr);
  gap: clamp(.9rem, 2vw, 1.25rem);
  align-items: start;
  align-content: start;
  min-width: 0;
  height: auto;
  padding: clamp(1.15rem, 2.2vw, 1.5rem) clamp(1rem, 2vw, 1.35rem);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--pantera-line);
  border-radius: 0;
  overflow: visible;
}

.pantera-svc-case-card:nth-child(odd) {
  border-right: 1px solid var(--pantera-line);
  padding-left: 0;
}

.pantera-svc-case-card:nth-child(even) {
  padding-right: 0;
}

.pantera-svc-case-card--text {
  grid-template-columns: minmax(0, 1fr);
}

.pantera-svc-case-card__media {
  flex: none;
  margin: 0;
  aspect-ratio: 1 / 1;
  border-radius: var(--pantera-radius);
  overflow: clip;
  background: var(--pantera-surface);
}

.pantera-svc-case-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pantera-svc-case-card__media .pantera-img-slot__ph {
  min-height: 0;
  height: 100%;
  border: 0;
  border-radius: 0;
}

.pantera-svc-case-card__body {
  display: flex;
  flex-direction: column;
  gap: .3rem;
  min-width: 0;
  padding: 0;
}

.pantera-svc-case-card__amount {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.2rem, 1.8vw, 1.4rem);
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1.05;
  color: var(--pantera-accent);
  font-variant-numeric: lining-nums;
}

.pantera-svc-case-card__title {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  font-weight: 500;
  letter-spacing: -.015em;
  line-height: 1.25;
  color: var(--pantera-brand);
  text-wrap: balance;
}

.pantera-svc-case-card__meta {
  margin: 0;
  font-size: .8125rem;
  line-height: 1.4;
  color: var(--wp--preset--color--ink-muted);
}

.pantera-svc-case-card__text {
  margin: .35rem 0 0;
  max-width: 42ch;
  font-size: var(--pantera-text-body-sm);
  line-height: 1.6;
  color: var(--wp--preset--color--ink-muted);
  text-wrap: pretty;
}

.pantera-svc-case-card__result {
  margin: .65rem 0 0;
  padding-top: .65rem;
  border-top: 1px solid color-mix(in srgb, var(--pantera-line) 85%, transparent);
  font-size: var(--pantera-text-body-xs);
  line-height: 1.45;
  color: var(--pantera-brand);
}

.pantera-svc-case-card__result strong {
  font-weight: 600;
  color: var(--pantera-accent);
}

.pantera-svc-cases-grid--single {
  grid-template-columns: 1fr;
}

.pantera-svc-cases-grid--single .pantera-svc-case-card {
  grid-template-columns: minmax(9rem, 14rem) minmax(0, 1fr);
  border-right: 0;
  padding-inline: 0;
}

.pantera-svc-cases-grid--single .pantera-svc-case-card--text {
  grid-template-columns: minmax(0, 1fr);
  max-width: 54ch;
}

/* Phone only — keep 2-up through iPad portrait when the main column is wide. */
@media (max-width: 640px) {
  .pantera-svc-cases-grid {
    grid-template-columns: 1fr;
  }

  .pantera-svc-case-card,
  .pantera-svc-case-card:nth-child(odd),
  .pantera-svc-case-card:nth-child(even) {
    border-right: 0;
    padding-inline: 0;
    padding-block: 1.15rem;
    gap: .75rem;
  }

  .pantera-svc-case-card,
  .pantera-svc-cases-grid--single .pantera-svc-case-card {
    grid-template-columns: 1fr;
  }

  .pantera-svc-case-card__media {
    aspect-ratio: 16 / 10;
    max-width: none;
  }

  .pantera-svc-case-card__text {
    max-width: none;
  }
}

/* Hero stats responsive */
@media (max-width: 600px) {
  .pantera-svc-hero-stats {
    flex-direction: column;
    align-items: flex-start;
    gap: .45rem;
  }

  .pantera-svc-hero-stats li {
    display: flex;
  }
}

/* ---- Consultancy polish pass (2026-07) ---------------------------------- */

/* Hero: quiet conversion path under the lead. */
.pantera-hero__cta {
  margin: 1.4rem 0 0;
}

/* Who we work with: client-type index (replaces the placeholder logo wall).
   Hairline-ruled two-column list in the small-caps register. */
.pantera-client-types {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 2rem;
  list-style: none;
  margin: 1.75rem 0 0;
  padding: 0;
}

.pantera-client-types li {
  padding: .65rem 0;
  border-top: 1px solid var(--wp--preset--color--border);
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--pantera-ink-muted, #5c5a57);
}

@media (max-width: 600px) {
  .pantera-client-types { grid-template-columns: 1fr; }
}

/* Forms: consent small print under the submit button. */
.pantera-form__consent {
  margin: .35rem 0 0;
  font-size: .78rem;
  line-height: 1.5;
  color: var(--pantera-ink-muted, #5c5a57);
}

.pantera-form__consent a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.pantera-form__consent a:hover {
  color: var(--pantera-accent);
}

/* Hero video: invisible until the stream is actually live, so the poster is
   never covered by an empty iframe; gentle crossfade once playing. */
.pantera-hero__video-wrap {
  opacity: 0;
  transition: opacity .9s ease;
}

.pantera-hero__video-wrap.is-live {
  opacity: 1;
}

/* Hero CTA link on media. */
.pantera-text-link--light { color: #fff; }
.pantera-text-link--light:hover { color: #dcd6ff; }

/* Labeled search action — the card's single accent moment. Icon-only outside
   the hero (compact refine contexts keep the old circle). */
.pantera-search-card__submit-label { display: none; }

/* ==== Hero: "The Ledger" — media plate, copy panel, instrument rail ====== */
/* Supersedes the first editorial pass: straight plate edges (no angled cut),
   stat footer in the panel, and the property search as a dark full-width desk
   forming the base of the fold. */

.has-hero-header .pantera-home-fold.pantera-hero-editorial {
  min-height: 0;
  background: #fff;
  background-image: none;
}

.pantera-home-fold.pantera-hero-editorial {
  display: flex;
  flex-direction: column;
  gap: 0 !important;
  min-height: 0;
}

.pantera-home-fold.pantera-hero-editorial > .pantera-hero-editorial__inner {
  flex: 0 0 auto;
  height: var(--pantera-hero-editorial-fold);
  min-height: var(--pantera-hero-editorial-fold);
  margin-block-end: 0 !important;
}

/* The plate: hard, straight, architectural. */
.pantera-hero-editorial__figure.pantera-hero,
.pantera-hero-editorial__figure {
  height: 100%;
  min-height: 100%;
  align-self: stretch;
  clip-path: none;
}

.pantera-hero-editorial__figure .pantera-hero-editorial__poster {
  object-fit: cover;
}

.pantera-hero-editorial__figure::before { display: none; }

/* Copy panel: headline breathes, real numbers anchor the base. */
.pantera-hero-editorial__copy {
  justify-content: flex-end;
  gap: 0;
}

.pantera-hero-editorial__copy .pantera-hero__stack {
  margin-block: auto;
  padding-block: clamp(1.25rem, 3vh, 2rem) clamp(1.25rem, 3vh, 2rem);
}

.pantera-hero-editorial .pantera-hero__title {
  font-size: clamp(2.4rem, 4.35vw, 3.95rem);
  line-height: 0.99;
  letter-spacing: -0.038em;
}

.pantera-hero-editorial .pantera-hero__title .pantera-hero__emph { color: var(--pantera-accent); }

.pantera-hero-editorial .pantera-text-link--light {
  color: var(--pantera-brand);
}

.pantera-hero-editorial .pantera-text-link--light:hover {
  color: var(--pantera-accent);
}

.pantera-hero__cta-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-top: 2rem;
}

.pantera-hero-editorial .pantera-hero__btn {
  background: var(--pantera-brand);
  color: #fff;
}

.pantera-hero-editorial .pantera-hero__btn:hover {
  background: color-mix(in srgb, var(--pantera-brand) 88%, #000);
}

.pantera-hero__btn {
  display: inline-flex;
  align-items: center;
  height: 3.05rem;
  padding: 0 1.45rem;
  border-radius: var(--pantera-radius-sm);
  background: #fff;
  color: var(--pantera-navy-deep, #23243a);
  font-size: .9375rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .18s var(--pantera-ease), transform .12s var(--pantera-ease);
}

.pantera-hero__btn:hover { background: #e9e7f6; }
.pantera-hero__btn:active { transform: translateY(1px); }

/* ---- The desk: floating search instrument -------------------------------- */
.pantera-hero-editorial__desk {
  position: relative;
  z-index: 4;
  flex-shrink: 0;
  margin-block: 0 !important;
  padding-block: clamp(2.75rem, 5vw, 4rem) clamp(2.5rem, 4.5vw, 3.5rem);
  padding-inline: max(
    var(--pantera-gutter),
    calc((100% - var(--pantera-shell-max)) / 2 + var(--pantera-gutter))
  );
  box-sizing: border-box;
  background: #fff;
  border-top: 1px solid color-mix(in srgb, var(--pantera-line) 75%, #fff);
  overflow: visible;
}

.pantera-hero-editorial__desk.is-layout-flow,
.pantera-hero-editorial__desk.wp-block-group-is-layout-flow {
  gap: 0 !important;
  margin-block-start: 0 !important;
}

.pantera-hero-editorial__desk .pantera-search-bridge {
  position: relative;
  z-index: 5;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  pointer-events: auto;
  overflow: visible;
}

.pantera-hero-editorial__desk .pantera-search-compact {
  width: 100%;
  max-width: none;
  display: flex;
  flex-direction: column;
  gap: .85rem;
}

.pantera-hero-editorial__desk .pantera-search-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(3.35rem, auto);
  gap: .75rem 0;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  margin-top: 0;
  padding: 1.5rem 1.6rem 1.65rem;
  background: #fff;
  border: 1px solid var(--pantera-line);
  border-radius: var(--pantera-radius);
  box-shadow: none;
  overflow: visible;
}

.pantera-search-card__rail-title {
  display: none;
}

.pantera-hero-editorial__desk .pantera-search-card__head {
  margin: 0;
}

.pantera-hero-editorial__desk .pantera-search-card__kicker {
  margin: 0 0 .55rem;
}

.pantera-hero-editorial__desk .pantera-search-card__rail-title {
  display: block;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: 0;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.5rem, 2.6vw, 1.875rem);
  font-weight: 500;
  letter-spacing: -0.01em;
  text-transform: none;
  line-height: 1.1;
  color: var(--pantera-brand);
  white-space: normal;
  text-wrap: balance;
}

/* Department: photo-tile segmented control — shares the archive refine-bar
   design (.pantera-segment). Full-width to fill the wider hero card. */
.pantera-hero-editorial__desk .pantera-search-card .pantera-segment {
  grid-column: 1;
  grid-row: 1;
  justify-self: stretch;
  width: 100%;
  max-width: 100%;
  gap: .6rem;
}

.pantera-hero-editorial__desk .pantera-search-card__main {
  grid-column: 1 / -1;
  grid-row: 2;
  order: unset;
  flex: unset;
  min-width: 0;
  position: relative;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: visible;
}

.pantera-hero-editorial__desk .pantera-search-row {
  display: flex;
  align-items: stretch;
  gap: 0;
  min-height: 3.35rem;
  padding: 0;
  background: #fff;
  border: 1px solid var(--pantera-line);
  border-radius: 2px;
  overflow: visible;
}

.pantera-hero-editorial__desk .pantera-search-row .control-address_keyword,
.pantera-hero-editorial__desk .pantera-search-row .pantera-search-card__filter--location {
  display: flex;
  align-items: center;
  position: relative;
  overflow: visible;
  flex: 1 1 14rem;
  max-width: none;
  min-width: 0;
  padding: 0 1rem 0 1.35rem !important;
}

.pantera-hero-editorial__desk .pantera-search-row .pantera-search-card__filter--location::before {
  content: "";
  flex: 0 0 auto;
  width: 1.05rem;
  height: 1.05rem;
  margin-right: .65rem;
  background-color: var(--pantera-accent);
  opacity: .85;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M8 1.75a4.25 4.25 0 0 0-4.25 4.25c0 3.19 4.25 8.25 4.25 8.25s4.25-5.06 4.25-8.25A4.25 4.25 0 0 0 8 1.75Z' stroke='black' stroke-width='1.5'/%3E%3Ccircle cx='8' cy='6' r='1.35' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M8 1.75a4.25 4.25 0 0 0-4.25 4.25c0 3.19 4.25 8.25 4.25 8.25s4.25-5.06 4.25-8.25A4.25 4.25 0 0 0 8 1.75Z' stroke='black' stroke-width='1.5'/%3E%3Ccircle cx='8' cy='6' r='1.35' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
}

.pantera-hero-editorial__desk .pantera-search-form .autocomplete-container {
  position: static;
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
  overflow: visible;
}

.pantera-hero-editorial__desk .pantera-search-row__input {
  font-size: 1rem;
  font-weight: 400;
}

.pantera-hero-editorial__desk .pantera-search-row .pantera-search-card__filter:not(.pantera-search-card__filter--location) {
  position: relative;
  overflow: visible;
  flex: 0 0 clamp(8.5rem, 14vw, 10.5rem);
  min-width: 7.5rem;
  margin: 0;
  padding: .55rem 1rem .55rem 1.05rem;
  border: 0;
  border-left: 1px solid color-mix(in srgb, var(--pantera-line) 90%, #fff);
  background: #fff;
}

.pantera-hero-editorial__desk .pantera-search-card__filter.is-open {
  z-index: 80;
}

.pantera-hero-editorial__desk .pantera-search-card__filter--location:has(.autocomplete-results ul li) {
  z-index: 80;
}

.pantera-hero-editorial__desk .pantera-search-row .pantera-search-card__filter:not(.pantera-search-card__filter--location) label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.pantera-hero-editorial__desk .pantera-search-row .pantera-search-card__filter:not(.pantera-search-card__filter--location) .pantera-cselect {
  display: flex;
  align-items: center;
  align-self: stretch;
  width: 100%;
  min-height: 100%;
}

.pantera-hero-editorial__desk .pantera-search-card .pantera-cselect__trigger {
  font-size: .9375rem;
  font-weight: 500;
  align-self: stretch;
  min-height: 100%;
  padding: .55rem 0;
}

.pantera-hero-editorial__desk .pantera-search-card__filter--location .autocomplete-results {
  top: calc(100% + 4px) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 90;
  margin-top: 0;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--pantera-line);
  border-radius: 2px;
  box-shadow: none;
  overflow: hidden;
}

.pantera-hero-editorial__desk .pantera-search-row .pantera-search-card__filter .pantera-cselect__menu {
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  z-index: 90;
  margin-top: 0;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--pantera-line);
  border-radius: 2px;
  box-shadow: none;
  overflow: hidden;
  padding: .35rem 0;
}

.pantera-hero-editorial__desk .pantera-cselect__menu.is-open {
  transform: none;
}

.pantera-hero-editorial__desk .pantera-search-card__submit {
  flex: 0 0 auto;
  align-self: stretch;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 7.25rem;
  height: auto;
  margin: 0;
  gap: .5rem;
  padding: 0 1.65rem;
  border: 0;
  border-left: 1px solid color-mix(in srgb, var(--pantera-brand) 72%, #000);
  border-radius: 0;
  background: var(--pantera-brand);
  font: inherit;
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: .02em;
  color: #fff;
  box-shadow: none;
  transition: background .18s var(--pantera-ease);
}

.pantera-hero-editorial__desk .pantera-search-card__submit:hover {
  background: color-mix(in srgb, var(--pantera-brand) 88%, #000);
}

.pantera-hero-editorial__desk .pantera-search-card__submit:active {
  transform: none;
}

.pantera-hero-editorial__desk .pantera-search-card__submit-label { display: inline; }

.pantera-hero-editorial__desk .pantera-search-card:has(.pantera-cselect.is-open),
.pantera-hero-editorial__desk .pantera-search-card:has(.autocomplete-results ul li),
.pantera-hero-editorial__desk .pantera-search-card__main:has(.pantera-cselect.is-open),
.pantera-hero-editorial__desk .pantera-search-card__main:has(.autocomplete-results ul li) {
  overflow: visible;
}

.pantera-hero-editorial__desk .pantera-search-bridge:has(.pantera-cselect.is-open),
.pantera-hero-editorial__desk .pantera-search-bridge:has(.autocomplete-results ul li) {
  overflow: visible;
  z-index: 80;
}

@media (max-width: 900px) {
  .pantera-hero-editorial__desk {
    padding-block: clamp(1.75rem, 4vw, 2.5rem);
  }

  .pantera-hero-editorial__desk .pantera-search-compact {
    gap: .75rem;
  }

  .pantera-hero-editorial__desk .pantera-search-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: .85rem;
    margin-top: 0;
    padding: 1.25rem;
  }

  .pantera-hero-editorial__desk .pantera-search-card .pantera-dept-tabs {
    order: 0;
    grid-column: auto;
    grid-row: auto;
    justify-self: stretch;
    width: 100%;
  }

  .pantera-hero-editorial__desk .pantera-search-card__main {
    order: 1;
    grid-column: auto;
    grid-row: auto;
  }

  .pantera-hero-editorial__desk .pantera-search-row {
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    gap: .65rem;
  }

  .pantera-hero-editorial__desk .pantera-search-card__main {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  /* content-box + width:100% was adding padding outside the card. */
  .pantera-hero-editorial__desk .pantera-search-row .control-address_keyword,
  .pantera-hero-editorial__desk .pantera-search-row .pantera-search-card__filter--location,
  .pantera-hero-editorial__desk .pantera-search-row .pantera-search-card__filter:not(.pantera-search-card__filter--location) {
    box-sizing: border-box !important;
    flex: 1 1 auto;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    align-self: stretch;
  }

  .pantera-hero-editorial__desk .pantera-search-row .control-address_keyword,
  .pantera-hero-editorial__desk .pantera-search-row .pantera-search-card__filter--location {
    padding: .8rem 1rem .8rem 1.35rem !important;
    border: 1px solid color-mix(in srgb, var(--pantera-line) 90%, #fff);
    border-radius: var(--pantera-radius-md);
    background: #fff;
  }

  .pantera-hero-editorial__desk .pantera-search-row .pantera-search-card__filter:not(.pantera-search-card__filter--location) {
    padding: .75rem 1rem;
    border: 1px solid color-mix(in srgb, var(--pantera-line) 90%, #fff);
    border-radius: var(--pantera-radius-md);
    background: #fff;
    border-left: 1px solid color-mix(in srgb, var(--pantera-line) 90%, #fff);
  }

  .pantera-hero-editorial__desk .pantera-search-card__submit {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-height: 3rem;
    border-left: 0;
    border-radius: var(--pantera-radius-md);
  }

}

@media (max-width: 860px) {
  .pantera-home-fold.pantera-hero-editorial > .pantera-hero-editorial__inner {
    /* Fold height + stack filled by the phone/tablet polish block below. */
    height: calc(100svh - var(--pantera-header-total));
    height: calc(100dvh - var(--pantera-header-total));
    min-height: calc(100svh - var(--pantera-header-total));
    min-height: calc(100dvh - var(--pantera-header-total));
  }

  .pantera-hero-editorial__figure.pantera-hero,
  .pantera-hero-editorial__figure {
    height: auto;
    min-height: 0;
  }
}

/* ---- Auction result flags + sold status (2026-07) ----------------------- */
/* Corner flag on the card image; grey for withdrawn/unsold, navy for sold. */
.pantera-listings__flag {
  position: absolute;
  top: .75rem;
  left: .75rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  padding: .3rem .6rem;
  border-radius: var(--pantera-radius-sm);
  background: var(--pantera-navy-deep, #23243a);
}

.pantera-listings__flag--sold {
  background: var(--pantera-brand, #2f3148);
}

.pantera-listings__flag--status {
  background: var(--pantera-navy-deep, #23243a);
}

.pantera-listings__flag--inactive {
  background: color-mix(in srgb, var(--pantera-ink, #303149) 78%, #000);
}

/* Sold lots read slightly recessed in a grid — the image, not the label. */
.pantera-auctions-grid__card:has(.pantera-listings__flag--inactive) .pantera-auctions-grid__photo,
.pantera-listings__item:has(.pantera-listings__flag--inactive) .pantera-listings__media {
  opacity: .82;
}

/* Single lot masthead: sold status in accent, not the live grey. */
.pantera-property__status--sold {
  color: var(--pantera-accent, #50518c);
  font-weight: 700;
}

/* ========================================================================
   Phone / tablet polish — homepage, about, team, careers, 404
   Gutters mirror services / insights: 1.25rem phone, 1.75rem tablet.
   ======================================================================== */

/* Shared gutters */
@media (min-width: 768px) and (max-width: 1199px) {
  body:has(.pantera-home),
  body:has(.pantera-about),
  body:has(.pantera-people-page),
  body:has(.pantera-careers-page),
  body.error404 {
    --pantera-gutter: 1.75rem;
  }
}

@media (max-width: 767px) {
  body:has(.pantera-home),
  body:has(.pantera-about),
  body:has(.pantera-people-page),
  body:has(.pantera-careers-page),
  body.error404 {
    --pantera-gutter: 1.25rem;
  }
}

/* Drop second shell inset once body gutter is already set (constrained bands). */
@media (max-width: 1199px) {
  .pantera-about .pantera-about-intro-band .pantera-about-intro,
  .pantera-about .pantera-about-principles .pantera-home-why__inner,
  .pantera-about .pantera-about-story-band .pantera-about-story,
  .pantera-about .pantera-about-team .pantera-people-carousel,
  .pantera-about .pantera-home-give .pantera-case,
  .pantera-home .pantera-home-give .pantera-case,
  .pantera-people-page .pantera-band--svc-hero .pantera-svc-hero,
  .pantera-people-page .pantera-band--svc-list .pantera-people-archive__grid,
  .pantera-people-page .pantera-band--svc-list .pantera-people-grid,
  .pantera-people-page .pantera-band--svc-list .pantera-people-filters,
  .pantera-careers-page .pantera-band--careers-why .pantera-home-why__inner,
  .pantera-careers-page .pantera-band--careers-roles .pantera-careers-roles-head,
  .pantera-careers-page .pantera-band--careers-roles .pantera-careers-table-wrap {
    padding-inline: 0 !important;
  }

  body.error404 .pantera-band--404 .pantera-404__shell {
    padding-inline: 0;
  }
}

/* ---- Homepage hero: stack copy + media to fill the first screen --------
   Media plate is the dominant half; copy sizes to content underneath. */
@media (max-width: 860px) {
  .pantera-home-fold.pantera-hero-editorial > .pantera-hero-editorial__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    /* Phone: media ~55vh minimum so it outreads the copy block. */
    grid-template-rows: minmax(55vh, 1.75fr) auto;
    box-sizing: border-box;
    /* Fill the viewport below the fixed header — no padding (that left a white gap). */
    height: calc(100svh - var(--pantera-header-total));
    height: calc(100dvh - var(--pantera-header-total));
    min-height: calc(100svh - var(--pantera-header-total));
    min-height: calc(100dvh - var(--pantera-header-total));
    padding-top: 0;
  }

  .pantera-hero-editorial__figure.pantera-hero,
  .pantera-hero-editorial__figure {
    grid-column: 1;
    grid-row: 1;
    order: 1;
    z-index: auto;
    align-self: stretch;
    height: auto;
    min-height: 55vh;
    max-height: none;
    border-radius: 0;
    clip-path: none;
  }

  .pantera-hero-editorial__figure .pantera-hero__video-wrap,
  .pantera-hero-editorial__figure .pantera-hero-editorial__poster {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .pantera-hero-editorial__copy {
    grid-column: 1;
    grid-row: 2;
    order: 2;
    justify-content: flex-start;
    background: #fff;
    padding:
      clamp(1.35rem, 3.5vw, 1.85rem)
      var(--pantera-gutter)
      clamp(1.5rem, 4vw, 2rem);
  }

  .pantera-hero-editorial__copy .pantera-hero__stack {
    margin-block: 0;
    padding-block: 0;
    max-width: none;
    width: 100%;
    color: var(--pantera-brand);
  }

  .pantera-hero-editorial .pantera-hero__stack .pantera-title-split {
    color: var(--pantera-brand);
  }

  .pantera-hero-editorial .pantera-hero__stack .pantera-title-split--muted {
    color: var(--pantera-accent);
  }

  .pantera-hero-editorial .pantera-hero__kicker {
    margin-bottom: .75rem;
  }

  .pantera-hero-editorial .pantera-hero__title {
    font-size: clamp(1.85rem, 7.2vw, 2.45rem);
    line-height: 1.05;
  }

  .pantera-hero-editorial .pantera-hero__lead {
    margin-top: .85rem;
    font-size: .9875rem;
    line-height: 1.6;
    max-width: none;
  }

  .pantera-hero__cta-row {
    margin-top: 1.15rem;
    gap: 1rem;
  }

  .pantera-hero-editorial .pantera-text-link--light {
    color: var(--pantera-brand);
  }
}

/* Tablet only: copy above media. Phone keeps media → copy. */
@media (min-width: 768px) and (max-width: 860px) {
  .pantera-home-fold.pantera-hero-editorial > .pantera-hero-editorial__inner {
    grid-template-rows: auto minmax(74vh, 3fr);
  }

  .pantera-hero-editorial__copy {
    grid-row: 1;
    order: 1;
    /* Clear the fixed transparent header — pad copy only, not the whole fold. */
    padding-top: calc(var(--pantera-header-total) + clamp(1.1rem, 2.5vw, 1.5rem));
  }

  .pantera-hero-editorial__figure.pantera-hero,
  .pantera-hero-editorial__figure {
    grid-row: 2;
    order: 2;
    min-height: 74vh;
  }
}

@media (max-width: 767px) {
  /* Let the fold grow with the copy so the CTA never clips off-screen: media
     holds a fixed slice, copy sizes to content, section can exceed the viewport. */
  .pantera-home-fold.pantera-hero-editorial > .pantera-hero-editorial__inner {
    height: auto;
    grid-template-rows: minmax(48vh, 1fr) auto;
  }

  .pantera-hero-editorial__figure.pantera-hero,
  .pantera-hero-editorial__figure {
    min-height: 48vh;
  }

  .pantera-hero-editorial .pantera-hero__title {
    font-size: clamp(1.7rem, 7.8vw, 2.1rem);
  }

  .pantera-hero__btn {
    height: 2.85rem;
    padding: 0 1.25rem;
    font-size: .875rem;
  }
}

/* Homepage search desk — denser form on phone/tablet. */
@media (max-width: 900px) {
  .pantera-hero-editorial__desk {
    padding-block: clamp(1.35rem, 3.5vw, 2rem) clamp(1.5rem, 4vw, 2.25rem);
  }

  .pantera-hero-editorial__desk .pantera-search-card {
    padding: 1rem;
    gap: .7rem;
  }

  /* Photo-tile department control fills the card on phone/tablet too. */
  .pantera-hero-editorial__desk .pantera-search-card .pantera-segment {
    width: 100%;
    max-width: none;
    gap: .5rem;
  }

  .pantera-hero-editorial__desk .pantera-search-row {
    gap: .55rem;
    min-height: 0;
    height: auto;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .pantera-hero-editorial__desk .pantera-search-row .control-address_keyword,
  .pantera-hero-editorial__desk .pantera-search-row .pantera-search-card__filter--location,
  .pantera-hero-editorial__desk .pantera-search-row .pantera-search-card__filter:not(.pantera-search-card__filter--location) {
    box-sizing: border-box !important;
    flex: 1 1 auto;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto;
    align-self: stretch;
  }

  .pantera-hero-editorial__desk .pantera-search-row .pantera-search-card__filter:not(.pantera-search-card__filter--location) {
    border-left: 1px solid color-mix(in srgb, var(--pantera-line) 90%, #fff);
  }

  .pantera-hero-editorial__desk .pantera-search-card__submit {
    box-sizing: border-box;
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    min-height: 2.85rem;
    height: auto;
  }
}

@media (max-width: 767px) {
  .pantera-hero-editorial__desk .pantera-search-card {
    padding: .85rem;
  }

  /* Long labels (Commercial) must fit the narrow phone tile without crowding. */
  .pantera-hero-editorial__desk .pantera-segment {
    gap: .4rem;
  }

  .pantera-hero-editorial__desk .pantera-segment__tab {
    height: 4rem;
    font-size: .875rem;
    letter-spacing: -.02em;
  }

  .pantera-hero-editorial__desk .pantera-segment__text {
    padding: .45rem .4rem;
  }

  .pantera-hero-editorial__desk .pantera-search-row .control-address_keyword,
  .pantera-hero-editorial__desk .pantera-search-row .pantera-search-card__filter--location,
  .pantera-hero-editorial__desk .pantera-search-row .pantera-search-card__filter:not(.pantera-search-card__filter--location) {
    padding: .7rem .85rem .7rem 1.15rem !important;
  }
}

/* Homepage + About — Giving back must stack on phone (home-give overrides case) */
@media (max-width: 900px) {
  .pantera-home-give .pantera-case,
  .pantera-about .pantera-home-give .pantera-case {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
    padding: 1.15rem;
  }

  /* Tablet: taller crop — 16rem max made the group portrait too shallow. */
  .pantera-home-give .pantera-case__media,
  .pantera-about .pantera-home-give .pantera-case__media {
    order: -1;
    aspect-ratio: 4 / 3;
    max-height: min(52vh, 28rem);
  }

  .pantera-home-give .pantera-case__media img,
  .pantera-about .pantera-home-give .pantera-case__media img {
    object-position: center 32%;
  }

  .pantera-home-give .pantera-case__title,
  .pantera-about .pantera-home-give .pantera-case__title {
    font-size: clamp(1.35rem, 4.5vw, 1.75rem);
  }
}

@media (max-width: 767px) {
  .pantera-home .pantera-band.pantera-home-give,
  .pantera-about .pantera-band.pantera-home-give {
    padding-block: clamp(2rem, 5vw, 2.75rem);
  }

  .pantera-home-give .pantera-case,
  .pantera-about .pantera-home-give .pantera-case {
    padding: 1rem;
    gap: 1rem;
  }

  .pantera-home-give .pantera-case__media,
  .pantera-about .pantera-home-give .pantera-case__media {
    aspect-ratio: 5 / 4;
    max-height: min(48vh, 22rem);
  }
}

/* ---- About intro: prevent media from blowing out the grid ------------- */
.pantera-about-intro:not(.pantera-home-clients__intro) {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.pantera-about-intro:not(.pantera-home-clients__intro) > * {
  min-width: 0;
  max-width: 100%;
}

.pantera-about-intro:not(.pantera-home-clients__intro) .pantera-about-intro__media img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 1080px) {
  .pantera-about-intro:not(.pantera-home-clients__intro) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 767px) {
  .pantera-about .pantera-about-intro-band {
    padding-block: clamp(1.15rem, 3.5vw, 1.75rem) clamp(1.5rem, 4vw, 2.25rem);
  }

  .pantera-about-intro:not(.pantera-home-clients__intro) .pantera-about-intro__title {
    font-size: clamp(1.7rem, 7vw, 2.1rem);
    max-width: none;
  }

  .pantera-about-intro:not(.pantera-home-clients__intro) .pantera-about-intro__lead {
    font-size: .9875rem;
    line-height: 1.6;
  }

  .pantera-about-intro:not(.pantera-home-clients__intro) .pantera-about-intro__media {
    aspect-ratio: 16 / 10;
    max-height: min(40vh, 14.5rem);
  }

  .pantera-about .pantera-about-principles,
  .pantera-about .pantera-about-story-band,
  .pantera-about .pantera-about-team {
    padding-block: clamp(2rem, 5vw, 2.75rem);
  }

  .pantera-about-story__text p {
    font-size: .9875rem;
  }
}

/* ---- Our Team (people archive) ---------------------------------------- */
@media (max-width: 980px) {
  .pantera-people-page .pantera-band--svc-hero {
    padding-block: clamp(1.35rem, 3.5vw, 2rem) clamp(.85rem, 2vw, 1.35rem);
  }

  .pantera-people-page .pantera-svc-hero__title {
    font-size: clamp(1.7rem, 5.5vw, 2.35rem);
    max-width: 16ch;
  }

  .pantera-people-page .pantera-svc-hero__lead {
    font-size: 1rem;
    line-height: 1.55;
    max-width: none;
  }

  .pantera-people-page .pantera-band--svc-list {
    padding-top: clamp(.85rem, 2vw, 1.35rem);
    padding-bottom: clamp(2.25rem, 5vw, 3.5rem);
  }
}

/* Archive may or may not wrap with .pantera-people-archive__grid (only when filters exist). */
@media (min-width: 561px) and (max-width: 900px) {
  .pantera-people-page .pantera-people-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pantera-people-page .pantera-people-grid__card:not(:nth-child(3n)) {
    border-right: 0;
  }

  .pantera-people-page .pantera-people-grid__card:not(:nth-child(2n)) {
    border-right: 1px solid var(--pantera-line);
  }
}

@media (max-width: 767px) {
  .pantera-people-page .pantera-svc-hero__art {
    max-width: min(100%, 18rem);
    margin-inline: 0;
  }

  .pantera-people-page .pantera-people-grid__card {
    padding: 1.1rem 0 1.25rem;
  }

  .pantera-people-page .pantera-people-grid__name {
    font-size: clamp(1.2rem, 4.5vw, 1.4rem);
  }
}

/* ---- Careers ---------------------------------------------------------- */
/* Hide OPEN ROLES entire band when the grid renders nothing (zero real roles). */
.pantera-band--careers-roles:not(:has(.pantera-careers-table-wrap)) {
  display: none !important;
}

@media (max-width: 900px) {
  .pantera-careers-page .pantera-band--careers-why {
    padding-block: clamp(1.75rem, 4.5vw, 2.75rem);
  }
}

@media (max-width: 767px) {
  .pantera-careers-page .pantera-band--careers-roles {
    padding-block: clamp(2rem, 5vw, 2.75rem);
  }

  .pantera-careers-roles-head {
    margin-bottom: 1rem;
  }

  .pantera-careers-table tbody tr {
    padding: .9rem 1rem;
  }

  .pantera-careers-table td {
    grid-template-columns: 5.5rem minmax(0, 1fr);
    gap: .25rem .75rem;
    padding: .28rem 0;
    font-size: .9rem;
  }

  .pantera-careers-table__role {
    font-size: 1.05rem;
    padding-bottom: .4rem;
    margin-bottom: .25rem;
  }

  .pantera-careers-table__action a {
    min-height: 2.5rem;
    display: inline-flex;
    align-items: center;
  }
}

/* At tablet keep a compact table (no stacked labels) if horizontal space allows */
@media (min-width: 681px) and (max-width: 900px) {
  .pantera-careers-table {
    min-width: 0;
    width: 100%;
  }

  .pantera-careers-table thead th,
  .pantera-careers-table td {
    padding-inline: .65rem;
    font-size: .875rem;
  }

  .pantera-careers-table__role {
    font-size: 1.05rem;
  }
}

/* ---- 404: match shared gutters; keep prior phone/tablet type scale ----- */
@media (max-width: 767px) {
  .pantera-band--404 {
    padding-block: clamp(1.35rem, 4vw, 2rem) clamp(1.75rem, 5vw, 2.5rem);
  }
}

/* ======================================================================
   Touch refinements (iPhone / iPad)
   ====================================================================== */

/* The theme has no global border-box reset, so `width:100%` + padding made
   the image-slot placeholder 48px wider than its frame — its border and
   centred label were clipped by the slot's `overflow: clip`. */
.pantera-img-slot__ph {
  box-sizing: border-box;
}

/* Below the desktop breakpoint every control is finger-driven. The hamburger
   and drawer close are 36px boxes; expand the hit area to the 44px iOS
   minimum via a pseudo-element so the icon and header layout do not shift.
   Keep .pantera-mobile-nav__close as position:absolute (set above) — do not
   force relative here or it drops onto the drawer seam. */
@media (max-width: 1199px) {
  .pantera-nav-toggle__btn {
    position: relative;
  }

  .pantera-nav-toggle__btn::after,
  .pantera-mobile-nav__close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 44px;
    height: 44px;
    transform: translate(-50%, -50%);
  }

  /* Primary search filter: the button is 38px inside a 62px cell, so the
     cell's padding is a dead strip. Extend the hit area over it, rather than
     growing the button and reflowing the search card. */
  .pantera-search-card .pantera-cselect__trigger {
    position: relative;
  }

  .pantera-search-card .pantera-cselect__trigger::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 44px;
    transform: translateY(-50%);
  }

  /* Phone number in the mobile drawer is a call CTA, not body copy. */
  .pantera-mobile-nav__phone {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}

/* ==== CTA v2 — minimal accent close (DTRE register) ==================== */
.pantera-cta2 {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(1.75rem, 3.5vw, 2.5rem);
  max-width: 42rem;
}

.pantera-cta2__copy {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
}

.pantera-cta2__eyebrow {
  margin: 0 0 clamp(0.85rem, 2vw, 1.15rem);
  font-family: var(--wp--preset--font-family--nav);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}

.pantera-cta2 .pantera-cta2__title {
  margin: 0;
  max-width: 18ch;
  color: #fff;
  text-wrap: balance;
}

.pantera-cta .pantera-cta2__title.wp-block-heading {
  margin-bottom: 0;
}

.pantera-cta2__lead {
  display: none;
}

.pantera-cta2__link {
  display: inline-flex;
  align-items: center;
  gap: .85rem;
  color: #fff;
  text-decoration: none;
  font-size: 1.0625rem;
  font-weight: 500;
  letter-spacing: -.01em;
  transition: opacity .18s var(--pantera-ease);
}

.pantera-cta2__link:hover,
.pantera-cta2__link:focus-visible {
  opacity: .85;
}

.pantera-cta2__link:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}

.pantera-cta2__link-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid rgba(255, 255, 255, .55);
  background: transparent;
  color: #fff;
  transition: background .16s var(--pantera-ease), border-color .16s var(--pantera-ease), color .16s var(--pantera-ease);
}

.pantera-cta2__link:hover .pantera-cta2__link-icon,
.pantera-cta2__link:focus-visible .pantera-cta2__link-icon {
  background: #fff;
  border-color: #fff;
  color: var(--pantera-brand);
}

/* Legacy two-column / contact stack — hide when still present */
.pantera-cta2__actions,
.pantera-cta2__btn,
.pantera-cta2__contact {
  display: none !important;
}

@media (max-width: 767px) {
  .pantera-cta2 {
    gap: 1.5rem;
    max-width: none;
  }

  .pantera-cta2 .pantera-cta2__title {
    max-width: none;
    font-size: clamp(1.85rem, 8vw, 2.5rem);
  }

  .pantera-cta2__link {
    font-size: 1rem;
  }

  .pantera-cta2__link-icon {
    width: 2.35rem;
    height: 2.35rem;
  }
}
/* ==== /CTA v2 ==== */

/* ==== Back-of-house surfaces — search/archive/404 (2026-07) ==== */

/* Editorial post-list index — shared by search.html, archive.html and
   index.html (all three emit identical .pantera-post-list markup, so one
   system covers all of them). Cascades after the earlier "gap card" rules
   above (same selectors, later in source order) rather than editing them
   in place, per file-ownership rules for this pass. */
.pantera-post-list {
  display: block;
  border-bottom: 1px solid var(--pantera-line);
}

.pantera-post-list__row {
  padding: clamp(1.5rem, 3vw, 2rem) 0;
  border: 0;
  border-top: 1px solid var(--pantera-line);
  border-radius: 0;
  background: none;
  box-shadow: none;
  max-width: none;
}

.pantera-post-list__date {
  color: var(--pantera-ink-muted);
}

.pantera-post-list__title {
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.3;
}

.pantera-post-list__title a {
  color: var(--pantera-ink);
  text-decoration: none;
}

.pantera-post-list__title a:hover,
.pantera-post-list__title a:focus-visible {
  color: var(--pantera-accent-dark);
  text-decoration: underline;
  text-underline-offset: .18em;
}

.pantera-post-list__excerpt {
  margin: .6rem 0 0;
  max-width: 62ch;
  color: var(--pantera-ink-muted);
  font-size: var(--pantera-text-body-sm);
  line-height: 1.6;
}

/* Empty state — no search results / empty archive */
.wp-block-query-no-results {
  padding: clamp(1.75rem, 3vw, 2.25rem) 0 0;
  border-top: 1px solid var(--pantera-line);
  color: var(--pantera-ink-muted);
}

.wp-block-query-no-results p {
  margin: 0;
  max-width: 62ch;
}

.wp-block-query-no-results a {
  color: var(--pantera-ink);
  text-decoration: underline;
  text-underline-offset: .18em;
}

/* Pagination — extend the bare-numeral treatment (see "Pagination — bare
   numerals on a hairline") to core Query Pagination blocks. Core renders
   query-pagination-numbers links with the same .page-numbers class as the
   classic property-archive pagination, so the same visual language applies
   via a wider selector rather than a second system. */
.wp-block-query-pagination {
  gap: .35rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--pantera-line);
}

.wp-block-query-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0 .55rem;
  font-size: var(--pantera-text-body-sm);
  font-variant-numeric: lining-nums tabular-nums;
  color: var(--pantera-ink-muted);
  text-decoration: underline transparent;
  text-decoration-thickness: 1.5px;
  text-underline-offset: .35em;
  transition: color .15s var(--pantera-ease), text-decoration-color .15s var(--pantera-ease);
}

.wp-block-query-pagination a.page-numbers:hover {
  color: var(--pantera-ink);
  text-decoration-color: var(--pantera-line);
}

.wp-block-query-pagination .page-numbers.current {
  color: var(--pantera-ink);
  font-weight: 600;
  text-decoration-color: var(--pantera-accent);
}

/* Site search — bring the wp:search input in line with the rest of the form
   system: hairline border, radius-sm (already forced below via the existing
   override), focus ring matching .pantera-form inputs. Button-inside layout
   puts the visible border on the wrapper, not the <input>, so that's where
   the hairline + focus ring live; coordinates with (does not duplicate) the
   pre-existing radius override on the same selector. */
.pantera-site-search .wp-block-search__inside-wrapper {
  box-sizing: border-box;
  border-color: var(--pantera-line) !important;
  background: #fff;
  transition: box-shadow .16s var(--pantera-ease), border-color .16s var(--pantera-ease);
}

.pantera-site-search .wp-block-search__inside-wrapper:focus-within {
  border-color: var(--pantera-accent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--pantera-accent) 20%, transparent);
}

.pantera-site-search .wp-block-search__input {
  padding: .9rem 1rem;
  font: inherit;
  color: var(--pantera-ink);
}

.pantera-site-search .wp-block-search__input:focus,
.pantera-site-search .wp-block-search__input:focus-visible {
  outline: none;
  box-shadow: none;
}

/* ==== /Back-of-house ==== */

