:root{
  --brand-red:#DD3333;
  --text-dark:#0D0D0D;
  --muted:#3F4242;

  --radius:18px;
  --radius-sm:14px;

  --shadow-sm:0 8px 20px rgba(0,0,0,.08);
  --shadow-md:0 14px 40px rgba(0,0,0,.12);

  --ring:0 0 0 .22rem rgba(221,51,51,.18);
}

html, body{
  font-family:"Outfit", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

button, input, select, textarea{
  font-family:inherit !important;
}

a, a:visited{
  color:inherit !important;
  text-decoration:none !important;
}

a:hover{
  color:var(--brand-red);
  text-decoration:none;
}

:focus-visible{
  outline:none;
  box-shadow:var(--ring);
  border-radius:12px;
}

.topbar{
  background:linear-gradient(90deg, #0f0f0f 0%, #141414 50%, #0f0f0f 100%);
  color:#fff;
  font-size:.875rem;
  position:relative;
  z-index:1100;
}

.topbar a{
  color:#fff;
  text-decoration:none;
  opacity:.9;
  transition:opacity .18s ease, color .18s ease;
}

.topbar a:hover{
  opacity:1;
  color:#fff;
}

header{
  position:relative;
  z-index:1100;
}

.navbar{
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(140%) blur(10px);
  -webkit-backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid rgba(0,0,0,.06);
  position:relative;
  z-index:1100;
  isolation:isolate;
}

.navbar .navbar-brand{
  display:flex;
  align-items:center;
  gap:.75rem;
}

.navbar-brand img{
  height:56px;
  width:auto;
}

.navbar .navbar-toggler{
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
  padding:.55rem .7rem;
  box-shadow:none;
}

.navbar .navbar-toggler:focus{
  box-shadow:var(--ring);
}

.main-nav{
  gap:.25rem;
  position:relative;
  z-index:1100;
}

.main-nav .nav-item,
.main-nav .dropdown{
  position:relative;
  z-index:1100;
}

.main-nav .nav-link{
  color:#111;
  font-weight:500;
  padding:.72rem 1rem;
  position:relative;
  border-radius:999px;
  transition:background-color .18s ease, color .18s ease, transform .18s ease;
}

.main-nav .nav-link::before{
  content:"";
  position:absolute;
  left:1.05rem;
  right:1.05rem;
  bottom:.38rem;
  height:2px;
  border-radius:2px;
  background:transparent;
  transform:scaleX(.2);
  transform-origin:center;
  transition:background-color .18s ease, transform .18s ease;
}

.main-nav .nav-link:hover{
  color:var(--brand-red);
  transform:translateY(-1px);
}

.main-nav .nav-link:hover::before{
  background:rgba(221,51,51,.65);
  transform:scaleX(1);
}

.main-nav .nav-link.active{
  color:var(--brand-red) !important;
  background:transparent !important;
  font-weight:700;
  border-bottom:0 !important;
}

.main-nav .nav-link.active::before{
  background:var(--brand-red);
  transform:scaleX(1);
}

.main-nav .dropdown-toggle::after{
  vertical-align:middle;
  margin-left:.5rem;
}

.main-nav .dropdown-menu{
  border:1px solid rgba(0,0,0,.06);
  border-radius:var(--radius);
  padding:.55rem;
  margin-top:.55rem;
  box-shadow:var(--shadow-md);
  overflow:hidden;
  z-index:3000;
}

.main-nav .dropdown-item{
  border-radius:14px;
  padding:.7rem .95rem;
  font-weight:500;
  color:var(--text-dark);
  transition:background-color .16s ease, color .16s ease, transform .16s ease;
}

.main-nav .dropdown-item:hover,
.main-nav .dropdown-item:focus{
  background:var(--brand-red);
  color:#fff !important;
  transform:translateX(2px);
}

.main-nav .dropdown-divider{
  opacity:.08;
}

.btn-brand{
  background:var(--brand-red);
  border-color:var(--brand-red);
  color:#fff;
  border-radius:999px;
  padding:.65rem 1.15rem;
  font-weight:700;
  letter-spacing:.2px;
  box-shadow:0 10px 24px rgba(221,51,51,.22);
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
}

.btn-brand:hover{
  background:#c92d2d;
  border-color:#c92d2d;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(221,51,51,.28);
}

.btn-outline-brand{
  border:2px solid var(--brand-red);
  color:var(--brand-red);
  background:transparent;
  border-radius:999px;
  padding:.6rem 1.25rem;
  font-weight:800;
  letter-spacing:.2px;
  transition:background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.btn-outline-brand:hover{
  background:var(--brand-red);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(221,51,51,.18);
}

.footer-wrapper{
  position:relative;
  overflow:hidden;
  padding:5rem 0 3rem;
  color:#fff;
  border-top-left-radius:3rem;
  border-top-right-radius:3rem;
  background:
    radial-gradient(800px 800px at 50% 115%, rgba(221,51,51,.55) 0%, rgba(221,51,51,0) 70%),
    linear-gradient(90deg, #1c1c1c 0%, #202020 50%, #1c1c1c 100%);
}

.footer-title{
  font-weight:800;
  margin-bottom:1rem;
  letter-spacing:.2px;
}

.footer-text{
  color:rgba(255,255,255,.65);
  line-height:1.7;
  margin-bottom:2rem;
  max-width:44ch;
}

.footer-social span{
  font-weight:700;
}

.footer-social a{
  color:var(--brand-red);
  font-size:1.3rem;
  display:inline-flex;
  line-height:1;
  transition:transform .16s ease, opacity .16s ease;
}

.footer-social a:hover{
  transform:translateY(-2px);
  opacity:.95;
}

.footer-heading{
  font-weight:600;
  margin-bottom:1.25rem;
  color:#fff;
}

.footer-links{
  list-style:none;
  padding:0;
  margin:0;
  max-width:260px;
}

.footer-links li{
  margin-bottom:1.05rem;
}

.footer-links a{
  width:100%;
  color:rgba(255,255,255,.78);
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem;
  font-size:1.08rem;
  line-height:1.25;
  font-weight:500;
  transition:color .16s ease, transform .16s ease;
}

.footer-links a:hover{
  color:#fff;
  transform:translateX(2px);
}

.footer-links a i{
  color:var(--brand-red);
  font-size:1.1rem;
  line-height:1;
}

.footer-links.simple{
  max-width:220px;
}

.footer-links.simple li{
  margin-bottom:.95rem;
}

.footer-links.simple a{
  justify-content:flex-start;
  gap:.5rem;
  font-size:1.02rem;
  color:rgba(255,255,255,.62);
}

.footer-links.simple a:hover{
  color:rgba(255,255,255,.85);
}

.footer-links.simple a i{
  display:none;
}

.footer-contact{
  list-style:none;
  padding:0;
  margin:0;
}

.footer-contact li{
  display:flex;
  gap:.75rem;
  margin-bottom:1rem;
  color:rgba(255,255,255,.72);
  line-height:1.5;
}

.footer-contact i{
  color:var(--brand-red);
}

.footer-bottom{
  margin-top:4rem;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  color:rgba(255,255,255,.65);
  gap:1.5rem;
}

.footer-policy{
  color:var(--brand-red);
  text-decoration:underline;
}

.back-to-top{
  background:transparent;
  border:none;
  color:rgba(255,255,255,.75);
  display:flex;
  align-items:center;
  gap:.75rem;
  font-size:.95rem;
  cursor:pointer;
  padding:0;
  transition:color .16s ease;
}

.back-to-top:hover{
  color:#fff;
}

.back-to-top-icon{
  width:36px;
  height:36px;
  background:var(--brand-red);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  flex-shrink:0;
  box-shadow:0 10px 22px rgba(221,51,51,.22);
}

.back-to-top-icon i{
  font-size:1rem;
}

@media (max-width: 991.98px){
  .footer-wrapper{
    border-top-left-radius:2rem;
    border-top-right-radius:2rem;
    padding:3.5rem 0 2.5rem;
    background:
      radial-gradient(700px 700px at 50% 120%, rgba(221,51,51,.55) 0%, rgba(221,51,51,0) 70%),
      linear-gradient(90deg, #1c1c1c 0%, #202020 50%, #1c1c1c 100%);
  }

  .main-nav .nav-link{
    padding:.78rem 1rem;
  }

  .main-nav .dropdown-menu{
    border-radius:16px;
    padding:.5rem;
  }

  .footer-links,
  .footer-links.simple{
    max-width:100%;
  }

  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
  }
}

.main-nav .dropdown-toggle.active,
.main-nav .nav-item.dropdown > .nav-link.active{
  color:var(--brand-red) !important;
  background:transparent !important;
  font-weight:700;
  border-bottom:0 !important;
}
