/* Services-only warm palette. Load after refinement.css and service-pages.css. */
body.services-page,
body.home-page #services.service-overview {
  --bg: #f5f0e8;
  --bg-2: #ede5d9;
  --bg-3: #e5dacb;
  --fg: #292b25;
  --fg-2: #5c5d53;
  --fg-3: #6c6d60;
  --line: #d8cdbd;
  --line-2: #baab95;
  --paper: #fffaf3;
  --ink: #292b25;
  --ink-2: #5c5d53;
  --rec: #9b543e;
  --service-accent: #8b4835;
  --service-accent-hover: #713a2a;
  --service-accent-soft: #efddd1;
  --service-olive: #566246;
  --service-olive-soft: #e5e8dc;
  --service-surface: #fffaf3;
  background: var(--bg);
  color: var(--fg);
  color-scheme: light;
}
body.services-page { line-height: 1.8; }
body.services-page .nav,
body.services-page .nav.is-solid { background: rgba(245,240,232,.97); border-color: var(--line); }
body.services-page .menu { background: var(--bg); }
body.services-page .nav__brand,
body.services-page .nav__links,
body.services-page .nav__end,
body.services-page .menu,
body.services-page .menu__foot { color: var(--fg); }
body.services-page .nav__links a[aria-current] { color: var(--service-accent); box-shadow: inset 0 -2px var(--service-accent); }
body.services-page .lang button[aria-pressed=true] { color: var(--service-accent); }
body.services-page .bar { background: var(--fg); }
body.services-page .skip { background: var(--service-accent); color: #fffaf3; }
body.services-page :focus-visible,
body.home-page #services.service-overview :focus-visible { outline: 2px solid var(--service-accent); outline-offset: 5px; }
body.services-page ::selection,
body.home-page #services.service-overview ::selection { background: #cbb699; color: #292b25; }

/* A short introduction leads into the same category control on every service page. */
body.services-page .service-intro { padding-bottom: 42px; }
body.services-page .breadcrumbs { margin-bottom: 30px; font-size: 12px; }
body.services-page .breadcrumbs a { color: var(--fg-2); }
body.services-page .breadcrumbs a:hover { color: var(--service-accent); text-decoration: underline; text-underline-offset: 4px; }
body.services-page .service-intro > .eyebrow { color: var(--service-accent); letter-spacing: .12em; font-weight: 600; }
body.services-page .service-intro h1 { font-size: clamp(36px,4.4vw,64px); line-height: 1.18; max-width: 1050px; }
body.services-page .service-intro__copy { max-width: 740px; font-size: 15px; line-height: 1.9; margin-top: 22px; }
body.services-page .service-category-nav,
body.services-page.service-hub-page .service-category-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 34px;
  padding-top: 24px;
  border-color: var(--line);
}
body.services-page .service-category-nav a {
  flex: 1 1 155px;
  min-height: 52px;
  padding: 13px 16px;
  border: 1px solid #d5c7b5;
  border-radius: 12px;
  background: #fdf8f0;
  color: #4e5145;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.55;
  box-shadow: 0 2px 3px rgba(68,51,30,.025);
  transition: background .2s, border-color .2s, color .2s, transform .2s;
}
body.services-page .service-category-nav a:hover { background: var(--service-accent-soft); border-color: #b58c74; color: #713a2a; transform: translateY(-1px); }
body.services-page .service-category-nav a[aria-current=page] { background: var(--service-accent); border-color: var(--service-accent); color: #fffaf3; box-shadow: 0 4px 12px rgba(99,52,36,.12); }
body.services-page .service-category-nav a[aria-current=page]:hover { background: var(--service-accent-hover); border-color: var(--service-accent-hover); color: #fffaf3; }

/* Quiet, warm surfaces and consistent reading order: package, price, scope, action. */
body.services-page .service-hub { gap: 24px; }
body.services-page .category-card {
  background: var(--service-surface);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 32px;
  min-height: 292px;
  box-shadow: 0 6px 24px rgba(68,51,30,.035);
  transition: border-color .22s, transform .22s, box-shadow .22s;
}
body.services-page .category-card:hover { border-color: #b28a72; box-shadow: 0 10px 28px rgba(68,51,30,.075); transform: translateY(-3px); }
body.services-page .category-card__number { display: inline-flex; align-items: center; justify-content: center; width: 38px; min-height: 34px; align-self: flex-start; padding: 6px 8px; border-radius: 9px; background: var(--service-accent-soft); color: var(--service-accent); margin-bottom: 26px; }
body.services-page .category-card:nth-child(2) .category-card__number,
body.services-page .category-card:nth-child(5) .category-card__number { background: var(--service-olive-soft); color: var(--service-olive); }
body.services-page .category-card h2 { font-size: 25px; line-height: 1.45; color: var(--fg); }
body.services-page .category-card > p { font-size: 13px; color: var(--fg-2); line-height: 1.9; }
body.services-page .category-card__link { color: var(--service-accent); padding-top: 30px; }
body.services-page .category-card__link span,
body.services-page .package-card__link span { transition: transform .2s; }
body.services-page .category-card:hover .category-card__link span,
body.services-page .package-card:hover .package-card__link span { transform: translate(2px,-2px); }
body.services-page .package-family { padding-top: 38px; margin-bottom: 48px; }
body.services-page .package-family__head { margin-bottom: 24px; }
body.services-page .package-family__head h2 { font-size: clamp(25px,2.6vw,34px); line-height: 1.4; }
body.services-page .package-family__head > p { max-width: 720px; line-height: 1.9; }
body.services-page .package-family__head > .package-range { color: var(--service-olive); font-size: 12px; }
body.services-page .package-grid { gap: 24px; }
body.services-page .package-card {
  position: relative;
  background: var(--service-surface);
  border: 1px solid var(--line);
  border-top: 3px solid #c29d80;
  border-radius: 16px;
  padding: 29px;
  box-shadow: 0 5px 22px rgba(68,51,30,.03);
  transition: border-color .2s, transform .2s, box-shadow .2s;
}
body.services-page .package-card:hover { border-color: #b28a72; border-top-color: var(--service-accent); transform: translateY(-3px); box-shadow: 0 10px 26px rgba(68,51,30,.07); }
body.services-page .package-card__label { color: var(--service-olive); font: 600 10px/1.75 var(--sans); letter-spacing: .09em; margin-bottom: 16px; }
body.services-page .package-card h3 { font-size: 26px; line-height: 1.35; }
body.services-page .package-card__price { font-size: clamp(26px,2.4vw,32px); color: #70442f; font-weight: 600; line-height: 1.35; margin-block: 22px; }
body.services-page .package-card__price small,
body.services-page .package-price small { color: var(--fg-2); font-size: 12px; }
body.services-page .package-card__facts { margin-bottom: 22px; }
body.services-page .package-card__facts > div { padding-block: 15px; border-color: #dfd5c7; }
body.services-page .package-card__facts dt { color: var(--fg-2); font-size: 12px; }
body.services-page .package-card__facts dd { color: var(--fg); font-size: 13px; }
body.services-page .package-card__description { line-height: 1.9; }
body.services-page .package-card__link { color: var(--service-accent); border-color: #dfd5c7; padding-top: 20px; min-height: 46px; }
body.services-page .package-card--compact { min-height: 230px; }
body.services-page .package-crosslink { padding: 32px; background: var(--service-olive-soft); border-color: #cbd1bd; border-radius: 16px; }
body.services-page .package-crosslink .text-link { color: #405038; }

/* Detailed inclusions remain readable alongside a clear price and enquiry panel. */
body.services-page .package-detail { gap: 64px; padding-top: 10px; }
body.services-page .package-detail__body > h2 { margin-bottom: 26px; }
body.services-page .package-facts > div { padding-block: 18px; border-color: var(--line); }
body.services-page .package-facts dd { color: var(--fg); }
body.services-page .package-summary { background: #ebe6da; border: 1px solid #c9c8b5; border-top: 4px solid #68714f; border-radius: 18px; box-shadow: 0 8px 24px rgba(57,63,39,.055); padding: 32px; }
body.services-page .package-summary > .eyebrow { color: #4f5a3d; font-weight: 600; letter-spacing: .1em; }
body.services-page .package-price { color: #36402c; font-size: clamp(28px,3vw,40px); font-weight: 600; line-height: 1.3; }
body.services-page .package-price-note { color: #606451; font-size: 12px; }
body.services-page .button--dark { background: var(--service-accent); border-color: var(--service-accent); color: #fffaf3; box-shadow: 0 4px 10px rgba(99,52,36,.08); }
body.services-page .button--dark:hover { background: var(--service-accent-hover); border-color: var(--service-accent-hover); color: #fffaf3; }
body.services-page .package-back { color: #4f5a3d; font-weight: 500; }
body.services-page .package-back:hover { color: #2d3c24; text-decoration: underline; text-underline-offset: 4px; }
body.services-page .package-inclusions li:before,
body.services-page .package-group li:before,
body.services-page .package-scope li:before,
body.services-page .rate-scope li:before { background: var(--service-olive); }
body.services-page .package-terms { background: transparent; border-color: #c9bcaa; }
body.services-page .package-terms summary { color: #414736; }
body.services-page .package-terms summary:after { color: var(--service-accent); }
body.services-page .package-terms > p { font-size: 14px; color: var(--fg-2); margin-bottom: 20px; max-width: 860px; }
body.services-page .package-related { border-color: var(--line); padding-top: 38px; }
body.services-page .service-booking { border-color: var(--line); }
body.services-page .service-catalog .cmp-wrap { background: var(--service-surface); border-color: var(--line); }
body.services-page .service-catalog .cmp thead { background: var(--service-olive-soft); color: var(--fg); }
body.services-page .service-catalog .cmp th,
body.services-page .service-catalog .cmp td { border-color: var(--line); }
body.services-page .service-catalog .cmp td:nth-child(3),
body.services-page .service-catalog .cmp th:nth-child(3) { background: rgba(86,98,70,.055); }

/* A deeper olive footer anchors the warmer service pages. */
body.services-page .contact-section {
  --bg: #29362e;
  --bg-2: #29362e;
  --fg: #f4eee4;
  --fg-2: #d0d4c7;
  --fg-3: #c4cbb9;
  --line: rgba(244,238,228,.19);
  --line-2: rgba(244,238,228,.3);
  background: #29362e;
  color: #f4eee4;
}
body.services-page .contact-section .eyebrow { color: #d4ba95; }
body.services-page .contact-section .button--light { background: #efe2cd; color: #28352c; border-color: #efe2cd; }
body.services-page .contact-section .button--light:hover { background: #fff4e1; border-color: #fff4e1; }
body.services-page .contact-section :focus-visible { outline-color: #ead5b5; }
body.services-page .footer-brand { color: #f4eee4; }

/* The homepage service overview uses the same palette without affecting other work. */
body.home-page #services.service-overview { border-block: 1px solid #d8cdbd; }
body.home-page #services.service-overview .eyebrow { color: var(--service-accent); }
body.home-page #services.service-overview .service-card { background: var(--service-surface); border-color: var(--line); border-radius: 16px; box-shadow: 0 5px 20px rgba(68,51,30,.03); }
body.home-page #services.service-overview .service-card:hover { background: #fffdf8; border-color: #b28a72; }
body.home-page #services.service-overview .service-number { color: var(--service-olive); }
body.home-page #services.service-overview .service-more,
body.home-page #services.service-overview .section-bottom .text-link { color: var(--service-accent); }
body.home-page #services.service-overview .section-bottom { border-color: var(--line); }

@media(max-width:1050px) {
  body.services-page .package-grid { gap: 18px; }
  body.services-page .package-card { padding: 25px; }
  body.services-page .package-detail { gap: 36px; }
  body.services-page .service-category-nav a { flex-basis: 140px; padding-inline: 12px; font-size: 11px; }
}
@media(max-width:800px) {
  body.services-page .service-intro h1 { font-size: 44px; }
  body.services-page .service-hub { gap: 18px; }
  body.services-page .package-summary { padding: 28px; }
}
@media(max-width:560px) {
  body.services-page .service-intro { padding-bottom: 24px; }
  body.services-page .service-intro h1 { font-size: 35px; line-height: 1.2; }
  body.services-page .service-intro__copy { font-size: 14px; line-height: 1.85; }
  body.services-page .breadcrumbs { font-size: 10px; margin-bottom: 25px; }
  body.services-page .service-category-nav,
  body.services-page.service-hub-page .service-category-nav { display: grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 28px; padding-top: 20px; }
  body.services-page .service-category-nav a { min-height: 48px; padding: 11px 9px; font-size: 10px; }
  body.services-page .service-category-nav a:last-child { grid-column: 1/-1; }
  body.services-page .category-card { padding: 26px; min-height: 260px; }
  body.services-page .category-card h2 { font-size: 25px; }
  body.services-page .package-family { padding-top: 30px; margin-bottom: 34px; }
  body.services-page .package-family__head h2 { font-size: 26px; }
  body.services-page .package-grid { gap: 16px; }
  body.services-page .package-card { padding: 25px; }
  body.services-page .package-card h3 { font-size: 25px; }
  body.services-page .package-card__price { font-size: 29px; }
  body.services-page .package-summary { padding: 26px; }
  body.services-page .package-price { font-size: 35px; }
  body.services-page .package-price-note { font-size: 11px; }
  body.services-page .package-detail { gap: 34px; }
  body.services-page .package-facts > div { gap: 18px; }
  body.services-page .package-facts dt { font-size: 12px; }
  body.services-page .package-facts dd { font-size: 13px; }
  body.services-page .package-crosslink { padding: 25px; }
}
@media(prefers-reduced-motion:reduce) {
  body.services-page .category-card,
  body.services-page .package-card,
  body.services-page .service-category-nav a,
  body.services-page .category-card__link span,
  body.services-page .package-card__link span { transition:none; }
  body.services-page .category-card:hover,
  body.services-page .package-card:hover,
  body.services-page .service-category-nav a:hover,
  body.services-page .category-card:hover .category-card__link span,
  body.services-page .package-card:hover .package-card__link span { transform:none; }
}
