:root{--ease-out:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.4,0,1,1);--ease-spring:cubic-bezier(.2,1.45,.5,1)}
.button,.circle-button,.nav-contact,.motion-card{transition:transform .18s var(--ease-out),opacity .18s var(--ease-out)}
.button:active,.circle-button:active{transform:scale(.97)}.motion-card{position:relative}.motion-card:hover{box-shadow:0 18px 40px #0003}.hero-background{transform:translateY(var(--parallax,0px)) scale(1.04);animation:none}
.edge-light{isolation:isolate;overflow:hidden}.edge-orbit{position:absolute;inset:0;z-index:4;pointer-events:none;border:1px solid #c2d4b72e}.edge-orbit:before{content:"";position:absolute;left:0;top:0;width:140px;height:1px;background:linear-gradient(90deg,transparent,#f0c5a3,transparent);animation:edge-travel 9s linear infinite}.card-spot{position:absolute;left:0;top:0;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,#e5dab222,transparent 68%);opacity:0;pointer-events:none;z-index:3;transition:opacity .18s}.edge-light:hover .card-spot{opacity:1}
.shine-button{position:relative;overflow:hidden}.shine-sweep{position:absolute;inset:-30% auto -30% -40%;width:20%;background:linear-gradient(90deg,transparent,#ffffff38,transparent);transform:translateX(-100%) skewX(-18deg);pointer-events:none}.shine-button:hover .shine-sweep,.shine-button:focus-visible .shine-sweep{animation:shine .65s var(--ease-out)}
.type-line{width:max-content;max-width:100%;overflow:hidden;white-space:nowrap;border-right:1px solid #bbc8b6;animation:caret 1s step-end 3;position:relative}.motion-enabled .motion-reveal{opacity:0;transform:translateY(19px);transition:opacity .5s var(--ease-out) var(--stagger,0ms),transform .5s var(--ease-out) var(--stagger,0ms)}.motion-enabled .motion-reveal.is-visible{opacity:1;transform:none}
.media-dialog[open]{animation:dialog-in .26s var(--ease-spring)}.media-dialog::backdrop{animation:veil-in .2s var(--ease-out)}.media-slot.image-loading{overflow:hidden}.image-loading:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent,#ffffff0d,transparent);transform:translateX(-100%);animation:loading-sheen 1.5s infinite}
.motion-story{height:280svh;background:#0c1412;border-top:1px solid #ffffff1c}.story-sticky{position:sticky;top:0;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:100px;padding-bottom:70px}.story-heading{margin-bottom:38px}.story-heading h2{font-size:clamp(28px,3vw,44px);font-weight:500;line-height:1.5;margin-top:12px}.story-heading>p{font-size:14px;color:#91a08f;margin-top:10px}.story-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:7%;align-items:center}.story-screen{position:relative;aspect-ratio:20/9;background:#070c0a;border:1px solid #ffffff18;overflow:hidden}.story-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(1.025);transition:opacity .3s var(--ease-out),transform .5s var(--ease-out)}.story-image.is-active{opacity:1;transform:scale(1)}.story-captions{position:relative;min-height:230px}.story-caption{position:absolute;inset:0;opacity:0;transform:translateY(14px);pointer-events:none;visibility:hidden;transition:opacity .2s var(--ease-in),transform .2s var(--ease-in),visibility .2s}.story-caption.is-active{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .3s var(--ease-out),transform .3s var(--ease-out)}.story-index{font:12px/1.6 Arial;color:#bb9d7e;letter-spacing:.1em}.story-caption h3{font-size:28px;margin:18px 0 13px;font-weight:400}.story-caption p{font-size:15px;color:#a7b2a0;line-height:1.9;max-width:330px}.story-caption a{display:inline-block;margin-top:19px;font-size:13px;color:#d3ddcd}.story-steps{position:absolute;bottom:-15px;display:flex;gap:10px}.story-steps button{width:34px;height:30px;background:none;border:0;padding:12px 0;cursor:pointer}.story-steps button:after{content:"";display:block;height:2px;background:#54604f;transform-origin:left;transition:transform .18s}.story-steps button[aria-pressed=true]:after{background:#e4bb96;transform:scaleY(1.6)}
.studio-ticker{position:relative;overflow:hidden;border-block:1px solid #ffffff20;padding:28px 0;color:#b1bfa9;background:#111b16}.ticker-track{display:flex;width:max-content;animation:marquee 38s linear infinite}.ticker-track>span{font-size:24px;font-weight:400;white-space:nowrap;padding-right:45px;letter-spacing:.02em}.ticker-track i{font-style:normal;color:#d5aa84;margin:0 38px}.studio-ticker:hover .ticker-track,.studio-ticker:focus-within .ticker-track,.studio-ticker.is-paused .ticker-track{animation-play-state:paused}.ticker-toggle{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:1px solid #ffffff40;background:#111b16;color:#d5dcca;z-index:2;cursor:pointer}.studio-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid #34463229;margin-top:30px;padding-top:25px}.studio-facts strong{display:block;font:400 35px/1.3 Arial;font-variant-numeric:tabular-nums;color:#42543b}.studio-facts span{font-size:12px;color:#718165}
@keyframes edge-travel{0%{transform:translateX(-100%)}100%{transform:translateX(var(--edge-width,1200px))}}@keyframes shine{to{transform:translateX(850%) skewX(-18deg)}}@keyframes caret{50%,100%{border-color:transparent}}@keyframes dialog-in{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@keyframes veil-in{from{opacity:0}to{opacity:1}}@keyframes loading-sheen{to{transform:translateX(100%)}}@keyframes marquee{to{transform:translateX(-25%)}}
@media(max-width:760px){.motion-story{height:260svh}.story-sticky{padding-top:95px;padding-bottom:55px}.story-heading{margin-bottom:25px}.story-heading h2{font-size:28px}.story-heading>p{font-size:13px}.story-layout{grid-template-columns:1fr;gap:25px}.story-captions{min-height:230px}.story-caption h3{font-size:24px;margin:12px 0}.story-caption p{font-size:14px;max-width:none}.story-steps{bottom:0}.ticker-track>span{font-size:19px}.ticker-track i{margin:0 22px}.studio-ticker{padding:22px 0}.studio-facts{gap:12px}.studio-facts strong{font-size:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-background,.motion-card,.magnetic{transform:none!important}.motion-reveal{opacity:1!important;transform:none!important}.edge-orbit:before,.shine-sweep,.card-spot{display:none!important}.type-line{border-right:0;white-space:normal}.motion-story{height:auto;padding:65px 0}.story-sticky{position:static;min-height:0;padding-top:0;padding-bottom:0}.story-layout{display:block}.story-screen{display:none}.story-captions{display:grid;gap:30px}.story-caption{position:static;opacity:1;visibility:visible;transform:none;pointer-events:auto}.story-steps{display:none}.story-caption:before{content:"";display:block;aspect-ratio:20/9;background-position:center;background-size:contain;background-repeat:no-repeat;margin-bottom:16px}.story-caption:nth-child(1):before{background-image:url('assets/echo-menu.png')}.story-caption:nth-child(2):before{background-image:url('assets/echo-phone.png')}.story-caption:nth-child(3):before{background-image:url('assets/echo-notifications.jpg')}.ticker-track{width:auto}.ticker-track>span:not(:first-child){display:none}.ticker-track>span{white-space:normal;font-size:17px}.ticker-toggle{display:none}}

.type-ghost{opacity:0}.type-output{position:absolute;inset:0}.edge-orbit:before{top:0}.edge-light{--edge-width:1400px}

.edge-orbit{padding:1px;border:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.edge-orbit:before{inset:-150%;width:auto;height:auto;background:conic-gradient(from 0deg,transparent 0deg,transparent 285deg,#e5b58c 335deg,transparent 360deg);animation:edge-rotate 9s linear infinite}@keyframes edge-rotate{to{transform:rotate(360deg)}}

.button,.circle-button,.nav-contact,.motion-card{transition-property:transform,opacity}.media-dialog:not([open]){animation:none}.story-caption:not(.is-active) a{visibility:hidden}

.site-header{transition:opacity .18s var(--ease-out),transform .18s var(--ease-out)}@media(prefers-reduced-motion:reduce){.story-caption:not(.is-active) a{visibility:visible}}
