/* =========================================================
    Design tokens — JES eco palette over the SHARE system
    ========================================================= */
:root{
--cream:      #f4ede7;   /* warm bone — primary background */
--cream-deep: #faf6f0;   /* lighter cream for cards */
--paper:      #ffffff;
--forest:     #253b35;   /* primary dark — headings, Hebrew */
--forest-soft:#3a544c;   /* secondary green, eyebrows */
--green:      #40645c;   /* accent — links, buttons */
--green-deep: #1b2a26;   /* darkest — footer, closer band */
--sage:       #cfd6c6;   /* muted green section band */
--sage-soft:  #e6eadd;   /* soft green wash */
--sand:       #cdab73;   /* warm desert gold accent */
--sand-soft:  #e7d6b4;
--ink:        #28332e;   /* off-black body text (warm green-gray) */
--ink-soft:   #5d6b62;   /* secondary text */
--rule:       rgba(37,59,53,.12);

--font-display: 'Frank Ruhl Libre', 'Cormorant', Georgia, serif;
--font-body:    'Heebo', system-ui, -apple-system, sans-serif;
--font-latin:   'Cormorant', Georgia, serif;

--fs-display:  clamp(2.9rem, 3.4vw + 1.6rem, 6.8rem);
--fs-h2:       clamp(2rem, 2.2vw + 1rem, 4rem);
--fs-lede:     clamp(1.1rem, 0.7rem + 0.8vw, 1.7rem);
--fs-body:     clamp(1rem, 0.7rem + 0.5vw, 1.2rem);
--fs-eyebrow:  .7rem;

--maxw:        80rem;
--measure:     min(42rem, 64ch);
--section-pad: clamp(5rem, 8vw, 9rem);
--gutter:      clamp(1.25rem, 4vw, 4rem);

--ease-spring: cubic-bezier(0.32, 0.72, 0, 1);
--ease-soft:   cubic-bezier(0.16, 1, 0.3, 1);
--ease-strong: cubic-bezier(0.7, 0, 0.3, 1);
}

/* Reset + base */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body{
font-family: var(--font-body);
font-weight: 400;
color: var(--ink);
background: var(--cream);
line-height: 1.75;
overflow-x: hidden;
}
img{max-width:100%;height:auto;display:block;user-select:none;-webkit-user-drag:none}
a{color:inherit;text-decoration:none}
::selection{background:var(--sand);color:var(--green-deep)}

h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;color:var(--forest);line-height:1.12;margin:0}

/* Skip link */
.skip{position:absolute;inset-inline-start:-9999px;top:-9999px}
.skip:focus{position:fixed;inset-inline-start:1rem;top:1rem;background:var(--forest);color:var(--cream);padding:.6rem 1rem;border-radius:6px;z-index:120;font-size:.85rem}

/* Film grain overlay */
.grain{
position: fixed; inset: 0; z-index: 60;
pointer-events: none; opacity: .04; mix-blend-mode: multiply;
background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.9'/></svg>");
}

/* Scroll progress hairline */
.progress{
position: fixed; inset-inline: 0; top: 0;
height: 2px; width: 0%;
background: linear-gradient(to left, var(--sand), var(--green));
z-index: 110;
transition: width .12s linear;
}

/* Section base */
section{ position: relative; width: 100%; }

/* Eyebrow component */
.eyebrow{
display: inline-flex; align-items: center; gap: .6rem;
padding: .4rem .85rem;
border: 1px solid var(--rule);
border-radius: 9999px;
background: rgba(255,255,255,.55);
color: var(--green);
font-family: var(--font-body);
font-size: var(--fs-eyebrow);
font-weight: 600;
letter-spacing: .22em;
width: max-content;
}
.eyebrow .num{
font-family: var(--font-display);
font-weight: 700;
font-size: .95rem; letter-spacing: 0;
color: var(--sand);
}
.eyebrow.on-dark{ color: var(--sand-soft); border-color: rgba(231,214,180,.3); background: rgba(255,255,255,.06); }
.eyebrow.on-dark .num{ color: var(--sand); }

/* Buttons */
.btn{
display:inline-flex; align-items:center; gap:.6rem;
font-family:var(--font-body); font-weight:600; font-size:.98rem;
letter-spacing:.02em;
padding:.85rem 1.7rem; border-radius:9999px;
background:var(--green); color:var(--cream);
border:1px solid var(--green);
transition: transform .4s var(--ease-spring), background .4s var(--ease-spring), box-shadow .4s var(--ease-spring);
cursor:pointer;
}
.btn:hover{ background:var(--forest); transform:translateY(-2px); box-shadow:0 14px 30px -12px rgba(27,42,38,.55); }
.btn .arrow{ transition: transform .4s var(--ease-spring); }
.btn:hover .arrow{ transform: translateX(-4px); }
.btn.ghost{ background:transparent; color:var(--forest); border-color:var(--rule); }
.btn.ghost:hover{ background:var(--forest); color:var(--cream); border-color:var(--forest); }
.btn.on-dark{ background:var(--sand); color:var(--green-deep); border-color:var(--sand); }
.btn.on-dark:hover{ background:var(--cream); color:var(--green-deep); border-color:var(--cream); box-shadow:0 14px 30px -12px rgba(0,0,0,.5); }

/* .anim-up reveal */
.anim-up{ opacity:0; transform:translateY(38px); transition: opacity .9s var(--ease-spring), transform 1.1s var(--ease-spring); }
.anim-up.is-visible{ opacity:1; transform:translateY(0); }
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}.d4{transition-delay:.48s}

/* =========================================================
    NAV
    ========================================================= */
.nav{
position:fixed; inset-inline:0; top:0; z-index:100;
display:flex; align-items:center; justify-content:space-between;
gap:1rem; padding: clamp(.9rem,1.6vw,1.4rem) var(--gutter);
transition: background .5s var(--ease-spring), box-shadow .5s var(--ease-spring), padding .5s var(--ease-spring);
}
.nav.is-scrolled{ background: rgba(244,237,231,.92); backdrop-filter: blur(14px); box-shadow:0 1px 0 var(--rule); }
.nav-brand{ display:flex; align-items:center; gap:.7rem; color:#fff; transition:color .5s var(--ease-spring); }
.nav.is-scrolled .nav-brand{ color:var(--forest); }
.nav-leaf{ width:30px;height:30px;flex:0 0 auto; }
.nav-brand-name{ font-family:var(--font-display); font-weight:700; font-size:1.18rem; line-height:1; }
.nav-brand-sub{ display:block; font-family:var(--font-body); font-weight:500; font-size:.6rem; letter-spacing:.24em; opacity:.85; margin-top:.18rem; }
.nav-links{ display:flex; align-items:center; gap:clamp(1rem,1.8vw,2rem); }
.nav-links a{ color:#fff; font-size:.95rem; font-weight:500; opacity:.92; transition:color .5s var(--ease-spring),opacity .3s; position:relative; }
.nav.is-scrolled .nav-links a{ color:var(--forest); }
.nav-links a:not(.btn)::after{ content:''; position:absolute; inset-inline:0; bottom:-5px; height:1.5px; background:currentColor; transform:scaleX(0); transform-origin:right; transition:transform .4s var(--ease-spring); }
.nav-links a:not(.btn):hover::after{ transform:scaleX(1); }
.nav-links .btn{ padding:.55rem 1.2rem; font-size:.9rem; }
.nav.is-scrolled .nav-links .btn{ background:var(--green); color:var(--cream); border-color:var(--green); }
.nav-toggle{ display:none; background:none; border:0; cursor:pointer; padding:.4rem; }
@media (max-width: 880px){
.nav-links{
    position:fixed; inset:0; flex-direction:column; justify-content: flex-start; padding-top: 70px;
    gap:1.6rem; background:var(--forest); color:var(--cream); height: 100vh;
    transform:translateY(-100%); transition:transform .6s var(--ease-spring);
}
.nav-links.open{ transform:translateY(0); }
.nav-links a, .nav.is-scrolled .nav-links a{ color:var(--cream); font-size:1.4rem; font-family:var(--font-display); }
.nav-toggle{ display:block; z-index:101; }
.nav-toggle span{ display:block; width:26px; height:2px; background:#fff; margin:6px 0; transition:.4s var(--ease-spring); }
.nav.is-scrolled .nav-toggle span{ background:var(--forest); }
.nav-toggle.open span{ background:#fff; }
.nav-toggle.open span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }
}

/* =========================================================
    HERO
    ========================================================= */
.hero{ min-height:100dvh; display:flex; align-items:center; overflow:hidden; }
.hero-bg{ position:absolute; inset:0; z-index:0; }
.hero-bg img{ width:100%; height:100%; object-fit:cover; object-position:center 35%; transform:scale(1.04); }
.hero-bg::after{
content:''; position:absolute; inset:0;
background:
    linear-gradient(to left, rgba(27,42,38,.72) 0%, rgba(27,42,38,.42) 42%, rgba(27,42,38,.12) 72%, rgba(27,42,38,.30) 100%),
    linear-gradient(to top, rgba(244,237,231,1) 0%, rgba(244,237,231,.0) 26%, rgba(27,42,38,.18) 100%);
}
.hero-inner{ position:relative; z-index:1; width:100%; max-width:var(--maxw); margin-inline:auto; padding: 7rem var(--gutter) 4rem; }
.hero-text{ max-width:min(46rem, 92%); text-align:right; color:#fff; }
.hero .eyebrow{ color:#fff; border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.08); margin-bottom:1.6rem; }
.hero .eyebrow .num{ color:var(--sand-soft); }
.hero-title{ color:#fff; font-weight:500; font-size:var(--fs-display); letter-spacing:-.01em; }
.hero-title .line{ display:block; overflow:hidden; }
.hero-title .word{ display:inline-block; }
.hero-sub{ font-family:var(--font-display); font-weight:300; font-size:var(--fs-lede); color:rgba(255,255,255,.94); margin-top:1.4rem; max-width:34rem; }
.hero-tag{ font-family:var(--font-display); font-style:italic; font-weight:400; font-size:clamp(1.3rem,1.4vw+.8rem,2.2rem); color:var(--sand-soft); margin-top:.7rem; }
.hero-cta{ margin-top:2.4rem; display:flex; gap:1rem; flex-wrap:wrap; }
.hero-cta .btn{ background:var(--sand); color:var(--green-deep); border-color:var(--sand); }
.hero-cta .btn:hover{ background:#fff; border-color:#fff; }
.hero-scroll{ position:absolute; inset-inline:0; bottom:1.6rem; z-index:2; display:flex; justify-content:center; }
.hero-scroll span{ color:rgba(255,255,255,.75); font-size:.7rem; letter-spacing:.3em; writing-mode:vertical-rl; display:flex; align-items:center; gap:.6rem; }
.hero-scroll i{ width:1px; height:34px; background:rgba(255,255,255,.5); display:block; animation:scrollPulse 2.4s var(--ease-soft) infinite; }
@keyframes scrollPulse{0%,100%{transform:scaleY(.3);opacity:.4;transform-origin:top}50%{transform:scaleY(1);opacity:1;transform-origin:top}}

/* =========================================================
    SHARED — section heading
    ========================================================= */
.wrap{ max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }
.sec-head{ display:flex; flex-direction:column; gap:1.1rem; align-items:center; text-align:center; }
.sec-head h2{ font-size:var(--fs-h2); font-weight:500; }
.sec-head .kicker{ max-width:var(--measure); color:var(--ink-soft); font-size:var(--fs-body); }

/* =========================================================
    FILM
    ========================================================= */
.film{ background:var(--cream); padding: var(--section-pad) 0 calc(var(--section-pad) * .7); }
.film .sec-head{ margin-bottom:clamp(2.5rem,5vw,4rem); }
.film-stage{
position:relative; max-width:66rem; margin-inline:auto; aspect-ratio:16/9;
border-radius:18px; overflow:hidden;
box-shadow:0 40px 90px -40px rgba(27,42,38,.55), 0 0 0 1px var(--rule);
}
.film-stage img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.02); transition:transform 1.4s var(--ease-soft); }
.film-stage:hover img{ transform:scale(1.07); }
.film-stage::after{ content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(27,42,38,.55), rgba(27,42,38,.05) 55%, rgba(27,42,38,.25)); }
.film-play{
position:absolute; inset:0; z-index:2; display:flex; align-items:center; justify-content:center;
border:0; background:none; cursor:pointer; color:#fff;
}
.film-play .disc{
width:clamp(74px,9vw,108px); height:clamp(74px,9vw,108px); border-radius:50%;
display:grid; place-items:center;
background:rgba(255,255,255,.16); backdrop-filter:blur(6px);
border:1px solid rgba(255,255,255,.5);
transition:transform .5s var(--ease-spring), background .5s var(--ease-spring);
}
.film-play .disc::before{ content:''; position:absolute; width:clamp(74px,9vw,108px); height:clamp(74px,9vw,108px); border-radius:50%; border:1px solid rgba(255,255,255,.4); animation:ripple 2.8s var(--ease-soft) infinite; }
@keyframes ripple{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.7);opacity:0}}
.film-play:hover .disc{ transform:scale(1.08); background:rgba(205,171,115,.85); }
.film-play .tri{ width:0;height:0; border-style:solid; border-width:13px 0 13px 21px; border-color:transparent transparent transparent #fff; margin-inline-start:5px; }
.film-play:hover .tri{ border-color:transparent transparent transparent var(--green-deep); }
.film-cap{ position:absolute; inset-inline:0; bottom:clamp(1rem,2.4vw,1.8rem); z-index:2; text-align:center; color:rgba(255,255,255,.92); font-size:.9rem; letter-spacing:.04em; }

/* =========================================================
    ESSAY (intro) + organic image
    ========================================================= */
.essay{
background:linear-gradient(to bottom, var(--cream) 0%, var(--sage-soft) 35%, var(--sage-soft) 100%);
padding: calc(var(--section-pad)*.7) 0 var(--section-pad);
}
.essay-grid{ display:grid; gap:clamp(2.5rem,5vw,5rem); align-items:center; }
@media (min-width:900px){ .essay-grid{ grid-template-columns:1.05fr .95fr; } }
.essay-text{ max-width:var(--measure); }
.essay-text p{ font-size:var(--fs-lede); line-height:1.85; color:var(--forest); margin:0 0 1.3rem; font-weight:300; }
.essay-text p:first-of-type{ font-family:var(--font-display); font-weight:500; font-size:clamp(1.4rem,1vw+1.1rem,2rem); line-height:1.5; color:var(--forest); }
.essay-text .drop::first-letter{ } /* reserved */
.essay-art{ position:relative; }
.essay-art img{ width:100%; border-radius:16px; aspect-ratio:4/5; object-fit:cover; box-shadow:0 36px 80px -44px rgba(27,42,38,.6); }
.essay-art .tagpill{ position:absolute; bottom:1rem; inset-inline-start:1rem; background:rgba(244,237,231,.92); color:var(--green); font-size:.72rem; font-weight:600; letter-spacing:.2em; padding:.4rem .9rem; border-radius:9999px; }

/* =========================================================
    GET INVOLVED band
    ========================================================= */
.involve{ background:var(--sage); padding: var(--section-pad) 0; text-align:center; }
.involve .wrap{ max-width:54rem; }
.involve h2{ font-size:var(--fs-h2); font-weight:500; }
.involve p{ font-size:var(--fs-lede); color:var(--forest-soft); margin:1.4rem auto 0; max-width:42rem; font-weight:300; }
.involve .btn{ margin-top:2.2rem; }

/* =========================================================
    TEAM — two-card editorial grid
    ========================================================= */
.team{ background:var(--cream); padding: var(--section-pad) 0; }
.team .sec-head{ margin-bottom:clamp(2.5rem,5vw,4rem); }
.cards-2{ display:grid; gap:clamp(1.5rem,3vw,2.4rem); }
@media (min-width:820px){ .cards-2{ grid-template-columns:1fr 1fr; } }
.ecard{
background:var(--paper); border-radius:16px; overflow:hidden;
box-shadow:0 24px 60px -42px rgba(27,42,38,.5), 0 0 0 1px var(--rule);
display:flex; flex-direction:column;
transition:transform .55s var(--ease-spring), box-shadow .55s var(--ease-spring);
}
.ecard:hover{ transform:translateY(-6px); box-shadow:0 40px 80px -40px rgba(27,42,38,.55), 0 0 0 1px var(--rule); }
.ecard-media{ position:relative; aspect-ratio:16/10; overflow:hidden; }
.ecard-media img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease-soft); }
.ecard:hover .ecard-media img{ transform:scale(1.06); }
.ecard-media .badge{ position:absolute; top:1rem; inset-inline-start:1rem; background:rgba(27,42,38,.78); color:var(--sand-soft); font-size:.66rem; font-weight:600; letter-spacing:.18em; padding:.35rem .8rem; border-radius:9999px; backdrop-filter:blur(4px); }
.ecard-body{ padding:clamp(1.5rem,2.6vw,2.2rem); display:flex; flex-direction:column; gap:.9rem; flex:1; }
.ecard-body h3{ font-size:clamp(1.3rem,1vw+1rem,1.7rem); font-weight:500; }
.ecard-body p{ color:var(--ink-soft); font-size:1rem; line-height:1.7; margin:0; }
.ecard-more{ margin-top:auto; color:var(--green); font-weight:600; font-size:.95rem; display:inline-flex; align-items:center; gap:.5rem; }
.ecard-more .arrow{ transition:transform .4s var(--ease-spring); }
.ecard:hover .ecard-more .arrow{ transform:translateX(-5px); }

/* =========================================================
    RESOURCES — highlights carousel
    ========================================================= */
.res{ background:var(--cream-deep); padding: var(--section-pad) 0; overflow:hidden; }
.res .sec-head{ margin-bottom:clamp(2.2rem,4vw,3.4rem); }
.res-track{
display:flex; gap:clamp(1rem,2vw,1.75rem);
scroll-snap-type:x mandatory; overflow-x:auto; scroll-behavior:smooth;
scrollbar-width:none; padding-inline:var(--gutter); padding-bottom:.5rem;
max-width:calc(var(--maxw) + var(--gutter)*2); margin-inline:auto;
}
.res-track::-webkit-scrollbar{ display:none; }
.res-slide{ flex:0 0 min(78vw, 460px); scroll-snap-align:center; scroll-snap-stop:always; }
.res-card{
position:relative; border-radius:16px; overflow:hidden; height:clamp(360px,52vw,500px);
display:flex; flex-direction:column; isolation:isolate;
box-shadow:0 30px 70px -44px rgba(27,42,38,.6), 0 0 0 1px var(--rule);
}
.res-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; transition:transform 1.4s var(--ease-soft); }
.res-card:hover img{ transform:scale(1.06); }
.res-card-body{
position:relative; z-index:1; margin-top:auto; color:#fff;
padding: clamp(4.5rem,10vw,7rem) clamp(1.6rem,3vw,2.4rem) clamp(1.6rem,3vw,2.4rem);
}
.res-card-body::before{
content:''; position:absolute; inset:0; z-index:-1;
background: rgba(var(--ov-r,27), var(--ov-g,42), var(--ov-b,38), .58);
backdrop-filter: blur(16px) saturate(130%) brightness(1.05);
-webkit-backdrop-filter: blur(16px) saturate(130%) brightness(1.05);
pointer-events:none;
-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,.02) 4%,rgba(0,0,0,.06) 8%,rgba(0,0,0,.12) 12%,rgba(0,0,0,.20) 16%,rgba(0,0,0,.30) 20%,rgba(0,0,0,.42) 24%,rgba(0,0,0,.55) 28%,rgba(0,0,0,.68) 31%,rgba(0,0,0,.80) 34%,rgba(0,0,0,.90) 37%,rgba(0,0,0,.97) 40%,#000 44%,#000 100%);
        mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,.02) 4%,rgba(0,0,0,.06) 8%,rgba(0,0,0,.12) 12%,rgba(0,0,0,.20) 16%,rgba(0,0,0,.30) 20%,rgba(0,0,0,.42) 24%,rgba(0,0,0,.55) 28%,rgba(0,0,0,.68) 31%,rgba(0,0,0,.80) 34%,rgba(0,0,0,.90) 37%,rgba(0,0,0,.97) 40%,#000 44%,#000 100%);
}
.res-card-body .badge{ font-size:.66rem; font-weight:600; letter-spacing:.2em; color:var(--sand-soft); }
.res-card-body h3{ color:#fff; font-weight:500; font-size:clamp(1.35rem,1.2vw+1rem,1.9rem); margin:.6rem 0 .7rem; }
.res-card-body p{ color:rgba(255,255,255,.9); font-size:.98rem; line-height:1.65; margin:0 0 1rem; }
.res-card-body .more{ color:#fff; font-weight:600; font-size:.92rem; display:inline-flex; gap:.5rem; align-items:center; }
.res-dots{ display:flex; gap:.55rem; justify-content:center; margin-top:2rem; }
.res-dot{ width:8px; height:8px; border-radius:50%; border:0; background:var(--rule); cursor:pointer; padding:0; transition:background .35s,transform .35s; }
.res-dot[aria-current="true"]{ background:var(--green); transform:scale(1.35); }

/* =========================================================
    FEATURE — sticky image + text (Eco Torah / Infographics)
    ========================================================= */
.feature{ background:var(--cream); padding: var(--section-pad) 0; }
.feature + .feature{ padding-top:0; }
.feature-grid{ display:grid; gap:clamp(2rem,4vw,4.5rem); align-items:center; }
@media (min-width:900px){
.feature-grid{ grid-template-columns:1fr 1fr; }
.feature.flip .feature-art{ order:2; }
}
.feature-art{ position:relative; }
.feature-art img{ width:100%; border-radius:16px; object-fit:cover; box-shadow:0 36px 80px -44px rgba(27,42,38,.6); }
.feature-art.book img{ aspect-ratio:1/1; object-fit:contain; background:linear-gradient(135deg,var(--sage-soft),var(--cream-deep)); padding:clamp(1.5rem,4vw,3rem); }
.feature-art.tall img{ aspect-ratio:3/4; }
.feature-text{ max-width:var(--measure); }
.feature-text .eyebrow{ margin-bottom:1.3rem; }
.feature-text h2{ font-size:var(--fs-h2); font-weight:500; margin-bottom:1.1rem; }
.feature-text p{ color:var(--ink-soft); font-size:var(--fs-body); line-height:1.8; margin:0 0 1.6rem; }

/* =========================================================
    TAKE PART — closer band (dark)
    ========================================================= */
.closer{ background:var(--green-deep); color:var(--cream); padding: calc(var(--section-pad)*1.1) 0; text-align:center; position:relative; overflow:hidden; }
.closer::before{ content:''; position:absolute; inset:0; background:radial-gradient(120% 90% at 50% 0%, rgba(205,171,115,.16), transparent 60%); pointer-events:none; }
.closer .wrap{ max-width:48rem; position:relative; }
.closer .eyebrow{ margin-inline:auto; margin-bottom:1.6rem; }
.closer h2{ color:#fff; font-size:var(--fs-h2); font-weight:500; }
.closer p{ color:rgba(244,237,231,.82); font-size:var(--fs-lede); margin:1.4rem auto 0; max-width:38rem; font-weight:300; }
.closer .btn{ margin-top:2.4rem; }

/* =========================================================
    FOOTER
    ========================================================= */
.site-footer{ background:var(--green-deep); color:var(--cream); padding: clamp(3rem,6vw,5rem) var(--gutter) 2rem; border-top:1px solid rgba(231,214,180,.12); }
.site-footer-inner{ max-width:var(--maxw); margin-inline:auto; display:grid; gap:clamp(2rem,5vw,4rem); }
@media (min-width:760px){ .site-footer-inner{ grid-template-columns:1.3fr 1fr; align-items:start; } }
.site-footer-mark{ font-family:var(--font-latin); font-weight:600; font-size:2rem; letter-spacing:.04em; color:var(--sand); }
.site-footer-mark span{ display:block; font-family:var(--font-display); font-size:1.5rem; color:var(--cream); margin-top:.2rem; }
.site-footer-tag{ display:block; margin-top:1.1rem; font-family:var(--font-display); font-style:italic; opacity:.7; max-width:24rem; }
.site-footer-nav-eyebrow{ font-size:.68rem; font-weight:600; letter-spacing:.24em; color:rgba(231,214,180,.6); margin:0 0 1.1rem; }
.site-footer-nav-list{ list-style:none; padding:0; margin:0; display:grid; gap:.55rem; counter-reset:nav; }
.site-footer-nav-list li{ counter-increment:nav; font-family:var(--font-display); font-size:1.05rem; }
.site-footer-nav-list li::before{ content:counter(nav,hebrew) ". "; color:rgba(231,214,180,.45); margin-inline-end:.6rem; }
.site-footer-nav-list a{ opacity:.85; transition:opacity .35s,color .35s; }
.site-footer-nav-list a:hover{ opacity:1; color:var(--sand); }
.site-footer-base{ max-width:var(--maxw); margin:clamp(2.5rem,4vw,3.5rem) auto 0; padding-top:1.4rem; border-top:1px solid rgba(231,214,180,.12); display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:center; font-size:.82rem; letter-spacing:.04em; color:rgba(231,214,180,.6); }
.site-footer-base a{ color:rgba(231,214,180,.7); }
.site-footer-base a:hover{ color:var(--sand); }
.site-footer-base .ornament{ color:rgba(231,214,180,.4); letter-spacing:.5em; }

/* Cinematic seams */
.seam-top{ position:relative; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
.anim-up{ transition:none; opacity:1; transform:none; }
.hero-scroll i, .film-play .disc::before{ animation:none; }
.hero-bg img{ transform:none; }
}