/* Original 4/8 + 4/4/4 arrangement, with progressive disclosure. */
.service-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch}
.service-grid .service-card{grid-column:span 4!important;grid-row:auto;min-height:300px;padding:28px;gap:0;position:relative;isolation:isolate;background:#f4f3f8;color:#17171d;--reveal-x:50%;--reveal-y:50%}
.service-grid .web-card{grid-column:span 8!important}
.service-grid .service-card[data-tone=dark]{background:#25232c;color:#fff}
.service-grid .service-card .service-top{position:relative;top:auto;right:auto;width:100%;min-height:0;margin:0;justify-content:space-between;align-items:flex-start;gap:16px}
.service-grid .service-card .service-number{font-size:78px;line-height:.85;color:#7357b7}
.service-grid .service-card[data-tone=dark] .service-number{color:var(--lav)}
.service-grid .service-card .service-icon{width:46px;height:46px;border-radius:15px;background:#e9e4f6;color:#665095}
.service-grid .service-card[data-tone=dark] .service-icon{background:#3c354f;color:#d4c8ff}
.service-grid .service-card .service-icon .icon{width:29px;height:29px}
.service-grid .service-card h3{font-size:clamp(26px,2.7vw,36px);line-height:1.08;letter-spacing:-.035em;margin:24px 0 0;text-wrap:initial}
.service-grid .web-card h3{font-size:clamp(42px,4vw,56px)}
.service-grid .service-description{display:grid;grid-template-rows:1fr;opacity:1;transform:none;max-width:650px}
.service-grid .service-description>div{overflow:hidden;min-height:0}
.service-grid .service-description p{font-size:18px;line-height:1.55;color:#464252;padding-top:18px;max-width:none}
.service-grid .service-card[data-tone=dark] .service-description p{color:#e5e1ef}
.service-grid .service-card .platform-labels{margin-top:auto;padding-top:20px;width:100%;position:relative;z-index:2}
.service-grid .service-card .service-trigger{position:absolute;inset:0;z-index:4;background:transparent;border:0;border-radius:inherit;cursor:pointer;padding:0;margin:0;outline-offset:-5px}
.service-trigger[hidden]{display:none}
.service-grid .service-card .service-trigger:focus-visible{outline:3px solid #7654ee;outline-offset:-5px}
.service-grid .service-card[data-tone=dark] .service-trigger:focus-visible{outline-color:#c6baff}
.service-grid .service-card .service-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;clip-path:circle(0% at var(--reveal-x) var(--reveal-y));opacity:0;transition:clip-path .55s cubic-bezier(.22,.8,.18,1),opacity .35s ease}
.service-backdrop img{position:absolute;inset:-3%;width:106%;height:106%;max-width:none;object-fit:cover;object-position:65% 50%;filter:blur(2px)}
.service-backdrop::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,#f4f3f8ed 0%,#f4f3f8c9 55%,#f4f3f8a6 100%)}
.service-card[data-tone=dark] .service-backdrop::after{background:linear-gradient(100deg,#25232cf0 0%,#25232cbe 55%,#25232c96 100%)}
.services-enhanced .service-card .service-description{grid-template-rows:0fr;opacity:0;transform:translateY(8px);transition:grid-template-rows .38s cubic-bezier(.22,.8,.18,1),opacity .22s ease,transform .38s cubic-bezier(.22,.8,.18,1)}
.services-enhanced .service-card.is-open .service-description{grid-template-rows:1fr;opacity:1;transform:none}
.services-enhanced .service-card.is-open .service-backdrop{clip-path:circle(150% at var(--reveal-x) var(--reveal-y))}
.services-enhanced .service-card.is-open[data-background-ready=true] .service-backdrop{opacity:1}
.service-grid .service-card[data-background-error=true] .service-backdrop{display:none}
@media(max-width:1023px){
  .service-grid .software-card,.service-grid .web-card{grid-column:span 6!important}
  .service-grid .service-card{padding:24px}.service-grid .service-card h3{font-size:26px}.service-grid .software-card h3{font-size:32px}.service-grid .web-card h3{font-size:40px}
  .service-grid .service-description p{font-size:17px}
}
@media(max-width:900px){.service-grid .bot-card h3,.service-grid .mobile-card h3,.service-grid .iot-card h3{font-size:24px}}
@media(max-width:767px){
  .service-grid{grid-template-columns:minmax(0,1fr)}
  .service-grid .service-card,.service-grid .software-card,.service-grid .web-card{grid-column:1/-1!important;min-height:290px;padding:24px}
  .service-grid .service-card h3,.service-grid .software-card h3,.service-grid .web-card h3{font-size:34px}
  .service-grid .service-card .service-number{font-size:72px}
  .service-grid .service-description p{font-size:18px}.service-grid .service-card .platform-labels{padding-top:20px}
}
@media(max-width:360px){.service-grid .service-card{padding:22px}.service-grid .service-card h3,.service-grid .software-card h3,.service-grid .web-card h3{font-size:30px}}
@media(prefers-reduced-motion:reduce){.service-grid .service-backdrop,.services-enhanced .service-card .service-description{transition:none;transform:none}}
