/* Luís Valente 360° · V42 · Homepage hero only. Does not affect interior pages. */
.lv-home-v15 .lv15-hero.lv42-hero{
  background:radial-gradient(ellipse at 92% 22%, #294d68 0%, #15334a 29%, #091522 78%);
  padding:clamp(3.1rem,6.5vw,5rem) 0 clamp(3rem,5vw,4.4rem);
}
.lv-home-v15 .lv15-hero.lv42-hero .hero-grid{
  grid-template-columns:minmax(0,1.31fr) minmax(270px,.69fr);
  gap:clamp(1.8rem,4vw,3.6rem);
  align-items:center;
}
.lv-home-v15 .lv15-hero.lv42-hero .hero-copy h1{
  font-size:clamp(2.3rem,4.05vw,3.65rem);
  max-width:19ch;
  line-height:1.11;
  letter-spacing:-.035em;
  margin:1.1rem 0 1.1rem;
  text-wrap:balance;
}
.lv-home-v15 .lv15-hero.lv42-hero .hero-copy>.lv42-hero-lead{
  max-width:54ch;
  font-size:clamp(1rem,1.4vw,1.14rem);
  line-height:1.65;
  margin:0;
  color:#e7edf2;
}
.lv-home-v15 .lv15-hero.lv42-hero .lv42-actions{
  margin:1.75rem 0 .65rem;
  display:flex;
  gap:.9rem;
  flex-wrap:wrap;
  align-items:center;
}
.lv-home-v15 .lv15-hero.lv42-hero .lv42-actions .button{
  min-height:54px;
  border-radius:9px;
  padding:.82rem 1.3rem;
  font-weight:760;
  font-size:1rem;
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.lv-home-v15 .lv15-hero.lv42-hero .lv42-cta-primary{
  background:#ecc786;
  border:2px solid #ecc786;
  color:#142438;
  box-shadow:0 8px 23px rgba(0,0,0,.28), 0 0 0 1px rgba(255,255,255,.1);
  gap:.85rem;
}
.lv-home-v15 .lv15-hero.lv42-hero .lv42-cta-primary:hover{
  background:#f4dba9;
  border-color:#f4dba9;
  box-shadow:0 12px 29px rgba(0,0,0,.36);
  transform:translateY(-2px);
}
.lv-home-v15 .lv15-hero.lv42-hero .lv42-cta-secondary{
  border:1.5px solid #aabecb;
  background:rgba(255,255,255,.045);
  color:#fff;
}
.lv-home-v15 .lv15-hero.lv42-hero .lv42-cta-secondary:hover{background:rgba(255,255,255,.13);color:#fff}
.lv-home-v15 .lv15-hero.lv42-hero .lv42-cta-arrow{font-size:1.22rem;line-height:1;display:inline-block}
.lv-home-v15 .lv15-hero.lv42-hero .lv42-actions .button:focus-visible,
.lv-home-v15 .lv15-hero.lv42-hero .lv42-trust a:focus-visible{
  outline:3px solid #f8e0a4;
  outline-offset:4px;
}
.lv-home-v15 .lv15-hero.lv42-hero .lv42-assurance{
  font-size:.9rem;
  max-width:54ch;
  color:#d2e0e9;
  margin:.75rem 0 0;
}
.lv-home-v15 .lv15-hero.lv42-hero .lv42-trust{
  margin-top:1.55rem;
  padding-top:1.35rem;
  column-gap:1.15rem;
  row-gap:.55rem;
}
.lv-home-v15 .lv15-hero.lv42-hero .lv42-trust span{
  font-size:.81rem;
  color:#f1d8af;
}
.lv-home-v15 .lv15-hero.lv42-hero .lv42-trust a{color:inherit;text-decoration:underline;text-decoration-color:#e0c08c;text-underline-offset:3px}
.lv-home-v15 .lv15-hero.lv42-hero .lv42-hero-photo{
  max-height:520px;
  border-radius:18px;
  aspect-ratio:4/5;
  box-shadow:0 22px 53px rgba(0,0,0,.38);
}
@media(max-width:860px){
  .lv-home-v15 .lv15-hero.lv42-hero .hero-grid{grid-template-columns:minmax(0,1fr) minmax(220px,.75fr);gap:1.7rem}
  .lv-home-v15 .lv15-hero.lv42-hero .hero-copy h1{font-size:clamp(2.2rem,4.4vw,3rem)}
}
@media(max-width:780px){
  .lv-home-v15 .lv15-hero.lv42-hero{padding:3.1rem 0 2.7rem}
  .lv-home-v15 .lv15-hero.lv42-hero .hero-grid{grid-template-columns:1fr;gap:2rem}
  .lv-home-v15 .lv15-hero.lv42-hero .hero-copy h1{max-width:22ch}
  .lv-home-v15 .lv15-hero.lv42-hero .lv42-hero-photo{aspect-ratio:5/3;max-height:300px;max-width:490px}
}
@media(max-width:540px){
  .lv-home-v15 .lv15-hero.lv42-hero{padding:2.5rem 0 2.4rem}
  .lv-home-v15 .lv15-hero.lv42-hero .hero-copy h1{font-size:clamp(2rem,8vw,2.65rem)}
  .lv-home-v15 .lv15-hero.lv42-hero .lv42-actions{display:grid;grid-template-columns:1fr;gap:.7rem;margin-top:1.35rem}
  .lv-home-v15 .lv15-hero.lv42-hero .lv42-actions .button{width:100%;min-height:52px}
  .lv-home-v15 .lv15-hero.lv42-hero .lv42-trust{display:grid;gap:.38rem}
  .lv-home-v15 .lv15-hero.lv42-hero .lv42-hero-photo{max-height:255px}
}
@media(prefers-reduced-motion:reduce){
  .lv-home-v15 .lv15-hero.lv42-hero .lv42-actions .button{transition:none}
  .lv-home-v15 .lv15-hero.lv42-hero .lv42-cta-primary:hover{transform:none}
}
