/* Generat din public/kaya/sparkling/style.css - toate regulile sunt izolate sub .sp ca sa nu afecteze restul site-ului. */
.sp{--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);}
.sp *, .sp *::before, .sp *::after{box-sizing: border-box;}
.sp{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;}
.sp .ambient-bg{display:none; position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden;}
.sp .ambient-bg__ribbon, .sp .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;}
.sp .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;}
.sp .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){.sp .ambient-bg{display:block;}}
.sp img, .sp svg{display:block; max-width:100%;}
.sp a{color:inherit; text-decoration:none;}
.sp h1, .sp h2, .sp h3{font-family: var(--font-display); font-weight:600; margin:0 0 .4em; line-height:1.05;}
.sp p{line-height:1.7; margin:0 0 1em; color: rgba(246,241,228,0.82);}
.sp .container{max-width:1180px; margin:0 auto; padding:0 28px;}
.sp .eyebrow{text-transform:uppercase; letter-spacing:.28em; font-size:.72rem;
    color: var(--gold); font-weight:600; margin-bottom: 14px;}
.sp .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;} }
.sp .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;}
.sp .btn--gold{background: linear-gradient(120deg, var(--gold-deep), var(--gold));
    color:#0a0a0a;
    box-shadow: 0 8px 24px -8px rgba(232,200,116,.55);}
.sp .btn--gold:hover{transform: translateY(-3px) scale(1.03); box-shadow: 0 14px 30px -8px rgba(232,200,116,.75);}
.sp .btn--gold:active{transform: translateY(0) scale(.98);}
.sp .btn--ghost{background:transparent; color: var(--gold); border-color: var(--gold);}
.sp .btn--ghost:hover{background: var(--gold); color:#0a0a0a;}
.sp .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;}
.sp .cursor-glow.active{opacity:1;}
@media (hover:none), (pointer:coarse){.sp .cursor-glow{display:none;}}
.sp .age-gate{position: fixed; inset:0; z-index: 999; display:flex; align-items:center; justify-content:center;
    padding: 24px;}
.sp .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%);}
.sp .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;} }
.sp .age-gate__logo{width:70px; margin: 0 auto 8px;}
.sp .age-gate__logo .spiral-path{stroke: var(--gold);}
.sp .spiral-svg--small{animation: spin 7s linear infinite;}
.sp .age-gate__eyebrow{text-transform:uppercase; letter-spacing:.3em; font-size:.7rem; color:var(--gold); margin-bottom:2px;}
.sp .age-gate__title{font-size: 2.4rem; letter-spacing:.05em; color: var(--cream); margin-bottom:14px;}
.sp .age-gate__text{font-size:.92rem;}
.sp .age-gate__form{display:flex; flex-direction:column; gap:12px; margin-top: 18px;}
.sp .age-gate__label{font-size:.72rem; text-transform:uppercase; letter-spacing:.15em; color: var(--gold); text-align:left;}
.sp .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;}
.sp .age-gate__input:focus{outline:none; border-color: var(--gold); box-shadow: 0 0 0 4px rgba(232,200,116,.15);}
.sp .age-gate__submit{margin-top:6px; width:100%;}
.sp .age-gate__error{display:none; color: var(--gold); font-size:.78rem; margin:0; text-align:left;}
.sp .age-gate__disclaimer{font-size:.68rem; opacity:.55; margin-top:20px; margin-bottom:0;}
.sp .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);}
}
.sp .age-gate__card.invalid .age-gate__error{display:block;}
.sp .age-gate__card.invalid .age-gate__input{border-color: var(--gold); box-shadow: 0 0 0 4px rgba(232,200,116,.2);}
.sp .age-gate__denied{display:none;}
.sp .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;}
.sp .age-gate__denied h2{color:var(--cream);}
.sp .age-gate__denied .btn{margin-top: 20px;}
.sp .age-gate__card.is-denied .age-gate__content{display:none;}
.sp .age-gate__card.is-denied .age-gate__denied{display:block; animation: fadeIn .5s var(--ease);}
@keyframes fadeIn{ from{opacity:0;} to{opacity:1;} }
.sp .age-gate.is-hidden{animation: gateOut .6s var(--ease) forwards; pointer-events:none;}
@keyframes gateOut{ to{ opacity:0; visibility:hidden; } }
.sp .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;}
.sp .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);}
.sp .site-header__inner{display:flex; align-items:center; justify-content:space-between;}
.sp .brand{display:flex; align-items:center; gap:10px; font-family: var(--font-display); font-size:1.15rem; letter-spacing:.08em;}
.sp .brand em{font-style:normal; color: var(--gold);}
.sp .spiral-svg--brand{width:30px; height:30px; animation: spin 6s linear infinite;}
.sp .spiral-svg--brand path{fill:none; stroke: var(--gold); stroke-width:14; stroke-linecap:round;}
.sp .main-nav{display:flex; gap:36px;}
.sp .main-nav a{font-size:.82rem; text-transform:uppercase; letter-spacing:.12em; position:relative; padding-bottom:4px;}
.sp .main-nav a::after{content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background: var(--gold);
    transition: width .35s var(--ease);}
.sp .main-nav a:hover::after{width:100%;}
.sp .nav-toggle{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px;}
.sp .nav-toggle span{width:24px; height:2px; background: var(--cream); transition: transform .35s, opacity .35s;}
.sp .hero{position:relative; min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center;
    overflow:hidden; padding: 140px 0 80px;}
.sp .hero__media{position:absolute; inset:0; z-index:0;}
.sp .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;}
.sp .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;}
.sp .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%);}
.sp .spiral-svg--ghost{position:absolute; top:50%; left:50%; width:min(70vw,560px); transform: translate(-50%,-50%); opacity:.14;}
.sp .spiral-svg--ghost path{fill:none; stroke: var(--gold); stroke-width:2.4;}
.sp .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);}
.sp .bubbles{position:absolute; inset:0;}
.sp .bubbles span{position:absolute; bottom:-10%; width: 10px; height:10px; border-radius:50%;
    background: rgba(255,255,255,.35); animation: bubbleRise linear infinite;}
.sp .bubbles span:nth-child(1){left:5%; width:8px; height:8px; animation-duration:9s; animation-delay:0s;}
.sp .bubbles span:nth-child(2){left:14%; width:14px; height:14px; animation-duration:12s; animation-delay:1s;}
.sp .bubbles span:nth-child(3){left:23%; width:6px; height:6px; animation-duration:7s; animation-delay:2.4s;}
.sp .bubbles span:nth-child(4){left:33%; width:11px; height:11px; animation-duration:10s; animation-delay:.6s;}
.sp .bubbles span:nth-child(5){left:44%; width:9px; height:9px; animation-duration:8.5s; animation-delay:3s;}
.sp .bubbles span:nth-child(6){left:54%; width:16px; height:16px; animation-duration:13s; animation-delay:1.8s;}
.sp .bubbles span:nth-child(7){left:63%; width:7px; height:7px; animation-duration:9.5s; animation-delay:2.2s;}
.sp .bubbles span:nth-child(8){left:71%; width:12px; height:12px; animation-duration:11s; animation-delay:.2s;}
.sp .bubbles span:nth-child(9){left:80%; width:9px; height:9px; animation-duration:8s; animation-delay:2.8s;}
.sp .bubbles span:nth-child(10){left:88%; width:13px; height:13px; animation-duration:12.5s; animation-delay:1.2s;}
.sp .bubbles span:nth-child(11){left:95%; width:6px; height:6px; animation-duration:7.5s; animation-delay:3.4s;}
.sp .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; }
}
.sp .hero__content{position:relative; z-index:2; text-align:center; max-width:820px;}
.sp .hero__eyebrow{text-align:center;}
.sp .hero__title{font-size: clamp(2.6rem, 7vw, 5.2rem); color: var(--cream);}
.sp .hero__subtitle{max-width: 560px; margin: 18px auto 30px; font-size:1.05rem;}
.sp .hero__cta{margin-top:6px;}
.sp .hero__scroll{position:absolute; bottom:36px; left:50%; transform:translateX(-50%); z-index:2; text-align:center;}
.sp .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;} }
.sp .hero__scroll p{font-size:.68rem; text-transform:uppercase; letter-spacing:.2em; color: var(--gold); margin:0;}
.sp .reveal{opacity:0; transition: opacity .9s var(--ease), transform .9s var(--ease); transition-delay: var(--d, 0s); will-change: transform, opacity;}
.sp .reveal[data-reveal="up"]{transform: translateY(46px);}
.sp .reveal[data-reveal="left"]{transform: translateX(-70px);}
.sp .reveal[data-reveal="right"]{transform: translateX(70px);}
.sp .reveal.is-visible{opacity:1; transform:none;}
.sp .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);}
.sp .wine-block__inner{max-width:720px; margin:0 auto;}
.sp .wine-block h2{font-size: clamp(1.8rem, 3.6vw, 2.6rem);}
.sp .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;}
.sp .wine-block__text{text-align:left;}
.sp .wine-stats{display:flex; justify-content:center; gap:36px; flex-wrap:wrap; margin-top:36px;}
.sp .wine-stats div{min-width:90px;}
.sp .wine-stats span{display:block; font-family: var(--font-display); font-size:1.5rem; color: var(--gold); font-weight:700;}
.sp .wine-stats small{font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; opacity:.6;}
.sp .split-block{display:grid; grid-template-columns: 1fr 1fr; align-items:center; gap:60px;
    max-width:1180px; margin: 0 auto; padding: 120px 28px;}
.sp .split-block--reverse{background: linear-gradient(180deg, rgba(255,255,255,0.015), transparent);}
.sp .split-block--reverse .split-block__media{order:2;}
.sp .split-block--reverse .split-block__text{order:1;}
.sp .split-block__media{position:relative;}
.sp .art{border-radius: 26px; overflow:hidden; box-shadow: 0 40px 90px -30px rgba(0,0,0,.65); transition: transform .6s var(--ease);}
.sp .art:hover{transform: translateY(-6px) rotate(-.4deg);}
.sp .art__svg{width:100%; height:auto; display:block;}
.sp .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); } }
.sp .rotate-slow{animation: spin 40s linear infinite; transform-origin:250px 250px;}
.sp .rotate-slow-rev{animation: spinRev 55s linear infinite; transform-origin:250px 250px;}
@keyframes spin{ to{ transform: rotate(360deg);} }
@keyframes spinRev{ to{ transform: rotate(-360deg);} }
.sp .spiral-path--ritual{stroke-dasharray: 900;
    stroke-dashoffset: 900;
    stroke-linecap: round;
    animation: spiralDrawIn 6s cubic-bezier(.22,1,.36,1) infinite;}
@keyframes spiralDrawIn{
    0%{ stroke-dashoffset: 900; }
    45%,55%{ stroke-dashoffset: 0; }
    100%{ stroke-dashoffset: -900; }
}
.sp .cork-burst{pointer-events:none;}
.sp .cork-spark{transform: rotate(var(--angle, 0deg)); transform-origin: 0 0;}
.sp .cork-spark circle, .sp .cork-spark rect{transform-origin: 0 0;
    opacity: 0;
    animation: corkSpark 6s cubic-bezier(.16,.84,.44,1) infinite;
    animation-delay: var(--delay, 0s);}
@keyframes corkSpark{
    0%, 47%{ transform: translateY(0) scale(0); opacity: 0; }
    53%{ transform: translateY(calc(var(--dist, 84px) * -0.2)) scale(1); opacity: 1; }
    74%{ transform: translateY(calc(var(--dist, 84px) * -1)) scale(.2); opacity: 0; }
    100%{ transform: translateY(calc(var(--dist, 84px) * -1)) scale(.2); opacity: 0; }
}
.sp .cork-spark--streak rect{animation-name: corkStreak;
    animation-duration: 6s;}
@keyframes corkStreak{
    0%, 47%{ transform: translateY(0) scaleY(.3); opacity: 0; }
    53%{ transform: translateY(calc(var(--dist, 120px) * -0.25)) scaleY(1.4); opacity: 1; }
    74%{ transform: translateY(calc(var(--dist, 120px) * -1)) scaleY(.6); opacity: 0; }
    100%{ transform: translateY(calc(var(--dist, 120px) * -1)) scaleY(.6); opacity: 0; }
}
.sp .cork-flash{transform-origin: 0 0;
    opacity: 0;
    animation: corkFlash 6s ease-out infinite;}
.sp .cork-flash--outer{animation-name: corkFlashOuter;
    animation-delay: .12s;}
@keyframes corkFlash{
    0%, 47%{ r: 0; opacity: 0; stroke-width: 3; }
    55%{ r: 55; opacity: .85; stroke-width: 2; }
    72%{ r: 105; opacity: 0; stroke-width: .5; }
    100%{ r: 105; opacity: 0; stroke-width: .5; }
}
@keyframes corkFlashOuter{
    0%, 47%{ r: 0; opacity: 0; stroke-width: 2; }
    55%{ r: 30; opacity: .6; stroke-width: 1.4; }
    75%{ r: 130; opacity: 0; stroke-width: .3; }
    100%{ r: 130; opacity: 0; stroke-width: .3; }
}
.sp .split-block__text h2{font-size: clamp(1.9rem, 3.4vw, 2.7rem);}
.sp .stat-row{display:flex; gap:36px; margin-top:28px;}
.sp .stat-row span{display:block; font-family: var(--font-display); font-size:1.7rem; color: var(--gold); font-weight:700;}
.sp .stat-row small{font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; opacity:.6;}
.sp .ritual-steps{list-style:none; padding:0; margin: 30px 0 0; display:flex; flex-direction:column; gap:16px;}
.sp .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;}
.sp .ritual-steps li:hover{background: rgba(232,200,116,.1); transform: translateX(6px); border-color: rgba(232,200,116,.35);}
.sp .ritual-steps li span{font-family: var(--font-display); font-weight:700; color: var(--gold); font-size:1.1rem; min-width:32px;}
.sp .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);} }
.sp .experience{position:relative; padding: 140px 0; text-align:center; overflow:hidden;
    background: linear-gradient(180deg, var(--ink) 0%, var(--ink-soft) 100%);}
.sp .spiral-svg--watermark{position:absolute; top:50%; left:50%; width: min(80vw, 700px); transform: translate(-50%,-50%); opacity:.05;}
.sp .spiral-svg--watermark path{fill:none; stroke: var(--gold); stroke-width:2;}
.sp .experience__inner{position:relative; z-index:2; max-width:640px; margin:0 auto;}
.sp .experience h2{font-size: clamp(2rem, 4vw, 2.8rem);}
.sp .experience__text{margin-bottom: 30px;}
.sp .experience__mail-cta{margin-bottom: 40px;}
.sp .newsletter{display:flex; gap:12px; max-width:420px; margin: 0 auto;}
.sp .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;}
.sp .newsletter input:focus{outline:none; border-color: var(--gold);}
.sp .newsletter__success{display:none; color: var(--gold); margin-top:16px; font-size:.9rem;}
.sp .newsletter__success.show{display:block; animation: fadeIn .6s var(--ease);}
.sp .social-row{display:flex; gap:18px; justify-content:center; margin-top: 34px;}
.sp .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);}
.sp .social-row a:hover{background: var(--gold); color:#0a0a0a; transform: translateY(-4px);}
.sp .site-footer{padding: 50px 0 30px; border-top:1px solid rgba(255,255,255,.06);}
.sp .site-footer__inner{display:flex; flex-direction:column; align-items:center; gap:18px; text-align:center;}
.sp .footer-nav{display:flex; gap:26px; flex-wrap:wrap; justify-content:center;}
.sp .footer-nav a{font-size:.82rem; opacity:.75; transition: opacity .3s;}
.sp .footer-nav a:hover{opacity:1; color: var(--gold);}
.sp .footer-disclaimer{font-size:.7rem; opacity:.45; margin:0;}
@media (prefers-reduced-motion: reduce){.sp *, .sp *::before, .sp *::after{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important;}}
@media (max-width: 980px){.sp .split-block{grid-template-columns:1fr; gap:40px; padding:90px 24px;}
.sp .split-block--reverse .split-block__media, .sp .split-block--reverse .split-block__text{order:initial;}}
@media (max-width: 760px){.sp .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;}
.sp .main-nav.open{transform: translateX(0);}
.sp .nav-toggle{display:flex; z-index:70;}
.sp .nav-toggle.open span:nth-child(1){transform: translateY(7px) rotate(45deg);}
.sp .nav-toggle.open span:nth-child(2){opacity:0;}
.sp .nav-toggle.open span:nth-child(3){transform: translateY(-7px) rotate(-45deg);}
.sp .hero{padding:120px 0 60px;}
.sp .hero__title{font-size: clamp(2.2rem, 9vw, 3rem);}
.sp .hero__subtitle{font-size:.95rem;}
.sp .split-block{padding:70px 20px;}
.sp .stat-row{gap:22px; flex-wrap:wrap;}
.sp .newsletter{flex-direction:column;}
.sp .age-gate__card{padding:38px 24px 28px;}
.sp .age-gate__title{font-size:1.9rem;}
.sp .wine-block{padding:80px 0;}
.sp .wine-stats{gap:22px;}}
@media (max-width: 420px){.sp .ritual-steps li{font-size:.85rem; padding:12px 14px;}}
