/* Reazh India motion layer. Content stays visible if JavaScript is unavailable. */
.hero-line{display:block}
.hero-line-inner{display:inline-block}
.hero-motion-backdrop{position:absolute;inset:0;overflow:clip;pointer-events:none}
.hero-motion-backdrop .orbit-sweep{stroke:#773de7;stroke-width:2;stroke-dasharray:95 905;stroke-linecap:round;opacity:0}
.ribbon-copy{display:none}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:90;pointer-events:none}
.scroll-progress>span{display:block;width:100%;height:100%;background:#773de7;transform-origin:left;transform:scaleX(var(--page-progress,0));transition:transform 90ms linear}
.site-header{position:sticky;top:0;background:#f7f7f2f5;transition:box-shadow 280ms,background 280ms}
.site-header.is-scrolled{box-shadow:0 5px 25px #22232109;background:#f7f7f2fa}
section[id]{scroll-margin-top:115px}
.site-nav>a{position:relative}
.site-nav>a::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:#773de7;transform:scaleX(0);transform-origin:left;transition:transform 250ms}
.site-nav>a:hover::after,.site-nav>a:focus-visible::after{transform:scaleX(1)}
.button{position:relative;isolation:isolate;overflow:hidden}
.button::before{content:"";position:absolute;z-index:-1;inset:-50% -10%;background:linear-gradient(110deg,transparent 35%,#ffffff29 48%,transparent 62%);translate:-125% 0;transition:translate 600ms}
.button:hover::before,.button:focus-visible::before{translate:125% 0}
.button>span,.card-link>span,.text-link>span:last-child{transition:translate 250ms}
.button:hover>span,.card-link:hover>span,.text-link:hover>span:last-child{translate:3px -3px}
.menu-toggle>span{transition:rotate 220ms,translate 220ms}
.menu-toggle[aria-expanded="true"]>span:first-child{translate:0 3.5px;rotate:45deg}
.menu-toggle[aria-expanded="true"]>span:last-child{translate:0 -3.5px;rotate:-45deg}
.service-card{transition:translate 350ms,box-shadow 350ms,border-color 350ms}
.service-card .brand-window,.service-card .lead-node,.service-card .task-slip{transition:translate 350ms,rotate 350ms}
.site-footer{padding-bottom:75px}
.motion-toggle{position:fixed;right:18px;bottom:18px;z-index:45;display:flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:11px 15px;border:1px solid #d8dacd;border-radius:30px;background:#fffffff2;box-shadow:0 4px 17px #22232110;color:#34352f;font-size:10px;font-weight:600;letter-spacing:.2px}
.motion-toggle[hidden]{display:none!important}
.motion-toggle:hover{border-color:#773de7;color:#773de7}
.motion-toggle[aria-pressed="true"]{background:#773de7;border-color:#773de7;color:#fff}
.motion-control-icon{display:flex;align-items:center;gap:3px;width:12px;height:12px}
.motion-control-icon i{height:10px;width:3px;border-radius:1px;background:currentColor}
.motion-toggle[aria-pressed="true"] .motion-control-icon{width:12px;height:12px;display:block}
.motion-toggle[aria-pressed="true"] .motion-control-icon i:first-child{display:block;width:0;height:0;background:none;border-left:8px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent;border-radius:0}
.motion-toggle[aria-pressed="true"] .motion-control-icon i:last-child{display:none}

.motion-enabled .hero-line-inner{animation:headline-arrive 850ms cubic-bezier(.16,1,.3,1) both;animation-delay:var(--line-delay,0ms)}
.motion-enabled .hero-copy>.eyebrow{animation:element-arrive 650ms 40ms both}
.motion-enabled .hero-description{animation:element-arrive 750ms 390ms both}
.motion-enabled .hero-actions{animation:element-arrive 750ms 510ms both}
.motion-enabled .hero-footnote{animation:element-arrive 750ms 640ms both}
.motion-enabled .hero-phone{animation:device-arrive 1100ms 250ms cubic-bezier(.16,1,.3,1) both}
.motion-enabled .growth-word path{stroke-dasharray:1;stroke-dashoffset:1;animation:underline-draw 900ms 850ms ease-out both}
.motion-enabled .purple-shape{animation:purple-drift 13s ease-in-out infinite}
.motion-enabled .lime-orbit{animation:lime-drift 11s ease-in-out infinite}
.motion-enabled .orbit-sweep{opacity:1;animation:orbit-travel 14s linear infinite}
.motion-enabled .hero-art .top-label{animation:callout-float 6s ease-in-out infinite}
.motion-enabled .hero-art .bottom-label{animation:callout-float 7s 700ms ease-in-out infinite reverse}
.motion-enabled .art-star,.motion-enabled .mini-spark,.motion-enabled .contact-spark,.motion-enabled .about-stamp>span{animation:spark-turn 26s linear infinite}
.contact-spark{width:max-content;transform-origin:center}
.motion-enabled .contact-spark{animation-duration:38s}
.motion-enabled .live-dot{animation:dot-breathe 3s ease-in-out infinite}
.motion-enabled .lead-illustration path{animation:connector-travel 9s linear infinite}
.motion-enabled .faq-bulb{animation:bulb-nod 8s ease-in-out infinite}
.motion-enabled .ribbon-content>img{animation:spark-turn 16s linear infinite}
.motion-enabled [data-motion-loop]{animation-play-state:paused}
.motion-enabled .motion-region.is-inview [data-motion-loop]{animation-play-state:running}
.motion-enabled .ribbon-track{display:flex;width:max-content;animation:ribbon-travel 30s linear infinite;animation-play-state:paused}
.motion-enabled .value-ribbon{overflow:hidden}
.motion-enabled .value-ribbon.is-inview .ribbon-track{animation-play-state:running}
.motion-enabled .ribbon-content{width:max-content;min-width:100vw;margin:0;padding-inline:42px;gap:48px;flex-wrap:nowrap;justify-content:space-around;flex-shrink:0}
.motion-enabled .ribbon-content>span{white-space:nowrap}
.motion-enabled .ribbon-copy{display:flex}
.motion-enabled .ribbon-content>img{display:block;width:17px;height:17px;flex-shrink:0}
.motion-enabled .reveal{opacity:0;translate:0 30px;transition:opacity 750ms cubic-bezier(.16,1,.3,1),translate 750ms cubic-bezier(.16,1,.3,1),box-shadow 350ms,border-color 350ms;transition-delay:var(--reveal-delay,0ms)}
.motion-enabled .reveal.has-revealed{opacity:1;translate:0 0}
.motion-enabled:not(.motion-paused) .service-card.has-revealed .brand-window{animation:artwork-arrive 800ms 140ms backwards}
.motion-enabled:not(.motion-paused) .service-card.has-revealed .task-slip{animation:task-arrive 650ms backwards}
.motion-enabled .service-card.has-revealed .task-slip:nth-child(2){animation-delay:110ms}
.motion-enabled .service-card.has-revealed .task-slip:nth-child(3){animation-delay:220ms}
.motion-enabled:not(.motion-paused) .screenshot-panel:not([hidden]){animation:screen-arrive 380ms ease-out both}
.motion-enabled:not(.motion-paused) .screenshot-dialog[open]{animation:dialog-arrive 220ms cubic-bezier(.16,1,.3,1) both}
.motion-enabled:not(.motion-paused) .screenshot-dialog[open]::backdrop{animation:backdrop-arrive 220ms both}
.motion-paused [data-motion-loop],.preview-open [data-motion-loop],.page-idle [data-motion-loop]{animation-play-state:paused!important}
.motion-paused .reveal{opacity:1;translate:0 0;transition:none}
.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important;transition-duration:0s!important;scroll-behavior:auto!important}

@keyframes headline-arrive{from{opacity:0;translate:0 38px}to{opacity:1;translate:0 0}}
@keyframes element-arrive{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@keyframes device-arrive{from{opacity:0;translate:0 42px}to{opacity:1;translate:0 0}}
@keyframes underline-draw{to{stroke-dashoffset:0}}
@keyframes purple-drift{0%,100%{transform:translate3d(0,0,0) rotate(-13deg)}50%{transform:translate3d(8px,-11px,0) rotate(-9deg)}}
@keyframes lime-drift{0%,100%{transform:translate3d(0,0,0) rotate(-20deg)}50%{transform:translate3d(-7px,9px,0) rotate(-25deg)}}
@keyframes orbit-travel{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
@keyframes callout-float{0%,100%{translate:0 0}50%{translate:0 -8px}}
@keyframes spark-turn{from{rotate:0deg}to{rotate:360deg}}
@keyframes dot-breathe{0%,100%{opacity:1;scale:1}50%{opacity:.5;scale:1.18}}
@keyframes connector-travel{from{stroke-dashoffset:80}to{stroke-dashoffset:0}}
@keyframes bulb-nod{0%,75%,100%{rotate:0deg}80%{rotate:-9deg}86%{rotate:8deg}92%{rotate:-4deg}}
@keyframes ribbon-travel{to{transform:translateX(-50%)}}
@keyframes artwork-arrive{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@keyframes task-arrive{from{opacity:0;translate:-15px 0}to{opacity:1;translate:0 0}}
@keyframes screen-arrive{from{opacity:.2;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes dialog-arrive{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@keyframes backdrop-arrive{from{opacity:0}to{opacity:1}}

@media(hover:hover) and (pointer:fine){
  .motion-enabled .service-card.has-revealed:hover,.service-card:focus-within{translate:0 -7px;box-shadow:0 18px 35px #2420240b;border-color:#c9b4ed;transition-delay:0ms}
  .brand-card:hover .brand-window{rotate:5deg;translate:0 -4px}
  .lead-card:hover .lead-node.one,.lead-card:hover .lead-node.three{translate:0 -4px}
  .lead-card:hover .lead-node.two,.lead-card:hover .lead-node.four{translate:0 4px}
  .project-card:hover .task-slip:nth-child(2){translate:5px 0}
  .value-ribbon:hover [data-motion-loop]{animation-play-state:paused!important}
}
@media(max-width:700px){
  section[id]{scroll-margin-top:95px}
  .motion-enabled .ribbon-content{gap:28px;padding-inline:25px;font-size:9px;letter-spacing:.8px;max-width:none}
  .motion-enabled .ribbon-content>img{display:block!important;width:13px;height:13px}
  .motion-enabled .reveal{translate:0 20px;transition-duration:600ms}
  .motion-enabled .reveal.has-revealed{translate:0 0}
  .motion-enabled .hero-line-inner{animation-duration:700ms}
  .motion-enabled .hero-phone{animation-duration:850ms}
  .motion-toggle{right:12px;bottom:max(12px,env(safe-area-inset-bottom));padding:10px 12px;font-size:9px;min-height:40px}
}
@media(prefers-reduced-motion:reduce){
  .hero-line-inner,.reveal{opacity:1!important;translate:none!important}
  .motion-toggle,.scroll-progress{display:none!important}
  .ribbon-copy{display:none!important}
  .ribbon-track{animation:none!important;transform:none!important;display:block!important;width:auto!important}
  .ribbon-content{min-width:0!important;white-space:normal!important;flex-wrap:wrap!important}
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
