
.orivex-logo-link{display:inline-flex;align-items:center;line-height:0;flex:0 0 auto}
.orivex-logo-img{display:block;width:auto;height:34px;object-fit:contain}
footer .orivex-logo-img{height:42px;filter:invert(1)}
nav .orivex-logo-img{height:34px}
img[src*="orivex-logo-transparent"]{background:transparent!important}
body{background:#fff}
.orivex-hero-visual{pointer-events:none;position:absolute;inset:0;z-index:0;display:none;align-items:center;justify-content:flex-end;overflow:hidden;padding:104px 0 72px}
.orivex-code-glow{position:absolute;right:-260px;top:82px;width:740px;height:740px;border-radius:999px;background:radial-gradient(circle,rgba(17,24,39,.1) 0,rgba(17,24,39,.052) 34%,transparent 69%);filter:blur(.5px)}
.orivex-code-stage{--orivex-code-shift:142px;position:relative;width:min(760px,55vw);height:570px;transform:translateX(var(--orivex-code-shift))}
.orivex-code-stage:before{content:"";position:absolute;inset:28px 8px 18px 58px;border:1px solid rgba(17,24,39,.08);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.6),rgba(255,255,255,.16));box-shadow:0 30px 90px rgba(15,23,42,.12)}
.orivex-code-panel{position:absolute;right:0;top:48px;width:min(690px,100%);border:1px solid rgba(255,255,255,.12);border-radius:18px;background:#08090b;color:#f8fafc;box-shadow:0 34px 100px rgba(15,23,42,.22);overflow:hidden;animation:orivexCodeFloat 7s ease-in-out infinite}
.orivex-code-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 18%,rgba(249,115,22,.12),transparent 31%),linear-gradient(90deg,rgba(255,255,255,.035),transparent 42%);pointer-events:none}
.orivex-code-top{position:relative;display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(255,255,255,.1);padding:13px 18px;color:#858b96;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;letter-spacing:.03em}.orivex-code-top span{width:8px;height:8px;border-radius:999px;background:#383a40}.orivex-code-top span:nth-child(1){background:#f97316}.orivex-code-top span:nth-child(2){background:#4b5563}.orivex-code-top span:nth-child(3){background:#27272a}.orivex-code-top em{margin-left:14px;font-style:normal}
.orivex-code-body{position:relative;padding:24px 22px 18px;display:grid;gap:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;line-height:1.45}
.orivex-code-line{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;min-height:26px;border-radius:8px;color:#d7d9df;animation:orivexCodeJump 3.6s ease-in-out infinite}.orivex-code-line:nth-child(1){animation-delay:.05s}.orivex-code-line:nth-child(2){animation-delay:.22s}.orivex-code-line:nth-child(3){animation-delay:.39s}.orivex-code-line:nth-child(4){animation-delay:.56s}.orivex-code-line:nth-child(5){animation-delay:.73s}.orivex-code-line:nth-child(6){animation-delay:.9s}.orivex-code-line:nth-child(7){animation-delay:1.07s}.orivex-code-line:nth-child(8){animation-delay:1.24s}
.orivex-code-line i{font-style:normal;color:#555b66}.orivex-code-line code{white-space:nowrap}.orivex-code-line b{font-weight:650;color:#c4b5fd}.orivex-code-line span{color:#fbbf24}.orivex-code-line.is-hot{background:rgba(249,115,22,.12);box-shadow:inset 2px 0 0 #f97316;color:#fff}
.orivex-code-cursor{display:inline-block;width:8px;height:17px;background:#f97316;vertical-align:-3px;animation:orivexCursor 1s steps(1,end) infinite}
.orivex-code-console{position:relative;margin:0 22px 24px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#0f1013;padding:14px 16px;display:grid;gap:9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#b9bec8}.orivex-code-console div{display:flex;align-items:center;gap:9px;animation:orivexConsolePulse 4.2s ease-in-out infinite}.orivex-code-console div:nth-child(2){animation-delay:.8s}.orivex-code-console div:nth-child(3){animation-delay:1.6s}.orivex-code-console span{width:7px;height:7px;border-radius:999px;background:#f97316;box-shadow:0 0 0 0 rgba(249,115,22,.38);animation:orivexCodeDot 1.8s ease-out infinite}
.orivex-code-chip{position:absolute;border:1px solid rgba(17,24,39,.12);border-radius:999px;background:#fff;color:#111827;padding:10px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;box-shadow:0 18px 46px rgba(15,23,42,.12);animation:orivexChipHop 4.5s ease-in-out infinite}.orivex-code-chip.is-one{left:44px;top:96px}.orivex-code-chip.is-two{right:28px;bottom:72px;animation-delay:.8s}.orivex-code-chip.is-three{left:104px;bottom:132px;animation-delay:1.4s}
@keyframes orivexCodeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes orivexCodeJump{0%,100%{transform:translateY(0);opacity:.78}42%{transform:translateY(-6px);opacity:1}58%{transform:translateY(2px);opacity:.92}}
@keyframes orivexCursor{0%,48%{opacity:1}49%,100%{opacity:0}}
@keyframes orivexConsolePulse{0%,100%{opacity:.6;transform:translateX(0)}45%{opacity:1;transform:translateX(5px)}}
@keyframes orivexCodeDot{0%{box-shadow:0 0 0 0 rgba(249,115,22,.38)}75%,100%{box-shadow:0 0 0 9px rgba(249,115,22,0)}}
@keyframes orivexChipHop{0%,100%{transform:translateY(0);opacity:.84}50%{transform:translateY(-12px);opacity:1}}
@media(min-width:1024px){.orivex-hero-visual{display:flex}}
@media(min-width:1400px){.orivex-code-stage{--orivex-code-shift:84px}}
@media(max-width:1279px){.orivex-code-stage{width:690px;--orivex-code-shift:255px}.orivex-code-chip.is-one{left:26px}.orivex-code-chip.is-three{left:72px}}
@media(max-width:1120px){.orivex-code-stage{width:640px;--orivex-code-shift:330px}.orivex-code-panel{width:620px}.orivex-code-chip{opacity:.7}}
.orivex-contact{min-height:100dvh;background:#f8f8f8;display:flex;flex-direction:column;align-items:center;padding:32px 20px 80px}
.orivex-contact-nav{width:min(1120px,100%);display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.orivex-back-link{font-weight:600;color:#374151;text-decoration:none}
.orivex-contact-card{width:min(760px,100%);margin-top:72px;background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:44px;box-shadow:0 24px 80px rgba(17,24,39,.08)}
.orivex-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;color:#6b7280;margin:0 0 12px}
.orivex-contact-card h1{font-size:clamp(42px,6vw,72px);line-height:.96;letter-spacing:-.04em;margin:0 0 18px;color:#111827}
.orivex-contact-card p{font-size:18px;line-height:1.55;color:#4b5563;margin:0 0 30px}.orivex-contact-card a{color:#111827}
.orivex-contact-card form{display:grid;gap:16px}.orivex-contact-card label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#374151}
.orivex-contact-card input,.orivex-contact-card textarea{font:inherit;border:1px solid #d1d5db;border-radius:12px;padding:14px 15px;color:#111827;background:#fff}
.orivex-contact-card textarea{resize:vertical}.orivex-contact-card button{border:0;border-radius:12px;background:#111827;color:#fff;font-weight:800;padding:15px 18px;cursor:pointer}
.orivex-auth-page{min-height:100dvh;display:flex;background:#fff;color:#111827}
.orivex-auth-aside{display:flex;width:480px;flex-shrink:0;flex-direction:column;justify-content:space-between;background:#000;padding:40px;color:#fff}
.orivex-auth-brand{display:inline-flex;align-items:center;line-height:0;text-decoration:none}
.orivex-auth-brand img{display:block;width:auto;height:28px;object-fit:contain}
.orivex-auth-brand.is-dark img{filter:invert(1) brightness(12)}
.orivex-auth-intro{margin-top:64px}.orivex-auth-intro h1{max-width:390px;margin:0;font-size:28px;line-height:1.13;font-weight:650;letter-spacing:-.025em;color:#fff}
.orivex-auth-intro p{max-width:390px;margin:16px 0 0;font-size:14px;line-height:1.7;color:#9ca3af}
.orivex-auth-features{display:grid;gap:20px}.orivex-auth-features div+div{border-top:1px solid #1f2937;padding-top:20px}
.orivex-auth-features p{margin:0;font-size:14px;font-weight:600;color:#fff}.orivex-auth-features span{display:block;margin-top:4px;font-size:13px;line-height:1.65;color:#6b7280}
.orivex-auth-main{display:flex;min-width:0;flex:1;flex-direction:column;background:#fff}
.orivex-auth-mobile-brand{display:none;align-items:center;border-bottom:1px solid #e5e7eb;padding:16px 24px}
.orivex-auth-card{width:100%;max-width:420px;margin:auto;padding:48px 24px}.orivex-auth-card h1{margin:0;font-size:24px;line-height:1.25;font-weight:650;letter-spacing:-.02em;color:#111827}
.orivex-auth-card p{margin:8px 0 0;font-size:14px;color:#6b7280}.orivex-auth-tabs{margin-top:24px;display:flex;align-items:center;gap:4px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;padding:4px}
.orivex-auth-tabs a{flex:1;border-radius:6px;padding:7px 12px;text-align:center;text-decoration:none;font-size:14px;font-weight:600;color:#6b7280;transition:color .2s,background .2s,box-shadow .2s}
.orivex-auth-tabs a.is-active{background:#fff;color:#111827;box-shadow:0 1px 3px rgba(17,24,39,.08)}
.orivex-auth-form{margin-top:18px;display:grid;gap:10px}.orivex-auth-form label{font-size:13px;font-weight:600;color:#374151}
.orivex-auth-form input{height:42px;border:1px solid #d1d5db;border-radius:8px;background:#fff;padding:0 12px;font:inherit;font-size:14px;color:#111827;outline:none}
.orivex-auth-form input:focus{border-color:#111827;box-shadow:0 0 0 3px rgba(17,24,39,.08)}
.orivex-auth-form button{height:42px;border:0;border-radius:8px;background:#111827;color:#fff;font-size:14px;font-weight:700;cursor:pointer}
.orivex-auth-home{display:inline-block;margin-top:18px;font-size:14px;font-weight:600;color:#6b7280;text-decoration:none}
@media(min-width:1280px){.orivex-auth-aside{width:520px}}
@media(max-width:1023px){.orivex-auth-aside{display:none}.orivex-auth-mobile-brand{display:flex}.orivex-auth-card{padding-top:72px}}
@media(max-width:700px){.orivex-contact-card{padding:28px}.orivex-logo-img{height:28px}}
#capabilities.orivex-capabilities .orivex-cap-title,#capabilities.orivex-capabilities .orivex-cap-desc{transition:color .2s ease,height .26s ease,opacity .2s ease}
#capabilities.orivex-capabilities .orivex-cap-progress{transition:width 4.6s linear}
#capabilities.orivex-capabilities .orivex-cap-visual path{transition:stroke-dashoffset 2.45s cubic-bezier(.22,1,.36,1)}
#capabilities.orivex-capabilities .orivex-cap-node{transition:transform .34s cubic-bezier(.34,1.56,.64,1),opacity .2s ease}
@media (prefers-reduced-motion: reduce){
  #capabilities.orivex-capabilities .orivex-cap-progress,#capabilities.orivex-capabilities .orivex-cap-visual path,#capabilities.orivex-capabilities .orivex-cap-node{transition:none!important}
}
#faq button svg{transition:transform .18s ease}
.orivex-faq-answer{padding:0 0 24px;max-width:760px;color:#4b5563;font-size:16px;line-height:1.65}
.orivex-faq-answer p{margin:0}
