/* Immersive photography and restrained motion */
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:760px;display:block}.hero-content{position:relative;z-index:2;padding:90px 5% 35px;max-width:900px;pointer-events:none}.hero-content a{pointer-events:auto}.hero h1{font-size:clamp(48px,5.8vw,86px)}.hero-copy{color:#e0e7ec;max-width:480px}.hero-bottom{max-width:530px}.hero-visual{position:absolute;inset:0;margin:0;min-height:0;z-index:-1;background:none!important}.hero-visual:after{z-index:1;background:linear-gradient(90deg,rgba(5,18,29,.96) 0%,rgba(5,18,29,.8) 36%,rgba(5,18,29,.18) 100%),linear-gradient(0deg,rgba(5,18,29,.65),transparent 60%)}.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.5s ease,transform 8s linear;transform:scale(1.06)}.hero-slide.active{opacity:1;transform:scale(1)}.visual-caption{left:auto;right:5%;bottom:95px;max-width:320px;z-index:3}.visual-caption p{font-size:25px}.slideshow-controls{position:absolute;right:5%;bottom:35px;z-index:4;display:flex;gap:12px;align-items:center}.slideshow-controls button{border:1px solid #ffffff70;background:#0b192699;color:white;min-width:44px;min-height:44px;cursor:pointer;font-size:14px;border-radius:50%;transition:background .25s,transform .25s}.slideshow-controls button:hover{background:#24586b;transform:translateY(-2px)}.slideshow-controls button[aria-pressed=true]{background:var(--cyan);color:var(--navy);border-color:var(--cyan)}.slideshow-controls .motion-toggle{border-radius:25px;padding:0 18px;min-width:110px}.solution-card{overflow:hidden;transition:transform .35s,box-shadow .35s,background .35s}.solution-card:before{content:'';display:block;height:190px;margin:-35px -32px 30px;background-size:cover;background-position:center;transition:transform .65s;transform-origin:bottom}.solution-card:hover{background:#f4fcfd;box-shadow:0 18px 38px #15333d14;transform:translateY(-5px)}.solution-card:hover:before{transform:scale(1.045)}.card-number{z-index:1;color:white;background:#0b1926aa;padding:3px 9px}.advisory{position:relative;isolation:isolate;background:#081720}.advisory:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#081720f5,#081720dc),url('servers.jpg') center/cover}.contact{position:relative;isolation:isolate;color:white;background:#102836}.contact:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0b1926f0,#0b1926c9),url('restaurant.jpg') center/cover}.contact .eyebrow{color:var(--cyan)}.contact-pending{color:#cedee7;border-color:#ffffff40}.button{transition:transform .25s,box-shadow .25s}.button:hover{transform:translateY(-3px);box-shadow:0 8px 30px #63deed30}.reveal{transition:opacity .7s ease,transform .7s ease;transition-delay:var(--reveal-delay,0ms)}.reveal.waiting{opacity:0;transform:translateY(24px)}
@media(min-width:1100px){.advisory:before,.contact:before{background-attachment:fixed}}
@media(max-width:1000px){.visual-caption{display:none}.solution-card:before{margin:-28px -22px 25px}.hero-content{padding:75px 5% 100px}.hero{min-height:720px}}
@media(max-width:700px){.hero{min-height:720px}.hero-content{padding:55px 6% 110px;max-width:100%}.hero h1{font-size:clamp(42px,8vw,58px);letter-spacing:-1.8px}.hero-visual:after{background:linear-gradient(90deg,#071722e8,#071722a8),linear-gradient(0deg,#071722aa,transparent)}.hero-copy{font-size:16px}.hero-bottom{gap:15px;letter-spacing:1px;align-items:center}.slideshow-controls{right:auto;left:6%;bottom:28px;gap:10px}.solution-card:before{margin:-30px -30px 25px;height:210px}.hero-slide{object-position:60% center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-slide,.reveal,.button,.solution-card,.solution-card:before,.slideshow-controls button{transition:none!important;transform:none!important}.reveal.waiting{opacity:1}.advisory:before,.contact:before{background-attachment:scroll}}

/* Four service areas */
.solution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.solution-card:nth-child(3){border-left:0}.solution-card:nth-child(n+3){border-top:1px solid var(--line)}.solution-card p{min-height:0;font-size:16px}.solution-card:before{height:260px}
@media(max-width:700px){.solution-grid{grid-template-columns:1fr}.solution-card:nth-child(n){border-left:0}.solution-card:before{height:230px}}



/* Technology hero: continuous camera motion and a soft light sweep. */
.tech-slide.active{animation:tech-camera 14s ease-in-out infinite alternate;transform-origin:70% 50%}
.hero-visual:before{content:'';position:absolute;inset:-20%;z-index:1;pointer-events:none;background:linear-gradient(115deg,transparent 40%,rgba(99,222,237,.12) 49%,transparent 58%);opacity:0}
.hero-visual.technology-active:before{opacity:1;animation:tech-light 9s ease-in-out infinite}
.hero-visual.motion-paused:before,.motion-paused .tech-slide.active{animation-play-state:paused}
@keyframes tech-camera{from{transform:scale(1.02) translateX(-.5%)}to{transform:scale(1.12) translateX(1%)}}
@keyframes tech-light{0%,100%{transform:translateX(-18%);opacity:.2}50%{transform:translateX(18%);opacity:.8}}
@media(prefers-reduced-motion:reduce){.tech-slide.active,.hero-visual.technology-active:before{animation:none!important}.hero-visual:before{display:none}}

/* Service order: infrastructure, smart access, kiosks, digital displays. */
.solution-card:nth-child(1):before{background-image:url('tech-hero.png');background-position:75% center}
.solution-card:nth-child(2):before{background-image:url('facial-recognition.png');background-position:center 42%}
.solution-card:nth-child(3):before{background-image:url('kiosk-hotel.jpg');background-position:center}
.solution-card:nth-child(4):before{background-image:url('restaurant.jpg');background-position:center}
.solution-card svg{overflow:visible;transform-origin:center;animation:service-float 3.8s ease-in-out 1}
.solution-card:nth-child(2) svg{animation-delay:.2s}.solution-card:nth-child(3) svg{animation-delay:.4s}.solution-card:nth-child(4) svg{animation-delay:.6s}
.solution-card svg path{stroke-dasharray:180;stroke-dashoffset:0;animation:service-trace 3.8s ease-in-out 1}
.solution-card:hover svg{animation:service-hover 1.6s ease-in-out infinite}
@keyframes service-float{0%,100%{transform:translateY(0)}35%{transform:translateY(-7px);filter:drop-shadow(0 4px 5px #63deed60)}70%{transform:translateY(2px)}}
@keyframes service-trace{0%{stroke-dashoffset:180;opacity:.35}65%,100%{stroke-dashoffset:0;opacity:1}}
@keyframes service-hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px);filter:drop-shadow(0 3px 5px #63deed55)}}
.solution-card.waiting svg,.solution-card.waiting svg path{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.solution-card svg,.solution-card svg path,.solution-card:hover svg{animation:none!important;stroke-dashoffset:0}}

