/* Mundodent refinements */
.testimonial-real{display:flex;flex-direction:column;justify-content:flex-start;background:linear-gradient(140deg,#fce9f4,#e7f1fb);border-color:#fff;box-shadow:0 15px 35px #35577b1c}
.testimonial-real blockquote{margin:2px 0 22px;font-size:clamp(16px,1.5vw,22px);line-height:1.5;color:#254560}
.testimonial-real strong{margin-top:auto;color:#244b67;font-family:'Space Grotesk',sans-serif;font-size:18px}

.care-card{cursor:pointer}
.care-card h3{font-family:'Space Grotesk',sans-serif!important;font-size:clamp(42px,4.5vw,70px)!important;font-weight:600;line-height:1.02;letter-spacing:-.055em;margin:20px 0 8px}
.care-card .care-intro{font-size:clamp(20px,2vw,28px);line-height:1.25;max-width:22ch;margin:0 0 24px}
.care-card .care-action{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;align-self:flex-start;padding:15px 22px;border:1px solid #fff9;border-radius:16px;background:linear-gradient(135deg,#345e83,#153952);color:white;font-weight:700;box-shadow:inset 0 1px #fff9,0 8px 22px #17375238;transition:transform .3s,box-shadow .3s,background .3s}
.care-card.blue .care-action{background:linear-gradient(135deg,#236c81,#244b76)}
.care-card:hover .care-action,.care-card:focus-visible .care-action{transform:translateY(-3px);box-shadow:inset 0 1px #fff,0 14px 30px #17375255}
.care-action .icon{width:22px;height:22px;transition:transform .4s}
.care-card:hover .care-action .icon{transform:translate(3px,-3px)}
.care-card.is-sending .care-action .icon{animation:send-away .46s ease-in forwards}
@keyframes send-away{to{transform:translate(55px,-55px) scale(.4);opacity:0}}

.payments .payment-symbol{background:#365b75;color:#fff;box-shadow:inset 0 2px #ffffff55}
.payments .payment-symbol .icon{color:#fff!important}

.location-section{isolation:isolate}
.location-section>.ambient{inset:-45%;background:radial-gradient(ellipse at 20% 32%,#ee94ca88,transparent 32%),radial-gradient(ellipse at 81% 68%,#69bbf596,transparent 39%),radial-gradient(ellipse at 52% 20%,#9e86c761,transparent 34%);filter:blur(34px);animation:location-drift 7s ease-in-out infinite alternate}
.location-section::before{content:'';position:absolute;inset:-30%;z-index:0;pointer-events:none;background:linear-gradient(115deg,transparent 28%,#f8afd21c 44%,#74c5f629 58%,transparent 75%);transform:rotate(-13deg);animation:location-wave 5.5s ease-in-out infinite alternate}
@keyframes location-drift{0%{transform:translate(-5%,4%) rotate(-6deg)}100%{transform:translate(8%,-5%) rotate(9deg)}}
@keyframes location-wave{to{transform:translateX(12%) rotate(8deg)}}

footer{isolation:isolate;overflow:hidden}
footer .footer-aurora{background:radial-gradient(ellipse at 20% 25%,#f08dc99b,transparent 48%),radial-gradient(ellipse at 78% 70%,#6ec8f5b5,transparent 47%),radial-gradient(ellipse at 54% 42%,#66bb9d77,transparent 52%);animation:footer-colorflow 5.5s ease-in-out infinite alternate}
footer .waves path:first-child{animation:footer-wave 3.5s ease-in-out infinite alternate}
footer .waves path:last-child{animation:footer-wave 4.5s ease-in-out infinite alternate-reverse}
@keyframes footer-colorflow{0%{transform:translate(-5%,1%) scale(1);filter:hue-rotate(0deg)}50%{transform:translate(5%,-3%) scale(1.16);filter:hue-rotate(20deg)}100%{transform:translate(-3%,5%) scale(1.07);filter:hue-rotate(-15deg)}}
@keyframes footer-wave{to{transform:translateY(12px) scaleX(1.08)}}
.footer-detail{display:flex;align-items:flex-start;gap:12px;margin-top:17px;color:#e8f5ff;text-decoration:none;line-height:1.5;font-size:clamp(15px,1.25vw,18px)}
.footer-detail:hover{color:#fff}
.footer-detail .icon{width:24px;height:24px;flex:0 0 24px;color:#aee9e5;margin-top:2px}
.footer-detail.footer-hours{color:#d7e3f1}
.footer-brand{display:inline-block;opacity:0;transform:translateY(22px) scale(.83);filter:blur(8px)}
.footer-brand.logo-arrived{animation:logo-arrive .8s cubic-bezier(.2,1.5,.4,1) forwards}
@keyframes logo-arrive{to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
.socials>a.social-facebook{background:linear-gradient(145deg,#4a8bcc,#2059a5)}
.socials>a.social-instagram{background:linear-gradient(145deg,#704cc9 10%,#c53f7f 48%,#f09b52)}
.socials>a.social-whatsapp{background:linear-gradient(145deg,#37ba7f,#15795a)}
.socials>a{border-color:#ffffff90;box-shadow:inset 0 1px #ffffff89,0 8px 20px #102b4250}
.dock-call{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;border:1px solid #ffffffb3;background:linear-gradient(135deg,#79afd7,#2a658c);color:white;box-shadow:inset 0 2px #ffffff70,0 8px 25px #13314940;transition:transform .3s}
.dock-call:hover{transform:translateY(-5px) rotate(-8deg)}
.dock-call .icon{width:27px;height:27px}
.theme-toggle{border:1px solid #ffffffd9;background:linear-gradient(135deg,#e7f2ffec,#d7e8f8df);box-shadow:inset 0 1px #fff,0 8px 30px #163c5f3d;color:#183e63}
.theme-toggle::before{content:'';position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(120deg,#83c9fb88,#f5acd988,#85d5c37a);z-index:-1;filter:blur(12px);opacity:.7;transition:opacity .3s}
.theme-toggle:hover::before{opacity:1}
.theme-toggle>.icon{transition:transform .4s,filter .4s}
.theme-toggle:hover>.icon{transform:rotate(-18deg) scale(1.12);filter:drop-shadow(0 0 8px #70c0f7)}
[data-theme=dark] .theme-toggle{background:linear-gradient(130deg,#27384f,#263e58);color:#f4dda6;border-color:#afc8ea7a}

.listings{position:relative;isolation:isolate}
.listings::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:40px;background:radial-gradient(450px circle at var(--neon-x,50%) var(--neon-y,20%),#ff7ec770,transparent 68%);filter:blur(24px);opacity:.7;transition:opacity .3s}
.listings .section-heading h2{font-family:'Space Grotesk',sans-serif;letter-spacing:-.06em;color:#ef76b4;text-shadow:0 0 16px #ff71c2aa,0 0 38px #ef79b774}
.listings .section-heading h2 em{font-family:'Instrument Serif',serif;color:#ea6eb3;text-shadow:0 0 18px #ff8fcead}
.listing-row .consult-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;margin-left:auto;padding:13px 20px;border:1px solid #fff9;border-radius:14px;background:linear-gradient(135deg,#ed91c5,#b965a5);color:#fff;font-weight:700;box-shadow:0 8px 20px #ab5e9655;position:relative;z-index:3}
.listing-row .consult-button:hover{background:linear-gradient(135deg,#f5acd7,#b65d9e);transform:translateY(-2px)}
.listing-row .service-icon .icon,.service-item .service-icon .icon{transform-origin:center;transition:filter .3s}
.listing-row:hover .service-icon .icon,.service-item:hover .service-icon .icon,.listing-row.icon-in-view .service-icon .icon,.service-item.icon-in-view .service-icon .icon{animation:dental-icon 1.2s ease-in-out}
@keyframes dental-icon{0%,100%{transform:rotate(0) scale(1)}25%{transform:rotate(-16deg) scale(1.14)}55%{transform:rotate(14deg) scale(1.1)}75%{transform:rotate(-6deg) scale(1.04)}}
.services-grid>.service-item:last-child:nth-child(3n+1){grid-column:2}

.message-story{display:grid;grid-template-columns:220px 1fr;align-items:center;justify-content:center;gap:60px;max-width:760px;margin:25px auto 0;padding:28px 45px;color:#e7f4ff;opacity:0;transform:translateY(35px);transition:opacity .6s,transform .6s}
.message-story.is-active{opacity:1;transform:translateY(0)}
.message-story h3{font-family:'Space Grotesk',sans-serif;font-size:clamp(27px,2.5vw,37px);line-height:1.1;margin:4px 0 12px}
.message-story h3 em{font-family:'Instrument Serif',serif;color:#f2b2d5}
.message-story p{font-size:16px;color:#c4d6e7;max-width:35ch}
.message-phone{height:255px;width:150px;border:7px solid #f0f7ff;border-radius:30px;background:#18354f;box-shadow:0 0 0 3px #7dc7f3,0 17px 35px #0a182a9e;transform:rotate(-9deg)}
.phone-speaker{display:block;width:45px;height:5px;border-radius:8px;margin:8px auto;background:#9bb8cd}
.phone-screen{display:flex;flex-direction:column;gap:13px;margin:10px;padding:18px 8px;height:205px;border-radius:12px;background:linear-gradient(145deg,#e6f6fc,#f9e5f0)}
.phone-bubble{display:block;max-width:100%;padding:9px;border-radius:11px 11px 11px 2px;background:#fff;color:#24506c;font-size:10px;font-weight:700;opacity:0;transform:translateY(18px)}
.phone-bubble.reply{margin-left:auto;border-radius:11px 11px 2px 11px;background:#86d9bb}
.phone-send{display:grid;place-items:center;align-self:end;width:25px;height:25px;margin-top:auto;border-radius:50%;background:#2c9f79;color:#fff;opacity:0}
.phone-send .icon{width:15px;height:15px}
.message-story.is-active .phone-bubble:first-child{animation:message-appear .5s .35s forwards}
.message-story.is-active .phone-send{animation:message-appear .4s .8s forwards}
.message-story.is-active .phone-bubble.reply{animation:message-appear .5s 1.4s forwards}
@keyframes message-appear{to{opacity:1;transform:translateY(0)}}

.photo-badge,.photo-note,.hero-sticker{position:relative;isolation:isolate;overflow:visible}
.photo-badge::before,.photo-note::before,.hero-sticker::before{content:'';position:absolute;inset:-10px;z-index:-1;border-radius:inherit;background:linear-gradient(110deg,#ef85c799,#83cbf799,#7bdbc39c);filter:blur(16px);opacity:.7;animation:badge-glow 3.5s ease-in-out infinite alternate}
.photo-badge .icon,.hero-sticker .icon{color:#b5efff;filter:drop-shadow(0 0 7px #d081e0);animation:badge-icon 2.7s ease-in-out infinite alternate}
@keyframes badge-glow{to{opacity:1;filter:blur(24px) hue-rotate(25deg)}}
@keyframes badge-icon{to{filter:drop-shadow(0 0 13px #f4a5dc);transform:scale(1.08)}}

.contact-hero{align-items:start}
.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px;max-width:690px}
.contact-details>a,.contact-hours{display:flex;align-items:flex-start;gap:12px;min-width:0;padding:15px 17px;border-radius:17px;border:1px solid #ffffffbd;background:linear-gradient(125deg,#ffffff9e,#e3edf5b9);box-shadow:0 9px 25px #244d6920;color:#1c455e;font-size:15px;line-height:1.45}
.contact-details>a:hover{transform:translateY(-3px);box-shadow:0 14px 30px #244d6933}
.contact-details .icon{width:23px;height:23px;flex:0 0 23px;color:#2d718a}
.contact-details small{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:#587186;margin-bottom:3px}
.contact-details .contact-address{grid-column:1/-1}
.contact-address strong{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:14px;color:#1c7890}
.contact-address strong .icon{width:18px;height:18px}
.contact-details .contact-chat{grid-column:1/-1;align-items:center;justify-content:center;background:linear-gradient(130deg,#29806c,#185754);color:#fff;font-weight:700}
.contact-chat .icon{color:#fff}
.contact-details .socials{grid-column:1/-1;margin:2px 0 0}
.contact-appointment{padding-bottom:45px}
.contact-appointment .appointment{margin-top:0}
.contact-appointment .message-story{color:#244560}
.contact-appointment .message-story p{color:#4e6b80}

@media(max-width:900px){.services-grid>.service-item:last-child:nth-child(3n+1){grid-column:auto}.message-story{grid-template-columns:160px 1fr;gap:25px}.care-card h3{font-size:46px!important}}
@media(max-width:600px){
 .testimonial-real blockquote{font-size:18px}.care-card h3{font-size:44px!important}.care-card .care-intro{font-size:21px}
 .listings::before{animation:neon-roam 6s ease-in-out infinite alternate}.listing-row .consult-button{margin:22px 0 0;width:auto}.listing-row .list-action{justify-content:center}
 @keyframes neon-roam{0%{background-position:-160px -90px;transform:translateX(-3%)}100%{background-position:180px 120px;transform:translateX(4%)}}
 .payment-method:last-child{grid-column:auto!important}.payments .payment-symbol,.payments .payment-logo{width:90px;height:70px;flex-basis:70px}
 .footer-grid .brand{max-width:100%}.footer-detail{font-size:15px}.socials{gap:10px}
 .dock-call{width:51px;height:51px}.dock-call .icon{width:24px;height:24px}
 .message-story{grid-template-columns:110px 1fr;gap:24px;padding:22px 5px;margin-top:15px}.message-phone{transform:scale(.7) rotate(-9deg);transform-origin:left center}.message-story h3{font-size:26px}.message-story .eyebrow{font-size:10px}.message-story p{font-size:13px}
 .contact-details{grid-template-columns:1fr}.contact-details .contact-address,.contact-details .contact-chat,.contact-details .socials{grid-column:1}.contact-hero{gap:24px}.contact-details>a,.contact-hours{font-size:15px}.contact-appointment{padding-bottom:30px}
}
@media(prefers-reduced-motion:reduce){.location-section>.ambient,.location-section::before,footer .footer-aurora,footer .waves path,.listings::before,.photo-badge::before,.photo-note::before,.hero-sticker::before,.photo-badge .icon,.hero-sticker .icon{animation:none!important}.footer-brand,.message-story{opacity:1;transform:none;filter:none}.phone-bubble,.phone-send{opacity:1;transform:none}.care-card.is-sending .care-action .icon,.listing-row:hover .service-icon .icon,.service-item:hover .service-icon .icon{animation:none!important}}
