:root{--blue: #0000ff;--blue-deep: #00008a;--blue-wave: #1c1cff;--cream: #fffff0;--cream-warm: #f7f0dc;--paper: #ffffff;--brown: #42210b;--brown-soft: #6b4a33;--orange: #ffa62b;--error: #b42318;--cream-82: rgb(255 255 240 / .84);--cream-30: rgb(255 255 240 / .3);--cream-12: rgb(255 255 240 / .12);--line: rgb(66 33 11 / .12);--font-display: "Titan One", "Arial Rounded MT Bold", system-ui, sans-serif;--font-serif: "Fraunces", Georgia, serif;--font-body: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--r-xl: 2rem;--r-lg: 1.5rem;--r-md: 1rem;--gutter: clamp(1rem, 4vw, 3rem);--content: min(max(73.75rem, 82vw), 2200px);--section-pad: clamp(4.5rem, 10vw, 8rem);--cups-w: min(54rem, 64vw, 118vh);--shadow-card: 0 1px 0 rgb(66 33 11 / .04), 0 18px 36px -22px rgb(66 33 11 / .35);--shadow-photo: 0 22px 40px -24px rgb(66 33 11 / .45);--spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.2, .8, .2, 1);--focus: var(--blue)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}@media(min-width:1440px){html{font-size:clamp(100%,.42vw + 10px,137.5%)}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{min-height:100vh;font-family:var(--font-body);font-size:1rem;line-height:1.6;color:var(--brown);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;background-color:var(--blue);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='44' viewBox='0 0 120 44'%3E%3Cpath d='M0 22 C20 10 40 10 60 22 S100 34 120 22' fill='none' stroke='%231c1cff' stroke-width='2'/%3E%3C/svg%3E");background-size:120px 44px}img,svg{display:block;max-width:100%}img{height:auto}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}a{color:inherit}ul[role=list]{list-style:none}::selection{background:var(--blue);color:var(--cream)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:.375rem}[hidden]{display:none!important}.sr-only{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:.75rem;left:.75rem;z-index:200;padding:.625rem 1.125rem;border-radius:62.4375rem;background:var(--cream);color:var(--blue);font-weight:700;text-decoration:none;transform:translateY(-150%);transition:transform .2s var(--ease-out)}.skip-link:focus{transform:translateY(0)}.site-header,.hero,.section--blue,.footer,.menu-panel,.item--mood{--focus: var(--cream)}.mood-card,.reserve-form,.review{--focus: var(--blue)}.frame{position:relative;background:var(--blue);overflow:clip}.wrap{width:min(var(--content),100% - 2 * var(--gutter));margin-inline:auto}.center{display:flex;justify-content:center}.serif{font-family:var(--font-serif);font-variation-settings:"SOFT" 100;font-weight:500}.eyebrow{display:inline-flex;align-items:center;gap:.75rem;font-size:.8125rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--blue)}.eyebrow:before,.eyebrow:after{content:"";width:1.375rem;height:2px;border-radius:2px;background:currentColor}.eyebrow b{font-weight:700;opacity:.6}.eyebrow--cream{color:var(--cream)}.title{font-family:var(--font-display);font-weight:400;font-size:clamp(2.5rem,5.8vw,4.75rem);line-height:.95;letter-spacing:.005em;text-transform:uppercase;text-wrap:balance}.title--blue{color:var(--blue)}.title--cream{color:var(--cream)}.lead{font-size:clamp(1rem,1.3vw,1.125rem);line-height:1.65;color:var(--brown-soft);max-width:54ch;text-wrap:pretty}.lead--cream{color:var(--cream-82)}.section-head{display:grid;justify-items:center;gap:1.125rem;text-align:center;margin-bottom:clamp(2.5rem,6vw,4rem)}.section-head .lead{margin-inline:auto}.link-arrow{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;color:var(--blue);text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px}.link-arrow svg{width:1.125rem;height:1.125rem;transition:transform .25s var(--spring)}.link-arrow:hover svg{transform:translate(4px)}.link-arrow--cream{color:var(--cream)}.btn{--press: var(--blue-deep);display:inline-flex;align-items:center;justify-content:center;gap:.625rem;min-height:3.25rem;padding:0 1.75rem;border:2px solid transparent;border-radius:62.4375rem;font-family:var(--font-body);font-size:1rem;font-weight:700;line-height:1;text-decoration:none;white-space:nowrap;box-shadow:0 4px 0 var(--press);transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out),background-color .2s,color .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--press)}.btn:active{transform:translateY(4px);box-shadow:0 0 0 var(--press)}.btn--sm{min-height:2.75rem;padding:0 1.25rem;font-size:.9375rem}.btn--block{width:100%}.btn--cream{background:var(--cream);color:var(--blue)}.btn--blue{background:var(--blue);color:var(--cream)}.btn--ghost-cream{--press: transparent;border-color:#fffff099;color:var(--cream)}.btn--ghost-cream:hover{background:var(--cream-12)}.btn--ghost-blue{--press: transparent;border-color:var(--blue);color:var(--blue)}.btn--ghost-blue:hover{background:var(--blue);color:var(--cream)}.round-btn{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;border:2px solid var(--blue);color:var(--blue);transition:background-color .2s,color .2s,opacity .2s,transform .2s var(--spring)}.round-btn svg{width:1.25rem;height:1.25rem}.round-btn:hover:not(:disabled){background:var(--blue);color:var(--cream);transform:scale(1.06)}.round-btn:disabled{opacity:.3;cursor:default}.site-header{position:sticky;top:.75rem;z-index:50;padding:.75rem var(--gutter) 0}.nav{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:min(var(--content),100%);margin-inline:auto;padding:.5rem .5rem .5rem .875rem;border:1.5px solid var(--cream-30);border-radius:62.4375rem;background:var(--blue);transition:box-shadow .3s}.site-header.is-stuck .nav{box-shadow:0 14px 30px -14px #00003c8c}.brand{display:inline-flex;align-items:center;gap:.625rem;color:var(--cream);text-decoration:none}.brand img{width:2.875rem;transition:transform .4s var(--spring)}.brand:hover img{transform:rotate(-12deg) scale(1.08)}.brand__word{font-family:var(--font-display);font-size:1.125rem;text-transform:uppercase;letter-spacing:.01em;line-height:1;padding-top:2px}.nav__actions{display:flex;align-items:center;gap:.5rem}.nav__actions .btn--cream{--press: var(--blue-deep)}.burger{display:grid;gap:4px;width:1rem}.burger i{display:block;height:2px;border-radius:2px;background:currentColor}.burger i:last-child{width:70%}.menu-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--blue);color:var(--cream);overflow-y:auto}.menu-panel__inner{position:relative;min-height:100%;display:grid;place-items:center;padding:6rem var(--gutter) 4rem}.menu-panel__close{position:absolute;top:1.25rem;right:var(--gutter);width:3.25rem;height:3.25rem;border-radius:50%;border:2px solid var(--cream-30);font-size:2rem;line-height:1;color:var(--cream);transition:transform .3s var(--spring),background-color .2s}.menu-panel__close:hover{transform:rotate(90deg);background:var(--cream-12)}.menu-panel__links{list-style:none;text-align:center;display:grid;gap:.375rem}.menu-panel__links a{display:inline-block;font-family:var(--font-display);font-size:clamp(2.25rem,7vw,4.5rem);line-height:1.05;text-transform:uppercase;text-decoration:none;transition:color .2s,transform .3s var(--spring)}.menu-panel__links a:hover{color:var(--orange);transform:rotate(-2deg) scale(1.03)}.menu-panel__mascot{position:absolute;right:clamp(1rem,6vw,5rem);bottom:clamp(1rem,4vw,3rem);width:clamp(5.625rem,14vw,10.625rem);rotate:-8deg}.menu-panel.is-open .menu-panel__links li{animation:rise .6s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 50ms + 60ms)}.menu-panel.is-open .menu-panel__mascot{animation:pop .7s var(--spring) .3s both}.hero{position:relative;z-index:2;padding-top:clamp(2.5rem,6vw,4.5rem);text-align:center;color:var(--cream)}.hero__stage{position:relative;width:min(var(--content),100% - 2 * var(--gutter));margin-inline:auto}.hero__title{font-family:var(--font-display);font-weight:400;font-size:clamp(3rem,min(9.4vw,16vh),9.5rem);line-height:.9;text-transform:uppercase;letter-spacing:.005em}.hero__title .line{display:block}.hero__title .line>span{display:inline-block}.grin{position:relative;font-style:normal;display:inline-block}.grin svg{position:absolute;left:-2%;bottom:-.12em;width:104%;height:.22em;overflow:visible}.grin path{fill:none;stroke:var(--orange);stroke-width:7;stroke-linecap:round;stroke-dasharray:220;stroke-dashoffset:0}.hero__sub{max-width:36ch;margin:clamp(1.375rem,3vw,2rem) auto 0;font-size:clamp(1rem,1.4vw,1.1875rem);color:var(--cream-82);text-wrap:balance}.hero__sub .serif{color:var(--cream);font-size:1.12em}.sticker{position:absolute;z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none}.sticker--cool{top:-2%;left:1%;width:clamp(4.5rem,10vw,8.75rem);rotate:-12deg}.sticker--love{top:58%;left:6%;width:clamp(3.75rem,8vw,7rem);rotate:10deg}.sticker--tag{top:63%;right:4%;padding:.5rem 1rem .4375rem;border:2px solid var(--blue);border-radius:62.4375rem;background:var(--cream);color:var(--blue);font-family:var(--font-display);font-size:clamp(.75rem,1.2vw,1rem);letter-spacing:.02em;rotate:8deg;box-shadow:0 4px 0 var(--blue-deep)}.sticker--badge{top:-6%;right:2%;width:clamp(6rem,11.5vw,9.75rem);aspect-ratio:1;display:grid;place-items:center;rotate:12deg}.sticker--badge svg,.hi__badge svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.sticker--badge svg{fill:var(--orange)}.sticker--badge,.hi__badge{container-type:inline-size}.sticker--badge span{position:relative;font-family:var(--font-display);font-size:10.5cqi;line-height:1.05;text-transform:uppercase;color:var(--brown)}.sticker--badge b{font-weight:400;color:var(--blue)}.hero__cups{position:relative;z-index:3;width:var(--cups-w);margin:clamp(.5rem,2vw,1.5rem) auto calc(var(--cups-w) * -.25);will-change:transform;transform:translate3d(0,var(--py, 0px),0)}.hero__cups img{width:100%;filter:drop-shadow(0 30px 30px rgb(0 0 60 / .35))}.js .hero__title .line>span{animation:rise .9s var(--ease-out) both}.js .hero__title .line:nth-child(2)>span{animation-delay:.08s}.js .hero__title .line:nth-child(3)>span{animation-delay:.16s}.js .grin path{animation:draw .9s var(--ease-out) .75s both}.js .hero__sub{animation:rise .9s var(--ease-out) .3s both}.js .hero__cups img{animation:cups-in 1.3s var(--spring) .25s both}.js .sticker{animation:pop .7s var(--spring) both}.js .sticker--cool{animation-delay:.7s}.js .sticker--badge{animation-delay:.85s}.js .sticker--tag{animation-delay:1s}.js .sticker--love{animation-delay:1.1s}@media(prefers-reduced-motion:no-preference){.sticker--cool,.sticker--love,.sticker--badge,.sticker--tag{animation-fill-mode:both}.js .sticker--cool{animation:pop .7s var(--spring) .7s both,bob 5.5s ease-in-out 1.6s infinite}.js .sticker--badge{animation:pop .7s var(--spring) .85s both,bob 6.5s ease-in-out 1.8s infinite}.js .sticker--tag{animation:pop .7s var(--spring) 1s both,bob 7s ease-in-out 2s infinite}.js .sticker--love{animation:pop .7s var(--spring) 1.1s both,bob 6s ease-in-out 2.1s infinite}}.about{position:relative;z-index:1;background:var(--cream);padding:calc(var(--cups-w) * .25 + clamp(3.5rem,8vw,6.5rem)) var(--gutter) clamp(4rem,7vw,6rem)}.about__stage{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:calc(var(--content) + 4rem);margin-inline:auto}.about__copy{grid-column:1 / -1;grid-row:1;display:grid;justify-items:center;gap:1.25rem;text-align:center;margin-bottom:2rem}.about__copy .lead{margin-inline:auto}.float-photo{border:6px solid var(--paper);border-radius:1.375rem;overflow:hidden;background:var(--paper);box-shadow:var(--shadow-photo)}.float-photo img{width:100%;height:100%;object-fit:cover;border-radius:1rem;aspect-ratio:4 / 5}.fp-1{rotate:-3deg}.fp-2{rotate:2.5deg}.fp-3{rotate:2deg}.fp-4{rotate:-2.5deg}.fp-3 img{object-position:50% 40%}@media(min-width:1024px){.about__stage{position:relative;display:grid;place-items:center;min-height:clamp(37.5rem,52vw,43.75rem)}.about__copy{position:relative;z-index:2;max-width:31.25rem;margin:0}.float-photo{position:absolute;z-index:1;transition:rotate .5s var(--spring),scale .5s var(--spring)}.float-photo:hover{rotate:0deg;scale:1.04;z-index:3}.fp-1{top:0;left:1%;width:15%}.fp-2{top:4%;right:0;width:20%}.fp-2 img,.fp-4 img{aspect-ratio:4 / 3}.fp-3{bottom:0;left:7%;width:15%}.fp-4{bottom:6%;right:4%;width:19%}}.section{position:relative;padding-block:var(--section-pad);scroll-margin-top:5rem}.section--blue{background:var(--blue);color:var(--cream)}.section--cream{background:var(--cream)}#about,#menu,#moods,#buddies,#visit,#reviews,#club{scroll-margin-top:5rem}.cats__list{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.75rem,4vw,2.5rem) clamp(1rem,3vw,2rem);margin-bottom:clamp(2.5rem,6vw,3.5rem)}@media(min-width:900px){.cats__list{grid-template-columns:repeat(4,1fr)}}.cat a{display:grid;justify-items:center;gap:.625rem;text-align:center;text-decoration:none;color:var(--cream);border-radius:var(--r-lg)}.cat__circle{position:relative;width:min(100%,14.75rem);aspect-ratio:1;margin-bottom:.625rem;border-radius:50%;border:5px solid var(--cream);overflow:hidden;background:var(--cream);transition:transform .5s var(--spring),box-shadow .4s}.cat__circle img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-out)}.cat a:hover .cat__circle{transform:rotate(-5deg) translateY(-4px);box-shadow:0 0 0 8px #fffff02e}.cat a:hover .cat__circle img{transform:scale(1.08)}.cat__name{font-family:var(--font-display);font-size:clamp(1.125rem,1.8vw,1.375rem);line-height:1.1;text-transform:uppercase}.cat__desc{max-width:24ch;font-size:.9375rem;line-height:1.5;color:var(--cream-82)}.tabs{display:flex;width:max-content;margin:0 auto clamp(2rem,5vw,3rem);padding:.3125rem;gap:4px;border:2px solid var(--blue);border-radius:62.4375rem}.tab{display:inline-flex;align-items:center;gap:.5rem;min-height:2.875rem;padding:0 1.5rem;border-radius:62.4375rem;font-weight:700;color:var(--blue);transition:background-color .25s,color .25s;--bean-line: var(--cream)}.tab svg{width:1.125rem;height:1.125rem}.tab[aria-selected=true]{background:var(--blue);color:var(--cream);--bean-line: var(--blue)}.tab:not([aria-selected=true]):hover{background:#0000ff12}.menu__grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:620px){.menu__grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}}@media(min-width:980px){.menu__grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}@media(prefers-reduced-motion:no-preference){.js .menu__grid:not(.is-entering)>*{opacity:0}.menu__grid.is-entering>*{animation:rise .55s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 55ms)}}.item{position:relative;display:grid;padding:.75rem;border:1.5px solid var(--line);border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--shadow-card);transition:transform .4s var(--spring),box-shadow .3s}.item:hover{transform:translateY(-5px) rotate(-.6deg);box-shadow:0 1px #42210b0a,0 26px 44px -24px #42210b73}.item__img{aspect-ratio:5 / 4;border-radius:var(--r-md);overflow:hidden;background:var(--cream-warm)}.item__img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-out)}.item:hover .item__img img{transform:scale(1.05)}.item__tag{position:absolute;top:1.375rem;left:1.375rem;z-index:2;padding:.375rem .75rem .3125rem;border-radius:62.4375rem;background:var(--blue);color:var(--cream);font-size:.75rem;font-weight:700;letter-spacing:.04em;rotate:-4deg}.heart{position:absolute;top:1.25rem;right:1.25rem;z-index:2;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--cream);color:var(--blue);box-shadow:0 6px 14px -8px #42210b80;transition:transform .3s var(--spring)}.heart svg{width:1.375rem;height:1.375rem}.heart:hover{transform:scale(1.1)}.heart[aria-pressed=true]{--heart-fill: var(--blue)}.heart.is-popping svg{animation:heart-pop .5s var(--spring)}.item__body{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:.375rem .75rem;padding:1.125rem .5rem .5rem}.item__name{font-family:var(--font-display);font-weight:400;font-size:1.375rem;line-height:1.1;text-transform:uppercase;color:var(--blue)}.item__price{font-weight:700;font-size:1.125rem;font-variant-numeric:tabular-nums;color:var(--brown)}.item__desc{grid-column:1 / -1;grid-row:2;font-size:.9375rem;line-height:1.5;color:var(--brown-soft)}.item--mood{align-content:center;justify-items:start;gap:.625rem;padding:1.75rem;border-color:transparent;background:var(--blue);color:var(--cream);text-decoration:none;overflow:hidden}.item--mood img{width:7.25rem;rotate:-8deg;margin-bottom:.375rem;transition:rotate .5s var(--spring)}.item--mood:hover img{rotate:6deg}.item--mood__title{font-family:var(--font-display);font-size:1.75rem;line-height:1;text-transform:uppercase}.item--mood__text{max-width:26ch;color:var(--cream-82)}@media(max-width:619px){.item:not(.item--mood){grid-template-columns:7rem 1fr;align-items:center;gap:.875rem;padding:.625rem}.item__img{aspect-ratio:1}.item__body{padding:0 4px 0 0}.item__name{font-size:1.125rem}.item__desc{font-size:.875rem}.item__tag{top:.375rem;left:.375rem;font-size:.6875rem;padding:4px .5625rem 3px}.heart{top:auto;bottom:.625rem;left:5.5rem;right:auto;width:2.25rem;height:2.25rem}.heart svg{width:1.125rem;height:1.125rem}.item:hover{transform:none}}.moods__layout{display:grid;gap:clamp(1.5rem,4vw,3rem);align-items:center}@media(min-width:960px){.moods__layout{grid-template-columns:1fr 1.1fr}}.moods__picker{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.5rem,1.5vw,.875rem)}.mood-btn{display:grid;justify-items:center;align-content:center;gap:.375rem;aspect-ratio:1 / 1.08;padding:.625rem .375rem .5rem;border:2px solid var(--cream-30);border-radius:1.375rem;background:var(--cream-12);color:var(--cream);font-size:.8125rem;font-weight:700;transition:background-color .25s,border-color .25s,color .25s,transform .35s var(--spring)}.mood-btn{grid-template-rows:1fr auto}.mood-btn img{width:92%;height:100%;min-height:0;object-fit:contain;transition:transform .45s var(--spring)}.mood-btn:hover{transform:translateY(-3px);border-color:#fffff099}.mood-btn:hover img{transform:rotate(-10deg) scale(1.06)}.mood-btn[aria-checked=true]{background:var(--cream);border-color:var(--cream);color:var(--blue)}.mood-btn[aria-checked=true] img{transform:scale(1.12) rotate(4deg)}.mood-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);align-items:center;gap:clamp(1.25rem,3vw,2.25rem);padding:clamp(1.25rem,3vw,2rem);border-radius:var(--r-xl);background:var(--cream);color:var(--brown);box-shadow:0 30px 60px -30px #00003c99}.mood-card__visual{position:relative}.mood-card__product{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-lg);background:var(--cream-warm)}.mood-card__mascot{position:absolute;top:-14%;left:-12%;width:52%;rotate:-8deg;filter:drop-shadow(0 10px 12px rgb(66 33 11 / .25))}.mood-card__copy{display:grid;gap:.625rem}.mood-card__feel{font-size:.8125rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}.mood-card__drink{font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,4vw,3rem);line-height:.95;text-transform:uppercase;color:var(--blue)}.mood-card__line{color:var(--brown-soft);text-wrap:pretty}.mood-card__price{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.125rem;margin-top:.375rem;font-weight:700;font-size:1.25rem;font-variant-numeric:tabular-nums}.mood-card__price .link-arrow{font-size:.9375rem}.mood-card.is-swapping .mood-card__mascot{animation:pop .6s var(--spring) both}.mood-card.is-swapping .mood-card__product,.mood-card.is-swapping .mood-card__copy{animation:swap-in .45s var(--ease-out) both}@media(max-width:560px){.moods__picker{gap:.5rem}.mood-btn{border-radius:1rem;font-size:.75rem}.mood-card{grid-template-columns:1fr}.mood-card__visual{width:78%;margin:1.125rem auto 0}}.buddies__list{display:grid;gap:1.25rem}@media(min-width:900px){.buddies__list{grid-template-columns:repeat(3,1fr);gap:1.5rem}}.buddy{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto 1fr;gap:.5rem 1rem;padding:1.625rem 1.5rem 0;border:1.5px solid var(--line);border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--shadow-card);overflow:hidden;transition:transform .4s var(--spring)}.buddy:hover{transform:translateY(-5px)}.buddy__num{grid-column:2;grid-row:1;display:grid;place-items:center;width:2.125rem;height:2.125rem;border-radius:.6875rem;background:var(--blue);color:var(--cream);font-family:var(--font-display);font-size:1rem;rotate:6deg}.buddy__name{grid-column:1;grid-row:1;font-family:var(--font-display);font-weight:400;font-size:clamp(1.375rem,2.2vw,1.75rem);line-height:1.05;text-transform:uppercase;color:var(--blue)}.buddy__name span{color:var(--orange);-webkit-text-stroke:1px var(--brown)}.buddy__desc{grid-column:1 / -1;color:var(--brown-soft)}.buddy__price{grid-column:1 / -1;font-weight:700;font-size:1.25rem;font-variant-numeric:tabular-nums}.buddy__img{grid-column:1 / -1;align-self:end;margin:.875rem -1.5rem 0;aspect-ratio:4 / 3;overflow:hidden;background:var(--cream-warm)}.buddy__img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-out)}.buddy:hover .buddy__img img{transform:scale(1.05)}@media(min-width:640px)and (max-width:899px){.buddy{grid-template-columns:1fr auto 1.1fr;grid-template-rows:auto auto 1fr;padding:1.5rem;column-gap:1rem}.buddy__desc,.buddy__price{grid-column:1 / 3}.buddy__price{align-self:end}.buddy__img{grid-column:3;grid-row:1 / -1;align-self:stretch;margin:-1.5rem -1.5rem -1.5rem .5rem;aspect-ratio:auto;min-height:13rem}}.reserve__layout{display:grid;gap:clamp(2.5rem,6vw,4.5rem);align-items:start}@media(min-width:960px){.reserve__layout{grid-template-columns:1fr 1.05fr}}.reserve__info{display:grid;gap:1.25rem;justify-items:start}.info-list{width:100%;margin-top:1.25rem}.info-list li{display:flex;align-items:center;gap:1rem;padding:1.125rem 0;border-top:1.5px solid rgb(255 255 240 / .2)}.info-list__icon{flex:none;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:.875rem;border:1.5px solid rgb(255 255 240 / .4)}.info-list__icon svg{width:1.375rem;height:1.375rem}.info-list b{display:block;font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase}.info-list li>span:last-child{color:var(--cream-82);line-height:1.5}.info-list a{color:var(--cream);text-underline-offset:3px}.reserve-form{position:relative;padding:clamp(1.375rem,3vw,2.25rem);border-radius:1.75rem;background:var(--cream);color:var(--brown);box-shadow:0 34px 70px -34px #000032bf}.reserve-form__fields{display:grid;gap:1.125rem}.reserve-form__title{font-family:var(--font-display);font-weight:400;font-size:1.5rem;line-height:1.1;text-transform:uppercase;color:var(--blue)}.field-row{display:grid;gap:1.125rem}@media(min-width:520px){.field-row{grid-template-columns:1fr 1fr}}.field{display:grid;gap:.4375rem;align-content:start}.field label,.field .label{font-size:.875rem;font-weight:700}.optional{font-weight:400;color:var(--brown-soft)}.field input,.field textarea{width:100%;min-height:3.125rem;padding:.75rem 1rem;border:1.5px solid rgb(66 33 11 / .2);border-radius:.875rem;background:var(--paper);font-size:1rem;color:var(--brown);transition:border-color .2s,box-shadow .2s}.field textarea{resize:vertical;min-height:5.75rem}.field input::placeholder,.field textarea::placeholder{color:#6b4a3399}.field input:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px #0000ff29}.field input[aria-invalid=true]{border-color:var(--error);box-shadow:0 0 0 4px #b423181f}.field__error{font-size:.8125rem;font-weight:600;color:var(--error)}.stepper{display:flex;align-items:center;gap:.625rem}.stepper__btn{display:grid;place-items:center;width:2.875rem;height:2.875rem;border-radius:50%;border:2px solid var(--blue);color:var(--blue);font-size:1.5rem;line-height:1;transition:background-color .2s,color .2s,transform .25s var(--spring),opacity .2s}.stepper__btn:hover:not(:disabled){background:var(--blue);color:var(--cream)}.stepper__btn:active:not(:disabled){transform:scale(.9)}.stepper__btn:disabled{opacity:.3;cursor:default}.stepper__value{min-width:6.75rem;text-align:center;font-weight:700;font-size:1.0625rem;font-variant-numeric:tabular-nums}.reserve-form__done{display:grid;justify-items:center;gap:.75rem;padding:2rem .5rem;text-align:center}.reserve-form__done:focus{outline:none}.reserve-form__done img{width:8.125rem;animation:pop .7s var(--spring) both}.reserve-form__done p{max-width:34ch;color:var(--brown-soft);margin-bottom:.5rem}.shop .section-head{margin-bottom:clamp(1.75rem,4vw,2.75rem)}.carousel__track{--edge: max(var(--gutter), (100% - var(--content)) / 2);display:flex;gap:clamp(.875rem,2vw,1.375rem);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--edge);padding:1rem var(--edge) 2.5rem;scrollbar-width:none}.carousel__track::-webkit-scrollbar{display:none}.carousel__track:focus-visible{outline-offset:-6px}.carousel__track li{flex:0 0 clamp(14.75rem,26vw,20.625rem);aspect-ratio:4 / 5;scroll-snap-align:start;border-radius:var(--r-lg);overflow:hidden;background:var(--cream-warm);box-shadow:0 16px 26px -18px #42210b80;transition:rotate .5s var(--spring)}.carousel__track li:nth-child(odd){rotate:-1.2deg}.carousel__track li:nth-child(2n){rotate:1.2deg}.carousel__track li:hover{rotate:0deg}.carousel__track img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}.carousel__track li:hover img{transform:scale(1.05)}.carousel__nav{display:flex;justify-content:center;gap:.75rem}.reviews{padding-bottom:0;overflow:hidden}.reviews__stage{position:relative;width:min(var(--content),100% - 2 * var(--gutter));margin-inline:auto}.reviews__ghost{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--font-display);font-size:clamp(3.5rem,11.5vw,9.5rem);line-height:.88;text-align:center;text-transform:uppercase;white-space:nowrap;color:#fffff012;pointer-events:none;-webkit-user-select:none;user-select:none}.reviews__center{position:relative;z-index:1;display:grid;justify-items:center;gap:.75rem;text-align:center;padding-block:.5rem 2.25rem}.reviews__quote{font-family:var(--font-serif);font-size:5rem;line-height:.6;height:.45em;color:var(--orange)}.reviews__title{font-family:var(--font-display);font-weight:400;font-size:clamp(2.25rem,4.6vw,3.5rem);line-height:.95;text-transform:uppercase;color:var(--cream)}.reviews__cards{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:1.125rem 4px 2.5rem;scrollbar-width:none}.reviews__cards::-webkit-scrollbar{display:none}.review{flex:0 0 min(18.125rem,80%);scroll-snap-align:center;display:grid;gap:.75rem;padding:1.125rem 1.25rem 1.25rem;border-radius:1.375rem;background:var(--cream);color:var(--brown);box-shadow:0 24px 40px -26px #000028cc;transition:rotate .5s var(--spring),scale .5s var(--spring)}.review p{font-size:.9375rem;line-height:1.55}.review__who{display:flex;align-items:center;gap:.75rem}.review__who img{flex:none;width:3.125rem;height:3.125rem;padding:.375rem;border-radius:50%;object-fit:contain;background:var(--cream-warm)}.review__who b{display:block;font-size:.9375rem;line-height:1.3}.stars{display:flex;gap:2px;color:var(--orange)}.stars svg{width:.9375rem;height:.9375rem}.r-1{rotate:-3deg}.r-2{rotate:2.5deg}.r-3{rotate:1.5deg}.r-4{rotate:-1.5deg}.r-5{rotate:-2.5deg}.review:hover{rotate:0deg;scale:1.03;z-index:3}@media(min-width:1200px){.reviews__stage{min-height:42.5rem;display:grid;place-items:center}.reviews__center{padding:0}.reviews__cards{position:absolute;top:0;right:0;bottom:0;left:0;display:block;overflow:visible;padding:0}.review{position:absolute;width:17rem}.r-1{top:4%;left:4%}.r-2{top:2%;right:6%}.r-3{top:44%;left:0}.r-4{bottom:6%;left:34%}.r-5{top:50%;right:1%}}.marquee{margin-top:clamp(3rem,7vw,5rem);width:104%;margin-left:-2%;padding:1rem 0 .875rem;background:var(--cream);color:var(--blue);rotate:-1.5deg;translate:0 -10px;overflow:hidden;--bean-line: var(--cream)}.marquee__track{display:flex;align-items:center;gap:1.75rem;width:max-content;font-family:var(--font-display);font-size:clamp(1.125rem,2vw,1.5rem);text-transform:uppercase;white-space:nowrap}.marquee__track svg{flex:none;width:1.5rem;height:1.5rem;color:var(--brown)}@media(prefers-reduced-motion:no-preference){.marquee__track{animation:marquee 38s linear infinite}.marquee:hover .marquee__track{animation-play-state:paused}}.hi__layout{display:grid;gap:clamp(3rem,7vw,5.5rem);align-items:center}@media(min-width:900px){.hi__layout{grid-template-columns:1fr 1fr}}.hi__photo{position:relative;justify-self:center;width:100%;max-width:32.5rem}.hi__photo img{width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:50% 30%;border-radius:1.75rem;box-shadow:var(--shadow-photo)}.hi__badge{position:absolute;right:-1.375rem;bottom:-1.625rem;width:clamp(7.25rem,14vw,9.75rem);aspect-ratio:1;display:grid;place-items:center}.hi__badge svg{fill:var(--blue);filter:drop-shadow(0 12px 14px rgb(0 0 60 / .3))}.hi__badge span{position:relative;font-family:var(--font-display);font-size:12.5cqi;line-height:1.05;text-transform:uppercase;text-align:center;color:var(--cream);rotate:-8deg}@media(prefers-reduced-motion:no-preference){.hi__badge svg{animation:spin 26s linear infinite}}.hi__copy{display:grid;gap:1.25rem;justify-items:start}.hi__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.375rem}.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.chips li{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;border:1.5px solid var(--line);border-radius:62.4375rem;font-size:.875rem;font-weight:700;--bean-line: var(--cream)}.chips svg{width:1rem;height:1rem;color:var(--blue)}.footer{position:relative;padding-top:clamp(4.5rem,9vw,7rem);background:var(--blue);color:var(--cream)}.footer__grid{display:grid;gap:3.5rem}@media(min-width:900px){.footer__grid{grid-template-columns:1.1fr 1fr;gap:4.5rem}}.brand--lg img{width:4.75rem}.brand--lg .brand__word{font-size:clamp(1.75rem,3.4vw,2.5rem)}.footer__blurb{max-width:40ch;margin-top:1.125rem;font-size:1.0625rem;color:var(--cream-82)}.footer__blurb .serif{color:var(--cream)}.club{margin-top:2.25rem;display:grid;gap:.5rem;max-width:27.5rem}.club__label{font-family:var(--font-display);font-size:1.25rem;line-height:1.1;text-transform:uppercase}.club__hint{font-size:.9375rem;color:var(--cream-82)}.club__row{display:flex;gap:.5rem;margin-top:.375rem}.club__row input{flex:1;min-width:0;min-height:3rem;padding:0 1.25rem;border:1.5px solid rgb(255 255 240 / .4);border-radius:62.4375rem;background:var(--cream-12);font-size:1rem;color:var(--cream)}.club__row input::placeholder{color:#fffff099}.club__row input:focus{outline:none;border-color:var(--cream);box-shadow:0 0 0 4px #fffff033}.club__msg{min-height:1.5em;font-size:.9375rem;font-weight:600}.footer__links{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-content:start}.footer__links ul{display:grid;gap:.375rem;align-content:start}.footer__links a{display:inline-block;font-family:var(--font-display);font-size:clamp(1.25rem,2.2vw,1.625rem);line-height:1.25;text-transform:uppercase;text-decoration:none;transition:color .2s,transform .3s var(--spring)}.footer__links a:hover{color:var(--orange);transform:translate(6px) rotate(-1.5deg)}.footer__links .footer__small a{font-family:var(--font-body);font-size:1rem;font-weight:600;text-transform:none;color:var(--cream-82);overflow-wrap:anywhere}.footer__links .footer__small a:hover{color:var(--cream)}.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;margin-top:clamp(3rem,7vw,5rem);padding:1.375rem 0;border-top:1.5px solid rgb(255 255 240 / .2);font-size:.875rem;color:var(--cream-82)}.footer__bottom b{color:var(--orange)}.crew{display:flex;justify-content:center;align-items:flex-end;gap:clamp(2px,1.6vw,1.375rem);padding:.75rem var(--gutter) 0}.crew img{height:clamp(2.75rem,8vw,6.75rem);width:auto;translate:0 22%;transition:translate .45s var(--spring)}.crew img:hover{translate:0 0}@media(max-width:480px){.crew img:nth-child(n+7){display:none}}.js [data-reveal]{opacity:0;translate:0 28px;transition:opacity .8s var(--ease-out),translate .9s var(--ease-out),rotate .5s var(--spring),scale .5s var(--spring);transition-delay:calc(var(--d, 0) * 80ms),calc(var(--d, 0) * 80ms),0s,0s}.js [data-reveal].is-in{opacity:1;translate:0 0}@keyframes rise{0%{opacity:0;transform:translateY(.45em)}to{opacity:1;transform:translateY(0)}}@keyframes draw{0%{stroke-dashoffset:220}to{stroke-dashoffset:0}}@keyframes cups-in{0%{opacity:0;transform:translateY(18%) rotate(-5deg) scale(.92)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes bob{0%,to{translate:0 0}50%{translate:0 -9px}}@keyframes heart-pop{0%{transform:scale(1)}35%{transform:scale(.7)}70%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes swap-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes marquee{to{transform:translate(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){:root{--r-xl: 1.375rem;--cups-w: min(35rem, 94vw)}.site-header{top:.5rem;padding-top:.5rem}.about{padding-top:calc(var(--cups-w) * .25 + 3.5rem)}.sticker--love,.sticker--tag{display:none}.hero__stage{padding-top:clamp(4.5rem,18vw,6rem)}.sticker--cool{top:0;left:0;width:clamp(4rem,17vw,5.5rem)}.sticker--badge{top:-4px;right:0;width:clamp(5.25rem,22vw,6.75rem)}.reviews__ghost{display:none}.hi__badge{right:-.375rem;bottom:-1.25rem}}@media(max-width:520px){.footer__links{grid-template-columns:1fr}.footer__links .footer__small{display:flex;flex-wrap:wrap;gap:.5rem 1.375rem}.footer__links .footer__small a{overflow-wrap:normal}}@media(max-width:420px){.brand__word{font-size:.9375rem;white-space:nowrap}.hero__title{font-size:12.2vw}.brand img{width:2.375rem}.nav__actions .btn--sm{padding:0 .875rem;font-size:.875rem}.nav__actions .btn--cream{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0ms!important;transition-duration:.01ms!important}.js [data-reveal]{opacity:1;translate:none}.hero__cups{transform:none}}
