.cafe-demo{--espresso:#23150f;--coffee:#4d2f20;--cream:#f6efe3;--paper:#fffaf2;--sage:#8c9a7a;--rust:#b55435;--gold:#d9a65f;color:var(--espresso);background:var(--paper);font-family:"DM Sans",sans-serif;overflow:hidden}.cafe-demo *{box-sizing:border-box}.cafe-demo h1,.cafe-demo h2{font-family:"Playfair Display",serif}.demo-ribbon{height:34px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:var(--espresso);color:#e9dccb;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.demo-ribbon a{color:#fff}.cafe-nav{height:80px;padding:0 clamp(20px,5vw,80px);display:flex;align-items:center;justify-content:space-between;background:#fffaf2;position:relative;z-index:10;border-bottom:1px solid rgba(35,21,15,.1)}.cafe-logo{display:flex;align-items:center;gap:10px}.cafe-logo>span{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--espresso);border-radius:50%;font-family:"Playfair Display",serif;font-size:1.2rem}.cafe-logo strong{font-family:"Playfair Display",serif;font-size:1.12rem}.cafe-logo i{color:var(--rust)}.cafe-links{display:flex;align-items:center;gap:28px}.cafe-links>a{font-size:.78rem;font-weight:600}.cafe-book{padding:11px 18px;border:1px solid var(--espresso)}.cafe-menu-toggle{display:none}.cafe-hero{height:min(790px,calc(100vh - 114px));min-height:610px;position:relative;color:#fff}.cafe-hero>img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,14,9,.8) 0,rgba(25,14,9,.48) 43%,rgba(25,14,9,.05) 75%)}.cafe-hero-copy{position:absolute;left:clamp(24px,8vw,140px);top:50%;width:min(720px,80%);transform:translateY(-50%)}.eyebrow{margin:0 0 20px;color:#f1c891;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.eyebrow.dark{color:var(--rust)}.cafe-hero h1{margin:0;font-size:clamp(3.6rem,8vw,7.8rem);line-height:.84;letter-spacing:-.055em}.cafe-hero h1 em{color:#f1c891;font-weight:600}.hero-intro{max-width:560px;margin:32px 0 0;color:#f7eee5;font-size:1.03rem;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:34px}.cafe-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;transition:.25s}.cafe-btn.light{background:#fff;color:var(--espresso)}.cafe-btn.dark{background:var(--espresso);color:#fff}.cafe-btn:hover{transform:translateY(-2px)}.text-link{color:#fff;font-size:.82rem;font-weight:600}.text-link span,.ink-link span{margin-left:7px}.open-card{position:absolute;right:clamp(20px,5vw,80px);bottom:38px;display:flex;align-items:center;gap:12px;padding:14px 18px;background:rgba(255,250,242,.92);color:var(--espresso);backdrop-filter:blur(12px)}.open-card div{display:grid}.open-card small{color:#746258;font-size:.65rem;text-transform:uppercase}.open-card strong{font-size:.78rem}.pulse{width:9px;height:9px;border-radius:50%;background:#519c5a;box-shadow:0 0 0 6px rgba(81,156,90,.15)}.scroll-cue{position:absolute;left:clamp(24px,8vw,140px);bottom:38px;display:flex;align-items:center;gap:9px;color:#fff;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.scroll-cue span{width:32px;height:1px;background:#fff}.marquee{padding:15px 0;background:var(--rust);color:#fff;overflow:hidden}.marquee>div{width:max-content;display:flex;gap:28px;align-items:center;animation:cafeMarquee 22s linear infinite}.marquee span{font-family:"Playfair Display",serif;font-style:italic}.marquee b{color:#f1c891}@keyframes cafeMarquee{to{transform:translateX(-35%)}}.cafe-wrap{width:min(1180px,calc(100% - 40px));margin:auto}.story-section{display:grid;grid-template-columns:70px 1.5fr 1fr .6fr;gap:38px;padding-top:110px;padding-bottom:110px;align-items:start}.section-number{color:#a7988c;font-size:.72rem}.story-copy h2,.section-heading h2,.reviews-head h2,.visit-copy h2{margin:0;font-size:clamp(2.5rem,5.2vw,5rem);line-height:.98;letter-spacing:-.045em}.story-note{padding-top:44px;color:#65564e;line-height:1.8}.ink-link{display:inline-flex;margin-top:22px;color:var(--espresso);border-bottom:1px solid;padding-bottom:5px;font-size:.79rem;font-weight:700}.story-stat{padding-top:44px;display:grid}.story-stat strong{font-family:"Playfair Display",serif;font-size:3.2rem;line-height:1}.story-stat span{margin:5px 0;color:var(--rust);letter-spacing:.12em}.story-stat small{color:#7b6b62}.signature-section{padding:100px 0;background:#efe5d4}.signature-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.menu-photo{height:700px;position:relative}.menu-photo img{width:100%;height:100%;object-fit:cover}.menu-photo>span{position:absolute;left:-25px;bottom:35px;padding:18px 22px;background:var(--rust);color:#fff;font-family:"Playfair Display",serif;font-size:1.3rem;font-style:italic}.menu-panel h2{margin:0 0 30px;font-size:clamp(2.8rem,5vw,4.8rem);line-height:1}.menu-tabs{display:flex;gap:24px;border-bottom:1px solid #cfc0ab}.menu-tabs button{padding:0 0 12px;border:0;background:none;color:#7a695d;font:600 .78rem "DM Sans";cursor:pointer}.menu-tabs button.active{color:var(--espresso);border-bottom:2px solid var(--rust)}.menu-list{display:none}.menu-list.active{display:block}.menu-list article{display:flex;justify-content:space-between;gap:18px;padding:20px 0;border-bottom:1px solid #d7cbb9}.menu-list article div{display:grid}.menu-list strong{font-family:"Playfair Display",serif;font-size:1.05rem}.menu-list small{margin-top:4px;color:#77685d}.menu-list b{white-space:nowrap}.offer-banner{min-height:520px;padding:80px max(8vw,24px);display:grid;grid-template-columns:1fr .8fr;align-items:center;background:var(--coffee);color:#fff}.offer-copy h2{margin:0;font-size:clamp(3.2rem,7vw,7rem);line-height:.85}.offer-copy h2 em{color:#f1c891}.offer-copy>p:not(.eyebrow){margin:22px 0;color:#d9cabc}.offer-art{display:grid;place-items:center;position:relative}.offer-art span{display:grid;place-items:center;width:300px;height:300px;border:1px solid #cfa677;border-radius:50%;font:600 2rem/1.2 "Playfair Display";text-align:center;animation:spinCafe 18s linear infinite}.offer-art i{position:absolute;font-size:4rem;font-style:normal}@keyframes spinCafe{to{transform:rotate(360deg)}}.space-section{padding-top:110px;padding-bottom:110px}.section-heading{display:grid;grid-template-columns:1.4fr .7fr;gap:70px;align-items:end;margin-bottom:50px}.section-heading>p{color:#6f6057;line-height:1.8}.space-grid{display:grid;grid-template-columns:1.5fr .75fr;grid-template-rows:1fr 1fr;gap:16px}.space-grid article{position:relative;min-height:260px}.space-main{grid-row:span 2;height:600px;overflow:hidden}.space-main img{width:100%;height:100%;object-fit:cover;object-position:70% center;transform:scale(1.12)}.space-main>span{position:absolute;left:20px;bottom:20px;padding:10px 14px;background:#fff;color:var(--espresso);font-size:.75rem;font-weight:700}.space-detail{padding:35px;display:flex;flex-direction:column;justify-content:space-between}.space-detail.terracotta{background:var(--rust);color:#fff}.space-detail.cream{background:#e8dcc8}.space-detail span{font:600 4rem "Playfair Display"}.space-detail p{max-width:220px;margin:0;font:600 1.35rem "Playfair Display"}.reviews-section{padding:110px 0;background:#26372d;color:#fff}.reviews-head{display:flex;justify-content:space-between;align-items:end}.reviews-head span{color:#c5d0c8;font-size:.8rem}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:50px}.reviews-grid blockquote{margin:0;padding:30px;background:#314638}.reviews-grid blockquote>div{color:#e7bb72;letter-spacing:.12em}.reviews-grid blockquote>p{min-height:145px;font:italic 1.2rem/1.6 "Playfair Display"}.reviews-grid footer{display:flex;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.14);padding-top:18px}.reviews-grid footer>span{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#e8d7b9;color:#314638;font-size:.72rem;font-weight:700}.reviews-grid footer div{display:grid}.reviews-grid footer small{color:#aebdb2}.visit-section{display:grid;grid-template-columns:1.1fr .9fr;min-height:650px}.visit-map{display:grid;place-items:center;position:relative;background-color:#d7d4c5;background-image:linear-gradient(30deg,transparent 48%,rgba(86,103,77,.18) 49%,rgba(86,103,77,.18) 51%,transparent 52%),linear-gradient(120deg,transparent 48%,rgba(86,103,77,.15) 49%,rgba(86,103,77,.15) 51%,transparent 52%);background-size:130px 110px;overflow:hidden}.visit-map::after{content:"";position:absolute;width:70%;height:2px;background:#fff;transform:rotate(-22deg);box-shadow:0 90px #fff,0 -110px #fff}.map-pin{z-index:2;width:64px;height:64px;display:grid;place-items:center;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--rust);color:#fff;font:700 1.5rem "Playfair Display"}.map-pin::first-letter{transform:rotate(45deg)}.visit-map small{position:absolute;z-index:3;left:30px;bottom:30px;padding:15px 18px;background:#fff;line-height:1.5}.visit-copy{padding:clamp(50px,8vw,120px);background:#f1e8d9}.visit-details{margin:38px 0;display:grid;gap:14px}.visit-details div{display:flex;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid #d4c6b3}.visit-details small{color:#76665b}.reserve-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.cafe-footer{padding:55px max(5vw,24px) 28px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:center;background:var(--espresso);color:#fff}.cafe-footer .cafe-logo{color:#fff}.cafe-footer>p{text-align:center;font-family:"Playfair Display",serif;font-style:italic;color:#d8c7b5}.cafe-footer>div{display:flex;justify-content:flex-end;gap:18px;font-size:.75rem}.cafe-footer>small{grid-column:1/-1;padding-top:25px;border-top:1px solid rgba(255,255,255,.12);color:#9e8c80}.floating-reserve{display:none}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.cafe-links{display:none;position:absolute;left:0;right:0;top:80px;padding:22px;background:var(--paper);box-shadow:0 20px 30px rgba(35,21,15,.1);flex-direction:column}.cafe-nav.menu-open .cafe-links{display:flex}.cafe-menu-toggle{display:block;border:0;background:none;font-weight:700}.story-section{grid-template-columns:40px 1fr}.story-note,.story-stat{grid-column:2}.signature-grid,.offer-banner,.visit-section{grid-template-columns:1fr}.menu-photo{height:500px}.offer-art{margin-top:50px}.section-heading{grid-template-columns:1fr;gap:20px}.reviews-grid{grid-template-columns:1fr}.reviews-grid blockquote>p{min-height:auto}.visit-map{min-height:420px}.cafe-footer{grid-template-columns:1fr;text-align:center}.cafe-footer .cafe-logo{justify-content:center}.cafe-footer>div{justify-content:center}.cafe-footer>small{grid-column:1}.floating-reserve{display:block;position:fixed;z-index:15;left:16px;right:16px;bottom:14px;padding:14px;background:var(--rust);color:#fff;text-align:center;font-size:.78rem;font-weight:700;box-shadow:0 10px 30px rgba(35,21,15,.3)}}@media(max-width:620px){.demo-ribbon span{display:none}.cafe-nav{height:68px}.cafe-links{top:68px}.cafe-hero{height:720px}.cafe-hero-copy{width:calc(100% - 40px);left:20px}.cafe-hero h1{font-size:3.8rem}.hero-intro{font-size:.94rem}.open-card{left:20px;right:auto;bottom:28px}.scroll-cue{display:none}.story-section{display:block;padding-top:75px;padding-bottom:75px}.section-number{margin-bottom:25px}.story-note,.story-stat{padding-top:20px}.signature-section,.space-section,.reviews-section{padding-top:75px;padding-bottom:75px}.signature-grid{gap:40px}.menu-photo{height:390px}.menu-photo>span{left:12px}.offer-banner{padding-top:75px;padding-bottom:75px}.offer-art span{width:230px;height:230px}.space-grid{grid-template-columns:1fr;grid-template-rows:auto}.space-main{grid-row:auto;height:420px}.section-heading{margin-bottom:30px}.reviews-head{display:block}.reviews-head span{display:block;margin-top:18px}.visit-details div{display:grid}.cafe-footer>div{flex-wrap:wrap}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}}
/* Keep headings readable inside the dark review panel. */
.cafe-demo .reviews-section h2,.cafe-demo .reviews-section h3,.cafe-demo .reviews-section blockquote p{color:#fff}
