:root {
  --service-ground: #f4eae1;
  --service-paper: #fbf7f2;
  --service-ink: #303321;
  --service-muted: #6c6b5d;
  --service-sage: #7b8660;
  --service-line: rgba(48, 51, 33, .18);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--service-ground);
  color: var(--service-ink);
  font-family: Outfit, "Segoe UI", sans-serif;
  line-height: 1.6;
}
a { color: inherit; }
.service-skip { position: absolute; left: -9999px; top: 8px; z-index: 20; padding: 10px 14px; background: var(--service-ink); color: var(--service-ground); }
.service-skip:focus { left: 12px; }
.service-shell { min-height: 100vh; }
.service-nav {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-height: 72px;
  padding: 12px clamp(20px, 5vw, 72px);
  border-bottom: 1px solid var(--service-line);
  background: rgba(244, 234, 225, .94);
  backdrop-filter: blur(12px);
}
.service-brand img { display: block; width: 194px; height: auto; }
.service-nav-links { display: flex; align-items: center; justify-content: flex-end; gap: clamp(12px, 2.2vw, 30px); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.service-nav-links a { text-decoration: none; color: var(--service-muted); }
.service-nav-links a:hover, .service-nav-links a:focus-visible { color: var(--service-ink); }
.service-nav-toggle { display: none; border: 1px solid var(--service-line); background: transparent; padding: 8px 11px; color: var(--service-ink); font: inherit; }
.service-main { max-width: 1200px; margin: 0 auto; padding: clamp(38px, 7vw, 92px) clamp(20px, 5vw, 72px) 88px; }
.service-crumbs { margin: 0 0 20px; font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; color: var(--service-muted); }
.service-crumbs a { text-decoration: none; }
.service-hero { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(280px, .94fr); gap: clamp(34px, 7vw, 100px); align-items: end; padding-bottom: clamp(44px, 7vw, 90px); }
.service-eyebrow { margin: 0 0 16px; color: var(--service-sage); font-size: .76rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; }
.service-title { max-width: 760px; margin: 0; font-family: Newsreader, Georgia, serif; font-size: clamp(2.9rem, 7vw, 6.4rem); font-weight: 400; letter-spacing: -.035em; line-height: .96; }
.service-title em { font-style: italic; }
.service-intro { max-width: 620px; margin: 26px 0 0; color: var(--service-muted); font-size: clamp(1.05rem, 1.7vw, 1.25rem); }
.service-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.service-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 11px 18px; border: 1px solid var(--service-ink); text-decoration: none; font-size: .83rem; letter-spacing: .07em; text-transform: uppercase; transition: background .2s ease, color .2s ease, transform .2s ease; }
.service-button:hover, .service-button:focus-visible { background: var(--service-ink); color: var(--service-ground); transform: translateY(-2px); }
.service-button--solid { background: var(--service-ink); color: var(--service-ground); }
.service-button--solid:hover, .service-button--solid:focus-visible { background: transparent; color: var(--service-ink); }
.service-hero-image { position: relative; min-height: 430px; overflow: hidden; background: #d8c9b8; }
.service-hero-image img { display: block; width: 100%; height: 100%; min-height: 430px; object-fit: cover; object-position: center; }
.service-hero-image figcaption { position: absolute; right: 14px; bottom: 14px; padding: 6px 9px; background: rgba(48, 51, 33, .82); color: var(--service-ground); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.service-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(260px, .88fr); gap: clamp(40px, 7vw, 92px); padding: clamp(36px, 6vw, 70px) 0; border-top: 1px solid var(--service-line); }
.service-section h2 { margin: 0 0 16px; font-family: Newsreader, Georgia, serif; font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 400; line-height: 1.05; }
.service-section p { max-width: 65ch; color: var(--service-muted); }
.service-section p + p { margin-top: 14px; }
.service-list { display: grid; gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; }
.service-list li { display: flex; gap: 12px; align-items: flex-start; padding-top: 12px; border-top: 1px solid var(--service-line); }
.service-list li::before { content: "✦"; color: var(--service-sage); }
.service-aside { align-self: start; padding: 24px; background: var(--service-paper); border: 1px solid var(--service-line); }
.service-aside h2 { font-size: 2rem; }
.service-facts { display: grid; gap: 16px; margin: 22px 0 0; }
.service-fact { padding-top: 12px; border-top: 1px solid var(--service-line); }
.service-fact strong { display: block; font-family: Newsreader, Georgia, serif; font-size: 1.6rem; font-weight: 400; }
.service-fact span { color: var(--service-muted); font-size: .88rem; }
.service-faq { padding: clamp(34px, 5vw, 62px) 0; border-top: 1px solid var(--service-line); }
.service-faq > h2, .service-related > h2 { font-family: Newsreader, Georgia, serif; font-weight: 400; line-height: 1.05; }
.service-faq h2 { margin-bottom: 24px; }
.service-faq details { padding: 17px 0; border-top: 1px solid var(--service-line); }
.service-faq summary { cursor: pointer; font-family: Newsreader, Georgia, serif; font-size: 1.35rem; }
.service-faq details p { max-width: 70ch; margin: 12px 0 0; color: var(--service-muted); }
.service-related { padding-top: 34px; border-top: 1px solid var(--service-line); }
.service-related h2 { font-size: 2.15rem; }
.service-related-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 20px; }
.service-related-list a { padding: 17px; border: 1px solid var(--service-line); text-decoration: none; }
.service-related-list a:hover, .service-related-list a:focus-visible { background: var(--service-paper); }
.service-related-list small { display: block; margin-bottom: 4px; color: var(--service-sage); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.service-footer { padding: 34px clamp(20px, 5vw, 72px); background: var(--service-ink); color: var(--service-ground); }
.service-footer-inner { display: flex; justify-content: space-between; gap: 20px; align-items: center; max-width: 1200px; margin: 0 auto; }
.service-footer img { width: 180px; }
.service-footer p { margin: 0; color: rgba(244, 234, 225, .72); font-size: .88rem; }
@media (max-width: 820px) {
  .service-nav { min-height: 64px; }
  .service-nav-toggle { display: block; }
  .service-nav-links { position: absolute; inset: 64px 0 auto; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 8px 20px 18px; background: var(--service-ground); border-bottom: 1px solid var(--service-line); }
  .service-nav-links.is-open { display: flex; }
  .service-nav-links a { padding: 11px 0; border-bottom: 1px solid var(--service-line); }
  .service-hero, .service-grid { grid-template-columns: 1fr; }
  .service-hero-image, .service-hero-image img { min-height: 320px; }
  .service-related-list { grid-template-columns: 1fr; }
  .service-footer-inner { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}
