
/* Ensure reveal items show up by default if JavaScript loads late, or let JS handle it */

/* ════════════════════════════════════════════
   TOKENS
════════════════════════════════════════════ */
:root {
  --black:     #0a0603;
  --deep:      #130d08;
  --soil:      #1e1209;
  --mahogany:  #3d1a0e;
  --rust:      #a03820;
  --copper:    #b8602e;
  --gold:      #c8993a;
  --champagne: #e2c97e;
  --cream:     #f4ead0;
  --parchment: #ede0c0;
  --sage:      #6e7d62;
  --wine:      #6b1c30;
  --bubble:    #a8ccd8;
  --off:       rgba(244,234,208,0.07);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:16px;}
.nav-brand-logo {
  height: 70px; /* Adjust this height to match your navbar design */
  width: auto;  /* Maintains the aspect ratio */
  display: inline-block;
  vertical-align: middle;
}

body{
  background:var(--black);
  color:var(--cream);
  font-family:'Lato',sans-serif;
  font-weight:300;
  line-height:1.7;
  overflow-x:hidden;
}

/* Grain */
body::after{
  content:'';
  position:fixed;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23g)' opacity='1'/%3E%3C/svg%3E");
  opacity:.035;pointer-events:none;z-index:9998;
}

/* ════════════════════════════════════════════
   NAV
════════════════════════════════════════════ */
nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.4rem 5vw;
  transition:background .5s,backdrop-filter .5s;
}
nav.scrolled{
  background:rgba(10,6,3,.92);
  backdrop-filter:blur(7px);
  border-bottom:1px solid rgba(200,153,58,.1);
}
.nav-brand{
  display:flex;flex-direction:column;gap:.1rem;text-decoration:none;
}
.nav-brand-name{
  font-family:'Cinzel',serif;
  font-size:1.15rem;letter-spacing:.22em;
  color:var(--champagne);line-height:1;
}
.nav-brand-tag{
  font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--gold);opacity:.7;
}
.nav-links{display:flex;gap:2.2rem;list-style:none;}
.nav-links a{
  font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--parchment);opacity:.6;text-decoration:none;
  transition:opacity .3s,color .3s;
}
.nav-links a:hover{opacity:1;color:var(--champagne);}
.nav-cta{
  padding:.55rem 1.6rem;
  border:1px solid rgba(200,153,58,.5);
  color:var(--gold)!important;opacity:1!important;
  transition:background .3s,color .3s!important;
}
.nav-cta:hover{background:var(--gold)!important;color:var(--black)!important;}

/* ════════════════════════════════════════════
   HERO
════════════════════════════════════════════ */
#hero{
  position:relative;min-height:100vh;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 100% 80% at 50% 30%, rgba(107,28,48,.28) 0%,transparent 60%),
    radial-gradient(ellipse 60% 60% at 80% 70%, rgba(61,26,14,.5) 0%,transparent 65%),
    radial-gradient(ellipse 70% 50% at 10% 90%, rgba(30,18,9,.7) 0%,transparent 55%),
    linear-gradient(175deg, #0a0603 0%, #130d08 35%, #1e1209 65%, #0a0603 100%);
}
/* diagonal lines motif */
.hero-bg::before{
  content:'';position:absolute;inset:0;
  background-image:
    repeating-linear-gradient(-55deg,
      transparent,transparent 80px,
      rgba(200,153,58,.025) 80px,rgba(200,153,58,.025) 81px),
    repeating-linear-gradient(35deg,
      transparent,transparent 120px,
      rgba(168,204,216,.015) 120px,rgba(168,204,216,.015) 121px);
}
/* bubble particles */
.hero-bg::after{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle 2px at 20% 30%, rgba(200,153,58,.4) 0%,transparent 100%),
    radial-gradient(circle 1px at 75% 20%, rgba(200,153,58,.3) 0%,transparent 100%),
    radial-gradient(circle 2px at 55% 75%, rgba(168,204,216,.3) 0%,transparent 100%),
    radial-gradient(circle 1px at 85% 55%, rgba(200,153,58,.25) 0%,transparent 100%),
    radial-gradient(circle 2px at 30% 80%, rgba(168,204,216,.2) 0%,transparent 100%),
    radial-gradient(circle 1px at 65% 40%, rgba(200,153,58,.3) 0%,transparent 100%);
}

.hero-inner{
  position:relative;z-index:2;
  text-align:center;padding:0 2rem;
  display:flex;flex-direction:column;align-items:center;
}
.hero-inner img {
  position: absolute;
  /*top: 50%;*/
  left: 50%;
  transform: translate(-50%, -50%);
  
  /* Forces the image to span the full viewport width and height of the hero */
  width: 100vw;
  /*height: 100vh;*/
  min-height: 100%; 
  object-fit: cover;
  
  /* Stacking & Watermark Effects */
  z-index: -1;          /* Pushes it behind the text, but keeps it above your .hero-bg gradients */
  opacity: 0.34;        /* Makes it a subtle watermark (0.0 = invisible, 1.0 = fully visible) */
  pointer-events: none; /* Prevents users from accidentally clicking or dragging the image */
}
.hero-inner img1 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  
  /* Forces the image to span the full viewport width and height of the hero */
  width: 100vw;
  object-fit: cover;
  
  /* Stacking & Watermark Effects */
  z-index: -1;          /* Pushes it behind the text, but keeps it above your .hero-bg gradients */
  opacity: 0.34;        /* Makes it a subtle watermark (0.0 = invisible, 1.0 = fully visible) */
  pointer-events: none; /* Prevents users from accidentally clicking or dragging the image */
}
.small-hero {
    height: 400px;
    overflow: hidden;
}

.small-hero .hero-inner img {
    width: 80%;
    height: 80%;
    min-height: unset;
    object-fit: contain;
}
.hero-eyebrow{
  font-size:.64rem;letter-spacing:.45em;text-transform:uppercase;
  color:var(--gold);margin-bottom:2rem;opacity:.85;
  animation:fadeUp 1.2s .2s both;
}
.hero-logo-wrap{animation:fadeUp 1.4s .4s both;}
.hero-revo{
  font-family:'Cinzel',serif;
  font-size:clamp(4.5rem,12vw,10rem);
  font-weight:600;letter-spacing:.12em;
  color:var(--champagne);line-height:.9;
  text-shadow:0 0 80px rgba(200,153,58,.15);
}
.hero-sparklings{
  font-family:'Cinzel',serif;
  font-size:clamp(.9rem,2.5vw,1.6rem);
  font-weight:400;letter-spacing:.35em;
  color:var(--gold);opacity:.8;
  margin-top:.4rem;
}
.hero-pvt{
  font-size:.6rem;letter-spacing:.3em;
  color:var(--parchment);opacity:.35;
  margin-top:.3rem;
}
.hero-rule{
  display:flex;align-items:center;gap:1.2rem;
  margin:2.5rem 0;
  animation:fadeUp 1.4s .6s both;
}
.hero-rule-line{
  width:80px;height:1px;
  background:linear-gradient(to right,transparent,var(--gold));
}
.hero-rule-line.r{background:linear-gradient(to left,transparent,var(--gold));}
.hero-rule-icon{
  font-size:1rem;color:var(--gold);opacity:.7;
  font-family:'Playfair Display',serif;font-style:italic;
}
.hero-tagline{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.1rem,3vw,1.8rem);
  font-style:italic;font-weight:400;
  color:var(--parchment);opacity:.75;
  letter-spacing:.04em;margin-bottom:3rem;
  animation:fadeUp 1.4s .7s both;
}
.hero-sub{
  font-size:.85rem;letter-spacing:.12em;
  color:var(--parchment);opacity:.5;
  margin-bottom:3.5rem;
  animation:fadeUp 1.4s .85s both;
}
.hero-btns{
  display:flex;gap:1.2rem;flex-wrap:wrap;justify-content:center;
  animation:fadeUp 1.4s 1s both;
}
.btn-primary{
  padding:.85rem 2.6rem;
  background:linear-gradient(135deg,var(--copper),var(--gold));
  color:var(--black);
  font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;
  text-decoration:none;font-weight:700;
  transition:transform .3s,box-shadow .3s;
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(200,153,58,.3);}
.btn-ghost{
  padding:.85rem 2.6rem;
  border:1px solid rgba(200,153,58,.4);
  color:var(--champagne);
  font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;
  text-decoration:none;
  transition:border-color .3s,background .3s;
}
.btn-ghost:hover{border-color:var(--gold);background:rgba(200,153,58,.07);}

.hero-scroll{
  position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:.6rem;
  font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--gold);opacity:.45;
  animation:scrollBounce 2.8s infinite;
}
.hero-scroll::after{content:'';width:1px;height:44px;background:linear-gradient(to bottom,var(--gold),transparent);}
@keyframes scrollBounce{
  0%,100%{transform:translateX(-50%) translateY(0);}
  55%{transform:translateX(-50%) translateY(9px);}
}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(28px);}
  to{opacity:1;transform:translateY(0);}
}

/* ════════════════════════════════════════════
   SHARED LAYOUT
════════════════════════════════════════════ */
.wrapper{max-width:1380px;margin:0 auto;padding:0 5vw;}
.section-pad{padding:9rem 5vw;}
.section-pad-sm{padding:6rem 5vw;}
.divider-line{
  width:100%;height:1px;
  background:linear-gradient(to right,transparent,rgba(200,153,58,.18),transparent);
  margin:0;
}
.label{
  font-size:.6rem;letter-spacing:.45em;text-transform:uppercase;
  color:var(--gold);opacity:.85;display:block;margin-bottom:1rem;
}
.title{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.4rem,5vw,4.2rem);
  font-weight:400;line-height:1.08;
  color:var(--cream);
}
.title em{font-style:italic;color:var(--champagne);}
.title strong{font-weight:700;color:var(--gold);}
.gold-rule{width:64px;height:2px;background:linear-gradient(to right,var(--gold),transparent);margin:1.8rem 0;}
.body-text{
  font-size:1rem;line-height:1.9;
  color:var(--parchment);opacity:.78;
}
.body-text p+p{margin-top:1.2rem;}

/* fade-in scroll */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .9s ease,transform .9s ease;}
.reveal.on{opacity:1;transform:translateY(0);}
.reveal-d1{transition-delay:.15s;}
.reveal-d2{transition-delay:.3s;}
.reveal-d3{transition-delay:.45s;}
.reveal-d4{transition-delay:.6s;}

/* ════════════════════════════════════════════
   01 · STORY
════════════════════════════════════════════ */
#story{background:var(--deep);}
.story-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:7rem;align-items:center;
}
.story-text .body-text{margin-bottom:1.5rem;}
.pull{
  border-left:3px solid var(--gold);
  padding:1.2rem 0 1.2rem 2rem;
  margin:2.5rem 0;
}
.pull blockquote{
  font-family:'Playfair Display',serif;
  font-size:1.5rem;font-style:italic;font-weight:400;
  color:var(--champagne);line-height:1.5;
}
.pull cite{
  display:block;margin-top:.8rem;
  font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);opacity:.65;font-style:normal;
}
.story-panel{
  display:grid;grid-template-columns:1fr 1fr;
  gap:2px;background:rgba(200,153,58,.08);
  border:1px solid rgba(200,153,58,.1);
}
.s-stat{
  padding:2.8rem 2.2rem;
  background:rgba(10,6,3,.65);
  text-align:center;
  transition:background .4s;
}
.s-stat:hover{background:rgba(20,12,6,.9);}
.s-num{
  font-family:'Playfair Display',serif;
  font-size:3rem;font-weight:400;
  color:var(--gold);display:block;line-height:1;
}
.s-lbl{
  font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--parchment);opacity:.5;
  display:block;margin-top:.6rem;
}
.s-desc{
  font-size:.8rem;color:var(--parchment);opacity:.45;
  margin-top:.35rem;display:block;line-height:1.5;
}

/* ════════════════════════════════════════════
   02 · MISSION
════════════════════════════════════════════ */
#mission{
  background:
    linear-gradient(160deg,rgba(107,28,48,.14) 0%,rgba(10,6,3,.6) 50%,rgba(61,26,14,.2) 100%),
    var(--deep);
}
.mission-header{
  position: relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5rem;
  align-items:end;
  margin-bottom:5rem;
  overflow:hidden;
  max-width:900px;
}

.mission-header::before{
  content:'';
  position:absolute;
  width:7000px;
  height:1500px;
  /*background:url('images/aa1.JPG') no-repeat left; This 
  background-size:contain;
  opacity:.6;
  left:-100px;
  top:10%;
  transform:translateY(-50%);
  pointer-events:none;
  z-index:0;
  */
}
.mission-watermark{
    position:absolute;

    width:350px;
    height:350px;

    object-fit:cover;

    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    opacity:0.08;

    z-index:0;

    pointer-events:none;
}

/* Keep all content above watermark */
.mission-header > *{
  position:relative;
  z-index:1;
}
.mission-intro{font-size:1.05rem;line-height:1.9;color:var(--parchment);opacity:.75;}
.pillars{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:2px;background:rgba(200,153,58,.07);
}
.pillar{
  padding:3.5rem 2.8rem;background:rgba(8,5,2,.75);
  position:relative;overflow:hidden;
  transition:background .4s;
}
.pillar:hover{background:rgba(16,10,5,.9);}
.pillar::before{
  content:'';position:absolute;
  bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(to right,var(--gold),transparent);
  transform:scaleX(0);transform-origin:left;
  transition:transform .5s ease;
}
.pillar:hover::before{transform:scaleX(1);}
.pillar-n{
  font-family:'Cinzel',serif;
  font-size:3.5rem;font-weight:600;
  color:rgba(200,153,58,.08);
  position:absolute;top:1.2rem;right:1.5rem;
  line-height:1;pointer-events:none;
}
.pillar-icon{font-size:1.6rem;margin-bottom:1.2rem;display:block;}
.pillar h3{
  font-family:'Cinzel',serif;font-size:.82rem;
  letter-spacing:.22em;color:var(--gold);
  margin-bottom:1rem;
}
.pillar p{font-size:.92rem;line-height:1.8;color:var(--parchment);opacity:.7;}
.pillar-extra{
  margin-top:1.2rem;
  font-size:.78rem;color:var(--champagne);opacity:.45;
  font-style:italic;border-top:1px solid rgba(200,153,58,.1);
  padding-top:.9rem;line-height:1.6;
}
.pillar-image{
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
    margin-bottom:2rem;
    border:1px solid rgba(200,153,58,.15);
    opacity:1;

    border:1px solid rgba(200,153,58,.15);

    filter:
      brightness(.8)
      contrast(1.05)
      saturate(.85);

    transition:
      transform .7s ease,
      filter .7s ease;
}

.pillar:hover .pillar-image{
    transform:scale(1.04);
    filter:
      brightness(.95)
      contrast(1.1)
      saturate(1);
}

/* ════════════════════════════════════════════
   03 · PASSION / WHY
════════════════════════════════════════════ */
#why{background:var(--deep);}
.why-layout{
  display:grid;grid-template-columns:38% 1fr;
  gap:7rem;align-items:start;
}
.why-sticky{
    position: sticky;
    top: 120px;

    padding: 3rem;

    background: linear-gradient(
        135deg,
        rgba(20,12,8,.78),
        rgba(10,6,3,.55)
    );

    border: 1px solid rgba(200,153,58,.12);

    backdrop-filter: blur(10px);

    box-shadow:
        0 20px 60px rgba(0,0,0,.35);

    overflow: hidden;
}

/* Gold accent line */
.why-sticky::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:3px;
    height:100%;
    background:linear-gradient(
        to bottom,
        var(--gold),
        transparent
    );
}

/* REVO watermark */
.why-sticky::after{
    content:'REVO';
    position:absolute;

    right:-15px;
    bottom:-25px;

    font-family:'Cinzel', serif;
    font-size:9rem;
    font-weight:700;
    line-height:1;

    color:rgba(200,153,58,.035);

    pointer-events:none;
    user-select:none;
}

/* Keep content above watermark */
.why-bg-image{
    position:absolute;
    top:0;
    right:0;
    width:40%;
    height:100%;

    background-image:
        linear-gradient(
            to left,
            rgba(10,6,3,.15),
            rgba(10,6,3,.85)
        ),
        url('images/philosophy-bg.jpeg');

    background-size:cover;
    background-position:center;

    opacity:.35;
    z-index:0;
}

.why-sticky > *:not(.why-bg-image){
    position:relative;
    z-index:1;
}
.why-items{display:flex;flex-direction:column;}
.why-item{
  padding:2.8rem 0;
  border-bottom:1px solid rgba(200,153,58,.1);
  display:grid;grid-template-columns:48px 1fr;
  gap:2rem;align-items:start;
}
.why-item:first-child{border-top:1px solid rgba(200,153,58,.1);}
.why-num{
  font-family:'Playfair Display',serif;
  font-size:2rem;font-style:italic;
  color:var(--gold);opacity:.35;line-height:1.1;
  padding-top:.1rem;
}
.why-item h4{
  font-family:'Playfair Display',serif;
  font-size:1.35rem;font-weight:500;
  color:var(--cream);margin-bottom:.7rem;
}
.why-item p{font-size:.93rem;line-height:1.82;color:var(--parchment);opacity:.7;}
.why-item .why-tag{
  display:inline-block;margin-top:1rem;
  font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;
  border:1px solid rgba(200,153,58,.2);
  color:var(--gold);padding:.3rem .9rem;opacity:.7;
}

/* ════════════════════════════════════════════
   04 · PROCESS
════════════════════════════════════════════ */
#process{
  background:
    linear-gradient(to bottom,var(--soil) 0%,var(--deep) 100%);
}
.process-intro{
  display:grid;grid-template-columns:1fr 1fr;
  gap:5rem;align-items:end;margin-bottom:5rem;
}
.process-steps{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:2px;background:rgba(200,153,58,.06);
}
.step{
  padding:3.2rem 3rem;background:rgba(8,5,2,.8);
  position:relative;overflow:hidden;
  transition:background .4s;
}
.step:hover{background:rgba(18,11,6,.95);}
.step::after{
  content:'';position:absolute;
  top:0;left:0;width:2px;height:100%;
  background:linear-gradient(to bottom,var(--gold),transparent);
  transform:scaleY(0);transform-origin:top;
  transition:transform .5s ease;
}
.step:hover::after{transform:scaleY(1);}
.step-num{
  font-family:'Cinzel',serif;
  font-size:4rem;font-weight:600;
  color:rgba(200,153,58,.06);
  line-height:1;margin-bottom:1.2rem;
}
.step h4{
  font-family:'Cinzel',serif;font-size:.78rem;
  letter-spacing:.2em;color:var(--gold);
  margin-bottom:1rem;
}
.step .step-body{font-size:.92rem;line-height:1.82;color:var(--parchment);opacity:.7;}
.step-spec{
  margin-top:1.5rem;
  background:rgba(200,153,58,.05);
  border:1px solid rgba(200,153,58,.12);
  padding:1rem 1.2rem;
}
.step-spec-label{
  font-size:.58rem;letter-spacing:.25em;text-transform:uppercase;
  color:var(--gold);opacity:.7;display:block;margin-bottom:.4rem;
}
.step-spec-val{
  font-size:.82rem;color:var(--champagne);opacity:.8;
}

/* ════════════════════════════════════════════
   05 · PORTFOLIO
════════════════════════════════════════════ */
#portfolio{background:var(--deep);}
.portfolio-header{
    display:grid;
    grid-template-columns: 1fr 420px;
    gap:5rem;
    align-items:center;
    margin-bottom:5rem;
}

.portfolio-header-image img{
    width:100%;
    height:550px;
    object-fit:cover;

    border:1px solid rgba(200,153,58,.15);

    filter:
      brightness(1.00)
      contrast(1.05);

    box-shadow:
      0 20px 50px rgba(0,0,0,.4);
}

.portfolio-header p{
    max-width:620px;
    font-size:1rem;
    line-height:1.9;
    color:var(--parchment);
    opacity:1;
}

@media(max-width:900px){
    .portfolio-header{
        grid-template-columns:1fr;
    }

    .portfolio-header-image img{
        height:400px;
    }
}
.portfolio-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:2px;background:rgba(200,153,58,.06);
}
.wine-card{
  padding:4rem 3rem;background:rgba(8,5,2,.85);
  display:flex;flex-direction:column;
  transition:background .4s;position:relative;overflow:hidden;
}
.wine-card:hover{background:rgba(18,11,6,.97);}
.wine-card::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:3px;opacity:0;
  transition:opacity .4s;
}
.wine-card:nth-child(1)::before{background:linear-gradient(to right,var(--sage),var(--champagne));}
.wine-card:nth-child(2)::before{background:linear-gradient(to right,var(--wine),var(--rust));}
.wine-card:nth-child(3)::before{background:linear-gradient(to right,var(--bubble),var(--champagne));}
.wine-card:hover::before{opacity:1;}

.wine-series-badge{
  font-size:.58rem;letter-spacing:.38em;text-transform:uppercase;
  color:var(--gold);opacity:.7;margin-bottom:.6rem;
}
.wine-title{
  font-family:'Playfair Display',serif;
  font-size:2.6rem;font-weight:400;
  line-height:.95;margin-bottom:.3rem;
}
.wine-card:nth-child(1) .wine-title{color:var(--champagne);}
.wine-card:nth-child(2) .wine-title{color:#d47a7a;}
.wine-card:nth-child(3) .wine-title{color:var(--bubble);}
.wine-subtype{
  font-family:'Playfair Display',serif;
  font-style:italic;font-size:1rem;
  color:var(--parchment);opacity:.45;
  margin-bottom:2.2rem;
}
.wine-hr{width:36px;height:1px;background:var(--gold);opacity:.3;margin-bottom:2.2rem;}
.wine-body{font-size:.9rem;line-height:1.85;color:var(--parchment);opacity:.68;flex:1;margin-bottom:2rem;}
.wine-notes{
  margin-top:auto;
  display:flex;flex-direction:column;gap:.6rem;
}
.note{
  display:flex;align-items:baseline;gap:.6rem;
  font-size:.78rem;color:var(--parchment);opacity:1;
}
.note-label{
  font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;font-style:bold;
  color:var(--gold);opacity:1;white-space:nowrap;
  min-width:70px;
}
.wine-cta{
  display:inline-block;margin-top:2rem;
  font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;
  border:1px solid rgba(200,153,58,.2);
  color:var(--gold);padding:.5rem 1.2rem;
  align-self:flex-start;
  transition:background .3s,border-color .3s;
}
.wine-card:hover .wine-cta{background:rgba(200,153,58,.07);border-color:rgba(200,153,58,.4);}


/* ════════════════════════════════════════════
   06 · TERROIR
════════════════════════════════════════════ */
#terroir{
  background:
    radial-gradient(ellipse 80% 60% at 30% 50%,rgba(61,26,14,.5) 0%,transparent 65%),
    var(--soil);
}
.terroir-layout{
  display:grid;grid-template-columns:1fr 1fr;
  gap:7rem;align-items:center;
}
.terroir-facts{
  display:grid;grid-template-columns:1fr 1fr;
  gap:2px;background:rgba(200,153,58,.07);
  margin-top:3rem;
}
.tfact{
  padding:2rem 1.8rem;background:rgba(10,6,3,.7);
  transition:background .3s;
}
.tfact:hover{background:rgba(20,12,6,.9);}
.tfact-val{
  font-family:'Playfair Display',serif;
  font-size:1.8rem;color:var(--champagne);
  display:block;line-height:1;margin-bottom:.4rem;
}
.tfact-key{
  font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);opacity:.65;display:block;margin-bottom:.3rem;
}
.tfact-note{font-size:.8rem;color:var(--parchment);opacity:.5;line-height:1.5;}

/* ════════════════════════════════════════════
   07 · B2B
════════════════════════════════════════════ */
#b2b{background:var(--deep);}
.b2b-layout{
  display:grid;grid-template-columns:1fr 1fr;
  gap:7rem;align-items:start;
}
.b2b-left .body-text{margin-bottom:2rem;}
.b2b-tags-section{margin-top:2.5rem;}
.b2b-tags-section h5{
  font-family:'Cinzel',serif;font-size:.68rem;
  letter-spacing:.2em;color:var(--gold);
  margin-bottom:1rem;
}
.tag-list{display:flex;flex-wrap:wrap;gap:.5rem;}
.tag{
  font-size:.7rem;letter-spacing:.1em;
  border:1px solid rgba(200,153,58,.18);
  color:var(--parchment);padding:.35rem .9rem;
  opacity:.65;transition:opacity .3s,border-color .3s;
}
.tag:hover{opacity:.9;border-color:rgba(200,153,58,.4);}

.b2b-features{display:flex;flex-direction:column;gap:0;}
.b2b-feat{
  padding:2.2rem 0;
  border-bottom:1px solid rgba(200,153,58,.08);
  display:grid;grid-template-columns:56px 1fr;
  gap:1.5rem;align-items:start;
}
.b2b-feat-icon{
  width:40px;height:40px;
  border:1px solid rgba(200,153,58,.2);
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;color:var(--gold);opacity:.7;
  flex-shrink:0;margin-top:.2rem;
}
.b2b-feat h4{
  font-family:'Playfair Display',serif;
  font-size:1.15rem;font-weight:500;
  color:var(--cream);margin-bottom:.5rem;
}
.b2b-feat p{font-size:.88rem;line-height:1.78;color:var(--parchment);opacity:.65;}
.b2b-coa{
  margin-top:2.5rem;
  padding:2rem 2.2rem;
  background:rgba(200,153,58,.05);
  border:1px solid rgba(200,153,58,.15);
}
.coa-title{
  font-family:'Cinzel',serif;font-size:.72rem;
  letter-spacing:.22em;color:var(--gold);
  display:block;margin-bottom:.8rem;
}
.coa-text{font-size:.88rem;line-height:1.75;color:var(--parchment);opacity:.65;}
.coa-params{
  display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;
}
.coa-param{
  font-size:.65rem;letter-spacing:.12em;
  background:rgba(200,153,58,.08);
  color:var(--champagne);padding:.25rem .7rem;opacity:.75;
}

/* ════════════════════════════════════════════
   08 · CONTACT
════════════════════════════════════════════ */
#contact{
  background:
    radial-gradient(ellipse 70% 70% at 50% 50%,rgba(107,28,48,.12) 0%,transparent 65%),
    var(--black);
  text-align:center;
}
.contact-tagline{
  font-family:'Playfair Display',serif;
  font-size:clamp(1rem,2.5vw,1.5rem);
  font-style:italic;color:var(--parchment);
  opacity:.6;margin-bottom:4rem;
  max-width:600px;margin-left:auto;margin-right:auto;
  margin-top:1.2rem;
}
.contact-cards{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:2px;background:rgba(200,153,58,.07);
  max-width:900px;margin:0 auto 3.5rem;
  text-align:left;
}
.c-card{
  padding:2.8rem 2.5rem;background:rgba(8,5,2,.85);
  transition:background .4s;
}
.c-card:hover{background:rgba(18,11,6,.97);}
.c-card-icon{font-size:1.3rem;margin-bottom:1.2rem;display:block;opacity:.6;}
.c-card-label{
  font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--gold);display:block;margin-bottom:.7rem;opacity:.8;
}
.c-card p{font-size:.88rem;line-height:1.72;color:var(--parchment);opacity:.65;}
.contact-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* ════════════════════════════════════════════
   FOOTER
════════════════════════════════════════════ 
footer{
  border-top:1px solid rgba(200,153,58,.1);
  padding:3rem 5vw;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;gap:2rem;
}
.footer-brand{
  font-family:'Cinzel',serif;
  font-size:1rem;letter-spacing:.22em;
  color:var(--gold);opacity:.55;
}
.footer-tagline{
  font-family:'Playfair Display',serif;
  font-style:italic;font-size:.88rem;
  color:var(--parchment);opacity:.3;
  text-align:center;
}
.footer-loc{
  font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--parchment);opacity:.28;
  text-align:right;
}
*/
footer {
  border-top: 1px solid rgba(200, 153, 58, .1);
  padding: 4rem 5vw;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center; 
  gap: 2rem;
  background-color: #0a0603; /* Matches your luxury dark palette */
}

/* --- Left Column Styling --- */
.footer-brand {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
}
.footer-logo {
  max-width: 220px; /* Scaled down slightly to look balanced in the grid */
  height: auto;
}
.footer-social {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 1.2rem;
}
.footer-social a {
  color: var(--gold);
  opacity: 0.6;
  font-size: 1rem;
  transition: opacity 0.3s;
}
.footer-social a:hover {
  opacity: 1;
}
.footer-copy {
  font-size: 0.6rem;
  letter-spacing: 0.1em;
  color: var(--parchment);
  opacity: 0.3;
  margin: 0;
}

/* --- Center Column Styling --- */
.footer-center {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
}
.footer-tagline {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: .95rem;
  color: var(--parchment);
  opacity: .5;
  text-align: center;
}
.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 1.5rem;
}
.footer-links a {
  font-size: 0.7rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--champagne);
  text-decoration: none;
  opacity: 0.4;
  transition: opacity 0.3s, color 0.3s;
}
.footer-links a:hover {
  opacity: 0.85;
  color: var(--gold);
}

/* --- Right Column Styling --- */
.footer-loc {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-end;
  text-align: right;
}
.loc-headline {
  font-size: .65rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--parchment);
  opacity: .4;
}
.footer-contact-details {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.footer-contact-details a {
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  color: var(--parchment);
  text-decoration: none;
  opacity: 0.35;
  transition: opacity 0.3s;
}
.footer-contact-details a:hover {
  opacity: 0.75;
}

/* --- Responsive Layout for Mobile Devices --- */
@media (max-width: 768px) {
  footer {
    grid-template-columns: 1fr; /* Turn into a single stack on mobile */
    text-align: center;
    gap: 3rem;
    padding: 4rem 2rem;
  }
  .footer-brand, .footer-center, .footer-loc {
    align-items: center;
    text-align: center;
  }
  .footer-links {
    flex-direction: column;
    gap: 1rem;
  }
  /* Landscape Banner Before Footer */
.landscape-banner{
    width:100%;
    overflow:hidden;
    position:relative;
}

.landscape-banner img{
     width:100%;
    height:65vh;
    min-height:400px;
    max-height:700px;
    object-fit:cover;
    display:block;
}

/* Dark luxury overlay */
.landscape-banner::after{
    content:'';
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            to bottom,
            rgba(10,6,3,0) 0%,
            rgba(10,6,3,.15) 50%,
            rgba(10,6,3,.75) 100%
        );
    pointer-events:none;
}

@media(max-width:768px){
    .landscape-banner img{
        height:300px;
    }

}
.landscape-section{
    padding: 4rem 5vw 0;
    background: var(--deep);
}

.landscape-block{
    width:100%;
    height:420px;
    overflow:hidden;
    border:1px solid rgba(200,153,58,.15);

    background:rgba(8,5,2,.8);

    box-shadow:
        0 20px 60px rgba(0,0,0,.35);

    position:relative;
}

.landscape-block img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

/* Luxury dark fade into footer */
.landscape-block::after{
    content:'';
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            to bottom,
            rgba(10,6,3,0) 60%,
            rgba(10,6,3,.55) 100%
        );

    pointer-events:none;
}

@media(max-width:768px){
    .landscape-block{
        height:250px;
    }
}
/* ════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════ */
@media(max-width:1024px){
  .story-grid,.mission-header,.why-layout,
  .process-intro,.terroir-layout,.b2b-layout{
    grid-template-columns:1fr;gap:3rem;
  }
  .why-sticky{position:static;}
  .pillars,.portfolio-grid,.process-steps{grid-template-columns:1fr;}
  footer{grid-template-columns:1fr;text-align:center;}
  .footer-loc{text-align:center;}
}
@media(max-width:768px){
  nav{padding:1rem 1.5rem;}
  .nav-links{display:none;}
  .section-pad{padding:5rem 1.5rem;}
  .story-panel{grid-template-columns:1fr 1fr;}
  .contact-cards{grid-template-columns:1fr;}
  .hero-revo{font-size:clamp(3.5rem,16vw,7rem);}
}

.reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .9s ease, transform .9s ease;
}
.reveal.on {
  opacity: 1;
  transform: translateY(0);
}
