/* Experiencia V2. Capa aislada sobre V1. */
:root{
  --experience-title-left:clamp(1.5rem,4vw,5rem);
  --experience-title-top:clamp(6.4rem,11vh,7.5rem);
  --experience-title-size:clamp(2.6rem,4.2vw,4.5rem);
  --experience-green:#78d08b;
}

/* Respaldo visible mientras se prepara el carrusel de Inicio. */
.landing-cover{
  background-image:url('../galeria/PORTADA/01.png')!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}

.project-map__availability-alert{
  color:#78d08b!important;
  text-shadow:0 0 8px rgba(120,208,139,.9),0 0 22px rgba(120,208,139,.65)!important;
}

html{scroll-snap-type:none!important}
.cinematic-intro.timed-intro{height:200svh!important;min-height:1200px!important;overflow:visible!important}
.timed-intro .cinematic-intro__media{position:sticky!important;inset:auto!important;top:0!important;height:100svh!important}
.map-section{height:700svh!important;min-height:700svh!important}
.landing-cover,.map-scroll-step,.model-cover,.model-step--parcels,.model-step--options,
.model-step--typologies,.project-summary,.visit{scroll-snap-align:start;scroll-snap-stop:normal}

/* Una sola posición y escala para los títulos de capítulo. */
.project-map__environment-copy,.model-cover__heading,.parcel-map__intro,
.addons-configurator,.house-configurator,.economic-configurator,.visit__contact{
  --chapter-title-left:var(--experience-title-left);
  --chapter-title-top:var(--experience-title-top);
}
.project-map__environment-copy h3,.model-cover__heading h2,.parcel-map__intro h2,
.addons-configurator h2,.house-configurator h2,.economic-configurator h2,.visit__contact h2{
  font-size:var(--experience-title-size)!important;line-height:.92!important;
  letter-spacing:-.055em!important;font-weight:300!important;text-transform:uppercase!important;
}

/* Relatos centrados en la pantalla, no solamente dentro de su columna. */
.landing-cover__body{
  position:fixed!important;left:50%!important;top:50%!important;width:min(760px,54vw)!important;
  max-width:none!important;margin:0!important;padding:0!important;translate:-50% -50%!important;
  text-align:center!important;
}
.landing-cover__body p{text-align:center!important;text-shadow:0 2px 18px rgba(0,0,0,.82)}
.landing-cover__heading,.landing-cover__body{transition:opacity .42s ease,visibility .42s ease,transform .55s ease!important}
.landing-cover__body{opacity:0!important;visibility:hidden!important;transform:translateY(18px)!important;pointer-events:none!important}
.cinematic-intro.is-description-visible .landing-cover__heading{opacity:0!important;visibility:hidden!important;transform:translateY(-18px)!important;pointer-events:none!important}
.cinematic-intro.is-description-visible .landing-cover__body{opacity:1!important;visibility:visible!important;transform:translateY(0)!important}
.cinematic-intro.is-description-visible .landing-cover__slide.is-active{
  filter:brightness(.66) contrast(1.04) saturate(.92) blur(7px)!important;
}
.project-map__environment-copy p{
  position:fixed!important;left:50%!important;top:50%!important;width:min(720px,48vw)!important;
  max-width:none!important;margin:0!important;align-self:auto!important;translate:-50% -50%!important;
  text-align:center!important;text-shadow:0 2px 20px rgba(0,0,0,.88);
}

/* Cada relato posee una sola capa de fondo. El masterplan de Etapas deja de
   renderizarse en cuanto comienza Entorno y no queda oculto bajo la foto. */
.project-map[data-map-state="environment"]>.project-map__base,
.project-map[data-map-state="environment"]>.project-map__areas,
.project-map[data-map-state="environment"]>.project-map__details{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
}
.map-section:not(.is-connectivity-visible)>.map-explorer{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.map-section.is-connectivity-visible>.project-map{visibility:hidden!important;opacity:0!important;pointer-events:none!important}

/* Opcionales como barras: el contenido completo aparece al seleccionar. */
.model-step--options{padding-top:var(--experience-title-top)!important;padding-bottom:8.2rem!important}
.addons-configurator{display:flex!important;height:calc(100svh - var(--experience-title-top) - 8.2rem)!important;flex-direction:column!important}
.addons-configurator>.eyebrow,.house-configurator>.eyebrow{display:none!important}
.addons-configurator h2,.house-configurator h2{margin:0 0 .7rem!important}
.addon-cards{display:flex!important;min-height:0!important;flex:1!important;flex-direction:column!important;gap:.42rem!important}
.addon-card{
  display:grid!important;min-height:0!important;height:auto!important;padding:.58rem 1rem!important;flex:1 1 0!important;
  grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:1rem!important;
  overflow:hidden!important;background:rgba(4,10,9,.66)!important;cursor:pointer!important;
  transition:min-height .35s ease,background .25s ease,border-color .25s ease,transform .25s ease!important;
}
.addon-card>div{display:grid;min-width:0;grid-template-columns:minmax(12rem,.85fr) 7rem minmax(0,1.25fr);align-items:center;gap:1rem}
.addon-card h3,.addon-card strong,.addon-card small{margin:0!important}
.addon-card small{min-width:0;max-height:0;overflow:hidden;opacity:0;white-space:normal!important;font-size:.78rem!important;line-height:1.3!important;transition:max-height .3s ease,opacity .25s ease!important}
.addon-card>button{align-self:center!important;white-space:nowrap}
.addon-card:hover{transform:translateX(4px);border-color:rgba(255,255,255,.78)!important}
.addon-card.is-selected{flex:1.65 1 0!important;background:rgba(28,75,41,.78)!important;border-color:var(--experience-green)!important;box-shadow:inset 4px 0 0 var(--experience-green)}
.addon-card.is-selected small{max-height:4rem;opacity:1}

/* Casas como barras visuales. Sólo la elegida despliega la fotografía. */
.model-step--typologies{padding-top:var(--experience-title-top)!important;padding-bottom:8.2rem!important;background:#030504!important}
.house-configurator{display:flex!important;height:calc(100svh - var(--experience-title-top) - 8.2rem)!important;flex-direction:column!important}
.house-configurator__note{display:none!important}
.house-cards{display:flex!important;min-height:0!important;flex:1!important;flex-direction:column!important;gap:.45rem!important}
.house-choice{
  position:relative!important;display:grid!important;min-height:0!important;height:auto!important;
  grid-template-columns:0 minmax(0,1fr)!important;flex:.65 1 0!important;overflow:hidden!important;background:#07100e!important;
  cursor:pointer!important;transition:grid-template-columns .48s cubic-bezier(.2,.7,.2,1),background .25s ease,border-color .25s ease,transform .25s ease!important;
}
.house-choice>img,.house-choice__empty{grid-column:1;grid-row:1;width:100%!important;height:100%!important;min-width:0!important;object-fit:cover!important;opacity:0;transform:scale(1.035);transition:opacity .35s ease,transform .7s ease!important}
.house-choice__body{position:relative!important;inset:auto!important;grid-column:2;grid-row:1;display:flex!important;min-width:0!important;min-height:0!important;height:100%!important;padding:.8rem 1.1rem!important;flex-direction:column!important;justify-content:space-between!important;background:none!important}
.house-choice__actions{padding:0!important;background:none!important}
.house-choice:not(.house-choice--none) .house-choice__body{
  background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.06) 72%)!important;
}
.house-choice:hover{transform:translateX(4px);border-color:rgba(255,255,255,.8)!important}
.house-choice.is-selected{grid-template-columns:minmax(230px,38%) minmax(0,62%)!important;flex:2.2 1 0!important;background:rgba(28,75,41,.7)!important;border-color:var(--experience-green)!important;box-shadow:inset 4px 0 0 var(--experience-green)}
.house-choice.is-selected>img,.house-choice.is-selected>.house-choice__empty{opacity:1;transform:scale(1)}
.house-choice--none.is-selected{grid-template-columns:0 minmax(0,1fr)!important;flex:.85 1 0!important}

/* Barra estable. Se corrige solamente su tipografía y distribución interior. */
.addons-summary{
  height:108px!important;max-height:108px!important;padding:.62rem .9rem!important;
  grid-template-columns:minmax(0,1fr) 8.4rem 9.2rem!important;overflow:hidden!important;
}
.addons-summary .house-summary__breakdown{min-width:0!important;overflow:hidden!important}
.addons-summary .house-summary__breakdown{height:44px!important;align-self:center!important;align-items:stretch!important}
.addons-summary .summary-category{
  display:grid!important;height:44px!important;padding:0 .55rem!important;
  grid-template-rows:13px 25px!important;align-content:center!important;overflow:hidden!important;
}
.addons-summary .summary-category>small{margin:0!important;line-height:13px!important;white-space:nowrap!important}
.addons-summary .summary-category__content{
  display:flex!important;min-width:0!important;height:25px!important;max-height:25px!important;
  align-items:center!important;gap:.45rem!important;overflow:hidden!important;
}
.addons-summary .summary-category__content:only-child{line-height:25px!important}
.addons-summary .summary-category__line{
  display:grid!important;min-width:0!important;height:25px!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;
  line-height:1!important;white-space:nowrap!important;
}
.addons-summary .summary-category__line .house-summary__remove{grid-row:1!important;height:22px!important;line-height:22px!important}
.addons-summary .summary-category__line span,.addons-summary .summary-category__line b{line-height:1!important;white-space:nowrap!important}
.summary-category__line,.summary-category__line b,.addons-summary .house-summary__item b{
  font-size:.6rem!important;line-height:1.25!important;
}
.addons-summary .house-summary__item span{font-size:.6rem!important;line-height:1.25!important}
.addons-summary .house-summary__grand-total strong{transition:transform .22s ease,color .22s ease}
.addons-summary.is-updating .house-summary__grand-total strong{transform:scale(1.09);color:#176f32}

/* Lugares cercanos: mapa completo y ficha flotante sin caja. */
.map-section>.project-map,.map-section>.map-explorer{transition:none!important}
.map-section.is-connectivity-visible>.map-explorer{inset:0!important;width:100vw!important;height:100svh!important;background:#07100e!important}
.map-section.is-connectivity-visible .map-explorer__base--biotopia{display:none!important;opacity:0!important;animation:none!important}
.map-section.is-connectivity-visible .map-explorer__base--location{display:block!important;opacity:1!important;animation:none!important;transform:none!important}
.map-place-story{
  left:50%!important;right:auto!important;top:auto!important;bottom:5vh!important;
  display:flex!important;width:min(700px,54vw)!important;padding:0!important;flex-direction:column!important;
  align-items:center!important;gap:.55rem!important;background:transparent!important;backdrop-filter:none!important;
  translate:-50% 0!important;transform:none!important;text-align:center!important;
  text-shadow:0 2px 14px #000,0 0 24px rgba(0,0,0,.85)!important;
}
.map-place-story h3,.map-place-story__time,.map-place-story>p:last-child{
  grid-column:auto!important;grid-row:auto!important;margin:0!important;text-align:center!important;
}
.map-place-story h3{font-size:clamp(1.5rem,2.3vw,2.5rem)!important;font-weight:650!important;letter-spacing:.01em!important}
.map-place-story__time{font-size:clamp(.9rem,1.1vw,1.1rem)!important}
.map-place-story>p:last-child{max-width:640px!important;font-size:clamp(1rem,1.05vw,1.15rem)!important;line-height:1.45!important}

/* Continuidad visual y retroalimentación inmediata. */
.project-map__environment,.addons-gallery img{transition:opacity .7s ease,transform 4s ease!important}
.landing-cover__slide{
  animation:none!important;
  transform:scale(1.035) translate3d(0,0,0);
  transition:opacity 3.2s cubic-bezier(.4,0,.2,1)!important;
  backface-visibility:hidden!important;will-change:opacity,transform!important;
}
.landing-cover__slide.is-active{animation:landing-cover-zoom 10.5s ease-out forwards!important}
@keyframes landing-cover-zoom{
  from{transform:scale(1.035) translate3d(0,0,0)}
  to{transform:scale(1.09) translate3d(-.45%,-.35%,0)}
}
.parcel-map__areas polygon,.addon-card,.house-choice{will-change:transform}
.parcel-map__areas polygon.is-selected{animation:choice-confirm .42s ease}
@keyframes choice-confirm{0%{filter:brightness(1)}45%{filter:brightness(1.75)}100%{filter:brightness(1)}}

@media(max-width:800px){
  :root{--experience-title-left:.8rem;--experience-title-top:8.2rem;--experience-title-size:clamp(1.65rem,7.8vw,3.15rem)}
  .landing-cover__body{width:min(88vw,560px)!important}
  .landing-cover__body p{font-size:clamp(.82rem,3.4vw,1rem)!important;line-height:1.42!important}
  .project-map__environment-copy p{width:min(84vw,560px)!important;font-size:clamp(.84rem,3.5vw,1rem)!important}
  .model-step--options,.model-step--typologies{padding:var(--experience-title-top) .65rem 6.8rem!important}
  .addons-configurator,.house-configurator{height:calc(100svh - var(--experience-title-top) - 6.8rem)!important;padding-right:2.7rem!important}
  .addon-card{padding:.4rem .55rem!important;grid-template-columns:minmax(0,1fr) 4.8rem!important;gap:.35rem!important}
  .addon-card>div{grid-template-columns:minmax(0,1fr) 4.4rem!important;gap:.4rem!important}
  .addon-card small{font-size:.59rem!important}
  .addon-card h3{font-size:.66rem!important}.addon-card strong{font-size:.82rem!important}.addon-card>button{font-size:.51rem!important}
  .house-choice.is-selected{grid-template-columns:38% 62%!important}.house-choice--none.is-selected{grid-template-columns:24% 76%!important}
  .house-choice__body{padding:.48rem .62rem!important}.house-choice h3{font-size:.72rem!important}.house-choice strong{font-size:.59rem!important}.house-choice__actions button{font-size:.54rem!important}
  .addons-summary{height:94px!important;max-height:94px!important}
  .addons-summary .house-summary__breakdown{height:38px!important}
  .addons-summary .summary-category{height:38px!important;padding:0 .28rem!important;grid-template-rows:12px 22px!important}
  .addons-summary .summary-category>small{line-height:12px!important}
  .addons-summary .summary-category__content,.addons-summary .summary-category__line{height:22px!important;max-height:22px!important}
  .summary-category__line,.summary-category__line b,.addons-summary .house-summary__item b,.addons-summary .house-summary__item span{font-size:.51rem!important;line-height:1.1!important}
  .map-place-story{bottom:4.3rem!important;width:min(84vw,560px)!important}
  .map-place-story h3{font-size:1.3rem!important}.map-place-story__time{font-size:.82rem!important}.map-place-story>p:last-child{font-size:.84rem!important}
}

/* Paleta institucional tomada de los logos de referencia. */
:root{
  --brand-moss:#303427;
  --brand-cream:#f4f1e8;
  --ink:var(--brand-moss);
  --paper:var(--brand-cream);
}
body{background:var(--brand-cream);color:var(--brand-moss)}
.model-step--options,.model-step--typologies,.info-modal{background:var(--brand-moss)!important;color:var(--brand-cream)!important}
.project-summary,.visit,.addons-summary,.house-summary{background:var(--brand-cream)!important;color:var(--brand-moss)!important}
.topbar,.landing-cover,.map-section,.model-cover,.model-step,.side-index,
.mobile-contact-cluster,.whatsapp-float{color:var(--brand-cream)!important}
.side-index .side-index__main.is-active,
.project-map__details button,.model-cover__start{
  background:var(--brand-cream)!important;color:var(--brand-moss)!important;
}
.addons-summary>a,.house-summary>a,.economic-configurator .button,
.visit__contact form>button{
  background:var(--brand-moss)!important;color:var(--brand-cream)!important;
}
.brand--header img,.timed-intro__copy img,.about-intro__logo,.thank-you-screen img{
  filter:brightness(0) saturate(100%) invert(94%) sepia(10%) saturate(185%) hue-rotate(349deg) brightness(104%) contrast(91%)!important;
}
body.finance-active .brand--header img,body.visit-active .brand--header img{
  filter:brightness(0) saturate(100%) invert(19%) sepia(11%) saturate(704%) hue-rotate(34deg) brightness(91%) contrast(88%)!important;
}

/* Safari móvil: el video es decorativo y nunca debe mostrar controles nativos. */
.hero__video{pointer-events:none!important;-webkit-appearance:none!important}
.hero__video::-webkit-media-controls,
.hero__video::-webkit-media-controls-panel,
.hero__video::-webkit-media-controls-play-button,
.hero__video::-webkit-media-controls-overlay-play-button,
.hero__video::-webkit-media-controls-start-playback-button{
  display:none!important;opacity:0!important;-webkit-appearance:none!important;
}

/* Flujo controlado y cierre coherente con la introducción. */
html{scroll-behavior:auto!important;overscroll-behavior-y:none}
body.is-flow-transitioning{user-select:none}

/* Arquitectura por escenas. No existe desplazamiento físico entre secciones. */
html.flow-scenes,html.flow-scenes body{width:100%;height:100%;overflow:hidden!important;overscroll-behavior:none!important}
html.flow-scenes body{position:fixed!important;inset:0!important}
html.flow-scenes main{position:fixed!important;inset:0!important;width:100vw!important;height:100svh!important;overflow:hidden!important}
html.flow-scenes main>section{
  position:absolute!important;inset:0!important;z-index:0!important;display:block!important;
  width:100vw!important;height:100svh!important;min-height:100svh!important;margin:0!important;overflow:hidden!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translate3d(0,1.5%,0)!important;
  transition:opacity .46s cubic-bezier(.4,0,.2,1),transform .46s cubic-bezier(.4,0,.2,1),visibility 0s linear .46s!important;
}
html.flow-scenes main>section.is-flow-active{
  z-index:2!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  transform:translate3d(0,0,0)!important;transition-delay:0s!important;
}
html.flow-scenes #portada,html.flow-scenes #mapa{transform:none!important}
html.flow-scenes #mapa .project-map,html.flow-scenes #mapa .map-explorer{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important}
html.flow-scenes #mapa .map-scroll-sequence{display:none!important}
html.flow-scenes .addons-summary{z-index:30!important}
html.flow-scenes body:not(.parcel-cart-active):not(.options-cart-active):not(.houses-cart-active) .addons-summary{display:none!important}
html.flow-scenes .topbar,html.flow-scenes .side-index,html.flow-scenes .mobile-contact-cluster,html.flow-scenes .whatsapp-float{z-index:50!important}
html.flow-scenes body[data-flow-screen="spirit"] .landing-cover__heading{opacity:0!important;visibility:hidden!important}
html.flow-scenes body:not([data-flow-screen="spirit"]) .landing-cover__body{opacity:0!important;visibility:hidden!important}
html.flow-scenes body[data-flow-screen="spirit"] .landing-cover__veil{backdrop-filter:blur(7px)!important;background:rgba(0,8,6,.22)!important}
html.flow-scenes body[data-flow-screen="design"] .addons-summary{display:none!important}
html.flow-scenes .reveal{opacity:1!important;transform:none!important}
html.flow-scenes .landing-cover__continue{
  position:fixed!important;left:50vw!important;right:auto!important;bottom:2rem!important;
  display:flex!important;width:max-content!important;translate:-50% 0!important;
}
html.flow-scenes body[data-flow-screen="nearby"] #mapa .project-map__continue{display:none!important}
html.flow-scenes .timed-intro:not(.is-skipped) .timed-intro__skip{
  display:block!important;opacity:1!important;visibility:visible!important;
  pointer-events:auto!important;animation:none!important;
}

/* El índice refleja la escena real, sin depender del scroll físico (que permanece en cero). */
html.flow-scenes .side-index .side-index__main.is-active{color:inherit!important;background:transparent!important}
html.flow-scenes body[data-flow-screen="cover"] .side-index [data-index-section="portada"],
html.flow-scenes body:is([data-flow-screen="spirit"],[data-flow-screen="stages"],[data-flow-screen="environment"],[data-flow-screen="river"],[data-flow-screen="wetlands"],[data-flow-screen="flora"],[data-flow-screen="fauna"],[data-flow-screen="nearby"]) .side-index [data-index-section="mapa"],
html.flow-scenes body:is([data-flow-screen="design"],[data-flow-screen="parcels"],[data-flow-screen="options"],[data-flow-screen="houses"]) .side-index [data-index-section="proyecto"],
html.flow-scenes body[data-flow-screen="economics"] .side-index [data-index-section="financiamiento"],
html.flow-scenes body[data-flow-screen="contact"] .side-index [data-index-section="visitanos"]{
  color:#111!important;background:rgba(255,255,255,.96)!important;text-shadow:none!important;
}
html.flow-scenes body:is([data-flow-screen="economics"],[data-flow-screen="contact"]) .side-index .side-index__main.is-active{background:#111!important;color:#fff!important}

/* Disponibilidad coherente con el verde de selección del configurador. */
.landing-cover__availability em{color:#78d08b!important;text-shadow:0 0 8px rgba(120,208,139,.9),0 0 22px rgba(120,208,139,.65)!important}

/* Solo crece el contenido elegido; la franja conserva su altura. */
.addons-summary .summary-category__line,
.addons-summary .summary-category__line span,
.addons-summary .summary-category__line b,
.addons-summary .house-summary__item span,
.addons-summary .house-summary__item b{
  font-family:var(--text-font,"Century Gothic","Avenir Next",sans-serif)!important;
  font-size:var(--text-size,clamp(.875rem,1vw,1rem))!important;font-weight:300!important;
  letter-spacing:.01em!important;
}

@media(max-width:800px){
  html.flow-scenes .landing-cover__continue{left:50vw!important;bottom:1rem!important}
  html.flow-scenes main>section{height:100svh!important;min-height:100svh!important}
  html.flow-scenes .model-step--options,html.flow-scenes .model-step--typologies{padding-bottom:6.8rem!important}
  .addons-summary .summary-category__line,.addons-summary .summary-category__line span,
  .addons-summary .summary-category__line b,.addons-summary .house-summary__item span,
  .addons-summary .house-summary__item b{font-size:.84rem!important}
}
.thank-you-screen{
  background:linear-gradient(rgba(0,10,8,.38),rgba(0,10,8,.52)),url('../galeria/MAPA/06_FLORA.png') center/cover no-repeat!important;
}
.thank-you-screen>div{width:min(680px,86vw)!important;text-align:center!important}
.thank-you-screen p{font:300 clamp(1.15rem,2.2vw,2rem)/1.35 Manrope,sans-serif!important;letter-spacing:-.025em!important}
.thank-you-screen img{width:min(220px,45vw)!important;margin:2rem auto!important}
.visit__contact form>button:disabled{opacity:.62;cursor:wait}

@media(prefers-reduced-motion:reduce){
  .addon-card,.house-choice,.project-map__environment,.landing-cover__slide,.addons-gallery img{transition:none!important}
  .parcel-map__areas polygon.is-selected{animation:none!important}
}

/* Correcciones de flujo y composición — septiembre 2026. */
.landing-cover__body{position:fixed!important}
.project-map__environment-copy p{position:absolute!important}

/* El relato de Entorno a Fauna usa el viewport completo como referencia.
   Así el párrafo nunca hereda la caja pequeña del título ni lo invade. */
.project-map__environment-copy{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  translate:0!important;transform:none!important;pointer-events:none!important;
}
.project-map__environment-copy h3{
  position:absolute!important;left:var(--experience-title-left)!important;
  top:var(--experience-title-top)!important;margin:0!important;
}
.project-map__environment-copy p{
  left:50%!important;top:50%!important;width:min(720px,48vw)!important;
  translate:-50% -50%!important;text-align:center!important;
}

.model-cover__start{background:#050706!important;color:#fff!important;border-color:#050706!important;font-weight:700!important}
.model-cover__start:hover{background:#184c2a!important;border-color:#78d08b!important;color:#fff!important}
.model-cover__start.is-confirmed{background:#184c2a!important;border-color:#78d08b!important;color:#fff!important}
.landing-cover__heading h2{font-size:clamp(5.2rem,8.4vw,9rem)!important}
.model-cover__heading p{
  position:absolute!important;left:calc(50vw - var(--pad))!important;top:calc(50% - 3.4rem)!important;
  width:max-content!important;max-width:min(80vw,34rem)!important;margin:0!important;translate:-50% -50%!important;text-align:center!important;
}

/* La barra negra de parcela desaparece. Sus acciones viven en el total blanco. */
.model-step--parcels .project-cart{display:none!important}
.summary-parcel-actions{display:none!important}
body.parcel-cart-active .summary-parcel-actions.is-visible{display:flex!important;flex-direction:column!important;gap:.2rem!important}
body.parcel-cart-active .addons-summary{grid-template-columns:minmax(0,1fr) 9rem 8.4rem 9.2rem!important}
body.houses-cart-active .addons-summary{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
body.options-cart-active .addons-summary,
body.parcel-cart-active .addons-summary,
body.houses-cart-active .addons-summary{display:grid!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
body:not(.options-cart-active):not(.parcel-cart-active):not(.houses-cart-active) .addons-summary{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
}
body.parcel-cart-active .summary-parcel-actions{grid-column:2!important;grid-row:1/3!important;align-self:center!important}
body.parcel-cart-active .house-summary__grand-total{grid-column:3!important}
body.parcel-cart-active .addons-summary>a{grid-column:4!important}
.summary-parcel-actions button{min-width:0!important;padding:.3rem .45rem!important;border:1px solid #111!important;background:#fff!important;color:#111!important;font-size:.62rem!important;font-weight:700!important;text-transform:uppercase!important}

/* Dos puntos más, sin modificar la altura exterior de la barra. */
.addons-summary .summary-category__line,
.addons-summary .summary-category__line b,
.addons-summary .house-summary__item b,
.addons-summary .house-summary__item span{font-size:.72rem!important}
.addons-summary .summary-category>small,
.addons-summary .house-summary__grand-total small{font-size:.62rem!important}
.addons-summary>a{font-weight:700!important}

/* Opcionales usan únicamente su propia secuencia fotográfica. */
.model-step--options{background:#000!important}
.model-step--options .addons-gallery{display:none!important;opacity:0!important}
.model-step--options .addons-gallery img{object-fit:cover!important}

/* Las casas son imágenes completas; la información se concentra abajo. */
.house-cards{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:minmax(0,1fr) auto!important;gap:.65rem!important}
.house-choice{position:relative!important;display:block!important;min-height:0!important;overflow:hidden!important;background:#07100e!important}
.house-choice:not(.house-choice--none){grid-row:1!important}
.house-choice--none{grid-column:1/-1!important;grid-row:2!important;min-height:58px!important}
.house-choice>img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;opacity:1!important;transform:none!important;filter:brightness(.84)!important}
.house-choice__body{position:absolute!important;z-index:2!important;left:0!important;right:0!important;bottom:0!important;display:flex!important;height:auto!important;min-height:70px!important;padding:.7rem .9rem!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:1rem!important;background:rgba(3,8,7,.86)!important}
.house-choice--none .house-choice__body{position:relative!important;min-height:58px!important}
.house-choice__actions{display:flex!important;flex-shrink:0!important;gap:.75rem!important}
.house-choice__actions button{font-weight:700!important}
.house-choice h3{font-size:1.125rem!important}
.house-choice strong{font-size:calc(.805rem + 2px)!important}

/* Agenda: datos y consulta cotizada, sin horarios. */
.visit__layout{display:block!important}
.visit__contact form{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:1rem 1.5rem!important}
.visit__contact fieldset{grid-column:1!important}
.visit__quote-label{grid-column:2!important;grid-row:1!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:.45rem!important}
.visit__quote-label textarea{height:100%!important;min-height:190px!important;resize:none!important}
.visit__contact form>button{grid-column:1/-1!important;width:100%!important;font-weight:700!important}

@media(min-width:801px){
  .model-step--parcels .mobile-section-title{
    position:absolute!important;z-index:8!important;left:var(--experience-title-left)!important;top:var(--experience-title-top)!important;
    display:block!important;margin:0!important;color:#fff!important;font-size:var(--experience-title-size)!important;
    font-weight:300!important;line-height:.92!important;letter-spacing:-.055em!important;text-transform:uppercase!important;
  }
  /* En escritorio la ficha de lugares recupera una escala ligera. */
  .map-place-story h3{font-size:calc(clamp(1.5rem,2.3vw,2.5rem) - 2px)!important;font-weight:200!important}
  .map-place-story__time{font-size:calc(clamp(.9rem,1.1vw,1.1rem) - 2px)!important;font-weight:200!important}
  .map-place-story>p:last-child{font-size:calc(clamp(1rem,1.05vw,1.15rem) - 2px)!important;font-weight:200!important}
}

@media(max-width:800px){
  .landing-cover__heading h2{font-size:clamp(3.3rem,15.6vw,6.3rem)!important}
  .project-map__stage-label{transform-box:fill-box!important;transform-origin:center!important;transform:rotate(-90deg)!important}
  .map-section.is-connectivity-visible .map-explorer__base--location,
  .map-section.is-connectivity-visible .map-explorer__vectors{
    position:absolute!important;left:50%!important;top:50%!important;width:100svh!important;height:100vw!important;
    max-width:none!important;transform:translate(-50%,-50%) rotate(90deg)!important;transform-origin:center!important;
  }
  .model-cover__heading p{left:50%!important;top:calc(50% - 3.2rem)!important;max-width:84vw!important}
  /* El título queda arriba y el relato ocupa el centro real de la pantalla. */
  .project-map__environment-copy{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;translate:0!important}
  .project-map__environment-copy h3{position:absolute!important;left:1rem!important;right:1rem!important;top:var(--experience-title-top)!important;margin:0!important}
  .project-map__environment-copy p{left:50%!important;top:50%!important;width:min(84vw,560px)!important;translate:-50% -50%!important;text-align:center!important}
  .landing-cover__body{position:fixed!important;left:50%!important;top:50%!important;width:min(84vw,560px)!important;padding:0!important;translate:-50% -50%!important}

  /* Los rótulos SVG se muestran también en teléfonos reales. */
  .parcel-map__labels,.parcel-map__available-labels,.map-explorer__vectors .map-city-labels{display:block!important;visibility:visible!important;opacity:1!important}
  .parcel-map__available-labels text,.map-explorer__vectors .map-city-labels text{display:block!important;visibility:visible!important;opacity:1!important;font-weight:400!important}
  .parcel-map__available-labels text{font-size:10px!important;paint-order:stroke!important;stroke:rgba(0,0,0,.82)!important;stroke-width:2px!important}
  .map-explorer__vectors .map-city-labels text{font-size:11px!important;paint-order:stroke!important;stroke:rgba(0,0,0,.78)!important;stroke-width:2px!important}

  .addons-summary .summary-category__line,
  .addons-summary .summary-category__line b,
  .addons-summary .house-summary__item b,
  .addons-summary .house-summary__item span{font-size:.64rem!important}
  .addons-summary .summary-category>small{font-size:.56rem!important}
  .addons-summary{grid-template-columns:minmax(0,1fr) 7.2rem 7.4rem!important}
  body.parcel-cart-active .addons-summary{grid-template-columns:minmax(0,1fr) 6.5rem 7rem 6.8rem!important}

  .house-cards{grid-template-columns:1fr!important;grid-template-rows:minmax(0,1fr) minmax(0,1fr) 48px!important}
  .house-choice:not(.house-choice--none){grid-column:1!important;grid-row:auto!important}
  .house-choice--none{grid-column:1!important;grid-row:3!important;min-height:48px!important}
  .house-choice__body{min-height:58px!important;padding:.45rem .55rem!important}
  .house-choice h3{font-size:calc(.72rem + 2px)!important}
  .house-choice strong{font-size:calc(.59rem + 4px)!important}
  .house-choice--none .house-choice__body{min-height:48px!important}

  .visit__contact form{grid-template-columns:1fr!important;gap:.55rem!important}
  .visit__contact fieldset,.visit__quote-label{grid-column:1!important;grid-row:auto!important}
  .visit__quote-label textarea{min-height:92px!important}

  /* Barra fija de 94 px: título, tres selecciones, total y acción sin cruces. */
  .addons-summary{
    position:fixed!important;left:.45rem!important;right:.45rem!important;bottom:.4rem!important;
    width:auto!important;padding:1.35rem .45rem .38rem!important;
    grid-template-columns:minmax(0,1fr) 4.9rem 6.4rem!important;
    grid-template-rows:1fr!important;gap:.4rem!important;
  }
  .addons-summary>h3{
    position:absolute!important;left:.55rem!important;top:.35rem!important;margin:0!important;
    font-size:.68rem!important;line-height:1!important;
  }
  .addons-summary .house-summary__breakdown{
    display:grid!important;height:52px!important;grid-column:1!important;grid-row:1!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;overflow:hidden!important;
    transform:translateY(7px)!important;
  }
  .addons-summary .summary-category{
    height:52px!important;padding:0 .35rem!important;grid-template-rows:18px 30px!important;
    border-right:1px solid rgba(0,0,0,.18)!important;
  }
  .addons-summary .summary-category>small{font-size:.58rem!important;line-height:18px!important}
  .addons-summary .summary-category__content,
  .addons-summary .summary-category__line{height:30px!important;max-height:30px!important}
  .addons-summary .summary-category__line,
  .addons-summary .summary-category__line b,
  .addons-summary .house-summary__item span,
  .addons-summary .house-summary__item b{font-size:.63rem!important;line-height:1.15!important}
  .addons-summary .summary-category__line{
    display:grid!important;grid-template-columns:14px minmax(0,1fr)!important;
    grid-template-rows:15px 15px!important;align-items:center!important;gap:0 .2rem!important;
  }
  .addons-summary .summary-category__line .house-summary__remove{
    grid-column:1!important;grid-row:1/3!important;align-self:center!important;
  }
  .addons-summary .summary-category__line span{
    grid-column:2!important;grid-row:1!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  .addons-summary .summary-category__line b{
    grid-column:2!important;grid-row:2!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  .addons-summary .house-summary__grand-total{grid-column:2!important;grid-row:1!important;padding:0!important;align-self:center!important}
  .addons-summary .house-summary__grand-total small{font-size:.52rem!important}
  .addons-summary .house-summary__grand-total strong{font-size:.88rem!important;line-height:1.05!important}
  .addons-summary>a{grid-column:3!important;grid-row:1!important;font-size:.58rem!important}

  body.parcel-cart-active .addons-summary{
    grid-template-columns:minmax(0,1fr) 5.4rem 4.8rem 5.5rem!important;
  }
  body.houses-cart-active .addons-summary{display:grid!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  body.parcel-cart-active .summary-parcel-actions{grid-column:2!important;grid-row:1!important}
  body.parcel-cart-active .house-summary__grand-total{grid-column:3!important}
body.parcel-cart-active .addons-summary>a{grid-column:4!important}
}

/* Ajuste final de legibilidad: prevalece sin aumentar la franja. */
.addons-summary .summary-category__line,
.addons-summary .summary-category__line span,
.addons-summary .summary-category__line b,
.addons-summary .house-summary__item span,
.addons-summary .house-summary__item b{
  font-family:var(--text-font,"Century Gothic","Avenir Next",sans-serif)!important;
  font-size:var(--text-size,clamp(.875rem,1vw,1rem))!important;
  font-weight:300!important;letter-spacing:.01em!important;
}
@media(max-width:800px){
  .addons-summary .summary-category__line,.addons-summary .summary-category__line span,
  .addons-summary .summary-category__line b,.addons-summary .house-summary__item span,
  .addons-summary .house-summary__item b{font-size:.84rem!important}
}

/* Lugares cercanos: escala más liviana, coherente con los relatos de Entorno. */
@media(min-width:801px){
  .map-place-story h3{font-size:calc(clamp(1.5rem,2.3vw,2.5rem) - 4px)!important}
  .map-place-story>p:last-child{
    font-family:var(--text-font,"Century Gothic","Avenir Next",sans-serif)!important;
    font-size:var(--text-size,clamp(.875rem,1vw,1rem))!important;
    font-weight:300!important;line-height:1.55!important;letter-spacing:.01em!important;
  }
}

/* Cierre de paleta: debe prevalecer sobre las reglas históricas anteriores. */
html body{background:var(--brand-cream)!important;color:var(--brand-moss)!important}
.model-step--options,.model-step--typologies,.info-modal,
.mobile-contact-cluster,.whatsapp-float{background-color:var(--brand-moss)!important;color:var(--brand-cream)!important}
.project-summary,.visit,.addons-summary,.house-summary{background-color:var(--brand-cream)!important;color:var(--brand-moss)!important}
.topbar,.landing-cover,.map-section,.model-cover,.model-step,.side-index{color:var(--brand-cream)!important}
.side-index .side-index__main.is-active,.project-map__details button,
.project-cart__actions button,.model-cover__start{
  background:var(--brand-cream)!important;color:var(--brand-moss)!important;
}
.addons-summary>a,.house-summary>a,.economic-configurator .button,
.visit__contact form>button{
  background:var(--brand-moss)!important;color:var(--brand-cream)!important;
}
.parcel-map__available-labels,.parcel-map__available-labels text,
.project-map__stage-label,.map-explorer__vectors .map-city-labels text{fill:var(--brand-cream)!important}
.brand--header img,.timed-intro__copy img,.about-intro__logo,.thank-you-screen img{
  filter:brightness(0) saturate(100%) invert(94%) sepia(10%) saturate(185%) hue-rotate(349deg) brightness(104%) contrast(91%)!important;
}
body.finance-active .brand--header img,body.visit-active .brand--header img{
  filter:brightness(0) saturate(100%) invert(19%) sepia(11%) saturate(704%) hue-rotate(34deg) brightness(91%) contrast(88%)!important;
}

/* Lugares cercanos mantiene visible su ubicación dentro de Biotopia. */
html.flow-scenes body[data-flow-screen="nearby"] .side-index__group[data-index-group="mapa"] .side-index__submenu{
  max-height:22rem!important;padding-top:.65rem!important;padding-bottom:.45rem!important;
  opacity:1!important;pointer-events:auto!important;
}
html.flow-scenes body[data-flow-screen="nearby"] .side-index [data-project-topic="nearby"]{
  color:#fff!important;font-weight:700!important;opacity:1!important;
}
html.flow-scenes .side-index .side-index__submenu .is-active{
  color:#fff!important;font-weight:700!important;opacity:1!important;
}

/* Ajustes móviles finales: reproducción limpia, títulos alineados y rótulos SVG legibles. */
.hero__video::-webkit-media-controls,
.hero__video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none!important}

html.flow-scenes .model-step--typologies>.house-summary{display:none!important}

@media(max-width:800px){
  html.flow-scenes .model-step--options,
  html.flow-scenes .model-step--typologies{
    padding-top:var(--master-title-top,5.2rem)!important;
  }
  html.flow-scenes .addons-configurator,
  html.flow-scenes .house-configurator{
    height:calc(100svh - var(--master-title-top,5.2rem) - 6.8rem)!important;
  }
  .parcel-map__areas,.parcel-map__labels,.parcel-map__available-labels,
  .parcel-map__available-labels text{
    display:inline!important;visibility:visible!important;opacity:1!important;
  }
  .parcel-map__available-labels text{
    fill:#fff!important;font-size:16px!important;font-weight:700!important;
    paint-order:stroke!important;stroke:rgba(0,0,0,.9)!important;stroke-width:3px!important;
  }
  .addons-summary .house-summary__breakdown{
    grid-template-columns:1.25fr 1.35fr .8fr!important;
  }
  .addons-summary .summary-category{padding:0 .22rem!important}
  .addons-summary .summary-category__line,
  .addons-summary .summary-category__line span,
  .addons-summary .summary-category__line b{
    font-size:.78rem!important;white-space:normal!important;text-overflow:clip!important;
  }
}

@media(max-width:800px){
  .project-map__details{
    left:1rem!important;top:50%!important;width:min(76vw,430px)!important;
    align-items:flex-start!important;text-align:left!important;translate:0 -50%!important;
  }
  .project-map[data-map-state="stage1"] .project-map__details,
  .project-map[data-map-state="stage2"] .project-map__details{translate:0 -50%!important}
  .project-map__availability-alert{
    color:#78d08b!important;text-shadow:0 0 8px rgba(120,208,139,.9),0 0 22px rgba(120,208,139,.65)!important;
  }
  .parcel-map__areas,.parcel-map__labels,.parcel-map__available-labels,
  .map-explorer__vectors,.map-explorer__vectors .map-city-labels,
  .map-explorer__vectors .map-city-labels text{
    display:block!important;visibility:visible!important;opacity:1!important;
  }
  .parcel-map__available-labels,.parcel-map__available-labels text{
    display:block!important;visibility:visible!important;opacity:1!important;fill:#fff!important;
  }
  .parcel-map__available-labels text{font-size:16px!important;font-weight:700!important}
  .map-explorer__vectors .map-city-labels text{
    fill:#fff!important;font-size:15px!important;font-weight:500!important;
    paint-order:stroke!important;stroke:rgba(0,0,0,.9)!important;stroke-width:3px!important;
  }
}

/* Esta regla debe quedar última: Safari no renderiza correctamente grupos SVG como bloques. */
@media(max-width:800px){
  .parcel-map__areas,.parcel-map__labels,.parcel-map__available-labels,
  .parcel-map__available-labels text{
    display:inline!important;visibility:visible!important;opacity:1!important;
  }
  .parcel-map__available-labels text{
    fill:#fff!important;font-size:16px!important;font-weight:700!important;
    paint-order:stroke!important;stroke:rgba(0,0,0,.9)!important;stroke-width:3px!important;
  }
  html.flow-scenes .model-step--options,
  html.flow-scenes .model-step--typologies{
    padding-top:var(--master-title-top,5.2rem)!important;
  }
  html.flow-scenes .addons-configurator,
  html.flow-scenes .house-configurator{
    height:calc(100svh - var(--master-title-top,5.2rem) - 6.8rem)!important;
  }
  body.parcel-cart-active .summary-parcel-actions{display:none!important}
  body.parcel-cart-active .addons-summary,
  body.options-cart-active .addons-summary,
  body.houses-cart-active .addons-summary{
    grid-template-columns:minmax(0,1fr) 4.9rem 6.4rem!important;
  }
  body.parcel-cart-active .house-summary__grand-total{grid-column:2!important}
  body.parcel-cart-active .addons-summary>a{grid-column:3!important}
  .addons-summary .house-summary__breakdown{
    grid-template-columns:1.25fr 1.4fr .72fr!important;
  }
}

/* Correcciones finales de visibilidad y color. */
.timed-intro .cinematic-intro__media,.landing-cover,.map-section,
.map-section.is-connectivity-visible>.map-explorer,.model-cover,
.model-step--options,.model-step--typologies{background-color:var(--brand-moss)!important}
body:not(.finance-active):not(.visit-active) .topbar{
  background:linear-gradient(180deg,var(--brand-moss) 0%,rgba(48,52,39,.82) 58%,rgba(48,52,39,0) 100%)!important;
}
body.finance-active .topbar,body.visit-active .topbar{background:var(--brand-cream)!important}
.landing-cover:before{
  background:linear-gradient(180deg,transparent 0%,rgba(48,52,39,.55) 62%,var(--brand-moss) 100%)!important;
}
.map-section:after{background:linear-gradient(180deg,var(--brand-moss) 0%,rgba(48,52,39,.72) 38%,transparent 100%)!important}
.parcel-map__areas polygon{stroke:var(--brand-cream)!important;stroke-width:1.8px!important}

@media(max-width:800px){
  .parcel-map__areas,.map-explorer__vectors{
    display:block!important;visibility:visible!important;opacity:1!important;z-index:4!important;
  }
  .parcel-map__labels,.parcel-map__available-labels,
  .parcel-map__labels text,.parcel-map__available-labels text,
  .map-explorer__vectors .map-city-labels,
  .map-explorer__vectors .map-city-labels text{
    display:inline!important;visibility:visible!important;opacity:1!important;
  }
  .parcel-map__available-labels text,.map-explorer__vectors .map-city-labels text{
    fill:var(--brand-cream)!important;paint-order:stroke!important;
    stroke:rgba(48,52,39,.95)!important;stroke-width:3px!important;
  }
  .parcel-map__areas polygon{stroke-width:3px!important;opacity:.9!important}
  .addons-summary .summary-category__line{
    grid-template-rows:18px 18px!important;height:36px!important;max-height:36px!important;
  }
  .addons-summary .summary-category__line span,
  .addons-summary .summary-category__line b{
    font-size:.72rem!important;line-height:1.05!important;overflow:visible!important;
  }
}
