
:root{--brand:#0d3b66;--accent:#00a896;--bg:#f7f9fc;--text:#0f172a;--muted:#475569;--white:#fff}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.6}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.site-header{position:sticky;top:0;background:var(--white);box-shadow:0 8px 24px rgba(15,23,42,0.06);z-index:50}
.site-header .container{display:flex;align-items:center;justify-content:space-between;min-height:64px}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text);font-weight:700}
.logo-mark{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:8px;background:var(--brand);color:var(--white);font-weight:800}
.nav a{margin:0 .6rem;text-decoration:none;color:var(--text)}
.tel{font-weight:700;text-decoration:none;color:var(--brand)}
.btn{display:inline-block;border:2px solid var(--brand);padding:.5rem .9rem;border-radius:10px;text-decoration:none;color:var(--brand);font-weight:700}
.btn-primary{background:var(--brand);color:var(--white)}
.hero{padding:3rem 0 2rem;background:linear-gradient(180deg,#ffffff 0%,#eef6ff 100%)}
.lead{color:var(--muted);max-width:60ch}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;padding:1rem 0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.card{display:block;background:var(--white);padding:1rem;border-radius:12px;box-shadow:0 6px 18px rgba(15,23,42,0.06);text-decoration:none;color:inherit}
.page-hero{padding:2.5rem 0;background:#eef6ff}
.prose{padding:2rem 0;background:transparent}
.ticks{padding-left:1.2rem}
.cta{padding:2rem 0;background:#0d3b6610}
.site-footer{margin-top:2rem;background:var(--white);box-shadow:0 8px 24px rgba(15,23,42,0.06)}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;padding:2rem 0}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;align-items:start}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:.6rem;border:1px solid #cbd5e1;border-radius:8px;margin-top:.4rem}
@media (max-width:700px){.nav{display:none}}


/* --- Service Gallery --- */
.service-gallery { margin: 2rem auto; padding: 0 1rem; }
.service-gallery > h2 { margin-bottom: 1rem; }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; }
.gallery-item { border: 1px solid #eee; border-radius: 8px; overflow: hidden; background: #fff; }
.gallery-item img { display: block; width: 100%; height: auto; max-height: 400px; object-fit: cover; }
.gallery-item figcaption { font-size: 0.9rem; padding: 0.5rem 0.75rem; color: #555; }
@media (prefers-color-scheme: dark) {
  .gallery-item { border-color: #333; background: #111; }
  .gallery-item figcaption { color: #bbb; }
}


/* --- Blog --- */
.blog-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.post-card { border: 1px solid #eee; border-radius: 10px; padding: 1rem; background: #fff; }
.post-card h2 { margin-top: 0; }
@media (prefers-color-scheme: dark) {
  .post-card { border-color: #333; background: #111; }
}


/* --- Logo --- */
.site-logo { max-height: 60px; width: auto; display: block; }


/* --- Fleet --- */
.fleet { margin: 3rem 0; text-align: center; }
.fleet h2 { margin-bottom: 1rem; }
.fleet-img { max-width: 100%; height: auto; border-radius: 10px; box-shadow: 0 4px 12px rgba(0,0,0,0.2); }


/* --- Reviews --- */
.reviews-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.review-card { border: 1px solid #eee; border-radius: 12px; padding: 1rem; background: #fff; }
.review-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.5rem; }
.review-time { font-size: 0.85rem; color: #666; margin: 0 0 0.5rem 0; }
.stars { font-family: system-ui, sans-serif; }
@media (prefers-color-scheme: dark) {
  .review-card { border-color: #333; background: #111; }
  .review-time { color: #aaa; }
}


/* --- Monochrome Theme Refresh --- */
:root{
  --brand:#000;
  --accent:#000;
  --bg:#ffffff;
  --text:#111111;
  --muted:#666666;
  --white:#ffffff;
}

body{background:#ffffff;color:#111111;}
a{color:#111111;text-decoration-color:#111111;text-underline-offset:3px;}
a:hover{text-decoration:underline;}

.site-header{background:#ffffff;box-shadow:none;border-bottom:1px solid #e6e6e6;}
.nav a{color:#111111;opacity:.85;transition:opacity .2s ease;}
.nav a:hover{opacity:1;}

.logo,.tel{color:#111111}

.btn{border-color:#000;background:#fff;color:#000;transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.08);}
.btn-primary{background:#000;color:#fff;border-color:#000;}
.btn-primary:hover{background:#111;color:#fff;}

.hero{background:linear-gradient(180deg,#ffffff 0%, #fafafa 100%);}

.card,.post-card,.gallery-item,.review-card{
  border:1px solid #e6e6e6;
  background:#fff;
  border-radius:12px;
}

.gallery-item img{transition:transform .25s ease;max-height:480px;}
.gallery-item img:hover{transform:scale(1.01);}

.site-footer{background:#fff;border-top:1px solid #e6e6e6;color:#666;}
.site-footer a{color:#111;}

.container{max-width:1120px;padding:0 24px;}
h1,h2,h3{letter-spacing:.2px}
.prose p{max-width:70ch}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .btn,.gallery-item img{transition:none}
}

.skip-link{display:none !important}


/* --- Blog grid (square thumbnails) --- */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin:1.5rem 0}
.post-card{border:1px solid #e6e6e6;border-radius:12px;padding:1rem;background:#fff}
.post-card h3{margin:.75rem 0 .5rem;font-size:1.05rem;line-height:1.3}
.post-card p{margin:0;color:#444}
.thumb.square{display:block;position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:10px}
.thumb.square img{width:100%;height:100%;object-fit:cover;display:block}
