:root{--green:#233b2d;--paper:#fbf9f2;--cream:#f1efe5;--terra:#a86d45;--muted:#6c746a;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:#29352b;font-family:var(--sans)}a{color:inherit;text-decoration:none}.topline{background:var(--green);color:#f5f2e8;text-align:center;padding:10px;font-size:9px;letter-spacing:.12em}.topline span{color:#d5a77e;margin:0 9px}header{height:82px;padding:0 7%;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--paper);z-index:10;border-bottom:1px solid #e7e4da}.brand{display:flex;align-items:center;gap:11px}.logo{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:var(--green);color:white;font:26px var(--serif)}.brand b,.brand small{display:block}.brand b{font:600 20px var(--serif);color:var(--green)}.brand small{font-size:8px;letter-spacing:.12em;color:var(--muted);margin-top:4px}nav{display:flex;align-items:center;gap:28px;font-size:11px;font-weight:600}.navbutton{background:var(--green);color:white;padding:13px 17px}#menuToggle{display:none}.hero{padding:70px 9%;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;background:linear-gradient(100deg,#faf7ef 50%,#edf0e5 50%)}.eyebrow{font-size:9px;letter-spacing:.18em;font-weight:700;color:var(--terra);margin:0 0 17px}.hero h1{font:600 clamp(43px,5vw,67px)/1.08 var(--serif);letter-spacing:-.04em;color:var(--green);margin:0 0 22px}.hero h1 em,h2 em,.quote em{font-weight:500;color:var(--terra)}.intro,.story p,.visit>div>p{font-size:13px;line-height:1.9;color:var(--muted);max-width:450px}.button{display:inline-block;background:var(--green);color:white;padding:15px 20px;font-size:11px;font-weight:700;margin-top:13px}.little{font-size:10px;color:var(--muted);margin-top:35px;max-width:300px;line-height:1.8}.heroimage{position:relative;margin-right:12px}.heroimage>img{height:450px;object-fit:cover;box-shadow:0 18px 50px #233b2d18}.photo-note{position:absolute;left:-28px;bottom:25px;display:flex;gap:12px;align-items:center;background:var(--paper);padding:15px 18px;box-shadow:0 8px 25px #0001}.photo-note b,.photo-note small{display:block}.photo-note b{font:600 14px var(--serif);color:var(--green)}.photo-note small{font-size:9px;color:var(--muted);margin-top:5px}.facts{display:grid;grid-template-columns:repeat(3,1fr);padding:26px 7%;background:#fffdf7;border-bottom:1px solid #e8e5dc}.facts>div{text-align:center;border-right:1px solid #e3e2d8;padding:9px}.facts>div:last-child{border:0}.facts b,.facts small{display:block}.facts b{font-size:11px;color:var(--green)}.facts small{font-size:10px;color:var(--muted);margin-top:7px}.section{padding:85px 9%}.story{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.story>img{width:100%;height:390px;object-fit:cover}.story h2,.sectionhead h2,.visit h2{font:600 clamp(35px,4vw,49px)/1.15 var(--serif);letter-spacing:-.03em;color:var(--green);margin:0 0 22px}.under{display:inline-block;font-size:11px;font-weight:700;border-bottom:1px solid #c4c7b9;padding-bottom:6px;margin-top:12px}.menusection{background:#f4f2e9}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:35px}.sectionhead h2{margin:0}.sectionhead>p{max-width:300px;color:var(--muted);font-size:12px;line-height:1.8}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.cards article{background:var(--paper)}.cards img{width:100%;height:180px;object-fit:cover}.cards article>div{padding:19px 16px 23px}.cards small{font-size:8px;letter-spacing:.13em;color:var(--terra);font-weight:700}.cards h3{font:600 18px var(--serif);color:var(--green);margin:9px 0}.cards p{font-size:10px;line-height:1.7;color:var(--muted)}.disclaimer{font-size:10px;line-height:1.7;color:#858b7f}.quote{padding:55px 15px;text-align:center;background:#e3e9dc}.quote p{font:500 clamp(25px,3vw,38px)/1.35 var(--serif);color:var(--green)}.visit{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;background:#f9f7ef}.visit h2{margin-bottom:17px}.detail{margin:20px 0}.detail b{font-size:11px;color:var(--green)}.detail p{font-size:11px;line-height:1.7;color:var(--muted);margin:6px 0}.map{padding:18px;background:white;box-shadow:0 15px 45px #233b2d10}.map h3{font:600 19px var(--serif);margin:5px 0;color:var(--green)}.map p{font-size:10px;color:var(--muted)}.map iframe{width:100%;height:300px;border:0}footer{background:var(--green);color:#f7f4ec;text-align:center;padding:42px 7% 22px}.footerbrand{justify-content:center}.footerbrand .logo{background:#e5e9dd;color:var(--green)}.footerbrand small{color:#c2cbbc}footer>p{font:italic 16px var(--serif);color:#d1d9cb}.footerlinks{display:flex;justify-content:center;gap:25px;font-size:10px;margin:24px 0}.footerlinks a:hover,nav a:hover{color:var(--terra)}footer .disclaimer{color:#c2cbbc;max-width:650px;margin:20px auto}footer>small{font-size:9px;color:#c2cbbc}@media(max-width:850px){header{padding:0 5%}nav{gap:15px}.hero{padding:50px 6%;gap:5%}.heroimage>img{height:390px}.section{padding:70px 6%}.cards{grid-template-columns:repeat(2,1fr)}.cards img{height:210px}}@media(max-width:620px){header{height:72px}.brand b{font-size:18px}.brand small{font-size:7px}#menuToggle{display:block;border:0;background:none;font-size:25px;color:var(--green)}nav{display:none;position:absolute;top:72px;left:0;right:0;padding:15px 6% 23px;background:var(--paper);box-shadow:0 10px 20px #0001;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:13px 0;border-bottom:1px solid #e7e4da}nav .navbutton{text-align:center;margin-top:10px;border:0}.hero{grid-template-columns:1fr;padding:44px 6% 50px;gap:30px;background:linear-gradient(180deg,#faf7ef 0%,#faf7ef 53%,#edf0e5 53%)}.hero h1{font-size:53px}.heroimage{margin:0 8px 0 20px}.heroimage>img{height:350px}.photo-note{left:-20px}.facts{grid-template-columns:1fr;padding:12px 7%}.facts>div{text-align:left;border-right:0;border-bottom:1px solid #e7e4da;padding:13px 0}.facts>div:last-child{border:0}.section{padding:58px 6%}.story,.visit{grid-template-columns:1fr;gap:34px}.story>img{height:300px}.story h2,.sectionhead h2,.visit h2{font-size:39px}.sectionhead{display:block}.sectionhead>p{margin-top:12px}.cards{gap:12px}.cards img{height:150px}.cards article>div{padding:14px 11px 18px}.cards h3{font-size:16px}.cards p{font-size:10px}.quote{padding:35px 10px}.map iframe{height:250px}.footerlinks{gap:16px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Full GrabFood menu */
.menu-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 28px}
.menu-toolbar p{font-size:11px;line-height:1.7;color:var(--muted);max-width:470px}
#menuSearch{width:min(100%,330px);padding:13px 15px;border:1px solid #d9ddcf;border-radius:2px;background:#fffdf7;color:var(--green);font:12px var(--sans);outline-color:var(--terra)}
.menu-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.menu-category{background:#fffdf7;padding:20px 22px;border:1px solid #e9e6db}
.menu-category h3{font:600 22px var(--serif);color:var(--green);margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid #e7e4da}
.menu-items{display:flex;flex-direction:column}
.menu-item{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:13px 0;border-bottom:1px solid #eeece4}
.menu-item:last-child{border-bottom:0}
.menu-item b{font-size:12px;color:var(--green);line-height:1.5}
.menu-item p{font-size:10px;line-height:1.6;color:var(--muted);margin:4px 0 0}
.menu-item strong{font-size:12px;color:var(--terra);white-space:nowrap;padding-top:2px}
.menu-item[hidden],.menu-category[hidden]{display:none!important}
@media(max-width:620px){.menu-toolbar{display:block}.menu-toolbar p{margin:0 0 12px}#menuSearch{width:100%}.menu-catalog{grid-template-columns:1fr;gap:12px}.menu-category{padding:17px}.menu-category h3{font-size:20px}}

/* Per-item ordering links */
.menu-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
.menu-item>div{min-width:0}
.menu-item>.item-order-link{grid-column:1/-1;justify-self:start;display:inline-block;margin-top:9px;padding:8px 11px;background:var(--green);color:#fffdf7;text-decoration:none;font:600 10px var(--sans);letter-spacing:.02em;border:1px solid var(--green);transition:background .2s,color .2s}
.menu-item>.item-order-link:hover{background:var(--terra);border-color:var(--terra);color:#fff}

/* Mobile-friendly welcome and direct online ordering */
.order-welcome{background:#edf0e5;border:1px solid #e0e4d7;padding:28px;margin:0 0 26px}
.order-welcome h3,.checkout-heading h3{font:600 clamp(25px,4vw,34px) var(--serif);color:var(--green);margin:4px 0 9px}
.order-welcome h3 em,.checkout-heading h3 em{color:var(--terra);font-weight:500}
.order-welcome>p:not(.eyebrow){font-size:12px;line-height:1.7;color:var(--muted);max-width:620px;margin:0 0 18px}
.order-choice-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.order-choice{display:flex;align-items:center;gap:12px;padding:16px;background:#fffdf7;border:1px solid #d9ddcf;text-decoration:none;color:var(--green);min-width:0}
.choice-icon{font-size:25px}.order-choice span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:4px}.order-choice b{font-size:12px}.order-choice small{font-size:10px;color:var(--muted)}.choice-arrow{font-size:16px;color:var(--terra)}
.add-to-cart{display:inline-block;justify-self:start;margin-top:9px;padding:9px 12px;background:var(--green);color:#fffdf7;border:1px solid var(--green);font:600 10px var(--sans);cursor:pointer}
.add-to-cart:hover{background:var(--terra);border-color:var(--terra)}
.order-checkout{margin-top:34px;padding:24px;background:#fffdf7;border:1px solid #e2dfd4;scroll-margin-top:20px}
.checkout-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:15px;border-bottom:1px solid #e7e4da}
.checkout-heading .eyebrow{margin:0}.checkout-heading h3{margin-bottom:0}.checkout-heading>span{white-space:nowrap;font-size:11px;color:var(--terra);font-weight:700}
.cart-items{padding:6px 0}.empty-cart{font-size:12px;color:var(--muted);line-height:1.6;padding:12px 0}
.cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid #eeece4}
.cart-line-name{display:flex;flex-direction:column;gap:4px;min-width:0}.cart-line-name b{font-size:12px;color:var(--green)}.cart-line-name small{font-size:10px;color:var(--muted)}
.qty-controls{display:flex;align-items:center;gap:9px}.qty-controls button{width:29px;height:29px;border:1px solid #d9ddcf;background:#f8f4ea;color:var(--green);font-size:18px;cursor:pointer;border-radius:3px}.qty-controls span{font-size:12px;min-width:12px;text-align:center}
.cart-line-subtotal{font-size:12px;color:var(--terra);white-space:nowrap}.remove-item{grid-column:1/-1;justify-self:start;border:0;background:none;padding:0;color:#8b5748;font-size:10px;text-decoration:underline;cursor:pointer}
.cart-total-row{display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-top:1px solid #dcd9cd;color:var(--green);font-size:13px}.cart-total-row strong{font-size:18px;color:var(--terra)}
.checkout-note,.checkout-small{font-size:10px;line-height:1.7;color:var(--muted)}
.checkout-form{display:grid;gap:9px;margin-top:18px}.checkout-form label{font-size:11px;font-weight:700;color:var(--green);margin-top:5px}.checkout-form input,.checkout-form select,.checkout-form textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #d9ddcf;background:#fff;color:var(--green);font:12px var(--sans);border-radius:2px}.checkout-form input:focus,.checkout-form select:focus,.checkout-form textarea:focus{outline:2px solid #b7c5ad;outline-offset:1px}.checkout-submit{width:100%;cursor:pointer;text-align:center;border:0}.checkout-small{margin:0}.checkout-status{font-size:11px;line-height:1.6;color:var(--green);margin:0}
@media(max-width:620px){.order-welcome{padding:19px 16px}.order-choice-row{grid-template-columns:1fr}.order-choice{padding:13px}.order-checkout{padding:18px 14px}.cart-line{grid-template-columns:minmax(0,1fr) auto}.cart-line-subtotal{grid-column:1;grid-row:2}.qty-controls{grid-column:2;grid-row:1}.remove-item{grid-column:1/-1}.checkout-heading{align-items:flex-start}}

/* Editorial cafe discovery section */
.discover{background:#fffdf7;padding-top:72px;padding-bottom:78px}
.discover-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:28px}
.discover-head h2{font:600 clamp(35px,4vw,49px)/1.12 var(--serif);letter-spacing:-.035em;color:var(--green);margin:0}
.discover-head h2 em{font-weight:500;color:var(--terra)}
.discover-head>p{max-width:330px;color:var(--muted);font-size:12px;line-height:1.85;margin:0 0 3px}
.discover-grid{display:grid;grid-template-columns:1.12fr 1fr 1fr;gap:17px}
.discover-card{position:relative;display:block;overflow:hidden;min-height:320px;background:#d9ddcf;color:#fff}
.discover-card img{display:block;width:100%;height:100%;min-height:320px;object-fit:cover;transition:transform .6s ease}
.discover-card:after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(180deg,transparent,rgba(20,35,25,.82))}
.discover-card:hover img{transform:scale(1.045)}
.discover-overlay{position:absolute;z-index:1;left:21px;right:18px;bottom:20px;display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.discover-overlay small{font-size:9px;letter-spacing:.16em;font-weight:700;color:#f1d4b7}
.discover-overlay b{font:600 23px/1.18 var(--serif);max-width:250px}
.discover-overlay i{font-style:normal;font-size:10px;font-weight:700;border-bottom:1px solid #ffffff8c;padding-bottom:4px;margin-top:3px}
.photo-disclaimer{font-size:9px;line-height:1.6;color:#858b7f;margin:13px 0 0}
@media(max-width:700px){
 .discover{padding-top:54px;padding-bottom:56px}
 .discover-head{display:block;margin-bottom:21px}
 .discover-head>p{margin-top:12px}
 .discover-grid{grid-template-columns:1fr 1fr;gap:11px}
 .discover-card,.discover-card img{min-height:225px}
 .discover-card:first-child{grid-column:1/-1}
 .discover-card:first-child,.discover-card:first-child img{min-height:270px}
 .discover-overlay{left:13px;right:12px;bottom:14px}
 .discover-overlay b{font-size:19px}
}
@media(prefers-reduced-motion:reduce){.discover-card img{transition:none}}

/* Optional customization request per menu item. Requests are not guaranteed until the cafe confirms. */
.customization-label{grid-column:1/-1;display:block;margin-top:5px;font-size:10px;font-weight:700;color:var(--muted)}
.customization-label small{display:block;font-size:9px;font-weight:400;line-height:1.5;margin:3px 0 5px}
.item-customization{display:block;width:100%;padding:8px 9px;border:1px solid #d9ddcf;background:#fff;color:var(--green);font:10px var(--sans);resize:vertical;min-height:34px}
.item-customization:focus{outline:1px solid var(--terra);border-color:var(--terra)}
