/* HUGGYME: one 3D scene, compact orbit chips, detail-on-demand. */
.hero-visual{display:block!important;position:relative!important;min-width:0;width:100%!important;height:645px!important;overflow:visible;transform:none!important;left:auto!important;top:auto!important;margin-top:0!important;}
.hero-visual .scene-stage{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;grid-column:auto!important;}
.hero-visual .cube-wrap{top:50%!important;}
.hero-visual .orbit-product {position:absolute!important;display:flex!important;align-items:center;justify-content:flex-start;min-width:0!important;min-height:65px!important;height:auto!important;width:clamp(150px,17vw,192px)!important;padding:12px 13px!important;gap:9px!important;border-radius:16px!important;transform:none!important;transition:transform .25s ease,box-shadow .25s ease!important;z-index:12;backdrop-filter:blur(18px);}
.hero-visual .orbit-product:hover,.hero-visual .orbit-product:focus-visible{transform:translateY(-5px)!important;border-color:#56b9ff!important;box-shadow:0 14px 35px #1688de48!important;}
.hero-visual .orbit-product-icon{width:29px!important;flex:0 0 29px!important;}
.hero-visual .orbit-product-icon .ico{width:29px!important;height:29px!important;}
.hero-visual .orbit-product-body{min-width:0;flex:1;display:block;}
.hero-visual .orbit-product-body strong{display:block;font-size:13px!important;line-height:1.24;font-weight:650;white-space:normal!important;}
.hero-visual .product-platform{top:9%!important;left:3%!important;right:auto!important;bottom:auto!important;}
.hero-visual .product-ago{top:21%!important;right:0!important;left:auto!important;bottom:auto!important;}
.hero-visual .product-play{top:auto!important;bottom:19%!important;left:0!important;right:auto!important;}
.hero-visual .product-eye{top:auto!important;bottom:7%!important;right:0!important;left:auto!important;}
.orbit-open{font-size:15px;font-weight:650;color:#56baff;opacity:.95}
.orbit-soon-dot{font-size:9px;line-height:1;border-radius:99px;color:#a970ff;padding:5px 7px;background:#ba9cff21;white-space:nowrap;}
.cube-hotspot{position:absolute;inset:-10%;z-index:10;background:transparent;border:0;cursor:pointer;pointer-events:auto;color:#8bd9ff;}
.cube-hotspot:focus-visible{outline:3px solid #28adff;outline-offset:4px;border-radius:16px;}
.cube-hotspot-hint{position:absolute;bottom:-2%;left:50%;transform:translateX(-50%);white-space:nowrap;background:#0e3054dd;border:1px solid #a5dfff65;color:#cdeeff;border-radius:99px;padding:7px 11px;font-size:10px;font-weight:600;letter-spacing:.2px;box-shadow:0 0 28px #53b8ff52;}
.cube-hotspot:hover .cube-hotspot-hint{background:#126ab2;color:#fff;}
.face-inner .cube-workspace{font-size:11px;letter-spacing:1.4px;font-weight:800;}
.face-inner .cube-caption{max-width:88%;letter-spacing:.2px;font-size:9px;line-height:1.35;}
/* Modal presentation: authentic 3D geometry next to extensive information. */
.info-dialog{max-width:min(785px,calc(100% - 24px));width:100%;max-height:min(90dvh,790px);overflow:auto;border-radius:25px;}
.info-dialog::backdrop{background:rgba(2,10,28,.72);backdrop-filter:blur(9px);}
.info-dialog[open]{animation:dialog-rise .27s ease both;}
@keyframes dialog-rise {from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.info-dialog .dialog-card{padding:34px;display:grid;grid-template-columns:minmax(180px,35%) minmax(0,1fr);gap:26px;align-items:center;--sculpt:#46b8ff;}
.dialog-content{min-width:0}.info-dialog .dialog-eyebrow{margin-bottom:12px;}
.info-dialog .dialog-content h2{font-size:clamp(25px,3vw,35px);line-height:1.12;}
.info-dialog .dialog-list{margin:22px 0 24px;gap:13px;}
.dialog-visual{position:relative;aspect-ratio:1;display:grid;place-items:center;perspective:800px;isolation:isolate;border-radius:22px;background:radial-gradient(circle,#47baff24 0,#348bd910 48%,transparent 75%);overflow:hidden;}
.dialog-visual:before{content:"";position:absolute;width:70%;height:70%;background:radial-gradient(circle,var(--sculpt),transparent 68%);opacity:.13;filter:blur(16px)}
.dialog-orbit{position:absolute;width:105%;height:45%;border:1px solid #77bffa90;border-radius:50%;transform:rotate(-28deg);}
.dialog-orbit-two{transform:rotate(31deg);border-color:#a398ff75;}
.dialog-cube{position:relative;width:102px;height:102px;transform-style:preserve-3d;transform:rotateX(-23deg) rotateY(-37deg);animation:dialog-turn 9s ease-in-out infinite alternate;}
.dialog-cube-front,.dialog-cube-side,.dialog-cube-top{position:absolute;inset:0;border:1.5px solid #91daffad;box-shadow:inset 0 0 22px #59c2ff3b,0 0 25px #388ef768;border-radius:5px;backface-visibility:hidden;}
.dialog-cube-front{transform:translateZ(51px);background:linear-gradient(145deg,#173d70,#081b34);display:grid;place-items:center;color:var(--sculpt);}
.dialog-cube-front .ico{width:47px;height:47px;filter:drop-shadow(0 0 9px #56c6ffb1)}
.dialog-cube-side{transform:rotateY(90deg) translateZ(51px);background:linear-gradient(120deg,#255e9b,#071729)}
.dialog-cube-top{transform:rotateX(90deg) translateZ(51px);background:linear-gradient(45deg,#3367aa,#8be4ff91)}
@keyframes dialog-turn{from{transform:rotateX(-25deg) rotateY(-36deg)}to{transform:rotateX(-20deg) rotateY(-47deg)}}
html[data-theme="light"] .cube-hotspot-hint{background:#fffef9e8;color:#15619f;border-color:#9ecfff;box-shadow:0 0 22px #3d9de84b;}
html[data-theme="light"] .orbit-soon-dot{background:#eee1ff;color:#8150b2;}
html[data-theme="light"] .developer-visual{background:linear-gradient(130deg,#fffffff5,#e4f3ff);border-color:#b3d5f4;color:#12385a;}
/* CASI Search remains a single lightweight developer block; core products remain around the cube. */
.developer-section{padding:62px 0!important;}
.developer-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,40%);gap:45px;align-items:center;}
.developer-copy h2{font-size:clamp(36px,4.3vw,60px);font-weight:500;letter-spacing:-1.8px;margin:10px 0;}
.developer-copy h2 span{color:#46b2ff;}
.developer-copy p:not(.eyebrow){max-width:550px;line-height:1.65;color:var(--muted);margin:0 0 21px;}
.developer-visual{border:1px solid #366ca960;min-height:140px;display:flex;align-items:center;gap:20px;border-radius:22px;padding:25px;text-align:left;background:linear-gradient(140deg,#13253a,#0c1929);color:#edf8ff;cursor:pointer;box-shadow:0 18px 50px #1c7dd71c;transition:transform .25s,border-color .25s;}
.developer-visual:hover{transform:translateY(-4px);border-color:#57bfff;}
.developer-glass{display:grid;place-items:center;flex:0 0 68px;width:68px;height:68px;border:1px solid #76c8ff8a;border-radius:16px;background:#66baf91c;box-shadow:inset 0 0 20px #6dcfff33;color:#38beff;}
.developer-glass .ico{width:37px;height:37px;}
.developer-visual-copy{display:grid;gap:5px;flex:1;min-width:0;}.developer-visual-copy strong{font-size:20px;}.developer-visual-copy small{color:#6d9dd0}.developer-arrow{font-size:23px;color:#43b6ff}
@media(max-width:1000px){
 .hero-visual{height:520px!important;flex:none;margin-top:12px!important;}
 .hero-visual .scene-stage{height:100%!important;}
 .hero-visual .product-platform{top:9%!important;left:2%!important;}
 .hero-visual .product-ago{top:17%!important;right:2%!important;}
 .hero-visual .product-play{bottom:20%!important;left:2%!important;}
 .hero-visual .product-eye{bottom:12%!important;right:2%!important;}
 .hero-visual .orbit-product{width:clamp(126px,27vw,170px)!important;}
 .hero-inner{height:auto!important;min-height:0!important;}
 .hero{height:auto!important;min-height:0!important;}
}
@media(max-width:700px){
 .hero-inner{display:flex!important;flex-direction:column!important;align-items:stretch!important;}
 .hero-visual{height:410px!important;margin-top:22px!important;}
 .hero-visual .cube-wrap{top:50%!important;}
 .hero-visual .orbit-product{width:min(35%,142px)!important;min-height:55px!important;padding:8px 9px!important;gap:6px!important;border-radius:12px!important;}
 .hero-visual .orbit-product-icon{width:19px!important;flex:0 0 19px!important;}
 .hero-visual .orbit-product-icon .ico{width:19px!important;height:19px!important;}
 .hero-visual .orbit-product-body strong{font-size:11px!important;line-height:1.13!important;}
 .hero-visual .product-platform{top:5%!important;left:0!important;}
 .hero-visual .product-ago{top:11%!important;right:0!important;}
 .hero-visual .product-play{bottom:10%!important;left:0!important;}
 .hero-visual .product-eye{bottom:4%!important;right:0!important;}
 .orbit-open{font-size:12px}.orbit-soon-dot{font-size:8px;padding:4px 5px;}
 .cube-hotspot-hint{bottom:-5%;font-size:9px;}
 .info-dialog .dialog-card{display:block;padding:21px;}
 .dialog-visual{width:100%;height:150px;aspect-ratio:auto;margin-bottom:10px;}
 .dialog-cube{width:67px;height:67px;}
 .dialog-cube-front{transform:translateZ(33.5px)}.dialog-cube-side{transform:rotateY(90deg) translateZ(33.5px)}.dialog-cube-top{transform:rotateX(90deg) translateZ(33.5px)}
 .dialog-cube-front .ico{width:32px;height:32px;}
 .info-dialog .dialog-content h2{font-size:26px;}
 .developer-layout{grid-template-columns:1fr;gap:18px;}.developer-section{padding:51px 0!important;}
}
@media(max-width:380px){
 .hero-visual{height:355px!important;}
 .hero-visual .orbit-product{width:min(35%,116px)!important;padding:7px!important;}
 .hero-visual .orbit-product-icon{width:16px!important;flex-basis:16px!important;}.hero-visual .orbit-product-icon .ico{width:16px!important;height:16px!important;}
 .hero-visual .orbit-product-body strong{font-size:10px!important;}
 .orbit-soon-dot{display:none;}
 .cube-hotspot-hint{font-size:8px;bottom:-10%;}
}
@media(prefers-reduced-motion:reduce){.dialog-cube,.info-dialog[open]{animation:none!important;}}
/* Decorative geometry must never block the close control. */
.info-dialog .dialog-close{z-index:40;}
.info-dialog .dialog-visual,.info-dialog .dialog-orbit,.info-dialog .dialog-cube{pointer-events:none;}
/* Intermediate unfolded Fold: reserve real space below the header. */
@media(min-width:701px) and (max-width:1000px){
 .hero-inner{padding-top:90px!important;padding-bottom:45px!important;min-height:685px!important;}
 .hero-visual{height:500px!important;}
}
@media(max-width:700px){.cube-hotspot-hint{display:none;}}
/* Compact constellation has no separate scroll rail competing with product chips. */
.hero .scroll-explore{display:none!important;}
/* The full cube is the action target; invite on focus/hover without masking copy. */
.cube-hotspot-hint{opacity:0;transition:opacity .2s ease;}
.cube-wrap:hover .cube-hotspot-hint,.cube-hotspot:focus-visible .cube-hotspot-hint{opacity:1;}
@media(max-width:1000px){.cube-hotspot-hint{display:none!important;}}

/* R2: responsive controls remain short, tappable, and unobstructed. */
.hero-visual .orbit-product {cursor:pointer;touch-action:manipulation;min-height:56px!important;box-shadow:0 14px 34px rgba(18,74,123,.12)!important}
.hero-visual .orbit-product:focus-visible,.cube-hotspot:focus-visible {outline:3px solid #168bed;outline-offset:3px}
.hero-visual .orbit-soon-dot {font-size:10px;line-height:1.1;}
@media (min-width:801px) and (max-width:1100px){
 .hero-inner{gap:16px!important;}
 .hero-copy{flex:0 0 min(46%,450px)!important;width:min(46%,450px)!important;}
 .hero-visual{flex:1 1 0!important;width:auto!important;min-width:0!important;height:570px!important;}
 .hero-visual .orbit-product{width:clamp(120px,14vw,158px)!important;padding:10px!important;}
 .hero-visual .product-platform{top:5%!important;left:0!important}
 .hero-visual .product-ago{top:16%!important;right:0!important}
 .hero-visual .product-play{bottom:13%!important;left:0!important}
 .hero-visual .product-eye{bottom:6%!important;right:0!important}
 .hero-visual .orbit-product-body strong{font-size:12px!important}
}
@media (max-width:800px){
 .site-header .header-inner{position:relative}
 .site-header .primary-nav{position:absolute!important;top:calc(100% - 4px)!important;left:0!important;right:0!important;max-height:min(70dvh,415px)!important;overflow-y:auto!important;padding:12px!important;gap:6px!important;align-items:stretch!important;border-radius:16px!important;z-index:80!important}
 .site-header .primary-nav.open{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 .site-header .primary-nav a{font-size:13px!important;white-space:normal!important;min-height:40px!important;padding:10px 8px!important;display:flex!important;align-items:center!important;}
 .site-header .primary-nav .mobile-auth-link{min-height:44px!important;margin:0!important;font-size:13px!important;text-align:center!important;}
 .hero-visual .orbit-product{box-shadow:0 8px 18px rgba(18,74,123,.14)!important}
 .hero-visual .orbit-soon-dot{font-size:8px!important;padding:3px 5px!important}
}
@media (max-width:430px){
 .hero-visual .orbit-product{max-width:127px!important;min-height:49px!important;gap:5px!important}
 .hero-visual .orbit-product-body strong{font-size:11px!important}
 .hero-visual .orbit-product .orbit-open {display:none}
 .hero-visual .product-platform{top:4%!important;left:0!important}
 .hero-visual .product-ago{top:12%!important;right:0!important}
 .hero-visual .product-play{bottom:10%!important;left:0!important}
 .hero-visual .product-eye{bottom:3%!important;right:0!important}
}
/* Unified Fold/mobile navigation breakpoint used by hero-3d.css. */
@media (max-width:1000px){
 .header-actions{margin-left:auto!important;}
 .site-header .primary-nav{position:absolute!important;top:calc(100% - 4px)!important;left:0!important;right:0!important;z-index:90!important;max-height:min(65dvh,390px)!important;overflow:auto!important;padding:12px!important;gap:6px!important;}
 .site-header .primary-nav.open{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;}
 .site-header .primary-nav a{min-height:41px!important;font-size:13px!important;padding:9px 10px!important;white-space:normal!important;display:flex!important;align-items:center!important}
 .site-header .primary-nav .mobile-auth-link{margin:0!important;min-height:43px!important;text-align:center!important;padding:10px!important}
}
/* Desktop: separate brand/header and hero copy without hiding the cube. */
@media(min-width:1101px){
 .hero{min-height:790px!important;}
 .hero-inner{height:790px!important;min-height:790px!important;padding-top:85px!important;}
 .hero-copy{padding-top:35px!important;}
}
/* Unfolded phone/tablet: readable hero and full-size 3D cube, rather than a thin copy strip. */
@media(min-width:801px) and (max-width:1100px){
 .hero h1{font-size:clamp(32px,4.3vw,43px)!important;line-height:1.16!important;letter-spacing:-1.7px!important;white-space:normal!important;}
 .hero-copy{flex:0 0 44%!important;width:44%!important;min-width:0!important;}
 .hero-description{font-size:14px!important;max-width:100%!important;line-height:1.55!important;}
 .hero .eyebrow{font-size:10px!important;letter-spacing:1px!important;}
 .hero-visual{flex:1 1 0!important;width:54%!important;min-width:0!important;}
 .hero-buttons{flex-wrap:wrap!important;}
 .hero-buttons .btn{min-height:43px!important;min-width:0!important;padding:0 13px!important;}
 .hero-metrics .metric{min-width:0!important;}
}
/* Tablet and unfolded Fold use a full-width constellation rather than cramped half-columns. */
@media(min-width:701px) and (max-width:1150px){
 .hero{height:auto!important;min-height:0!important;}
 .hero .hero-inner{height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding-top:120px!important;padding-bottom:25px!important;}
 .hero .hero-copy{width:100%!important;max-width:700px!important;flex:none!important;padding-top:0!important;}
 .hero .hero-copy h1{font-size:clamp(40px,6vw,61px)!important;line-height:1.12!important;max-width:700px!important;white-space:normal!important;}
 .hero .hero-description{max-width:580px!important;font-size:16px!important;line-height:1.6!important;}
 .hero .hero-visual{width:100%!important;max-width:820px!important;min-width:0!important;flex:none!important;height:570px!important;align-self:center!important;top:auto!important;left:auto!important;margin-top:24px!important;transform:none!important;}
 .hero .hero-visual .orbit-product{width:clamp(145px,21vw,180px)!important;}
 .hero .hero-visual .orbit-product-body strong{font-size:13px!important;}
 .hero .hero-visual .product-platform{top:4%!important;left:2%!important;}
 .hero .hero-visual .product-ago{top:16%!important;right:2%!important;}
 .hero .hero-visual .product-play{bottom:15%!important;left:2%!important;}
 .hero .hero-visual .product-eye{bottom:5%!important;right:2%!important;}
 .hero .hero-metrics .metric{min-width:105px!important;}
}
