/* ============================================================
   Burson marketing UI kit — layout & chrome styles.
   Components themselves are styled by the design system; this file
   handles page scaffolding (header, hero, sections, footer).
   ============================================================ */

.brs-app{ height:100%; overflow-y:auto; background:var(--surface-page); scroll-behavior:smooth; }
.brs-wrap{ max-width:1240px; margin:0 auto; padding:0 32px; }
.brs-section{ padding:88px 0; }
.brs-eyebrow{ font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--brass-600); margin:0 0 16px; }
.brs-section__head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:36px; }
.brs-section__title{ font-family:var(--font-display); font-size:40px; line-height:1.12; letter-spacing:-.02em;
  color:var(--text-strong); margin:0; max-width:18ch; }
.brs-section__link{ display:inline-flex; align-items:center; gap:6px; font-weight:600; white-space:nowrap; }
.brs-section__link svg{ width:16px; height:16px; }

/* --- Header ------------------------------------------------ */
.brs-header{ position:sticky; top:0; z-index:50; background:rgba(246,242,234,.82);
  backdrop-filter:saturate(140%) blur(10px); border-bottom:1px solid transparent;
  transition:border-color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out); }
.brs-header.is-scrolled{ border-bottom-color:var(--border-subtle); background:rgba(246,242,234,.94); }
.brs-header__inner{ max-width:1240px; margin:0 auto; padding:14px 32px; display:flex; align-items:center; gap:32px; }
.brs-logo{ display:flex; align-items:center; gap:12px; text-decoration:none; }
.brs-logo__wm{ display:flex; flex-direction:column; line-height:1; }
.brs-logo__name{ font-family:var(--font-display); font-size:24px; color:var(--green-800); letter-spacing:.005em; }
.brs-logo__ltd{ font-size:8.5px; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  color:var(--brass-600); margin-top:4px; white-space:nowrap; }
.brs-nav{ display:flex; gap:28px; margin-left:8px; }
.brs-nav__link{ font-size:15px; font-weight:500; color:var(--text-body); cursor:pointer; position:relative; padding:4px 0;
  transition:color var(--duration-fast) var(--ease-out); }
.brs-nav__link:hover{ color:var(--text-strong); }
.brs-nav__link.is-active{ color:var(--green-700); }
.brs-nav__link.is-active::after{ content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px;
  background:var(--brass-500); border-radius:2px; }
.brs-header__actions{ margin-left:auto; display:flex; align-items:center; gap:20px; }
.brs-header__phone{ display:flex; align-items:center; gap:7px; font-size:14px; font-weight:500;
  color:var(--text-body); text-decoration:none; }
.brs-header__phone svg{ width:15px; height:15px; color:var(--green-600); }

/* --- Hero -------------------------------------------------- */
.brs-hero{ background:var(--green-900); color:var(--paper); position:relative; overflow:hidden; }
.brs-hero::after{ content:""; position:absolute; right:-120px; top:-80px; width:520px; height:520px;
  background:radial-gradient(circle at center, rgba(190,155,82,.16), transparent 62%); pointer-events:none; }
.brs-hero__inner{ max-width:1240px; margin:0 auto; padding:96px 32px 104px; position:relative; z-index:1;
  display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center; }
.brs-hero__copy{ align-self:center; }
.brs-hero__eyebrow{ color:var(--brass-400); }
.brs-hero h1{ font-family:var(--font-display); font-size:60px; line-height:1.16; letter-spacing:-.015em;
  color:var(--paper); margin:0 0 26px; }
.brs-hero__lead{ font-size:19px; line-height:1.6; color:var(--green-200); max-width:46ch; margin:0 0 32px; }
.brs-search{ background:var(--paper); border-radius:var(--radius-lg); box-shadow:var(--shadow-xl);
  padding:16px; display:grid; grid-template-columns:1.4fr 1fr auto; gap:12px; align-items:end; }
.brs-hero__aside{ display:flex; flex-direction:column; gap:16px; }
.brs-hero__mark{ position:relative; aspect-ratio:4/5; border-radius:var(--radius-lg); overflow:hidden;
  border:1px solid rgba(210,184,121,.35);
  background:
    repeating-linear-gradient(135deg, rgba(251,249,244,.04) 0 18px, rgba(251,249,244,0) 18px 36px),
    linear-gradient(160deg, var(--green-800), var(--green-950)); }
.brs-hero__mark-inner{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; }
.brs-hero__mark-inner img{ width:88px; height:88px; opacity:.92; }
.brs-hero__mark-cap{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--brass-400); }
.brs-hero__stat{ position:absolute; left:18px; bottom:18px; right:18px; background:rgba(18,34,25,.55);
  backdrop-filter:blur(6px); border:1px solid rgba(210,184,121,.28); border-radius:var(--radius-md); padding:14px 16px; }
.brs-hero__stat b{ font-family:var(--font-mono); font-size:22px; color:var(--paper); display:block; }
.brs-hero__stat span{ font-size:12px; color:var(--green-200); }

/* --- Trust strip ------------------------------------------- */
.brs-trust{ border-bottom:1px solid var(--border-subtle); background:var(--paper); }
.brs-trust__inner{ max-width:1240px; margin:0 auto; padding:28px 32px; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.brs-trust__item{ display:flex; flex-direction:column; gap:2px; }
.brs-trust__item b{ font-family:var(--font-mono); font-size:30px; color:var(--green-700); letter-spacing:-.02em; }
.brs-trust__item span{ font-size:13px; color:var(--text-muted); }

/* --- Services --------------------------------------------- */
.brs-services{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.brs-service{ background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:var(--radius-lg);
  padding:30px; display:flex; flex-direction:column; gap:14px;
  transition:box-shadow var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out); }
.brs-service:hover{ box-shadow:var(--shadow-md); transform:translateY(-2px); }
.brs-service__icon{ width:48px; height:48px; border-radius:var(--radius-md); background:var(--green-50);
  border:1px solid var(--green-100); display:flex; align-items:center; justify-content:center; color:var(--green-700); }
.brs-service__icon svg{ width:23px; height:23px; }
.brs-service h3{ font-family:var(--font-display); font-size:23px; margin:0; color:var(--text-strong); }
.brs-service p{ margin:0; color:var(--text-muted); font-size:15px; line-height:1.6; }
.brs-service__link{ margin-top:auto; padding-top:6px; display:inline-flex; align-items:center; gap:6px; font-weight:600; font-size:14px; white-space:nowrap; }
.brs-service__link svg{ width:15px; height:15px; }

/* --- Property grid ---------------------------------------- */
.brs-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.brs-grid--2{ grid-template-columns:repeat(2,1fr); }

/* --- Editorial split -------------------------------------- */
.brs-editorial{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.brs-editorial__media{ aspect-ratio:5/4; border-radius:var(--radius-lg); overflow:hidden;
  background:repeating-linear-gradient(135deg, rgba(42,38,32,.03) 0 16px, rgba(42,38,32,0) 16px 32px), var(--stone-200);
  display:flex; align-items:center; justify-content:center; border:1px solid var(--border-subtle); }
.brs-editorial__media img{ width:64px; height:64px; opacity:.4; }
.brs-editorial h2{ font-family:var(--font-display); font-size:38px; line-height:1.08; letter-spacing:-.02em; margin:0 0 18px; color:var(--text-strong); }
.brs-editorial p{ color:var(--text-body); font-size:16px; line-height:1.65; margin:0 0 16px; max-width:48ch; }
.brs-quote{ border-left:2px solid var(--brass-500); padding-left:20px; margin:24px 0 0;
  font-family:var(--font-display); font-size:21px; line-height:1.4; color:var(--text-strong); font-style:italic; }

/* --- CTA band --------------------------------------------- */
.brs-cta{ background:var(--green-700); color:var(--paper); border-radius:var(--radius-xl); padding:56px 56px;
  display:flex; justify-content:space-between; align-items:center; gap:40px; position:relative; overflow:hidden; }
.brs-cta::after{ content:""; position:absolute; right:-80px; bottom:-120px; width:360px; height:360px;
  background:radial-gradient(circle, rgba(190,155,82,.2), transparent 60%); }
.brs-cta__text{ position:relative; z-index:1; }
.brs-cta h2{ font-family:var(--font-display); font-size:36px; line-height:1.16; margin:0 0 14px; color:var(--paper); }
.brs-cta p{ margin:0; color:var(--green-100); font-size:17px; max-width:42ch; }
.brs-cta__actions{ position:relative; z-index:1; display:flex; gap:12px; flex:none; }

/* --- Footer ----------------------------------------------- */
.brs-footer{ background:var(--green-950); color:var(--green-200); margin-top:0; }
.brs-footer__inner{ max-width:1240px; margin:0 auto; padding:64px 32px 40px; display:grid;
  grid-template-columns:1.3fr 2fr; gap:56px; }
.brs-footer .brs-logo__name{ color:var(--paper); }
.brs-footer__blurb{ margin:18px 0 20px; font-size:14px; line-height:1.6; color:var(--green-300); max-width:34ch; }
.brs-footer__social{ display:flex; gap:6px; color:var(--green-200); }
.brs-footer__social .brs-iconbtn{ color:var(--green-200); }
.brs-footer__social .brs-iconbtn:hover{ background:rgba(255,255,255,.08); color:var(--paper); }
.brs-footer__cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.brs-footer__h{ font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--brass-400); margin-bottom:14px; }
.brs-footer__link{ display:block; font-size:14px; color:var(--green-200); padding:5px 0; cursor:pointer; }
.brs-footer__link:hover{ color:var(--paper); }
.brs-footer__legal{ max-width:1240px; margin:0 auto; padding:20px 32px; border-top:1px solid rgba(255,255,255,.08);
  display:flex; justify-content:space-between; gap:20px; font-size:12px; color:var(--green-400); }
.brs-footer__legal-links{ display:flex; gap:18px; }
.brs-footer__legal-links a{ color:var(--green-400); cursor:pointer; }
.brs-footer__legal-links a:hover{ color:var(--paper); }

/* --- Portfolio + detail ----------------------------------- */
.brs-pagehead{ background:var(--paper); border-bottom:1px solid var(--border-subtle); }
.brs-pagehead__inner{ max-width:1240px; margin:0 auto; padding:48px 32px 40px; }
.brs-breadcrumb{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--text-muted); margin-bottom:18px; }
.brs-breadcrumb a{ cursor:pointer; color:var(--text-muted); }
.brs-breadcrumb a:hover{ color:var(--text-strong); }
.brs-breadcrumb svg{ width:14px; height:14px; }
.brs-pagehead h1{ font-family:var(--font-display); font-size:46px; letter-spacing:-.02em; margin:0 0 10px; color:var(--text-strong); }
.brs-pagehead p{ margin:0; color:var(--text-muted); font-size:16px; max-width:54ch; }
.brs-filterbar{ display:flex; gap:12px; align-items:end; flex-wrap:wrap; margin-top:28px; }
.brs-filterbar .brs-field{ min-width:150px; }
.brs-results{ display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }
.brs-results__count{ font-size:14px; color:var(--text-muted); }
.brs-chips{ display:flex; gap:8px; flex-wrap:wrap; }

/* Detail */
.brs-detail{ display:grid; grid-template-columns:1.6fr .9fr; gap:40px; align-items:start; }
.brs-gallery{ display:grid; grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; gap:10px; height:440px; }
.brs-gallery__cell{ border-radius:var(--radius-md); overflow:hidden; border:1px solid var(--border-subtle);
  background:repeating-linear-gradient(135deg, rgba(42,38,32,.03) 0 14px, rgba(42,38,32,0) 14px 28px), var(--stone-200);
  display:flex; align-items:center; justify-content:center; position:relative; }
.brs-gallery__cell--main{ grid-row:1 / span 2; }
.brs-gallery__cell img{ width:46px; height:46px; opacity:.4; }
.brs-gallery__more{ position:absolute; right:10px; bottom:10px; }
.brs-detail__title{ font-family:var(--font-display); font-size:34px; line-height:1.1; margin:14px 0 6px; color:var(--text-strong); }
.brs-detail__loc{ display:flex; align-items:center; gap:6px; color:var(--text-muted); font-size:15px; margin-bottom:18px; }
.brs-detail__loc svg{ width:16px; height:16px; }
.brs-detail__specs{ display:flex; gap:28px; padding:18px 0; border-top:1px solid var(--border-subtle); border-bottom:1px solid var(--border-subtle); margin-bottom:24px; }
.brs-spec{ display:flex; align-items:center; gap:9px; font-size:15px; color:var(--text-body); white-space:nowrap; }
.brs-spec svg{ width:19px; height:19px; color:var(--green-600); }
.brs-detail__body p{ color:var(--text-body); line-height:1.7; font-size:16px; }
.brs-aside{ position:sticky; top:96px; }
.brs-aside__price{ font-family:var(--font-mono); font-size:30px; font-weight:600; color:var(--text-strong); letter-spacing:-.01em; }
.brs-aside__price small{ font-family:var(--font-sans); font-size:15px; font-weight:500; color:var(--text-muted); }
.brs-aside__row{ display:flex; align-items:center; gap:10px; padding:12px 0; border-bottom:1px solid var(--border-subtle); font-size:14px; color:var(--text-body); }
.brs-aside__row svg{ width:17px; height:17px; color:var(--green-600); }
.brs-aside__actions{ display:flex; flex-direction:column; gap:10px; margin-top:20px; }

/* Contact */
.brs-contact{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.brs-contact__form{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.brs-contact__form .brs-field--full{ grid-column:1 / -1; }
.brs-contact__info{ display:flex; flex-direction:column; gap:22px; }
.brs-contact__info-item{ display:flex; gap:14px; }
.brs-contact__info-item .ico{ width:42px; height:42px; flex:none; border-radius:var(--radius-md); background:var(--green-50);
  border:1px solid var(--green-100); display:flex; align-items:center; justify-content:center; color:var(--green-700); }
.brs-contact__info-item .ico svg{ width:20px; height:20px; }
.brs-contact__info-item h4{ margin:0 0 3px; font-family:var(--font-sans); font-size:15px; font-weight:600; color:var(--text-strong); }
.brs-contact__info-item p{ margin:0; font-size:14px; color:var(--text-muted); line-height:1.5; }
textarea.brs-input{ resize:vertical; min-height:120px; font-family:var(--font-sans); }

@media (max-width: 980px){
  .brs-hero__inner, .brs-editorial, .brs-detail, .brs-contact{ grid-template-columns:1fr; }
  .brs-services, .brs-grid, .brs-trust__inner, .brs-footer__cols{ grid-template-columns:repeat(2,1fr); }
  .brs-nav, .brs-header__phone{ display:none; }
}
