@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--green:#153f32;--cream:#f6f3e9;--lime:#d9e8aa;--line:#c9cec1;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--green);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #bb7927;outline-offset:6px}header{display:flex;align-items:center;justify-content:space-between;padding:25px 5%;gap:24px}.wordmark{font-size:25px;font-weight:700;letter-spacing:-1px;line-height:.88}.wordmark span{display:block;font-size:12px;letter-spacing:1.8px;line-height:1;margin-top:10px}nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:500}.nav-visit{border-bottom:1px solid;padding:8px 0}.nav-visit span{margin-left:25px}.hero{display:grid;grid-template-columns:1.04fr 1fr;min-height:670px;background:var(--green);color:var(--cream)}.hero-copy{padding:64px 9% 26px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2.4px;margin:0 0 28px}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-size:clamp(52px,5.9vw,88px);font-weight:500;line-height:1.1;letter-spacing:-3px;margin-bottom:27px}em{font-family:var(--serif);font-weight:500}h1 em{color:var(--lime)}.intro{color:#e4e8db;line-height:1.8;font-size:16px;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:15px 24px;font-size:14px;font-weight:600;border-radius:2px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.cream{background:var(--cream);color:var(--green)}.green{background:var(--green);color:var(--cream)}.hero-bottom{display:flex;justify-content:space-between;width:100%;gap:15px;font-size:12px;letter-spacing:1.6px;margin-top:auto;padding-top:55px}.hero-photo{position:relative;overflow:hidden;min-height:500px;background:#463327}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover}.hero-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0008)}.photo-note{position:absolute;bottom:42px;left:38px;z-index:1;font-size:20px;line-height:1.4}.photo-note em{font-size:30px}.ribbon{display:flex;justify-content:space-around;align-items:center;padding:20px 4%;gap:20px;background:var(--lime);font-size:12px;font-weight:600;letter-spacing:1.9px}.ribbon b{font-size:24px;font-weight:400}.section{padding:95px 7%;scroll-margin-top:20px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-heading .eyebrow{margin-bottom:15px}h2{font-family:var(--serif);font-size:clamp(40px,4.1vw,62px);line-height:1.15;font-weight:500;letter-spacing:-1.7px;margin-bottom:0}.section-heading>p{font-size:15px;margin:0;color:#566155}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:18px}.tabs button{border:1px solid transparent;background:transparent;color:var(--green);padding:10px 20px;border-radius:30px;font-size:14px;cursor:pointer}.tabs button[aria-selected=true]{background:var(--green);color:var(--cream)}.tabs button:hover{border-color:var(--green)}.menu-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:65px}.menu-panel[hidden]{display:none}.menu-panel article{display:flex;gap:20px;padding:32px 0;border-bottom:1px solid var(--line)}.item-no{font-size:12px;padding-top:9px;color:#737b6b}.menu-panel h3{font-family:var(--serif);font-size:25px;line-height:1.3;font-weight:500;margin-bottom:10px}.menu-panel p{color:#596253;font-size:15px;margin-bottom:0;max-width:480px}.tag{display:inline-block;font-size:12px;font-weight:600;letter-spacing:1.4px;margin-top:15px}.menu-note{font-size:12px;color:#626b5d;margin:24px 0 0}.story{background:#e3e8db}.story-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:9%}.story h2{font-size:clamp(42px,4.6vw,69px)}.story-grid>div{padding-top:6px;max-width:490px}.story-lead{font-family:var(--serif);font-size:26px;line-height:1.4}.story-grid>div>p:not(.story-lead){color:#52624f}.signature{margin-top:30px;font-size:14px}.signature strong{font-family:var(--serif);font-size:26px;font-style:italic;font-weight:500;color:var(--green)}.visit{display:grid;grid-template-columns:1fr 1fr;gap:13%;align-items:center}.visit .eyebrow{margin-bottom:17px}.visit h2{font-size:clamp(64px,7vw,105px);line-height:1; margin-bottom:28px}.visit p strong{font-weight:500}.visit .button{margin-top:10px}.hours{background:var(--green);color:var(--cream);padding:48px 40px;position:relative}.hours h3{font-family:var(--serif);font-size:44px;font-weight:500;margin-bottom:25px}.hours .eyebrow{color:var(--lime);font-size:12px}.hours dl{margin:0}.hours dl div{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #ffffff35;font-size:14px}.hours dd{margin:0;white-space:nowrap}.hours>p:not(.eyebrow){font-size:12px;margin-top:20px;color:#d8dece}.hours-foot{display:block;margin-top:60px;font-size:12px;letter-spacing:2px;color:var(--lime)}footer{border-top:1px solid var(--line);padding:40px 7% 25px}.footer-brand{font-size:clamp(35px,9.2vw,150px);font-weight:700;letter-spacing:-.06em;line-height:1.1;display:block}footer>div{display:flex;justify-content:space-between;gap:20px;margin-top:30px;font-size:12px;color:#586252}a:hover{text-decoration:none}nav a:hover,footer a:last-child:hover{opacity:.7}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:900px){.hero{min-height:600px}.hero-copy{padding:45px 8% 25px}h1{font-size:56px;letter-spacing:-2px}.hero-bottom{font-size:12px}.section{padding:65px 6%}.section-heading{align-items:flex-start;flex-direction:column;gap:18px}.menu-panel{column-gap:30px}.story-grid{gap:6%}.visit{gap:7%}.hours{padding:35px 25px}.hours dl div{flex-direction:column;gap:4px}.ribbon{font-size:12px;letter-spacing:1px}.ribbon b{font-size:18px}}@media(max-width:600px){header{padding:23px 6%}.wordmark{font-size:22px}nav{gap:20px;font-size:13px}nav>a:nth-child(2){display:none}.nav-visit span{margin-left:5px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 7% 24px}.hero .eyebrow{font-size:12px;margin-bottom:25px}h1{font-size:clamp(49px,11vw,70px);letter-spacing:-2px}.intro{font-size:15px}.hero-bottom{padding-top:35px}.hero-photo{min-height:380px}.photo-note{bottom:25px;left:25px}.ribbon{padding:14px 5%;justify-content:center;gap:20px}.ribbon span:nth-of-type(3),.ribbon b:last-child{display:none}.ribbon b{font-size:18px}.ribbon span{font-size:12px;letter-spacing:1px}.section{padding:58px 7%}.eyebrow{font-size:12px;letter-spacing:1.8px}.tabs{gap:4px}.tabs button{font-size:12px;padding:10px 11px}.menu-panel{grid-template-columns:1fr}.menu-panel article{padding:26px 0}.menu-panel h3{font-size:24px}.story-grid{grid-template-columns:1fr;gap:30px}.story-lead{font-size:23px}.visit{grid-template-columns:1fr;gap:40px}.hours{padding:35px}.hours dl div{flex-direction:row;font-size:13px}.hours-foot{margin-top:40px}footer{padding:30px 7%}footer>div{flex-direction:column;gap:5px;margin-top:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Supplied Coffee Nation brand artwork. */
.wordmark{display:block;flex-shrink:0;width:164px;line-height:1}.wordmark img,.footer-brand img{display:block;width:100%;height:auto;object-fit:contain}.wordmark span{font-size:12px;letter-spacing:1.2px;text-align:center}.footer-brand{width:min(460px,100%)}@media(max-width:600px){.wordmark{width:124px}.wordmark span{letter-spacing:0;font-size:12px}header{gap:16px;flex-wrap:wrap}header nav{gap:16px;flex-wrap:wrap}}



/* Full menu: readable descriptions and prices on every screen. */
.full-menu{display:block}.full-menu[hidden]{display:none}.menu-group{padding-top:34px}.full-menu .menu-group-title{font-family:var(--sans);font-size:20px;font-weight:600;margin:0 0 8px;padding-bottom:12px;border-bottom:2px solid var(--green)}.menu-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}.full-menu article{display:block;padding:22px 0;min-width:0}.item-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:8px}.item-heading h4{font-family:var(--serif);font-size:23px;line-height:1.3;font-weight:500;margin:0;flex:1 1 180px}.menu-price{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.full-menu article p{font-size:16px;max-width:none}.menu-group-note{font-size:14px;color:#596253;margin-bottom:0}.tabs{flex-wrap:wrap}.tabs button{font-size:14px}.wordmark{width:132px}.wordmark img{aspect-ratio:1}.footer-brand{width:min(260px,100%)}@media(max-width:600px){.menu-items{grid-template-columns:1fr}.wordmark{width:96px}.wordmark span{line-height:1.4}.menu-group{padding-top:28px}.item-heading h4{font-size:22px}.tabs button{padding:10px 12px;font-size:14px}.footer-brand{width:200px}}

/* Full menu is visible by default; categories remain optional filters. */
.menu-filters button[aria-pressed=true]{background:var(--green);color:var(--cream)}.menu-view-status{font-size:14px;color:#596253;margin:18px 0 0}.full-menu .menu-category-title{font-family:var(--serif);font-size:36px;font-weight:500;margin:48px 0 0;line-height:1.2}.cafe-photos{display:grid;grid-template-rows:1fr 1fr;gap:6px;background:var(--green);min-width:0}.cafe-photos img{position:static;display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center}.cafe-photos:after{display:none}@media(max-width:600px){.cafe-photos{min-height:0;grid-template-rows:auto auto}.cafe-photos img{height:auto;aspect-ratio:3/2}.full-menu .menu-category-title{font-size:32px;margin-top:36px}}

/* Original transparent logo, with its natural proportions. */
.wordmark img,.footer-brand img{aspect-ratio:auto;height:auto;background:transparent;filter:none}.wordmark{width:164px}@media(max-width:600px){.wordmark{width:124px}}

/* Real moments from Coffee Nation, paired with the story behind the food. */
.craft-story{padding-bottom:70px}.craft-row{display:grid;grid-template-columns:1.12fr 1fr;gap:6%;align-items:center;margin-bottom:70px}.craft-photo{min-width:0;overflow:hidden}.craft-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.craft-copy{min-width:0}.craft-copy .eyebrow{margin-bottom:20px}.craft-copy h2{font-size:clamp(34px,3.4vw,52px);margin-bottom:24px}.craft-copy>p:last-child{font-size:16px;line-height:1.85;color:#52624f;margin:0}.brunch-row .craft-photo{grid-column:2;grid-row:1}.brunch-row .craft-copy{grid-column:1;grid-row:1}.community-heading{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;margin-bottom:32px}.community-heading h2{font-size:clamp(34px,3.4vw,52px)}.community-heading p{font-size:16px;line-height:1.85;color:#52624f;margin:0;max-width:470px}.community-photos{display:grid;grid-template-columns:1.65fr 1fr;gap:20px}.community-photos>div{min-width:0;height:440px;overflow:hidden}.community-photos img{display:block;width:100%;height:100%;object-fit:cover}.community-photos>div:last-child img{object-position:center 55%}#menu{border-top:1px solid var(--line)}@media(max-width:900px){.craft-row{gap:5%}.community-photos>div{height:340px}}@media(max-width:600px){.craft-story{padding-top:40px;padding-bottom:48px}.craft-row{grid-template-columns:1fr;gap:25px;margin-bottom:48px}.brunch-row .craft-photo,.brunch-row .craft-copy{grid-column:auto;grid-row:auto}.craft-copy h2{font-size:36px}.community-heading{grid-template-columns:1fr;gap:22px}.community-photos{grid-template-columns:1fr;gap:16px}.community-photos>div{height:auto}.community-photos img{height:auto}.community-photos>div:last-child img{height:auto;max-height:580px;object-fit:cover;object-position:center}.community-heading h2{font-size:36px}}

/* Touch-native, keyboard-accessible food gallery. */
.food-gallery{min-width:0;grid-column:2;grid-row:1}.food-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;position:relative;scrollbar-width:thin;scrollbar-color:var(--green) transparent;outline-offset:5px}.food-track:focus-visible{outline:3px solid #bb7927}.food-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;margin:0}.food-slide img{display:block;width:100%;height:auto;aspect-ratio:3/4;max-height:540px;object-fit:contain;background:#e9e6dc}.food-slide figcaption{padding:22px 4px 12px}.food-slide h3{font-family:var(--serif);font-size:26px;line-height:1.25;font-weight:500;margin:0 0 10px}.food-slide p{font-size:16px;line-height:1.7;margin:0;color:#52624f}.food-gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.swipe-hint{font-size:14px;color:#52624f}.food-navigation{display:flex;align-items:center;gap:14px}.food-navigation button{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--green);border-radius:50%;color:var(--green);background:transparent;font-size:28px;cursor:pointer;line-height:1}.food-navigation button:hover:not(:disabled){background:var(--green);color:var(--cream)}.food-navigation button:disabled{opacity:.3;cursor:default}.food-count{font-size:14px;min-width:38px;text-align:center;font-variant-numeric:tabular-nums}@media(max-width:600px){.food-gallery{grid-column:auto;grid-row:auto}.food-slide img{max-height:none}.food-slide h3{font-size:25px}.brunch-row{align-items:start}}

.footer-contact{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:30px;padding:28px 0 8px;border-top:1px solid var(--line)}.footer-contact h2{font-family:var(--sans);font-size:18px;font-weight:600;line-height:1.4;letter-spacing:0;margin:0 0 12px}.social-links{display:flex;gap:12px;flex-wrap:wrap}.social-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 18px;border:1px solid var(--green);border-radius:24px;font-size:14px;font-weight:500}.social-links a:hover{background:var(--green);color:var(--cream)}.footer-phone{display:flex;flex-direction:column;align-items:flex-end}.footer-phone span{font-size:14px}.footer-phone a{display:inline-flex;align-items:center;min-height:44px;font-size:21px;font-weight:600;letter-spacing:.3px}@media(max-width:600px){.footer-contact{flex-direction:column;align-items:flex-start;gap:22px}.footer-phone{align-items:flex-start}}

.food-gallery .best-sellers-title{font-family:var(--serif);font-size:clamp(30px,3vw,42px);font-weight:500;line-height:1.2;letter-spacing:-.8px;margin:0 0 24px}

.catering{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:8%;background:var(--green);color:var(--cream);padding-top:64px;padding-bottom:64px}.catering .eyebrow{color:var(--lime);margin-bottom:20px}.catering h2{font-size:clamp(38px,4vw,58px)}.catering h2 em{color:var(--lime)}.catering-description{font-size:16px;line-height:1.8;max-width:580px;margin:24px 0 0;color:#e4e8db}.catering-contact>p{font-family:var(--serif);font-size:25px;line-height:1.4;margin-bottom:20px}.catering-contact .button{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;padding:19px 24px;width:100%;max-width:390px}.catering-contact strong{font-size:19px;white-space:nowrap}@media(max-width:600px){.catering{grid-template-columns:1fr;gap:30px;padding-top:48px;padding-bottom:48px}.catering-contact>p{font-size:23px}.catering-contact .button{max-width:none}}

.footer-phone .contact-email{font-size:16px;font-weight:500;letter-spacing:0;overflow-wrap:anywhere;max-width:100%}.footer-phone{min-width:0;max-width:100%}
