html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

/* Page-specific styles moved from Pages/Index.cshtml */
:root{
  --primary:#0b689a;
  --accent:#FF7900;
  --light:#f7f7f7;
  --dark:#1a1a1a;
  --max-width:1100px;
}

/* Accessible skip link */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:16px;top:16px;width:auto;height:auto;background:#fff;color:#000;padding:8px 12px;border-radius:4px;z-index:9999;box-shadow:0 2px 8px rgba(0,0,0,.15);text-decoration:none}

/* Basic page container - keeps content centered and responsive */
.page-container{width:90%;max-width:var(--max-width);margin:0 auto;padding:24px 0}

/* HERO */
.hero{background-image:linear-gradient(rgba(11,104,154,.85),rgba(11,104,154,.85)),url('/svg%20assets/hero-safety.svg');background-position:center;background-size:cover;background-repeat:no-repeat;color:#fff;text-align:center;min-height:200px;display:flex;align-items:center;justify-content:center;padding:18px}
.hero-inner{width:100%;max-width:900px;margin:0 auto;text-align:center}
.hero h1{font-size:clamp(1.25rem,2.2vw,2rem);margin-bottom:8px;line-height:1.15}
.hero p{margin-bottom:12px;color:rgba(255,255,255,.95);font-size:1rem}

/* Brand logos in hero */
.brand-logos{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:12px}
.brand-logos .logo-square{width:64px;height:64px;object-fit:contain;border-radius:8px}
.brand-logos .logo-wide{height:48px;object-fit:contain}

@media (max-width:576px){
  .brand-logos{gap:8px}
  .brand-logos .logo-square{width:48px;height:48px}
  .brand-logos .logo-wide{height:36px}
}

/* Buttons (lightweight, avoids depending on custom site.css) */
.btn{display:inline-block;padding:.55rem .9rem;border-radius:.45rem;text-decoration:none;font-weight:600;border:none;cursor:pointer;font-size:.95rem}
.btn-primary{background:var(--accent);color:#fff}
.btn-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.2)}

/* FEATURES */
.features{background:var(--light);text-align:center;padding:20px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.card{background:#fff;padding:16px;border-radius:8px;box-shadow:0 3px 8px rgba(0,0,0,.04);text-align:left}
.card h3{color:var(--primary);margin-bottom:8px}

/* PRODUCT */
.product{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}
.product img{width:100%;height:auto;border-radius:8px;display:block}

/* Navbar logo */
.navbar-logo{width:40px;height:40px;object-fit:contain;border-radius:6px}
.navbar-brand img.navbar-logo{display:inline-block}

.benefits{background:var(--light);text-align:center;padding:18px 0}
.benefits div{margin:6px 0;font-weight:600}

.cta{background:#f0f0f0;text-align:center;padding:18px 0}

.contact{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}

/* Resco partner page styles */
.resco-logos{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:flex-start;margin-top:12px}
.resco-logos .resco-img{max-height:120px;width:auto;display:block}
@media (max-width:576px){
  .resco-logos{justify-content:center}
  .resco-logos .resco-img{max-height:80px}
}

/* Responsive adjustments */
@media (max-width:992px){
  .hero{padding:18px}
  .product{grid-template-columns:1fr}
}
@media (max-width:576px){
  .page-container{padding:12px 0}
  .hero{min-height:160px;padding:12px}
  .hero h1{font-size:1.25rem}
}