.custom-cursor{display:none}@media (hover:hover) and (pointer:fine){.custom-cursor{display:block;position:fixed;top:0;left:0;pointer-events:none;z-index:99999}.cursor-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--black);transform:translate(-50%,-50%);transition:width .3s var(--ease-spring),height .3s var(--ease-spring),background .3s}.cursor-ring{position:absolute;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);mix-blend-mode:difference;transform:translate(-50%,-50%);transition:width .4s var(--ease-spring),height .4s var(--ease-spring),border-color .3s;z-index:9999}body.cursor-hover .cursor-dot{width:14px;height:14px;background:var(--accent)}body.cursor-hover .cursor-ring{width:56px;height:56px;border-color:var(--accent)}body:not(.touch-device) *{}}.loader{transition:opacity .6s var(--ease),visibility 0s .7s}.loader-letter{animation:letterUp .6s var(--ease) both}.loader-letter:first-child{animation-delay:80ms}.loader-letter:nth-child(2){animation-delay:.14s}.loader-letter:nth-child(3){animation-delay:.2s}.loader-letter:nth-child(4){animation-delay:.26s}.loader-letter:nth-child(5){animation-delay:.32s}@keyframes letterUp{from{transform:translateY(110%);opacity:0}to{transform:translateY(0);opacity:1}}.loader-line::after{content:'';display:block;width:100%;height:100%;background:var(--accent);animation:loadBar 1.5s var(--ease-smooth) .4s both}@keyframes loadBar{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}.header-nav-link{transition:color .3s;position:relative}.header-nav-link::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--accent);transition:width .4s var(--ease)}.header-nav-link.active,.header-nav-link:hover{color:var(--black)}.header-nav-link.active::after,.header-nav-link:hover::after{width:100%}.header-cta{transition:all .35s var(--ease)}.header-cta:hover{background:var(--accent);color:var(--white);border-color:var(--accent);box-shadow:0 4px 20px var(--accent-glow)}.header-burger span{transition:all .35s var(--ease)}.header-burger.active span:first-child{transform:rotate(45deg) translate(2.5px,2.5px)}.header-burger.active span:last-child{transform:rotate(-45deg) translate(2.5px,-2.5px)}.mobile-nav{transition:opacity .4s,visibility 0s .4s}.mobile-nav.open{transition:opacity .4s}.mobile-nav-link span{display:block;transform:translateY(110%);transition:transform .5s var(--ease)}.mobile-nav.open .mobile-nav-link span{transform:translateY(0)}.mobile-nav.open .mobile-nav-link:first-child span{transition-delay:60ms}.mobile-nav.open .mobile-nav-link:nth-child(2) span{transition-delay:0.10s}.mobile-nav.open .mobile-nav-link:nth-child(3) span{transition-delay:0.14s}.mobile-nav.open .mobile-nav-link:nth-child(4) span{transition-delay:0.18s}.mobile-nav.open .mobile-nav-link:nth-child(5) span{transition-delay:0.22s}.hero::before{content:'';position:absolute;top:-20%;right:-15%;width:clamp(300px,50vw,600px);height:clamp(300px,50vw,600px);background:radial-gradient(circle,var(--accent-glow) 0,transparent 70%);filter:blur(100px);pointer-events:none;animation:heroGlow 10s ease-in-out infinite alternate}.hero::after{content:'';position:absolute;bottom:-15%;left:-10%;width:clamp(250px,40vw,500px);height:clamp(250px,40vw,500px);background:radial-gradient(circle,rgba(193,127,78,.06) 0,transparent 70%);filter:blur(80px);pointer-events:none}@keyframes heroGlow{0%{transform:translate(0,0)}100%{transform:translate(-30px,20px)}}.hero-eyebrow{margin-bottom:clamp(24px,4vh,72px);opacity:0;animation:fadeIn .8s var(--ease) 2s forwards}@keyframes fadeIn{to{opacity:1}}.reveal-text{display:inline-block;transform:translateY(120%);opacity:0;animation:textUp .9s var(--ease) forwards}.hero-line:first-child .reveal-text:nth-child(1){animation-delay:2.1s}.hero-line:nth-child(2) .reveal-text:first-child{animation-delay:2.2s}.hero-line:nth-child(2) .reveal-text:nth-child(2){animation-delay:2.25s}.hero-line:nth-child(3) .reveal-text:first-child{animation-delay:2.3s}.hero-line:nth-child(3) .reveal-text:nth-child(2){animation-delay:2.35s}@keyframes textUp{to{transform:translateY(0);opacity:1}}.reveal-up{opacity:0;transform:translateY(36px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal-up.visible{opacity:1;transform:translateY(0)}.hero-scroll-line{width:1px;height:50px;background:linear-gradient(to bottom,var(--accent),transparent);animation:scrollP 2s ease-in-out infinite}@keyframes scrollP{0%,100%{opacity:1;transform:scaleY(1)}50%{opacity:.2;transform:scaleY(.4);transform-origin:top}}.cta-button{transition:all .35s var(--ease)}.cta-button:hover{transform:translateY(-2px);box-shadow:0 12px 40px var(--accent-glow);background:var(--accent-dark)}.cta-icon{transition:transform .3s var(--ease)}.cta-button:hover .cta-icon{transform:translate(2px,-2px)}.cta-link{transition:color .3s}.cta-link:hover{color:var(--accent)}.cta-link svg{transition:transform .3s var(--ease)}.cta-link:hover svg{transform:translateX(4px)}.ticker-track{animation:tickScroll 22s linear infinite}@keyframes tickScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}.about-highlight::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--accent);opacity:.15}.service-row{transition:all .35s var(--ease);position:relative}.service-row::before{content:'';position:absolute;inset:0 -24px;border-radius:12px;background:var(--accent-bg);opacity:0;transition:opacity .35s;pointer-events:none}.service-row:hover::before{opacity:1}.service-row:hover{padding-left:8px}.service-name{transition:color .3s;position:relative;z-index:1}.service-row:hover .service-name{color:var(--accent-dark)}.service-arrow{color:var(--light-text);transition:all .35s var(--ease);position:relative;z-index:1}.service-row:hover .service-arrow{color:var(--accent);transform:translate(3px,-3px)}.carousel-btn{transition:all .3s var(--ease)}.carousel-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg);transform:scale(1.06)}.carousel-btn:active{transform:scale(.96)}.carousel-track{transition:transform .65s var(--ease);will-change:transform}.carousel-slide{transition:transform .55s var(--ease),box-shadow .55s var(--ease),opacity .55s var(--ease),filter .55s var(--ease);transform:scale(.85);opacity:.5;filter:brightness(.92)}.carousel-slide.is-center{transform:scale(1.12);opacity:1;filter:brightness(1);box-shadow:0 24px 80px rgba(0,0,0,.1),0 6px 20px rgba(193,127,78,.08);z-index:5;border-color:var(--accent-border)}.carousel-slide.is-near{transform:scale(.92);opacity:.75;filter:brightness(.96)}.carousel-slide.is-center:hover .carousel-slide-img img{transform:scale(1.05)}.carousel-slide-img img{transition:transform .6s var(--ease)}.clients-marquee-track{animation:var(--marquee-animation) 30s linear infinite}.clients-marquee[data-direction=left] .clients-marquee-track{--marquee-animation:marqueeLeft}.clients-marquee[data-direction=right] .clients-marquee-track{--marquee-animation:marqueeRight}@keyframes marqueeLeft{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}@keyframes marqueeRight{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}.client-logo-item{transition:all .3s ease}.team-member{transition:transform .3s ease}.team-member:hover{transform:translateY(-8px)}.team-member-link{transition:all .3s ease}.team-member-link:hover{color:var(--accent-dark)}.contact-channel{transition:all .3s ease;background:var(--off-white)}.contact-channel:hover{background:var(--accent-bg);transform:translateX(4px)}footer a{transition:color .3s}footer a:hover{color:var(--accent)}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}}