:root{
  --primary:#041538;
  --accent:#6699DA;
  --muted:#AEB1B2;
  --bg:#F5F7FA;
  --text:#0f172a;
  --card:#ffffff;
  --shadow: 0 18px 45px rgba(2,6,23,.12);
  --radius: 18px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;color:var(--text);background:linear-gradient(180deg,var(--bg),#ffffff 40%);}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1120px,92%);margin:0 auto}
.btn{display:inline-flex;align-items:center;gap:.55rem;padding:.9rem 1.1rem;border-radius:999px;border:1px solid rgba(4,21,56,.14);background:#fff;box-shadow:0 10px 25px rgba(2,6,23,.06);font-weight:700;transition:.2s transform,.2s box-shadow,.2s background}
.btn:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(2,6,23,.10)}
.btn.primary{background:var(--primary);color:white;border-color:transparent}
.btn.primary:hover{background:#06204f}
.btn.accent{background:var(--accent);color:#061229;border-color:transparent}
.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .7rem;border-radius:999px;background:rgba(102,153,218,.12);border:1px solid rgba(102,153,218,.25);color:var(--primary);font-weight:700;font-size:.85rem}

header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.8);backdrop-filter: blur(10px);border-bottom:1px solid rgba(2,6,23,.08)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;gap:1rem}
.brand{display:flex;align-items:center;gap:.75rem}
.brand img{width:42px;height:42px;border-radius:12px}
.brand .name{font-weight:900;letter-spacing:.3px}
.brand .sub{font-size:.82rem;color:rgba(15,23,42,.70)}
.navlinks{display:flex;gap:1rem;align-items:center}
.navlinks a{padding:.55rem .75rem;border-radius:999px;font-weight:700;color:rgba(15,23,42,.78)}
.navlinks a:hover{background:rgba(102,153,218,.12);color:var(--primary)}
.hamburger{display:none;border:1px solid rgba(2,6,23,.14);background:#fff;border-radius:12px;padding:.55rem .65rem}
.hamburger svg{width:22px;height:22px}
@media (max-width: 860px){
  .navlinks{display:none}
  .hamburger{display:inline-flex}
}

.mobileMenu{display:none;padding:.75rem 0 1rem;border-top:1px solid rgba(2,6,23,.08)}
.mobileMenu a{display:block;padding:.75rem 1rem;border-radius:14px;font-weight:800;color:rgba(15,23,42,.82)}
.mobileMenu a:hover{background:rgba(102,153,218,.12)}

.hero{position:relative;overflow:hidden}
.heroGrid{display:grid;grid-template-columns: 1.2fr .8fr;gap:2rem;align-items:center;padding:3.25rem 0 2.25rem}
@media (max-width: 960px){.heroGrid{grid-template-columns:1fr;}}
.heroCard{background:rgba(255,255,255,.86);border:1px solid rgba(2,6,23,.08);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.4rem}
.hero h1{font-size: clamp(2.1rem, 4.2vw, 3.2rem);line-height:1.05;margin:.7rem 0 1rem}
.hero p{font-size:1.05rem;color:rgba(15,23,42,.74);line-height:1.7;margin:0 0 1.25rem}
.heroActions{display:flex;flex-wrap:wrap;gap:.85rem}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1.1rem}
.kpi{background:#fff;border:1px solid rgba(2,6,23,.08);border-radius:16px;padding:.85rem}
.kpi strong{display:block;font-size:1.15rem}
.kpi span{color:rgba(15,23,42,.65);font-weight:650;font-size:.9rem}
@media (max-width: 520px){.kpis{grid-template-columns:1fr;}}

.heroMedia{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(2,6,23,.10);position:relative;min-height:320px}
.heroMedia::after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,rgba(4,21,56,.18),rgba(102,153,218,.10),rgba(255,255,255,.0));pointer-events:none}
.heroMedia img{width:100%;height:100%;object-fit:cover}

.section{padding:3rem 0}
.sectionHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.sectionHeader h2{margin:0;font-size: clamp(1.5rem, 2.6vw, 2.1rem)}
.sectionHeader p{margin:0;color:rgba(15,23,42,.70);max-width:52ch;line-height:1.6}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media (max-width: 920px){.grid3{grid-template-columns:1fr;}}

.card{background:var(--card);border:1px solid rgba(2,6,23,.08);border-radius:var(--radius);box-shadow:0 10px 28px rgba(2,6,23,.06);padding:1.1rem}
.card h3{margin:.2rem 0 .5rem}
.card p{margin:0;color:rgba(15,23,42,.72);line-height:1.65}
.icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(102,153,218,.14);border:1px solid rgba(102,153,218,.24)}
.icon svg{width:22px;height:22px;fill:var(--primary)}

.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:.85rem}
.gItem{grid-column:span 4;border-radius:18px;overflow:hidden;position:relative;cursor:pointer;border:1px solid rgba(2,6,23,.10);box-shadow:0 10px 26px rgba(2,6,23,.07)}
.gItem:nth-child(1){grid-column:span 7}
.gItem:nth-child(2){grid-column:span 5}
.gItem:nth-child(6){grid-column:span 5}
.gItem:nth-child(7){grid-column:span 7}
.gItem img{width:100%;height:100%;object-fit:cover;transition:.25s transform}
.gItem:hover img{transform:scale(1.03)}
@media (max-width: 920px){
  .gallery{grid-template-columns:1fr;}
  .gItem, .gItem:nth-child(1), .gItem:nth-child(2), .gItem:nth-child(6), .gItem:nth-child(7){grid-column:auto}
}

.lightbox{position:fixed;inset:0;background:rgba(2,6,23,.88);display:none;align-items:center;justify-content:center;z-index:100}
.lightbox.open{display:flex}
.lightboxInner{width:min(980px,92%);position:relative}
.lightboxInner img{width:100%;border-radius:18px;border:1px solid rgba(255,255,255,.12);box-shadow:0 25px 80px rgba(0,0,0,.35)}
.lbBtn{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:999px;padding:.55rem .8rem;font-weight:900;cursor:pointer}
.lbNav{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.lbNav button{pointer-events:auto;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:999px;width:44px;height:44px;display:grid;place-items:center;cursor:pointer}
.lbNav button svg{width:22px;height:22px;fill:#fff}

.videoWrap{border-radius:var(--radius);overflow:hidden;border:1px solid rgba(2,6,23,.10);box-shadow:var(--shadow);background:#000}
.videoWrap iframe{width:100%;aspect-ratio:16/9;border:0;display:block}

.socialGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}
@media (max-width: 980px){.socialGrid{grid-template-columns:1fr}}
.embed{border-radius:var(--radius);overflow:hidden;border:1px solid rgba(2,6,23,.10);background:#fff;box-shadow:0 10px 28px rgba(2,6,23,.06)}
.embed .pad{padding:1rem}
.embed h3{margin:.2rem 0 .55rem}
.embed p{margin:0;color:rgba(15,23,42,.72);line-height:1.6}
.fbFrame{width:100%;border:0;min-height:560px}
.igBox{min-height:560px;display:grid;place-items:center;padding:1.2rem}

.contactGrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width: 980px){.contactGrid{grid-template-columns:1fr}}
form{display:grid;gap:.8rem}
input,textarea{width:100%;padding:.9rem 1rem;border-radius:16px;border:1px solid rgba(2,6,23,.14);background:#fff;font-size:1rem}
textarea{min-height:140px;resize:vertical}
small{color:rgba(15,23,42,.64)}

footer{padding:2rem 0;border-top:1px solid rgba(2,6,23,.10);background:rgba(255,255,255,.7)}
.footerGrid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}
.footerGrid .left{display:flex;align-items:center;gap:.75rem;color:rgba(15,23,42,.72)}
.footerGrid img{width:34px;height:34px;border-radius:12px}

.floatingWhats{position:fixed;right:18px;bottom:18px;z-index:60}
.floatingWhats a{width:56px;height:56px;border-radius:999px;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 16px 40px rgba(0,0,0,.18)}
.floatingWhats svg{width:26px;height:26px;fill:#fff}