:root{--ink:#171514;--paper:#f5f3ef;--muted:#817c75;--gold:#c6b089;--line:rgba(23,21,20,.16);--white:#fff;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.7}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}.container{width:min(calc(100% - 48px),var(--max));margin:auto}.site-header{position:absolute;z-index:5;inset:0 0 auto;color:var(--white);border-bottom:1px solid rgba(255,255,255,.22)}.header-inner{height:94px;display:flex;align-items:center;justify-content:space-between}.brand img{width:164px;height:auto}.main-nav{display:flex;align-items:center;gap:32px;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.main-nav a{transition:color .25s ease}.main-nav a:hover{color:var(--gold)}.nav-cta{border:1px solid var(--gold);padding:9px 17px;color:var(--gold)}.nav-toggle,.nav-button{display:none}.hero{min-height:760px;height:100svh;max-height:950px;position:relative;display:grid;align-items:center;overflow:hidden;color:var(--white);background:#272321}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%;animation:heroZoom 14s ease-out both}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.2) 68%,rgba(0,0,0,.35))}.hero-content{position:relative;padding-top:80px}.eyebrow{margin:0 0 20px;color:var(--gold);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.eyebrow-dark{color:#8e7650}.hero h1{max-width:680px;margin:0 0 22px;font-family:"Playfair Display",serif;font-size:clamp(58px,8vw,108px);font-weight:500;line-height:.97;letter-spacing:-.03em}.hero h1 em,h2 em{font-weight:500;color:var(--gold)}.hero-lead{max-width:570px;margin:0 0 34px;font-size:18px;line-height:1.55}.hero-actions,.visit-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.button{display:inline-block;padding:13px 22px;border:1px solid transparent;font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--gold);color:var(--ink)}.button-primary:hover{background:#dfc99e}.button-ghost{border-color:rgba(255,255,255,.65);color:var(--white)}.button-ghost:hover{background:var(--white);color:var(--ink)}.button-dark{background:var(--ink);color:var(--white)}.button-dark:hover{background:#423b36}.scroll-cue{position:absolute;bottom:32px;left:50%;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.75);font-size:10px;letter-spacing:.16em;text-transform:uppercase;transform:translateX(-50%);white-space:nowrap}.scroll-cue span{display:block;width:34px;height:1px;background:var(--gold)}.section{padding:125px 0}.intro-grid,.ritual-grid,.wine-grid,.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(42px,8vw,120px);align-items:center}.section-heading h2,.ritual-copy h2{margin:0;font-family:"Playfair Display",serif;font-size:clamp(38px,5vw,66px);font-weight:500;line-height:1.08;letter-spacing:-.025em}.section-heading>p:last-child{max-width:550px;margin:24px auto 0;color:var(--muted)}.intro-copy{max-width:560px;color:#514d48;font-size:17px}.intro-copy p{margin:0 0 20px}.section-dark{background:var(--ink);color:var(--white)}.ritual{padding:110px 0}.ritual-image{position:relative;max-width:480px}.ritual-image:after{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--gold);z-index:0}.ritual-image img{position:relative;z-index:1;aspect-ratio:3/4;object-fit:cover}.ritual-copy{max-width:500px}.ritual-copy h2{margin-bottom:28px}.ritual-copy>p:not(.eyebrow){color:#c2beb8}.text-link{display:inline-flex;gap:12px;align-items:center;margin-top:18px;color:var(--gold);font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.text-link span{font-size:19px;line-height:1}.cuts{background:#ebe8e2}.centered{text-align:center;max-width:800px;margin:0 auto 48px}.cut-list{display:flex;justify-content:center;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cut-list span{padding:25px 30px;border-right:1px solid var(--line);font-family:"Playfair Display",serif;font-size:20px}.cut-list span:last-child{border-right:0}.wine{background:#fff}.wine-copy{max-width:500px}.wine-copy h2{margin:0 0 24px;font-family:"Playfair Display",serif;font-size:clamp(38px,5vw,62px);font-weight:500;line-height:1.1}.wine-copy p{color:var(--muted)}.wine-image{margin:0;position:relative}.wine-image img{width:100%;aspect-ratio:3/4;object-fit:cover}.wine-image figcaption{padding:13px 0 0;color:var(--muted);font-size:12px}.gallery{padding-bottom:135px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:16px}.gallery-grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.86);transition:filter .35s ease,transform .35s ease}.gallery-grid img:hover{filter:saturate(1.1);transform:scale(1.015)}.gallery-tall{grid-row:span 2}.gallery-wide{grid-column:span 2}.visit{background:var(--gold)}.visit .section-heading h2{max-width:540px}.visit-details{border-left:1px solid rgba(23,21,20,.35);padding-left:clamp(30px,6vw,90px)}.visit-details p{margin:0 0 24px;color:#4c4338}.visit-details strong{color:var(--ink)}.visit-details a{text-decoration:underline;text-underline-offset:3px}.visit-actions{margin-top:30px}.text-link-dark{color:var(--ink)}.site-footer{background:#24201e;color:var(--white);padding:62px 0 24px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:30px}.footer-grid>p{margin:0;color:#c4bcae;font-family:"Playfair Display",serif;font-size:20px;line-height:1.35}.footer-phone{text-align:right;color:var(--gold);font-size:15px}.footer-bottom{display:flex;justify-content:space-between;margin-top:58px;padding-top:18px;border-top:1px solid rgba(255,255,255,.15);color:#8e8982;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}@keyframes reveal{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}.reveal{animation:reveal linear both;animation-timeline:view();animation-range:entry 8% cover 34%}@supports not (animation-timeline:view()){.reveal{animation:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image,.reveal{animation:none}}
@media (max-width:800px){.container{width:min(calc(100% - 36px),var(--max))}.header-inner{height:78px}.brand img{width:135px}.nav-button{display:flex;width:40px;height:40px;flex-direction:column;justify-content:center;gap:5px;cursor:pointer}.nav-button span{display:block;width:24px;height:1px;background:var(--white);transition:transform .2s ease}.main-nav{position:absolute;top:78px;left:18px;right:18px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px;background:rgba(23,21,20,.97);box-shadow:0 15px 30px rgba(0,0,0,.25)}.main-nav a{padding:13px 16px}.main-nav .nav-cta{text-align:center;margin:8px}.nav-toggle:checked~.main-nav{display:flex}.nav-toggle:checked~.nav-button span:first-child{transform:translateY(6px) rotate(45deg)}.nav-toggle:checked~.nav-button span:nth-child(2){opacity:0}.nav-toggle:checked~.nav-button span:last-child{transform:translateY(-6px) rotate(-45deg)}.hero{min-height:670px}.hero-content{padding-top:65px}.hero h1{font-size:clamp(56px,16vw,85px)}.hero-lead{font-size:16px;max-width:440px}.section{padding:82px 0}.intro-grid,.ritual-grid,.wine-grid,.visit-grid{grid-template-columns:1fr;gap:42px}.ritual{padding:82px 0}.ritual-image{max-width:390px;margin:0 auto}.ritual-copy{max-width:none}.cuts{padding-bottom:86px}.cut-list{justify-content:flex-start}.cut-list span{width:50%;padding:18px 8px;border-right:0;border-bottom:1px solid var(--line);font-size:18px;text-align:center}.cut-list span:last-child,.cut-list span:nth-last-child(2){border-bottom:0}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px;gap:10px}.gallery-wide{grid-column:span 2}.visit-details{border-left:0;border-top:1px solid rgba(23,21,20,.35);padding:30px 0 0}.footer-grid{grid-template-columns:1fr;gap:24px}.footer-phone{text-align:left}.footer-bottom{margin-top:40px;gap:12px;flex-direction:column}}
@media (max-width:420px){.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{width:100%;text-align:center}.scroll-cue{bottom:20px}.gallery-grid{grid-auto-rows:145px}.gallery-grid img{min-width:0}}

/* Refinements: balanced desktop headings, carta dropdown and direct WhatsApp contact. */
.section-heading h2,.ritual-copy h2,.wine-copy h2{font-size:clamp(38px,4.4vw,60px);text-wrap:balance;overflow-wrap:normal}
.hero-overlay{background:linear-gradient(to top,rgba(0,0,0,.86) 0%,rgba(0,0,0,.48) 32%,rgba(0,0,0,.12) 64%,rgba(0,0,0,.24) 100%),linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.12) 68%,rgba(0,0,0,.28))}
.hero-content{position:absolute!important;z-index:1;top:36%!important;right:0;bottom:auto!important;left:0;align-self:auto!important;padding:0;text-align:center}.hero-content .hero-actions{justify-content:center}.hero-context{margin:0 0 12px;color:var(--gold);font-family:Montserrat,Arial,sans-serif;font-size:clamp(13px,1.25vw,18px);font-weight:600;font-style:normal;letter-spacing:.08em;line-height:1.4;text-transform:uppercase}.hero h1{max-width:none;margin-bottom:20px;font-size:clamp(48px,5vw,78px);white-space:nowrap}
.hero-overlay{display:none!important}
.hero-brand{position:absolute;z-index:1;top:13%;left:50%;display:flex;flex-direction:column;align-items:center;gap:5px;transform:translateX(-50%);color:var(--gold);text-align:center}.hero-brand img{width:clamp(112px,11vw,160px);height:auto;object-fit:contain}.hero-brand span{font-family:Cinzel,serif;font-size:clamp(25px,3.2vw,46px);font-weight:600;letter-spacing:.04em;line-height:1}
.visit-logo{width:108px;height:108px;object-fit:contain;margin:0 0 28px}
.centered{max-width:900px}
.menu-group{position:relative;height:94px;display:flex;align-items:center}
.menu-label{cursor:default;white-space:nowrap}
.menu-label b{color:var(--gold);font-size:14px;font-weight:400;margin-left:3px}
.menu-dropdown{position:absolute;top:72px;left:-18px;display:grid;min-width:220px;padding:8px;background:rgba(23,21,20,.98);border-top:1px solid var(--gold);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;box-shadow:0 14px 28px rgba(0,0,0,.2)}
.menu-group:hover .menu-dropdown,.menu-group:focus-within .menu-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.menu-dropdown a{display:flex;justify-content:space-between;gap:14px;padding:10px 12px;color:var(--white);font-size:10px;letter-spacing:.1em}
.menu-dropdown a:hover{background:rgba(198,176,137,.14)}
.menu-dropdown span{color:var(--gold);font-size:9px}
.whatsapp-float{position:fixed;z-index:20;right:28px;bottom:28px;display:flex;align-items:center;gap:10px}
.whatsapp-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#25d366;color:#fff;font-family:Arial,sans-serif;font-size:31px;font-weight:700;line-height:1;box-shadow:0 10px 26px rgba(37,211,102,.28);transition:transform .25s ease,box-shadow .25s ease}
.whatsapp-float:hover .whatsapp-icon{transform:scale(1.06);box-shadow:0 12px 30px rgba(37,211,102,.42)}
.whatsapp-bubble{padding:9px 15px;border-radius:22px;background:#fff;color:#3f3b37;font-size:12px;box-shadow:0 8px 25px rgba(0,0,0,.13);white-space:nowrap}
@media (max-width:800px){
  .main-nav .menu-group{height:auto;padding:13px 16px}
  .main-nav .menu-dropdown{position:static;display:grid;min-width:0;margin:8px -8px -8px;padding:0;background:transparent;border-top:0;opacity:1;visibility:visible;transform:none;box-shadow:none}
  .main-nav .menu-dropdown a{padding:10px 12px}
  .whatsapp-float{right:18px;bottom:18px}.whatsapp-bubble{display:none}.whatsapp-icon{width:58px;height:58px;font-size:35px}
}
.button-outline{background:transparent;border:1px solid currentColor}.button-outline-gold{color:var(--gold)}.button-outline-gold:hover{background:var(--gold);color:var(--ink)}.button-outline-dark{color:var(--ink)}.button-outline-dark:hover{background:var(--ink);color:var(--gold)}
.visit-details .button{text-decoration:none}.ritual-copy .button{margin-top:18px}
.whatsapp-icon{font-size:30px;transform:none}.whatsapp-float:hover .whatsapp-icon{transform:scale(1.06)}
@media (max-width:800px){.hero-content{top:39%!important;right:18px;bottom:auto!important;left:18px}.hero-context{display:none}.hero h1{max-width:460px;margin:0 auto 22px;font-size:clamp(34px,8vw,44px);line-height:1.04;letter-spacing:-.02em;white-space:normal}.hero-actions{gap:12px}}
@media (max-width:800px){.hero-brand{top:14%;gap:3px}.hero-brand img{width:clamp(92px,27vw,128px)}.hero-brand span{font-size:clamp(22px,6.5vw,31px);letter-spacing:.03em}}

/* SEO content blocks: authority, local intent and product expertise. */
.authority{background:#fff}
.authority-grid,.tbone-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(42px,8vw,120px);align-items:center}
.authority-copy{max-width:560px;color:#514d48;font-size:17px}
.authority-copy p{margin:0 0 20px}
.proof-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:82px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.proof-strip div{display:flex;flex-direction:column;gap:5px;padding:25px 24px;border-right:1px solid var(--line)}
.proof-strip div:last-child{border-right:0}
.proof-strip strong{font-family:"Playfair Display",serif;font-size:23px;font-weight:500}
.proof-strip span{color:var(--muted);font-size:12px;line-height:1.45}
.tbone{padding:115px 0}
.tbone-copy{max-width:570px}
.tbone-copy h2{margin:0 0 27px;font-family:"Playfair Display",serif;font-size:clamp(40px,5vw,68px);font-weight:500;line-height:1.08;letter-spacing:-.025em}
.tbone-copy>p:not(.eyebrow){color:#c2beb8}
.tbone-note{display:flex;flex-direction:column;justify-content:center;min-height:260px;padding:42px;border:1px solid rgba(198,176,137,.65);color:var(--gold)}
.tbone-note span{font-family:"Playfair Display",serif;font-size:78px;line-height:.55}
.tbone-note p{max-width:390px;margin:25px 0 0;font-family:"Playfair Display",serif;font-size:clamp(25px,3vw,38px);line-height:1.2}
.visit-note{max-width:480px!important;color:#4c4338!important;font-size:17px}
@media (max-width:800px){
  .authority-grid,.tbone-grid{grid-template-columns:1fr;gap:30px}
  .proof-strip{display:none}
  .proof-strip{grid-template-columns:1fr;margin-top:52px}
  .proof-strip div{border-right:0;border-bottom:1px solid var(--line)}
  .proof-strip div:last-child{border-bottom:0}
  .tbone{padding:82px 0}
  .tbone-note{min-height:210px;padding:30px}
  .visit-note{font-size:16px}
}

/* Reputation section: curated 5-star public reviews without dynamic scripts. */
.reviews{background:#ebe8e2;color:var(--ink)}
.reviews-heading{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(260px,.65fr);gap:clamp(28px,6vw,80px);align-items:end;margin-bottom:46px}
.reviews-heading h2{max-width:640px;margin:0;font-family:"Playfair Display",serif;font-size:clamp(38px,4.4vw,60px);font-weight:500;line-height:1.08;letter-spacing:-.025em;text-wrap:balance}
.reviews-heading>p{margin:0;color:#514d48;font-size:17px}
.reviews-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:stretch}
.review-card{display:flex;min-height:280px;flex-direction:column;justify-content:space-between;padding:24px 20px;border-top:1px solid rgba(23,21,20,.2);border-bottom:1px solid rgba(23,21,20,.2);background:rgba(255,255,255,.24)}
.review-source{display:flex;align-items:center;justify-content:flex-end;margin-bottom:18px;color:#514d48}
.review-source .fa-google{color:#4285F4;font-size:16px;letter-spacing:0;text-transform:none}
.review-stars{margin-bottom:18px;color:#FBBC05;font-size:15px;letter-spacing:.08em;line-height:1;text-shadow:0 1px 0 rgba(0,0,0,.05)}
.review-card blockquote{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:#37322d;font-family:Roboto,Montserrat,Arial,sans-serif;font-size:16px;font-weight:300;line-height:1.65}
.review-card footer{display:grid;gap:6px;margin-top:30px;color:#514d48}
.review-card strong{color:var(--ink);font-size:12px;letter-spacing:.12em;line-height:1.35;text-transform:uppercase}
.review-card span{font-size:11px;line-height:1.35}
.reviews-action{display:flex;justify-content:center;margin-top:34px}
@media (max-width:1100px){.reviews-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:920px){.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:800px){
  .reviews-heading,.reviews-grid{grid-template-columns:1fr}
  .reviews-grid{row-gap:56px}
  .reviews-heading{margin-bottom:32px}
  .review-card{min-height:0;padding:32px 28px}
  .review-card blockquote{font-size:16px;line-height:1.7}
  .review-card footer{display:grid;gap:5px;margin-top:34px}
  .reviews-action{justify-content:flex-start;margin-top:38px}
}

/* Gallery enlargement without JavaScript: contained, accessible and conversion-safe. */
.gallery-grid a{display:block;min-width:0;height:100%;overflow:hidden;color:inherit}
.gallery-grid a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.gallery-lightbox{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:clamp(18px,4vw,48px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
.gallery-lightbox:target{opacity:1;visibility:visible;pointer-events:auto}
.gallery-lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(3px)}
.gallery-lightbox figure{position:relative;z-index:1;width:min(980px,92vw);max-height:88svh;margin:0;padding:14px;background:#171514;box-shadow:0 24px 70px rgba(0,0,0,.42)}
.gallery-lightbox img{width:100%;max-height:76svh;object-fit:contain;background:#0f0e0d}
.gallery-lightbox figcaption{padding:12px 42px 2px 2px;color:#c4bcae;font-size:12px;line-height:1.45}
.gallery-close{position:absolute;right:16px;bottom:12px;display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:var(--white);font-size:20px;line-height:1;text-decoration:none;transition:border-color .2s ease,color .2s ease,background .2s ease}
.gallery-close:hover{border-color:var(--gold);background:rgba(198,176,137,.1);color:var(--gold)}
@media (max-width:800px){
  .gallery-lightbox{padding:18px}
  .gallery-lightbox figure{width:min(620px,94vw);padding:10px}
  .gallery-lightbox img{max-height:70svh}
  .gallery-lightbox figcaption{padding-right:38px}
}

/* Footer social buttons: quiet circular icon treatment inspired by Scrolltide. */
.footer-contact{display:grid;justify-items:end;gap:13px}
.footer-social{display:flex;align-items:center;justify-content:flex-end;gap:13px}
.site-footer .footer-social .social-link{display:inline-flex;align-items:center;justify-content:center;width:43px;height:43px;border:1px solid rgba(255,255,255,.13);border-radius:50%;color:#d4cec4;background:transparent;font-size:17px;line-height:1;text-decoration:none;transition:border-color .22s ease,color .22s ease,background-color .22s ease,transform .22s ease}
.site-footer .footer-social .social-link i{display:block;width:1em;height:1em;line-height:1;text-align:center}
.site-footer .footer-social .social-link:hover{border-color:var(--gold);background-color:rgba(198,176,137,.08);color:var(--gold);transform:translateY(-2px)}
@media (max-width:800px){.footer-contact{justify-items:start}.footer-social{justify-content:flex-start;gap:12px}.site-footer .footer-social .social-link{width:42px;height:42px;font-size:16px}}
