/* Incremental v0.4: shared horizontal heroes, restrained actions and spacing. */
.eyebrow { display:block; margin-bottom:20px; line-height:1.6; }
h1,h2,h3 { line-height:1.12; }
.section>h2 { margin-bottom:30px; }
p { line-height:1.75; }
.actions { row-gap:20px; }
.text-link,.hero-link { padding:8px 0; border-bottom:1px solid currentColor; text-underline-offset:6px; transition:opacity 180ms; }
.text-link:hover,.hero-link:hover { opacity:.7; }
.button.outline { background:transparent; border:0; border-bottom:1px solid currentColor; border-radius:0; padding:10px 0; }
.venue-hero { position:relative; display:block; min-height:620px; height:76vh; max-height:900px; isolation:isolate; color:#fff; background:#111; }
.venue-hero-photo { position:absolute; inset:0; min-height:0; z-index:-2; }
.venue-hero:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#000b,#0003); z-index:-1; }
.venue-hero-copy { height:100%; padding:60px 7%; max-width:850px; justify-content:center; }
.venue-hero-copy h1 { font-size:clamp(54px,7vw,100px); margin-bottom:24px; }
.venue-hero-copy p { max-width:540px; margin:0 0 25px; }
.venue-hero-copy .actions { margin-top:16px; }
.subnav { position:relative; top:auto; display:flex; gap:30px; padding:18px 7%; font-size:12px; overflow-x:auto; white-space:nowrap; background:var(--venue-bg); color:var(--venue-fg); border-bottom:1px solid #8885; }
.subnav a { padding:6px 0; }
body[data-page="restaurant"] .hero h1, .theme-frecuencia .venue-hero-copy h1 { font-family:Impact,'Arial Narrow',sans-serif; font-stretch:condensed; letter-spacing:-.035em; }
body[data-page="restaurant"] .hero h1 { font-size:clamp(62px,12vw,160px); }
body[data-page="restaurant"] .hero { min-height:620px; height:76vh; }
body[data-page="restaurant"] .hero-content p { max-width:600px; font-size:18px; }
body[data-page="restaurant"] { --venue-bg:#080808; --venue-fg:#fff; }
.venue-space { display:grid; grid-template-columns:1.2fr 1fr; gap:6%; align-items:center; }
.venue-space img { width:100%; max-height:560px; object-fit:cover; }
.venue-event .agenda { align-items:center; gap:32px; }
.venue-event .agenda p { max-width:670px; }
.venue-event small { font-size:11px; opacity:.75; }
.private-events { border-top:1px solid #8885; }
.private-events>p { max-width:600px; }
.private-events details { border-bottom:1px solid #8885; padding:25px 0; }
.private-events summary { cursor:pointer; font-size:20px; display:flex; justify-content:space-between; gap:20px; align-items:center; }
.private-events summary span { font:12px/1.6 Arial,sans-serif; opacity:.8; }
.price-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:30px; padding:32px 0 10px; }
.price-options h3 { font-size:24px; }
.price-options p { font-size:14px; }
.private-events>.fine { margin-top:24px; }
.menu-footnote { margin-top:35px; }
.slide-copy .actions { flex-wrap:wrap; }
@keyframes slide-in { from { opacity:.15; transform:translateX(14px); } to {opacity:1;transform:translateX(0);} }
.editorial-slide { animation-duration:650ms; }
@media(max-width:760px) {
 .venue-hero { height:72vh; min-height:540px; max-height:760px; }
 .venue-hero-copy { padding:45px 6%; }
 .venue-hero-copy h1 { font-size:clamp(46px,11vw,72px); }
 .venue-hero-copy p { font-size:15px; }
 .venue-hero-photo { min-height:0; }
 .subnav { gap:24px; padding:16px 6%; }
 body[data-page="restaurant"] .hero { min-height:560px; height:72vh; }
 body[data-page="restaurant"] .hero h1 { font-size:clamp(50px,12vw,86px); }
 .venue-space { grid-template-columns:1fr; gap:30px; }
 .venue-event .agenda { display:flex; flex-direction:column; align-items:flex-start; }
 .private-events summary { align-items:flex-start; flex-direction:column; gap:8px; }
 .price-options { grid-template-columns:1fr; }
 .event-summary strong { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) { .editorial-slide {animation:none;} }
