/* Vector 496: service stories, explanatory icons and visitor-controlled motion. */
.space-figure{margin:0;min-width:0}
.space-figure img{display:block;width:100%;height:540px;object-fit:cover;object-position:54% center}
.space-figure figcaption{font-size:11px;color:var(--muted);margin-top:12px}
.film-controls{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.film-controls button{min-height:48px;font-size:12px;white-space:nowrap}
.film-caption{gap:20px;flex-wrap:wrap}
.services-showcase{padding-top:80px}
.services-showcase .section-heading h2{max-width:800px}
.services-showcase .section-heading>p{max-width:320px}
.services-explorer{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.4fr);gap:6%;align-items:start}
.service-options{padding-top:18px}
.service-choice{display:grid;grid-template-columns:30px 1fr 20px;gap:18px;align-items:center;min-height:112px;padding:22px 0;border-bottom:1px solid var(--line);color:var(--muted);font:clamp(15px,1.5vw,22px)/1.6 var(--display);text-decoration:none;transition:color var(--fast),border-color var(--fast)}
.service-choice>.icon:first-child{width:29px;height:29px}
.service-choice>.icon:last-child{width:18px;height:18px;opacity:.5;transition:transform var(--fast),opacity var(--fast)}
.service-choice[aria-selected=true],.service-choice:hover{color:var(--text);border-color:var(--bright)}
.service-choice[aria-selected=true]>.icon:last-child{opacity:1;transform:rotate(45deg)}
.service-panels{min-width:0}
.service-panel[hidden]{display:none!important}
.service-panel:focus-visible{outline:3px solid var(--bright);outline-offset:4px}
.service-visual{margin:0;position:relative;aspect-ratio:1.38;overflow:hidden;background:var(--surface)}
.service-visual img{display:block;width:100%;height:100%;object-fit:cover}
.service-visual figcaption{position:absolute;bottom:18px;left:18px;background:var(--ink);color:var(--muted);padding:7px 11px;font-size:10px}
.service-panel-copy{display:flex;align-items:start;justify-content:space-between;gap:26px;padding-top:25px}
.service-panel-copy>p{max-width:430px;color:var(--muted);font-size:16px;line-height:1.7;margin:0}
.service-panel-copy>.text-link{font-size:13px;flex-shrink:0;min-height:44px}
.service-stories{margin-top:90px}
.service-story{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);align-items:start;gap:7%;padding:75px 0;border-top:1px solid var(--line);scroll-margin-top:35px}
.service-story:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.18fr)}
.service-story:nth-child(even) .service-story-image{order:2}
.service-story-image{position:sticky;top:35px;margin:0;min-width:0}
.service-story-image img{display:block;width:100%;height:610px;object-fit:cover;background:var(--surface)}
.service-story-image figcaption{font-size:10px;color:var(--muted);margin-top:13px;line-height:1.6}
.service-title{display:flex;gap:21px;align-items:flex-start;margin:0 0 24px}
.service-title>.icon{width:34px;height:34px;margin-top:5px;flex-shrink:0}
.service-title h2{font-size:clamp(24px,2.5vw,38px);line-height:1.45;margin:0}
.service-summary{color:var(--text);font-size:18px;line-height:1.75;margin:0 0 16px}
.service-purpose{color:var(--muted);font-size:15px;line-height:1.8;margin-bottom:30px}
.service-points{list-style:none;padding:0;margin:0 0 36px}
.service-points li{display:flex;gap:18px;padding:16px 0;border-top:1px solid var(--line)}
.service-points .icon{width:24px;height:24px;flex-shrink:0;margin-top:3px}
.service-points h3{font:600 16px/1.6 var(--body);margin:0 0 4px}
.service-points p{color:var(--muted);font-size:14px;line-height:1.7;margin:0}
.service-story-copy>.text-link{font-size:14px;min-height:48px}
.project-start{margin-top:90px;padding:70px 0;border-top:1px solid var(--line)}
.project-start>h2{max-width:850px}
.start-intro{font-size:18px;color:var(--muted);max-width:640px;line-height:1.8}
.start-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;margin:50px 0;padding:0;list-style:none;counter-reset:steps}
.start-steps li{border-top:1px solid var(--line);padding-top:28px;counter-increment:steps}
.start-steps li>.icon{width:32px;height:32px;margin-bottom:18px}
.start-steps h3{font:400 17px/1.65 var(--display);margin:0 0 16px}
.start-steps h3:before{content:counter(steps) '. ';color:var(--bright)}
.start-steps p{font-size:15px;color:var(--muted);line-height:1.8;margin:0}
.service-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:7%;padding-top:70px;margin-top:50px;border-top:1px solid var(--line)}
.service-faq>h2{font-size:clamp(27px,3vw,42px)}
.service-faq details{padding:25px 0;border-bottom:1px solid var(--line)}
.service-faq details:first-child{padding-top:0}
.service-faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;min-height:48px;font-size:17px;font-weight:600;line-height:1.6}
.service-faq summary::-webkit-details-marker{display:none}
.service-faq summary .icon{width:20px;height:20px;flex-shrink:0;transition:transform var(--fast)}
.service-faq details[open] summary .icon{transform:rotate(45deg)}
.service-faq details p{font-size:15px;color:var(--muted);line-height:1.9;margin:18px 0 0;max-width:65ch}
.contact-service-context{display:flex;gap:14px;align-items:center;padding:18px 0 24px;margin:0 0 22px;border-bottom:1px solid var(--line);color:var(--muted);font-size:15px}
.contact-service-context .icon{width:28px;height:28px;flex-shrink:0}
.contact-service-context strong{font-weight:600;color:var(--text)}
@media(max-width:1100px){
 .services-explorer{gap:4%;grid-template-columns:.85fr 1.15fr}
 .service-choice{font-size:16px;gap:12px;min-height:102px}
 .service-visual{aspect-ratio:1.1}
 .service-panel-copy{display:block}.service-panel-copy>.text-link{margin-top:15px}
 .service-story{gap:5%}.service-story-image img{height:570px}.service-title{gap:14px}.service-title h2{font-size:27px}
}
@media(max-width:800px){
 .hero-art{transform-origin:65% 70%}
 .space-figure img{height:auto;aspect-ratio:1.16;object-fit:cover}
 .film-controls{gap:12px 20px;justify-content:space-between;width:100%}.film-controls button{font-size:11px}.film-controls button .icon{width:17px}
 .services-showcase{padding-top:40px}.services-explorer{grid-template-columns:1fr;gap:28px}.service-options{padding-top:0}
 .service-choice{font-size:16px;min-height:70px;padding:15px 0;grid-template-columns:25px 1fr 18px}.service-choice>.icon:first-child{width:24px;height:24px}
 .service-visual{aspect-ratio:1.3}.service-panel-copy>p{font-size:15px;max-width:none}.service-panel-copy>.text-link{font-size:13px}
 .service-stories{margin-top:50px}.service-story,.service-story:nth-child(even){display:flex;flex-direction:column;gap:35px;padding:45px 0 55px;scroll-margin-top:24px}
 .service-story:nth-child(even) .service-story-image{order:0}.service-story-image{position:static;width:100%}.service-story-image img{height:auto;aspect-ratio:1.18;object-fit:cover}
 .service-title h2{font-size:25px}.service-title>.icon{width:28px;height:28px}.service-summary{font-size:17px}.service-purpose{font-size:15px}
 .project-start{margin-top:35px;padding:55px 0}.project-start>h2{font-size:29px}.start-intro{font-size:16px}.start-steps{grid-template-columns:1fr;gap:30px;margin:35px 0}.start-steps h3{font-size:16px}.start-steps li>.icon{width:28px;height:28px;margin-bottom:12px}
 .service-faq{grid-template-columns:1fr;gap:20px;margin-top:20px;padding-top:50px}.service-faq summary{font-size:16px}.service-faq details p{font-size:15px}
}
@media(prefers-reduced-motion:no-preference){.service-panel:not([hidden]){animation:service-enter .35s var(--ease) both}@keyframes service-enter{from{opacity:.4}to{opacity:1}}}
