@font-face{font-family:Revans;src:url('./revans-medium.woff') format('woff');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Revans Light';src:url('./revans-light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
:root{color-scheme:light;--paper:#FFFCFA;--ink:#1C1B19;--muted:#6B665C;--logo-final-y:clamp(80px,12dvh,120px);--mono:'Source Code Pro',monospace}
*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;background:var(--paper);color:var(--ink)}body{font:1rem/1.7 var(--mono)}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit;color:inherit}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--muted);outline-offset:5px}button,a{touch-action:manipulation}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;left:1rem;top:-6rem;z-index:30;background:var(--paper);padding:.5rem}.skip-link:focus{top:1rem}
.nav-link{position:fixed;top:max(env(safe-area-inset-top),2.25rem);left:max(env(safe-area-inset-left),1.5rem);min-height:44px;min-width:44px;display:inline-flex;align-items:center;font:400 .9rem var(--mono);letter-spacing:.05em;color:var(--muted);text-decoration:none;z-index:10;background:var(--paper)}.nav-link:hover{text-decoration:underline;color:var(--ink)}
.hero{height:100dvh;min-height:380px}.logo-center{position:fixed;left:50%;top:50%;transform:translate(-50%,calc(-50% - var(--logo-shift,0px))) scale(var(--logo-scale,1));transform-origin:center;width:min(50vw,620px);height:auto;z-index:5;pointer-events:none}.scroll-cue{position:fixed;bottom:max(4.5rem,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);font-size:.875rem;letter-spacing:.08em;color:var(--muted);z-index:6;pointer-events:none;opacity:var(--cue-opacity,1)}
/* Position the bottle alone; hints and keyboard controls never affect its centre. */
.bottle-stage{position:relative;height:100dvh;min-height:0;--bottle-height:min(65.5svh,calc(100svh - 200px));--hint-gap:clamp(.5rem,1.5svh,1rem)}
.viewer{position:absolute;left:50%;top:55.5%;transform:translate(-50%,-50%);width:min(calc(100% - 2rem),calc(var(--bottle-height) * 1.04));height:var(--bottle-height);text-align:center}
.bottle-frame{position:relative;width:100%;height:100%;scroll-margin-top:calc(55.5dvh - var(--bottle-height) / 2);cursor:grab;touch-action:auto;user-select:none;-webkit-user-select:none;contain:layout style;border:0;box-shadow:none}
.bottle-frame:focus,.bottle-frame:focus-visible{outline:none}
.viewer[data-keyboard-focus=true] .bottle-frame:focus::after{content:"";position:absolute;bottom:-.55rem;left:calc(50% - 1rem);width:2rem;border-bottom:2px solid var(--muted)}
.bottle-frame[data-dragging=true]{cursor:grabbing}
.bottle-frame picture,.bottle-frame img,.bottle-frame canvas{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;border:0;box-shadow:none}
.bottle-frame canvas{opacity:0}.bottle-frame[data-ready=true] canvas{opacity:1}.bottle-frame[data-ready=true] picture{visibility:hidden}
.viewer-hint{position:absolute;top:100%;left:0;width:100%;margin-top:var(--hint-gap);font-size:.875rem;line-height:1.7;color:var(--muted);letter-spacing:.08em;opacity:1;transition:opacity .28s ease;pointer-events:none}
.viewer[data-engaged=true] .viewer-hint,.viewer[data-keyboard-focus=true] .viewer-hint{opacity:0}
/* Focusable for keyboard and assistive technology, discreetly revealed on keyboard use. */
.viewer-controls{position:absolute;top:calc(100% + var(--hint-gap));left:50%;transform:translateX(-50%);display:flex;justify-content:center;align-items:center;gap:.3rem;width:max-content;max-width:100%;height:32px;clip-path:inset(50%);opacity:0;pointer-events:none}
.viewer-controls[hidden]{display:none}
.viewer[data-keyboard-focus=true] .viewer-controls{clip-path:none;opacity:1;pointer-events:auto}
.viewer-controls button{border:0;background:transparent;min-width:44px;min-height:32px;padding:.15rem .5rem;font-size:.875rem;color:var(--muted);cursor:pointer}
.viewer-controls button:hover{text-decoration:underline;color:var(--ink)}.viewer-controls button:disabled{opacity:.65;cursor:default}
.viewer-status{position:absolute;top:calc(100% + var(--hint-gap) + 2.25rem);left:0;width:100%;font-size:.75rem;line-height:1.5;color:var(--muted);pointer-events:none}
.viewer-status:empty{display:none}
.product-details{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:.3rem 1.5rem;flex-wrap:wrap;padding:.7rem max(1.5rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(1.5rem,env(safe-area-inset-left));background:var(--paper);z-index:10;font:500 clamp(.875rem,1.6vw,1.6rem)/1.5 Revans,Georgia,serif}.product-details span{white-space:nowrap}
.company .nav-link{font-family:'Revans Light',var(--mono);font-weight:300}.company main{max-width:640px;margin:0 auto;padding:6rem 1.5rem 8rem}.mark{text-align:center;margin-bottom:3.5rem}.logo-wrap{position:relative;display:inline-block;font-size:30px}.logo-wrap img{display:block;width:240px;max-width:65vw;height:auto}.tm{position:absolute;top:.15em;right:-.35em;font-size:.28em}.company h1{font-size:1rem;font-weight:500;letter-spacing:.03em;margin-bottom:3rem;padding-bottom:1.2rem;border-bottom:1px solid #C9C4B8}.company dl>div{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:1.5rem;padding:1.25rem 0;border-bottom:1px solid #E4E0D6}.company dl>div:first-child{padding-top:0}.company dl>div:last-child{border:0}.company dt{color:var(--muted);font-style:italic}.company dd{overflow-wrap:anywhere}.company dd a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.company dd a:hover{text-decoration:underline}.company footer{margin-top:5rem;padding-top:1.5rem;border-top:1px solid #C9C4B8;font-size:.85rem;color:var(--muted)}
@media(max-height:760px){.logo-center{width:min(34vw,340px)}.viewer{top:54%}.bottle-frame{scroll-margin-top:calc(54dvh - var(--bottle-height) / 2)}.bottle-stage{--bottle-height:min(63svh,calc(100svh - 220px));--hint-gap:.5rem}.scroll-cue{bottom:4rem}}
@media(max-height:560px){.logo-center{width:min(24vw,240px)}.nav-link{top:max(1rem,env(safe-area-inset-top))}}
@media(max-width:700px){.logo-center{width:min(64vw,420px)}.product-details{padding-left:1rem;padding-right:1rem}.nav-link{left:max(1rem,env(safe-area-inset-left))}}
@media(max-width:480px){.company dl>div{grid-template-columns:1fr;gap:.3rem}.company main{padding:6rem 1.25rem}.company .nav-link{top:max(1rem,env(safe-area-inset-top))}}
@media(prefers-reduced-motion:reduce){.viewer-hint{transition:none}.logo-center{top:var(--logo-final-y);transform:translate(-50%,-50%) scale(.48)}.hero{height:0;min-height:0}.scroll-cue{opacity:0}}

@media(max-height:650px){.bottle-stage{--bottle-height:max(100px,min(63svh,calc(100svh - 220px)));--hint-gap:.25rem}.viewer-status{top:calc(100% + var(--hint-gap) + 1.7rem)}}
/* On short screens, loading/fallback status shares the hint's reserved space. */
@media(max-height:650px){.viewer-status{top:calc(100% + var(--hint-gap))}.viewer:has(.viewer-status:not(:empty)) .viewer-hint{opacity:0}.viewer[data-keyboard-focus=true] .viewer-status{opacity:0}}

html[data-entry="opening"] .bottle-stage{visibility:hidden}
@media(prefers-reduced-motion:reduce){html[data-entry="opening"] .bottle-stage{visibility:visible}}

.viewer[data-keyboard-focus=true] .viewer-hint{transition:none}
