/* Cafe Vesta menu identity: warm cream, burnt orange and espresso. */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Geist:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap');
:root{--ink:#241b16;--paper:#ead5b9;--gold:#ffb76a;--orange:#843008;--line:#a63d0830}body{font-family:Geist,'DM Sans',sans-serif}.topline{background:#a63d08;color:#fff5e8}.brand{font-family:'Plus Jakarta Sans',sans-serif;letter-spacing:-1px}.brand-icon{background:#ead5b9;color:#a63d08}.nav{background:#ead5b9;color:#a63d08;border-bottom:1px solid #a63d0830}.cart-open{color:#a63d08;border-color:#a63d0850;border-radius:8px}.cart-open span{background:#a63d08;color:#fff5e8}.nav nav a:hover{color:#241b16}.hero{background:#241b16}.hero h1{font-size:clamp(54px,6vw,96px);font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;line-height:1.03;letter-spacing:-.075em}.hero h1 em{color:#ead5b9;font-weight:400}.hero-art img{border-radius:180px 0 0 180px;mask-image:linear-gradient(to right,transparent,#000 8%)}h2{font-family:'Plus Jakarta Sans',sans-serif;font-weight:500;text-transform:none;letter-spacing:-.06em;line-height:1.08;font-size:clamp(38px,4.2vw,64px)}.eyebrow,.hero-index,.topline,.tag,.menu-count,.offer>span{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:1px}.button{border-radius:8px;background:#a63d08;color:#fff8ef}.button:hover{background:#843008}.hero .button{background:#ead5b9;color:#a63d08}.hero .button:hover{background:#fff5e8}.hero-description{font-size:15px}.hero-note,.hero-index{color:#c9b8a8}.round-stamp{background:#a63d08;color:#fff5e8;outline-color:#a63d08;border-color:#ead5b980}.hero-caption{background:#241b16e8;border-color:#ead5b9;border-radius:8px}.hero-caption>span{color:#ead5b9}.ribbon{background:#a63d08;color:#fff1db;font-family:'JetBrains Mono',monospace;font-size:12px;padding:22px}.product{border-radius:16px;background:#fff8ee;border-color:#a63d0825;box-shadow:0 4px 15px #a63d0805;transition:transform .3s,box-shadow .3s}.product:hover{transform:translateY(-5px);box-shadow:0 14px 30px #a63d0812}.product-photo{border-radius:15px 15px 0 0}.product h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:19px}.product p{color:#685747}.product-photo .tag{color:#a63d08;background:#fff5e8;font-size:8px}.product-price small,.menu-foot,.section-aside{color:#685747}.add{background:#a63d08;border-radius:8px}.filters button{border-color:#a63d0845;color:#a63d08}.filters button.active{background:#a63d08;border-color:#a63d08;color:#fff5e8}.pairing{border-radius:24px;background:#a63d08;color:#fff5e8}.pairing em{color:#ffb76a}.pairing .button{background:#ead5b9;color:#a63d08}.pairing-photo{color:#a63d08}.pairing-photo>span{font-family:'Plus Jakarta Sans',sans-serif;font-size:26px;letter-spacing:-1px}.offer-grid{gap:16px}.offer{border-color:#a63d0855}.offer p,.delivery-title>p:last-child,.delivery-data span,.steps p{color:#685747}.offer span{color:#843008}.story{background:#241b16}.story em{color:#ead5b9}.story .eyebrow{color:#ffb76a}.story-copy>p,.values p{color:#d6c4b3}.values span{color:#ffb76a}.delivery-data>div{padding:23px 0}.steps span{color:#a63d0880}.feedback{background:#a63d08;color:#fff5e8}.feedback em{color:#ffb76a}.feedback p:not(.eyebrow){color:#f3dec6}.closing{background:#ead5b9;border-top:1px solid #a63d0825}.closing h2{font-size:clamp(70px,9vw,120px);color:#a63d08}.closing em{color:#a63d08}.closing .button{background:#a63d08;color:#fff8ef}footer{background:#241b16}.floating-wa{background:#a63d08;color:#fff5e8;border-color:#ffffff30}dialog{background:#fff5e8;border-radius:16px}.dialog-head h2{font-size:44px}.dialog-head h2 span{color:#a63d08}input,select,textarea{border-color:#a63d0840;border-radius:8px;background:#fffbf4}.setup-note{background:#ead5b9;color:#a63d08;border-radius:8px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.25,1)}.reveal.in-view{opacity:1;transform:none}@media(max-width:900px){.hero h1{font-size:65px}.hero-description{font-size:13px}.product h3{font-size:17px}}@media(max-width:620px){.hero h1{font-size:clamp(46px,10.5vw,65px);letter-spacing:-.065em}.hero h1 br:nth-of-type(2){display:block}.hero-art img{border-radius:80px 80px 12px 12px;mask-image:linear-gradient(to bottom,transparent,#000 10%)}h2{font-size:40px}.product h3{font-size:15px}.pairing h2{font-size:44px}.how h2{font-size:36px}.ribbon{font-size:10px}.closing h2{font-size:68px}.hero{padding-top:35px}.product p{min-height:55px}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

#platform-checkout{padding-top:24px}#platform-checkout h3{margin-bottom:14px}#platform-checkout .small{font-size:11px;margin-top:16px;color:#685747}.platform-actions{display:grid;gap:12px;margin-top:22px}.platform-actions .button{width:100%}.platform-actions .button:last-child{background:#a83d08;color:#fff}.checkout-disclaimer{font-size:12px}

.menu-tools{gap:16px;flex-wrap:wrap}.menu-photo{display:grid;place-items:center;background:#e4d2b8;padding:35px 18px 10px}.menu-cutout{position:relative;height:90%;max-width:100%;overflow:hidden}.product:hover .menu-cutout img{transform:none}.combo-includes{position:absolute;bottom:10px;left:12px;padding:5px 9px;background:#a63d08;color:#fff;border-radius:5px;font-size:10px}.menu-photo:has(.combo-includes){padding-bottom:32px}.menu-photo .tag{z-index:1}@media(max-width:620px){.menu-photo{padding:30px 10px 8px}.menu-cutout{height:95%}.combo-includes{font-size:8px}}

/* Original food photography: preserve ingredients around each product. */
.product-photo{height:auto;aspect-ratio:1;background:#e9d4c5}.product-photo>img{width:100%;height:100%;object-fit:cover}.food-highlight{position:absolute;bottom:14px;left:14px;padding:6px 10px;border-radius:20px;background:#fff5e8f0;color:#a63d08;font-size:10px;font-weight:600;box-shadow:0 2px 10px #0001}.product-photo>img.combo-drink{position:absolute;right:10px;bottom:40px;width:30%;height:40%;object-fit:cover;border:3px solid #fff5e8;border-radius:14px;box-shadow:0 4px 15px #0002}.product-photo:has(.combo-drink) .food-highlight{display:none}@media(max-width:620px){.food-highlight{font-size:8px;left:8px;bottom:8px;padding:4px 7px}}

/* Original logo extracted from the owner-supplied menu. */
.brand .menu-logo{display:block;width:210px;height:auto;max-width:100%;border-radius:4px}.nav .brand{flex-shrink:0}footer .brand .menu-logo{width:240px}@media(max-width:620px){.nav .brand .menu-logo{width:156px}}

/* Warm menu branding across the existing section structure. */
.nav{background:#ead5b9}.menu-logo{mix-blend-mode:multiply}footer .brand{background:#ead5b9;padding:10px 16px;border-radius:8px}footer .menu-logo{mix-blend-mode:multiply}.hero h1 em{color:#ffb76a}.hero .button{background:#c34b0b;color:#fff8ef}.hero .button:hover{background:#a63d08;color:#fff8ef}.round-stamp{background:#a63d08}.product-photo .tag{color:#843008}.food-highlight{color:#843008}.steps span{color:#a63d08}.pairing-photo{background:#ead5b9}

/* Three original customer review excerpts supplied by the owner. */
.feedback{display:block}.reviews-heading{max-width:720px;margin-bottom:40px}.reviews-heading>p:not(.eyebrow){margin:20px 0 14px}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.review-card{margin:0;padding:28px;background:#fff8ee;color:#241b16;border:1px solid #ead5b9;border-radius:16px;display:flex;flex-direction:column}.review-rating{color:#a63d08;font-size:18px;letter-spacing:2px;display:flex;align-items:center;justify-content:space-between;gap:12px}.review-rating span{font-size:11px;letter-spacing:0;color:#685747}.review-card blockquote{margin:24px 0 30px;font-size:17px;line-height:1.7;letter-spacing:-.2px}.review-card figcaption{margin-top:auto;padding-top:18px;border-top:1px solid #a63d0825;display:grid;gap:6px}.review-card figcaption strong{font-size:14px}.review-card time{font-size:12px;color:#685747}@media(max-width:800px){.reviews-grid{grid-template-columns:1fr}.review-card{padding:24px}.review-card blockquote{font-size:16px;margin:20px 0 24px}}

/* Refined transparent logo, optimized for the website. */
.brand .menu-logo{width:230px;border-radius:0;mix-blend-mode:normal}.nav{min-height:100px}.nav .brand{padding:5px 0}footer .brand{background:transparent;padding:0;border-radius:0}footer .brand .menu-logo{width:250px;mix-blend-mode:normal;filter:brightness(0) saturate(100%) invert(88%) sepia(18%) saturate(450%) hue-rotate(345deg)}@media(max-width:620px){.nav{min-height:82px}.nav .brand .menu-logo{width:170px}}

.closing h2{font-size:clamp(48px,6.5vw,88px)}.custom-order-copy{max-width:600px;margin:24px auto 28px;font-size:16px;line-height:1.75;color:#685747}.custom-order-number{margin:18px 0 0;font-size:14px;color:#685747}@media(max-width:620px){.custom-order-copy{font-size:14px}.closing .button{font-size:13px}}
