.bottle-contact{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center;overflow:visible}
.bottle-intro h2{font-size:clamp(2.8rem,5.5vw,4.7rem);line-height:1.04}
.bottle-intro .intro{margin:1.6rem 0;font-size:1.05rem}
.bottle-instruction{display:flex;align-items:center;gap:.8rem;margin:2rem 0;color:#dec89b;font:12px/1.6 var(--mono)}
.bottle-instruction span{font-size:1.5rem}
.bottle-stage{position:relative;min-width:0;min-height:490px;display:grid;align-content:center}
.bottle{--neck-length:180px;--neck-height:156px;--cork-height:138px;position:relative;width:min(100%,1060px);padding:0 calc(var(--neck-length) - 12px) 0 0;margin:0 auto;transform-origin:50% 50%;isolation:isolate}
.bottle[hidden],.bottle-receipt[hidden],.bottle-cork{display:none}
.bottle.sealed .bottle-cork{display:block}
.bottle-neck{position:absolute;z-index:2;top:calc(50% - var(--neck-height)/2);right:10px;width:var(--neck-length);height:var(--neck-height);background:linear-gradient(180deg,#183c38,#27574b 22%,#13332b 75%,#3f786660);border:1px solid #73b69b85;border-left:0;border-radius:0 5px 5px 0}
.bottle-neck:before{content:'';position:absolute;right:-3px;top:-6px;bottom:-6px;width:14px;border:1px solid #8bcaafaa;border-radius:4px;background:linear-gradient(180deg,#28483b,#71998088,#153329);box-shadow:-2px 0 10px #0005}
.bottle-cork{position:absolute;z-index:3;right:-30px;top:calc(50% - var(--cork-height)/2);width:50px;height:var(--cork-height);border-radius:3px 6px 6px 3px;border:1px solid #c3a169;background:repeating-linear-gradient(15deg,transparent 0 5px,#60432442 6px 7px),linear-gradient(180deg,#907044,#d1b384 45%,#a17d4a);box-shadow:inset -5px 0 #e0c29155;visibility:hidden;opacity:0;transform:rotate(8deg)}
.bottle-glass{position:relative;z-index:1;min-height:420px;padding:30px 62px 30px 30px;border:1px solid #74bf9d80;border-radius:42px 150px 150px 42px;background:linear-gradient(180deg,#80edbd13,#b1ffd92b 6%,#4da48016 13%,#0e292396 48%,#74c99f20 88%,#bcfdd738 97%,#57bd9020);box-shadow:inset 0 4px 15px #a6e8c920,inset -8px -5px 18px #52bf9820,0 22px 55px #0004}
.bottle-glass:before{content:'';position:absolute;inset:10px 22px 10px 18px;border-top:2px solid #c0ffe025;border-bottom:1px solid #adf6d32b;border-radius:32px 135px 135px 32px;pointer-events:none}
.bottle-note{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;position:relative;margin:0;padding:22px 25px 18px;color:#263b34;background:linear-gradient(115deg,#f2e9ce,#e6d9b9 85%,#d5c49e);border-radius:3px 7px 4px 5px;box-shadow:0 3px 14px #0004;transition:opacity .25s,transform .4s}
.bottle-note>*{min-width:0;grid-column:1/-1}.bottle-note .note-field:nth-of-type(1){grid-column:1}.bottle-note .note-field:nth-of-type(2){grid-column:2}
.note-to{display:flex;justify-content:space-between;align-items:center;margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid #56644d45;font:italic 1.2rem Georgia,serif}
.note-to span{font-size:1.8rem;color:#6c7d61;line-height:1}
.note-to a{min-width:0;overflow-wrap:anywhere;font-size:clamp(.85rem,1.8vw,1.2rem);text-underline-offset:4px;text-decoration-thickness:1px}.note-to a:focus-visible{outline-color:#386e56}.note-to span{margin-left:12px}
.note-field{margin-bottom:15px}
.note-field label{display:block;margin-bottom:6px;font:10px/1.5 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#475746}
.note-field input,.note-field textarea{display:block;width:100%;min-width:0;border:0;border-bottom:1px solid #63745b55;border-radius:0;background:transparent;color:#20372f;padding:8px 0;font:16px/1.5 var(--sans)}
.note-field textarea{min-height:128px;max-height:280px;resize:vertical;font:17px/1.55 Georgia,serif}
.note-field input::placeholder,.note-field textarea::placeholder{color:#66705b;opacity:1}
.note-field input:focus-visible,.note-field textarea:focus-visible{outline:2px solid #386e56;outline-offset:2px}
.cork-dock{display:flex;justify-content:flex-end;align-items:center;gap:1.5rem;width:min(100%,1060px);margin:16px auto 0;padding-right:12px}
.cork-dock[hidden]{display:none}.cork-dock p{margin:0;text-align:right;color:#dec89b;font:12px/1.7 var(--mono)}
.cork-dock small{display:block;color:var(--dim);font-size:11px}.cork-slot{flex:0 0 50px;height:138px}
.cork-control{display:grid;place-items:center;position:relative;width:50px;height:138px;padding:0;border:1px solid #c3a169;border-radius:3px 6px 6px 3px;color:#46361f;background:repeating-linear-gradient(15deg,transparent 0 5px,#60432442 6px 7px),linear-gradient(180deg,#907044,#d1b384 45%,#a17d4a);box-shadow:inset -5px 0 #e0c29155,0 6px 16px #0005;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;font:24px var(--mono)}
.cork-control:hover{filter:brightness(1.12)}.cork-control.dragging{z-index:1100;cursor:grabbing;filter:brightness(1.12);box-shadow:0 10px 25px #0006}
.cork-control:disabled{cursor:wait}.cork-control.seated{visibility:hidden}
.cork-control:focus-visible,#another-bottle:focus-visible{outline:2px solid var(--green);outline-offset:6px}
.bottle-neck.ready-to-seal{box-shadow:0 0 24px #74f7bc66;outline:2px solid var(--green);outline-offset:5px}
.note-foot{margin:10px 0 0;font:10px/1.5 var(--mono);text-align:center;color:#58644f}
.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.contact-status{position:relative;max-width:450px;min-height:1.7em;margin:1rem auto 0;text-align:center;font-size:.9rem;color:var(--green)}
.contact-status[data-error='true']{color:#ffd0b9}
.rolled-note{position:absolute;top:calc(50% - 37px);left:calc(50% - 95px);width:190px;height:74px;transform:rotate(-5deg);opacity:0;border-radius:8px 8% 8% 8px / 8px 40% 40% 8px;background:linear-gradient(180deg,#b6a079,#eee0b9 20%,#f5ebcf 60%,#c6b58e 94%,#8e7c5e);box-shadow:4px 5px 12px #0005;transition:opacity .3s}
.rolled-note:after{content:'';position:absolute;left:48%;top:-3px;bottom:-3px;width:8px;background:#81603f;border:1px solid #bd9b6e;transform:rotate(3deg)}
.rolled-note span{position:absolute;top:25px;left:12px;color:#5d6049;font:italic 14px Georgia,serif}
.bottle.sealed{pointer-events:none;z-index:1000}.bottle.sealed .bottle-note{opacity:0;transform:rotate(-4deg) scale(.8)}
.bottle.sealed .rolled-note{opacity:1}.bottle.sealed .bottle-cork{visibility:visible;animation:cork-bottle .65s .2s ease-in forwards}
@keyframes cork-bottle{0%{opacity:0;transform:translateX(0) rotate(8deg)}30%{opacity:1}70%{opacity:1;transform:translateX(-30px) rotate(0)}85%{transform:translateX(-25px)}100%{opacity:1;transform:translateX(-30px) rotate(0)}}
.bottle.corked .bottle-cork{display:block;visibility:visible;opacity:1;transform:translateX(-30px);animation:none}
.bottle-receipt{text-align:center;padding:2rem 1rem}.bottle-receipt h3{font-size:2rem;line-height:1.2;letter-spacing:-.03em;color:#eef8f5;margin:1rem 0}.bottle-receipt p:not(.eyebrow){color:var(--dim)}
.bottle-receipt .button{cursor:pointer;margin-top:1rem}.receipt-ripple{display:block;color:var(--green);font-size:5rem;line-height:1;text-shadow:0 0 25px #74f7bc55}
@media(max-width:800px){.bottle-contact{gap:1.5rem}.bottle-stage{min-height:0}.bottle-instruction{margin:1.5rem 0}.bottle{--neck-length:110px;--neck-height:146px;--cork-height:128px}.bottle-glass{padding:24px 42px 24px 22px;border-radius:32px 100px 100px 32px}.bottle-note{column-gap:16px;padding:20px}}
@media(max-width:620px){.bottle{--neck-length:64px;--neck-height:146px;--cork-height:128px}.bottle-glass{padding:20px 22px 20px 12px;border-radius:26px 72px 72px 26px}.bottle-glass:before{inset:8px;border-radius:20px 65px 65px 20px}.bottle-note{display:block;padding:18px 14px}.note-foot{font-size:9px}.bottle-cork{width:34px;right:-18px}.rolled-note{width:150px;left:calc(50% - 75px)}.rolled-note span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.bottle-note,.rolled-note{transition:none}.bottle.sealed .bottle-cork{animation:none;opacity:1;transform:translateX(-30px)}}
@media(max-width:800px){.cork-slot{height:128px}.cork-control{height:128px}}
@media(max-width:620px){.cork-dock{gap:1rem;padding-right:8px}.cork-dock p{font-size:11px}.cork-slot{flex-basis:44px}.cork-control{width:44px}}
