/* A shared, square-card reference fan, with a clear centre and layered sides. */
.reference-album{--fan-card:350px;--fan-step:180px;background:none;border:0;border-radius:0;overflow:hidden;min-width:0}
.reference-album .album-stage{height:460px;max-height:none;aspect-ratio:auto;background:none;overflow:hidden;position:relative}
.fan-card.album-open{inset:auto;left:50%;top:50%;width:var(--fan-card);height:var(--fan-card);border-radius:18px;overflow:hidden;box-shadow:0 18px 38px #0004;transform:translate(-50%,-50%);transition:transform .42s ease,filter .42s ease,opacity .42s ease;z-index:5}
.fan-card>img{object-fit:cover}.fan-card .album-open-cue{right:13px;bottom:13px;width:38px;height:38px;border-radius:10px;font-size:17px;background:#213b2caa}
.fan-card[data-offset="0"]{transform:translate(-50%,-50%);filter:blur(0);z-index:5;opacity:1}
.fan-card[data-offset="-1"]{transform:translate(-50%,-50%) translateX(calc(-1 * var(--fan-step))) rotate(-7deg) scale(.86);filter:blur(2px);z-index:4}
.fan-card[data-offset="1"]{transform:translate(-50%,-50%) translateX(var(--fan-step)) rotate(7deg) scale(.86);filter:blur(2px);z-index:4}
.fan-card[data-offset="-2"]{transform:translate(-50%,-50%) translateX(calc(-2 * var(--fan-step))) rotate(-12deg) scale(.72);filter:blur(4px);z-index:3}
.fan-card[data-offset="2"]{transform:translate(-50%,-50%) translateX(calc(2 * var(--fan-step))) rotate(12deg) scale(.72);filter:blur(4px);z-index:3}
.fan-card[data-offset="-3"]{transform:translate(-50%,-50%) translateX(calc(-3 * var(--fan-step))) rotate(-16deg) scale(.6);opacity:0;pointer-events:none;z-index:1}
.fan-card[data-offset="3"]{transform:translate(-50%,-50%) translateX(calc(3 * var(--fan-step))) rotate(16deg) scale(.6);opacity:0;pointer-events:none;z-index:1}
.reference-album .album-caption{display:flex;flex-direction:column;gap:18px;padding:0 20px 12px;text-align:center}.album-caption>div:first-child{max-width:650px}.reference-album .album-category{display:none}.reference-album .album-title{font-size:19px;margin-bottom:7px}.reference-album[data-placeholder="true"] .album-caption>div:first-child{display:none}.reference-album .album-navigation{justify-content:center;gap:18px;margin:0}.album-counter{font-size:12px;min-width:46px;color:#c5d6bd;letter-spacing:.06em}.reference-album .album-navigation button{width:36px;height:36px;font-size:18px;border-color:#c1d8c744}.reference-album .album-thumbnails{display:none}.fan-card .album-placeholder{padding:20px}.fan-card .album-placeholder small{display:none}
/* Service headings and reference albums share the first row. */
.service-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:48px;padding-top:48px;padding-bottom:52px}.service-intro-copy,.service-intro-gallery{min-width:0}.service-intro-copy h1{font-size:clamp(40px,4.4vw,76px);line-height:1.04;letter-spacing:-.065em;margin:26px 0 28px;text-wrap:balance}.service-intro-copy .lead{font-size:16px;line-height:1.85;max-width:620px;margin:0 0 28px;color:var(--muted)}.service-intro-copy>.button{margin:0}.service-intro-gallery>.eyebrow{text-align:center;margin:0}.service-intro-gallery .reference-album{--fan-card:clamp(220px,22vw,310px);--fan-step:clamp(100px,9.5vw,140px)}.service-intro-gallery .album-stage{height:390px}.service-intro-gallery .album-description{font-size:12px}.service-intro-gallery .album-placeholder>span:not(.album-placeholder-mark){font-size:12px}.service-detail{padding-bottom:0}.service-jump{margin-top:0}.faq-section.faq-aligned{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:7%;align-items:start}.faq-aligned .faq-intro{min-width:0}.faq-aligned .faq-intro h2{margin:25px 0 0;font-size:clamp(36px,4vw,64px);line-height:1.08}.faq-aligned .faq-list{min-width:0;width:100%;max-width:none;margin:0;align-self:start}.faq-aligned .faq-list details:first-child{margin-top:0}.faq-aligned .faq-list summary{line-height:1.5;gap:24px}.faq-aligned .faq-list summary span{flex-shrink:0}
@media(max-width:1100px){.service-intro{gap:25px}.service-intro-gallery .reference-album{--fan-card:230px;--fan-step:105px}.service-intro-gallery .album-stage{height:320px}.service-intro-copy h1{font-size:48px}}
@media(max-width:850px){.service-intro{grid-template-columns:1fr;gap:45px;padding-top:35px;padding-bottom:38px}.service-intro-copy h1{max-width:720px;font-size:clamp(40px,7vw,62px)}.service-intro-gallery .reference-album{--fan-card:300px;--fan-step:145px}.service-intro-gallery .album-stage{height:390px}.faq-section.faq-aligned{grid-template-columns:1fr;gap:32px}.faq-aligned .faq-intro h2{margin-top:18px}.faq-aligned .faq-intro h2 br{display:none}}
@media(max-width:600px){.reference-album,.service-intro-gallery .reference-album{--fan-card:clamp(190px,62vw,270px);--fan-step:clamp(85px,27vw,120px)}.reference-album .album-stage,.service-intro-gallery .album-stage{height:330px}.service-intro{gap:35px}.service-intro-copy .lead{font-size:15px}.service-intro-copy h1{font-size:42px;letter-spacing:-.055em}.reference-album .album-caption{padding:0 5px 10px}.fan-card.album-open{border-radius:14px}.reference-album .album-title{font-size:18px}.reference-album .album-description{font-size:12px}.faq-aligned .faq-list summary{font-size:17px}}
@media(prefers-reduced-motion:reduce){.fan-card.album-open{transition:none}}
/* Fit all five visible cards inside the actual album column, including rotation. */
.reference-album,.service-intro-gallery .reference-album{container-type:inline-size;--fan-card:min(350px,36cqw);--fan-step:calc(var(--fan-card) * .4)}
.reference-album .album-stage,.service-intro-gallery .album-stage{height:calc(var(--fan-card) + 90px);isolation:isolate}
.service-intro-gallery .reference-album{--fan-card:min(310px,36cqw)}
/* One spacing rhythm throughout every service page; no stacked menu/section gap. */
.service-detail .service-intro{padding-bottom:36px}
.service-detail .service-jump{padding-block:12px;margin:0 auto;column-gap:28px;row-gap:0}
.service-detail .scope-section{padding-top:28px;padding-bottom:56px}
.service-detail .section-heading{margin-bottom:36px;align-items:flex-start}
.service-detail .section-heading>p{margin-top:27px;margin-bottom:0}
.service-detail .delivery-section{padding-top:8px;padding-bottom:56px}
.service-detail .application-cases{padding-top:16px;padding-bottom:72px}
.service-detail .workflow-example{padding-top:72px;padding-bottom:64px}
.service-detail .faq-section{padding-top:64px;padding-bottom:64px}
.service-detail .related-services{padding-top:0;padding-bottom:72px}
.service-detail .scope-grid article{min-width:0}
.service-detail .delivery-flow>div{min-width:0}
/* Let spacing separate the lower sections; reserve rules for FAQ rows and the footer. */
.service-detail .faq-section{border-top:0}
.service-detail .faq-list details:first-child{border-top:0}
.service-detail .faq-list details:last-child{border-bottom:0}
.service-detail .related-services>div>a{border-top:0;padding-top:16px}
.service-detail .workflow-example li:last-child{border-bottom:0}
@media(max-width:600px){
 .reference-album,.service-intro-gallery .reference-album{--fan-card:min(250px,46cqw);--fan-step:calc(var(--fan-card) * .25)}
 .reference-album .album-stage,.service-intro-gallery .album-stage{height:calc(var(--fan-card) + 72px)}
 .fan-card .album-placeholder{padding:10px;gap:10px}.fan-card .album-placeholder>span:not(.album-placeholder-mark){font-size:10px;line-height:1.5}
 .service-detail .service-intro{padding-bottom:26px}.service-detail .service-jump{column-gap:20px;padding-block:10px}.service-detail .service-jump a{font-size:11px}
 .service-detail .scope-section{padding-top:24px;padding-bottom:40px}.service-detail .section-heading{margin-bottom:28px}.service-detail .section-heading>p{margin-top:20px}
 .service-detail .delivery-section{padding-top:8px;padding-bottom:40px}.service-detail .application-cases{padding-top:12px;padding-bottom:48px}.service-detail .workflow-example{padding-top:48px;padding-bottom:44px}.service-detail .faq-section{padding-top:44px;padding-bottom:44px}.service-detail .related-services{padding-bottom:48px}
}
