@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600;700;800;900&display=swap");

:root{
  --amber:#1f3d61 !important;
  --amber-light:#657b92 !important;
  --amber-dark:#0d2039 !important;
  --bg-dark:#04101c !important;
  --bg-card:#0c1a2c !important;
  --bg-section:#071220 !important;
  --bg-panel:#10243c !important;
  --text-primary:#f5f8ff !important;
  --text-secondary:#c4cfdf !important;
  --text-muted:#7f90aa !important;
  --text-mute:#c4cfdf !important;
  --border:rgba(118,135,158,.16) !important;
  --rail:1080px !important;
  --shadow:0 32px 90px rgba(1,8,16,.5) !important;
}

html{scroll-behavior:smooth}
body{
  font-family:"Inter",system-ui,-apple-system,sans-serif !important;
  background:
    radial-gradient(circle at top left,rgba(43,62,88,.14),transparent 28%),
    radial-gradient(circle at top right,rgba(31,61,97,.1),transparent 26%),
    linear-gradient(180deg,#04101c 0%,#071220 44%,#04101c 100%) !important;
  color:var(--text-primary) !important;
}

a{
  transition:color .2s,border-color .2s,background .2s,transform .2s;
}

.nav{
  background:rgba(6,17,31,.88) !important;
  backdrop-filter:blur(14px) !important;
  border-bottom:1px solid var(--border) !important;
}

.nav.scrolled{
  background:rgba(6,17,31,.95) !important;
}

.nav-inner{
  max-width:var(--rail) !important;
  gap:1rem;
}

.nav-logo{
  display:flex !important;
  align-items:center !important;
  min-width:0;
  color:var(--text-primary) !important;
  font-family:"Barlow Condensed","Inter",sans-serif !important;
  font-weight:800 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

.nav-logo span{
  color:var(--amber-light) !important;
}

.nav-logo img{
  display:block;
  width:auto;
  height:68px;
  max-width:min(100%,340px);
}

.nav-links{
  display:flex !important;
  gap:1.35rem !important;
  align-items:center !important;
  flex-wrap:wrap;
  justify-content:center;
}

.nav-links a{
  color:var(--text-secondary) !important;
  font-family:"Barlow Condensed","Inter",sans-serif !important;
  font-size:1rem !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

.nav-links a:hover,
.nav-links a.active{
  color:var(--amber-light) !important;
}

.nav-cta{
  background:linear-gradient(135deg,var(--amber),var(--amber-light)) !important;
  color:#fff !important;
  border-radius:3px !important;
  font-weight:700 !important;
}

.nav-contact-box{
  border-left:1px solid var(--border) !important;
  padding-left:16px !important;
  margin-left:8px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  min-width:188px !important;
}

.bw-nav-title{
  font-size:10.5px;
  color:#fff;
  font-weight:800;
  line-height:1.15;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.bw-nav-actions{
  display:flex;
  gap:6px;
  margin-top:6px;
  flex-wrap:wrap;
  justify-content:center;
}

.bw-nav-chip{
  font-size:10px;
  color:#fff !important;
  padding:4px 8px;
  border-radius:3px;
  text-decoration:none;
  white-space:nowrap;
}

.bw-nav-phone{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  font-weight:600;
}

.bw-nav-email{
  background:linear-gradient(135deg,var(--amber),var(--amber-light));
  font-weight:700;
}

body.bw-inner-page .hero,
body.bw-areas-page .hero,
body.bw-blog-index .hero,
body.bw-network-page .hero,
body.bw-about-page .hero,
body.bw-services-index .hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(7,18,32,.98),rgba(7,18,32,.88)) !important;
  border-bottom:1px solid var(--border);
  padding-top:7.5rem !important;
  padding-bottom:3rem !important;
}

body.bw-inner-page .hero::before,
body.bw-areas-page .hero::before,
body.bw-blog-index .hero::before,
body.bw-network-page .hero::before,
body.bw-about-page .hero::before,
body.bw-services-index .hero::before,
body.bw-service-template .ph::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top left,rgba(43,62,88,.18),transparent 30%),
    radial-gradient(circle at bottom right,rgba(31,61,97,.12),transparent 34%);
  pointer-events:none;
}

body.bw-inner-page .hero > *,
body.bw-areas-page .hero > *,
body.bw-blog-index .hero > *,
body.bw-network-page .hero > *,
body.bw-about-page .hero > *,
body.bw-services-index .hero > *,
body.bw-service-template .ph > *{
  position:relative;
  z-index:1;
}

body.bw-inner-page .hero h1,
body.bw-inner-page .hero .section-title,
body.bw-areas-page .hero h1,
body.bw-blog-index .hero h1,
body.bw-network-page .hero h1,
body.bw-about-page .hero h1,
body.bw-services-index .hero h1,
body.bw-service-template .ph h1{
  color:var(--text-primary) !important;
  font-family:"Barlow Condensed","Inter",sans-serif !important;
  font-weight:800 !important;
  line-height:.96 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
}

body.bw-inner-page .hero h1 em,
body.bw-areas-page .hero h1 em,
body.bw-blog-index .hero h1 em,
body.bw-network-page .hero h1 em,
body.bw-about-page .hero h1 em,
body.bw-services-index .hero h1 em,
body.bw-service-template .ph h1 em{
  color:var(--amber-light) !important;
}

body.bw-inner-page .hero p,
body.bw-areas-page .hero p,
body.bw-blog-index .hero .sub,
body.bw-network-page .hero p,
body.bw-about-page .hero p,
body.bw-services-index .hero p,
body.bw-service-template .ph .sub{
  color:var(--text-secondary) !important;
}

body.bw-service-template .bc{
  max-width:var(--rail) !important;
  padding:6.2rem 1.5rem .75rem !important;
  color:var(--text-muted) !important;
}

body.bw-service-template .bc a{
  color:var(--text-secondary) !important;
}

body.bw-service-template .ph,
body.bw-blog-page .hero{
  max-width:var(--rail) !important;
}

body.bw-service-template .ph{
  padding:2.5rem 1.5rem 3rem !important;
  position:relative;
}

body.bw-service-template .ct,
body.bw-inner-page .section,
body.bw-blog-page .posts,
body.bw-blog-page .content,
body.bw-areas-page .content{
  max-width:var(--rail) !important;
}

.sc,
.rc,
.network-card,
.service-card,
.quote-card,
.review-card,
.card{
  background:linear-gradient(180deg,rgba(12,26,44,.96),rgba(8,19,34,.98)) !important;
  border:1px solid var(--border) !important;
  border-radius:10px !important;
}

.review-avatar{
  background:var(--amber) !important;
  color:#fff !important;
}

.review-tag{
  display:none !important;
}

.cost-table th{
  background:rgba(101,123,146,.12) !important;
  color:var(--amber-light) !important;
}

.tip-box{
  background:rgba(101,123,146,.08) !important;
  border:1px solid rgba(101,123,146,.24) !important;
}

.tip-box .label{
  color:var(--amber-light) !important;
}

.cta-strip{
  background:linear-gradient(135deg,#1f3d61,#3a5678) !important;
  border-radius:10px !important;
  color:#fff !important;
}

.cta-strip p{
  color:#fff !important;
}

.cta-strip a{
  background:rgba(6,17,31,.82) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:3px !important;
  color:#fff !important;
}

.city-header:hover{
  background:rgba(255,255,255,.04) !important;
}

.page-header{
  max-width:var(--rail) !important;
  margin:0 auto !important;
  padding:7.25rem 1.5rem 2.75rem !important;
}

.page-header .section-label{
  color:var(--amber-light) !important;
}

.page-header h1{
  color:var(--text-primary) !important;
  font-family:"Barlow Condensed","Inter",sans-serif !important;
  font-size:clamp(2.5rem,5vw,4rem) !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
  line-height:.95 !important;
  text-transform:uppercase !important;
}

.page-header p{
  color:var(--text-secondary) !important;
}

.gallery-item{
  border:1px solid rgba(118,135,158,.16) !important;
  box-shadow:0 18px 40px rgba(0,0,0,.22) !important;
}

.gallery-item:hover img{
  transform:scale(1.02) !important;
  filter:brightness(1.04) !important;
}

.project-photos{
  background:var(--bg-section) !important;
  border-top:1px solid var(--border) !important;
}

.project-photos h2{
  color:var(--amber-light) !important;
  font-family:"Barlow Condensed","Inter",sans-serif !important;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.sc h3,
.rc h3,
.footer-col h4,
.section-label,
.section-note{
  font-family:"Barlow Condensed","Inter",sans-serif !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

.cta-box,
.cta-section,
.cta-card{
  background:linear-gradient(135deg,#13294b 0%,#244261 48%,#657b92 100%) !important;
  border-radius:8px !important;
  color:#fff !important;
}

.cta-box h3,
.cta-section h2,
.cta-card h3,
.cta-box p,
.cta-section p,
.cta-card p{
  color:#fff !important;
}

.cta-box a,
.cta-section .btn,
.cta-card a{
  background:rgba(6,17,31,.82) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:3px !important;
  color:#fff !important;
}

.post-card .tag,
.big-card .tag{
  background:rgba(101,123,146,.12) !important;
  border:1px solid rgba(101,123,146,.22) !important;
  border-radius:3px !important;
  color:var(--amber-light) !important;
}

.big-card{
  background:linear-gradient(180deg,rgba(12,26,44,.96),rgba(8,19,34,.98)) !important;
  border:1px solid var(--border) !important;
  border-radius:10px !important;
}

.big-card .domain{
  color:var(--amber-light) !important;
  font-family:"Barlow Condensed","Inter",sans-serif !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

.big-card a.visit{
  background:linear-gradient(135deg,var(--amber),var(--amber-light)) !important;
  border-radius:3px !important;
  color:#fff !important;
}

.bw-inline-contact-bar{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:1rem !important;
  padding:12px 16px !important;
  background:linear-gradient(180deg,rgba(12,26,44,.95),rgba(7,18,32,.98)) !important;
  border:1px solid var(--border) !important;
  border-radius:8px !important;
  box-shadow:0 18px 36px rgba(0,0,0,.2) !important;
}

.bw-inline-contact-copy{
  display:flex;
  flex-direction:column;
  gap:.2rem;
}

.bw-inline-contact-label{
  color:var(--amber-light);
  font-family:"Barlow Condensed","Inter",sans-serif !important;
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.bw-inline-contact-title{
  color:#fff;
  font-size:1rem;
  font-weight:700;
}

.bw-inline-contact-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.65rem;
  flex-wrap:wrap;
}

.bw-inline-contact-phone,
.bw-inline-contact-email{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:.72rem 1rem;
  border-radius:3px;
  color:#fff !important;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.08em;
  text-decoration:none;
  text-transform:uppercase;
}

.bw-inline-contact-phone{
  background:linear-gradient(135deg,var(--amber),var(--amber-light));
}

.bw-inline-contact-email{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
}

body.bw-inner-page .nav-links .nav-cta,
body.bw-blog-page .nav-links .nav-cta,
body.bw-service-template .nav-links .nav-cta,
body.bw-areas-page .nav-links .nav-cta{
  display:none !important;
}

footer,
.footer{
  background:var(--bg-dark) !important;
  border-top:1px solid var(--border) !important;
  color:var(--text-muted) !important;
}

footer a,
.footer a{
  color:var(--text-secondary) !important;
}

footer a:hover,
.footer a:hover{
  color:var(--amber-light) !important;
}

.lightbox-nav:hover{
  background:rgba(31,61,97,.72) !important;
}

@media(max-width:1100px){
  .nav-logo img{
    height:60px;
    max-width:280px;
  }

  .nav-contact-box{
    min-width:168px !important;
  }
}

@media(max-width:900px){
  .nav-contact-box{
    display:none !important;
  }

  .bw-inline-contact-bar{
    align-items:flex-start !important;
    flex-direction:column !important;
  }
}

@media(max-width:768px){
  .nav-logo img{
    height:50px;
    max-width:220px;
  }

  body.bw-service-template .bc,
  body.bw-service-template .ph{
    padding-left:1rem !important;
    padding-right:1rem !important;
  }

  .bw-inline-contact-actions{
    justify-content:flex-start;
  }
}

@media(max-width:640px){
  .bw-inline-contact-actions{
    width:100%;
    flex-direction:column;
  }

  .bw-inline-contact-phone,
  .bw-inline-contact-email{
    width:100%;
  }
}
