/* Cipenyalex: first-screen illustration and motion. No external dependencies. */
.hero-atmosphere{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 82% 45%,#dce7ff90,transparent 49%),#f7f8f4}
.hero-v2{position:relative;z-index:1;grid-template-columns:1.06fr 1fr;gap:65px;min-height:700px;padding-top:66px;padding-bottom:64px}
.hero-v2 .hero-copy{animation:none;min-width:0}
.hero-v2 h1{font-size:clamp(2.65rem,4.25vw,4.2rem);line-height:1.1;letter-spacing:-.055em}
.hero-v2 h1>span,.hero-v2 h1>em{display:block;white-space:nowrap}
.hero-v2 h1>em{color:#315fd3;margin-top:6px}
.hero-v2 .eyebrow{color:#344c6d}
.hero-v2 .tiny-bracket{color:#315fd3}
.hero-v2 .lead{max-width:480px;margin-top:27px;color:#586374}
.hero-v2 .button{background:#2656ce;box-shadow:0 7px 20px #315fd320}
.hero-v2 .button:hover{background:#1945b5;box-shadow:0 12px 24px #315fd338}
.hero-v2 .text-link{border-color:#98abd4}
.hero-v2 .hero-meta{margin-top:36px;color:#5e6c7d}
.hero-v2 .hero-copy>.eyebrow{animation:hero-copy-in .85s .05s both}
.hero-v2 h1>span{animation:hero-copy-in .9s .15s both}
.hero-v2 h1>em{animation:hero-copy-in .9s .28s both}
.hero-v2 .hero-copy>.lead{animation:hero-copy-in .85s .42s both}
.hero-v2 .actions{animation:hero-copy-in .85s .54s both}
.hero-v2 .hero-meta{animation:hero-copy-in .85s .65s both}
.hero-visual{min-width:0;animation:hero-image-in 1.15s .22s both}
.hero-perspective{perspective:1100px;padding:18px 10px 24px;touch-action:pan-y}
.hero-float{animation:hero-hover 7s ease-in-out infinite;transform-style:preserve-3d}
.hero-tilt{position:relative;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d;border-radius:25px;background:#081329;box-shadow:0 28px 45px -20px #11245270,0 4px 8px #07132a1c;transition:transform .28s ease-out;will-change:transform}
.hero-tilt:before{content:"";position:absolute;inset:7px -5px -7px 5px;border-radius:25px;background:#153673;transform:translateZ(-8px);box-shadow:0 0 0 1px #6c91e150}
.hero-illustration{width:100%;aspect-ratio:1;object-fit:contain;border-radius:25px;position:relative;transform:translateZ(1px);border:1px solid #5478b04d}
.hero-glare{position:absolute;inset:0;pointer-events:none;border-radius:25px;transform:translateZ(3px);background:radial-gradient(circle at var(--light-x,32%) var(--light-y,24%),#ffffff26,transparent 56%);mix-blend-mode:screen;animation:hero-light 8s ease-in-out infinite alternate}
.hero-visual-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 10px 0}
.visual-caption{font:12px monospace;letter-spacing:.1em;color:#526784}
.motion-toggle{flex-shrink:0;border:1px solid #c9d4e4;background:#f7f8f4d9;color:#425777;border-radius:20px;padding:6px 12px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:7px}
.motion-toggle[hidden]{display:none}
.motion-toggle:hover{background:white;border-color:#7e9aca}
.symbol-rain{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden;mask-image:linear-gradient(to bottom,#000, #000 75%,transparent)}
.symbol-rain span{position:absolute;top:-80px;left:var(--symbol-x);font:500 var(--symbol-size) monospace;color:#3767c7;opacity:0;user-select:none;animation:code-rain var(--fall-time) linear var(--fall-delay) infinite;will-change:transform}
.hero-atmosphere.motion-paused *,.hero-atmosphere.motion-paused *:before{animation-play-state:paused!important}
.hero-atmosphere.motion-paused .hero-tilt{transform:none}
@keyframes hero-copy-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-image-in{from{opacity:0;transform:translateY(35px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes hero-hover{0%,100%{transform:translateY(5px) rotateZ(-1deg) rotateY(-2deg)}50%{transform:translateY(-10px) rotateZ(1deg) rotateY(2deg)}}
@keyframes hero-light{from{opacity:.4}to{opacity:1}}
@keyframes code-rain{0%{transform:translate3d(0,-30px,0) rotate(-12deg);opacity:0}9%{opacity:.17}75%{opacity:.12}100%{transform:translate3d(var(--fall-drift),var(--fall-distance,850px),0) rotate(32deg);opacity:0}}
@media(min-width:1450px){.hero-v2{gap:70px}.hero-v2 h1{font-size:4.2rem}}
@media(max-width:1050px){.hero-v2{gap:30px;min-height:610px}.hero-v2 h1{font-size:clamp(2.3rem,4.1vw,3.5rem)}.visual-caption{font-size:12px;max-width:170px}.hero-perspective{padding-left:5px;padding-right:5px}}
@media(max-width:760px){.hero-v2{grid-template-columns:1fr;gap:30px;min-height:0;padding-top:44px;padding-bottom:38px}.hero-v2 h1{font-size:clamp(2.3rem,8.8vw,3.9rem)}.hero-v2 .lead{margin-top:23px}.hero-v2 .hero-meta{margin-top:27px}.hero-visual{max-width:510px;width:100%;margin:auto}.hero-perspective{padding-top:6px;padding-bottom:22px}.hero-visual-bottom{padding-top:0}.hero-v2 .eyebrow{font-size:.75rem}.hero-v2 h1>span,.hero-v2 h1>em{white-space:normal}.symbol-rain span:nth-child(n+13){display:none}.hero-tilt,.hero-illustration,.hero-glare,.hero-tilt:before{border-radius:20px}}
@media(prefers-reduced-motion:reduce){.symbol-rain{display:none}.hero-v2 *, .hero-v2 *:before{animation:none!important;transition:none!important;transform:none!important}.hero-glare{opacity:.5}.motion-toggle{display:none}}
