/* Fix & Drive Services page — warm neutral and olive theme */
html:has(.services-page) {
  --header-h: 100px;
  --tabs-h: 64px;
  --fd-paper: #FCFCFC;
  --fd-olive: #2d3c13;
  --fd-silver: #C0C0C1;
  --fd-mist: #f1f2ed;
  --fd-ink: #262821;
  --fd-muted: #696258;
  --fd-line: rgba(45, 59, 21, .17);
  padding-top: 0%;
  scroll-padding-top: calc(var(--header-h) + var(--tabs-h) + 16px);
}
body.services-page {
  --black: var(--fd-ink);
  --white: var(--fd-paper);
  --off-white: var(--fd-paper);
  --copper: var(--fd-olive);
  --dark-red: var(--fd-olive);
  --heading-font: "Century Gothic", "Gabie Sans Serif", Arial, sans-serif;
  --body-font: "Century Gothic", "Gabie Sans Serif", Arial, sans-serif;
  --sv-line: var(--fd-line);
  --sv-muted: var(--fd-muted);
  --sv-soft: var(--fd-mist);
  background: var(--fd-paper);
  color: var(--fd-ink);
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 1.65;
}
.services-page *, .services-page *::before, .services-page *::after { box-sizing: border-box; }
.services-page a:focus-visible, .services-page button:focus-visible { outline: 2px solid var(--fd-olive); outline-offset: 4px; }
.services-page .skip-link { background: var(--fd-olive); color: white; }
.services-label, .service-group-heading > span { display:inline-block; margin:0 0 15px; color:var(--fd-olive); font-size:.72rem; font-weight:700; letter-spacing:.2em; }
.services-page .sv-button { min-height:50px; padding:13px 24px; display:inline-flex; align-items:center; justify-content:center; gap:12px; border:1px solid var(--fd-olive); border-radius:4px; background:var(--fd-olive); color:white; font-size:.78rem; font-weight:700; letter-spacing:.1em; transition:background .2s,color .2s,transform .2s; }
.services-page .sv-button:hover { background:#3c4e1d; transform:translateY(-2px); }
.services-page .sv-button--ghost { background:transparent; color:var(--fd-olive); }
.services-page .sv-button--ghost:hover { background:var(--fd-olive); color:#fff; }
.services-intro { width:auto; max-width:none; margin:0; padding:calc(var(--header-h) + 42px) 0 58px; overflow:hidden; background:var(--fd-paper); }
.services-intro-inner { width:min(1200px,90%); margin:auto; display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:25px; align-items:center; }
.services-intro .services-label { color:var(--fd-olive); }
.services-intro h1 { margin:0; color:var(--fd-ink); font-family:var(--heading-font); font-size:clamp(3rem,6.8vw,5.8rem); font-weight:700; letter-spacing:-.075em; line-height:.95; }
.services-intro-text > p { max-width:510px; margin:25px 0 0; color:var(--fd-muted); font-size:1rem; line-height:1.8; }
.services-meta { display:flex; flex-wrap:wrap; margin:34px 0 0; padding:0; list-style:none; }
.services-meta li { padding:0 23px; display:flex; flex-direction:column; gap:3px; border-left:1px solid var(--fd-silver); }
.services-meta li:first-child { padding-left:0; border-left:0; }
.services-meta strong { color:var(--fd-olive); font-family:var(--heading-font); font-size:1.8rem; line-height:1.1; }
.services-meta span { color:var(--fd-muted); font-size:.65rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.service-tabs-bar { position:sticky; top:var(--header-h); z-index:900; background:rgba(252,252,252,.96); border-block:1px solid var(--fd-line); backdrop-filter:blur(12px); }
.service-tabs-inner { width:min(1200px,90%); margin:auto; }
.service-tabs { padding:12px 0; display:flex; flex-wrap:wrap; gap:8px; overflow-x:auto; scrollbar-width:none; }
.service-tabs::-webkit-scrollbar { display:none; }
.service-tab { flex:0 0 auto; min-height:40px; padding:9px 14px; border:1px solid var(--fd-line); border-radius:2px; background:transparent; color:var(--fd-muted); font:700 .7rem var(--body-font); letter-spacing:.08em; white-space:nowrap; cursor:pointer; transition:background .2s,color .2s,border-color .2s; }
.service-tab:hover { border-color:var(--fd-olive); color:var(--fd-olive); }
.service-tab[aria-pressed="true"] { border-color:var(--fd-olive); background:var(--fd-olive); color:white; }
.service-group { width:min(1200px,90%); margin:auto; padding:76px 0 82px; display:block; }
.service-group + .service-group { border-top:1px solid var(--fd-line); }
.service-group[hidden] { display:none; }
.service-group-heading { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); column-gap:54px; align-items:center; margin:0 0 38px; }
.service-group-heading > * { grid-column:1; }
.service-group-heading > span { grid-row:1; }
.service-group-heading h2 { margin:0; color:var(--fd-ink); font:700 clamp(2.2rem,4vw,3.4rem)/.98 var(--heading-font); letter-spacing:-.06em; }
.service-group-heading > p { max-width:450px; margin:18px 0 0; color:var(--fd-muted); font-size:.98rem; line-height:1.75; }
.service-group-photo { grid-column:2; grid-row:1 / span 4; position:relative; margin:0; aspect-ratio:16/10; overflow:hidden; border-radius:3px; background:var(--fd-mist); }
.service-group-photo img { width:100%; height:100%; display:block; object-fit:cover; }
.service-group-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(135deg,rgba(45,59,21,.15),transparent 55%); pointer-events:none; }
.service-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:16px; border:0; }
.service-item,.service-item:hover,.service-item:focus-within,.service-item:target { background:radial-gradient(circle at var(--mx,50%) var(--my,0%),rgba(45,59,21,.07),transparent 54%),#fff; }
.service-item { position:relative; min-height:100%; padding:25px 23px 22px; display:flex; flex-direction:column; border:1px solid var(--fd-line); border-top:2px solid var(--fd-olive); border-radius:3px; color:var(--fd-ink); box-shadow:0 10px 28px rgba(38,40,33,.045); transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,opacity .6s ease; }
.service-item:hover,.service-item:focus-within,.service-item:target { border-color:rgba(45,59,21,.48); box-shadow:0 18px 34px rgba(38,40,33,.1); }
.service-item:hover { transform:translateY(-4px); }
.service-item-number { margin:0 0 12px; color:var(--fd-silver); font:700 2.5rem/.95 var(--heading-font); }
.service-item-body { flex:1; display:flex; flex-direction:column; }
.service-item h3 { margin:0 0 10px; color:var(--fd-ink); font:700 1.35rem/1.2 var(--heading-font); letter-spacing:-.035em; }
.service-item-text { margin:0 0 18px; color:var(--fd-muted); font-size:.9rem; line-height:1.7; }
.service-item-label { margin:0 0 9px; color:var(--fd-olive); font-size:.63rem; font-weight:700; letter-spacing:.14em; }
.service-signs { margin:0 0 22px; padding:0; display:flex; flex-wrap:wrap; gap:6px; list-style:none; }
.service-signs li { padding:5px 9px; border:1px solid rgba(45,59,21,.12); border-radius:2px; background:var(--fd-mist); color:var(--fd-muted); font-size:.75rem; }
.service-item-link { min-height:42px; margin-top:auto; padding:9px 13px; display:inline-flex; align-items:center; justify-content:space-between; gap:12px; align-self:flex-start; border:1px solid var(--fd-olive); border-radius:2px; background:var(--fd-olive); color:#fff; font:700 .67rem var(--body-font); letter-spacing:.1em; transition:background .2s,color .2s; }
.service-item-link span { color:#fff; font-size:1rem; }
.service-item-link:hover { background:#fff; color:var(--fd-olive); }
.service-item-link:hover span { color:var(--fd-olive); }
.js-reveal .service-item { opacity:0; transform:translateY(20px); }
.js-reveal .service-item.is-in { opacity:1; transform:none; transition:transform .45s ease,opacity .45s ease,box-shadow .25s ease,border-color .25s ease; }
.js-reveal .service-item.is-in:hover { transform:translateY(-4px); }
.services-steps { background:var(--fd-mist); border-block:1px solid var(--fd-line); }
.services-steps-inner { width:min(1200px,90%); margin:auto; padding:72px 0 78px; }
.services-steps h2 { margin:0; color:var(--fd-ink); font:700 clamp(2.1rem,4vw,3rem)/1 var(--heading-font); letter-spacing:-.06em; }
.steps-list { margin:38px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; list-style:none; }
.steps-list li { padding-top:17px; border-top:2px solid var(--fd-olive); }
.step-number { display:block; margin:0 0 12px; color:var(--fd-olive); font:700 2rem/1 var(--heading-font); }
.steps-list h3 { margin:0 0 8px; color:var(--fd-ink); font:700 1.25rem var(--heading-font); }
.steps-list p { color:var(--fd-muted); font-size:.9rem; }
.services-cta { padding:76px 6%; background:var(--fd-olive); color:#fff; text-align:center; }
.services-cta .services-label { color:#dfe4d5; }
.services-cta h2 { margin:0; color:#fff; font:700 clamp(2.4rem,5vw,4rem)/1 var(--heading-font); letter-spacing:-.06em; }
.services-cta > p { max-width:520px; margin:20px auto 28px; color:rgba(255,255,255,.78); font-size:.95rem; }
.services-cta .sv-button { border-color:var(--fd-paper); background:var(--fd-paper); color:var(--fd-olive); }
.services-cta .sv-button:hover { background:transparent; color:#fff; }
.services-cta .sv-button--ghost { border-color:rgba(255,255,255,.6); background:transparent; color:#fff; }
.services-contact { max-width:760px; margin:46px auto 0; padding-top:23px; display:flex; flex-wrap:wrap; justify-content:center; gap:10px 30px; border-top:1px solid rgba(255,255,255,.25); color:rgba(255,255,255,.75); font-size:.88rem; }
.services-contact a:hover { color:#fff; }
.services-footer { padding:38px 20px 25px; background:#22271b; border:0; color:#fff; text-align:center; }
.services-footer .footer-brand { font:700 1.45rem var(--heading-font); letter-spacing:.07em; }
.services-footer .footer-brand span { color:#c8d0ba; }
.services-footer p { margin:8px 0 0; color:rgba(255,255,255,.68); font-size:.83rem; }
.services-footer .footer-links { margin:20px 0; display:flex; flex-wrap:wrap; justify-content:center; gap:12px 24px; }
.services-footer .footer-links a { color:rgba(255,255,255,.8); font-size:.8rem; }
.services-footer .footer-links a:hover { color:#fff; }
.services-footer small { color:rgba(255,255,255,.5); font-size:.72rem; }
@media(max-width:900px) {
  html:has(.services-page) { --header-h:70px; }
  .services-intro { padding:calc(var(--header-h) + 28px) 0 42px; }
  .services-intro-inner { grid-template-columns:1fr; gap:12px; text-align:center; }
  .services-intro-text > p { margin-inline:auto; }
  .services-meta { justify-content:center; }
  .service-group { padding:56px 0 62px; }
  .service-group-heading { grid-template-columns:1fr; gap:0; }
  .service-group-photo { grid-column:1; grid-row:auto; margin-top:24px; }
}
@media(max-width:600px) {
  body.services-page { font-size:15px; }
  .services-intro { padding-top:calc(var(--header-h) + 22px); }
  .services-intro-inner,.service-group,.services-steps-inner { width:90%; }
  .services-intro h1 { font-size:clamp(2.7rem,13vw,4rem); }
  .services-intro-text > p { font-size:.9rem; }
  .services-meta li { padding:0 12px; }
  .services-meta strong { font-size:1.55rem; }
  .services-meta span { font-size:.56rem; letter-spacing:.08em; }
  .service-tabs-inner { width:100%; }
  .service-tabs { flex-wrap:nowrap; padding:10px 5%; scroll-padding-inline:5%; mask-image:linear-gradient(90deg,#000 90%,transparent); }
  .service-tab { font-size:.62rem; }
  .service-group-heading h2 { font-size:clamp(2rem,10vw,2.7rem); }
  .service-group-heading > p { font-size:.9rem; }
  .service-group-photo { border-radius:2px; }
  .service-list { grid-template-columns:1fr; gap:12px; }
  .service-item { padding:21px 17px 18px; }
  .service-item:hover { transform:none; }
  .js-reveal .service-item.is-in:hover { transform:none; }
  .service-item-number { font-size:2.1rem; }
  .service-item h3 { font-size:1.25rem; }
  .service-item-link { width:100%; align-self:stretch; }
  .steps-list { grid-template-columns:1fr; gap:23px; margin-top:30px; }
  .services-steps-inner { padding:55px 0; }
  .services-cta { padding:60px 6%; }
  .services-cta-actions { flex-direction:column; }
  .services-cta-actions .sv-button { width:100%; }
  .services-contact { margin-top:35px; flex-direction:column; gap:7px; }
}
@media(prefers-reduced-motion:reduce) {
  .services-page *, .services-page *::before, .services-page *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .js-reveal .service-item { opacity:1; transform:none; }
}



/* Editorial service page treatment and marque animation */
.services-intro { padding-top:calc(var(--header-h) + 64px); padding-bottom:68px; }
.services-intro-inner { width:min(1240px,88%); grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(42px,7vw,112px); }
.services-intro h1 { font-size:clamp(3.2rem,7vw,6rem); letter-spacing:-.085em; }
.services-intro-text > p { max-width:490px; font-size:.96rem; }
.brand-showcase { min-width:0; padding:30px 0 18px; border-top:1px solid var(--fd-line); border-bottom:1px solid var(--fd-line); }
.brand-showcase-heading { display:flex; flex-direction:column; align-items:flex-start; margin:0 0 18px; }
.brand-showcase-heading .services-label { margin-bottom:4px; font-size:.62rem; }
.brand-showcase-heading p { max-width:340px; color:var(--fd-muted); font-size:.82rem; line-height:1.5; }
.brand-marquee { position:relative; overflow:hidden; padding:7px 0; }
.brand-marquee::before,.brand-marquee::after { content:""; position:absolute; z-index:1; top:0; bottom:0; width:30px; pointer-events:none; }
.brand-marquee::before { left:0; background:linear-gradient(90deg,var(--fd-paper),transparent); }
.brand-marquee::after { right:0; background:linear-gradient(270deg,var(--fd-paper),transparent); }
.brand-track { width:max-content; display:flex; align-items:center; gap:10px; margin:0; padding:0 6px; list-style:none; animation:brand-scroll-left 34s linear infinite; will-change:transform; }
.brand-track[data-direction="right"] { animation-name:brand-scroll-right; animation-duration:39s; }
.brand-marquee:hover .brand-track,.brand-marquee:focus-within .brand-track,.brand-track.is-paused { animation-play-state:paused; }
.brand-track li { width:clamp(104px,11vw,136px); min-height:66px; padding:10px 12px; display:flex; align-items:center; gap:10px; border:1px solid rgba(45,59,21,.11); background:#fff; color:var(--fd-muted); font-size:.7rem; font-weight:600; white-space:nowrap; }
.brand-track img { width:29px; height:29px; flex:0 0 29px; object-fit:contain; filter:grayscale(1); opacity:.76; transition:filter .2s,opacity .2s; }
.brand-track li:hover img { filter:none; opacity:1; }
.brand-note { margin:11px 0 0; color:var(--fd-muted); font-size:.69rem; letter-spacing:.025em; }
@keyframes brand-scroll-left { to { transform:translateX(-50%); } }
@keyframes brand-scroll-right { from { transform:translateX(-50%); } to { transform:translateX(0); } }
.service-tabs-bar { border-top:1px solid var(--fd-line); }
.service-tabs { gap:22px; }
.service-tab { border:0; border-bottom:1px solid transparent; background:transparent; padding:11px 2px 10px; }
.service-tab:hover { border-color:var(--fd-olive); background:transparent; }
.service-tab[aria-pressed="true"] { border:0; border-bottom:2px solid var(--fd-olive); border-radius:0; background:transparent; color:var(--fd-olive); }
.service-group { padding-top:82px; padding-bottom:88px; }
.service-group-heading { margin-bottom:42px; }
.service-group-heading h2 { font-size:clamp(2.25rem,3.6vw,3.2rem); }
.service-group-photo { border-radius:0; box-shadow:none; }
.service-group-photo::after { background:linear-gradient(135deg,rgba(45,59,21,.09),transparent 45%); }
.service-list { gap:0 28px; }
.service-item,.service-item:hover,.service-item:focus-within,.service-item:target { background:transparent; }
.service-item { min-height:0; padding:24px 8px 24px 0; border:0; border-top:1px solid var(--fd-line); border-radius:0; box-shadow:none; }
.service-item:hover,.service-item:focus-within,.service-item:target { border-color:var(--fd-line); box-shadow:none; }
.service-item:hover { transform:translateY(-2px); }
.service-item-number { color:var(--fd-olive); font-size:1.15rem; }
.service-item h3 { font-size:1.2rem; }
.service-signs li { border-radius:0; background:transparent; }
.service-item-link { border-radius:0; }
.services-steps { background:#fff; }
.services-steps-inner { padding-block:70px; }
.steps-list li { border-top-width:1px; }
.services-cta { background:var(--fd-mist); color:var(--fd-ink); }
.services-cta .services-label { color:var(--fd-olive); }
.services-cta h2 { color:var(--fd-ink); }
.services-cta > p { color:var(--fd-muted); }
.services-cta .sv-button { background:var(--fd-olive); color:#fff; border-color:var(--fd-olive); }
.services-cta .sv-button:hover { background:#fff; color:var(--fd-olive); }
.services-cta .sv-button--ghost { background:transparent; color:var(--fd-olive); border-color:var(--fd-olive); }
.services-cta .sv-button--ghost:hover { background:var(--fd-olive); color:#fff; }
.services-contact { border-color:var(--fd-line); color:var(--fd-muted); }
.services-footer { background:#fff; border-top:1px solid var(--fd-line); color:var(--fd-ink); }
.services-footer .footer-brand { color:var(--fd-ink); }
.services-footer .footer-brand span { color:var(--fd-olive); }
.services-footer p,.services-footer .footer-links a { color:var(--fd-muted); }
.services-footer small { color:#8a887f; }
@media(max-width:900px) {
  .services-intro { padding-top:calc(var(--header-h) + 38px); }
  .services-intro-inner { grid-template-columns:1fr; gap:35px; }
  .services-intro-text { text-align:left; }
  .services-intro-text > p { margin-left:0; }
  .services-meta { justify-content:flex-start; }
  .brand-showcase { width:100%; text-align:left; }
  .service-tabs { flex-wrap:nowrap; }
}
@media(max-width:600px) {
  .services-intro-inner { width:90%; gap:24px; }
  .services-intro { padding-bottom:44px; }
  .brand-showcase { padding-top:22px; }
  .brand-track li { width:112px; min-height:58px; padding:8px; gap:7px; font-size:.64rem; }
  .brand-track img { width:24px; height:24px; flex-basis:24px; }
  .service-tabs { gap:18px; }
  .service-tab { padding-inline:0; }
  .service-group { padding-block:52px; }
  .service-item { padding:20px 0; }
}
@media(prefers-reduced-motion:reduce) {
  .brand-marquee { overflow-x:auto; }
  .brand-marquee::before,.brand-marquee::after { display:none; }
  .brand-track { animation:none!important; transform:none!important; }
}
