.hero{position:relative;min-height:100svh;display:grid;align-items:center;overflow:clip}.hero-bg{position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,15,32,.15),rgba(28,15,32,.82)),url("/assets/img/home/hero-main.jpg") center/cover no-repeat;transform:scale(1.04)}.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 50% 20%,rgba(196,144,209,.18),transparent 36%),radial-gradient(circle at 80% 70%,rgba(224,112,144,.14),transparent 28%)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;padding-top:7rem;padding-bottom:4rem}.hero-copy{max-width:680px}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;margin:2rem 0 1.4rem}.hero-highlights{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;list-style:none;padding:0;margin:0;color:rgba(253,247,242,.82);font-size:.94rem}.hero-visual{display:grid;justify-items:center;gap:1.25rem}
.hero-badge{width:220px;height:280px;border:1px solid rgba(253,247,242,.25);border-radius:110px 110px 18px 18px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:rgba(253,247,242,.02);position:relative}.badge-arc-text{position:absolute;top:18px;font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(253,247,242,.72)}.badge-emblem{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;opacity:.6}.badge-title{margin-top:.8rem;font-family:"Playfair Display",serif;font-size:1.1rem}.hero-image{width:min(100%,480px);border-radius:28px;border:1px solid rgba(253,247,242,.14);box-shadow:var(--shadow)}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.product-preview-grid{display:grid;gap:1rem}.cta-block{padding:2.2rem;text-align:center}.cursor,.cursor-ring{display:none}
@media (hover:hover) and (pointer:fine){.cursor{display:block;width:8px;height:8px;background:var(--mauve);border-radius:50%;position:fixed;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .1s,width .3s,height .3s,background .3s;mix-blend-mode:screen}.cursor-ring{display:block;width:32px;height:32px;border:1px solid rgba(196,144,209,.5);border-radius:50%;position:fixed;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:all .15s ease-out}}
@media (max-width:980px){.hero-grid,.two-col,.three-col,.features-grid{grid-template-columns:1fr}.hero{min-height:auto}.hero-grid{padding-top:6rem}}

@media (max-width:720px){
  .hero-grid{gap:1.5rem;padding-top:5.2rem;padding-bottom:3rem}
  .hero-visual{order:-1}
  .hero-badge{width:190px;height:250px}
  .hero-image{width:min(100%,360px)}
  .hero-cta{flex-direction:column;align-items:stretch}
  .hero-cta .btn{width:100%}
  .hero-highlights{font-size:.88rem}
  .features-grid,.three-col{gap:1rem}
  .two-col{gap:1.5rem}
}
@media (max-width:560px){
  .hero{min-height:auto}
  .hero-grid{padding-top:4.5rem}
  .hero-badge{width:170px;height:230px}
  .hero-image{border-radius:22px}
  .cta-block{padding:1.6rem}
}
