

/* Consolidado desde landing.css */
:root{--brand:#0f172a;--brand-soft:#0f172a1a;--ink:#07182f;--muted:#637086;--line:#e0e5ec;--paper:#fff;--accent:var(--brand)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:"Montserrat",sans-serif;background:#fff;color:var(--ink)}a{color:inherit}.wrap{width:min(1180px,calc(100% - 44px));margin:0 auto}.landing-shell{overflow:hidden}.landing-header{height:84px;background:#07182f;color:#fff;display:flex;align-items:center;position:relative;z-index:20}.landing-header__inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.landing-brand{display:flex;align-items:center;gap:12px;text-decoration:none}.landing-brand img{display:block;max-width:220px;height:54px;object-fit:contain}.landing-brand__mark{width:48px;height:48px;border:2px solid var(--brand);display:grid;place-items:center;font-size:22px;font-weight:800;color:#fff}.landing-nav{display:flex;align-items:center;gap:34px}.landing-nav a{font-size:14px;font-weight:700;text-decoration:none;color:#fff;padding:10px 0;border-bottom:2px solid transparent}.landing-nav a:hover{border-color:var(--brand)}
.hero{position:relative;min-height:560px;background:#06172e;color:#fff;overflow:hidden}.hero__visual{position:absolute;inset:0 0 0 50%;background-image:linear-gradient(90deg,rgba(6,23,46,.72),rgba(6,23,46,.08)),var(--landing-hero-image);background-position:center;background-size:cover;clip-path:polygon(13% 0,100% 0,100% 100%,0 100%)}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#06172e 0%,#06172e 51%,rgba(6,23,46,.15) 78%)}.hero__grid{position:relative;z-index:2;min-height:560px;display:grid;grid-template-columns:minmax(0,560px) 1fr;align-items:center}.hero__content{padding:72px 0}.hero__eyebrow,.section-heading__eyebrow{display:inline-block;color:var(--brand);font-size:14px;font-weight:800;letter-spacing:.02em}.hero__eyebrow::after,.section-heading__eyebrow::after{content:"";display:block;width:46px;height:2px;background:var(--brand);margin-top:12px}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.1rem,6vw,5.2rem);font-weight:500;line-height:1.02;margin:22px 0;color:#fff}.hero__lead{max-width:610px;font-size:17px;line-height:1.75;color:rgba(255,255,255,.84)}.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0}.landing-btn{min-height:50px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;border-radius:6px;font-size:14px;font-weight:800}.landing-btn--primary{background:var(--brand);color:#fff}.landing-btn--ghost{border:1px solid var(--brand);color:#fff;background:rgba(0,0,0,.12)}.hero__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:520px}.hero-stat{border:1px solid color-mix(in srgb,var(--brand) 76%,#fff 24%);padding:18px;text-align:center}.hero-stat strong{display:block;font-size:28px}.hero-stat span{font-size:13px;color:rgba(255,255,255,.78)}
.broker-profile-strip{background:#fff;border-bottom:1px solid var(--line);padding:28px 0}.broker-profile-strip__inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px}.broker-profile-strip__person,.broker-profile-strip__status{display:flex;align-items:center;gap:22px}.broker-profile-strip__person{border-right:1px solid color-mix(in srgb,var(--brand) 45%,transparent);padding-right:30px}.broker-profile-strip__person img,.broker-profile-strip__avatar{width:116px;height:116px;border-radius:50%;object-fit:cover;border:2px solid var(--brand);background:#fff;display:grid;place-items:center;font-size:42px;font-weight:800;color:var(--brand)}.broker-profile-strip h2,.broker-profile-strip strong{font-family:Georgia,"Times New Roman",serif;font-size:29px;font-weight:500}.broker-profile-strip p{margin-top:6px;color:var(--brand)}.broker-profile-strip__status>.material-symbols-outlined{width:74px;height:74px;border:1px solid var(--brand);border-radius:50%;display:grid;place-items:center;font-size:38px;color:var(--brand)}.broker-profile-strip__status p{font-family:Montserrat,sans-serif;color:var(--muted);font-size:14px}
.landing-section{padding:64px 0}.section-heading{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:30px}.section-heading h2{font-family:Georgia,"Times New Roman",serif;font-size:44px;font-weight:500;margin:12px 0}.section-heading>p{max-width:780px;color:var(--muted);line-height:1.65}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{background:#fff;border:1px solid var(--line);box-shadow:0 10px 28px rgba(7,24,47,.07);cursor:pointer}.card-img{height:260px;background-size:cover;background-position:center;position:relative}.card-chip{position:absolute;top:14px;left:14px;background:var(--brand);color:#fff;padding:7px 13px;border-radius:6px;font-size:12px;font-weight:800}.card-body{padding:20px}.card-title{font-family:Georgia,"Times New Roman",serif;font-size:20px;line-height:1.35}.card-price{color:var(--brand);font-size:22px;font-weight:800;margin:14px 0}.card-loc{color:var(--muted);font-size:14px}.card-specs{display:flex;gap:14px;border-top:1px solid var(--line);margin-top:18px;padding-top:14px;color:#39475b;font-size:13px}.servicios-section{background:#f7f8fa}.servicios-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.servicio-card{background:#fff;border:1px solid var(--line);padding:24px}.servicio-categoria{color:var(--brand);font-size:12px;font-weight:800;text-transform:uppercase}.servicio-card h3{font-family:Georgia,"Times New Roman",serif;font-size:23px;margin:8px 0}.servicio-desc,.servicio-note{color:var(--muted);line-height:1.6;font-size:14px}.servicio-contactos{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.btn-contacto{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;background:var(--brand);color:#fff;text-decoration:none;font-size:13px;font-weight:700}.contact-section{background:linear-gradient(90deg,#f3f1ec 0 42%,#fff 42%);padding:0}.contact-section__grid{display:grid;grid-template-columns:42% 58%;min-height:470px}.contact-section__intro{background:#07182f;color:#fff;margin:34px 0;padding:52px 44px;align-self:center}.contact-section__intro h2{font-family:Georgia,"Times New Roman",serif;font-size:38px;margin:20px 0}.contact-section__intro .muted{color:rgba(255,255,255,.8);line-height:1.7}.contact-card{padding:50px 0 50px 54px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}.contact input,.contact textarea{width:100%;border:1px solid #d7dde5;padding:13px 14px;font:inherit;font-size:14px;background:#fff}.contact textarea{min-height:135px;resize:vertical}.contact__full{grid-column:1/-1}.contact .btn{border:0;background:var(--brand);color:#fff;padding:14px 24px;font-weight:800;cursor:pointer}.contact-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.contact-pills a{color:#fff;text-decoration:none;font-size:13px;border:1px solid rgba(255,255,255,.25);padding:8px 10px}footer{background:#06172e;color:#fff;padding:28px 0 0}.footer__grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px}.footer__links,.footer__socials{display:flex;flex-direction:column;gap:9px}.footer__links a,.footer__socials a{color:#fff}.footer__powered{border-top:1px solid rgba(255,255,255,.12);margin-top:22px;padding:16px 0;text-align:right}.footer__powered a{color:var(--brand);font-weight:700}.shadowbox{display:none}.shadowbox.open{display:flex;position:fixed;inset:0;z-index:99;align-items:center;justify-content:center}.shadowbox__overlay{position:absolute;inset:0;background:rgba(0,0,0,.72)}.shadowbox__content{position:relative;background:#fff;width:min(980px,92vw);max-height:88vh;overflow:auto;padding:28px;z-index:1}.shadowbox__close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:30px}.shadowbox__body{display:grid;grid-template-columns:1fr 1fr;gap:24px}.sb-main{min-height:360px;background-size:cover;background-position:center}.sb-thumbs{display:flex;gap:8px;margin-top:10px}.sb-thumb{width:64px;height:52px;border:1px solid var(--line);padding:0}.sb-thumb img{width:100%;height:100%;object-fit:cover}.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:30;background:#25d366;color:#fff;text-decoration:none;display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:999px;font-weight:800}.floating-whatsapp__icon{width:22px;height:22px}.floating-whatsapp svg{width:100%;height:100%}
@media(max-width:900px){.landing-nav{gap:16px}.hero__visual{inset:0;clip-path:none;opacity:.35}.hero::before{background:rgba(6,23,46,.72)}.hero__grid{grid-template-columns:1fr}.broker-profile-strip__inner{grid-template-columns:1fr}.broker-profile-strip__person{border-right:0;border-bottom:1px solid var(--line);padding:0 0 24px}.grid,.servicios-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-section{background:#fff}.contact-section__grid{grid-template-columns:1fr}.contact-card{padding:30px 0}.footer__grid{grid-template-columns:1fr}}
@media(max-width:640px){.wrap{width:min(100% - 28px,1180px)}.landing-header{height:auto;padding:14px 0}.landing-header__inner{align-items:flex-start}.landing-brand img{max-width:160px;height:46px}.landing-nav{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}.landing-nav a{font-size:12px}.hero,.hero__grid{min-height:590px}.hero__content{padding:58px 0}.hero__stats{grid-template-columns:1fr 1fr 1fr}.hero-stat{padding:12px 6px}.hero-stat strong{font-size:23px}.hero-stat span{font-size:11px}.broker-profile-strip__person img,.broker-profile-strip__avatar{width:86px;height:86px}.broker-profile-strip h2,.broker-profile-strip strong{font-size:24px}.grid,.servicios-grid{grid-template-columns:1fr}.card-img{height:230px}.contact{grid-template-columns:1fr}.contact__full{grid-column:auto}.contact-section__intro{margin:20px 0;padding:32px 24px}.shadowbox__body{grid-template-columns:1fr}}

/* 1.0.79 — detalle lateral y firma visible */
html.landing-drawer-open,body.landing-drawer-open{overflow:hidden}
.landing-shell a,.landing-shell a:hover,.landing-shell a:focus{text-decoration:none!important}
.shadowbox{display:block;position:fixed;inset:0;z-index:120;visibility:hidden;pointer-events:none}
.shadowbox.open{display:block;visibility:visible;pointer-events:auto}
.shadowbox__overlay{position:absolute;inset:0;border:0;background:rgba(2,12,27,.58);opacity:0;transition:opacity .28s ease;cursor:default}
.shadowbox.open .shadowbox__overlay{opacity:1}
.shadowbox__content{position:absolute;top:0;right:0;width:min(50vw,760px);height:100dvh;max-height:none;overflow:auto;background:#fff;padding:0;box-shadow:-22px 0 60px rgba(2,12,27,.22);transform:translateX(104%);transition:transform .34s cubic-bezier(.22,.8,.24,1);z-index:1}
.shadowbox.open .shadowbox__content{transform:translateX(0)}
.shadowbox__toolbar{position:sticky;top:0;z-index:6;min-height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #e5e7eb;color:#0f172a;font-weight:700}
.shadowbox__close{position:static;width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:50%;background:#f1f5f9;color:#0f172a;cursor:pointer}
.shadowbox__close:hover{background:#e2e8f0}
.shadowbox__body{display:flex;flex-direction:column;gap:26px;padding:28px}
.shadowbox__gallery{order:-1}.sb-main{min-height:360px;border-radius:14px;background-size:cover;background-position:center;background-color:#e5e7eb}
.sb-thumbs{display:flex;gap:9px;overflow-x:auto;padding:10px 1px 3px}.sb-thumb{flex:0 0 74px;width:74px;height:58px;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#fff;padding:0;cursor:pointer}.sb-thumb.active{border-color:var(--brand)}
.shadowbox__info h3{font-size:clamp(26px,3vw,42px);line-height:1.08;margin:0 0 10px}.shadowbox__info .muted{color:#64748b}.sb-price{font-size:28px;font-weight:800;color:var(--brand);margin:14px 0}.sb-badge{display:inline-flex;padding:7px 11px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:13px;font-weight:700;margin-bottom:12px}.shadowbox__info #sbDesc{line-height:1.7;color:#334155}.feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0;margin:22px 0 0;list-style:none}.feature-list li{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid #e5e7eb;border-radius:10px}.feature-list li::marker{content:''}.feature-list strong,.feature-list em{display:block}.feature-list em{font-style:normal;font-size:12px;color:#64748b;margin-top:2px}
.footer__powered{display:flex;justify-content:flex-end;align-items:center}.footer__powered a{display:inline-flex;color:#fff!important;opacity:.88;font-weight:700;border:1px solid rgba(255,255,255,.18);padding:9px 13px;border-radius:8px}.footer__powered a:hover{opacity:1;border-color:var(--brand);color:var(--brand)!important}
@media(max-width:900px){.shadowbox__content{width:100vw}.shadowbox__body{padding:20px}.sb-main{min-height:300px}}
@media(max-width:560px){.shadowbox__toolbar{min-height:60px;padding:0 16px}.shadowbox__body{padding:16px}.sb-main{min-height:240px;border-radius:10px}.feature-list{grid-template-columns:1fr}.shadowbox__info h3{font-size:28px}.footer__powered{justify-content:flex-start}}


/* Consolidado desde landing-hotfix-1097.css */
/* CasaInversión 1.0.97 — refinamiento de landings de corredoras */
.landing-shell a { text-decoration: none !important; }
.landing-shell .hero h1,
.landing-shell .broker-profile h2,
.landing-shell footer strong:first-child,
.landing-shell .footer__grid > div:first-child > strong {
  text-transform: capitalize !important;
}

/* Canales de contacto alineados y modernos. */
.contact-section__intro .contact-pills {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 26px !important;
}
.contact-section__intro .contact-pills a {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  min-height: 52px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.07) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
.contact-section__intro .contact-pills a:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(255,255,255,.38) !important;
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
}
.contact-section__intro .contact-pills .material-symbols-outlined {
  display: grid !important;
  place-items: center !important;
  flex: 0 0 30px !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 7px !important;
  background: rgba(255,255,255,.12) !important;
  font-size: 19px !important;
}

/* Footer ordenado y sello centrado. */
.landing-shell footer .footer__grid {
  align-items: start !important;
  gap: 34px !important;
}
.landing-shell footer .footer__links {
  display: grid !important;
  gap: 12px !important;
}
.landing-shell footer .footer__links > div,
.landing-shell footer .footer__socials a {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  min-height: 38px !important;
  color: rgba(255,255,255,.86) !important;
  font-size: 14px !important;
}
.landing-shell footer .footer__links .material-symbols-outlined,
.landing-shell footer .footer__socials .material-symbols-outlined {
  font-size: 20px !important;
  color: var(--brand) !important;
}
.landing-shell footer .footer__powered {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 22px 0 !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  text-align: center !important;
}
.landing-shell footer .footer__powered a,
.landing-shell footer .footer__powered a:hover,
.landing-shell footer .footer__powered a:focus-visible {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(255,255,255,.72) !important;
  box-shadow: none !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  transform: none !important;
}

@media (max-width: 760px) {
  .contact-section__intro .contact-pills { grid-template-columns: 1fr !important; }
  .landing-shell footer .footer__grid { grid-template-columns: 1fr !important; }
}


/* Consolidado desde landing-hotfix-1098.css */
/* CasaInversión 1.0.97 — refinamiento de landings de corredoras */
.landing-shell a { text-decoration: none !important; }
.landing-shell .hero h1,
.landing-shell .broker-profile h2,
.landing-shell footer strong:first-child,
.landing-shell .footer__grid > div:first-child > strong {
  text-transform: capitalize !important;
}

/* Canales de contacto alineados y modernos. */
.contact-section__intro .contact-pills {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 26px !important;
}
.contact-section__intro .contact-pills a {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  min-height: 52px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.07) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
.contact-section__intro .contact-pills a:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(255,255,255,.38) !important;
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
}
.contact-section__intro .contact-pills .material-symbols-outlined {
  display: grid !important;
  place-items: center !important;
  flex: 0 0 30px !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 7px !important;
  background: rgba(255,255,255,.12) !important;
  font-size: 19px !important;
}

/* Footer ordenado y sello centrado. */
.landing-shell footer .footer__grid {
  align-items: start !important;
  gap: 34px !important;
}
.landing-shell footer .footer__links {
  display: grid !important;
  gap: 12px !important;
}
.landing-shell footer .footer__links > div,
.landing-shell footer .footer__socials a {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  min-height: 38px !important;
  color: rgba(255,255,255,.86) !important;
  font-size: 14px !important;
}
.landing-shell footer .footer__links .material-symbols-outlined,
.landing-shell footer .footer__socials .material-symbols-outlined {
  font-size: 20px !important;
  color: var(--brand) !important;
}
.landing-shell footer .footer__powered {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 22px 0 !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  text-align: center !important;
}
.landing-shell footer .footer__powered a,
.landing-shell footer .footer__powered a:hover,
.landing-shell footer .footer__powered a:focus-visible {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(255,255,255,.72) !important;
  box-shadow: none !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  transform: none !important;
}

@media (max-width: 760px) {
  .contact-section__intro .contact-pills { grid-template-columns: 1fr !important; }
  .landing-shell footer .footer__grid { grid-template-columns: 1fr !important; }
}

/* CasaInversión 1.0.98 — detalle de propiedad como drawer izquierdo */
body.landing-drawer-open {
  overflow: hidden !important;
}

.landing-shell .shadowbox {
  display: block !important;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transition: opacity .24s ease, visibility 0s linear .24s;
}

.landing-shell .shadowbox.open {
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
  transition-delay: 0s;
}

.landing-shell .shadowbox__overlay {
  background: rgba(15, 23, 42, .48) !important;
  backdrop-filter: blur(4px) !important;
  opacity: 0;
  transition: opacity .24s ease;
}

.landing-shell .shadowbox.open .shadowbox__overlay {
  opacity: 1;
}

.landing-shell .shadowbox__content {
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: min(50vw, 760px) !important;
  height: 100dvh !important;
  max-height: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: 18px 0 48px rgba(15, 23, 42, .22) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  transform: translateX(-102%);
  transition: transform .32s cubic-bezier(.22,.8,.24,1);
  overscroll-behavior: contain;
}

.landing-shell .shadowbox.open .shadowbox__content {
  transform: translateX(0);
}

.landing-shell .shadowbox__close {
  top: 18px !important;
  right: 18px !important;
  z-index: 5 !important;
  width: 42px !important;
  height: 42px !important;
  border: 1px solid #dbe3ee !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.96) !important;
  color: #0f172a !important;
  box-shadow: 0 8px 20px rgba(15,23,42,.1) !important;
}

.landing-shell .shadowbox__body {
  display: flex !important;
  flex-direction: column !important;
  gap: 26px !important;
  min-height: 100%;
  padding: 74px 28px 36px !important;
}

.landing-shell .shadowbox__gallery {
  order: -1;
}

.landing-shell .sb-main {
  border-radius: 12px !important;
}

.landing-shell .sb-thumb {
  border-radius: 8px !important;
}

.landing-shell .sb-thumb img {
  border-radius: 6px !important;
}

@media (max-width: 900px) {
  .landing-shell .shadowbox__content {
    width: 100vw !important;
  }
  .landing-shell .shadowbox__body {
    padding: 68px 18px 28px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .landing-shell .shadowbox,
  .landing-shell .shadowbox__overlay,
  .landing-shell .shadowbox__content {
    transition: none !important;
  }
}


/* Consolidado desde landing-hotfix-1099.css */
/* CasaInversión 1.0.99 — landing moderna, compacta y legible */
.landing-shell {
  --landing-navy: #071b36;
  --landing-ink: #10213a;
  --landing-muted: #64748b;
  --landing-line: #dde5ef;
  background: #fff;
}
.landing-shell a { text-decoration: none !important; }
.landing-shell .wrap { width: min(1180px, calc(100% - 40px)) !important; }

/* Hero */
.landing-shell .hero {
  padding: clamp(56px, 7vw, 88px) 0 !important;
  background:
    radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--brand) 24%, transparent), transparent 34%),
    linear-gradient(120deg, #06172f 0%, #0a2444 64%, #0d2b50 100%) !important;
}
.landing-shell .hero__grid {
  grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr) !important;
  align-items: center !important;
  gap: clamp(42px, 6vw, 80px) !important;
}
.landing-shell .hero__content { max-width: 680px !important; }
.landing-shell .hero__eyebrow {
  display: inline-block !important;
  margin-bottom: 14px !important;
  padding-left: 18px !important;
  border-left: 3px solid var(--brand) !important;
  color: color-mix(in srgb, var(--brand) 70%, white) !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}
.landing-shell .hero h1 {
  margin: 0 0 20px !important;
  color: #fff !important;
  font-size: clamp(44px, 6vw, 76px) !important;
  line-height: .98 !important;
  letter-spacing: -.05em !important;
  text-transform: capitalize !important;
}
.landing-shell .hero__lead {
  max-width: 650px !important;
  margin: 0 0 28px !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}
.landing-shell .hero__actions { gap: 12px !important; }
.landing-shell .landing-btn {
  min-height: 48px !important;
  padding: 0 18px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  box-shadow: none !important;
}
.landing-shell .hero__stats {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 30px !important;
}
.landing-shell .hero-stat {
  min-height: 82px !important;
  padding: 16px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.045) !important;
  box-shadow: none !important;
}
.landing-shell .hero-stat strong { font-size: 25px !important; }
.landing-shell .hero-stat span { font-size: 13px !important; }

.landing-shell .hero__brand-card {
  padding: 24px !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 22px 60px rgba(0,0,0,.18) !important;
  color: var(--landing-ink) !important;
}
.landing-shell .hero__brand-top {
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 20px !important;
}
.landing-shell .hero__brand-top img {
  width: 112px !important;
  height: 112px !important;
  padding: 9px !important;
  border: 1px solid #e3e8ef !important;
  border-radius: 50% !important;
  background: #fff !important;
  object-fit: contain !important;
}
.landing-shell .hero__brand-label {
  margin: 0 0 5px !important;
  color: var(--brand) !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
}
.landing-shell .hero__brand-top h2 {
  margin: 0 !important;
  color: var(--landing-ink) !important;
  font-size: clamp(24px, 3vw, 34px) !important;
  line-height: 1.08 !important;
  text-transform: capitalize !important;
}
.landing-shell .hero__brand-copy {
  margin-top: 20px !important;
  padding-top: 18px !important;
  border-top: 1px solid #e7ebf0 !important;
}
.landing-shell .hero__brand-copy p {
  margin: 0 !important;
  color: #526177 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}
.landing-shell .hero__brand-links {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 9px !important;
  margin-top: 20px !important;
}
.landing-shell .hero__brand-links a {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-height: 72px !important;
  padding: 10px 8px !important;
  border: 1px solid #dfe6ee !important;
  border-radius: 9px !important;
  background: #f8fafc !important;
  color: var(--landing-ink) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-align: center !important;
  transition: border-color .2s ease, background-color .2s ease, transform .2s ease !important;
}
.landing-shell .hero__brand-links a:hover {
  transform: translateY(-2px) !important;
  border-color: color-mix(in srgb, var(--brand) 38%, #dfe6ee) !important;
  background: color-mix(in srgb, var(--brand) 7%, white) !important;
}
.landing-shell .hero__brand-links .material-symbols-outlined {
  color: var(--brand) !important;
  font-size: 23px !important;
}

/* Secciones y tarjetas */
.landing-shell .landing-section { padding-block: clamp(56px, 7vw, 86px) !important; }
.landing-shell .section-heading { margin-bottom: 28px !important; }
.landing-shell .section-heading h2 { letter-spacing: -.04em !important; }
.landing-shell .card {
  border: 1px solid #e0e6ee !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
.landing-shell .card:hover { transform: translateY(-3px) !important; box-shadow: 0 14px 30px rgba(15,23,42,.07) !important; }
.landing-shell .card-body { padding: 18px !important; }
.landing-shell .card-title { text-transform: none !important; }

/* Advertencia pública de precio */
.landing-shell .landing-price-warning {
  display: flex !important;
  align-items: flex-start !important;
  gap: 9px !important;
  margin-top: 14px !important;
  padding: 11px 12px !important;
  border: 1px solid #f2cf82 !important;
  border-radius: 8px !important;
  background: #fff9e9 !important;
  color: #76531a !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}
.landing-shell .landing-price-warning[hidden] { display: none !important; }
.landing-shell .landing-price-warning .material-symbols-outlined {
  flex: 0 0 auto !important;
  margin-top: 1px !important;
  color: #b7791f !important;
  font-size: 19px !important;
}
.landing-shell .landing-price-warning--detail {
  margin: 18px 0 0 !important;
  font-size: 14px !important;
}

/* Contacto */
.landing-shell .contact-section {
  padding-block: clamp(58px, 7vw, 88px) !important;
  background: #f4f1eb !important;
}
.landing-shell .contact-section__grid {
  grid-template-columns: minmax(330px, .8fr) minmax(0, 1.2fr) !important;
  align-items: stretch !important;
  gap: 0 !important;
  overflow: hidden !important;
  border: 1px solid #e1e5eb !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 18px 55px rgba(15,23,42,.08) !important;
}
.landing-shell .contact-section__intro {
  padding: clamp(34px, 5vw, 58px) !important;
  background: var(--landing-navy) !important;
}
.landing-shell .contact-section__intro h2 {
  max-width: 520px !important;
  margin: 12px 0 20px !important;
  color: #fff !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.04em !important;
}
.landing-shell .contact-section__intro .muted { color: rgba(255,255,255,.72) !important; line-height: 1.7 !important; }
.landing-shell .contact-section__intro .contact-pills {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 28px !important;
}
.landing-shell .contact-section__intro .contact-pills a {
  flex-direction: column !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 82px !important;
  padding: 12px 8px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 9px !important;
  background: rgba(255,255,255,.06) !important;
  text-align: center !important;
}
.landing-shell .contact-section__intro .contact-pills a:hover { transform: translateY(-2px) !important; }
.landing-shell .contact-section__intro .contact-pills .material-symbols-outlined {
  width: auto !important;
  height: auto !important;
  background: none !important;
  font-size: 25px !important;
}
.landing-shell .contact-card { padding: clamp(30px, 5vw, 56px) !important; }
.landing-shell .contact {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
.landing-shell .contact label { display: block !important; margin-bottom: 7px !important; font-size: 13px !important; font-weight: 750 !important; color: #27364d !important; }
.landing-shell .contact input,
.landing-shell .contact textarea {
  width: 100% !important;
  border: 1px solid #d7dee8 !important;
  border-radius: 7px !important;
  background: #fff !important;
  box-shadow: none !important;
  font-size: 14px !important;
}
.landing-shell .contact input { min-height: 46px !important; padding: 0 13px !important; }
.landing-shell .contact textarea { min-height: 150px !important; padding: 13px !important; }
.landing-shell .contact .btn { min-height: 46px !important; padding: 0 22px !important; border-radius: 7px !important; }

/* Footer */
.landing-shell footer { padding-top: 42px !important; background: #06172f !important; }
.landing-shell footer .footer__grid {
  grid-template-columns: 1.15fr 1fr .8fr !important;
  gap: 42px !important;
  padding-bottom: 34px !important;
}
.landing-shell footer .footer__grid > div:first-child strong {
  display: block !important;
  margin-bottom: 8px !important;
  color: #fff !important;
  font-size: 20px !important;
  text-transform: capitalize !important;
}
.landing-shell footer p { color: rgba(255,255,255,.66) !important; line-height: 1.65 !important; }
.landing-shell footer .footer__links > div,
.landing-shell footer .footer__socials a {
  min-height: 40px !important;
  padding: 0 !important;
  color: rgba(255,255,255,.82) !important;
}
.landing-shell footer .footer__socials {
  display: flex !important;
  flex-wrap: wrap !important;
  align-content: flex-start !important;
  gap: 10px !important;
}
.landing-shell footer .footer__socials a {
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.05) !important;
}
.landing-shell footer .footer__socials a:hover {
  border-color: color-mix(in srgb, var(--brand) 65%, white) !important;
  background: color-mix(in srgb, var(--brand) 22%, transparent) !important;
}
.landing-shell footer .footer__socials i { color: #fff !important; font-size: 17px !important; }
.landing-shell footer .footer__socials span { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; }
.landing-shell footer .footer__powered { padding: 20px 0 24px !important; }

/* Drawer */
.landing-shell .shadowbox__info h3 { text-transform: none !important; }
.landing-shell .shadowbox__body { gap: 22px !important; }

@media (max-width: 920px) {
  .landing-shell .hero__grid { grid-template-columns: 1fr !important; }
  .landing-shell .hero__brand-card { max-width: 640px !important; }
  .landing-shell .contact-section__grid { grid-template-columns: 1fr !important; }
  .landing-shell footer .footer__grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 680px) {
  .landing-shell .wrap { width: min(100% - 28px, 1180px) !important; }
  .landing-shell .hero { padding: 44px 0 !important; }
  .landing-shell .hero h1 { font-size: clamp(38px, 12vw, 56px) !important; }
  .landing-shell .hero__stats { grid-template-columns: repeat(3, 1fr) !important; }
  .landing-shell .hero__brand-top { grid-template-columns: 82px minmax(0, 1fr) !important; gap: 14px !important; }
  .landing-shell .hero__brand-top img { width: 82px !important; height: 82px !important; }
  .landing-shell .hero__brand-links { grid-template-columns: repeat(3, 1fr) !important; }
  .landing-shell .contact-section__intro,
  .landing-shell .contact-card { padding: 28px 20px !important; }
  .landing-shell .contact-section__intro .contact-pills { grid-template-columns: repeat(3, 1fr) !important; }
  .landing-shell .contact { grid-template-columns: 1fr !important; }
  .landing-shell footer .footer__grid { grid-template-columns: 1fr !important; gap: 26px !important; }
}
@media (max-width: 430px) {
  .landing-shell .hero__stats { grid-template-columns: 1fr !important; }
  .landing-shell .hero__brand-links,
  .landing-shell .contact-section__intro .contact-pills { grid-template-columns: 1fr !important; }
  .landing-shell .hero__brand-links a,
  .landing-shell .contact-section__intro .contact-pills a { flex-direction: row !important; min-height: 52px !important; }
}


/* Consolidado desde landing-hotfix-1100.css */
/* CasaInversión 1.1.00 — Corrección de contraste en encabezado de contacto */
.landing-shell .contact-section__intro .section-heading__eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(255, 255, 255, .88) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  opacity: 1 !important;
}

.landing-shell .contact-section__intro .section-heading__eyebrow::before {
  content: "" !important;
  width: 26px !important;
  height: 2px !important;
  flex: 0 0 26px !important;
  border-radius: 999px !important;
  background: var(--landing-accent, #d7a247) !important;
}


/* Consolidado desde landing-hotfix-1102.css */
/* CasaInversión 1.1.02 — drawer, contacto, teléfonos e iconografía de landings */

/* Drawer lateral más limpio y cierre como lengüeta exterior */
.landing-shell .shadowbox__content {
  right: auto !important;
  left: 0 !important;
  width: min(54vw, 820px) !important;
  padding: 0 !important;
  border-radius: 0 18px 18px 0 !important;
  box-shadow: 26px 0 70px rgba(2,12,27,.28) !important;
  transform: translateX(-104%) !important;
  overflow: visible !important;
}
.landing-shell .shadowbox.open .shadowbox__content {
  transform: translateX(0) !important;
}
.landing-shell .shadowbox__body {
  height: 100dvh !important;
  overflow-y: auto !important;
  padding: clamp(24px, 4vw, 42px) !important;
  gap: 30px !important;
}
.landing-shell .shadowbox__close {
  position: absolute !important;
  top: 100px !important;
  right: -112px !important;
  z-index: 8 !important;
  width: 112px !important;
  height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 0 15px !important;
  border: 0 !important;
  border-radius: 0 12px 12px 0 !important;
  background: #fff !important;
  color: #10213a !important;
  box-shadow: 12px 10px 30px rgba(2,12,27,.18) !important;
  font: inherit !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}
.landing-shell .shadowbox__close:hover {
  background: #f8fafc !important;
}
.landing-shell .shadowbox__close .material-symbols-outlined {
  font-size: 20px !important;
}
.landing-shell .shadowbox__gallery {
  padding-bottom: 24px !important;
  border-bottom: 1px solid #e5eaf1 !important;
}
.landing-shell .sb-main {
  min-height: clamp(300px, 42vw, 470px) !important;
  border-radius: 14px !important;
}
.landing-shell .shadowbox__info h3 {
  color: #10213a !important;
  font-size: clamp(30px, 3.4vw, 46px) !important;
  letter-spacing: -.04em !important;
}
.landing-shell .shadowbox__info #sbDesc {
  margin-top: 20px !important;
  color: #475569 !important;
  line-height: 1.75 !important;
}

/* Formulario de contacto sin barra decorativa repetitiva */
.landing-shell .contact-section__intro .section-heading__eyebrow {
  padding-left: 0 !important;
  border-left: 0 !important;
  color: rgba(255,255,255,.7) !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.landing-shell .contact-section__intro .section-heading__eyebrow::before,
.landing-shell .contact-section__intro .section-heading__eyebrow::after {
  display: none !important;
  content: none !important;
}
.landing-shell .contact-section__intro h2 {
  max-width: 460px !important;
}
.landing-shell .contact-pills {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.landing-shell .contact-pills a,
.landing-shell .hero__brand-links a {
  min-width: 0 !important;
}
.landing-shell .contact-pills i,
.landing-shell .hero__brand-links i,
.landing-shell .servicio-contactos i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: inherit !important;
  font-size: 23px !important;
}
.landing-shell .footer__links {
  gap: 12px !important;
}
.landing-shell .footer__links > div {
  display: grid !important;
  grid-template-columns: 24px auto 1fr !important;
  align-items: center !important;
  gap: 7px !important;
}
.landing-shell .footer__links .material-symbols-outlined,
.landing-shell .footer__links i {
  width: 24px !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 18px !important;
  text-align: center !important;
}
.landing-shell .footer__socials {
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}
.landing-shell .footer__socials a {
  width: 40px !important;
  height: 40px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.04) !important;
  color: #fff !important;
}
.landing-shell .footer__socials a:hover {
  border-color: var(--brand) !important;
  background: var(--brand) !important;
}
.landing-shell .footer__socials span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
}

@media (max-width: 900px) {
  .landing-shell .shadowbox__content {
    width: 100vw !important;
    border-radius: 0 !important;
  }
  .landing-shell .shadowbox__close {
    position: sticky !important;
    top: 0 !important;
    right: auto !important;
    width: 100% !important;
    height: 56px !important;
    justify-content: flex-end !important;
    padding: 0 18px !important;
    border-radius: 0 !important;
    border-bottom: 1px solid #e5eaf1 !important;
    box-shadow: none !important;
  }
  .landing-shell .shadowbox__body {
    height: calc(100dvh - 56px) !important;
    padding: 20px !important;
  }
  .landing-shell .footer__socials {
    justify-content: flex-start !important;
  }
}

@media (max-width: 560px) {
  .landing-shell .contact-pills {
    grid-template-columns: 1fr !important;
  }
  .landing-shell .contact-section__intro .contact-pills a {
    min-height: 56px !important;
    flex-direction: row !important;
  }
  .landing-shell .footer__links > div {
    grid-template-columns: 24px 1fr !important;
  }
  .landing-shell .footer__links > div strong {
    display: none !important;
  }
}