/*
Theme Name: VESPER Hour
Theme URI: https://vesper.vodka/
Author: VESPER
Description: Two cinematic films, three proposed serves, family provenance and a Google Sheets venue directory. Native WordPress, no page builder.
Version: 1.0.1
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vesper-hour
*/
:root{color-scheme:dark;--ink:#f3efe3;--paper:#050607;--cream:#fcf5d1;--muted:#aaa79c;--line:#343731;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button{cursor:pointer;min-height:44px;border:1px solid currentColor;background:transparent;color:inherit;padding:9px 18px}button:hover{background:#252923}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #9b651f;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.03}h2{font-size:clamp(42px,5vw,86px);letter-spacing:-.04em}p+p{margin-top:16px}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600}.section-pad{padding:100px max(5vw,24px)}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:var(--paper);padding:12px}.skip-link:focus{top:16px}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:18px 5vw;background:var(--paper);border-bottom:1px solid var(--line)}.brand-home{display:block;width:100px;flex:none}.header-wordmark{width:100%;height:auto}.menu{display:flex;gap:clamp(14px,2.5vw,40px);list-style:none;padding:0;margin:0}.menu a{text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.09em;display:inline-flex;align-items:center;min-height:44px}.menu a:hover{text-decoration:underline}
.film{position:relative;aspect-ratio:21/9;isolation:isolate;overflow:hidden}.film-hour{background:radial-gradient(ellipse at 75% 5%,#27211a 0,transparent 44%),linear-gradient(165deg,#11141a 0%,#090c12 48%,#050607 100%)}.film-bottle{background:var(--paper);border-top:1px solid var(--line)}.film-poster,.film-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.film-poster img{width:100%;height:100%;object-fit:cover}.film-video{z-index:1;opacity:0}.film.is-playing .film-video{opacity:1}.hour-lockup{position:absolute;z-index:3;inset:50% auto auto 7%;transform:translateY(-50%);width:clamp(200px,24vw,430px);text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--cream);pointer-events:none}.hour-lockup span{font-family:var(--sans);font-size:clamp(12px,1.25vw,20px);letter-spacing:.45em;text-indent:.45em;line-height:1}.hero-wordmark{width:100%;height:auto}.film-bottom{position:absolute;bottom:25px;left:5vw;right:5vw;display:flex;justify-content:space-between;gap:18px;align-items:end;z-index:4}.film-note{color:var(--cream);font-size:10px;letter-spacing:.13em;line-height:1.7}.film-bottle .film-note{color:var(--ink)}.film-toggle{font-size:12px;background:var(--paper);color:var(--ink);flex:none}.bottle-reference{position:absolute;inset:5% 18% 5% auto;height:90%;width:23%;display:flex;justify-content:center}.bottle-reference img{height:100%;width:auto;object-fit:contain}.bottle-title{position:absolute;z-index:3;top:45%;left:10%;max-width:35%;transform:translateY(-50%);pointer-events:none}.bottle-title h2{font-size:clamp(40px,7vw,110px);margin:16px 0}.bottle-title p:not(.eyebrow){font-size:15px;max-width:30ch}
.section-heading{margin-bottom:52px}.section-heading h2{margin-top:15px}.drink-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.drink-image{aspect-ratio:4/5;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 30%,#242b27,#0c100e);overflow:hidden;color:#fff}.rose .drink-image{background:radial-gradient(ellipse at 50% 30%,#342029,#110c10)}.heat .drink-image{background:radial-gradient(ellipse at 50% 30%,#303022,#10110b)}.drink-image span{font-size:10px;letter-spacing:.12em;padding:7px 12px;background:#151714d9}.drink-image img{width:100%;height:100%;object-fit:cover}.drink-heading{display:flex;gap:18px;align-items:baseline;margin:25px 0 8px}.drink-heading h3{font-size:clamp(35px,3.5vw,60px)}.drink-number{font-size:11px;color:var(--muted)}.drink-name{font-size:14px;font-weight:600}.drink-card p{font-size:13px;margin-top:8px}.draft-note{font-size:11px!important;line-height:1.6;color:#aaa391;max-width:55ch;margin-top:20px!important}.story{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.25fr;gap:9vw;background:var(--paper)}.story-marker{display:block;margin-top:64px;font-family:var(--serif);font-style:italic;font-size:clamp(60px,8vw,125px);color:#aaa080;letter-spacing:-.07em}.story-side img{margin-top:30px;width:100%;max-height:480px;object-fit:contain}.story-copy h2{max-width:12ch}.story-text{font-family:var(--serif);font-size:clamp(21px,2.2vw,33px);line-height:1.45;max-width:27ch;margin-top:30px}.venues{border-top:1px solid var(--line)}.venues .section-heading{max-width:760px}.venues .section-heading>p:last-child{margin-top:24px;font-size:14px}.venue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 35px;list-style:none;padding:0;margin:0}.venue-row{padding:24px 0;border-top:1px solid var(--line)}.venue-row h3{font-size:25px;line-height:1.2}.venue-row p{font-size:12px;margin-top:8px}.venue-row a{display:inline-block;margin-top:12px;font-size:12px;min-height:44px;padding-top:8px}.venue-row[hidden]{display:none}.venue-empty{padding:35px 0;border-top:1px solid var(--line);font-family:var(--serif);font-size:25px}.connection-note{font-size:12px;color:var(--muted);padding-top:20px}.site-footer{border-top:1px solid var(--line);padding:28px 5vw;display:flex;gap:24px;align-items:center;flex-wrap:wrap;font-size:11px;background:var(--paper);color:var(--ink)}.site-footer p{flex:1;min-width:210px}.site-footer button{font-size:11px}.site-footer .menu{flex-wrap:wrap}.content-page{min-height:60vh;max-width:1100px;margin:auto}.content-page h1{font-size:clamp(42px,7vw,80px);margin-bottom:32px}.content-page article+article{margin-top:60px}.content-page :is(p,ul,ol,figure){margin-bottom:24px}.content-page input{max-width:100%;min-height:44px}
#age-gate{position:fixed;inset:0;width:min(620px,calc(100% - 32px));max-height:90vh;margin:auto;padding:60px 48px;background:var(--paper);color:var(--ink);border:1px solid var(--line);z-index:100;box-shadow:0 0 0 100vmax #101511ed;overflow:auto}#age-gate:not([open]){display:none}#age-gate::backdrop{background:#101511ed}.age-inner h2{font-size:48px;margin:20px 0 24px}.age-inner p{font-size:14px}.age-actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:30px}.age-actions button:first-child{background:var(--cream);color:#11140f}.age-pending :is(.site-header,main,.site-footer){visibility:hidden}.age-pending{overflow:hidden}#age-result{min-height:1em;margin-top:16px}
@media(min-width:1800px){.section-pad{padding-left:max(5vw,calc((100vw - 1600px)/2));padding-right:max(5vw,calc((100vw - 1600px)/2))}}
@media(max-width:900px){.site-header{align-items:flex-start}.site-header nav{max-width:75%}.menu{gap:8px 18px;flex-wrap:wrap;justify-content:flex-end}.section-pad{padding-top:70px;padding-bottom:70px}.drink-grid{gap:20px}.venue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.site-header{padding:12px 20px;gap:15px}.brand-home{width:72px}.site-header nav{max-width:calc(100% - 90px)}.menu a{font-size:10px;letter-spacing:.04em;min-height:44px}.film{aspect-ratio:4/5}.hour-lockup{left:6%;width:43%;gap:16px}.hour-lockup span{font-size:15px}.film-bottom{bottom:20px;left:20px;right:20px;align-items:start;flex-direction:column}.film-note{font-size:9px;max-width:34ch}.bottle-reference{inset:7% 8% 7% auto;height:86%;width:42%}.bottle-title{left:7%;top:35%;max-width:40%}.bottle-title h2{font-size:36px;letter-spacing:-.05em}.bottle-title p:not(.eyebrow){font-size:12px}.drink-grid,.story,.venue-grid{grid-template-columns:1fr}.drink-grid{gap:48px}.drink-image{aspect-ratio:5/4}.drink-heading h3{font-size:49px}.story{gap:36px}.story-marker{font-size:75px;margin-top:28px}.story-copy h2{font-size:54px}.story-text{font-size:25px}.section-heading{margin-bottom:35px}.venue-controls{flex-direction:column;gap:18px}.venue-controls input{width:100%}.site-footer{align-items:flex-start}.site-footer .menu{justify-content:flex-start}#age-gate{padding:36px 25px}.age-inner h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.venue-name{font-family:var(--serif);font-size:26px;line-height:1.2}.venue-row a{margin-top:0;display:block;padding:8px 0;text-decoration:none}.venue-row a:hover .venue-name{text-decoration:underline}.venue-row p{margin:0;color:var(--muted)}

.region-links{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.region-links button{font-size:12px}.region-links [aria-pressed="true"]{background:var(--paper);color:var(--ink)}

[hidden]{display:none!important}.venue-controls{display:flex;gap:24px;margin-bottom:20px;align-items:end}.venue-controls label{display:grid;gap:7px;font-size:11px;letter-spacing:.06em}.venue-controls label:first-child{flex:1;max-width:480px}.venue-controls input,.venue-controls select{width:100%;min-height:48px;background:transparent;color:var(--ink);border:0;border-bottom:1px solid #8a8a7c;border-radius:0;padding:10px 4px}.venue-controls select{min-width:220px}.venue-count{font-size:11px;color:var(--muted);margin:16px 0}.venue-row{padding:15px 0}.venue-name{font-size:23px}.venue-row a{min-height:44px}.venue-row p{font-size:11px}#venue-more{margin-top:30px;font-size:12px}.venues .section-heading{margin-bottom:32px}
@media(max-width:700px){.venue-controls{flex-direction:column;align-items:stretch;gap:20px}.venue-controls label:first-child{max-width:none}.venue-name{font-size:24px}}

.product-still img{object-fit:contain}.film-bottle .film-note{display:inline-block;background:#090b0aeb;padding:8px 12px;letter-spacing:.05em}

#main:focus{outline:none}

@media(max-width:700px){.film-hour .film-video,.film-hour .film-poster img{object-position:40% center}.hour-lockup span{font-size:12px}}

.skip-link{background:var(--paper);color:var(--cream)}.bottle-title:not(.screen-reader-text){background:#090b0acc;color:var(--ink);padding:20px}.age-inner .eyebrow{color:var(--cream)}

/* Night palette applies to every native surface, not only the body. */
:is(.site-header,.drinks,.story,.venues,.site-footer,.content-page){background:var(--paper)}input,select,textarea{background:#0c0f11;color:var(--ink)}select option{background:#0c0f11;color:var(--ink)}.drink-image{border:1px solid #292b27}.age-actions button:first-child{background:#20231f;color:var(--cream);border-color:#8c825e}.age-actions button:first-child:hover{background:#30352c}
@media(max-width:700px){.product-still img{object-fit:cover;object-position:80% center}}

/* Vesper meaning editorial page and home connection. */
.vesper-bridge{display:grid;grid-template-columns:1fr 1.25fr;gap:9vw;border-top:1px solid var(--line)}.vesper-bridge h2{max-width:12ch}.vesper-bridge p:not(.eyebrow){margin-top:25px;max-width:40ch;color:var(--muted)}.vesper-bridge a{display:inline-block;margin-top:24px;min-height:44px;padding:8px 0;font-size:13px}
.page-id-12239 .content-page{max-width:1600px;padding-top:100px}.page-id-12239 .content-page>article>h1{font-size:clamp(64px,9vw,140px);letter-spacing:-.055em;max-width:11ch;margin:0 0 48px}.vesper-intro{display:grid;grid-template-columns:1fr 1.25fr;gap:9vw;padding-bottom:72px}.vesper-intro .vesper-lead{font-family:var(--serif);font-size:clamp(23px,2.7vw,38px);line-height:1.4;max-width:30ch}.vesper-jumps{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 60px!important;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.vesper-jumps a{padding:8px 0;min-height:44px}.vesper-editorial-row{display:grid;grid-template-columns:1fr 1.25fr;gap:9vw;padding:72px 0;border-top:1px solid var(--line)}.vesper-editorial-row h2{font-size:clamp(36px,4.5vw,64px);max-width:14ch;margin-top:22px}.vesper-editorial-copy{max-width:64ch;font-size:16px;line-height:1.85}.vesper-editorial-copy h3{font-size:27px;margin:30px 0 16px}.vesper-editorial-copy h3:first-child{margin-top:0}.vesper-editorial-copy figure{margin:32px 0}.vesper-editorial-copy video{width:100%;max-height:500px;background:#000}.vesper-editorial-copy p:last-child{margin-bottom:0}.vesper-next{padding:60px 0 0;border-top:1px solid var(--line)}.vesper-next h2{font-size:clamp(38px,5vw,70px);margin-bottom:30px}.vesper-next-links{display:flex;gap:24px;flex-wrap:wrap}.vesper-next-links a{display:inline-block;min-height:44px;padding:12px 0;font-size:13px}
@media(max-width:700px){.vesper-bridge,.vesper-intro,.vesper-editorial-row{grid-template-columns:1fr;gap:28px}.page-id-12239 .content-page{padding-top:60px}.page-id-12239 .content-page>article>h1{font-size:68px;margin-bottom:36px}.vesper-intro{padding-bottom:40px}.vesper-editorial-row{padding:45px 0}.vesper-editorial-row h2{font-size:42px}.vesper-jumps{margin-bottom:35px!important}.vesper-next-links{flex-direction:column;gap:8px}}

/* Two bottle-film copy screens, each held for half of the clip. */
.bottle-film-copy{position:absolute;z-index:3;left:7%;top:50%;transform:translateY(-50%);width:34%;max-width:540px;color:var(--cream);pointer-events:none;text-shadow:0 2px 16px #000,0 1px 4px #000}.bottle-film-cue{display:none;margin:0!important;font-family:var(--sans);font-size:clamp(12px,1.3vw,21px);font-weight:400;letter-spacing:.12em;line-height:1.9;text-transform:uppercase}.bottle-film-cue.is-active{display:block}.bottle-film-cue span{display:block}.bottle-film-cue span+span{margin-top:20px}
@media(max-width:700px){.bottle-film-copy{left:7%;top:auto;bottom:18%;transform:none;width:86%;max-width:none}.bottle-film-cue{font-size:12px;letter-spacing:.1em;line-height:1.8}.bottle-film-cue span+span{margin-top:12px}}
