:root {
  --luxury-white: #FCFAF6;
  --luxury-ivory: #F7F3EC;
  --luxury-stone: #E6DED2;
  --luxury-greige: #CFC6B8;
  --luxury-charcoal: #111111;
  --luxury-soft-black: #1B1A17;
  --luxury-gray: #6F6A61;
  --luxury-champagne: #B6A27C;
  --luxury-burgundy: #4A1F25;
  --black: var(--luxury-soft-black);
  --obsidian: #151411;
  --ink: var(--luxury-charcoal);
  --charcoal: var(--luxury-soft-black);
  --deep-brown: #2B2420;
  --muted: var(--luxury-gray);
  --soft-muted: #8B857A;
  --cream: var(--luxury-ivory);
  --ivory: var(--luxury-white);
  --paper: var(--luxury-white);
  --stone: var(--luxury-stone);
  --platinum: var(--luxury-greige);
  --champagne: var(--luxury-champagne);
  --gold: var(--luxury-champagne);
  --gold-deep: #6F6049;
  --bronze: var(--luxury-burgundy);
  --white: #ffffff;
  --shadow: 0 24px 60px rgba(17, 17, 17, 0.1);
  --soft-shadow: 0 12px 32px rgba(17, 17, 17, 0.06);
  --space-2xs: 8px;
  --space-xs: 12px;
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 32px;
  --space-xl: 48px;
  --space-2xl: 64px;
  --space-3xl: 96px;
  --space-4xl: 128px;
  --space-5xl: 160px;
  --container-max: 1200px;
  --container-pad-desktop: var(--space-xl);
  --container-pad-tablet: var(--space-lg);
  --container-pad-mobile: var(--space-md);
  --serif: "Playfair Display", "Noto Sans JP", serif;
  --sans: "Inter", "Noto Sans JP", sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background:
    radial-gradient(circle at 14% 4%, rgba(74, 56, 32, 0.14), transparent 26%),
    radial-gradient(circle at 88% 14%, rgba(182, 162, 124, 0.16), transparent 30%),
    radial-gradient(circle at 50% 78%, rgba(215, 211, 200, 0.18), transparent 34%),
    linear-gradient(90deg, rgba(207, 198, 184, 0.014) 1px, transparent 1px) 0 0 / 140px 140px,
    linear-gradient(180deg, #F7F3EC 0%, #fbf5eb 42%, #E6DED2 100%);
  color: var(--ink);
  font-family: var(--sans);
  line-height: 1.65;
}

body.menu-open {
  overflow: hidden;
}

::selection {
  background: rgba(182, 162, 124, 0.32);
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--champagne);
  outline-offset: 4px;
}

p,
h1,
h2,
h3 {
  margin-top: 0;
}

p {
  color: var(--muted);
  max-width: 560px;
}

h1,
h2,
h3 {
  color: var(--ink);
  font-family: var(--serif);
  font-weight: 600;
  letter-spacing: 0;
}

h1 {
  font-size: clamp(4rem, 8vw, 8.8rem);
  line-height: 0.88;
  max-width: 8.5ch;
}

h2 {
  font-size: clamp(2.3rem, 4vw, 4.5rem);
  line-height: 1;
  max-width: 9.5ch;
}

h3 {
  font-size: clamp(1.25rem, 1.7vw, 1.8rem);
  line-height: 1.08;
}

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

.skip-link {
  background: var(--black);
  color: var(--white);
  font-weight: 800;
  left: 1rem;
  padding: 0.75rem 1rem;
  position: fixed;
  top: 1rem;
  transform: translateY(-140%);
  transition: transform 160ms ease;
  z-index: 60;
}

.skip-link:focus {
  transform: translateY(0);
}

.site-header {
  align-items: center;
  background: rgba(251, 246, 235, 0.9);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(207, 198, 184, 0.24);
  display: grid;
  gap: 1.2rem;
  grid-template-columns: auto 1fr auto;
  left: 0;
  padding: 0.9rem clamp(1.4rem, 4vw, 4rem);
  position: sticky;
  right: 0;
  top: 0;
  z-index: 50;
}

.site-header.dark-header {
  background: rgba(5, 4, 3, 0.66);
  border-bottom-color: rgba(182, 162, 124, 0.22);
  color: rgba(255, 250, 240, 0.82);
  position: fixed;
}

.brand {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1.46rem;
  font-weight: 700;
}

.dark-header .brand,
.section-dark .brand {
  color: var(--paper);
}

.site-nav {
  align-items: center;
  display: flex;
  gap: clamp(0.85rem, 1.25vw, 1.35rem);
  justify-content: center;
}

.site-nav a,
.language-switcher a {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dark-header .site-nav a,
.dark-header .language-switcher a {
  color: rgba(255, 250, 240, 0.72);
}

.site-nav a:hover,
.site-nav a[aria-current="page"],
.language-switcher a[aria-current="true"],
.dark-header .site-nav a:hover,
.dark-header .site-nav a[aria-current="page"],
.dark-header .language-switcher a[aria-current="true"] {
  color: var(--champagne);
}

.header-actions {
  align-items: center;
  display: flex;
  gap: 0.9rem;
  min-width: 0;
}

.header-actions .button {
  white-space: nowrap;
}

.language-switcher {
  border: 1px solid rgba(207, 198, 184, 0.3);
  display: flex;
}

.language-switcher a,
.language-switcher .disabled-lang {
  padding: 0.35rem 0.45rem;
}

.language-switcher .disabled-lang {
  color: var(--muted);
  cursor: not-allowed;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  opacity: 0.45;
  text-transform: uppercase;
}

@media (min-width: 1121px) and (max-width: 1320px) {
  .site-header {
    gap: 0.65rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .site-nav {
    gap: 0.72rem;
  }

  .site-nav a,
  .language-switcher a {
    font-size: 0.68rem;
  }

  .header-actions {
    gap: 0.55rem;
  }

  .header-actions .button {
    font-size: 0.72rem;
    min-height: 2.35rem;
    padding: 0.58rem 0.72rem;
  }
}

.menu-toggle {
  background: transparent;
  border: 0;
  color: inherit;
  display: none;
  height: 2.5rem;
  padding: 0;
  width: 2.5rem;
}

.menu-toggle span:not(.sr-only) {
  background: currentColor;
  display: block;
  height: 1px;
  margin: 7px auto;
  width: 24px;
}

.button,
button {
  font-family: var(--sans);
}

.button {
  align-items: center;
  border: 1px solid transparent;
  cursor: pointer;
  display: inline-flex;
  font-size: 0.74rem;
  font-weight: 850;
  justify-content: center;
  letter-spacing: 0.08em;
  min-height: 3.1rem;
  padding: 0.9rem 1.25rem;
  text-align: center;
  text-transform: uppercase;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button-primary,
.primary-button,
.cta-primary {
  background: var(--black);
  border: 1px solid rgba(182, 162, 124, 0.42);
  box-shadow: 0 14px 38px rgba(5, 4, 3, 0.22);
  color: var(--white);
}

.button-primary:hover,
.primary-button:hover,
.cta-primary:hover {
  background: var(--bronze);
  border-color: var(--champagne);
}

.button-secondary {
  background: rgba(255, 250, 240, 0.45);
  border-color: rgba(207, 198, 184, 0.42);
  color: var(--ink);
}

.button-secondary:hover {
  border-color: var(--champagne);
  color: var(--bronze);
}

.button-light {
  background: var(--paper);
  border-color: rgba(182, 162, 124, 0.5);
  color: var(--black);
}

.button-ghost-light {
  background: rgba(255, 250, 240, 0.04);
  border-color: rgba(182, 162, 124, 0.42);
  color: var(--paper);
}

.button-ghost-light:hover {
  background: rgba(182, 162, 124, 0.12);
}

.eyebrow {
  color: var(--gold-deep);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.18em;
  margin-bottom: 1rem;
  text-transform: uppercase;
}

.section-dark .eyebrow,
.dark-luxury .eyebrow,
.luxury-hero .eyebrow,
.final-cta .eyebrow {
  color: var(--champagne);
}

.lead {
  color: var(--muted);
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  max-width: 560px;
}

.gold-rule {
  background: linear-gradient(90deg, transparent, var(--champagne), transparent);
  height: 1px;
  margin: 1.2rem 0;
  width: 64px;
}

.section {
  margin: 0 auto;
  max-width: 1440px;
  padding: clamp(7rem, 8vw, 8.25rem) clamp(1.5rem, 6vw, 5.5rem);
}

.section-tight {
  padding-top: clamp(4.5rem, 6vw, 6rem);
}

.luxury-panel {
  background: rgba(255, 250, 240, 0.82);
  border: 1px solid rgba(207, 198, 184, 0.34);
  box-shadow: var(--soft-shadow);
}

.dark-luxury,
.section-dark {
  background:
    radial-gradient(circle at 78% 8%, rgba(182, 162, 124, 0.15), transparent 32%),
    linear-gradient(135deg, #111111, #1B1A17 62%, #221F1A);
  color: rgba(255, 255, 255, 0.84);
}

.section-dark h1,
.section-dark h2,
.section-dark h3,
.dark-luxury h1,
.dark-luxury h2,
.dark-luxury h3 {
  color: #FCFAF6;
}

.section-dark p,
.dark-luxury p {
  color: rgba(255, 250, 240, 0.72);
}

.card-luxury,
.property-card,
.service-card,
.mini-card,
.journal-card,
.insight-card,
.area-card {
  background: rgba(255, 250, 240, 0.86);
  border: 1px solid rgba(207, 198, 184, 0.28);
  border-radius: 0;
  box-shadow: var(--soft-shadow);
  transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.card-luxury:hover,
.property-card:hover,
.journal-card:hover,
.insight-card:hover {
  border-color: rgba(182, 162, 124, 0.72);
  box-shadow: 0 28px 80px rgba(5, 4, 3, 0.18);
  transform: translateY(-3px);
}

.luxury-image,
.editorial-image,
.hero-media,
.journal-card .card-image,
.property-card .card-image {
  background: var(--obsidian);
  box-shadow: var(--shadow);
  overflow: hidden;
  position: relative;
}

.luxury-image img,
.editorial-image img,
.hero-media img,
.journal-card .card-image img,
.property-card .card-image img {
  filter: saturate(0.86) contrast(1.08) brightness(0.92);
  height: 100%;
  object-fit: cover;
  transition: transform 0.55s ease, filter 0.55s ease;
  width: 100%;
}

.luxury-image:hover img,
.editorial-image:hover img,
.hero-media:hover img,
.journal-card:hover .card-image img,
.property-card:hover .card-image img {
  filter: saturate(0.9) contrast(1.12) brightness(0.94);
  transform: scale(1.03);
}

.luxury-image::after,
.editorial-image::after,
.hero-media::after,
.journal-card .card-image::after,
.property-card .card-image::after {
  background:
    linear-gradient(135deg, rgba(182, 162, 124, 0.18), transparent 38%),
    linear-gradient(0deg, rgba(5, 4, 3, 0.28), transparent 58%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.premium-grid {
  border: 1px solid rgba(207, 198, 184, 0.28);
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.premium-grid > article {
  background: rgba(255, 250, 240, 0.92);
  padding: clamp(1.4rem, 3vw, 2.2rem);
}

.luxury-hero {
  background: var(--black);
  color: var(--paper);
  min-height: 100vh;
  overflow: hidden;
  position: relative;
}

.luxury-hero-media,
.luxury-hero-overlay {
  inset: 0;
  position: absolute;
}

.luxury-hero-media img {
  filter: saturate(0.86) contrast(1.15) brightness(0.76);
  height: 100%;
  object-fit: cover;
  width: 100%;
}

/* Parallax: give the image vertical slack and promote it to its own layer so
   the scroll-driven translate is smooth and never reveals an edge. */
.luxury-hero-media.has-parallax img {
  height: 126%;
  top: 0;
  will-change: transform;
  backface-visibility: hidden;
}

.luxury-hero-overlay {
  background:
    linear-gradient(90deg, rgba(5, 4, 3, 0.96) 0%, rgba(5, 4, 3, 0.82) 38%, rgba(5, 4, 3, 0.24) 78%),
    linear-gradient(0deg, rgba(5, 4, 3, 0.78) 0%, transparent 44%);
}

.luxury-hero-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: calc(100vh - 4.6rem);
  padding: 3rem clamp(1.5rem, 6vw, 5.5rem) 3.25rem;
  position: relative;
  width: min(64vw, 880px);
  z-index: 2;
}

.luxury-hero h1 {
  color: var(--paper);
  margin-bottom: 1.35rem;
}

.hero-statement {
  color: rgba(255, 250, 240, 0.76);
  font-size: clamp(1.06rem, 1.55vw, 1.25rem);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.35rem;
}

.hero-proof,
.trust-strip {
  border-top: 1px solid rgba(182, 162, 124, 0.22);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.hero-proof {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  z-index: 2;
}

.hero-proof span,
.trust-strip p,
.proof-chip {
  color: rgba(255, 250, 240, 0.76);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  margin: 0;
  padding: 1rem clamp(1rem, 3vw, 2rem);
  text-transform: uppercase;
}

.hero-proof span + span,
.trust-strip p + p {
  border-left: 1px solid rgba(182, 162, 124, 0.2);
}

.page-hero,
.hero,
.form-page,
.trust-hero {
  align-items: center;
  display: grid;
  gap: clamp(2.5rem, 6vw, 7rem);
  grid-template-columns: minmax(0, 0.9fr) minmax(340px, 0.8fr);
  margin: 0 auto;
  max-width: 1440px;
  min-height: clamp(560px, 72vh, 760px);
  padding: clamp(6rem, 8vw, 8rem) clamp(1.5rem, 6vw, 5.5rem);
}

.page-hero h1,
.hero h1,
.form-page h1,
.trust-hero h1,
.page-title h1 {
  font-size: clamp(3rem, 5vw, 5.8rem);
  line-height: 0.95;
  max-width: 10ch;
}

.dark-hero,
.trust-hero.dark-luxury {
  max-width: none;
}

.editorial-image,
.hero-media {
  aspect-ratio: 4 / 5;
  min-height: 420px;
}

.editorial-split,
.split-heading,
.split-content,
.detail-grid,
.private-office-grid {
  display: grid;
  gap: clamp(2rem, 6vw, 6rem);
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr);
}

.editorial-split {
  align-items: center;
}

.split-heading {
  align-items: end;
  margin-bottom: 3rem;
}

.split-heading p,
.split-content p,
.detail-grid p {
  max-width: 560px;
}

.advisory-note,
.license-reminder,
.disclaimer,
.form-note,
.form-status,
.small-disclaimer {
  background: rgba(255, 250, 240, 0.82);
  border: 1px solid rgba(207, 198, 184, 0.28);
  color: var(--muted);
  padding: 1rem;
}

.advisory-note strong,
.license-reminder strong {
  color: var(--ink);
}

.human-proof,
.soft-stat-grid,
.card-grid,
.qualification-grid,
.property-grid,
.journal-grid,
.insight-grid {
  display: grid;
  gap: 1rem;
}

.human-proof,
.soft-stat-grid,
.card-grid.three,
.property-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.card-grid.compact {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.qualification-grid,
.editorial-properties {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mini-card,
.service-card,
.human-proof article,
.soft-stat-grid article {
  min-height: 100%;
  padding: clamp(1.4rem, 3vw, 2.2rem);
}

.page-kicker,
.tag,
.area,
.article-meta,
.price-note {
  color: var(--gold-deep);
  display: inline-flex;
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.13em;
  margin-bottom: 0.85rem;
  text-transform: uppercase;
}

.check-list {
  color: var(--muted);
  display: grid;
  gap: 0.78rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.check-list li {
  border-bottom: 1px solid rgba(207, 198, 184, 0.2);
  padding: 0 0 0.78rem 1.35rem;
  position: relative;
}

.check-list li::before {
  background: var(--champagne);
  content: "";
  height: 6px;
  left: 0;
  position: absolute;
  top: 0.65rem;
  width: 6px;
}

.muted-band {
  background: rgba(255, 250, 240, 0.58);
  border-block: 1px solid rgba(207, 198, 184, 0.24);
  max-width: none;
}

.muted-band > * {
  margin-left: auto;
  margin-right: auto;
  max-width: 1320px;
}

.section-action,
.centered-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  justify-content: center;
  margin-top: 2rem;
}

.property-card {
  overflow: hidden;
}

.property-card .card-image {
  aspect-ratio: 1.18 / 1;
  box-shadow: none;
}

.property-card-body,
.journal-card-body,
.insight-card-body {
  padding: clamp(1.3rem, 2.5vw, 1.75rem);
}

.property-card h3,
.journal-card h3,
.insight-card h3 {
  max-width: 12ch;
}

.property-card p,
.journal-card p,
.insight-card p,
.mini-card p {
  font-size: 0.95rem;
}

.editorial-properties .property-card {
  background:
    linear-gradient(180deg, rgba(255, 250, 240, 0.94), rgba(242, 236, 223, 0.82));
}

.editorial-properties .property-card .card-image {
  aspect-ratio: 1.35 / 1;
}

.japan-portfolio {
  background:
    linear-gradient(180deg, rgba(9, 8, 6, 0.04), rgba(255, 250, 240, 0.42)),
    rgba(255, 250, 240, 0.24);
  max-width: none;
}

.japan-portfolio > * {
  margin-left: auto;
  margin-right: auto;
  max-width: 1320px;
}

.portfolio-mosaic {
  display: grid;
  gap: 1rem;
  grid-auto-rows: minmax(220px, 17vw);
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.82fr) minmax(0, 0.82fr);
}

.mosaic-item {
  background: var(--obsidian);
  box-shadow: var(--soft-shadow);
  margin: 0;
  overflow: hidden;
  position: relative;
}

.mosaic-large {
  grid-row: span 2;
}

.mosaic-wide {
  grid-column: span 2;
}

.mosaic-item img {
  filter: saturate(0.88) contrast(1.08) brightness(0.9);
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.mosaic-item::after {
  background: linear-gradient(0deg, rgba(5, 4, 3, 0.72), transparent 55%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.mosaic-item figcaption {
  bottom: 1rem;
  color: var(--paper);
  font-size: 0.76rem;
  font-weight: 850;
  left: 1rem;
  letter-spacing: 0.12em;
  position: absolute;
  text-transform: uppercase;
  z-index: 1;
}

.tag-row,
.area-labels,
.proof-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 1rem 0;
}

.tag-row .tag,
.area-labels span,
.proof-chips span,
.proof-chip {
  background: rgba(182, 162, 124, 0.08);
  border: 1px solid rgba(207, 198, 184, 0.26);
  color: var(--gold-deep);
  margin: 0;
  padding: 0.28rem 0.46rem;
}

.text-link {
  color: var(--gold-deep);
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  margin-top: 0.9rem;
  text-transform: uppercase;
}

.text-link::after {
  content: "->";
  margin-left: 0.45rem;
}

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

.faq-teasers p {
  background: rgba(255, 250, 240, 0.82);
  border: 1px solid rgba(207, 198, 184, 0.22);
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(1.05rem, 1.5vw, 1.35rem);
  line-height: 1.14;
  margin: 0;
  max-width: none;
  min-height: 150px;
  padding: clamp(1.2rem, 2.5vw, 1.8rem);
}

.process-list,
.luxury-timeline {
  border-top: 1px solid rgba(207, 198, 184, 0.28);
  display: grid;
}

.process-list article,
.luxury-timeline article {
  border-bottom: 1px solid rgba(207, 198, 184, 0.28);
  display: grid;
  gap: 1rem;
  grid-template-columns: 90px minmax(180px, 0.5fr) 1fr;
  padding: 1.35rem 0;
}

.process-list span,
.luxury-timeline span {
  color: var(--gold-deep);
  font-family: var(--serif);
  font-size: 1.45rem;
}

.private-brief {
  background:
    radial-gradient(circle at 12% 10%, rgba(182, 162, 124, 0.12), transparent 30%),
    radial-gradient(circle at 90% 78%, rgba(74, 56, 32, 0.22), transparent 34%),
    linear-gradient(135deg, #070a0c 0%, #0b0f12 50%, #111111 100%);
  border-block: 1px solid rgba(182, 162, 124, 0.18);
  color: rgba(255, 250, 240, 0.74);
  display: grid;
  gap: clamp(2.5rem, 6vw, 7rem);
  grid-template-columns: minmax(0, 0.85fr) minmax(360px, 1fr);
  max-width: none;
  overflow: hidden;
  position: relative;
}

.private-brief::before {
  background:
    linear-gradient(90deg, rgba(182, 162, 124, 0.035) 1px, transparent 1px),
    linear-gradient(0deg, rgba(182, 162, 124, 0.025) 1px, transparent 1px);
  background-size: 96px 96px;
  content: "";
  inset: 0;
  opacity: 0.42;
  pointer-events: none;
  position: absolute;
}

.private-brief > * {
  position: relative;
  z-index: 1;
}

.private-brief h2 {
  color: var(--paper);
  max-width: 9.5ch;
}

.private-brief-copy p:not(.eyebrow) {
  color: rgba(255, 250, 240, 0.66);
  font-size: clamp(1.05rem, 1.6vw, 1.28rem);
  max-width: 610px;
}

.private-brief-form,
.consultation-form {
  background: rgba(255, 250, 240, 0.9);
  border: 1px solid rgba(207, 198, 184, 0.34);
  box-shadow: var(--soft-shadow);
  padding: clamp(1.4rem, 3vw, 2.2rem);
}

.private-brief-form,
.form-section {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.private-brief .private-brief-form {
  align-self: center;
  background:
    linear-gradient(135deg, rgba(255, 250, 240, 0.04), rgba(255, 250, 240, 0.015)),
    rgba(8, 11, 13, 0.82);
  border: 1px solid rgba(215, 211, 200, 0.22);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.34);
}

.private-brief .private-brief-form label {
  color: rgba(255, 250, 240, 0.76);
}

.private-brief .private-brief-form select {
  background-color: rgba(255, 250, 240, 0.075);
  border-color: rgba(215, 211, 200, 0.24);
  color: var(--paper);
}

.private-brief .private-brief-form option {
  color: var(--charcoal);
}

.private-brief .private-brief-form .button {
  grid-column: 1 / -1;
}

.form-step {
  border-top: 1px solid rgba(207, 198, 184, 0.28);
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
  padding-top: 1rem;
}

.form-step-title {
  color: var(--gold-deep);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.14em;
  margin: 0;
  text-transform: uppercase;
}

.message-field,
.form-note,
.form-status,
.form-submit,
.full-span {
  grid-column: 1 / -1;
}

.consultation-form label,
.private-brief-form label {
  color: var(--ink);
  display: grid;
  font-size: 0.78rem;
  font-weight: 850;
  gap: 0.45rem;
  letter-spacing: 0.06em;
}

input,
select,
textarea {
  background: var(--ivory);
  border: 1px solid rgba(207, 198, 184, 0.35);
  color: var(--charcoal);
  font: inherit;
  min-height: 3.1rem;
  padding: 0.78rem 0.85rem;
  width: 100%;
}

select {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--gold-deep) 50%),
    linear-gradient(135deg, var(--gold-deep) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 1.35rem,
    calc(100% - 13px) 1.35rem;
  background-repeat: no-repeat;
  background-size: 5px 5px, 5px 5px;
  padding-right: 2.2rem;
}

select:disabled {
  color: rgba(119, 111, 99, 0.7);
}

textarea {
  resize: vertical;
}

.checkbox-row {
  align-items: start;
  display: grid;
  gap: 0.7rem;
  grid-template-columns: auto 1fr;
  margin: 1rem 0;
}

.checkbox-row input {
  margin-top: 0.25rem;
  min-height: auto;
  width: auto;
}

.form-status {
  display: none;
}

.form-status.is-visible {
  display: block;
}

.small-print,
.small-disclaimer,
.legal-note {
  font-size: 0.84rem;
}

.page-title,
.journal-hero {
  margin: 0 auto;
  max-width: 1040px;
  padding: clamp(6rem, 8vw, 8rem) clamp(1.5rem, 6vw, 5.5rem) 3rem;
}

.page-title.centered,
.journal-hero.centered {
  text-align: center;
}

.page-title.centered h1,
.page-title.centered p,
.journal-hero.centered h1,
.journal-hero.centered p {
  margin-left: auto;
  margin-right: auto;
}

.result-title {
  max-width: 1180px;
  padding-bottom: clamp(2rem, 4vw, 3.2rem);
}

.result-title h1 {
  max-width: 12ch;
}

.search-brief-summary {
  background:
    linear-gradient(135deg, rgba(255, 250, 240, 0.92), rgba(242, 236, 223, 0.78));
  border: 1px solid rgba(207, 198, 184, 0.34);
  box-shadow: var(--soft-shadow);
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: clamp(1.6rem, 3vw, 2.4rem) auto 0;
  max-width: 1080px;
  text-align: left;
}

.search-brief-summary span {
  background: rgba(255, 250, 240, 0.58);
  min-height: 112px;
  padding: 1.1rem;
}

.search-brief-summary strong {
  color: var(--gold-deep);
  display: block;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  margin-bottom: 0.62rem;
  text-transform: uppercase;
}

.search-brief-summary em {
  color: var(--ink);
  display: block;
  font-style: normal;
  font-weight: 800;
  line-height: 1.25;
}

.faq-layout {
  display: grid;
  gap: 3rem;
  grid-template-columns: 270px minmax(0, 1fr);
  margin: 0 auto;
  max-width: 1240px;
  padding: 0 clamp(1.5rem, 6vw, 5.5rem) clamp(5rem, 8vw, 8rem);
}

.faq-sidebar {
  align-self: start;
  border-top: 1px solid rgba(207, 198, 184, 0.32);
  display: grid;
  position: sticky;
  top: 6.5rem;
}

.faq-sidebar a {
  border-bottom: 1px solid rgba(207, 198, 184, 0.28);
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  padding: 0.8rem 0;
  text-transform: uppercase;
}

.faq-content section + section {
  margin-top: 3rem;
}

.accordion {
  border-bottom: 1px solid rgba(207, 198, 184, 0.28);
}

.accordion button {
  background: transparent;
  border: 0;
  color: var(--ink);
  cursor: pointer;
  font: 850 1rem var(--sans);
  padding: 1.05rem 2rem 1.05rem 0;
  position: relative;
  text-align: left;
  width: 100%;
}

.accordion button::after {
  color: var(--gold-deep);
  content: "+";
  position: absolute;
  right: 0;
}

.accordion.is-open button::after {
  content: "-";
}

.accordion div {
  color: var(--muted);
  display: none;
  padding-bottom: 1.1rem;
}

.accordion.is-open div {
  display: block;
}

.journal-grid,
.insight-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.journal-card {
  overflow: hidden;
}

.journal-card .card-image {
  aspect-ratio: 16 / 11;
  box-shadow: none;
}

.journal-feature {
  background: rgba(255, 250, 240, 0.88);
  border: 1px solid rgba(207, 198, 184, 0.28);
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(330px, 0.85fr) 1fr;
}

.journal-feature .card-image {
  min-height: 430px;
}

.journal-feature .journal-card-body {
  align-self: center;
  padding: clamp(2rem, 4vw, 4rem);
}

.article-card-title {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.license-panel dl,
.trust-table {
  background: rgba(255, 250, 240, 0.9);
  border: 1px solid rgba(207, 198, 184, 0.34);
  margin: 0;
  padding: clamp(1.3rem, 3vw, 2rem);
}

.license-panel dl div,
.trust-table div {
  border-top: 1px solid rgba(207, 198, 184, 0.24);
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(150px, 0.32fr) 1fr;
  padding: 0.9rem 0;
}

.license-panel dl div:first-child,
.trust-table div:first-child {
  border-top: 0;
}

.license-panel dt,
.trust-table dt {
  color: var(--ink);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.license-panel dd,
.trust-table dd {
  color: var(--muted);
  margin: 0;
}

.area-guide-list {
  display: grid;
  gap: 1rem;
}

.area-guide-row,
.service-panel {
  background: rgba(255, 250, 240, 0.84);
  border: 1px solid rgba(207, 198, 184, 0.28);
  display: grid;
  gap: clamp(1.5rem, 4vw, 4rem);
  grid-template-columns: minmax(300px, 0.75fr) 1fr;
  min-height: 440px;
}

.area-guide-row img,
.service-panel img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.area-guide-row img[src*="tokyo-roppongi-city"] {
  object-position: center 46%;
}

.area-guide-row img[src*="alex-knight-shibuya-night"] {
  object-position: center 52%;
}

.area-guide-row img[src*="tokyo-mount-fuji-skyline"] {
  object-position: center 44%;
}

.area-guide-row img[src*="the-doors-kamiyamacho-002/terrace"] {
  object-position: center 56%;
}

.area-guide-row > div,
.service-panel-copy {
  align-self: center;
  padding: clamp(1.7rem, 4vw, 4rem);
}

.final-cta {
  background:
    radial-gradient(circle at 50% 0%, rgba(182, 162, 124, 0.16), transparent 30%),
    linear-gradient(135deg, var(--black), #1B1A17 70%, #221F1A);
  color: rgba(255, 250, 240, 0.76);
  padding: clamp(5rem, 8vw, 8rem) clamp(1.5rem, 6vw, 5.5rem);
  text-align: center;
}

.final-cta h2,
.final-cta p {
  margin-left: auto;
  margin-right: auto;
}

.final-cta h2 {
  color: var(--paper);
}

.pre-footer-cta {
  border-top: 1px solid rgba(182, 162, 124, 0.18);
}

.site-footer {
  background: var(--black);
  color: rgba(255, 250, 240, 0.7);
  display: grid;
  gap: 2rem;
  grid-template-columns: 1.25fr 0.7fr 0.8fr 0.7fr;
  padding: 3.5rem clamp(1.5rem, 6vw, 5.5rem);
}

.site-footer .brand {
  color: var(--paper);
}

.site-footer p {
  color: rgba(255, 250, 240, 0.62);
}

.site-footer h3 {
  color: var(--champagne);
  font-family: var(--sans);
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.site-footer nav {
  display: grid;
  gap: 0.5rem;
}

.site-footer a {
  color: rgba(255, 250, 240, 0.72);
  font-size: 0.92rem;
}

.site-footer a:hover {
  color: var(--champagne);
}

.site-footer .legal-note {
  border-top: 1px solid rgba(182, 162, 124, 0.18);
  grid-column: 1 / -1;
  margin: 0;
  max-width: none;
  padding-top: 1.2rem;
}

.article-page {
  margin: 0 auto;
  max-width: 1180px;
  padding: clamp(5rem, 8vw, 8rem) clamp(1.5rem, 6vw, 5.5rem) 2rem;
}

.article-header,
.article-body {
  max-width: 820px;
}

.article-hero-image {
  aspect-ratio: 16 / 8;
  margin: 3rem 0;
  object-fit: cover;
  width: 100%;
}

.article-body {
  color: var(--muted);
  font-size: 1.06rem;
}

.article-body h2 {
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  max-width: none;
}


body {
  background: var(--luxury-white);
  color: var(--luxury-charcoal);
  line-height: 1.72;
}

::selection {
  background: rgba(182, 162, 124, 0.22);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline-color: var(--luxury-champagne);
}

p,
.article-body,
.license-panel dd,
.trust-table dd,
.accordion div {
  color: var(--luxury-gray);
}

h1,
h2,
h3 {
  color: var(--luxury-charcoal);
  font-weight: 500;
}

h1 {
  line-height: 0.92;
}

h2 {
  line-height: 1.03;
}

h3 {
  line-height: 1.12;
}

.site-header {
  background: rgba(252, 250, 246, 0.9);
  border-bottom: 1px solid rgba(207, 198, 184, 0.5);
  box-shadow: none;
}

.site-header.dark-header {
  background: rgba(27, 26, 23, 0.74);
  border-bottom-color: rgba(207, 198, 184, 0.22);
}

.brand {
  color: var(--luxury-charcoal);
  font-weight: 600;
}

.site-nav a,
.language-switcher a {
  color: rgba(27, 26, 23, 0.68);
  font-weight: 700;
}

.dark-header .site-nav a,
.dark-header .language-switcher a {
  color: rgba(252, 250, 246, 0.68);
}

.site-nav a:hover,
.site-nav a[aria-current="page"],
.language-switcher a[aria-current="true"],
.dark-header .site-nav a:hover,
.dark-header .site-nav a[aria-current="page"],
.dark-header .language-switcher a[aria-current="true"] {
  color: var(--luxury-champagne);
}

.language-switcher {
  border-color: rgba(207, 198, 184, 0.42);
}

.button {
  box-shadow: none;
  font-weight: 750;
  letter-spacing: 0.08em;
}

.button:hover {
  box-shadow: none;
  transform: translateY(-1px);
}

.button-primary,
.primary-button,
.cta-primary {
  background: var(--luxury-charcoal);
  border-color: var(--luxury-charcoal);
  box-shadow: none;
  color: var(--luxury-white);
}

.button-primary:hover,
.primary-button:hover,
.cta-primary:hover {
  background: var(--luxury-soft-black);
  border-color: var(--luxury-soft-black);
  color: var(--luxury-white);
}

.button-secondary {
  background: transparent;
  border-color: rgba(27, 26, 23, 0.36);
  color: var(--luxury-charcoal);
}

.button-secondary:hover {
  background: rgba(247, 243, 236, 0.64);
  border-color: rgba(27, 26, 23, 0.58);
  color: var(--luxury-charcoal);
}

.button-light {
  background: var(--luxury-white);
  border-color: rgba(252, 250, 246, 0.78);
  color: var(--luxury-charcoal);
}

.button-ghost-light {
  background: transparent;
  border-color: rgba(252, 250, 246, 0.5);
  color: var(--luxury-white);
}

.button-ghost-light:hover {
  background: rgba(252, 250, 246, 0.08);
}

.eyebrow,
.page-kicker,
.tag,
.area,
.article-meta,
.price-note,
.form-step-title,
.process-list span,
.luxury-timeline span,
.text-link,
.search-brief-summary strong,
.accordion button::after {
  color: #6F6049;
  font-weight: 750;
}

.section-dark .eyebrow,
.dark-luxury .eyebrow,
.luxury-hero .eyebrow,
.final-cta .eyebrow {
  color: var(--luxury-champagne);
}

.gold-rule {
  background: var(--luxury-champagne);
  opacity: 0.58;
  width: 48px;
}

.section {
  padding-bottom: clamp(7.5rem, 9vw, 9.5rem);
  padding-top: clamp(7.5rem, 9vw, 9.5rem);
}

.section-tight {
  padding-top: clamp(4.75rem, 6vw, 6.25rem);
}

.muted-band,
.japan-portfolio {
  background: var(--luxury-ivory);
  border-block: 1px solid rgba(207, 198, 184, 0.48);
}

.luxury-panel,
.card-luxury,
.property-card,
.service-card,
.mini-card,
.journal-card,
.insight-card,
.area-card,
.advisory-note,
.license-reminder,
.disclaimer,
.form-note,
.form-status,
.small-disclaimer,
.license-panel dl,
.trust-table,
.journal-feature,
.area-guide-row,
.service-panel,
.premium-grid,
.premium-grid > article,
.faq-teasers p,
.search-brief-summary,
.search-brief-summary span {
  background: rgba(252, 250, 246, 0.96);
  border-color: rgba(207, 198, 184, 0.52);
  box-shadow: none;
}

.card-luxury:hover,
.property-card:hover,
.journal-card:hover,
.insight-card:hover {
  border-color: rgba(182, 162, 124, 0.5);
  box-shadow: 0 16px 38px rgba(17, 17, 17, 0.05);
  transform: translateY(-1px);
}

.editorial-properties .property-card,
.search-brief-summary {
  background: var(--luxury-white);
}

.tag-row .tag,
.area-labels span,
.proof-chips span,
.proof-chip {
  background: rgba(230, 222, 210, 0.38);
  border-color: rgba(207, 198, 184, 0.5);
  color: #6F6049;
}

.check-list li,
.process-list,
.luxury-timeline,
.process-list article,
.luxury-timeline article,
.form-step,
.license-panel dl div,
.trust-table div,
.faq-sidebar,
.faq-sidebar a,
.accordion,
.site-footer .legal-note {
  border-color: rgba(207, 198, 184, 0.5);
}

.check-list li::before {
  background: var(--luxury-champagne);
}

.luxury-image,
.editorial-image,
.hero-media,
.journal-card .card-image,
.property-card .card-image,
.mosaic-item {
  background: var(--luxury-soft-black);
  box-shadow: none;
}

.luxury-image img,
.editorial-image img,
.hero-media img,
.journal-card .card-image img,
.property-card .card-image img,
.mosaic-item img {
  filter: saturate(0.84) contrast(1.02) brightness(0.96);
}

.luxury-image:hover img,
.editorial-image:hover img,
.hero-media:hover img,
.journal-card:hover .card-image img,
.property-card:hover .card-image img {
  filter: saturate(0.88) contrast(1.04) brightness(0.98);
  transform: scale(1.018);
}

.luxury-image::after,
.editorial-image::after,
.hero-media::after,
.journal-card .card-image::after,
.property-card .card-image::after {
  background:
    linear-gradient(135deg, rgba(182, 162, 124, 0.08), transparent 42%),
    linear-gradient(0deg, rgba(17, 17, 17, 0.18), transparent 62%);
}

.luxury-hero,
.dark-luxury,
.section-dark,
.final-cta {
  background: var(--luxury-soft-black);
}

.luxury-hero-media img {
  filter: saturate(0.76) contrast(1.03) brightness(0.82);
}

.luxury-hero-overlay {
  background:
    linear-gradient(90deg, rgba(17, 17, 17, 0.88) 0%, rgba(27, 26, 23, 0.68) 42%, rgba(27, 26, 23, 0.24) 82%),
    linear-gradient(0deg, rgba(17, 17, 17, 0.62) 0%, transparent 48%);
}

.luxury-hero h1,
.section-dark h1,
.section-dark h2,
.section-dark h3,
.dark-luxury h1,
.dark-luxury h2,
.dark-luxury h3,
.final-cta h2 {
  color: var(--luxury-white);
}

.hero-statement,
.section-dark p,
.dark-luxury p,
.final-cta p,
.hero-proof span,
.trust-strip p,
.proof-chip {
  color: rgba(252, 250, 246, 0.7);
}

.hero-proof,
.trust-strip,
.hero-proof span + span,
.trust-strip p + p,
.pre-footer-cta {
  border-color: rgba(207, 198, 184, 0.22);
}

.private-brief {
  background:
    linear-gradient(135deg, #12110f 0%, #1B1A17 62%, #111111 100%);
  border-block-color: rgba(207, 198, 184, 0.22);
}

.private-brief::before {
  background:
    linear-gradient(90deg, rgba(207, 198, 184, 0.035) 1px, transparent 1px),
    linear-gradient(0deg, rgba(207, 198, 184, 0.025) 1px, transparent 1px);
}

.private-brief h2 {
  color: var(--luxury-white);
}

.private-brief-copy p:not(.eyebrow) {
  color: rgba(252, 250, 246, 0.66);
}

.private-brief-form,
.consultation-form {
  background: var(--luxury-white);
  border-color: rgba(207, 198, 184, 0.54);
  box-shadow: none;
}

.private-brief .private-brief-form {
  background: rgba(27, 26, 23, 0.82);
  border-color: rgba(207, 198, 184, 0.24);
  box-shadow: none;
}

.private-brief .private-brief-form select {
  background-color: rgba(252, 250, 246, 0.07);
  border-color: rgba(207, 198, 184, 0.28);
}

input,
select,
textarea {
  background: var(--luxury-white);
  border-color: rgba(207, 198, 184, 0.66);
  color: var(--luxury-charcoal);
}

select {
  background-image:
    linear-gradient(45deg, transparent 50%, #6F6049 50%),
    linear-gradient(135deg, #6F6049 50%, transparent 50%);
}

.faq-teasers p {
  color: var(--luxury-charcoal);
}

.mosaic-item::after {
  background: linear-gradient(0deg, rgba(17, 17, 17, 0.56), transparent 58%);
}

.site-footer {
  background: var(--luxury-soft-black);
  color: rgba(252, 250, 246, 0.68);
}

.site-footer p,
.site-footer a {
  color: rgba(252, 250, 246, 0.66);
}

.site-footer h3,
.site-footer a:hover {
  color: var(--luxury-champagne);
}

@media (max-width: 1120px) {
  .site-header {
    grid-template-columns: auto auto;
    justify-content: space-between;
  }

  .menu-toggle {
    display: block;
  }

  .site-nav,
  .header-actions {
    display: none;
  }

  .site-header.is-open {
    background: var(--black);
    color: var(--paper);
  }

  .site-header.is-open .site-nav,
  .site-header.is-open .header-actions {
    display: grid;
    grid-column: 1 / -1;
    justify-content: stretch;
  }

  .site-header.is-open .site-nav {
    gap: 0;
    padding-top: 0.7rem;
  }

  .site-header.is-open .site-nav a {
    border-bottom: 1px solid rgba(182, 162, 124, 0.18);
    color: rgba(255, 250, 240, 0.84);
    font-size: 0.95rem;
    padding: 0.86rem 0;
  }

  .site-header.is-open .header-actions {
    gap: 0.8rem;
  }

  .page-hero,
  .hero,
  .form-page,
  .trust-hero,
  .editorial-split,
  .split-heading,
  .split-content,
  .detail-grid,
  .private-office-grid,
  .journal-feature,
  .area-guide-row,
  .service-panel,
  .private-brief {
    grid-template-columns: 1fr;
  }

  .luxury-hero-content {
    width: min(74vw, 760px);
  }

  .human-proof,
  .soft-stat-grid,
  .property-grid,
  .journal-grid,
  .insight-grid,
  .faq-teasers,
  .search-brief-summary,
  .card-grid.three,
  .card-grid.compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .mosaic-large,
  .mosaic-wide {
    grid-column: auto;
    grid-row: auto;
  }

  .faq-sidebar {
    position: static;
  }
}

@media (max-width: 760px) {
  h1 {
    font-size: clamp(3rem, 15vw, 4.4rem);
    max-width: 100%;
  }

  h2 {
    font-size: clamp(2rem, 10vw, 3.2rem);
    max-width: 100%;
  }

  .site-header {
    padding-inline: 1rem;
  }

  .luxury-hero-content {
    justify-content: end;
    min-height: 94vh;
    padding: 7rem 1.25rem 9rem;
    width: 100%;
  }

  .luxury-hero-overlay {
    background:
      linear-gradient(0deg, rgba(5, 4, 3, 0.95) 0%, rgba(5, 4, 3, 0.7) 58%, rgba(5, 4, 3, 0.28) 100%);
  }

  .hero-actions,
  .header-actions,
  .language-switcher,
  .button {
    width: 100%;
  }

  .hero-proof,
  .trust-strip {
    grid-template-columns: 1fr;
  }

  .hero-proof span + span,
  .trust-strip p + p {
    border-left: 0;
    border-top: 1px solid rgba(182, 162, 124, 0.18);
  }

  .section,
  .page-hero,
  .hero,
  .form-page,
  .trust-hero,
  .page-title,
  .journal-hero,
  .article-page {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .section {
    padding-bottom: 4.5rem;
    padding-top: 4.5rem;
  }

  .editorial-image,
  .hero-media {
    aspect-ratio: 16 / 11;
    min-height: 0;
  }

  .human-proof,
  .soft-stat-grid,
  .property-grid,
  .journal-grid,
  .insight-grid,
  .card-grid.three,
  .card-grid.compact,
  .qualification-grid,
  .editorial-properties,
  .portfolio-mosaic,
  .faq-teasers,
  .search-brief-summary,
  .private-brief-form,
  .form-section,
  .faq-layout,
  .site-footer {
    grid-template-columns: 1fr;
  }

  .portfolio-mosaic {
    grid-auto-rows: minmax(220px, 64vw);
  }

  .process-list article,
  .luxury-timeline article,
  .license-panel dl div,
  .trust-table div {
    grid-template-columns: 1fr;
  }

  .message-field,
  .form-note,
  .form-status,
  .form-submit,
  .full-span {
    grid-column: auto;
  }
}

/* Compact editorial context: less reading fatigue, clearer visual anchors. */
.context-card-icon {
  align-items: center;
  background: rgba(171, 132, 72, 0.09);
  border: 1px solid rgba(171, 132, 72, 0.24);
  border-radius: 999px;
  color: var(--gold-deep, #8b693f);
  display: inline-flex;
  height: 2.25rem;
  justify-content: center;
  margin-bottom: 0.7rem;
  width: 2.25rem;
}

.context-card-icon svg {
  height: 1.15rem;
  width: 1.15rem;
}

.premium-grid > article:not(.property-card),
.mini-card,
.service-card,
.decision-card,
.human-proof article,
.soft-stat-grid article,
.qualification-grid article,
.trust-table > div {
  padding: clamp(1rem, 1.8vw, 1.35rem);
}

.premium-grid > article:not(.property-card) h3,
.mini-card h3,
.service-card h3,
.decision-card h3 {
  font-size: clamp(1.05rem, 1.7vw, 1.42rem);
  line-height: 1.12;
  margin-bottom: 0.55rem;
}

.premium-grid > article:not(.property-card) p:not(.page-kicker),
.mini-card p,
.service-card p,
.decision-card p {
  font-size: clamp(0.82rem, 1vw, 0.94rem);
  line-height: 1.48;
  margin-bottom: 0.55rem;
}

.context-source-link {
  align-items: center;
  color: var(--gold-deep, #7f6236);
  display: inline-flex;
  font-size: 0.69rem;
  font-weight: 800;
  gap: 0.3rem;
  letter-spacing: 0.06em;
  margin-top: 0.35rem;
  text-transform: uppercase;
}

.context-source-link::after { content: "↗"; font-size: 0.8rem; }

.context-compact-page .section {
  padding-bottom: clamp(2.6rem, 5vw, 4.5rem);
  padding-top: clamp(2.6rem, 5vw, 4.5rem);
}

.context-compact-page .split-heading {
  gap: clamp(1.4rem, 4vw, 3.5rem);
  margin-bottom: clamp(1.2rem, 3vw, 2rem);
}

.context-compact-page .split-heading h2 {
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 0.98;
}

.context-compact-page .premium-grid {
  gap: 1px;
  grid-template-columns: repeat(auto-fit, minmax(215px, 1fr));
}

.context-compact-page .premium-grid > article {
  min-height: 0;
}

.page-about .about-depth,
.page-exceptional .mandate-process {
  background-image:
    linear-gradient(90deg, rgba(247, 244, 237, 0.97), rgba(247, 244, 237, 0.86)),
    url("assets/user-premium/azabudai-hills-residence.webp");
  background-position: center;
  background-size: cover;
}

.page-exceptional .mandate-asset-types {
  background-image:
    linear-gradient(90deg, rgba(247, 244, 237, 0.96), rgba(247, 244, 237, 0.8)),
    url("assets/stock-premium/luxury-residence-kitchen.webp");
  background-position: center;
  background-size: cover;
}

.form-label-icon {
  color: var(--gold-deep, #8b693f);
  display: inline-flex;
  left: 0;
  position: absolute;
  top: 0.06rem;
}

.form-label-icon svg { height: 0.95rem; width: 0.95rem; }

.consultation-form label[data-form-icon="1"] {
  padding-left: 1.25rem;
  position: relative;
}

.compact-form-page .luxury-form-page {
  gap: clamp(1.2rem, 3vw, 2.5rem);
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
  padding-top: clamp(2.5rem, 5vw, 4rem);
}

.compact-form-page .form-intro h1 {
  font-size: clamp(2.6rem, 5vw, 5.2rem);
  line-height: 0.94;
}

.compact-form-page .consultation-form {
  padding: clamp(1.1rem, 2vw, 1.65rem);
}

.compact-form-page .form-section { gap: 0.85rem; }
.compact-form-page .form-step { margin-top: 1.2rem; padding-top: 1.2rem; }
.compact-form-page .form-step-title { margin-bottom: 0.8rem; }

.compact-form-page .consultation-form select,
.compact-form-page .consultation-form input:not([type="checkbox"]),
.compact-form-page .consultation-form textarea {
  min-height: 3rem;
  padding: 0.72rem 0.82rem;
}

.compact-form-page .consultation-form textarea { min-height: 7.5rem; }

.compact-form-page .advisory-note,
.compact-form-page .form-note {
  font-size: 0.84rem;
  line-height: 1.5;
  padding: 1rem;
}

.compact-form-page .form-intro {
  background-image:
    linear-gradient(180deg, rgba(248, 245, 238, 0.78), rgba(248, 245, 238, 0.94)),
    url("assets/user-premium/consultation-meeting-interior.webp");
  background-position: center;
  background-size: cover;
  padding: clamp(1.2rem, 3vw, 2rem);
}

@media (max-width: 720px) {
  .context-compact-page .section { padding-bottom: 2.25rem; padding-top: 2.25rem; }
  .context-compact-page .premium-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .context-compact-page .premium-grid > article { padding: 0.85rem; }
  .context-card-icon { height: 1.9rem; margin-bottom: 0.5rem; width: 1.9rem; }
  .context-card-icon svg { height: 0.98rem; width: 0.98rem; }
  .context-compact-page .premium-grid > article h3 { font-size: 0.98rem; }
  .context-compact-page .premium-grid > article p:not(.page-kicker) { font-size: 0.76rem; }
  .compact-form-page .luxury-form-page { padding-top: 1.2rem; }
  .compact-form-page .form-intro { padding: 1rem; }
  .compact-form-page .consultation-form { padding: 0.9rem; }
}

@media (max-width: 430px) {
  .context-compact-page .premium-grid { grid-template-columns: 1fr; }
}

/* High-contrast private inventory and shared icon language — 2026-06-19. */
section.private-opportunities-section {
  background-color: #07111e !important;
  background-image:
    radial-gradient(circle at 82% 4%, rgba(215, 178, 111, 0.2), transparent 32%),
    linear-gradient(145deg, #07111e 0%, #0b1a2c 58%, #13263b 100%) !important;
  background-position: center !important;
  background-size: cover !important;
  border: 1px solid rgba(215, 178, 111, 0.28);
  color: #fffaf0 !important;
}

section.private-opportunities-section h2,
section.private-opportunities-section .split-heading h2 {
  color: #fffaf0 !important;
}

section.private-opportunities-section .split-heading > p,
section.private-opportunities-section .private-disclaimer {
  color: rgba(255, 250, 240, 0.86) !important;
}

section.private-opportunities-section .eyebrow {
  color: #e2c586 !important;
}

.private-heading .eyebrow,
.private-heading > p,
.private-disclaimer,
.private-filter-bar .filter-label {
  align-items: center;
  display: flex;
  gap: 0.5rem;
}

.private-heading-icon,
.private-inline-icon,
.private-filter-bar .filter-icon,
.ui-action-icon {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  justify-content: center;
}

.private-heading-icon {
  background: rgba(226, 197, 134, 0.14);
  border: 1px solid rgba(226, 197, 134, 0.28);
  border-radius: 999px;
  height: 2rem;
  width: 2rem;
}

.private-inline-icon {
  color: #e2c586;
  height: 1.35rem;
  width: 1.35rem;
}

.private-heading-icon svg,
.private-inline-icon svg,
.private-filter-bar .filter-icon svg {
  fill: none;
  height: 1rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 1rem;
}

section.private-opportunities-section .private-filter-bar {
  background: rgba(255, 250, 244, 0.07);
  border-color: rgba(226, 197, 134, 0.22);
}

section.private-opportunities-section .private-filter-bar label {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(226, 197, 134, 0.2);
  color: rgba(255, 250, 240, 0.88);
}

section.private-opportunities-section .private-filter-bar select {
  background: rgba(3, 10, 18, 0.38);
  color: #fffaf0;
}

.ui-action-icon {
  height: 1.15em;
  margin-right: 0.42em;
  width: 1.15em;
}

.ui-action-icon svg {
  height: 100%;
  width: 100%;
}

.text-link .ui-action-icon {
  color: var(--gold-deep, #8a6d3b);
  margin-right: 0.35rem;
  vertical-align: -0.14em;
}

.button .ui-action-icon {
  margin-left: -0.1rem;
}

@media (max-width: 760px) {
  section.private-opportunities-section {
    border-radius: 22px;
  }

  .private-heading > p,
  .private-disclaimer {
    align-items: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}


.section {
  max-width: var(--container-max);
  padding: var(--space-4xl) var(--container-pad-desktop);
}

.section-tight {
  padding-top: var(--space-3xl);
}

.muted-band,
.japan-portfolio,
.section-dark,
.private-brief {
  max-width: none;
}

.muted-band,
.japan-portfolio,
.section-dark,
.private-brief,
.final-cta {
  padding-left: max(var(--container-pad-desktop), calc((100vw - var(--container-max)) / 2));
  padding-right: max(var(--container-pad-desktop), calc((100vw - var(--container-max)) / 2));
}

.muted-band > *,
.japan-portfolio > *,
.section-dark > * {
  max-width: var(--container-max);
}

.page-hero,
.hero,
.form-page,
.trust-hero {
  gap: var(--space-4xl);
  max-width: var(--container-max);
  padding: var(--space-4xl) var(--container-pad-desktop);
}

.page-title,
.journal-hero,
.article-page {
  max-width: var(--container-max);
  padding-left: var(--container-pad-desktop);
  padding-right: var(--container-pad-desktop);
}

.page-title,
.journal-hero {
  padding-bottom: var(--space-xl);
  padding-top: var(--space-3xl);
}

.article-page {
  padding-bottom: var(--space-2xl);
  padding-top: var(--space-3xl);
}

.luxury-hero-content {
  padding-left: max(var(--container-pad-desktop), calc((100vw - var(--container-max)) / 2));
  padding-right: max(var(--container-pad-desktop), calc((100vw - var(--container-max)) / 2));
}

.luxury-hero h1,
.page-hero h1,
.hero h1,
.form-page h1,
.trust-hero h1,
.page-title h1,
.journal-hero h1,
.article-header h1 {
  margin-bottom: var(--space-md);
}

h2 {
  margin-bottom: var(--space-md);
}

h3 {
  margin-bottom: var(--space-sm);
}

.eyebrow {
  margin-bottom: var(--space-sm);
}

.lead,
.hero-statement,
.split-heading p,
.split-content p,
.detail-grid p,
.private-brief-copy p:not(.eyebrow),
.final-cta p {
  margin-bottom: var(--space-lg);
}

.gold-rule {
  margin-bottom: var(--space-md);
  margin-top: var(--space-md);
}

.hero-actions,
.section-action,
.centered-actions {
  gap: var(--space-sm);
  margin-top: var(--space-lg);
}

.editorial-split,
.split-content,
.detail-grid,
.private-office-grid {
  gap: var(--space-4xl);
}

.split-heading {
  gap: var(--space-3xl);
  margin-bottom: var(--space-xl);
}

.premium-grid,
.property-grid,
.journal-grid,
.insight-grid,
.card-grid,
.qualification-grid,
.human-proof,
.soft-stat-grid {
  gap: var(--space-lg);
}

.card-grid.compact {
  gap: var(--space-md);
}

.portfolio-mosaic {
  gap: var(--space-lg);
}

.faq-teasers {
  gap: var(--space-md);
}

.property-card-body,
.journal-card-body,
.insight-card-body,
.mini-card,
.service-card,
.human-proof article,
.soft-stat-grid article,
.premium-grid > article,
.license-panel dl,
.trust-table,
.advisory-note,
.license-reminder,
.disclaimer,
.form-note,
.form-status,
.small-disclaimer,
.faq-teasers p,
.search-brief-summary span {
  padding: clamp(var(--space-lg), 3vw, calc(var(--space-lg) + var(--space-2xs)));
}

.property-card .card-image,
.journal-card .card-image,
.insight-card .card-image {
  margin-bottom: 0;
}

.page-kicker,
.tag,
.area,
.article-meta,
.price-note {
  margin-bottom: var(--space-xs);
}

.property-card h3,
.journal-card h3,
.insight-card h3,
.mini-card h3,
.service-card h3 {
  margin-bottom: var(--space-sm);
}

.property-card p,
.journal-card p,
.insight-card p,
.mini-card p,
.service-card p {
  margin-bottom: var(--space-sm);
}

.property-card-body .text-link,
.journal-card-body .text-link,
.insight-card-body .text-link,
.property-card-body .button,
.journal-card-body .button,
.insight-card-body .button {
  margin-top: var(--space-md);
}

.property-card-body .secondary-detail-link {
  color: var(--warm-gray);
  margin-right: var(--space-sm);
}

.small-disclaimer {
  margin-top: var(--space-md);
}

.tag-row,
.area-labels,
.proof-chips {
  gap: var(--space-2xs);
  margin-bottom: var(--space-md);
  margin-top: var(--space-md);
}

.process-list article,
.luxury-timeline article {
  gap: var(--space-lg);
  padding-bottom: var(--space-lg);
  padding-top: var(--space-lg);
}

.check-list {
  gap: var(--space-sm);
}

.check-list li {
  padding-bottom: var(--space-sm);
}

.private-brief {
  gap: var(--space-4xl);
  padding-bottom: var(--space-5xl);
  padding-top: var(--space-5xl);
}

.private-brief-form,
.consultation-form {
  gap: var(--space-md);
  padding: clamp(var(--space-lg), 3vw, calc(var(--space-lg) + var(--space-2xs)));
}

.private-brief-form,
.form-section {
  gap: var(--space-md);
}

.form-step {
  gap: var(--space-md);
  margin-top: var(--space-lg);
  padding-top: var(--space-lg);
}

.consultation-form label,
.private-brief-form label {
  gap: var(--space-xs);
}

.checkbox-row {
  gap: var(--space-sm);
  margin-bottom: var(--space-lg);
  margin-top: var(--space-lg);
}

input,
select,
textarea {
  padding: var(--space-xs) var(--space-sm);
}

.search-brief-summary {
  gap: var(--space-2xs);
  margin-top: var(--space-xl);
  max-width: var(--container-max);
}

.faq-layout {
  gap: var(--space-xl);
  max-width: var(--container-max);
  padding-left: var(--container-pad-desktop);
  padding-right: var(--container-pad-desktop);
}

.faq-content section + section {
  margin-top: var(--space-2xl);
}

.accordion button {
  padding-bottom: var(--space-md);
  padding-top: var(--space-md);
}

.accordion div {
  padding-bottom: var(--space-md);
}

.journal-feature .journal-card-body,
.area-guide-row > div,
.service-panel-copy {
  padding: var(--space-xl);
}

.area-guide-list {
  gap: var(--space-lg);
}

.area-guide-row,
.service-panel {
  gap: var(--space-xl);
}

.final-cta {
  padding-bottom: var(--space-4xl);
  padding-top: var(--space-4xl);
}

.site-footer {
  gap: var(--space-xl);
  padding: var(--space-2xl) max(var(--container-pad-desktop), calc((100vw - var(--container-max)) / 2));
}

.site-footer nav {
  gap: var(--space-xs);
}

.article-hero-image {
  margin-bottom: var(--space-xl);
  margin-top: var(--space-xl);
}

.article-body h2 {
  margin-top: var(--space-2xl);
}

@media (max-width: 1120px) {
  .section,
  .page-hero,
  .hero,
  .form-page,
  .trust-hero,
  .page-title,
  .journal-hero,
  .article-page,
  .faq-layout {
    padding-left: var(--container-pad-tablet);
    padding-right: var(--container-pad-tablet);
  }

  .muted-band,
  .japan-portfolio,
  .section-dark,
  .private-brief,
  .final-cta {
    padding-left: var(--container-pad-tablet);
    padding-right: var(--container-pad-tablet);
  }

  .luxury-hero-content {
    padding-left: var(--container-pad-tablet);
    padding-right: var(--container-pad-tablet);
  }

  .editorial-split,
  .split-heading,
  .split-content,
  .detail-grid,
  .private-office-grid,
  .private-brief,
  .area-guide-row,
  .service-panel {
    gap: var(--space-xl);
  }

  .property-grid,
  .journal-grid,
  .insight-grid,
  .card-grid,
  .qualification-grid,
  .human-proof,
  .soft-stat-grid,
  .portfolio-mosaic {
    gap: var(--space-md);
  }
}

@media (max-width: 760px) {
  .section,
  .page-hero,
  .hero,
  .form-page,
  .trust-hero,
  .page-title,
  .journal-hero,
  .article-page,
  .faq-layout {
    padding-left: var(--container-pad-mobile);
    padding-right: var(--container-pad-mobile);
  }

  .section,
  .page-hero,
  .hero,
  .form-page,
  .trust-hero {
    padding-bottom: var(--space-2xl);
    padding-top: var(--space-2xl);
  }

  .page-title,
  .journal-hero,
  .article-page {
    padding-bottom: var(--space-lg);
    padding-top: var(--space-2xl);
  }

  .muted-band,
  .japan-portfolio,
  .section-dark,
  .private-brief,
  .final-cta {
    padding-left: var(--container-pad-mobile);
    padding-right: var(--container-pad-mobile);
  }

  .private-brief,
  .final-cta {
    padding-bottom: calc(var(--space-2xl) + var(--space-sm));
    padding-top: calc(var(--space-2xl) + var(--space-sm));
  }

  .luxury-hero-content {
    padding-left: var(--container-pad-mobile);
    padding-right: var(--container-pad-mobile);
  }

  .split-heading,
  .editorial-split,
  .split-content,
  .detail-grid,
  .private-office-grid,
  .private-brief,
  .area-guide-row,
  .service-panel {
    gap: var(--space-lg);
  }

  .split-heading {
    margin-bottom: var(--space-lg);
  }

  .property-grid,
  .journal-grid,
  .insight-grid,
  .card-grid,
  .qualification-grid,
  .human-proof,
  .soft-stat-grid,
  .portfolio-mosaic,
  .faq-teasers,
  .premium-grid {
    gap: var(--space-md);
  }

  .property-card-body,
  .journal-card-body,
  .insight-card-body,
  .mini-card,
  .service-card,
  .human-proof article,
  .soft-stat-grid article,
  .premium-grid > article,
  .license-panel dl,
  .trust-table,
  .advisory-note,
  .license-reminder,
  .disclaimer,
  .form-note,
  .form-status,
  .small-disclaimer,
  .faq-teasers p,
  .search-brief-summary span,
  .private-brief-form,
  .consultation-form {
    padding: var(--space-md);
  }

  .hero-actions,
  .section-action,
  .centered-actions,
  .property-card-body .text-link,
  .journal-card-body .text-link,
  .insight-card-body .text-link,
  .property-card-body .button,
  .journal-card-body .button,
  .insight-card-body .button {
    margin-top: var(--space-md);
  }

  .site-footer {
    gap: var(--space-lg);
    padding: var(--space-2xl) var(--container-pad-mobile);
  }
}


:root {
  --charcoal: #111111;
  --soft-black: #1A1A1A;
  --ivory: #F7F3EC;
  --warm-white: #FCFAF6;
  --stone: #D8D0C2;
  --warm-gray: #6F6A61;
  --muted-gold: #B89B5E;
  --deep-gold: #8C744A;
  --pale-gold: #E8D9B5;
  --silver: #C8C8C4;
  --platinum: #E7E5DF;
  --silver-gray: #9A9A96;
  --black: var(--soft-black);
  --obsidian: #151515;
  --ink: var(--charcoal);
  --muted: var(--warm-gray);
  --soft-muted: var(--silver-gray);
  --cream: var(--ivory);
  --paper: var(--warm-white);
  --champagne: var(--muted-gold);
  --gold: var(--muted-gold);
  --gold-deep: var(--deep-gold);
  --bronze: #3B3126;
  --luxury-white: var(--warm-white);
  --luxury-ivory: var(--ivory);
  --luxury-stone: var(--stone);
  --luxury-greige: var(--silver);
  --luxury-charcoal: var(--charcoal);
  --luxury-soft-black: var(--soft-black);
  --luxury-gray: var(--warm-gray);
  --luxury-champagne: var(--muted-gold);
  --luxury-burgundy: #3B2325;
  --metal-border: linear-gradient(90deg, rgba(200, 200, 196, 0.52), rgba(184, 155, 94, 0.38), rgba(231, 229, 223, 0.68));
  --metal-soft-surface: linear-gradient(135deg, rgba(252, 250, 246, 0.98), rgba(231, 229, 223, 0.42));
  --metal-dark-line: linear-gradient(90deg, rgba(200, 200, 196, 0.16), rgba(184, 155, 94, 0.32), rgba(231, 229, 223, 0.14));
}

body {
  background: var(--warm-white);
  color: var(--charcoal);
}

p,
.lead,
.article-body,
.accordion div,
.license-panel dd,
.trust-table dd {
  color: var(--warm-gray);
}

h1,
h2,
h3,
.accordion button,
.license-panel dt,
.trust-table dt {
  color: var(--charcoal);
}

::selection {
  background: rgba(232, 217, 181, 0.42);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline-color: var(--muted-gold);
}

.site-header {
  background: rgba(252, 250, 246, 0.92);
  border-bottom-color: rgba(216, 208, 194, 0.72);
}

.site-header::after,
.site-footer .legal-note::before {
  background: var(--metal-border);
  content: "";
  display: block;
  height: 1px;
  opacity: 0.58;
}

.site-header::after {
  bottom: -1px;
  left: 0;
  position: absolute;
  right: 0;
}

.site-header.dark-header {
  background: rgba(26, 26, 26, 0.78);
  border-bottom-color: rgba(200, 200, 196, 0.22);
}

.brand {
  color: var(--charcoal);
}

.dark-header .brand,
.section-dark .brand,
.site-footer .brand {
  color: var(--warm-white);
}

.site-nav a,
.language-switcher a {
  color: rgba(17, 17, 17, 0.66);
}

.dark-header .site-nav a,
.dark-header .language-switcher a {
  color: rgba(252, 250, 246, 0.68);
}

.site-nav a:hover,
.site-nav a[aria-current="page"],
.language-switcher a[aria-current="true"],
.dark-header .site-nav a:hover,
.dark-header .site-nav a[aria-current="page"],
.dark-header .language-switcher a[aria-current="true"],
.text-link,
.page-kicker,
.tag,
.area,
.article-meta,
.price-note,
.form-step-title,
.process-list span,
.luxury-timeline span,
.search-brief-summary strong,
.accordion button::after {
  color: var(--deep-gold);
}

.section-dark .eyebrow,
.dark-luxury .eyebrow,
.luxury-hero .eyebrow,
.final-cta .eyebrow,
.site-footer h3,
.site-footer a:hover {
  color: var(--pale-gold);
}

.eyebrow {
  color: var(--deep-gold);
}

.gold-rule {
  background: var(--metal-border);
}

.button-primary,
.primary-button,
.cta-primary {
  background: var(--charcoal);
  border-color: var(--charcoal);
  color: var(--warm-white);
}

.button-primary::after,
.primary-button::after,
.cta-primary::after {
  background: var(--metal-border);
  content: "";
  display: block;
  height: 1px;
  inset: auto 12px 8px;
  opacity: 0.54;
  pointer-events: none;
  position: absolute;
}

.button-primary,
.primary-button,
.cta-primary {
  overflow: hidden;
  position: relative;
}

.button-primary:hover,
.primary-button:hover,
.cta-primary:hover {
  background: var(--soft-black);
  border-color: var(--soft-black);
}

.button-secondary,
.button-ghost-light,
.language-switcher,
input,
select,
textarea {
  border-color: rgba(216, 208, 194, 0.82);
}

.button-secondary {
  background: rgba(252, 250, 246, 0.24);
  color: var(--charcoal);
}

.button-secondary:hover {
  background: rgba(231, 229, 223, 0.36);
  border-color: rgba(140, 116, 74, 0.5);
}

.button-light {
  background: var(--warm-white);
  border-color: rgba(231, 229, 223, 0.84);
  color: var(--charcoal);
}

.button-ghost-light {
  color: var(--warm-white);
}

.muted-band,
.japan-portfolio {
  background: var(--ivory);
  border-block-color: rgba(216, 208, 194, 0.68);
}

.luxury-panel,
.card-luxury,
.property-card,
.service-card,
.mini-card,
.journal-card,
.insight-card,
.area-card,
.advisory-note,
.license-reminder,
.disclaimer,
.form-note,
.form-status,
.small-disclaimer,
.license-panel dl,
.trust-table,
.journal-feature,
.area-guide-row,
.service-panel,
.premium-grid,
.premium-grid > article,
.faq-teasers p,
.search-brief-summary,
.search-brief-summary span,
.consultation-form,
.private-brief-form {
  background: var(--warm-white);
  border-color: rgba(216, 208, 194, 0.72);
}

.property-card,
.journal-card,
.insight-card,
.mini-card,
.service-card,
.area-card,
.journal-feature,
.area-guide-row,
.service-panel,
.license-panel dl,
.trust-table,
.consultation-form {
  background-image: linear-gradient(180deg, rgba(252, 250, 246, 1), rgba(247, 243, 236, 0.36));
}

.property-card::before,
.journal-card::before,
.insight-card::before,
.mini-card::before,
.service-card::before,
.area-card::before,
.journal-feature::before,
.area-guide-row::before,
.service-panel::before,
.consultation-form::before {
  background: var(--metal-border);
  content: "";
  display: block;
  height: 1px;
  left: 0;
  opacity: 0.62;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
}

.property-card,
.journal-card,
.insight-card,
.mini-card,
.service-card,
.area-card,
.journal-feature,
.area-guide-row,
.service-panel,
.consultation-form {
  overflow: hidden;
  position: relative;
}

.card-luxury:hover,
.property-card:hover,
.journal-card:hover,
.insight-card:hover {
  border-color: rgba(184, 155, 94, 0.44);
}

.tag-row .tag,
.area-labels span,
.proof-chips span,
.proof-chip {
  background: rgba(231, 229, 223, 0.44);
  border-color: rgba(216, 208, 194, 0.74);
  color: var(--deep-gold);
}

.check-list li,
.process-list,
.luxury-timeline,
.process-list article,
.luxury-timeline article,
.form-step,
.license-panel dl div,
.trust-table div,
.faq-sidebar,
.faq-sidebar a,
.accordion,
.site-footer .legal-note,
.hero-proof,
.trust-strip,
.hero-proof span + span,
.trust-strip p + p,
.pre-footer-cta {
  border-color: rgba(216, 208, 194, 0.62);
}

.check-list li::before {
  background: var(--muted-gold);
}

.luxury-hero,
.dark-luxury,
.section-dark,
.final-cta,
.private-brief,
.site-footer {
  background: var(--soft-black);
}

.dark-luxury,
.section-dark,
.final-cta,
.private-brief {
  background-image:
    radial-gradient(circle at 18% 12%, rgba(232, 217, 181, 0.06), transparent 28%),
    linear-gradient(135deg, #111111 0%, #1A1A1A 64%, #22211F 100%);
}

.luxury-hero-overlay {
  background:
    linear-gradient(90deg, rgba(17, 17, 17, 0.88) 0%, rgba(26, 26, 26, 0.66) 44%, rgba(26, 26, 26, 0.2) 82%),
    linear-gradient(0deg, rgba(17, 17, 17, 0.62) 0%, transparent 50%);
}

.luxury-hero h1,
.section-dark h1,
.section-dark h2,
.section-dark h3,
.dark-luxury h1,
.dark-luxury h2,
.dark-luxury h3,
.final-cta h2,
.private-brief h2 {
  color: var(--warm-white);
}

.hero-statement,
.section-dark p,
.dark-luxury p,
.final-cta p,
.private-brief-copy p:not(.eyebrow),
.hero-proof span,
.trust-strip p,
.site-footer p,
.site-footer a {
  color: rgba(252, 250, 246, 0.7);
}

.private-brief .private-brief-form {
  background: rgba(26, 26, 26, 0.78);
  border-color: rgba(200, 200, 196, 0.26);
}

.private-brief .private-brief-form label,
.private-brief .private-brief-form select {
  color: rgba(252, 250, 246, 0.84);
}

.private-brief .private-brief-form select {
  background-color: rgba(252, 250, 246, 0.07);
  border-color: rgba(200, 200, 196, 0.3);
}

input,
select,
textarea {
  background: var(--warm-white);
  color: var(--charcoal);
}

select {
  background-image:
    linear-gradient(45deg, transparent 50%, var(--deep-gold) 50%),
    linear-gradient(135deg, var(--deep-gold) 50%, transparent 50%);
}

.luxury-image,
.editorial-image,
.hero-media,
.journal-card .card-image,
.property-card .card-image,
.mosaic-item {
  background: var(--soft-black);
}

.luxury-image::after,
.editorial-image::after,
.hero-media::after,
.journal-card .card-image::after,
.property-card .card-image::after {
  background:
    linear-gradient(135deg, rgba(232, 217, 181, 0.08), transparent 42%),
    linear-gradient(0deg, rgba(17, 17, 17, 0.16), transparent 62%);
}

.mosaic-item::after {
  background: linear-gradient(0deg, rgba(17, 17, 17, 0.52), transparent 60%);
}

.site-footer {
  border-top: 1px solid rgba(200, 200, 196, 0.18);
}


:root {
  --bg-image-home-hero: url("assets/stock-premium/tokyo-tower-dusk-panorama.jpeg");
  --bg-image-grand-residence: url("assets/stock-premium/luxury-residence-kitchen.jpeg");
  --bg-image-private-lounge: url("assets/stock-premium/luxury-residence-kitchen.jpeg");
  --bg-image-architecture: url("assets/stock-premium/tokyo-tower-blue-hour.jpeg");
  --bg-image-tokyo-night: url("assets/stock-premium/tokyo-tower-night-skyline.jpeg");
  --bg-image-soft-residence: url("assets/atbb-rentals/daikanyama-sarugakucho-terrace/living.jpg");
}

body {
  background-image:
    linear-gradient(180deg, rgba(252, 250, 246, 0.94), rgba(247, 243, 236, 0.96)),
    var(--bg-image-architecture);
  background-attachment: fixed, fixed;
  background-position: center, center;
  background-size: cover, cover;
}

.luxury-hero-media {
  background-image: var(--bg-image-home-hero);
  background-position: center;
  background-size: cover;
}

.luxury-hero-media::before {
  background:
    linear-gradient(90deg, rgba(17, 17, 17, 0.16), rgba(232, 217, 181, 0.06)),
    var(--bg-image-home-hero);
  background-position: center 46%;
  background-size: cover;
  content: "";
  inset: 0;
  opacity: 0.5;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.luxury-hero-media img {
  opacity: 0.84;
}

.page-hero,
.form-page,
.trust-hero,
.page-title,
.journal-hero,
.property-detail {
  --page-bg-image: var(--bg-image-grand-residence);
  background-color: var(--warm-white);
  isolation: isolate;
  overflow: hidden;
  position: relative;
}

.form-page,
.trust-hero {
  --page-bg-image: var(--bg-image-private-lounge);
}

.journal-hero,
.page-title {
  --page-bg-image: var(--bg-image-architecture);
}

.property-detail {
  --page-bg-image: var(--bg-image-soft-residence);
}

.page-hero.dark-luxury,
.trust-hero.dark-luxury {
  --page-bg-image: var(--bg-image-tokyo-night);
}

.page-hero::before,
.form-page::before,
.trust-hero::before,
.page-title::before,
.journal-hero::before,
.property-detail::before {
  background-image:
    linear-gradient(90deg, rgba(252, 250, 246, 0.9), rgba(252, 250, 246, 0.74) 48%, rgba(231, 229, 223, 0.42)),
    var(--page-bg-image);
  background-position: center;
  background-size: cover;
  content: "";
  inset: 0;
  opacity: 0.72;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.page-hero::after,
.form-page::after,
.trust-hero::after,
.page-title::after,
.journal-hero::after,
.property-detail::after {
  background:
    radial-gradient(circle at 18% 10%, rgba(232, 217, 181, 0.18), transparent 28%),
    linear-gradient(180deg, rgba(252, 250, 246, 0.18), rgba(252, 250, 246, 0.72));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.page-hero.dark-luxury::before,
.trust-hero.dark-luxury::before {
  background-image:
    linear-gradient(90deg, rgba(17, 17, 17, 0.86), rgba(26, 26, 26, 0.7) 48%, rgba(26, 26, 26, 0.42)),
    var(--page-bg-image);
  opacity: 0.82;
}

.page-hero.dark-luxury::after,
.trust-hero.dark-luxury::after {
  background:
    radial-gradient(circle at 18% 8%, rgba(232, 217, 181, 0.12), transparent 30%),
    linear-gradient(180deg, rgba(17, 17, 17, 0.08), rgba(17, 17, 17, 0.48));
}

.page-hero > *,
.form-page > *,
.trust-hero > *,
.page-title > *,
.journal-hero > *,
.property-detail > * {
  position: relative;
  z-index: 1;
}

.page-hero.hero-single-visual {
  grid-template-columns: minmax(0, 760px);
  justify-content: start;
}

.seller-hero,
.page-hero.dark-luxury.investment-hero {
  --page-bg-image: url("assets/user-premium/consultation-meeting-interior.webp");
}

.hero-market-note {
  color: rgba(255, 250, 240, 0.78);
  font-size: clamp(0.85rem, 1.1vw, 0.96rem);
  line-height: 1.55;
  margin: 1rem 0 0;
  max-width: 760px;
}

.muted-band,
.japan-portfolio,
.section:not(.section-dark):not(.private-brief) {
  background-image:
    linear-gradient(180deg, rgba(252, 250, 246, 0.92), rgba(247, 243, 236, 0.94)),
    var(--bg-image-architecture);
  background-position: center;
  background-size: cover;
}

.section-dark,
.private-brief,
.final-cta {
  background-image:
    linear-gradient(135deg, rgba(17, 17, 17, 0.94), rgba(26, 26, 26, 0.88)),
    var(--bg-image-tokyo-night);
  background-position: center;
  background-size: cover;
}

.site-footer {
  background-image:
    linear-gradient(135deg, rgba(17, 17, 17, 0.96), rgba(26, 26, 26, 0.9)),
    var(--bg-image-tokyo-night);
  background-position: center;
  background-size: cover;
}

@media (max-width: 760px) {
  body {
    background-attachment: scroll, scroll;
  }

  .page-hero::before,
  .form-page::before,
  .trust-hero::before,
  .page-title::before,
  .journal-hero::before,
  .property-detail::before {
    opacity: 0.54;
  }
}


.brand {
  align-items: center;
  display: inline-flex;
  line-height: 1;
  min-width: min(150px, 42vw);
}

.brand-logo {
  display: block;
  flex: 0 0 auto;
  height: auto;
  max-width: 42vw;
  object-fit: contain;
  width: 150px;
}

.brand-text {
  display: none;
}

.site-header .brand-logo {
  filter: brightness(0) saturate(100%) drop-shadow(0 10px 18px rgba(17, 17, 17, 0.12));
}

.site-header.dark-header .brand-logo,
.site-header.is-open .brand-logo,
.section-dark .brand-logo,
.site-footer .brand-logo {
  filter: brightness(1.14) drop-shadow(0 12px 22px rgba(0, 0, 0, 0.32));
}

.site-footer .brand {
  color: var(--warm-white);
  margin-bottom: var(--space-sm);
}

.site-footer .brand-logo {
  height: auto;
  max-width: 100%;
  width: 150px;
}

.hero-logo-lockup {
  margin-bottom: var(--space-md);
  opacity: 0.92;
  width: clamp(150px, 16vw, 220px);
}

.hero-logo-lockup img {
  display: block;
  filter: brightness(1.2) drop-shadow(0 20px 34px rgba(0, 0, 0, 0.38));
  height: auto;
  object-fit: contain;
  width: 100%;
}

.luxury-hero .hero-actions {
  align-items: center;
  display: grid;
  gap: var(--space-sm);
  grid-template-columns: repeat(2, minmax(180px, max-content));
  justify-content: start;
}

.luxury-hero .hero-actions .button {
  margin-top: 0;
  min-width: 180px;
  width: auto;
}

.private-brief {
  grid-template-columns: minmax(0, 0.78fr) minmax(540px, 1fr);
}

.private-brief .private-brief-form {
  gap: var(--space-md);
  max-width: 720px;
  min-width: min(100%, 620px);
  padding: clamp(var(--space-xl), 4.4vw, var(--space-2xl));
}

.private-brief .private-brief-form label:nth-of-type(1),
.private-brief .private-brief-form label:nth-of-type(3),
.private-brief .private-brief-form label:nth-of-type(5) {
  grid-column: 1 / -1;
}

.private-brief .private-brief-form select {
  min-height: 3.65rem;
  padding-bottom: 1.08rem;
  padding-top: 1.08rem;
}

.private-brief .private-brief-form optgroup {
  color: var(--luxury-charcoal);
  font-weight: 850;
}

.private-brief .private-brief-form .button {
  margin-top: var(--space-xs);
  min-height: 3.6rem;
}

.home-brief-actions {
  display: grid;
  gap: var(--space-sm);
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
}

.private-brief .private-brief-form .home-brief-actions .button {
  margin-top: 0;
  width: 100%;
}

.consultation-form input,
.consultation-form select {
  min-height: 3.45rem;
}

.consultation-form .message-field {
  display: grid;
  gap: var(--space-xs);
}

.consultation-form .message-field textarea {
  min-height: 190px;
  resize: vertical;
}

@media (max-width: 1120px) {
  .private-brief {
    grid-template-columns: 1fr;
  }

  .private-brief .private-brief-form {
    max-width: none;
    min-width: 0;
  }
}

@media (max-width: 760px) {
  .brand {
    min-width: min(132px, 44vw);
  }

  .brand-logo {
    height: auto;
    max-width: 44vw;
    width: 132px;
  }

  .brand-text {
    display: none;
  }

  .hero-logo-lockup {
    margin-bottom: var(--space-sm);
    width: 144px;
  }

  .luxury-hero .hero-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .luxury-hero .hero-actions .button {
    font-size: clamp(0.58rem, 2.45vw, 0.68rem);
    letter-spacing: 0.09em;
    min-width: 0;
    padding-inline: var(--space-xs);
    width: auto;
  }

  .private-brief .private-brief-form {
    gap: var(--space-sm);
    padding: var(--space-lg);
  }

  .private-brief .private-brief-form label,
  .private-brief .private-brief-form label:nth-of-type(1),
  .private-brief .private-brief-form label:nth-of-type(3),
  .private-brief .private-brief-form label:nth-of-type(5) {
    grid-column: 1 / -1;
  }

  .home-brief-actions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 430px) {
  .site-header .brand-logo {
    height: auto;
    width: 118px;
  }

  .site-header .brand-text {
    display: none;
  }

  .luxury-hero .hero-actions .button {
    font-size: 0.56rem;
    padding-inline: 0.55rem;
  }
}


.luxury-hero h1 {
  font-size: clamp(2.9rem, 5.4vw, 5.2rem);
  line-height: 0.98;
  letter-spacing: -0.005em;
  max-width: 14ch;
  text-shadow:
    0 16px 36px rgba(0, 0, 0, 0.34),
    0 0 28px rgba(232, 217, 181, 0.08);
}

.luxury-hero .hero-statement {
  font-weight: 400;
  line-height: 1.72;
  max-width: 690px;
  text-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

.lead {
  line-height: 1.78;
  max-width: 720px;
}

.premium-grid > article h3 {
  text-wrap: balance;
}

.home-brief-details {
  border-top: 1px solid rgba(232, 217, 181, 0.2);
  display: grid;
  gap: var(--space-sm);
  grid-column: 1 / -1;
  margin-top: var(--space-xs);
  padding-top: var(--space-md);
}

.home-brief-details[hidden] {
  display: none;
}

.private-brief .home-brief-details label {
  color: rgba(255, 250, 240, 0.82);
}

.home-brief-details textarea {
  background:
    linear-gradient(135deg, rgba(255, 250, 240, 0.08), rgba(232, 217, 181, 0.04)),
    rgba(255, 250, 240, 0.055);
  border-color: rgba(232, 217, 181, 0.26);
  color: var(--paper);
  line-height: 1.68;
  min-height: 230px;
}

.home-brief-details textarea::placeholder {
  color: rgba(255, 250, 240, 0.48);
}

.private-brief .home-brief-details .form-note {
  color: rgba(255, 250, 240, 0.64);
  margin: 0;
}

@media (max-width: 760px) {
  .luxury-hero .hero-statement {
    font-size: 1rem;
    line-height: 1.62;
    max-width: 100%;
  }

  .home-brief-details textarea {
    min-height: 190px;
  }
}


.section-dark .premium-grid > article,
.private-brief .premium-grid > article,
.final-cta .premium-grid > article,
.dark-luxury .premium-grid > article {
  background:
    linear-gradient(135deg, rgba(252, 250, 246, 0.09), rgba(232, 217, 181, 0.035)),
    rgba(17, 17, 17, 0.46);
  border-color: rgba(232, 217, 181, 0.24);
  color: rgba(252, 250, 246, 0.74);
}

.section-dark .premium-grid > article h3,
.private-brief .premium-grid > article h3,
.final-cta .premium-grid > article h3,
.dark-luxury .premium-grid > article h3 {
  color: var(--warm-white);
}

.section-dark .premium-grid > article .page-kicker,
.private-brief .premium-grid > article .page-kicker,
.final-cta .premium-grid > article .page-kicker,
.dark-luxury .premium-grid > article .page-kicker {
  color: var(--pale-gold);
}

.section-dark .advisory-note,
.section-dark .license-reminder,
.section-dark .disclaimer,
.section-dark .form-note,
.private-brief .advisory-note,
.private-brief .license-reminder,
.private-brief .disclaimer,
.private-brief .form-note,
.dark-luxury .advisory-note,
.dark-luxury .license-reminder,
.dark-luxury .disclaimer,
.dark-luxury .form-note,
.final-cta .advisory-note,
.final-cta .license-reminder,
.final-cta .disclaimer,
.final-cta .form-note {
  background:
    linear-gradient(135deg, rgba(252, 250, 246, 0.08), rgba(232, 217, 181, 0.035)),
    rgba(17, 17, 17, 0.42);
  border-color: rgba(232, 217, 181, 0.24);
  color: rgba(252, 250, 246, 0.72);
}

.section-dark .advisory-note strong,
.section-dark .license-reminder strong,
.private-brief .advisory-note strong,
.private-brief .license-reminder strong,
.dark-luxury .advisory-note strong,
.dark-luxury .license-reminder strong,
.final-cta .advisory-note strong,
.final-cta .license-reminder strong {
  color: var(--warm-white);
}

.private-brief .home-brief-details .form-note {
  background:
    linear-gradient(135deg, rgba(252, 250, 246, 0.08), rgba(232, 217, 181, 0.035)),
    rgba(17, 17, 17, 0.38);
  border-color: rgba(232, 217, 181, 0.24);
  color: rgba(252, 250, 246, 0.72);
  padding: var(--space-sm);
}


.site-header {
  overflow: visible;
}

.site-nav {
  gap: clamp(0.62rem, 0.95vw, 1.05rem);
}

.nav-item {
  align-items: center;
  display: flex;
  min-height: 2.6rem;
  position: relative;
}

.site-nav .nav-link {
  align-items: center;
  display: inline-flex;
  min-height: 2.6rem;
  position: relative;
  white-space: nowrap;
}

.has-mega > .nav-link::after {
  border: solid currentColor;
  border-width: 0 1px 1px 0;
  content: "";
  height: 5px;
  margin-left: 0.45rem;
  opacity: 0.72;
  transform: rotate(45deg) translateY(-2px);
  width: 5px;
}

.mega-menu {
  background:
    linear-gradient(135deg, rgba(252, 250, 246, 0.985), rgba(247, 243, 236, 0.955)),
    var(--warm-white);
  border: 1px solid rgba(184, 155, 94, 0.26);
  box-shadow: 0 26px 70px rgba(17, 17, 17, 0.22);
  display: grid;
  gap: 1.1rem;
  grid-template-columns: repeat(2, minmax(150px, 1fr));
  left: 50%;
  min-width: 390px;
  opacity: 0;
  padding: 1.05rem;
  pointer-events: none;
  position: absolute;
  top: calc(100% + 0.1rem);
  transform: translate(-50%, 10px);
  transition: opacity 220ms ease, transform 220ms ease, visibility 0s linear 260ms;
  visibility: hidden;
  z-index: 80;
}

@media (min-width: 901px) {
  .mega-menu.rental-menu-clean {
    grid-template-columns: minmax(220px, max-content) !important;
    max-width: 320px;
    min-width: 260px !important;
    width: max-content;
  }
}

.has-mega::after {
  content: "";
  display: block;
  height: 1.05rem;
  left: -0.7rem;
  pointer-events: auto;
  position: absolute;
  right: -0.7rem;
  top: 100%;
  z-index: 79;
}

.mega-menu::before {
  background: var(--metal-border);
  content: "";
  height: 1px;
  left: 1.05rem;
  position: absolute;
  right: 1.05rem;
  top: 0;
}

.nav-item:hover .mega-menu,
.nav-item:focus-within .mega-menu,
.nav-item.is-mega-open .mega-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
  transition-delay: 0s;
  visibility: visible;
}

.site-nav .mega-menu span {
  color: var(--gold-deep);
  display: block;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.14em;
  margin-bottom: 0.55rem;
  text-transform: uppercase;
}

.site-nav .mega-menu a {
  border-top: 1px solid rgba(207, 198, 184, 0.28);
  color: rgba(27, 26, 23, 0.76);
  display: block;
  font-size: 0.82rem;
  font-weight: 650;
  letter-spacing: 0;
  line-height: 1.34;
  padding: 0.55rem 0;
  text-transform: none;
}

.site-nav .mega-menu a:hover,
.site-nav .mega-menu a[aria-current="page"] {
  color: var(--luxury-burgundy);
}

.dark-header .mega-menu {
  background:
    linear-gradient(135deg, rgba(27, 26, 23, 0.985), rgba(17, 17, 17, 0.965)),
    var(--black);
  border-color: rgba(232, 217, 181, 0.24);
}

.dark-header .site-nav .mega-menu a {
  border-top-color: rgba(232, 217, 181, 0.18);
  color: rgba(252, 250, 246, 0.74);
}

.dark-header .site-nav .mega-menu span,
.dark-header .site-nav .mega-menu a:hover,
.dark-header .site-nav .mega-menu a[aria-current="page"] {
  color: var(--pale-gold);
}

.hero-private-search {
  align-items: end;
  background:
    linear-gradient(135deg, rgba(252, 250, 246, 0.99), rgba(236, 223, 192, 0.95)),
    var(--luxury-white);
  border: 1px solid rgba(232, 217, 181, 0.85);
  border-radius: 10px;
  box-shadow:
    0 36px 90px rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(255, 255, 255, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.7);
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(4, minmax(130px, 1fr)) minmax(170px, auto);
  margin-top: 1.15rem;
  max-width: none;
  padding: 1.05rem 1.1rem;
  width: min(94vw, 1120px);
}

.hero-private-search label {
  color: rgba(27, 26, 23, 0.6);
  display: grid;
  font-size: 0.62rem;
  font-weight: 700;
  gap: 0.4rem;
  letter-spacing: 0.14em;
  min-width: 0;
  text-transform: uppercase;
}

.hero-private-search label span {
  color: var(--luxury-burgundy);
}

.hero-private-search select {
  -webkit-appearance: none;
  appearance: none;
  background-color: rgba(255, 255, 255, 0.9);
  background-image:
    linear-gradient(45deg, transparent 50%, var(--luxury-burgundy) 50%),
    linear-gradient(135deg, var(--luxury-burgundy) 50%, transparent 50%);
  background-position:
    calc(100% - 20px) 50%,
    calc(100% - 15px) 50%;
  background-repeat: no-repeat;
  background-size: 5px 5px, 5px 5px;
  border-color: rgba(116, 36, 41, 0.24);
  color: var(--luxury-charcoal);
  font-weight: 600;
  min-height: 3.2rem;
  min-width: 0;
  padding-bottom: 0.78rem;
  padding-right: 2.45rem;
  padding-top: 0.78rem;
  width: 100%;
}

.hero-private-search option {
  color: var(--luxury-charcoal);
}

.hero-private-search .button {
  align-self: end;
  background:
    linear-gradient(135deg, #c9b27f, var(--luxury-burgundy));
  border: 1px solid rgba(74, 31, 37, 0.45);
  box-shadow: 0 18px 40px rgba(74, 31, 37, 0.42);
  color: #fff7e9;
  font-size: 0.92rem;
  font-weight: 850;
  justify-content: center;
  letter-spacing: 0.11em;
  min-height: 3.5rem;
  padding-inline: 1.4rem;
  text-transform: uppercase;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
  white-space: nowrap;
}

.hero-private-search .button:hover {
  background:
    linear-gradient(135deg, var(--luxury-burgundy), #2a1216);
  box-shadow: 0 22px 48px rgba(74, 31, 37, 0.52);
  color: var(--pale-gold);
  transform: translateY(-2px);
}

.hero-private-search .button .button-icon {
  height: 1.25rem;
  margin-right: 0.6rem;
  stroke-width: 2.1;
  width: 1.25rem;
}

.search-result-count {
  align-items: center;
  display: flex;
  gap: 0.55rem;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.3;
}

.search-result-count .src-icon {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
}

.search-result-count .src-icon svg {
  height: 18px;
  width: 18px;
}

.search-result-count strong {
  font-weight: 850;
}

.hero-search-count {
  color: #efe2c4;
  margin-top: 1rem;
  max-width: min(94vw, 1120px);
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.55);
}

.hero-search-count .src-icon svg {
  stroke: #c9b27f;
}

.hero-search-count strong {
  color: #ffffff;
}

.hero-search-count.is-empty {
  color: rgba(255, 248, 233, 0.82);
}

.floating-search-count {
  background: linear-gradient(135deg, #4A1F25, #2a1216);
  border: 1px solid rgba(201, 178, 127, 0.6);
  border-radius: 999px;
  bottom: 26px;
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.4);
  color: #f4ead2;
  font-size: 0.98rem;
  font-weight: 600;
  left: 50%;
  max-width: 92vw;
  opacity: 0;
  padding: 0.85rem 1.5rem;
  pointer-events: none;
  position: fixed;
  transform: translate(-50%, 18px);
  transition: opacity 0.28s ease, transform 0.28s ease;
  white-space: nowrap;
  z-index: 60;
}

.floating-search-count.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.floating-search-count .src-icon svg {
  stroke: #c9b27f;
}

.floating-search-count strong {
  color: #ffffff;
  font-size: 1.16rem;
}

.floating-search-count.is-empty {
  background: linear-gradient(135deg, #3a3733, #2c2c2a);
  color: rgba(255, 248, 233, 0.86);
  white-space: normal;
}

@media (max-width: 760px) {
  .floating-search-count {
    bottom: 16px;
    font-size: 0.9rem;
    padding: 0.7rem 1.1rem;
    white-space: normal;
  }
}

.recommended-card .recommended-price {
  color: var(--luxury-burgundy);
  font-weight: 800;
  margin: 0.2rem 0 0.6rem;
}

.property-card-body .card-price {
  color: var(--luxury-burgundy);
  font-weight: 800;
  margin: 0.15rem 0 0.5rem;
}


.building-hero-media {
  position: relative;
}

.status-badge {
  align-items: center;
  backdrop-filter: blur(8px);
  background: rgba(252, 250, 246, 0.94);
  border: 1px solid rgba(27, 26, 23, 0.08);
  border-radius: 999px;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.2);
  color: #1b1a17;
  display: inline-flex;
  font-size: 0.7rem;
  font-weight: 800;
  gap: 7px;
  left: 14px;
  letter-spacing: 0.08em;
  padding: 7px 13px;
  position: absolute;
  text-transform: uppercase;
  top: 14px;
  z-index: 4;
}

.status-dot {
  background: #9a8050;
  border-radius: 50%;
  flex: 0 0 auto;
  height: 8px;
  width: 8px;
}

.status-available .status-dot {
  background: #2e7d52;
}

.status-viewing .status-dot,
.status-offer_received .status-dot,
.status-under_negotiation .status-dot,
.status-application_in_progress .status-dot,
.status-screening .status-dot,
.status-contract_pending .status-dot {
  background: #b8860b;
}

.status-off_market .status-dot {
  background: #6f6a61;
}

.status-sold,
.status-leased {
  background: rgba(27, 26, 23, 0.92);
  border-color: rgba(232, 217, 181, 0.32);
  color: #f4ead2;
}

.status-sold .status-dot,
.status-leased .status-dot {
  background: #c9b27f;
}

/* Clean category icons inside the status / private badges */
.status-ico {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  justify-content: center;
}

.status-ico svg {
  height: 14px;
  width: 14px;
}

.status-badge .status-ico { color: #9a8050; }
.status-badge.availability-available .status-ico { color: #2e7d52; }
.status-badge.availability-reserved .status-ico { color: #b8860b; }
.status-badge.availability-unavailable .status-ico { color: #c9b27f; }
.private-lock-badge .status-ico { color: #f0d9a8; }
.private-lock-badge .status-ico svg { height: 13px; width: 13px; }

/* Stack of two independent badges (Status + Access) on a card image */
.card-badge-stack {
  position: absolute;
  left: 14px;
  top: 14px;
  z-index: 4;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  max-width: calc(100% - 96px);
}
.card-badge-stack .status-badge,
.card-badge-stack .access-badge {
  position: static;
  left: auto;
  top: auto;
  max-width: 100%;
}
/* Access badge (Public OK / Private) — mirrors the status badge styling */
.access-badge {
  align-items: center;
  backdrop-filter: blur(8px);
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.7rem;
  font-weight: 800;
  gap: 7px;
  letter-spacing: 0.08em;
  min-height: 2.02rem;
  overflow: hidden;
  padding: 7px 13px;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.access-badge .status-ico svg { height: 14px; width: 14px; }
.access-public {
  background: rgba(46, 125, 82, 0.14);
  border: 1px solid rgba(46, 125, 82, 0.32);
  color: #1f5c3b;
}
.access-public .status-ico { color: #2e7d52; }
.access-private {
  background: rgba(27, 26, 23, 0.92);
  border: 1px solid rgba(232, 217, 181, 0.32);
  color: #f4ead2;
}
.access-private .status-ico { color: #f0d9a8; }
/* Private teaser cards now also show their availability status badge */
.private-teaser-card .status-badge { display: inline-flex !important; }

.unavailable-overlay {
  align-items: center;
  background: rgba(12, 10, 8, 0.52);
  color: #ffffff;
  display: flex;
  flex-direction: column;
  gap: 4px;
  inset: 0;
  justify-content: center;
  position: absolute;
  text-align: center;
  z-index: 3;
}

.unavailable-title {
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.unavailable-sub {
  color: rgba(255, 248, 233, 0.85);
  font-size: 0.78rem;
  letter-spacing: 0.06em;
}

.is-unavailable .card-image img,
.building-hero.is-unavailable .building-hero-media img {
  filter: grayscale(0.75) brightness(0.62);
}

.process-info {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px 14px;
  margin: 0.55rem 0 0.3rem;
}

.process-pill {
  align-items: center;
  color: var(--luxury-burgundy);
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 750;
  gap: 6px;
}

.process-dot {
  background: #2e7d52;
  border-radius: 50%;
  display: inline-block;
  height: 7px;
  width: 7px;
}

.process-updated {
  color: var(--luxury-gray);
  font-size: 0.76rem;
  font-weight: 600;
}

.building-facts-panel .process-info {
  margin-top: 0.4rem;
}

.status-callout {
  border: 1px solid rgba(201, 178, 127, 0.55);
  border-left: 4px solid #b8860b;
  border-radius: 8px;
  margin: 1.1rem 0;
  padding: 0.85rem 1.05rem;
}

.status-callout-head {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.status-callout-label {
  font-size: 0.92rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.status-callout-action {
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-left: auto;
  padding: 3px 10px;
  text-transform: uppercase;
}

.status-callout-note {
  color: var(--luxury-gray);
  font-size: 0.86rem;
  line-height: 1.5;
  margin: 0.45rem 0 0;
}

.status-callout-open {
  background: rgba(46, 125, 82, 0.07);
  border-left-color: #2e7d52;
}

.status-callout-open .status-callout-label {
  color: #1f5e3c;
}

.status-callout-open .status-callout-action {
  background: rgba(46, 125, 82, 0.14);
  color: #1f5e3c;
}

.status-callout-open .status-dot {
  background: #2e7d52;
}

.status-callout-closed {
  background: rgba(27, 26, 23, 0.05);
  border-color: rgba(27, 26, 23, 0.18);
  border-left-color: #742429;
}

.status-callout-closed .status-callout-label {
  color: var(--luxury-burgundy);
}

.status-callout-closed .status-callout-action {
  background: rgba(116, 36, 41, 0.12);
  color: var(--luxury-burgundy);
}

.status-callout-closed .status-dot {
  background: #742429;
}


.request-cart-button {
  align-items: center;
  background: linear-gradient(135deg, #4A1F25, #2a1216);
  border: 1px solid rgba(201, 178, 127, 0.6);
  border-radius: 999px;
  bottom: 24px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.34);
  color: #f4ead2;
  cursor: pointer;
  display: none;
  font-size: 0.85rem;
  font-weight: 800;
  gap: 9px;
  letter-spacing: 0.04em;
  padding: 0.8rem 1.2rem;
  position: fixed;
  right: 24px;
  z-index: 70;
}

.request-cart-button.has-items {
  display: inline-flex;
}

.request-cart-button .rc-count {
  align-items: center;
  background: #c9b27f;
  border-radius: 999px;
  color: #2a1216;
  display: inline-flex;
  font-size: 0.74rem;
  font-weight: 850;
  height: 20px;
  justify-content: center;
  min-width: 20px;
  padding: 0 5px;
}

.request-cart-overlay {
  background: rgba(12, 10, 8, 0.5);
  inset: 0;
  position: fixed;
  z-index: 80;
}

.request-cart-drawer {
  background: var(--luxury-white);
  bottom: 0;
  box-shadow: -24px 0 60px rgba(0, 0, 0, 0.3);
  display: none;
  flex-direction: column;
  max-width: 92vw;
  position: fixed;
  right: 0;
  top: 0;
  transform: translateX(0);
  transition: transform 0.28s ease;
  width: 420px;
  z-index: 90;
}

.request-cart-drawer.is-open {
  display: flex;
  transform: translateX(0);
}

.request-cart-drawer .rc-head {
  align-items: center;
  border-bottom: 1px solid rgba(207, 198, 184, 0.5);
  display: flex;
  justify-content: space-between;
  padding: 1.2rem 1.4rem;
}

.request-cart-drawer .rc-head h2 {
  font-size: 1.1rem;
  margin: 0;
}

.request-cart-drawer .rc-close {
  background: none;
  border: none;
  color: var(--luxury-charcoal);
  cursor: pointer;
  font-size: 1.6rem;
  line-height: 1;
}

.request-cart-drawer .rc-body {
  flex: 1;
  overflow-y: auto;
  padding: 1rem 1.4rem;
}

.rc-empty {
  color: var(--luxury-gray);
  font-size: 0.9rem;
  padding: 1.5rem 0;
  text-align: center;
}

.rc-item {
  align-items: center;
  border-bottom: 1px solid rgba(207, 198, 184, 0.4);
  display: flex;
  gap: 12px;
  padding: 0.85rem 0;
}

.rc-item img {
  border-radius: 6px;
  height: 56px;
  object-fit: cover;
  width: 72px;
}

.rc-item-info {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.rc-item-info strong {
  font-size: 0.9rem;
}

.rc-item-info span {
  color: var(--luxury-gray);
  font-size: 0.78rem;
}

.rc-item-status {
  color: var(--luxury-burgundy) !important;
  font-weight: 700;
}

.rc-remove {
  background: none;
  border: none;
  color: var(--luxury-gray);
  cursor: pointer;
  font-size: 1.3rem;
  line-height: 1;
  padding: 4px 8px;
}

.rc-remove:hover {
  color: var(--luxury-burgundy);
}

.request-cart-drawer .rc-foot {
  border-top: 1px solid rgba(207, 198, 184, 0.5);
  padding: 1.1rem 1.4rem;
}

.rc-note {
  color: var(--luxury-gray);
  font-size: 0.78rem;
  line-height: 1.5;
  margin: 0 0 0.8rem;
}

.rc-actions {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.rc-actions .button {
  justify-content: center;
  text-align: center;
  width: 100%;
}

.rc-actions .button[disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

.request-cart-toast {
  background: rgba(27, 26, 23, 0.95);
  border-radius: 8px;
  bottom: 96px;
  color: #f4ead2;
  font-size: 0.85rem;
  font-weight: 700;
  left: 50%;
  opacity: 0;
  padding: 0.7rem 1.1rem;
  position: fixed;
  transform: translate(-50%, 12px);
  transition: opacity 0.25s ease, transform 0.25s ease;
  z-index: 95;
}

.request-cart-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

@media (max-width: 760px) {
  .request-cart-button {
    bottom: 16px;
    right: 16px;
  }
  .request-cart-button .rc-label {
    display: none;
  }
}

.building-recommended-grid,
.building-alsoviewed-grid {
  margin-top: 1.4rem;
}

.osusume-strip {
  display: grid;
  gap: 1.2rem;
  grid-auto-columns: minmax(250px, 1fr);
  grid-auto-flow: column;
  margin-top: 1.4rem;
  overflow-x: auto;
  padding-bottom: 0.6rem;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}

.osusume-strip .property-card {
  scroll-snap-align: start;
}

@media (max-width: 760px) {
  .osusume-strip {
    grid-auto-columns: minmax(220px, 82%);
  }
}

.seller-hero .hero-media img {
  filter: saturate(0.88) contrast(1.08) brightness(0.9);
}

.seller-strategy {
  background:
    linear-gradient(180deg, rgba(252, 250, 246, 0.78), rgba(230, 222, 210, 0.58));
}

.seller-valuation .private-brief-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.seller-valuation .home-brief-details,
.seller-valuation .private-brief-form .button {
  grid-column: 1 / -1;
}

.seller-form input {
  background-color: rgba(255, 250, 240, 0.075);
  border-color: rgba(215, 211, 200, 0.24);
  color: var(--paper);
}

.seller-form input::placeholder {
  color: rgba(255, 250, 240, 0.48);
}

@media (max-width: 1240px) {
  .site-header {
    gap: 0.85rem;
    padding-inline: clamp(1rem, 2vw, 2.6rem);
  }

  .site-nav {
    gap: 0.58rem;
  }

  .site-nav a,
  .language-switcher a {
    font-size: 0.66rem;
  }
}

@media (max-width: 1120px) {
  .site-header.is-open {
    max-height: 100vh;
    overflow-y: auto;
  }

  .site-header.is-open .site-nav {
    align-items: stretch;
  }

  .site-header.is-open .nav-item {
    align-items: stretch;
    border-bottom: 1px solid rgba(182, 162, 124, 0.18);
    display: grid;
    min-height: 0;
  }

  .site-header.is-open .site-nav .nav-link {
    border-bottom: 0;
    color: rgba(255, 250, 240, 0.9);
    font-size: 0.95rem;
    min-height: 0;
    padding: 0.86rem 0;
  }

  .site-header.is-open .has-mega > .nav-link::after {
    margin-left: auto;
  }

  .has-mega::after {
    display: none;
  }

  .mega-menu,
  .nav-item:hover .mega-menu,
  .nav-item:focus-within .mega-menu,
  .nav-item.is-mega-open .mega-menu {
    background: rgba(252, 250, 246, 0.045);
    border: 0;
    box-shadow: none;
    display: grid;
    grid-template-columns: 1fr;
    left: auto;
    min-width: 0;
    opacity: 1;
    padding: 0 0 0.82rem 0.8rem;
    pointer-events: auto;
    position: static;
    transform: none;
    visibility: visible;
  }

  .mega-menu::before {
    display: none;
  }

  .site-header.is-open .site-nav .mega-menu span {
    color: var(--pale-gold);
    margin-top: 0.55rem;
  }

  .site-header.is-open .site-nav .mega-menu a {
    border-top-color: rgba(232, 217, 181, 0.16);
    color: rgba(252, 250, 246, 0.7);
    font-size: 0.84rem;
    padding: 0.62rem 0;
  }

  .hero-private-search {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(94vw, 720px);
  }

  .hero-private-search .button {
    align-self: stretch;
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .hero-private-search {
    gap: 0.65rem;
    grid-template-columns: 1fr;
    margin-top: 1rem;
    padding: 0.85rem;
    width: 100%;
  }

  .hero-private-search .button {
    width: 100%;
  }

  .seller-valuation .private-brief-form {
    grid-template-columns: 1fr;
  }
}

.property-area-showcase {
  background:
    linear-gradient(180deg, rgba(252, 250, 246, 0.98), rgba(239, 233, 222, 0.58)),
    var(--luxury-white);
  border-block: 1px solid rgba(216, 208, 194, 0.62);
}

.prime-area-panel {
  border-top: 1px solid rgba(184, 155, 94, 0.28);
  margin-top: clamp(var(--space-xl), 6vw, var(--space-2xl));
  padding-top: clamp(var(--space-xl), 6vw, var(--space-2xl));
  position: relative;
}

.prime-area-panel::before {
  background: var(--metal-border);
  content: "";
  height: 1px;
  left: 0;
  opacity: 0.64;
  position: absolute;
  right: 0;
  top: -1px;
}

.prime-area-heading {
  margin-bottom: var(--space-lg);
}

.prime-area-grid {
  display: grid;
  gap: var(--space-md);
  grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
}

.prime-area-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: clamp(var(--space-lg), 3vw, var(--space-xl));
}

.prime-area-card-top {
  align-items: start;
  display: flex;
  gap: var(--space-sm);
  justify-content: space-between;
  margin-bottom: var(--space-md);
}

.prime-area-card-top > span,
.results-count {
  color: var(--gold-deep);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.area-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem;
  justify-content: flex-end;
}

.area-actions a {
  align-items: center;
  border: 1px solid rgba(184, 155, 94, 0.36);
  color: var(--luxury-charcoal);
  display: inline-flex;
  font-size: 0.66rem;
  font-weight: 850;
  justify-content: center;
  letter-spacing: 0.11em;
  min-height: 2rem;
  min-width: 3.2rem;
  padding: 0 0.62rem;
  text-transform: uppercase;
}

.area-actions a:hover {
  background: var(--luxury-charcoal);
  border-color: rgba(232, 217, 181, 0.52);
  color: var(--pale-gold);
}

.prime-area-card h3 {
  font-size: clamp(1.35rem, 2.2vw, 1.85rem);
  line-height: 1.08;
  margin-bottom: var(--space-sm);
  max-width: 14ch;
}

.prime-area-card p {
  color: var(--warm-gray);
  flex: 1;
  font-size: 0.94rem;
  margin-bottom: var(--space-md);
}

.results-filter-panel {
  align-items: end;
  background: rgba(252, 250, 246, 0.96);
  border: 1px solid rgba(216, 208, 194, 0.72);
  display: grid;
  gap: var(--space-sm);
  grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
  margin-bottom: var(--space-md);
  padding: clamp(var(--space-md), 2vw, var(--space-lg));
}

.results-filter-panel label {
  color: var(--gold-deep);
  display: grid;
  font-size: 0.68rem;
  font-weight: 850;
  gap: 0.44rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.results-filter-panel .rf-label {
  align-items: center;
  display: inline-flex;
  gap: 0.4rem;
}

.results-filter-panel .rf-ico {
  align-items: center;
  color: var(--gold-deep);
  display: inline-flex;
  flex: 0 0 auto;
  justify-content: center;
  opacity: 0.85;
}

.results-filter-panel .rf-ico svg {
  height: 15px;
  width: 15px;
}

.results-filter-panel select {
  min-height: 3rem;
  width: 100%;
}

.results-filter-panel .button {
  margin: 0;
  min-height: 3rem;
  width: 100%;
}

.results-count {
  margin-bottom: var(--space-md);
}

.results-property-grid {
  margin-top: var(--space-sm);
}

.results-empty {
  background: var(--luxury-white);
  border: 1px solid rgba(216, 208, 194, 0.72);
  color: var(--warm-gray);
  margin-top: var(--space-lg);
  padding: var(--space-lg);
  text-align: center;
}

.property-card[hidden] {
  display: none;
}

.property-action-strip {
  align-items: center;
  background:
    linear-gradient(135deg, rgba(252, 250, 246, 0.98), rgba(232, 217, 181, 0.76)),
    var(--luxury-white);
  border-block: 1px solid rgba(184, 155, 94, 0.32);
  display: grid;
  gap: var(--space-sm);
  grid-template-columns: auto auto minmax(220px, 1fr);
  margin: 0 auto;
  max-width: none;
  padding: var(--space-md) clamp(1.5rem, 6vw, 5.5rem);
}

.property-action-strip .button {
  margin: 0;
  min-height: 3.1rem;
}

.property-action-strip p {
  color: rgba(27, 26, 23, 0.68);
  font-size: 0.82rem;
  font-weight: 650;
  line-height: 1.5;
  margin: 0;
  max-width: 560px;
}

.clean-property-section .split-heading,
.property-decision-section .split-heading {
  margin-bottom: var(--space-lg);
}

.icon-fact-grid,
.decision-card-grid {
  display: grid;
  gap: var(--space-md);
}

.icon-fact-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.decision-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.icon-fact-card,
.decision-card {
  background:
    linear-gradient(180deg, rgba(252, 250, 246, 1), rgba(247, 243, 236, 0.58));
  border: 1px solid rgba(216, 208, 194, 0.72);
  min-height: 100%;
  padding: clamp(var(--space-md), 2vw, var(--space-lg));
}

.property-icon {
  fill: none;
  height: 1.7rem;
  margin-bottom: var(--space-sm);
  stroke: var(--luxury-burgundy);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.85;
  width: 1.7rem;
}

.icon-fact-card strong,
.decision-card h3 {
  color: var(--luxury-charcoal);
  display: block;
  font-family: var(--serif);
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  line-height: 1.05;
  margin-bottom: 0.42rem;
}

.icon-fact-card span,
.decision-card p {
  color: var(--warm-gray);
  font-size: 0.9rem;
  margin: 0;
}

.decision-card h3 {
  font-family: var(--sans);
  font-size: 1rem;
  font-weight: 850;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.breadcrumb {
  color: var(--warm-gray);
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.04em;
  margin: 0 auto;
  max-width: 1320px;
  padding: calc(var(--space-xl) + 4rem) clamp(1.5rem, 6vw, 5.5rem) 0;
  text-transform: uppercase;
}

.breadcrumb a {
  color: var(--deep-gold);
}

.building-hero {
  display: grid;
  gap: clamp(var(--space-lg), 4vw, var(--space-2xl));
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, 0.56fr);
  padding: clamp(var(--space-xl), 5vw, var(--space-3xl)) clamp(1.5rem, 6vw, 5.5rem);
}

.building-hero-media {
  background: var(--luxury-charcoal);
  border: 1px solid rgba(216, 208, 194, 0.72);
  box-shadow: var(--soft-shadow);
  min-height: min(64vh, 680px);
  overflow: hidden;
}

.building-hero-media img {
  display: block;
  height: 100%;
  min-height: min(64vh, 680px);
  object-fit: cover;
  width: 100%;
}

.building-facts-panel,
.facts-panel {
  align-self: stretch;
  background:
    linear-gradient(180deg, rgba(252, 250, 246, 0.98), rgba(247, 243, 236, 0.76));
  border: 1px solid rgba(216, 208, 194, 0.76);
  box-shadow: var(--soft-shadow);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding: clamp(var(--space-lg), 3vw, var(--space-xl));
}

.building-facts-panel h1,
.facts-panel h1 {
  font-size: clamp(2.4rem, 5vw, 4.8rem);
  max-width: 10ch;
}

.building-facts-panel .price,
.facts-panel .price {
  color: var(--luxury-burgundy);
  font-family: var(--serif);
  font-size: clamp(1.5rem, 2.5vw, 2.4rem);
  line-height: 1.08;
  margin: 0;
}

.building-facts-panel dl,
.facts-panel dl {
  border-top: 1px solid rgba(216, 208, 194, 0.72);
  display: grid;
  margin: var(--space-sm) 0;
}

.building-facts-panel dl div,
.facts-panel dl div {
  border-bottom: 1px solid rgba(216, 208, 194, 0.58);
  display: grid;
  gap: var(--space-sm);
  grid-template-columns: minmax(110px, 0.42fr) 1fr;
  padding: 0.78rem 0;
}

.building-facts-panel dt,
.facts-panel dt {
  color: var(--deep-gold);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.building-facts-panel dd,
.facts-panel dd {
  color: var(--luxury-charcoal);
  font-weight: 750;
  margin: 0;
}

.building-gallery-grid,
.building-info-grid {
  display: grid;
  gap: var(--space-md);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.building-gallery-card {
  background: var(--luxury-white);
  border: 1px solid rgba(216, 208, 194, 0.72);
  margin: 0;
  overflow: hidden;
}

.building-gallery-card img {
  aspect-ratio: 4 / 3;
  display: block;
  object-fit: cover;
  width: 100%;
}

.building-gallery-card figcaption {
  display: grid;
  gap: 0.3rem;
  padding: var(--space-sm);
}

.building-gallery-card span {
  color: var(--deep-gold);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.building-gallery-card strong {
  color: var(--luxury-charcoal);
  font-family: var(--serif);
  font-size: 1.08rem;
  line-height: 1.15;
}

.property-card .secondary-detail-link + .button,
.map-card-body .button + .button {
  margin-top: var(--space-xs);
}

@media (max-width: 1120px) {
  .results-filter-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .results-filter-panel .button {
    grid-column: 1 / -1;
  }

  .property-action-strip,
  .icon-fact-grid,
  .decision-card-grid,
  .building-hero,
  .building-gallery-grid,
  .building-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .property-action-strip p {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .prime-area-grid,
  .results-filter-panel {
    grid-template-columns: 1fr;
  }

  .prime-area-card-top {
    align-items: stretch;
    flex-direction: column;
  }

  .area-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
  }

  .property-action-strip,
  .icon-fact-grid,
  .decision-card-grid,
  .building-hero,
  .building-gallery-grid,
  .building-info-grid {
    grid-template-columns: 1fr;
  }

  .breadcrumb {
    padding-top: calc(var(--space-lg) + 4rem);
  }

  .building-hero-media,
  .building-hero-media img {
    min-height: 360px;
  }

  .building-facts-panel dl div,
  .facts-panel dl div {
    grid-template-columns: 1fr;
  }
}

.map-title {
  --page-bg-image: url("assets/user-premium/tokyo-mount-fuji-skyline.webp");
  color: rgba(255, 250, 240, 0.92);
  min-height: clamp(560px, 72vh, 760px);
  padding-bottom: var(--space-xl);
}

.map-title::before {
  background-image:
    linear-gradient(90deg, rgba(7, 10, 13, 0.78), rgba(12, 16, 20, 0.48) 48%, rgba(7, 10, 13, 0.7)),
    linear-gradient(180deg, rgba(7, 10, 13, 0.16), rgba(7, 10, 13, 0.52)),
    var(--page-bg-image);
  background-position: center 46%;
  opacity: 0.98;
}

.map-title::after {
  background:
    radial-gradient(circle at 50% 34%, rgba(246, 224, 170, 0.26), transparent 24%),
    radial-gradient(circle at 78% 20%, rgba(255, 255, 255, 0.12), transparent 30%),
    linear-gradient(180deg, rgba(7, 10, 13, 0.04), rgba(7, 10, 13, 0.42));
}

.map-title .eyebrow,
.map-title .lead {
  color: rgba(255, 250, 240, 0.82);
}

.map-title h1 {
  color: #fffaf0;
  text-shadow:
    0 2px 18px rgba(0, 0, 0, 0.42),
    0 0 28px rgba(236, 205, 138, 0.34);
}

.map-title .lead {
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.42);
}

.map-title-kicker {
  align-items: center;
  display: inline-flex;
  gap: 0.55rem;
  justify-content: center;
}

.map-title-icon {
  align-items: center;
  background: rgba(255, 250, 240, 0.12);
  border: 1px solid rgba(236, 205, 138, 0.42);
  border-radius: 999px;
  box-shadow: 0 0 28px rgba(236, 205, 138, 0.18);
  color: var(--pale-gold);
  display: inline-flex;
  height: 2rem;
  justify-content: center;
  width: 2rem;
}

.map-title-icon svg {
  fill: none;
  height: 1.05rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 1.05rem;
}

.map-filter-bar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  justify-content: center;
  margin-top: var(--space-lg);
}

.map-filter-bar button {
  background: rgba(252, 250, 246, 0.88);
  border: 1px solid rgba(236, 205, 138, 0.38);
  color: rgba(27, 26, 23, 0.76);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  min-height: 2.45rem;
  padding: 0 1rem;
  text-transform: uppercase;
}

.map-filter-bar button:hover,
.map-filter-bar button.is-active {
  background: var(--luxury-charcoal);
  border-color: rgba(232, 217, 181, 0.44);
  color: var(--pale-gold);
}

.map-experience {
  align-items: start;
  display: grid;
  gap: clamp(1.1rem, 2vw, 1.8rem);
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
  padding-top: 0;
}

.google-map-shell {
  background: var(--luxury-charcoal);
  border: 1px solid rgba(184, 155, 94, 0.26);
  box-shadow: 0 28px 80px rgba(17, 17, 17, 0.14);
  min-height: min(72vh, 720px);
  overflow: hidden;
  position: sticky;
  top: 6.2rem;
}

/* ---- Real interactive Leaflet map ---- */
.leaflet-map {
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
  z-index: 1;
}

.leaflet-map .leaflet-tile-pane {
  filter: saturate(0.72) contrast(1.03) brightness(1.02);
}

.map-hint {
  background: rgba(17, 17, 17, 0.82);
  border: 1px solid rgba(232, 217, 181, 0.28);
  bottom: 0.9rem;
  color: var(--pale-gold);
  font-size: 0.66rem;
  font-weight: 600;
  left: 0.9rem;
  letter-spacing: 0.06em;
  margin: 0;
  max-width: min(360px, calc(100% - 1.8rem));
  padding: 0.55rem 0.85rem;
  pointer-events: none;
  position: absolute;
  text-transform: uppercase;
  z-index: 600;
}

/* Custom dot markers, coloured by service type */
.map-marker {
  background: transparent;
  border: 0;
}

.map-marker-dot {
  border: 2px solid var(--warm-white, #FCFAF6);
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(17, 17, 17, 0.45);
  display: block;
  height: 100%;
  transition: transform 160ms ease, box-shadow 160ms ease;
  width: 100%;
}

.map-marker-rent .map-marker-dot { background: var(--luxury-charcoal); }
.map-marker-sale .map-marker-dot { background: #B6A27C; }
.map-marker-investment .map-marker-dot { background: #4A1F25; }

/* Approximate (anonymised) listings get a soft dashed ring */
.map-marker.is-approx .map-marker-dot {
  border-style: dashed;
  border-color: rgba(255, 255, 255, 0.92);
  opacity: 0.9;
}

.map-marker:hover .map-marker-dot,
.map-marker.is-active .map-marker-dot {
  box-shadow: 0 0 0 4px rgba(232, 217, 181, 0.65), 0 8px 20px rgba(17, 17, 17, 0.5);
  transform: scale(1.45);
}
.map-marker.is-active { z-index: 700 !important; }

/* Clusters — charcoal/champagne to match the palette */
.map-cluster {
  align-items: center;
  background: rgba(17, 17, 17, 0.88);
  border: 1.5px solid rgba(232, 217, 181, 0.85);
  border-radius: 50%;
  box-shadow: 0 10px 26px rgba(17, 17, 17, 0.4);
  color: var(--pale-gold, #E8D9B5);
  display: flex;
  font-weight: 850;
  justify-content: center;
}
.map-cluster span { font-size: 0.84rem; }

/* Loading text + approximate-location badge */
.map-loading {
  color: var(--luxury-gray);
  font-size: 0.82rem;
  padding: 1rem 0.2rem;
}

.map-approx-badge {
  background: rgba(17, 17, 17, 0.82);
  color: var(--pale-gold, #E8D9B5);
  font-size: 0.58rem;
  font-weight: 800;
  left: 0.6rem;
  letter-spacing: 0.1em;
  padding: 0.26rem 0.55rem;
  position: absolute;
  text-transform: uppercase;
  top: 0.6rem;
  z-index: 2;
}

/* Rich map popups */
.leaflet-popup-content-wrapper {
  border-radius: 0;
  box-shadow: 0 22px 60px rgba(17, 17, 17, 0.32);
  padding: 0;
}

.leaflet-popup-content {
  margin: 0;
  width: 244px !important;
}

.leaflet-popup-tip {
  box-shadow: 0 22px 60px rgba(17, 17, 17, 0.32);
}

.map-popup-media {
  display: block;
  height: 132px;
  object-fit: cover;
  width: 100%;
}

.map-popup-body {
  display: grid;
  gap: 0.3rem;
  padding: 0.7rem 0.85rem 0.85rem;
}

.map-popup-body .map-popup-tag {
  color: var(--gold-deep);
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.map-popup-body h3 {
  font-size: 0.98rem;
  line-height: 1.25;
  margin: 0;
}

.map-popup-body .map-popup-area {
  color: var(--luxury-gray);
  font-size: 0.74rem;
  margin: 0;
}

.map-popup-body .map-popup-price {
  color: var(--ink);
  font-size: 0.92rem;
  font-weight: 800;
  margin: 0.1rem 0 0.35rem;
}

.map-popup-body .map-popup-link {
  color: var(--gold-deep);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-decoration: none;
  text-transform: uppercase;
}

.map-popup-body .map-popup-link:hover {
  text-decoration: underline;
}

.map-side-panel {
  display: grid;
  gap: var(--space-md);
}

.map-property-card {
  background: rgba(252, 250, 246, 0.92);
  border: 1px solid rgba(207, 198, 184, 0.72);
  box-shadow: 0 20px 60px rgba(17, 17, 17, 0.08);
  display: grid;
  overflow: hidden;
}

.map-property-card.is-active {
  border-color: rgba(184, 155, 94, 0.58);
  box-shadow: 0 26px 70px rgba(17, 17, 17, 0.14);
}

.map-card-media {
  min-height: 210px;
  position: relative;
}

.map-card-media img {
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

.map-card-media .tag {
  background: rgba(17, 17, 17, 0.72);
  color: var(--pale-gold);
  left: 1rem;
  position: absolute;
  top: 1rem;
}

.map-card-body {
  display: grid;
  gap: var(--space-sm);
  padding: clamp(1rem, 2.2vw, 1.35rem);
}

.map-card-heading {
  align-items: start;
  display: grid;
  gap: 0.8rem;
  grid-template-columns: minmax(0, 1fr) auto;
}

.map-card-heading h2 {
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  margin: 0.15rem 0 0;
}

.map-facts {
  display: grid;
  gap: 0.55rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.map-facts span {
  align-items: center;
  background: rgba(255, 255, 255, 0.58);
  border: 1px solid rgba(207, 198, 184, 0.58);
  color: rgba(27, 26, 23, 0.78);
  display: flex;
  font-size: 0.78rem;
  gap: 0.55rem;
  min-height: 2.65rem;
  padding: 0.55rem 0.65rem;
}

.map-facts b {
  align-items: center;
  background: var(--luxury-charcoal);
  color: var(--pale-gold);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.56rem;
  justify-content: center;
  letter-spacing: 0.07em;
  min-height: 1.55rem;
  min-width: 2.15rem;
  padding-inline: 0.35rem;
}

.recommendation-panel {
  background:
    linear-gradient(135deg, rgba(17, 17, 17, 0.96), rgba(33, 31, 27, 0.92)),
    var(--luxury-charcoal);
  color: rgba(252, 250, 246, 0.78);
  display: grid;
  gap: 0.85rem;
  padding: 1rem;
}

.recommendation-head {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.recommendation-head span {
  color: var(--pale-gold);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.recommendation-head strong {
  color: var(--warm-white);
  font-size: 1.35rem;
}

.rating-stars {
  display: flex;
  gap: 0.2rem;
}

.rating-stars button {
  background: transparent;
  border: 0;
  color: rgba(232, 217, 181, 0.34);
  font-size: 1.22rem;
  min-height: 2rem;
  padding: 0 0.1rem;
}

.rating-stars button.is-selected,
.rating-stars button:hover {
  color: var(--pale-gold);
}

.map-comment-form {
  display: grid;
  gap: 0.65rem;
}

.map-comment-form label {
  color: rgba(252, 250, 246, 0.72);
  display: grid;
  font-size: 0.68rem;
  font-weight: 850;
  gap: 0.45rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.map-comment-form textarea {
  background: rgba(252, 250, 246, 0.08);
  border-color: rgba(232, 217, 181, 0.24);
  color: var(--warm-white);
  min-height: 6rem;
  resize: vertical;
}

.map-comment-form textarea::placeholder {
  color: rgba(252, 250, 246, 0.44);
}

.map-comment-form .button {
  justify-self: start;
}

.map-comment-list {
  display: grid;
  gap: 0.5rem;
}

.map-comment {
  border-top: 1px solid rgba(232, 217, 181, 0.18);
  color: rgba(252, 250, 246, 0.7);
  font-size: 0.82rem;
  line-height: 1.55;
  padding-top: 0.5rem;
}

.map-comment time {
  color: var(--pale-gold);
  display: block;
  font-size: 0.62rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  margin-bottom: 0.15rem;
  text-transform: uppercase;
}

@media (max-width: 1120px) {
  .map-experience {
    grid-template-columns: 1fr;
  }

  .google-map-shell {
    min-height: 560px;
    position: relative;
    top: auto;
  }
}

@media (max-width: 760px) {
  .map-filter-bar {
    justify-content: stretch;
  }

  .map-filter-bar button {
    flex: 1 1 calc(50% - 0.65rem);
  }

  .google-map-shell {
    min-height: 560px;
  }

  .map-feature-card {
    grid-template-columns: 86px 1fr;
  }

  .map-pin {
    height: 2.25rem;
    width: 2.25rem;
  }

  .map-card-heading,
  .map-facts {
    grid-template-columns: 1fr;
  }
}


.button-icon {
  flex: 0 0 auto;
  height: 1rem;
  margin-right: 0.48rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 1rem;
}

.button-icon circle,
.button-icon path {
  fill: none;
}

.service-icon-section {
  background:
    linear-gradient(180deg, rgba(252, 250, 246, 0.94), rgba(247, 243, 236, 0.76)),
    var(--luxury-white);
  max-width: none;
}

.service-icon-section > * {
  margin-left: auto;
  margin-right: auto;
  max-width: 1320px;
}

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

.service-icon-card {
  background:
    linear-gradient(180deg, rgba(255, 250, 240, 0.94), rgba(247, 243, 236, 0.84));
  border: 1px solid rgba(184, 155, 94, 0.18);
  color: var(--luxury-charcoal);
  display: grid;
  gap: 0.82rem;
  min-height: 250px;
  padding: clamp(1.1rem, 1.8vw, 1.55rem);
  position: relative;
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.service-icon-card::before {
  background: linear-gradient(180deg, rgba(184, 155, 94, 0.42), rgba(184, 155, 94, 0));
  content: "";
  height: 3px;
  left: 1rem;
  position: absolute;
  right: 1rem;
  top: 0;
}

.service-icon-card:hover {
  background:
    linear-gradient(180deg, rgba(255, 250, 240, 1), rgba(240, 232, 218, 0.9));
  border-color: rgba(184, 155, 94, 0.54);
  box-shadow: 0 22px 58px rgba(17, 17, 17, 0.12);
  transform: translateY(-3px);
  z-index: 2;
}

.service-pictogram {
  align-items: center;
  background:
    radial-gradient(circle at 50% 45%, rgba(184, 155, 94, 0.16), transparent 58%),
    rgba(255, 250, 240, 0.64);
  border: 1px solid rgba(184, 155, 94, 0.22);
  color: var(--luxury-burgundy);
  display: block;
  height: 3.3rem;
  padding: 0.62rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.65;
  width: 3.3rem;
}

.service-pictogram path,
.service-pictogram circle {
  fill: none;
}

.service-icon-card span {
  color: var(--gold-deep);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.14em;
  line-height: 1.22;
  text-transform: uppercase;
}

.service-icon-card p {
  color: rgba(27, 26, 23, 0.66);
  font-size: 0.88rem;
  line-height: 1.58;
  margin: 0;
  max-width: none;
}

.service-image-strip {
  display: grid;
  gap: 1px;
  grid-template-columns: 1.1fr 0.82fr 1.05fr;
  margin-top: clamp(1.8rem, 4vw, 3.2rem);
}

.service-image-strip figure {
  background: var(--luxury-charcoal);
  margin: 0;
  min-height: clamp(260px, 25vw, 430px);
  overflow: hidden;
  position: relative;
}

.service-image-strip figure:nth-child(2) {
  min-height: clamp(300px, 30vw, 500px);
}

.service-image-strip img {
  filter: saturate(0.84) contrast(1.08) brightness(0.9);
  height: 100%;
  object-fit: cover;
  transition: transform 0.55s ease, filter 0.55s ease;
  width: 100%;
}

.service-image-strip figure:hover img {
  filter: saturate(0.9) contrast(1.12) brightness(0.94);
  transform: scale(1.025);
}

.service-image-strip figure::after {
  background:
    linear-gradient(0deg, rgba(5, 4, 3, 0.64), transparent 56%),
    linear-gradient(135deg, rgba(184, 155, 94, 0.16), transparent 38%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.service-image-strip figcaption {
  bottom: 1rem;
  color: var(--warm-white);
  font-size: 0.72rem;
  font-weight: 850;
  left: 1rem;
  letter-spacing: 0.13em;
  position: absolute;
  text-transform: uppercase;
  z-index: 1;
}

.field-note-section {
  background: #FCFAF6;
  border-block: 1px solid rgba(207, 198, 184, 0.32);
  max-width: none;
}

.field-note-shell {
  margin: 0 auto;
  max-width: 1440px;
}

.field-note-grid {
  display: grid;
  gap: clamp(0.9rem, 2vw, 1.3rem);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.field-note-grid figure {
  background: #fff;
  border: 1px solid rgba(207, 198, 184, 0.34);
  margin: 0;
  overflow: hidden;
}

.field-note-grid img {
  aspect-ratio: 4 / 3;
  display: block;
  filter: none;
  object-fit: cover;
  width: 100%;
}

.field-note-grid figcaption {
  color: var(--luxury-charcoal);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  padding: 0.95rem 1rem 1rem;
  text-transform: uppercase;
}

.newsletter-section {
  background:
    linear-gradient(135deg, rgba(17, 17, 17, 0.96), rgba(35, 31, 25, 0.94)),
    var(--luxury-charcoal);
  border-block: 1px solid rgba(232, 217, 181, 0.18);
  max-width: none;
}

.section.newsletter-section:not(.section-dark):not(.private-brief) {
  background:
    radial-gradient(circle at 76% 22%, rgba(184, 155, 94, 0.16), transparent 34%),
    linear-gradient(135deg, rgba(12, 12, 11, 0.98), rgba(27, 26, 23, 0.98) 58%, rgba(47, 38, 31, 0.96)),
    var(--luxury-charcoal);
  background-image:
    radial-gradient(circle at 76% 22%, rgba(184, 155, 94, 0.16), transparent 34%),
    linear-gradient(135deg, rgba(12, 12, 11, 0.98), rgba(27, 26, 23, 0.98) 58%, rgba(47, 38, 31, 0.96));
  background-position: center;
  background-size: cover;
}

.newsletter-panel {
  background:
    linear-gradient(135deg, rgba(252, 250, 246, 0.035), rgba(232, 217, 181, 0.04)),
    rgba(8, 8, 7, 0.82);
  border: 1px solid rgba(232, 217, 181, 0.28);
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.34);
  display: grid;
  grid-template-columns: minmax(320px, 0.86fr) minmax(0, 1fr);
  margin: 0 auto;
  max-width: 1320px;
  min-height: 620px;
}

.newsletter-image {
  background: var(--luxury-charcoal);
  margin: 0;
  min-height: 100%;
  overflow: hidden;
  position: relative;
}

.newsletter-image img {
  filter: saturate(0.78) contrast(1.12) brightness(0.72);
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.newsletter-image::after {
  background:
    linear-gradient(90deg, rgba(17, 17, 17, 0.1), rgba(17, 17, 17, 0.36)),
    linear-gradient(0deg, rgba(17, 17, 17, 0.42), transparent 56%);
  content: "";
  inset: 0;
  position: absolute;
}

.newsletter-copy {
  align-self: center;
  background:
    linear-gradient(135deg, rgba(27, 26, 23, 0.98), rgba(17, 17, 17, 0.94));
  border-left: 1px solid rgba(232, 217, 181, 0.18);
  min-height: 100%;
  padding: clamp(1.5rem, 5vw, 4.6rem);
}

.newsletter-copy h2 {
  color: var(--warm-white);
  max-width: 10.5ch;
}

.newsletter-copy p {
  color: rgba(252, 250, 246, 0.78);
  max-width: 670px;
}

.newsletter-form {
  display: grid;
  gap: 1rem;
  margin-top: 2rem;
  max-width: 720px;
}

.newsletter-form label,
.newsletter-topics legend {
  color: rgba(252, 250, 246, 0.86);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.newsletter-form > label {
  display: grid;
  gap: 0.45rem;
}

.newsletter-form input[type="email"] {
  background: rgba(252, 250, 246, 0.96);
  border-color: rgba(232, 217, 181, 0.48);
  color: var(--luxury-charcoal);
}

.newsletter-form input[type="email"]::placeholder {
  color: rgba(27, 26, 23, 0.42);
}

.newsletter-topics {
  background: rgba(252, 250, 246, 0.055);
  border: 1px solid rgba(232, 217, 181, 0.28);
  display: grid;
  gap: 0.7rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 1rem;
}

.newsletter-topics legend {
  color: var(--pale-gold);
  padding: 0 0.45rem;
}

.newsletter-topics label,
.newsletter-consent {
  align-items: start;
  display: grid;
  gap: 0.66rem;
  grid-template-columns: auto 1fr;
}

.newsletter-topics label {
  color: rgba(252, 250, 246, 0.84);
  font-size: 0.82rem;
  font-weight: 650;
  letter-spacing: 0;
  line-height: 1.45;
  text-transform: none;
}

.newsletter-form input[type="checkbox"] {
  accent-color: var(--luxury-champagne);
  height: 1rem;
  margin: 0.14rem 0 0;
  min-height: 0;
  width: 1rem;
}

.newsletter-consent {
  background: rgba(252, 250, 246, 0.075);
  border: 1px solid rgba(232, 217, 181, 0.32);
  color: rgba(252, 250, 246, 0.86);
  font-size: 0.84rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.6;
  padding: 0.95rem;
  text-transform: none;
}

.newsletter-consent a {
  color: var(--pale-gold);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.newsletter-form .button {
  justify-self: start;
}

.newsletter-form .form-status {
  background: rgba(252, 250, 246, 0.08);
  border-color: rgba(232, 217, 181, 0.18);
  color: rgba(252, 250, 246, 0.72);
  margin: 0;
}

.newsletter-copy .small-print {
  color: rgba(252, 250, 246, 0.68);
  margin-top: 1.3rem;
}

.legal-content h2 + p a,
.legal-content li a {
  color: var(--gold-deep);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.inline-mail,
.footer-mail-link {
  color: var(--gold-deep);
  font-weight: 800;
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.footer-mail-link {
  color: var(--pale-gold);
  display: inline-block;
  margin-top: 0.25rem;
}

@media (max-width: 1180px) {
  .service-icon-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

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

@media (max-width: 920px) {
  .newsletter-panel {
    grid-template-columns: 1fr;
  }

  .newsletter-image {
    min-height: 360px;
  }
}

@media (max-width: 760px) {
  .service-icon-grid,
  .service-image-strip,
  .field-note-grid,
  .newsletter-topics {
    grid-template-columns: 1fr;
  }

  .service-icon-card {
    min-height: auto;
  }

  .service-image-strip figure,
  .service-image-strip figure:nth-child(2) {
    min-height: 280px;
  }

  .newsletter-section {
    padding-inline: var(--container-pad-mobile);
  }

  .newsletter-panel {
    min-height: 0;
  }

  .newsletter-copy {
    padding: 1.35rem;
  }

  .newsletter-form .button {
    width: 100%;
  }
}



body.rq-open { overflow: hidden; }
.qualified-request-shell { position: fixed; inset: 0; z-index: 1200; display: grid; place-items: center; padding: 20px; opacity: 0; pointer-events: none; transition: opacity 220ms ease; }
.qualified-request-shell.is-open { opacity: 1; pointer-events: auto; }
.qualified-request-backdrop { position: absolute; inset: 0; background: rgba(17, 17, 17, 0.56); backdrop-filter: blur(6px); }
.qualified-request-modal { position: relative; width: min(940px, 100%); max-height: min(92vh, 980px); overflow: auto; background: linear-gradient(180deg, var(--luxury-white), var(--luxury-ivory)); border: 1px solid rgba(182, 162, 124, 0.34); border-radius: 28px; box-shadow: 0 34px 90px rgba(17, 17, 17, 0.32); padding: clamp(22px, 4vw, 38px); }
.rq-head { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; margin-bottom: 20px; }
.rq-head h2 { margin: 6px 0 8px; font-family: var(--serif, 'Playfair Display', serif); font-size: clamp(30px, 5vw, 52px); line-height: 0.98; color: var(--luxury-soft-black); }
.rq-head p { max-width: 700px; color: var(--luxury-gray); }
.rq-close { width: 42px; height: 42px; border-radius: 999px; border: 1px solid rgba(74, 31, 37, 0.18); background: #fff; color: var(--luxury-burgundy); font-size: 26px; line-height: 1; cursor: pointer; }
.rq-selected { background: rgba(255,255,255,0.74); border: 1px solid rgba(182, 162, 124, 0.28); border-radius: 20px; padding: 16px 18px; margin-bottom: 18px; }
.rq-mini-title { margin: 0 0 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; font-size: 12px; color: var(--luxury-burgundy); }
.rq-selected ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.rq-selected li { display: grid; grid-template-columns: 1.1fr 1fr auto; gap: 10px; align-items: center; color: var(--luxury-gray); font-size: 13px; }
.rq-selected strong { color: var(--luxury-soft-black); }
.rq-selected em { font-style: normal; border-radius: 999px; background: rgba(182, 162, 124, 0.15); color: var(--luxury-burgundy); padding: 5px 9px; font-size: 12px; white-space: nowrap; }
.rq-type-toggle { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 18px; }
.rq-type-toggle button { border: 1px solid rgba(182, 162, 124, 0.42); background: rgba(255,255,255,0.76); color: var(--luxury-soft-black); border-radius: 999px; padding: 12px 16px; font-weight: 800; cursor: pointer; transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease; }
.rq-type-toggle button:hover { transform: translateY(-1px); box-shadow: var(--soft-shadow); }
.rq-type-toggle button.is-active { background: linear-gradient(135deg, var(--luxury-champagne), var(--luxury-burgundy)); color: #fff; border-color: transparent; }
.qualified-request-form { display: grid; gap: 18px; }
.rq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 16px; border: 1px solid rgba(182, 162, 124, 0.22); border-radius: 22px; background: rgba(255,255,255,0.58); }
.rq-grid.is-hidden { display: none; }
.rq-grid label { display: grid; gap: 8px; font-weight: 750; color: var(--luxury-soft-black); }
.rq-grid input, .rq-grid select, .rq-grid textarea { width: 100%; border: 1px solid rgba(111, 106, 97, 0.28); border-radius: 14px; background: #fff; padding: 12px 13px; color: var(--luxury-soft-black); font: inherit; }
.rq-grid textarea { resize: vertical; min-height: 120px; }
.rq-contact .full-span, .rq-grid .full-span { grid-column: 1 / -1; }
.rq-contact span, .required { color: var(--luxury-burgundy); font-size: 12px; font-weight: 700; }
.rq-consent { align-items: flex-start; background: rgba(255,255,255,0.58); border: 1px solid rgba(182, 162, 124, 0.22); border-radius: 18px; padding: 14px 16px; }
.rq-actions { display: flex; justify-content: flex-end; gap: 12px; flex-wrap: wrap; }
.rc-qualified-button { display: inline-flex; align-items: center; gap: 8px; }

/* V92: the honeypot stays available to form processing but outside the visual and accessibility flow. */
.form-honeypot {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  pointer-events: none !important;
}
.form-honeypot input {
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  pointer-events: none !important;
}
.hidden { display: none !important; }
@media (max-width: 720px) {
  .qualified-request-shell { padding: 10px; align-items: end; }
  .qualified-request-modal { max-height: 94vh; border-radius: 24px 24px 0 0; padding: 22px 16px; }
  .rq-head { gap: 12px; }
  .rq-selected li, .rq-grid { grid-template-columns: 1fr; }
  .rq-actions { justify-content: stretch; }
  .rq-actions .button { width: 100%; }
}


.seo-landing-hero { padding: clamp(84px, 10vw, 132px) 0 clamp(44px, 7vw, 82px); background: radial-gradient(circle at top left, rgba(182,162,124,.20), transparent 34%), linear-gradient(135deg, var(--luxury-soft-black), #2b2420); color: #fff; }
.seo-landing-hero .container { display: grid; gap: 22px; max-width: 980px; }
.seo-landing-hero h1 { font-family: var(--serif, 'Playfair Display', serif); font-size: clamp(42px, 7vw, 78px); line-height: .96; margin: 0; }
.seo-landing-hero p { max-width: 760px; color: rgba(255,255,255,.76); font-size: clamp(17px, 2vw, 20px); }
.seo-landing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
.seo-landing-card { border: 1px solid rgba(182,162,124,.24); border-radius: 24px; padding: 22px; background: rgba(255,255,255,.78); box-shadow: var(--soft-shadow); }
.seo-landing-card h2, .seo-landing-card h3 { margin-top: 0; }
.seo-cta-panel { border-radius: 28px; padding: clamp(24px, 5vw, 48px); background: linear-gradient(135deg, rgba(182,162,124,.20), rgba(74,31,37,.10)); border: 1px solid rgba(182,162,124,.26); }
@media (max-width: 880px) { .seo-landing-grid { grid-template-columns: 1fr; } }



.atbb-rental-grid .property-card .card-image img {
  object-position: center center;
}
.atbb-rental-grid .property-card-body .small-disclaimer {
  color: rgba(27, 31, 36, 0.62);
  font-size: 0.78rem;
  line-height: 1.45;
}
.card-price {
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--ink);
}



.atbb-tier-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
  gap: clamp(18px, 3vw, 34px);
  align-items: end;
  margin: clamp(42px, 6vw, 72px) 0 20px;
  padding-top: clamp(18px, 3vw, 30px);
  border-top: 1px solid rgba(182, 162, 124, 0.22);
}
.atbb-tier-heading h3 {
  margin: 0;
  font-family: var(--serif, 'Playfair Display', serif);
  font-size: clamp(26px, 3.4vw, 42px);
  line-height: 1.05;
  letter-spacing: -0.035em;
  color: var(--luxury-soft-black);
}
.atbb-tier-heading p:last-child {
  margin: 0;
  color: rgba(55, 48, 42, 0.72);
  font-size: clamp(14px, 1.45vw, 16px);
  line-height: 1.7;
}
.ultra-prime-grid .property-card,
.homepage-ultra-grid .property-card {
  border: 1px solid rgba(182, 162, 124, 0.22);
  background: linear-gradient(180deg, rgba(255,255,255,0.94), rgba(250,248,242,0.86));
}
.atbb-rental-grid .property-card-body h3 {
  font-family: var(--serif, 'Playfair Display', serif);
  font-size: clamp(21px, 2.15vw, 28px);
  line-height: 1.08;
  letter-spacing: -0.025em;
  margin: 6px 0 8px;
  color: var(--luxury-soft-black);
}
.atbb-rental-grid .card-image {
  aspect-ratio: 4 / 3;
  background: #ede8de;
}
.atbb-rental-grid .card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.property-spec-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 12px;
}
.property-spec-row span {
  border: 1px solid rgba(182, 162, 124, 0.28);
  border-radius: 999px;
  padding: 6px 9px;
  background: rgba(182, 162, 124, 0.08);
  color: rgba(27, 31, 36, 0.68);
  font-size: 0.73rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.permission-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 12px 0 8px;
  font-size: 0.76rem;
  color: rgba(27, 31, 36, 0.64);
}
.permission-flag {
  border-radius: 999px;
  padding: 6px 9px;
  font-weight: 800;
  letter-spacing: 0.02em;
  background: rgba(27, 31, 36, 0.06);
  color: rgba(27, 31, 36, 0.70);
}
.permission-flag.ok { background: rgba(58, 104, 82, 0.13); color: #2f5d49; }
.permission-flag.confirm { background: rgba(182, 162, 124, 0.18); color: var(--luxury-burgundy); }
.permission-flag.restricted { background: rgba(139, 50, 58, 0.10); color: #8b323a; }
.card-price {
  margin: 0 0 10px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--luxury-burgundy);
}
@media (max-width: 840px) {
  .atbb-tier-heading { grid-template-columns: 1fr; }
  .property-spec-row span { white-space: normal; }
}

/* ============================================================
   Homepage "Selected residences for sale" block (#home-for-sale)
   Reuses the exact compact card treatment from the rentals block
   so the for-sale cards align identically (icon + size pills,
   short comment, VIEW + action pinned to the card bottom).
   ============================================================ */
#home-for-sale .property-card-body {
  display: flex;
  flex-direction: column;
}
#home-for-sale .area {
  font-size: 0.56rem;
  margin-bottom: 0.55rem;
}
#home-for-sale .property-card-body h3 {
  font-size: clamp(18px, 1.7vw, 22px);
  margin: 4px 0 6px;
}
#home-for-sale .intro-bubbles .spec-type {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
#home-for-sale .bubble-ico {
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
}
#home-for-sale .card-comment {
  font-size: 0.85rem;
  line-height: 1.45;
  color: rgba(27, 31, 36, 0.72);
  margin: 0 0 14px;
}
#home-for-sale .intro-card-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: auto;
}
#home-for-sale .intro-card-actions .button {
  margin: 0;
}
#home-for-sale .intro-card-actions .button-secondary,
#home-for-sale .intro-card-actions [data-private-inquiry] {
  flex: 1 1 auto;
}
#home-for-sale .intro-view-btn {
  flex: 0 0 auto;
  background: transparent;
  color: var(--gold-deep, #8a6d3b);
  border: 1px solid rgba(182, 162, 124, 0.55);
  padding: 0.62rem 1.15rem;
  letter-spacing: 0.06em;
}
#home-for-sale .intro-view-btn:hover {
  background: rgba(182, 162, 124, 0.12);
  color: var(--gold-deep, #8a6d3b);
}



.property-card.admin-hidden-by-decision { display: none !important; }


.property-card.admin-hidden-by-decision,
.recommended-card.admin-hidden-by-decision { display: none !important; }
.admin-section-empty { display: none !important; }
.private-review-section { min-height: 52vh; display: grid; align-content: center; }
.admin-private-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }


.credibility-band, .acquisition-depth, .mandate-depth, .trust-depth, .corporate-relocation-note { position: relative; }
.credibility-band .premium-grid article, .acquisition-depth .premium-grid article, .mandate-depth .premium-grid article, .trust-depth .premium-grid article { border-top: 3px solid rgba(174,132,70,.42); }
.credibility-band .split-heading p, .acquisition-depth .split-heading p, .mandate-depth .split-heading p { max-width: 760px; }
.status-badge { letter-spacing: .035em; }
.admin-hidden-by-decision { display:none !important; }
.admin-section-empty { display:none !important; }
.private-review-section { min-height: 58vh; display:grid; align-items:center; }
.private-review-section .admin-private-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:22px; }
.card-price { font-weight: 850; color: #2a1d17; margin: 4px 0 10px; font-size: .98rem; }


/* === GAISAPP final audit polish — 2026-06-11 === */
:root{
  --gaisapp-radius-xl:28px;
  --gaisapp-radius-lg:20px;
  --gaisapp-hairline:rgba(63,42,26,.13);
  --gaisapp-panel:rgba(255,250,244,.94);
  --gaisapp-brown:#2a1d17;
  --gaisapp-gold:#b88948;
}
html{scroll-behavior:smooth;}
body{font-feature-settings:"kern" 1,"liga" 1; text-rendering:optimizeLegibility;}
section{scroll-margin-top:108px;}
.hero h1,.page-hero h1,.split-heading h1{letter-spacing:-.055em;}
.property-card,.recommended-card,.service-card,.article-card,.panel,.clean-card{border-color:var(--gaisapp-hairline);}
.property-card{position:relative; overflow:hidden; background:linear-gradient(180deg,#fffdf9,#fbf5ec);}
.property-card .card-image{background:#e9ded0;}
.property-card-body h3{font-size:clamp(1.08rem,1.8vw,1.45rem); line-height:1.12; letter-spacing:-.028em;}
.property-card-body .tag,.property-card-body .area,.eyebrow{letter-spacing:.13em;}
.card-price{font-weight:950; color:#2d211a; margin:.2rem 0 .55rem; font-size:.98rem;}
.status-badge{position:absolute; left:14px; top:14px; z-index:4; display:inline-flex; align-items:center; gap:7px; border-radius:999px; padding:8px 11px; background:rgba(255,250,244,.96); color:#2a1d17; font-size:.72rem; font-weight:950; box-shadow:0 12px 28px rgba(29,18,13,.18); backdrop-filter:blur(10px);}
.status-dot{width:8px; height:8px; border-radius:999px; background:#1f7a4d; display:inline-block;}
.status-sold,.status-leased,.status-off_market{color:#9a3c2b;}
.status-sold .status-dot,.status-leased .status-dot,.status-off_market .status-dot,.status-callout-closed .status-dot{background:#a84633;}
.status-under_negotiation .status-dot,.status-offer_received .status-dot,.status-application_in_progress .status-dot,.status-screening .status-dot,.status-contract_pending .status-dot{background:#b88948;}
.unavailable-overlay{position:absolute; inset:0; z-index:3; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; color:#fffaf4; text-align:center; background:linear-gradient(180deg,rgba(33,22,16,.22),rgba(33,22,16,.68)); backdrop-filter:blur(1px);}
.unavailable-title{font-family:var(--font-display, Georgia, serif); font-size:clamp(1.2rem,3vw,2rem); letter-spacing:-.04em;}
.unavailable-sub{font-size:.75rem; text-transform:uppercase; letter-spacing:.14em; font-weight:900; opacity:.86;}
.property-card.is-unavailable .button-secondary{border-color:rgba(168,70,51,.28); color:#8d3c2e;}
.status-callout{margin:16px 0; padding:15px 16px; border-radius:20px; border:1px solid rgba(83,55,31,.13); background:#fffaf4; box-shadow:0 16px 44px rgba(52,30,12,.08);}
.status-callout-head{display:flex; align-items:center; gap:9px; flex-wrap:wrap; font-weight:950;}
.status-callout-action{margin-left:auto; font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; color:#76542d;}
.status-callout-note{margin:.45rem 0 0; color:#6f6259; line-height:1.55;}
.admin-hidden-by-decision{display:none!important;}
.admin-section-empty{display:none!important;}
.process-info{display:flex; flex-wrap:wrap; gap:8px; margin:.7rem 0;}
.process-pill,.process-updated,.rc-item-status{display:inline-flex; align-items:center; gap:6px; border-radius:999px; padding:6px 9px; background:#f4ecdf; color:#5e4632; font-size:.72rem; font-weight:900;}
.process-dot{width:7px; height:7px; border-radius:50%; background:#b88948;}
@media (max-width: 760px){
  .property-card-body h3{font-size:1.14rem;}
  .status-badge{left:10px; top:10px; max-width:calc(100% - 20px);}
}


/* Final visual polish: approved GAISAPP / real-property imagery */
.hero-media img,
.luxury-image img,
.editorial-image img,
.card-image img,
.mosaic-item img,
.article-hero-image {
  object-fit: cover;
  object-position: center;
  filter: saturate(0.94) contrast(1.04);
}
.hero-media img[src*="louie-martinez"],
.luxury-image img[src*="louie-martinez"],
.card-image img[src*="louie-martinez"] {
  object-position: center 42%;
}
.hero-media img[src*="akram-shehadi"],
.luxury-image img[src*="akram-shehadi"],
.card-image img[src*="akram-shehadi"] {
  object-position: center 45%;
}
.hero-media img[src*="alex-knight"],
.card-image img[src*="alex-knight"] {
  object-position: center 52%;
}
.hero-media img[src*="hunters-race"],
.editorial-image img[src*="hunters-race"],
.card-image img[src*="hunters-race"] {
  object-position: center 34%;
}
.hero-media img[src*="consultation-meeting-interior"],
.editorial-image img[src*="consultation-meeting-interior"],
.card-image img[src*="consultation-meeting-interior"] {
  object-position: center 48%;
}
.premium-visual-card img[src*="tokyo-roppongi-city"],
.newsletter-image img[src*="tokyo-roppongi-city"],
.card-image img[src*="tokyo-roppongi-city"],
.mosaic-item img[src*="tokyo-roppongi-city"] {
  object-position: center 46%;
}
.premium-visual-card img[src*="roppongi-luxury-tower-night"],
.mosaic-item img[src*="roppongi-luxury-tower-night"],
.card-image img[src*="roppongi-luxury-tower-night"],
.map-card-media img[src*="roppongi-luxury-tower-night"] {
  object-position: center 50%;
}
.card-image img[src*="osaka-umeda-night"],
.mosaic-item img[src*="osaka-umeda-night"] {
  object-position: center 48%;
}
.card-image img[src*="kyoto-kiyomizu-autumn"],
.mosaic-item img[src*="kyoto-kiyomizu-autumn"] {
  object-position: center 47%;
}
.card-image img[src*="tokyo-mount-fuji-skyline"],
.mosaic-item img[src*="tokyo-mount-fuji-skyline"] {
  object-position: center 44%;
}
.card-image img[src*="azabudai-hills-residence"] {
  object-position: center 52%;
}
.card-image img[src*="kyoto-kinkakuji"] {
  object-position: center 45%;
}
.luxury-hero-media img[src*="tokyo-tower-dusk-panorama"],
.hero-media img[src*="tokyo-tower-dusk-panorama"],
.luxury-image img[src*="tokyo-tower-dusk-panorama"],
.card-image img[src*="tokyo-tower-dusk-panorama"],
.mosaic-item img[src*="tokyo-tower-dusk-panorama"],
.newsletter-image img[src*="tokyo-tower-dusk-panorama"] {
  object-position: center 46%;
}
.hero-media img[src*="tokyo-tower-night-skyline"],
.luxury-image img[src*="tokyo-tower-night-skyline"],
.card-image img[src*="tokyo-tower-night-skyline"],
.mosaic-item img[src*="tokyo-tower-night-skyline"] {
  object-position: center 62%;
}
.hero-media img[src*="tokyo-tower-blue-hour"],
.card-image img[src*="tokyo-tower-blue-hour"],
.mosaic-item img[src*="tokyo-tower-blue-hour"] {
  object-position: center 48%;
}
.hero-media img[src*="luxury-residence-kitchen"],
.editorial-image img[src*="luxury-residence-kitchen"],
.card-image img[src*="luxury-residence-kitchen"],
.mosaic-item img[src*="luxury-residence-kitchen"] {
  object-position: center 54%;
}
.property-card .card-image::after,
.journal-card .card-image::after,
.luxury-image::after,
.editorial-image::after {
  background:
    linear-gradient(135deg, rgba(232, 217, 181, 0.10), transparent 44%),
    linear-gradient(0deg, rgba(17, 17, 17, 0.18), transparent 68%);
}


/* 2026-06-11 urgent homepage visual correction: no low-resolution PDF crops in mood boards */
.premium-visual-panel{
  display:grid;
  grid-template-columns: minmax(0, 1.24fr) repeat(3, minmax(0, .82fr));
  gap:1px;
  margin-top:clamp(2rem,4vw,3.4rem);
  background:rgba(207,198,184,.44);
  border:1px solid rgba(207,198,184,.48);
  overflow:hidden;
  box-shadow:0 26px 80px rgba(34,26,20,.12);
}
.premium-visual-card{
  aspect-ratio: 4/5;
  background:#17110d;
  margin:0;
  overflow:hidden;
  position:relative;
}
.premium-visual-card-large{aspect-ratio: 16/9; grid-row:span 1;}
.premium-visual-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  filter:saturate(.92) contrast(1.06) brightness(.92);
  transform:scale(1.002);
  transition:transform .65s ease, filter .65s ease;
}
.premium-visual-card:hover img{transform:scale(1.035); filter:saturate(.98) contrast(1.09) brightness(.96);}
.premium-visual-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(0deg,rgba(18,13,9,.70),rgba(18,13,9,.08) 54%,rgba(255,255,255,.04)),
    linear-gradient(135deg,rgba(188,151,88,.18),transparent 42%);
  pointer-events:none;
}
.premium-visual-card figcaption{
  position:absolute;
  left:clamp(1rem,2.2vw,1.7rem);
  bottom:clamp(1rem,2.1vw,1.55rem);
  z-index:1;
  color:#fff;
  display:grid;
  gap:.38rem;
  text-shadow:0 8px 22px rgba(0,0,0,.34);
}
.premium-visual-card figcaption span{
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
}
.premium-visual-card figcaption strong{
  font-family:var(--display-font);
  font-size:clamp(1.25rem,2.6vw,2rem);
  font-weight:650;
  letter-spacing:-.035em;
  line-height:.98;
}
.premium-visual-card img[src*="akram-shehadi"]{object-position:center 46%;}
.premium-visual-card img[src*="alex-knight"]{object-position:center 52%;}
.premium-visual-card img[src*="hunters-race"]{object-position:center 34%;}
.premium-visual-card img[src*="tokyo-tower-dusk-panorama"]{object-position:center 46%;}
.premium-visual-card img[src*="tokyo-tower-night-skyline"]{object-position:center 62%;}
.premium-visual-card img[src*="tokyo-tower-blue-hour"]{object-position:center 48%;}
.premium-visual-card img[src*="luxury-residence-kitchen"]{object-position:center 54%;}
.portfolio-mosaic-polished .mosaic-item img{filter:saturate(.94) contrast(1.06) brightness(.93);}
.portfolio-mosaic-polished .mosaic-item img[src*="hunters-race"]{object-position:center 35%;}
.portfolio-mosaic-polished .mosaic-item img[src*="luxury-residence-kitchen"]{object-position:center 54%;}
@media (max-width: 980px){
  .premium-visual-panel{grid-template-columns:1fr 1fr;}
  .premium-visual-card-large{grid-column:span 2;}
}
@media (max-width: 620px){
  .premium-visual-panel{grid-template-columns:1fr;}
  .premium-visual-card,.premium-visual-card-large{aspect-ratio:16/10; grid-column:auto;}
}


/* === GAISAPP compact product UX update 2026-06-11 === */
html { scroll-behavior: smooth; }
.page-hero h1,
.hero h1,
.form-page h1,
.trust-hero h1,
.page-title h1,
.journal-hero h1,
.article-header h1 {
  font-size: clamp(2.45rem, 4.15vw, 4.55rem);
  line-height: 0.98;
  max-width: 12ch;
}
h2,
.split-heading h2,
.final-cta h2,
.atbb-tier-heading h3,
.building-facts-panel h1 {
  font-size: clamp(1.85rem, 3.05vw, 3.25rem);
  line-height: 1.06;
  max-width: 14ch;
}
.property-card-body h3,
.decision-card h3,
.premium-grid h3 {
  font-size: clamp(1.05rem, 1.35vw, 1.42rem);
  line-height: 1.18;
}
.lead { font-size: clamp(1rem, 1.45vw, 1.18rem); }
.eyebrow, .tag, .area, .page-kicker { letter-spacing: 0.11em; }
.hero-actions { align-items: center; flex-wrap: wrap; }
.jump-listing-button span { font-size: 1.05em; line-height: 0; margin-right: .25rem; }
.product-control-bar {
  align-items: center;
  background: rgba(252, 250, 246, 0.92);
  border: 1px solid rgba(184, 155, 94, 0.24);
  border-radius: 22px;
  box-shadow: 0 18px 45px rgba(39, 34, 28, 0.06);
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  justify-content: space-between;
  margin: 0 0 1.1rem;
  padding: 0.75rem 0.9rem;
}
.product-control-copy { color: var(--warm-gray, #766f65); font-size: 0.82rem; max-width: 42rem; }
.product-control-fields { align-items: center; display: flex; flex-wrap: wrap; gap: 0.55rem; }
.product-control-fields label { align-items: center; color: var(--charcoal, #211f1b); display: inline-flex; font-size: 0.78rem; font-weight: 700; gap: 0.45rem; letter-spacing: .04em; text-transform: uppercase; }
.product-control-fields select {
  appearance: none;
  background: #fffdfa;
  border: 1px solid rgba(184, 155, 94, 0.34);
  border-radius: 999px;
  color: var(--charcoal, #211f1b);
  font: inherit;
  font-size: .82rem;
  min-height: 2.45rem;
  padding: .55rem 2rem .55rem .85rem;
}
.card-image { position: relative; }
.like-button {
  align-items: center;
  border: 1px solid rgba(255,255,255,0.65);
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  font-family: var(--sans, inherit);
  font-size: 0.76rem;
  font-weight: 800;
  gap: .28rem;
  letter-spacing: .04em;
  min-height: 2.15rem;
  padding: .45rem .68rem;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease, color 160ms ease;
}
.like-button:hover { transform: translateY(-1px); }
.card-like-button {
  backdrop-filter: blur(12px);
  background: rgba(20, 18, 15, 0.52);
  color: #fff;
  position: absolute;
  right: .75rem;
  top: .75rem;
  z-index: 4;
}
.like-button[aria-pressed="true"] {
  background: rgba(184, 155, 94, 0.94);
  border-color: rgba(184, 155, 94, 0.94);
  color: #fff;
}
.like-icon { font-size: .95rem; line-height: 1; }
.detail-like-button {
  background: rgba(252, 250, 246, 0.98);
  border-color: rgba(184, 155, 94, 0.34);
  color: var(--charcoal, #211f1b);
  margin: .25rem 0 1rem;
}
.property-card.is-liked { box-shadow: 0 22px 50px rgba(184, 155, 94, 0.12); }
.product-control-empty {
  background: #fffdfa;
  border: 1px dashed rgba(184, 155, 94, 0.38);
  color: var(--warm-gray, #766f65);
  grid-column: 1 / -1;
  margin: 0;
  padding: 1rem;
  text-align: center;
}
@media (max-width: 760px) {
  .page-hero h1,
  .hero h1,
  .form-page h1,
  .trust-hero h1,
  .page-title h1 { font-size: clamp(2.15rem, 11vw, 3.2rem); }
  h2,
  .split-heading h2,
  .final-cta h2,
  .atbb-tier-heading h3 { font-size: clamp(1.55rem, 8vw, 2.25rem); }
  .product-control-bar { border-radius: 18px; }
  .product-control-fields, .product-control-fields label, .product-control-fields select { width: 100%; }
}

/* === GAISAPP listing jump + richer sorting update 2026-06-12 === */
.listing-jump-icon {
  align-items: center;
  background: rgba(17, 16, 14, 0.94);
  border: 1px solid rgba(184, 155, 94, 0.38);
  border-radius: 999px;
  box-shadow: 0 14px 34px rgba(23, 20, 17, 0.16);
  color: #fff;
  display: inline-flex;
  font-size: .74rem;
  font-weight: 850;
  gap: .38rem;
  letter-spacing: .08em;
  min-height: 2.72rem;
  padding: .72rem .9rem .72rem .78rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease;
}
.listing-jump-icon span {
  align-items: center;
  background: rgba(255,255,255,.12);
  border-radius: 999px;
  display: inline-flex;
  font-size: 1rem;
  height: 1.55rem;
  justify-content: center;
  line-height: 1;
  width: 1.55rem;
}
.listing-jump-icon em { font-style: normal; }
.listing-jump-icon:hover { background: #000; border-color: rgba(184,155,94,.65); transform: translateY(2px); }
.like-count {
  align-items: center;
  background: rgba(255,255,255,.18);
  border-radius: 999px;
  display: inline-flex;
  font-size: .68rem;
  justify-content: center;
  min-width: 1.15rem;
  padding: .08rem .32rem;
}
.product-control-copy strong { color: var(--charcoal, #211f1b); }
.product-control-fields select:focus,
.listing-jump-icon:focus-visible,
.like-button:focus-visible {
  outline: 2px solid rgba(184,155,94,.7);
  outline-offset: 3px;
}
@media (max-width: 760px) {
  .listing-jump-icon { width: auto; min-height: 2.55rem; }
  .hero-actions .listing-jump-icon { flex: 0 0 auto; }
}


/* === GAISAPP fixed listings jump button correction 2026-06-12 === */
.hero-actions .listing-jump-icon,
.hero-actions .jump-listing-button {
  display: none !important;
}

.floating-listing-jump {
  position: fixed;
  right: clamp(16px, 2.4vw, 34px);
  top: 52%;
  transform: translateY(-50%);
  z-index: 1200;
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  min-width: 148px;
  padding: .72rem .95rem .72rem .72rem;
  border-radius: 999px;
  background: rgba(14, 13, 12, .94);
  color: #fff;
  border: 1px solid rgba(184, 155, 94, .52);
  box-shadow: 0 18px 44px rgba(0,0,0,.23);
  text-decoration: none;
  letter-spacing: .08em;
  text-transform: uppercase;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.floating-listing-jump:hover {
  transform: translateY(-50%) translateX(-3px);
  background: #000;
  box-shadow: 0 22px 55px rgba(0,0,0,.3);
}
.floating-listing-jump:focus-visible {
  outline: 3px solid rgba(184, 155, 94, .45);
  outline-offset: 4px;
}
.floating-listing-jump-icon {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 2.1rem;
  background: rgba(255,255,255,.13);
  border: 1px solid rgba(255,255,255,.14);
  font-size: 1.05rem;
  line-height: 1;
}
.floating-listing-jump strong {
  display: block;
  font-family: var(--font-sans);
  font-size: .74rem;
  line-height: 1.05;
  letter-spacing: .12em;
}
.floating-listing-jump small {
  display: block;
  margin-top: .18rem;
  font-family: var(--font-sans);
  font-size: .56rem;
  line-height: 1.1;
  letter-spacing: .08em;
  color: rgba(255,255,255,.72);
  text-transform: none;
}
@media (max-width: 760px) {
  .floating-listing-jump {
    top: auto;
    right: 14px;
    bottom: 16px;
    transform: none;
    min-width: 0;
    padding: .62rem .8rem .62rem .62rem;
  }
  .floating-listing-jump:hover { transform: translateY(-2px); }
  .floating-listing-jump small { display: none; }
}

/* GAISAPP Public Teaser + Private Inventory safety layer */
.private-opportunities-section {
  background: linear-gradient(135deg, #17100d, #2b1b14 54%, #4a2c18);
  color: #fff7ec;
  border-radius: 34px;
  margin-inline: auto;
  max-width: 1180px;
  box-shadow: 0 28px 82px rgba(35, 21, 10, .22);
}
.private-opportunities-section .split-heading p,
.private-opportunities-section .private-disclaimer { color: rgba(255, 248, 236, .78); }
.private-opportunities-section .eyebrow { color: #d7b26f; }
.private-disclaimer { max-width: 920px; line-height: 1.7; margin: 0 0 22px; font-size: .94rem; }
.private-disclaimer span { color: rgba(255, 248, 236, .62); }
.private-filter-bar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 20px 0 24px; }
.private-filter-bar label { display: grid; gap: 7px; color: rgba(255, 248, 236, .78); font-size: .72rem; text-transform: uppercase; letter-spacing: .13em; font-weight: 900; }
.private-filter-bar select { width: 100%; border: 1px solid rgba(255, 236, 190, .2); border-radius: 999px; padding: 12px 14px; background: rgba(255, 250, 244, .08); color: #fff7ec; font: inherit; }
.private-filter-bar option { color: #231914; background: #fffaf4; }
.private-teaser-card { position: relative; border-color: rgba(199, 155, 88, .28) !important; background: linear-gradient(180deg, #fffaf3, #f6eee1) !important; }
.private-opportunities-section .private-teaser-card { background: linear-gradient(180deg, rgba(255,250,244,.98), rgba(247,241,232,.98)) !important; color: #241b16; }
.private-teaser-image { position: relative; background: #211711; }
.private-teaser-image img { filter: saturate(.86) contrast(1.06) brightness(.88); transform: scale(1.015); }
.private-teaser-image:after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.1), rgba(0,0,0,.42)); pointer-events: none; }
.private-lock-badge { position: absolute; left: 14px; top: 14px; z-index: 2; border: 1px solid rgba(255, 236, 190, .28); background: rgba(25, 16, 12, .76); color: #fff7ec; border-radius: 999px; padding: 8px 12px; font-size: .76rem; font-weight: 950; box-shadow: 0 10px 26px rgba(0,0,0,.25); backdrop-filter: blur(8px); }
.private-teaser-facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 13px 0 12px; }
.private-teaser-facts span { display: inline-flex; align-items: center; border: 1px solid rgba(83,55,31,.14); background: rgba(255,255,255,.78); border-radius: 999px; padding: 7px 10px; font-size: .78rem; font-weight: 900; color: #3a2a20; }
.private-detail-shell { max-width: 1180px; margin-inline: auto; }
.private-detail-hero { display: grid; grid-template-columns: 1.05fr .95fr; gap: 28px; align-items: center; border-radius: 36px; padding: 34px; color: #fff7ec; background: radial-gradient(circle at 80% 12%, rgba(214,178,110,.28), transparent 30%), linear-gradient(135deg,#1d120e,#382219 62%,#5b351f); box-shadow: 0 28px 82px rgba(35, 21, 10, .22); }
.private-detail-hero h1 { font-family: var(--font-display, Georgia, serif); font-size: clamp(2.2rem, 5vw, 4.8rem); line-height: .95; letter-spacing: -.055em; margin: .35rem 0 1rem; }
.private-detail-hero p { color: rgba(255,248,236,.8); line-height: 1.75; }
.private-detail-hero .jp-disclaimer { color: rgba(255,248,236,.62); font-size: .95rem; }
.private-detail-facts span { background: rgba(255, 250, 244, .12); color: #fff7ec; border-color: rgba(255, 236, 190, .22); }
.private-detail-image { position: relative; overflow: hidden; border-radius: 28px; min-height: 360px; background: #2a1d17; }
.private-detail-image img { width: 100%; height: 100%; object-fit: cover; min-height: 360px; filter: saturate(.86) contrast(1.08) brightness(.82); }
.private-detail-image span { position: absolute; left: 18px; bottom: 18px; border-radius: 999px; padding: 10px 14px; background: rgba(25,16,12,.72); color: #fff7ec; border: 1px solid rgba(255,236,190,.25); font-weight: 950; }
.private-inquiry-modal[hidden] { display: none; }
.private-inquiry-modal { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; padding: 22px; }
.private-inquiry-backdrop { position: absolute; inset: 0; background: rgba(15, 10, 7, .62); backdrop-filter: blur(6px); }
.private-inquiry-panel { position: relative; width: min(860px, 100%); max-height: min(860px, 92vh); overflow: auto; background: #fffaf4; color: #241b16; border-radius: 30px; padding: 28px; box-shadow: 0 36px 110px rgba(0,0,0,.34); border: 1px solid rgba(199,155,88,.22); }
.private-inquiry-panel h2 { margin: .2rem 0 .55rem; font-family: var(--font-display, Georgia, serif); font-size: clamp(1.8rem, 4vw, 3rem); letter-spacing: -.045em; }
.private-inquiry-close { position: absolute; right: 18px; top: 16px; width: 38px; height: 38px; border: 1px solid rgba(83,55,31,.14); background: #fff; border-radius: 999px; font-size: 1.5rem; cursor: pointer; }
.private-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin: 18px 0; }
.private-form-grid label { display: grid; gap: 7px; font-size: .76rem; text-transform: uppercase; letter-spacing: .12em; color: #79685a; font-weight: 900; }
.private-form-grid label span { text-transform: none; letter-spacing: 0; font-weight: 700; opacity: .72; }
.private-form-grid input, .private-form-grid select, .private-form-grid textarea { width: 100%; border: 1px solid rgba(83,55,31,.16); border-radius: 16px; padding: 12px 13px; font: inherit; color: #241b16; background: #fff; }
.private-form-grid .full-span { grid-column: 1 / -1; }
.private-submit-message { margin-top: 12px; color: #1f7a4d; font-weight: 900; }
.results-empty[data-private-empty] { color: rgba(255,248,236,.8); }
@media (max-width: 800px) {
  .private-filter-bar, .private-form-grid, .private-detail-hero { grid-template-columns: 1fr; }
  .private-opportunities-section { border-radius: 26px; }
}

/* === GAISAPP correction: English-only, no badge overlap, compact filter controls === */
.card-image { isolation: isolate; }

/* === GAISAPP requested luxury listing polish — 2026-06-15 === */
.rental-hero,
.acquisition-hero {
  max-width: none;
  min-height: clamp(520px, 68vh, 720px);
  padding-bottom: clamp(4.5rem, 7vw, 7rem);
}

.rental-hero {
  --page-bg-image: url("assets/gaisapp-tokyo-tower-pexels.jpg");
}

.page-hero.dark-luxury.acquisition-hero {
  --page-bg-image: url("assets/user-premium/roppongi-luxury-tower-night.webp");
}

.rental-hero::before,
.acquisition-hero::before {
  background-image:
    linear-gradient(90deg, rgba(5, 7, 11, 0.9), rgba(11, 16, 25, 0.68) 44%, rgba(11, 16, 25, 0.28)),
    var(--page-bg-image);
  background-position: center 54%;
  opacity: 0.94;
}

.rental-hero::after,
.acquisition-hero::after {
  background:
    linear-gradient(180deg, rgba(5, 7, 11, 0.08), rgba(5, 7, 11, 0.42)),
    radial-gradient(circle at 82% 22%, rgba(220, 176, 92, 0.18), transparent 28%);
}

.rental-hero .hero-media,
.acquisition-hero .hero-media {
  aspect-ratio: 16 / 10;
  border: 1px solid rgba(232, 217, 181, 0.32);
  border-radius: 8px;
  box-shadow: 0 34px 100px rgba(0, 0, 0, 0.42);
  min-height: clamp(260px, 34vw, 460px);
}

.rental-hero .hero-media img,
.acquisition-hero .hero-media img {
  filter: saturate(1.02) contrast(1.08) brightness(0.86);
  object-position: center 58%;
}

.rental-hero .proof-chips span {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(232, 217, 181, 0.26);
  color: rgba(255, 250, 240, 0.82);
}

.rental-listing-focus {
  background-image:
    linear-gradient(180deg, rgba(245, 239, 229, 0.96), rgba(252, 250, 246, 0.98)),
    url("assets/gaisapp-tokyo-tower-pexels.jpg");
  background-position: center top;
  background-size: cover;
  padding-top: clamp(3.5rem, 5vw, 5.25rem);
}

.rental-listing-focus .split-heading {
  margin-bottom: clamp(1.1rem, 2.2vw, 1.8rem);
}

.rental-listing-focus .split-heading h2 {
  max-width: 12ch;
}

.rental-ops-banner {
  align-items: stretch;
  background:
    linear-gradient(135deg, rgba(255, 253, 249, 0.97), rgba(246, 238, 224, 0.94));
  border: 1px solid rgba(182, 162, 124, 0.34);
  border-radius: 8px;
  box-shadow: 0 22px 70px rgba(37, 26, 17, 0.12);
  display: grid;
  gap: clamp(1rem, 3vw, 2rem);
  grid-template-columns: minmax(260px, 0.84fr) minmax(0, 1fr);
  margin: 0 auto clamp(1.25rem, 3vw, 2rem);
  overflow: hidden;
}

.rental-ops-banner figure {
  margin: 0;
  min-height: 280px;
}

.rental-ops-banner img {
  height: 100%;
  object-fit: cover;
  object-position: 72% center;
  width: 100%;
}

.rental-ops-banner > div {
  align-content: center;
  display: grid;
  padding: clamp(1.35rem, 4vw, 2.5rem);
}

.rental-ops-banner h3 {
  font-size: clamp(1.65rem, 3vw, 2.55rem);
  line-height: 1;
  margin-bottom: 0.85rem;
  max-width: 13ch;
}

.rental-ops-banner p:not(.eyebrow) {
  max-width: 680px;
}

.ops-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1rem;
}

.ops-metrics span {
  align-items: center;
  background: rgba(74, 31, 37, 0.06);
  border: 1px solid rgba(182, 162, 124, 0.34);
  border-radius: 999px;
  color: #3a2920;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 850;
  gap: 0.45rem;
  padding: 0.58rem 0.72rem;
}

.ops-metrics svg,
.process-icon svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.ops-metrics svg {
  color: var(--luxury-burgundy);
  height: 18px;
  width: 18px;
}

.rental-listing-focus .atbb-rental-grid {
  gap: clamp(1rem, 2vw, 1.35rem);
}

.rental-listing-focus .ultra-prime-grid {
  margin-top: clamp(1rem, 2vw, 1.35rem);
}

.rental-listing-focus .property-card {
  border-color: rgba(182, 162, 124, 0.28);
  border-radius: 8px;
  box-shadow: 0 16px 50px rgba(31, 22, 13, 0.1);
}

.rental-listing-focus .property-card .card-image {
  aspect-ratio: 16 / 9;
}

.rental-listing-focus .property-card-body {
  padding: clamp(1rem, 2.2vw, 1.45rem);
}

.rental-listing-focus .property-card-body h3 {
  max-width: 18ch;
}

.rental-listing-focus .small-disclaimer {
  background: rgba(255, 250, 240, 0.62);
  border-radius: 8px;
}

.private-lock-badge {
  align-items: center;
  backdrop-filter: blur(10px);
  background: rgba(10, 12, 14, 0.78);
  border: 1px solid rgba(232, 217, 181, 0.35);
  border-radius: 999px;
  color: #fffaf0;
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 850;
  gap: 0.35rem;
  left: 14px;
  padding: 0.48rem 0.65rem;
  position: absolute;
  top: 14px;
  z-index: 3;
}

.acquisition-path-luxury {
  background-image:
    linear-gradient(180deg, rgba(14, 15, 18, 0.82), rgba(13, 12, 11, 0.9)),
    url("assets/gaisapp-tokyo-tower-pexels.jpg");
  background-position: center;
  background-size: cover;
}

.acquisition-path-luxury .split-heading h2,
.acquisition-path-luxury .split-heading p,
.acquisition-path-luxury .eyebrow {
  color: rgba(255, 250, 240, 0.9);
}

.acquisition-path-luxury .split-heading p {
  color: rgba(255, 250, 240, 0.72);
}

.icon-premium-grid {
  background: transparent;
  border: 0;
  gap: clamp(0.95rem, 2vw, 1.25rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.icon-premium-grid > article {
  background:
    linear-gradient(145deg, rgba(255, 252, 246, 0.98), rgba(246, 241, 231, 0.94));
  border: 1px solid rgba(232, 217, 181, 0.44);
  border-radius: 8px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.18);
  min-height: 300px;
  padding: clamp(1.35rem, 3vw, 2.2rem);
}

.process-icon {
  align-items: center;
  background: linear-gradient(180deg, rgba(255, 250, 240, 0.94), rgba(239, 229, 211, 0.86));
  border: 1px solid rgba(182, 162, 124, 0.28);
  border-radius: 50%;
  color: #8b693f;
  display: inline-flex;
  height: 72px;
  justify-content: center;
  margin-bottom: 1.15rem;
  width: 72px;
}

.process-icon svg {
  height: 38px;
  width: 38px;
}

.icon-premium-grid .page-kicker {
  color: var(--gold-deep);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  margin-bottom: 0.65rem;
  text-transform: uppercase;
}

.icon-premium-grid h3 {
  font-size: clamp(1.35rem, 2.2vw, 2.1rem);
  margin-bottom: 0.85rem;
  max-width: 11ch;
}

.icon-premium-grid p:not(.page-kicker) {
  line-height: 1.65;
  max-width: 280px;
}

@media (max-width: 980px) {
  .rental-hero,
  .acquisition-hero {
    grid-template-columns: 1fr;
  }

  .rental-ops-banner,
  .icon-premium-grid {
    grid-template-columns: 1fr;
  }

  .icon-premium-grid > article {
    min-height: auto;
  }
}

@media (max-width: 640px) {
  .rental-hero,
  .acquisition-hero {
    min-height: 0;
    padding-top: 6.5rem;
  }

  .rental-hero .hero-actions .button,
  .acquisition-hero .hero-actions .button {
    width: 100%;
  }

  .rental-ops-banner figure {
    min-height: 220px;
  }

  .rental-listing-focus .property-card .card-image {
    aspect-ratio: 4 / 3;
  }

  .process-icon {
    height: 60px;
    width: 60px;
  }

  .process-icon svg {
    height: 30px;
    width: 30px;
  }
}
.status-badge {
  max-width: calc(100% - 118px);
  min-height: 2.02rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.card-like-button {
  right: .72rem;
  top: .72rem;
  z-index: 6;
  min-height: 2.02rem;
  padding: .38rem .56rem;
  font-size: .72rem;
  gap: .24rem;
  background: rgba(18, 16, 14, .58);
  border-color: rgba(255, 250, 244, .56);
  box-shadow: 0 12px 24px rgba(16, 12, 8, .16);
}
.card-like-button .like-count { background: rgba(255, 255, 255, .17); }
.private-teaser-card .card-badge-stack .status-badge { display: inline-flex !important; }
.private-lock-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: calc(100% - 112px);
  min-height: 2.02rem;
  padding: 7px 11px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: rgba(255, 250, 244, .94);
  border-color: rgba(255, 236, 190, .34);
  color: #241b16;
}
.private-lock-badge span { color: #2e7d52; font-size: .78rem; line-height: 1; }
.private-detail-image span { text-transform: none; }
.product-control-bar {
  align-items: center;
  gap: .65rem .8rem;
  margin: 0 0 .95rem;
  padding: .58rem .68rem;
  border-radius: 999px;
  background: rgba(252, 250, 246, .82);
  border-color: rgba(184, 155, 94, .20);
  box-shadow: 0 10px 30px rgba(39, 34, 28, .045);
}
.product-control-copy {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  max-width: none;
  color: rgba(33, 31, 27, .72);
  font-size: .76rem;
  line-height: 1.2;
}
.product-control-copy strong { color: #2a1d17; font-weight: 900; }
.product-control-copy span:last-child { color: rgba(33, 31, 27, .54); }
.control-icon,
.filter-icon {
  display: inline-grid;
  place-items: center;
  width: 1.38rem;
  height: 1.38rem;
  border-radius: 999px;
  background: rgba(184, 155, 94, .12);
  color: #76542d;
  font-size: .82rem;
  font-weight: 950;
  flex: 0 0 auto;
}
.control-icon svg { width: 14px; height: 14px; }
.product-control-fields { gap: .45rem; }
.product-control-fields label {
  min-height: 2.18rem;
  padding: .18rem .26rem .18rem .46rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, .66);
  border: 1px solid rgba(184, 155, 94, .18);
  font-size: .7rem;
  letter-spacing: .06em;
  color: rgba(42, 29, 23, .72);
}
.product-control-fields select {
  min-height: 1.9rem;
  padding: .35rem 1.6rem .35rem .6rem;
  border: 0;
  background: transparent;
  color: #2a1d17;
  font-size: .76rem;
  font-weight: 850;
}
.private-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .58rem;
  margin: 16px 0 22px;
  padding: .62rem;
  border-radius: 26px;
  background: rgba(255, 250, 244, .08);
  border: 1px solid rgba(255, 236, 190, .16);
}
.private-filter-bar label {
  display: inline-flex;
  align-items: center;
  gap: .48rem;
  min-height: 2.35rem;
  padding: .22rem .28rem .22rem .56rem;
  border-radius: 999px;
  background: rgba(255, 250, 244, .10);
  border: 1px solid rgba(255, 236, 190, .16);
  color: rgba(255, 248, 236, .78);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.private-filter-bar .filter-label { display: inline-flex; align-items: center; gap: .36rem; white-space: nowrap; }
.private-filter-bar .filter-icon { background: rgba(255, 250, 244, .13); color: #e2c586; }
.private-filter-bar select {
  width: auto;
  min-width: 128px;
  min-height: 1.92rem;
  padding: .34rem 1.6rem .34rem .62rem;
  border: 0;
  background: rgba(255, 250, 244, .10);
  color: #fff7ec;
  font-size: .76rem;
  font-weight: 850;
}
.private-disclaimer { max-width: 860px; }
@media (max-width: 760px) {
  .status-badge { max-width: calc(100% - 104px); }
  .card-like-button { font-size: .68rem; padding-inline: .48rem; }
  .product-control-bar { align-items: stretch; border-radius: 20px; }
  .product-control-copy,
  .product-control-fields,
  .product-control-fields label,
  .product-control-fields select,
  .private-filter-bar label,
  .private-filter-bar select { width: 100%; }
  .private-filter-bar { border-radius: 20px; }
}

/* Final override for the 2026-06-15 rental/acquisition polish. */
.rental-listing-focus .private-lock-badge {
  background: rgba(10, 12, 14, 0.82);
  border-color: rgba(232, 217, 181, 0.36);
  color: #fffaf0;
  max-width: calc(100% - 28px);
  padding: 0.48rem 0.65rem;
}

@media (min-width: 761px) {
  .floating-listing-jump {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
  }

  .floating-listing-jump:hover {
    transform: translateY(-50%) translateX(-3px);
  }
}

.section.muted-band.acquisition-path-luxury {
  background-color: #111111;
  background-image:
    linear-gradient(180deg, rgba(12, 13, 16, 0.84), rgba(12, 12, 11, 0.9)),
    url("assets/gaisapp-tokyo-tower-pexels.jpg");
  background-position: center;
  background-size: cover;
}

.section.muted-band.acquisition-path-luxury .split-heading h2,
.section.muted-band.acquisition-path-luxury .split-heading p,
.section.muted-band.acquisition-path-luxury .eyebrow {
  color: rgba(255, 250, 240, 0.9);
  text-shadow: 0 2px 22px rgba(0, 0, 0, 0.32);
}

.section.muted-band.acquisition-path-luxury .split-heading p {
  color: rgba(255, 250, 240, 0.74);
}

/* 2026-06-15 homepage mandate-quality and document-route polish */
.luxury-hero-content {
  width: min(92vw, 1180px);
}

.home-hero-assurance {
  display: grid;
  gap: 0.7rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 1rem;
  width: min(94vw, 980px);
}

.home-assurance-card {
  align-items: center;
  background:
    linear-gradient(135deg, rgba(252, 250, 246, 0.13), rgba(232, 217, 181, 0.045)),
    rgba(8, 11, 16, 0.68);
  border: 1px solid rgba(232, 217, 181, 0.28);
  border-radius: 8px;
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.24);
  color: rgba(255, 250, 240, 0.78);
  display: grid;
  gap: 0.28rem 0.7rem;
  grid-template-columns: auto 1fr;
  min-height: 96px;
  padding: 0.95rem 1rem;
}

.home-assurance-card-featured {
  background:
    linear-gradient(135deg, rgba(232, 217, 181, 0.22), rgba(184, 155, 94, 0.09)),
    rgba(8, 11, 16, 0.78);
  border-color: rgba(232, 217, 181, 0.52);
}

.home-assurance-card:hover {
  border-color: rgba(232, 217, 181, 0.62);
  transform: translateY(-2px);
}

.home-assurance-icon {
  align-items: center;
  align-self: stretch;
  color: var(--pale-gold);
  display: inline-flex;
  grid-row: span 2;
  justify-content: center;
  width: 42px;
}

.home-assurance-icon svg,
.home-review-icon svg,
.document-step-icon svg,
.document-route-pill svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.home-assurance-icon svg {
  height: 34px;
  stroke-width: 1.55;
  width: 34px;
}

.home-assurance-card strong {
  color: var(--warm-white);
  display: block;
  font-family: var(--sans);
  font-size: clamp(1.02rem, 1.2vw, 1.18rem);
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.1;
}

.home-assurance-card span:last-child {
  color: rgba(255, 250, 240, 0.64);
  display: block;
  font-size: 0.76rem;
  font-weight: 500;
  line-height: 1.38;
}

.section.home-review-access {
  background-color: #07101a;
  background-image:
    linear-gradient(180deg, rgba(4, 10, 16, 0.77), rgba(5, 9, 13, 0.9)),
    url("assets/gaisapp-tokyo-tower-pexels.jpg");
  background-position: center 48%;
  background-size: cover;
  color: rgba(255, 250, 240, 0.76);
  max-width: none;
  overflow: hidden;
  position: relative;
}

.home-review-access::before {
  background:
    linear-gradient(90deg, rgba(232, 217, 181, 0.06) 1px, transparent 1px),
    linear-gradient(0deg, rgba(232, 217, 181, 0.045) 1px, transparent 1px);
  background-size: 86px 86px;
  content: "";
  inset: 0;
  opacity: 0.28;
  pointer-events: none;
  position: absolute;
}

.home-review-access > * {
  margin-left: auto;
  margin-right: auto;
  max-width: 1320px;
  position: relative;
  z-index: 1;
}

.home-review-heading {
  align-items: center;
  display: grid;
  gap: clamp(1.8rem, 5vw, 5rem);
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.75fr);
  margin-bottom: clamp(2rem, 5vw, 4.2rem);
}

.home-review-heading h2 {
  color: var(--warm-white);
  font-size: clamp(4rem, 8vw, 8.8rem);
  line-height: 0.9;
  max-width: 7.7ch;
  text-shadow: 0 18px 44px rgba(0, 0, 0, 0.38);
}

.home-review-heading p:not(.eyebrow) {
  border-left: 1px solid rgba(232, 217, 181, 0.36);
  color: rgba(255, 250, 240, 0.8);
  font-size: clamp(1.08rem, 1.7vw, 1.42rem);
  line-height: 1.75;
  margin: 0;
  max-width: 620px;
  padding-left: clamp(1.4rem, 3vw, 2.6rem);
}

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

.home-review-grid article {
  background:
    linear-gradient(145deg, rgba(255, 250, 240, 0.08), rgba(232, 217, 181, 0.025)),
    rgba(5, 12, 19, 0.72);
  border: 1px solid rgba(232, 217, 181, 0.34);
  border-radius: 8px;
  box-shadow: 0 28px 76px rgba(0, 0, 0, 0.28);
  min-height: 348px;
  padding: clamp(1.35rem, 2.6vw, 2.2rem);
}

.home-review-icon {
  color: var(--pale-gold);
  display: inline-flex;
  margin-bottom: 1.55rem;
}

.home-review-icon svg {
  height: 46px;
  stroke-width: 1.35;
  width: 46px;
}

.home-review-grid .page-kicker {
  color: var(--pale-gold);
  margin-bottom: 1.1rem;
}

.home-review-grid h3 {
  color: var(--warm-white);
  font-size: clamp(1.55rem, 2.2vw, 2.4rem);
  line-height: 1.02;
  margin-bottom: 1.1rem;
  max-width: 12ch;
}

.home-review-grid p:not(.page-kicker) {
  color: rgba(255, 250, 240, 0.7);
  line-height: 1.65;
  margin: 0;
}

.section.home-document-route {
  background-color: var(--warm-white);
  background-image:
    linear-gradient(90deg, rgba(252, 250, 246, 0.96), rgba(252, 250, 246, 0.88) 52%, rgba(247, 243, 236, 0.78)),
    url("assets/stock-premium/luxury-residence-kitchen.jpeg");
  background-position: center;
  background-size: cover;
  max-width: none;
  overflow: hidden;
  position: relative;
}

.home-document-route > * {
  margin-left: auto;
  margin-right: auto;
  max-width: 1360px;
}

.document-route-intro {
  align-items: center;
  display: grid;
  gap: clamp(2rem, 5vw, 5rem);
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.78fr);
  margin-bottom: clamp(2.4rem, 5vw, 4.4rem);
  position: relative;
}

.document-route-intro h2 {
  font-size: clamp(3.2rem, 6.2vw, 7rem);
  line-height: 0.94;
  max-width: 12ch;
}

.document-route-intro p:not(.eyebrow) {
  color: rgba(17, 17, 17, 0.64);
  font-size: clamp(1rem, 1.55vw, 1.22rem);
  line-height: 1.75;
  max-width: 720px;
}

.document-route-intro figure {
  border: 1px solid rgba(184, 155, 94, 0.34);
  border-radius: 8px;
  box-shadow: 0 26px 70px rgba(17, 17, 17, 0.16);
  margin: 0;
  min-height: clamp(220px, 24vw, 340px);
  overflow: hidden;
}

.document-route-intro img {
  filter: saturate(0.96) contrast(1.08) brightness(0.92);
  height: 100%;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.document-route-pill {
  align-items: center;
  background: rgba(252, 250, 246, 0.86);
  border: 1px solid rgba(184, 155, 94, 0.52);
  border-radius: 999px;
  box-shadow: 0 18px 44px rgba(17, 17, 17, 0.12);
  color: var(--charcoal);
  display: grid;
  gap: 0 0.78rem;
  grid-template-columns: auto 1fr;
  min-width: 190px;
  padding: 0.68rem 1.2rem 0.68rem 0.68rem;
  position: absolute;
  right: 0;
  top: -1.6rem;
}

.document-route-pill span {
  align-items: center;
  background: #091522;
  border-radius: 999px;
  color: var(--pale-gold);
  display: inline-flex;
  grid-row: span 2;
  height: 48px;
  justify-content: center;
  width: 48px;
}

.document-route-pill svg {
  height: 24px;
  stroke-width: 1.9;
  width: 24px;
}

.document-route-pill strong {
  font-size: 0.86rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  line-height: 1.1;
  text-transform: uppercase;
}

.document-route-pill small {
  color: rgba(17, 17, 17, 0.58);
  display: block;
  font-size: 0.76rem;
  line-height: 1.2;
}

.document-step-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  position: relative;
}

.document-step-grid::before {
  background: linear-gradient(90deg, transparent, rgba(184, 155, 94, 0.42), transparent);
  content: "";
  height: 1px;
  left: 4%;
  position: absolute;
  right: 4%;
  top: 40px;
}

.document-step-grid article {
  background:
    linear-gradient(180deg, rgba(252, 250, 246, 0.94), rgba(247, 243, 236, 0.84));
  border: 1px solid rgba(184, 155, 94, 0.28);
  border-radius: 8px;
  box-shadow: 0 22px 58px rgba(17, 17, 17, 0.08);
  min-height: 332px;
  padding: 3.95rem clamp(1rem, 1.7vw, 1.35rem) 1.35rem;
  position: relative;
}

.document-step-icon {
  align-items: center;
  background: #081522;
  border: 1px solid rgba(184, 155, 94, 0.72);
  border-radius: 999px;
  box-shadow: 0 18px 42px rgba(17, 17, 17, 0.18);
  color: var(--pale-gold);
  display: inline-flex;
  height: 82px;
  justify-content: center;
  left: 50%;
  position: absolute;
  top: -40px;
  transform: translateX(-50%);
  width: 82px;
  z-index: 1;
}

.document-step-icon svg {
  height: 40px;
  stroke-width: 1.55;
  width: 40px;
}

.document-step-grid small {
  align-items: center;
  background: var(--muted-gold);
  border-radius: 999px;
  color: var(--warm-white);
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 900;
  height: 30px;
  justify-content: center;
  margin: 0 auto 1rem;
  width: 30px;
}

.document-step-grid .page-kicker {
  display: block;
  margin-bottom: 0.9rem;
  text-align: center;
}

.document-step-grid h3 {
  color: var(--charcoal);
  font-family: var(--sans);
  font-size: clamp(1rem, 1.1vw, 1.22rem);
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: 1rem;
  max-width: none;
  text-align: center;
  text-transform: none;
}

.document-step-grid p:not(.page-kicker) {
  color: rgba(17, 17, 17, 0.62);
  font-size: 0.9rem;
  line-height: 1.65;
  margin: 0;
  text-align: center;
}

.document-route-tagline {
  align-items: center;
  background: #081522;
  border: 1px solid rgba(184, 155, 94, 0.38);
  border-radius: 999px;
  box-shadow: 0 18px 42px rgba(17, 17, 17, 0.14);
  color: rgba(255, 250, 240, 0.82);
  display: flex;
  font-size: 0.82rem;
  font-weight: 850;
  gap: 0.7rem;
  justify-content: center;
  letter-spacing: 0.14em;
  margin: clamp(1.8rem, 4vw, 2.8rem) auto 0;
  max-width: 560px;
  padding: 0.8rem 1.4rem;
  text-align: center;
  text-transform: uppercase;
}

.document-route-tagline span {
  color: var(--pale-gold);
}

@media (max-width: 1180px) {
  .home-review-grid,
  .document-step-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .document-step-grid {
    gap: 3.2rem 1rem;
  }

  .document-step-grid::before {
    display: none;
  }
}

@media (max-width: 900px) {
  .home-hero-assurance,
  .home-review-heading,
  .document-route-intro {
    grid-template-columns: 1fr;
  }

  .home-review-heading p:not(.eyebrow) {
    border-left: 0;
    border-top: 1px solid rgba(232, 217, 181, 0.36);
    padding-left: 0;
    padding-top: 1.3rem;
  }

  .document-route-pill {
    justify-self: start;
    position: static;
  }
}

@media (max-width: 760px) {
  .luxury-hero-content {
    padding-bottom: 4.8rem;
    width: 100%;
  }

  .luxury-hero h1 {
    font-size: clamp(3.05rem, 15vw, 3.9rem);
    line-height: 0.94;
    max-width: 6ch;
  }

  .luxury-hero .hero-statement {
    max-width: 21rem;
  }

  .luxury-hero .hero-actions {
    grid-template-columns: 1fr;
    max-width: 21rem;
  }

  .luxury-hero .hero-actions .button {
    width: 100%;
  }

  .home-hero-assurance {
    gap: 0.55rem;
    max-width: 21rem;
    width: 100%;
  }

  .home-assurance-card {
    min-height: 84px;
    padding: 0.78rem;
  }

  .home-assurance-card strong {
    font-size: 1.18rem;
  }

  .home-review-heading h2,
  .document-route-intro h2 {
    font-size: clamp(3rem, 14vw, 4.6rem);
  }

  .home-review-grid,
  .document-step-grid {
    grid-template-columns: 1fr;
  }

  .home-review-grid article {
    min-height: auto;
  }

  .document-step-grid {
    gap: 3.15rem;
  }

  .document-route-tagline {
    align-items: center;
    border-radius: 8px;
    flex-direction: column;
    gap: 0.3rem;
    letter-spacing: 0.08em;
  }
}

@media (max-width: 430px) {
  .home-assurance-icon {
    width: 34px;
  }

  .home-assurance-icon svg {
    height: 28px;
    width: 28px;
  }

  .document-route-pill {
    min-width: 0;
    width: 100%;
  }
}

/* ================================================================
   NAVY LUXURY THEME (2026-06-15) — deep midnight-blue + gold mood,
   matching the reference designs. Atmosphere/backdrop only; all
   layout and content are left untouched.
   ================================================================ */
:root {
  --navy-base: #07111e;
  --navy-card: rgba(6, 14, 23, 0.72);
}

/* Warm-black dark sections → midnight navy */
.section-dark,
.dark-luxury,
.final-cta,
.private-brief {
  background-color: var(--navy-base) !important;
  background-image:
    radial-gradient(circle at 80% 6%, rgba(232, 217, 181, 0.10), transparent 34%),
    linear-gradient(155deg, #0a1727 0%, #0b1a2c 56%, #081320 100%) !important;
}

/* Hero photo gets a navy wash instead of a warm-black one */
.luxury-hero {
  background-color: var(--navy-base);
}
.luxury-hero-overlay {
  background:
    linear-gradient(90deg, rgba(7, 16, 28, 0.93) 0%, rgba(9, 19, 32, 0.74) 44%, rgba(9, 19, 32, 0.26) 84%),
    linear-gradient(0deg, rgba(5, 11, 19, 0.72) 0%, transparent 52%) !important;
}

/* Glass cards inside dark sections lean navy with a gold hairline */
.section-dark .premium-grid > article,
.private-brief .premium-grid > article,
.final-cta .premium-grid > article,
.dark-luxury .premium-grid > article {
  background:
    linear-gradient(145deg, rgba(255, 250, 240, 0.075), rgba(232, 217, 181, 0.03)),
    var(--navy-card) !important;
  border-color: rgba(232, 217, 181, 0.30) !important;
}

/* Footer → navy */
.site-footer {
  background-color: var(--navy-base) !important;
  background-image:
    linear-gradient(150deg, rgba(8, 18, 30, 0.97), rgba(6, 13, 22, 0.95)),
    var(--bg-image-tokyo-night) !important;
  border-top-color: rgba(232, 217, 181, 0.20);
}

/* Review section is already navy — align its hue with the rest */
.section.home-review-access {
  background-image:
    linear-gradient(180deg, rgba(6, 14, 24, 0.80), rgba(6, 12, 20, 0.92)),
    url("assets/gaisapp-tokyo-tower-pexels.jpg") !important;
}

/* A touch more presence on the gold accent rule */
.gold-rule {
  opacity: 0.9;
}

/* Yield / 利回り line on investment-style result cards */
.card-yield {
  color: var(--muted-gold);
  font-weight: 700;
  font-size: 0.92rem;
  letter-spacing: 0.01em;
  margin: 0.15rem 0 0.55rem;
}

/* Jean review cleanup: keep the first screen clean and below the fixed header. */
.luxury-hero-content {
  min-height: 100vh;
  padding-top: clamp(6.75rem, 11vh, 8.5rem);
}

@media (max-width: 760px) {
  .luxury-hero-content {
    justify-content: flex-start;
    padding-bottom: 2rem;
    padding-top: 5.9rem;
  }

  .luxury-hero h1 {
    font-size: clamp(2.8rem, 13.5vw, 3.45rem);
    line-height: 0.94;
  }

  .luxury-hero .gold-rule {
    margin-bottom: 1rem;
    margin-top: 1rem;
  }

  .luxury-hero .hero-statement {
    font-size: 0.98rem;
    line-height: 1.52;
    margin-bottom: 0.8rem;
    max-width: 21rem;
  }

  .luxury-hero .hero-actions {
    gap: 0.65rem;
    margin-top: 0.85rem;
    max-width: 21rem;
  }

  .hero-private-search {
    gap: 0.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 0.85rem;
    padding: 0.62rem;
  }

  .hero-private-search label {
    font-size: 0.52rem;
    gap: 0.25rem;
  }

  .hero-private-search select {
    font-size: 0.78rem;
    min-height: 2.5rem;
    padding: 0.5rem 1.75rem 0.5rem 0.65rem;
  }

  .hero-private-search .button {
    font-size: 0.78rem;
    grid-column: 1 / -1;
    min-height: 2.75rem;
    padding-inline: 0.8rem;
    width: 100%;
  }

  .floating-listing-jump {
    display: none;
  }
}

/* GAISAPP merged trust architecture / credibility section */
.gaisapp-work-section .split-heading {
  align-items: start;
}

.gaisapp-work-section .split-heading h2 {
  max-width: 12ch;
}

.gaisapp-work-section .split-heading > p {
  line-height: 1.74;
  max-width: 760px;
}

.gaisapp-work-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gaisapp-work-grid > article {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  min-height: 230px;
  padding: clamp(1.55rem, 3vw, 2.25rem);
}

.gaisapp-work-grid h3 {
  color: var(--luxury-champagne);
  font-family: var(--sans);
  font-size: 0.82rem;
  font-weight: 850;
  line-height: 1.28;
  margin: 0;
  max-width: 24ch;
  text-transform: uppercase;
}

.gaisapp-work-grid p {
  color: rgba(255, 250, 240, 0.74);
  font-size: 0.96rem;
  line-height: 1.62;
  margin: 0;
  max-width: 25rem;
}

@media (max-width: 1080px) {
  .gaisapp-work-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .gaisapp-work-section .split-heading {
    gap: 1.5rem;
  }

  .gaisapp-work-grid {
    grid-template-columns: 1fr;
  }

  .gaisapp-work-grid > article {
    min-height: 0;
  }
}


/* FAQ teaser link polish: keeps the homepage section as a light gateway to the full FAQ page. */
.faq-teasers a {
  align-items: center;
  background: rgba(255, 250, 240, 0.92);
  border: 1px solid rgba(207, 198, 184, 0.28);
  color: var(--ink);
  display: flex;
  font-family: var(--serif);
  font-size: clamp(1.05rem, 1.5vw, 1.35rem);
  font-weight: 650;
  justify-content: space-between;
  line-height: 1.14;
  min-height: 150px;
  padding: clamp(1.2rem, 2.5vw, 1.8rem);
  text-decoration: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.faq-teasers a::after {
  content: "→";
  flex: 0 0 auto;
  font-family: var(--sans);
  font-size: 1.05rem;
  opacity: 0.55;
}

.faq-teasers a:hover,
.faq-teasers a:focus-visible {
  border-color: rgba(158, 124, 69, 0.45);
  box-shadow: 0 16px 38px rgba(20, 38, 56, 0.08);
  transform: translateY(-2px);
}

.faq-teasers a:focus-visible {
  outline: 2px solid rgba(158, 124, 69, 0.5);
  outline-offset: 4px;
}

/* ============================================================
   Homepage "Current high-end rentals, ready to introduce" block
   Compact card treatment — scoped to #atbb-prime-rentals only.
   ============================================================ */
#atbb-prime-rentals .property-card-body {
  display: flex;
  flex-direction: column;
}
/* Area line two sizes smaller to save space */
#atbb-prime-rentals .area {
  font-size: 0.56rem;
  margin-bottom: 0.55rem;
}
/* Building name one size smaller than the standard ultra card */
#atbb-prime-rentals .property-card-body h3 {
  font-size: clamp(18px, 1.7vw, 22px);
  margin: 4px 0 6px;
}
/* Two info-bubbles: property type (with icon) + layout & size */
#atbb-prime-rentals .intro-bubbles .spec-type {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
#atbb-prime-rentals .bubble-ico {
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
}
/* Short comment */
#atbb-prime-rentals .card-comment {
  font-size: 0.85rem;
  line-height: 1.45;
  color: rgba(27, 31, 36, 0.72);
  margin: 0 0 14px;
}
/* Action row: VIEW beside Add to request list, pinned to card bottom */
#atbb-prime-rentals .intro-card-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: auto;
}
#atbb-prime-rentals .intro-card-actions .button {
  margin: 0;
}
#atbb-prime-rentals .intro-card-actions .button-secondary,
#atbb-prime-rentals .intro-card-actions [data-private-inquiry] {
  flex: 1 1 auto;
}
#atbb-prime-rentals .intro-view-btn {
  flex: 0 0 auto;
  background: transparent;
  color: var(--gold-deep, #8a6d3b);
  border: 1px solid rgba(182, 162, 124, 0.55);
  padding: 0.62rem 1.15rem;
  letter-spacing: 0.06em;
}
#atbb-prime-rentals .intro-view-btn:hover {
  background: rgba(182, 162, 124, 0.12);
  color: var(--gold-deep, #8a6d3b);
}
/* "See all available properties" button under the grid */
#atbb-prime-rentals .intro-seeall {
  display: flex;
  justify-content: center;
  margin-top: 1.7rem;
}

/* ============================================================
   "For You" / Recommended strip — same compact card treatment,
   scoped to the osusume strip section only.
   ============================================================ */
.osusume-strip-section .property-card-body {
  display: flex;
  flex-direction: column;
}
.osusume-strip-section .area {
  font-size: 0.56rem;
  margin-bottom: 0.55rem;
}
.osusume-strip-section .property-card-body h3 {
  font-size: clamp(18px, 1.7vw, 22px);
  margin: 4px 0 6px;
}
.osusume-strip-section .intro-bubbles .spec-type {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.osusume-strip-section .bubble-ico {
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
}
.osusume-strip-section .card-comment {
  font-size: 0.85rem;
  line-height: 1.45;
  color: rgba(27, 31, 36, 0.72);
  margin: 0 0 14px;
}
/* Keep the comment genuinely short on the recommendation strip */
#atbb-prime-rentals .card-comment,
.osusume-strip-section .card-comment {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.osusume-strip-section .intro-card-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: auto;
}
.osusume-strip-section .intro-card-actions .button {
  margin: 0;
}
.osusume-strip-section .intro-card-actions .button-secondary,
.osusume-strip-section .intro-card-actions [data-private-inquiry] {
  flex: 1 1 auto;
}
.osusume-strip-section .intro-view-btn {
  flex: 0 0 auto;
  background: transparent;
  color: var(--gold-deep, #8a6d3b);
  border: 1px solid rgba(182, 162, 124, 0.55);
  padding: 0.62rem 1.15rem;
  letter-spacing: 0.06em;
}
.osusume-strip-section .intro-view-btn:hover {
  background: rgba(182, 162, 124, 0.12);
  color: var(--gold-deep, #8a6d3b);
}

/* WebP <picture> wrappers must not affect layout: the wrapper generates no box,
   so the <img> participates in layout exactly as before (same as a bare <img>). */
picture {
  display: contents;
}

/* ============================================================
   Cookie consent — minimal, elegant, matches the GAISAPP palette
   ============================================================ */
.cc-banner {
  position: fixed;
  left: clamp(1rem, 3vw, 1.5rem);
  bottom: clamp(1rem, 3vw, 1.5rem);
  z-index: 9998;
  width: min(380px, calc(100vw - 2rem));
  background: rgba(15, 14, 13, 0.97);
  color: rgba(255, 250, 240, 0.82);
  border: 1px solid rgba(182, 162, 124, 0.32);
  border-radius: 14px;
  padding: 1.15rem 1.25rem 1.2rem;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
  font-family: var(--sans, "Inter", sans-serif);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.cc-text {
  margin: 0 0 0.95rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: rgba(255, 250, 240, 0.74);
}
.cc-text a { color: var(--champagne, #d8c79f); text-decoration: underline; }
.cc-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.cc-btn {
  font-family: inherit;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  border-radius: 999px;
  padding: 0.55rem 1.05rem;
  cursor: pointer;
  border: 1px solid transparent;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}
.cc-choice {
  background: rgba(255, 250, 240, 0.08);
  color: rgba(255, 250, 240, 0.88);
  border-color: rgba(182, 162, 124, 0.46);
  min-width: 5.8rem;
}
.cc-choice:hover {
  background: rgba(216, 199, 159, 0.16);
  border-color: rgba(216, 199, 159, 0.62);
}
.cc-link {
  background: transparent;
  color: rgba(255, 250, 240, 0.7);
  border-color: transparent;
  padding-left: 0.4rem;
  padding-right: 0.4rem;
  text-decoration: underline;
  margin-right: auto; /* push Manage preferences to the left */
}
.cc-link:hover { color: var(--champagne, #d8c79f); }

/* Preferences modal */
.cc-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  background: rgba(0, 0, 0, 0.6);
}
.cc-modal[hidden] { display: none; }
.cc-modal-card {
  width: min(480px, 100%);
  max-height: 88vh;
  overflow-y: auto;
  background: #14130f;
  color: rgba(255, 250, 240, 0.82);
  border: 1px solid rgba(182, 162, 124, 0.3);
  border-radius: 16px;
  padding: 1.6rem 1.6rem 1.4rem;
  font-family: var(--sans, "Inter", sans-serif);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
}
.cc-modal-title {
  font-family: var(--serif, "Playfair Display", serif);
  font-size: 1.35rem;
  margin: 0 0 0.5rem;
  color: var(--paper, #faf6ef);
}
.cc-modal-intro { margin: 0 0 1.1rem; font-size: 0.84rem; line-height: 1.55; color: rgba(255, 250, 240, 0.7); }
.cc-modal-intro a { color: var(--champagne, #d8c79f); text-decoration: underline; }
.cc-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 0;
  border-top: 1px solid rgba(182, 162, 124, 0.16);
}
.cc-row-txt { display: flex; flex-direction: column; gap: 0.2rem; }
.cc-row-txt strong { font-size: 0.86rem; color: var(--paper, #faf6ef); font-weight: 700; }
.cc-row-txt small { font-size: 0.76rem; color: rgba(255, 250, 240, 0.6); line-height: 1.45; }
.cc-row input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--champagne, #d8c79f); flex: 0 0 auto; }
.cc-modal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin-top: 1.25rem;
}
.cc-modal-actions .cc-link { margin-right: auto; }

@media (max-width: 600px) {
  .cc-banner {
    left: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    width: auto;
  }
  .cc-actions .cc-btn { flex: 1 1 auto; text-align: center; }
  .cc-actions .cc-link { flex-basis: 100%; margin-right: 0; text-align: left; }
}

.map-consent-panel {
  align-items: center;
  background:
    linear-gradient(135deg, rgba(17, 17, 17, 0.82), rgba(33, 31, 27, 0.7)),
    radial-gradient(circle at 26% 24%, rgba(216, 199, 159, 0.16), transparent 36%);
  color: rgba(255, 250, 240, 0.8);
  display: grid;
  gap: 0.75rem;
  inset: 0;
  justify-items: center;
  padding: clamp(1.25rem, 3vw, 2rem);
  position: absolute;
  text-align: center;
  z-index: 3;
}
.map-consent-panel[hidden] { display: none; }
.map-consent-panel strong {
  color: var(--paper, #faf6ef);
  font-family: var(--serif, "Playfair Display", serif);
  font-size: clamp(1.35rem, 2.2vw, 1.9rem);
}
.map-consent-panel p {
  line-height: 1.55;
  margin: 0;
  max-width: 31rem;
}
.map-consent-panel .cc-btn { margin-top: 0.2rem; }

/* Footer real-estate licence (株式会社Livmo) — small print under the brand text */
.site-footer .footer-license {
  margin-top: 1rem;
  font-size: 0.72rem;
  line-height: 1.6;
  color: rgba(255, 250, 240, 0.45);
  letter-spacing: 0.01em;
}

/* ============================================================
   Legal & Framework page — premium redesign (hero + layout)
   ============================================================ */
.legal-hero {
  position: relative;
  isolation: isolate;
  min-height: clamp(330px, 44vw, 460px);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
}
.legal-hero-media { position: absolute; inset: 0; z-index: -2; }
.legal-hero-media img { width: 100%; height: 100%; object-fit: cover; }
.legal-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(22,15,8,0.74) 0%, rgba(28,18,10,0.88) 100%);
}
.legal-hero-inner { max-width: 760px; padding: clamp(3rem, 7vw, 5rem) 1.4rem; color: #f6efe3; }
.legal-emblem {
  width: clamp(52px, 7vw, 74px);
  height: auto;
  color: #d9b877;
  margin: 0 auto 1rem;
  display: block;
  filter: drop-shadow(0 3px 12px rgba(0,0,0,0.45));
}
.legal-hero .eyebrow { color: #d9b877; letter-spacing: 0.22em; font-size: 0.72rem; text-transform: uppercase; margin: 0 0 0.7rem; }
.legal-hero h1 {
  font-family: var(--serif, "Playfair Display", serif);
  color: #fff;
  font-size: clamp(30px, 4vw, 44px);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -0.01em;
  margin: 0 auto 0.95rem;
  max-width: 18ch;
  text-align: center;
  text-wrap: balance;
}
.legal-hero-inner,
.legal-hero .eyebrow,
.legal-hero .lead { text-align: center; }
.legal-hero .lead { margin-left: auto; margin-right: auto; }
.legal-hero .lead { color: rgba(246,239,227,0.84); font-size: clamp(15px, 1.4vw, 18px); line-height: 1.6; max-width: 600px; margin: 0 auto 1.4rem; }
.legal-hero-chips { display: flex; gap: 0.5rem; flex-wrap: wrap; justify-content: center; }
.legal-hero-chips span {
  border: 1px solid rgba(217,184,119,0.4);
  color: #e7d4ad;
  border-radius: 999px;
  padding: 0.42rem 0.9rem;
  font-size: 0.72rem;
  letter-spacing: 0.03em;
  background: rgba(217,184,119,0.08);
}

.legal-shell {
  max-width: 1120px;
  margin: 0 auto;
  padding: clamp(2.4rem, 5vw, 4rem) clamp(1.1rem, 4vw, 2rem);
  display: grid;
  grid-template-columns: 232px 1fr;
  gap: clamp(1.6rem, 4vw, 3.4rem);
  align-items: start;
}
.legal-index { position: sticky; top: 96px; font-size: 0.86rem; }
.legal-index-title { font-size: 0.7rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold-deep, #8a6d3b); margin: 0 0 0.85rem; }
.legal-index a {
  display: block;
  padding: 0.44rem 0 0.44rem 0.85rem;
  border-left: 2px solid rgba(182,162,124,0.28);
  color: rgba(27,31,36,0.62);
  text-decoration: none;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.legal-index a:hover { color: var(--ink, #1b1f24); border-left-color: var(--gold-deep, #8a6d3b); }

.legal-body { min-width: 0; }
.legal-block { padding: clamp(1.5rem, 2.6vw, 2.1rem) 0; border-top: 1px solid rgba(182,162,124,0.22); scroll-margin-top: 96px; }
.legal-block h2 {
  font-family: var(--serif, serif);
  font-size: clamp(20px, 2.2vw, 27px);
  font-weight: 600;
  color: #221a14;
  margin: 0 0 0.95rem;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  line-height: 1.2;
}
.legal-block h2 .lic-ico { width: 24px; height: 24px; color: var(--gold-deep, #8a6d3b); flex: 0 0 auto; }
.legal-block p { color: rgba(27,31,36,0.74); line-height: 1.72; margin: 0 0 0.85rem; font-size: 1rem; }
.legal-block p:last-child { margin-bottom: 0; }
.legal-block a { color: var(--luxury-burgundy, #7a2230); text-decoration: none; border-bottom: 1px solid rgba(122,34,48,0.3); }

.legal-notice {
  display: flex;
  gap: 0.9rem;
  align-items: flex-start;
  background: linear-gradient(180deg, rgba(182,162,124,0.12), rgba(182,162,124,0.05));
  border: 1px solid rgba(182,162,124,0.32);
  border-radius: 14px;
  padding: 1.1rem 1.3rem;
  margin-bottom: 0.4rem;
}
.legal-notice p { color: rgba(27,31,36,0.82); line-height: 1.62; margin: 0; font-size: 0.97rem; }
.legal-notice .lic-ico { width: 24px; height: 24px; color: var(--gold-deep, #8a6d3b); flex: 0 0 auto; margin-top: 2px; }

.legal-company {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: rgba(182,162,124,0.28);
  border: 1px solid rgba(182,162,124,0.28);
  border-radius: 16px;
  overflow: hidden;
  margin: 0;
}
.legal-company > div { background: #fbf9f4; padding: 1rem 1.1rem; }
.legal-company dt { font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold-deep, #8a6d3b); margin: 0 0 0.3rem; }
.legal-company dd { margin: 0; color: #221a14; font-size: 0.98rem; line-height: 1.5; }
.legal-company a { color: var(--luxury-burgundy, #7a2230); text-decoration: none; border-bottom: 1px solid rgba(122,34,48,0.3); }

.legal-license {
  margin-top: 1.1rem;
  background: #241a12;
  color: #e8dcc6;
  border-radius: 14px;
  padding: 1.15rem 1.35rem;
  font-size: 0.85rem;
  line-height: 1.95;
  letter-spacing: 0.01em;
}
.legal-license .ll-head { color: #d9b877; font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; margin: 0 0 0.55rem; display: block; }

@media (max-width: 820px) {
  .legal-shell { grid-template-columns: 1fr; }
  .legal-index { position: static; top: auto; border: 1px solid rgba(182,162,124,0.26); border-radius: 12px; padding: 1rem 1.1rem; background: #fbf9f4; }
  .legal-index a { border-left: 0; padding: 0.38rem 0; }
  .legal-company { grid-template-columns: 1fr; }
}

/* Product-first navigation: one compact, centered route to inventory on every public page. */
.floating-listing-jump {
  display: inline-flex !important;
  top: auto !important;
  right: auto !important;
  bottom: 20px !important;
  left: 50% !important;
  min-width: 0;
  padding: 0.68rem 1rem 0.68rem 0.68rem;
  transform: translateX(-50%) !important;
  white-space: nowrap;
}

.floating-listing-jump:hover {
  transform: translateX(-50%) translateY(-3px) !important;
}

.floating-listing-jump strong {
  font-size: 0.7rem;
}

.floating-listing-jump small {
  font-size: 0.54rem;
}

.product-priority-section {
  scroll-margin-top: 96px;
}

.product-first-ui .product-priority-section .split-heading {
  margin-bottom: clamp(1rem, 2vw, 1.5rem);
}

.product-first-ui .product-priority-section .split-heading > p {
  max-width: 62ch;
}

.product-first-ui .product-priority-section .property-card-body > .small-disclaimer,
.product-first-ui .product-priority-section .property-card-body > .process-info {
  display: none;
}

.product-first-ui .product-priority-section .property-card-body > p:not(.tag):not(.area):not(.price):not(.card-price):not(.recommended-price):not(.small-disclaimer):not(.process-info) {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media (max-width: 760px) {
  .floating-listing-jump {
    bottom: 14px !important;
    width: calc(100% - 32px);
    max-width: 360px;
    justify-content: center;
    padding: 0.62rem 0.85rem;
  }

  .floating-listing-jump small {
    display: block;
  }

  .product-priority-section {
    scroll-margin-top: 78px;
  }

  .product-first-ui .product-priority-section .split-heading > p,
  .product-first-ui .product-priority-section > .legal-note {
    display: none;
  }

  body:has(.cc-banner:not([style*="display: none"])) .floating-listing-jump {
    display: none !important;
  }
}

/* Equal card rhythm and compact auxiliary filters — 2026-06-19. */
.service-icon-card {
  align-content: start;
  grid-template-rows: 3.3rem minmax(2.6rem, auto) 1fr;
}

.service-icon-card > span {
  align-self: start;
  display: flex;
  align-items: flex-start;
}

.service-icon-card > p {
  align-self: start;
}

.property-grid,
.premium-grid,
.journal-grid,
.insight-grid,
.card-grid {
  align-items: stretch;
}

.property-card,
.journal-card,
.insight-card,
.premium-grid > article,
.decision-card,
.service-card {
  height: 100%;
}

.property-card,
.journal-card,
.insight-card {
  display: flex;
  flex-direction: column;
}

.property-card-body,
.journal-card-body,
.insight-card-body,
.premium-grid > article,
.decision-card,
.service-card {
  display: flex;
  flex: 1;
  flex-direction: column;
}

@media (min-width: 761px) {
  .property-card-body > h3,
  .journal-card-body > h3,
  .insight-card-body > h3,
  .premium-grid > article > h3,
  .decision-card > h3,
  .service-card > h3 {
    min-height: 2.4em;
  }

  .property-card-body > .button:last-of-type,
  .journal-card-body > .text-link:last-child,
  .insight-card-body > .text-link:last-child,
  .premium-grid > article > .text-link:last-child,
  .decision-card > .text-link:last-child,
  .service-card > .text-link:last-child {
    margin-top: auto;
  }
}

.results-filter-panel {
  position: relative;
}

.product-control-menu {
  display: flex;
  justify-content: flex-end;
  margin: 0 0 0.75rem;
  position: relative;
  z-index: 35;
}

.product-control-menu.is-search-adjacent {
  align-self: end;
  justify-self: start;
  margin: 0;
  position: static;
}

.product-filter-toggle {
  align-items: center;
  background: #fffdfa;
  border: 1px solid rgba(184, 155, 94, 0.38);
  border-radius: 999px;
  color: #76542d;
  cursor: pointer;
  display: inline-flex;
  height: 3rem;
  justify-content: center;
  padding: 0;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
  width: 3rem;
}

.product-filter-toggle:hover,
.product-filter-toggle[aria-expanded="true"] {
  background: #241a12;
  border-color: #241a12;
  color: #fffaf0;
  transform: translateY(-1px);
}

.product-filter-toggle .control-icon {
  background: transparent;
  color: inherit;
  height: 1.45rem;
  width: 1.45rem;
}

.product-filter-toggle:focus-visible {
  outline: 2px solid rgba(184, 155, 94, 0.72);
  outline-offset: 3px;
}

.product-control-menu .product-control-fields {
  background: rgba(255, 253, 250, 0.99);
  border: 1px solid rgba(184, 155, 94, 0.28);
  border-radius: 16px;
  box-shadow: 0 22px 55px rgba(31, 25, 19, 0.16);
  display: grid;
  gap: 0.55rem;
  grid-template-columns: repeat(2, minmax(190px, 1fr));
  max-width: calc(100vw - 32px);
  padding: 0.75rem;
  position: absolute;
  right: 0;
  top: calc(100% + 0.45rem);
  width: min(520px, calc(100vw - 32px));
  z-index: 50;
}

.product-control-menu.is-search-adjacent .product-control-fields {
  right: clamp(1rem, 2vw, 2rem);
  top: calc(100% + 0.45rem);
}

.product-control-menu .product-control-fields[hidden] {
  display: none !important;
}

.product-control-menu .product-control-fields label,
.product-control-menu .product-control-fields select {
  width: 100%;
}

@media (max-width: 760px) {
  .service-icon-card {
    grid-template-rows: 3.3rem auto auto;
  }

  .product-control-menu .product-control-fields {
    grid-template-columns: 1fr;
    max-height: min(70vh, 430px);
    overflow: auto;
    width: min(340px, calc(100vw - 32px));
  }

  .product-control-menu.is-search-adjacent {
    justify-self: end;
  }
}

/* Correct filter hierarchy: one main search, then four compact list controls. */
.results-band > [hidden],
.results-filter-panel[hidden] {
  display: none !important;
}

.search-submit-row {
  align-items: stretch;
  display: flex;
  gap: 0.55rem;
  min-width: 0;
}

.search-submit-row .button {
  flex: 1 1 auto;
  min-width: 0;
}

.search-condition-icon {
  align-items: center;
  align-self: end;
  background: #241a12;
  border: 1px solid rgba(184, 155, 94, 0.48);
  border-radius: 999px;
  color: #fffaf0;
  display: inline-flex;
  flex: 0 0 3.5rem;
  height: 3.5rem;
  justify-content: center;
  transition: background 160ms ease, transform 160ms ease;
  width: 3.5rem;
}

.search-condition-icon:hover {
  background: var(--luxury-burgundy);
  color: #fff;
  transform: translateY(-2px);
}

.search-condition-icon svg {
  height: 1.25rem;
  width: 1.25rem;
}

.product-control-bar-compact {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: flex;
  justify-content: flex-end;
  margin: 0 0 1rem;
  padding: 0;
}

.product-control-bar-compact .product-control-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
  width: auto;
}

.product-control-bar-compact .product-control-fields label {
  background: rgba(255, 253, 250, 0.94);
  border: 1px solid rgba(184, 155, 94, 0.24);
  border-radius: 999px;
  box-shadow: none;
  min-height: 2.55rem;
  padding: 0.2rem 0.28rem 0.2rem 0.52rem;
  width: auto;
}

.product-control-bar-compact .product-control-fields select {
  min-height: 2.1rem;
  width: auto;
}

@media (max-width: 1100px) {
  .hero-private-search .search-submit-row {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .search-submit-row {
    grid-column: 1 / -1;
  }

  .search-condition-icon {
    align-self: stretch;
    flex-basis: 2.75rem;
    height: auto;
    width: 2.75rem;
  }

  .product-control-bar-compact,
  .product-control-bar-compact .product-control-fields {
    justify-content: stretch;
    width: 100%;
  }

  .product-control-bar-compact .product-control-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-control-bar-compact .product-control-fields label,
  .product-control-bar-compact .product-control-fields select {
    width: 100%;
  }
}

/* Functional detailed property search. */
.advanced-search-panel {
  background: rgba(255, 253, 249, 0.84);
  border: 1px solid rgba(116, 36, 41, 0.18);
  border-radius: 12px;
  display: grid;
  gap: 0.75rem;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0.15rem 0 0;
  padding: 0.9rem;
}

.advanced-search-panel[hidden] {
  display: none !important;
}

.advanced-search-panel legend {
  align-items: center;
  color: var(--luxury-burgundy);
  display: inline-flex;
  font-size: 0.68rem;
  font-weight: 900;
  gap: 0.42rem;
  letter-spacing: 0.12em;
  padding: 0 0.45rem;
  text-transform: uppercase;
}

.advanced-search-panel legend svg,
.advanced-search-panel label span svg,
.active-advanced-filters svg {
  fill: none;
  height: 1rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 1rem;
}

.advanced-search-panel label span {
  align-items: center;
  display: inline-flex;
  gap: 0.38rem;
}

.search-condition-icon[aria-expanded="true"] {
  background: var(--luxury-burgundy);
  box-shadow: 0 0 0 4px rgba(184, 155, 94, 0.2);
}

.active-advanced-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: -0.4rem 0 1rem;
}

.active-advanced-filters span {
  align-items: center;
  background: rgba(255, 253, 250, 0.96);
  border: 1px solid rgba(184, 155, 94, 0.28);
  border-radius: 999px;
  color: #4c3828;
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 850;
  gap: 0.42rem;
  letter-spacing: 0.04em;
  min-height: 2.2rem;
  padding: 0.4rem 0.72rem;
}

/* Persistent request-list cart: prominent, fixed and clear of the listing shortcut. */
.request-cart-button,
.request-cart-button.has-items {
  background: linear-gradient(135deg, #7a2632 0%, #3a151c 68%, #21100f 100%);
  border: 1px solid rgba(235, 208, 147, 0.78);
  bottom: 22px;
  box-shadow: 0 16px 42px rgba(37, 12, 17, 0.38), 0 0 0 4px rgba(205, 174, 106, 0.12);
  display: inline-flex;
  min-height: 3.5rem;
  padding: 0.8rem 1.05rem;
  right: 22px;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
  z-index: 1300;
}

.request-cart-button:hover {
  background: linear-gradient(135deg, #922f3d, #431820 72%);
  box-shadow: 0 20px 48px rgba(37, 12, 17, 0.46), 0 0 0 5px rgba(205, 174, 106, 0.16);
  transform: translateY(-3px);
}

.request-cart-button:focus-visible {
  outline: 3px solid rgba(235, 208, 147, 0.72);
  outline-offset: 4px;
}

.request-cart-button.has-items .rc-count {
  box-shadow: 0 0 0 4px rgba(235, 208, 147, 0.16);
}

body:has(.cc-banner:not([style*="display: none"])) .request-cart-button {
  display: none !important;
}

@media (max-width: 760px) {
  .request-cart-button,
  .request-cart-button.has-items {
    bottom: 88px;
    min-height: 3.25rem;
    padding: 0.68rem 0.78rem;
    right: 16px;
  }

  .request-cart-button .rc-label {
    display: inline;
    font-size: 0.72rem;
  }

}

.active-advanced-filters svg {
  color: #8a6d3b;
}

@media (max-width: 760px) {
  .advanced-search-panel {
    grid-template-columns: 1fr;
    max-height: min(58vh, 430px);
    overflow: auto;
    padding: 0.75rem;
  }

  .active-advanced-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .active-advanced-filters span {
    min-width: 0;
  }
}

/* Grid / list display switch for every controlled property collection. */
.product-control-bar-compact {
  flex-wrap: wrap;
  gap: 0.65rem;
}

.product-view-toggle {
  align-items: stretch;
  background: rgba(255, 253, 250, 0.96);
  border: 1px solid rgba(184, 155, 94, 0.3);
  border-radius: 999px;
  display: inline-flex;
  flex: 0 0 auto;
  min-height: 2.55rem;
  overflow: hidden;
}

.product-view-toggle button {
  align-items: center;
  background: transparent;
  border: 0;
  color: #756c65;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  min-width: 3rem;
  padding: 0.52rem 0.72rem;
  transition: background 150ms ease, color 150ms ease;
}

.product-view-toggle button + button {
  border-left: 1px solid rgba(184, 155, 94, 0.28);
}

.product-view-toggle button[aria-pressed="true"] {
  background: rgba(122, 38, 50, 0.1);
  color: var(--luxury-burgundy);
}

.product-view-toggle button:hover {
  background: rgba(184, 155, 94, 0.12);
  color: var(--luxury-burgundy);
}

.product-view-toggle button:focus-visible {
  outline: 2px solid rgba(122, 38, 50, 0.56);
  outline-offset: -3px;
}

.product-view-toggle svg {
  fill: none;
  height: 1.35rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 1.35rem;
}

[data-product-sortable="1"].product-grid-view-list {
  display: grid !important;
  grid-auto-flow: row !important;
  grid-template-columns: minmax(0, 1fr) !important;
  overflow: visible;
}

[data-product-sortable="1"].product-grid-view-list > .property-card {
  display: grid !important;
  grid-template-columns: minmax(230px, 32%) minmax(0, 1fr);
  height: auto;
  min-height: 250px;
  width: 100%;
}

[data-product-sortable="1"].product-grid-view-list > .property-card > .card-image {
  aspect-ratio: auto;
  height: 100%;
  min-height: 250px;
}

[data-product-sortable="1"].product-grid-view-list > .property-card > .card-image picture,
[data-product-sortable="1"].product-grid-view-list > .property-card > .card-image img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

[data-product-sortable="1"].product-grid-view-list .property-card-body {
  min-width: 0;
}

[data-product-sortable="1"].product-grid-view-list .property-card-body > h3 {
  max-width: none;
  min-height: 0;
}

@media (max-width: 760px) {
  .product-view-toggle {
    justify-self: end;
    margin-left: auto;
  }

  [data-product-sortable="1"].product-grid-view-list > .property-card {
    grid-template-columns: minmax(108px, 34%) minmax(0, 1fr);
    min-height: 180px;
  }

  [data-product-sortable="1"].product-grid-view-list > .property-card > .card-image {
    min-height: 180px;
  }

  [data-product-sortable="1"].product-grid-view-list .property-card-body {
    padding: 0.9rem;
  }

  [data-product-sortable="1"].product-grid-view-list .property-card-body h3 {
    font-size: 1rem;
    line-height: 1.2;
    margin-bottom: 0.55rem;
  }

  [data-product-sortable="1"].product-grid-view-list .property-card-body .button,
  [data-product-sortable="1"].product-grid-view-list .property-card-body .text-link {
    font-size: 0.66rem;
  }
}

/* Denser property browsing: smaller cards in both grid and list modes. */
[data-product-sortable="1"].product-grid-view-grid {
  gap: clamp(0.8rem, 1.5vw, 1.15rem);
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

[data-product-sortable="1"].product-grid-view-grid > .property-card .card-image {
  aspect-ratio: 1.35 / 1;
}

[data-product-sortable="1"] > .property-card .property-card-body {
  padding: clamp(0.95rem, 1.5vw, 1.2rem);
}

[data-product-sortable="1"] > .property-card .property-card-body h3 {
  font-size: clamp(1rem, 1.5vw, 1.22rem);
  line-height: 1.18;
}

[data-product-sortable="1"] > .property-card .property-card-body p {
  font-size: 0.84rem;
  line-height: 1.45;
}

[data-product-sortable="1"] > .property-card {
  align-self: start;
  height: auto !important;
}

[data-product-sortable="1"] > .property-card .property-card-body > .tag,
[data-product-sortable="1"] > .property-card .property-card-body > .area {
  margin-bottom: 0.45rem;
}

[data-product-sortable="1"] > .property-card .property-card-body > h3 {
  margin: 0.1rem 0 0.55rem;
  min-height: 0 !important;
}

[data-product-sortable="1"] > .property-card .property-card-body > p {
  margin-bottom: 0.55rem;
}

[data-product-sortable="1"] > .property-card .property-card-body:has(> .card-price) > .price {
  display: none;
}

[data-product-sortable="1"] > .property-card .property-card-body > .text-link,
[data-product-sortable="1"] > .property-card .property-card-body > .button {
  margin-top: 0.55rem !important;
}

[data-product-sortable="1"] > .property-card .property-card-body > .button {
  min-height: 2.6rem;
  padding: 0.68rem 0.8rem;
}

[data-product-sortable="1"].product-grid-view-list > .property-card {
  grid-template-columns: minmax(185px, 26%) minmax(0, 1fr);
  min-height: 190px;
}

[data-product-sortable="1"].product-grid-view-list > .property-card > .card-image {
  min-height: 190px;
}

@media (max-width: 760px) {
  [data-product-sortable="1"] > .property-card .property-card-body > .tag,
  [data-product-sortable="1"] > .property-card .property-card-body > p:not(.area):not(.price):not(.card-price):not(.small-disclaimer) {
    display: none;
  }

  [data-product-sortable="1"].product-grid-view-grid {
    gap: 0.7rem;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  [data-product-sortable="1"].product-grid-view-grid > .property-card .property-card-body {
    padding: 0.72rem;
  }

  [data-product-sortable="1"].product-grid-view-grid > .property-card .property-card-body h3 {
    font-size: 0.9rem;
    line-height: 1.18;
    margin-bottom: 0.45rem;
  }

  [data-product-sortable="1"].product-grid-view-grid > .property-card .property-card-body p {
    font-size: 0.72rem;
  }

  [data-product-sortable="1"].product-grid-view-grid > .property-card .property-card-body .button,
  [data-product-sortable="1"].product-grid-view-grid > .property-card .property-card-body .text-link {
    font-size: 0.58rem;
    min-height: 2.35rem;
    padding: 0.55rem 0.48rem;
  }

  [data-product-sortable="1"].product-grid-view-list > .property-card {
    grid-template-columns: minmax(96px, 31%) minmax(0, 1fr);
    min-height: 150px;
  }

  [data-product-sortable="1"].product-grid-view-list > .property-card > .card-image {
    min-height: 150px;
  }

  [data-product-sortable="1"].product-grid-view-list .property-card-body {
    padding: 0.72rem;
  }
}


/* =====================================================================
   Tokyo Area Guides — luminous, high-contrast hero
   Fix: dark text was blending into the light architecture background
   photo. This scoped treatment darkens the backdrop and makes the
   heading bright and glowing so every line is clearly legible.
   ===================================================================== */
.page-title.area-hero-glow {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.page-title.area-hero-glow::before {
  background-image:
    linear-gradient(180deg, rgba(11, 11, 12, 0.82), rgba(17, 17, 19, 0.74) 55%, rgba(20, 18, 16, 0.88)),
    var(--page-bg-image);
  opacity: 0.96;
}

.page-title.area-hero-glow::after {
  background:
    radial-gradient(60% 70% at 50% 16%, rgba(232, 217, 181, 0.28), transparent 60%),
    radial-gradient(40% 50% at 80% 90%, rgba(232, 217, 181, 0.14), transparent 70%),
    linear-gradient(180deg, rgba(17, 17, 17, 0), rgba(17, 17, 17, 0.18));
}

.page-title.area-hero-glow .eyebrow {
  color: var(--pale-gold);
  letter-spacing: 0.26em;
  text-shadow:
    0 0 1px rgba(255, 248, 230, 0.9),
    0 0 14px rgba(232, 217, 181, 0.65),
    0 0 30px rgba(232, 217, 181, 0.35);
}

.page-title.area-hero-glow h1 {
  margin-left: auto;
  margin-right: auto;
  background: linear-gradient(180deg, #FFFDF7 0%, #FBF1D6 42%, #E8D9B5 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #FBF1D6; /* fallback if background-clip unsupported */
  text-shadow:
    0 1px 0 rgba(0, 0, 0, 0.12),
    0 0 26px rgba(232, 217, 181, 0.45),
    0 0 60px rgba(232, 217, 181, 0.25);
  filter: drop-shadow(0 6px 26px rgba(232, 217, 181, 0.28));
}

.page-title.area-hero-glow .lead {
  color: #F4EEE2;
  margin-left: auto;
  margin-right: auto;
  text-shadow: 0 1px 14px rgba(0, 0, 0, 0.55);
}

@media (max-width: 760px) {
  .page-title.area-hero-glow::before {
    opacity: 0.97;
  }
}

/* Embedded rental / sales map blocks */
.service-map-preview {
  background: linear-gradient(180deg, rgba(252, 250, 246, 0.98), rgba(246, 241, 232, 0.96));
}
.service-map-preview .map-experience {
  margin-top: clamp(1rem, 2vw, 1.6rem);
}
.map-card-address,
.map-popup-address {
  color: var(--muted-text);
  font-size: 0.78rem;
  line-height: 1.55;
  margin: 0 0 0.85rem;
}
.map-card-address strong {
  color: var(--luxury-charcoal);
  display: block;
  font-size: 0.62rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  margin-bottom: 0.16rem;
  text-transform: uppercase;
}
.map-popup-address {
  font-size: 0.74rem;
  margin: -0.25rem 0 0.55rem;
}

/* =====================================================================
   Tokyo Area Guides — compact scan layout
   Goal: keep the hero premium, but reduce scroll fatigue below it.
   Smaller cards, shorter text rhythm, smaller images, tighter spacing.
   ===================================================================== */
body.area-guides-compact .page-title.area-hero-glow {
  padding-bottom: clamp(3.4rem, 6vw, 5.2rem);
  padding-top: clamp(4.1rem, 7vw, 6rem);
}

body.area-guides-compact .area-guide-list.section {
  display: grid;
  gap: clamp(0.85rem, 1.5vw, 1.2rem);
  max-width: min(1120px, calc(100vw - 48px));
  padding-bottom: clamp(2rem, 4vw, 3.6rem);
  padding-top: clamp(1.25rem, 3vw, 2.2rem);
}

body.area-guides-compact .area-guide-row {
  background: linear-gradient(180deg, rgba(252, 250, 246, 0.98), rgba(247, 243, 236, 0.74));
  border: 1px solid rgba(207, 198, 184, 0.54);
  box-shadow: 0 14px 38px rgba(30, 26, 20, 0.07);
  display: grid;
  gap: 0;
  grid-template-columns: 0.9fr 1fr;
  min-height: 0;
}

body.area-guides-compact .area-guide-row:nth-child(even) picture {
  order: 2;
}

body.area-guides-compact .area-guide-row:nth-child(even) > div {
  order: 1;
}

body.area-guides-compact .area-guide-row picture {
  display: block;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

body.area-guides-compact .area-guide-row img {
  aspect-ratio: 16 / 10;
  display: block;
  height: 100%;
  max-height: 246px;
  min-height: 190px;
  object-fit: cover;
  width: 100%;
}

body.area-guides-compact .area-guide-row > div {
  align-self: center;
  max-width: 34rem;
  padding: clamp(1.05rem, 2.1vw, 1.65rem);
}

body.area-guides-compact .area-guide-row .eyebrow {
  font-size: 0.58rem;
  letter-spacing: 0.18em;
  margin-bottom: 0.45rem;
}

body.area-guides-compact .area-guide-row h2 {
  font-size: clamp(1.05rem, 1.35vw, 1.38rem);
  line-height: 1.05;
  margin-bottom: 0.55rem;
  max-width: 18rem;
}

body.area-guides-compact .area-guide-row p:not(.eyebrow) {
  color: rgba(49, 45, 38, 0.76);
  font-size: 0.8rem;
  line-height: 1.5;
  margin-bottom: 0.75rem;
  max-width: 24rem;
}

body.area-guides-compact .area-labels {
  gap: 0.32rem;
  margin: 0.55rem 0 0.65rem;
}

body.area-guides-compact .area-labels span {
  font-size: 0.55rem;
  letter-spacing: 0.08em;
  padding: 0.25rem 0.42rem;
}

body.area-guides-compact .area-guide-row .text-link {
  font-size: 0.63rem;
  letter-spacing: 0.12em;
}

body.area-guides-compact .final-cta {
  padding-bottom: clamp(2.7rem, 5vw, 4.2rem);
  padding-top: clamp(2.7rem, 5vw, 4.2rem);
}

body.area-guides-compact .final-cta h2 {
  font-size: clamp(1.25rem, 2.4vw, 2rem);
}

body.area-guides-compact .final-cta p {
  font-size: 0.84rem;
  max-width: 36rem;
}

@media (min-width: 1120px) {
  body.area-guides-compact .area-guide-list.section {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.area-guides-compact .area-guide-row {
    grid-template-columns: 1fr;
  }

  body.area-guides-compact .area-guide-row:nth-child(even) picture,
  body.area-guides-compact .area-guide-row:nth-child(even) > div {
    order: initial;
  }

  body.area-guides-compact .area-guide-row img {
    height: 190px;
    max-height: 190px;
    min-height: 190px;
  }
}

@media (max-width: 760px) {
  body.area-guides-compact .area-guide-list.section {
    max-width: min(100%, calc(100vw - 28px));
    padding-left: 0;
    padding-right: 0;
  }

  body.area-guides-compact .area-guide-row,
  body.area-guides-compact .area-guide-row:nth-child(even) {
    grid-template-columns: 1fr;
  }

  body.area-guides-compact .area-guide-row:nth-child(even) picture,
  body.area-guides-compact .area-guide-row:nth-child(even) > div {
    order: initial;
  }

  body.area-guides-compact .area-guide-row img {
    height: 168px;
    max-height: 168px;
    min-height: 168px;
  }

  body.area-guides-compact .area-guide-row > div {
    padding: 1rem;
  }

  body.area-guides-compact .area-guide-row h2 {
    max-width: 100%;
  }

  body.area-guides-compact .area-guide-row p:not(.eyebrow) {
    max-width: 100%;
  }
}


/* === 2026-06-24 polish update: Tokyo Prime Brief + Legal hero === */
.journal-hero.prime-brief-hero {
  --page-bg-image: var(--bg-image-tokyo-night);
  min-height: clamp(360px, 43vw, 500px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: clamp(3rem, 6vw, 5rem) 1.35rem;
  text-align: center;
}
.journal-hero.prime-brief-hero::before {
  background-image:
    linear-gradient(135deg, rgba(17, 14, 12, 0.90), rgba(27, 21, 18, 0.72) 48%, rgba(30, 22, 19, 0.84)),
    var(--page-bg-image);
  opacity: 0.94;
}
.journal-hero.prime-brief-hero::after {
  background:
    radial-gradient(circle at 50% 18%, rgba(217, 184, 119, 0.22), transparent 25%),
    radial-gradient(circle at 18% 18%, rgba(255, 232, 196, 0.10), transparent 20%),
    linear-gradient(180deg, rgba(17,17,17,0.08), rgba(17,17,17,0.42));
}
.prime-brief-emblem {
  width: clamp(66px, 8vw, 86px);
  height: clamp(66px, 8vw, 86px);
  border-radius: 999px;
  display: grid;
  place-items: center;
  margin-bottom: 0.15rem;
  color: #e4c68e;
  background: radial-gradient(circle at 50% 35%, rgba(228,198,142,0.14), rgba(228,198,142,0.05) 45%, rgba(255,255,255,0.02) 72%);
  box-shadow: inset 0 0 0 1px rgba(228,198,142,0.22), 0 14px 34px rgba(0,0,0,0.20);
}
.prime-brief-icon {
  width: 54px;
  height: 54px;
  display: block;
  filter: drop-shadow(0 3px 12px rgba(0, 0, 0, 0.32));
}
.journal-hero.prime-brief-hero .eyebrow {
  color: #e7c98f;
  margin: 0;
  letter-spacing: 0.24em;
  font-size: 0.74rem;
}
.journal-hero.prime-brief-hero h1 {
  max-width: none;
  color: #fffaf2;
  text-shadow: 0 8px 22px rgba(0,0,0,0.26);
  font-size: clamp(2.7rem, 5vw, 4.7rem);
  line-height: 0.96;
  letter-spacing: -0.03em;
  margin: 0.1rem 0 0.35rem;
}
.journal-hero.prime-brief-hero .lead {
  color: rgba(255, 244, 228, 0.88);
  max-width: 760px;
  font-size: clamp(1rem, 1.55vw, 1.16rem);
  line-height: 1.65;
  margin: 0 auto;
}
.prime-brief-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.55rem;
  margin-top: 0.8rem;
}
.prime-brief-chips span {
  border-radius: 999px;
  border: 1px solid rgba(231, 201, 143, 0.34);
  color: #ecdab4;
  background: rgba(231, 201, 143, 0.08);
  padding: 0.42rem 0.85rem;
  font-size: 0.72rem;
  letter-spacing: 0.05em;
}

.legal-hero {
  min-height: clamp(400px, 52vw, 620px);
}
.legal-hero-media img {
  object-position: center 46%;
  filter: saturate(0.96) contrast(1.02) brightness(0.82);
}
.legal-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 50% 22%, rgba(228, 198, 142, 0.20), transparent 22%),
    radial-gradient(circle at 12% 40%, rgba(255,255,255,0.07), transparent 22%),
    radial-gradient(circle at 86% 38%, rgba(255,255,255,0.05), transparent 20%);
}
.legal-hero::after {
  background: linear-gradient(180deg, rgba(16, 12, 9, 0.62) 0%, rgba(24, 18, 14, 0.78) 46%, rgba(20, 14, 10, 0.90) 100%);
}
.legal-hero-inner {
  max-width: 920px;
  width: 100%;
  padding: clamp(3rem, 6vw, 5.2rem) 1.4rem;
}
.legal-hero-panel {
  max-width: 800px;
  margin: 0 auto;
  padding: clamp(1.5rem, 3vw, 2rem) clamp(1.2rem, 3vw, 2.2rem);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(18, 14, 11, 0.32), rgba(18, 14, 11, 0.18));
  box-shadow: 0 18px 46px rgba(0,0,0,0.18), inset 0 0 0 1px rgba(228,198,142,0.16);
  backdrop-filter: blur(3px);
}
.legal-emblem {
  margin-bottom: 1.1rem;
}
.legal-hero .eyebrow {
  margin-bottom: 0.85rem;
}
.legal-hero h1 {
  font-size: clamp(2.45rem, 4.4vw, 4.45rem);
  max-width: 14.5ch;
  margin-bottom: 1rem;
}
.legal-hero .lead {
  max-width: 680px;
  font-size: clamp(1rem, 1.45vw, 1.2rem);
  line-height: 1.68;
  margin-bottom: 1.55rem;
}
.legal-hero-chips {
  gap: 0.65rem;
}
.legal-hero-chips span {
  padding: 0.48rem 0.95rem;
  background: rgba(228, 198, 142, 0.09);
  border-color: rgba(228, 198, 142, 0.42);
}
@media (max-width: 720px) {
  .prime-brief-emblem { width: 62px; height: 62px; }
  .prime-brief-icon { width: 48px; height: 48px; }
  .prime-brief-chips { margin-top: 0.65rem; }
  .legal-hero-panel {
    padding: 1.25rem 1rem 1.35rem;
    border-radius: 22px;
    backdrop-filter: blur(2px);
  }
}


/* === 2026-06-24: Buying in Japan article redesign === */
.article-redesign {
  max-width: 1320px;
  padding-top: clamp(2rem, 3vw, 3.5rem);
}
.insight-article-shell {
  display: grid;
  gap: 1.4rem;
}
.article-buying-hero {
  position: relative;
  overflow: hidden;
  border-radius: 34px;
  min-height: clamp(340px, 45vw, 530px);
  display: flex;
  align-items: center;
  isolation: isolate;
  box-shadow: 0 24px 58px rgba(29, 24, 18, 0.12);
}
.article-buying-hero-media,
.article-buying-hero-media picture,
.article-buying-hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.article-buying-hero-media img {
  object-fit: cover;
  object-position: center 42%;
  filter: saturate(0.95) contrast(1.02) brightness(0.86);
}
.article-buying-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(circle at 72% 18%, rgba(217,184,119,0.18), transparent 18%),
    linear-gradient(120deg, rgba(19,16,14,0.88), rgba(26,21,18,0.64) 52%, rgba(26,21,18,0.82));
}
.article-buying-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 760px;
  padding: clamp(2rem, 5vw, 4rem);
  color: #faf6ee;
}
.article-buying-hero .eyebrow {
  color: #e2c38a;
  margin-bottom: 0.75rem;
  letter-spacing: 0.22em;
}
.article-buying-hero h1 {
  color: #fff;
  margin: 0 0 1rem;
  max-width: 12ch;
  font-size: clamp(2.5rem, 5vw, 4.9rem);
  line-height: 0.96;
  text-wrap: balance;
}
.article-buying-hero .lead {
  color: rgba(250, 246, 238, 0.9);
  max-width: 680px;
  margin-bottom: 1rem;
}
.article-buying-hero-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0 0 0.95rem;
}
.article-buying-hero-chips span {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: rgba(226, 195, 138, 0.10);
  border: 1px solid rgba(226, 195, 138, 0.35);
  color: #edd8ae;
  padding: 0.44rem 0.88rem;
  font-size: 0.74rem;
  letter-spacing: 0.04em;
}
.article-buying-hero .article-meta {
  color: rgba(250, 246, 238, 0.68);
  font-size: 0.8rem;
  letter-spacing: 0.04em;
}
.article-highlights-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.article-highlight-card,
.article-summary-panel,
.article-side-box,
.article-proof-box {
  border: 1px solid rgba(182, 162, 124, 0.18);
  background: linear-gradient(180deg, rgba(255,255,255,0.82), rgba(250,246,238,0.96));
  box-shadow: 0 18px 42px rgba(31, 25, 19, 0.05);
}
.article-highlight-card {
  border-radius: 22px;
  padding: 1.2rem 1.2rem 1.1rem;
}
.article-highlight-kicker {
  margin: 0 0 0.55rem;
  color: var(--gold-deep, #8a6d3b);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.article-highlight-card h2 {
  font-size: clamp(1.1rem, 1.45vw, 1.45rem);
  line-height: 1.18;
  margin: 0 0 0.45rem;
  max-width: 18ch;
}
.article-highlight-card p { margin: 0; font-size: 0.96rem; }
.article-content-grid {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 1.4rem;
  align-items: start;
}
.article-side-panel {
  position: sticky;
  top: 96px;
  display: grid;
  gap: 0.9rem;
}
.article-side-box {
  border-radius: 20px;
  padding: 1rem 1rem 0.95rem;
}
.article-side-title {
  margin: 0 0 0.65rem;
  color: var(--gold-deep, #8a6d3b);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.article-side-box a {
  display: block;
  color: var(--ink, #1b1f24);
  text-decoration: none;
  padding: 0.42rem 0;
  border-bottom: 1px solid rgba(182, 162, 124, 0.14);
  font-size: 0.92rem;
}
.article-side-box a:last-child { border-bottom: 0; }
.article-side-note p:last-child { margin: 0; font-size: 0.9rem; }
.article-main-column { min-width: 0; }
.article-summary-panel {
  border-radius: 24px;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 1.25rem;
  padding: 1.35rem 1.35rem 1.25rem;
  margin-bottom: 1rem;
}
.article-summary-panel h2 {
  margin: 0.15rem 0 0;
  font-size: clamp(1.55rem, 2.6vw, 2.45rem);
  line-height: 1.05;
  max-width: 14ch;
}
.article-key-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.72rem;
}
.article-key-list li {
  position: relative;
  padding-left: 1.2rem;
  color: var(--luxury-gray);
}
.article-key-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--gold-deep, #8a6d3b);
  font-size: 1.1rem;
  line-height: 1;
}
.article-body-redesign {
  max-width: none;
  font-size: 1rem;
  display: grid;
  gap: 1.2rem;
}
.article-body-redesign section {
  border-radius: 24px;
  padding: 1.35rem 1.4rem;
  background: rgba(255,255,255,0.68);
  border: 1px solid rgba(182, 162, 124, 0.16);
}
.article-body-redesign h2 {
  font-size: clamp(1.45rem, 2.1vw, 2.15rem);
  margin: 0 0 0.7rem;
}
.article-body-redesign p:last-child { margin-bottom: 0; }
.article-proof-box {
  border-radius: 18px;
  padding: 1rem 1rem 0.95rem;
  margin-top: 1rem;
}
.article-final-cta {
  border-radius: 28px;
  overflow: hidden;
  margin-top: 1.5rem;
}
@media (max-width: 1120px) {
  .article-highlights-grid,
  .article-summary-panel {
    grid-template-columns: 1fr;
  }
  .article-content-grid {
    grid-template-columns: 1fr;
  }
  .article-side-panel {
    position: static;
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 760px) {
  .article-redesign {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .article-buying-hero {
    border-radius: 24px;
    min-height: 420px;
  }
  .article-buying-hero-inner {
    padding: 1.3rem 1rem 1.35rem;
  }
  .article-buying-hero h1 {
    font-size: clamp(2rem, 9vw, 3rem);
  }
  .article-highlight-card,
  .article-summary-panel,
  .article-body-redesign section,
  .article-side-box {
    border-radius: 18px;
  }
  .article-side-panel {
    grid-template-columns: 1fr;
  }
}


/* === 2026-06-24 evening fix: legal hero rebalance === */
.legal-hero {
  min-height: clamp(420px, 48vw, 620px);
  align-items: center;
}
.legal-hero-media img {
  object-position: center 48%;
  filter: saturate(0.98) contrast(1.02) brightness(0.97);
}
.legal-hero::before {
  background:
    radial-gradient(circle at 50% 18%, rgba(244, 215, 158, 0.26), transparent 22%),
    radial-gradient(circle at 18% 32%, rgba(255,255,255,0.10), transparent 18%),
    radial-gradient(circle at 84% 34%, rgba(255,255,255,0.08), transparent 18%);
}
.legal-hero::after {
  background:
    linear-gradient(180deg, rgba(34, 28, 26, 0.38) 0%, rgba(43, 34, 31, 0.48) 38%, rgba(31, 24, 21, 0.58) 100%);
}
.legal-hero-inner {
  max-width: 1040px;
  padding: clamp(2.6rem, 5vw, 4.2rem) 1.4rem;
}
.legal-hero-panel {
  max-width: 880px;
  padding: clamp(1.7rem, 3.2vw, 2.35rem) clamp(1.45rem, 3.6vw, 2.8rem);
  border-radius: 30px;
  background: linear-gradient(180deg, rgba(58, 46, 39, 0.24), rgba(68, 54, 46, 0.14));
  box-shadow: 0 22px 50px rgba(0,0,0,0.16), inset 0 0 0 1px rgba(241, 214, 166, 0.18);
  backdrop-filter: blur(4px);
}
.legal-emblem {
  color: #efcc86;
  width: 72px;
  height: auto;
  margin: 0 auto 1rem;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.18));
}
.legal-hero .eyebrow {
  color: #f0ce89;
  font-size: 0.78rem;
  letter-spacing: 0.25em;
  margin-bottom: 0.9rem;
}
.legal-hero h1 {
  color: #fff9f1;
  font-size: clamp(2.55rem, 4.15vw, 4.2rem);
  line-height: 0.98;
  max-width: 15.6ch;
  margin: 0 auto 1rem;
  text-wrap: balance;
  text-shadow: 0 10px 28px rgba(0,0,0,0.18);
}
.legal-hero .lead {
  color: rgba(255, 247, 234, 0.92);
  max-width: 720px;
  font-size: clamp(1.02rem, 1.4vw, 1.18rem);
  line-height: 1.62;
  margin: 0 auto 1.5rem;
}
.legal-hero-chips {
  justify-content: center;
  gap: 0.75rem;
}
.legal-hero-chips span {
  color: #f7e4be;
  background: rgba(240, 206, 137, 0.12);
  border-color: rgba(240, 206, 137, 0.50);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.03);
  padding: 0.5rem 1rem;
}
@media (max-width: 760px) {
  .legal-hero-panel {
    max-width: 100%;
    padding: 1.3rem 1rem 1.4rem;
    border-radius: 24px;
  }
  .legal-emblem {
    width: 60px;
    margin-bottom: 0.8rem;
  }
  .legal-hero h1 {
    max-width: 12.5ch;
    font-size: clamp(2.15rem, 9vw, 3.15rem);
  }
}

/* === 2026-06-24 fix: center Legal hero eyebrow visually === */
.legal-hero-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.legal-hero-panel .eyebrow {
  display: inline-block;
  width: auto;
  max-width: max-content;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  /* compensates for wide letter-spacing so the text looks optically centered */
  padding-left: 0.25em;
}

/* Standalone map search filters — Jean map/list separation 2026-06-25 */
.map-advanced-filters {
  align-items: end;
  background: rgba(252, 250, 246, 0.94);
  border: 1px solid rgba(184, 155, 94, 0.24);
  box-shadow: 0 18px 46px rgba(17, 17, 17, 0.08);
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(4, minmax(150px, 1fr)) auto;
  margin: clamp(1rem, 2vw, 1.3rem) auto 0;
  max-width: 1120px;
  padding: clamp(0.9rem, 2vw, 1.15rem);
  position: sticky;
  top: 5.4rem;
  z-index: 20;
}

.map-advanced-filters label {
  color: var(--gold-deep);
  display: grid;
  font-size: 0.66rem;
  font-weight: 900;
  gap: 0.42rem;
  letter-spacing: 0.12em;
  text-align: left;
  text-transform: uppercase;
}

.map-advanced-filters select {
  background: #fffaf4;
  border: 1px solid rgba(184, 155, 94, 0.28);
  color: var(--luxury-charcoal);
  min-height: 2.8rem;
  padding: 0 0.85rem;
  width: 100%;
}

.map-reset-button {
  min-height: 2.8rem;
  white-space: nowrap;
}

.map-filter-summary {
  color: rgba(27, 26, 23, 0.68);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin: 0.8rem auto 0;
  text-align: center;
}

.hero-actions {
  flex-wrap: wrap;
}

@media (max-width: 980px) {
  .map-advanced-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    position: relative;
    top: auto;
  }
  .map-reset-button {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  .map-advanced-filters {
    grid-template-columns: 1fr;
  }
}


/* === GAISAPP fixed property + map quick actions 2026-06-25 ===
   Keep the dedicated Map Search route visible beside View Properties while scrolling. */
.floating-action-dock {
  position: fixed;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
  z-index: 1300;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  pointer-events: none;
}

.floating-action-dock .floating-listing-jump,
.floating-action-dock .floating-map-jump {
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  display: inline-flex !important;
  align-items: center;
  gap: .62rem;
  min-width: 0;
  padding: .68rem 1rem .68rem .68rem;
  white-space: nowrap;
  pointer-events: auto;
}

.floating-action-dock .floating-listing-jump:hover,
.floating-action-dock .floating-map-jump:hover {
  transform: translateY(-3px) !important;
}

.floating-map-jump {
  border-radius: 999px;
  background: rgba(255, 250, 242, .96);
  color: var(--charcoal, #211f1b);
  border: 1px solid rgba(184, 155, 94, .62);
  box-shadow: 0 18px 44px rgba(0,0,0,.18);
  text-decoration: none;
  letter-spacing: .08em;
  text-transform: uppercase;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

.floating-map-jump:hover {
  background: #fff;
  box-shadow: 0 22px 55px rgba(0,0,0,.24);
}

.floating-map-jump:focus-visible {
  outline: 3px solid rgba(184, 155, 94, .45);
  outline-offset: 4px;
}

.floating-map-jump strong {
  display: block;
  font-family: var(--font-sans);
  font-size: .7rem;
  line-height: 1.05;
  letter-spacing: .12em;
}

.floating-map-jump small {
  display: block;
  margin-top: .18rem;
  font-family: var(--font-sans);
  font-size: .54rem;
  line-height: 1.1;
  letter-spacing: .08em;
  color: rgba(35, 31, 25, .64);
  text-transform: none;
}

@media (max-width: 760px) {
  .floating-action-dock {
    width: calc(100% - 24px);
    bottom: 12px;
    gap: 8px;
  }
  .floating-action-dock .floating-listing-jump,
  .floating-action-dock .floating-map-jump {
    flex: 1 1 0;
    justify-content: center;
    padding: .62rem .7rem;
    gap: .48rem;
  }
  .floating-action-dock .floating-listing-jump small,
  .floating-action-dock .floating-map-jump small {
    display: none;
  }
  .floating-action-dock .floating-listing-jump strong,
  .floating-action-dock .floating-map-jump strong {
    font-size: .64rem;
  }
  body:has(.cc-banner:not([style*="display: none"])) .floating-action-dock {
    display: none !important;
  }
}


/* Rental page only: rental-specific filters. No Goal / Rent-Buy-Invest selector here. */
.rental-filter-panel {
  position: sticky;
  top: calc(var(--header-height, 88px) + 12px);
  z-index: 20;
  display: grid;
  grid-template-columns: repeat(6, minmax(130px, 1fr));
  gap: 12px;
  margin: 28px 0 30px;
  padding: 16px;
  border: 1px solid rgba(155, 122, 82, 0.24);
  border-radius: 24px;
  background: rgba(255, 252, 246, 0.94);
  box-shadow: 0 18px 44px rgba(48, 32, 22, 0.10);
  backdrop-filter: blur(18px);
}
.rental-filter-panel label {
  display: grid;
  gap: 6px;
  color: #5f5246;
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.rental-filter-panel select {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(91, 68, 48, 0.18);
  border-radius: 14px;
  background: #fffaf2;
  color: #2f261e;
  padding: 0 12px;
  font: inherit;
  text-transform: none;
  letter-spacing: 0;
}
.rental-filter-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  grid-column: 1 / -1;
}
.rental-filter-count {
  margin: 0;
  color: #6f5d4a;
  font-size: 0.9rem;
}
.rental-filter-empty {
  margin: 22px 0 0;
  padding: 18px 20px;
  border: 1px solid rgba(155, 122, 82, 0.24);
  border-radius: 18px;
  background: #fffaf2;
  color: #5f5246;
}
@media (max-width: 980px) {
  .rental-filter-panel {
    top: 78px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-radius: 18px;
    padding: 12px;
  }
}
@media (max-width: 620px) {
  .rental-filter-panel {
    grid-template-columns: 1fr;
    position: sticky;
    top: 66px;
    max-height: 72vh;
    overflow: auto;
  }
  .rental-filter-actions {
    align-items: stretch;
    flex-direction: column;
  }
}


/* GAISAPP 2026-06-25: true rental/sales filter panels with compact icons. */
.listing-search-panel {
  position: sticky;
  top: calc(var(--header-height, 88px) + 10px);
  z-index: 22;
  display: grid;
  grid-template-columns: repeat(6, minmax(118px, 1fr));
  gap: 10px;
  margin: 24px 0 28px;
  padding: 13px;
  border: 1px solid rgba(155, 122, 82, 0.24);
  border-radius: 22px;
  background: rgba(255, 252, 246, 0.96);
  box-shadow: 0 16px 38px rgba(48, 32, 22, 0.10);
  backdrop-filter: blur(18px);
}
.listing-search-panel label {
  display: grid;
  grid-template-columns: 22px 1fr;
  align-items: center;
  gap: 5px 7px;
  min-width: 0;
  color: #5f5246;
  font-size: 0.68rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  font-weight: 700;
}
.listing-search-panel label > select {
  grid-column: 1 / -1;
}
.listing-search-panel .filter-icon {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(155, 122, 82, 0.12);
  color: #9b7a52;
}
.listing-search-panel .filter-icon svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.listing-search-panel select {
  width: 100%;
  min-height: 40px;
  border: 1px solid rgba(91, 68, 48, 0.18);
  border-radius: 13px;
  background: #fffaf2;
  color: #2f261e;
  padding: 0 10px;
  font: inherit;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
}
.listing-filter-actions,
.rental-filter-actions,
.sales-filter-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  grid-column: 1 / -1;
  border-top: 1px solid rgba(155, 122, 82, 0.14);
  padding-top: 10px;
}
.listing-filter-count,
.rental-filter-count,
.sales-filter-count {
  margin: 0;
  color: #6f5d4a;
  font-size: 0.86rem;
  font-weight: 700;
}
.listing-filter-empty,
.rental-filter-empty,
.sales-filter-empty {
  margin: 22px 0 0;
  padding: 18px 20px;
  border: 1px solid rgba(155, 122, 82, 0.24);
  border-radius: 18px;
  background: #fffaf2;
  color: #5f5246;
}
@media (max-width: 1080px) {
  .listing-search-panel {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 740px) {
  .listing-search-panel {
    top: 66px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-radius: 18px;
    padding: 12px;
    max-height: 68vh;
    overflow: auto;
  }
  .listing-filter-actions,
  .rental-filter-actions,
  .sales-filter-actions {
    align-items: stretch;
    flex-direction: column;
  }
}
@media (max-width: 420px) {
  .listing-search-panel { grid-template-columns: 1fr; }
}

/* GAISAPP 2026-06-25: sticky filter bars per Jean feedback.
   Desktop: filter stays directly under header while browsing long lists.
   Mobile: compact horizontal sticky strip so users can still change filters without scrolling back. */
.rental-filter-bar,
.sales-filter-bar {
  position: sticky;
  top: 82px;
  z-index: 40;
}

@media (max-width: 760px) {
  .rental-filter-bar,
  .sales-filter-bar {
    position: sticky;
    top: 64px;
    z-index: 40;
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 10px;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    padding: 10px 12px;
    margin: 16px -12px 22px;
    border-radius: 0;
  }

  .rental-filter-bar label,
  .sales-filter-bar label {
    flex: 0 0 150px;
    min-width: 150px;
    scroll-snap-align: start;
  }

  .rental-filter-bar select,
  .sales-filter-bar select {
    min-height: 38px;
    font-size: .76rem;
  }

  .rental-filter-bar .rental-filter-actions,
  .sales-filter-bar .sales-filter-actions {
    flex: 0 0 184px;
    min-width: 184px;
    border-top: 0;
    padding-top: 0;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    scroll-snap-align: start;
  }

  .rental-filter-bar .rental-filter-count,
  .sales-filter-bar .sales-filter-count {
    text-align: center;
    font-size: .72rem;
    line-height: 1.25;
  }
}

/* Rental page Jean flow: list first, guidance after property discovery */
.rental-seo-content {
  background: var(--paper);
}

.rental-seo-grid {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 auto;
  max-width: 1320px;
  padding: 0 clamp(1.5rem, 6vw, 5.5rem) clamp(4.5rem, 7vw, 7rem);
}

.rental-seo-grid .service-card {
  min-height: 220px;
  padding: clamp(1.4rem, 2.7vw, 2.2rem);
}

.rental-faq-block {
  border-top: 1px solid rgba(207, 198, 184, 0.34);
}

.rental-faq-list {
  margin: 0 auto;
  max-width: 980px;
  padding: 0 clamp(1.5rem, 6vw, 5.5rem) clamp(4.5rem, 7vw, 7rem);
}

.rental-faq-list .accordion {
  background: rgba(255, 250, 240, 0.72);
  border: 1px solid rgba(207, 198, 184, 0.34);
  border-bottom: 0;
  padding: 0 clamp(1rem, 2vw, 1.5rem);
}

.rental-faq-list .accordion:last-child {
  border-bottom: 1px solid rgba(207, 198, 184, 0.34);
}

.rental-faq-list .accordion div p {
  margin-top: 0;
  max-width: 760px;
}

@media (max-width: 860px) {
  .rental-seo-grid {
    grid-template-columns: 1fr;
  }
}



/* Executive relocation section: make the menu anchor lead to real service content */
.corporate-relocation-note {
  scroll-margin-top: 108px;
}

.relocation-service-panel {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 clamp(1.5rem, 6vw, 5.5rem) clamp(4.5rem, 7vw, 7rem);
}

.relocation-service-lead {
  margin: 0 0 1rem;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gaisapp-muted-strong, #7b6f61);
}

.relocation-service-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.relocation-service-list li {
  min-height: 142px;
  padding: 1rem;
  border: 1px solid rgba(207, 198, 184, .42);
  border-radius: 18px;
  background: rgba(255, 250, 240, .78);
  box-shadow: 0 18px 38px rgba(23, 29, 38, .055);
}

.relocation-service-list span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin-bottom: .75rem;
  border-radius: 999px;
  background: rgba(182, 162, 124, .14);
  color: var(--gaisapp-ink, #181715);
  font-size: 1rem;
}

.relocation-service-list span svg {
  width: 1.05rem;
  height: 1.05rem;
  display: block;
}

.relocation-service-list strong {
  display: block;
  font-size: .9rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--gaisapp-ink, #181715);
}

.relocation-service-list em {
  display: block;
  margin-top: .45rem;
  font-style: normal;
  line-height: 1.55;
  color: var(--gaisapp-muted, #665f56);
}

.relocation-service-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-top: 1.3rem;
}

@media (max-width: 1060px) {
  .relocation-service-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .corporate-relocation-note {
    scroll-margin-top: 78px;
  }

  .relocation-service-list {
    grid-template-columns: 1fr;
  }

  .relocation-service-list li {
    min-height: auto;
  }
}


/* GAISAPP 2026-06-25: property-level map links.
   Map Search is a standalone top-nav page, so rental/buying/investment pages no longer need a sticky Map Search dock.
   Each property card still gives users a direct route to locate that residence on the dedicated map. */
.property-map-link {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  margin-top: 0.55rem;
  margin-right: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  text-decoration: none;
}
.property-map-link span {
  display: inline-grid;
  place-items: center;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 999px;
  background: rgba(150, 113, 46, 0.12);
  color: #96712e;
}
.property-map-link:hover {
  text-decoration: underline;
}
@media (max-width: 760px) {
  .property-map-link {
    margin-top: 0.45rem;
    font-size: 0.9rem;
  }
}


/* GAISAPP 2026-06-25: Buying page combined private + public access section.
   The separate light public listing section is removed; one black premium block owns copy, filter, count and grid. */
.buying-combined-section {
  padding-top: clamp(44px, 6vw, 76px);
  padding-bottom: clamp(44px, 6vw, 76px);
}
.buying-combined-section .private-heading {
  align-items: center;
}
.buying-combined-section .private-heading h2 {
  max-width: 720px;
}
.buying-combined-section .private-heading > p {
  max-width: 560px;
}
.buying-combined-section .buying-combined-filter {
  position: sticky;
  top: 82px;
  z-index: 40;
  margin: 24px 0 28px;
  background: rgba(255, 250, 244, 0.07);
  border: 1px solid rgba(226, 197, 134, 0.22);
  box-shadow: 0 18px 52px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(18px);
}
.buying-combined-section .buying-combined-filter label {
  color: rgba(255, 250, 240, 0.88);
}
.buying-combined-section .buying-combined-filter .filter-icon {
  background: rgba(255, 250, 244, 0.13);
  color: #e2c586;
}
.buying-combined-section .buying-combined-filter .filter-icon svg {
  fill: none;
  stroke: currentColor;
}
.buying-combined-section .buying-combined-filter select {
  background: rgba(3, 10, 18, 0.48);
  border-color: rgba(226, 197, 134, 0.24);
  color: #fffaf0;
}
.buying-combined-section .buying-combined-filter option {
  color: #231914;
  background: #fffaf4;
}
.buying-combined-section .sales-filter-actions {
  border-top-color: rgba(226, 197, 134, 0.18);
}
.buying-combined-section .sales-filter-count {
  color: rgba(255, 250, 240, 0.88);
}
.buying-combined-section .buying-combined-grid {
  margin-top: 26px;
}
.buying-combined-section .property-card {
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.22);
}
.buying-combined-section .property-card:not(.private-teaser-card) {
  background: linear-gradient(180deg, rgba(255,250,244,.98), rgba(247,241,232,.98));
  color: #241b16;
}
.buying-combined-section .listing-filter-empty,
.buying-combined-section .sales-filter-empty {
  color: rgba(255, 250, 240, 0.82);
}
@media (max-width: 760px) {
  .buying-combined-section .buying-combined-filter {
    top: 64px;
  }
}

/* GAISAPP 2026-06-25: restore compact grid/list toggle beside real filters. */
.filter-view-toggle {
  margin-left: auto;
  min-height: 2.45rem;
  transform: scale(.92);
  transform-origin: right center;
}
.listing-filter-actions .filter-view-toggle,
.rental-filter-actions .filter-view-toggle,
.sales-filter-actions .filter-view-toggle {
  align-self: center;
}
.buying-combined-section .filter-view-toggle {
  background: rgba(255, 250, 240, 0.10);
  border-color: rgba(226, 197, 134, 0.32);
}
.buying-combined-section .filter-view-toggle button {
  color: rgba(255, 250, 240, 0.78);
}
.buying-combined-section .filter-view-toggle button[aria-pressed="true"],
.buying-combined-section .filter-view-toggle button:hover {
  background: rgba(226, 197, 134, 0.18);
  color: #fffaf0;
}
@media (max-width: 760px) {
  .filter-view-toggle {
    margin-left: 0;
    transform: none;
    width: max-content;
  }
  .rental-filter-bar .rental-filter-actions,
  .sales-filter-bar .sales-filter-actions {
    flex: 0 0 232px;
    min-width: 232px;
  }
}

/* Luxury Buying professional opportunity taxonomy — 2026-06-25 */
.buying-opportunity-types .split-heading p {
  max-width: 740px;
}
.buying-type-grid article {
  min-height: 210px;
}
.buying-type-grid h3 {
  margin-top: 0.35rem;
}
.buying-type-grid .page-kicker {
  letter-spacing: 0.13em;
}
.buying-menu-pro a {
  line-height: 1.25;
}
@media (max-width: 760px) {
  .buying-type-grid article {
    min-height: auto;
  }
}


/* Professional wording pass 2026-06-25: reduce oversized editorial titles without changing layout */
.page-hero h1,
.hero h1,
.form-page h1,
.trust-hero h1,
.page-title h1,
.journal-hero h1,
.article-header h1 {
  font-size: clamp(2.45rem, 4.2vw, 4.85rem);
  line-height: 1;
  letter-spacing: -0.055em;
  max-width: 13ch;
}

.luxury-hero h1 {
  font-size: clamp(3.05rem, 5.6vw, 6.65rem);
  line-height: 0.94;
  letter-spacing: -0.065em;
}

.split-heading h2,
.section-header h2,
.final-cta h2,
.private-brief h2,
.content-block h2 {
  font-size: clamp(1.55rem, 2.65vw, 2.65rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.property-card h3,
.private-card h3,
.intro-card h3 {
  font-size: clamp(1.02rem, 1.25vw, 1.18rem);
  line-height: 1.18;
  letter-spacing: -0.018em;
}

.page-hero .lead,
.hero-statement,
.split-heading > p,
.split-content p,
.detail-grid p {
  font-size: clamp(0.98rem, 1.05vw, 1.1rem);
  line-height: 1.72;
}

.eyebrow {
  letter-spacing: 0.12em;
}

/* GAISAPP 2026-06-26: compact inventory visibility pass.
   Keep the premium black section, but reduce hero-copy height and make more residences visible sooner. */
.buying-combined-section {
  max-width: min(1240px, calc(100% - 56px));
  border-radius: 30px;
  padding: clamp(28px, 3.1vw, 46px) clamp(28px, 3.8vw, 52px) clamp(34px, 3.8vw, 54px) !important;
}

.buying-combined-section .private-heading {
  align-items: center;
  gap: clamp(1.4rem, 3vw, 3rem);
  grid-template-columns: minmax(0, .92fr) minmax(0, 1fr);
  margin-bottom: .9rem;
}

.buying-combined-section .private-heading h2 {
  font-size: clamp(2.05rem, 4vw, 3.55rem);
  line-height: .98;
  max-width: 620px;
}

.buying-combined-section .private-heading > p {
  font-size: clamp(.94rem, 1.12vw, 1.08rem);
  line-height: 1.55;
  max-width: 600px;
}

.buying-combined-section .private-disclaimer {
  margin: .75rem 0 1rem !important;
  max-width: 980px;
  font-size: .86rem;
  line-height: 1.5;
}

.buying-combined-section .buying-combined-filter {
  grid-template-columns: repeat(6, minmax(104px, 1fr));
  gap: 8px;
  margin: 1rem 0 1.05rem;
  padding: 10px;
}

.buying-combined-section .buying-combined-filter label {
  font-size: .64rem;
  gap: 4px 6px;
}

.buying-combined-section .buying-combined-filter select {
  min-height: 36px;
  border-radius: 11px;
  padding-inline: 9px;
}

.buying-combined-section .sales-filter-actions,
.rental-listing-focus .rental-filter-actions {
  padding-top: 8px;
}

.buying-combined-section .sales-filter-count,
.rental-listing-focus .rental-filter-count {
  border: 1px solid rgba(226, 197, 134, .32);
  border-radius: 999px;
  padding: .48rem .72rem;
  background: rgba(226, 197, 134, .12);
  font-size: .82rem;
  letter-spacing: .01em;
}

.rental-listing-focus .rental-filter-count {
  color: #5f4528;
  background: rgba(155, 122, 82, .10);
  border-color: rgba(155, 122, 82, .20);
}

.buying-combined-section .buying-combined-grid,
.rental-listing-focus .atbb-rental-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.buying-combined-section .property-card,
.rental-listing-focus .property-card {
  box-shadow: 0 16px 36px rgba(0, 0, 0, .14);
}

.buying-combined-section .property-card .card-image,
.rental-listing-focus .property-card .card-image {
  aspect-ratio: 1.44 / 1;
}

.buying-combined-section .property-card-body,
.rental-listing-focus .property-card-body {
  padding: clamp(.9rem, 1.25vw, 1.12rem);
}

.buying-combined-section .property-card h3,
.rental-listing-focus .property-card h3 {
  max-width: 100%;
  font-size: clamp(.94rem, 1.05vw, 1.08rem);
  line-height: 1.12;
  margin-bottom: .48rem;
}

.buying-combined-section .property-card p,
.rental-listing-focus .property-card p {
  font-size: .82rem;
  line-height: 1.45;
  margin-bottom: .55rem;
}

.buying-combined-section .property-card .price,
.rental-listing-focus .property-card .price {
  font-size: .92rem;
  font-weight: 850;
}

.buying-combined-section .property-card-body .text-link,
.buying-combined-section .property-card-body .button,
.rental-listing-focus .property-card-body .text-link,
.rental-listing-focus .property-card-body .button {
  margin-top: .55rem;
}

.buying-combined-section .property-card-body .button,
.rental-listing-focus .property-card-body .button {
  min-height: 2.25rem;
  padding: .58rem .72rem;
  font-size: .68rem;
}

.buying-combined-section .small-disclaimer,
.rental-listing-focus .small-disclaimer {
  padding: .68rem .76rem;
  font-size: .72rem;
  line-height: 1.42;
}

@media (max-width: 1180px) {
  .buying-combined-section .buying-combined-grid,
  .rental-listing-focus .atbb-rental-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .buying-combined-section {
    max-width: calc(100% - 28px);
    padding: 24px 18px 30px !important;
  }
  .buying-combined-section .private-heading {
    grid-template-columns: 1fr;
    gap: .85rem;
  }
  .buying-combined-section .buying-combined-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .buying-combined-section .buying-combined-grid,
  .rental-listing-focus .atbb-rental-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .buying-combined-section .buying-combined-filter,
  .buying-combined-section .buying-combined-grid,
  .rental-listing-focus .atbb-rental-grid {
    grid-template-columns: 1fr;
  }
}


/* GAISAPP 2026-06-26: rental filters now merge multiple rental grids into one runtime grid.
   Preserve the subtle ultra-prime card treatment for cards that originally came from the ultra-prime grid. */
.rental-listing-focus .atbb-rental-grid[data-rental-unified-grid="1"] .property-card[data-rental-ultra-origin="1"] {
  border: 1px solid rgba(182, 162, 124, 0.22);
  background: linear-gradient(180deg, rgba(255,255,255,0.94), rgba(250,248,242,0.86));
}

/* GAISAPP 2026-06-26: restore a larger premium black buying stage.
   Keep the compact cards and single filter, but make the black inventory container feel like the main viewing stage again. */
.buying-combined-section {
  max-width: min(1540px, calc(100% - 28px)) !important;
  border-radius: 38px !important;
  padding: clamp(42px, 4.7vw, 74px) clamp(36px, 4.8vw, 78px) clamp(48px, 5vw, 82px) !important;
  margin-top: clamp(22px, 3vw, 44px) !important;
  margin-bottom: clamp(44px, 5vw, 82px) !important;
}

.buying-combined-section .private-heading {
  gap: clamp(2rem, 4vw, 5rem) !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr) !important;
  margin-bottom: 1.25rem !important;
}

.buying-combined-section .private-heading h2 {
  font-size: clamp(2.25rem, 4.7vw, 4.25rem) !important;
  line-height: 0.98 !important;
  max-width: 760px !important;
}

.buying-combined-section .private-heading > p {
  font-size: clamp(1rem, 1.15vw, 1.18rem) !important;
  line-height: 1.62 !important;
  max-width: 680px !important;
}

.buying-combined-section .private-disclaimer {
  max-width: 1120px !important;
  margin: 1rem 0 1.35rem !important;
  font-size: 0.92rem !important;
  line-height: 1.58 !important;
}

.buying-combined-section .buying-combined-filter {
  margin: 1.35rem 0 1.45rem !important;
  padding: 13px !important;
  gap: 10px !important;
}

.buying-combined-section .buying-combined-grid {
  gap: 16px !important;
  margin-top: 20px !important;
}

@media (min-width: 1380px) {
  .buying-combined-section .buying-combined-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1180px) {
  .buying-combined-section {
    max-width: calc(100% - 24px) !important;
    padding: 34px 24px 44px !important;
  }
}

@media (max-width: 860px) {
  .buying-combined-section {
    border-radius: 28px !important;
    max-width: calc(100% - 18px) !important;
    padding: 28px 18px 36px !important;
  }
  .buying-combined-section .private-heading {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
}

/* GAISAPP 2026-06-26: property card action order cleanup.
   Every card now follows one professional order: dossier/detail, request list, map.
   The property image is also clickable to the building dossier, without moving the Save/status overlays. */
.card-image-link {
  display: block;
  height: 100%;
  position: relative;
  width: 100%;
}
.card-image-link picture {
  display: block;
  height: 100%;
  width: 100%;
}
.property-card-actions {
  align-items: stretch;
  display: flex;
  flex-direction: column;
  gap: .48rem;
  margin-top: .72rem;
}
.property-card-actions .text-link,
.property-card-actions .button,
.property-card-actions button {
  margin-top: 0 !important;
  margin-right: 0 !important;
}
.property-card-actions .button,
.property-card-actions button {
  justify-content: center;
  width: 100%;
}
.property-card-actions .property-map-link {
  order: 3;
}
.property-card-actions .secondary-detail-link {
  order: 1;
}
.property-card-actions .card-action-request {
  order: 2;
}
.buying-combined-section .property-card-actions,
.rental-listing-focus .property-card-actions {
  gap: .38rem;
  margin-top: .58rem;
}
.buying-combined-section .property-card-actions .text-link,
.rental-listing-focus .property-card-actions .text-link {
  font-size: .74rem;
}

/* GAISAPP 2026-06-26: hard consistency pass for property cards.
   Fixes repeated normalisation causing card actions to reorder, and reserves
   enough top-right space so Save never collides with long status labels. */
.property-card,
.recommended-card {
  display: flex;
  flex-direction: column;
}
.property-card-body,
.recommended-card-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}
.property-card-actions {
  display: grid !important;
  gap: .42rem !important;
  margin-top: auto !important;
  padding-top: .58rem !important;
}
.property-card-actions .card-action {
  align-items: center !important;
  border-bottom: 1px solid rgba(122, 90, 54, .12);
  color: rgba(88, 70, 50, .88) !important;
  display: flex !important;
  font-size: .76rem !important;
  font-weight: 900 !important;
  justify-content: space-between !important;
  letter-spacing: .08em !important;
  line-height: 1.1 !important;
  margin: 0 !important;
  min-height: 1.78rem !important;
  padding: .08rem 0 .34rem !important;
  text-transform: uppercase !important;
  width: 100% !important;
}
.property-card-actions .card-action::after {
  content: "->";
  flex: 0 0 auto;
  margin-left: .45rem;
  opacity: .72;
}
.property-card-actions .card-action-map span[aria-hidden="true"] {
  display: inline-grid;
  margin-right: .35rem;
  place-items: center;
}
.property-card-actions .button.card-action,
.property-card-actions button.card-action {
  background: transparent !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: rgba(88, 70, 50, .88) !important;
  justify-content: space-between !important;
  padding-inline: 0 !important;
}
.card-badge-stack {
  max-width: calc(100% - 132px) !important;
  z-index: 5 !important;
}
.card-badge-stack .status-badge,
.card-badge-stack .access-badge,
.status-badge,
.access-badge,
.private-lock-badge {
  box-sizing: border-box;
  min-width: 0;
  overflow: hidden !important;
  white-space: nowrap !important;
}
.status-badge .badge-label,
.access-badge .badge-label,
.private-lock-badge .badge-label {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.card-like-button {
  max-width: 112px;
  min-width: 92px;
  justify-content: center;
  white-space: nowrap;
  z-index: 8 !important;
}
.card-like-button .like-count {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: .68rem;
  justify-content: center;
  min-width: 1.1rem;
  padding: .08rem .28rem;
}
@media (max-width: 760px) {
  .card-badge-stack { max-width: calc(100% - 116px) !important; }
  .card-like-button { min-width: 82px; max-width: 100px; }
}

/* GAISAPP 2026-06-26: clickable property images + clearer hover affordance.
   Applies to rental, buying, homepage, selected/recommended cards, private teasers, and map cards. */
.card-image-link,
.map-card-media-link,
.map-popup-media-link {
  cursor: pointer;
  display: block;
  height: 100%;
  position: relative;
  text-decoration: none;
  width: 100%;
  z-index: 1;
}
.card-image-link picture,
.card-image-link img,
.map-card-media-link img,
.map-popup-media-link img {
  display: block;
}
.card-image-link::before,
.map-card-media-link::before,
.map-popup-media-link::before {
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(17,17,17,.24));
  content: "";
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity .22s ease;
  z-index: 2;
}
.card-image-link::after,
.map-card-media-link::after,
.map-popup-media-link::after {
  background: rgba(17, 16, 14, .84);
  border: 1px solid rgba(232, 217, 181, .42);
  border-radius: 999px;
  bottom: .82rem;
  box-shadow: 0 14px 30px rgba(0,0,0,.22);
  color: #fff;
  content: attr(data-image-cta);
  font-family: var(--sans, inherit);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .09em;
  opacity: 0;
  padding: .46rem .68rem;
  pointer-events: none;
  position: absolute;
  right: .78rem;
  text-transform: uppercase;
  transform: translateY(6px);
  transition: opacity .22s ease, transform .22s ease, background .22s ease;
  z-index: 6;
}
.card-image-link:hover::before,
.card-image-link:focus-visible::before,
.map-card-media-link:hover::before,
.map-card-media-link:focus-visible::before,
.map-popup-media-link:hover::before,
.map-popup-media-link:focus-visible::before,
.property-card:hover .card-image-link::before,
.map-property-card:hover .map-card-media-link::before {
  opacity: 1;
}
.card-image-link:hover::after,
.card-image-link:focus-visible::after,
.map-card-media-link:hover::after,
.map-card-media-link:focus-visible::after,
.map-popup-media-link:hover::after,
.map-popup-media-link:focus-visible::after,
.property-card:hover .card-image-link::after,
.map-property-card:hover .map-card-media-link::after {
  opacity: 1;
  transform: translateY(0);
}
.card-image-link:hover img,
.card-image-link:focus-visible img,
.property-card:hover .card-image-link img,
.recommended-card:hover .card-image-link img,
.map-card-media-link:hover img,
.map-card-media-link:focus-visible img,
.map-popup-media-link:hover img,
.map-popup-media-link:focus-visible img,
.map-property-card:hover .map-card-media-link img {
  filter: saturate(1.02) contrast(1.16) brightness(1.02);
  transform: scale(1.035);
}
.card-image-link:focus-visible,
.map-card-media-link:focus-visible,
.map-popup-media-link:focus-visible {
  outline: 2px solid rgba(232,217,181,.9);
  outline-offset: -4px;
}
.card-image .card-badge-stack,
.card-image .status-badge,
.card-image .access-badge,
.card-image .private-lock-badge,
.card-image .card-like-button,
.card-image [data-like-button] {
  pointer-events: auto;
  z-index: 8;
}
.map-card-media-link {
  min-height: 210px;
}
.map-card-media-link img {
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  transition: transform .45s ease, filter .45s ease;
  width: 100%;
}
.map-popup-media-link {
  overflow: hidden;
}
.property-card-actions .card-action {
  border-radius: 12px;
  padding-left: .1rem !important;
  padding-right: .1rem !important;
  transition: background .18s ease, color .18s ease, letter-spacing .18s ease, padding .18s ease, border-color .18s ease;
}
.property-card-actions .card-action:hover,
.property-card-actions .card-action:focus-visible {
  background: rgba(184,155,94,.11) !important;
  border-color: rgba(184,155,94,.30) !important;
  color: rgba(43,35,25,.98) !important;
  letter-spacing: .095em !important;
  padding-left: .48rem !important;
  padding-right: .48rem !important;
}
.property-card-actions .card-action:hover::after,
.property-card-actions .card-action:focus-visible::after {
  opacity: 1;
  transform: translateX(2px);
}
@media (hover: none) {
  .card-image-link::after,
  .map-card-media-link::after,
  .map-popup-media-link::after {
    opacity: .92;
    transform: none;
  }
  .card-image-link::before,
  .map-card-media-link::before,
  .map-popup-media-link::before {
    opacity: .38;
  }
}

/* GAISAPP 2026-06-26: Jean readability pass.
   Property card lists must never auto-fill into five narrow columns. */
.results-property-grid,
.atbb-rental-grid,
.building-recommended-grid,
.building-alsoviewed-grid,
[data-building-recommended],
[data-building-alsoviewed],
[data-product-sortable="1"].product-grid-view-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 1200px) {
  .results-property-grid,
  .atbb-rental-grid,
  .building-recommended-grid,
  .building-alsoviewed-grid,
  [data-building-recommended],
  [data-building-alsoviewed],
  [data-product-sortable="1"].product-grid-view-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .results-property-grid,
  .atbb-rental-grid,
  .building-recommended-grid,
  .building-alsoviewed-grid,
  [data-building-recommended],
  [data-building-alsoviewed],
  [data-product-sortable="1"].product-grid-view-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  .results-property-grid,
  .atbb-rental-grid,
  .building-recommended-grid,
  .building-alsoviewed-grid,
  [data-building-recommended],
  [data-building-alsoviewed],
  [data-product-sortable="1"].product-grid-view-grid {
    grid-template-columns: 1fr !important;
  }
}

/* GAISAPP 2026-06-26: list-view must override the 4-column readability grid.
   Buying users expect the small image + full-width property list when tapping the list icon. */
.results-property-grid.product-grid-view-list,
.atbb-rental-grid.product-grid-view-list,
.building-recommended-grid.product-grid-view-list,
.building-alsoviewed-grid.product-grid-view-list,
[data-building-recommended].product-grid-view-list,
[data-building-alsoviewed].product-grid-view-list,
[data-product-sortable="1"].product-grid-view-list {
  display: grid !important;
  gap: clamp(0.75rem, 1.2vw, 1rem) !important;
  grid-template-columns: minmax(0, 1fr) !important;
}

[data-product-sortable="1"].product-grid-view-list > .property-card {
  display: grid !important;
  grid-template-columns: minmax(150px, 22%) minmax(0, 1fr) !important;
  min-height: 168px !important;
  width: 100% !important;
}

[data-product-sortable="1"].product-grid-view-list > .property-card > .card-image {
  height: 100% !important;
  min-height: 168px !important;
}

[data-product-sortable="1"].product-grid-view-list > .property-card > .card-image picture,
[data-product-sortable="1"].product-grid-view-list > .property-card > .card-image img,
[data-product-sortable="1"].product-grid-view-list > .property-card > .card-image .card-image-link {
  height: 100% !important;
}

[data-product-sortable="1"].product-grid-view-list > .property-card .property-card-body {
  align-content: start;
  display: grid;
  gap: 0.42rem;
}

[data-product-sortable="1"].product-grid-view-list > .property-card .property-card-body > * {
  margin-bottom: 0 !important;
}

[data-product-sortable="1"].product-grid-view-list > .property-card .property-card-actions {
  align-self: end;
  margin-top: 0.35rem;
}

@media (max-width: 760px) {
  [data-product-sortable="1"].product-grid-view-list > .property-card {
    grid-template-columns: minmax(96px, 32%) minmax(0, 1fr) !important;
    min-height: 148px !important;
  }

  [data-product-sortable="1"].product-grid-view-list > .property-card > .card-image {
    min-height: 148px !important;
  }
}

/* GAISAPP 2026-06-29: Tesla-like product dossier pass.
   Product pages now read faster: smaller hero image, compact facts first,
   denser visual proof, and fuller おすすめ / related residence cards. */
[data-building-detail] {
  background: linear-gradient(180deg, #f7f6f2 0%, #ffffff 38%, #f6f3ed 100%);
}

[data-building-detail] .building-hero.property-detail {
  align-items: start;
  gap: clamp(1rem, 2.2vw, 2rem);
  grid-template-columns: minmax(0, 0.98fr) minmax(340px, 0.46fr);
  margin: 0 auto;
  max-width: 1500px;
  padding: clamp(1.2rem, 3vw, 2.8rem) clamp(1rem, 4vw, 4rem) clamp(1.4rem, 3vw, 2.5rem);
}

[data-building-detail] .building-hero-media {
  aspect-ratio: 16 / 10;
  border: 1px solid rgba(18, 18, 18, 0.08);
  border-radius: clamp(22px, 2.2vw, 34px);
  box-shadow: 0 22px 70px rgba(17, 17, 17, 0.12);
  min-height: clamp(320px, 42vw, 560px) !important;
  position: relative;
}

[data-building-detail] .building-hero-media img {
  height: 100%;
  min-height: clamp(320px, 42vw, 560px) !important;
  object-fit: cover;
}

[data-building-detail] .building-facts-panel {
  align-self: start;
  border: 1px solid rgba(18, 18, 18, 0.08);
  border-radius: clamp(22px, 2.2vw, 34px);
  box-shadow: 0 20px 60px rgba(17, 17, 17, 0.10);
  gap: 0.72rem;
  padding: clamp(1.15rem, 2vw, 1.7rem);
  position: sticky;
  top: 88px;
}

[data-building-detail] .building-facts-panel h1 {
  font-family: var(--sans);
  font-size: clamp(1.85rem, 3.2vw, 3.25rem);
  letter-spacing: -0.055em;
  line-height: 0.96;
  max-width: 13ch;
}

[data-building-detail] .building-facts-panel .price {
  color: #111111;
  font-family: var(--sans);
  font-size: clamp(1.22rem, 1.7vw, 1.85rem);
  font-weight: 900;
  letter-spacing: -0.035em;
}

[data-building-detail] .building-facts-panel > p:not(.price):not(.small-print) {
  color: rgba(24, 24, 24, 0.72);
  font-size: 0.94rem;
  line-height: 1.55;
}

[data-building-detail] .building-facts-panel dl {
  gap: 0;
  margin: 0.35rem 0 0.55rem;
}

[data-building-detail] .building-facts-panel dl div {
  gap: 0.75rem;
  grid-template-columns: minmax(88px, 0.33fr) 1fr;
  padding: 0.58rem 0;
}

[data-building-detail] .building-facts-panel dt {
  color: rgba(18, 18, 18, 0.48);
  letter-spacing: 0.11em;
}

[data-building-detail] .building-facts-panel dd {
  color: rgba(18, 18, 18, 0.92);
  font-size: 0.92rem;
  line-height: 1.3;
}

[data-building-detail] .product-detail-essentials {
  margin-top: 0;
  padding-top: clamp(1.7rem, 3vw, 2.4rem);
}

[data-building-detail] .product-essentials-grid {
  display: grid;
  gap: 0.72rem;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

[data-building-detail] .product-essential-card {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(18, 18, 18, 0.075);
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(17, 17, 17, 0.055);
  min-height: 98px;
  padding: 0.88rem 0.92rem;
}

[data-building-detail] .product-essential-card span {
  color: rgba(18, 18, 18, 0.47);
  display: block;
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  margin-bottom: 0.44rem;
  text-transform: uppercase;
}

[data-building-detail] .product-essential-card strong {
  color: #111111;
  display: block;
  font-size: clamp(0.92rem, 1.2vw, 1.08rem);
  letter-spacing: -0.025em;
  line-height: 1.22;
}

[data-building-detail] .product-essential-chips {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  grid-column: 1 / -1;
  padding-top: 0.2rem;
}

[data-building-detail] .product-essential-chips span {
  background: #111111;
  border-radius: 999px;
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.03em;
  padding: 0.45rem 0.72rem;
}

[data-building-detail] .building-gallery-grid {
  gap: 0.75rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

[data-building-detail] .building-gallery-card {
  border-color: rgba(18, 18, 18, 0.075);
  border-radius: 20px;
  box-shadow: 0 12px 36px rgba(17, 17, 17, 0.07);
}

[data-building-detail] .building-gallery-card img {
  aspect-ratio: 1.46 / 1;
  max-height: 220px;
}

[data-building-detail] .building-gallery-card figcaption {
  padding: 0.72rem 0.82rem 0.82rem;
}

[data-building-detail] .building-gallery-card strong {
  font-family: var(--sans);
  font-size: 0.92rem;
  letter-spacing: -0.025em;
}

[data-building-detail] .building-info-grid {
  gap: 0.82rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

[data-building-detail] .decision-card {
  border-radius: 22px;
  min-height: 0;
  padding: 1rem;
}

[data-building-detail] .building-recommended-grid,
[data-building-detail] .building-alsoviewed-grid {
  display: grid !important;
  gap: 0.82rem !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

[data-building-detail] .recommended-card,
[data-building-detail] .building-recommended-grid .property-card,
[data-building-detail] .building-alsoviewed-grid .property-card {
  background: linear-gradient(180deg, #ffffff, #faf8f4) !important;
  border: 1px solid rgba(18, 18, 18, 0.075) !important;
  border-radius: 24px !important;
  box-shadow: 0 12px 38px rgba(17, 17, 17, 0.075) !important;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease !important;
}

/* Match the luxury rental / buying listing cards: the related and recommend
   cards lift, deepen their shadow, and gently zoom the photo on hover/focus so
   they clearly read as clickable. The scoped !important box-shadow above would
   otherwise suppress the base hover reaction. */
[data-building-detail] .recommended-card:hover,
[data-building-detail] .recommended-card:focus-within,
[data-building-detail] .building-recommended-grid .property-card:hover,
[data-building-detail] .building-recommended-grid .property-card:focus-within,
[data-building-detail] .building-alsoviewed-grid .property-card:hover,
[data-building-detail] .building-alsoviewed-grid .property-card:focus-within {
  border-color: rgba(182, 162, 124, 0.55) !important;
  box-shadow: 0 22px 54px rgba(17, 17, 17, 0.16) !important;
  transform: translateY(-3px) !important;
}

[data-building-detail] .building-recommended-grid .property-card:hover .card-image img,
[data-building-detail] .building-alsoviewed-grid .property-card:hover .card-image img,
[data-building-detail] .recommended-card:hover .card-image img {
  filter: saturate(0.9) contrast(1.04) brightness(0.98);
  transform: scale(1.03);
}

[data-building-detail] .recommended-card .card-image,
[data-building-detail] .building-recommended-grid .property-card .card-image,
[data-building-detail] .building-alsoviewed-grid .property-card .card-image {
  aspect-ratio: 1.55 / 1 !important;
  max-height: 170px;
}

[data-building-detail] .recommended-card .card-image img,
[data-building-detail] .building-recommended-grid .property-card .card-image img,
[data-building-detail] .building-alsoviewed-grid .property-card .card-image img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

[data-building-detail] .recommended-card .property-card-body,
[data-building-detail] .building-recommended-grid .property-card-body,
[data-building-detail] .building-alsoviewed-grid .property-card-body {
  gap: 0.38rem;
  padding: 0.9rem !important;
}

[data-building-detail] .recommended-card h3,
[data-building-detail] .building-recommended-grid h3,
[data-building-detail] .building-alsoviewed-grid h3 {
  font-size: clamp(0.95rem, 1.1vw, 1.12rem) !important;
  letter-spacing: -0.035em;
  line-height: 1.12;
  min-height: 0 !important;
}

[data-building-detail] .recommended-card .area,
[data-building-detail] .building-recommended-grid .area,
[data-building-detail] .building-alsoviewed-grid .area {
  color: rgba(18, 18, 18, 0.56);
  font-size: 0.68rem;
  letter-spacing: 0.11em;
  line-height: 1.25;
  text-transform: uppercase;
}

[data-building-detail] .recommended-card .card-price,
[data-building-detail] .recommended-card .recommended-price,
[data-building-detail] .building-recommended-grid .card-price,
[data-building-detail] .building-alsoviewed-grid .card-price {
  color: #111111;
  font-size: 0.92rem;
  font-weight: 900;
  letter-spacing: -0.025em;
  margin: 0;
}

[data-building-detail] .recommended-card .card-comment,
[data-building-detail] .building-recommended-grid .card-comment,
[data-building-detail] .building-alsoviewed-grid .card-comment {
  color: rgba(18, 18, 18, 0.66);
  display: -webkit-box;
  font-size: 0.76rem;
  line-height: 1.42;
  margin: 0.1rem 0 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

[data-building-detail] .recommended-card .intro-bubbles,
[data-building-detail] .building-recommended-grid .intro-bubbles,
[data-building-detail] .building-alsoviewed-grid .intro-bubbles {
  gap: 0.35rem;
  margin: 0.15rem 0 0.2rem;
}

[data-building-detail] .recommended-card .intro-bubbles span,
[data-building-detail] .building-recommended-grid .intro-bubbles span,
[data-building-detail] .building-alsoviewed-grid .intro-bubbles span {
  background: rgba(17, 17, 17, 0.055);
  border: 1px solid rgba(17, 17, 17, 0.07);
  color: rgba(17, 17, 17, 0.74);
  font-size: 0.67rem;
  padding: 0.34rem 0.48rem;
}

[data-building-detail] .recommended-card .intro-card-actions,
[data-building-detail] .building-recommended-grid .intro-card-actions,
[data-building-detail] .building-alsoviewed-grid .intro-card-actions {
  gap: 0.42rem;
  grid-template-columns: 0.7fr 1fr;
  margin-top: auto;
  padding-top: 0.55rem;
}

[data-building-detail] .recommended-card .intro-card-actions .button,
[data-building-detail] .building-recommended-grid .intro-card-actions .button,
[data-building-detail] .building-alsoviewed-grid .intro-card-actions .button {
  border-radius: 999px;
  font-size: 0.64rem;
  min-height: 2.3rem;
  padding: 0.55rem 0.55rem;
}

@media (max-width: 1180px) {
  [data-building-detail] .building-hero.property-detail {
    grid-template-columns: 1fr;
  }
  [data-building-detail] .building-facts-panel {
    position: static;
  }
  [data-building-detail] .product-essentials-grid,
  [data-building-detail] .building-gallery-grid,
  [data-building-detail] .building-info-grid,
  [data-building-detail] .building-recommended-grid,
  [data-building-detail] .building-alsoviewed-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  [data-building-detail] .building-hero.property-detail {
    padding-inline: 0.9rem;
  }
  [data-building-detail] .building-hero-media,
  [data-building-detail] .building-hero-media img {
    min-height: 280px !important;
  }
  [data-building-detail] .product-essentials-grid,
  [data-building-detail] .building-gallery-grid,
  [data-building-detail] .building-info-grid {
    grid-template-columns: 1fr !important;
  }
  [data-building-detail] .building-recommended-grid,
  [data-building-detail] .building-alsoviewed-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  [data-building-detail] .recommended-card .card-comment,
  [data-building-detail] .building-recommended-grid .card-comment,
  [data-building-detail] .building-alsoviewed-grid .card-comment {
    display: none;
  }
  [data-building-detail] .recommended-card .intro-card-actions,
  [data-building-detail] .building-recommended-grid .intro-card-actions,
  [data-building-detail] .building-alsoviewed-grid .intro-card-actions {
    grid-template-columns: 1fr;
  }
}


/* GAISAPP 2026-06-30: Amazon-style hero image selector for product pages. */
[data-building-detail] .building-hero-media.has-building-image-rail {
  isolation: isolate;
}

[data-building-detail] .building-image-rail {
  display: flex;
  flex-direction: column;
  gap: 0.58rem;
  left: clamp(0.7rem, 1.4vw, 1.05rem);
  max-height: calc(100% - 2rem);
  overflow-y: auto;
  padding: 0.12rem 0.18rem 0.12rem 0.12rem;
  position: absolute;
  scrollbar-width: none;
  top: clamp(0.7rem, 1.4vw, 1.05rem);
  z-index: 12;
}

[data-building-detail] .building-image-rail::-webkit-scrollbar {
  display: none;
}

[data-building-detail] .building-image-thumb {
  align-items: stretch;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(17, 17, 17, 0.12);
  border-radius: 13px;
  box-shadow: 0 8px 24px rgba(17, 17, 17, 0.12);
  cursor: pointer;
  display: grid;
  height: clamp(3.05rem, 4.7vw, 4.35rem);
  min-width: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
  width: clamp(3.05rem, 4.7vw, 4.35rem);
}

[data-building-detail] .building-image-thumb:hover,
[data-building-detail] .building-image-thumb:focus-visible,
[data-building-detail] .building-image-thumb.is-active {
  background: #ffffff;
  border-color: rgba(17, 17, 17, 0.78);
  box-shadow: 0 12px 30px rgba(17, 17, 17, 0.2);
  outline: none;
  transform: translateX(2px);
}

[data-building-detail] .building-image-thumb img {
  display: block;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover;
  width: 100%;
}

[data-building-detail] .building-image-thumb span {
  align-items: center;
  background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.7));
  bottom: 0;
  color: #ffffff;
  display: flex;
  font-size: clamp(0.48rem, 0.68vw, 0.58rem);
  font-weight: 850;
  justify-content: center;
  left: 0;
  letter-spacing: 0.02em;
  line-height: 1.05;
  min-height: 1.25rem;
  padding: 0.45rem 0.24rem 0.22rem;
  position: absolute;
  right: 0;
  text-align: center;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.65);
}

[data-building-detail] .building-hero-media.has-building-image-rail > [data-building-main-image] {
  transition: opacity 160ms ease;
}

[data-building-detail] .building-hero-media.has-building-image-rail .card-badge-stack {
  align-items: flex-end;
  left: auto !important;
  max-width: calc(100% - 7.4rem) !important;
  right: clamp(0.7rem, 1.4vw, 1.05rem) !important;
  top: clamp(0.7rem, 1.4vw, 1.05rem) !important;
  z-index: 13 !important;
}

@media (max-width: 640px) {
  [data-building-detail] .building-image-rail {
    bottom: 0.72rem;
    flex-direction: row;
    left: 0.72rem;
    max-height: none;
    max-width: calc(100% - 1.44rem);
    overflow-x: auto;
    overflow-y: hidden;
    top: auto;
  }

  [data-building-detail] .building-image-thumb {
    flex: 0 0 auto;
    height: 3.35rem;
    width: 3.35rem;
  }

  [data-building-detail] .building-image-thumb span {
    display: none;
  }

  [data-building-detail] .building-hero-media.has-building-image-rail .card-badge-stack {
    max-width: calc(100% - 1.4rem) !important;
  }
}

/* GAISAPP 2026-06-30: clean compact related / おすすめ residence cards on product pages.
   The detail page related sections should feel like a neat Amazon/Tesla
   recommendation shelf: small cards in grid mode and tidy, short rows in list
   mode. Filters are unnecessary here, so only the grid/list switch remains. */
[data-building-detail] .building-recommended-section .product-control-bar-compact,
[data-building-detail] .building-alsoviewed-section .product-control-bar-compact {
  justify-content: flex-end !important;
  margin: -0.3rem 0 0.72rem !important;
}

[data-building-detail] .building-recommended-section .product-control-fields,
[data-building-detail] .building-alsoviewed-section .product-control-fields {
  display: none !important;
}

[data-building-detail] .building-recommended-section .product-view-toggle,
[data-building-detail] .building-alsoviewed-section .product-view-toggle {
  min-height: 2.2rem !important;
}

[data-building-detail] .building-recommended-section .product-view-toggle button,
[data-building-detail] .building-alsoviewed-section .product-view-toggle button {
  min-width: 2.55rem !important;
  padding: 0.42rem 0.58rem !important;
}

[data-building-detail] .building-recommended-section .product-view-toggle svg,
[data-building-detail] .building-alsoviewed-section .product-view-toggle svg {
  height: 1.08rem !important;
  width: 1.08rem !important;
}

[data-building-detail] .building-recommended-grid,
[data-building-detail] .building-alsoviewed-grid,
[data-building-detail] .building-recommended-grid.product-grid-view-grid,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-grid,
[data-building-detail] [data-building-recommended].product-grid-view-grid,
[data-building-detail] [data-building-alsoviewed].product-grid-view-grid {
  gap: 0.65rem !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

[data-building-detail] .building-recommended-grid > .property-card,
[data-building-detail] .building-alsoviewed-grid > .property-card {
  border-radius: 18px !important;
  box-shadow: 0 8px 24px rgba(17, 17, 17, 0.055) !important;
  min-width: 0 !important;
}

[data-building-detail] .building-recommended-grid.product-grid-view-grid > .property-card .card-image,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-grid > .property-card .card-image,
[data-building-detail] .building-recommended-grid:not(.product-grid-view-list) > .property-card .card-image,
[data-building-detail] .building-alsoviewed-grid:not(.product-grid-view-list) > .property-card .card-image {
  aspect-ratio: 1.45 / 1 !important;
  max-height: 128px !important;
  min-height: 0 !important;
}

[data-building-detail] .building-recommended-grid > .property-card .property-card-body,
[data-building-detail] .building-alsoviewed-grid > .property-card .property-card-body {
  gap: 0.28rem !important;
  padding: 0.72rem !important;
}

[data-building-detail] .building-recommended-grid > .property-card .property-card-body > .tag,
[data-building-detail] .building-alsoviewed-grid > .property-card .property-card-body > .tag {
  display: none !important;
}

[data-building-detail] .building-recommended-grid > .property-card .area,
[data-building-detail] .building-alsoviewed-grid > .property-card .area {
  display: -webkit-box !important;
  font-size: 0.6rem !important;
  line-height: 1.18 !important;
  margin: 0 !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

[data-building-detail] .building-recommended-grid > .property-card h3,
[data-building-detail] .building-alsoviewed-grid > .property-card h3 {
  display: -webkit-box !important;
  font-size: 0.88rem !important;
  letter-spacing: -0.028em !important;
  line-height: 1.12 !important;
  margin: 0.08rem 0 0 !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

[data-building-detail] .building-recommended-grid > .property-card .recommended-price,
[data-building-detail] .building-recommended-grid > .property-card .card-price,
[data-building-detail] .building-alsoviewed-grid > .property-card .recommended-price,
[data-building-detail] .building-alsoviewed-grid > .property-card .card-price {
  font-size: 0.78rem !important;
  line-height: 1.12 !important;
  margin: 0.04rem 0 0 !important;
}

[data-building-detail] .building-recommended-grid > .property-card .intro-bubbles,
[data-building-detail] .building-alsoviewed-grid > .property-card .intro-bubbles {
  gap: 0.25rem !important;
  margin: 0.05rem 0 0 !important;
}

[data-building-detail] .building-recommended-grid > .property-card .intro-bubbles span,
[data-building-detail] .building-alsoviewed-grid > .property-card .intro-bubbles span {
  font-size: 0.58rem !important;
  line-height: 1.05 !important;
  padding: 0.26rem 0.34rem !important;
}

[data-building-detail] .building-recommended-grid > .property-card .card-comment,
[data-building-detail] .building-alsoviewed-grid > .property-card .card-comment {
  font-size: 0.66rem !important;
  line-height: 1.3 !important;
  margin: 0.03rem 0 0 !important;
  -webkit-line-clamp: 2 !important;
}

[data-building-detail] .building-recommended-grid > .property-card .process-info,
[data-building-detail] .building-alsoviewed-grid > .property-card .process-info {
  gap: 0.24rem !important;
  margin: 0.14rem 0 0 !important;
}

[data-building-detail] .building-recommended-grid > .property-card .process-pill,
[data-building-detail] .building-recommended-grid > .property-card .process-updated,
[data-building-detail] .building-alsoviewed-grid > .property-card .process-pill,
[data-building-detail] .building-alsoviewed-grid > .property-card .process-updated {
  font-size: 0.58rem !important;
  padding: 0.26rem 0.38rem !important;
}

[data-building-detail] .building-recommended-grid > .property-card .intro-card-actions,
[data-building-detail] .building-alsoviewed-grid > .property-card .intro-card-actions {
  gap: 0.32rem !important;
  grid-template-columns: 0.62fr 1fr !important;
  margin-top: auto !important;
  padding-top: 0.35rem !important;
}

[data-building-detail] .building-recommended-grid > .property-card .intro-card-actions .button,
[data-building-detail] .building-alsoviewed-grid > .property-card .intro-card-actions .button {
  font-size: 0.54rem !important;
  letter-spacing: 0.05em !important;
  min-height: 1.9rem !important;
  padding: 0.42rem 0.38rem !important;
}

[data-building-detail] .building-recommended-grid > .property-card .card-badge-stack,
[data-building-detail] .building-alsoviewed-grid > .property-card .card-badge-stack {
  max-width: calc(100% - 76px) !important;
}

[data-building-detail] .building-recommended-grid > .property-card .status-badge,
[data-building-detail] .building-recommended-grid > .property-card .access-badge,
[data-building-detail] .building-alsoviewed-grid > .property-card .status-badge,
[data-building-detail] .building-alsoviewed-grid > .property-card .access-badge {
  font-size: 0.56rem !important;
  max-width: 82px !important;
  min-height: 1.7rem !important;
  padding: 0.34rem 0.42rem !important;
}

[data-building-detail] .building-recommended-grid > .property-card .card-like-button,
[data-building-detail] .building-alsoviewed-grid > .property-card .card-like-button {
  font-size: 0.56rem !important;
  max-width: 68px !important;
  min-height: 1.72rem !important;
  min-width: 62px !important;
  padding: 0.32rem 0.42rem !important;
}

[data-building-detail] .building-recommended-grid > .property-card .card-like-button .like-count,
[data-building-detail] .building-alsoviewed-grid > .property-card .card-like-button .like-count {
  font-size: 0.55rem !important;
  min-width: 0.95rem !important;
  padding: 0.02rem 0.2rem !important;
}

[data-building-detail] .building-recommended-grid.product-grid-view-list,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list,
[data-building-detail] [data-building-recommended].product-grid-view-list,
[data-building-detail] [data-building-alsoviewed].product-grid-view-list {
  gap: 0.55rem !important;
  grid-template-columns: minmax(0, 1fr) !important;
}

[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card {
  display: grid !important;
  grid-template-columns: minmax(112px, 142px) minmax(0, 1fr) !important;
  min-height: 122px !important;
  width: 100% !important;
}

[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card > .card-image,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card > .card-image {
  aspect-ratio: auto !important;
  height: 100% !important;
  max-height: none !important;
  min-height: 122px !important;
}

[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card > .card-image img,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card > .card-image picture,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card > .card-image .card-image-link,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card > .card-image img,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card > .card-image picture,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card > .card-image .card-image-link {
  height: 100% !important;
  min-height: 0 !important;
}

[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-body,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-body {
  align-content: center !important;
  column-gap: 0.78rem !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(132px, 0.26fr) !important;
  padding: 0.68rem 0.78rem !important;
  row-gap: 0.18rem !important;
}

[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .area,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card h3,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .recommended-price,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .card-price,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .intro-bubbles,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .card-comment,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .process-info,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .area,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card h3,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .recommended-price,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .card-price,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .intro-bubbles,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .card-comment,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .process-info {
  grid-column: 1 !important;
}

[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .card-comment,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .card-comment {
  -webkit-line-clamp: 1 !important;
}

[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .intro-card-actions,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .intro-card-actions {
  align-self: center !important;
  display: grid !important;
  grid-column: 2 !important;
  grid-row: 1 / span 7 !important;
  grid-template-columns: 1fr !important;
  margin: 0 !important;
  min-width: 132px !important;
  padding: 0 !important;
}

@media (max-width: 1350px) {
  [data-building-detail] .building-recommended-grid,
  [data-building-detail] .building-alsoviewed-grid,
  [data-building-detail] .building-recommended-grid.product-grid-view-grid,
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 980px) {
  [data-building-detail] .building-recommended-grid,
  [data-building-detail] .building-alsoviewed-grid,
  [data-building-detail] .building-recommended-grid.product-grid-view-grid,
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  [data-building-detail] .building-recommended-grid,
  [data-building-detail] .building-alsoviewed-grid,
  [data-building-detail] .building-recommended-grid.product-grid-view-grid,
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card,
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card {
    grid-template-columns: minmax(92px, 34%) minmax(0, 1fr) !important;
    min-height: 118px !important;
  }

  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card > .card-image,
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card > .card-image {
    min-height: 118px !important;
  }

  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-body,
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-body {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 0.58rem !important;
  }

  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .intro-card-actions,
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .intro-card-actions {
    grid-column: 1 !important;
    grid-row: auto !important;
    grid-template-columns: 1fr 1fr !important;
    min-width: 0 !important;
    padding-top: 0.2rem !important;
  }

  [data-building-detail] .building-recommended-grid > .property-card .card-comment,
  [data-building-detail] .building-alsoviewed-grid > .property-card .card-comment,
  [data-building-detail] .building-recommended-grid > .property-card .process-info,
  [data-building-detail] .building-alsoviewed-grid > .property-card .process-info {
    display: none !important;
  }
}

/* GAISAPP 2026-06-30 v2: product-detail related cards consistency repair.
   The related / おすすめ lists now use the same calm rental/buying row logic:
   short image, readable content column, action rows at the bottom, no detached
   right-side island and no huge white dead space. */
[data-building-detail] .building-alsoviewed-section,
[data-building-detail] .building-recommended-section {
  max-width: min(1560px, calc(100% - 3rem)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

[data-building-detail] .building-alsoviewed-section .split-heading,
[data-building-detail] .building-recommended-section .split-heading {
  align-items: end !important;
  gap: clamp(1rem, 2vw, 2rem) !important;
  margin-bottom: 1rem !important;
}

[data-building-detail] .building-alsoviewed-section .split-heading h2,
[data-building-detail] .building-recommended-section .split-heading h2 {
  max-width: 9.5em !important;
}

[data-building-detail] .building-alsoviewed-section .split-heading > p,
[data-building-detail] .building-recommended-section .split-heading > p {
  max-width: 38rem !important;
}

[data-building-detail] .building-alsoviewed-section .product-control-bar-compact,
[data-building-detail] .building-recommended-section .product-control-bar-compact {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  justify-content: flex-end !important;
  margin: -3.1rem 0 1rem auto !important;
  padding: 0 !important;
}

[data-building-detail] .building-alsoviewed-section .product-control-fields,
[data-building-detail] .building-recommended-section .product-control-fields {
  display: none !important;
}

[data-building-detail] .building-alsoviewed-section .product-view-toggle,
[data-building-detail] .building-recommended-section .product-view-toggle {
  background: rgba(255, 252, 247, 0.94) !important;
  border: 1px solid rgba(184, 155, 94, 0.28) !important;
  border-radius: 999px !important;
  box-shadow: 0 12px 30px rgba(30, 22, 12, 0.06) !important;
  min-height: 2.35rem !important;
  overflow: hidden !important;
}

[data-building-detail] .building-alsoviewed-section .product-view-toggle button,
[data-building-detail] .building-recommended-section .product-view-toggle button {
  min-width: 2.55rem !important;
  padding: 0.5rem 0.62rem !important;
}

[data-building-detail] .building-alsoviewed-section .product-view-toggle button[aria-pressed="true"],
[data-building-detail] .building-recommended-section .product-view-toggle button[aria-pressed="true"] {
  background: rgba(122, 38, 50, 0.105) !important;
  color: var(--luxury-burgundy) !important;
}

[data-building-detail] .building-alsoviewed-grid,
[data-building-detail] .building-recommended-grid,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-grid,
[data-building-detail] .building-recommended-grid.product-grid-view-grid,
[data-building-detail] [data-building-alsoviewed].product-grid-view-grid,
[data-building-detail] [data-building-recommended].product-grid-view-grid {
  gap: clamp(0.75rem, 1.1vw, 1rem) !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

[data-building-detail] .building-alsoviewed-grid > .property-card,
[data-building-detail] .building-recommended-grid > .property-card {
  background: linear-gradient(180deg, #fffdf9 0%, #fbf7ef 100%) !important;
  border: 1px solid rgba(64, 46, 30, 0.09) !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 44px rgba(28, 23, 16, 0.075) !important;
  overflow: hidden !important;
}

[data-building-detail] .building-alsoviewed-grid:not(.product-grid-view-list) > .property-card .card-image,
[data-building-detail] .building-recommended-grid:not(.product-grid-view-list) > .property-card .card-image,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-grid > .property-card .card-image,
[data-building-detail] .building-recommended-grid.product-grid-view-grid > .property-card .card-image {
  aspect-ratio: 1.62 / 1 !important;
  max-height: 158px !important;
  min-height: 0 !important;
}

[data-building-detail] .building-alsoviewed-grid:not(.product-grid-view-list) > .property-card .property-card-body,
[data-building-detail] .building-recommended-grid:not(.product-grid-view-list) > .property-card .property-card-body,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-grid > .property-card .property-card-body,
[data-building-detail] .building-recommended-grid.product-grid-view-grid > .property-card .property-card-body {
  gap: 0.34rem !important;
  padding: 0.86rem !important;
}

[data-building-detail] .building-alsoviewed-grid > .property-card .area,
[data-building-detail] .building-recommended-grid > .property-card .area {
  color: rgba(98, 75, 50, 0.78) !important;
  font-size: 0.66rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.13em !important;
  line-height: 1.18 !important;
  text-transform: uppercase !important;
}

[data-building-detail] .building-alsoviewed-grid > .property-card h3,
[data-building-detail] .building-recommended-grid > .property-card h3 {
  color: #16120f !important;
  font-size: clamp(0.94rem, 1vw, 1.04rem) !important;
  letter-spacing: -0.035em !important;
  line-height: 1.12 !important;
}

[data-building-detail] .building-alsoviewed-grid > .property-card .recommended-price,
[data-building-detail] .building-alsoviewed-grid > .property-card .card-price,
[data-building-detail] .building-recommended-grid > .property-card .recommended-price,
[data-building-detail] .building-recommended-grid > .property-card .card-price {
  font-size: 0.82rem !important;
  line-height: 1.12 !important;
}

[data-building-detail] .building-alsoviewed-grid > .property-card .card-comment,
[data-building-detail] .building-recommended-grid > .property-card .card-comment {
  color: rgba(31, 27, 23, 0.62) !important;
  font-size: 0.7rem !important;
  line-height: 1.35 !important;
  -webkit-line-clamp: 2 !important;
}

[data-building-detail] .building-alsoviewed-grid > .property-card .process-info,
[data-building-detail] .building-recommended-grid > .property-card .process-info {
  margin-top: 0.18rem !important;
}

[data-building-detail] .building-alsoviewed-grid > .property-card .process-pill,
[data-building-detail] .building-alsoviewed-grid > .property-card .process-updated,
[data-building-detail] .building-recommended-grid > .property-card .process-pill,
[data-building-detail] .building-recommended-grid > .property-card .process-updated {
  font-size: 0.6rem !important;
  padding: 0.28rem 0.44rem !important;
}

[data-building-detail] .building-alsoviewed-grid > .property-card .property-card-actions,
[data-building-detail] .building-recommended-grid > .property-card .property-card-actions {
  gap: 0.22rem !important;
  margin-top: auto !important;
  padding-top: 0.42rem !important;
}

[data-building-detail] .building-alsoviewed-grid > .property-card .property-card-actions .card-action,
[data-building-detail] .building-recommended-grid > .property-card .property-card-actions .card-action {
  border-bottom-color: rgba(122, 90, 54, 0.14) !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.065em !important;
  min-height: 1.62rem !important;
  padding: 0.06rem 0.05rem 0.28rem !important;
}

[data-building-detail] .building-alsoviewed-grid > .property-card .card-badge-stack,
[data-building-detail] .building-recommended-grid > .property-card .card-badge-stack {
  gap: 0.34rem !important;
  left: clamp(0.5rem, 0.8vw, 0.66rem) !important;
  max-width: calc(100% - 5.5rem) !important;
  top: clamp(0.5rem, 0.8vw, 0.66rem) !important;
}

[data-building-detail] .building-alsoviewed-grid > .property-card .status-badge,
[data-building-detail] .building-alsoviewed-grid > .property-card .access-badge,
[data-building-detail] .building-recommended-grid > .property-card .status-badge,
[data-building-detail] .building-recommended-grid > .property-card .access-badge {
  font-size: 0.58rem !important;
  max-width: 92px !important;
  min-height: 1.72rem !important;
  padding: 0.34rem 0.48rem !important;
}

[data-building-detail] .building-alsoviewed-grid > .property-card .card-like-button,
[data-building-detail] .building-recommended-grid > .property-card .card-like-button {
  border-radius: 999px !important;
  font-size: 0.58rem !important;
  max-width: 72px !important;
  min-height: 1.72rem !important;
  min-width: 64px !important;
  padding: 0.34rem 0.45rem !important;
  right: clamp(0.5rem, 0.8vw, 0.66rem) !important;
  top: clamp(0.5rem, 0.8vw, 0.66rem) !important;
}

[data-building-detail] .building-alsoviewed-grid.product-grid-view-list,
[data-building-detail] .building-recommended-grid.product-grid-view-list,
[data-building-detail] [data-building-alsoviewed].product-grid-view-list,
[data-building-detail] [data-building-recommended].product-grid-view-list {
  display: grid !important;
  gap: clamp(0.72rem, 1vw, 0.92rem) !important;
  grid-template-columns: minmax(0, 1fr) !important;
}

[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card {
  display: grid !important;
  grid-template-columns: minmax(188px, 20%) minmax(0, 1fr) !important;
  min-height: 178px !important;
  width: 100% !important;
}

[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card > .card-image,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card > .card-image {
  aspect-ratio: auto !important;
  height: 100% !important;
  max-height: none !important;
  min-height: 178px !important;
}

[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card > .card-image .card-image-link,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card > .card-image picture,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card > .card-image img,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card > .card-image .card-image-link,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card > .card-image picture,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card > .card-image img {
  display: block !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  width: 100% !important;
}

[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-body,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-body {
  align-content: start !important;
  display: grid !important;
  gap: 0.36rem !important;
  grid-template-columns: minmax(0, 1fr) !important;
  min-width: 0 !important;
  padding: clamp(1rem, 1.35vw, 1.35rem) clamp(1rem, 1.6vw, 1.55rem) !important;
}

[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-body > *,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-body > * {
  grid-column: 1 !important;
  margin-bottom: 0 !important;
}

[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .area,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .area {
  -webkit-line-clamp: 1 !important;
  font-size: 0.72rem !important;
  line-height: 1.18 !important;
  max-width: 56rem !important;
}

[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card h3,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card h3 {
  -webkit-line-clamp: 1 !important;
  font-size: clamp(1.02rem, 1.14vw, 1.22rem) !important;
  line-height: 1.1 !important;
  max-width: 48rem !important;
}

[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .recommended-price,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .card-price,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .recommended-price,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .card-price {
  font-size: 0.9rem !important;
}

[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .intro-bubbles,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .intro-bubbles {
  margin: 0.05rem 0 0 !important;
}

[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .card-comment,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .card-comment {
  -webkit-line-clamp: 1 !important;
  font-size: 0.76rem !important;
  max-width: 58rem !important;
}

[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .process-info,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .process-info {
  display: flex !important;
  margin-top: 0.1rem !important;
}

[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-actions,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-actions {
  display: grid !important;
  gap: 0.22rem !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin-top: 0.32rem !important;
  padding-top: 0.18rem !important;
}

[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-actions .card-action,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-actions .card-action {
  border-bottom: 1px solid rgba(122, 90, 54, 0.14) !important;
  font-size: 0.68rem !important;
  justify-content: space-between !important;
  letter-spacing: 0.07em !important;
  min-height: 1.72rem !important;
  padding: 0.08rem 0.18rem 0.34rem !important;
}

[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .intro-card-actions,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .intro-card-actions {
  display: contents !important;
}

@media (min-width: 1181px) {
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-body,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-body {
    grid-template-columns: minmax(0, 0.72fr) minmax(310px, 0.28fr) !important;
    column-gap: clamp(1rem, 2vw, 2.2rem) !important;
    align-items: center !important;
  }
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .area,
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card h3,
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .recommended-price,
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .card-price,
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .intro-bubbles,
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .card-comment,
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .process-info,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .area,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card h3,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .recommended-price,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .card-price,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .intro-bubbles,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .card-comment,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .process-info {
    grid-column: 1 !important;
  }
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-actions,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-actions {
    align-self: center !important;
    grid-column: 2 !important;
    grid-row: 1 / span 8 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

@media (max-width: 1180px) {
  [data-building-detail] .building-alsoviewed-grid,
  [data-building-detail] .building-recommended-grid,
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-grid,
  [data-building-detail] .building-recommended-grid.product-grid-view-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card {
    grid-template-columns: minmax(150px, 28%) minmax(0, 1fr) !important;
  }
}

@media (max-width: 760px) {
  [data-building-detail] .building-alsoviewed-section,
  [data-building-detail] .building-recommended-section {
    max-width: calc(100% - 1rem) !important;
  }
  [data-building-detail] .building-alsoviewed-section .product-control-bar-compact,
  [data-building-detail] .building-recommended-section .product-control-bar-compact {
    margin: 0 0 0.85rem auto !important;
  }
  [data-building-detail] .building-alsoviewed-grid,
  [data-building-detail] .building-recommended-grid,
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-grid,
  [data-building-detail] .building-recommended-grid.product-grid-view-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card {
    grid-template-columns: minmax(112px, 34%) minmax(0, 1fr) !important;
    min-height: 150px !important;
  }
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card > .card-image,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card > .card-image {
    min-height: 150px !important;
  }
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-body,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-body {
    padding: 0.78rem !important;
  }
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .process-info,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .process-info,
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .card-comment,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .card-comment {
    display: none !important;
  }
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-actions,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-actions {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 520px) {
  [data-building-detail] .building-alsoviewed-grid,
  [data-building-detail] .building-recommended-grid,
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-grid,
  [data-building-detail] .building-recommended-grid.product-grid-view-grid {
    grid-template-columns: 1fr !important;
  }
}

/* GAISAPP 2026-06-30 v2b: keep product-detail related list identical to rental/buying list rhythm.
   Actions stay as full-width stacked rows under the copy, never as a detached right island. */
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card {
  grid-template-columns: minmax(190px, 22%) minmax(0, 1fr) !important;
  min-height: 206px !important;
}
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card > .card-image,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card > .card-image {
  min-height: 206px !important;
}
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-body,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-body {
  align-content: start !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.34rem !important;
  grid-template-columns: none !important;
  justify-content: flex-start !important;
  padding: clamp(1rem, 1.35vw, 1.28rem) clamp(1rem, 1.65vw, 1.6rem) !important;
}
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-body > *,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-body > * {
  grid-column: auto !important;
  grid-row: auto !important;
}
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-actions,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-actions {
  align-self: stretch !important;
  display: grid !important;
  grid-column: auto !important;
  grid-row: auto !important;
  grid-template-columns: minmax(0, 1fr) !important;
  margin-top: auto !important;
  padding-top: 0.38rem !important;
  width: 100% !important;
}
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-actions .card-action,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-actions .card-action {
  min-height: 1.78rem !important;
  padding-left: 0.04rem !important;
  padding-right: 0.04rem !important;
}

@media (max-width: 760px) {
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card {
    grid-template-columns: minmax(108px, 34%) minmax(0, 1fr) !important;
    min-height: 158px !important;
  }
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card > .card-image,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card > .card-image {
    min-height: 158px !important;
  }
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-actions .card-action,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-actions .card-action {
    font-size: 0.6rem !important;
  }
}

/* GAISAPP 2026-06-30 v3: single-source related card system.
   Product-page related / comparable residences must use the same visual
   rhythm as the rental and luxury buying cards, not a special one-off layout. */
[data-building-detail] .building-alsoviewed-grid,
[data-building-detail] .building-recommended-grid {
  gap: clamp(0.8rem, 1.1vw, 1rem) !important;
}

/* Grid view: compact cards, same family as the master listing cards. */
[data-building-detail] .building-alsoviewed-grid.product-grid-view-grid,
[data-building-detail] .building-recommended-grid.product-grid-view-grid,
[data-building-detail] .building-alsoviewed-grid:not(.product-grid-view-list),
[data-building-detail] .building-recommended-grid:not(.product-grid-view-list) {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
[data-building-detail] .building-alsoviewed-grid > .property-card,
[data-building-detail] .building-recommended-grid > .property-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
}
[data-building-detail] .building-alsoviewed-grid > .property-card > .card-image,
[data-building-detail] .building-recommended-grid > .property-card > .card-image {
  aspect-ratio: 1.42 / 1 !important;
  max-height: 172px !important;
}
[data-building-detail] .building-alsoviewed-grid > .property-card .property-card-body,
[data-building-detail] .building-recommended-grid > .property-card .property-card-body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 0.38rem !important;
  padding: 0.92rem !important;
}
[data-building-detail] .building-alsoviewed-grid > .property-card .tag,
[data-building-detail] .building-recommended-grid > .property-card .tag {
  font-size: 0.74rem !important;
  letter-spacing: 0.08em !important;
}
[data-building-detail] .building-alsoviewed-grid > .property-card .area,
[data-building-detail] .building-recommended-grid > .property-card .area {
  font-size: 0.68rem !important;
  letter-spacing: 0.1em !important;
}
[data-building-detail] .building-alsoviewed-grid > .property-card h3,
[data-building-detail] .building-recommended-grid > .property-card h3 {
  font-size: clamp(1rem, 1.1vw, 1.14rem) !important;
  line-height: 1.1 !important;
}
[data-building-detail] .building-alsoviewed-grid > .property-card .price,
[data-building-detail] .building-alsoviewed-grid > .property-card .recommended-price,
[data-building-detail] .building-recommended-grid > .property-card .price,
[data-building-detail] .building-recommended-grid > .property-card .recommended-price {
  font-size: 0.92rem !important;
  margin: 0 !important;
}
[data-building-detail] .building-alsoviewed-grid > .property-card .property-card-body > p:not([class]),
[data-building-detail] .building-recommended-grid > .property-card .property-card-body > p:not([class]) {
  color: rgba(31, 27, 23, 0.66) !important;
  display: -webkit-box !important;
  font-size: 0.78rem !important;
  line-height: 1.42 !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* List view: exactly the same composition logic as the main listing pages.
   Image on the left, all copy and actions stacked in one content column. */
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list,
[data-building-detail] .building-recommended-grid.product-grid-view-list {
  grid-template-columns: minmax(0, 1fr) !important;
}
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card {
  display: grid !important;
  grid-template-columns: minmax(150px, 22%) minmax(0, 1fr) !important;
  min-height: 168px !important;
  width: 100% !important;
}
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card > .card-image,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card > .card-image {
  aspect-ratio: auto !important;
  height: 100% !important;
  max-height: none !important;
  min-height: 168px !important;
}
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card > .card-image picture,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card > .card-image img,
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card > .card-image .card-image-link,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card > .card-image picture,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card > .card-image img,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card > .card-image .card-image-link {
  height: 100% !important;
}
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-body,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-body {
  align-content: start !important;
  display: grid !important;
  gap: 0.42rem !important;
  padding: 1rem 1.22rem !important;
}
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-actions,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-actions {
  align-self: end !important;
  display: grid !important;
  gap: 0.42rem !important;
  grid-template-columns: minmax(0, 1fr) !important;
  margin-top: auto !important;
  padding-top: 0.58rem !important;
  width: 100% !important;
}
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-actions .card-action,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-actions .card-action {
  font-size: 0.76rem !important;
  min-height: 1.78rem !important;
  padding: 0.08rem 0 0.34rem !important;
}

/* Keep badges compact and consistent with listing cards. */
[data-building-detail] .building-alsoviewed-grid > .property-card .card-badge-stack,
[data-building-detail] .building-recommended-grid > .property-card .card-badge-stack {
  max-width: calc(100% - 118px) !important;
}
[data-building-detail] .building-alsoviewed-grid > .property-card .status-badge,
[data-building-detail] .building-alsoviewed-grid > .property-card .access-badge,
[data-building-detail] .building-recommended-grid > .property-card .status-badge,
[data-building-detail] .building-recommended-grid > .property-card .access-badge {
  font-size: 0.62rem !important;
  min-height: 1.82rem !important;
  padding: 0.36rem 0.52rem !important;
}
[data-building-detail] .building-alsoviewed-grid > .property-card .card-like-button,
[data-building-detail] .building-recommended-grid > .property-card .card-like-button {
  font-size: 0.62rem !important;
  min-height: 1.82rem !important;
  min-width: 70px !important;
}

@media (max-width: 1180px) {
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-grid,
  [data-building-detail] .building-recommended-grid.product-grid-view-grid,
  [data-building-detail] .building-alsoviewed-grid:not(.product-grid-view-list),
  [data-building-detail] .building-recommended-grid:not(.product-grid-view-list) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-grid,
  [data-building-detail] .building-recommended-grid.product-grid-view-grid,
  [data-building-detail] .building-alsoviewed-grid:not(.product-grid-view-list),
  [data-building-detail] .building-recommended-grid:not(.product-grid-view-list) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card {
    grid-template-columns: minmax(108px, 34%) minmax(0, 1fr) !important;
    min-height: 150px !important;
  }
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card > .card-image,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card > .card-image {
    min-height: 150px !important;
  }
}
@media (max-width: 520px) {
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-grid,
  [data-building-detail] .building-recommended-grid.product-grid-view-grid,
  [data-building-detail] .building-alsoviewed-grid:not(.product-grid-view-list),
  [data-building-detail] .building-recommended-grid:not(.product-grid-view-list) {
    grid-template-columns: 1fr !important;
  }
}

/* GAISAPP 2026-06-30 v6: the rail and each thumb button receive hover, but the
   thumb's inner image/label never do — so the whole button is one clean hover
   target and child nodes can't swallow the pointer mid-swap. */
[data-building-detail] .building-image-rail,
[data-building-detail] .building-image-thumb {
  pointer-events: auto !important;
}
[data-building-detail] .building-image-thumb img,
[data-building-detail] .building-image-thumb span {
  pointer-events: none !important;
}
[data-building-detail] .building-image-rail {
  z-index: 80 !important;
}
[data-building-detail] .building-image-thumb {
  touch-action: manipulation !important;
}

/* GAISAPP 2026-06-30 v5: related / おすすめ cards use the same compact master card sizing
   as luxury rental / luxury buying. Keep them smaller, balanced, and reusable. */
[data-building-detail] .building-alsoviewed-section .property-card,
[data-building-detail] .building-recommended-section .property-card {
  box-shadow: 0 16px 36px rgba(0, 0, 0, .14) !important;
}

/* Hide the disclaimer block in related cards to match the main listing cards. */
[data-building-detail] .building-alsoviewed-section .property-card-body > .small-disclaimer,
[data-building-detail] .building-recommended-section .property-card-body > .small-disclaimer {
  display: none !important;
}

/* Let the related cards inherit the compact listing rhythm. */
[data-building-detail] .building-alsoviewed-section .property-card .card-image,
[data-building-detail] .building-recommended-section .property-card .card-image {
  aspect-ratio: 1.44 / 1 !important;
}
[data-building-detail] .building-alsoviewed-section .property-card-body,
[data-building-detail] .building-recommended-section .property-card-body {
  padding: clamp(.9rem, 1.25vw, 1.12rem) !important;
}
[data-building-detail] .building-alsoviewed-section .property-card h3,
[data-building-detail] .building-recommended-section .property-card h3 {
  font-size: clamp(.94rem, 1.05vw, 1.08rem) !important;
  line-height: 1.12 !important;
  margin-bottom: .48rem !important;
  max-width: none !important;
}
[data-building-detail] .building-alsoviewed-section .property-card p,
[data-building-detail] .building-recommended-section .property-card p {
  font-size: .82rem !important;
  line-height: 1.45 !important;
  margin-bottom: .55rem !important;
  max-width: none !important;
}
[data-building-detail] .building-alsoviewed-section .property-card .price,
[data-building-detail] .building-alsoviewed-section .property-card .recommended-price,
[data-building-detail] .building-recommended-section .property-card .price,
[data-building-detail] .building-recommended-section .property-card .recommended-price {
  font-size: .92rem !important;
  font-weight: 850 !important;
}
[data-building-detail] .building-alsoviewed-section .property-card .tag,
[data-building-detail] .building-recommended-section .property-card .tag {
  font-size: .74rem !important;
}
[data-building-detail] .building-alsoviewed-section .property-card .area,
[data-building-detail] .building-recommended-section .property-card .area {
  font-size: .72rem !important;
}
[data-building-detail] .building-alsoviewed-section .property-card .process-info,
[data-building-detail] .building-recommended-section .property-card .process-info {
  margin-top: .1rem !important;
}
[data-building-detail] .building-alsoviewed-section .property-card .process-pill,
[data-building-detail] .building-alsoviewed-section .property-card .process-updated,
[data-building-detail] .building-recommended-section .property-card .process-pill,
[data-building-detail] .building-recommended-section .property-card .process-updated {
  font-size: .66rem !important;
  padding: .34rem .52rem !important;
}
[data-building-detail] .building-alsoviewed-section .property-card .property-card-actions,
[data-building-detail] .building-recommended-section .property-card .property-card-actions {
  gap: .38rem !important;
  margin-top: .58rem !important;
  padding-top: .4rem !important;
  width: 100% !important;
}
[data-building-detail] .building-alsoviewed-section .property-card .property-card-actions .card-action,
[data-building-detail] .building-recommended-section .property-card .property-card-actions .card-action {
  font-size: .74rem !important;
  min-height: 1.72rem !important;
}

/* Grid view: smaller reusable cards like buying/rental grids. */
[data-building-detail] .building-alsoviewed-grid.product-grid-view-grid,
[data-building-detail] .building-recommended-grid.product-grid-view-grid,
[data-building-detail] .building-alsoviewed-grid:not(.product-grid-view-list),
[data-building-detail] .building-recommended-grid:not(.product-grid-view-list) {
  gap: 16px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
[data-building-detail] .building-alsoviewed-grid.product-grid-view-grid > .property-card,
[data-building-detail] .building-recommended-grid.product-grid-view-grid > .property-card,
[data-building-detail] .building-alsoviewed-grid:not(.product-grid-view-list) > .property-card,
[data-building-detail] .building-recommended-grid:not(.product-grid-view-list) > .property-card {
  min-height: 0 !important;
}
[data-building-detail] .building-alsoviewed-grid.product-grid-view-grid > .property-card .card-image,
[data-building-detail] .building-recommended-grid.product-grid-view-grid > .property-card .card-image,
[data-building-detail] .building-alsoviewed-grid:not(.product-grid-view-list) > .property-card .card-image,
[data-building-detail] .building-recommended-grid:not(.product-grid-view-list) > .property-card .card-image {
  max-height: none !important;
}

/* List view: use the same compact two-column listing card structure. */
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card {
  grid-template-columns: minmax(150px, 22%) minmax(0, 1fr) !important;
  min-height: 168px !important;
}
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card > .card-image,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card > .card-image {
  min-height: 168px !important;
}
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-body,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-body {
  align-content: start !important;
  display: grid !important;
  gap: .42rem !important;
  padding: clamp(.9rem, 1.25vw, 1.12rem) !important;
}
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-body > *,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-body > * {
  margin-bottom: 0 !important;
  max-width: none !important;
}
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-actions,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-actions {
  align-self: end !important;
  margin-top: .35rem !important;
  width: 100% !important;
}

/* Compact badges in related sections. */
[data-building-detail] .building-alsoviewed-section .property-card .card-badge-stack,
[data-building-detail] .building-recommended-section .property-card .card-badge-stack {
  max-width: calc(100% - 116px) !important;
}
[data-building-detail] .building-alsoviewed-section .property-card .status-badge,
[data-building-detail] .building-alsoviewed-section .property-card .access-badge,
[data-building-detail] .building-recommended-section .property-card .status-badge,
[data-building-detail] .building-recommended-section .property-card .access-badge {
  font-size: .62rem !important;
  min-height: 1.76rem !important;
  padding: .34rem .5rem !important;
}
[data-building-detail] .building-alsoviewed-section .property-card .card-like-button,
[data-building-detail] .building-recommended-section .property-card .card-like-button {
  font-size: .62rem !important;
  min-height: 1.76rem !important;
  min-width: 68px !important;
}

@media (max-width: 1180px) {
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-grid,
  [data-building-detail] .building-recommended-grid.product-grid-view-grid,
  [data-building-detail] .building-alsoviewed-grid:not(.product-grid-view-list),
  [data-building-detail] .building-recommended-grid:not(.product-grid-view-list) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-grid,
  [data-building-detail] .building-recommended-grid.product-grid-view-grid,
  [data-building-detail] .building-alsoviewed-grid:not(.product-grid-view-list),
  [data-building-detail] .building-recommended-grid:not(.product-grid-view-list) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card {
    grid-template-columns: minmax(96px, 32%) minmax(0, 1fr) !important;
    min-height: 148px !important;
  }
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card > .card-image,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card > .card-image {
    min-height: 148px !important;
  }
}
@media (max-width: 520px) {
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-grid,
  [data-building-detail] .building-recommended-grid.product-grid-view-grid,
  [data-building-detail] .building-alsoviewed-grid:not(.product-grid-view-list),
  [data-building-detail] .building-recommended-grid:not(.product-grid-view-list) {
    grid-template-columns: 1fr !important;
  }
}

/* GAISAPP 2026-06-30 v5: hero thumbnail interaction must feel immediate.
   Child content should not steal the hover; the whole thumb is the hit area. */
.building-image-thumb,
.building-image-thumb img,
.building-image-thumb span {
  cursor: pointer;
}
.building-image-thumb img,
.building-image-thumb span {
  pointer-events: none !important;
}
[data-building-main-image] {
  transition: opacity 140ms ease;
}

/* GAISAPP 2026-06-30 v8: COMPACT PRODUCT PAGE.
   Scoped to product (building-detail) pages only — other pages keep their
   editorial scale. Goal: shorter, denser page; smaller section titles in a
   bright standout accent colour; tighter section rhythm and tighter cards. */

/* Tighter vertical rhythm — the biggest reason the page felt long. */
[data-building-detail] .section,
[data-building-detail] section.section {
  padding-top: clamp(1.9rem, 3vw, 3rem) !important;
  padding-bottom: clamp(1.9rem, 3vw, 3rem) !important;
}
[data-building-detail] .section-dark {
  padding-top: clamp(2.2rem, 3.4vw, 3.4rem) !important;
  padding-bottom: clamp(2.2rem, 3.4vw, 3.4rem) !important;
}

/* Smaller, brighter, tidier section headings. */
[data-building-detail] .split-heading {
  margin-bottom: clamp(0.8rem, 1.5vw, 1.2rem) !important;
  gap: clamp(0.7rem, 1.6vw, 1.6rem) !important;
  align-items: end !important;
}
[data-building-detail] .split-heading h2,
[data-building-detail] .section .split-heading h2 {
  font-size: clamp(1.25rem, 1.8vw, 1.85rem) !important;
  line-height: 1.12 !important;
  max-width: 20ch !important;
  color: #b08322 !important;            /* bright champagne-gold standout */
  letter-spacing: 0.005em;
}
[data-building-detail] .section-dark .split-heading h2 {
  color: #e9c476 !important;            /* brighter gold on the dark band */
}
[data-building-detail] .split-heading > p {
  font-size: clamp(0.82rem, 0.95vw, 0.95rem) !important;
  line-height: 1.45 !important;
  color: var(--luxury-gray) !important;
}
[data-building-detail] .eyebrow {
  font-size: 0.66rem !important;
  letter-spacing: 0.16em !important;
  color: #c19a3f !important;            /* bright gold eyebrow */
}

/* Compact hero title. */
[data-building-detail] .building-facts-panel h1,
[data-building-detail] .building-hero h1 {
  font-size: clamp(1.4rem, 2.2vw, 2.1rem) !important;
  line-height: 1.1 !important;
}

/* Denser discovery / comparable card grids. */
[data-building-detail] .building-recommended-grid,
[data-building-detail] .building-alsoviewed-grid {
  gap: 0.6rem !important;
}
[data-building-detail] .recommended-card .card-image,
[data-building-detail] .building-recommended-grid .property-card .card-image,
[data-building-detail] .building-alsoviewed-grid .property-card .card-image {
  max-height: 132px !important;
}
[data-building-detail] .recommended-card .property-card-body,
[data-building-detail] .building-recommended-grid .property-card-body,
[data-building-detail] .building-alsoviewed-grid .property-card-body {
  padding: 0.72rem !important;
  gap: 0.3rem !important;
}
[data-building-detail] .building-recommended-grid .property-card h3,
[data-building-detail] .building-alsoviewed-grid .property-card h3 {
  font-size: clamp(0.86rem, 1vw, 1rem) !important;
  line-height: 1.12 !important;
}
[data-building-detail] .building-recommended-grid .property-card p,
[data-building-detail] .building-alsoviewed-grid .property-card p {
  font-size: 0.78rem !important;
  line-height: 1.35 !important;
}
[data-building-detail] .building-recommended-grid .property-card .small-disclaimer,
[data-building-detail] .building-alsoviewed-grid .property-card .small-disclaimer {
  display: none !important;            /* keep related cards tight */
}

/* Tighter gallery, essentials, facts, decision grids. */
[data-building-detail] .building-gallery-grid,
[data-building-detail] .building-info-grid,
[data-building-detail] .product-essentials-grid,
[data-building-detail] .proof-chips {
  gap: 0.7rem !important;
}
[data-building-detail] .building-gallery-card img {
  max-height: 200px !important;
  object-fit: cover !important;
}
[data-building-detail] .decision-card {
  padding: clamp(0.9rem, 1.4vw, 1.2rem) !important;
}
[data-building-detail] .decision-card h3 {
  font-size: clamp(0.95rem, 1.1vw, 1.1rem) !important;
}
[data-building-detail] .decision-card p {
  font-size: 0.82rem !important;
  line-height: 1.4 !important;
}

/* GAISAPP 2026-07-01 v10: "Receive the full dossier" button + modal. */
.dossier-cta-wrap { margin-top: 0.6rem; }
.dossier-cta-detail { margin-top: 0.75rem; }
.dossier-request-btn {
  display: inline-flex; align-items: center; gap: 0.5rem; width: 100%;
  justify-content: center; text-align: center; cursor: pointer;
  padding: 0.66rem 0.9rem; border-radius: 999px;
  background: linear-gradient(180deg, #fffdf9, #f6efe1);
  color: #7c5a17; border: 1px solid rgba(182, 162, 124, 0.65);
  font-weight: 800; font-size: 0.78rem; letter-spacing: 0.01em; line-height: 1.15;
  box-shadow: 0 8px 22px rgba(124, 90, 23, 0.10);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}
.dossier-request-btn:hover, .dossier-request-btn:focus-visible {
  transform: translateY(-1px); border-color: rgba(160, 124, 44, 0.9);
  box-shadow: 0 14px 30px rgba(124, 90, 23, 0.18); outline: none;
  background: linear-gradient(180deg, #ffffff, #f2e7d1);
}
.dossier-btn-ico { font-size: 0.95rem; }
.dossier-cta-detail .dossier-request-btn { font-size: 0.82rem; padding: 0.8rem 1rem; }

body.dossier-modal-open { overflow: hidden; }
.dossier-modal { position: fixed; inset: 0; z-index: 1200; display: flex; align-items: center; justify-content: center; padding: 22px; }
.dossier-modal[hidden] { display: none; }
.dossier-backdrop { position: absolute; inset: 0; background: rgba(20, 16, 12, 0.55); backdrop-filter: blur(2px); }
.dossier-panel {
  position: relative; z-index: 1; width: min(560px, 100%); max-height: 92vh; overflow: auto;
  background: var(--luxury-white, #fcfaf6); border: 1px solid rgba(182, 162, 124, 0.4);
  border-radius: 24px; box-shadow: 0 30px 80px rgba(20, 16, 12, 0.4); padding: 26px 26px 22px;
}
.dossier-close { position: absolute; top: 12px; right: 14px; border: 0; background: transparent; font-size: 26px; line-height: 1; color: #8b8074; cursor: pointer; }
.dossier-panel h2 { margin: 0.15rem 0 0.4rem; font-size: 1.5rem; line-height: 1.1; }
.dossier-sub { color: var(--luxury-gray, #6f6a61); font-size: 0.85rem; line-height: 1.5; margin: 0 0 1rem; }
.dossier-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.dossier-field { display: flex; flex-direction: column; gap: 5px; font-weight: 700; font-size: 0.75rem; color: #3a342c; }
.dossier-field span { color: var(--luxury-gray, #6f6a61); font-weight: 500; }
.dossier-field.dossier-span { grid-column: 1 / -1; }
.dossier-field input, .dossier-field select, .dossier-field textarea {
  font: inherit; font-weight: 500; padding: 10px 12px; border: 1px solid rgba(120, 110, 95, 0.34);
  border-radius: 12px; background: #fff; color: #1c1a17;
}
.dossier-field textarea { resize: vertical; }
.dossier-submit { width: 100%; margin-top: 14px; }
.dossier-status { margin: 10px 0 0; color: #9b2f1e; font-size: 0.85rem; }
.dossier-done p { line-height: 1.55; margin: 0 0 0.6rem; color: #2a2620; }
.dossier-done p[lang="ja"] { color: var(--luxury-gray, #6f6a61); font-size: 0.92rem; }
@media (max-width: 560px) { .dossier-grid { grid-template-columns: 1fr; } }

/* GAISAPP 2026-07-01 v11: dossier auto-send confirmation (simulation) panel. */
.dossier-sim { text-align: left; }
.dossier-sim .ds-sim-note { background: #f3f8f2; border: 1px solid #cfe3cd; color: #2b6b3f; border-radius: 12px; padding: 8px 12px; font-size: 0.78rem; margin: 0 0 12px; }
.dossier-sim .ds-to { margin: 0 0 10px; color: var(--luxury-gray, #6f6a61); font-size: 0.85rem; }
.dossier-sim .ds-dossiers-title { font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; color: #b08322; font-weight: 800; margin: 0 0 6px; }
.dossier-sim .ds-dossiers { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.dossier-sim .ds-dossiers li { border: 1px solid rgba(182, 162, 124, 0.35); border-radius: 12px; padding: 9px 11px; background: #fffdf9; font-size: 0.85rem; }
.dossier-sim .ds-dossiers li span { color: var(--luxury-gray, #6f6a61); }
.dossier-sim .ds-dossiers li a { color: #7c5a17; word-break: break-all; }
.dossier-sim .ds-dossiers li em { color: var(--luxury-gray, #6f6a61); font-size: 0.75rem; }
.dossier-sim .ds-lang { font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; color: #b08322; font-weight: 800; margin: 12px 0 3px; }
.dossier-sim .ds-text { margin: 0; line-height: 1.55; color: #2a2620; font-size: 0.9rem; }

/* GAISAPP 2026-07-01 v12: dossier "email sent" card on the thank-you page. */
.dossier-sent-card { margin: 26px 0 0; max-width: 760px; background: #fffdf9; border: 1px solid rgba(182,162,124,0.5); border-radius: 20px; padding: 22px 24px; box-shadow: 0 22px 60px rgba(0,0,0,0.28); color: #1c1a17; }
.dossier-sent-card .ds-card-title { margin: 0 0 12px; font-weight: 800; font-size: 0.92rem; letter-spacing: 0.04em; color: #7c5a17; }
.dossier-sent-card .dossier-sim { text-align: left; }

/* v59 final QA: modal/drawer interactions must always take priority over quick-navigation controls. */
body.rc-open .floating-action-dock,
body.rq-open .floating-action-dock,
body.private-modal-open .floating-action-dock {
  display: none !important;
}

/* ============================================================
   GAISAPP v59.2 — property action row alignment hotfix
   Keep every action label visually centered regardless of whether the row
   has a left icon. Icons stay pinned left and the directional arrow stays
   pinned right, so dossier / request-list / map rows share one axis.
   ============================================================ */
.property-card-actions .card-action {
  position: relative !important;
  justify-content: center !important;
  text-align: center !important;
  padding-left: 2.7rem !important;
  padding-right: 2.7rem !important;
}

.property-card-actions .card-action::after {
  margin-left: 0 !important;
  position: absolute !important;
  right: 0.18rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

.property-card-actions .card-action:hover::after,
.property-card-actions .card-action:focus-visible::after {
  transform: translate(2px, -50%) !important;
}

.property-card-actions .card-action > span[aria-hidden="true"] {
  left: 0.18rem !important;
  margin: 0 !important;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

/* Buttons previously inherited a space-between alignment from older card CSS. */
.property-card-actions .button.card-action,
.property-card-actions button.card-action {
  justify-content: center !important;
}

/* Related-property list view uses the same centered action system. */
[data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-actions .card-action,
[data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-actions .card-action {
  justify-content: center !important;
  padding-left: 2.7rem !important;
  padding-right: 2.7rem !important;
}

@media (max-width: 760px) {
  .property-card-actions .card-action,
  [data-building-detail] .building-alsoviewed-grid.product-grid-view-list > .property-card .property-card-actions .card-action,
  [data-building-detail] .building-recommended-grid.product-grid-view-list > .property-card .property-card-actions .card-action {
    padding-left: 2.35rem !important;
    padding-right: 2.35rem !important;
  }

  .property-card-actions .card-action::after {
    right: 0.08rem !important;
  }

  .property-card-actions .card-action > span[aria-hidden="true"] {
    left: 0.08rem !important;
  }
}

/* ================================================================
   GAISAPP V61 — EDITORIAL RHYTHM SYSTEM (2026-07-11)
   Deliberate pacing by page chapter: compact → expansive → cinematic
   → dense → pause. This replaces uniform section padding without
   changing content, data, or component structure.
   ================================================================ */

/* HOME — 96 → 160 / compact → cinematic → dense → pause */
body.home-page #atbb-prime-rentals {
  padding-top: 96px;
  padding-bottom: 160px;
}
body.home-page .service-icon-section {
  padding-top: 80px;
  padding-bottom: 112px;
}
body.home-page main > .private-brief {
  padding-top: 160px;
  padding-bottom: 160px;
}
body.home-page #home-for-sale {
  padding-top: 112px;
  padding-bottom: 144px;
}
body.home-page #how-gaisapp-works {
  padding-top: 160px;
  padding-bottom: 160px;
}
body.home-page #newsletter {
  padding-top: 80px;
  padding-bottom: 96px;
}
body.home-page #client-questions {
  padding-top: 144px;
  padding-bottom: 112px;
}
body.home-page .pre-footer-cta {
  padding-top: 80px;
  padding-bottom: 80px;
}

/* Tight chapters should visually enter faster; wide chapters get a longer pause. */
body.home-page .service-icon-section .split-heading,
body.home-page #newsletter .split-heading {
  margin-bottom: 36px;
}
body.home-page #how-gaisapp-works .split-heading,
body.home-page #client-questions .split-heading {
  margin-bottom: 56px;
}

/* PROPERTIES — compressed entry, generous trust pause. */
body.properties-page .result-title {
  padding-top: 80px;
  padding-bottom: 48px;
}
body.properties-page #property-listings {
  padding-top: 96px;
  padding-bottom: 128px;
}
body.properties-page main > .section-dark {
  padding-top: 160px;
  padding-bottom: 144px;
}
body.properties-page .pre-footer-cta {
  padding-top: 80px;
  padding-bottom: 80px;
}

/* RENTAL — inventory first, relocation as a spacious editorial interlude. */
body.rental-page #selected-rentals {
  padding-top: 96px;
  padding-bottom: 144px;
}
body.rental-page #executive-relocation {
  padding-top: 160px;
  padding-bottom: 112px;
}
body.rental-page .rental-seo-content {
  padding-top: 80px;
  padding-bottom: 144px;
}
body.rental-page .rental-faq-block {
  padding-top: 112px;
  padding-bottom: 80px;
}
body.rental-page .pre-footer-cta {
  padding-top: 80px;
  padding-bottom: 80px;
}

/* ABOUT — evidence cadence: concise thesis → depth → wide proof → conclusion. */
body.about-page .trust-hero + .section {
  padding-top: 96px;
  padding-bottom: 160px;
}
body.about-page .about-depth {
  padding-top: 72px;
  padding-bottom: 112px;
}
body.about-page .about-depth + .muted-band {
  padding-top: 160px;
  padding-bottom: 160px;
}
body.about-page main > .section:nth-of-type(5) {
  padding-top: 96px;
  padding-bottom: 144px;
}
body.about-page .pre-footer-cta {
  padding-top: 80px;
  padding-bottom: 80px;
}

/* INVESTMENT — alternates dense analytical chapters with broad pauses. */
body.investment-page .investment-hero + .section {
  padding-top: 96px;
  padding-bottom: 144px;
}
body.investment-page main > .muted-band:nth-of-type(3) {
  padding-top: 160px;
  padding-bottom: 160px;
}
body.investment-page main > .section:nth-of-type(4) {
  padding-top: 80px;
  padding-bottom: 112px;
}
body.investment-page .mandate-depth {
  padding-top: 144px;
  padding-bottom: 144px;
}
body.investment-page .mandate-process {
  padding-top: 96px;
  padding-bottom: 128px;
}
body.investment-page .mandate-asset-types {
  padding-top: 160px;
  padding-bottom: 144px;
}
body.investment-page #disclaimer {
  padding-top: 144px;
  padding-bottom: 112px;
}
body.investment-page .pre-footer-cta {
  padding-top: 80px;
  padding-bottom: 80px;
}

/* SELL — strategic pacing: path → compressed strategy → cinematic valuation. */
body.sell-page #seller-path {
  padding-top: 96px;
  padding-bottom: 144px;
}
body.sell-page .seller-strategy {
  padding-top: 80px;
  padding-bottom: 160px;
}
body.sell-page .seller-valuation {
  padding-top: 160px;
  padding-bottom: 160px;
}
body.sell-page .seller-valuation + .muted-band {
  padding-top: 96px;
  padding-bottom: 128px;
}
body.sell-page .pre-footer-cta {
  padding-top: 80px;
  padding-bottom: 80px;
}

/* Consultation stays intentionally compact: one focused operational chapter. */
body.consultation-page .luxury-form-page {
  padding-top: 88px;
  padding-bottom: 104px;
}

@media (max-width: 760px) {
  body.home-page #atbb-prime-rentals { padding-top: 56px; padding-bottom: 88px; }
  body.home-page .service-icon-section { padding-top: 48px; padding-bottom: 72px; }
  body.home-page main > .private-brief { padding-top: 88px; padding-bottom: 88px; }
  body.home-page #home-for-sale { padding-top: 64px; padding-bottom: 80px; }
  body.home-page #how-gaisapp-works { padding-top: 88px; padding-bottom: 88px; }
  body.home-page #newsletter { padding-top: 48px; padding-bottom: 64px; }
  body.home-page #client-questions { padding-top: 72px; padding-bottom: 64px; }
  body.home-page .pre-footer-cta { padding-top: 64px; padding-bottom: 64px; }
  body.home-page .service-icon-section .split-heading,
  body.home-page #newsletter .split-heading { margin-bottom: 28px; }
  body.home-page #how-gaisapp-works .split-heading,
  body.home-page #client-questions .split-heading { margin-bottom: 40px; }

  body.properties-page .result-title { padding-top: 56px; padding-bottom: 32px; }
  body.properties-page #property-listings { padding-top: 56px; padding-bottom: 80px; }
  body.properties-page main > .section-dark { padding-top: 88px; padding-bottom: 80px; }
  body.properties-page .pre-footer-cta { padding-top: 64px; padding-bottom: 64px; }

  body.rental-page #selected-rentals { padding-top: 56px; padding-bottom: 80px; }
  body.rental-page #executive-relocation { padding-top: 88px; padding-bottom: 64px; }
  body.rental-page .rental-seo-content { padding-top: 48px; padding-bottom: 80px; }
  body.rental-page .rental-faq-block { padding-top: 72px; padding-bottom: 56px; }
  body.rental-page .pre-footer-cta { padding-top: 64px; padding-bottom: 64px; }

  body.about-page .trust-hero + .section { padding-top: 56px; padding-bottom: 88px; }
  body.about-page .about-depth { padding-top: 48px; padding-bottom: 64px; }
  body.about-page .about-depth + .muted-band { padding-top: 88px; padding-bottom: 88px; }
  body.about-page main > .section:nth-of-type(5) { padding-top: 56px; padding-bottom: 80px; }
  body.about-page .pre-footer-cta { padding-top: 64px; padding-bottom: 64px; }

  body.investment-page .investment-hero + .section { padding-top: 56px; padding-bottom: 80px; }
  body.investment-page main > .muted-band:nth-of-type(3) { padding-top: 88px; padding-bottom: 88px; }
  body.investment-page main > .section:nth-of-type(4) { padding-top: 48px; padding-bottom: 64px; }
  body.investment-page .mandate-depth { padding-top: 80px; padding-bottom: 80px; }
  body.investment-page .mandate-process { padding-top: 56px; padding-bottom: 72px; }
  body.investment-page .mandate-asset-types { padding-top: 88px; padding-bottom: 80px; }
  body.investment-page #disclaimer { padding-top: 80px; padding-bottom: 64px; }
  body.investment-page .pre-footer-cta { padding-top: 64px; padding-bottom: 64px; }

  body.sell-page #seller-path { padding-top: 56px; padding-bottom: 80px; }
  body.sell-page .seller-strategy { padding-top: 48px; padding-bottom: 88px; }
  body.sell-page .seller-valuation { padding-top: 88px; padding-bottom: 88px; }
  body.sell-page .seller-valuation + .muted-band { padding-top: 56px; padding-bottom: 72px; }
  body.sell-page .pre-footer-cta { padding-top: 64px; padding-bottom: 64px; }

  body.consultation-page .luxury-form-page { padding-top: 56px; padding-bottom: 72px; }
}

/* ================================================================
   V62 — Retina Image System + Context-Aware Crop Direction
   ================================================================ */
img[data-retina-enhanced="true"], img[srcset] {
  image-rendering: auto;
  object-position: var(--image-focal, 50% 50%);
}
.property-card img, .building-gallery-card img, .recommended-card img,
.map-property-card img, .building-hero-media img {
  background: #ece8e1;
}
img[data-image-kind="floorplan"], img[data-image-kind="map"], img[data-image-kind="document"] {
  object-fit: contain !important;
  object-position: center !important;
  background: #f2eee7 !important;
  padding: clamp(10px, 1.4vw, 22px);
  filter: none !important;
}
.building-hero-media img[data-image-kind="floorplan"],
.building-hero-media img[data-image-kind="document"] {
  padding: clamp(24px, 4vw, 64px);
  background: #eee9e0 !important;
}

/* V62: keep the long-form article header inside the 1440px editorial viewport. */
@media (min-width: 1181px) and (max-width: 1500px) {
  .article-page-body .site-header {
    gap: 0.7rem;
    padding-inline: clamp(1rem, 2vw, 2rem);
  }
  .article-page-body .site-nav { gap: 0.55rem; }
  .article-page-body .site-nav a {
    font-size: 0.68rem;
    letter-spacing: 0.06em;
  }
  .article-page-body .header-actions .button {
    padding-inline: 1rem;
  }
}

/* GAISAPP v64 — article action icon interaction states */
.share-dot {
  appearance: none;
  -webkit-appearance: none;
  padding: 0;
  font-family: inherit;
  line-height: 1;
  cursor: pointer;
  transition: transform .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease;
}
.share-dot:focus-visible {
  outline: 3px solid rgba(11, 70, 120, .24);
  outline-offset: 3px;
}
.share-dot:active,
.share-dot.is-feedback {
  transform: scale(.91);
}
.share-dot.is-saved {
  color: #8b1e2d;
  border-color: rgba(139, 30, 45, .42);
  background: #fff5f6;
}

/* V65 — explicit local-preview form confirmation and outbox */
.local-preview-confirmation {
  margin: 28px 0;
  padding: 22px;
  border: 1px solid rgba(181, 144, 82, .62);
  background: rgba(181, 144, 82, .09);
  text-align: left;
}
.local-preview-confirmation > strong {
  display: block;
  margin-bottom: 8px;
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.local-preview-confirmation p { margin: 8px 0; }
.local-preview-confirmation code {
  padding: 2px 6px;
  background: rgba(0, 0, 0, .08);
  overflow-wrap: anywhere;
}
.preview-outbox-shell {
  width: min(1100px, calc(100% - 32px));
  margin: 0 auto;
  padding: 120px 0 72px;
}
.preview-outbox-toolbar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 24px 0;
}
.preview-lead-list { display: grid; gap: 16px; }
.preview-lead-card {
  border: 1px solid var(--line, #d9d9d9);
  background: #fff;
  padding: 18px;
}
.preview-lead-card header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}
.preview-lead-card h2 { margin: 0; font-size: 1.1rem; }
.preview-lead-card small { color: #68707a; }
.preview-lead-card pre {
  max-height: 360px;
  overflow: auto;
  margin: 0;
  padding: 14px;
  background: #f5f5f3;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: .78rem;
  line-height: 1.55;
}
.preview-empty {
  padding: 32px;
  border: 1px dashed #bdbdbd;
  text-align: center;
}

/* ======================================================================
   GAISAPP V66 — PRODUCT FLOW CONSISTENCY
   Home area discovery → search results → residence cards → request flow
   ====================================================================== */

:root {
  --v66-ink: #191713;
  --v66-ink-soft: #2c2822;
  --v66-paper: #fbf8f2;
  --v66-paper-2: #f3eee5;
  --v66-gold: #a7854e;
  --v66-gold-light: #dfc793;
  --v66-line: rgba(151, 125, 82, .24);
  --v66-shadow: 0 24px 70px rgba(26, 21, 16, .12);
  --v66-shadow-hover: 0 32px 88px rgba(26, 21, 16, .19);
}

/* One visual grammar for every residence card. */
body.v66-product-system .property-card,
body.v66-product-system .recommended-card {
  border: 1px solid var(--v66-line) !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(248,243,234,.98)) !important;
  box-shadow: 0 16px 44px rgba(26,21,16,.08) !important;
  overflow: hidden !important;
  isolation: isolate;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
}
body.v66-product-system .property-card:hover,
body.v66-product-system .recommended-card:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(167,133,78,.54) !important;
  box-shadow: var(--v66-shadow-hover) !important;
}
body.v66-product-system .property-card .card-image,
body.v66-product-system .recommended-card .card-image {
  aspect-ratio: 4 / 3 !important;
  min-height: 0;
  background: #d8d0c4;
  box-shadow: none !important;
  overflow: hidden;
}
body.v66-product-system .property-card .card-image img,
body.v66-product-system .recommended-card .card-image img {
  filter: saturate(.9) contrast(1.04) brightness(.96);
}
body.v66-product-system .property-card:hover .card-image img,
body.v66-product-system .recommended-card:hover .card-image img {
  filter: saturate(.98) contrast(1.08) brightness(.99);
}
body.v66-product-system .property-card-body,
body.v66-product-system .recommended-card-body {
  padding: 1.15rem 1.18rem 1.2rem !important;
  gap: 0;
}
body.v66-product-system .property-card-body > .tag,
body.v66-product-system .recommended-card-body > .tag {
  color: #8a6c3b;
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .14em;
  line-height: 1.35;
  margin: 0 0 .42rem !important;
}
body.v66-product-system .property-card-body > .area,
body.v66-product-system .recommended-card-body > .area {
  color: rgba(36,31,25,.62);
  display: block;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .045em;
  line-height: 1.45;
  margin: 0 0 .65rem !important;
  text-transform: none;
}
body.v66-product-system .property-card h3,
body.v66-product-system .recommended-card h3 {
  color: var(--v66-ink);
  font-family: var(--serif, "Playfair Display", Georgia, serif);
  font-size: clamp(1.12rem, 1.3vw, 1.38rem) !important;
  letter-spacing: -.025em !important;
  line-height: 1.12 !important;
  margin: 0 0 .72rem !important;
  max-width: none !important;
  min-height: 0 !important;
  text-wrap: balance;
}
body.v66-product-system .property-card-body > p:not(.tag):not(.area):not(.price):not(.card-price):not(.recommended-price):not(.small-disclaimer):not(.card-yield),
body.v66-product-system .recommended-card-body > p:not(.tag):not(.area):not(.price):not(.card-price):not(.recommended-price):not(.small-disclaimer):not(.card-yield) {
  color: rgba(45,40,34,.72);
  font-size: .86rem !important;
  line-height: 1.58 !important;
  margin: 0 0 .72rem !important;
}
body.v66-product-system .property-card .price,
body.v66-product-system .property-card .card-price,
body.v66-product-system .recommended-card .price,
body.v66-product-system .recommended-card .recommended-price {
  color: #2a2117;
  font-family: var(--sans, Inter, sans-serif);
  font-size: 1.02rem !important;
  font-weight: 850;
  letter-spacing: -.015em;
  margin: .1rem 0 .72rem !important;
}
body.v66-product-system .property-card .small-disclaimer,
body.v66-product-system .recommended-card .small-disclaimer {
  display: none !important;
}
body.v66-product-system .v66-card-specs {
  display: flex;
  flex-wrap: wrap;
  gap: .38rem;
  margin: 0 0 .72rem;
}
body.v66-product-system .v66-card-specs span {
  align-items: center;
  background: rgba(167,133,78,.08);
  border: 1px solid rgba(167,133,78,.18);
  border-radius: 999px;
  color: #695334;
  display: inline-flex;
  font-size: .66rem;
  font-weight: 800;
  gap: .32rem;
  letter-spacing: .035em;
  min-height: 1.75rem;
  padding: .28rem .56rem;
}
body.v66-product-system .v66-card-specs svg {
  height: .9rem;
  width: .9rem;
}
body.v66-product-system .property-card-actions {
  border-top: 1px solid rgba(151,125,82,.16);
  display: grid !important;
  gap: .36rem !important;
  margin-top: auto !important;
  padding-top: .72rem !important;
}
body.v66-product-system .property-card-actions .card-action {
  border: 0 !important;
  border-radius: 10px !important;
  color: #5a472d !important;
  font-size: .7rem !important;
  letter-spacing: .085em !important;
  min-height: 2.25rem !important;
  padding: .48rem .58rem !important;
}
body.v66-product-system .property-card-actions .card-action:hover,
body.v66-product-system .property-card-actions .card-action:focus-visible {
  background: rgba(167,133,78,.11) !important;
  color: #261f17 !important;
}
body.v66-product-system .private-teaser-card {
  background: linear-gradient(180deg, #201d18, #2b261f) !important;
  border-color: rgba(223,199,147,.27) !important;
}
body.v66-product-system .private-teaser-card .card-image::after {
  background: linear-gradient(180deg, rgba(17,15,12,.08), rgba(17,15,12,.55)) !important;
}
body.v66-product-system .private-teaser-card .property-card-body > .tag,
body.v66-product-system .private-teaser-card .property-card-body > .area,
body.v66-product-system .private-teaser-card .property-card-body > p,
body.v66-product-system .private-teaser-card .property-card-body > .price,
body.v66-product-system .private-teaser-card .property-card-body > h3 {
  color: rgba(255,248,234,.92) !important;
}
body.v66-product-system .private-teaser-card .property-card-body > .tag {
  color: var(--v66-gold-light) !important;
}
body.v66-product-system .private-teaser-card .private-teaser-facts span,
body.v66-product-system .private-teaser-card .v66-card-specs span {
  background: rgba(223,199,147,.1);
  border-color: rgba(223,199,147,.24);
  color: #f0dcaf;
}
body.v66-product-system .private-teaser-card .property-card-actions {
  border-top-color: rgba(223,199,147,.18);
}
body.v66-product-system .private-teaser-card .property-card-actions .card-action {
  color: #edd8aa !important;
}

/* Home: area discovery now looks like the same premium product family. */
body.v66-product-system .prime-area-panel {
  margin-top: clamp(2.6rem, 5vw, 5rem);
}
body.v66-product-system .prime-area-heading {
  margin-bottom: 1.35rem;
}
body.v66-product-system .prime-area-grid {
  display: grid !important;
  gap: 1rem !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
body.v66-product-system .prime-area-card {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,243,234,.98)) !important;
  border: 1px solid var(--v66-line) !important;
  border-radius: 20px !important;
  box-shadow: 0 15px 42px rgba(26,21,16,.08) !important;
  display: flex !important;
  flex-direction: column;
  min-height: 100% !important;
  overflow: hidden;
  padding: 0 !important;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
body.v66-product-system .prime-area-card:hover {
  border-color: rgba(167,133,78,.54) !important;
  box-shadow: var(--v66-shadow-hover) !important;
  transform: translateY(-5px);
}
body.v66-product-system .prime-area-card-media {
  aspect-ratio: 16 / 8.8;
  background: #d8d0c4;
  margin: 0;
  overflow: hidden;
  position: relative;
}
body.v66-product-system .prime-area-card-media::after {
  background: linear-gradient(180deg, rgba(18,16,13,.02), rgba(18,16,13,.42));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}
body.v66-product-system .prime-area-card-media img {
  height: 100%;
  object-fit: cover;
  transition: transform .55s ease, filter .55s ease;
  width: 100%;
}
body.v66-product-system .prime-area-card:hover .prime-area-card-media img {
  filter: saturate(1.02) contrast(1.06);
  transform: scale(1.035);
}
body.v66-product-system .prime-area-card-top,
body.v66-product-system .prime-area-card > h3,
body.v66-product-system .prime-area-card > p,
body.v66-product-system .prime-area-card > .text-link {
  margin-left: 1.15rem;
  margin-right: 1.15rem;
}
body.v66-product-system .prime-area-card-top {
  align-items: center;
  margin-top: 1.05rem;
}
body.v66-product-system .prime-area-card-top > span {
  color: #8a6c3b;
}
body.v66-product-system .prime-area-card .area-actions a {
  border-radius: 999px;
  min-height: 1.95rem;
  min-width: 3.35rem;
}
body.v66-product-system .prime-area-card > h3 {
  font-family: var(--serif, "Playfair Display", Georgia, serif);
  font-size: clamp(1.34rem, 1.8vw, 1.72rem) !important;
  letter-spacing: -.03em;
  line-height: 1.06;
  margin-bottom: .66rem;
  max-width: 16ch;
}
body.v66-product-system .prime-area-card > p {
  color: rgba(45,40,34,.7);
  font-size: .88rem;
  line-height: 1.58;
  margin-bottom: 1rem;
}
body.v66-product-system .prime-area-card > .text-link {
  align-items: center;
  border-top: 1px solid rgba(151,125,82,.18);
  color: #6d5533;
  display: flex;
  font-size: .72rem;
  font-weight: 900;
  justify-content: space-between;
  letter-spacing: .09em;
  margin-top: auto;
  padding: .9rem 0 1.05rem;
  text-transform: uppercase;
}
body.v66-product-system .prime-area-card > .text-link::after {
  content: "→";
  font-size: 1rem;
}

/* Search result stage: same editorial language as GAISAPP's main pages. */
body.properties-page.v66-product-system {
  background: #f5f0e7;
}
body.properties-page.v66-product-system .result-title {
  background:
    linear-gradient(105deg, rgba(14,13,11,.94) 0%, rgba(20,18,15,.82) 54%, rgba(20,18,15,.42) 100%),
    url("assets/stock-premium/tokyo-tower-dusk-panorama.webp") center 46% / cover no-repeat;
  color: #fff8ec;
  margin: 0;
  max-width: none;
  min-height: clamp(480px, 58vw, 680px);
  overflow: hidden;
  padding: clamp(7rem, 10vw, 10rem) clamp(1.5rem, 7vw, 7rem) clamp(4rem, 7vw, 6.5rem);
  position: relative;
  text-align: left;
}
body.properties-page.v66-product-system .result-title::after {
  background: linear-gradient(180deg, transparent 72%, rgba(11,10,8,.68));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}
body.properties-page.v66-product-system .result-title > * {
  margin-left: 0;
  margin-right: 0;
  max-width: 800px;
  position: relative;
  z-index: 1;
}
body.properties-page.v66-product-system .result-title .eyebrow {
  color: var(--v66-gold-light);
  margin-bottom: .8rem;
}
body.properties-page.v66-product-system .result-title h1 {
  color: #fffaf0;
  font-size: clamp(2.9rem, 5.6vw, 6.25rem);
  letter-spacing: -.055em;
  line-height: .94;
  max-width: 10.5ch;
  text-wrap: balance;
}
body.properties-page.v66-product-system .result-title .lead {
  color: rgba(255,248,234,.78);
  font-size: clamp(1rem, 1.28vw, 1.16rem);
  line-height: 1.68;
  max-width: 690px;
}
body.properties-page.v66-product-system .result-title .hero-actions {
  justify-content: flex-start;
  margin-top: 1.35rem;
}
body.properties-page.v66-product-system .result-title .button-primary {
  background: #e2ca98;
  border-color: #e2ca98;
  color: #211b13;
}
body.properties-page.v66-product-system .result-title .button-secondary {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,244,219,.34);
  color: #fff4dc;
}
body.properties-page.v66-product-system .search-brief-summary {
  background: rgba(28,24,19,.56);
  border: 1px solid rgba(223,199,147,.34);
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.18);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 1.5rem 0 .2rem;
  max-width: 900px;
  overflow: hidden;
  padding: 0;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
body.properties-page.v66-product-system .search-brief-summary[hidden] {
  display: none !important;
}
body.properties-page.v66-product-system .search-brief-summary span {
  background: transparent;
  border: 0;
  border-right: 1px solid rgba(223,199,147,.2);
  min-height: 86px;
  padding: .9rem 1rem;
}
body.properties-page.v66-product-system .search-brief-summary span:last-child {
  border-right: 0;
}
body.properties-page.v66-product-system .search-brief-summary strong {
  color: #d8bc83;
  font-size: .61rem;
}
body.properties-page.v66-product-system .search-brief-summary em {
  color: #fff8ea;
  font-size: .83rem;
  line-height: 1.35;
}
body.properties-page.v66-product-system .results-band {
  background:
    radial-gradient(circle at 85% 0%, rgba(167,133,78,.09), transparent 24%),
    linear-gradient(180deg, #f6f1e8, #eee6da);
  border: 0;
  padding: clamp(3rem, 5vw, 5rem) clamp(1rem, 4.5vw, 4.5rem) clamp(5rem, 7vw, 7rem);
}
body.properties-page.v66-product-system .results-band > * {
  max-width: 1380px;
}
body.properties-page.v66-product-system .v66-results-intro {
  align-items: end;
  display: grid;
  gap: 1.2rem 3rem;
  grid-template-columns: minmax(0,1fr) auto;
  margin-bottom: 1.1rem;
}
body.properties-page.v66-product-system .v66-results-intro .eyebrow {
  margin-bottom: .45rem;
}
body.properties-page.v66-product-system .v66-results-intro h2 {
  color: var(--v66-ink);
  font-size: clamp(1.75rem, 3vw, 3.15rem);
  letter-spacing: -.04em;
  line-height: 1.02;
  margin: 0;
}
body.properties-page.v66-product-system .v66-results-intro p {
  color: rgba(45,40,34,.64);
  margin: .55rem 0 0;
  max-width: 660px;
}
body.properties-page.v66-product-system .v66-collection-tabs {
  align-items: center;
  background: rgba(255,255,255,.72);
  border: 1px solid var(--v66-line);
  border-radius: 999px;
  display: inline-flex;
  gap: .2rem;
  padding: .28rem;
}
body.properties-page.v66-product-system .v66-collection-tabs button {
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: rgba(47,40,31,.62);
  cursor: pointer;
  font: 800 .68rem/1 var(--sans, Inter, sans-serif);
  letter-spacing: .06em;
  min-height: 2.3rem;
  padding: .68rem .9rem;
  text-transform: uppercase;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}
body.properties-page.v66-product-system .v66-collection-tabs button:hover,
body.properties-page.v66-product-system .v66-collection-tabs button.is-active {
  background: #221e18;
  box-shadow: 0 8px 20px rgba(25,21,16,.14);
  color: #f5dfb5;
}
body.properties-page.v66-product-system .results-filter-panel,
body.properties-page.v66-product-system .results-filter-panel[hidden] {
  align-items: end;
  background: rgba(255,255,255,.82) !important;
  border: 1px solid var(--v66-line) !important;
  border-radius: 18px;
  box-shadow: 0 14px 38px rgba(26,21,16,.07);
  display: grid !important;
  gap: .7rem;
  grid-template-columns: repeat(6, minmax(125px,1fr)) auto;
  margin: 0 0 .82rem;
  padding: .9rem;
  position: relative;
  z-index: 10;
}
body.properties-page.v66-product-system .results-filter-panel label {
  color: #725b38;
  font-size: .59rem;
  letter-spacing: .1em;
}
body.properties-page.v66-product-system .results-filter-panel .rf-label {
  margin-bottom: .32rem;
}
body.properties-page.v66-product-system .results-filter-panel .rf-ico {
  height: 1rem;
  width: 1rem;
}
body.properties-page.v66-product-system .results-filter-panel select {
  background: #fcfaf6;
  border: 1px solid rgba(151,125,82,.22);
  border-radius: 10px;
  color: #2f2921;
  font-size: .78rem;
  min-height: 2.65rem;
  padding: 0 .72rem;
}
body.properties-page.v66-product-system .results-filter-panel .button {
  border-radius: 10px;
  min-height: 2.65rem;
  padding-inline: .9rem;
}
body.properties-page.v66-product-system .results-count {
  color: #725a36;
  display: block;
  margin: 0 0 1.05rem;
  text-align: right;
}
body.properties-page.v66-product-system .results-property-grid,
body.properties-page.v66-product-system [data-product-sortable="1"].results-property-grid.product-grid-view-grid {
  display: grid !important;
  gap: 1rem !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
body.properties-page.v66-product-system .results-property-grid .property-card {
  min-width: 0;
}
body.properties-page.v66-product-system .results-empty {
  background:
    linear-gradient(105deg, rgba(24,21,17,.95), rgba(37,31,24,.88)),
    url("assets/kiji/tokyo-international-neighborhood-life.jpg") center / cover;
  border: 1px solid rgba(223,199,147,.26);
  border-radius: 22px;
  color: rgba(255,248,234,.78);
  margin: 1rem 0 0;
  min-height: 260px;
  padding: clamp(2rem, 5vw, 4rem);
}
body.properties-page.v66-product-system .results-empty[hidden] {
  display: none !important;
}
body.properties-page.v66-product-system .results-empty strong {
  color: #fff8ea;
  display: block;
  font-family: var(--serif, "Playfair Display", Georgia, serif);
  font-size: clamp(1.8rem, 3vw, 3rem);
  letter-spacing: -.035em;
  line-height: 1.04;
  margin-bottom: .7rem;
}
body.properties-page.v66-product-system .results-empty a {
  margin-top: 1rem;
}

/* A coherent premium request drawer and qualified request modal. */
body.v66-product-system .request-cart-button,
body.v66-product-system .request-cart-button.has-items {
  background: rgba(26,22,17,.96);
  border: 1px solid rgba(223,199,147,.48);
  box-shadow: 0 18px 48px rgba(0,0,0,.28);
  color: #f1ddaf;
  min-height: 3.2rem;
  padding: .78rem 1rem;
  backdrop-filter: blur(12px);
}
body.v66-product-system .request-cart-drawer {
  background: linear-gradient(180deg, #faf7f0, #eee7db);
  border-left: 1px solid rgba(167,133,78,.24);
  width: min(460px, 94vw);
}
body.v66-product-system .request-cart-drawer .rc-head {
  background: #1f1b16;
  border-bottom-color: rgba(223,199,147,.2);
  color: #fff7e7;
  padding: 1.35rem 1.4rem;
}
body.v66-product-system .request-cart-drawer .rc-head h2,
body.v66-product-system .request-cart-drawer .rc-close {
  color: #fff7e7;
}
body.v66-product-system .rc-item {
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(151,125,82,.17);
  border-radius: 14px;
  margin-bottom: .65rem;
  padding: .72rem;
}
body.v66-product-system .rc-item img {
  border-radius: 10px;
  height: 64px;
  width: 82px;
}
body.v66-product-system .qualified-request-backdrop {
  background: rgba(12,10,8,.74);
  backdrop-filter: blur(12px);
}
body.v66-product-system .qualified-request-modal {
  background: linear-gradient(180deg, #fbf8f1, #eee7db);
  border: 1px solid rgba(223,199,147,.32);
  border-radius: 24px;
  box-shadow: 0 40px 110px rgba(0,0,0,.42);
  max-height: min(94vh, 1020px);
  padding: 0;
  width: min(1080px, 100%);
}
body.v66-product-system .rq-head {
  background:
    linear-gradient(105deg, rgba(21,18,14,.96), rgba(43,35,26,.9)),
    url("assets/stock-premium/luxury-residence-kitchen.webp") center / cover;
  border-bottom: 1px solid rgba(223,199,147,.22);
  color: #fff7e7;
  margin: 0;
  min-height: 185px;
  padding: clamp(1.55rem, 3vw, 2.4rem);
}
body.v66-product-system .rq-head h2 {
  color: #fffaf0;
  font-size: clamp(2.1rem, 4vw, 4rem);
  max-width: 12ch;
}
body.v66-product-system .rq-head p {
  color: rgba(255,247,231,.74);
  font-size: .95rem;
}
body.v66-product-system .rq-close {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,244,219,.28);
  color: #fff7e7;
}
body.v66-product-system .qualified-request-form {
  gap: 1rem;
  padding: clamp(1.15rem, 2.5vw, 2rem);
}
body.v66-product-system .rq-selected {
  background: rgba(255,255,255,.7);
  border-color: rgba(151,125,82,.2);
  border-radius: 16px;
  margin-bottom: 0;
}
body.v66-product-system .rq-type-toggle {
  background: rgba(255,255,255,.58);
  border: 1px solid rgba(151,125,82,.18);
  border-radius: 999px;
  display: inline-flex;
  margin: 0;
  padding: .3rem;
  width: max-content;
}
body.v66-product-system .rq-type-toggle button {
  background: transparent;
  border: 0;
  min-width: 110px;
  padding: .72rem 1rem;
}
body.v66-product-system .rq-type-toggle button.is-active {
  background: #231e18;
  box-shadow: 0 8px 22px rgba(25,21,16,.16);
  color: #f3dfb5;
}
body.v66-product-system .rq-grid {
  background: rgba(255,255,255,.62);
  border-color: rgba(151,125,82,.19);
  border-radius: 16px;
  gap: .85rem;
  padding: 1rem;
}
body.v66-product-system .rq-grid label {
  color: #3b3329;
  font-size: .79rem;
}
body.v66-product-system .rq-grid input,
body.v66-product-system .rq-grid select,
body.v66-product-system .rq-grid textarea {
  background: #fdfbf7;
  border-color: rgba(151,125,82,.24);
  border-radius: 10px;
  min-height: 2.8rem;
}
body.v66-product-system .rq-consent {
  background: rgba(255,255,255,.58);
  border-color: rgba(151,125,82,.19);
  border-radius: 14px;
}
body.v66-product-system .rq-actions {
  border-top: 1px solid rgba(151,125,82,.18);
  padding-top: 1rem;
}
body.v66-product-system .rq-actions .button-primary {
  background: #211d17;
  border-color: #211d17;
  color: #f1ddb2;
}

@media (max-width: 1180px) {
  body.v66-product-system .prime-area-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  body.properties-page.v66-product-system .results-filter-panel,
  body.properties-page.v66-product-system .results-filter-panel[hidden] {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
  body.properties-page.v66-product-system .results-filter-panel .button {
    grid-column: span 3;
  }
}
@media (max-width: 980px) {
  body.properties-page.v66-product-system .search-brief-summary {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  body.properties-page.v66-product-system .search-brief-summary span:nth-child(2) {
    border-right: 0;
  }
  body.properties-page.v66-product-system .search-brief-summary span:nth-child(-n+2) {
    border-bottom: 1px solid rgba(223,199,147,.2);
  }
  body.properties-page.v66-product-system .results-property-grid,
  body.properties-page.v66-product-system [data-product-sortable="1"].results-property-grid.product-grid-view-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  body.properties-page.v66-product-system .v66-results-intro {
    align-items: start;
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  body.v66-product-system .prime-area-grid {
    grid-template-columns: 1fr !important;
  }
  body.v66-product-system .prime-area-card-media {
    aspect-ratio: 16 / 9;
  }
  body.properties-page.v66-product-system .result-title {
    min-height: 560px;
    padding: 7rem 1rem 3rem;
  }
  body.properties-page.v66-product-system .result-title h1 {
    font-size: clamp(2.45rem, 12vw, 4.4rem);
  }
  body.properties-page.v66-product-system .search-brief-summary {
    grid-template-columns: 1fr;
  }
  body.properties-page.v66-product-system .search-brief-summary span,
  body.properties-page.v66-product-system .search-brief-summary span:nth-child(2) {
    border-bottom: 1px solid rgba(223,199,147,.2);
    border-right: 0;
    min-height: 68px;
  }
  body.properties-page.v66-product-system .search-brief-summary span:last-child {
    border-bottom: 0;
  }
  body.properties-page.v66-product-system .results-band {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  body.properties-page.v66-product-system .v66-collection-tabs {
    border-radius: 16px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    width: 100%;
  }
  body.properties-page.v66-product-system .results-filter-panel,
  body.properties-page.v66-product-system .results-filter-panel[hidden] {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  body.properties-page.v66-product-system .results-filter-panel .button {
    grid-column: 1 / -1;
  }
  body.properties-page.v66-product-system .results-property-grid,
  body.properties-page.v66-product-system [data-product-sortable="1"].results-property-grid.product-grid-view-grid {
    grid-template-columns: 1fr !important;
  }
  body.properties-page.v66-product-system .results-count {
    text-align: left;
  }
  body.v66-product-system .qualified-request-shell {
    padding: 0;
  }
  body.v66-product-system .qualified-request-modal {
    border-radius: 22px 22px 0 0;
    max-height: 96vh;
  }
  body.v66-product-system .rq-head {
    min-height: 155px;
    padding: 1.35rem 1rem;
  }
  body.v66-product-system .rq-head h2 {
    font-size: clamp(2rem, 10vw, 3rem);
  }
  body.v66-product-system .qualified-request-form {
    padding: 1rem;
  }
  body.v66-product-system .rq-type-toggle {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    width: 100%;
  }
}

/* V66 HOME CONTRAST HOTFIX — 2026-07-15
   Keep text readable wherever the Home page places controls or metadata on dark surfaces. */
body.home-page.v66-product-system .private-teaser-card .property-spec-row span {
  background: rgba(223, 199, 147, 0.12) !important;
  border-color: rgba(223, 199, 147, 0.34) !important;
  color: #f2dfb4 !important;
}

body.home-page.v66-product-system .private-teaser-card .property-spec-row span svg {
  color: inherit !important;
  stroke: currentColor !important;
}

body.home-page .private-brief .home-brief-actions .button-secondary {
  background: rgba(252, 250, 246, 0.09) !important;
  border-color: rgba(252, 250, 246, 0.62) !important;
  color: #fcfaf6 !important;
}

body.home-page .private-brief .home-brief-actions .button-secondary:hover,
body.home-page .private-brief .home-brief-actions .button-secondary:focus-visible {
  background: #fcfaf6 !important;
  border-color: #fcfaf6 !important;
  color: #111111 !important;
}

body.home-page .private-brief .eyebrow {
  color: #c9a967 !important;
}

body.home-page .site-footer .footer-license,
body.home-page .site-footer .legal-note {
  color: rgba(252, 250, 246, 0.78) !important;
}


/* GAISAPP V66 — DIRECT LISTING FLOW + COMPACT STICKY FILTER (2026-07-15) */
body.properties-page.v66-product-system .result-title {
  background: #1c1915;
  min-height: 0;
  padding: 1.05rem clamp(1rem, 4.5vw, 4.5rem) .9rem;
}
body.properties-page.v66-product-system .result-title::after {
  display: none;
}
body.properties-page.v66-product-system .result-title > * {
  max-width: 1380px;
}
body.properties-page.v66-product-system .result-title .eyebrow,
body.properties-page.v66-product-system .result-title .lead,
body.properties-page.v66-product-system .result-title .hero-actions {
  display: none !important;
}
body.properties-page.v66-product-system .result-title h1 {
  font-family: var(--sans, Inter, sans-serif);
  font-size: clamp(1.16rem, 2vw, 1.7rem);
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.15;
  max-width: none;
  margin: 0;
}
body.properties-page.v66-product-system .search-brief-summary {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: flex;
  flex-wrap: wrap;
  gap: .32rem;
  margin: .55rem 0 0;
  max-width: none;
  overflow: visible;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.properties-page.v66-product-system .search-brief-summary span,
body.properties-page.v66-product-system .search-brief-summary span:nth-child(-n+2) {
  align-items: center;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(223,199,147,.17);
  border-radius: 999px;
  display: inline-flex;
  gap: .35rem;
  min-height: 0;
  padding: .34rem .58rem;
}
body.properties-page.v66-product-system .search-brief-summary strong {
  font-size: .48rem;
  letter-spacing: .08em;
}
body.properties-page.v66-product-system .search-brief-summary em {
  font-size: .68rem;
  line-height: 1.1;
}
body.properties-page.v66-product-system .results-band {
  padding: .72rem clamp(.75rem, 3vw, 2.5rem) clamp(4rem, 6vw, 6rem);
  scroll-margin-top: var(--v66-results-sticky-top, 74px);
}
body.properties-page.v66-product-system .v66-results-intro {
  display: none !important;
}
body.properties-page.v66-product-system .results-filter-panel,
body.properties-page.v66-product-system .results-filter-panel[hidden] {
  align-items: end;
  background: rgba(250,247,240,.94) !important;
  border-radius: 13px;
  box-shadow: 0 10px 28px rgba(26,21,16,.11);
  display: flex !important;
  gap: .38rem;
  margin: 0 0 .55rem;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  padding: .46rem .5rem .5rem;
  position: sticky;
  scrollbar-width: thin;
  top: var(--v66-results-sticky-top, 74px);
  z-index: 42;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
body.properties-page.v66-product-system .results-filter-panel label {
  flex: 1 0 108px;
  min-width: 108px;
}
body.properties-page.v66-product-system .results-filter-panel label:nth-child(2) {
  flex-basis: 132px;
  min-width: 132px;
}
body.properties-page.v66-product-system .results-filter-panel label:nth-child(3) {
  flex-basis: 195px;
  min-width: 195px;
}
body.properties-page.v66-product-system .results-filter-panel label:nth-child(4) {
  flex-basis: 142px;
  min-width: 142px;
}
body.properties-page.v66-product-system .results-filter-panel label:nth-child(5) {
  flex-basis: 138px;
  min-width: 138px;
}
body.properties-page.v66-product-system .results-filter-panel label:nth-child(6) {
  flex-basis: 165px;
  min-width: 165px;
}
body.properties-page.v66-product-system .results-filter-panel .rf-label {
  align-items: center;
  display: flex;
  font-size: .48rem;
  gap: .18rem;
  letter-spacing: .075em;
  margin: 0 0 .18rem .08rem;
  white-space: nowrap;
}
body.properties-page.v66-product-system .results-filter-panel .rf-ico {
  height: .72rem;
  width: .72rem;
}
body.properties-page.v66-product-system .results-filter-panel select {
  border-radius: 8px;
  font-size: .7rem;
  min-height: 2.08rem;
  padding: 0 1.55rem 0 .55rem;
  width: 100%;
}
body.properties-page.v66-product-system .results-filter-panel .button {
  flex: 0 0 auto;
  font-size: .61rem;
  min-height: 2.08rem;
  padding: .52rem .7rem;
  white-space: nowrap;
}
body.properties-page.v66-product-system .results-count {
  font-size: .69rem;
  margin: 0 0 .52rem;
}
@media (max-width: 760px) {
  body.properties-page.v66-product-system .result-title {
    min-height: 0;
    padding: .78rem 1rem .7rem;
  }
  body.properties-page.v66-product-system .result-title h1 {
    font-size: 1.08rem;
  }
  body.properties-page.v66-product-system .search-brief-summary {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: .12rem;
  }
  body.properties-page.v66-product-system .search-brief-summary span,
  body.properties-page.v66-product-system .search-brief-summary span:nth-child(2),
  body.properties-page.v66-product-system .search-brief-summary span:nth-child(-n+2) {
    border: 1px solid rgba(223,199,147,.17);
    flex: 0 0 auto;
    min-height: 0;
  }
  body.properties-page.v66-product-system .results-band {
    padding: .5rem .55rem 4rem;
  }
  body.properties-page.v66-product-system .results-filter-panel,
  body.properties-page.v66-product-system .results-filter-panel[hidden] {
    border-radius: 11px;
    gap: .3rem;
    margin-bottom: .42rem;
    padding: .38rem .4rem .42rem;
  }
  body.properties-page.v66-product-system .results-filter-panel label {
    flex-basis: 104px;
    min-width: 104px;
  }
  body.properties-page.v66-product-system .results-filter-panel label:nth-child(2) {
    flex-basis: 122px;
    min-width: 122px;
  }
  body.properties-page.v66-product-system .results-filter-panel label:nth-child(3) {
    flex-basis: 178px;
    min-width: 178px;
  }
  body.properties-page.v66-product-system .results-filter-panel label:nth-child(4),
  body.properties-page.v66-product-system .results-filter-panel label:nth-child(5) {
    flex-basis: 128px;
    min-width: 128px;
  }
  body.properties-page.v66-product-system .results-filter-panel label:nth-child(6) {
    flex-basis: 150px;
    min-width: 150px;
  }
  body.properties-page.v66-product-system .results-count {
    font-size: .64rem;
    margin-left: .2rem;
  }
}


/* GAISAPP V66 — LISTING FLOW FINAL REFINEMENT (2026-07-15) */
body.properties-page.v66-product-system #property-listings.results-band {
  padding-top: .72rem;
  padding-bottom: clamp(4rem, 6vw, 6rem);
}
body.properties-page.v66-product-system .results-filter-panel,
body.properties-page.v66-product-system .results-filter-panel[hidden] {
  column-gap: .38rem;
  overflow-y: hidden;
}
body.properties-page.v66-product-system .results-filter-panel label {
  gap: .14rem;
}
body.properties-page.v66-product-system .results-filter-panel label:nth-child(5),
body.properties-page.v66-product-system .results-filter-panel label:nth-child(6) {
  display: none;
}
body.properties-page.v66-product-system .results-filter-panel .button {
  align-self: end;
  width: auto !important;
}
body.properties-page.v66-product-system .results-count.is-relaxed-fallback {
  background: rgba(167,133,78,.09);
  border: 1px solid rgba(151,125,82,.18);
  border-radius: 999px;
  color: #5f4828;
  display: table;
  margin-left: auto;
  padding: .38rem .65rem;
}
@media (max-width: 760px) {
  body.properties-page.v66-product-system #property-listings.results-band {
    padding-top: .5rem;
    padding-bottom: 4rem;
  }
  body.properties-page.v66-product-system .results-count.is-relaxed-fallback {
    border-radius: 10px;
    display: block;
    line-height: 1.4;
    margin-left: 0;
    padding: .42rem .55rem;
  }
}


/* GAISAPP V66 — MOBILE COMPACT SECONDARY CONTROLS (2026-07-15) */
@media (max-width: 760px) {
  body.properties-page.v66-product-system .product-control-bar-compact {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: .34rem;
    justify-content: flex-start;
    margin: 0 0 .58rem;
    overflow-x: auto;
    padding: .05rem .05rem .18rem;
    scrollbar-width: none;
    width: 100%;
  }
  body.properties-page.v66-product-system .product-control-bar-compact::-webkit-scrollbar {
    display: none;
  }
  body.properties-page.v66-product-system .product-control-bar-compact .product-control-fields {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: nowrap;
    gap: .34rem;
    justify-content: flex-start;
    width: max-content;
  }
  body.properties-page.v66-product-system .product-control-bar-compact .product-control-fields label {
    flex: 0 0 auto;
    font-size: .58rem;
    gap: .16rem;
    min-height: 2.18rem;
    padding: .14rem .2rem .14rem .38rem;
    white-space: nowrap;
    width: auto;
  }
  body.properties-page.v66-product-system .product-control-bar-compact .product-control-fields select {
    font-size: .66rem;
    min-height: 1.86rem;
    padding-left: .34rem;
    padding-right: 1.3rem;
    width: auto;
  }
  body.properties-page.v66-product-system .product-control-bar-compact .control-icon svg {
    height: .82rem;
    width: .82rem;
  }
  body.properties-page.v66-product-system .product-view-toggle {
    flex: 0 0 auto;
    min-height: 2.18rem;
  }
  body.properties-page.v66-product-system .product-view-toggle button {
    min-width: 2.35rem;
    padding: .38rem .5rem;
  }
}

/* GAISAPP V66 — EMERGENCY LISTING LAYOUT REPAIR 2026-07-15 */
/* Keep cards contained in both grid and list modes; no image/body overlap. */
.buying-combined-grid > .property-card,
.results-property-grid > .property-card {
  overflow: hidden !important;
  isolation: isolate;
}

.buying-combined-grid.product-grid-view-list,
.results-property-grid.product-grid-view-list {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 1rem !important;
  width: 100% !important;
}

.buying-combined-grid.product-grid-view-list > .property-card,
.results-property-grid.product-grid-view-list > .property-card {
  display: grid !important;
  grid-template-columns: clamp(260px, 29vw, 390px) minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  min-height: 250px !important;
  height: auto !important;
  width: 100% !important;
  position: relative !important;
}

.buying-combined-grid.product-grid-view-list > .property-card > .card-image,
.results-property-grid.product-grid-view-list > .property-card > .card-image {
  grid-column: 1 !important;
  grid-row: 1 !important;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 250px !important;
  margin: 0 !important;
  overflow: hidden !important;
  z-index: 1 !important;
}

.buying-combined-grid.product-grid-view-list > .property-card > .card-image picture,
.buying-combined-grid.product-grid-view-list > .property-card > .card-image img,
.results-property-grid.product-grid-view-list > .property-card > .card-image picture,
.results-property-grid.product-grid-view-list > .property-card > .card-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.buying-combined-grid.product-grid-view-list > .property-card > .property-card-body,
.results-property-grid.product-grid-view-list > .property-card > .property-card-body {
  grid-column: 2 !important;
  grid-row: 1 !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  margin: 0 !important;
  min-width: 0 !important;
  width: auto !important;
  padding: clamp(1.15rem, 2vw, 1.8rem) !important;
  z-index: 2 !important;
}

/* The listing jump is redundant once the customer is already viewing listings. */
body:not(.home-page) .floating-listing-jump {
  display: none !important;
}

@media (max-width: 820px) {
  .buying-combined-grid.product-grid-view-list > .property-card,
  .results-property-grid.product-grid-view-list > .property-card {
    grid-template-columns: 1fr !important;
    grid-template-rows: 210px auto !important;
  }
  .buying-combined-grid.product-grid-view-list > .property-card > .card-image,
  .results-property-grid.product-grid-view-list > .property-card > .card-image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 210px !important;
  }
  .buying-combined-grid.product-grid-view-list > .property-card > .property-card-body,
  .results-property-grid.product-grid-view-list > .property-card > .property-card-body {
    grid-column: 1 !important;
    grid-row: 2 !important;
    padding: 1rem !important;
  }
}

/* GAISAPP V66 — EMERGENCY LISTING LAYOUT REPAIR 2026-07-15 */
.buying-combined-grid > .property-card,
.results-property-grid > .property-card { overflow: hidden !important; isolation: isolate; }
.buying-combined-grid.product-grid-view-list,
.results-property-grid.product-grid-view-list { display:grid !important; grid-template-columns:minmax(0,1fr)!important; gap:1rem!important; width:100%!important; }
.buying-combined-grid.product-grid-view-list > .property-card,
.results-property-grid.product-grid-view-list > .property-card { display:grid!important; grid-template-columns:clamp(260px,29vw,390px) minmax(0,1fr)!important; grid-template-rows:auto!important; min-height:250px!important; height:auto!important; width:100%!important; position:relative!important; }
.buying-combined-grid.product-grid-view-list > .property-card > .card-image,
.results-property-grid.product-grid-view-list > .property-card > .card-image { grid-column:1!important; grid-row:1!important; position:relative!important; inset:auto!important; width:100%!important; height:100%!important; min-height:250px!important; margin:0!important; overflow:hidden!important; z-index:1!important; }
.buying-combined-grid.product-grid-view-list > .property-card > .card-image picture,
.buying-combined-grid.product-grid-view-list > .property-card > .card-image img,
.results-property-grid.product-grid-view-list > .property-card > .card-image picture,
.results-property-grid.product-grid-view-list > .property-card > .card-image img { display:block!important; width:100%!important; height:100%!important; object-fit:cover!important; }
.buying-combined-grid.product-grid-view-list > .property-card > .property-card-body,
.results-property-grid.product-grid-view-list > .property-card > .property-card-body { grid-column:2!important; grid-row:1!important; position:relative!important; inset:auto!important; transform:none!important; margin:0!important; min-width:0!important; width:auto!important; padding:clamp(1.15rem,2vw,1.8rem)!important; z-index:2!important; }
body:not(.home-page) .floating-listing-jump { display:none!important; }
@media (max-width:820px){
  .buying-combined-grid.product-grid-view-list > .property-card,
  .results-property-grid.product-grid-view-list > .property-card { grid-template-columns:1fr!important; grid-template-rows:210px auto!important; }
  .buying-combined-grid.product-grid-view-list > .property-card > .card-image,
  .results-property-grid.product-grid-view-list > .property-card > .card-image { grid-column:1!important; grid-row:1!important; min-height:210px!important; }
  .buying-combined-grid.product-grid-view-list > .property-card > .property-card-body,
  .results-property-grid.product-grid-view-list > .property-card > .property-card-body { grid-column:1!important; grid-row:2!important; padding:1rem!important; }
}


/* GAISAPP 2026-07-15: unified compact property-card pass.
   User request: shrink all residence boxes substantially and keep card size consistent across pages. */
.results-property-grid:not(.product-grid-view-list),
.atbb-rental-grid:not(.product-grid-view-list),
.building-recommended-grid:not(.product-grid-view-list),
.building-alsoviewed-grid:not(.product-grid-view-list),
[data-building-recommended]:not(.product-grid-view-list),
[data-building-alsoviewed]:not(.product-grid-view-list),
[data-product-sortable="1"].product-grid-view-grid {
  display: grid !important;
  gap: clamp(0.85rem, 1.1vw, 1rem) !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  align-items: stretch;
}

.results-property-grid:not(.product-grid-view-list) > .property-card,
.atbb-rental-grid:not(.product-grid-view-list) > .property-card,
.building-recommended-grid:not(.product-grid-view-list) > .property-card,
.building-alsoviewed-grid:not(.product-grid-view-list) > .property-card,
[data-building-recommended]:not(.product-grid-view-list) > .property-card,
[data-building-alsoviewed]:not(.product-grid-view-list) > .property-card,
[data-product-sortable="1"].product-grid-view-grid > .property-card {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  border-radius: 22px !important;
  overflow: hidden !important;
}

.results-property-grid:not(.product-grid-view-list) > .property-card .card-image,
.atbb-rental-grid:not(.product-grid-view-list) > .property-card .card-image,
.building-recommended-grid:not(.product-grid-view-list) > .property-card .card-image,
.building-alsoviewed-grid:not(.product-grid-view-list) > .property-card .card-image,
[data-building-recommended]:not(.product-grid-view-list) > .property-card .card-image,
[data-building-alsoviewed]:not(.product-grid-view-list) > .property-card .card-image,
[data-product-sortable="1"].product-grid-view-grid > .property-card .card-image {
  aspect-ratio: 4 / 3 !important;
}

.results-property-grid:not(.product-grid-view-list) > .property-card .property-card-body,
.atbb-rental-grid:not(.product-grid-view-list) > .property-card .property-card-body,
.building-recommended-grid:not(.product-grid-view-list) > .property-card .property-card-body,
.building-alsoviewed-grid:not(.product-grid-view-list) > .property-card .property-card-body,
[data-building-recommended]:not(.product-grid-view-list) > .property-card .property-card-body,
[data-building-alsoviewed]:not(.product-grid-view-list) > .property-card .property-card-body,
[data-product-sortable="1"].product-grid-view-grid > .property-card .property-card-body {
  display: grid !important;
  align-content: start !important;
  gap: 0.55rem !important;
  padding: 1rem 1rem 0.95rem !important;
}

.results-property-grid:not(.product-grid-view-list) > .property-card .property-card-body h3,
.atbb-rental-grid:not(.product-grid-view-list) > .property-card .property-card-body h3,
.building-recommended-grid:not(.product-grid-view-list) > .property-card .property-card-body h3,
.building-alsoviewed-grid:not(.product-grid-view-list) > .property-card .property-card-body h3,
[data-building-recommended]:not(.product-grid-view-list) > .property-card .property-card-body h3,
[data-building-alsoviewed]:not(.product-grid-view-list) > .property-card .property-card-body h3,
[data-product-sortable="1"].product-grid-view-grid > .property-card .property-card-body h3 {
  font-size: clamp(1rem, 1.25vw, 1.45rem) !important;
  line-height: 1.12 !important;
  margin: 0.1rem 0 0.2rem !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.results-property-grid:not(.product-grid-view-list) > .property-card .property-card-body p,
.atbb-rental-grid:not(.product-grid-view-list) > .property-card .property-card-body p,
.building-recommended-grid:not(.product-grid-view-list) > .property-card .property-card-body p,
.building-alsoviewed-grid:not(.product-grid-view-list) > .property-card .property-card-body p,
[data-building-recommended]:not(.product-grid-view-list) > .property-card .property-card-body p,
[data-building-alsoviewed]:not(.product-grid-view-list) > .property-card .property-card-body p,
[data-product-sortable="1"].product-grid-view-grid > .property-card .property-card-body p {
  font-size: 0.94rem !important;
  line-height: 1.5 !important;
}

.results-property-grid:not(.product-grid-view-list) > .property-card .property-card-body p:not(.page-kicker):not(.card-price):not(.availability-row):not(.small-disclaimer),
.atbb-rental-grid:not(.product-grid-view-list) > .property-card .property-card-body p:not(.page-kicker):not(.card-price):not(.availability-row):not(.small-disclaimer),
.building-recommended-grid:not(.product-grid-view-list) > .property-card .property-card-body p:not(.page-kicker):not(.card-price):not(.availability-row):not(.small-disclaimer),
.building-alsoviewed-grid:not(.product-grid-view-list) > .property-card .property-card-body p:not(.page-kicker):not(.card-price):not(.availability-row):not(.small-disclaimer),
[data-building-recommended]:not(.product-grid-view-list) > .property-card .property-card-body p:not(.page-kicker):not(.card-price):not(.availability-row):not(.small-disclaimer),
[data-building-alsoviewed]:not(.product-grid-view-list) > .property-card .property-card-body p:not(.page-kicker):not(.card-price):not(.availability-row):not(.small-disclaimer),
[data-product-sortable="1"].product-grid-view-grid > .property-card .property-card-body p:not(.page-kicker):not(.card-price):not(.availability-row):not(.small-disclaimer) {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.results-property-grid:not(.product-grid-view-list) > .property-card .card-price,
.atbb-rental-grid:not(.product-grid-view-list) > .property-card .card-price,
.building-recommended-grid:not(.product-grid-view-list) > .property-card .card-price,
.building-alsoviewed-grid:not(.product-grid-view-list) > .property-card .card-price,
[data-building-recommended]:not(.product-grid-view-list) > .property-card .card-price,
[data-building-alsoviewed]:not(.product-grid-view-list) > .property-card .card-price,
[data-product-sortable="1"].product-grid-view-grid > .property-card .card-price {
  font-size: clamp(0.98rem, 1.05vw, 1.16rem) !important;
  line-height: 1.2 !important;
}

.results-property-grid:not(.product-grid-view-list) > .property-card .status-badge,
.atbb-rental-grid:not(.product-grid-view-list) > .property-card .status-badge,
.building-recommended-grid:not(.product-grid-view-list) > .property-card .status-badge,
.building-alsoviewed-grid:not(.product-grid-view-list) > .property-card .status-badge,
[data-building-recommended]:not(.product-grid-view-list) > .property-card .status-badge,
[data-building-alsoviewed]:not(.product-grid-view-list) > .property-card .status-badge,
[data-product-sortable="1"].product-grid-view-grid > .property-card .status-badge,
.results-property-grid:not(.product-grid-view-list) > .property-card .save-button,
.atbb-rental-grid:not(.product-grid-view-list) > .property-card .save-button,
.building-recommended-grid:not(.product-grid-view-list) > .property-card .save-button,
.building-alsoviewed-grid:not(.product-grid-view-list) > .property-card .save-button,
[data-building-recommended]:not(.product-grid-view-list) > .property-card .save-button,
[data-building-alsoviewed]:not(.product-grid-view-list) > .property-card .save-button,
[data-product-sortable="1"].product-grid-view-grid > .property-card .save-button {
  transform: scale(0.92);
  transform-origin: top left;
}

.results-property-grid:not(.product-grid-view-list) > .property-card .property-card-actions,
.atbb-rental-grid:not(.product-grid-view-list) > .property-card .property-card-actions,
.building-recommended-grid:not(.product-grid-view-list) > .property-card .property-card-actions,
.building-alsoviewed-grid:not(.product-grid-view-list) > .property-card .property-card-actions,
[data-building-recommended]:not(.product-grid-view-list) > .property-card .property-card-actions,
[data-building-alsoviewed]:not(.product-grid-view-list) > .property-card .property-card-actions,
[data-product-sortable="1"].product-grid-view-grid > .property-card .property-card-actions {
  margin-top: auto !important;
  padding-top: 0.25rem !important;
}

@media (max-width: 1500px) {
  .results-property-grid:not(.product-grid-view-list),
  .atbb-rental-grid:not(.product-grid-view-list),
  .building-recommended-grid:not(.product-grid-view-list),
  .building-alsoviewed-grid:not(.product-grid-view-list),
  [data-building-recommended]:not(.product-grid-view-list),
  [data-building-alsoviewed]:not(.product-grid-view-list),
  [data-product-sortable="1"].product-grid-view-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1180px) {
  .results-property-grid:not(.product-grid-view-list),
  .atbb-rental-grid:not(.product-grid-view-list),
  .building-recommended-grid:not(.product-grid-view-list),
  .building-alsoviewed-grid:not(.product-grid-view-list),
  [data-building-recommended]:not(.product-grid-view-list),
  [data-building-alsoviewed]:not(.product-grid-view-list),
  [data-product-sortable="1"].product-grid-view-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .results-property-grid:not(.product-grid-view-list),
  .atbb-rental-grid:not(.product-grid-view-list),
  .building-recommended-grid:not(.product-grid-view-list),
  .building-alsoviewed-grid:not(.product-grid-view-list),
  [data-building-recommended]:not(.product-grid-view-list),
  [data-building-alsoviewed]:not(.product-grid-view-list),
  [data-product-sortable="1"].product-grid-view-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  .results-property-grid:not(.product-grid-view-list),
  .atbb-rental-grid:not(.product-grid-view-list),
  .building-recommended-grid:not(.product-grid-view-list),
  .building-alsoviewed-grid:not(.product-grid-view-list),
  [data-building-recommended]:not(.product-grid-view-list),
  [data-building-alsoviewed]:not(.product-grid-view-list),
  [data-product-sortable="1"].product-grid-view-grid {
    grid-template-columns: 1fr !important;
  }
}


/* GAISAPP 2026-07-16: home card alignment + shorter home cards + smaller listing cards */
body.home-page.v66-product-system #atbb-prime-rentals .property-grid,
body.home-page.v66-product-system #home-for-sale .property-grid {
  align-items: stretch;
  grid-auto-rows: 1fr;
}

body.home-page.v66-product-system #atbb-prime-rentals .property-card,
body.home-page.v66-product-system #home-for-sale .property-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

body.home-page.v66-product-system #atbb-prime-rentals .property-card .card-image,
body.home-page.v66-product-system #home-for-sale .property-card .card-image {
  aspect-ratio: 4 / 3;
  flex: 0 0 auto;
}

body.home-page.v66-product-system #atbb-prime-rentals .property-card-body,
body.home-page.v66-product-system #home-for-sale .property-card-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.45rem;
  min-height: 0;
  padding: 0.95rem 0.95rem 0.88rem;
}

body.home-page.v66-product-system #atbb-prime-rentals .area,
body.home-page.v66-product-system #home-for-sale .area {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  min-height: 1.25em;
  margin-bottom: 0.3rem;
}

body.home-page.v66-product-system #atbb-prime-rentals .property-card-body h3,
body.home-page.v66-product-system #home-for-sale .property-card-body h3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-size: clamp(1.02rem, 1.12vw, 1.22rem);
  line-height: 1.12;
  min-height: calc(2 * 1.12em);
  margin: 0.05rem 0 0.12rem;
}

body.home-page.v66-product-system #atbb-prime-rentals .card-price,
body.home-page.v66-product-system #home-for-sale .card-price {
  font-size: clamp(0.96rem, 0.98vw, 1.08rem);
  line-height: 1.15;
  margin: 0 0 0.08rem;
}

body.home-page.v66-product-system #atbb-prime-rentals .property-spec-row,
body.home-page.v66-product-system #home-for-sale .property-spec-row {
  gap: 0.38rem;
  margin: 0 0 0.3rem;
}

body.home-page.v66-product-system #atbb-prime-rentals .property-spec-row span,
body.home-page.v66-product-system #home-for-sale .property-spec-row span {
  line-height: 1.18;
  max-width: 100%;
  padding: 0.42rem 0.62rem;
  white-space: normal;
}

body.home-page.v66-product-system #atbb-prime-rentals .card-comment,
body.home-page.v66-product-system #home-for-sale .card-comment {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-size: 0.82rem;
  line-height: 1.42;
  margin: 0 0 0.72rem;
  min-height: calc(2 * 1.42em);
}

body.home-page.v66-product-system #atbb-prime-rentals .private-teaser-card .card-comment,
body.home-page.v66-product-system #home-for-sale .private-teaser-card .card-comment {
  -webkit-line-clamp: 3;
  min-height: calc(3 * 1.42em);
}

body.home-page.v66-product-system #atbb-prime-rentals .intro-card-actions,
body.home-page.v66-product-system #home-for-sale .intro-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: auto;
}

body.home-page.v66-product-system #atbb-prime-rentals .intro-card-actions .button,
body.home-page.v66-product-system #home-for-sale .intro-card-actions .button {
  font-size: 0.74rem;
  letter-spacing: 0.06em;
  min-height: 2.2rem;
  padding: 0.55rem 0.78rem;
}

body.home-page.v66-product-system #atbb-prime-rentals .intro-card-actions .button-secondary,
body.home-page.v66-product-system #atbb-prime-rentals .intro-card-actions [data-private-inquiry],
body.home-page.v66-product-system #home-for-sale .intro-card-actions .button-secondary,
body.home-page.v66-product-system #home-for-sale .intro-card-actions [data-private-inquiry] {
  flex: 1 1 100%;
}

body.home-page.v66-product-system #atbb-prime-rentals .intro-view-btn,
body.home-page.v66-product-system #home-for-sale .intro-view-btn {
  flex: 0 0 auto;
}

/* Smaller property boxes on product listing pages (about 0.6x feel vs the oversized version). */
body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list),
body.properties-page.v66-product-system .atbb-rental-grid:not(.product-grid-view-list),
body.properties-page.v66-product-system [data-building-recommended]:not(.product-grid-view-list),
body.properties-page.v66-product-system [data-building-alsoviewed]:not(.product-grid-view-list),
body.properties-page.v66-product-system [data-product-sortable="1"].product-grid-view-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 0.78rem !important;
  align-items: stretch;
}

body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list) > .property-card,
body.properties-page.v66-product-system .atbb-rental-grid:not(.product-grid-view-list) > .property-card,
body.properties-page.v66-product-system [data-building-recommended]:not(.product-grid-view-list) > .property-card,
body.properties-page.v66-product-system [data-building-alsoviewed]:not(.product-grid-view-list) > .property-card,
body.properties-page.v66-product-system [data-product-sortable="1"].product-grid-view-grid > .property-card {
  border-radius: 20px !important;
}

body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list) > .property-card .property-card-body,
body.properties-page.v66-product-system .atbb-rental-grid:not(.product-grid-view-list) > .property-card .property-card-body,
body.properties-page.v66-product-system [data-building-recommended]:not(.product-grid-view-list) > .property-card .property-card-body,
body.properties-page.v66-product-system [data-building-alsoviewed]:not(.product-grid-view-list) > .property-card .property-card-body,
body.properties-page.v66-product-system [data-product-sortable="1"].product-grid-view-grid > .property-card .property-card-body {
  gap: 0.42rem !important;
  padding: 0.82rem 0.82rem 0.78rem !important;
}

body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list) > .property-card .property-card-body h3,
body.properties-page.v66-product-system .atbb-rental-grid:not(.product-grid-view-list) > .property-card .property-card-body h3,
body.properties-page.v66-product-system [data-building-recommended]:not(.product-grid-view-list) > .property-card .property-card-body h3,
body.properties-page.v66-product-system [data-building-alsoviewed]:not(.product-grid-view-list) > .property-card .property-card-body h3,
body.properties-page.v66-product-system [data-product-sortable="1"].product-grid-view-grid > .property-card .property-card-body h3 {
  font-size: clamp(0.9rem, 0.98vw, 1.08rem) !important;
}

body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list) > .property-card .card-price,
body.properties-page.v66-product-system .atbb-rental-grid:not(.product-grid-view-list) > .property-card .card-price,
body.properties-page.v66-product-system [data-building-recommended]:not(.product-grid-view-list) > .property-card .card-price,
body.properties-page.v66-product-system [data-building-alsoviewed]:not(.product-grid-view-list) > .property-card .card-price,
body.properties-page.v66-product-system [data-product-sortable="1"].product-grid-view-grid > .property-card .card-price {
  font-size: 0.94rem !important;
}

body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list) > .property-card .property-spec-row span,
body.properties-page.v66-product-system .atbb-rental-grid:not(.product-grid-view-list) > .property-card .property-spec-row span,
body.properties-page.v66-product-system [data-building-recommended]:not(.product-grid-view-list) > .property-card .property-spec-row span,
body.properties-page.v66-product-system [data-building-alsoviewed]:not(.product-grid-view-list) > .property-card .property-spec-row span,
body.properties-page.v66-product-system [data-product-sortable="1"].product-grid-view-grid > .property-card .property-spec-row span {
  font-size: 0.68rem !important;
  padding: 0.38rem 0.55rem !important;
}

@media (max-width: 1600px) {
  body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list),
  body.properties-page.v66-product-system .atbb-rental-grid:not(.product-grid-view-list),
  body.properties-page.v66-product-system [data-building-recommended]:not(.product-grid-view-list),
  body.properties-page.v66-product-system [data-building-alsoviewed]:not(.product-grid-view-list),
  body.properties-page.v66-product-system [data-product-sortable="1"].product-grid-view-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1300px) {
  body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list),
  body.properties-page.v66-product-system .atbb-rental-grid:not(.product-grid-view-list),
  body.properties-page.v66-product-system [data-building-recommended]:not(.product-grid-view-list),
  body.properties-page.v66-product-system [data-building-alsoviewed]:not(.product-grid-view-list),
  body.properties-page.v66-product-system [data-product-sortable="1"].product-grid-view-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 980px) {
  body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list),
  body.properties-page.v66-product-system .atbb-rental-grid:not(.product-grid-view-list),
  body.properties-page.v66-product-system [data-building-recommended]:not(.product-grid-view-list),
  body.properties-page.v66-product-system [data-building-alsoviewed]:not(.product-grid-view-list),
  body.properties-page.v66-product-system [data-product-sortable="1"].product-grid-view-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  body.home-page.v66-product-system #atbb-prime-rentals .property-card-body,
  body.home-page.v66-product-system #home-for-sale .property-card-body {
    padding: 0.88rem 0.88rem 0.82rem;
  }

  body.home-page.v66-product-system #atbb-prime-rentals .property-card-body h3,
  body.home-page.v66-product-system #home-for-sale .property-card-body h3 {
    font-size: 0.98rem;
  }

  body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list),
  body.properties-page.v66-product-system .atbb-rental-grid:not(.product-grid-view-list),
  body.properties-page.v66-product-system [data-building-recommended]:not(.product-grid-view-list),
  body.properties-page.v66-product-system [data-building-alsoviewed]:not(.product-grid-view-list),
  body.properties-page.v66-product-system [data-product-sortable="1"].product-grid-view-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  body.home-page.v66-product-system #atbb-prime-rentals .intro-card-actions .button,
  body.home-page.v66-product-system #home-for-sale .intro-card-actions .button {
    width: 100%;
  }

  body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list),
  body.properties-page.v66-product-system .atbb-rental-grid:not(.product-grid-view-list),
  body.properties-page.v66-product-system [data-building-recommended]:not(.product-grid-view-list),
  body.properties-page.v66-product-system [data-building-alsoviewed]:not(.product-grid-view-list),
  body.properties-page.v66-product-system [data-product-sortable="1"].product-grid-view-grid {
    grid-template-columns: 1fr !important;
  }
}

/* GAISAPP 2026-07-16 — pin 1–6 residences and compare their map footprint. */
.map-compare-toolbar {
  background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(244,237,224,.94));
  border: 1px solid rgba(182,162,124,.34);
  border-radius: 22px;
  box-shadow: 0 18px 55px rgba(17,17,17,.1);
  display: grid;
  gap: .9rem 1.2rem;
  grid-template-columns: minmax(260px, 1fr) auto;
  margin: 1.05rem auto 0;
  max-width: 1180px;
  padding: 1rem 1.15rem;
  text-align: left;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.map-compare-toolbar.has-selection {
  border-color: rgba(158,124,69,.62);
  box-shadow: 0 22px 65px rgba(83,58,24,.14);
}
.map-compare-toolbar.is-limit-warning {
  animation: mapCompareLimit .32s ease 2;
  border-color: rgba(139,50,58,.72);
}
@keyframes mapCompareLimit {
  50% { transform: translateX(5px); }
}
.map-compare-copy { min-width: 0; }
.map-compare-copy .eyebrow { margin: 0 0 .22rem; }
.map-compare-copy strong {
  color: var(--luxury-soft-black);
  display: block;
  font-size: .96rem;
  letter-spacing: -.01em;
}
.map-compare-copy > p:last-child {
  color: rgba(27,26,23,.64);
  font-size: .76rem;
  line-height: 1.45;
  margin: .24rem 0 0;
}
.map-compare-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .48rem;
  justify-content: flex-end;
}
.map-compare-actions .button {
  font-size: .66rem;
  min-height: 2.3rem;
  padding: .55rem .72rem;
  white-space: nowrap;
}
.map-compare-actions .button.is-active {
  background: var(--luxury-charcoal);
  border-color: var(--luxury-charcoal);
  color: var(--pale-gold);
}
.map-compare-actions .button:disabled {
  cursor: not-allowed;
  opacity: .42;
}
.map-compare-selection {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  grid-column: 1 / -1;
  min-height: 2.25rem;
}
.map-compare-empty {
  align-items: center;
  color: rgba(27,26,23,.48);
  display: inline-flex;
  font-size: .74rem;
  min-height: 2.15rem;
}
.map-compare-chip {
  align-items: stretch;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(182,162,124,.34);
  border-radius: 999px;
  display: inline-flex;
  max-width: min(100%, 270px);
  overflow: hidden;
}
.map-compare-focus,
.map-compare-remove {
  border: 0;
  cursor: pointer;
}
.map-compare-focus {
  align-items: center;
  background: transparent;
  color: #30271d;
  display: flex;
  gap: .5rem;
  min-width: 0;
  padding: .38rem .34rem .38rem .42rem;
}
.map-compare-focus b {
  align-items: center;
  background: var(--luxury-charcoal);
  border-radius: 50%;
  color: var(--pale-gold);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: .68rem;
  height: 1.6rem;
  justify-content: center;
  width: 1.6rem;
}
.map-compare-focus span {
  font-size: .72rem;
  font-weight: 780;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.map-compare-remove {
  background: rgba(74,31,37,.06);
  color: var(--luxury-burgundy);
  font-size: 1rem;
  min-width: 2rem;
  padding: 0 .52rem;
}
.map-compare-focus:hover,
.map-compare-remove:hover { background: rgba(182,162,124,.14); }

.map-card-actions {
  display: grid;
  gap: .55rem;
  grid-template-columns: repeat(2, minmax(0,1fr));
}
.map-card-actions .button {
  font-size: .66rem;
  min-height: 2.5rem;
  padding: .55rem .62rem;
}
.map-pin-button[aria-pressed="true"] {
  background: var(--luxury-charcoal);
  border-color: rgba(232,217,181,.65);
  color: var(--pale-gold);
}
.map-pin-button:disabled:not([aria-pressed="true"]) { opacity: .38; }
.map-property-card.is-pinned {
  border-color: rgba(158,124,69,.8);
  box-shadow: 0 22px 70px rgba(102,72,31,.17);
}
.map-property-card.is-pinned::before {
  background: linear-gradient(90deg, #8d6a32, #d9bd82);
  content: "";
  height: 3px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 3;
}
.map-property-card { position: relative; }

.map-compare-marker {
  align-items: center;
  background: #171511;
  border: 3px solid #f3dfae;
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(217,189,130,.25), 0 10px 24px rgba(17,17,17,.38);
  color: #f3dfae;
  display: flex;
  font-size: .82rem;
  font-weight: 900;
  justify-content: center;
}
.map-compare-marker span {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  width: 100%;
}
.map-marker.is-pinned .map-marker-dot {
  box-shadow: 0 0 0 5px rgba(217,189,130,.36), 0 8px 20px rgba(17,17,17,.5);
}

@media (max-width: 900px) {
  .map-compare-toolbar { grid-template-columns: 1fr; }
  .map-compare-actions { justify-content: flex-start; }
}
@media (max-width: 620px) {
  .map-compare-toolbar { border-radius: 16px; padding: .85rem; }
  .map-compare-actions { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); width: 100%; }
  .map-compare-actions .button { width: 100%; }
  .map-compare-actions .button:last-child { grid-column: 1 / -1; }
  .map-compare-chip { max-width: 100%; width: 100%; }
  .map-compare-focus { flex: 1 1 auto; }
  .map-card-actions { grid-template-columns: 1fr; }
}
.map-compare-copy .eyebrow { color: #8d6a32 !important; }
.map-title .map-filter-summary { color: rgba(255,250,240,.78); font-weight: 700; }

/* =====================================================================
   GAISAPP V68 — CANONICAL RESIDENCE LISTING LAYOUT (2026-07-16)
   One source of truth for cards across area-filtered results.
   Fixes the V67 conflict where a body-scoped 3-column rule remained active
   in list view and squeezed each card's text into a narrow side column.
   ===================================================================== */

/* LIST VIEW: exactly one residence per row on every controlled collection. */
body.properties-page.v66-product-system .results-property-grid.product-grid-view-list,
body.properties-page.v66-product-system [data-product-sortable="1"].results-property-grid.product-grid-view-list,
body.v66-product-system .buying-combined-grid.product-grid-view-list,
body.v66-product-system .atbb-rental-grid.product-grid-view-list,
body.v66-product-system .building-recommended-grid.product-grid-view-list,
body.v66-product-system .building-alsoviewed-grid.product-grid-view-list,
body.v66-product-system [data-building-recommended].product-grid-view-list,
body.v66-product-system [data-building-alsoviewed].product-grid-view-list {
  display: grid !important;
  grid-auto-flow: row !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: clamp(0.85rem, 1.25vw, 1.1rem) !important;
  overflow: visible !important;
  width: 100% !important;
}

body.properties-page.v66-product-system .results-property-grid.product-grid-view-list > .property-card,
body.properties-page.v66-product-system [data-product-sortable="1"].results-property-grid.product-grid-view-list > .property-card,
body.v66-product-system .buying-combined-grid.product-grid-view-list > .property-card,
body.v66-product-system .atbb-rental-grid.product-grid-view-list > .property-card,
body.v66-product-system .building-recommended-grid.product-grid-view-list > .property-card,
body.v66-product-system .building-alsoviewed-grid.product-grid-view-list > .property-card,
body.v66-product-system [data-building-recommended].product-grid-view-list > .property-card,
body.v66-product-system [data-building-alsoviewed].product-grid-view-list > .property-card {
  display: grid !important;
  grid-template-columns: clamp(230px, 23vw, 340px) minmax(0, 1fr) !important;
  grid-template-rows: minmax(238px, auto) !important;
  align-items: stretch !important;
  height: auto !important;
  min-height: 238px !important;
  min-width: 0 !important;
  overflow: hidden !important;
  width: 100% !important;
}

body.properties-page.v66-product-system .results-property-grid.product-grid-view-list > .property-card > .card-image,
body.properties-page.v66-product-system [data-product-sortable="1"].results-property-grid.product-grid-view-list > .property-card > .card-image,
body.v66-product-system .buying-combined-grid.product-grid-view-list > .property-card > .card-image,
body.v66-product-system .atbb-rental-grid.product-grid-view-list > .property-card > .card-image,
body.v66-product-system .building-recommended-grid.product-grid-view-list > .property-card > .card-image,
body.v66-product-system .building-alsoviewed-grid.product-grid-view-list > .property-card > .card-image,
body.v66-product-system [data-building-recommended].product-grid-view-list > .property-card > .card-image,
body.v66-product-system [data-building-alsoviewed].product-grid-view-list > .property-card > .card-image {
  aspect-ratio: auto !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  height: 100% !important;
  min-height: 238px !important;
  max-height: none !important;
  overflow: hidden !important;
  position: relative !important;
  width: 100% !important;
}

body.v66-product-system .product-grid-view-list > .property-card > .card-image .card-image-link,
body.v66-product-system .product-grid-view-list > .property-card > .card-image picture,
body.v66-product-system .product-grid-view-list > .property-card > .card-image img {
  display: block !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  width: 100% !important;
}

body.properties-page.v66-product-system .results-property-grid.product-grid-view-list > .property-card > .property-card-body,
body.properties-page.v66-product-system [data-product-sortable="1"].results-property-grid.product-grid-view-list > .property-card > .property-card-body,
body.v66-product-system .buying-combined-grid.product-grid-view-list > .property-card > .property-card-body,
body.v66-product-system .atbb-rental-grid.product-grid-view-list > .property-card > .property-card-body,
body.v66-product-system .building-recommended-grid.product-grid-view-list > .property-card > .property-card-body,
body.v66-product-system .building-alsoviewed-grid.product-grid-view-list > .property-card > .property-card-body,
body.v66-product-system [data-building-recommended].product-grid-view-list > .property-card > .property-card-body,
body.v66-product-system [data-building-alsoviewed].product-grid-view-list > .property-card > .property-card-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.38rem !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: clamp(1rem, 1.55vw, 1.35rem) !important;
  position: relative !important;
  width: auto !important;
}

body.v66-product-system .product-grid-view-list > .property-card .property-card-body > .tag,
body.v66-product-system .product-grid-view-list > .property-card .property-card-body > .area {
  line-height: 1.25 !important;
  margin: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.v66-product-system .product-grid-view-list > .property-card .property-card-body > h3 {
  display: -webkit-box !important;
  font-size: clamp(1.18rem, 1.55vw, 1.58rem) !important;
  line-height: 1.12 !important;
  margin: 0.12rem 0 0.15rem !important;
  max-width: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

body.v66-product-system .product-grid-view-list > .property-card .property-card-body > p:not(.tag):not(.area):not(.price):not(.card-price):not(.recommended-price):not(.small-disclaimer):not(.availability-row) {
  display: -webkit-box !important;
  font-size: 0.86rem !important;
  line-height: 1.45 !important;
  margin: 0.05rem 0 0.1rem !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

body.v66-product-system .product-grid-view-list > .property-card .card-price,
body.v66-product-system .product-grid-view-list > .property-card .price,
body.v66-product-system .product-grid-view-list > .property-card .recommended-price {
  font-size: clamp(1.02rem, 1.2vw, 1.22rem) !important;
  line-height: 1.2 !important;
  margin: 0.12rem 0 !important;
}

body.v66-product-system .product-grid-view-list > .property-card .small-disclaimer,
body.v66-product-system .product-grid-view-list > .property-card .card-disclaimer {
  display: none !important;
}

body.v66-product-system .product-grid-view-list > .property-card .v66-card-specs,
body.v66-product-system .product-grid-view-list > .property-card .property-spec-row,
body.v66-product-system .product-grid-view-list > .property-card .private-teaser-facts {
  margin: 0.2rem 0 0 !important;
}

body.v66-product-system .product-grid-view-list > .property-card .property-card-actions {
  display: grid !important;
  gap: 0.55rem !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin-top: auto !important;
  padding-top: 0.55rem !important;
  width: 100% !important;
}

body.v66-product-system .product-grid-view-list > .property-card .property-card-actions .card-action {
  border: 1px solid rgba(122, 90, 54, 0.16) !important;
  border-radius: 10px !important;
  font-size: 0.66rem !important;
  justify-content: center !important;
  letter-spacing: 0.045em !important;
  min-height: 2.35rem !important;
  overflow: hidden !important;
  padding: 0.52rem 0.58rem !important;
  text-align: center !important;
}

body.v66-product-system .product-grid-view-list > .property-card .property-card-actions .card-action::after {
  display: none !important;
}

/* GRID VIEW: one consistent compact system across every selected area. */
body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list),
body.properties-page.v66-product-system [data-product-sortable="1"].results-property-grid.product-grid-view-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: clamp(0.8rem, 1vw, 1rem) !important;
  overflow: visible !important;
  width: 100% !important;
}

body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list) > .property-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  width: 100% !important;
}

body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list) > .property-card > .card-image {
  aspect-ratio: 16 / 10 !important;
  flex: 0 0 auto !important;
  height: auto !important;
  min-height: 0 !important;
  width: 100% !important;
}

body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list) > .property-card > .property-card-body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 0.42rem !important;
  padding: 0.9rem 0.92rem 0.86rem !important;
}

body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list) > .property-card .property-card-body > h3 {
  display: -webkit-box !important;
  font-size: clamp(1rem, 1.05vw, 1.18rem) !important;
  line-height: 1.15 !important;
  min-height: 2.3em !important;
  overflow: hidden !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list) > .property-card .property-card-body > p:not(.tag):not(.area):not(.price):not(.card-price):not(.recommended-price):not(.small-disclaimer):not(.availability-row) {
  display: -webkit-box !important;
  font-size: 0.78rem !important;
  line-height: 1.42 !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list) > .property-card .small-disclaimer,
body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list) > .property-card .card-disclaimer {
  display: none !important;
}

@media (max-width: 1260px) {
  body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list),
  body.properties-page.v66-product-system [data-product-sortable="1"].results-property-grid.product-grid-view-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list),
  body.properties-page.v66-product-system [data-product-sortable="1"].results-property-grid.product-grid-view-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.v66-product-system .product-grid-view-list > .property-card .property-card-actions {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  body.properties-page.v66-product-system .results-property-grid.product-grid-view-list > .property-card,
  body.properties-page.v66-product-system [data-product-sortable="1"].results-property-grid.product-grid-view-list > .property-card,
  body.v66-product-system .buying-combined-grid.product-grid-view-list > .property-card,
  body.v66-product-system .atbb-rental-grid.product-grid-view-list > .property-card,
  body.v66-product-system .building-recommended-grid.product-grid-view-list > .property-card,
  body.v66-product-system .building-alsoviewed-grid.product-grid-view-list > .property-card,
  body.v66-product-system [data-building-recommended].product-grid-view-list > .property-card,
  body.v66-product-system [data-building-alsoviewed].product-grid-view-list > .property-card {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 210px auto !important;
    min-height: 0 !important;
  }

  body.v66-product-system .product-grid-view-list > .property-card > .card-image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: 210px !important;
    min-height: 210px !important;
  }

  body.v66-product-system .product-grid-view-list > .property-card > .property-card-body {
    grid-column: 1 !important;
    grid-row: 2 !important;
    padding: 0.95rem !important;
  }
}

@media (max-width: 560px) {
  body.properties-page.v66-product-system .results-property-grid:not(.product-grid-view-list),
  body.properties-page.v66-product-system [data-product-sortable="1"].results-property-grid.product-grid-view-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}


/* =====================================================================
   GAISAPP V71 — SEARCH + MULTI-LOCATION PINS (2026-07-16)
   Search stations, schools, gyms, shops, hospitals, parks or addresses;
   keep up to 15 independent landmark pins while comparing residences.
   ===================================================================== */
.map-place-search-panel {
  background: linear-gradient(145deg, rgba(255,255,255,.97), rgba(246,239,225,.96));
  border: 1px solid rgba(190,164,113,.42);
  border-radius: 24px;
  box-shadow: 0 20px 64px rgba(22,18,12,.12);
  margin: 1.1rem auto 0;
  max-width: 1180px;
  padding: clamp(.95rem, 2vw, 1.35rem);
  text-align: left;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.map-place-search-panel.has-pins {
  border-color: rgba(144,99,58,.66);
  box-shadow: 0 24px 72px rgba(68,42,18,.16);
}
.map-place-search-panel.is-limit-warning { animation: mapPlaceLimit .34s ease 2; border-color: rgba(145,43,54,.75); }
@keyframes mapPlaceLimit { 50% { transform: translateX(5px); } }
.map-place-search-heading {
  align-items: flex-start;
  display: flex;
  gap: 1.2rem;
  justify-content: space-between;
}
.map-place-search-heading .eyebrow { color: #8d6a32 !important; margin: 0 0 .25rem; }
.map-place-search-heading h2 {
  color: #1d1914;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.22rem, 2.2vw, 1.75rem);
  line-height: 1.08;
  margin: 0;
}
.map-place-search-heading p:last-child {
  color: rgba(31,27,22,.66);
  font-size: .78rem;
  line-height: 1.55;
  margin: .45rem 0 0;
  max-width: 760px;
}
.map-place-search-meta {
  align-items: center;
  background: #211b15;
  border-radius: 16px;
  color: #f3dfae;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  min-width: 92px;
  padding: .65rem .72rem;
}
.map-place-search-meta strong { font-size: .94rem; }
.map-place-search-meta span:last-child { font-size: .58rem; letter-spacing: .09em; text-transform: uppercase; }
.map-place-search-form {
  display: grid;
  gap: .55rem;
  grid-template-columns: minmax(240px, 1fr) auto auto;
  margin-top: 1rem;
}
.map-place-query-label { display: block; position: relative; }
.map-place-query-icon {
  color: #8d6a32;
  font-size: 1.28rem;
  left: .88rem;
  line-height: 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
.map-place-query-label input {
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(128,99,54,.3);
  border-radius: 14px;
  color: #1c1915;
  font: inherit;
  font-size: .82rem;
  min-height: 46px;
  outline: 0;
  padding: .72rem .9rem .72rem 2.55rem;
  width: 100%;
}
.map-place-query-label input:focus {
  border-color: rgba(141,106,50,.86);
  box-shadow: 0 0 0 4px rgba(201,174,119,.17);
}
.map-place-search-form .button { min-height: 46px; padding: .68rem .9rem; white-space: nowrap; }
.map-place-search-form [data-map-place-drop].is-active {
  background: #4d2730;
  border-color: #4d2730;
  color: #fff3e5;
}
.map-place-search-status {
  color: rgba(31,27,22,.58);
  font-size: .7rem;
  line-height: 1.45;
  margin: .55rem 0 0;
}
.map-place-search-status[data-state="success"] { color: #2d6a47; }
.map-place-search-status[data-state="error"] { color: #8b323a; }
.map-place-search-status[data-state="loading"] { color: #755c2f; }
.map-place-results {
  background: rgba(255,255,255,.69);
  border: 1px solid rgba(182,162,124,.29);
  border-radius: 17px;
  display: grid;
  gap: .35rem;
  margin-top: .8rem;
  max-height: 365px;
  overflow: auto;
  padding: .55rem;
}
.map-place-results[hidden] { display: none !important; }
.map-place-results-head { align-items: center; display: flex; gap: .6rem; justify-content: space-between; padding: .25rem .38rem .42rem; }
.map-place-results-head > div { display: grid; gap: .08rem; }
.map-place-results-head strong { color: #2e261d; font-size: .75rem; }
.map-place-results-head span { color: rgba(31,27,22,.54); font-size: .65rem; }
.map-place-add-all {
  background: transparent;
  border: 1px solid rgba(141,106,50,.42);
  border-radius: 999px;
  color: #6f5229;
  cursor: pointer;
  flex: 0 0 auto;
  font-size: .6rem;
  font-weight: 820;
  padding: .42rem .62rem;
}
.map-place-add-all:hover { background: rgba(201,174,119,.15); }
.map-place-add-all:disabled { cursor: not-allowed; opacity: .38; }
.map-place-result {
  align-items: center;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(182,162,124,.22);
  border-radius: 13px;
  display: grid;
  gap: .55rem;
  grid-template-columns: minmax(0,1fr) auto;
  padding: .42rem;
}
.map-place-result-focus {
  align-items: center;
  background: transparent;
  border: 0;
  color: #29231c;
  cursor: pointer;
  display: flex;
  gap: .62rem;
  min-width: 0;
  padding: .22rem;
  text-align: left;
}
.map-place-result-icon {
  align-items: center;
  background: rgba(205,178,124,.2);
  border-radius: 50%;
  color: #7d5c29;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 1rem;
  height: 2rem;
  justify-content: center;
  width: 2rem;
}
.map-place-result-focus > span:last-child { display: grid; min-width: 0; }
.map-place-result-focus strong,
.map-place-result-focus small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.map-place-result-focus strong { font-size: .74rem; }
.map-place-result-focus small { color: rgba(31,27,22,.56); font-size: .62rem; margin-top: .12rem; }
.map-place-result-focus em { color: #8d6a32; font-size: .58rem; font-style: normal; font-weight: 760; letter-spacing: .07em; margin-top: .18rem; text-transform: uppercase; }
.map-place-result .button { font-size: .62rem; min-height: 2.25rem; padding: .48rem .65rem; }
.map-place-result .button.is-pinned { opacity: .72; }
.map-place-pin-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .8rem; }
.map-place-pin-actions .button { font-size: .64rem; min-height: 2.25rem; padding: .5rem .7rem; }
.map-place-pin-actions .button:disabled { cursor: not-allowed; opacity: .4; }
.map-place-pin-selection { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .65rem; min-height: 2.25rem; }
.map-place-empty { align-items: center; color: rgba(31,27,22,.47); display: inline-flex; font-size: .7rem; min-height: 2.1rem; }
.map-place-chip {
  align-items: stretch;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(144,99,58,.3);
  border-radius: 14px;
  display: inline-flex;
  max-width: min(100%, 330px);
  overflow: hidden;
}
.map-place-chip-focus,
.map-place-chip-remove { border: 0; cursor: pointer; }
.map-place-chip-focus {
  align-items: center;
  background: transparent;
  color: #29231c;
  display: flex;
  gap: .48rem;
  min-width: 0;
  padding: .4rem .38rem .4rem .48rem;
  text-align: left;
}
.map-place-chip-focus b {
  align-items: center;
  background: #8c4f34;
  border-radius: 50%;
  color: #fff7e9;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: .66rem;
  height: 1.65rem;
  justify-content: center;
  width: 1.65rem;
}
.map-place-chip-focus > span { display: grid; min-width: 0; }
.map-place-chip-focus strong,
.map-place-chip-focus small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.map-place-chip-focus strong { font-size: .69rem; }
.map-place-chip-focus small { color: rgba(31,27,22,.55); font-size: .57rem; }
.map-place-chip-remove { background: rgba(77,39,48,.07); color: #6f2e38; font-size: 1rem; min-width: 2rem; padding: 0 .48rem; }
.map-place-chip-focus:hover,
.map-place-chip-remove:hover { background: rgba(182,162,124,.14); }
.map-place-marker {
  background: transparent;
  border: 0;
  filter: drop-shadow(0 8px 8px rgba(25,16,10,.32));
}
.map-place-marker span {
  align-items: center;
  background: #8c4f34;
  border: 3px solid #fff3d8;
  border-radius: 50% 50% 50% 8px;
  color: #fff9ef;
  display: flex;
  font-size: .72rem;
  font-weight: 900;
  height: 32px;
  justify-content: center;
  transform: rotate(-45deg);
  width: 32px;
}
.map-place-marker span i {
  display: block;
  font-style: normal;
  transform: rotate(45deg);
}
.map-place-marker.is-manual span { background: #5d405f; }
.leaflet-map.is-drop-pin-mode { cursor: crosshair !important; }
.leaflet-map.is-drop-pin-mode::after {
  background: rgba(35,27,21,.9);
  border-radius: 999px;
  color: #fff3d8;
  content: "Click map to place pin";
  font-size: .68rem;
  font-weight: 800;
  left: 50%;
  letter-spacing: .04em;
  padding: .55rem .8rem;
  pointer-events: none;
  position: absolute;
  top: .8rem;
  transform: translateX(-50%);
  z-index: 1000;
}
.map-place-popup { color: #2a241d; line-height: 1.45; }
.map-place-popup-number { color: #8d6a32; font-size: .6rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.map-place-popup h3 { font-family: "Playfair Display", Georgia, serif; font-size: 1rem; line-height: 1.18; margin: .25rem 0 .28rem; }
.map-place-popup p { color: rgba(31,27,22,.67); font-size: .68rem; margin: 0 0 .35rem; }
.map-place-popup small { color: rgba(31,27,22,.54); display: block; font-size: .58rem; }
.map-place-popup-remove {
  background: #2c231a;
  border: 0;
  border-radius: 999px;
  color: #f6e4bb;
  cursor: pointer;
  font-size: .62rem;
  font-weight: 800;
  margin-top: .55rem;
  padding: .48rem .68rem;
}
@media (max-width: 820px) {
  .map-place-search-form { grid-template-columns: 1fr 1fr; }
  .map-place-query-label { grid-column: 1 / -1; }
  .map-place-search-form .button { width: 100%; }
}
@media (max-width: 560px) {
  .map-place-search-panel { border-radius: 17px; padding: .85rem; }
  .map-place-search-heading { align-items: stretch; flex-direction: column; gap: .7rem; }
  .map-place-search-meta { align-self: flex-start; flex-direction: row; gap: .4rem; min-width: 0; }
  .map-place-search-form { grid-template-columns: 1fr; }
  .map-place-query-label { grid-column: auto; }
  .map-place-results-head { align-items: flex-start; flex-direction: column; gap: .12rem; }
  .map-place-result { grid-template-columns: 1fr; }
  .map-place-result .button { width: 100%; }
  .map-place-chip { max-width: 100%; width: 100%; }
  .map-place-chip-focus { flex: 1 1 auto; }
}


/* =====================================================================
   GAISAPP V72 — COMPACT SMART PLACE SEARCH BESIDE MAP (2026-07-16)
   ===================================================================== */
.map-main-workspace {
  align-items: start;
  display: grid;
  gap: .85rem;
  grid-template-columns: minmax(248px, 292px) minmax(0, 1fr);
  min-width: 0;
}
.map-main-workspace > .google-map-shell {
  min-height: min(76vh, 760px);
  width: 100%;
}
.map-place-search-panel.map-place-search-panel-compact {
  border-radius: 18px;
  box-shadow: 0 16px 46px rgba(22,18,12,.1);
  margin: 0;
  max-height: min(76vh, 760px);
  max-width: none;
  overflow: auto;
  padding: .82rem;
  position: sticky;
  scrollbar-width: thin;
  text-align: left;
  top: 6.2rem;
}
.map-place-search-panel-compact .map-place-search-heading { gap: .55rem; }
.map-place-search-panel-compact .map-place-search-heading h2 {
  font-size: 1.08rem;
  line-height: 1.12;
}
.map-place-search-panel-compact .map-place-search-meta {
  border-radius: 12px;
  min-width: 58px;
  padding: .42rem .48rem;
}
.map-place-search-panel-compact .map-place-search-meta strong { font-size: .75rem; }
.map-place-search-panel-compact .map-place-search-meta span:last-child { font-size: .5rem; }
.map-place-compact-copy {
  color: rgba(31,27,22,.6);
  font-size: .66rem;
  line-height: 1.45;
  margin: .5rem 0 0;
}
.map-place-search-panel-compact .map-place-search-form {
  gap: .4rem;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: .68rem;
}
.map-place-search-panel-compact .map-place-query-label input {
  border-radius: 11px;
  font-size: .72rem;
  min-height: 40px;
  padding: .58rem .62rem .58rem 2.12rem;
}
.map-place-search-panel-compact .map-place-query-icon { font-size: 1.05rem; left: .68rem; }
.map-place-search-panel-compact .map-place-search-form .button {
  font-size: .64rem;
  min-height: 40px;
  padding: .55rem .66rem;
}
.map-place-quick-actions {
  display: grid;
  gap: .32rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: .42rem;
}
.map-place-mini-action {
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(141,106,50,.28);
  border-radius: 9px;
  color: #5f4828;
  cursor: pointer;
  font-size: .56rem;
  font-weight: 800;
  min-height: 31px;
  padding: .35rem .3rem;
}
.map-place-mini-action:hover { background: rgba(201,174,119,.16); }
.map-place-mini-action:disabled { cursor: not-allowed; opacity: .38; }
.map-place-mini-action.is-active { background: #4d2730; border-color: #4d2730; color: #fff3e5; }
.map-place-mini-action.is-danger { color: #7d303a; }
.map-place-search-panel-compact .map-place-search-status {
  font-size: .59rem;
  line-height: 1.4;
  margin-top: .45rem;
}
.map-place-search-panel-compact .map-place-results {
  border-radius: 12px;
  gap: .28rem;
  margin-top: .5rem;
  max-height: 305px;
  padding: .35rem;
}
.map-place-search-panel-compact .map-place-results-head {
  align-items: flex-start;
  gap: .35rem;
  padding: .18rem .2rem .3rem;
}
.map-place-search-panel-compact .map-place-results-head span { display: none; }
.map-place-search-panel-compact .map-place-result {
  align-items: stretch;
  border-radius: 10px;
  gap: .34rem;
  grid-template-columns: minmax(0, 1fr);
  padding: .32rem;
}
.map-place-search-panel-compact .map-place-result-focus { gap: .42rem; padding: .14rem; }
.map-place-search-panel-compact .map-place-result-icon { font-size: .78rem; height: 1.65rem; width: 1.65rem; }
.map-place-search-panel-compact .map-place-result-focus strong { font-size: .66rem; }
.map-place-search-panel-compact .map-place-result-focus small { font-size: .54rem; }
.map-place-search-panel-compact .map-place-result-focus em { font-size: .49rem; }
.map-place-result-actions {
  align-items: center;
  display: grid;
  gap: .3rem;
  grid-template-columns: minmax(0, 1fr) auto;
}
.map-place-google-link {
  color: #6c522d;
  font-size: .53rem;
  font-weight: 800;
  padding-left: .22rem;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.map-place-search-panel-compact .map-place-result .button {
  font-size: .54rem;
  min-height: 1.9rem;
  padding: .35rem .48rem;
}
.map-place-search-panel-compact .map-place-pin-selection {
  display: grid;
  gap: .3rem;
  margin-top: .45rem;
  min-height: 1.8rem;
}
.map-place-search-panel-compact .map-place-chip {
  border-radius: 10px;
  max-width: 100%;
  width: 100%;
}
.map-place-search-panel-compact .map-place-chip-focus { flex: 1 1 auto; padding: .3rem; }
.map-place-search-panel-compact .map-place-chip-focus b { font-size: .55rem; height: 1.4rem; width: 1.4rem; }
.map-place-search-panel-compact .map-place-chip-focus strong { font-size: .6rem; }
.map-place-search-panel-compact .map-place-chip-focus small { font-size: .49rem; }
.map-place-search-panel-compact .map-place-chip-remove { min-width: 1.72rem; }
.map-place-search-panel-compact .map-place-empty { font-size: .6rem; min-height: 1.7rem; }

@media (max-width: 1360px) {
  .map-experience { grid-template-columns: minmax(0, 1fr) minmax(330px, .52fr); }
  .map-main-workspace { grid-template-columns: minmax(235px, 275px) minmax(0, 1fr); }
}
@media (max-width: 1120px) {
  .map-main-workspace { grid-template-columns: minmax(250px, 292px) minmax(0, 1fr); }
  .map-place-search-panel.map-place-search-panel-compact,
  .map-main-workspace > .google-map-shell { position: relative; top: auto; }
}
@media (max-width: 760px) {
  .map-main-workspace { grid-template-columns: 1fr; }
  .map-place-search-panel.map-place-search-panel-compact { max-height: none; order: 1; }
  .map-main-workspace > .google-map-shell { min-height: 520px; order: 2; }
  .map-place-search-panel-compact .map-place-search-form { grid-template-columns: minmax(0, 1fr) auto; }
  .map-place-search-panel-compact .map-place-query-label { grid-column: auto; }
}


/* Form delivery compatibility styles. */
.consent-checkbox{align-items:flex-start;gap:14px}
.consent-checkbox input[type="checkbox"]{margin-top:4px;flex:0 0 auto}
.consent-policy-link{display:inline-block!important;margin-top:7px;color:#6f5422!important;font-weight:800!important;text-decoration:underline!important;text-decoration-thickness:1.5px!important;text-underline-offset:4px!important}
.consent-policy-link:hover,.consent-policy-link:focus-visible{color:#111!important}
.form-status.is-error{color:#9f1d1d!important}
.submission-confirmation-hero{color:#fff;background:linear-gradient(115deg,rgba(10,10,10,.96),rgba(31,28,24,.96));min-height:440px}
.submission-confirmation-hero h1,.submission-confirmation-hero p{color:#fff!important}
.submission-confirmation-hero h1{font-size:clamp(2.5rem,5vw,5rem)!important;max-width:900px;line-height:.98!important}
.submission-confirmation-hero .submission-reference{display:inline-block;margin-top:14px;padding:8px 12px;border:1px solid rgba(255,255,255,.25);font-size:.78rem;letter-spacing:.04em}
@media(max-width:720px){.consent-checkbox{gap:10px}.submission-confirmation-hero{min-height:360px}}


/* Route-proof inline form confirmation. */
.consultation-success-panel{
  align-self:start;
  width:100%;
  min-height:620px;
  padding:clamp(34px,5vw,72px);
  border:1px solid rgba(36,31,23,.18);
  background:
    radial-gradient(circle at 92% 4%,rgba(174,139,76,.17),transparent 19rem),
    linear-gradient(145deg,#171716 0%,#0e0f10 100%);
  color:#f5f1e8;
  box-shadow:0 30px 80px rgba(22,18,12,.18);
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
}
.consultation-success-icon{width:54px;height:54px;border:1px solid rgba(218,188,128,.55);border-radius:50%;display:grid;place-items:center;color:#dfc58f;background:rgba(182,148,85,.1);margin-bottom:22px}
.consultation-success-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.consultation-success-kicker{margin:0 0 14px;color:#d9bd84;font-size:11px;font-weight:800;letter-spacing:.19em;text-transform:uppercase}
.consultation-success-panel h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(50px,5.2vw,76px);line-height:.98;letter-spacing:-.045em;font-weight:500;color:#fff}
.consultation-success-copy{max-width:690px;margin:23px 0 0;color:#c5beb2;font-size:17px;line-height:1.7}
.consultation-success-reference{width:fit-content;max-width:100%;margin:25px 0 0;padding:12px 15px;border:1px solid rgba(255,255,255,.13);border-left:3px solid #b69455;background:rgba(255,255,255,.035);overflow-wrap:anywhere;font-size:12px;color:#e7dfd2}
.consultation-success-reference span{display:block;margin-bottom:4px;color:#9f988d;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.consultation-success-next{margin-top:32px;padding-top:26px;border-top:1px solid rgba(255,255,255,.12)}
.consultation-success-next-label{margin:0 0 15px;color:#d9bd84;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.consultation-success-next ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.consultation-success-next li{padding:16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025)}
.consultation-success-next strong,.consultation-success-next span{display:block}.consultation-success-next strong{font-size:13px;margin-bottom:5px}.consultation-success-next span{color:#9f988d;font-size:12px;line-height:1.55}
.consultation-success-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.consultation-success-actions .button-secondary{border-color:rgba(255,255,255,.25);color:#fff;background:transparent}
@media(max-width:720px){.consultation-success-panel{min-height:auto;padding:38px 24px}.consultation-success-next ol{grid-template-columns:1fr}.consultation-success-panel h2{font-size:52px}.consultation-success-copy{font-size:16px}.consultation-success-actions{display:grid}.consultation-success-actions .button{width:100%}}


/* V82 — exact deep-link filtering, consistent premium media, one related-residence section. */
html.gaisapp-query-pending .results-property-grid,
html.gaisapp-query-pending [data-results-count] { visibility: hidden; }

.property-card .card-image,
[data-building-detail] .building-hero-media { background: #e9edf1; }
.property-card .card-image picture,
.property-card .card-image img { width: 100%; height: 100%; }
.property-card .card-image img { object-fit: cover; object-position: center; image-rendering: auto; }

[data-building-detail] .building-alsoviewed-section { border-top: 1px solid rgba(23,42,58,.10); }
[data-building-detail] .building-alsoviewed-grid { align-items: stretch; }
[data-building-detail] .building-alsoviewed-grid .property-card { height: 100%; }
[data-building-detail] .building-alsoviewed-grid .card-image { aspect-ratio: 3 / 2; min-height: 0; }
[data-building-detail] .building-alsoviewed-grid .property-card-body { display: flex; flex-direction: column; }
[data-building-detail] .building-alsoviewed-grid .property-card-body .button { margin-top: auto; }
