@font-face{font-family:PartySerif;src:url(assets/serif-regular.woff2) format('woff2');font-display:swap}@font-face{font-family:PartySerif;src:url(assets/serif-italic.woff2) format('woff2');font-style:italic;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding:18px;background:#f8e9e0;color:#272020;font-family:PartySerif,Georgia,serif;background-image:radial-gradient(ellipse at 0 0,#dc9d9e65,transparent 35%),radial-gradient(ellipse at 100% 100%,#d9949e55,transparent 35%)}main{max-width:1100px;margin:auto;border:1px solid #a04c60;outline:1px solid #b4737d;outline-offset:5px;padding:54px 58px 26px}header{text-align:center;position:relative}.eyebrow{font:10px/1.5 system-ui,sans-serif;letter-spacing:3px;text-transform:uppercase;color:#803244;margin:0 0 30px}h1{font-size:clamp(36px,7vw,78px);font-weight:400;font-style:italic;line-height:.92;letter-spacing:-2px;margin:0}h1 span{font-size:.86em}.party{color:#8d2c43;font-size:clamp(29px,5vw,45px);font-style:italic;margin:22px 0}.party:before,.party:after{content:'';display:inline-block;width:35px;height:1px;background:#8d2c43;vertical-align:middle;margin:0 15px}.star{color:#9b4056;font-size:35px;line-height:1}.intro{font-style:italic;font-size:29px;line-height:1.15;margin:15px 0}.note{font:12px/1.5 system-ui,sans-serif;color:#76525a;margin:18px 0 28px}nav{display:flex;justify-content:center;gap:8px;margin-bottom:26px;flex-wrap:wrap}button{font:12px/1.4 system-ui,sans-serif;padding:13px 18px;border:1px solid #a95d6e;border-radius:100px;color:#803244;background:transparent;cursor:pointer;min-height:44px}button[aria-pressed=true]{background:#803244;color:#fff5ed}button:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid #803244;outline-offset:4px}.menu{display:grid;grid-template-columns:1fr 1fr;column-gap:36px}.drink{display:flex;gap:18px;padding:29px 0;border-top:1px solid #b4758066}.drink[hidden]{display:none}.number{font-size:23px;font-style:italic;color:#a75e6e;padding-top:4px}.drink-content{min-width:0;flex:1}.tag{font:10px/1.4 system-ui,sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:#8d2c43;margin:0 0 10px}h2{font-size:28px;line-height:1.03;font-weight:400;margin:0;overflow-wrap:anywhere}.description{font-size:19px;line-height:1.35;margin:13px 0 18px}details{font-family:system-ui,sans-serif;font-size:13px;line-height:1.6}summary{cursor:pointer;min-height:44px;padding:11px 0;color:#803244;list-style:none;border-top:1px solid #b4758033;display:flex;justify-content:space-between;gap:12px}summary::-webkit-details-marker{display:none}summary span{font-size:19px;line-height:1}details[open] summary span{transform:rotate(45deg)}ul{padding-left:18px;margin:10px 0 0;color:#60444b}li{padding:3px 0}footer{text-align:center;border-top:1px solid #a95d6e;margin-top:18px;padding-top:24px;color:#803244}footer>span{font-size:32px}footer p{font-size:22px;line-height:1.2;margin:12px 0 20px}footer a{font:11px system-ui,sans-serif;color:inherit;display:inline-block;padding:13px} @media(max-width:640px){body{padding:14px}main{padding:36px 19px 18px}.eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:27px}h1{font-size:clamp(32px,9.5vw,59px);letter-spacing:-1px}.party{font-size:29px}.party:before,.party:after{width:16px;margin:0 7px}.intro{font-size:26px}.menu{grid-template-columns:1fr}.drink{gap:14px;padding:26px 0}.number{font-size:21px}h2{font-size:30px}.description{font-size:20px}button{padding:12px 14px}nav{gap:7px}footer p{font-size:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Heading, square photograph, then description and recipe. */
.drink{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-content:start}
.drink-heading{display:grid;grid-template-columns:26px minmax(0,1fr);gap:14px;align-items:start}
.drink-photo{background:#eeddd3;padding:7px;border:1px solid #b4758044}
.drink-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center}
.drink-content{padding-left:0}
.drink-content .description{margin-top:0}
@media(max-width:640px){.drink{gap:19px}.drink-heading{grid-template-columns:23px minmax(0,1fr)}.drink-photo{padding:5px}.drink-content{padding-left:0}}
