:root {
  --site-cream: #f7f3ee;
  --site-paper: #fffdf9;
  --site-ink: var(--header-ink, #2d2925);
  --site-tan: var(--header-accent, #b49372);
  --site-line: #e8dfd5;
  --site-shadow: 0 18px 50px rgba(66, 48, 35, .09);
}

body.home,
body.home-page {
  background: var(--site-cream);
}

.home-hero .cifci-slide__button,
.home-pill-button,
.home-form-row button {
  background: var(--header-accent, var(--site-tan));
}

.home-hero .cifci-slide__button:hover,
.home-pill-button:hover,
.home-form-row button:hover {
  background: var(--header-button-hover, var(--header-primary-hover, #947457));
}

.home-trust--first {
  margin-top: 36px;
}
.home-trust--after-about { margin-top: 0; margin-bottom: 0; }

.home-services {
  background: var(--site-cream);
}

.home-service-card__visual {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  height: 160px;
  padding: 18px;
  overflow: hidden;
  background: linear-gradient(135deg, #eee5da, #dce7e7);
  color: var(--site-ink);
}

.home-service-card:nth-child(2) .home-service-card__visual { background: linear-gradient(135deg, #e8e0d8, #eee4d4); }
.home-service-card:nth-child(3) .home-service-card__visual { background: linear-gradient(135deg, #e1e9e8, #f1e7de); }
.home-service-card:nth-child(4) .home-service-card__visual { background: linear-gradient(135deg, #eee5da, #e1e8e8); }
.home-service-card:nth-child(5) .home-service-card__visual { background: linear-gradient(135deg, #f0e7dd, #e5dfd7); }
.home-service-card__visual:after { position:absolute; right:-25px; top:-45px; width:150px; height:150px; border:1px solid rgba(255,255,255,.7); border-radius:50%; content:""; box-shadow:0 0 0 18px rgba(255,255,255,.18),0 0 0 36px rgba(255,255,255,.12); }
.home-service-card__visual > i { position:relative; z-index:1; margin:0 auto; color:var(--site-tan); font-size:42px; opacity:.85; }
.home-service-card__visual.has-image { background-position:center; background-size:cover; }
.home-service-card__visual.has-image:before { position:absolute; inset:0; background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(30,25,20,.48)); content:""; }
.home-service-card__visual.has-image > i { color:#fff; }
.home-service-card__visual.has-image .home-service-card__number { color:rgba(255,255,255,.82); }
.home-service-card__visual.has-image .home-service-card__line { background:rgba(255,255,255,.7); }
.home-service-card__number { position:relative; z-index:1; color:rgba(45,41,37,.5); font:600 11px var(--header-font,Arial,sans-serif); letter-spacing:.16em; }
.home-service-card__line { position:relative; z-index:1; width:42px; height:1px; background:rgba(45,41,37,.25); }
.home-service-card__body > span { transition:transform .2s, background .2s; }
.home-service-card:hover .home-service-card__body > span { transform:rotate(45deg); }

.home-about__image {
  position:relative;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#dbe6e5,#eee2d4);
  background-position:center;
  background-size:cover;
  box-shadow:0 18px 36px rgba(66,48,35,.1);
}
.home-about__image.has-image:before { position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(35,29,24,.25)); content:""; }
.home-about__image.is-placeholder { background:radial-gradient(circle at 65% 28%,rgba(255,255,255,.9),transparent 28%),linear-gradient(145deg,#dfe9e8,#e9dccd); }
.home-about__portrait-mark { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:8px; color:var(--site-tan); }
.home-about__portrait-mark span { font:500 clamp(58px,7vw,96px)/.9 Georgia,serif; letter-spacing:-.08em; }
.home-about__portrait-mark small { font:700 9px var(--header-font,Arial,sans-serif); letter-spacing:.2em; }
.home-about__image.has-image .home-about__portrait-mark { color:#fff; text-shadow:0 2px 12px rgba(0,0,0,.24); }

.home-before-after__visual.is-placeholder .home-before-after__half { background:linear-gradient(145deg,#d8e5e4,#f0e3d4); }
.home-before-after__visual.is-placeholder .home-before-after__half--after { background:linear-gradient(145deg,#e9ded4,#d9e4e3); }
.home-before-after__half > strong { position:absolute; top:16px; left:18px; color:rgba(45,41,37,.5); font:600 11px var(--header-font,Arial,sans-serif); letter-spacing:.12em; }
.home-before-after__visual.is-placeholder:after { position:absolute; inset:18px; border:1px solid rgba(255,255,255,.72); border-radius:8px; content:""; pointer-events:none; }
.home-before-after { background: #fffdf9; }
.home-before-after__cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.home-before-after__card { overflow:hidden; border:1px solid var(--site-line); border-radius:16px; background:#fff; box-shadow:0 12px 30px rgba(66,48,35,.06); transition:transform .25s, box-shadow .25s; }
.home-before-after__card:hover { transform:translateY(-5px); box-shadow:0 20px 38px rgba(66,48,35,.12); }
.home-before-after__card .home-before-after__visual { height:230px; border-radius:0; box-shadow:none; }
.home-before-after__card-info { display:flex; align-items:center; gap:12px; padding:15px 16px; }
.home-before-after__card-info > span { color:var(--site-tan); font:600 10px var(--header-font,Arial,sans-serif); letter-spacing:.12em; }
.home-before-after__card-info h3 { margin:0; color:var(--site-ink); font:600 16px/1.15 var(--header-font,Arial,sans-serif); }
.home-before-after__card-info small { display:block; margin-top:4px; color:var(--site-muted); font-size:10px; }
.home-before-after__card-info a { display:grid; place-items:center; width:30px; height:30px; margin-left:auto; border-radius:50%; background:#f1e8dd; color:var(--site-tan); text-decoration:none; }
.home-before-after__card-info a:hover { background:var(--site-tan); color:#fff; }

@media (max-width: 900px) {
  .home-before-after__cards { grid-template-columns:1fr; }
  .home-before-after__card .home-before-after__visual { height:260px; }
}

.home-hero .cifci-slide h1,
.home-section h2,
.home-about h2,
.home-contact h2,
.home-service-card h3,
.home-about__values strong,
.home-before-after blockquote,
.home-testimonial p,
.site-footer__brand strong {
  font-family: var(--header-font, Georgia, serif);
}

.home-hero .cifci-slider__dots button.is-active,
.home-hero .cifci-slider__arrow:hover,
.home-contact__details i,
.home-trust__icon,
.home-service-card__body > span,
.home-about__values i {
  background: var(--header-accent, var(--site-tan));
  color: var(--header-bg, #fff);
}

.home-hero .cifci-slider__arrow:hover {
  border-color: var(--header-accent, var(--site-tan));
}

.home-section a:hover,
.home-footer a:hover,
.site-footer a:hover {
  color: var(--header-nav-hover-text, var(--header-secondary-hover, var(--site-tan)));
}

.home-contact-form input:focus,
.home-contact-form textarea:focus {
  outline: 2px solid color-mix(in srgb, var(--header-accent, var(--site-tan)) 32%, transparent);
  border-color: var(--header-accent, var(--site-tan));
}

@media (max-width: 900px) {
  .home-hero .cifci-slide__content {
    padding-bottom: 20px;
  }
}
