body{margin:0;background:#07090C}
a{color:#3DF5A6}a:hover{color:#9DFFD0}
.outline-word{color:transparent;-webkit-text-stroke:1px rgba(61,245,166,.28)}
.marquee{display:flex;gap:56px;width:max-content;animation:marq 38s linear infinite}
@keyframes marq{to{transform:translateX(-50%)}}
@keyframes up1{to{transform:translate3d(0,-160px,0)}}
@keyframes up2{to{transform:translate3d(0,-340px,0)}}
@keyframes up3{to{transform:translate3d(0,-520px,0)}}
@keyframes down1{to{transform:translate3d(0,180px,0)}}
@keyframes zoomfade{to{transform:scale(1.25);opacity:.15}}
@keyframes drift{from{transform:translateX(8%)}to{transform:translateX(-28%)}}
@keyframes rise{from{transform:translateY(90px);opacity:0}to{transform:none;opacity:1}}
@keyframes inner{from{transform:translateY(-14%)}to{transform:translateY(14%)}}
@keyframes stagger{from{transform:translateY(120px)}to{transform:translateY(-120px)}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@supports (animation-timeline: scroll()){
.p-slow{animation:up1 linear both;animation-timeline:scroll();animation-range:0 1000px}
.p-mid{animation:up2 linear both;animation-timeline:scroll();animation-range:0 1000px}
.p-fast{animation:up3 linear both;animation-timeline:scroll();animation-range:0 1000px}
.p-down{animation:down1 linear both;animation-timeline:scroll();animation-range:0 1000px}
.p-zoom{animation:zoomfade linear both;animation-timeline:scroll();animation-range:0 900px}
.p-drift{animation:drift linear both;animation-timeline:view()}
.reveal{animation:rise linear both;animation-timeline:view();animation-range:entry 0% cover 28%}
.p-inner{animation:inner linear both;animation-timeline:view()}
.p-stagger{animation:stagger linear both;animation-timeline:view()}
.p-grow{transform-origin:left;animation:grow linear both;animation-timeline:view();animation-range:entry 20% cover 50%}
}
@media (max-width:820px){.hide-sm{display:none}.stagger-col{transform:none!important;animation:none!important}}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}
html{scroll-behavior:smooth}
body{color:#E8ECF1}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.flash{margin:0;padding:12px 16px;border-radius:12px;background:rgba(61,245,166,.1);border:1px solid rgba(61,245,166,.35);color:#9DFFD0;font-size:15px}
.flash.dark{background:#07090C;border-color:#07090C;color:#3DF5A6}
.flash.err{background:rgba(7,9,12,.85);border-color:#07090C;color:#FFB3B3}
.contact-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;flex:1 1 180px;min-width:0}
.contact-form .row2{display:flex;flex-wrap:wrap;gap:14px}
.contact-form input,.contact-form select,.contact-form textarea{min-height:50px;padding:12px 16px;border-radius:14px;border:1.5px solid rgba(4,18,11,.35);background:rgba(255,255,255,.55);color:#04120B;font:inherit;font-size:16px;width:100%;box-sizing:border-box}
.contact-form textarea{resize:vertical;min-height:130px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid #04120B;outline-offset:1px;background:#fff}
/* JS fallback for browsers without scroll-driven animations */
.js-parallax .reveal{transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.js-parallax .reveal:not(.in){opacity:0;transform:translateY(60px)}
