/* ==========================================================================
   קבוצת בראשית — 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;
}

/* ---------- base scope (no global html/body rules) ---------- */
.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; }
.brs-w img, .brs-w video{ display:block; max-width:100%; height:auto; }
.brs-w a{ color:inherit; text-decoration:none; }
.brs-w button, .brs-w input, .brs-w textarea, .brs-w select{ font:inherit; color:inherit; }
.brs-w input, .brs-w textarea, .brs-w select{ background:none; border:none; }
.brs-w button:not(.brs-btn){ background:none; border:none; }
.brs-w button{ cursor:pointer; }
body.brs-no-scroll{ overflow:hidden; }
/* Elementor icon picker wrappers (features / chooser) */
.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; fill:currentColor; }
.brs-ficon i{ font-size:32px; color:currentColor; line-height:1; }
.brs-choice .brs-ficon svg{ width:34px; height:34px; }
.brs-w h1, .brs-w h2, .brs-w h3, .brs-w h4{ font-family:var(--brs-font); font-weight:600; line-height:var(--brs-lh-tight); letter-spacing:-.01em; margin:0; }
.brs-w p{ margin:0; }
/* 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; }

/* ---------- 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; }
.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); }
.brs-nav__link .brs-caret{ display:inline-block; margin-inline-start:.35em; width:7px; height:7px; border-inline-start:1.5px solid currentColor; border-block-end:1.5px solid currentColor; transform:rotate(-45deg) translateY(-2px); transition:transform .4s var(--brs-ease); }
.brs-nav__item--has:hover .brs-nav__link .brs-caret{ transform:rotate(-45deg) translateY(1px); }
.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); }
.brs-nav__item--has:hover .brs-mega, .brs-mega:hover{ 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); }

.brs-mobile-menu{ position:fixed; inset:0; z-index:var(--brs-z-menu); background:var(--brs-cream); padding:calc(var(--brs-header-h-sticky) + 30px) var(--brs-gut) 40px; display:flex; flex-direction:column; opacity:0; visibility:hidden; transform:translateY(-12px); transition:opacity .5s var(--brs-ease), transform .5s var(--brs-ease), visibility .5s; overflow-y:auto; }
body.brs-menu-open .brs-mobile-menu{ opacity:1; visibility:visible; transform:none; }
.brs-mobile-menu a{ font-family:var(--brs-font); font-size:2rem; padding-block:12px; border-bottom:1px solid var(--brs-line-soft); display:flex; justify-content:space-between; align-items:center; color:var(--brs-ink); }
.brs-mobile-menu .brs-mm-sub{ font-family:var(--brs-font); font-size:1rem; color:var(--brs-ink-soft); padding-inline-start:14px; border:0; padding-block:9px; }
.brs-mobile-menu .brs-mm-sub .brs-cat{ color:var(--brs-bronze-deep); font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; margin-inline-end:.6em; }
.brs-mobile-menu__cta{ margin-top:auto; display:flex; gap:12px; padding-top:26px; }
.brs-mobile-menu__cta .brs-btn{ flex:1; justify-content:center; }

.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; }

/* ---------- 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:0; z-index:0; }
.brs-statement__media img{ position:relative; top:-12%; width:100%; height:124%; 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)); }
.brs-statement__inner{ position:relative; z-index:2; }
.brs-statement .brs-overline{ justify-content:center; margin-bottom:20px; }
.brs-statement__title{ font-size:var(--brs-fs-h2); font-weight:600; color:var(--brs-cream); }
.brs-statement__title em{ font-style:normal; color:#e6d6b6; }
.brs-statement__lead{ margin:24px auto 0; 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:0; z-index:0; }
.brs-cta__media img{ width:100%; height:122%; top:-11%; position:relative; 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{ width:100%; height:auto; display:block; transition:transform 1s var(--brs-ease); }
.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; }
.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; }
  .brs-story--rev, .brs-story__media{ order:0; }
  .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; }
}

/* ==========================================================================
   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; }
}
