<!--
RESAAGAR HOMEPAGE REDESIGN
Paste this complete file into ONE Elementor HTML widget.
The existing WordPress header and footer are intentionally not duplicated.
-->
<meta charset="UTF-8">
<style>
@font-face {
font-family: "ResaagarVazir";
src: url("https://resaagar.ir/wp-content/uploads/2025/08/Vazirmatn-FD-Medium.woff2") format("woff2");
font-style: normal;
font-weight: 400 600;
font-display: swap;
}
@font-face {
font-family: "ResaagarVazir";
src: url("https://resaagar.ir/wp-content/uploads/2025/08/Vazirmatn-FD-Bold.woff2") format("woff2");
font-style: normal;
font-weight: 700 900;
font-display: swap;
}
#resaagar-home {
--rs-ink: #06123f;
--rs-navy: #001a6e;
--rs-blue: #1557ff;
--rs-blue-2: #68a4ff;
--rs-lime: #dfffb0;
--rs-coral: #ff605e;
--rs-paper: #f2f6fb;
--rs-white: #ffffff;
--rs-night: #030713;
--rs-night-2: #07112a;
--rs-muted: #a9b4d0;
--rs-border: rgba(255, 255, 255, 0.13);
--rs-radius: 30px;
--rs-ease: cubic-bezier(.16, 1, .3, 1);
--rs-mx: 50%;
--rs-my: 22%;
position: relative;
isolation: isolate;
width: 100%;
overflow: clip;
direction: rtl;
color: var(--rs-white);
background: var(--rs-night);
font-family: "ResaagarVazir", Vazirmatn, Tahoma, sans-serif;
font-size: 16px;
line-height: 1.75;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
}
#resaagar-home,
#resaagar-home *,
#resaagar-home *::before,
#resaagar-home *::after {
box-sizing: border-box;
}
#resaagar-home a {
color: inherit;
text-decoration: none;
}
#resaagar-home img {
display: block;
max-width: 100%;
}
#resaagar-home button,
#resaagar-home input {
font: inherit;
}
#resaagar-home button,
#resaagar-home summary,
#resaagar-home a {
-webkit-tap-highlight-color: transparent;
}
#resaagar-home ::selection {
color: var(--rs-night);
background: var(--rs-lime);
}
#resaagar-home .rs-container {
width: min(1240px, calc(100% - 48px));
margin-inline: auto;
}
#resaagar-home .rs-sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
#resaagar-home .rs-scroll-progress {
position: fixed;
z-index: 9999;
top: 0;
right: 0;
width: 0;
height: 3px;
pointer-events: none;
background: linear-gradient(90deg, var(--rs-lime), var(--rs-blue-2), var(--rs-coral));
box-shadow: 0 0 24px rgba(104, 164, 255, .75);
}
#resaagar-home .rs-loader {
position: fixed;
z-index: 10000;
inset: 0;
display: grid;
place-items: center;
overflow: hidden;
color: var(--rs-white);
background:
radial-gradient(650px circle at 50% 50%, rgba(21,87,255,.28), transparent 62%),
var(--rs-night);
transition: transform 1.05s var(--rs-ease), visibility 1.05s;
animation: rs-loader-safety 0s 4s forwards;
}
#resaagar-home .rs-loader::before {
position: absolute;
inset: 0;
opacity: .2;
background-image:
linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
background-size: 70px 70px;
content: "";
}
#resaagar-home .rs-loader--done {
visibility: hidden;
transform: translateY(-105%);
}
#resaagar-home .rs-loader__inner {
position: relative;
z-index: 2;
display: grid;
place-items: center;
width: min(560px, calc(100% - 40px));
text-align: center;
}
#resaagar-home .rs-loader__logo {
width: 72px;
height: 72px;
padding: 8px;
border-radius: 22px;
background: var(--rs-lime);
box-shadow: 0 0 70px rgba(223,255,176,.32);
animation: rs-loader-logo 1s var(--rs-ease) infinite alternate;
}
#resaagar-home .rs-loader__word {
margin-top: 20px;
font-size: clamp(30px, 6vw, 58px);
font-weight: 900;
letter-spacing: -.04em;
}
#resaagar-home .rs-loader__meta {
display: flex;
align-items: center;
width: 100%;
gap: 16px;
margin-top: 30px;
color: #8f9ab5;
direction: ltr;
font-size: 12px;
font-weight: 800;
letter-spacing: .16em;
}
#resaagar-home .rs-loader__bar {
position: relative;
flex: 1;
height: 2px;
overflow: hidden;
background: rgba(255,255,255,.13);
}
#resaagar-home .rs-loader__bar i {
position: absolute;
inset: 0;
background: linear-gradient(90deg, var(--rs-blue), var(--rs-lime));
transform: scaleX(0);
transform-origin: left;
}
#resaagar-home .rs-motion-toggle {
position: fixed;
z-index: 9998;
bottom: 20px;
left: 20px;
display: inline-flex;
align-items: center;
gap: 9px;
min-height: 44px;
padding: 0 15px;
border: 1px solid rgba(255,255,255,.18);
border-radius: 999px;
color: var(--rs-white);
background: rgba(3,7,19,.72);
box-shadow: 0 14px 40px rgba(0,0,0,.25);
backdrop-filter: blur(15px);
cursor: pointer;
font-size: 11px;
font-weight: 800;
}
#resaagar-home .rs-motion-toggle i {
position: relative;
width: 28px;
height: 16px;
border-radius: 999px;
background: var(--rs-lime);
}
#resaagar-home .rs-motion-toggle i::after {
position: absolute;
top: 3px;
right: 3px;
width: 10px;
height: 10px;
border-radius: 50%;
background: var(--rs-night);
content: "";
transition: transform .3s var(--rs-ease);
}
#resaagar-home[data-motion="reduced"] .rs-motion-toggle i {
background: #68728b;
}
#resaagar-home[data-motion="reduced"] .rs-motion-toggle i::after {
transform: translateX(-12px);
}
#resaagar-home .rs-cursor {
position: fixed;
z-index: 9997;
top: 0;
left: 0;
width: 34px;
height: 34px;
margin: -17px 0 0 -17px;
border: 1px solid rgba(223,255,176,.7);
border-radius: 50%;
pointer-events: none;
opacity: 0;
mix-blend-mode: difference;
transition: width .3s var(--rs-ease), height .3s var(--rs-ease), margin .3s var(--rs-ease), opacity .25s ease, background-color .3s ease;
}
#resaagar-home .rs-cursor.rs-cursor--active {
width: 64px;
height: 64px;
margin: -32px 0 0 -32px;
background: rgba(255,255,255,.14);
}
#resaagar-home .rs-particles {
position: absolute;
z-index: 1;
inset: 0;
width: 100%;
height: 100%;
pointer-events: none;
opacity: .72;
}
#resaagar-home .rs-hero__ghost {
position: absolute;
z-index: 1;
bottom: 95px;
left: -3vw;
color: rgba(255,255,255,.025);
font-family: Arial, sans-serif;
font-size: clamp(120px, 21vw, 330px);
font-weight: 900;
line-height: .7;
letter-spacing: -.08em;
white-space: nowrap;
pointer-events: none;
-webkit-text-stroke: 1px rgba(255,255,255,.07);
}
#resaagar-home .rs-kicker {
display: inline-flex;
align-items: center;
gap: 10px;
margin: 0 0 20px;
color: var(--rs-blue-2);
font-size: 13px;
font-weight: 700;
letter-spacing: .09em;
}
#resaagar-home .rs-kicker::before {
width: 9px;
height: 9px;
border-radius: 50%;
background: currentColor;
box-shadow: 0 0 0 7px color-mix(in srgb, currentColor 14%, transparent);
content: "";
}
#resaagar-home .rs-section-title {
max-width: 950px;
margin: 0;
font-size: clamp(44px, 7vw, 102px);
font-weight: 900;
line-height: .98;
letter-spacing: -.055em;
}
#resaagar-home .rs-section-copy {
max-width: 620px;
margin: 24px 0 0;
color: #b7c0d7;
font-size: clamp(17px, 1.4vw, 21px);
line-height: 1.9;
}
#resaagar-home .rs-btn {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 58px;
padding: 0 27px;
overflow: hidden;
border: 1px solid transparent;
border-radius: 999px;
font-weight: 800;
line-height: 1;
transition: transform .45s var(--rs-ease), border-color .35s ease, background-color .35s ease, color .35s ease;
}
#resaagar-home .rs-btn > span {
position: relative;
z-index: 2;
display: inline-flex;
align-items: center;
gap: 12px;
}
#resaagar-home .rs-btn > span::after {
content: "↙";
font-size: 20px;
transition: transform .35s var(--rs-ease);
}
#resaagar-home .rs-btn::before {
position: absolute;
inset: auto 0 0;
height: 0;
border-radius: 50% 50% 0 0;
background: var(--rs-white);
content: "";
transition: height .5s var(--rs-ease), border-radius .5s var(--rs-ease);
}
#resaagar-home .rs-btn:hover > span::after {
transform: translate(-4px, 4px);
}
#resaagar-home .rs-btn:hover::before {
height: 160%;
border-radius: 0;
}
#resaagar-home .rs-btn--primary {
color: var(--rs-night);
background: var(--rs-lime);
box-shadow: 0 18px 55px rgba(184, 255, 77, .16);
}
#resaagar-home .rs-btn--primary:hover {
color: var(--rs-night);
}
#resaagar-home .rs-btn--ghost {
color: var(--rs-white);
border-color: var(--rs-border);
background: rgba(255, 255, 255, .045);
backdrop-filter: blur(12px);
}
#resaagar-home .rs-btn--ghost:hover {
color: var(--rs-night);
border-color: var(--rs-white);
}
#resaagar-home .rs-hero {
position: relative;
display: grid;
align-items: center;
min-height: min(900px, 100svh);
padding: clamp(80px, 8vw, 125px) 0 80px;
overflow: hidden;
background:
radial-gradient(700px circle at var(--rs-mx) var(--rs-my), rgba(34, 102, 255, .25), transparent 46%),
radial-gradient(900px circle at 6% 3%, rgba(223, 255, 176, .11), transparent 42%),
linear-gradient(135deg, #030713 0%, #07112a 56%, #030713 100%);
}
#resaagar-home .rs-hero::before {
position: absolute;
inset: 0;
opacity: .22;
pointer-events: none;
background-image:
linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
background-size: 72px 72px;
-webkit-mask-image: linear-gradient(to bottom, #000, transparent 82%);
mask-image: linear-gradient(to bottom, #000, transparent 82%);
content: "";
}
#resaagar-home .rs-hero::after {
position: absolute;
bottom: -160px;
left: 50%;
width: 120%;
height: 300px;
border-radius: 50%;
background: var(--rs-paper);
transform: translateX(-50%);
content: "";
}
#resaagar-home .rs-hero__inner {
position: relative;
z-index: 2;
display: grid;
grid-template-columns: minmax(0, 1.12fr) minmax(370px, .88fr);
align-items: center;
gap: clamp(30px, 5vw, 90px);
}
#resaagar-home .rs-brand-chip {
display: inline-flex;
align-items: center;
gap: 12px;
width: fit-content;
margin-bottom: 26px;
padding: 8px 13px 8px 17px;
border: 1px solid var(--rs-border);
border-radius: 999px;
color: #d9e2f8;
background: rgba(255, 255, 255, .045);
backdrop-filter: blur(12px);
font-size: 13px;
font-weight: 700;
}
#resaagar-home .rs-brand-chip img {
width: 32px;
height: 32px;
padding: 4px;
border-radius: 10px;
background: var(--rs-lime);
object-fit: contain;
}
#resaagar-home .rs-brand-chip i {
width: 7px;
height: 7px;
border-radius: 50%;
background: #4cff87;
box-shadow: 0 0 18px #4cff87;
}
#resaagar-home .rs-hero h1 {
margin: 0;
color: var(--rs-white);
font-size: clamp(58px, 7.7vw, 126px);
font-weight: 900;
line-height: .88;
letter-spacing: -.065em;
}
#resaagar-home .rs-hero h1 .rs-line {
display: block;
}
#resaagar-home .rs-hero h1 .rs-line--outline {
color: transparent;
-webkit-text-stroke: 1.5px rgba(255, 255, 255, .75);
text-stroke: 1.5px rgba(255, 255, 255, .75);
}
#resaagar-home .rs-hero h1 .rs-line--lime {
color: var(--rs-lime);
}
#resaagar-home .rs-hero__lead {
max-width: 670px;
margin: 30px 0 0;
color: #b9c3db;
font-size: clamp(17px, 1.25vw, 20px);
line-height: 1.95;
}
#resaagar-home .rs-hero__lead strong {
color: var(--rs-white);
}
#resaagar-home .rs-hero__actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 34px;
}
#resaagar-home .rs-hero__proof {
display: flex;
align-items: center;
gap: 24px;
margin-top: 36px;
color: #8f9ab5;
font-size: 13px;
}
#resaagar-home .rs-hero__proof strong {
display: block;
color: var(--rs-white);
font-size: 23px;
line-height: 1.2;
}
#resaagar-home .rs-hero__proof span + span {
padding-right: 24px;
border-right: 1px solid var(--rs-border);
}
#resaagar-home .rs-orbit-wrap {
position: relative;
display: grid;
place-items: center;
aspect-ratio: 1;
}
#resaagar-home .rs-orbit-glow {
position: absolute;
inset: 10%;
border-radius: 50%;
opacity: .9;
background:
radial-gradient(circle at 35% 30%, rgba(255,255,255,.9) 0 1%, transparent 2%),
conic-gradient(from 30deg, #1557ff, #dfffb0, #ff605e, #6c4cff, #1557ff);
filter: blur(42px) saturate(1.35);
animation: rs-breathe 5s ease-in-out infinite alternate;
}
#resaagar-home .rs-orbit {
position: relative;
z-index: 2;
display: grid;
place-items: center;
width: 78%;
aspect-ratio: 1;
border: 1px solid rgba(255,255,255,.2);
border-radius: 50%;
background:
radial-gradient(circle at 50% 42%, rgba(255,255,255,.13), transparent 48%),
rgba(2, 7, 20, .55);
box-shadow: inset 0 0 80px rgba(52, 105, 255, .15), 0 40px 100px rgba(0,0,0,.45);
backdrop-filter: blur(13px);
}
#resaagar-home .rs-orbit::before,
#resaagar-home .rs-orbit::after {
position: absolute;
inset: -12%;
border: 1px solid rgba(255,255,255,.16);
border-radius: 50%;
content: "";
}
#resaagar-home .rs-orbit::before {
transform: rotateX(66deg) rotateZ(18deg);
}
#resaagar-home .rs-orbit::after {
transform: rotateY(66deg) rotateZ(-22deg);
}
#resaagar-home .rs-orbit__image {
position: relative;
z-index: 3;
width: 92%;
aspect-ratio: 1;
object-fit: contain;
filter: saturate(1.1) drop-shadow(0 28px 42px rgba(0, 0, 0, .4));
animation: rs-float 5.5s ease-in-out infinite;
}
#resaagar-home .rs-orbit__label {
position: absolute;
z-index: 5;
display: grid;
place-items: center;
min-width: 86px;
height: 42px;
padding: 0 16px;
border: 1px solid var(--rs-border);
border-radius: 999px;
color: #e8eeff;
background: rgba(5, 12, 34, .75);
backdrop-filter: blur(14px);
font-size: 11px;
font-weight: 800;
letter-spacing: .15em;
box-shadow: 0 15px 38px rgba(0,0,0,.2);
}
#resaagar-home .rs-orbit__label--a { top: 9%; left: 4%; }
#resaagar-home .rs-orbit__label--b { right: -1%; bottom: 23%; }
#resaagar-home .rs-orbit__label--c { bottom: 6%; left: 15%; }
#resaagar-home .rs-scroll-cue {
position: absolute;
z-index: 4;
bottom: 116px;
left: 50%;
display: grid;
place-items: center;
width: 36px;
height: 58px;
border: 1px solid rgba(255,255,255,.25);
border-radius: 999px;
transform: translateX(-50%);
}
#resaagar-home .rs-scroll-cue::before {
width: 5px;
height: 10px;
border-radius: 10px;
background: var(--rs-lime);
animation: rs-scroll-cue 1.8s ease-in-out infinite;
content: "";
}
#resaagar-home .rs-ticker {
position: relative;
z-index: 5;
overflow: hidden;
color: var(--rs-night);
background: var(--rs-lime);
transform: rotate(-1.2deg) scale(1.02);
}
#resaagar-home .rs-ticker__track {
display: flex;
width: max-content;
direction: ltr;
animation: rs-ticker 24s linear infinite;
}
#resaagar-home .rs-ticker__group {
display: flex;
align-items: center;
flex-shrink: 0;
gap: 28px;
padding: 18px 14px;
direction: rtl;
font-size: clamp(15px, 1.5vw, 20px);
font-weight: 900;
white-space: nowrap;
}
#resaagar-home .rs-ticker__group i {
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--rs-blue);
}
#resaagar-home .rs-manifesto {
position: relative;
z-index: 3;
padding: clamp(130px, 15vw, 230px) 0 clamp(100px, 12vw, 185px);
color: var(--rs-ink);
background: var(--rs-paper);
}
#resaagar-home .rs-manifesto__eyebrow {
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
margin-bottom: clamp(42px, 6vw, 80px);
color: #55617d;
font-size: 13px;
font-weight: 800;
}
#resaagar-home .rs-manifesto__eyebrow::after {
width: min(52vw, 700px);
height: 1px;
background: rgba(6, 18, 63, .17);
content: "";
}
#resaagar-home .rs-manifesto__title {
max-width: 1120px;
margin: 0;
font-size: clamp(48px, 8.1vw, 125px);
font-weight: 900;
line-height: 1.03;
letter-spacing: -.06em;
}
#resaagar-home .rs-manifesto__title .rs-blue {
color: var(--rs-blue);
}
#resaagar-home .rs-manifesto__title .rs-hollow {
color: transparent;
-webkit-text-stroke: 1.5px var(--rs-ink);
text-stroke: 1.5px var(--rs-ink);
}
#resaagar-home .rs-manifesto__bottom {
display: grid;
grid-template-columns: .7fr 1.3fr;
gap: 50px;
align-items: end;
margin-top: 60px;
}
#resaagar-home .rs-manifesto__number {
display: flex;
align-items: end;
gap: 13px;
color: var(--rs-blue);
font-size: clamp(82px, 12vw, 180px);
font-weight: 900;
line-height: .75;
letter-spacing: -.08em;
}
#resaagar-home .rs-manifesto__number small {
margin-bottom: 10px;
color: var(--rs-ink);
font-size: 14px;
font-weight: 700;
line-height: 1.6;
letter-spacing: 0;
}
#resaagar-home .rs-manifesto__copy {
max-width: 680px;
margin: 0;
color: #46516d;
font-size: clamp(18px, 1.5vw, 23px);
line-height: 1.95;
}
#resaagar-home .rs-services {
position: relative;
padding: clamp(100px, 12vw, 190px) 0;
background:
radial-gradient(700px circle at 8% 12%, rgba(21, 87, 255, .2), transparent 58%),
var(--rs-night);
}
#resaagar-home .rs-services__head {
display: grid;
grid-template-columns: 1fr .55fr;
align-items: end;
gap: 50px;
margin-bottom: clamp(50px, 7vw, 90px);
}
#resaagar-home .rs-services__head .rs-section-copy {
justify-self: end;
}
#resaagar-home .rs-services__grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 16px;
}
#resaagar-home .rs-service-card {
position: relative;
display: grid;
grid-template-columns: auto 1fr auto;
align-items: start;
gap: clamp(18px, 3vw, 34px);
min-height: 235px;
padding: clamp(26px, 3.4vw, 44px);
overflow: hidden;
border: 1px solid var(--rs-border);
border-radius: var(--rs-radius);
background: rgba(255,255,255,.04);
transition: transform .65s var(--rs-ease), background-color .45s ease, border-color .45s ease;
}
#resaagar-home .rs-service-card::before {
position: absolute;
inset: -1px;
opacity: 0;
background: radial-gradient(450px circle at var(--card-x, 50%) var(--card-y, 50%), rgba(104, 164, 255, .23), transparent 48%);
content: "";
transition: opacity .4s ease;
}
#resaagar-home .rs-service-card:hover {
z-index: 2;
border-color: rgba(104, 164, 255, .45);
background: rgba(255,255,255,.065);
transform: translateY(-7px);
}
#resaagar-home .rs-service-card:hover::before {
opacity: 1;
}
#resaagar-home .rs-service-card__no,
#resaagar-home .rs-service-card__content,
#resaagar-home .rs-service-card__arrow {
position: relative;
z-index: 2;
}
#resaagar-home .rs-service-card__no {
color: var(--rs-blue-2);
font-size: 13px;
font-weight: 800;
}
#resaagar-home .rs-service-card h3 {
margin: 0 0 7px;
color: var(--rs-white);
font-size: clamp(26px, 2.5vw, 39px);
font-weight: 900;
line-height: 1.2;
letter-spacing: -.035em;
}
#resaagar-home .rs-service-card__en {
display: block;
margin-bottom: 22px;
color: #7583a8;
font-size: 11px;
font-weight: 700;
letter-spacing: .17em;
text-transform: uppercase;
}
#resaagar-home .rs-service-card p {
max-width: 470px;
margin: 0;
color: #a9b4d0;
line-height: 1.85;
}
#resaagar-home .rs-service-card__arrow {
display: grid;
place-items: center;
width: 47px;
height: 47px;
border: 1px solid var(--rs-border);
border-radius: 50%;
color: var(--rs-lime);
font-size: 21px;
transition: transform .45s var(--rs-ease), color .35s ease, background-color .35s ease;
}
#resaagar-home .rs-service-card:hover .rs-service-card__arrow {
color: var(--rs-night);
background: var(--rs-lime);
transform: rotate(-45deg);
}
#resaagar-home .rs-signal {
position: relative;
padding: clamp(110px, 13vw, 205px) 0;
overflow: hidden;
color: var(--rs-ink);
background: var(--rs-lime);
}
#resaagar-home .rs-signal::before {
position: absolute;
inset: -25%;
opacity: .14;
background: repeating-radial-gradient(circle at 18% 60%, transparent 0 38px, var(--rs-blue) 39px 41px);
content: "";
transform: rotate(-8deg);
}
#resaagar-home .rs-signal__grid {
position: relative;
display: grid;
grid-template-columns: 1.2fr .8fr;
align-items: center;
gap: clamp(50px, 8vw, 120px);
}
#resaagar-home .rs-signal .rs-kicker {
color: var(--rs-blue);
}
#resaagar-home .rs-signal__title {
max-width: 820px;
margin: 0;
font-size: clamp(54px, 8vw, 120px);
font-weight: 900;
line-height: .98;
letter-spacing: -.06em;
}
#resaagar-home .rs-signal__title em {
display: block;
color: var(--rs-blue);
font-style: normal;
}
#resaagar-home .rs-signal__copy {
max-width: 640px;
margin: 28px 0 0;
color: #273451;
font-size: 19px;
line-height: 1.95;
}
#resaagar-home .rs-wave {
position: relative;
display: flex;
align-items: center;
justify-content: center;
gap: clamp(7px, 1vw, 13px);
min-height: 390px;
border: 1px solid rgba(6, 18, 63, .17);
border-radius: 50%;
background: rgba(255,255,255,.17);
box-shadow: inset 0 0 90px rgba(255,255,255,.28);
}
#resaagar-home .rs-wave::before,
#resaagar-home .rs-wave::after {
position: absolute;
border: 1px solid rgba(6,18,63,.15);
border-radius: 50%;
content: "";
}
#resaagar-home .rs-wave::before { inset: 8%; }
#resaagar-home .rs-wave::after { inset: 17%; }
#resaagar-home .rs-wave span {
position: relative;
z-index: 2;
width: clamp(7px, 1vw, 12px);
height: var(--h);
border-radius: 999px;
background: var(--rs-blue);
box-shadow: 0 0 24px rgba(21,87,255,.3);
transform-origin: center;
animation: rs-wave 1.5s ease-in-out infinite alternate;
animation-delay: var(--d);
}
#resaagar-home .rs-process {
padding: clamp(100px, 12vw, 190px) 0;
background: var(--rs-paper);
color: var(--rs-ink);
}
#resaagar-home .rs-process__head {
display: grid;
grid-template-columns: 1fr .58fr;
align-items: end;
gap: 40px;
margin-bottom: 80px;
}
#resaagar-home .rs-process .rs-kicker {
color: var(--rs-blue);
}
#resaagar-home .rs-process .rs-section-copy {
color: #58637d;
}
#resaagar-home .rs-process__steps {
position: relative;
}
#resaagar-home .rs-process__line {
position: absolute;
top: 0;
right: 0;
width: 2px;
height: 100%;
background: rgba(6,18,63,.12);
}
#resaagar-home .rs-process__line span {
display: block;
width: 100%;
height: 100%;
background: linear-gradient(var(--rs-blue), var(--rs-coral));
transform: scaleY(0);
transform-origin: top;
}
#resaagar-home .rs-process-step {
display: grid;
grid-template-columns: 120px .7fr 1fr;
gap: clamp(20px, 5vw, 70px);
align-items: start;
padding: 45px 40px 45px 0;
border-bottom: 1px solid rgba(6,18,63,.13);
}
#resaagar-home .rs-process-step:first-of-type {
border-top: 1px solid rgba(6,18,63,.13);
}
#resaagar-home .rs-process-step__no {
color: var(--rs-blue);
font-size: 14px;
font-weight: 900;
}
#resaagar-home .rs-process-step h3 {
margin: 0;
font-size: clamp(28px, 3vw, 46px);
font-weight: 900;
line-height: 1.2;
letter-spacing: -.035em;
}
#resaagar-home .rs-process-step p {
margin: 0;
color: #5b6680;
font-size: 17px;
line-height: 1.9;
}
#resaagar-home .rs-map-feature {
padding: 30px 0 clamp(100px, 12vw, 185px);
color: var(--rs-ink);
background: var(--rs-paper);
}
#resaagar-home .rs-map-feature__card {
position: relative;
display: grid;
grid-template-columns: 1fr .85fr;
align-items: center;
gap: clamp(38px, 7vw, 100px);
min-height: 520px;
padding: clamp(36px, 7vw, 90px);
overflow: hidden;
border-radius: clamp(30px, 5vw, 58px);
color: var(--rs-white);
background:
radial-gradient(420px circle at 82% 35%, rgba(104,164,255,.35), transparent 60%),
linear-gradient(135deg, #06123f, #001a6e 70%, #1557ff);
box-shadow: 0 40px 100px rgba(0,26,110,.18);
}
#resaagar-home .rs-map-feature__card::before {
position: absolute;
inset: 0;
opacity: .18;
background-image:
linear-gradient(rgba(255,255,255,.15) 1px, transparent 1px),
linear-gradient(90deg, rgba(255,255,255,.15) 1px, transparent 1px);
background-size: 50px 50px;
-webkit-mask-image: radial-gradient(circle at 80% 40%, #000, transparent 70%);
mask-image: radial-gradient(circle at 80% 40%, #000, transparent 70%);
content: "";
}
#resaagar-home .rs-map-feature__content,
#resaagar-home .rs-map-feature__visual {
position: relative;
z-index: 2;
}
#resaagar-home .rs-map-feature__content h2 {
margin: 0;
font-size: clamp(43px, 5vw, 75px);
font-weight: 900;
line-height: 1.06;
letter-spacing: -.05em;
}
#resaagar-home .rs-map-feature__content p {
max-width: 590px;
margin: 24px 0 30px;
color: #c9d5f5;
font-size: 18px;
line-height: 1.9;
}
#resaagar-home .rs-map-feature__visual {
display: grid;
place-items: center;
min-height: 340px;
}
#resaagar-home .rs-map-radar {
position: relative;
display: grid;
place-items: center;
width: min(370px, 85vw);
aspect-ratio: 1;
border: 1px solid rgba(255,255,255,.2);
border-radius: 50%;
background: radial-gradient(circle, rgba(21,87,255,.55), rgba(2,8,28,.15) 64%);
}
#resaagar-home .rs-map-radar::before,
#resaagar-home .rs-map-radar::after {
position: absolute;
border: 1px solid rgba(255,255,255,.18);
border-radius: 50%;
content: "";
}
#resaagar-home .rs-map-radar::before { inset: 17%; }
#resaagar-home .rs-map-radar::after { inset: 34%; }
#resaagar-home .rs-map-radar__sweep {
position: absolute;
inset: 0;
border-radius: 50%;
background: conic-gradient(from 0deg, transparent 0 68%, rgba(223,255,176,.38) 84%, transparent 100%);
animation: rs-spin 5s linear infinite;
}
#resaagar-home .rs-map-pin {
position: relative;
z-index: 3;
display: grid;
place-items: center;
width: 88px;
height: 88px;
border-radius: 50% 50% 50% 10%;
color: var(--rs-night);
background: var(--rs-lime);
box-shadow: 0 22px 65px rgba(223,255,176,.38);
transform: rotate(-45deg);
}
#resaagar-home .rs-map-pin img {
width: 48px;
height: 48px;
object-fit: contain;
transform: rotate(45deg);
}
#resaagar-home .rs-map-label {
position: absolute;
z-index: 4;
padding: 9px 14px;
border: 1px solid rgba(255,255,255,.18);
border-radius: 999px;
color: #dce6ff;
background: rgba(3,7,19,.55);
backdrop-filter: blur(12px);
font-size: 11px;
font-weight: 800;
}
#resaagar-home .rs-map-label--google { top: 13%; right: 3%; }
#resaagar-home .rs-map-label--neshan { bottom: 17%; right: 5%; }
#resaagar-home .rs-map-label--balad { top: 19%; left: 1%; }
#resaagar-home .rs-map-label--snapp { bottom: 12%; left: 10%; }
#resaagar-home .rs-journal {
padding: clamp(100px, 12vw, 190px) 0;
background: var(--rs-night);
}
#resaagar-home .rs-journal__head {
display: flex;
align-items: end;
justify-content: space-between;
gap: 30px;
margin-bottom: 60px;
}
#resaagar-home .rs-text-link {
display: inline-flex;
align-items: center;
gap: 10px;
padding-bottom: 5px;
border-bottom: 1px solid rgba(255,255,255,.28);
color: #dce4f7;
font-size: 14px;
font-weight: 800;
}
#resaagar-home .rs-journal__grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 18px;
}
#resaagar-home .rs-article-card {
position: relative;
min-height: 455px;
overflow: hidden;
border: 1px solid var(--rs-border);
border-radius: var(--rs-radius);
background: #09132c;
}
#resaagar-home .rs-article-card__media {
position: absolute;
inset: 0;
}
#resaagar-home .rs-article-card__media::after {
position: absolute;
inset: 0;
background: linear-gradient(to top, rgba(3,7,19,.98) 3%, rgba(3,7,19,.55) 52%, rgba(3,7,19,.08));
content: "";
}
#resaagar-home .rs-article-card__media img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 1.2s var(--rs-ease), filter .6s ease;
}
#resaagar-home .rs-article-card:hover .rs-article-card__media img {
filter: saturate(1.2);
transform: scale(1.065);
}
#resaagar-home .rs-article-card__content {
position: absolute;
z-index: 3;
right: 0;
bottom: 0;
left: 0;
padding: clamp(25px, 4vw, 42px);
}
#resaagar-home .rs-article-card__tag {
display: inline-flex;
margin-bottom: 14px;
padding: 6px 11px;
border: 1px solid rgba(255,255,255,.2);
border-radius: 999px;
color: var(--rs-lime);
background: rgba(3,7,19,.4);
font-size: 11px;
font-weight: 800;
}
#resaagar-home .rs-article-card h3 {
max-width: 600px;
margin: 0;
color: var(--rs-white);
font-size: clamp(24px, 2.5vw, 37px);
font-weight: 900;
line-height: 1.45;
letter-spacing: -.03em;
}
#resaagar-home .rs-article-card__arrow {
position: absolute;
top: 28px;
left: 28px;
z-index: 4;
display: grid;
place-items: center;
width: 48px;
height: 48px;
border-radius: 50%;
color: var(--rs-night);
background: var(--rs-lime);
font-size: 21px;
transition: transform .5s var(--rs-ease);
}
#resaagar-home .rs-article-card:hover .rs-article-card__arrow {
transform: rotate(-45deg) scale(1.08);
}
#resaagar-home .rs-faq {
padding: clamp(100px, 12vw, 180px) 0;
color: var(--rs-ink);
background: var(--rs-paper);
}
#resaagar-home .rs-faq__grid {
display: grid;
grid-template-columns: .75fr 1.25fr;
gap: clamp(45px, 8vw, 115px);
align-items: start;
}
#resaagar-home .rs-faq .rs-kicker {
color: var(--rs-blue);
}
#resaagar-home .rs-faq__intro {
position: sticky;
top: 40px;
}
#resaagar-home .rs-faq__intro h2 {
margin: 0;
font-size: clamp(49px, 6vw, 90px);
font-weight: 900;
line-height: 1.03;
letter-spacing: -.055em;
}
#resaagar-home .rs-faq__intro p {
max-width: 430px;
margin: 24px 0 0;
color: #59637c;
font-size: 17px;
}
#resaagar-home .rs-faq details {
border-top: 1px solid rgba(6,18,63,.15);
}
#resaagar-home .rs-faq details:last-child {
border-bottom: 1px solid rgba(6,18,63,.15);
}
#resaagar-home .rs-faq summary {
position: relative;
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
padding: 30px 0;
cursor: pointer;
list-style: none;
font-size: clamp(19px, 2vw, 27px);
font-weight: 900;
}
#resaagar-home .rs-faq summary::-webkit-details-marker {
display: none;
}
#resaagar-home .rs-faq summary::after {
display: grid;
place-items: center;
flex: 0 0 auto;
width: 37px;
height: 37px;
border: 1px solid rgba(6,18,63,.2);
border-radius: 50%;
color: var(--rs-blue);
content: "+";
transition: transform .4s var(--rs-ease), color .3s ease, background-color .3s ease;
}
#resaagar-home .rs-faq details[open] summary::after {
color: var(--rs-white);
background: var(--rs-blue);
transform: rotate(45deg);
}
#resaagar-home .rs-faq details p {
max-width: 720px;
margin: -5px 0 30px;
color: #59637c;
font-size: 17px;
line-height: 1.95;
}
#resaagar-home .rs-final {
position: relative;
display: grid;
min-height: min(800px, 88svh);
place-items: center;
padding: 100px 0;
overflow: hidden;
text-align: center;
background:
radial-gradient(650px circle at 50% 47%, rgba(21,87,255,.4), transparent 60%),
var(--rs-night);
}
#resaagar-home .rs-final::before,
#resaagar-home .rs-final::after {
position: absolute;
left: 50%;
border: 1px solid rgba(255,255,255,.12);
border-radius: 50%;
content: "";
transform: translateX(-50%);
}
#resaagar-home .rs-final::before {
width: 78vw;
aspect-ratio: 1;
}
#resaagar-home .rs-final::after {
width: 55vw;
aspect-ratio: 1;
}
#resaagar-home .rs-final__inner {
position: relative;
z-index: 2;
}
#resaagar-home .rs-final__mini {
margin: 0 0 22px;
color: var(--rs-lime);
font-size: 13px;
font-weight: 800;
letter-spacing: .08em;
}
#resaagar-home .rs-final h2 {
max-width: 1000px;
margin: 0 auto;
font-size: clamp(58px, 10vw, 150px);
font-weight: 900;
line-height: .94;
letter-spacing: -.065em;
}
#resaagar-home .rs-final h2 span {
display: block;
color: var(--rs-lime);
}
#resaagar-home .rs-final p {
max-width: 580px;
margin: 28px auto 35px;
color: #b9c3db;
font-size: 18px;
}
#resaagar-home .rs-final__actions {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 12px;
}
#resaagar-home .rs-final__phone {
display: inline-flex;
justify-content: center;
margin-top: 35px;
color: #7885a6;
direction: ltr;
font-size: 14px;
font-weight: 800;
}
#resaagar-home .rs-credit {
position: absolute;
z-index: 3;
right: 24px;
bottom: 20px;
left: 24px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
color: #5e6a88;
font-size: 11px;
}
#resaagar-home .rs-credit img {
width: 34px;
height: 34px;
padding: 4px;
border-radius: 10px;
background: var(--rs-lime);
}
#resaagar-home.rs-js .rs-reveal {
opacity: 0;
filter: blur(10px);
clip-path: inset(0 0 20% 0);
transform: translateY(82px) scale(.975) rotate(.45deg);
transition: opacity 1.05s var(--rs-ease), transform 1.05s var(--rs-ease), filter 1.05s var(--rs-ease), clip-path 1.05s var(--rs-ease);
}
#resaagar-home.rs-js .rs-reveal.rs-in {
opacity: 1;
filter: blur(0);
clip-path: inset(0 0 0 0);
transform: none;
}
@keyframes rs-float {
0%, 100% { transform: translate3d(0, -7px, 0) rotate(-2deg); }
50% { transform: translate3d(0, 11px, 0) rotate(2deg); }
}
@keyframes rs-breathe {
from { transform: scale(.88) rotate(-9deg); opacity: .64; }
to { transform: scale(1.08) rotate(11deg); opacity: 1; }
}
@keyframes rs-spin { to { transform: rotate(360deg); } }
@keyframes rs-scroll-cue {
0% { opacity: 0; transform: translateY(-10px); }
35% { opacity: 1; }
100% { opacity: 0; transform: translateY(12px); }
}
@keyframes rs-ticker { to { transform: translateX(-50%); } }
@keyframes rs-wave {
from { transform: scaleY(.45); opacity: .55; }
to { transform: scaleY(1); opacity: 1; }
}
@keyframes rs-loader-logo {
from { transform: translateY(0) rotate(-3deg) scale(.94); }
to { transform: translateY(-8px) rotate(3deg) scale(1.04); }
}
@keyframes rs-loader-safety {
to { visibility: hidden; pointer-events: none; }
}
#resaagar-home[data-motion="reduced"] .rs-loader {
display: none;
}
#resaagar-home[data-motion="reduced"] *,
#resaagar-home[data-motion="reduced"] *::before,
#resaagar-home[data-motion="reduced"] *::after {
scroll-behavior: auto !important;
animation-duration: .01ms !important;
animation-iteration-count: 1 !important;
transition-duration: .01ms !important;
}
#resaagar-home[data-motion="reduced"] .rs-reveal {
opacity: 1 !important;
filter: none !important;
clip-path: none !important;
transform: none !important;
}
@media (max-width: 1024px) {
#resaagar-home .rs-hero {
min-height: auto;
padding-top: 100px;
}
#resaagar-home .rs-hero__inner,
#resaagar-home .rs-signal__grid,
#resaagar-home .rs-map-feature__card {
grid-template-columns: 1fr;
}
#resaagar-home .rs-orbit-wrap {
width: min(650px, 92vw);
margin: -20px auto 55px;
}
#resaagar-home .rs-scroll-cue {
display: none;
}
#resaagar-home .rs-services__head,
#resaagar-home .rs-process__head {
grid-template-columns: 1fr;
}
#resaagar-home .rs-services__head .rs-section-copy {
justify-self: start;
}
#resaagar-home .rs-wave {
width: min(500px, 100%);
margin-inline: auto;
}
#resaagar-home .rs-map-feature__visual {
min-height: 400px;
}
}
@media (max-width: 780px) {
#resaagar-home .rs-container {
width: min(100% - 28px, 1240px);
}
#resaagar-home .rs-hero {
padding-top: 78px;
}
#resaagar-home .rs-hero h1 {
font-size: clamp(52px, 17vw, 86px);
line-height: .93;
}
#resaagar-home .rs-hero__actions .rs-btn {
width: 100%;
}
#resaagar-home .rs-hero__proof {
align-items: flex-start;
gap: 15px;
}
#resaagar-home .rs-hero__proof span + span {
padding-right: 15px;
}
#resaagar-home .rs-orbit-wrap {
width: 115%;
margin-right: -7.5%;
}
#resaagar-home .rs-orbit__label {
min-width: 72px;
height: 36px;
font-size: 9px;
}
#resaagar-home .rs-manifesto__bottom,
#resaagar-home .rs-faq__grid {
grid-template-columns: 1fr;
}
#resaagar-home .rs-manifesto__number {
margin-bottom: 25px;
}
#resaagar-home .rs-services__grid,
#resaagar-home .rs-journal__grid {
grid-template-columns: 1fr;
}
#resaagar-home .rs-service-card {
grid-template-columns: auto 1fr;
min-height: 0;
}
#resaagar-home .rs-service-card__arrow {
grid-column: 2;
margin-top: 8px;
}
#resaagar-home .rs-process-step {
grid-template-columns: 50px 1fr;
gap: 17px;
padding: 32px 25px 32px 0;
}
#resaagar-home .rs-process-step p {
grid-column: 2;
}
#resaagar-home .rs-map-feature__card {
padding: 36px 22px;
}
#resaagar-home .rs-map-feature__visual {
min-height: 320px;
}
#resaagar-home .rs-map-radar {
width: min(290px, 80vw);
}
#resaagar-home .rs-article-card {
min-height: 390px;
}
#resaagar-home .rs-faq__intro {
position: static;
}
#resaagar-home .rs-final::before { width: 150vw; }
#resaagar-home .rs-final::after { width: 110vw; }
#resaagar-home .rs-credit {
justify-content: center;
}
#resaagar-home .rs-credit span:last-child {
display: none;
}
#resaagar-home .rs-motion-toggle {
bottom: 12px;
left: 12px;
min-height: 40px;
padding-inline: 12px;
}
#resaagar-home .rs-cursor {
display: none;
}
}
@media (max-width: 480px) {
#resaagar-home .rs-brand-chip {
font-size: 11px;
}
#resaagar-home .rs-hero__proof {
display: grid;
grid-template-columns: 1fr 1fr;
}
#resaagar-home .rs-section-title {
font-size: clamp(41px, 13vw, 62px);
}
#resaagar-home .rs-manifesto__title {
font-size: clamp(43px, 13.5vw, 65px);
}
#resaagar-home .rs-wave {
min-height: 310px;
}
}
@media (prefers-reduced-motion: reduce) {
#resaagar-home:not([data-motion="full"]) *,
#resaagar-home:not([data-motion="full"]) *::before,
#resaagar-home:not([data-motion="full"]) *::after {
scroll-behavior: auto !important;
animation-duration: .01ms !important;
animation-iteration-count: 1 !important;
transition-duration: .01ms !important;
}
#resaagar-home:not([data-motion="full"]) .rs-reveal {
opacity: 1 !important;
filter: none !important;
clip-path: none !important;
transform: none !important;
}
}
</style>
<main id="resaagar-home" data-motion="full" aria-label="صفحه اصلی آژانس دیجیتال مارکتینگ رساگر">
<div class="rs-scroll-progress" aria-hidden="true"></div>
<div class="rs-loader" aria-hidden="true">
<div class="rs-loader__inner">
<img class="rs-loader__logo" src="https://resaagar.ir/wp-content/uploads/2024/12/logo512.png" alt="" width="72" height="72">
<strong class="rs-loader__word">صدای برندت را بالا ببر.</strong>
<div class="rs-loader__meta"><span>RESAAGAR</span><span class="rs-loader__bar"><i></i></span><strong class="rs-loader__counter">۰</strong></div>
</div>
</div>
<button class="rs-motion-toggle" type="button" aria-pressed="true" aria-label="تغییر شدت انیمیشنها"><i aria-hidden="true"></i><span>حرکت کامل</span></button>
<div class="rs-cursor" aria-hidden="true"></div>
<section class="rs-hero" aria-labelledby="rs-hero-title">
<canvas class="rs-particles" aria-hidden="true"></canvas>
<div class="rs-hero__ghost" aria-hidden="true">RESAAGAR</div>
<div class="rs-container rs-hero__inner">
<div class="rs-hero__content">
<div class="rs-brand-chip">
<img src="https://resaagar.ir/wp-content/uploads/2024/12/logo512.png" alt="لوگو رساگر" width="32" height="32">
<span>آژانس دیجیتال مارکتینگ رساگر</span>
<i aria-hidden="true"></i>
</div>
<h1 id="rs-hero-title">
<span class="rs-line">دیده شو.</span>
<span class="rs-line rs-line--outline">شنیده شو.</span>
<span class="rs-line rs-line--lime">انتخاب شو.</span>
</h1>
<p class="rs-hero__lead">
ما در رساگر، <strong>طراحی سایت، سئو، برندینگ و محتوا</strong> را به یک سیستم رشد متصل تبدیل میکنیم؛ سیستمی که فقط زیبا نیست، نتیجه میسازد.
</p>
<div class="rs-hero__actions">
<a class="rs-btn rs-btn--primary rs-magnetic" href="https://resaagar.ir/contact/">
<span>شروع یک همکاری جدی</span>
</a>
<a class="rs-btn rs-btn--ghost rs-magnetic" href="tel:02182808707">
<span>مشاوره رایگان</span>
</a>
</div>
<div class="rs-hero__proof" aria-label="اطلاعات کلیدی رساگر">
<span><strong>۸۰+</strong> تجربه همکاری</span>
<span><strong>۳۶۰°</strong> نگاه یکپارچه</span>
<span><strong>داده</strong> قبل از تصمیم</span>
</div>
</div>
<div class="rs-orbit-wrap" aria-hidden="true">
<div class="rs-orbit-glow"></div>
<div class="rs-orbit">
<img class="rs-orbit__image" src="https://resaagar.ir/wp-content/uploads/2025/08/dm-img3-optimized.webp" alt="" width="700" height="700">
</div>
<span class="rs-orbit__label rs-orbit__label--a">WEB / UX</span>
<span class="rs-orbit__label rs-orbit__label--b">SEO / DATA</span>
<span class="rs-orbit__label rs-orbit__label--c">BRAND / VOICE</span>
</div>
</div>
<div class="rs-scroll-cue" aria-hidden="true"></div>
</section>
<div class="rs-ticker" aria-hidden="true">
<div class="rs-ticker__track">
<div class="rs-ticker__group">
<span>طراحی سایت</span><i></i><span>سئو تکنیکال</span><i></i><span>برندسازی</span><i></i><span>تولید محتوا</span><i></i><span>سوشال مدیا</span><i></i><span>بازاریابی محلی</span><i></i>
</div>
<div class="rs-ticker__group">
<span>طراحی سایت</span><i></i><span>سئو تکنیکال</span><i></i><span>برندسازی</span><i></i><span>تولید محتوا</span><i></i><span>سوشال مدیا</span><i></i><span>بازاریابی محلی</span><i></i>
</div>
</div>
</div>
<section class="rs-manifesto" aria-labelledby="rs-manifesto-title">
<div class="rs-container">
<div class="rs-manifesto__eyebrow rs-reveal">
<span>ما فقط اجرا نمیکنیم؛ مسئله را حل میکنیم.</span>
</div>
<h2 class="rs-manifesto__title rs-reveal" id="rs-manifesto-title">
یک برند معمولی، تبلیغ میکند.
<span class="rs-blue">یک برند قدرتمند،</span>
<span class="rs-hollow">اثر میگذارد.</span>
</h2>
<div class="rs-manifesto__bottom">
<div class="rs-manifesto__number rs-reveal">
۸۰+
<small>پروژهای که به ما<br>یاد دادهاند دقیقتر ببینیم.</small>
</div>
<p class="rs-manifesto__copy rs-reveal">
رساگر نقطه اتصال تحلیل بازار، رفتار کاربر، طراحی و اجرای دقیق است. قبل از هر کمپین یا طراحی، مسئله کسبوکار را میفهمیم؛ بعد مسیری میسازیم که مخاطب را از اولین برخورد تا اقدام نهایی هدایت کند.
</p>
</div>
</div>
</section>
<section class="rs-services" id="rs-services" aria-labelledby="rs-services-title">
<div class="rs-container">
<div class="rs-services__head">
<div>
<p class="rs-kicker rs-reveal">تخصصهای رساگر</p>
<h2 class="rs-section-title rs-reveal" id="rs-services-title">شش تخصص.<br>یک مسیر رشد.</h2>
</div>
<p class="rs-section-copy rs-reveal">هر خدمت جداگانه قابل اجراست؛ قدرت واقعی زمانی شکل میگیرد که همه آنها با یک استراتژی مشترک کار کنند.</p>
</div>
<div class="rs-services__grid">
<a class="rs-service-card rs-tilt rs-reveal" href="https://resaagar.ir/contact/">
<span class="rs-service-card__no">۰۱</span>
<span class="rs-service-card__content">
<h3>طراحی و توسعه وب</h3>
<span class="rs-service-card__en">WEB DESIGN & DEVELOPMENT</span>
<p>وبسایت سریع، متمایز و کاربرمحور با ساختاری که اعتماد میسازد و بازدیدکننده را به مشتری تبدیل میکند.</p>
</span>
<span class="rs-service-card__arrow" aria-hidden="true">↙</span>
</a>
<a class="rs-service-card rs-tilt rs-reveal" href="https://resaagar.ir/contact/">
<span class="rs-service-card__no">۰۲</span>
<span class="rs-service-card__content">
<h3>سئو و رشد ارگانیک</h3>
<span class="rs-service-card__en">SEARCH ENGINE OPTIMIZATION</span>
<p>از معماری فنی و تحقیق کلمه کلیدی تا محتوای هدفمند و پایش داده؛ دیدهشدن اتفاقی نیست.</p>
</span>
<span class="rs-service-card__arrow" aria-hidden="true">↙</span>
</a>
<a class="rs-service-card rs-tilt rs-reveal" href="https://resaagar.ir/contact/">
<span class="rs-service-card__no">۰۳</span>
<span class="rs-service-card__content">
<h3>برندسازی و هویت</h3>
<span class="rs-service-card__en">BRANDING & IDENTITY</span>
<p>هویت بصری، لحن و تجربهای منسجم که برند شما را در ذهن مخاطب قابل تشخیص و ماندگار میکند.</p>
</span>
<span class="rs-service-card__arrow" aria-hidden="true">↙</span>
</a>
<a class="rs-service-card rs-tilt rs-reveal" href="https://resaagar.ir/map/">
<span class="rs-service-card__no">۰۴</span>
<span class="rs-service-card__content">
<h3>بازاریابی محلی</h3>
<span class="rs-service-card__en">LOCAL MARKETING</span>
<p>حضور دقیق کسبوکار در نقشههای آنلاین و طراحی مسیر دسترسی برای مشتریانی که همین حالا نزدیک شما هستند.</p>
</span>
<span class="rs-service-card__arrow" aria-hidden="true">↙</span>
</a>
<a class="rs-service-card rs-tilt rs-reveal" href="https://resaagar.ir/contact/">
<span class="rs-service-card__no">۰۵</span>
<span class="rs-service-card__content">
<h3>محتوا و روایت برند</h3>
<span class="rs-service-card__en">CONTENT MARKETING</span>
<p>محتوایی که صرفاً صفحه را پُر نمیکند؛ سؤال مخاطب را پاسخ میدهد و اعتماد او را قدمبهقدم میسازد.</p>
</span>
<span class="rs-service-card__arrow" aria-hidden="true">↙</span>
</a>
<a class="rs-service-card rs-tilt rs-reveal" href="https://resaagar.ir/contact/">
<span class="rs-service-card__no">۰۶</span>
<span class="rs-service-card__content">
<h3>شبکههای اجتماعی</h3>
<span class="rs-service-card__en">SOCIAL MEDIA MARKETING</span>
<p>استراتژی، تقویم و محتوای تعاملی برای تبدیل حضور روزمره برند به جامعه، سرنخ و فروش.</p>
</span>
<span class="rs-service-card__arrow" aria-hidden="true">↙</span>
</a>
</div>
</div>
</section>
<section class="rs-signal" aria-labelledby="rs-signal-title">
<div class="rs-container rs-signal__grid">
<div>
<p class="rs-kicker rs-reveal">فلسفه رساگر</p>
<h2 class="rs-signal__title rs-reveal" id="rs-signal-title">بیشتر نتیجه،<em>صدای رساتر.</em></h2>
<p class="rs-signal__copy rs-reveal">حرکت، رنگ و تکنولوژی زمانی ارزش دارند که پیام را شفافتر کنند. ما هر تصمیم طراحی را به یک هدف تجاری متصل میکنیم: توجه، اعتماد یا اقدام.</p>
</div>
<div class="rs-wave rs-reveal" aria-hidden="true">
<span style="--h:70px;--d:-.1s"></span>
<span style="--h:130px;--d:-.4s"></span>
<span style="--h:210px;--d:-.7s"></span>
<span style="--h:300px;--d:-1s"></span>
<span style="--h:220px;--d:-.65s"></span>
<span style="--h:150px;--d:-.35s"></span>
<span style="--h:82px;--d:-.05s"></span>
</div>
</div>
</section>
<section class="rs-process" aria-labelledby="rs-process-title">
<div class="rs-container">
<div class="rs-process__head">
<div>
<p class="rs-kicker rs-reveal">از مسئله تا نتیجه</p>
<h2 class="rs-section-title rs-reveal" id="rs-process-title">فرایند شفاف.<br>تصمیم دقیق.</h2>
</div>
<p class="rs-section-copy rs-reveal">همکاری خوب از یک قرارداد شروع نمیشود؛ از درک درست مسئله شروع میشود.</p>
</div>
<div class="rs-process__steps">
<div class="rs-process__line" aria-hidden="true"><span></span></div>
<article class="rs-process-step rs-reveal">
<span class="rs-process-step__no">۰۱ / کشف</span>
<h3>شناخت کسبوکار</h3>
<p>هدف، مخاطب، رقبا و موانع رشد را بررسی میکنیم تا مسئله واقعی پشت درخواست شما مشخص شود.</p>
</article>
<article class="rs-process-step rs-reveal">
<span class="rs-process-step__no">۰۲ / جهت</span>
<h3>طراحی استراتژی</h3>
<p>پیام، مسیر کاربر، کانالها و شاخصهای موفقیت را به یک نقشه اجرایی روشن تبدیل میکنیم.</p>
</article>
<article class="rs-process-step rs-reveal">
<span class="rs-process-step__no">۰۳ / ساخت</span>
<h3>اجرای یکپارچه</h3>
<p>تخصصهای طراحی، سئو، محتوا و برند با یک زبان مشترک و بدون پراکندگی کنار هم اجرا میشوند.</p>
</article>
<article class="rs-process-step rs-reveal">
<span class="rs-process-step__no">۰۴ / رشد</span>
<h3>تحلیل و بهینهسازی</h3>
<p>نتیجه را اندازه میگیریم، اصطکاکها را پیدا میکنیم و نسخه بعدی را بر اساس داده بهتر میسازیم.</p>
</article>
</div>
</div>
</section>
<section class="rs-map-feature" aria-labelledby="rs-map-title">
<div class="rs-container">
<div class="rs-map-feature__card rs-reveal">
<div class="rs-map-feature__content">
<p class="rs-kicker">سرویس ویژه کسبوکارهای محلی</p>
<h2 id="rs-map-title">روی نقشه باش.<br>در مسیر مشتری بمان.</h2>
<p>ثبت کسبوکار در گوگل، نشان، بلد، اسنپ و OpenStreetMap با فرایند روشن، پشتیبانی و ضمانت بازگشت وجه در موارد اعلامشده.</p>
<a class="rs-btn rs-btn--primary rs-magnetic" href="https://resaagar.ir/map/"><span>مشاهده تعرفه و ثبت سفارش</span></a>
</div>
<div class="rs-map-feature__visual" aria-hidden="true">
<div class="rs-map-radar">
<div class="rs-map-radar__sweep"></div>
<div class="rs-map-pin">
<img src="https://resaagar.ir/wp-content/uploads/2024/12/logo512.png" alt="" width="48" height="48">
</div>
<span class="rs-map-label rs-map-label--google">GOOGLE MAPS</span>
<span class="rs-map-label rs-map-label--neshan">NESHAN</span>
<span class="rs-map-label rs-map-label--balad">BALAD</span>
<span class="rs-map-label rs-map-label--snapp">SNAPP</span>
</div>
</div>
</div>
</div>
</section>
<section class="rs-journal" aria-labelledby="rs-journal-title">
<div class="rs-container">
<div class="rs-journal__head">
<div>
<p class="rs-kicker rs-reveal">از ژورنال رساگر</p>
<h2 class="rs-section-title rs-reveal" id="rs-journal-title">دانش، قبل از تبلیغ.</h2>
</div>
<a class="rs-text-link" href="https://resaagar.ir/content-strategy/">شروع مطالعه <span aria-hidden="true">↙</span></a>
</div>
<div class="rs-journal__grid">
<a class="rs-article-card rs-reveal" href="https://resaagar.ir/mistakes-corporate-website-design/">
<span class="rs-article-card__media"><img src="https://resaagar.ir/wp-content/uploads/2025/08/Copilot_20250809_123752-optimized-768x512.webp" alt="اشتباهات رایج طراحی سایت شرکتی" loading="lazy"></span>
<span class="rs-article-card__arrow" aria-hidden="true">↙</span>
<span class="rs-article-card__content"><span class="rs-article-card__tag">طراحی سایت</span><h3>۵ اشتباه رایج در طراحی سایت شرکتی که نرخ تبدیل را نابود میکند</h3></span>
</a>
<a class="rs-article-card rs-reveal" href="https://resaagar.ir/seo-for-beginners/">
<span class="rs-article-card__media"><img src="https://resaagar.ir/wp-content/uploads/2025/03/Copilot_20250721_011103-768x512.png" alt="راهنمای سئو برای مبتدیان" loading="lazy"></span>
<span class="rs-article-card__arrow" aria-hidden="true">↙</span>
<span class="rs-article-card__content"><span class="rs-article-card__tag">سئو</span><h3>راهنمای سئو برای مبتدیان؛ شروع اصولی از صفر</h3></span>
</a>
<a class="rs-article-card rs-reveal" href="https://resaagar.ir/role-of-social/">
<span class="rs-article-card__media"><img src="https://resaagar.ir/wp-content/uploads/2025/03/Copilot_20250721_015513-768x512.png" alt="نقش شبکههای اجتماعی در برندسازی" loading="lazy"></span>
<span class="rs-article-card__arrow" aria-hidden="true">↙</span>
<span class="rs-article-card__content"><span class="rs-article-card__tag">شبکههای اجتماعی</span><h3>۶ نقش شبکههای اجتماعی در برندسازی و افزایش فروش</h3></span>
</a>
<a class="rs-article-card rs-reveal" href="https://resaagar.ir/content-strategy/">
<span class="rs-article-card__media"><img src="https://resaagar.ir/wp-content/uploads/2025/03/Copilot_20250721_010639-768x512.png" alt="استراتژی محتوا برای کسبوکارهای کوچک" loading="lazy"></span>
<span class="rs-article-card__arrow" aria-hidden="true">↙</span>
<span class="rs-article-card__content"><span class="rs-article-card__tag">استراتژی محتوا</span><h3>چگونه استراتژی محتوا به رشد کسبوکارهای کوچک کمک میکند؟</h3></span>
</a>
</div>
</div>
</section>
<section class="rs-faq" aria-labelledby="rs-faq-title">
<div class="rs-container rs-faq__grid">
<div class="rs-faq__intro">
<p class="rs-kicker rs-reveal">سؤالهای درست</p>
<h2 class="rs-reveal" id="rs-faq-title">قبل از<br>شروع.</h2>
<p class="rs-reveal">اگر سؤال دیگری دارید، مستقیم با تیم رساگر صحبت کنید. گفتوگوی اولیه برای شناخت مسئله شماست.</p>
</div>
<div class="rs-faq__items rs-reveal">
<details>
<summary>رساگر دقیقاً چه خدماتی ارائه میدهد؟</summary>
<p>طراحی و توسعه وب، سئو، برندسازی، بازاریابی محلی، تولید محتوا و مدیریت شبکههای اجتماعی. بسته پیشنهادی بر اساس مسئله و هدف واقعی کسبوکار شما تنظیم میشود.</p>
</details>
<details>
<summary>آیا خدمات برای کسبوکارهای کوچک هم مناسب است؟</summary>
<p>بله. دامنه کار، اولویتها و بودجه بر اساس مرحله رشد کسبوکار تنظیم میشود تا از اقدامات پراکنده و هزینههای غیرضروری جلوگیری شود.</p>
</details>
<details>
<summary>فرایند شروع همکاری چگونه است؟</summary>
<p>پس از تماس اولیه، نیازها، مخاطب، رقبا و هدف بررسی میشوند. سپس مسیر پیشنهادی، دامنه کار، زمانبندی و هزینه بهصورت شفاف ارائه خواهد شد.</p>
</details>
<details>
<summary>هزینه خدمات چگونه محاسبه میشود؟</summary>
<p>قیمت به نوع خدمت، حجم پروژه، پیچیدگی اجرا و زمانبندی بستگی دارد. قبل از شروع، شرح خدمات و هزینه دقیق مشخص میشود.</p>
</details>
<details>
<summary>آیا مشاوره اولیه رایگان است؟</summary>
<p>بله؛ تماس اولیه برای شناخت وضعیت و مشخصکردن مسیر مناسب انجام میشود و الزامی برای شروع قرارداد ایجاد نمیکند.</p>
</details>
</div>
</div>
</section>
<section class="rs-final" aria-labelledby="rs-final-title">
<div class="rs-container rs-final__inner">
<p class="rs-final__mini rs-reveal">READY TO MAKE SOME NOISE?</p>
<h2 class="rs-reveal" id="rs-final-title">وقتشه برندت<span>رساتر بشه.</span></h2>
<p class="rs-reveal">اگر دنبال یک اجرای معمولی نیستید، از همینجا گفتوگو را شروع کنیم.</p>
<div class="rs-final__actions rs-reveal">
<a class="rs-btn rs-btn--primary rs-magnetic" href="https://resaagar.ir/contact/"><span>درخواست مشاوره</span></a>
<a class="rs-btn rs-btn--ghost rs-magnetic" href="https://wa.me/989106065625"><span>پیام در واتساپ</span></a>
</div>
<a class="rs-final__phone" href="tel:02182808707">021 8280 8707</a>
</div>
<div class="rs-credit">
<span>رساگر؛ نقطه اتصال برند شما با آینده دیجیتال</span>
<img src="https://resaagar.ir/wp-content/uploads/2024/12/logo512.png" alt="" width="34" height="34">
<span>RESAAGAR DIGITAL AGENCY</span>
</div>
</section>
</main>
<!-- Native browser animation: no external JavaScript library or WordPress plugin is required. -->
<script>
(function () {
"use strict";
var root = document.getElementById("resaagar-home");
if (!root || root.dataset.rsInit === "1") return;
root.dataset.rsInit = "1";
var storedMotion = null;
try { storedMotion = window.localStorage.getItem("resaagar-motion"); } catch (error) {}
var reducedMotion = storedMotion === "reduced";
root.dataset.motion = reducedMotion ? "reduced" : "full";
var finePointer = window.matchMedia("(pointer: fine)").matches;
var progress = root.querySelector(".rs-scroll-progress");
var hero = root.querySelector(".rs-hero");
var heroContent = root.querySelector(".rs-hero__content");
var heroGhost = root.querySelector(".rs-hero__ghost");
var orbit = root.querySelector(".rs-orbit");
var processSteps = root.querySelector(".rs-process__steps");
var processLine = root.querySelector(".rs-process__line span");
var mapCard = root.querySelector(".rs-map-feature__card");
var mapRadar = root.querySelector(".rs-map-radar");
var loader = root.querySelector(".rs-loader");
var loaderCounter = root.querySelector(".rs-loader__counter");
var loaderBar = root.querySelector(".rs-loader__bar i");
var motionToggle = root.querySelector(".rs-motion-toggle");
var motionLabel = motionToggle.querySelector("span");
var cursor = root.querySelector(".rs-cursor");
var rafId = 0;
function clamp(value, min, max) {
return Math.min(max, Math.max(min, value));
}
function updateMotion() {
var rect = root.getBoundingClientRect();
var travel = Math.max(1, root.offsetHeight - window.innerHeight);
var passed = Math.min(travel, Math.max(0, -rect.top));
progress.style.width = (passed / travel * 100) + "%";
if (!reducedMotion) {
var heroRect = hero.getBoundingClientRect();
var heroProgress = clamp(-heroRect.top / Math.max(1, heroRect.height), 0, 1);
orbit.style.transform = "translate3d(0," + (heroProgress * 115) + "px,0) rotate(" + (heroProgress * 25) + "deg) scale(" + (1 - heroProgress * .08) + ")";
heroContent.style.transform = "translate3d(0," + (heroProgress * 88) + "px,0)";
heroContent.style.opacity = String(1 - heroProgress * .58);
heroGhost.style.transform = "translate3d(" + (heroProgress * 190) + "px,0,0)";
var processRect = processSteps.getBoundingClientRect();
var processProgress = clamp((window.innerHeight * .74 - processRect.top) / Math.max(1, processRect.height), 0, 1);
processLine.style.transform = "scaleY(" + processProgress + ")";
var mapRect = mapCard.getBoundingClientRect();
var mapProgress = clamp((window.innerHeight - mapRect.top) / Math.max(1, window.innerHeight + mapRect.height), 0, 1);
mapRadar.style.transform = "translate3d(0," + ((.5 - mapProgress) * 34) + "px,0) rotate(" + ((mapProgress - .5) * 5) + "deg)";
}
rafId = 0;
}
window.addEventListener("scroll", function () {
if (!rafId) rafId = requestAnimationFrame(updateMotion);
}, { passive: true });
window.addEventListener("resize", function () {
if (!rafId) rafId = requestAnimationFrame(updateMotion);
}, { passive: true });
updateMotion();
motionToggle.setAttribute("aria-pressed", reducedMotion ? "false" : "true");
motionLabel.textContent = reducedMotion ? "حرکت کم" : "حرکت کامل";
motionToggle.addEventListener("click", function () {
var next = reducedMotion ? "full" : "reduced";
try { window.localStorage.setItem("resaagar-motion", next); } catch (error) {}
window.location.reload();
});
if (finePointer && !reducedMotion) {
var cursorX = -100;
var cursorY = -100;
var cursorRaf = 0;
root.addEventListener("pointerenter", function () { cursor.style.opacity = "1"; });
root.addEventListener("pointerleave", function () { cursor.style.opacity = "0"; });
root.addEventListener("pointermove", function (event) {
var rect = root.getBoundingClientRect();
root.style.setProperty("--rs-mx", (event.clientX - rect.left) + "px");
root.style.setProperty("--rs-my", (event.clientY - rect.top) + "px");
cursorX = event.clientX;
cursorY = event.clientY;
if (!cursorRaf) {
cursorRaf = requestAnimationFrame(function () {
cursor.style.transform = "translate3d(" + cursorX + "px," + cursorY + "px,0)";
cursorRaf = 0;
});
}
}, { passive: true });
root.querySelectorAll("a, button, summary").forEach(function (target) {
target.addEventListener("pointerenter", function () { cursor.classList.add("rs-cursor--active"); });
target.addEventListener("pointerleave", function () { cursor.classList.remove("rs-cursor--active"); });
});
root.querySelectorAll(".rs-magnetic").forEach(function (button) {
button.addEventListener("pointermove", function (event) {
var rect = button.getBoundingClientRect();
var x = (event.clientX - rect.left - rect.width / 2) * .18;
var y = (event.clientY - rect.top - rect.height / 2) * .18;
button.style.transform = "translate3d(" + x + "px," + y + "px,0)";
});
button.addEventListener("pointerleave", function () {
button.style.transform = "";
});
});
root.querySelectorAll(".rs-tilt").forEach(function (card) {
card.addEventListener("pointermove", function (event) {
var rect = card.getBoundingClientRect();
var x = event.clientX - rect.left;
var y = event.clientY - rect.top;
var rotateY = ((x / rect.width) - .5) * 4;
var rotateX = ((y / rect.height) - .5) * -4;
card.style.setProperty("--card-x", x + "px");
card.style.setProperty("--card-y", y + "px");
card.style.transform = "perspective(900px) rotateX(" + rotateX + "deg) rotateY(" + rotateY + "deg) translateY(-5px)";
});
card.addEventListener("pointerleave", function () {
card.style.transform = "";
});
});
}
if (reducedMotion) {
root.querySelectorAll(".rs-reveal").forEach(function (element) {
element.style.opacity = "1";
element.style.transform = "none";
});
return;
}
root.classList.add("rs-js");
var previousOverflow = document.documentElement.style.overflow;
document.documentElement.style.overflow = "hidden";
var loadStarted = performance.now();
function finishLoader() {
if (loader.classList.contains("rs-loader--done")) return;
loaderCounter.textContent = "۱۰۰";
loaderBar.style.transform = "scaleX(1)";
loader.classList.add("rs-loader--done");
document.documentElement.style.overflow = previousOverflow;
}
function updateLoader(now) {
var value = clamp((now - loadStarted) / 1250, 0, 1);
loaderCounter.textContent = Math.round(value * 100).toLocaleString("fa-IR");
loaderBar.style.transform = "scaleX(" + value + ")";
if (value < 1) requestAnimationFrame(updateLoader);
else window.setTimeout(finishLoader, 180);
}
requestAnimationFrame(updateLoader);
window.setTimeout(finishLoader, 2600);
(function initParticles() {
var canvas = root.querySelector(".rs-particles");
var context = canvas && canvas.getContext ? canvas.getContext("2d") : null;
if (!context) return;
var particles = [];
var pointer = { x: -1000, y: -1000 };
var width = 0;
var height = 0;
var dpr = 1;
function resizeCanvas() {
var rect = hero.getBoundingClientRect();
width = Math.max(1, rect.width);
height = Math.max(1, rect.height);
dpr = Math.min(window.devicePixelRatio || 1, 1.5);
canvas.width = Math.round(width * dpr);
canvas.height = Math.round(height * dpr);
canvas.style.width = width + "px";
canvas.style.height = height + "px";
context.setTransform(dpr, 0, 0, dpr, 0, 0);
var total = width < 700 ? 22 : 48;
particles = Array.from({ length: total }, function () {
return {
x: Math.random() * width,
y: Math.random() * height,
vx: (Math.random() - .5) * .32,
vy: (Math.random() - .5) * .32,
r: Math.random() * 1.8 + .7
};
});
}
hero.addEventListener("pointermove", function (event) {
var rect = hero.getBoundingClientRect();
pointer.x = event.clientX - rect.left;
pointer.y = event.clientY - rect.top;
}, { passive: true });
hero.addEventListener("pointerleave", function () { pointer.x = pointer.y = -1000; });
function drawParticles() {
context.clearRect(0, 0, width, height);
particles.forEach(function (particle, index) {
var dxPointer = pointer.x - particle.x;
var dyPointer = pointer.y - particle.y;
var pointerDistance = Math.hypot(dxPointer, dyPointer);
if (pointerDistance < 170 && pointerDistance > 1) {
particle.vx += dxPointer / pointerDistance * .008;
particle.vy += dyPointer / pointerDistance * .008;
}
particle.vx *= .995;
particle.vy *= .995;
particle.x += particle.vx;
particle.y += particle.vy;
if (particle.x < -10) particle.x = width + 10;
if (particle.x > width + 10) particle.x = -10;
if (particle.y < -10) particle.y = height + 10;
if (particle.y > height + 10) particle.y = -10;
context.beginPath();
context.arc(particle.x, particle.y, particle.r, 0, Math.PI * 2);
context.fillStyle = index % 4 === 0 ? "rgba(223,255,176,.88)" : "rgba(104,164,255,.6)";
context.fill();
for (var next = index + 1; next < particles.length; next++) {
var other = particles[next];
var distance = Math.hypot(other.x - particle.x, other.y - particle.y);
if (distance < 125) {
context.beginPath();
context.moveTo(particle.x, particle.y);
context.lineTo(other.x, other.y);
context.strokeStyle = "rgba(104,164,255," + ((1 - distance / 125) * .18) + ")";
context.lineWidth = .7;
context.stroke();
}
}
});
if (!document.hidden) requestAnimationFrame(drawParticles);
}
resizeCanvas();
window.addEventListener("resize", resizeCanvas, { passive: true });
document.addEventListener("visibilitychange", function () {
if (!document.hidden) requestAnimationFrame(drawParticles);
});
requestAnimationFrame(drawParticles);
})();
function entrance(element, delay, translate, scale) {
if (!element || typeof element.animate !== "function") return;
element.animate([
{ opacity: 0, transform: "translate3d(0," + translate + "px,0) scale(" + scale + ")" },
{ opacity: 1, transform: "translate3d(0,0,0) scale(1)" }
], {
duration: 950,
delay: delay,
easing: "cubic-bezier(.16,1,.3,1)",
fill: "both"
});
}
var introDelay = 1320;
entrance(root.querySelector(".rs-brand-chip"), introDelay, 24, 1);
root.querySelectorAll(".rs-hero h1 .rs-line").forEach(function (line, index) {
entrance(line, introDelay + 100 + index * 120, 92, .95);
});
entrance(root.querySelector(".rs-hero__lead"), introDelay + 520, 38, 1);
entrance(root.querySelector(".rs-hero__actions"), introDelay + 640, 32, 1);
entrance(root.querySelector(".rs-hero__proof"), introDelay + 750, 28, 1);
entrance(root.querySelector(".rs-orbit-wrap"), introDelay + 120, 45, .62);
if ("IntersectionObserver" in window) {
var observer = new IntersectionObserver(function (entries) {
entries.forEach(function (entry) {
if (!entry.isIntersecting) return;
entry.target.classList.add("rs-in");
observer.unobserve(entry.target);
});
}, { rootMargin: "0px 0px -10% 0px", threshold: .08 });
root.querySelectorAll(".rs-reveal").forEach(function (element, index) {
if (element.classList.contains("rs-service-card") || element.classList.contains("rs-article-card") || element.classList.contains("rs-process-step")) {
element.style.transitionDelay = ((index % 2) * 120) + "ms";
}
observer.observe(element);
});
} else {
root.querySelectorAll(".rs-reveal").forEach(function (element) {
element.classList.add("rs-in");
});
}
window.addEventListener("load", updateMotion, { once: true });
})();
</script>