/* ==========================================================================
   Lieben Wine & Spirits - static site stylesheet
   Palette, typography and section designs follow the original theme.
   Image locations: ../content/img/  (theme images)  and  ../content/uploads/
   ========================================================================== */

/* ---------- Fonts (self-hosted) ---------- */
@font-face{font-family:"Baskervville";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/baskervville-400.woff2) format("woff2")}
@font-face{font-family:"Baskervville";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/baskervville-400-italic.woff2) format("woff2")}
@font-face{font-family:"Baskervville";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/baskervville-600.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/nunito-sans-400.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/nunito-sans-600.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/nunito-sans-700.woff2) format("woff2")}

/* ---------- Tokens ---------- */
:root{
  --cream:#f0ece6; --sand:#e8e1d7; --gold:#edc75e; --gold-dark:#b8952a;
  --ink:#231f20; --black:#000; --grey:#505050; --grey-mid:#595959; --grey-light:#767575;
  --orange:#d7682d; --navy:#2e3153; --teal:#207a78; --red:#a30000;
  --serif:"Baskervville","Baskerville","Baskerville Old Face","Hoefler Text",Georgia,serif;
  --sans:"Nunito Sans","Segoe UI",Helvetica,Arial,sans-serif;
  --nav-h:4.6rem;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{font-size:14px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (min-width:768px){html{font-size:15px}}
@media (min-width:992px){html{font-size:16px}}
@media (min-width:1200px){html{font-size:17px}}
@media (min-width:1500px){html{font-size:19px}}
@media (min-width:1800px){html{font-size:21px}}
@media (min-width:1920px){html{font-size:22px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;padding-top:var(--nav-h);background:var(--cream);color:var(--ink);
  font-family:var(--serif);font-size:1rem;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.no-scroll{overflow:hidden}
[hidden]{display:none!important}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:.3s ease color,.3s ease background-color,.3s ease border-color}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold-dark);outline-offset:3px}
p{margin:0 0 1rem;letter-spacing:.03rem}
h1,h2,h3,h4,h5,h6{margin:0 0 1rem;font-weight:400}
.skip-link{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--ink);padding:.6rem 1rem;z-index:1000;font-family:var(--sans);font-size:.8rem}
.skip-link:focus{left:0}
.container{width:min(72rem,100% - 3rem);margin-inline:auto}
.container-narrow{width:min(46rem,100% - 3rem);margin-inline:auto}
.text-center{text-align:center}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Headings: uppercase, spaced, short gold rule (as in the original theme) */
h2,.h2{font-size:2.2rem;letter-spacing:.2rem;font-weight:500;text-transform:uppercase;position:relative;padding-bottom:.8rem;margin-bottom:1.2rem;line-height:1.15}
h2::after,.h2::after{content:"";display:block;position:absolute;left:0;bottom:0;width:4.2rem;height:1px;background:var(--gold)}
.text-center h2::after,h2.text-center::after,.h2.text-center::after,.text-center .h2::after{left:50%;transform:translateX(-50%)}
.text-right h2::after{left:auto;right:0}
h3,.h3{font-size:2rem;letter-spacing:.1rem;font-weight:500;text-transform:uppercase;line-height:1.15}
h4,.h4{font-size:1.5rem;line-height:1.4}
h5,.h5{font-family:var(--sans);text-transform:uppercase;font-size:.75rem;letter-spacing:.1em}
h6,.h6{font-size:1.4rem;letter-spacing:.09rem;line-height:1.35}
.eyebrow{font-family:var(--sans);font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--grey-light);margin-bottom:.6rem}

/* Buttons */
.btn{display:inline-block;font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  padding:.85rem 1.7rem;border:1px solid var(--ink);color:var(--ink);background:transparent;cursor:pointer;line-height:1.2}
.btn:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.btn-light{border-color:#fff;color:#fff}
.btn-light:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.btn-gold{background:var(--gold);border-color:var(--gold)}
.btn-gold:hover{background:var(--ink);border-color:var(--ink);color:#fff}

/* ---------- Navigation ---------- */
#nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);background:#fff;z-index:50;box-shadow:0 1px 0 rgba(0,0,0,.07)}
.nav-inner{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.menus{display:contents}
.menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;height:100%}
.menu li{margin:0;height:100%}
.menu a{display:flex;align-items:center;height:100%;font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);padding:0 1.4rem}
.menu a:hover{color:var(--ink)}
.menu .active a{color:var(--gold-dark)}
.menu-left{grid-column:1;grid-row:1;justify-content:flex-end;padding-right:1.5rem}
.menu-right{grid-column:3;grid-row:1;justify-content:flex-start;padding-left:1.5rem}
.menu-right .nav-cta{margin-left:auto}
.menu-right{width:100%}
.menu-right .nav-cta a{background:var(--gold);color:var(--ink);padding:0 1.6rem;font-weight:700}
.menu-right .nav-cta a:hover{background:var(--ink);color:#fff}
.logo{grid-column:2;grid-row:1;display:block;text-align:center;line-height:1;padding:0 1rem}
.logo .lieben{display:block;font-size:2.6rem;letter-spacing:.3rem;color:var(--ink);margin-right:-.3rem}
.logo .sub{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-top:.45rem;font-family:var(--sans);font-size:.5rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--ink)}
.logo .diamond{width:.32rem;height:.32rem;background:var(--ink);transform:rotate(45deg);flex:none}
.navtoggle{display:none}

@media (max-width:991px){
  :root{--nav-h:4rem}
  .nav-inner{grid-template-columns:3.2rem 1fr 3.2rem}
  .navtoggle{display:flex;grid-column:1;grid-row:1;align-items:center;justify-content:center;width:3.2rem;height:100%;background:var(--gold);border:0;cursor:pointer;padding:0}
  .navtoggle span,.navtoggle span::before,.navtoggle span::after{display:block;width:1.2rem;height:2px;background:var(--ink);position:relative;content:"";transition:.25s ease transform,.25s ease opacity}
  .navtoggle span::before{position:absolute;top:-.4rem}
  .navtoggle span::after{position:absolute;top:.4rem}
  .nav-open .navtoggle span{background:transparent}
  .nav-open .navtoggle span::before{transform:translateY(.4rem) rotate(45deg)}
  .nav-open .navtoggle span::after{transform:translateY(-.4rem) rotate(-45deg)}
  .logo{grid-column:2}
  .logo .lieben{font-size:2rem}
  .menus{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:.6rem 0 1.2rem;box-shadow:0 12px 24px rgba(0,0,0,.12)}
  .nav-open .menus{display:block}
  .no-js .menus{display:block;position:static;box-shadow:none}
  .menu{display:block;height:auto;padding:0}
  .menu li{height:auto}
  .menu a{height:auto;padding:.7rem 1.5rem;font-size:.8rem}
  .menu-left,.menu-right{padding:0;width:auto}
  .menu-right .nav-cta a{display:inline-flex;margin:.6rem 1.5rem 0;padding:.8rem 1.4rem}
}

/* ---------- Age gate ---------- */
#agegate{position:fixed;inset:0;z-index:9999;display:none}
#agegate.show{display:block}
#agegate .age-overlay{position:absolute;inset:0;background:rgba(35,31,32,.78)}
#agegate .age-content{position:relative;background:#fff;width:min(36rem,100% - 2rem);max-height:90%;overflow:auto;margin:6vh auto 0;padding:3.5rem 2.5rem;text-align:center}
#agegate h3{font-size:2.6rem;margin-bottom:.4rem;padding:0;letter-spacing:.15rem}
#agegate h6{margin-bottom:2rem;font-size:1.25rem}
#agegate .age-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}
#agegate .age-under{display:inline-block;margin-top:1.4rem;color:#8a8a8a;font-family:var(--sans);font-size:.75rem;font-weight:700;text-decoration:underline;background:none;border:0;cursor:pointer}
#agegate .age-msg{display:none;margin-top:1.4rem;color:var(--red);font-family:var(--sans);font-size:.85rem}
#agegate.denied .age-msg{display:block}
#agegate .age-note{margin:1.6rem 0 0;font-family:var(--sans);font-size:.7rem;color:#8a8a8a}

/* ---------- Sliders (vanilla) ---------- */
.slider{position:relative;--per:3}
.slider-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:0}
.slider-track::-webkit-scrollbar{display:none}
.slide{flex:0 0 calc(100% / var(--per));scroll-snap-align:start;padding:0 .4rem;min-width:0}
.slider-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:2.6rem;height:2.6rem;border-radius:50%;border:1px solid var(--gold);background:rgba(255,255,255,.92);color:var(--ink);cursor:pointer;font-size:1.3rem;line-height:1;display:flex;align-items:center;justify-content:center;padding:0 0 .15rem}
.slider-btn:hover{background:var(--gold)}
.slider-btn[disabled]{opacity:.3;cursor:default;pointer-events:none}
.slider-btn.prev{left:-1.3rem}
.slider-btn.next{right:-1.3rem}
@media (max-width:991px){.slider{--per:2}.slider-btn.prev{left:.3rem}.slider-btn.next{right:.3rem}}
@media (max-width:600px){.slider{--per:1}}

/* ---------- Home ---------- */
.hero{position:relative;background:#3a3a3a center/cover no-repeat;color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:clamp(30rem,56vw,56rem)}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.05) 45%,rgba(0,0,0,.35))}
.hero>*{position:relative}
.hero-copy{padding:clamp(3rem,10vw,9rem) 0 2rem}
.hero-copy h1{font-size:clamp(1.7rem,3.4vw,3rem);line-height:1.25;max-width:34rem;font-weight:400;letter-spacing:.02rem;text-shadow:0 1px 18px rgba(0,0,0,.45)}
.hero-slider{padding-bottom:0}
.hero-slider .slide img{width:100%;aspect-ratio:480/568;object-fit:cover}
.intro-bar{background:var(--grey);color:#fff;padding:1.2rem 0}
.intro-bar p{border-left:1px solid var(--gold);margin:0;padding:0 0 0 1.2rem;font-family:var(--sans);font-size:.95rem;line-height:1.6}

.home-wines{position:relative;z-index:2;width:70%;min-height:38rem;background:#222 center/cover no-repeat;color:#fff;margin-top:0}
.home-wines .inner{width:min(28rem,54%);margin:0 auto;padding:4rem 0 4rem;text-align:right}
.home-wines .inner h2{color:var(--gold)}
.home-wines .inner h2::after{left:auto;right:0}
.home-wines .inner p{color:#fff}
.home-wines .bottle{position:absolute;right:-10rem;top:50%;transform:translateY(-50%);width:20rem;height:37rem;object-fit:contain}
.home-gins{position:relative;z-index:1;margin:-10rem 0 0 auto;width:45%;min-height:52rem;padding:19rem 4rem 5rem;background:var(--navy) url(../content/img/pattern.png);background-size:5rem;color:#fff;margin-right:5%}
.home-gins h2{color:var(--gold)}
.home-gins p{color:#fff}
.home-gins .bottle{position:absolute;left:-32rem;bottom:3.5rem;width:35rem;height:32rem;object-fit:contain;object-position:right bottom}
.home-shop{padding:6rem 0 3rem;text-align:center}
.home-shop img{margin:2rem auto}
.home-global{background:#333 center/cover no-repeat;padding:6rem 0;margin:0 4rem 0 0;color:var(--ink)}
.home-global h3{margin-bottom:1rem}
.home-global .lede{max-width:34rem;margin-bottom:2.5rem}
.global-slide{background:#fff;height:100%}
.global-slide img{width:100%;aspect-ratio:16/10;object-fit:cover}
.global-slide .txt{padding:1.3rem 1.4rem 1.6rem}
.global-slide h4{font-size:1.3rem;text-transform:uppercase;letter-spacing:.08rem;margin-bottom:.5rem}
.global-slide p{font-family:var(--sans);font-size:.85rem;line-height:1.55}
.global-slide .btn{padding:.6rem 1.2rem}
.global-slider .slide{display:flex}
.global-slider .slide>.global-slide{width:100%}

@media (max-width:991px){
  .home-wines{width:100%;min-height:0}
  .home-wines .bottle{display:none}
  .home-wines .inner{width:min(28rem,80%);padding:4rem 0}
  .home-gins{width:100%;margin:0;padding:4.5rem 2rem;min-height:0}
  .home-gins .bottle{display:none}
  .home-gins>div{max-width:34rem;margin:0 auto}
  .home-global{margin-right:0}
}

/* ---------- Footer ---------- */
#footer{background:#000;color:#fff;padding:5rem 0 2.5rem;margin-top:0}
#footer .cols{display:grid;grid-template-columns:1.1fr 1fr 1.4fr 1fr;gap:2.5rem}
#footer p,#footer li,#footer address{font-family:var(--sans);font-size:.9rem;color:#fff;font-style:normal;line-height:1.6}
#footer ul{list-style:none;margin:0;padding:0}
#footer a:hover{color:var(--gold)}
#footer h5{color:var(--gold);margin-bottom:1rem}
#footer .awards img{margin-bottom:.9rem;max-width:194px}
#footer .footer-primary li{margin-bottom:1.3rem;text-transform:uppercase;letter-spacing:.06em}
#footer .footer-legal li{margin-bottom:1rem;text-transform:uppercase;letter-spacing:.06em}
#footer .footer-legal a{color:var(--grey-light)}
#footer .footer-legal a:hover{color:var(--gold)}
#footer .contact-line{margin-bottom:1.2rem}
#footer .contact-line strong{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:.1rem}
.social{display:flex;gap:.9rem;margin-top:1.2rem}
.social a{display:flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border:1px solid currentColor;border-radius:50%}
.social a:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.social svg{width:1.05rem;height:1.05rem}
#footer .footer-base{margin-top:3.5rem;padding-top:1.6rem;border-top:1px solid #2a2a2a;font-family:var(--sans);font-size:.72rem;color:var(--grey-light);letter-spacing:.04em}
#footer .footer-base p{margin:0;font-size:.72rem;color:var(--grey-light)}
@media (max-width:991px){#footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:600px){#footer .cols{grid-template-columns:1fr}#footer .awards{display:flex;flex-wrap:wrap;gap:1rem}#footer .awards img{margin:0;max-width:130px}}

/* ---------- Wines & Gins pages ---------- */
.wg-logo{display:block;margin:0 auto}
.wine-logo{width:5.8rem;height:2.5rem;background:url(../content/img/wine_logo.svg) no-repeat center/contain}
.gin-logo{width:5rem;height:5rem;background:url(../content/img/gin_logo.svg) no-repeat center/contain}
.wg-intro{padding:4rem 0 3rem;text-align:center}
.wg-intro .wg-logo{margin-bottom:0}
.wg-intro h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wg-intro h6{font-size:1.7rem;letter-spacing:.09rem;line-height:1.35;max-width:38rem;margin:0 auto}
.wine-origami{width:min(33rem,90%);height:6.25rem;margin:1rem auto 0;background:url(../content/img/wine_origami.svg) no-repeat center/contain}
.wg-band{position:relative;background:#111 center/cover no-repeat;color:#fff;padding:7rem 0;min-height:24rem;display:flex;align-items:center}
.wg-band::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.42)}
.wg-band .container{position:relative}
.wg-band h6{font-size:1.6rem;letter-spacing:.1rem;line-height:1.4;max-width:28rem}
.wg-band-intro{padding:6rem 0 5.5rem}
.wg-band .wg-logo{margin:0 auto 2.2rem;filter:brightness(0) invert(1)}
.wg-band .wine-logo{width:7.5rem;height:3.2rem}
.wg-band .gin-logo{width:6.5rem;height:6.5rem}
.origami-block{padding:4.5rem 0 3rem}
.wg-band.center .container{text-align:center}
.wg-band.center h6{margin:0 auto;max-width:40rem}
.wg-band.right .container{display:flex;justify-content:flex-end}
.wg-band.right h6{text-align:right}
.wg-band.gin-band{background-color:#0c0a0b;background-size:auto 100%;background-position:right center}
.wg-band.gin-band::before{background:none}
.red-note{padding:3.5rem 0;text-align:center}
.red-note p{max-width:42rem;margin:0 auto;font-size:1.15rem;line-height:1.55}

#wines-list{background:var(--grey-mid);padding:3rem 0 4rem;position:relative}
.wine-card{position:relative;display:grid;grid-template-columns:minmax(9rem,16rem) 1fr minmax(10rem,19rem);gap:3rem;align-items:center;background:var(--cream);width:min(64rem,100% - 3rem);margin:3.5rem auto;padding:3rem;box-shadow:0 1rem 2.4rem rgba(0,0,0,.18)}
.wine-card:first-child{margin-top:2.5rem}
.wine-card .wine-bottle{align-self:center;justify-self:center;margin:0;padding:0;display:flex;align-items:center;justify-content:center;width:100%}
.wine-card .wine-bottle img{width:100%;height:26rem;object-fit:contain;object-position:center;filter:drop-shadow(0 .8rem 1rem rgba(0,0,0,.25))}
.wine-card .wine-text h3{color:var(--ink);margin-bottom:.2rem;font-size:1.8rem}
.wine-card .wine-text h3::after{content:"";display:block;width:4.2rem;height:1px;background:var(--gold);margin-top:.7rem}
.wine-card .vintage{font-family:var(--sans);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--grey-light);margin:.9rem 0 1rem}
.wine-card .wine-text p{font-size:1.02rem;line-height:1.55}
.wine-card .wine-text .btn{margin-top:.6rem;vertical-align:top}
/* white-background pack shots: white blends into the cream card */
.wine-card .wine-bottle.blend img{mix-blend-mode:multiply;filter:none}
/* Quinta do Sul: bottle stands on the line of the bottom of the button (fine-tuned by js/main.js) */
.wine-card.bottle-base .wine-bottle{align-self:end}
/* side photos whose background already matches the card: no frame or shadow */
.wine-card .wine-image.plain{box-shadow:none}
.wine-card .wine-image{box-shadow:0 0 2rem rgba(0,0,0,.16);align-self:center}
.wine-card .wine-image img{width:100%;height:20rem;object-fit:cover}
.wine-card.reverse{grid-template-columns:minmax(10rem,19rem) 1fr minmax(9rem,16rem)}
.wine-card.reverse .wine-bottle{order:3}
.wine-card.reverse .wine-text{order:2;text-align:right}
.wine-card.reverse .wine-text h3::after{margin-left:auto}
.wine-card.reverse .wine-image{order:1}
.wine-card.no-bottle{grid-template-columns:1fr minmax(12rem,20rem);padding:3rem}
.wine-card.no-bottle.reverse{grid-template-columns:minmax(12rem,20rem) 1fr;padding:3rem}
.wine-card.no-bottle .wine-image img{height:26rem}
.wine-card.no-image{grid-template-columns:minmax(9rem,16rem) 1fr}
.wine-card.no-image.reverse{grid-template-columns:1fr minmax(9rem,16rem)}
@media (max-width:820px){
  .wg-band{padding:4rem 0;min-height:0}
  .wg-band.gin-band{background-image:none!important;background-color:#0c0a0b}
  #wines-list{padding:1.5rem 0 2.5rem}
  .wine-card,.wine-card.reverse,.wine-card.no-bottle,.wine-card.no-bottle.reverse,.wine-card.no-image,.wine-card.no-image.reverse{grid-template-columns:1fr;gap:1.4rem;padding:1.8rem 1.4rem;margin:2rem auto;width:min(40rem,100% - 2rem)}
  .wine-card .wine-bottle,.wine-card.reverse .wine-bottle{order:0;margin:0 auto;width:min(11rem,50%);padding:0}
  .wine-card .wine-bottle img{height:auto;max-height:24rem}
  .wine-card.bottle-base .wine-bottle{align-self:auto}
  .wine-card.reverse .wine-text,.wine-card .wine-text{order:1;text-align:left}
  .wine-card.reverse .wine-text h3::after{margin-left:0}
  .wine-card .wine-image,.wine-card.reverse .wine-image{order:2}
  .wine-card .wine-image img{height:auto;aspect-ratio:4/3}
}

.gin-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 0;margin:0 0 2rem;padding:0;list-style:none}
.gin-nav a{display:inline-block;font-family:var(--sans);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:rgba(0,0,0,.5);padding:0 2px .5rem;margin:0 .5rem;border-bottom:2px solid transparent}
.gin-nav a:hover,.gin-nav a.active{color:#000;border-bottom-color:#6c6e71}
.pattern-spy .gin-nav a{color:rgba(255,255,255,.55)}
.pattern-spy .gin-nav a:hover,.pattern-spy .gin-nav a.active{color:#fff;border-bottom-color:#a6a8b6}
#gins-list{padding:1rem 0 3rem;overflow-x:clip}
.gin-card{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:46rem;margin-top:3rem;background:transparent}
.gin-photo{background:#ccc center/cover no-repeat;min-height:100%}
.gin-card .gin-pattern{position:relative;z-index:2;padding:5rem 8rem 4rem 6rem;text-align:center;background-size:cover;background-position:center;color:#000;display:flex;flex-direction:column;justify-content:center}
.gin-card.gin-card-left .gin-pattern{order:1}
.gin-card.gin-card-left .gin-photo{order:2}
.gin-card.gin-card-right .gin-pattern{order:2;padding:5rem 6rem 4rem 8rem}
.gin-card.gin-card-right .gin-photo{order:1}
.gin-pattern h3{color:var(--orange);margin:0;padding:0}
.gin-pattern h4{color:#7d7c76;font-size:1.5rem;margin:.1rem 0 1.2rem;padding:0}
.pattern-spy h4{color:#a6a8b6}
.gin-pattern p{color:inherit;font-size:1.05rem}
.pattern-spy{color:#fff!important}
.gin-taste{margin:.4rem auto 1.4rem;max-width:26rem;text-align:left}
.gin-taste summary{cursor:pointer;font-family:var(--sans);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;list-style:none;text-align:center}
.gin-taste summary::-webkit-details-marker{display:none}
.gin-taste summary::after{content:" +"}
.gin-taste[open] summary::after{content:" \2212"}
.gin-taste p{margin-top:.8rem;font-size:.95rem}
.gin-bottle{position:absolute;pointer-events:none;width:min(24rem,52%);height:38rem;object-fit:contain;right:0;top:50%;transform:translate(40%,-50%);z-index:3}
.gin-card.gin-card-right .gin-bottle{right:auto;left:0;transform:translate(-40%,-50%)}
.pattern-tinker{background-color:#d6dbe3;background-image:url(../content/img/gins/patterns/tinker.png)}
.pattern-tailor{background-color:#dbd0c7;background-image:url(../content/img/gins/patterns/tailor.png)}
.pattern-soldier{background-color:#f4c9c0;background-image:url(../content/img/gins/patterns/soldier.png)}
.pattern-sailor{background-color:#b8cbcf;background-image:url(../content/img/gins/patterns/sailor.png)}
.pattern-spy{background-color:#37365e;background-image:url(../content/img/gins/patterns/spy.png)}
.bg-tinker{background-image:url(../content/img/gins/bg/tinker.jpg)}
.bg-tailor{background-image:url(../content/img/gins/bg/tailor.jpg)}
.bg-soldier{background-image:url(../content/img/gins/bg/soldier.jpg)}
.bg-sailor{background-image:url(../content/img/gins/bg/sailor.jpg)}
.bg-spy{background-image:url(../content/img/gins/bg/spy.jpg)}
#template-gins{background:var(--sand)}
@media (max-width:820px){
  .gin-card,.gin-card.gin-card-right{grid-template-columns:1fr;min-height:0}
  .gin-photo{height:56vw;min-height:14rem}
  .gin-card .gin-pattern,.gin-card.gin-card-right .gin-pattern{order:2;padding:13rem 1.6rem 3rem}
  .gin-card.gin-card-left .gin-pattern{order:2}
  .gin-card.gin-card-left .gin-photo,.gin-card.gin-card-right .gin-photo{order:1}
  .gin-bottle,.gin-card.gin-card-right .gin-bottle{right:auto;left:50%;top:-8rem;transform:translateX(-50%);width:min(14rem,60%);height:20rem}
}

/* ---------- Our Story ---------- */
.story-split{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - var(--nav-h))}
.story-split>div{position:relative;background:#555 center/cover no-repeat;min-height:24rem}
.story-split .split-name{position:absolute;bottom:8vh;left:50%;transform:translateX(-50%);color:#fff;font-size:1.05rem;letter-spacing:.3rem;text-transform:uppercase;font-family:var(--sans);font-weight:600;margin:0;white-space:nowrap;text-shadow:0 1px 12px rgba(0,0,0,.5)}
.story-heading{padding:6rem 0 3rem;text-align:center;background:#fff}
.story-heading .eyebrow{color:var(--gold-dark)}
.story-heading h2{display:inline-block;margin-bottom:0}
.story-couple{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:#fff}
.story-couple .photo{background:#777 center/cover no-repeat;min-height:30rem}
.story-couple .copy{padding:4rem 8vw;display:flex;flex-direction:column;justify-content:center}
.story-couple h4,.story-couple p{font-size:1.3rem;line-height:1.5}
.story-couple h4{margin-bottom:1.6rem}
.story-alwyn{display:grid;grid-template-columns:57fr 43fr;background:var(--cream);align-items:start}
.story-alwyn .left{padding:7rem 7vw 5rem 9vw}
.story-alwyn .right img{width:100%}
.story-alwyn h3{margin-bottom:1.6rem}
.story-adventures{background:var(--teal);color:#fff;padding:2.2rem;text-align:center}
.story-adventures p{display:inline;margin:0 1.6rem 0 0;font-size:1.3rem}
.story-adventures .btn{border-color:#fff;color:#fff}
.story-adventures .btn:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.story-beulah{display:grid;grid-template-columns:36fr 64fr;width:min(78%,80rem);margin:0 auto;background:var(--cream);padding:6rem 0}
.story-beulah .right{padding:1rem 5.5vw}
.story-beulah img{width:100%}
.story-body p{font-size:1.05rem;line-height:1.6}
@media (max-width:820px){
  .story-split{grid-template-columns:1fr;min-height:0}
  .story-split>div{min-height:60vw}
  .story-couple,.story-alwyn{grid-template-columns:1fr}
  .story-couple .copy{padding:3rem 1.6rem}
  .story-alwyn .left{padding:4rem 1.6rem 2rem}
  .story-beulah{grid-template-columns:1fr;width:100%;padding:3rem 0}
  .story-beulah .right{padding:2rem 1.6rem}
}

/* ---------- Adventures ---------- */
.adv-hero{position:relative;background:#222 center/cover no-repeat;color:#fff;min-height:clamp(20rem,45vw,34rem);display:flex;align-items:center;text-align:center}
.adv-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.55))}
.adv-hero .container{position:relative}
.adv-hero h1{font-size:clamp(1.8rem,3.6vw,3.2rem);line-height:1.25;max-width:40rem;margin:0 auto}
.adv-hero .eyebrow{color:var(--gold)}
.adventures-links{background:var(--ink);text-align:center;padding:1.1rem 1rem}
.adventures-links a{display:inline-block;position:relative;font-family:var(--sans);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;padding:0 1.4rem .4rem}
.adventures-links a:hover{color:var(--gold)}
.adventures-links a.active::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:2rem;height:1px;background:var(--gold)}
.adv-text{background:#fff;padding:4rem 0}
.adv-text p{font-size:1.1rem;line-height:1.65}
.adv-text h4{font-size:1.5rem;margin:2rem 0 .8rem}
.adv-text-images{background:#fff;padding:4rem 0}
.adv-text-images .grid{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:start;width:min(72rem,100% - 3rem);margin:0 auto}
.adv-text-images img{width:100%}
.adv-text-images p{font-size:1.1rem;line-height:1.65}
.adv-image img{width:100%;max-height:44rem;object-fit:cover}
.adv-more{background:var(--cream);padding:4rem 0;text-align:center}
.adv-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:2rem}
.adv-card{position:relative;display:block;color:#fff;background:#222 center/cover no-repeat;min-height:22rem;display:flex;align-items:flex-end;text-align:left}
.adv-card::before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(0,0,0,.75))}
.adv-card .in{position:relative;padding:1.4rem}
.adv-card h3{font-size:1.5rem;margin:0 0 .3rem;color:#fff}
.adv-card p{margin:0;font-family:var(--sans);font-size:.85rem}
.adv-card:hover{transform:translateY(-3px)}
@media (max-width:820px){.adv-text-images .grid{grid-template-columns:1fr}.adv-cards{grid-template-columns:1fr}}

/* ---------- Where to buy ---------- */
.wtb-intro{padding:5rem 0 3rem;text-align:center;background:var(--sand)}
.wtb-intro p{max-width:38rem;margin-inline:auto;font-size:1.1rem}
.wtb-block{padding:3.5rem 0;border-top:1px solid #d9d1c5}
.wtb-block:nth-of-type(even){background:var(--cream)}
.wtb-block h2{margin-bottom:2rem}
.wtb-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.5rem}
.person{background:#fff;padding:1.4rem;font-family:var(--sans);font-size:.9rem;line-height:1.6}
.person h4{font-family:var(--serif);font-size:1.25rem;margin:0 0 .3rem;text-transform:uppercase;letter-spacing:.06rem}
.person .region{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--grey-light);margin-bottom:.5rem}
.person a{text-decoration:underline;text-underline-offset:2px}
.wtb-group{margin-bottom:2.4rem}
.wtb-group h3{font-size:1.2rem;letter-spacing:.14rem;margin-bottom:.8rem;color:var(--grey-mid)}
.wtb-group h3 small{font-family:var(--sans);font-size:.7rem;letter-spacing:.12em;color:var(--grey-light);font-weight:400;margin-left:.6rem}
.wtb-list{columns:3 15rem;column-gap:2rem;list-style:none;margin:0;padding:0;font-family:var(--sans);font-size:.9rem;line-height:1.7}
.wtb-list li{break-inside:avoid;padding:.12rem 0;border-bottom:1px dotted #d9d1c5}
.wtb-tabs{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:1.4rem}
.wtb-teasers{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:3.5rem 0}
.teaser{text-align:center;padding:3rem 1.5rem;border:5px solid var(--cream);background:#fff}
.teaser h3{font-size:1.3rem}
@media (max-width:700px){.wtb-teasers{grid-template-columns:1fr}}

/* ---------- Contact ---------- */
.contact-page{position:relative;min-height:calc(100vh - var(--nav-h));background:var(--ink) url(../content/img/pattern.png);background-size:5rem;color:#fff;display:flex;align-items:center;padding:4rem 0}
.contact-page::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,31,32,.92),rgba(46,49,83,.85))}
.contact-page .container{position:relative}
.contact-page h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:4rem;align-items:start}
.contact-grid .options ul{list-style:none;margin:0;padding:0}
.contact-grid .options li{margin-bottom:1.3rem}
.contact-grid .options a{font-family:var(--sans);font-size:1.05rem;letter-spacing:.1em;text-transform:uppercase}
.contact-grid .options a:hover{color:var(--gold)}
.contact-info h6{color:var(--gold);font-family:var(--sans);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.6rem}
.contact-info .block{margin-bottom:2.4rem}
.contact-info .block a{display:block;font-family:var(--sans);font-size:1.25rem;letter-spacing:.03em;line-height:1.7}
.contact-info .block a:hover{color:var(--gold)}
.contact-info .orders{font-family:var(--sans);font-size:.9rem;color:#cfcfcf}
.contact-info .orders a{display:inline;font-size:.9rem;text-decoration:underline}
.contact-legal{margin-top:3rem;font-family:var(--sans);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.contact-legal a{color:#aaa;margin-right:1.4rem}
.contact-legal a:hover{color:var(--gold)}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr;gap:2.5rem}}

/* ---------- Legal / text pages ---------- */
.legal-hero{background:var(--sand);padding:4.5rem 0 2.5rem;text-align:center}
.legal-hero h1{font-size:2.4rem;letter-spacing:.15rem;text-transform:uppercase;margin:0}
.legal{padding:3rem 0 5rem;background:#fff}
.legal h4{font-size:1.3rem;text-transform:uppercase;margin:2.2rem 0 .8rem;letter-spacing:.04rem}
.legal p,.legal li{font-family:var(--sans);font-size:.95rem;line-height:1.7}
.legal ul{padding-left:1.3rem}
.legal a{text-decoration:underline;text-underline-offset:2px}
.legal-index{display:grid;gap:1rem;max-width:30rem;margin:0 auto}

/* ---------- 404 ---------- */
.notfound{min-height:60vh;display:flex;align-items:center;text-align:center;padding:5rem 0}
