/* Banquetes ROMO — sitio estático listo para Cloudflare Pages */
:root{
  --ink:#171612;--ink-2:#22201b;--ink-3:#2a2923;--paper:#f5f1e8;--paper-2:#eae4d7;--white:#fffdf8;
  --gold:#d4ad67;--gold-bright:#f0cf8c;--gold-deep:#aa8245;--muted:#7c776e;--line:rgba(183,155,102,.37);
  --serif:'Playfair Display',Georgia,'Times New Roman',serif;--sans:'DM Sans','Segoe UI',Arial,sans-serif;
  --max:1280px;--radius:2px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.7 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.no-scroll{overflow:hidden}
::selection{background:var(--gold);color:var(--ink)}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}
.container{width:min(calc(100% - 96px),var(--max));margin-inline:auto}
.section-pad{padding:124px 0}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.skip-link{position:absolute;top:-150px;left:15px;z-index:1500;color:var(--ink);background:var(--gold);padding:12px 20px}.skip-link:focus{top:15px}

/* Sello superior y navegación */
.topbar{height:35px;background:#0d0c0b;color:#cdbb98;border-bottom:1px solid rgba(255,255,255,.07);font-size:9px;font-weight:600;letter-spacing:2.3px}
.topbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar-diamond{font-size:11px;margin-right:13px;color:var(--gold-bright)}
.topbar a{font-size:10px;letter-spacing:1.3px;transition:color .25s}
.topbar a:hover{color:white}
.site-header{height:90px;position:sticky;top:0;z-index:100;background:#161512;border-bottom:1px solid rgba(214,174,100,.18);transition:box-shadow .3s,background .3s}
.site-header.scrolled{background:rgba(20,19,16,.97);box-shadow:0 12px 40px rgba(0,0,0,.23);backdrop-filter:blur(16px)}
.nav-shell{height:100%;display:flex;align-items:center;gap:24px;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto;min-width:0}
.brand img{width:69px;height:72px;object-fit:contain;display:block;filter:drop-shadow(0 0 5px rgba(230,180,85,.10))}
.brand-text{display:flex;flex-direction:column;color:#e5d0a2;line-height:1.1;font-family:var(--serif);font-size:13px;letter-spacing:.4px;white-space:nowrap}
.brand-text strong{font-family:var(--serif);font-size:23px;font-weight:500;font-style:italic;letter-spacing:.5px;color:var(--gold-bright)}
.desktop-nav{display:flex;align-items:center;gap:25px;margin-left:auto}
.nav-link{position:relative;color:#ded9cd;font-size:11px;font-weight:500;letter-spacing:.12px;white-space:nowrap;padding:9px 0;transition:color .2s}
.nav-link:after{content:"";position:absolute;bottom:1px;left:0;width:0;height:1px;background:var(--gold);transition:width .25s}
.nav-link:hover,.nav-link.active{color:var(--gold-bright)}.nav-link:hover:after,.nav-link.active:after{width:100%}
.header-cta{border:1px solid var(--gold);color:var(--gold-bright);min-height:40px;padding:0 17px;display:inline-flex;align-items:center;gap:22px;white-space:nowrap;font-size:11px;font-weight:600;letter-spacing:.35px;transition:background .25s,color .25s}
.header-cta:hover{background:var(--gold);color:var(--ink)}.header-cta span{font-size:17px}
.menu-toggle{display:none;width:42px;height:42px;background:transparent;border:1px solid rgba(212,173,103,.55);padding:12px 9px;flex-direction:column;gap:5px;justify-content:center;align-items:center}
.menu-toggle span{display:block;width:20px;height:1.5px;background:var(--gold-bright);transition:transform .25s,opacity .25s}
.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mobile-nav{position:absolute;top:100%;left:0;right:0;padding:20px 26px 28px;background:#181713;border-top:1px solid rgba(212,173,103,.2);box-shadow:0 24px 38px rgba(0,0,0,.4)}
.mobile-nav:not([hidden]){display:flex;flex-direction:column}.mobile-nav a{font-size:14px;padding:11px;border-bottom:1px solid rgba(255,255,255,.08);color:#f6f0e5}
.mobile-nav a:hover{color:var(--gold-bright)}.mobile-nav .mobile-whatsapp{margin-top:13px;color:var(--gold-bright);border:1px solid var(--gold);text-align:center;padding:13px}

/* Portada editorial */
.hero{position:relative;isolation:isolate;min-height:740px;padding:93px 0 96px;background:#171512;color:var(--white);overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;z-index:-3;background:repeating-linear-gradient(105deg,transparent 0,transparent 118px,rgba(255,255,255,.012) 119px,transparent 120px),radial-gradient(ellipse at 68% 39%,#332d22 0,#1a1915 39%,#141311 82%)}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent 72%,rgba(8,8,7,.37))}
.hero-light{position:absolute;z-index:-2;border-radius:100%;filter:blur(90px);pointer-events:none}
.hero-light-one{width:400px;height:400px;top:10%;right:4%;background:rgba(175,120,58,.12)}
.hero-light-two{width:400px;height:380px;bottom:0;left:-12%;background:rgba(123,92,47,.09)}
.hero-outline{position:absolute;right:-220px;top:25px;width:690px;height:690px;border:1px solid rgba(212,173,103,.12);border-radius:50%;z-index:-1;pointer-events:none}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);align-items:center;gap:55px}
.hero-copy{position:relative;z-index:4;padding-top:6px}
.eyebrow{display:flex;align-items:center;gap:18px;font-size:11px;font-weight:600;letter-spacing:3px;line-height:1.4}
.eyebrow-light{color:var(--gold-bright)}.eyebrow-rule{display:inline-block;width:42px;height:1px;background:var(--gold)}.eyebrow-spark{font-size:17px;margin-left:3px}
.hero h1{font:500 clamp(78px,8vw,138px)/.98 var(--serif);letter-spacing:-5px;margin-top:22px;color:#fffaf0}
.hero h1 em{font-size:1.17em;font-weight:500;color:var(--gold-bright);letter-spacing:-6px}
.hero-period{color:var(--gold);font-size:.65em}
.hero-under-title{display:flex;align-items:center;gap:20px;margin-top:22px}.hero-under-title .under-rule{height:1px;background:var(--gold);width:61px}
.hero-under-title p{font:italic 400 clamp(22px,2.55vw,35px)/1.35 var(--serif);color:#e9dfd1}
.hero-desc{max-width:505px;margin-top:26px;font-size:15px;line-height:1.9;color:#c9c4ba}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}.btn{min-height:54px;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:15px 22px;border:1px solid transparent;font-size:11px;font-weight:700;letter-spacing:.32px;line-height:1.4;transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease;text-align:left}
.btn span{font-size:21px;font-weight:400;line-height:1}
.btn:hover{transform:translateY(-3px)}.btn-gold{background:var(--gold);border-color:var(--gold);color:#171512}
.btn-gold:hover{background:#f1cf90;box-shadow:0 10px 25px rgba(212,173,103,.18)}
.btn-outline{color:#f5e9d3;border-color:rgba(218,183,112,.55);background:transparent}.btn-outline:hover{border-color:var(--gold);background:rgba(212,173,103,.1)}
.hero-mini-info{display:flex;align-items:center;gap:26px;margin-top:52px;color:#c4ac80;font-size:9px;letter-spacing:2px;line-height:1.8}
.hero-mini-info strong{font-size:10px;letter-spacing:1.35px;font-weight:500;color:#f6efe1}.mini-divider{width:1px;height:34px;background:rgba(212,173,103,.38)}
.hero-visual{width:100%;height:590px;position:relative;display:flex;align-items:center;justify-content:center;padding:26px 4px 34px 75px}
.hero-large-frame{position:relative;width:83%;max-width:410px;height:100%;padding:9px;background:#24221e;border:1px solid #a78048;box-shadow:0 25px 65px rgba(0,0,0,.48),0 0 0 7px rgba(214,173,103,.035)}
.hero-large-frame:before{content:"";position:absolute;inset:-23px 18px 20px -18px;border:1px solid rgba(212,173,103,.38);z-index:-1}
.hero-main-photo{display:block;width:100%;height:100%;object-fit:contain;background:#25231e;box-shadow:inset 0 0 35px rgba(0,0,0,.17)}
.image-corner{position:absolute;width:28px;height:28px;pointer-events:none}.image-corner.top-left{left:-7px;top:-7px;border-left:2px solid var(--gold-bright);border-top:2px solid var(--gold-bright)}.image-corner.bottom-right{right:-7px;bottom:-7px;border-right:2px solid var(--gold-bright);border-bottom:2px solid var(--gold-bright)}
.hero-floating-frame{position:absolute;left:-16px;bottom:60px;width:190px;height:205px;padding:7px;background:#28241d;border:1px solid #ac884e;box-shadow:0 18px 35px rgba(0,0,0,.6);transform:rotate(-4deg)}
.hero-floating-frame img{width:100%;height:100%;object-fit:contain;display:block;background:#28231e}
.hero-visual-caption{position:absolute;right:0;bottom:2px;display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:2px;color:#e7cca0}.small-gold-dot{display:inline-block;width:5px;height:5px;transform:rotate(45deg);background:var(--gold)}
.hero-visual-decoration{position:absolute;right:13px;top:0;font-size:43px;font-weight:400;color:rgba(214,174,103,.64)}
.hero-scroll{position:absolute;bottom:25px;left:max(48px,calc((100vw - 1280px)/2));display:inline-flex;align-items:center;gap:15px;color:rgba(239,220,186,.65);font-size:9px;letter-spacing:2px;transition:color .2s}
.hero-scroll:hover{color:white}.scroll-line{width:45px;height:1px;background:var(--gold)}
.service-ribbon{height:67px;overflow:hidden;background:var(--gold);color:#1c1710;display:flex;align-items:center;border-block:1px solid rgba(0,0,0,.3)}
.ribbon-track{display:flex;align-items:center;gap:40px;width:max-content;white-space:nowrap;animation:ribbonShift 48s linear infinite;font-size:10px;font-weight:700;letter-spacing:2.5px}
.ribbon-track span{flex:none}.ribbon-track b{font-size:15px;color:#806438;font-weight:400}@keyframes ribbonShift{to{transform:translateX(-50%)}}

/* Sections common */
.section-kicker{display:flex;align-items:center;gap:13px;margin-bottom:23px;color:#775f36;font-size:10px;font-weight:700;letter-spacing:2.2px;line-height:1.5}
.section-kicker span{color:#b18d50}.section-kicker-light{color:#d5bb89}.section-heading{font:500 clamp(38px,4.5vw,65px)/1.22 var(--serif);letter-spacing:-1.9px}
.section-heading em{font-weight:400;color:#a87a42;letter-spacing:-2px}
.section-heading-light{color:var(--white)}.section-heading-light em{color:var(--gold-bright)}
.accent-rule{width:70px;height:2px;background:var(--gold-deep);margin:31px 0 29px}
.body-intro,.body-support{max-width:575px;color:#5c5850;font-size:15px;line-height:2}.body-intro strong{font-weight:700;color:#22201b}.body-support{margin-top:17px}
.text-link{display:inline-flex;align-items:center;gap:32px;margin-top:29px;padding-bottom:8px;border-bottom:1px solid #b18d50;font-size:12px;font-weight:700;letter-spacing:.2px;color:#544025;transition:gap .25s,color .25s}.text-link span{font-size:20px;font-weight:400}.text-link:hover{gap:43px;color:#8c642c}

/* Introducción */
.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:1fr .96fr;align-items:center;gap:110px}
.intro-gallery{height:485px;position:relative}
.intro-gallery:before{content:"";position:absolute;inset:22px 60px 35px 20px;border:1px solid rgba(170,130,70,.6);pointer-events:none}
.intro-photo{position:absolute;background:#e5dccd;border:1px solid rgba(165,130,72,.6);padding:7px;box-shadow:0 15px 48px rgba(40,30,15,.12)}
.intro-photo img{height:100%;width:100%;object-fit:contain;display:block;background:#e8e0d5}
.intro-photo-main{width:75%;height:78%;top:0;left:0}
.intro-photo-small{width:50%;height:48%;bottom:0;right:0}
.intro-photo-label{position:absolute;bottom:41px;left:32px;font-size:10px;letter-spacing:2.2px;line-height:2.1;color:#8e734d;z-index:2}.intro-photo-label em{font:italic 17px var(--serif);letter-spacing:0;color:#4a3b29}

/* Servicios */
.services{background:#eae4d7;border-top:1px solid #e0d8c8}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:49px}
.section-intro>p,.extras-header>p,.gallery-header>p{max-width:290px;font-size:14px;line-height:1.9;color:#6c675e;margin-bottom:8px}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.service-card{position:relative;min-height:315px;padding:32px 31px 29px;background:#f8f5ee;border:1px solid #d6c9ad;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;overflow:hidden;transition:transform .35s,box-shadow .35s,border-color .35s}
.service-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 50%,rgba(212,173,103,.16));opacity:0;transition:opacity .35s;z-index:-1}
.service-card:hover{transform:translateY(-6px);box-shadow:0 18px 32px rgba(50,40,25,.12);border-color:#b89b66}.service-card:hover:before{opacity:1}
.card-top{display:flex;justify-content:space-between;align-items:start;color:#91794e}
.card-index{font-size:10px;font-weight:700;letter-spacing:2px}.card-asterisk{font-size:29px;line-height:1;font-weight:400;color:#cbb280}
.service-card h3{font:500 clamp(29px,2.4vw,38px)/1.2 var(--serif);letter-spacing:-.9px;margin:17px 0 11px}.service-card p{font-size:13px;color:#777066;line-height:1.6}
.service-card-link{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid #d9cbb5;font-size:11px;font-weight:700;color:#6e542f;transition:color .2s}.service-card-link:hover{color:#a97936}.service-card-link span{font-size:20px;font-weight:400}
.featured-service{background:#27241e;color:#f8f2e7;border-color:#806b46}.featured-service .card-top{color:#e1c188}.featured-service p{color:#ddd2bd}.featured-service .service-card-link{color:#e6c993;border-color:rgba(234,207,154,.28)}.featured-service:hover{border-color:#ddb979}

/* Gourmet */
.gourmet{position:relative;isolation:isolate;overflow:hidden;background:#191713;color:white}
.gourmet:before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(circle at 80% 48%,rgba(156,115,59,.2),transparent 45%),repeating-linear-gradient(115deg,transparent 0,transparent 160px,rgba(225,185,111,.022) 161px,transparent 162px)}
.gourmet-circle{position:absolute;left:-250px;bottom:-360px;width:700px;height:700px;border:1px solid rgba(212,173,103,.12);border-radius:50%;pointer-events:none}
.gourmet-grid{display:grid;grid-template-columns:1fr 1fr;gap:92px;align-items:center}
.gourmet-copy{padding-block:20px}.gourmet-mark{font-size:35px;margin-bottom:6px;color:var(--gold)}
.gourmet .section-heading{font-size:clamp(70px,7vw,112px);line-height:1.07}.gourmet-text{max-width:370px;color:#cfc7ba;margin-top:35px;font-size:16px;line-height:2}
.gourmet-text strong{color:#f3e2bb;font-weight:500}.gourmet-detail{margin:32px 0;display:flex;gap:16px;align-items:center;color:#cbaa72;font-size:10px;font-weight:600;letter-spacing:2px}.gold-line{display:block;width:29px;height:1px;background:#c09a62}
.gourmet-photo-wrap{position:relative;height:620px;padding:30px 30px 26px 30px}
.gourmet-frame{height:100%;position:relative;border:1px solid #ae884f;padding:9px;background:#29251e;box-shadow:0 15px 55px rgba(0,0,0,.35)}
.gourmet-frame:before{content:"";position:absolute;inset:-28px 20px 25px -20px;border:1px solid rgba(205,163,100,.5);z-index:-1}
.gourmet-frame img{display:block;width:100%;height:100%;object-fit:contain;background:#25211c}
.gourmet-photo-label{position:absolute;right:-14px;bottom:28px;padding:11px 18px;background:#d4ad67;color:#211b12;font-size:10px;font-weight:700;letter-spacing:1.6px;box-shadow:0 12px 22px rgba(0,0,0,.2)}
.gourmet-photo-label span{padding-left:10px}.gourmet-decor{position:absolute;border:1px solid rgba(212,173,103,.25);width:130px;height:130px;right:-17px;top:10px;border-radius:50%;z-index:-1}

/* Complementos */
.extras{background:#f5f1e8}.extras-header{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:55px}
.extras-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.extra-card{position:relative;min-height:385px;padding:35px 36px;background:#26231e;color:#faf6ec;border:1px solid #534830;display:flex;flex-direction:column;overflow:hidden;transition:transform .3s,background .3s}
.extra-card:before{position:absolute;content:"";width:245px;height:245px;border:1px solid rgba(212,173,103,.13);border-radius:50%;right:-92px;top:-85px}.extra-card:hover{transform:translateY(-6px);background:#302a21}
.extra-art{display:flex;width:100px;height:100px;border:1px solid rgba(214,173,103,.45);border-radius:50%;align-items:center;justify-content:center;margin-bottom:auto;background:radial-gradient(circle at center,rgba(197,155,86,.15),transparent 65%)}
.extra-art svg{width:56px;height:56px;stroke:#d5b473;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.extra-num{font:italic 21px var(--serif);color:#b69b6c;margin-top:24px}.extra-card h3{font:500 clamp(28px,2.8vw,43px)/1.15 var(--serif);margin:7px 0 24px}.extra-card a{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid rgba(222,191,132,.35);padding-top:16px;color:#e2c48d;font-size:11px;font-weight:600}
.extra-card a span{font-size:20px;font-weight:400}.extra-card a:hover{color:white}

/* Galería, las 11 imágenes se conservan sin recortes */
.gallery{background:#eae4d7;border-top:1px solid #dfd4c0}.gallery-header{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px}
.gallery-header>p{max-width:330px}.gallery-grid{columns:4;column-gap:17px}
.gallery-item{width:100%;display:block;margin:0 0 17px;padding:7px;background:#fcfaf5;border:1px solid #cbb891;box-shadow:0 9px 22px rgba(62,43,19,.065);position:relative;overflow:hidden;break-inside:avoid;line-height:0;transition:border-color .25s,box-shadow .25s,transform .3s}
.gallery-item img{width:100%;height:auto;display:block;object-fit:contain;filter:none;transition:transform .55s ease}
.gallery-item:after{content:"";position:absolute;inset:7px;pointer-events:none;box-shadow:inset 0 0 14px 4px rgba(246,238,220,.18);border:1px solid rgba(227,203,154,.24)}
.gallery-item:hover{border-color:#af8a4d;box-shadow:0 18px 27px rgba(62,43,19,.18);transform:translateY(-4px)}
.gallery-item:hover img{transform:scale(1.018)}.gallery-zoom{position:absolute;top:14px;right:14px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:rgba(26,24,20,.84);border:1px solid #c5a26c;color:#f4e0af;font:20px var(--sans);z-index:3;line-height:1;opacity:0;transform:translateY(-5px);transition:opacity .25s,transform .25s}
.gallery-item:hover .gallery-zoom,.gallery-item:focus-visible .gallery-zoom{opacity:1;transform:none}
.gallery-footnote{text-align:center;margin-top:41px;color:#9a8058;font-size:10px;letter-spacing:3px;font-weight:700}.gallery-footnote span{padding:0 17px;color:#aa8547}

/* Contacto y formulario */
.contact{position:relative;isolation:isolate;background:#171612;color:#fff9ee;overflow:hidden}
.contact-background{position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(circle at 22% 85%,rgba(151,99,38,.15),transparent 41%),linear-gradient(105deg,transparent,rgba(203,162,93,.055)),repeating-linear-gradient(35deg,transparent 0,transparent 100px,rgba(255,255,255,.016) 101px,transparent 102px)}
.contact-grid{display:grid;grid-template-columns:.9fr 1fr;align-items:start;gap:100px}
.contact-copy{padding-top:48px}.contact-copy .section-heading{font-size:clamp(52px,5vw,78px)}
.contact-copy>p:not(.section-kicker){margin:27px 0 32px;max-width:430px;line-height:1.95;color:#c4bfb4;font-size:15px}
.whatsapp-contact-box{display:flex;align-items:center;gap:17px;margin-bottom:33px;padding:24px 0;border-top:1px solid rgba(212,173,103,.27);border-bottom:1px solid rgba(212,173,103,.27)}
.contact-icon{display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(214,173,103,.55);color:#d5b36e}.contact-icon svg{width:32px;height:32px}
.whatsapp-contact-box div{display:flex;flex-direction:column;gap:1px}.whatsapp-contact-box div>span{font-size:10px;letter-spacing:2.2px;color:var(--gold)}
.whatsapp-contact-box a{font:500 30px var(--serif);transition:color .2s}.whatsapp-contact-box a:hover{color:var(--gold-bright)}
.form-panel{padding:43px 42px 45px;background:#f7f3ea;color:#241e15;border:1px solid #bba071;box-shadow:18px 18px 0 rgba(185,145,76,.09)}
.form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.form-kicker{font-size:10px;letter-spacing:2px;color:#8c6c39;font-weight:700}.form-star{color:#a78046;font-size:26px}
.form-panel h3{font:500 clamp(32px,3vw,44px)/1.28 var(--serif);letter-spacing:-1px}.form-panel h3 em{color:#9c723a;font-weight:400}
.form-panel>p{font-size:13px;line-height:1.8;color:#797268;margin:14px 0 26px}
.field{margin-top:17px}.field label{display:block;color:#4c4232;font-size:11px;font-weight:700;letter-spacing:.1px;margin-bottom:7px}.field label span{color:#9e7438}
.field input,.field select,.field textarea{display:block;width:100%;border:1px solid #d4c9b4;background:#fffefb;border-radius:0;color:#25221c;min-height:49px;padding:12px 14px;font-size:13px;outline:none;transition:border-color .25s,box-shadow .25s;appearance:none}
.field textarea{resize:vertical;min-height:99px}.field input::placeholder,.field textarea::placeholder{color:#a6a095}.field input:focus,.field select:focus,.field textarea:focus{border-color:#a88751;box-shadow:0 0 0 3px rgba(212,173,103,.14)}
.select-wrap{position:relative}.select-wrap:after{content:"⌄";position:absolute;right:15px;top:44%;transform:translateY(-50%);font-size:23px;color:#967443;pointer-events:none}
.btn-form{width:100%;background:#201d18;color:#f3dbab;border-color:#201d18;margin-top:21px;min-height:57px}.btn-form:hover{background:#433321;border-color:#b58d50}.form-panel small{display:block;margin-top:15px;line-height:1.7;color:#878073;font-size:10px}

/* Pie */
.footer{background:#0d0c0b;color:#e5ddd0;border-top:1px solid rgba(212,173,103,.32)}
.footer-top{padding:67px 0 54px;display:grid;grid-template-columns:1.1fr 1fr .85fr;gap:45px;align-items:center}
.footer-brand{display:flex;align-items:center;gap:16px}.footer-brand img{width:79px;height:82px;object-fit:contain}
.footer-brand span{display:flex;flex-direction:column;gap:5px}.footer-brand strong{font:500 23px var(--serif);white-space:nowrap;color:var(--gold-bright)}.footer-brand small{color:#b5a995;font-size:12px}
.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 19px}.footer-top nav a{font-size:12px;color:#d1c7b6}.footer-top nav a:hover{color:var(--gold-bright)}
.footer-contact{display:flex;flex-direction:column;gap:9px}.footer-contact span{color:var(--gold);font-size:10px;letter-spacing:2px}.footer-contact a{font:400 19px var(--serif)}.footer-contact a:hover{color:var(--gold-bright)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:19px 0 25px;border-top:1px solid rgba(212,173,103,.17);color:#9f9583;font-size:11px}.footer-bottom a:hover{color:var(--gold-bright)}

/* WhatsApp flotante */
.wa-float{position:fixed;bottom:24px;right:25px;z-index:120;display:grid;place-items:center;width:59px;height:59px;background:#25d366;border:2px solid #e1f8e9;border-radius:50%;color:white;box-shadow:0 8px 26px rgba(0,0,0,.23);transition:transform .25s,box-shadow .25s}
.wa-float svg{width:31px;height:31px}.wa-float:hover{transform:translateY(-5px) scale(1.045);box-shadow:0 12px 35px rgba(37,211,102,.35)}
.wa-float-tooltip{position:absolute;right:69px;top:50%;transform:translate(7px,-50%);background:#1b1a16;color:#fff7e6;border:1px solid #927543;font-size:12px;padding:8px 11px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.wa-float:hover .wa-float-tooltip{opacity:1;transform:translate(0,-50%)}

/* Visor con fotografía completa y sin recortar */
.lightbox[hidden]{display:none!important}.lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:50px 90px;background:rgba(8,8,7,.97);color:#f7e9cd}
.lightbox-backdrop{position:absolute;inset:0;z-index:0}.lightbox-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex-direction:column;width:min(100%,1050px);height:100%;min-height:0;pointer-events:none}
.lightbox-content img{max-height:calc(100% - 35px);max-width:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 10px 50px rgba(0,0,0,.35);border:1px solid rgba(201,159,90,.35);background:#171512;pointer-events:auto}
.lightbox-meta{display:flex;justify-content:space-between;width:min(100%,800px);gap:15px;padding-top:12px;font-size:10px;letter-spacing:2px;color:#dbc393}
.lightbox button{position:absolute;z-index:3;display:grid;place-items:center;background:#242019;color:#e4c68d;border:1px solid rgba(212,173,103,.65);width:45px;height:45px;font:35px/1 var(--serif);transition:background .25s,color .25s}
.lightbox button:hover{background:#d4ad67;color:#161410}.lightbox-close{top:24px;right:26px}.lightbox-prev{left:24px;top:50%;transform:translateY(-50%)}.lightbox-next{right:24px;top:50%;transform:translateY(-50%)}

/* Entrada progresiva sin ocultar nunca el contenido: incluso ante fallas JS, todo es legible. */
@keyframes romo-enter{from{opacity:.78;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:no-preference){.reveal.visible{animation:romo-enter .65s ease both}.gallery-item.reveal.visible:hover{transform:translateY(-4px)}}

/* Responsive */
@media (max-width:1260px){.container{width:min(calc(100% - 70px),var(--max))}.desktop-nav{gap:16px}.nav-link{font-size:10px}.header-cta{padding-inline:12px;gap:13px}.intro-grid{gap:70px}.hero-grid{gap:35px}.hero h1{font-size:clamp(73px,8vw,120px)}}
@media (max-width:1080px){.desktop-nav{display:none}.menu-toggle{display:flex}.header-cta{margin-left:auto}.hero{min-height:680px}.hero-grid{grid-template-columns:1fr 1fr;gap:20px}.hero h1{font-size:clamp(66px,8vw,100px)}.hero-visual{height:520px;padding-left:40px}.hero-floating-frame{width:150px;height:165px;left:-16px;bottom:70px}.intro-grid{gap:48px}.intro-gallery{height:420px}.gourmet-grid{gap:52px}.gourmet-photo-wrap{height:545px}.contact-grid{gap:55px}.footer-top{gap:25px}}
@media (max-width:790px){html{scroll-padding-top:78px}.container{width:min(calc(100% - 42px),var(--max))}.section-pad{padding:88px 0}.site-header{height:76px}.brand img{width:58px;height:60px}.brand-text strong{font-size:20px}.hero{padding:68px 0 88px}.hero-grid{grid-template-columns:1fr;gap:46px}.hero h1{font-size:clamp(70px,11vw,110px);letter-spacing:-4px}.hero-visual{max-width:580px;height:565px;padding-left:65px;justify-self:center}.hero-floating-frame{width:175px;height:185px;left:0}.hero-scroll{left:21px;bottom:19px}.hero-mini-info{margin-top:35px}.intro-grid{grid-template-columns:1fr;gap:60px}.intro-gallery{max-width:590px;width:100%;height:480px}.intro-content{max-width:650px}.section-intro,.extras-header,.gallery-header{align-items:start;flex-direction:column;gap:17px}.section-intro>p,.extras-header>p,.gallery-header>p{max-width:570px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gourmet-grid{grid-template-columns:1fr;gap:35px}.gourmet .section-heading{font-size:clamp(70px,12vw,105px)}.gourmet-photo-wrap{max-width:570px;width:100%;height:610px;margin-inline:auto}.extras-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.extras-grid .extra-card:last-child{grid-column:span 2;min-height:280px}.gallery-grid{columns:3}.contact-grid{grid-template-columns:1fr;gap:65px}.contact-copy{padding-top:0}.form-panel{max-width:650px;width:100%}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-contact{grid-column:2}}
@media (max-width:550px){.topbar{height:30px}.topbar-inner{justify-content:center}.topbar-detail{font-size:8px;letter-spacing:1.45px}.topbar-inner>a{display:none}.site-header{height:69px}.container{width:calc(100% - 36px)}.section-pad{padding:72px 0}.brand{gap:7px}.brand img{width:51px;height:53px}.brand-text{font-size:11px}.brand-text strong{font-size:18px}.header-cta{display:none}.hero{padding:63px 0 84px}.eyebrow{font-size:9px;letter-spacing:2px;gap:10px}.eyebrow-rule{width:24px}.hero h1{font-size:clamp(62px,14.5vw,81px);letter-spacing:-3.5px;margin-top:21px}.hero h1 em{letter-spacing:-3px}.hero-under-title{margin-top:18px;gap:13px}.hero-under-title .under-rule{width:33px}.hero-under-title p{font-size:23px}.hero-desc{font-size:14px;margin-top:20px}.hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:26px;max-width:345px}.hero-actions .btn{width:100%}.hero-mini-info{font-size:8px;gap:15px;margin-top:30px;letter-spacing:1.3px}.hero-mini-info strong{font-size:8px}.hero-visual{height:420px;padding:12px 0 23px 45px;max-width:400px;min-width:0;width:100%;margin-top:2px}.hero-large-frame{width:84%;max-width:290px}.hero-large-frame:before{inset:-12px 14px 13px -11px}.hero-floating-frame{width:115px;height:127px;left:0;bottom:38px;padding:4px}.hero-visual-caption{bottom:0;right:0;letter-spacing:1px;font-size:8px}.hero-visual-decoration{top:-17px;font-size:29px}.hero-scroll{font-size:8px;letter-spacing:1.2px}.scroll-line{width:22px}.service-ribbon{height:54px}.ribbon-track{gap:24px;font-size:9px;letter-spacing:1.5px}.section-kicker{font-size:9px;margin-bottom:18px}.section-heading{font-size:clamp(35px,9vw,48px);letter-spacing:-1px}.section-heading em{letter-spacing:-1.2px}.intro-gallery{height:330px}.intro-photo-main{width:77%;height:77%}.intro-photo-small{width:51%;height:45%}.intro-photo-label{left:17px;bottom:14px;font-size:8px;letter-spacing:1px}.intro-photo-label em{font-size:13px}.intro-grid{gap:39px}.body-intro,.body-support{font-size:14px}.services-grid{grid-template-columns:1fr;gap:12px}.service-card{min-height:245px;padding:26px 27px 24px}.service-card h3{font-size:34px}.section-intro,.extras-header,.gallery-header{margin-bottom:28px}.gourmet .section-heading{font-size:clamp(68px,15vw,86px)}.gourmet-text{font-size:14px}.gourmet-photo-wrap{height:380px;padding:15px 10px 18px 20px}.gourmet-frame{padding:6px}.gourmet-frame:before{inset:-10px 12px 11px -10px}.gourmet-photo-label{font-size:8px;padding:9px 11px;right:-2px;bottom:20px}.gourmet-decor{width:65px;height:65px;right:0;top:0}.extras-grid{grid-template-columns:1fr;gap:13px}.extra-card,.extras-grid .extra-card:last-child{grid-column:auto;min-height:280px;padding:25px 28px}.extra-art{width:75px;height:75px}.extra-art svg{width:45px;height:45px}.extra-card h3{font-size:35px}.extra-num{margin-top:15px}.gallery-grid{columns:2;column-gap:10px}.gallery-item{padding:4px;margin-bottom:10px}.gallery-item:after{inset:4px}.gallery-zoom{opacity:1;transform:none;top:8px;right:8px;width:23px;height:23px;font-size:15px}.gallery-footnote{font-size:8px;letter-spacing:1px;line-height:2}.gallery-footnote span{padding:0 6px}.contact-grid{gap:40px}.contact-copy .section-heading{font-size:clamp(48px,11vw,62px)}.contact-copy>p:not(.section-kicker){font-size:14px}.contact-copy>.btn{width:100%}.whatsapp-contact-box a{font-size:26px}.form-panel{padding:27px 23px 29px;box-shadow:8px 8px 0 rgba(185,145,76,.09)}.form-panel h3{font-size:33px}.form-kicker{font-size:8px;letter-spacing:1.6px}.footer-top{grid-template-columns:1fr;gap:30px;padding:44px 0 31px}.footer-contact{grid-column:auto}.footer-brand img{width:71px;height:75px}.footer-bottom{font-size:10px}.wa-float{width:53px;height:53px;bottom:18px;right:17px}.wa-float svg{width:29px;height:29px}.wa-float-tooltip{display:none}.lightbox{padding:80px 18px 90px}.lightbox-close{top:18px;right:18px}.lightbox-prev,.lightbox-next{top:auto;bottom:18px;transform:none}.lightbox-prev{left:calc(50% - 64px)}.lightbox-next{right:calc(50% - 64px)}.lightbox button{width:42px;height:42px}.lightbox-meta{font-size:9px;letter-spacing:1px}}
@media (max-width:360px){.hero h1{font-size:59px}.hero-mini-info{gap:10px;font-size:7px}.hero-visual{height:358px}.brand-text strong{font-size:17px}.section-heading{font-size:33px}.gallery-grid{column-gap:8px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal.visible{animation:none!important;opacity:1!important;transform:none!important}}
