/* [style*=…] marker + href-translated rules; body-prefixed clones so
   block-library resets (.wp-block-image img{height:auto}) can't win */



[aria-label="Previous reviews"] ~ div > div.nfs-m1,
[aria-label="Previous reviews"] ~ div > div.nfs-m2 {
  transition: transform .55s var(--ease-out);
}


.nfs-m3 a:focus-visible,
.nfs-m3 button:focus-visible,
.nfs-m4 a:focus-visible,
.nfs-m4 button:focus-visible {
  outline-color: #fff;
}
@media (max-width: 1024px) {
  
  .nfs-m5 {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  
  .nfs-m6 {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  
  .nfs-m7,
  .nfs-m8 {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
  }

  
  .nfs-m9 {
    grid-template-columns: 1fr 1fr !important;
    gap: 2.5rem !important;
  }}
@media (max-width: 768px) {
  .nfs-m6,
  .nfs-m10,
  .nfs-m11 {
    grid-template-columns: 1fr !important;
  }


  
  section.nfs-m12 { padding-top: 128px !important; }

  section.nfs-m13 { padding-bottom: 3.5rem !important; }


  
  .nfs-m14.nfs-m15 {
    position: static !important;
    max-width: 100% !important;
    margin-top: 1.25rem;
  }

  section .nfs-m16.nfs-m17 {
    flex-direction: column !important;
    align-items: stretch !important;
  }


  
  .nfs-m18,
  .nfs-m19 { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }}
@media (min-width: 1025px) {
  section p:not(.nfs-m20) { max-width: 72ch; }}
@media (max-width: 840px) {

  
  nav a[href="/"] > div {
    white-space: nowrap;
    font-size: 1rem !important;
    line-height: 1.2;
  }

  
  nav .nfis-links + div > a[href*="/contact/"] { display: none !important; }}
@media (max-width: 768px) {
  .nfs-m21.nfs-m22 { display: none !important; }}
@media (max-width: 560px) {
  .nfs-m5,
  .nfs-m9 {
    grid-template-columns: 1fr !important;
  }}
@media (max-width: 380px) {
  nav a[href="/"] > div { font-size: .9rem !important; }

  nav a[href="/"] img { height: 36px !important; }}
body .sc-placeholder, body .sc-placeholder-error{
  background: none !important;
  border: none !important;
}
body .nfis-skip{
  position: fixed;
  top: -100px;
  left: 1rem;
  z-index: var(--z-skip);
  background: var(--sage);
  color: #fff;
  padding: .75rem 1.25rem;
  border-radius: 10px;
  font-weight: 600;
  transition: top var(--dur-base) var(--ease-out);
}
body nav .nfis-links a::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1.5px;
  background: var(--sage-deep);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--dur-base) var(--ease-out);
}
body a:focus-visible, body button:focus-visible, body summary:focus-visible, body input:focus-visible, body select:focus-visible, body textarea:focus-visible, body [tabindex]:focus-visible{
  outline: 2.5px solid var(--sage-deep);
  outline-offset: 3px;
  border-radius: 4px;
}
body img{ max-width: 100%; height: auto; }
body [aria-label^="Reviews page"]::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 44px;
  height: 44px;
  transform: translate(-50%, -50%);
}
@media (max-width: 900px) {body .calc-tab{
    width: auto;
    flex: 0 0 auto;
    white-space: nowrap;
    border: 1.5px solid var(--sage-pale);
    background: var(--white);
  }}
body .nfis-burger{
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  color: var(--charcoal);
}
body .nfis-burger span{
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
  background: currentColor;
  transition: transform var(--dur-base) var(--ease-out),
              opacity var(--dur-fast) linear;
}
body .nfis-drawer__cta{
  margin-top: 1.5rem;
  background: var(--sage);
  color: #fff !important;
  text-align: center;
  border: none !important;
  border-radius: 100px;
  padding: .9rem 1.5rem !important;
  font-family: inherit !important;
  font-size: 1rem !important;
}
@media (max-width: 380px) {body nav a[href="index.html"] img{ height: 36px !important; }}
body nav.nfis-scrolled{
  background: rgba(253, 249, 243, .95) !important;
  backdrop-filter: blur(16px);
  box-shadow: 0 2px 20px rgba(0, 0, 0, .06) !important;
}
body .nav.scrolled{background:rgba(253,249,243,.95);backdrop-filter:blur(16px);box-shadow:0 2px 20px rgba(0,0,0,.04)}
body .nav__brand-logo{height:44px;width:auto;display:block}
body .nav__cta{background:var(--sage);color:var(--white);padding:.625rem 1.5rem;border-radius:100px;font-weight:600;font-size:.8125rem;transition:all .3s;letter-spacing:.02em}
body .nav__cta:hover{background:var(--sage-deep);transform:translateY(-1px);box-shadow:0 6px 20px rgba(91,123,94,.25)}
body .nav__hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;background:none;border:none;width:44px;height:44px;padding:0;color:var(--charcoal)}
body .nav__hamburger span{width:22px;height:2px;background:currentColor;border-radius:1px;transition:all .3s}
body .skip{position:fixed;top:-100px;left:1rem;z-index:var(--z-skip);background:var(--sage);color:var(--white);padding:.75rem 1.25rem;border-radius:10px;font-weight:600;transition:top .2s ease}
body .footer__logo{height:50px;width:auto;display:block;flex-shrink:0}
body :where(body.home) .hero{position:relative;min-height:95vh;display:flex;align-items:center;background:var(--cream);padding-top:80px;overflow:hidden}
body :where(body.home) .hero__accent{position:absolute;top:0;right:0;width:45%;height:100%;background:var(--sage-wash);border-radius:0 0 0 80px;opacity:.6}
body :where(body.home) .btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 2rem;font-size:.9375rem;font-weight:600;border-radius:100px;border:none;cursor:pointer;transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s ease,box-shadow .3s ease}
body :where(body.home) .btn--primary:hover{background:var(--sage-deep);transform:translateY(-2px);box-shadow:0 10px 30px rgba(91,123,94,.25)}
body :where(body.home) .btn--soft{background:var(--white);color:var(--sage-deep);border:1.5px solid var(--sage-light)}
body :where(body.home) .btn--outline{background:transparent;color:var(--sage-deep);border:1.5px solid var(--sage-light)}
body :where(body.home) .hero__image-frame{position:relative;width:100%;max-width:440px;aspect-ratio:4/5;border-radius:24px;overflow:hidden;background:var(--sage-pale)}
body :where(body.home) .hero__image-frame::before{content:'';position:absolute;inset:0;border:2px solid rgba(91,123,94,.15);border-radius:24px;z-index:2}
body :where(body.home) .hero__image-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:var(--sage-light);font-size:.8rem;line-height:1.6}
body :where(body.home) .hero__image-placeholder svg{width:56px;height:56px;fill:var(--sage-light);opacity:.5;margin-bottom:1rem}
body :where(body.home) .hero__float-card{position:absolute;bottom:24px;left:-24px;background:var(--white);border-radius:16px;padding:1.25rem 1.5rem;box-shadow:0 12px 40px rgba(0,0,0,.08);z-index:3;max-width:210px}
body :where(body.home) .local__area{padding:.5rem 1.25rem;background:var(--sage-pale);border-radius:100px;font-size:.8125rem;font-weight:600;color:var(--sage-deep)}
body :where(body.home) .local__map{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:4/3;background:var(--sage-wash)}
body :where(body.home) .local__map-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--sage-light);font-size:.8rem;text-align:center;padding:2rem}
body :where(body.home) .service-card{background:var(--white);border-radius:20px;padding:2.25rem;transition:transform .4s ease,box-shadow .4s ease,border-color .4s ease;border:1.5px solid transparent}
body :where(body.home) .service-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.06);border-color:var(--sage-pale)}
body :where(body.home) .service-card__emoji{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:var(--sage-pale);color:var(--sage-deep);margin-bottom:1.25rem}
body :where(body.home) .service-card__emoji svg{width:26px;height:26px}
body :where(body.home) .story__step{background:var(--white);border-radius:20px;padding:2.25rem;display:flex;gap:1.5rem;align-items:flex-start;transition:all .3s}
body :where(body.home) .story__step:hover{box-shadow:0 12px 40px rgba(0,0,0,.05)}
body :where(body.home) .story__step-num{width:48px;height:48px;border-radius:16px;background:var(--sage-pale);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.25rem;color:var(--sage-deep);flex-shrink:0}
body :where(body.home) .human__image{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:1;background:var(--terracotta-pale)}
body :where(body.home) .human__image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--terracotta-light);font-size:.8rem;text-align:center;padding:2rem}
body :where(body.home) .testimonial::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:rgba(255,255,255,.03)}
body :where(body.home) .team__card{max-width:500px;margin:0 auto;background:var(--white);border-radius:24px;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,.04)}
body :where(body.home) .team__contact a{padding:.625rem 1.5rem;border-radius:100px;font-size:.875rem;font-weight:600;transition:all .3s}
body :where(body.home) .team__contact .btn--outline{background:transparent;color:var(--sage-deep);border:1.5px solid var(--sage-light)}
body :where(body.home) .faq__item{background:var(--cream);border-radius:16px;padding:1.75rem;cursor:pointer;transition:all .3s}
body :where(body.home) .faq__item:hover{box-shadow:0 4px 20px rgba(0,0,0,.04)}
body :where(body.home) .faq__answer{font-size:.9375rem;color:var(--warm-grey);line-height:1.7;max-height:0;overflow:hidden;transition:max-height .4s ease}
body :where(body.home) .faq__item.open .faq__answer{max-height:300px;margin-top:.75rem}
body :where(body.home) .hero__image-frame img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
body :where(body.home) .local__map img{width:100%;height:100%;object-fit:cover}
body :where(body.home) .human__image img{width:100%;height:100%;object-fit:cover;object-position:center}
body :where(body.home) .team__photo img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
body :where(body.home *):focus-visible{outline:2px solid var(--sage);outline-offset:2px;border-radius:2px}
@media(max-width:1024px){body :where(body.home) .hero__accent{width:100%;opacity:.3;border-radius:0 0 0 40px}}
@media(max-width:768px){body :where(body.home) .hero{min-height:auto;padding:100px 0 4rem}
body :where(body.home) .hero__float-card{position:relative;left:auto;transform:none;bottom:auto;margin-top:1rem;max-width:100%;box-shadow:none;border:1px solid var(--sage-pale)}}
figure.wp-block-image{margin:0}
.wp-block-group{min-width:0}
.wp-block-group,.wp-block-image{box-sizing:content-box}
body.home .wp-block-group,body.home .wp-block-image{box-sizing:border-box}
.wp-block-group__inner-container{display:contents}
:where(body.home) .hero__image-frame figure.wp-block-image{height:100%}
:where(body.home) .local__map figure.wp-block-image{height:100%}
:where(body.home) .human__image figure.wp-block-image{height:100%}
:where(body.home) .team__photo figure.wp-block-image{height:100%}
