:root{--coal:#0b0b0a;--coal2:#141311;--gray:#8d8a84;--line:#2a2724;--cream:#efe7da;--ochre:#c08a3e;--bronze:#a87742;--copper:#c9763f;--copper2:#e39a62;--agave:#4f6b4a;--agave2:#7f9a6e;
--serif:Georgia,'Times New Roman',serif;--sans:'Helvetica Neue',Arial,sans-serif;--display:Impact,'Arial Narrow','Helvetica Neue',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--coal);color:var(--cream);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}a{color:inherit}
.skip{position:absolute;left:-999px;top:8px;background:var(--copper);color:#000;padding:8px 14px;z-index:99}.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--copper2);outline-offset:3px}
.wordmark{text-decoration:none;font-family:var(--sans);font-size:26px;letter-spacing:.02em;line-height:1;display:inline-flex;align-items:baseline;gap:0}
.wordmark b{font-weight:400;color:#d9d4cc}.wordmark i{font-style:normal;color:var(--copper)}
.wordmark span{font-size:10px;letter-spacing:.28em;color:var(--gray);margin-left:14px}
.header{position:fixed;inset:0 0 auto;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:22px clamp(18px,4vw,56px);transition:background .3s,padding .3s}
.header.solid{background:rgba(11,11,10,.86);backdrop-filter:blur(10px);padding-top:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.header nav{display:flex;gap:28px;align-items:center;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.header nav a{text-decoration:none;color:#cfc8bd}.header nav a:hover{color:var(--copper2)}
.nav-cta{border:1px solid var(--copper);padding:9px 16px;border-radius:999px;color:var(--copper2)!important}
.hero{position:relative;min-height:min(100svh,1000px);height:min(100svh,1000px);overflow:hidden;display:grid;align-items:center;isolation:isolate}
.hero canvas{position:absolute;inset:0;width:100%;height:100%}
#frost-air{pointer-events:none}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,7,7,.92) 0%,rgba(7,7,7,.55) 38%,rgba(7,7,7,0) 62%),linear-gradient(0deg,rgba(7,7,7,.9),rgba(7,7,7,0) 30%);pointer-events:none}
.hero-copy{position:relative;z-index:2;padding:120px clamp(18px,6vw,96px) 140px;max-width:720px}
.eyebrow{font-size:11.5px;letter-spacing:.3em;color:var(--ochre);margin:0 0 18px;display:flex;align-items:center;gap:12px}
.eyebrow span{display:inline-block;width:34px;height:1px;background:var(--copper)}
h1,h2{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:.92;margin:0 0 22px}
h1{font-size:clamp(46px,6.6vw,100px)}h2{font-size:clamp(42px,6vw,84px)}
h1 em,h2 em{font-family:var(--serif);text-transform:none;font-style:italic;color:var(--copper2);letter-spacing:-.01em;font-weight:400}
.hero-description{font-family:var(--serif);font-size:clamp(18px,2vw,24px);color:#d8d0c3;margin:0 0 34px}
.hero-actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.button{display:inline-flex;gap:10px;align-items:center;text-decoration:none;padding:15px 26px;border-radius:999px;font-weight:600;letter-spacing:.06em;font-size:14px;text-transform:uppercase}
.button.copper{background:linear-gradient(135deg,var(--copper2),var(--copper) 45%,var(--bronze));color:#160d06;box-shadow:0 8px 30px rgba(201,118,63,.25)}
.button.copper:hover{filter:brightness(1.1)}
.hero-link,.text-link{text-decoration:none;border-bottom:1px solid var(--copper);padding-bottom:3px;letter-spacing:.08em;font-size:14px;text-transform:uppercase}
.hero-footer{position:absolute;z-index:3;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px clamp(18px,4vw,56px);font-size:11px;letter-spacing:.24em;color:var(--gray);border-top:1px solid rgba(255,255,255,.07)}
.hero-footer button{background:none;border:1px solid #3a3530;color:#bbb;border-radius:999px;padding:7px 14px;font-size:11px;letter-spacing:.14em;cursor:pointer}
.scroll-link{text-decoration:none}
.ribbon{overflow:hidden;border-block:1px solid var(--line);background:linear-gradient(90deg,#14100c,#1d1510,#14100c)}
.ribbon-track{display:flex;gap:26px;width:max-content;padding:18px 0;animation:marquee 38s linear infinite;font-family:var(--display);font-size:22px;letter-spacing:.06em;color:var(--copper2)}
.ribbon i{font-style:normal;color:var(--agave2)}
@keyframes marquee{to{transform:translateX(-50%)}}
.section-wrap{padding:clamp(70px,10vw,140px) clamp(18px,6vw,96px)}
.section-heading p:last-child{color:#b3aca1;max-width:620px}
.about{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
.about-logo{border:1px solid var(--line);border-radius:6px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.about p{color:#cfc7ba;font-size:17px}
.facts{list-style:none;padding:0;margin:30px 0;display:flex;gap:34px;flex-wrap:wrap}
.facts strong{display:block;font-family:var(--display);font-size:52px;font-weight:400;color:var(--copper2);line-height:1}
.facts span{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray)}
.name-note{font-size:14px!important;color:var(--gray)!important;border-top:1px solid var(--line);padding-top:16px}
.name-note b{font-weight:400;color:#ddd}.name-note i{font-style:normal;color:var(--copper)}
.featured{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:46px}
.featured article,.extras-grid article{background:var(--coal);padding:28px 24px;display:flex;flex-direction:column;gap:14px;min-height:170px;transition:background .3s}
.featured article:hover,.extras-grid article:hover{background:#15120f}
.item-number{font-family:var(--serif);font-style:italic;color:var(--agave2);font-size:15px}
h3{font-family:var(--display);font-weight:400;font-size:28px;text-transform:uppercase;letter-spacing:.02em;margin:0 0 6px;line-height:1}
.featured p,.extras-grid p{margin:0;color:#aaa398;font-size:15px}
.house{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:radial-gradient(ellipse at 20% 50%,rgba(79,107,74,.25),transparent 60%),#0f0e0c;border-block:1px solid var(--line)}
.house>div:last-child{padding:clamp(40px,6vw,96px)}
.house p{color:#cfc7ba;font-size:17px;max-width:520px}
.house-photo{min-height:560px;display:grid;padding:clamp(20px,4vw,50px)}
.placeholder{border:2px dashed var(--bronze);border-radius:8px;display:grid;place-content:center;text-align:center;gap:10px;background:repeating-linear-gradient(45deg,rgba(168,119,66,.05) 0 14px,transparent 14px 28px)}
.placeholder span{font-size:11px;letter-spacing:.3em;color:var(--ochre)}.placeholder strong{font-family:var(--serif);font-style:italic;font-size:34px;font-weight:400;color:var(--copper2)}.placeholder small{color:var(--gray)}
.menu-top{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap;margin-bottom:34px}.menu-top>p{color:#b3aca1;font-family:var(--serif);font-size:19px;margin:0}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}
.filters button{background:none;border:1px solid #3c3732;color:#d5cec3;padding:13px 24px;border-radius:999px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:.25s}
.filters button[aria-selected=true]{background:var(--copper);border-color:var(--copper);color:#140c05}
.pk-summary{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:end;border-bottom:1px solid var(--line);padding-bottom:26px;margin-bottom:26px}
.pk-summary h3{font-size:44px}.pk-summary p{color:#b3aca1;max-width:560px;margin:0}
.pk-price strong{display:block;font-family:var(--display);font-weight:400;font-size:clamp(46px,6vw,72px);color:var(--copper2);line-height:1}.pk-price span{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray)}
.pk-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,70px)}
h4{font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--ochre);font-weight:600;margin:0 0 12px;display:flex;align-items:center;gap:10px}
.dot{width:9px;height:9px;border-radius:50%;background:var(--agave2);box-shadow:0 0 12px var(--agave2)}
.product-list{list-style:none;margin:0;padding:0}
.product-list li{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}
.product-list strong{font-weight:600;color:#eee5d6}.product-list span{color:#9f988d;text-align:right;font-size:14.5px}
.fade{animation:fade .5s ease}@keyframes fade{from{opacity:0;transform:translateY(10px)}}
.extras-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:46px}
.price-note{color:var(--gray);font-size:13px;margin-top:18px}
.quote{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center;background:linear-gradient(180deg,#0b0b0a,#14100c)}
.quote>div p{color:#b3aca1}
.calc{background:#100e0c;border:1px solid #2f2a25;border-radius:14px;padding:clamp(22px,4vw,40px);display:grid;gap:18px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.calc label[for],.calc legend{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--ochre)}
.guests-row{display:flex;gap:16px;align-items:center}
.guests-row input[type=range]{flex:1;accent-color:var(--copper)}
.guests-row input[type=number]{width:110px;background:#070707;border:1px solid #3a3530;color:var(--cream);font-size:22px;padding:8px 12px;border-radius:8px}
fieldset{border:0;padding:0;margin:0;display:grid;gap:10px}
.radio{display:flex;gap:12px;align-items:center;border:1px solid #2f2a25;border-radius:10px;padding:14px 16px;cursor:pointer}
.radio:has(input:checked){border-color:var(--copper);background:rgba(201,118,63,.08)}
.radio input{accent-color:var(--copper)}.radio small{color:var(--gray);margin-left:6px}
output{display:grid;gap:6px;border-top:1px solid var(--line);padding-top:18px}
output span{color:#b3aca1;font-size:14px}output strong{font-family:var(--display);font-weight:400;font-size:clamp(28px,4vw,44px);color:var(--copper2);line-height:1.05}
output small{color:var(--gray)}.warn{color:#e7a07a!important}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);border-top:1px solid var(--line)}
.contact>div>p{color:#b3aca1}
.contact-details>span{display:block;font-size:12px;letter-spacing:.24em;color:var(--ochre);margin-top:18px}
.pending{color:#9b948a;font-style:italic;border:1px dashed #4a423a;border-radius:8px;padding:10px 14px;margin:8px 0}
.socials{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 10px}
footer{display:flex;flex-wrap:wrap;gap:16px 30px;justify-content:space-between;align-items:center;padding:34px clamp(18px,6vw,96px);border-top:1px solid var(--line);color:var(--gray);font-size:13px}
footer p{margin:0}.concept-note,.legal{opacity:.7}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}
/* chat */
.chat-fab{position:fixed;right:20px;bottom:20px;z-index:40;background:linear-gradient(135deg,var(--copper2),var(--copper));color:#140c05;border:0;border-radius:999px;padding:14px 20px;font-weight:700;letter-spacing:.04em;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.chat{position:fixed;right:20px;bottom:84px;z-index:41;width:min(380px,calc(100vw - 24px));height:min(560px,calc(100svh - 110px));background:#0f0d0b;border:1px solid #3a3129;border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.7)}
.chat[hidden]{display:none}
.chat header{display:flex;align-items:baseline;gap:0;padding:14px 16px;border-bottom:1px solid var(--line);font-size:20px}
.chat header b{font-weight:400}.chat header i{font-style:normal;color:var(--copper)}.chat header span{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gray);margin-left:10px;flex:1}
.chat header button{background:none;border:0;color:#ccc;font-size:24px;cursor:pointer;line-height:1}
.chat-log{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.msg{max-width:86%;padding:10px 14px;border-radius:14px;font-size:14.5px;line-height:1.45}
.msg.bot{background:#1b1714;border:1px solid #2c2620;align-self:flex-start;border-bottom-left-radius:4px}
.msg.user{background:var(--copper);color:#140c05;align-self:flex-end;border-bottom-right-radius:4px}
.msg small{color:var(--gray)}.typing{opacity:.6}
.chat-cta{display:inline-block;margin-top:8px;color:var(--copper2);font-weight:600}
.chat-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 10px}
.chat-chips button{background:none;border:1px solid #4a3d31;color:#e6c9ad;border-radius:999px;padding:7px 12px;font-size:12.5px;cursor:pointer}
.chat-chips button:hover{background:#2a2119}
.chat-form{display:flex;border-top:1px solid var(--line)}
.chat-form input{flex:1;background:#080706;border:0;color:var(--cream);padding:14px;font-size:15px}
.chat-form button{background:var(--copper);border:0;color:#140c05;font-weight:700;padding:0 18px;cursor:pointer}
@media (max-width:900px){.about,.house,.quote,.contact,.pk-cols{grid-template-columns:1fr}.extras-grid{grid-template-columns:1fr 1fr}.house-photo{min-height:380px}}
@media (max-width:760px){.header nav a:not(.nav-cta){display:none}.wordmark span{display:none}
.hero{align-items:end}.hero-copy{padding:56svh 20px 120px}.hero-shade{background:linear-gradient(0deg,rgba(7,7,7,.97) 30%,rgba(7,7,7,.35) 60%,rgba(7,7,7,0) 80%)}
.hero-signature,.scroll-link{display:none}.hero-footer{justify-content:center}.extras-grid{grid-template-columns:1fr}.product-list li{flex-direction:column;gap:2px}.product-list span{text-align:left}.socials{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

.bottle-stage{display:grid;place-items:center;position:relative;background:radial-gradient(circle at 50% 55%,rgba(201,118,63,.35),rgba(79,107,74,.15) 40%,transparent 68%)}
.bottle-stage img{max-height:520px;width:auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.7)) drop-shadow(0 0 40px rgba(227,154,98,.25))}
.agaves{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}.agaves li{border:1px solid var(--agave2);color:#cfe0c2;border-radius:999px;padding:6px 14px;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.molecular{background:radial-gradient(ellipse at 80% 0,rgba(150,190,220,.08),transparent 60%)}
.reveal.now{transition:none}
@media (max-width:760px){.hero-footer{top:78px;bottom:auto;border:0;justify-content:flex-end;padding:0 14px}.hero-footer button{background:rgba(0,0,0,.5)}
.chat-fab{padding:14px 16px}.chat-fab{font-size:0}.chat-fab span{font-size:22px}
.hero-copy{padding-bottom:60px}.eyebrow{letter-spacing:.2em}}
.quote output strong{font-size:clamp(26px,3vw,38px)}

.header{background:transparent}
@media (max-width:760px){.hero-footer{top:auto;bottom:14px;justify-content:flex-start}.hero-copy{padding:60svh 20px 70px}.hero-copy h1{font-size:44px}}
@media (max-width:760px){.hero-link{display:none}}
/* v12: intro, logo, servicios, galería, ambiente */
.intro{position:fixed;inset:0;z-index:100;background:#000;display:flex;align-items:center;justify-content:center;transition:opacity .8s ease}
.intro video{width:100%;height:100%;object-fit:contain;background:#000}
.intro.out{opacity:0;pointer-events:none}
html.intro-on{overflow:hidden}
.intro-skip{position:absolute;right:clamp(16px,3vw,40px);bottom:clamp(20px,4vh,44px);background:rgba(0,0,0,.45);border:1px solid #6b4a32;color:#e9c9a8;border-radius:999px;padding:10px 20px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.intro-skip:hover{background:#2a1a10}
.brand{display:flex;align-items:center;gap:12px}
.brand-logo{height:70px;width:auto;display:block;transition:height .3s}
.header.solid .brand-logo{height:54px}
.footer-logo img{height:84px;width:auto;display:block}
.ambient-bottles,.ambient-drinks{position:relative;isolation:isolate}
.ambient-bottles::before,.ambient-drinks::before{content:"";position:absolute;inset:0;z-index:-1;background-size:cover;background-position:center;background-attachment:fixed;opacity:.55}
.ambient-bottles::before{background-image:linear-gradient(180deg,#0b0b0a 0%,rgba(11,11,10,.55) 30%,rgba(11,11,10,.55) 70%,#0b0b0a 100%),url(assets/fondos/bg-botellas.webp)}
.ambient-drinks::before{background-image:linear-gradient(180deg,#0b0b0a 0%,rgba(11,11,10,.6) 30%,rgba(11,11,10,.6) 70%,#0b0b0a 100%),url(assets/fondos/bg-tragos.webp)}
@media (max-width:760px){.ambient-bottles::before,.ambient-drinks::before{background-attachment:scroll}.brand-logo{height:46px}}
.services-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1px;background:var(--line)}
.services-list li{background:rgba(11,11,10,.82);padding:26px 24px}
.services-list h3{margin:0 0 8px;color:var(--copper2);font-size:18px}
.services-list p{margin:0;color:#bdb5aa;font-size:14px;line-height:1.5}
.cocktail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px}
.cocktail{margin:0;background:rgba(20,18,16,.85);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.cocktail img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block;filter:saturate(.9) brightness(.92)}
.cocktail figcaption{padding:16px 18px 20px}
.cocktail h3{margin:0 0 6px;font-size:18px;color:var(--copper2)}
.cocktail p{margin:0;font-size:14px;color:#bdb5aa;line-height:1.5}
.credits{margin-top:22px;font-size:11px;color:var(--gray);opacity:.7;line-height:1.6}.credits a{color:inherit}
