/* BELLANOVA CSS v4 */
@import url('https://fonts.googleapis.com/css2?family=Gambetta:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&family=Red+Hat+Display:wght@400;500;600;700&display=swap');
:root{--az:#002a47;--do:#b28b3d;--pe:#f5f0dc;--ve:#4f7049;--bl:#ffffff;--mu:rgba(0,42,71,.65);--g:'Gambetta',serif;--r:'Red Hat Display',sans-serif;--t:.38s cubic-bezier(.25,.46,.45,.94);--sh:0 4px 28px rgba(0,42,71,.13);--max:1280px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--r);font-weight:400;color:var(--az);background:var(--bl);overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit;transition:var(--t)}
ul{list-style:none}
.bel-wrap{max-width:var(--max);margin:0 auto;padding:0 2rem}
.bel-sec{padding:5.5rem 0;position:relative}
.bel-sec-bl{background:var(--bl)}.bel-sec-pe{background:var(--pe)}.bel-sec-az{background:var(--az)}
.bel-sh{text-align:center;max-width:680px;margin:0 auto 3.5rem}
.bel-eyebrow{font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--do);font-weight:600;display:block;margin-bottom:.8rem}
.bel-eyebrow-lt{color:rgba(178,139,61,.88)}
.bel-h2{font-family:var(--g);font-size:clamp(1.7rem,3.5vw,2.6rem);font-weight:600;color:var(--az);letter-spacing:.05em;text-transform:uppercase;line-height:1.12;margin-bottom:.4rem}
.bel-h2 em{font-style:italic;font-weight:400;color:var(--do);font-size:1.07em;text-transform:none}
.bel-h2-lt{color:var(--bl)}
.bel-body{font-size:1rem;color:var(--mu);line-height:1.78;margin-top:.7rem;font-weight:400}
.bel-body-lt{color:rgba(255,255,255,.62)}
.bel-div{display:flex;align-items:center;gap:.7rem;margin:1rem 0;width:fit-content}
.bel-div.c{margin:1rem auto}
.bel-div::before{content:'';width:26px;height:1px;background:linear-gradient(90deg,transparent,var(--do))}
.bel-div::after{content:'';width:26px;height:1px;background:linear-gradient(90deg,var(--do),transparent)}
.bel-div-d{width:5px;height:5px;background:var(--do);transform:rotate(45deg);flex-shrink:0}
.bel-btn{display:inline-block;font-family:var(--r);font-size:.74rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:.88rem 2.2rem;border:2px solid transparent;cursor:pointer;transition:var(--t);line-height:1}
.bel-btn-do{background:var(--do);color:var(--bl);border-color:var(--do)}.bel-btn-do:hover{background:transparent;color:var(--do)}
.bel-btn-az{background:var(--az);color:var(--bl);border-color:var(--az)}.bel-btn-az:hover{background:transparent;color:var(--az)}
.bel-btn-obl{background:transparent;color:var(--bl);border-color:rgba(255,255,255,.55)}.bel-btn-obl:hover{border-color:var(--do);color:var(--do)}
.bel-btn-odo{background:transparent;color:var(--do);border-color:var(--do)}.bel-btn-odo:hover{background:var(--do);color:var(--bl)}
/* TOP BAR */
.bel-topbar{background:var(--az);padding:.5rem 0;border-bottom:1px solid rgba(178,139,61,.2)}
.bel-topbar-in{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.bel-tb-loc{display:flex;align-items:center;gap:.4rem;font-size:.76rem;color:rgba(255,255,255,.65);font-weight:400;letter-spacing:.03em}
.bel-tb-loc svg{flex-shrink:0;opacity:.7}
.bel-tb-ct{display:flex;gap:1.4rem}
.bel-tb-ct a{font-size:.76rem;color:rgba(255,255,255,.55);font-weight:400}.bel-tb-ct a:hover{color:var(--do)}
/* NAVBAR */
.bel-nav{background:var(--bl);position:sticky;top:0;z-index:9999;height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;border-bottom:1px solid rgba(0,42,71,.09);transition:box-shadow var(--t)}
.bel-nav.scrolled{box-shadow:var(--sh)}
.bel-logo img{height:48px;width:auto}
.bel-nav-links{display:flex;gap:2px}
.bel-nav-links a{font-size:.75rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--az);padding:.5rem .7rem;position:relative}
.bel-nav-links a::after{content:'';position:absolute;bottom:0;left:.7rem;right:.7rem;height:1.5px;background:var(--do);transform:scaleX(0);transition:transform .3s ease}
.bel-nav-links a:hover::after,.bel-nav-links a.active::after{transform:scaleX(1)}
.bel-nav-links a:hover,.bel-nav-links a.active{color:var(--do)}
.bel-nav-cta{background:var(--do);color:var(--bl);font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.72rem 1.5rem;border:none;cursor:pointer;transition:var(--t)}.bel-nav-cta:hover{background:var(--az)}
.bel-ham{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.3rem}
.bel-ham span{width:24px;height:2px;background:var(--az);display:block;transition:var(--t);border-radius:1px}
.bel-nav-deco{height:2px;background:linear-gradient(90deg,transparent 4%,var(--do) 28%,var(--do) 72%,transparent 96%);opacity:.48}
/* HERO */
.bel-hero{height:100vh;min-height:620px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--az);background-size:cover;background-position:center}
.bel-hero::before{content:'';position:absolute;inset:0;background-image:url('Bellanova_Patrones-05.jpg');background-repeat:repeat;background-size:300px auto;opacity:.06;z-index:0;mix-blend-mode:overlay}
.bel-hero-img{background-attachment:scroll}
.bel-hero-ov{position:absolute;inset:0;background:linear-gradient(160deg,rgba(0,42,71,.86) 0%,rgba(0,42,71,.62) 45%,rgba(0,42,71,.86) 100%);z-index:1}
.bel-hero-img .bel-hero-ov{background:linear-gradient(160deg,rgba(0,42,71,.78) 0%,rgba(0,30,52,.55) 50%,rgba(0,42,71,.85) 100%)}
.bel-hero-c{position:relative;z-index:2;text-align:center;padding:0 2rem;animation:heroIn 1.1s ease forwards}
@keyframes heroIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.bel-hero-eyebrow{font-size:.9rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(178,139,61,.92);font-weight:700;display:block;margin-bottom:1.2rem}
.bel-hero-logo{height:84px;width:auto;display:block;margin:0 auto 1.2rem}
.bel-hero-tag{font-family:var(--g);font-style:italic;font-size:clamp(1.3rem,3vw,2.1rem);font-weight:300;color:rgba(255,255,255,.9);line-height:1.45}
.bel-hero-tag em{color:rgba(178,139,61,.95)}
.bel-hero-btns{display:flex;gap:1rem;justify-content:center;margin-top:2rem;flex-wrap:wrap}
.bel-hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.4rem;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.42);animation:pulse 2s ease-in-out infinite}
.bel-hero-scroll-l{width:1px;height:34px;background:linear-gradient(to bottom,var(--do),transparent)}
@keyframes pulse{0%,100%{opacity:.4}50%{opacity:.9}}
/* ICON BAR */
.bel-ibar{background:var(--bl);border-bottom:1px solid rgba(0,42,71,.08);padding:1rem 0}
.bel-ibar-in{display:flex;justify-content:center}
.bel-ib{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:0 1.8rem;border-right:1px solid rgba(0,42,71,.08);cursor:pointer;transition:var(--t);text-decoration:none}
.bel-ib:last-child{border-right:none}
.bel-ib img{width:30px;height:30px;object-fit:contain;transition:transform var(--t)}.bel-ib:hover img{transform:translateY(-2px)}
.bel-ib span{font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:rgba(0,42,71,.55);font-weight:500;transition:var(--t)}.bel-ib:hover span{color:var(--do)}
/* NOSOTROS */
.bel-about-g{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.bel-ai{position:relative;height:380px}
.bel-ai-main{position:absolute;top:0;left:0;right:48px;bottom:48px;overflow:hidden}
.bel-ai-main img{width:100%;height:100%;object-fit:cover}
.bel-ai-acc{position:absolute;bottom:0;right:0;width:48%;height:48%;overflow:hidden;border:6px solid var(--pe);box-shadow:var(--sh)}
.bel-ai-acc img{width:100%;height:100%;object-fit:cover}
.bel-ai-fr{position:absolute;top:-12px;left:-12px;width:44%;height:44%;border:1px solid rgba(178,139,61,.42)}
.bel-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}
.bel-stat{padding:1.1rem 1rem;border-top:2px solid var(--do);background:rgba(255,255,255,.7)}
.bel-stat-n{font-family:var(--g);font-size:2rem;font-weight:600;color:var(--az);line-height:1}
.bel-stat-l{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(0,42,71,.5);margin-top:.3rem;font-weight:500}
/* EVENTOS */
.bel-ev-g{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
a.bel-evc{display:block;color:inherit;text-decoration:none}
.bel-evc{border:1px solid rgba(0,42,71,.09);overflow:hidden;background:var(--bl);transition:var(--t)}.bel-evc:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.bel-evc-img{position:relative;overflow:hidden;aspect-ratio:4/3}
.bel-evc-img img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.bel-evc:hover .bel-evc-img img{transform:scale(1.05)}
.bel-evc-badge{position:absolute;bottom:10px;right:10px;width:38px;height:38px;background:rgba(255,255,255,.92);border-radius:50%;display:flex;align-items:center;justify-content:center}
.bel-evc-badge img{width:22px;height:22px;object-fit:contain}
.bel-evc-body{padding:1.2rem;border-top:2px solid var(--do)}
.bel-evc-tag{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--do);font-weight:600;display:block;margin-bottom:.3rem}
.bel-evc-h{font-family:var(--g);font-size:1rem;font-weight:600;color:var(--az);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.4rem}
.bel-evc-p{font-size:.9rem;color:var(--mu);line-height:1.6;font-weight:400}
/* GALERÍA */
.bel-gal-g{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:220px 220px;gap:10px;margin-top:2.5rem}
.bel-gi{overflow:hidden;position:relative;cursor:pointer}
.bel-gi.w{grid-column:span 2}.bel-gi.t{grid-row:span 2}
.bel-gi img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.bel-gi:hover img{transform:scale(1.05)}
.bel-gi-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,42,71,.88) 0%,transparent 55%);opacity:0;transition:opacity .35s ease;display:flex;flex-direction:column;justify-content:flex-end;padding:1.2rem}
.bel-gi:hover .bel-gi-ov{opacity:1}
.bel-gi-ov h3{font-family:var(--g);font-size:.95rem;font-weight:600;color:var(--bl);letter-spacing:.05em;text-transform:uppercase}
.bel-gi-ov span{font-size:.7rem;letter-spacing:.1em;color:rgba(178,139,61,.9);text-transform:uppercase}
/* SALONES */
.bel-sal-g{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2.5rem}
.bel-sc{border:1px solid rgba(0,42,71,.09);overflow:hidden;background:var(--bl);transition:var(--t)}.bel-sc:hover{transform:translateY(-3px);box-shadow:var(--sh)}
.bel-sc.full{grid-column:span 2}
.bel-sc-img{aspect-ratio:16/9;overflow:hidden;display:block;width:100%}
.bel-sc.full .bel-sc-img{aspect-ratio:21/9}
.bel-sc-img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .55s ease}.bel-sc:hover .bel-sc-img img{transform:scale(1.04)}
.bel-sc-body{padding:1.2rem;border-top:2px solid var(--do)}
.bel-sc-badge{display:inline-block;background:var(--do);color:var(--bl);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;padding:.25rem .7rem;font-weight:700;margin-bottom:.5rem}
.bel-sc-name{font-family:var(--g);font-size:1.1rem;font-weight:600;color:var(--az);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.5rem}
.bel-sc-info{display:flex;flex-direction:column;gap:.25rem}
.bel-sc-info span{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;color:var(--mu);line-height:1.5;font-weight:400}
.bel-sc-info span::before{content:'';width:4px;height:4px;background:var(--do);transform:rotate(45deg);flex-shrink:0;margin-top:.42rem}
/* JARDÍN */
.bel-jd-g{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.bel-jd-cap{background:rgba(178,139,61,.12);border:1px solid rgba(178,139,61,.28);padding:.9rem 1.2rem;margin:1rem 0}
.bel-jd-cap p{font-size:1rem;color:var(--do);font-weight:600;letter-spacing:.04em}
.bel-jd-cap span{font-size:.88rem;color:rgba(255,255,255,.5);margin-top:.2rem;display:block;font-weight:400}
.bel-jd-imgs{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:180px 180px;gap:8px}
.bel-jd-im{overflow:hidden}.bel-jd-im img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.bel-jd-im:hover img{transform:scale(1.05)}
.bel-jd-im.tall{grid-row:span 2}
/* SERVICIOS */
.bel-srv-g{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;margin-top:2.5rem}
.bel-srv-lst{display:flex;flex-direction:column}
.bel-srv-it{display:flex;align-items:flex-start;gap:.8rem;padding:.75rem 0;border-bottom:1px solid rgba(0,42,71,.07);font-size:.92rem;color:var(--mu);line-height:1.5;font-weight:400}
.bel-srv-it::before{content:'';width:4px;height:4px;background:var(--do);transform:rotate(45deg);flex-shrink:0;margin-top:.42rem}
.bel-srv-note{background:var(--az);padding:1rem 1.2rem;margin-top:1rem}
.bel-srv-note p{font-family:var(--g);font-style:italic;font-size:.95rem;color:rgba(178,139,61,.9);line-height:1.6}
.bel-srv-imgs{display:flex;flex-direction:column;gap:8px}
.bel-srv-img-m{aspect-ratio:4/3;overflow:hidden}.bel-srv-img-m img{width:100%;height:100%;object-fit:cover}
.bel-srv-img-r{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bel-srv-img-r div{aspect-ratio:1;overflow:hidden}.bel-srv-img-r div img{width:100%;height:100%;object-fit:cover}
/* MENÚS — 3 columnas */
.bel-menu-g{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem;margin-top:2.5rem}
.bel-mc{background:var(--bl);overflow:hidden;box-shadow:var(--sh)}
.bel-mc-top{padding:2rem 1.5rem 1.5rem;text-align:center;border-bottom:2px solid var(--do)}
.bel-mc-iso{width:52px;height:52px;border:1px solid rgba(178,139,61,.35);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;position:relative}
.bel-mc-iso::before{content:'';position:absolute;inset:3px;border:1px solid rgba(178,139,61,.18);border-radius:50%}
.bel-mc-iso img{width:28px;height:28px;object-fit:contain}
.bel-mc-tag{display:inline-block;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;padding:.25rem .9rem;margin-bottom:.8rem}
.bel-mc-tag.p{background:var(--az);color:var(--do)}.bel-mc-tag.c{background:var(--do);color:var(--bl)}.bel-mc-tag.e{background:var(--ve);color:var(--bl)}
.bel-mc-name{font-family:var(--g);font-size:1.35rem;font-weight:600;color:var(--az);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.3rem}
.bel-mc-sub{font-size:.88rem;color:rgba(0,42,71,.52);font-style:italic;line-height:1.55}
.bel-mc-body{padding:1.3rem 1.5rem}
.bel-mc-lst{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.5rem}
.bel-mc-li{display:flex;align-items:flex-start;gap:.7rem;font-size:.88rem;color:var(--mu);line-height:1.45;font-weight:400}
.bel-mc-li::before{content:'';width:4px;height:4px;background:var(--do);transform:rotate(45deg);flex-shrink:0;margin-top:.42rem}
.bel-mc-dl{display:flex;align-items:center;justify-content:center;gap:.6rem;color:var(--bl);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:1rem 0;width:100%;border:none;cursor:pointer;font-family:var(--r);transition:var(--t);text-decoration:none}
.bel-mc-dl.p{background:var(--az)}.bel-mc-dl.p:hover{background:#001d30}
.bel-mc-dl.c{background:var(--do)}.bel-mc-dl.c:hover{background:#9a7632}
.bel-mc-dl.e{background:var(--ve)}.bel-mc-dl.e:hover{background:#3d5838}
/* RESERVAS */
.bel-res-g{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;margin-top:2.5rem}
.bel-pasos{display:flex;flex-direction:column;gap:1.1rem;margin-top:1.5rem}
.bel-paso{display:flex;gap:1rem;align-items:flex-start}
.bel-paso-n{width:30px;height:30px;border:1px solid var(--do);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--g);font-size:.85rem;font-weight:600;color:var(--do);flex-shrink:0}
.bel-paso h4{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--az);font-weight:700;margin-bottom:.2rem}
.bel-paso p{font-size:.9rem;color:var(--mu);line-height:1.5;font-weight:400}
/* FORMULARIOS */
.bel-form-box{background:var(--bl);border:1px solid rgba(0,42,71,.1);padding:2.2rem;box-shadow:var(--sh)}
.bel-form-box-pe{background:var(--pe)}
.bel-form-h{font-family:var(--g);font-size:1.2rem;font-weight:600;color:var(--az);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.3rem}
.bel-form-deco{width:24px;height:2px;background:var(--do);margin-bottom:1.4rem}
.bel-fg{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}
.bel-fg label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--az);font-weight:600}
.bel-fg input,.bel-fg select,.bel-fg textarea{background:#f8f6f2;border:none;border-bottom:2px solid #e0ddd5;padding:.7rem .9rem;font-family:var(--r);font-size:.92rem;font-weight:400;color:var(--az);width:100%;transition:border-color var(--t);-webkit-appearance:none;border-radius:0;outline:none}
.bel-fg input:focus,.bel-fg select:focus,.bel-fg textarea:focus{border-bottom-color:var(--do);background:var(--bl)}
.bel-fg textarea{min-height:100px;resize:vertical}
.bel-fg input::placeholder,.bel-fg textarea::placeholder{color:rgba(0,42,71,.38)}
.bel-fg-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.bel-form-sub{background:var(--do);color:var(--bl);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:1rem 0;width:100%;border:none;margin-top:.5rem;cursor:pointer;font-family:var(--r);transition:var(--t)}.bel-form-sub:hover{background:var(--az)}
/* CONTACTO */
.bel-ct-g{display:grid;grid-template-columns:1fr 1.3fr;gap:4rem;align-items:start}
.bel-ct-lst{display:flex;flex-direction:column;gap:1.3rem;margin-top:1.8rem}
.bel-ci{display:flex;gap:.9rem;align-items:flex-start}
.bel-ci-ic{width:38px;height:38px;border:1px solid rgba(178,139,61,.38);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.bel-ci-ic img{width:18px;height:18px;object-fit:contain}
.bel-ci h4{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--do);margin-bottom:.2rem;font-weight:700}
.bel-ci p{font-size:.9rem;color:rgba(0,42,71,.62);line-height:1.55;font-weight:400}
.bel-wa-bar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;background:rgba(37,211,102,.08);border:1px solid rgba(37,211,102,.28);padding:1rem 1.2rem;margin-top:1rem}
.bel-wa-bar h5{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--az);font-weight:700;margin-bottom:.2rem}
.bel-wa-bar p{font-size:.88rem;color:var(--mu);font-weight:400}
.bel-wa-btn{background:#25d366;color:var(--bl);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.7rem 1.2rem;border:none;cursor:pointer;white-space:nowrap;font-family:var(--r);flex-shrink:0;transition:var(--t)}.bel-wa-btn:hover{background:#1daa53}
/* CTA MEJORADO */
.bel-cta{background:var(--az);padding:6rem 0;text-align:center;position:relative;overflow:hidden}
.bel-cta::before{content:'';position:absolute;inset:0;background-image:url('assets/Bellanova_Patrones-05.jpg');background-repeat:repeat;background-size:280px auto;opacity:.07;pointer-events:none}
.bel-cta-inner{position:relative;z-index:1}
.bel-cta-badge{display:inline-block;background:var(--do);color:var(--bl);font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:.4rem 1.6rem;margin-bottom:1.5rem}
.bel-cta h2{font-family:var(--g);font-size:clamp(2rem,4vw,3.2rem);font-weight:600;color:var(--bl);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5rem;line-height:1.1}
.bel-cta h2 em{font-style:italic;font-weight:400;color:var(--do)}
.bel-cta p{font-size:1rem;color:rgba(255,255,255,.65);margin:.8rem auto 2rem;line-height:1.7;font-weight:400;max-width:520px}
.bel-cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.bel-cta-phones{display:flex;gap:2rem;justify-content:center;margin-top:1.8rem;flex-wrap:wrap}
.bel-cta-phones a{font-size:.9rem;color:rgba(178,139,61,.82);font-weight:600;letter-spacing:.05em}.bel-cta-phones a:hover{color:var(--do)}
/* MAP BLOCK — ubicación + tarjeta */
.bel-map{background:var(--pe);border-top:2px solid var(--do)}
.bel-map-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.35fr 1fr;align-items:stretch;min-height:440px}
.bel-map-frame{position:relative;overflow:hidden;background:var(--az);min-height:440px}
.bel-map-frame::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(0,42,71,.08);pointer-events:none}
.bel-map-frame iframe{width:100%;height:100%;min-height:440px;border:0;display:block;filter:saturate(.92) contrast(1.02)}
.bel-map-card{background:var(--az);padding:3rem 2.6rem;display:flex;flex-direction:column;justify-content:center;gap:1.1rem;position:relative;overflow:hidden}
.bel-map-card::before{content:'';position:absolute;top:0;right:0;width:140px;height:140px;border-top:1px solid rgba(178,139,61,.28);border-right:1px solid rgba(178,139,61,.28);pointer-events:none}
.bel-map-card::after{content:'';position:absolute;bottom:0;left:0;width:140px;height:140px;border-bottom:1px solid rgba(178,139,61,.28);border-left:1px solid rgba(178,139,61,.28);pointer-events:none}
.bel-map-eyebrow{font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:rgba(178,139,61,.85);font-weight:600;font-family:var(--r)}
.bel-map-logo{height:auto;width:auto;margin:.2rem 0}
.bel-map-card .bel-div{margin:.4rem 0 .6rem}
.bel-map-list{display:flex;flex-direction:column;gap:.85rem;font-family:var(--r);font-size:.92rem;color:rgba(255,255,255,.72);line-height:1.55}
.bel-map-list li{display:flex;align-items:flex-start;gap:.85rem;font-weight:400}
.bel-map-list a{color:rgba(255,255,255,.78);transition:var(--t)}.bel-map-list a:hover{color:var(--do)}
.bel-map-list em{font-style:normal;color:rgba(178,139,61,.7);font-size:.85em;letter-spacing:.04em}
.bel-map-ic{width:30px;height:30px;border:1px solid rgba(178,139,61,.36);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--do);margin-top:.05rem}
.bel-map-btn{display:inline-flex;align-items:center;gap:.6rem;align-self:flex-start;background:var(--do);color:var(--bl);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;padding:.85rem 1.5rem;font-weight:700;font-family:var(--r);margin-top:.6rem;transition:var(--t)}
.bel-map-btn:hover{background:var(--bl);color:var(--az)}
.bel-map-btn span{transition:transform var(--t)}.bel-map-btn:hover span{transform:translateX(4px)}
/* FOOTER */
.bel-footer{background:var(--az);padding:3.5rem 0 0}
.bel-ft-g{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(178,139,61,.16)}
.bel-ft-logo img{height:56px;width:auto;margin-bottom:.9rem}
.bel-ft-desc{font-size:.9rem;color:rgba(255,255,255,.42);line-height:1.75;margin-bottom:1rem;font-weight:400}
.bel-ft-soc{display:flex;gap:.5rem}
.bel-ft-si{width:28px;height:28px;border:1px solid rgba(178,139,61,.28);display:flex;align-items:center;justify-content:center;color:rgba(178,139,61,.48);font-size:.8rem;cursor:pointer;transition:var(--t)}.bel-ft-si:hover{background:var(--do);border-color:var(--do);color:var(--bl)}
.bel-ft-col h4{font-size:.66rem;letter-spacing:.25em;text-transform:uppercase;color:var(--do);margin-bottom:1rem;padding-bottom:.7rem;position:relative;font-weight:600}
.bel-ft-col h4::after{content:'';position:absolute;bottom:0;left:0;width:16px;height:1px;background:var(--do);opacity:.48}
.bel-ft-col li{margin-bottom:.55rem;font-size:.9rem;color:rgba(255,255,255,.42);cursor:pointer;transition:var(--t);font-weight:400}.bel-ft-col li:hover{color:var(--do)}
.bel-ft-addr{font-size:.9rem;color:rgba(255,255,255,.42);line-height:1.82;font-style:normal;font-weight:400}
.bel-ft-bot{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;flex-wrap:wrap;gap:.5rem}
.bel-ft-bot p{font-size:.72rem;color:rgba(255,255,255,.2);letter-spacing:.04em}
.bel-ft-bot-l{display:flex;gap:1.2rem}
.bel-ft-bot-l a{font-size:.72rem;color:rgba(255,255,255,.2);transition:var(--t)}.bel-ft-bot-l a:hover{color:var(--do)}
.bel-ft-deco{height:3px;background:linear-gradient(90deg,transparent 4%,var(--do) 28%,var(--do) 72%,transparent 96%);opacity:.42}
/* TOAST */
.bel-toast{position:fixed;bottom:2rem;right:2rem;z-index:99999;background:var(--az);border-left:4px solid var(--do);padding:1rem 1.5rem;color:var(--bl);font-size:.92rem;font-weight:500;box-shadow:var(--sh);max-width:340px;transform:translateY(100px);opacity:0;transition:var(--t)}
.bel-toast.show{transform:translateY(0);opacity:1}.bel-toast.error{border-left-color:#e74c3c}
[data-rev]{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}
[data-rev].on{opacity:1;transform:translateY(0)}
/* PATRONES — solo páginas internas */
.bel-pat{position:relative;overflow:hidden}
.bel-pat::before{content:'';position:absolute;inset:0;background-repeat:repeat;background-size:280px auto;pointer-events:none;z-index:0}
.bel-pat > *{position:relative;z-index:1}
.bel-pat-05::before{background-image:url('Bellanova_Patrones-05.jpg');opacity:.08}
.bel-pat-06::before{background-image:url('Bellanova_Patrones-06.jpg');opacity:.10}
.bel-pat-07::before{background-image:url('Bellanova_Patrones-07.jpg');opacity:.07}
.bel-pat-08::before{background-image:url('Bellanova_Patrones-08.jpg');opacity:.07}
/* RESPONSIVE */
@media(max-width:1024px){.bel-about-g,.bel-jd-g,.bel-srv-g,.bel-ct-g{grid-template-columns:1fr;gap:3rem}.bel-ft-g{grid-template-columns:1fr 1fr;gap:2rem}.bel-menu-g{grid-template-columns:1fr 1fr}.bel-map-grid{grid-template-columns:1fr;min-height:0}.bel-map-frame,.bel-map-frame iframe{min-height:340px}.bel-map-card{padding:2.4rem 2rem}}
@media(max-width:768px){.bel-nav-links,.bel-nav-cta{display:none}.bel-ham{display:flex}.bel-nav-links.open{display:flex;flex-direction:column;align-items:center;justify-content:center;position:fixed;inset:0;background:var(--az);z-index:9998;gap:2rem}.bel-nav-links.open a{font-size:.95rem;color:var(--bl);letter-spacing:.18em}.bel-ev-g,.bel-menu-g,.bel-res-g{grid-template-columns:1fr}.bel-gal-g{grid-template-columns:1fr 1fr;grid-template-rows:auto}.bel-gi.w,.bel-gi.t{grid-column:auto;grid-row:auto}.bel-gi{height:200px}.bel-sal-g{grid-template-columns:1fr}.bel-sc.full{grid-column:auto}.bel-fg-2{grid-template-columns:1fr}.bel-ft-g{grid-template-columns:1fr}.bel-ibar-in{flex-wrap:wrap;justify-content:center}.bel-ib{padding:.5rem 1.2rem;width:33%;border-right:none;border-bottom:1px solid rgba(0,42,71,.08)}.bel-stats{grid-template-columns:1fr 1fr}.bel-tb-ct{display:none}}
@media(max-width:480px){.bel-gal-g{grid-template-columns:1fr}.bel-hero-btns{flex-direction:column;align-items:center}.bel-stats{grid-template-columns:1fr}.bel-ib{width:50%}}
