.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:5rem 1.5rem 3rem;background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-surface) 100%);position:relative;overflow:hidden}.hero-bg-layer{position:absolute;inset:0;z-index:0;pointer-events:none}.hero-bg-item{position:absolute;width:var(--size, 120px);height:var(--size, 120px);opacity:0;filter:blur(0px);will-change:transform,opacity;transform-origin:center;transform:translate(var(--dx1, 0px),var(--dy1, 0px)) scale(.55);animation-fill-mode:both}.hero-bg-item.is-animating{animation:heroBubble var(--dur, 18s) cubic-bezier(.45,0,.55,1) 1}.hero-bg-item img{width:100%;height:100%;object-fit:contain;opacity:.9;user-select:none;-webkit-user-drag:none}@keyframes heroBubble{0%{transform:translate(var(--dx1, 0px),var(--dy1, 0px)) scale(.55);opacity:0}18%{opacity:.85}50%{transform:translate(var(--dx2, 0px),var(--dy2, 0px)) scale(1);opacity:.95}82%{opacity:.85}to{transform:translate(var(--dx3, 0px),var(--dy3, 0px)) scale(.55);opacity:0}}.hero-content{max-width:900px;position:relative;z-index:1}@media(prefers-reduced-motion:reduce){.hero-bg-item{animation:none;opacity:.15;transform:none}}.hero h1{font-size:clamp(1.75rem,4.5vw,2.75rem);margin-bottom:1.5rem;line-height:1.2;color:var(--color-text-strong);font-weight:700}.hero p{font-size:1rem;color:var(--color-text-soft);margin:0 auto 2.5rem;max-width:600px;line-height:1.8;text-align:center}.hero-pill{display:inline-block;padding:.4rem .85rem;border-radius:18px;font-size:.9rem;font-weight:500;margin:0 .2rem .1rem;vertical-align:middle;transition:transform .2s ease}.pill-ansiedad{background:#f5d0e5;color:#6b3a4d;transform:translateY(-1px)}.pill-duelo{background:#d0e8f5;color:#3a4d6b;transform:translateY(1px)}.pill-crisis{background:#f5e8d0;color:#6b523a;transform:translateY(-.5px)}.pill-autismo{background:#e0f5d0;color:#3d6b3a;transform:translateY(.5px)}.pill-mascota{background:#e8d0f5;color:#5d3a6b;transform:translateY(-.5px)}.hero-pill:hover{transform:translateY(0) scale(1.02)}@media(max-width:640px){.hero-pill{padding:.3rem .6rem;font-size:.85rem;margin:0 .1rem}.pill-ansiedad,.pill-duelo,.pill-crisis,.pill-autismo,.pill-mascota{transform:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:transparent;color:var(--color-accent);padding:.875rem 2rem;border-radius:var(--radius-md);font-size:1rem;font-weight:600;border:2px solid var(--color-accent-light);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;font-family:var(--font-body)}.btn:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.hero-services{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:3rem}.hero-services span{background:var(--color-accent-soft);padding:.5rem 1rem;border-radius:20px;font-size:.875rem;color:var(--color-text);font-weight:500}.about{padding:5rem 1.5rem;background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-accent-light) 100%)}.about-container{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}@media(min-width:768px){.about-container{grid-template-columns:280px 1fr;gap:3rem}}.about-photo{width:280px;height:300px;border-radius:20px;object-fit:cover;margin:0 auto;box-shadow:0 10px 40px #0000001a}.about-content h2{font-size:clamp(1.75rem,4vw,2.5rem);margin-bottom:1.5rem;color:var(--color-text-strong);font-weight:700}.about-content p{margin-bottom:1rem;color:var(--color-text);line-height:1.7}.about-content p strong{color:var(--color-text-strong);font-weight:600}.about-content p:last-child{margin-bottom:0}.testimonials{padding:5rem 1.5rem;background:var(--color-accent-light)}.testimonials h2{text-align:center;font-size:clamp(1.75rem,4vw,2.5rem);margin-bottom:3rem;color:var(--color-text-strong);font-weight:700}.wall-of-love{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;height:620px;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent 100%)}.wol-column{overflow:hidden}.wol-track{display:flex;flex-direction:column;gap:1.25rem;will-change:transform;animation:wolScroll var(--wol-dur, 50s) linear infinite}.wol-column--1 .wol-track{--wol-dur: 48s}.wol-column--2 .wol-track{--wol-dur: 58s;animation-direction:reverse}.wol-column--3 .wol-track{--wol-dur: 52s}@keyframes wolScroll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.testimonial-card{background:#fdebd0;padding:1.25rem;border-radius:16px;box-shadow:0 4px 20px #0000000d}.wol-column .testimonial-card:nth-child(6n+1){background:#fdebd0}.wol-column .testimonial-card:nth-child(6n+2){background:#d5f5e3}.wol-column .testimonial-card:nth-child(6n+3){background:#d6eaf8}.wol-column .testimonial-card:nth-child(6n+4){background:#f5eef8}.wol-column .testimonial-card:nth-child(6n+5){background:#feefc3}.wol-column .testimonial-card:nth-child(6n+6){background:#e8f8f5}.testimonial-quote{font-size:.9rem;line-height:1.65;color:var(--color-text);margin-bottom:.9rem}.testimonial-author{display:flex;align-items:center;gap:.75rem}.testimonial-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background:#ddd}.testimonial-name{font-weight:500;font-size:.875rem}.testimonial-stars{color:#f1c40f;font-size:.75rem;margin-top:.25rem;display:none}@media(max-width:900px){.wall-of-love{grid-template-columns:repeat(2,1fr);height:560px}.wol-column--3{display:none}}@media(max-width:640px){.wall-of-love{grid-template-columns:1fr;height:520px}.wol-column--2{display:none}}@media(prefers-reduced-motion:reduce){.wall-of-love{height:auto;overflow:visible;-webkit-mask-image:none;mask-image:none}.wol-column{overflow:visible}.wol-track{animation:none}.wol-track>.testimonial-card[aria-hidden=true]{display:none}}.booking{padding:5rem 2rem;background:linear-gradient(180deg,var(--color-accent-light) 0%,var(--color-accent-soft) 100%);display:flex;justify-content:center;align-items:center}.booking-card{background:var(--color-bg);border-radius:var(--radius-lg);padding:2rem 2rem 2.5rem;max-width:400px;width:100%;text-align:center;box-shadow:0 4px 24px #0000000f}.booking-title{font-family:var(--font-heading);font-size:clamp(1.375rem,4vw,1.625rem);font-weight:700;color:var(--color-text-strong);line-height:1.3;margin:0 0 1.25rem}.booking-illustration{width:160px;height:auto;margin:0 auto 1.5rem;display:block}.date-selector{display:flex;justify-content:center;gap:5px;margin-bottom:.375rem;pointer-events:none}.date-option{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:38px;height:44px;border-radius:8px;border:1px solid #e9ecef;background:#fff;padding:4px;font-weight:500}.date-option.active{border-color:#212529;background:#fff}.day-name{font-size:.6rem;color:#868e96;text-transform:uppercase}.date-option.active .day-name{color:#e63946;font-weight:700}.day-number{font-size:1rem;font-weight:600;color:var(--color-text-strong)}.booking-availability{font-size:.7rem;color:var(--color-text-light);margin-bottom:1.25rem}.booking-card .btn{width:100%;font-size:.875rem;padding:.75rem 1.5rem;margin-bottom:1.25rem}.booking-features{list-style:none;padding:0;margin:0;text-align:center}.booking-features li{font-size:.75rem;color:var(--color-text-soft);margin-bottom:.25rem;line-height:1.4}.faq{padding:5rem 1.5rem;background:var(--color-accent-soft)}.faq{background:linear-gradient(180deg,var(--color-accent-soft) 0%,var(--color-bg) 100%)}.faq h2{text-align:center;font-size:clamp(1.75rem,4vw,2.5rem);margin-bottom:3rem;color:var(--color-text-strong);font-weight:700}.faq-container{max-width:700px;margin:0 auto}.faq-item{border-bottom:1px solid var(--color-line)}.faq-item summary{padding:1.25rem 0;cursor:pointer;font-weight:500;list-style:none;display:flex;justify-content:space-between;align-items:center}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-size:1.5rem;color:var(--color-text-soft);transition:transform .3s ease}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-answer{padding:0 0 1.25rem;color:var(--color-text-soft);line-height:1.7}.fade-element{opacity:0;transform:translateY(25px);transition:opacity .5s ease-out,transform .5s ease-out}.fade-element.visible{opacity:1;transform:translateY(0)}.fade-element.fade-out{opacity:0;transform:translateY(-15px)}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,#5d4a66,#7a6284);padding:.875rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;z-index:9999;transform:translateY(100%);transition:transform .4s ease;box-shadow:0 -4px 20px #00000026}.cookie-banner.visible{transform:translateY(0)}.cookie-banner p{color:#fffffff2;font-size:.8rem;margin:0;flex:1;line-height:1.5}.cookie-banner a{color:#e8d5f0;text-decoration:underline;font-weight:500}.cookie-banner a:hover{color:#fff}.cookie-buttons{display:flex;gap:.75rem;flex-shrink:0}.cookie-btn{padding:.6rem 1.25rem;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;border:none;transition:all .2s ease;white-space:nowrap}.cookie-btn-config{background:transparent;color:#ffffffe6;border:1px solid rgba(255,255,255,.4)}.cookie-btn-config:hover{background:#ffffff1a;border-color:#fff9}.cookie-btn-accept{background:#fff;color:#5d4a66}.cookie-btn-accept:hover{background:#f5f0f7;transform:translateY(-1px)}.cookie-modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s ease}.cookie-modal-overlay.visible{opacity:1;visibility:visible}.cookie-modal{background:linear-gradient(145deg,#6b5a73,#8a7493);border-radius:16px;padding:2rem;max-width:480px;width:90%;color:#fff;transform:scale(.9);transition:transform .3s ease}.cookie-modal-overlay.visible .cookie-modal{transform:scale(1)}.cookie-consent-overlay{position:fixed;inset:0;background:#00000059;backdrop-filter:blur(6px);z-index:9998;opacity:0;visibility:hidden;transition:all .3s ease;pointer-events:none}.cookie-consent-overlay.visible{opacity:1;visibility:visible;pointer-events:auto}.cookie-modal h3{font-family:var(--font-heading);font-size:1.25rem;margin:0 0 .75rem;text-align:center}.cookie-modal>p{font-size:.8rem;text-align:center;opacity:.9;margin-bottom:1.5rem;line-height:1.5}.cookie-option{background:#ffffff1a;border-radius:10px;padding:.875rem 1rem;margin-bottom:.5rem;display:flex;justify-content:space-between;align-items:center}.cookie-option-label{font-size:.85rem;font-weight:500}.cookie-toggle{position:relative;width:44px;height:24px;background:#fff3;border-radius:12px;cursor:pointer;transition:background .2s}.cookie-toggle.active{background:#a8e6cf}.cookie-toggle.disabled{opacity:.6;cursor:not-allowed}.cookie-toggle:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s}.cookie-toggle.active:after{transform:translate(20px)}.cookie-modal-buttons{display:flex;gap:.75rem;margin-top:1.5rem}.cookie-modal-buttons .cookie-btn{flex:1;text-align:center}@media(max-width:600px){.cookie-banner{flex-direction:column;text-align:center;padding:1rem;gap:1rem}.cookie-banner p{font-size:.75rem}.cookie-buttons{width:100%;justify-content:center}.cookie-modal{padding:1.5rem}}@media(max-width:480px){.booking-card{padding:2rem 1.5rem}.booking-illustration{width:120px}.hero h1{font-size:1.75rem}.hero p{font-size:1rem}.hero-services{gap:.5rem}.hero-services span{font-size:.75rem;padding:.375rem .75rem}}@media(max-width:360px){.btn{padding:.75rem 1.5rem;font-size:.9rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
