/* ==========================================================================
   Seelavita — base: tokens, reset, layout, buttons, header, menu, footer, CTA,
   motion system. Page-specific styles live in css/pages/*.css.
   Design reference: desktop frames 1920px (content 1520px, 200px margins),
   mobile frames 390px (20px margins). Breakpoint: 900px.
   ========================================================================== */

/* Simona Pro (licensed web font, supplied by the client).
   Metric overrides: the font ships ascent 100% / descent 20%, which puts Hebrew letters ~12% of the size below
   the centre of their line box (pills, tags and buttons looked bottom-heavy). 89/31 centres the letter body. */
@font-face { font-family: "Simona Pro"; src: url("../fonts/SimonaPro-Regular.woff2") format("woff2"), url("../fonts/SimonaPro-Regular.woff") format("woff"); font-weight: 400; font-display: swap; ascent-override: 89%; descent-override: 31%; line-gap-override: 0%; }
@font-face { font-family: "Simona Pro"; src: url("../fonts/SimonaPro-Medium.woff2") format("woff2"), url("../fonts/SimonaPro-Medium.woff") format("woff"); font-weight: 500; font-display: swap; ascent-override: 89%; descent-override: 31%; line-gap-override: 0%; }
@font-face { font-family: "Simona Pro"; src: url("../fonts/SimonaPro-Bold.woff2") format("woff2"), url("../fonts/SimonaPro-Bold.woff") format("woff"); font-weight: 700; font-display: swap; ascent-override: 89%; descent-override: 31%; line-gap-override: 0%; }

:root {
	/* Colors (Figma styles: Forest #075337, Green #237648, White) */
	--c-navy: #141834;
	--c-forest: #075337;
	--c-green: #237648;
	--c-mint: #f9ffff;
	--c-mint-2: #d6e8dd;
	--c-accent: #84e5b1;
	--c-gray: #8d9898;
	--c-white: #fff;
	--c-line: rgba(20, 24, 52, .2);
	--c-line-light: rgba(255, 255, 255, .3);
	--grad-green: linear-gradient(to top, #237648, #075337);
	--grad-bigword: linear-gradient(to bottom, #075337, #f9ffff 84.911%);

	/* Type */
	--f-he: "Simona Pro", "Heebo", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	--f-display: "Parkinsans", "Simona Pro", "Heebo", sans-serif;
	--f-ui: "Raleway", system-ui, sans-serif;

	/* Layout */
	--container: 1520px;
	--gutter: clamp(20px, 10.42vw, 200px);      /* 200px @1920 → 20px on phones */
	--gutter-header: clamp(20px, 5.21vw, 100px); /* header sits at 100px @1920 */
	--radius-card: 20px;
	--radius-lg: 30px;
	--header-h: 120px;

	/* Motion */
	--ease-out: cubic-bezier(.22, 1, .36, 1);
	--ease-in-out: cubic-bezier(.65, 0, .35, 1);
	--dur-reveal: .9s;
	--stagger: 90ms;
}

@media (max-width: 900px) {
	:root { --header-h: 100px; --gutter: 20px; }
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
/* Lenis smooth scroll (assets/js/vendor/lenis.min.js) */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
body {
	margin: 0;
	position: relative;
	background: var(--c-mint);
	color: var(--c-navy);
	font-family: var(--f-he);
	font-size: 20px;
	line-height: 1.85;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
@supports (overflow: clip) { body { overflow-x: clip; } }
img, svg, video { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
h1, h2, h3, h4, h5, h6, p, ul, ol, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
h1, h2, h3, h4 { font-weight: 500; line-height: 1.2; }
:focus-visible { outline: 2px solid var(--c-green); outline-offset: 3px; border-radius: 4px; }
::selection { background: var(--c-accent); color: var(--c-navy); }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.sv-skip { position: absolute; inset-inline-start: 12px; top: -60px; z-index: 1000; padding: 10px 18px; background: var(--c-navy); color: #fff; border-radius: 30px; transition: top .2s; }
.sv-skip:focus { top: 12px; }

@media (max-width: 900px) {
	body { font-size: 16px; line-height: 1.75; }
}

/* ---------- Layout primitives ---------- */
.sv-container {
	width: 100%;
	max-width: calc(var(--container) + 2 * var(--gutter));
	margin-inline: auto;
	padding-inline: var(--gutter);
}
.sv-main { position: relative; z-index: 1; display: block; }
.sv-section { position: relative; }

/* Site-wide background: the green "getty" wave loop at 5% opacity, fixed behind everything.
   Sections with their own background (footer, cards, dark slides) simply cover it. */
.sv-pagebg { position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: .05; overflow: hidden; }
.sv-pagebg__video { width: 100%; height: 100%; max-width: none; object-fit: cover; }

/* Common section heading (e.g. "הערכים שמנחים אותנו", 52px Medium) */
.sv-h2 { font-size: clamp(28px, 2.71vw, 52px); font-weight: 500; line-height: 1.2; }
.sv-h3 { font-size: clamp(22px, 1.46vw, 28px); font-weight: 500; line-height: 1.3; }
.sv-lead { font-size: clamp(16px, 1.04vw, 20px); line-height: 1.85; }

/* ---------- Buttons ---------- */
.sv-btn {
	position: relative;
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 56px;
	padding-block: 15.3px;
	padding-inline: 61.2px 26.8px; /* start (right) holds the round icon */
	border-radius: 38.2px;
	font-weight: 700; font-size: 18px; line-height: 1.4; text-align: center; white-space: nowrap;
	transition: transform .35s var(--ease-out), box-shadow .35s var(--ease-out), background-color .35s;
}
.sv-btn__icon {
	position: absolute; inset-inline-start: 9.26px; top: 50%;
	width: 36.7px; height: 36.7px; margin-top: -18.35px;
	border-radius: 50%; background: var(--c-green);
	display: grid; place-items: center;
	transition: transform .7s var(--ease-in-out);
}
.sv-btn__icon img { width: 20px; height: 25.5px; }
.sv-btn--sm { min-height: 50px; padding-block: 12px; padding-inline: 56px 24px; font-size: 16px; }
.sv-btn--sm .sv-btn__icon { width: 32px; height: 32px; margin-top: -16px; inset-inline-start: 8px; }
.sv-btn--sm .sv-btn__icon img { width: 17px; height: 22px; }
.sv-btn--green { background: var(--grad-green); color: #fff; }
.sv-btn--light { background: #fff; color: var(--c-forest); }
.sv-btn--outline { background: transparent; color: var(--c-forest); box-shadow: inset 0 0 0 1px var(--c-forest); }
.sv-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(7, 83, 55, .22); }
/* Prototype hover: the round icon spins a full turn — on every button that carries one
   (.sv-btn and the page-specific button variants that reuse the logo / arrow icons). */
.sv-btn:hover .sv-btn__icon { transform: rotate(360deg); }
:is(a, button):not(.sv-btn) :is(img[src*="btn-icon"], img[src*="/btn-"], img[src*="icon-arrow"], img[src*="b-arrow"]) { transition: rotate .7s var(--ease-in-out); }
:is(a, button):not(.sv-btn):hover :is(img[src*="btn-icon"], img[src*="/btn-"], img[src*="icon-arrow"], img[src*="b-arrow"]) { rotate: 360deg; }
.sv-btn:active { transform: translateY(0); }

.sv-textlink {
	display: inline-block; position: relative; padding-bottom: 6px;
	font-weight: 700; font-size: 18px; line-height: 1.4;
}
.sv-textlink::after {
	content: ""; position: absolute; inset-inline: 0; bottom: 0; height: 2px; background: var(--c-accent);
	transform-origin: right; transition: transform .45s var(--ease-out);
}
.sv-textlink:hover::after { transform: scaleX(.6); }
.sv-textlink--light { color: #fff; }

/* Small "קראו עוד" style arrow link used across pages */
.sv-more { display: inline-flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 500; color: var(--c-forest); }
.sv-more:hover { text-decoration: underline; text-underline-offset: 4px; }

/* ---------- Logo ---------- */
.sv-logo { position: relative; display: block; width: 170px; aspect-ratio: 170 / 55.135; }
.sv-logo img { position: absolute; max-width: none; }
.sv-logo__text { inset: 29.93% 2.15% 35.2% 31.81%; width: 66.04%; height: 34.87%; }
.sv-logo__mark { inset: 5.1% 75.66% 8.16% 2.34%; width: 22%; height: 86.74%; }

/* ---------- Header ---------- */
.sv-header {
	position: fixed; inset: 0 0 auto; z-index: 60;
	transition: background-color .4s, box-shadow .4s, transform .5s var(--ease-out);
}
.sv-header__inner {
	display: flex; align-items: flex-start; justify-content: space-between;
	padding: 43px var(--gutter-header) 0;
	transition: padding .4s var(--ease-out);
}
.sv-header__end { display: flex; align-items: center; gap: 25px; padding-top: 12px; min-width: 0; }
.sv-header__logo .sv-logo { width: 170px; transition: width .4s var(--ease-out); }
.sv-header.is-scrolled { background: rgba(249, 255, 255, .86); box-shadow: 0 1px 0 var(--c-line); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.sv-header.is-scrolled .sv-header__inner { padding-top: 14px; padding-bottom: 14px; }
.sv-header.is-scrolled .sv-header__end { padding-top: 6px; }
.sv-header.is-scrolled .sv-header__logo .sv-logo { width: 140px; }
.sv-header.is-scrolled .sv-crumbs { opacity: 0; visibility: hidden; }

.sv-crumbs { font-size: 18px; line-height: 37px; white-space: nowrap; transition: opacity .3s, visibility .3s; }
.sv-crumbs ol { display: flex; min-width: 0; }
/* Long titles truncate instead of pushing the logo away. */
.sv-crumbs { min-width: 0; max-width: calc(100vw - 2 * var(--gutter-header) - 170px - 40px - 25px - 48px); }
.sv-crumbs li { flex: none; }
.sv-crumbs li[aria-current] { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.sv-crumbs li { color: var(--c-gray); }
.sv-crumbs li + li::before { content: "»"; margin-inline: .4em; color: var(--c-gray); }
.sv-crumbs li[aria-current] { color: var(--c-navy); }
.sv-crumbs a:hover { color: var(--c-forest); }

/* Round hamburger → X */
.sv-burger {
	position: relative; z-index: 80;
	width: 40px; height: 40px; border-radius: 50%;
	border: 1px solid var(--c-navy);
	transition: border-color .4s, background-color .4s;
}
.sv-burger:hover { background: rgba(20, 24, 52, .06); }
.sv-burger__lines { position: absolute; inset: 0; }
.sv-burger__lines i {
	position: absolute; left: 25%; right: 25%; height: 1px; background: var(--c-navy);
	transition: transform .45s var(--ease-out), opacity .3s, background-color .4s;
}
.sv-burger__lines i:nth-child(1) { top: 37.5%; }
.sv-burger__lines i:nth-child(2) { top: 50%; }
.sv-burger__lines i:nth-child(3) { top: 62.5%; }
.menu-open .sv-burger { border-color: #fff; }
.menu-open .sv-burger:hover { background: rgba(255, 255, 255, .1); }
.menu-open .sv-burger__lines i { background: #fff; top: 50%; }
.menu-open .sv-burger__lines i:nth-child(1) { transform: rotate(45deg) scaleX(.76); }
.menu-open .sv-burger__lines i:nth-child(2) { opacity: 0; transform: scaleX(0); }
.menu-open .sv-burger__lines i:nth-child(3) { transform: rotate(-45deg) scaleX(.76); }

@media (max-width: 900px) {
	.sv-header__inner { padding-top: 24px; }
	.sv-header__end { flex-direction: column; align-items: flex-start; gap: 12px; padding-top: 5px; }
	.sv-header__logo .sv-logo { width: 139px; }
	.sv-burger { width: 35px; height: 35px; }
	.sv-crumbs { font-size: 14px; line-height: 17px; max-width: calc(100vw - 2 * var(--gutter-header)); }
	.sv-header.is-scrolled .sv-header__inner { padding-top: 10px; padding-bottom: 10px; }
	.sv-header.is-scrolled .sv-header__logo .sv-logo { width: 120px; }
	.sv-header.is-scrolled .sv-crumbs { display: none; }
}

/* ---------- Dropdown menu (Figma prototype "Component 6": 7 smart-animate steps) ----------
   Green card 309×450 grows down from the round button (top -15px, right -13px),
   then the links cascade in (prototype order; timing tightened so it feels smooth, ~0.6s total). */
.sv-nav { position: relative; z-index: 2; display: flex; }
.sv-burger { z-index: 2; }
.sv-menu {
	position: absolute; top: -15px; right: -13px; z-index: 1;
	width: 309px; height: 450px;
	padding: 87px 27px 0;
	border-radius: 38.231px;
	background: var(--grad-green); color: #fff;
	box-shadow: 0 24px 60px rgba(7, 83, 55, .28);
	clip-path: inset(0 0 calc(100% - 70px) calc(100% - 70px) round 38.231px);
	opacity: 0; visibility: hidden;
	transition: clip-path .35s var(--ease-in-out), opacity .2s ease .1s, visibility 0s .35s;
}
.menu-open .sv-menu {
	clip-path: inset(0 0 0 0 round 38.231px);
	opacity: 1; visibility: visible;
	transition: clip-path .45s cubic-bezier(.16, 1, .3, 1), opacity .12s, visibility 0s;
}
.sv-menu__list li { opacity: 0; transform: translate3d(12px, -6px, 0); transition: opacity .15s, transform .15s; }
.sv-menu__list li + li { margin-top: 23px; }
.menu-open .sv-menu__list li { opacity: 1; transform: none; transition: opacity .4s var(--ease-out), transform .5s cubic-bezier(.16, 1, .3, 1); }
.menu-open .sv-menu__list li:nth-child(1) { transition-delay: .12s; }
.menu-open .sv-menu__list li:nth-child(2) { transition-delay: .18s; }
.menu-open .sv-menu__list li:nth-child(3) { transition-delay: .24s; }
.menu-open .sv-menu__list li:nth-child(4) { transition-delay: .30s; }
.menu-open .sv-menu__list li:nth-child(n+5) { transition-delay: .36s; }
.sv-menu__list a {
	position: relative; display: block;
	padding-inline-start: 36px; padding-bottom: 18px;
	font-size: 24px; line-height: 34px;
	border-bottom: 1px solid rgba(255, 255, 255, .2);
}
.sv-menu__list li:last-child a { border-bottom-color: transparent; }
.sv-menu__list a::after {
	content: ""; position: absolute; inset-inline: 0; bottom: -1px; height: 1px; background: #fff;
	transform: scaleX(0); transform-origin: right; transition: transform .4s var(--ease-out);
}
.sv-menu__list a:hover::after,
.sv-menu__list a:focus-visible::after,
.sv-menu__list .current-menu-item a::after { transform: scaleX(1); }

@media (max-width: 900px) {
	.sv-menu { top: -17px; right: -15px; }
}

/* ---------- Socials ---------- */
.sv-socials { display: flex; gap: 13px; }
.sv-socials__btn {
	position: relative; display: grid; place-items: center;
	width: 40px; height: 40px; border-radius: 5px;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2);
	transition: box-shadow .3s, background-color .3s;
}
.sv-socials__btn:hover { background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6); }
.sv-socials__icon { position: relative; display: block; width: 17px; height: 17px; }
.sv-socials__icon img { position: absolute; max-width: none; }
.sv-socials__btn--facebook .sv-socials__icon { width: 15px; height: 15px; }
.sv-socials__btn--facebook img { inset: 0 24.04%; width: 51.92%; height: 100%; }
.sv-socials__btn--youtube .sv-socials__icon { width: 18px; height: 18px; }
.sv-socials__btn--youtube img { inset: 0; width: 100%; height: 100%; }
.sv-socials__btn--instagram img.sv-socials__layer--0 { inset: 0; width: 100%; height: 100%; }
.sv-socials__btn--instagram img.sv-socials__layer--1 { inset: 16.66% 16.67% 70.84% 70.84%; width: 12.49%; height: 12.5%; }
.sv-socials__btn--instagram img.sv-socials__layer--2 { inset: 25%; width: 50%; height: 50%; }

@media (max-width: 900px) {
	.sv-socials { gap: 11px; }
	.sv-socials__btn { width: 33px; height: 33px; border-radius: 4px; }
	.sv-socials__icon { transform: scale(.82); }
}

/* ---------- CTA banner (overlaps footer top) ----------
   Fluid via container queries on the card width (cqi):
   wide  ≥1080px card: text | phone | actions — Figma desktop proportions (card 1520).
   mid   640–1079px:   text + actions | phone (tablets).
   small <640px:       stacked, centred — Figma mobile (card 350).
   The navy footer colour starts part-way down the card (card::before). */
.sv-cta { position: relative; z-index: 2; padding-top: 68px; overflow-x: clip; }
.sv-cta .sv-container { container: sv-cta / inline-size; }
.sv-cta__card {
	position: relative;
	display: grid; align-items: center;
	grid-template-columns: auto minmax(0, 561px) 277px;
	grid-template-areas: "text phone actions";
	min-height: 18.75cqi; /* 285px @1520 */
	padding-inline: 4.93cqi 7.76cqi;
	border-radius: var(--radius-lg);
	background: var(--grad-green); color: #fff;
}
.sv-cta__card::before {
	content: ""; position: absolute; z-index: -1;
	inset-inline: -100vw; top: 42.8%; bottom: -1px;
	background: var(--c-navy);
}
.sv-cta__text { grid-area: text; align-self: start; min-width: 0; padding-block: 3.49cqi 2.6cqi; }
.sv-cta__kicker { font-size: min(28px, 1.84cqi); font-weight: 500; line-height: 1.2; }
.sv-cta__title { margin-top: .16em; font-size: min(50px, 3.29cqi); font-weight: 700; line-height: 1.22; white-space: nowrap; }
.sv-cta__phone {
	grid-area: phone; align-self: end; position: relative;
	aspect-ratio: 502 / 353;
	margin-top: -12.12%; /* pokes 68px above the card @1520 (% of the 561px area) */
	margin-inline: 0 3.88cqi;
}
.sv-cta__phone-crop { position: absolute; inset: 0; overflow: hidden; }
.sv-cta__phone-img { position: absolute; max-width: none; width: 243.11%; height: 230.74%; left: -72.29%; top: -29.77%; }
.sv-cta__actions { grid-area: actions; display: flex; flex-direction: column; align-items: center; gap: 36px; padding-block: 24px; }
.sv-cta__actions .sv-btn { width: 277px; }

/* Tablet: two columns, title may wrap */
@container sv-cta (max-width: 1079px) {
	.sv-cta__card {
		grid-template-columns: minmax(0, 1fr) minmax(0, 42%);
		grid-template-areas: "text phone" "actions phone";
		column-gap: 32px;
		min-height: 0;
		padding-inline: 48px 32px;
	}
	.sv-cta__card::before { top: 46%; }
	.sv-cta__text { align-self: end; padding-block: 44px 0; }
	.sv-cta__kicker { font-size: clamp(18px, 2.8cqi, 26px); }
	.sv-cta__title { font-size: clamp(28px, 4.6cqi, 44px); white-space: normal; text-wrap: balance; }
	.sv-cta__phone { margin: -40px 0 0; }
	.sv-cta__actions { align-self: start; align-items: flex-start; gap: 22px; padding-block: 28px 44px; }
}

/* Phone: stacked, centred (Figma mobile) */
@container sv-cta (max-width: 639px) {
	.sv-cta__card {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "text" "phone" "actions";
		justify-items: center; text-align: center;
		max-width: 350px; margin-inline: auto;
		padding: 36px 20px 34px;
		overflow: hidden;
	}
	.sv-cta__card::before { display: none; }
	.sv-cta__text { align-self: auto; padding: 0; }
	.sv-cta__kicker { font-size: 16px; }
	.sv-cta__title { margin-top: 2px; font-size: 28px; max-width: 286px; line-height: 1.2; }
	.sv-cta__phone { width: 340px; aspect-ratio: auto; height: 280px; margin: 10px -15px 0; }
	.sv-cta__phone-img { height: 196.54%; top: -25.35%; }
	.sv-cta__phone-crop::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(16, 93, 59, 0) 35.893%, #207246 82.225%); }
	.sv-cta__actions { position: relative; align-items: center; margin-top: -64px; gap: 18px; padding: 0; }
	.sv-cta__actions .sv-btn { width: 265px; }
}
/* Matches the small container layout (card < 640px ⇔ viewport < 680px with 20px gutters). */
@media (max-width: 679px) {
	.sv-cta { padding-top: 0; }
	.sv-footer.has-cta .sv-cta::after { content: ""; position: absolute; z-index: -1; inset: 255px 0 0; background: var(--c-navy); }
}

/* ---------- Footer ---------- */
.sv-footer { position: relative; z-index: 1; background: var(--c-navy); color: #fff; }
.sv-footer.has-cta { background: transparent; }
.sv-footer.has-cta .sv-footer__body { background: var(--c-navy); }
.sv-footer__body { padding-top: 99px; }
.sv-footer:not(.has-cta) .sv-footer__body { padding-top: 120px; }
.sv-footer__grid {
	display: grid;
	/* RTL: brand 250 | 223 | nav 461 | 128 | posts 461 (Figma @1920) */
	grid-template-columns: 250px 223fr 461fr 128fr 461fr;
	row-gap: 48px;
}
.sv-footer__nav { grid-column: 3; }
.sv-footer__posts { grid-column: 5; }
.sv-footer__brand { grid-column: 1; display: flex; flex-direction: column; gap: 33px; }
.sv-footer__logo .sv-logo { width: 250px; }
.sv-footer__brand .sv-socials { justify-content: flex-start; }

.sv-footer__menu a, .sv-footer__posttitle { font-size: 17px; line-height: 29px; }
.sv-footer__menu li { border-bottom: 1px solid var(--c-line-light); }
.sv-footer__menu a { display: block; padding: 0 0 24px; margin-top: 24px; transition: color .25s, transform .35s var(--ease-out); }
.sv-footer__menu li:first-child a { margin-top: 0; }
.sv-footer__menu a:hover { color: var(--c-accent); transform: translateX(-6px); }

.sv-footer__title { font-size: 16px; font-weight: 700; line-height: 29px; padding-bottom: 16px; border-bottom: 1px solid var(--c-line-light); }
.sv-footer__postlist li { border-bottom: 1px solid var(--c-line-light); }
.sv-footer__postlist a { display: flex; align-items: flex-start; gap: 27px; padding: 16px 0; }
.sv-footer__thumb { flex: none; width: 100px; height: 100px; border-radius: 5px; overflow: hidden; }
.sv-footer__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease-out); }
.sv-footer__postlist a:hover img { transform: scale(1.08); }
.sv-footer__posttitle { padding-top: 2px; }
.sv-footer__postlist a:hover .sv-footer__posttitle { color: var(--c-accent); }

.sv-footer__bottom {
	display: flex; justify-content: space-between; align-items: center; gap: 24px;
	padding-top: 150px; padding-bottom: 39px;
	font-size: 13px; line-height: 29px;
}
.sv-footer__legal { display: flex; flex-wrap: wrap; gap: 0 48px; }
.sv-footer__legal a:hover, .sv-footer__copy a:hover { color: var(--c-accent); }

@media (max-width: 1200px) {
	.sv-footer__grid { grid-template-columns: 1fr 1fr; column-gap: 60px; }
	.sv-footer__nav { grid-column: 1; }
	.sv-footer__posts { grid-column: 2; }
	.sv-footer__brand { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; }
}
@media (max-width: 900px) {
	.sv-footer__body, .sv-footer:not(.has-cta) .sv-footer__body { padding-top: 43px; }
	.sv-footer.has-cta .sv-footer__body { padding-top: 43px; }
	.sv-footer__grid { grid-template-columns: 1fr; row-gap: 0; }
	.sv-footer__nav, .sv-footer__posts { grid-column: 1; }
	.sv-footer__brand { margin-bottom: 32px; }
	.sv-footer__logo .sv-logo { width: 159px; }
	.sv-footer__menu a { padding-bottom: 24px; margin-top: 24px; }
	.sv-footer__posts { margin-top: 24px; }
	.sv-footer__title { padding-bottom: 16px; }
	.sv-footer__postlist a { gap: 27px; }
	.sv-footer__posttitle { font-size: 16px; line-height: 24px; }
	.sv-footer__bottom { flex-direction: column-reverse; padding-top: 22px; padding-bottom: 0; gap: 4px; text-align: center; }
	.sv-footer__legal { justify-content: center; gap: 0 36px; line-height: 32px; }
	.sv-footer__copy { font-size: 11px; padding-bottom: 8px; }
}

/* ---------- Big drifting gradient words ("Our Journey", "Mind", "404") ---------- */
.sv-bigword {
	position: absolute; inset-inline: 0; z-index: 0;
	display: flex; justify-content: center;
	pointer-events: none; user-select: none;
	overflow: hidden; /* keeps the drift from causing horizontal scroll */
}
.sv-bigword__text {
	display: block;
	font-family: var(--f-display); font-weight: 700;
	font-size: clamp(96px, 15.625vw, 300px); line-height: 1.125;
	white-space: nowrap; direction: ltr;
	background: var(--grad-bigword);
	-webkit-background-clip: text; background-clip: text;
	color: transparent;
	opacity: .4;
	will-change: transform;
	transform: translate3d(var(--drift-x, 0px), 0, 0);
}

/* ---------- Motion system (driven by assets/js/main.js) ----------
   [data-reveal]              fade-up once when it enters the viewport
   [data-reveal-stagger]      same, applied to each direct child with a 90ms stagger
   [data-drift="200"]         horizontal scroll-linked drift (px of travel)
   [data-parallax="-80"]      vertical scroll-linked offset (px of travel) — phones
   [data-zoom=".08"]          scale 1 → 1+n as the element scrolls out — hero art
   .sv-glow                   slow breathing glow (hero face / body art)
   Do not combine data-reveal with data-parallax/drift/zoom on the same element:
   wrap one in the other (they both use transform). */
.js [data-reveal],
.js [data-reveal-stagger] > * {
	opacity: 0;
	transform: translate3d(0, 24px, 0);
	transition: opacity var(--dur-reveal) var(--ease-out), transform var(--dur-reveal) var(--ease-out);
	transition-delay: var(--reveal-delay, 0ms);
}
.js [data-reveal].is-in,
.js [data-reveal-stagger].is-in > * { opacity: 1; transform: none; }

[data-parallax], [data-zoom] { will-change: transform; }
[data-parallax] { transform: translate3d(0, var(--parallax-y, 0px), 0); }
[data-zoom] { transform: scale(var(--zoom, 1)); transform-origin: 50% 40%; }

@keyframes sv-glow {
	0%, 100% { opacity: .55; transform: scale(1); }
	50% { opacity: 1; transform: scale(1.06); }
}
@keyframes sv-glow-filter {
	0%, 100% { filter: brightness(1) saturate(1); }
	50% { filter: brightness(1.12) saturate(1.15); }
}
.sv-glow { animation: sv-glow-filter 6s ease-in-out infinite; }
.sv-glow-spot { /* absolutely positioned radial light — position it per page */
	position: absolute; pointer-events: none; border-radius: 50%;
	background: radial-gradient(circle, rgba(132, 229, 177, .75) 0%, rgba(132, 229, 177, .25) 35%, rgba(132, 229, 177, 0) 70%);
	mix-blend-mode: screen;
	animation: sv-glow 5s ease-in-out infinite;
}

/* Infinite logo marquee: [data-marquee] > .sv-marquee__track (JS clones the items) */
.sv-marquee { overflow: hidden; direction: ltr; -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent); }
.sv-marquee__track { display: flex; width: max-content; animation: sv-marquee var(--marquee-duration, 40s) linear infinite; }
.sv-marquee[data-marquee="reverse"] .sv-marquee__track { animation-direction: reverse; }
.sv-marquee:hover .sv-marquee__track { animation-play-state: paused; }
@keyframes sv-marquee { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-50%, 0, 0); } }

/* Accordion: [data-accordion] > .sv-acc > (.sv-acc__trigger + .sv-acc__panel > .sv-acc__inner) */
.sv-acc__trigger { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 20px; text-align: start; }
.sv-acc__icon { position: relative; flex: none; width: 20px; height: 20px; }
.sv-acc__icon::before, .sv-acc__icon::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px; margin-top: -1px; background: currentColor; transition: transform .45s var(--ease-out); }
.sv-acc__icon::after { transform: rotate(90deg); }
.sv-acc.is-open .sv-acc__icon::after { transform: rotate(0deg); }
.sv-acc__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .5s var(--ease-out); }
.sv-acc.is-open .sv-acc__panel { grid-template-rows: 1fr; }
.sv-acc__inner { overflow: hidden; min-height: 0; opacity: 0; transition: opacity .4s; }
.sv-acc.is-open .sv-acc__inner { opacity: 1; transition-delay: .1s; }

/* Slider: [data-slider] > .sv-slider__track (scroll-snap) + [data-slider-prev]/[data-slider-next] + .sv-slider__dots */
.sv-slider__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; overscroll-behavior-x: contain; }
.sv-slider__track::-webkit-scrollbar { display: none; }
.sv-slider__track > * { scroll-snap-align: start; flex: none; }
.sv-slider__dots { display: flex; justify-content: center; gap: 10px; }
.sv-slider__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--c-forest); opacity: .25; transition: opacity .3s, transform .3s; }
.sv-slider__dot[aria-current="true"] { opacity: 1; transform: scale(1.2); }
.sv-arrow {
	display: grid; place-items: center; width: 35px; height: 35px; border-radius: 50%;
	background: var(--c-green); color: #fff; transition: transform .3s var(--ease-out), opacity .3s;
}
.sv-arrow:hover { transform: scale(1.08); }
.sv-arrow[disabled] { opacity: .35; cursor: default; transform: none; }

/* Generic hover lift for cards */
.sv-lift { transition: transform .5s var(--ease-out), box-shadow .5s var(--ease-out); }
.sv-lift:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(20, 24, 52, .1); }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; transition-delay: 0s !important; }
	.js [data-reveal], .js [data-reveal-stagger] > * { opacity: 1; transform: none; }
	[data-parallax], [data-zoom], .sv-bigword__text { transform: none !important; }
	.sv-marquee__track { animation: none; }
}

/* ---------- Generic WP content (pages, posts) ---------- */
.sv-prose > * + * { margin-top: 1em; }
.sv-prose h2 { font-size: clamp(24px, 1.67vw, 32px); margin-top: 1.4em; }
.sv-prose h3 { font-size: clamp(20px, 1.25vw, 24px); margin-top: 1.2em; font-weight: 700; }
.sv-prose ul { list-style: disc; padding-inline-start: 1.2em; }
.sv-prose ol { list-style: decimal; padding-inline-start: 1.2em; }
.sv-prose a { color: var(--c-forest); text-decoration: underline; text-underline-offset: 3px; }
.sv-prose img { border-radius: var(--radius-card); }
.alignleft { float: left; margin: 0 24px 16px 0; }
.alignright { float: right; margin: 0 0 16px 24px; }
.aligncenter { margin-inline: auto; }

/* Generic fallback pages */
.sv-generic { padding: 200px 0 120px; }
.sv-generic__item + .sv-generic__item { margin-top: 64px; }
.sv-generic .sv-prose { margin-top: 24px; }

/* ---------- Prototype entrance effects ----------
   Buttons rise through a mask line: the bottom edge stays put while the pill slides up.
   Triggers: a revealed ancestor ([data-reveal].is-in / [data-reveal-stagger].is-in) or an active home slide.
   fill-mode "backwards" so hover transforms work once the entrance has finished. */
@keyframes sv-btn-rise {
	from { opacity: .25; transform: translate3d(0, 100%, 0); clip-path: inset(0 0 100% 0 round 38px); }
	to { opacity: 1; transform: none; clip-path: inset(0 0 0 0 round 38px); }
}
.js [data-reveal].is-in .sv-btn,
.js [data-reveal].is-in.sv-btn,
.js [data-reveal-stagger].is-in .sv-btn {
	animation: sv-btn-rise .75s var(--ease-out) backwards;
	animation-delay: calc(var(--reveal-delay, 0ms) + .3s);
}

/* Typewriter text: [data-type] (optional ms per character, default 18). JS wraps characters in .sv-ch;
   they appear in order once the element (or its reveal ancestor / home slide) is active. */
.sv-type__chars .sv-ch { opacity: 0; }
.sv-type.is-typed .sv-ch,
.is-in .sv-type .sv-ch,
.hs-slide.is-active .sv-type .sv-ch {
	opacity: 1;
	transition: opacity .05s linear;
	transition-delay: calc(var(--type-start, 0s) + var(--ci, 0) * var(--type-speed, 18ms));
}
.js:not(.has-js-type) [data-type] .sv-ch { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
	.sv-type__chars .sv-ch { opacity: 1; }
}
.is-in .sv-type, .sv-type.is-in { --type-start: calc(var(--reveal-delay, 0ms) + .2s); }

/* Expandable blocks ("קראו עוד"): [data-expandable] > .sv-expand > div  + [data-expand-toggle] */
.sv-expand { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .6s var(--ease-out); }
.sv-expand > div { min-height: 0; overflow: hidden; opacity: 0; transform: translate3d(0, -8px, 0); transition: opacity .35s ease, transform .5s var(--ease-out); }
.is-expanded .sv-expand { grid-template-rows: 1fr; }
.is-expanded .sv-expand > div { opacity: 1; transform: none; transition-delay: .12s; }
[data-expand-toggle] img { transition: transform .45s var(--ease-out); }
