:root{
  --pink:#f866c1;
  --pink2:#d488b9;
  --dark:#15131a;
  --ink:#1f1b24;
  --muted:#6f6a78;
  --soft:#fbf3fa;
  --card:#ffffff;
  --border: rgba(20, 12, 24, .10);
  --shadow: 0 18px 55px rgba(20,12,24,.14);
  --radius: 18px;
  --radius2: 26px;
  --container: 1100px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji";
  color:var(--ink);
  background:#fff;
  line-height:1.55;
}

img{max-width:100%; height:auto; display:block}
a{color:inherit; text-decoration:none}
a:hover{opacity:.95}
.container{width:min(var(--container), 92vw); margin-inline:auto}

.skip{
  position:absolute; left:-9999px; top:0;
}
.skip:focus{left:12px; top:12px; z-index:9999; background:#fff; padding:10px 12px; border-radius:12px; box-shadow:var(--shadow)}

.sr{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; clip-path:inset(50%)}

.topbar{
  position:sticky; top:0; z-index:1000;
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(12px);
  border-bottom:1px solid var(--border);
}
.topbar__inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px;
  padding:12px 0;
}
.brand{display:flex; align-items:center; gap:10px}
.brand__logo{
  width:150px; height:auto;
  filter: drop-shadow(0 18px 35px rgba(248,102,193,.15));
}

.nav__toggle{
  display:none;
  background:transparent;
  border:1px solid var(--border);
  border-radius:14px;
  padding:10px 12px;
}
.nav__toggle-line{display:block; width:22px; height:2px; background:var(--ink); margin:4px 0; border-radius:4px}

.nav__list{
  display:flex; align-items:center; gap:18px;
  list-style:none; margin:0; padding:0;
}
.nav__list a{font-weight:600; font-size:14px; color:rgba(21,19,26,.84)}
.nav__list a.btn{color:#fff}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 16px;
  border-radius:14px;
  border:1px solid transparent;
  background: linear-gradient(135deg, var(--pink), #ff7fd1);
  color:#fff;
  font-weight:800;
  letter-spacing:.2px;
  box-shadow: 0 14px 35px rgba(248,102,193,.22);
}
.btn--ghost{
  background:transparent;
  color:var(--ink);
  border:1px solid var(--border);
  box-shadow:none;
}
.btn--small{padding:10px 14px; border-radius:12px}

.link{
  font-weight:700;
  color:rgba(21,19,26,.78);
  text-decoration:underline;
  text-underline-offset:3px;
}

.hero{
  position:relative;
  min-height:78vh;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.hero__bg{
  position:absolute;
  inset:0;
}
.hero__bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.05);
}
.hero__overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(1200px 600px at 20% 20%, rgba(248,102,193,.36), transparent 55%),
    radial-gradient(900px 600px at 90% 30%, rgba(212,136,185,.28), transparent 60%),
    linear-gradient(180deg, rgba(14,12,18,.35), rgba(255,255,255,.86));
}
.hero__content{position:relative; padding:70px 0}
.hero__card{
  width:min(620px, 92vw);
  background: rgba(255,255,255,.82);
  border:1px solid var(--border);
  border-radius: var(--radius2);
  box-shadow: var(--shadow);
  padding:24px 22px;
}
.pill{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(248,102,193,.14);
  color:rgba(21,19,26,.84);
  font-weight:800;
  font-size:12px;
  letter-spacing:.25px;
  margin:0 0 10px;
}
.hero h1{margin:0; font-size:42px; line-height:1.05; letter-spacing:-.8px}
.lead{margin:12px 0 0; color:rgba(21,19,26,.78); font-weight:520}
.hero__actions{display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:16px}
.hero__badges{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:10px;
  margin-top:18px;
}
.badge{
  border:1px solid var(--border);
  border-radius:16px;
  padding:12px 12px;
  background:#fff;
}
.badge__kpi{display:block; font-weight:900; font-size:13px}
.badge__txt{display:block; font-size:12px; color:var(--muted); margin-top:2px}

.section{padding:72px 0}
.section--soft{background:var(--soft)}
.section__head{max-width:780px; margin-bottom:22px}
.section__head h2{margin:0; font-size:32px; letter-spacing:-.5px}
.section__head p{margin:10px 0 0; color:var(--muted)}

.grid--cards{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:14px;
}
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding:16px 16px;
  box-shadow: 0 10px 26px rgba(20,12,24,.06);
  transition: transform .25s ease;
}
.card:hover{transform: translateY(-2px)}
.card h3{margin:0 0 6px; font-size:16px}
.card p{margin:0; color:var(--muted); font-size:13.5px}

.cta{
  margin-top:18px;
  border-radius: var(--radius2);
  border:1px solid var(--border);
  background: linear-gradient(135deg, rgba(248,102,193,.10), rgba(255,255,255,.92));
  padding:18px 18px;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.cta h3{margin:0; font-size:18px}
.cta p{margin:6px 0 0; color:var(--muted)}

.gallery{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:14px;
}
.thumb{
  position:relative;
  border-radius: var(--radius);
  overflow:hidden;
  border:1px solid var(--border);
  background:#fff;
  cursor:pointer;
  box-shadow: 0 10px 26px rgba(20,12,24,.06);
}
.thumb img{
  width:100%;
  height:210px;
  object-fit:cover;
  transition: transform .35s ease;
}
.thumb:hover img{transform: scale(1.05)}
.thumb__cap{
  position:absolute; inset:auto 0 0 0;
  padding:10px 12px;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.55));
  color:#fff;
  font-weight:900;
  font-size:12px;
  letter-spacing:.2px;
}

.split{
  display:grid;
  grid-template-columns: 1.25fr 1fr;
  gap:18px;
  align-items:stretch;
}
.split__media img{
  border-radius: var(--radius2);
  border:1px solid var(--border);
  box-shadow: var(--shadow);
}
.split__content{
  border-radius: var(--radius2);
  border:1px solid var(--border);
  background:#fff;
  padding:18px 18px;
  box-shadow: 0 10px 26px rgba(20,12,24,.06);
}
.checklist{margin:0; padding:0 0 0 18px}
.checklist li{margin:8px 0; color:rgba(21,19,26,.82); font-weight:620}
.mini-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:14px}

.video{
  border-radius: var(--radius2);
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow: var(--shadow);
  background:#000;
  aspect-ratio: 16/9;
}
.video iframe{width:100%; height:100%}

.split--map{grid-template-columns: 1.35fr 1fr}
.map{
  border-radius: var(--radius2);
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow: var(--shadow);
  min-height:340px;
  background:#fff;
}
.map iframe{width:100%; height:100%; border:0; min-height:340px}

.panel{
  border-radius: var(--radius2);
  border:1px solid var(--border);
  background:#fff;
  padding:18px 18px;
  box-shadow: 0 10px 26px rgba(20,12,24,.06);
}
.muted{color:var(--muted)}
.tiny{font-size:12px}

.contact__rows{display:grid; gap:10px; margin-top:12px}
.contact__row{
  border:1px solid var(--border);
  border-radius:16px;
  padding:12px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.contact__row:hover{background:rgba(248,102,193,.06)}
.contact__label{font-weight:900; font-size:12px; color:rgba(21,19,26,.7)}
.contact__value{font-weight:800; font-size:13px}

.social{margin-top:14px}
.social h4{margin:0 0 8px}
.social__buttons{display:flex; gap:10px; flex-wrap:wrap}

.formwrap{
  border-radius: var(--radius2);
  border:1px solid var(--border);
  background:#fff;
  padding:18px 18px;
  box-shadow: var(--shadow);
}
.form{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:12px;
}
.field{display:flex; flex-direction:column; gap:6px}
.field label{font-weight:900; font-size:12px; color:rgba(21,19,26,.75)}
.field input,.field select,.field textarea{
  border-radius:14px;
  border:1px solid var(--border);
  padding:12px 12px;
  font:inherit;
  outline:none;
}
.field input:focus,.field select:focus,.field textarea:focus{border-color: rgba(248,102,193,.55); box-shadow: 0 0 0 4px rgba(248,102,193,.14)}
.field--full{grid-column:1 / -1}
.form__actions{grid-column:1 / -1; display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:4px}

.footer{
  padding:22px 0;
  border-top:1px solid var(--border);
  background:#fff;
}
.footer__inner{display:flex; align-items:flex-start; justify-content:space-between; gap:14px}
.footer p{margin:6px 0 0}

.float{
  position:fixed;
  right:16px;
  display:flex; align-items:center; justify-content:center;
  height:48px;
  padding:0 14px;
  border-radius:999px;
  box-shadow: var(--shadow);
  border:1px solid var(--border);
  font-weight:900;
  z-index:1100;
}
.float span{font-size:13px}
.float--wa{
  bottom:16px;
  background:linear-gradient(135deg, var(--pink), #ff7fd1);
  color:#fff;
}
.float--call{
  bottom:72px;
  background:#fff;
  color:var(--ink);
}

.lightbox{
  padding:0;
  border:0;
  border-radius: 18px;
  overflow:hidden;
  width:min(980px, 94vw);
  box-shadow: var(--shadow);
}
.lightbox::backdrop{background:rgba(0,0,0,.55)}
.lightbox__img{width:100%; height:auto; background:#000}
.lightbox__close{
  position:absolute;
  top:10px; right:10px;
  width:44px; height:44px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(0,0,0,.35);
  color:#fff;
  font-size:18px;
  cursor:pointer;
}

.reveal{opacity:0; transform: translateY(12px); transition: opacity .6s ease, transform .6s ease}
.reveal.is-visible{opacity:1; transform:none}

@media (max-width: 980px){
  .grid--cards{grid-template-columns: repeat(2, minmax(0,1fr))}
  .gallery{grid-template-columns: repeat(2, minmax(0,1fr))}
  .split,.split--map{grid-template-columns:1fr}
  .hero h1{font-size:36px}
  .brand__logo{width:140px}
}
@media (max-width: 720px){
  .nav__toggle{display:inline-flex}
  .nav__list{
    position:absolute;
    right:4vw;
    top:70px;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    background:rgba(255,255,255,.96);
    border:1px solid var(--border);
    border-radius:16px;
    padding:12px;
    box-shadow: var(--shadow);
    display:none;
    min-width: 220px;
  }
  .nav__list.is-open{display:flex}
  .hero__badges{grid-template-columns:1fr; gap:10px}
  .form{grid-template-columns:1fr}
  .footer__inner{flex-direction:column}
}