/* Ignite website refinement. Static CSS; no build step. */
:root{--cream:#fffbf3;--ink:#33231f;--r:#b52321;--r2:#901b1a;--gold:#f8de91;--dark:#35231f;--muted:#725b51;--line:#e6d8c8}
html{scroll-padding-top:112px;scroll-behavior:smooth}
body{font-family:'Barlow',system-ui,sans-serif;font-weight:400;line-height:1.6}
h1,h2,h3,.disp{font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:-.025em;line-height:1.02;text-transform:lowercase}
.wrap{max-width:1240px;padding-inline:40px}
[hidden]{display:none!important}
main:focus{outline:none}
.skip-link{position:fixed;top:8px;left:12px;z-index:200;transform:translateY(-150%);background:var(--cream);color:var(--ink);padding:12px 20px;border-radius:6px}
.skip-link:focus{transform:none}
a,button,input,textarea{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #17776d;outline-offset:5px}
.hero a:focus-visible,nav a:focus-visible,nav button:focus-visible,footer a:focus-visible{outline-color:var(--gold)}
.eyebrow{font-family:'Barlow',sans-serif;font-weight:600;font-size:14px;letter-spacing:0;text-transform:lowercase}
.btn{font-family:'Barlow',sans-serif;font-size:16px;font-weight:600;min-height:50px;padding:12px 24px;letter-spacing:0;text-transform:lowercase;border-radius:8px;box-shadow:none;justify-content:center;transition:background .18s,color .18s}
.btn:hover{transform:none;animation:none;box-shadow:none}
.btn-gold{background:var(--gold);color:var(--dark);box-shadow:none}
.btn-red{background:var(--r);color:white;box-shadow:none}
.btn-gold:hover{background:#ffe9ad;color:var(--dark);box-shadow:none}
.btn-red:hover{background:var(--r2);box-shadow:none}
.btn-out{border-color:#fff5dd80;color:var(--cream);background:transparent}
.btn-out:hover{background:#ffffff12}
nav,nav.solid{background:var(--r);padding:15px 0;box-shadow:none;border-bottom:1px solid #ffffff24}
nav .logo{height:42px}nav .links{gap:30px}
nav .links a{font-family:'Barlow',sans-serif;font-size:15px;font-weight:500;letter-spacing:0;text-transform:lowercase;opacity:1;color:var(--cream)}
nav .links a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}
nav .links a:hover{color:var(--gold)}
nav .links .navbtn{background:var(--gold);color:var(--dark);font-weight:600;padding:11px 23px}
nav .links .navbtn:hover{background:#ffe9ad;color:var(--dark)}
.burger{min-height:44px;min-width:44px;align-items:center;justify-content:center;background:transparent;border:0;border-radius:5px}
.hero{background:var(--r);color:var(--cream);min-height:0;overflow:hidden}
.hero::after{display:none}
.hero .wrap{max-width:1320px;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:24px;padding-top:130px;padding-bottom:54px;align-items:center;width:100%}
.hero .copy{position:relative;z-index:2;padding-bottom:20px}
.hero .copy>*{opacity:1;transform:none;animation:none}
.hero .eyebrow{color:#ffedc6;border-bottom:1px solid #fff1cd66;padding-bottom:4px;display:inline-block}
.hero h1{font-size:clamp(72px,7.8vw,108px);line-height:.94;letter-spacing:-.035em;margin:26px 0;text-shadow:none;font-weight:700}
.hero p.sub{font-size:20px;line-height:1.55;font-weight:400;color:var(--cream);margin:26px 0 30px;max-width:420px}
.hero .cta{gap:12px;justify-content:flex-start}
.hero .hero-footnote{font-size:14px;margin-top:20px;color:#ffedc6}
.product-stage{position:relative;height:510px;isolation:isolate;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-bottom:32px}
.product-stage:before{content:'';position:absolute;inset:35px 0 12px;background:#f3ca87;border-radius:50% 50% 44% 44%;z-index:-1;transform:rotate(-8deg)}









.quick-visit{background:#f5ebd8;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}
.quick-visit .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:17px;max-width:1320px}
.quick-visit a{color:var(--ink);font-weight:500}.quick-visit a:last-child{white-space:nowrap}
section.block{padding:84px 0}
.sec-head{max-width:660px;text-align:left;margin-bottom:34px}
.sec-head h2{font-size:clamp(44px,5vw,66px);margin-top:12px}
.sec-head .eyebrow{color:var(--r)}
.sec-head p{font-size:18px;line-height:1.6;margin:16px 0 0;color:var(--muted)}
.menu-grid{gap:20px}
.mcard{display:flex;flex-direction:column;min-height:0;background:#f6eedf;border:1px solid transparent;border-radius:14px;padding:22px 24px 20px;box-shadow:none;color:var(--ink);text-align:left}
.mcard:nth-child(2),.mcard:nth-child(5){background:#f4e4dc}.mcard:nth-child(3),.mcard:nth-child(6){background:#edf0df}
.mcard::before{display:none}.mcard .mph{height:190px;max-width:100%;width:100%;object-fit:contain;filter:drop-shadow(0 8px 7px #63422616);margin-bottom:8px}
.mcard h3{font-size:31px;margin:14px 0 0;line-height:1.1}
.mcard .blurb{font-family:'Barlow',sans-serif;font-size:14px;line-height:1.5;letter-spacing:0;text-transform:none;color:var(--muted);margin:9px 0 20px;min-height:42px}
.mcard .row{margin-top:auto;padding-top:14px;border-top:1px solid #77554528}
.mcard .price{font-size:23px;color:var(--ink)}.mcard .price small{color:var(--muted);font-size:13px;font-weight:400}
.mcard .ord{background:transparent;border:0;color:var(--r);text-transform:lowercase;letter-spacing:0;font-size:15px;padding:0;font-weight:600}
.mcard .new{display:none}.mcard:hover{transform:none;box-shadow:none;border-color:var(--r)}.mcard:hover .mph{transform:none}
.menu-foot{margin-top:30px}.menu-foot .btn{background:transparent;color:var(--r);border:1px solid var(--r)}
.cafe-moment{padding:12px 0 84px;background:var(--cream)}
.cafe-moment .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:74px;align-items:center}
.cafe-photo{border-radius:16px;overflow:hidden}.cafe-photo img{width:100%;height:470px;object-fit:cover;object-position:40% center;display:block}
.cafe-copy h2{font-size:64px;margin:16px 0 24px}.cafe-copy .eyebrow{color:var(--r)}
.cafe-copy p{font-size:18px;line-height:1.65;color:var(--muted);max-width:380px;margin-bottom:16px}
.text-link{font-size:17px;color:var(--r);font-weight:600;display:inline-flex;gap:28px;padding:12px 0;border-bottom:1px solid var(--r);margin-top:8px}
.rewards{background:var(--dark);text-align:left;color:var(--cream)}
.rewards .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}
.rewards .eyebrow{color:var(--gold)}.rewards h2{font-size:66px;margin-top:16px}
.rewards p{font-size:19px;line-height:1.6;margin:0 0 25px;color:#f6e4d4;max-width:380px}
.rewards .note{font-family:'Barlow',sans-serif;text-transform:lowercase;letter-spacing:0;font-size:14px;margin-top:20px;color:var(--gold)}.rewards .note a{color:var(--gold);text-decoration:underline;text-underline-offset:4px}
.visit .grid{gap:60px}.visit .info h2{font-size:60px;margin-top:12px}.vrow{padding:18px 0}
.vrow .vt b{font-family:'Barlow',sans-serif;letter-spacing:0;text-transform:lowercase;font-size:15px;color:var(--ink);font-weight:600}
.vrow .vt span,.vrow .vt a{color:var(--muted);font-size:17px}.vic{display:none}.hours-list .h b{font-weight:500}
.map{border-radius:14px;overflow:hidden;min-height:360px;border:1px solid var(--line);background:#f1eadc}
.social a{font-family:'Barlow',sans-serif;text-transform:lowercase;letter-spacing:0;font-size:14px}
footer{background:var(--dark);padding:46px 0}.fl a{font-family:'Barlow',sans-serif;letter-spacing:0;text-transform:lowercase;font-size:15px}.cr{color:#dbc9bc;line-height:1.7;font-size:13px}
.pagehead{background:var(--cream);color:var(--ink);padding:134px 40px 42px;text-align:left;max-width:1240px;margin:auto}
.pagehead .eyebrow{color:var(--r)}.pagehead h1{font-size:clamp(52px,6vw,82px);text-shadow:none;margin-top:15px}
.pagehead p{font-size:18px;max-width:600px;color:var(--muted);margin:18px 0 0;font-weight:400}
.pagehead+section.block{padding-top:28px}
.menu-tools{background:var(--cream);border-bottom:1px solid var(--line)}
.menu-tools .wrap{padding-top:8px;padding-bottom:28px}
.category-links{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}
.category-links a{padding:9px 17px;border-radius:7px;border:1px solid #c7b5a2;font-size:15px;color:var(--ink);min-height:44px;display:flex;align-items:center}
.category-links a:hover,.category-links a:focus-visible{background:var(--r);color:white;border-color:var(--r)}
.menu-search{display:flex;align-items:center;gap:15px;max-width:660px}
.menu-search label{white-space:nowrap;font-size:14px;color:var(--muted)}
.menu-search input{width:100%;min-width:0;background:white;border:1px solid #bda997;border-radius:7px;padding:11px 15px;color:var(--ink);font:inherit;min-height:46px}
.menu-search input::placeholder{color:#756359;opacity:1}
.menu-search button{font:inherit;color:var(--r);background:none;border:0;min-height:44px;padding-inline:12px;cursor:pointer}
#search-status{font-size:14px;color:var(--muted);margin-top:14px}
.menucat{margin-bottom:64px;scroll-margin-top:108px}
.menucat .ch{border-bottom:1px solid #cfb9a2;padding-bottom:16px;margin-bottom:14px}
.menucat .ch h2{font-size:42px}.menucat .ch .pr{font-family:'Barlow',sans-serif;font-size:16px;font-weight:600;letter-spacing:0;text-transform:none;text-align:left;color:var(--r)}
.menucat .macro{font-family:'Barlow',sans-serif;font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted);margin-bottom:24px}
.mtiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.mtile{background:#f6eedf;border:1px solid transparent;border-radius:12px;padding:20px 14px;text-align:left;box-shadow:none}
.mtile img{height:155px;filter:drop-shadow(0 8px 7px #633a2118)}
.mtile .n{font-family:'Barlow',sans-serif;font-size:17px;font-weight:600;line-height:1.35;text-transform:lowercase;margin-top:17px}
.mtile .d{font-size:14px;line-height:1.5;color:var(--muted);margin-top:6px}
.mtile .tap{opacity:1;font-size:14px;font-family:'Barlow',sans-serif;color:var(--r);text-transform:lowercase;margin-top:14px;letter-spacing:0}
.mtile:hover{transform:none;box-shadow:none;border-color:var(--r)}
.modline{font-size:14px;line-height:1.8;padding-top:14px;color:var(--muted)}
.cform{background:#f6eedf;border:0;border-radius:14px;box-shadow:none;padding:30px}.cform label{font-family:'Barlow',sans-serif;font-size:14px;font-weight:500;text-transform:lowercase;letter-spacing:0;margin-top:20px}
.cform input,.cform textarea{font-family:inherit;font-size:16px;line-height:1.5;min-height:48px;background:#fffdfa;border:1px solid #bda997;border-radius:7px}.cform textarea{resize:vertical}.cform button:disabled{opacity:.65;cursor:wait}
.cinfo .big{font-size:24px}.contact-grid{gap:66px}
.story-feature{gap:60px;max-width:none}.story-feature img{border-radius:16px;box-shadow:none}.story-feature .ftxt p{font-size:18px;font-weight:400;line-height:1.7;color:var(--muted)}
.why{background:var(--r)}.why .item{background:transparent;border:0;border-top:1px solid #ffffff55;border-radius:0;text-align:left;box-shadow:none;padding:24px 0}.why .item:hover{transform:none;background:transparent}.why .ic{display:none}.why .item p{font-size:16px;line-height:1.6}.why .item h3{font-size:28px}
.value{border:1px solid var(--line);border-radius:12px;background:#f6eedf;box-shadow:none}.value:hover{transform:none;box-shadow:none}.gallery img{box-shadow:none;border-radius:12px}
.dayfull,.dayfull:nth-child(even){min-height:0;background:var(--r);border-bottom:1px solid #fff3}
.dayfull:nth-child(even){background:#8f2723}.dayfull .inner{padding:58px 40px;gap:55px}.dayfull .bgday{display:none}
.dayfull h2{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:64px;line-height:1;text-transform:lowercase;text-shadow:none}
.dayfull .dlabel,.dayfull .badge2,.dayfull .meta{font-family:'Barlow',sans-serif;letter-spacing:0;text-transform:lowercase}
.dayfull .photo img{max-height:350px;filter:drop-shadow(0 15px 12px #48141133)}.dayfull .photo:before{display:none}
.dayfull .txt,.dayfull .photo,.reveal:not(.mcard){opacity:1!important;transform:none!important;transition:none!important}
.mcard.reveal{opacity:1;transform:none}.snaproll{scroll-snap-type:none}
@media(max-width:1000px){.hero h1{font-size:82px}.product-stage{height:460px}.quick-visit .wrap>span{display:none}.mtiles{grid-template-columns:repeat(3,minmax(0,1fr))}.cafe-moment .wrap,.rewards .wrap{gap:38px}.cafe-copy h2,.rewards h2{font-size:55px}}
@media(max-width:880px){
 .wrap{padding-inline:24px}nav .links{background:var(--r);visibility:hidden;box-shadow:none}nav .links.open{visibility:visible}nav .links a{font-size:20px;padding:16px 0}nav .links .navbtn{padding:12px 22px}
 .hero .wrap{grid-template-columns:1fr;padding:120px 24px 40px;gap:12px;max-width:700px}.hero .copy{text-align:left;padding:0}.hero h1{font-size:clamp(66px,12vw,94px)}.hero p.sub{margin-left:0}.hero .cta{justify-content:flex-start}.product-stage{height:440px;width:100%;max-width:550px;justify-self:center}
 .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cafe-moment .wrap{gap:30px}.cafe-photo img{height:390px}.cafe-copy h2{font-size:48px}.visit .grid{grid-template-columns:1fr}.why .grid{grid-template-columns:repeat(2,1fr)}
 .pagehead{padding:124px 24px 36px}.dayfull .inner{padding-inline:24px}.dayfull h2{font-size:52px}.contact-grid{gap:36px}
}
@media(max-width:600px){
 .hero .eyebrow{font-size:13px}.hero h1{font-size:72px;margin:23px 0}.hero p.sub{font-size:18px;margin:23px 0}.hero .btn{font-size:15px;padding:12px 18px}.hero .hero-footnote{font-size:13px;margin-top:15px}
 .product-stage{height:340px;margin-top:14px}.product-stage:before{inset:28px 0 7px}
 .quick-visit .wrap{gap:14px;font-size:12px;padding-block:15px}.quick-visit .wrap>a:first-child{max-width:180px}.quick-visit .wrap>a:last-child{font-size:13px}
 section.block{padding:54px 0}.sec-head h2{font-size:46px}.sec-head p{font-size:17px}.menu-grid{gap:12px}.mcard{padding:14px}.mcard .mph{height:140px}.mcard h3{font-size:27px}.mcard .blurb{font-size:13px;min-height:58px}.mcard .price{font-size:21px}.mcard .price small{display:block}.mcard .ord{font-size:13px}
 .cafe-moment{padding-bottom:54px}.cafe-moment .wrap,.rewards .wrap{grid-template-columns:1fr;gap:30px}.cafe-photo img{height:340px}.cafe-copy h2{font-size:48px}.cafe-copy p{font-size:17px}.rewards h2{font-size:52px}.rewards p{font-size:18px}
 .visit .info h2{font-size:48px}.visit .grid{gap:28px}.map{min-height:300px}.why .grid{grid-template-columns:1fr}
 .pagehead h1{font-size:58px}.pagehead p{font-size:17px}.menu-tools .wrap{padding-bottom:20px}.category-links{gap:7px}.category-links a{font-size:14px;padding:8px 13px}
 .menu-search{flex-wrap:wrap;gap:8px}.menu-search label{width:100%}.menu-search input{flex:1}.mtiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mtile{padding:16px 12px}.mtile img{height:140px}.mtile .n{font-size:16px}.mtile .d{font-size:13px}
 .menucat .ch h2{font-size:35px}.menucat .ch .pr{font-size:14px}.menucat{margin-bottom:44px}.menucat .macro{font-size:13px}.cform{padding:24px}
 .dayfull .inner{grid-template-columns:1fr;gap:18px;padding:44px 24px}.dayfull.rev .txt{order:0}.dayfull.rev .photo{order:1}.dayfull .photo img{max-height:270px}.dayfull h2{font-size:54px}.dayfull p{font-size:18px}
}
@media(max-width:360px){.wrap{padding-inline:18px}.hero .wrap{padding-inline:18px}.hero h1{font-size:64px}.hero .btn{padding-inline:13px}.mcard h3{font-size:24px}.mcard .mph{height:120px}.product-stage{height:315px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.burger{position:relative;z-index:60}
.burger[aria-expanded=true]{background:var(--r2)}
.pagehead p,.story-feature .ftxt,.social a,footer .fl a{text-transform:lowercase}

.vrow .vt{min-width:0;flex:1}.hours-list{width:300px;max-width:100%}.hours-list .h{display:flex;justify-content:space-between;gap:24px;line-height:1.8}.hours-list .h span{white-space:nowrap}
.story-feature{align-items:start}.story-feature img{max-height:510px}
@media(max-width:600px){.hours-list .h{gap:16px}}





/* Separate columns keep captions apart; only the drink artwork tilts. */
.hero-product{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:16px;min-width:0;color:var(--dark)}
.hero-product img{display:block;width:112%;height:100%;min-height:0;max-width:none;margin-inline:-6%;object-fit:contain;filter:drop-shadow(0 18px 12px #5c241d2b)}
.hero-product img{transform:translateY(-6%) rotate(calc(var(--cup-tilt) + var(--cup-scroll-tilt,0deg)))}
.hero-product.shake{--cup-tilt:-9deg;--cup-scroll-tilt:var(--cup-scroll,0deg)}
.hero-product.refresher{--cup-tilt:8deg;--cup-scroll-tilt:calc(0deg - var(--cup-scroll,0deg))}
.hero-product span{display:flex;flex-direction:column;justify-content:center;align-self:end;min-height:64px;box-sizing:border-box;background:var(--cream);border-radius:8px;padding:10px 12px;text-align:center;font-size:16px;font-weight:600;line-height:1.2;overflow-wrap:anywhere}
.hero-product small{display:block;font-size:13px;font-weight:400;margin-top:6px}
.hero-product:hover span{text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.product-stage{gap:14px;padding-bottom:24px}.hero-product{gap:12px}.hero-product span{font-size:13px;min-height:48px;padding:8px 6px}.hero-product small{display:none}}

/* Use the approved compact mark in navigation and full logo in the footer. */
nav .logo{display:block;width:72px;height:72px;flex-shrink:0}
nav .logo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:6px}
footer .wrap>img{width:152px;height:152px;object-fit:contain;border-radius:8px}

@media(prefers-reduced-motion:reduce){.hero-product img{transform:translateY(-6%) rotate(var(--cup-tilt));animation:none;transition:none}}

/* Product cards come forward without changing the surrounding grid layout. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .mcard,.mtile{position:relative;transform-origin:center;transition:transform 240ms cubic-bezier(.22,1,.36,1)}
 .mcard:hover,.mtile:hover{z-index:3;transform:translateY(-6px) scale(1.05);box-shadow:0 18px 34px #35231f24;border-color:var(--r)}
}
@media(prefers-reduced-motion:reduce){
 .mcard,.mtile{transition:none}
 .mcard:hover,.mtile:hover{transform:none}
}
