/* =========================================================
   CRAFT — GENERIC SERVICE PAGE
   ========================================================= */
.service-site{background:var(--craft-ivory,#f6f1e9)}

.service-hero{
  position:relative;
  min-height:680px;
  display:flex;
  align-items:end;
  color:#fff;
  overflow:hidden;
}
.service-hero-image{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-image:url("assets/category-extension.jpg");
}
.service-hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(31,26,22,.86),rgba(31,26,22,.48) 55%,rgba(31,26,22,.14)),
    linear-gradient(0deg,rgba(31,26,22,.3),transparent 50%);
}
.service-hero-content{
  position:relative;
  z-index:2;
  padding:90px 7vw 110px;
  max-width:980px;
}
.service-back{
  display:inline-block;
  margin-bottom:42px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  opacity:.74;
}
.service-kicker{
  display:block;
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
}
.service-hero h1{
  margin:20px 0 24px;
  max-width:950px;
  font-family:Georgia,serif;
  font-size:clamp(64px,8vw,120px);
  font-weight:400;
  line-height:.84;
  letter-spacing:-5px;
}
.service-hero-content>p{
  max-width:630px;
  margin:0;
  font-size:19px;
  line-height:1.65;
  color:rgba(255,255,255,.82);
}
.service-hero-meta{
  position:absolute;
  z-index:3;
  left:0;right:0;bottom:0;
  display:flex;
  gap:30px;
  padding:20px 7vw;
  border-top:1px solid rgba(255,255,255,.18);
  background:rgba(31,26,22,.33);
  backdrop-filter:blur(10px);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.service-intro{
  display:grid;
  grid-template-columns:100px 1.1fr .9fr;
  gap:50px;
  padding-top:105px;
  padding-bottom:110px;
  background:var(--craft-ivory,#f6f1e9);
}
.service-intro-label{
  display:grid;
  align-content:start;
  gap:8px;
  color:var(--craft-accent,#a8613c);
}
.service-intro-label span{font-family:Georgia,serif}
.service-intro-label small{
  color:#776a60;
  font-size:9px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.service-intro-main h2{
  margin:17px 0 0;
  font-family:Georgia,serif;
  font-size:clamp(50px,5.5vw,80px);
  font-weight:400;
  line-height:.94;
  letter-spacing:-3px;
}
.service-intro>p{
  align-self:end;
  margin:0 0 10px;
  color:#70645a;
  font-size:17px;
  line-height:1.75;
}

.service-details{
  padding:105px 0 115px;
  background:var(--craft-linen,#ded0bf);
}
.service-details-head{
  display:grid;
  grid-template-columns:1fr .52fr;
  gap:80px;
  align-items:end;
  margin-bottom:52px;
}
.service-details-head h2{
  margin:16px 0 0;
  font-family:Georgia,serif;
  font-size:clamp(50px,5.3vw,76px);
  font-weight:400;
  line-height:.94;
  letter-spacing:-3px;
}
.service-details-head>p{
  color:#675a50;
  line-height:1.7;
}
.service-items{border-top:1px solid rgba(51,42,36,.18)}
.service-item-detail{
  display:grid;
  grid-template-columns:70px 1fr 1.1fr;
  gap:30px;
  align-items:center;
  min-height:115px;
  border-bottom:1px solid rgba(51,42,36,.18);
}
.service-item-detail>span{
  color:var(--craft-accent,#a8613c);
  font-family:Georgia,serif;
}
.service-item-detail h3{
  margin:0;
  font-family:Georgia,serif;
  font-size:26px;
  font-weight:400;
}
.service-item-detail p{
  margin:0;
  color:#6c5f54;
  line-height:1.55;
}

.service-showcase{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  min-height:620px;
  background:var(--craft-espresso,#2b2521);
  color:#fff;
}
.service-showcase-image{
  min-height:620px;
  background-size:cover;
  background-position:center;
  background-image:url("assets/category-extension.jpg");
}
.service-showcase-copy{
  padding:80px 7vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.service-showcase-copy h2{
  margin:18px 0 24px;
  font-family:Georgia,serif;
  font-size:clamp(48px,5vw,72px);
  font-weight:400;
  line-height:.95;
  letter-spacing:-3px;
}
.service-showcase-copy p{
  max-width:520px;
  color:#c7b9ad;
  line-height:1.75;
  margin-bottom:30px;
}

.service-process{
  padding-top:110px;
  padding-bottom:115px;
  background:var(--craft-ivory,#f6f1e9);
}
.service-process-head{
  max-width:780px;
  margin-bottom:55px;
}
.service-process-head h2{
  margin:17px 0 0;
  font-family:Georgia,serif;
  font-size:clamp(48px,5vw,72px);
  font-weight:400;
  line-height:.95;
  letter-spacing:-3px;
}
.service-process-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(51,42,36,.16);
}
.service-process-grid article{
  min-height:210px;
  padding:25px 26px 12px 0;
  border-right:1px solid rgba(51,42,36,.16);
}
.service-process-grid article+article{padding-left:26px}
.service-process-grid article:last-child{border-right:0}
.service-process-grid span{
  color:var(--craft-accent,#a8613c);
  font-family:Georgia,serif;
}
.service-process-grid h3{
  margin:55px 0 10px;
  font-family:Georgia,serif;
  font-size:24px;
  font-weight:400;
}
.service-process-grid p{
  color:#70645a;
  line-height:1.6;
  font-size:13px;
}

.service-zone{
  padding:88px 0;
  background:var(--craft-espresso,#2b2521);
  color:#fff;
}
.service-zone-shell{
  display:grid;
  grid-template-columns:1fr .75fr;
  gap:90px;
  align-items:end;
}
.service-zone h2{
  margin:16px 0 0;
  font-family:Georgia,serif;
  font-size:clamp(46px,5vw,70px);
  font-weight:400;
  line-height:.95;
  letter-spacing:-3px;
}
.service-zone p{
  color:#d0c2b7;
  line-height:1.65;
  font-family:Georgia,serif;
  font-size:20px;
}
.service-zone a{
  display:inline-block;
  margin-top:18px;
  color:#dfad87;
  font-size:11px;
  font-weight:800;
}

.service-contact{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:90px;
  padding:110px 7vw;
  background:#a8613c;
  color:white;
}
.service-contact-copy h2{
  margin:18px 0 24px;
  font-family:Georgia,serif;
  font-size:clamp(50px,5.5vw,80px);
  font-weight:400;
  line-height:.92;
  letter-spacing:-3px;
}
.service-contact-copy h2 em{color:#2b2521;font-weight:400}
.service-contact-copy>p{
  max-width:460px;
  line-height:1.7;
  color:rgba(255,255,255,.82);
}
.service-contact-card{
  padding:34px;
  background:#f6f1e9;
  color:#332a24;
  box-shadow:0 25px 65px rgba(60,30,15,.18);
}
.service-contact-direct{
  border-top:1px solid rgba(51,42,36,.15);
  border-bottom:1px solid rgba(51,42,36,.15);
  margin-bottom:28px;
}
.service-contact-direct a{
  display:grid;
  grid-template-columns:100px 1fr;
  gap:20px;
  align-items:center;
  min-height:68px;
  border-bottom:1px solid rgba(51,42,36,.15);
}
.service-contact-direct a:last-child{border-bottom:0}
.service-contact-direct span{
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.service-contact-direct strong{
  font-family:Georgia,serif;
  font-size:18px;
  font-weight:400;
}

@media(max-width:980px){
  .service-intro,
  .service-details-head,
  .service-showcase,
  .service-zone-shell,
  .service-contact{
    grid-template-columns:1fr;
  }
  .service-intro-label{display:none}
  .service-showcase-image{min-height:420px}
  .service-process-grid{grid-template-columns:1fr 1fr}
  .service-process-grid article:nth-child(2){border-right:0}
  .service-process-grid article:nth-child(3),
  .service-process-grid article:nth-child(4){border-top:1px solid rgba(51,42,36,.16)}
}
@media(max-width:700px){
  .service-hero{min-height:610px}
  .service-hero-content{padding:70px 24px 100px}
  .service-hero h1{font-size:58px;letter-spacing:-3px}
  .service-hero-meta{padding-left:24px;padding-right:24px;flex-wrap:wrap}
  .service-intro{grid-template-columns:1fr;padding:78px 24px}
  .service-intro-main h2,
  .service-details-head h2,
  .service-showcase-copy h2,
  .service-process-head h2,
  .service-zone h2,
  .service-contact-copy h2{letter-spacing:-2px}
  .service-details{padding:78px 0}
  .service-item-detail{grid-template-columns:42px 1fr;padding:20px 0}
  .service-item-detail p{grid-column:2}
  .service-showcase-image{min-height:340px}
  .service-showcase-copy{padding:65px 24px}
  .service-process{padding:78px 24px}
  .service-process-grid{grid-template-columns:1fr}
  .service-process-grid article,
  .service-process-grid article+article{
    border-right:0;
    border-top:1px solid rgba(51,42,36,.16);
    padding:23px 0;
    min-height:auto;
  }
  .service-process-grid h3{margin-top:24px}
  .service-zone{padding:72px 0}
  .service-zone-shell{padding-left:24px;padding-right:24px}
  .service-contact{padding:78px 24px;gap:42px}
  .service-contact-card{padding:24px 20px}
  .service-contact-direct a{grid-template-columns:78px 1fr}
}


/* =========================================================
   SERVICE V7.4 — FIXED HEADER + REAL MAP + BUTTONS
   ========================================================= */
.service-site{
  padding-top:var(--craft-header-h,94px);
}

.service-zone{
  padding:0 !important;
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:560px;
}

.service-zone-map{
  position:relative;
  min-height:560px;
}

.service-zone-map iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  filter:saturate(.75) contrast(.96);
}

.service-zone-shell{
  display:grid !important;
  grid-template-columns:1fr !important;
  align-content:center;
  gap:28px !important;
  padding-top:70px;
  padding-bottom:70px;
}

.service-back{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:999px;
  background:rgba(255,255,255,.07);
}

.service-contact-direct a{
  margin:8px 0;
  padding-left:14px;
  padding-right:14px;
  border:1px solid rgba(51,42,36,.14) !important;
  border-radius:12px;
  background:white;
  transition:transform .2s ease,box-shadow .2s ease;
}

.service-contact-direct a:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(40,30,23,.08);
}

@media(max-width:980px){
  .service-zone{
    grid-template-columns:1fr;
  }
  .service-zone-map{
    min-height:390px;
  }
}


/* SERVICE V7.5 — Responsive header follows Craft V7.5 */
@media(max-width:980px){
  .service-site .mobile-nav{
    position:fixed !important;
    top:calc(var(--demo-bar-h,58px) + var(--craft-header-h,94px)) !important;
  }
}


/* =========================================================
   CRAFT V7.13 — SECONDARY PAGES REDESIGN
   Goal: make service/category pages feel like the same design
   system as the homepage.
   ========================================================= */

/* Global rhythm & section identity */
.service-site main{
  background:var(--craft-ivory,#f6f1e9);
}

.service-intro,
.service-details,
.service-showcase,
.service-process,
.service-zone,
.service-contact{
  position:relative;
}

.service-intro::before,
.service-details::before,
.service-showcase::before,
.service-process::before,
.service-zone::before,
.service-contact::before{
  content:"";
  position:absolute;
  left:7vw;
  right:7vw;
  top:0;
  height:2px;
  background:linear-gradient(
    90deg,
    var(--craft-accent,#a8613c) 0 92px,
    rgba(51,42,36,.18) 92px 100%
  );
  z-index:5;
}

/* ---------------------------------------------------------
   HERO — closer to homepage tone
   --------------------------------------------------------- */
.service-hero{
  min-height:720px;
  background:#1f1a16;
}

.service-hero-overlay{
  background:
    linear-gradient(90deg,rgba(31,26,22,.88),rgba(31,26,22,.58) 50%,rgba(31,26,22,.18)),
    linear-gradient(0deg,rgba(31,26,22,.46),rgba(31,26,22,.06) 55%);
}

.service-hero-content{
  max-width:1040px;
  padding-top:115px;
  padding-bottom:125px;
}

.service-back{
  margin-bottom:34px;
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.06);
  color:#fff;
}

.service-kicker{
  color:#dfad87;
}

.service-hero-content > p{
  max-width:670px;
  font-size:18px;
}

.service-hero-meta{
  gap:12px;
  padding-top:18px;
  padding-bottom:18px;
  border-top:1px solid rgba(255,255,255,.12);
  background:rgba(28,23,20,.42);
  backdrop-filter:blur(8px);
}

.service-hero-meta span{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.08);
}

/* ---------------------------------------------------------
   INTRO — more editorial like homepage
   --------------------------------------------------------- */
.service-intro{
  grid-template-columns:92px 1.15fr .85fr;
  align-items:end;
  padding-top:108px;
  padding-bottom:108px;
  background:var(--craft-ivory,#f6f1e9);
}

.service-intro-main .eyebrow{
  color:var(--craft-accent-dark,#7d4329);
}

.service-intro-main h2{
  max-width:760px;
}

.service-intro > p{
  max-width:470px;
  padding-left:12px;
  border-left:2px solid rgba(168,97,60,.18);
}

/* ---------------------------------------------------------
   DETAILS — convert into elegant rows/cards like homepage
   --------------------------------------------------------- */
.service-details{
  padding:108px 0 112px;
  background:#efe5d8;
}

.service-details-head{
  margin-bottom:42px;
}

.service-details-head > p{
  max-width:460px;
  padding-left:12px;
  border-left:2px solid rgba(168,97,60,.18);
}

.service-items{
  display:grid;
  gap:14px;
  border-top:0;
}

.service-item-detail{
  min-height:0;
  padding:24px 26px;
  grid-template-columns:64px .9fr 1.1fr;
  border:1px solid rgba(51,42,36,.12);
  background:#fffaf4;
  box-shadow:0 8px 22px rgba(45,36,29,.04);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.service-item-detail:hover{
  transform:translateY(-2px);
  border-color:rgba(168,97,60,.22);
  box-shadow:0 14px 30px rgba(45,36,29,.08);
}

.service-item-detail > span{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(168,97,60,.08);
  font-size:18px;
}

.service-item-detail h3{
  font-size:29px;
}

.service-item-detail p{
  line-height:1.68;
}

/* ---------------------------------------------------------
   SHOWCASE — premium split section like homepage
   --------------------------------------------------------- */
.service-showcase{
  grid-template-columns:1.08fr .92fr;
  min-height:660px;
  background:var(--craft-espresso,#2b2521);
  align-items:stretch;
}

.service-showcase-image{
  min-height:660px;
  position:relative;
}

.service-showcase-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(28,24,20,.12),rgba(28,24,20,.02));
}

.service-showcase-copy{
  position:relative;
  padding:90px 7vw;
  background:var(--craft-espresso,#2b2521);
}

.service-showcase-copy::before{
  content:"";
  position:absolute;
  top:50%;
  left:0;
  width:1px;
  height:72%;
  transform:translateY(-50%);
  background:rgba(255,255,255,.10);
}

.service-showcase-copy .eyebrow{
  color:#dfad87;
}

.service-showcase-copy p{
  color:#d6c9bd;
}

.service-showcase-copy .button.primary{
  border-radius:999px;
  min-height:48px;
  padding:0 18px;
}

/* ---------------------------------------------------------
   PROCESS — cards closer to homepage
   --------------------------------------------------------- */
.service-process{
  padding-top:108px;
  padding-bottom:112px;
  background:var(--craft-ivory,#f6f1e9);
}

.service-process-head{
  margin-bottom:34px;
}

.service-process-grid{
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  border-top:0;
}

.service-process-grid article{
  min-height:225px;
  padding:24px 22px 20px;
  border:1px solid rgba(51,42,36,.12);
  background:#fffaf4;
  box-shadow:0 8px 20px rgba(45,36,29,.04);
}

.service-process-grid article+article{
  padding-left:22px;
}

.service-process-grid article:last-child{
  border-right:1px solid rgba(51,42,36,.12);
}

.service-process-grid span{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(168,97,60,.08);
  font-size:17px;
}

.service-process-grid h3{
  margin:28px 0 12px;
}

.service-process-grid p{
  font-size:14px;
  line-height:1.7;
}

/* ---------------------------------------------------------
   ZONE — harmonised with homepage
   --------------------------------------------------------- */
.service-zone{
  background:var(--craft-espresso,#2b2521);
}

.service-zone::before{
  background:linear-gradient(
    90deg,
    #dfad87 0 92px,
    rgba(255,255,255,.18) 92px 100%
  );
}

.service-zone-map iframe{
  filter:saturate(.78) contrast(.97);
}

.service-zone-shell{
  padding-top:82px;
  padding-bottom:82px;
}

.service-zone .eyebrow{
  color:#dfad87;
}

.service-zone p{
  max-width:520px;
}

/* ---------------------------------------------------------
   CONTACT — stronger finish, same premium family
   --------------------------------------------------------- */
.service-contact{
  align-items:start;
  padding-top:108px;
  padding-bottom:112px;
  background:#a8613c;
}

.service-contact::before{
  background:linear-gradient(
    90deg,
    #2b2521 0 92px,
    rgba(255,255,255,.20) 92px 100%
  );
}

.service-contact-card{
  border:1px solid rgba(51,42,36,.12);
  border-radius:0;
  background:#fffaf4;
}

.service-contact-direct{
  border-top:0;
  border-bottom:0;
}

.service-contact-copy .eyebrow{
  color:#f6dfcf;
}

.service-contact-copy > p{
  color:rgba(255,255,255,.86);
}

/* ---------------------------------------------------------
   Responsive adjustments
   --------------------------------------------------------- */
@media(max-width:980px){
  .service-intro{
    grid-template-columns:1fr;
    gap:26px;
  }

  .service-intro > p,
  .service-details-head > p{
    padding-left:0;
    border-left:0;
  }

  .service-item-detail{
    grid-template-columns:52px 1fr;
    gap:14px 18px;
  }

  .service-item-detail p{
    grid-column:2;
  }

  .service-showcase{
    grid-template-columns:1fr;
    min-height:0;
  }

  .service-showcase-image{
    min-height:420px;
  }

  .service-showcase-copy::before{
    display:none;
  }

  .service-process-grid{
    grid-template-columns:1fr 1fr;
  }

  .service-process-grid article,
  .service-process-grid article+article,
  .service-process-grid article:last-child{
    border-right:1px solid rgba(51,42,36,.12);
  }
}

@media(max-width:700px){
  .service-intro::before,
  .service-details::before,
  .service-showcase::before,
  .service-process::before,
  .service-zone::before,
  .service-contact::before{
    left:24px;
    right:24px;
  }

  .service-hero{
    min-height:640px;
  }

  .service-hero-content{
    padding-top:88px;
    padding-bottom:106px;
  }

  .service-hero-meta{
    gap:8px;
  }

  .service-hero-meta span{
    min-height:32px;
    padding:0 12px;
  }

  .service-intro,
  .service-details,
  .service-process,
  .service-contact{
    padding-top:80px;
    padding-bottom:82px;
  }

  .service-details-head{
    gap:20px;
    margin-bottom:28px;
  }

  .service-item-detail{
    padding:20px 18px;
    grid-template-columns:44px 1fr;
  }

  .service-item-detail > span{
    width:36px;
    height:36px;
    font-size:16px;
  }

  .service-item-detail h3{
    font-size:25px;
  }

  .service-showcase-image{
    min-height:340px;
  }

  .service-showcase-copy{
    padding:66px 24px;
  }

  .service-process-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .service-process-grid article,
  .service-process-grid article+article,
  .service-process-grid article:last-child{
    padding:20px 18px;
    min-height:0;
    border-top:1px solid rgba(51,42,36,.12);
  }

  .service-process-grid h3{
    margin-top:22px;
  }

  .service-zone-shell{
    padding-top:68px !important;
    padding-bottom:68px !important;
  }

  .service-contact{
    gap:42px;
  }
}


/* =========================================================
   SERVICE V7.14 — AUTOMATIC SERVICE RADIUS MAP
   ========================================================= */
.service-page-radius-map{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:560px;
  background:#d8d2c9;
}

.service-zone-map .leaflet-container{
  font-family:inherit;
}

.service-radius-summary{
  margin-top:14px !important;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.14);
  color:#dfad87 !important;
  font-family:inherit !important;
  font-size:12px !important;
  font-weight:800;
  letter-spacing:.03em;
}

@media(max-width:980px){
  .service-page-radius-map{
    min-height:390px;
  }
}


/* SERVICE V7.15 — DEPENDENCY-FREE RADIUS MAP */
.service-page-radius-map{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:#d6d0c8;
}


/* SERVICE V7.16 — fixed map + correct anchor offset */
#serviceContact{
  scroll-margin-top:calc(var(--demo-bar-h,60px) + var(--craft-header-h,94px) + 18px);
}

.service-page-radius-map,
.service-page-radius-map .radius-map-frame,
.service-page-radius-map .radius-map-overlay{
  pointer-events:none !important;
}

.service-zone-map{
  cursor:default !important;
}


/* V7.28 — service pages use the same city-point map */
.service-radius-summary{
  font-family:inherit !important;
}


/* =========================================================
   V7.30 — INTERACTIVE SERVICE-PAGE MAPS
   ========================================================= */
.service-zone-map,
.service-page-radius-map,
.service-page-radius-map .radius-map-frame{
  pointer-events:auto !important;
}

.service-page-radius-map .radius-map-overlay,
.service-page-radius-map .radius-area-markers,
.service-page-radius-map .service-map-city-marker,
.service-page-radius-map .radius-company-pin{
  pointer-events:none !important;
}


/* V7.31 — Leaflet markers stay anchored while panning/zooming */
.service-page-radius-map.leaflet-container{
  width:100% !important;
  height:100% !important;
  min-height:560px;
  z-index:1;
  cursor:grab !important;
}

.service-page-radius-map.leaflet-container:active{
  cursor:grabbing !important;
}

.service-zone-map .leaflet-control-container{
  position:relative;
  z-index:3;
}

@media(max-width:980px){
  .service-page-radius-map.leaflet-container{
    min-height:390px;
  }
}


/* =========================================================
   LOCAL V1 — SERVICE PAGE POLISH
   ========================================================= */
.local-site.service-site .service-intro::before,
.local-site.service-site .service-details::before,
.local-site.service-site .service-showcase::before,
.local-site.service-site .service-process::before,
.local-site.service-site .service-zone::before,
.local-site.service-site .service-contact::before{
  height:2px !important;
  background:linear-gradient(
    90deg,
    #e7c775 0 90px,
    rgba(66,100,77,.28) 90px 100%
  ) !important;
}

.local-site.service-site .service-showcase::before,
.local-site.service-site .service-contact::before{
  background:linear-gradient(
    90deg,
    #e7c775 0 90px,
    rgba(255,255,255,.18) 90px 100%
  ) !important;
}


/* V7.34 — explicit Local service hero readability */
.local-site.service-site .service-hero h1{
  color:#fff !important;
}

.local-site.service-site .service-hero-content > p{
  color:rgba(255,255,255,.88) !important;
}

.local-site.service-site .service-hero-meta,
.local-site.service-site .service-hero-meta span{
  color:#fff !important;
}


/* =========================================================
   SIGNATURE V1 — SERVICE PAGE DETAIL
   ========================================================= */
.signature-site.service-site .service-intro::before,
.signature-site.service-site .service-details::before,
.signature-site.service-site .service-showcase::before,
.signature-site.service-site .service-process::before,
.signature-site.service-site .service-zone::before,
.signature-site.service-site .service-contact::before{
  height:1px !important;
  background:linear-gradient(90deg,#b89b6b 0 90px,rgba(44,41,37,.20) 90px 100%) !important;
}

.signature-site.service-site .service-showcase::before,
.signature-site.service-site .service-contact::before{
  background:linear-gradient(90deg,#b89b6b 0 90px,rgba(255,255,255,.13) 90px 100%) !important;
}


/* V7.41 — service-page palette text binding */
html[data-color-scheme] .signature-site.service-site .service-intro-main h2,
html[data-color-scheme] .signature-site.service-site .service-details-head h2,
html[data-color-scheme] .signature-site.service-site .service-item-detail h3,
html[data-color-scheme] .signature-site.service-site .service-process-head h2,
html[data-color-scheme] .signature-site.service-site .service-process-grid h3,
html[data-color-scheme] .signature-site.service-site .service-contact-card,
html[data-color-scheme] .signature-site.service-site .service-contact-direct strong,
html[data-color-scheme] .signature-site.service-site .quote-form input,
html[data-color-scheme] .signature-site.service-site .quote-form textarea{
  color:var(--theme-text) !important;
}

html[data-color-scheme] .signature-site.service-site .service-intro-label small,
html[data-color-scheme] .signature-site.service-site .service-intro>p,
html[data-color-scheme] .signature-site.service-site .service-details-head>p,
html[data-color-scheme] .signature-site.service-site .service-item-detail p,
html[data-color-scheme] .signature-site.service-site .service-process-grid p,
html[data-color-scheme] .signature-site.service-site .service-contact-direct span,
html[data-color-scheme] .signature-site.service-site .quote-form label{
  color:var(--theme-muted) !important;
}

html[data-color-scheme] .signature-site.service-site .service-intro-label,
html[data-color-scheme] .signature-site.service-site .service-item-detail>span,
html[data-color-scheme] .signature-site.service-site .service-process-grid span{
  color:var(--theme-accent) !important;
}

html[data-color-scheme] .signature-site.service-site .quote-form input:focus,
html[data-color-scheme] .signature-site.service-site .quote-form textarea:focus{
  border-color:var(--theme-accent) !important;
}

html[data-color-scheme] .signature-site.service-site .armesto-leaflet-label{
  color:var(--theme-text) !important;
}

html[data-color-scheme] .signature-site.service-site .service-hero,
html[data-color-scheme] .signature-site.service-site .service-showcase,
html[data-color-scheme] .signature-site.service-site .service-contact{color:var(--theme-on-dark)!important}
html[data-color-scheme] .signature-site.service-site .service-hero h1,
html[data-color-scheme] .signature-site.service-site .service-showcase h2,
html[data-color-scheme] .signature-site.service-site .service-contact-copy h2,
html[data-color-scheme] .signature-site.service-site .service-contact-copy h2 em{color:var(--theme-on-dark)!important}
html[data-color-scheme] .signature-site.service-site .service-hero-content>p,
html[data-color-scheme] .signature-site.service-site .service-showcase-copy p,
html[data-color-scheme] .signature-site.service-site .service-contact-copy>p{color:var(--theme-on-dark-muted)!important}
html[data-color-scheme] .signature-site.service-site .service-kicker{color:var(--theme-accent-soft)!important}
html[data-color-scheme] .signature-site.service-site .service-zone{color:var(--theme-text)!important}
html[data-color-scheme] .signature-site.service-site .service-zone h2{color:var(--theme-text)!important}
html[data-color-scheme] .signature-site.service-site .service-zone p{color:var(--theme-muted)!important}
html[data-color-scheme] .signature-site.service-site .service-zone a{color:var(--theme-accent)!important}
html[data-color-scheme] .signature-site.service-site .service-contact-card{color:var(--theme-text)!important}


/* =========================================================
   V7.45 — ARTISAN MANAGEMENT LINK
   ========================================================= */
.artisan-space-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:inherit !important;
  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
  opacity:.58;
  text-decoration:none;
  transition:opacity .18s ease;
}

.artisan-space-link:hover{
  opacity:1;
}

.artisan-space-link.plan-hidden{
  display:none !important;
}

.footer-bottom{
  gap:18px;
  flex-wrap:wrap;
}

.footer-bottom .artisan-space-link{
  margin-left:auto;
}

@media(max-width:700px){
  .footer-bottom .artisan-space-link{
    margin-left:0;
  }
}

/* V7.47 — readable service-page labels, badges and map controls. */
html[data-color-scheme] .signature-site.service-site .service-intro-label,
html[data-color-scheme] .signature-site.service-site .service-intro .eyebrow,
html[data-color-scheme] .signature-site.service-site .service-details .eyebrow,
html[data-color-scheme] .signature-site.service-site .service-process .eyebrow{color:var(--theme-accent-text)!important;}
html[data-color-scheme] .signature-site.service-site .service-item-detail>span,
html[data-color-scheme] .signature-site.service-site .service-process-grid span,
html[data-color-scheme] .signature-site.service-site .service-zone a.service-map-button{background:var(--theme-dark)!important;color:var(--theme-on-dark)!important;}
html[data-color-scheme] .signature-site.service-site .service-showcase .eyebrow{color:var(--theme-on-dark-muted)!important;}
html[data-color-scheme] .signature-site.service-site .service-zone .leaflet-control-zoom a,
html[data-color-scheme] .signature-site.service-site .service-zone .leaflet-control-zoom span,
html[data-color-scheme] .signature-site.service-site .service-zone .leaflet-control-attribution a{color:#243029!important;}
html[data-color-scheme] .signature-site.service-site .service-zone .eyebrow{color:var(--theme-accent-text)!important;}
html[data-color-scheme] .signature-site.service-site .service-contact{background:var(--theme-dark)!important;}
html[data-color-scheme] .signature-site.service-site .service-contact-copy .eyebrow,
html[data-color-scheme] .signature-site.service-site .service-contact-copy h2,
html[data-color-scheme] .signature-site.service-site .service-contact-copy h2 em{color:var(--theme-on-dark)!important;}
html[data-color-scheme] .signature-site.service-site .service-contact-copy>p{color:var(--theme-on-dark-muted)!important;}
