/* ==========================================================
   Ohr HaTzaddik 5787 landing page
   ========================================================== */

.oh-page {
  --oh-night: #0c0805;
  --oh-ember: #1a1009;
  --oh-deep: #24160b;
  --oh-gold: #e7b451;
  --oh-gold-lt: #f8dc93;
  --oh-gold-dk: #b07a22;
  --oh-amber: #d9731c;
  --oh-parch: #f7f0e3;
  --oh-parch-2: #efe4cf;
  --oh-ink: #2b1d11;
  --oh-he: 'Noto Serif', 'Noto Serif Hebrew', Georgia, 'Times New Roman', serif;
  --oh-sans: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
  background: var(--oh-night);
  color: #fff;
  overflow: hidden;
  font-family: var(--oh-sans);
}
.oh-page *, .oh-page *::before, .oh-page *::after { box-sizing: border-box; }
.oh-page h1, .oh-page h2, .oh-page h3, .oh-page p, .oh-page ul, .oh-page li { margin: 0; padding: 0; }
.oh-page img { max-width: 100%; }

.oh-wrap { position: relative; z-index: 2; max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.oh-narrow { max-width: 860px; }

/* ---------- Buttons ---------- */
.oh-btn {
  position: relative; display: inline-flex; align-items: center; gap: 12px;
  padding: 16px 30px; border-radius: 999px;
  font-family: var(--oh-sans); font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
  text-decoration: none !important; cursor: pointer; overflow: hidden;
  transition: transform 250ms ease, box-shadow 250ms ease, background-color 250ms ease, color 250ms ease;
}
.oh-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transition: transform 250ms ease; }
.oh-btn:hover svg { transform: translateX(4px); }
.oh-btn-gold {
  color: #1e1206 !important;
  background: linear-gradient(135deg, var(--oh-gold-lt) 0%, var(--oh-gold) 45%, var(--oh-gold-dk) 100%);
  box-shadow: 0 10px 30px -8px rgba(231,180,81,0.65), inset 0 1px 0 rgba(255,255,255,0.5);
}
.oh-btn-gold::after {
  content: ''; position: absolute; top: 0; left: -60%; width: 40%; height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,0.65), transparent);
  transform: skewX(-20deg); animation: oh-btn-shine 4.5s ease-in-out infinite;
}
.oh-btn-gold:hover { transform: translateY(-2px); box-shadow: 0 16px 40px -8px rgba(231,180,81,0.85), inset 0 1px 0 rgba(255,255,255,0.5); }
.oh-btn-ghost { color: #fff !important; border: 1px solid rgba(248,220,147,0.45); background: rgba(255,255,255,0.03); }
.oh-btn-ghost:hover { border-color: var(--oh-gold-lt); background: rgba(248,220,147,0.1); transform: translateY(-2px); }
.oh-btn-lg { padding: 20px 40px; font-size: 14px; }
@keyframes oh-btn-shine { 0%, 60% { left: -60%; } 100% { left: 130%; } }

/* ---------- Hero ---------- */
.oh-hero {
  position: relative; min-height: 100vh; min-height: 100svh;
  display: flex; align-items: center;
  padding: 130px 0 100px;
  background:
    radial-gradient(ellipse 60% 70% at 72% 45%, rgba(217,115,28,0.35) 0%, rgba(217,115,28,0) 60%),
    radial-gradient(ellipse 80% 60% at 20% 100%, rgba(120,60,15,0.35) 0%, rgba(0,0,0,0) 70%),
    var(--oh-night);
  isolation: isolate;
}
.oh-hero-bg { position: absolute; inset: -10%; z-index: -3; overflow: hidden; }
.oh-hero-bg img {
  width: 100%; height: 100%; object-fit: cover;
  filter: blur(46px) saturate(1.3) brightness(0.55);
  opacity: 0.55; transform: scale(1.1);
}
.oh-embers { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; }
.oh-hero-vignette {
  position: absolute; inset: 0; z-index: -2; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(12,8,5,0.75) 0%, rgba(12,8,5,0) 22%, rgba(12,8,5,0) 70%, var(--oh-night) 100%),
    radial-gradient(ellipse at center, rgba(0,0,0,0) 40%, rgba(0,0,0,0.55) 100%);
}
.oh-hero-inner {
  position: relative; z-index: 2; width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 40px;
  display: grid; grid-template-columns: 1.05fr 0.95fr; align-items: center; gap: 40px;
}

.oh-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 8px 18px; border: 1px solid rgba(248,220,147,0.35); border-radius: 999px;
  background: rgba(231,180,81,0.08); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--oh-gold-lt);
}
.oh-eyebrow [lang="he"] { font-family: var(--oh-he); font-size: 15px; letter-spacing: 0; font-weight: 700; }
.oh-eyebrow-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--oh-gold); box-shadow: 0 0 0 0 rgba(231,180,81,0.7); animation: oh-pulse 2.2s infinite; }
@keyframes oh-pulse { 0% { box-shadow: 0 0 0 0 rgba(231,180,81,0.7); } 70% { box-shadow: 0 0 0 10px rgba(231,180,81,0); } 100% { box-shadow: 0 0 0 0 rgba(231,180,81,0); } }

.oh-title { margin: 26px 0 22px !important; font-weight: normal; line-height: 1; color: #fff; }
.oh-title-he {
  display: block; text-align: left;
  font-family: var(--oh-he); font-weight: 900;
  font-size: clamp(64px, 8.4vw, 128px); line-height: 1; white-space: nowrap;
  background: linear-gradient(100deg, #b07a22 0%, #f8dc93 22%, #fff4d2 30%, #e7b451 42%, #b07a22 60%, #f8dc93 80%, #e7b451 100%);
  background-size: 250% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 6px 30px rgba(231,140,40,0.35));
  animation: oh-shimmer 7s ease-in-out infinite;
  padding-bottom: 0.08em;
}
@keyframes oh-shimmer { 0%, 100% { background-position: 100% 50%; } 50% { background-position: 0% 50%; } }
.oh-title-en {
  display: block; margin-top: 14px;
  font-family: var(--oh-he); font-weight: 500; font-size: clamp(24px, 2.6vw, 34px); letter-spacing: 0.02em; color: #fff;
}
.oh-title-en em { font-style: normal; color: var(--oh-gold-lt); font-weight: 400; }
.oh-lede { max-width: 520px; font-size: 17px; line-height: 1.75; color: rgba(255,255,255,0.78); font-weight: 400; margin-bottom: 34px !important; }
.oh-cta-row { display: flex; flex-wrap: wrap; gap: 14px; }
.oh-hero-note { margin-top: 26px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 11px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(248,220,147,0.8); }
.oh-sep { color: var(--oh-gold); font-size: 10px; }

/* Book */
.oh-hero-book { position: relative; display: flex; justify-content: center; align-items: center; perspective: 1400px; min-height: 520px; }
.oh-rays {
  position: absolute; left: 50%; top: 50%; width: 170%; aspect-ratio: 1; z-index: 0;
  transform: translate(-50%, -50%);
  background: repeating-conic-gradient(from 0deg, rgba(248,220,147,0.16) 0deg 3deg, rgba(248,220,147,0) 3deg 15deg);
  -webkit-mask-image: radial-gradient(circle, #000 0%, rgba(0,0,0,0.6) 25%, transparent 62%);
  mask-image: radial-gradient(circle, #000 0%, rgba(0,0,0,0.6) 25%, transparent 62%);
  animation: oh-spin 90s linear infinite;
  pointer-events: none;
}
@keyframes oh-spin { to { transform: translate(-50%, -50%) rotate(360deg); } }
.oh-halo {
  position: absolute; left: 50%; top: 50%; width: 80%; aspect-ratio: 1; z-index: 0; border-radius: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255,190,90,0.55) 0%, rgba(217,115,28,0.25) 40%, rgba(217,115,28,0) 70%);
  filter: blur(10px);
  animation: oh-breathe 6s ease-in-out infinite;
}
@keyframes oh-breathe { 0%, 100% { opacity: 0.8; transform: translate(-50%, -50%) scale(1); } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.08); } }
.oh-book-tilt { position: relative; z-index: 2; transform-style: preserve-3d; transition: transform 600ms cubic-bezier(.2,.7,.2,1); will-change: transform; }
.oh-book-float { position: relative; animation: oh-float 7s ease-in-out infinite; transform-style: preserve-3d; }
@keyframes oh-float { 0%, 100% { transform: translateY(0) rotate(-1.2deg); } 50% { transform: translateY(-16px) rotate(0.8deg); } }
.oh-book-img {
  display: block; width: 360px; max-width: 100%; height: auto; border-radius: 6px;
  filter: drop-shadow(0 30px 40px rgba(0,0,0,0.6)) drop-shadow(0 0 30px rgba(255,180,80,0.25));
}
.oh-book-shine {
  position: absolute; inset: 0; border-radius: 6px; pointer-events: none;
  background: linear-gradient(115deg, rgba(255,255,255,0) 35%, rgba(255,255,255,0.28) 48%, rgba(255,255,255,0) 60%);
  background-size: 250% 100%; background-position: var(--oh-shine, 120%) 0;
  mix-blend-mode: soft-light;
  transition: background-position 400ms ease;
}
.oh-book-shadow {
  position: absolute; bottom: 10px; left: 50%; width: 280px; height: 30px; transform: translateX(-50%);
  background: radial-gradient(ellipse, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 70%);
  animation: oh-shadow 7s ease-in-out infinite; z-index: 1;
}
@keyframes oh-shadow { 0%, 100% { transform: translateX(-50%) scale(1); opacity: 0.9; } 50% { transform: translateX(-50%) scale(0.85); opacity: 0.6; } }

.oh-scroll-cue {
  position: absolute; left: 50%; bottom: 26px; z-index: 3; transform: translateX(-50%);
  width: 26px; height: 42px; border: 1.5px solid rgba(248,220,147,0.55); border-radius: 20px;
}
.oh-scroll-cue span { position: absolute; left: 50%; top: 8px; width: 4px; height: 8px; margin-left: -2px; border-radius: 2px; background: var(--oh-gold-lt); animation: oh-cue 1.8s ease-in-out infinite; }
@keyframes oh-cue { 0% { opacity: 0; transform: translateY(0); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(14px); } }

/* Intro sequence (page load) */
.oh-js .oh-intro { opacity: 0; transform: translateY(28px); animation: oh-in 1s cubic-bezier(.2,.7,.2,1) forwards; animation-delay: calc(var(--d, 0) * 130ms + 150ms); }
.oh-js .oh-hero-book.oh-intro { transform: translateY(40px) scale(0.94); animation-duration: 1.4s; }
@keyframes oh-in { to { opacity: 1; transform: none; } }

/* ---------- Marquee ---------- */
.oh-marquee {
  position: relative; z-index: 3; overflow: hidden; white-space: nowrap;
  background: linear-gradient(90deg, var(--oh-gold-dk), var(--oh-gold) 30%, var(--oh-gold-lt) 50%, var(--oh-gold) 70%, var(--oh-gold-dk));
  color: #2a1804; padding: 16px 0;
  box-shadow: 0 0 40px rgba(231,180,81,0.35);
}
.oh-marquee-track { display: inline-flex; animation: oh-marquee 40s linear infinite; }
.oh-marquee-group { display: inline-flex; align-items: center; flex-shrink: 0; }
.oh-marquee span { padding: 0 20px; font-size: 13px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; }
.oh-marquee span[lang="he"] { font-family: var(--oh-he); font-size: 21px; letter-spacing: 0; text-transform: none; font-weight: 700; }
.oh-marquee i { font-style: normal; font-size: 10px; opacity: 0.6; }
@keyframes oh-marquee { to { transform: translateX(-50%); } }

/* ---------- Intro / verse ---------- */
.oh-intro-sec {
  position: relative; padding: 130px 0 120px; text-align: center; color: var(--oh-ink);
  background:
    radial-gradient(ellipse 70% 60% at 50% 0%, rgba(231,180,81,0.22), rgba(231,180,81,0) 70%),
    var(--oh-parch);
}
.oh-flourish svg { width: 220px; height: 24px; fill: none; stroke: var(--oh-gold-dk); stroke-width: 1.4; margin-bottom: 36px; }
.oh-flourish circle { fill: var(--oh-gold-dk); stroke: none; }
.oh-verse {
  font-family: var(--oh-he); font-weight: 700; color: var(--oh-ink);
  font-size: clamp(34px, 5.4vw, 64px); line-height: 1.3; text-wrap: balance;
}
.oh-verse .oh-word { display: inline-block; }
.oh-js .oh-verse .oh-word { opacity: 0; transform: translateY(30px); filter: blur(8px); transition: opacity 900ms ease, transform 900ms cubic-bezier(.2,.7,.2,1), filter 900ms ease; transition-delay: calc(var(--w) * 110ms); }
.oh-js .oh-verse.is-in .oh-word { opacity: 1; transform: none; filter: blur(0); }
.oh-verse .oh-word:nth-child(4), .oh-verse .oh-word:nth-child(5) { color: var(--oh-gold-dk); }
.oh-verse-en { margin-top: 18px !important; font-family: var(--oh-he); font-style: italic; font-size: clamp(18px, 2vw, 22px); color: #8a6a3f; }
.oh-body { margin: 40px auto 0 !important; max-width: 640px; font-size: 18px; line-height: 1.85; color: #4a3826; font-weight: 400; }
.oh-body strong { color: var(--oh-ink); }

/* ---------- Inside ---------- */
.oh-inside { position: relative; padding: 130px 0 140px; background: linear-gradient(180deg, var(--oh-ember) 0%, var(--oh-night) 100%); }
.oh-inside-glow {
  position: absolute; left: 50%; top: 0; width: 900px; height: 600px; transform: translateX(-50%);
  background: radial-gradient(ellipse, rgba(217,115,28,0.18), rgba(217,115,28,0) 65%); pointer-events: none;
}
.oh-sec-head { text-align: center; max-width: 680px; margin: 0 auto 64px; }
.oh-kicker { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: 0.3em; text-transform: uppercase; color: var(--oh-gold); margin-bottom: 18px; }
.oh-kicker-dark { color: var(--oh-gold-dk); }
.oh-h2 { font-family: var(--oh-he) !important; font-weight: 700 !important; font-size: clamp(34px, 4.6vw, 56px) !important; line-height: 1.12 !important; color: #fff !important; margin: 0 0 20px !important; letter-spacing: -0.01em; }
.oh-h2-dark { color: var(--oh-ink) !important; }
.oh-sec-sub { font-size: 17px; line-height: 1.75; color: rgba(255,255,255,0.65); }

/* Zigzag feature rows */
.oh-rows { position: relative; max-width: 1040px; margin: 0 auto; }
.oh-spine { position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; margin-left: -0.5px; background: rgba(248,220,147,0.14); }
.oh-spine-fill { position: absolute; left: 0; top: 0; width: 100%; height: 100%; transform-origin: top; transform: scaleY(var(--oh-p, 1)); background: linear-gradient(180deg, var(--oh-gold-lt), var(--oh-gold) 60%, var(--oh-amber)); box-shadow: 0 0 12px rgba(231,180,81,0.6); }
.oh-row { position: relative; display: grid; grid-template-columns: 1fr 90px 1fr; align-items: center; padding: 46px 0; }
.oh-row-he {
  grid-column: 1; text-align: right;
  font-family: var(--oh-he); font-weight: 900; line-height: 1.05;
  font-size: clamp(46px, 6.4vw, 92px);
  background: linear-gradient(180deg, var(--oh-gold-lt) 0%, var(--oh-gold) 55%, var(--oh-gold-dk) 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: var(--oh-gold);
}
.oh-row-node { grid-column: 2; justify-self: center; width: 14px; height: 14px; transform: rotate(45deg); border: 1px solid var(--oh-gold); background: var(--oh-night); transition: background-color 600ms ease, box-shadow 600ms ease; }
.oh-row.is-in .oh-row-node, html:not(.oh-js) .oh-row-node { background: var(--oh-gold); box-shadow: 0 0 0 6px rgba(231,180,81,0.12), 0 0 20px rgba(231,180,81,0.8); }
.oh-row-text { grid-column: 3; max-width: 400px; }
.oh-row-num { display: block; font-size: 12px; font-weight: 700; letter-spacing: 0.3em; color: var(--oh-gold); margin-bottom: 10px; }
.oh-row-text h3 { font-family: var(--oh-he); font-size: clamp(24px, 2.4vw, 30px); font-weight: 700; color: #fff; line-height: 1.2; margin-bottom: 10px !important; }
.oh-row-text p { font-size: 16px; line-height: 1.75; color: rgba(255,255,255,0.64); }
/* even rows swap sides */
.oh-row:nth-child(odd) .oh-row-he { grid-column: 3; grid-row: 1; text-align: left; }
.oh-row:nth-child(odd) .oh-row-text { grid-column: 1; grid-row: 1; justify-self: end; text-align: right; }
.oh-row:nth-child(odd) .oh-row-node { grid-row: 1; }
/* row reveal: each half slides in from its outer edge */
.oh-js .oh-row .oh-row-he, .oh-js .oh-row .oh-row-text { opacity: 0; transition: opacity 1s ease, transform 1.1s cubic-bezier(.2,.7,.2,1); }
.oh-js .oh-row .oh-row-he { transform: translateX(-60px); }
.oh-js .oh-row .oh-row-text { transform: translateX(60px); transition-delay: 150ms; }
.oh-js .oh-row:nth-child(odd) .oh-row-he { transform: translateX(60px); }
.oh-js .oh-row:nth-child(odd) .oh-row-text { transform: translateX(-60px); }
.oh-js .oh-row.is-in .oh-row-he, .oh-js .oh-row.is-in .oh-row-text { opacity: 1; transform: none; }

/* ---------- Carry ---------- */
.oh-carry { position: relative; padding: 130px 0; background: var(--oh-parch); color: var(--oh-ink); }
.oh-carry-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 70px; align-items: center; }
.oh-places { list-style: none !important; margin-top: 36px !important; }
.oh-places li { display: flex; align-items: center; gap: 20px; padding: 16px 0; border-bottom: 1px solid rgba(43,29,17,0.1); list-style: none !important; }
.oh-place-line { display: block; width: 0; height: 2px; background: linear-gradient(90deg, var(--oh-gold-dk), var(--oh-gold)); transition: width 900ms cubic-bezier(.2,.7,.2,1) 300ms; }
.oh-places li.is-in .oh-place-line, html:not(.oh-js) .oh-place-line { width: 48px; }
.oh-place-name { font-family: var(--oh-he); font-size: clamp(22px, 2.4vw, 28px); font-weight: 500; }
.oh-specs { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.oh-spec {
  padding: 34px 20px; border-radius: 18px; text-align: center;
  background: #fff; border: 1px solid rgba(176,122,34,0.18);
  box-shadow: 0 20px 40px -28px rgba(80,45,10,0.45);
  transition: transform 400ms cubic-bezier(.2,.7,.2,1), box-shadow 400ms ease;
}
.oh-spec:hover { transform: translateY(-5px); box-shadow: 0 28px 50px -26px rgba(80,45,10,0.55); }
.oh-spec-big { font-family: var(--oh-he); font-size: 40px; font-weight: 900; line-height: 1.1; color: var(--oh-gold-dk); background: linear-gradient(135deg, var(--oh-gold-dk), var(--oh-amber)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.oh-spec-label { margin-top: 10px; font-size: 11px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: #6d5334; }


/* Distributor note + seal */
.oh-distrib { display: flex; align-items: center; gap: 14px; margin-top: 30px; padding-top: 24px; border-top: 1px solid rgba(248,220,147,0.2); max-width: 520px; text-align: left; }
.oh-distrib-mark { flex: 0 0 auto; width: 40px; height: 40px; fill: rgba(231,180,81,0.12); stroke: var(--oh-gold); stroke-width: 1.4; stroke-linejoin: round; stroke-linecap: round; }
.oh-distrib strong { display: block; font-size: 12px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--oh-gold-lt); margin-bottom: 3px; }
.oh-distrib span { display: block; font-size: 14px; line-height: 1.5; color: rgba(255,255,255,0.7); }
.oh-seal { position: absolute; z-index: 3; right: 4%; bottom: 8%; width: 140px; height: 140px; border-radius: 50%; background: radial-gradient(circle, #2a1a0c 0%, #140c06 70%); border: 1px solid rgba(248,220,147,0.5); box-shadow: 0 16px 40px rgba(0,0,0,0.55), 0 0 30px rgba(231,180,81,0.25); }
.oh-seal-ring { position: absolute; inset: 0; width: 100%; height: 100%; animation: oh-seal-spin 24s linear infinite; }
.oh-seal-ring text { font-family: var(--oh-sans); font-size: 14px; font-weight: 700; letter-spacing: 1px; fill: var(--oh-gold-lt); }
@keyframes oh-seal-spin { to { transform: rotate(360deg); } }
.oh-seal-core { position: absolute; inset: 34px; border-radius: 50%; border: 1px solid rgba(248,220,147,0.35); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; line-height: 1.1; }
.oh-seal-core span { font-family: var(--oh-he); font-style: italic; font-size: 13px; color: var(--oh-gold-lt); }
.oh-seal-core strong { font-family: var(--oh-sans); font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #fff; margin-top: 3px; }
.oh-final-distrib { margin-top: 28px !important; font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(248,220,147,0.8); line-height: 1.7; }

/* ---------- Final CTA ---------- */
.oh-final {
  position: relative; padding: 130px 0; overflow: hidden; isolation: isolate;
  background:
    radial-gradient(ellipse 60% 80% at 30% 50%, rgba(217,115,28,0.4), rgba(217,115,28,0) 65%),
    var(--oh-night);
}
.oh-final-rays {
  position: absolute; left: 30%; top: 50%; width: 1400px; height: 1400px; z-index: -1;
  transform: translate(-50%, -50%);
  background: repeating-conic-gradient(from 0deg, rgba(248,220,147,0.1) 0deg 2deg, rgba(248,220,147,0) 2deg 12deg);
  -webkit-mask-image: radial-gradient(circle, #000 0%, transparent 55%);
  mask-image: radial-gradient(circle, #000 0%, transparent 55%);
  animation: oh-spin 120s linear infinite reverse;
}
.oh-final-inner { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 70px; align-items: center; }
.oh-final-book { display: block; width: 300px; max-width: 100%; margin: 0 auto; transform: rotate(-4deg); filter: drop-shadow(0 30px 40px rgba(0,0,0,0.6)) drop-shadow(0 0 40px rgba(255,170,70,0.35)); }
.oh-js .oh-final-book.oh-reveal { transform: translateY(60px) rotate(-12deg) scale(0.9); }
.oh-js .oh-final-book.oh-reveal.is-in { transform: rotate(-4deg); }
.oh-final-title { font-size: clamp(36px, 5vw, 62px) !important; }
.oh-gold-text { background: linear-gradient(100deg, var(--oh-gold-lt), var(--oh-gold) 50%, var(--oh-amber)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.oh-final-sub { font-size: 18px; line-height: 1.7; color: rgba(255,255,255,0.72); margin-bottom: 36px !important; }

/* ---------- Scroll reveal ---------- */
.oh-js .oh-reveal {
  opacity: 0; transform: translateY(40px);
  transition: opacity 1s ease, transform 1s cubic-bezier(.2,.7,.2,1);
  transition-delay: calc(var(--i, 0) * 110ms);
}
.oh-js .oh-reveal.is-in { opacity: 1; transform: none; }
/* keep hover lift working after reveal */
.oh-js .oh-spec.oh-reveal.is-in:hover { transform: translateY(-5px); transition-delay: 0s; }

/* ---------- Responsive ---------- */
@media screen and (max-width: 992px) {
  .oh-hero { padding: 120px 0 90px; min-height: 0; }
  .oh-hero-inner { grid-template-columns: 1fr; text-align: center; gap: 30px; }
  .oh-hero-copy { order: 2; }
  .oh-hero-book { order: 1; min-height: 0; padding: 30px 0 10px; }
  .oh-title-he { text-align: center; }
  .oh-lede { margin-left: auto !important; margin-right: auto !important; }
  .oh-cta-row, .oh-hero-note { justify-content: center; }
  .oh-book-img { width: 280px; }
  .oh-book-shadow { width: 220px; bottom: -6px; }
  .oh-rays { width: 140%; }
  .oh-carry-grid { grid-template-columns: 1fr; gap: 50px; }
  .oh-distrib { margin-left: auto; margin-right: auto; }
  .oh-seal { width: 120px; height: 120px; right: 50%; margin-right: -210px; bottom: 4%; }
  .oh-seal-core { inset: 29px; }
  .oh-final-inner { grid-template-columns: 1fr; text-align: center; gap: 40px; }
  .oh-final-rays { left: 50%; top: 25%; }
  .oh-final-book { width: 230px; }
  .oh-scroll-cue { display: none; }
}
@media screen and (max-width: 640px) {
  .oh-wrap, .oh-hero-inner { padding: 0 20px; }
  .oh-hero { padding: 100px 0 70px; }
  .oh-book-img { width: 200px; }
  .oh-hero-book { padding-top: 10px; }
  .oh-book-shadow { width: 170px; }
  .oh-seal { width: 100px; height: 100px; margin-right: -150px; }
  .oh-seal-core { inset: 24px; }
  .oh-seal-core span { font-size: 11px; }
  .oh-seal-core strong { font-size: 8px; }
  .oh-title { margin: 20px 0 16px !important; }
  .oh-lede { font-size: 16px; }
  .oh-btn { padding: 15px 24px; font-size: 12px; }
  .oh-cta-row .oh-btn { width: 100%; justify-content: center; }
  .oh-intro-sec, .oh-inside, .oh-final { padding: 90px 0; }
  .oh-carry { padding: 90px 0; }
  .oh-body { font-size: 16px; }
  .oh-spec { padding: 26px 14px; }
  .oh-spec-big { font-size: 32px; }
      .oh-marquee span[lang="he"] { font-size: 18px; }
}

@media screen and (max-width: 767px) {
  .oh-spine { left: 7px; margin-left: 0; }
  .oh-row, .oh-row:nth-child(odd) { display: block; padding: 30px 0 30px 44px; }
  .oh-row .oh-row-he, .oh-row:nth-child(odd) .oh-row-he { grid-column: 1; grid-row: 1; text-align: left; font-size: 52px; margin-bottom: 10px; }
  .oh-row .oh-row-text, .oh-row:nth-child(odd) .oh-row-text { max-width: none; }
  .oh-row .oh-row-text, .oh-row:nth-child(odd) .oh-row-text { grid-column: 1; grid-row: 2; justify-self: start; text-align: left; }
  .oh-row .oh-row-node, .oh-row:nth-child(odd) .oh-row-node { position: absolute; left: 0.5px; top: 60px; }
  .oh-js .oh-row .oh-row-he, .oh-js .oh-row .oh-row-text, .oh-js .oh-row:nth-child(odd) .oh-row-he, .oh-js .oh-row:nth-child(odd) .oh-row-text { transform: translateY(30px); }
  .oh-js .oh-row.is-in .oh-row-he, .oh-js .oh-row.is-in .oh-row-text { transform: none; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .oh-page *, .oh-page *::before, .oh-page *::after { animation: none !important; transition: none !important; }
  .oh-js .oh-intro, .oh-js .oh-reveal, .oh-js .oh-verse .oh-word, .oh-js .oh-row .oh-row-he, .oh-js .oh-row .oh-row-text { opacity: 1 !important; transform: none !important; filter: none !important; }
  .oh-place-line { width: 48px !important; }
  .oh-embers { display: none; }
}
