:root{--ink:#160e0a;--ink-2:#241612;--cream:#f8f0e5;--paper:#fffaf4;--gold:#d5a45b;--gold-2:#f0ca8a;--rose:#8c2630;--muted:#806f64;--line:rgba(34,20,13,.12);--shadow:0 25px 70px rgba(31,17,8,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;overflow-x:hidden}.grain{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:100;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:110;background:transparent}.progress span{display:block;height:100%;width:0;background:var(--gold-2)}
a{color:inherit;text-decoration:none}.nav{position:fixed;top:0;left:0;right:0;z-index:90;height:84px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;color:#fff;transition:.35s}.nav.scrolled{background:rgba(22,14,10,.9);backdrop-filter:blur(18px);box-shadow:0 10px 40px rgba(0,0,0,.16)}.brand,.footer-brand{display:flex;align-items:center;gap:11px}.brand-logo{width:58px;height:58px;object-fit:contain;display:block;flex:none}.footer-logo{width:52px;height:52px;object-fit:contain;display:block;flex:none}.brand-mark{width:38px;height:38px;border:1px solid rgba(240,202,138,.7);border-radius:50%;display:grid;place-items:center;color:var(--gold-2);font-family:Georgia,serif;font-size:21px;font-style:italic}.brand strong,.footer-brand strong{font-family:'Playfair Display',serif;display:block;font-size:15px;letter-spacing:.17em}.brand small,.footer-brand small{display:block;font-size:7px;letter-spacing:.22em;color:var(--gold-2);margin-top:1px}.desktop-nav{display:flex;gap:34px;font-size:13px;color:rgba(255,255,255,.72)}.desktop-nav a{transition:.25s}.desktop-nav a:hover{color:#fff}.nav-actions{display:flex;align-items:center;gap:18px}.phone{font-size:12px;color:rgba(255,255,255,.75)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:52px;padding:0 24px;border-radius:100px;font-size:12px;font-weight:700;letter-spacing:.03em;transition:.3s;position:relative;overflow:hidden}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold-2);color:var(--ink);box-shadow:0 12px 30px rgba(213,164,91,.2)}.btn-gold:hover{box-shadow:0 16px 40px rgba(213,164,91,.35)}.btn-ghost{border:1px solid rgba(255,255,255,.25);color:#fff;background:rgba(255,255,255,.04)}.btn-dark{background:var(--ink);color:#fff}.btn-outline-light{border:1px solid rgba(255,255,255,.25);color:#fff}.btn-small{min-height:42px;padding:0 18px}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:25px;height:1px;background:#fff;margin:6px}
.hero{min-height:100vh;background:var(--ink);color:#fff;position:relative;overflow:hidden;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;padding:120px 7vw 80px}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 70% 50%,rgba(176,111,46,.22),transparent 34%),linear-gradient(105deg,#120b08 0%,#1c100c 55%,#2a1710 100%)}.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,11,8,.98) 0%,rgba(18,11,8,.8) 40%,rgba(18,11,8,.2) 100%)}.hero-content,.hero-visual{position:relative;z-index:2}.eyebrow,.section-kicker{font-size:10px;letter-spacing:.25em;font-weight:700;color:var(--gold-2)}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow span{width:25px;height:1px;background:var(--gold-2)}h1,h2{font-family:'Playfair Display',serif;line-height:.98;margin:20px 0}h1{font-size:clamp(54px,7vw,105px);max-width:800px;letter-spacing:-.045em}h1 em,h2 em{font-style:italic;color:var(--gold-2);font-weight:600}.hero-copy{max-width:570px;color:rgba(255,255,255,.67);font-size:16px;line-height:1.8}.hero-actions{display:flex;gap:12px;margin:32px 0 28px}.hero-meta{display:flex;align-items:center;gap:15px;color:rgba(255,255,255,.5);font-size:10px;letter-spacing:.06em}.hero-meta b{color:var(--gold-2)}.hero-meta i{height:13px;width:1px;background:rgba(255,255,255,.2)}.hero-visual{height:650px;display:grid;place-items:center}.visual-ring{width:500px;height:500px;border-radius:50%;border:1px solid rgba(240,202,138,.23);box-shadow:0 0 0 70px rgba(213,164,91,.035),0 0 0 140px rgba(213,164,91,.02);position:absolute}.floating-card{position:absolute;border:1px solid rgba(255,255,255,.14);background:#2a1a14;padding:9px;box-shadow:0 35px 80px rgba(0,0,0,.4);border-radius:20px}.floating-card img{display:block;width:100%;height:100%;object-fit:cover;border-radius:13px}.card-main{width:330px;height:430px;transform:rotate(4deg);z-index:3}.card-back{width:260px;height:330px;left:7%;top:12%;transform:rotate(-10deg);opacity:.8}.card-front{width:190px;height:235px;right:3%;bottom:8%;transform:rotate(8deg);z-index:5}.floating-tag{position:absolute;right:8%;top:17%;z-index:7;background:rgba(255,250,244,.95);color:var(--ink);padding:14px 18px;border-radius:14px;box-shadow:var(--shadow);transform:rotate(-3deg)}.floating-tag span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#9a806a}.floating-tag b{font-family:'Playfair Display',serif;font-size:19px}.scroll-cue{position:absolute;bottom:30px;left:7vw;font-size:9px;letter-spacing:.22em;color:rgba(255,255,255,.35);z-index:2}.scroll-cue span{color:var(--gold-2);font-size:16px;margin-left:8px}.hero-orb{position:absolute;border-radius:50%;filter:blur(2px);z-index:1}.orb-1{width:170px;height:170px;background:rgba(185,74,48,.12);right:20%;top:12%}.orb-2{width:90px;height:90px;background:rgba(239,198,120,.1);right:5%;bottom:15%}
.ticker{background:var(--gold-2);color:var(--ink);overflow:hidden;white-space:nowrap}.ticker-track{display:inline-flex;gap:30px;align-items:center;min-width:max-content;padding:17px 0;font-size:11px;letter-spacing:.25em;font-weight:800;animation:marquee 28s linear infinite}.ticker-track b{font-size:12px}@keyframes marquee{to{transform:translateX(-50%)}}
.section{padding:125px 7vw}.story{background:var(--cream)}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center;margin-top:35px}.story-copy h2,.section-head h2{font-size:clamp(42px,5vw,72px);letter-spacing:-.04em;max-width:700px}.story-copy p{max-width:600px;font-size:15px;line-height:1.9;color:#594b43}.story-copy .muted{font-size:13px;color:#88776c}.text-link{display:inline-flex;gap:16px;align-items:center;margin-top:15px;font-weight:700;font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:8px}.story-media{position:relative}.media-frame{height:650px;border-radius:210px 210px 20px 20px;overflow:hidden;box-shadow:var(--shadow);transform:rotate(2deg)}.media-frame img{width:100%;height:100%;object-fit:cover}.floating-note{position:absolute;left:-45px;bottom:45px;background:#fffaf4;padding:18px 22px;border-radius:14px;box-shadow:var(--shadow);min-width:205px}.floating-note strong{display:block;font-size:12px}.floating-note small{display:block;color:#8b786b;font-size:10px;margin-top:4px}.note-dot{display:block;width:8px;height:8px;background:var(--rose);border-radius:50%;position:absolute;right:16px;top:16px}
.menu-section{background:var(--paper)}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end}.section-head h2{margin-bottom:0}.head-copy{max-width:350px;color:var(--muted);font-size:13px;line-height:1.7}.filter-row{display:flex;gap:8px;margin:38px 0 25px;overflow:auto;padding-bottom:5px}.filter{background:transparent;border:1px solid var(--line);border-radius:100px;padding:11px 17px;font:600 11px 'DM Sans';cursor:pointer;white-space:nowrap}.filter.active,.filter:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.menu-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:.35s}.menu-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.menu-card.hidden{display:none}.menu-image{height:265px;position:relative;background:#e9dfd2;overflow:hidden}.menu-image img{width:100%;height:100%;object-fit:cover;transition:.6s}.menu-card:hover .menu-image img{transform:scale(1.06)}.pill{position:absolute;left:13px;top:13px;background:rgba(255,250,244,.92);backdrop-filter:blur(8px);padding:8px 11px;border-radius:100px;font-size:9px;font-weight:800;letter-spacing:.06em}.menu-info{padding:20px}.menu-info h3{font-family:'Playfair Display',serif;font-size:21px;margin:0 0 7px}.menu-info p{font-size:11px;line-height:1.65;color:var(--muted);min-height:53px;margin:0 0 16px}.menu-info>div{display:flex;justify-content:space-between;align-items:center}.menu-info b{font-size:13px}.menu-info span{font-size:9px;color:#9a897d}.coffee-image{display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#7a4c2d,#2b1810 65%)}.coffee-cup{width:130px;height:130px;border-radius:50%;background:linear-gradient(145deg,#d8b48c,#8c5c38);display:grid;place-items:center;box-shadow:inset -12px -16px 25px rgba(0,0,0,.2),0 25px 45px rgba(0,0,0,.25)}.coffee-cup span{font-size:48px}.menu-note{font-size:10px;color:#97867a;margin-top:18px}
.feature-banner{display:grid;grid-template-columns:1.15fr .85fr;min-height:640px;background:var(--ink);color:#fff}.feature-image{overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}.feature-copy{padding:10vw 8vw;display:flex;flex-direction:column;justify-content:center}.feature-copy h2{font-size:clamp(45px,5vw,76px)}.feature-copy p{max-width:430px;color:rgba(255,255,255,.6);font-size:14px;line-height:1.8;margin-bottom:28px}.feature-copy .btn{align-self:flex-start}
.gallery-section{background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:90px;gap:12px;margin-top:42px}.gallery-item{padding:0;border:0;overflow:hidden;border-radius:18px;cursor:pointer;background:#ddd;position:relative}.gallery-item:after{content:'↗';position:absolute;right:15px;top:15px;width:35px;height:35px;border-radius:50%;background:rgba(255,250,244,.88);display:grid;place-items:center;font-weight:800;opacity:0;transform:translateY(6px);transition:.25s}.gallery-item:hover:after{opacity:1;transform:none}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.6s}.gallery-item:hover img{transform:scale(1.06)}.g1{grid-column:span 4;grid-row:span 5}.g2{grid-column:span 3;grid-row:span 3}.g3{grid-column:span 5;grid-row:span 4}.g4{grid-column:span 3;grid-row:span 4}.g5{grid-column:span 3;grid-row:span 4}.g6{grid-column:span 3;grid-row:span 6}.g7{grid-column:span 3;grid-row:span 4}.g8{grid-column:span 3;grid-row:span 4}
.visit-section{background:var(--paper)}.visit-card{background:var(--ink);color:#fff;border-radius:28px;overflow:hidden;display:grid;grid-template-columns:1fr .85fr;min-height:600px;box-shadow:var(--shadow)}.visit-copy{padding:80px 8vw}.visit-copy h2{font-size:clamp(45px,5vw,75px)}.visit-copy p{color:rgba(255,255,255,.65);line-height:1.9;font-size:14px}.visit-actions{display:flex;gap:10px;margin:30px 0}.hours{display:flex;gap:50px;border-top:1px solid rgba(255,255,255,.12);padding-top:25px;margin-top:35px}.hours b,.hours small{display:block}.hours b{font-size:10px;color:var(--gold-2);letter-spacing:.1em;text-transform:uppercase}.hours small{font-size:11px;color:rgba(255,255,255,.55);margin-top:5px}.visit-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.8)}
.footer{background:#0d0806;color:#fff;padding:45px 7vw 30px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:20px}.footer p{color:rgba(255,255,255,.4);font-size:11px}.footer-links{display:flex;gap:20px;font-size:11px;color:rgba(255,255,255,.65)}.footer>small{grid-column:1/-1;color:rgba(255,255,255,.25);font-size:9px;border-top:1px solid rgba(255,255,255,.08);padding-top:20px;margin-top:15px}.mobile-menu{position:fixed;inset:0;background:rgba(22,14,10,.98);z-index:200;color:#fff;display:none;flex-direction:column;align-items:center;justify-content:center;gap:28px}.mobile-menu.open{display:flex}.mobile-menu>a:not(.btn){font:600 31px 'Playfair Display'}.close-menu{position:absolute;right:25px;top:20px;background:none;border:0;color:#fff;font-size:40px;font-weight:200}.lightbox{position:fixed;inset:0;background:rgba(10,6,4,.94);z-index:300;display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:min(90vw,1000px);max-height:88vh;border-radius:14px;box-shadow:0 30px 100px #000}.lightbox button{position:absolute;top:22px;right:28px;color:#fff;background:none;border:0;font-size:42px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;background:#fff;color:var(--ink);padding:13px 18px;border-radius:100px;z-index:250;font-size:11px;box-shadow:var(--shadow);pointer-events:none;transition:.3s}.toast.show{opacity:1;transform:translate(-50%,0)}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}.reveal-delay{transition-delay:.16s}
@media(max-width:1100px){.desktop-nav{gap:18px}.phone{display:none}.hero{padding-left:5vw;padding-right:5vw}.hero-visual{height:570px}.visual-ring{width:420px;height:420px}.card-main{width:290px;height:370px}.menu-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-auto-rows:80px}}
@media(max-width:760px){.nav{height:70px;padding:0 20px}.desktop-nav,.phone,.nav-actions>.btn{display:none}.menu-toggle{display:block}.hero{display:block;min-height:0;padding:125px 20px 65px}.hero-content{z-index:5}.hero h1{font-size:55px;max-width:500px}.hero-copy{font-size:14px}.hero-actions{flex-wrap:wrap}.hero-meta{flex-wrap:wrap;gap:10px}.hero-visual{height:460px;margin-top:10px}.visual-ring{width:320px;height:320px}.card-main{width:225px;height:290px}.card-back{width:170px;height:220px;left:3%;top:8%}.card-front{width:140px;height:175px;right:0;bottom:5%}.floating-tag{right:0;top:14%;padding:10px 13px}.floating-tag b{font-size:15px}.scroll-cue{display:none}.section{padding:80px 20px}.story-grid,.feature-banner,.visit-card{grid-template-columns:1fr}.story-grid{gap:45px}.media-frame{height:470px;border-radius:150px 150px 18px 18px}.floating-note{left:10px;bottom:25px}.section-head{display:block}.section-head .btn{margin-top:25px}.menu-grid{grid-template-columns:1fr 1fr;gap:10px}.menu-image{height:190px}.menu-info{padding:14px}.menu-info h3{font-size:17px}.menu-info p{font-size:10px;min-height:70px}.menu-info>div{display:block}.menu-info>div span{display:block;margin-top:4px}.filter-row{margin-top:28px}.feature-banner{min-height:0}.feature-image{height:410px}.feature-copy{padding:65px 20px 75px}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;gap:8px}.g1,.g2,.g3,.g4,.g5,.g6,.g7,.g8{grid-column:span 1;grid-row:span 1}.g1{grid-row:span 2}.g6{grid-row:span 2}.visit-copy{padding:55px 25px}.visit-image{height:390px}.visit-actions{flex-wrap:wrap}.hours{gap:25px}.footer{display:block;padding:40px 20px}.footer p{margin:20px 0}.footer-links{flex-wrap:wrap;margin-bottom:25px}.brand strong{font-size:13px}}
@media(max-width:420px){.hero h1{font-size:48px}.menu-grid{grid-template-columns:1fr}.menu-image{height:250px}.hero-visual{height:410px}.card-main{width:210px;height:270px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
