
:root{
  --bg:#F7F8FA; --surface:#FFFFFF; --ink:#0B1220; --muted:#6B7280;
  --navy:#0C1424; --gold:#C9A227; --line:#E5E7EB;
  --btn:#0B1220; --btn-contrast:#FFFFFF; --radius:18px; --shadow:0 18px 44px rgba(11,18,32,.08);
  --border-accent:#E6DFCF;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
a{color:inherit;text-decoration:none}
.container{width:min(1200px,92%);margin:0 auto}
header.hero{position:relative;color:#fff;min-height:78vh;display:flex;flex-direction:column;justify-content:space-between;
  background:linear-gradient(180deg, rgba(12,20,36,.78), rgba(12,20,36,.78)), url('images/hero.jpg') center/cover no-repeat;border-bottom:1px solid var(--line)}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:56px;height:56px;border-radius:14px;background:#fff;object-fit:cover;box-shadow:var(--shadow)}
.brand .name{font-weight:900;letter-spacing:.2px}
.nav{display:flex;gap:20px;align-items:center}
.nav a{color:#E7ECF3;font-weight:700;opacity:.95}
.lang{display:flex;gap:8px;background:rgba(255,255,255,.14);border-radius:12px;overflow:hidden}
.lang button{border:0;padding:8px 12px;background:transparent;color:#fff;cursor:pointer;font-weight:800}
.lang button.active{background:#fff;color:var(--ink)}
.hero-inner{display:grid;gap:28px;grid-template-columns:1fr;align-items:flex-end;padding:28px 0 52px}
h1{font-size:clamp(2.4rem,1.2rem + 2.6vw,3.6rem);line-height:1.06;margin:0;font-weight:900;letter-spacing:.2px;text-align:left;max-width:900px}
.lead{text-align:left;opacity:.98;max-width:760px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;justify-content:flex-start}
.btn{padding:12px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.08);font-weight:800;cursor:pointer;transition:.18s transform ease, .2s box-shadow ease}
.btn.primary{background:var(--btn);color:var(--btn-contrast);border-color:#0B1220}
.btn.whatsapp{background:#25D366;color:#0b1220;border-color:#1faa55}
.btn.yellow{background:#F2CC59;color:#0b1220;border:1px solid #e1bb3d}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border-accent);overflow:hidden;transition:.18s box-shadow ease,.18s transform ease}
.card:hover{transform:translateY(-2px);box-shadow:0 22px 56px rgba(11,18,32,.12)}
.card-header{background:#F3F5F8;padding:16px 20px;color:var(--ink);font-weight:900;letter-spacing:.2px;border-bottom:1px solid var(--line)}
.card-body{padding:20px}
.section{padding:76px 0}
.section h2{font-size:clamp(1.8rem,1.2rem + 1.2vw,2.3rem);margin:0 0 20px;color:var(--ink);letter-spacing:.2px}
.grid-3{display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}
.grid-2{display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.grid-3{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}.hero-inner{padding-bottom:36px} h1,.lead{text-align:center;max-width:none}.cta-row{justify-content:center}}
.service ul{margin:10px 0 0 18px}
.blue{color:#3B82F6;font-weight:900} .gold{color:var(--gold);font-weight:900}
.note{font-size:.92rem;color:#6B7280;margin-top:6px}
.package .price{font-size:2rem;font-weight:900;color:var(--ink)}
.package .sub{font-size:.95rem;color:#6B7280}
.size-picker{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.size-picker button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;cursor:pointer;font-weight:700;transition:.18s background ease,.18s color ease}
.size-picker button.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.package ul{margin:12px 0 0 18px}
.package .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.tag-popular{background:var(--gold);color:#0b1220;border-radius:8px;padding:4px 8px;font-weight:900;font-size:.85rem}
.gallery{display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}
.gallery img{width:100%;height:230px;object-fit:cover;border-radius:14px;box-shadow:0 8px 18px rgba(0,0,0,.06)}
@media(max-width:900px){.gallery{grid-template-columns:repeat(2,1fr)}}
#reviews-list{ display:grid; gap:20px; grid-template-columns:repeat(3,1fr); }
@media(max-width: 900px){ #reviews-list{ grid-template-columns:1fr; } }
.review .card-header{ color:#F6C445; font-weight:900; border-bottom:1px solid var(--line); }
.review .card-body p{ font-size:1.05rem; line-height:1.55; margin:.2rem 0 .6rem; }
.review .card{ border:1px solid var(--border-accent); }
.cta-blue{background:#EEF2F7; color:var(--ink); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.cta-blue h3{font-size:clamp(1.6rem,1.2rem + 1vw,2rem); margin:0 0 6px;}
.form{display:grid;gap:12px}
.form input,.form select,.form textarea{padding:12px;border-radius:12px;border:1px solid var(--line);font:inherit}
.form textarea{min-height:110px;resize:vertical}
.footer{background:#0e141b;color:#cdd6e0;padding:36px 0;margin-top:28px;border-top:1px solid #0b1018}
.small{font-size:.9rem;color:#b9c3cf}

.gallery video{width:100%;height:230px;object-fit:cover;border-radius:14px;box-shadow:0 8px 18px rgba(0,0,0,.06)}
