/* ETHIN - motion / animation styles (works with js/motion.js) */
/* ETHIN motion-only enhancement: preserve all existing page structure and branding */
#ethin-motion-layer{position:fixed;inset:0;z-index:4;pointer-events:none;overflow:hidden;isolation:isolate}
/* Keep decorative objects behind readable page content without changing the layout. */
#app .wrap,header .nav,footer .wrap{position:relative;z-index:5}
header .hb{padding:10px 16px;border-width:1px;font-size:14px;box-shadow:none}
.hero .cta .btn.o{border:1px solid #d2d4d6;background:rgba(255,255,255,.82);color:#50545a;padding:12px 18px;box-shadow:none;font-weight:600}
.hero .cta .btn.o:hover{border-color:var(--y);background:var(--sy);color:var(--g);transform:translateY(-1px);box-shadow:none}
.dark>svg.wave circle{transform-box:fill-box;transform-origin:center;animation:impactParticleFloat 3.2s ease-in-out infinite alternate;will-change:transform,opacity}
.dark>svg.wave circle:nth-child(3n){animation-duration:2.1s;animation-delay:-.7s}
.dark>svg.wave circle:nth-child(3n + 1){animation-duration:3.8s;animation-delay:-1.4s}
.dark.cursor-active>svg.wave circle{animation-duration:.58s!important;filter:drop-shadow(0 0 3px rgba(245,217,0,.9));}
@keyframes impactParticleFloat{0%{transform:translate3d(-3px,5px,0) scale(.82);opacity:.42}50%{opacity:1}100%{transform:translate3d(4px,-7px,0) scale(1.65);opacity:.92}}
@media(prefers-reduced-motion:reduce){.dark>svg.wave circle{animation:none!important}}
#ethin-motion-layer .ethin-object{position:absolute;z-index:1;width:clamp(118px,17vw,218px);height:auto;max-height:29vh;object-fit:contain;opacity:.10;filter:blur(6px) saturate(.72);transform:translate3d(0,0,0) scale(.88) rotate(var(--tilt,0deg));transition:opacity .55s ease,filter .55s ease,transform .45s cubic-bezier(.2,.8,.2,1);will-change:transform,opacity,filter;mix-blend-mode:multiply}
#ethin-motion-layer .ethin-object.left{left:clamp(-54px,1.3vw,22px)}
#ethin-motion-layer .ethin-object.right{right:clamp(-54px,1.3vw,22px)}
#ethin-motion-layer .ethin-object.is-lit{opacity:.88;filter:blur(0) saturate(1.12) drop-shadow(0 0 17px rgba(245,217,0,.42));transform:translate3d(var(--mx,0px),var(--my,0px),0) scale(1.02) rotate(var(--tilt,0deg))}
#ethin-motion-layer .ethin-object.is-near{opacity:1;filter:blur(0) saturate(1.18) drop-shadow(0 0 24px rgba(245,217,0,.72));transform:translate3d(var(--mx,0px),var(--my,0px),0) scale(1.09) rotate(var(--tilt,0deg))}
#ethin-motion-layer canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.8}
#ethin-motion-layer .ethin-glint{position:absolute;width:5px;height:5px;border-radius:50%;background:#ffe500;box-shadow:0 0 9px 3px rgba(245,217,0,.45);opacity:0;transition:opacity .25s}
#ethin-motion-layer .ethin-glint.show{opacity:.95}
@media(max-width:700px){#ethin-motion-layer .ethin-object{width:clamp(88px,24vw,138px);max-height:19vh;opacity:.11}#ethin-motion-layer .ethin-object.is-lit{opacity:.65}#ethin-motion-layer .ethin-object.is-near{opacity:.82}}
@media(prefers-reduced-motion:reduce){#ethin-motion-layer{display:none!important}}

/* Contact CTA hierarchy: one primary action per viewport; mobile nav CTA only appears inside the opened menu. */
.hm{display:none!important}
header .hb{background:transparent!important;color:#292929!important;border:1px solid #d7d7d7!important;border-radius:999px!important;padding:9px 14px!important;font-weight:600!important}
header .hb:hover{border-color:var(--y)!important;background:rgba(255,224,0,.10)!important}
.hero .cta .btn.o{background:transparent!important;color:#4c4c4c!important;border:1px solid #d6d6d6!important;box-shadow:none!important}
.hero .cta .btn.o:hover{background:rgba(255,224,0,.12)!important;border-color:var(--y)!important}
@media(max-width:800px){#nav.open .hm{display:block!important}}
#ethin-motion-layer .ethin-object{transition:opacity .45s ease,filter .45s ease,transform .5s cubic-bezier(.2,.8,.2,1),visibility .25s ease}
#ethin-motion-layer .ethin-object:not(.is-lit){visibility:hidden!important;opacity:0!important}
