
:root{--brand:#0c66ff;--brand-dark:#0846b8;--accent:#00b3a4;--text:#1a1a1a;--muted:#667085;--bg:#ffffff;--light:#f5f7fb}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}
.container{max-width:1120px;margin:0 auto;padding:0 16px}
.header{position:sticky;top:0;background:rgba(255,255,255,.97);backdrop-filter:saturate(180%) blur(8px);z-index:1000;border-bottom:1px solid #e5e7eb}
.header .row{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.logo{display:flex;align-items:center;gap:10px}
.logo img{height:40px;width:auto;border-radius:4px}
.logo span{font-weight:800;letter-spacing:.2px}
.nav a{margin:0 10px;text-decoration:none;color:var(--text);font-weight:600}
.btn{display:inline-block;padding:12px 18px;border-radius:10px;text-decoration:none;border:1px solid transparent;font-weight:700;cursor:pointer}
.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-dark)}
.btn-outline{border-color:var(--brand);color:var(--brand);background:#fff}
.hero{background:linear-gradient(180deg,#eef4ff,transparent);padding:36px 0 24px}
.hero h1{font-size:clamp(28px,4vw,44px);margin:0 0 8px}
.hero .sub{color:var(--muted);max-width:720px}
.badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.badge{background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:6px 10px;font-size:14px}
.grid{display:grid;gap:20px}.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{border:1px solid #e5e7eb;border-radius:14px;padding:18px;background:#fff}
.card h3{margin:.2rem 0 .4rem}
.kpis{display:flex;gap:20px;flex-wrap:wrap;margin:14px 0}
.kpi{background:var(--light);border-radius:12px;padding:10px 14px;min-width:120px}
.kpi .n{font-weight:800;font-size:20px}
.section{padding:28px 0}
.footer{background:#0b1220;color:#cbd5e1;padding:28px 0;margin-top:20px}
.footer a{color:#cbd5e1}
.form{display:grid;gap:10px}
input,select,textarea{padding:12px;border-radius:10px;border:1px solid #e5e7eb;width:100%}
label{font-weight:600}
.sticky-cta{position:fixed;bottom:14px;right:14px;display:flex;gap:10px;z-index:1000}
.sticky-cta a{box-shadow:0 8px 20px rgba(0,0,0,.12)}
.notice{background:#f0fdf4;border:1px solid #dcfce7;padding:12px;border-radius:12px;margin:10px 0}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px solid #e5e7eb;padding:10px;text-align:left}
/* Gallery */
.gallery-hero { padding:28px 0 }
.carousel { position:relative; width:100%; max-width:1100px; margin:0 auto; }
.carousel-viewport { position:relative; width:100%; aspect-ratio: 16/9; background:#0b1220; border-radius:14px; overflow:hidden; }
.carousel-viewport img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:opacity .5s ease; opacity:0 }
.carousel-viewport img.active { opacity:1 }
.carousel-controls { display:flex; align-items:center; justify-content:space-between; margin-top:10px }
.carousel-btn { border:1px solid #e5e7eb; background:#fff; padding:10px 14px; border-radius:12px; cursor:pointer; font-weight:700 }
.carousel-thumbs { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px }
.carousel-thumbs img { width:96px; height:64px; object-fit:cover; border-radius:8px; border:2px solid transparent; cursor:pointer }
.carousel-thumbs img.sel { border-color:#0c66ff }
.lightbox { position:fixed; inset:0; background:rgba(0,0,0,.85); display:none; align-items:center; justify-content:center; z-index:2000; }
.lightbox.open { display:flex }
.lightbox img { max-width:92vw; max-height:92vh; border-radius:12px }
@media (min-width:768px){.hero{padding:60px 0 32px}}
