@font-face{font-family:DM;src:url('assets/fonts/dm-sans-latin.woff2') format('woff2');font-style:normal;font-weight:100 1000;font-display:swap}
@font-face{font-family:Fraunces;src:url('assets/fonts/fraunces-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--espresso:#35271f;--mint:#b9dec3;--mango:#f6d66b;--orange:#df693d;--cream:#fff9e8;--ink:var(--espresso);--line:rgba(53,39,31,.28);--gutter:clamp(22px,4vw,72px);--body:DM,Arial,sans-serif;--display:Fraunces,Georgia,serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.5;-webkit-font-smoothing:antialiased}
body.nav-open{overflow:hidden}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:800}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img{display:block;width:100%;height:100%;object-fit:cover}
a,button{-webkit-tap-highlight-color:transparent}
::selection{background:var(--espresso);color:var(--mango)}
a:focus-visible,button:focus-visible{outline:3px solid currentColor;outline-offset:6px}
.shell{width:min(1328px,calc(100% - 2 * var(--gutter)));margin-inline:auto}
.skip-link{position:fixed;top:-90px;left:20px;z-index:100;padding:12px 18px;background:var(--espresso);color:var(--cream)}
.skip-link:focus{top:12px}
.site-header{min-height:100px;padding:18px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--mint);position:relative;z-index:20}
.wordmark{font-family:var(--display);font-size:39px;font-weight:850;font-variation-settings:'opsz' 60;line-height:1;letter-spacing:-.045em;word-spacing:.08em;white-space:nowrap}
.wordmark-cafe{font-size:.65em;letter-spacing:-.07em}
.desktop-nav{display:flex;align-items:center;gap:36px;margin-left:auto;margin-right:clamp(20px,4vw,70px)}
.desktop-nav a{font-size:17px;font-weight:600;padding:8px 0;border-bottom:2px solid transparent;transition:border-color .2s}
.desktop-nav a:hover,.desktop-nav a[aria-current=page]{border-color:currentColor}
.header-directions{display:flex;align-items:center;justify-content:space-between;gap:32px;border:2px solid var(--espresso);border-radius:3px;padding:10px 19px;font-size:16px;font-weight:600;transition:background .2s,color .2s}
.header-directions:hover{background:var(--espresso);color:var(--cream)}
.header-directions span{font-size:25px;line-height:1}
.nav-toggle,.mobile-nav,.mobile-actions{display:none}
.hero{background:var(--mint)}
.hero-stage{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:0;min-height:620px;padding:20px 0 44px}
.hero-copy{position:relative;z-index:1;padding-bottom:5px}
.hero h1{font-family:var(--display);font-size:clamp(76px,8.5vw,128px);font-weight:850;font-variation-settings:'opsz' 72;letter-spacing:-.05em;word-spacing:.035em;line-height:.94}
.hero h1 span{display:block;white-space:nowrap}
.hero-text{font-size:20px;line-height:1.45;max-width:440px;margin-top:29px}
.hero-actions{margin-top:27px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:16px 23px;min-height:56px;border:2px solid var(--espresso);border-radius:3px;font-size:17px;font-weight:600;line-height:1.15;transition:background .2s,color .2s}
.button span{font-size:27px;font-weight:400;line-height:.8;transition:transform .2s}
.button:hover span{transform:translate(3px,-3px)}
.button-dark{background:var(--espresso);color:var(--cream)}
.button-dark:hover{background:var(--cream);color:var(--espresso)}
.hero-art{width:96%;max-width:560px;aspect-ratio:1;justify-self:center;position:relative;left:6px;animation:cup-arrive .9s cubic-bezier(.16,1,.3,1) both}
.hero-art img{object-fit:contain}
@keyframes cup-arrive{from{opacity:0;transform:translateY(16px) rotate(3deg)}to{opacity:1;transform:none}}
.address-bar{background:var(--espresso);color:var(--cream)}
.address-bar>.shell{min-height:76px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.address-bar a{display:inline-flex;align-items:center;gap:35px;font-size:20px;font-weight:500;line-height:1.3;padding-block:17px}
.address-bar a span{font-size:28px;line-height:1}
.address-bar a:hover{text-decoration:underline;text-underline-offset:6px}
.menu-preview{display:grid;grid-template-columns:1fr 1.18fr;gap:clamp(50px,8vw,120px);padding-block:90px 100px}
.menu-story h2{font-family:var(--display);font-size:clamp(38px,3.65vw,56px);font-weight:750;letter-spacing:-.035em;word-spacing:.035em;line-height:1.06}
.menu-story>p{font-size:18px;line-height:1.55;margin-top:23px}
.menu-highlight{display:grid;grid-template-columns:1fr;justify-items:start;gap:12px;background:var(--mango);padding:25px 27px 27px;margin-top:35px;max-width:490px}
.menu-highlight h3{font-family:var(--display);font-size:36px;font-weight:750;letter-spacing:-.025em;line-height:1.05}
.menu-highlight p{font-size:16px;line-height:1.5;max-width:400px}
.menu-highlight a{display:inline-flex;align-items:center;gap:28px;border-bottom:2px solid;padding:4px 0;font-size:15px;font-weight:650}
.menu-highlight a span{font-size:23px;transition:transform .2s}
.menu-highlight a:hover span{transform:translate(3px,-3px)}
.menu-links{padding-top:3px;min-width:0}
.menu-link{display:grid;grid-template-columns:1fr 52px;align-items:center;gap:18px 25px;border-top:2px solid var(--espresso);padding:27px 0 29px;position:relative;isolation:isolate}
.menu-link::before{content:'';position:absolute;inset:0 -18px;background:var(--mint);z-index:-1;opacity:0;transition:opacity .2s}
.menu-link:hover::before{opacity:1}
.menu-link h3{font-family:var(--display);font-size:clamp(28px,3vw,44px);font-weight:650;letter-spacing:-.025em;word-spacing:.035em;line-height:1.05}
.menu-link p{grid-column:1;max-width:455px;font-size:17px;line-height:1.5}
.round-arrow{width:52px;height:52px;border:1.5px solid var(--espresso);border-radius:50%;display:grid;place-items:center;font-size:32px;font-weight:400;grid-column:2;grid-row:1;transition:background .2s,transform .2s}
.menu-link:hover .round-arrow{background:var(--mango);transform:rotate(7deg)}
.text-link{display:inline-flex;align-items:center;gap:40px;border-bottom:2px solid;padding:6px 0;font-size:17px;font-weight:600;line-height:1.3}
.text-link span{font-size:25px;line-height:1;transition:transform .2s}
.text-link:hover span{transform:translate(3px,-3px)}
.full-menu-link{margin-top:3px}
.place-section{background:var(--mango);scroll-margin-top:0}
.place-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(60px,10vw,150px);align-items:center;padding-block:100px}
.place-copy{align-self:center}
.place-copy h2{font-family:var(--display);font-size:clamp(45px,4.4vw,68px);font-weight:750;font-variation-settings:'opsz' 60;letter-spacing:-.035em;word-spacing:.035em;line-height:1.02}
.place-copy>p{font-size:18px;line-height:1.6;margin-top:27px;max-width:440px}
.visit-info{scroll-margin-top:34px}
.visit-info address{font-size:21px;font-weight:600;font-style:normal;line-height:1.45}
.visit-actions{display:grid;justify-items:start;gap:19px;margin-top:26px}
.visit-phone{font-size:17px;font-weight:600}
.visit-phone:hover{text-decoration:underline;text-underline-offset:5px}
.site-footer{background:var(--espresso);color:var(--cream);padding:46px 0 24px}
.footer-inner{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;align-items:start;gap:35px}
.footer-wordmark{font-family:var(--display);font-size:30px;font-weight:750;letter-spacing:-.025em;word-spacing:.035em;line-height:1.2;white-space:nowrap}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:16px}
.footer-email{font-size:16px}
.footer-links a:hover,.footer-email:hover{text-decoration:underline;text-underline-offset:5px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid rgba(255,249,232,.3);margin-top:35px;padding-top:20px;font-size:15px}
.footer-bottom a:hover{text-decoration:underline;text-underline-offset:5px}
@media(min-width:1700px){.hero-stage{min-height:660px}.hero h1{font-size:128px}.hero-art{width:100%;max-width:580px}}
@media(max-width:1100px){.desktop-nav{gap:26px;margin-right:20px}.site-header{gap:20px}.wordmark{font-size:34px}.hero-stage{min-height:590px}.hero h1{font-size:8.5vw}.hero-text{font-size:18px}.hero-art{width:108%;left:4px}.menu-preview{gap:60px}.menu-story h2{font-size:42px}.place-inner{gap:60px;padding-block:82px}.place-copy h2{font-size:50px}.footer-inner{grid-template-columns:1fr 1fr 1fr;gap:30px}.footer-email{grid-column:1}}
@media(max-width:900px) and (min-width:761px){.wordmark{font-size:29px}.site-header{padding-block:18px;min-height:88px;gap:16px}.desktop-nav{gap:20px;margin:0 auto}.desktop-nav a{font-size:15px}.header-directions{padding:10px 13px;gap:16px;font-size:15px}.hero-stage{min-height:540px;padding-block:24px 45px}.hero h1{font-size:8.8vw}.hero-text{font-size:17px}.hero-actions{margin-top:23px}.button{font-size:16px;padding:15px 18px;gap:28px}.address-bar a{font-size:17px;gap:20px}.menu-preview{grid-template-columns:1fr 1.1fr;gap:45px;padding-block:65px}.menu-story h2{font-size:36px}.menu-story>p{font-size:16px}.menu-highlight{padding:21px;margin-top:28px}.menu-highlight h3{font-size:30px}.menu-link h3{font-size:30px}.menu-link p{font-size:16px}.menu-link{gap:14px 15px;grid-template-columns:1fr 44px}.round-arrow{width:44px;height:44px;font-size:28px}.place-inner{gap:38px;padding-block:68px}.place-copy h2{font-size:43px}.place-copy>p{font-size:16px}.visit-info address{font-size:18px}}
@media(max-width:760px){
  html{scroll-padding-top:20px}
  .site-header{min-height:76px;padding-block:18px;gap:20px}
  .wordmark{font-size:34px}
  .desktop-nav,.header-directions{display:none}
  .nav-toggle{display:flex;align-items:center;gap:12px;padding:8px 0 8px 10px;border:0;background:none;font-size:16px;font-weight:600;cursor:pointer}
  .nav-toggle-icon{width:25px;height:13px;border-top:2px solid;border-bottom:2px solid;position:relative;transition:transform .2s}
  .nav-toggle[aria-expanded=true] .nav-toggle-icon{height:0;border-bottom:0;transform:rotate(45deg)}
  .nav-toggle[aria-expanded=true] .nav-toggle-icon::after{content:'';position:absolute;top:-2px;left:0;width:25px;border-top:2px solid;transform:rotate(90deg)}
  .mobile-nav:not([hidden]){display:flex;position:absolute;top:75px;left:0;right:0;min-height:calc(100dvh - 75px);background:var(--mint);color:var(--espresso);padding:14px var(--gutter) 60px;flex-direction:column;z-index:20;overflow-y:auto}
  .mobile-nav a{font-family:var(--display);font-size:36px;font-weight:750;letter-spacing:-.055em;padding:21px 0;border-bottom:1.5px solid var(--espresso);display:flex;justify-content:space-between;gap:20px}
  .mobile-nav a span{font:30px var(--body);align-self:center}
  .hero-stage{display:flex;flex-direction:column;gap:0;min-height:0;padding-block:24px 32px;align-items:stretch}
  .hero-copy{display:contents}
  .hero h1{order:0;font-size:clamp(58px,16.4vw,104px);line-height:.93;letter-spacing:-.045em}
  .hero-art{order:1;left:0;width:min(100%,300px);height:260px;aspect-ratio:auto;align-self:center;margin-top:2px;margin-bottom:2px}
  .hero-text{order:2;font-size:18px;line-height:1.4;margin-top:6px;max-width:none}
  .desktop-break{display:none}
  .hero-actions{order:3;margin-top:19px}
  .button{min-height:52px;padding:14px 19px;font-size:16px;gap:36px}
  .button span{font-size:26px}
  .address-bar>.shell{min-height:62px;display:block}
  .address-bar a{font-size:16px;min-height:62px;width:100%;justify-content:space-between;gap:20px;padding-block:16px}
  .address-bar a+a{display:none}
  .address-bar a span{font-size:25px}
  .menu-preview{grid-template-columns:1fr;gap:38px;padding-block:48px 52px}
  .menu-story h2{font-size:42px;line-height:1.07;letter-spacing:-.035em}
  .menu-story>p{font-size:17px;line-height:1.5;margin-top:20px}
  .menu-highlight{padding:21px 20px;margin-top:27px;gap:11px}
  .menu-highlight h3{font-size:31px}
  .menu-highlight p{font-size:15px}
  .menu-links{padding-top:0}
  .menu-link{grid-template-columns:1fr 44px;gap:15px 20px;padding:23px 0 26px}
  .menu-link h3{font-size:34px;line-height:1.08}
  .menu-link p{font-size:16px;line-height:1.5;grid-column:1/-1;max-width:340px}
  .round-arrow{width:44px;height:44px;font-size:28px}
  .menu-link::before{inset:0 -12px}
  .full-menu-link{margin-top:5px;font-size:16px;gap:35px}
  .place-inner{grid-template-columns:1fr;gap:28px;padding-block:49px 52px}
  .place-copy h2{font-size:49px;line-height:1.04;letter-spacing:-.035em}
  .place-copy>p{font-size:17px;line-height:1.55;margin-top:24px;max-width:none}
  .visit-info address{font-size:20px}
  .visit-actions{grid-template-columns:1fr auto;align-items:center;gap:20px;margin-top:22px}
  .site-footer{padding:32px 0 87px}
  .footer-inner{grid-template-columns:1fr 1fr;gap:27px 18px}
  .footer-wordmark{grid-column:1/-1;font-size:30px}
  .footer-links{font-size:15px;gap:10px}
  .footer-email{grid-column:auto;font-size:15px}
  .footer-bottom{font-size:14px;align-items:flex-start;gap:20px;padding-top:21px}
  .footer-bottom>span{max-width:215px}
  .footer-bottom>a{white-space:nowrap}
  .mobile-actions{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:15;background:var(--espresso);color:var(--cream);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid rgba(255,249,232,.3)}
  .mobile-actions a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 22px;min-height:58px;font-size:16px;font-weight:500;line-height:1.2}
  .mobile-actions a+a{background:var(--mango);color:var(--espresso)}
  .mobile-actions a span{font-size:25px;line-height:1}
  .nav-open .mobile-actions{display:none}
}
@media(min-width:500px) and (max-width:760px){.hero-stage{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.hero h1{grid-column:1/-1;font-size:15vw}.hero-art{grid-row:2/4;grid-column:2;width:100%;height:230px;align-self:center}.hero-text{grid-row:2;grid-column:1;align-self:end;margin:0}.hero-actions{grid-row:3;grid-column:1;margin:0;align-self:start}.menu-story h2{font-size:43px;align-self:end}.menu-story>p{margin:0}}
@media(max-width:370px){.wordmark{font-size:30px}.hero h1{font-size:14.9vw;letter-spacing:-.04em}.hero-art{height:240px;width:280px;margin-top:8px}.hero-text{font-size:17px}.menu-story h2{font-size:36px}.menu-link{gap:15px}.menu-link h3{font-size:29px}.place-copy h2{font-size:43px}.visit-actions{grid-template-columns:1fr;justify-items:start}.footer-links{font-size:14px}.footer-bottom{flex-wrap:wrap}.footer-bottom>span{max-width:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

