@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');

:root{--navy:#07173d;--navy-2:#11295a;--ink:#15162a;--ivory:#f8f6f2;--white:#fff;--gold:#c9a45e;--muted:#6d6d79;--line:rgba(7,23,61,.13);font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--ivory);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory)}img{display:block;max-width:100%}a{color:inherit}.site-header{height:82px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:#fff;position:relative;z-index:10}.brand img{width:158px;height:52px;object-fit:contain}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:2px;text-decoration:none;font-weight:700;font-size:.9rem;transition:transform .2s ease,background .2s ease,color .2s ease}.header-cta{border:1px solid rgba(255,255,255,.45)}.header-cta:hover,.button:hover{transform:translateY(-2px)}.hero{min-height:calc(100vh - 82px);position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(9,14,43,.95) 0%,rgba(16,24,63,.72) 42%,rgba(9,11,23,.16) 77%)}.hero-content{width:min(1240px,100%);margin:auto;padding:64px clamp(24px,7vw,96px);position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;font-weight:700;color:var(--gold);margin:0 0 18px}.hero h1,.section-heading h2,.experience h2{font-family:'Libre Caslon Display',serif;font-weight:400}.hero h1{font-size:clamp(3.8rem,8vw,7.5rem);line-height:.84;letter-spacing:-.035em;margin:0;max-width:760px}.hero h1 em{font-weight:400;color:var(--gold)}.hero-copy{font-size:clamp(1rem,2vw,1.3rem);line-height:1.6;max-width:540px;margin:30px 0;color:rgba(255,255,255,.85)}.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.button-primary{background:var(--gold);color:#11152d}.text-link{text-decoration:none;font-weight:700;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:6px}.benefits{max-width:1160px;margin:-42px auto 0;padding:0 24px;position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);filter:drop-shadow(0 20px 25px rgba(12,19,48,.13))}.benefits article{background:#fff;display:flex;gap:16px;padding:26px;border-right:1px solid var(--line)}.benefits article:first-child{border-radius:6px 0 0 6px}.benefits article:last-child{border:none;border-radius:0 6px 6px 0}.benefit-icon{font-size:2rem;color:var(--gold)}.benefits strong,.benefits small{display:block}.benefits strong{font-size:1rem;margin-bottom:6px}.benefits small{color:var(--muted);line-height:1.4}.plans{padding:120px clamp(22px,5vw,70px) 100px;max-width:1300px;margin:auto}.section-heading{text-align:center;max-width:700px;margin:0 auto 50px}.section-heading h2{font-size:clamp(2.4rem,5vw,4.3rem);line-height:1.05;color:var(--navy);margin:0 0 16px}.section-heading>p:last-child{color:var(--muted);font-size:1.05rem;line-height:1.65}.plan-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.plan-card{background:#fff;border:1px solid var(--line);min-height:178px;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 8px 30px rgba(17,24,63,.045)}.plan-meta span{font-size:.72rem;letter-spacing:.18em;color:var(--gold);font-weight:700}.plan-meta strong{display:block;font-family:'Libre Caslon Display',serif;font-size:1.55rem;color:var(--navy);margin:12px 0 6px}.plan-meta p{margin:0;color:var(--muted)}.price{font-family:'Libre Caslon Display',serif;font-size:4.5rem;color:var(--navy);white-space:nowrap}.price sup{font-size:1.5rem;vertical-align:top;position:relative;top:.7rem}.price small{font-family:'DM Sans',sans-serif;font-size:.66rem;font-weight:700;margin-left:6px}.featured{background:var(--navy);border-color:var(--navy)}.featured .plan-meta strong,.featured .price{color:#fff}.featured .plan-meta p{color:rgba(255,255,255,.65)}.coffee{background:#f0e9df}.restaurant-offer{margin-top:28px;background:linear-gradient(120deg,var(--navy),#33205c);color:#fff;padding:30px 42px;display:flex;align-items:center;justify-content:center;gap:34px;text-align:center}.restaurant-offer span{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem}.restaurant-offer strong{font-family:'Libre Caslon Display',serif;font-size:3.8rem;font-weight:400}.restaurant-offer p{font-family:'Libre Caslon Display',serif;font-size:1.35rem;border-left:1px solid var(--gold);padding-left:34px}.experience{background:var(--navy);display:grid;grid-template-columns:.76fr 1.24fr;min-height:650px}.experience-copy{color:#fff;padding:90px clamp(30px,7vw,100px);display:flex;flex-direction:column;justify-content:center}.experience h2{font-size:clamp(2.7rem,5vw,4.5rem);line-height:1;margin:0 0 24px}.experience-copy>p:not(.eyebrow){color:rgba(255,255,255,.72);font-size:1.05rem;line-height:1.7;margin:0 0 34px}.button-outline{border:1px solid rgba(255,255,255,.55);align-self:flex-start}.photo-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:5px;background:#fff}.photo-grid img{width:100%;height:100%;object-fit:cover;min-height:0}.photo-tall{grid-row:1/3}.poster-section{background:#080d2b;padding:100px 24px;text-align:center}.section-heading.light h2{color:#fff}.poster{width:min(760px,100%);margin:0 auto 38px;box-shadow:0 35px 80px rgba(0,0,0,.35)}.button-gold{background:var(--gold);color:#11152d}footer{background:#05081c;color:rgba(255,255,255,.65);text-align:center;padding:52px 24px}footer img{width:190px;height:78px;object-fit:contain;margin:0 auto 18px}footer p{margin:6px 0}.copyright{font-size:.8rem;margin-top:20px}.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:50;background:#25d366;color:#071d10;border-radius:999px;min-height:56px;padding:0 20px 0 15px;display:flex;align-items:center;gap:9px;text-decoration:none;font-weight:800;box-shadow:0 14px 32px rgba(0,0,0,.25);transition:transform .2s ease}.whatsapp-float:hover{transform:translateY(-3px)}.whatsapp-float svg{width:31px;height:31px;fill:#fff}
@media(max-width:800px){.site-header{height:70px}.brand img{width:132px}.header-cta{font-size:.78rem;min-height:42px;padding:0 14px}.hero{min-height:740px}.hero-shade{background:linear-gradient(90deg,rgba(9,14,43,.92),rgba(16,24,63,.55))}.hero-content{padding-bottom:110px}.benefits{grid-template-columns:1fr;margin-top:-68px}.benefits article{border-right:0;border-bottom:1px solid var(--line)}.benefits article:first-child{border-radius:6px 6px 0 0}.benefits article:last-child{border-radius:0 0 6px 6px}.plans{padding-top:90px}.plan-grid{grid-template-columns:1fr}.plan-card{min-height:145px;padding:24px 22px}.price{font-size:3.5rem}.restaurant-offer{flex-direction:column;gap:8px;padding:28px 20px}.restaurant-offer p{border-left:0;border-top:1px solid var(--gold);padding:14px 0 0;margin:0}.experience{grid-template-columns:1fr}.experience-copy{padding:80px 28px}.photo-grid{min-height:520px}.poster-section{padding:80px 18px}.whatsapp-float span{display:none}.whatsapp-float{width:58px;height:58px;padding:0;justify-content:center;right:16px;bottom:16px}}
@media(max-width:430px){.header-cta{max-width:136px;text-align:center;line-height:1.15}.hero h1{font-size:3.15rem}.plan-card{align-items:flex-start}.plan-meta strong{font-size:1.25rem}.price{font-size:3rem}.price sup{font-size:1rem}.photo-grid{grid-template-columns:1fr;grid-template-rows:repeat(3,220px)}.photo-tall{grid-row:auto}.poster-section{padding-left:12px;padding-right:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.header-cta,.button,.whatsapp-float{transition:none}}

/* Instagram y accesos flotantes */
.instagram-section{max-width:1320px;margin:auto;padding:110px clamp(24px,5vw,70px);display:grid;grid-template-columns:.78fr 1.32fr .66fr;gap:32px;align-items:center}
.instagram-intro h2{font-family:'Libre Caslon Display',serif;font-weight:400;font-size:clamp(2.7rem,5vw,4.5rem);line-height:1;margin:0 0 24px;color:var(--navy)}
.instagram-intro>p:not(.eyebrow){color:var(--muted);line-height:1.7;margin:0 0 28px}
.instagram-button{color:#fff;background:linear-gradient(115deg,#f37a38,#d64d73,#a91eb9);gap:10px}
.instagram-button svg{width:21px;height:21px;fill:currentColor}
.instagram-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.instagram-gallery a{position:relative;overflow:hidden;aspect-ratio:.78;text-decoration:none;background:var(--navy)}
.instagram-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.instagram-gallery span{position:absolute;left:12px;right:12px;bottom:12px;color:#fff;font-size:.76rem;font-weight:700;line-height:1.25;text-shadow:0 2px 8px #000;padding-top:60px;background:linear-gradient(transparent,rgba(0,0,0,.72))}
.instagram-gallery a:hover img{transform:scale(1.04)}
.instagram-qr{background:#fff;padding:16px;border:1px solid var(--line);box-shadow:0 18px 45px rgba(16,24,63,.09);text-align:center}
.instagram-qr img{width:100%;aspect-ratio:1/1.16;object-fit:cover;object-position:top}
.instagram-qr strong,.instagram-qr span{display:block}
.instagram-qr strong{color:var(--navy);margin-top:14px}
.instagram-qr span{color:var(--muted);font-size:.83rem;margin-top:4px}
.location-float{position:fixed;right:22px;bottom:88px;z-index:50;background:var(--navy);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:999px;min-height:56px;padding:0 20px 0 15px;display:flex;align-items:center;gap:9px;text-decoration:none;font-weight:800;box-shadow:0 14px 32px rgba(0,0,0,.25);transition:transform .2s ease}
.location-float:hover{transform:translateY(-3px)}
.location-float svg{width:31px;height:31px;fill:currentColor}

@media(max-width:1050px){
  .instagram-section{grid-template-columns:.8fr 1.2fr}
  .instagram-qr{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:24px}
  .instagram-qr img{width:180px}
}
@media(max-width:800px){
  .instagram-section{grid-template-columns:1fr;padding-top:80px;padding-bottom:80px}
  .instagram-intro{text-align:center}
  .instagram-button{margin:auto}
  .instagram-qr{grid-column:auto}
  .location-float{width:58px;height:58px;padding:0;justify-content:center;right:16px;bottom:84px}
  .location-float span{display:none}
}
@media(max-width:430px){
  .instagram-gallery{grid-template-columns:1fr 1fr}
  .instagram-gallery a:last-child{display:none}
  .instagram-qr{flex-direction:column;gap:0}
  .instagram-qr img{width:220px}
}
@media(prefers-reduced-motion:reduce){.location-float,.instagram-gallery img{transition:none}}

/* Galería final de espacios */
.site-header{background:#07173d}
.brand img{width:180px;height:64px}
.amenity-showcase{padding:110px clamp(24px,5vw,70px);background:#eef1f6}
.amenity-showcase>.section-heading{margin-bottom:44px}
.amenity-grid{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.amenity-grid figure{position:relative;margin:0;min-height:540px;overflow:hidden;background:var(--navy)}
.amenity-grid img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .45s ease}
.amenity-grid figure::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(3,10,29,.9))}
.amenity-grid figcaption{position:absolute;z-index:2;left:30px;right:30px;bottom:28px;color:#fff}
.amenity-grid figcaption strong,.amenity-grid figcaption span{display:block}
.amenity-grid figcaption strong{font-family:'Libre Caslon Display',serif;font-size:2rem;font-weight:400}
.amenity-grid figcaption span{margin-top:7px;color:rgba(255,255,255,.75)}
.amenity-grid figure:hover img{transform:scale(1.025)}
@media(max-width:800px){
  .brand img{width:148px;height:58px}
  .amenity-showcase{padding-top:80px;padding-bottom:80px}
  .amenity-grid{grid-template-columns:1fr}
  .amenity-grid figure{min-height:430px}
}
@media(max-width:430px){
  .amenity-grid figure{min-height:360px}
  .amenity-grid figcaption{left:22px;right:22px;bottom:22px}
  .amenity-grid figcaption strong{font-size:1.65rem}
}
@media(prefers-reduced-motion:reduce){.amenity-grid img{transition:none}}

/* Familia de marcas JMV */
.header-brands{display:flex;align-items:center;gap:17px;height:100%}
.header-brands .brand{display:flex;align-items:center;height:100%}
.brand-divider{width:1px;height:38px;background:rgba(255,255,255,.28)}
.jmv-header{width:148px;height:48px;object-fit:contain}
footer>img{display:none}
.footer-main-brands{display:flex;align-items:center;justify-content:center;gap:28px;margin:0 auto 18px}
.footer-main-brands>span{width:1px;height:54px;background:rgba(255,255,255,.25)}
.footer-coworking{width:170px;height:96px;object-fit:contain;margin:0}
.footer-jmv{width:205px;height:76px;object-fit:contain;margin:0}
.brand-family{width:min(980px,100%);margin:40px auto 34px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.brand-card{height:150px;background:#f7f5f2;border:1px solid rgba(255,255,255,.12);padding:18px;display:flex;align-items:center;justify-content:center}
.brand-card img{width:100%;height:100%;object-fit:contain;margin:0}
.brand-card-dark{background:#4b0f1b}
@media(max-width:800px){
  .header-brands{gap:10px}
  .brand-divider{height:30px}
  .jmv-header{width:105px;height:40px}
  .brand-family{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:500px){
  .header-brands .brand img{width:105px;height:48px}
  .jmv-header{width:76px;height:34px}
  .header-cta{font-size:.7rem;max-width:118px;padding:0 10px}
  .footer-main-brands{gap:16px}
  .footer-main-brands>span{height:42px}
  .footer-coworking{width:135px;height:82px}
  .footer-jmv{width:150px;height:62px}
  .brand-card{height:125px;padding:12px}
}

/* Cierre editorial de marcas */
.site-footer{padding:0;text-align:left;background:#04102d;color:#fff}
.site-footer img{display:block;max-width:100%;margin:0}
.brand-signoff{background:#f4f1eb;color:var(--navy);padding:110px clamp(24px,6vw,88px) 90px}
.brand-signoff-heading{width:min(1180px,100%);margin:0 auto 46px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.brand-signoff-heading .eyebrow{margin:0 0 8px}
.brand-signoff-heading h2{font-family:'Libre Caslon Display',serif;font-size:clamp(2.8rem,5vw,4.9rem);font-weight:400;line-height:.95;letter-spacing:-.02em;margin:0;text-align:right}
.primary-lockup{width:min(1180px,100%);min-height:210px;margin:0 auto 54px;padding:28px clamp(24px,5vw,58px);background:#07173d;display:flex;align-items:center;justify-content:center;gap:46px;box-shadow:0 24px 60px rgba(7,23,61,.14)}
.lockup-coworking{width:245px!important;height:145px!important;object-fit:contain}
.lockup-line{width:1px;height:98px;background:rgba(255,255,255,.26)}
.lockup-group{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.lockup-group small{font-size:.72rem;text-transform:uppercase;letter-spacing:.22em;color:rgba(255,255,255,.6)}
.lockup-group img{width:280px!important;height:92px!important;object-fit:contain}
.brand-categories{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:22px}
.brand-category{border-top:1px solid rgba(7,23,61,.2);padding-top:20px}
.brand-category header{display:flex;align-items:center;gap:15px;margin-bottom:18px}
.brand-category header>span{font-family:'Libre Caslon Display',serif;font-size:2.1rem;color:var(--gold)}
.brand-category header strong,.brand-category header small{display:block}
.brand-category header strong{font-size:1rem;letter-spacing:.08em;text-transform:uppercase}
.brand-category header small{font-size:.78rem;color:var(--muted);margin-top:3px}
.brand-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.brand-tile{height:210px;padding:30px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.brand-tile img{width:100%!important;height:100%!important;object-fit:contain}
.brand-tile-paper{background:#fff;border:1px solid rgba(7,23,61,.08);box-shadow:0 10px 25px rgba(7,23,61,.045)}
.brand-tile-paper img{mix-blend-mode:multiply}
.brand-tile-wine{background:#4b0f1b}
.footer-bottom{min-height:84px;padding:22px clamp(24px,6vw,88px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;font-size:.78rem;letter-spacing:.04em;color:rgba(255,255,255,.58)}
.footer-bottom p{margin:0}
.footer-bottom p:nth-child(2){text-align:center;color:rgba(255,255,255,.78)}
.footer-bottom p:last-child{text-align:right}
@media(max-width:850px){
  .brand-signoff{padding-top:80px}
  .brand-signoff-heading{display:block;text-align:center}
  .brand-signoff-heading h2{text-align:center;margin-top:18px}
  .primary-lockup{gap:26px}
  .brand-categories{grid-template-columns:1fr}
  .footer-bottom{grid-template-columns:1fr;text-align:center;gap:8px}
  .footer-bottom p:last-child{text-align:center}
}
@media(max-width:560px){
  .brand-signoff{padding-left:16px;padding-right:16px}
  .primary-lockup{min-height:240px;flex-direction:column;gap:15px;padding:24px}
  .lockup-coworking{width:190px!important;height:106px!important}
  .lockup-line{width:110px;height:1px}
  .lockup-group{align-items:center}
  .lockup-group img{width:205px!important;height:67px!important}
  .brand-pair{grid-template-columns:1fr}
  .brand-tile{height:185px;padding:28px}
}

/* Registro de clientes */
.contact-section{background:#eef1f6;padding:110px clamp(24px,6vw,88px);display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(44px,7vw,100px);align-items:center}
.contact-copy{max-width:520px;justify-self:end}
.contact-copy h2{font-family:'Libre Caslon Display',serif;font-size:clamp(2.8rem,5vw,4.7rem);font-weight:400;line-height:1.02;color:var(--navy);margin:0 0 22px}
.contact-copy>p:not(.eyebrow){color:var(--muted);font-size:1.05rem;line-height:1.7;margin:0 0 30px}
.contact-detail{display:flex;align-items:flex-start;gap:14px;padding-top:22px;border-top:1px solid rgba(7,23,61,.16);color:var(--navy)}
.contact-detail>span{color:var(--gold);font-size:1.35rem}
.contact-detail p{margin:0;line-height:1.55;color:var(--muted)}
.contact-detail strong{color:var(--navy)}
.contact-form{width:min(650px,100%);background:#fff;padding:clamp(28px,4vw,50px);box-shadow:0 24px 65px rgba(7,23,61,.11);border-top:4px solid var(--gold)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label{display:block;margin-bottom:19px}
.contact-form label>span{display:block;margin:0 0 8px;color:var(--navy);font-size:.82rem;font-weight:700;letter-spacing:.04em}
.contact-form input{width:100%;min-height:52px;border:1px solid rgba(7,23,61,.2);border-radius:2px;background:#fafafa;color:var(--ink);font:inherit;font-size:1rem;padding:0 15px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.contact-form input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,164,94,.18);background:#fff}
.contact-form input::placeholder{color:#999aa3}
.website-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-submit{width:100%;border:0;background:var(--navy);color:#fff;cursor:pointer;font-family:inherit;margin-top:4px}
.form-submit:disabled{cursor:wait;opacity:.7}
.form-privacy{font-size:.75rem;line-height:1.5;color:var(--muted);margin:15px 0 0}
.form-status{min-height:24px;margin:12px 0 0;font-size:.88rem;font-weight:700;line-height:1.45}
.form-status.is-loading{color:var(--muted)}
.form-status.is-success{color:#16713d}
.form-status.is-error{color:#a72b2b}
.policy-download{display:inline-flex;margin-top:4px;color:var(--navy);font-size:.86rem;font-weight:800;text-decoration-color:var(--gold);text-underline-offset:4px}
.policy-download:hover{color:#9b7127}
.policy-download[hidden]{display:none}

/* Acceso directo al mesero */
.waiter-float{position:fixed;right:22px;bottom:154px;z-index:50;background:var(--gold);color:var(--navy);border-radius:999px;min-height:56px;padding:0 20px 0 15px;display:flex;align-items:center;gap:9px;text-decoration:none;font-weight:800;box-shadow:0 14px 32px rgba(0,0,0,.25);transition:transform .2s ease}
.waiter-float:hover{transform:translateY(-3px)}
.waiter-float svg{width:29px;height:29px;fill:currentColor}

@media(max-width:850px){
  .contact-section{grid-template-columns:1fr;padding-top:80px;padding-bottom:80px}
  .contact-copy{max-width:680px;justify-self:center;text-align:center}
  .contact-detail{text-align:left}
  .contact-form{justify-self:center}
}
@media(max-width:800px){
  .waiter-float{width:58px;height:58px;padding:0;justify-content:center;right:16px;bottom:152px}
  .waiter-float span{display:none}
}
@media(max-width:520px){
  .contact-section{padding-left:16px;padding-right:16px}
  .contact-form{padding:27px 20px}
  .form-row{grid-template-columns:1fr;gap:0}
}
@media(prefers-reduced-motion:reduce){.waiter-float,.contact-form input{transition:none}}

/* Promociones de Forno y salones */
.wine{background:#f4edf0}
.pizza{background:#fff4eb}
.price-decimal{font-size:3.8rem}
.restaurant-logo{width:180px;height:94px;object-fit:cover;border:1px solid rgba(255,255,255,.2);box-shadow:0 12px 28px rgba(0,0,0,.22)}
.events-offer{margin-top:12px;border:1px solid rgba(7,23,61,.14);background:#fff;padding:26px 30px;text-align:center;color:var(--navy)}
.events-offer span,.events-offer strong,.events-offer p{display:block}
.events-offer span{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700}
.events-offer strong{font-family:'Libre Caslon Display',serif;font-size:clamp(1.7rem,3vw,2.5rem);font-weight:400;margin:8px 0}
.events-offer p{margin:0;color:var(--muted);font-weight:700}

/* Menú debajo del acceso al mesero */
.waiter-float{bottom:220px}
.menu-float{position:fixed;right:22px;bottom:154px;z-index:50;background:#b84c27;color:#fff;border-radius:999px;min-height:56px;padding:0 20px 0 15px;display:flex;align-items:center;gap:9px;text-decoration:none;font-weight:800;box-shadow:0 14px 32px rgba(0,0,0,.25);transition:transform .2s ease}
.menu-float:hover{transform:translateY(-3px)}
.menu-float svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:800px){
  .price-decimal{font-size:3rem}
  .restaurant-logo{width:210px;height:110px}
  .waiter-float{bottom:220px}
  .waiter-float span,.menu-float span{display:none}
  .menu-float{width:58px;height:58px;padding:0;justify-content:center;right:16px;bottom:152px}
}
@media(prefers-reduced-motion:reduce){.menu-float{transition:none}}

/* Integración visual de Forno */
.restaurant-offer{margin-top:34px;padding:0;display:grid;grid-template-columns:minmax(420px,.95fr) 1.05fr;gap:0;min-height:270px;background:#fff;color:var(--navy);text-align:left;overflow:hidden;border:1px solid rgba(7,23,61,.12);box-shadow:0 22px 55px rgba(7,23,61,.12)}
.restaurant-brand{position:relative;min-height:270px;background-image:linear-gradient(90deg,rgba(30,10,3,.05),rgba(30,10,3,.22)),url('assets/brand-forno-photo.jpeg');background-size:cover;background-position:center}
.restaurant-brand::after{content:"";position:absolute;top:28px;right:0;bottom:28px;width:1px;background:rgba(255,255,255,.62)}
.restaurant-offer-copy{padding:38px clamp(34px,5vw,70px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:linear-gradient(135deg,#fff 0%,#f8f1e9 100%)}
.restaurant-offer .restaurant-offer-kicker{display:block;margin:0;color:#a64e2e;font-size:.76rem;line-height:1.45;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.restaurant-discount{display:flex;align-items:baseline;gap:16px;margin:10px 0 2px}
.restaurant-offer .restaurant-discount strong{font-family:'Libre Caslon Display',serif;font-size:clamp(4.5rem,7vw,6.4rem);font-weight:400;line-height:.9;color:var(--navy)}
.restaurant-offer .restaurant-discount em{font-family:'Libre Caslon Display',serif;font-size:clamp(2rem,3.4vw,3.1rem);font-weight:400;font-style:normal;color:#a64e2e}
.restaurant-offer .restaurant-offer-copy>p{margin:10px 0 0;padding:12px 0 0;border:0;border-top:1px solid rgba(7,23,61,.16);font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:700;letter-spacing:.04em;color:#4b332a}

/* Banner de eventos con alto contraste */
.events-offer{position:relative;margin-top:16px;padding:32px 38px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:36px;overflow:hidden;border:0;background:linear-gradient(118deg,#07173d 0%,#11295a 72%,#203d79 100%);color:#fff;text-align:left;box-shadow:0 16px 38px rgba(7,23,61,.16)}
.events-offer::before{content:"";position:absolute;width:230px;height:230px;border:1px solid rgba(201,164,94,.25);border-radius:50%;right:-70px;top:-115px}
.events-offer-copy{position:relative;z-index:1}
.events-offer .events-offer-copy span{display:block;color:var(--gold);font-size:.75rem;line-height:1.4;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.events-offer .events-offer-copy strong{display:block;margin:7px 0 0;font-family:'Libre Caslon Display',serif;font-size:clamp(1.9rem,3.5vw,3rem);font-weight:400;line-height:1.08;color:#fff}
.events-offer>p{position:relative;z-index:1;margin:0;padding:13px 20px;border:1px solid rgba(201,164,94,.7);background:rgba(255,255,255,.07);color:#fff;font-size:.9rem;font-weight:700;white-space:nowrap}

/* Logos originales con proporciones consistentes */
.brand-tile{height:225px;padding:24px;border:1px solid rgba(7,23,61,.09);box-shadow:0 12px 28px rgba(7,23,61,.06)}
.brand-tile img{mix-blend-mode:normal}
.brand-tile-hotel,.brand-tile-santiago{background:#fff}
.brand-tile-hotel img{width:92%!important;height:auto!important;max-height:150px;object-fit:contain}
.brand-tile-santiago img{width:auto!important;height:92%!important;max-width:92%;object-fit:contain}
.brand-tile-peregrino{padding:0;background:#4b0f1b;border-color:#4b0f1b}
.brand-tile-peregrino img{width:auto!important;height:100%!important;max-width:100%;object-fit:contain}
.brand-tile-forno{background:#fbf7f2}
.brand-tile-forno img{width:min(88%,230px)!important;height:auto!important;max-height:178px;object-fit:contain}

@media(max-width:900px){
  .restaurant-offer{grid-template-columns:1fr}
  .restaurant-brand{min-height:220px}
  .restaurant-brand::after{display:none}
  .restaurant-offer-copy{align-items:center;text-align:center}
  .events-offer{grid-template-columns:1fr;text-align:center;gap:20px}
  .events-offer>p{justify-self:center}
}
@media(max-width:560px){
  .restaurant-brand{min-height:170px;background-size:cover}
  .restaurant-offer-copy{padding:30px 22px}
  .restaurant-discount{gap:10px}
  .restaurant-offer .restaurant-discount strong{font-size:4rem}
  .restaurant-offer .restaurant-discount em{font-size:2rem}
  .events-offer{padding:29px 22px}
  .events-offer>p{white-space:normal}
  .brand-tile{height:205px}
}

/* Accesos de promociones y regalo */
.gift-link{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:0 16px;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:rgba(255,255,255,.1);color:#fff;text-decoration:none;font-size:.88rem;font-weight:800;backdrop-filter:blur(8px);transition:transform .2s ease,background .2s ease,border-color .2s ease}
.gift-link:hover{transform:translateY(-2px);background:rgba(255,255,255,.17);border-color:rgba(255,255,255,.58)}
.gift-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;font-size:1.18rem;box-shadow:0 5px 14px rgba(0,0,0,.18)}

/* Menú desplazable de Forno */
.menu-showcase{margin-top:16px;padding:34px;background:#f7efe7;border:1px solid rgba(166,78,46,.18);box-shadow:0 18px 46px rgba(7,23,61,.09)}
.menu-showcase-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:22px}
.menu-showcase-kicker{display:block;margin-bottom:7px;color:#a64e2e;font-size:.72rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.menu-showcase h3{margin:0;color:var(--navy);font-family:'Libre Caslon Display',serif;font-size:clamp(1.9rem,3.8vw,3rem);font-weight:400;line-height:1.08}
.menu-download-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border:1px solid #a64e2e;background:#a64e2e;color:#fff;text-decoration:none;font-size:.85rem;font-weight:800;white-space:nowrap;transition:transform .2s ease,background .2s ease}
.menu-download-button:hover{transform:translateY(-2px);background:#8e3f25}
.menu-viewer-shell{position:relative;overflow:hidden;background:#fff;border:1px solid rgba(7,23,61,.14);box-shadow:0 12px 34px rgba(7,23,61,.12)}
.menu-viewer{display:block;width:100%;height:min(76vh,820px);min-height:570px;border:0;background:#ececec}
.menu-viewer-fallback{margin:0;padding:12px 18px;color:var(--muted);font-size:.78rem;text-align:center}
.menu-viewer-fallback a{color:#a64e2e;font-weight:800;text-underline-offset:3px}

/* Cotización de eventos por WhatsApp */
.events-offer-actions{position:relative;z-index:1;display:flex;align-items:center;gap:12px}
.events-offer .events-offer-actions>p{margin:0;padding:13px 20px;border:1px solid rgba(201,164,94,.7);background:rgba(255,255,255,.07);color:#fff;font-size:.9rem;font-weight:700;white-space:nowrap}
.events-whatsapp-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 19px;border-radius:999px;background:#25d366;color:#071d10;text-decoration:none;font-size:.88rem;font-weight:900;white-space:nowrap;box-shadow:0 10px 26px rgba(0,0,0,.2);transition:transform .2s ease,filter .2s ease}
.events-whatsapp-button:hover{transform:translateY(-2px);filter:brightness(1.04)}
.events-whatsapp-button svg{width:25px;height:25px;fill:#fff}

@media(max-width:900px){
  .events-offer-actions{justify-content:center;flex-wrap:wrap}
}
@media(max-width:650px){
  .menu-showcase{padding:24px 16px}
  .menu-showcase-heading{align-items:stretch;flex-direction:column;gap:16px;text-align:center}
  .menu-download-button{width:100%}
  .menu-viewer{height:68vh;min-height:500px}
  .events-offer-actions{flex-direction:column}
  .events-offer .events-offer-actions>p{white-space:normal}
  .events-whatsapp-button{width:100%}
  .events-whatsapp-button span{white-space:normal;line-height:1.25;text-align:center}
}
@media(prefers-reduced-motion:reduce){.gift-link,.menu-download-button,.events-whatsapp-button{transition:none}}

/* Menú horizontal, transparente y táctil */
.menu-showcase{padding:clamp(20px,3vw,34px);background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(247,239,231,.72));backdrop-filter:blur(12px)}
.menu-carousel-shell{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.52);background:linear-gradient(90deg,rgba(48,9,9,.83),rgba(31,7,7,.68)),url('assets/brand-forno-photo.jpeg') center/cover;box-shadow:0 22px 58px rgba(45,18,12,.24)}
.menu-carousel{display:flex;gap:24px;overflow-x:auto;padding:clamp(22px,4vw,42px);scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#bd6b42 rgba(255,255,255,.18)}
.menu-carousel::-webkit-scrollbar{height:8px}
.menu-carousel::-webkit-scrollbar-track{background:rgba(255,255,255,.18)}
.menu-carousel::-webkit-scrollbar-thumb{background:#bd6b42;border-radius:20px}
.menu-page{flex:0 0 min(70vw,520px);margin:0;scroll-snap-align:center;position:relative;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.24);box-shadow:0 18px 42px rgba(0,0,0,.3);backdrop-filter:blur(9px)}
.menu-page img{display:block;width:100%;height:auto;aspect-ratio:210/297;object-fit:contain;background:rgba(255,255,255,.97)}
.menu-page figcaption{position:absolute;left:12px;bottom:12px;padding:7px 11px;border-radius:999px;background:rgba(35,8,8,.82);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(8px)}
.menu-carousel-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 18px;background:rgba(255,255,255,.88);color:#6e5549;font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.menu-carousel-controls{display:flex;gap:7px}
.menu-carousel-controls button{width:38px;height:38px;border:1px solid rgba(166,78,46,.35);border-radius:50%;background:#fff;color:#8e3f25;font:inherit;font-size:1rem;cursor:pointer;transition:transform .2s ease,background .2s ease}
.menu-carousel-controls button:hover{transform:translateY(-2px);background:#f8ece6}

/* Formulario corporativo */
.corporate-section{display:grid;grid-template-columns:minmax(360px,.88fr) minmax(560px,1.12fr);min-height:850px;background:#071a2c;color:#fff}
.corporate-photo{position:relative;min-height:720px;background:linear-gradient(180deg,rgba(7,26,44,.03),rgba(7,26,44,.38)),url('assets/hospedaje-corporativo-santa-ana.jpeg') center 38%/cover no-repeat}
.corporate-photo-badge{position:absolute;left:clamp(24px,5vw,70px);bottom:clamp(28px,6vw,72px);display:grid;gap:7px;padding:20px 24px;border:1px solid rgba(255,255,255,.34);background:rgba(7,26,44,.58);backdrop-filter:blur(12px)}
.corporate-photo-badge span{font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#e7c983}
.corporate-photo-badge strong{font-family:'Libre Caslon Display',serif;font-size:2.2rem;font-weight:400}
.corporate-content{padding:clamp(60px,7vw,100px);display:flex;flex-direction:column;justify-content:center}
.corporate-content h2{margin:0 0 23px;font-family:'Libre Caslon Display',serif;font-size:clamp(3rem,5vw,5.2rem);font-weight:400;line-height:.96;letter-spacing:-.035em}
.corporate-lead{margin:0 0 26px;color:#e7c983;font-size:1.08rem;line-height:1.65}
.corporate-benefits{display:grid;grid-template-columns:1fr 1fr;gap:11px 24px;margin:0 0 25px;padding:0;list-style:none}
.corporate-benefits li{position:relative;padding-left:23px;line-height:1.5;color:rgba(255,255,255,.9)}
.corporate-benefits li::before{content:'✓';position:absolute;left:0;color:#c9a45e;font-weight:900}
.corporate-whatsapp{align-self:flex-start;margin-bottom:27px;padding:12px 19px;border:1px solid #c9a45e;border-radius:999px;color:#efd89f;text-decoration:none;font-size:.84rem;font-weight:800;transition:transform .2s ease,background .2s ease}
.corporate-whatsapp:hover{transform:translateY(-2px);background:rgba(201,164,94,.1)}
.corporate-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:24px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.07);backdrop-filter:blur(10px)}
.corporate-form label{display:grid;gap:7px}
.corporate-form .full-field,.corporate-submit,.corporate-note,.corporate-status,.corporate-download{grid-column:1/-1}
.corporate-form label>span{color:#efd89f;font-size:.8rem;font-weight:800}
.corporate-form label small{color:rgba(255,255,255,.58);font-weight:500}
.corporate-form input{width:100%;min-height:50px;padding:0 13px;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:rgba(3,15,27,.58);color:#fff;font:inherit;font-size:1rem;outline:none}
.corporate-form input::placeholder{color:rgba(255,255,255,.43)}
.corporate-form input:focus{border-color:#c9a45e;box-shadow:0 0 0 3px rgba(201,164,94,.14)}
.corporate-submit{min-height:50px;border:0;border-radius:999px;background:#d7b56d;color:#071a2c;font:inherit;font-weight:900;cursor:pointer}
.corporate-submit:disabled{opacity:.65;cursor:wait}
.corporate-note,.corporate-status{margin:0;text-align:center;font-size:.76rem;line-height:1.5}
.corporate-note{color:rgba(255,255,255,.6)}
.corporate-status{min-height:1.2em;font-weight:800}
.corporate-status.is-loading{color:rgba(255,255,255,.72)}
.corporate-status.is-success{color:#7ce7a6}
.corporate-status.is-error{color:#ff9a9a}
.corporate-download{justify-self:center;color:#efd89f;font-size:.82rem;font-weight:800;text-underline-offset:4px}
.corporate-download[hidden]{display:none}

@media(max-width:920px){
  .corporate-section{grid-template-columns:1fr}
  .corporate-photo{min-height:520px}
  .corporate-content{padding:70px 24px}
}
@media(max-width:650px){
  .menu-carousel{gap:14px;padding:18px 14px}
  .menu-page{flex-basis:84vw}
  .menu-carousel-footer{align-items:flex-start;flex-direction:column}
  .menu-carousel-controls{align-self:flex-end}
  .corporate-photo{min-height:420px}
  .corporate-content{padding:62px 16px}
  .corporate-content h2{font-size:3.1rem}
  .corporate-benefits{grid-template-columns:1fr}
  .corporate-whatsapp{align-self:stretch;text-align:center}
  .corporate-form{grid-template-columns:1fr;padding:18px}
  .corporate-form label,.corporate-form .full-field,.corporate-submit,.corporate-note,.corporate-status,.corporate-download{grid-column:1}
}
@media(prefers-reduced-motion:reduce){.menu-carousel{scroll-behavior:auto}.menu-carousel-controls button,.corporate-whatsapp{transition:none}}
