:root{--ink:#070706;--paper:#f2eee5;--muted:#aaa39a;--gold:#b68a42;--line:rgba(242,238,229,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:'DM Sans',Arial,sans-serif}.grain{pointer-events:none;position:fixed;inset:0;z-index:20;opacity:.12;background-image:radial-gradient(rgba(255,255,255,.20) .55px,transparent .7px);background-size:5px 5px;mix-blend-mode:soft-light}.nav{height:96px;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:3;left:5vw;right:5vw;border-bottom:1px solid var(--line)}.brand{width:95px;height:95px;border:2px solid var(--paper);border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--paper);font-weight:600;font-style:italic;font-size:18px;line-height:.75;text-decoration:none;transform:rotate(-8deg)}.brand span:first-child{transform:translateX(-4px)}.nav nav{display:flex;gap:46px}.nav nav a,.bag,footer a{font:500 11px 'DM Mono',monospace;letter-spacing:2px;text-transform:uppercase;color:var(--paper);text-decoration:none}.bag{border:0;background:transparent;cursor:pointer;padding:10px 0}.bag b{display:inline-grid;place-items:center;margin-left:8px;background:var(--paper);color:var(--ink);width:18px;height:18px;border-radius:50%;font-size:9px}.hero{position:relative;min-height:100vh;overflow:hidden;display:flex;align-items:flex-end;padding:0 5vw 64px;background:#070706}.hero-media{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,4,3,.94) 0%,rgba(4,4,3,.72) 39%,rgba(4,4,3,.04) 73%),url('assets/hero-reference.png') center/cover no-repeat;filter:saturate(.85)}.hero-copy{position:relative;z-index:1;width:590px;padding-top:160px}.eyebrow{font:500 10px 'DM Mono',monospace;letter-spacing:2.4px;text-transform:uppercase;color:var(--gold);line-height:1.8;margin:0 0 23px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;margin:0}h1{font-size:clamp(62px,7.2vw,126px);line-height:.84;letter-spacing:-5px}.hero-bottom{margin-top:34px;display:flex;gap:30px;align-items:end}.hero-bottom p,.intro-text,.manifesto-copy>p:not(.eyebrow),.visit-grid p{font-size:14px;line-height:1.65;color:#d2cdc3;margin:0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-width:226px;padding:18px 20px;text-decoration:none;text-transform:uppercase;letter-spacing:1.5px;font:500 10px 'DM Mono',monospace;transition:transform .25s,background .25s}.button i,.text-link i{font-style:normal;font-size:19px}.light{background:var(--paper);color:var(--ink)}.light:hover{transform:translateY(-3px);background:#fff}.pager{position:absolute;z-index:1;right:5vw;top:42%;display:flex;flex-direction:column;align-items:center;gap:13px;font:13px 'Playfair Display';color:#746f68}.pager strong{color:var(--gold);font-size:22px}.pager span{height:82px;width:1px;background:var(--paper)}.pager em{font-style:normal}.hero-place{position:absolute;right:5vw;bottom:29px;z-index:1;font:9px 'DM Mono';letter-spacing:2px;text-transform:uppercase}.intro{padding:150px 10vw 130px;text-align:center;background:radial-gradient(ellipse at center,#1a1712 0%,var(--ink) 62%)}.intro h2,.section-heading h2,.visit h2{font-size:clamp(42px,5vw,74px);line-height:.95;letter-spacing:-2.6px}.intro-text{max-width:440px;margin:34px auto}.scroll-note{margin-top:70px;font:10px 'DM Mono';letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.scroll-note span{display:block;color:var(--gold);font-size:22px;margin-top:6px}.catalog{padding:112px 5vw 138px;border-top:1px solid var(--line);background:linear-gradient(#0a0a08, #050504)}.section-heading{display:grid;grid-template-columns:1fr 2.2fr 1fr;align-items:end;margin-bottom:62px}.section-heading .eyebrow{margin:0}.section-heading h2{white-space:nowrap}.section-heading>a{justify-self:end;color:var(--paper);font:11px 'DM Mono';letter-spacing:1px;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:8px}.section-heading i{font-style:normal;font-size:18px;color:var(--gold)}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.product{position:relative}.product-visual{height:530px;overflow:hidden;position:relative;display:flex;justify-content:center;align-items:center;background:#12110e}.product-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.28),transparent 45%)}.visual-one{background:radial-gradient(circle at 50% 28%,#645343 0, #1f1d19 28%,#0d0c0a 70%)}.visual-two{background:radial-gradient(circle at 50% 29%,#a36821 0, #2a1b0d 29%,#0b0a08 68%)}.visual-three{background:radial-gradient(circle at 50% 25%,#846225 0,#181512 35%,#070706 72%)}.bottle{z-index:1;position:relative;width:178px;height:310px;border-radius:17px 17px 11px 11px;box-shadow:0 28px 35px rgba(0,0,0,.6);display:flex;flex-direction:column;align-items:center;justify-content:center}.bottle:before{content:'';position:absolute;top:-53px;width:80px;height:65px;border-radius:50% 50% 20% 20%;background:inherit;border:1px solid rgba(255,255,255,.15)}.bottle span{font:86px 'Playfair Display';line-height:.65;color:#c5913f}.bottle small{margin-top:17px;font:12px 'DM Mono';letter-spacing:1px;text-align:center;color:#e7d4ad}.bottle em{font:italic 15px 'Playfair Display';margin-top:9px;color:#e8ddc9}.bottle-one{background:linear-gradient(120deg,#473e34,#14110e 45%,#514737);border:1px solid #8f6d44}.bottle-two{height:280px;border-radius:9px;background:linear-gradient(130deg,#9d662a,#dd9c37 42%,#5d3411 70%);border:1px solid #f4cb74}.bottle-two:before{width:158px;height:73px;border-radius:10px;background:linear-gradient(100deg,#3b2b1c,#e5bc77,#4e2f15)}.bottle-two span{font-size:58px;color:#28170a}.bottle-two small{color:#2c170b}.bottle-three{width:210px;height:250px;border-radius:12px 12px 28px 28px;background:linear-gradient(90deg,#171c20,#d8a63e 49%,#111519);border:1px solid #c89b43}.bottle-three:before{width:90px;height:100px;border-radius:42% 42% 8px 8px;background:linear-gradient(90deg,#b88629,#f3d470,#9b6c1f)}.bottle-three span{font-size:61px;color:#f4d678}.product-meta{display:flex;justify-content:space-between;align-items:start;padding:20px 0 15px;border-bottom:1px solid var(--line)}.product h3{font-size:27px}.product-meta p{margin:4px 0 0;font:italic 15px 'Playfair Display';color:var(--muted)}.product-meta strong{font:13px 'DM Mono';letter-spacing:1px}.add{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 0;border:0;background:transparent;color:var(--gold);font:10px 'DM Mono';text-transform:uppercase;letter-spacing:1.5px;cursor:pointer}.add i{font:20px 'DM Sans';font-style:normal}.manifesto{min-height:730px;display:grid;grid-template-columns:1fr 1fr;background:#15130f}.manifesto-photo{background:linear-gradient(90deg,rgba(0,0,0,.1),rgba(0,0,0,.65)),url('assets/catalog-reference.png') 28% center/cover}.manifesto-copy{padding:13vw 9vw;display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.manifesto-copy h2{font-size:clamp(40px,4vw,64px);line-height:1.03;letter-spacing:-2px}.manifesto-copy h2 i{color:#c59a58}.manifesto-copy>p:not(.eyebrow){margin:28px 0}.text-link{color:var(--paper);font:10px 'DM Mono';letter-spacing:1px;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:8px}.text-link i{color:var(--gold)}.visit{padding:140px 8vw;background:#080807 url('assets/brand-reference.png') center/cover;background-blend-mode:soft-light}.visit h2{margin-bottom:65px}.visit-grid{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;border-top:1px solid var(--line);padding-top:30px}.gold{justify-self:end;background:var(--gold);color:#110e09}.gold:hover{transform:translateY(-3px);background:#d0a85f}footer{padding:55px 5vw;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}footer .brand{width:65px;height:65px;font-size:12px;border-width:1px}footer p{font:10px 'DM Mono';letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,120px);background:var(--paper);color:var(--ink);padding:16px 23px;font:11px 'DM Mono';letter-spacing:1px;transition:transform .3s;z-index:40}.toast.visible{transform:translate(-50%,0)}@media(max-width:800px){.nav{height:72px}.brand{width:64px;height:64px;font-size:12px}.nav nav{gap:16px}.nav nav a{font-size:8px;letter-spacing:1px}.bag span{display:none}.hero{min-height:780px;padding-bottom:48px}.hero-media{background-position:65% center}.hero-copy{width:100%;padding-top:120px}.hero-bottom{display:block}.hero-bottom p{max-width:260px;margin-bottom:22px}.pager{display:none}.hero-place{font-size:7px}.intro{padding:95px 7vw}.section-heading{display:block}.section-heading h2{margin:15px 0 22px;white-space:normal}.section-heading>a{display:inline-block}.catalog{padding:75px 5vw}.products{grid-template-columns:1fr;gap:55px}.product-visual{height:480px}.manifesto{grid-template-columns:1fr}.manifesto-photo{height:420px}.manifesto-copy{padding:80px 8vw}.visit{padding:90px 8vw}.visit-grid{grid-template-columns:1fr;gap:30px}.gold{justify-self:start}footer{gap:18px}footer p{display:none}}


.nav-balance { display: block; width: 64px; }
@media (max-width: 800px) { .nav-balance { width: 18px; } }


/* Approved “El local” reference: implementation follows the generated desktop composition. */
.visit {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(92px, 9vw, 146px) 5vw 0;
  background: #0b0a09;
}
.visit::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: '';
  opacity: .5;
  background: linear-gradient(90deg, rgba(6,6,5,.94), rgba(6,6,5,.66)), url('assets/hero-marble-v2.png') center / cover;
}
.visit-shell, .footer-shell { width: min(100%, 1520px); margin: 0 auto; }
.visit-main { display: grid; grid-template-columns: minmax(0, .98fr) minmax(380px, .9fr); gap: clamp(48px, 7.7vw, 136px); align-items: start; padding-bottom: clamp(70px, 8vw, 128px); }
.visit-copy { padding-top: clamp(45px, 7vw, 118px); }
.visit-mark { display: flex; align-items: center; gap: 29px; margin: 0 0 53px; color: #d5a75f; font: 500 11px/1 'DM Mono', monospace; letter-spacing: .32em; text-transform: uppercase; }
.visit-mark::after { width: 65px; height: 1px; content: ''; background: #c99955; }
.visit h2 { max-width: 7.4ch; margin: 0; color: #f2eee5; font: 500 clamp(58px, 6.65vw, 108px)/.87 'Playfair Display', Georgia, serif; letter-spacing: -.062em; text-wrap: balance; }
.visit h2 i { font-style: italic; }
.visit-intro { max-width: 31ch; margin: 48px 0 0; color: #e4ddd2; font: 500 clamp(19px, 1.55vw, 24px)/1.4 'Playfair Display', Georgia, serif; }
.visit-photo { min-height: 530px; aspect-ratio: 4 / 5; margin: 0; overflow: hidden; background: #15120f; }
.visit-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 56% center; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.visit-photo:hover img { transform: scale(1.025); }
.visit-details { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .96fr) auto; gap: clamp(24px, 4vw, 70px); align-items: center; padding: 35px 0 42px; border-top: 1px solid #af844b; }
.visit-detail { display: flex; align-items: center; gap: 22px; min-width: 0; }
.visit-detail + .visit-detail { padding-left: clamp(24px, 4vw, 70px); border-left: 1px solid rgba(214, 167, 95, .48); }
.visit-detail svg { flex: 0 0 28px; width: 28px; height: 28px; fill: none; stroke: #d5a75f; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.25; }
.visit-detail p { margin: 0; color: #f0e9dc; font: 500 clamp(15px, 1.3vw, 20px)/1.45 'Playfair Display', Georgia, serif; }
.visit-detail strong { display: block; margin-bottom: 8px; color: #d5a75f; font: 500 9px/1 'DM Mono', monospace; letter-spacing: .25em; text-transform: uppercase; }
.visit-detail span, .footer-location span, .footer-bottom span { color: #d5a75f; }
.visit-action { display: inline-flex; align-items: center; justify-content: space-between; gap: 44px; min-width: 216px; padding: 19px 20px; border: 1px solid #d5a75f; color: #f2eee5; font: 500 10px/1 'DM Mono', monospace; letter-spacing: .17em; text-decoration: none; text-transform: uppercase; transition: color .25s ease, background .25s ease, transform .25s ease; }
.visit-action span { font: 23px/1 Georgia, serif; }
.visit-action:hover { color: #0a0908; background: #f2eee5; border-color: #f2eee5; transform: translateY(-3px); }
.visit-action:focus-visible, .footer-logo:focus-visible, .footer-nav a:focus-visible { outline: 2px solid #d5a75f; outline-offset: 6px; }

.site-footer { position: relative; overflow: hidden; padding: 0 5vw; background: #080807; }
.site-footer::before { position: absolute; inset: 0; content: ''; pointer-events: none; opacity: .54; background: linear-gradient(90deg, rgba(6,6,5,.92), rgba(6,6,5,.58)), url('assets/hero-marble-v2.png') center / cover; }
.footer-shell { position: relative; }
.footer-primary { display: grid; grid-template-columns: minmax(250px, 1.24fr) minmax(320px, .76fr); gap: clamp(62px, 12vw, 220px); align-items: center; min-height: 365px; padding: 58px 0; border-top: 1px solid #b58a50; }
.footer-logo { display: block; width: min(100%, 254px); transition: transform .25s ease; }
.footer-logo:hover { transform: rotate(-2deg) scale(1.025); }
.footer-logo img { display: block; width: 100%; height: auto; border-radius: 50%; }
.footer-content { align-self: center; }
.footer-nav { display: grid; gap: 20px; }
.footer-nav a { width: fit-content; color: #f1ebe0; font: 500 clamp(22px, 2vw, 32px)/1.05 'Playfair Display', Georgia, serif; text-decoration: none; transition: color .2s ease, transform .2s ease; }
.footer-nav a:hover { color: #d5a75f; transform: translateX(5px); }
.footer-nav a span { color: #d5a75f; font-size: .82em; }
.footer-location { margin: 47px 0 0; color: #d9bf92; font: 500 10px/1.5 'DM Mono', monospace; letter-spacing: .29em; text-transform: uppercase; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 26px 0 30px; border-top: 1px solid rgba(213,167,95,.67); }
.footer-bottom p { margin: 0; color: #c7bdae; font: 500 9px/1.55 'DM Mono', monospace; letter-spacing: .22em; text-transform: uppercase; }

@media (max-width: 860px) {
  .visit { padding: 78px 6vw 0; }
  .visit-main { grid-template-columns: 1fr; gap: 54px; padding-bottom: 66px; }
  .visit-copy { padding-top: 0; }
  .visit-mark { margin-bottom: 28px; }
  .visit h2 { max-width: 7.8ch; font-size: clamp(54px, 14.6vw, 84px); }
  .visit-intro { margin-top: 30px; font-size: 19px; }
  .visit-photo { min-height: 0; aspect-ratio: 4 / 5; }
  .visit-details { grid-template-columns: 1fr; gap: 25px; padding: 28px 0 36px; }
  .visit-detail + .visit-detail { padding: 25px 0 0; border-top: 1px solid rgba(214, 167, 95, .38); border-left: 0; }
  .visit-action { width: 100%; margin-top: 5px; }
  .site-footer { padding: 0 6vw; }
  .footer-primary { grid-template-columns: 1fr; gap: 56px; min-height: 0; padding: 64px 0 52px; }
  .footer-logo { width: min(54vw, 205px); }
  .footer-nav { grid-template-columns: 1fr 1fr; gap: 20px 34px; }
  .footer-nav a { font-size: 25px; }
  .footer-location { margin-top: 40px; font-size: 9px; line-height: 1.8; }
  .footer-bottom { display: grid; gap: 11px; padding: 22px 0 25px; }
  .footer-bottom p { font-size: 8px; letter-spacing: .16em; }
}

@media (prefers-reduced-motion: reduce) {
  .visit-photo img, .visit-action, .footer-logo, .footer-nav a { transition: none; }
}
