:root{
  --lp-black:#000;
  --lp-cream:#F1EFE7;
  --lp-green:#2D7F64;
  --lp-deep:#0A3E31;
  --lp-soft:#D4EDE5;
  --lp-white:#fff;
  --lp-line:rgba(0,0,0,.15);
  --lp-shell:min(1240px,calc(100% - clamp(40px,8vw,112px)));
}

*{box-sizing:border-box}
html,body{width:100%;min-height:100%;margin:0;background:var(--lp-cream);color:var(--lp-black)}
body{font-family:Raleway,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.frame-page{height:100dvh;overflow:hidden}
.site-frame{display:block;width:100%;height:100dvh;border:0;background:var(--lp-cream)}

.local-page{min-height:100vh;overflow:hidden;background:var(--lp-cream)}
.local-shell{width:var(--lp-shell);margin-inline:auto}
.local-page h1,.local-page h2,.local-page h3{margin:0;font-family:Montserrat,Arial,sans-serif;line-height:.98;letter-spacing:-.045em;text-wrap:balance}
.local-page p{margin:0;line-height:1.55}

.local-header{height:86px;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid rgba(0,0,0,.12)}
.local-header--inverse{border-color:rgba(241,239,231,.2);color:var(--lp-cream)}
.local-brand{display:inline-flex;align-items:center;gap:11px}
.local-brand img{width:38px;height:38px;flex:none}
.local-brand-copy{display:flex;flex-direction:column;line-height:1}
.local-brand-copy strong{font-family:'League Spartan',Arial,sans-serif;font-size:1.52rem;font-weight:800;letter-spacing:-.04em}
.local-brand-copy strong span{color:var(--lp-green)}
.local-brand-copy small{margin-top:5px;font-size:.43rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--lp-deep)}
.local-header--inverse .local-brand-copy small{color:rgba(241,239,231,.65)}
.local-nav{display:flex;align-items:center;gap:28px;font-size:.8rem;font-weight:700}
.local-nav a{border-bottom:1px solid transparent;padding-block:8px}
.local-nav a:hover{border-color:var(--lp-green)}
.local-nav-cta{padding:11px 18px!important;border:1px solid currentColor!important;border-radius:999px}

.local-hero{background:var(--lp-black);color:var(--lp-cream);min-height:760px}
.local-breadcrumb{display:flex;gap:10px;align-items:center;padding-top:36px;font-size:.72rem;color:rgba(241,239,231,.56)}
.local-breadcrumb strong{color:var(--lp-soft)}
.local-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center;min-height:485px}
.local-eyebrow{display:flex;align-items:center;gap:12px;font-family:Montserrat,Arial,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--lp-soft)}
.local-eyebrow::before{content:'';width:24px;height:2px;background:var(--lp-green);flex:none}
.local-eyebrow--ink{color:var(--lp-deep)}
.local-hero h1{margin-top:28px;font-size:clamp(4rem,8vw,7.4rem);font-weight:800}
.local-hero h1 span{color:var(--lp-green)}
.local-lead{max-width:660px;margin-top:28px!important;font-size:clamp(1.05rem,1.6vw,1.25rem);color:rgba(241,239,231,.72)}
.local-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.local-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid transparent;border-radius:999px;font-family:Montserrat,Arial,sans-serif;font-size:.8rem;font-weight:700;transition:transform .2s ease,background .2s ease}
.local-button:hover{transform:translateY(-2px)}
.local-button--cream{background:var(--lp-cream);color:var(--lp-black)}
.local-button--ghost{border-color:rgba(241,239,231,.42);color:var(--lp-cream)}
.local-button--outline{border-color:rgba(241,239,231,.5);color:var(--lp-cream)}
.local-button--ink{background:var(--lp-black);color:var(--lp-cream)}
.local-number{justify-self:end;font-family:Montserrat,Arial,sans-serif;font-size:clamp(10rem,24vw,21rem);font-weight:800;letter-spacing:-.1em;line-height:.65;color:transparent;-webkit-text-stroke:1px rgba(241,239,231,.22)}
.local-facts{display:grid;grid-template-columns:1.2fr .7fr .8fr;border-top:1px solid rgba(241,239,231,.22)}
.local-facts>div{min-height:100px;padding:24px 28px 20px 0;border-right:1px solid rgba(241,239,231,.22)}
.local-facts>div+div{padding-left:28px}.local-facts>div:last-child{border-right:0}
.local-facts span{display:block;font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(241,239,231,.45)}
.local-facts strong,.local-facts a{display:block;margin-top:9px;font-family:Montserrat,Arial,sans-serif;font-size:.86rem;font-weight:700}

.local-intro{padding:clamp(100px,13vw,170px) 0;background:var(--lp-cream)}
.local-intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(50px,10vw,140px);align-items:end}
.local-intro h2{margin-top:28px;font-size:clamp(2.9rem,5.5vw,5.4rem);max-width:12ch}
.local-intro-grid>p{font-size:1.13rem;color:#4d4d4d;max-width:570px}

.local-dna{padding:clamp(90px,11vw,150px) 0;background:var(--lp-white)}
.local-dna h2{margin-top:26px;font-size:clamp(2.7rem,5vw,4.8rem);max-width:12ch}
.local-dna-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:64px;border-top:1px solid var(--lp-line)}
.local-dna-grid article{min-height:320px;padding:32px 36px 20px 0;border-right:1px solid var(--lp-line);display:flex;flex-direction:column}
.local-dna-grid article+article{padding-left:36px}.local-dna-grid article:last-child{border-right:0}
.local-dna-grid span{font-family:Montserrat,Arial,sans-serif;font-size:.7rem;font-weight:700;color:var(--lp-green)}
.local-dna-grid h3{margin-top:auto;font-size:clamp(1.6rem,2.4vw,2.3rem)}
.local-dna-grid p{margin-top:16px;color:#595959;max-width:34ch}

.local-practical{padding:clamp(100px,12vw,160px) 0;background:var(--lp-cream)}
.local-practical-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,9vw,130px)}
.local-practical h2{margin-top:28px;font-size:clamp(2.8rem,5.4vw,5.1rem);max-width:10ch}
.local-google-card{display:flex;flex-direction:column;margin-top:50px;padding:26px;border:1px solid var(--lp-line);background:rgba(255,255,255,.35);transition:background .2s ease,transform .2s ease}
.local-google-card:hover{background:var(--lp-white);transform:translateY(-3px)}
.local-google-card span{font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lp-green)}
.local-google-card strong{margin-top:14px;font-family:Montserrat,Arial,sans-serif;font-size:1.2rem}
.local-google-card b{margin-top:28px;font-size:.78rem}
.local-hours,.local-services{border-top:1px solid var(--lp-line)}
.local-hours h3,.local-services h3{padding:24px 0;font-size:1.35rem}
.local-hours>div{display:flex;justify-content:space-between;gap:24px;padding:17px 0;border-top:1px solid var(--lp-line)}
.local-hours>div span{color:#555}.local-hours>div strong{font-family:Montserrat,Arial,sans-serif;font-size:.85rem}
.local-hours small{display:block;margin-top:18px;color:#666}
.local-services{margin-top:48px}
.local-services ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--lp-line)}
.local-services li{padding:15px 0;border-bottom:1px solid var(--lp-line);font-weight:600}
.local-services li::before{content:'+';display:inline-block;width:28px;color:var(--lp-green);font-family:Montserrat,Arial,sans-serif;font-weight:700}

.local-engine{padding:clamp(100px,12vw,160px) 0;background:var(--lp-deep);color:var(--lp-cream)}
.local-engine-head{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(50px,9vw,130px);align-items:end}
.local-engine h2{margin-top:28px;font-size:clamp(3rem,5.7vw,5.7rem);max-width:11ch}
.local-engine-head>p{font-size:1.08rem;color:rgba(241,239,231,.7);max-width:570px}
.local-engine-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:18px;margin-top:72px;padding:26px 0;border-top:1px solid rgba(241,239,231,.25);border-bottom:1px solid rgba(241,239,231,.25);font-family:Montserrat,Arial,sans-serif;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.local-engine-flow i{font-style:normal;color:var(--lp-green)}
.local-socials{display:grid;grid-template-columns:1fr 1fr;margin-top:52px;border:1px solid rgba(241,239,231,.25)}
.local-socials a{min-height:210px;padding:32px;display:flex;flex-direction:column;border-right:1px solid rgba(241,239,231,.25);transition:background .2s ease}
.local-socials a:last-child{border-right:0}.local-socials a:hover{background:rgba(241,239,231,.06)}
.local-socials small{font-size:.65rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--lp-soft)}
.local-socials strong{margin-top:22px;font-family:Montserrat,Arial,sans-serif;font-size:clamp(1.6rem,3vw,2.8rem)}
.local-socials span{margin-top:auto;font-size:.78rem;font-weight:700}

.local-contact{padding:clamp(100px,12vw,160px) 0;background:var(--lp-green);color:var(--lp-white);text-align:center}
.local-contact .local-eyebrow{justify-content:center;color:var(--lp-white)}
.local-contact h2{margin-top:26px;font-size:clamp(3.3rem,7vw,6.6rem)}
.local-contact>div>p:not(.local-eyebrow){margin-top:24px;color:rgba(255,255,255,.76)}
.local-actions--center{justify-content:center}
.local-footer{padding:24px 0 32px;background:var(--lp-black);color:var(--lp-cream)}
.local-footer .local-header{height:72px}
.local-footer>div>p{padding-top:24px;border-top:1px solid rgba(241,239,231,.16);font-size:.7rem;color:rgba(241,239,231,.45)}

.directory-hero{padding-bottom:clamp(90px,12vw,150px);background:var(--lp-cream)}
.directory-hero .local-eyebrow{margin-top:clamp(90px,11vw,145px)}
.directory-hero h1{margin-top:28px;font-size:clamp(3.4rem,7vw,6.7rem);max-width:13ch}
.directory-hero>div>p:last-child{max-width:700px;margin-top:30px;font-size:1.12rem;color:#4f4f4f}
.directory-list{padding-bottom:clamp(100px,12vw,160px);background:var(--lp-white)}
.directory-card{display:grid;grid-template-columns:130px 1fr auto;gap:42px;align-items:center;padding:44px 0;border-bottom:1px solid var(--lp-line)}
.directory-card>span{font-family:Montserrat,Arial,sans-serif;font-size:clamp(3.5rem,6vw,6rem);font-weight:800;letter-spacing:-.08em;color:var(--lp-deep)}
.directory-card p{font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--lp-green)}
.directory-card h2{margin-top:10px;font-size:clamp(1.8rem,3vw,2.8rem)}
.directory-card address{margin-top:14px;font-style:normal;color:#555;line-height:1.5}
.directory-card-actions{display:flex;flex-direction:column;align-items:flex-end;gap:20px;font-family:Montserrat,Arial,sans-serif;font-size:.78rem;font-weight:700}

@media(max-width:900px){
  .local-nav a:not(.local-nav-cta){display:none}
  .local-hero-grid,.local-intro-grid,.local-practical-grid,.local-engine-head{grid-template-columns:1fr}
  .local-number{display:none}
  .local-hero-grid{min-height:500px}
  .local-facts{grid-template-columns:1fr 1fr}.local-facts>div:last-child{grid-column:1/-1;border-top:1px solid rgba(241,239,231,.22);padding-left:0}
  .local-dna-grid{grid-template-columns:1fr}.local-dna-grid article,.local-dna-grid article+article{min-height:250px;padding:28px 0;border-right:0;border-bottom:1px solid var(--lp-line)}
  .local-engine-flow{grid-template-columns:1fr;gap:12px}.local-engine-flow i{transform:rotate(90deg);justify-self:start}
  .directory-card{grid-template-columns:100px 1fr}.directory-card-actions{grid-column:2;align-items:flex-start}
}

@media(max-width:600px){
  :root{--lp-shell:calc(100% - 40px)}
  .local-header{height:78px}.local-brand img{width:32px;height:32px}.local-brand-copy strong{font-size:1.3rem}.local-brand-copy small{font-size:.36rem;letter-spacing:.075em}.local-nav-cta{padding:9px 13px!important;font-size:.7rem}
  .local-breadcrumb{display:none}.local-hero-grid{min-height:600px}.local-hero h1{font-size:clamp(3.5rem,18vw,5.2rem)}
  .local-facts{grid-template-columns:1fr}.local-facts>div,.local-facts>div+div,.local-facts>div:last-child{grid-column:auto;min-height:auto;padding:20px 0;border-right:0;border-top:1px solid rgba(241,239,231,.22)}
  .local-socials{grid-template-columns:1fr}.local-socials a{border-right:0;border-bottom:1px solid rgba(241,239,231,.25)}.local-socials a:last-child{border-bottom:0}
  .directory-card{grid-template-columns:1fr;gap:18px}.directory-card-actions{grid-column:auto;align-items:flex-start}.directory-card>span{font-size:4.5rem}
}


.local-life{padding:clamp(100px,12vw,160px) 0;background:var(--lp-cream)}
.local-life-head{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(48px,9vw,130px);align-items:end}
.local-life h2{margin-top:28px;font-size:clamp(3rem,5.5vw,5.3rem);max-width:10ch}
.local-owner-card{padding:30px;border-top:3px solid var(--lp-green);background:var(--lp-white)}
.local-owner-card>span{font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--lp-green)}
.local-owner-card h3{margin-top:22px;font-size:clamp(1.65rem,2.8vw,2.8rem)}
.local-owner-card p{margin-top:18px;color:#555;max-width:48ch}
.local-gallery{display:grid;grid-template-columns:1.7fr .65fr .65fr;gap:14px;margin-top:58px;min-height:520px}
.local-gallery-item{margin:0;min-width:0;overflow:hidden;background:var(--lp-black)}
.local-gallery-item a{position:relative;display:block;width:100%;height:100%;overflow:hidden}
.local-gallery-item img{display:block;width:100%;height:100%;min-height:520px;object-fit:cover;transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .3s ease}
.local-gallery-item:not(.local-gallery-item--main) img{object-position:center top}
.local-gallery-item a:hover img{transform:scale(1.025);filter:brightness(.86)}
.local-gallery-item figcaption{position:absolute;inset:auto 0 0;padding:52px 22px 20px;background:linear-gradient(transparent,rgba(0,0,0,.78));color:var(--lp-white);font-size:.72rem;font-weight:700;letter-spacing:.04em}
.local-gallery-item figcaption span{float:right;color:var(--lp-soft)}

@media(max-width:900px){
  .local-life-head{grid-template-columns:1fr}
  .local-gallery{grid-template-columns:1.4fr .6fr;min-height:0}
  .local-gallery-item--main{grid-column:1/-1;height:440px}
  .local-gallery-item:not(.local-gallery-item--main){height:460px}
  .local-gallery-item img{min-height:100%}
}

@media(max-width:600px){
  .local-gallery{grid-template-columns:1fr 1fr;gap:8px;margin-top:38px}
  .local-gallery-item--main{height:300px}
  .local-gallery-item:not(.local-gallery-item--main){height:330px}
  .local-gallery-item figcaption{padding:42px 14px 14px;font-size:.63rem}
}
