

:root {
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --dur-appear: 520ms;
  --dur-fast: 180ms;
  --appear-rise: 16px;
  --appear-stagger: 80ms;

  --dur-halo-drift: 6s;
  --dur-halo-breathe: 3.2s;
  --dur-ring-travel: 4s;
  --dur-sheen: .6s;
  --dur-press: 80ms;
}
[data-theme="light"] { --grain-opacity: var(--grain-opacity-light, .03); }
@media (prefers-reduced-motion: reduce) {
  :root { --dur-appear: 1ms; --appear-rise: 0px; --appear-stagger: 0ms; }
}

*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font: 400 var(--fs-body)/var(--lh-body) var(--font-body);
  -webkit-font-smoothing: antialiased;
}
a { color: var(--link); text-underline-offset: .2em; }
:lang(he), [dir="rtl"] { font-family: var(--font-hebrew); }

.appear {
  opacity: 0;
  transform: translateY(var(--appear-rise));
  transition: opacity var(--dur-appear) var(--ease-out), transform var(--dur-appear) var(--ease-out);
  transition-delay: calc(var(--i, 0) * var(--appear-stagger));
}
.appear.is-in { opacity: 1; transform: none; }

.grain::after {
  content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 100;
  opacity: var(--grain-opacity);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
[data-theme="light"] .grain::after { filter: invert(1); }

.focus-glow:focus-visible, .focus-glow.is-focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--bg), 0 0 0 4px var(--ra-g-violet), 0 0 18px 2px rgba(235,109,244,.35);
}

.ra-only-light { display: none !important; }
[data-theme="light"] .ra-only-dark { display: none !important; }
[data-theme="light"] .ra-only-light { display: revert !important; }

.ra-wrap { max-width: var(--content-max); margin-inline: auto; padding-inline: var(--gutter); }
.ra-section { padding-block: var(--space-9); }
.ra-band { background: var(--bg-deep); }

.ra-display, .ra-h1, .ra-h2, .ra-h3 {
  margin: 0; font-family: var(--font-display); font-weight: 600;
  letter-spacing: var(--tracking-display); line-height: var(--lh-head); color: var(--text);
}
.ra-display { font-size: var(--fs-display); line-height: var(--lh-tight); max-width: 16ch; }
.ra-h1 { font-size: var(--fs-h1); }
.ra-h2 { font-size: var(--fs-h2); }
.ra-h3 { font-size: var(--fs-h3); }
.ra-lead { margin: 0; font-size: var(--fs-lead); line-height: var(--lh-body); color: var(--text-muted); max-width: var(--text-max); }
.ra-body { margin: 0; font-size: var(--fs-body); line-height: var(--lh-body); max-width: var(--text-max); }
.ra-small { font-size: var(--fs-small); }

.ra-sig {
  margin: 0; font: 500 var(--fs-mono)/1.4 var(--font-mono);
  letter-spacing: var(--tracking-mono); text-transform: uppercase; color: var(--text-muted);
}

.ra-mono { margin: 0; font: 400 var(--fs-mono)/1.5 var(--font-mono); letter-spacing: .01em; color: var(--text-muted); }
.ra-mono a, .ra-proof a { color: inherit; }

.ra-wow {
  background: var(--ra-gradient-metallic, linear-gradient(120deg, #EB6DF4 0%, #923A9E 30%, #6C4DC4 55%, #74B0EC 80%, #162171 100%));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

.ra-missing {
  display: inline-block; font: 500 var(--fs-mono)/1.4 var(--font-mono); letter-spacing: var(--tracking-mono);
  color: var(--text-muted); border: 1px dashed var(--text-muted); border-radius: var(--radius-sm);
  padding: 2px var(--space-2);
}

.ra-layer {
  position: relative;
  background: var(--surface-tint), var(--surface);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  box-shadow: var(--elevation-1);
}
.ra-layer--2 { box-shadow: var(--elevation-2); }
.ra-layer--3 { box-shadow: var(--elevation-3); }
.ra-layer--deep { background: var(--surface-tint), var(--bg-deep); }

.ra-btn {
  position: relative; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: var(--space-4) var(--space-6);
  border: 0; border-radius: var(--radius-md);
  font: 600 var(--fs-body)/1 var(--font-body); text-decoration: none; white-space: nowrap; cursor: pointer;
  transition: transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), color var(--dur-fast);
  -webkit-tap-highlight-color: transparent;
}
.ra-btn .lbl, .ra-btn .arrow { position: relative; z-index: 1; }
.ra-btn .arrow { display: inline-block; transition: transform .2s ease; }
.ra-btn:hover .arrow, .ra-btn.is-hover .arrow { transform: translateX(6px); }
[dir="rtl"] .ra-btn .arrow { transform: scaleX(-1); }
[dir="rtl"] .ra-btn:hover .arrow, [dir="rtl"] .ra-btn.is-hover .arrow { transform: scaleX(-1) translateX(6px); }
.ra-btn--sm { min-height: 44px; padding: var(--space-2) var(--space-4); font-size: var(--fs-small); gap: var(--space-2); }
.ra-btn--block { display: flex; width: 100%; }

.ra-btn::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: linear-gradient(75deg, transparent 32%, rgba(255,255,255,var(--sheen, .22)) 48%, transparent 64%);
  transform: translateX(-120%); transition: transform var(--dur-sheen) ease;
}
.ra-btn:hover::before { transform: translateX(120%); }
.ra-btn.is-hover::before { transform: translateX(0); }

.ra-btn--t1 {
  --brush: .06; --bevel: .28; --edge-top: .5; --edge-bottom: .65; --sheen: .26;
  color: var(--ra-cream);
  background:
    linear-gradient(180deg, rgba(255,255,255,var(--bevel)), rgba(255,255,255,0) 45%),
    repeating-linear-gradient(90deg, rgba(255,255,255,var(--brush)) 0 1px, transparent 1px 3px),
    linear-gradient(180deg, var(--ra-slate), var(--ra-ink));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,var(--edge-top)),
    inset 0 -1px 0 rgba(0,0,0,var(--edge-bottom)),
    0 8px 24px -8px rgba(0,0,0,.6);
}

.ra-btn--subtle { --brush: .03; --bevel: .18; --edge-top: .35; --edge-bottom: .5; --sheen: .22; }
.ra-btn--medium { --brush: .06; --bevel: .28; --edge-top: .5; --edge-bottom: .65; --sheen: .26; }
.ra-btn--chrome {
  --sheen: .42;
  background:
    radial-gradient(120% 75% at 50% -12%, rgba(255,255,255,.36), rgba(255,255,255,0) 58%),
    linear-gradient(180deg, rgba(255,255,255,.30), rgba(255,255,255,0) 46%, rgba(255,255,255,.06) 47%, rgba(255,255,255,0) 70%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.11) 0 1px, rgba(0,0,0,.12) 1px 2px, transparent 2px 4px),
    linear-gradient(180deg, var(--ra-slate), var(--ra-ink));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.7),
    inset 0 -1px 0 rgba(0,0,0,.75),
    inset 0 -6px 10px -6px rgba(0,0,0,.6),
    0 10px 28px -8px rgba(0,0,0,.7);
}

.ra-btn--t1::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 2.5px; pointer-events: none;
  background: linear-gradient(90deg, var(--ra-g-magenta), var(--ra-g-violet), var(--ra-g-indigo), var(--ra-g-blue), var(--ra-g-royal), var(--ra-g-magenta));
  background-size: 300% 100%;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  animation: ra-ring-travel var(--dur-ring-travel) linear infinite;
}
.ra-btn--chrome::after {
  background: linear-gradient(90deg, var(--ra-g-magenta), var(--ra-cream), var(--ra-g-indigo), var(--ra-g-blue), var(--ra-cream), var(--ra-g-magenta));
  background-size: 300% 100%;
}
.ra-btn--subtle::after { padding: 2px; }
.ra-btn--t1:hover, .ra-btn--t1.is-hover { transform: translateY(-2px); }
.ra-btn--t1:active, .ra-btn--t1.is-active { transform: translateY(0) scale(.98); transition-duration: var(--dur-press); }
.ra-btn--t1:focus-visible, .ra-btn--t1.is-focus {
  outline: none;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,var(--edge-top)), inset 0 -1px 0 rgba(0,0,0,var(--edge-bottom)),
    0 0 0 2px var(--bg), 0 0 0 4px var(--ra-g-violet), 0 0 18px 2px rgba(235,109,244,.35);
}

.ra-btn-wrap { position: relative; display: inline-flex; isolation: isolate; border-radius: var(--radius-md); }
.ra-btn-wrap > .ra-btn--block { flex: 1; }
.ra-btn-wrap::before {
  content: ""; position: absolute; inset: -6px; z-index: -1; border-radius: inherit; pointer-events: none;
  background: linear-gradient(90deg, var(--ra-g-violet), var(--ra-g-magenta), var(--ra-g-blue), var(--ra-g-indigo), var(--ra-g-violet));
  background-size: 300% 100%;
  filter: blur(15px); opacity: .7;
  animation: ra-halo-drift var(--dur-halo-drift) ease-in-out infinite alternate, ra-halo-breathe var(--dur-halo-breathe) ease-in-out infinite;
}
.ra-btn-wrap::after {
  content: ""; position: absolute; inset: -28px -16px; z-index: -2; pointer-events: none;
  background: var(--glow-cta); opacity: .7; transition: opacity var(--dur-fast);
  -webkit-mask-image: radial-gradient(closest-side, #000 55%, transparent); mask-image: radial-gradient(closest-side, #000 55%, transparent);
}
.ra-btn-wrap:hover::before, .ra-btn-wrap.is-hover::before { filter: blur(18px) brightness(1.35); }
.ra-btn-wrap:hover::after, .ra-btn-wrap.is-hover::after { opacity: 1; }
@media (min-width: 720px) { .ra-btn-wrap::after { inset: -28px -40px; } }
@keyframes ra-halo-drift { from { background-position: 0% 50%; } to { background-position: 100% 50%; } }
@keyframes ra-halo-breathe { 0%, 100% { opacity: .55; } 50% { opacity: .9; } }
@keyframes ra-ring-travel { from { background-position: 0% 50%; } to { background-position: 300% 50%; } }

.ra-btn--t2 {
  --sheen: .14;
  color: var(--text);
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,0) 50%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.02) 0 1px, transparent 1px 3px),
    rgba(255,255,255,.03);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
.ra-btn--t2::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; pointer-events: none;
  background: linear-gradient(160deg, rgba(255,255,255,.55), rgba(255,255,255,.10) 45%, rgba(255,255,255,.40));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  opacity: .7; transition: opacity var(--dur-fast);
}
[data-theme="light"] .ra-btn--t2 {
  --sheen: .7;
  background:
    linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,0) 55%),
    repeating-linear-gradient(90deg, rgba(21,20,26,.025) 0 1px, transparent 1px 3px),
    rgba(21,20,26,.03);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 1px 2px rgba(21,20,26,.06);
}
[data-theme="light"] .ra-btn--t2::after {
  background: linear-gradient(160deg, rgba(21,20,26,.45), rgba(21,20,26,.14) 45%, rgba(21,20,26,.35));
}
.ra-btn--t2:hover, .ra-btn--t2.is-hover { transform: translateY(-1px); }
.ra-btn--t2:hover::after, .ra-btn--t2.is-hover::after { opacity: 1; }
.ra-btn--t2:active, .ra-btn--t2.is-active { transform: scale(.98); transition-duration: var(--dur-press); }
.ra-btn--t2:focus-visible, .ra-btn--t2.is-focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--bg), 0 0 0 4px var(--ra-g-violet), 0 0 18px 2px rgba(235,109,244,.35);
}

@media (prefers-reduced-motion: reduce) {
  .ra-btn-wrap::before, .ra-btn--t1::after { animation: none; }
  .ra-btn-wrap::before { opacity: .7; }
  .ra-btn::before { display: none; }
}
.ra-reduced .ra-btn-wrap::before, .ra-reduced .ra-btn--t1::after, .ra-btn-wrap.ra-reduced::before { animation: none; }
.ra-reduced .ra-btn-wrap::before, .ra-btn-wrap.ra-reduced::before { opacity: .7; }
.ra-reduced .ra-btn::before { display: none; }

.ra-signature {
  display: inline-flex; align-items: center; gap: var(--space-3);
  color: var(--text); text-decoration: none;
  font: 600 1.125rem/1 var(--font-display); letter-spacing: var(--tracking-display);
}
.ra-signature img { display: block; height: 32px; width: auto; }
.ra-signature--lg { font-size: var(--fs-h3); gap: var(--space-4); }
.ra-signature--lg img { height: 48px; }

.ra-header {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: var(--space-3) var(--space-5); padding-block: var(--space-4);
}
.ra-nav { display: flex; gap: var(--space-5); font-size: var(--fs-small); }
.ra-nav a { color: var(--text-muted); text-decoration: none; padding-block: var(--space-2); transition: color var(--dur-fast); }
.ra-nav a:hover, .ra-nav a[aria-current] { color: var(--text); }
.ra-header__actions { display: flex; align-items: center; gap: var(--space-3); }
@media (max-width: 719px) {
  .ra-nav { order: 3; width: 100%; gap: var(--space-5); border-top: 1px solid var(--border); padding-top: var(--space-2); }
  .ra-header__actions { gap: var(--space-2); }
  .ra-header__actions .ra-btn--sm { padding-inline: var(--space-3); }
  .ra-header__wa .arrow, .ra-header .ra-toggle .lbl { display: none; }
}

.ra-toggle { font-family: var(--font-mono); font-weight: 500; letter-spacing: var(--tracking-mono); text-transform: uppercase; font-size: var(--fs-mono); }
.ra-toggle__dot {
  position: relative; z-index: 1; width: 14px; height: 14px; border-radius: var(--radius-pill);
  border: 1.5px solid currentColor; background: linear-gradient(90deg, currentColor 50%, transparent 50%);
}
[dir="rtl"] .ra-toggle__dot { transform: scaleX(-1); }

.ra-hero { display: grid; gap: var(--space-7); padding-block: var(--space-8) var(--space-9); align-items: center; }
.ra-hero__lead { margin-top: var(--space-5); }
.ra-hero__cta { margin-top: var(--space-7); display: flex; flex-wrap: wrap; gap: var(--space-3); }
.ra-hero__proof { margin-top: var(--space-5); max-width: var(--text-max); }
.ra-hero__photo { max-width: 420px; width: 100%; justify-self: center; }
@media (min-width: 900px) {
  .ra-hero { grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr); gap: var(--space-8); }
}
@media (max-width: 519px) { .ra-hero__cta .ra-btn-wrap { width: 100%; } .ra-hero__cta .ra-btn { width: 100%; } }

.ra-doors { display: grid; gap: var(--space-5); }
@media (min-width: 760px) { .ra-doors { grid-template-columns: 1fr 1fr; } }
.ra-door { display: flex; flex-direction: column; gap: var(--space-4); min-height: 100%; }
.ra-door__line { margin: 0; font-size: var(--fs-lead); line-height: 1.4; color: var(--text); }
.ra-door__desc { margin: 0; color: var(--text-muted); }
.ra-door__offers { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-2); }
.ra-door__offers li {
  font: 400 var(--fs-mono)/1.4 var(--font-mono); color: var(--text-muted);
  padding: var(--space-1) var(--space-3); border-radius: var(--radius-sm); background: var(--accent-soft);
}
[data-theme="light"] .ra-door__offers li { color: var(--text); }
.ra-door__link { margin-top: auto; padding-top: var(--space-4); font: 500 var(--fs-small)/1.4 var(--font-mono); letter-spacing: .01em; color: var(--link); text-decoration: none; }
.ra-door__link:hover { text-decoration: underline; }

.ra-proof-row { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--border); }
.ra-proof-item { display: grid; gap: var(--space-2); padding-block: var(--space-5); border-bottom: 1px solid var(--border); }
.ra-proof-item p { margin: 0; }
@media (min-width: 760px) { .ra-proof-item { grid-template-columns: 180px minmax(0, 1fr); gap: var(--space-6); align-items: baseline; } }

.ra-ph {
  display: grid; place-content: center; gap: var(--space-2); text-align: center;
  min-height: 160px; padding: var(--space-6);
  border: 1px dashed var(--text-muted); border-radius: var(--radius-lg);
  background: repeating-linear-gradient(135deg, transparent 0 14px, rgba(160,150,210,.05) 14px 15px), var(--bg-deep);
  color: var(--text-muted);
}
.ra-ph p { margin: 0; }
.ra-ph--screen { aspect-ratio: 16 / 10; }
.ra-ph--portrait { aspect-ratio: 4 / 5; }
.ra-ph--quote { min-height: 200px; text-align: start; place-content: center start; }

.ra-about { display: grid; gap: var(--space-8); max-width: 880px; }
.ra-about__item { display: grid; gap: var(--space-3); }
.ra-about__purpose { margin: 0; font-size: var(--fs-lead); line-height: var(--lh-body); color: var(--text); max-width: var(--text-max); }

.ra-footer {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: var(--space-4) var(--space-6); padding-block: var(--space-7); border-top: 1px solid var(--border);
}
.ra-footer__links { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); align-items: center; }
.ra-footer__links a { color: var(--text-muted); text-decoration: none; }
.ra-footer__links a:hover { color: var(--text); }
