:root{--butter:#f7dc7a;--butter-l:#fdf3c4;--blue:#17405f;--blue-d:#0f2d44;--red:#d6382f;--paper:#fffdf4;--chalk:#24322d;--text:#1d2a33}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{overflow-x:clip;font-family:'Work Sans',system-ui,sans-serif;font-size:1.05rem;line-height:1.65;color:var(--text);background:var(--paper)}
h1,h2,h3{font-family:'Alfa Slab One',Georgia,serif;font-weight:400;color:var(--blue);line-height:1.05}
h2{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:1rem}
h3{font-size:1.6rem}
h4{font-family:'Work Sans',sans-serif;font-weight:700;font-size:1.05rem;color:var(--blue);margin:.2rem 0 .4rem}
a{color:var(--red)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:.5rem;z-index:99}
section{padding:5rem 0}
.btn{font-weight:700;border-radius:.4rem;padding:.7rem 1.4rem}
.btn-red{background:var(--red);color:#fff;border:2px solid var(--red)}.btn-red:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.btn-ghost{border:2px solid var(--blue);color:var(--blue)}.btn-ghost:hover{background:var(--blue);color:#fff}
/* header */
.site-head{position:sticky;top:0;z-index:50;background:var(--blue)}
.util{background:var(--blue-d);color:#e7eef3;font-family:'Space Mono',monospace;font-size:.78rem;padding:.3rem 0}
.util a{color:var(--butter);text-decoration:none;font-weight:700}
.navbar{padding:.4rem 0}
.navbar-brand{font-family:'Alfa Slab One',serif;color:var(--butter)!important;font-size:1.6rem;line-height:1;display:flex;flex-direction:column}
.navbar-brand small{font-family:'Space Mono',monospace;font-size:.62rem;color:#cfdce6;margin-top:.2rem}
.navbar .nav-link{color:#fff;font-weight:500}.navbar .nav-link:hover{color:var(--butter)}
.nav-cta{background:var(--butter);color:var(--blue)!important;border-radius:.4rem;font-weight:700;padding-inline:1rem!important}
.navbar-toggler{border-color:var(--butter);filter:invert(1) sepia(1) saturate(3)}
.bunting{display:flex;max-width:100vw;contain:paint;height:22px;overflow:hidden;background:var(--blue)}
.bunting i{flex:0 0 28px;height:22px;background:var(--c);clip-path:polygon(0 0,100% 0,50% 100%);margin-right:4px}
.site-foot .bunting{background:var(--blue-d)}
/* hero */
.hero{background:var(--butter);padding:4rem 0 4.5rem}
.hero-note{font-weight:700;color:var(--red);margin-bottom:.5rem}
.hero h1{font-size:clamp(3.6rem,10vw,7rem);color:var(--blue);margin-bottom:1rem}
.hero .lead{max-width:30rem;color:var(--blue-d)}
.addr{margin-top:1.4rem;font-weight:500;color:var(--blue-d)}
.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mosaic img{width:100%;aspect-ratio:1/1;object-fit:cover;border:4px solid var(--paper);box-shadow:6px 6px 0 var(--blue)}
.mosaic .m1{grid-column:1/3;aspect-ratio:16/7}
.mosaic .m2{transform:rotate(-1.5deg)}.mosaic .m3{transform:rotate(1.5deg)}
.mosaic .m4{grid-column:1/3;aspect-ratio:16/7}
/* sections */
.welcome p,.bakery p,.sandwiches p,.deli p,.catering p{max-width:42rem}
.platter-card{background:var(--blue);color:#fff;padding:2rem;border-radius:.6rem;box-shadow:8px 8px 0 var(--butter);transform:rotate(1deg)}
.platter-card h3{color:var(--butter);font-size:1.5rem}.platter-card a{color:var(--butter);font-weight:700}
.bakery{background:var(--butter-l)}
.sandwiches{background:var(--paper)}
.deli{background:var(--butter-l)}
.strip{width:100%;height:auto;border:4px solid var(--blue);border-radius:.4rem}
.paper,.tile,.menu-card{background:#fff;border:2px solid var(--blue);border-radius:.5rem;padding:1.4rem;height:100%}
.menu-card{box-shadow:6px 6px 0 var(--butter)}
.tile p{margin-bottom:.5rem}
ul.plain{list-style:none;padding:0;margin:0 0 1rem}
ul.plain li{padding:.1rem 0;border-bottom:1px dashed #cfd8de}
.small-note{font-size:.9rem;color:#5a6b78}
.prices{display:flex;flex-wrap:wrap;gap:.5rem}.prices span{background:var(--butter);border-radius:2rem;padding:.1rem .7rem;font-weight:700;font-size:.9rem}
.price-line b{display:inline-block;background:var(--red);color:#fff;border-radius:.3rem;padding:0 .5rem;margin-right:.3rem}
.tile.coffee{display:flex;gap:1rem;align-items:center}.tile.coffee img{width:46%;height:auto;border-radius:.3rem}
.cake-row{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:.5rem 0 1rem;align-items:flex-start}
.cake-row img{height:300px;width:auto;flex:0 0 auto;scroll-snap-align:start;border:4px solid #fff;box-shadow:4px 4px 0 var(--blue);border-radius:.3rem}
.cake-row:focus-visible{outline:3px solid var(--red)}
/* signature: galley chalkboard */
.chalk{background:var(--chalk);color:#f3f1e6;border:10px solid #8a5a33;border-radius:.4rem;padding:2rem}
.chalk h3{color:#fff;font-size:2rem}
.chalk-sub{max-width:44rem;color:#d7dccf}
.chalk-price{font-family:'Space Mono',monospace;color:var(--butter);font-size:1.1rem}
.manifest{list-style:none;padding:0;margin:0;columns:2;column-gap:2.5rem}
.manifest li{break-inside:avoid;padding:.6rem 0;border-bottom:1px dashed rgba(255,255,255,.28)}
.manifest h4{color:var(--butter);margin:0;font-family:'Alfa Slab One',serif;font-weight:400;font-size:1.1rem}
.manifest p{margin:0;font-size:.95rem;color:#e3e6dc}
.chalk-foot{margin-top:1.4rem;color:#fff}.chalk-foot b{color:var(--butter)}
.chalk.hours{margin-top:1.6rem;padding:1.2rem 1.5rem}.chalk.hours h3{font-size:1.5rem}
.dish{margin:0;background:#fff;border:2px solid var(--blue);border-radius:.5rem;overflow:hidden;height:100%}
.dish img{width:100%;height:auto;display:block}
.dish figcaption{padding:.8rem 1rem;font-size:.95rem}.dish b{display:block;color:var(--blue)}
.inline-list{max-width:none!important}
dl.priced{margin:0}
dl.priced dt{font-weight:600;float:left;clear:left;width:72%;padding:.35rem 0;border-bottom:1px dotted #aab7c1}
dl.priced dd{margin:0;text-align:right;padding:.35rem 0;border-bottom:1px dotted #aab7c1;font-weight:700;color:var(--red)}
dl.priced dt small{display:block;font-weight:400;color:#5a6b78;font-size:.82rem}
dl.priced::after{content:"";display:block;clear:both}
.chalk dl.priced dt{color:#fff;width:60%;border-color:rgba(255,255,255,.3)}.chalk dl.priced dd{color:var(--butter);border-color:rgba(255,255,255,.3)}
.catering{background:var(--paper)}
.appreciation{background:var(--blue);color:#fff}.appreciation h2{color:var(--butter)}
.notes{columns:3 230px;column-gap:18px}
.notes figure{break-inside:avoid;margin:0 0 18px;background:#fff;padding:10px 10px 6px;border-radius:.3rem;color:var(--text)}
.notes figure:nth-child(odd){transform:rotate(-1deg)}.notes figure:nth-child(even){transform:rotate(1deg)}
.notes img{width:100%;height:auto;display:block}
.notes figcaption{font-size:.85rem;padding-top:.4rem;font-weight:600}
.loc{font-size:1.15rem;margin-bottom:.4rem}.loc i{color:var(--red);margin-right:.5rem}
.storefront{width:100%;height:auto;border:4px solid var(--blue);border-radius:.4rem;margin-bottom:1rem}
.visit iframe{width:100%;height:320px;border:4px solid var(--blue);border-radius:.4rem}
.site-foot{background:var(--blue-d);color:#d3dde5}.site-foot a{color:var(--butter)}.foot-name{font-family:'Alfa Slab One',serif;font-weight:400;color:var(--butter);font-size:1.3rem}
@media(max-width:991px){.manifest{columns:1}section{padding:3.5rem 0}.util{font-size:.7rem}}
@media(max-width:575px){dl.priced dt{width:65%}.cake-row img{height:240px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
