/* Brawnd Authority v2
   One deliberate visual identity: dark, editorial, structural and commercially focused.
   Loaded last so the existing hero/floater mechanics can remain intact while the site
   around them is rebuilt. */

:root,
html[data-theme],
body[data-theme],
body.theme-light,
body.is-light {
  --bg: #080808 !important;
  --panel: #0c0c0d !important;
  --panel2: #111113 !important;
  --text: #f3efe9 !important;
  --soft: #c8c1bb !important;
  --muted: #837d81 !important;
  --wine: #4e0e23 !important;
  --wine2: #68162f !important;
  --line: rgba(243,239,233,.11) !important;
  --line-strong: rgba(243,239,233,.19) !important;
  --shell: min(91vw, 1380px) !important;
  color-scheme: dark;
}

html,
body,
.brawnd-wordpress {
  background: var(--bg) !important;
  color: var(--text) !important;
}

.theme-toggle,
.brand-switch,
.brand-switch-mount,
[data-theme-toggle],
[data-brand-switch-mount] {
  display: none !important;
}

body { overflow-x: hidden; }
main { position: relative; }

.site-header {
  background: rgba(8,8,8,.88) !important;
  border-bottom: 1px solid var(--line) !important;
  backdrop-filter: blur(18px) saturate(125%);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
}

.nav { height: 82px !important; gap: 28px; }
.nav-links { gap: 30px !important; }
.nav-links a {
  font-family: var(--body);
  font-size: 12px !important;
  font-weight: 580;
  color: #aaa4a0 !important;
  letter-spacing: -.01em;
}
.nav-links a:hover { color: var(--text) !important; }
.nav-cta {
  min-height: 42px;
  padding: 0 18px !important;
  display: inline-flex;
  align-items: center;
  border-radius: 999px !important;
  background: var(--text) !important;
  color: #090909 !important;
  border-color: var(--text) !important;
  font-weight: 680 !important;
}
.nav-cta:hover { transform: translateY(-1px) !important; background: #fff !important; }

.b2-hero {
  min-height: 100svh !important;
  padding: 148px 0 86px !important;
  align-items: stretch !important;
}
.b2-hero::before {
  width: min(760px, 50vw) !important;
  height: min(760px, 50vw) !important;
  right: -20vw !important;
  top: -16vw !important;
  background: radial-gradient(circle, rgba(78,14,35,.30), rgba(78,14,35,.08) 44%, transparent 72%) !important;
  filter: blur(28px) !important;
}
.b2-hero .hero-grid {
  min-height: calc(100svh - 234px);
  grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr) !important;
  gap: clamp(62px, 7vw, 116px) !important;
  align-items: center !important;
}
.b2-hero .hero-copy { max-width: 850px; }
.b2-hero .hero-kicker,
.b2-kicker,
.studio-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--body);
  font-size: 9px;
  font-weight: 650;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--muted);
}
.b2-hero .hero-kicker::before,
.b2-kicker::before,
.studio-kicker::before {
  content: '';
  width: 22px;
  height: 1px;
  background: var(--wine2);
}
.b2-hero .hero-headline {
  margin-top: 24px !important;
  max-width: 900px;
  font-size: clamp(62px, 7vw, 108px) !important;
  line-height: .9 !important;
  letter-spacing: -.045em !important;
}
.b2-hero .hero-static { display: block; }
.b2-hero .hero-dynamic-slot { display: block; min-height: 1.04em; }
.b2-hero .hero-copy > p {
  max-width: 700px !important;
  margin-top: 38px !important;
  font-size: clamp(16px, 1.08vw, 19px) !important;
  line-height: 1.72 !important;
  color: #bcb5af !important;
}
.b2-hero .hero-actions { margin-top: 38px !important; gap: 26px !important; }
.b2-hero .btn-primary,
.b2-contact .btn-primary,
.studio-cta .btn-primary {
  background: var(--wine) !important;
  box-shadow: 0 18px 55px rgba(78,14,35,.22) !important;
}
.b2-hero .hero-visual { height: 520px !important; }
.b2-hero .hero-visual > .brawnd-block-stage { scale: .94 !important; }
.b2-hero-notes {
  margin-top: 48px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  display: flex;
  gap: 28px;
  flex-wrap: wrap;
}
.b2-hero-notes span {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #716c70;
}

.trust-strip.is-proof-strip {
  position: relative;
  z-index: 4;
  background: #090909 !important;
}
.trust-strip.is-proof-strip .proof-grid { z-index: 5 !important; }

.b2-section {
  position: relative;
  padding: clamp(108px, 11vw, 172px) 0;
  border-top: 1px solid var(--line);
}
.b2-section--panel { background: #0b0b0c; }
.b2-section--wine {
  background:
    radial-gradient(circle at 84% 18%, rgba(104,22,47,.18), transparent 34%),
    #0b090a;
}
.b2-section-head {
  display: grid;
  grid-template-columns: minmax(150px, .28fr) minmax(0, 1fr);
  gap: clamp(44px, 7vw, 110px);
  align-items: start;
  margin-bottom: clamp(54px, 7vw, 96px);
}
.b2-section-head h2,
.b2-statement,
.studio-hero h1 {
  font-family: var(--headline);
  font-weight: 700;
  letter-spacing: -.043em;
  text-wrap: balance;
}
.b2-section-head h2 {
  max-width: 980px;
  font-size: clamp(44px, 5.15vw, 78px);
  line-height: .98;
}
.b2-section-head p {
  max-width: 720px;
  margin-top: 25px;
  color: var(--soft);
  font-size: 16px;
  line-height: 1.76;
}

.b2-strength-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}
.b2-strength-item {
  min-height: 330px;
  padding: 36px clamp(24px, 3.2vw, 48px) 42px;
  display: flex;
  flex-direction: column;
}
.b2-strength-item + .b2-strength-item { border-left: 1px solid var(--line); }
.b2-strength-num,
.b2-service-num,
.b2-engagement-index {
  font-size: 10px;
  color: var(--wine2);
  letter-spacing: .15em;
  font-weight: 650;
}
.b2-strength-item h3 {
  margin-top: auto;
  font-family: var(--display);
  font-size: clamp(31px, 3vw, 46px);
  line-height: .98;
  letter-spacing: -.04em;
}
.b2-strength-item p {
  max-width: 35ch;
  margin-top: 16px;
  color: var(--muted);
  line-height: 1.68;
  font-size: 14px;
}

.b2-services-list { border-top: 1px solid var(--line-strong); }
.b2-service-row {
  display: grid;
  grid-template-columns: 70px minmax(220px,.72fr) minmax(0,1fr) 34px;
  gap: 28px;
  align-items: center;
  min-height: 142px;
  padding: 28px 4px;
  border-bottom: 1px solid var(--line);
  transition: padding .35s var(--ease-out), background .35s ease;
}
.b2-service-row:hover { padding-inline: 18px; background: rgba(255,255,255,.018); }
.b2-service-row h3 {
  font-family: var(--display);
  font-size: clamp(27px, 2.7vw, 42px);
  letter-spacing: -.04em;
  line-height: 1;
}
.b2-service-row p { max-width: 600px; color: var(--muted); line-height: 1.7; font-size: 14px; }
.b2-service-arrow { font-size: 22px; color: var(--soft); transition: transform .3s ease; }
.b2-service-row:hover .b2-service-arrow { transform: translate(5px,-3px); }
.b2-inline-cta {
  margin-top: 34px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 650;
  color: var(--text);
}
.b2-inline-cta span { color: var(--wine2); }

.b2-engagements {
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  gap: 18px;
}
.b2-engagement {
  position: relative;
  min-height: 390px;
  padding: clamp(30px,4vw,56px);
  border: 1px solid var(--line);
  border-radius: 30px;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(255,255,255,.022), rgba(78,14,35,.025));
}
.b2-engagement:nth-child(3) { grid-column: 1 / -1; min-height: 300px; }
.b2-engagement::after {
  content: '';
  position: absolute;
  width: 300px;
  aspect-ratio: 1;
  right: -170px;
  bottom: -170px;
  border: 1px solid rgba(104,22,47,.25);
  border-radius: 50%;
}
.b2-engagement h3 {
  max-width: 620px;
  margin-top: clamp(90px, 12vw, 160px);
  font-family: var(--headline);
  font-size: clamp(38px, 4.3vw, 66px);
  line-height: .98;
  letter-spacing: -.04em;
}
.b2-engagement:nth-child(2) h3 { font-size: clamp(33px,3.3vw,50px); }
.b2-engagement:nth-child(3) h3 { margin-top: 72px; }
.b2-engagement p { max-width: 580px; margin-top: 20px; color: var(--muted); line-height: 1.7; }
.b2-engagement-tag {
  display: inline-flex;
  padding: 8px 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .13em;
  color: var(--soft);
}

.b2-process-board { position: relative; padding: 22px 0 8px; overflow: hidden; }
.b2-process-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  min-height: 355px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background-image: linear-gradient(to right, transparent calc(100% - 1px), rgba(243,239,233,.075) 1px);
  background-size: calc(100% / 12) 100%;
}
.b2-process-bar {
  position: absolute;
  min-height: 58px;
  padding: 0 22px;
  display: flex;
  align-items: center;
  background: var(--text);
  color: #080808;
  font-family: var(--display);
  font-weight: 700;
  letter-spacing: -.025em;
  font-size: 17px;
}
.b2-process-bar--1 { left: 0; top: 30px; width: 24%; }
.b2-process-bar--2 { left: 17%; top: 104px; width: 35%; }
.b2-process-bar--3 { left: 39%; top: 178px; width: 45%; background: var(--wine2); color: #fff; }
.b2-process-bar--4 { left: 69%; top: 252px; width: 31%; }
.b2-process-scale {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  margin-top: 14px;
  color: #5f5a5d;
  font-size: 10px;
  font-weight: 650;
  text-align: center;
}
.b2-process-summary {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 34px;
  margin-top: 58px;
}
.b2-process-summary h3 { font-family: var(--display); font-size: 26px; letter-spacing: -.035em; }
.b2-process-summary p { margin-top: 14px; color: var(--muted); line-height: 1.7; font-size: 13px; }

.b2-philosophy {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(50px, 8vw, 120px);
  align-items: start;
}
.b2-statement {
  max-width: 880px;
  font-size: clamp(48px, 6vw, 90px);
  line-height: .94;
}
.b2-philosophy-copy { padding-top: 12px; }
.b2-philosophy-copy p { color: var(--soft); font-size: 16px; line-height: 1.78; }
.b2-philosophy-copy p + p { margin-top: 20px; }
.b2-principles { margin-top: 52px; border-top: 1px solid var(--line); }
.b2-principle {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 18px;
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
}
.b2-principle span { color: var(--wine2); font-size: 10px; }
.b2-principle strong { font-size: 13px; font-weight: 600; color: var(--soft); }

.b2-faq { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(54px,8vw,120px); }
.b2-faq h2 { margin-top: 22px; font-family: var(--headline); font-size: clamp(44px,5vw,72px); line-height: .98; letter-spacing: -.04em; }
.b2-faq details { border-top: 1px solid var(--line); padding: 24px 0; }
.b2-faq details:last-child { border-bottom: 1px solid var(--line); }
.b2-faq summary { cursor: pointer; display: flex; justify-content: space-between; gap: 24px; list-style: none; font-size: 16px; font-weight: 580; }
.b2-faq summary::-webkit-details-marker { display: none; }
.b2-faq summary span { color: var(--wine2); }
.b2-faq details p { max-width: 700px; padding: 16px 48px 0 0; color: var(--muted); line-height: 1.72; }

.b2-contact {
  position: relative;
  padding: clamp(110px, 11vw, 170px) 0;
  border-top: 1px solid var(--line);
  background:
    radial-gradient(circle at 8% 15%, rgba(104,22,47,.20), transparent 28%),
    #090809;
}
.b2-contact .contact-grid { align-items: start; }
.b2-contact h2 { max-width: 680px; font-family: var(--headline); font-size: clamp(48px,5.3vw,78px); line-height: .96; letter-spacing: -.04em; }
.b2-contact p { max-width: 620px; margin-top: 24px; color: #aaa39e; line-height: 1.75; }
.b2-contact .contact-card { border-color: var(--line-strong); background: rgba(255,255,255,.018); }
.b2-contact input,
.b2-contact textarea { background: #0c0c0d !important; }

.studio-page { min-height: 100vh; }
.studio-hero {
  position: relative;
  padding: 176px 0 116px;
  border-bottom: 1px solid var(--line);
  overflow: hidden;
}
.studio-hero::after {
  content: '';
  position: absolute;
  right: -15vw;
  top: -20vw;
  width: min(700px,55vw);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(104,22,47,.19), transparent 68%);
  pointer-events: none;
}
.studio-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .28fr 1fr; gap: clamp(46px,8vw,120px); }
.studio-hero h1 { max-width: 1050px; font-size: clamp(58px,7.4vw,112px); line-height: .91; }
.studio-hero-lead { max-width: 760px; margin-top: 34px; color: var(--soft); font-size: clamp(17px,1.35vw,20px); line-height: 1.72; }
.studio-section { padding: clamp(96px,10vw,154px) 0; border-bottom: 1px solid var(--line); }
.studio-section-head { display:grid; grid-template-columns:.28fr 1fr; gap:clamp(46px,8vw,120px); margin-bottom:64px; }
.studio-section-head h2 { max-width:900px; font-family:var(--headline); font-size:clamp(42px,4.8vw,72px); line-height:.98; letter-spacing:-.04em; }
.studio-section-head p { max-width:680px; margin-top:22px; color:var(--muted); line-height:1.75; }
.studio-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.studio-block { min-height:320px; padding:40px; background:var(--bg); }
.studio-block .num { color:var(--wine2); font-size:10px; letter-spacing:.15em; }
.studio-block h3 { margin-top:110px; font-family:var(--display); font-size:clamp(28px,3vw,44px); line-height:1; letter-spacing:-.04em; }
.studio-block p { margin-top:17px; max-width:48ch; color:var(--muted); line-height:1.72; }
.studio-block ul { margin-top:24px; padding:0; list-style:none; border-top:1px solid var(--line); }
.studio-block li { padding:11px 0; border-bottom:1px solid var(--line); color:var(--soft); font-size:12px; }
.studio-process { border-top:1px solid var(--line-strong); }
.studio-process-row { display:grid; grid-template-columns:70px .6fr 1fr; gap:30px; padding:32px 0; border-bottom:1px solid var(--line); }
.studio-process-row span { color:var(--wine2); font-size:10px; letter-spacing:.15em; }
.studio-process-row strong { font-family:var(--display); font-size:30px; letter-spacing:-.035em; }
.studio-process-row p { color:var(--muted); line-height:1.72; }
.studio-cta { padding:100px 0 126px; background:#0b090a; }
.studio-cta-inner { display:flex; align-items:flex-end; justify-content:space-between; gap:50px; }
.studio-cta h2 { max-width:800px; font-family:var(--headline); font-size:clamp(46px,5.5vw,82px); line-height:.95; letter-spacing:-.04em; }

.site-footer { background:#070707 !important; border-top:1px solid var(--line) !important; }
.footer-top { padding-top:66px; }
.footer-top p { max-width:360px; color:#847e81 !important; }
.footer-nav-label { color:#5f5a5d !important; }
.footer-links a,
.footer-legal-links a { color:#aaa39e !important; }
.footer-links a:hover,
.footer-legal-links a:hover { color:#fff !important; }
.footer-bottom { color:#645f62 !important; }

@media (max-width: 980px) {
  .nav-links { gap: 20px !important; }
  .nav-links a { font-size: 11px !important; }
  .b2-hero .hero-grid { grid-template-columns: 1.05fr .95fr !important; gap: 44px !important; }
  .b2-hero .hero-headline { font-size: clamp(54px,8vw,82px) !important; }
  .b2-hero .hero-visual { height: 430px !important; }
  .b2-section-head,
  .studio-section-head,
  .studio-hero-grid { grid-template-columns: 150px 1fr; gap: 44px; }
  .b2-strength-item { min-height: 280px; padding:30px 24px 34px; }
  .b2-service-row { grid-template-columns:52px .8fr 1fr 28px; gap:18px; }
  .b2-process-summary { grid-template-columns:repeat(2,1fr); }
  .b2-philosophy { grid-template-columns:1fr; }
  .b2-philosophy-copy { max-width:760px; }
  .b2-faq { grid-template-columns:1fr; }
  .studio-block { padding:32px; }
}

@media (max-width: 760px) {
  .nav { height:72px !important; }
  .site-header .nav-links { display:none !important; }
  .menu-btn { display:flex !important; align-items:center; justify-content:center; color:var(--text); }
  .mobile-nav { background:#090909 !important; border-bottom:1px solid var(--line); }
  .mobile-nav a { color:var(--soft) !important; }
  .b2-hero { min-height:auto !important; padding:118px 0 64px !important; }
  .b2-hero .hero-grid { min-height:0; grid-template-columns:1fr !important; gap:42px !important; }
  .b2-hero .hero-headline { font-size:clamp(47px,13.4vw,68px) !important; line-height:.92 !important; }
  .b2-hero .hero-copy > p { margin-top:28px !important; font-size:15px !important; line-height:1.7 !important; }
  .b2-hero .hero-actions { margin-top:30px !important; }
  .b2-hero .hero-visual { height:300px !important; }
  .b2-hero .hero-visual > .brawnd-block-stage { scale:.78 !important; }
  .b2-hero-notes { margin-top:34px; gap:16px 22px; }
  .b2-section { padding:88px 0; }
  .b2-section-head,
  .studio-section-head,
  .studio-hero-grid { grid-template-columns:1fr; gap:25px; margin-bottom:46px; }
  .b2-section-head h2 { font-size:clamp(42px,11.5vw,58px); }
  .b2-strength-grid { grid-template-columns:1fr; }
  .b2-strength-item { min-height:220px; }
  .b2-strength-item + .b2-strength-item { border-left:0; border-top:1px solid var(--line); }
  .b2-service-row { grid-template-columns:40px 1fr 26px; gap:14px; min-height:0; padding:24px 0; }
  .b2-service-row p { grid-column:2 / -1; }
  .b2-service-row h3 { font-size:30px; }
  .b2-engagements { grid-template-columns:1fr; }
  .b2-engagement,
  .b2-engagement:nth-child(3) { grid-column:auto; min-height:310px; border-radius:24px; }
  .b2-engagement h3,
  .b2-engagement:nth-child(2) h3,
  .b2-engagement:nth-child(3) h3 { margin-top:80px; font-size:clamp(38px,10vw,52px); }
  .b2-process-grid { min-height:300px; }
  .b2-process-bar { min-height:48px; padding:0 12px; font-size:13px; }
  .b2-process-bar--1 { top:24px; width:34%; }
  .b2-process-bar--2 { left:16%; top:88px; width:48%; }
  .b2-process-bar--3 { left:34%; top:152px; width:56%; }
  .b2-process-bar--4 { left:58%; top:216px; width:42%; }
  .b2-process-scale { font-size:8px; }
  .b2-process-summary { grid-template-columns:1fr; gap:26px; margin-top:44px; }
  .b2-statement { font-size:clamp(48px,12vw,68px); }
  .b2-faq h2 { font-size:clamp(42px,11vw,58px); }
  .contact-grid { grid-template-columns:1fr !important; gap:54px !important; }
  .studio-hero { padding:132px 0 78px; }
  .studio-hero h1 { font-size:clamp(50px,13vw,72px); }
  .studio-section { padding:84px 0; }
  .studio-grid-2 { grid-template-columns:1fr; }
  .studio-block { min-height:270px; padding:28px; }
  .studio-block h3 { margin-top:80px; }
  .studio-process-row { grid-template-columns:42px 1fr; gap:16px; }
  .studio-process-row p { grid-column:2; }
  .studio-cta-inner { align-items:flex-start; flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  .b2-service-row,
  .b2-service-arrow { transition:none !important; }
}
