:root{--red:#a30d1c;--dark:#171313;--cream:#fff7eb;--gold:#d8aa4b;--blue:#064a9b;--muted:#716a64;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--cream);color:var(--dark)}img{max-width:100%;display:block}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:12px 6%;background:rgba(163,13,28,.96);box-shadow:0 6px 24px rgba(0,0,0,.15)}.brand img{height:58px;width:58px;object-fit:cover;border-radius:50%;background:#fff}.topbar nav{display:flex;gap:18px;flex-wrap:wrap}.topbar a{color:white;text-decoration:none;font-weight:700}.topbar nav a:hover{color:var(--gold)}.hero{min-height:78vh;display:grid;place-items:center;text-align:center;color:#fff;background:linear-gradient(110deg,rgba(0,0,0,.78),rgba(163,13,28,.55)),url('images/patio-cubierto.jpg') center/cover}.hero-content{max-width:900px;padding:40px 22px}.eyebrow,.section-tag{display:inline-block;color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}.hero h1{font-size:clamp(2.8rem,8vw,6.5rem);margin:18px 0 10px;line-height:.95}.hero p{font-size:1.28rem;max-width:720px;margin:0 auto 28px}.btn{display:inline-block;border-radius:999px;padding:14px 24px;text-decoration:none;font-weight:800;margin:5px}.primary{background:var(--gold);color:#2b1700}.secondary{background:transparent;color:white;border:2px solid white}.section{padding:78px 6%}.container{max-width:1180px;margin:auto}.two-cols{display:grid;grid-template-columns:1.1fr .9fr;gap:38px}.align-center{align-items:center}h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;margin:10px 0 18px}p{line-height:1.7;color:var(--muted);font-size:1.05rem}.highlight-card,.contact-card{background:white;border-radius:24px;padding:30px;box-shadow:0 16px 40px rgba(0,0,0,.1);border:1px solid rgba(0,0,0,.06)}.highlight-card h3{color:var(--red);margin-bottom:0}.experience{background:white}.rounded-img,.menu-photo{border-radius:28px;box-shadow:0 18px 42px rgba(0,0,0,.18);height:560px;width:100%;object-fit:contain;object-position:center top;background:#efe8df}.checks{padding-left:0;list-style:none}.checks li{margin:12px 0;padding-left:30px;position:relative;color:#4a433f}.checks li:before{content:'✓';position:absolute;left:0;color:var(--red);font-weight:900}.gallery-section{background:#f3eadc}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}.gallery-grid figure{margin:0;background:white;border-radius:20px;overflow:hidden;box-shadow:0 10px 26px rgba(0,0,0,.1)}.gallery-grid img{height:300px;width:100%;object-fit:contain;object-position:center top;background:#efe8df;transition:.35s}.gallery-grid figure:hover img{transform:scale(1.02)}figcaption{padding:14px 16px;font-weight:800;color:var(--red)}.menu-section{background:linear-gradient(135deg,var(--red),#5e0610);color:white}.menu-section p,.menu-section h2{color:white}.menu-layout{display:grid;grid-template-columns:1fr .7fr;gap:30px;align-items:start}.menu-list{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:24px;padding:18px}.menu-item{display:flex;justify-content:space-between;gap:15px;padding:18px 10px;border-bottom:1px dashed rgba(255,255,255,.35);font-size:1.08rem}.menu-item:last-child{border-bottom:0}.menu-item strong{color:var(--gold)}.menu-photo{height:620px}.contact-section{background:url('images/terraza-mesas.jpg') center/cover fixed}.contact-card{display:flex;justify-content:space-between;gap:30px;align-items:center;background:rgba(255,255,255,.94)}footer{text-align:center;background:#130b0d;color:white;padding:24px 6%}footer p{color:white;margin:0}@media(max-width:900px){.topbar{position:relative;align-items:flex-start}.topbar nav{font-size:.9rem}.two-cols,.menu-layout{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.rounded-img,.menu-photo{height:420px}.contact-card{display:block}}@media(max-width:560px){.gallery-grid{grid-template-columns:1fr}.hero{min-height:70vh}.topbar{padding:10px 4%}.section{padding:58px 5%}.gallery-grid img{height:320px}}

/* Corrección: mostrar personas completas sin cortar cabezas */
.experience .rounded-img{object-fit:contain;object-position:center top;}
.gallery-grid figure{background:#fff;}
