/* Five photo-led services, using the site's light surfaces and red rules. */
.hero.hero-services { --hero-stage:760px; height:calc(var(--header-height) + var(--hero-stage)); }
.hero-services .hero-container { display:flex; align-items:center; justify-content:center; height:calc(100% - 212px); }
.hero-services .hero-copy { display:flex; flex-direction:column; align-items:center; }
.hero-services .hero-eyebrow.signature-kicker { position:static; margin:0 0 20px; font-size:10px; letter-spacing:2.6px; }
.hero-services .hero-title { position:static; width:100%; margin:0; font-size:clamp(66px,6.4vw,104px); letter-spacing:-3.5px; line-height:1.05; }
.hero-services .hero-title .hero-line2 { margin-top:1px; padding:0 14px 10px; font-size:.93em; line-height:1.13; letter-spacing:-2px; }
.hero-services .hero-description { position:static; transform:none; width:540px; max-width:90%; margin:24px 0 0; font-size:14px; line-height:1.8; }
.hero-services .hero-ctas { position:static; transform:none; margin:28px 0 0; }
.hero-services :is(.hero-photo-note,.benefits,.hero-hotspot) { display:none; }
.hero-services .hero-scene img { object-position:center 55%; }
.hero-services .hero-scene-shade { background:radial-gradient(ellipse at 50% 38%,#fffdfbf5 0%,#fffdfbd6 26%,#fffdfb70 53%,#fffdfb0d 83%),linear-gradient(180deg,#f6f8f52e 0%,#f6f8f519 48%,#f6f8f580 76%,#f6f8f5 100%); }
.hero-services .hero-controls { top:auto; bottom:38px; left:50%; right:auto; transform:translateX(-50%); width:var(--content-width); max-width:var(--content-max); height:auto; display:grid; grid-template-columns:1fr 36px 36px; grid-template-rows:36px auto; gap:12px 8px; padding:18px 24px 20px; background:#ffffffe8; border:1px solid #ffffffb3; border-radius:3px; box-shadow:0 12px 40px #20343a09; }
.hero-services .hero-controls::before { width:38px; }
.hero-services .hero-controls::after { display:none; }
.hero-services .hero-rail-label { display:flex; gap:12px; font-size:9px; letter-spacing:2px; }
.hero-service-current { margin-left:8px; font-weight:400; letter-spacing:1px; font-size:10px; color:#73878c; }
.hero-services .hero-controls .slide-numbers { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); width:100%; margin:0; gap:20px; }
.hero-services .hero-controls .slide-numbers button { display:grid; grid-template-columns:auto 68px 1fr; align-items:center; justify-content:start; gap:12px; min-height:66px; padding:0 0 14px; text-align:left; }
.hero-services .hero-controls .slide-numbers button span { font-size:12px; letter-spacing:0; font-variant-numeric:tabular-nums; }
.hero-services .hero-controls .slide-numbers button img { width:68px; height:46px; object-fit:cover; border-radius:2px; opacity:.75; transition:opacity .2s; }
.hero-services .hero-controls .slide-numbers button strong { font-size:15px; font-weight:500; white-space:nowrap; }
.hero-services .hero-controls .slide-numbers button[aria-current=true] img, .hero-services .hero-controls .slide-numbers button:hover img { opacity:1; }
.hero-services .hero-controls .slide-numbers button[aria-current=true] strong { font-weight:600; }
.hero-services .hero-selection-line::after, .hero-services .hero-controls .slide-numbers button::before { display:none; }
.hero-services .hero-controls .circle-button { width:36px; height:36px; }
@media(min-width:1700px) {
  .hero.hero-services { --hero-stage:800px; }
  .hero-services .hero-container { height:calc(100% - 235px); }
  .hero-services .hero-description { margin-top:29px; }
  .hero-services .hero-ctas { margin-top:32px; }
  .hero-services .hero-controls { bottom:44px; }
}
@media(min-width:761px) and (max-width:1190px) {
  .hero-services .hero-controls .slide-numbers { gap:16px; }
  .hero-services .hero-controls .slide-numbers button { grid-template-columns:auto 1fr; gap:10px; min-height:55px; }
  .hero-services .hero-controls .slide-numbers button img { display:none; }
  .hero-services .hero-controls .slide-numbers button strong { font-size:14px; }
}
@media(max-width:760px) {
  .hero.hero-services { --hero-stage:820px; }
  .hero-services .hero-container { height:calc(100% - 295px); }
  .hero-services .hero-eyebrow.signature-kicker { margin-bottom:19px; font-size:8px; letter-spacing:1.6px; }
  .hero-services .hero-title { font-size:clamp(48px,10vw,72px); letter-spacing:-1.8px; }
  .hero-services .hero-title .hero-line2 { max-width:100%; margin-top:10px; padding:0 0 8px; font-size:1.04em; letter-spacing:-.8px; }
  .hero-services .hero-description { margin-top:19px; max-width:95%; font-size:13px; line-height:1.75; }
  .hero-services .hero-ctas { gap:19px; margin-top:25px; }
  .hero-services .hero-ctas .primary { min-width:176px; font-size:11px; }
  .hero-services .hero-ctas .hero-contact { font-size:11px; }
  .hero-services .hero-scene-shade { background:radial-gradient(ellipse at 50% 32%,#fffdfbf2 0%,#fffdfbcc 33%,#fffdfb44 78%),linear-gradient(180deg,#f6f8f533 0%,#f6f8f519 44%,#f6f8f5ed 100%); }
  .hero-services .hero-controls { bottom:30px; padding:16px 18px 18px; grid-template-columns:1fr 34px 34px; grid-template-rows:34px auto; gap:10px 7px; }
  .hero-services .hero-rail-label { font-size:8px; letter-spacing:1.3px; }
  .hero-services .hero-rail-label::before { width:13px; }
  .hero-services .hero-service-current { margin-left:0; font-size:9px; }
  .hero-services .hero-controls .slide-numbers { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 16px; }
  .hero-services .hero-controls .slide-numbers button { grid-template-columns:auto 1fr; min-height:44px; gap:10px; padding:8px 0 12px; }
  .hero-services .hero-controls .slide-numbers button img { display:none; }
  .hero-services .hero-controls .slide-numbers button strong { font-size:13px; }
  .hero-services .hero-controls .slide-numbers button span { font-size:10px; }
  .hero-services .hero-controls .circle-button { width:34px; height:34px; padding:8px; }
}
@media(max-width:380px) {
  .hero.hero-services { --hero-stage:830px; }
  .hero-services .hero-ctas { gap:10px; }
  .hero-services .hero-ctas .primary { min-width:162px; font-size:10px; }
  .hero-services .hero-ctas .hero-contact { font-size:10px; gap:5px; }
  .hero-services .hero-controls { padding-inline:13px; }
  .hero-services .hero-rail-label { gap:7px; }
}
