.services-hero,.service-hero{background:var(--color-bg)}
.services-hero__media,.service-hero__media{border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:1.48/1}
.services-hero__media img,.service-hero__media img{width:100%;height:100%;object-fit:cover}
.page-hero__actions{display:flex;align-items:center;gap:18rem;flex-wrap:wrap;margin-top:30rem}
.page-hero__actions>a{color:var(--color-primary);font:700 15rem/1.2 var(--font-sans);border-bottom:1rem solid currentColor}
.services-list__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18rem}
.service-card{min-height:245rem;display:flex;flex-direction:column;gap:16rem;padding:24rem;border:1rem solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-ink);transition:transform var(--speed) var(--ease),box-shadow var(--speed) var(--ease),border-color var(--speed) var(--ease)}
.service-card:hover,.service-card:focus-visible{transform:translateY(-4rem);box-shadow:var(--shadow-md);border-color:rgba(198,92,54,.4);outline:0}
.service-card>span,.service-slider__button span,.service-slider__detail span{color:var(--color-eyebrow);font:800 13rem/1 var(--font-sans);letter-spacing:.12em;text-transform:uppercase}
.service-card h2{font:700 27rem/1.08 var(--font-serif);letter-spacing:0}
.service-card p{margin:0;color:var(--color-text);font-size:17rem;line-height:1.55}
.service-slider{min-height:calc(100svh + var(--slider-scroll-space,0rem))}
.service-slider__inner{position:sticky;top:calc(var(--header-h) + 22rem);display:grid;gap:42rem;min-height:calc(100svh - var(--header-h) - 44rem);align-content:center}
.service-slider__head{max-width:860rem}
.service-slider__head h2{max-width:960rem}
.service-slider__timeline{position:relative;padding-top:10rem}
.service-slider__track{position:absolute;left:38rem;right:38rem;top:55rem;height:3rem;background:rgba(193,95,60,.2);z-index:0}
.service-slider__progress{position:absolute;left:0;top:50%;height:3rem;width:var(--slider-progress,0%);background:var(--color-primary);transform:translateY(-50%);transition:width 360ms var(--ease)}
.service-slider__rail{counter-reset:service-step;position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180rem,1fr);gap:0;list-style:none;margin:0;padding:0 0 26rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;outline:0;z-index:1}
.service-slider__rail::marker{content:""}
.service-slider__rail li::marker{content:""}
.service-slider__rail::-webkit-scrollbar{display:none}
.service-slider__item{position:relative;min-width:0;scroll-snap-align:center}
.service-slider__button{position:relative;display:grid;grid-template-rows:28rem 34rem auto;justify-items:center;gap:0;width:100%;min-height:128rem;padding:0 14rem;border:0;background:transparent;color:var(--color-muted);text-align:center;cursor:pointer}
.service-slider__button::before{content:"";grid-row:2;width:17rem;height:17rem;align-self:center;border:4rem solid var(--color-bg);border-radius:50%;background:#f8f1e7;box-shadow:0 0 0 2rem rgba(193,95,60,.24);transition:background var(--speed) var(--ease),box-shadow var(--speed) var(--ease),transform var(--speed) var(--ease)}
.section--warm .service-slider__button::before{border-color:var(--color-bg-alt)}
.service-slider__button span{grid-row:1;color:var(--color-muted)}
.service-slider__button strong{grid-row:3;max-width:210rem;font:700 20rem/1.18 var(--font-serif);letter-spacing:0;text-wrap:balance;transition:color var(--speed) var(--ease),transform var(--speed) var(--ease)}
.service-slider__button:hover,.service-slider__button:focus-visible{outline:0;color:var(--color-primary)}
.service-slider__button:hover::before,.service-slider__button:focus-visible::before,.service-slider__button.is-active::before{background:var(--color-primary);box-shadow:0 0 0 9rem rgba(193,95,60,.16);transform:scale(1.08)}
.service-slider__button.is-active span,.service-slider__button.is-active strong{color:var(--color-primary)}
.service-slider__button.is-active strong{transform:translateY(-2rem)}
.service-slider__item-text{margin:12rem 0 0;color:var(--color-muted);font-size:16rem;line-height:1.5;text-align:center}
.js-interactive .service-slider__item-text{display:none}
.service-slider__detail{display:grid;grid-template-columns:104rem minmax(0,820rem);gap:24rem 34rem;align-items:start;min-height:184rem;padding-top:32rem;border-top:1rem solid var(--color-border)}
.service-slider__detail span{font-size:46rem;line-height:1;color:var(--color-primary)}
.service-slider__detail h3{font:700 38rem/1.12 var(--font-serif);color:var(--color-ink)}
.service-slider__detail p{grid-column:2;margin:0;color:var(--color-muted);font-size:20rem;line-height:1.62}
.service-slider__detail.is-changing h3,.service-slider__detail.is-changing p{opacity:0;transform:translateY(8rem)}
.service-slider__detail h3,.service-slider__detail p{transition:opacity 220ms var(--ease),transform 220ms var(--ease)}
.service-faq__grid{display:grid;grid-template-columns:minmax(260rem,390rem) minmax(0,1fr);gap:56rem;align-items:start}
.service-faq__items{display:grid;gap:14rem}
.service-faq__item{border:1rem solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}
.service-faq__item summary{cursor:pointer;padding:22rem 24rem;color:var(--color-ink);font:700 21rem/1.25 var(--font-serif);list-style-position:outside}
.service-faq__item summary::marker{color:var(--color-primary)}
.service-faq__item p{margin:0;padding:0 24rem 24rem;color:var(--color-text);font-size:17rem;line-height:1.55}
.service-related__panel{display:grid;grid-template-columns:minmax(260rem,420rem) minmax(0,1fr);gap:40rem;align-items:center;padding:36rem;border-top:3rem solid var(--color-line);border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md)}
.service-related__links{display:flex;gap:12rem;flex-wrap:wrap}
.service-related__links a{padding:12rem 16rem;border:1rem solid var(--color-border);border-radius:999rem;background:var(--color-bg);color:var(--color-primary);font:700 14rem/1.2 var(--font-sans)}
.service-related__links a:hover,.service-related__links a:focus-visible{border-color:var(--color-primary);outline:0}
@media (max-width:1100px){
    .services-list__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .service-slider__detail,.service-faq__grid,.service-related__panel{grid-template-columns:1fr;gap:28rem}
    .service-slider__detail p{grid-column:auto}
    .service-slider__button strong{font-size:18rem}
}
@media (max-width:700px){
    .services-list__grid{grid-template-columns:1fr}
    .service-card{min-height:0;padding:20rem}
    .service-card h2{font-size:25rem}
    .service-slider{min-height:calc(100svh + var(--slider-scroll-space,0rem))}
    .service-slider__inner{top:calc(var(--header-h) + 12rem);min-height:calc(100svh - var(--header-h) - 24rem);gap:28rem}
    .service-slider__track{left:calc(var(--page-pad) + 28rem);right:calc(var(--page-pad) + 28rem);top:52rem}
    .service-slider__rail{grid-auto-columns:minmax(228rem,76vw);margin-inline:calc(var(--page-pad) * -1);padding-inline:var(--page-pad);scroll-padding-left:var(--page-pad)}
    .service-slider__button{min-height:122rem;padding-inline:10rem}
    .service-slider__button strong{font-size:18rem}
    .service-slider__detail{padding-top:24rem}
    .service-slider__detail span{font-size:34rem}
    .service-slider__detail h3{font-size:28rem}
    .service-slider__detail p{font-size:18rem}
    .service-related__panel{padding:24rem}
}
