
/* ==========================================================================
   Luna Silva Law — HOMEPAGE STYLES
   ========================================================================== */

/* 1. Homepage base */
.lsl-home{font-family:'Inter',sans-serif;color:#0d2848;background:#fff;}
.lsl-home *{box-sizing:border-box;}
.lsl-home a{color:inherit;text-decoration:none;}
.lsl-home a:hover{color:#ffe13e;}
.lsl-home img{max-width:100%;}

/* 2. Header + mobile drawer */
.lsl-home .lsl-nav-link{color:#fff;}
.lsl-home .lsl-header .lsl-nav-link{color:#0d2848;}
.lsl-home .lsl-nav-link.current-menu-item,
.lsl-home .lsl-nav-link.current_page_item{color:#ffe13e;}
.lsl-drawer{position:fixed;inset:0;z-index:100;background:#0d2848;display:flex;flex-direction:column;padding:clamp(20px,5vw,64px);overflow-y:auto;}
.lsl-drawer[hidden]{display:none;}
.lsl-drawer-top{display:flex;justify-content:flex-end;}
.lsl-drawer-close{background:#ffe13e;border:0;width:44px;height:44px;border-radius:50%;color:#0d2848;font-size:22px;line-height:1;cursor:pointer;}
.lsl-drawer-nav{display:flex;flex-direction:column;gap:clamp(20px,4vh,36px);margin:auto 0;padding:32px 0;}
.lsl-drawer-nav .lsl-nav-link{color:#fff;font-size:clamp(28px,6vw,44px);text-decoration:none;}
.lsl-drawer-contact{margin:0;color:#b9c7dc;font-size:14px;line-height:1.7;}
body.lsl-menu-open{overflow:hidden;}

/* 3. Hero — text slider */
.lsl-home .lsl-slide{opacity:0;visibility:hidden;pointer-events:none;transition:opacity 900ms cubic-bezier(.4,0,.2,1),visibility 0s linear 900ms;}
.lsl-home .lsl-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 900ms cubic-bezier(.4,0,.2,1),visibility 0s linear 0s;}
.lsl-home .lsl-slide > *{opacity:0;transform:translateY(14px);transition:opacity 700ms cubic-bezier(.4,0,.2,1),transform 700ms cubic-bezier(.4,0,.2,1);}
.lsl-home .lsl-slide.is-active > *{opacity:1;transform:none;}
.lsl-home .lsl-slide.is-active > :nth-child(2){transition-delay:140ms;}
.lsl-home .lsl-slide.is-active > :nth-child(3){transition-delay:280ms;}
.lsl-home .lsl-hero-slider .lsl-slide[aria-hidden="true"]{visibility:hidden;}
.lsl-home .lsl-dot{background-color:#808285;transition:background 500ms ease;box-sizing:content-box;padding:10px 0 !important;background-clip:content-box;}
.lsl-home .lsl-dot.is-active{background-color:#fff;}

/* 4. Hero — background motion */
.lsl-home .lsl-bg{
  opacity:0;
  transform:scale(1.01);
  will-change:transform,opacity;
  transition:opacity 1000ms ease;
}
.lsl-home .lsl-bg.is-active{
  opacity:1 !important;
  animation:lslHeroZoom 2000ms linear both !important;
}
@keyframes lslHeroZoom{
  from{transform:scale(1.01) translate(0,0);}
  to{transform:scale(1.16) translate(-2.2%,-1.1%);}
}

/* 5. Attorney portrait hover */

/* 6. Responsive refinements */
@media (max-width:599px){
  .lsl-home .lsl-hero-slider{padding-bottom:64px;}
  .lsl-home .lsl-bg:nth-of-type(1).is-active{transform:scale(1.035) translate(-1.2%,-0.6%);}
  .lsl-home .lsl-bg:nth-of-type(2).is-active{transform:scale(1.035) translate(1.2%,0.6%);}
  .lsl-home .lsl-bg:nth-of-type(3).is-active{transform:scale(1.035) translate(-0.8%,1%);}
}
@media (min-width:600px) and (max-width:1023px){
  .lsl-home .lsl-hero-slider{padding-top:56px;padding-bottom:72px;}
}

/* 7. Reduced motion */
@media (prefers-reduced-motion:reduce){
  .lsl-home .lsl-slide > *{transition:none;transform:none;}
  .lsl-home .lsl-slide.is-active > *{transition-delay:0ms;}
  .lsl-home .lsl-bg,
  .lsl-home .lsl-bg.is-active{animation:none;transform:none;transition:opacity 900ms ease;will-change:auto;}
  .lsl-home .lsl-zoom{transition:none;}
}

/* Hero slider — hide inactive text slides */
.lsl-home .lsl-hero-slider .lsl-slide[aria-hidden="true"]{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.lsl-home .lsl-hero-slider .lsl-slide.is-active{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
.lsl-home .lsl-hero-slider .lsl-slide.is-active > *{
  opacity:1 !important;
  transform:none !important;
}
