/* V88 — INICIO solamente: header superior fijo, sin riel lateral, sin divisores de fondo
   y secciones con altura natural para evitar espacios blancos muertos. */
:root{--home-header-h:68px}

/* Header fijo, minimalista y ligero */
.home-top-header{
  position:fixed;z-index:5000;left:18px;right:18px;top:14px;height:var(--home-header-h);
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;
  padding:0 18px 0 16px;border:0;border-radius:16px;
  background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(18px) saturate(1.1);backdrop-filter:blur(18px) saturate(1.1);
  box-shadow:0 10px 34px rgba(0,0,0,.08);color:#000000;
}
.home-top-brand{display:flex;align-items:center;width:152px;height:40px;text-decoration:none;overflow:hidden}
.home-top-brand img{display:block;width:152px;height:auto;max-height:30px;object-fit:contain}
.home-top-nav{justify-self:center;display:flex;align-items:center;gap:clamp(18px,2.2vw,36px)}
.home-top-nav a,.home-top-contact,.home-top-menu{
  color:#000000;text-decoration:none;text-transform:uppercase;font:600 9px/1 Montserrat,Arial,sans-serif;letter-spacing:.12em;
}
.home-top-nav a{position:relative;padding:10px 0;white-space:nowrap}
.home-top-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:#b47f3a;transition:right .25s ease}
.home-top-nav a:hover::after{right:0}
.home-top-contact{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 16px;border-radius:999px;background:#000000;color:#fff;white-space:nowrap}
.home-top-contact:hover{background:#b47f3a}
.home-top-menu{display:none;appearance:none;border:0;background:transparent;padding:10px 0}

/* El inicio ya no reserva espacio para el riel lateral */
body.native-home-flow .side-rail,body.native-home-flow .mobile-header{display:none!important}
body.native-home-flow .horizontal-page{padding-left:0!important;padding-top:0!important;width:100%!important}
body.native-home-flow .horizontal-page>.panel,
body.native-home-flow .horizontal-page>.standard-panel,
body.native-home-flow .horizontal-page>.feature-panel,
body.native-home-flow .horizontal-page>.cta-panel,
body.native-home-flow .horizontal-page>.footer-panel,
body.native-home-flow .horizontal-page>.services-carousel-panel,
body.native-home-flow .horizontal-page>.chambers-spotlight-panel{
  width:100%!important;max-width:none!important;margin:0!important;border:0!important;border-right:0!important;border-bottom:0!important;
}

/* Quitar etiquetas-marco laterales y líneas estructurales de fondo */
body.native-home-flow .edge-label{display:none!important}
body.native-home-flow .feature-grid-clean{border-top:0!important;padding-top:12px!important}
body.native-home-flow .services-carousel-head{border-bottom:0!important}

/* Anclas compensadas por header fijo */
body.native-home-flow section[id],body.native-home-flow footer[id]{scroll-margin-top:calc(var(--home-header-h) + 28px)}

/* Secciones naturales: nada de 100vh cuando el contenido no lo necesita */
body.native-home-flow .horizontal-page>.chambers-spotlight-panel,
body.native-home-flow .horizontal-page>.feature-panel,
body.native-home-flow .horizontal-page>.about-panel,
body.native-home-flow .horizontal-page>.recognitions-panel,
body.native-home-flow .horizontal-page>.footer-panel{
  min-height:0!important;height:auto!important;
}

body.native-home-flow .chambers-spotlight-panel{padding:clamp(72px,7vw,112px) clamp(28px,6vw,96px)!important}
body.native-home-flow .chambers-spotlight{max-width:1320px!important;margin:0 auto!important}

body.native-home-flow .feature-panel{padding:clamp(70px,7vw,110px) clamp(28px,6vw,96px)!important}
body.native-home-flow .feature-shell{height:auto!important;max-width:1320px!important;display:block!important}
body.native-home-flow .feature-card-grid{height:auto!important;min-height:0!important;padding:0!important;gap:34px!important;align-content:initial!important}

body.native-home-flow .about-panel{padding:clamp(76px,7vw,118px) clamp(28px,6vw,96px)!important}
body.native-home-flow .about-panel .section-inner{width:min(1320px,100%)!important;height:auto!important;min-height:0!important}

/* La órbita conserva su experiencia; solo se integra mejor entre bloques */
body.native-home-flow .services-carousel-panel{min-height:920px!important;height:100vh!important;padding:clamp(66px,6vw,92px) clamp(28px,4.5vw,72px) clamp(48px,5vw,70px)!important}
body.native-home-flow .services-carousel-inner{height:100%!important;padding:0!important}

/* El video scrub sigue fijado, pero debajo del nuevo header */
body.native-home-flow .horizontal-page>.static-video-panel{width:100%!important}
body.native-home-flow .static-video-sticky{top:var(--home-header-h)!important;height:calc(100vh - var(--home-header-h))!important}

body.native-home-flow .recognitions-panel{padding:clamp(76px,7vw,118px) clamp(28px,6vw,96px)!important}
body.native-home-flow .recognitions-panel .section-inner{width:min(1320px,100%)!important;height:auto!important;min-height:0!important}

/* Hero editorial y CTA sí pueden respirar a pantalla completa porque tienen contenido visual */
body.native-home-flow .hero-panel{min-height:100vh!important;padding:clamp(78px,8vw,120px) clamp(28px,6vw,96px) clamp(72px,7vw,104px)!important}
body.native-home-flow .hero-panel .section-inner{width:min(1320px,100%)!important;min-height:0!important;height:auto!important}
body.native-home-flow .cta-panel{min-height:100vh!important}

body.native-home-flow .footer-panel{padding:clamp(72px,7vw,104px) clamp(28px,6vw,96px)!important}
body.native-home-flow .footer-inner{height:auto!important;min-height:0!important;gap:clamp(48px,7vw,92px)!important}

/* Eliminar cualquier línea de separación que haya quedado de reglas legacy */
body.native-home-flow .home-horizontal-scroll,
body.native-home-flow .home-horizontal-sticky,
body.native-home-flow .horizontal-page{background:#fff!important}

@media (max-width:1180px){
  .home-top-header{left:12px;right:12px;top:10px;grid-template-columns:auto 1fr auto;gap:14px}
  .home-top-nav{gap:16px}
  .home-top-nav a{font-size:8px;letter-spacing:.09em}
  .home-top-brand{width:132px}.home-top-brand img{width:132px}
}
@media (max-width:900px){
  :root{--home-header-h:58px}
  .home-top-header{left:10px;right:10px;top:8px;height:58px;border-radius:14px;padding:0 14px;grid-template-columns:1fr auto auto}
  .home-top-nav{display:none}
  .home-top-brand{width:124px}.home-top-brand img{width:124px}
  .home-top-contact{min-height:34px;padding:0 13px;font-size:8px}
  .home-top-menu{display:block;margin-left:2px}
  body.native-home-flow .horizontal-page{padding-top:0!important}
  body.native-home-flow .horizontal-page>.panel{width:100%!important}
  body.native-home-flow .services-carousel-panel{height:auto!important;min-height:780px!important;padding:76px 18px 48px!important}
  body.native-home-flow .static-video-sticky{top:var(--home-header-h)!important;height:calc(100svh - var(--home-header-h))!important}
  body.native-home-flow .chambers-spotlight-panel,
  body.native-home-flow .feature-panel,
  body.native-home-flow .about-panel,
  body.native-home-flow .recognitions-panel,
  body.native-home-flow .footer-panel{padding-left:24px!important;padding-right:24px!important}
}
@media (max-width:560px){
  .home-top-header{left:8px;right:8px;top:7px;padding:0 12px}
  .home-top-brand{width:112px}.home-top-brand img{width:112px}
  .home-top-contact{display:none}
  .home-top-header{grid-template-columns:1fr auto}
  body.native-home-flow .chambers-spotlight-panel,
  body.native-home-flow .feature-panel,
  body.native-home-flow .about-panel,
  body.native-home-flow .recognitions-panel,
  body.native-home-flow .footer-panel{padding-left:16px!important;padding-right:16px!important}
}

/* El drawer móvil debe abrir por encima del header fijo. */
body.native-home-flow .menu-backdrop{z-index:5200!important}
body.native-home-flow .menu-drawer{z-index:5201!important}


/* V101 — solo intercambio de posición: video CTA como hero y hero 3D antes del footer */
body.native-home-flow .hero-video-swap{
  position:relative!important;
  width:100%!important;
  height:100vh!important;
  min-height:100svh!important;
  margin:0!important;
  overflow:hidden!important;
  border:0!important;
  z-index:2;
}
body.native-home-flow .hero-video-swap>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
body.native-home-flow .hero-video-swap .swap-anchor{position:absolute;left:0;top:0;width:1px;height:1px;pointer-events:none}
body.native-home-flow .hero-bridge-bottom{z-index:3;margin:0!important;width:100%!important}
@media (max-width:1024px){
  body.native-home-flow .hero-video-swap{height:100svh!important;min-height:100svh!important}
}


/* V102 — header con navegación real a páginas existentes + logo del footer visible */
:root{--home-header-h:74px}
.home-top-header{
  height:var(--home-header-h) !important;
  grid-template-columns:auto 1fr auto !important;
  gap:28px !important;
  padding:0 18px 0 20px !important;
}
.home-top-brand{
  width:136px !important;
  height:54px !important;
  overflow:visible !important;
  flex:0 0 auto;
}
.home-top-brand img{
  display:block !important;
  width:auto !important;
  height:50px !important;
  max-width:136px !important;
  max-height:50px !important;
  object-fit:contain !important;
  object-position:left center !important;
}
.home-top-nav{
  justify-self:end !important;
  gap:clamp(22px,2.4vw,42px) !important;
}
.home-top-nav a{
  font-size:9px !important;
  letter-spacing:.13em !important;
}
.home-top-nav a.is-contact{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px !important;
  border-radius:999px;
  background:#000000;
  color:#fff !important;
}
.home-top-nav a.is-contact::after{display:none !important}
.home-top-nav a.is-contact:hover{background:#b47f3a}
.home-top-contact{display:none !important}
@media (max-width:1180px){
  .home-top-header{grid-template-columns:auto 1fr auto !important;gap:18px !important}
  .home-top-brand{width:118px !important;height:48px !important}
  .home-top-brand img{height:44px !important;max-width:118px !important;max-height:44px !important}
  .home-top-nav{gap:18px !important}
  .home-top-nav a{font-size:8px !important;letter-spacing:.1em !important}
}
@media (max-width:900px){
  :root{--home-header-h:60px}
  .home-top-header{height:60px !important;grid-template-columns:1fr auto !important;padding:0 14px !important}
  .home-top-brand{width:110px !important;height:46px !important}
  .home-top-brand img{height:42px !important;max-width:110px !important;max-height:42px !important}
  .home-top-nav{display:none !important}
  .home-top-menu{display:block !important}
}
@media (max-width:560px){
  .home-top-brand{width:100px !important}
  .home-top-brand img{height:38px !important;max-width:100px !important;max-height:38px !important}
}
