@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600&family=Nunito:wght@400;500;600;700;800&display=swap');
:root{--lila:#d2c4e7;--rosa:#ef548d;--rosa-oscuro:#ba4672;--texto:#645867;--crema:#fff7ed;--azul:#e0efff;--amarillo:#fff0b4;--melocoton:#ffe0d1;--menta:#dff6ef;--blanco:#fff;--ancho:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}body{margin:0;font-family:'Nunito','Comfortaa',Arial,sans-serif;color:var(--texto);background:#fff}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}.wrap{width:min(var(--ancho),calc(100% - 48px));margin-inline:auto}.skip{position:absolute;left:-200vw;top:0;padding:12px;background:#fff;z-index:1000}.skip:focus{left:10px}.site-header{background:var(--lila);position:relative;z-index:30}.site-header .inner{min-height:71px;display:flex;align-items:center;justify-content:space-between;gap:18px}.header-mark{display:flex;align-items:center;gap:11px;font-family:'Fredoka','Comic Neue',cursive;font-size:19px;font-weight:500;color:#8d5673}.header-mark img{height:65px;width:66px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:clamp(12px,2vw,26px);justify-content:flex-end}.main-nav a{font-size:13px;font-weight:600;white-space:nowrap;transition:color .2s}.main-nav a:hover,.main-nav a.active{color:#b13c6b}.menu-toggle{display:none;background:transparent;border:1px solid #a88dbc;color:#695878;border-radius:11px;padding:6px 11px;font-size:22px}.hero{background:var(--lila);position:relative;overflow:hidden;isolation:isolate}.hero .hero-in{min-height:305px;display:grid;grid-template-columns:200px 1fr;grid-template-rows:auto;align-items:center;gap:27px;padding:9px 0 43px}.hero-logo{width:min(195px,100%);filter:drop-shadow(0 6px 4px #a07c9d1a);animation:gentleBob 7s ease-in-out infinite}.hero-copy{z-index:2}.hero h1{font-family:'Fredoka','Comic Neue',cursive;font-size:clamp(42px,5.5vw,65px);font-weight:600;line-height:1.08;color:var(--rosa);margin:0 0 22px;letter-spacing:.005em;max-width:800px}.hero p{font-size:clamp(15px,1.45vw,21px);max-width:880px;line-height:1.5;margin:0;color:#5d5662}.cloud{position:absolute;display:block;width:165px;height:85px;opacity:.40;z-index:0;background:url('assets/nube.svg') center/contain no-repeat;pointer-events:none;animation:cloudDrift 24s ease-in-out infinite alternate}.cloud.c1{top:138px;left:2.8%;transform:scale(.86);opacity:.26;animation-duration:28s}.cloud.c2{top:3px;right:10%;width:120px;opacity:.22;animation-duration:31s}.cloud.c3{bottom:-20px;right:2%;width:230px;opacity:.18;animation-duration:36s}.hero .bow{position:absolute;width:70px;opacity:.48;z-index:0;pointer-events:none;animation:bowDance 7s ease-in-out infinite alternate}.hero .bow.b1{right:7%;bottom:20px;transform:rotate(-18deg)}.hero .bow.b2{right:27%;top:25px;width:44px;opacity:.31;animation-delay:-3s}.hero .bow.b3{left:17.5%;top:66px;width:38px;opacity:.33;animation-delay:-1.5s}.hero .bow.b4{left:6.5%;bottom:28px;width:58px;opacity:.44;transform:rotate(14deg);animation-delay:-4.2s}.hero-subpage .hero-in{min-height:260px;padding:0 0 26px}.hero-subpage .hero-logo{width:166px}.hero-subpage h1{font-size:clamp(39px,5vw,57px)}.hero-subpage p{font-size:17px}.section{padding:68px 0 75px}.section h2,.page-title,.section-title{font-family:'Fredoka','Comic Neue',cursive;font-size:clamp(34px,4.2vw,48px);font-weight:600;line-height:1.12;color:var(--rosa);text-align:center;margin:0 auto 28px}.section-lead{font-size:15px;text-align:center;line-height:1.8;margin:-11px auto 30px;max-width:730px}.ideas{background:var(--crema);position:relative;overflow:hidden}.ideas .wrap{position:relative;z-index:2}.ideas::before{content:'';position:absolute;left:-26px;top:132px;width:175px;height:96px;background:url('assets/nube.svg') center/contain no-repeat;opacity:.42;pointer-events:none;animation:cloudDrift 18s ease-in-out infinite alternate;z-index:1}.ideas::after{content:'';position:absolute;left:18px;top:332px;width:64px;height:64px;background:url('assets/lazo.svg') center/contain no-repeat;opacity:.5;pointer-events:none;transform:rotate(-12deg);animation:bowDance 7s ease-in-out infinite alternate;z-index:1}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;max-width:1040px;margin:30px auto 0}.event-card{background:#fff;overflow:hidden;border-radius:11px;border:2px solid #eac4cf;display:flex;flex-direction:column;min-width:0;box-shadow:0 9px 20px #806c6820;transition:transform .25s,box-shadow .25s}.event-card:hover{transform:translateY(-6px);box-shadow:0 17px 30px #775d7640}.event-card img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;object-position:center;background:#f7e5ec}.event-card .event-text{text-align:center;padding:14px 12px 16px;background:var(--event-bg,#fce6ec);flex:1}.event-card h3{font-family:'Fredoka','Comic Neue',cursive;font-weight:500;font-size:21px;color:#6d4b63;margin:0 0 7px}.event-card p{font-size:12px;line-height:1.45;margin:0;color:#5a4e59}.event-card:nth-child(2){--event-bg:#ffdfdd}.event-card:nth-child(3){--event-bg:#ffebac}.event-card:nth-child(4){--event-bg:#dff3ef}.event-card:nth-child(5){--event-bg:#eddbff}.event-card:nth-child(6){--event-bg:#daedff}.services{background:var(--azul)}.mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.mini-item{padding:12px 16px;border-left:3px solid #f49dbb}.mini-item .small-kicker{font-weight:800;font-size:12px;color:#f06994;letter-spacing:.035em}.mini-item:nth-child(2){border-color:#6bc1c0}.mini-item:nth-child(2) .small-kicker{color:#429a9f}.mini-item:nth-child(3){border-color:#b9a0e8}.mini-item:nth-child(3) .small-kicker{color:#9d6dc4}.mini-item p{font-size:14px;line-height:1.62;margin:7px 0 0}.process{background:var(--amarillo)}.steps-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px 70px;max-width:920px;margin:0 auto}.step small{font-size:12px;color:#ec5f93;font-weight:800}.step:nth-child(2) small,.step:nth-child(4) small{color:#50afd2}.step p{margin:6px 0 0;font-size:13px;line-height:1.55}.faq{background:var(--crema)}.faq-shell{max-width:930px;margin:auto;background:#dec8ee;padding:16px 16px 4px}.faq details{background:var(--menta);margin:0 0 9px;border:1px solid #b6cfca}.faq summary{cursor:pointer;padding:16px 18px;font-weight:700;display:flex;justify-content:space-between;gap:20px;font-size:14px}.faq summary::after{content:'⌄';font-size:22px;line-height:15px}.faq details[open] summary::after{content:'⌃'}.faq details p{font-size:13px;line-height:1.75;padding:0 18px 18px;margin:0}.contact{background:var(--melocoton)}.contact h2{color:#eb85a9}.contact-layout{display:grid;grid-template-columns:1.05fr .9fr;align-items:start;gap:58px}.contact-form{background:#fff8f4;border-radius:18px;padding:23px;border:1px solid #ecd5ce;box-shadow:0 8px 23px #aa84761f}.contact-form label{display:block;margin-bottom:13px;color:#61565f;font-weight:700;font-size:12px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:1px solid #d7b9bb;background:#fff;min-height:40px;border-radius:7px;margin-top:6px;padding:10px 12px;font-size:13px;color:#524856}.contact-form textarea{min-height:100px;resize:vertical}.btn{display:inline-flex;justify-content:center;align-items:center;background:var(--rosa);color:#fff;border:0;border-radius:99px;padding:13px 20px;font-weight:800;font-size:13px;transition:background .2s,transform .2s}.btn:hover{background:#c94279;transform:translateY(-2px)}.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #31a5be;outline-offset:3px}.contact-aside{padding:20px 0}.contact-aside p{font-size:15px;line-height:1.75}.contact-aside .facts{list-style:none;padding:0;margin:21px 0}.contact-aside .facts li{margin-bottom:12px}.contact-aside a{color:#b84477;font-weight:800}.privacy{font-size:11px;color:#746972}.footer{background:var(--lila);padding:28px 0 38px}.footer-in{display:flex;justify-content:space-between;align-items:center;gap:22px}.footer img{width:71px;height:71px;object-fit:contain}.footer small{font-size:12px;color:#695d73}.footer-social{display:flex;gap:10px}.footer-social a{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;font-weight:800;color:white;background:#f15d98;transition:transform .2s}.footer-social a:nth-child(2){background:#5eae91}.footer-social a:hover{transform:translateY(-3px)}.wa-float{position:fixed;bottom:18px;right:18px;z-index:25;background:#fff;box-shadow:0 9px 32px #624d5c3d;color:#488b73;border:1px solid #a3d4c0;border-radius:999px;padding:12px 17px;font-weight:800;font-size:13px}.gallery-area{background:#fff;min-height:500px}.gallery-area h2{margin-bottom:27px}.intro-gallery{font-size:17px;line-height:1.6;text-align:center;max-width:740px;margin:0 auto 35px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:center}.gallery-item{margin:0;position:relative}.gallery-item button{display:block;width:100%;border:0;padding:0;background:transparent;text-align:center;border-radius:8px;cursor:zoom-in}.gallery-item img{display:block;width:100%;height:280px;object-fit:contain;transition:transform .25s;filter:drop-shadow(0 2px 7px #66565818)}.gallery-item img:hover{transform:scale(1.025)}.gallery-item figcaption{text-align:center;color:#827581;font-size:12px;margin:8px auto 0}.gallery-item.wide{grid-column:1/-1}.gallery-item.wide img{height:auto;width:100%;max-height:430px;object-fit:contain}.gallery.gallery-2{grid-template-columns:repeat(2,1fr);max-width:890px;margin:auto}.gallery.gallery-2 img{height:340px}.gallery.gallery-1{grid-template-columns:1fr;max-width:470px;margin:auto}.gallery.gallery-1 img{height:350px}.gallery.gallery-3{max-width:1030px;margin:auto}.gallery.gallery-6{max-width:1040px;margin:auto}.no-work{text-align:center;border:2px dashed #edd6e7;border-radius:25px;max-width:750px;margin:0 auto;padding:47px 30px;background:#fff9fc}.no-work h3{font-family:'Fredoka';color:#c55688;font-size:25px;font-weight:500}.no-work p{line-height:1.7}.back-link{margin:30px auto 0;display:flex;width:fit-content;background:#f9eaf1;color:#aa4e7a;border-radius:999px;padding:12px 20px;font-weight:800;font-size:13px}.image-dialog{border:0;max-width:95vw;max-height:95vh;padding:35px 18px 18px;background:#fff8fc;border-radius:15px;box-shadow:0 10px 65px #0005}.image-dialog::backdrop{background:#251b2cba}.image-dialog img{display:block;max-width:88vw;max-height:77vh;object-fit:contain}.image-dialog button{position:absolute;right:7px;top:6px;background:#fce8f1;border:0;border-radius:50%;width:32px;height:32px}.image-dialog p{text-align:center;font-size:13px}.asset-notice{color:#958998;font-size:11px;text-align:center;margin:28px auto 0}.feature-links{background:#f9f1fd;padding:39px 0}.feature-links .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:11px}.feature-links a{font-size:13px;font-weight:800;background:white;color:#a35c82;border:1px solid #e0bfdf;border-radius:999px;padding:10px 14px}.feature-links a:hover{background:#fce5ef}.reveal{opacity:1;transform:none}.reveal.visible{animation:appearUp .7s both}body.no-js .reveal{animation:none}
@keyframes appearUp{from{opacity:.5;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes cloudDrift{0%{translate:-36px 0}100%{translate:42px -3px}}@keyframes gentleBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes bowDance{0%{rotate:-5deg;translate:0 0}100%{rotate:8deg;translate:10px -10px}}
@media(max-width:1000px){.main-nav{gap:11px}.main-nav a{font-size:11px}.hero .hero-in{grid-template-columns:165px 1fr}.hero-logo{width:160px}.hero h1{font-size:clamp(38px,5.3vw,54px)}.event-card img{height:auto;aspect-ratio:4 / 3}}
@media(max-width:730px){.cloud.c1{top:118px;left:-1%;width:122px;height:64px;opacity:.18}.hero .bow.b3{left:14px;top:98px;width:28px;opacity:.23}.hero .bow.b4{left:9px;bottom:22px;width:40px;opacity:.28}.ideas::before{left:-34px;top:118px;width:116px;height:62px;opacity:.28}.ideas::after{left:8px;top:286px;width:46px;height:46px;opacity:.34}.wrap{width:min(100% - 32px,var(--ancho))}.site-header .inner{min-height:65px}.header-mark img{width:54px;height:54px}.header-mark span{font-size:18px}.menu-toggle{display:block}.main-nav{position:absolute;display:none;left:0;right:0;top:65px;background:#e4d6ee;padding:11px 18px 19px;box-shadow:0 12px 20px #54415b21;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{padding:13px;border-bottom:1px solid #ccb9db;font-size:14px}.hero .hero-in,.hero-subpage .hero-in{grid-template-columns:1fr;text-align:center;gap:4px;padding:5px 0 45px}.hero-logo,.hero-subpage .hero-logo{width:125px;margin:0 auto}.hero h1,.hero-subpage h1{font-size:clamp(35px,8vw,50px);margin:0 0 14px}.hero p,.hero-subpage p{font-size:15px}.section{padding:50px 0 57px}.event-grid{grid-template-columns:repeat(2,1fr);gap:13px}.event-card img{height:auto;aspect-ratio:4 / 3}.event-card h3{font-size:17px}.event-card p{font-size:11px}.mini-grid{grid-template-columns:1fr;gap:15px}.steps-grid{gap:20px;grid-template-columns:1fr}.contact-layout{grid-template-columns:1fr;gap:10px}.footer-in{flex-wrap:wrap;justify-content:center;text-align:center}.gallery{gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.gallery.gallery-3{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item img{height:250px}.gallery-item.wide{grid-column:1/-1}.gallery.gallery-2 img{height:260px}.gallery.gallery-1 img{height:300px}.cloud{opacity:.22}.hero .bow{opacity:.2}}
@media(max-width:480px){.cloud.c1{top:106px;left:-3%;width:94px;height:48px;opacity:.14}.hero .bow.b3{left:10px;top:104px;width:22px;opacity:.18}.hero .bow.b4{left:7px;bottom:18px;width:30px;opacity:.22}.ideas::before{left:-30px;top:126px;width:94px;height:50px;opacity:.22}.ideas::after{left:6px;top:232px;width:34px;height:34px;opacity:.28}.event-grid{grid-template-columns:1fr 1fr;gap:11px}.event-card img{height:auto;aspect-ratio:4 / 3}.event-card .event-text{padding:10px 6px 12px}.event-card h3{font-size:16px}.gallery,.gallery.gallery-3,.gallery.gallery-2{grid-template-columns:1fr}.gallery-item img,.gallery.gallery-2 img,.gallery.gallery-1 img{height:auto;max-height:340px}.gallery-item.wide img{max-height:270px}.section h2,.page-title{font-size:35px}.hero h1{font-size:39px}.wa-float{right:9px;bottom:9px;font-size:12px;padding:10px 13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;translate:none!important}.reveal{opacity:1!important;transform:none!important}}
/* V03: todas las imágenes encajan de borde a borde en marcos 4:3 uniformes. */
.event-card .event-text{min-height:116px;display:flex;flex-direction:column;justify-content:center}.event-card img{display:block;width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;object-position:center;border:0}.event-card{align-self:stretch}
@media(max-width:730px){.event-card .event-text{min-height:110px}}
@media(max-width:480px){.event-card .event-text{min-height:115px}}

/* V06 SEO: mantiene el aspecto original del lema del hero y de los títulos de categoría. */
.hero .hero-brand-slogan{font-family:'Fredoka','Comic Neue',cursive;font-size:clamp(42px,5.5vw,65px);font-weight:600;line-height:1.08;color:var(--rosa);margin:0 0 22px;letter-spacing:.005em;max-width:800px;}
.hero-subpage .hero-brand-slogan{font-size:clamp(39px,5vw,57px);}
@media(max-width:1000px){.hero .hero-brand-slogan{font-size:clamp(38px,5.3vw,54px);}}
@media(max-width:730px){.hero .hero-brand-slogan{font-size:clamp(35px,8vw,50px);margin:0 0 14px;}}
@media(max-width:480px){.hero .hero-brand-slogan{font-size:39px;}}

/* V07: informational category copy supporting real search intent */
.seo-guide{max-width:910px;margin:32px auto 5px;padding:25px 28px 23px;background:#fff8fc;border:1px solid #ead8e5;border-radius:19px;line-height:1.75;color:#645867}
.seo-guide h2{font-family:'Fredoka','Comic Neue',cursive;font-weight:500;text-align:left;font-size:clamp(23px,3vw,30px);color:#bb5a87;margin:0 0 13px}
.seo-guide p{font-size:14px;margin:0 0 12px}
.seo-guide ul{margin:0 0 16px;padding-left:23px;font-size:14px}
.seo-guide li{margin-bottom:7px}
.seo-home-note{text-align:center;max-width:900px;margin:33px auto 0;font-size:14px;line-height:1.75;color:#716275}
@media(max-width:730px){.seo-guide{padding:20px 16px}.seo-guide p,.seo-guide ul{font-size:13px}}


/* V08: ajuste comprobado de proporciones del logo y espacios de cabecera.
   Solo afecta a las cabeceras y al comienzo de las galerías;
   se conservan imágenes, textos, paleta de colores, animaciones y SEO. */
.hero .hero-logo,
.hero-subpage .hero-logo {
  display: block;
  width: 185px;
  height: auto; /* neutraliza el height="800" del HTML que deformaba el logo */
  max-height: 185px;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  justify-self: center;
}
.hero .hero-in {
  min-height: 0;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 25px;
  align-items: center;
  padding: 20px 0 23px;
}
.hero-subpage .hero-in {
  min-height: 0;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 22px;
  padding: 16px 0 18px;
}
.hero-subpage .hero-logo {
  width: 156px;
  max-height: 156px;
}
.hero .hero-brand-slogan {
  margin-bottom: 12px;
  line-height: 1.08;
}
.hero .hero-copy > p:not(.hero-brand-slogan) {
  margin: 0;
  line-height: 1.47;
}
.gallery-area {padding-top: 44px; padding-bottom: 58px;}
.gallery-area .page-title {margin-bottom: 13px;}
.gallery-area .intro-gallery {margin-bottom: 24px; line-height: 1.55;}
.ideas {padding-top: 52px;}
.ideas .event-grid {margin-top: 21px;}
@media (max-width: 730px) {
  .hero .hero-in,
  .hero-subpage .hero-in {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 15px 0 20px;
    text-align: center;
  }
  .hero .hero-logo,
  .hero-subpage .hero-logo {
    width: 125px;
    height: auto;
    max-height: 125px;
    margin: 0 auto;
  }
  .hero .hero-brand-slogan {
    margin-bottom: 10px;
    font-size: clamp(31px, 7.5vw, 43px);
  }
  .hero .hero-copy > p:not(.hero-brand-slogan) {
    max-width: 610px;
    margin-inline: auto;
  }
  .gallery-area {padding-top: 35px; padding-bottom: 48px;}
  .gallery-area .page-title {margin-bottom: 12px;}
  .gallery-area .intro-gallery {margin-bottom: 20px;}
  .ideas {padding-top: 42px;}
  .ideas .event-grid {margin-top: 17px;}
}
@media (max-width: 480px) {
  .hero .hero-in,
  .hero-subpage .hero-in {padding: 14px 0 18px;}
  .hero .hero-logo,
  .hero-subpage .hero-logo {width: 112px; max-height: 112px;}
  .hero .hero-brand-slogan {font-size: clamp(30px, 8.1vw, 37px);}
  .gallery-area {padding-top: 29px;}
  .gallery-area .intro-gallery {font-size: 15px;}
}
