:root{--black:#000;--gray:#2c2c2c;--soft:#f3f1ee;--orange:#ef7f1a;--ink:#1b1b1b;--muted:#5d5d5d}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.55 "Nunito Sans",system-ui,sans-serif;color:var(--ink);background:#fff}
h1,h2,h3{font-family:"Archivo Black",Impact,sans-serif;font-weight:400;line-height:1.1;margin:0 0 .4em}
h2{font-size:1.9rem}h3{font-size:1.15rem}
a{color:inherit}:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.wrap{max-width:980px;margin:0 auto;padding:0 20px}
section{padding:44px 0}[hidden]{display:none!important}
.btn{display:inline-block;background:var(--orange);color:#fff;font-weight:800;text-decoration:none;padding:13px 22px;border-radius:999px;border:0;font-size:1rem;min-height:48px;text-align:center}
.btn.big{padding:17px 30px;font-size:1.15rem}.btn.dark{background:var(--black)}.btn.line{background:transparent;border:2px solid currentColor;color:inherit}
header.top{background:var(--black);color:#fff;position:sticky;top:0;z-index:20}
header.top .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:6px;padding-bottom:6px}
.logo{display:block;line-height:0}.logo img{height:56px;width:auto;display:block}.flogo{height:60px;width:auto}
.hero{background:var(--black);color:#fff;padding:0}
.hero .wrap{display:grid;gap:22px;padding-top:34px;padding-bottom:40px}
.hero h1{font-size:clamp(2.2rem,9vw,3.8rem)}.hero h1 span{color:var(--orange)}
.hero p{color:#ddd;margin:0 0 20px;max-width:34ch}
.hero .pic{aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,var(--gray),#444)}
.hero .pic img{width:100%;height:100%;object-fit:cover;display:block}
@media(min-width:760px){.hero .wrap{grid-template-columns:1fr 1fr;align-items:center}}
#hoy{background:var(--orange);color:#fff}
#hoy .wrap{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding-top:14px;padding-bottom:14px;font-weight:800}
#hoy .btn{background:var(--black)}
.grid{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:620px){.grid{grid-template-columns:1fr 1fr}}@media(min-width:900px){.grid.g3{grid-template-columns:repeat(3,1fr)}}
.card{background:#fff;border:1px solid #e2dfda;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.ph{aspect-ratio:4/3;background:linear-gradient(135deg,#3a3a3a,#1e1e1e);overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover;display:block}
.body{padding:16px;display:flex;flex-direction:column;flex:1}.body p{margin:0 0 14px;color:var(--muted)}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto}.row b{font-size:1.25rem}
#menu{background:var(--soft)}
#tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 16px;scrollbar-width:none}
#tabs button{flex:none;font:inherit;font-weight:800;padding:11px 18px;border-radius:999px;border:2px solid var(--black);background:#fff;color:var(--black);cursor:pointer;min-height:46px}
#tabs button[aria-pressed="true"]{background:var(--black);color:#fff}
.dark-s{background:var(--black);color:#fff}.dark-s p{color:#ddd}
#casaBox{display:grid;gap:20px}@media(min-width:760px){#casaBox{grid-template-columns:1fr 1fr;align-items:center}}
#casaBox .ph{border-radius:16px}
blockquote{margin:0;background:var(--soft);padding:20px;border-radius:16px;border-left:6px solid var(--orange)}
blockquote cite{font-weight:800;font-style:normal}
dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0 0 18px}dt{font-weight:800}dd{margin:0}
#mapa iframe{width:100%;height:300px;border:0;border-radius:16px;margin-bottom:16px}
footer{background:var(--black);color:#ddd;padding:34px 0 100px}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}footer b{color:var(--orange)}
.float{position:fixed;right:14px;bottom:14px;z-index:30;box-shadow:0 6px 18px rgba(0,0,0,.35);background:#1f9d55}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
