@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@600;700;800&display=swap');

:root { --ink:#070a12; --surface:#111827; --line:rgba(255,255,255,.1); --gold:#f5c770; --gold-glow:rgba(245,199,112,.48); --white:#f8fafc; --muted:#cbd5e1; --green:#25d366; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:radial-gradient(circle at 12% 15%,rgba(245,199,112,.07),transparent 30%),var(--ink); color:var(--white); font:400 16px/1.6 Inter,system-ui,sans-serif; }
a { color:inherit; }
.site-header { display:flex; justify-content:center; padding:28px 24px 16px; }
.brand { color:var(--gold); font:800 clamp(1.4rem,3vw,2rem)/1 Outfit,sans-serif; letter-spacing:.13em; text-decoration:none; text-shadow:0 0 16px var(--gold-glow); }
main { width:min(1120px,calc(100% - 40px)); margin:auto; padding:20px 0 72px; }
.hero { width:min(580px,100%); margin:auto; display:grid; gap:22px; }
.hero-photo { position:relative; aspect-ratio:1; overflow:hidden; border:1px solid var(--line); border-radius:30px; box-shadow:0 30px 70px rgba(0,0,0,.55); }
.hero-photo>img { display:block; width:100%; height:100%; object-fit:cover; }
.hero-caption { position:absolute; inset:auto 22px 22px; padding:17px 20px; text-align:center; border:1px solid rgba(255,255,255,.08); border-radius:20px; background:rgba(4,8,16,.82); backdrop-filter:blur(12px); }
h1,h2,h3,summary { font-family:Outfit,sans-serif; }
h1,h2 { color:var(--gold); text-shadow:0 0 14px var(--gold-glow); }
h1 { margin:0; font-size:clamp(1.8rem,5vw,2.45rem); line-height:1; }
.hero-caption p { margin:6px 0 0; font-size:clamp(.78rem,2.4vw,1rem); font-weight:600; }
.primary-cta { display:flex; align-items:center; justify-content:center; gap:12px; min-height:58px; border:1px solid rgba(255,255,255,.2); border-radius:999px; padding:12px 24px; background:var(--green); color:white; font:700 clamp(1rem,3vw,1.25rem)/1.2 Outfit,sans-serif; text-decoration:none; box-shadow:0 12px 32px rgba(37,211,102,.45); transition:transform .2s ease, background .2s ease; }
.primary-cta:hover,.primary-cta:focus-visible { background:#1db95a; transform:translateY(-2px); }
.primary-cta svg { width:27px; fill:currentColor; }
.care,.visit { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(32px,7vw,72px); margin-top:88px; }
.care-photo { position:relative; width:100%; aspect-ratio:1; overflow:hidden; border:1px solid var(--line); border-radius:26px; box-shadow:0 20px 48px rgba(0,0,0,.4); }
.care-photo>img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.care-photo-label { position:absolute; right:18px; bottom:18px; left:18px; margin:0; padding:12px 16px; border:1px solid rgba(245,199,112,.25); border-radius:14px; background:rgba(7,10,18,.76); color:var(--gold); font:700 clamp(1rem,3vw,1.35rem)/1.2 Outfit,sans-serif; text-align:center; text-shadow:0 0 12px var(--gold-glow); }
h2 { margin:0 0 16px; font-size:clamp(1.65rem,3.5vw,2.25rem); line-height:1.2; }
.care p { color:var(--muted); }
.care ul { margin:20px 0 0; padding:0; list-style:none; color:var(--muted); }
.care li { margin:12px 0; padding-left:28px; position:relative; }
.care li::before { content:'✓'; position:absolute; left:0; color:var(--gold); text-shadow:0 0 10px var(--gold-glow); }
.reviews { display:grid; grid-template-columns:.82fr 1.18fr; gap:40px; margin-top:88px; padding:clamp(22px,5vw,48px); border:1px solid var(--line); border-radius:28px; background:linear-gradient(130deg,rgba(245,199,112,.09),rgba(255,255,255,.025)); }
.eyebrow { margin:0 0 8px; color:var(--gold); font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; text-shadow:0 0 10px var(--gold-glow); }
.rating { display:flex; flex-wrap:wrap; gap:8px; align-items:center; color:var(--gold); font-size:1.2rem; }
.rating strong { font-size:1.5rem; }.rating small { color:var(--muted); font-size:.72rem; }
.gold-copy { color:var(--gold); margin:20px 0 0; font-size:.84rem; line-height:1.55; text-shadow:0 0 9px rgba(245,199,112,.28); }
.review-list { display:grid; gap:12px; }.review-card { display:flex; gap:13px; padding:16px; border:1px solid var(--line); border-radius:16px; background:rgba(7,10,18,.55); }.review-card>img { flex:none; width:44px; height:44px; }.review-card header { display:flex; justify-content:space-between; gap:14px; align-items:center; font-size:.86rem; }.review-card header span { color:var(--gold); font-size:.72rem; letter-spacing:1px; }.review-card p { margin:5px 0; font-size:.81rem; line-height:1.45; color:#e8edf5; }.review-card small { color:#94a3b8; font-size:.68rem; }
.visit h3 { color:var(--gold); margin:18px 0 2px; font-size:1rem; text-shadow:0 0 10px var(--gold-glow); }.visit p { margin:0; color:var(--muted); }.visit a { color:var(--white); font-size:.9rem; }.map-card { position:relative; overflow:hidden; border:1px solid var(--line); border-radius:26px; box-shadow:0 20px 48px rgba(0,0,0,.4); }.map-card iframe { display:block; width:100%; min-height:330px; border:0; filter:grayscale(.25) brightness(.88) contrast(.95); pointer-events:none; }.map-card-link { position:absolute; inset:0; display:flex; align-items:flex-end; padding:16px; text-decoration:none; }.map-card-link span { width:100%; padding:10px 14px; border:1px solid rgba(245,199,112,.3); border-radius:12px; background:rgba(7,10,18,.82); color:var(--gold); font:700 .8rem/1.2 Outfit,sans-serif; text-align:center; text-shadow:0 0 10px var(--gold-glow); transition:background .2s ease,transform .2s ease; }.map-card-link:hover span,.map-card-link:focus-visible span { background:rgba(19,27,43,.94); transform:translateY(-2px); }
.appointment-note { margin-top:24px!important; padding:14px; border:1px solid rgba(245,199,112,.2); border-radius:14px; color:var(--gold)!important; font-size:.8rem; text-shadow:0 0 8px rgba(245,199,112,.25); }
.faq { width:min(760px,100%); margin:88px auto 0; }.faq>h2 { text-align:center; }.faq details { margin-top:12px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.025); }.faq summary { padding:16px; color:var(--gold); font-weight:600; cursor:pointer; }.faq p { margin:0; padding:0 16px 16px; color:var(--muted); font-size:.9rem; }
footer { padding:28px 20px; border-top:1px solid var(--line); color:#94a3b8; text-align:center; font-size:.78rem; }
.whatsapp-float { position:fixed; right:24px; bottom:24px; z-index:10; display:grid; place-items:center; width:56px; height:56px; border:1px solid rgba(255,255,255,.24); border-radius:50%; background:var(--green); color:white; box-shadow:0 10px 30px rgba(37,211,102,.55); transition:transform .2s ease; }.whatsapp-float:hover,.whatsapp-float:focus-visible { transform:scale(1.08); }.whatsapp-float svg { width:31px; fill:currentColor; }
@media (max-width:760px) { main { width:min(100% - 28px,620px); padding-top:10px; }.site-header { padding-top:22px; }.hero-caption { inset:auto 14px 14px; padding:13px 10px; }.care,.visit,.reviews { grid-template-columns:1fr; gap:28px; margin-top:56px; }.reviews { padding:20px 16px; }.visit .map-card { min-height:250px; order:-1; }.map-card iframe { min-height:250px; }.whatsapp-float { right:14px; bottom:14px; width:48px; height:48px; }.whatsapp-float svg { width:27px; }.faq { margin-top:56px; } }
@media (prefers-reduced-motion:no-preference) { .reveal { opacity:0; transform:translateY(14px); }.reveal.is-visible { opacity:1; transform:translateY(0); transition:opacity .42s ease-out,transform .42s ease-out; } }
@media (prefers-reduced-motion:reduce) { *,::before,::after { scroll-behavior:auto!important; transition:none!important; } }

/* Texto uniforme en dorado brillante, incluido el contenido de la foto principal. */
body { color:var(--gold); text-shadow:0 0 9px rgba(245,199,112,.28); }
.hero-caption p,.primary-cta,.care p,.care ul,.rating small,.review-card p,.review-card small,.visit p,.visit a,.faq p,footer,.whatsapp-float { color:var(--gold); text-shadow:0 0 10px var(--gold-glow); }
.review-card>img { border-radius:50%; object-fit:cover; }

/* Microajustes de conversión integrados al sistema visual existente. */
.hero-caption .hero-value { margin-top:9px; font-size:clamp(.75rem,2.1vw,.9rem); font-weight:500; line-height:1.35; }
.cta-microcopy,.hero-guarantee { margin:0; color:var(--gold); font-size:.76rem; line-height:1.35; text-align:center; text-shadow:0 0 9px var(--gold-glow); }
.hero-guarantee { padding:9px 14px; border:1px solid rgba(245,199,112,.18); border-radius:14px; background:rgba(245,199,112,.05); }
.differentiators { width:min(760px,100%); margin:52px auto 0; padding:18px 22px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.025); }
.differentiators ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 22px; margin:0; padding:0; list-style:none; color:var(--muted); font-size:.84rem; }
.differentiators li { position:relative; padding-left:20px; }.differentiators li::before { content:'✓'; position:absolute; left:0; color:var(--gold); text-shadow:0 0 9px var(--gold-glow); }
.reviews-proof { margin:10px 0 0; color:var(--gold); font:700 1rem/1.25 Outfit,sans-serif; text-shadow:0 0 10px var(--gold-glow); }
@media (max-width:760px) { .differentiators { margin-top:40px; padding:16px; }.differentiators ul { grid-template-columns:1fr; gap:8px; }.cta-microcopy { font-size:.72rem; } }
