
:root{
  --navy:#0D1B33;
  --navy-deep:#091224;
  --navy-soft:#16294A;
  --gold:#C9A24B;
  --gold-bright:#E3C57A;
  --ivory:#F4EFE4;
  --ivory-dim:rgba(244,239,228,0.68);
  --ivory-faint:rgba(244,239,228,0.42);
  --hairline:rgba(201,162,75,0.28);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--navy);
  color:var(--ivory);
  font-family:'Karla',system-ui,sans-serif;
  font-weight:300;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{font-family:'Fraunces',Georgia,serif;font-weight:400;}
a{color:inherit;text-decoration:none;}
img,svg{max-width:100%;display:block;}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px;}

/* ---------- skip link ---------- */
.skip{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--gold);color:var(--navy-deep);
  padding:0.7rem 1.2rem;font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;
}
.skip:focus{left:0;}

/* ---------- age gate ---------- */
.gate{
  position:fixed;inset:0;z-index:100;
  background:var(--navy-deep);
  display:flex;align-items:center;justify-content:center;
  padding:2rem 1.5rem;text-align:center;
}
.gate[hidden]{display:none;}
.gate-inner{max-width:30rem;}
.gate-mark{width:86px;margin:0 auto 2rem;}
.gate-title{
  font-family:'Fraunces',Georgia,serif;
  font-size:clamp(1.6rem,5vw,2.2rem);
  font-weight:300;letter-spacing:0.16em;text-transform:uppercase;
  margin-bottom:1.2rem;
}
.gate p{color:var(--ivory-dim);font-size:0.95rem;margin-bottom:2rem;}
.gate-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.gate-deny{
  border:1px solid var(--hairline);color:var(--ivory-dim);
  padding:0.85rem 2rem;font-size:0.76rem;letter-spacing:0.22em;text-transform:uppercase;
  background:none;cursor:pointer;font-family:inherit;transition:border-color .3s,color .3s;
}
.gate-deny:hover{border-color:var(--ivory-dim);color:var(--ivory);}
.gate-note{margin-top:2rem;font-size:0.74rem;color:var(--ivory-faint);letter-spacing:0.06em;}

/* ---------- header ---------- */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(13,27,51,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--hairline);
}
.header-inner{
  max-width:1200px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;padding:1rem 1.5rem;
}
.logo{display:flex;align-items:center;gap:0.7rem;}
.logo-mark{width:34px;height:34px;flex-shrink:0;}
.logo-name{
  font-family:'Fraunces',Georgia,serif;
  font-size:1.2rem;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--ivory);
}
nav{display:flex;gap:2rem;font-size:0.8rem;letter-spacing:0.16em;text-transform:uppercase;}
nav a{color:var(--ivory-dim);transition:color .25s;}
nav a:hover{color:var(--gold-bright);}
@media(max-width:760px){nav{display:none;}}

/* ---------- hero ---------- */
.hero{
  position:relative;
  min-height:88vh;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  text-align:center;padding:5rem 1.5rem;
  overflow:hidden;
  background:radial-gradient(ellipse 120% 70% at 50% 108%, #1B335E 0%, var(--navy) 55%, var(--navy-deep) 100%);
}
.suns{
  width:min(380px,66vw);
  margin-bottom:2.6rem;
  animation:rise 2.2s cubic-bezier(.22,.8,.3,1) both;
}
@keyframes rise{
  from{opacity:0;transform:translateY(42px);}
  to{opacity:1;transform:translateY(0);}
}
.hero-eyebrow{
  font-size:0.76rem;letter-spacing:0.42em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1.4rem;
  animation:fadein 1.5s .5s both;
}
.hero h1{
  font-size:clamp(2.8rem,9vw,6rem);
  letter-spacing:0.18em;text-transform:uppercase;
  font-weight:300;line-height:1.05;
  animation:fadein 1.5s .7s both;
}
.brand-tagline{
  font-family:'Fraunces',Georgia,serif;font-style:italic;
  color:var(--gold-bright);line-height:1.5;
}
.hero-tagline{
  margin-top:1.3rem;max-width:30rem;
  font-size:clamp(1.15rem,2.5vw,1.55rem);
  animation:fadein 1.5s .85s both;
}
.hero-sub{
  margin-top:1.6rem;max-width:34rem;
  color:var(--ivory-dim);font-size:1.02rem;
  animation:fadein 1.5s .95s both;
}
@keyframes fadein{from{opacity:0;}to{opacity:1;}}
.hero-cta{
  margin-top:2.8rem;display:inline-block;
  border:1px solid var(--gold);color:var(--gold-bright);
  padding:0.95rem 2.6rem;
  font-size:0.78rem;letter-spacing:0.28em;text-transform:uppercase;
  transition:background .3s,color .3s;
  animation:fadein 1.5s 1.15s both;
}
.hero-cta:hover{background:var(--gold);color:var(--navy-deep);}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .suns,.hero-eyebrow,.hero h1,.hero-tagline,.hero-sub,.hero-cta{animation:none;}
}

/* ---------- ribbon ---------- */
.ribbon{
  border-top:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
  background:var(--navy-deep);
  padding:1.1rem 1.5rem;
  display:flex;justify-content:center;gap:3rem;flex-wrap:wrap;
  font-size:0.73rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--ivory-dim);
}
.ribbon b{color:var(--gold);font-weight:500;}

/* ---------- sections ---------- */
section{padding:6rem 1.5rem;}
.section-inner{max-width:1200px;margin:0 auto;}
.eyebrow{
  font-size:0.73rem;letter-spacing:0.4em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1rem;
}
.section-title{
  font-size:clamp(1.8rem,4vw,2.7rem);
  font-weight:300;letter-spacing:0.04em;margin-bottom:1.2rem;
}
.lede{color:var(--ivory-dim);}

/* ---------- wines ---------- */
.wines-head{text-align:center;max-width:42rem;margin:0 auto 4rem;}
.wine-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:2rem;
}
.wine-card{
  background:linear-gradient(180deg,var(--navy-soft) 0%,var(--navy-deep) 100%);
  border:1px solid var(--hairline);
  padding:3rem 2.2rem 2.6rem;
  text-align:center;
  display:flex;flex-direction:column;
  transition:transform .35s,border-color .35s;
}
.wine-card:hover{transform:translateY(-6px);border-color:var(--gold);}
.bottle{height:180px;margin:0 auto 2rem;}
.wine-type{
  font-size:0.7rem;letter-spacing:0.28em;text-transform:uppercase;
  color:var(--gold);margin-bottom:0.9rem;
}
.wine-name{font-size:1.4rem;font-weight:400;letter-spacing:0.03em;margin-bottom:0.3rem;}
.wine-vintage{
  font-family:'Fraunces',Georgia,serif;font-style:italic;
  color:var(--ivory-dim);margin-bottom:0.4rem;
}
.wine-provenance{
  font-size:0.875rem;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--gold);margin-bottom:0.35rem;
}
.wine-origin{
  font-size:0.78rem;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--ivory-dim);margin-bottom:1.1rem;
}
.wine-rule{width:34px;height:1px;background:var(--gold);opacity:0.65;margin:0 auto 1.5rem;}
.wine-note{flex:1;text-align:left;}
.wine-desc{font-size:0.92rem;color:var(--ivory-dim);}
.wine-desc + .wine-desc{margin-top:0.9rem;}

/* ---------- origin ---------- */
.origin{border-top:1px solid var(--hairline);text-align:center;}
.origin-inner{max-width:44rem;margin:0 auto;}
.origin p{color:var(--ivory-dim);margin-bottom:1.3rem;}
.origin p em{font-family:'Fraunces',Georgia,serif;font-style:italic;color:var(--gold-bright);}
.origin-close{
  font-family:'Fraunces',Georgia,serif;font-style:italic;
  font-size:clamp(1.25rem,2.8vw,1.7rem);
  color:var(--ivory);margin:2.4rem 0 0;
}
.origin-tag{
  font-size:0.72rem;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--ivory-faint);margin:1.9rem 0 0;
}
.origin .divider-suns{margin:2.1rem auto 0;}

/* ---------- story ---------- */
.story{background:var(--navy-deep);border-top:1px solid var(--hairline);}
.story-inner{
  max-width:1060px;margin:0 auto;
  display:grid;grid-template-columns:0.8fr 1.2fr;gap:4.5rem;align-items:center;
}
@media(max-width:860px){.story-inner{grid-template-columns:1fr;gap:3rem;}}
.story-emblem{
  border:1px solid var(--hairline);
  padding:3.5rem 2rem;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.6rem;
}
.story-emblem svg{width:min(150px,50%);}
.story-emblem span{
  font-size:0.7rem;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--ivory-faint);text-align:center;
}
.story p{color:var(--ivory-dim);margin-bottom:1.2rem;}
.signature{
  font-family:'Fraunces',Georgia,serif;font-style:italic;
  font-size:1.45rem;color:var(--gold-bright);margin-top:1.6rem;
}

/* ---------- philosophy ---------- */
.philosophy{text-align:center;}
.philosophy blockquote{
  font-family:'Fraunces',Georgia,serif;
  font-size:clamp(1.4rem,3.4vw,2.2rem);
  font-weight:300;font-style:italic;
  max-width:44rem;margin:0 auto;line-height:1.5;
}
.philosophy blockquote em{color:var(--gold-bright);}
.divider-suns{width:74px;margin:2.4rem auto 0;}

/* ---------- contact ---------- */
.contact{
  background:var(--navy-deep);
  border-top:1px solid var(--hairline);
  text-align:center;
}
.contact-mail{
  display:inline-block;margin-top:0.6rem;
  font-family:'Fraunces',Georgia,serif;
  font-size:clamp(1.1rem,2.6vw,1.5rem);
  color:var(--gold-bright);
  border-bottom:1px solid var(--hairline);
  padding-bottom:0.3rem;transition:border-color .3s;
}
.contact-mail:hover{border-color:var(--gold);}

/* ---------- footer ---------- */
footer{
  background:var(--navy);
  border-top:1px solid var(--hairline);
  padding:3.5rem 1.5rem 2.5rem;
  text-align:center;
}
.footer-logo{
  font-family:'Fraunces',Georgia,serif;
  letter-spacing:0.32em;text-transform:uppercase;
  font-size:1.05rem;margin-bottom:0.8rem;
}
.footer-tagline{font-size:1.05rem;margin-bottom:1rem;}
.footer-meta{font-size:0.82rem;color:var(--ivory-dim);max-width:34rem;margin:0 auto 1.8rem;}
.footer-legal{
  font-size:0.72rem;color:var(--ivory-faint);
  letter-spacing:0.06em;line-height:1.9;
  max-width:44rem;margin:0 auto;
}
.footer-legal b{color:var(--gold);font-weight:500;}

/* Extensions use the established site palette and typography. */
section[id],div[id="top"]{scroll-margin-top:90px;}
button{font:inherit;}
button.hero-cta{background:transparent;cursor:pointer;}
.gate-actions .hero-cta{margin-top:0;}
.menu-toggle{display:none;}
.logo-mark{width:42px;height:28px;}
.footer-links{display:flex;justify-content:center;gap:2rem;margin:0 auto 2rem;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ivory-dim);}
.footer-links a:hover{color:var(--gold-bright);}
nav a[aria-current="page"]{color:var(--gold-bright);}
.text-link{display:inline-flex;align-items:center;gap:1rem;padding:.5rem 0;color:var(--gold-bright);font-size:.77rem;text-transform:uppercase;letter-spacing:.18em;border-bottom:1px solid var(--hairline);transition:border-color .2s;}
.text-link:hover{border-color:var(--gold-bright);}
.wine-link{align-self:center;margin-top:2rem;}
.bottle-frame{height:250px;display:flex;align-items:center;justify-content:center;margin:0 auto 2rem;}
.bottle-frame .bottle{margin:0;}
.bottle-photo{height:250px;width:auto;max-width:100%;object-fit:contain;}
.image-note,figcaption{font-size:.72rem;color:var(--ivory-faint);line-height:1.6;}
.image-note{text-align:center;margin-top:1.6rem;}
figcaption{margin-top:.75rem;}
.page-top{padding:2.1rem 1.5rem 0;}
.back-link{color:var(--ivory-dim);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;}
.back-link:hover{color:var(--gold-bright);}
.product-hero{padding-top:2.5rem;}
.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start;}
.product-photo{min-width:0;}
.studio-frame{position:relative;width:100%;aspect-ratio:1122/1402;overflow:hidden;}
.studio-frame img{position:absolute;inset:0;height:100%;width:100%;object-fit:contain;}
.product-copy{padding:.5rem 0;}
.product-copy h1{font-size:clamp(2.5rem,5vw,4.1rem);font-weight:300;line-height:1.15;letter-spacing:.035em;margin-bottom:.8rem;}
.product-vintage{font-family:'Fraunces',Georgia,serif;font-style:italic;color:var(--ivory-dim);font-size:1.15rem;margin-bottom:1.25rem;}
.wine-recognition{border-top:1px solid var(--hairline);margin:1.6rem 0 0;}
.wine-recognition section{padding:1.25rem 0;}
.show-award{border-top:1px solid var(--hairline);}
.award-line{display:block;color:var(--gold-bright);font-size:.79rem;letter-spacing:.2em;text-transform:uppercase;}
.recognition-source{font-size:.83rem;color:var(--ivory-dim);}
.orbit-review blockquote{margin:1rem 0 0;}
.orbit-review blockquote p{color:var(--ivory-dim);font-size:.94rem;line-height:1.7;}
.orbit-review blockquote footer{padding:0;margin-top:.75rem;background:none;border:0;color:var(--gold-bright);font-size:.76rem;letter-spacing:.08em;text-align:left;}
.tasting-note{margin:2rem 0;}
.tasting-note h2{font-size:1.4rem;margin-bottom:1.1rem;}
.tasting-note p{color:var(--ivory-dim);font-size:1rem;margin-top:1rem;}
.wine-facts{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 1.5rem;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:1.5rem 0;margin-bottom:1.5rem;}
.wine-facts dt{font-size:.67rem;letter-spacing:.17em;text-transform:uppercase;color:var(--gold);}
.wine-facts dd{font-size:.92rem;margin-top:.2rem;}
.landscape-section{background:var(--navy-deep);border-top:1px solid var(--hairline);}
.landscape-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem;}
.landscape-heading .section-title{margin-bottom:0;}
.landscape-heading>.lede{font-size:.82rem;}
.landscape-section img{width:100%;height:auto;}
.related{border-top:1px solid var(--hairline);}
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem;}
.related-wine{position:relative;padding:2rem 3rem 2rem 2rem;border:1px solid var(--hairline);transition:background .2s;}
.related-wine:hover{background:var(--navy-soft);}
.related-wine .eyebrow{display:block;margin-bottom:.6rem;font-size:.65rem;}
.related-wine .serif{font-size:1.8rem;}
.related-arrow{position:absolute;right:1.5rem;top:50%;color:var(--gold-bright);}
.sparkling-panel{min-height:640px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--hairline);background:linear-gradient(150deg,var(--navy-soft),var(--navy-deep));padding:3rem 1.5rem;text-align:center;}
.sparkling-panel .bottle{height:320px;}
.sparkling-panel .serif{font-size:1.8rem;}
.narrow{max-width:800px;margin:0 auto;}
.page-intro{text-align:center;padding:6rem 1.5rem 5rem;background:radial-gradient(ellipse at 50% 120%,var(--navy-soft),var(--navy-deep));}
.page-intro h1{font-size:clamp(2.5rem,6vw,4.8rem);font-weight:300;line-height:1.17;letter-spacing:.025em;}
.intro-lede{color:var(--ivory-dim);font-size:1.08rem;margin-top:2rem;}
.about-mark{width:180px;margin:0 auto 3rem;}
.about-wines{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.about-wines>a{padding:2.5rem 1.6rem;border:1px solid var(--hairline);text-align:center;}
.about-wines>a:hover{background:var(--navy-soft);}
.about-wines .eyebrow{display:block;font-size:.65rem;}
.about-wines h3{font-size:1.7rem;margin-bottom:1.2rem;}
.about-wines .text-link{font-size:.65rem;}
.contact-details{padding-top:4rem;padding-bottom:4rem;}
.contact-card{max-width:1000px;display:grid;grid-template-columns:.8fr 1.2fr;margin:0 auto;border:1px solid var(--hairline);}
.contact-person{padding:3rem;text-align:center;background:var(--navy-deep);}
.contact-person svg{width:100px;margin:0 auto 2rem;}
.contact-person h2{font-size:1.8rem;margin-bottom:.5rem;}
.contact-actions{padding:3rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;}
.contact-actions>.eyebrow{margin-bottom:.2rem;}
.contact-buttons{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-top:1.8rem;}
.contact-buttons .hero-cta{margin:0;padding:.8rem 1.4rem;}
.copy-email{background:none;border:0;border-bottom:1px solid var(--hairline);padding:.4rem 0;color:var(--ivory-dim);font-size:.78rem;cursor:pointer;}
.copy-email:hover{color:var(--gold-bright);}
.contact-status{min-height:1.6rem;margin-top:1rem;color:var(--gold-bright);font-size:.8rem;}
.contact-small{color:var(--ivory-faint);font-size:.73rem;}
.contact-return{text-align:center;border-top:1px solid var(--hairline);}
.inline-links{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;}
@media(max-width:900px){
  .product-grid{gap:2.2rem;}.product-copy h1{font-size:3rem;}
  .contact-person,.contact-actions{padding:2.2rem;}
}
@media(max-width:760px){
  .header-inner{position:relative;padding:.9rem 1.2rem;flex-wrap:wrap;}
  .logo-name{font-size:1rem;}.logo-mark{width:36px;}
  .menu-toggle{display:flex;gap:.6rem;align-items:center;background:none;border:1px solid var(--hairline);padding:.5rem .75rem;color:var(--ivory);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;}
  #primary-nav{display:none;width:100%;padding:.8rem 0 .3rem;gap:0;flex-direction:column;border-top:1px solid var(--hairline);}
  #primary-nav[data-open="true"]{display:flex;}
  #primary-nav a{padding:.7rem .2rem;}
  section{padding:4rem 1.3rem;}.hero{min-height:82svh;}
  .ribbon{gap:1rem 1.7rem;}
  .product-grid{grid-template-columns:1fr;gap:2rem;}
  .product-copy{max-width:560px;margin:0 auto;width:100%;}
  .product-hero{padding-top:1.8rem;}.page-top{padding-top:1.6rem;}
  .landscape-heading{display:block;}.landscape-heading>.lede{margin-top:1rem;}
  .related-grid{grid-template-columns:1fr;}.related-wine{padding:1.7rem;}
  .related-wine .serif{font-size:1.6rem;}
  .page-intro{padding:4.5rem 1.3rem 4rem;}
  .intro-lede{font-size:1rem;}
  .about-wines{grid-template-columns:1fr;}
  .contact-card{grid-template-columns:1fr;}
  .contact-actions{padding:2rem 1.4rem;align-items:center;text-align:center;}
  .contact-person{padding:2.5rem 1.5rem;}.contact-buttons{justify-content:center;}
  .contact-mail{font-size:clamp(1.03rem,5vw,1.5rem);overflow-wrap:anywhere;}
  .sparkling-panel{min-height:480px;}.sparkling-panel .bottle{height:260px;}
  .desktop-break{display:none;}.footer-links{gap:1.4rem;}
}
@media(max-width:360px){.wine-card{padding:2rem 1.2rem;}.wine-grid{grid-template-columns:1fr;}.logo-name{letter-spacing:.2em;}.wine-facts{gap:1rem .8rem;}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
