
/* Minimal CSS, no external JS or CSS required */
:root{
  --bg-grad-start:#ffffff;
  --bg-grad-end:#fee2e2;
  --brand:#b91c1c;
  --brand-dark:#991b1b;
  --ink:#111827;
  --muted:#6b7280;
  --ring:#e5e7eb;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,'Noto Sans',sans-serif;color:var(--ink);background:linear-gradient(to bottom,var(--bg-grad-start),var(--bg-grad-end));min-height:100%}
.wrapper{max-width:1100px;margin:0 auto;padding:0 20px}
.header{position:sticky;top:0;background:rgba(255,255,255,0.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--ring);z-index:20}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:12px}
.logo img{height:40px;width:auto;background:#fff;border-radius:6px;padding:0}
.nav a{display:inline-block;padding:8px 12px;border-radius:10px;font-size:14px;color:#374151;text-decoration:none}
.nav a:hover{background:#fee2e2}
.hero{position:relative;overflow:hidden}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(220,38,38,0.12),rgba(153,27,27,0.12))}
.hero-inner{position:relative;padding:64px 0}
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:1fr}
@media(min-width:900px){.grid-2{grid-template-columns:1fr 1fr}}
.stat{background:#fff;border:1px solid var(--ring);border-radius:16px;padding:20px;text-align:center}
.stat .value{font-size:28px;font-weight:800}
.stat .label{font-size:12px;color:var(--muted)}
.btn{display:inline-block;padding:12px 18px;border-radius:16px;border:none;cursor:pointer;font-weight:600;text-decoration:none}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-dark)}
.btn-ghost{background:#fff;border:1px solid rgba(0,0,0,0.05);color:#1f2937}
.btn-ghost:hover{background:#fee2e2}
.section{margin:40px 0}
.card{background:#fff;border:1px solid var(--ring);border-radius:16px;padding:20px}
.list{margin:10px 0 0 0;padding-left:18px}
.list li{margin:6px 0}
.placeholder{aspect-ratio:4/3;background:#e5e7eb;border-radius:16px;display:grid;place-items:center;color:#6b7280;font-size:14px}
.footer{margin-top:40px;border-top:1px solid var(--ring)}
.footer-inner{padding:24px 0;color:#6b7280;font-size:14px;display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap}
.table{width:100%;border-collapse:separate;border-spacing:0 10px}
.table td{vertical-align:top}
.input,.select,.textarea{width:100%;padding:10px;border-radius:12px;border:1px solid #d1d5db}
.label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.req{color:#dc2626}
.form-row{display:grid;gap:16px}
@media(min-width:900px){.cols-2{grid-template-columns:1fr 1fr}.cols-3{grid-template-columns:1fr 1fr 1fr}}
.notice{background:#fff3cd;border:1px solid #ffe69c;padding:12px 14px;border-radius:12px;color:#664d03}

/* Temporary site-wide construction notice */
.construction-notice{
  background:#991b1b;
  color:#fff;
  text-align:center;
  padding:10px 16px;
  font-size:14px;
  line-height:1.45;
  border-bottom:1px solid rgba(0,0,0,0.08);
}
.construction-notice strong{
  display:block;
  font-size:14px;
  letter-spacing:.04em;
}
.construction-notice span{
  display:block;
}

.front-image img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}

.service-image img {
  width: 100%;
  height: 270px;
  object-fit: cover;
  display: block;
  border-radius: 10px;
}