/* ==========================================================================
   קבוצת בראשית — Elementor widgets stylesheet
   Ported 1:1 from the static site (tokens + base + sections + pages),
   prefixed `brs-` and scoped under `.brs-w` so nothing leaks to the theme.
   Pre-animation states live ONLY under html.bereshit-anim (the gate), so
   editor / no-JS / reduced-motion / lib-fail => everything fully visible.
   ========================================================================== */

/* ---------- tokens ---------- */
:root{
  --brs-paper:#FBF9F4; --brs-cream:#F5F1E8; --brs-cream-2:#EDE7DB; --brs-cream-3:#E4DCCB;
  --brs-ink:#1C1A17; --brs-ink-2:#2A2621; --brs-ink-soft:#4A453E; --brs-muted:#8C8477;
  --brs-line:#D9D2C4; --brs-line-soft:#E5DECF; --brs-bronze:#A5875A; --brs-bronze-deep:#856843; --brs-white:#fff;
  --brs-ov-card:linear-gradient(to top, rgba(16,14,11,.82) 0%, rgba(16,14,11,.28) 45%, rgba(16,14,11,0) 78%);
  --brs-ov-hero:linear-gradient(to top, rgba(16,14,11,.62) 0%, rgba(16,14,11,.18) 40%, rgba(16,14,11,.30) 100%);
  --brs-font:"Noto Sans Hebrew","Noto Sans","Assistant",sans-serif;
  --brs-fs-overline:.78rem; --brs-lh-tight:1.04; --brs-lh-body:1.7;
  --brs-fs-hero:clamp(2.7rem,7.2vw,6.6rem); --brs-fs-h2:clamp(2.05rem,5vw,4.1rem);
  --brs-fs-h3:clamp(1.5rem,2.6vw,2.15rem); --brs-fs-stat:clamp(3rem,8vw,6.5rem); --brs-fs-lead:clamp(1.05rem,1.5vw,1.32rem);
  --brs-wrap:1360px; --brs-wrap-narrow:1080px; --brs-gut:clamp(20px,5vw,88px); --brs-sect:clamp(84px,11vw,190px);
  --brs-ease:cubic-bezier(.22,.61,.36,1); --brs-ease-out:cubic-bezier(.16,1,.3,1);
  --brs-header-h:92px; --brs-header-h-sticky:66px; --brs-z-header:900; --brs-z-menu:1000; --brs-z-bar:850;
}

/* ==========================================================================
   SCROLL — the ONLY global html/body rules in this file, and they are required.
   Lenis (smooth scroll) needs them: without `scroll-behavior:auto` the theme's
   or Elementor's `html{scroll-behavior:smooth}` animates the very same scroll
   Lenis is animating, the two fight, and the page freezes / rubber-bands.
   Without `height:auto` a theme that sets html/body `height:100%` traps it.
   Ported back from the static site's base.css, where they existed all along.
   `html.brs-fe` = frontend only (added by the JS, never in the editor).
   ========================================================================== */
/* THE stuck-scroll bug: a theme that sets `body{overflow-x:hidden}` together with
   `html,body{height:100%}` (Hello Elementor and most themes do) turns BODY into
   its own scroll container. The wheel then scrolls `body.scrollTop` while the
   viewport itself never moves — the page looks frozen, and every scroll-driven
   effect (header states, reveals, parallax) stops firing with it. `overflow-x:
   clip` clips exactly the same way without creating a scroll container, and
   `height:auto` lets the document grow. Applied three ways so it holds with JS,
   without JS, and while Lenis is running: */
html:has(.brs-w), html:has(.brs-w) body{ height:auto; overflow-x:clip; }
html.brs-fe, html.brs-fe body{ height:auto; overflow-x:clip; }
html.lenis, html.lenis body{ height:auto; overflow-x:clip; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }
.lenis.lenis-smooth [data-lenis-prevent]{ overscroll-behavior:contain; }
.lenis.lenis-stopped{ overflow:hidden; }
html.brs-fe, html.brs-fe body{ -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto !important; } }
/* an ancestor with transform/filter/contain breaks `position:fixed` chrome —
   the JS tags such ancestors instead of moving the header out of its widget
   (moving it would detach it from its Elementor style controls) */
.brs-unclip{ transform:none !important; filter:none !important; perspective:none !important;
  backdrop-filter:none !important; contain:none !important; will-change:auto !important; }

/* ---------- base scope ---------- */
.brs-w{ font-family:var(--brs-font); color:var(--brs-ink); line-height:var(--brs-lh-body); font-weight:400; font-size:1.02rem; direction:rtl;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
.brs-w, .brs-w *, .brs-w *::before, .brs-w *::after{ box-sizing:border-box; border-radius:0; }

/* ELEMENT RESETS — wrapped in :where() on purpose.
   `:where()` adds no specificity, so these carry the weight of `.brs-w` alone
   (0,1,0): still strong enough to beat the theme's bare `p{}` / `img{}` / `button{}`
   rules, but weak enough that every `.brs-*` class rule further down wins.
   Without :where(), `.brs-w p{margin:0}` (0,1,1) outranked EVERY paragraph class
   (0,1,0) and silently deleted their margins — `.brs-statement__lead{margin:24px
   auto 0}` lost its `auto`, so the statement copy sat off-centre, and
   `.brs-hero__lead{margin-bottom:40px}`, `.brs-cta__title{margin-block:22px 20px}`,
   `.brs-vcard__name{margin-bottom:6px}`, `.brs-footer h4{margin-bottom:22px}` and
   friends all collapsed to zero. Same trap for `font:inherit` vs `.brs-btn`. */
.brs-w :where(img, video){ display:block; max-width:100%; height:auto; }
.brs-w :where(p){ margin:0; }
.brs-w :where(h1, h2, h3, h4, h5, h6){ margin:0; }
.brs-w :where(ul, ol){ margin:0; padding:0; list-style:none; }
.brs-w :where(figure, blockquote){ margin:0; }
.brs-w :where(button, input, textarea, select){ font:inherit; color:inherit; }
.brs-w :where(input, textarea, select){ background:none; border:none; }
.brs-w :where(button:not(.brs-btn)){ background:none; border:none; }
.brs-w :where(button){ cursor:pointer; }
.brs-w :where(a){ text-decoration:none; }
.brs-w a{ color:inherit; }
body.brs-no-scroll{ overflow:hidden; }
/* Elementor icon picker wrappers (features / chooser).
   Supports BOTH kinds of icon without mangling either:
   · solid icons (Font Awesome, `whatsapp.svg`) — get `fill:currentColor`
   · stroke-only icons (the site's own set in `icons-svg/`, which carry
     `stroke="currentColor" fill="none"`) — keep their stroke and stay unfilled.
   Forcing `fill` on a stroke-only SVG turns it into a solid blob, and forcing
   `fill:none;stroke:…` on a solid one makes it disappear — hence the :not() pair.
   These sit at (0,2,1)/(0,3,1) so they beat the legacy `.brs-feature-item svg`
   and `.brs-choice svg` rules further down the file. */
.brs-ficon{ display:inline-block; line-height:0; color:var(--brs-bronze-deep); }
.brs-feature-item .brs-ficon{ margin-bottom:16px; }
.brs-ficon svg{ width:34px; height:34px; }
.brs-ficon svg:not([stroke]){ fill:currentColor; stroke:none; }
.brs-ficon svg[stroke]{ fill:none; stroke:currentColor; }
.brs-ficon i{ font-size:32px; color:currentColor; line-height:1; }
.brs-feature-item .brs-ficon svg, .brs-choice .brs-ficon svg{ width:34px; height:34px; }
.brs-feature-item .brs-ficon svg:not([stroke]), .brs-choice .brs-ficon svg:not([stroke]){ fill:currentColor; stroke:none; }
.brs-feature-item .brs-ficon svg[stroke], .brs-choice .brs-ficon svg[stroke]{ fill:none; stroke:currentColor; }
/* uploaded SVGs that Elementor prints as <img> instead of inlining */
.brs-ficon img{ width:34px; height:34px; object-fit:contain; }
.brs-w strong, .brs-w b{ font-weight:600; }

/* ==========================================================================
   TYPOGRAPHY — asserted at (0,2,x) on purpose.
   Elementor's Global Fonts kit emits `.elementor-kit-N h1{font-family;font-size;
   font-weight}` — specificity (0,1,1), printed AFTER plugin CSS — which beat the
   plain `.brs-w h1` / `.brs-hero__title` rules and replaced the site's font and
   heading scale with the theme's. Doubling `.brs-w` puts us above the kit while
   staying BELOW Elementor's per-element controls (`.elementor-element-xxx …`),
   so every Typography control in the panel still works.
   ========================================================================== */
/* NOTE: no `margin` here on purpose — margins live in the :where() reset above so
   that each heading's own class rule (e.g. `.brs-cta__title{margin-block:22px 20px}`)
   still applies. Only inherited typography is asserted at (0,2,1). */
.brs-w.brs-w h1, .brs-w.brs-w h2, .brs-w.brs-w h3, .brs-w.brs-w h4, .brs-w.brs-w h5, .brs-w.brs-w h6{
  font-family:var(--brs-font); font-weight:600; line-height:var(--brs-lh-tight); letter-spacing:-.01em; color:inherit; }
.brs-w.brs-w, .brs-w.brs-w p, .brs-w.brs-w li, .brs-w.brs-w span, .brs-w.brs-w a,
.brs-w.brs-w input, .brs-w.brs-w select, .brs-w.brs-w textarea, .brs-w.brs-w button{ font-family:var(--brs-font); }
/* heading sizes (font-size is deliberately NOT in the reset above, or it would
   swallow these) */
.brs-w.brs-w .brs-hero__title{ font-size:var(--brs-fs-hero); }
.brs-w.brs-w .brs-phero__title{ font-size:clamp(2.4rem,6vw,5.2rem); }
.brs-w.brs-w .brs-sec-head__title,
.brs-w.brs-w .brs-cta__title,
.brs-w.brs-w .brs-envelope__title,
.brs-w.brs-w .brs-eband__title,
.brs-w.brs-w .brs-statement__title{ font-size:var(--brs-fs-h2); }
.brs-w.brs-w .brs-vcard__name{ font-size:var(--brs-fs-h3); }
.brs-w.brs-w .brs-feature-item h3{ font-size:clamp(1.2rem,1.6vw,1.4rem); }
.brs-w.brs-w .brs-form__thanks h3{ font-size:1.6rem; }
.brs-w.brs-w .brs-footer h4{ font-size:.78rem; }
/* …and the button/footer link colors must stay above the (0,2,1) link rule */
.brs-w.brs-w.brs-w .brs-btn{ color:var(--fg); background:var(--bg); }
.brs-w.brs-w.brs-w .brs-footer a{ color:rgba(245,241,232,.82); }
.brs-w.brs-w.brs-w .brs-footer a:hover{ color:var(--brs-bronze); }
.brs-w.brs-w.brs-w .brs-footer__bottom a{ color:inherit; }
/* neutralise the theme's global <button> pink/border leak (Hello Elementor reset.css) — but NOT our .brs-btn */
.brs-w button:not(.brs-btn), .brs-w [type="button"]:not(.brs-btn), .brs-w [type="submit"]:not(.brs-btn){ border:0 !important; outline:0 !important; }

/* ==========================================================================
   IMAGES — every photo FILLS its frame, whatever the uploaded file's size or
   ratio. Each media box gets a deterministic height (aspect-ratio or inset:0),
   and its image is stretched over it with object-fit:cover, so an odd-sized
   upload is cropped instead of leaving gaps / letterboxing / a squashed box.
   Logos are excluded on purpose (they must never be cropped).
   Per-widget "כיסוי, מיקום ויחס" controls override all of this from the panel.
   ========================================================================== */
.brs-w .brs-hero__media, .brs-w .brs-phero__media, .brs-w .brs-statement__media, .brs-w .brs-cta__media,
.brs-w .brs-vcard, .brs-w .brs-ovcard, .brs-w .brs-mega__card, .brs-w .brs-space__img,
.brs-w .brs-story__media, .brs-w .brs-feature__media, .brs-w .brs-collage__main, .brs-w .brs-collage__sub,
.brs-w .brs-gimg{ overflow:hidden; background:var(--brs-cream-3); }

/* absolutely-filled frames (the box already has inset:0 or an aspect-ratio).
   Descendant selectors on purpose — an optional <a> wrapper must not break it. */
.brs-w .brs-hero__media img, .brs-w .brs-phero__media img,
.brs-w .brs-vcard img, .brs-w .brs-ovcard img, .brs-w .brs-mega__card img,
.brs-w .brs-space__img img, .brs-w .brs-gimg img{
  position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; }

/* frames whose image is a normal in-flow child of an aspect-ratio box */
.brs-w .brs-story__media img, .brs-w .brs-feature__media img,
.brs-w .brs-collage__main img, .brs-w .brs-collage__sub img{
  width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; }
.brs-w .brs-story__media>a, .brs-w .brs-feature__media>a,
.brs-w .brs-collage__main>a, .brs-w .brs-collage__sub>a{ display:block; width:100%; height:100%; }

/* Parallax bands (statement / CTA): the headroom the drift needs lives on the
   BOX, not on the image. The image itself is a plain edge-to-edge cover fill.
   (Previously the image carried `height:124%; top:-12%` — but the widget's own
   "כיסוי" control legitimately forces `height:100% !important`, so the -12% shift
   was left uncompensated and a ~70px strip of the section stayed uncovered at the
   bottom. Moving the overflow to the box makes both cases correct.) */
.brs-w .brs-statement__media, .brs-w .brs-cta__media{ position:absolute; inset:-10% 0; z-index:0; }
.brs-w .brs-statement__media img, .brs-w .brs-cta__media img{
  position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; }

/* logos: contained, never cropped */
.brs-w .brs-header__logo img, .brs-w .brs-footer__logo img{ object-fit:contain; width:auto; max-width:100%; position:static; inset:auto; }

/* ---------- layout ---------- */
.brs-wrap{ width:100%; max-width:var(--brs-wrap); margin-inline:auto; padding-inline:var(--brs-gut); }
.brs-wrap--narrow{ max-width:var(--brs-wrap-narrow); }
.brs-section{ position:relative; padding-block:var(--brs-sect); }

/* ---------- overline ---------- */
.brs-overline{ font-family:var(--brs-font); font-size:var(--brs-fs-overline); font-weight:600; letter-spacing:.26em; text-transform:uppercase; color:var(--brs-bronze-deep); display:inline-flex; align-items:center; gap:.8em; }
.brs-overline--light{ color:#d9c7a6; }
.brs-tick{ display:inline-block; width:30px; height:1px; background:currentColor; opacity:.7; }

/* ---------- buttons ---------- */
.brs-btn{ --bg:var(--brs-ink); --fg:var(--brs-cream); position:relative; display:inline-flex; align-items:center; gap:.7em; padding:1.02em 2.1em; font-size:.95rem; font-weight:600; letter-spacing:.02em; background:var(--bg); color:var(--fg); border:1px solid var(--bg); overflow:hidden; transition:color .5s var(--brs-ease), background .5s var(--brs-ease), border-color .5s var(--brs-ease); will-change:transform; cursor:pointer; }
.brs-btn::before{ content:""; position:absolute; inset:0; z-index:0; background:var(--brs-bronze); transform:scaleX(0); transform-origin:right; transition:transform .5s var(--brs-ease); }
.brs-btn>*{ position:relative; z-index:1; }
/* beat `.brs-w a{color:inherit}` / `.brs-w button{color:inherit}` (0,1,1) which otherwise win over `.brs-btn`(0,1,0) */
.brs-w .brs-btn{ color:var(--fg); background:var(--bg); }
.brs-btn:hover{ color:var(--brs-white); border-color:var(--brs-bronze); }
.brs-btn:hover::before{ transform:scaleX(1); }
.brs-btn--ghost{ --bg:transparent; --fg:var(--brs-ink); border-color:var(--brs-ink); }
.brs-btn--ghost:hover{ color:var(--brs-white); }
.brs-btn--light{ --bg:var(--brs-cream); --fg:var(--brs-ink); border-color:var(--brs-cream); }
.brs-btn--outline-light{ --bg:transparent; --fg:var(--brs-cream); border-color:rgba(255,255,255,.55); }
.brs-btn--outline-light:hover{ color:var(--brs-white); border-color:var(--brs-bronze); }

.brs-link-underline{ display:inline-flex; align-items:center; gap:.6em; font-weight:600; letter-spacing:.02em; position:relative; }
.brs-link-underline .brs-ar{ transition:transform .45s var(--brs-ease); }
.brs-link-underline::after{ content:""; position:absolute; inset-inline:0; bottom:-4px; height:1px; background:currentColor; transform:scaleX(1); transform-origin:right; transition:transform .5s var(--brs-ease); }
.brs-link-underline:hover::after{ transform:scaleX(.15); transform-origin:right; }
.brs-link-underline:hover .brs-ar{ transform:translateX(-6px); }

/* ---------- reveal / mask / hairline (states only under the gate) ---------- */
.brs-reveal, .brs-mask>span, .brs-hairline{ transition:opacity 1s var(--brs-ease-out), transform 1.05s var(--brs-ease-out); }
html.bereshit-anim .brs-reveal{ opacity:0; transform:translateY(26px); }
html.bereshit-anim .brs-reveal.in{ opacity:1; transform:none; }
html.bereshit-anim .brs-reveal[data-d="1"]{ transition-delay:.09s; }
html.bereshit-anim .brs-reveal[data-d="2"]{ transition-delay:.18s; }
html.bereshit-anim .brs-reveal[data-d="3"]{ transition-delay:.27s; }
html.bereshit-anim .brs-reveal[data-d="4"]{ transition-delay:.36s; }
.brs-mask{ display:block; overflow:hidden; }
.brs-mask>span{ display:block; will-change:transform; }
html.bereshit-anim .brs-mask>span{ transform:translateY(105%); }
html.bereshit-anim .brs-mask>span[data-d="1"]{ transition-delay:.12s; }
html.bereshit-anim .brs-mask>span[data-d="2"]{ transition-delay:.24s; }
html.bereshit-anim .brs-mask>span[data-d="3"]{ transition-delay:.36s; }
html.bereshit-anim .in .brs-mask>span, html.bereshit-anim .brs-mask.in>span{ transform:none; }
.brs-hairline{ display:block; height:1px; background:var(--brs-line); transform-origin:right; }
html.bereshit-anim .brs-hairline{ transform:scaleX(0); }
html.bereshit-anim .in .brs-hairline, html.bereshit-anim .brs-hairline.in{ transform:scaleX(1); }

/* ==========================================================================
   HEADER / MEGA / MOBILE MENU / STICKY BAR
   ========================================================================== */
/* chrome keeps its scope even after being portaled out of .brs-w to <body> */
.brs-header, .brs-mobile-menu, .brs-bar{ font-family:var(--brs-font); direction:rtl; box-sizing:border-box; }
.brs-header *, .brs-header *::before, .brs-header *::after,
.brs-mobile-menu *, .brs-mobile-menu *::before, .brs-mobile-menu *::after,
.brs-bar *, .brs-bar *::before, .brs-bar *::after{ box-sizing:border-box; border-radius:0; }
.brs-header{ position:fixed; inset-block-start:0; inset-inline:0; z-index:var(--brs-z-header); height:var(--brs-header-h); display:flex; align-items:center; transition:height .45s var(--brs-ease), background .45s var(--brs-ease), box-shadow .45s var(--brs-ease), border-color .45s var(--brs-ease); border-bottom:1px solid transparent; }
/* logged-in view: don't hide under the WP admin bar */
body.admin-bar .brs-header{ inset-block-start:32px; }
@media screen and (max-width:782px){ body.admin-bar .brs-header{ inset-block-start:46px; } }
.brs-header::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(to bottom, rgba(16,14,11,.45), rgba(16,14,11,0)); opacity:0; transition:opacity .45s var(--brs-ease); pointer-events:none; }
.brs-header--over::before{ opacity:1; }
.brs-header--stuck::before{ opacity:0; }
.brs-header>.brs-wrap{ max-width:none; padding-inline:clamp(24px,3vw,54px); }
.brs-header--over:not(.brs-header--stuck){ padding-block-start:clamp(16px,2vw,28px); }
.brs-header__row{ display:flex; align-items:center; justify-content:space-between; width:100%; }
.brs-header__logo img{ height:52px; width:auto; transition:height .45s var(--brs-ease), filter .45s var(--brs-ease); }
.brs-header--over .brs-header__logo img{ filter:brightness(0) invert(1); }
.brs-header--over{ color:var(--brs-cream); }
.brs-header--over .brs-nav__link, .brs-header--over .brs-header__tools .brs-wa{ color:var(--brs-cream); }
.brs-header--over .brs-nav__link::after{ background:var(--brs-cream); }
.brs-header--stuck{ height:var(--brs-header-h-sticky); background:color-mix(in srgb, var(--brs-cream) 92%, transparent); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-bottom-color:var(--brs-line); }
.brs-header--stuck.brs-header--over{ color:var(--brs-ink); }
.brs-header--stuck .brs-header__logo img{ height:40px; filter:none !important; }
.brs-header--stuck .brs-nav__link, .brs-header--stuck .brs-header__tools .brs-wa{ color:var(--brs-ink); }
.brs-header--stuck .brs-nav__link::after{ background:var(--brs-ink); }
/* solid variant for hero-less pages */
.brs-header--solid{ background:color-mix(in srgb, var(--brs-cream) 96%, transparent); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-bottom-color:var(--brs-line); color:var(--brs-ink); }
.brs-header--solid::before{ opacity:0; }
.brs-header--solid .brs-header__logo img{ filter:none; }
.brs-header--solid .brs-nav__link, .brs-header--solid .brs-header__tools .brs-wa{ color:var(--brs-ink); }
.brs-header--solid .brs-nav__link::after{ background:var(--brs-ink); }

.brs-nav{ display:flex; align-items:center; gap:clamp(20px,2.4vw,40px); }
.brs-nav__link{ position:relative; font-size:.96rem; font-weight:600; padding-block:6px; letter-spacing:.01em; }
.brs-nav__link::after{ content:""; position:absolute; inset-inline:0; bottom:0; height:1px; background:var(--brs-ink); transform:scaleX(0); transform-origin:right; transition:transform .4s var(--brs-ease); }
.brs-nav__link:hover::after, .brs-nav__item--has:hover .brs-nav__link::after{ transform:scaleX(1); }
/* Dropdown caret — PHYSICAL left+bottom borders so it points DOWN in RTL too.
   With the logical `border-inline-start` it resolved to the *right* border in RTL
   and the chevron ended up pointing sideways. Flips up while the panel is open. */
.brs-nav__link .brs-caret{ display:inline-block; margin-inline-start:.4em; width:7px; height:7px;
  border-left:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
  transform:rotate(-45deg) translateY(-2px); transform-origin:center; transition:transform .4s var(--brs-ease); }
.brs-nav__item--has:hover .brs-nav__link .brs-caret,
.brs-nav__item--has.is-open .brs-nav__link .brs-caret{ transform:rotate(135deg) translateY(-2px); }
.brs-header__tools{ display:flex; align-items:center; gap:18px; }
.brs-header__tools .brs-wa{ display:inline-flex; align-items:center; gap:.5em; font-size:.9rem; font-weight:600; }
.brs-header__tools .brs-btn{ padding:.78em 1.5em; font-size:.88rem; }

.brs-mega{ position:absolute; inset-inline:0; top:100%; background:var(--brs-paper); border-block:1px solid var(--brs-line); opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .4s var(--brs-ease), transform .4s var(--brs-ease), visibility .4s; box-shadow:0 30px 60px -30px rgba(0,0,0,.25); }
/* The panel stays absolutely positioned against the <header> (full-bleed band,
   as designed) — the nav item is deliberately NOT `position:relative`.
   Opening is driven by JS (`.is-open`, with a close delay so the pointer can
   travel across the header padding into the panel, plus tap support on touch);
   the `:hover` / `:focus-within` rules keep it working without JS too. */
.brs-nav__item--has:hover .brs-mega, .brs-mega:hover,
.brs-nav__item--has.is-open .brs-mega,
.brs-nav__item--has:focus-within .brs-mega{ opacity:1; visibility:visible; transform:none; }
.brs-mega__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:4px; padding:26px var(--brs-gut); max-width:var(--brs-wrap); margin-inline:auto; }
.brs-mega__card{ position:relative; display:block; overflow:hidden; aspect-ratio:4/3; }
.brs-mega__card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s var(--brs-ease); }
.brs-mega__card:hover img{ transform:scale(1.07); }
.brs-mega__card::after{ content:""; position:absolute; inset:0; background:var(--brs-ov-card); }
.brs-mega__cap{ position:absolute; inset-block-end:0; inset-inline:0; z-index:2; padding:16px; color:var(--brs-cream); display:flex; align-items:center; justify-content:space-between; }
.brs-mega__cap .brs-cat{ display:block; font-size:.66rem; letter-spacing:.22em; text-transform:uppercase; color:#e4d3b3; margin-bottom:3px; }
.brs-mega__cap .brs-nm{ font-family:var(--brs-font); font-size:1.12rem; }
.brs-mega__cap .brs-ar{ transition:transform .4s var(--brs-ease); }
.brs-mega__card:hover .brs-mega__cap .brs-ar{ transform:translateX(-6px); }

.brs-burger{ display:none; width:44px; height:44px; position:relative; background:none; }
.brs-burger span{ position:absolute; inset-inline:8px; height:1.5px; background:currentColor; transition:transform .4s var(--brs-ease), opacity .3s; }
.brs-burger span:nth-child(1){ top:16px; } .brs-burger span:nth-child(2){ top:22px; } .brs-burger span:nth-child(3){ top:28px; }
body.brs-menu-open .brs-burger span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
body.brs-menu-open .brs-burger span:nth-child(2){ opacity:0; }
body.brs-menu-open .brs-burger span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

/* ==========================================================================
   MOBILE MENU — a classic full-screen panel: its own top bar (logo + close X),
   compact hairline rows, an indented venues group, and a footer with the two
   CTAs and a call line. Deliberately restrained: 1.2rem rows, not 2rem.
   The panel carries its OWN close button because it covers the header — the
   burger underneath it was unreachable, so the menu could not be closed by tap.
   ========================================================================== */
.brs-mobile-menu{ position:fixed; inset:0; z-index:var(--brs-z-menu); background:var(--brs-cream); color:var(--brs-ink);
  display:flex; flex-direction:column; opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:opacity .45s var(--brs-ease), transform .45s var(--brs-ease), visibility .45s;
  overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
  padding-bottom:max(18px, env(safe-area-inset-bottom, 0px)); }
body.brs-menu-open .brs-mobile-menu{ opacity:1; visibility:visible; transform:none; }
/* the panel replaces the header while open (its top bar mirrors it) */
body.brs-menu-open .brs-header{ opacity:0; visibility:hidden; pointer-events:none; }

.brs-mobile-menu__top{ flex:0 0 auto; min-height:var(--brs-header-h-sticky); display:flex; align-items:center;
  justify-content:space-between; gap:16px; padding-inline:clamp(20px,5vw,34px); border-bottom:1px solid var(--brs-line); }
.brs-mobile-menu__logo{ display:block; line-height:0; }
.brs-mobile-menu__logo img{ height:36px; width:auto; object-fit:contain; }
.brs-mobile-menu__close{ width:44px; height:44px; margin-inline-end:-11px; position:relative; background:none; border:0;
  color:var(--brs-ink); cursor:pointer; flex:0 0 auto; }
.brs-mobile-menu__close span{ position:absolute; inset-inline:11px; top:50%; height:1.5px; background:currentColor; }
.brs-mobile-menu__close span:first-child{ transform:rotate(45deg); }
.brs-mobile-menu__close span:last-child{ transform:rotate(-45deg); }

.brs-mobile-menu__nav{ flex:0 0 auto; padding:4px clamp(20px,5vw,34px) 0; }
.brs-mm-link{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding-block:15px;
  font-size:1.2rem; font-weight:500; line-height:1.25; color:var(--brs-ink); border-bottom:1px solid var(--brs-line-soft); }
.brs-mm-link .brs-mm-ar{ flex:0 0 auto; font-size:.95rem; color:var(--brs-bronze); opacity:.7;
  transition:transform .35s var(--brs-ease), opacity .35s var(--brs-ease); }
.brs-mm-link:hover .brs-mm-ar, .brs-mm-link:active .brs-mm-ar{ transform:translateX(-5px); opacity:1; }

/* venues group — the parent row plus indented children, one hairline around it */
.brs-mm-group{ border-bottom:1px solid var(--brs-line-soft); padding-bottom:12px; }
.brs-mm-group .brs-mm-link{ border-bottom:0; padding-bottom:8px; }
/* venue row = dash · name …… category, read as a quiet two-column list */
.brs-mm-sub{ position:relative; display:flex; align-items:baseline; justify-content:space-between; gap:1em;
  padding-block:9px; padding-inline-start:16px; font-size:1rem; color:var(--brs-ink-soft); }
.brs-mm-sub::before{ content:""; position:absolute; inset-inline-start:0; top:1.05em; width:7px; height:1px;
  background:var(--brs-bronze); opacity:.65; }
.brs-mm-sub .brs-nm{ font-weight:500; color:var(--brs-ink); }
.brs-mm-sub .brs-cat{ flex:0 0 auto; font-size:.64rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--brs-muted); opacity:.85; }

.brs-mobile-menu__foot{ margin-top:auto; padding:26px clamp(20px,5vw,34px) 0; }
.brs-mobile-menu__cta{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.brs-mobile-menu__cta .brs-btn{ justify-content:center; padding:1em .9em; font-size:.9rem; letter-spacing:.01em; }
.brs-mm-tel{ display:flex; align-items:center; justify-content:center; gap:.55em; margin-top:18px;
  font-size:.92rem; font-weight:500; color:var(--brs-ink-soft); }
.brs-mm-tel svg{ width:15px; height:15px; stroke:var(--brs-bronze-deep); fill:none; stroke-width:1.4; }

/* classic staggered entrance for the rows */
html.bereshit-anim .brs-mobile-menu__nav > *, html.bereshit-anim .brs-mobile-menu__foot{
  opacity:0; transform:translateY(9px); transition:opacity .45s var(--brs-ease-out), transform .45s var(--brs-ease-out); }
html.bereshit-anim body.brs-menu-open .brs-mobile-menu__nav > *,
html.bereshit-anim body.brs-menu-open .brs-mobile-menu__foot{ opacity:1; transform:none; }
html.bereshit-anim body.brs-menu-open .brs-mobile-menu__nav > *:nth-child(1){ transition-delay:.08s; }
html.bereshit-anim body.brs-menu-open .brs-mobile-menu__nav > *:nth-child(2){ transition-delay:.14s; }
html.bereshit-anim body.brs-menu-open .brs-mobile-menu__nav > *:nth-child(3){ transition-delay:.2s; }
html.bereshit-anim body.brs-menu-open .brs-mobile-menu__nav > *:nth-child(4){ transition-delay:.26s; }
html.bereshit-anim body.brs-menu-open .brs-mobile-menu__nav > *:nth-child(5){ transition-delay:.32s; }
html.bereshit-anim body.brs-menu-open .brs-mobile-menu__nav > *:nth-child(n+6){ transition-delay:.38s; }
html.bereshit-anim body.brs-menu-open .brs-mobile-menu__foot{ transition-delay:.42s; }
@media (prefers-reduced-motion:reduce){
  .brs-mobile-menu__nav > *, .brs-mobile-menu__foot{ opacity:1 !important; transform:none !important; transition:none !important; }
}

.brs-bar{ display:none; position:fixed; inset-inline:0; inset-block-end:0; z-index:var(--brs-z-bar); }
.brs-bar a{ flex:1; display:flex; align-items:center; justify-content:center; gap:.5em; padding:16px; font-weight:600; font-size:.95rem; }
.brs-bar .brs-bar-wa{ background:#128C7E; color:#fff; }
.brs-bar .brs-bar-plan{ background:var(--brs-ink); color:var(--brs-cream); }

/* ==========================================================================
   HERO (home) + PAGE HERO
   ========================================================================== */
.brs-hero{ position:relative; min-height:100svh; display:flex; align-items:flex-end; overflow:hidden; }
.brs-hero__media{ position:absolute; inset:0; z-index:0; }
.brs-hero__media img{ width:100%; height:100%; object-fit:cover; will-change:transform; }
html.bereshit-anim .brs-hero__media img{ transform:scale(1.06); }
html.bereshit-anim .brs-hero.in .brs-hero__media img{ transform:scale(1); transition:transform 8s linear; }
.brs-hero__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:var(--brs-ink); opacity:0; transition:opacity .8s var(--brs-ease); }
.brs-hero__video.ready{ opacity:1; }
.brs-hero__media::after{ content:""; position:absolute; inset:0; background:var(--brs-ov-hero); z-index:1; }
.brs-hero__frame{ position:absolute; inset:clamp(16px,2vw,24px); border:1px solid rgba(255,255,255,.28); z-index:2; pointer-events:none; }
.brs-hero__inner{ position:relative; z-index:3; width:100%; padding-block-end:clamp(70px,11vh,130px); color:var(--brs-cream); }
.brs-hero .brs-overline{ color:#e6d6b6; margin-bottom:14px; }
.brs-hero__brand{ font-family:var(--brs-font); font-size:clamp(1.55rem,3.4vw,2.9rem); font-weight:600; letter-spacing:.01em; color:var(--brs-cream); margin-bottom:.18em; text-shadow:0 2px 30px rgba(0,0,0,.35); }
.brs-hero__title{ font-size:var(--brs-fs-hero); font-weight:600; letter-spacing:-.02em; margin-bottom:.35em; text-shadow:0 2px 40px rgba(0,0,0,.3); color:var(--brs-cream); }
.brs-hero__lead{ max-width:40ch; font-size:var(--brs-fs-lead); color:rgba(245,241,232,.9); font-weight:300; margin-bottom:40px; }
.brs-hero__cta{ display:flex; flex-wrap:wrap; gap:16px; align-items:center; }
.brs-hero__scroll{ position:absolute; inset-block-end:26px; inset-inline-start:50%; transform:translateX(50%); z-index:3; color:var(--brs-cream); display:flex; flex-direction:column; align-items:center; gap:10px; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; }
.brs-hero__scroll .brs-ln{ width:1px; height:46px; background:rgba(255,255,255,.5); overflow:hidden; position:relative; }
.brs-hero__scroll .brs-ln::after{ content:""; position:absolute; inset-inline:0; top:0; height:40%; background:var(--brs-bronze); animation:brsScrollLn 2.1s var(--brs-ease) infinite; }
@keyframes brsScrollLn{ 0%{ transform:translateY(-100%); } 60%,100%{ transform:translateY(280%); } }

.brs-phero{ position:relative; min-height:clamp(540px,76vh,800px); display:flex; align-items:flex-end; overflow:hidden; }
.brs-phero__media{ position:absolute; inset:0; z-index:0; }
.brs-phero__media img{ width:100%; height:100%; object-fit:cover; will-change:transform; }
html.bereshit-anim .brs-phero__media img{ transform:scale(1.06); }
html.bereshit-anim .brs-phero.in .brs-phero__media img{ transform:scale(1); transition:transform 7s linear; }
.brs-phero__media::after{ content:""; position:absolute; inset:0; background:var(--brs-ov-hero); z-index:1; }
.brs-phero__frame{ position:absolute; inset:clamp(16px,2vw,24px); border:1px solid rgba(255,255,255,.26); z-index:2; pointer-events:none; }
.brs-phero__inner{ position:relative; z-index:3; width:100%; padding-block-end:clamp(50px,8vh,96px); color:var(--brs-cream); }
.brs-phero .brs-overline{ color:#e6d6b6; margin-bottom:16px; }
.brs-phero__title{ font-size:clamp(2.4rem,6vw,5.2rem); font-weight:600; letter-spacing:-.02em; text-shadow:0 2px 40px rgba(0,0,0,.3); color:var(--brs-cream); }
.brs-phero__sub{ margin-top:18px; max-width:48ch; font-size:var(--brs-fs-lead); font-weight:300; color:rgba(245,241,232,.9); }
.brs-phero__cta{ margin-top:34px; display:flex; gap:14px; flex-wrap:wrap; }

/* ==========================================================================
   HEADING widget — the section title on its own (overline + masked two-line
   headline + lead + optional rule/button). Alignment-agnostic: at text-align
   center the max-width blocks centre themselves, at right/left they hug the edge.
   ========================================================================== */
.brs-heading{ display:flex; flex-direction:column; align-items:center; text-align:center; }
.brs-heading .brs-overline{ margin-bottom:20px; }
.brs-heading__rule{ width:100%; margin-bottom:clamp(26px,3vw,44px); }
.brs-heading__title{ font-size:var(--brs-fs-h2); font-weight:600; line-height:var(--brs-lh-tight); letter-spacing:-.01em; color:var(--brs-ink); max-width:24ch; }
.brs-w.brs-w .brs-heading__title{ font-size:var(--brs-fs-h2); }
.brs-heading__title em{ font-style:normal; color:var(--brs-bronze-deep); }
.brs-heading__lead{ margin-block-start:22px; color:var(--brs-ink-soft); font-size:var(--brs-fs-lead); font-weight:300; max-width:52ch; }
.brs-heading__cta{ margin-block-start:clamp(26px,3vw,40px); }
/* light scheme (over a dark background or an image) */
.brs-heading--light .brs-heading__title{ color:var(--brs-cream); }
.brs-heading--light .brs-heading__title em{ color:#e6d6b6; }
.brs-heading--light .brs-heading__lead{ color:rgba(245,241,232,.9); }
.brs-heading--light .brs-hairline{ background:rgba(245,241,232,.3); }

/* ---------- section head ---------- */
.brs-sec-head{ max-width:60ch; }
.brs-sec-head .brs-overline{ margin-bottom:22px; }
.brs-sec-head__title{ font-size:var(--brs-fs-h2); font-weight:600; }
.brs-sec-head__title em{ font-style:normal; color:var(--brs-bronze-deep); }
.brs-sec-head__lead{ margin-top:22px; max-width:52ch; color:var(--brs-ink-soft); font-size:var(--brs-fs-lead); font-weight:300; }

/* ==========================================================================
   VENUES grid
   ========================================================================== */
.brs-venues{ background:var(--brs-cream); }
.brs-venues__head{ display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:clamp(40px,5vw,70px); flex-wrap:wrap; }
.brs-venues__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(14px,1.4vw,22px); }
.brs-vcard{ position:relative; display:block; overflow:hidden; aspect-ratio:16/11; background:var(--brs-cream-3); transition:box-shadow .55s var(--brs-ease); }
.brs-vcard img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; will-change:transform; transition:transform 1.5s var(--brs-ease-out); }
html.bereshit-anim .brs-vcard img{ transform:scale(1.14); }
html.bereshit-anim .brs-vcard.in img{ transform:scale(1); }
.brs-vcard:hover img{ transform:scale(1.06); transition:transform 1.1s var(--brs-ease); }
.brs-vcard::after{ content:""; position:absolute; inset:0; background:var(--brs-ov-card); transition:opacity .6s var(--brs-ease); z-index:1; }
.brs-vcard:hover::after{ opacity:.82; }
.brs-vcard::before{ content:""; position:absolute; inset:0; z-index:3; background:var(--brs-cream); transform-origin:bottom; transition:transform 1.1s var(--brs-ease-out); }
html.bereshit-anim .brs-vcard::before{ transform:scaleY(1); }
html.bereshit-anim .brs-vcard.in::before{ transform:scaleY(0); }
.brs-vcard:hover{ box-shadow:0 34px 70px -34px rgba(20,16,10,.6); }
.brs-vcard__body{ position:absolute; inset-block-end:0; inset-inline:0; z-index:2; padding:clamp(22px,2.4vw,40px); color:var(--brs-cream); }
.brs-vcard__cat{ display:inline-flex; align-items:center; gap:.6em; font-size:.72rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:#e6d6b6; margin-bottom:12px; }
.brs-vcard__cat .brs-tick{ width:22px; height:1px; background:currentColor; opacity:.8; }
.brs-vcard__name{ font-family:var(--brs-font); font-size:var(--brs-fs-h3); font-weight:600; margin-bottom:6px; }
.brs-vcard__desc{ font-weight:300; color:rgba(245,241,232,.86); max-width:34ch; margin-bottom:16px; }
.brs-vcard__go{ display:inline-flex; align-items:center; gap:.55em; font-weight:600; font-size:.92rem; opacity:0; transform:translateY(10px); transition:opacity .5s var(--brs-ease), transform .5s var(--brs-ease); }
.brs-vcard:hover .brs-vcard__go{ opacity:1; transform:none; }
.brs-vcard__go .brs-ar{ transition:transform .45s var(--brs-ease); }
.brs-vcard:hover .brs-vcard__go .brs-ar{ transform:translateX(-6px); }
@media (hover:none){ .brs-vcard__go{ opacity:1; transform:none; } }

/* ==========================================================================
   CHOOSER
   ========================================================================== */
.brs-chooser{ background:var(--brs-paper); border-block:1px solid var(--brs-line); }
.brs-chooser__inner{ padding-block:clamp(40px,5vw,66px); text-align:center; }
.brs-chooser__q{ font-family:var(--brs-font); font-size:clamp(1.4rem,2.4vw,2rem); margin-bottom:8px; }
.brs-chooser__sub{ color:var(--brs-muted); margin-bottom:34px; }
.brs-chooser__row{ display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--brs-line); }
.brs-choice{ display:flex; flex-direction:column; align-items:center; gap:12px; padding:32px 18px; border-inline-start:1px solid var(--brs-line); transition:background .4s var(--brs-ease); position:relative; }
.brs-choice:first-child{ border-inline-start:0; }
.brs-choice:hover{ background:var(--brs-cream); }
.brs-choice svg{ width:34px; height:34px; stroke:var(--brs-bronze-deep); fill:none; stroke-width:1.3; }
.brs-choice__t{ font-family:var(--brs-font); font-size:1.14rem; }
.brs-choice__s{ font-size:.85rem; color:var(--brs-muted); }
.brs-choice__go{ font-size:.8rem; color:var(--brs-bronze-deep); font-weight:600; letter-spacing:.04em; opacity:0; transform:translateY(6px); transition:.4s var(--brs-ease); }
.brs-choice:hover .brs-choice__go{ opacity:1; transform:none; }
@media (hover:none){ .brs-choice__go{ opacity:1; transform:none; } }

/* ==========================================================================
   ENVELOPE / EBAND / STATS
   ========================================================================== */
.brs-envelope{ background:var(--brs-cream-2); text-align:center; }
.brs-envelope__mono{ font-family:var(--brs-font); color:var(--brs-bronze); letter-spacing:.3em; font-size:.8rem; text-transform:uppercase; margin-bottom:26px; }
.brs-envelope__title{ font-size:var(--brs-fs-h2); font-weight:600; line-height:1.08; }
.brs-envelope__title em{ font-style:normal; color:var(--brs-bronze-deep); }
.brs-envelope__pills{ display:flex; justify-content:center; flex-wrap:wrap; align-items:center; gap:0; margin-block:40px; color:var(--brs-ink-soft); }
.brs-envelope__pills span{ padding-inline:clamp(14px,2vw,30px); font-weight:600; font-size:clamp(.95rem,1.4vw,1.15rem); position:relative; }
.brs-envelope__pills span + span::before{ content:""; position:absolute; inset-inline-start:0; top:50%; transform:translateY(-50%); width:1px; height:1.1em; background:var(--brs-line); }
.brs-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-block:clamp(46px,5vw,72px); border-block:1px solid var(--brs-line); }
.brs-stat{ position:relative; padding-block:clamp(30px,3.6vw,46px); padding-inline:12px; }
.brs-stat + .brs-stat::before{ content:""; position:absolute; inset-inline-start:0; top:22%; height:56%; width:1px; background:var(--brs-line); }
.brs-stat__n{ font-family:var(--brs-font); font-size:var(--brs-fs-stat); font-weight:600; line-height:1; color:var(--brs-ink); letter-spacing:-.02em; font-variant-numeric:lining-nums; }
.brs-stat__l{ margin-top:14px; font-size:.95rem; color:var(--brs-muted); letter-spacing:.05em; }
.brs-eband{ background:var(--brs-cream-2); text-align:center; }
.brs-eband__title{ font-size:var(--brs-fs-h2); font-weight:600; }
.brs-eband__title em{ font-style:normal; color:var(--brs-bronze-deep); }
.brs-eband__pills{ display:flex; justify-content:center; flex-wrap:wrap; align-items:center; margin:30px 0; color:var(--brs-ink-soft); }
.brs-eband__pills span{ padding-inline:clamp(14px,2vw,30px); font-weight:500; font-size:clamp(.95rem,1.4vw,1.15rem); position:relative; }
.brs-eband__pills span + span::before{ content:""; position:absolute; inset-inline-start:0; top:50%; transform:translateY(-50%); width:1px; height:1.1em; background:var(--brs-line); }

/* ==========================================================================
   STATEMENT band (parallax)
   ========================================================================== */
.brs-statement{ position:relative; overflow:hidden; min-height:clamp(460px,66vh,680px); display:flex; align-items:center; text-align:center; color:var(--brs-cream); }
.brs-statement__media{ position:absolute; inset:-10% 0; z-index:0; }   /* -10% = parallax headroom, see the IMAGES block above */
.brs-statement__media img{ width:100%; height:100%; object-fit:cover; will-change:transform; }
.brs-statement__media::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(14,12,9,.82), rgba(14,12,9,.5)); }
/* column flex + align-items = the copy blocks follow the alignment control
   (start / center / end) without relying on `margin-inline:auto` */
.brs-statement__inner{ position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; }
.brs-statement .brs-overline{ margin-bottom:20px; }
.brs-statement__title{ font-size:var(--brs-fs-h2); font-weight:600; color:var(--brs-cream); max-width:22ch; }
.brs-statement__title em{ font-style:normal; color:#e6d6b6; }
.brs-statement__lead{ margin-block-start:24px; max-width:52ch; font-weight:300; font-size:var(--brs-fs-lead); color:rgba(245,241,232,.9); }

/* ==========================================================================
   CTA / FORM
   ========================================================================== */
.brs-cta{ position:relative; overflow:hidden; color:var(--brs-cream); }
.brs-cta__media{ position:absolute; inset:-10% 0; z-index:0; }         /* -10% = parallax headroom, see the IMAGES block above */
.brs-cta__media img{ width:100%; height:100%; object-fit:cover; will-change:transform; }
.brs-cta__media::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(14,12,9,.9), rgba(14,12,9,.6)); }
.brs-cta__inner{ position:relative; z-index:2; padding-block:clamp(90px,12vw,170px); }
.brs-cta__grid{ display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(40px,6vw,100px); align-items:center; }
.brs-cta .brs-overline{ color:#e6d6b6; }
.brs-cta__title{ font-size:var(--brs-fs-h2); font-weight:600; margin-block:22px 20px; color:var(--brs-cream); }
.brs-cta__lead{ color:rgba(245,241,232,.85); font-weight:300; font-size:var(--brs-fs-lead); max-width:42ch; }
.brs-cta__wa{ margin-top:26px; }

.brs-form{ display:grid; gap:16px; }
.brs-form__grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.brs-field{ position:relative; }
.brs-field--full{ grid-column:1 / -1; }
.brs-field input, .brs-field select, .brs-field textarea{ width:100%; padding:15px 2px; background:transparent; border-bottom:1px solid rgba(245,241,232,.4); color:var(--brs-cream); font-size:1rem; transition:border-color .4s var(--brs-ease); }
.brs-field textarea{ resize:vertical; min-height:90px; }
.brs-field select{ color:rgba(245,241,232,.7); }
.brs-field input::placeholder, .brs-field textarea::placeholder{ color:rgba(245,241,232,.6); }
.brs-field input:focus, .brs-field select:focus, .brs-field textarea:focus{ outline:none; border-bottom-color:var(--brs-bronze); }
.brs-field select option{ color:var(--brs-ink); }
.brs-form .brs-btn{ justify-content:center; margin-top:8px; }
.brs-form__note{ font-size:.82rem; color:rgba(245,241,232,.6); }
.brs-form__thanks{ display:none; padding:30px; border:1px solid rgba(245,241,232,.3); text-align:center; }
.brs-form__thanks h3{ font-size:1.6rem; margin-bottom:10px; }
.brs-form.is-sent .brs-form__fields{ display:none; }
.brs-form.is-sent .brs-form__thanks{ display:block; }
/* dark form (light bg, e.g. contact page) */
.brs-form--dark .brs-field input, .brs-form--dark .brs-field select, .brs-form--dark .brs-field textarea{ color:var(--brs-ink); border-bottom-color:var(--brs-line); }
.brs-form--dark .brs-field input::placeholder, .brs-form--dark .brs-field textarea::placeholder{ color:var(--brs-muted); }
.brs-form--dark .brs-field select{ color:var(--brs-muted); }
.brs-form--dark .brs-form__note{ color:var(--brs-muted); }
.brs-form--dark .brs-btn{ background:var(--brs-ink); color:var(--brs-cream); border-color:var(--brs-ink); }
.brs-form--dark .brs-form__thanks{ border-color:var(--brs-line); color:var(--brs-ink); }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.brs-footer{ background:var(--brs-ink); color:var(--brs-cream); padding-block:clamp(64px,8vw,100px) 0; }
.brs-footer__grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr; gap:clamp(30px,4vw,60px); padding-bottom:56px; border-bottom:1px solid rgba(245,241,232,.14); }
.brs-footer__logo img{ height:76px; width:auto; filter:brightness(0) invert(1); margin-bottom:22px; }
.brs-footer__tag{ color:rgba(245,241,232,.7); font-weight:300; max-width:30ch; }
.brs-footer h4{ font-family:var(--brs-font); font-size:.78rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:#cbb98f; margin-bottom:22px; }
.brs-footer ul{ list-style:none; display:grid; gap:13px; margin:0; padding:0; }
.brs-footer a{ color:rgba(245,241,232,.82); font-weight:300; transition:color .3s; }
.brs-footer a:hover{ color:var(--brs-bronze); }
.brs-footer__bottom{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; padding-block:26px; font-size:.84rem; color:rgba(245,241,232,.55); }
.brs-footer__bottom a{ color:inherit; } .brs-footer__bottom a:hover{ color:var(--brs-bronze); }

/* ==========================================================================
   PAGES — story / gallery / features / tags / collage / spaces / points / feature-split / values / others / contact
   ========================================================================== */
.brs-story__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,84px); align-items:center; }
.brs-story__media{ position:relative; overflow:hidden; aspect-ratio:4/5; }
.brs-story__media img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--brs-ease); }
.brs-story__media:hover img{ transform:scale(1.04); }
.brs-story--rev{ order:-1; }
.brs-story__text{ margin-top:22px; color:var(--brs-ink-soft); font-size:var(--brs-fs-lead); font-weight:300; display:grid; gap:14px; }
.brs-story__cta{ margin-top:30px; }

.brs-gallery__grid{ columns:4; column-gap:clamp(10px,1.2vw,16px); }
.brs-gimg{ position:relative; overflow:hidden; background:var(--brs-cream-3); display:block; margin-bottom:clamp(10px,1.2vw,16px); break-inside:avoid; }
.brs-gimg img{ display:block; transition:transform 1s var(--brs-ease); }
/* Masonry tiles get a real frame with a 3-step rhythm, and the photo covers it —
   so a portrait, a square and a panorama in the same gallery all fill their tile
   instead of each collapsing to its own natural height. The widget's
   "יחס גובה-רוחב של המסגרת" control overrides the rhythm. */
.brs-gallery__grid .brs-gimg{ aspect-ratio:4/5; }
.brs-gallery__grid .brs-gimg[data-d="2"]{ aspect-ratio:1/1; }
.brs-gallery__grid .brs-gimg[data-d="3"]{ aspect-ratio:3/4; }
.brs-gimg::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(16,14,11,.22), transparent 45%); opacity:0; transition:opacity .5s var(--brs-ease); }
.brs-gimg:hover img{ transform:scale(1.05); }
.brs-gimg:hover::after{ opacity:1; }
.brs-hscroll{ display:flex; gap:14px; overflow-x:auto; padding-bottom:14px; scroll-snap-type:x mandatory; }
.brs-hscroll::-webkit-scrollbar{ height:6px; } .brs-hscroll::-webkit-scrollbar-thumb{ background:var(--brs-line); }
.brs-hscroll .brs-gimg{ flex:0 0 clamp(260px,32vw,420px); aspect-ratio:3/4; scroll-snap-align:start; }
.brs-hscroll .brs-gimg img{ height:100%; object-fit:cover; }

.brs-features__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--brs-line); }
.brs-feature-item{ padding:clamp(26px,2.8vw,42px) clamp(16px,2vw,32px); border-bottom:1px solid var(--brs-line); border-inline-start:1px solid var(--brs-line); transition:background .4s var(--brs-ease); }
.brs-feature-item:nth-child(3n+1){ border-inline-start:0; }
.brs-feature-item:hover{ background:var(--brs-paper); }
.brs-feature-item svg{ width:34px; height:34px; stroke:var(--brs-bronze-deep); fill:none; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; margin-bottom:16px; }
.brs-feature-item h3{ font-family:var(--brs-font); font-size:clamp(1.2rem,1.6vw,1.4rem); font-weight:600; margin-bottom:6px; }
.brs-feature-item p{ color:var(--brs-ink-soft); font-weight:300; font-size:.96rem; }

.brs-tags{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.brs-tags__label{ color:var(--brs-muted); font-size:.82rem; letter-spacing:.12em; margin-inline-end:6px; }
.brs-tag{ border:1px solid var(--brs-line); padding:9px 18px; font-size:.94rem; color:var(--brs-ink); background:transparent; transition:border-color .4s var(--brs-ease), color .4s var(--brs-ease); }
.brs-tag:hover{ border-color:var(--brs-bronze); color:var(--brs-bronze-deep); }

.brs-collage{ position:relative; }
.brs-collage__main{ position:relative; aspect-ratio:4/5; overflow:hidden; }
.brs-collage__main img, .brs-collage__sub img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--brs-ease); }
.brs-collage:hover .brs-collage__main img{ transform:scale(1.04); }
.brs-collage__sub{ position:absolute; inset-inline-start:6%; bottom:-30px; width:42%; aspect-ratio:1/1; overflow:hidden; border:7px solid var(--brs-cream); box-shadow:0 26px 54px -26px rgba(20,16,10,.5); z-index:2; }
.brs-collage__badge{ position:absolute; z-index:3; top:18px; inset-inline-start:18px; background:var(--brs-bronze); color:#fff; padding:14px 18px; line-height:1; }
.brs-collage__badge b{ display:block; font-family:var(--brs-font); font-size:1.7rem; }
.brs-collage__badge span{ font-size:.7rem; letter-spacing:.14em; }

.brs-spaces__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,1.6vw,24px); }
.brs-space{ position:relative; overflow:hidden; display:block; }
.brs-space__img{ position:relative; aspect-ratio:3/4; overflow:hidden; }
.brs-space__img img{ width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--brs-ease); }
.brs-space:hover .brs-space__img img{ transform:scale(1.05); }
.brs-space::after{ content:""; position:absolute; inset:0; background:var(--brs-ov-card); pointer-events:none; z-index:1; }
.brs-space__body{ position:absolute; inset-block-end:0; inset-inline:0; z-index:2; padding:clamp(20px,2vw,34px); color:var(--brs-cream); }
.brs-space__name{ font-family:var(--brs-font); font-size:clamp(1.35rem,2vw,1.7rem); }
.brs-space__line{ font-weight:300; color:rgba(245,241,232,.85); margin:6px 0 14px; font-size:.98rem; }
.brs-space__cap{ display:inline-flex; align-items:center; gap:.6em; font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; color:#e6d6b6; }
.brs-space__cap .brs-tick{ width:20px; height:1px; background:currentColor; }

.brs-points{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(18px,2.2vw,34px); margin-top:clamp(30px,4vw,50px); }
.brs-point{ border-top:1px solid var(--brs-line); padding-top:20px; }
.brs-point__n{ font-family:var(--brs-font); color:var(--brs-bronze); font-size:1rem; letter-spacing:.04em; }
.brs-point__t{ font-family:var(--brs-font); font-size:clamp(1.25rem,1.8vw,1.5rem); margin:10px 0 8px; }
.brs-point__d{ font-weight:300; color:var(--brs-ink-soft); font-size:.96rem; }

.brs-feature__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,80px); align-items:center; }
/* design default: image in the first (right, RTL) column. The widget's
   "כיוון הסקשן" control writes `order` per instance and overrides this. */
.brs-feature__grid .brs-feature__media{ order:-1; }
.brs-feature__grid .brs-feature__media--end{ order:0; }
.brs-feature__media{ position:relative; overflow:hidden; aspect-ratio:4/3; }
.brs-feature__media img{ width:100%; height:100%; object-fit:cover; }

.brs-values__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(28px,4vw,60px); }
.brs-value{ border-top:1px solid var(--brs-line); padding-top:24px; }
.brs-value__t{ font-family:var(--brs-font); font-size:clamp(1.5rem,2.2vw,1.9rem); margin-bottom:12px; }
.brs-value__d{ color:var(--brs-ink-soft); font-weight:300; }

.brs-others__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,1.5vw,22px); }
.brs-others__grid.brs-four{ grid-template-columns:repeat(4,1fr); }
.brs-ovcard{ position:relative; display:block; overflow:hidden; aspect-ratio:3/4; transition:box-shadow .55s var(--brs-ease); }
.brs-ovcard img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--brs-ease); }
.brs-ovcard:hover img{ transform:scale(1.06); }
.brs-ovcard:hover{ box-shadow:0 30px 60px -30px rgba(20,16,10,.55); }
.brs-ovcard::after{ content:""; position:absolute; inset:0; background:var(--brs-ov-card); z-index:1; }
.brs-ovcard__body{ position:absolute; inset-block-end:0; inset-inline:0; z-index:2; padding:clamp(20px,2vw,30px); color:var(--brs-cream); }
.brs-ovcard__q{ font-weight:300; color:rgba(245,241,232,.8); font-size:.92rem; margin-bottom:6px; }
.brs-ovcard__name{ font-family:var(--brs-font); font-size:clamp(1.2rem,1.8vw,1.5rem); display:flex; align-items:center; gap:.5em; }
.brs-ovcard:hover .brs-ovcard__name .brs-ar{ transform:translateX(-6px); }
.brs-ovcard__name .brs-ar{ transition:transform .45s var(--brs-ease); }

/* contact */
.brs-contact{ padding-block:clamp(120px,14vw,180px) var(--brs-sect); }
.brs-contact__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(34px,6vw,90px); }
.brs-contact__info{ display:grid; gap:22px; align-content:start; }
.brs-cinfo{ display:flex; gap:14px; align-items:flex-start; padding-bottom:20px; border-bottom:1px solid var(--brs-line); }
.brs-cinfo__k{ font-size:.76rem; letter-spacing:.2em; text-transform:uppercase; color:var(--brs-bronze-deep); margin-bottom:6px; }
.brs-cinfo__v{ font-family:var(--brs-font); font-size:1.25rem; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1200px){ .brs-gallery__grid{ columns:3; } }
@media (max-width:1024px){ .brs-footer__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:900px){
  .brs-nav, .brs-header__tools .brs-btn, .brs-header__tools .brs-wa{ display:none; }
  .brs-burger{ display:block; }
  .brs-cta__grid{ grid-template-columns:1fr; gap:40px; }
  .brs-venues__grid{ grid-template-columns:1fr; }
  .brs-vcard{ aspect-ratio:4/3; }
  .brs-chooser__row{ grid-template-columns:1fr 1fr; }
  .brs-choice:nth-child(3), .brs-choice:nth-child(4){ border-block-start:1px solid var(--brs-line); }
  .brs-choice:nth-child(3){ border-inline-start:0; }
  .brs-bar{ display:flex; }
  .brs-mega{ display:none; }
  .brs-story__grid, .brs-feature__grid, .brs-contact__grid{ grid-template-columns:1fr; }
  /* single column → always text first, whatever side was chosen for desktop.
     !important because the side control writes `order` per element instance. */
  .brs-story__grid > *, .brs-feature__grid > *{ order:0 !important; }
  .brs-story__media{ aspect-ratio:4/3; }
  .brs-spaces__grid, .brs-others__grid, .brs-others__grid.brs-four, .brs-values__grid{ grid-template-columns:1fr; }
  .brs-features__grid{ grid-template-columns:1fr 1fr; }
  .brs-feature-item:nth-child(3n+1){ border-inline-start:1px solid var(--brs-line); }
  .brs-feature-item:nth-child(2n+1){ border-inline-start:0; }
  .brs-points{ grid-template-columns:1fr 1fr; }
  .brs-gallery__grid{ columns:2; }
  .brs-collage__sub{ display:none; }
  .brs-collage__main{ aspect-ratio:4/3; }
}
@media (max-width:620px){
  .brs-stat{ padding-block:26px 22px; padding-inline:6px; }
  .brs-stat__n{ font-size:clamp(2rem,12vw,3rem); }
  .brs-stat__l{ font-size:.78rem; margin-top:8px; }
  .brs-form__grid{ grid-template-columns:1fr; }
  .brs-envelope__pills span + span::before, .brs-eband__pills span + span::before{ display:none; }
  .brs-footer__grid{ grid-template-columns:1fr; gap:34px; }
  .brs-hero__scroll{ display:none; }
}
@media (max-width:560px){
  .brs-features__grid{ grid-template-columns:1fr; }
  .brs-feature-item, .brs-feature-item:nth-child(3n+1){ border-inline-start:0; }
  .brs-points{ grid-template-columns:1fr 1fr; }
}

/* ==========================================================================
   LINK COLORS — hardened against the theme / Elementor kit `a{color:…}`.
   Any element that IS an <a> and takes its color from its surroundings needs a
   rule stronger than `.elementor-kit-N a` (0,1,1), or the kit's accent color
   leaks into the scroll cue, the chooser tiles, the mobile menu and the sticky
   bar. Chrome selectors are self-doubled instead of `.brs-w`-scoped because the
   header / menu / bar can be portaled out of `.brs-w` on stubborn themes.
   ========================================================================== */
.brs-w .brs-hero__scroll{ color:var(--brs-cream); }
.brs-w .brs-phero .brs-link-underline, .brs-w .brs-link-underline{ color:inherit; }
.brs-w .brs-choice{ color:var(--brs-ink); }
.brs-w .brs-choice__s{ color:var(--brs-muted); }
.brs-w .brs-choice__go{ color:var(--brs-bronze-deep); }
.brs-w .brs-cinfo__v{ color:var(--brs-ink); }
.brs-w .brs-cta .brs-link-underline, .brs-w .brs-statement .brs-link-underline{ color:var(--brs-cream); }
.brs-mobile-menu.brs-mobile-menu a{ color:var(--brs-ink); }
.brs-mobile-menu.brs-mobile-menu .brs-mm-sub{ color:var(--brs-ink-soft); }
.brs-bar.brs-bar .brs-bar-wa{ color:#fff; }
.brs-bar.brs-bar .brs-bar-plan{ color:var(--brs-cream); }
.brs-header.brs-header .brs-header__logo, .brs-footer .brs-footer__logo{ color:inherit; }

/* ==========================================================================
   EDITOR PREVIEW — neutralise fixed/portal chrome so it's editable inline
   ========================================================================== */
.brs-editor-preview .brs-header, .brs-editor-preview .brs-footer, .brs-editor-preview .brs-bar{ position:relative !important; inset:auto !important; }
.brs-editor-preview .brs-mobile-menu{ display:none !important; }
.brs-editor-preview .brs-header{ background:var(--brs-ink); color:var(--brs-cream); }
.brs-editor-preview .brs-header .brs-header__logo img{ filter:brightness(0) invert(1); }

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  .brs-reveal, .brs-mask>span, .brs-hairline, .brs-vcard img, .brs-vcard::before{ opacity:1 !important; transform:none !important; transition:none !important; }
  .brs-hero__scroll .brs-ln::after{ animation:none !important; }
}
