:root{--butter:#f2de98;--butter-deep:#ead28a;--cherry:#6e2537;--line:rgba(110,37,55,.24);--wordmark:'Gracies Wordmark','Manrope',Arial,sans-serif;--serif:'Instrument Serif',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--butter);color:var(--cherry);font-family:var(--sans);font-size:16px;line-height:1.6}body.explore-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p,figure,dl,dd{margin:0}h2,h3{font-family:var(--serif);font-weight:400;color:var(--cherry);letter-spacing:-.035em}h2{font-size:clamp(54px,5.8vw,84px);line-height:1}h2 em,h3 em{font-weight:400}p{max-width:40em}[hidden]{display:none!important}.section{padding:100px 4%}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor;outline-offset:6px}.skip{position:absolute;top:-100px;left:20px;padding:14px;background:var(--butter);z-index:100}.skip:focus{top:10px}body.explore-open .mobile-actions{visibility:hidden}
/* A quiet, persistent navigation. */
.header{height:76px;position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:40px;padding:0 4%;background:var(--butter);color:var(--cherry)}.header-logo{font-family:var(--wordmark);font-size:27px;font-weight:800;letter-spacing:-.08em;line-height:.9}.header-logo span{font-family:var(--sans);display:block;font-size:7px;font-weight:500;letter-spacing:.18em;line-height:1.6;margin-top:5px}.header-nav{display:flex;align-items:center;gap:32px;margin-left:auto;font-size:14px;font-weight:600}.header-nav a{position:relative;min-height:44px;display:flex;align-items:center}.header-nav a:after{content:'';position:absolute;left:0;bottom:7px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.header-nav a:hover:after{transform:scaleX(1)}.explore-trigger{display:none;align-items:center;gap:20px;border:0;border-radius:0;background:none;padding:11px 0;min-height:44px;font-size:14px;font-weight:600}.js .explore-trigger{display:flex}.reading-progress{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--cherry);transform:scaleX(var(--progress,0));transform-origin:left}
/* The photograph leads the arrival. */
.masthead{padding:9px 4% 10px;overflow:hidden;background:var(--butter);color:var(--cherry)}.masthead h1{font-family:var(--wordmark);font-size:clamp(110px,18.7vw,305px);font-weight:800;letter-spacing:-.09em;text-align:center;line-height:.92;margin:0;padding-right:.07em;padding-bottom:.2em;color:var(--cherry)}.opening-note{max-width:none;text-align:center;font-size:clamp(17px,1.8vw,22px);font-weight:800;letter-spacing:.12em;line-height:1.4;margin:0 auto 16px}.hero{display:block}.hero-photo{position:relative;aspect-ratio:1.7;overflow:hidden}.hero-photo>img{position:absolute;inset:0;object-position:50% 53%;animation:arrival-image 1.6s var(--ease) both}.hero-copy{padding:42px 4% 18px;display:grid;grid-template-columns:minmax(0,1fr) 240px 160px;gap:42px;align-items:center}.hero h2{font-size:clamp(64px,6.8vw,106px);line-height:1;margin:0}.hero h2 br{display:none}.hero h2 em:before{content:" "}.hero-copy>p{font-size:16px;line-height:1.8;max-width:240px}.hero .text-link{margin:0;min-width:160px}.text-link{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:12px 0;font-size:14px;font-weight:600;min-height:46px;color:var(--cherry)}.text-link:after{content:'';position:absolute;left:0;right:0;bottom:5px;height:1px;background:currentColor;transform:scaleX(.25);transform-origin:left;transition:transform .45s var(--ease)}.text-link:hover:after,.text-link:focus-visible:after{transform:scaleX(1)}
/* Horizontal menu choices above one generous photographic spread. */
.menu-top{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:44px}.menu-tabs{position:relative;display:flex;flex-shrink:0;align-items:stretch;width:330px}.menu-tabs button{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:52px;padding:12px 6px;border:0;background:transparent;color:var(--cherry);font-size:15px;font-weight:500;transition:color .3s}.menu-tabs button[aria-selected=true]{color:var(--cherry);font-weight:800}.menu-tabs button:hover{color:var(--cherry)}.tab-marker{position:absolute;left:0;bottom:0;width:33.333%;height:1px;background:var(--cherry);transform:translateX(calc(var(--tab-index,0) * 100%));transition:transform .55s var(--ease)}.menu-stage{display:grid;grid-template-columns:2.2fr 1fr;align-items:center;gap:7%}.menu-image{grid-column:1;grid-row:1;position:relative;aspect-ratio:1.3;overflow:hidden;view-transition-name:menu-image}.menu-image img{position:absolute;inset:0;opacity:0;transform:scale(1.05);transition:opacity .6s var(--ease),transform .9s var(--ease);object-position:50% 50%}.menu-image img.is-active{opacity:1;transform:scale(1)}.menu-image img[data-menu-image=brunch]{object-position:80% 50%}.menu-image img[data-menu-image=dinner]{object-position:50% 64%}.menu-copy{grid-column:2;grid-row:1;min-width:0;view-transition-name:menu-copy}.menu-panel{display:flex;flex-direction:column;align-items:flex-start;min-height:240px;justify-content:center}.menu-panel h3{font-size:clamp(48px,4.8vw,74px);line-height:.98;margin-bottom:24px}.menu-panel .service-time{font-size:16px;line-height:1.8}.menu-panel .text-link{margin-top:28px;min-width:150px}
/* Photographs stay clear; short captions sit below. */
.photo-stories{display:grid;grid-template-columns:1.12fr 1fr;align-items:start;gap:5%;padding-top:35px;padding-bottom:115px}.photo-stories>section{min-width:0}.story-photo{overflow:hidden;aspect-ratio:.85}.story-photo img,.catering-photo img,.visit-photo img{transition:transform 1.2s var(--ease)}.story-photo:hover img,.catering-photo:hover img,.visit-photo:hover img{transform:scale(1.025)}.bakery{padding-top:130px}.bakery .story-photo{aspect-ratio:1}.story-caption{padding-top:26px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px}.story-caption h2{font-size:clamp(44px,4.5vw,68px);line-height:.98}.story-caption p{font-size:16px;margin-top:15px}.story-caption .text-link{flex-shrink:0;gap:22px;font-size:14px}.catering{display:grid;grid-template-columns:1.75fr 1fr;align-items:center;gap:9%;padding-top:35px;padding-bottom:120px}.catering-photo{overflow:hidden;aspect-ratio:1.05}.catering-copy h2{font-size:clamp(54px,5.6vw,84px);line-height:.98}.catering-copy p{margin-top:24px;font-size:16px;line-height:1.8}.catering-copy .text-link{margin-top:24px;min-width:170px}.visit{display:grid;grid-template-columns:1fr 1.55fr;align-items:center;gap:11%;padding-top:35px;padding-bottom:125px}.visit-copy h2{margin-bottom:27px}.visit-copy address{font-style:normal;font-size:16px;line-height:1.7}.visit-copy>.text-link{margin-top:7px}.hours{margin-top:32px}.hours dl>div{display:flex;justify-content:space-between;gap:18px;padding:6px 0;font-size:14px}.hours dd{white-space:nowrap}.hours>p{font-size:14px;margin-top:16px}.visit-phone{display:inline-flex;align-items:center;min-height:44px;margin-top:19px;font-size:16px}.visit-phone:hover{text-decoration:underline;text-underline-offset:5px}.visit-photo{overflow:hidden;aspect-ratio:.95}.visit-photo img{object-position:50% 60%}
/* One yellow family carries the page through the footer. */
footer{padding:28px 4% 22px;background:var(--butter-deep);color:var(--cherry);overflow:hidden}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:15px}.footer-links{display:flex;gap:32px;font-size:14px}.footer-links a{min-height:44px;display:flex;align-items:center}.footer-links a:hover{text-decoration:underline;text-underline-offset:5px}.footer-wordmark{font-family:var(--wordmark);display:block;color:var(--cherry);font-size:20.3vw;font-weight:800;letter-spacing:-.09em;text-align:center;line-height:1.15;padding-right:.07em;transition:color .5s}.footer-wordmark:hover{opacity:.82}.footer-bottom{padding-top:24px;font-size:11px;letter-spacing:.08em}.mobile-actions{display:none}
/* Explore keeps its photographic previews and curtain transition. */
.explore-dialog{position:fixed;inset:0;border:0;padding:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;color:var(--cherry);background:var(--butter);overflow:auto;z-index:100}.explore-dialog::backdrop{background:var(--butter)}.explore-shell{min-height:100%;padding:25px 5% 24px;display:flex;flex-direction:column}.explore-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:25px}.explore-top p{font-family:var(--serif);font-size:29px;font-style:italic}.explore-close{display:flex;gap:23px;align-items:center;font-size:14px;min-height:44px;border:0;background:none}.explore-body{display:grid;grid-template-columns:1.4fr 1fr;gap:8%;align-items:center;flex:1;padding:35px 0}.explore-links{display:flex;flex-direction:column;gap:5px}.explore-links a{display:flex;align-items:center;gap:22px;min-height:73px;padding:8px 0;position:relative}.explore-links a>span{font-family:var(--serif);font-size:clamp(40px,5.8vw,84px);line-height:1;letter-spacing:-.02em;transition:transform .5s var(--ease),color .5s}.explore-links a:hover>span,.explore-links a:focus-visible>span{color:var(--cherry);transform:translateX(10px);font-style:italic}.explore-preview{position:relative;align-self:stretch;max-height:560px;min-height:350px;overflow:hidden}.explore-preview img{position:absolute;inset:0;opacity:0;transform:scale(1.08);transition:opacity .6s,transform 1.2s var(--ease)}.explore-preview img.is-active{opacity:1;transform:scale(1)}.explore-bottom{display:flex;align-items:center;justify-content:flex-end;gap:28px;padding-top:18px;font-size:14px;letter-spacing:.04em}.explore-bottom a{min-height:44px;display:flex;align-items:center}.chapter-transition{position:fixed;inset:0;z-index:150;background:var(--butter-deep);color:var(--cherry);display:flex;align-items:center;justify-content:center;transform:translateY(101%);pointer-events:none;visibility:hidden}.chapter-transition.is-active{visibility:visible;pointer-events:auto}.chapter-transition p{font-family:var(--serif);font-size:clamp(64px,10vw,160px);font-style:italic;line-height:1;text-align:center;padding:0 20px}
.reveal.will-reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform 1.1s var(--ease)}.reveal.will-reveal.is-visible{opacity:1;transform:none}::view-transition-old(menu-copy){animation:menu-out .22s both}::view-transition-new(menu-copy){animation:menu-in .5s var(--ease) both}::view-transition-group(menu-image){animation-duration:.55s}::view-transition-old(root),::view-transition-new(root){animation:none}
@keyframes arrival-image{from{transform:scale(1.04)}to{transform:scale(1)}}@keyframes menu-out{to{opacity:0;transform:translateY(-10px)}}@keyframes menu-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(min-width:1700px){.section{padding-left:max(4%,calc((100vw - 1600px)/2));padding-right:max(4%,calc((100vw - 1600px)/2))}.masthead h1,.footer-wordmark{font-size:305px}.hero-photo{max-height:1000px}.hero-copy{grid-template-columns:minmax(0,1fr) 280px 180px}}
@media(max-width:1050px){.header{gap:26px}.header-nav{gap:24px}.hero-copy{grid-template-columns:minmax(0,1fr) 200px 140px;gap:26px;padding:35px 4% 10px}.hero h2{font-size:clamp(53px,6.8vw,73px)}.hero .text-link{min-width:140px}.section{padding:80px 4%}.menu-stage{gap:7%;grid-template-columns:1.9fr 1fr}.menu-panel h3{font-size:51px}.photo-stories{gap:5%;padding-top:20px;padding-bottom:85px}.bakery{padding-top:115px}.story-caption h2{font-size:46px}.story-caption{display:block}.story-caption .text-link{margin-top:9px}.catering{gap:8%;padding-top:20px}.visit{gap:8%;padding-top:20px}.explore-links a>span{font-size:53px}.explore-body{gap:6%}}
/* Mobile: full-width photographs, with gutters only around copy and controls. */
@media(max-width:720px){
  html{scroll-padding-top:82px}
  .header{height:65px;padding:0 5%;gap:20px}
  .header-logo{font-size:25px}
  .header-logo span{font-size:8px}
  .header-nav{gap:20px;font-size:14px}
  .header-nav>a:nth-child(2),.header-order{display:none!important}
  .explore-trigger{gap:12px;font-size:14px}
  .masthead{padding:14px 5% 12px}
  .masthead h1{font-size:22vw;line-height:1}
  .hero-photo{aspect-ratio:1.12}
  .hero-photo>img{object-position:47% 55%}
  .hero-copy{padding:28px 5% 16px;display:block}
  .hero h2{font-size:clamp(53px,13.8vw,91px);line-height:1;margin-bottom:17px}
  .hero h2 br{display:none}
  .hero h2 em:before{content:' '}
  .hero-copy>p{font-size:16px;line-height:1.65;max-width:28ch}
  .hero .text-link{min-width:150px;margin:8px 0 0;gap:24px;font-size:15px}
  .text-link{font-size:15px}
  .section{padding:66px 0}
  main figure{width:100%;margin:0;border-radius:0}
  .opening-note{font-size:17px;margin-bottom:13px}
  .menu-top,.menu-copy,.story-caption,.catering-copy,.visit-copy{padding-left:5%;padding-right:5%}
  .menu-top{display:block;margin-bottom:26px}
  .menu-top h2{font-size:57px;margin-bottom:25px}
  .menu-tabs{width:100%;max-width:380px}
  .menu-tabs button{font-size:15px;min-height:52px;white-space:nowrap}
  .menu-stage{display:flex;flex-direction:column;gap:0;align-items:stretch}
  .menu-image{order:0;aspect-ratio:1.12;width:100%;margin:0}
  .menu-copy{order:1;padding-top:27px}
  .menu-panel{min-height:0;display:block}
  .menu-panel h3{font-size:49px;line-height:1;margin-bottom:16px}
  .menu-panel h3 br{display:none}
  .menu-panel h3 em:before{content:' '}
  .menu-panel .service-time{font-size:16px;line-height:1.65}
  .menu-panel .text-link{margin-top:8px;min-width:150px;font-size:15px;gap:24px}
  .photo-stories{display:block;padding-top:0;padding-bottom:65px}
  .story-photo{aspect-ratio:.95}
  .dinner .story-photo{aspect-ratio:.88}
  .story-caption{display:flex;gap:10px 22px;padding-top:23px}
  .story-caption h2{font-size:47px}
  .story-caption p{font-size:16px;line-height:1.65}
  .story-caption .text-link{margin-top:0;font-size:15px;gap:24px}
  .bakery{padding-top:58px}
  .catering{display:flex;flex-direction:column;align-items:stretch;gap:28px;padding-top:0;padding-bottom:65px}
  .catering-photo{aspect-ratio:1.1}
  .catering-copy h2{font-size:53px}
  .catering-copy p{font-size:16px;line-height:1.65;margin-top:18px}
  .catering-copy .text-link{margin-top:12px;min-width:170px}
  .visit{display:flex;flex-direction:column;align-items:stretch;gap:32px;padding-top:0;padding-bottom:65px}
  .visit-photo{order:-1;aspect-ratio:1.1}
  .visit-copy h2{font-size:60px;margin-bottom:20px}
  .visit-copy address{font-size:17px}
  .hours{max-width:390px;margin-top:27px}
  .hours dl>div{font-size:15px;gap:12px;flex-wrap:wrap;padding:8px 0}
  .hours>p{font-size:14px}
  .visit-phone{margin-top:13px;font-size:16px}
  footer{padding:24px 5% calc(82px + env(safe-area-inset-bottom))}
  .footer-links{justify-content:space-between;flex-wrap:wrap;width:100%;gap:0 18px;font-size:14px}
  .footer-wordmark{font-size:22vw}
  .footer-bottom{font-size:11px;padding-top:20px}
  .mobile-actions{position:fixed;bottom:0;left:0;right:0;z-index:45;display:grid;grid-template-columns:1fr 1fr 1.45fr;background:var(--butter);color:var(--cherry);padding-bottom:env(safe-area-inset-bottom)}
  .mobile-actions a{display:grid;place-items:center;font-size:15px;font-weight:600;min-height:56px}
  .mobile-actions a:last-child{background:var(--butter-deep);color:var(--cherry)}
  .explore-shell{padding:16px 7% max(16px,env(safe-area-inset-bottom))}
  .explore-top{padding-bottom:16px}
  .explore-top p{font-size:25px}
  .explore-close{gap:12px;font-size:15px}
  .explore-body{display:block;flex:1;padding:22px 0}
  .explore-links{gap:4px}
  .explore-links a{min-height:75px;gap:16px}
  .explore-links a>span{font-size:clamp(38px,10.7vw,65px)}
  .explore-preview{display:none}
  .explore-bottom{flex-wrap:wrap;gap:0 25px;padding-top:16px;font-size:15px}
  .explore-bottom a{min-height:44px}
  .chapter-transition p{font-size:64px}
}
@media(max-width:360px){
  .header{gap:14px}
  .header-nav{gap:12px}
  .hero h2{font-size:48px}
  .menu-panel h3{font-size:45px}
  .story-caption h2{font-size:43px}
  .catering-copy h2{font-size:49px}
  .explore-links a{min-height:67px}
  .explore-links a>span{font-size:37px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal.will-reveal{opacity:1;transform:none}.chapter-transition{display:none}}
.menu-changing .menu-image img{transition:none}

/* Every menu choice opens the complete owner-supplied menu directly. */
.menu-links{display:flex;align-items:center;gap:40px}
.menu-links a{font-size:16px;font-weight:600;min-height:48px;padding:12px 0;position:relative}
.menu-links a:after{content:'';position:absolute;bottom:5px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(.3);transform-origin:left;transition:transform .4s var(--ease)}
.menu-links a:hover:after,.menu-links a:focus-visible:after{transform:scaleX(1)}
.menu-lead-photo{aspect-ratio:1.9;overflow:hidden}
.menu-lead-photo img{object-position:80% 50%}
@media(max-width:720px){.menu-links{justify-content:space-between;gap:20px;max-width:400px}.menu-links a{font-size:17px}.menu-lead-photo{aspect-ratio:1.12}}

/* Photo edit: preserve the complete bakery composition and focus the exterior. */
.bakery .story-photo{aspect-ratio:2/3}
.visit-photo{aspect-ratio:1.35}
.visit-photo img{object-position:50% 85%}
.explore-preview img[data-preview-image=bakery]{object-position:48% 50%}
.catering.catering-text{display:block;padding-top:0;padding-bottom:110px}
.catering-text .catering-copy{display:grid;grid-template-columns:1.12fr 1fr;gap:5%;align-items:center}
.catering-text .catering-copy p{margin-top:0}
@media(max-width:720px){.catering.catering-text{padding-bottom:65px}.catering-text .catering-copy{display:block}.catering-text .catering-copy p{margin-top:18px}.visit-photo{aspect-ratio:1.35}}

/* The regional illustration stays complete at every viewport width. */
.region-map{display:block;width:100%;margin:0;background:var(--butter)}
.region-map a{display:block;width:100%;cursor:zoom-in}
.region-map img{display:block;width:100%;height:auto;object-fit:contain}
.region-map a:focus-visible{outline-offset:-8px}
