:root{--ink:#261c16;--coffee:#251910;--coffee2:#38281d;--cream:#f6f2ea;--oat:#eae0ce;--milk:#fffaf2;--tan:#c39c74;--gold:#cca77c;--muted:#806d5c;--line:#e8dfd1;--sans:'DM Sans',Arial,sans-serif;--serif:'Playfair Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c79558;outline-offset:3px}.skip{position:absolute;top:-100px;left:10px;background:#fff;padding:12px;z-index:10}.skip:focus{top:10px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:78px;background:var(--cream);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5.2vw,84px);position:relative;z-index:2}.brand{display:flex;align-items:center;gap:12px}.brand-symbol{font-size:37px;color:#986d42;font-weight:400;line-height:1}.brand-name{font-size:14px;letter-spacing:.105em;font-weight:700;white-space:nowrap}.brand-name em{font-style:normal;color:#9e734b}.brand-name small{display:block;font-size:7.5px;color:#968372;letter-spacing:.2em;margin-top:5px}.site-header nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:600}.site-header nav a:not(.nav-cta):hover{color:#ac7a4b}.nav-cta{background:var(--coffee);color:#fff;padding:14px 20px;border-radius:100px}.nav-cta span{margin-left:14px}
.hero{min-height:575px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);background:var(--coffee);color:var(--cream);position:relative;overflow:hidden}.hero-copy{padding:clamp(55px,7vw,105px) 30px 64px clamp(24px,7.5vw,125px);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1}.eyebrow,.section-kicker{font-size:10px;font-weight:700;letter-spacing:.24em}.eyebrow{color:#cbb08e;display:flex;align-items:center;gap:9px}.sparkle{font-size:16px}.hero h1{font-family:var(--serif);font-size:clamp(48px,5.1vw,86px);line-height:1.16;font-weight:500;letter-spacing:-.045em;margin:23px 0}.hero h1 em,.section-heading h2 em,.story h2 em,.modal-heading h2 em{font-weight:400;color:var(--tan)}.hero-copy>p{font-size:15px;color:#d6c8b9;line-height:1.95;max-width:455px;margin:0}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:34px}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:15px 22px;font-size:12px;font-weight:700;border-radius:3px;transition:transform .2s,background .2s;text-align:center}.button:hover{transform:translateY(-2px)}.button-cream{background:#f5ead9;color:var(--ink)}.button-dark{background:var(--coffee);color:white}.button-outline{background:transparent;border:1px solid #b1a293;color:var(--ink)}.button-secondary{background:#e9dbc8;color:var(--ink)}.hero-link{font-size:12px;color:#e0d2c2;border-bottom:1px solid #7b6653;padding:8px 0}.hero-link span{margin-left:8px}.hero-note{font-size:9px;letter-spacing:.15em;color:#b6a18a;margin-top:64px;display:flex;align-items:center;gap:10px}.pulse-dot{height:7px;width:7px;background:#cda974;border-radius:100%;box-shadow:0 0 0 5px #5b4834}.note-separator{color:#786656}.hero-art{position:relative;min-height:525px;padding:30px 75px 30px 0;display:flex;align-items:stretch}.hero-art-frame{width:100%;border-radius:250px 250px 6px 6px;overflow:hidden;position:relative;background:linear-gradient(150deg,#bfa284,#7e5d43);box-shadow:0 30px 70px #0003}.hero-art-frame img{width:100%;height:100%;object-fit:cover;display:block}.hero-corner{position:absolute;font-size:10px;letter-spacing:.18em;color:#fcf8ef}.hero-corner-top{top:38px;right:26px;line-height:1.8;text-align:right}.hero-corner-top span{font-size:20px;margin-left:9px}.hero-corner-bottom{bottom:35px;left:24px}.hero-side-label{position:absolute;right:19px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font-size:9px;letter-spacing:.21em;color:#aa8c6e}.intro-strip{background:#e8ddce;display:flex;justify-content:space-around;align-items:center;padding:19px 30px;gap:14px}.intro-strip>div{font-size:10px;letter-spacing:.19em;color:#796b5c;font-weight:700;white-space:nowrap}.intro-strip span{color:#a9784c;margin-right:11px}
.menu-section{max-width:1380px;margin:0 auto;padding:96px clamp(20px,6vw,98px) 92px;scroll-margin-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:39px}.section-kicker{color:#aa7c50;margin:0 0 16px}.section-heading h2,.story h2,.modal-heading h2{font-family:var(--serif);font-size:clamp(38px,4.5vw,62px);font-weight:500;letter-spacing:-.045em;line-height:1.15;margin:0}.section-heading h2 em,.story h2 em,.modal-heading h2 em{color:#9a754f}.section-heading>p{max-width:250px;line-height:1.8;font-size:13px;color:var(--muted);margin:0 0 4px}.menu-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:31px}.filter-list{display:flex;gap:9px;overflow-x:auto;scrollbar-width:none}.filter-list::-webkit-scrollbar{display:none}.filter-btn{background:transparent;border:1px solid #d9ccbc;color:#6b5849;border-radius:50px;padding:11px 18px;font-size:12px;white-space:nowrap}.filter-btn:hover{border-color:#aa8060}.filter-btn.is-active{background:var(--coffee);color:#f8efde;border-color:var(--coffee)}.search-field{display:flex;align-items:center;gap:10px;background:#fffdfa;border:1px solid #ded4c8;padding:0 16px;color:#948577;min-width:240px;height:43px;border-radius:4px}.search-field input{background:none;border:0;outline:0!important;width:100%;min-width:0;font-size:12px;color:var(--ink)}.search-field:focus-within{outline:2px solid #b99468}.menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.drink-card{min-width:0;animation:reveal .45s ease both;animation-delay:calc(var(--index)*40ms)}@keyframes reveal{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}.drink-photo{aspect-ratio:1/1.11;background:#dfc7a7;position:relative;overflow:hidden;border-radius:5px}.drink-image{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s}.drink-card:hover .drink-image{transform:scale(1.045)}.drink-badge{position:absolute;top:12px;left:12px;background:#fff7ed;color:#725039;padding:7px 9px;font-weight:700;font-size:9px;letter-spacing:.09em;text-transform:uppercase}.drink-info{padding:18px 1px 8px}.drink-category{margin:0;font-size:9px;letter-spacing:.15em;color:#a27452;font-weight:700}.drink-name{font-family:var(--serif);font-size:23px;line-height:1.26;font-weight:600;letter-spacing:-.028em;margin:9px 0}.drink-description{font-size:12px;line-height:1.6;color:#796a5c;min-height:39px;margin:0}.drink-actions{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:20px}.recipe-button,.order-button{border:0;font-size:11px;font-weight:700;padding:11px 0}.recipe-button{background:none;border-bottom:1px solid #a48b72;color:#76583c;text-align:left;white-space:nowrap}.order-button{background:var(--coffee);color:#fff;padding:12px 13px;border-radius:2px;white-space:nowrap}.recipe-button:hover{color:#b57c42}.order-button:hover{background:#5a3926}.results-note{font-size:11px;color:#a4927f;text-align:center;margin:35px 0 0}.loading-message,.empty-state{grid-column:1/-1;padding:50px;text-align:center;color:#7e6d5c}.empty-state h3{font-family:var(--serif);font-size:26px}
.story{background:#eee5d7;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(30px,8vw,135px);padding:85px clamp(24px,10vw,150px);overflow:hidden}.story-illustration{min-height:300px;max-width:380px;width:100%;aspect-ratio:1/1;display:grid;place-items:center;margin:auto;border-radius:50%;border:1px solid #c9bba7;position:relative}.story-illustration:before,.story-illustration:after{content:"";position:absolute;border:1px solid #ccbaa5;border-radius:50%;inset:20px}.story-illustration:after{inset:42px}.story-illustration>span:first-child{font-size:110px;filter:sepia(.32);z-index:1}.story-ring{position:absolute;bottom:20px;font-size:9px;letter-spacing:.13em;color:#917961}.story-copy>p:not(.section-kicker){font-size:14px;line-height:2;color:#796858;max-width:430px}.story-link{display:inline-block;margin-top:17px;font-size:12px;font-weight:700;border-bottom:1px solid #8f6c4b;padding-bottom:8px}.story-link span{margin-left:18px}.footer{background:var(--coffee);color:#f6ecdc;padding:42px clamp(22px,6vw,98px) 25px;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:18px}.footer>div{display:flex;flex-direction:column;gap:8px}.footer-star{font-size:23px;color:#cfaa7e}.footer-title{font-weight:700;font-size:17px;letter-spacing:.1em}.footer-sub{font-size:9px;letter-spacing:.18em;color:#ac9a89}.footer>a{font-size:12px;border-bottom:1px solid #75685a;padding-bottom:8px}.footer>p{flex-basis:100%;font-size:10px;color:#9b8d80;border-top:1px solid #493a2d;padding-top:21px;margin:14px 0 0}
.panel-dialog{width:min(550px,calc(100% - 20px));max-height:min(90dvh,950px);border:0;padding:0;background:var(--cream);color:var(--ink);box-shadow:0 30px 100px #0005;border-radius:7px;overflow-y:auto}.panel-dialog::backdrop{background:#160e09c9;backdrop-filter:blur(3px)}.dialog-inner{position:relative;padding:30px}.dialog-close{position:sticky;top:2px;float:right;z-index:4;height:36px;width:36px;border:0;border-radius:50%;background:#fff9ee;font-size:27px;line-height:25px;color:#3e3027;box-shadow:0 1px 6px #0002;margin:-9px -8px 0 0}.recipe-cover{width:100%;height:245px;object-fit:cover;border-radius:4px;display:block;margin-bottom:25px}.recipe-title{font-family:var(--serif);font-size:40px;font-weight:500;line-height:1.13;margin:0 0 12px;letter-spacing:-.04em}.recipe-description{font-size:14px;line-height:1.7;color:var(--muted)}.recipe-highlights{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 27px}.recipe-highlights span{border:1px solid #d8c4af;padding:8px 10px;font-size:10px;color:#806044}.recipe-subtitle{font-family:var(--serif);font-size:24px;margin:23px 0 13px}.recipe-list{margin:0;padding:0 0 0 20px;color:#635448;font-size:13px;line-height:1.85}.recipe-list li{padding:2px 0}.recipe-disclaimer{font-size:11px;color:#998573;line-height:1.6;margin:28px 0 17px}.recipe-order{width:100%}.modal-heading{padding:15px 0 20px}.modal-heading h2{font-size:40px}.order-drink-name{font-size:14px;color:#8c6543;margin:12px 0 0}.field{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:700;color:#5f4a3b;margin:0 0 19px}.field input,.field select,.field textarea{width:100%;border:1px solid #d7cbbb;border-radius:3px;outline:0;background:#fffdfa;color:#31251c;padding:12px 13px;font-size:13px;font-weight:400;min-height:44px}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#b38b61}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.order-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.order-actions .button{flex:1 1 45%;gap:8px}.order-actions [hidden]{display:none!important}.form-hint,.order-feedback{font-size:11px;line-height:1.7;color:#816e5e}.order-feedback{color:#2a7051;font-weight:700}.noscript{text-align:center;background:#fae5d6;padding:15px}
@media(max-width:1050px){.menu-grid{grid-template-columns:repeat(3,1fr)}.hero-art{padding-right:45px}.hero-copy{padding-left:7vw}.hero-side-label{right:10px}}
@media(max-width:760px){.site-header{height:67px;padding:0 22px}.brand-symbol{font-size:31px}.brand-name{font-size:12px}.brand-name small{font-size:7px}.site-header nav{gap:14px}.site-header nav a:not(.nav-cta){display:none}.nav-cta{padding:11px 14px;font-size:10px}.nav-cta span{margin-left:5px}.hero{grid-template-columns:1fr}.hero-copy{padding:60px 26px 48px}.hero h1{font-size:clamp(47px,10vw,72px);margin:19px 0}.hero-copy>p{max-width:540px}.hero-note{margin-top:35px;font-size:8px}.hero-art{min-height:auto;height:370px;padding:0 26px 35px}.hero-art-frame{border-radius:220px 220px 6px 6px}.hero-side-label{display:none}.intro-strip{padding:16px 12px}.intro-strip>div{font-size:8px;letter-spacing:.06em}.intro-strip>div:last-child{display:none}.menu-section{padding:75px 22px}.section-heading{align-items:start;flex-direction:column;gap:15px;margin-bottom:26px}.section-heading>p{max-width:420px}.menu-tools{align-items:stretch;flex-direction:column;gap:13px}.search-field{width:100%}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 13px}.drink-info{padding-top:13px}.drink-name{font-size:20px}.drink-description{font-size:11px}.drink-actions{margin-top:15px;gap:4px}.recipe-button,.order-button{font-size:10px}.order-button{padding:11px 10px}.story{grid-template-columns:1fr;padding:60px 25px;gap:35px}.story-illustration{max-width:270px;min-height:260px}.story-copy{margin:auto;max-width:480px;width:100%}}
@media(max-width:375px){.hero-actions{gap:16px}.hero-link{font-size:10px}.button{gap:11px;padding:14px 14px}.menu-grid{gap:19px 11px}.drink-name{font-size:18px}.drink-category{font-size:8px;letter-spacing:.1em}.drink-description{min-height:52px}.drink-actions{flex-direction:column;align-items:stretch}.recipe-button{align-self:start}.order-button{width:100%}.hero-note{letter-spacing:.06em}.intro-strip>div{font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Dash of Espresso: recipe-specific instructions and allergen notice */
.recipe-note{border-left:3px solid #b3895e;background:#eee2d1;padding:12px 14px;margin:22px 0 10px;color:#69533f;font-size:12px;line-height:1.7;}
.recipe-allergens{font-size:12px;color:#85522c;font-weight:700;margin:10px 0;}
.field input[readonly]{background:#f5eee4;color:#715841;cursor:default;}

.readonly-serving{display:block;background:#f5eee4;border:1px solid #d7cbbb;border-radius:3px;min-height:44px;padding:12px 13px;font-size:12px;line-height:1.5;color:#715841;overflow-wrap:anywhere;}
