:root {
  color: #302322;
  background: #fbf9f6;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ink: #302322;
  --red: #a9313d;
  --red-dark: #7f1f2b;
  --cream: #f6f0e8;
  --paper: #fbf9f6;
  --line: rgba(48, 35, 34, .14);
  --muted: #76615d;
}
* { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--paper); }
a { color: inherit; }
img { max-width: 100%; }
.seo-header {
  min-height: 76px;
  padding: 12px clamp(20px, 5vw, 72px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  background: rgba(251, 249, 246, .96);
  border-bottom: 1px solid var(--line);
}
.seo-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.seo-brand img { width: 46px; height: 46px; object-fit: cover; border-radius: 50%; }
.seo-brand span { display: grid; gap: 2px; }
.seo-brand b { font: 400 21px Georgia, "Times New Roman", serif; letter-spacing: .08em; }
.seo-brand small { color: #806d69; font-size: 10px; }
.seo-header nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: clamp(14px, 2.5vw, 34px); }
.seo-header nav a { color: #594643; font-size: 13px; font-weight: 700; text-decoration: none; }
.seo-header nav a:hover { color: var(--red); }
.service-hero {
  min-height: 610px;
  position: relative;
  display: grid;
  align-items: end;
  overflow: hidden;
  color: white;
  background: #3d2b29;
}
.service-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.service-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(34, 23, 22, .88), rgba(34, 23, 22, .42) 58%, rgba(34, 23, 22, .18)); }
.service-hero-content { width: min(900px, 100%); padding: clamp(54px, 9vw, 112px) clamp(24px, 8vw, 126px); position: relative; z-index: 1; }
.eyebrow { color: #f3c9ce; font-size: 11px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.service-hero h1 { margin: 20px 0; font: 400 clamp(48px, 7vw, 86px)/.98 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }
.service-hero p { max-width: 720px; margin: 0; color: rgba(255,255,255,.84); font-size: clamp(17px, 2vw, 21px); line-height: 1.6; }
.hero-actions { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 12px; }
.hero-actions a, .seo-cta a { padding: 15px 22px; border-radius: 999px; font-weight: 800; text-decoration: none; }
.hero-actions a:first-child, .seo-cta a { color: white; background: var(--red); }
.hero-actions a:last-child { border: 1px solid rgba(255,255,255,.5); }
.breadcrumbs { padding: 16px clamp(24px, 8vw, 126px); display: flex; flex-wrap: wrap; gap: 8px; color: #8a7773; background: white; border-bottom: 1px solid var(--line); font-size: 12px; }
.breadcrumbs a { color: var(--red); text-decoration: none; }
.seo-section { padding: clamp(72px, 9vw, 124px) clamp(24px, 8vw, 126px); }
.seo-section.alt { background: var(--cream); }
.seo-content-grid { max-width: 1280px; margin: auto; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); gap: clamp(42px, 8vw, 110px); align-items: start; }
.seo-copy h2, .section-heading h2 { margin: 0 0 24px; font: 400 clamp(38px, 5vw, 66px)/1.04 Georgia, "Times New Roman", serif; letter-spacing: -.035em; }
.seo-copy h3 { margin: 34px 0 12px; font: 400 29px Georgia, "Times New Roman", serif; }
.seo-copy p { margin: 0 0 18px; color: var(--muted); font-size: 17px; line-height: 1.78; }
.keyword-panel { padding: 30px; position: sticky; top: 24px; background: #fff; border: 1px solid var(--line); }
.keyword-panel > span { color: var(--red); font-size: 10px; font-weight: 850; letter-spacing: .14em; }
.keyword-panel h2 { margin: 15px 0; font: 400 29px/1.12 Georgia, "Times New Roman", serif; }
.keyword-panel p { margin: 0; color: var(--muted); line-height: 1.65; }
.keyword-list { margin: 22px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; list-style: none; }
.keyword-list li { padding: 8px 10px; color: #6e4a47; background: #fbf2f2; border: 1px solid rgba(169,49,61,.15); border-radius: 999px; font-size: 12px; }
.section-heading { max-width: 850px; margin-bottom: 44px; }
.section-heading p { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.72; }
.solution-grid { max-width: 1280px; margin: auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.solution-card { min-height: 260px; padding: 30px; background: white; border: 1px solid var(--line); }
.solution-card > span { color: var(--red); font-size: 10px; font-weight: 850; letter-spacing: .14em; }
.solution-card h3 { margin: 42px 0 12px; font: 400 27px/1.1 Georgia, "Times New Roman", serif; }
.solution-card p { margin: 0; color: var(--muted); line-height: 1.65; }
.process-list { max-width: 1060px; margin: 40px auto 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; counter-reset: step; }
.process-list li { min-height: 220px; padding: 30px; border: 1px solid rgba(255,255,255,.15); counter-increment: step; }
.process-list li::before { content: "0" counter(step); display: block; margin-bottom: 48px; color: #d78991; font-size: 11px; }
.process-list b { display: block; font: 400 25px Georgia, "Times New Roman", serif; }
.process-list p { color: rgba(255,255,255,.65); line-height: 1.6; }
.dark-section { color: white; background: #382826; }
.faq-list { max-width: 980px; margin: auto; display: grid; gap: 12px; }
.faq-list details { padding: 23px 25px; background: white; border: 1px solid var(--line); }
.faq-list summary { cursor: pointer; color: var(--ink); font-weight: 800; }
.faq-list p { margin: 14px 0 0; color: var(--muted); line-height: 1.7; }
.related-links { max-width: 1280px; margin: auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.related-links a { padding: 22px; display: grid; gap: 8px; color: var(--ink); background: white; border: 1px solid var(--line); text-decoration: none; }
.related-links a:hover { border-color: rgba(169,49,61,.35); }
.related-links b { font: 400 23px Georgia, "Times New Roman", serif; }
.related-links span { color: var(--red); font-size: 12px; font-weight: 800; }
.seo-cta { margin: 0 clamp(18px, 6vw, 90px) clamp(68px, 8vw, 116px); padding: clamp(42px, 7vw, 82px); display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: end; color: white; background: linear-gradient(135deg, #382826, #6e2932); }
.seo-cta h2 { margin: 12px 0; font: 400 clamp(36px, 5vw, 62px)/1 Georgia, "Times New Roman", serif; }
.seo-cta p { margin: 0; color: rgba(255,255,255,.72); font-size: 17px; }
.seo-footer { padding: 50px clamp(24px, 8vw, 126px); display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 38px; background: white; border-top: 1px solid var(--line); }
.seo-footer > div { display: grid; align-content: start; gap: 8px; }
.seo-footer a { color: var(--muted); text-decoration: none; }
.seo-footer > small { grid-column: 1 / -1; color: #9b8b88; }
@media (max-width: 900px) {
  .seo-header nav { display: none; }
  .seo-content-grid { grid-template-columns: 1fr; }
  .keyword-panel { position: static; }
  .solution-grid, .process-list { grid-template-columns: 1fr; }
  .related-links { grid-template-columns: 1fr; }
  .seo-cta { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .service-hero { min-height: 650px; }
  .service-hero h1 { font-size: clamp(44px, 13vw, 62px); }
  .seo-footer { grid-template-columns: 1fr; }
  .seo-footer > small { grid-column: auto; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions a { text-align: center; }
}
