/* Techlysis homepage enhancement. All rules are scoped to the new hero.
   A 3D, five-card service carousel; no external libraries or font downloads. */
.revolving-hero{position:relative;isolation:isolate;overflow:hidden;background:#f6f8fd;border-bottom:1px solid #e9ecf5}
.revolving-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 80% 27%,#ffffff 0%,#ffffff90 24%,transparent 59%),linear-gradient(0deg,#f1f4fb90,transparent 30%)}
.revolving-photo{position:absolute;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(90deg,rgba(249,251,255,.65),rgba(249,251,255,.93) 38%,#f6f8fd 66%),url("/assets/techlysis-workspace.webp");background-size:100% 100%,auto 110%;background-position:center,left bottom;background-repeat:no-repeat}
.revolving-layout{position:relative;display:grid;grid-template-columns:minmax(0,.97fr) minmax(0,1.1fr);gap:24px;align-items:center;min-height:590px;padding-top:48px;padding-bottom:42px}
.revolving-copy{position:relative;z-index:1;padding:4px 0 32px}
.revolving-copy .eyebrow{font-size:10px;letter-spacing:.18em;margin:0 0 24px;color:#4b46f3}
.revolving-copy h1{font-size:clamp(42px,4.15vw,63px);letter-spacing:-.052em;font-weight:500;line-height:1.06;color:#141a2d;max-width:610px}
.revolving-copy h1 span{color:#4946f9}
.revolving-copy>p{font-size:15px;line-height:1.75;max-width:495px;margin:23px 0 29px;color:#5b657a}
.revolving-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.revolving-actions .btn{font-size:13px;padding:17px 22px;min-height:54px;gap:28px;box-shadow:0 8px 20px #4b4eff12}
.revolving-contact{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:#252d45;min-height:46px;font-weight:500}
.revolving-contact .ico{width:18px;height:18px;transition:transform .2s}
.revolving-contact:hover{color:#4b4eff}.revolving-contact:hover .ico{transform:translate(2px,-2px)}
.revolve{min-width:0;position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;align-self:center}
.revolve-display{min-width:0;position:relative}
.revolve-scene{position:relative;width:100%;height:380px;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.revolve-stage{width:640px;height:440px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.82);transform-origin:center center}
.revolve-ring{position:absolute;inset:0;perspective:1200px;perspective-origin:50% 42%;transform-style:preserve-3d}
.revolve-card{position:absolute;left:50%;top:45%;width:183px;height:282px;margin-left:-91.5px;margin-top:-141px;transform-style:preserve-3d;outline-offset:5px;will-change:transform;cursor:pointer;-webkit-user-drag:none}
/* A static, readable starting frame also works before JavaScript loads. */
.revolve-card[data-position="0"]{transform:translate3d(0,0,90px) rotateY(0deg)}
.revolve-card[data-position="1"]{transform:translate3d(157px,7px,-25px) rotateY(-23deg)}
.revolve-card[data-position="2"]{transform:translate3d(270px,13px,-145px) rotateY(-36deg)}
.revolve-card[data-position="-1"]{transform:translate3d(-157px,7px,-25px) rotateY(23deg)}
.revolve-card[data-position="-2"]{transform:translate3d(-270px,13px,-145px) rotateY(36deg)}
.revolve-card__surface{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding:19px 16px 16px;border-radius:17px;overflow:hidden;background:var(--card-background);color:var(--card-ink,#fff);border:1px solid var(--card-border,#ffffff61);box-shadow:inset 1px 1px 0 #ffffff5c,inset -1px -1px 0 #24265110,0 14px 32px var(--card-shadow,#35427716);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.revolve-card__surface::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,#fff2 0%,transparent 40%,#00000006 100%)}
.revolve-card--ai{--card-background:linear-gradient(140deg,#626eff 0%,#5143ff 48%,#4632ed 100%);--card-shadow:#4c44ef20}
.revolve-card--cloud{--card-background:linear-gradient(140deg,#6db9f5,#378edf);--card-shadow:#398cdc20}
.revolve-card--data{--card-background:linear-gradient(140deg,#59c8ba,#239f97);--card-shadow:#318d861e}
.revolve-card--software{--card-background:linear-gradient(140deg,#707e98,#36425f);--card-shadow:#35425f18}
.revolve-card--enterprise{--card-background:linear-gradient(140deg,#fff,#eef0fa);--card-ink:#4c50c9;--card-border:#d9deef;--card-shadow:#8b93be1a}
.revolve-card__number{font-size:8px;letter-spacing:.18em;align-self:flex-start;opacity:.72;line-height:1;margin-bottom:16px}
.revolve-card__icon{display:block;width:107px;height:112px;margin-bottom:8px;flex:none}
.revolve-card__icon svg{display:block;width:100%;height:100%;overflow:visible}
.revolve-card__title{display:block;max-width:100%;font-size:19px;font-weight:500;line-height:1.2;text-align:center;letter-spacing:-.025em}
.revolve-card__description{display:block;max-width:152px;font-size:11px;line-height:1.45;text-align:center;margin:10px 0 0;opacity:.94}
.revolve-card__explore{margin-top:auto;padding-top:10px;font-size:9px;letter-spacing:.02em;display:flex;align-items:center;gap:6px;opacity:0;transition:opacity .22s}
.revolve-card__explore .ico{width:13px;height:13px}
.revolve-card[data-position="0"] .revolve-card__explore{opacity:.84}
.revolve-card:focus-visible{outline:3px solid #252ea8;border-radius:18px}
.revolve-card:focus-visible .revolve-card__surface{box-shadow:0 0 0 6px #fff8}
.revolve-pedestal{position:absolute;bottom:5px;left:50%;width:500px;height:108px;transform:translateX(-50%);pointer-events:none}
.revolve-pedestal::before{content:"";position:absolute;left:-25px;right:-25px;bottom:4px;height:66px;border-radius:50%;background:radial-gradient(ellipse,#b6bed649,transparent 70%);filter:blur(8px);transform:translateY(18px)}
.revolve-pedestal__side{position:absolute;left:15px;right:15px;top:21px;height:60px;border-radius:50%;background:linear-gradient(90deg,#cfd6e6,#e4e9f2 30%,#d8dfed 67%,#aeb9d2);box-shadow:0 9px 10px #8696b216}
.revolve-pedestal__top{position:absolute;left:15px;right:15px;top:4px;height:59px;border-radius:50%;background:radial-gradient(ellipse at 47% 39%,#fff 10%,#f7f9fc 42%,#e1e7f0 82%,#cbd3e5);border:1px solid #dfe5f0;box-shadow:inset 0 1px 1px #fff}
.revolve-pedestal__ring{position:absolute;top:12px;left:67px;right:67px;height:40px;border-radius:50%;border:1px solid #d5ddea;box-shadow:0 1px 1px #ffffffd9,inset 0 1px 2px #b6c0d340}
.revolve-pedestal__ring::after{content:"";position:absolute;inset:5px 26px;border-radius:50%;border:1px solid #e0e5f160;background:radial-gradient(ellipse,#4b4eff06,transparent 68%)}
.revolve-caption{color:#76819b;letter-spacing:.16em;text-transform:uppercase;font-size:8px;font-weight:600;text-align:center;position:relative;margin-top:0}
.revolve-controls{align-items:center;justify-content:center;gap:16px;margin-top:20px;display:flex;flex-wrap:wrap}
.revolve-controls[hidden]{display:none}
.revolve-selector{display:flex;align-items:center;gap:12px}
.revolve-dots{display:flex;gap:0;align-items:center}
.revolve-dot{border:0;background:none;width:22px;height:36px;padding:0;display:grid;place-items:center;border-radius:20px}
.revolve-dot span{display:block;width:6px;height:6px;background:#c8cee0;border-radius:50%;transition:background .2s,transform .2s}
.revolve-dot.is-current span{background:#4b4eff;transform:scale(1.15)}
.revolve-dot:hover span{background:#8585f9}
.revolve-current{display:flex;flex-direction:column;min-width:97px;gap:2px}
.revolve-counter{color:#5d6482;font-size:9px;letter-spacing:.13em;line-height:1.4}
.revolve-counter>span{color:#8991a8}
.revolve-name{font-size:11px;line-height:1.4;color:#687389;max-width:130px;min-height:16px}
.revolve-navigation{display:flex;align-items:center;gap:6px}
.revolve-button{padding:0;width:38px;height:38px;display:grid;place-items:center;border:1px solid #cfd6e5;background:#ffffff90;border-radius:50%;color:#555f77;transition:background .2s,border .2s,color .2s}
.revolve-button:hover{background:#fff;border-color:#817bfc;color:#4b4eff}
.revolve-button svg{width:17px;height:17px;display:block}
.revolve-prev svg{transform:rotate(180deg)}
.revolve-pause{border-color:transparent;background:transparent;width:32px}
.revolve-pause svg{width:15px;height:15px}
.revolve-current-link{font-size:10px;color:#545a7c;display:none;gap:5px;align-items:center;min-height:30px}
.revolve-current-link svg{height:12px;width:12px}
.revolve-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.revolve-fallback{font-size:13px;text-align:center;margin-top:20px}.revolve-fallback a{text-decoration:underline;color:#4b4eff}
@media(min-width:1600px){.revolving-layout{grid-template-columns:1fr 1.15fr;min-height:620px}.revolve-scene{height:402px}.revolve-stage{transform:translate(-50%,-50%) scale(.91)}}
@media(min-width:1260px){.revolve{padding-right:64px}.revolve-controls{position:absolute;left:calc(100% - 57px);top:43%;transform:translateY(-50%);display:block;width:118px;margin-top:0}.revolve-selector{align-items:flex-start;gap:7px}.revolve-dots{flex-direction:column}.revolve-dot{width:20px;height:24px}.revolve-current{padding-top:6px;min-width:80px}.revolve-name{max-width:94px;font-size:11px;min-height:32px;margin-top:4px}.revolve-navigation{gap:6px;margin-top:12px}.revolve-button{width:36px;height:36px}.revolve-pause{width:26px}.revolve-current-link{display:flex;margin-top:12px}.revolve-scene{width:calc(100% + 0px)}.revolve-caption{font-size:7px;letter-spacing:.15em}}
@media(min-width:1260px) and (max-width:1399px){.revolving-layout{grid-template-columns:.98fr 1.05fr;gap:12px}.revolving-copy h1{font-size:clamp(46px,4.04vw,58px)}.revolve-stage{transform:translate(-50%,-50%) scale(.74)}}
@media(min-width:1001px) and (max-width:1259px){.revolving-layout{min-height:566px;gap:22px;padding-top:36px;padding-bottom:36px;grid-template-columns:1fr 1.05fr}.revolving-copy h1{font-size:clamp(42px,4.35vw,55px)}.revolving-copy>p{font-size:14px}.revolving-actions{gap:19px}.revolving-actions .btn{padding:15px 17px;gap:15px}.revolve-scene{height:324px}.revolve-stage{transform:translate(-50%,-50%) scale(.71)}.revolve-controls{gap:12px}.revolve-current{min-width:82px}.revolve-name{font-size:10px;max-width:96px}.revolve-button{width:34px;height:34px}.revolving-contact{font-size:12px;gap:5px}.revolve-dot{width:18px}}
@media(min-width:769px) and (max-width:1000px){.revolving-layout{grid-template-columns:1fr 1fr;gap:8px;min-height:520px;padding-top:32px;padding-bottom:30px}.revolving-copy h1{font-size:39px}.revolving-copy .eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:21px}.revolving-copy>p{font-size:13px;line-height:1.75;margin-top:20px;margin-bottom:22px}.revolving-actions{gap:7px 18px}.revolving-actions .btn{font-size:12px;padding:13px 16px;gap:18px;min-height:46px}.revolving-contact{font-size:12px}.revolve-scene{height:275px}.revolve-stage{transform:translate(-50%,-50%) scale(.58)}.revolve-caption{font-size:6px}.revolve-controls{margin-top:16px;gap:9px}.revolve-dot{width:18px;height:30px}.revolve-current{min-width:76px}.revolve-name{font-size:9px;max-width:80px}.revolve-button{width:30px;height:30px}.revolve-navigation{gap:4px}.revolve-pause{width:24px}.revolve-counter{font-size:8px}}
@media(max-width:768px){.revolving-layout{grid-template-columns:1fr;gap:2px;padding-top:43px;padding-bottom:27px;min-height:0}.revolving-copy{max-width:580px;padding:0;z-index:1}.revolving-copy h1{font-size:clamp(38px,7vw,55px);max-width:560px;line-height:1.08;letter-spacing:-.048em}.revolving-copy .eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:22px}.revolving-copy>p{font-size:14px;line-height:1.7;max-width:485px;margin:20px 0 24px}.revolving-actions{gap:24px;flex-wrap:nowrap}.revolving-actions .btn{font-size:12px;min-height:48px;padding:14px 18px;gap:20px}.revolving-contact{font-size:12px;gap:6px}.revolve{width:100%;max-width:600px;margin:5px auto 0;padding:0}.revolve-scene{height:343px}.revolve-stage{transform:translate(-50%,-50%) scale(.74)}.revolve-caption{font-size:7px}.revolve-controls{margin-top:17px;gap:21px;flex-wrap:nowrap}.revolve-current{min-width:95px}.revolve-dot{width:21px;height:32px}.revolve-name{font-size:10px;max-width:102px}.revolve-button{width:34px;height:34px}.revolve-pause{width:25px}.revolving-photo{background-size:100% 100%,auto 60%;background-position:center,left top;background-image:linear-gradient(90deg,#f8faffb8,#f8fafff0 47%,#f6f8fd 88%),url("/assets/techlysis-workspace.webp")}}
@media(max-width:540px){.revolving-layout{padding-top:36px;padding-bottom:25px}.revolving-copy h1{font-size:42px}.revolving-desktop-break{display:none}.revolving-copy h1 span{display:block}.revolving-copy .eyebrow{font-size:8px;letter-spacing:.13em;margin-bottom:19px}.revolving-copy>p{font-size:13px;line-height:1.75;margin:18px 0 21px}.revolving-actions{gap:22px}.revolving-actions .btn{padding:14px 15px;gap:14px;font-size:11px;min-height:47px}.revolving-actions .btn .ico{width:18px;height:18px}.revolving-contact{font-size:11px;gap:4px}.revolving-contact .ico{width:15px;height:15px}.revolve{margin-top:6px}.revolve-scene{height:276px}.revolve-stage{transform:translate(-50%,-50%) scale(.57)}.revolve-caption{font-size:6.1px;letter-spacing:.15em;margin-top:-2px}.revolve-controls{gap:13px;margin-top:15px;justify-content:space-between}.revolve-selector{gap:8px}.revolve-dot{width:17px}.revolve-dot span{width:5px;height:5px}.revolve-current{min-width:79px}.revolve-name{font-size:9px;max-width:95px}.revolve-counter{font-size:8px}.revolve-button{width:32px;height:32px}.revolve-navigation{gap:5px}.revolve-pause{width:24px}.revolve-button svg{width:15px;height:15px}}
@media(max-width:374px){.revolving-copy h1{font-size:37px}.revolving-copy .eyebrow{font-size:7px}.revolving-actions{gap:14px}.revolving-actions .btn{font-size:10px;gap:9px;padding:13px 12px}.revolving-contact{font-size:10px}.revolve-scene{height:244px}.revolve-stage{transform:translate(-50%,-50%) scale(.5)}.revolve-caption{font-size:5.5px}.revolve-controls{gap:4px}.revolve-dot{width:14px}.revolve-current{min-width:70px}.revolve-name{font-size:8px;max-width:80px}.revolve-button{width:29px;height:29px}.revolve-pause{width:22px}}
@media(prefers-reduced-motion:reduce){.revolve-card,.revolve-card__explore,.revolve-dot span,.revolve-button,.revolving-contact .ico{transition:none!important}.revolve-card{will-change:auto}}
@media print{.revolving-hero{overflow:visible;break-inside:avoid}.revolve-controls{display:none!important}.revolve-card{will-change:auto}}
/* Finishing pass: readable panel copy and comfortable mobile controls. */
.revolve-card--cloud{--card-background:linear-gradient(140deg,#3d92d4,#216eb7)}
.revolve-card--data{--card-background:linear-gradient(140deg,#2d9b91,#1b7b75)}
.revolve-card__description{font-size:12px;line-height:1.42}
.revolve-card__icon{height:104px;width:102px}
@media(min-width:1400px) and (max-width:1599px){.revolve-stage{transform:translate(-50%,-50%) scale(.9)}}
@media(min-width:375px) and (max-width:540px){.revolve-controls{gap:6px}.revolve-selector{gap:6px}.revolve-dot{width:24px;height:44px}.revolve-current{min-width:64px}.revolve-name{max-width:77px;font-size:8px}.revolve-navigation{gap:4px}.revolve-button{width:44px;height:44px}.revolve-pause{width:28px}}
@media(max-width:374px){.revolve-controls{justify-content:center;flex-wrap:wrap;gap:4px 18px}.revolve-dot{width:24px;height:40px}.revolve-current{min-width:65px}.revolve-button{width:40px;height:40px}.revolve-pause{width:28px}}
.revolve-card__icon{height:96px}
.revolve-card--data{--card-background:linear-gradient(140deg,#27968b,#166f6a)}
@media(max-width:540px){.revolve-name{font-size:10px}}
