:root{--bg:#0f172a;--ink:#0b1220;--text:#0f172a;--muted:#475569;--pri:#2563eb;--pri-ink:#1e40af;--card:#ffffff;--accent:#10b981;}
*{box-sizing:border-box}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,TH Sarabun New,Prompt,sans-serif;margin:0;color:var(--text);background:#f7fafc}
a{color:var(--pri);text-decoration:none}.nav{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:#fff;position:sticky;top:0;border-bottom:1px solid #e5e7eb;z-index:10}
.nav .brand{font-weight:800;font-size:20px;color:var(--pri)}.nav nav a{margin:0 10px}.btn{display:inline-block;padding:10px 16px;border-radius:12px;background:var(--pri);color:#fff;font-weight:600}
.btn.ghost{background:#e2e8f0;color:var(--text)}.btn.lg{padding:14px 20px;font-size:18px;border-radius:14px}
.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center;padding:48px 20px;max-width:1100px;margin:auto}
.hero h1{font-size:40px;margin:.2em 0}.accent{background:linear-gradient(90deg,var(--pri),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .bullets{list-style:✅;margin-left:24px}.hero .art{width:100%;height:auto;fill:#e2e8f0;stroke:#cbd5e1;stroke-width:2}
.grid3{max-width:1100px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:10px 20px 40px}
.card{background:var(--card);border:1px solid #e5e7eb;border-radius:16px;padding:16px;box-shadow:0 6px 14px rgba(2,6,23,.04)}
.strip{background:#0ea5e9;color:#fff;text-align:center;padding:14px}.small{color:var(--muted);font-size:14px}
.pricing-preview{max-width:1100px;margin:20px auto;padding:0 20px}.pricing-preview .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.price-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px;text-align:center}.price-card .price{font-size:36px;margin:8px 0}
.price-card.featured{border-color:var(--pri);box-shadow:0 8px 20px rgba(37,99,235,.15)}.cta-block{text-align:center;padding:40px 20px}
.footer{background:#0b1220;color:#cbd5e1;padding:30px 20px;margin-top:40px}.footer a{color:#fff}
.footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px;max-width:1100px;margin:auto}
.footer .badge{display:inline-block;background:linear-gradient(90deg,var(--pri),var(--accent));color:#fff;padding:4px 10px;border-radius:999px;font-size:12px}
.page-hero{max-width:900px;margin:20px auto;padding:10px 20px}.page-hero h1{margin:.2em 0}
.list, .reviews, .price-table, .contact, .article{max-width:900px;margin:10px auto;padding:0 20px 40px}
.list article{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;margin:10px 0}
.price-table table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden}
.price-table th, .price-table td{padding:12px;border-bottom:1px solid #e5e7eb;text-align:left}
.faq details{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px;margin:8px 0}
.reviews .review{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;margin:10px 0}
.posts article{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px}
.article .muted{color:var(--muted)}.form{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px}
.form label{display:block;margin:10px 0}.form input,.form select,.form textarea{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:10px}
/* Floating Call Button */
.call-btn{position:fixed;bottom:20px;right:20px;background:#2563eb;color:#fff;padding:14px 20px;border-radius:999px;font-size:18px;font-weight:700;text-decoration:none;box-shadow:0 4px 12px rgba(0,0,0,.25);z-index:9999}
.call-btn:hover{background:#1e40af}
@media (min-width: 901px){.call-btn{font-size:16px;padding:12px 18px}}
@media (max-width: 500px){.nav nav a{margin:0 6px}}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 24px}
.chip{display:inline-block;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:999px;padding:8px 12px;font-weight:600}
.service-zones{max-width:1100px;margin:10px auto;padding:0 20px}

.gallery .photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:10px 0}
.gallery img{width:100%;border-radius:12px;border:1px solid #ddd}

/* --- Services grid & cards --- */
.service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin:20px auto;max-width:1100px;padding:0 20px}
.service-card{position:relative;border:1px solid #e5e7eb;border-radius:14px;background:#fff;padding:14px;box-shadow:0 2px 10px rgba(0,0,0,.03);transition:transform .15s ease, box-shadow .15s ease}
.service-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.06)}
.service-card h3{margin:0 0 8px 0;font-size:18px}
.service-card p{margin:0 0 10px 0;color:#4b5563;font-size:14px;line-height:1.6}
.service-card .badge{display:inline-block;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:999px;padding:2px 10px;font-size:12px;margin-right:6px}
.service-card .meta{font-size:12px;color:#6b7280}
a.card-link{position:absolute;top:10px;right:10px;padding:8px 10px;border-radius:10px;border:1px solid #e5e7eb;background:#f9fafb;font-size:12px;text-decoration:none}
a.card-link:hover{background:#eef2ff;border-color:#c7d2fe}

:root{
  --brand:#1d4ed8;
  --brand-2:#0ea5e9;
  --ink:#0f172a;
  --muted:#475569;
  --line:#e5e7eb;
  --bg:#f8fafc;
  --card:#ffffff;
  --radius:14px;
}
*{box-sizing:border-box}
.btn{display:inline-block;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none}
.btn:hover{background:#eef2ff;border-color:#c7d2fe}
.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;border-color:transparent}
.btn.primary:hover{opacity:.95}
.page-hero{max-width:1100px;margin:0 auto 12px;padding:32px 20px 20px;background:linear-gradient(180deg,rgba(14,165,233,.06),rgba(29,78,216,.04));border-bottom:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius)}
.page-hero h1{margin:0 0 6px 0}
.prose p{color:var(--muted);line-height:1.8}
.prose h2{margin-top:18px}
.grid{display:grid;gap:16px}
.info-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:12px 0 8px}
.info-pill{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 12px;font-size:14px;color:var(--muted)}
.badge{display:inline-block;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:999px;padding:2px 10px;font-size:12px;margin-right:6px}
.card-shadow{box-shadow:0 6px 18px rgba(2,6,23,0.06)}
/* Services grid */
.service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin:20px auto;max-width:1100px;padding:0 20px}
.service-card{position:relative;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:14px;transition:transform .15s ease, box-shadow .15s ease}
.service-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(2,6,23,.07)}
.service-card h3{margin:0 0 8px 0;font-size:18px}
.service-card p{margin:0 0 10px 0;color:var(--muted);font-size:14px;line-height:1.6}
a.card-link{position:absolute;top:10px;right:10px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:#f9fafb;font-size:12px;text-decoration:none}
a.card-link:hover{background:#eef2ff;border-color:#c7d2fe}
/* Detail page layout */
.section{max-width:1100px;margin:0 auto;padding:0 20px}
.lead{color:var(--muted)}
.step-list li{margin-bottom:8px}
.cta-box{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.breadcrumb{max-width:1100px;margin:10px auto 0;padding:0 20px;font-size:13px;color:#64748b}
.breadcrumb a{color:#1d4ed8;text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}

/* Blog enhanced */
.blog-toolbar{display:grid;grid-template-columns:1fr 1fr 180px;gap:10px;align-items:center}
.chip-group{display:flex;gap:10px;flex-wrap:wrap}
.chip-btn{padding:8px 12px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;cursor:pointer;font-size:14px}
.chip-btn.active,.chip-btn:hover{background:#eef2ff;border-color:#c7d2fe}
.blog-search{border:1px solid #e5e7eb;border-radius:10px;padding:10px;width:100%}
.blog-sort{border:1px solid #e5e7eb;border-radius:10px;padding:10px;width:100%}
.pager{display:flex;gap:10px;align-items:center;justify-content:center}
.muted{color:#6b7280}
.chip{display:inline-block;border:1px solid #e5e7eb;border-radius:999px;padding:2px 10px;margin-right:6px;background:#fff;color:#1f2937;font-size:12px}
