:root {
  --xx-button-ink:#171b19;
  --xx-button-paper:#f4f3ec;
  --xx-button-accent:#b8d5c2;
  --xx-button-line:#728378;
}

.brand-home :is(.btn,.header-cta,.hero-entry-links a,.service-link,.service-secondary),
.home-v2 :is(.btn,.header-cta),
.s-header .s-nav-cta,
.s-button,
.xx-line-link-hero {
  position:relative;
  border-radius:2px;
  letter-spacing:.025em;
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease;
}

.brand-home :is(.btn,.header-cta),
.home-v2 :is(.btn,.header-cta),
.s-button,
.s-header .s-nav-cta {
  box-shadow:5px 5px 0 var(--xx-button-accent);
}

.brand-home :is(.btn,.header-cta):hover,
.home-v2 :is(.btn,.header-cta):hover,
.s-button:hover,
.s-header .s-nav-cta:hover,
.xx-line-link-hero:hover {
  transform:translate(-2px,-2px);
  box-shadow:8px 8px 0 var(--xx-button-accent);
  filter:none;
}

.brand-home .header-cta,
.home-v2 .header-cta,
.s-header .s-nav-cta {
  min-height:44px;
  padding:0 19px;
  border:1px solid var(--xx-button-ink);
  background:var(--xx-button-ink);
  color:#fff;
  font-size:12px;
  font-weight:800;
}

.brand-home .hero-entry-links a {
  min-height:72px;
  padding:15px 19px;
  border:1px solid var(--xx-button-ink);
  background:var(--xx-button-paper);
  box-shadow:5px 5px 0 #d4ddd4;
}
.brand-home .hero-entry-links a:last-child {
  background:var(--xx-button-accent);
  box-shadow:5px 5px 0 var(--xx-button-ink);
}
.brand-home .hero-entry-links a:hover {
  transform:translate(-2px,-2px);
  border-color:var(--xx-button-ink);
  box-shadow:8px 8px 0 var(--xx-button-ink);
}
.brand-home .hero-entry-links a span { font-size:18px; }

.brand-home .service-link {
  padding:15px 17px;
  border:1px solid var(--xx-button-ink);
  background:var(--xx-button-ink);
  color:#fff;
  box-shadow:5px 5px 0 var(--xx-button-accent);
}
.brand-home .service-link:hover { transform:translate(-2px,-2px); box-shadow:8px 8px 0 var(--xx-button-accent); }
.brand-home .service-secondary { padding:12px 16px; border-left:3px solid var(--xx-button-accent); }

.brand-home .brand-final .btn-primary { background:var(--xx-button-accent); color:var(--xx-button-ink); border-color:var(--xx-button-accent); box-shadow:5px 5px 0 #fff; }
.brand-home .brand-final .btn-secondary { background:transparent; color:#fff; border-color:#91a598; box-shadow:5px 5px 0 #52675a; }
.brand-home .brand-final .xx-line-link { border-radius:2px; border-color:#91a598; box-shadow:5px 5px 0 #52675a; }
.brand-home .brand-final .xx-line-link:hover { transform:translate(-2px,-2px); box-shadow:8px 8px 0 var(--xx-button-accent); text-decoration:none; }

.home-v2 .hero .btn-primary { background:var(--xx-button-accent); color:var(--xx-button-ink); border-color:var(--xx-button-accent); }
.home-v2 .hero .btn-secondary { background:#111; color:#fff; border-color:#6c786f; }
.home-v2 .xx-line-link-hero,
.s-hero .xx-line-link-hero {
  min-height:48px;
  padding:0 18px;
  border:1px solid currentColor;
  box-shadow:4px 4px 0 var(--xx-button-accent);
  text-decoration:none;
}

.s-button { border-color:var(--xx-button-ink); background:var(--xx-button-ink); box-shadow:6px 6px 0 var(--xx-button-accent); }
.s-button:hover { background:#274338; }

@media(max-width:700px) {
  .brand-home .hero-entry-links a { min-height:66px; }
  .brand-home :is(.btn,.header-cta),
  .home-v2 :is(.btn,.header-cta),
  .s-button,
  .s-header .s-nav-cta { box-shadow:4px 4px 0 var(--xx-button-accent); }
  .home-v2 .xx-line-link-hero,.s-hero .xx-line-link-hero { justify-content:center; width:100%; }
}

@media(prefers-reduced-motion:reduce) {
  .brand-home :is(.btn,.header-cta,.hero-entry-links a,.service-link),
  .home-v2 :is(.btn,.header-cta),.s-button,.s-header .s-nav-cta,.xx-line-link-hero { transition:none; }
}
