/* Mobile hardening: keep every corporate page inside the viewport. */
html,body,#root,.site,main{width:100%;max-width:100%;min-width:0;overflow-x:clip}

.home-product-tab strong{font:inherit;font-weight:600;min-width:0;overflow-wrap:anywhere}
.product-enter{animation:productEnter .65s cubic-bezier(.2,.8,.2,1) both}
.product-enter .card-top{animation:fadeUp .45s ease both}
.product-enter h3{animation:fadeUp .55s .05s ease both}
.product-enter p{animation:fadeUp .55s .12s ease both}
.product-enter .journey{animation:fadeUp .6s .18s ease both}
.product-enter .stage-link{animation:fadeUp .55s .24s ease both}
.home-product-tab{transition:background .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease}
.home-product-tab:active{transform:translateY(1px)}
@keyframes productEnter{from{opacity:0;transform:translateY(18px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Product detail visual: contained on mobile and visibly alive. */
.detail-visual{width:100%;min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden}
.detail-frame{width:100%;min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden;isolation:isolate}
.detail-frame b{max-width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:clip}
.detail-orbit{animation:detailOrbit 14s linear infinite,detailGlow 3.4s ease-in-out infinite}
.detail-orbit.two{animation-duration:9s,3.4s;animation-direction:reverse,normal}
.detail-frame::before{content:'';position:absolute;inset:8%;border:1px solid rgba(72,201,255,.06);border-radius:50%;animation:detailPulse 4s ease-in-out infinite}
.detail-frame::after{content:'';position:absolute;left:8%;right:8%;top:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(84,207,255,.7),transparent);box-shadow:0 0 16px rgba(84,207,255,.45);animation:detailScan 3.6s ease-in-out infinite;z-index:3}
.detail-visual .journey-step.active b{animation:journeyPulse 2s ease-in-out infinite}
@keyframes detailOrbit{to{transform:rotate(360deg)}}
@keyframes detailGlow{50%{opacity:.72;box-shadow:0 0 95px rgba(37,152,204,.13)}}
@keyframes detailPulse{50%{transform:scale(1.045);opacity:.75}}
@keyframes detailScan{0%,100%{top:10%;opacity:0}12%{opacity:.85}50%{top:88%;opacity:.9}88%{opacity:0}}
@keyframes journeyPulse{50%{color:#9be5ff;text-shadow:0 0 12px rgba(72,201,255,.55)}}

@media(max-width:900px){
  .home-products,.products-section,.product-directory,.simple-cta,.technology-stack,.about-grid,.about-principles,.contact-page,.demo-form-wrap,.product-detail,.foundation{min-width:0;max-width:100%;overflow:hidden}
  .product-cards,.product-card,.section-intro,.product-card>*,.product-detail>*,.detail-copy,.detail-visual,.detail-frame{min-width:0;max-width:100%}
  .product-card{overflow:hidden}
  .product-card h3,.directory-card h2,.page-hero h1{white-space:normal;overflow-wrap:anywhere;word-break:normal;max-width:100%}
  .product-card p,.page-lead,.section-intro>p,.directory-card p,.tech-list p,.about-copy p,.detail-copy>p{max-width:100%;overflow-wrap:anywhere}
  .product-card .journey,.directory-card .journey,.detail-visual .journey{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding-bottom:8px}
  .journey-step{flex:0 0 auto}
  .home-product-tabs{width:100%;max-width:100%;min-width:0;overflow:hidden}
  .home-product-tab{min-width:0;overflow:hidden}
  .home-product-tab i{margin-left:10px}
  .detail-visual{padding:22px;overflow:hidden}
  .detail-frame{height:300px}
  .detail-frame b{font-size:clamp(36px,13vw,64px);letter-spacing:.05em}
  .detail-orbit{width:min(72vw,270px);height:min(72vw,270px);max-width:270px;max-height:270px}
  .detail-orbit.two{width:min(48vw,170px);height:min(48vw,170px);max-width:170px;max-height:170px}
  .detail-visual .journey{overflow-x:auto}
}

@media(max-width:560px){
  .home-products,.products-section{padding-left:6vw;padding-right:6vw}
  .product-card{padding:30px 20px;min-height:0}
  .product-card h3{font-size:clamp(30px,8.4vw,42px);line-height:1.03;margin-top:42px;letter-spacing:-.045em}
  .product-card p{font-size:14px;line-height:1.65}
  .product-card .journey{margin:28px 0 30px}
  .home-product-tab{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:17px 15px;font-size:11px;line-height:1.35}
  .home-product-tab span{margin:0}
  .home-product-tab i{float:none;margin:0}
  .page-hero h1{font-size:clamp(40px,11vw,58px)}
  .directory-card{padding:28px 20px}
  .directory-card h2{font-size:clamp(32px,9vw,46px)}
  .demo-form-wrap{padding-left:6vw;padding-right:6vw}
  .product-detail{padding-left:6vw;padding-right:6vw}
  .detail-visual{padding:16px}
  .detail-frame{height:270px}
  .detail-frame b{font-size:clamp(34px,12vw,52px)}
  .detail-orbit{width:66vw;height:66vw}
  .detail-orbit.two{width:44vw;height:44vw}
}

@media(prefers-reduced-motion:reduce){
  .product-enter,.product-enter *,.home-product-tab,.detail-orbit,.detail-frame::before,.detail-frame::after,.detail-visual .journey-step.active b{animation:none!important;transition:none!important}
}
