/* Layout fluido fino a 1920 px. Le coordinate dei segnatesto seguono la foto. */
:root{
  --page-gutter:clamp(24px,4.2vw,80px);
  --wine-image-width:clamp(397.5px,36vw,600px);
  --wine-stage-height:clamp(680px,52vw,940px);
  --nav-height:108px;
}
html{scroll-padding-top:calc(var(--nav-height) + 20px);-webkit-hyphens:none;hyphens:none}
.page > *{min-width:0}
.topbar{left:0;right:0;margin-inline:auto;transform:none;height:var(--nav-height);padding:10px max(var(--page-gutter),calc((100% - 1440px)/2));grid-template-columns:1fr 1fr 1.3fr 1fr 1fr}
.topbar__link{font-size:clamp(10px,.8vw,14px);letter-spacing:.14em;display:flex;align-items:center;min-height:44px}
.topbar .topbar__link{color:#fff;font-weight:400}
.topbar .topbar__link:hover{color:#fff;opacity:1;transform:none}
.topbar .word-swap{position:relative;display:inline-block}
.topbar .word-swap .base{display:block}
.topbar .word-swap .alt{display:none}
.topbar .word-swap:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:#fff;transform:scaleX(0);transform-origin:left center;transition:transform .35s ease}
.topbar__link:hover .word-swap:after,.topbar__link:focus-visible .word-swap:after{transform:scaleX(1)}
.topbar__link:focus-visible{outline:1px solid #fff;outline-offset:6px}
.brand{margin-top:0}
.brand__logo{display:block;width:clamp(120px,9vw,165px);height:auto;max-height:none;flex-shrink:0}
.hero{height:clamp(480px,44vw,860px);min-height:480px}
.intro{padding:clamp(60px,6vw,110px) var(--page-gutter) 46px}
.intro h1{font-size:clamp(36px,3.8vw,66px);line-height:1.05;margin-bottom:26px}
.intro p{font-size:clamp(12px,1vw,16px);line-height:1.7;max-width:820px}
.intro p strong{font-size:inherit}
.section-nav{max-width:1000px;margin-top:48px}
.nav-item,.nav-item .nav-alternate{font-size:clamp(16px,1.4vw,23px)}
.time{height:clamp(480px,42vw,760px)}
.section-copy h2,.terroir__copy h2,.club__copy h2{font-size:clamp(40px,4vw,72px);line-height:1.05}
.time .section-copy{width:min(680px,calc(100% - 48px))}
.section-copy p{font-size:clamp(13px,1.1vw,17px);line-height:1.8;max-width:600px}
.terroir,.club{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.terroir__media,.club__media{min-height:clamp(480px,43vw,780px)}
.terroir__copy,.club__copy{padding:clamp(40px,6vw,110px);min-width:0;max-width:none}
.terroir__copy p,.club__copy > p{max-width:520px;font-size:clamp(13px,1.05vw,17px);line-height:1.8}
.taste__intro{min-height:clamp(410px,32vw,620px);padding:80px var(--page-gutter)}
.taste .taste__intro .section-copy{width:min(840px,100%)}
.taste .taste__intro .section-copy p{font-size:clamp(13px,1vw,16px);line-height:1.85;column-gap:clamp(28px,4vw,64px)}
.taste__product{padding:0 var(--page-gutter) 64px;min-height:0}
.taste__visual{height:var(--wine-stage-height)}
.taste .taste__bottle img,.taste__hotspots{width:var(--wine-image-width)}
.taste .taste__product[data-wine="scultura"] .taste__bottle img{width:calc(var(--wine-image-width)*.889468);clip-path:none;-webkit-mask-image:none;mask-image:none;filter:drop-shadow(0 5px 5px #0005)}
.taste__bottle:before{top:calc(50% + var(--wine-image-width)*.666667 - 8px);width:calc(var(--wine-image-width)*.36)}
.taste__product[data-wine="scultura"] .taste__bottle:before{top:calc(50% + var(--wine-image-width)*.662);width:calc(var(--wine-image-width)*.49);height:clamp(18px,2vw,28px);transform:translate(-50%,-50%);background:radial-gradient(ellipse,#000c 0%,#0009 30%,#0004 58%,transparent 78%);filter:blur(5px)}
.taste__product[data-wine="scultura"] .taste__bottle:after{content:"";position:absolute;z-index:0;left:50%;top:calc(50% + var(--wine-image-width)*.662);width:calc(var(--wine-image-width)*.32);height:10px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,#000e 0%,#000b 40%,transparent 78%);filter:blur(2px);pointer-events:none}
.taste__switcher{top:28px;right:max(var(--page-gutter),calc((100% - 1200px)/2));gap:28px}
.taste__switcher button{font-size:clamp(11px,.8vw,14px)}
.taste__edition-title{top:calc(50% - var(--wine-image-width)*.38);left:calc(50% - var(--wine-image-width)*.72);font-size:clamp(9px,.7vw,12px)}
.taste__artist{top:calc(50% + var(--wine-image-width)*.34);left:calc(50% + var(--wine-image-width)*.43);right:auto}
.taste__artist-name{font-size:clamp(9px,.7vw,12px);letter-spacing:.15em}
.taste__artist-signature{width:clamp(112px,9vw,150px);height:auto}
.taste__year-reel{--year-height:clamp(220px,20vw,320px);height:var(--year-height)}
.taste__year-track span{height:var(--year-height);flex-basis:var(--year-height);font-size:clamp(205px,20vw,310px);line-height:var(--year-height)}
.taste__year-reel.is-scrolled .taste__year-track{transform:translateY(calc(var(--year-height)*-3))}
.taste__number-reels{--reel-height:clamp(220px,20vw,320px);width:min(960px,100%);grid-template-columns:1fr clamp(100px,12vw,220px) 1fr;font-size:clamp(205px,20vw,310px)}
.taste__product > .taste__reservation{width:min(1200px,100%);margin-top:var(--wine-stage-height);padding:8px 24px 75px}
.taste__editorial{width:min(1200px,100%);padding-inline:24px}
.taste__editorial h3{font-size:clamp(28px,2.5vw,40px)}
.taste__editorial-profile dl div{grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr);padding-block:16px;gap:24px}
.taste__editorial-profile dt{font-size:clamp(11px,.8vw,14px);line-height:1.6}
.taste__editorial-profile dd{font-size:clamp(15px,1.2vw,20px);line-height:1.5;overflow-wrap:anywhere}
.taste__reservation-note span{font-size:clamp(8px,.65vw,11px)}
.taste__reservation-note strong{font-size:clamp(18px,1.5vw,25px)}
.taste__reservation-note small{font-size:clamp(9px,.7vw,12px)}
.taste__reservation-cta{font-size:clamp(15px,1.2vw,20px)}
.club-form{width:min(480px,100%);max-width:none;gap:16px}
.field{font-size:clamp(12px,.9vw,15px)}
.field input,.field select{width:100%;min-width:0;height:48px;font-size:16px}
.club-form button{min-height:46px;font-size:12px}
.consent{font-size:12px;line-height:1.6}
.consent input{flex:0 0 auto;margin-top:3px}
.footer{padding:42px var(--page-gutter) 28px}
.footer__body,.footer__bottom{width:min(1440px,100%);margin-inline:auto}
.footer__body{gap:clamp(24px,4vw,72px);grid-template-columns:.5fr .85fr 1.2fr 1.2fr}
.footer__label{font-size:clamp(9px,.7vw,12px)}
.footer .footer__links,.footer .footer__contact,.footer .footer__club{font-size:clamp(11px,.9vw,15px)}
.footer .footer__club-cta{font-size:clamp(17px,1.4vw,22px)}
.footer__bottom{font-size:clamp(9px,.7vw,12px)}
.footer__club-cta{max-width:100%}
.footer__club-cta{position:relative;border-bottom:0}
.footer__club-cta:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .45s ease;pointer-events:none}
.footer__club-cta:hover:after,.footer__club-cta:focus-visible:after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){.footer__club-cta:after{transition:none}}
#club-form{scroll-margin-top:calc(var(--nav-height) + 20px)}

@media(min-width:1024px){
  .hero{height:max(1080px,100svh);min-height:1080px}
}

@media(max-width:900px){
  .terroir,.club{grid-template-columns:minmax(0,1fr)}
  .terroir__media,.club__media{min-height:clamp(340px,58vw,520px)}
  .terroir__copy,.club__copy{min-height:0;padding:56px var(--page-gutter)}
  .terroir__copy p,.club__copy > p,.club-form{width:100%;max-width:600px;margin-inline:auto}
  .terroir__copy h2,.club__copy h2{width:min(600px,100%);margin-inline:auto}
  .club__copy > p{margin-bottom:30px}
  .footer__body{grid-template-columns:.45fr .8fr 1.2fr 1.2fr;gap:24px}
}

@media(max-width:600px){
  :root{--nav-height:116px;--wine-image-width:min(397.5px,86vw);--wine-stage-height:610px}
  .topbar{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:60px 36px;padding:8px 16px 12px;gap:0 8px}
  .topbar .brand{grid-column:1/-1;grid-row:1;align-self:center}
  .brand__logo{width:105px;height:auto;max-height:none}
  .topbar__link{grid-row:2;min-height:36px;font-size:10px;letter-spacing:.08em}
  .hero{height:70svh;min-height:480px;max-height:740px}
  .intro{padding:56px 24px 34px}
  .intro h1{font-size:40px}
  .intro p{font-size:13px}
  .section-nav{padding-inline:0;margin-top:38px}
  .nav-item,.nav-item .nav-alternate{font-size:16px}
  .time{height:520px}
  .time .section-copy{width:calc(100% - 48px)}
  .section-copy h2,.terroir__copy h2,.club__copy h2{font-size:42px}
  .section-copy p,.terroir__copy p,.club__copy > p{font-size:14px}
  .taste__intro{padding:64px 24px;min-height:410px}
  .taste .taste__intro .section-copy p{column-count:1;font-size:13px;line-height:1.85}
  .taste__product{padding:0 20px 48px}
  .taste__switcher{top:22px;right:24px;gap:22px}
  .taste__edition-title{left:24px;top:calc(50% - 145px);font-size:8px;letter-spacing:.13em}
  .taste__artist{left:auto;right:52px;top:calc(50% + var(--wine-image-width)*.4);width:min(110px,26vw)}
  .taste__artist-signature{width:90px;max-width:100%;height:auto}
  .taste__artist-name{font-size:8px;letter-spacing:.08em}
  .taste__year-reel{--year-height:160px}
  .taste__year-track span{font-size:clamp(112px,30vw,160px)}
  .taste__number-reels{--reel-height:160px;grid-template-columns:1fr 90px 1fr;font-size:clamp(90px,26vw,150px)}
  .taste__product > .taste__reservation{padding:8px 0 75px;gap:14px}
  .taste__reservation-note strong{font-size:17px}
  .taste__reservation-cta{font-size:15px;gap:10px;padding-left:0}
  .taste__editorial{padding:26px 0 20px}
  .taste__editorial-profile dl div{grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:16px;padding-block:14px}
  .taste__editorial-profile dt{font-size:12px}
  .taste__editorial-profile dd{font-size:16px}
  .taste__concept-dialog{padding:38px 24px 28px}
  .taste__concept-dialog p{font-size:14px}
  .club__copy{padding:48px 24px}
  .footer{padding:32px 24px 24px}
  .footer__body{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:32px 24px}
  .footer .footer__club{grid-column:auto}
  .footer .footer__links,.footer .footer__contact,.footer .footer__club{font-size:12px}
  .footer__bottom{gap:10px;font-size:10px}
  .custom-status{left:20px;right:20px;bottom:20px;overflow-wrap:anywhere}
}

@media(max-width:360px){
  .topbar__link{font-size:9px}
  .taste__product > .taste__reservation{align-items:flex-start;flex-direction:column}
  .taste__product[data-wine="6138"] > .taste__reservation{align-items:flex-end}
  .taste__reservation-cta{align-self:flex-end}
  .footer__body{gap:28px 16px}
}

body a[href],body button:not(:disabled),body [role="button"],body.cursor-light a[href],body.cursor-light button:not(:disabled),body.cursor-light [role="button"]{cursor:pointer}
.hero{cursor:url("./pittogramma-cursor-white.png") 16 16,auto}
.topbar{cursor:url("./pittogramma-cursor-white.png") 16 16,auto}

.taste__switcher button[data-wine-select]{position:relative;border-bottom:0}
.taste__switcher button[data-wine-select]:before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left center;transition:transform .4s ease}
.taste__switcher button[data-wine-select]:hover:before,.taste__switcher button[data-wine-select]:focus-visible:before{transform:scaleX(1)}

.taste__product .taste__reservation-cta{position:relative;border-bottom:0}
.taste__product .taste__reservation-cta:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left center;transition:transform .45s ease}
.taste__product[data-wine="6138"] .taste__reservation-cta:after{background:currentColor}
.taste__product .taste__reservation-cta:hover:after,.taste__product .taste__reservation-cta:focus-visible:after{transform:scaleX(1)}

/* Le linee partono dall'etichetta e raggiungono il punto quando entra in vista. */
.taste__leader-line{stroke-dasharray:100;stroke-dashoffset:100}
.taste__leader-line.is-revealed{animation:leader-line-draw 2.8s cubic-bezier(.25,.1,.25,1) both}
@keyframes leader-line-draw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
.taste__hotspot.is-reveal-ready:before{opacity:0;transition:opacity .1s}
.taste__hotspot.is-reveal-ready.is-revealed:before{opacity:1;transition-delay:1.5s}
.taste__hotspot--artist.is-reveal-ready:after{transform:scaleX(0);transform-origin:left center}
.taste__hotspot--artist.is-reveal-ready.is-revealed:after{animation:artist-line-draw 2.8s ease both}
@keyframes artist-line-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.taste__hotspot.is-revealed:before{animation:scultura-hotspot-pulse 2.6s ease-out 1.5s infinite}
.taste__product[data-wine="6138"] .taste__hotspot.is-revealed:before{animation-name:wine-6138-pulse}
@media(prefers-reduced-motion:reduce){.taste__hotspot.is-revealed:before{animation:none!important}}
.taste__hotspot.is-reveal-ready:focus-visible:before{opacity:1;transition:none}
@media(prefers-reduced-motion:reduce){
  .taste__leader-line{stroke-dashoffset:0;animation:none!important}
  .taste__hotspot.is-reveal-ready:before{opacity:1;transition:none}
  .taste__hotspot--artist.is-reveal-ready:after{transform:scaleX(1);animation:none!important}
}

body.age-gate-active{overflow:hidden}
.age-gate,.age-gate::backdrop{cursor:url("./pittogramma-cursor-white.png") 16 16,auto}
.age-gate{width:min(820px,calc(100% - 40px));max-width:none;max-height:calc(100svh - 40px);padding:0;border:1px solid #c6ad7755;background:#160f0b;color:#e8e2d4;box-shadow:0 32px 120px #0009;overflow:auto}
.age-gate::backdrop{background:radial-gradient(ellipse at 50% 45%,#24190ff2,#080605fa);backdrop-filter:blur(12px)}
.age-gate__layout{display:grid;grid-template-columns:.85fr 1.35fr;min-height:460px}
.age-gate__visual{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:44px 24px;border-right:1px solid #c6ad7730;background:linear-gradient(145deg,#33251b,#160f0b);overflow:hidden}
.age-gate__visual:before{content:"";position:absolute;z-index:-1;inset:0;background:#c6ad77;opacity:.07;-webkit-mask:url("./assets/brand/pittogramma.webp") center/96px auto repeat;mask:url("./assets/brand/pittogramma.webp") center/96px auto repeat}
.age-gate__mark{display:block;width:150px;height:auto;aspect-ratio:673/666;object-fit:contain;filter:brightness(0) saturate(100%) invert(76%) sepia(24%) saturate(571%) hue-rotate(3deg) brightness(91%) contrast(89%)}
.age-gate__motto{margin:0;text-align:center;color:#c5b69a;font:400 25px/1.15 var(--serif)}
.age-gate__content{display:flex;flex-direction:column;justify-content:center;padding:48px clamp(24px,4vw,52px)}
.age-gate__brand{margin:0 0 36px;color:#c6ad77;font:400 10px/1.6 var(--sans);letter-spacing:.22em;text-transform:uppercase}
.age-gate h2{margin:0 0 20px;color:#e8e2d4;font:400 clamp(36px,4vw,48px)/1.08 var(--serif)}
.age-gate__intro{margin:0 0 24px;max-width:300px;color:#aaa99e;font:400 13px/1.8 var(--sans)}
.age-gate__form{display:grid;gap:24px}
.age-gate__confirmation{display:flex;align-items:center;gap:12px;min-height:44px;color:#d6cebe;font:400 13px/1.6 var(--sans);cursor:pointer}
.age-gate__checkbox{appearance:none;-webkit-appearance:none;display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;margin:0;border:1px solid #c6ad7780;border-radius:0;background:transparent;cursor:pointer;transition:background .2s,border-color .2s}
.age-gate__checkbox:checked{background:#c6ad77;border-color:#c6ad77}
.age-gate__checkbox:checked:after{content:"";width:5px;height:10px;margin-top:-3px;border:solid #160f0b;border-width:0 2px 2px 0;transform:rotate(45deg)}
.age-gate__enter{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:50px;width:100%;padding:14px 18px;border:1px solid #c6ad77;border-radius:0;background:#c6ad77;color:#160f0b;text-align:left;font:400 17px/1.3 var(--serif);transition:background .2s,opacity .2s}
.age-gate__enter span{font-size:23px;transition:transform .2s}
.age-gate__enter:disabled{opacity:.35;cursor:default}
.age-gate__enter:hover:not(:disabled){background:#d8c394}
.age-gate__enter:hover:not(:disabled) span{transform:translate(2px,-2px)}
.age-gate :focus-visible{outline:2px solid #e8e2d4;outline-offset:5px}
@media(max-width:600px){
  .age-gate{width:calc(100% - 32px);max-height:calc(100svh - 32px)}
  .age-gate__layout{grid-template-columns:minmax(0,1fr);min-height:0}
  .age-gate__visual{padding:20px 24px;gap:14px;border-right:0;border-bottom:1px solid #c6ad7730;flex-direction:column}
  .age-gate__mark{width:80px;flex:0 0 auto}
  .age-gate__motto{text-align:center;font-size:22px}
  .age-gate__content{padding:30px 26px}
  .age-gate__brand{margin-bottom:24px;font-size:9px}
  .age-gate h2{font-size:38px}
  .age-gate__intro{margin-bottom:18px}
  .age-gate__form{gap:20px}
}
@media(max-height:540px) and (min-width:601px){.age-gate__layout{min-height:0}.age-gate__content{padding-block:24px}.age-gate__brand{margin-bottom:20px}.age-gate__visual{padding-block:24px}}
@media(prefers-reduced-motion:reduce){.age-gate *,.age-gate *:after{transition:none}}

/* Textures keep their original appearance; download only near the Club section. */
.club.is-media-ready{--club-envelope:url("./assets/club/envelope-open-photo.webp");--club-paper:url("./assets/club/cotton-paper.webp");--club-seal:url("./assets/wrapping/ceralacca.webp");}
.club-form.club-letter{width:100%;max-width:600px;gap:18px}
.club-letter__stage{position:relative;container-type:inline-size;min-width:0;padding:116px 6px 30px;perspective:1200px;overflow:hidden}
.club-letter__envelope{position:relative;isolation:isolate;min-height:430px;background:transparent;border:0;box-shadow:none;transform-origin:50% 75%}
.club-letter__envelope:before{content:"";position:absolute;z-index:0;left:-14.65%;bottom:calc(-.02 * 100cqw);width:129.3%;aspect-ratio:1536/1024;background:var(--club-envelope,none) center/100% 100% no-repeat;opacity:1;transition:opacity .35s ease .55s;pointer-events:none}
.club-letter__paper{position:relative;z-index:2;min-height:340px;margin:0 6% 80px;padding:28px clamp(22px,3vw,38px) calc(32px + 28cqw);border:1px solid #bca98b45;border-radius:1px;background:linear-gradient(#fff9,#ffffff66),var(--club-paper,none) center/600px auto;box-shadow:0 -2px 5px #3d28140c,0 7px 16px #3d281422,inset 0 1px 1px #fff;transition:transform .95s ease,opacity .65s ease}
.club-letter__paper:before{content:"";position:absolute;inset:12px;border:1px solid #bca98b35;box-shadow:0 1px 0 #fff8;pointer-events:none}
.club-letter.is-reveal-ready .club-letter__paper{transform:translateY(42px);transition:transform 1.35s cubic-bezier(.22,1,.36,1),opacity .65s ease}
.club-letter.is-reveal-ready.is-paper-visible .club-letter__paper{transform:translateY(-16px)}
.club-letter__eyebrow{margin:0 76px 8px 0;color:#9b866c;font:400 8px/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.club-letter__invitation{max-width:calc(100% - 70px);margin:0 0 18px;color:#694f3c;font:italic 400 clamp(25px,2vw,30px)/1.2 var(--serif)}
.club-letter__benefits{margin:0 0 24px;color:#694f3c;opacity:.72;font:400 11px/1.7 var(--sans)}
.club-letter__benefits p{margin:0}
.club-letter__benefits ul{margin:8px 0 12px;padding-left:15px}
.club-letter__benefits li{margin:0 0 5px;padding-left:2px}
.club-letter__benefits .club-letter__fee{margin-top:12px}
.club-letter__stamp{position:absolute;top:28px;right:26px;display:block;width:78px;height:78px;transform:rotate(-8deg);filter:drop-shadow(2px 4px 2px #321b1245)}
.club-letter__stamp:before,.club-letter__seal:before{content:"";position:absolute;inset:0;background:var(--club-seal,none) center/contain no-repeat;clip-path:ellipse(48% 46% at 50% 48%)}
.club-letter__address{display:grid;grid-template-columns:45px minmax(0,1fr);align-items:baseline;gap:12px;margin:0 0 12px}
.club-letter__address > span{color:#806b5c;font:italic 400 20px/1.4 var(--serif)}
.club-letter .club-letter__email,.club-letter .club-letter__to{width:100%;min-width:0;min-height:42px;margin:0;padding:6px 0;border:0;border-bottom:1px solid #bca98b55;border-radius:0;background:transparent;color:#694f3c;font:400 17px/1.5 var(--serif);outline:none;overflow-wrap:anywhere}
.club-letter__address:has(.club-letter__email) > span{color:#694f3c;font-weight:600}
.club-letter .club-letter__email{border-bottom:1px solid #bca98b55}
.club-letter__email::placeholder{color:#806b5c;opacity:1}
.club-letter .club-letter__email:focus{border-color:#bca98b55;box-shadow:none}
.club-letter .club-letter__to{display:block;font-size:clamp(13px,1vw,16px)}
.club-letter__front{position:absolute;z-index:3;left:-14.65%;bottom:calc(-.02 * 100cqw);width:129.3%;aspect-ratio:1536/1024;background:var(--club-envelope,none) center/100% 100% no-repeat;clip-path:polygon(11.3% 44.5%,39.6% 70.5%,60.2% 70.5%,88.7% 44.5%,88.7% 98%,11.3% 98%);pointer-events:none}
.club-letter__flap{position:absolute;z-index:4;top:calc(100% - 100cqw * .46);left:0;right:0;height:calc(100cqw * .365);background:linear-gradient(180deg,#ffffff30,#bba17c20 90%,#9b805647),var(--club-paper,none) center/600px auto;clip-path:polygon(0 0,100% 0,51% 99.5%,50% 100%,49% 99.5%);transform:rotateX(-180deg);transform-origin:top;opacity:0;transition:transform .9s cubic-bezier(.45,0,.2,1) .55s,opacity .1s ease .55s;pointer-events:none;backface-visibility:hidden}
.club-letter__seal{position:absolute;z-index:5;top:calc(100% - 100cqw * .095);left:50%;width:82px;height:82px;transform:translate(-50%,-50%) scale(.82) rotate(-8deg);filter:drop-shadow(2px 5px 2px #321b1255);opacity:0;transition:opacity .3s ease 1.4s,transform .3s ease 1.4s;pointer-events:none}
.club-letter.is-closing .club-letter__envelope:before{opacity:0}
.club-letter.is-closing .club-letter__paper,.club-letter.is-reveal-ready.is-closing .club-letter__paper{transform:translateY(150px);opacity:0;transition:transform .95s ease,opacity .65s ease}
.club-letter.is-closing .club-letter__flap{transform:rotateX(0);opacity:1}
.club-letter.is-closing .club-letter__seal{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-8deg)}
.club-letter.is-sent .club-letter__envelope{animation:club-letter-send 1.15s cubic-bezier(.5,0,.75,.4) both}
@keyframes club-letter-send{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(35%,-70px) rotate(-5deg);opacity:0}}
.club-letter__delivered{position:absolute;inset:60px 0 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;opacity:0;visibility:hidden;color:#694f3c}
.club-letter__delivered:before{content:"";width:52px;height:60px;background:#694f3c;-webkit-mask:url("./assets/brand/pittogramma.webp") center/contain no-repeat;mask:url("./assets/brand/pittogramma.webp") center/contain no-repeat}
.club-letter__delivered strong{font:400 28px/1.2 var(--serif)}
.club-letter.is-sent .club-letter__delivered{opacity:1;visibility:visible;transition:opacity .45s ease 1s,visibility 0s 1s}
.club-letter__actions{display:flex;justify-content:flex-end}
.club-letter .club-letter__submit,.club-letter .club-letter__reset{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:46px;padding:8px 0;border:0;border-bottom:1px solid #694f3c80;border-radius:0;background:transparent;color:#694f3c;font:400 19px/1.4 var(--serif);letter-spacing:0}
.club-letter .club-letter__submit:hover,.club-letter .club-letter__reset:hover{background:transparent;color:#160f0b;border-color:#160f0b}
.club-letter .club-letter__submit{position:relative;border-bottom:0}
.club-letter .club-letter__submit:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .45s ease;pointer-events:none}
.club-letter:has([name="consent"]:checked) .club-letter__submit:after{transform:scaleX(1)}
.club-letter__submit span{font-size:24px}
.club-letter__submit:disabled{opacity:.5;cursor:wait}
.club-letter .consent{font-size:11px;line-height:1.6}
.club-letter .consent input{accent-color:#694f3c}
.club-letter.is-sent .consent{display:none}
.club-letter__status{min-height:1.7em;margin:0;color:#694f3c;font:400 12px/1.7 var(--sans)}
.club-letter__trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.club-letter [hidden]{display:none!important}
.club-letter :focus-visible{outline:1px solid #694f3c;outline-offset:4px}
@media(max-width:600px){.club-letter__stage{padding-top:24px;padding-inline:4px}.club-letter__paper{margin:0 5% 80px;padding:28px 18px calc(32px + 28cqw)}.club-letter__address{grid-template-columns:36px minmax(0,1fr);gap:8px}.club-letter .club-letter__email{font-size:16px}.club-letter .club-letter__to{font-size:12px}.club-letter__stamp{right:14px;top:24px;width:64px;height:64px}.club-letter__seal{width:64px;height:64px}.club-letter__eyebrow{font-size:8px;margin-right:60px}.club-letter__invitation{max-width:calc(100% - 54px);font-size:25px;margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.club-letter *,.club-letter *:before,.club-letter *:after{transition:none!important}.club-letter.is-sent .club-letter__envelope{animation:none;opacity:0}.club-letter.is-sent .club-letter__delivered{opacity:1;visibility:visible;transition:none}}

/* Focus and reading improvements within the existing visual language. */
.skip-link{position:fixed;top:10px;left:10px;z-index:100;background:#f8f7f3;color:#24190f;padding:14px 20px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
:focus-visible{outline:2px solid #b18e51;outline-offset:5px}
.topbar__link{display:inline-flex;align-items:center;min-height:44px}
.topbar__link .alt{display:none}
.media-controls{position:absolute;right:24px;bottom:24px;z-index:3;display:flex;gap:8px}
.media-controls button{min-height:44px;min-width:44px;padding:10px 14px;background:#16130ed9;color:#fff;border:1px solid #ffffff80;font-size:12px}
.taste__reservation-dialog label{display:block;margin-block:14px}
.taste__reservation-dialog .contact-permission{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6}
.contact-permission input{width:18px;height:18px;flex-shrink:0;margin-top:3px}
.taste__reservation-dialog-title{font-size:24px}
.taste__reservation-status{font-size:13px;line-height:1.6}
.taste__intro .section-copy p{color:#dedbd2!important;font-size:14px!important;line-height:1.8!important}
.footer__bottom,.footer .footer__links,.footer .footer__contact,.footer .footer__club{font-size:12px;color:#694f3c}
.footer__return,.footer__label{color:#694f3c;font-size:11px}
.consent{font-size:13px!important;line-height:1.6!important;color:#493a2d!important}
@media(max-width:600px){.media-controls{right:16px;bottom:16px}.topbar__link{font-size:10px}.time .section-copy{background:#17130cb3;padding:20px}.time .section-copy p{color:#f8f7f3}.taste__editorial-profile dd{font-size:14px;line-height:1.6}.taste__editorial-profile dt{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}

.taste__reservation-dialog .contact-permission{text-transform:none;letter-spacing:normal;color:#ddd7c9}
.taste__reservation-dialog .taste__reservation-dialog-title{font-size:32px}
.terroir__media,.club__media{position:relative}

.blend-note{display:block;margin-top:10px;font:400 12px/1.6 var(--sans);color:#c5c2b8;max-width:400px}

.footer{width:100%;max-width:var(--content);margin-inline:auto}

/* Keep names intact and the wine introduction readable at every width. */
.taste .taste__intro .section-copy p{column-count:1;max-width:640px;margin-inline:auto;text-align:center;hyphens:none;-webkit-hyphens:none;word-break:normal;overflow-wrap:normal}
.wine-introduction{max-width:600px;margin:0 0 24px;color:#dedbd2;font:400 15px/1.8 var(--sans);text-align:left;hyphens:none}
.club-letter__clarification{margin:6px 0 0;color:#493a2d;font:400 13px/1.6 var(--sans)}
.no-script-contact{margin:0;padding:24px;background:var(--paper);color:var(--ink);text-align:center}
.no-script-contact a{text-decoration:underline}

.hero__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.footer .footer__bottom,.footer .footer__bottom > span,.footer .copyright{color:#694f3c;font-size:11px;line-height:1.6}

.club-letter label.club-letter__address{display:grid;grid-template-columns:45px minmax(0,1fr);gap:12px}
@media(max-width:600px){.club-letter label.club-letter__address{grid-template-columns:1fr;gap:0}.club-letter label.club-letter__address > span{font-size:17px}.club-letter .club-letter__email{font-size:16px}}
