/* ================= VARIABLES ================= */
:root{
    --grey-light: #4a4a4a;
    --grey: #232323;
    --grey-dark: #0d0d0d;
    --ink: #060606;
    --ink-soft: #101010;
    --gold: #e8c874;
    --gold-deep: #b9903a;
    --cream: #f2f2f0;
    --white: #ffffff;
    --font-display: 'Cormorant Garamond', serif;
    --font-body: 'Poppins', sans-serif;
    --ease: cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
    margin:0;
    position: relative;
    font-family: var(--font-body);
    background: var(--ink);
    color: var(--cream);
    overflow-x: hidden;
    cursor: default;
}
body.locked{ overflow: hidden; height: 100vh; }

/* ================= AMBIENT BACKGROUND ================= */
.ambient-bg{
    display:none; position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden;
}
.ambient-bg__ribbon,
.ambient-bg__motifs{
    position:absolute; top:0; bottom:0; mix-blend-mode:screen; will-change: background-position;
    background-repeat: repeat-y; background-position: top center;
}
.ambient-bg__ribbon{
    right:0; width:180px; opacity:.2;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 480' width='180' height='480'%3E%3Cpath d='M 90.0,0.0 L 93.6,5.0 L 97.2,10.0 L 100.7,15.0 L 104.2,20.0 L 107.7,25.0 L 111.0,30.0 L 114.3,35.0 L 117.5,40.0 L 120.6,45.0 L 123.5,50.0 L 126.3,55.0 L 128.9,60.0 L 131.4,65.0 L 133.6,70.0 L 135.7,75.0 L 137.6,80.0 L 139.3,85.0 L 140.8,90.0 L 142.1,95.0 L 143.1,100.0 L 143.9,105.0 L 144.5,110.0 L 144.9,115.0 L 145.0,120.0 L 144.9,125.0 L 144.5,130.0 L 143.9,135.0 L 143.1,140.0 L 142.1,145.0 L 140.8,150.0 L 139.3,155.0 L 137.6,160.0 L 135.7,165.0 L 133.6,170.0 L 131.4,175.0 L 128.9,180.0 L 126.3,185.0 L 123.5,190.0 L 120.6,195.0 L 117.5,200.0 L 114.3,205.0 L 111.0,210.0 L 107.7,215.0 L 104.2,220.0 L 100.7,225.0 L 97.2,230.0 L 93.6,235.0 L 90.0,240.0 L 86.4,245.0 L 82.8,250.0 L 79.3,255.0 L 75.8,260.0 L 72.3,265.0 L 69.0,270.0 L 65.7,275.0 L 62.5,280.0 L 59.4,285.0 L 56.5,290.0 L 53.7,295.0 L 51.1,300.0 L 48.6,305.0 L 46.4,310.0 L 44.3,315.0 L 42.4,320.0 L 40.7,325.0 L 39.2,330.0 L 37.9,335.0 L 36.9,340.0 L 36.1,345.0 L 35.5,350.0 L 35.1,355.0 L 35.0,360.0 L 35.1,365.0 L 35.5,370.0 L 36.1,375.0 L 36.9,380.0 L 37.9,385.0 L 39.2,390.0 L 40.7,395.0 L 42.4,400.0 L 44.3,405.0 L 46.4,410.0 L 48.6,415.0 L 51.1,420.0 L 53.7,425.0 L 56.5,430.0 L 59.4,435.0 L 62.5,440.0 L 65.7,445.0 L 69.0,450.0 L 72.3,455.0 L 75.8,460.0 L 79.3,465.0 L 82.8,470.0 L 86.4,475.0 L 90.0,480.0' fill='none' stroke='%23e8c874' stroke-width='4.5' stroke-linecap='round' stroke-linejoin='round' opacity='0.9'/%3E%3Cpath d='M 158.0,104.0 q 4,-9 11,-11' fill='none' stroke='%23e8c874' stroke-width='2.0' stroke-linecap='round'/%3E%3Ccircle cx='158.0' cy='112.0' r='5.0' fill='%23e8c874'/%3E%3Ccircle cx='151.0' cy='118.0' r='5.0' fill='%23e8c874'/%3E%3Ccircle cx='165.0' cy='118.0' r='5.0' fill='%23e8c874'/%3E%3Ccircle cx='148.0' cy='127.0' r='4.5' fill='%23e8c874'/%3E%3Ccircle cx='158.0' cy='129.0' r='5.0' fill='%23e8c874'/%3E%3Ccircle cx='168.0' cy='127.0' r='4.5' fill='%23e8c874'/%3E%3Ccircle cx='154.0' cy='136.0' r='4.0' fill='%23e8c874'/%3E%3Ccircle cx='162.0' cy='136.0' r='4.0' fill='%23e8c874'/%3E%3Ccircle cx='158.0' cy='142.0' r='3.5' fill='%23e8c874'/%3E%3Cpath d='M 22.0,345.6 q 4,-9 11,-11' fill='none' stroke='%23e8c874' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='22.0' cy='352.8' r='4.5' fill='%23e8c874'/%3E%3Ccircle cx='15.7' cy='358.2' r='4.5' fill='%23e8c874'/%3E%3Ccircle cx='28.3' cy='358.2' r='4.5' fill='%23e8c874'/%3E%3Ccircle cx='13.0' cy='366.3' r='4.0' fill='%23e8c874'/%3E%3Ccircle cx='22.0' cy='368.1' r='4.5' fill='%23e8c874'/%3E%3Ccircle cx='31.0' cy='366.3' r='4.0' fill='%23e8c874'/%3E%3Ccircle cx='18.4' cy='374.4' r='3.6' fill='%23e8c874'/%3E%3Ccircle cx='25.6' cy='374.4' r='3.6' fill='%23e8c874'/%3E%3Ccircle cx='22.0' cy='379.8' r='3.1' fill='%23e8c874'/%3E%3C/svg%3E");
    background-size: 180px 480px;
    animation: ribbonFlow 26s linear infinite;
}
.ambient-bg__motifs{
    left:0; width:90px; opacity:.12;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 260' width='90' height='260'%3E%3Cg stroke='%23e8c874' fill='none' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M13,26 Q45,6 77,26 Q45,46 13,26 Z'/%3E%3Ccircle cx='45' cy='26' r='6' fill='%23e8c874'/%3E%3Cpath d='M45,4 L45,-4'/%3E%3Cpath d='M30,8 L26,0'/%3E%3Cpath d='M60,8 L64,0'/%3E%3C/g%3E%3Cg stroke='%23e8c874' fill='none' stroke-width='2'%3E%3Ccircle cx='45' cy='68' r='11'/%3E%3Ccircle cx='45' cy='90' r='11'/%3E%3Ccircle cx='32' cy='79' r='11'/%3E%3Ccircle cx='58' cy='79' r='11'/%3E%3Ccircle cx='45' cy='79' r='4' fill='%23e8c874'/%3E%3C/g%3E%3Cg stroke='%23e8c874' fill='none' stroke-width='2'%3E%3Cpath d='M45,120 L65,140 L45,160 L25,140 Z'/%3E%3Cpath d='M45,131 L54,140 L45,149 L36,140 Z'/%3E%3C/g%3E%3Cg transform='translate(45,195) scale(2.4)'%3E%3Cpath d='M 0,0 L 0.6,0.1 L 1.16,0.38 L 1.63,0.83 L 1.98,1.44 L 2.16,2.16 L 2.15,2.96 L 1.94,3.8 L 1.51,4.64 L 0.86,5.42 L 0,6.1 L -1.05,6.62 L -2.26,6.95 L -3.6,7.06 L -5.0,6.9 L -6.46,6.46 L -7.89,5.73 L -9.23,4.7 L -10.44,3.39 L -11.44,1.81 L -12.19,0 L -12.64,-2.0 L -12.75,-4.14 L -12.48,-6.36 L -11.83,-8.6 L -10.77,-10.77 L -9.31,-12.82 L -7.47,-14.66 L -5.27,-16.23 L -2.77,-17.45 L 0,-18.28' fill='none' stroke='%23e8c874' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cg stroke='%23e8c874' fill='none' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M33,234 L57,234'/%3E%3Cpath d='M45,222 L45,246'/%3E%3Ccircle cx='45' cy='234' r='3' fill='%23e8c874'/%3E%3C/g%3E%3C/svg%3E");
    background-size: 90px 260px;
    animation: motifsFlow 34s linear infinite reverse;
}
@keyframes ribbonFlow{ from{ background-position-y: 0; } to{ background-position-y: 480px; } }
@keyframes motifsFlow{ from{ background-position-y: 0; } to{ background-position-y: 260px; } }

@media (min-width: 1680px){
    .ambient-bg{ display:block; }
}
img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3{ font-family: var(--font-display); font-weight:600; margin:0 0 .4em; line-height:1.05; }
p{ line-height:1.7; margin:0 0 1em; color: rgba(246,241,228,0.82); }
.container{ max-width:1180px; margin:0 auto; padding:0 28px; }
.eyebrow{
    text-transform:uppercase; letter-spacing:.28em; font-size:.72rem;
    color: var(--gold); font-weight:600; margin-bottom: 14px;
}
.gold-text{
    background: linear-gradient(100deg, var(--gold-deep), var(--gold) 40%, #fff3d0 50%, var(--gold) 60%, var(--gold-deep));
    background-size: 250% 100%;
    -webkit-background-clip:text; background-clip:text; color:transparent;
    animation: shimmer 5s linear infinite;
}
@keyframes shimmer{ 0%{background-position:0% 0;} 100%{background-position: -250% 0;} }

/* ================= BUTTONS ================= */
.btn{
    display:inline-block; padding:16px 34px; border-radius:40px; font-weight:600;
    font-size:.85rem; letter-spacing:.06em; text-transform:uppercase;
    border:1px solid transparent; cursor:pointer; transition: transform .45s var(--ease), box-shadow .45s var(--ease), background .45s;
    position:relative; overflow:hidden;
}
.btn--gold{
    background: linear-gradient(120deg, var(--gold-deep), var(--gold));
    color:#0a0a0a;
    box-shadow: 0 8px 24px -8px rgba(232,200,116,.55);
}
.btn--gold:hover{ transform: translateY(-3px) scale(1.03); box-shadow: 0 14px 30px -8px rgba(232,200,116,.75); }
.btn--gold:active{ transform: translateY(0) scale(.98); }
.btn--ghost{
    background:transparent; color: var(--gold); border-color: var(--gold);
}
.btn--ghost:hover{ background: var(--gold); color:#0a0a0a; }

/* ================= CURSOR GLOW ================= */
.cursor-glow{
    position: fixed; top:0; left:0; width:340px; height:340px; border-radius:50%;
    background: radial-gradient(circle, rgba(232,200,116,.14), transparent 70%);
    pointer-events:none; z-index: 40; transform: translate(-50%,-50%);
    transition: opacity .3s; opacity:0; will-change: transform;
}
.cursor-glow.active{ opacity:1; }
@media (hover:none), (pointer:coarse){ .cursor-glow{ display:none; } }

/* ================= AGE GATE ================= */
.age-gate{
    position: fixed; inset:0; z-index: 999; display:flex; align-items:center; justify-content:center;
    padding: 24px;
}
.age-gate__backdrop{
    position:absolute; inset:0;
    background: radial-gradient(circle at 50% 20%, var(--grey-light) 0%, var(--grey-dark) 55%, var(--ink) 100%);
}
.age-gate__card{
    position:relative; width:100%; max-width: 460px; text-align:center;
    background: rgba(10,15,14,.72); backdrop-filter: blur(18px);
    border:1px solid rgba(232,200,116,.25); border-radius: 22px;
    padding: 48px 38px 34px; box-shadow: 0 30px 80px -20px rgba(0,0,0,.6);
    animation: modalIn .7s var(--ease) both;
}
@keyframes modalIn{ from{ opacity:0; transform: translateY(40px) scale(.96);} to{opacity:1; transform:none;} }
.age-gate__logo{ width:70px; margin: 0 auto 8px; }
.age-gate__logo .spiral-path{ stroke: var(--gold); }
.spiral-svg--small{ animation: spin 7s linear infinite; }
.age-gate__eyebrow{ text-transform:uppercase; letter-spacing:.3em; font-size:.7rem; color:var(--gold); margin-bottom:2px;}
.age-gate__title{ font-size: 2.4rem; letter-spacing:.05em; color: var(--cream); margin-bottom:14px; }
.age-gate__text{ font-size:.92rem; }
.age-gate__form{ display:flex; flex-direction:column; gap:12px; margin-top: 18px; }
.age-gate__label{ font-size:.72rem; text-transform:uppercase; letter-spacing:.15em; color: var(--gold); text-align:left; }
.age-gate__input{
    width:100%; padding:14px 16px; border-radius:12px; border:1px solid rgba(232,200,116,.35);
    background: rgba(255,255,255,.05); color: var(--cream); font-size:1rem; font-family: var(--font-body);
    transition: border-color .3s, box-shadow .3s;
}
.age-gate__input:focus{ outline:none; border-color: var(--gold); box-shadow: 0 0 0 4px rgba(232,200,116,.15); }
.age-gate__submit{ margin-top:6px; width:100%; }
.age-gate__error{ display:none; color: var(--gold); font-size:.78rem; margin:0; text-align:left; }
.age-gate__disclaimer{ font-size:.68rem; opacity:.55; margin-top:20px; margin-bottom:0; }

.age-gate__card.shake{ animation: shake .5s; }
@keyframes shake{
    10%,90%{ transform: translateX(-2px);} 20%,80%{transform:translateX(4px);}
    30%,50%,70%{transform:translateX(-8px);} 40%,60%{transform:translateX(8px);}
}
.age-gate__card.invalid .age-gate__error{ display:block; }
.age-gate__card.invalid .age-gate__input{ border-color: var(--gold); box-shadow: 0 0 0 4px rgba(232,200,116,.2); }

.age-gate__denied{ display:none; }
.age-gate__denied .denied-icon{
    width:70px; height:70px; border-radius:50%; margin:0 auto 18px; display:flex; align-items:center; justify-content:center;
    background: linear-gradient(120deg,#1a1a1a,#000000); border: 1px solid var(--gold); color: var(--gold);
    font-family: var(--font-display); font-weight:700; font-size:1.3rem;
}
.age-gate__denied h2{ color:var(--cream); }
.age-gate__denied .btn{ margin-top: 20px; }

.age-gate__card.is-denied .age-gate__content{ display:none; }
.age-gate__card.is-denied .age-gate__denied{ display:block; animation: fadeIn .5s var(--ease); }
@keyframes fadeIn{ from{opacity:0;} to{opacity:1;} }

.age-gate.is-hidden{ animation: gateOut .6s var(--ease) forwards; pointer-events:none; }
@keyframes gateOut{ to{ opacity:0; visibility:hidden; } }

/* ================= HEADER ================= */
.site-header{
    position: fixed; top:0; left:0; right:0; z-index: 60;
    padding: 22px 0; transition: background .4s var(--ease), padding .4s var(--ease), box-shadow .4s;
}
.site-header.scrolled{
    background: rgba(6,6,6,.85); backdrop-filter: blur(14px); padding: 12px 0;
    box-shadow: 0 10px 30px -12px rgba(0,0,0,.5);
}
.site-header__inner{ display:flex; align-items:center; justify-content:space-between; }
.brand{ display:flex; align-items:center; gap:10px; font-family: var(--font-display); font-size:1.15rem; letter-spacing:.08em; }
.brand em{ font-style:normal; color: var(--gold); }
.spiral-svg--brand{ width:30px; height:30px; animation: spin 6s linear infinite; }
.spiral-svg--brand path{ fill:none; stroke: var(--gold); stroke-width:14; stroke-linecap:round; }
.main-nav{ display:flex; gap:36px; }
.main-nav a{
    font-size:.82rem; text-transform:uppercase; letter-spacing:.12em; position:relative; padding-bottom:4px;
}
.main-nav a::after{
    content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background: var(--gold);
    transition: width .35s var(--ease);
}
.main-nav a:hover::after{ width:100%; }
.nav-toggle{ display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px; }
.nav-toggle span{ width:24px; height:2px; background: var(--cream); transition: transform .35s, opacity .35s; }

/* ================= HERO ================= */
.hero{
    position:relative; min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center;
    overflow:hidden; padding: 140px 0 80px;
}
.hero__media{ position:absolute; inset:0; z-index:0; }
.hero__media iframe{
    position:absolute; top:50%; left:50%; width:177.77vh; height:56.25vw; min-width:100%; min-height:100%;
    transform: translate(-50%,-50%); pointer-events:none;
}
.hero__fallback{
    position:absolute; inset:0; background: radial-gradient(circle at 50% 30%, var(--grey-light) 0%, var(--grey-dark) 60%, var(--ink) 100%);
    overflow:hidden;
}
.hero__overlay{
    position:absolute; inset:0; background: linear-gradient(180deg, rgba(6,6,6,.55) 0%, rgba(6,6,6,.35) 40%, rgba(6,6,6,.85) 100%);
}
.spiral-svg--ghost{
    position:absolute; top:50%; left:50%; width:min(70vw,560px); transform: translate(-50%,-50%); opacity:.14;
}
.spiral-svg--ghost path{ fill:none; stroke: var(--gold); stroke-width:2.4; }
.ice-glow{
    position:absolute; bottom:-10%; left:50%; transform:translateX(-50%); width:60vw; height:40vh; border-radius:50%;
    background: radial-gradient(circle, rgba(255,255,255,.18), transparent 70%); filter: blur(20px);
}
.bubbles{ position:absolute; inset:0; }
.bubbles span{
    position:absolute; bottom:-10%; width: 10px; height:10px; border-radius:50%;
    background: rgba(255,255,255,.35); animation: bubbleRise linear infinite;
}
.bubbles span:nth-child(1){ left:5%; width:8px; height:8px; animation-duration:9s; animation-delay:0s;}
.bubbles span:nth-child(2){ left:14%; width:14px; height:14px; animation-duration:12s; animation-delay:1s;}
.bubbles span:nth-child(3){ left:23%; width:6px; height:6px; animation-duration:7s; animation-delay:2.4s;}
.bubbles span:nth-child(4){ left:33%; width:11px; height:11px; animation-duration:10s; animation-delay:.6s;}
.bubbles span:nth-child(5){ left:44%; width:9px; height:9px; animation-duration:8.5s; animation-delay:3s;}
.bubbles span:nth-child(6){ left:54%; width:16px; height:16px; animation-duration:13s; animation-delay:1.8s;}
.bubbles span:nth-child(7){ left:63%; width:7px; height:7px; animation-duration:9.5s; animation-delay:2.2s;}
.bubbles span:nth-child(8){ left:71%; width:12px; height:12px; animation-duration:11s; animation-delay:.2s;}
.bubbles span:nth-child(9){ left:80%; width:9px; height:9px; animation-duration:8s; animation-delay:2.8s;}
.bubbles span:nth-child(10){ left:88%; width:13px; height:13px; animation-duration:12.5s; animation-delay:1.2s;}
.bubbles span:nth-child(11){ left:95%; width:6px; height:6px; animation-duration:7.5s; animation-delay:3.4s;}
.bubbles span:nth-child(12){ left:38%; width:10px; height:10px; animation-duration:10.5s; animation-delay:4s;}
@keyframes bubbleRise{
    0%{ transform: translateY(0) translateX(0); opacity:0; }
    10%{ opacity:.8; }
    100%{ transform: translateY(-110vh) translateX(20px); opacity:0; }
}

.hero__content{ position:relative; z-index:2; text-align:center; max-width:820px; }
.hero__eyebrow{ text-align:center; }
.hero__title{ font-size: clamp(2.6rem, 7vw, 5.2rem); color: var(--cream); }
.hero__subtitle{ max-width: 560px; margin: 18px auto 30px; font-size:1.05rem; }
.hero__cta{ margin-top:6px; }

.hero__scroll{
    position:absolute; bottom:36px; left:50%; transform:translateX(-50%); z-index:2; text-align:center;
}
.hero__scroll span{
    display:block; width:1px; height:44px; margin:0 auto 8px;
    background: linear-gradient(var(--gold), transparent);
    animation: scrollLine 1.8s ease-in-out infinite;
}
@keyframes scrollLine{ 0%{ opacity:0; transform: scaleY(.3); transform-origin:top;} 50%{opacity:1; transform:scaleY(1);} 100%{opacity:0; transform:scaleY(.3); transform-origin:bottom;} }
.hero__scroll p{ font-size:.68rem; text-transform:uppercase; letter-spacing:.2em; color: var(--gold); margin:0; }

/* ================= REVEAL ANIMATIONS ================= */
.reveal{ opacity:0; transition: opacity .9s var(--ease), transform .9s var(--ease); transition-delay: var(--d, 0s); will-change: transform, opacity; }
.reveal[data-reveal="up"]{ transform: translateY(46px); }
.reveal[data-reveal="left"]{ transform: translateX(-70px); }
.reveal[data-reveal="right"]{ transform: translateX(70px); }
.reveal.is-visible{ opacity:1; transform:none; }

/* ================= WINE DETAILS ================= */
.wine-block{
    position:relative; padding: 110px 0; text-align:center;
    background: linear-gradient(180deg, var(--ink-soft), var(--ink));
    border-top:1px solid rgba(232,200,116,.08); border-bottom:1px solid rgba(232,200,116,.08);
}
.wine-block__inner{ max-width:720px; margin:0 auto; }
.wine-block h2{ font-size: clamp(1.8rem, 3.6vw, 2.6rem); }
.wine-block__tag{
    display:inline-block; padding:8px 22px; border:1px solid rgba(232,200,116,.4); border-radius:30px;
    color: var(--gold); font-size:.7rem; text-transform:uppercase; letter-spacing:.15em; margin-bottom:28px;
}
.wine-block__text{ text-align:left; }
.wine-stats{ display:flex; justify-content:center; gap:36px; flex-wrap:wrap; margin-top:36px; }
.wine-stats div{ min-width:90px; }
.wine-stats span{ display:block; font-family: var(--font-display); font-size:1.5rem; color: var(--gold); font-weight:700; }
.wine-stats small{ font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; opacity:.6; }

/* ================= SPLIT BLOCKS ================= */
.split-block{
    display:grid; grid-template-columns: 1fr 1fr; align-items:center; gap:60px;
    max-width:1180px; margin: 0 auto; padding: 120px 28px;
}
.split-block--reverse{ background: linear-gradient(180deg, rgba(255,255,255,0.015), transparent); }
.split-block--reverse .split-block__media{ order:2; }
.split-block--reverse .split-block__text{ order:1; }

.split-block__media{ position:relative; }
.art{ border-radius: 26px; overflow:hidden; box-shadow: 0 40px 90px -30px rgba(0,0,0,.65); transition: transform .6s var(--ease); }
.art:hover{ transform: translateY(-6px) rotate(-.4deg); }
.art__svg{ width:100%; height:auto; display:block; }

.ice-cube{ animation: iceShimmer 3.4s ease-in-out infinite; animation-delay: var(--delay,0s); transform-origin:center; }
@keyframes iceShimmer{ 0%,100%{ opacity:.85; } 50%{ opacity:1; transform: translateY(-2px); } }

.rotate-slow{ animation: spin 40s linear infinite; transform-origin:250px 250px; }
.rotate-slow-rev{ animation: spinRev 55s linear infinite; transform-origin:250px 250px; }
@keyframes spin{ to{ transform: rotate(360deg);} }
@keyframes spinRev{ to{ transform: rotate(-360deg);} }

.spiral-path--ritual{ stroke-dasharray: 1000; stroke-dashoffset:1000; }
.split-block__text h2{ font-size: clamp(1.9rem, 3.4vw, 2.7rem); }
.stat-row{ display:flex; gap:36px; margin-top:28px; }
.stat-row span{ display:block; font-family: var(--font-display); font-size:1.7rem; color: var(--gold); font-weight:700; }
.stat-row small{ font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; opacity:.6; }

.ritual-steps{ list-style:none; padding:0; margin: 30px 0 0; display:flex; flex-direction:column; gap:16px; }
.ritual-steps li{
    display:flex; align-items:center; gap:16px; font-size:.95rem; color: var(--cream);
    padding:14px 18px; border-radius:14px; background: rgba(232,200,116,.05); border:1px solid rgba(232,200,116,.12);
    transition: background .4s, transform .4s var(--ease), border-color .4s;
}
.ritual-steps li:hover{ background: rgba(232,200,116,.1); transform: translateX(6px); border-color: rgba(232,200,116,.35); }
.ritual-steps li span{
    font-family: var(--font-display); font-weight:700; color: var(--gold); font-size:1.1rem; min-width:32px;
}

.seal{ animation: sealPulse 3s ease-in-out infinite; }
@keyframes sealPulse{ 0%,100%{ transform: translate(250px,430px) scale(1);} 50%{ transform: translate(250px,430px) scale(1.05);} }
.ribbon-strand path{ stroke-dasharray: 260; stroke-dashoffset:260; animation: ribbonDraw 3.4s var(--ease) infinite; }
@keyframes ribbonDraw{ 0%{ stroke-dashoffset:260;} 40%,60%{ stroke-dashoffset:0;} 100%{ stroke-dashoffset:-260;} }

/* ================= EXPERIENCE ================= */
.experience{
    position:relative; padding: 140px 0; text-align:center; overflow:hidden;
    background: linear-gradient(180deg, var(--ink) 0%, var(--ink-soft) 100%);
}
.spiral-svg--watermark{
    position:absolute; top:50%; left:50%; width: min(80vw, 700px); transform: translate(-50%,-50%); opacity:.05;
}
.spiral-svg--watermark path{ fill:none; stroke: var(--gold); stroke-width:2; }
.experience__inner{ position:relative; z-index:2; max-width:640px; margin:0 auto; }
.experience h2{ font-size: clamp(2rem, 4vw, 2.8rem); }
.experience__text{ margin-bottom: 30px; }
.experience__mail-cta{ margin-bottom: 40px; }
.newsletter{ display:flex; gap:12px; max-width:420px; margin: 0 auto; }
.newsletter input{
    flex:1; padding:15px 18px; border-radius:40px; border:1px solid rgba(232,200,116,.3);
    background: rgba(255,255,255,.05); color: var(--cream); font-family: var(--font-body); font-size:.9rem;
}
.newsletter input:focus{ outline:none; border-color: var(--gold); }
.newsletter__success{ display:none; color: var(--gold); margin-top:16px; font-size:.9rem; }
.newsletter__success.show{ display:block; animation: fadeIn .6s var(--ease); }
.social-row{ display:flex; gap:18px; justify-content:center; margin-top: 34px; }
.social-row a{
    width:44px; height:44px; border-radius:50%; border:1px solid rgba(232,200,116,.3); display:flex; align-items:center; justify-content:center;
    font-size:.72rem; letter-spacing:.05em; transition: background .35s, transform .35s var(--ease);
}
.social-row a:hover{ background: var(--gold); color:#0a0a0a; transform: translateY(-4px); }

/* ================= FOOTER ================= */
.site-footer{ padding: 50px 0 30px; border-top:1px solid rgba(255,255,255,.06); }
.site-footer__inner{ display:flex; flex-direction:column; align-items:center; gap:18px; text-align:center; }
.footer-nav{ display:flex; gap:26px; flex-wrap:wrap; justify-content:center; }
.footer-nav a{ font-size:.82rem; opacity:.75; transition: opacity .3s; }
.footer-nav a:hover{ opacity:1; color: var(--gold); }
.footer-disclaimer{ font-size:.7rem; opacity:.45; margin:0; }

/* ================= REDUCED MOTION ================= */
@media (prefers-reduced-motion: reduce){
    *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* ================= RESPONSIVE ================= */
@media (max-width: 980px){
    .split-block{ grid-template-columns:1fr; gap:40px; padding:90px 24px; }
    .split-block--reverse .split-block__media,
    .split-block--reverse .split-block__text{ order:initial; }
}

@media (max-width: 760px){
    .main-nav{
        position:fixed; top:0; right:0; height:100vh; width: min(78vw,320px);
        background: rgba(6,6,6,.97); backdrop-filter: blur(16px);
        flex-direction:column; justify-content:center; align-items:center; gap:32px;
        transform: translateX(100%); transition: transform .5s var(--ease);
        z-index:55;
    }
    .main-nav.open{ transform: translateX(0); }
    .nav-toggle{ display:flex; z-index:70; }
    .nav-toggle.open span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
    .nav-toggle.open span:nth-child(2){ opacity:0; }
    .nav-toggle.open span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

    .hero{ padding:120px 0 60px; }
    .hero__title{ font-size: clamp(2.2rem, 9vw, 3rem); }
    .hero__subtitle{ font-size:.95rem; }

    .split-block{ padding:70px 20px; }
    .stat-row{ gap:22px; flex-wrap:wrap; }
    .newsletter{ flex-direction:column; }
    .age-gate__card{ padding:38px 24px 28px; }
    .age-gate__title{ font-size:1.9rem; }
    .wine-block{ padding:80px 0; }
    .wine-stats{ gap:22px; }
}

@media (max-width: 420px){
    .ritual-steps li{ font-size:.85rem; padding:12px 14px; }
}
