/* WordPress compatibility and progressive interaction styles. */
:root { --br-feedback: 180ms; --br-ease: cubic-bezier(.22,1,.36,1); }
html { scroll-behavior: smooth; }
body.br-dist-site { margin: 0; }
body.br-dist-site img { max-width: 100%; height: auto; }
body.br-dist-site.admin-bar .site-header { top: 32px; }
body.br-dist-site :where(a,button,summary):focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
body.br-dist-site :where(section,[id]) { scroll-margin-top: 7rem; }
body.br-dist-site .br-menu-toggle { display: none; }
body.br-dist-site .portfolio-project[hidden] { display: none !important; }
body.br-dist-site .pricing-swiper { overflow: hidden; }
body.br-dist-site .pricing-swiper .swiper-wrapper { display: flex; align-items: stretch; transition: transform 420ms var(--br-ease); will-change: transform; }
body.br-dist-site .pricing-swiper .swiper-slide { flex: 0 0 auto; }
.brdist-content { width: min(75rem,calc(100% - 3rem)); min-height: 55svh; margin: 8rem auto 5rem; }
.brdist-content > h1 { font-size: clamp(2.5rem,6vw,5rem); line-height: 1.05; }
.brdist-empty { min-height: 60svh; }

@media (max-width: 67.99rem) {
  body.br-dist-site .site-header { padding: .65rem max(1rem,env(safe-area-inset-right)) .65rem max(1rem,env(safe-area-inset-left)); }
  body.br-dist-site .site-header .nav-shell { display: flex; flex-wrap: wrap; gap: .65rem; padding: .65rem .8rem; border-radius: 16px; }
  body.br-dist-site .site-header .brand { flex: 1 1 auto; gap: .6rem; }
  body.br-dist-site .site-header .brand-mark { flex: 0 0 2.8rem; width: 2.8rem; height: 2rem; }
  body.br-dist-site .site-header .brand-copy { max-width: none; }
  body.br-dist-site .site-header .brand-copy strong { font-size: .84rem; }
  body.br-dist-site .site-header .brand-copy span { font-size: .68rem; }
  body.br-dist-site .site-header .header-cta { order: 2; flex: 0 0 auto; width: auto; min-width: 0; max-width: none; min-height: 44px; font-size: .75rem; white-space: nowrap; padding: .75rem 1rem; }
  body.br-dist-site .site-header .br-menu-toggle { order: 3; flex: 0 0 auto; align-items: center; gap: .35rem; min-width: 44px; min-height: 44px; border: 1px solid #ddd; border-radius: 6px; background: #fff; color: #111; padding: .6rem; font: inherit; font-size: .8rem; cursor: pointer; }
  body.br-dist-site .site-header.br-menu-ready .br-menu-toggle { display: inline-flex; }
  body.br-dist-site .br-menu-toggle svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; }
  body.br-dist-site .site-header .nav-links { order: 4; flex: 1 0 100%; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .5rem; width: 100%; overflow: visible; padding: .75rem 0 .25rem; }
  body.br-dist-site .site-header .nav-links a { min-height: 52px; font-size: .8rem; padding: .6rem; }
  body.br-dist-site .site-header.br-menu-ready:not(.br-menu-open) .nav-links { display: none; }
  body.br-dist-site .site-header.br-menu-open .nav-links { max-height: calc(100svh - 8rem); overflow-y: auto; overscroll-behavior: contain; }
  body.br-dist-site .hero { padding-top: 8.5rem; }
}

@media (max-width: 782px) { body.br-dist-site.admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) {
  body.br-dist-site.admin-bar .site-header { position: sticky; }
  body.br-dist-site .site-header .header-cta { display: none; }
  body.br-dist-site .site-header .brand-copy strong { font-size: .9rem; }
  body.br-dist-site .site-header .brand-copy span { font-size: .7rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  body.br-dist-site *, body.br-dist-site *::before, body.br-dist-site *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
