:root{
  /* brand colors */
  --brand:#0ea5e9;
  --brand2:#22d3ee;

  /* neutrals */
  --ink:#0f172a;
  --muted:#64748b;
  --ring:#e2e8f0;
  --pale:#f8fafc;
  --card:#ffffff;
}

*{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(--ink);background:#fff}

.container{max-width:1100px;margin:0 auto;padding:0 16px}

/* header */
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--ring);z-index:30}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.logo{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-text em{font-style:normal;color:var(--muted);font-size:12px}
.nav a{margin-left:16px;color:var(--ink);text-decoration:none}
.nav a:hover{text-decoration:underline}

/* hero */
.hero{position:relative;border-bottom:1px solid var(--ring);background:#fff}
.pattern{position:absolute;inset:0;pointer-events:none;opacity:.6;
  background:
    radial-gradient(700px 260px at 15% 10%, #e0f2fe, transparent 60%),
    radial-gradient(800px 320px at 85% 20%, #f0f9ff, transparent 65%);
}
.hero-inner{position:relative;padding:64px 0;text-align:center}
.hero-inner h1{font-size:36px;margin:0 0 10px}
.hero-inner p{margin:0 auto 16px;max-width:720px;color:var(--muted)}
.hero-actions{display:flex;gap:10px;justify-content:center}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ring);padding:10px 14px;border-radius:10px;background:#fff;cursor:pointer;text-decoration:none;color:var(--ink);transition:transform .1s ease, box-shadow .1s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(2,8,23,.08)}
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}

/* sections */
.section{padding:56px 0}
.pale{background:var(--pale)}
.section-head h2{margin:0 0 8px}
.section-head p{margin:0;color:var(--muted)}

/* cards */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:18px}
.card{background:var(--card);border:1px solid var(--ring);border-radius:16px;overflow:hidden;box-shadow:0 6px 24px rgba(2,8,23,.06)}
.card-media{background:linear-gradient(135deg,#f8fafc,#eef2ff);height:200px;display:flex;align-items:center;justify-content:center;position:relative}
.card-media img{width:100%;height:200px;object-fit:cover;display:block}
.media-fallback{font-weight:700;letter-spacing:.3px;color:#334155}
.card-body{padding:16px}
.card-body h3{margin:4px 0 8px}
.card-body p{margin:0;color:var(--muted)}
.card-meta{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
.price{font-weight:600;color:#0ea5e9}

/* feature pills (why us) */
.pill-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:16px 0 0;padding:0}
.pill-list li{background:#fff;border:1px solid var(--ring);border-radius:999px;padding:8px 12px;font-size:14px}

/* footer */
.contact{text-align:center}
.site-footer{border-top:1px solid var(--ring);background:#fff}
.footer-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 0;font-size:14px}
.footer-inner .links a{margin-left:12px;color:var(--muted);text-decoration:none}
.footer-inner .links a:hover{text-decoration:underline}

/* modal */
.modal{position:fixed;inset:0;display:none}
.modal.show{display:block}
.modal-backdrop{position:absolute;inset:0;background:rgba(2,8,23,.55)}
.modal-card{position:relative;max-width:560px;margin:7vh auto;background:#fff;border-radius:16px;box-shadow:0 24px 80px rgba(2,8,23,.35);padding:20px;border:1px solid var(--ring)}
.modal-close{position:absolute;top:8px;right:12px;border:0;background:transparent;font-size:24px;cursor:pointer}
.form{display:grid;gap:10px;margin-top:8px}
.form label{display:grid;gap:6px}
.form input,.form select,.form textarea{border:1px solid var(--ring);border-radius:10px;padding:10px;font:inherit}
.hint{font-size:12px;color:var(--muted)}
.actions{display:flex;gap:8px;margin-top:6px}
.success{padding:12px;background:#ecfdf5;border:1px solid #10b98133;border-radius:10px}
.hidden{display:none}

/* simple gallery dots (optional if you add multiple images later) */
.gallery{position:relative}
.gallery img[hidden]{display:none}
.gallery .dots{
  position:absolute;bottom:8px;left:50%;transform:translateX(-50%);
  display:flex;gap:6px;
}
.gallery .dots button{
  width:10px;height:10px;border-radius:50%;border:0;background:#ffffffcc;cursor:pointer;
}
.gallery .dots button.active{background:#0ea5e9}

/* responsive */
@media (max-width:980px){
  .grid{grid-template-columns:1fr 1fr}
  .hero-inner h1{font-size:30px}
}
@media (max-width:640px){
  .grid{grid-template-columns:1fr}
  .hero-inner{padding:44px 0}
}
