/* Service choices keep their media in DOM order for mobile and no-script access. */
.gm-services-showcase{--service-rule:#ffffff26;--service-muted:#bdb9b0;background:#171717;color:#f4f2ed}
.gm-services-showcase [hidden]{display:none!important}
.gm-service-layout{min-width:0;overflow-anchor:none}
.gm-service-choice{min-width:0}
.gm-service-text>h3{border-top:1px solid var(--service-rule);margin:0}
.gm-service-select{display:grid;grid-template-columns:24px minmax(0,1fr) 48px;align-items:center;gap:16px;width:100%;min-height:94px;padding:20px 0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.gm-service-number{color:#96928b;font-size:11px;line-height:1.3;letter-spacing:.05em;font-weight:400}
.gm-service-name{font-size:clamp(23px,2.15vw,33px);font-weight:400;line-height:1.15;letter-spacing:-.035em;transition:color 220ms ease}
.gm-service-plus{display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff30;border-radius:50%;color:var(--gm-accent,#ff9800);font-size:25px;font-weight:300;line-height:1;transition:transform 260ms ease,background-color 220ms ease,border-color 220ms ease,color 220ms ease}
.gm-service-choice.is-active>.gm-service-select,.gm-service-choice.is-active .gm-service-text>h3{border-top-color:#ff980080}
.gm-service-choice.is-active .gm-service-name{color:var(--gm-accent,#ff9800)}
.gm-service-choice.is-active .gm-service-plus{transform:rotate(45deg);background:var(--gm-accent,#ff9800);border-color:var(--gm-accent,#ff9800);color:#171717}
.gm-service-copy{padding:0 48px 28px 40px;color:var(--service-muted);font-size:16px;line-height:1.65;font-weight:300}
.gm-service-copy p+p{margin-top:12px}
.gm-service-copy a{display:inline-flex;align-items:center;min-height:48px;margin-top:10px;color:var(--gm-accent,#ff9800);font-size:13px;font-weight:400}
.gm-service-gallery{min-width:0;margin:0 0 32px;background:#20201e;border:1px solid var(--service-rule);border-radius:3px;overflow:hidden}
.gm-service-track{display:flex;position:relative;gap:14px;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#ff9800 #ffffff12;-webkit-overflow-scrolling:touch}
.gm-service-track::-webkit-scrollbar{height:4px}
.gm-service-track::-webkit-scrollbar-thumb{background:#ff9800}
.gm-service-track::-webkit-scrollbar-track{background:#ffffff12}
.gm-service-slide{position:relative;flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always}
.gm-service-image{width:100%;aspect-ratio:4/3;background:#f4f2ed}
.gm-service-image picture{display:block;width:100%;height:100%}
.gm-service-slide>img,.gm-service-slide>a>img,.gm-service-image img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#f4f2ed}
.gm-service-slide>a{display:block}
.gm-service-video{position:relative;width:100%;aspect-ratio:4/3;background:#111;isolation:isolate}
.gm-service-video video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;background:#111}
.gm-service-play{position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:12px;min-width:64px;min-height:56px;padding:12px 20px;border:1px solid #ffffff80;border-radius:32px;background:#171717d9;color:#f4f2ed;font-size:13px!important;line-height:1.25;white-space:nowrap;cursor:pointer;transition:background-color 220ms ease,border-color 220ms ease}
.gm-service-play>span[aria-hidden]{font-size:18px}
.gm-service-video.has-started .gm-service-play{top:16px;right:16px;left:auto;width:48px;min-width:48px;height:48px;min-height:48px;padding:0;transform:none;font-size:16px!important}
.gm-service-video.has-started .gm-service-play>span:not([aria-hidden]){display:none}
.gm-service-caption{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:98px;padding:18px 24px 14px}
.gm-service-caption small{display:block;color:var(--service-muted);font-size:11px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase}
.gm-service-caption a{display:inline-flex;align-items:center;gap:16px;min-height:44px;max-width:100%;font-size:clamp(22px,2vw,28px);font-weight:400;line-height:1.2;letter-spacing:-.025em;overflow-wrap:anywhere}
.gm-service-caption a:hover{color:var(--gm-accent,#ff9800)}
.gm-service-controls{display:flex;align-items:center;gap:10px;border-top:1px solid var(--service-rule);padding:12px 20px}
.gm-service-controls>div{display:flex;gap:10px}
.gm-service-count{margin-right:auto;color:var(--service-muted);font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.08em}
.gm-service-controls button{display:grid;place-items:center;flex:none;width:48px;height:48px;padding:0;border:1px solid #ffffff38;border-radius:50%;background:transparent;color:#f4f2ed;font-size:22px;line-height:1;transition:background-color 220ms ease,border-color 220ms ease,color 220ms ease}
.gm-service-controls button:disabled{opacity:.3;cursor:default}
.gm-services-showcase button:focus-visible,.gm-services-showcase a:focus-visible{outline:3px solid var(--gm-accent,#ff9800);outline-offset:4px}
.gm-service-track:focus-visible{outline:3px solid var(--gm-accent,#ff9800);outline-offset:-3px}
.gm-service-caption a:focus-visible{outline-offset:2px}
.gm-service-controls[hidden]{display:none!important}
@media(min-width:1024px){
 .gm-services-showcase.is-enhanced .gm-service-layout{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);grid-template-rows:repeat(var(--service-count,6),auto);column-gap:clamp(42px,5vw,80px);align-items:start}
 .gm-services-showcase.is-enhanced .gm-service-choice{display:contents}
 .gm-services-showcase.is-enhanced .gm-service-text>h3,.gm-services-showcase.is-enhanced .gm-service-text{grid-column:1;min-width:0}
 .gm-services-showcase.is-enhanced .gm-service-gallery{grid-column:2;grid-row:1 / span var(--service-count,6);position:sticky;top:112px;align-self:start;margin:0}
 .gm-services-showcase.is-enhanced:not(.has-service-gallery) .gm-service-layout{grid-template-columns:minmax(0,1fr)}
 .gm-services-showcase.is-enhanced:not(.has-service-gallery) .gm-service-copy{max-width:780px}
}
@media(max-width:1023px){
 .gm-service-copy{max-width:720px}
 .gm-service-gallery{margin-top:0;margin-bottom:28px}
 .gm-service-name{font-size:clamp(25px,3.6vw,34px)}
}
@media(max-width:767px){
 .gm-service-select{grid-template-columns:20px minmax(0,1fr) 48px;gap:12px;min-height:90px;padding-block:18px}
 .gm-service-name{font-size:clamp(22px,6vw,29px)}
 .gm-service-copy{padding:0 0 24px 32px;font-size:16px}
 .gm-service-caption{min-height:94px;padding:16px 18px 12px}
 .gm-service-caption small{font-size:10px}
 .gm-service-caption a{font-size:25px}
 .gm-service-controls{padding:10px 16px}
 .gm-service-video.has-started .gm-service-play{top:12px;right:12px}
}
@media(hover:hover){
 .gm-service-select:hover .gm-service-name{color:var(--gm-accent,#ff9800)}
 .gm-service-select:hover .gm-service-plus{border-color:var(--gm-accent,#ff9800)}
 .gm-service-play:hover{background:#171717;border-color:var(--gm-accent,#ff9800)}
 .gm-service-controls button:not(:disabled):hover{background:var(--gm-accent,#ff9800);border-color:var(--gm-accent,#ff9800);color:#171717}
}
@media(prefers-reduced-motion:reduce){
 .gm-service-track{scroll-behavior:auto}
 .gm-service-name,.gm-service-plus,.gm-service-play,.gm-service-controls button{transition:none}
}

/* Native service listing keeps its original light editorial surface. */
.gm-services-showcase--light{--service-rule:#d8d5ce;--service-muted:#625e56;background:var(--gm-paper,#f4f2ed);color:#171717}
.gm-services-showcase--light .gm-section-head p{color:#625e56}
.gm-services-showcase--light .gm-service-gallery{background:#fff}
.gm-services-showcase--light .gm-service-plus,.gm-services-showcase--light .gm-service-controls button{border-color:#ccc8bf;color:#171717}
.gm-services-showcase--light .gm-service-choice.is-active .gm-service-name,.gm-services-showcase--light .gm-service-copy a{color:#925000}
.gm-service-text>h3{position:relative}
.gm-service-text>h3:after{content:'';position:absolute;left:0;top:-1px;width:100%;height:2px;background:var(--gm-accent,#ff9800);transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.22,1,.36,1);pointer-events:none}
.gm-service-choice.is-active .gm-service-text>h3:after{transform:scaleX(1)}
.gm-service-plus{transition-duration:.48s}
@media(hover:hover){.gm-service-select:hover .gm-service-plus{box-shadow:0 0 0 6px #ff980012}.gm-services-showcase--light .gm-service-select:hover .gm-service-name{color:#925000}}
@media(prefers-reduced-motion:reduce){.gm-service-text>h3:after{transition:none}}
