@font-face{font-family:"Patrick Hand";src:url("./assets/patrick-hand.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Kyka Sans";src:url("./assets/kyka-sans.woff") format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Kyka Sans";src:url("./assets/kyka-sans-bold.woff") format("woff");font-weight:700;font-display:swap}
:root{
  color-scheme:light;
  --ink:#151512;
  --yellow:#ffe653;
  --yellow-active:#ffdc38;
  --paper:#fff;
  --muted:#6c6e73;
  --rule:#dddde0;
  --sidebar-width:clamp(245px,24.8vw,300px);
  --rail-width:0px;
  --hand:"Patrick Hand","Comic Sans MS",cursive;
  font-size:100%;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font:1rem/1.5 "Kyka Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased}
body,button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none;touch-action:manipulation}
button{color:inherit;font:inherit;cursor:pointer;touch-action:manipulation}
img{display:block;max-width:100%;height:auto}
figure,p,h1,h2{margin:0}
h1,h2{font-family:var(--hand);font-weight:400;line-height:1.15;overflow-wrap:break-word}
h1{font-size:clamp(2.5rem,4.35vw,3.6rem)}
h2{font-size:2.1rem}
::selection{background:var(--yellow);color:var(--ink)}
:focus-visible{outline:2px solid #242420;outline-offset:5px}
h1:focus,main:focus{outline:none}
[hidden]{display:none!important}
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:28px;height:28px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.icon-dot{fill:currentColor;stroke:none}
.skip-link{position:fixed;z-index:100;top:10px;left:12px;padding:10px 18px;background:var(--ink);color:#fff;transform:translateY(-160%)}
.skip-link:focus{transform:none}

/* The side columns stay fixed while the photo diary scrolls. */
.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:var(--sidebar-width);display:flex;flex-direction:column;background:linear-gradient(115deg,#ffe64b,#ffeb65 65%,#ffe653);overflow-y:auto}
.brand-row{padding:34px 21px 0}
.brand{display:block;width:100%;line-height:0}
.brand img{position:static;width:100%;height:auto;mix-blend-mode:multiply}
.menu-toggle{display:none}
.site-navigation{display:flex;flex-direction:column;gap:15px;margin:46px 20px 28px}
.site-navigation a{position:relative;display:flex;align-items:center;gap:23px;min-height:56px;padding:10px 14px;border-radius:9px;font-size:1.125rem;font-weight:700;transition:background .18s ease}
.site-navigation .icon{width:31px;height:31px}
.site-navigation a:hover{background:#ffdb3666}
.site-navigation a[aria-current="page"]{background:var(--yellow-active)}
.site-navigation .mobile-instagram{display:none}
.sidebar-bottom{position:relative;min-height:180px;flex:1;display:flex;align-items:flex-end;margin-top:20px;overflow:hidden}
.sidebar-bottom p{position:relative;z-index:1;width:74%;margin:0 8% 0 auto;padding:0 0 62px;display:flex;flex-direction:column;align-items:center;font-family:var(--hand);font-size:1.5rem;line-height:1.03;text-align:center;transform:rotate(-5deg)}
.sidebar-bottom p .icon{width:21px;height:21px;margin-top:8px}
.reference-crop{position:relative;overflow:hidden;aspect-ratio:var(--crop-w) / var(--crop-h)}
.reference-crop>img{position:absolute;max-width:none;width:calc(1536 / var(--crop-w) * 100%);height:auto;left:calc(var(--crop-x) / var(--crop-w) * -100%);top:calc(var(--crop-y) / var(--crop-h) * -100%)}
.honeycomb{--crop-x:46;--crop-y:678;--crop-w:82;--crop-h:322;position:absolute;width:34%;left:0;bottom:0;mix-blend-mode:darken;mask-image:linear-gradient(to right,#000 85%,transparent),linear-gradient(to top,#000 88%,transparent);mask-composite:intersect;pointer-events:none}

main{margin-left:var(--sidebar-width);margin-right:var(--rail-width);padding:37px 50px 0;min-height:100svh;border-right:2px solid var(--yellow)}
.page-view,.site-footer{max-width:850px;margin-inline:auto}
.page-view{scroll-margin-top:28px}
.page-view+.page-view{margin-top:80px}
body.is-enhanced .page-view{margin-top:0}
.blog-intro{padding:9px 0 25px;container-type:inline-size}
.intro-heading{position:relative;padding-left:76px}
.bee-flight{--crop-x:317;--crop-y:140;--crop-w:124;--crop-h:73;position:absolute;left:-29px;top:-19px;width:126px;mix-blend-mode:multiply;clip-path:polygon(0 0,100% 0,100% 64%,62% 64%,62% 100%,0 100%);pointer-events:none}
.eyebrow{font-size:1rem;line-height:1.5}
.intro-heading .eyebrow{margin-left:36px;margin-bottom:3px}
.blog-intro h1{font-size:clamp(2.5rem,8.3cqw,4.25rem);letter-spacing:-.012em}
/* The approved heading has no yellow underline, border, or pseudo-element. */
.intro-description{max-width:650px;margin:22px 0 0 76px;font-size:1.0625rem;line-height:1.43}
.post-meta{margin-bottom:5px;font-size:.875rem;line-height:1.4;color:var(--muted)}
.blog-post{padding:0 0 19px}
.blog-post+.blog-post{border-top:1px solid var(--rule);padding-top:18px}
.post-photo{background:#faf9f7}
.scoop-photo{--crop-x:346;--crop-y:338;--crop-w:636;--crop-h:319}
.paletas-photo{--crop-x:346;--crop-y:776;--crop-w:636;--crop-h:135}
.blog-post h2{font-size:2.1rem;margin:5px 0 0}
.instagram-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:.9375rem;line-height:1.4}
.instagram-link .icon{width:27px;height:27px}
.instagram-link>span{text-decoration:underline;text-underline-offset:5px}
.instagram-link:hover>span{text-decoration-thickness:2px}
.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 20px;padding:27px 0 22px;border-top:1px solid var(--rule);font-size:.8125rem;color:var(--muted)}
.site-footer a{display:inline-flex;align-items:center;min-height:44px}
.site-footer a:hover{text-decoration:underline}

/* The same photo-first layout continues behind the side-menu links. */
.page-intro{margin:12px 0 34px}
.page-intro h1{margin:5px 0 18px}
.page-intro>p:last-child{max-width:580px;font-size:1.0625rem}
.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.menu-item{min-width:0}
.menu-item h2{margin:15px 0 7px;font-size:1.85rem}
.menu-item p{line-height:1.55}
.real-photo{position:relative;overflow:hidden;aspect-ratio:240/315;background:#f1e7bc}
.real-photo img{position:absolute;max-width:none;width:688.333333%;height:443.809524%;top:-247.619%;left:var(--photo-left)}
.icecream-photo{--photo-left:-243.333333%}
.fruit-photo{--photo-left:-41.25%}
.drinks-photo{--photo-left:-142.916667%}
.short-note{margin-top:36px;padding-top:24px;border-top:1px solid var(--rule)}
.short-note h2{margin-bottom:8px;font-size:1.9rem}
.simple-link{display:inline-block;padding-block:13px;text-decoration:underline;text-underline-offset:5px;line-height:1.6}
.simple-link:hover{text-decoration-thickness:2px}
.page-view>.simple-link{margin:12px 0 35px}
.story-layout,.visit-layout{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-bottom:42px;align-items:start}
.shop-figure img{width:100%}
.shop-figure figcaption{margin:13px 0;font:1.375rem/1.3 var(--hand)}
.story-copy h2{font-size:1.95rem;margin-bottom:12px}
.story-copy p{line-height:1.65;margin-bottom:24px}
.visit-photo{overflow:hidden;aspect-ratio:4/5}
.visit-photo img{width:100%;height:100%;object-fit:cover}
.visit-details h2{margin:6px 0 14px}
.visit-details address{font-style:normal;font-size:1.125rem;line-height:1.65}
.directions-link{display:flex;align-items:center;justify-content:center;gap:12px;width:fit-content;min-height:52px;padding:10px 17px;background:var(--yellow);border-radius:6px;margin:23px 0 37px;font-weight:700}
.directions-link:hover{background:var(--yellow-active)}
.directions-link .icon{width:22px;height:22px}

@media(min-width:1500px){
  main{padding-top:42px}
  .blog-intro{padding-bottom:28px}
}
@media(max-width:1090px) and (min-width:761px){
  :root{--sidebar-width:235px;--rail-width:0px}
  main{padding:31px 23px 0 36px}
  .brand-row{padding:29px 18px 0}
  .site-navigation{margin:34px 16px 18px}
  .site-navigation a{gap:18px;padding-inline:12px}
  .intro-heading{padding-left:52px}
  .bee-flight{width:110px;left:-25px;top:-16px}
  .intro-heading .eyebrow{margin-left:29px}
  .intro-description{margin-left:52px}
  .blog-intro h1{font-size:clamp(2.4rem,8.3cqw,3.6rem)}
  .menu-grid{grid-template-columns:1fr 1fr;gap:26px 20px}
  .story-layout,.visit-layout{grid-template-columns:1fr}
  .shop-figure,.visit-photo{max-width:460px}
}
@media(max-width:760px){
  :root{--sidebar-width:0px;--rail-width:0px}
  html{scroll-padding-top:22px}
  .sidebar{position:relative;width:100%;min-height:140px;overflow:visible}
  .brand-row{min-height:140px;padding:15px 24px 12px;display:flex;align-items:center;justify-content:space-between;gap:25px}
  .brand{width:190px;height:auto;flex:0 0 auto}
  .brand img{position:static}
  .menu-toggle{width:46px;height:46px;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:6px;background:transparent;padding:8px;border:0}
  .menu-toggle span{display:block;width:28px;height:2px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .site-navigation{margin:0;padding:5px 20px 20px;gap:3px}
  body.is-enhanced .site-navigation{display:none}
  body.is-enhanced .site-navigation.is-open{display:flex;position:absolute;top:100%;width:100%;background:#ffea60;border-bottom:1px solid #dec643;box-shadow:0 16px 20px #24200814}
  .site-navigation a{min-height:53px;font-size:1.0625rem;gap:21px}
  .site-navigation .icon{width:26px;height:26px}
  .site-navigation .mobile-instagram{display:flex}
  .sidebar-bottom{display:none}
  main{margin:0;padding:26px 24px 0;border-right:0}
  .blog-intro{padding:4px 0 21px}
  .intro-heading{padding-left:0}
  .bee-flight{width:85px;top:-15px;left:-10px}
  .intro-heading .eyebrow{padding-top:3px;margin:0 0 0 76px}
  .blog-intro h1{font-size:clamp(2.1rem,9.8vw,2.9rem);line-height:1.12;margin-top:2px;letter-spacing:-.02em;text-align:center}
  .intro-description{max-width:none;font-size:1rem;line-height:1.4;margin:24px 5px 0}
  .post-meta{font-size:.8125rem;margin-bottom:5px}
  .scoop-photo{--crop-x:346;--crop-y:338;--crop-w:636;--crop-h:319}
  .paletas-photo{--crop-x:1135;--crop-y:763;--crop-w:333;--crop-h:136}
  .blog-post{padding-bottom:16px}
  .blog-post+.blog-post{padding-top:17px}
  .blog-post h2{font-size:1.7rem;margin-top:4px}
  .instagram-link{min-height:44px;gap:13px;font-size:.875rem}
  .instagram-link .icon{width:25px;height:25px}
  .site-footer{padding:20px 0;gap:0 14px;font-size:.75rem}
  .page-intro{margin:6px 0 27px}
  .page-intro h1{font-size:2.45rem}
  .page-intro>p:last-child{font-size:1rem}
  .menu-grid{grid-template-columns:1fr;gap:30px}
  .real-photo{aspect-ratio:240/255}
  .real-photo img{height:548.235294%;top:-323.921569%}
  .menu-item h2{margin-top:11px;font-size:2rem}
  .story-layout,.visit-layout{grid-template-columns:1fr;gap:26px}
  .shop-figure img,.visit-photo{max-height:450px;object-fit:cover;object-position:top}
  .shop-figure figcaption{font-size:1.3rem}
  .directions-link{width:100%;justify-content:space-between}
}
@media(max-width:360px){
  .brand-row{padding-inline:18px;min-height:126px}
  .sidebar{min-height:126px}
  .brand{width:165px;height:auto}
  main{padding-inline:19px}
  .intro-description{margin-inline:0}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important}
}
@media print{
  .sidebar,.skip-link{display:none}
  main{margin:0;padding:0}
  .page-view{max-width:100%}
  .blog-post,.menu-item,.story-layout,.visit-layout{break-inside:avoid}
}

/* Menu details and original shop menu. */
.menu-prices{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:34px;padding-top:25px;border-top:2px solid var(--yellow)}
.menu-prices h2{font-size:1.85rem}.menu-prices dl{margin:12px 0 0}.menu-prices dl>div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid var(--rule)}.menu-prices dd{margin:0;font-variant-numeric:tabular-nums}
.menu-board{margin-top:26px;border-block:1px solid var(--rule);padding:4px 0}.menu-board summary{cursor:pointer;padding:15px 0;font-weight:700;min-height:48px}.menu-board img{width:100%;height:auto;margin-top:10px}.menu-board p{font-size:.875rem;color:var(--muted);margin:12px 0 18px}
@media(max-width:360px){.menu-prices{gap:20px}}
