:root{--brand:#0c88a9;--accent:#b7d431;--dark:#123b4a;--bg:#f5f7f9}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;color:#14323f;background:#fff;line-height:1.55}
body.home{background:var(--bg)}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:24px}
.header{position:sticky;top:0;background:#fff;border-bottom:1px solid #e9eef0;z-index:10}
.nav{display:flex;align-items:center;gap:24px}
.nav img{height:40px}
.nav a{font-weight:600}
.hero{display:grid;gap:18px;align-items:center;grid-template-columns:1.2fr .8fr;margin-top:24px}
.hero h1{font-size:clamp(28px,3.6vw,48px);margin:0;color:#123b4a}
.subtitle{font-size:18px;color:#3a5a66}
.cta{display:flex;gap:12px;margin-top:12px}
.button{display:inline-block;padding:12px 18px;border-radius:999px;border:2px solid var(--brand);font-weight:700}
.badge{display:inline-block;background:var(--accent);color:#183c1b;font-weight:800;padding:2px 10px;border-radius:999px;margin-bottom:8px;letter-spacing:.4px}
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.grid.two{grid-template-columns:repeat(2,minmax(260px,1fr))}
@media (max-width:700px){.grid.two{grid-template-columns:1fr}}
.card{border:1px solid #e5edf0;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 1px 0 #eaf1f3;transition:transform .12s ease}
.card:hover{transform:translateY(-2px)}
.card img{width:100%;height:220px;object-fit:cover;display:block}
.card .p{padding:12px 14px}
footer{margin-top:48px;border-top:1px solid #e9eef0;padding:24px 0;color:#46616c;background:#fff}
.hero-art{border-radius:16px;min-height:220px;background:#eef5f8 url('assets/images/hero.jpg') center/cover no-repeat;border:1px solid #e8edf0}
.section-title{margin:24px 0 8px 0;color:#123b4a}
.contact{display:grid;gap:24px;grid-template-columns:1fr 1fr}
input,textarea{width:100%;padding:12px 14px;border:1px solid #d6e3e7;border-radius:12px;font:inherit}
label{font-weight:600;color:#2f5562}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
form button{padding:12px 18px;border-radius:999px;border:none;background:var(--brand);color:#fff;font-weight:800}
.small{font-size:14px;color:#52727e}
/* Modal + carousel */
.modal{position:fixed;inset:0;background:rgba(6,22,33,.75);display:none;align-items:center;justify-content:center;padding:24px;z-index:50}
.modal.open{display:flex}
.modal-card{background:#fff;border-radius:16px;max-width:min(1100px,92vw);max-height:92vh;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.28);display:flex;flex-direction:column}
.modal-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #e9eef0;background:#fff;position:sticky;top:0;z-index:1}
.modal-header h3{margin:0;font-size:18px;color:#123b4a}
.modal-close{margin-left:auto;border:none;background:transparent;font-size:22px;cursor:pointer}
.carousel{position:relative;display:flex;align-items:center;justify-content:center;background:#0a0f12}
.carousel img{max-width:100%;max-height:74vh;object-fit:contain;display:block}
.navbtn{position:absolute;top:50%;transform:translateY(-50%);border:none;background:rgba(255,255,255,.85);width:40px;height:40px;border-radius:999px;cursor:pointer;font-size:22px;display:flex;align-items:center;justify-content:center}
.navbtn:hover{background:#fff}
.navbtn.prev{left:12px}
.navbtn.next{right:12px}
.caption{padding:10px 16px;border-top:1px solid #e9eef0;background:#fff;color:#123b4a;font-weight:500}
@media (max-width:800px){
  .hero{grid-template-columns:1fr}
  .contact{grid-template-columns:1fr}
}
