
/* ═══ LÚMINA · MODELO 3 — FESTIVO PASTEL ═══
   EDITAR: WhatsApp, email, precios y cifras → busca "EDITAR:" */
:root{
  --cream:#fffaf3; --ink:#3d3430; --soft:#8c7f76;
  --pink:#f7d6dc; --pink-d:#e2547f;
  --lav:#e9e1f7; --lav-d:#8f76c9;
  --sage:#e2eedd; --sage-d:#6f9c62;
  --sky:#dfedf6; --sky-d:#5f93b8;
  --sun:#fdeed2; --sun-d:#d99a2b;
  --r:34px;
  --ease:cubic-bezier(.34,1.56,.64,1);
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:"Nunito",sans-serif;font-weight:500;line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input{font:inherit;color:inherit}
::selection{background:var(--pink-d);color:#fff}
.script{font-family:"Caveat",cursive;font-weight:600}
.wrap{width:min(calc(100% - 40px),1160px);margin:auto}

/* confeti sutil de fondo */
.confetti{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;
  background-image:radial-gradient(circle 3px at 12% 20%,var(--pink-d) 40%,transparent 41%),radial-gradient(circle 2.5px at 78% 12%,var(--sun-d) 40%,transparent 41%),radial-gradient(circle 3px at 90% 60%,var(--lav-d) 40%,transparent 41%),radial-gradient(circle 2px at 30% 80%,var(--sage-d) 40%,transparent 41%),radial-gradient(circle 2.5px at 55% 40%,var(--sky-d) 40%,transparent 41%);
  background-size:900px 900px;background-repeat:repeat}

/* nav pastilla */
nav{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:900;width:min(calc(100% - 28px),1000px);
  background:rgba(255,250,243,.85);backdrop-filter:blur(14px);border-radius:999px;padding:12px 22px;
  display:flex;align-items:center;justify-content:space-between;box-shadow:0 10px 34px rgba(61,52,48,.12);border:2px solid #fff}
.nav-logo{height:26px;width:auto}
.nav-links{display:flex;gap:20px;align-items:center;font-size:13.5px;font-weight:700}
.nav-links a:not(.pill):hover{color:var(--pink-d)}
.pill{background:var(--pink-d);color:#fff;padding:10px 18px;border-radius:999px;font-weight:800;transition:transform .3s var(--ease),background .3s}
.pill:hover{transform:scale(1.05);background:#c93e68}

.rv{opacity:0;transform:translateY(26px) scale(.98);transition:opacity .7s ease,transform .7s var(--ease)}
.rv.on{opacity:1;transform:none}

/* HERO */
.hero{padding:130px 0 70px;position:relative;text-align:center}
.hero .hi{display:inline-block;background:var(--sun);color:var(--sun-d);font-weight:800;font-size:14px;padding:10px 20px;border-radius:999px;transform:rotate(-2deg);margin-bottom:22px}
h1{font-weight:900;font-size:clamp(42px,7.4vw,88px);line-height:1.02;letter-spacing:-.025em}
h1 .w1{color:var(--pink-d)} h1 .w2{color:var(--lav-d)} h1 .w3{color:var(--sun-d)}
.hero .script-line{font-size:clamp(26px,3.6vw,44px);color:var(--soft);margin-top:10px;transform:rotate(-1.5deg)}
.hero-sub{font-size:17.5px;color:var(--soft);max-width:560px;margin:22px auto 0;font-weight:600}
.hero-cta{display:flex;gap:14px;justify-content:center;margin-top:32px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:9px;background:var(--pink-d);color:#fff;border:none;cursor:pointer;padding:17px 30px;border-radius:999px;font-size:16px;font-weight:800;transition:transform .35s var(--ease),background .3s,box-shadow .35s;box-shadow:0 12px 28px rgba(226,84,127,.32)}
.btn:hover{transform:scale(1.05) rotate(-1deg);background:#c93e68}
.btn.alt{background:#fff;color:var(--ink);box-shadow:0 10px 26px rgba(61,52,48,.13);border:2px solid var(--pink)}
.btn.alt:hover{background:var(--pink);color:#a2325a}
.hero-note{margin-top:18px;font-size:13px;color:var(--soft);font-weight:600}
.hero-note b{color:var(--sage-d)}

/* arcos de fotos del hero */
.arches{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:900px;margin:60px auto 0;align-items:end}
.arch{border-radius:200px 200px var(--r) var(--r);overflow:hidden;position:relative;border:5px solid #fff;box-shadow:0 22px 50px rgba(61,52,48,.16);transition:transform .5s var(--ease)}
.arch:hover{transform:translateY(-8px) rotate(-1.2deg)}
.arch:nth-child(2){margin-bottom:34px}
.arch img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4.1}
.arch .tag{position:absolute;bottom:14px;left:50%;transform:translateX(-50%) rotate(-2deg);background:#fff;padding:7px 14px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap;box-shadow:0 6px 16px rgba(61,52,48,.18)}

/* bloques pastel */
.block{border-radius:var(--r);padding:80px 0;margin:26px 0;position:relative;overflow:hidden}
.block > .wrap{position:relative;z-index:2}
.block.pink{background:var(--pink)} .block.lav{background:var(--lav)} .block.sage{background:var(--sage)} .block.sky{background:var(--sky)} .block.sun{background:var(--sun)}
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;z-index:1}
.b-head{text-align:center;max-width:640px;margin:0 auto 50px}
.b-head .script{font-size:clamp(24px,3vw,34px);display:block;transform:rotate(-1.5deg)}
.b-head h2{font-weight:900;font-size:clamp(30px,4.6vw,52px);letter-spacing:-.02em;line-height:1.08;margin-top:6px}
.b-head p{color:var(--soft);font-weight:600;margin-top:14px;font-size:16px}
.block .b-head p{color:rgba(61,52,48,.65)}

/* servicios: fichas juguetonas */
.serv{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sv{background:#fff;border-radius:26px;padding:30px 26px;text-align:center;transition:transform .4s var(--ease),box-shadow .4s;box-shadow:0 10px 26px rgba(61,52,48,.08)}
.sv:hover{transform:translateY(-7px) rotate(-1deg);box-shadow:0 22px 44px rgba(61,52,48,.14)}
.sv .emo{width:58px;height:58px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;font-size:24px;color:#fff}
.sv h3{font-weight:800;font-size:18px}
.sv p{font-size:13px;color:var(--soft);margin-top:8px;font-weight:600;line-height:1.5}

/* galería polaroid */
.pols{display:flex;gap:26px;justify-content:center;flex-wrap:wrap}
.pol{background:#fff;padding:14px 14px 18px;border-radius:14px;box-shadow:0 16px 38px rgba(61,52,48,.15);max-width:300px;transition:transform .45s var(--ease)}
.pol img{border-radius:8px;aspect-ratio:4/4.6;object-fit:cover;width:100%}
.pol .cap{font-family:"Caveat",cursive;font-weight:600;font-size:21px;text-align:center;margin-top:12px}
.pol:nth-child(1){transform:rotate(-3deg)} .pol:nth-child(2){transform:rotate(2deg) translateY(14px)} .pol:nth-child(3){transform:rotate(-1.5deg)}
.pol:hover{transform:rotate(0) translateY(-6px) scale(1.03);z-index:3}

/* paleta chips festivos */
.chips{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;max-width:760px;margin:auto}
.chipc{display:flex;align-items:center;gap:9px;background:#fff;border-radius:999px;padding:11px 19px;font-weight:800;font-size:13.5px;box-shadow:0 8px 20px rgba(61,52,48,.09);transition:transform .35s var(--ease);cursor:default}
.chipc:hover{transform:scale(1.09) rotate(-2deg)}
.chipc i{width:16px;height:16px;border-radius:50%;font-style:normal}

/* paquetes festivos */
.pks{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.pk{background:#fff;border-radius:28px;padding:38px 32px;position:relative;display:flex;flex-direction:column;box-shadow:0 14px 34px rgba(61,52,48,.09);transition:transform .45s var(--ease),box-shadow .45s}
.pk:hover{transform:translateY(-8px);box-shadow:0 30px 60px rgba(61,52,48,.15)}
.pk.fav{border:3px solid var(--pink-d)}
.pk .stick{position:absolute;top:-16px;right:22px;background:var(--pink-d);color:#fff;font-weight:800;font-size:12px;padding:9px 16px;border-radius:999px;transform:rotate(4deg);box-shadow:0 8px 20px rgba(226,84,127,.35)}
.pk h3{font-weight:900;font-size:24px}
.pk .amt{font-weight:900;font-size:44px;letter-spacing:-.03em;margin:16px 0 2px}
.pk .amt small{display:block;font-size:12px;color:var(--soft);font-weight:700;letter-spacing:.02em;margin-bottom:2px}
.pk .amt .eur{color:var(--pink-d)}
.pk.fav .amt .eur{color:var(--pink-d)}
.pk ul{list-style:none;padding:18px 0 0;margin:14px 0 26px;border-top:2px dashed rgba(61,52,48,.14);display:grid;gap:10px;flex:1}
.pk li{font-size:14px;font-weight:600;color:#5d534d;display:flex;gap:9px}
.pk li::before{content:"✓";font-weight:900}
.pk:nth-child(1) li::before{color:var(--sage-d)} .pk:nth-child(2) li::before{color:var(--pink-d)} .pk:nth-child(3) li::before{color:var(--lav-d)}
.pk li.no{color:#c2b8b0}
.pk li.no::before{content:"·"}
.pk .btn{width:100%;justify-content:center}
.pk .btn.soft{background:var(--lav);color:var(--lav-d);box-shadow:none}
.pk .btn.soft:hover{background:var(--lav-d);color:#fff}
.pk .btn.soft2{background:var(--sage);color:var(--sage-d);box-shadow:none}
.pk .btn.soft2:hover{background:var(--sage-d);color:#fff}
.pks-note{text-align:center;font-size:13px;color:var(--soft);margin-top:26px;font-weight:600}

/* pasos con caritas de color */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:paso}
.st{background:#fff;border-radius:26px;padding:30px 26px;text-align:center;box-shadow:0 10px 26px rgba(61,52,48,.08)}
.st .n{width:44px;height:44px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;color:#fff;font-weight:900;font-size:18px;transform:rotate(-4deg)}
.st h4{font-weight:800;font-size:17px}
.st p{font-size:13px;color:var(--soft);font-weight:600;margin-top:7px;line-height:1.5}

/* testimonio burbuja */
.bubble{max-width:720px;margin:auto;background:#fff;border-radius:32px;padding:44px 46px;box-shadow:0 18px 44px rgba(61,52,48,.11);position:relative;text-align:center}
.bubble::after{content:"";position:absolute;bottom:-16px;left:50%;transform:translateX(-50%);border:18px solid transparent;border-top-color:#fff;border-bottom:0}
.bubble .stars{color:var(--sun-d);font-size:18px;letter-spacing:4px;margin-bottom:14px}
.bubble blockquote{font-size:20px;font-weight:700;line-height:1.5}
.bubble .who{margin-top:26px;font-family:"Caveat",cursive;font-size:24px;color:var(--soft)}

/* formulario festivo */
.f-card{max-width:520px;margin:auto;background:#fff;border-radius:32px;padding:44px 40px;box-shadow:0 24px 60px rgba(61,52,48,.14);position:relative}
.f-card .top-script{font-family:"Caveat",cursive;font-size:30px;text-align:center;transform:rotate(-1.5deg);color:var(--pink-d)}
.f-card h3{font-weight:900;font-size:26px;text-align:center;margin-top:2px}
.f-card .fh{text-align:center;font-size:14px;color:var(--soft);font-weight:600;margin:8px 0 26px}
.fld{margin-bottom:14px}
.fld label{display:block;font-size:12.5px;font-weight:800;margin-bottom:7px;color:#6b5f58}
.inp{width:100%;background:var(--cream);border:2.5px solid #f0e5da;border-radius:18px;padding:14px 16px;font-size:16px;font-weight:600;outline:none;transition:.3s}
.inp:focus{border-color:var(--pink-d);background:#fff}
.inp::placeholder{color:#c9beb5}
.ferr{color:var(--pink-d);font-size:13px;font-weight:700;min-height:18px;margin:4px 0 8px;text-align:center}
.fpriv{font-size:12px;color:var(--soft);text-align:center;margin-top:14px;font-weight:600;line-height:1.6}
.fpriv b{color:var(--sage-d)}
.ok3{display:none;text-align:center}
.ok3.on{display:block}
.ok3 .party{font-size:44px}
.ok3 h4{font-weight:900;font-size:24px;margin-top:8px}
.ok3 p{font-size:14px;color:var(--soft);font-weight:600;margin:10px 0 22px;line-height:1.6}
.ok3 .row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.btn.wa{background:var(--sage-d);box-shadow:0 12px 28px rgba(111,156,98,.3)}
.btn.wa:hover{background:#5c8450}

/* final + footer */
.final{padding:110px 0 90px;text-align:center;position:relative;z-index:2}
.final h2{font-weight:900;font-size:clamp(34px,5.6vw,64px);letter-spacing:-.02em;line-height:1.05}
.final h2 .script{display:block;font-size:.9em;color:var(--pink-d);transform:rotate(-1.5deg)}
.final p{color:var(--soft);font-weight:600;margin:16px auto 30px;max-width:480px}
footer{padding:26px 0 44px;position:relative;z-index:2}
.foot{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;font-size:12.5px;font-weight:700;color:var(--soft)}
.foot a:hover{color:var(--pink-d)}
.foot-logo{height:18px;width:auto;opacity:.75}

@media (max-width:900px){
  .serv{grid-template-columns:1fr 1fr}
  .pks,.steps{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto}
  .pk.fav{order:-1}
  .arches{grid-template-columns:repeat(3,1fr);gap:14px;max-width:640px;margin-top:44px}
  .arch:nth-child(2){margin-bottom:22px}
  .nav-links a:not(.pill){display:none}
  .block{padding:64px 0;border-radius:26px}
}
@media (max-width:560px){
  .serv{grid-template-columns:1fr}
  .arches{grid-template-columns:repeat(3,1fr);gap:9px;max-width:none;margin-top:36px}
  .arch{border-width:3px;border-radius:120px 120px 18px 18px}
  .arch .im img{border-radius:0}
  .arch:nth-child(2){margin-bottom:14px}
  .arch .tag{font-size:9.5px;padding:5px 9px;bottom:8px;white-space:normal;text-align:center;max-width:92%}
  .trustbar{gap:7px;margin-top:18px}
  .trustbar span{font-size:11px;padding:7px 12px}
  .hero{padding:110px 0 54px}
  .hero .script-line{font-size:22px}
}

/* ---- correcciones responsive ---- */
html,body{overflow-x:clip}
.pol{max-width:min(300px,86vw)}
.nav-links a{padding:9px 4px}
.foot a{padding:10px 2px;display:inline-block}
/* ---- barra de confianza ---- */
.trustbar{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.trustbar span{background:#fff;border:2px solid var(--sun);border-radius:999px;padding:9px 16px;font-size:12.5px;font-weight:800;color:#8a6b28;box-shadow:0 6px 16px rgba(61,52,48,.08)}
/* ---- chips de color = botones ---- */
.chipc{border:none;cursor:pointer;transition:transform .35s var(--ease),box-shadow .3s}
.chipc:hover{transform:scale(1.09) rotate(-2deg)}
.chipc.sel{box-shadow:0 0 0 3px var(--ink),0 8px 20px rgba(61,52,48,.15);transform:scale(1.05)}
#paleta.rainbow-bg{background:linear-gradient(120deg,#f6c7c4,#f8ddba,#f6ecc0,#c9e6c4,#c0d8ee,#d7c9ef,#eec6e2,#f6c7c4);background-size:300% 300%;animation:rainbowShift 8s ease infinite}
@keyframes rainbowShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
/* ---- propuestas personalizadas ---- */
.persa{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pcard-p{background:#fff;border-radius:26px;padding:32px 28px;text-align:center;box-shadow:0 10px 26px rgba(61,52,48,.08);transition:transform .4s var(--ease)}
.pcard-p:hover{transform:translateY(-6px)}
.pico{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:22px;margin:0 auto 16px;color:#7a5b2a}
.pcard-p h3{font-weight:800;font-size:18px}
.pcard-p p{font-size:13.5px;color:var(--soft);font-weight:600;margin-top:8px;line-height:1.55}
/* ---- reseñas ---- */
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rcard{background:#fff;border-radius:24px;padding:28px 26px;box-shadow:0 10px 26px rgba(61,52,48,.08);display:flex;flex-direction:column;gap:12px;transition:transform .4s var(--ease)}
.rcard:hover{transform:translateY(-5px) rotate(-.5deg)}
.rstars{color:var(--sun-d);font-size:15px;letter-spacing:3px}
.rcard p{font-size:14px;font-weight:600;color:#5d534d;line-height:1.6;flex:1}
.rwho{font-family:"Caveat",cursive;font-size:20px;color:var(--soft)}
/* ---- cobertura ---- */
.zonas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;max-width:780px;margin:auto}
.zona{background:#fff;border-radius:999px;padding:12px 22px;font-weight:800;font-size:14px;box-shadow:0 8px 20px rgba(61,52,48,.09);transition:transform .3s var(--ease)}
.zona:hover{transform:scale(1.06) rotate(-1.5deg)}
/* ---- faq ---- */
.faqs{max-width:720px;margin:auto}
.faq{background:#fff;border-radius:20px;margin-bottom:12px;box-shadow:0 8px 20px rgba(61,52,48,.07);overflow:hidden}
.faq > button{width:100%;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;text-align:left;font-weight:800;font-size:15.5px}
.fplus{flex:0 0 30px;height:30px;border-radius:50%;background:var(--pink);color:var(--pink-d);display:grid;place-items:center;font-size:18px;font-weight:900;transition:transform .4s var(--ease)}
.faq.open .fplus{transform:rotate(45deg);background:var(--pink-d);color:#fff}
.fans{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.fans p{padding:0 24px 22px;font-size:14px;font-weight:600;color:var(--soft);line-height:1.6}
.fans b{color:var(--ink)}
/* ---- CTA fija móvil ---- */
#mcta{position:fixed;left:14px;right:14px;bottom:14px;z-index:950;display:none;transform:translateY(130%);transition:transform .5s var(--ease)}
#mcta.show{transform:none}
#mcta a{display:flex;justify-content:center;background:var(--pink-d);color:#fff;padding:16px;border-radius:999px;font-size:15px;font-weight:800;box-shadow:0 16px 40px rgba(226,84,127,.4)}
/* ---- footer seo ---- */
.footseo{border-top:2px dashed rgba(61,52,48,.12);padding-top:26px;margin-bottom:18px}
.footseo p{font-size:12px;color:var(--soft);font-weight:600;line-height:1.75;max-width:880px}
.footseo b{color:#6b5f58}
@media (max-width:900px){
  .persa,.rgrid{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto}
  #mcta{display:block}
  footer{padding-bottom:104px}
}

@media (prefers-reduced-motion:reduce){*{animation-duration:.001s !important;transition-duration:.001s !important}}

/* ---- páginas interiores ---- */
.page-hero{padding:150px 0 60px;text-align:center}
.page-hero .crumbs{font-size:12px;font-weight:700;color:var(--soft);margin-bottom:18px}
.page-hero .crumbs a:hover{color:var(--pink-d)}
.page-hero h1{font-weight:900;font-size:clamp(34px,5.6vw,62px);letter-spacing:-.02em;line-height:1.06}
.page-hero .script-line{font-size:clamp(24px,3.2vw,38px);color:var(--soft);margin-top:8px;transform:rotate(-1.5deg)}
.page-hero p.lead{font-size:16.5px;color:var(--soft);max-width:620px;margin:20px auto 0;font-weight:600}
/* filas de servicio */
.srow{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;padding:54px 0;border-bottom:2px dashed rgba(61,52,48,.12)}
.srow:last-of-type{border-bottom:none}
.srow.flip .simg{order:2}
.simg{border-radius:28px;overflow:hidden;border:5px solid #fff;box-shadow:0 20px 46px rgba(61,52,48,.15)}
.simg img{width:100%;aspect-ratio:4/3.2;object-fit:cover}
.simg.ph{aspect-ratio:4/3.2;display:grid;place-items:center;text-align:center;padding:30px;font-weight:800;color:#fff;font-size:16px}
.simg.ph small{display:block;font-size:11.5px;font-weight:700;opacity:.85;margin-top:8px}
.stxt .tagline{font-family:"Caveat",cursive;font-weight:600;font-size:26px;transform:rotate(-1deg);display:block}
.stxt h2{font-weight:900;font-size:clamp(24px,3vw,34px);letter-spacing:-.015em;margin-top:2px}
.stxt p{color:var(--soft);font-weight:600;font-size:15px;margin-top:12px;line-height:1.6}
.stxt ul{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:9px}
.stxt li{font-size:14px;font-weight:700;color:#5d534d;display:flex;gap:9px}
.stxt li::before{content:"✓";font-weight:900;color:var(--sage-d)}
.stxt .cta-mini{display:inline-flex;margin-top:20px}
/* servicios home 6 tarjetas */
.serv.six{grid-template-columns:repeat(3,1fr)}
a.sv{display:block;color:inherit}
a.sv:hover h3{color:var(--pink-d)}
.sv .more{display:inline-block;margin-top:10px;font-size:12.5px;font-weight:800;color:var(--pink-d)}
/* banda seguridad */
.seguridad{background:#fff;border-radius:28px;padding:40px 38px;box-shadow:0 14px 34px rgba(61,52,48,.09)}
.seguridad h3{font-weight:900;font-size:22px;text-align:center}
.seg-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 30px;margin-top:24px}
.seg-grid p{font-size:14px;font-weight:600;color:var(--soft);display:flex;gap:10px;line-height:1.55}
.seg-grid p::before{content:"🛡";flex:0 0 auto}
/* CTA banda inferior de páginas */
.cta-band{text-align:center;padding:80px 0}
@media (max-width:900px){
  .srow{grid-template-columns:1fr;gap:22px;padding:40px 0}
  .srow.flip .simg{order:0}
  .serv.six{grid-template-columns:1fr 1fr}
  .seg-grid{grid-template-columns:1fr}
}
@media (max-width:560px){.serv.six{grid-template-columns:1fr}}
