/* ==========================================================================
   PRIMA CAMBODIA MASTER ARCHITECTURAL SHARP EDGES (100% ZERO ROUND CORNERS)
   Applies to every photo, collage, card, box, button, badge, chip, and input
   ========================================================================== */
:root {
  --radius-none: 0px !important;
  --radius-xs: 0px !important;
  --radius-sm: 0px !important;
  --radius-md: 0px !important;
  --radius-lg: 0px !important;
  --radius-xl: 0px !important;
  --radius-2xl: 0px !important;
  --radius-full: 0px !important;
}

/* 1. UNIVERSAL PHOTO, IMAGE & COLLAGE FRAMING - 100% SHARP (ជ្រុងៗ) */
html body img,
html body picture,
html body figure,
html body video,
html body iframe,
html body [class*="collage"],
html body [class*="photo"],
html body [class*="thumb"],
html body [class*="media"],
html body [class*="img"],
html body .exec-collage-wrap,
html body .exec-collage-main,
html body .collage-main-img,
html body .exec-collage-sub,
html body .collage-sub-img,
html body .collage-main-overlay,
html body .about-photo-stack,
html body .about-photo-main,
html body .about-img-main,
html body .team-photo-wrap,
html body .team-photo-wrap img,
html body .portfolio-card-img,
html body .portfolio-thumb-wrap,
html body .portfolio-thumb-wrap img,
html body .portfolio-img-wrapper,
html body .editorial-media-col,
html body .editorial-media-col img,
html body .award-badge-box,
html body .award-badge-img,
html body .why-advantage-img,
html body .why-media-card,
html body .service-img,
html body .hero-bg-media,
html body .subpage-hero-v3,
html body .about-hero-v3,
html body .cinematic-stage,
html body .cinematic-slide-img,
html body .cinematic-slides-track {
  border-radius: 0px !important;
}

/* 2. CARDS, CONTAINERS & BENTO BOXES - ARCHITECTURAL STRAIGHT CORNERS */
html body .card,
html body [class*="card"],
html body [class*="box"],
html body [class*="panel"],
html body [class*="stage"],
html body [class*="frame"],
html body .service-card,
html body .service-card-v3,
html body .service-bento-card,
html body .service-discipline-card,
html body .case-study-card,
html body .value-card,
html body .prima-val-card,
html body .testimonial-card,
html body .stat-box,
html body .numbers-stat-card,
html body .exec-stat-card,
html body .matrix-card,
html body .asset-card,
html body .pricing-card,
html body .feature-box,
html body .prima-matrix-item,
html body .about-stat-card,
html body .contact-card,
html body .contact-form-card,
html body .contact-info-card,
html body .portfolio-card,
html body .compliance-card,
html body .why-card,
html body .why-advantage-card,
html body .persona-5card,
html body .persona-5card::before,
html body .award-card-item,
html body .team-card-v3,
html body .team-v3-card,
html body .team-member-card,
html body .tailored-value-card,
html body .faq-item,
html body .faq-question,
html body .client-logo-card,
html body .client-card-item,
html body .accordion-item,
html body .accordion-header,
html body .dropdown-menu,
html body .nav-dropdown,
html body .lang-dropdown-menu {
  border-radius: 0px !important;
}

/* 3. ICON CONTAINERS & MINI-BOXES */
html body .prima-val-icon-box,
html body .why-icon,
html body .persona-5card-icon,
html body .service-icon-wrap,
html body .faq-icon-pill,
html body .faq-item-num,
html body .gov-pillar-num-wrap,
html body .chip-num,
html body .pill-check {
  border-radius: 0px !important;
}

/* 4. BUTTONS & ACTIONS - 100% RECTANGULAR CRISP */
html body .btn,
html body a.btn,
html body button,
html body [class*="btn"],
html body .hero-prima-actions .btn,
html body .hero-actions-v3 .btn,
html body .btn-primary,
html body .btn-secondary,
html body .btn-outline,
html body .btn-luxury,
html body .btn-exec,
html body .modal-trigger,
html body .btn-gold,
html body .btn-navy,
html body .quick-proposal-btn,
html body .site-nav-btn,
html body .btn-header-cta,
html body .portfolio-filter-btn,
html body .filter-btn,
html body .filter-tab-btn,
html body .tab-btn,
html body input[type="button"],
html body input[type="submit"],
html body input[type="reset"] {
  border-radius: 0px !important;
}

/* 5. BADGES, CHIPS, TAGS & LABELS */
html body .exec-experience-chip,
html body .exec-photo-tag,
html body .about-founded-badge,
html body .chip,
html body [class*="chip"],
html body .tag,
html body [class*="tag"],
html body .status-pill,
html body [class*="pill"],
html body [class*="badge"],
html body .category-pill,
html body .service-tag-pill,
html body .why-tag-pill,
html body .persona-5card-tag,
html body .persona-5card-pill,
html body .tailored-card-pill,
html body .tailored-role-tag,
html body .discipline-bento-tag,
html body .cinematic-cat-badge,
html body .exec-card-accent-pill,
html body .guarantee-val {
  border-radius: 0px !important;
}

/* 6. MODALS, POPUPS & AUDIT DIALOGS */
html body .modal-box,
html body .modal-container,
html body .modal-content,
html body .modal-dialog,
html body .popup-box,
html body .modal-audit,
html body .modal-header,
html body .modal-body,
html body .modal-footer {
  border-radius: 0px !important;
}

/* 7. FORM INPUTS & CONTROLS */
html body input,
html body select,
html body textarea,
html body .form-control,
html body .form-input,
html body .form-select,
html body .search-input,
html body .contact-input {
  border-radius: 0px !important;
}

/* ==========================================================================
   PRIMA CAMBODIA - SHARP ARCHITECTURAL EDITION (SHAPE ជ្រុង)
   100% Crisp Rectangular Precision, Geometric Luxury, Zero Round Corners
   ========================================================================== */

:root {
  --radius-sm: 0px !important;
  --radius-md: 0px !important;
  --radius-lg: 0px !important;
  --radius-xl: 0px !important;
  --radius-2xl: 0px !important;
  --radius-full: 0px !important;
}

/* 1. BUTTONS - ALL RECTANGULAR / SHARP (ជ្រុង) */
html body .btn,
html body a.btn,
html body button,
html body [class*="btn"],
html body .hero-prima-actions .btn,
html body .hero-actions-v3 .btn,
html body .btn-primary,
html body .btn-secondary,
html body .btn-outline,
html body .btn-luxury,
html body .modal-trigger,
html body .btn-gold,
html body .btn-navy,
html body .quick-proposal-btn,
html body .site-nav-btn,
html body .btn-header-cta,
html body .filter-btn,
html body .filter-tab-btn,
html body .tab-btn,
html body input[type="button"],
html body input[type="submit"],
html body input[type="reset"] {
  border-radius: 0px !important;
}

/* 2. TAGS, BADGES, PILLS, CHIPS - ALL CRISP SQUARE / RECTANGULAR (ជ្រុង) */
html body .section-tag,
html body .hero-eyebrow-v3,
html body .hero-eyebrow-dot,
html body .prima-badge-pill,
html body [class*="badge"],
html body [class*="pill"],
html body .status-pill,
html body .chip,
html body .about-founded-badge,
html body .tag,
html body .cat-tag,
html body .pillar-badge,
html body .service-tag,
html body .matrix-tag,
html body .value-tag {
  border-radius: 0px !important;
}

/* 3. CARDS & CONTAINERS - ALL ARCHITECTURAL STRAIGHT CORNERS (ជ្រុង) */
html body .card,
html body [class*="card"],
html body .service-card,
html body .service-card-v3,
html body .case-study-card,
html body .value-card,
html body .testimonial-card,
html body .stat-box,
html body .matrix-card,
html body .asset-card,
html body .pricing-card,
html body .feature-box,
html body .prima-matrix-item,
html body .about-stat-card,
html body .contact-card,
html body .portfolio-card,
html body .numbers-stat-card,
html body .compliance-card,
html body .accordion-item,
html body .accordion-header,
html body .dropdown-menu,
html body .nav-dropdown {
  border-radius: 0px !important;
}

/* 4. MODALS & POPUPS - SHARP LUXURY FRAMING */
html body .modal-box,
html body .modal-container,
html body .modal-content,
html body .modal-dialog,
html body .popup-box,
html body .modal-audit,
html body .modal-header,
html body .modal-body,
html body .modal-footer {
  border-radius: 0px !important;
}

/* 5. FORM INPUTS & SELECTS - CRISP BOXES */
html body input,
html body select,
html body textarea,
html body .form-control,
html body .form-input,
html body .form-select,
html body .search-input {
  border-radius: 0px !important;
}

/* 6. PHOTO FRAMES & MEDIA WRAPPERS */
html body .about-photo-stack,
html body .about-photo-main,
html body .portfolio-img-wrapper,
html body .service-img,
html body .hero-bg-media,
html body .subpage-hero-v3,
html body .about-hero-v3 {
  border-radius: 0px !important;
}

/* 7. FLOATING FULL-PAGE SIDE NAV DOTS - PERMANENTLY REMOVED */
html body .fullpage-side-nav,
html body .side-dot,
html body .dot-tooltip {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* ==========================================================================
   OFFICIAL DUAL-TONE SECTION TYPOGRAPHY ARCHITECTURE
   1. Subtitle (Eyebrow / Mini-Title / Tag): Dark Red (#5c0c05) | Zero Background Box
   2. Main Title (H2 / Section Headline): Dark Blue (#171443) | Executive Weight
   ========================================================================== */

/* Subtitle / Eyebrow / Mini-Titles - Dark Red (#5c0c05) */
html body .prima-badge-pill,
html body .badge-gold,
html body .badge-burgundy,
html body .pill-gold,
html body .section-tag,
html body .section-eyebrow,
html body .prima-section-eyebrow,
html body .why-tag-pill,
html body .category-pill,
html body .service-tag-pill,
html body .timeline-phase-pill,
html body .editorial-tag,
html body .persona-5card-tag,
html body .exec-photo-tag,
html body .tailored-role-tag,
html body .discipline-bento-tag,
html body .modal-eyebrow,
html body .compliance-hero__eyebrow,
html body .sdi-eyebrow,
html body .premium-label,
html body .prima-awards-badge,
html body .prima-awards-badge span,
html body .prima-section-header .prima-badge-pill,
html body .prima-values-section .prima-badge-pill,
html body .prima-values-section .badge-gold,
html.theme-light .prima-badge-pill,
html.theme-light .section-header .prima-badge-pill,
html.theme-light .section-tag,
html.theme-light .section-eyebrow,
html.theme-light .prima-section-eyebrow,
html.theme-light .compliance-hero__eyebrow,
html.theme-light .prima-values-section .prima-badge-pill,
html.theme-light .prima-values-section .badge-gold,
html body [class*="badge-pill"] {
  color: #5c0c05 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  font-family: 'Outfit', 'Montserrat', sans-serif !important;
  font-size: clamp(0.72rem, 0.82vw, 0.82rem) !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
  margin-bottom: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* Dots on dark red eyebrows */
html body .hero-eyebrow-dot,
html body .compliance-hero__eyebrow-dot,
html body .badge-dot {
  background: #5c0c05 !important;
}

html body .prima-badge-dot,
html.theme-light .prima-badge-dot {
  display: none !important;
}

/* Main Section Titles - Dark Blue / Midnight Navy (#171443) */
html body h2:not(.text-white):not([class*="hero-title"]),
html body .prima-h2:not(.text-white),
html body h2.prima-h2:not(.text-white),
html body .section-title:not(.text-white),
html body h2.section-title:not(.text-white),
html body .premium-h2,
html body h2.premium-h2,
html body .exec-photo-heading,
html body .why-main-title,
html body .client-section-title,
html body .prima-awards-title,
html body .services-main-title,
html body .stakeholder-section-title,
html body .editorial-title,
html.theme-light h2:not(.text-white):not([class*="hero-title"]),
html.theme-light .prima-h2:not(.text-white),
html.theme-light .section-title:not(.text-white),
html.theme-light .premium-h2,
html.theme-light .exec-photo-heading,
html.theme-light .why-main-title,
html.theme-light .client-section-title,
html.theme-light .prima-values-section .prima-h2 {
  color: #171443 !important;
  font-family: 'Outfit', 'Montserrat', 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}

/* Ensure inner emphasis and spans in titles match Dark Blue */
html body h2:not(.text-white) em,
html body h2:not(.text-white) span:not(.gold-accent):not([class*="dot"]):not([class*="badge"]),
html body .prima-h2:not(.text-white) em,
html body .section-title:not(.text-white) em,
html body .premium-h2 em,
html body .why-main-title em,
html body .prima-awards-title span:not(.title-gold-accent) {
  font-style: normal !important;
  color: #171443 !important;
  background: none !important;
  -webkit-text-fill-color: #171443 !important;
}

/* Section Descriptive Paragraphs (Readable Slate Grey) */
html body .section-subtitle,
html body .prima-section-desc,
html body .why-sub-title,
html body .premium-lead,
html body .prima-awards-sub,
html body p.section-subtitle,
html body p.prima-section-desc {
  color: #475569 !important;
  font-weight: 450 !important;
  line-height: 1.72 !important;
}

/* Universal suppression of Hero Cover Eyebrow Labels across all subpages */
.subpage-hero-v3 .hero-eyebrow-v3,
.subpage-hero-v3 .hero-eyebrow-dot,
.about-hero-v3 .hero-eyebrow-v3,
.contact-hero-v3 .hero-eyebrow-v3,
.why-hero-v3 .hero-eyebrow-v3,
.portfolio-hero-v3 .hero-eyebrow-v3,
.services-hero-v3 .hero-eyebrow-v3,
#services-hero .hero-eyebrow-v3,
#contact-hero .hero-eyebrow-v3,
#why-hero .hero-eyebrow-v3,
#portfolio-hero .hero-eyebrow-v3,
#about-hero .hero-eyebrow-v3,
.prima-subpage-hero>.prima-container>div[style*="display: inline-flex; align-items: center;"] {
  display: none !important;
}

/* ==========================================================================
   PRIMA ARCHITECTURAL SHARP CTA BANNER (CONSISTENT ACROSS ALL SUBPAGES)
   ========================================================================== */
section.prima-banner,
.prima-banner,
html.theme-light section.prima-banner,
html.theme-light .prima-banner,
section.prima-cta-banner-section,
.prima-cta-banner-section,
html.theme-light section.prima-cta-banner-section,
html.theme-light .prima-cta-banner-section {
  background-color: #EDF0F5 !important;
  background: linear-gradient(180deg, #F4F6F9 0%, #E6EAF0 100%) !important;
  padding: 85px 0 !important;
  border-top: 1px solid rgba(23, 20, 67, 0.12) !important;
  border-bottom: 1px solid rgba(23, 20, 67, 0.12) !important;
  position: relative !important;
  text-align: center !important;
  border-radius: 0px !important;
  box-shadow: none !important;
  display: block !important;
  width: 100% !important;
}

.prima-banner__inner,
.prima-banner .container,
.prima-cta-banner-section .container {
  max-width: 820px !important;
  margin: 0 auto !important;
  text-align: center !important;
  position: relative !important;
  z-index: 2 !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.prima-banner .prima-badge-pill,
.prima-banner .prima-section-eyebrow,
.prima-cta-banner-section .prima-badge-pill {
  color: #5c0c05 !important;
  font-family: 'Outfit', 'Montserrat', sans-serif !important;
  font-size: 0.8125rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 16px !important;
  background: transparent !important;
  display: inline-block !important;
  border: none !important;
}

.prima-banner__title,
.prima-banner h2,
.prima-banner h3,
.prima-cta-banner-section h2,
.prima-cta-banner-section .prima-h2,
html.theme-light .prima-banner__title,
html.theme-light .prima-banner h2,
html.theme-light .prima-banner h3,
html.theme-light .prima-cta-banner-section h2,
html.theme-light .prima-cta-banner-section .prima-h2 {
  font-family: 'Outfit', 'Montserrat', sans-serif !important;
  font-size: clamp(2rem, 3.2vw, 2.6rem) !important;
  font-weight: 800 !important;
  color: #171443 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 18px 0 !important;
}

.prima-banner__desc,
.prima-banner p,
.prima-cta-banner-section p,
html.theme-light .prima-banner__desc,
html.theme-light .prima-banner p,
html.theme-light .prima-cta-banner-section p {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 1.05rem !important;
  color: #475569 !important;
  line-height: 1.75 !important;
  max-width: 680px !important;
  margin: 0 auto 36px auto !important;
}

.prima-banner__actions,
.prima-banner .actions-row,
.prima-cta-banner-section .actions-row {
  display: flex !important;
  gap: 16px !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  margin: 0 auto !important;
}

/* Primary CTA Button (Gold with Dark Navy Text) */
.prima-banner .btn-primary,
.prima-banner .prima-btn--gold,
.prima-cta-banner-section .btn-primary,
html.theme-light .prima-banner .btn-primary,
html.theme-light .prima-banner .prima-btn--gold,
html.theme-light .prima-cta-banner-section .btn-primary {
  background: #C5A880 !important;
  background-color: #C5A880 !important;
  color: #171443 !important;
  font-family: 'Outfit', 'Montserrat', sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 16px 36px !important;
  border: 1.5px solid #C5A880 !important;
  border-radius: 0px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 12px rgba(23, 20, 67, 0.08) !important;
}

.prima-banner .btn-primary:hover,
.prima-banner .prima-btn--gold:hover,
.prima-cta-banner-section .btn-primary:hover {
  background: #B39366 !important;
  background-color: #B39366 !important;
  border-color: #B39366 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(23, 20, 67, 0.16) !important;
}

/* Secondary CTA Button (Midnight Navy Outline) */
.prima-banner .btn-secondary,
.prima-banner .prima-btn--outline,
.prima-cta-banner-section .btn-secondary,
html.theme-light .prima-banner .btn-secondary,
html.theme-light .prima-banner .prima-btn--outline,
html.theme-light .prima-cta-banner-section .btn-secondary {
  background: transparent !important;
  background-color: transparent !important;
  color: #171443 !important;
  font-family: 'Outfit', 'Montserrat', sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 16px 36px !important;
  border: 1.5px solid #171443 !important;
  border-radius: 0px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: all 0.25s ease !important;
}

.prima-banner .btn-secondary:hover,
.prima-banner .prima-btn--outline:hover,
.prima-cta-banner-section .btn-secondary:hover {
  background: #171443 !important;
  background-color: #171443 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(23, 20, 67, 0.16) !important;
}

/* ==========================================================================
   PRIMA BRAND EMBLEM WATERMARK SHAPE OVERLAY (FOOTER BACKGROUND)
   ========================================================================== */
.footer-v3,
footer.footer-v3,
#corporate-footer,
.prima-footer,
footer.prima-footer {
  position: relative !important;
  overflow: hidden !important;
}

.footer-brand-shape-overlay {
  position: absolute !important;
  top: auto !important;
  bottom: -40px !important;
  right: -30px !important;
  width: clamp(380px, 46vw, 720px) !important;
  height: clamp(380px, 46vw, 720px) !important;
  background-repeat: no-repeat !important;
  background-position: right bottom !important;
  background-size: contain !important;
  opacity: 0.065 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  mix-blend-mode: screen !important;
}

/* Ensure all footer text and links remain strictly above the watermark */
.footer-v3>*:not(.footer-brand-shape-overlay),
.footer-v3-body,
.footer-v3-cta-band,
.footer-v3-bottom,
.prima-footer>*:not(.footer-brand-shape-overlay),
.prima-footer__top,
.prima-footer__grid,
.prima-footer__bottom {
  position: relative !important;
  z-index: 2 !important;
}

@media (max-width: 768px) {
  .footer-brand-shape-overlay {
    width: 320px !important;
    height: 320px !important;
    right: -20px !important;
    bottom: -20px !important;
    opacity: 0.05 !important;
  }
}

/* ==========================================================================
   EXECUTIVE ARCHITECTURAL CTA SHOWCASE (SPLIT BENTO LUXURY DESIGN)
   ========================================================================== */
.prima-cta-executive-showcase {
  padding: 80px 0 90px 0 !important;
  background-color: #F8FAFC !important;
  position: relative !important;
  overflow: hidden !important;
}

html.theme-light .prima-cta-executive-showcase {
  background-color: #F8FAFC !important;
}

.cta-executive-card {
  position: relative !important;
  background: linear-gradient(135deg, #171443 0%, #110E36 55%, #0A0822 100%) !important;
  border-top: 3.5px solid #C5A880 !important;
  border: 1px solid rgba(197, 168, 128, 0.22) !important;
  border-radius: 0px !important;
  padding: clamp(36px, 4vw, 56px) clamp(28px, 4.5vw, 64px) !important;
  overflow: hidden !important;
  box-shadow: 0 20px 45px rgba(23, 20, 67, 0.16) !important;
}

.cta-watermark-shape {
  position: absolute !important;
  right: -30px !important;
  bottom: -40px !important;
  width: clamp(340px, 40vw, 520px) !important;
  height: clamp(340px, 40vw, 520px) !important;
  background-image: url('../branding/prima-watermark-shape-gold.webp') !important;
  background-repeat: no-repeat !important;
  background-position: right bottom !important;
  background-size: contain !important;
  opacity: 0.08 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.cta-executive-grid {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: clamp(32px, 4vw, 64px) !important;
  align-items: center !important;
  position: relative !important;
  z-index: 2 !important;
}

@media (max-width: 991px) {
  .cta-executive-grid {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }
}

.cta-executive-content {
  max-width: 680px !important;
}

.cta-eyebrow-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #C5A880 !important;
  font-family: 'Outfit', 'Montserrat', sans-serif !important;
  font-size: 0.8125rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  margin-bottom: 14px !important;
}

.cta-tag-dot {
  width: 7px !important;
  height: 7px !important;
  background: #C5A880 !important;
  border-radius: 0px !important;
  display: inline-block !important;
}

.cta-executive-title {
  font-family: 'Outfit', 'Montserrat', sans-serif !important;
  font-size: clamp(1.85rem, 2.8vw, 2.45rem) !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 16px 0 !important;
}

.cta-executive-title .gold-text {
  color: #C5A880 !important;
  font-weight: 800 !important;
}

.cta-executive-lead {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 1.025rem !important;
  color: rgba(255, 255, 255, 0.82) !important;
  line-height: 1.7 !important;
  margin: 0 0 24px 0 !important;
}

.cta-trust-strip {
  display: flex !important;
  gap: clamp(12px, 2vw, 24px) !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.cta-trust-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  color: rgba(255, 255, 255, 0.85) !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
}

.cta-trust-check {
  color: #C5A880 !important;
  font-weight: 800 !important;
  font-size: 0.95rem !important;
}

.cta-executive-actions-box {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  min-width: 280px !important;
  flex-shrink: 0 !important;
}

@media (max-width: 991px) {
  .cta-executive-actions-box {
    min-width: auto !important;
    width: 100% !important;
  }
}

.btn-cta-gold {
  background: #C5A880 !important;
  background-color: #C5A880 !important;
  color: #171443 !important;
  font-family: 'Outfit', 'Montserrat', sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 16px 28px !important;
  border: 1.5px solid #C5A880 !important;
  border-radius: 0px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 16px rgba(197, 168, 128, 0.25) !important;
  width: 100% !important;
}

.btn-cta-gold:hover {
  background: #B39366 !important;
  background-color: #B39366 !important;
  border-color: #B39366 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(197, 168, 128, 0.35) !important;
}

.btn-cta-outline {
  background: transparent !important;
  background-color: transparent !important;
  color: #FFFFFF !important;
  font-family: 'Outfit', 'Montserrat', sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 15px 28px !important;
  border: 1.5px solid rgba(255, 255, 255, 0.45) !important;
  border-radius: 0px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: all 0.25s ease !important;
  width: 100% !important;
}

.btn-cta-outline:hover {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  color: #171443 !important;
  border-color: #FFFFFF !important;
  transform: translateY(-2px) !important;
}

.cta-hotline-chip {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding-top: 8px !important;
  text-align: center !important;
}

.cta-hotline-chip .hotline-label {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: rgba(255, 255, 255, 0.6) !important;
}

.cta-hotline-chip .hotline-num {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  color: #C5A880 !important;
  font-weight: 800 !important;
  font-size: 0.95rem !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
  transition: color 0.2s ease !important;
}

.cta-hotline-chip .hotline-num:hover {
  color: #FFFFFF !important;
  text-decoration: underline !important;
}

/* ==========================================================================
   CLASSIC PRIMA LUXURY WARM BANNER (EXACT MATCH TO PRIMA-LUXURY DESIGN)
   ========================================================================== */
section.prima-banner,
.prima-banner,
html.theme-light section.prima-banner,
html.theme-light .prima-banner,
.prima-cta-executive-showcase,
html.theme-light .prima-cta-executive-showcase {
  background-color: #FAF8F5 !important;
  background: #FAF8F5 !important;
  padding: 85px 0 !important;
  border-top: 1px solid rgba(197, 168, 128, 0.28) !important;
  border-bottom: 1px solid rgba(197, 168, 128, 0.28) !important;
  position: relative !important;
  text-align: center !important;
  border-radius: 0px !important;
  box-shadow: none !important;
  display: block !important;
  width: 100% !important;
}

.prima-banner__inner,
.prima-banner .container,
.prima-banner .prima-container {
  max-width: 760px !important;
  margin: 0 auto !important;
  text-align: center !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  position: relative !important;
  z-index: 2 !important;
}

.prima-banner .prima-badge-pill,
.prima-banner .prima-section-eyebrow {
  color: #5c0c05 !important;
  font-family: 'Outfit', 'Montserrat', sans-serif !important;
  font-size: 0.8125rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 14px !important;
  background: transparent !important;
  display: inline-block !important;
  border: none !important;
}

.prima-banner__title,
.prima-banner h2,
.prima-banner h3,
html.theme-light .prima-banner__title,
html.theme-light .prima-banner h2,
html.theme-light .prima-banner h3 {
  font-family: 'Outfit', 'Montserrat', sans-serif !important;
  font-size: clamp(2rem, 3vw, 2.45rem) !important;
  font-weight: 700 !important;
  color: #171443 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.015em !important;
  margin: 0 0 16px 0 !important;
}

.prima-banner__desc,
.prima-banner p,
html.theme-light .prima-banner__desc,
html.theme-light .prima-banner p {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 1.05rem !important;
  color: #475569 !important;
  line-height: 1.68 !important;
  max-width: 680px !important;
  margin: 0 auto 32px auto !important;
}

.prima-banner__actions,
.prima-banner .actions-row {
  display: flex !important;
  gap: 16px !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  margin: 0 auto !important;
}

/* Sharp Gold Primary Button */
.prima-banner .btn-primary,
.prima-banner .prima-btn--gold,
.prima-banner .btn-cta-gold,
html.theme-light .prima-banner .btn-primary,
html.theme-light .prima-banner .prima-btn--gold {
  background: #C5A880 !important;
  background-color: #C5A880 !important;
  color: #171443 !important;
  font-family: 'Outfit', 'Montserrat', sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 16px 36px !important;
  border: 1.5px solid #C5A880 !important;
  border-radius: 0px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 14px rgba(197, 168, 128, 0.22) !important;
  width: auto !important;
}

.prima-banner .btn-primary:hover,
.prima-banner .prima-btn--gold:hover,
html.theme-light .prima-banner .btn-primary:hover,
html.theme-light .prima-banner .prima-btn--gold:hover {
  background: #B39366 !important;
  background-color: #B39366 !important;
  border-color: #B39366 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(197, 168, 128, 0.32) !important;
}

/* Sharp Secondary Outline Button */
.prima-banner .btn-secondary,
.prima-banner .prima-btn--outline,
.prima-banner .btn-cta-outline,
html.theme-light .prima-banner .btn-secondary,
html.theme-light .prima-banner .prima-btn--outline {
  background: transparent !important;
  background-color: transparent !important;
  color: #171443 !important;
  font-family: 'Outfit', 'Montserrat', sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 16px 36px !important;
  border: 1.5px solid #171443 !important;
  border-radius: 0px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: all 0.25s ease !important;
  width: auto !important;
}

.prima-banner .btn-secondary:hover,
.prima-banner .prima-btn--outline:hover,
html.theme-light .prima-banner .btn-secondary:hover,
html.theme-light .prima-banner .prima-btn--outline:hover {
  background: #171443 !important;
  background-color: #171443 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
}

/* ==========================================================================
   STRICT THEME COLOR CTA BANNER (DARK BLUE & DARK RED - NO YELLOW)
   ========================================================================== */
section.prima-banner,
.prima-banner,
html.theme-light section.prima-banner,
html.theme-light .prima-banner,
.prima-cta-executive-showcase,
html.theme-light .prima-cta-executive-showcase {
  background-color: #EDF0F5 !important;
  background: #EDF0F5 !important;
  padding: 85px 0 !important;
  border-top: 1px solid rgba(23, 20, 67, 0.12) !important;
  border-bottom: 1px solid rgba(23, 20, 67, 0.12) !important;
  position: relative !important;
  text-align: center !important;
  border-radius: 0px !important;
  box-shadow: none !important;
  display: block !important;
  width: 100% !important;
}

.prima-banner__inner,
.prima-banner .container,
.prima-banner .prima-container {
  max-width: 760px !important;
  margin: 0 auto !important;
  text-align: center !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  position: relative !important;
  z-index: 2 !important;
}

/* Subtitle in Signature Dark Red (#5c0c05) */
.prima-banner .prima-badge-pill,
.prima-banner .badge-gold,
.prima-banner .prima-section-eyebrow,
.prima-banner [class*="eyebrow"],
.prima-banner [class*="tag"] {
  color: #5c0c05 !important;
  font-family: 'Outfit', 'Montserrat', sans-serif !important;
  font-size: 0.8125rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 14px !important;
  background: transparent !important;
  display: inline-block !important;
  border: none !important;
}

/* Title in Signature Dark Blue (#171443) */
.prima-banner__title,
.prima-banner h2,
.prima-banner h3,
html.theme-light .prima-banner__title,
html.theme-light .prima-banner h2,
html.theme-light .prima-banner h3 {
  font-family: 'Outfit', 'Montserrat', sans-serif !important;
  font-size: clamp(2rem, 3vw, 2.45rem) !important;
  font-weight: 800 !important;
  color: #171443 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.015em !important;
  margin: 0 0 16px 0 !important;
}

/* Description in Slate Grey (#475569) */
.prima-banner__desc,
.prima-banner p,
html.theme-light .prima-banner__desc,
html.theme-light .prima-banner p {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 1.05rem !important;
  color: #475569 !important;
  line-height: 1.68 !important;
  max-width: 680px !important;
  margin: 0 auto 32px auto !important;
}

.prima-banner__actions,
.prima-banner .actions-row {
  display: flex !important;
  gap: 16px !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  margin: 0 auto !important;
}

/* Primary CTA Button: Theme Dark Blue (#171443) with White Text */
.prima-banner .btn-primary,
.prima-banner .prima-btn--navy,
.prima-banner .prima-btn--gold,
.prima-banner .btn-cta-gold,
html.theme-light .prima-banner .btn-primary,
html.theme-light .prima-banner .prima-btn--navy,
html.theme-light .prima-banner .prima-btn--gold {
  background: #171443 !important;
  background-color: #171443 !important;
  color: #FFFFFF !important;
  font-family: 'Outfit', 'Montserrat', sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 16px 36px !important;
  border: 1.5px solid #171443 !important;
  border-radius: 0px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 14px rgba(23, 20, 67, 0.18) !important;
  width: auto !important;
}

.prima-banner .btn-primary:hover,
.prima-banner .prima-btn--navy:hover,
.prima-banner .prima-btn--gold:hover,
html.theme-light .prima-banner .btn-primary:hover,
html.theme-light .prima-banner .prima-btn--navy:hover,
html.theme-light .prima-banner .prima-btn--gold:hover {
  background: #252069 !important;
  background-color: #252069 !important;
  border-color: #252069 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(23, 20, 67, 0.28) !important;
}

/* Secondary CTA Button: Dark Blue Outline with Dark Blue Text */
.prima-banner .btn-secondary,
.prima-banner .prima-btn--outline,
.prima-banner .btn-cta-outline,
html.theme-light .prima-banner .btn-secondary,
html.theme-light .prima-banner .prima-btn--outline {
  background: transparent !important;
  background-color: transparent !important;
  color: #171443 !important;
  font-family: 'Outfit', 'Montserrat', sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 16px 36px !important;
  border: 1.5px solid #171443 !important;
  border-radius: 0px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: all 0.25s ease !important;
  width: auto !important;
}

.prima-banner .btn-secondary:hover,
.prima-banner .prima-btn--outline:hover,
html.theme-light .prima-banner .btn-secondary:hover,
html.theme-light .prima-banner .prima-btn--outline:hover {
  background: #171443 !important;
  background-color: #171443 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
}

/* One-Line CTA Banner Heading Rule */
.prima-banner__inner,
.prima-banner .container,
.prima-banner .prima-container {
  max-width: 1040px !important;
}

#about-cta .prima-banner__title,
#services-cta .prima-banner__title,
#portfolio-cta .prima-banner__title,
.prima-banner__title.title-one-line {
  white-space: normal !important;
}

@media (min-width: 860px) {

  #about-cta .prima-banner__title,
  #services-cta .prima-banner__title,
  #portfolio-cta .prima-banner__title,
  .prima-banner__title.title-one-line,
  .prima-banner__title {
    white-space: nowrap !important;
    font-size: clamp(1.55rem, 2.3vw, 2.25rem) !important;
  }
}

@media (max-width: 859px) {

  #about-cta .prima-banner__title,
  #services-cta .prima-banner__title,
  #portfolio-cta .prima-banner__title,
  .prima-banner__title {
    white-space: normal !important;
    font-size: clamp(1.4rem, 4.5vw, 1.85rem) !important;
  }
}



/* ==========================================================================
   INSTITUTIONAL DARK NAVY FOOTER — HIGH-CONTRAST PURE WHITE READABILITY
   Guarantees 100% razor-sharp readability on Dark Navy background (#171443)
   across all themes, pages, and viewports with ZERO dark-on-dark text clashing.
   ========================================================================== */
.footer-v3,
footer.footer-v3,
#corporate-footer,
.prima-footer,
footer.prima-footer,
html.theme-light .footer-v3,
html.theme-light footer.footer-v3,
html.theme-light #corporate-footer,
html.theme-light .prima-footer,
html.theme-light footer.prima-footer {
  background: #171443 !important;
  background-color: #171443 !important;
  color: #FFFFFF !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Headings in Footer */
.footer-v3 .footer-v3-col-title,
html.theme-light .footer-v3 .footer-v3-col-title,
.footer-v3 h4,
html.theme-light .footer-v3 h4,
.prima-footer h4,
html.theme-light .prima-footer h4 {
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin-bottom: 20px !important;
  opacity: 1 !important;
}

/* Tagline */
.footer-v3-tagline,
html.theme-light .footer-v3-tagline,
.prima-footer__tagline,
html.theme-light .prima-footer__tagline {
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 0.88rem !important;
  line-height: 1.7 !important;
}

/* Navigation Links */
.footer-v3-links li a,
html.theme-light .footer-v3-links li a,
.footer-v3-col a,
html.theme-light .footer-v3-col a,
.prima-footer a,
html.theme-light .prima-footer a {
  color: rgba(255, 255, 255, 0.75) !important;
  font-size: 0.88rem !important;
  text-decoration: none !important;
  transition: color 0.25s ease, padding-left 0.25s ease !important;
}

.footer-v3-links li a:hover,
html.theme-light .footer-v3-links li a:hover,
.footer-v3-col a:hover,
html.theme-light .footer-v3-col a:hover,
.prima-footer a:hover,
html.theme-light .prima-footer a:hover {
  color: #FFFFFF !important;
  padding-left: 4px !important;
}

/* Contact Items */
.footer-v3-contact-item,
html.theme-light .footer-v3-contact-item {
  color: rgba(255, 255, 255, 0.88) !important;
}

.footer-v3-contact-item span,
html.theme-light .footer-v3-contact-item span,
.footer-v3-contact-item a,
html.theme-light .footer-v3-contact-item a {
  color: #FFFFFF !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
}

.footer-v3-contact-icon,
html.theme-light .footer-v3-contact-icon {
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: #FFFFFF !important;
}

.footer-v3-contact-icon svg,
html.theme-light .footer-v3-contact-icon svg {
  fill: #FFFFFF !important;
}

/* Social Buttons */
.footer-v3-social,
html.theme-light .footer-v3-social {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: #FFFFFF !important;
}

.footer-v3-social svg,
html.theme-light .footer-v3-social svg {
  fill: #FFFFFF !important;
}

.footer-v3-social:hover,
html.theme-light .footer-v3-social:hover {
  background: #FFFFFF !important;
  color: #171443 !important;
  border-color: #FFFFFF !important;
}

.footer-v3-social:hover svg,
html.theme-light .footer-v3-social:hover svg {
  fill: #171443 !important;
}

/* Logos in Footer */
.footer-v3-logo.logo-white,
html.theme-light .footer-v3-logo.logo-white {
  display: block !important;
  filter: none !important;
}

.footer-v3-logo.logo-navy,
html.theme-light .footer-v3-logo.logo-navy {
  display: none !important;
}

/* Bottom Bar */
.footer-v3-bottom,
html.theme-light .footer-v3-bottom,
.prima-footer__bottom,
html.theme-light .prima-footer__bottom {
  background: #110f33 !important;
  background-color: #110f33 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: rgba(255, 255, 255, 0.7) !important;
  padding: 18px 0 !important;
}

.footer-v3-bottom p,
html.theme-light .footer-v3-bottom p,
.footer-v3-bottom span,
html.theme-light .footer-v3-bottom span {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 0.82rem !important;
}

.footer-v3-bottom-links a,
html.theme-light .footer-v3-bottom-links a {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 0.82rem !important;
}

.footer-v3-bottom-links a:hover,
html.theme-light .footer-v3-bottom-links a:hover {
  color: #FFFFFF !important;
  text-decoration: underline !important;
}

/* Brand Shape Overlay (Real Prima Arch - Elegant & Subtle) */
.footer-brand-shape-overlay {
  position: absolute !important;
  top: auto !important;
  bottom: -30px !important;
  right: -20px !important;
  width: clamp(340px, 40vw, 600px) !important;
  height: clamp(300px, 36vw, 520px) !important;
  background-repeat: no-repeat !important;
  background-position: right bottom !important;
  background-size: contain !important;
  opacity: 0.04 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  mix-blend-mode: screen !important;
}


/* ==========================================================================
   EXECUTIVE OVERVIEW PHOTO SHOWCASE — 100% SHARP & BUTTON-ALIGNED HEIGHT
   Lengthens the team photo to show the full composition, aligning its bottom edge
   perfectly with the buttons on the left column ("ខាងក្រោមស្មើនឹង button").
   Enforces 100% sharp architectural corners (0px) everywhere.
   ========================================================================== */
@media (min-width: 992px) {
  .exec-photo-grid {
    align-items: stretch !important;
  }

  .exec-photo-col {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
  }

  .exec-collage-wrap {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 100% !important;
    flex: 1 1 100% !important;
    padding-bottom: 0px !important;
    padding-left: 36px !important;
    border-radius: 0px !important;
  }

  .exec-collage-main {
    position: relative !important;
    border-radius: 0px !important;
    overflow: hidden !important;
    height: 100% !important;
    min-height: 100% !important;
    width: 100% !important;
    flex: 1 1 100% !important;
    background: transparent !important;
    display: block !important;
    box-shadow: none !important;
  }

  .collage-main-img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    object-position: center 20% !important;
    display: block !important;
    filter: none !important;
    border-radius: 0px !important;
    transition: transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
  }

  .exec-collage-sub {
    bottom: 0px !important;
    left: 0 !important;
    border-radius: 0px !important;
  }
}

.exec-collage-main,
.collage-main-img,
.exec-collage-sub,
.collage-sub-img,
.exec-collage-wrap,
.exec-experience-chip,
.exec-photo-tag {
  border-radius: 0px !important;
}

.exec-collage-main:hover .collage-main-img {
  transform: scale(1.04) !important;
}

.collage-main-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg,
      rgba(6, 13, 36, 0.02) 0%,
      transparent 50%,
      rgba(5, 11, 30, 0.25) 100%) !important;
  pointer-events: none !important;
  border-radius: 0px !important;
}

html.theme-light .collage-main-overlay {
  display: none !important;
}

@media (max-width: 991px) {
  .exec-collage-wrap {
    padding-left: 0 !important;
    padding-bottom: 24px !important;
    max-width: 580px !important;
    margin: 0 auto !important;
    height: auto !important;
    border-radius: 0px !important;
  }

  .exec-collage-main {
    position: relative !important;
    height: 520px !important;
    min-height: 520px !important;
    width: 100% !important;
    border-radius: 0px !important;
  }

  .collage-main-img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    object-position: center 20% !important;
    border-radius: 0px !important;
  }

  .exec-collage-sub {
    bottom: 0 !important;
    left: 0 !important;
    border-radius: 0px !important;
  }
}

@media (max-width: 768px) {
  .exec-collage-main {
    height: 440px !important;
    min-height: 440px !important;
    border-radius: 0px !important;
  }
}

@media (max-width: 480px) {
  .exec-collage-main {
    height: 380px !important;
    min-height: 380px !important;
    border-radius: 0px !important;
  }
}

/* ==========================================================================
   ISO 9001:2015 CERTIFICATE BADGE - BOTTOM-RIGHT OVERLAPPING EDITORIAL COLLAGE
   ========================================================================== */
.exec-collage-sub {
  position: absolute !important;
  bottom: -24px !important;
  right: -24px !important;
  left: auto !important;
  top: auto !important;
  width: 154px !important;
  height: 96px !important;
  border-radius: 0px !important;
  overflow: hidden !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(23, 20, 67, 0.28) !important;
  box-shadow: 0 8px 24px rgba(23, 20, 67, 0.12) !important;
  z-index: 5 !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease !important;
}

.exec-collage-sub:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 28px rgba(23, 20, 67, 0.18) !important;
}

.collage-sub-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 6px 10px !important;
  background: #FFFFFF !important;
  display: block !important;
  border-radius: 0px !important;
}

.exec-photo-tag {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  position: absolute !important;
  top: 22px !important;
  right: 22px !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(23, 20, 67, 0.2) !important;
  border-radius: 0px !important;
  padding: 8px 16px !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  color: #171443 !important;
  z-index: 2 !important;
}


/* ==========================================================================
   RESPONSIVE CONTAINER & SMALL SCREEN SYSTEM — ARCHITECTURAL PERFECTION
   Enforces balanced padding, prevents horizontal overflow, and ensures
   crisp edge-to-edge alignment across all small screens & mobile viewports.
   ========================================================================== */

/* 1. Global Viewport Clipping & Overflow Prevention */
html,
body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
  width: 100% !important;
}

section,
footer,
.prima-about-section,
.prima-why-section,
.prima-cinematic-assets-section,
.footer-v3 {
  overflow-x: hidden !important;
  max-width: 100% !important;
}

/* 2. Unified Container Standards Across Small Screen Breakpoints */
@media (max-width: 991px) {
  :root {
    --container-gutter: 24px !important;
  }

  .container,
  .prima-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 768px) {
  :root {
    --container-gutter: 20px !important;
  }

  .container,
  .prima-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 480px) {
  :root {
    --container-gutter: 16px !important;
  }

  .container,
  .prima-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }
}

/* 3. Executive Overview Small Screen Layout Revision */
@media (max-width: 991px) {
  .exec-photo-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 36px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .exec-text-col,
  .exec-photo-col {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
  }

  .exec-photo-heading {
    font-size: clamp(1.75rem, 4.8vw, 2.2rem) !important;
    line-height: 1.25 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  .exec-lead-p {
    font-size: 1.02rem !important;
    line-height: 1.6 !important;
    margin-bottom: 16px !important;
  }

  .exec-body-p {
    font-size: 0.94rem !important;
    line-height: 1.6 !important;
  }

  .exec-collage-wrap {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-bottom: 24px !important;
    margin: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    flex: none !important;
  }

  .exec-collage-main {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 380px !important;
    min-height: 380px !important;
    border-radius: 0px !important;
    overflow: hidden !important;
  }

  .collage-main-img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 20% !important;
  }

  .exec-photo-tag {
    top: 14px !important;
    right: 14px !important;
    padding: 6px 12px !important;
    font-size: 0.72rem !important;
    max-width: calc(100% - 28px) !important;
    white-space: nowrap !important;
    border-radius: 0px !important;
  }

  .exec-collage-sub {
    width: 132px !important;
    height: 82px !important;
    bottom: -16px !important;
    right: 8px !important;
    left: auto !important;
    top: auto !important;
    border-radius: 0px !important;
    box-shadow: 0 6px 20px rgba(23, 20, 67, 0.15) !important;
  }

  .collage-sub-img {
    padding: 5px 8px !important;
    border-radius: 0px !important;
  }

  .exec-actions-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 24px !important;
  }
}

@media (max-width: 580px) {
  .exec-collage-main {
    height: 320px !important;
    min-height: 320px !important;
  }

  .exec-collage-sub {
    width: 118px !important;
    height: 74px !important;
    bottom: -14px !important;
    right: 6px !important;
    left: auto !important;
    top: auto !important;
  }

  .exec-actions-row {
    flex-direction: column !important;
  }

  .exec-actions-row .btn,
  .btn-exec {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 13px 20px !important;
  }
}

@media (max-width: 380px) {
  .exec-collage-main {
    height: 270px !important;
    min-height: 270px !important;
  }

  .exec-photo-tag {
    font-size: 0.68rem !important;
    padding: 4px 8px !important;
  }

  .exec-collage-sub {
    width: 106px !important;
    height: 66px !important;
    bottom: -12px !important;
    right: 4px !important;
    left: auto !important;
    top: auto !important;
  }
}

/* 4. Chairman Testimonial Box Mobile Optimization */
@media (max-width: 768px) {
  .chairman-testimonial-box {
    margin-top: 36px !important;
    padding: 28px 24px !important;
    border-radius: 0px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .chairman-quote-text {
    font-size: 0.94rem !important;
    line-height: 1.6 !important;
  }

  .chairman-author-title {
    font-size: 0.72rem !important;
    letter-spacing: 1px !important;
  }
}

@media (max-width: 580px) {
  .chairman-testimonial-box {
    margin-top: 24px !important;
    padding: 22px 18px !important;
  }

  .chairman-author {
    gap: 8px !important;
  }

  .chairman-author-dot {
    display: none !important;
  }

  .chairman-author-title {
    text-align: center !important;
    font-size: 0.76rem !important;
    line-height: 1.4 !important;
  }

  .chairman-quote-text {
    font-size: 0.88rem !important;
    line-height: 1.55 !important;
  }
}

/* 5. Footer Watermark & Navigation Clipping */
@media (max-width: 768px) {
  .footer-v3 {
    overflow: hidden !important;
    position: relative !important;
  }

  .footer-brand-shape-overlay {
    right: 0 !important;
    width: 260px !important;
    height: 220px !important;
    pointer-events: none !important;
  }
}


/* ==========================================================================
   NAVBAR DYNAMIC SCROLL SYSTEM (WHITE TOP -> DEEP BLUE FOOTER ON SCROLL)
   - When at top: Crisp solid white background, navy logo, dark navy links.
   - When scrolling down: Deep Royal Navy Blue (#171443) like footer, pure white
     logo like footer, white links, high-contrast crisp white CTA button.
   - Smooth 0.35s transition between states on both desktop and mobile.
   ========================================================================== */

/* 1. Bulletproof Fixed Positioning & Smooth Transition */
.navbar,
header.navbar,
#main-navbar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 1000 !important;
  transition: background 0.35s ease,
    background-color 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    height 0.3s ease !important;
}

/* Ensure subpages have appropriate clearance for the fixed navbar */
body:not(.home) {
  padding-top: 94px;
}

@media (max-width: 991px) {
  body:not(.home) {
    padding-top: 78px;
  }
}

/* Transition for all internal navbar items */
.navbar .brand-logo-img,
.navbar .nav-link,
.navbar .dropdown-chevron,
.navbar .lang-trigger-btn,
.navbar .btn-header-cta,
.navbar .mobile-menu-btn,
.navbar .hamburger-line {
  transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

/* ==========================================================================
   TOP STATE (scrollY <= 30 / .navbar:not(.scrolled))
   Crisp White Background, Midnight Navy Logo & Dark Navigation
   ========================================================================== */
html body .navbar:not(.scrolled),
html.theme-light body .navbar:not(.scrolled) {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  border-bottom: 1px solid #CBD5E1 !important;
  box-shadow: 0 1px 4px rgba(23, 20, 67, 0.06) !important;
}

/* Top State: Show Navy Logo, Hide White Logo */
html body .navbar:not(.scrolled) .brand-logo-img.logo-navy,
html.theme-light body .navbar:not(.scrolled) .brand-logo-img.logo-navy {
  display: block !important;
  filter: none !important;
}

html body .navbar:not(.scrolled) .brand-logo-img.logo-white,
html.theme-light body .navbar:not(.scrolled) .brand-logo-img.logo-white {
  display: none !important;
}

/* Top State: Dark Navy Nav Links */
html body .navbar:not(.scrolled) .nav-link,
html.theme-light body .navbar:not(.scrolled) .nav-link {
  color: #171443 !important;
  font-weight: 700 !important;
}

html body .navbar:not(.scrolled) .nav-link:hover,
html.theme-light body .navbar:not(.scrolled) .nav-link:hover,
html body .navbar:not(.scrolled) .nav-link.active,
html.theme-light body .navbar:not(.scrolled) .nav-link.active {
  color: #171443 !important;
  opacity: 0.8 !important;
}

html body .navbar:not(.scrolled) .dropdown-chevron,
html.theme-light body .navbar:not(.scrolled) .dropdown-chevron {
  color: #171443 !important;
}

/* Top State: Light Language Switcher Button */
html body .navbar:not(.scrolled) .lang-trigger-btn,
html.theme-light body .navbar:not(.scrolled) .lang-trigger-btn {
  background: #EDF0F5 !important;
  border: 1px solid #CBD5E1 !important;
  color: #171443 !important;
  font-weight: 700 !important;
  border-radius: 0px !important;
}

html body .navbar:not(.scrolled) .lang-trigger-btn:hover,
html.theme-light body .navbar:not(.scrolled) .lang-trigger-btn:hover {
  background: #E2E8F0 !important;
  border-color: #171443 !important;
}

html body .navbar:not(.scrolled) .lang-trigger-btn .lang-globe-icon,
html body .navbar:not(.scrolled) .lang-trigger-btn .lang-chevron-icon,
html.theme-light body .navbar:not(.scrolled) .lang-trigger-btn .lang-globe-icon,
html.theme-light body .navbar:not(.scrolled) .lang-trigger-btn .lang-chevron-icon {
  color: #171443 !important;
  stroke: #171443 !important;
}

/* Top State: Dark Navy Header CTA Button */
html body .navbar:not(.scrolled) .btn-header-cta,
html.theme-light body .navbar:not(.scrolled) .btn-header-cta {
  background: #171443 !important;
  background-color: #171443 !important;
  color: #FFFFFF !important;
  border: 1px solid #171443 !important;
  font-weight: 700 !important;
  border-radius: 0px !important;
}

html body .navbar:not(.scrolled) .btn-header-cta:hover,
html.theme-light body .navbar:not(.scrolled) .btn-header-cta:hover {
  background: #252069 !important;
  border-color: #252069 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
}

/* Top State: Mobile Hamburger Button & Lines */
html body .navbar:not(.scrolled) .mobile-menu-btn,
html.theme-light body .navbar:not(.scrolled) .mobile-menu-btn {
  background: #EDF0F5 !important;
  border: 1px solid #CBD5E1 !important;
  border-radius: 0px !important;
}

html body .navbar:not(.scrolled) .hamburger-line,
html.theme-light body .navbar:not(.scrolled) .hamburger-line {
  background-color: #171443 !important;
}

/* Top State: Dropdown Menus */
html body .navbar:not(.scrolled) .nav-dropdown-menu,
html.theme-light body .navbar:not(.scrolled) .nav-dropdown-menu {
  background: #FFFFFF !important;
  border: 1px solid #CBD5E1 !important;
  border-top: 3px solid #171443 !important;
  border-radius: 0px !important;
  box-shadow: 0 8px 24px rgba(23, 20, 67, 0.12) !important;
}

html body .navbar:not(.scrolled) .dropdown-link-item,
html.theme-light body .navbar:not(.scrolled) .dropdown-link-item {
  color: #171443 !important;
  font-weight: 600 !important;
}

html body .navbar:not(.scrolled) .dropdown-link-item:hover,
html.theme-light body .navbar:not(.scrolled) .dropdown-link-item:hover {
  background: #EDF0F5 !important;
  color: #171443 !important;
}


/* ==========================================================================
   SCROLLED STATE (scrollY > 30 / .navbar.scrolled)
   Deep Royal Navy Blue (#171443) like Footer & White Logo like Footer
   ========================================================================== */
html body .navbar.scrolled,
html.theme-light body .navbar.scrolled {
  background: #171443 !important;
  background-color: #171443 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 4px 24px rgba(11, 10, 34, 0.45) !important;
  backdrop-filter: blur(16px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
}

/* Scrolled State: Show Pure White Logo like Footer, Hide Navy Logo */
html body .navbar.scrolled .brand-logo-img.logo-white,
html.theme-light body .navbar.scrolled .brand-logo-img.logo-white {
  display: block !important;
  filter: none !important;
}

html body .navbar.scrolled .brand-logo-img.logo-navy,
html.theme-light body .navbar.scrolled .brand-logo-img.logo-navy {
  display: none !important;
}

/* Scrolled State: Pure White Nav Links */
html body .navbar.scrolled .nav-link,
html.theme-light body .navbar.scrolled .nav-link {
  color: #FFFFFF !important;
  font-weight: 600 !important;
}

html body .navbar.scrolled .nav-link:hover,
html.theme-light body .navbar.scrolled .nav-link:hover,
html body .navbar.scrolled .nav-link.active,
html.theme-light body .navbar.scrolled .nav-link.active {
  color: #FFFFFF !important;
  opacity: 0.92 !important;
}

html body .navbar.scrolled .dropdown-chevron,
html.theme-light body .navbar.scrolled .dropdown-chevron {
  color: #FFFFFF !important;
}

/* Scrolled State: Dark Translucent Language Switcher Button */
html body .navbar.scrolled .lang-trigger-btn,
html.theme-light body .navbar.scrolled .lang-trigger-btn {
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  border-radius: 0px !important;
}

html body .navbar.scrolled .lang-trigger-btn:hover,
html.theme-light body .navbar.scrolled .lang-trigger-btn:hover {
  background: rgba(255, 255, 255, 0.2) !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
}

html body .navbar.scrolled .lang-trigger-btn .lang-globe-icon,
html body .navbar.scrolled .lang-trigger-btn .lang-chevron-icon,
html.theme-light body .navbar.scrolled .lang-trigger-btn .lang-globe-icon,
html.theme-light body .navbar.scrolled .lang-trigger-btn .lang-chevron-icon {
  color: #FFFFFF !important;
  stroke: #FFFFFF !important;
}

html body .navbar.scrolled .lang-dropdown-menu,
html.theme-light body .navbar.scrolled .lang-dropdown-menu {
  background: #171443 !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 0px !important;
  box-shadow: 0 10px 30px rgba(11, 10, 34, 0.4) !important;
}

html body .navbar.scrolled .lang-option,
html.theme-light body .navbar.scrolled .lang-option {
  color: #FFFFFF !important;
}

html body .navbar.scrolled .lang-option:hover,
html.theme-light body .navbar.scrolled .lang-option:hover {
  background: rgba(255, 255, 255, 0.14) !important;
}

/* Scrolled State: Crisp High-Contrast White CTA Button with Dark Navy Text */
html body .navbar.scrolled .btn-header-cta,
html.theme-light body .navbar.scrolled .btn-header-cta {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  color: #171443 !important;
  border: 1px solid #FFFFFF !important;
  font-weight: 700 !important;
  border-radius: 0px !important;
}

html body .navbar.scrolled .btn-header-cta:hover,
html.theme-light body .navbar.scrolled .btn-header-cta:hover {
  background: #EDF0F5 !important;
  border-color: #EDF0F5 !important;
  color: #171443 !important;
  transform: translateY(-2px) !important;
}

/* Scrolled State: Mobile Hamburger Button & Lines */
html body .navbar.scrolled .mobile-menu-btn,
html.theme-light body .navbar.scrolled .mobile-menu-btn {
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 0px !important;
}

html body .navbar.scrolled .hamburger-line,
html.theme-light body .navbar.scrolled .hamburger-line {
  background-color: #FFFFFF !important;
}

/* Scrolled State: Dropdown Menus in Deep Navy */
html body .navbar.scrolled .nav-dropdown-menu,
html.theme-light body .navbar.scrolled .nav-dropdown-menu {
  background: #171443 !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-top: 3px solid #FFFFFF !important;
  border-radius: 0px !important;
  box-shadow: 0 10px 30px rgba(11, 10, 34, 0.45) !important;
}

html body .navbar.scrolled .dropdown-link-item,
html.theme-light body .navbar.scrolled .dropdown-link-item {
  color: #FFFFFF !important;
  font-weight: 600 !important;
}

html body .navbar.scrolled .dropdown-link-item:hover,
html.theme-light body .navbar.scrolled .dropdown-link-item:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #FFFFFF !important;
}

html body .navbar.scrolled .dropdown-item-arrow,
html.theme-light body .navbar.scrolled .dropdown-item-arrow {
  color: rgba(255, 255, 255, 0.7) !important;
  fill: rgba(255, 255, 255, 0.7) !important;
}

/* ==========================================================================
   SERVICES DROPDOWN SUBMENU - CRISP SHARP ARCHITECTURAL LUXURY
   - Overflow visible on header and all navbar parents to prevent clipping
   - Align directly below navbar starting under Services link
   - Elegant 2.5px Prima Gold (#ffdc73) top accent (NO heavy black bar!)
   - Top State: Pure White background (#FFFFFF) with refined shadow
   - Scrolled State: Deep Navy background (#171443) matching footer
   ========================================================================== */

/* 1. Ensure header and navbar never clip dropdown menus */
header,
header.navbar,
.navbar,
#main-navbar,
.navbar-inner,
.nav-desktop,
.nav-menu,
.nav-item-dropdown {
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
}

/* 2. Dropdown Container & Positioning */
.nav-item-dropdown {
  position: relative !important;
  overflow: visible !important;
}

.nav-dropdown-menu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  transform: translateY(10px) !important;
  min-width: 320px !important;
  width: max-content !important;
  max-width: 380px !important;
  padding: 10px 0 !important;
  margin: 0 !important;
  list-style: none !important;
  border-radius: 0px !important;
  z-index: 10000 !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.22s cubic-bezier(0.16, 1, 0.3, 1),
    visibility 0.22s ease !important;
}

/* Hover bridge to prevent losing hover when mouse moves from link to menu */
.nav-dropdown-menu::before {
  content: '' !important;
  position: absolute !important;
  top: -18px !important;
  left: 0 !important;
  right: 0 !important;
  height: 18px !important;
  background: transparent !important;
  display: block !important;
}

/* Open on hover / focus / active */
.nav-item-dropdown:hover .nav-dropdown-menu,
.nav-item-dropdown:focus-within .nav-dropdown-menu,
.nav-item-dropdown.active .nav-dropdown-menu,
.nav-item-dropdown.is-open .nav-dropdown-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

/* List items */
.nav-dropdown-menu li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Individual Links */
.dropdown-link-item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 13px 22px !important;
  font-size: 0.93rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: background 0.18s ease, color 0.18s ease, padding-left 0.18s ease !important;
}

.nav-dropdown-menu li:last-child .dropdown-link-item {
  border-bottom: none !important;
}

/* Dropdown Right Arrow */
.dropdown-item-arrow {
  width: 14px !important;
  height: 14px !important;
  flex-shrink: 0 !important;
  margin-left: 14px !important;
  transition: transform 0.18s ease, color 0.18s ease, fill 0.18s ease !important;
}

.dropdown-link-item:hover .dropdown-item-arrow {
  transform: translateX(4px) !important;
}

/* 3. TOP STATE (White Navbar): Crisp White Dropdown with Gold Top Accent */
html body .navbar:not(.scrolled) .nav-dropdown-menu,
html.theme-light body .navbar:not(.scrolled) .nav-dropdown-menu {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-top: 2.5px solid #ffdc73 !important;
  /* Signature Prima Gold Luxury Accent */
  box-shadow: 0 16px 36px rgba(23, 20, 67, 0.12), 0 4px 12px rgba(23, 20, 67, 0.06) !important;
}

html body .navbar:not(.scrolled) .dropdown-link-item,
html.theme-light body .navbar:not(.scrolled) .dropdown-link-item {
  color: #171443 !important;
  border-bottom: 1px solid rgba(23, 20, 67, 0.06) !important;
}

html body .navbar:not(.scrolled) .dropdown-link-item:hover,
html.theme-light body .navbar:not(.scrolled) .dropdown-link-item:hover {
  background: #F8FAFC !important;
  color: #ffdc73 !important;
  padding-left: 26px !important;
}

html body .navbar:not(.scrolled) .dropdown-item-arrow,
html.theme-light body .navbar:not(.scrolled) .dropdown-item-arrow {
  color: #94A3B8 !important;
  fill: #94A3B8 !important;
}

html body .navbar:not(.scrolled) .dropdown-link-item:hover .dropdown-item-arrow,
html.theme-light body .navbar:not(.scrolled) .dropdown-link-item:hover .dropdown-item-arrow {
  color: #ffdc73 !important;
  fill: #ffdc73 !important;
}

/* 4. SCROLLED STATE (Deep Navy Navbar): Deep Navy Dropdown with Gold Top Accent */
html body .navbar.scrolled .nav-dropdown-menu,
html.theme-light body .navbar.scrolled .nav-dropdown-menu {
  background: #171443 !important;
  background-color: #171443 !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-top: 2.5px solid #ffdc73 !important;
  /* Signature Prima Gold on Navy */
  box-shadow: 0 18px 42px rgba(11, 10, 34, 0.55) !important;
}

html body .navbar.scrolled .dropdown-link-item,
html.theme-light body .navbar.scrolled .dropdown-link-item {
  color: #FFFFFF !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

html body .navbar.scrolled .dropdown-link-item:hover,
html.theme-light body .navbar.scrolled .dropdown-link-item:hover {
  background: rgba(255, 255, 255, 0.09) !important;
  color: #ffdc73 !important;
  padding-left: 26px !important;
}

html body .navbar.scrolled .dropdown-item-arrow,
html.theme-light body .navbar.scrolled .dropdown-item-arrow {
  color: rgba(255, 255, 255, 0.5) !important;
  fill: rgba(255, 255, 255, 0.5) !important;
}

html body .navbar.scrolled .dropdown-link-item:hover .dropdown-item-arrow,
html.theme-light body .navbar.scrolled .dropdown-link-item:hover .dropdown-item-arrow {
  color: #ffdc73 !important;
  fill: #ffdc73 !important;
}

/* ==========================================================================
   PRIMA LUXURY MEGA MENU (AS IN PRIMA-LUXURY DESIGN)
   - Full-width Institutional Dark Style (#171443 Deep Royal Navy)
   - 4-Column Grid: Property Solutions intro + Core Services + Sectors + Regions
   - 100% Sharp Rectangular Precision, Zero Round Corners
   - Elegant White/Gold Accents and Hover Animations
   ========================================================================== */

/* Dropdown trigger chevron rotation */
.nav-item-dropdown:hover .dropdown-chevron,
.nav-item-dropdown.active .dropdown-chevron,
.nav-item-dropdown.is-open .dropdown-chevron {
  transform: rotate(180deg) !important;
}

/* Mega Menu Container */
.prima-mega-menu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  background-color: #171443 !important;
  background: #171443 !important;
  color: #FFFFFF !important;
  box-shadow: 0 24px 48px rgba(11, 10, 34, 0.65) !important;
  border-top: 2px solid #ffdc73 !important;
  /* Signature Prima Gold Luxury Accent Line */
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(10px) !important;
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
    visibility 0.25s ease !important;
  z-index: 10000 !important;
}

/* Invisible bridge so mouse hover doesn't break between nav link and mega menu */
.prima-mega-menu::before {
  content: "" !important;
  position: absolute !important;
  top: -24px !important;
  left: 0 !important;
  right: 0 !important;
  height: 24px !important;
  display: block !important;
  background: transparent !important;
}

/* Active / Hover Mega Menu */
.nav-item-dropdown:hover .prima-mega-menu,
.nav-item-dropdown:focus-within .prima-mega-menu,
.nav-item-dropdown.active .prima-mega-menu,
.nav-item-dropdown.is-open .prima-mega-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

/* Mega Menu Inner 4-Column Layout */
.prima-mega-menu__inner {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 44px 40px 50px !important;
  display: grid !important;
  grid-template-columns: 320px 1fr 1fr !important;
  gap: 40px !important;
  box-sizing: border-box !important;
}

/* Left Column: Intro & Action */
.prima-mega-menu__intro {
  padding-right: 28px !important;
  border-right: 1px solid rgba(255, 255, 255, 0.14) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

.prima-mega-menu__intro-title {
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  margin-top: 0 !important;
  margin-bottom: 14px !important;
  color: #FFFFFF !important;
  letter-spacing: -0.01em !important;
}

.prima-mega-menu__intro-text {
  font-size: 0.88rem !important;
  color: #CBD5E1 !important;
  line-height: 1.65 !important;
  margin-bottom: 24px !important;
}

/* View all solutions Button: Solid Crisp White */
.btn-mega-action {
  display: inline-block !important;
  align-self: flex-start !important;
  padding: 11px 22px !important;
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  color: #171443 !important;
  border: 1px solid #FFFFFF !important;
  border-radius: 0px !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.btn-mega-action:hover {
  background: #E2E8F0 !important;
  border-color: #E2E8F0 !important;
  color: #171443 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25) !important;
}

/* Columns 2, 3, 4: Section Headers */
.prima-mega-menu__group-title {
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: #FFFFFF !important;
  border-left: 2px solid #FFFFFF !important;
  padding-left: 9px !important;
  margin-bottom: 18px !important;
  display: block !important;
}

/* Link Lists */
.prima-mega-menu__links {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 13px !important;
}

.prima-mega-menu__links li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.prima-mega-menu__links a {
  font-size: 0.93rem !important;
  color: #E2E8F0 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
  padding: 2px 0 !important;
}

.prima-mega-menu__links a:hover {
  color: #FFFFFF !important;
  transform: translateX(4px) !important;
  font-weight: 600 !important;
}

/* Responsive adjustment for screens <= 1199px */
@media (max-width: 1199px) {
  .prima-mega-menu__inner {
    grid-template-columns: 280px 1fr 1fr !important;
    gap: 28px !important;
    padding: 36px 28px 42px !important;
  }
}

/* ==========================================================================
   PRIMA STANDARD CONTAINER MEGA MENU (COMPANY STANDARD BOXED DROPDOWN)
   ========================================================================== */

/* 1. Header & Navigation Structure: Standard Container Anchoring */
.navbar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 1000 !important;
  overflow: visible !important;
}

.navbar-inner {
  position: relative !important;
  /* Positions the mega menu within the 1280px standard container */
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.nav-desktop,
.nav-menu {
  position: static !important;
  overflow: visible !important;
}

.nav-item-dropdown {
  position: static !important;
  overflow: visible !important;
}

/* 2. Standard Boxed Container Dropdown (Not 100vw Full-Width) */
.prima-mega-menu {
  position: absolute !important;
  top: 100% !important;
  left: 24px !important;
  right: 24px !important;
  width: auto !important;
  max-width: calc(100% - 48px) !important;
  margin: 0 auto !important;
  background-color: #171443 !important;
  background: #171443 !important;
  color: #FFFFFF !important;
  box-shadow: 0 20px 48px rgba(11, 10, 34, 0.55), 0 4px 14px rgba(0, 0, 0, 0.25) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-top: 3px solid #ffdc73 !important;
  /* Signature Prima Gold Luxury Accent Line */
  border-radius: 0px !important;
  padding: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(6px) !important;
  transition: opacity 0.2s ease,
    transform 0.2s ease,
    visibility 0.2s ease !important;
  z-index: 10000 !important;
}

/* Hover bridge for seamless cursor motion */
.prima-mega-menu::before {
  content: "" !important;
  position: absolute !important;
  top: -24px !important;
  left: 0 !important;
  right: 0 !important;
  height: 24px !important;
  background: transparent !important;
}

/* Hover & Active triggers */
.nav-item-dropdown:hover .prima-mega-menu,
.nav-item-dropdown:focus-within .prima-mega-menu,
.nav-item-dropdown.active .prima-mega-menu,
.nav-item-dropdown.is-open .prima-mega-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

/* Rotate Chevron on Hover/Active */
.nav-item-dropdown:hover .dropdown-chevron,
.nav-item-dropdown.active .dropdown-chevron,
.nav-item-dropdown.is-open .dropdown-chevron {
  transform: rotate(180deg) !important;
  transition: transform 0.2s ease !important;
}

.nav-item-dropdown:hover>.nav-link,
.nav-item-dropdown.active>.nav-link,
.nav-item-dropdown.is-open>.nav-link {
  color: #ffdc73 !important;
}

html body .navbar.scrolled .nav-item-dropdown:hover>.nav-link,
html body .navbar.scrolled .nav-item-dropdown.active>.nav-link,
html body .navbar.scrolled .nav-item-dropdown.is-open>.nav-link {
  color: #ffdc73 !important;
}

/* 3. Mega Menu 4-Column Inner Grid */
.prima-mega-menu__inner {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 36px 36px 40px !important;
  display: grid !important;
  grid-template-columns: 280px 1fr 1fr !important;
  gap: 32px !important;
  box-sizing: border-box !important;
}

/* Column 1: Intro & Action */
.prima-mega-menu__intro {
  padding-right: 28px !important;
  border-right: 1px solid rgba(255, 255, 255, 0.14) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

html.theme-light .prima-mega-menu h3,
html.theme-light .prima-mega-menu__intro-title,
.prima-mega-menu .prima-mega-menu__intro-title,
.prima-mega-menu h3.prima-mega-menu__intro-title,
.prima-mega-menu__intro-title {
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  margin-top: 0 !important;
  margin-bottom: 12px !important;
  color: #FFFFFF !important;
  letter-spacing: -0.01em !important;
}

html.theme-light .prima-mega-menu p,
html.theme-light .prima-mega-menu__intro-text,
.prima-mega-menu .prima-mega-menu__intro-text,
.prima-mega-menu p.prima-mega-menu__intro-text,
.prima-mega-menu__intro-text {
  font-size: 0.86rem !important;
  color: #CBD5E1 !important;
  line-height: 1.6 !important;
  margin-bottom: 22px !important;
}

/* Action Button */
.prima-mega-menu .btn-mega-action,
.btn-mega-action {
  display: inline-block !important;
  align-self: flex-start !important;
  padding: 10px 20px !important;
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  color: #171443 !important;
  border: 1px solid #FFFFFF !important;
  border-radius: 0px !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.prima-mega-menu .btn-mega-action:hover,
.btn-mega-action:hover {
  background: #E2E8F0 !important;
  background-color: #E2E8F0 !important;
  border-color: #E2E8F0 !important;
  color: #171443 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25) !important;
}

/* Columns 2, 3, 4: Section Headers */
html.theme-light .prima-mega-menu .prima-mega-menu__group-title,
.prima-mega-menu .prima-mega-menu__group-title,
.prima-mega-menu__group-title {
  font-size: 0.76rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: #FFFFFF !important;
  border-left: 2px solid #FFFFFF !important;
  padding-left: 8px !important;
  margin-top: 0 !important;
  margin-bottom: 16px !important;
  display: block !important;
}

/* Link Lists */
.prima-mega-menu__links {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.prima-mega-menu__links li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

html.theme-light .prima-mega-menu .prima-mega-menu__links a,
.prima-mega-menu .prima-mega-menu__links a,
.prima-mega-menu__links a {
  font-size: 0.90rem !important;
  color: #E2E8F0 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
  padding: 1px 0 !important;
}

html.theme-light .prima-mega-menu .prima-mega-menu__links a:hover,
.prima-mega-menu .prima-mega-menu__links a:hover,
.prima-mega-menu__links a:hover {
  color: #FFFFFF !important;
  transform: translateX(4px) !important;
  font-weight: 600 !important;
}

/* 4. Responsive Breakpoint for Laptop Screens (992px to 1199px) */
@media (max-width: 1199px) and (min-width: 992px) {
  .prima-mega-menu {
    left: 16px !important;
    right: 16px !important;
    max-width: calc(100% - 32px) !important;
  }

  .prima-mega-menu__inner {
    grid-template-columns: 230px 1fr 1fr !important;
    gap: 20px !important;
    padding: 28px 24px 32px !important;
  }

  .prima-mega-menu__intro {
    padding-right: 18px !important;
  }

  .prima-mega-menu__intro-title {
    font-size: 1.15rem !important;
  }

  .prima-mega-menu__intro-text {
    font-size: 0.80rem !important;
    line-height: 1.55 !important;
    margin-bottom: 16px !important;
  }

  .prima-mega-menu__links a {
    font-size: 0.84rem !important;
  }
}

/* 5. Hide Desktop Mega Menu on Mobile / Tablet Screens (< 992px) */
@media (max-width: 991px) {
  .prima-mega-menu {
    display: none !important;
  }
}

/* ==========================================================================
   SUBPAGE HERO BREADCRUMB & HEADER CLEARANCE SYSTEM (INSTITUTIONAL BREATHING ROOM)
   Deeply revised to provide generous luxury clearance between the fixed navbar
   and the subpage breadcrumbs on all subpages (Services, Portfolio, Why Prima, etc.).
   ========================================================================== */
.subpage-hero-v3,
.about-hero-v3,
.contact-hero-v3,
.why-hero-v3,
.portfolio-hero-v3,
.services-hero-v3,
.prima-subpage-hero,
#services-hero,
#portfolio-hero,
#why-hero,
#about-hero,
#contact-hero {
  position: relative !important;
  height: auto !important;
  min-height: 640px !important;
  max-height: none !important;
  padding-top: 195px !important;
  /* 95px fixed navbar + 100px generous luxury clearance */
  padding-bottom: 64px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.subpage-hero-v3 .hero-content-v3,
.about-hero-v3 .hero-content-v3,
.hero-content-v3 {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

.hero-breadcrumb-v3,
.subpage-hero-v3 .hero-breadcrumb-v3,
.about-hero-v3 .hero-breadcrumb-v3,
.contact-hero-v3 .hero-breadcrumb-v3,
.why-hero-v3 .hero-breadcrumb-v3,
.portfolio-hero-v3 .hero-breadcrumb-v3,
.services-hero-v3 .hero-breadcrumb-v3 {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin-top: 14px !important;
  /* Generous breathing room so breadcrumb never hugs navbar */
  margin-bottom: 24px !important;
  padding-top: 4px !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.6px !important;
  line-height: 1.4 !important;
}

.hero-breadcrumb-v3 a {
  color: #FFFFFF !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  opacity: 0.95 !important;
  transition: opacity 0.2s ease !important;
}

.hero-breadcrumb-v3 a:hover {
  opacity: 1 !important;
  color: #ffdc73 !important;
}

.hero-breadcrumb-v3 span {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* Responsive Tablet (max-width: 991px) */
@media (max-width: 991px) {

  .subpage-hero-v3,
  .about-hero-v3,
  .contact-hero-v3,
  .why-hero-v3,
  .portfolio-hero-v3,
  .services-hero-v3,
  .prima-subpage-hero,
  #services-hero,
  #portfolio-hero,
  #why-hero,
  #about-hero,
  #contact-hero {
    min-height: 520px !important;
    padding-top: 155px !important;
    /* ~80px mobile navbar + 75px clearance */
    padding-bottom: 48px !important;
  }

  .hero-breadcrumb-v3,
  .subpage-hero-v3 .hero-breadcrumb-v3 {
    margin-top: 10px !important;
    margin-bottom: 18px !important;
  }
}

/* Responsive Mobile (max-width: 767px) */
@media (max-width: 767px) {

  .subpage-hero-v3,
  .about-hero-v3,
  .contact-hero-v3,
  .why-hero-v3,
  .portfolio-hero-v3,
  .services-hero-v3,
  .prima-subpage-hero,
  #services-hero,
  #portfolio-hero,
  #why-hero,
  #about-hero,
  #contact-hero {
    min-height: auto !important;
    padding-top: 140px !important;
    /* ~75px mobile navbar + 65px clearance */
    padding-bottom: 40px !important;
  }

  .hero-breadcrumb-v3,
  .subpage-hero-v3 .hero-breadcrumb-v3 {
    margin-top: 8px !important;
    margin-bottom: 16px !important;
  }
}

/* ==========================================================================
   HERO COVER BACKGROUND VIDEO & EXECUTIVE CONTRAST OVERLAY
   ========================================================================== */
.hero-slider-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
}

.hero-slide-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}

.hero-slider-overlay {
  display: none !important;
  background: transparent !important;
  opacity: 0 !important;
}

.hero-prima-cover-content {
  position: relative;
  z-index: 2;
}

.hero-prima-lead-text {
  text-shadow: none !important;
}

.hero-prima-cover-content .prima-badge-pill {
  text-shadow: none !important;
  box-shadow: none !important;
  background: transparent !important;
  border: none !important;
}



/* ==========================================================================
   HERO COVER FULL-SIZE BACKGROUND VIDEO & CINEMATIC CROSSFADE
   ========================================================================== */
.hero-prima-cover {
  position: relative;
  min-height: 100vh;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #171443;
  margin-top: -94px;
  padding: calc(94px + 90px) 20px 70px 20px;
  overflow: hidden;
}

.hero-slider-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
  background: #171443;
}

.hero-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: #171443;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1.2s cubic-bezier(0.4, 0, 0.2, 1), visibility 1.2s ease;
  will-change: opacity;
  z-index: 1;
}

.hero-slide.active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
}

.hero-slide-video {
  position: absolute;
  top: 50% !important;
  left: 50% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  width: 100% !important;
  height: 100% !important;
  transform: translate(-50%, -50%) !important;
  object-fit: cover !important;
  object-position: center center !important;
  pointer-events: none !important;
  display: block !important;
}

.hero-slider-overlay {
  display: none !important;
  background: transparent !important;
  opacity: 0 !important;
}

.hero-prima-cover-content {
  position: relative;
  z-index: 4;
}

.hero-prima-lead-text {
  text-shadow: none !important;
}

.hero-prima-cover-content .prima-badge-pill {
  text-shadow: none !important;
  box-shadow: none !important;
  background: transparent !important;
  border: none !important;
}



/* ==========================================================================
   HERO COVER NATURAL LIGHT & BRIGHT VIDEO DISPLAY (ZERO BLACK/BLUE OVERLAYS)
   As requested: Absolutely NO black or blue overlays over the hero cover.
   Ensures the website remains light, vibrant, crisp, and high-end.
   ========================================================================== */
.hero-slider-overlay,
html.theme-light .hero-slider-overlay,
.hero-prima-cover .hero-slider-overlay,
html body .hero-slider-overlay,
.hero-overlay {
  display: none !important;
  background: transparent !important;
  background-color: transparent !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.hero-prima-cover,
html.theme-light .hero-prima-cover,
.hero-slider-wrap,
.hero-slide {
  background: transparent !important;
  background-color: transparent !important;
}

.hero-prima-lead-text {
  color: #FFFFFF !important;
  text-shadow: none !important;
}

.hero-prima-cover-content .prima-badge-pill {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}



/* ==========================================================================
   HERO COVER: 100% PURE NATURAL BRIGHT VIDEO (NO BLACK OR BLUE OVERLAY)
   User request: Do not add black or blue overlay to prevent dark-themed appearance.
   ========================================================================== */
.hero-slider-overlay,
html.theme-light .hero-slider-overlay,
.hero-prima-cover .hero-slider-overlay,
html body .hero-slider-overlay,
.hero-overlay,
.hero-prima-cover::before,
.hero-prima-cover::after {
  display: none !important;
  background: none !important;
  background-color: transparent !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.hero-prima-cover,
html.theme-light .hero-prima-cover,
.hero-slider-wrap,
.hero-slide {
  background: transparent !important;
  background-color: transparent !important;
}

/* Crisp, high-contrast typography directly readable on natural video - ZERO SHADOWS */
.hero-prima-lead-text,
html.theme-light #heroLeadHeading,
html.theme-light .hero-prima-lead-text,
#heroLeadHeading {
  color: #FFFFFF !important;
  font-weight: 800 !important;
  text-shadow: none !important;
}

.hero-prima-cover-content .prima-badge-pill,
.hero-prima-cover-content .prima-badge-pill.badge-gold {
  background: transparent !important;
  background-color: transparent !important;
  color: #FFFFFF !important;
  border: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 !important;
}

.hero-prima-cover-content .prima-badge-pill span,
.hero-prima-cover-content .prima-badge-pill [data-i18n] {
  color: #FFFFFF !important;
  font-weight: 700 !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.1em !important;
  text-shadow: none !important;
}

.hero-prima-cover-content .prima-badge-dot {
  background: #ffdc73 !important;
  box-shadow: none !important;
}



/* ==========================================================================
   HERO CONTENT BULLETPROOF STACKING ORDER OVER BACKGROUND VIDEO
   Guarantees all text, badge pills, and CTA buttons sit proudly ABOVE the video.
   ========================================================================== */
.hero-slider-wrap {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
}

.hero-slide {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
}

.hero-slide.active {
  z-index: 2 !important;
}

.hero-slide-video {
  z-index: 1 !important;
  pointer-events: none !important;
}

.hero-prima-cover-content {
  position: relative !important;
  z-index: 50 !important;
  pointer-events: auto !important;
  text-align: center !important;
}

.hero-prima-cover-content .prima-badge-pill {
  position: relative !important;
  z-index: 51 !important;
  display: inline-flex !important;
  margin-bottom: 20px !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

.hero-prima-lead-text,
#heroLeadHeading {
  position: relative !important;
  z-index: 51 !important;
  display: block !important;
  color: #FFFFFF !important;
  text-shadow: none !important;
}

.hero-prima-actions {
  position: relative !important;
  z-index: 51 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

.hero-prima-actions .btn {
  position: relative !important;
  z-index: 52 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
}

.hero-prima-actions .btn:hover,
.hero-prima-actions .btn:focus,
.hero-prima-actions .btn:active {
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
}



/* ==========================================================================
   HERO COVER 3-MEDIA CYCLE: IMAGE -> VIDEO 1 -> VIDEO 2 (SEAMLESS COVER LOOP)
   ========================================================================== */
.hero-slide picture,
.hero-slide-picture {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

.hero-slide-picture {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  overflow: hidden !important;
}

.hero-slide img,
.hero-slide-img,
.hero-slide picture img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  pointer-events: none !important;
  transform: scale(1);
  transform-origin: center center;
  will-change: transform;
}

/* Subtle Cinematic Ken Burns Zoom In & Out for First Slide (Image) */
@keyframes heroZoomInOut {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.08);
  }

  100% {
    transform: scale(1);
  }
}

.hero-slide.active .hero-slide-img,
.hero-slide.active picture img {
  animation: heroZoomInOut 14s ease-in-out infinite !important;
}

.hero-slide-video {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  width: 100% !important;
  height: 100% !important;
  transform: translate(-50%, -50%) !important;
  object-fit: cover !important;
  object-position: center center !important;
  pointer-events: none !important;
  display: block !important;
}



/* ==========================================================================
   ULTRA-SMOOTH CINEMATIC HERO SLIDER (SEAMLESS DISSOLVE & CONTROLS)
   ========================================================================== */
.hero-slider-wrap {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  background: #0C0A24 !important;
  z-index: 1 !important;
}

.hero-slide {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  visibility: hidden !important;
  z-index: 1 !important;
  transition: opacity 1.3s cubic-bezier(0.25, 1, 0.5, 1), visibility 1.3s ease !important;
  will-change: opacity !important;
  pointer-events: none !important;
}

/* Outgoing slide stays solid underneath during transition */
.hero-slide.is-outgoing {
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 2 !important;
  transition: none !important;
}

/* Incoming active slide fades in smoothly on top */
.hero-slide.active {
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 3 !important;
}

/* Side Navigation Arrows (Hidden per user preference for pure smooth autoplay) */
.hero-slider-nav,
.hero-slider-prev,
.hero-slider-next {
  display: none !important;
}

/* Slider Bottom Indicator Dots */
.hero-slider-dots {
  position: absolute !important;
  bottom: 28px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 60 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.hero-slider-dots .slider-dot {
  width: 32px !important;
  height: 4px !important;
  background: rgba(255, 255, 255, 0.35) !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  border-radius: 0px !important;
}

.hero-slider-dots .slider-dot:hover {
  background: rgba(255, 255, 255, 0.75) !important;
}

.hero-slider-dots .slider-dot.active {
  background: #ffdc73 !important;
  width: 50px !important;
  box-shadow: none !important;
}



/* ==========================================================================
   PRIMA CAMBODIA MASTER MOBILE-FRIENDLY & ULTRA-SMOOTH RESPONSIVE ENGINE
   Comprehensive multi-viewport optimization across all pages, heroes, drawers,
   modals, forms, touch targets, and typography.
   ========================================================================== */

/* 1. Global Viewport, Smooth Scrolling & Momentum */
html {
  scroll-behavior: smooth !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

html,
body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
  -webkit-overflow-scrolling: touch !important;
}

* {
  -webkit-tap-highlight-color: transparent !important;
  box-sizing: border-box !important;
}

/* 2. Touch Target Standards for Mobile Elements */
a,
button,
input,
select,
textarea,
.btn,
.lang-trigger-btn,
.mobile-menu-btn,
.mobile-nav-link {
  touch-action: manipulation;
}

/* 3. Mobile Navigation Header & Sticky Bar (< 992px) */
@media (max-width: 991px) {
  .navbar {
    height: 72px !important;
    padding: 0 !important;
  }

  .navbar-inner {
    height: 72px !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .brand-logo {
    display: flex !important;
    align-items: center !important;
    height: 40px !important;
    max-width: 170px !important;
  }

  .brand-logo-img {
    height: 36px !important;
    max-height: 36px !important;
    width: auto !important;
    object-fit: contain !important;
  }

  .nav-desktop {
    display: none !important;
  }

  .nav-actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .btn-header-cta {
    padding: 8px 14px !important;
    font-size: 0.82rem !important;
    height: 38px !important;
  }

  .mobile-menu-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    padding: 8px !important;
    cursor: pointer !important;
    border-radius: 0px !important;
    z-index: 100 !important;
  }

  .hamburger-box {
    width: 22px !important;
    height: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    position: relative !important;
  }

  .hamburger-line {
    width: 100% !important;
    height: 2px !important;
    border-radius: 0px !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease !important;
  }

  .mobile-menu-btn.is-active .line-1 {
    transform: translateY(7px) rotate(45deg) !important;
  }

  .mobile-menu-btn.is-active .line-2 {
    opacity: 0 !important;
  }

  .mobile-menu-btn.is-active .line-3 {
    transform: translateY(-7px) rotate(-45deg) !important;
  }
}

/* Compact Navbar on Small Phones (< 576px) */
@media (max-width: 575px) {
  .btn-header-cta {
    display: none !important;
  }

  .lang-trigger-btn {
    padding: 6px 8px !important;
    font-size: 0.78rem !important;
    height: 36px !important;
  }

  .brand-logo-img {
    height: 32px !important;
    max-height: 32px !important;
  }
}

/* 4. Ultra-Smooth Mobile Drawer Navigation */
.mobile-nav-backdrop {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  background: rgba(11, 10, 34, 0.72) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.35s ease !important;
  z-index: 9998 !important;
}

.mobile-nav-backdrop.active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.mobile-nav {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  width: min(340px, 86vw) !important;
  height: 100vh !important;
  height: 100dvh !important;
  background: #FFFFFF !important;
  border-left: 2px solid #ffdc73 !important;
  box-shadow: -10px 0 35px rgba(11, 10, 34, 0.28) !important;
  transform: translateX(100%) !important;
  transition: transform 0.36s cubic-bezier(0.16, 1, 0.3, 1) !important;
  z-index: 9999 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 0 !important;
  border-radius: 0px !important;
}

.mobile-nav.open {
  transform: translateX(0) !important;
}

.mobile-nav-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid #E2E8F0 !important;
  background: #FAFAFC !important;
}

.mobile-nav-logo {
  height: 32px !important;
  width: auto !important;
  object-fit: contain !important;
}

.mobile-close-btn {
  width: 38px !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #F1F5F9 !important;
  border: 1px solid #CBD5E1 !important;
  color: #171443 !important;
  cursor: pointer !important;
  border-radius: 0px !important;
  transition: all 0.2s ease !important;
}

.mobile-close-btn:hover {
  background: #171443 !important;
  color: #FFFFFF !important;
  border-color: #171443 !important;
}

.mobile-lang-box {
  padding: 12px 20px !important;
  border-bottom: 1px solid #E2E8F0 !important;
  background: #FFFFFF !important;
}

.mobile-lang-switcher {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}

.mobile-lang-switcher .lang-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 8px 12px !important;
  border: 1px solid #CBD5E1 !important;
  background: #F8FAFC !important;
  color: #171443 !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
  cursor: pointer !important;
  border-radius: 0px !important;
  transition: all 0.2s ease !important;
}

.mobile-lang-switcher .lang-btn.active {
  background: #171443 !important;
  color: #FFFFFF !important;
  border-color: #171443 !important;
}

.mobile-nav-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 12px 0 !important;
  flex: 1 1 auto !important;
}

.mobile-nav-link {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 13px 22px !important;
  color: #171443 !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-bottom: 1px solid #F1F5F9 !important;
  transition: all 0.2s ease !important;
}

.mobile-nav-link:hover,
.mobile-nav-link.active {
  background: #F8FAFC !important;
  color: #ffdc73 !important;
  padding-left: 26px !important;
}

.mobile-accordion-trigger {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 13px 22px !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #F1F5F9 !important;
  color: #171443 !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  text-align: left !important;
}

.mobile-accordion-chevron {
  transition: transform 0.3s ease !important;
}

.mobile-accordion-trigger[aria-expanded="true"] .mobile-accordion-chevron {
  transform: rotate(180deg) !important;
}

.mobile-accordion-content {
  display: none !important;
  background: #F8FAFC !important;
  border-left: 3px solid #ffdc73 !important;
  padding: 6px 0 !important;
}

.mobile-accordion-content.expanded {
  display: block !important;
}

.mobile-sublink {
  display: block !important;
  padding: 10px 24px !important;
  color: #334155 !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.mobile-sublink:hover {
  color: #171443 !important;
  background: #EDF0F5 !important;
}

.mobile-nav-footer {
  padding: 18px 20px 24px !important;
  border-top: 1px solid #E2E8F0 !important;
  background: #FAFAFC !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.btn-mobile-cta {
  width: 100% !important;
  padding: 12px !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  text-align: center !important;
  background: #171443 !important;
  color: #FFFFFF !important;
  border: 1px solid #171443 !important;
  border-radius: 0px !important;
}

.btn-mobile-call {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 11px !important;
  font-size: 0.86rem !important;
  font-weight: 700 !important;
  background: #FFFFFF !important;
  color: #171443 !important;
  border: 1px solid #CBD5E1 !important;
  border-radius: 0px !important;
  text-decoration: none !important;
}

body.no-scroll {
  overflow: hidden !important;
  touch-action: none !important;
}

/* 5. Subpage Hero Responsive Layout & Clearances */
@media (max-width: 991px) {

  .subpage-hero-v3,
  .about-hero-v3,
  .contact-hero-v3,
  .why-hero-v3,
  .portfolio-hero-v3 {
    padding-top: 120px !important;
    padding-bottom: 40px !important;
    min-height: auto !important;
  }

  .hero-title-v3 {
    font-size: clamp(2rem, 5.5vw, 2.7rem) !important;
    line-height: 1.2 !important;
  }

  .hero-sub-v3 {
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    margin-bottom: 22px !important;
  }

  .hero-actions-v3 {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-bottom: 24px !important;
  }

  .hero-stats-strip-v3 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.18) !important;
  }

  .hero-stat-v3 {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    padding: 12px 14px !important;
    border-radius: 0px !important;
  }

  .hero-stat-num {
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    color: #ffdc73 !important;
  }

  .hero-stat-label {
    font-size: 0.78rem !important;
    line-height: 1.35 !important;
    color: rgba(255, 255, 255, 0.85) !important;
  }
}

/* WordPress Admin Bar Compatibility */
body.admin-bar .navbar {
  top: 32px !important;
}

@media (max-width: 782px) {
  body.admin-bar .navbar {
    top: 46px !important;
  }
}

/* 6. Homepage Hero Cover on Mobile & Touch Screens */
@media (max-width: 767px) {
  .hero-prima-cover {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    min-height: calc(100vh - 72px) !important;
    width: 100% !important;
    max-width: 100vw !important;
    margin: 0 !important;
    margin-top: -72px !important;
    padding: calc(72px + 28px) 20px 58px 20px !important;
    box-sizing: border-box !important;
    position: relative !important;
    overflow: hidden !important;
  }

  .hero-prima-cover-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 580px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 50 !important;
  }

  .hero-prima-cover-content .prima-badge-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    margin: 0 auto 16px auto !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: break-word !important;
    padding: 0 4px !important;
  }

  .hero-prima-cover-content .prima-badge-pill span {
    font-size: clamp(0.72rem, 3.2vw, 0.86rem) !important;
    line-height: 1.4 !important;
    letter-spacing: 1px !important;
    text-align: center !important;
  }

  .hero-prima-lead-text,
  #heroLeadHeading {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    margin: 0 auto 20px auto !important;
    font-size: clamp(1.85rem, 6.8vw, 2.5rem) !important;
    line-height: 1.22 !important;
    letter-spacing: -0.01em !important;
    word-break: break-word !important;
    box-sizing: border-box !important;
  }

  .hero-prima-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 340px !important;
    margin: 18px auto 0 auto !important;
    gap: 12px !important;
    box-sizing: border-box !important;
  }

  .hero-prima-actions .btn {
    width: 100% !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 13px 20px !important;
    font-size: 0.94rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  .hero-slider-dots {
    position: absolute !important;
    bottom: 18px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    z-index: 55 !important;
    margin: 0 auto !important;
    width: auto !important;
  }
}

@media (max-width: 480px) {
  .hero-prima-cover {
    padding: calc(72px + 22px) 16px 52px 16px !important;
  }

  .hero-prima-actions {
    max-width: 100% !important;
    width: 100% !important;
  }

  .hero-prima-actions .btn {
    width: 100% !important;
  }
}

/* 7. Numbers Section 2x2 Grid on Mobile */
@media (max-width: 768px) {
  .engineering-timeline-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }

  .engineering-timeline-item {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    padding: 16px 14px !important;
    text-align: center !important;
    border-radius: 0px !important;
  }

  .timeline-number {
    font-size: 1.85rem !important;
    color: #ffdc73 !important;
    font-weight: 800 !important;
    margin-bottom: 4px !important;
  }

  .timeline-metric-title {
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    margin-bottom: 4px !important;
  }

  .timeline-text {
    font-size: 0.78rem !important;
    color: rgba(255, 255, 255, 0.75) !important;
  }

  .timeline-node-dot,
  .timeline-fullwidth-line {
    display: none !important;
  }
}

/* 8. Tailored Values 5-Card Grid Responsive */
.tailored-values-5grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}

@media (max-width: 991px) {
  .tailored-values-5grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 640px) {
  .tailored-values-5grid {
    grid-template-columns: 1fr !important;
  }
}

/* 9. Comprehensive Lifecycle 3-Phase Grid */
.prima-lifecycle-section {
  padding: 70px 0 !important;
  background: #F8FAFC !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
}

.lifecycle-3col-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}

@media (max-width: 991px) {
  .lifecycle-3col-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}

.lifecycle-phase-card {
  background: #FFFFFF !important;
  border: 1px solid #CBD5E1 !important;
  border-top: 4px solid #171443 !important;
  padding: 30px 24px !important;
  position: relative !important;
  border-radius: 0px !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.lifecycle-phase-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 25px rgba(23, 20, 67, 0.08) !important;
}

.lifecycle-phase-card.featured-phase {
  border-top-color: #ffdc73 !important;
  background: #FFFFFF !important;
}

.lifecycle-phase-num {
  position: absolute !important;
  top: 14px !important;
  right: 18px !important;
  font-size: 2.4rem !important;
  font-weight: 900 !important;
  color: rgba(23, 20, 67, 0.08) !important;
  line-height: 1 !important;
}

.lifecycle-phase-tag {
  display: inline-block !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  color: #ffdc73 !important;
  margin-bottom: 6px !important;
}

.lifecycle-phase-title {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: #171443 !important;
  margin-bottom: 18px !important;
  line-height: 1.3 !important;
}

.lifecycle-feature-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 11px !important;
}

.lifecycle-feature-list li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  font-size: 0.88rem !important;
  line-height: 1.45 !important;
  color: #334155 !important;
}

.lifecycle-feature-list li i {
  color: #ffdc73 !important;
  font-size: 0.95rem !important;
  margin-top: 2px !important;
  flex-shrink: 0 !important;
}

/* 10. Phnom Penh Administrative Map Section */
.prima-map-section {
  padding: 70px 0 !important;
  background: #FFFFFF !important;
}

.prima-map-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 40px !important;
  align-items: center !important;
}

@media (max-width: 900px) {
  .prima-map-grid {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
}

.map-image-wrapper {
  background: #F8FAFC !important;
  border: 1px solid #CBD5E1 !important;
  padding: 16px !important;
  border-radius: 0px !important;
  text-align: center !important;
}

.map-district-img {
  width: 100% !important;
  max-width: 480px !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
}

.districts-list-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px 16px !important;
}

@media (max-width: 480px) {
  .districts-list-grid {
    grid-template-columns: 1fr !important;
  }
}

.district-item {
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  color: #171443 !important;
  padding: 6px 0 !important;
  border-bottom: 1px dashed #E2E8F0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.district-item .d-num {
  font-weight: 800 !important;
  color: #ffdc73 !important;
  min-width: 22px !important;
}

/* 11. Team Cards Language Tags */
.team-lang-tags {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 6px !important;
  margin-bottom: 8px !important;
}

.lang-tag {
  display: inline-block !important;
  padding: 2px 7px !important;
  font-size: 0.70rem !important;
  font-weight: 800 !important;
  color: #171443 !important;
  background: #EDF0F5 !important;
  border: 1px solid #CBD5E1 !important;
  border-radius: 0px !important;
  letter-spacing: 0.04em !important;
}

/* 12. Team Grid on Mobile */
@media (max-width: 600px) {
  .team-v3-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

/* 13. Service Editorial Split on Mobile */
@media (max-width: 850px) {

  .service-editorial-split,
  .service-editorial-split.reverse {
    flex-direction: column !important;
    gap: 24px !important;
    margin-bottom: 40px !important;
  }

  .service-visual-col,
  .service-text-col {
    width: 100% !important;
    max-width: 100% !important;
  }

  .service-photo-frame {
    height: 260px !important;
    width: 100% !important;
  }
}

/* 14. Contact Form Inputs (Prevent iOS Auto-Zoom) */
.contact-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 36px !important;
}

@media (max-width: 850px) {
  .contact-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .form-group-row {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
}

input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea {
  font-size: 16px !important;
  /* Critical: prevents iOS auto-zoom */
  border-radius: 0px !important;
}

/* 15. Footer v3 Responsive */
@media (max-width: 900px) {
  .footer-v3-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 32px !important;
  }
}

@media (max-width: 575px) {
  .footer-v3-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .footer-v3-bottom .container {
    flex-direction: column !important;
    gap: 12px !important;
    text-align: center !important;
  }
}

/* Force pure white for Compliance Hero Title & Accent */
html body .compliance-hero .compliance-hero__title,
html body .compliance-hero .compliance-hero__title-accent,
html body .compliance-hero .compliance-hero__title span,
html body .compliance-hero__title-accent {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}


/* ==========================================================================
   PRIMA PROPERTY CAMBODIA - OFFICIAL BRAND GUIDELINES (2026 VERSION 1.0)
   - Primary Colors: Crimson (#5c0c05), Navy Blue (#171443)
   - Secondary Color: Gold (#ffdc73) | RGB: 255/220/115 | CMYK: 1/12/66/0
   - Primary English Typeface: General Sans (Light, Regular, SemiBold, Bold)
   - Primary Khmer Typeface: Misan / Kantumruy Pro
   - Wordmark Typeface: Satoshi
   ========================================================================== */
:root {
  --brand-crimson: #5c0c05 !important;
  --brand-navy: #171443 !important;
  --brand-gold: #ffdc73 !important;
  --gold-primary: #ffdc73 !important;
  --gold-500: #ffdc73 !important;
  --gold-400: #ffe594 !important;
  --font-heading: 'General Sans', 'Outfit', sans-serif !important;
  --font-body: 'General Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
  --font-khmer: 'Misan', 'Kantumruy Pro', sans-serif !important;
}

/* Enforce General Sans across all English elements */
html:not([lang="km"]) body,
html:not([lang="km"]) h1,
html:not([lang="km"]) h2,
html:not([lang="km"]) h3,
html:not([lang="km"]) h4,
html:not([lang="km"]) h5,
html:not([lang="km"]) h6,
html:not([lang="km"]) p,
html:not([lang="km"]) span,
html:not([lang="km"]) a,
html:not([lang="km"]) button,
html:not([lang="km"]) input,
html:not([lang="km"]) select,
html:not([lang="km"]) textarea,
html:not([lang="km"]) .prima-h1,
html:not([lang="km"]) .prima-h2,
html:not([lang="km"]) .prima-h3,
html:not([lang="km"]) .nav-link,
html:not([lang="km"]) .btn,
html:not([lang="km"]) .prima-btn {
  font-family: 'General Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* Enforce Official Brand Gold (#ffdc73) on dark backgrounds & badges */
.badge-gold,
.prima-badge-pill.badge-gold,
.gold-text,
.title-gold-accent,
.hero-stat-num,
.timeline-number,
.why-point-icon svg,
.lc-badge-pill,
.counter-curr,
.cinematic-cat-badge .cinematic-dot {
  color: #ffdc73 !important;
  border-color: rgba(255, 220, 115, 0.4) !important;
}

/* Crimson accent buttons & badges */
.badge-crimson,
.prima-badge-pill.badge-crimson {
  background: #5c0c05 !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(92, 12, 5, 0.6) !important;
}

/* Pill badge styling matching Brand Guidelines */
.prima-badge-pill,
.badge-pill-brand {
  border-radius: 0px !important;
  letter-spacing: 0.08em !important;
  font-weight: 700 !important;
  font-size: 0.76rem !important;
  text-transform: uppercase !important;
}

/* Why Choose Prima Accordion Smooth Transition Duration */
html body .why-accordion-card {
  transition: flex 0.85s cubic-bezier(0.25, 1, 0.3, 1), transform 0.6s ease, box-shadow 0.6s ease !important;
}
html body .why-card-expanded-content {
  transition: opacity 0.6s ease 0.2s, transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.2s !important;
}
html body .why-card-bg {
  transition: transform 1.2s ease !important;
}

/* Responsive Client Logos Grid on Mobile & Phone Devices (3-4 items per row) */
@media (max-width: 768px) {
  html body .clients-showcase-grid,
  html body .clients-logo-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 8px !important;
    margin-top: 24px !important;
    width: 100% !important;
    justify-content: stretch !important;
  }
  html body .client-logo-card,
  html body .client-rep-card.client-logo-card {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    flex: none !important;
    height: 60px !important;
    min-height: 60px !important;
    padding: 6px 8px !important;
    border-radius: 0px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  html body .client-logo-img {
    max-width: 85% !important;
    max-height: 32px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
  }
}

@media (max-width: 360px) {
  html body .clients-showcase-grid,
  html body .clients-logo-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 6px !important;
  }
  html body .client-logo-card,
  html body .client-rep-card.client-logo-card {
    height: 56px !important;
    min-height: 56px !important;
    padding: 5px 6px !important;
  }
  html body .client-logo-img {
    max-width: 88% !important;
    max-height: 28px !important;
  }
}

/* P.R.I.M.A. Values Framework High Contrast Text */
html body .prima-values-framework,
html.theme-light .prima-values-framework {
  background: #171443 !important;
  color: #FFFFFF !important;
}

html body .prima-values-framework h3,
html.theme-light .prima-values-framework h3 {
  color: #FFFFFF !important;
  font-weight: 800 !important;
}

html body .prima-values-framework strong,
html.theme-light .prima-values-framework strong {
  color: #FFFFFF !important;
  font-weight: 700 !important;
}

html body .prima-values-framework p,
html.theme-light .prima-values-framework p,
html body .framework-val-desc,
html.theme-light .framework-val-desc {
  color: #F1F5F9 !important;
  opacity: 1 !important;
}

html body .prima-values-framework [style*="ffdc73"],
html.theme-light .prima-values-framework [style*="ffdc73"] {
  color: #ffdc73 !important;
}

/* ==========================================================================
   INTERACTIVE PHOTO CARDS & VISUAL HOVER EFFECTS (Brand 2026 Architectural)
   ========================================================================== */
.interactive-val-card {
  position: relative;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease, border-color 0.35s ease;
  cursor: pointer;
}
.interactive-val-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 36px rgba(23, 20, 67, 0.12);
  border-color: #5c0c05 !important;
}
.interactive-val-card:hover img {
  transform: scale(1.08);
}

.interactive-op-card {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease;
}
.interactive-op-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(23, 20, 67, 0.10);
  border-color: #171443 !important;
}

.why-card {
  cursor: pointer;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease, border-color 0.35s ease;
}
.why-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 32px rgba(23, 20, 67, 0.12);
  border-color: #5c0c05 !important;
}
.why-card:hover img {
  transform: scale(1.08);
}

.persona-5card {
  cursor: pointer;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease, border-color 0.35s ease;
}
.persona-5card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 32px rgba(23, 20, 67, 0.12);
  border-color: #5c0c05 !important;
}
.persona-5card:hover img {
  transform: scale(1.08);
}

.lifecycle-phase-card {
  cursor: pointer;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease;
}
.lifecycle-phase-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 36px rgba(23, 20, 67, 0.14);
}
.lifecycle-phase-card:hover img {
  transform: scale(1.06);
}

/* Force crystal clear white typography on photo overlay */
html body .gov-clean-photo-card .gov-photo-title,
html.theme-light body .gov-clean-photo-card .gov-photo-title,
html body .gov-clean-photo-card h3,
html.theme-light body .gov-clean-photo-card h3 {
  color: #FFFFFF !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.85) !important;
}

html body .gov-clean-photo-card .gov-photo-desc,
html.theme-light body .gov-clean-photo-card .gov-photo-desc,
html body .gov-clean-photo-card p,
html.theme-light body .gov-clean-photo-card p {
  color: #F8FAFC !important;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.8) !important;
}

html body .gov-clean-photo-card span,
html.theme-light body .gov-clean-photo-card span {
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
}

/* Fixed uniform size for portfolio cards and thumbs */
html body .portfolio-grid .portfolio-card,
.portfolio-card {
  border: 1px solid #E2E8F0 !important;
  border-radius: 0px !important;
  background: #FFFFFF !important;
  box-shadow: none !important;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease !important;
}

html body .portfolio-grid .portfolio-card:hover,
.portfolio-card:hover {
  border-color: #5c0c05 !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 25px -5px rgba(23, 20, 67, 0.08) !important;
}

html body .portfolio-card .portfolio-thumb,
.portfolio-thumb {
  height: 240px !important;
  width: 100% !important;
  overflow: hidden !important;
  position: relative !important;
  background: #F1F5F9 !important;
}

html body .portfolio-card .portfolio-thumb img,
.portfolio-thumb img {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border-radius: 0px !important;
}

html body .portfolio-card .portfolio-info,
.portfolio-info {
  min-height: 84px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 20px 24px !important;
  background: #FFFFFF !important;
}
