:root{
  --brand-blue: #0071BC;
  --black: #000000;
  --muted: #6b6b6b;
  --bg: #ffffff;
  --card-bg: #fbfbff;
  --maxw: 1200px;
  --radius: 10px;
}
*{box-sizing:border-box}
body{font-family:Inter, 'Helvetica Neue', Arial, sans-serif; margin:0; color:#111; background:var(--bg); -webkit-font-smoothing:antialiased}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 22px}
.header-frame{border:12px solid var(--black); margin:20px; border-radius:14px; padding:8px; background:linear-gradient(180deg, rgba(255,255,255,0.95), rgba(255,255,255,0.9))}
.site-header{display:flex; align-items:center; justify-content:space-between; gap:12px}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none}
.brand img{width:84px; height:84px; object-fit:contain; border-radius:8px}
.brand .title{font-weight:800; color:var(--brand-blue); font-size:1.3rem; margin:0}
.brand .motto{font-size:0.95rem; color:var(--brand-blue); margin:0; font-style:italic}

.main-nav{display:flex; gap:14px; align-items:center}
.main-nav a{color:#111; text-decoration:none; padding:8px 10px; border-radius:8px; font-weight:600}
.main-nav a.button{background:var(--brand-blue); color:#fff}
.main-nav a:hover{background:#f2f2f2}

.h-hero{border:2px solid var(--black); margin:22px; padding:36px; border-radius:12px; display:flex; gap:20px; align-items:center}
.h-hero .hero-left{flex:1}
.h-hero h1{color:var(--brand-blue); margin:0; font-size:36px}
.h-hero p.lead{color:var(--muted); font-size:18px}

.grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; margin:22px}
.card{background:var(--card-bg); padding:18px; border-radius:10px; box-shadow:0 6px 20px rgba(0,0,0,0.05); border:1px solid #eee}
.card img{width:100%; height:160px; object-fit:cover; border-radius:8px; margin-bottom:10px}

.services-list{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:16px 0}

.cta{display:inline-block; background:var(--brand-blue); color:#fff; padding:12px 18px; border-radius:10px; text-decoration:none; font-weight:700}

.footer{background:var(--brand-blue); color:#fff; padding:24px; text-align:center; margin:22px; border-radius:10px}
.footer a{color:#fff; text-decoration:underline}

.container{max-width:var(--maxw); margin:0 auto; padding:0 22px}

/* Forms */
.form{max-width:780px; margin:12px auto}
.form label{display:block; margin:10px 0 6px; color:var(--muted); font-size:14px}
.form input,.form textarea,.form select{width:100%; padding:10px; border:1px solid #d9d9d9; border-radius:8px; font-size:14px}
.form .row{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.form button{margin-top:12px; padding:12px 18px; background:var(--brand-blue); color:#fff; border:0; border-radius:8px; cursor:pointer; font-weight:700}

/* Gallery */
.gallery{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px}
.gallery img{width:100%; height:140px; object-fit:cover; border-radius:8px}

/* Shop */
.product{display:flex; gap:12px; align-items:center}
.product img{width:90px; height:90px; object-fit:cover; border-radius:8px}

/* Responsive */
@media(max-width:900px){
  .main-nav{display:none}
  .mobile-nav{display:flex; gap:8px}
  .h-hero{flex-direction:column; text-align:center}
  .services-list{grid-template-columns:1fr}
}