@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');

#lv-groups{
  --lvgp-green:#001f17;
  --lvgp-sage:#788b7c;
  --lvgp-cream:#f7f2ea;
  --lvgp-white:#fff;
  color:var(--lvgp-green);
  background:var(--lvgp-white);
  font-family:Montserrat,Arial,sans-serif;
  overflow:hidden;
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
}
#lv-groups *{box-sizing:border-box}
#lv-groups h1,#lv-groups h2,#lv-groups h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;margin:0}
#lv-groups em{font-weight:400}
#lv-groups p{line-height:1.75}
.lvgp-kicker{margin:0 0 22px;font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.lvgp-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(460px,48vw);min-height:720px;background:var(--lvgp-cream)}
.lvgp-hero-copy{align-self:center;padding:90px clamp(45px,7vw,130px)}
.lvgp-hero h1{max-width:720px;font-size:clamp(58px,6.1vw,108px);line-height:.98;letter-spacing:-.045em}
.lvgp-hero h1 em{color:var(--lvgp-sage)}
.lvgp-lead{max-width:680px;margin:32px 0 0;font-size:clamp(16px,1.2vw,19px)}
.lvgp-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.lvgp-btn{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:52px;padding:14px 24px;border:1px solid var(--lvgp-green);color:var(--lvgp-green);text-decoration:none;font-size:12px;font-weight:500;transition:.25s ease}
.lvgp-btn:hover{background:var(--lvgp-green);color:var(--lvgp-white)}
.lvgp-btn-primary{background:var(--lvgp-green);color:var(--lvgp-white)}
.lvgp-btn-primary:hover{background:#143b31}
.lvgp-hero-media{position:relative;margin:0;min-height:720px;overflow:hidden}
.lvgp-hero-media>img{width:100%;height:100%;object-fit:cover}
.lvgp-botanical{position:absolute;right:-100px;bottom:-100px;width:360px;opacity:.3;filter:brightness(0) invert(1)}
.lvgp-botanical img{display:block;width:100%;height:auto}
.lvgp-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:clamp(50px,9vw,150px);padding:130px clamp(32px,8vw,150px)}
.lvgp-intro h2,.lvgp-occasions h2,.lvgp-contact h2{font-size:clamp(48px,5vw,82px);line-height:1.05;letter-spacing:-.04em}
.lvgp-intro>p{align-self:end;max-width:630px;margin:0;font-size:16px}
.lvgp-occasions{padding:120px clamp(32px,8vw,150px);background:var(--lvgp-green);color:var(--lvgp-cream)}
.lvgp-occasions header{max-width:760px}
.lvgp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:80px;background:rgba(247,242,234,.18)}
.lvgp-grid article{min-height:310px;padding:45px 38px;background:var(--lvgp-green)}
.lvgp-grid span{display:block;margin-bottom:55px;color:rgba(247,242,234,.55);font-size:11px;letter-spacing:.16em}
.lvgp-grid h3{font-size:34px}
.lvgp-grid p{margin:22px 0 0;color:rgba(247,242,234,.76);font-size:14px}
.lvgp-contact{position:relative;padding:140px max(8vw,32px);text-align:center;background:var(--lvgp-cream);overflow:hidden}
.lvgp-contact h2,.lvgp-contact>p,.lvgp-contact>a{position:relative;z-index:1}
.lvgp-contact>p:not(.lvgp-kicker){max-width:680px;margin:30px auto;font-size:16px}
.lvgp-btn-light{background:var(--lvgp-white)}
.lvgp-contact-branch{position:absolute;left:-95px;bottom:-115px;width:390px;opacity:.1}
.lvgp-contact-branch img{display:block;width:100%;height:auto}

@media(max-width:1024px){
  .lvgp-hero{grid-template-columns:1fr;min-height:0}
  .lvgp-hero-copy{padding:100px 8% 75px}
  .lvgp-hero-media{min-height:520px}
  .lvgp-intro{grid-template-columns:1fr;gap:42px}
  .lvgp-intro>p{align-self:auto}
  .lvgp-grid{grid-template-columns:1fr}
  .lvgp-grid article{min-height:0}
  .lvgp-grid span{margin-bottom:28px}
}
@media(max-width:767px){
  .lvgp-hero-copy{padding:75px 7% 60px}
  .lvgp-hero h1{font-size:clamp(48px,14vw,67px)}
  .lvgp-actions{flex-direction:column;align-items:stretch}
  .lvgp-btn{width:100%;min-height:54px}
  .lvgp-hero-media{min-height:420px}
  .lvgp-intro,.lvgp-occasions,.lvgp-contact{padding:90px 7%}
  .lvgp-intro h2,.lvgp-occasions h2,.lvgp-contact h2{font-size:clamp(43px,12vw,60px)}
  .lvgp-grid{margin-top:55px}
  .lvgp-grid article{padding:38px 28px}
  .lvgp-contact-branch{left:-150px;width:300px}
}
@media(prefers-reduced-motion:reduce){
  .lvgp-btn{transition:none}
}
