/* ==========================================================================
   BEDROCK REPS — DESIGN TOKENS
   ========================================================================== */
:root {
  --br-forest:        #1B4332;
  --br-forest-deep:   #123024;
  --br-charcoal:      #22252A;
  --br-terra:         #C15C3D;
  --br-terra-deep:    #A44A2F;
  --br-mustard:       #E9C46A;  /* DARK TEXT ONLY */
  --br-mustard-deep:  #D9A62E;

  --br-limestone:     #F2F1ED;
  --br-slate-pale:    #E3E4DF;
  --br-border:        #CBCDC5;
  --br-text:          #22252A;
  --br-text-muted:    #5C6158;
  --br-text-invert:   #F2F1ED;

  --br-font-display: "Source Serif 4", Cambria, Georgia, serif;
  --br-font-body:    "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  --br-size-hero:    clamp(2.25rem, 1.5rem + 3vw, 4rem);
  --br-size-h2:      clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem);
  --br-size-h3:      clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
  --br-size-body:    1.0625rem;
  --br-size-small:   0.875rem;
  --br-size-label:   0.75rem;

  --br-leading-tight: 1.15;
  --br-leading-body:  1.6;
  --br-track-label:   0.14em;

  --br-space-xs:  0.5rem;
  --br-space-s:   1rem;
  --br-space-m:   1.75rem;
  --br-space-l:   3rem;
  --br-space-xl:  4.5rem;
  --br-space-2xl: 7rem;

  --br-measure:   68ch;
  --br-container: 1180px;
  --br-gutter:    1.5rem;
  --br-radius:    2px;
}

/* --- Base --------------------------------------------------------------- */
body {
  background-color: var(--br-limestone);
  color: var(--br-text);
  font-family: var(--br-font-body);
  font-size: var(--br-size-body);
  line-height: var(--br-leading-body);
}
h1, h2, h3, h4 {
  font-family: var(--br-font-display);
  line-height: var(--br-leading-tight);
  color: var(--br-forest);
}
.br-on-dark h1, .br-on-dark h2, .br-on-dark h3, .br-on-dark h4 { color: var(--br-text-invert); }
p { max-width: var(--br-measure); }

/* Universal list baseline — every list on the site gets consistent
   indentation by default, regardless of which page/template it's on. */
.entry-content ul, .entry-content ol,
.wp-block-post-content ul, .wp-block-post-content ol {
  margin: 0 0 1.25rem !important;
  padding-left: 1.4rem !important;
}
.entry-content ul li, .entry-content ol li,
.wp-block-post-content ul li, .wp-block-post-content ol li {
  margin: 0 0 .5rem !important;
  padding: 0 !important;
}

a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible {
  outline: 3px solid var(--br-terra);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .site-header, .site-logo img, .header-image { transition: none; }
}

/* ==========================================================================
   CONTRAST — verified, do not deviate
   mustard #E9C46A + charcoal #22252A  ~11:1  PASS  <- CTA buttons
   mustard #E9C46A + white             ~1.6:1 FAIL  <- never
   forest  #1B4332 + limestone         ~12:1  PASS
   terra   #C15C3D + white             ~5.2:1 PASS
   charcoal#22252A + limestone         ~15:1  PASS
   FONT HOSTING: self-host (OFL) or use OMGF. Never call fonts.googleapis.com.
   ========================================================================== */

/* ==========================================================================
   STICKY SHRINK-ON-SCROLL HEADER — pairs with bedrock-header-scroll.js
   ========================================================================== */
.site-header {
  position: sticky; top: 0; z-index: 100;
  background-color: var(--br-limestone);
  transition: padding 200ms ease, box-shadow 200ms ease;
  will-change: padding;
}
.site-logo img, .header-image {
  height: auto; transition: max-width 200ms ease; max-width: 262px;
}
.br-shrink .site-header {
  padding-top: 0.5rem; padding-bottom: 0.5rem;
  box-shadow: 0 2px 12px rgba(34, 37, 42, 0.10);
}
.br-shrink .site-logo img, .br-shrink .header-image { max-width: 200px; }
@media (max-width: 767px) {
  .site-logo img, .header-image { max-width: 190px; }
  .br-shrink .site-logo img, .br-shrink .header-image { max-width: 160px; }
}

/* Sticky header dips under the WP admin toolbar (visible only when
   logged in) so the logo doesn't clip once scrolled. */
body.admin-bar .site-header{ top: 32px; }
@media (max-width:782px){
  body.admin-bar .site-header{ top: 46px; }
}

/* ==========================================================================
   BEDROCK REPS — BOLD system (.brb-*)
   ========================================================================== */
@font-face{font-family:"Archivo";font-style:normal;font-weight:500;font-display:swap;src:url("/wp-content/uploads/fonts/archivo-500.woff2") format("woff2");}
@font-face{font-family:"Archivo";font-style:normal;font-weight:600;font-display:swap;src:url("/wp-content/uploads/fonts/archivo-600.woff2") format("woff2");}
@font-face{font-family:"Archivo";font-style:normal;font-weight:700;font-display:swap;src:url("/wp-content/uploads/fonts/archivo-700.woff2") format("woff2");}
@font-face{font-family:"Archivo";font-style:normal;font-weight:800;font-display:swap;src:url("/wp-content/uploads/fonts/archivo-800.woff2") format("woff2");}
@font-face{font-family:"Archivo";font-style:normal;font-weight:900;font-display:swap;src:url("/wp-content/uploads/fonts/archivo-900.woff2") format("woff2");}

:root{
  --br-display:"Archivo","Source Serif 4",Georgia,serif;
  --brb-ink:#16181A; --brb-forest-deep:#12291F; --brb-limestone-2:#EDECE6;
  --brb-stone-700:#3A3D42; --brb-ink-body:#2A2D31; --brb-slate-dim:#AFB2AA;
  --brb-display:var(--br-display,"Archivo",system-ui,sans-serif);
  --brb-body:var(--br-body,"Source Sans 3",system-ui,sans-serif);
  --brb-spine:clamp(30px,4.5vw,54px);
  --brb-pad-x:clamp(1.25rem,5vw,3rem);
  --brb-wrap:1180px;
}

.brb-grain{position:absolute;inset:0;pointer-events:none;mix-blend-mode:overlay;z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

.brb-stage{position:relative;overflow:hidden;padding:0;color:var(--br-limestone);
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.014) 0 1px, transparent 1px 6px),
    repeating-linear-gradient(0deg, rgba(0,0,0,.10) 0 2px, transparent 2px 11px),
    linear-gradient(158deg, var(--brb-ink) 0%, #1A211D 52%, var(--brb-forest-deep) 100%);}
.brb-stage .brb-grain{opacity:.05;}
.brb-stage-light{position:relative;overflow:hidden;padding:0;color:var(--brb-ink-body);
  background:
    repeating-linear-gradient(0deg, rgba(0,0,0,.016) 0 1px, transparent 1px 7px),
    linear-gradient(160deg, var(--br-limestone) 0%, var(--brb-limestone-2) 100%);}
.brb-stage-light .brb-grain{opacity:.03;}
.brb-stage-forest{background:linear-gradient(160deg,#173A2C,var(--brb-forest-deep));color:var(--br-limestone);}

.brb-seam{height:6px;position:relative;z-index:4;
  background:linear-gradient(to right,var(--br-forest) 0 33%,var(--br-terra) 33% 66%,var(--br-mustard) 66%);}

.brb-spine{position:absolute;left:0;top:0;bottom:0;width:var(--brb-spine);z-index:2;
  box-shadow:1px 0 0 rgba(0,0,0,.5), inset -1px 0 0 rgba(255,255,255,.05);
  background:linear-gradient(to bottom,
    #2E3136 0 5%, #3A3D42 5% 12%, #4A4E54 12% 16%, var(--br-terra) 16% 16.9%,
    #33363B 16.9% 27%, #262A2E 27% 37%, #43474D 37% 43%, var(--br-mustard) 43% 43.9%,
    #33363B 43.9% 55%, #4A4E54 55% 62%, var(--br-forest) 62% 63.6%,
    #2E3136 63.6% 74%, #3A3D42 74% 83%, var(--br-terra) 83% 83.7%,
    #2A2D31 83.7% 92%, #33363B 92% 100%);}

.brb-inner{position:relative;z-index:3;max-width:var(--brb-wrap);margin-inline:auto;
  padding:clamp(2.5rem,6vw,5rem) var(--brb-pad-x);}
.brb-inner.brb-has-spine{padding-left:calc(var(--brb-spine) + clamp(1.25rem,4vw,2.5rem));}

.brb-eyebrow{font-family:var(--brb-body);font-weight:700;font-size:.8rem;letter-spacing:.18em;
  text-transform:uppercase;display:flex;align-items:center;gap:.6rem;margin:0 0 1.1rem;color:var(--br-mustard);}
.brb-eyebrow::before{content:"";width:1.6rem;height:2px;background:var(--br-terra);}
.brb-stage-light .brb-eyebrow{color:var(--br-forest);}
.brb-h2{font-family:var(--brb-display);font-weight:900;font-size:clamp(2.2rem,5.6vw,3.9rem);
  line-height:.94;letter-spacing:-.025em;color:var(--br-limestone);margin:0;}
.brb-stage-light .brb-h2{color:var(--br-forest);}
.brb-lede{font-family:var(--brb-body);font-size:clamp(1.05rem,1.5vw,1.24rem);line-height:1.55;
  color:var(--br-slate-pale);max-width:52ch;margin:1.2rem 0 0;}
.brb-stage-light .brb-lede{color:var(--brb-ink-body);}
.brb-btn{display:inline-block;font-family:var(--brb-body);font-weight:800;font-size:1rem;letter-spacing:.01em;
  color:var(--br-charcoal);text-decoration:none;background:linear-gradient(#F0CE77,var(--br-mustard));
  padding:.95rem 1.7rem;border-radius:2px;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 12px 26px rgba(0,0,0,.34);}
.brb-btn:hover{background:linear-gradient(#E9C46A,var(--br-mustard-deep));color:var(--br-charcoal);}
.brb-btn.wp-block-button .wp-block-button__link{background:none;color:var(--br-charcoal);padding:0;}
.brb-note{margin:.85rem 0 0;font-size:.85rem;color:var(--brb-slate-dim);}

.brb-topbar{display:flex;align-items:center;gap:1rem;margin:0 0 clamp(2rem,6vw,4rem);}
.brb-wordmark{font-family:var(--brb-display);font-weight:900;font-size:clamp(1.1rem,2.4vw,1.5rem);letter-spacing:.14em;color:var(--br-limestone);}
.brb-topbar .brb-rule{height:2px;flex:1;max-width:120px;background:linear-gradient(to right,var(--br-forest),var(--br-terra),var(--br-mustard));opacity:.7;}
.brb-topbar .brb-place{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brb-slate-dim);}
.brb-hero{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:center;}
.brb-title{font-family:var(--brb-display);font-weight:900;font-size:clamp(2.9rem,8.4vw,6rem);line-height:.9;letter-spacing:-.025em;color:var(--br-limestone);margin:0;}
.brb-title .brb-accent{color:var(--br-terra);display:block;}
.brb-hero .brb-lede{margin:1.5rem 0 2rem;max-width:44ch;}

.brb-shot{position:relative;aspect-ratio:4/5;margin-top:clamp(1rem,3vw,2.5rem);margin-right:calc(-1 * var(--brb-pad-x));
  overflow:hidden;border-left:2px solid rgba(193,92,61,.55);
  background:repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0 2px, transparent 2px 9px),
    linear-gradient(155deg,#2B2E33 0%,#20272A 45%,#16241E 100%);}
.brb-shot::before,.brb-shot::after{content:"";position:absolute;width:26px;height:26px;z-index:2;}
.brb-shot::before{top:14px;left:14px;border-top:2px solid var(--br-mustard);border-left:2px solid var(--br-mustard);}
.brb-shot::after{bottom:14px;right:14px;border-bottom:2px solid var(--br-mustard);border-right:2px solid var(--br-mustard);}
.brb-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.brb-shot-tag{position:absolute;top:14px;right:14px;z-index:2;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brb-slate-dim);border:1px solid rgba(255,255,255,.16);padding:.3rem .5rem;border-radius:2px;}
.brb-shot-meta{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.2rem 1.3rem;background:linear-gradient(to top,rgba(0,0,0,.5),transparent);}
.brb-shot-meta .k{font-family:var(--brb-display);font-weight:700;font-size:1rem;color:var(--br-limestone);}
.brb-shot-meta .s{font-size:.78rem;color:var(--brb-slate-dim);margin-top:.2rem;}

.brb-tiers{margin-top:clamp(2.5rem,6vw,4.5rem);}
.brb-tiers-eyebrow{font-family:var(--brb-body);font-weight:700;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brb-slate-dim);margin:0 0 1rem;display:flex;align-items:center;gap:.6rem;}
.brb-tiers-eyebrow::before{content:"";width:1.6rem;height:2px;background:var(--br-terra);}
.brb-strata{border:1px solid rgba(255,255,255,.06);border-radius:2px;overflow:hidden;}
.brb-layer{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(0,1.6fr);gap:clamp(1rem,3vw,2rem);
  align-items:center;padding:1.5rem clamp(1.25rem,3vw,2rem);}
.brb-tname{font-family:var(--brb-display);font-weight:800;line-height:1;color:var(--br-limestone);margin:0;}
.brb-tdesc{font-family:var(--brb-body);font-size:.98rem;line-height:1.5;color:var(--br-slate-pale);margin:0;}
.brb-layer.l1{background:#20242A;}
.brb-layer.l1 .brb-tname{font-size:clamp(1.5rem,3.2vw,2rem);}
.brb-layer.l2{background:#1B2A22;border-top:2px solid var(--br-terra);}
.brb-layer.l2 .brb-tname{font-size:clamp(1.7rem,3.6vw,2.4rem);}
.brb-layer.l3{background:linear-gradient(180deg,#153025,#0F241B);padding-top:2rem;padding-bottom:2.2rem;position:relative;}
.brb-layer.l3::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;
  background:linear-gradient(to right,var(--br-forest) 0 33%,var(--br-terra) 33% 66%,var(--br-mustard) 66%);}
.brb-layer.l3 .brb-tname{font-size:clamp(2rem,4.4vw,3rem);color:var(--br-mustard);}

.brb-photoband{position:relative;overflow:hidden;min-height:clamp(220px,32vw,420px);
  background:repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0 2px, transparent 2px 10px),
    linear-gradient(150deg,#2B2E33,#1A241F);}
.brb-photoband img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.brb-photoband .brb-shot-meta{padding:1.4rem var(--brb-pad-x);}

.brb-phases{position:relative;display:grid;gap:clamp(1.5rem,4vw,2.5rem);
  padding-left:clamp(2.4rem,6vw,4rem);margin-top:clamp(2rem,5vw,3rem);}
.brb-rail{position:absolute;left:clamp(.6rem,2vw,1.4rem);top:.4rem;bottom:.4rem;width:6px;z-index:1;
  background:linear-gradient(to bottom,var(--br-forest),var(--br-terra),var(--br-mustard),var(--brb-stone-700));}
.brb-phase{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(1rem,3vw,2rem);align-items:start;scroll-margin-top:6rem;}
.brb-phase::before{content:"";position:absolute;left:calc(-1 * clamp(1.55rem,4.1vw,2.9rem));top:.5rem;z-index:2;
  width:14px;height:14px;background:var(--br-terra);border:3px solid var(--br-limestone);border-radius:1px;box-shadow:0 0 0 1px var(--br-border);}
.brb-pnum{font-family:var(--brb-display);font-weight:900;font-size:clamp(2.6rem,6.4vw,5rem);line-height:.8;color:var(--br-terra);letter-spacing:-.03em;margin:0;}
.brb-ptitle{font-family:var(--brb-display);font-weight:800;font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1.05;color:var(--br-forest);margin:0 0 .5rem;}
.brb-pfocus{font-family:var(--brb-body);font-weight:700;font-size:1rem;color:var(--br-charcoal);margin:0 0 .5rem;}
.brb-pdesc{font-family:var(--brb-body);font-size:.98rem;line-height:1.55;color:var(--brb-ink-body);max-width:60ch;margin:0;}

.brb-sectors{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.25rem,3vw,2rem);margin-top:clamp(2rem,5vw,3rem);}
.brb-sector:nth-child(2){margin-top:clamp(1.5rem,5vw,3.5rem);}
.brb-sector-shot{position:relative;overflow:hidden;aspect-ratio:5/4;
  background:repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0 2px, transparent 2px 9px),
    linear-gradient(150deg,#2B2E33,#16241E);border-left:2px solid rgba(193,92,61,.55);}
.brb-sector-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.brb-sector-shot .brb-shot-tag{top:12px;right:12px;}
.brb-sector-cap{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:.9rem 1rem;font-size:.72rem;letter-spacing:.02em;
  color:var(--brb-slate-dim);background:linear-gradient(to top,rgba(0,0,0,.5),transparent);}
.brb-sector-body{padding-top:1.1rem;}
.brb-sector-title{font-family:var(--brb-display);font-weight:800;font-size:clamp(1.4rem,3vw,2rem);color:var(--br-limestone);margin:0 0 .6rem;letter-spacing:-.01em;}
.brb-sector-body p{color:var(--br-slate-pale);line-height:1.55;max-width:44ch;margin:0 0 .9rem;}
.brb-sector-link{font-weight:700;color:var(--br-mustard);border-bottom:2px solid var(--br-terra);padding-bottom:1px;text-decoration:none;}

.brb-qa{margin-top:clamp(1.5rem,4vw,2.5rem);max-width:76ch;}
.brb-q{font-family:var(--brb-display);font-weight:800;font-size:clamp(1.2rem,2.4vw,1.6rem);color:var(--br-forest);margin:0 0 .5rem;letter-spacing:-.01em;}
.brb-a{font-family:var(--brb-body);font-size:1.05rem;line-height:1.6;color:var(--brb-ink-body);margin:0;}

.brb-cta-title{font-family:var(--brb-display);font-weight:900;font-size:clamp(2.4rem,6.4vw,4.6rem);line-height:.92;letter-spacing:-.025em;color:var(--br-limestone);margin:0;max-width:18ch;}
.brb-stage-forest .brb-lede{color:var(--br-slate-pale);margin:1.2rem 0 2rem;}

/* ---------- homepage: two-card service compare ---------- */
.brb-cardgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,3vw,1.5rem);margin-top:clamp(1.5rem,3vw,2rem);}
.brb-svccard{background:var(--brb-limestone-2,#EDECE6);border-top:4px solid var(--br-terra);border-radius:2px;
  padding:clamp(1.25rem,3vw,1.75rem);display:flex;flex-direction:column;}
.brb-svccard.forest{border-top-color:var(--br-forest);}
.brb-svccard h3{font-family:var(--brb-display);font-weight:800;font-size:1.4rem;color:var(--br-forest);margin:0 0 .3rem;}
.brb-svccard .tag{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6B6E67;margin:0 0 .8rem;}
.brb-svccard ul{list-style:disc;margin:0 0 1rem !important;padding-left:1.1rem !important;color:var(--brb-ink-body);}
.brb-svccard ul li{margin:0 0 .35rem !important;padding:0 !important;}
.brb-svccard a{margin-top:auto;color:var(--br-terra);font-weight:700;text-decoration:none;
  border-bottom:2px solid var(--br-terra);align-self:flex-start;padding-bottom:1px;}

/* ---------- homepage: sector 3-up ---------- */
.brb-sectorgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.25rem,3vw,2rem);margin-top:clamp(1.5rem,3vw,2rem);}
.brb-sectoritem{border-left:3px solid var(--br-mustard);padding-left:1rem;}
.brb-sectoritem h3{font-family:var(--brb-display);font-weight:800;font-size:1.3rem;color:var(--br-limestone);margin:0 0 .4rem;}
.brb-sectoritem p{color:var(--br-slate-pale);line-height:1.5;margin:0;}

/* ---------- sector pages: checklist + note panel ---------- */
ul.brb-checklist{
  list-style:none !important;margin:0 !important;padding:0 !important;
  display:grid;gap:.6rem;max-width:62ch;
}
ul.brb-checklist li{
  position:relative;margin:0 !important;padding:0 0 0 1.4rem !important;line-height:1.5;
}
ul.brb-checklist li::before{
  content:"";position:absolute;left:0;top:.55em;width:.5rem;height:.5rem;background:var(--br-terra);
}
.brb-stage ul.brb-checklist li{color:var(--br-slate-pale);}
.brb-stage ul.brb-checklist li::before{background:var(--br-mustard);}
.brb-stage-light ul.brb-checklist li{color:var(--brb-ink-body);}

.brb-panel{background:var(--brb-limestone-2);border-left:4px solid var(--br-terra);border-radius:2px;
  padding:1.5rem clamp(1.25rem,3vw,2rem);margin-top:1.5rem;max-width:70ch;}
.brb-panel h3{font-family:var(--brb-display);font-weight:800;color:var(--br-forest);font-size:1.3rem;margin:0 0 .5rem;}
.brb-panel p{color:var(--brb-ink-body);line-height:1.55;margin:0;}

/* ---------- nav active-page highlight ---------- */
.main-navigation .current-menu-item > a,
.main-navigation .current-menu-parent > a,
.main-navigation .current-menu-ancestor > a{
  color: var(--br-terra) !important;
  font-weight: 700;
  position: relative;
}
.main-navigation .current-menu-item > a::after,
.main-navigation .current-menu-parent > a::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:-4px;
  height:2px;
  background: var(--br-terra);
}

/* ---------- footer credit line ---------- */
.site-info, .site-info *{
  margin: 0 !important;
  padding: 0 !important;
}
.site-info{
  font-size: 0 !important;
  padding: 1.25rem clamp(1.25rem,5vw,2rem) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: auto;
}
.site-info::before {
  content: "© 2026 Bedrock Reps. All rights reserved.";
  font-size: 0.85rem;
  line-height: 1.4;
  color: inherit;
  display: block;
}

/* ---------- project-rescue teaser banner (Services page) ---------- */
.brb-teaser{border-top:3px solid var(--br-mustard);}
.brb-teaser .brb-inner{padding-block:clamp(2rem,4vw,3rem);}
.brb-teaser-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;}
.brb-teaser-text{max-width:60ch;}
.brb-teaser-headline{font-family:var(--brb-display);font-weight:800;font-size:clamp(1.4rem,3vw,2rem);
  color:var(--br-forest);margin:.4rem 0 0;letter-spacing:-.01em;}

/* ---------- Field Notes blog archive (Query Loop) ---------- */
.brb-postgrid .wp-block-post{
  background:var(--brb-limestone-2);border-top:4px solid var(--br-terra);
  border-radius:2px;padding:1.5rem;display:flex;flex-direction:column;
}
.brb-postgrid .wp-block-post-date{
  font-family:var(--brb-body);font-size:.78rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:#6B6E67;margin:0 0 .6rem;
}
.brb-postgrid .wp-block-post-title{
  font-family:var(--brb-display);font-weight:800;font-size:1.35rem;line-height:1.1;
  margin:0 0 .6rem;
}
.brb-postgrid .wp-block-post-title a{color:var(--br-forest);text-decoration:none;}
.brb-postgrid .wp-block-post-title a:hover{color:var(--br-terra);}
.brb-postgrid .wp-block-post-excerpt{
  font-family:var(--brb-body);font-size:.95rem;line-height:1.55;color:var(--brb-ink-body);
  margin:0 0 1rem;
}
.brb-postgrid .wp-block-post-excerpt__more-link{
  color:var(--br-terra);font-weight:700;text-decoration:none;
  border-bottom:2px solid var(--br-terra);padding-bottom:1px;margin-top:auto;
  align-self:flex-start;
}
.brb-postgrid-pagination{
  display:flex;gap:.75rem;justify-content:center;margin-top:clamp(2rem,4vw,3rem);
  font-family:var(--brb-body);font-weight:700;font-size:.9rem;
}
.brb-postgrid-pagination a,
.brb-postgrid-pagination span{
  padding:.6rem 1rem;border-radius:2px;color:var(--br-forest);text-decoration:none;
}
.brb-postgrid-pagination a:hover{background:var(--br-slate-pale);}
.brb-postgrid-pagination .wp-block-query-pagination-numbers .current{
  background:var(--br-mustard);color:var(--br-charcoal);
}

/* ============================================================
   Single blog post styling — scoped to body.single-post
   ============================================================ */
body.single-post .entry-header{
  position:relative;overflow:hidden;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.014) 0 1px, transparent 1px 6px),
    repeating-linear-gradient(0deg, rgba(0,0,0,.10) 0 2px, transparent 2px 11px),
    linear-gradient(158deg, var(--brb-ink) 0%, #1A211D 52%, var(--brb-forest-deep) 100%);
  padding:clamp(3rem,7vw,5rem) clamp(1.25rem,5vw,3rem);
  margin:0 0 0;
}
body.single-post .entry-header > *{
  max-width:var(--brb-wrap);margin-inline:auto;position:relative;z-index:2;
}
body.single-post .entry-title{
  font-family:var(--brb-display);font-weight:900;
  font-size:clamp(2rem,5.5vw,3.4rem);line-height:1;letter-spacing:-.02em;
  color:var(--br-limestone);margin:.5rem 0 1rem;
}
body.single-post .entry-meta{
  font-family:var(--brb-body);font-size:.8rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--brb-slate-dim);
}
body.single-post .entry-meta a{color:var(--br-mustard);text-decoration:none;}

body.single-post .brb-post-eyebrow{
  font-family:var(--brb-body);font-weight:700;font-size:.8rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--br-mustard);display:flex;align-items:center;gap:.6rem;
  margin:0 0 .5rem;
}
body.single-post .brb-post-eyebrow::before{content:"";width:1.6rem;height:2px;background:var(--br-terra);}

body.single-post .post-thumbnail,
body.single-post .featured-image{
  max-width:var(--brb-wrap);margin:clamp(1.5rem,4vw,2.5rem) auto 0;
  border-left:2px solid rgba(193,92,61,.55);overflow:hidden;
}
body.single-post .post-thumbnail img,
body.single-post .featured-image img{
  display:block;width:100%;height:auto;
}

body.single-post .entry-content{
  background:var(--br-limestone);
  max-width:calc(var(--br-measure) + 2rem);
  margin:0 auto;padding:clamp(2.5rem,6vw,4rem) clamp(1.25rem,5vw,2rem);
  color:var(--br-text);
  font-family:var(--br-font-body);
  font-size:1.05rem;line-height:1.75;
}
body.single-post .entry-content > *{max-width:var(--br-measure);}

body.single-post .entry-content h2{
  font-family:var(--brb-display);font-weight:800;color:var(--br-forest);
  font-size:clamp(1.5rem,3vw,2rem);line-height:1.15;letter-spacing:-.01em;
  margin:2.2rem 0 1rem;
}
body.single-post .entry-content h3{
  font-family:var(--brb-display);font-weight:700;color:var(--br-forest);
  font-size:clamp(1.2rem,2.2vw,1.5rem);line-height:1.2;
  margin:1.8rem 0 .8rem;
}
body.single-post .entry-content p{margin:0 0 1.25rem;}

body.single-post .entry-content a{
  color:var(--br-forest);text-decoration:none;border-bottom:2px solid var(--br-terra);
  padding-bottom:1px;
}
body.single-post .entry-content a:hover{color:var(--br-terra);}

body.single-post .entry-content ul{
  list-style:none !important;margin:0 0 1.25rem !important;padding:0 !important;
  display:grid;gap:.55rem;
}
body.single-post .entry-content ul li{
  position:relative;margin:0 !important;padding:0 0 0 1.4rem !important;
}
body.single-post .entry-content ul li::before{
  content:"";position:absolute;left:0;top:.55em;width:.5rem;height:.5rem;background:var(--br-terra);
}
body.single-post .entry-content ol{
  margin:0 0 1.25rem !important;padding-left:1.4rem !important;
}
body.single-post .entry-content ol li{margin:0 0 .5rem !important;}

body.single-post .entry-content blockquote{
  margin:1.75rem 0;padding:.25rem 0 .25rem 1.5rem;
  border-left:4px solid var(--br-terra);
  font-family:var(--brb-display);font-weight:600;font-style:normal;
  font-size:1.2rem;line-height:1.5;color:var(--br-forest);
}
body.single-post .entry-content blockquote p{margin:0;}

body.single-post .entry-content figure{margin:2rem 0;max-width:100%;}
body.single-post .entry-content img{
  max-width:100%;height:auto;border-radius:2px;
}
body.single-post .entry-content figcaption{
  font-family:var(--br-font-body);font-size:.85rem;color:var(--br-text-muted);
  margin-top:.5rem;
}
body.single-post .entry-content hr{
  border:none;height:6px;margin:2.5rem 0;
  background:linear-gradient(to right,var(--br-forest) 0 33%,var(--br-terra) 33% 66%,var(--br-mustard) 66%);
}

body.single-post .entry-footer{
  max-width:var(--br-measure);margin:0 auto;padding:0 clamp(1.25rem,5vw,2rem) clamp(3rem,6vw,4rem);
  font-family:var(--br-font-body);
}
body.single-post .entry-footer a{
  color:var(--br-forest);text-decoration:none;border-bottom:2px solid var(--br-terra);padding-bottom:1px;
}

/* ==========================================================================
   MOBILE
   ========================================================================== */

/* Contain horizontal scroll from the alignfull (full-bleed) negative-margin
   technique. html only, never body, so the sticky header keeps working. */
html{ overflow-x: clip; }

@media (max-width:767px){
  /* Force every major structural container into plain single-column
     block flow, overriding grid/flex/alignwide regardless of which
     one is actually responsible. Blunt, but reliable. */
  .brb-inner.brb-has-spine{
    padding-left: var(--brb-pad-x) !important;
  }
  .brb-inner{
    display:block !important;
    padding-right: var(--brb-pad-x) !important;
    width:100% !important;
    max-width:100% !important;
  }
  .brb-spine{ display:none !important; }

  .brb-hero,
  .brb-strata,
  .brb-phases,
  .brb-sectors,
  .brb-cardgrid, .brb-sectorgrid, .brb-postgrid{
    display:block !important;
    grid-template-columns:none !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  /* any nested flex row the block editor added — force it to stack */
  .brb-strata .wp-block-group,
  .brb-sectors .wp-block-group{
    display:block !important;
  }
  .brb-strata .wp-block-group > *,
  .brb-sectors .wp-block-group > *,
  .brb-hero > *,
  .brb-cardgrid > *, .brb-sectorgrid > *{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .brb-layer{ display:block !important; }
  .brb-phase{ display:block !important; }
  .brb-hero .brb-shot{ margin-right:0 !important; margin-top:1.5rem !important; }

  /* tame the type scale — the desktop clamp floor is still too large
     for a full-width single column on a narrow phone and forces
     mid-word breaks */
  .brb-title{ font-size: clamp(2rem, 9vw, 2.6rem) !important; line-height:1.05 !important; }
  .brb-h2{ font-size: clamp(1.6rem, 7vw, 2.1rem) !important; }
  .brb-cta-title{ font-size: clamp(1.8rem, 8vw, 2.4rem) !important; }
  .brb-pnum{ font-size: clamp(2rem, 10vw, 2.8rem) !important; }
  .brb-eyebrow{ font-size:.7rem !important; letter-spacing:.1em !important; }
}

@media (prefers-reduced-motion:no-preference){
  .brb-title,.brb-hero .brb-lede,.brb-hero .brb-btn,.brb-hero .brb-eyebrow{animation:brb-rise .7s cubic-bezier(.2,.7,.2,1) both;}
  .brb-hero .brb-lede{animation-delay:.06s;} .brb-hero .brb-btn{animation-delay:.12s;}
  @keyframes brb-rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
}