/* Web service details — alternating cards and light, precise line work. */
.service-detail{--web-card:#f1f2f9;--web-blue:#455ce9;--web-blue-tint:#e4e8ff}
.web-detail-shell{width:88%;max-width:1440px;margin-inline:auto}.web-section-title{font-size:clamp(44px,5.8vw,94px);font-weight:600;line-height:1.06;letter-spacing:-.025em;margin:0 0 clamp(42px,6vw,95px)}
.web-build-grid{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:16px}.web-offer{grid-column:span 7;background:var(--web-card);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;min-width:0;isolation:isolate}.web-offer:nth-child(2),.web-offer:nth-child(3){grid-column:span 6}.web-offer-copy{padding:clamp(27px,3.2vw,52px);flex:1}.web-offer h3{font-size:clamp(28px,3.2vw,52px);line-height:1.12;letter-spacing:-.03em;margin:0 0 20px;font-weight:450}.web-offer p{font-size:clamp(18px,1.9vw,29px);line-height:1.35;letter-spacing:-.018em}.web-offer-art{height:clamp(230px,26vw,425px);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.web-offer-art img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:normal;filter:url(#web-blue-art);transform:translate3d(0,var(--web-art-shift,0px),0) scale(var(--web-art-scale,1));transition:scale .8s var(--ease)}.web-offer:nth-child(2) .web-offer-art,.web-offer:nth-child(3) .web-offer-art{height:clamp(210px,20.7vw,340px);align-items:flex-end}.web-offer:nth-child(2) .web-offer-art img,.web-offer:nth-child(3) .web-offer-art img{object-position:center bottom}.web-offer:hover .web-offer-art img{scale:1.025}
.web-capabilities,.web-timelines,.web-audience{padding-top:clamp(100px,11vw,180px)}.web-capabilities-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.web-capability{background:var(--web-card);border-radius:22px;padding:clamp(28px,3.2vw,50px);min-width:0}.web-icon{display:block;width:36px;height:36px;margin-bottom:28px;color:currentColor}.web-capability h3,.web-timeline h3{font-size:clamp(24px,2.3vw,36px);font-weight:450;line-height:1.18;letter-spacing:-.02em;margin:0}.web-capability .web-icon{transition:transform .65s var(--ease),color .4s}.web-capability:hover .web-icon{transform:translateY(-5px) rotate(-7deg);color:var(--web-blue)}.web-capability:nth-child(6):hover .web-icon{transform:rotate(50deg)}
.web-timeline-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.web-timeline{grid-column:span 5;border-radius:22px;background:var(--web-card);padding:clamp(28px,3.2vw,50px);min-width:0}.web-timeline:nth-child(2),.web-timeline:nth-child(3){grid-column:span 7}.web-timeline-accent{background:var(--web-blue-tint)}.web-timeline .web-icon{margin-bottom:20px}.web-duration{font-size:clamp(68px,7vw,112px);line-height:1;letter-spacing:-.015em;margin:26px 0 13px}.web-time-unit{font-size:clamp(13px,1.2vw,18px);text-transform:uppercase}.web-timeline-note{font-size:clamp(16px,1.35vw,21px);line-height:1.5;max-width:790px;margin:38px 0 0 auto;letter-spacing:-.01em}
.web-audience{padding-bottom:clamp(100px,9vw,160px)}.web-audience .web-section-title{margin-bottom:65px}.web-audience-row.product-stage{display:grid;grid-template-columns:1fr 160px minmax(0,1.25fr);gap:40px;align-items:start;min-height:220px;padding:22px 0 66px}.web-audience-row.product-stage h3{font-size:13px;font-weight:450;line-height:1.4;letter-spacing:-.025em;text-align:right;text-transform:uppercase;margin:3px 0 0}.web-audience-row.product-stage p{font-size:clamp(21px,2vw,31px);line-height:1.22;letter-spacing:0}.web-stage-symbol{width:60px;height:60px;color:#1c1d20;perspective:250px}.web-stage-icon{display:block;width:100%;height:100%;stroke-width:2.4;animation:webSymbolTurn 18s linear infinite;animation-play-state:paused;transform-origin:center}.web-stage-symbol-1 .web-stage-icon{animation-name:webPolyTurn;animation-duration:12s}.web-stage-symbol-3 .web-stage-icon{animation-direction:reverse;animation-duration:24s}.web-audience-row.is-visible .web-stage-icon{animation-play-state:running}.web-rule.product-rule{height:48px;margin:0}.web-rule.product-rule path{stroke:#1c1d20;stroke-width:.8}
@keyframes webSymbolTurn{to{transform:rotate(360deg)}}@keyframes webPolyTurn{0%{transform:rotate(0) rotateY(0)}50%{transform:rotate(180deg) rotateY(35deg)}100%{transform:rotate(360deg) rotateY(0)}}
@media(min-width:1800px){.web-detail-shell{width:82%}}
@media(max-width:1000px){.web-detail-shell{width:88%}.web-offer h3{font-size:31px}.web-offer p{font-size:20px}.web-offer-art{height:250px}.web-offer:nth-child(2) .web-offer-art,.web-offer:nth-child(3) .web-offer-art{height:215px}.web-audience-row.product-stage{grid-template-columns:1fr 140px minmax(0,2fr);gap:25px}.web-capability{padding:28px}.web-capability h3{font-size:26px}}
@media(max-width:760px){.web-detail-shell{width:calc(100% - 40px)}.web-section-title{font-size:clamp(38px,10.6vw,60px);margin-bottom:38px}.web-build-grid{grid-template-columns:minmax(0,1fr);gap:16px}.web-offer,.web-offer:nth-child(n){grid-column:auto}.web-offer{border-radius:18px}.web-offer-copy{padding:28px}.web-offer h3{font-size:30px;margin-bottom:18px}.web-offer p{font-size:19px;line-height:1.4}.web-offer-art{height:auto;aspect-ratio:600/350}.web-offer:nth-child(2) .web-offer-art,.web-offer:nth-child(3) .web-offer-art{height:auto;aspect-ratio:504/250}.web-capabilities,.web-timelines,.web-audience{padding-top:85px}.web-capabilities-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.web-capability{padding:24px 20px;border-radius:18px}.web-capability h3{font-size:clamp(19px,5vw,26px);overflow-wrap:anywhere}.web-icon{width:32px;height:32px;margin-bottom:25px}.web-timeline-grid{grid-template-columns:minmax(0,1fr);gap:12px}.web-timeline,.web-timeline:nth-child(n){grid-column:auto;border-radius:18px;padding:30px 28px}.web-timeline h3{font-size:26px}.web-duration{font-size:80px;margin-top:28px}.web-time-unit{font-size:14px}.web-timeline-note{font-size:16px;margin-top:27px}.web-audience .web-section-title{margin-bottom:36px}.web-audience-row.product-stage{grid-template-columns:64px minmax(0,1fr);gap:20px;min-height:0;padding:20px 0 45px}.web-audience-row.product-stage h3{text-align:left;align-self:center;font-size:12px}.web-audience-row.product-stage p{grid-column:2;font-size:22px;line-height:1.3}.web-stage-symbol{width:52px;height:52px;grid-row:span 2}.web-rule.product-rule{height:40px}.web-audience{padding-bottom:75px}}
@media(max-width:360px){.web-capabilities-grid{grid-template-columns:1fr}.web-capability{display:flex;align-items:center;gap:22px;padding:25px}.web-capability .web-icon{margin:0;flex-shrink:0}.web-capability h3{font-size:23px}.web-offer-copy{padding:24px}.web-offer h3{font-size:28px}.web-audience-row.product-stage{grid-template-columns:44px minmax(0,1fr);gap:16px}.web-stage-symbol{width:42px;height:42px}.web-audience-row.product-stage p{font-size:20px}}
@media(prefers-reduced-motion:reduce){.web-stage-icon{animation:none}.web-offer-art img{transform:none;transition:none}.web-offer:hover .web-offer-art img{scale:1}.web-capability .web-icon{transition:none}.web-capability:hover .web-icon{transform:none}}

.web-art-filters{position:absolute;pointer-events:none;overflow:hidden}

/* All service detail pages share these cards, symbols and interaction rules. */
.ux-capabilities .web-capability p{font-size:clamp(17px,1.5vw,23px);line-height:1.4;margin-top:20px;letter-spacing:-.01em}.ux-capabilities .web-capability h3{font-size:clamp(24px,2.25vw,36px)}.ux-timelines{padding-bottom:clamp(100px,10vw,160px)}
@media(min-width:761px){.product-build-grid .web-offer:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center}.product-build-grid .web-offer:last-child .web-offer-art{height:clamp(260px,30vw,450px)}.product-build-grid .web-offer:last-child img{object-position:center}.ux-capabilities .web-capability{padding:clamp(28px,2.7vw,44px)}}
@media(max-width:760px){.ux-capabilities .web-capabilities-grid{grid-template-columns:1fr}.ux-capabilities .web-capability{display:block;padding:30px}.ux-capabilities .web-capability .web-icon{margin-bottom:25px}.ux-capabilities .web-capability p{font-size:19px}}
