:root{--cream:#f1eadf;--paper:#f7f2e9;--ink:#211a16;--brown:#3d2b21;--clay:#b55d3a;--sage:#69715b;--line:rgba(33,26,22,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.nav{height:92px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:10;width:100%;color:#fff}.nav.on-light{position:relative;color:var(--ink)}.brand{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:600;letter-spacing:.14em;line-height:1.1}.brand small{display:block;font-size:8px;letter-spacing:.28em;margin-top:5px}.brand-mark{height:45px;width:45px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-family:"Fraunces",serif;font-size:12px;letter-spacing:0}.nav nav{display:flex;align-items:center;gap:30px;font-size:13px}.nav nav>a:not(.nav-cta){opacity:.72}.nav nav>a:hover,.nav nav>a.active{opacity:1}.nav-cta{border:1px solid currentColor;border-radius:99px;padding:12px 18px}.nav-toggle{display:none;background:none;border:0;color:inherit}.hero{height:min(900px,100vh);min-height:680px;position:relative;color:#fff;overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,15,11,.78) 0%,rgba(22,15,11,.28) 50%,rgba(22,15,11,.08) 100%)}.hero-copy{position:absolute;left:8vw;top:50%;transform:translateY(-46%);max-width:670px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:600}.eyebrow.light{color:#eee3d4}.hero h1,.page-head h1{font:500 clamp(55px,7.3vw,108px)/.91 "Fraunces",serif;letter-spacing:-.045em;margin:24px 0}.hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.7;max-width:520px}.actions{display:flex;align-items:center;gap:30px;margin-top:35px}.button{padding:16px 23px;border-radius:2px;display:inline-flex;gap:30px;justify-content:space-between;font-size:13px;font-weight:600}.button.cream{background:var(--cream);color:var(--ink)}.text-link{font-size:13px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:4px}.text-link.light{color:#fff}.hero-note{position:absolute;right:4.5vw;bottom:45px;display:flex;gap:12px;align-items:flex-start;font-size:12px}.hero-note span{opacity:.6}.hero-note p{margin:0}.section{padding-left:8vw;padding-right:8vw}.intro{padding-top:130px;padding-bottom:130px;display:grid;grid-template-columns:1fr 1fr;gap:9vw}.intro h2,.menu-note h2,.details h2{font:500 clamp(44px,5vw,76px)/1.02 "Fraunces",serif;margin:28px 0 0;letter-spacing:-.04em}.intro-copy{padding-top:38px}.lead{font:400 clamp(20px,2.2vw,30px)/1.45 "Fraunces",serif;margin:0 0 35px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);padding-bottom:130px}.feature{height:520px;padding:32px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;position:relative;overflow:hidden}.feature.dark{background:var(--brown)}.feature.clay{background:var(--clay)}.feature.photo{background:#493c31}.feature-photo{position:absolute;inset:0;background:linear-gradient(0deg,rgba(24,16,12,.8),rgba(24,16,12,.05)),url("assets/coffee-box-hero.png") center/cover;filter:saturate(.65)}.feature>*:not(.feature-photo){position:relative}.feature>span{font-size:10px;text-transform:uppercase;letter-spacing:.2em}.feature h3{font:500 37px/1.05 "Fraunces",serif;margin:0 0 18px}.feature p{font-size:14px;line-height:1.6;opacity:.8}.feature a{font-size:12px;border-bottom:1px solid;padding-bottom:4px}.quote{text-align:center;padding-bottom:130px}.quote>p{font:500 clamp(48px,7vw,100px)/1 "Fraunces",serif;margin:0 0 45px}.quote>div{display:flex;justify-content:center;gap:45px;font-size:11px;text-transform:uppercase;letter-spacing:.2em}footer{background:#211a16;color:#f1eadf;padding:70px 8vw 35px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;align-items:start}footer>p{font:22px "Fraunces",serif;margin:0}footer>div{display:flex;gap:22px;font-size:12px}footer>small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.16);padding-top:25px;margin-top:40px;opacity:.55}.inner-page{border-top:1px solid var(--line)}.page-head{padding-top:100px;padding-bottom:80px;display:grid;grid-template-columns:1fr 350px;align-items:end}.page-head .eyebrow{grid-column:1/-1}.page-head h1{font-size:clamp(65px,8vw,120px);margin-bottom:0}.page-head em{color:var(--clay);font-weight:500}.page-head>p:last-child{font:20px/1.5 "Fraunces",serif;padding-bottom:10px}.menu-tabs{display:flex;gap:8px;padding-bottom:40px;flex-wrap:wrap}.menu-tabs button{border:1px solid var(--line);background:transparent;padding:10px 18px;border-radius:99px;cursor:pointer;font-size:12px}.menu-tabs button.active{background:var(--ink);color:#fff}.menu-list{padding-bottom:120px}.menu-list article{display:grid;grid-template-columns:80px 1fr auto;align-items:center;border-top:1px solid var(--line);padding:34px 0;transition:opacity .25s}.menu-list article:last-child{border-bottom:1px solid var(--line)}.menu-list article.hidden{display:none}.menu-list article>span{font:24px "Fraunces",serif;color:var(--clay)}.menu-list article div>p:first-child,.menu-list article>small{text-transform:uppercase;letter-spacing:.18em;font-size:9px}.menu-list h2{font:500 clamp(30px,3.6vw,52px) "Fraunces",serif;margin:7px 0}.menu-list article div>p:last-child{opacity:.65;margin:0;font-size:13px}.menu-list article>small{border:1px solid var(--line);padding:8px 11px;border-radius:99px}.menu-note{background:#dfd5c6;padding-top:90px;padding-bottom:90px}.menu-note h2{margin-top:0}.menu-note>p{max-width:540px;line-height:1.7}.dark-button{background:var(--ink);color:#fff}.locations{display:grid;grid-template-columns:1fr 1fr;padding-bottom:120px}.locations article{border:1px solid var(--line);padding:50px;min-height:500px;display:flex;flex-direction:column}.locations article+article{border-left:0}.location-number{margin-left:auto;font:24px "Fraunces",serif}.locations h2{font:500 clamp(38px,4vw,60px)/1.1 "Fraunces",serif;margin:35px 0 15px}.locations>article>p:not(.eyebrow){opacity:.65}.location-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:auto;font-size:13px}.location-actions a{border-bottom:1px solid}.gather{margin:0 8vw 120px;padding:85px;background:var(--sage);color:#fff;display:grid;grid-template-columns:1.3fr 1fr;gap:60px}.gather h2{font:500 clamp(40px,5vw,70px)/1.05 "Fraunces",serif;margin:25px 0 0}.gather>div:last-child{align-self:end}.gather>div:last-child>p{line-height:1.7}.details{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-bottom:120px}.details h2{font-size:50px}.details>div:last-child{padding-top:40px;line-height:1.7}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.nav{height:75px;padding:0 22px}.nav-toggle{display:block}.nav nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--paper);color:var(--ink);padding:30px;flex-direction:column;align-items:stretch}.nav nav.open{display:flex}.nav-cta{text-align:center}.hero{min-height:700px}.hero>img{object-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(22,15,11,.76),rgba(22,15,11,.25))}.hero-copy{left:24px;right:24px;top:52%}.hero h1{font-size:55px}.hero-note{display:none}.section{padding-left:24px;padding-right:24px}.intro{padding-top:85px;padding-bottom:85px;grid-template-columns:1fr}.intro-copy{padding-top:0}.feature-grid{grid-template-columns:1fr;padding-bottom:85px}.feature{height:420px}.quote{padding-bottom:85px}.quote>div{flex-direction:column;gap:12px}footer{grid-template-columns:1fr;padding:55px 24px 30px}.page-head{padding-top:70px;grid-template-columns:1fr}.page-head h1{font-size:62px}.page-head>p:last-child{padding-top:30px}.menu-list article{grid-template-columns:45px 1fr}.menu-list article>small{display:none}.locations{grid-template-columns:1fr}.locations article{padding:35px;min-height:440px}.locations article+article{border-left:1px solid var(--line);border-top:0}.gather{margin:0 24px 85px;padding:50px 28px;grid-template-columns:1fr}.details{grid-template-columns:1fr;padding-bottom:85px}.details>div:last-child{padding-top:0}.actions{align-items:flex-start;flex-wrap:wrap}}
/* Keep the hero content inside the section on short laptop and preview viewports. */
.hero{height:auto;min-height:max(680px,100svh);display:flex;align-items:center;padding:150px 8vw 105px}
.hero>img{inset:0}
.hero-copy{position:relative;left:auto;top:auto;z-index:1;transform:none}
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.025);transition:opacity 1.1s ease,transform 7s ease;pointer-events:none}
.hero-slide.active{opacity:1;transform:scale(1)}
.hero-controls{position:absolute;z-index:3;left:8vw;bottom:40px;display:flex;gap:9px}
.hero-controls button{width:32px;height:3px;padding:0;border:0;background:rgba(255,255,255,.38);cursor:pointer;transition:background .25s,width .25s}
.hero-controls button.active{width:52px;background:#fff}
.hero-controls{display:none}
.official-menus{display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:55px}.official-menus a{min-height:190px;border:1px solid var(--line);padding:22px;display:flex;flex-direction:column;transition:background .25s,color .25s}.official-menus a+a{border-left:0}.official-menus a:hover{background:var(--ink);color:#fff}.official-menus span,.official-menus small{font-size:9px;letter-spacing:.16em;text-transform:uppercase}.official-menus strong{font:500 28px "Fraunces",serif;margin:auto 0}.hours{margin:20px 0 30px;border-top:1px solid var(--line);padding-top:14px}.hours p{display:flex;justify-content:space-between;gap:20px;margin:8px 0;font-size:12px}.hours span{opacity:.55}.locations article{min-height:590px}
.internal-menu{padding-bottom:120px}.menu-category{display:grid;grid-template-columns:minmax(230px,.7fr) 1.5fr;gap:7vw;padding:75px 0;border-top:1px solid var(--line)}.category-heading{display:flex;gap:22px;align-items:flex-start;position:sticky;top:30px;align-self:start}.category-heading>span{font:28px "Fraunces",serif;color:var(--clay)}.category-heading h2{font:500 clamp(38px,4vw,58px)/1 "Fraunces",serif;margin:12px 0}.menu-items{display:grid;grid-template-columns:1fr 1fr;column-gap:38px}.menu-item{display:flex;justify-content:space-between;gap:25px;padding:24px 0;border-bottom:1px solid var(--line)}.menu-item h3{font:500 20px/1.2 "Fraunces",serif;margin:0 0 8px}.menu-item p{font-size:12px;line-height:1.55;opacity:.62;margin:0}.menu-item strong{font-size:11px;white-space:nowrap;font-weight:600}.menu-item.hidden{display:none}.menu-category.section-hidden{display:none}.menu-source{font-size:10px;margin-top:45px!important;opacity:.6}.menu-source a{border-bottom:1px solid}
/* Give the solid feature cards a visual focal point instead of an empty upper half. */
.feature.dark,.feature.clay{background-position:center;background-size:cover}
.feature.dark{background-image:url("assets/feature-coffee.png")}
.feature.clay{background-image:url("assets/feature-brunch.png")}
.feature.dark::before,.feature.clay::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,12,9,.12) 5%,rgba(18,12,9,.08) 36%,rgba(18,12,9,.88) 100%)}
.feature.dark::after,.feature.clay::after{display:none}
.feature>div:last-child{max-width:420px}
@media(max-width:800px){.hero{min-height:max(700px,100svh);padding:125px 24px 85px}.hero-copy{left:auto;right:auto;top:auto}.hero-controls{left:24px;bottom:30px}.hero-slide{object-position:58% center}.official-menus{grid-template-columns:1fr 1fr}.official-menus a,.official-menus a+a{border:1px solid var(--line);min-height:145px}.official-menus strong{font-size:24px}.menu-category{grid-template-columns:1fr;gap:22px;padding:55px 0}.category-heading{position:static}.menu-items{grid-template-columns:1fr}.internal-menu{padding-bottom:80px}}
@media(max-height:720px) and (min-width:801px){.hero{align-items:flex-start;padding-top:120px;padding-bottom:70px}.hero h1{font-size:clamp(54px,7vw,76px);margin:16px 0}.hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.55}.actions{margin-top:22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}.hero-slide{transition:none;transform:none}}

/* Persistent concept watermark across every page. */
body::after{
  content:"CONCEPT - Joshdg";
  position:fixed;
  left:50%;
  top:50%;
  z-index:9999;
  transform:translate(-50%,-50%) rotate(-24deg);
  color:rgba(255,255,255,.16);
  font:600 clamp(28px,6vw,76px)/1 "DM Sans",sans-serif;
  letter-spacing:.12em;
  text-align:center;
  text-shadow:0 1px 5px rgba(0,0,0,.24);
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
}
