/* Services — the service dispatch counter.
   This local layer keeps the shared site system intact while giving the
   Services route its own physically mounted composition. */

.services-page {
  --counter-shadow: 0 5px 8px rgba(5,15,33,.34), 0 24px 44px rgba(5,15,33,.34);
  --counter-edge: rgba(245,248,249,.72);
  overflow-x: clip;
}

.services-page .services-hanger-rail {
  z-index: 8;
  height: clamp(36px,3vw,52px);
  box-shadow: 0 9px 16px rgba(5,15,33,.58), inset 0 1px 0 rgba(255,255,255,.65);
}

.services-hanger-rail span,
.services-page .section-rail::after {
  position: absolute;
  top: 50%;
  width: clamp(14px,1.25vw,20px);
  aspect-ratio: 1;
  content: "";
  background: url("assets/materials-v2/rail-screw-v2.webp") center/contain no-repeat;
  transform: translate(-50%,-50%);
}

.services-hanger-rail span:nth-child(1) { left: 8%; }
.services-hanger-rail span:nth-child(2) { left: 50%; }
.services-hanger-rail span:nth-child(3) { left: 92%; }
.services-page .section-rail::after { left: 50%; height: auto; background-color: transparent; }

/* Hero assembly */
.services-page .services-intro {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(430px,.88fr) minmax(0,1.12fr);
  gap: 0;
  align-items: start;
  min-height: clamp(590px,44vw,760px);
  padding: clamp(2.4rem,3vw,3.2rem) var(--gutter) clamp(4.7rem,6.5vw,7rem);
  background:
    radial-gradient(105% 62% at 50% -8%,rgba(149,191,239,.16),rgba(149,191,239,0) 66%),
    linear-gradient(90deg,rgba(3,10,24,.28),transparent 24%,transparent 76%,rgba(3,10,24,.28)),
    linear-gradient(180deg,var(--navy) 0%,var(--navy-back) 100%);
}

.services-page .ticket--services-intro {
  z-index: 4;
  width: calc(100% + clamp(28px,4vw,68px));
  max-width: 760px;
  margin-right: clamp(-68px,-4vw,-28px);
  padding: clamp(2rem,3.3vw,3.8rem) clamp(1.5rem,3.4vw,3.8rem) clamp(2rem,3vw,3.2rem);
  border-top: 1px solid rgba(255,255,255,.9);
  clip-path: polygon(0 0,100% 0,100% 96%,98.7% 97.2%,97.4% 96.2%,96.1% 98%,94.8% 96.7%,93.5% 98.2%,92.2% 96.5%,90.9% 98%,89.6% 96.8%,88.3% 98.3%,87% 96.7%,85.7% 98.1%,84.4% 96.6%,83.1% 98%,81.8% 96.8%,80.5% 98.2%,79.2% 96.6%,77.9% 98.1%,76.6% 96.7%,75.3% 98.2%,74% 96.6%,72.7% 98%,71.4% 96.8%,70.1% 98.2%,68.8% 96.7%,67.5% 98.1%,66.2% 96.6%,64.9% 98.2%,63.6% 96.7%,62.3% 98.1%,61% 96.6%,59.7% 98.2%,58.4% 96.7%,57.1% 98.1%,55.8% 96.6%,54.5% 98.2%,53.2% 96.7%,51.9% 98.1%,50.6% 96.6%,49.3% 98.2%,48% 96.7%,46.7% 98.1%,45.4% 96.6%,44.1% 98.2%,42.8% 96.7%,41.5% 98.1%,40.2% 96.6%,38.9% 98.2%,37.6% 96.7%,36.3% 98.1%,35% 96.6%,33.7% 98.2%,32.4% 96.7%,31.1% 98.1%,29.8% 96.6%,28.5% 98.2%,27.2% 96.7%,25.9% 98.1%,24.6% 96.6%,23.3% 98.2%,22% 96.7%,20.7% 98.1%,19.4% 96.6%,18.1% 98.2%,16.8% 96.7%,15.5% 98.1%,14.2% 96.6%,12.9% 98.2%,11.6% 96.7%,10.3% 98.1%,9% 96.6%,7.7% 98.2%,6.4% 96.7%,5.1% 98.1%,3.8% 96.6%,2.5% 98.2%,1.2% 96.8%,0 98%);
  box-shadow: none;
  filter: drop-shadow(0 5px 5px rgba(5,15,33,.32)) drop-shadow(0 25px 30px rgba(5,15,33,.42));
}

.services-intro__carbon {
  position: absolute;
  z-index: -1;
  inset: 14px 12px -15px -18px;
  border: 1px solid #8daab2;
  background: var(--copy);
  transform: rotate(-.7deg);
}

.services-page .services-intro > .ticket-clip {
  position: absolute;
  z-index: 6;
  top: -12px;
  width: clamp(90px,7.4vw,112px);
  height: auto;
  filter: brightness(1.08) contrast(1.04) drop-shadow(0 7px 6px rgba(5,15,33,.58));
  pointer-events: none;
}
.services-page .services-intro > .ticket-clip--left { left: calc(var(--gutter) + min(10vw,105px)); }
.services-page .services-intro > .ticket-clip--right { left: calc(var(--gutter) + min(38vw,500px)); }

.services-intro__ticket-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: clamp(1.5rem,2.6vw,2.4rem);
  padding-bottom: .65rem;
  border-bottom: 2px solid var(--blue-deep);
  color: var(--blue-ink);
  font-family: "Barlow Condensed",sans-serif;
  font-size: clamp(.78rem,1vw,.95rem);
  font-weight: 800;
  letter-spacing: .115em;
  text-transform: uppercase;
}

.services-page .ticket--services-intro h1 {
  margin-bottom: .8rem;
  font-size: clamp(3rem,5vw,5.4rem);
  line-height: .88;
}

.services-intro__copy > p {
  max-width: 60ch;
  margin-bottom: 0;
  font-size: clamp(1rem,1.25vw,1.15rem);
  line-height: 1.53;
}

.services-page .services-hero-assurances {
  position: relative;
  grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr);
  align-items: stretch;
  gap: clamp(.8rem,1.4vw,1.35rem);
  margin: clamp(1.7rem,2.4vw,2.1rem) 0 .65rem;
  border: 0;
  background: transparent;
}

.services-page .services-hero-assurances > div {
  position: relative;
  isolation: isolate;
  min-height: 146px;
  gap: .45rem;
  padding: 1.15rem 1rem 1rem;
  border: 1px solid rgba(12,32,49,.18);
  background-color: var(--paper);
  background-image: var(--paper-stock);
  background-position: var(--paper-stock-pos);
  background-size: var(--paper-stock-size);
  box-shadow: var(--card-edge),0 7px 9px rgba(5,15,33,.16),0 16px 22px rgba(5,15,33,.12);
  transform: none;
}
.services-page .services-hero-assurances > div:nth-child(2) {
  background-color: #e8eeee;
  transform: none;
}
.services-page .services-hero-assurances > div::before {
  position: absolute;
  z-index: 3;
  top: -12px;
  left: 50%;
  width: clamp(68px,6vw,88px);
  height: clamp(24px,2vw,30px);
  content: "";
  background: var(--tape);
  box-shadow: var(--tape-shadow);
  clip-path: polygon(1% 8%,8% 1%,17% 7%,28% 2%,41% 6%,53% 1%,67% 5%,79% 0,91% 6%,99% 2%,97% 92%,89% 98%,78% 93%,66% 99%,54% 94%,42% 100%,29% 94%,17% 99%,7% 93%,1% 97%);
  transform: translateX(-50%) rotate(-2.6deg);
}
.services-page .services-hero-assurances > div:nth-child(2)::before { left: 57%; transform: translateX(-50%) rotate(2.2deg); }

.services-page .services-hero-assurances strong { font-size: clamp(1.18rem,1.45vw,1.48rem); }
.services-page .services-hero-assurances span:not(.assurance-stamp) { padding-right: 3.7rem; font-size: .875rem; line-height: 1.42; }
.assurance-stamp {
  position: absolute;
  right: .65rem;
  bottom: .75rem;
  display: grid;
  width: 4rem;
  aspect-ratio: 1;
  place-items: center;
  padding: .25rem;
  color: var(--yellow)!important;
  border: 2px solid currentColor;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
  font-family: "Barlow Condensed",sans-serif;
  font-size: .75rem!important;
  font-weight: 800;
  line-height: .9!important;
  text-align: center;
  text-transform: uppercase;
  transform: rotate(-8deg);
}
.assurance-stamp--warranty { transform: rotate(7deg); }

.services-page .ticket--services-intro > .button {
  min-width: min(100%,290px);
  margin-top: .65rem;
}

.services-page .services-hero-photo {
  z-index: 3;
  overflow: visible;
  min-height: clamp(470px,34vw,610px);
  margin-left: clamp(-4px,-.25vw,-1px);
  transform: rotate(.2deg);
  box-shadow: var(--counter-shadow);
}
.services-page .services-hero-photo > img { object-position: center 58%; }

.services-area-plaque {
  position: absolute;
  z-index: 8;
  top: calc(clamp(9px,1.1vw,17px) * -1.4);
  right: 3%;
  bottom: auto;
  display: grid;
  gap: .32rem;
  width: min(78%,560px);
  max-width: 94%;
  padding: .62rem 1.5rem .72rem;
  border: clamp(9px,.78vw,12px) clamp(16px,1.35vw,22px) solid transparent;
  border-image-source: url("assets/materials-v2/deep-blue-enamel-service-plate-v2.webp");
  border-image-slice: 150 260 fill;
  border-image-repeat: stretch;
  color: var(--paper-light);
  background: transparent;
  box-shadow: none;
  filter: drop-shadow(0 8px 9px rgba(5,15,33,.55));
  font-family: "Barlow Condensed",sans-serif;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}
.services-area-plaque::before,
.services-area-plaque::after {
  position: absolute;
  z-index: 2;
  top: .18rem;
  width: clamp(17px,1.45vw,22px);
  aspect-ratio: 1;
  content: "";
  background: url("assets/materials-v2/rail-screw-v2.webp") center/contain no-repeat;
  filter: drop-shadow(0 1px 1px rgba(5,15,33,.72));
  transform: none;
}
.services-area-plaque::before { left: .32rem; }
.services-area-plaque::after { right: .32rem; }
.services-area-plaque span { color: #d7e4e9; font-size: clamp(.85rem,1vw,1rem); font-weight: 700; letter-spacing: .15em; }
.services-area-plaque strong { font-size: clamp(1.4rem,1.85vw,2rem); letter-spacing: .025em; }

/* Mounted service index */
.services-page .services-board {
  position: relative;
  isolation: isolate;
  padding: clamp(4.6rem,7vw,7.2rem) var(--gutter) clamp(5rem,7.5vw,8rem);
  background:
    radial-gradient(120% 62% at 50% 0,rgba(255,255,255,.2),rgba(255,255,255,0) 68%),
    linear-gradient(180deg,#dfe3e4 0%,var(--wall) 100%);
}

.services-page .services-board > .section-heading {
  position: relative;
  grid-template-columns: minmax(280px,.78fr) minmax(360px,1.22fr);
  max-width: 1240px;
  margin: 0 auto clamp(2.6rem,4vw,4rem);
  padding: clamp(1.5rem,2.5vw,2.35rem);
  border: clamp(6px,.55vw,9px) solid #a9b0b3;
  border-image: url("assets/materials-v2/brushed-aluminum-photo-frame-v2.webp") 120 stretch;
  color: var(--paper-light);
  background:
    radial-gradient(95% 120% at 50% 0,rgba(145,188,232,.13),rgba(145,188,232,0) 67%),
    var(--navy-back);
  box-shadow: var(--counter-shadow);
}

.section-heading__mount {
  position: absolute;
  z-index: 2;
  top: 50%;
  width: clamp(15px,1.2vw,19px);
  aspect-ratio: 1;
  background: url("assets/materials-v2/rail-screw-v2.webp") center/contain no-repeat;
  transform: translateY(-50%);
}
.section-heading__mount--left { left: clamp(5px,.6vw,9px); }
.section-heading__mount--right { right: clamp(5px,.6vw,9px); }

.services-page .services-board__kicker {
  margin-bottom: .65rem;
  color: var(--yellow);
  font-size: clamp(1rem,1.15vw,1.18rem);
  line-height: 1.1;
}
.services-page .services-board__kicker::after {
  display: block;
  width: min(100%, clamp(15.55rem,26.03vw,27.5rem));
  height: 3px;
  margin-top: .55rem;
  content: "";
  background: var(--yellow);
  box-shadow: 0 1px 0 rgba(255,255,255,.14);
}

@media (max-width: 760px) {
  .services-page .services-board__kicker::after {
    width: min(100%, clamp(10.9rem,49.22vw,14.06rem));
  }
}
.services-page .services-board > .section-heading h2 { color: var(--paper-light); }
.services-page .services-board > .section-heading > p:last-child { color: #d8e3e8; }

@media (min-width: 821px) {
  .services-page .services-board__kicker {
    grid-column: 1;
    grid-row: 1;
  }
  .services-page .services-board > .section-heading h2 {
    grid-column: 1;
    grid-row: 2;
  }
  .services-page .services-board > .section-heading > p:last-child {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
  }
}

.services-page .service-work-orders {
  max-width: 1520px;
  margin-inline: auto;
  gap: clamp(.85rem,1.3vw,1.25rem);
}

.services-page .service-work-order,
.services-page .service-work-order:nth-child(odd),
.services-page .service-work-order:nth-child(even),
.services-page .service-work-order:last-child {
  border-width: clamp(5px,.42vw,7px);
  box-shadow: 0 4px 7px rgba(5,15,33,.3),0 18px 32px rgba(5,15,33,.27);
}

.services-page .service-work-order::after {
  position: absolute;
  z-index: 4;
  top: .45rem;
  right: .5rem;
  width: .55rem;
  aspect-ratio: 1;
  content: "";
  border-radius: 50%;
  background: radial-gradient(circle at 36% 32%,#f5f7f6 0 10%,#92999b 24%,#454d52 72%);
  box-shadow: 0 2px 3px rgba(5,15,33,.45);
  pointer-events: none;
}

.services-page .service-work-order:not([open]) summary > img,
.services-page .service-work-order:last-child:not([open]) summary > img {
  height: clamp(175px,13.4vw,220px);
  min-height: 0;
  aspect-ratio: auto;
}
.services-page .service-work-order__intro,
.services-page .service-work-order:last-child:not([open]) .service-work-order__intro { min-height: 88px; padding: .85rem 1rem; }
.services-page .service-work-order h3,
.services-page .service-work-order:last-child:not([open]) h3 { font-size: clamp(1.22rem,1.52vw,1.64rem); }

/* Customer question slips on the counter board */
.services-page .services-faq {
  position: relative;
  isolation: isolate;
  grid-template-columns: minmax(280px,.68fr) minmax(0,1.32fr);
  gap: clamp(2.5rem,5vw,5.4rem);
  padding: clamp(5rem,8vw,8rem) var(--gutter);
  background:
    radial-gradient(110% 60% at 50% -8%,rgba(148,190,237,.16),rgba(148,190,237,0) 66%),
    linear-gradient(90deg,rgba(3,10,24,.26),transparent 26%,transparent 74%,rgba(3,10,24,.26)),
    linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);
}

.services-page .services-faq__intro {
  position: sticky;
  top: 7rem;
  padding: clamp(1.7rem,2.8vw,2.7rem);
  color: var(--ink);
  background-color: var(--paper);
  background-image: var(--paper-stock);
  background-position: var(--paper-stock-pos);
  background-size: var(--paper-stock-size);
  box-shadow: var(--card-edge),var(--card-lift);
  transform: rotate(-.65deg);
}

.services-faq__clip {
  position: absolute;
  top: -12px;
  left: 50%;
  width: 86px;
  height: 29px;
  background: var(--tape);
  box-shadow: var(--tape-shadow);
  clip-path: polygon(1% 8%,8% 1%,17% 7%,28% 2%,41% 6%,53% 1%,67% 5%,79% 0,91% 6%,99% 2%,97% 92%,89% 98%,78% 93%,66% 99%,54% 94%,42% 100%,29% 94%,17% 99%,7% 93%,1% 97%);
  transform: translateX(-50%) rotate(2deg);
}

.services-page .services-faq__kicker { color: var(--blue-ink); font-size: .84rem; }
.services-page .services-faq__intro h2 { color: var(--navy-deep); }
.services-page .services-faq__intro > p:not(.services-faq__kicker) { color: var(--ink-soft); font-size: 1.05rem; }

.services-page .services-faq__list { gap: clamp(1.05rem,1.55vw,1.4rem); }
.services-page .services-faq__list details {
  position: relative;
  overflow: visible;
  margin-top: .55rem;
  border: 1px solid rgba(36,65,86,.23);
  border-image: none;
  clip-path: none;
  box-shadow: none;
  filter: drop-shadow(0 5px 6px rgba(3,10,22,.24)) drop-shadow(0 14px 17px rgba(3,10,22,.2));
  transform: rotate(var(--slip-rot,-.18deg));
}
.services-page .services-faq__list details:nth-child(even) { --slip-rot: .2deg; }
.services-page .services-faq__list details:nth-child(3n) { --slip-rot: -.28deg; }
.services-page .services-faq__list details::before {
  position: absolute;
  z-index: 2;
  top: -12px;
  left: clamp(16px,3vw,46px);
  width: clamp(76px,7vw,104px);
  height: 25px;
  content: "";
  background: var(--tape);
  box-shadow: var(--tape-shadow);
  clip-path: polygon(1% 8%,8% 1%,17% 7%,28% 2%,41% 6%,53% 1%,67% 5%,79% 0,91% 6%,99% 2%,97% 92%,89% 98%,78% 93%,66% 99%,54% 94%,42% 100%,29% 94%,17% 99%,7% 93%,1% 97%);
  transform: rotate(-1.5deg);
}
.services-page .services-faq__list details:nth-child(even)::before { left: auto; right: clamp(18px,4vw,58px); transform: rotate(1.4deg); }
.services-page .services-faq__list details:nth-child(3n)::before { transform: rotate(-2.2deg); }
.services-page .services-faq__list summary { min-height: 74px; padding: 1.2rem 1.3rem; }
.services-page .services-faq__list summary::after {
  width: 1.85rem;
  height: 1.85rem;
  border: 0;
  border-radius: 1px;
  color: var(--paper-light);
  background: var(--blue-deep);
}
.services-page .services-faq__list details[open] summary::after { color: var(--navy-deep); background: var(--yellow); }

/* Pinned help note */
.services-page .services-callout {
  padding: clamp(5rem,8vw,8rem) var(--gutter);
  background:
    radial-gradient(110% 72% at 50% 0,rgba(255,255,255,.22),rgba(255,255,255,0) 65%),
    linear-gradient(180deg,var(--wall) 0,var(--wall-warm) 100%);
}
.services-page .ticket--callout {
  position: relative;
  max-width: 1040px;
  padding: clamp(2.2rem,4vw,4rem);
  clip-path: polygon(0 1%,2% 0,4% 1%,6% .2%,8% 1%,10% 0,12% .8%,14% .1%,16% 1%,18% .2%,20% 1%,22% 0,24% .8%,26% .1%,28% 1%,30% .2%,32% 1%,34% 0,36% .8%,38% .1%,40% 1%,42% .2%,44% 1%,46% 0,48% .8%,50% .1%,52% 1%,54% .2%,56% 1%,58% 0,60% .8%,62% .1%,64% 1%,66% .2%,68% 1%,70% 0,72% .8%,74% .1%,76% 1%,78% .2%,80% 1%,82% 0,84% .8%,86% .1%,88% 1%,90% .2%,92% 1%,94% 0,96% .8%,98% .1%,100% 1%,100% 100%,0 100%);
  filter: drop-shadow(0 6px 7px rgba(5,15,33,.22)) drop-shadow(0 23px 28px rgba(5,15,33,.24));
}
.services-callout__pin {
  position: absolute;
  top: 1rem;
  right: 1.2rem;
  width: 20px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at 36% 30%,#fff 0 9%,#7d8588 24%,#333b40 70%);
  box-shadow: 0 3px 5px rgba(5,15,33,.38);
}
.services-page .ticket--callout h2 { max-width: none; margin-right: 2rem; }
.services-page .ticket--callout > p { font-size: clamp(1rem,1.25vw,1.15rem); }
@media (min-width: 820px) {
  .services-page .ticket--callout > p {
    max-width: none;
    white-space: nowrap;
  }
}
.services-page .ticket--callout .button-group {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: .75rem;
  margin-top: 1.8rem;
}
.services-page .ticket--callout .button { width: 100%; min-width: 0; }
.services-page .ticket--callout .button--service-blue {
  color: var(--paper-light);
  border: 1px solid #6e8ca4;
  background: var(--blue-deep) url("assets/materials-v2/deep-blue-enamel-service-plate-v2.webp") center/112% 150% no-repeat;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25),0 7px 12px rgba(5,15,33,.26);
}
.services-page .ticket--callout .button--service-blue:hover { filter: brightness(1.08); transform: translateY(-2px); }

/* Expanded work orders use the image/title row as one complete information panel. */
@media (min-width: 701px) {
  .services-page .service-work-order[open] {
    display: block;
    min-height: 372px;
  }
  .services-page .service-work-order[open] summary {
    display: grid;
    grid-template-columns: minmax(200px,.56fr) minmax(0,1.44fr);
    min-height: 360px;
  }
  .services-page .service-work-order[open] summary > img {
    grid-column: 1;
    grid-row: 1;
    height: 360px;
    min-height: 0;
  }
  .services-page .service-work-order[open] .service-work-order__intro {
    grid-column: 2;
    grid-row: 1;
    min-height: 0;
    align-content: start;
    padding: clamp(1.35rem,2.5vw,2.2rem) clamp(1.35rem,2.5vw,2.2rem) 1rem;
  }
  .services-page .service-work-order[open] .service-work-order__details {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    z-index: 2;
    min-height: 270px;
    width: calc(100% - max(200px,28%));
    margin: -270px 0 0 max(200px,28%);
    gap: .45rem;
    padding: 0 clamp(1.35rem,2.5vw,2.2rem) .8rem;
    border-top: 0;
    background: transparent;
  }
  .services-page .service-work-order[open] .service-work-order__details h4 { margin-bottom: .15rem; }
  .services-page .service-work-order[open] .service-work-order__details p { line-height: 1.35; }
  .services-page .service-work-order[open] summary:focus-visible .service-work-order__intro {
    outline: 2px solid var(--yellow);
    outline-offset: -4px;
  }
}

@media (min-width: 1051px) {
  .services-page .service-work-orders { align-items: stretch; }
  .services-page .service-work-order[open] {
    grid-column: span 2;
  }
  .services-page .service-work-order:not([open]) > summary { height: 100%; }
  .services-page .service-work-order[open] .service-work-order__details {
    grid-template-columns: 1fr;
    gap: .45rem;
  }
}

@media (max-width: 1050px) {
  .services-page .services-intro {
    grid-template-columns: minmax(350px,.9fr) minmax(0,1.1fr);
    padding-inline: clamp(1.25rem,3vw,2.5rem);
  }
  .services-page .ticket--services-intro { padding-inline: clamp(1.35rem,2.7vw,2.4rem); }
  .services-page .ticket--services-intro h1 { font-size: clamp(2.7rem,5.2vw,4.3rem); }
  .services-page .services-hero-assurances > div { min-height: 158px; }
  .services-page .services-faq { grid-template-columns: 1fr; }
  .services-page .services-faq__intro { position: relative; top: auto; max-width: 740px; }
}

@media (max-width: 820px) {
  .services-page .services-intro {
    grid-template-columns: 1fr;
    align-items: stretch;
    padding: 2.25rem var(--gutter) 5.6rem;
  }
  .services-page .ticket--services-intro {
    width: 94%;
    max-width: 680px;
    margin: 0 auto -1.5rem 0;
  }
  .services-page .services-hero-photo {
    width: 94%;
    min-height: 0;
    aspect-ratio: 4/3;
    margin: 0 0 0 auto;
  }
  .services-page .services-board > .section-heading { grid-template-columns: 1fr; }
  .services-page .service-work-order:last-child:not([open]) {
    grid-column: 1 / -1;
    width: calc(50% - .625rem);
    justify-self: center;
  }
  .services-page .ticket--callout .button-group { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .services-page .services-intro { padding: 2.25rem 1rem 5rem; }
  .services-page .ticket--services-intro { width: 97%; padding: 1.75rem 1.15rem 2rem; }
  .services-page .services-intro > .ticket-clip { top: -12px; width: 88px; }
  .services-page .services-intro > .ticket-clip--left { left: 16%; }
  .services-page .services-intro > .ticket-clip--right { right: 16%; left: auto; }
  .services-page .ticket--services-intro h1 { font-size: clamp(2.65rem,13vw,4rem); }
  .services-intro__ticket-head { font-size: .75rem; }
  .services-page .services-hero-assurances { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; }
  .services-page .services-hero-assurances > div { min-height: 154px; padding: 1rem .75rem .8rem; }
  .services-page .services-hero-assurances strong { font-size: 1.08rem; }
  .services-page .services-hero-assurances span:not(.assurance-stamp) { padding-right: 2.75rem; font-size: .875rem; line-height: 1.38; }
  .assurance-stamp { right: .4rem; bottom: .55rem; width: 3.35rem; font-size: .75rem!important; }
  .services-page .services-hero-photo { width: 97%; }
  .services-area-plaque {
    top: -13px;
    right: 3%;
    width: 94%;
    max-width: none;
    padding: .5rem .8rem .6rem;
    border-width: 8px 14px;
  }
  .services-area-plaque::before,
  .services-area-plaque::after { width: 17px; }
  .services-area-plaque::before { left: .12rem; }
  .services-area-plaque::after { right: .12rem; }
  .services-area-plaque strong { font-size: clamp(1.15rem,5vw,1.45rem); }
  .services-page .services-board { padding: 4rem 1rem 4.8rem; }
  .services-page .services-board > .section-heading { padding: 1.4rem 1.15rem; }
  .services-page .service-work-order:last-child:not([open]) { width: 100%; }
  .services-page .service-work-order:not([open]) summary,
  .services-page .service-work-order:last-child:not([open]) summary { grid-template-columns: 1fr; }
  .services-page .service-work-order:not([open]) summary > img,
  .services-page .service-work-order:last-child:not([open]) summary > img {
    width: 100%;
    height: auto;
    min-height: 160px;
    aspect-ratio: 16/9;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.2);
  }
  .services-page .service-work-order__intro,
  .services-page .service-work-order:not([open]) .service-work-order__intro,
  .services-page .service-work-order:last-child:not([open]) .service-work-order__intro {
    min-height: 68px;
    padding: .65rem .7rem;
  }
  .services-page .service-work-order:not([open]) h3,
  .services-page .service-work-order:last-child:not([open]) h3 {
    font-size: clamp(1.42rem,6.4vw,1.75rem);
  }
  .services-page .services-faq { padding: 4.5rem 1rem; }
  .services-page .services-faq__intro { padding: 1.6rem 1.2rem; }
  .services-page .services-faq__list summary { min-height: 72px; padding: 1.05rem; font-size: 1.18rem; }
  .services-page .services-faq__list details p { padding: 0 1.05rem 1.2rem; font-size: 1rem; }
  .services-page .services-callout { padding: 4.5rem 1rem; }
  .services-page .ticket--callout { padding: 2.2rem 1.2rem 1.35rem; }
}

@media (max-width: 390px) {
  .services-page .services-hero-assurances { grid-template-columns: 1fr; }
  .services-page .services-hero-assurances > div { min-height: 118px; }
  .services-page .services-hero-assurances > div:nth-child(2) { transform: rotate(.35deg); }
  .services-page .services-faq__list summary { font-size: 1.08rem; }
}

@media (max-width: 360px) {
  .services-page .ticket--services-intro h1 { font-size: 2.45rem; }
  .services-intro__ticket-head { letter-spacing: .07em; }
  .services-page .service-work-order:not([open]) h3,
  .services-page .service-work-order:last-child:not([open]) h3 { font-size: 1.1rem; }
  .services-page .services-faq__list summary { font-size: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .services-page .services-hero-photo,
  .services-page .services-faq__intro,
  .services-page .services-faq__list details { transform: none; }
}
