/* Luxiva layout + typography helpers */
:root{
  --soft: hsl(var(--accent));
  --soft-2: hsl(var(--secondary));
  --border-soft: rgba(0,0,0,.06);
  --text-soft: hsl(var(--muted-foreground));
}

.section{padding:0;}
.wrap{max-width:72rem;margin:0 auto;}
.card{
  border:1px solid var(--border-soft);
  background:rgba(255,255,255,.7);
  border-radius:1.5rem;
  padding:1.5rem;
  box-shadow:0 28px 80px -70px rgba(16,185,129,.55);
}
.card .card{box-shadow:none;}

.hint{
  font-size:.875rem;
  color:var(--text-soft);
}
.hint a{
  text-decoration:underline;
  text-underline-offset:4px;
}
.hr{
  height:1px;
  background:var(--border-soft);
  margin:1.5rem 0;
}

.section h1{
  font-weight:600;
  letter-spacing:-.02em;
  line-height:1.15;
  font-size:clamp(1.7rem,2.6vw,2.4rem);
  color:hsl(var(--foreground));
  margin:.25rem 0 .75rem;
}
.section h2{
  font-weight:600;
  letter-spacing:-.015em;
  font-size:1.25rem;
  color:hsl(var(--foreground));
  margin:1.25rem 0 .5rem;
}
.section h3{
  font-weight:600;
  font-size:1.05rem;
  color:hsl(var(--foreground));
  margin:1rem 0 .25rem;
}
.section p{
  color:var(--text-soft);
  line-height:1.7;
  margin:.75rem 0 0;
}
.section p strong{color:hsl(var(--foreground));}
.section ul.list{
  margin-top:.75rem;
  display:grid;
  gap:.55rem;
}
.section ul.list li{
  display:flex;
  gap:.6rem;
  align-items:flex-start;
  color:var(--text-soft);
  line-height:1.6;
}
.section ul.list li::before{
  content:"✓";
  flex:0 0 auto;
  width:1.5rem;height:1.5rem;
  display:grid;
  place-items:center;
  border-radius:.75rem;
  background:rgba(16,185,129,.10);
  color:rgba(6,95,70,1);
  border:1px solid rgba(16,185,129,.18);
  margin-top:.05rem;
  font-weight:700;
}

.btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem;}
a.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  border-radius:1rem;
  padding:.75rem 1.1rem;
  font-weight:600;
  font-size:.875rem;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  color:hsl(var(--foreground));
  box-shadow:0 1px 0 rgba(0,0,0,.02);
  transition:filter .15s,transform .15s,background-color .15s;
}
a.btn:hover{background:rgba(0,0,0,.04);}
a.btn:active{transform:scale(.99);}
a.btn.primary{
  border:1px solid rgba(0,0,0,.05);
  background:linear-gradient(135deg,hsl(var(--mint-6)),hsl(var(--mint-7)));
  color:#fff;
  box-shadow:0 16px 42px -20px rgba(16,185,129,.85);
}
a.btn.primary:hover{filter:brightness(1.02);}

.faq h3{margin-top:1rem;}
.faq p{margin-top:.35rem;}
.faq p span{display:block;margin-top:.25rem;}

@media (min-width: 768px){
  .card{padding:2.25rem;}
}

.wa-float{
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 56px;
  height: 56px;
  border-radius: 9999px;
  display: grid;
  place-items: center;
  z-index: 60;
  color: #fff;
  background: linear-gradient(135deg,#22c55e,#16a34a);
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 14px 34px -18px rgba(22,163,74,.65), 0 8px 18px -10px rgba(0,0,0,.25);
  transition: transform .16s, filter .16s, box-shadow .16s;
  transform: translateZ(0);
}
.wa-float svg{width:26px;height:26px;}
.wa-float:hover{
  filter: brightness(1.02);
  transform: translateY(-1px);
  box-shadow: 0 16px 40px -20px rgba(22,163,74,.75), 0 10px 22px -12px rgba(0,0,0,.28);
}
.wa-float:active{
  filter: brightness(.98);
  transform: translateY(0) scale(.98);
}
.wa-float:focus-visible{
  outline: 3px solid rgba(16,185,129,.35);
  outline-offset: 4px;
}
@media(max-width:480px){
  .wa-float{right:16px;bottom:16px;}
}

.lux-hero-media{
  height: 821px;
}

.lux-hero-media-mobile{
  height: auto;
  aspect-ratio: 4 / 3;
  max-height: 340px;
}

.lux-hero{
  background-image:
    linear-gradient(90deg,
      rgba(255,255,255,.92) 0%,
      rgba(255,255,255,.80) 46%,
      rgba(255,255,255,.35) 72%,
      rgba(255,255,255,0) 100%
    ),
    url('/assets/hero-blank.jpg');
  background-size: cover;
  background-position: right center;
}

@media (max-width: 768px){
  .lux-hero{
    background-image:
      linear-gradient(0deg,
        rgba(255,255,255,.92) 0%,
        rgba(255,255,255,.78) 55%,
        rgba(255,255,255,.25) 100%
      ),
      url('/assets/hero-blank.jpg');
    background-position: center;
  }
}
