/* Home page service carousel, using the approved light burgundy palette. */
.home-overview-heading:before{background:var(--accent)}
.home-overview-heading .text-link span,.home-overview-heading .text-link:hover{color:var(--accent)}
.home-overview-heading .text-link:focus-visible{outline-color:var(--accent)}
.home-service-carousel{min-width:0}
.home-service-viewport{overflow-x:auto;scroll-snap-type:x mandatory;border-radius:12px}
.home-service-track{display:flex;gap:20px;align-items:stretch}
.home-service-slide{flex:0 0 calc((100% - 20px)/2);min-width:0;scroll-snap-align:start;border:1px solid var(--line);border-radius:12px;background:#fff;padding:28px;display:flex;flex-direction:column}
.home-service-card-heading{display:flex;align-items:flex-start;gap:17px;margin-bottom:22px}
.home-service-slide .service-symbol{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:9px;background:var(--blush);color:var(--accent)}
.home-service-slide .service-symbol svg{width:25px;height:25px}
.home-service-slide h3{font-size:25px;font-weight:600;line-height:1.2;letter-spacing:-.025em;color:var(--ink)}
.home-service-caption{font-size:15px;line-height:1.6;color:var(--muted);margin-top:7px}
.home-service-card-content{display:flex;flex-direction:column;flex:1;align-items:flex-start}
.home-service-card-content>p{font-size:18px;line-height:1.75;color:var(--body-copy);margin:0 0 24px}
.home-service-link{display:inline-flex;justify-content:space-between;align-items:center;gap:15px;font-size:16px;font-weight:600;line-height:1.5;color:var(--accent);margin-top:auto;padding-top:18px;border-top:1px solid var(--line);width:100%}
.home-service-link span{font-size:20px;flex-shrink:0}
.home-service-link:hover{color:var(--accent-hover)}
.home-service-carousel.is-ready .home-service-viewport{overflow:hidden;scroll-snap-type:none;touch-action:pan-y}
.home-service-carousel.is-ready .home-service-track{transition:transform .5s cubic-bezier(.22,.61,.36,1);will-change:transform}
.home-service-carousel .home-service-track.no-transition{transition:none}
.home-service-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:20px}
.home-service-navigation{display:flex;align-items:center;gap:10px}
.home-service-position{font-size:14px;line-height:1.5;color:var(--muted);font-variant-numeric:tabular-nums;margin-right:12px;min-width:59px}
.home-service-controls button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:44px;min-height:44px;padding:9px 13px;background:#fff;color:var(--accent);border:1px solid #d6b5c2;border-radius:7px;font-size:16px;line-height:1;transition:background .2s,color .2s}
.home-service-controls button:hover{background:var(--blush)}
.home-service-controls .home-service-next{background:var(--accent);border-color:var(--accent);color:#fff}
.home-service-controls .home-service-next:hover{background:var(--accent-hover)}
.home-service-controls .home-service-rotation{border-color:transparent;padding-left:2px;font-size:14px}
.home-service-rotation .rotation-symbol{font-size:18px;width:18px}
.home-service-navigation button span{font-size:24px}
@media(max-width:700px){
  .home-service-track{gap:16px}
  .home-service-slide{flex-basis:100%;padding:24px}
  .home-service-card-heading{gap:13px;margin-bottom:20px}
  .home-service-slide h3{font-size:23px}
  .home-service-slide .service-symbol{flex-basis:40px;width:40px;height:40px}
  .home-service-caption{font-size:14px}
  .home-service-card-content>p{font-size:17px}
  .home-service-link{font-size:15px}
  .home-service-controls{padding-top:15px}
  .home-service-position{margin-right:2px}
}
@media(prefers-reduced-motion:reduce){.home-service-carousel.is-ready .home-service-track,.home-service-controls button{transition:none}}

/* A compact explanation of the first steps, directly below the services. */
.home-process{padding-bottom:56px}
.home-process h2{font-size:30px;font-weight:600;line-height:1.2;margin-bottom:26px}
.home-process-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;list-style:none;margin:0;padding:28px 0 0;border-top:1px solid var(--line)}
.home-process-steps li{display:flex;align-items:flex-start;gap:14px;position:relative;min-width:0}
.process-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:8px;background:var(--blush);color:var(--accent)}
.process-icon svg{width:23px;height:23px}
.home-process-steps h3{font-size:20px;font-weight:600;line-height:1.35;min-height:54px;color:var(--ink);letter-spacing:-.02em}
.home-process-steps h3 a{color:var(--accent);text-decoration:underline;text-underline-offset:4px;text-decoration-color:#d6b5c2}
.home-process-steps h3 a:hover{text-decoration-color:var(--accent)}
.home-process-steps p{font-size:16px;line-height:1.7;color:var(--muted);margin-top:7px}
.process-arrow{position:absolute;right:-31px;top:8px;color:var(--accent);font-size:22px;line-height:1}
@media(max-width:850px){.home-process-steps{gap:32px}.home-process-steps li{gap:11px}.home-process-steps h3{font-size:19px}.process-arrow{right:-24px;font-size:19px}}
@media(max-width:700px){.home-process{padding-bottom:40px}.home-process h2{font-size:28px;margin-bottom:22px}.home-process-steps{grid-template-columns:1fr;gap:24px;padding-top:24px}.home-process-steps li{gap:14px}.home-process-steps h3{font-size:20px;min-height:0}.home-process-steps p{margin-top:6px;font-size:16px}.process-arrow{display:none}}
