/* KishuNex / Integrated. Additive patch to the original NextStage layout.
   Selected hero + service diagrams. No generated orb, abstract collage or new background. */
:root{--art-ease:cubic-bezier(.16,1,.3,1)}
.hero-next{color:#c5d2e9}.scene-parallax{width:95%;height:auto;aspect-ratio:1100/935;left:3%;top:auto;bottom:3%}.scene-float,.hero-art-entry{width:100%;height:100%}.hero-generated-art{width:100%;height:100%;object-fit:contain;pointer-events:none}.is-ready .hero-art-entry{animation:artArrive 1.65s var(--art-ease) .25s both}.hero-drafting{position:absolute;inset:0;overflow:hidden;pointer-events:none}.draft-circle{position:absolute;width:80%;aspect-ratio:1;left:25%;top:22%;border:1px solid #6581b626;border-radius:50%}.draft-circle::before{content:"";position:absolute;inset:12%;border:1px dashed #6581b622;border-radius:50%}.draft-axis{position:absolute;background:#6581b621}.draft-axis--x{left:8%;right:6%;bottom:13%;height:1px}.draft-axis--y{right:15%;top:19%;bottom:8%;width:1px}.draft-tick{position:absolute;font:300 22px/1 Arial,sans-serif;color:#738bb2}.draft-tick--one{left:28%;top:16%}.draft-tick--two{right:14%;bottom:12%}.draft-index{position:absolute;left:11%;bottom:17%;font:8px/1 Arial,sans-serif;letter-spacing:.13em;color:#526582;writing-mode:vertical-rl}
@keyframes artArrive{from{opacity:0;transform:translate3d(0,45px,0) scale(.975);clip-path:inset(15% 0 0 0)}to{opacity:1;transform:translate3d(0,0,0) scale(1);clip-path:inset(0)}}
.service-stage{height:458px}.service-stage__number{position:absolute;margin:0;top:68px;right:27px;font-size:82px;color:#ffffff25}.service-stage__word{margin-top:33px;font-size:43px;letter-spacing:-.04em}.service-art-deck{position:absolute;inset:132px 9px 48px;z-index:1;pointer-events:none}.service-art-layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(22px) scale(.94) rotate(3deg);transition:opacity .55s ease,transform .85s var(--art-ease)}.service-art-layer img,.service-art-layer svg{width:100%;height:100%;object-fit:contain}.service-art-layer[data-art="1"] img{width:90%}.service-stage[data-active="0"] [data-art="0"],.service-stage[data-active="1"] [data-art="1"],.service-stage[data-active="2"] [data-art="2"]{opacity:1;transform:translateY(0) scale(1) rotate(0)}.service-art-grid{position:absolute;inset:115px 0 0;opacity:.12;background-image:linear-gradient(#c1dcff50 1px,transparent 1px),linear-gradient(90deg,#c1dcff50 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(transparent,#000);pointer-events:none}.service-stage__bottom{bottom:19px;font-size:9px;z-index:3}.service-stage__bottom>span+span{font-size:26px}.web-phone{animation:deviceFloat 5s ease-in-out infinite}.web-window{animation:deviceFloat 7s ease-in-out .5s infinite}.service-title-group{position:relative}.service-mini-art{display:none}
@keyframes deviceFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

.diagram-back{animation:deviceFloat 7s ease-in-out .5s infinite}
.diagram-front{animation:deviceFloat 5s ease-in-out infinite}
.service-art-layer:not([data-art="0"]){width:100%}
.service-art-layer svg{overflow:visible}
.service-stage__word{font-size:clamp(31px,3vw,43px);max-width:100%;white-space:nowrap}
.service-stage[data-active="0"] .service-art-layer:not([data-art="0"]) *,
.service-stage[data-active="1"] .service-art-layer:not([data-art="1"]) *,
.service-stage[data-active="2"] .service-art-layer:not([data-art="2"]) *{animation-play-state:paused}
.service-title-group{min-width:0}
.process-glyph{width:38px;height:38px;color:var(--blue);transition:transform .4s var(--art-ease)}
.process-track li:hover .process-glyph{transform:translate(2px,-4px)}
.contact{padding-bottom:86px}
.contact-grid{display:grid;grid-template-columns:1fr minmax(270px,360px);align-items:center;gap:65px}
.contact h2{font-size:clamp(50px,5.7vw,84px)}
.contact-entry{width:100%;min-width:0;margin-top:24px}
.contact-grid .contact-entry__eyebrow{font-size:11px;letter-spacing:.06em;color:#c3cfe0;line-height:1.7;margin:0 0 16px}
.contact-action{position:relative;display:flex;justify-content:space-between;align-items:center;gap:30px;
background:transparent;color:white;width:100%;border-block:1px solid #8b9db6;padding:24px 0;
font-size:24px;font-weight:600;transition:color .35s,border-color .35s var(--ease)}
.contact-action::after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;
background:white;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.contact-action .icon{width:32px;height:32px;transition:transform .45s var(--ease)}
.contact-action:hover{color:#c5d9ff;border-color:#c5d9ff}
.contact-action:hover::after{transform:scaleX(1);transform-origin:left}
.contact-action:hover .icon{transform:translate(5px,-5px)}
.contact-grid .contact-entry__note{font-size:11px;color:#b5c3d8;line-height:1.9;margin:18px 0 0;max-width:none}
.contact-bottom{margin-top:64px}
@media(max-width:1150px){
.service-stage{height:397px}.service-art-deck{top:120px;bottom:49px}
.service-stage__word{font-size:clamp(24px,3vw,35px)}.service-stage__number{font-size:62px}
.contact-grid{grid-template-columns:1fr 310px;gap:40px}
}
@media(max-width:900px){
.service-stage{height:343px;padding:23px 19px}.service-stage__word{font-size:clamp(23px,3vw,29px);margin-top:27px}
.service-stage__number{font-size:48px;right:17px;top:64px}.service-art-deck{inset:109px 3px 45px}
.service-stage__bottom{left:19px;right:19px;font-size:8px}
.contact-grid{grid-template-columns:1fr 260px;gap:35px}.contact h2{font-size:55px}
.contact-action{font-size:22px}.contact-entry{margin-top:0}.contact{padding-bottom:70px}
}
@media(max-width:600px){
.hero-visual{height:345px}.scene-parallax{width:101%;height:auto;left:-2%;bottom:-2%;top:auto;aspect-ratio:1100/935}
.draft-circle{top:14%}.draft-tick{font-size:14px}.draft-index{font-size:6px;left:12%}
.hero-visual__footer{bottom:12px}.hero-visual__caption{font-size:7px}
.hero-next{font-size:85px;top:36px;color:#c6d4ec}
.service-title-group{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-block:8px;min-height:88px}
.service-title-group h3{min-width:0;flex:1;font-size:26px;line-height:1.45;margin-top:0;text-wrap:balance}
.service-mini-art{display:block;width:100px;height:82px;flex:0 0 100px}
.service-mini-art svg{width:100%;height:100%;object-fit:contain;overflow:visible}
.service-description{margin-top:12px}.process-glyph{width:30px;height:30px}
.contact{padding-bottom:54px}.contact-grid{display:block}.contact h2{font-size:clamp(41px,11vw,58px)}
.contact-grid p{max-width:100%;font-size:13px}.contact-entry{margin-top:34px;max-width:none}
.contact-action{font-size:23px;padding:20px 0;min-height:78px}
.contact-grid .contact-entry__eyebrow{font-size:10px;margin-bottom:12px}
.contact-grid .contact-entry__note{font-size:10px;margin-top:14px}
.contact-bottom{margin-top:34px}.contact .section-label{margin-bottom:26px}
}
@media(max-width:359px){
.hero-visual{height:300px}.hero-next{font-size:75px}.hero-visual__footer{font-size:5px}
.service-mini-art{width:80px;height:70px;flex-basis:80px}.service-title-group h3{font-size:23px}
.contact h2{font-size:39px}
}
html[data-motion="off"] .hero-art-entry{opacity:1;transform:none;clip-path:none}
@media(prefers-reduced-motion:reduce){html:not([data-motion="on"]) .hero-art-entry{opacity:1;transform:none;clip-path:none}}
@media print{.hero-art-entry{opacity:1;transform:none;clip-path:none}.contact-entry{display:none}}
