.plf-home,.plf-home *{box-sizing:border-box}
.plf-home{
  width:100%;padding:0 var(--plf-page-x-desktop,24px) var(--plf-page-bottom-desktop,76px);
  background:var(--plf-bg,#fbf8f3);color:var(--plf-ink,#1a1a18);text-align:center
}
.plf-home__carousel{position:relative;width:min(100%,1440px);aspect-ratio:16/9;margin:auto;overflow:hidden;background:#eeeae3}
.plf-home__slides,.plf-home__slide,.plf-home__slide picture,.plf-home__slide img{position:absolute;inset:0;width:100%;height:100%}
.plf-home__slide{opacity:0;visibility:hidden;transition:opacity .38s ease,visibility .38s ease}
.plf-home__slide.is-active{opacity:1;visibility:visible}
.plf-home__slide img{display:block;object-fit:cover;object-position:var(--plf-x,50%) center}
.plf-home__intro{width:100%;margin:var(--plf-intro-top-desktop,36px) auto 0}
.plf-home__intro-kicker{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.plf-home h1,.plf-home h2{
  font-family:var(--plf-heading-font,'Playfair Display',Georgia,serif);font-weight:400;
  text-transform:uppercase;color:var(--plf-ink,#1a1a18)
}
.plf-home h1{
  width:100%;max-width:var(--plf-h1-width-desktop,760px);margin:0 auto 14px;
  font-size:var(--plf-h1-size-desktop,34px);line-height:1.22;letter-spacing:1.1px
}
.plf-home__intro p,.plf-home__contact>p:not(.plf-home__kicker){
  width:100%;max-width:var(--plf-lead-width-desktop,540px);margin:0 auto;
  color:var(--plf-muted,#6b665f);font-family:var(--plf-body-font,'Cormorant Garamond',Georgia,serif);
  font-size:var(--plf-lead-size-desktop,18px);line-height:1.7
}
.plf-home__button{
  display:inline-flex;align-items:center;justify-content:center;min-width:220px;min-height:50px;
  margin-top:var(--plf-button-top-desktop,30px);padding:13px 30px;
  border:1px solid var(--plf-gold,#9a7848);border-radius:999px;background:transparent;
  color:var(--plf-ink,#1a1a18);font-family:var(--plf-heading-font,'Playfair Display',Georgia,serif);
  font-size:var(--plf-button-size-desktop,12px);line-height:1.2;letter-spacing:1.15px;
  text-decoration:none;text-transform:uppercase;transition:background .28s ease,color .28s ease
}
.plf-home__button:hover,.plf-home__button:focus-visible{background:var(--plf-gold,#9a7848);color:#fff}
.plf-home__stories{max-width:1120px;margin:var(--plf-stories-top-desktop,58px) auto 0}
.plf-home__kicker{
  margin:0 0 10px;color:var(--plf-gold,#9a7848);
  font-family:var(--plf-heading-font,'Playfair Display',Georgia,serif);
  font-size:var(--plf-kicker-size-desktop,9px);line-height:1.45;letter-spacing:1.65px;text-transform:uppercase
}
.plf-home__stories h2{
  width:100%;max-width:var(--plf-stories-h2-width-desktop,760px);
  margin:0 auto var(--plf-stories-h2-bottom-desktop,50px);
  font-size:var(--plf-stories-h2-size-desktop,27px);line-height:1.28;letter-spacing:1px
}
.plf-home__stories-lead{max-width:540px;margin:0 auto 36px;color:var(--plf-muted,#6b665f);font-family:var(--plf-body-font,'Cormorant Garamond',Georgia,serif);font-size:var(--plf-lead-size-desktop,18px);line-height:1.7}
.plf-home__grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:960px;margin:auto;
  gap:var(--plf-grid-gap-y,60px) var(--plf-grid-gap-x,42px)
}
.plf-home__story{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:#eeeae3;text-decoration:none}
.plf-home__story>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center var(--plf-y,50%)}
.plf-home__story-overlay{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  padding:22px;opacity:0;transition:opacity .35s ease
}
.plf-home__story-overlay::before{
  content:"";position:absolute;inset:0;background:var(--plf-overlay-bg,#d8cec7);opacity:.88
}
.plf-home__story-overlay>span{position:relative}
.plf-home__story-overlay small{
  display:block;margin:0 0 6px;color:var(--plf-overlay-label,#7e6f61);
  font-family:var(--plf-heading-font,'Playfair Display',Georgia,serif);
  font-size:var(--plf-kicker-size-desktop,9px);line-height:1.45;letter-spacing:1px;text-transform:uppercase
}
.plf-home__story-overlay strong{
  display:block;color:var(--plf-overlay-title,#423b35);
  font-family:var(--plf-body-font,'Cormorant Garamond',Georgia,serif);
  font-size:var(--plf-story-title-size-desktop,22px);font-weight:400;line-height:1.22
}
.plf-home__story:hover .plf-home__story-overlay,.plf-home__story:focus-visible .plf-home__story-overlay{opacity:1}
.plf-home__more{margin-top:var(--plf-more-top-desktop,48px)}
.plf-home__locations{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 20px;max-width:760px;margin:26px auto 0}
.plf-home__locations a{
  color:var(--plf-gold,#9a7848);font-family:var(--plf-body-font,'Cormorant Garamond',Georgia,serif);
  font-size:var(--plf-location-size-desktop,15px);line-height:1.35;text-decoration:none
}
.plf-home__locations a:hover{text-decoration:underline}
.plf-home__contact{
  width:100%;margin:var(--plf-contact-top-desktop,118px) auto 0;
  padding:0 var(--plf-contact-x-desktop,24px) 18px
}
.plf-home__contact h2{
  width:100%;max-width:var(--plf-contact-h2-width-desktop,660px);margin:0 auto 20px;
  font-family:var(--plf-contact-heading-font,var(--plf-heading-font,'Playfair Display',Georgia,serif));font-size:var(--plf-contact-h2-size-desktop,28px);line-height:1.34;letter-spacing:.8px
}
.plf-home__contact .plf-home__kicker{font-family:var(--plf-contact-kicker-font,var(--plf-heading-font,'Playfair Display',Georgia,serif))}
.plf-home__contact .plf-home__button{font-family:var(--plf-contact-button-font,var(--plf-heading-font,'Playfair Display',Georgia,serif))}
.plf-home__contact>p:not(.plf-home__kicker){
  max-width:var(--plf-contact-text-width-desktop,540px);
  font-size:var(--plf-contact-text-size-desktop,17px)
}
.plf-home a:focus-visible,.plf-home button:focus-visible{outline:2px solid var(--plf-gold,#9a7848);outline-offset:4px}
@media(max-width:900px){
  .plf-home{padding:0 var(--plf-page-x-mobile,0px) var(--plf-page-bottom-mobile,58px)}
  .plf-home__carousel{width:100%;aspect-ratio:var(--plf-hero-mobile-ratio,1.25)}
  .plf-home__slide img{object-position:var(--plf-mobile-x,50%) center}
  .plf-home__intro,.plf-home__stories{padding:0 var(--plf-text-x-mobile,22px)}
  .plf-home__intro{margin-top:var(--plf-intro-top-mobile,30px)}
  .plf-home h1{
    max-width:var(--plf-h1-width-mobile,360px);font-size:var(--plf-h1-size-mobile,26px);
    line-height:1.42;letter-spacing:.7px
  }
  .plf-home__intro p{max-width:var(--plf-lead-width-mobile,350px);font-size:var(--plf-lead-size-mobile,16px)}
  .plf-home__stories-lead{max-width:var(--plf-lead-width-mobile,350px);font-size:var(--plf-lead-size-mobile,16px)}
  .plf-home__button{
    min-width:198px;min-height:46px;margin-top:var(--plf-button-top-mobile,30px);
    font-size:var(--plf-button-size-mobile,11px)
  }
  .plf-home__stories{margin-top:var(--plf-stories-top-mobile,44px)}
  .plf-home__kicker,.plf-home__story-overlay small{font-size:var(--plf-kicker-size-mobile,9px)}
  .plf-home__stories h2{
    max-width:var(--plf-stories-h2-width-mobile,350px);
    margin-bottom:var(--plf-stories-h2-bottom-mobile,38px);
    font-size:var(--plf-stories-h2-size-mobile,26px)
  }
  .plf-home__grid{grid-template-columns:1fr;max-width:430px;gap:var(--plf-grid-gap-y-mobile,48px)}
  .plf-home__story{aspect-ratio:auto;overflow:visible}
  .plf-home__story>img{height:auto;aspect-ratio:4/5}
  .plf-home__story-overlay{position:static;opacity:1;padding:12px 0 0}
  .plf-home__story-overlay::before{display:none}
  .plf-home__story-overlay strong{font-size:var(--plf-story-title-size-mobile,22px)}
  .plf-home__more{margin-top:var(--plf-more-top-mobile,36px)}
  .plf-home__locations{flex-direction:column;gap:10px;margin-top:24px}
  .plf-home__locations a{font-size:var(--plf-location-size-mobile,15px)}
  .plf-home__contact{
    margin-top:var(--plf-contact-top-mobile,82px);
    padding-right:var(--plf-contact-x-mobile,24px);padding-left:var(--plf-contact-x-mobile,24px)
  }
  .plf-home__contact h2{
    max-width:var(--plf-contact-h2-width-mobile,360px);
    font-size:var(--plf-contact-h2-size-mobile,24px)
  }
  .plf-home__contact>p:not(.plf-home__kicker){
    max-width:var(--plf-contact-text-width-mobile,350px);
    font-size:var(--plf-contact-text-size-mobile,16px)
  }
}
@media(prefers-reduced-motion:reduce){.plf-home__slide,.plf-home__story-overlay,.plf-home__button{transition:none}}
