:root{--pink: #e88b9a;--pink-soft: #f4c3cc;--coffee: #34211a;--coffee-mid: #6b4535;--cream: #fbf5ee;--cream-2: #f3e7d8;--mustard: #e0a24e;--text: #34211a;--muted: #8a7266;--white: #ffffff;--font-head: "Frank Ruhl Libre", Georgia, serif;--font-body: "Heebo", system-ui, sans-serif;--maxw: 1120px;--radius: 18px;--shadow: 0 18px 40px -20px rgba(52, 33, 26, .35)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);color:var(--text);background:var(--cream);line-height:1.7;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 22px}.section{padding:96px 0}.section__head{text-align:center;max-width:620px;margin:0 auto 54px}.eyebrow{display:inline-block;font-weight:700;letter-spacing:.14em;font-size:.78rem;color:var(--mustard);margin-bottom:12px}.eyebrow--light{color:var(--pink-soft)}.section__title{font-family:var(--font-head);font-weight:900;font-size:clamp(1.9rem,4vw,2.9rem);line-height:1.15;margin:0 0 18px;color:var(--coffee)}.section__title--light{color:var(--white)}.section__note{color:var(--muted);margin:0}.btn{display:inline-block;padding:13px 30px;border-radius:999px;font-weight:700;font-size:.98rem;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;cursor:pointer;border:2px solid transparent}.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--pink);color:var(--white);box-shadow:0 10px 22px -10px var(--pink)}.btn--primary:hover{background:#de7688}.btn--ghost{border-color:currentColor;background:transparent}.nav{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .3s ease,box-shadow .3s ease,padding .3s ease;padding:18px 0}.nav--solid{background:#fbf5eeeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 6px 20px -14px #34211a80;padding:10px 0}.nav__inner{display:flex;align-items:center;justify-content:space-between}.nav__logo{display:flex;align-items:center;gap:8px;font-family:var(--font-head);font-weight:900;font-size:1.4rem;color:var(--white)}.nav--solid .nav__logo{color:var(--coffee)}.nav__logo-mark{font-size:1.3rem}.nav__logo-img{height:50px;width:auto;display:block;border-radius:12px;background:#fff;padding:3px;box-shadow:0 3px 10px #00000026;transition:height .3s ease}.nav--solid .nav__logo-img{height:42px}.nav__links{display:flex;gap:30px;align-items:center}.nav__links a{color:var(--white);font-weight:500;position:relative}.nav--solid .nav__links a{color:var(--coffee)}.nav__links a:after{content:"";position:absolute;right:0;bottom:-6px;height:2px;width:0;background:var(--mustard);transition:width .25s ease}.nav__links a:hover:after{width:100%}.nav__toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}.nav__toggle span{width:26px;height:2px;background:var(--white);border-radius:2px;transition:background .3s}.nav--solid .nav__toggle span{background:var(--coffee)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;background-size:cover;background-position:center;text-align:center;color:var(--white)}.hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#34211a73,#34211a40 40%,#e88b9a8c)}.hero__content{position:relative;z-index:2;margin:0 auto}.hero__eyebrow{letter-spacing:.24em;font-weight:700;text-transform:uppercase;font-size:.82rem;margin:0 0 14px;opacity:.95}.hero__title{font-family:var(--font-head);font-weight:900;font-size:clamp(3.2rem,11vw,7rem);margin:0 0 10px;letter-spacing:.02em;text-shadow:0 6px 30px rgba(0,0,0,.3)}.hero__subtitle{font-size:clamp(1.05rem,2.4vw,1.4rem);margin:0 auto 34px;max-width:560px;font-weight:300}.hero__cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.hero__scroll{position:absolute;bottom:26px;left:50%;transform:translate(-50%);z-index:2;color:var(--white);font-size:1.6rem;animation:bob 1.8s ease-in-out infinite}@keyframes bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,8px)}}.about{background:var(--cream)}.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.about__text p{font-size:1.12rem;color:var(--coffee-mid)}.about__images{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px}.about__img{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.about__img img{width:100%;height:100%;object-fit:cover}.about__img--1{grid-row:span 2}.about__img--1 img{min-height:340px}.about__img--2 img,.about__img--3 img{height:163px}.menu{background:var(--cream-2)}.menu__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.menu__card{background:var(--white);border-radius:var(--radius);padding:34px 30px;box-shadow:var(--shadow)}.menu__cat{font-family:var(--font-head);font-size:1.5rem;color:var(--pink);margin:0 0 22px;padding-bottom:12px;border-bottom:2px solid var(--cream-2)}.menu__list{list-style:none;margin:0;padding:0}.menu__item{padding:11px 0;border-bottom:1px solid #f0e6d8}.menu__item:last-child{border-bottom:0}.menu__item-row{display:flex;align-items:baseline;gap:8px}.menu__item-name{font-weight:500}.menu__dots{flex:1;border-bottom:2px dotted #d9c7b5;transform:translateY(-4px);min-width:14px}.menu__price{font-weight:700;color:var(--coffee-mid);white-space:nowrap}.menu__desc{margin:4px 0 0;font-size:.85rem;color:var(--muted);line-height:1.5}.menu__tag{display:inline-block;margin-inline-start:8px;padding:1px 9px;border-radius:999px;font-size:.68rem;font-weight:700;background:#e7f3e7;color:#3f7d3f;vertical-align:middle}.menu__cat-note{margin:16px 0 0;font-size:.8rem;color:var(--muted);font-style:italic}.menu__footnotes{max-width:640px;margin:40px auto 0;text-align:center}.menu__footnote{margin:6px 0;font-size:.85rem;color:var(--muted);line-height:1.6}.menu__footnote--special{font-style:italic;color:var(--coffee-mid)}.story{background:var(--cream)}.story__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}.story__image{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.story__image img{width:100%;height:480px;object-fit:cover;object-position:top center}.story__text p{font-size:1.1rem;color:var(--coffee-mid)}.coffee{position:relative;padding:110px 0;background-size:cover;background-position:center;background-attachment:fixed;color:var(--white);text-align:center}.coffee__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#34211ab8}.coffee__content{position:relative;z-index:2;max-width:680px}.coffee__content p{font-size:1.15rem;opacity:.95}.press{background:var(--cream-2)}.press__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;max-width:1000px;margin:0 auto}.press__card{flex:0 1 300px;background:var(--white);border-radius:var(--radius);padding:28px 26px;display:flex;flex-direction:column;align-items:flex-start;gap:13px;box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease;border-top:4px solid var(--pink)}.press__card:hover{transform:translateY(-5px);box-shadow:0 26px 46px -22px #34211a73}.press__head{display:flex;align-items:center;gap:9px}.press__logo{width:24px;height:24px;border-radius:6px;object-fit:contain;background:#fff;box-shadow:0 1px 4px #0000001f}.press__source{display:inline-block;background:var(--cream-2);color:var(--coffee-mid);font-weight:700;font-size:.78rem;letter-spacing:.03em;padding:5px 14px;border-radius:999px}.press__title{font-family:var(--font-head);font-size:1.3rem;line-height:1.25;color:var(--coffee)}.press__teaser{margin:0;color:var(--coffee-mid);font-size:.98rem;line-height:1.65;flex:1}.press__read{color:var(--pink);font-weight:700;font-size:.92rem;margin-top:2px}.contact{background:var(--cream)}.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:stretch}.contact__block{margin-top:26px}.contact__block h3{font-family:var(--font-head);font-size:1.25rem;margin:0 0 12px;color:var(--coffee)}.hours{list-style:none;margin:0;padding:0;max-width:320px}.hours li{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dashed #e2d4c4}.contact__actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.contact__map{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);min-height:380px}.contact__map iframe{width:100%;height:100%;min-height:380px;border:0}.footer{background:var(--coffee);color:var(--cream)}.footer__inner{display:flex;justify-content:space-between;align-items:center;padding:48px 22px;flex-wrap:wrap;gap:20px}.footer__logo{font-family:var(--font-head);font-weight:900;font-size:1.5rem}.footer__logo-img{height:64px;width:auto;display:block;border-radius:14px;background:#fff;padding:5px}.footer__brand p{margin:6px 0 0;color:var(--pink-soft)}.footer__social{display:flex;gap:24px}.footer__social a{font-weight:500;transition:color .2s}.footer__social a:hover{color:var(--mustard)}.footer__copy{border-top:1px solid rgba(255,255,255,.12);padding:18px 0;font-size:.85rem;color:#c9b3a6;text-align:center}@media(max-width:860px){.section{padding:68px 0}.nav__toggle{display:flex}.nav__links{position:absolute;top:100%;right:0;left:0;flex-direction:column;gap:0;background:var(--cream);max-height:0;overflow:hidden;transition:max-height .3s ease;box-shadow:0 12px 24px -16px #0006}.nav__links.is-open{max-height:320px}.nav__links a{color:var(--coffee);padding:14px 22px;width:100%;border-bottom:1px solid var(--cream-2)}.about__grid,.story__grid,.contact__grid{grid-template-columns:1fr;gap:32px}.menu__grid{grid-template-columns:1fr}.coffee{background-attachment:scroll}.story__image img{height:320px}}.skip-link{position:absolute;right:12px;top:-60px;z-index:200;background:var(--coffee);color:#fff;padding:10px 18px;border-radius:8px;transition:top .2s ease}.skip-link:focus{top:12px}:focus-visible{outline:3px solid var(--mustard);outline-offset:2px;border-radius:4px}.a11y-fab{position:fixed;bottom:20px;left:20px;z-index:150;width:54px;height:54px;border-radius:50%;border:0;cursor:pointer;background:#1f5fbf;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px -6px #00000073;transition:transform .18s ease}.a11y-fab:hover{transform:scale(1.06)}.a11y-panel{position:fixed;bottom:84px;left:20px;z-index:151;width:250px;background:#fff;border-radius:14px;padding:16px;box-shadow:0 18px 40px -14px #0006;color:var(--coffee)}.a11y-panel__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.a11y-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.a11y-panel button{border:1px solid #e2d4c4;background:var(--cream);color:var(--coffee);padding:10px;border-radius:9px;cursor:pointer;font:inherit;font-size:.9rem}.a11y-panel button:hover{background:var(--cream-2)}.a11y-toggle{width:100%;margin-bottom:8px}.a11y-toggle.is-on{background:var(--pink);color:#fff;border-color:var(--pink)}.a11y-panel__foot{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.a11y-link{border:0!important;background:none!important;text-decoration:underline;color:var(--pink)!important;padding:6px!important}.a11y-reset{border:0!important;background:none!important;color:var(--muted)!important;padding:6px!important}.a11y-x{border:0;background:none;font-size:1.1rem;cursor:pointer;color:var(--muted)}.a11y-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.a11y-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080}.a11y-modal__box{position:relative;z-index:1;background:#fff;max-width:560px;width:100%;max-height:82vh;overflow-y:auto;border-radius:16px;padding:32px;color:var(--coffee)}.a11y-modal__box h2{font-family:var(--font-head);margin:0 0 4px}.a11y-modal__date{color:var(--muted);margin:0 0 18px;font-size:.9rem}.a11y-modal__box .a11y-x{position:absolute;left:18px;top:18px}.a11y-underline a{text-decoration:underline!important}.a11y-contrast body{background:#000;color:#fff}.a11y-contrast .nav--solid,.a11y-contrast .about,.a11y-contrast .menu,.a11y-contrast .story,.a11y-contrast .press,.a11y-contrast .contact,.a11y-contrast .menu__card,.a11y-contrast .press__card{background:#000!important;color:#fff!important}.a11y-contrast .section__title,.a11y-contrast .section__title--light,.a11y-contrast h1,.a11y-contrast h2,.a11y-contrast h3,.a11y-contrast p,.a11y-contrast li,.a11y-contrast a,.a11y-contrast .nav__links a,.a11y-contrast .nav__logo{color:#fff!important}.a11y-contrast .eyebrow,.a11y-contrast .menu__cat,.a11y-contrast .menu__price{color:#ffd54a!important}.a11y-contrast .btn--primary{background:#ffd54a;color:#000}.a11y-contrast .hero__overlay,.a11y-contrast .coffee__overlay{background:#000000bf}
