/* Base */
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.55;color:#222;background:#fff}
a{color:#b02828;text-decoration:none}
a:hover{text-decoration:underline}
.page-section{max-width:1100px;margin:0 auto;padding:2rem 1.5rem}
.page-title{margin-top:0}

/* Header */
header{background:#111;color:#fff}
.header-inner{max-width:1100px;margin:0 auto;padding:1rem 1.5rem;display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.logo{font-weight:700}
nav{display:flex;gap:.85rem;flex-wrap:wrap}
nav a{color:#fff;opacity:.9;padding:.25rem .2rem}
nav a.active{opacity:1;border-bottom:2px solid #fff}

/* Hero */
.hero{background:linear-gradient(135deg,#d7322d,#1b1b1b);color:#fff;padding:4rem 1.5rem 3rem}
.hero-inner{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:3rem}
.hero-left,.hero-right{flex:1 1 320px}
.hero-logo{max-width:340px;height:auto;border-radius:10px;box-shadow:0 10px 35px rgba(0,0,0,.35);display:block;margin:0 auto}
.hero-right h1{font-size:2.2rem;margin:.25rem 0 1rem;line-height:1.25}
.hero-right p{max-width:520px;margin:0 0 1.25rem}

/* Buttons */
.btn{display:inline-block;padding:.8rem 1.1rem;border-radius:8px;font-weight:700}
.btn-group{display:flex;flex-wrap:wrap;gap:1rem}
.btn-primary{background:#fff;color:#b02828}
.btn-outline{border:2px solid #fff;color:#fff}

/* Cards / grids */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:1rem}
.card{background:#fafafa;border:1px solid #e2e2e2;border-radius:10px;padding:1rem;box-shadow:0 4px 12px rgba(0,0,0,.06)}
.card h3{margin:.25rem 0 .5rem}
.rule{margin:1.5rem 0;border:none;border-top:1px solid #ddd}

/* Photo grid */
.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}
.photo-grid figure{margin:0;background:#fafafa;border-radius:10px;overflow:hidden;border:1px solid #e0e0e0;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.photo-grid img{width:100%;display:block}
.photo-grid figcaption{padding:.6rem .85rem .9rem;font-size:.92rem;color:#444}

/* Vendor scroller */
.vendor-banner{background:#fafafa}
.vendor-banner h2{text-align:center;margin:0 0 1rem}
.vendor-note{text-align:center;margin:.85rem 0 0;font-size:.9rem;color:#555}
.logo-scroller{overflow:hidden;position:relative}
.logo-track{display:flex;align-items:center;gap:3rem;animation:scroll-logos 25s linear infinite;will-change:transform}
.logo-track img{height:40px;width:auto;display:block}
@keyframes scroll-logos{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* Option C behavior */
.vendor-banner--bottom{display:none}
@media (max-width: 768px){
  .hero-inner{flex-direction:column;text-align:center}
  .hero-right p{margin-left:auto;margin-right:auto}
  .btn-group{justify-content:center}
  .vendor-banner--top{display:none}
  .vendor-banner--bottom{display:block}
  .logo-track{gap:2rem;animation-duration:35s}
}

/* Contact page */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1rem 0 1.5rem}
.contact-form{max-width:700px}
.contact-form label{display:block;margin:.75rem 0;font-weight:700}
.contact-form input,.contact-form textarea{width:100%;padding:.7rem;border-radius:8px;border:1px solid #ccc;margin-top:.35rem;font-weight:400}
.small-note{font-size:.9rem;color:#555;margin-top:.75rem}
footer{background:#111;color:#fff;text-align:center;padding:1.25rem 1rem}