@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@500;600;700;800&display=swap');

:root
{
  --c-obsidian: #0a0a0a;
  --c-charcoal: #151515;
  --c-ivory: #f5f2ea;
  --c-gold: #ffbc00;
  --c-gold-hover: #e8aa00;
  --c-gold-dark: #e6a900;
  --c-gold-light: #ffc420;
  --c-gold-warm: #ffe08a;
  --c-gold-pale: #fff4d0;
  --c-warm-gray-1: #cfc8bc;
  --c-warm-gray-2: #c9c1b3;
  --c-light-gray: #d5d5d5;
  --c-success: #34d399;
  --c-error: #fca5a5;
  --c-whatsapp: #25d366;
  --c-text-1: var(--c-ivory);
  --c-text-2: rgba(245, 242, 234, 0.70);
  --c-text-3: rgba(245, 242, 234, 0.50);
  --c-border-1: rgba(255, 255, 255, 0.06);
  --c-border-2: rgba(255, 255, 255, 0.10);
  --c-border-3: rgba(255, 255, 255, 0.18);
  --c-border-gold: rgba(255, 188, 0, 0.45);
  --c-border-gold-hover: rgba(255, 188, 0, 0.75);
  --r-xs: 4px;
  --r-sm: 6px;
  --r-md: 8px;
  --r-lg: 12px;
  --r-xl: 16px;
  --r-btn: 12px;
  --r-card: 20px;
  --r-card-lg: 22px;
  --r-container: 24px;
  --r-container-lg: 28px;
  --r-pill: 999px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2.5rem;
  --space-xl: 4rem;
  --shadow-1: 0 8px 24px rgba(0, 0, 0, 0.25);
  --shadow-2: 0 12px 32px rgba(0, 0, 0, 0.35);
  --shadow-3: 0 20px 48px rgba(0, 0, 0, 0.45);
  --ease: cubic-bezier(0.165, 0.84, 0.44, 1);
  --dur: 0.35s;
  --container: min(1120px, calc(100% - 3rem));
  --section-space: clamp(3.8rem, 7vw, 6.8rem);
  --header-offset: 5.25rem;
  --armex-black-100: #0a0a0a;
  --armex-white: #f5f2ea;
  --color-highlight: var(--c-gold);
  --font-brand: 'Manrope', 'Sora', sans-serif;
  --site-container-max: 1340px;
  --site-gutter-desktop: 32px;
  --site-gutter-tablet: 32px;
  --site-gutter-mobile: clamp(16px, 3.125vw, 24px);
  --site-gutter-phone: 16px;
  --site-hero-height-desktop: 560px;
  --site-hero-height-tablet: 460px;
  --site-hero-height-mobile: 430px;
  --card-radius: var(--r-card);
  --card-radius-lg: var(--r-card-lg);
  --card-bg: rgba(15, 15, 15, 0.65);
  --card-bg-glass: rgba(255, 255, 255, 0.035);
  --card-bg-strong: rgba(18, 18, 18, 0.82);
  --card-border: 1px solid rgba(255, 255, 255, 0.10);
  --card-border-hover: rgba(255, 188, 0, 0.28);
  --card-shadow: 0 12px 35px rgba(0, 0, 0, 0.32);
  --card-shadow-hover: 0 20px 50px rgba(0, 0, 0, 0.42);
  --card-lift: -4px;
  --card-transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
  --card-blur: blur(18px);
  --card-icon-size: 44px;
  --card-icon-radius: 12px;
  --card-icon-bg: rgba(255, 188, 0, 0.08);
  --card-icon-border: 1px solid rgba(255, 188, 0, 0.20);
  --card-icon-color: var(--c-gold);
  --card-number-opacity: 0.6;
  --card-tag-radius: var(--r-pill);
  --card-tag-bg: rgba(255, 188, 0, 0.06);
  --card-tag-border: 1px solid rgba(255, 188, 0, 0.22);
  --card-tag-color: var(--c-gold);
  --card-tag-size: 0.72rem;
  --card-tag-weight: 700;
  --card-tag-spacing: 0.06em;
}

*
{
  box-sizing: border-box;
}

html
{
  scroll-padding-top: var(--header-offset, 5.25rem);
  height: auto;
}

body
{
  height: auto;
}

[id]
{
  scroll-margin-top: var(--header-offset, 5.25rem);
}

body
{
  margin: 0;
  font-family: 'Manrope', 'Trebuchet MS', 'Segoe UI', sans-serif;
  color: var(--c-ivory);
  background: #0a0a0a;
   /* Dark base behind the moving photo */
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  min-height: 100vh;
  position: relative;
  overflow-x: hidden;
}
/* Background Photo Layer with Ken Burns Effect */body::after
{
  content: '';
  position: fixed;
  inset: -12%;
   /* Larger margin for high amplitude movement */
  background: url('../images/poster/fon999.jpg') center center / cover no-repeat;
  z-index: -2;
  animation: backgroundMovement 30s ease-in-out infinite alternate;
  pointer-events: none;
}


/* ==========================================================================
   UNIFIED CARD SYSTEM — Card System Polish Pass 2
   ==========================================================================
   DEFAULT state:
     background: var(--card-bg) / var(--card-bg-glass)
     border: var(--card-border)
     border-radius: var(--card-radius)
     box-shadow: var(--card-shadow)
     transition: all 0.4s var(--ease)

   HOVER state (mouse):
     transform: translateY(var(--card-lift))  /* -4px lift */
background: var(--card-bg-strong)
     border-color: var(--card-border-hover)  /* gold tint */
     box-shadow: var(--card-shadow-hover)   /* deep shadow */

   FOCUS-VISIBLE state (keyboard Tab):
     outline: 2px solid rgba(255, 188, 0, 0.55)
     outline-offset: 3px
     (NO white browser outline on mouse click)

   ACTIVE/CURRENT state:
     Only for real interactive states: filters, accordion items, nav links
     No artificial active states on cards

   ACCENT-LINE cards (service-card, tecnico-card, gestion-card):
     Default: border-top/left with subtle rgba gold
     Hover: border-top-color: full gold + unified lift + shadow
     (No double gold: no glow + no border + no shadow simultaneously)

   ACCENT-ICON cards (trust-card, cinematic-card):
     Default: card-icon uses --card-icon-bg
     Hover: card-icon gets scale(1.1) + rotate(5deg) + gold bg

   ACCENT-NUMBER cards (coverage-card, quality-gate-card):
     Default: number in --card-number-opacity gold
     Hover: unified lift + shadow + gold border

   PROJECT CARDS (special — DO NOT unify):
     .project-card__button:hover uses translateY(-5px)
     Complex JS modal interaction, intentionally stronger lift

   CARD TOKENS (defined above in :root):
     --card-lift: -4px
     --card-border-hover: 1px solid rgba(255, 188, 0, 0.28)
     --card-bg-strong: rgba(18, 18, 18, 0.82)
     --card-shadow-hover: 0 20px 50px rgba(0, 0, 0, 0.42)
     --card-radius: 20px
   ========================================================================== */

@keyframes backgroundMovement
{
  0% { transform: scale(1) translate(0, 0);
}

100%
{
  transform: scale(1.15) translate(-3%, -2%);
}}

body::before
{
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(10, 10, 10, 0.4);
 /* Tinted overlay */
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: -1;
  pointer-events: none;
}

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

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

p,ul,ol
{
  margin: 0;
}

ul,ol
{
  padding-left: 1.2rem;
}

h1,h2,h3
{
  margin: 0;
  font-family: 'Sora', 'Manrope', 'Segoe UI', sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.06;
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

h1
{
  font-size: clamp(2rem, 5vw, 3.7rem);
}

h2
{
  font-size: clamp(1.7rem, 3.4vw, 2.8rem);
}

h3
{
  font-size: clamp(1.15rem, 2vw, 1.45rem);
}

.container
{
  width: var(--container);
  margin-inline: auto;
}

.section
{
  max-width: 1340px;
  width: calc(100% - 2rem);
  margin-inline: auto;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 2.5rem;
  background: rgba(15, 15, 15, 0.45);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
}

.section
{
  padding-block: var(--section-space);
  padding-inline: clamp(1.5rem, 5vw, 4.5rem);
}

.section .container
{
  max-width: 1160px;
  width: 100%;
}
/* Ensure the first content block on any page starts below the fixed header */main > .section:first-child,main > .scroller-section:first-child,main > .page-hero:first-child
{
  margin-top: 6.5rem;
}

.section
{
  padding-block: var(--section-space);
}
/* Data surfaces now strictly transparent to inherit section glass */[data-surface]
{
  background: transparent !important;
}

[data-surface="image"] .card:hover,
[data-surface="image"] .service-pill:hover
{
  background: var(--card-bg-strong);
  transform: translateY(var(--card-lift));
  border-color: var(--card-border-hover);
}
/* 3. STONE SURFACE (Subtle Texture under Glass) */[data-surface="stone"]
{
  background: transparent;
}

[data-surface="stone"] .section-heading h2
{
  color: var(--c-ivory);
}

[data-surface="stone"] p
{
  color: var(--c-text-2);
}

[data-surface="stone"] .eyebrow
{
  color: var(--c-gold);
}

[data-surface="stone"] .card,[data-surface="stone"] .tier-card
{
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--r-md);
  color: var(--c-ivory);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02), var(--shadow-2);
  transition: transform var(--dur) var(--ease), background var(--dur) var(--ease);
}

[data-surface="stone"] .faq-item
{
  background: rgba(0, 0, 0, 0.25);
  border: none;
 /* Borders removed */
  border-radius: var(--r-md);
  color: var(--c-ivory);
  box-shadow: var(--shadow-2);
  transition: transform var(--dur) var(--ease), border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}

[data-surface="stone"] .card:hover,[data-surface="stone"] .tier-card:hover
{
  transform: translateY(var(--card-lift));
  background: var(--card-bg-strong);
  border-color: var(--card-border-hover);
  border-top-color: rgba(255, 188, 0, 0.75);
  box-shadow: var(--card-shadow-hover);
}
/*    LEVEL 2: Section-Specific Overrides (isolated per section)   *//* Utilities for section backgrounds */.section-video-bg
{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  overflow: hidden;
  background: transparent;
}

.section-video-bg video
{
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
}

.section-video-overlay,.video-overlay
{
  position: absolute;
  inset: 0;
  z-index: 1;
  background: transparent;
}

.section-video-overlay--concave
{
  background: transparent;
}
/* ── HOME: Features ("Lo que marca la diferencia") ──────── */[data-section="home-features"]
{
  min-height: 85vh;
  display: flex;
  align-items: center;
  background: transparent;
  z-index: 1;
  position: relative;
  padding-block: 4rem;
}

[data-section="home-features"] .container
{
  position: relative;
  z-index: 10;
  max-width: 1000px;
  margin-inline: auto;
}

[data-section="home-features"] .section-heading
{
  text-align: center;
  justify-items: center;
  margin-bottom: 2rem;
}

[data-section="home-features"] .section-heading h2
{
  font-family: 'Manrope', sans-serif;
  font-size: clamp(1.2rem, 3.2vw, 2.1rem);
  letter-spacing: 0.02em;
  line-height: 1.15;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
  text-transform: uppercase;
}

[data-section="home-features"] .section-heading h2::after
{
  content: '';
  display: block;
  position: relative;
  background: var(--c-gold);
  width: 60px;
  height: 3px;
  bottom: -0.8rem;
  margin: 0 auto;
}

[data-section="home-features"] .section-heading>p
{
  color: var(--c-ivory);
  font-size: clamp(0.85rem, 1.1vw, 1rem);
  max-width: 70ch;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 0.5rem;
  margin-inline: auto;
}

[data-section="home-features"] .service-pill--featured
{
  padding: 1.2rem 1.1rem;
  text-align: center;
}

[data-section="home-features"] .service-pill--featured h3
{
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin-bottom: 0.6rem;
}
/* ── HOME: About ("Una empresa de construcción") ──────── */[data-section="home-about"]
{
  background: transparent;
  position: relative;
}

[data-section="home-about"] .section-video-bg video
{
  transform: scale(1.02);
}
/* ── HOME: Services (линейка услуг) ─────────────────────── */[data-section="home-services"]
{
  position: relative;
}

[data-section="home-services"] .section-video-bg video
{
  transform: scale(1.02);
}

.faq-footer-cta
{
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  padding: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 4rem;
  position: relative;
  overflow: hidden;
}

@media (max-width: 768px)
{
  .faq-footer-cta
  {
    flex-direction: column;
    text-align: center;
    padding: 2rem 1.5rem;
    gap: 1.5rem;
  }

  .faq-footer-cta .btn
  {
    width: 100%;
  }
}

[data-section="home-services"] .service-pill
{
  min-height: 4.5rem;
  padding: 1.2rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

[data-section="home-services"] .service-pill h3
{
  font-size: clamp(0.8rem, 1.2vw, 1rem);
  overflow-wrap: anywhere;
  margin: 0;
}

[data-section="home-coverage"],[data-section="home-cta"]
{
  position: relative;
}
/* ── HOME: Process ──────────────────────────────────────── */[data-section="home-process"] .card
{
  counter-increment: process;
  padding: 1.5rem 1.75rem;
}
/* ── HOME: Cases ────────────────────────────────────────── */[data-section="home-cases"] .case-proof-card
{
  min-height: 4.5rem;
  padding: 1.2rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

[data-section="home-cases"] .case-proof-card h3
{
  font-size: clamp(0.85rem, 1.2vw, 1.05rem);
  white-space: nowrap;
  color: #f5f2ea;
  margin: 0;
}
/* ── HOME: Quality (image bg with obsidian fade) ────────── */[data-section="home-quality"]
{
  background: transparent;
  padding-block: clamp(3rem, 5vw, 5rem);
  position: relative;
}

[data-section="home-quality"]>.container
{
  position: relative;
  z-index: 2;
}

[data-section="home-quality"] .card
{
  min-height: 6rem;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

@keyframes card-reveal
{
  0%
  {
    transform: translateY(0);
    border-top-color: var(--c-gold);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  }

  30%
  {
    transform: translateY(-6px);
    border-top-color: #ffe08a;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.35);
  }

  70%
  {
    transform: translateY(-6px);
    border-top-color: #ffe08a;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.35);
  }

  100%
  {
    transform: translateY(0);
    border-top-color: var(--c-gold);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  }
}

[data-section="home-features"] .service-pill--featured.animate-in
{
  animation: card-reveal 1.2s ease;
}
/* === Unified section heading styles === */.section-heading
{
  text-align: center;
  display: grid;
  justify-items: center;
  gap: 0.7rem;
  margin-bottom: 2rem;
}
/* eyebrow inside section-heading inherits global .eyebrow styles - no override needed */.section-heading h2
{
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
}

.section-heading>p
{
  font-size: clamp(1rem, 1.5vw, 1.3rem);
}

.section-actions
{
  text-align: center;
  justify-content: center;
  margin-top: 2rem;
}
/* ── SERVICES: Coverage (image bg — needs z-index for container) ── *//* Redundant footer block removed */[data-section="services-coverage"]>.container
{
  position: relative;
  z-index: 2;
}
/* ── SERVICES: Flagship ("Servicios prioritarios") ──────── */[data-section="services-flagship"] .card
{
  background: rgba(10, 10, 10, 0.48);
    /* Higher opacity for better presence */
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-top: 2px solid rgba(255, 188, 0, 0.4);
}

[data-section="services-flagship"] .card.card--accent
{
  background: rgba(15, 15, 15, 0.65);
    /* More solid for accent cards */
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
  border-top-color: var(--c-gold);
}

[data-section="services-flagship"] .card:hover
{
  background: var(--card-bg-strong);
  transform: translateY(var(--card-lift));
  border-color: var(--card-border-hover);
}
/* ── SERVICES: Stack ("Stack de servicios") ──────── */[data-section="services-stack"] .card
{
  background: rgba(10, 10, 10, 0.52);
    /* More opaque for detailed list content */
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-top: 2px solid rgba(255, 188, 0, 0.4);
}

[data-section="services-stack"] .card:hover
{
  background: var(--card-bg-strong);
  border-color: var(--card-border-hover);
}
/* ── SERVICES: Objects & Projects Metrics ────────── */[data-section="services-objects"],[data-section="projects-metrics"]
{
  background: transparent;
}
/* ── PROCESS: Steps (How We Work) ────────── */[data-section="process-steps"]
{
  padding-block: var(--section-space);
}
/* ── ABOUT: Hero ────────── */.skip-link,.sr-only
{
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  z-index: 1001;
  background: var(--armex-black-100);
  color: var(--armex-white);
  padding: 0.6rem 1rem;
  border-radius: var(--radius-sm);
}

.skip-link:focus
{
  top: 1rem;
  left: 1rem;
  width: auto;
  height: auto;
  clip: auto;
  white-space: normal;
}

.site-header .container
{
  max-width: 1340px;
  width: calc(100% - 2rem);
}

.site-header
{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1100;
  background: transparent;
}

#main-content
{
  padding-top: 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.site-header__inner
{
  position: relative;
  min-height: 4.8rem;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1.2rem;
  padding: 0.4rem 1.8rem;
  border-radius: 0 0 20px 20px;
  background: rgba(15, 15, 15, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

@media (max-width: 1024px)
{
  .site-header__inner
  {
    grid-template-columns: auto 1fr auto;
    padding: 0.4rem 1.2rem;
    min-height: 4.2rem;
  }
}

.brand
{
  display: inline-flex;
  align-items: center;
  font-weight: 800;
  white-space: nowrap;
}

.brand__text
{
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  line-height: 1;
  width: 100%;
  align-items: center;
}

.brand__name
{
  font-family: 'Manrope', 'Trebuchet MS', 'Segoe UI', sans-serif;
  font-size: 1.5rem;
  letter-spacing: 0;
  line-height: 0.92;
  text-transform: uppercase;
}

.brand__initial
{
  color: var(--c-gold);
  letter-spacing: 0.04em;
}

.brand__rest
{
  color: #f5f2ea;
  letter-spacing: 0.04em;
}

.brand__text small
{
  color: var(--c-warm-gray-1);
  font-family: 'Manrope', 'Trebuchet MS', 'Segoe UI', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

html
{
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.site-nav
{
  justify-self: center;
  display: flex;
  gap: 0.5rem;
  /* Tightened for high-density header display */
  flex-wrap: nowrap;
  position: relative;
  padding-block: 0.2rem;
}

.site-nav-indicator
{
  position: absolute;
  height: calc(100% + 0.4rem);
  /* Oversized for premium look */
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 188, 0, 0.04);
  border: 1px solid rgba(255, 188, 0, 0.18);
  border-radius: 0.4rem;
  pointer-events: none;
  opacity: 0;
  box-shadow: 0 0 15px rgba(255, 188, 0, 0.05);
  transition: left 0.35s cubic-bezier(0.19, 1, 0.22, 1),    width 0.35s cubic-bezier(0.19, 1, 0.22, 1),    opacity 0.2s ease;
  z-index: -1;
}

.site-nav-indicator.is-visible
{
  opacity: 1;
}

.site-nav a
{
  position: relative;
  padding: 0.6rem 0.9rem;
  color: var(--c-warm-gray-2);
  font-weight: 800;
  font-size: 0.74rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  border: 1px solid transparent;
  border-radius: 0.4rem;
  transition: all 0.3s var(--ease);
  display: flex;
  align-items: center;
}

.site-nav a::after
{
  content: none;
}

.site-nav a.is-active
{
  color: var(--c-gold);
}

.site-nav a:hover
{
  color: var(--c-gold);
}

.site-header__cta
{
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.menu-toggle
{
  display: none;
  width: 2.5rem;
  aspect-ratio: 1;
  border: 1px solid var(--c-border-3);
  background: var(--c-charcoal);
  border-radius: 0.3rem;
  align-items: center;
  justify-content: center;
  gap: 0.23rem;
  flex-direction: column;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.menu-toggle span:not(.sr-only)
{
  width: 1rem;
  height: 2px;
  background: #f5f2ea;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.site-header.nav-open .site-header__inner
{
  background: transparent !important;
  border-color: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.site-header.nav-open .menu-toggle
{
  background: var(--c-obsidian);
  border-color: var(--c-border-3);
}

.site-header.nav-open .menu-toggle span:nth-child(1)
{
  transform: translateY(5px) rotate(45deg);
}

.site-header.nav-open .menu-toggle span:nth-child(2)
{
  opacity: 0;
}

.site-header.nav-open .menu-toggle span:nth-child(3)
{
  transform: translateY(-5px) rotate(-45deg);
}

.site-header__cta
{
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.site-header__cta .btn
{
  min-height: 2.6rem;
  border-radius: 0.4rem;
  padding: 0 1.2rem;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 800;
}
/* ==========================================================================   BUTTON SYSTEM   ========================================================================== *//* Base Button */.btn
{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  min-height: 44px;
 /* User requirement: min 44px */
  padding: 0 2rem;
  font-size: 0.88rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-radius: 12px;
  border: 1px solid transparent;
  transition: transform 0.3s var(--ease), background 0.3s var(--ease), box-shadow 0.3s var(--ease), border-color 0.3s var(--ease);
  cursor: pointer;
  white-space: nowrap;
}

.btn:active
{
  transform: translateY(1px) scale(0.98);
}
/* Primary Button (Premium Gold Action) */.btn--primary
{
  background: linear-gradient(135deg, var(--c-gold) 0%, var(--c-gold-dark) 100%);
  color: #000;
  border: none;
  box-shadow: 0 4px 15px rgba(255, 188, 0, 0.25);
}

.btn--primary:hover
{
  background: linear-gradient(135deg, var(--c-gold-light) 0%, var(--c-gold) 100%);
  box-shadow: 0 8px 25px rgba(255, 188, 0, 0.35);
  transform: translateY(-3px);
}
/* Secondary Button (Refined Glass) */.btn--secondary
{
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #fff;
}

.btn--secondary:hover
{
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.25);
  transform: translateY(-3px);
}
/* Outline Button (The Secondary Action) */.btn--outline
{
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.2);
  color: var(--c-ivory);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.btn--outline:hover
{
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--c-gold);
  transform: translateY(-2px);
}
/* Ghost Button (Transparent Action) */.btn--ghost
{
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.20);
  color: var(--c-ivory);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.btn--ghost:hover
{
  color: var(--c-gold);
  background: rgba(255, 255, 255, 0.10);
  border-color: rgba(255, 188, 0, 0.40);
  transform: translateY(-2px);
}

.eyebrow
{
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.82rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-gold);
  font-weight: 700;
  line-height: 1.5;
}

.eyebrow::before
{
  content: '';
  width: 32px;
  height: 1px;
  background: var(--c-gold);
  flex-shrink: 0;
}

.eyebrow-wrapper
{
  display: flex;
  justify-content: center;
  width: 100%;
  margin-bottom: 0.5rem;
}

.eyebrow-wrapper--left
{
  justify-content: flex-start;
}

.eyebrow-wrapper--left .eyebrow::before
{
  display: flex;
}

.lead
{
  margin-top: 1.2rem;
  color: var(--c-text-2);
  font-size: clamp(1.05rem, 1.9vw, 1.25rem);
  max-width: 62ch;
  line-height: 1.65;
}

.hero
{
  padding-block: clamp(5.2rem, 9vw, 9rem);
  position: relative;
  overflow: hidden;
}
/* Video Scroller Section */.scroller-section
{
  height: 400vh;
  /* Scroll length */
  position: relative;
  background-color: transparent;
  overflow: clip;
  margin-bottom: 2.5rem;
  border-radius: 20px;
  max-width: 1340px;
  width: calc(100% - 2rem);
  margin-inline: auto;
}

.scroller-sticky
{
  position: sticky;
  top: 6.5rem;
  width: 100%;
  height: auto;
  aspect-ratio: 1.8 / 1;
  max-height: calc(100vh - 8rem);
  margin-inline: auto;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
    /* Unified Sticky Glass Box */
  background: rgba(15, 15, 15, 0.45);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
}

.scroller-video
{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
  /* GPU acceleration — reduces repaint lag during seeking */
  will-change: contents;
  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.scroller-overlay
{
  position: relative;
  z-index: 5;
  text-align: center;
  color: var(--armex-white);
  width: 100%;
  pointer-events: none;
}

.scroller-content
{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  /* Removed padding-top to allow vertical centering */
  ;
}

.scroller-motion-wrap
{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  width: 100%;
}

.scroller-copy
{
  max-width: 46rem;
  color: rgba(245, 242, 234, 0.96);
  font-size: clamp(0.95rem, 1.5vw, 1.05rem);
  text-shadow: 0 3px 14px rgba(0, 0, 0, 0.62);
  padding: 1.2rem 1.6rem;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-top: 2px solid rgba(255, 188, 0, 0.5);
  border-radius: var(--radius-md);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  text-align: center;
}

.scroller-content .actions-row
{
  justify-content: center;
  pointer-events: auto;
}

.scroller-eyebrow
{
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  font-family: var(--font-brand);
  font-size: 0.85rem;
 /* Standardized size */
  text-transform: uppercase;
  letter-spacing: 0.18em;
 /* Standardized spacing */
  color: var(--c-gold);
  font-weight: 700;
  margin-bottom: 1rem;
}

.scroller-eyebrow::before
{
  content: '';
  width: 32px;
  height: 1px;
  background: var(--c-gold);
  flex-shrink: 0;
}

.scroller-title
{
  font-size: clamp(1.65rem, 4.5vw, 3.35rem);
  font-weight: 800;
  line-height: 1.1;
  max-width: 16ch;
  text-transform: uppercase;
  text-shadow: 0 4px 30px rgba(0, 0, 0, 0.4);
}

.scroller-fade
{
  position: absolute;
  inset: 0;
  background: transparent;
  opacity: 0;
  z-index: 10;
  pointer-events: none;
}

.scroller-stats
{
  display: flex;
  align-items: center;
  gap: 0;
  margin-top: 1.5rem;
  padding: 1.2rem 2rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 188, 0, 0.15);
  border-radius: var(--radius-md);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.scroller-stats__item
{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  padding: 0 1.2rem;
  flex: 1;
  min-width: 0;
  text-align: center;
}

.scroller-stats__number
{
  font-family: 'Sora', 'Manrope', sans-serif;
  font-size: clamp(1rem, 1.8vw, 1.35rem);
  font-weight: 800;
  color: var(--c-gold);
  letter-spacing: -0.01em;
  line-height: 1.1;
}

.scroller-stats__label
{
  font-size: clamp(0.55rem, 0.9vw, 0.72rem);
  color: rgba(245, 242, 234, 0.6);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.3;
}

.scroller-stats__divider
{
  width: 1px;
  height: 2.5rem;
  background: rgba(255, 188, 0, 0.25);
  flex-shrink: 0;
}

@media (max-width: 768px)
{
  .scroller-stats
  {
    flex-wrap: wrap;
    padding: 1rem 1.2rem;
    gap: 0.5rem;
  }

  .scroller-stats__divider
  {
    display: none;
  }

  .scroller-stats__item
  {
    flex: 0 0 calc(33.333% - 0.4rem);
    padding: 0.5rem 0.4rem;
  }

  .scroller-stats__item:nth-child(n+4)
  {
    flex: 0 0 calc(50% - 0.2rem);
  }

  .scroller-section
  {
    height: 100vh;
    overflow: visible;
  }

  .scroller-sticky
  {
    position: relative;
    /* Mobile background photo removed */
    background: transparent;
  }

  .scroller-video
  {
    display: none;
  }

  .scroller-fade
  {
    display: none;
  }

  .scroller-overlay
  {
    position: absolute;
    bottom: 15%;
    left: 0;
    right: 0;
    top: auto;
    transform: none;
    opacity: 1 !important;
    padding: 0 1.2rem;
  }

  .scroller-content
  {
    align-items: center;
    text-align: center;
    padding-top: 0;
  }

  .scroller-eyebrow
  {
    font-size: 0.85rem;
    letter-spacing: 0.15em;
  }

  .scroller-title
  {
    font-size: clamp(1.45rem, 7.2vw, 2.25rem);
    max-width: 100%;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  .scroller-copy
  {
    font-size: clamp(0.86rem, 3.6vw, 0.96rem);
  }
}

.stats-section
{
  padding-top: 3.5rem !important;
 /* Drastically reduced */
  padding-bottom: 0 !important;
}

.partners-marquee
{
  width: 100%;
  overflow: hidden;
  margin-top: 3rem;
  padding-block: 2.5rem;
  background: rgba(255, 255, 255, 0.02);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

@media (max-width: 768px)
{
  .partners-marquee__track
  {
    animation: none;
    display: flex;
    justify-content: center;
  }

  .partners-marquee__list[aria-hidden="true"]
  {
    display: none;
  }

  .partners-marquee__list
  {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem 1.5rem;
    padding-inline: 1.5rem;
    width: 100%;
    justify-items: center;
  }

  .partners-marquee__item
  {
    min-width: auto;
    padding: 0;
  }

  .partners-marquee__item img
  {
    height: 28px;
    filter: grayscale(1) brightness(1.2);
  }
}

@media (max-width: 480px)
{
  .partners-marquee__list
  {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem 1rem;
  }
}

.partners-marquee::before,.partners-marquee::after
{
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 20%;
  z-index: 2;
  pointer-events: none;
}

.partners-marquee::before
{
  left: 0;
  background: linear-gradient(to right, #0a0a0a, transparent);
 /* Solid match to bg */
  ;
}

.partners-marquee::after
{
  right: 0;
  background: linear-gradient(to left, #0a0a0a, transparent);
 /* Solid match to bg */
  ;
}

.partners-marquee__track
{
  display: flex;
  width: max-content;
}

.partners-marquee__list
{
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 6.5rem;
 /* Spacious architectural gap */
  list-style: none;
  margin: 0;
  padding: 0 3rem;
  animation: partners-scroll 32s linear infinite;
  will-change: transform;
}

.partners-marquee__item
{
  min-width: 18rem;
 /* Even more space for giant logos */
  padding: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.partners-marquee__item img
{
  max-height: 4.5rem;
 /* Dominant and clear */
  width: auto;
  filter: grayscale(1) brightness(1.1) opacity(0.7);
  transition: all 0.6s var(--ease);
  object-fit: contain;
}

.partners-marquee__item:hover img
{
  filter: grayscale(0) brightness(1.2) drop-shadow(0 0 12px rgba(255, 188, 0, 0.3));
  transform: scale(1.18) translateY(-8px);
}

@keyframes partners-scroll
{
  from
  {
    transform: translateX(0);
  }

  to
  {
    transform: translateX(-100%);
  }
}

@media (max-width: 768px)
{
  .partners-marquee__item
  {
    min-width: 8.8rem;
    padding: 0.5rem 0.8rem;
    font-size: 0.69rem;
    letter-spacing: 0.08em;
  }

  .partners-marquee__list
  {
    animation-duration: 18s;
  }
}

@media (prefers-reduced-motion: reduce)
{
  .partners-marquee__list
  {
    animation-duration: 40s;
  }
}

.stats-section
{
  position: relative;
  overflow: hidden;
  z-index: 1;
  padding-block: calc(var(--section-space) * 1.2);
}

.stats-subtitle
{
  color: var(--c-text-2);
  font-size: clamp(1rem, 1.2vw, 1.15rem);
  max-width: 85ch;
  margin: 1.8rem auto 0;
  text-align: center;
  line-height: 1.6;
  opacity: 0.85;
}

.trust-grid
{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.25rem;
  margin-top: 1.5rem;
  align-items: stretch;
}

@media (max-width: 1100px)
{
  .trust-grid
  {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 900px)
{
  .trust-grid
  {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px)
{
  .trust-grid
  {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

.trust-card
{
  background: rgba(255, 255, 255, 0.03);
  border: var(--card-border);
  border-radius: var(--card-radius);
  padding: 1.5rem 1.2rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  transition: all 0.5s var(--ease);
  text-decoration: none;
  height: 100%;
  position: relative;
  box-shadow: var(--card-shadow);
}

.trust-card:hover
{
  background: var(--card-bg-strong);
  border-color: var(--card-border-hover);
  
  transform: translateY(var(--card-lift));
  box-shadow: var(--card-shadow-hover);
}

.trust-card__icon
{
  width: var(--card-icon-size);
  height: var(--card-icon-size);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--card-icon-bg);
  border: var(--card-icon-border);
  border-radius: var(--card-icon-radius);
  color: var(--card-icon-color);
  margin-bottom: 0.5rem;
  transition: all 0.4s var(--ease);
}

.trust-card:hover .trust-card__icon
{
  background: rgba(255, 188, 0, 0.14);
  border-color: rgba(255, 188, 0, 0.35);
  transform: scale(1.1) rotate(5deg);
}

.trust-card__title
{
  font-family: var(--font-brand);
  font-size: 1.15rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.25;
}

.trust-card__text
{
  font-size: 0.95rem;
  color: var(--c-text-2);
  line-height: 1.6;
  margin: 0;
  flex-grow: 1;
}
/* Google Card Special */.trust-card--google
{
  border-color: rgba(255, 188, 0, 0.15);
}

.trust-card--google:hover
{
  background: rgba(255, 188, 0, 0.04);
  border-color: rgba(255, 188, 0, 0.4);
  border-top-color: var(--c-gold);
}

.trust-card__google-header
{
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.trust-card__google-icon
{
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 50%;
  font-weight: 900;
  font-size: 1rem;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.stars
{
  color: var(--c-gold);
  letter-spacing: 2px;
  font-style: normal;
}

.trust-card__cta
{
  margin-top: 0.75rem;
 /* Drastically reduced from 1rem */
  font-size: 0.8rem;
  font-weight: 800;
  color: var(--c-gold);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: gap 0.3s ease;
}

.trust-card:hover .trust-card__cta
{
  gap: 0.8rem;
}

@media (max-width: 1200px)
{
  .trust-grid
  {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px)
{
  .trust-grid
  {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px)
{
  .trust-grid
  {
    grid-template-columns: 1fr;
  }
}

.hero--architectural
{
  background: #151515;
}

.hero--architectural .container
{
  position: relative;
  z-index: 2;
}

.hero--architectural .eyebrow
{
  color: rgba(255, 188, 0, 0.85);
}

.hero--architectural .lead,.hero--architectural h1
{
  color: #f5f2ea;
}

.hero--architectural h1
{
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
}

.hero--architectural .inline-list li
{
  background: rgba(255, 188, 0, 0.15);
  border: 1px solid rgba(255, 188, 0, 0.3);
  color: #fff4d0;
  backdrop-filter: blur(4px);
}

.hero__grid
{
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 2.4rem;
  align-items: start;
}

.hero__grid--home
{
  align-items: stretch;
}

.hero__grid>div:first-child
{
  max-width: 640px;
}

.hero__grid h1
{
  margin-top: 0.2rem;
  line-height: 1.12;
  letter-spacing: -0.03em;
}

.hero--architectural .eyebrow::before
{
  content: '';
  display: inline-block;
  width: 1.6rem;
  height: 2px;
  background: rgba(255, 188, 0, 0.6);
  margin-right: 0.5rem;
  vertical-align: middle;
}

.actions-row
{
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}

.inline-list
{
  margin-top: 1.4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  padding-left: 0;
  list-style: none;
}

.inline-list li
{
  padding: 0.38rem 0.72rem;
  border-radius: 999px;
  background: var(--color-highlight);
  color: var(--armex-black-100);
  font-size: 0.82rem;
  font-weight: 600;
}

.hero-panel
{
  background: #1a1a1a;
  color: #f5f2ea;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-lg);
  padding: clamp(1.6rem, 3vw, 2.2rem);
  box-shadow: var(--shadow-3), 0 0 60px rgba(255, 188, 0, 0.05);
  position: relative;
}

.hero-panel--visual
{
  display: flex;
  align-items: stretch;
}

.hero-visual-surface
{
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-md);
  background: #141414;
  padding: 1.1rem;
}

.hero-visual-eyebrow
{
  color: var(--c-light-gray);
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 700;
}

.hero-visual-grid
{
  margin-top: 0.9rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.72rem;
}

.hero-visual-grid article
{
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius-sm);
  padding: 0.8rem;
  transition: border-color 0.3s ease, background 0.3s ease;
}

.hero-visual-grid article:hover
{
  border-color: rgba(255, 188, 0, 0.3);
  background: rgba(255, 188, 0, 0.06);
}

.hero-visual-grid h3
{
  font-size: 0.96rem;
}

.hero-visual-grid p
{
  margin-top: 0.33rem;
  color: var(--c-light-gray);
  font-size: 0.86rem;
  line-height: 1.5;
}

.hero-panel h2
{
  font-size: clamp(1.3rem, 2vw, 1.6rem);
  margin-bottom: 1.2rem;
  line-height: 1.2;
}

.hero-panel__rows
{
  display: grid;
  gap: 0.9rem;
}

.hero-panel__rows div
{
  padding: 1rem 1.1rem;
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.hero-panel__rows h3
{
  font-size: 1rem;
  margin-bottom: 0.35rem;
  line-height: 1.25;
}

.hero-panel__rows p
{
  margin-top: 0.25rem;
  color: var(--c-light-gray);
  font-size: 0.92rem;
  line-height: 1.55;
}
/* About Company - Premium Grid Layout */.about-grid
{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-top: 5rem;
  align-items: stretch;
}

.about-card
{
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 3rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  transition: all 0.5s var(--ease);
  position: relative;
  overflow: hidden;
  text-align: left;
}

.about-card:hover
{
  background: var(--card-bg-strong);
  border-color: var(--card-border-hover);
  
  transform: translateY(var(--card-lift));
  box-shadow: var(--card-shadow-hover);
}

.about-card__title
{
  font-family: var(--font-brand);
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  margin: 0;
}

.about-card__text
{
  font-size: 1.05rem;
  color: var(--c-text-2);
  line-height: 1.6;
  margin: 0;
}

.about-card__actions
{
  margin-top: auto;
  padding-top: 1rem;
}

.about-card.contact-card
{
  gap: 2.2rem;
}

.contact-card__header
{
  margin: 0;
}

.contact-card__subtitle
{
  font-size: 0.88rem;
  color: rgba(245, 242, 234, 0.5);
  margin-top: 0.5rem;
}

.contact-card__quick-actions
{
  display: flex;
  gap: 0.85rem;
  width: 100%;
}

.contact-btn
{
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 0.95rem 1rem;
  border-radius: 12px;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
  transition: all 0.4s var(--ease);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.contact-btn--call
{
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
}

.contact-btn--call:hover
{
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 188, 0, 0.4);
  transform: translateY(-3px);
}

.contact-btn--whatsapp
{
  background: rgba(37, 211, 102, 0.08);
  border-color: rgba(37, 211, 102, 0.2);
  color: #25d366;
}

.contact-btn--whatsapp:hover
{
  background: rgba(37, 211, 102, 0.15);
  border-color: rgba(37, 211, 102, 0.4);
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(37, 211, 102, 0.1);
}

.contact-card__list
{
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
}

.contact-card__list li
{
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-start;
 /* Hard start alignment */
  text-align: left;
}

.contact-label
{
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--c-gold);
  letter-spacing: 0.08em;
  opacity: 0.65;
  margin: 0;
}

.contact-link
{
  font-size: 1.05rem;
  color: #f5f2ea;
  text-decoration: none;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  text-align: left;
  line-height: 1.2;
}

.contact-link:hover
{
  color: var(--c-gold);
  transform: translateX(4px);
}

.contact-link--address
{
  line-height: 1.5;
  font-size: 0.95rem;
}

@media (max-width: 720px)
{
  .contact-page__grid
  {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px)
{
  .section,  .partners-marquee,  .site-footer,  .scroller-sticky
  {
    width: calc(100% - 1.5rem);
    border-radius: 16px;
    margin-bottom: 1rem;
  }

  .scroller-sticky
  {
    top: 0.75rem;
    height: calc(100vh - 1.5rem);
  }
}

@media (max-width: 720px)
{
  .about-grid
  {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .about-card
  {
    padding: 2rem 1.5rem;
  }

  .about-card__title
  {
    font-size: 1.25rem;
  }

  .about-card__text
  {
    font-size: 0.95rem;
  }

  .contact-card__list a,  .contact-card__list span:not(.contact-label)
  {
    font-size: 1rem;
  }
}

.page-hero
{
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1.8 / 1;
  max-height: calc(100vh - 8rem);
  text-align: center;
  padding-block: 0 !important;
 /* Prevent section padding from stretching it */
  min-height: 0 !important;
}

.page-hero .container
{
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 10;
}

.page-hero .eyebrow
{
  margin-bottom: 0.5rem;
  color: var(--c-gold);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.page-hero h1
{
  max-width: 20ch;
  margin-bottom: 1rem;
}

.page-hero .lead
{
  max-width: 60ch;
}

.page-hero .actions-row
{
  margin-top: 1.6rem;
}

.section-heading>p
{
  color: var(--c-text-2);
  max-width: 70ch;
}

.section-heading--on-dark,.section-heading--on-dark>p
{
  color: #f5f2ea;
}

.cards-grid
{
  display: grid;
  gap: 1rem;
}

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

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

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

.cards-grid--6
{
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
/* ── TOTAL UNIFICATION: PREMIUM GLASSMISM SYSTEM ────────────────────────── */.premium-card, .card, .service-pill, .tier-card, .case-proof-card, .object-chip, .process-list li,.contact-card,.about-company__content.card
{
  background: var(--card-bg);
  backdrop-filter: var(--card-blur);
  -webkit-backdrop-filter: var(--card-blur);
  border: var(--card-border);
  border-radius: var(--card-radius);
  padding: 1.75rem 1.5rem;
  box-shadow: var(--card-shadow);
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  text-align: left;
  transition: var(--card-transition);
  position: relative;
  overflow: hidden;
  height: 100%;
  justify-content: flex-start;
  color: var(--c-ivory);
}

.card:hover
{
  transform: translateY(var(--card-lift));
  background: var(--card-bg-strong);
  border-color: var(--card-border-hover);
  box-shadow: var(--card-shadow-hover);
}

.service-pill__icon
{
  width: var(--card-icon-size);
  height: var(--card-icon-size);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--card-icon-bg);
  border: var(--card-icon-border);
  border-radius: var(--card-icon-radius);
  color: var(--card-icon-color);
  margin-bottom: 0.5rem;
  transition: all 0.4s var(--ease);
}

.service-pill:hover .service-pill__icon
{
  background: rgba(255, 188, 0, 0.14);
  border-color: rgba(255, 188, 0, 0.35);
  transform: scale(1.1) rotate(5deg);
}
/* Hover DNA: Unified Strength */.service-pill:hover, .tier-card:hover, .case-proof-card:hover, .object-chip:hover,.process-list li:hover
{
  transform: translateY(var(--card-lift));
  background: var(--card-bg-strong);
  border-color: var(--card-border-hover);
  box-shadow: var(--card-shadow-hover);
}
/* Typography Uniformity */.premium-card h3, .card h3, .service-pill h3, .tier-card h3, .case-proof-card h3, .premium-card h2, .card h2, .service-pill h2, .tier-card h2
{
  font-family: var(--font-brand);
  font-size: clamp(1rem, 1.2vw, 1.25rem);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0;
  color: #fff;
  line-height: 1.3;
}

.premium-card p, .card p, .service-pill p, .case-proof-card p
{
  font-size: 0.95rem;
  line-height: 1.6;
  color: rgba(245, 242, 234, 0.8);
  margin: 0;
  font-weight: 400;
}

.premium-card ul, .card ul
{
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 0.9rem;
  opacity: 0.85;
}
/* Specific Chip Adjustments (Still unified, just smaller padding) */.object-chip
{
  padding: 1rem 1.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.85rem;
}

.card-tag
{
  color: var(--armex-black-100);
  font-size: 0.76rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 700;
}

.card--accent
{
  border-color: rgba(216, 158, 0, 0.32);
}

.text-link
{
  margin-top: 0.35rem;
  color: var(--armex-black-100);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.18rem;
}

.section-actions
{
  margin-top: 1.5rem;
  display: flex;
  justify-content: center;
}

.process-list
{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.2rem;
  padding-left: 0;
  list-style: none;
  counter-reset: process-counter;
}

@media (max-width: 768px)
{
  .process-list
  {
    grid-template-columns: 1fr;
  }
}

.process-list li
{
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 1.8rem 2.2rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 10px 25px rgba(0, 0, 0, 0.15);
  transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

.process-list li:hover
{
  transform: translateY(var(--card-lift));
  background: var(--card-bg-strong);
  border-color: var(--card-border-hover);
  box-shadow: var(--card-shadow-hover);
}

.case-proof-card:hover
{
  transform: translateY(var(--card-lift));
  border-color: var(--card-border-hover);
  box-shadow: var(--card-shadow-hover);
  background: var(--card-bg-strong);
  border-top-color: rgba(255, 188, 0, 0.5);
}

.case-proof-card ul
{
  display: grid;
  gap: 0.33rem;
}

.case-proof-card li
{
  color: var(--c-text-2);
}

.tier-grid
{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
/* tier-card base вЂ” skeleton only; material comes from [data-surface] */.tier-card
{
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--card-radius);
  padding: 2.5rem 2rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 20px 40px rgba(0, 0, 0, 0.2);
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  text-align: center;
}

/* .tier-card:hover unified via Hover DNA group at line ~270 (see: .service-pill:hover, .tier-card:hover rule) */
.tier-grid--dark .tier-card
{
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.14);
  text-align: center;
}

.tier-card--dark
{
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-top: 2px solid rgba(255, 188, 0, 0.45);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  transition: transform var(--dur) var(--ease),    background var(--dur) var(--ease),    border-color var(--dur) var(--ease),    box-shadow var(--dur) var(--ease);
  color: #f5f2ea;
}

.tier-card--dark:hover
{
  transform: translateY(var(--card-lift));
  background: var(--card-bg-strong);
  border-color: var(--card-border-hover);
  
  box-shadow: var(--card-shadow-hover);
}

.tier-card--dark p
{
  color: #f5f2ea;
}

.tier-card p
{
  margin-top: 0.55rem;
  color: var(--c-text-2);
}

.project-shell
{
  border-style: dashed;
}

.faq-list
{
  display: grid;
  gap: 1rem;
  margin-top: 4rem;
}

.faq-item
{
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: all var(--dur) var(--ease);
}
/* Hover / РѕС‚РєСЂС‹С‚РѕРµ СЃРѕСЃС‚РѕСЏРЅРёРµ */.faq-item:hover
{
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(255, 188, 0, 0.30);
}

.faq-item:has(button[aria-expanded="true"])
{
  background: rgba(255, 255, 255, 0.10);
  border-color: rgba(255, 188, 0, 0.45);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08),    0 4px 16px rgba(0, 0, 0, 0.35);
}

.faq-item h3
{
  font-size: 1.06rem;
  color: var(--c-ivory);
}

.faq-item button
{
  width: 100%;
  text-align: left;
  border: 0;
  padding: 1.4rem 1.8rem;
  background: transparent;
  font: inherit;
  color: var(--c-ivory);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.faq-item button[aria-expanded='true']
{
  color: var(--c-gold);
  font-weight: 700;
}

.faq-content
{
  padding: 0 1.1rem 1rem;
}

.faq-content p
{
  color: var(--c-text-2);
}

.card--testimonial
{
  border-left: 3px solid rgba(216, 158, 0, 0.56);
  transition: var(--card-transition);
}

.card--testimonial:hover
{
  transform: translateY(var(--card-lift));
  border-color: var(--card-border-hover);
  box-shadow: var(--card-shadow-hover);
  background: var(--card-bg-strong);
}

.card--article
{
  background: var(--card-bg);
  border: var(--card-border);
  border-radius: var(--card-radius);
}

.card--article:hover
{
  transform: translateY(var(--card-lift));
  border-color: var(--card-border-hover);
  box-shadow: var(--card-shadow-hover);
  background: var(--card-bg-strong);
}

/* card--testimonial:hover duplicate → unified via card--testimonial definition near line ~207 */
.card--article
{
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--c-border-2);
  border-top: 2px solid var(--c-border-gold);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}

/* card--article:hover duplicate → unified via card--article definition near line ~209 */
.cta-band__inner
{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1.2rem;
  position: relative;
  z-index: 10;
}

.cta-band .actions-row
{
  justify-content: center;
  margin-top: 1.5rem;
}

.cta-band__inner h2
{
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.5);
  margin-bottom: 0;
}

.cta-band__inner p
{
  color: rgba(245, 242, 234, 0.7);
  max-width: 700px;
  margin-inline: auto;
}
/* в”Ђв”Ђ Page-Specific CTA Styles (Decoupled) в”Ђв”Ђ *//* Homepage CTA */[data-page="home"] .cta-band
{
  background: transparent;
  padding-block: 11rem;
}
/* Services, Areas, About, Projects CTA - merged into homepage selector above *//* Areas Page CTA */[data-page="areas"] .cta-band
{
  background: transparent;
}
/* About Page CTA */[data-page="about"] .cta-band
{
  background: transparent;
}
/* Projects Page CTA */[data-page="projects"] .cta-band
{
  background: transparent;
}

.object-grid
{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

.object-chip
{
  padding: 0.9rem 1.2rem;
  border-radius: var(--r-sm);
  border: 1px solid var(--c-border-1);
  background: rgba(255, 255, 255, 0.03);
  color: var(--c-ivory);
  font-family: 'Sora', sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-align: center;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: all var(--dur) var(--ease);
  display: flex;
  align-items: center;
  justify-content: center;
  border-left: 2px solid transparent;
}

.object-chip:hover
{
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--c-border-gold);
  border-left-color: var(--c-gold);
  color: var(--c-gold);
  transform: translateX(4px);
  box-shadow: -8px 0 20px rgba(255, 188, 0, 0.1);
}

.timeline
{
  display: grid;
  gap: 0.9rem;
}

.timeline-item
{
  border-radius: var(--r-md);
  border: 1px solid var(--c-border-2);
  border-top: 2px solid var(--c-border-gold);
  background: rgba(255, 255, 255, 0.03);
  padding: 1rem 1.1rem;
}

.timeline-step
{
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.11em;
  color: var(--c-text-2);
  font-weight: 700;
}

.timeline-item p
{
  margin-top: 0.5rem;
  color: var(--c-text-2);
}

.contact-form
{
  max-width: 760px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
}

.form-row
{
  display: grid;
  gap: 0.35rem;
}

.form-row--full
{
  grid-column: 1 / -1;
}

label
{
  font-size: 0.88rem;
  color: var(--armex-black-100);
  font-weight: 600;
}

input,select,textarea
{
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--c-ivory);
  padding: 0.8rem 1rem;
  font: inherit;
  transition: all 0.3s var(--ease);
  backdrop-filter: blur(4px);
}

input:focus,select:focus,textarea:focus
{
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--c-gold);
  outline: none;
}

input[type='file']
{
  padding: 0.55rem 0.65rem;
}

textarea
{
  resize: vertical;
  min-height: 6.2rem;
}

.form-row--consent label
{
  display: inline-flex;
  align-items: flex-start;
  gap: 0.58rem;
  color: var(--c-text-2);
  font-weight: 500;
}

.form-row--consent input
{
  margin-top: 0.22rem;
  width: auto;
}

.contact-form>.btn
{
  justify-self: start;
}

.contact-form__actions
{
  grid-column: 1 / -1;
  display: flex;
  gap: 0.7rem;
  flex-wrap: wrap;
}

.form-status
{
  grid-column: 1 / -1;
  min-height: 1.2rem;
  color: var(--c-text-2);
  font-size: 0.9rem;
}

.form-status--success
{
  color: var(--c-success);
}

.form-status--error
{
  color: var(--c-error);
}

[data-reveal]
{
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

[data-reveal].is-visible
{
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1020px)
{
  .site-header
  {
    padding-top: 0;
  }

  .site-header__inner
  {
    grid-template-columns: auto 1fr auto auto;
    gap: 0.48rem;
    min-height: 4.1rem;
    padding: 0.52rem 0.62rem;
  }

  .brand__name
  {
    font-size: 1.18rem;
  }

  .brand__text small
  {
    font-size: 0.67rem;
    letter-spacing: 0.12em;
  }
}

@media (max-width: 640px)
{
  .map-container iframe
  {
    height: 280px;
  }
}
/* ── Utility Classes ── */.relative-z10
{
  position: relative;
  z-index: 10;
}

.text-muted
{
  color: rgba(245, 242, 234, 0.7);
}

.justify-center
{
  justify-content: center;
}

.mt-3
{
  margin-top: 3rem;
}

.flex-center-wrap
{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
}

.w-full
{
  width: 100%;
}

.max-w-full
{
  max-width: 100%;
}

.overflow-hidden
{
  overflow: hidden;
}

.border-0
{
  border: 0;
}

.hide-mobile
{
  display: block;
}

@media (max-width: 480px)
{
  .hide-mobile
  {
    display: none !important;
  }
}
/* Flagship Services Accordion */.services-accordion
{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: stretch;
  gap: 1.25rem;
  margin-top: 4.5rem;
  width: 100%;
}

.service-accordion__item
{
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
 /* Standardized radius */
  overflow: hidden;
  transition: all 0.45s var(--ease);
  min-height: 140px;
  display: flex;
  flex-direction: column;
}

.service-accordion__item:hover
{
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 188, 0, 0.25);
  
  transform: translateY(-5px);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.35);
}

.service-accordion__item.is-active
{
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 188, 0, 0.35);
  transform: translateY(0);
}

.service-accordion__header
{
  width: 100%;
  display: flex;
  align-items: flex-start;
  padding: 2rem 1.8rem;
  background: transparent;
  border: 0;
  text-align: left;
  cursor: pointer;
  gap: 1.25rem;
}

.service-accordion__number
{
  font-family: var(--font-brand);
  font-size: 0.9rem;
  font-weight: 800;
  color: var(--c-gold);
  opacity: 0.8;
  min-width: 2rem;
}

.service-accordion__icon
{
  color: var(--c-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.9;
}

.service-accordion__title-group
{
  flex: 1;
}

.service-accordion__title
{
  font-size: 1.25rem;
  font-weight: 700;
  color: #f5f2ea;
  margin-bottom: 0.15rem;
}

.service-accordion__short
{
  font-size: 0.92rem;
  color: rgba(245, 242, 234, 0.65);
  margin: 0;
  transition: all 0.3s ease;
  max-height: 100px;
  opacity: 1;
}

.service-accordion__item.is-active .service-accordion__short
{
  opacity: 0;
  max-height: 0;
  margin: 0;
  pointer-events: none;
}

.service-accordion__toggle
{
  width: 24px;
  height: 24px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.service-accordion__toggle::before,.service-accordion__toggle::after
{
  content: '';
  position: absolute;
  background: var(--c-gold);
  transition: transform 0.4s var(--ease);
}

.service-accordion__toggle::before
{
  width: 14px;
  height: 2px;
}

.service-accordion__toggle::after
{
  width: 2px;
  height: 14px;
}

.service-accordion__item.is-active .service-accordion__toggle::after
{
  transform: rotate(90deg);
  opacity: 0;
}
/* Content Area */.service-accordion__content
{
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s var(--ease);
}

.service-accordion__item.is-active .service-accordion__content
{
  max-height: 1000px;
 /* Safe for long text */
  ;
}

.service-accordion__inner
{
  padding: 0 1.8rem 2rem 4.5rem;
}

.service-accordion__expanded
{
  font-size: 1.05rem;
  line-height: 1.6;
  color: rgba(245, 242, 234, 0.9);
  margin-bottom: 1.8rem;
}

.service-accordion__chips
{
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.service-chip
{
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.45rem 1rem;
  background: rgba(255, 188, 0, 0.08);
  border: 1px solid rgba(255, 188, 0, 0.15);
  border-radius: 4px;
  color: var(--c-gold);
}
/* Mobile Adjustments *//* Responsiveness for Services Grid */@media (max-width: 992px)
{
  .services-accordion
  {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }
}

@media (max-width: 768px)
{
  .service-accordion__header
  {
    padding: 1.5rem;
    gap: 1rem;
    align-items: flex-start;
  }

  .service-accordion__number
  {
    display: none;
  }

  .service-accordion__inner
  {
    padding: 0 1.5rem 1.5rem;
  }

  .service-accordion__title
  {
    font-size: 1.1rem;
  }
}
/* ── CINEMATIC TRUST BLOCK: PREMIUM ARCHITECTURAL SYSTEM ────────────────── */.cinematic-section-unified.section
{
  padding-inline: 0 !important;
  padding-block: 0 !important;
  height: clamp(650px, 80vh, 850px);
  position: relative;
  overflow: hidden;
  display: block;
}

@media (max-width: 768px)
{
  .cinematic-section-unified.section
  {
    height: auto;
    padding-block: 4rem !important;
  }
}

.cinematic-container-inner
{
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.cinematic-video-wrapper
{
  position: absolute;
  inset: 0;
  z-index: 1;
}

.cinematic-video
{
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.8;
}

.cinematic-overlay-top
{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 45%;
  background: linear-gradient(to bottom,     rgba(0, 0, 0, 0.85) 0%,     rgba(0, 0, 0, 0.4) 40%,     rgba(0, 0, 0, 0) 100%);
  z-index: 2;
}

.cinematic-overlay-bottom
{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 55%;
  background: linear-gradient(to top,     rgba(0, 0, 0, 0.9) 0%,     rgba(0, 0, 0, 0.5) 35%,     rgba(0, 0, 0, 0) 100%);
  z-index: 2;
}

.cinematic-content
{
  position: relative;
  z-index: 10;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 4rem clamp(1.5rem, 5vw, 4.5rem);
}

@media (max-width: 768px)
{
  .cinematic-content
  {
    display: block;
    padding-block: 2rem;
  }
}

.cinematic-header
{
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

.cinematic-title
{
  color: #F5F2EA;
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  margin-bottom: 1.2rem;
  line-height: 1.1;
}

.cinematic-subtitle
{
  color: rgba(245, 242, 234, 0.85);
  font-size: clamp(1rem, 1.2vw, 1.15rem);
  line-height: 1.5;
  max-width: 760px;
  margin: 0 auto;
}

.cinematic-grid
{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-top: 3rem;
  max-width: 1120px;
  margin: 0 auto;
  width: 100%;
}

@media (max-width: 1024px)
{
  .cinematic-grid
  {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
}

@media (max-width: 640px)
{
  .cinematic-grid
  {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-top: 2rem;
  }
}

.cinematic-card
{
  background: var(--card-bg);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: var(--card-border);
  border-radius: var(--card-radius);
  padding: 22px;
  min-height: 160px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transition: all 0.4s var(--ease);
  cursor: default;
  box-shadow: var(--card-shadow);
}

.cinematic-card:hover
{
  border-color: var(--card-border-hover);
  background: var(--card-bg-strong);
  backdrop-filter: blur(18px);
  transform: translateY(var(--card-lift));
  box-shadow: var(--card-shadow-hover);
}

.cinematic-card__icon
{
  width: var(--card-icon-size);
  height: var(--card-icon-size);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--card-icon-bg);
  border: var(--card-icon-border);
  border-radius: var(--card-icon-radius);
  color: var(--card-icon-color);
  flex-shrink: 0;
}

.cinematic-card__title
{
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.cinematic-card__text
{
  font-size: 0.9rem;
  line-height: 1.45;
  color: rgba(245, 242, 234, 0.72);
  margin: 0;
}
/* Mobile Responsiveness */@media (max-width: 1100px)
{
  .cinematic-grid
  {
    grid-template-columns: repeat(2, 1fr);
  }

  .cinematic-container
  {
    height: auto;
    min-height: 800px;
  }
}

@media (max-width: 640px)
{
  .cinematic-grid
  {
    grid-template-columns: 1fr;
  }

  .cinematic-section
  {
    padding-inline: 1rem;
  }

  .cinematic-container
  {
    border-radius: 16px;
  }

  .cinematic-content
  {
    padding: 3rem 1.5rem;
    gap: 3rem;
  }

  .cinematic-card
  {
    height: auto;
  }
}
/* -- QUALITY GATES SECTION ------------------------------------------------- */.quality-gates-section
{
  padding-block: var(--section-space);
}

.quality-gates-grid
{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-top: 3.5rem;
}

@media (max-width: 1024px)
{
  .quality-gates-grid
  {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
}

@media (max-width: 640px)
{
  .quality-gates-grid
  {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

.quality-gate-card
{
  background: var(--card-bg-glass);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: var(--card-border);
  border-radius: var(--card-radius);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  transition: all 0.4s var(--ease);
  position: relative;
  height: 100%;
  cursor: default;
  box-shadow: var(--card-shadow);
}

.quality-gate-card:hover
{
  border-color: var(--card-border-hover);
  background: var(--card-bg-strong);
  transform: translateY(var(--card-lift));
  box-shadow: var(--card-shadow-hover);
}

.quality-gate__top
{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.quality-gate__number
{
  font-family: var(--font-brand);
  font-size: 0.85rem;
  font-weight: 800;
  color: var(--c-gold);
  opacity: 0.6;
  letter-spacing: 0.05em;
}

.quality-gate__icon
{
  color: var(--card-icon-color);
  background: var(--card-icon-bg);
  width: var(--card-icon-size);
  height: var(--card-icon-size);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--card-icon-radius);
  border: var(--card-icon-border);
}

.quality-gate__title
{
  color: #F5F2EA;
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0;
  line-height: 1.3;
}

.quality-gate__text
{
  color: rgba(245, 242, 234, 0.68);
  font-size: 0.95rem;
  line-height: 1.5;
  margin: 0;
  flex-grow: 1;
}

.quality-gate__chips
{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 0.5rem;
}

.gate-chip
{
  font-size: var(--card-tag-size);
  font-weight: var(--card-tag-weight);
  color: var(--card-tag-color);
  padding: 4px 10px;
  border-radius: var(--card-tag-radius);
  border: var(--card-tag-border);
  text-transform: uppercase;
  letter-spacing: var(--card-tag-spacing);
}
/* Quality Gates Responsiveness */@media (max-width: 1200px)
{
  .quality-gates-grid
  {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px)
{
  .quality-gates-grid
  {
    grid-template-columns: 1fr;
  }

  .quality-gate-card
  {
    padding: 1.5rem;
  }
}
/* -- COVERAGE SECTION ----------------------------------------------------- */.coverage-layout-top
{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
  margin-bottom: 4rem;
}

@media (max-width: 1024px)
{
  .coverage-layout-top
  {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 2rem;
  }
}

.coverage-info h2
{
  margin-top: 0 !important;
 /* Ensure it starts at the same level as the map badge */
  ;
}

.coverage-stats-badge
{
  display: inline-flex;
  align-items: center;
  gap: 15px;
  background: rgba(255, 188, 0, 0.08);
  border: 1px solid rgba(255, 188, 0, 0.22);
  padding: 12px 24px;
  border-radius: 100px;
  margin-bottom: 1.5rem;
}

.coverage-stats__number
{
  font-family: var(--font-brand);
  font-size: 1.8rem;
  font-weight: 800;
  color: var(--c-gold);
  line-height: 1;
}

.coverage-stats__text
{
  display: flex;
  flex-direction: column;
}

.coverage-stats__text span
{
  font-size: 0.9rem;
  font-weight: 700;
  color: #F5F2EA;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.coverage-stats__text small
{
  font-size: 0.7rem;
  color: rgba(245, 242, 234, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.coverage-base-block
{
  display: flex !important;
  justify-content: center !important;
 /* Centered to match headings above */
  align-items: center !important;
 /* Optical center for different font sizes */
  gap: 16px !important;
  padding: 10px 0 !important;
  margin-top: 1.8rem !important;
  width: 100% !important;
}

.coverage-base__label
{
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  color: rgba(245, 242, 234, 0.45) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  line-height: 1 !important;
  transform: translateY(1px) !important;
 /* Optical correction to sit perfectly with larger text */
  ;
}

.coverage-base__city
{
  font-size: 1.4rem !important;
  font-weight: 800 !important;
  color: var(--c-gold) !important;
  letter-spacing: 0.01em !important;
  line-height: 1 !important;
}
/* -- COVERAGE MAP REDESIGN ------------------------------------------------- */.coverage-map-wrapper
{
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
 /* Gap between badge and card */
  width: 100%;
  max-width: 460px;
}

.coverage-map-decorative
{
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  background: rgba(255, 255, 255, 0.035);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
}

.map-container
{
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.map-svg-visual
{
  width: 100%;
  height: 100%;
  overflow: visible;
}

.coverage-map-badge
{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 6px !important;
  padding-left: 10px;
 /* Aligned with map content start */
  ;
}

.coverage-map-badge__title
{
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: var(--c-gold) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.coverage-map-badge__text
{
  font-size: 0.65rem !important;
  color: rgba(245, 242, 234, 0.5) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  line-height: 1 !important;
  margin: 0 !important;
  transform: translateY(-1px) !important;
}

.map-label
{
  fill: rgba(245, 242, 234, 0.72);
  font-family: var(--font-brand);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.05em;
  pointer-events: none;
}

.map-label--base
{
  fill: #F5F2EA;
  font-size: 11px;
  font-weight: 900;
}

.map-label--base-sub
{
  fill: var(--c-gold);
  font-size: 7px;
  font-weight: 800;
  opacity: 0.8;
}

.map-label--small
{
  font-size: 7.5px;
  fill: rgba(245, 242, 234, 0.5);
}

.map-point--pulse-visual
{
  transform-origin: center;
  animation: svgPulse 4s infinite;
}

@keyframes svgPulse
{
  0%
  {
    transform: scale(1);
    opacity: 0.6;
  }

  50%
  {
    opacity: 0.2;
  }

  100%
  {
    transform: scale(3.5);
    opacity: 0;
  }
}

.coverage-grid
{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 3rem;
}

@media (max-width: 1024px)
{
  .coverage-grid
  {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px)
{
  .coverage-grid
  {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

.coverage-card
{
  background: var(--card-bg-glass);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: var(--card-border);
  border-radius: var(--card-radius);
  padding: 2.2rem;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  transition: all 0.4s var(--ease);
  cursor: default;
  height: 100%;
  box-shadow: var(--card-shadow);
}

.coverage-card:hover
{
  border-color: var(--card-border-hover);
  background: var(--card-bg-strong);
  transform: translateY(var(--card-lift));
  box-shadow: var(--card-shadow-hover);
}

.coverage-card__header
{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.coverage-card__number
{
  font-family: var(--font-brand);
  font-size: 0.85rem;
  font-weight: 800;
  color: var(--c-gold);
  opacity: 0.6;
  letter-spacing: 0.05em;
}

.coverage-card__icon
{
  color: var(--card-icon-color);
  background: var(--card-icon-bg);
  width: var(--card-icon-size);
  height: var(--card-icon-size);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--card-icon-radius);
  border: var(--card-icon-border);
}

.coverage-card__title
{
  color: #F5F2EA;
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0;
  line-height: 1.3;
}

.coverage-card__text
{
  color: rgba(245, 242, 234, 0.68);
  font-size: 0.95rem;
  line-height: 1.5;
  margin: 0;
  flex-grow: 1;
}

.coverage-card__chips
{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 0.5rem;
}

.coverage-card__chips .gate-chip
{
  font-size: 11px;
  padding: 5px 10px;
}

.gate-chip--more
{
  border-color: rgba(255, 188, 0, 0.4) !important;
  color: var(--c-gold) !important;
  background: rgba(255, 188, 0, 0.05);
  font-weight: 800 !important;
}

.coverage-disclaimer
{
  margin-top: 2.5rem;
  text-align: center;
}

.coverage-disclaimer p
{
  font-size: 0.85rem;
  color: rgba(245, 242, 234, 0.5);
  font-style: italic;
  max-width: 600px;
  margin: 0 auto;
}
/* -- FAQ SECTION ----------------------------------------------------------- */.faq-section
{
  padding-block: var(--section-space);
}
/* Ensure FAQ eyebrow is centered with single gold line on the left */[data-section="home-faq"] .eyebrow-wrapper
{
  justify-content: center;
}

.faq-list
{
  display: flex;
  flex-direction: column;
  gap: 14px;
 /* Balanced gap between items */
  margin-top: 4.5rem;
  width: 100%;
}

.faq-item
{
  background: rgba(255, 255, 255, 0.035);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
 /* Standardized radius */
  overflow: hidden;
  transition: all 0.4s var(--ease);
}

.faq-item:hover
{
  border-color: var(--card-border-hover);
}

.faq-item.is-active
{
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 188, 0, 0.25);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.faq-header
{
  width: 100%;
  display: flex;
  align-items: center;
  padding: 22px 26px;
  background: transparent;
  border: 0;
  text-align: left;
  cursor: pointer;
  gap: 1.5rem;
  min-height: 84px;
}

.faq-number
{
  font-family: var(--font-brand);
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--c-gold);
  opacity: 0.85;
  min-width: 2.2rem;
}

.faq-question
{
  flex: 1;
  font-size: 1.15rem;
  font-weight: 700;
  color: #F5F2EA;
}

.faq-toggle
{
  width: 24px;
  height: 24px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--c-gold);
}

.faq-toggle::before,.faq-toggle::after
{
  content: '';
  position: absolute;
  background: currentColor;
  transition: transform 0.4s var(--ease), opacity 0.3s ease;
}

.faq-toggle::before
{
  width: 14px;
  height: 2px;
}

.faq-toggle::after
{
  width: 2px;
  height: 14px;
}

.faq-item.is-active .faq-toggle::after
{
  transform: rotate(90deg);
  opacity: 0;
}

.faq-content
{
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  visibility: hidden;
  transition: all 0.4s var(--ease);
}

.faq-item.is-active .faq-content
{
  max-height: 1000px;
 /* Increased for long answers */
  opacity: 1;
  visibility: visible;
}

.faq-content-inner
{
  padding: 0 28px 28px 6rem;
 /* Perfectly aligned with question start */
  ;
}

.faq-content p
{
  font-size: 1.05rem;
  line-height: 1.65;
  color: rgba(245, 242, 234, 0.8);
  margin: 0;
  max-width: 760px;
}
/* FAQ Footer CTA */.faq-footer-cta
{
  margin-top: 6rem;
  padding: 3.5rem 4rem;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 28px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3rem;
  position: relative;
  overflow: hidden;
}

.faq-footer-cta::before
{
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right, rgba(255, 188, 0, 0.03) 0%, transparent 70%);
  pointer-events: none;
}

.faq-footer-cta__text
{
  flex: 1;
}

.faq-footer-cta__text h4
{
  font-size: 1.6rem;
  font-weight: 800;
  margin-bottom: 0.75rem;
  color: #F5F2EA;
  letter-spacing: -0.01em;
}

.faq-footer-cta__text p
{
  color: rgba(245, 242, 234, 0.65);
  margin: 0;
  font-size: 1.1rem;
  line-height: 1.5;
}

.faq-footer-cta .btn
{
  flex-shrink: 0;
}
/* Coverage Responsiveness */@media (max-width: 1024px)
{
  .coverage-layout-top
  {
    grid-template-columns: 1fr;
    gap: 3rem;
    text-align: center;
  }

  .coverage-map-decorative
  {
    order: -1;
    height: 420px;
  }

  .map-container
  {
    width: 320px;
    height: 320px;
  }
}

@media (max-width: 900px)
{
  .coverage-grid
  {
    grid-template-columns: 1fr;
  }

  .coverage-card
  {
    padding: 1.8rem;
  }

  .faq-header
  {
    padding: 1.4rem 1.5rem;
    gap: 1rem;
  }

  .faq-question
  {
    font-size: 1.05rem;
  }

  .faq-content-inner
  {
    padding: 0 1.5rem 1.5rem 1.5rem;
  }

  .faq-footer-cta
  {
    flex-direction: column;
    text-align: center;
    padding: 2.5rem 2rem;
    gap: 2rem;
  }

  .faq-footer-cta__text h4
  {
    font-size: 1.35rem;
  }

  .faq-footer-cta__text p
  {
    font-size: 1rem;
  }
}
/* -- PROCESS TEASER SECTION ------------------------------------------------ */.process-teaser-section
{
  padding-block: var(--section-space);
  position: relative;
}

.process-preview-grid
{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
  position: relative;
}

@media (max-width: 1024px)
{
  .process-preview-grid
  {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
}

@media (max-width: 640px)
{
  .process-preview-grid
  {
    grid-template-columns: 1fr;
    gap: 1rem;
    position: relative;
    padding-left: 1.5rem;
  }

  .process-preview-grid::before
  {
    content: '';
    position: absolute;
    left: 0.5rem;
    top: 0;
    bottom: 0;
    width: 2px;
    background: rgba(255, 188, 0, 0.2);
  }
}

.process-preview-card
{
  background: var(--card-bg-glass);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: var(--card-border);
  border-radius: var(--card-radius);
  padding: 2.2rem 1.8rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transition: all 0.4s var(--ease);
  position: relative;
  z-index: 1;
  height: 100%;
  box-shadow: var(--card-shadow);
}

.process-preview-card:hover
{
  border-color: var(--card-border-hover);
  background: var(--card-bg-strong);
  transform: translateY(var(--card-lift));
  box-shadow: var(--card-shadow-hover);
}

.process-preview__num
{
  font-family: var(--font-brand);
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--c-gold);
  line-height: 1;
}

.process-preview__title
{
  color: #F5F2EA;
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0;
}

.process-preview__text
{
  color: rgba(245, 242, 234, 0.68);
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 0;
}

.centered-actions
{
  display: flex;
  justify-content: center;
  margin-top: 4rem;
}
/* Responsiveness */@media (max-width: 1100px)
{
  .process-preview-grid
  {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
  }
}

@media (max-width: 640px)
{
  .process-preview-grid
  {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .process-preview-card
  {
    padding: 1.8rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
  }
}
/* -- PREMIUM FOOTER -------------------------------------------------------- */.footer-glass-container
{
  max-width: 1340px;
  width: calc(100% - 2rem);
  margin-inline: auto;
  background: rgba(255, 255, 255, 0.035);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 24px;
  padding: 56px 64px 28px;
  position: relative;
  overflow: hidden;
  margin-bottom: 2.5rem;
 /* Gap from the end of the page */
  ;
}

.footer-grid
{
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
  gap: 4rem;
}

@media (max-width: 1024px)
{
  .footer-grid
  {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.5rem 2rem;
  }
}

@media (max-width: 640px)
{
  .footer-grid
  {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .footer-col--contact
  {
    order: -1;
 /* Move contact to top on mobile for better UX */
    ;
  }
}

@media (max-width: 1024px)
{
  .footer-grid
  {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem 2rem;
  }
}
/* --- RESPONSIVE FIXES (FINAL OVERRIDES) --- */@media (max-width: 1024px)
{
  .site-header__inner
  {
    grid-template-columns: auto 1fr auto;
    padding: 0.4rem 1.2rem;
    min-height: 4.2rem;
  }

  .site-nav
  {
    position: fixed;
    top: 0;
    right: -100%;
    width: 85%;
    max-width: 380px;
    height: 100vh;
    background: rgba(15, 15, 15, 0.98);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    flex-direction: column;
    padding: 6rem 2.5rem 3rem;
    gap: 1.2rem;
    transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 2000;
    border-left: 1px solid rgba(255, 188, 0, 0.1);
    box-shadow: -10px 0 30px rgba(0,0,0,0.5);
    display: flex !important;
  }

  .site-header.nav-open .site-nav
  {
    right: 0;
  }

  .site-nav a
  {
    font-size: 1.1rem;
    padding: 0.8rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    width: 100%;
    border-radius: 0;
    display: flex;
    justify-content: space-between;
  }

  .site-nav a::after
  {
    content: '→';
    opacity: 0.5;
  }

  .site-nav a:hover,  .site-nav a.is-active
  {
    color: var(--c-gold);
    background: transparent;
    border-bottom-color: rgba(255, 188, 0, 0.2);
  }

  .site-nav-indicator
  {
    display: none;
  }

  .menu-toggle
  {
    display: flex !important;
    z-index: 2100;
  }

  .site-header__cta
  {
    display: none !important;
  }
}

@media (max-width: 768px)
{
  .section
  {
    padding-block: 4rem;
  }

  .container
  {
    padding-inline: 1.5rem;
  }
}

.footer-bottom
{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 32px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-col
{
  display: flex;
  flex-direction: column;
}

.footer-brand-text
{
  color: rgba(245, 242, 234, 0.65);
  font-size: 0.95rem;
  line-height: 1.5;
  margin-bottom: 2rem;
}

.footer-socials
{
  display: flex;
  gap: 12px;
}

.social-btn
{
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  color: rgba(245, 242, 234, 0.7);
  transition: all 0.3s var(--ease);
}

.social-btn:hover
{
  background: rgba(255, 188, 0, 0.15);
  border-color: var(--c-gold);
  color: var(--c-gold);
  transform: translateY(-3px);
}

.footer-title
{
  color: #F5F2EA;
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
}

.footer-links
{
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.footer-links a
{
  color: rgba(245, 242, 234, 0.6);
  font-size: 0.95rem;
  text-decoration: none;
  transition: color 0.3s var(--ease);
}

.footer-links a:hover
{
  color: var(--c-gold);
}

.footer-contact-list
{
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.contact-link
{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: rgba(245, 242, 234, 0.6);
  text-decoration: none;
  font-size: 0.95rem;
  line-height: 1.4;
  transition: color 0.3s var(--ease);
}

.contact-link svg
{
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--c-gold);
  opacity: 0.8;
}

.contact-link:hover
{
  color: #F5F2EA;
}

.footer-cta-wrapper
{
  margin-top: 2rem;
}

.footer-cta-btn
{
  width: 100%;
  display: inline-flex;
  justify-content: center;
  padding-block: 1rem;
}

.footer-bottom__left
{
  display: flex;
  align-items: center;
  gap: 1rem;
}

.footer-bottom__left p
{
  font-size: 0.85rem;
  color: rgba(245, 242, 234, 0.4);
  margin: 0;
}

.footer-location
{
  font-size: 0.85rem;
  color: rgba(245, 242, 234, 0.6);
  font-weight: 600;
}

.footer-legal-links
{
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 1.5rem;
}

.footer-legal-links a
{
  font-size: 0.85rem;
  color: rgba(245, 242, 234, 0.5);
  text-decoration: none;
  transition: color 0.3s var(--ease);
}

.footer-legal-links a:hover
{
  color: #F5F2EA;
}
/* Footer Responsiveness */@media (max-width: 1100px)
{
  .footer-glass-container
  {
    padding: 48px 40px 24px;
  }

  .footer-grid
  {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem 2rem;
  }
}

@media (max-width: 640px)
{
  .footer-glass-container
  {
    padding: 40px 24px 20px;
    border-radius: 20px;
  }

  .footer-grid
  {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    margin-bottom: 3rem;
  }

  .footer-bottom
  {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.2rem;
  }

  .footer-bottom__left
  {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
  }

  .footer-legal-links
  {
    flex-wrap: wrap;
    gap: 1rem;
  }
}
/* ==========================================================================   COMPREHENSIVE RESPONSIVE SYSTEM — Final Overrides   Breakpoints: 1200 / 1024 / 768 / 480 / 380   ========================================================================== *//* ── LAPTOP (≤1200px) ──────────────────────────────────────────────── */@media (max-width: 1200px)
{
  .section
  {
    padding-inline: clamp(1.2rem, 4vw, 3.5rem);
  }

  .trust-grid
  {
    grid-template-columns: repeat(3, 1fr);
  }

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

  .about-grid
  {
    gap: 1.25rem;
  }

  .about-card
  {
    padding: 2.5rem 2rem;
  }

  .faq-footer-cta
  {
    padding: 3rem 3rem;
    gap: 2.5rem;
  }
}
/* ── TABLET (≤1024px) ──────────────────────────────────────────────── */@media (max-width: 1024px)
{
  /* Header → hamburger */  .site-header__inner
  {
    grid-template-columns: auto 1fr auto;
    padding: 0.4rem 1.2rem;
    min-height: 4.2rem;
  }

  .site-nav
  {
    position: fixed;
    top: 0;
    right: -100%;
    width: 85%;
    max-width: 380px;
    height: 100vh;
    background: rgba(15, 15, 15, 0.98);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    flex-direction: column;
    padding: 6rem 2.5rem 3rem;
    gap: 1.2rem;
    transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 2000;
    border-left: 1px solid rgba(255, 188, 0, 0.1);
    box-shadow: -10px 0 30px rgba(0,0,0,0.5);
    display: flex;
    justify-content: flex-start;
  }

  .site-header.nav-open .site-nav
  {
    right: 0;
  }

  .site-nav a
  {
    font-size: 1.1rem;
    padding: 0.8rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    width: 100%;
    border-radius: 0;
    display: flex;
    justify-content: space-between;
    background: transparent;
    color: #f5f2ea;
  }

  .site-nav a::after
  {
    content: '→';
    opacity: 0.5;
  }

  .site-nav a.is-active,  .site-nav a:hover
  {
    color: var(--c-gold);
    border-bottom-color: rgba(255, 188, 0, 0.2);
  }

  .site-nav-indicator
  {
    display: none;
  }

  .menu-toggle
  {
    display: flex !important;
    z-index: 2100;
  }

  .site-header__cta
  {
    display: none;
  }  /* Trust grid 2-col on tablet */  .trust-grid
  {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }  /* Cinematic grid 2-col */  .cinematic-grid
  {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }  /* About grid still 2-col */  .about-grid
  {
    gap: 1.25rem;
  }

  .about-card
  {
    padding: 2rem 1.5rem;
  }  /* Coverage map under text */  .coverage-layout-top
  {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 2rem;
  }

  .coverage-map-wrapper
  {
    max-width: 100%;
    margin: 0 auto;
  }

  .coverage-map-decorative
  {
    max-width: 420px;
    margin: 0 auto;
  }

  .coverage-map-badge
  {
    align-items: center;
    text-align: center;
  }

  .coverage-base-block
  {
    justify-content: center;
  }  /* Coverage grid 2-col on tablet → 1-col on narrow tablet */  .coverage-grid
  {
    grid-template-columns: repeat(2, 1fr);
  }  /* Process 2x2 */  .process-preview-grid
  {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }  /* Quality gates 2x2 */  .quality-gates-grid
  {
    grid-template-columns: repeat(2, 1fr);
  }  /* Services accordion 1-col */  .services-accordion
  {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }  /* Footer 2-col */  .footer-grid
  {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem 2rem;
  }  /* FAQ */  .faq-footer-cta
  {
    flex-direction: column;
    text-align: center;
    padding: 2.5rem 2rem;
    gap: 2rem;
  }

  .faq-footer-cta__text h4
  {
    font-size: 1.35rem;
  }

  .faq-footer-cta__text p
  {
    font-size: 1rem;
  }

  .faq-footer-cta .btn
  {
    width: 100%;
  }
}
/* ── SMALL TABLET / LARGE MOBILE (≤768px) ─────────────────────────── */@media (max-width: 768px)
{
  /* Reduce section padding */  .section
  {
    width: calc(100% - 1.5rem);
    border-radius: 16px;
    margin-bottom: 1rem;
    padding-block: 3.5rem;
    padding-inline: clamp(1rem, 4vw, 2.5rem);
  }

  .scroller-section
  {
    width: calc(100% - 1.5rem);
    border-radius: 16px;
  }

  .container
  {
    padding-inline: 1rem;
  }  /* Trust grid 1-col */  .trust-grid
  {
    grid-template-columns: 1fr;
    gap: 1rem;
  }  /* About grid 1-col */  .about-grid
  {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .about-card
  {
    padding: 2rem 1.5rem;
  }

  .about-card__title
  {
    font-size: 1.25rem;
  }  /* Cinematic section auto-height */  .cinematic-section-unified.section
  {
    height: auto;
    padding-block: 3.5rem;
  }

  .cinematic-content
  {
    display: block;
    padding-block: 2rem;
  }

  .cinematic-video-wrapper
  {
    display: none;
  }

  .cinematic-grid
  {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-top: 2rem;
  }

  .cinematic-card
  {
    min-height: auto;
    padding: 18px;
  }  /* Services accordion */  .service-accordion__header
  {
    padding: 1.5rem;
    gap: 1rem;
  }

  .service-accordion__number
  {
    display: none;
  }

  .service-accordion__inner
  {
    padding: 0 1.5rem 1.5rem;
  }

  .service-accordion__title
  {
    font-size: 1.1rem;
  }

  .service-accordion__short
  {
    font-size: 0.85rem;
  }  /* Process grid 2x2 */  .process-preview-grid
  {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }  /* Quality gates 1-col */  .quality-gates-grid
  {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .quality-gate-card
  {
    padding: 1.5rem;
  }  /* Coverage */  .coverage-grid
  {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .coverage-card
  {
    padding: 1.8rem;
  }

  .coverage-map-decorative
  {
    max-width: 340px;
    padding: 24px;
  }  /* FAQ */  .faq-list
  {
    margin-top: 3rem;
  }

  .faq-header
  {
    padding: 1.2rem 1.5rem;
    gap: 1rem;
    min-height: auto;
  }

  .faq-question
  {
    font-size: 1rem;
  }

  .faq-content-inner
  {
    padding: 0 1.5rem 1.5rem 1.5rem;
  }

  .faq-content p
  {
    font-size: 0.95rem;
  }  /* Section headings */  .section-heading h2
  {
    font-size: clamp(1.5rem, 5vw, 2.2rem);
  }

  .stats-subtitle
  {
    font-size: 0.95rem;
  }  /* Footer */  .footer-glass-container
  {
    padding: 40px 24px 20px;
    width: calc(100% - 1.5rem);
    border-radius: 16px;
  }

  .footer-grid
  {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .footer-col--contact
  {
    order: -1;
  }

  .footer-bottom
  {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.2rem;
  }

  .footer-bottom__left
  {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
  }

  .footer-legal-links
  {
    flex-wrap: wrap;
    gap: 1rem;
  }  /* Partners marquee static grid */  .partners-marquee
  {
    width: calc(100% - 1.5rem);
    border-radius: 16px;
  }

  .partners-marquee__track
  {
    animation: none;
    display: flex;
    justify-content: center;
  }

  .partners-marquee__list[aria-hidden="true"]
  {
    display: none;
  }

  .partners-marquee__list
  {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem 1.5rem;
    padding-inline: 1.5rem;
    width: 100%;
    justify-items: center;
    animation: none;
  }

  .partners-marquee__item
  {
    min-width: auto;
    padding: 0;
  }

  .partners-marquee__item img
  {
    height: 28px;
    filter: grayscale(1) brightness(1.2);
  }  /* Section actions */  .section-actions .btn
  {
    width: 100%;
    justify-content: center;
  }

  .section-actions
  {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }  /* Hero scroller mobile */  .scroller-sticky
  {
    position: relative;
    top: 0.75rem;
    height: calc(100vh - 1.5rem);
    background: transparent;
    aspect-ratio: auto;
  }

  .scroller-section
  {
    height: 100vh;
    overflow: visible;
    margin-bottom: 1rem;
  }

  .scroller-video
  {
    display: none;
  }

  .scroller-fade
  {
    display: none;
  }

  .scroller-overlay
  {
    position: absolute;
    bottom: 12%;
    left: 0;
    right: 0;
    top: auto;
    transform: none;
    opacity: 1 !important;
    padding: 0 1.2rem;
  }

  .scroller-content
  {
    align-items: center;
    text-align: center;
    padding-top: 0;
  }

  .scroller-title
  {
    font-size: clamp(1.45rem, 7vw, 2.2rem);
    max-width: 100%;
  }

  .scroller-eyebrow
  {
    font-size: 0.78rem;
    letter-spacing: 0.12em;
  }  /* Actions row wrap */  .actions-row
  {
    flex-direction: column;
    gap: 0.6rem;
    width: 100%;
  }

  .actions-row .btn
  {
    width: 100%;
    justify-content: center;
  }
}
/* ── MOBILE (≤480px) ──────────────────────────────────────────────── */@media (max-width: 480px)
{
  .section
  {
    width: calc(100% - 1rem);
    padding-inline: 1rem;
    padding-block: 3rem;
    border-radius: 14px;
  }

  .scroller-section
  {
    width: calc(100% - 1rem);
    border-radius: 14px;
  }

  .container
  {
    padding-inline: 0.75rem;
  }  /* Cinematic 1-col */  .cinematic-grid
  {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }

  .cinematic-title
  {
    font-size: clamp(1.3rem, 6vw, 1.8rem);
  }

  .cinematic-subtitle
  {
    font-size: 0.9rem;
  }  /* Process 1-col timeline */  .process-preview-grid
  {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding-left: 1.5rem;
    position: relative;
  }

  .process-preview-grid::before
  {
    content: '';
    position: absolute;
    left: 0.5rem;
    top: 0;
    bottom: 0;
    width: 2px;
    background: rgba(255, 188, 0, 0.2);
  }

  .process-preview-card
  {
    padding: 1.5rem;
  }  /* Hide mobile map labels */  .hide-mobile
  {
    display: none !important;
  }  /* Coverage map */  .coverage-map-decorative
  {
    max-width: 100%;
    padding: 20px;
    border-radius: 20px;
  }

  .coverage-map-wrapper
  {
    max-width: 100%;
  }  /* Partners grid 2-col on mobile */  .partners-marquee__list
  {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem 1rem;
  }  /* About card */  .about-card
  {
    padding: 1.5rem 1.25rem;
    gap: 1.5rem;
  }

  .about-card__title
  {
    font-size: 1.15rem;
  }

  .about-card__text
  {
    font-size: 0.9rem;
  }  /* Contact buttons */  .contact-card__quick-actions
  {
    flex-direction: column;
    gap: 0.6rem;
  }

  .contact-btn
  {
    padding: 0.85rem 1rem;
    min-height: 44px;
  }  /* Service accordion */  .service-accordion__header
  {
    padding: 1.2rem 1rem;
    gap: 0.8rem;
  }

  .service-accordion__icon
  {
    display: none;
  }

  .service-accordion__title
  {
    font-size: 1rem;
  }

  .service-accordion__inner
  {
    padding: 0 1rem 1.2rem;
  }

  .service-accordion__expanded
  {
    font-size: 0.92rem;
  }

  .service-chip
  {
    font-size: 0.68rem;
    padding: 0.35rem 0.75rem;
  }  /* FAQ */  .faq-header
  {
    padding: 1rem 1.2rem;
    gap: 0.8rem;
  }

  .faq-number
  {
    font-size: 0.85rem;
    min-width: 1.8rem;
  }

  .faq-question
  {
    font-size: 0.92rem;
  }

  .faq-content-inner
  {
    padding: 0 1.2rem 1.2rem;
  }

  .faq-content p
  {
    font-size: 0.88rem;
  }  /* Footer */  .footer-glass-container
  {
    width: calc(100% - 1rem);
    padding: 32px 16px 16px;
    border-radius: 14px;
  }

  .footer-cta-btn
  {
    font-size: 0.82rem;
  }  /* Buttons */  .btn
  {
    font-size: 0.82rem;
    padding: 0 1.5rem;
    min-height: 44px;
  }

  .btn--primary
  {
    min-height: 48px;
  }  /* Section heading */  .section-heading h2
  {
    font-size: clamp(1.3rem, 5.5vw, 1.8rem);
  }

  .stats-subtitle
  {
    font-size: 0.88rem;
    margin-top: 1rem;
  }

  .eyebrow
  {
    font-size: 0.72rem;
  }  /* Coverage base block */  .coverage-base-block
  {
    flex-direction: column;
    gap: 6px !important;
  }  /* Gate/coverage chips smaller */  .gate-chip
  {
    font-size: 0.62rem;
    padding: 3px 8px;
  }

  .coverage-card__chips .gate-chip
  {
    font-size: 10px;
    padding: 4px 8px;
  }  /* Main content gap */  #main-content
  {
    gap: 0.75rem;
  }
}
/* ── NARROW MOBILE (≤380px) ──────────────────────────────────────── */@media (max-width: 380px)
{
  .section
  {
    width: calc(100% - 0.75rem);
    padding-inline: 0.75rem;
    padding-block: 2.5rem;
    border-radius: 12px;
  }

  .scroller-section
  {
    width: calc(100% - 0.75rem);
    border-radius: 12px;
  }

  .container
  {
    padding-inline: 0.5rem;
  }

  .scroller-title
  {
    font-size: clamp(1.2rem, 6.5vw, 1.7rem);
  }

  .section-heading h2
  {
    font-size: clamp(1.15rem, 5vw, 1.5rem);
  }

  .cinematic-title
  {
    font-size: clamp(1.1rem, 5.5vw, 1.5rem);
  }

  .about-card
  {
    padding: 1.25rem 1rem;
  }

  .service-accordion__title
  {
    font-size: 0.92rem;
  }

  .faq-question
  {
    font-size: 0.85rem;
  }

  .process-preview-card
  {
    padding: 1.25rem;
  }

  .quality-gate-card
  {
    padding: 1.25rem;
  }

  .coverage-card
  {
    padding: 1.25rem;
  }

  .footer-glass-container
  {
    width: calc(100% - 0.75rem);
    padding: 24px 12px 12px;
    border-radius: 12px;
  }

  .btn
  {
    font-size: 0.78rem;
    padding: 0 1.2rem;
  }  /* Partners grid 2-col */  .partners-marquee__list
  {
    gap: 1.5rem 0.8rem;
  }

  .partners-marquee
  {
    width: calc(100% - 0.75rem);
    border-radius: 12px;
  }

  #main-content
  {
    gap: 0.5rem;
  }
}
/* Mobile partners marquee: keep it moving instead of collapsing into a static logo grid. */@media (max-width: 768px)
{
  .partners-marquee
  {
    position: relative;
    width: calc(100% - 1.5rem);
    margin-inline: auto;
    overflow: hidden;
    padding-block: 1.65rem;
    border-radius: 16px;
  }

  .partners-marquee__track
  {
    display: flex;
    justify-content: flex-start;
    width: max-content;
  }

  .partners-marquee__list,  .partners-marquee__list[aria-hidden="true"]
  {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    width: auto;
    gap: 2.2rem;
    padding: 0 1.1rem;
    list-style: none;
    animation: partners-scroll 26s linear infinite;
  }

  .partners-marquee__item
  {
    min-width: 8.5rem;
    padding: 0.25rem 0.5rem;
  }

  .partners-marquee__item img
  {
    width: auto;
    max-width: 7.6rem;
    height: auto;
    max-height: 2.15rem;
    filter: grayscale(1) brightness(1.2) opacity(0.82);
  }
}

@media (max-width: 480px)
{
  .partners-marquee
  {
    width: calc(100% - 1rem);
    padding-block: 1.45rem;
  }

  .partners-marquee__list,  .partners-marquee__list[aria-hidden="true"]
  {
    gap: 1.7rem;
    padding: 0 0.85rem;
    animation-duration: 22s;
  }

  .partners-marquee__item
  {
    min-width: 7.2rem;
  }

  .partners-marquee__item img
  {
    max-width: 6.4rem;
    max-height: 1.9rem;
  }
}

@media (max-width: 380px)
{
  .partners-marquee
  {
    width: calc(100% - 0.75rem);
    border-radius: 12px;
  }

  .partners-marquee__list,  .partners-marquee__list[aria-hidden="true"]
  {
    gap: 1.35rem;
    padding: 0 0.7rem;
  }
}
/* Final home hero readability fallback.   Kept in styles.css so the hero still updates if the override layer is cached. */[data-page="home"] .scroller-sticky::before,[data-page="home"] .scroller-sticky::after
{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

[data-page="home"] .scroller-sticky::before
{
  z-index: 2;
  background: rgba(0, 0, 0, 0.42);
}

[data-page="home"] .scroller-sticky::after
{
  z-index: 3;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.58) 0%, rgba(0, 0, 0, 0.42) 34%, rgba(0, 0, 0, 0.14) 68%, rgba(0, 0, 0, 0.04) 100%),    linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.08) 48%, rgba(0, 0, 0, 0.22) 100%);
}

[data-page="home"] .scroller-motion-wrap
{
  max-width: min(100%, 64rem);
  margin-inline: auto;
  gap: clamp(1rem, 1.8vw, 1.35rem);
}

[data-page="home"] .scroller-eyebrow
{
  max-width: min(100%, 58rem);
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 0;
  color: var(--c-gold);
  line-height: 1.45;
  text-shadow: 0 3px 16px rgba(0, 0, 0, 0.5);
  text-wrap: balance;
}

[data-page="home"] .scroller-title
{
  max-width: min(100%, 15.5ch);
  margin-inline: auto;
  font-size: clamp(2.35rem, 5.35vw, 4.85rem);
  line-height: 0.98;
  letter-spacing: -0.025em;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.45), 0 2px 10px rgba(0, 0, 0, 0.52);
  text-wrap: balance;
}

[data-page="home"] .scroller-subtitle
{
  max-width: min(100%, 54rem);
  margin: 0 auto;
  color: rgba(245, 242, 234, 0.92);
  font-size: clamp(0.98rem, 1.35vw, 1.18rem);
  line-height: 1.55;
  font-weight: 500;
  text-align: center;
  text-shadow: 0 3px 18px rgba(0, 0, 0, 0.5), 0 1px 8px rgba(0, 0, 0, 0.42);
  text-wrap: balance;
}

@media (max-width: 1200px) and (min-width: 1025px)
{
  [data-page="home"] .scroller-motion-wrap
  {
    max-width: min(100%, 56rem);
  }

  [data-page="home"] .scroller-title
  {
    max-width: min(100%, 15.5ch);
    font-size: clamp(2.2rem, 5vw, 4.1rem);
  }

  [data-page="home"] .scroller-subtitle
  {
    max-width: min(100%, 48rem);
  }
}

@media (max-width: 768px)
{
  [data-page="home"] .scroller-motion-wrap
  {
    gap: 1.05rem;
    max-width: min(100%, 48rem);
  }

  [data-page="home"] .scroller-title
  {
    max-width: min(100%, 16ch);
    font-size: clamp(2rem, 5.6vw, 3.15rem);
    line-height: 1.02;
  }

  [data-page="home"] .scroller-subtitle
  {
    max-width: min(100%, 42rem);
    font-size: clamp(0.92rem, 2.2vw, 1.08rem);
    line-height: 1.55;
  }
}

@media (max-width: 640px)
{
  [data-page="home"] .scroller-motion-wrap
  {
    gap: 0.92rem;
    max-width: 22rem;
  }

  [data-page="home"] .scroller-title
  {
    max-width: 18.5ch;
    font-size: clamp(1.62rem, 7vw, 2rem);
    line-height: 1.04;
  }

  [data-page="home"] .scroller-subtitle
  {
    max-width: 21rem;
    font-size: 0.88rem;
    line-height: 1.48;
  }
}

@media (max-width: 480px)
{
  [data-page="home"] .scroller-title
  {
    max-width: 18.5ch;
    font-size: clamp(1.56rem, 7vw, 1.9rem);
    line-height: 1.04;
  }

  [data-page="home"] .scroller-subtitle
  {
    max-width: 21rem;
    font-size: 0.86rem;
    line-height: 1.48;
  }
}

@media (max-width: 380px)
{
  [data-page="home"] .scroller-motion-wrap
  {
    gap: 0.8rem;
    max-width: 20rem;
  }

  [data-page="home"] .scroller-title
  {
    max-width: 18.5ch;
    font-size: clamp(1.42rem, 6.8vw, 1.62rem);
    line-height: 1.05;
  }

  [data-page="home"] .scroller-subtitle
  {
    max-width: 19rem;
    font-size: 0.8rem;
    line-height: 1.45;
  }
}
/* ==========================================================================   CARD SYSTEM POLISH PASS 2: Focus-visible separation & hover unification   ========================================================================== *//* ---- Global focus handling for ALL card components ---- */.premium-card,.card,.service-pill,.tier-card,.case-proof-card,.object-chip,.process-list li,.contact-card,.about-company__content.card,.trust-card,.about-card,.cinematic-card,.quality-gate-card,.coverage-card,.process-preview-card,.svc-card,.svc-mini,.svc-step,.tech-card,.home-services-card,.service-card,.gestion-card,.tecnico-card,.espacio-card,.method-card,.work-control-card,.contact-channel-card,.contact-need-card,.contact-step-card,.contact-legal-card
{
  outline: none;
}

.premium-card:focus:not(:focus-visible),.card:focus:not(:focus-visible),.service-pill:focus:not(:focus-visible),.tier-card:focus:not(:focus-visible),.case-proof-card:focus:not(:focus-visible),.object-chip:focus:not(:focus-visible),.process-list li:focus:not(:focus-visible),.contact-card:focus:not(:focus-visible),.about-company__content.card:focus:not(:focus-visible),.trust-card:focus:not(:focus-visible),.about-card:focus:not(:focus-visible),.cinematic-card:focus:not(:focus-visible),.quality-gate-card:focus:not(:focus-visible),.coverage-card:focus:not(:focus-visible),.process-preview-card:focus:not(:focus-visible),.svc-card:focus:not(:focus-visible),.svc-mini:focus:not(:focus-visible),.svc-step:focus:not(:focus-visible),.tech-card:focus:not(:focus-visible),.home-services-card:focus:not(:focus-visible),.service-card:focus:not(:focus-visible),.gestion-card:focus:not(:focus-visible),.tecnico-card:focus:not(:focus-visible),.espacio-card:focus:not(:focus-visible),.method-card:focus:not(:focus-visible),.work-control-card:focus:not(:focus-visible),.contact-channel-card:focus:not(:focus-visible),.contact-need-card:focus:not(:focus-visible),.contact-step-card:focus:not(:focus-visible),.contact-legal-card:focus:not(:focus-visible)
{
  outline: none;
  box-shadow: none;
}

.premium-card:focus-visible,.card:focus-visible,.service-pill:focus-visible,.tier-card:focus-visible,.case-proof-card:focus-visible,.object-chip:focus-visible,.process-list li:focus-visible,.contact-card:focus-visible,.about-company__content.card:focus-visible,.trust-card:focus-visible,.about-card:focus-visible,.cinematic-card:focus-visible,.quality-gate-card:focus-visible,.coverage-card:focus-visible,.process-preview-card:focus-visible,.svc-card:focus-visible,.svc-mini:focus-visible,.svc-step:focus-visible,.tech-card:focus-visible,.home-services-card:focus-visible,.service-card:focus-visible,.gestion-card:focus-visible,.tecnico-card:focus-visible,.espacio-card:focus-visible,.method-card:focus-visible,.work-control-card:focus-visible,.contact-channel-card:focus-visible,.contact-need-card:focus-visible,.contact-step-card:focus-visible,.contact-legal-card:focus-visible
{
  outline: 2px solid rgba(255, 188, 0, 0.65);
  outline-offset: 3px;
  box-shadow: none;
}
/* Project card button focus (data-page=projects in blocks-overrides) */[data-page=projects] .project-card__button
{
  outline: none;
}

[data-page=projects] .project-card__button:focus:not(:focus-visible)
{
  outline: none;
  box-shadow: none;
}

[data-page=projects] .project-card__button:focus-visible
{
  outline: 2px solid rgba(255, 188, 0, 0.65);
  outline-offset: 3px;
}

.cookie-banner
{
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: var(--c-charcoal);
  border-top: 1px solid var(--c-border-2);
  transform: translateY(100%);
  opacity: 0;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
}
.cookie-banner.is-visible
{
  transform: translateY(0);
  opacity: 1;
}
.cookie-banner.is-hidden
{
  transform: translateY(100%);
  opacity: 0;
}
.cookie-banner__inner
{
  max-width: 1200px;
  margin: 0 auto;
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.cookie-banner__text p
{
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: var(--c-text-2);
}
.cookie-banner__link
{
  color: var(--c-gold);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.cookie-banner__link:hover
{
  color: var(--c-gold-hover);
}
.cookie-banner__actions
{
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
  flex-wrap: wrap;
}

.cookie-btn
{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  font-size: 0.8125rem;
  font-weight: 600;
  border-radius: var(--r-sm);
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  border: 1px solid transparent;
  font-family: inherit;
}
.cookie-btn--primary
{
  background: var(--c-gold);
  color: var(--c-obsidian);
  border-color: var(--c-gold);
}
.cookie-btn--primary:hover
{
  background: var(--c-gold-hover);
  border-color: var(--c-gold-hover);
}
.cookie-btn--outline
{
  background: transparent;
  color: var(--c-text-1);
  border-color: var(--c-border-3);
}
.cookie-btn--outline:hover
{
  border-color: var(--c-text-2);
  background: rgba(255, 255, 255, 0.04);
}
.cookie-btn--secondary
{
  background: transparent;
  color: var(--c-gold);
  border-color: transparent;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.cookie-btn--secondary:hover
{
  color: var(--c-gold-hover);
  text-decoration: underline;
}

.cookie-panel-overlay
{
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.cookie-panel-overlay.is-visible
{
  opacity: 1;
}
.cookie-panel
{
  background: var(--c-charcoal);
  border: 1px solid var(--c-border-2);
  border-radius: var(--r-md);
  max-width: 620px;
  width: calc(100% - 2rem);
  max-height: 85vh;
  overflow-y: auto;
  padding: 2rem;
  position: relative;
  transform: translateY(20px);
  transition: transform 0.3s ease;
}
.cookie-panel-overlay.is-visible .cookie-panel
{
  transform: translateY(0);
}
.cookie-panel__close
{
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: none;
  border: none;
  color: var(--c-text-2);
  font-size: 1.5rem;
  cursor: pointer;
  line-height: 1;
  padding: 0.25rem;
  transition: color 0.2s;
}
.cookie-panel__close:hover
{
  color: var(--c-text-1);
}
.cookie-panel__title
{
  font-family: var(--f-heading);
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
  color: var(--c-text-1);
}
.cookie-panel__desc
{
  font-size: 0.8125rem;
  color: var(--c-text-2);
  line-height: 1.55;
  margin: 0 0 1.5rem;
}
.cookie-panel__categories
{
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.cookie-category
{
  border: 1px solid var(--c-border-1);
  border-radius: var(--r-sm);
  padding: 1rem;
}
.cookie-category__header
{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.375rem;
}
.cookie-category__name
{
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--c-text-1);
  margin: 0;
}
.cookie-category__desc
{
  font-size: 0.75rem;
  color: var(--c-text-3);
  line-height: 1.5;
  margin: 0;
}

.cookie-switch
{
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  flex-shrink: 0;
}
.cookie-switch--disabled
{
  cursor: default;
}
.cookie-switch input
{
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.cookie-switch__label
{
  font-size: 0.6875rem;
  color: var(--c-text-3);
  white-space: nowrap;
}
.cookie-switch__track
{
  display: block;
  width: 36px;
  height: 20px;
  border-radius: 10px;
  background: var(--c-border-2);
  position: relative;
  transition: background 0.2s ease;
}
.cookie-switch__track::after
{
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--c-text-2);
  transition: transform 0.2s ease, background 0.2s ease;
}
.cookie-switch__track.is-on
{
  background: var(--c-gold);
}
.cookie-switch__track.is-on::after
{
  transform: translateX(16px);
  background: var(--c-obsidian);
}
.cookie-switch input:checked + .cookie-switch__track
{
  background: var(--c-gold);
}
.cookie-switch input:checked + .cookie-switch__track::after
{
  transform: translateX(16px);
  background: var(--c-obsidian);
}
.cookie-switch input:focus-visible + .cookie-switch__track
{
  outline: 2px solid var(--c-gold);
  outline-offset: 2px;
}

.cookie-panel__footer
{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.cookie-panel__actions
{
  display: flex;
  gap: 0.5rem;
}

.cookie-panel-open
{
  overflow: hidden;
}

@media (max-width: 768px)
{
  .cookie-banner__inner
  {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    padding: 1rem;
  }
  .cookie-banner__actions
  {
    flex-direction: column;
  }
  .cookie-btn
  {
    width: 100%;
    justify-content: center;
  }
  .cookie-btn--secondary
  {
    order: 3;
  }
  .cookie-panel
  {
    padding: 1.25rem;
  }
  .cookie-panel__footer
  {
    flex-direction: column;
    align-items: stretch;
  }
  .cookie-panel__actions
  {
    flex-direction: column;
  }
  .cookie-panel__actions .cookie-btn
  {
    width: 100%;
    justify-content: center;
  }
}

