.location-instruction{font-size:15px;color:#62695f;margin:-10px 0 20px}.location-grid article{padding:0;transition:box-shadow .2s,transform .2s}.city-choice{display:block;position:relative;text-align:left;width:100%;height:100%;padding:30px 26px 27px;background:transparent;color:inherit;border:0;border-radius:26px;cursor:pointer}.city-choice:disabled{cursor:default}.city-name{display:block;font:700 21px/1.2 Manrope,sans-serif;letter-spacing:-.035em}.city-neighborhood{display:block;font-size:15px;color:#5b665a;margin-top:9px}.city-select-mark{position:absolute;right:20px;top:20px;font-size:23px;line-height:1;width:30px;height:30px;border-radius:50%;background:#ffffff88;display:grid;place-items:center}.location-grid article[data-selected=true]{box-shadow:inset 0 0 0 2px #274331}.location-grid article[data-selected=true] .city-select-mark{background:#274331;color:#fff;font-size:17px}
.brand-playground{max-width:1392px;margin:20px auto 60px;padding:55px 64px;border-radius:44px;background:#f7f6f0;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.preview-copy .eyebrow{font-size:12px}.preview-copy h2{font-size:clamp(3rem,5.3vw,5rem);line-height:1.03;margin:20px 0 24px}.preview-copy>p{font-size:18px;line-height:1.6;color:#62695f}.preview-controls{margin-top:30px}.brand-name-label{display:block;font-size:15px;font-weight:600;margin-bottom:10px}#preview-brand{font:500 19px/1.3 'DM Sans',sans-serif;border:1px solid #d5dacf;border-radius:14px;padding:16px 18px;width:100%;max-width:420px;background:white;color:#17201b}#preview-brand:focus{outline:2px solid #8a7ac2;outline-offset:3px}.mood-picker{border:0;padding:0;margin:23px 0;display:flex;gap:9px;flex-wrap:wrap}.mood-picker legend{font-size:15px;font-weight:600;padding:0;margin-bottom:12px}.mood-picker button{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #d9ddd3;border-radius:100px;padding:10px 13px;font-size:14px;cursor:pointer;color:#24382a}.mood-picker button[aria-pressed=true]{border-color:#274331;box-shadow:0 0 0 1px #274331}.mood-dot{width:15px;height:15px;border-radius:50%;display:inline-block}.lilac-dot{background:#c9bdec}.blush-dot{background:#efbdcc}.citrus-dot{background:#dcdf91}.preview-copy .preview-city-line{font-size:15px;max-width:440px;margin:22px 0}.preview-copy .button{font-size:15px}.inquiry-note{display:block;font-size:13px;color:#6c7267;margin-top:12px;max-width:365px}.preview-stage{--mood:#d7ccf0;--mood-ink:#3f315a;min-width:0;perspective:1100px}.preview-stage[data-mood=blush]{--mood:#f0c9d2;--mood-ink:#563042}.preview-stage[data-mood=citrus]{--mood:#e3e9ad;--mood-ink:#3b4924}.preview-menu{border-radius:30px;background:var(--mood);color:var(--mood-ink);padding:25px 25px 30px;box-shadow:0 16px 35px #29372712;transform-style:preserve-3d;transition:background .3s,color .3s,transform .16s ease-out;will-change:transform}.preview-menu-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.preview-menu-top>span:first-child{font:800 22px/1 Manrope,sans-serif;letter-spacing:-.07em}.preview-menu-top>span:last-child{font-size:10px;letter-spacing:.09em;text-align:right;max-width:130px}.concept-art{height:320px;display:flex;justify-content:center;align-items:center}.concept-art img{height:100%;width:85%;object-fit:contain;filter:drop-shadow(8px 15px 9px #382c3520);transform:rotate(-7deg);pointer-events:none}.menu-caption{text-align:center;padding:5px 6px 8px}.menu-small{font-size:10px;letter-spacing:.17em;font-weight:600}.menu-caption strong{display:block;font:800 clamp(2rem,3.5vw,3.7rem)/1.08 Manrope,sans-serif;letter-spacing:-.055em;margin:10px 0 14px;overflow-wrap:anywhere}.menu-caption strong.long-name{font-size:clamp(1.7rem,2.8vw,2.7rem)}.menu-drink{display:block;font-size:14px;line-height:1.5;max-width:275px;margin:auto}.concept-note{text-align:center;font-size:12px;color:#73786e;margin-top:18px}
@media(hover:hover) and (pointer:fine){.location-grid article:has(.city-choice:not(:disabled)):hover{transform:translateY(-5px)}}
@media(max-width:1450px){.brand-playground{margin-left:24px;margin-right:24px}}
@media(max-width:1100px){.brand-playground{padding:40px 35px;gap:35px}.preview-copy h2{font-size:3.5rem}.preview-menu{padding:22px 18px}.concept-art{height:270px}}
@media(max-width:700px){.location-grid article{padding:0}.city-choice{padding:23px 18px;border-radius:22px}.city-name{font-size:18px}.city-neighborhood{font-size:14px}.city-select-mark{right:13px;top:13px;width:26px;height:26px;font-size:21px}.location-instruction{font-size:14px}.brand-playground{grid-template-columns:1fr;margin:10px 12px 40px;padding:32px 24px;border-radius:30px;gap:30px}.preview-copy h2{font-size:3rem}.preview-copy>p{font-size:16px}.preview-controls{margin-top:24px}#preview-brand{font-size:18px;padding:14px 16px}.preview-copy .button{font-size:14px;gap:20px}.preview-stage{max-width:440px;width:100%;margin:auto}.preview-menu{padding:22px 20px 26px;border-radius:25px}.concept-art{height:265px}.menu-caption strong{font-size:2.6rem}.menu-caption strong.long-name{font-size:2rem}.inquiry-note{font-size:12px}.preview-menu-top>span:first-child{font-size:21px}}
@media(prefers-reduced-motion:reduce){.location-grid article,.preview-menu{transition:none}.preview-menu{transform:none!important}.location-grid article:hover{transform:none!important}}

/* A city choice becomes a visible starting plan. */
.location-plan{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(230px,.65fr);gap:28px;align-items:end;margin-top:26px;padding:28px 30px;border:1px solid #e4e3d8;border-radius:28px;background:#f8f7f1;transition:background .25s,border-color .25s}
.location-plan[data-active=true]{background:#fff2e8;border-color:#edbc9f}
.location-plan .eyebrow{color:#9a512e}
.location-plan h3{font-size:clamp(1.5rem,2.5vw,2.1rem);margin:9px 0 13px}
.location-plan-main>p{font-size:14px;color:#62695f;max-width:620px}
.location-plan-main>p+p{margin-top:10px}
.selected-city-route{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.selected-city-route:empty{display:none}
.selected-city-route span{background:#fff;border:1px solid #e6c9b6;border-radius:99px;padding:8px 13px;font-size:13px;font-weight:700;color:#984313}
.location-plan-action{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.location-plan-action>span{font-size:11px;font-weight:700;letter-spacing:.08em;line-height:1.9;color:#77796d}
.location-plan-action .button{font-size:14px}
@media(max-width:700px){.location-plan{grid-template-columns:1fr;padding:23px 20px;gap:20px}.location-plan-action{gap:15px}.location-plan-action>span{font-size:10px}}

/* The name follows the actual cup while its concept stays illustrative. */
.concept-art .cup-render{position:relative;height:100%;aspect-ratio:2/3;transform:rotate(-7deg);filter:drop-shadow(8px 15px 9px #382c3520)}
.concept-art .cup-render img{width:100%;height:100%;object-fit:contain;transform:none;filter:none}
.sleeve-brand{position:absolute;top:53.5%;left:50%;width:58%;transform:translate(-50%,-50%) rotate(-1deg);display:block;text-align:center;color:#244536;font:italic 700 clamp(14px,1.4vw,20px)/1.02 'Fraunces',Georgia,serif;letter-spacing:-.045em;text-wrap:balance;overflow-wrap:anywhere;max-height:17%;overflow:hidden;pointer-events:none}
.sleeve-brand.long-name{font-size:clamp(11px,1.1vw,15px);line-height:1}
.palette-shuffle{display:inline-flex;gap:12px;align-items:center;border:0;padding:0;background:transparent;color:#a44710;font-size:14px;font-weight:700;cursor:pointer}
.palette-shuffle:hover{text-decoration:underline;text-underline-offset:4px}
.palette-shuffle span{font-size:19px}
.preview-action-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;margin-top:24px}
.palette-status{font-size:13px;color:#62695f;margin-top:7px}
.palette-status:empty{display:none}
.preview-reveal{display:inline-flex;align-items:center;gap:16px;padding:12px 17px;border:1px solid #334c39;border-radius:99px;background:#fff;color:#244532;font-size:14px;font-weight:700;cursor:pointer;transition:transform .2s,background .2s}
.preview-reveal{margin-top:0}
.preview-reveal:hover{background:#edf3e9;transform:translateY(-2px)}
.preview-reveal span{color:#c34b00;font-size:20px}
.celebration-status{font-size:14px;color:#375239;line-height:1.45;max-width:370px;margin-top:12px}
.celebration-status:empty{display:none}
.preview-stage{position:relative}
.brand-playground{position:relative;overflow:hidden}
.drink-rain{position:absolute;inset:0;overflow:hidden;z-index:4;pointer-events:none;border-radius:44px}
.drink-rain img{position:absolute;left:var(--drop-x);top:-35px;width:clamp(55px,7vw,86px);height:110px;object-fit:contain;filter:drop-shadow(2px 9px 7px #24162145);animation:drink-drop 2.05s cubic-bezier(.34,.01,.68,.99) var(--drop-delay) both}
@keyframes drink-drop{0%{opacity:0;transform:translate3d(0,-40px,0) rotate(-20deg)}12%{opacity:1}82%{opacity:1}100%{opacity:0;transform:translate3d(var(--drop-drift),var(--drop-distance),0) rotate(var(--drop-spin))}}
@media(max-width:700px){.preview-action-row{gap:14px 18px;margin-top:21px}.sleeve-brand{font-size:15px}.sleeve-brand.long-name{font-size:11px}.drink-rain{border-radius:30px}.drink-rain img{width:62px}}
@media(prefers-reduced-motion:reduce){.preview-reveal{transition:none}.preview-reveal:hover{transform:none}.drink-rain{display:none}}

/* The drink studio keeps the method private while making the menu moment tangible. */
.brand-playground{align-items:start}
.preview-copy>p:first-of-type{max-width:520px}
.drink-builder{margin-top:26px;padding:24px;border:1px solid #e3e0d5;border-radius:25px;background:#fffefa;box-shadow:0 9px 30px #23342608}
.builder-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.builder-kicker,.builder-count,.builder-step-label{font-size:11px;font-weight:800;letter-spacing:.12em;color:#9a531f}
.builder-count{color:#4b5e4c;font-variant-numeric:tabular-nums}
.drink-builder h3{font:750 23px/1.18 Manrope,sans-serif;letter-spacing:-.04em;margin:12px 0 18px;color:#1d3929}
.builder-progress{display:flex;gap:7px;margin-bottom:23px}
.builder-progress-mark{flex:1;min-width:0;border-top:3px solid #dddcd2;padding-top:8px;font-size:10px;font-weight:700;letter-spacing:.025em;color:#8a8e82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.builder-progress-mark[data-state=done]{border-color:#bf6b39;color:#a04d1d}
.builder-progress-mark[data-state=current]{border-color:#31543c;color:#31543c}
.builder-step h4{font:750 20px/1.2 Manrope,sans-serif;letter-spacing:-.035em;margin:8px 0 5px;color:#182d21}
.builder-step>p{font-size:13px;line-height:1.45;color:#687267;margin:0 0 17px}
.builder-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.builder-option{min-width:0;min-height:88px;display:flex;align-items:flex-start;gap:10px;text-align:left;padding:13px 11px;border:1px solid #e1e2d9;border-radius:15px;background:#fff;color:#243b2a;cursor:pointer;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s}
.builder-option:hover{border-color:#b5c5b5;transform:translateY(-2px)}
.builder-option[aria-pressed=true]{background:#f3f5ec;border-color:#31543c;box-shadow:inset 0 0 0 1px #31543c}
.builder-option-index{flex:none;display:grid;place-items:center;width:24px;height:24px;border:1px solid #d5dacf;border-radius:50%;font-size:9px;font-weight:800;color:#586b58}
.builder-option-copy{flex:1;min-width:0;display:block}
.builder-option-copy strong{display:block;font:750 14px/1.2 Manrope,sans-serif;letter-spacing:-.025em;margin:2px 0 6px}
.builder-option-copy small{display:block;font-size:11px;line-height:1.3;color:#677168}
.builder-option-check{opacity:0;color:#285637;font-size:14px;font-weight:800}
.builder-option[aria-pressed=true] .builder-option-check{opacity:1}
.builder-nav{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:43px;margin-top:19px}
.builder-back{padding:8px 4px;border:0;background:transparent;color:#4d6152;font-size:13px;font-weight:700;cursor:pointer}
.builder-next{margin-left:auto;display:inline-flex;align-items:center;gap:12px;border:0;border-radius:100px;background:#294934;color:#fff;padding:11px 17px;font-size:13px;font-weight:700;cursor:pointer;transition:background .18s,transform .18s}
.builder-next:hover:not(:disabled){background:#172d20;transform:translateY(-2px)}
.builder-next:disabled{background:#d5dcd1;color:#687467;cursor:default}
.builder-final .mood-picker{margin:0 0 8px}
.builder-final .mood-picker legend{margin-bottom:11px}
.builder-final .preview-action-row{margin-top:21px;gap:16px 22px}
.builder-final .preview-reveal{background:#274832;color:white;border-color:#274832;padding:13px 18px}
.builder-final .preview-reveal:hover{background:#142f20}
.builder-final .preview-reveal span{color:#f5a067}
.builder-final .palette-shuffle{font-size:13px}
.builder-final .palette-status{margin-top:12px}
.builder-step[hidden],.builder-final[hidden],.builder-back[hidden],.builder-next[hidden],.concept-details[hidden]{display:none!important}
.preview-stage{align-self:center}
.preview-menu{overflow:hidden}
.concept-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;border-top:1px solid #302a341f;margin-top:15px;padding-top:15px}
.concept-details>span{display:block;text-align:center}
.concept-details small{display:block;font-size:9px;font-weight:800;letter-spacing:.13em;opacity:.72}
.concept-details strong{display:block;font:700 12px/1.3 Manrope,sans-serif;margin-top:4px}
.preview-stage.is-revealed .concept-art .cup-render{animation:concept-pop .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes concept-pop{from{opacity:.5;scale:.86}to{opacity:1;scale:1}}
@media(max-width:1100px){.brand-playground{gap:26px}.drink-builder{padding:18px}.builder-option{padding:12px 9px}.builder-option-index{width:21px;height:21px}}
@media(max-width:700px){.brand-playground{align-items:stretch}.drink-builder{margin-top:22px;padding:19px 16px;border-radius:21px}.builder-progress-mark{font-size:9px}.builder-option{min-height:80px}.preview-stage{align-self:stretch}.concept-details{gap:7px}.preview-copy h2{margin-bottom:16px}.preview-copy>p:first-of-type{max-width:32rem}}
@media(max-width:380px){.builder-options{grid-template-columns:1fr}.builder-option{min-height:67px}.builder-option-copy small{margin-top:1px}}
@media(prefers-reduced-motion:reduce){.builder-option,.builder-next{transition:none}.builder-option:hover,.builder-next:hover:not(:disabled){transform:none}.preview-stage.is-revealed .concept-art .cup-render{animation:none}}
.builder-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0 0 21px}
.builder-review span{display:block;padding:10px 12px;background:#f6f6f0;border:1px solid #e8e7dd;border-radius:11px}
.builder-review small{display:block;font-size:9px;font-weight:800;letter-spacing:.11em;color:#94603c}
.builder-review strong{display:block;margin-top:4px;font:700 12px/1.25 Manrope,sans-serif;color:#294633}
.builder-option-copy small{font-size:12px}
@media(max-width:700px){.builder-option-copy small{font-size:12px}}
