/* ==========================================================================
   ישיבת נחלת ישראל — Design System 2026
   Loaded after the legacy theme (style.css). Owns every visible surface.
   ========================================================================== */

:root {
    /* Brand */
    --navy-950: #0a1322;
    --navy-900: #0f1d33;
    --navy-800: #152845;
    --navy-700: #1c355c;
    --navy-600: #264677;
    --navy-100: #e6ebf3;

    --gold-700: #8f6a22;
    --gold-600: #b1852f;
    --gold-500: #c99d4b;
    --gold-400: #dcb86e;
    --gold-200: #f1e3bf;
    --gold-100: #f8f0dc;

    --teal-700: #1d7f93;
    --teal-600: #2596ad;
    --teal-500: #2fa7bf;
    --teal-400: #5ec0d3;
    --teal-100: #e2f3f6;

    --sage-600: #7f9a5a;
    --sage-500: #96ad72;
    --sage-200: #dfe6c5;
    --sage-100: #eef2df;

    --sand: #f4eee1;
    --cream: #faf7f1;
    --surface: #ffffff;

    --ink: #172033;
    --ink-muted: #4f5a6b;
    --ink-faint: #8a93a3;
    --border: #e4ddcc;
    --border-soft: rgba(21, 40, 69, 0.1);

    --shadow-xs: 0 1px 2px rgba(10, 19, 34, 0.05);
    --shadow-sm: 0 2px 8px -2px rgba(10, 19, 34, 0.08), 0 1px 2px rgba(10, 19, 34, 0.04);
    --shadow-md: 0 14px 34px -14px rgba(10, 19, 34, 0.25);
    --shadow-lg: 0 30px 70px -24px rgba(10, 19, 34, 0.38);
    --shadow-gold: 0 14px 30px -12px rgba(177, 133, 47, 0.5);
    --shadow-navy: 0 16px 34px -14px rgba(21, 40, 69, 0.55);

    --r-sm: 10px;
    --r-md: 16px;
    --r-lg: 24px;
    --r-xl: 32px;
    --r-pill: 999px;

    --font-body: 'Rubik', 'Heebo', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-display: 'Karantina', 'Rubik', 'Heebo', sans-serif;

    --ease: cubic-bezier(.22, 1, .36, 1);
    --ease-io: cubic-bezier(.65, 0, .35, 1);

    --header-h: 84px;
    --header-total: 120px; /* top strip 36px + bar 84px */
    --container: 1240px;
    --gutter: clamp(1rem, 4vw, 2rem);
}

/* ---------- Base ---------- */

html { scroll-behavior: smooth; overflow-x: hidden; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
    font-family: var(--font-body);
    font-size: 17px;
    line-height: 1.7;
    color: var(--ink);
    background: var(--cream);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
}

::selection { background: var(--gold-400); color: var(--navy-950); }

a { color: var(--navy-700); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--teal-600); text-decoration: none; }

img { max-width: 100%; height: auto; }

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-body);
    font-weight: 700;
    color: var(--navy-900);
    line-height: 1.2;
    letter-spacing: -0.01em;
    margin: 0 0 .6em;
}

p { line-height: 1.8; color: var(--ink-muted); }

.container { max-width: var(--container); padding-left: var(--gutter); padding-right: var(--gutter); }

.display {
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: 0;
    line-height: .95;
}

.wrap {
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 var(--gutter);
}

.wrap--narrow { max-width: 860px; }
.wrap--wide { max-width: 1440px; }

/* Section rhythm */

.section { padding: clamp(4rem, 8vw, 7rem) 0; position: relative; }
.section--tight { padding: clamp(3rem, 6vw, 5rem) 0; }
.section--white { background: var(--surface); }
.section--sand { background: var(--sand); }

.section-head { max-width: 720px; margin-bottom: clamp(2rem, 4vw, 3.2rem); }
.section-head--center { margin-left: auto; margin-right: auto; text-align: center; }

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .65em;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--teal-600);
    margin-bottom: .9rem;
}
.eyebrow::before { content: ''; width: 28px; height: 2px; background: currentColor; border-radius: 2px; }
.section-head--center .eyebrow::after { content: ''; width: 28px; height: 2px; background: currentColor; border-radius: 2px; }
.eyebrow--gold { color: var(--gold-600); }
.eyebrow--light { color: var(--gold-400); }

.section-title {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(2.6rem, 5.2vw, 4.2rem);
    line-height: .98;
    color: var(--navy-900);
    margin: 0 0 1rem;
}
.section-title--light { color: #fff; }
.section-lede { font-size: clamp(1.02rem, 1.4vw, 1.18rem); color: var(--ink-muted); margin: 0; max-width: 58ch; }
.section-head--center .section-lede { margin-left: auto; margin-right: auto; }

/* ---------- Buttons ---------- */

.btn-x {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55em;
    padding: .95rem 2rem;
    border-radius: var(--r-pill);
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 1rem;
    line-height: 1;
    white-space: nowrap;
    border: 1.5px solid transparent;
    cursor: pointer;
    text-decoration: none !important;
    transition: transform .25s var(--ease), box-shadow .25s var(--ease), background-color .2s ease, color .2s ease, border-color .2s ease;
}
.btn-x i { font-size: .92em; }
.btn-x:hover { transform: translateY(-2px); }
.btn-x:active { transform: translateY(0); }
.btn-x:focus-visible { outline: 3px solid rgba(47, 167, 191, .4); outline-offset: 2px; }

.btn-x--navy { background: var(--navy-800); color: #fff !important; box-shadow: var(--shadow-navy); }
.btn-x--navy:hover { background: var(--navy-700); color: #fff !important; }

.btn-x--gold { background: linear-gradient(135deg, var(--gold-500), var(--gold-700)); color: #fff !important; box-shadow: var(--shadow-gold); }
.btn-x--gold:hover { color: #fff !important; box-shadow: 0 20px 36px -14px rgba(177, 133, 47, .6); }

.btn-x--teal { background: var(--teal-500); color: #fff !important; box-shadow: 0 14px 30px -12px rgba(47, 167, 191, .55); }
.btn-x--teal:hover { background: var(--teal-600); color: #fff !important; }

.btn-x--white { background: #fff; color: var(--navy-900) !important; box-shadow: var(--shadow-md); }
.btn-x--white:hover { color: var(--teal-700) !important; }

.btn-x--ghost { background: rgba(255,255,255,.08); color: #fff !important; border-color: rgba(255,255,255,.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.btn-x--ghost:hover { background: rgba(255,255,255,.18); border-color: #fff; color: #fff !important; }

.btn-x--outline { background: transparent; color: var(--navy-800) !important; border-color: var(--border-soft); }
.btn-x--outline:hover { border-color: var(--navy-800); color: var(--navy-900) !important; }

.btn-x--sm { padding: .7rem 1.4rem; font-size: .92rem; }
.btn-x--lg { padding: 1.15rem 2.5rem; font-size: 1.08rem; }

.link-arrow {
    display: inline-flex;
    align-items: center;
    gap: .5em;
    font-weight: 600;
    color: var(--navy-800);
}
.link-arrow i { transition: transform .25s var(--ease); font-size: .85em; }
.link-arrow:hover { color: var(--teal-600); }
.link-arrow:hover i { transform: translateX(-4px); }

/* Legacy bootstrap .btn-primary (contact form) */
.btn-primary, .btn.btn-primary {
    background: var(--navy-800) !important;
    border-color: transparent !important;
    color: #fff !important;
    border-radius: var(--r-pill);
    font-weight: 600;
    box-shadow: var(--shadow-navy);
    transition: transform .25s var(--ease), background-color .2s ease;
}
.btn-primary:hover, .btn.btn-primary:hover { background: var(--navy-700) !important; transform: translateY(-2px); }
.btn-primary:disabled { opacity: .5; transform: none; box-shadow: none; }

/* ==========================================================================
   Header
   ========================================================================== */

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255, 255, 255, .92);
    backdrop-filter: saturate(180%) blur(14px);
    -webkit-backdrop-filter: saturate(180%) blur(14px);
    border-bottom: 1px solid var(--border-soft);
    transition: background-color .35s ease, border-color .35s ease, box-shadow .35s ease, transform .35s ease;
}
.site-header.scrolled { box-shadow: 0 6px 24px -12px rgba(10, 19, 34, .25); }

.site-header__top {
    background: var(--navy-900);
    color: rgba(255,255,255,.8);
    font-size: .82rem;
    transition: max-height .35s var(--ease), opacity .3s ease;
}
.site-header__top .wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 36px;
}
.site-header__top-links { display: flex; align-items: center; gap: 1.4rem; list-style: none; margin: 0; padding: 0; }
.site-header__top-links a { color: rgba(255,255,255,.8); display: inline-flex; align-items: center; gap: .45em; }
.site-header__top-links a:hover { color: var(--gold-400); }
.site-header__top-links i { color: var(--gold-400); font-size: .85em; }
.site-header__top-note { color: var(--gold-400); font-weight: 500; display: inline-flex; align-items: center; gap: .5em; }

.site-header__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    min-height: var(--header-h);
}

.site-header__brand {
    display: flex;
    align-items: center;
    gap: .85rem;
    text-decoration: none !important;
    flex-shrink: 0;
}
.site-header__brand img { height: 52px; width: auto; display: block; transition: filter .3s ease, height .3s ease; }
.site-header__brand-text { display: flex; flex-direction: column; line-height: 1.15; }
.site-header__brand-name { font-family: var(--font-display); font-weight: 700; font-size: 1.75rem; color: var(--navy-900); letter-spacing: .01em; transition: color .3s ease; }
.site-header__brand-sub { font-size: .78rem; font-weight: 500; letter-spacing: .08em; color: var(--gold-600); transition: color .3s ease; }

.site-nav { display: flex; align-items: center; gap: .75rem; }

.site-nav__list { display: flex; align-items: center; gap: .1rem; list-style: none; margin: 0; padding: 0; }

.site-nav__link {
    display: inline-flex;
    align-items: center;
    gap: .45em;
    padding: .6rem .95rem;
    border-radius: var(--r-pill);
    font-size: .95rem;
    font-weight: 500;
    color: var(--navy-800) !important;
    white-space: nowrap;
    position: relative;
    transition: background-color .2s ease, color .2s ease;
}
.site-nav__link i { font-size: .82em; opacity: .7; }
.site-nav__link:hover { background: var(--navy-100); color: var(--navy-900) !important; }
.site-nav__item.active > .site-nav__link { background: var(--navy-800); color: #fff !important; }
.site-nav__item.active > .site-nav__link i { opacity: 1; color: var(--gold-400); }

.site-nav__cta { margin-inline-start: .5rem; }
.site-nav__cta .btn-x { box-shadow: var(--shadow-gold); }

.site-nav__toggle {
    display: none;
    align-items: center;
    gap: .55em;
    border: 1.5px solid var(--border-soft);
    background: transparent;
    color: var(--navy-900);
    border-radius: var(--r-pill);
    padding: .6rem 1.1rem;
    font-family: var(--font-body);
    font-weight: 600;
    font-size: .92rem;
    cursor: pointer;
    transition: color .3s ease, border-color .3s ease;
}
.site-nav__toggle .bars { display: inline-flex; flex-direction: column; gap: 4px; width: 18px; }
.site-nav__toggle .bars span { height: 2px; background: currentColor; border-radius: 2px; transition: transform .3s var(--ease), opacity .2s ease; }
.site-header.is-open .site-nav__toggle .bars span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.site-header.is-open .site-nav__toggle .bars span:nth-child(2) { opacity: 0; }
.site-header.is-open .site-nav__toggle .bars span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* Mobile items only appear in the drawer */
.site-nav__item.mobile { display: none; }

/* Home: transparent header floating over the hero */

.has-hero { position: relative; }
.has-hero .site-header {
    position: fixed;
    top: 0; left: 0; right: 0;
    background: transparent;
    border-bottom-color: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.has-hero .site-header::before {
    content: '';
    position: absolute;
    inset: 0 0 -60px 0;
    background: linear-gradient(180deg, rgba(10, 19, 34, .75), rgba(10, 19, 34, 0));
    pointer-events: none;
    z-index: -1;
    opacity: 1;
    transition: opacity .35s ease;
}
.has-hero .site-header .site-header__top { background: rgba(10, 19, 34, .35); }
.has-hero .site-header:not(.scrolled):not(.is-open) .site-header__brand-name { color: #fff; }
.has-hero .site-header:not(.scrolled):not(.is-open) .site-header__brand-sub { color: var(--gold-400); }
.has-hero .site-header:not(.scrolled):not(.is-open) .site-header__brand img { filter: brightness(0) invert(1); }
.has-hero .site-header:not(.scrolled):not(.is-open) .site-nav__link { color: #fff !important; }
.has-hero .site-header:not(.scrolled):not(.is-open) .site-nav__link:hover { background: rgba(255,255,255,.14); }
.has-hero .site-header:not(.scrolled):not(.is-open) .site-nav__item.active > .site-nav__link { background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.35); }
.has-hero .site-header:not(.scrolled):not(.is-open) .site-nav__toggle { color: #fff; border-color: rgba(255,255,255,.5); }

.has-hero .site-header.scrolled,
.has-hero .site-header.is-open {
    background: rgba(255, 255, 255, .94);
    border-bottom-color: var(--border-soft);
    backdrop-filter: saturate(180%) blur(14px);
    -webkit-backdrop-filter: saturate(180%) blur(14px);
}
.has-hero .site-header.scrolled::before, .has-hero .site-header.is-open::before { opacity: 0; }
.has-hero .site-header.scrolled .site-header__top { background: var(--navy-900); }


@media (max-width: 1199px) {
    :root { --header-h: 72px; --header-total: 72px; }
    .site-header__top { display: none; }
    .site-nav__toggle { display: inline-flex; }
    .site-nav__list {
        display: none;
        position: absolute;
        top: 100%;
        left: var(--gutter);
        right: var(--gutter);
        flex-direction: column;
        align-items: stretch;
        gap: .2rem;
        background: #fff;
        border: 1px solid var(--border-soft);
        border-radius: var(--r-lg);
        padding: .75rem;
        box-shadow: var(--shadow-lg);
        max-height: calc(100vh - var(--header-h) - 1rem);
        overflow: auto;
    }
    .site-header.is-open .site-nav__list { display: flex; animation: navDrop .3s var(--ease); }
    .site-nav__item.mobile { display: block; }
    .site-nav__link { padding: .85rem 1rem; font-size: 1rem; }
    .site-nav__link i { width: 1.4em; text-align: center; opacity: .9; color: var(--gold-600); }
    .site-nav__item.active > .site-nav__link i { color: var(--gold-400); }
    .site-nav__cta { display: none; }
    .site-nav__item--cta { display: block; margin-top: .4rem; }
    .site-nav__item--cta .site-nav__link { background: linear-gradient(135deg, var(--gold-500), var(--gold-700)); color: #fff !important; justify-content: center; }
    .site-nav__item--cta .site-nav__link i { color: #fff; }
    .site-header__brand img { height: 44px; }
    .site-header__brand-name { font-size: 1.5rem; }
}
@media (min-width: 1200px) { .site-nav__item--cta { display: none; } }

@keyframes navDrop { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }

/* ==========================================================================
   Hero (photo slider)
   ========================================================================== */

.hero {
    position: relative;
    isolation: isolate;
    height: clamp(560px, 92vh, 860px);
    height: clamp(560px, 92svh, 860px);
    background: var(--navy-950);
    color: #fff;
    overflow: hidden;
}

.hero__slider { position: absolute; inset: 0; z-index: 0; }
.hero__slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center 38%;
    opacity: 0;
    transform: scale(1.06);
    transition: opacity 1.4s ease, transform 8s linear;
    will-change: opacity, transform;
}
.hero__slide.is-active { opacity: 1; transform: scale(1); z-index: 1; }

.hero__scrim {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(10, 19, 34, .15) 0%, rgba(10, 19, 34, .05) 35%, rgba(10, 19, 34, .78) 100%),
        linear-gradient(90deg, rgba(10, 19, 34, .1) 0%, rgba(10, 19, 34, .55) 100%);
}

.hero__content {
    position: absolute;
    z-index: 2;
    inset-inline: 0;
    bottom: clamp(3.5rem, 9vh, 7rem);
}
.hero__content .wrap { display: flex; flex-direction: column; align-items: flex-start; }

.hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .6em;
    font-size: .86rem;
    font-weight: 500;
    letter-spacing: .08em;
    color: #fff;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.28);
    padding: .5rem 1.1rem;
    border-radius: var(--r-pill);
    margin-bottom: 1.4rem;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.hero__eyebrow i { color: var(--gold-400); }

.hero__title {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(4rem, 11vw, 9.5rem);
    line-height: .9;
    color: #fff;
    margin: 0 0 1.1rem;
    text-shadow: 0 6px 40px rgba(0,0,0,.35);
}
.hero__title em { font-style: normal; color: var(--gold-400); }

.hero__founder {
    display: inline-flex;
    align-items: center;
    gap: .7em;
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    font-weight: 500;
    color: var(--gold-400);
    letter-spacing: .02em;
    margin: -.2rem 0 1.3rem;
}
.hero__founder::before { content: ''; width: 34px; height: 2px; background: var(--gold-400); border-radius: 2px; }

.hero__lede {
    font-size: clamp(1.05rem, 1.7vw, 1.35rem);
    line-height: 1.7;
    color: rgba(255,255,255,.9);
    max-width: 44ch;
    margin: 0 0 2.2rem;
    font-weight: 400;
}

.hero__actions { display: flex; flex-wrap: wrap; gap: .85rem; }

/* dots + controls */
.hero__ui {
    position: absolute;
    z-index: 3;
    bottom: clamp(1.25rem, 3vh, 2rem);
    inset-inline: 0;
}
.hero__ui .wrap { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.hero__dots { display: flex; gap: .5rem; }
.hero__dots button {
    width: 34px; height: 4px;
    border-radius: 2px;
    background: rgba(255,255,255,.35);
    border: 0; padding: 0; cursor: pointer;
    transition: background-color .3s ease, width .3s var(--ease);
}
.hero__dots button.is-active { background: var(--gold-400); width: 56px; }

.hero__scroll {
    display: inline-flex; align-items: center; gap: .6em;
    color: rgba(255,255,255,.75); font-size: .8rem; letter-spacing: .1em; text-transform: uppercase;
}
.hero__scroll span { width: 26px; height: 40px; border: 2px solid rgba(255,255,255,.5); border-radius: 14px; position: relative; }
.hero__scroll span::after { content: ''; position: absolute; top: 7px; left: 50%; width: 3px; height: 7px; margin-left: -1.5px; background: var(--gold-400); border-radius: 2px; animation: cue 1.8s ease-in-out infinite; }
@keyframes cue { 0% { transform: translateY(0); opacity: 1; } 70%, 100% { transform: translateY(12px); opacity: 0; } }
.hero__scroll:hover { color: #fff; }

@media (max-width: 767px) {
    .hero { height: clamp(520px, 86svh, 720px); }
    .hero__content { bottom: 4.2rem; }
    .hero__title { font-size: clamp(3.6rem, 18vw, 5.2rem); }
    .hero__lede { font-size: 1rem; margin-bottom: 1.6rem; }
    .hero__founder { font-size: .95rem; margin-bottom: 1rem; }
    .hero__scroll { display: none; }
    .hero__actions .btn-x { padding: .85rem 1.4rem; font-size: .95rem; }
}
@media (prefers-reduced-motion: reduce) {
    .hero__slide { transition: opacity .6s ease; transform: none; }
    .hero__scroll span::after { animation: none; }
}

/* ==========================================================================
   News band (latest notice)
   ========================================================================== */

.news-band {
    position: relative;
    background: var(--sand);
    color: var(--navy-900);
    padding: clamp(2rem, 4vw, 3rem) 0;
    overflow: hidden;
}
.news-band::before {
    content: '';
    position: absolute; inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='90' viewBox='0 0 140 90'%3E%3Cpath d='M6 90 V45 A32 32 0 0 1 70 45 V90' fill='none' stroke='%23b1852f' stroke-width='1.2'/%3E%3Cpath d='M76 90 V45 A32 32 0 0 1 140 45 V90' fill='none' stroke='%23b1852f' stroke-width='1.2'/%3E%3C/svg%3E");
    background-size: 140px 90px;
    background-position: bottom center;
    opacity: .12;
    pointer-events: none;
}
.news-band .wrap { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: clamp(1.25rem, 3vw, 2.5rem); }

.news-band__label { display: flex; align-items: center; gap: 1rem; }
.news-band__icon {
    width: 62px; height: 62px; flex-shrink: 0;
    border-radius: 50%;
    background: #fff;
    color: var(--gold-600);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.4rem;
    box-shadow: var(--shadow-sm);
}
.news-band__title { font-family: var(--font-display); font-weight: 700; font-size: clamp(1.9rem, 3vw, 2.6rem); line-height: 1; margin: 0; color: var(--navy-900); white-space: nowrap; }

.news-band__body { min-width: 0; }
.news-band__text { font-size: clamp(1rem, 1.35vw, 1.15rem); color: var(--ink); margin: 0; line-height: 1.6; }
.news-band__text a { color: var(--teal-700); text-decoration: underline; text-underline-offset: 3px; }
.news-band__date { display: block; font-size: .82rem; color: var(--ink-faint); margin-top: .35rem; }

@media (max-width: 991px) {
    .news-band .wrap { grid-template-columns: 1fr; gap: 1rem; }
    .news-band__title { white-space: normal; }
}

/* ==========================================================================
   About intro
   ========================================================================== */

.about {
    background: var(--surface);
    overflow: hidden;
}
.about .wrap {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: clamp(2rem, 6vw, 5rem);
    align-items: center;
}
.about__text { padding-block: 1rem; }
.about__title-row { display: flex; align-items: center; gap: 1rem; }
.about__glyph { width: 68px; height: 68px; flex-shrink: 0; color: var(--teal-500); }
.about__text .section-title { margin-bottom: 1.2rem; }
.about__text p { font-size: 1.08rem; margin-bottom: 1rem; text-align: right; }
.about__text p strong { color: var(--navy-900); font-weight: 600; }
.about__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.6rem; }

.about__media { position: relative; min-height: 420px; }
.about__img-main {
    position: absolute; inset: 0 12% 12% 0;
    border-radius: var(--r-xl);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}
.about__img-main img { width: 100%; height: 100%; object-fit: cover; display: block; }
.about__img-second {
    position: absolute;
    right: 0; bottom: 0;
    width: 46%;
    aspect-ratio: 4 / 3;
    border-radius: var(--r-lg);
    overflow: hidden;
    border: 6px solid #fff;
    box-shadow: var(--shadow-lg);
}
.about__img-second img { width: 100%; height: 100%; object-fit: cover; display: block; }
.about__badge {
    position: absolute;
    left: 0; top: 8%;
    transform: translateX(-25%);
    background: var(--navy-900);
    color: #fff;
    border-radius: var(--r-lg);
    padding: 1rem 1.3rem;
    box-shadow: var(--shadow-lg);
    display: flex; flex-direction: column; align-items: center;
    line-height: 1;
}
.about__badge strong { font-family: var(--font-display); font-size: 2.4rem; color: var(--gold-400); }
.about__badge span { font-size: .8rem; opacity: .85; margin-top: .25rem; }
.about__deco {
    position: absolute; z-index: -1;
    inset: -10% -20% auto auto;
    width: 60%; aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, var(--teal-100), transparent 70%);
}

@media (max-width: 991px) {
    .about .wrap { grid-template-columns: 1fr; }
    .about__media { order: -1; min-height: 0; aspect-ratio: 4 / 3; }
    .about__badge { transform: none; left: 4%; }
}

/* ==========================================================================
   Feature blocks (image + label)
   ========================================================================== */

.blocks { background: var(--cream); }
.blocks__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.25rem, 3vw, 2.2rem); }

.block {
    position: relative;
    display: block;
    border-radius: var(--r-lg);
    overflow: hidden;
    aspect-ratio: 4 / 3.2;
    background: var(--navy-900);
    box-shadow: var(--shadow-sm);
    transition: transform .4s var(--ease), box-shadow .4s var(--ease);
    color: #fff;
}
.block:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); }
.block__img { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .8s var(--ease); }
.block:hover .block__img { transform: scale(1.06); }
.block::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(10,19,34,0) 35%, rgba(10,19,34,.85) 100%);
}
.block__body { position: absolute; inset: auto 0 0 0; padding: 1.5rem 1.6rem; z-index: 1; }
.block__label {
    display: inline-block;
    font-family: var(--font-display);
    font-size: 2.1rem;
    line-height: 1;
    padding: .45rem 1.1rem .3rem;
    border-radius: var(--r-sm);
    background: var(--gold-500);
    color: var(--navy-950);
    margin-bottom: .7rem;
    transform: translateY(0);
    transition: transform .35s var(--ease);
}
.block--teal .block__label { background: var(--teal-400); }
.block--sage .block__label { background: var(--sage-500); }
.block__desc { color: rgba(255,255,255,.85); font-size: .95rem; margin: 0; line-height: 1.55; }
.block__go {
    position: absolute; top: 1.2rem; left: 1.2rem; z-index: 1;
    width: 44px; height: 44px; border-radius: 50%;
    background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.4);
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    display: inline-flex; align-items: center; justify-content: center;
    color: #fff; font-size: .9rem;
    transition: background-color .3s ease, transform .3s var(--ease);
}
.block:hover .block__go { background: var(--teal-500); border-color: var(--teal-500); transform: translateX(-4px); }

@media (max-width: 991px) { .blocks__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .blocks__grid { grid-template-columns: 1fr; } .block { aspect-ratio: 16 / 10; } }

/* ==========================================================================
   Stats band
   ========================================================================== */

.stats-band {
    position: relative;
    background: linear-gradient(160deg, var(--navy-800), var(--navy-950));
    color: #fff;
    padding: clamp(3.5rem, 7vw, 6rem) 0;
    overflow: hidden;
}
.stats-band__arches {
    position: absolute; inset: 0; z-index: 0; opacity: .14;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='140' viewBox='0 0 220 140'%3E%3Cpath d='M10 140 V70 A50 50 0 0 1 110 70 V140' fill='none' stroke='%23dcb86e' stroke-width='2'/%3E%3Cpath d='M120 140 V70 A50 50 0 0 1 220 70 V140' fill='none' stroke='%23dcb86e' stroke-width='2'/%3E%3C/svg%3E");
    background-repeat: repeat-x;
    background-position: bottom center;
    background-size: 220px 140px;
}
.stats-band::after {
    content: '';
    position: absolute; z-index: 0;
    width: 700px; height: 700px; border-radius: 50%;
    right: -250px; top: -350px;
    background: radial-gradient(circle, rgba(47,167,191,.25), transparent 65%);
}
.stats-band .wrap { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 2fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.stats-band__head p { color: rgba(255,255,255,.72); font-size: 1.05rem; margin: 0; }

.stats-band__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.stats-band__item {
    display: flex; flex-direction: column; gap: .3rem;
    padding: 1.6rem 1.5rem;
    border-radius: var(--r-lg);
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.1);
    transition: transform .3s var(--ease), background-color .3s ease, border-color .3s ease;
}
.stats-band__item:hover { transform: translateY(-4px); background: rgba(255,255,255,.08); border-color: rgba(220,184,110,.4); }
.stats-band__item i { font-size: 1.15rem; color: var(--gold-400); margin-bottom: .5rem; }
.stats-band__num { font-family: var(--font-display); font-size: clamp(2.4rem, 4vw, 3.4rem); font-weight: 700; line-height: .95; color: #fff; }
.stats-band__label { font-size: .9rem; color: rgba(255,255,255,.66); }

@media (max-width: 991px) {
    .stats-band .wrap { grid-template-columns: 1fr; }
    .stats-band__head { text-align: center; }
    .stats-band__head .section-head { margin-inline: auto; }
}
@media (max-width: 480px) { .stats-band__grid { grid-template-columns: 1fr 1fr; gap: .7rem; } .stats-band__item { padding: 1.2rem 1rem; } }

/* ==========================================================================
   Info hub (tabs)
   ========================================================================== */

.hub { background: var(--cream); }
.hub .section-head { margin-bottom: 2rem; }

.hub__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    padding: .45rem;
    background: #fff;
    border: 1px solid var(--border-soft);
    border-radius: var(--r-pill);
    box-shadow: var(--shadow-sm);
    margin: 0 auto 1.6rem;
    width: fit-content;
    max-width: 100%;
    position: sticky;
    top: calc(var(--header-h) - 8px);
    z-index: 20;
}
.hub__tabs .nav-link {
    display: inline-flex; align-items: center; gap: .5em;
    padding: .7rem 1.25rem !important;
    border-radius: var(--r-pill) !important;
    font-weight: 600;
    font-size: .95rem;
    color: var(--navy-800) !important;
    background: transparent !important;
    white-space: nowrap;
    transition: background-color .2s ease, color .2s ease;
}
.hub__tabs .nav-link i { color: var(--gold-600); font-size: .9em; }
.hub__tabs .nav-link:hover { background: var(--navy-100) !important; }
.hub__tabs .nav-link.active { background: var(--navy-800) !important; color: #fff !important; box-shadow: var(--shadow-navy); }
.hub__tabs .nav-link.active i { color: var(--gold-400); }
.hub__tabs .nav-link--embed { background: var(--gold-100) !important; color: var(--gold-700) !important; }
.hub__tabs .nav-link--embed.active { background: linear-gradient(135deg, var(--gold-500), var(--gold-700)) !important; color: #fff !important; }
.hub__tabs .nav-link--embed.active i { color: #fff; }

.hub__panel {
    background: #fff;
    border: 1px solid var(--border-soft);
    border-radius: var(--r-xl);
    box-shadow: var(--shadow-md);
    padding: clamp(1.5rem, 4vw, 3rem);
    min-height: 420px;
}
.hub__panel .tab-pane { max-width: none; width: auto; padding: 0 !important; }
.hub__panel .tab-pane.container { max-width: none; }
.hub__panel .tab-pane:not(.active) { display: none; }
.hub__panel .tab-pane.active { display: block; animation: fadeUp .4s var(--ease); }
.hub__panel .tab-pane.fade { opacity: 1; transition: none; }
@keyframes fadeUp { from { opacity: 0; } to { opacity: 1; } }

.hub__panel--embed { padding: 0; overflow: hidden; }
.hub__panel--embed .tab-pane#services-7 { padding: 0 !important; }
.hub__panel--embed .tab-pane:not(#services-7) { padding: clamp(1.5rem, 4vw, 3rem) !important; }

/* Headings inside panels & mobile pages */
.tab-content h2,
.tab-content h2.w3-center,
.page-body h2,
.page-body h2.w3-center {
    text-align: center;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.4vw, 2.8rem);
    font-weight: 700;
    color: var(--navy-900);
    margin: 0 0 1.8rem;
    line-height: 1;
}

/* ---------- Alerts board ---------- */

.alertFrame {
    display: flex;
    gap: 1.1rem;
    align-items: flex-start;
    background: var(--cream);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    padding: 1.3rem 1.4rem;
    margin-bottom: 1rem;
    transition: box-shadow .25s ease, transform .25s ease, background-color .25s ease;
}
.alertFrame:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); background: #fff; }
.alertFrame .circle {
    flex-shrink: 0;
    width: 44px; height: 44px; border-radius: 50%;
    background: var(--gold-100); color: var(--gold-700);
    display: flex; align-items: center; justify-content: center; font-size: 1.05rem;
}
.alertFrame .alerts { min-width: 0; flex: 1; }
.alertFrame .alerts p { color: var(--ink); font-size: 1.02rem !important; word-break: break-word; }
.alertFrame .alerts p a { color: var(--teal-700) !important; text-decoration: underline; text-underline-offset: 3px; }
.alertFrame .alerts p:last-of-type { color: var(--ink-faint); font-size: .82rem !important; margin-top: .4rem; }
.alertFrame .alerts img { border-radius: var(--r-sm); }

/* ---------- About (long) ---------- */

.aboutContainer { margin-bottom: 3rem; max-width: 76ch; margin-inline: auto; }
.aboutContainer h3 {
    font-family: var(--font-display);
    font-size: 2.3rem;
    color: var(--navy-900);
    display: flex; align-items: center; gap: .6em;
    margin-bottom: 1.1rem;
    line-height: 1;
}
.aboutContainer h3::before { content: ''; width: 10px; height: 10px; border-radius: 3px; background: var(--gold-500); transform: rotate(45deg); flex-shrink: 0; }
.aboutContainer h4 { color: var(--teal-700); font-size: 1.15rem; margin: 1.8rem 0 .8rem; font-weight: 600; }
.aboutContainer p { margin-bottom: .9rem; }
.aboutContainer ul { padding-right: 1.1rem; margin-bottom: 1rem; }
.aboutContainer li { margin-bottom: .5rem; color: var(--ink-muted); line-height: 1.8; }
.aboutContainer li strong { color: var(--navy-900); font-weight: 600; }
.aboutContainer li::marker { color: var(--gold-500); }

/* ---------- Tables (alphone / shabatot) ---------- */

.w3-table {
    border-collapse: separate !important;
    border-spacing: 0;
    border-radius: var(--r-md);
    overflow: hidden;
    border: 1px solid var(--border);
    background: #fff;
}
.w3-table th {
    background: var(--navy-800) !important;
    color: #fff !important;
    font-weight: 600 !important;
    font-size: .92rem;
    padding: .95rem .7rem !important;
    border: none !important;
    text-align: center;
}
.w3-table td { padding: .85rem .7rem !important; border-color: var(--border) !important; vertical-align: middle; }
.w3-table tr { border-bottom: 1px solid var(--border); }
.w3-table.w3-striped tr:nth-child(even) { background: var(--cream) !important; }
.w3-table.w3-hoverable tr:hover { background: var(--gold-100) !important; }
.w3-table a { color: var(--navy-700); font-weight: 500; }
.w3-table i.fa { box-shadow: var(--shadow-xs); }
.location span { font-weight: 600; font-size: .85rem; padding: .3rem .8rem !important; }

/* ---------- Contact form ---------- */

.contact-form { max-width: 560px; margin: 0 auto; background: transparent; padding: 0 !important; }
.contact-form .form-control {
    border-radius: var(--r-sm);
    border: 1.5px solid var(--border);
    background: var(--cream);
    padding: .95rem 1.1rem;
    height: auto;
    font-size: 1rem;
    font-family: var(--font-body);
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.contact-form .form-control:focus { background: #fff; border-color: var(--teal-500); box-shadow: 0 0 0 4px rgba(47,167,191,.15); }
.contact-form input[type="submit"] { width: 100%; border: none; padding: 1rem; }
.isSend { text-align: center; padding: 3rem 1rem; font-size: 1.2rem; font-weight: 600; color: var(--teal-700); }
.isSend p::before { content: '✓'; display: block; width: 64px; height: 64px; margin: 0 auto 1rem; border-radius: 50%; background: var(--teal-100); color: var(--teal-700); font-size: 1.8rem; line-height: 64px; }

/* ---------- Diary mini (inside hub + diary page mobile) ---------- */

.mini { border-radius: var(--r-md); overflow: hidden; border: 1px solid var(--border); width: 100%; background: #fff; }
.mini td { padding: 1rem 1.1rem !important; border-bottom: 1px solid var(--border); }
.mini .day { font-size: .95rem; color: var(--ink-muted); margin-bottom: .4rem; }
.mini .day strong { color: var(--navy-900); }
.mini .noEvent { color: var(--ink-faint); font-size: .9rem; }
.mini p.h, .mini .eventFrame p { text-decoration: none !important; color: var(--navy-800) !important; font-size: .85rem !important; font-weight: 600; margin: .6rem 0 .2rem !important; }
.mini .ev { border-radius: 8px; padding: .45rem .7rem !important; font-size: .95rem; color: var(--navy-950); }
.mini .ev.g { padding: .5rem .7rem !important; }
.mini tr.shabat { background: var(--sage-100) !important; }
.mini tr.even { background: var(--cream); }
.mini .currentDateMini { border: 0 !important; box-shadow: inset 4px 0 0 var(--teal-500); background: var(--teal-100) !important; }

.hub .w3-third { width: 100% !important; background: transparent !important; padding: 0 !important; }
.hub .w3-third > a { display: inline-flex; margin: 1rem 0 0 !important; font-size: 1rem !important; font-weight: 600; }

/* ==========================================================================
   Events / activities cards
   ========================================================================== */

.events { background: var(--surface); }
.events__grid, .events .row { row-gap: 2rem; }

.project {
    background: var(--surface);
    border-radius: var(--r-lg);
    overflow: hidden;
    border: 1px solid var(--border-soft);
    box-shadow: var(--shadow-sm);
    transition: transform .35s var(--ease), box-shadow .35s var(--ease);
    height: 100%;
    margin-bottom: 0 !important;
    display: flex; flex-direction: column;
    width: 100%;
}
.project:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); }
.project .img {
    height: 230px;
    background-size: cover;
    background-position: center;
    border-radius: 0 !important;
    margin-bottom: 0 !important;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}
.project .img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(10,19,34,.25)); pointer-events: none; }
.project .img iframe { position: relative; z-index: 1; display: block; }
.project .text { padding: 1.4rem 1.4rem 1.6rem; text-align: right !important; flex: 1; }
.project .text .cat {
    display: inline-block;
    font-size: .76rem; font-weight: 600; letter-spacing: .02em;
    color: var(--teal-700); background: var(--teal-100);
    padding: .3rem .8rem; border-radius: var(--r-pill);
    margin-bottom: .8rem;
}
.project .text h3 { font-size: 1.15rem; font-weight: 700; margin-bottom: .5rem; line-height: 1.35; }
.project .text h3 a { color: var(--navy-900); }
.project .text p { font-size: .95rem; margin-bottom: 0; color: var(--ink-muted); }

.section-more { text-align: center; margin-top: 2.6rem; }

/* ==========================================================================
   Donation CTA band
   ========================================================================== */

.donate-cta {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, var(--cream) 0%, var(--sand) 100%);
    padding: clamp(4rem, 8vw, 7rem) 0;
}
.donate-cta::before {
    content: '';
    position: absolute; inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='90' viewBox='0 0 140 90'%3E%3Cpath d='M6 90 V45 A32 32 0 0 1 70 45 V90' fill='none' stroke='%23b1852f' stroke-width='1.2'/%3E%3Cpath d='M76 90 V45 A32 32 0 0 1 140 45 V90' fill='none' stroke='%23b1852f' stroke-width='1.2'/%3E%3C/svg%3E");
    background-size: 140px 90px;
    background-position: bottom center;
    opacity: .1;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(180deg, transparent, #000 60%);
    mask-image: linear-gradient(180deg, transparent, #000 60%);
}
.donate-cta .wrap { position: relative; display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.donate-cta__glyph { width: 64px; height: 64px; color: var(--gold-600); margin-bottom: 1rem; }
.donate-cta__text .section-title { max-width: 16ch; }
.donate-cta__text p { font-size: 1.1rem; max-width: 52ch; margin-bottom: 1.8rem; }
.donate-cta__actions { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; }
.donate-cta__media { position: relative; }
.donate-cta__media img {
    width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block;
    border-radius: 48% 52% 42% 58% / 52% 40% 60% 48%;
    box-shadow: var(--shadow-lg);
}
.donate-cta__media::before {
    content: '';
    position: absolute; inset: -6%;
    border-radius: 52% 48% 58% 42% / 40% 60% 40% 60%;
    border: 2px dashed var(--gold-400);
    opacity: .6;
    animation: spinSlow 60s linear infinite;
}
@keyframes spinSlow { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .donate-cta__media::before { animation: none; } }
@media (max-width: 991px) {
    .donate-cta .wrap { grid-template-columns: 1fr; text-align: center; }
    .donate-cta__text .section-title, .donate-cta__text p { margin-inline: auto; }
    .donate-cta__actions { justify-content: center; }
    .donate-cta__glyph { margin-inline: auto; }
    .donate-cta__media { max-width: 460px; margin: 0 auto; }
}

/* ==========================================================================
   Page head (inner pages)
   ========================================================================== */

.page-head {
    position: relative;
    background: linear-gradient(160deg, var(--navy-800), var(--navy-950));
    color: #fff;
    padding: clamp(3rem, 6vw, 5rem) 0 clamp(2.5rem, 5vw, 4rem);
    overflow: hidden;
}
.page-head::before {
    content: '';
    position: absolute; inset: 0; opacity: .14;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='140' viewBox='0 0 220 140'%3E%3Cpath d='M10 140 V70 A50 50 0 0 1 110 70 V140' fill='none' stroke='%23dcb86e' stroke-width='2'/%3E%3Cpath d='M120 140 V70 A50 50 0 0 1 220 70 V140' fill='none' stroke='%23dcb86e' stroke-width='2'/%3E%3C/svg%3E");
    background-repeat: repeat-x; background-position: bottom center; background-size: 220px 140px;
}
.page-head::after {
    content: '';
    position: absolute; width: 600px; height: 600px; border-radius: 50%;
    left: -200px; top: -300px;
    background: radial-gradient(circle, rgba(47,167,191,.28), transparent 65%);
}
.page-head .wrap { position: relative; z-index: 1; }
.page-head__crumbs { display: flex; align-items: center; gap: .6em; font-size: .85rem; color: rgba(255,255,255,.65); margin-bottom: .9rem; }
.page-head__crumbs a { color: rgba(255,255,255,.8); }
.page-head__crumbs a:hover { color: var(--gold-400); }
.page-head__crumbs i { font-size: .7em; opacity: .7; }
.page-head__title {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(3rem, 7vw, 5.5rem);
    line-height: .95;
    color: #fff;
    margin: 0;
    display: flex; align-items: center; gap: .35em;
}
.page-head__title i { font-size: .45em; color: var(--gold-400); }
.page-head__sub { color: rgba(255,255,255,.75); font-size: 1.05rem; margin: .9rem 0 0; max-width: 60ch; }

.page-body { padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(4rem, 8vw, 6rem); min-height: 50vh; }

/* Legacy inner-page shells (w3-content wrappers) */
.w3-content.w3-padding { padding: 0 var(--gutter) !important; margin-top: 0 !important; }
.w3-content > h1, body > div > h1:not(.hero__title) { display: none; }

/* ---------- Standalone mobile content pages ---------- */

.aboveSticky { max-width: 760px; margin: 0 auto; padding: 0 var(--gutter) !important; }

/* ---------- Diary (full page) ---------- */

.diary-shell { background: #fff; border: 1px solid var(--border-soft); border-radius: var(--r-lg); box-shadow: var(--shadow-sm); overflow: hidden; }
.diary-shell .table.standart { margin: 0; }
.diary-shell .table th {
    background: var(--navy-800) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    color: #fff; font-weight: 600 !important; font-size: .9rem;
    padding: .8rem .5rem;
    top: var(--header-h) !important;
}
.diary-shell .table td { border: 1px solid var(--border) !important; font-size: .93rem; padding: .55rem .4rem; }
.diary-shell .table tbody.today { border: 0 !important; background: var(--teal-100) !important; box-shadow: inset 4px 0 0 var(--teal-500); }
.diary-shell .table tbody.today td:first-child { font-weight: 600; color: var(--navy-900); }
.diary-shell .mini { border: 0; border-radius: 0; }
.diary-legend { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 1.2rem; }
.diary-legend span { display: inline-flex; align-items: center; gap: .4em; font-size: .82rem; color: var(--ink-muted); background: #fff; border: 1px solid var(--border); padding: .3rem .7rem; border-radius: var(--r-pill); }
.diary-legend span::before { content: ''; width: 12px; height: 12px; border-radius: 3px; background: var(--c); }
.diary-loading { text-align: center; padding: 1.5rem; color: var(--ink-faint); }

/* ---------- Donation page ---------- */

.donate-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.donate-card {
    display: flex; flex-direction: column; align-items: center; text-align: center;
    background: #fff;
    border: 1px solid var(--border-soft);
    border-radius: var(--r-xl);
    padding: 2.4rem 1.8rem 2rem;
    box-shadow: var(--shadow-sm);
    transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .3s ease;
    color: var(--ink);
    position: relative;
    overflow: hidden;
}
.donate-card::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 6px; background: var(--accent, var(--gold-500)); }
a.donate-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); border-color: transparent; }
.donate-card__icon {
    width: 78px; height: 78px; border-radius: 24px;
    background: color-mix(in srgb, var(--accent, var(--gold-500)) 14%, #fff);
    color: var(--accent, var(--gold-500));
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.9rem; margin-bottom: 1.2rem;
}
.donate-card__icon img { width: 44px; height: auto; }
.donate-card h3 { font-size: 1.3rem; margin-bottom: .5rem; }
.donate-card p { font-size: .95rem; margin-bottom: 1.4rem; }
.donate-card .btn-x { margin-top: auto; }
.donate-card__bank { list-style: none; padding: 0; margin: 0 0 .4rem; text-align: right; width: 100%; background: var(--cream); border-radius: var(--r-md); padding: 1rem 1.2rem; font-size: .95rem; }
.donate-card__bank li { display: flex; justify-content: space-between; gap: 1rem; padding: .35rem 0; border-bottom: 1px dashed var(--border); }
.donate-card__bank li:last-child { border-bottom: 0; }
.donate-card__bank li span { color: var(--ink-faint); }
.donate-card__bank li strong { color: var(--navy-900); font-weight: 600; }
.donate-note { text-align: center; margin-top: 2.5rem; color: var(--ink-muted); font-size: .95rem; }
@media (max-width: 991px) { .donate-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .donate-grid { grid-template-columns: 1fr; } }

/* ---------- Downloads page ---------- */

.dl-group { background: #fff; border: 1px solid var(--border-soft); border-radius: var(--r-lg); box-shadow: var(--shadow-sm); margin-bottom: 1.25rem; overflow: hidden; }
.dl-group__head {
    width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    background: var(--navy-800); color: #fff; border: 0; cursor: pointer;
    padding: 1rem 1.4rem; font-family: var(--font-body); font-size: 1.1rem; font-weight: 600; text-align: right;
    transition: background-color .2s ease;
}
.dl-group__head:hover { background: var(--navy-700); }
.dl-group__head i { color: var(--gold-400); transition: transform .3s var(--ease); }
.dl-group__head.is-collapsed i { transform: rotate(-90deg); }
.dl-group__body { padding: 1rem 1.2rem .4rem; }
.dl-group__body.w3-hide { display: none; }
.dl-item { border: 1px solid var(--border); border-radius: var(--r-md); margin-bottom: .8rem; overflow: hidden; background: var(--cream); }
.dl-item__head {
    width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    background: transparent; border: 0; cursor: pointer;
    padding: .8rem 1.1rem; font-family: var(--font-body); font-size: 1rem; font-weight: 600; color: var(--navy-900); text-align: right;
}
.dl-item__head i { color: var(--teal-600); font-size: .8rem; transition: transform .3s var(--ease); }
.dl-item__head.is-collapsed i { transform: rotate(-90deg); }
.dl-item__files { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0 1.1rem 1rem; }
.dl-item__files.w3-hide { display: none; }
.dl-file {
    display: inline-flex; align-items: center; gap: .5em;
    background: #fff; border: 1px solid var(--border); border-radius: var(--r-pill);
    padding: .5rem 1rem; font-size: .92rem; font-weight: 500; color: var(--navy-800);
    transition: border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.dl-file i { color: var(--gold-600); }
.dl-file:hover { border-color: var(--teal-500); color: var(--teal-700); transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.dl-empty { text-align: center; padding: 3rem 1rem; color: var(--ink-faint); }

/* ---------- Registration form ---------- */

.registContainer { position: static !important; max-width: 980px; margin: 0 auto; padding: 0 var(--gutter) !important; background: transparent !important; font-size: 1rem !important; }
.registContainer > h3 { display: none; }
.registContainer .foreword {
    background: #fff !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--r-lg) !important;
    box-shadow: var(--shadow-sm);
    padding: 1.9rem 2.1rem !important;
    margin: 0 0 1.8rem !important;
    border-inline-start: 5px solid var(--gold-500) !important;
    line-height: 1.85;
    color: var(--ink);
}
.registContainer .foreword strong, .registContainer .foreword b { color: var(--navy-900); }
.registContainer .foreword ul { padding-right: 1.2rem; }
.registContainer form {
    background: #fff !important;
    border: 1px solid var(--border-soft) !important;
    border-radius: var(--r-xl) !important;
    box-shadow: var(--shadow-md);
    padding: 2.4rem 1.6rem 1.8rem !important;
}
/* The fields are w3.css floats: one label a hair taller than its neighbours
   (a wrapped title, the "*" glyph coming from a fallback font) staggers the
   whole grid. Lay the form out as a real grid, and pin every control to the
   bottom of its row so the boxes line up whatever the labels do. */
.registContainer form {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
/* w3.css clearfix pseudo-elements would each eat a grid cell */
.registContainer form::before, .registContainer form::after { display: none; }
.registContainer form > br { display: none; }
.registContainer .field {
    float: none !important;
    width: auto !important;
    display: flex;
    flex-direction: column;
}
.registContainer .field > label { flex: none; }
.registContainer .field > input,
.registContainer .field > select { margin-top: auto; }
.registContainer .submit { grid-column: 1 / -1; }
@media (max-width: 600px) {
    .registContainer form { grid-template-columns: 1fr; }
}
.registContainer .field { height: auto !important; padding: 0 12px !important; margin-bottom: 1.3rem; }
.registContainer label { display: block; color: var(--navy-800) !important; font-weight: 600 !important; font-size: .92rem !important; padding: 0 2px !important; margin-bottom: .4rem !important; }
.registContainer .required { color: #c94f4f !important; }
.registContainer .w3-input, .registContainer .w3-select {
    background: var(--cream) !important;
    border-radius: var(--r-sm) !important;
    font-size: .98rem !important;
    font-family: var(--font-body);
    height: 48px !important;
    padding: 0 .9rem !important;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.registContainer .w3-border { border: 1.5px solid var(--border) !important; }
.registContainer .w3-input:focus, .registContainer .w3-select:focus { background: #fff !important; border-color: var(--teal-500) !important; box-shadow: 0 0 0 4px rgba(47,167,191,.15) !important; outline: none; }
/* File inputs: hide the native grey control, keep a pill "בחירת קובץ" button */
.registContainer input[type="file"].w3-input {
    display: flex;
    /* the shadow content sits on one line box: line-height = 48px box - 3px borders,
       which is what actually centers the button, flex alignment does not reach it */
    line-height: 45px;
    align-items: center;
    padding: 0 .5rem !important;
    font-size: .9rem !important;
    color: var(--ink-faint);
    cursor: pointer;
}
.registContainer input[type="file"]::file-selector-button {
    -webkit-appearance: none;
    appearance: none;
    flex: none;
    margin: 0 0 0 .8rem;
    height: 36px;
    padding: 0 1.2rem;
    border: 0;
    border-radius: var(--r-pill);
    background: var(--navy-800);
    color: #fff;
    font-family: var(--font-body);
    font-size: .88rem;
    font-weight: 600;
    line-height: 36px;
    cursor: pointer;
    transition: background-color .2s ease;
}
/* a required file field turns :valid once a file is picked - darken the name */
.registContainer input[type="file"]:required:valid { color: var(--ink); }
.registContainer input[type="file"]:hover::file-selector-button,
.registContainer input[type="file"]:focus::file-selector-button { background: var(--teal-600); }
/* Safari < 14.1 */
.registContainer input[type="file"]::-webkit-file-upload-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0 0 0 .8rem;
    height: 36px;
    padding: 0 1.2rem;
    line-height: 36px;
    border: 0;
    border-radius: var(--r-pill);
    background: var(--navy-800);
    color: #fff;
    font-family: var(--font-body);
    font-size: .88rem;
    font-weight: 600;
    cursor: pointer;
}
.registContainer .submit {
    display: inline-flex; align-items: center; justify-content: center;
    width: auto !important; min-width: 240px;
    margin: 1.4rem auto .4rem !important;
    padding: 1rem 2.6rem !important;
    font-family: var(--font-body);
    font-size: 1.05rem !important; font-weight: 600;
    border-radius: var(--r-pill) !important;
    background: var(--navy-800) !important;
    color: #fff !important; border: none !important;
    box-shadow: var(--shadow-navy);
    transition: transform .25s var(--ease), background-color .2s ease;
}
.registContainer .submit:hover { transform: translateY(-2px); background: var(--navy-700) !important; }
@media (max-width: 767px) {
    .registContainer .foreword { padding: 1.5rem !important; }
    .registContainer form { padding: 1.8rem 1rem 1.2rem !important; }
}

/* ==========================================================================
   Footer
   ========================================================================== */

.ftco-footer, .site-footer {
    background: var(--navy-950) !important;
    color: rgba(255,255,255,.75);
    padding: 0;
    position: relative;
    overflow: hidden;
    text-align: right;
}
.site-footer::before {
    content: '';
    position: absolute; inset: 0;
    background-image:
        radial-gradient(700px 360px at 90% 0%, rgba(47,167,191,.14), transparent 60%),
        radial-gradient(600px 300px at 10% 100%, rgba(201,157,75,.12), transparent 60%);
    pointer-events: none;
}
.site-footer__pattern {
    position: absolute; inset: 0 0 auto 0; height: 140px; opacity: .1; pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='140' viewBox='0 0 220 140'%3E%3Cpath d='M10 140 V70 A50 50 0 0 1 110 70 V140' fill='none' stroke='%23dcb86e' stroke-width='2'/%3E%3Cpath d='M120 140 V70 A50 50 0 0 1 220 70 V140' fill='none' stroke='%23dcb86e' stroke-width='2'/%3E%3C/svg%3E");
    background-repeat: repeat-x; background-position: top center; background-size: 180px 110px;
    -webkit-mask-image: linear-gradient(180deg, #000, transparent); mask-image: linear-gradient(180deg, #000, transparent);
}
.site-footer .wrap { position: relative; z-index: 1; }

.site-footer__main {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1.2fr;
    gap: clamp(2rem, 4vw, 3.5rem);
    padding: clamp(3.5rem, 6vw, 5.5rem) 0 3rem;
}
.footer-brand { display: flex; align-items: center; gap: .8rem; margin-bottom: 1.2rem; }
.footer-brand img { height: 48px; filter: brightness(0) invert(1); opacity: .95; }
.footer-brand span { font-family: var(--font-display); font-weight: 700; font-size: 1.9rem; color: #fff; line-height: 1; }
.site-footer__about { color: rgba(255,255,255,.66); font-size: .95rem; line-height: 1.8; max-width: 34ch; margin-bottom: 1.4rem; }
.site-footer h3 {
    color: #fff; font-size: 1rem; font-weight: 600; letter-spacing: .04em;
    margin-bottom: 1.3rem; padding-bottom: .8rem; position: relative;
}
.site-footer h3::after { content: ''; position: absolute; bottom: 0; right: 0; width: 36px; height: 2px; background: var(--gold-500); border-radius: 2px; }
.site-footer__links { list-style: none; padding: 0; margin: 0; }
.site-footer__links li { margin-bottom: .55rem; }
.site-footer__links a { color: rgba(255,255,255,.75); font-size: .95rem; display: inline-flex; align-items: center; gap: .5em; position: relative; }
.site-footer__links a::before { content: ''; width: 6px; height: 6px; border-radius: 2px; background: var(--gold-500); transform: rotate(45deg); opacity: .7; transition: transform .2s ease, opacity .2s ease; }
.site-footer__links a:hover { color: #fff; }
.site-footer__links a:hover::before { opacity: 1; transform: rotate(45deg) scale(1.3); }
.site-footer__contact { list-style: none; padding: 0; margin: 0 0 1.4rem; }
.site-footer__contact li { margin-bottom: .8rem; }
.site-footer__contact a { display: flex; align-items: center; gap: .75em; color: rgba(255,255,255,.8); font-size: .95rem; }
.site-footer__contact a:hover { color: var(--gold-400); }
.site-footer__contact i {
    flex-shrink: 0; width: 36px; height: 36px; border-radius: 12px;
    background: rgba(255,255,255,.07); color: var(--gold-400);
    display: inline-flex; align-items: center; justify-content: center; font-size: .85rem;
}
.site-footer__map { border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-lg); border: 1px solid rgba(255,255,255,.08); }
.site-footer__map iframe { display: block; width: 100%; height: 220px; border: 0; filter: saturate(.85); }

.site-footer__bottom {
    border-top: 1px solid rgba(255,255,255,.1);
    padding: 1.3rem 0;
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 1.5rem;
    font-size: .84rem; color: rgba(255,255,255,.5);
}
.site-footer__bottom a { color: rgba(255,255,255,.6); }
.site-footer__bottom a:hover { color: var(--gold-400); }
.site-footer__totop {
    width: 38px; height: 38px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,.08); color: #fff !important; border: 1px solid rgba(255,255,255,.15);
    transition: background-color .2s ease, transform .2s ease;
}
.site-footer__totop:hover { background: var(--gold-600); transform: translateY(-3px); }

@media (max-width: 1100px) { .site-footer__main { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) {
    .site-footer__main { grid-template-columns: 1fr; gap: 2.2rem; }
    .site-footer__bottom { justify-content: center; text-align: center; }
}

/* ==========================================================================
   Loader, reveal, misc
   ========================================================================== */

#ftco-loader { background: var(--cream); }
#ftco-loader .path { stroke: var(--gold-500) !important; }

.reveal { opacity: 0; transform: translateY(14px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in { opacity: 1; transform: none; text-align: right; }
.reveal[data-delay="1"] { transition-delay: .1s; }
.reveal[data-delay="2"] { transition-delay: .2s; }
.reveal[data-delay="3"] { transition-delay: .3s; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; transition: none; } }

.ftco-animate { opacity: 1 !important; }

/* Legacy overrides that would otherwise leak through */
.ftco-section { padding: 0; }
.heading-section h2 { font-family: var(--font-display); }
.fal, .far { font-family: 'Font Awesome 5 Pro', 'Font Awesome 5 Free', FontAwesome !important; }
.tabulation .tab-content h3 a { color: var(--teal-700) !important; }

/* Skip link */
.skip-link { position: absolute; top: -100px; right: 1rem; background: var(--navy-900); color: #fff; padding: .6rem 1rem; border-radius: var(--r-sm); z-index: 2000; }
.skip-link:focus { top: 1rem; color: #fff; }

/* ---------- Late overrides ---------- */

@media (min-width: 992px) { section.desktop { display: block !important; } }

.events__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; }
@media (max-width: 991px) { .events__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .events__grid { grid-template-columns: 1fr; } }

.diary-shell { overflow-x: auto; }
.diary-shell .table th { top: var(--header-total) !important; }
.hub__tabs { top: calc(var(--header-total) + 8px); }

.news-band__text { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.news-band__more { flex-shrink: 0; }

.hub__panel--embed .tab-pane#services-7 { max-width: 860px; margin: 0 auto; }
.registContainer .foreword { font-size: 1.02rem; }
.registContainer .foreword * { font-size: inherit !important; }
.registContainer .foreword p { margin-bottom: .6rem; }

/* ---------- Registration band (homepage, forms flagged "show_home" in the admin panel) ---------- */

.regist-band {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, var(--navy-900), var(--navy-700));
    color: #fff;
}
.regist-band__arches {
    position: absolute; inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='90' viewBox='0 0 140 90'%3E%3Cpath d='M6 90 V45 A32 32 0 0 1 70 45 V90' fill='none' stroke='%23dcb86e' stroke-width='1.2'/%3E%3Cpath d='M76 90 V45 A32 32 0 0 1 140 45 V90' fill='none' stroke='%23dcb86e' stroke-width='1.2'/%3E%3C/svg%3E");
    background-size: 140px 90px;
    background-position: bottom center;
    opacity: .12;
    pointer-events: none;
}
.regist-band .wrap { position: relative; }
.regist-band__inner { display: flex; align-items: center; justify-content: space-between; gap: clamp(1.5rem, 4vw, 3rem); flex-wrap: wrap; }
.regist-band__text { max-width: 560px; }
.regist-band__text .section-title { margin-bottom: .5rem; }
.regist-band__text p { color: rgba(255,255,255,.8); font-size: 1.05rem; margin: 0; }
.regist-band__text p a { color: var(--gold-400); text-decoration: underline; text-underline-offset: 3px; }
.regist-band__actions { display: flex; flex-wrap: wrap; gap: .8rem; }
@media (max-width: 767px) {
    .regist-band__inner { text-align: center; justify-content: center; }
    .regist-band__actions { justify-content: center; width: 100%; }
}

/* ---------- Flyers page ---------- */

.flyers-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.5rem; }
.flyer-card {
    display: flex; flex-direction: column;
    background: #fff; border: 1px solid var(--border-soft); border-radius: var(--r-lg);
    overflow: hidden; box-shadow: var(--shadow-sm); color: var(--ink);
    transition: transform .3s var(--ease), box-shadow .3s;
}
.flyer-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); color: var(--ink); }
.flyer-card__img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: top; display: block; background: var(--sand); }
.flyer-card__img--pdf { display: grid; place-items: center; font-size: 4rem; color: var(--gold-500); background: linear-gradient(180deg, var(--cream), var(--sand)); }
.flyer-card__body { padding: 1rem 1.1rem 1.1rem; }
.flyer-card__body h3 { font-size: 1.1rem; margin: 0 0 .3rem; }
.flyer-card__meta { font-size: .85rem; color: var(--ink-faint); }
.flyer-card__meta i { font-size: .75rem; margin-right: .2rem; }

/* ---------- Flyers slider (info hub tab / mobile band / flyer page) ---------- */

.fslider { position: relative; }
.fslider__stage {
    position: relative;
    height: min(72vh, 680px);
    border-radius: var(--r-lg);
    background: var(--sand);
    overflow: hidden;
}
.fslider__slide {
    position: absolute;
    inset: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    transform: scale(.985);
    transition: opacity .7s ease, transform .7s var(--ease), visibility 0s linear .7s;
}
.fslider__slide.is-active { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; z-index: 1; }
.fslider__media {
    position: relative;
    flex: 1;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(.75rem, 2vw, 1.5rem);
}
.fslider__media img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: var(--r-md);
    box-shadow: var(--shadow-lg);
    background: #fff;
    transition: transform .4s var(--ease);
}
.fslider__media:hover img { transform: translateY(-3px); }
.fslider__pdf { display: grid; place-items: center; gap: .3rem; width: min(100%, 320px); aspect-ratio: 3 / 4; border-radius: var(--r-md); background: #fff; box-shadow: var(--shadow-lg); color: var(--gold-500); font-size: 4.5rem; }
.fslider__pdf span { font-size: 1rem; font-weight: 600; color: var(--ink-muted); }
.fslider__zoom {
    position: absolute; left: 1.4rem; bottom: 1.4rem;
    width: 42px; height: 42px; border-radius: 50%;
    background: rgba(10,19,34,.75); color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
    opacity: 0; transform: translateY(6px);
    transition: opacity .3s ease, transform .3s var(--ease);
}
.fslider__media:hover .fslider__zoom { opacity: 1; transform: none; }
.fslider__caption {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    padding: .9rem 1.25rem;
    background: #fff;
    border-top: 1px solid var(--border);
}
.fslider__title { font-size: 1.15rem; margin: 0; line-height: 1.3; }
.fslider__date { display: inline-flex; align-items: center; gap: .4em; font-size: .85rem; color: var(--ink-faint); margin-top: .15rem; }
.fslider__date i { color: var(--gold-600); }
.fslider__actions { flex-shrink: 0; }

.fslider__arrow {
    position: absolute; top: 50%; z-index: 2;
    width: 46px; height: 46px; margin-top: -23px;
    border: 1px solid var(--border); border-radius: 50%;
    background: rgba(255,255,255,.92); color: var(--navy-800);
    display: inline-flex; align-items: center; justify-content: center;
    cursor: pointer; box-shadow: var(--shadow-md);
    transition: background-color .2s ease, color .2s ease, transform .2s var(--ease);
}
.fslider__arrow:hover { background: var(--navy-800); color: #fff; transform: scale(1.06); }
.fslider__arrow--prev { right: 1rem; }
.fslider__arrow--next { left: 1rem; }

.fslider__dots { display: flex; justify-content: center; gap: .5rem; margin-top: 1rem; }
.fslider__dots button {
    width: 30px; height: 4px; border-radius: 2px; border: 0; padding: 0; cursor: pointer;
    background: var(--border);
    transition: background-color .3s ease, width .3s var(--ease);
}
.fslider__dots button.is-active { background: var(--gold-500); width: 52px; }

.hub__flyers .fslider__stage { background: var(--cream); }
.flyers-band { background: var(--surface); }
.flyers-band .section-head { margin-bottom: 1.4rem; }
.flyers-band .section-more { margin-top: 1.4rem; }

@media (max-width: 767px) {
    .fslider__stage { height: min(78vh, 620px); border-radius: var(--r-md); }
    .fslider__caption { flex-direction: column; align-items: flex-start; gap: .6rem; padding: .8rem 1rem; }
    .fslider__actions { width: 100%; }
    .fslider__actions .btn-x { width: 100%; }
    .fslider__zoom { opacity: 1; transform: none; left: 1rem; bottom: 1rem; }
    .fslider__arrow { width: 38px; height: 38px; margin-top: -19px; }
    .fslider__arrow--prev { right: .5rem; }
    .fslider__arrow--next { left: .5rem; }
}
@media (prefers-reduced-motion: reduce) { .fslider__slide { transition: opacity .3s ease; transform: none; } }
.flyer__media:hover { transform: translateY(-4px) rotate(-.5deg); box-shadow: var(--shadow-lg), 0 0 0 4px var(--gold-200); }
.flyer__zoom {
    position: absolute; left: .9rem; bottom: .9rem;
    width: 42px; height: 42px; border-radius: 50%;
    background: rgba(10,19,34,.75); color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
    opacity: 0; transform: translateY(6px);
    transition: opacity .3s ease, transform .3s var(--ease);
}
.flyer__media:hover .flyer__zoom { opacity: 1; transform: none; }
.flyer__body .section-title { font-size: clamp(2.2rem, 4vw, 3.4rem); }
.flyer__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.4rem; }
@media (max-width: 767px) {
    .flyer__card { grid-template-columns: 1fr; text-align: center; }
    .flyer__media { max-width: 360px; margin: 0 auto; }
    .flyer__body .section-lede { margin-inline: auto; }
    .flyer__actions { justify-content: center; }
    .flyer__zoom { opacity: 1; transform: none; }
}
