/* ==========================================================================
   PROEX REALTY — BRAND V2 HOMEPAGE DESIGN SYSTEM
   Source of Truth:
   - PROEX_Brand_Guidelines_V2.pdf
   - 04_Color_Palette/tokens.css
   - 05_Typography/TYPE_GUIDE.md
   ========================================================================== */

@font-face {
  font-family: 'Noto Sans PROEX';
  src: url('../fonts/noto-sans/NotoSans-Variable-vietnamese.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Noto Sans PROEX';
  src: url('../fonts/noto-sans/NotoSans-Variable-latin-ext.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Noto Sans PROEX';
  src: url('../fonts/noto-sans/NotoSans-Variable-latin.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20A0-20CF, U+2113, U+2122, U+2190-21FF, U+2200-22FF, U+2700-27BF, U+FEFF, U+FFFD;
}

:root {
  /* Brand Kit V2 Official Color Palette */
  --deepNavy: #102337;
  --midnightNavy: #071A2D;
  --champagneGold: #C7A56C;
  --champagneGoldHover: #D4B57E;
  --champagneGoldSoft: rgba(199, 165, 108, 0.14);
  --champagneGoldBorder: rgba(199, 165, 108, 0.28);
  --premiumIvory: #F7F5F0;
  --ivoryElevated: #FFFFFF;
  --ivorySubtle: #EFECE4;
  --charcoal: #25313D;
  --charcoalMuted: #4F5D6B;
  --charcoalSoft: #6C7A89;
  --ivoryTextMuted: #C5CED8;
  --ivoryTextSubtle: #94A3B4;
  --borderLight: #DDD7CB;
  --borderNavy: rgba(199, 165, 108, 0.22);
  --statusVerified: #1E6F50;
  --statusWarning: #9A671F;
  --statusError: #B42318;

  /* Typography */
  --font-brand-v2: 'Noto Sans PROEX', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --container-v2: 1280px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
}

/* ==========================================================================
   GLOBAL SHELL OVERRIDES FOR HOMEPAGE (body.proex-realty-v2-shell)
   ========================================================================== */
html:has(body.proex-realty-v2-shell) {
  overflow-x: clip;
  height: auto !important;
}

body.proex-realty-v2-shell {
  --font-display: var(--font-brand-v2);
  --font-sans: var(--font-brand-v2);
  font-family: var(--font-brand-v2) !important;
  background-color: var(--premiumIvory) !important;
  color: var(--charcoal) !important;
  overflow-x: clip !important;
  height: auto !important;
  -webkit-font-smoothing: antialiased;
}

#proexHomeV2 h1,
#proexHomeV2 h2,
#proexHomeV2 h3,
#proexHomeV2 h4,
#proexHomeV2 p,
#proexHomeV2 a,
#proexHomeV2 button,
#proexHomeV2 input,
#proexHomeV2 select,
#proexHomeV2 textarea {
  font-family: var(--font-brand-v2) !important;
}

body.proex-realty-v2-shell .proex-header {
  background: rgba(255, 253, 248, 0.95) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(23, 23, 23, 0.08) !important;
  transition: background-color 0.25s ease, box-shadow 0.25s ease;
}

body.proex-realty-v2-shell .proex-header.is-scrolled {
  background: rgba(255, 253, 248, 0.98) !important;
  box-shadow: 0 10px 30px rgba(23, 23, 23, 0.06);
}

body.proex-realty-v2-shell .proex-header-logo img {
  height: 38px;
  width: auto;
  display: block;
}

body.proex-realty-v2-shell .proex-nav-desktop .proex-nav-link {
  font-family: var(--font-brand-v2) !important;
  color: #102337 !important;
  font-size: 14px;
  font-weight: 550;
  letter-spacing: 0.01em;
  opacity: 0.92;
  white-space: nowrap !important;
  transition: color 0.2s ease, opacity 0.2s ease;
}

body.proex-realty-v2-shell .proex-nav-desktop .proex-nav-link:hover,
body.proex-realty-v2-shell .proex-nav-desktop .proex-nav-link.active {
  color: #b28a52 !important;
  opacity: 1;
}

body.proex-realty-v2-shell .proex-btn-search-trigger {
  color: #102337 !important;
  border: 1px solid rgba(23, 23, 23, 0.12) !important;
  background: transparent !important;
}

body.proex-realty-v2-shell .proex-btn-search-trigger:hover {
  color: #b28a52 !important;
  border-color: #b28a52 !important;
  background: rgba(178, 138, 82, 0.08) !important;
}

/* Bell Notification Button in Brand V2 Header */
body.proex-realty-v2-shell .proex-bell-btn {
  color: #102337 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: color 0.2s ease, background-color 0.2s ease, transform 0.15s ease !important;
  outline: none !important;
}

body.proex-realty-v2-shell .proex-bell-btn:hover,
body.proex-realty-v2-shell .proex-bell-btn:focus-visible {
  color: #b28a52 !important;
  background: rgba(178, 138, 82, 0.12) !important;
}

body.proex-realty-v2-shell .proex-bell-btn:active {
  transform: scale(0.95);
}

body.proex-realty-v2-shell .proex-bell-badge {
  position: absolute !important;
  top: -1px !important;
  right: -1px !important;
  min-width: 17px !important;
  height: 17px !important;
  padding: 0 4px !important;
  border-radius: 9999px !important;
  background: #b28a52 !important;
  color: #ffffff !important;
  border: 1.5px solid #ffffff !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  font-family: 'Be Vietnam Pro', -apple-system, sans-serif !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

/* Account Trigger in Brand V2 Light Header */
body.proex-realty-v2-shell .proex-account-trigger {
  color: #102337 !important;
  border: 1px solid rgba(199, 165, 108, 0.6) !important;
  background: rgba(247, 245, 240, 0.6) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 4px 12px 4px 4px !important;
  border-radius: 9999px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

body.proex-realty-v2-shell .proex-account-trigger:hover,
body.proex-realty-v2-shell .proex-account-dropdown-wrap.is-open .proex-account-trigger {
  border-color: #b28a52 !important;
  background: #FAF9F6 !important;
  color: #b28a52 !important;
}

body.proex-realty-v2-shell .proex-account-trigger .proex-account-name {
  color: #102337 !important;
  font-weight: 600 !important;
  font-size: 13.5px !important;
  letter-spacing: 0.01em !important;
  transition: color 0.2s ease !important;
}

body.proex-realty-v2-shell .proex-account-trigger:hover .proex-account-name,
body.proex-realty-v2-shell .proex-account-dropdown-wrap.is-open .proex-account-trigger .proex-account-name {
  color: #b28a52 !important;
}

body.proex-realty-v2-shell .proex-account-trigger .proex-dropdown-caret {
  color: #102337 !important;
  stroke: #102337 !important;
  transition: transform 0.2s ease, stroke 0.2s ease, color 0.2s ease !important;
}

body.proex-realty-v2-shell .proex-account-trigger:hover .proex-dropdown-caret,
body.proex-realty-v2-shell .proex-account-dropdown-wrap.is-open .proex-account-trigger .proex-dropdown-caret {
  color: #b28a52 !important;
  stroke: #b28a52 !important;
}

body.proex-realty-v2-shell .proex-header .proex-btn-consult,
body.proex-realty-v2-shell .proex-mobile-drawer .proex-btn-consult {
  font-family: var(--font-brand-v2) !important;
  background: linear-gradient(135deg, #b28a52 0%, #a67c47 100%) !important;
  color: #ffffff !important;
  border: 1px solid #b28a52 !important;
  font-weight: 700 !important;
  font-size: 13.5px;
  letter-spacing: 0.02em;
  padding: 10px 20px;
  border-radius: var(--radius-sm);
  transition: background-color 0.2s ease, transform 0.15s ease;
}

body.proex-realty-v2-shell .proex-header .proex-btn-consult span,
body.proex-realty-v2-shell .proex-mobile-drawer .proex-btn-consult span {
  color: #ffffff !important;
}

body.proex-realty-v2-shell .proex-header .proex-btn-consult:hover,
body.proex-realty-v2-shell .proex-mobile-drawer .proex-btn-consult:hover {
  background: #9d7742 !important;
  border-color: #9d7742 !important;
  transform: translateY(-1px);
}

body.proex-realty-v2-shell .proex-menu-toggle {
  color: #102337 !important;
  border-color: rgba(23, 23, 23, 0.15) !important;
}

/* Mobile Drawer in Brand V2 */
body.proex-realty-v2-shell .proex-mobile-drawer {
  background: var(--deepNavy);
  color: var(--premiumIvory);
  border-top: 1px solid var(--borderNavy);
}

body.proex-realty-v2-shell .proex-mobile-nav > li {
  border-bottom: 1px solid rgba(247, 245, 240, 0.08);
}

body.proex-realty-v2-shell .proex-mobile-nav > li > a,
body.proex-realty-v2-shell .proex-mobile-accordion-toggle {
  color: var(--premiumIvory);
  font-family: var(--font-brand-v2);
}

body.proex-realty-v2-shell .proex-mobile-sublink {
  color: var(--ivoryTextMuted);
}

body.proex-realty-v2-shell .proex-mobile-region-header {
  color: var(--champagneGold);
}

body.proex-realty-v2-shell .proex-mobile-province-header {
  color: var(--ivoryTextSubtle);
}

/* Footer in Brand V2 */
body.proex-realty-v2-shell .proex-footer {
  background: var(--midnightNavy);
  color: var(--ivoryTextMuted);
  border-top: 1px solid var(--borderNavy);
}

body.proex-realty-v2-shell .proex-footer-brand-logo img {
  height: 40px;
  width: auto;
}

body.proex-realty-v2-shell .proex-footer-tagline {
  color: var(--ivoryTextMuted);
  font-size: 14px;
  line-height: 1.65;
}

body.proex-realty-v2-shell .proex-footer-col h3 {
  color: var(--champagneGold);
  font-family: var(--font-brand-v2);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

body.proex-realty-v2-shell .proex-footer-links a {
  color: var(--premiumIvory);
  opacity: 0.82;
  font-size: 14px;
}

body.proex-realty-v2-shell .proex-footer-links a:hover {
  color: var(--champagneGold);
  opacity: 1;
}

body.proex-realty-v2-shell .proex-footer-social-link {
  background: rgba(16, 35, 55, 0.9);
  border: 1px solid var(--borderNavy);
  color: var(--champagneGold);
}

body.proex-realty-v2-shell .proex-footer-social-link:hover {
  background: var(--champagneGold);
  color: var(--midnightNavy);
}

body.proex-realty-v2-shell .proex-footer-bottom {
  border-top: 1px solid rgba(247, 245, 240, 0.1);
  color: var(--ivoryTextSubtle);
}

body.proex-realty-v2-shell .proex-btn-backtotop {
  background: var(--deepNavy);
  border: 1px solid var(--borderNavy);
  color: var(--champagneGold);
}

/* ==========================================================================
   SHARED LAYOUT & TYPOGRAPHY PRIMITIVES
   ========================================================================== */
.prx-v2-main {
  font-family: var(--font-brand-v2);
  color: #171717;
  overflow-x: clip;
  background:
    radial-gradient(circle at 16% 8%, rgba(178, 138, 82, 0.12), transparent 28%),
    linear-gradient(180deg, #fffdf8 0%, #f7f4ed 35%, #fffdf8 70%, #f7f4ed 100%);
}

#proexHomeV2 .prx-hero-title,
#proexHomeV2 .prx-section-title,
#proexHomeV2 .prx-section-title-light,
#proexHomeV2 .prx-snapshot-head-title,
#proexHomeV2 .prx-segment-name,
#proexHomeV2 .prx-step-title,
#proexHomeV2 .prx-brand-space-title,
#proexHomeV2 .prx-contact-title {
  font-family: var(--font-serif, "Newsreader", Georgia, serif) !important;
  color: #171717 !important;
}

#proexHomeV2 .prx-hero-title span {
  color: #b28a52 !important;
}

#proexHomeV2 .prx-section-title:not(.prx-section-title-light),
#proexHomeV2 .prx-pathway-title,
#proexHomeV2 .prx-market-panel-title,
#proexHomeV2 .prx-market-facts-title,
#proexHomeV2 .prx-project-name,
#proexHomeV2 .prx-project-name a,
#proexHomeV2 .prx-segments-title,
#proexHomeV2 .prx-founder-name,
#proexHomeV2 .prx-proof-title,
#proexHomeV2 .prx-insight-title,
#proexHomeV2 .prx-insight-title a,
#proexHomeV2 .prx-form-title {
  color: #102337 !important;
}

.prx-container {
  width: 100%;
  max-width: var(--container-v2);
  margin: 0 auto;
  padding: 0 24px;
}

.prx-num {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
}

.prx-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--champagneGold);
  margin-bottom: 12px;
}

.prx-eyebrow-dark {
  color: #8E6D36;
}

.prx-eyebrow::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 2px;
  background: currentColor;
}

.prx-section-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 40px;
}

.prx-section-header-copy {
  max-width: 720px;
}

.prx-section-title {
  font-family: var(--font-brand-v2);
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.015em;
  color: var(--deepNavy);
  margin: 0 0 12px 0;
}

.prx-section-title-light {
  color: #102337;
}

.prx-section-desc {
  font-size: 16px;
  line-height: 1.65;
  color: #334155;
  margin: 0;
}

.prx-section-desc-light {
  color: #334155;
}

/* Buttons */
.prx-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--font-brand-v2);
  font-size: 14.5px;
  font-weight: 700;
  line-height: 1.2;
  padding: 14px 24px;
  border-radius: var(--radius-sm);
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
  border: 1px solid transparent;
}

.prx-btn-gold {
  background: var(--champagneGold);
  color: var(--midnightNavy);
  border-color: var(--champagneGold);
}

.prx-btn-gold:hover {
  background: var(--champagneGoldHover);
  border-color: var(--champagneGoldHover);
  color: var(--midnightNavy);
  transform: translateY(-1px);
}

.prx-btn-outline-ivory {
  background: #ffffff;
  color: #102337;
  border-color: rgba(16, 35, 55, 0.2);
}

.prx-btn-outline-ivory:hover {
  border-color: #b28a52;
  color: #b28a52;
  background: #fffdf8;
}

.prx-btn-navy {
  background: var(--deepNavy);
  color: var(--premiumIvory);
  border-color: var(--deepNavy);
}

.prx-btn-navy:hover {
  background: var(--midnightNavy);
  color: var(--champagneGold);
}

.prx-btn-outline-navy {
  background: transparent;
  color: var(--deepNavy);
  border-color: var(--borderLight);
}

.prx-btn-outline-navy:hover {
  border-color: var(--deepNavy);
  background: var(--ivorySubtle);
}

/* ==========================================================================
   SECTION 2: HERO (ARCHITECTURAL ADVISORY POSITIONING)
   ========================================================================== */
.prx-hero {
  position: relative;
  background: radial-gradient(circle at 18% 12%, rgba(178, 138, 82, 0.16), transparent 32%), linear-gradient(180deg, #fffdf8 0%, #f7f4ed 100%);
  color: #171717;
  padding: 64px 0 72px;
  border-bottom: 1px solid rgba(23, 23, 23, 0.08);
  overflow: hidden;
}

.prx-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(199, 165, 108, 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(199, 165, 108, 0.05) 1px, transparent 1px);
  background-size: 64px 64px;
  pointer-events: none;
}

.prx-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 48px;
  align-items: center;
}

.prx-hero-badge-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}

.prx-hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(199, 165, 108, 0.14);
  border: 1px solid rgba(199, 165, 108, 0.35);
  color: var(--champagneGold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.prx-hero-service-tag {
  font-size: 13px;
  color: #334155;
  font-weight: 500;
}

.prx-hero-title {
  font-family: var(--font-brand-v2);
  font-size: clamp(32px, 4.2vw, 52px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #102337;
  margin: 0 0 20px 0;
}

.prx-hero-title span {
  color: #b28a52;
  display: block;
}

.prx-hero-lead {
  font-size: 17px;
  line-height: 1.68;
  color: #334155;
  margin: 0 0 28px 0;
  max-width: 620px;
}

.prx-hero-lead strong {
  color: #102337;
  font-weight: 600;
}

.prx-hero-cta-group {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 32px;
}

/* Quick Search inside Hero */
.prx-hero-search {
  background: rgba(7, 26, 45, 0.78);
  border: 1px solid rgba(199, 165, 108, 0.28);
  border-radius: var(--radius-md);
  padding: 16px;
  max-width: 620px;
}

.prx-hero-search-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--champagneGold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 10px;
}

.prx-hero-search-row {
  display: flex;
  gap: 10px;
}

.prx-hero-search-input {
  flex: 1;
  min-width: 0;
  background: rgba(16, 35, 55, 0.9);
  border: 1px solid rgba(247, 245, 240, 0.18);
  border-radius: var(--radius-sm);
  padding: 12px 14px;
  color: var(--premiumIvory);
  font-family: var(--font-brand-v2);
  font-size: 14px;
}

.prx-hero-search-input::placeholder {
  color: var(--ivoryTextSubtle);
}

.prx-hero-search-input:focus {
  outline: none;
  border-color: var(--champagneGold);
}

.prx-hero-search-btn {
  background: var(--deepNavy);
  color: var(--champagneGold);
  border: 1px solid rgba(199, 165, 108, 0.45);
  border-radius: var(--radius-sm);
  padding: 12px 18px;
  font-family: var(--font-brand-v2);
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.prx-hero-search-btn:hover {
  background: var(--champagneGold);
  color: var(--midnightNavy);
}

.prx-hero-quick-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  font-size: 12.5px;
  color: var(--ivoryTextSubtle);
}

.prx-hero-quick-tags a {
  color: var(--ivoryTextMuted);
  text-decoration: none;
  padding: 3px 9px;
  border-radius: 4px;
  background: rgba(247, 245, 240, 0.07);
  border: 1px solid rgba(247, 245, 240, 0.1);
  transition: all 0.15s ease;
}

.prx-hero-quick-tags a:hover {
  color: var(--champagneGold);
  border-color: rgba(199, 165, 108, 0.4);
}

/* Right Column: Brand Dossier & Visual Card */
.prx-hero-dossier {
  background: rgba(16, 35, 55, 0.88);
  border: 1px solid rgba(199, 165, 108, 0.32);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(3, 12, 22, 0.45);
}

.prx-hero-dossier-media {
  position: relative;
  height: 240px;
  overflow: hidden;
  border-bottom: 1px solid rgba(199, 165, 108, 0.24);
}

.prx-hero-dossier-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.prx-hero-dossier-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(7, 26, 45, 0.92) 0%, rgba(7, 26, 45, 0.25) 60%, transparent 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 18px 22px;
}

.prx-hero-dossier-caption {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--champagneGold);
  margin-bottom: 4px;
}

.prx-hero-dossier-location {
  font-size: 15px;
  font-weight: 600;
  color: var(--premiumIvory);
}

.prx-hero-dossier-body {
  padding: 24px;
}

.prx-hero-dossier-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid rgba(247, 245, 240, 0.1);
}

.prx-hero-dossier-title {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--champagneGold);
}

.prx-hero-dossier-status {
  font-size: 12px;
  color: var(--ivoryTextMuted);
}

.prx-hero-pillars {
  list-style: none;
  padding: 0;
  margin: 0 0 20px 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.prx-hero-pillars li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--ivoryTextMuted);
}

.prx-hero-pillars li strong {
  color: var(--premiumIvory);
  display: block;
  font-weight: 600;
}

.prx-pillar-dot {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(199, 165, 108, 0.16);
  border: 1px solid rgba(199, 165, 108, 0.45);
  color: var(--champagneGold);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 2px;
}

.prx-hero-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  padding-top: 16px;
  border-top: 1px solid rgba(247, 245, 240, 0.1);
}

.prx-hero-metric-box {
  background: rgba(7, 26, 45, 0.65);
  border: 1px solid rgba(247, 245, 240, 0.08);
  border-radius: var(--radius-sm);
  padding: 10px 12px;
}

.prx-hero-metric-val {
  font-size: 18px;
  font-weight: 700;
  color: var(--champagneGold);
  line-height: 1.2;
}

.prx-hero-metric-lbl {
  font-size: 11.5px;
  color: var(--ivoryTextSubtle);
  margin-top: 3px;
  line-height: 1.35;
}

/* ==========================================================================
   SECTION 3: LỐI VÀO THEO NHU CẦU (CLIENT PATHWAYS)
   ========================================================================== */
.prx-pathways {
  padding: 72px 0;
  background: var(--premiumIvory);
  border-bottom: 1px solid var(--borderLight);
}

.prx-pathway-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.prx-pathway-card {
  background: var(--ivoryElevated);
  border: 1px solid var(--borderLight);
  border-top: 3px solid var(--deepNavy);
  border-radius: var(--radius-md);
  padding: 30px 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.prx-pathway-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(16, 35, 55, 0.08);
  border-top-color: var(--champagneGold);
}

.prx-pathway-step {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8E6D36;
  margin-bottom: 10px;
}

.prx-pathway-title {
  font-size: 21px;
  font-weight: 700;
  color: var(--deepNavy);
  margin: 0 0 12px 0;
  line-height: 1.3;
}

.prx-pathway-desc {
  font-size: 14.5px;
  line-height: 1.62;
  color: var(--charcoalMuted);
  margin: 0 0 18px 0;
}

.prx-pathway-list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px 0;
  border-top: 1px solid var(--ivorySubtle);
  padding-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.prx-pathway-list li {
  font-size: 13.5px;
  color: var(--charcoal);
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.prx-pathway-list li::before {
  content: "▪";
  color: #8E6D36;
  font-weight: 700;
}

.prx-pathway-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.prx-pathway-primary-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  background: var(--deepNavy);
  color: var(--premiumIvory);
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.prx-pathway-primary-link:hover {
  background: var(--midnightNavy);
  color: var(--champagneGold);
}

.prx-pathway-secondary-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 12px;
  font-size: 13px;
  font-weight: 600;
  color: var(--charcoalMuted);
  text-decoration: none;
}

.prx-pathway-secondary-link:hover {
  color: var(--deepNavy);
}

/* ==========================================================================
   SECTION 4: THỊ TRƯỜNG TRỌNG TÂM (FOCUSED MARKETS & VERIFIED SNAPSHOT)
   ========================================================================== */
.prx-markets {
  padding: 76px 0;
  background: var(--ivoryElevated);
  border-bottom: 1px solid var(--borderLight);
}

.prx-market-scope-note {
  background: var(--premiumIvory);
  border-left: 3px solid var(--champagneGold);
  padding: 14px 18px;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--charcoal);
  margin-bottom: 32px;
}

.prx-market-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 24px;
}

.prx-market-tab {
  font-family: var(--font-brand-v2);
  font-size: 13.5px;
  font-weight: 600;
  padding: 10px 18px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--borderLight);
  background: var(--premiumIvory);
  color: var(--charcoal);
  cursor: pointer;
  transition: all 0.2s ease;
}

.prx-market-tab:hover {
  border-color: var(--deepNavy);
}

.prx-market-tab.is-active {
  background: var(--deepNavy);
  color: var(--champagneGold);
  border-color: var(--deepNavy);
}

.prx-market-panel {
  display: none;
  background: var(--premiumIvory);
  border: 1px solid var(--borderLight);
  border-radius: var(--radius-md);
  padding: 28px;
  margin-bottom: 36px;
}

.prx-market-panel.is-active {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 28px;
  align-items: start;
}

.prx-market-panel-badge {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #8E6D36;
  margin-bottom: 8px;
}

.prx-market-panel-title {
  font-size: 22px;
  font-weight: 700;
  color: var(--deepNavy);
  margin: 0 0 10px 0;
}

.prx-market-panel-desc {
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--charcoalMuted);
  margin: 0 0 18px 0;
}

.prx-market-panel-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.prx-market-facts-box {
  background: var(--ivoryElevated);
  border: 1px solid var(--borderLight);
  border-radius: var(--radius-sm);
  padding: 20px;
}

.prx-market-facts-title {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--deepNavy);
  margin: 0 0 12px 0;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--ivorySubtle);
}

.prx-market-facts-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.prx-market-facts-list li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 13.5px;
  color: var(--charcoalMuted);
}

.prx-market-facts-list li strong {
  color: var(--deepNavy);
  font-weight: 700;
  text-align: right;
}

/* Reference Table */
.prx-snapshot-card {
  background: var(--ivoryElevated);
  border: 1px solid var(--borderLight);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.prx-snapshot-head {
  background: #f7f4ed;
  color: #102337;
  border-bottom: 1px solid rgba(23, 23, 23, 0.08);
  padding: 18px 24px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.prx-snapshot-head-title {
  font-size: 15px;
  font-weight: 700;
  color: #102337;
  margin: 0;
}

.prx-snapshot-head-sub {
  font-size: 12.5px;
  color: #8e6d36;
  font-weight: 600;
}

.prx-table-scroll {
  width: 100%;
  overflow-x: auto;
}

.prx-snapshot-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.prx-snapshot-table th {
  text-align: left;
  padding: 13px 20px;
  background: var(--premiumIvory);
  color: var(--charcoalMuted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid var(--borderLight);
  white-space: nowrap;
}

.prx-snapshot-table td {
  padding: 14px 20px;
  border-bottom: 1px solid var(--ivorySubtle);
  color: var(--charcoal);
  white-space: nowrap;
}

.prx-snapshot-table tr:last-child td {
  border-bottom: none;
}

.prx-snapshot-table tbody tr:hover {
  background: rgba(247, 245, 240, 0.6);
}

.prx-snapshot-foot {
  padding: 14px 24px;
  background: var(--premiumIvory);
  border-top: 1px solid var(--borderLight);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-size: 12.5px;
  color: var(--charcoalMuted);
}

/* ==========================================================================
   SECTION 5: DỰ ÁN & QUỸ TÀI SẢN CHỌN LỌC (ONE PROJECT, ONE STORY + INVENTORY)
   ========================================================================== */
.prx-selection {
  padding: 76px 0;
  background: var(--premiumIvory);
  border-bottom: 1px solid var(--borderLight);
}

.prx-projects-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-bottom: 48px;
}

.prx-project-card {
  background: var(--ivoryElevated);
  border: 1px solid var(--borderLight);
  border-radius: var(--radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.prx-project-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(16, 35, 55, 0.09);
}

.prx-project-media {
  position: relative;
  height: 220px;
  overflow: hidden;
  background: var(--deepNavy);
}

.prx-project-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.prx-project-card:hover .prx-project-media img {
  transform: scale(1.03);
}

.prx-project-tag {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(7, 26, 45, 0.9);
  color: var(--champagneGold);
  border: 1px solid rgba(199, 165, 108, 0.4);
  padding: 5px 11px;
  border-radius: 4px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.prx-project-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.prx-project-loc {
  font-size: 12.5px;
  font-weight: 600;
  color: #8E6D36;
  margin-bottom: 6px;
}

.prx-project-name {
  font-size: 20px;
  font-weight: 700;
  color: var(--deepNavy);
  margin: 0 0 10px 0;
}

.prx-project-name a {
  color: inherit;
  text-decoration: none;
}

.prx-project-desc {
  font-size: 14px;
  line-height: 1.6;
  color: var(--charcoalMuted);
  margin: 0 0 18px 0;
  flex: 1;
}

.prx-project-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--ivorySubtle);
  font-size: 13px;
}

.prx-project-scale {
  color: var(--charcoal);
  font-weight: 600;
}

.prx-project-cta {
  color: var(--deepNavy);
  font-weight: 700;
  text-decoration: none;
}

.prx-project-cta:hover {
  color: #8E6D36;
}

/* Inventory Segments Block */
.prx-segments-header {
  margin-bottom: 20px;
}

.prx-segments-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--deepNavy);
  margin: 0 0 6px 0;
}

.prx-segments-sub {
  font-size: 14px;
  color: var(--charcoalMuted);
  margin: 0;
}

.prx-segments-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.prx-segment-card {
  background: var(--deepNavy);
  color: var(--premiumIvory);
  border: 1px solid var(--borderNavy);
  border-radius: var(--radius-md);
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.prx-segment-badge {
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--champagneGold);
  margin-bottom: 8px;
}

.prx-segment-name {
  font-size: 18px;
  font-weight: 700;
  color: var(--premiumIvory);
  margin: 0 0 10px 0;
}

.prx-segment-desc {
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--ivoryTextMuted);
  margin: 0 0 18px 0;
}

.prx-segment-stats {
  display: flex;
  gap: 16px;
  padding: 12px 0;
  margin-bottom: 16px;
  border-top: 1px solid rgba(247, 245, 240, 0.1);
  border-bottom: 1px solid rgba(247, 245, 240, 0.1);
}

.prx-segment-stat strong {
  display: block;
  font-size: 18px;
  color: var(--champagneGold);
}

.prx-segment-stat span {
  font-size: 11.5px;
  color: var(--ivoryTextSubtle);
}

.prx-segment-link {
  color: var(--premiumIvory);
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.prx-segment-link:hover {
  color: var(--champagneGold);
}

/* ==========================================================================
   SECTION 6: CÁCH PROEX LÀM VIỆC (ADVISORY PROCESS & BRAND V2 SPACE CONCEPT)
   ========================================================================== */
.prx-workflow {
  padding: 80px 0;
  background: linear-gradient(180deg, #f7f4ed 0%, #fffdf8 100%);
  color: #171717;
  border-bottom: 1px solid rgba(23, 23, 23, 0.08);
}

.prx-steps-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 48px;
}

.prx-step-card {
  background: rgba(7, 26, 45, 0.72);
  border: 1px solid rgba(199, 165, 108, 0.24);
  border-radius: var(--radius-md);
  padding: 26px 22px;
}

.prx-step-num {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  color: var(--champagneGold);
  padding: 4px 10px;
  border-radius: 4px;
  background: rgba(199, 165, 108, 0.14);
  margin-bottom: 14px;
}

.prx-step-title {
  font-size: 17px;
  font-weight: 700;
  color: var(--premiumIvory);
  margin: 0 0 10px 0;
  line-height: 1.35;
}

.prx-step-desc {
  font-size: 13.5px;
  line-height: 1.62;
  color: var(--ivoryTextMuted);
  margin: 0;
}

/* Brand V2 Office Concept Showcase */
.prx-brand-space {
  background: rgba(7, 26, 45, 0.85);
  border: 1px solid rgba(199, 165, 108, 0.28);
  border-radius: var(--radius-lg);
  padding: 28px;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 28px;
  align-items: center;
}

.prx-brand-space-tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--champagneGold);
  background: rgba(199, 165, 108, 0.14);
  border: 1px solid rgba(199, 165, 108, 0.32);
  padding: 4px 10px;
  border-radius: 4px;
  margin-bottom: 12px;
}

.prx-brand-space-title {
  font-size: 21px;
  font-weight: 700;
  color: var(--premiumIvory);
  margin: 0 0 10px 0;
}

.prx-brand-space-desc {
  font-size: 14px;
  line-height: 1.65;
  color: var(--ivoryTextMuted);
  margin: 0 0 16px 0;
}

.prx-brand-space-note {
  font-size: 12px;
  color: var(--ivoryTextSubtle);
  margin: 0;
}

.prx-brand-space-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.prx-brand-space-fig {
  margin: 0;
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 1px solid rgba(199, 165, 108, 0.25);
  background: var(--midnightNavy);
}

.prx-brand-space-fig img {
  width: 100%;
  height: 165px;
  object-fit: cover;
  display: block;
}

.prx-brand-space-fig figcaption {
  padding: 8px 12px;
  font-size: 11.5px;
  color: var(--ivoryTextMuted);
  background: rgba(7, 26, 45, 0.95);
}

/* ==========================================================================
   SECTION 7: FOUNDER VÀ BẰNG CHỨNG CHUYÊN MÔN
   ========================================================================== */
.prx-founder {
  padding: 80px 0;
  background: var(--premiumIvory);
  border-bottom: 1px solid var(--borderLight);
}

.prx-founder-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 36px;
  align-items: stretch;
}

.prx-founder-card {
  background: var(--ivoryElevated);
  border: 1px solid var(--borderLight);
  border-radius: var(--radius-lg);
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.prx-founder-profile {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 22px;
}

.prx-founder-avatar {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--champagneGold);
  flex-shrink: 0;
}

.prx-founder-name {
  font-size: 22px;
  font-weight: 700;
  color: var(--deepNavy);
  margin: 0 0 4px 0;
}

.prx-founder-role {
  font-size: 13.5px;
  font-weight: 600;
  color: #8E6D36;
  margin: 0;
}

.prx-founder-quote {
  font-size: 15.5px;
  line-height: 1.68;
  color: var(--charcoal);
  margin: 0 0 20px 0;
  padding-left: 16px;
  border-left: 3px solid var(--champagneGold);
}

.prx-founder-bio {
  font-size: 14px;
  line-height: 1.65;
  color: var(--charcoalMuted);
  margin: 0 0 24px 0;
}

.prx-founder-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: 18px;
  border-top: 1px solid var(--ivorySubtle);
}

.prx-proof-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.prx-proof-card {
  background: var(--ivoryElevated);
  border: 1px solid var(--borderLight);
  border-radius: var(--radius-md);
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.prx-proof-card:hover {
  border-color: var(--deepNavy);
  transform: translateY(-2px);
}

.prx-proof-label {
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #8E6D36;
  margin-bottom: 8px;
}

.prx-proof-title {
  font-size: 17px;
  font-weight: 700;
  color: var(--deepNavy);
  margin: 0 0 8px 0;
}

.prx-proof-desc {
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--charcoalMuted);
  margin: 0 0 16px 0;
}

.prx-proof-link {
  font-size: 13px;
  font-weight: 700;
  color: var(--deepNavy);
  text-decoration: none;
}

.prx-proof-link:hover {
  color: #8E6D36;
}

/* ==========================================================================
   SECTION 8: GÓC NHÌN THỊ TRƯỜNG (CURATED INSIGHTS)
   ========================================================================== */
.prx-insights {
  padding: 76px 0;
  background: var(--ivoryElevated);
  border-bottom: 1px solid var(--borderLight);
}

.prx-insights-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.prx-insight-card {
  background: var(--premiumIvory);
  border: 1px solid var(--borderLight);
  border-radius: var(--radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.prx-insight-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(16, 35, 55, 0.08);
}

.prx-insight-media {
  height: 185px;
  background: var(--deepNavy);
  overflow: hidden;
}

.prx-insight-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.prx-insight-body {
  padding: 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.prx-insight-meta {
  font-size: 12px;
  font-weight: 600;
  color: #8E6D36;
  margin-bottom: 8px;
}

.prx-insight-title {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--deepNavy);
  margin: 0 0 10px 0;
}

.prx-insight-title a {
  color: inherit;
  text-decoration: none;
}

.prx-insight-title a:hover {
  color: #8E6D36;
}

.prx-insight-summary {
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--charcoalMuted);
  margin: 0 0 16px 0;
  flex: 1;
}

.prx-insight-more {
  font-size: 13px;
  font-weight: 700;
  color: var(--deepNavy);
  text-decoration: none;
}

/* ==========================================================================
   SECTION 9: KHỐI LIÊN HỆ (#tu-van)
   ========================================================================== */
.prx-contact {
  padding: 84px 0;
  background:
    radial-gradient(circle at 14% 18%, rgba(178, 138, 82, 0.12), transparent 30%),
    linear-gradient(180deg, #fffdf8 0%, #f5efe4 100%);
  color: #171717;
  border-top: 1px solid rgba(23, 23, 23, 0.08);
}

.prx-contact-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 44px;
  align-items: start;
}

.prx-contact-title {
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 700;
  line-height: 1.22;
  color: #102337;
  margin: 0 0 14px 0;
}

.prx-contact-lead {
  font-size: 15.5px;
  line-height: 1.68;
  color: #334155;
  margin: 0 0 28px 0;
}

.prx-contact-commitments {
  list-style: none;
  padding: 0;
  margin: 0 0 28px 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.prx-contact-commitments li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: #1e293b;
}

.prx-contact-commitments li::before {
  content: "✓";
  color: #b28a52;
  font-weight: 700;
}

.prx-contact-direct {
  background: #ffffff;
  border: 1px solid rgba(23, 23, 23, 0.08);
  border-radius: 16px;
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-shadow: 0 8px 24px rgba(23, 23, 23, 0.04);
}

.prx-contact-direct-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  color: #334155;
}

.prx-contact-direct-row a {
  color: #102337;
  font-weight: 700;
  text-decoration: none;
}

/* Form Card */
.prx-form-card {
  background: var(--premiumIvory);
  color: var(--charcoal);
  border: 1px solid rgba(199, 165, 108, 0.4);
  border-radius: var(--radius-lg);
  padding: 32px;
  box-shadow: 0 24px 60px rgba(3, 12, 22, 0.35);
}

.prx-form-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--deepNavy);
  margin: 0 0 6px 0;
}

.prx-form-sub {
  font-size: 13.5px;
  color: var(--charcoalMuted);
  margin: 0 0 22px 0;
}

.prx-form-alert {
  padding: 14px 16px;
  border-radius: var(--radius-sm);
  margin-bottom: 18px;
  font-size: 14px;
  line-height: 1.55;
}

.prx-form-alert-success {
  background: rgba(30, 111, 80, 0.1);
  border: 1px solid rgba(30, 111, 80, 0.35);
  color: var(--statusVerified);
}

.prx-form-alert-error {
  background: rgba(180, 35, 24, 0.08);
  border: 1px solid rgba(180, 35, 24, 0.35);
  color: var(--statusError);
}

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

.prx-field {
  margin-bottom: 16px;
}

.prx-label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--deepNavy);
  margin-bottom: 6px;
}

.prx-input,
.prx-select,
.prx-textarea {
  width: 100%;
  font-family: var(--font-brand-v2);
  font-size: 14.5px;
  color: var(--charcoal);
  background: var(--ivoryElevated);
  border: 1px solid var(--borderLight);
  border-radius: var(--radius-sm);
  padding: 11px 14px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.prx-input:focus,
.prx-select:focus,
.prx-textarea:focus {
  outline: none;
  border-color: var(--deepNavy);
  box-shadow: 0 0 0 3px rgba(16, 35, 55, 0.1);
}

.prx-input.is-invalid {
  border-color: var(--statusError);
}

.prx-field-error {
  display: none;
  font-size: 12px;
  color: var(--statusError);
  margin-top: 4px;
}

.prx-field-error.is-visible {
  display: block;
}

.prx-submit-btn {
  width: 100%;
  font-family: var(--font-brand-v2);
  font-size: 15px;
  font-weight: 700;
  padding: 14px 24px;
  border-radius: var(--radius-sm);
  background: var(--deepNavy);
  color: var(--champagneGold);
  border: 1px solid var(--deepNavy);
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.prx-submit-btn:hover {
  background: var(--midnightNavy);
  color: var(--champagneGoldHover);
}

.prx-form-privacy {
  font-size: 12px;
  color: var(--charcoalSoft);
  margin-top: 12px;
  line-height: 1.5;
  text-align: center;
}

/* ==========================================================================
   RESPONSIVE BREAKPOINTS (TABLET & MOBILE 390PX)
   ========================================================================== */
@media (max-width: 1024px) {
  .prx-hero-grid,
  .prx-market-panel.is-active,
  .prx-brand-space,
  .prx-founder-grid,
  .prx-contact-grid {
    grid-template-columns: 1fr;
  }

  .prx-pathway-grid,
  .prx-segments-grid,
  .prx-insights-grid {
    grid-template-columns: 1fr;
  }

  .prx-steps-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  body.proex-realty-v2-shell .proex-header-logo img {
    height: 32px;
  }

  body.proex-realty-v2-shell .proex-header .proex-btn-consult {
    padding: 8px 12px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  .prx-container {
    padding: 0 16px;
  }

  .prx-hero {
    padding: 40px 0 48px;
  }

  .prx-hero-title {
    font-size: 30px;
  }

  .prx-hero-lead {
    font-size: 15.5px;
  }

  .prx-hero-cta-group {
    flex-direction: column;
  }

  .prx-hero-cta-group .prx-btn {
    width: 100%;
  }

  .prx-hero-search-row {
    flex-direction: column;
  }

  .prx-hero-search-btn {
    width: 100%;
  }

  .prx-hero-metrics {
    grid-template-columns: 1fr;
  }

  .prx-pathways,
  .prx-markets,
  .prx-selection,
  .prx-workflow,
  .prx-founder,
  .prx-insights,
  .prx-contact {
    padding: 52px 0;
  }

  .prx-projects-grid,
  .prx-steps-grid,
  .prx-proof-grid,
  .prx-brand-space-gallery,
  .prx-form-row-2 {
    grid-template-columns: 1fr;
  }

  .prx-market-panel,
  .prx-founder-card,
  .prx-form-card,
  .prx-brand-space {
    padding: 20px;
  }

  .prx-founder-profile {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ========================================================================
   CODEX / HOMEPAGE EXPERIENCE — isolated from project pages and AI backend.
   Brand V2: Noto Sans, navy, ivory and champagne. Natural scrolling only.
   ======================================================================== */
html:has(.prx-home-experience) { scroll-padding-top: 84px; }
#proexHomeV2.prx-home-experience { --scene-progress: 0; }
.prx-home-experience section { scroll-margin-top: 76px; }
.prx-home-experience .prx-container { max-width: 1360px; width: calc(100% - 112px); padding-inline: 0; }
.prx-home-experience .prx-section-title { font-size: clamp(30px, 3.2vw, 48px); line-height: 1.16; letter-spacing: -.045em; font-weight: 500; }
.prx-home-experience .prx-section-desc { max-width: 640px; font-size: 15px; line-height: 1.75; }
.prx-home-experience .prx-section-header { margin-bottom: 32px; }
.prx-home-experience .prx-inline-link { color: var(--deepNavy); font-size: 14px; font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--champagneGold); padding-bottom: 7px; }
.prx-home-experience button:focus-visible, .prx-home-experience a:focus-visible, .prx-home-experience summary:focus-visible, .prx-image-dialog button:focus-visible { outline: 2px solid var(--champagneGold); outline-offset: 5px; }
.prx-home-experience .prx-btn { min-height: 46px; border-radius: 3px; }
.prx-home-experience .prx-eyebrow { font-size: 11px; letter-spacing: .13em; }

/* Arrival: Cinematic Architecture Stage honoring PROEX Realty headquarters */
.prx-home-experience .prx-arrival {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 560px;
  height: calc(84svh - 69px);
  max-height: 860px;
  padding: 0;
  overflow: hidden;
  background: #0f1c29;
  color: #f7f5f0;
}

.prx-arrival-visual, .prx-arrival-shade {
  position: absolute;
  inset: 0;
  z-index: -1;
}

.prx-arrival-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 46%;
  transform: translate3d(0,var(--hero-shift,0px),0) scale(1.02);
  opacity: 1;
  filter: none;
  mix-blend-mode: normal;
}

.prx-arrival-shade {
  background:
    linear-gradient(180deg, rgba(7, 26, 45, 0.12) 0%, transparent 40%, rgba(7, 26, 45, 0.28) 75%, rgba(247, 244, 237, 0.95) 98%, #f7f4ed 100%);
}

.prx-hero-cinematic-dock {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-bottom: 34px;
}

.prx-arrival-place--cinematic {
  display: grid;
  gap: 5px;
  padding: 14px 20px;
  background: rgba(16, 35, 55, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 12px;
  box-shadow: 0 14px 36px rgba(7, 26, 45, 0.28);
  color: #ffffff;
}

.prx-arrival-place--cinematic > span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  color: #e5c387;
  text-transform: uppercase;
}

.prx-arrival-place--cinematic strong {
  font-size: 14.5px;
  font-weight: 600;
  color: #ffffff;
}

.prx-arrival-place--cinematic small {
  color: #cbd5e1;
  font-size: 11.5px;
}

.prx-arrival-scroll--cinematic {
  color: #102337;
  background: rgba(255, 253, 248, 0.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(23, 23, 23, 0.1);
  padding: 11px 22px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12.5px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 10px 28px rgba(7, 26, 45, 0.16);
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.prx-arrival-scroll--cinematic:hover {
  background: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(7, 26, 45, 0.22);
}

.prx-arrival-scroll--cinematic > span:last-child {
  font-size: 16px;
  color: #9a743b;
}

/* ==========================================================================
   Intro Stage: Brand positioning and intelligent search beneath cinematic hero
   ========================================================================== */
.prx-intro-stage {
  background: #f7f4ed;
  border-bottom: 1px solid rgba(23, 23, 23, 0.08);
  padding: 68px 0 64px;
  position: relative;
}

.prx-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 56px;
  align-items: center;
}

.prx-intro-content {
  display: flex;
  flex-direction: column;
}

.prx-intro-content .prx-arrival-kicker {
  margin: 0 0 20px;
}

.prx-intro-content .prx-hero-title {
  color: #171717;
  font-family: var(--font-serif, "Newsreader", Georgia, serif) !important;
  font-size: clamp(38px, 4.2vw, 64px);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.04em;
  margin: 0 0 20px;
}

.prx-intro-content .prx-hero-title span {
  display: block;
  color: #9a743b;
  font-size: .88em;
  margin-top: 6px;
  font-style: italic;
  font-weight: 500;
}

.prx-intro-content .prx-hero-lead {
  font-size: 16.5px;
  line-height: 1.7;
  max-width: 520px;
  color: #475569;
  margin: 0 0 32px;
}

.prx-intro-content .prx-hero-cta-group {
  display: flex;
  gap: 24px;
  align-items: center;
}

.prx-intro-search-panel {
  display: flex;
  flex-direction: column;
}

.prx-intro-search-box {
  background: #ffffff;
  border: 1px solid rgba(23, 23, 23, 0.1);
  border-radius: 18px;
  padding: 24px 26px;
  box-shadow: 0 16px 48px rgba(16, 35, 55, 0.06);
}

.prx-intro-search-box > label {
  display: block;
  color: #334155;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .14em;
  margin-bottom: 12px;
}

.prx-intro-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(23, 23, 23, 0.06);
}

.prx-intro-tags-label {
  font-size: 11px;
  font-weight: 600;
  color: #64748b;
  margin-right: 4px;
}

.prx-intro-tag {
  font-size: 11.5px;
  font-weight: 600;
  color: #102337;
  background: #f7f4ed;
  border: 1px solid rgba(178, 138, 82, 0.25);
  border-radius: 6px;
  padding: 4px 10px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.prx-intro-tag:hover {
  background: #102337;
  color: #ffffff;
  border-color: #102337;
}

.prx-home-experience .prx-arrival-content {
  position: relative;
  padding-top: 56px;
  padding-bottom: 220px;
}

.prx-arrival-kicker {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #8e6d36;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin: 0 0 34px;
}

.prx-arrival-kicker > span:last-child {
  color: #334155;
  border-left: 1px solid #c5bba9;
  padding-left: 12px;
  font-size: 11px;
  font-weight: 600;
}

.prx-arrival-mark {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #9a743b;
}

.prx-home-experience .prx-arrival .prx-hero-title {
  color: #171717;
  font-family: var(--font-serif, "Newsreader", Georgia, serif) !important;
  font-size: clamp(48px, 5.45vw, 84px);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -.045em;
  max-width: 1100px;
  margin: 0;
}

.prx-home-experience .prx-arrival .prx-hero-title span {
  display: block;
  color: #9a743b;
  font-size: .89em;
  margin-top: 8px;
  font-style: italic;
  font-weight: 500;
}

.prx-home-experience .prx-arrival .prx-hero-lead {
  font-size: 17px;
  line-height: 1.7;
  max-width: 480px;
  color: #334155;
  margin: 27px 0;
}

.prx-home-experience .prx-arrival .prx-hero-cta-group {
  gap: 28px;
  margin: 0;
  align-items: center;
}

.prx-arrival-ai {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  border: 0;
  background: transparent;
  color: #102337;
  font-weight: 650;
  padding: 12px 0;
  font-size: 13.5px;
  cursor: pointer;
  transition: color 0.2s ease;
}

.prx-arrival-ai:hover {
  color: #8e6d36;
}

.prx-arrival-ai > span {
  color: #9a743b;
  font-size: 23px;
}

.prx-arrival-bottom {
  position: absolute;
  bottom: 36px;
  left: 0;
  right: 0;
  display: grid;
  grid-template-columns: minmax(0,620px) 1fr auto;
  gap: 40px;
  align-items: end;
}

.prx-home-experience .prx-arrival .prx-hero-search {
  background: rgba(255, 253, 248, 0.96);
  border: 1px solid rgba(23, 23, 23, 0.1);
  backdrop-filter: blur(18px);
  border-radius: 20px;
  box-shadow: 0 18px 60px rgba(23, 23, 23, 0.06);
  margin: 0;
  padding: 16px 20px;
}

.prx-arrival .prx-hero-search > label {
  display: block;
  color: #334155;
  font-size: 10.5px;
  font-weight: 750;
  letter-spacing: .14em;
  margin-bottom: 8px;
}

.prx-home-experience .prx-arrival .prx-hero-search-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.prx-home-experience .prx-arrival .prx-hero-search-input {
  background: #ffffff;
  border: 1px solid rgba(23, 23, 23, 0.12);
  border-radius: 12px;
  padding: 0 16px;
  height: 42px;
  min-width: 0;
  width: 100%;
  font-size: 14px;
  color: #171717;
  box-shadow: none;
  font-weight: 550;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.prx-home-experience .prx-arrival .prx-hero-search-input:focus {
  border-color: #b28a52;
  box-shadow: 0 0 0 3px rgba(178, 138, 82, 0.14);
}

.prx-home-experience .prx-arrival .prx-hero-search-input::placeholder {
  color: #64748b;
  opacity: 1;
}

.prx-home-experience .prx-arrival .prx-hero-search-btn {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 0;
  background: #0b3328;
  color: #ffffff;
  white-space: nowrap;
  padding: 0 22px;
  height: 42px;
  border-radius: 12px;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(11, 51, 40, 0.22);
  transition: background 0.2s ease, transform 0.15s ease;
}

.prx-home-experience .prx-arrival .prx-hero-search-btn:hover {
  background: #0f4b3a;
  transform: translateY(-1px);
}

.prx-arrival-place {
  display: grid;
  gap: 6px;
  padding: 12px 18px;
  background: rgba(255, 253, 248, 0.94);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(23, 23, 23, 0.1);
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(23, 23, 23, 0.04);
  color: #102337;
}

.prx-arrival-place > span {
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .15em;
  color: #8e6d36;
}

.prx-arrival-place strong {
  font-size: 14px;
  font-weight: 600;
  color: #102337;
}

.prx-arrival-place small {
  color: #475569;
  font-size: 11.5px;
}

.prx-arrival-scroll {
  color: #102337;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11.5px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  padding-bottom: 10px;
}

.prx-arrival-scroll > span {
  font-size: 24px;
  color: #9a743b;
}

/* 3-chapter scene: warm luxury cream background */
.prx-home-experience .prx-scene {
  background: linear-gradient(180deg, #f7f4ed 0%, #fffdf8 100%);
  color: #171717;
  padding: 0;
  border-bottom: 1px solid rgba(23, 23, 23, 0.08);
  position: relative;
}

.prx-home-experience .prx-scene-frame {
  padding-block: 40px 32px;
}

.prx-scene .prx-section-header {
  align-items: end;
  margin-bottom: 24px;
  gap: 32px;
}

.prx-scene .prx-section-header-copy {
  max-width: 590px;
}

.prx-scene .prx-eyebrow {
  color: #8e6d36;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.prx-scene .prx-section-title {
  font-family: var(--font-serif, "Newsreader", Georgia, serif) !important;
  color: #171717;
  font-size: clamp(34px, 3.6vw, 50px);
  font-weight: 500;
  margin-bottom: 10px;
  letter-spacing: -0.035em;
}

.prx-scene .prx-section-title br {
  display: none;
}

.prx-scene .prx-section-desc {
  font-size: 14px;
  color: #334155;
  margin: 0;
  line-height: 1.65;
}

.prx-scene .prx-3layer-project-switch {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  flex-shrink: 0;
}

.prx-scene .prx-3layer-proj-btn {
  background: #ffffff;
  color: #102337;
  border: 1px solid rgba(23, 23, 23, 0.12);
  border-radius: 30px;
  padding: 9px 18px;
  min-height: 42px;
  font-size: 12.5px;
  font-weight: 650;
  cursor: pointer;
  transition: all 0.2s ease;
}

.prx-scene .prx-3layer-proj-btn.is-active {
  color: #ffffff;
  background: #0b3328;
  border-color: #0b3328;
  box-shadow: 0 4px 14px rgba(11, 51, 40, 0.22);
}

.prx-scene .prx-3layer-tabs {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 0;
  margin: 0;
  border-bottom: 1px solid rgba(23, 23, 23, 0.1);
}

.prx-scene .prx-3layer-tab {
  padding: 14px 20px 16px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #334155;
  position: relative;
  text-align: left;
  min-height: 60px;
  cursor: pointer;
}

.prx-scene .prx-3layer-tab::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: calc(100% - 24px);
  height: 2px;
  background: #8e6d36;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s ease;
}

.prx-scene .prx-3layer-tab.is-active {
  color: #8e6d36;
  background: transparent;
}

.prx-scene .prx-3layer-tab.is-active::after {
  transform: scaleX(1);
}

.prx-scene .prx-3layer-tab > span {
  font-size: 12.5px;
  font-weight: 750;
  letter-spacing: .04em;
  color: #102337;
}

.prx-scene .prx-3layer-tab.is-active > span {
  color: #8e6d36;
}

.prx-scene .prx-3layer-tab small {
  display: block;
  color: #475569;
  font-size: 11.5px;
  margin-top: 5px;
  font-weight: 450;
}

.prx-scene .prx-3layer-stage {
  display: grid;
  grid-template-columns: minmax(0,1.65fr) minmax(0,1fr);
  gap: 32px;
  padding: 28px 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.prx-scene .prx-3layer-visuals {
  min-width: 0;
  min-height: 0;
  display: block;
}

.prx-scene .prx-3layer-main-fig {
  position: relative;
  margin: 0;
  border: 1px solid rgba(23, 23, 23, 0.08);
  border-radius: 16px;
  overflow: hidden;
  background: #f1f5f9;
  box-shadow: 0 10px 30px rgba(23, 23, 23, 0.05);
  isolation: isolate;
}

.prx-scene .prx-3layer-main-fig > img {
  display: block;
  width: 100%;
  height: 430px;
  object-fit: cover;
  border-radius: 0;
  transition: transform .8s cubic-bezier(.16,1,.3,1);
}

.prx-scene[data-scene-index="1"] .prx-3layer-main-fig > img,
.prx-scene[data-scene-index="2"] .prx-3layer-main-fig > img {
  object-fit: contain;
}

.prx-scene .prx-scene-outgoing {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  z-index: 2;
  pointer-events: none;
  transition: opacity .45s ease;
}

.prx-scene .prx-3layer-main-fig > figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  margin: 0;
  padding: 36px 20px 15px;
  background: linear-gradient(transparent, rgba(16, 35, 55, 0.88));
  color: #f7f5f0;
  font-size: 11.5px;
  line-height: 1.5;
  pointer-events: none;
}

.prx-scene-expand {
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 4;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 8px;
  background: rgba(16, 35, 55, 0.75);
  backdrop-filter: blur(8px);
  color: #fff;
  padding: 10px 14px;
  font-size: 11px;
  font-weight: 600;
  min-height: 40px;
  cursor: pointer;
}

.prx-scene-expand > span {
  padding-left: 8px;
  color: #b28a52;
}

.prx-scene .prx-3layer-sec-fig {
  display: none;
}

.prx-scene .prx-3layer-content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 4px 0;
}

.prx-scene .prx-3layer-badge {
  background: rgba(178, 138, 82, 0.14);
  color: #8e6d36;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.05em;
  border: 1px solid rgba(178, 138, 82, 0.3);
  display: inline-block;
  align-self: flex-start;
}

.prx-scene .prx-3layer-headline {
  font-family: var(--font-serif, "Newsreader", Georgia, serif) !important;
  color: #102337;
  margin: 0;
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.35;
  letter-spacing: -.025em;
  font-weight: 500;
}

.prx-scene-sources {
  border-top: 1px solid rgba(23, 23, 23, 0.08);
  margin-top: 6px;
}

.prx-scene-sources > summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #102337;
  font-size: 12.5px;
  font-weight: 600;
  padding: 14px 0;
  cursor: pointer;
  list-style: none;
}

.prx-scene-sources[open] > summary > span {
  transform: rotate(45deg);
}

.prx-scene .prx-3layer-summary {
  color: #334155;
  font-size: 13.5px;
  line-height: 1.7;
  margin: 0 0 16px;
}

.prx-scene .prx-3layer-fact {
  border: 0;
  border-top: 1px solid rgba(23, 23, 23, 0.08);
  background: transparent;
  border-radius: 0;
  padding: 10px 0;
}

.prx-scene .prx-3layer-fact__label {
  color: #8e6d36;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.05em;
}

.prx-scene .prx-3layer-fact__val {
  color: #102337;
  font-size: 13px;
  font-weight: 600;
}

.prx-scene .prx-3layer-fact__src {
  color: #475569;
  font-size: 10.5px;
}

.prx-scene .prx-3layer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
  padding-top: 14px;
}

.prx-scene .prx-3layer-actions .prx-btn {
  font-size: 12px;
  padding: 10px 16px;
  min-height: 42px;
  border-radius: 8px;
  font-weight: 650;
}

.prx-scene .prx-3layer-actions .prx-btn-navy {
  background: #102337;
  color: #ffffff;
  border: 1px solid #102337;
}

.prx-scene .prx-3layer-actions .prx-btn-navy:hover {
  background: #0b3328;
  border-color: #0b3328;
}

.prx-scene .prx-3layer-actions .prx-btn-outline-navy {
  border-color: rgba(23, 23, 23, 0.15);
  background: #ffffff;
  color: #102337;
}

.prx-scene .prx-3layer-actions .prx-btn-outline-navy:hover {
  border-color: #8e6d36;
  color: #8e6d36;
}

.prx-scene-footer {
  display: flex;
  gap: 24px;
  align-items: center;
  margin-top: 18px;
  color: #334155;
  font-size: 11px;
}

.prx-scene-footer p {
  margin: 0;
  font-size: 11px;
}

.prx-scene-desktop-hint > span {
  color: #8e6d36;
  margin-left: 10px;
  font-weight: 700;
}

.prx-scene-mobile-hint {
  display: none;
}

.prx-scene-secondary {
  margin-left: auto;
  color: #8e6d36;
  background: transparent;
  border: 0;
  padding: 9px 0;
  min-height: 36px;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

.prx-scene-counter {
  color: #334155;
  font-size: 11px;
  white-space: nowrap;
}

.prx-scene-counter b {
  color: #8e6d36;
  font-weight: 700;
}

.prx-scene-progress {
  height: 2px;
  background: rgba(23, 23, 23, 0.08);
  margin-top: 9px;
  overflow: hidden;
  border-radius: 999px;
}

.prx-scene-progress > span {
  display: block;
  height: 100%;
  width: 100%;
  background: #b28a52;
  transform-origin: left;
  transform: scaleX(var(--scene-progress,.02));
}

@media (min-width: 1000px) and (min-height: 680px) {
  .prx-scene.is-scroll-scene { min-height: 235svh; }
  .prx-scene.is-scroll-scene .prx-scene-sticky { position: sticky; top: 69px; height: calc(100svh - 69px); min-height: 600px; }
  .prx-scene.is-scroll-scene .prx-scene-frame { height: 100%; display: flex; flex-direction: column; }
  .prx-scene.is-scroll-scene .prx-section-header { flex-shrink: 0; }
  .prx-scene.is-scroll-scene .prx-3layer-stage { flex: 1; min-height: 0; }
  .prx-scene.is-scroll-scene .prx-3layer-main-fig { height: 100%; }
  .prx-scene.is-scroll-scene .prx-3layer-main-fig > img { height: 100%; }
  .prx-scene.is-scroll-scene .prx-3layer-content { overflow-y: auto; scrollbar-width: thin; scrollbar-color: #c5bba9 transparent; }
}

/* Intent links and finder: warm ivory canvas */
.prx-home-experience .prx-intent-bar {
  padding: 0;
  background: #fbf9f4;
  border-bottom: 1px solid rgba(23, 23, 23, 0.07);
}

.prx-intent-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
}

.prx-intent-grid > a, .prx-intent-grid > button {
  display: grid;
  gap: 12px;
  text-align: left;
  color: #102337;
  border: 0;
  border-right: 1px solid rgba(23, 23, 23, 0.07);
  padding: 30px 24px;
  background: none;
  text-decoration: none;
  cursor: pointer;
}

.prx-intent-grid > :first-child { padding-left: 0; }
.prx-intent-grid > :last-child { border-right: 0; padding-right: 0; }
.prx-intent-grid span { font-size: 10.5px; color: #8e6d36; font-weight: 750; letter-spacing: .09em; }
.prx-intent-grid strong { display: flex; justify-content: space-between; gap: 10px; font-size: 17px; font-weight: 600; color: #102337; }
.prx-intent-grid b { font-weight: 400; color: #8e6d36; transition: transform .2s ease; }
.prx-intent-grid > :hover b { transform: translate(3px,-3px); }

.prx-home-experience .prx-need-finder {
  padding: 76px 0 60px;
  background: linear-gradient(180deg, #fffdf8 0%, #f7f4ed 100%);
  border-bottom: 1px solid rgba(23, 23, 23, 0.07);
}

.prx-home-experience .prx-finder-bar {
  grid-template-columns: .95fr .85fr .9fr 1.1fr 1fr;
  padding: 20px;
  gap: 12px;
  background: rgba(255, 253, 248, 0.96);
  border: 1px solid rgba(23, 23, 23, 0.09);
  border-radius: 20px;
  box-shadow: 0 18px 50px rgba(23, 23, 23, 0.05);
}

.prx-home-experience .prx-finder-field label {
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #334155;
}

.prx-home-experience .prx-finder-field select,
.prx-home-experience .prx-finder-field input {
  font-size: 13.5px;
  font-weight: 550;
  min-height: 44px;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid rgba(23, 23, 23, 0.12);
  color: #171717;
  padding: 0 14px;
}

.prx-home-experience .prx-finder-kw-row { display: flex; gap: 8px; }

.prx-home-experience .prx-finder-submit {
  padding-inline: 16px;
  background: #0b3328;
  color: #ffffff;
  border: 0;
  border-radius: 12px;
  min-height: 44px;
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(11, 51, 40, 0.2);
  transition: background 0.2s ease;
}

.prx-home-experience .prx-finder-submit:hover {
  background: #0f4b3a;
}

.prx-home-experience .prx-finder-status-bar { margin: 20px 0; font-size: 12.5px; gap: 14px; color: #334155; }
.prx-home-experience .prx-finder-status-note { background: none; padding: 0; color: #475569; font-size: 11.5px; }
.prx-finder-feedback { font-size: 12px; color: #102337; padding: 12px 0 0; margin: 0; }
.prx-finder-error { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 14px; border: 1px solid #a96b38; background: #fff8ef; margin-top: 12px; font-size: 12px; color: #171717; }
.prx-finder-error[hidden], .prx-finder-feedback[hidden] { display: none; }
.prx-finder-error button { border: 0; text-decoration: underline; background: transparent; white-space: nowrap; color: #8d4b21; min-height: 35px; cursor: pointer; }

.prx-home-experience .prx-property-rail {
  display: grid;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 40px)/3);
  gap: 20px;
  overflow-x: auto;
  padding-bottom: 12px;
  scroll-snap-type: x mandatory;
  scroll-padding: 0;
  align-items: start;
  scrollbar-width: thin;
  scrollbar-color: #c5bba9 transparent;
  transition: opacity .2s ease;
}

.prx-property-rail[aria-busy="true"] { opacity: .45; }

.prx-home-experience .prx-v2-prop-card {
  background: #ffffff;
  border: 1px solid #eef2f6;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
  scroll-snap-align: start;
  min-width: 0;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.prx-home-experience .prx-v2-prop-card:hover {
  transform: translateY(-4px);
  border-color: rgba(217, 119, 6, 0.3);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.09);
}

.prx-home-experience .prx-v2-prop-card__media {
  aspect-ratio: 16/10;
  overflow: hidden;
  position: relative;
}

.prx-home-experience .prx-v2-prop-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.16,1,.3,1);
}

.prx-home-experience .prx-v2-prop-card:hover .prx-v2-prop-card__media img {
  transform: scale(1.035);
}

.prx-home-experience .prx-v2-prop-card__badge {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  color: #ffffff;
  font-size: 11px;
  font-weight: 750;
  border-radius: 0 0 12px 0;
  padding: 4px 12px;
}

.prx-home-experience .prx-v2-prop-card__body { padding: 18px; }
.prx-home-experience .prx-v2-prop-card__meta {
  font-size: 11px;
  line-height: 1.5;
  color: #475569;
  font-weight: 600;
}

.prx-home-experience .prx-v2-prop-card__title {
  font-size: 17px;
  font-weight: 700;
  text-transform: uppercase;
  margin: 9px 0 14px;
  line-height: 1.4;
}

.prx-home-experience .prx-v2-prop-card__title a {
  color: #0f172a;
  text-decoration: none;
  transition: color 0.2s ease;
}

.prx-home-experience .prx-v2-prop-card__title a:hover {
  color: #d97706;
}

.prx-home-experience .prx-v2-prop-card__metrics {
  padding: 12px 0;
  border: 0;
  border-top: 1px solid rgba(23, 23, 23, 0.08);
  border-bottom: 1px solid rgba(23, 23, 23, 0.08);
  background: none;
  border-radius: 0;
  gap: 8px;
}

.prx-home-experience .prx-v2-prop-card__metrics span {
  font-size: 10.5px;
  color: #475569;
  font-weight: 550;
}

.prx-home-experience .prx-v2-prop-card__metrics strong {
  color: #102337;
  font-size: 13px;
  font-weight: 700;
}

.prx-home-experience .prx-v2-prop-card__explain { margin-top: 13px; }
.prx-v2-prop-card__explain > summary {
  font-size: 11.5px;
  cursor: pointer;
  color: #102337;
  font-weight: 600;
  padding: 7px 0;
}

.prx-home-experience .prx-v2-prop-card__explain ul {
  font-size: 11.5px;
  margin-block: 8px;
  color: #334155;
}

.prx-home-experience .prx-v2-prop-card__verify {
  font-size: 11px;
  border: 0;
  border-left: 2px solid #b08b50;
  border-radius: 0;
  background: none;
  padding: 8px 10px;
  color: #784f18;
}

.prx-home-experience .prx-v2-prop-card__actions { gap: 7px; margin-top: 14px; }
.prx-home-experience .prx-v2-card-btn {
  min-height: 39px;
  font-size: 11.5px;
  border-radius: 8px;
  color: #102337;
  background: #faf8f5;
  border: 1px solid rgba(23, 23, 23, 0.12);
  font-weight: 600;
}

.prx-home-experience .prx-v2-card-btn--primary {
  background: #0b3328;
  border-color: #0b3328;
  color: #ffffff;
  border-radius: 8px;
  font-weight: 700;
}

.prx-home-experience .prx-v2-card-btn--primary:hover {
  background: #0f4b3a;
  border-color: #0f4b3a;
}

.prx-home-experience .prx-v2-card-btn--ai {
  color: #765829;
  border-color: #d3c5ae;
  background: #f7f3eb;
}

.prx-rail-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 22px;
}

.prx-rail-controls { display: flex; gap: 8px; }
.prx-rail-controls button {
  border: 1px solid #c7bdac;
  background: #ffffff;
  color: #102337;
  border-radius: 50%;
  width: 43px;
  height: 43px;
  font-size: 18px;
  cursor: pointer;
}

.prx-rail-controls button:disabled { opacity: .3; cursor: default; }
.prx-finder-empty { grid-column: 1/-1; background: #fff; border: 1px solid var(--borderLight); padding: 32px; width: 100%; border-radius: 16px; }
.prx-finder-empty h3 { font-size: 18px; margin: 0 0 12px; color: #102337; }
.prx-finder-empty p { font-size: 13px; color: #334155; }
.prx-property-rail.is-empty { display: block; }

/* Deeper info & Flagship projects: white cards with soft shadow & warm borders */
.prx-home-experience .prx-selection {
  background: #faf7f0;
  padding-block: 76px;
  border-bottom: 1px solid rgba(23, 23, 23, 0.07);
}

.prx-home-experience .prx-projects-grid { gap: 28px; }

.prx-home-experience .prx-project-card {
  background: #ffffff;
  border: 1px solid #eef2f6;
  border-radius: 18px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.prx-home-experience .prx-project-card:hover {
  transform: translateY(-4px);
  border-color: rgba(178, 138, 82, 0.35);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.09);
}

.prx-home-experience .prx-project-media { aspect-ratio: 16/9; overflow: hidden; position: relative; }
.prx-home-experience .prx-project-tag {
  background: #0b3328;
  color: #ffffff;
  border-radius: 0 0 12px 0;
  font-size: 11px;
  font-weight: 750;
  padding: 4px 12px;
}

.prx-home-experience .prx-project-body { padding: 22px; }
.prx-home-experience .prx-project-loc { color: #8e6d36; font-weight: 700; font-size: 12px; }
.prx-home-experience .prx-project-name { font-size: 20px; font-weight: 700; line-height: 1.35; letter-spacing: -.02em; }
.prx-home-experience .prx-project-name a { color: #0f172a; text-decoration: none; }
.prx-home-experience .prx-project-name a:hover { color: #b28a52; }
.prx-home-experience .prx-project-desc { color: #334155; font-size: 13.5px; line-height: 1.6; }
.prx-home-experience .prx-project-scale { color: #334155; font-weight: 600; }
.prx-home-experience .prx-project-cta { color: #8e6d36; font-weight: 700; font-size: 12.5px; }

.prx-home-experience .prx-market-brief { padding: 65px 0; background: #ffffff; border-bottom: 1px solid rgba(23, 23, 23, 0.07); }
.prx-market-disclosure > summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 64px;
  border-top: 1px solid #cfc7b8;
  border-bottom: 1px solid #cfc7b8;
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  color: #102337;
  list-style: none;
}
.prx-market-disclosure > summary > span { font-size: 26px; font-weight: 300; color: #8e6d36; }
.prx-market-disclosure[open] > summary { margin-bottom: 28px; }
.prx-market-disclosure[open] > summary > span { transform: rotate(45deg); }

/* Workflow / How PROEX works: warm luxury cream background */
.prx-home-experience .prx-workflow-brief {
  padding: 76px 0;
  background: linear-gradient(180deg, #f7f4ed 0%, #fffdf8 100%);
  color: #171717;
  border-bottom: 1px solid rgba(23, 23, 23, 0.07);
}

.prx-workflow-brief > .prx-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 10%;
  row-gap: 32px;
}

.prx-workflow-brief .prx-section-title {
  font-family: var(--font-serif, "Newsreader", Georgia, serif) !important;
  color: #171717 !important;
  font-size: clamp(30px, 3.4vw, 44px);
  font-weight: 500;
  margin-block: 18px 26px;
}

.prx-process-list { list-style: none; margin: 0; padding: 0; }

.prx-process-list li {
  display: flex;
  gap: 20px;
  padding: 20px 24px;
  background: #ffffff;
  border: 1px solid rgba(23, 23, 23, 0.08);
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(23, 23, 23, 0.04);
  margin-bottom: 12px;
}

.prx-process-list li > span {
  font-size: 18px;
  font-weight: 800;
  color: #8e6d36;
  padding-top: 2px;
}

.prx-process-list h3 {
  font-size: 16px;
  color: #102337;
  font-weight: 700;
  margin: 0 0 6px;
}

.prx-process-list p {
  font-size: 13.5px;
  color: #334155;
  line-height: 1.6;
  margin: 0;
}

.prx-brand-concept {
  grid-column: 1/-1;
  border-top: 1px solid rgba(23, 23, 23, 0.08);
  color: #334155;
  font-size: 12px;
}

.prx-brand-concept summary { cursor: pointer; padding-top: 20px; font-weight: 600; color: #8e6d36; }
.prx-brand-concept figure { max-width: 700px; margin: 20px 0 0; }
.prx-brand-concept img { width: 100%; height: auto; border-radius: 12px; }
.prx-brand-concept figcaption { font-size: 11.5px; line-height: 1.6; padding-block: 12px; color: #475569; }

/* Founder Section: warm ivory */
.prx-home-experience .prx-founder-brief {
  padding: 70px 0;
  background: #fffdf8;
  border-bottom: 1px solid rgba(23, 23, 23, 0.07);
}

.prx-founder-brief > .prx-container { display: grid; grid-template-columns: 220px 1fr; gap: 65px; align-items: center; }
.prx-founder-portrait img {
  width: 220px;
  height: 280px;
  object-fit: cover;
  object-position: center 25%;
  border-radius: 16px;
  border: 1px solid rgba(23, 23, 23, 0.08);
  box-shadow: 0 10px 30px rgba(23, 23, 23, 0.06);
}

.prx-founder-brief .prx-section-title {
  font-family: var(--font-serif, "Newsreader", Georgia, serif) !important;
  font-size: clamp(26px,2.8vw,40px);
  max-width: 780px;
  margin-block: 18px 25px;
  font-style: italic;
  font-weight: 500;
  color: #102337;
}

.prx-founder-signature { display: grid; gap: 6px; margin-bottom: 22px; }
.prx-founder-signature strong { font-size: 15px; font-weight: 700; color: #102337; }
.prx-founder-signature span { color: #475569; font-size: 12.5px; font-weight: 500; }

/* Insights Section: white cards with soft shadow */
.prx-home-experience .prx-insights {
  padding: 70px 0;
  background: #faf7f0;
  border-bottom: 1px solid rgba(23, 23, 23, 0.07);
}

.prx-home-experience .prx-insight-card {
  background: #ffffff;
  border: 1px solid #eef2f6;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.prx-home-experience .prx-insight-card:hover {
  transform: translateY(-4px);
  border-color: rgba(178, 138, 82, 0.35);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.09);
}

.prx-home-experience .prx-insight-media { aspect-ratio: 16/9; overflow: hidden; }
.prx-home-experience .prx-insight-body { padding: 20px; }
.prx-home-experience .prx-insight-meta { color: #475569; font-size: 12px; font-weight: 600; }
.prx-home-experience .prx-insight-title { font-size: 18px; font-weight: 700; line-height: 1.4; }
.prx-home-experience .prx-insight-title a { color: #102337; text-decoration: none; }
.prx-home-experience .prx-insight-title a:hover { color: #b28a52; }
.prx-home-experience .prx-insight-summary { font-size: 13.5px; color: #334155; line-height: 1.6; }
.prx-insight-more { color: #8e6d36; font-weight: 700; font-size: 13px; text-decoration: none; }

/* Contact / Consultation Section: warm ivory gradient */
.prx-home-experience .prx-contact {
  padding: 76px 0;
  background:
    radial-gradient(circle at 14% 18%, rgba(178, 138, 82, 0.12), transparent 30%),
    linear-gradient(180deg, #fffdf8 0%, #f5efe4 100%);
  color: #171717;
  border-top: 1px solid rgba(23, 23, 23, 0.08);
}

.prx-home-experience .prx-contact-title {
  font-family: var(--font-serif, "Newsreader", Georgia, serif) !important;
  color: #102337;
  font-size: clamp(32px,3.5vw,50px);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -.035em;
}

.prx-home-experience .prx-contact-lead {
  max-width: 480px;
  font-size: 16px;
  line-height: 1.65;
  color: #334155;
  margin-bottom: 26px;
}

.prx-home-experience .prx-contact-direct {
  margin-top: 24px;
  background: #ffffff;
  border: 1px solid rgba(23, 23, 23, 0.08);
  border-radius: 16px;
  padding: 20px 24px;
  box-shadow: 0 8px 24px rgba(23, 23, 23, 0.04);
}

.prx-home-experience .prx-contact-direct-row {
  font-size: 13.5px;
  padding-block: 9px;
  border-bottom: 1px solid rgba(23, 23, 23, 0.08);
  color: #334155;
}

.prx-home-experience .prx-contact-direct-row:last-child {
  border-bottom: 0;
}

.prx-home-experience .prx-contact-direct-row a {
  color: #102337;
  font-weight: 700;
  text-decoration: none;
}

.prx-home-experience .prx-contact-direct-row a:hover {
  color: #8e6d36;
}

.prx-home-experience .prx-form-card {
  padding: 32px;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid rgba(23, 23, 23, 0.08);
  box-shadow: 0 18px 50px rgba(23, 23, 23, 0.06);
}

.prx-contact-options { margin: 8px 0 20px; border-top: 1px solid rgba(23, 23, 23, 0.08); }
.prx-contact-options > summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 12px; padding: 15px 0; font-size: 12.5px; color: #102337; font-weight: 600; }
.prx-contact-options[open] > summary { margin-bottom: 10px; }
.prx-home-experience .prx-form-title {
  font-family: var(--font-serif, "Newsreader", Georgia, serif) !important;
  color: #102337;
  font-size: 24px;
  font-weight: 600;
  margin: 0 0 8px;
}

.prx-home-experience .prx-form-sub { font-size: 13px; color: #334155; margin: 0 0 20px; }
.prx-home-experience .prx-label { color: #102337; font-weight: 600; }
.prx-home-experience .prx-form-privacy { color: #475569; }
.prx-home-experience .prx-input,
.prx-home-experience .prx-select,
.prx-home-experience .prx-textarea {
  background: #faf8f5;
  border: 1px solid rgba(23, 23, 23, 0.14);
  border-radius: 10px;
  color: #171717;
  padding: 10px 14px;
  font-size: 14px;
}

.prx-home-experience .prx-input:focus,
.prx-home-experience .prx-select:focus,
.prx-home-experience .prx-textarea:focus {
  background: #ffffff;
  border-color: #b28a52;
  box-shadow: 0 0 0 3px rgba(178, 138, 82, 0.14);
}

.prx-home-experience .prx-submit-btn {
  background: linear-gradient(135deg, #0b3328 0%, #0f4b3a 100%);
  color: #ffffff;
  border-radius: 10px;
  font-weight: 750;
  box-shadow: 0 4px 16px rgba(11, 51, 40, 0.25);
  border: none;
  min-height: 46px;
  cursor: pointer;
  width: 100%;
  font-size: 14px;
}

.prx-home-experience .prx-submit-btn:hover {
  background: linear-gradient(135deg, #0f4b3a 0%, #135d48 100%);
}


/* Real image inspection, with native dialog focus containment and Escape. */
.prx-image-dialog { width: calc(100vw - 48px); height: calc(100svh - 48px); max-width: 1600px; max-height: none; padding: 0; border: 1px solid #53606d; border-radius: 3px; background: var(--midnightNavy); color: var(--premiumIvory); overflow: hidden; font-family: var(--font-brand-v2); }
.prx-image-dialog[open] { display: flex; flex-direction: column; }
.prx-image-dialog::backdrop { background: rgba(1,9,17,.88); backdrop-filter: blur(6px); }
.prx-image-dialog-bar { display: flex; justify-content: space-between; align-items: center; padding: 16px 22px; border-bottom: 1px solid #3a4a59; gap: 20px; }
.prx-image-dialog-bar h2 { font-size: 15px; font-weight: 500; margin: 0; }
.prx-image-dialog button { border: 1px solid #566674; background: transparent; color: var(--premiumIvory); min-height: 42px; padding: 8px 14px; cursor: pointer; font-family: inherit; }
.prx-image-viewport { flex: 1; min-height: 0; position: relative; overflow: hidden; display: grid; place-items: center; touch-action: none; cursor: grab; }
.prx-image-viewport:active { cursor: grabbing; }
.prx-image-viewport img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; user-select: none; -webkit-user-drag: none; transform-origin: center; }
.prx-image-dialog-bottom { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: 13px 22px; border-top: 1px solid #3a4a59; }
.prx-image-dialog-bottom p { color: #bdcbd6; font-size: 11px; line-height: 1.6; max-width: 850px; margin: 0; }
.prx-image-controls { display: flex; gap: 6px; flex-shrink: 0; }
.prx-image-controls button { min-width: 42px; }

@media (max-width: 1100px) {
  .prx-home-experience .prx-container { width: calc(100% - 64px); }
  .prx-arrival-bottom { grid-template-columns: minmax(0,1.6fr) 1fr; gap: 24px; }
  .prx-arrival-scroll { display: none; }
  .prx-home-experience .prx-finder-bar { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .prx-home-experience .prx-property-rail { grid-auto-columns: calc((100% - 20px)/2); }
  .prx-scene .prx-3layer-stage { grid-template-columns: 1.4fr 1fr; gap: 22px; }
}
@media (max-width: 999px) {
  .prx-intro-grid { grid-template-columns: 1fr; gap: 36px; }
  .prx-intro-stage { padding: 52px 0 56px; }
  .prx-hero-cinematic-dock { flex-direction: column; align-items: flex-start; gap: 14px; padding-bottom: 24px; }
}
@media (max-width: 999px), (max-height: 679px) {
  .prx-scene .prx-scene-frame { padding-block: 45px 24px; }
  .prx-scene .prx-3layer-stage { grid-template-columns: 1.3fr 1fr; }
  .prx-scene .prx-3layer-main-fig > img { height: 360px; }
  .prx-scene-desktop-hint { display: none; }
  .prx-scene-mobile-hint { display: block; }
}
@media (max-width: 700px) {
  .prx-home-experience .prx-container { width: calc(100% - 40px); }
  .prx-home-experience .prx-arrival { min-height: 650px; height: calc(100svh - 64px); max-height: 920px; }
  .prx-arrival-visual img { object-position: 65% center; }
  .prx-arrival-shade {
    background:
      linear-gradient(90deg, rgba(255, 253, 248, 0.96), rgba(255, 253, 248, 0.78)),
      linear-gradient(0deg, #f7f4ed 0%, transparent 80%);
  }
  .prx-home-experience .prx-arrival-content { padding: 18px 0 170px; }
  .prx-arrival-kicker { font-size: 10px; margin-bottom: 25px; }
  .prx-arrival-kicker > span:last-child { display: none; }
  .prx-home-experience .prx-arrival .prx-hero-title { font-size: clamp(35px,8.7vw,57px); line-height: 1.18; letter-spacing: -.055em; }
  .prx-home-experience .prx-arrival .prx-hero-title span { font-size: .93em; margin-top: 9px; }
  .prx-home-experience .prx-arrival .prx-hero-lead { font-size: 15px; max-width: 330px; margin-block: 24px; }
  .prx-home-experience .prx-arrival .prx-hero-cta-group { gap: 12px; align-items: flex-start; flex-direction: column; }
  .prx-arrival-ai { font-size: 12px; padding-block: 8px; }
  .prx-arrival-bottom { bottom: 23px; display: block; }
  .prx-home-experience .prx-arrival .prx-hero-search { padding: 13px 14px; }
  .prx-home-experience .prx-arrival .prx-hero-search-input { font-size: 12px; }
  .prx-home-experience .prx-arrival .prx-hero-search-btn { font-size: 0; gap: 0; padding-left: 10px; }
  .prx-home-experience .prx-arrival .prx-hero-search-btn span { font-size: 21px; }
  .prx-arrival-place { display: flex; gap: 7px; flex-wrap: wrap; align-items: center; margin-top: 15px; padding: 0; }
  .prx-arrival-place > span { display: none; }
  .prx-arrival-place strong, .prx-arrival-place small { font-size: 10px; }
  .prx-scene .prx-section-header { display: block; margin-bottom: 15px; }
  .prx-scene .prx-section-title { font-size: 33px; }
  .prx-scene .prx-section-title br { display: block; }
  .prx-scene .prx-section-desc { font-size: 12px; margin-top: 14px; }
  .prx-scene .prx-3layer-project-switch { margin-top: 20px; }
  .prx-scene .prx-3layer-proj-btn { font-size: 11px; min-height: 40px; }
  .prx-scene .prx-3layer-tab { min-height: 51px; padding: 14px 5px 13px 0; }
  .prx-scene .prx-3layer-tab > span { font-size: 10px; letter-spacing: 0; }
  .prx-scene .prx-3layer-tab small { display: none; }
  .prx-scene .prx-3layer-tab::after { width: calc(100% - 10px); }
  .prx-scene .prx-3layer-stage { grid-template-columns: minmax(0,1fr); gap: 23px; padding-top: 18px; }
  .prx-scene .prx-3layer-main-fig > img { height: auto; aspect-ratio: 4/3; object-fit: cover; }
  .prx-scene .prx-3layer-main-fig > figcaption { padding: 28px 12px 12px; font-size: 10px; }
  .prx-scene-expand { top: 10px; right: 10px; font-size: 10px; padding: 8px; }
  .prx-scene .prx-3layer-headline { font-size: 20px; }
  .prx-scene .prx-3layer-actions .prx-btn { font-size: 10px; min-height: 43px; }
  .prx-scene-footer { flex-wrap: wrap; gap: 5px 20px; margin-top: 22px; }
  .prx-scene-mobile-hint { width: 100%; font-size: 10px!important; }
  .prx-scene-secondary { margin-left: 0; font-size: 10px; }
  .prx-scene-counter { margin-left: auto; font-size: 10px; }
  .prx-intent-grid { grid-template-columns: 1fr; }
  .prx-intent-grid > a, .prx-intent-grid > button, .prx-intent-grid > :first-child, .prx-intent-grid > :last-child { display: flex; align-items: center; gap: 14px; padding: 20px 0; border-right: 0; border-bottom: 1px solid var(--borderLight); }
  .prx-intent-grid > :last-child { border-bottom: 0; }
  .prx-intent-grid span { width: 82px; font-size: 9px; flex-shrink: 0; }
  .prx-intent-grid strong { flex: 1; font-size: 14px; }
  .prx-home-experience .prx-need-finder, .prx-home-experience .prx-selection, .prx-home-experience .prx-insights { padding-block: 48px; }
  .prx-home-experience .prx-section-title { font-size: 31px; }
  .prx-home-experience .prx-section-desc { font-size: 13px; }
  .prx-home-experience .prx-section-header { gap: 20px; }
  .prx-home-experience .prx-section-header > div[style] { gap: 8px!important; }
  .prx-home-experience .prx-section-header .prx-btn { font-size: 11px; padding: 9px 12px; min-height: 42px; }
  .prx-home-experience .prx-finder-bar { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 14px; gap: 15px 10px; }
  .prx-home-experience .prx-finder-field--kw { grid-column: 1/-1; }
  .prx-home-experience .prx-finder-field select, .prx-home-experience .prx-finder-field input { font-size: 11px; }
  .prx-home-experience .prx-finder-status-bar { display: block; font-size: 11px; line-height: 1.7; }
  .prx-home-experience .prx-finder-status-note { display: block; margin-top: 5px; font-size: 10px; }
  .prx-home-experience .prx-property-rail { grid-auto-columns: 88%; gap: 14px; }
  .prx-home-experience .prx-v2-prop-card__body { padding: 15px; }
  .prx-home-experience .prx-v2-prop-card__title { font-size: 16px; }
  .prx-home-experience .prx-projects-grid { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 88%; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 20px; }
  .prx-home-experience .prx-project-card { scroll-snap-align: start; min-width: 0; }
  .prx-home-experience .prx-project-name { font-size: 22px; }
  .prx-home-experience .prx-project-meta { flex-wrap: wrap; }
  .prx-home-experience .prx-market-brief { padding: 45px 0; }
  .prx-market-disclosure > summary { font-size: 13px; }
  .prx-home-experience .prx-workflow-brief { padding-block: 48px; }
  .prx-workflow-brief > .prx-container { grid-template-columns: 1fr; gap: 28px; }
  .prx-process-list h3 { font-size: 16px; }
  .prx-home-experience .prx-founder-brief { padding-block: 45px; }
  .prx-founder-brief > .prx-container { grid-template-columns: 76px 1fr; gap: 20px; align-items: start; }
  .prx-founder-portrait img { width: 76px; height: 104px; }
  .prx-founder-brief .prx-eyebrow { font-size: 8px; letter-spacing: .05em; }
  .prx-founder-brief .prx-section-title { font-size: 23px; margin-block: 12px 20px; }
  .prx-home-experience .prx-insights-grid { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 88%; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 14px; }
  .prx-home-experience .prx-insight-card { scroll-snap-align: start; min-width: 0; }
  .prx-home-experience .prx-contact { padding-block: 48px; }
  .prx-home-experience .prx-contact-grid { gap: 28px; }
  .prx-home-experience .prx-contact-title { font-size: 36px; }
  .prx-home-experience .prx-form-card { padding: 21px; }
  .prx-image-dialog { width: calc(100vw - 16px); height: calc(100svh - 16px); }
  .prx-image-dialog-bar { padding: 12px; }
  .prx-image-dialog-bar h2 { font-size: 12px; }
  .prx-image-dialog-bottom { padding: 12px; display: block; }
  .prx-image-controls { margin-top: 12px; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .prx-home-experience *, .prx-image-dialog * { scroll-behavior: auto!important; transition-duration: 0s!important; animation: none!important; }
  .prx-arrival-visual img { transform: none; }
}

/* Explicit contrast against legacy editorial !important rules in the base shell. */
#proexHomeV2.prx-home-experience .prx-scene .prx-section-title,
#proexHomeV2.prx-home-experience .prx-scene .prx-3layer-headline,
#proexHomeV2.prx-home-experience .prx-workflow-brief .prx-section-title,
#proexHomeV2.prx-home-experience .prx-process-list h3 { color: #102337 !important; }
#proexHomeV2.prx-home-experience .prx-scene .prx-3layer-tab > span { color: #102337; font-weight: 750; }
#proexHomeV2.prx-home-experience .prx-scene .prx-3layer-tab.is-active > span { color: #8e6d36; }
#proexHomeV2.prx-home-experience .prx-arrival::before,
#proexHomeV2.prx-home-experience .prx-arrival::after { display: none; }
#proexHomeV2.prx-home-experience .prx-arrival .prx-hero-search-row { flex-direction: row; align-items: center; }
#proexHomeV2.prx-home-experience .prx-arrival .prx-hero-search-btn { width: auto; flex-shrink: 0; }
#proexHomeV2.prx-home-experience .prx-arrival .prx-hero-search-input { flex: 1; }

/* Quick comparison and the shared selection dock follow homepage Brand V2. */
body:has(.prx-home-experience) #proexCompareDock { background: #102337; border-color: #69716d; color: #f7f5f0; border-radius: 5px; }
body:has(.prx-home-experience) #proexCompareDock .prx-dock-btn--ai { background: #f7f5f0; color: #102337; }
body:has(.prx-home-experience) #proexCompareDock .prx-dock-btn--primary { background: #c7a56c; color: #071a2d; }
.prx-home-compare-dialog { width: min(1160px,calc(100vw - 48px)); max-height: calc(100svh - 60px); padding: 0; border: 1px solid #b8ae9c; border-radius: 5px; background: #f7f5f0; color: #102337; font-family: var(--font-brand-v2); }
.prx-home-compare-dialog[open] { display: flex; flex-direction: column; }
.prx-home-compare-dialog::backdrop { background: rgba(7,26,45,.8); backdrop-filter: blur(5px); }
.prx-home-compare-bar { display: flex; justify-content: space-between; align-items: center; padding: 24px 28px; gap: 20px; border-bottom: 1px solid #d8d1c5; }
.prx-home-compare-bar span { font-size: 10px; color: #80643b; letter-spacing: .08em; }
.prx-home-compare-bar h2 { font-family: var(--font-brand-v2)!important; font-size: 27px; font-weight: 500; margin: 8px 0 0; color: #102337!important; }
.prx-home-compare-dialog button { font-family: inherit; border: 1px solid #a99d87; background: transparent; color: #102337; min-height: 42px; padding: 9px 14px; border-radius: 2px; cursor: pointer; }
.prx-home-compare-tools { display: flex; justify-content: space-between; gap: 20px; padding: 16px 28px; font-size: 11px; align-items: center; }
.prx-home-compare-tools p { margin: 0; max-width: 620px; line-height: 1.7; }
.prx-home-compare-tools label { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.prx-home-compare-tools input { accent-color: #102337; }
.prx-home-compare-content { overflow: auto; min-height: 0; padding: 0 28px; }
.prx-home-compare-content table { width: 100%; border-collapse: collapse; table-layout: fixed; min-width: 650px; background: #fff; }
.prx-home-compare-content th, .prx-home-compare-content td { vertical-align: top; text-align: left; border: 1px solid #e2ddd4; padding: 13px 15px; font-size: 12px; line-height: 1.7; word-break: break-word; }
.prx-home-compare-content thead th:first-child { width: 150px; vertical-align: bottom; color: #69727b; font-weight: 500; }
.prx-home-compare-content thead img { width: 100%; height: 135px; object-fit: cover; border-radius: 2px; }
.prx-home-compare-content thead span { display: block; color: #7c6541; font-size: 10px; margin-block: 9px 6px; }
.prx-home-compare-content a { color: #102337; font-size: 14px; text-decoration: none; font-weight: 500; }
.prx-home-compare-content tbody th { color: #626d77; background: #faf9f6; font-weight: 500; }
.prx-home-compare-content tr[hidden] { display: none; }
.prx-home-compare-footer { display: flex; align-items: center; justify-content: space-between; padding: 20px 28px; gap: 20px; border-top: 1px solid #d8d1c5; }
.prx-home-compare-footer a { color: #102337; font-size: 12px; }
.prx-home-compare-footer button { background: #102337; color: #f7f5f0; font-size: 12px; border-color: #102337; }
.prx-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media(max-width:700px) {
 .prx-home-compare-dialog { width: calc(100vw - 16px); max-height: calc(100svh - 24px); }
 .prx-home-compare-bar { padding: 18px 14px; gap: 12px; }
 .prx-home-compare-bar h2 { font-size: 21px; }
 .prx-home-compare-bar button { padding: 8px; font-size: 11px; flex-shrink: 0; }
 .prx-home-compare-tools { display: grid; padding: 14px; gap: 12px; }
 .prx-home-compare-content { padding-inline: 14px; }
 .prx-home-compare-footer { padding: 15px 14px; flex-wrap: wrap; }
 .prx-home-compare-footer button { width: 100%; }
}

body:has(.prx-home-experience) #proexGoCompareLink { background: #c7a56c; color: #071a2d; border-color: #c7a56c; }
body:has(.prx-home-experience) #proexCompareCountBadge { background: #c7a56c; color: #071a2d; }

/* Base shell resets dialog margins and heading fonts; restore local modal layout. */
#proexSceneLightbox, #proexHomeCompareDialog { margin: auto; inset: 0; }
#proexHomeCompareDialog { max-width: none; }
#proexSceneLightbox h2, #proexHomeCompareDialog h2 { font-family: var(--font-brand-v2) !important; }
#proexHomeCompareDialog button:focus-visible, #proexHomeCompareDialog a:focus-visible, #proexHomeCompareDialog input:focus-visible { outline: 2px solid #80643b; outline-offset: 3px; }
