/*
 * Aqui Lo Compro 3.8.16 — Responsive Interaction Polish
 * Purpose: responsive hero/video hardening, restrained desktop demand parallax,
 * media-first card elevation, responsive advisor actions, and a reversible
 * plus-style concierge launcher. Loaded last as the canonical experience layer.
 */
:root{
  --alc3814-shadow-soft:0 30px 90px -42px rgba(4,24,70,.26);
  --alc3814-shadow-hover:0 42px 110px -44px rgba(4,24,70,.34);
  --alc3814-shadow-panel:0 38px 110px -46px rgba(3,19,58,.34);
}

/* 1. Card elevation: shadows belong to the visual media, never beside copy. */
.alc3-property-card,.alc3-service-card,.alc3-post-card{
  box-shadow:none;
}
.alc3-property-card:hover,.alc3-service-card:hover,.alc3-post-card:hover{
  box-shadow:none;
}
.alc3-property-card .alc3-card-media,
.alc3-service-card .alc3-service-card-media,
.alc3-post-card .alc3-post-card-media{
  box-shadow:0 30px 78px -52px rgba(4,24,70,.28);
  transition:box-shadow .38s ease,transform .4s cubic-bezier(.16,1,.3,1);
}
.alc3-property-card:hover .alc3-card-media,
.alc3-service-card:hover .alc3-service-card-media,
.alc3-post-card:hover .alc3-post-card-media{
  box-shadow:0 44px 104px -54px rgba(4,24,70,.38);
}
.alc3-property-card .alc3-card-body{padding-top:26px}
.alc3-post-card .alc3-post-card-body{padding-top:30px}
.alc3812-firm-logo-panel{box-shadow:var(--alc3814-shadow-panel)}
.alc389-tour-quick{box-shadow:0 28px 72px -34px rgba(4,24,70,.38)}
.alc389-decision-card{box-shadow:0 42px 110px -48px rgba(4,24,70,.42)}
.alc383-header.is-scrolled{box-shadow:0 18px 64px -42px rgba(4,24,70,.42)}
.alc383-nav .sub-menu{box-shadow:0 34px 88px -42px rgba(4,24,70,.35)}

/* 2. Index video: mobile crop hides YouTube title/chrome instead of masking copy. */
@media(max-width:782px){
  .alc-luxury-hero__media .alc374-hero-video-shell{
    inset:-96px 0 -58px;
  }
  .alc-luxury-hero__media .alc373-hero-video{
    width:max(100%,177.78vh);
    height:max(118%,56.25vw);
    transform:translate(-50%,calc(-51% + var(--alc-parallax-y))) scale(1.06);
  }
  .alc385-video-mask--top{
    height:118px;
    background:linear-gradient(180deg,rgba(3,16,50,.88) 0%,rgba(3,16,50,.50) 46%,rgba(3,16,50,0) 100%);
  }
  .alc385-video-mask--bottom{height:70px}
}
@media(max-width:520px){
  .alc-luxury-hero__media .alc374-hero-video-shell{inset:-116px 0 -72px}
  .alc-luxury-hero__media .alc373-hero-video{height:max(124%,56.25vw);transform:translate(-50%,calc(-52% + var(--alc-parallax-y))) scale(1.08)}
  .alc385-video-mask--top{height:136px}
}

/* 3. Buscar por mí: one cinematic mobile composition, not two stacked blocks. */
@media(max-width:782px){
  .alc-luxury-demand{
    min-height:620px;
    display:grid;
    align-items:end;
    background:var(--alc391-logo,#001870);
  }
  .alc-luxury-demand__media{
    position:absolute;
    inset:0;
    height:auto;
    overflow:hidden;
  }
  .alc-luxury-demand__media img{
    position:absolute;
    inset:-8% 0;
    width:100%;
    height:116%;
    object-fit:cover;
    object-position:68% center;
    transform:translate3d(0,var(--alc-parallax-y),0) scale(1.035);
    will-change:transform;
  }
  .alc-luxury-demand__media:after{
    background:linear-gradient(180deg,
      rgba(3,18,58,.08) 0%,
      rgba(3,24,78,.18) 30%,
      rgba(4,36,113,.58) 57%,
      rgba(8,42,146,.93) 82%,
      rgba(23,16,102,.98) 100%);
  }
  .alc-luxury-demand__inner{
    z-index:2;
    min-height:620px;
    display:flex;
    align-items:flex-end;
    padding-top:0;
    padding-bottom:0;
  }
  .alc-luxury-demand__copy{
    width:100%;
    max-width:580px;
    padding:285px 0 52px;
  }
  .alc-luxury-demand h2{
    max-width:9.5ch;
    margin-bottom:18px;
    font-size:clamp(2.8rem,12.5vw,4.15rem);
    line-height:.96;
  }
  .alc-luxury-demand__copy>p:not(.alc383-eyebrow){
    max-width:31ch;
    margin-bottom:26px;
    color:rgba(255,255,255,.84);
  }
  .alc-luxury-demand .alc-luxury-button--gold{
    width:min(100%,310px);
    min-width:0;
    box-shadow:0 30px 82px -36px rgba(2,12,52,.55);
  }
}
@media(max-width:520px){
  .alc-luxury-demand,.alc-luxury-demand__inner{min-height:560px}
  .alc-luxury-demand__copy{padding:245px 0 40px}
  .alc-luxury-demand h2{max-width:9.2ch;font-size:clamp(2.6rem,13vw,3.55rem)}
  .alc-luxury-demand .alc-luxury-button--gold{width:100%}
}

/* 4. Manuel / Inmolinares: separate actions clearly on mobile. */
@media(max-width:782px){
  .alc3-advisor-home-grid{gap:38px}
  .alc3-advisor-home-photo{min-height:420px}
  .alc3-advisor-home .alc3-hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    margin-top:28px;
  }
  .alc3-advisor-home .alc3-hero-actions .alc3-button{
    width:100%;
    min-height:54px;
    justify-content:center;
  }
  .alc3-advisor-home .alc3-hero-actions .alc3-text-link{
    display:flex;
    align-items:center;
    min-height:52px;
    padding:14px 0 4px;
    border-top:1px solid rgba(255,255,255,.18);
  }
}
@media(max-width:520px){
  .alc3-advisor-home-photo{min-height:340px}
  .alc3-advisor-home-headline{font-size:clamp(1.9rem,9.5vw,2.65rem)}
}

/* 5. Zones and insight overlays: give gradients runway before typography. */
.alc3-home-signature-card:after{
  background:linear-gradient(180deg,
    rgba(4,19,60,0) 8%,
    rgba(4,27,82,.04) 27%,
    rgba(4,25,75,.36) 53%,
    rgba(4,20,61,.82) 74%,
    rgba(4,20,61,.97) 100%);
}
.alc3-home-signature-card:hover:after{
  background:linear-gradient(180deg,
    rgba(4,19,60,0) 5%,
    rgba(4,31,94,.05) 24%,
    rgba(4,27,82,.38) 50%,
    rgba(4,20,61,.84) 72%,
    rgba(4,20,61,.98) 100%);
}
.alc374-insights .alc3-post-card-media:after{
  height:58%;
  background:linear-gradient(180deg,rgba(3,18,48,0) 0%,rgba(3,18,48,.05) 33%,rgba(3,18,48,.24) 72%,rgba(3,18,48,.42) 100%);
}
.alc374-insights .alc3-post-card:hover .alc3-post-card-media:after{
  height:54%;
  background:linear-gradient(180deg,rgba(3,18,48,0) 0%,rgba(0,24,112,.05) 31%,rgba(0,24,112,.20) 70%,rgba(0,24,112,.36) 100%);
}

/* 6. Concierge launcher: subtle edge control. Plus opens, cross closes. */
body.alc3-site .alc-c2-trigger{
  top:50%;
  right:10px;
  bottom:auto;
  z-index:1000001;
  width:36px;
  height:36px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.26);
  border-radius:2px;
  background:rgba(0,24,112,.82);
  color:#fff;
  font-size:0;
  line-height:1;
  opacity:.72;
  transform:translateY(-50%);
  box-shadow:0 18px 48px -32px rgba(0,24,112,.58);
  transition:opacity .18s ease,transform .18s ease,background .18s ease,border-color .18s ease;
}
body.alc3-site .alc-c2-trigger:before{
  content:"+";
  display:block;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  color:#fff;
  font:300 24px/1 var(--alc383-sans,system-ui,sans-serif);
  transform:translateY(-1px);
  transition:transform .2s ease;
}
body.alc3-site .alc-c2-trigger:after{
  content:"Te ayudo";
  position:absolute;
  right:46px;
  top:50%;
  transform:translateY(-50%) translateX(5px);
  min-width:max-content;
  padding:7px 9px;
  background:var(--alc391-deep,#07184d);
  color:#fff;
  border-radius:2px;
  font:650 11px/1.2 var(--alc383-sans,system-ui,sans-serif);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
html.alc-c2-open body.alc3-site .alc-c2-trigger{
  opacity:.94;
  background:var(--alc391-deep,#07184d);
}
html.alc-c2-open body.alc3-site .alc-c2-trigger:before{content:"×";font-size:22px;transform:none}
body.alc3-site.alc3-help-launcher-off .alc-c2-trigger{display:none}
@media(hover:hover) and (pointer:fine){
  body.alc3-site .alc-c2-trigger:hover{opacity:1;transform:translateY(-50%) scale(1.035);background:var(--alc391-logo,#001870)}
  body.alc3-site .alc-c2-trigger:hover:after{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}
}
@media(max-width:782px){
  body.alc3-site .alc-c2-trigger{right:7px;top:54%;width:32px;height:32px;opacity:.66}
  body.alc3-site .alc-c2-trigger:before{font-size:21px}
  body.alc3-site .alc-c2-trigger:after{display:none}
}

/* 7. Mobile typography and interaction audit across primary cards. */
@media(max-width:782px){
  .alc3-container{width:min(100% - 30px,1320px)}
  .alc3-section{padding:64px 0}
  .alc3-section-head{margin-bottom:34px}
  .alc3-section-title{font-size:clamp(2.55rem,11.5vw,4rem);line-height:.98}
  .alc3-section-copy{font-size:1rem;line-height:1.68}
  .alc3-property-card,.alc3-service-card,.alc3-post-card{box-shadow:none}
  .alc3-card-body,.alc3-post-card-body{padding-left:22px;padding-right:22px}
  .alc3-property-card .alc3-card-media,.alc3-service-card .alc3-service-card-media,.alc3-post-card .alc3-post-card-media{box-shadow:0 24px 62px -48px rgba(4,24,70,.27)}
  .alc3-home-signature-card{min-height:470px}
  .alc3-home-signature-card>div{inset:auto 24px 28px;max-width:calc(100% - 48px)}
  .alc3-home-signature-card h3,.alc3-home-signature-card--long h3{font-size:clamp(2.65rem,13vw,4rem);line-height:.9;max-width:9.5ch}
  .alc3-home-signature-card p{max-width:30ch;font-size:.98rem;line-height:1.55}
}
@media(max-width:390px){
  .alc3-container{width:min(100% - 24px,1320px)}
  .alc3-section{padding:56px 0}
  .alc3-home-signature-card{min-height:440px}
  .alc3-home-signature-card h3,.alc3-home-signature-card--long h3{font-size:clamp(2.35rem,13.5vw,3.35rem)}
}

@media(prefers-reduced-motion:reduce){
  .alc-luxury-demand__media img{transform:none;will-change:auto}
  body.alc3-site .alc-c2-trigger,body.alc3-site .alc-c2-trigger:after{transition:none}
}

/* 3.8.16 — Desktop demand block: cinematic, restrained, not theatrical. */
@media(min-width:783px){
  .alc-luxury-demand{
    min-height:580px;
    display:grid;
    align-items:center;
    background:var(--alc391-logo,#001870);
  }
  .alc-luxury-demand__media{position:absolute;inset:0;overflow:hidden}
  .alc-luxury-demand__media img{
    position:absolute;
    inset:-5% 0;
    width:100%;
    height:110%;
    object-fit:cover;
    object-position:66% center;
    transform:translate3d(0,var(--alc-parallax-y),0) scale(1.022);
    will-change:transform;
  }
  .alc-luxury-demand__media:after{
    background:linear-gradient(90deg,
      rgba(10,21,84,.94) 0%,
      rgba(0,24,112,.86) 27%,
      rgba(4,55,151,.58) 48%,
      rgba(4,37,108,.22) 68%,
      rgba(3,20,55,.04) 88%,
      rgba(3,20,55,0) 100%);
  }
  .alc-luxury-demand__inner{
    z-index:2;
    min-height:580px;
    display:flex;
    align-items:center;
    padding-top:0;
    padding-bottom:0;
  }
  .alc-luxury-demand__copy{width:min(580px,50%);max-width:580px;padding:68px 0}
  .alc-luxury-demand h2{max-width:9.8ch;font-size:clamp(3.4rem,4.8vw,5.55rem);line-height:.94}
  .alc-luxury-demand__copy>p:not(.alc383-eyebrow){max-width:35ch;color:rgba(255,255,255,.84)}
}
@media(prefers-reduced-motion:reduce){
  .alc-luxury-demand__media img{transform:none;will-change:auto}
  body.alc3-site .alc-c2-trigger,body.alc3-site .alc-c2-trigger:before,body.alc3-site .alc-c2-trigger:after{transition:none}
}

