  :root{
    --ink:#100D0A;
    --parchment:#EFE7D6;
    --whiskey:#A9631E;
    --whiskey-light:#C98A3E;
    --gold:#B99242;
    --oxblood:#5C1A1A;
    --green:#1D2B20;
    --line: rgba(239,231,214,0.14);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;background:var(--ink);}
  body{
    background:url('/assets/img/bg-texture.jpg') repeat, var(--ink);
    background-size:620px auto, auto;
    color:var(--parchment);
    font-family:'Work Sans',sans-serif;
    font-weight:300;
    line-height:1.6;
    overflow-x:hidden;
    overscroll-behavior-y:none;
    position:relative;
    -webkit-tap-highlight-color:transparent;
  }
  /* Ambient background texture: a muted, duotoned (ink-to-gold) wood-grain
     and whiskey-glass motif, faded low into the ink base directly in the
     image file (rather than via CSS opacity on a fixed pseudo-element,
     which some mobile browsers composite unreliably during scroll). It's
     part of the plain body background, so every section's own background
     naturally paints over it - it only actually shows through in plain
     content areas (long-form text, footer, etc) rather than fighting the
     hero/product photography. This is what turns the flat block ink
     background into something with a bit of pub-table nostalgia without
     looking busy or cheap. */
  /* Every tap target gets a deliberate pressed state instead of the browser's
     default grey/blue flash, this is most of what separates "a website" from
     "an app" on a phone. Gated to touch devices so desktop keeps its hover. */
  @media(hover:none){
    .btn:active, .venture-card:active, .social-card:active, .video-card:active,
    .faq-item summary:active, .nav-mobile a:active, .cart-qty-btn:active,
    .case-viewer:active{
      transform:scale(0.98);
      transition:transform 0.15s ease;
    }
    .btn:active{background:rgba(185,146,66,0.12);}
  }
  /* Fine film-grain overlay, reads as premium print texture rather than flat digital black */
  body::before{
    content:'';
    position:fixed;inset:0;
    z-index:1;
    pointer-events:none;
    opacity:0.035;
    mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  }
  header, footer, section, .age-gate{position:relative;z-index:2;}
  h1,h2,h3,.display{
    font-family:'Fraunces',serif;
    font-weight:600;
    letter-spacing:-0.01em;
  }
  a{color:inherit;text-decoration:none;}
  .wrap{max-width:1200px;margin:0 auto;padding:0 40px;}
  @media(max-width:700px){.wrap{padding:0 22px;}}

  /* NAV */
  header{
    position:fixed;top:0;left:0;right:0;z-index:50;
    padding:calc(22px + env(safe-area-inset-top)) 0 22px;
    background:linear-gradient(to bottom, rgba(16,13,10,0.9), transparent);
  }
  @supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){
    header{
      background:linear-gradient(to bottom, rgba(16,13,10,0.72), rgba(16,13,10,0.3));
      -webkit-backdrop-filter:blur(14px);
      backdrop-filter:blur(14px);
    }
  }
  nav{display:flex;justify-content:space-between;align-items:center;}
  .brand{font-family:'Cinzel',serif;font-weight:600;font-size:1.05rem;letter-spacing:0.06em;}
  .navlinks{display:flex;gap:34px;font-size:0.85rem;letter-spacing:0.02em;}
  .navlinks a{opacity:0.75;transition:opacity 0.25s;}
  .navlinks a:hover{opacity:1;}
  .navlinks{display:none;}
  @media(min-width:820px){.navlinks{display:flex;}}

  .nav-toggle{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:5px;
    width:38px;height:38px;
    background:transparent;
    border:1px solid var(--line);
    cursor:pointer;
    padding:0;
  }
  .nav-toggle span{
    display:block;width:18px;height:1px;background:var(--parchment);
    transition:transform 0.25s, opacity 0.25s;
  }
  .nav-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  .nav-toggle.open span:nth-child(2){opacity:0;}
  .nav-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
  @media(min-width:820px){.nav-toggle{display:none;}}
  .nav-cta{display:none;}
  @media(min-width:560px) and (max-width:819px){.nav-cta{display:inline-block;}}

  .nav-mobile{
    display:flex;
    flex-direction:column;
    gap:0;
    max-height:0;
    overflow:hidden;
    background:var(--ink);
    border-top:0px solid var(--line);
    transition:max-height 0.3s ease;
  }
  .nav-mobile a{
    padding:16px 22px;
    border-bottom:1px solid var(--line);
    font-size:0.95rem;
  }
  .nav-mobile.open{
    max-height:420px;
    border-top:1px solid var(--line);
  }
  @media(min-width:820px){.nav-mobile{display:none;}}

  /* HERO
     Same wood-grain/whiskey-ring texture as the rest of the site (body's
     bg-texture.jpg) shows through here too now, instead of being painted
     over by a flat gradient - it's the one visual thread that ties every
     page together, so the hero shouldn't be the one place that hides it. */
  .hero{
    min-height:100vh;
    display:flex;
    align-items:center;
    position:relative;
    padding-top:90px;
    background:
      radial-gradient(ellipse 900px 600px at 78% 40%, rgba(169,99,30,0.16), transparent 60%),
      linear-gradient(180deg, rgba(16,13,10,0.32), rgba(16,13,10,0.62)),
      url('/assets/img/bg-texture.jpg') repeat;
    background-size:auto, auto, 620px auto;
  }
  .hero .wrap{
    display:grid;
    grid-template-columns:1.15fr 0.85fr;
    gap:48px;
    align-items:center;
    width:100%;
  }
  @media(max-width:900px){.hero .wrap{grid-template-columns:1fr;}}

  .hero-copy h1{
    font-size:clamp(2.8rem,6.4vw,4.8rem);
    line-height:1.03;
    margin-bottom:26px;
  }
  .hero-copy p{
    max-width:44ch;
    color:rgba(239,231,214,0.72);
    font-size:1.02rem;
    margin-bottom:36px;
  }
  .hero-cta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 28px;}
  .hero-cta .link-quiet{
    font-size:0.85rem;
    letter-spacing:0.02em;
    color:rgba(239,231,214,0.7);
    border-bottom:1px solid rgba(239,231,214,0.28);
    padding-bottom:3px;
    transition:color 0.25s, border-color 0.25s;
  }
  .hero-cta .link-quiet:hover{color:var(--parchment);border-color:var(--gold);}

  /* Bottle stage: the same floating-product treatment used in the shop's
     display cases (ambient glow + grounding shadow, no bordered box) so the
     hero matches how the site presents the bottle everywhere else, rather
     than boxing it in its own separate "card" component. */
  .hero-stage{position:relative;}
  .hero-stage-glow{
    position:absolute;
    left:50%;top:6%;
    width:82%;height:72%;
    transform:translateX(-50%);
    background:radial-gradient(ellipse 60% 60% at 50% 38%, rgba(255,238,210,0.13), transparent 74%);
    pointer-events:none;
  }
  .hero-stage-shadow{
    position:absolute;
    left:50%;bottom:12%;
    width:52%;height:30px;
    transform:translateX(-50%);
    background:radial-gradient(ellipse 50% 50%, rgba(0,0,0,0.55), transparent 78%);
    filter:blur(2px);
    pointer-events:none;
  }
  .hero-viewer{position:relative;z-index:1;width:100%;height:min(62vh, 540px);}
  .hero-stage-foot{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    margin-top:10px;
  }
  .cask-mark{
    font-family:'Cinzel',serif;
    font-size:0.72rem;
    letter-spacing:0.1em;
    color:rgba(239,231,214,0.38);
  }
  .btn{
    position:relative;
    display:inline-block;
    padding:15px 36px;
    border:1px solid var(--gold);
    font-size:0.78rem;
    letter-spacing:0.12em;
    text-transform:uppercase;
    transition:border-color 0.35s, color 0.35s, box-shadow 0.35s, transform 0.2s;
    background:
      linear-gradient(180deg, rgba(185,146,66,0.10), rgba(185,146,66,0) 60%),
      transparent;
    color:var(--parchment);
    font-family:inherit;
    font-weight:500;
    cursor:pointer;
    border-radius:1px;
    overflow:hidden;
    isolation:isolate;
  }
  .btn::before{
    content:'';
    position:absolute;inset:0;
    z-index:-1;
    background:linear-gradient(115deg, transparent 20%, rgba(255,244,220,0.55) 42%, rgba(185,146,66,0.9) 50%, rgba(255,244,220,0.55) 58%, transparent 80%);
    background-size:250% 100%;
    background-position:150% 0;
    opacity:0;
    transition:opacity 0.35s;
  }
  .btn:hover{
    color:var(--ink);
    border-color:var(--gold);
    box-shadow:0 10px 30px -8px rgba(185,146,66,0.55);
    transform:translateY(-1px);
  }
  .btn:hover::before{
    opacity:1;
    background-position:-50% 0;
    transition:background-position 0.7s ease, opacity 0.2s;
  }
  .btn:active{transform:translateY(0);}
  .btn:disabled{opacity:0.5;cursor:default;transform:none;box-shadow:none;}
  .btn:disabled::before{display:none;}
  .btn-ghost{background:transparent;border-color:var(--line);margin-left:14px;}
  .btn-ghost::before{display:none;}
  .btn-ghost:hover{background:rgba(239,231,214,0.06);border-color:var(--parchment);color:var(--parchment);box-shadow:none;}
  .btn-solid{background:var(--gold);color:var(--ink);border-color:var(--gold);}
  .btn-solid:hover{color:var(--ink);}

  /* 360 VIEWER */
  .viewer-hint{
    font-size:0.78rem;color:rgba(239,231,214,0.5);
    letter-spacing:0.03em;
  }

  section{padding:120px 0;}
  .rule{height:1px;background:var(--line);}

  /* HERITAGE */
  .heritage{display:grid;grid-template-columns:0.9fr 1.1fr;gap:70px;align-items:start;}
  @media(max-width:900px){.heritage{grid-template-columns:1fr;}}
  .eyebrow-plain{color:var(--whiskey-light);font-size:0.85rem;margin-bottom:18px;}
  .heritage h2{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:24px;}
  .heritage p{color:rgba(239,231,214,0.72);margin-bottom:20px;max-width:58ch;}

  /* FOUNDER */
  .founder{
    background:linear-gradient(180deg, rgba(92,26,26,0.12), transparent);
  }
  .founder .wrap{
    display:grid;grid-template-columns:0.8fr 1.2fr;gap:70px;align-items:center;
  }
  @media(max-width:900px){.founder .wrap{grid-template-columns:1fr;}}
  .founder-portrait{
    aspect-ratio:4/5;
    background:linear-gradient(145deg, #2a1d12, #100D0A);
    border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;
    font-size:0.8rem;color:rgba(239,231,214,0.3);
  }
  .founder h2{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:20px;}
  .founder p{color:rgba(239,231,214,0.72);margin-bottom:18px;max-width:56ch;}
  .founder .sign{font-family:'Fraunces',serif;font-style:italic;color:var(--gold);margin-top:20px;font-size:1.1rem;}

  /* FOUNDER PAGE (standalone, same 2-col pattern as the .founder section above) */
  .founder-inner{display:grid;grid-template-columns:0.8fr 1.2fr;gap:70px;align-items:start;}
  @media(max-width:900px){.founder-inner{grid-template-columns:1fr;}}

  /* VENTURES */
  .ventures h2{font-size:clamp(1.8rem,3.4vw,2.4rem);margin-bottom:50px;}
  .venture-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  @media(max-width:800px){.venture-grid{grid-template-columns:1fr;}}
  .venture-card{background:var(--ink);padding:38px;transition:background 0.3s, box-shadow 0.3s;position:relative;}
  .venture-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.35s ease;}
  .venture-card:hover{background:linear-gradient(180deg, rgba(185,146,66,0.06), transparent);}
  .venture-card:hover::after{transform:scaleX(1);}
  .venture-card h3{font-size:1.2rem;margin-bottom:10px;}
  .venture-card p{font-size:0.88rem;color:rgba(239,231,214,0.6);margin-bottom:18px;}
  .venture-card a.link{font-size:0.8rem;color:var(--whiskey-light);border-bottom:1px solid currentColor;padding-bottom:2px;transition:color 0.25s;}
  .venture-card a.link:hover{color:var(--gold);}

  .newsletter{
  background:var(--oxblood);
  padding:80px 0;
}
.news-inner{
  display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;
}
.newsletter h2{font-size:clamp(1.8rem,3.4vw,2.4rem);margin-bottom:10px;}
.newsletter p{color:rgba(239,231,214,0.75);max-width:36ch;}
.news-form{display:flex;gap:0;}
.news-form input{
  background:transparent;
  border:1px solid rgba(239,231,214,0.4);
  border-right:none;
  padding:15px 18px;
  color:var(--parchment);
  font-family:'Work Sans',sans-serif;
  min-width:240px;
}
.news-form input::placeholder{color:rgba(239,231,214,0.5);}
.news-form input:focus{outline:none;border-color:var(--parchment);}
.news-form .btn{border-color:rgba(239,231,214,0.4);}
.news-form .btn:hover{background:var(--parchment);border-color:var(--parchment);color:var(--ink);}
@media(max-width:600px){.news-form{flex-direction:column;width:100%;}
  .news-form input{border-right:1px solid rgba(239,231,214,0.4);border-bottom:none;min-width:0;}
  .news-form .btn{width:100%;}
}

footer{border-top:1px solid var(--line);padding:70px 0 calc(40px + env(safe-area-inset-bottom));}
  .foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;margin-bottom:60px;}
  @media(max-width:800px){.foot-grid{grid-template-columns:1fr 1fr;}}
  .foot-col h4{font-size:0.78rem;letter-spacing:0.08em;color:rgba(239,231,214,0.45);margin-bottom:16px;}
  .foot-col a, .foot-col p{display:block;font-size:0.9rem;margin-bottom:10px;color:rgba(239,231,214,0.8);}
  .foot-col a:hover{color:var(--gold);}
  .foot-bottom{
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;
    font-size:0.78rem;color:rgba(239,231,214,0.35);
    padding-top:30px;border-top:1px solid var(--line);
  }
  .age-note{font-size:0.78rem;color:rgba(239,231,214,0.35);}

/* AGE GATE */
.age-gate{
  position:fixed;inset:0;z-index:200;
  background:var(--ink);
  display:flex;align-items:center;justify-content:center;
  text-align:center;
}
.age-gate-box p{color:rgba(239,231,214,0.75);margin:18px 0 30px;}
.age-gate-box{padding:0 24px;max-width:440px;}
.age-gate-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* SHARED INNER PAGE HERO */
.page-hero{
  padding:170px 0 70px;
  border-bottom:1px solid var(--line);
}
.page-hero .eyebrow-plain{margin-bottom:14px;}
.page-hero h1{font-size:clamp(2.2rem,5vw,3.4rem);}
@media(max-width:700px){
  .page-hero{padding:130px 0 50px;}
  section{padding:70px 0;}
  .case{padding:70px 0;}
}

/* LONGFORM (Story page) */
.longform{max-width:70ch;}
.longform p{color:rgba(239,231,214,0.75);margin-bottom:22px;}
.longform h2{font-size:1.5rem;margin:44px 0 16px;}
.longform h2:first-child{margin-top:0;}
.longform h3{font-size:1.05rem;margin:26px 0 12px;color:var(--whiskey-light);}
.longform ul{margin:0 0 22px 22px;color:rgba(239,231,214,0.75);}
.longform li{margin-bottom:10px;}
.longform strong{color:var(--parchment);font-weight:500;}
.legal-updated{font-size:0.8rem;color:rgba(239,231,214,0.45);margin-bottom:36px;}

/* 404 */
.error-num{
  font-family:'Fraunces',serif;font-weight:600;
  font-size:clamp(4.5rem,14vw,8rem);
  color:var(--whiskey-light);
  line-height:1;margin-bottom:10px;
}
.error-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px;}

/* FEATURED VIDEO (home) */
.featured-video{padding:90px 0;}
.featured-video .eyebrow-plain{margin-bottom:14px;}
.featured-video h2{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:36px;}
.featured-video .video-frame{max-width:900px;margin:0 auto;border:1px solid var(--line);}
.featured-meta{max-width:900px;margin:20px auto 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.featured-meta h3{font-size:1.1rem;margin-bottom:4px;}
.featured-meta .video-date{font-size:0.75rem;color:rgba(239,231,214,0.4);letter-spacing:0.04em;}

.product-card{border:1px solid var(--line);padding:26px;}
.product-thumb{
  aspect-ratio:3/4;
  background:linear-gradient(160deg, #2a1d12, #100D0A);
  border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  font-size:0.78rem;color:rgba(239,231,214,0.3);
  margin-bottom:20px;
}
.product-card h3{font-size:1.1rem;margin-bottom:6px;}
.product-card .price{color:var(--whiskey-light);font-size:0.9rem;margin-bottom:16px;}

/* SHOP - DISPLAY CASES */
.case{
  position:relative;
  padding:110px 0;
  border-bottom:1px solid var(--line);
  overflow:hidden;
  background:var(--ink);
}
.case:last-of-type{border-bottom:none;}
.case-gap{height:64px;background:var(--ink);}
@media(max-width:700px){.case-gap{height:40px;}}
.case-glow{
  position:absolute;inset:0;
  pointer-events:none;
  background:radial-gradient(ellipse 760px 560px at 50% 34%, var(--glow-color, rgba(169,99,30,0.22)), transparent 62%);
}
.case-inner{
  position:relative;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.case-stage-wrap{
  position:relative;
  width:100%;
  margin-bottom:8px;
}
.case-stage-wrap::before{
  content:'';
  position:absolute;
  left:50%;top:0;
  width:60%;height:100%;
  transform:translateX(-50%);
  background:radial-gradient(ellipse 55% 60% at 50% 32%, rgba(255,238,210,0.14), transparent 72%);
  pointer-events:none;
  z-index:0;
}
.case-stage-wrap::after{
  content:'';
  position:absolute;
  left:50%;bottom:2%;
  width:46%;height:28px;
  transform:translateX(-50%);
  background:radial-gradient(ellipse 50% 50%, rgba(0,0,0,0.65), transparent 78%);
  filter:blur(2px);
  pointer-events:none;
  z-index:0;
}
.case-stage-wrap model-viewer,
.case-stage-wrap .case-media{
  position:relative;
  z-index:1;
}
.case-eyebrow{color:var(--whiskey-light);font-size:0.85rem;margin-bottom:10px;}
.case-stage{
  width:100%;
  max-width:520px;
  height:min(64vh, 640px);
  display:flex;align-items:center;justify-content:center;
  perspective:1100px;
  cursor:grab;
  user-select:none;
  touch-action:none;
  margin-bottom:36px;
}
.case-stage:active{cursor:grabbing;}
.case-bottle{
  width:min(30vw, 260px);
  height:min(66vh, 600px);
  position:relative;
  transform-style:preserve-3d;
  transition:transform 0.05s linear;
}
.case-bottle .bottle-face{
  position:absolute;inset:0;
  border-radius:20px 20px 8px 8px;
  box-shadow: inset 0 0 70px rgba(0,0,0,0.55), 0 40px 90px rgba(0,0,0,0.5);
}
.case-bottle.variant-original .bottle-face{
  background:linear-gradient(100deg, #7a4419 0%, #C98A3E 18%, #8a4f1c 40%, #5c3212 60%, #C98A3E 80%, #7a4419 100%);
}
.case-bottle.variant-orange .bottle-face{
  background:linear-gradient(100deg, #A6420B 0%, #E8862E 18%, #B85416 40%, #7A340B 60%, #E8862E 80%, #A6420B 100%);
}
.case-bottle .bottle-neck{
  position:absolute;top:-72px;left:50%;transform:translateX(-50%);
  width:74px;height:88px;
  border-radius:8px 8px 3px 3px;
}
.case-bottle.variant-original .bottle-neck{
  background:linear-gradient(100deg, #7a4419, #C98A3E, #5c3212);
}
.case-bottle.variant-orange .bottle-neck{
  background:linear-gradient(100deg, #A6420B, #E8862E, #7A340B);
}
.case-bottle .bottle-label{
  position:absolute;top:190px;left:22px;right:22px;
  height:200px;
  background:rgba(239,231,214,0.95);
  color:var(--ink);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:16px;
  border:1px solid rgba(0,0,0,0.15);
}
.case-bottle .bottle-label .lbl-brand{font-family:'Cinzel',serif;font-weight:600;font-size:1.5rem;letter-spacing:0.06em;}
.case-bottle .bottle-label .lbl-sub{font-size:0.85rem;letter-spacing:0.14em;margin-top:10px;opacity:0.75;}
.case-bottle .bottle-label .lbl-variant{font-size:0.7rem;letter-spacing:0.1em;margin-top:14px;color:var(--whiskey);}
.case-hint{font-size:0.78rem;color:rgba(239,231,214,0.45);margin-bottom:4px;letter-spacing:0.03em;}
.case-note{font-size:0.72rem;color:rgba(239,231,214,0.3);margin-bottom:40px;}
.case-name{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:16px;}
.case-tag{color:rgba(239,231,214,0.65);max-width:48ch;margin-bottom:26px;}
.case-price{
  font-size:1.3rem;margin-bottom:30px;font-family:'Fraunces',serif;
  background:linear-gradient(100deg, var(--whiskey-light) 0%, #F2D9A8 35%, var(--gold) 55%, var(--whiskey-light) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.case-viewer{width:100%;height:min(58vh, 460px);}
@media(max-width:600px){.case-viewer{height:min(48vh, 380px);}}

.case-gift-note{display:flex;align-items:center;gap:14px;margin:-6px 0 26px;}
.case-photo-link{
  background:none;border:1px solid rgba(185,146,66,0.4);border-radius:20px;cursor:zoom-in;
  font-family:'Work Sans',sans-serif;font-size:0.8rem;color:var(--whiskey-light);
  padding:11px 20px;margin:0 0 26px;display:inline-block;
  transition:color 0.25s, border-color 0.25s, background 0.25s;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
.case-photo-link:hover{color:var(--gold);border-color:var(--gold);}
.case-photo-link:active{background:rgba(185,146,66,0.12);}

/* distillery-full.jpg is a wide 2048x1144 shot with its subjects (barrels/
   stills) sitting near the far left/right edges and a dark dead-zone in the
   middle. On narrow phone viewports, background:center center/cover crops
   in on that dead-zone, so the backdrop reads as a plain black panel behind
   the 3D bottle - it hasn't failed to load, it's just cropped to nothing.
   Below 700px, keep the same image and cover behaviour but anchor the crop
   to the left edge, where the barrels are, instead of the centre. */
@media(max-width:700px){
  .case-classic,
  .case-orange,
  .case-box6{
    background-position:left center !important;
  }
}

/* FAQ */
.faq-item{border-bottom:1px solid var(--line);padding:26px 0;}
.faq-item summary{cursor:pointer;font-family:'Fraunces',serif;font-size:1.1rem;list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';float:right;color:var(--gold);}
.faq-item[open] summary::after{content:'-';}
.faq-item p{color:rgba(239,231,214,0.7);margin-top:16px;max-width:60ch;}

/* SOCIALS PAGE */
.social-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
@media(max-width:700px){.social-grid{grid-template-columns:1fr;}}
.social-card{background:var(--ink);padding:34px;transition:background 0.3s;}
.social-card:hover{background:linear-gradient(180deg, rgba(185,146,66,0.06), transparent);}
.social-card h3{font-size:1.1rem;margin-bottom:8px;}
.social-card p{font-size:0.88rem;color:rgba(239,231,214,0.6);margin-bottom:16px;}

/* CONTACT FORM */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;}}
.contact-form label{display:block;font-size:0.78rem;letter-spacing:0.04em;color:rgba(239,231,214,0.6);margin-bottom:8px;}
.contact-form input, .contact-form textarea{
  width:100%;background:transparent;border:1px solid var(--line);
  padding:13px 16px;color:var(--parchment);font-family:'Work Sans',sans-serif;
  margin-bottom:22px;
}
.contact-form input:focus, .contact-form textarea:focus{outline:none;border-color:var(--gold);}
.contact-details a{display:block;margin-bottom:14px;color:rgba(239,231,214,0.85);}

/* INVESTMENT PAGE */
.inv-banner{
  background:rgba(185,146,66,0.08);
  border:1px solid rgba(185,146,66,0.35);
  color:rgba(239,231,214,0.8);
  font-size:0.82rem;
  letter-spacing:0.03em;
  padding:14px 22px;
  margin-bottom:10px;
}
.inv-section{border-bottom:1px solid var(--line);padding:90px 0;}
.inv-section:last-of-type{border-bottom:none;}
.inv-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:70px;align-items:center;}
.inv-grid.reverse{grid-template-columns:1.15fr 0.85fr;}
.inv-grid.reverse .inv-media{order:2;}
@media(max-width:900px){
  .inv-grid, .inv-grid.reverse{grid-template-columns:1fr;}
  .inv-grid.reverse .inv-media{order:0;}
}
.inv-media{
  aspect-ratio:4/5;
  background:
    radial-gradient(ellipse at 50% 30%, rgba(169,99,30,0.18), transparent 65%),
    linear-gradient(160deg, #1a140d, #100D0A 70%);
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:rgba(239,231,214,0.32);
  font-size:0.78rem;
  letter-spacing:0.04em;
  overflow:hidden;
}
.inv-media:not(:has(img)){padding:24px;}
.inv-media img{width:100%;height:100%;object-fit:cover;display:block;}
.inv-list{list-style:none;margin-top:26px;}
.inv-list li{padding-left:24px;position:relative;margin-bottom:20px;}
.inv-list li::before{content:'';position:absolute;left:0;top:9px;width:8px;height:8px;background:var(--whiskey-light);}
.inv-list h4{font-size:0.95rem;color:var(--parchment);margin-bottom:5px;font-family:'Work Sans',sans-serif;font-weight:500;}
.inv-list p{font-size:0.88rem;color:rgba(239,231,214,0.62);margin:0;}
.inv-numbered{list-style:none;margin-top:30px;display:grid;gap:26px;}
.inv-numbered li{display:grid;grid-template-columns:44px 1fr;gap:18px;align-items:start;}
.inv-numbered .num{font-family:'Fraunces',serif;font-size:1.3rem;color:var(--whiskey-light);}
.inv-numbered h4{font-size:0.95rem;margin-bottom:4px;font-family:'Work Sans',sans-serif;font-weight:500;letter-spacing:0.03em;}
.inv-numbered p{font-size:0.88rem;color:rgba(239,231,214,0.62);margin:0;}
.inv-note{
  margin-top:40px;
  padding-top:30px;
  border-top:1px solid var(--line);
}
.inv-note h4{font-size:0.85rem;color:var(--whiskey-light);letter-spacing:0.05em;margin-bottom:10px;}
.inv-note p{font-size:0.9rem;color:rgba(239,231,214,0.7);max-width:60ch;}
.inv-cta{text-align:center;padding:100px 0;}
.inv-cta h2{font-size:clamp(2rem,4.5vw,2.8rem);margin-bottom:20px;}
.inv-cta p{max-width:52ch;margin:0 auto 34px;color:rgba(239,231,214,0.68);}

/* VIDEOS PAGE */
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:34px;}
@media(max-width:800px){.video-grid{grid-template-columns:1fr;}}
.video-card{border:1px solid var(--line);background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent);transition:border-color 0.3s, box-shadow 0.3s;}
.video-card:hover{border-color:rgba(185,146,66,0.45);box-shadow:0 20px 50px -20px rgba(0,0,0,0.6);}
.video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;overflow:hidden;}
.video-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.video-meta{padding:22px 24px 26px;}
.video-meta h3{font-size:1.05rem;margin-bottom:6px;}
.video-meta .video-date{font-size:0.75rem;color:rgba(239,231,214,0.4);letter-spacing:0.04em;}
.video-empty{
  text-align:center;padding:70px 20px;color:rgba(239,231,214,0.45);
  border:1px dashed var(--line);font-size:0.92rem;
}
.badge-new{
  display:inline-block;font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--ink);background:var(--gold);padding:3px 9px;margin-left:10px;vertical-align:middle;border-radius:2px;
}

/* CART */
.cart-toggle{
  position:relative;
  background:none;border:none;color:inherit;font-family:inherit;
  font-size:0.85rem;letter-spacing:0.02em;opacity:0.85;cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;padding:0;
}
.cart-toggle:hover{opacity:1;}
.cart-count{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:18px;height:18px;padding:0 4px;
  background:var(--gold);color:var(--ink);border-radius:50%;
  font-size:0.68rem;font-weight:600;letter-spacing:0;
}
.cart-count[data-empty="true"]{display:none;}
.nav-mobile .cart-toggle{padding:16px 22px;border-bottom:1px solid var(--line);font-size:0.95rem;width:100%;justify-content:flex-start;}

.cart-overlay{
  position:fixed;inset:0;z-index:90;
  background:rgba(16,13,10,0.6);
  opacity:0;pointer-events:none;
  transition:opacity 0.25s ease;
}
.cart-overlay.open{opacity:1;pointer-events:auto;}

.cart-drawer{
  position:fixed;top:0;right:0;bottom:0;z-index:91;
  width:min(400px, 92vw);
  background:var(--ink);
  border-left:1px solid var(--line);
  box-shadow:-30px 0 70px rgba(0,0,0,0.5);
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform 0.3s ease;
}
.cart-drawer.open{transform:translateX(0);}
.cart-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:24px 26px;border-bottom:1px solid var(--line);
}
.cart-head h3{font-size:1.1rem;}
.cart-close{background:none;border:none;color:var(--parchment);font-size:1.4rem;line-height:1;cursor:pointer;opacity:0.7;}
.cart-close:hover{opacity:1;}
.cart-items{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 26px;}
.cart-empty{color:rgba(239,231,214,0.5);padding:40px 0;text-align:center;font-size:0.9rem;}
.cart-line{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);}
.cart-line-name{font-family:'Fraunces',serif;font-size:0.95rem;margin-bottom:4px;}
.cart-line-price{font-size:0.82rem;color:rgba(239,231,214,0.55);}
.cart-line-controls{display:flex;align-items:center;gap:10px;margin-top:10px;}
.cart-qty-btn{
  width:26px;height:26px;border:1px solid var(--line);background:transparent;color:var(--parchment);
  cursor:pointer;font-size:0.9rem;line-height:1;border-radius:2px;
}
.cart-qty-btn:hover{border-color:var(--gold);color:var(--gold);}
.cart-qty-val{min-width:18px;text-align:center;font-size:0.88rem;}
.cart-remove{background:none;border:none;color:rgba(239,231,214,0.45);font-size:0.78rem;text-decoration:underline;cursor:pointer;margin-left:auto;}
.cart-remove:hover{color:var(--oxblood);}
.cart-foot{padding:22px 26px calc(28px + env(safe-area-inset-bottom));border-top:1px solid var(--line);}
.cart-subtotal{display:flex;justify-content:space-between;font-size:1rem;margin-bottom:16px;}
.cart-foot .btn{width:100%;text-align:center;box-sizing:border-box;}
.cart-status{margin-top:12px;font-size:0.82rem;display:none;}

.qty-stepper{display:inline-flex;align-items:center;gap:12px;margin:6px 0 16px;}
.case .qty-stepper{justify-content:center;width:100%;}

/* LIGHTBOX (fullscreen image viewer) - triggered from any element with
   data-lightbox="/path/to/image.jpg", initialised in partials.js so it's
   available site-wide without extra markup per page. */
.jiw-lightbox{
  position:fixed;inset:0;z-index:300;
  background:rgba(16,13,10,0.94);
  display:none;align-items:center;justify-content:center;
  padding:32px;
}
.jiw-lightbox.open{display:flex;}
.jiw-lightbox img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,0.6);}
.jiw-lightbox-close{
  position:fixed;top:22px;right:26px;
  width:44px;height:44px;border-radius:50%;
  background:rgba(16,13,10,0.7);border:1px solid var(--line);color:var(--parchment);
  font-size:1.4rem;line-height:1;cursor:pointer;
}
.jiw-lightbox-close:hover{border-color:var(--gold);color:var(--gold);}
.jiw-lightbox-hint{
  position:fixed;bottom:22px;left:0;right:0;text-align:center;
  font-size:0.75rem;color:rgba(239,231,214,0.4);letter-spacing:0.04em;
}
[data-lightbox]{cursor:zoom-in;}

/* DELIVERY RATES (delivery-returns.html) */
.rate-table{border:1px solid var(--line);margin:32px 0 44px;}
.rate-row{
  display:grid;grid-template-columns:1fr auto;gap:14px;align-items:baseline;
  padding:18px 22px;border-bottom:1px solid var(--line);
}
.rate-row:last-child{border-bottom:none;}
.rate-row .rate-label{font-family:'Fraunces',serif;font-size:1rem;}
.rate-row .rate-sub{display:block;font-size:0.8rem;color:rgba(239,231,214,0.5);margin-top:4px;font-family:'Work Sans',sans-serif;}
.rate-row .rate-amount{font-family:'Fraunces',serif;font-size:1.05rem;color:var(--whiskey-light);white-space:nowrap;}
.rate-group-label{
  font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--whiskey-light);
  padding:18px 22px 4px;
}
.rate-zone-table{width:100%;border-collapse:collapse;margin:20px 0 40px;font-size:0.9rem;}
.rate-zone-table th{
  text-align:left;font-family:'Work Sans',sans-serif;font-weight:500;font-size:0.75rem;
  letter-spacing:0.06em;text-transform:uppercase;color:rgba(239,231,214,0.5);
  padding:10px 16px;border-bottom:1px solid var(--line);
}
.rate-zone-table td{padding:14px 16px;border-bottom:1px solid var(--line);color:rgba(239,231,214,0.8);}
.rate-zone-table td:last-child, .rate-zone-table th:last-child{text-align:right;white-space:nowrap;}
@media(max-width:600px){
  .rate-zone-table{font-size:0.8rem;}
  .rate-zone-table th, .rate-zone-table td{padding:10px 8px;}
}

/* CART SHIPPING SELECTOR */
.cart-shipping{padding:4px 0 18px;border-bottom:1px solid var(--line);margin-bottom:16px;}
.cart-shipping-label{font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;color:rgba(239,231,214,0.5);margin-bottom:10px;}
.cart-shipping select{
  width:100%;background:var(--ink);color:var(--parchment);border:1px solid var(--line);
  padding:10px 12px;font-family:'Work Sans',sans-serif;font-size:0.85rem;margin-bottom:8px;border-radius:2px;
}
.cart-shipping select:focus{outline:none;border-color:var(--gold);}
.cart-shipping-note{font-size:0.75rem;color:rgba(239,231,214,0.45);margin-top:4px;}
.cart-line-total{display:flex;justify-content:space-between;font-size:0.85rem;color:rgba(239,231,214,0.65);margin-bottom:8px;}

/* SPONSORSHIP CTA CARD (investment.html -> sponsorship.html) */
.sponsor-callout{
  border:1px solid rgba(185,146,66,0.35);
  background:linear-gradient(180deg, rgba(185,146,66,0.06), transparent);
  padding:44px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
  margin-top:20px;
}
.sponsor-callout h3{font-size:1.3rem;margin-bottom:8px;}
.sponsor-callout p{color:rgba(239,231,214,0.65);font-size:0.9rem;max-width:48ch;margin:0;}
.sponsor-callout .btn{flex-shrink:0;}
