/* Service page only. Semantic copy stays in the HTML throughout the sequence. */
.service-hero{padding-block:32px 40px;border-bottom:0;background:#ececec}
.service-hero .breadcrumb{margin-bottom:26px}
.service-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;align-items:center}
.service-hero-copy{min-width:0}
.service-eyebrow{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:700;line-height:1.4;margin-bottom:17px}
.service-eyebrow .icon{width:20px;height:20px}
.service-hero .service-title{font-size:clamp(36px,3.8vw,58px);max-width:none;line-height:1.05;margin-bottom:24px}
.js .service-title-base{display:block}
.js .service-title-actions{display:grid;margin-top:5px;line-height:1.13;font-size:1.35em;width:fit-content;isolation:isolate}
.js .service-title-join{display:none}
.js .service-title-word{grid-area:1/1;opacity:0;transform:translateY(12px);transition:opacity .32s ease,transform .42s ease}
.js .service-story[data-step="0"] .service-word-0,.js .service-story[data-step="1"] .service-word-1,.js .service-story[data-step="2"] .service-word-2{opacity:1;transform:translateY(0)}
.service-title-actions{color:#000;text-decoration:underline;text-decoration-color:#bcbd00;text-decoration-thickness:.11em;text-underline-offset:.08em}
.service-hero .hero-intro{font-size:21px;line-height:1.5;max-width:43ch;margin-bottom:25px}
.service-call{gap:15px;min-height:78px;justify-content:flex-start;text-align:left;max-width:100%;font-size:20px;padding:14px 20px}
.service-call small{display:block;font-size:16px;font-weight:400;margin-top:5px}
.service-call>.icon:last-child{margin-left:12px}
.service-promise{display:flex;gap:9px;align-items:flex-start;font-size:16px;line-height:1.5;margin:17px 0 0;color:#444}
.service-promise .icon{width:19px;height:22px}
.service-photo{margin:0;min-width:0}
.service-photo-image{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:center;height:auto}
.service-photo figcaption{display:flex;align-items:center;gap:18px;background:#000;color:#fff;padding:19px 22px;border-top:5px solid #d0d700;font-size:20px;font-weight:700;line-height:1.25}
.service-photo figcaption small{display:block;font-size:15px;font-weight:400;color:#ddd;margin-top:7px;line-height:1.4}
.service-photo-mark{font-size:43px;line-height:1;color:#d0d700;border-right:1px solid #58595b;padding-right:18px;letter-spacing:-2px}
.service-photo-mark span{font-size:24px;letter-spacing:0}
.service-process{background:#d0d700;padding-block:31px 36px}
.service-process-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:25px}
.service-process-heading .service-eyebrow{margin-bottom:8px}
.service-process-heading h2{font-size:clamp(30px,3vw,42px);margin:0}
.service-pause{display:none;border:1px solid #000;background:transparent;color:#000;font-size:16px;font-weight:700;min-height:46px;min-width:185px;padding:10px 14px;line-height:1.3}
.js .service-pause{display:block}
.service-pause:hover{background:#fff}
.service-process-layout{display:grid;grid-template-columns:250px minmax(0,1fr);background:#fff}
.service-mechanism{position:relative;isolation:isolate;overflow:hidden;min-height:290px;background:#181a1b}
.mechanism-guide{position:absolute;border:1px solid #ffffff15;left:50%;top:45%;transform:translate(-50%,-50%);width:190px;height:190px;border-radius:50%}
.guide-two{width:260px;height:260px}
.mechanism-casing{position:absolute;left:86px;top:36px;width:67px;height:205px;border:2px solid #e3e4e2;border-radius:5px;background:linear-gradient(100deg,#858887,#e8e8e3 24%,#acafad 55%,#e0e0db);box-shadow:8px 7px 0 #0006}
.mechanism-screw{position:absolute;left:28px;width:9px;height:9px;border:1px solid #636663;border-radius:50%;background:linear-gradient(40deg,#d4d5d0 44%,#636663 46% 54%,#d4d5d0 56%)}
.screw-top{top:8px}.screw-bottom{bottom:8px}
.mechanism-rose{position:absolute;top:35px;left:9px;width:45px;height:45px;border:2px solid #777b77;border-radius:50%;background:linear-gradient(130deg,#eee,#8f9590)}
.mechanism-lever{position:absolute;top:14px;left:15px;width:72px;height:12px;background:linear-gradient(#f9f9f4,#a5aba7);border:1px solid #757b77;border-radius:6px;transform-origin:7px 50%}
.mechanism-cylinder{position:absolute;top:119px;left:12px;width:40px;height:49px;border:2px solid #666c67;border-radius:50% 50% 38% 38%;background:linear-gradient(120deg,#f4f4ed,#acb1ad)}
.mechanism-cylinder>span{position:absolute;left:14px;top:11px;width:8px;height:20px;border-radius:5px 5px 0 0;background:#292d29}
.mechanism-bolt{position:absolute;left:100%;width:20px;height:14px;background:linear-gradient(#eee,#929992);border:1px solid #686f69;border-radius:0 3px 3px 0;z-index:-1;transform-origin:left center}
.bolt-one{top:83px}.bolt-two{top:102px}.bolt-three{top:165px}
.mechanism-action{position:absolute;inset:0;opacity:0;transition:opacity .3s ease;pointer-events:none}
.mechanism-review{opacity:1}
.mechanism-lens{position:absolute;left:105px;top:80px;width:70px;height:70px;border:5px solid #d0d700;border-radius:50%;background:#d0d70112;box-shadow:0 0 0 3px #181a1b}
.mechanism-lens:after{content:"";position:absolute;left:53px;top:52px;width:37px;height:8px;border-radius:4px;background:#d0d700;transform:rotate(45deg);transform-origin:left center}
.mechanism-repair svg{position:absolute;left:112px;top:98px;width:105px;height:105px;color:#d0d700;filter:drop-shadow(0 2px 2px #000);transform-origin:30% 75%}
.mechanism-paper{position:absolute;left:105px;top:65px;width:92px;height:119px;padding:25px 14px;background:#fff;transform:rotate(-5deg);border-top:8px solid #d0d700;box-shadow:5px 6px 0 #0005}
.mechanism-paper>span{display:block;height:4px;background:#888f8a;margin-bottom:13px}
.mechanism-paper>span:last-child{width:70%}
.mechanism-approved{position:absolute;left:155px;top:151px;display:grid;place-items:center;width:59px;height:59px;border-radius:50%;background:#d0d700;border:4px solid #181a1b}
.mechanism-approved .icon{width:32px;height:32px;stroke-width:2.5}
.mechanism-caption{position:absolute;bottom:16px;left:15px;right:15px;color:#ddd;text-align:center;font-size:14px;line-height:1.3}
.service-story[data-step="1"] .mechanism-review,.service-story[data-step="2"] .mechanism-review{opacity:0}
.service-story[data-step="1"] .mechanism-repair,.service-story[data-step="2"] .mechanism-decide{opacity:1}
.service-story[data-step="1"] .mechanism-lever{transform:rotate(12deg)}
.service-steps{list-style:none;padding:28px 30px;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.service-step{min-width:0}
.service-step h3{margin:0 0 13px;font-size:27px;letter-spacing:-.03em}
.service-step button{display:flex;flex-direction:column;gap:14px;align-items:flex-start;text-align:left;background:transparent;color:#000;border:0;padding:0 0 8px;line-height:1.15;font-weight:700;font-size:inherit;width:100%;min-height:100px}
.service-step button:disabled{cursor:default}
.service-step-number{font-size:19px;line-height:1;letter-spacing:0;color:#58595b;border-bottom:4px solid #d3d3d0;display:block;width:100%;padding-bottom:14px;transition:border-color .25s ease}
.service-story[data-step="0"] .service-step-0 .service-step-number,.service-story[data-step="1"] .service-step-1 .service-step-number,.service-story[data-step="2"] .service-step-2 .service-step-number{border-color:#000}
.service-step p{font-size:19px;line-height:1.5;margin:0;color:#444}
.service-story[data-step="0"] .mechanism-lens{animation:service-inspect 3.8s ease-in-out infinite paused}
.service-story[data-step="1"] .mechanism-repair svg{animation:service-adjust 1.9s ease-in-out infinite paused}
.service-story[data-step="1"] .mechanism-bolt{animation:service-bolt 1.9s ease-in-out infinite paused}
.service-story[data-step="2"] .mechanism-approved{animation:service-approve 3.8s ease both paused}
.service-story[data-playback="playing"] :is(.mechanism-lens,.mechanism-repair svg,.mechanism-bolt,.mechanism-approved){animation-play-state:running}
@keyframes service-inspect{0%,100%{transform:translate(-15px,-16px)}50%{transform:translate(-15px,50px)}}
@keyframes service-adjust{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(8deg)}}
@keyframes service-bolt{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
@keyframes service-approve{0%{transform:scale(.75);opacity:.3}18%,100%{transform:scale(1);opacity:1}}
@media(max-width:1150px){.service-hero-grid{gap:35px}.service-process-layout{grid-template-columns:220px minmax(0,1fr)}.service-steps{padding:26px 24px;gap:22px}.service-step h3{font-size:25px}.mechanism-casing{left:71px}.mechanism-action{left:-15px}.service-call{font-size:18px;padding-inline:15px}}
@media(max-width:950px){.service-hero-grid{gap:27px}.service-hero .service-title{font-size:38px}.service-hero .hero-intro{font-size:20px}.service-photo figcaption{padding:16px;font-size:18px;gap:13px}.service-photo-mark{font-size:36px;padding-right:13px}.service-process-layout{grid-template-columns:210px minmax(0,1fr)}.service-steps{gap:20px;padding:25px 22px;grid-template-columns:1fr}.service-step button{flex-direction:row;gap:16px;align-items:center;min-height:44px;padding:0}.service-step-number{border:0;border-left:4px solid #d3d3d0;padding:8px 0 8px 12px;width:auto;font-size:17px;min-width:43px}.service-step h3{margin-bottom:6px;font-size:25px}.service-step p{font-size:18px;padding-left:59px}.service-mechanism{min-height:335px}.mechanism-casing{top:65px}.mechanism-action{top:29px}.mechanism-guide{top:47%}}
@media(max-width:760px){.service-hero{padding-block:23px 30px}.service-hero-grid{grid-template-columns:1fr;gap:28px}.service-hero .service-title{font-size:42px;max-width:19ch}.service-eyebrow{font-size:16px;margin-bottom:17px}.service-hero .hero-intro{font-size:21px}.service-call{font-size:20px;min-height:80px}.service-photo{max-width:640px;width:100%}.service-photo figcaption{font-size:20px}.service-process{padding-block:28px}.service-process-heading{gap:16px;flex-wrap:wrap;margin-bottom:23px;align-items:flex-start}.service-process-heading h2{font-size:32px}.service-pause{font-size:15px;min-height:46px}.service-process-layout{grid-template-columns:1fr}.service-mechanism{min-height:235px}.mechanism-casing{left:calc(50% - 52px);top:17px;height:188px}.mechanism-action{left:calc(50% - 137px);top:-3px}.mechanism-lens{top:65px}.mechanism-caption{bottom:10px;left:12px;right:12px;text-align:right;font-size:13px}.mechanism-casing .screw-bottom{bottom:6px}.service-steps{padding:25px 22px;gap:24px}.service-step h3{font-size:27px}.service-step p{font-size:19px}.service-step-number{font-size:18px;min-width:43px}.service-photo-mark{font-size:42px}}
@media(max-width:430px){.service-hero .service-title{font-size:38px}.service-call{font-size:18px;gap:10px;width:100%}.service-call>.icon:last-child{width:19px;margin-left:auto}.service-photo figcaption{font-size:18px;padding:16px;gap:12px}.service-photo figcaption small{font-size:14px}.service-photo-mark{font-size:35px;padding-right:12px}.service-process-heading h2{font-size:30px}.service-step p{padding-left:0}.mechanism-caption{font-size:12px;max-width:110px;left:auto;text-align:right}}
@media(prefers-reduced-motion:reduce){.js .service-story:not([data-motion="full"]) :is(.service-title-base,.service-title-actions,.service-title-word,.service-title-join){display:inline;opacity:1;transform:none;font-size:inherit;line-height:inherit;margin:0}.service-story:not([data-motion="full"]) .service-title-actions{text-decoration:none}.service-story:not([data-motion="full"]) :is(.service-title-word,.service-step-number,.mechanism-action){transition:none!important}.service-story:not([data-motion="full"]) *,.service-story:not([data-motion="full"]) *:before,.service-story:not([data-motion="full"]) *:after{animation:none!important}.service-story:not([data-motion="full"])[data-step] .mechanism-lever{transform:none}}
