
:root{--red:#e11b22;--black:#111;--white:#fff;--muted:#6b7280;--bg:#f8f8f8}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:system-ui, -apple-system, 'Segoe UI', Roboto, Inter, Arial, sans-serif;color:var(--black);background:var(--bg);line-height:1.6}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.container-wide{max-width:1400px;margin:0 auto;padding:0 20px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.98);border-bottom:1px solid #eee;backdrop-filter:saturate(180%) blur(6px)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:10px}
.logo-img{height:32px;width:auto;display:block}
.logo-text{font-weight:900;letter-spacing:2px}
.logo-text span{color:var(--red)}
nav a{margin-left:16px;text-decoration:none;color:var(--black);font-weight:600}
nav a.cta{padding:8px 14px;border:2px solid var(--red);border-radius:8px;color:var(--red)}
.hero{background:linear-gradient(180deg,#fff,#f9f9f9);padding:56px 0 32px;border-bottom:1px solid #eee}
.hero-inner h1{font-size:clamp(28px,4vw,44px);margin:0 0 10px}
.hero-inner p{margin:0 0 18px}
.hero-ctas{display:flex;gap:12px;margin:12px 0 8px}
.btn{display:inline-block;padding:12px 18px;border-radius:10px;text-decoration:none;font-weight:700}
.btn.primary{background:var(--red);color:var(--white)}
.btn.outline{border:2px solid var(--black);color:var(--black)}
.trust{display:flex;gap:16px;list-style:none;padding:0;margin:12px 0 0;font-size:14px;color:var(--muted);flex-wrap:wrap}
.section{padding:56px 0;background:#fff}
.section.alt{background:#fcfcfc}
.section.fullbleed{background:#fff}
.section h2{font-size:clamp(22px,3.2vw,32px);margin:0 0 18px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{background:#fff;border:1px solid #eee;border-radius:12px;padding:18px;box-shadow:0 1px 2px rgba(0,0,0,0.03)}
/* Full-width gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.gallery-grid a{display:block;border-radius:14px;overflow:hidden;border:1px solid #eee;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.04)}
.gallery-grid img{display:block;width:100%;height:220px;object-fit:cover;transition:transform .25s ease}
.gallery-grid a:hover img{transform:scale(1.02)}
/* Contact */
.contact{border-top:1px solid #eee;border-bottom:1px solid #eee}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-card{background:#fff;border:1px solid #eee;border-radius:12px;padding:18px}
.contact-form{display:grid;gap:10px;background:#fff;border:1px solid #eee;border-radius:12px;padding:18px}
.contact-form label{display:grid;gap:6px;font-weight:600}
.contact-form input,.contact-form textarea{padding:10px 12px;border:1px solid #ddd;border-radius:8px;font:inherit}
.contact-form button{cursor:pointer;border:none}
.site-footer{padding:24px 0;background:#fff}
.site-footer .tiny{color:var(--muted);font-size:12px}
@media (max-width: 760px){
  .contact-grid{grid-template-columns:1fr}
  nav a{margin-left:10px}
  .gallery-grid img{height:180px}
}

.lightbox-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;padding:20px;z-index:100}
.lightbox-backdrop.open{display:flex}
.lightbox-inner{max-width:96vw;max-height:86vh}
.lightbox-inner img{max-width:100%;max-height:86vh;border-radius:12px;display:block}
.lightbox-close{position:fixed;top:12px;right:12px;background:#fff;border:1px solid #ddd;border-radius:10px;padding:8px 12px;font-weight:700;cursor:pointer}
