@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--cream:#eee7d9;--ink:#40372d;--rust:#9a4d32;--muted:#766d60;--line:#cfc5b5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--rust);outline-offset:5px}header{height:100px;margin:0 4.8%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:37px;font-weight:bold;letter-spacing:-2px}.brand span{font:12px Arial;vertical-align:top;margin-left:4px;letter-spacing:0}.brand small{display:block;font:8px 'DM Sans';letter-spacing:2px;margin:4px 0 0 3px}nav{display:flex;gap:33px;font-size:12px}nav a:hover{color:var(--rust)}.book{border:1px solid var(--ink);border-radius:30px;padding:13px 21px;background:transparent;font-size:12px}.book span{margin-left:22px}.mobile-toggle{display:none}.hero{position:relative;min-height:690px;display:grid;grid-template-columns:1fr 1fr;padding:0 4.8%;overflow:hidden}.hero-top,.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px}.hero-top{padding-top:25px}.hero-copy{position:relative;z-index:2;padding-top:65px;padding-bottom:60px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:600;margin:0 0 25px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-3px;margin:0}h1{font-size:clamp(62px,6.6vw,100px);line-height:1.07}em{font-weight:400;color:var(--rust)}.intro{font-size:14px;line-height:1.8;color:var(--muted);margin:28px 0}.pill{display:inline-flex;gap:35px;align-items:center;border:none;border-radius:40px;background:var(--ink);color:var(--cream);padding:17px 26px;font-size:12px}.pill:hover{background:var(--rust)}.pill span{font-size:18px}.scene-wrap{position:relative;min-width:0;align-self:stretch;min-height:500px}.scene-word{position:absolute;top:90px;left:-15px;font-family:'Playfair Display';font-size:clamp(100px,13vw,200px);font-style:italic;color:#d4c9b9;letter-spacing:-10px}#coffee-scene{position:absolute;width:115%;height:100%;left:-8%;top:0;cursor:grab;touch-action:pan-y}#coffee-scene:active{cursor:grabbing}.scene-tag{position:absolute;right:0;top:140px;font-size:9px;letter-spacing:2px;line-height:1.8;transform:rotate(90deg);transform-origin:right}.scene-controls{position:absolute;bottom:30px;right:15px;display:flex;align-items:center;gap:13px;font-size:8px;letter-spacing:1px}.scene-controls button{width:30px;height:30px;background:transparent;border:1px solid var(--line);border-radius:50%;color:var(--ink)}.scene-fallback{position:absolute;width:80%;height:80%;object-fit:cover;top:10%;left:10%;border-radius:50%}.hero-bottom{padding:20px 0 28px;border-top:1px solid var(--line);align-items:center}.hero-bottom a span{font-size:21px;margin-left:30px}.ticker{display:flex;justify-content:space-around;gap:20px;align-items:center;overflow:hidden;background:var(--rust);color:var(--cream);padding:20px;font-size:11px;letter-spacing:2px;white-space:nowrap}.ticker i{font-style:normal;font-size:27px}.section{padding:110px 7.5%}.story{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.story-photo{height:560px;position:relative}.story-photo img{width:100%;height:100%;object-fit:cover;border-radius:160px 160px 3px 3px}.photo-note{position:absolute;bottom:28px;left:30px;color:white;font:italic 23px Georgia;text-shadow:0 2px 10px #222;line-height:1.3}h2{font-size:clamp(42px,4.5vw,65px);line-height:1.15;letter-spacing:-2px}.story-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.9;max-width:385px;margin:24px 0}.text-link{display:inline-block;font-size:12px;border-bottom:1px solid;padding-bottom:9px;margin-top:16px}.text-link span{margin-left:20px}.story-foot{display:flex;flex-wrap:wrap;gap:22px;border-top:1px solid var(--line);padding-top:25px;margin-top:35px;font-size:9px}.menu{background:#e4ddcf}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.section-heading>p{font-size:12px;line-height:1.9;color:var(--muted)}.tabs{display:flex;border-bottom:1px solid #baaf9e;margin:0 0 32px;gap:40px}.tabs button{background:none;border:none;border-bottom:2px solid transparent;padding:16px 0;color:var(--muted);font-size:13px}.tabs button[aria-selected=true]{border-color:var(--rust);color:var(--rust)}.tabs span{font-size:8px;vertical-align:top;margin-left:13px}.menu-layout{display:grid;grid-template-columns:0.9fr 1.1fr;gap:8%;align-items:center}.menu-image{height:380px;position:relative;overflow:hidden}.menu-image img{width:100%;height:100%;object-fit:cover}.image-label{position:absolute;bottom:15px;left:20px;color:white;font-size:8px;letter-spacing:2px;text-shadow:0 1px 5px black}.menu-item{padding:22px 0;border-bottom:1px solid #c4b9a8;display:grid;grid-template-columns:1fr auto;gap:8px}.menu-item h3{font-size:24px;letter-spacing:-0.5px}.menu-item p{grid-column:1/-1;margin:0;font-size:11px;color:var(--muted);line-height:1.6}.menu-item .price{font-size:13px}.menu-note{font-size:10px;color:var(--muted);text-align:right;margin-top:25px}.quote{text-align:center;padding:100px 20px;border-bottom:1px solid var(--line)}.quote h2{font-size:clamp(42px,5vw,76px)}.quote>span{display:block;color:var(--rust);font-size:42px;margin-top:25px}.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:235px 235px;gap:20px}.gallery-card{padding:0;border:0;background:var(--ink);overflow:hidden;position:relative;text-align:left}.gallery-card.tall{grid-row:span 2}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s;opacity:.9}.gallery-card:hover img{transform:scale(1.045);opacity:1}.gallery-card span{position:absolute;bottom:20px;left:23px;color:#fff;font:italic 21px Georgia;text-shadow:0 2px 8px black}.visit{background:var(--ink);color:var(--cream);display:grid;grid-template-columns:1.3fr 1fr;gap:15%}.visit em{color:#cfa082}.visit .light{background:var(--cream);color:var(--ink);margin-top:32px}.visit h3{font-size:35px;letter-spacing:-1px}.visit-info>p:not(.eyebrow){font-size:12px;line-height:2;color:#c1b6a4;margin-top:25px}.visit-info .text-link{display:block;width:fit-content}footer{padding:40px 4.8%;display:flex;justify-content:space-between;align-items:center;gap:25px}footer p{font:italic 18px Georgia}footer>span,footer>a:last-child{font-size:8px;letter-spacing:1px}dialog{background:var(--cream);color:var(--ink);border:none;border-radius:5px;padding:45px;max-width:510px;width:calc(100% - 32px);max-height:90vh;overflow:auto}dialog::backdrop{background:#211c16b8;backdrop-filter:blur(5px)}dialog h2{font-size:43px}dialog>p:not(.eyebrow){font-size:12px;line-height:1.6;color:var(--muted)}.close{position:absolute;right:16px;top:12px;background:none;border:0;color:inherit;font-size:28px}form{display:grid;gap:18px;margin-top:25px}label{font-size:11px;display:grid;gap:8px}input,select{background:#f7f2e8;border:1px solid var(--line);padding:12px;color:var(--ink);min-width:0;width:100%;border-radius:3px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}#visit-summary{line-height:1.8;font-size:13px;padding-top:20px}#lightbox{max-width:900px;padding:35px 20px 15px}#lightbox img{display:block;max-height:70vh;width:100%;object-fit:contain}#lightbox p{text-align:center;font:italic 22px Georgia}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.js-motion .reveal.visible{opacity:1;transform:none}
@media(min-width:1500px){header,.hero,footer{padding-left:calc((100vw - 1400px)/2);padding-right:calc((100vw - 1400px)/2)}header{margin:0}.section{padding-left:calc((100vw - 1250px)/2);padding-right:calc((100vw - 1250px)/2)}}
@media(max-width:850px){header{height:85px}nav{gap:15px}h1{font-size:65px}.hero{min-height:590px}.hero-copy{padding-top:55px}.scene-wrap{min-height:440px}.scene-word{top:120px;font-size:120px}.scene-tag{display:none}.story{gap:6%}.story-photo{height:450px}.section{padding:75px 6%}.section-heading>p{max-width:230px}.visit{gap:8%}.scene-controls{font-size:7px;right:0}.tabs{gap:25px}}
@media(max-width:600px){header{height:80px;position:relative}.brand{font-size:30px}.brand small{font-size:6px}.book{font-size:10px;padding:10px 12px;margin-left:auto;margin-right:14px}.book span{margin-left:10px}.mobile-toggle{display:block;background:transparent;border:0;font-size:20px}nav{display:none;position:absolute;top:79px;left:-5.3%;right:-5.3%;background:var(--cream);padding:25px;z-index:20;border-bottom:1px solid var(--line)}nav.expanded{display:grid;gap:25px}.hero{display:flex;flex-direction:column;min-height:auto}.hero-top{font-size:7px;gap:10px}.hero-top .open{display:none}.hero-copy{padding:42px 0 0}.hero-copy .eyebrow{margin-bottom:20px;font-size:8px}h1{font-size:65px}.intro{font-size:12px;margin:20px 0}.pill{padding:14px 22px}.scene-wrap{height:380px;min-height:380px;margin-top:-5px}.scene-word{top:60px;left:0;font-size:135px}#coffee-scene{width:110%;left:-5%}.scene-controls{bottom:10px}.hero-bottom{font-size:7px;gap:20px;margin-top:10px}.hero-bottom a span{margin-left:6px}.ticker{justify-content:flex-start;font-size:8px;padding:15px}.ticker span{flex-shrink:0}.section{padding:65px 6%}.story{grid-template-columns:1fr;gap:38px}.story-photo{height:400px}.story-copy h2{font-size:45px}.story-copy>p:not(.eyebrow){max-width:none}.section-heading{display:block;margin-bottom:28px}.section-heading>p{max-width:none;margin-top:20px}.tabs{gap:18px}.tabs button{font-size:11px}.tabs span{margin-left:5px}.menu-layout{grid-template-columns:1fr;gap:12px}.menu-image{height:260px}.menu-item{padding:20px 0}.menu-note{text-align:left;line-height:1.7}.quote{padding:65px 18px}.quote h2{font-size:42px}.gallery-grid{grid-template-columns:1fr;grid-template-rows:370px 250px 250px}.gallery-card.tall{grid-row:auto}.visit{grid-template-columns:1fr;gap:55px}footer{display:grid;grid-template-columns:1fr 1fr;padding:30px 6%}footer p{font-size:15px;margin:0}dialog{padding:35px 25px}.form-row{gap:10px}h2{font-size:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.js-motion .reveal{opacity:1;transform:none}}
