/* CAM BOOTH Funny */
:root{
  --bg:#07030b;
  --panel:#100817;
  --pink:#ff2dcf;
  --blue:#20bfff;
  --gold:#ffd34b;
  --green:#25d366;
  --white:#ffffff;
  --muted:#d7cfe0;
  --line:rgba(255,255,255,.14);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-width:320px;
  background:
    radial-gradient(circle at 10% 2%,rgba(255,45,207,.12),transparent 28rem),
    radial-gradient(circle at 88% 10%,rgba(32,191,255,.10),transparent 28rem),
    var(--bg);
  color:var(--white);
  font-family:Arial,Helvetica,sans-serif;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.wrap{width:min(calc(100% - 32px),var(--max));margin:auto}

.header{
  position:sticky;top:0;z-index:50;
  background:rgba(5,2,8,.93);
  border-bottom:1px solid var(--line);
}
.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{width:205px}
.logo img{width:100%;height:60px;object-fit:cover;border-radius:10px}
.menu{display:flex;align-items:center;gap:24px;font-weight:700}
.menu a{transition:.2s ease}
.menu a:hover{color:var(--gold)}
.menuCta{
  padding:11px 17px;border-radius:999px;
  background:linear-gradient(135deg,var(--pink),#9a4cff);
  color:white!important;
  box-shadow:0 0 24px rgba(255,45,207,.2)
}
.menuButton{display:none;background:transparent;border:1px solid var(--line);border-radius:12px;width:44px;height:42px;padding:8px}
.menuButton span{display:block;height:2px;background:white;margin:5px 0;border-radius:2px}

.hero{
  min-height:680px;
  position:relative;
  display:grid;
  align-items:center;
  overflow:hidden;
  border-bottom:1px solid var(--line);
}
.hero:before{
  content:"";position:absolute;inset:6% 2.5%;border:1px solid rgba(255,45,207,.45);border-radius:38px;
  box-shadow:0 0 25px rgba(255,45,207,.24),inset 0 0 25px rgba(32,191,255,.07);
}
.light{position:absolute;border-radius:50%;filter:blur(80px);opacity:.2}
.light.pink{width:360px;height:360px;background:var(--pink);left:-130px;top:10%}
.light.blue{width:420px;height:420px;background:var(--blue);right:-150px;bottom:0}
.heroGrid{position:relative;z-index:2;display:grid;grid-template-columns:1.25fr .75fr;gap:55px;align-items:center;padding:100px 0}
.heroLogo{width:min(660px,100%);border-radius:22px;box-shadow:0 0 36px rgba(255,45,207,.18)}
.serviceLine{max-width:650px;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:700;line-height:1.5;margin:24px 0 30px}
.heroButtons{display:flex;gap:14px;flex-wrap:wrap}
.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:999px;font-weight:900;transition:.2s ease}
.button:hover{transform:translateY(-2px)}
.primary{background:linear-gradient(135deg,var(--pink),#8f49ff);box-shadow:0 0 30px rgba(255,45,207,.25)}
.secondary{border:1px solid rgba(32,191,255,.55);background:rgba(32,191,255,.08)}
.promo{
  text-align:center;padding:38px 28px;border-radius:32px;
  border:2px solid rgba(74,255,153,.8);
  background:linear-gradient(160deg,rgba(47,231,143,.22),rgba(6,55,40,.25));
  box-shadow:0 0 42px rgba(37,211,102,.20),0 24px 60px rgba(0,0,0,.4)
}
.price{margin:0;color:var(--gold);font-size:clamp(3rem,6vw,5rem);line-height:1;font-weight:900;text-shadow:0 0 20px rgba(255,211,75,.35)}
.promoText{font-size:1.25rem;font-weight:900;margin:14px auto 22px;max-width:230px}
.promo a{display:inline-flex;padding:11px 17px;border-radius:999px;background:white;color:#111;font-weight:900}

.section{padding:95px 0}
.darkSection{background:linear-gradient(180deg,#08040d,#0d0713)}
.heading{margin-bottom:38px;max-width:780px}
.kicker{margin:0;color:var(--pink);font-size:.82rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.kicker.gold{color:var(--gold)}
.heading h1{margin:9px 0 7px;font-size:clamp(2.1rem,4vw,3.5rem);line-height:1.05}
.subheading{margin:0;color:var(--muted);font-weight:700;font-size:1.12rem}

.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.card{
  overflow:hidden;border-radius:24px;background:rgba(255,255,255,.045);border:1px solid var(--line);
  box-shadow:0 22px 55px rgba(0,0,0,.35)
}
.card img{width:100%;height:390px;object-fit:cover;background:#050307}
.cardText{padding:20px 22px 24px}
.cardText h2{margin:0;font-size:1.25rem;line-height:1.25}

.includeSection{
  background:
    radial-gradient(circle at 25% 20%,rgba(255,45,207,.15),transparent 28rem),
    radial-gradient(circle at 80% 80%,rgba(32,191,255,.12),transparent 30rem),
    #09050e;
}
.includeGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.includeItem{min-height:105px;display:flex;align-items:center;gap:14px;padding:20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.045)}
.includeItem span{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;color:#60ef91;border:1px solid rgba(96,239,145,.7);font-weight:900}
.includeItem p{margin:0;font-weight:800;font-size:.94rem;line-height:1.35}

.gallerySection{background:#07030b}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.gallery figure{margin:0;padding:12px 12px 0;border-radius:26px;border:1px solid var(--line);background:rgba(255,255,255,.045);overflow:hidden}
.gallery img{width:100%;height:auto;object-fit:contain;background:#020103;border-radius:17px}
.gallery figcaption{padding:15px 8px 18px;text-align:center;font-weight:900}

.attention{
  padding:40px 0;
  border-block:1px solid var(--line);
  background:linear-gradient(90deg,rgba(255,45,207,.17),rgba(32,191,255,.15),rgba(255,211,75,.14))
}
.attention p{margin:0;text-align:center;font-size:clamp(1.05rem,2.5vw,1.4rem);font-weight:900}

.contactSection{padding-bottom:110px}
.contactBox{
  padding:45px;border:1px solid rgba(255,211,75,.34);border-radius:32px;
  display:flex;align-items:center;justify-content:space-between;gap:32px;
  background:radial-gradient(circle at 15% 20%,rgba(255,45,207,.12),transparent 25rem),#0e0813;
  box-shadow:0 24px 60px rgba(0,0,0,.4)
}
.contactBox h2{margin:12px 0 5px;font-size:clamp(2.8rem,7vw,5rem);line-height:1}
.whatsappText{margin:0;color:var(--muted);font-weight:800}
.whatsappButton{background:var(--green);color:#06160c;box-shadow:0 0 28px rgba(37,211,102,.2)}

footer{padding:28px 0;border-top:1px solid var(--line);background:#030205}
.footerContent{display:flex;align-items:center;justify-content:space-between;gap:25px}
.footerContent img{width:170px;height:58px;object-fit:cover;border-radius:10px}
.footerContent p{margin:0;color:var(--muted)}
.footerContent a{color:white;font-weight:800}

.floatingWhatsapp{
  position:fixed;right:18px;bottom:18px;z-index:40;
  width:58px;height:58px;border-radius:50%;display:grid;place-items:center;
  background:var(--green);box-shadow:0 14px 34px rgba(0,0,0,.38),0 0 24px rgba(37,211,102,.22)
}
.floatingWhatsapp svg{width:31px;height:31px;fill:white}

/* La página es completamente visible incluso si JavaScript no carga. */
.js .animate{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.js .animate.visible{opacity:1;transform:none}

@media(max-width:920px){
  .menuButton{display:block}
  .menu{
    position:absolute;left:16px;right:16px;top:70px;display:none;flex-direction:column;align-items:stretch;gap:3px;
    padding:14px;border:1px solid var(--line);border-radius:18px;background:#0b0610;box-shadow:0 20px 50px rgba(0,0,0,.45)
  }
  .menu.open{display:flex}
  .menu a{padding:11px 13px;border-radius:10px}
  .menuCta{text-align:center;margin-top:5px}
  .heroGrid{grid-template-columns:1fr;gap:40px;padding:80px 0}
  .promo{max-width:520px}
  .includeGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:700px){
  .wrap{width:min(calc(100% - 24px),var(--max))}
  .nav{min-height:70px}
  .logo{width:160px}
  .logo img{height:50px}
  .hero{min-height:auto}
  .hero:before{inset:3% 2%;border-radius:28px}
  .heroGrid{padding:62px 0 72px}
  .heroLogo{border-radius:14px}
  .heroButtons{flex-direction:column}
  .heroButtons .button{width:100%}
  .section{padding:72px 0}
  .cards,.includeGrid,.gallery{grid-template-columns:1fr}
  .card img{height:auto;max-height:none;object-fit:contain}
  .contactBox{padding:34px 23px;flex-direction:column;align-items:flex-start}
  .contactBox .button{width:100%}
  .footerContent{flex-direction:column;text-align:center}
}

@media(max-width:430px){
  .heading h1{font-size:2rem}
  .promo{padding:32px 18px 24px}
  .contactBox h2{font-size:2.5rem}
  .floatingWhatsapp{right:13px;bottom:13px;width:54px;height:54px}
}
