/* Brand derived from logo */
:root{
  --brand-red: #d92f25;      /* matches the red in your supplied artwork */
  --brand-black: #000000;    /* deep black background */
  --brand-dark: #0d0d0d;     /* near-black for sections/cards */
  --brand-grey: #1a1a1a;
  --text: #e9e9e9;
}

html, body {
  background: var(--brand-black);
  color: var(--text);
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

h1, h2, .text-uppercase, .service h3 {
  font-family: 'Oswald', Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; /* condensed, to echo logo */
  letter-spacing: .02em;
}

a { text-decoration: none; }

/* HERO */
.hero{
  min-height: 72vh;
  background:
    radial-gradient(1200px 600px at 50% -10%, rgba(255,255,255,0.06), transparent 60%),
    linear-gradient(180deg, #111 0%, #000 100%);
  padding: 6rem 0 4rem;
}
.logo{
  max-width: 360px;
  width: 90%;
  height: auto;
  filter: drop-shadow(0 6px 20px rgba(0,0,0,0.7));
}
.accent{ color: var(--brand-red); }

.btn-primary{
  background: var(--brand-red);
  border-color: var(--brand-red);
}
.btn-primary:hover,
.btn-primary:focus{
  background: #b0251d;
  border-color: #b0251d;
}
.btn-outline-light:hover{
  color: #111 !important;
}

.social .social-link{
  display:inline-flex; align-items:center; justify-content:center;
  width: 44px; height: 44px; border-radius: 50%;
  background:#fff; color:#040404; border:1px solid #242424; margin:0 .25rem;
  transition: transform .2s ease, background .2s ease;
}
.social .social-link:hover{ transform: translateY(-3px); background:#1e1e1e;color: #fff; }

/* ICON STRIP (RED) */
.icons-red{
  background: var(--brand-red);
}
.icons-red .icon-card{
  color:#fff;
}
.icons-red i{
  color:#fff;
  filter: drop-shadow(0 2px 0 rgba(0,0,0,.2));
}

/* FULL-WIDTH CAROUSEL (edge-to-edge) */
.carousel-full .carousel,
.carousel-full .carousel-inner,
.carousel-full .carousel-item,
.carousel-full img{
  width:100%;
}
.carousel-full img{
  height: 560px;
  object-fit: cover;
}
@media (max-width: 992px){
  .carousel-full img{ height: 360px; }
}

/* CONTENT */
.content-dark{
  background: var(--brand-dark);
}
.card.contact-card{
  background:#0f0f0f !important;
  border: 1px solid #202020;
}
.card .link-light:hover{ text-decoration: underline; }

/* MAP */
.map-full .ratio{ display:block; }
.map-cta{
  background:#0a0a0a;
  color:#bdbdbd;
}
.map-cta a{ color:#fff; text-decoration: underline; }
.map-cta a:hover{ opacity:.85; }

/* FOOTER */
footer{background:#000;border-top: 1px solid #141414; }
footer .social-link{ color:#bdbdbd; }
footer .social-link:hover{ color:#fff; }

.card-body {
    background: #d92f25
}