h1,h2,h3{font-family:'Lora',Georgia,serif;font-weight:500}
h1{font-size:clamp(38px,5.2vw,66px);line-height:1.1;letter-spacing:-0.01em}
h2{font-size:clamp(30px,4vw,48px);line-height:1.14;letter-spacing:-0.005em}
h3{font-size:27px;line-height:1.2;letter-spacing:0}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#F6F1E7;color:#111111;font-family:'Hanken Grotesk',system-ui,sans-serif;font-size:18px;line-height:1.6}
img{max-width:100%}
a{color:#7A5C14}
a:hover{color:#111111}
a:focus-visible,button:focus-visible{outline:3px solid #7A5C14;outline-offset:3px}
.on-dark a{color:#C9A24B}
.on-dark a:hover{color:#F6F1E7}
.on-dark a:focus-visible,.on-dark button:focus-visible{outline-color:#C9A24B}
@keyframes arrive{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.arrive{animation:arrive 1.2s cubic-bezier(.2,.7,.2,1) both}
@media (prefers-reduced-motion: reduce){.arrive{animation:none !important}html{scroll-behavior:auto}}
.foto{padding:0;border:0;margin:0;cursor:pointer;display:block;width:100%;aspect-ratio:3/4;overflow:hidden;border-radius:8px;background:#D9D2C3}
.foto img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;display:block;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.foto:hover img{transform:scale(1.03)}
@media (prefers-reduced-motion: reduce){.foto img{transition:none !important}.foto:hover img{transform:none}}
.wa-flotante{display:none}
@media (max-width:760px){
.wa-flotante{display:inline-flex;position:fixed;right:16px;bottom:16px;z-index:40;align-items:center;gap:10px;background:#111111;color:#F6F1E7 !important;text-decoration:none;font-weight:600;font-size:16px;padding:14px 22px;border-radius:999px;border:1.5px solid #C9A24B;box-shadow:0 6px 20px rgba(17,17,17,.25)}
header nav{gap:4px 18px !important;font-size:15px !important}
}
.visor{position:fixed;top:0;left:0;right:0;bottom:0;z-index:50;background:rgba(17,17,17,.94);display:none;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px}
.visor.abierto{display:flex}
.visor img{max-width:100%;max-height:calc(100% - 140px);object-fit:contain;display:block;border-radius:6px}
.visor p{margin:0;color:#F6F1E7;font-size:17px;text-align:center}
.visor .botones{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.visor button{min-height:48px;padding:0 24px;border-radius:999px;border:1.5px solid #C9A24B;background:transparent;color:#F6F1E7;font:inherit;font-weight:600;cursor:pointer}
.visor button.cerrar{border:0;background:#C9A24B;color:#111111;padding:0 28px}
