/* Services surfaces: page index carousel and CMS-backed service details. */
.lm-services-hero{position:relative;display:flex;min-height:min(820px,100svh);align-items:flex-end;overflow:hidden;background:var(--lm-ink) url("../images/garage-detail.jpg") center 48%/cover no-repeat;isolation:isolate}
.lm-services-hero__image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center}
.lm-services-hero--detail.has-service-image{background-image:none}
.lm-services-hero:before,.lm-services-hero:after{position:absolute;inset:0;z-index:-1;content:"";pointer-events:none}
.lm-services-hero:before{background:linear-gradient(90deg,rgba(7,7,9,.94) 0%,rgba(7,7,9,.78) 36%,rgba(7,7,9,.17) 75%,rgba(7,7,9,.24) 100%),linear-gradient(0deg,rgba(7,7,9,.92) 0%,rgba(7,7,9,.22) 46%,rgba(7,7,9,.12) 100%)}
.lm-services-hero:after{background:radial-gradient(ellipse at 20% 78%,rgba(7,7,9,.38),transparent 54%)}
.lm-services-hero__inner{position:relative;display:flex;min-height:inherit;align-items:flex-end;justify-content:space-between;padding-top:180px;padding-bottom:clamp(72px,10vh,120px)}
.lm-services-index .lm-services-hero__inner{align-items:flex-start;padding-top:210px;padding-bottom:90px}
.lm-services-hero__copy{max-width:900px;animation:lm-services-arrive .8s cubic-bezier(.16,1,.3,1) both}
.lm-services-hero__eyebrow,.lm-service-explorer__eyebrow{margin:0 0 20px;color:var(--lm-gold-light);font-size:.76rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.lm-services-index .lm-services-hero__eyebrow{margin-bottom:28px}
.lm-services-hero h1{max-width:900px;font-size:clamp(4.25rem,8.6vw,8rem);line-height:.84;letter-spacing:-.035em;text-wrap:balance;white-space:pre-line}
.lm-services-hero__lead{max-width:620px;margin-top:26px!important;color:var(--lm-text);font-size:clamp(1.05rem,1.55vw,1.35rem);line-height:1.5}
.lm-services-index .lm-services-hero__lead{margin-top:44px!important}
.lm-services-hero__signature{display:flex;align-items:center;gap:14px;margin:0 0 14px 30px;color:rgba(245,243,236,.78);font-size:.62rem;font-weight:600;letter-spacing:.17em;white-space:nowrap;writing-mode:vertical-rl;transform:rotate(180deg)}
.lm-services-hero__signature i{display:block;width:1px;height:82px;background:linear-gradient(var(--lm-gold),rgba(var(--lm-gold-rgb),.12))}
.lm-services-hero__back{display:inline-flex;align-items:center;gap:10px;margin-bottom:32px;color:var(--lm-gold-light)!important;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}
.lm-services-hero__back:hover{color:var(--lm-text)!important}
.lm-services-hero__back-icon{width:19px;transform:rotate(180deg)}
.lm-services-hero--detail .lm-services-hero__inner{align-items:flex-end}
.lm-services-hero--detail .lm-services-hero__copy{max-width:800px}
.lm-services-hero--detail:before{background:linear-gradient(90deg,rgba(7,7,9,.96),rgba(7,7,9,.76) 45%,rgba(7,7,9,.26)),linear-gradient(0deg,rgba(7,7,9,.84),transparent 65%)}

.lm-service-switcher{background:var(--lm-surface);border-top:1px solid var(--lm-border)}
.lm-service-switcher__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;min-height:142px}
.lm-service-switcher__link,.lm-service-switcher__all{display:flex;flex-direction:column;justify-content:center;text-decoration:none}
.lm-service-switcher__link{gap:6px;padding:22px 28px;border-inline:1px solid rgba(255,255,255,.08);transition:background .2s}
.lm-service-switcher__link:hover{background:var(--lm-raised)}
.lm-service-switcher__link span,.lm-service-switcher__all{color:var(--lm-muted);font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.lm-service-switcher__link strong{font:600 1.8rem/.95 var(--lm-display);text-transform:uppercase}
.lm-service-switcher__link--next{text-align:right}
.lm-service-switcher__all{align-items:center;justify-content:center;padding:22px;color:var(--lm-gold-light);white-space:nowrap}

.lm-service-explorer{padding:clamp(76px,9vw,132px) 0 112px;background:var(--lm-ink);scroll-margin-top:100px}
.lm-service-explorer__heading{margin-bottom:58px}
.lm-service-explorer__heading h2{max-width:850px;font-size:clamp(3.25rem,6.8vw,6.25rem);line-height:.86;letter-spacing:-.025em;text-wrap:balance}
.lm-service-carousel{overflow:hidden;background:var(--lm-surface)}
.lm-service-carousel__slides{position:relative}
.lm-service-slide{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,.82fr);min-height:700px;overflow:hidden;background:var(--lm-surface)}
.lm-service-slide[hidden]{display:none}
.lm-service-slide__media{position:relative;min-height:700px;overflow:hidden;background:#17191e}
.lm-service-slide__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.16,1,.3,1)}
.lm-service-slide__placeholder{display:grid;width:100%;height:100%;min-height:inherit;place-content:center;justify-items:center;gap:16px;background:#17191e;color:var(--lm-muted);text-align:center}
.lm-service-slide__placeholder:before{width:34px;height:1px;background:var(--lm-gold);content:""}
.lm-service-slide__placeholder span{font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.lm-service-slide__content{display:flex;min-width:0;flex-direction:column;align-items:flex-start;padding:clamp(34px,4.2vw,64px);background:var(--lm-surface)}
.lm-service-slide__content h3{max-width:9ch;margin:0;color:var(--lm-text);font:700 clamp(3.4rem,5.7vw,6rem)/.84 var(--lm-display);letter-spacing:-.025em;text-transform:uppercase;text-wrap:balance}
body.lm-site .lm-service-slide__content .lm-service-slide__description{max-width:38ch;margin:36px 0 0;color:rgba(245,243,236,.84);font-size:1.02rem;line-height:1.55}
body.lm-site .lm-service-slide__content .lm-service-slide__link{display:inline-flex;min-height:48px;align-items:center;gap:12px;margin-top:26px;color:var(--lm-gold-light);font-size:.72rem;font-weight:600;letter-spacing:.13em;text-decoration:none;text-transform:uppercase}
.lm-service-slide__link svg{width:20px;transition:transform .22s}
.lm-service-slide__link:hover svg{transform:translateX(5px)}
.lm-service-slide__navigation{display:flex;width:100%;align-items:center;justify-content:flex-end;gap:18px;margin-top:auto;padding-top:42px}
.lm-service-slide__controls{display:flex;align-items:center;gap:9px}
.lm-service-slide__controls button{display:grid;width:46px;height:46px;place-items:center;border:1px solid rgba(245,243,236,.32);border-radius:5px;background:transparent;color:var(--lm-text);cursor:pointer;touch-action:manipulation;transition:background-color .2s,border-color .2s,color .2s,opacity .2s}
.lm-service-slide__controls button:hover:not(:disabled){border-color:var(--lm-gold);background:var(--lm-gold);color:var(--lm-ink)}
.lm-service-slide__controls button:disabled{opacity:.38;cursor:not-allowed}
.lm-service-slide__controls svg{width:19px}
.lm-service-slide__controls .is-reversed{transform:rotate(180deg)}
.lm-service-slide__link:focus-visible,.lm-service-slide__controls button:focus-visible{outline:2px solid var(--lm-gold-light);outline-offset:4px}
.lm-service-slide.is-entering .lm-service-slide__content>*{animation:lm-service-panel-in .42s cubic-bezier(.16,1,.3,1) both}
.lm-service-slide.is-entering .lm-service-slide__media img{animation:lm-service-image-in .75s cubic-bezier(.16,1,.3,1) both}
.lm-service-fallback{margin:28px 0 0;padding:0;list-style:none}
.lm-service-fallback li+li{margin-top:8px}
.lm-service-fallback a{color:var(--lm-text)}
.lm-service-fallback a span{color:var(--lm-muted)}
.lm-service-explorer__empty{max-width:620px;color:var(--lm-muted);font-size:1.1rem}
.lm-service-contact{padding:37px 0;background:var(--lm-gold);color:var(--lm-ink)}
.lm-service-contact__inner{display:flex;align-items:center;justify-content:space-between;gap:28px}
.lm-service-contact__inner>p{font:700 clamp(2rem,3.4vw,3.6rem)/.95 var(--lm-display);text-transform:uppercase}
.lm-service-contact .lm-button--gold{border-color:var(--lm-ink);background:var(--lm-ink);box-shadow:0 9px 24px rgba(0,0,0,.2);color:var(--lm-text)}
.lm-service-contact .lm-button--gold:hover{border-color:#24211a;background:#24211a;color:var(--lm-gold-light)}

@keyframes lm-services-arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes lm-service-panel-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes lm-service-image-in{from{transform:scale(1.035)}to{transform:scale(1)}}

@media(max-width:1050px){
	.lm-services-hero__signature{margin-left:18px}
	.lm-service-slide{grid-template-columns:minmax(0,1.3fr) minmax(300px,.9fr);min-height:620px}
	.lm-service-slide__media{min-height:620px}
	.lm-service-slide__content{padding:36px}
	.lm-service-slide__content h3{font-size:clamp(3.5rem,6vw,5.4rem)}
}

@media(max-width:780px){
	.lm-services-hero{min-height:760px;background-position:58% center}
	.lm-services-hero:before{background:linear-gradient(90deg,rgba(7,7,9,.86),rgba(7,7,9,.38)),linear-gradient(0deg,rgba(7,7,9,.96),rgba(7,7,9,.28) 67%,rgba(7,7,9,.35))}
	.lm-services-hero__inner{padding-top:142px;padding-bottom:100px}
	.lm-services-index .lm-services-hero{min-height:0}
	.lm-services-index .lm-services-hero__inner{padding-top:165px;padding-bottom:48px}
	.lm-services-hero__copy{max-width:100%}
	.lm-services-hero h1{font-size:clamp(4rem,15vw,6.3rem)}
	.lm-services-hero__lead{max-width:35ch;margin-top:26px!important}
	.lm-services-index .lm-services-hero__lead{margin-top:32px!important}
	.lm-services-hero__signature{display:none}
	.lm-services-hero__back{margin-bottom:24px}
	.lm-services-hero__actions{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
	.lm-services-hero__actions .lm-button{max-width:100%}
	.lm-service-explorer{padding:84px 0 80px}
	.lm-service-explorer__heading{margin-bottom:42px}
	.lm-services-index .lm-service-explorer{padding-top:40px}
	.lm-services-index .lm-service-explorer__heading{margin-bottom:28px}
	.lm-service-explorer__heading h2{font-size:clamp(3.2rem,12vw,4.8rem)}
	.lm-service-slide{grid-template-columns:1fr;min-height:0}
	.lm-service-slide__media{min-height:0;aspect-ratio:1/1}
	.lm-service-slide__content{min-height:460px;padding:30px 26px 26px}
	.lm-service-slide__content h3{font-size:clamp(3.7rem,14vw,5.4rem)}
	body.lm-site .lm-service-slide__content .lm-service-slide__description{max-width:42ch;margin-top:28px;font-size:1rem}
	body.lm-site .lm-service-slide__content .lm-service-slide__link{margin-top:20px}
	.lm-service-slide__navigation{padding-top:30px}
	.lm-service-switcher__inner{grid-template-columns:1fr 1fr;min-height:0}
	.lm-service-switcher__all{grid-column:1/-1;grid-row:1;padding:18px;border-bottom:1px solid rgba(255,255,255,.08)}
	.lm-service-switcher__link{min-height:108px;padding:16px}
	.lm-service-switcher__link strong{font-size:1.45rem}
	.lm-service-switcher__link span{font-size:.6rem}
	.lm-service-switcher__link--previous{border-left:0}
	.lm-service-switcher__link--next{border-right:0}
	.lm-service-detail .lm-services-hero{min-height:720px}
	.lm-service-detail .lm-services-hero__inner{padding-bottom:70px}
	.lm-service-contact__inner{align-items:flex-start;flex-direction:column}
	.lm-service-contact .lm-button{width:auto}
}

@media(max-width:420px){
	.lm-service-slide__content{min-height:460px;padding:26px 22px 22px}
	.lm-service-slide__content h3{font-size:clamp(3.4rem,15vw,4.5rem)}
	.lm-service-slide__controls button{width:44px;height:44px}
}

@media(prefers-reduced-motion:reduce){
	.lm-services-hero__copy{animation:none}
	.lm-service-slide.is-entering .lm-service-slide__content>*,.lm-service-slide.is-entering .lm-service-slide__media img{animation:none}
	.lm-service-slide__media img,.lm-service-slide__link svg,.lm-service-slide__controls button{transition:none}
}

/* The services index keeps its approved image, with a lighter mask like the catalog heroes. */
.lm-services-index .lm-services-hero{background:var(--lm-ink)}
.lm-services-index .lm-services-hero:before{background:var(--lm-photo-hero-shade)}
.lm-services-index .lm-services-hero:after{z-index:-2;background:var(--lm-cms-hero-image,url("../images/garage-detail.jpg")) center 48%/cover no-repeat;filter:brightness(var(--lm-photo-hero-brightness))}
@media(max-width:780px){
	.lm-services-index .lm-services-hero:after{background-position:58% center}
}
