.retro-banner{display:block;background:#ffd23f;color:#2d232e;text-align:center;padding:20px;border-radius:50px;text-decoration:none;margin-bottom:30px;border:4px solid #2D232E;box-shadow:6px 6px #2d232e;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.retro-banner:hover{transform:translateY(-4px);box-shadow:10px 10px #ef476f}.retro-banner-content{font-size:1.25rem;font-weight:400;font-family:Shrikhand,cursive;letter-spacing:1px}.retro-badge{background:#ef476f;color:#fff;padding:4px 12px;font-family:Nunito,sans-serif;font-weight:900;border-radius:20px;font-size:.9rem;margin-right:10px;border:2px solid var(--pc-negro);text-shadow:none;display:inline-block;transform:rotate(-5deg)}.hero-section{text-align:center;padding:40px 20px;background:var(--pc-blanco);border:4px solid var(--pc-negro);border-radius:25px;margin-bottom:40px;box-shadow:10px 10px 0 var(--pc-rosa-pastell);position:relative}.logo-container{position:relative;display:inline-block;margin:0 auto 20px}.hero-logo{max-width:100%;width:280px;height:auto;display:block;border-radius:15px;margin:0}.hero-title{font-size:3.5rem;color:var(--pc-rosa-fuerte);margin-bottom:0;line-height:1.1}.hero-location{font-size:2rem;color:var(--pc-negro);margin-bottom:15px}.hero-subtitle{font-size:1.3rem;color:#555;font-weight:800;margin-bottom:30px;font-style:italic}.hero-buttons{display:flex;flex-direction:column;align-items:center;gap:5px}.welcome-section{background:var(--pc-rosa-pastell);border:4px dashed var(--pc-negro);border-radius:20px;padding:35px 25px;text-align:center;margin-bottom:50px}.welcome-section h2{font-size:2.2rem;color:var(--pc-rosa-fuerte);margin-bottom:15px}.welcome-section p{font-size:1.15rem;font-weight:600;color:var(--pc-negro);max-width:800px;margin:0 auto}.services-header{text-align:center;margin-bottom:30px}.services-header h2{font-size:2.5rem;color:var(--pc-negro)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:25px;margin-bottom:50px}.service-card{background:#fff;border:3px solid var(--pc-negro);border-radius:20px;padding:20px;text-align:center;transition:transform .2s;box-shadow:6px 6px 0 var(--pc-gris-suave)}.service-card:hover{transform:translateY(-8px);box-shadow:8px 8px 0 var(--pc-rosa-medio)}.service-img{width:100%;aspect-ratio:1 / 1;object-fit:contain;background:#fff;border:3px solid var(--pc-negro);border-radius:15px;margin-bottom:15px}.service-card h3{color:var(--pc-rosa-fuerte);font-size:1.4rem;margin-bottom:10px}.service-card p{font-size:.95rem;color:#444;font-weight:600;margin-bottom:15px;line-height:1.4}.service-card a{color:var(--pc-negro);font-weight:800;text-decoration:underline;text-decoration-color:var(--pc-rosa-fuerte);text-decoration-thickness:3px}.appointments-section{background:#fff;border:4px solid var(--pc-negro);border-radius:25px;padding:40px 25px;margin-bottom:50px;box-shadow:10px 10px 0 var(--pc-azul-suave)}.appointments-section h2{font-size:2.5rem;color:var(--pc-rosa-fuerte);text-align:center;margin-bottom:15px}.appointments-section>p{text-align:center;font-size:1.15rem;font-weight:600;margin-bottom:30px;max-width:800px;margin-inline:auto}.appt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:30px}.appt-card{background:var(--pc-gris-suave);border:2px dashed var(--pc-negro);padding:20px;border-radius:15px}.appt-card h4{font-size:1.2rem;color:var(--pc-negro);margin-bottom:10px;display:flex;align-items:center;gap:8px}.appt-card p{font-size:.95rem;color:#555}.footer-wrapper{background:var(--pc-rosa-oscuro);color:#fff;border-radius:25px;padding:40px 20px;margin-bottom:20px;border:4px solid var(--pc-negro)}.contact-grid{display:grid;grid-template-columns:1fr;gap:40px;margin-bottom:30px}.contact-info{text-align:center}.contact-info h2{font-size:2.8rem;color:#fff;margin-bottom:5px;line-height:1.1}.contact-info h3{font-size:1.4rem;color:var(--pc-rosa-pastell);font-weight:800;margin-bottom:5px}.contact-info .slogan{font-size:1.2rem;font-weight:800;font-style:italic;margin-bottom:25px;color:var(--pc-amarillo)}.contact-info p{font-size:1.05rem;margin-bottom:15px;display:flex;align-items:flex-start;gap:10px;justify-content:center;text-align:left;max-width:400px;margin-inline:auto}.contact-info .icon{font-size:1.3rem}.social-links{display:flex;justify-content:center;gap:15px;margin-top:25px;flex-wrap:wrap}.map-container{width:100%;height:350px;border:4px solid white;border-radius:15px;overflow:hidden;box-shadow:0 8px #0003}.map-container iframe{width:100%;height:100%;border:0}.reviews-box{background:#fff;border:4px solid var(--pc-negro);border-radius:20px;padding:30px;text-align:center;color:var(--pc-negro);margin-top:30px;box-shadow:6px 6px 0 var(--pc-amarillo);max-width:800px;margin-inline:auto}.reviews-box h4{font-size:1.8rem;color:var(--pc-rosa-fuerte);margin-bottom:10px}.stars{color:#f39c12;font-size:2rem;margin-bottom:15px;letter-spacing:5px}.snoopy-stamp{position:absolute;bottom:-15px;right:-25px;width:120px;z-index:10;filter:drop-shadow(4px 4px 0px var(--pc-negro));transform:rotate(15deg);cursor:pointer}@keyframes stampDance{0%{transform:scale(1) rotate(15deg)}20%{transform:scale(2.5) rotate(5deg)}40%{transform:scale(2.5) rotate(25deg)}60%{transform:scale(2.5) rotate(5deg)}80%{transform:scale(2.5) rotate(25deg)}to{transform:scale(1) rotate(15deg)}}.stamp-dance{animation:stampDance .8s ease-in-out}@media(min-width:768px){.hero-buttons{flex-direction:row;justify-content:center;gap:20px;flex-wrap:wrap}.btn{margin-bottom:0}.contact-grid{grid-template-columns:1fr 1fr;align-items:center}.contact-info{text-align:left}.contact-info p{justify-content:flex-start;margin-inline:0}.social-links{justify-content:flex-start}.appointments-section>p{font-size:1.2rem}}@media(max-width:600px){.hero-title{font-size:2.5rem}.hero-location{font-size:1.6rem}.welcome-section h2{font-size:1.8rem}.contact-info h2{font-size:2.2rem}.snoopy-stamp{width:100px;bottom:-10px;right:-15px}}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background:#000000bf;align-items:center;justify-content:center;padding:15px}.modal-content{background:#fff;border:4px solid var(--pc-negro);border-radius:25px;max-width:500px;width:100%;padding:35px;position:relative;box-shadow:12px 12px 0 var(--pc-amarillo);animation:popIn .3s ease-out}@keyframes popIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.close-modal{position:absolute;top:15px;right:25px;font-size:2.5rem;cursor:pointer;font-weight:900;color:var(--pc-negro);line-height:1;transition:.2s}.close-modal:hover{color:var(--pc-rosa-fuerte);transform:scale(1.1)}.modal input,.modal textarea{width:100%;padding:12px 15px;margin-bottom:15px;border:3px solid var(--pc-negro);border-radius:10px;font-family:Nunito,sans-serif;font-size:1rem;outline:none}.modal input:focus,.modal textarea:focus{border-color:var(--pc-rosa-fuerte)}.race-banner{display:block;background:var(--pc-rosa-fuerte);color:#fff;text-align:center;padding:20px;border-radius:20px;text-decoration:none;margin-bottom:30px;border:4px solid var(--pc-negro);box-shadow:6px 6px 0 var(--pc-negro);transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.race-banner:hover{transform:translateY(-4px);box-shadow:10px 10px 0 var(--pc-amarillo);color:#fff}.race-banner-content{font-size:1.25rem;font-weight:800;letter-spacing:.5px}.race-badge{background:var(--pc-amarillo);color:var(--pc-negro);padding:4px 12px;font-weight:900;border-radius:20px;font-size:.9rem;margin-right:10px;border:2px solid var(--pc-negro);display:inline-block;transform:rotate(-3deg);box-shadow:2px 2px 0 var(--pc-negro)}
