/* Corporate visual refresh. Loaded after the existing layout styles. */
:root {
  --ink: #172839;
  --panel: #ffffff;
  --panel-2: #f1f2f2;
  --gold: #9b7b4e;
  --gold-2: #80623c;
  --aqua: #486476;
  --green: #39715c;
  --rose: #a74343;
  --text: #172839;
  --muted: #606c77;
  --line: #dfe3e6;
  --shadow: 0 12px 36px rgba(23,40,57,.07);
  --radius: 10px;
}
body { background: #fafaf8; font-family: 'Segoe UI', Arial, sans-serif; }
body::before { display: none; }
::selection { background: #e2d6c2; color: #172839; }
h1,h2,h3 { font-weight: 600; letter-spacing: -.035em; }
h1 { font-size: clamp(42px,5.5vw,78px); line-height: 1.08; max-width: 820px; }
h2 { font-size: clamp(30px,3.4vw,48px); line-height: 1.16; }
.eyebrow { color: #80623c; font-size: 11px; font-weight: 650; letter-spacing: .18em; line-height: 1.6; }
.section { scroll-margin-top: 88px; }
.progress-line { height: 2px; background: #9b7b4e; }
.splash-intro { background: #172839; }
.splash-mark img { border-color: #9b7b4e; box-shadow: none; }
.splash-mark span { color: #e3d6be; text-shadow: none; }
.site-header { min-height: 88px; padding: 12px clamp(18px,4vw,54px); background: rgba(255,255,255,.97); border-bottom: 1px solid #e5e7e8; backdrop-filter: blur(12px); box-shadow: 0 2px 16px #17283905; gap: 28px; }
.brand-centerpiece { position: static; transform: none; min-width: 0; min-height: 0; flex-direction: row; justify-content: flex-start; padding: 0; gap: 12px; }
.brand-aura { display: none; }
.brand img { width: 54px; height: 54px; animation: none; border: 1px solid #e0d5c2; box-shadow: none; }
.brand-title { color: #172839; font-size: 14px; font-weight: 650; letter-spacing: .07em; text-shadow: none; animation: none; }
.main-nav { color: #4c5965; margin: 0 auto; gap: clamp(14px,1.8vw,28px); font-size: 13px; font-weight: 550; }
.main-nav a:hover { color: #172839; }
.header-actions { gap: 7px; margin-left: 0; }
.icon-button,.portal-login-button,.portal-files-button,.portal-logout-button { border: 1px solid #dfe3e6; color: #172839; background: #fff; box-shadow: none; border-radius: 7px; font-weight: 600; }
.icon-button:hover,.portal-login-button:hover { background: #f0f2f3; border-color: #aebac3; transform: none; }
.social-header::after { display: none; }
.portal-login-button { background: #172839; color: #fff; border-color: #172839; padding: 0 17px; }
.portal-login-button:hover { background: #293f52; color: #fff; }
.hero { min-height: min(850px,92vh); isolation: isolate; color: #fff; padding-top: 160px; padding-bottom: 120px; }
.hero-media { z-index: -1; background: #172839; }
.hero-media::before { background: linear-gradient(90deg,rgba(14,28,42,.94),rgba(14,28,42,.72) 45%,rgba(14,28,42,.18)), url('uploads/20260604-110257-4d22333d102cf829.jpg') center 53%/cover; animation: none; transform: none; filter: saturate(.65); }
.hero-media::after { background: linear-gradient(transparent,rgba(14,28,42,.25)); }
.cinema-layer,.construction-lines,.hero-orbit,.hero-building { display: none; }
.hero .eyebrow { color: #dfcba8; }
.hero-copy { color: #d4dce2; max-width: 650px; font-size: 17px; line-height: 1.8; }
.primary-action,.secondary-action,.danger-action { font-weight: 600; font-size: 14px; border-radius: 7px; padding: 14px 23px; box-shadow: none; }
.primary-action { background: #172839; color: #fff; border: 1px solid #172839; }
.primary-action:hover { background: #293f52; box-shadow: 0 5px 16px #17283916; transform: translateY(-1px); }
.secondary-action { color: #172839; background: transparent; border: 1px solid #cbd3d9; }
.secondary-action:hover { background: #f0f2f3; transform: translateY(-1px); }
.danger-action { background: #a7434310; color: #a74343; border-color: #a7434340; }
.hero .primary-action { background: #dfcba8; border-color: #dfcba8; color: #172839; }
.hero .primary-action:hover { background: #eee0ca; }
.hero .secondary-action { color: #fff; border-color: #ffffff70; background: #ffffff08; }
.hero .secondary-action:hover { background: #ffffff18; }
.hero-card { align-self: end; padding: 18px; color: #fff; background: #172839c9; border-color: #ffffff30; box-shadow: none; backdrop-filter: blur(8px); }
.hero-card span { color: #d4dce2; font-size: 12px; }
.hero-card strong { color: #dfcba8; font-size: 25px; font-weight: 600; }
.metric-strip { background: #fff; box-shadow: 0 10px 30px #17283908; border-color: #e5e7e8; border-radius: 8px; }
.metric-strip div { padding: 28px; }
.metric-strip strong { color: #172839; font-weight: 600; }
.metric-strip span { font-size: 13px; }
.section-head p,.showcase-copy p,.about-copy p,.contact-info p,.map-copy p { color: #606c77; font-size: 17px; line-height: 1.8; }
.section-head .eyebrow,.showcase-copy .eyebrow,.about-copy .eyebrow,.contact-info .eyebrow,.map-copy .eyebrow { color: #80623c; font-size: 11px; }
.projects-section { background: #fafaf8; }
.section-head { margin-bottom: 34px; }
.filters { gap: 8px; margin-bottom: 30px; }
.filters button { color: #4c5965; background: transparent; border-color: #d9dfe3; border-radius: 6px; font-size: 13px; padding: 11px 20px; }
.filters button.active { color: #fff; background: #172839; font-weight: 600; }
.project-grid { gap: 26px; perspective: none; }
.project-card,.service-card { background: #fff; border-color: #e2e5e7; box-shadow: 0 4px 15px #17283904; }
.project-card { transform: none !important; transform-style: flat; }
.project-card::before,.project-card::after { display: none; }
.project-card:hover,.service-card:hover { background: #fff; border-color: #bcc8d1; box-shadow: 0 12px 32px #1728390c; }
.project-card img { filter: none; transition: transform .35s ease; }
.project-card:hover img { transform: scale(1.025); filter: none; }
.project-body { padding: 24px; }
.project-body h3,.service-card h3 { font-size: 21px; line-height: 1.35; letter-spacing: -.02em; }
.project-body p { font-size: 14px; line-height: 1.75; }
.pill { color: #65523b; background: #f2ece3; font-weight: 550; font-size: 11px; border-radius: 4px; }
.pill.status-live { color: #36634f; background: #eaf2ec; animation: none; box-shadow: none; }
.pill.status-done { color: #445f72; background: #eaf0f4; }
.gallery-badge { background: #ffffffed; color: #172839; font-weight: 550; border-radius: 5px; box-shadow: none; }
.model-badge { background: #172839e6; border-color: #ffffff30; color: #fff; font-weight: 550; box-shadow: none; border-radius: 5px; }
.project-facts { color: #606c77; font-size: 12px; gap: 7px; }
.project-facts span { background: #f4f5f5; padding: 10px 11px; border-radius: 5px; }
.project-facts .detail-chip { color: #172839; background: #eaf0f4; font-weight: 600; }
.development-button { margin-top: 20px; border-radius: 6px; background: #fff; border-color: #cbd3d9; color: #172839; font-size: 13px; font-weight: 600; padding: 13px 15px; }
.development-button:hover { background: #172839; color: #fff; border-color: #172839; }
.services-section { background: #f0f2f2; }
.service-card { padding: 32px; }
.service-card .service-icon { background: #f2ece3; color: #80623c; border-radius: 7px; box-shadow: none; }
.showcase-section { background: #fff; }
.gallery-stack img { box-shadow: none; }
.about-image { background: #eef0ef; border-color: #e2e5e7; }
.about-image img { box-shadow: 0 12px 32px #17283912; }
.about-points div { background: #fff; border-color: #dfe3e6; color: #4c5965; font-size: 14px; line-height: 1.6; }
.map-section { background: #f0f2f2; border-color: #e2e5e7; }
.map-frame { background: #e2e5e7; border-color: #d7dfe4; box-shadow: none; }
.map-frame::before { display: none; }
.contact-section { background: #fff; }
.contact-cards a,.contact-cards div { background: #f7f8f8; border-color: #e2e5e7; color: #4c5965; }
.contact-form { background: #fafaf8; padding: 30px; border-color: #e2e5e7; box-shadow: none; }
.contact-form label { color: #4c5965; font-size: 13px; font-weight: 550; }
.contact-form input,.contact-form textarea,.contact-form select { background: #fff; color: #172839; border-color: #d7dfe4; border-radius: 6px; }
.social-button { color: #172839; background: #f2f4f5; border-color: #dfe3e6; box-shadow: none; }
.social-button::before { display: none; }
.social-button span { background: #172839; color: #fff; }
.social-button:hover { transform: none; box-shadow: none; background: #e8edf0; }
.float-social { animation: none; box-shadow: 0 5px 20px #17283920; width: 46px; height: 46px; }
.float-social.instagram { background: #172839; }
.float-social.whatsapp { background: #39715c; }
.site-footer { color: #b7c1ca; background: #172839; border-color: #172839; }
.site-footer .text-button { color: #dfcba8; font-weight: 550; }
.toast { background: #172839; color: #fff; border: 1px solid #ffffff30; font-weight: 550; box-shadow: 0 10px 30px #17283920; }
#developmentDialog { color: #172839; border-radius: 12px; }
#developmentDialog .eyebrow { color: #80623c; }
.development-entry { border-left-color: #ddd2c0; }
.development-entry:before { background: #9b7b4e; }
.development-entry time,.development-entry a { color: #80623c; }
.development-close { background: #f0f2f2; color: #172839; }
/* Retain contrast in data-heavy panels and media viewers. */
.admin-shell,.project-modal,.portal-auth-modal,.portal-shell,.portal-files-modal,.portal-preview-modal,.sales-office-shell {
  --text: #edf1f4; --muted: #aebbc6; --line: #ffffff24; --panel: #172839; --panel-2: #203447; --gold: #cfb58b; --gold-2: #dfcba8; --aqua: #a8becd; --green: #7fa68e; color: #edf1f4;
}
.admin-panel,.modal-card,.portal-auth-card,.portal-card,.portal-preview-card,.sales-office-card { background: #172839; border-color: #ffffff24; box-shadow: 0 20px 65px #17283930; }
.admin-top,.sales-office-top { background: #203447; border-color: #ffffff24; }
.admin-tabs button.active { background: #cfb58b; color: #172839; border-color: #cfb58b; }
.admin-shell .primary-action,.project-modal .primary-action,.portal-auth-modal .primary-action,.portal-shell .primary-action,.portal-files-modal .primary-action,.sales-office-shell .primary-action { background: #cfb58b; color: #172839; border-color: #cfb58b; }
.admin-shell .secondary-action,.project-modal .secondary-action,.portal-auth-modal .secondary-action,.portal-shell .secondary-action,.portal-files-modal .secondary-action,.sales-office-shell .secondary-action { color: #edf1f4; border-color: #ffffff35; background: #ffffff08; }
.admin-shell .icon-button,.project-modal .icon-button,.portal-auth-modal .icon-button,.portal-shell .icon-button,.portal-files-modal .icon-button,.portal-preview-modal .icon-button,.sales-office-shell .icon-button { background: #203447; color: #edf1f4; border-color: #ffffff24; }
.admin-shell .danger-action { color: #f0b5b5; background: #a7434320; }
.admin-shell .eyebrow,.project-modal .eyebrow,.portal-auth-modal .eyebrow { color: #dfcba8; }
.visit-bars b { background: #9caebd; }
.sales-office-button { background: #172839; color: #fff; border-color: #dfe3e6; box-shadow: none; font-weight: 600; border-radius: 7px; }
.sales-office-top span { color: #dfcba8; }
.sales-unit,.sales-unit:hover,.sales-unit.selected { background: #203447; border-color: #7fa68e70; box-shadow: none; }
.sales-unit.reserved { background: #3b352b; border-color: #b3956670; }
.sales-unit.sold { background: #3a2c33; border-color: #a76a7270; }
.sales-unit i { color: #c2d4c7; background: #7fa68e20; }
.modal-view-tabs button.active,.apartment-mode-tabs button.active { background: #cfb58b; color: #172839; }
.modal-model-stage { background: #1c2e40; }
.modal-model-stage::before { opacity: .12; }
.model-file-drop,.model-unit-json-drop { background: #ffffff06; border-color: #a8becd70; box-shadow: none; }
.model-data-section-title { background: #ffffff06; }
button:focus-visible,a:focus-visible { outline: 2px solid #9b7b4e; outline-offset: 4px; }
@media (max-width:1100px) and (min-width:821px) {
 .brand-title { display: none; } .site-header { gap: 16px; } .main-nav { gap: 16px; }
}
@media (max-width:820px) {
 .site-header { min-height: 76px; padding: 10px 16px; gap: 8px; }
 .brand-centerpiece { position: static; transform: none; min-height: 0; flex-direction: row; padding: 0; gap: 8px; }
 .brand img { width: 42px; height: 42px; }
 .brand-title { font-size: 12px !important; letter-spacing: .025em; }
 .header-actions { margin-left: auto; }
 .header-actions .social-header { display: none; }
 .main-nav { margin: 0; color: #172839; }
 .main-nav a { background: #f4f5f5; border-color: #e2e5e7; font-size: 12px; }
 .hero { min-height: 650px; padding-top: 140px; padding-bottom: 100px; }
 .hero-media::before { background: linear-gradient(90deg,#0e1c2ae8,#0e1c2a99),url('uploads/20260604-110257-4d22333d102cf829.jpg') center/cover; }
 .hero-card { width: min(100%,330px); justify-self: start; }
 .metric-strip div { padding: 20px 16px; }
 .project-body { padding: 20px; }
 .contact-form { padding: 22px; }
}
@media (max-width:480px) {
 .brand-title { display: none; } .hero { min-height: 640px; } .hero-copy { font-size: 15px; }
 .hero-actions .primary-action,.hero-actions .secondary-action { width: auto; flex: 1; padding: 12px 14px; font-size: 12px; }
 .section { scroll-margin-top: 76px; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; }
 .splash-intro { display:none; } .reveal { opacity:1; transform:none; }
}
@media (min-width:821px) { .menu-toggle { display:none; } }
.project-card { display:flex; flex-direction:column; }
.project-image-wrap { flex-shrink:0; }
.project-body { display:flex; flex-direction:column; flex:1; }
.project-facts { margin-top:auto; padding-top:14px; }
@media (max-width:640px) {
 .portal-login-button { width:auto; padding:0 12px; }
 .portal-login-button span { display:inline; }
 .portal-login-button i { display:none; }
}
.admin-shell .development-entry time,.admin-shell .development-entry a { color:#dfcba8; }
.admin-shell .development-entry { border-left-color:#cfb58b60; }
.admin-shell .development-entry:before { background:#cfb58b; }
/* Richer corporate palette and stronger text contrast. */
:root { --muted:#354b60; --gold:#a56a2b; --gold-2:#87501c; --text:#142c43; --line:#cbd8e3; }
body { background:#e8eff5; }
.site-header { background:rgba(240,246,251,.98); border-bottom-color:#ccdbe6; }
.main-nav { color:#263f55; font-weight:600; }
.brand-title { color:#163c5e; }
.projects-section { background:#e5eef6; }
.services-section { background:#d6e5ed; }
.about-section { background:#f0e7d9; }
.map-section { background:#dce9f2; border-color:#c4d5e3; }
.contact-section { background:#e8eff5; }
.section-head h2,.about-copy h2,.map-copy h2,.contact-info h2 { color:#173e60; }
.section-head p,.about-copy p,.contact-info p,.map-copy p { color:#31495e; }
.section-head .eyebrow,.about-copy .eyebrow,.contact-info .eyebrow,.map-copy .eyebrow { color:#865019; font-weight:700; }
.project-card,.project-card:hover { background:#f8fbfe; border-color:#c4d5e3; }
.project-body h3,.service-card h3 { color:#173e60; font-weight:650; }
.project-body p,.service-card p { color:#344d62; }
.project-facts { color:#233f57; }
.project-facts span { background:#e6eef5; }
.project-facts .detail-chip { background:#d4e3ef; color:#143e60; }
.development-button { color:#fff; background:#1e5a86; border-color:#1e5a86; }
.development-button:hover { background:#154568; border-color:#154568; }
.filters button { color:#203f59; border-color:#aebfce; background:#f2f6fa; font-weight:550; }
.filters button.active { background:#1e5a86; border-color:#1e5a86; }
.pill { color:#764615; background:#f4e4cd; font-weight:650; }
.pill.status-live { color:#21533d; background:#d5e9dc; }
.pill.status-done { color:#164d74; background:#cde2f1; }
.service-card,.service-card:hover { background:#edf5fa; border-color:#b8ccd9; }
.service-card .service-icon { background:#1e5a86; color:#fff; }
.metric-strip { background:#183e5c; border-color:#183e5c; }
.metric-strip div { border-color:#ffffff26; }
.metric-strip strong { color:#f0ce95; }
.metric-strip span { color:#edf3f7; font-weight:550; }
.showcase-section { background:#183e5c; color:#fff; }
.showcase-copy h2 { color:#fff; }
.showcase-copy p { color:#e2ebf2; }
.showcase-copy .eyebrow { color:#f0ce95; }
.showcase-copy .primary-action { background:#e7bd7e; color:#17334b; border-color:#e7bd7e; }
.showcase-copy .primary-action:hover { background:#f2d4a4; }
.about-image { background:#e2d6c3; border-color:#cfbea5; }
.about-points div { background:#f8f1e6; color:#2a4358; border-color:#d4c4ab; }
.contact-form { background:#dce8f1; border-color:#b8ccdb; }
.contact-form label { color:#243e54; font-weight:650; }
.contact-form input,.contact-form textarea,.contact-form select { background:#f6faff; color:#142c43; border-color:#adc2d2; }
.contact-form input::placeholder,.contact-form textarea::placeholder { color:#52697c; opacity:1; }
.contact-cards a,.contact-cards div { background:#dce8f1; color:#223f57; border-color:#c0d1de; }
.primary-action { background:#1e5a86; border-color:#1e5a86; }
.primary-action:hover { background:#154568; }
.portal-login-button { background:#1e5a86; border-color:#1e5a86; }
.portal-login-button:hover { background:#154568; }
.hero-copy { color:#eef3f7; }
.hero .primary-action { background:#edc78e; border-color:#edc78e; }
#developmentDialog { background:#f0f6fb; }
.development-entry p { color:#263f55; }
.development-entry time,.development-entry a { color:#83501e; }
.development-empty { background:#dce8f1; color:#263f55; }
@media(max-width:820px) { .main-nav a { background:#e0ebf4; border-color:#bfd1df; color:#233f57; } }
/* Brand lockup, curated project slideshow and the latest site update. */
.brand-wordmark { display:flex; flex-direction:column; gap:6px; border-left:1px solid #ae7e40; padding-left:14px; }
.brand-wordmark .brand-title { display:block; color:#163c5e; font-size:18px; font-weight:750; letter-spacing:.09em; line-height:1.1; }
.brand-subtitle { display:block; color:#75491b; font-size:8px; letter-spacing:.16em; font-weight:650; white-space:nowrap; }
.brand img { width:58px; height:58px; border:2px solid #e7c998; box-shadow:0 3px 12px #17283912; }
.hero-slides { position:absolute; inset:0; }
.hero-slides img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 53%; opacity:0; transition:opacity 1.3s ease; filter:saturate(.85); }
.hero-slides img.active { opacity:1; }
.hero.has-project-slides .hero-media::before { background:linear-gradient(90deg,#0c2238ed,#0c2238b8 48%,#0c223838); z-index:1; filter:none; }
.hero-media::after { z-index:2; }
.hero-project-navigation { display:flex; align-items:center; gap:22px; margin-top:32px; padding-top:20px; border-top:1px solid #ffffff38; max-width:650px; }
.hero-project-navigation[hidden] { display:none; }
.hero-project-caption { display:flex; flex-direction:column; gap:6px; flex:1; padding:0; border:0; color:#fff; background:transparent; text-align:left; min-width:0; }
.hero-project-label { color:#edc78e; font-size:9px; letter-spacing:.15em; font-weight:650; }
.hero-project-caption strong { font-size:16px; font-weight:600; line-height:1.35; }
#heroSlideLocation { color:#e2ebf2; font-size:12px; }
.hero-slide-controls { display:flex; align-items:center; gap:7px; flex-shrink:0; }
.hero-slide-controls button { border:1px solid #ffffff50; background:#173e6070; color:#fff; border-radius:5px; width:34px; height:34px; font-size:18px; transition:background .2s ease; }
.hero-slide-controls button:hover { background:#ffffff24; }
#heroSlidePause { width:auto; padding:0 9px; font-size:10px; }
#heroSlideCount { font-size:11px; color:#f0ce95; font-variant-numeric:tabular-nums; padding:0 3px; }
.home-latest-update { padding:48px clamp(18px,5vw,70px) 0; background:#e5eef6; }
.home-latest-update[hidden] { display:none; }
.home-update-inner { display:flex; align-items:center; gap:26px; padding:24px; border:1px solid #c1d2df; border-left:4px solid #b27a35; border-radius:10px; background:#f3e9d9; box-shadow:0 8px 22px #173e6006; }
.home-update-image { width:160px; height:140px; flex-shrink:0; border-radius:7px; overflow:hidden; }
.home-update-image[hidden] { display:none; }
.home-update-image img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.home-update-inner:hover .home-update-image img { transform:scale(1.035); }
.home-update-copy { flex:1; min-width:0; }
.home-update-copy .eyebrow { margin-bottom:6px; color:#774916; font-size:9px; }
.home-update-copy time { font-size:12px; font-weight:600; color:#694719; }
.home-update-copy h2 { margin:8px 0; font-size:23px; line-height:1.25; color:#173e60; }
.home-update-copy p:last-child { margin-bottom:0; font-size:14px; color:#2b4356; line-height:1.65; overflow-wrap:anywhere; }
.home-update-inner > .primary-action { flex-shrink:0; font-size:12px; padding:13px 17px; }
.reveal { transform:translateY(16px); transition:opacity .55s ease,transform .55s ease; }
.primary-action,.secondary-action,.development-button,.filters button,.icon-button { transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
@media (max-width:1100px) and (min-width:821px) {
 .brand-wordmark .brand-title { display:block; font-size:16px; }
 .brand-subtitle { font-size:7px; }
 .main-nav { gap:12px; font-size:12px; }
 .header-actions .social-header { display:none; }
 .home-update-inner { flex-wrap:wrap; }
 .home-update-inner > .primary-action { margin-left:186px; }
}
@media(max-width:820px) {
 .brand img { width:44px; height:44px; }
 .brand-wordmark { gap:5px; padding-left:9px; }
 .brand-wordmark .brand-title { display:block; font-size:14px !important; }
 .brand-subtitle { font-size:6px !important; letter-spacing:.12em; }
 .hero-project-navigation { flex-direction:column; align-items:flex-start; gap:16px; margin-top:24px; }
 .hero { padding-bottom:115px; }
 .home-update-inner { flex-wrap:wrap; gap:18px; padding:20px; }
 .home-update-image { width:100%; height:190px; }
 .home-update-copy { flex-basis:100%; }
 .home-update-inner > .primary-action { width:100%; margin:0; }
 .home-latest-update { padding-top:36px; }
 .home-update-copy h2 { font-size:22px; }
}
@media(max-width:380px) {
 .brand-wordmark .brand-title { font-size:12px !important; }
 .brand-subtitle { font-size:5px !important; }
 .brand img { width:38px; height:38px; }
 .header-actions { gap:4px; }
 .site-header { padding-inline:10px; }
}
@media(prefers-reduced-motion:reduce) {
 .hero-slides img { transition:none; }
 .reveal { opacity:1; transform:none; }
}
