/* Layered service showcase. The active card comes forward; earlier cards recede left. */
.hero{grid-template-columns:minmax(0,.87fr) minmax(0,1.28fr);gap:32px;min-height:670px;padding-top:54px;padding-bottom:54px;position:relative}
.hero h1{font-size:clamp(2.6rem,3.65vw,3.65rem);line-height:1.13}
.hero-copy{position:relative;z-index:2;min-width:0}
.hero-copy>p{font-size:1.0625rem}
.hero .actions{flex-wrap:wrap;gap:14px}
.hero .actions .button{gap:18px;padding:15px 20px}
.service-showcase{min-width:0;position:relative;padding:16px 0 8px;isolation:isolate}
.service-showcase:before{content:'';position:absolute;inset:15% 4% 20%;background:radial-gradient(ellipse,#167cdd44,transparent 68%);filter:blur(28px);z-index:-1;pointer-events:none}
.showcase-heading{display:flex;align-items:center;justify-content:space-between;padding:0 9%;margin-bottom:20px;font-size:.75rem;letter-spacing:.14em;color:#9ecbee;font-weight:600}
.carousel-number{color:var(--gold);font-variant-numeric:tabular-nums;letter-spacing:.12em;white-space:nowrap}
.carousel-stage{position:relative;height:clamp(300px,30vw,435px);perspective:1400px;overflow:hidden;touch-action:pan-y;contain:layout;isolation:isolate}
.carousel-card{position:absolute;left:9%;top:6%;width:82%;height:86%;border:1px solid #409ee66e;border-radius:25px;overflow:hidden;background:#061126;box-shadow:0 18px 35px #0007;will-change:transform,opacity;transition:transform 1000ms cubic-bezier(.22,.68,.17,1),opacity 850ms ease,filter 850ms ease;transform-origin:center center;backface-visibility:hidden}
.carousel-card img{width:100%;height:100%;display:block;object-fit:cover;user-select:none;-webkit-user-drag:none;pointer-events:none;transition:transform 2000ms ease-out;transform:scale(1.08)}
.carousel-card[data-position="0"]{transform:translateX(0) scale(1);opacity:1;filter:none;z-index:5}
.carousel-card[data-position="0"] img{transform:scale(1)}
.carousel-card[data-position="-1"]{transform:translateX(-48%) scale(.79) rotateY(12deg);opacity:.56;filter:brightness(.7);z-index:3}
.carousel-card[data-position="-2"]{transform:translateX(-78%) scale(.61) rotateY(18deg);opacity:.2;filter:brightness(.55);z-index:1}
.carousel-card[data-position="1"]{transform:translateX(48%) scale(.79) rotateY(-12deg);opacity:.56;filter:brightness(.7);z-index:3}
.carousel-card[data-position="2"]{transform:translateX(78%) scale(.61) rotateY(-18deg);opacity:.2;filter:brightness(.55);z-index:1}
.carousel-card[data-position="off"]{transform:translateX(95%) scale(.5);opacity:0;visibility:hidden;z-index:0}
.carousel-card-copy{position:absolute;left:0;right:0;bottom:0;padding:60px 23px 24px;background:linear-gradient(transparent,#020715cc 40%,#020715fa)}
.carousel-category{display:inline-block;font-size:.6875rem;font-weight:700;letter-spacing:.12em;color:#a9e7ff;background:#08467180;border:1px solid #45aff33d;border-radius:5px;padding:4px 8px;margin-bottom:10px}
.carousel-card h2{font-size:clamp(1.35rem,2.05vw,2rem);line-height:1.16;letter-spacing:-.03em;font-weight:800;margin:0;color:white;text-wrap:balance}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:8px;padding-top:12px;flex-wrap:wrap}
.carousel-controls>button{border:1px solid #2b527a;background:#0d2341;color:#d7edff;border-radius:50%;width:38px;height:38px;min-width:38px;padding:0;display:grid;place-items:center;font-size:1rem}
.carousel-controls>button:hover:not(:disabled){border-color:var(--blue);background:#174a74}
.carousel-controls>button:disabled{opacity:.4;cursor:default}
.carousel-dots{display:flex;align-items:center;justify-content:center;gap:0}
.carousel-dots button{display:grid;place-items:center;background:transparent;border:0;width:23px;height:36px;padding:0;border-radius:8px}
.carousel-dots button span{display:block;width:5px;height:5px;background:#4c6385;border-radius:50%;transition:width .25s,background .25s}
.carousel-dots button[aria-pressed="true"] span{width:17px;border-radius:4px;background:var(--gold);box-shadow:0 0 12px #e9bf6570}
.carousel-service-link{display:block;max-width:90%;margin:20px auto 0;background:none;border:0;color:#a9d8fa;font-size:.875rem;padding:6px 4px;text-align:center;line-height:1.5}
.carousel-service-link:hover{color:var(--gold)}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:1450px){.hero{max-width:1500px}.carousel-stage{height:465px}.hero h1{font-size:4rem}.carousel-card h2{font-size:2.1rem}}
@media(max-width:1100px) and (min-width:801px){.hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:15px}.hero h1{font-size:2.7rem}.hero .actions{gap:10px}.hero .actions .button,.hero-chat{padding:12px 16px;font-size:.875rem}.carousel-stage{height:340px}.carousel-card-copy{padding:55px 18px 20px}.carousel-category{font-size:.625rem;letter-spacing:.08em}.carousel-dots button{width:18px}.carousel-controls{gap:5px}.carousel-controls>button{width:32px;min-width:32px;height:32px}.showcase-heading{letter-spacing:.09em;font-size:.6875rem}.carousel-card h2{font-size:1.45rem}}
@media(max-width:800px){.hero{grid-template-columns:1fr;gap:24px;padding-top:40px;padding-bottom:40px}.hero h1{font-size:clamp(2.65rem,7.4vw,4rem)}.service-showcase{width:100%;max-width:650px;justify-self:center;padding-top:12px}.carousel-stage{height:clamp(280px,61vw,420px)}.carousel-card h2{font-size:clamp(1.4rem,4.5vw,2rem)}.showcase-heading{margin-bottom:12px}.carousel-controls{padding-top:0}.hero-copy>p{max-width:580px}.hero-checks{margin-top:22px}.carousel-card-copy{padding:55px 20px 22px}}
@media(max-width:450px){.hero{gap:24px}.hero h1{font-size:2.65rem}.carousel-stage{height:295px;margin:0 -8px}.carousel-card{left:6%;width:88%;border-radius:20px}.carousel-card-copy{padding:50px 18px 20px}.carousel-card h2{font-size:1.45rem}.carousel-category{font-size:.625rem;letter-spacing:.08em}.carousel-dots button{width:18px;height:32px}.carousel-controls{gap:4px}.carousel-controls>button{width:31px;height:31px;min-width:31px}.carousel-service-link{margin-top:12px;font-size:.8125rem}.showcase-heading{padding:0 4%;font-size:.6875rem;letter-spacing:.09em}.hero-copy>p{font-size:1rem}}
@media(max-width:360px){.carousel-dots{order:4;width:100%}.carousel-controls{column-gap:16px}.hero h1{font-size:2.3rem}}
@media(prefers-reduced-motion:reduce){.carousel-card,.carousel-card img,.carousel-dots button span{transition:none!important;animation:none!important}}
