/* ========================================================================== 
   PERBRA homepage
   Scope: German and English homepages only.

   Ownership
   ---------
   This is the single source of truth for homepage layout, presentation,
   responsive behavior and homepage-specific motion. Shared header, footer,
   consent and neutral media behavior remain in their dedicated global files.

   File structure
   --------------
   00  Homepage design tokens
   01  Motion and accessibility foundations
   02  Canonical responsive layout contract
   03  Component foundations
   04  Responsive component behavior
   05  Premium component presentation

   German and English use this exact stylesheet. Language-specific selectors
   are permitted only where different copy lengths require optical correction.
   ========================================================================== */

/* Responsive profile contract
   ---------------------------
   Wide desktop:       min-width 1500px and wide fine-pointer refinements.
   Standard desktop:   component bases plus min-width 1181px/1367px refinements.
   Fine pointer:       hover:hover and pointer:fine interaction/layout corrections.
   Tablet landscape:  coarse-pointer landscape ranges, including tall tablets.
   Tablet portrait:   641–1024px portrait and larger coarse-pointer portrait views.
   One column:         the canonical compound query in section 02.
   Mobile:             max-width 640px; 420–700px are component micro-breakpoints.
   Mobile landscape:   max-width 820px with landscape orientation.
   Reduced motion:     prefers-reduced-motion:reduce only.
   Protected 1194px:  1113–1194 × 821–834px coarse-pointer landscape.

   Responsive rules stay next to the component or correction layer they modify.
   Identical queries are merged only when directly adjacent; moving them globally
   would change source-order precedence and therefore the approved presentation. */

/* 00 — Homepage design tokens
   Values in this block belong exclusively to the dark homepage presentation.
   Shared brand tokens remain owned by style.css. */

.home-page {
  --perbra-section-top-glow: linear-gradient(
    180deg,
    rgba(225, 212, 194, .032) 0%,
    rgba(225, 212, 194, .020) 27%,
    rgba(225, 212, 194, .010) 52%,
    rgba(225, 212, 194, .004) 73%,
    rgba(225, 212, 194, 0) 100%
  ) top center / 100% clamp(300px, 28vw, 460px) no-repeat;
  --perbra-editorial-surface:
    var(--perbra-section-top-glow),
    radial-gradient(circle at 2% 100%, rgba(188, 168, 143, .07), transparent 30%),
    linear-gradient(135deg, #12100d 0%, #080706 54%, #050504 100%);
  --perbra-section-grid:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
}

.home-page main {
  --home-theme-accent: var(--perbra-gold-mid);
  --home-theme-line: rgba(184, 157, 101, .22);
  --home-contact-ink: var(--perbra-champagne-text);
  --home-contact-muted: var(--perbra-champagne-text);
  --home-contact-field: rgba(6,5,4,.36);
  --home-contact-line: var(--perbra-divider-color-soft);
}

/* 01 — Motion foundations
   Home-owned keyframes remain local to this stylesheet. */

@keyframes homeHeroReveal {
  from {
    opacity: 0;
    transform: translate3d(0,0,0) scale(1.085);
  }
  to {
    opacity: 1;
    transform: translate3d(0,var(--hero-shift, 0px),0) scale(1.035);
  }
}

@keyframes perbraMicroGridDrift {
  from {
    background-position: 0 0, 0 0, 0 0, 0 0, 5% 12%, 31% 20%, 58% 20%, 11% 69%, 0 0, 0 0;
  }
  to {
    background-position: 0 0, 0 0, 0 0, 0 0, 6.5% 13.5%, 32.2% 18.8%, 56.5% 21.5%, 12% 69%, 52px 26px, 26px 52px;
  }
}

@keyframes perbraMicroOrbit {
  to {
    transform: rotate(360deg);
  }
}

@keyframes perbraReferenceBackdropDrift {
  from {
    transform: scale(1.025) translate3d(-.4%, -.2%, 0);
  }
  to {
    transform: scale(1.055) translate3d(.6%, .35%, 0);
  }
}

@keyframes perbraReferenceNetworkBreathe {
  from {
    opacity: .54;
    filter: brightness(.92);
  }
  to {
    opacity: .84;
    filter: brightness(1.12);
  }
}

/* 02 — Canonical one-column contract
   Shared layout invariant for portrait, compact landscape and coarse-pointer views. */
@media (max-width: 1024px) and (orientation: portrait),
  (max-width: 820px) and (orientation: landscape),
  (max-width: 1366px) and (max-height: 820px) and (orientation: landscape) and (hover: none) and (pointer: coarse),
  (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  :is(
    .home-page .world-chapter,
    .home-page .world-chapter--reverse,
    .home-page .projects-heading,
    .home-page .approach-heading,
    .home-page .local-strengths,
    .home-page .home-contact-head,
    .home-page .home-contact-grid,
    .home-page .home-about-grid,
    .home-page .home-about-copy,
    .home-page .form-row
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .home-page .home-about-aside .eyebrow {
    display: none;
  }

}

/* 03 — Component foundations
   Component-local responsive adjustments retain their proven cascade position. */

/* 03.0 — Shared section surfaces
   The editorial and contact sections intentionally use one identical surface.
   All homepage main sections share the same divider treatment. */

.home-page .real-estate-editorial,
.home-page .home-contact {
  background: var(--perbra-editorial-surface);
}

.home-page .real-estate-editorial::before,
.home-page .home-contact::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .18;
  background-image: var(--perbra-section-grid);
  background-size: 54px 54px;
  box-shadow: none;
  mask-image: linear-gradient(to bottom, black, transparent 80%);
}

.home-page .real-estate-editorial,
.home-page .projects-showcase,
.home-page .project-approach,
.home-page .home-contact,
.home-page .home-about {
  border-top: 1px solid transparent;
  border-image: var(--perbra-divider-gradient) 1;
}

/* 03.1 — Hero and shared foundations */
.hero {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
  display: flex;
  align-items: flex-end;
  background: #15120e;
}

.hero-image {
  position: absolute;
  inset: -3%;
  z-index: -5;
  background-position: center center;
  background-size: cover;
  transform: translate3d(0, var(--hero-shift, 0px), 0) scale(1.025);
  will-change: transform;
  animation: heroReveal 1.7s cubic-bezier(.22,.75,.2,1) both;
}

.home-hero > video.hero-video {
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover;
  object-position: center 52%;
  background: #17130f;
}

.section {
  position: relative;
  padding: clamp(92px, 10vw, 168px) 0;
}

.section-shell {
  width: var(--shell);
  margin: auto;
}

.eyebrow {
  margin: 0 0 20px;
  color: var(--gold-bright);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .25em;
  line-height: 1.5;
  text-transform: uppercase;
}

@media (max-width: 1024px) and (orientation: portrait), (max-width: 820px) and (orientation: landscape), (max-width: 1366px) and (max-height: 820px) and (orientation: landscape) and (hover: none) and (pointer: coarse), (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .hero {
    min-height: 940px;
  }

  .hero-image {
    inset: 0;
    background-position: 53% center;
    transform: none;
  }
}

@media (max-width: 560px) {
  .hero {
    min-height: 980px;
    align-items: flex-end;
  }

  .hero-image {
    inset: 0;
    background-position: 53% top;
  }

  .section {
    padding: 82px 0;
  }

}

.local-strengths {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: clamp(42px, 6vw, 96px);
  margin-top: clamp(72px, 8vw, 126px);
  padding: clamp(44px, 5vw, 76px) clamp(38px, 5.2vw, 82px);
  overflow: hidden;
}

.local-strengths::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.local-strengths::after {
  content: "";
  position: absolute;
  left: 0;
  top: clamp(44px, 5vw, 76px);
  bottom: clamp(44px, 5vw, 76px);
  width: 2px;
}

.strengths-heading,
.strengths-grid {
  position: relative;
  z-index: 1;
}

.strengths-heading .eyebrow {
  margin-bottom: 19px;
  font-size: 9px;
}

.strengths-heading h3 {
  max-width: 470px;
  margin: 0;
  font-family: var(--sans);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.025em;
}

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

.strength-card:first-child {
  border-right: 1px solid rgba(219,181,124,.20);
}

@media (max-width: 1024px) and (orientation: portrait), (max-width: 820px) and (orientation: landscape), (max-width: 1366px) and (max-height: 820px) and (orientation: landscape) and (hover: none) and (pointer: coarse), (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .local-strengths {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .strengths-heading h3 {
    max-width: 720px;
  }
}

@media (max-width: 700px) {
  .local-strengths::after {
    top: 38px;
    bottom: 40px;
  }

  .strengths-grid {
    grid-template-columns: 1fr;
  }

  .strength-card,
  .strength-card:first-child,
  .strength-card:last-child {
    padding: 30px 0;
    border-right: 0;
  }

  .strength-card:first-child {
    border-bottom: 1px solid rgba(219,181,124,.20);
  }
}

@media (max-width: 420px) {
  .local-strengths::after {
    top: 34px;
    bottom: 36px;
  }

}

/* 03.2 — Property gallery foundation */
.projects-showcase {
  position: relative;
  padding-inline: 0;
  color: #2b2119;
  overflow: hidden;
}

.projects-showcase::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(94, 68, 44, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(94, 68, 44, .035) 1px, transparent 1px);
  background-size: 44px 44px;
}

.projects-heading,
.approach-heading {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(300px, .7fr);
  align-items: end;
}

.projects-heading .eyebrow,
.approach-heading .eyebrow {
  margin: 0 0 16px;
}

.projects-heading h2,
.approach-heading h2 {
  margin: 0;
  max-width: 760px;
  font-family: var(--sans);
  font-weight: 400;
  letter-spacing: -.035em;
}

.projects-heading > p,
.approach-heading > p {
  margin: 0 0 5px;
  max-width: 590px;
  font-size: 15px;
  line-height: 1.82;
  color: rgba(48, 35, 25, .66);
}

/* 03.3 — Curated approach foundation */
.project-approach {
  position: relative;
  padding: clamp(78px, 8vw, 128px) 0 clamp(82px, 9vw, 138px);
  color: #2a2018;
}

@media (max-width: 1024px) and (orientation: portrait), (max-width: 820px) and (orientation: landscape), (max-width: 1366px) and (max-height: 820px) and (orientation: landscape) and (hover: none) and (pointer: coarse), (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .projects-heading,
  .approach-heading {
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: start;
  }

  .projects-heading h2,
  .approach-heading h2 {
    max-width: 820px;
  }

  .projects-heading > p,
  .approach-heading > p {
    max-width: 760px;
  }

  .projects-showcase,
  .project-approach {
    padding-top: 62px;
    padding-bottom: 76px;
  }

  .projects-heading,
  .approach-heading {
    margin-bottom: 34px;
  }

  .projects-heading h2,
  .approach-heading h2 {
    font-size: 43px;
  }
}

@media (max-width: 600px) {
  .projects-showcase,
  .project-approach {
    padding-top: 48px;
    padding-bottom: 62px;
  }

  .projects-heading,
  .approach-heading {
    gap: 18px;
    margin-bottom: 28px;
  }

  .projects-heading h2,
  .approach-heading h2 {
    font-size: 34px;
    line-height: 1.02;
  }

  .projects-heading > p,
  .approach-heading > p {
    font-size: 13.5px;
    line-height: 1.68;
  }

  .project-approach .local-strengths {
    margin-top: 54px;
  }
}

.home-hero .hero-image {
  inset: -2.5%;
  background-position: center 52%;
  transform: translate3d(0, var(--hero-shift, 0px), 0) scale(1.035);
  animation: homeHeroReveal 2.1s cubic-bezier(.2,.75,.2,1) both;
}

/* 03.4 — Advisory and investment editorial layout */
.world-chapter {
  margin: 0 auto;
  display: grid;
}

.world-chapter--reverse .world-media {
  grid-column: 2;
  grid-row: 1;
}

.world-chapter--reverse .world-copy {
  grid-column: 1;
  grid-row: 1;
}

.world-media {
  position: relative;
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(235, 225, 212, .12);
}

.world-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 55%, rgba(6,5,4,.38) 100%);
}

.world-media img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  transition: transform 1.25s cubic-bezier(.16,1,.3,1);
}

.world-chapter:hover .world-media img {
  transform: scale(1.025);
}

.world-index {
  position: absolute;
  left: clamp(24px, 3vw, 42px);
  bottom: clamp(22px, 3vw, 38px);
  z-index: 2;
  font-family: var(--serif);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.04em;
}

.world-text {
  margin: 0;
}

.world-benefits {
  list-style: none;
  margin: clamp(29px, 3vw, 42px) 0 0;
  padding: 0;
}

.world-benefits li {
  position: relative;
  margin: 0;
  border-bottom: 1px solid rgba(21,18,15,.13);
  font-weight: 600;
  line-height: 1.45;
  text-transform: uppercase;
}

.projects-showcase::before {
  opacity: .42;
}

@media (max-width: 1024px) and (orientation: portrait), (max-width: 820px) and (orientation: landscape), (max-width: 1366px) and (max-height: 820px) and (orientation: landscape) and (hover: none) and (pointer: coarse), (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .home-hero .hero-image {
    background-position: 54% center;
  }

  .world-chapter--reverse .world-media,
  .world-chapter--reverse .world-copy {
    grid-column: 1;
  }

  .world-chapter--reverse .world-media {
    grid-row: 1;
  }

  .world-chapter--reverse .world-copy {
    grid-row: 2;
  }
}

@media (max-width: 640px) {

  .home-hero .hero-image {
    inset: -1.5%;
    background-position: 57% center;
    transform: translate3d(0,0,0) scale(1.03);
  }

  .world-index {
    left: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-hero .hero-image {
    animation: none !important;
  }

  .world-media img {
    transition: none;
  }
}

.hero.home-hero {
  position: relative;
  display: block;
  overflow: hidden;
  isolation: isolate;
  background: #17130f;
  min-height: 100svh !important;
  height: 100svh !important;
}

.home-hero > .hero-image {
  height: auto !important;
  min-height: 0 !important;
  top: -2.5% !important;
  right: -2.5% !important;
  bottom: -2.5% !important;
  left: -2.5% !important;
  background-position: center 52%;
}

@media (max-width: 640px) {
  .hero.home-hero {
    min-height: 100svh !important;
    height: 100svh !important;
  }

  .home-hero > .hero-image {
    top: -1.5% !important;
    right: -1.5% !important;
    bottom: -1.5% !important;
    left: -1.5% !important;
    background-position: 57% center;
  }

}

.world-index {
  font-size: clamp(35px, 3.5vw, 52px);
}

.projects-showcase,
.project-approach,
.about.section {
  padding-top: clamp(70px, 6.4vw, 98px);
  padding-bottom: clamp(76px, 6.8vw, 106px);
}

.projects-heading,
.approach-heading {
  gap: clamp(32px, 5vw, 72px);
  margin-bottom: clamp(32px, 3.8vw, 50px);
}

.projects-heading h2,
.approach-heading h2 {
  font-size: clamp(38px, 3.75vw, 58px);
  line-height: 1;
}

.projects-heading > p,
.approach-heading > p {
  max-width: 540px;
  font-size: 14px;
  line-height: 1.72;
}

.strengths-heading h3 {
  font-size: clamp(27px, 2.35vw, 36px);
}

@media (max-width: 1024px) and (orientation: portrait), (max-width: 820px) and (orientation: landscape), (max-width: 1366px) and (max-height: 820px) and (orientation: landscape) and (hover: none) and (pointer: coarse), (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .projects-showcase,
  .project-approach,
  .about.section {
    padding-top: 64px;
    padding-bottom: 76px;
  }
}

@media (max-width: 640px) {

  .world-media {
    max-height: 500px;
  }

  .world-index {
    font-size: 38px;
  }

  .projects-showcase,
  .project-approach,
  .about.section {
    padding-top: 52px;
    padding-bottom: 62px;
  }

  .projects-heading,
  .approach-heading {
    margin-bottom: 27px;
  }

  .projects-heading h2,
  .approach-heading h2 {
    font-size: 33px;
  }

  .projects-heading > p,
  .approach-heading > p {
    font-size: 13px;
    line-height: 1.64;
  }

}

.eyebrow {
  color: var(--brand-champagne);
}

.world-index {
  color: rgba(243, 236, 226, .88);
  text-shadow: 0 10px 30px rgba(0,0,0,.18);
}

.projects-showcase {
  background: radial-gradient(circle at 9% 0%, rgba(227, 215, 198, .085), transparent 31%), radial-gradient(circle at 92% 86%, rgba(187, 168, 143, .055), transparent 35%), linear-gradient(180deg, #070706 0%, #0b0a09 52%, #070706 100%);
}

.about {
  background: radial-gradient(circle at 14% 0%, rgba(226, 214, 198, .065), transparent 31%), #050504;
}

.worlds-editorial {
  position: relative;
  z-index: 2;
  isolation: isolate;
  margin-top: -1px;
  padding: clamp(46px, 4.8vw, 72px) 0 clamp(84px, 7.4vw, 112px);
  overflow: hidden;
}

.worlds-editorial::after {
  content: none;
}

.world-chapter,
.world-chapter--reverse {
  position: relative;
  z-index: 1;
  align-items: start;
  padding: clamp(24px, 2.2vw, 34px) 0 clamp(76px, 6.7vw, 102px);
}

.world-chapter:first-of-type {
  padding-top: clamp(14px, 1.2vw, 22px);
}

.world-chapter + .world-chapter {
  padding-top: clamp(78px, 7vw, 106px);
  border-top: 0;
}

.world-chapter + .world-chapter::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(232, 221, 207, .17) 12%, rgba(232, 221, 207, .17) 88%, transparent);
}

.world-media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.035);
}

@media (max-width: 1024px) and (orientation: portrait), (max-width: 820px) and (orientation: landscape), (max-width: 1366px) and (max-height: 820px) and (orientation: landscape) and (hover: none) and (pointer: coarse), (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .worlds-editorial {
    padding-top: 42px;
  }

  .world-chapter,
  .world-chapter--reverse {
    padding-top: 14px;
  }
}

@media (max-width: 640px) {
  .worlds-editorial {
    padding: 34px 0 70px;
  }

  .world-chapter,
  .world-chapter--reverse {
    padding-top: 10px;
    padding-bottom: 62px;
  }

  .world-chapter + .world-chapter {
    padding-top: 58px;
  }

}

@media (min-width: 1181px) {
  .world-chapter,
  .world-chapter--reverse {
    width: min(1480px, calc(100vw - 7vw));
    gap: clamp(74px, 6.2vw, 118px);
  }

  .world-chapter {
    grid-template-columns: minmax(0, 1.055fr) minmax(0, .945fr);
  }

  .world-chapter--reverse {
    grid-template-columns: minmax(0, .945fr) minmax(0, 1.055fr);
  }

  .world-media {
    aspect-ratio: 1.12 / 1;
  }

  .world-copy {
    width: 100%;
  }

  .world-chapter:not(.world-chapter--reverse) .world-copy {
    justify-self: end;
  }

  .world-chapter--reverse .world-copy {
    justify-self: start;
  }
}

@media (min-width: 1500px) {
  .world-chapter,
  .world-chapter--reverse {
    gap: clamp(96px, 6.4vw, 126px);
  }
}

/* 03.5 — Closing signature foundation */
.home-about {
  position: relative;
  overflow: hidden;
  padding-top: clamp(66px, 6vw, 92px) !important;
  padding-bottom: clamp(66px, 6vw, 92px) !important;
}

.home-about::after {
  content: '';
  position: absolute;
  inset: auto 6vw 0;
  height: 1px;
}

.home-about-grid {
  width: min(1480px, calc(100vw - 8vw));
  display: grid;
  grid-template-columns: minmax(190px, .38fr) minmax(0, 1.62fr);
  gap: clamp(52px, 8vw, 132px);
  align-items: center;
}

.home-about-aside {
  min-height: 160px;
  padding-right: clamp(28px, 4vw, 64px);
  border-right: 1px solid rgba(232, 221, 207, .15);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.home-about-aside .eyebrow {
  margin-bottom: 24px;
}

.home-about-meta {
  font-size: 9px;
  line-height: 1.75;
  letter-spacing: .19em;
}

.home-about-meta-label {
  font-size: 12px;
}

.home-about-line {
  width: 56px;
  height: 1px;
  margin-top: 26px;
}

.home-about-copy {
  max-width: 950px;
  display: grid;
  grid-template-columns: minmax(400px, .95fr) minmax(290px, .75fr);
  gap: clamp(42px, 6vw, 92px);
  align-items: end;
}

.home-about-copy h2 {
  margin: 0;
  font-size: clamp(38px, 4.2vw, 64px);
  line-height: 1.03;
  letter-spacing: -.025em;
}

.home-about-copy h2 span {
  font-style: italic;
  font-weight: 400;
}

/* 03.6 — Contact foundation */
.home-contact {
  position: relative;
  overflow: hidden;
  padding-top: clamp(78px, 7vw, 112px);
  padding-bottom: clamp(82px, 7.3vw, 118px);
  text-align: left;
}

.home-contact-head {
  position: relative;
  z-index: 1;
  width: min(1480px, calc(100vw - 8vw));
  margin-bottom: clamp(44px, 5vw, 72px);
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .7fr);
  column-gap: clamp(50px, 8vw, 130px);
  align-items: end;
}

.home-contact-head .eyebrow {
  grid-column: 1 / -1;
  margin-bottom: 22px;
}

.home-contact-head h2 {
  max-width: 900px;
  margin: 0;
  font-size: clamp(39px, 4.4vw, 68px);
  line-height: 1.02;
  letter-spacing: -.025em;
}

.home-contact-head > p:last-child {
  max-width: 450px;
  margin: 0 0 5px;
  font-size: 14px;
  line-height: 1.72;
}

.home-contact-grid {
  position: relative;
  z-index: 1;
  width: min(1480px, calc(100vw - 8vw));
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(22px, 2.5vw, 38px);
  align-items: stretch;
}

.meet-panel,
.inquiry-form {
  position: relative;
  min-height: 100%;
}

.meet-panel {
  overflow: hidden;
  padding: clamp(34px, 4vw, 58px);
  color: inherit;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  transition: transform .45s cubic-bezier(.2,.75,.2,1), border-color .35s ease, background .35s ease, box-shadow .35s ease;
}

.meet-panel:hover,
.meet-panel:focus-visible {
  transform: translateY(-4px);
}

.meet-panel-top {
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: 8px;
  letter-spacing: .21em;
}

.meet-mark {
  width: 28px;
  height: 22px;
  position: relative;
  display: inline-block;
}

.meet-mark i {
  position: absolute;
  display: block;
  border-radius: 2px;
}

.meet-mark i:nth-child(1) {
  inset: 3px 8px 3px 0;
}

.meet-mark i:nth-child(2) {
  width: 8px;
  height: 8px;
  right: 0;
  top: 2px;
  transform: skewY(-28deg);
}

.meet-mark i:nth-child(3) {
  width: 8px;
  height: 8px;
  right: 0;
  bottom: 2px;
  transform: skewY(28deg);
}

.meet-panel h3 {
  max-width: 620px;
  margin: clamp(48px, 7vw, 90px) 0 20px;
  font-size: clamp(36px, 3.7vw, 56px);
}

.meet-panel p {
  max-width: 620px;
  font-size: 14px;
  line-height: 1.72;
}

.meet-panel-cta {
  position: relative;
  z-index: 1;
  margin-top: auto;
  padding-top: clamp(42px, 6vw, 76px);
  font-size: 9px;
  letter-spacing: .19em;
  text-transform: uppercase;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.meet-panel-cta i {
  font-size: 17px;
  font-style: normal;
}

.inquiry-form {
  padding: clamp(30px, 3.4vw, 48px);
  display: grid;
  gap: 20px;
}

.form-honeypot {
  position: absolute !important;
  left: -9999px !important;
}

.inquiry-form-head {
  margin-bottom: 6px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
}

.inquiry-form-head span {
  font-size: 8px;
  letter-spacing: .21em;
}

.inquiry-form-head h3 {
  margin-top: 8px;
  font-size: clamp(31px, 3vw, 45px);
}

.inquiry-form-head > p {
  font-size: 9px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.inquiry-form label {
  display: grid;
  gap: 8px;
}

.inquiry-form label > span {
  font-size: 8px;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.inquiry-form input,
.inquiry-form select,
.inquiry-form textarea {
  width: 100%;
  border-radius: 0;
  outline: 0;
  font: inherit;
  font-size: 13.5px;
  transition: border-color .25s ease, background .25s ease, box-shadow .25s ease;
}

.inquiry-form input,
.inquiry-form select {
  height: 48px;
  padding: 0 14px;
}

.inquiry-form textarea {
  min-height: 108px;
  padding: 13px 14px;
  resize: vertical;
}

.inquiry-form select {
  appearance: none;
  background-position: calc(100% - 17px) 21px, calc(100% - 12px) 21px;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

.inquiry-form-footer {
  padding-top: 5px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.inquiry-submit {
  min-height: 48px;
  padding: 0 22px;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform .3s ease, background .3s ease, border-color .3s ease;
}

.inquiry-submit:hover,
.inquiry-submit:focus-visible {
  transform: translateY(-2px);
}

.inquiry-submit span {
  margin-left: 28px;
  font-size: 14px;
}

.inquiry-form-footer > a {
  font-size: 10px;
  letter-spacing: .08em;
  transition: color .25s ease;
}

.form-status {
  min-height: 18px;
  margin: -4px 0 0;
  font-size: 11px;
}

@media (max-width: 1024px) and (orientation: portrait), (max-width: 820px) and (orientation: landscape), (max-width: 1366px) and (max-height: 820px) and (orientation: landscape) and (hover: none) and (pointer: coarse), (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .home-about-grid,
  .home-contact-head,
  .home-contact-grid {
    width: min(860px, calc(100vw - 48px));
  }

  .home-about-grid {
    grid-template-columns: 160px 1fr;
    gap: 46px;
  }

  .home-about-copy {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .home-about-copy h2 {
    font-size: clamp(38px, 6vw, 54px);
  }

  .home-contact-head {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .home-contact-head > p:last-child {
    max-width: 620px;
  }

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

  .meet-panel h3 {
    margin-top: 58px;
  }
}

@media (max-width: 640px) {
  .home-about {
    padding-top: 58px !important;
    padding-bottom: 66px !important;
  }

  .home-about-grid,
  .home-contact-head,
  .home-contact-grid {
    width: calc(100vw - 32px);
  }

  .home-about-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .home-about-aside {
    min-height: auto;
    padding: 0 0 26px;
    border-right: 0;
    border-bottom: 1px solid rgba(232,221,207,.14);
  }

  .home-about-aside .eyebrow {
    margin-bottom: 16px;
  }

  .home-about-line {
    margin-top: 18px;
  }

  .home-about-copy {
    gap: 20px;
  }

  .home-about-copy h2 {
    font-size: 37px;
  }

  .home-contact-head {
    margin-bottom: 34px;
  }

  .home-contact-head .eyebrow {
    margin-bottom: 12px;
  }

  .home-contact-head h2 {
    font-size: 38px;
  }

  .home-contact-head > p:last-child {
    font-size: 13px;
  }

  .meet-panel,
  .inquiry-form {
    padding: 26px 22px;
  }

  .meet-panel {
    min-height: 410px;
  }

  .meet-panel h3 {
    margin: 46px 0 18px;
    font-size: 37px;
  }

  .meet-panel p {
    font-size: 13.5px;
  }

  .form-row {
    grid-template-columns: 1fr;
  }

  .inquiry-form-head {
    align-items: start;
  }

  .inquiry-form-head h3 {
    font-size: 34px;
  }

  .inquiry-form-head > p {
    display: none;
  }

  .inquiry-form-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .inquiry-submit {
    width: 100%;
    justify-content: space-between;
  }

  .inquiry-form-footer > a {
    text-align: center;
  }
}


/* ========================================================================== 
   04 — Responsive component behavior
   Device, pointer, orientation and language corrections retain their validated
   order. New work should prefer the canonical profiles documented above.
   ========================================================================== */

/* 04.1 — Shared responsive editorial behavior */
.home-page .world-chapter + .world-chapter::before {
  opacity: 1;
}

.home-page .world-chapter + .world-chapter {
  border-top: 0;
  border-image: none;
}

.home-page .projects-showcase .project-viewport {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: none !important;
  scroll-behavior: auto;
  overscroll-behavior-inline: contain;
  touch-action: pan-y;
  cursor: grab;
  user-select: none;
}

.home-page .projects-showcase .project-track {
  gap: clamp(22px, 1.8vw, 32px);
  padding: 3px 2px 30px;
}

@media (hover: none) and (pointer: coarse) {
  .home-page .projects-showcase .project-card {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }

}

.home-page .projects-showcase .project-viewport.is-dragging {
  cursor: grabbing;
}

/* 04.2 — Responsive gallery interaction */
.home-page .projects-showcase .project-card {
  flex-basis: clamp(420px, 29vw, 560px);
  min-height: 0;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 0;
  border-image: linear-gradient( 135deg, rgba(238, 227, 201, .86), rgba(161, 145, 103, .58) 42%, rgba(139, 123, 88, .66) 72%, rgba(213, 198, 164, .78)) 1;
  background: #080706;
  box-shadow: 0 28px 68px rgba(0,0,0,.36), 0 0 0 1px rgba(213, 198, 164, .14), 0 0 24px rgba(161, 145, 103, .07);
  transform: none;
}

.home-page .projects-showcase .project-card:hover,
.home-page .projects-showcase .project-card:focus-within {
  border-color: transparent;
  box-shadow: 0 32px 76px rgba(0,0,0,.42), 0 0 0 1px rgba(213, 198, 164, .20), 0 0 28px rgba(161, 145, 103, .10);
  transform: none;
}

.home-page .projects-showcase .project-card-media > .perbra-media-link {
  display: block;
  width: 100%;
  min-height: 0;
  height: 100%;
  border-radius: 0;
}

.home-page .projects-showcase .project-card-media > .perbra-media-link:focus-visible {
  outline: 2px solid rgba(213, 198, 164, .92);
  outline-offset: -5px;
}

.home-page .projects-showcase .project-card-media {
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
}

@media (max-width: 900px) {
  .home-page .projects-showcase .project-card {
    flex-basis: min(72vw, 520px);
  }
}

@media (min-width: 641px) and (max-width: 1024px),
  (min-width: 821px) and (max-width: 1366px) and (max-height: 820px) and (orientation: landscape) and (hover: none) and (pointer: coarse),
  (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .home-page .worlds-editorial .world-media {
    min-height: 0;
    aspect-ratio: 12 / 7;
  }

  .home-page .project-approach {
    padding-top: 50px !important;
  }

  .home-page .project-approach::before,
  .home-page .project-approach .approach-micro-scene {
    translate: 0 -80px;
  }

  .home-page .project-approach::after {
    translate: -30px 0;
  }

  .home-page .project-approach .approach-heading h2 {
    transform: translateY(-5px);
  }

  .home-page .project-approach .approach-intro {
    position: relative;
    top: 30px;
  }

  .home-page .project-approach .local-strengths {
    top: -10px;
    padding-bottom: 0;
  }

  .home-page .project-approach .strengths-heading h3 {
    transform: translateY(-15px);
  }

  .home-page .project-approach .strengths-grid {
    /* Reclaim space left in normal flow by the visual upward translation. */
    margin-bottom: -42px;
    transform: translateY(-30px);
  }

  .home-page .projects-showcase .project-card {
    flex-basis: min(52vw, 370px);
  }

  .home-page .projects-showcase .projects-heading > div {
    transform: translateY(-12px);
  }

  .home-page .projects-showcase .projects-heading h2 {
    transform: translateY(-5px);
  }
}

@media (min-width: 641px) and (max-width: 1024px) and (orientation: portrait), (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .home-page .project-approach::before,
  .home-page .project-approach .approach-micro-scene {
    translate: 0 -10px;
  }

  .home-page .project-approach::after {
    translate: -30px 70px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-page .projects-showcase .project-viewport {
    overflow-x: auto;
  }

  .home-page .projects-showcase .project-track {
    will-change: auto;
  }
}

.home-page .projects-heading > p,
.home-page .approach-heading > p {
  color: var(--perbra-champagne-text);
}

.home-page .project-approach .local-strengths,
.home-page .strength-card {
  border-color: var(--perbra-divider-color-soft);
}

.home-page .world-chapter .world-index {
  top: clamp(22px, 3vw, 38px);
  bottom: auto;
  text-shadow: 0 3px 18px rgba(0,0,0,.38);
}

.home-page .world-chapter .world-benefits {
  align-content: start;
}

@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
  .home-page .project-approach :is(.approach-heading, .approach-intro) {
    translate: 0 -10px;
  }

}

@media (min-width: 641px) and (max-width: 1024px) and (orientation: portrait),
  (min-width: 821px) and (max-width: 1366px) and (max-height: 820px) and (orientation: landscape) and (hover: none) and (pointer: coarse),
  (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .home-page .world-chapter:first-of-type .world-copy {
    position: relative;
    top: -15px;
  }

}

@media (max-width: 820px) and (orientation: landscape) {
  .home-page .world-chapter:first-of-type .world-copy {
    position: relative;
    top: -10px;
  }

  .home-page .meet-panel > h3 + p {
    margin-top: -40px;
  }
}

.home-page .project-approach {
  isolation: isolate;
  overflow: hidden;
}

.home-page .project-approach > .section-shell {
  position: relative;
  z-index: 2;
}

.home-page .project-approach::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .44;
  background: radial-gradient(circle at 11% 23%, rgba(255,249,231,.88) 0 1px, rgba(213,198,164,.50) 1.5px, rgba(161,145,103,.13) 3px, transparent 8px), radial-gradient(circle at 31% 71%, rgba(255,249,231,.78) 0 1px, rgba(213,198,164,.43) 1.5px, rgba(161,145,103,.11) 3px, transparent 8px), radial-gradient(circle at 63% 19%, rgba(255,249,231,.82) 0 1px, rgba(213,198,164,.46) 1.5px, rgba(161,145,103,.12) 3px, transparent 9px), radial-gradient(circle at 88% 62%, rgba(255,249,231,.72) 0 1px, rgba(213,198,164,.40) 1.5px, rgba(161,145,103,.10) 3px, transparent 8px), linear-gradient(24deg, transparent 49.82%, rgba(161,145,103,.12) 49.91%, rgba(238,227,201,.24) 50%, rgba(161,145,103,.10) 50.09%, transparent 50.18%) 5% 12% / 37% 43% no-repeat, linear-gradient(-17deg, transparent 49.84%, rgba(161,145,103,.10) 49.92%, rgba(238,227,201,.20) 50%, rgba(161,145,103,.09) 50.08%, transparent 50.16%) 31% 20% / 38% 48% no-repeat, linear-gradient(28deg, transparent 49.85%, rgba(161,145,103,.10) 49.93%, rgba(238,227,201,.18) 50%, rgba(161,145,103,.08) 50.07%, transparent 50.15%) 58% 20% / 34% 47% no-repeat, linear-gradient(90deg, transparent, rgba(161,145,103,.09) 20%, rgba(238,227,201,.19) 51%, rgba(161,145,103,.08) 82%, transparent) 11% 69% / 78% 1px no-repeat, linear-gradient(rgba(229,222,211,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(229,222,211,.025) 1px, transparent 1px);
  background-size: auto, auto, auto, auto, 37% 43%, 38% 48%, 34% 47%, 78% 1px, 52px 52px, 52px 52px;
}

/* Keep the network lines and grid on iPad, but remove the four decorative light nodes. */
@media (min-width: 641px) and (max-width: 1024px) and (orientation: portrait),
       (min-width: 821px) and (max-width: 1366px) and (orientation: landscape) and (hover: none) and (pointer: coarse),
       (min-width: 821px) and (min-height: 821px) and (orientation: landscape) and (hover: none) and (pointer: coarse),
       (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .home-page .project-approach::before {
    background-image:
      none,
      none,
      none,
      none,
      linear-gradient(24deg, transparent 49.82%, rgba(161,145,103,.12) 49.91%, rgba(238,227,201,.24) 50%, rgba(161,145,103,.10) 50.09%, transparent 50.18%),
      linear-gradient(-17deg, transparent 49.84%, rgba(161,145,103,.10) 49.92%, rgba(238,227,201,.20) 50%, rgba(161,145,103,.09) 50.08%, transparent 50.16%),
      linear-gradient(28deg, transparent 49.85%, rgba(161,145,103,.10) 49.93%, rgba(238,227,201,.18) 50%, rgba(161,145,103,.08) 50.07%, transparent 50.15%),
      linear-gradient(90deg, transparent, rgba(161,145,103,.09) 20%, rgba(238,227,201,.19) 51%, rgba(161,145,103,.08) 82%, transparent),
      linear-gradient(rgba(229,222,211,.025) 1px, transparent 1px),
      linear-gradient(90deg, rgba(229,222,211,.025) 1px, transparent 1px);
  }
}

.home-page .project-approach::after {
  content: "";
  position: absolute;
  top: calc(clamp(68px, 7vw, 110px) - 40px);
  right: calc(clamp(-130px, -7vw, -54px) + 100px);
  width: clamp(250px, 27vw, 500px);
  aspect-ratio: 1;
  border-radius: 50%;
  pointer-events: none;
  animation: perbraMicroOrbit 34s linear infinite;
}

.home-page .project-approach .local-strengths {
  isolation: isolate;
}

.home-page .project-approach .local-strengths::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.home-page .project-approach .local-strengths::after {
  z-index: 1;
}

.home-page .project-approach .strengths-heading,
.home-page .project-approach .strengths-grid {
  z-index: 2;
}

.home-page .project-approach .strength-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.home-page .project-approach .strength-card > * {
  position: relative;
  z-index: 1;
}

@media (max-width: 820px) {
  .home-page .project-approach::before {
    opacity: .34;
  }

  .home-page .project-approach::after {
    right: -45px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-page .project-approach::before,
  .home-page .project-approach::after,
  .home-page .project-approach .local-strengths,
  .home-page .project-approach .local-strengths::before,
  .home-page .project-approach .local-strengths::after {
    animation: none;
  }
}

.home-page .project-approach .approach-micro-scene img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: .96;
  transform: scale(1.025);
  filter: saturate(.82) contrast(1.08) brightness(.84);
  animation: perbraReferenceBackdropDrift 18s cubic-bezier(.45,0,.55,1) infinite alternate;
}

.home-page .project-approach .approach-micro-scene::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(5,5,4,.22), transparent 35%, rgba(5,5,4,.08) 70%, rgba(5,5,4,.24)), linear-gradient(180deg, rgba(5,5,4,.16), transparent 34%, rgba(5,5,4,.13));
}

.home-page .project-approach::before {
  z-index: 1;
  animation: perbraReferenceNetworkBreathe 7.5s ease-in-out infinite alternate, perbraMicroGridDrift 22s linear infinite;
}

.home-page .project-approach::after {
  z-index: 1;
}

.home-page .project-approach .approach-heading {
  grid-template-columns: minmax(0, 1fr);
  max-width: 940px;
}

@media (prefers-reduced-motion: reduce) {
  .home-page .project-approach .approach-micro-scene img {
    animation: none;
  }
}

.home-page .project-approach .approach-heading .eyebrow {
  text-shadow: 0 0 18px rgba(229,222,211,.14);
}

.home-page .project-approach .approach-heading h2 {
  line-height: 1.08;
  padding: 0 .04em .18em 0;
  overflow: visible;
}

.home-page .project-approach .approach-heading {
  margin-bottom: clamp(16px, 1.8vw, 26px);
}

.home-page .project-approach .approach-intro {
  max-width: 1080px;
  margin: 0 0 clamp(70px, 7vw, 102px);
  font-size: clamp(15px, 1.08vw, 18px);
  font-weight: 400;
  line-height: 1.82;
  letter-spacing: .005em;
  text-wrap: pretty;
  text-shadow: 0 2px 18px rgba(0,0,0,.34);
}

@media (max-width: 700px) {
  .home-page .project-approach .approach-heading {
    margin-bottom: 12px;
  }

  .home-page .project-approach .approach-intro {
    margin-bottom: 54px;
  }
}

.home-page .project-approach .local-strengths {
  margin-top: 0;
  padding: clamp(30px, 2.6vw, 38px) clamp(38px, 5.2vw, 82px);
  border: 1px solid transparent;
  border-radius: 0;
}

@media (min-width: 1025px) and (orientation: portrait) and (hover: hover) and (pointer: fine),
  (min-width: 821px) and (orientation: landscape) and (hover: hover) and (pointer: fine),
  (min-width: 821px) and (min-height: 821px) and (orientation: landscape) and (hover: none) and (pointer: coarse),
  (min-width: 1367px) {
  .home-page .project-approach {
    /* Desktop refinement: shorten only the lower section breathing room. */
    padding-bottom: calc(clamp(76px, 6.8vw, 106px) - 30px);
  }

  .home-page .project-approach .approach-intro {
    position: relative;
    top: 30px;
  }

  .home-page .project-approach .local-strengths {
    top: -30px;
  }

  .home-page .project-approach::after {
    translate: -60px -30px;
  }

  .home-page .project-approach::before {
    translate: 0 30px;
  }

  .home-page .project-approach .strengths-heading {
    align-self: start;
    transform: translate(-18px, -16px);
  }
}

.home-page .project-approach .strengths-heading h3 {
  color: transparent;
  background: var(--perbra-heading-gradient-large);
  background-size: var(--perbra-heading-gradient-size);
  background-position: var(--perbra-heading-gradient-position);
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1.32;
  padding: 0 .04em .16em 0;
  overflow: visible;
}

.home-page .project-approach .strengths-grid {
  border: 1px solid rgba(229,222,211,.30);
}

.home-page .project-approach .strength-card,
.home-page .project-approach .strength-card:first-child,
.home-page .project-approach .strength-card:last-child {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0;
  min-height: 0;
  padding: clamp(20px, 2vw, 28px) clamp(24px, 2.2vw, 34px);
}

.home-page .project-approach .strength-card:first-child {
  padding-left: clamp(24px, 2.4vw, 36px);
}

.home-page .project-approach .strength-card:last-child {
  padding-right: clamp(24px, 2.4vw, 36px);
}

.home-page .project-approach .strength-card > p {
  width: 100%;
  margin: 0;
  font-size: clamp(14px, .88vw, 15.5px);
  font-weight: 400;
  line-height: 1.64;
  letter-spacing: .003em;
  text-wrap: pretty;
}

.home-page .project-approach .strength-card > h4 {
  margin: 0 0 8px;
  font-family: var(--sans);
  font-size: clamp(18px, 1.35vw, 22px);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: -.006em;
  text-wrap: balance;
}

@media (max-width: 700px) {
  .home-page .project-approach .strength-card,
  .home-page .project-approach .strength-card:first-child,
  .home-page .project-approach .strength-card:last-child {
    min-height: 0;
    padding: 26px 0;
    padding-bottom: 40px;
  }

  .home-page .project-approach .strength-card:first-child {
    border-right: 0;
  }

  .home-page .project-approach .strength-card > p {
    font-size: 14px;
    line-height: 1.7;
  }
}

.home-page .project-approach .approach-micro-scene {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
  opacity: .74;
  mix-blend-mode: screen;
  -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.82), #000 28%, #000 88%, rgba(0,0,0,.38));
  mask-image: linear-gradient(180deg, rgba(0,0,0,.82), #000 28%, #000 88%, rgba(0,0,0,.38));
}

@media (max-width: 820px) {
  .home-page .project-approach .approach-micro-scene {
    opacity: .50;
  }
}

/* 04.3 — Responsive contact behavior */
.home-page .home-contact-head h2,
.home-page .meet-panel h3,
.home-page .inquiry-form-head h3 {
  padding: 0 .04em .14em 0;
  overflow: visible;
}

.home-page .home-contact-head h2 {
  margin-bottom: -.14em;
}

.home-page .home-contact-head > .eyebrow,
.home-page .home-contact-head > h2 {
  transform: translateY(-30px);
}

.home-page .meet-panel h3 {
  margin-top: calc(clamp(48px, 7vw, 90px) + 70px);
  margin-bottom: 40px;
}

.home-page .meet-panel-top,
.home-page .meet-panel .meet-panel-intro,
.home-page .meet-panel h3 {
  transform: translateY(-12px);
}

.home-page .inquiry-form-head {
  transform: translateY(-10px);
}

.home-page .meet-panel .meet-panel-intro {
  position: absolute;
  top: calc(clamp(108px, 8vw, 132px) - 20px);
  left: clamp(34px, 4vw, 58px);
  right: clamp(34px, 4vw, 58px);
  max-width: 620px;
  margin: 0;
  color: var(--perbra-champagne-text);
  font-size: clamp(15px, 1vw, 16px);
  line-height: 1.46;
}

@media (max-width: 1024px) and (orientation: portrait), (max-width: 820px) and (orientation: landscape), (max-width: 1366px) and (max-height: 820px) and (orientation: landscape) and (hover: none) and (pointer: coarse), (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .home-page .meet-panel .meet-panel-intro {
    position: static;
    max-width: 620px;
    margin-top: 14px;
  }

  .home-page .meet-panel h3 {
    margin-top: 44px;
  }
}

.home-page .home-contact-head > p:last-child {
  width: 760px;
  max-width: none;
  font-size: clamp(15px, 1vw, 16px);
  line-height: 1.46;
  transform: translate(-280px, 101px);
}

.home-page .home-contact-grid {
  transform: translateY(40px);
}

@media (min-width: 1025px) and (orientation: portrait) and (hover: hover) and (pointer: fine), (min-width: 821px) and (orientation: landscape) and (hover: hover) and (pointer: fine), (min-width: 821px) and (min-height: 821px) and (orientation: landscape) and (hover: none) and (pointer: coarse), (min-width: 1367px) {
  .home-page .home-contact-head > h2 {
    transform: translateY(-35px);
  }

  .home-page .home-contact-head > p:last-child {
    transform: translate(-280px, 61px);
  }

  .home-page .home-contact-grid {
    transform: translateY(15px);
  }
}

@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
  .home-page .inquiry-form-footer {
    transform: translateY(25px);
  }
}

@media (max-width: 1024px) and (orientation: portrait), (max-width: 820px) and (orientation: landscape), (max-width: 1366px) and (max-height: 820px) and (orientation: landscape) and (hover: none) and (pointer: coarse), (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .home-page .home-contact-head > p:last-child {
    width: auto;
    max-width: 620px;
    transform: translateY(40px);
  }

}

@media (min-width: 641px) and (max-width: 1024px),
  (min-width: 821px) and (max-width: 1366px) and (max-height: 820px) and (orientation: landscape) and (hover: none) and (pointer: coarse),
  (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .home-page .home-contact-head {
    gap: 0;
    margin-bottom: 10px;
  }

  .home-page .home-contact-head > .eyebrow {
    margin-bottom: 10px;
  }

  .home-page .home-contact-head > h2 {
    margin-bottom: 70px;
  }

  .home-page .home-contact-head > p:last-child {
    margin-bottom: 0;
  }

  .home-page .home-contact-head > .eyebrow,
  .home-page .home-contact-head > h2,
  .home-page .home-contact-head > p:last-child {
    transform: translateY(-30px);
  }

  .home-page .home-contact-grid {
    gap: 32px;
    transform: translateY(-25px);
  }
}

.home-page .meet-mark i {
  border-radius: 1px;
}

.home-page .inquiry-form .perbra-select {
  position: relative;
  z-index: 4;
  width: 100%;
}

.home-page .inquiry-form .perbra-select__native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0;
  pointer-events: none;
}

.home-page .inquiry-form .perbra-select__trigger {
  width: 100%;
  height: 48px;
  padding: 0 18px 0 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border: 1px solid;
  border-radius: 0;
  outline: 0;
  font: inherit;
  font-size: 13.5px;
  text-align: left;
  cursor: pointer;
  transition: border-color .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease;
}

.home-page .inquiry-form .perbra-select__chevron {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  border-right: 1px solid var(--perbra-gold-mid);
  border-bottom: 1px solid var(--perbra-gold-mid);
  transform: rotate(45deg);
  transition: transform .25s ease, margin .25s ease;
}

.home-page .inquiry-form .perbra-select.is-open .perbra-select__chevron {
  margin-top: 4px;
  transform: rotate(225deg);
}

.home-page .inquiry-form .perbra-select__listbox {
  position: absolute;
  z-index: 30;
  top: calc(100% + 1px);
  right: 0;
  left: 0;
  max-height: 280px;
  overflow-y: auto;
  padding: 6px;
  border: 1px solid;
}

.home-page .inquiry-form .perbra-select__listbox[hidden] {
  display: none;
}

.home-page .inquiry-form .perbra-select__option {
  min-height: 36px;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  border-left: 2px solid transparent;
  background: transparent;
  font-size: 13.5px;
  line-height: 1.25;
  cursor: pointer;
  transition: color .16s ease, background .16s ease, border-color .16s ease;
}

.home-page .inquiry-form .perbra-select__option[aria-disabled="true"] {
  cursor: default;
}

.home-page .inquiry-form input:-webkit-autofill,
.home-page .inquiry-form input:-webkit-autofill:hover,
.home-page .inquiry-form input:-webkit-autofill:focus,
.home-page .inquiry-form textarea:-webkit-autofill,
.home-page .inquiry-form textarea:-webkit-autofill:hover,
.home-page .inquiry-form textarea:-webkit-autofill:focus {
  transition: background-color 9999s ease-out 0s;
}

.home-page .meet-panel-cta,
.home-page .inquiry-submit {
  position: relative;
  min-height: 50px;
  padding: 0 18px;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.home-page .meet-panel-cta {
  width: min(100%, 360px);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* 04.4 — Responsive closing signature and language exceptions */
.home-page .home-about-copy h2 {
  padding: 0 .04em .14em 0;
  margin-bottom: -.14em;
  overflow: visible;
  transform: translate(-30px, -40px);
}

.home-page .home-about-copy h2 .home-about-heading-lead {
  display: inline-block;
  white-space: nowrap;
  font-style: normal;
}

@media (min-width: 1025px) and (orientation: portrait) and (hover: hover) and (pointer: fine),
  (min-width: 821px) and (orientation: landscape) and (hover: hover) and (pointer: fine),
  (min-width: 821px) and (min-height: 821px) and (orientation: landscape) and (hover: none) and (pointer: coarse),
  (min-width: 1367px) {
  .home-page .home-about-copy h2 {
    transform: translate(-80px, -40px);
  }

  .home-page .home-about-aside > * {
    transform: translateY(-105px);
  }

  .home-page .home-about-aside {
    position: relative;
    border-right-color: transparent;
  }

  .home-page .home-about-aside::after {
    content: "";
    position: absolute;
    top: -40px;
    right: -1px;
    bottom: 0;
    width: 1px;
    background: rgba(213,198,164,.28);
    pointer-events: none;
  }

  html[lang="en"] .home-page .home-about-aside::after {
    top: -60px;
    bottom: 10px;
    transform: translateY(20px);
  }

  .home-page .home-about-copy > div {
    transform: translate(30px, 35px);
  }

  html[lang="en"] .home-page .home-about {
    padding-bottom: calc(clamp(66px, 6vw, 92px) - 30px) !important;
  }

  html[lang="en"] .home-page .home-about-grid {
    transform: translateY(10px);
  }

  html[lang="en"] .home-page .home-about-copy h2 {
    transform: translate(-80px, -20px);
  }

  html[lang="en"] .home-page .home-about-copy > div {
    transform: translate(30px, 55px);
  }

  html[lang="de"] .home-page .home-about {
    padding-bottom: calc(clamp(66px, 6vw, 92px) - 50px) !important;
  }

  html[lang="de"] .home-page .home-about-aside::after {
    top: -60px;
    transform: translateY(10px);
  }

  html[lang="de"] .home-page .home-about-copy h2 {
    transform: translate(-80px, -30px);
  }

  html[lang="de"] .home-page .home-about-copy > div {
    transform: translate(30px, 45px);
  }

  .home-page .home-about-copy {
    position: relative;
    top: -70px;
  }

  .home-page .home-about-aside::after {
    translate: 0 -60px;
  }
}

@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
  .home-page .home-about-copy {
    top: -60px;
  }

  .home-page .home-about-aside::after {
    translate: 0 -30px;
  }

  html[lang="de"] .home-page .home-about-copy h2 {
    transform: translate(-80px, -20px);
  }

  html[lang="en"] .home-page .home-about-copy h2 {
    transform: translate(-80px, -10px);
  }

}

@media (min-width: 1367px) and (hover: hover) and (pointer: fine) {
  .home-page .home-about-meta,
  .home-page .home-about-line {
    translate: 0 -30px;
  }

  .home-page .home-about-copy {
    translate: 0 30px;
  }

  .home-page .home-about-copy > div {
    translate: 20px 0;
  }

}

@media (min-width: 1025px) and (hover: hover) and (pointer: fine),
  (min-width: 821px) and (min-height: 821px) and (orientation: landscape) and (hover: none) and (pointer: coarse) {
  .home-page .home-about-meta,
  .home-page .home-about-line {
    position: relative;
    top: -10px;
  }

  .home-page .home-about-line {
    top: -30px;
  }
}

@media (min-width: 1025px) and (hover: hover) and (pointer: fine),
  (min-width: 1367px) {
  .home-page .home-about-copy {
    width: 100%;
    max-width: none;
    grid-template-columns: minmax(0, 480px) minmax(290px, 380px);
    justify-content: space-between;
  }

  .home-page .home-about-copy > div {
    width: 100%;
    justify-self: end;
    translate: 0 0;
  }

  html[lang="de"] .home-page .home-about-copy > div {
    transform: translateY(45px);
  }

  html[lang="en"] .home-page .home-about-copy > div {
    transform: translateY(55px);
  }
}

@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
  html[lang="de"] .home-page .home-about-copy > div {
    transform: translateY(55px);
  }

  html[lang="en"] .home-page .home-about-copy > div {
    transform: translateY(65px);
  }
}

@media (min-width: 641px) and (max-width: 1024px),
  (min-width: 1025px) and (max-width: 1366px) and (max-height: 820px) and (orientation: landscape) and (hover: none) and (pointer: coarse),
  (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .home-page .home-about {
    padding-top: 30px !important;
    padding-bottom: 72px !important;
  }

  .home-page .home-about-grid {
    width: min(920px, calc(100vw - 64px));
    grid-template-columns: minmax(145px, 180px) minmax(0, 1fr);
    gap: clamp(34px, 5vw, 52px);
    align-items: stretch;
  }

  .home-page .home-about-aside {
    min-height: 0;
    padding: 8px 30px 8px 0;
    border-right: 1px solid rgba(213,198,164,.28);
    justify-content: flex-start;
  }

  .home-page .home-about-aside > * {
    transform: none;
  }

  .home-page .home-about-aside .eyebrow {
    margin-bottom: 20px;
  }

  .home-page .home-about-line {
    margin-top: 24px;
  }

  .home-page .home-about-copy {
    position: static;
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
    align-content: center;
  }

  .home-page .home-about-copy h2,
  html[lang="de"] .home-page .home-about-copy h2,
  html[lang="en"] .home-page .home-about-copy h2 {
    width: 100%;
    margin: 0;
    padding: 0 0 .12em;
    transform: none;
    font-size: clamp(37px, 5.2vw, 46px);
    line-height: 1.04;
  }

  .home-page .home-about-copy h2 .home-about-heading-lead {
    white-space: normal;
  }

  .home-page .home-about-copy > div,
  html[lang="de"] .home-page .home-about-copy > div,
  html[lang="en"] .home-page .home-about-copy > div {
    max-width: 560px;
    transform: none;
  }

  .home-page .home-about-copy > div > p {
    font-size: 14px;
    line-height: 1.72;
  }
}

@media (min-width: 1025px) and (hover: hover) and (pointer: fine),
  (min-width: 1367px) {
  html[lang="de"] .home-page .home-about-copy > div {
    /* Preserve the approved German desktop line break without affecting tablets. */
    width: calc(100% - 20px);
    justify-self: end;
  }
}

@media (max-width: 680px) {
  .home-page .home-about-aside {
    border-right: 0;
    border-bottom: 1px solid rgba(213,198,164,.24);
  }
}

@media (max-width: 640px) {
  .home-page .reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .home-page .world-chapter,
  .home-page .world-chapter--reverse,
  .home-page .project-approach > .section-shell,
  .home-page .projects-showcase > .section-shell,
  .home-page .home-contact-head,
  .home-page .home-contact-grid,
  .home-page .home-about-grid {
    width: calc(100% - 40px);
    max-width: none;
  }

  .home-page .worlds-editorial {
    padding: 30px 0 54px;
  }

  .home-page .world-chapter,
  .home-page .world-chapter--reverse {
    gap: 22px;
    padding-top: 8px;
    padding-bottom: 48px;
  }

  .home-page .world-chapter:first-of-type {
    padding-bottom: 102px;
  }

  .home-page .world-chapter:first-of-type .world-copy {
    position: relative;
    top: -5px;
  }

  .home-page .world-chapter + .world-chapter {
    padding-top: 46px;
  }

  .home-page .project-approach {
    padding-block: 56px;
  }

  .home-page .project-approach .approach-heading .eyebrow {
    position: relative;
    top: -10px;
    font-size: 10px;
  }

  .home-page .projects-heading .eyebrow {
    position: relative;
    top: -10px;
    font-size: 10px;
  }

  .home-page .projects-heading h2 {
    position: relative;
    top: -20px;
  }

  .home-page .projects-showcase .project-carousel {
    top: -5px;
  }

  .home-page .home-contact-head > .eyebrow {
    font-size: 10px;
  }

  .home-page .home-contact-head > h2,
  .home-page .home-contact-head > h2 + p {
    position: relative;
    top: -15px;
  }

  .home-page .project-approach .approach-heading h2 {
    position: relative;
    top: -20px;
    font-size: clamp(30px, 8.2vw, 32px);
    line-height: 1.07;
  }

  .home-page .project-approach .approach-intro {
    position: relative;
    top: -5px;
    margin-bottom: 36px;
    color: var(--perbra-champagne-text);
    background: none;
    -webkit-text-fill-color: currentColor;
    font-size: 14px;
    line-height: 1.7;
  }

  .home-page .project-approach .local-strengths {
    position: relative;
    top: -5px;
    padding: 25px 20px 30px;
    animation: none;
  }

  .home-page .project-approach .strengths-heading h3 {
    position: relative;
    top: -10px;
    font-size: clamp(24px, 6.6vw, 26px);
    line-height: 1.28;
  }

  .home-page .project-approach .strengths-grid {
    position: relative;
    top: -10px;
  }

  .home-page .project-approach .strength-card,
  .home-page .project-approach .strength-card:first-child,
  .home-page .project-approach .strength-card:last-child {
    padding: 22px 16px 26px;
  }

  .home-page .project-approach .strength-card > h4 {
    font-size: 18px;
  }

  .home-page .project-approach .strength-card > p {
    font-size: 12.5px;
    line-height: 1.64;
  }

  .home-page .projects-showcase {
    padding-block: 54px;
  }

  .home-page .projects-heading h2 {
    font-size: clamp(30px, 8.2vw, 32px);
    line-height: 1.05;
  }

  .home-page .projects-showcase .project-viewport {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: none !important;
    overscroll-behavior-x: contain;
    touch-action: pan-x pan-y;
    scrollbar-width: none;
  }

  .home-page .projects-showcase .project-viewport::-webkit-scrollbar {
    display: none;
  }

  .home-page .projects-showcase .project-track {
    gap: 14px;
    padding: 3px 0 18px;
    will-change: auto;
  }

  .home-page .projects-showcase .project-card {
    flex: 0 0 min(76vw, 300px);
    aspect-ratio: 4 / 5;
    scroll-snap-align: start;
  }

  .home-page .home-contact {
    padding-block: 56px;
    padding-bottom: 61px;
  }

  .home-page .home-contact-head {
    gap: 18px;
    margin-bottom: 30px;
  }

  .home-page .home-contact-head > .eyebrow,
  .home-page .home-contact-head > h2,
  .home-page .home-contact-head > p:last-child,
  .home-page .home-contact-grid,
  .home-page .meet-panel-top,
  .home-page .meet-panel .meet-panel-intro,
  .home-page .meet-panel h3,
  .home-page .inquiry-form-head {
    transform: none;
  }

  .home-page .home-contact-head h2 {
    font-size: clamp(31px, 8.6vw, 34px);
    line-height: 1.03;
    transform: translateY(-10px);
  }

  .home-page .home-contact-head > p:last-child {
    top: -5px;
    margin-top: 0;
    font-size: 14px;
    line-height: 1.58;
  }

  .home-page .home-contact-grid {
    gap: 20px;
  }

  .home-page .meet-panel,
  .home-page .inquiry-form {
    min-height: 0;
    padding: 22px 18px;
  }

  .home-page .meet-panel {
    padding-bottom: 36px;
  }

  .home-page .meet-panel h3 {
    position: relative;
    top: -15px;
    margin: 42px 0 16px;
    font-size: clamp(30px, 8.2vw, 32px);
    line-height: 1.04;
  }

  .home-page .meet-panel .meet-panel-intro,
  .home-page .meet-panel > p {
    font-size: 13.5px;
    line-height: 1.58;
  }

  .home-page .meet-panel-cta {
    position: relative;
    top: 5px;
  }

  .home-page .meet-panel-cta,
  .home-page .inquiry-submit {
    height: 46px;
    min-height: 46px;
  }

  .home-page .inquiry-form-head h3 {
    position: relative;
    top: -5px;
    font-size: clamp(29px, 7.9vw, 31px);
    line-height: 1.05;
  }

  .home-page .inquiry-form select {
    background-image: linear-gradient(45deg, transparent 50%, var(--perbra-gold-mid) 50%), linear-gradient(135deg, var(--perbra-gold-mid) 50%, transparent 50%);
    background-position: calc(100% - 18px) 21px, calc(100% - 13px) 21px;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
  }

  .home-page .inquiry-submit {
    position: relative;
    top: 20px;
  }

  .home-page .home-about {
    padding-top: 54px !important;
    padding-bottom: 0 !important;
    margin-bottom: -52px;
  }

  .home-page .home-about-grid {
    position: relative;
    top: -24px;
    gap: 24px;
  }

  .home-page .home-about-copy {
    gap: 18px;
    position: relative;
    top: -55px;
  }

  .home-page .home-about-line {
    position: relative;
    top: -20px;
    width: 171px;
  }

  .home-page .home-about-copy h2 {
    position: relative;
    top: 10px;
    width: 100%;
    margin: 0;
    padding: 0 0 .14em;
    transform: none;
    font-size: clamp(31px, 8.5vw, 34px);
    line-height: 1.04;
  }

  .home-page .home-about-copy h2 .home-about-heading-lead {
    white-space: normal;
  }

  .home-page .home-about-copy > div {
    transform: none;
  }

  .home-page .home-about-copy > div > p {
    position: relative;
    top: 10px;
    font-size: 14px;
    line-height: 1.65;
  }
}

@media (max-width: 1024px),
  (min-width: 1025px) and (min-height: 641px) and (orientation: landscape) and (hover: none) and (pointer: coarse),
  (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .home-page :is(
    .meet-panel-cta,
    .inquiry-submit
  ) {
    box-sizing: border-box !important;
    height: var(--perbra-responsive-cta-height) !important;
    min-height: var(--perbra-responsive-cta-height) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

@media (max-width: 1024px) and (orientation: portrait), (max-width: 820px) and (orientation: landscape), (max-width: 1366px) and (max-height: 820px) and (orientation: landscape) and (hover: none) and (pointer: coarse), (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .home-page .home-about-aside {
    padding-right: 0;
    border-right: 0;
  }
}

@media (min-width: 821px) and (min-height: 821px) and (orientation: landscape) and (hover: none) and (pointer: coarse) {
  .home-page .project-approach .strengths-heading .eyebrow {
    translate: 0 clamp(0px, calc(79.419px - 5.814vw), 10px);
  }

  .home-page .project-approach .strengths-heading :is(.eyebrow, h3) {
    position: relative;
    top: clamp(0px, calc(39.709px - 2.907vw), 5px);
  }

  .home-page .home-contact-head > p:last-child {
    width: clamp(
      550px,
      min(calc(60.9756vw - 128.049px), calc(29.0698vw + 252.907px)),
      650px
    );
    translate:
      clamp(
      25px,
      max(calc(346.219px - 24.3902vw), calc(263.256px - 17.4419vw)),
      75px
      )
      clamp(-10px, calc(2.90698vw - 44.7093px), -5px);
  }

  .home-page .meet-panel h3 {
    translate: 0 clamp(0px, calc(436.829px - 36.5854vw), 30px);
  }

  .home-page .home-about-aside::after {
    right: clamp(-1px, calc(157.837px - 11.6279vw), 19px);
    translate: 0 calc(
      -60px + max(
      0px,
      min(calc(6.09756vw - 67.8049px), calc(39.7093px - 2.90698vw))
    )
    );
  }

  .home-page .home-about-copy h2 {
    translate: 0 clamp(-40px, calc(30.4878vw - 379.024px), 0px);
  }

  .home-page .home-about-copy > div {
    translate: clamp(-30px, calc(24.3902vw - 301.219px), 0px) 0;
  }

  .home-page .inquiry-form-footer {
    transform: translateY(25px);
  }

  .home-page .home-about-aside {
    transform: translateY(10px);
  }

  .home-page .home-about-copy > div {
    position: relative;
    top: 10px;
  }
}

@media (min-width: 641px) and (max-width: 1024px) and (orientation: portrait),
  (min-width: 821px) and (max-width: 1366px) and (max-height: 820px) and (orientation: landscape) and (hover: none) and (pointer: coarse),
  (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .home-page :is(
    .world-chapter,
    .world-chapter--reverse,
    .home-contact-head,
    .home-contact-grid,
    .home-about-grid
  ) {
    width: var(--shell);
    max-width: none;
  }

  .home-page :is(
    .world-copy,
    .home-contact-head > h2,
    .home-contact-head > p:last-child
  ) {
    max-width: none;
  }

  .home-page .home-contact {
    padding-bottom: 52px;
  }

  .home-page .home-contact-head > p:last-child {
    transform: translateY(-50px);
  }

  .home-page .home-contact-grid {
    transform: translateY(-45px);
  }

  .home-page .home-about {
    padding-bottom: 0 !important;
    margin-bottom: -58px;
  }

  .home-page .home-about-meta {
    position: relative;
    top: -20px;
  }

  .home-page .home-about-line {
    position: relative;
    top: -40px;
    width: 186px;
  }

  .home-page .home-about-copy {
    position: relative;
    top: -60px;
  }

  .home-page .meet-panel > h3 + p {
    margin-top: -40px;
  }
}

@media (min-width: 641px) and (max-width: 1024px) and (orientation: portrait),
  (min-width: 821px) and (max-width: 1200px) and (max-height: 820px) and (orientation: landscape) and (hover: none) and (pointer: coarse),
  (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .home-page .home-about-aside {
    transform: translateY(-25px);
  }
}

@media (min-width: 1113px) and (max-width: 1194px)
  and (min-height: 821px) and (max-height: 834px)
  and (orientation: landscape)
  and (hover: none) and (pointer: coarse) {
  html[lang] .home-page .home-about-aside {
    border-right-color: var(--home-theme-line);
    translate: -60px 0;
  }

  .home-page .home-about-aside > * {
    translate: 60px 30px;
  }

  .home-page .home-about-aside::after {
    translate: 0 -20px;
  }

  html[lang] .home-page .home-about-aside::after {
    top: -50px;
    right: -1px;
  }

  html[lang="en"] .home-page .home-about-aside::after {
    translate: 0 -10px;
  }

  html[lang="en"] .home-page .home-about-meta {
    max-width: 120px;
  }

  .home-page .home-about-copy h2 {
    translate: -45px 45px;
  }

  html[lang="en"] .home-page .home-about-copy h2 {
    translate: -45px 65px;
  }

  .home-page .home-about-copy > div {
    top: 40px;
  }

  .home-page .home-about-aside .eyebrow {
    display: none;
  }
}

@media (min-width: 1195px) and (min-height: 835px)
  and (orientation: landscape)
  and (hover: none) and (pointer: coarse) {
  .home-page .home-about-aside > * {
    translate: 0 -10px;
  }

  .home-page .home-about-aside::after {
    translate: 0 -30px;
  }

  html[lang] .home-page .home-about-aside::after {
    top: -50px;
  }

  .home-page .home-about-copy h2 {
    translate: 0 65px;
  }

  .home-page .home-about-copy > div {
    top: 55px;
  }
}

@media (min-width: 1025px) and (min-height: 821px)
  and (orientation: landscape)
  and (hover: none) and (pointer: coarse) {
  html[lang] .home-page .home-about {
    padding-bottom: calc(clamp(66px, 6vw, 92px) - 50px) !important;
  }

  html[lang] .home-page .home-about-grid {
    transform: none;
  }

  html[lang] .home-page .home-about-copy h2 {
    transform: translate(-80px, -30px);
  }

  html[lang] .home-page .home-about-copy {
    width: 100%;
    max-width: none;
    grid-template-columns: minmax(0, .95fr) minmax(250px, .75fr);
    gap: clamp(32px, 4vw, 55px);
    justify-content: space-between;
  }

  html[lang] .home-page .home-about-copy > div {
    justify-self: end;
    translate: 0 0;
    transform: translateY(45px);
  }

  html[lang="de"] .home-page .home-about-copy > div {
    /* Stabilize “international …” on the final line across iPad widths. */
    max-width: 320px;
  }

  html[lang] .home-page .home-about-aside::after {
    bottom: 0;
    transform: translateY(10px);
  }

}

/* Closing signature: device-specific finishing corrections.
   Keep these after the shared coarse-pointer landscape rules above. */
@media (min-width: 1025px) and (max-width: 1112px)
  and (min-height: 821px) and (max-height: 834px)
  and (orientation: landscape)
  and (hover: none) and (pointer: coarse) {
  .home-page .home-about-aside::after {
    translate: -30px -20px;
  }

  .home-page .home-about-copy h2 {
    translate: -30px 30px;
  }
}

@media (min-width: 1366px) and (max-width: 1376px)
  and (min-height: 1024px) and (max-height: 1032px)
  and (orientation: landscape)
  and (hover: none) and (pointer: coarse) {
  .home-page .home-about-aside::after {
    translate: -30px -30px;
  }

  .home-page .home-about-copy h2 {
    translate: -30px 65px;
  }

}


/* ========================================================================== 
   05 — Premium component presentation
   Geometry, typography and component presentation shared by both languages.
   ========================================================================== */
/* 05.1 — Advisory and investment editorial presentation */
.home-page .real-estate-editorial {
  color: var(--surface-ivory);
}

.home-page .real-estate-editorial .real-estate-intro {
  position: relative;
  z-index: 1;
  width: min(1480px, calc(100vw - 7vw));
  margin: 0 auto clamp(34px, 3.5vw, 52px);
  padding: clamp(38px, 3.6vw, 56px) 0 0;
  text-align: left;
}

.home-page .real-estate-editorial .real-estate-intro-title {
  max-width: none;
  margin: 0;
  padding: 0 0 .1em;
  color: #a19167;
  font-family: var(--serif);
  font-size: clamp(46px, 4.3vw, 68px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.home-page .real-estate-editorial .real-estate-intro-title > span {
  color: inherit;
}

@media (min-width: 1500px) {
  .home-page .real-estate-editorial .real-estate-intro-title {
    white-space: nowrap;
  }
}

.home-page .real-estate-editorial .world-chapter + .world-chapter {
  border-top-color: var(--surface-line);
}

.home-page .real-estate-editorial .world-chapter + .world-chapter::before {
  opacity: 1;
  background: var(--perbra-divider-gradient);
  box-shadow: none;
}

.home-page .real-estate-editorial .real-estate-eyebrow {
  margin: 0 0 clamp(15px, 1.35vw, 21px);
  color: transparent;
  background: var(--perbra-gold-gradient);
  background-size: var(--perbra-heading-gradient-size);
  background-position: var(--perbra-heading-gradient-position);
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: var(--sans);
  font-size: clamp(10px, .7vw, 11.5px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .18em;
}

.home-page .real-estate-editorial h2.real-estate-title,
.home-page .real-estate-editorial h2.real-estate-title > span {
  color: #a19167;
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #a19167;
  font-family: var(--sans);
  font-weight: 400;
  line-height: 1.025;
  letter-spacing: -.033em;
}

.home-page .real-estate-editorial h2.real-estate-title {
  max-width: 620px;
  margin: 0;
  padding: 0;
  font-size: clamp(36px, 2.72vw, 46px);
}

.home-page .real-estate-editorial h2.real-estate-title > span {
  display: block;
}

.home-page .real-estate-editorial h2.real-estate-title > small {
  display: block;
  max-width: 540px;
  margin-top: clamp(12px, 1.1vw, 17px);
  color: #f5eee4;
  background: none;
  font-family: var(--sans);
  font-size: clamp(17px, 1.25vw, 21px);
  font-weight: 400;
  line-height: 1.42;
  letter-spacing: .005em;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #f5eee4;
}

.home-page .real-estate-editorial .world-copy {
  position: relative;
  z-index: 3;
  align-self: center;
  max-width: 620px;
  padding: 0;
  border: 1px solid transparent;
  background: none;
  box-shadow: none;
}

.home-page .real-estate-editorial .world-copy::before {
  display: none;
}

.home-page .real-estate-editorial .world-text,
.home-page .real-estate-editorial .real-estate-lead,
.home-page .real-estate-editorial .real-estate-benefits li {
  color: #f5eee4;
}

.home-page .real-estate-editorial .real-estate-lead {
  max-width: 560px;
  margin-top: clamp(23px, 1.9vw, 30px);
  color: #f5eee4;
  font-size: clamp(14.5px, .94vw, 16px);
  font-weight: 500;
  line-height: 1.65;
}

.home-page .real-estate-editorial .real-estate-prose {
  max-width: 570px;
}

.home-page .real-estate-editorial .real-estate-prose .world-text + .world-text {
  margin-top: 11px;
}

.home-page .real-estate-editorial .real-estate-list-title {
  max-width: 560px;
  margin: clamp(22px, 1.8vw, 28px) 0 0;
  color: #f5eee4;
  font-family: var(--sans);
  font-size: clamp(13.5px, .88vw, 15px);
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: .01em;
}

.home-page .real-estate-editorial .real-estate-benefits {
  display: grid;
  min-height: 0;
  max-width: 590px;
  margin-top: clamp(15px, 1.25vw, 20px);
  padding: 0;
  border-top: 1px solid rgba(213, 198, 164, .18);
  counter-reset: real-estate-benefit;
  gap: 0;
}

.home-page .real-estate-editorial .real-estate-benefits li {
  position: relative;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: start;
  min-height: 0;
  padding: clamp(9px, .7vw, 12px) 0;
  border: 0;
  border-bottom: 1px solid rgba(213, 198, 164, .14);
  color: #f5eee4;
  font-size: clamp(13px, .84vw, 14.5px);
  font-weight: 400;
  line-height: 1.48;
  letter-spacing: 0;
  text-transform: none;
  counter-increment: real-estate-benefit;
}

.home-page .real-estate-editorial .real-estate-benefits li::before {
  content: counter(real-estate-benefit, decimal-leading-zero);
  position: static;
  width: auto;
  height: auto;
  border-radius: 0;
  color: var(--perbra-gold-mid);
  background: none;
  box-shadow: none;
  font-family: var(--sans);
  font-size: 9.5px;
  font-weight: 700;
  line-height: 2.18;
  letter-spacing: .08em;
}

.home-page .real-estate-editorial .real-estate-benefits li::after {
  display: none;
}

.home-page .real-estate-editorial .world-media {
  border-color: transparent;
  border-image: linear-gradient(135deg, var(--perbra-gold-champagne), var(--perbra-gold-mid) 48%, var(--perbra-gold-bronze)) 1;
  background: #211d18;
  box-shadow: 0 30px 78px rgba(0,0,0,.36), 0 0 0 1px rgba(213, 198, 164, .10), 0 0 22px rgba(161, 145, 103, .055), inset 0 1px 0 rgba(255,255,255,.04);
}

.home-page .real-estate-editorial .world-media::before {
  inset: 12px;
  border-color: rgba(238, 227, 201, .10);
}

.home-page .real-estate-editorial .world-index {
  color: var(--perbra-champagne-subheading);
  text-shadow: 0 3px 18px rgba(0,0,0,.38);
}

@media (min-width: 1181px) {
  .home-page .real-estate-editorial {
    --real-estate-copy-fine-shift: clamp(10px, .75vw, 14px);
    --real-estate-copy-gap-correction: clamp(28px, 1.7vw, 32px);
  }

  .home-page .real-estate-editorial .world-chapter:not(.world-chapter--reverse) .world-copy {
    margin-left: -108px;
    transform: translateX(calc(-1 * var(--real-estate-copy-fine-shift)));
  }

  .home-page .real-estate-editorial .world-chapter--reverse .world-copy {
    margin-right: -108px;
    transform: translateX(calc(var(--real-estate-copy-fine-shift) + var(--real-estate-copy-gap-correction)));
  }

  .home-page .real-estate-editorial .world-chapter--reverse .real-estate-benefits li:last-child {
    padding-right: clamp(42px, 3vw, 56px);
  }
}

@media (max-width: 1180px) {
  .home-page .real-estate-editorial .real-estate-intro {
    width: min(760px, calc(100vw - 48px));
    margin-bottom: clamp(36px, 5vw, 52px);
    padding-top: clamp(32px, 4.5vw, 48px);
  }

  .home-page .real-estate-editorial .real-estate-intro-title {
    font-size: clamp(46px, 6.2vw, 56px);
  }

  .home-page .real-estate-editorial .world-chapter,
  .home-page .real-estate-editorial .world-chapter--reverse {
    width: min(760px, calc(100vw - 48px));
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .home-page .real-estate-editorial .world-media,
  .home-page .real-estate-editorial .world-chapter--reverse .world-media {
    grid-column: 1;
    grid-row: 1;
    min-height: 0;
    aspect-ratio: 1.2 / 1;
  }

  .home-page .real-estate-editorial .real-estate-copy,
  .home-page .real-estate-editorial .world-chapter--reverse .real-estate-copy {
    grid-column: 1;
    grid-row: 2;
  }

  .home-page .real-estate-editorial .real-estate-copy {
    width: 100%;
    max-width: 720px;
  }

  .home-page .real-estate-editorial h2.real-estate-title,
  .home-page .real-estate-editorial h2.real-estate-title > small,
  .home-page .real-estate-editorial .real-estate-lead,
  .home-page .real-estate-editorial .real-estate-prose,
  .home-page .real-estate-editorial .real-estate-list-title,
  .home-page .real-estate-editorial .real-estate-benefits {
    max-width: 500px;
  }

  .home-page .real-estate-editorial h2.real-estate-title {
    font-size: clamp(38px, 5.4vw, 48px);
  }

}

@media (max-width: 640px) {
  .home-page .real-estate-editorial .real-estate-intro {
    width: calc(100% - 40px);
    margin-bottom: 34px;
    padding-top: 24px;
  }

  .home-page .real-estate-editorial .real-estate-intro-title {
    max-width: 520px;
    font-size: clamp(38px, 10.5vw, 44px);
    line-height: 1.07;
  }

  .home-page .real-estate-editorial .real-estate-eyebrow {
    margin-bottom: 13px;
    font-size: 9.5px;
    letter-spacing: .15em;
  }

  .home-page .real-estate-editorial h2.real-estate-title {
    font-size: clamp(32px, 9.1vw, 38px);
    line-height: 1.04;
  }

  .home-page .real-estate-editorial h2.real-estate-title > span {
    line-height: 1.04;
  }

  .home-page .real-estate-editorial h2.real-estate-title > small {
    margin-top: 11px;
    font-size: 16px;
    line-height: 1.4;
  }

  .home-page .real-estate-editorial .real-estate-lead {
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.62;
  }

  .home-page .real-estate-editorial .real-estate-prose .world-text + .world-text {
    margin-top: 9px;
  }

  .home-page .real-estate-editorial .real-estate-list-title {
    margin-top: 20px;
    font-size: 13.5px;
  }

  .home-page .real-estate-editorial .real-estate-benefits {
    margin-top: 13px;
  }

  .home-page .real-estate-editorial .real-estate-benefits li {
    grid-template-columns: 27px minmax(0, 1fr);
    padding: 10px 0;
    font-size: 13.5px;
    line-height: 1.48;
  }

  .home-page .real-estate-editorial .world-media {
    box-shadow: 0 30px 78px rgba(0,0,0,.36), 0 0 0 1px rgba(213, 198, 164, .10), 0 0 22px rgba(161, 145, 103, .055), inset 0 1px 0 rgba(255,255,255,.04);
  }
}

/* 05.2 — Curated approach presentation */
.home-page .project-approach {
  background: linear-gradient(180deg, #0b0a09 0%, #060605 100%);
}

.home-page .project-approach .approach-heading .eyebrow {
  color: transparent;
  background: var(--perbra-gold-gradient);
  background-size: var(--perbra-heading-gradient-size);
  background-position: var(--perbra-heading-gradient-position);
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.home-page .project-approach .approach-heading h2 {
  color: #a19167;
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #a19167;
}

.home-page .project-approach .approach-intro {
  color: rgba(229, 222, 211, .78);
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: rgba(229, 222, 211, .78);
  text-shadow: 0 2px 18px rgba(0, 0, 0, .34);
}

.home-page .project-approach::after {
  opacity: .29;
  background: radial-gradient(circle, transparent 0 24%, rgba(229,218,188,.20) 24.2% 24.5%, transparent 24.7% 38%, rgba(229,218,188,.23) 38.2% 38.5%, transparent 38.7% 50%, rgba(191,174,129,.18) 50.2% 50.5%, transparent 50.7%), conic-gradient(from 18deg, transparent 0 12%, rgba(229,218,188,.38) 12.2% 13%, transparent 13.2% 31%, rgba(245,235,211,.43) 31.2% 31.9%, transparent 32.1% 57%, rgba(191,174,129,.32) 57.2% 58%, transparent 58.2% 83%, rgba(229,218,188,.36) 83.2% 84%, transparent 84.2%);
  -webkit-mask-image: conic-gradient(
    from 18deg,
    transparent 0 12%,
    #000 12.2% 13%,
    transparent 13.2% 31%,
    #000 31.2% 31.9%,
    transparent 32.1% 57%,
    #000 57.2% 58%,
    transparent 58.2% 83%,
    #000 83.2% 84%,
    transparent 84.2%
  );
  mask-image: conic-gradient(
    from 18deg,
    transparent 0 12%,
    #000 12.2% 13%,
    transparent 13.2% 31%,
    #000 31.2% 31.9%,
    transparent 32.1% 57%,
    #000 57.2% 58%,
    transparent 58.2% 83%,
    #000 83.2% 84%,
    transparent 84.2%
  );
  filter: none;
}

.home-page .project-approach .approach-orbit-rings {
  position: absolute;
  z-index: 1;
  top: calc(clamp(68px, 7vw, 110px) - 40px);
  right: calc(clamp(-130px, -7vw, -54px) + 100px);
  width: clamp(250px, 27vw, 500px);
  aspect-ratio: 1;
  border-radius: 50%;
  pointer-events: none;
  opacity: .29;
  background: radial-gradient(
    circle,
    transparent 0 24%,
    rgba(229, 218, 188, .20) 24.2% 24.5%,
    transparent 24.7% 38%,
    rgba(229, 218, 188, .23) 38.2% 38.5%,
    transparent 38.7% 50%,
    rgba(191, 174, 129, .18) 50.2% 50.5%,
    transparent 50.7%
  );
}

@media (min-width: 641px) and (max-width: 1024px),
  (min-width: 821px) and (max-width: 1366px) and (max-height: 820px) and (orientation: landscape) and (hover: none) and (pointer: coarse),
  (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .home-page .project-approach .approach-orbit-rings {
    translate: -30px 0;
  }
}

@media (min-width: 641px) and (max-width: 1024px) and (orientation: portrait),
  (min-width: 1025px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .home-page .project-approach .approach-orbit-rings {
    translate: -30px 70px;
  }
}

@media (min-width: 1025px) and (orientation: portrait) and (hover: hover) and (pointer: fine),
  (min-width: 821px) and (orientation: landscape) and (hover: hover) and (pointer: fine),
  (min-width: 821px) and (min-height: 821px) and (orientation: landscape) and (hover: none) and (pointer: coarse),
  (min-width: 1367px) {
  .home-page .project-approach .approach-orbit-rings {
    translate: -60px -30px;
  }
}

.home-page .project-approach .local-strengths {
  border-color: rgba(213, 198, 164, .43);
  background: var(--perbra-espresso-walnut-surface), var(--perbra-gold-gradient) border-box;
  box-shadow: 0 30px 76px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,250,242,.08), inset 0 0 34px rgba(255,255,255,.018);
  -webkit-backdrop-filter: blur(12px) saturate(.72);
  backdrop-filter: blur(12px) saturate(.72);
  animation: none;
}

@media (min-width: 1181px) {
  .home-page .project-approach .local-strengths {
    grid-template-columns: minmax(250px, .58fr) minmax(0, 1.42fr);
    gap: clamp(54px, 4.6vw, 76px);
  }
}

.home-page .project-approach .local-strengths::before {
  opacity: 1;
  background: radial-gradient(circle at 14% 8%, rgba(213,198,164,.055), transparent 34%), linear-gradient(90deg, transparent, rgba(238,227,201,.25) 18%, rgba(255,250,242,.34) 50%, rgba(213,198,164,.18) 82%, transparent) 0 0 / 100% 1px no-repeat;
  filter: none;
  animation: none;
}

.home-page .project-approach .local-strengths::after {
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(187,170,130,.65) 24%, rgba(139,123,88,.62) 76%, transparent);
  box-shadow: 0 0 14px rgba(213,198,164,.14);
  animation: none;
}

.home-page .project-approach .strengths-heading .eyebrow {
  position: relative;
  top: 0;
  color: var(--perbra-gold-mid);
}

.home-page .project-approach .strengths-heading h3 {
  color: var(--perbra-champagne-text);
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: var(--perbra-champagne-text);
}

.home-page .project-approach .strengths-grid {
  align-self: start;
  border-color: rgba(229,222,211,.15);
}

.home-page .project-approach .strength-card,
.home-page .project-approach .strength-card:first-child,
.home-page .project-approach .strength-card:last-child {
  border-color: rgba(229,222,211,.14);
  background: linear-gradient(135deg, rgba(255,255,255,.018), transparent 72%);
}

.home-page .project-approach .strength-card:first-child {
  border-right-color: rgba(229,222,211,.16);
}

.home-page .project-approach .strength-card > h4 {
  color: #a19167;
}

.home-page .project-approach .strength-card > p {
  color: rgba(229,222,211,.78);
}

@media (max-width: 700px) {
  .home-page .project-approach .strength-card:first-child {
    border-bottom-color: rgba(229,222,211,.16);
  }
}

@media (max-width: 820px) {
  .home-page .project-approach::after {
    opacity: .19;
  }

  .home-page .project-approach .approach-orbit-rings {
    right: -45px;
    opacity: .19;
  }
}

@media (max-width: 640px) {
  .home-page .project-approach .approach-intro {
    color: rgba(229, 222, 211, .78);
    background: none;
    -webkit-text-fill-color: currentColor;
  }
}

/* 05.3 — Property gallery presentation */
.home-page .projects-showcase .projects-heading .eyebrow {
  color: transparent;
  background: var(--perbra-gold-gradient);
  background-size: var(--perbra-heading-gradient-size);
  background-position: var(--perbra-heading-gradient-position);
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.home-page .projects-showcase .projects-heading h2 {
  margin-bottom: -.16em;
  padding: 0 .04em .16em 0;
  overflow: visible;
  color: #a19167;
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #a19167;
}

/* 05.4 — Contact presentation */
.home-page .home-contact-head .eyebrow {
  color: transparent;
  background: var(--perbra-gold-gradient);
  background-size: var(--perbra-heading-gradient-size);
  background-position: var(--perbra-heading-gradient-position);
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.home-page .home-contact-head h2 {
  color: #a19167;
  background: none;
  font-family: var(--sans);
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #a19167;
}

.home-page .meet-panel,
.home-page .inquiry-form {
  border: 1px solid transparent;
  border-top-width: 3px;
  background: var(--perbra-espresso-walnut-surface), var(--perbra-gold-gradient) border-box;
  box-shadow: 0 34px 88px rgba(0,0,0,.38), 0 0 34px rgba(161,145,103,.075), inset 0 1px 0 rgba(255,250,242,.10), inset 0 0 42px rgba(213,198,164,.03);
  -webkit-backdrop-filter: blur(12px) saturate(.90);
  backdrop-filter: blur(12px) saturate(.90);
}

.home-page .meet-panel:hover,
.home-page .meet-panel:focus-visible {
  background: var(--perbra-espresso-walnut-surface-hover), var(--perbra-gold-gradient) border-box;
  box-shadow: 0 39px 94px rgba(0,0,0,.43), 0 0 42px rgba(161,145,103,.11), inset 0 1px 0 rgba(255,250,242,.13);
}

.home-page .meet-panel-top,
.home-page .inquiry-form-head span,
.home-page .inquiry-form label > span {
  color: var(--perbra-champagne-subheading);
}

.home-page .meet-panel h3,
.home-page .inquiry-form-head h3 {
  color: #a19167;
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #a19167;
  font-family: var(--sans);
  font-weight: 400;
  line-height: .94;
  letter-spacing: -.045em;
}

.home-page .meet-panel .meet-panel-intro,
.home-page .meet-panel > p,
.home-page .inquiry-form-head > p,
.home-page .inquiry-form-footer > a,
.home-page .form-status {
  color: var(--home-contact-muted);
}

.home-page .meet-panel > h3 + p {
  color: rgba(229, 222, 211, .78);
}

.home-page .home-contact-head > p:last-child {
  color: var(--perbra-champagne-text);
}

.home-page .meet-mark i {
  background: var(--perbra-gold-mid);
  box-shadow: 0 0 12px rgba(161,145,103,.18);
}

.home-page .inquiry-form input,
.home-page .inquiry-form select,
.home-page .inquiry-form textarea {
  border: 1px solid var(--perbra-divider-color-soft);
  background: rgba(6,5,4,.36);
  color: var(--perbra-champagne-text);
  box-shadow: inset 0 1px 0 rgba(255, 250, 242, .025);
}

.home-page .inquiry-form select {
  color-scheme: dark;
  background-color: var(--home-contact-field);
  background-image:
    linear-gradient(45deg, transparent 50%, var(--perbra-gold-mid) 50%),
    linear-gradient(135deg, var(--perbra-gold-mid) 50%, transparent 50%);
}

.home-page .inquiry-form select option {
  color: var(--perbra-champagne-text);
  background-color: #17140f;
}

.home-page .inquiry-form select option:checked,
.home-page .inquiry-form select option:hover,
.home-page .inquiry-form select option:focus {
  color: #f2ece2;
  background: #3a3327 !important;
  box-shadow: 0 0 0 100vmax #3a3327 inset;
}

.home-page .inquiry-form select option:disabled {
  color: rgba(217, 208, 190, .62);
}

.home-page .inquiry-form .perbra-select__trigger {
  border-color: var(--perbra-divider-color-soft);
  background: linear-gradient(135deg, rgba(239,230,218,.055), rgba(6,5,4,.36));
  color: rgba(217,208,190,.62);
  box-shadow: inset 0 1px 0 rgba(255,250,242,.025);
}

.home-page .inquiry-form .perbra-select__trigger.has-value {
  color: var(--perbra-champagne-text);
}

.home-page .inquiry-form .perbra-select__trigger:focus-visible,
.home-page .inquiry-form .perbra-select.is-open .perbra-select__trigger {
  border-color: rgba(213,198,164,.58);
  background: linear-gradient(135deg, rgba(161,145,103,.20), rgba(20,17,12,.82));
  color: #f2ece2;
  box-shadow: 0 0 0 3px rgba(161,145,103,.075), inset 0 1px 0 rgba(255,250,242,.06);
}

.home-page .inquiry-form .perbra-select.is-invalid .perbra-select__trigger {
  border-color: rgba(202,150,119,.72);
}

.home-page .inquiry-form input:focus,
.home-page .inquiry-form select:focus,
.home-page .inquiry-form textarea:focus {
  border-color: rgba(213,198,164,.55);
  background-color: rgba(161,145,103,.065);
  box-shadow: 0 0 0 3px rgba(161,145,103,.075), inset 0 1px 0 rgba(255,250,242,.045);
}

.home-page .inquiry-form .perbra-select__listbox {
  border-color: rgba(213,198,164,.38);
  background: linear-gradient(145deg, #17140f, #0d0b08 72%);
  box-shadow:
    0 24px 50px rgba(0, 0, 0, .48),
    inset 0 1px 0 rgba(255, 250, 242, .045);
}

.home-page .inquiry-form .perbra-select__option {
  color: var(--perbra-champagne-text);
}

.home-page .inquiry-form .perbra-select__option[aria-disabled="true"] {
  color: rgba(217, 208, 190, .46);
}

.home-page .inquiry-form .perbra-select__option[aria-selected="true"]:not(.is-active) {
  border-left-color: rgba(213,198,164,.72);
  background: rgba(161,145,103,.13);
  color: #f2ece2;
}

.home-page .inquiry-form .perbra-select__option.is-active {
  border-left-color: #e1d5bd;
  background: linear-gradient(90deg, #b3a178, #8f7d57);
  color: #100d09;
}

.home-page .inquiry-form textarea::placeholder {
  color: rgba(229, 222, 211, .42);
}

.home-page .inquiry-form input:-webkit-autofill,
.home-page .inquiry-form input:-webkit-autofill:hover,
.home-page .inquiry-form input:-webkit-autofill:focus,
.home-page .inquiry-form textarea:-webkit-autofill,
.home-page .inquiry-form textarea:-webkit-autofill:hover,
.home-page .inquiry-form textarea:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--home-contact-ink) !important;
  caret-color: var(--home-contact-ink);
  -webkit-box-shadow: 0 0 0 1000px #17140f inset !important;
  box-shadow: 0 0 0 1000px #17140f inset !important;
  border-color: var(--home-contact-line);
}

.home-page .meet-panel-cta,
.home-page .inquiry-submit {
  border: 1px solid transparent;
  color: var(--perbra-champagne-text);
  background: var(--perbra-espresso-walnut-surface), var(--perbra-gold-gradient) border-box;
  box-shadow: 0 14px 34px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08);
}

.home-page .meet-panel-cta i,
.home-page .inquiry-submit span {
  color: var(--perbra-gold-champagne);
}

.home-page .meet-panel:hover .meet-panel-cta,
.home-page .meet-panel:focus-visible .meet-panel-cta,
.home-page .inquiry-submit:hover,
.home-page .inquiry-submit:focus-visible {
  color: #fffaf2;
  background: var(--perbra-espresso-walnut-surface-hover), var(--perbra-gold-gradient) border-box;
  box-shadow: 0 18px 42px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.12);
}

.home-page .inquiry-form-footer > a:hover,
.home-page .inquiry-form-footer > a:focus-visible {
  color: var(--home-contact-ink);
}

/* 05.5 — Closing signature presentation */
.home-page .home-about {
  background: radial-gradient(circle at 13% 8%, rgba(161,145,103,.075), transparent 31%), radial-gradient(circle at 84% 100%, rgba(139,123,88,.035), transparent 30%), linear-gradient(180deg, #080706 0%, #050504 100%);
}

.home-page .home-about::after {
  background: linear-gradient(90deg, transparent, rgba(232,221,207,.20), transparent);
}

.home-page .home-about-aside {
  border-right-color: rgba(213,198,164,.28);
}

.home-page .home-about-aside .eyebrow {
  color: var(--perbra-champagne-subheading);
}

.home-page .home-about-meta {
  color: var(--perbra-champagne-text);
}

.home-page .home-about-line {
  background: var(--perbra-gold-gradient);
  box-shadow: 0 0 14px rgba(161,145,103,.13);
}

.home-page .home-about-copy h2 {
  color: transparent;
  background: var(--perbra-heading-gradient-large);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.home-page .home-about-copy h2 span {
  color: transparent;
  background: none;
  -webkit-text-fill-color: transparent;
}

.home-page .home-about-copy h2 .home-about-heading-lead {
  color: var(--perbra-champagne-subheading);
  font-family: var(--sans);
  -webkit-text-fill-color: var(--perbra-champagne-subheading);
}

.home-page .home-about-copy h2 > span:not(.home-about-heading-lead) {
  color: var(--home-theme-accent);
  font-family: var(--sans);
  font-style: normal;
  -webkit-text-fill-color: var(--home-theme-accent);
}

.home-page .home-about-copy > div,
.home-page .home-about-copy > div p {
  color: rgba(229, 222, 211, .78);
}

@media (min-width: 1025px) and (orientation: portrait),
  (min-width: 821px) and (orientation: landscape) and (hover: hover) and (pointer: fine),
  (min-width: 821px) and (max-width: 1366px) and (min-height: 821px) and (max-height: 1024px) and (orientation: landscape) and (hover: none) and (pointer: coarse),
  (min-width: 1367px) {
  .home-page .home-about-aside {
    border-right-color: transparent;
  }

  .home-page .home-about-aside::after {
    background: rgba(213,198,164,.28);
  }
}

/* Shared kicker treatment for every section of both home-page languages. */
.home-page .real-estate-editorial .real-estate-eyebrow,
.home-page .project-approach .approach-heading .eyebrow,
.home-page .project-approach .strengths-heading .eyebrow,
.home-page .projects-showcase .projects-heading .eyebrow,
.home-page .home-contact-head .eyebrow,
.home-page .home-about-aside .eyebrow {
  color: #a19167;
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #a19167;
}

/* Flat text colors for both real-estate editorial chapters (01 and 02). */
.home-page .real-estate-editorial .real-estate-title > small,
.home-page .real-estate-editorial .real-estate-lead,
.home-page .real-estate-editorial .real-estate-list-title,
.home-page .real-estate-editorial .real-estate-benefits li {
  opacity: 1;
  filter: none;
  text-shadow: none;
}

.home-page .real-estate-editorial .real-estate-title,
.home-page .real-estate-editorial .real-estate-title > span {
  color: #a19167;
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #a19167;
}

.home-page .real-estate-editorial .real-estate-title > small,
.home-page .real-estate-editorial .real-estate-list-title {
  color: #f5eee4;
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #f5eee4;
}

.home-page .real-estate-editorial .real-estate-lead {
  color: #f5eee4;
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #f5eee4;
}

.home-page .real-estate-editorial .real-estate-benefits li {
  color: #f5eee4;
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #f5eee4;
}

.home-page .real-estate-editorial .real-estate-benefits li::before {
  color: #a19167;
  background: none;
  -webkit-text-fill-color: #a19167;
}

.home-page .real-estate-editorial .real-estate-list-intro {
  color: #a19167;
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #a19167;
}

