/* Mesa Lista: sistema editorial cálido para catering y eventos. */
.brand>span{border-radius:50% 12px 50% 50%;background:var(--secondary)}.brand strong{font-size:1.18rem}
.hero--image-background{min-height:720px;display:grid;align-items:end;position:relative;background:#18362c}.hero--image-background:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,50,42,.94),rgba(25,50,42,.58) 48%,rgba(25,50,42,.05) 80%),var(--hero-image);background-size:cover;background-position:center}.hero--image-background .container{position:relative;z-index:1}.hero--image-background .hero__content{max-width:720px;color:#fff}.hero--image-background .hero__lead{color:rgba(255,255,255,.82)}.hero--image-background .eyebrow{color:#f0bd69}
.catering-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.catering-package{overflow:hidden;border:1px solid color-mix(in srgb,var(--text) 10%,transparent);border-radius:var(--radius);background:#fff;box-shadow:0 15px 45px rgba(36,66,56,.08);transition:.25s transform,.25s box-shadow}.catering-package:hover{transform:translateY(-6px);box-shadow:0 26px 58px rgba(36,66,56,.14)}.catering-package__media{position:relative;overflow:hidden}.catering-package__media img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:.5s transform}.catering-package:hover img{transform:scale(1.04)}.catering-package__media span{position:absolute;left:14px;bottom:14px;padding:7px 11px;border-radius:999px;color:#fff;background:var(--secondary);font-size:.7rem;font-weight:900}.catering-package__body{display:flex;min-height:340px;flex-direction:column;padding:24px}.catering-package__body h3{margin-bottom:10px;font-size:1.45rem}.catering-package__body>p{color:var(--muted);font-size:.88rem}.catering-package__body>strong{margin:4px 0 16px;color:var(--primary);font-size:1.05rem}.catering-package__body ul{display:grid;gap:7px;margin:0 0 22px;padding:0;list-style:none;color:var(--muted);font-size:.8rem}.catering-package__body li:before{content:'✓';margin-right:8px;color:var(--accent);font-weight:900}.catering-package__body .button{width:100%;margin-top:auto}.button--outline{color:var(--primary);background:transparent;box-shadow:none}
.quote-section{background:linear-gradient(145deg,#e8ded0,#f7f2e9)!important}.quote-layout{display:grid;grid-template-columns:minmax(280px,.64fr) minmax(0,1.36fr);gap:clamp(35px,7vw,90px);align-items:start}.quote-layout>aside{position:sticky;top:110px}.quote-layout>aside>p{color:var(--muted)}.quote-layout>aside>ul{display:grid;gap:9px;padding:0;list-style:none}.quote-layout>aside>ul li:before{content:'✓';display:inline-grid;width:22px;height:22px;margin-right:9px;place-items:center;border-radius:50%;color:#fff;background:var(--secondary);font-size:.65rem}.quote-estimate{display:grid;margin:28px 0;padding:26px;border-radius:var(--radius);color:#fff;background:linear-gradient(145deg,var(--secondary),#315b4c);box-shadow:0 22px 55px rgba(36,66,56,.2)}.quote-estimate small{color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.1em}.quote-estimate output{font-family:var(--font-heading);font-size:clamp(2.2rem,5vw,4rem);font-weight:900}.quote-estimate span{color:rgba(255,255,255,.72);font-size:.76rem}.quote-layout>form{padding:32px;border:1px solid color-mix(in srgb,var(--text) 10%,transparent);border-radius:calc(var(--radius)*1.1);background:#fff;box-shadow:0 26px 70px rgba(36,66,56,.12)}.quote-layout label{display:grid;gap:6px;color:var(--muted);font-size:.76rem;font-weight:800}.quote-layout input,.quote-layout select,.quote-layout textarea{width:100%;border:1px solid #d8dfda;border-radius:11px;background:#fff;outline:none}.quote-layout input,.quote-layout select{height:48px;padding:0 13px}.quote-layout textarea{padding:13px}.quote-layout input:focus,.quote-layout select:focus,.quote-layout textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}
@media(max-width:900px){.catering-package-grid{grid-template-columns:repeat(2,1fr)}.quote-layout{grid-template-columns:1fr}.quote-layout>aside{position:static}.hero--image-background{min-height:650px}}
@media(max-width:640px){.catering-package-grid{grid-template-columns:1fr}.catering-package__body{min-height:0}.quote-layout>form{padding:20px}}
