/* ============================================================
   Brenvato — "Aubergine Editorial"
   Warm, composed, editorial. Single-column 720px measure.
   ============================================================ */

:root{
  --bg:#241722;
  --surface:#2f1f2c;
  --text:#e9dde3;
  --muted:#a98fa0;
  --accent:#d99aa8;
  --accent2:#8a6f83;

  /* shared cookie/consent variables (must match palette) */
  --site-bg:#241722;
  --site-surface:#2f1f2c;
  --site-text:#e9dde3;
  --site-muted:#a98fa0;
  --site-accent:#d99aa8;

  --hair: rgba(217,154,168,.42);
  --line: rgba(233,221,227,.10);

  --measure:68ch;
  --shell:720px;
  --gap-section:104px;
  --radius:4px;

  --font-head:"Quicksand", system-ui, sans-serif;
  --font-body:"Karla", system-ui, sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:clamp(1rem,.96rem + .25vw,1.075rem);
  line-height:1.75;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

img{ max-width:100%; display:block; }

a{ color:inherit; text-decoration:none; }

h1,h2,h3,h4{
  font-family:var(--font-head);
  font-weight:600;
  line-height:1.18;
  letter-spacing:-.01em;
  margin:0 0 .5em;
}

p{ margin:0 0 1.2em; }
p:last-child{ margin-bottom:0; }

::selection{ background:var(--accent); color:var(--bg); }

:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:2px;
}

/* -------------------------------------------------- Layout shell */
.brv-shell{
  width:100%;
  max-width:var(--shell);
  margin-inline:auto;
  padding-inline:24px;
}

.brv-section{
  padding-block:clamp(64px,6vw + 40px,var(--gap-section));
}

.brv-measure{ max-width:var(--measure); }

/* -------------------------------------------------- Section header
   Signature: slim dusty-pink hairline rules bracketing titles      */
.brv-lead{ margin-bottom:clamp(40px,5vw,64px); }

.brv-lead__mark{
  display:block;
  width:52px;
  height:1px;
  background:var(--hair);
  margin-bottom:24px;
}
.brv-lead--center{ text-align:center; }
.brv-lead--center .brv-lead__mark{ margin-inline:auto; }

.brv-lead__kicker{
  font-family:var(--font-body);
  font-size:.75rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--accent);
  margin:0 0 14px;
  font-weight:700;
}

.brv-lead__title{
  font-size:clamp(1.6rem,1.2rem + 1.9vw,2.35rem);
  margin:0;
}

.brv-lead__sub{
  color:var(--muted);
  max-width:var(--measure);
  margin-top:18px;
}
.brv-lead--center .brv-lead__sub{ margin-inline:auto; }

/* -------------------------------------------------- Buttons */
.brv-btn{
  display:inline-flex;
  align-items:center;
  gap:.6em;
  font-family:var(--font-head);
  font-weight:600;
  font-size:.95rem;
  letter-spacing:.01em;
  padding:.85em 1.6em;
  border-radius:var(--radius);
  border:1px solid var(--accent);
  background:var(--accent);
  color:#241722;
  cursor:pointer;
  transition:background .25s ease, color .25s ease, border-color .25s ease, transform .2s ease;
  min-height:44px;
}
.brv-btn:hover{ background:#e6b0bb; border-color:#e6b0bb; }
.brv-btn:active{ transform:translateY(1px); }

.brv-btn--ghost{
  background:transparent;
  color:var(--text);
  border-color:var(--hair);
}
.brv-btn--ghost:hover{ background:transparent; border-color:var(--accent); color:var(--accent); }

.brv-btn--block{ width:100%; justify-content:center; }

/* -------------------------------------------------- Logo */
.brv-logo{
  display:inline-flex;
  align-items:center;
  gap:.62em;
  line-height:1;
}
.brv-logo__mark{
  width:32px; height:32px;
  display:block; flex:none;
}
.brv-logo__word{
  font-family:var(--font-head);
  font-weight:600;
  font-size:1.22rem;
  letter-spacing:.02em;
  color:var(--text);
}

/* ==================================================================
   HEADER — minimal, transparent over hero, wordmark left
   ================================================================== */
.brv-head{
  position:fixed;
  top:0; left:0; right:0;
  z-index:60;
  transition:background .3s ease, border-color .3s ease, backdrop-filter .3s ease;
  border-bottom:1px solid transparent;
}
.brv-head__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:74px;
  gap:20px;
}
.brv-head.is-scrolled{
  background:rgba(36,23,34,.86);
  backdrop-filter:blur(10px);
  border-bottom-color:var(--line);
}

/* desktop nav — quiet, revealing on scroll */
.brv-nav{
  display:none;
  align-items:center;
  gap:30px;
  opacity:0;
  transform:translateY(-6px);
  transition:opacity .35s ease, transform .35s ease;
}
.brv-head.is-scrolled .brv-nav{ opacity:1; transform:none; }

.brv-nav__link{
  font-family:var(--font-head);
  font-weight:500;
  font-size:.95rem;
  color:var(--text);
  position:relative;
  padding-block:4px;
}
.brv-nav__link::after{
  content:"";
  position:absolute; left:0; bottom:-2px;
  width:0; height:1px; background:var(--accent);
  transition:width .3s ease;
}
.brv-nav__link:hover::after,
.brv-nav__link[aria-current="page"]::after{ width:100%; }

/* burger */
.brv-burger{
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:44px; height:44px;
  padding:10px;
  background:transparent;
  border:1px solid var(--line);
  border-radius:var(--radius);
  cursor:pointer;
}
.brv-burger span{
  display:block; height:1.5px; width:100%;
  background:var(--text);
  transition:transform .3s ease, opacity .3s ease;
}

/* drawer */
.brv-veil{
  position:fixed; inset:0;
  background:rgba(20,12,18,.6);
  backdrop-filter:blur(2px);
  opacity:0; visibility:hidden;
  transition:opacity .3s ease, visibility .3s ease;
  z-index:70;
}
.brv-veil.is-open{ opacity:1; visibility:visible; }

.brv-drawer{
  position:fixed; top:0; right:0; bottom:0;
  width:min(86vw,340px);
  background:var(--surface);
  border-left:1px solid var(--line);
  z-index:80;
  transform:translateX(102%);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  padding:88px 30px 36px;
  display:flex; flex-direction:column; gap:8px;
}
.brv-drawer.is-open{ transform:none; }
.brv-drawer__close{
  position:absolute; top:22px; right:22px;
  width:42px; height:42px;
  background:transparent; border:1px solid var(--line);
  border-radius:var(--radius);
  color:var(--text); font-size:1.6rem; line-height:1;
  cursor:pointer;
}
.brv-drawer__nav{ display:flex; flex-direction:column; }
.brv-drawer .brv-nav__link{
  font-size:1.2rem;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}

@media(min-width:900px){
  .brv-nav{ display:flex; }
  .brv-burger{ display:none; }
}

/* ==================================================================
   HERO — magazine cover: huge image, small mark, headline lower third
   ================================================================== */
.brv-hero{
  position:relative;
  min-height:92vh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}
.brv-hero__media{
  position:absolute; inset:0;
  z-index:0;
}
.brv-hero__media img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}
.brv-hero__scrim{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg,
    rgba(36,23,34,.28) 0%,
    rgba(36,23,34,.05) 42%,
    rgba(36,23,34,.72) 78%,
    rgba(36,23,34,.94) 100%);
}
.brv-hero__inner{
  position:relative; z-index:2;
  width:100%;
  padding-block:clamp(48px,10vh,120px);
}
.brv-hero__badge{
  display:inline-flex; align-items:center; gap:.5em;
  font-family:var(--font-head);
  font-size:.72rem; letter-spacing:.26em; text-transform:uppercase;
  color:var(--accent);
  margin-bottom:22px;
}
.brv-hero__badge::before{
  content:""; width:34px; height:1px; background:var(--hair);
}
.brv-hero__title{
  font-size:clamp(2.1rem,1.3rem + 4.4vw,3.5rem);
  max-width:16ch;
  margin:0 0 .55em;
}
.brv-hero__lead{
  color:var(--text);
  max-width:52ch;
  margin-bottom:30px;
  opacity:.92;
}
.brv-hero__cta{ display:flex; flex-wrap:wrap; gap:14px; }

/* ==================================================================
   PAGE HERO — band & compact variants
   ================================================================== */
.brv-phero{ position:relative; }

.brv-phero--band{
  padding-block:clamp(120px,16vw,180px) clamp(56px,7vw,88px);
  background:
    radial-gradient(120% 90% at 70% 0%, rgba(138,111,131,.28), transparent 60%),
    var(--surface);
  border-bottom:1px solid var(--line);
}
.brv-phero--compact{
  padding-block:clamp(120px,15vw,170px) clamp(40px,5vw,60px);
  text-align:center;
}
.brv-phero__kicker{
  font-family:var(--font-head);
  font-size:.74rem; letter-spacing:.26em; text-transform:uppercase;
  color:var(--accent); margin-bottom:16px;
}
.brv-phero__title{
  font-size:clamp(1.9rem,1.3rem + 3vw,2.9rem);
  margin:0 0 .4em;
}
.brv-phero--compact .brv-phero__mark{
  width:52px; height:1px; background:var(--hair); margin:22px auto 0;
}
.brv-phero__intro{
  color:var(--muted);
  max-width:var(--measure);
}
.brv-phero--compact .brv-phero__intro{ margin-inline:auto; }

/* ==================================================================
   TRUST BAR — membership marks + rating strip
   ================================================================== */
.brv-trust{ border-block:1px solid var(--line); }
.brv-trust__inner{
  display:flex; flex-wrap:wrap;
  align-items:center; justify-content:space-between;
  gap:28px;
  padding-block:34px;
}
.brv-trust__marks{
  display:flex; flex-wrap:wrap; align-items:center; gap:26px;
}
.brv-trust__mark{
  font-family:var(--font-head);
  font-weight:600; font-size:.9rem;
  color:var(--muted);
  display:inline-flex; align-items:center; gap:.5em;
  letter-spacing:.04em;
}
.brv-trust__mark i{ color:var(--accent2); }
.brv-trust__rating{
  display:flex; align-items:center; gap:12px;
  font-family:var(--font-head); font-size:.9rem;
}
.brv-trust__stars{ color:var(--accent); letter-spacing:.12em; }
.brv-trust__rating strong{ color:var(--text); }
.brv-trust__rating span{ color:var(--muted); }

/* ==================================================================
   STATS — row of big numbers
   ================================================================== */
.brv-stats__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:36px 24px;
}
.brv-stat{ border-top:1px solid var(--hair); padding-top:20px; }
.brv-stat__num{
  font-family:var(--font-head);
  font-weight:600;
  font-size:clamp(2.2rem,1.4rem + 3vw,3rem);
  color:var(--text);
  line-height:1;
  margin-bottom:10px;
}
.brv-stat__num span{ color:var(--accent); }
.brv-stat__label{
  color:var(--muted);
  font-size:.92rem;
  margin:0;
}

/* ==================================================================
   RESOURCES — featured guide + short list, file type & size
   ================================================================== */
.brv-res__featured{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:clamp(24px,4vw,38px);
  margin-bottom:24px;
}
.brv-res__tag{
  font-family:var(--font-head);
  font-size:.72rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--accent); margin-bottom:14px;
}
.brv-res__ftitle{ font-size:1.4rem; margin-bottom:.4em; }
.brv-res__fdesc{ color:var(--muted); margin-bottom:22px; }
.brv-res__meta{
  display:flex; flex-wrap:wrap; gap:14px; align-items:center;
  font-family:var(--font-head); font-size:.82rem;
  color:var(--muted);
}
.brv-res__file{
  display:inline-flex; align-items:center; gap:.5em;
  border:1px solid var(--hair); border-radius:var(--radius);
  padding:.4em .8em; color:var(--accent);
}
.brv-res__list{ display:flex; flex-direction:column; }
.brv-res__item{
  display:flex; align-items:center; gap:18px;
  padding:18px 4px;
  border-bottom:1px solid var(--line);
  transition:padding-left .25s ease;
}
.brv-res__item:hover{ padding-left:12px; }
.brv-res__icon{
  flex:none; width:40px; height:40px;
  display:grid; place-items:center;
  border:1px solid var(--hair); border-radius:var(--radius);
  color:var(--accent);
}
.brv-res__body{ flex:1; min-width:0; }
.brv-res__name{ font-family:var(--font-head); font-weight:600; }
.brv-res__spec{ color:var(--muted); font-size:.82rem; }

/* ==================================================================
   BLOG FEED — notebook entries with page numbers
   ================================================================== */
.brv-blog__list{ display:flex; flex-direction:column; }
.brv-blog__item{
  display:flex; gap:24px;
  padding-block:30px;
  border-top:1px solid var(--line);
}
.brv-blog__item:last-child{ border-bottom:1px solid var(--line); }
.brv-blog__page{
  flex:none;
  font-family:var(--font-head);
  font-weight:600;
  font-size:1.1rem;
  color:var(--accent2);
  padding-top:4px;
  min-width:52px;
}
.brv-blog__page::before{ content:"№ "; color:var(--muted); font-size:.8rem; }
.brv-blog__body{ min-width:0; }
.brv-blog__date{
  font-family:var(--font-head);
  font-size:.74rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); margin-bottom:8px;
}
.brv-blog__title{ font-size:1.25rem; margin-bottom:.35em; }
.brv-blog__title a:hover{ color:var(--accent); }
.brv-blog__excerpt{ color:var(--muted); margin:0; }

/* ==================================================================
   SERVICES — alternating rows
   ================================================================== */
.brv-srow{
  display:grid;
  grid-template-columns:1fr;
  gap:26px;
  align-items:center;
  padding-block:clamp(30px,5vw,52px);
  border-top:1px solid var(--line);
}
.brv-srow:last-child{ border-bottom:1px solid var(--line); }
.brv-srow__media{
  border-radius:var(--radius);
  overflow:hidden;
  aspect-ratio:4/3;
}
.brv-srow__media img{ width:100%; height:100%; object-fit:cover; }
.brv-srow__num{
  font-family:var(--font-head);
  color:var(--accent); font-size:.8rem; letter-spacing:.2em;
  margin-bottom:12px;
}
.brv-srow__title{ font-size:1.4rem; margin-bottom:.4em; }
.brv-srow__text{ color:var(--muted); margin-bottom:16px; }
.brv-srow__link{
  font-family:var(--font-head); font-weight:600;
  color:var(--accent); display:inline-flex; gap:.5em; align-items:center;
}
.brv-srow__link:hover{ gap:.85em; }

@media(min-width:620px){
  .brv-srow{ grid-template-columns:1fr 1fr; gap:38px; }
  .brv-srow:nth-child(even) .brv-srow__media{ order:2; }
}

/* ==================================================================
   TEAM — person cards with portraits
   ================================================================== */
.brv-team__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:28px;
}
.brv-member__photo{
  aspect-ratio:3/4;
  border-radius:var(--radius);
  overflow:hidden;
  margin-bottom:16px;
  border:1px solid var(--line);
}
.brv-member__photo img{ width:100%; height:100%; object-fit:cover; }
.brv-member__name{ font-size:1.1rem; margin-bottom:2px; }
.brv-member__role{ color:var(--accent); font-size:.85rem; margin-bottom:10px;
  font-family:var(--font-head); }
.brv-member__bio{ color:var(--muted); font-size:.9rem; margin:0; }

/* ==================================================================
   TESTIMONIALS — 3-up quote cards (Swiper)
   ================================================================== */
.brv-quotes .glider-v7n{ padding-bottom:52px; }
.brv-quote-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:30px;
  height:100%;
  display:flex; flex-direction:column; gap:16px;
}
.brv-quote-card__stars{ color:var(--accent); letter-spacing:.14em; font-size:.9rem; }
.brv-quote-card__text{
  font-family:var(--font-head);
  font-weight:500;
  font-size:1.08rem;
  line-height:1.6;
  color:var(--text);
  margin:0;
}
.brv-quote-card__by{ margin-top:auto; display:flex; flex-direction:column; }
.brv-quote-card__name{ font-family:var(--font-head); font-weight:600; }
.brv-quote-card__meta{ color:var(--muted); font-size:.82rem; }

/* ==================================================================
   QUOTE FEATURE — quote in heading font + attribution rule
   ================================================================== */
.brv-quote{ text-align:center; }
.brv-quote__mark{
  font-family:var(--font-head);
  font-size:3rem; color:var(--accent2); line-height:.5; margin-bottom:10px;
}
.brv-quote__text{
  font-family:var(--font-head);
  font-weight:500;
  font-size:clamp(1.35rem,1rem + 2vw,1.9rem);
  line-height:1.4;
  color:var(--text);
  max-width:24ch;
  margin:0 auto 26px;
}
.brv-quote__rule{ width:64px; height:1px; background:var(--hair); margin:0 auto 16px; }
.brv-quote__by{ font-family:var(--font-head); color:var(--muted); font-size:.9rem; }
.brv-quote__by strong{ color:var(--text); display:block; }

/* ==================================================================
   WHY US — three arguments with paragraphs
   ================================================================== */
.brv-why__grid{ display:grid; grid-template-columns:1fr; gap:8px; }
.brv-why__item{
  padding-block:28px;
  border-top:1px solid var(--line);
  display:grid; gap:16px;
}
.brv-why__item:last-child{ border-bottom:1px solid var(--line); }
.brv-why__no{
  font-family:var(--font-head);
  font-size:.8rem; letter-spacing:.2em; color:var(--accent);
}
.brv-why__title{ font-size:1.3rem; margin:0 0 .3em; }
.brv-why__text{ color:var(--muted); margin:0; }
@media(min-width:620px){
  .brv-why__item{ grid-template-columns:170px 1fr; gap:30px; }
}

/* ==================================================================
   TIMELINE — year markers with cards
   ================================================================== */
.brv-timeline{ position:relative; }
.brv-tl__item{
  display:grid; grid-template-columns:1fr; gap:14px;
  padding-left:28px; position:relative;
  padding-bottom:40px;
}
.brv-tl__item::before{
  content:""; position:absolute; left:5px; top:8px; bottom:-8px;
  width:1px; background:var(--line);
}
.brv-tl__item:last-child::before{ display:none; }
.brv-tl__item::after{
  content:""; position:absolute; left:0; top:6px;
  width:11px; height:11px; border-radius:50%;
  background:var(--accent);
}
.brv-tl__year{
  font-family:var(--font-head); font-weight:600;
  color:var(--accent); font-size:1.1rem;
}
.brv-tl__card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:22px 24px;
}
.brv-tl__ctitle{ font-size:1.15rem; margin-bottom:.3em; }
.brv-tl__ctext{ color:var(--muted); margin:0; }

/* ==================================================================
   METHODOLOGY — numbered phases with rules between
   ================================================================== */
.brv-method__item{
  display:grid; grid-template-columns:1fr; gap:14px;
  padding-block:34px;
  border-top:1px solid var(--hair);
}
.brv-method__item:last-child{ border-bottom:1px solid var(--hair); }
.brv-method__no{
  font-family:var(--font-head);
  font-weight:600;
  font-size:clamp(2rem,1.4rem + 2vw,2.6rem);
  color:var(--accent2);
  line-height:1;
}
.brv-method__title{ font-size:1.3rem; margin:0 0 .35em; }
.brv-method__text{ color:var(--muted); margin:0; }
@media(min-width:620px){
  .brv-method__item{ grid-template-columns:120px 1fr; gap:34px; align-items:start; }
}

/* ==================================================================
   PRICING — quote-based 'from X' teaser
   ================================================================== */
.brv-pricing{
  text-align:center;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:
    radial-gradient(120% 100% at 50% 0%, rgba(138,111,131,.22), transparent 55%),
    var(--surface);
  padding:clamp(34px,6vw,60px) clamp(24px,5vw,48px);
}
.brv-pricing__label{
  font-family:var(--font-head);
  font-size:.74rem; letter-spacing:.24em; text-transform:uppercase;
  color:var(--muted); margin-bottom:14px;
}
.brv-pricing__from{ color:var(--muted); font-size:.9rem; }
.brv-pricing__amount{
  font-family:var(--font-head);
  font-weight:600;
  font-size:clamp(2.6rem,1.8rem + 4vw,4rem);
  color:var(--text); line-height:1; margin:6px 0 4px;
}
.brv-pricing__amount span{ color:var(--accent); }
.brv-pricing__note{ color:var(--muted); max-width:46ch; margin:14px auto 26px; }

/* ==================================================================
   ACCORDION (services + FAQ) — collapsed by default
   ================================================================== */
.brv-acc{ display:flex; flex-direction:column; }
.brv-acc__item{
  border-bottom:1px solid var(--line);
}
.brv-acc__item:first-child{ border-top:1px solid var(--line); }
.brv-acc__head{
  width:100%;
  display:flex; align-items:center; justify-content:space-between;
  gap:20px;
  background:transparent; border:0; cursor:pointer;
  color:var(--text);
  font-family:var(--font-head); font-weight:600; font-size:1.1rem;
  text-align:left;
  padding:24px 4px;
  min-height:44px;
}
.brv-acc__head .brv-acc__icon{
  flex:none; width:28px; height:28px;
  display:grid; place-items:center;
  border:1px solid var(--hair); border-radius:50%;
  color:var(--accent);
  transition:transform .3s ease, background .3s ease, color .3s ease;
}
.brv-acc__item.is-open .brv-acc__icon{
  transform:rotate(45deg);
  background:var(--accent); color:var(--bg); border-color:var(--accent);
}
.brv-acc__body{
  max-height:0;
  overflow:hidden;
  transition:max-height .35s ease;
}
.brv-acc__item.is-open .brv-acc__body{ max-height:600px; }
.brv-acc__inner{
  padding:0 4px 26px;
  color:var(--muted);
}

/* ==================================================================
   CTA STRIP — band / card / split
   ================================================================== */
.brv-cta--band{
  background:
    radial-gradient(120% 140% at 50% 0%, rgba(217,154,168,.16), transparent 60%),
    var(--surface);
  border-block:1px solid var(--line);
  text-align:center;
}
.brv-cta--band .brv-cta__reassure{
  color:var(--accent); font-family:var(--font-head);
  font-size:.78rem; letter-spacing:.2em; text-transform:uppercase;
  margin-bottom:16px;
}
.brv-cta__title{
  font-size:clamp(1.7rem,1.2rem + 2.4vw,2.6rem);
  margin:0 0 .4em;
}
.brv-cta__text{ color:var(--muted); max-width:var(--measure); margin:0 auto 28px; }
.brv-cta__actions{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }

.brv-cta--card{
  text-align:center;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--surface);
  padding:clamp(34px,6vw,60px);
}
.brv-cta--card .brv-cta__mark{
  width:52px; height:1px; background:var(--hair); margin:0 auto 22px;
}

.brv-cta--split{
  display:grid; grid-template-columns:1fr; gap:30px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--surface);
  padding:clamp(30px,5vw,48px);
}
.brv-cta--split .brv-cta__actions{ justify-content:flex-start; }
.brv-cta__contact{ display:flex; flex-direction:column; gap:12px; }
.brv-cta__contact a{
  display:flex; align-items:center; gap:12px;
  color:var(--text); font-family:var(--font-head);
}
.brv-cta__contact i{ color:var(--accent); width:20px; text-align:center; }
.brv-cta__contact a:hover{ color:var(--accent); }
@media(min-width:640px){
  .brv-cta--split{ grid-template-columns:1.3fr 1fr; gap:44px; }
}

/* ==================================================================
   CONTACT FORM — reassurance left, form right
   ================================================================== */
.brv-contact__grid{ display:grid; grid-template-columns:1fr; gap:44px; }
@media(min-width:760px){
  .brv-contact__grid{ grid-template-columns:1fr 1.1fr; gap:56px; }
}
.brv-contact__title{ font-size:1.5rem; margin-bottom:.5em; }
.brv-contact__text{ color:var(--muted); }
.brv-contact__block{
  margin-top:30px;
  display:flex; flex-direction:column; gap:16px;
}
.brv-contact__row{ display:flex; gap:14px; align-items:flex-start; }
.brv-contact__row i{ color:var(--accent); margin-top:5px; width:20px; text-align:center; }
.brv-contact__row a:hover{ color:var(--accent); }
.brv-contact__row span,
.brv-contact__row a{ color:var(--text); }

/* form */
.brv-form{ display:flex; flex-direction:column; gap:20px; }
.brv-field{ display:flex; flex-direction:column; gap:8px; }
.brv-field label{
  font-family:var(--font-head); font-weight:500; font-size:.86rem;
  color:var(--muted);
  letter-spacing:.04em;
}
.brv-input,
.brv-textarea{
  font-family:var(--font-body);
  font-size:1rem;
  color:var(--text);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:.85em 1em;
  width:100%;
  transition:border-color .25s ease, background .25s ease;
}
.brv-input:focus,
.brv-textarea:focus{
  outline:none;
  border-color:var(--accent);
  background:#341f2f;
}
.brv-textarea{ min-height:150px; resize:vertical; }
.brv-form__note{ color:var(--muted); font-size:.8rem; margin:0; }

/* ==================================================================
   LEGAL pages
   ================================================================== */
.brv-legal__hero{
  padding-block:clamp(120px,15vw,170px) clamp(40px,5vw,60px);
  border-bottom:1px solid var(--line);
}
.brv-legal__kicker{
  font-family:var(--font-head);
  font-size:.74rem; letter-spacing:.24em; text-transform:uppercase;
  color:var(--accent); margin-bottom:14px;
}
.brv-legal__title{ font-size:clamp(1.9rem,1.3rem + 3vw,2.7rem); margin:0; }
.brv-legal__updated{ color:var(--muted); font-size:.86rem; margin-top:14px; }

.brv-legal__body{ max-width:var(--measure); }
.brv-legal__body h2{
  font-size:1.35rem;
  margin:2em 0 .6em;
  padding-top:1em;
  border-top:1px solid var(--line);
}
.brv-legal__body h2:first-child{ border-top:0; padding-top:0; margin-top:0; }
.brv-legal__body h3{ font-size:1.08rem; margin:1.6em 0 .4em; color:var(--accent); }
.brv-legal__body p,
.brv-legal__body li{ color:var(--muted); }
.brv-legal__body a{ color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.brv-legal__body ul{ padding-left:1.2em; }
.brv-legal__body li{ margin-bottom:.5em; }

/* ==================================================================
   FOOTER — minimal centered with hairline divider + legal block
   ================================================================== */
.brv-foot{
  border-top:1px solid var(--line);
  padding-block:clamp(56px,7vw,80px);
  text-align:center;
}
.brv-foot__inner{ display:flex; flex-direction:column; align-items:center; gap:22px; }
.brv-foot__blurb{ color:var(--muted); max-width:40ch; margin:0; }
.brv-foot__nav{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:22px;
}
.brv-foot__nav a{
  font-family:var(--font-head); font-weight:500; font-size:.92rem;
  color:var(--text);
}
.brv-foot__nav a:hover{ color:var(--accent); }
.brv-foot__contact{
  display:flex; flex-wrap:wrap; justify-content:center; gap:8px 22px;
  color:var(--muted); font-size:.9rem;
}
.brv-foot__contact a:hover{ color:var(--accent); }
.brv-foot__divider{
  width:100%; max-width:120px; height:1px;
  background:var(--hair);
  margin:6px auto;
}
.brv-foot__legal{
  display:flex; flex-wrap:wrap; justify-content:center; gap:8px 18px;
  font-size:.82rem;
}
.brv-foot__legal a{ color:var(--muted); }
.brv-foot__legal a:hover{ color:var(--accent); }
.brv-foot__reg{
  color:var(--muted); font-size:.78rem; line-height:1.7;
  max-width:56ch; margin:0;
}
.brv-foot__copy{ color:var(--muted); font-size:.82rem; margin:0; }

/* ==================================================================
   SWIPER
   ================================================================== */
.glider-v7n{ width:100%; }
.glider-v7n .swiper-slide{ height:auto; }
.swiper-pagination{ position:static; margin-top:24px; }
.swiper-pagination-bullet{
  background:var(--muted); opacity:.5; width:8px; height:8px;
}
.swiper-pagination-bullet-active{ background:var(--accent); opacity:1; width:22px; border-radius:4px; }
.swiper-button-prev,
.swiper-button-next{
  color:var(--accent);
  width:40px; height:40px;
}
.swiper-button-prev::after,
.swiper-button-next::after{ font-size:1.1rem; }

/* ==================================================================
   MODAL (scroll-safe)
   ================================================================== */
.site-modal,
.dialog-hv1{
  position:fixed; inset:0;
  z-index:120;
  display:none;
  align-items:center; justify-content:center;
  padding:24px;
  background:rgba(20,12,18,.72);
  backdrop-filter:blur(3px);
}
.site-modal.is-open,
.dialog-hv1.is-open{ display:flex; }
.dialog-hv1__panel,
.site-modal__panel{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  max-width:520px; width:100%;
  padding:clamp(28px,5vw,44px);
  position:relative;
  max-height:85vh; overflow:auto;
}
.dialog-hv1__close{
  position:absolute; top:14px; right:14px;
  width:40px; height:40px;
  background:transparent; border:1px solid var(--line); border-radius:var(--radius);
  color:var(--text); font-size:1.4rem; cursor:pointer;
}

/* ==================================================================
   AOS baseline safety (in case JS blocked)
   ================================================================== */
@media(prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms!important; transition-duration:.001ms!important; scroll-behavior:auto!important; }
  [data-aos]{ opacity:1!important; transform:none!important; }
}

/* utility */
.brv-center{ text-align:center; }
.brv-mt{ margin-top:30px; }


/* --- cookie consent (per-site) --- */
.privacy-note-f9e-overlay{position:fixed;inset:0;opacity:0;visibility:hidden;transition:.25s;z-index:9998;}
.privacy-note-f9e-overlay.is-open{opacity:1;visibility:visible;}
.privacy-note-f9e-panel{position:fixed;background:var(--site-surface,#fff);color:var(--site-text,#1a1a1a);
  box-shadow:0 20px 60px rgba(0,0,0,.28);padding:24px;opacity:0;visibility:hidden;transition:.25s;z-index:9999;}
.privacy-note-f9e-panel.is-open{opacity:1;visibility:visible;}
.privacy-note-f9e-panel h3{margin:0 0 8px;font-size:1.2rem;}
.privacy-note-f9e-panel>p{margin:0 0 16px;color:var(--site-muted,#666);font-size:.95rem;}
.privacy-note-f9e-cat{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid rgba(128,128,128,.2);}
.privacy-note-f9e-cat h4{margin:0 0 2px;font-size:.98rem;}
.privacy-note-f9e-cat p{margin:0;color:var(--site-muted,#777);font-size:.85rem;}
.privacy-note-f9e-switch{position:relative;flex:0 0 auto;width:44px;height:24px;}
.privacy-note-f9e-switch input{opacity:0;width:0;height:0;position:absolute;}
.privacy-note-f9e-switch span{position:absolute;inset:0;background:#c9c9c9;border-radius:999px;transition:.2s;cursor:pointer;}
.privacy-note-f9e-switch span::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;}
.privacy-note-f9e-switch input:checked+span{background:var(--site-accent,#2b7);}
.privacy-note-f9e-switch input:checked+span::before{transform:translateX(20px);}
.privacy-note-f9e-switch input:disabled+span{opacity:.6;cursor:not-allowed;}
.privacy-note-f9e-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.privacy-note-f9e-actions button{flex:1;min-width:140px;padding:11px 16px;border:none;border-radius:10px;font:inherit;font-weight:600;cursor:pointer;}
.privacy-note-f9e-actions #privacy-note-f9e-all{background:var(--site-accent,#2b7);color:#fff;}
.privacy-note-f9e-actions #privacy-note-f9e-save{background:transparent;color:var(--site-text,#222);border:1px solid rgba(128,128,128,.4);}
.privacy-note-f9e-links{display:flex;gap:16px;margin-top:14px;font-size:.85rem;}
.privacy-note-f9e-links a{color:var(--site-accent,#2b7);text-decoration:underline;}
.privacy-note-f9e-trigger{position:fixed;left:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:var(--site-surface,#fff);color:var(--site-accent,#2b7);box-shadow:0 6px 18px rgba(0,0,0,.2);z-index:9997;font-size:1.1rem;}

.privacy-note-f9e-overlay{background:rgba(0,0,0,.5);}
.privacy-note-f9e-panel{left:50%;bottom:24px;transform:translate(-50%,20px);width:min(560px,calc(100% - 32px));border-radius:16px;}
.privacy-note-f9e-panel.is-open{transform:translate(-50%,0);}
@media(max-width:520px){.privacy-note-f9e-actions button{min-width:100%;}}
#fab-stack-i8a{left:auto !important;right:18px !important;}
@media(max-width:520px){#fab-stack-i8a{right:12px !important;}}


/* --- safety net (deterministic) --- */
*,*::before,*::after{box-sizing:border-box;}
html,body{overflow-x:hidden;overflow-x:clip;max-width:100%;}
img,svg,video,iframe,canvas{max-width:100%;}
table{max-width:100%;}
/* simpleParallax оборачивает <img> в свой .simpleParallax — заставляем обёртку
   тянуться на всю высоту родителя, а фото внутри — cover. Проценты безопасны:
   при родителе без заданной высоты height:100% откатывается к auto (без коллапса). */
.simpleParallax{display:block;width:100%;height:100%;}
.simpleParallax img{width:100%;height:100%;object-fit:cover;}
/* Браузерный дефолт для <blockquote> и <figure> — margin: 1em 40px. Модель берёт
   эти семантические теги для отзывов и карточек с подписью, но сбросить поля
   забывает: внутри карточки в 267px текст сжимался до 131px (по 40px с каждой
   стороны) и переносился по одному слову, а между карточками зияли пустоты.
   Сбрасываем только горизонтальные поля — вертикальные обычно задуманы. */
blockquote, figure { margin-left: 0; margin-right: 0; }
/* Вложенные фигуры внутри сеток тоже не должны добавлять отступ сбоку. */
figure > blockquote, figure > figcaption { margin-left: 0; margin-right: 0; }
/* Если AOS не поднялся (CDN недоступен, блокировщик) — main.js вешает .no-aos.
   Без этого элементы с data-aos остались бы с opacity:0 из aos.css, то есть
   половина страницы была бы невидимой. */
html.no-aos [data-aos]{opacity:1 !important;transform:none !important;}
/* Пользователи с prefers-reduced-motion получают контент сразу, без анимаций. */
@media(prefers-reduced-motion:reduce){
  [data-aos]{opacity:1 !important;transform:none !important;transition:none !important;}
}
