@font-face{font-family:Fredoka;src:url('assets/fonts/Fredoka-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Fredoka;src:url('assets/fonts/Fredoka-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/fonts/DMSans-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/fonts/DMSans-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/fonts/DMSans-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Caveat;src:url('assets/fonts/Caveat-700.woff2') format('woff2');font-weight:700;font-display:swap}

:root{--paper:#FFF7EA;--ink:#3B2A20;--dino:#2F7D4F;--blush:#F08CA0;--teal:#1F7A8C;--butter:#FFC94D;--line:#dcd4c3;--white:#fffefd;--shadow:0 8px 18px #3b2a2015,0 2px 4px #3b2a2010}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6;position:relative;overflow-x:clip}
/* SAMPLE LAYER — this rule is independent of the café design. */
body::before{content:'SAMPLE CONCEPT';position:fixed;left:50%;top:50%;z-index:90;transform:translate(-50%,-50%) rotate(-30deg);font-family:Fredoka,sans-serif;font-size:clamp(55px,9vw,145px);font-weight:600;white-space:nowrap;color:var(--ink);opacity:.045;pointer-events:none;user-select:none}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:3px solid var(--teal);outline-offset:6px}
img{display:block;max-width:100%;height:auto}
svg{display:block}
figure,p,h1,h2,h3,h4,blockquote{margin:0}
button{color:inherit}
::selection{background:var(--butter);color:var(--ink)}
.wrap{width:calc(100% - 128px);max-width:1264px;margin-inline:auto}
.section-pad{padding-block:82px}
.eyebrow{font-size:11px;letter-spacing:2.1px;font-weight:700;line-height:1.5;color:var(--dino);display:flex;align-items:center;gap:10px}
h1,h2,h3,h4,.wordmark{font-family:Fredoka,sans-serif;font-weight:600}
h2{font-size:clamp(40px,4.5vw,64px);letter-spacing:-1.8px;line-height:1.05;color:var(--dino)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px;position:relative}
.section-heading .eyebrow{margin-bottom:14px}
.section-heading>p{font-size:15px;line-height:1.7;padding-bottom:6px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:52px;padding:13px 25px;border:1.5px solid var(--dino);border-radius:999px;background:var(--dino);color:white;font-size:14px;font-weight:700;line-height:1.25;transition:transform .25s,box-shadow .25s,background .25s}
.button:hover{transform:translateY(-3px);box-shadow:0 5px 0 #20543520;background:#266b42}
.button span[aria-hidden]{font-size:21px;line-height:1}
.button-outline{background:transparent;color:var(--dino)}
.button-outline:hover{background:#e4ecdb}
.button-small{min-height:42px;padding:10px 19px;gap:9px;font-size:12px}
.button-small svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.skip-link{position:fixed;left:20px;top:-80px;padding:12px 20px;background:var(--dino);color:white;border-radius:8px;z-index:100;opacity:0;pointer-events:none}
.skip-link:focus{top:12px;opacity:1;pointer-events:auto}
.sample-bar{min-height:32px;background:#f4dfdd;display:flex;align-items:center;justify-content:space-between;padding:6px 32px;font-size:10px;letter-spacing:.2px;line-height:1.5}
.sample-bar strong{font-weight:500}
.sample-bar-note{font-size:8px;letter-spacing:1.4px}
.nav{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:32px}
.wordmark{color:var(--dino);display:inline-flex;flex-direction:column;line-height:1;white-space:nowrap}
.wordmark>span{font-size:35px;letter-spacing:-1.3px;font-weight:700}
.wordmark-dot{color:var(--blush)}
.wordmark small{font-family:'DM Sans',sans-serif;font-size:8px;font-weight:700;letter-spacing:2.6px;margin-top:7px;padding-left:3px}
.nav-links{display:flex;align-items:center;gap:34px;margin-left:auto;margin-right:25px}
.nav-links a{font-size:12px;font-weight:700;position:relative;padding-block:14px}
.nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:9px;height:2px;background:var(--blush);transform:scaleX(0);transition:transform .2s;transform-origin:left}
.nav-links a:hover::after{transform:scaleX(1)}

/* L-21: cream fridge door, a receipt, and four photograph magnets. */
.hero{display:grid;grid-template-columns:1fr 1.08fr;gap:24px;padding-top:53px;padding-bottom:50px;align-items:start;min-height:695px}
.hero-copy{position:relative;z-index:2;padding-top:8px}
.little-flower{font-size:24px;line-height:1;color:var(--blush)}
h1{font-size:clamp(65px,6.6vw,96px);line-height:.98;letter-spacing:-3.5px;color:var(--dino);margin-top:21px;margin-bottom:23px}
.hero-last-line{white-space:nowrap}
.hero-subtitle{font-size:17px;line-height:1.65;max-width:430px}
.rating{display:flex;align-items:center;gap:11px;font-size:11px;margin-top:17px}
.stars{display:inline-flex;gap:3px;color:#b1780b;flex-shrink:0;vertical-align:middle}
.stars svg{width:14px;height:14px;fill:var(--butter);stroke:currentColor;stroke-width:.7}
.rating strong{font-weight:700}
.hero-actions{display:flex;gap:12px;margin-top:25px;align-items:center}
.receipt{margin-top:31px;background:var(--white);width:407px;max-width:calc(100% - 38px);padding:16px 23px 17px;box-shadow:0 3px 12px #3b2a200b;transform:rotate(-1deg);position:relative;border-top:1px solid #e8e0d3}
.receipt::after{content:'';position:absolute;bottom:-9px;left:0;right:0;height:10px;background:linear-gradient(135deg,var(--white) 35%,transparent 35%) 0 0/15px 15px,linear-gradient(225deg,var(--white) 35%,transparent 35%) 0 0/15px 15px}
.receipt-heading{display:flex;align-items:center;justify-content:space-between;font-size:8px;font-weight:700;letter-spacing:1.5px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px dashed var(--line)}
.receipt-heading svg{width:16px;height:16px;fill:none;stroke:var(--ink);stroke-width:1.3}
.status-badge{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:.6px;line-height:1.5;color:var(--dino)}
.status-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:currentColor}
.status-badge[data-state="open"] .status-dot{animation:badge-breathe 2.6s ease-in-out infinite}
.status-badge[data-state="closed"]{color:#83614b}
.receipt-hours{font-size:10px;margin-top:3px}
.receipt-thursday{display:flex;align-items:flex-start;gap:8px;font-size:10px;line-height:1.5;margin-top:9px;padding-top:9px;border-top:1px dashed var(--line)}
.clock-icon{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.receipt-thursday .clock-icon{width:14px;height:14px;flex-basis:14px;stroke:var(--teal)}
.hero-dino-home{position:absolute;right:-65px;bottom:-4px;width:80px;min-height:80px;transform:rotate(5deg)}
.hero-collage{height:580px;position:relative;margin-top:-8px;min-width:0}
.photo-sticker{background:var(--white);padding:10px 10px 0;box-shadow:var(--shadow);transform:rotate(var(--rotation));position:relative;transition:transform .35s cubic-bezier(.2,.8,.3,1),box-shadow .35s;transform-origin:50% 35%;will-change:transform}
.photo-sticker figcaption{font-family:Fredoka,sans-serif;font-size:13px;font-weight:600;line-height:1.3;text-align:center;padding:9px 0 10px;color:#594136}
.photo-sticker:hover{transform:translateY(-7px) rotate(calc(var(--rotation) * .5));box-shadow:0 15px 24px #3b2a2023;z-index:10}
.photo-sticker.sticker-arrive{animation:sticker-stick .8s cubic-bezier(.2,.9,.25,1.15) both;animation-delay:var(--sticker-delay,0ms)}
.tape{position:absolute;top:-11px;left:34%;width:35%;height:25px;background:#f1cf9f80;transform:rotate(-6deg);backdrop-filter:blur(1px);clip-path:polygon(2% 0,100% 4%,97% 100%,0 93%);z-index:2}
.interior-sticker{position:absolute;top:5px;left:100px;width:335px;z-index:2}
.interior-sticker img{width:100%;aspect-ratio:317/301;object-fit:cover}
.rose-sticker{position:absolute;top:288px;left:0;width:239px;z-index:5}
.rose-sticker img{width:100%;aspect-ratio:433/316;object-fit:cover}
.doughnut-sticker{position:absolute;top:258px;right:0;width:190px;z-index:3}
.doughnut-sticker img{width:100%;aspect-ratio:1;object-fit:cover}
.table-sticker{position:absolute;top:405px;left:224px;width:260px;z-index:6}
.table-sticker img{width:100%;aspect-ratio:433/306;object-fit:cover}
.corner-stamp{position:absolute;z-index:4;top:16px;left:-22px;width:141px;height:141px;background:var(--teal);color:var(--paper);border-radius:50%;text-align:center;display:flex;flex-direction:column;justify-content:center;transform:rotate(-12deg);outline:1px dashed #fff7ea80;outline-offset:-7px}
.corner-stamp strong{font-family:Fredoka,sans-serif;font-weight:600;font-size:32px;line-height:.95;margin:7px 0}
.corner-stamp>span{font-size:6px;letter-spacing:1.4px;font-weight:700}
.collage-spark{position:absolute;right:21px;top:100px;width:43px;height:56px;fill:var(--butter);stroke:var(--ink);stroke-width:1.4;transform:rotate(14deg)}
.collage-loop{position:absolute;left:53px;bottom:14px;width:105px;fill:none;stroke:var(--blush);stroke-width:2.5;stroke-linecap:round}
.steam{position:absolute;left:56%;top:-71px;transform:translateX(-50%);width:80px;height:90px;pointer-events:none;z-index:8}
.steam svg{height:100%;width:100%;fill:none;stroke:#fffdf5;stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 1px 2px #3b2a2040)}
.steam path{animation:steam-rise 3.5s ease-in-out infinite;transform-origin:center;opacity:0}
.steam .steam-two{animation-delay:1.7s}

/* Three price-free menu stickers. */
.menu-section{padding-top:63px;background:#f3efdf;border-top:1px solid #e5dfcf;border-bottom:1px solid #e5dfcf}
.menu-heading{padding-right:104px}
.menu-dino{position:absolute;right:7px;bottom:-4px;transform:rotate(-6deg)}
.menu-board{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:23px;align-items:stretch;margin-top:42px}
.menu-card{background:var(--white);border-radius:21px;box-shadow:var(--shadow);overflow:hidden;position:relative;padding-bottom:19px;min-width:0}
.counter-card{transform:rotate(-1deg)}
.sips-card{transform:rotate(.8deg)}
.bake-card{transform:rotate(-.7deg)}
.menu-card-header{display:flex;align-items:center;gap:13px;padding:21px 21px;background:var(--dino);color:white;min-height:87px}
.sips-card .menu-card-header{background:var(--teal)}
.bake-card .menu-card-header{background:var(--blush);color:var(--ink)}
.menu-card-header h3{font-size:24px;line-height:1.1;letter-spacing:-.4px}
.menu-card-header svg{width:33px;height:33px;flex:0 0 33px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.menu-items{list-style:none;margin:0;padding:8px 25px 0}
.menu-items li{padding:13px 0 12px;border-bottom:1px dashed #e4ddcf}
.menu-items li:last-child{border-bottom:0}
.menu-items h4{font-size:19px;line-height:1.2;letter-spacing:-.1px}
.menu-items li>p:not(.hand-note){font-size:10px;line-height:1.6;margin-top:6px}
.menu-items .hand-note{font-family:Caveat,cursive;font-size:21px;font-weight:700;line-height:1;transform:rotate(-2deg);color:var(--teal);margin-top:8px;max-width:235px;position:relative;padding-left:11px}
.hand-note::before{content:'↳';position:absolute;left:-7px;top:-2px;color:var(--blush)}
.menu-sip-photo{width:130px;margin:17px 0 2px 38px;padding:10px}
.menu-sip-photo img{aspect-ratio:1.1;object-fit:cover;object-position:50% 60%}
.card-aside{position:absolute;right:22px;bottom:46px;transform:rotate(7deg);font-family:Fredoka,sans-serif;color:var(--teal);font-size:19px;line-height:1.1}
.bake-doodle{display:flex;align-items:center;gap:3px;margin:21px 16px 0;color:var(--dino);transform:rotate(-5deg)}
.bake-doodle svg{width:122px;fill:none;stroke:var(--blush);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.bake-doodle>span{font-family:Fredoka,sans-serif;font-size:22px;line-height:1.1}
.menu-bottom-note{display:flex;align-items:center;justify-content:center;gap:11px;margin-top:35px;font-size:12px}
.menu-bottom-note>span{color:var(--blush);font-size:24px}

/* Thursday's butter-yellow note. */
.thursday-section{background:var(--butter);position:relative;margin-top:9px;padding-top:72px;padding-bottom:70px}
.thursday-section::before,.thursday-section::after{content:'';position:absolute;left:0;right:0;height:12px;background:radial-gradient(circle at 12px 12px,var(--butter) 12px,transparent 12.7px) 0 0/24px 24px;top:-11px}
.thursday-section::after{top:auto;bottom:-11px;transform:rotate(180deg)}
.thursday-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:50px;align-items:center}
.thursday-copy .eyebrow{color:var(--ink);margin-bottom:17px}
.thursday-copy h2{color:var(--ink);font-size:60px}
.thursday-copy>p:not(.eyebrow){font-size:16px;max-width:350px;line-height:1.7;margin-top:22px}
.thursday-state{margin-top:27px;display:flex;align-items:center;gap:11px;background:#fff7eabb;border:1px solid #3b2a2026;border-radius:13px;padding:14px 17px;width:fit-content;max-width:100%;font-size:12px;font-weight:700;line-height:1.6}
.thursday-state .clock-icon{width:23px;height:23px;flex-basis:23px}
.thursday-state.is-thursday{background:var(--dino);color:white;border-color:var(--dino);animation:thursday-hello .8s ease both}
.thursday-photos{position:relative;height:380px}
.thursday-scones{position:absolute;left:5px;top:4px;width:215px;z-index:2}
.thursday-scones img{width:100%;aspect-ratio:246/332;object-fit:cover}
.thursday-doughnuts{position:absolute;right:9px;top:69px;width:246px;z-index:3}
.thursday-doughnuts img{width:100%;aspect-ratio:1.1;object-fit:cover}
.thursday-seal{display:flex;align-items:center;justify-content:center;flex-direction:column;position:absolute;right:6px;top:-14px;background:var(--blush);color:var(--ink);border-radius:50%;width:102px;height:102px;z-index:4;font-family:Fredoka,sans-serif;font-size:15px;line-height:1.05;transform:rotate(13deg);outline:1px dashed var(--ink);outline-offset:-6px;text-align:center}
.thursday-seal span{font-size:27px;line-height:1;margin-top:2px}
.thursday-dino{position:absolute;left:0;bottom:0;z-index:5;transform:rotate(7deg)}

/* A real neighbourhood corner, with small finds. */
.story-section{padding-top:106px}
.story-grid{display:grid;grid-template-columns:.95fr 1fr;gap:88px;align-items:center}
.story-photos{height:485px;position:relative}
.tote-sticker{position:absolute;width:244px;left:11px;top:3px;z-index:2}
.tote-sticker img{width:100%;aspect-ratio:222/296;object-fit:cover}
.mug-sticker{position:absolute;width:220px;right:-9px;top:180px;z-index:3}
.mug-sticker img{width:100%;aspect-ratio:249/281;object-fit:cover}
.story-flower{position:absolute;top:20px;right:30px;font-size:112px;line-height:1;color:var(--blush);transform:rotate(12deg)}
.story-dino{position:absolute;left:44px;bottom:7px;z-index:4;transform:rotate(-8deg)}
.story-copy .eyebrow{margin-bottom:14px}
.story-copy h2{font-size:56px;margin-bottom:24px}
.story-copy>p:not(.eyebrow){font-size:14px;line-height:1.85;margin-top:15px}
.dino-trail{margin-top:65px;padding:25px 30px;position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px;border-radius:20px;border:1px solid #d0d9c4;background:#e8ecdc;overflow:hidden}
.trail-path{position:absolute;inset:0;width:100%;height:100%;stroke:#9eb494;stroke-width:1.4;stroke-dasharray:5 7;fill:none;opacity:.55;pointer-events:none}
.trail-intro{position:relative;display:flex;align-items:center;gap:26px;max-width:760px}
.trail-mark{font-family:Fredoka,sans-serif;font-size:36px;color:var(--dino);transform:rotate(-9deg);background:#e8ecdc;line-height:1}
.trail-intro h3{font-size:24px;line-height:1.2;color:var(--dino);margin-bottom:7px}
.trail-intro p{font-size:12px;line-height:1.65;max-width:570px}
.dino-progress{position:relative;display:flex;flex-direction:column;align-items:center;flex-shrink:0;padding-inline:20px;background:#e8ecdc;color:var(--dino);line-height:1.3}
.dino-progress strong{font-family:Fredoka,sans-serif;font-size:37px;font-weight:600;letter-spacing:1px}
.dino-progress>span{font-size:10px;letter-spacing:.4px}
.dino-progress.count-pop{animation:count-pop .5s ease}
.house-note{margin-top:26px;display:flex;align-items:center;gap:23px;padding:24px 30px;border:1px dashed #cfc4b0;border-radius:20px}
.house-note-symbol{font-size:45px;color:var(--teal);line-height:1}
.house-note h3{font-size:22px;color:var(--teal);line-height:1.2;margin-bottom:5px}
.house-note p{font-size:12px}
.house-note-end{margin-left:auto;font-family:Fredoka,sans-serif;font-size:18px;line-height:1.1;color:var(--teal);transform:rotate(-4deg)}

/* A pinboard of the supplied, verbatim reviews. */
.reviews-section{background:#f2e8e1;padding-top:69px;padding-bottom:87px;border-top:1px solid #e9dfd4;border-bottom:1px solid #e9dfd4}
.reviews-side-note{font-family:Fredoka,sans-serif;font-size:22px;line-height:1.15;transform:rotate(3deg);color:#8b4f60;padding-right:18px;padding-bottom:5px}
.reviews-board{display:grid;grid-template-columns:repeat(6,1fr);gap:30px 24px;position:relative;padding-top:14px}
.review-note{position:relative;grid-column:span 2;padding:28px 29px 23px;border-radius:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:start;background:var(--white);transform:rotate(-1.5deg)}
.review-note .tape{width:32%;left:34%;background:#cfbb9390;height:24px}
.review-note blockquote{font-family:Fredoka,sans-serif;font-weight:600;font-size:23px;line-height:1.32;letter-spacing:-.1px;margin-top:17px;margin-bottom:20px}
.review-note blockquote::before{content:'“'}
.review-note blockquote::after{content:'”'}
.review-note figcaption{margin-top:auto;font-size:10px}
.review-note .stars svg{width:12px;height:12px;fill:var(--dino);stroke:var(--dino)}
.review-two{transform:rotate(1.5deg);background:#f8d9df}
.review-three{transform:rotate(-.5deg);background:#fff1bd}
.review-four{grid-column:span 3;transform:rotate(.8deg);background:#e4ece4;padding-right:100px}
.review-five{grid-column:span 3;transform:rotate(-.7deg)}
.review-four blockquote{max-width:370px;font-size:27px}
.review-five blockquote{font-size:21px}
.reviews-dino{position:absolute;bottom:-25px;left:41%;z-index:5;transform:rotate(-7deg)}

/* Visit details stay useful before the map finishes loading. */
.visit-section{padding-top:80px;padding-bottom:77px}
.visit-section>.wrap>.eyebrow{margin-bottom:14px}
.visit-section h2{margin-bottom:34px}
.visit-grid{display:grid;grid-template-columns:.96fr 1fr 1.1fr;gap:24px;align-items:stretch}
.visit-intro{font-size:14px;line-height:1.7;margin-bottom:20px}
address{font-style:normal}
.contact-line{display:flex;flex-direction:column;padding:10px 0;line-height:1.55;width:fit-content}
.contact-line:hover{color:var(--teal)}
.contact-line .contact-label{font-size:8px;font-weight:700;letter-spacing:1.4px;color:var(--teal);margin-bottom:4px}
.contact-line>span:last-child{font-size:13px}
.directions-button{margin-top:18px;font-size:12px;min-height:46px;padding-inline:21px;gap:35px}
.hours-card{background:#fffdf7;border:1px solid #e1d8c8;border-radius:20px;padding:25px 22px 20px;box-shadow:0 3px 10px #3b2a2005;align-self:start;transform:rotate(-.7deg)}
.hours-heading{display:flex;gap:9px;justify-content:space-between;align-items:center;border-bottom:1px dashed #d8cebd;padding-bottom:20px;margin-bottom:8px}
.hours-heading h3{font-size:23px;line-height:1.15;color:var(--dino)}
.hours-heading svg{width:39px;flex:0 0 39px;fill:none;stroke:var(--teal);stroke-width:1.5;stroke-linecap:round;transform:rotate(8deg)}
.hours-table{width:100%;border-collapse:separate;border-spacing:0 2px;font-size:10px;white-space:nowrap}
.hours-table caption{caption-side:bottom;text-align:left;margin-top:12px;color:#756452;font-size:8px;letter-spacing:.3px}
.hours-table th{font-weight:500;text-align:left;padding:9px 8px}
.hours-table td{padding:9px 7px;text-align:right}
.hours-table tr.is-today{background:var(--dino);color:white}
.hours-table tr.is-today th{border-radius:5px 0 0 5px;font-weight:700}
.hours-table tr.is-today td{border-radius:0 5px 5px 0;font-weight:700}
.map-card{border:10px solid var(--white);box-shadow:var(--shadow);align-self:stretch;position:relative;transform:rotate(1deg);min-height:440px;background:#e2e7da;display:flex;flex-direction:column}
.map-card iframe{display:block;width:100%;height:100%;min-height:356px;flex:1;border:0;filter:saturate(.7)}
.map-caption{padding:15px 9px 6px;background:var(--white);display:flex;align-items:center;justify-content:space-between;gap:10px;line-height:1.3}
.map-caption strong{font-family:Fredoka,sans-serif;font-size:16px;display:block;font-weight:600}
.map-caption small{font-size:7px;letter-spacing:1px;display:block;margin-top:5px}
.map-caption>span:last-child{font-size:23px;color:var(--teal)}
.map-dino{position:absolute;right:-23px;top:-43px;transform:rotate(9deg)}

/* Six SVG residents. Their count is intentionally kept only for this visit. */
.dino-button{--dino-colour:var(--dino);appearance:none;position:relative;display:block;border:0;background:transparent;padding:0;width:76px;height:77px;cursor:pointer;transform-origin:50% 90%;touch-action:manipulation}
.pink-dino{--dino-colour:#ae4c68}
.dino-svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 3px 0 #3b2a2010);transition:transform .2s}
.dino-body{fill:var(--paper);stroke:var(--dino-colour);stroke-width:2.6;stroke-linejoin:round;transition:fill .25s}
.dino-smile,.dino-cheek,.dino-toes{fill:none;stroke:var(--dino-colour);stroke-width:1.7;stroke-linecap:round}
.dino-eye{fill:var(--dino-colour)}
.dino-cheek{stroke:var(--blush);stroke-width:4}
.dino-check{position:absolute;right:-1px;top:0;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:var(--butter);color:var(--ink);font-size:13px;font-weight:700;opacity:0;transform:scale(.3);transition:opacity .25s,transform .25s;border:2px solid var(--paper)}
.dino-button:hover .dino-svg{transform:rotate(-7deg) translateY(-2px)}
.dino-button.dino-peek{animation:dino-peek 1s ease-in-out}
.dino-button.dino-jump{animation:dino-jump .6s cubic-bezier(.3,.7,.3,1)}
.dino-button[aria-pressed="true"] .dino-body{fill:var(--dino-colour)}
.dino-button[aria-pressed="true"] .dino-eye{fill:var(--paper)}
.dino-button[aria-pressed="true"] .dino-smile,.dino-button[aria-pressed="true"] .dino-toes{stroke:var(--paper)}
.dino-button[aria-pressed="true"] .dino-check{opacity:1;transform:scale(1)}
.site-footer{background:var(--teal);color:var(--paper);padding:46px 0 21px;position:relative}
.footer-top{display:flex;align-items:start;gap:40px;position:relative;padding-bottom:33px}
.footer-wordmark{color:var(--paper)}
.footer-wordmark>span{font-size:49px}
.footer-wordmark small{font-size:8px;letter-spacing:3.8px}
.footer-top>div:first-child>p{font-size:11px;margin-top:20px;color:#fff7ead9}
.footer-welcome{margin-left:auto;margin-right:110px;display:flex;gap:55px;align-items:center;padding-top:3px}
.footer-welcome>span{font-family:Fredoka,sans-serif;font-size:23px;line-height:1.12;color:var(--paper)}
.site-footer .status-badge{color:var(--paper);font-size:9px;max-width:190px}
.footer-dino-home{position:absolute;right:0;bottom:25px;min-width:80px;min-height:80px;transform:rotate(7deg)}
.footer-dino-home .dino-button{--dino-colour:#fff7ea}
.footer-dino-home .dino-body{fill:var(--teal)}
.footer-dino-home .dino-button[aria-pressed="true"] .dino-body{fill:var(--paper)}
.footer-dino-home .dino-button[aria-pressed="true"] .dino-eye{fill:var(--teal)}
.footer-dino-home .dino-button[aria-pressed="true"] .dino-smile,.footer-dino-home .dino-button[aria-pressed="true"] .dino-toes{stroke:var(--teal)}
.footer-bottom{border-top:1px solid #fff7ea3b;display:flex;align-items:center;gap:18px;padding-top:19px;font-size:8px;color:#fff7eadc}
.sample-badge{padding:4px 10px;border:1px solid #fff7ea80;border-radius:99px;font-size:8px;white-space:nowrap}
.footer-bottom>p:nth-child(2){max-width:650px}
.footer-progress{margin-left:auto;flex-shrink:0}
.footer-progress strong{font-weight:700;color:var(--paper)}

@keyframes sticker-stick{0%{transform:translateY(24px) rotate(calc(var(--rotation) + 4deg)) scale(1.06);opacity:0}65%{transform:translateY(-2px) rotate(calc(var(--rotation) - 1deg)) scale(.99);opacity:1}100%{transform:translateY(0) rotate(var(--rotation)) scale(1);opacity:1}}
@keyframes steam-rise{0%{opacity:0;transform:translateY(15px) scaleX(.85)}25%{opacity:.8}75%{opacity:.4}100%{opacity:0;transform:translateY(-20px) scaleX(1.1)}}
@keyframes badge-breathe{0%,100%{box-shadow:0 0 0 0 #2f7d4f30}50%{box-shadow:0 0 0 4px #2f7d4f00}}
@keyframes dino-peek{0%{transform:translateY(8px) rotate(9deg)}30%{transform:translateY(-5px) rotate(-8deg)}60%{transform:translateY(0) rotate(5deg)}100%{transform:translateY(0) rotate(0)}}
@keyframes dino-jump{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-27px) rotate(-12deg)}65%{transform:translateY(-5px) rotate(8deg)}85%{transform:translateY(0) scale(1.08,.93)}}
@keyframes count-pop{50%{transform:scale(1.12) rotate(-3deg)}}
@keyframes thursday-hello{0%{transform:rotate(-2deg) scale(.97)}60%{transform:rotate(1deg) scale(1.02)}100%{transform:none}}

@media(min-width:1500px){.hero{grid-template-columns:1fr 1fr;gap:45px}}
@media(max-width:1199px){
  .wrap{width:calc(100% - 80px)}
  .nav-links{gap:25px;margin-right:10px}
  .hero{grid-template-columns:1fr 1fr;gap:16px;padding-top:46px;min-height:650px}
  h1{font-size:7vw;letter-spacing:-2.8px}
  .hero-subtitle{max-width:355px;font-size:16px}
  .hero .eyebrow{font-size:9px;letter-spacing:1.4px}
  .hero-collage{height:540px}
  .interior-sticker{left:57px;width:285px}
  .corner-stamp{left:-8px;top:13px;width:116px;height:116px}
  .corner-stamp strong{font-size:29px}
  .corner-stamp>span{font-size:5px}
  .rose-sticker{top:265px;width:202px}
  .doughnut-sticker{top:245px;width:157px;right:-3px}
  .table-sticker{top:368px;left:166px;width:227px}
  .collage-spark{right:0;top:126px;width:30px}
  .receipt{width:350px;padding-inline:18px;max-width:calc(100% - 44px)}
  .hero-dino-home{right:-57px;width:65px}
  .hero-dino-home .dino-button{width:65px;height:68px}
  .menu-card-header{padding-inline:18px;gap:10px}
  .menu-card-header h3{font-size:21px}
  .menu-items{padding-inline:20px}
  .menu-items h4{font-size:17px}
  .menu-items .hand-note{font-size:20px}
  .menu-sip-photo{width:112px;margin-left:22px}
  .card-aside{font-size:16px;right:15px;bottom:51px}
  .bake-doodle svg{width:100px}
  .bake-doodle>span{font-size:19px}
  .thursday-grid{gap:35px}
  .thursday-copy h2{font-size:52px}
  .thursday-scones{width:183px;top:20px;left:0}
  .thursday-doughnuts{width:205px;right:0;top:111px}
  .thursday-seal{top:22px;width:91px;height:91px}
  .story-grid{gap:52px;grid-template-columns:.95fr 1fr}
  .story-copy h2{font-size:47px}
  .tote-sticker{width:213px;left:4px;top:18px}
  .mug-sticker{width:181px;right:0;top:222px}
  .story-flower{font-size:85px;right:17px;top:58px}
  .story-dino{left:16px;bottom:16px}
  .trail-intro{gap:20px}
  .trail-mark{font-size:30px}
  .trail-intro p{max-width:550px}
  .review-note{padding-inline:22px}
  .review-note blockquote{font-size:21px}
  .review-five blockquote{font-size:19px}
  .visit-grid{gap:17px;grid-template-columns:.95fr 1.05fr 1.05fr}
  .hours-card{padding-inline:14px}
  .hours-heading h3{font-size:20px}
  .hours-table{font-size:9px}
  .hours-table th{padding-inline:6px}
  .hours-table td{padding-inline:5px}
  .footer-welcome{gap:30px;margin-right:95px}
}
@media(max-width:959px) and (min-width:701px){
  .wrap{width:calc(100% - 56px)}
  .nav-links{gap:16px;margin-right:0}
  .nav{gap:20px}
  .wordmark>span{font-size:29px}
  .nav-call{padding-inline:13px}
  .nav-call .desktop-only{display:none}
  .hero{padding-top:40px;min-height:650px}
  .hero-collage{margin-top:30px}
  .hero-subtitle{font-size:15px}
  .hero-actions .button{padding-inline:18px;gap:13px;font-size:12px;min-height:47px}
  .hero .eyebrow{font-size:7px;letter-spacing:1px}
  .interior-sticker{left:47px;width:225px;top:8px}
  .corner-stamp{width:95px;height:95px;left:-5px;top:-9px}
  .corner-stamp strong{font-size:23px}
  .corner-stamp>span{font-size:4px}
  .rose-sticker{top:230px;left:-8px;width:172px}
  .doughnut-sticker{top:211px;right:-1px;width:137px}
  .table-sticker{top:359px;left:112px;width:190px}
  .photo-sticker figcaption{font-size:10px}
  .collage-spark{top:125px;right:-7px;width:23px}
  .collage-loop{left:17px;bottom:31px;width:75px}
  .receipt{max-width:calc(100% - 34px);padding-inline:15px}
  .receipt-heading{font-size:6px;letter-spacing:1px}
  .status-badge{font-size:8px}
  .receipt-thursday{font-size:9px}
  .hero-dino-home{right:-49px}
  .hero-dino-home .dino-button{width:59px;height:64px}
  .section-heading>p{font-size:12px}
  .menu-board{gap:16px}
  .menu-card-header{padding:20px 13px;gap:7px}
  .menu-card-header svg{width:25px;height:25px;flex-basis:25px}
  .menu-card-header h3{font-size:18px}
  .menu-items{padding-inline:16px}
  .menu-items h4{font-size:16px}
  .menu-items .hand-note{font-size:19px}
  .menu-sip-photo{margin:20px auto;width:125px}
  .card-aside{position:static;display:block;text-align:center;transform:rotate(-4deg);margin:7px 15px 0}
  .card-aside br{display:none}
  .bake-doodle{flex-direction:column;margin-top:15px}
  .bake-doodle>span{text-align:center}
  .thursday-grid{gap:20px;grid-template-columns:1fr 1fr}
  .thursday-copy h2{font-size:45px}
  .thursday-copy>p:not(.eyebrow){font-size:14px}
  .thursday-scones{width:153px;top:30px}
  .thursday-doughnuts{width:166px;top:155px}
  .thursday-seal{top:35px;width:80px;height:80px;font-size:12px}
  .story-grid{gap:30px;grid-template-columns:.85fr 1fr}
  .story-copy h2{font-size:39px}
  .story-copy>p:not(.eyebrow){font-size:12px}
  .tote-sticker{width:183px;left:0}
  .mug-sticker{width:160px;right:-2px;top:228px}
  .story-flower{right:0;font-size:65px;top:95px}
  .story-dino{left:0;bottom:29px}
  .trail-mark{display:none}
  .house-note-end{font-size:15px;flex-shrink:0}
  .house-note p{font-size:11px}
  .review-note{padding:25px 18px 20px}
  .review-note blockquote{font-size:18px}
  .review-four blockquote{font-size:22px}
  .review-five blockquote{font-size:18px}
  .review-four{padding-right:65px}
  .visit-grid{grid-template-columns:1fr 1fr;gap:28px}
  .hours-card{padding-inline:23px}
  .hours-table{font-size:11px}
  .map-card{grid-column:1/-1;min-height:330px}
  .map-card iframe{min-height:280px}
  .footer-welcome{margin-right:70px;gap:30px}
  .footer-welcome>span{font-size:20px}
  .site-footer .status-badge{font-size:7px;max-width:150px}
  .footer-wordmark>span{font-size:38px}
  .footer-top>div:first-child>p{font-size:9px}
  .footer-bottom{gap:12px}
  .footer-bottom>p:nth-child(2){max-width:420px}
}
@media(max-width:700px){
  html{scroll-padding-top:18px}
  .wrap{width:calc(100% - 44px)}
  .section-pad{padding-block:54px}
  .sample-bar{min-height:29px;justify-content:center;padding:7px 12px;font-size:8px;text-align:center}
  .sample-bar-note{display:none}
  .nav{height:116px;display:grid;grid-template-columns:1fr auto;grid-template-rows:66px 49px;gap:0}
  .wordmark>span{font-size:31px}
  .wordmark small{font-size:6px;letter-spacing:2.5px;margin-top:6px}
  .nav-call{grid-column:2;grid-row:1;min-height:35px;font-size:11px;padding:9px 15px;gap:7px}
  .nav-call .desktop-only{display:none}
  .nav-call svg{width:13px;height:13px}
  .nav-links{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:15px;margin:0;align-self:stretch;border-top:1px solid #e6ddcf}
  .nav-links a{font-size:11px;display:flex;align-items:center;padding-block:11px}
  .hero{display:flex;flex-direction:column;gap:0;padding-top:30px;padding-bottom:43px;min-height:0}
  .hero-copy{display:contents}
  .hero-intro{order:1;width:100%}
  .hero .eyebrow{font-size:8px;letter-spacing:1.4px;gap:7px}
  .little-flower{font-size:21px}
  h1{font-size:60px;line-height:.98;letter-spacing:-2.2px;margin-top:17px;margin-bottom:17px}
  .hero-last-line{white-space:nowrap}
  .hero-subtitle{font-size:14px;line-height:1.75;max-width:332px}
  .rating{font-size:9px;gap:8px;margin-top:14px}
  .stars{gap:2px}
  .rating .stars svg{width:12px;height:12px}
  .hero-actions{gap:10px;margin-top:21px}
  .hero-actions .button{min-height:46px;padding-inline:21px;font-size:11px;gap:22px}
  .hero-actions .button-outline{padding-inline:22px}
  .hero-collage{order:2;width:100%;height:383px;margin-top:36px}
  .photo-sticker{padding:10px 10px 0}
  .photo-sticker figcaption{font-size:10px;padding:7px 0 8px}
  .interior-sticker{left:0;top:8px;width:55%;z-index:2}
  .interior-sticker img{aspect-ratio:1.05}
  .rose-sticker{left:auto;right:0;top:53px;width:45%;z-index:4}
  .rose-sticker img{aspect-ratio:1.05;object-fit:cover}
  .doughnut-sticker{right:auto;left:7px;top:213px;width:43%;z-index:3}
  .doughnut-sticker img{aspect-ratio:1.3}
  .table-sticker{left:auto;right:0;top:235px;width:52%;z-index:5}
  .table-sticker img{aspect-ratio:1.4}
  .corner-stamp{width:78px;height:78px;left:auto;right:6px;top:-10px;z-index:5;outline-offset:-5px}
  .corner-stamp strong{font-size:22px;margin:3px 0;line-height:.9}
  .corner-stamp>span{font-size:3.5px;letter-spacing:.9px}
  .collage-spark{width:25px;height:32px;right:auto;left:47%;top:190px}
  .collage-loop{display:none}
  .steam{width:50px;height:63px;top:-48px;left:50%}
  .steam svg{stroke-width:3.4}
  .receipt{order:3;max-width:calc(100% - 44px);width:100%;padding:14px 18px;margin-top:4px}
  .receipt-heading{font-size:7px;letter-spacing:1px;margin-bottom:9px;padding-bottom:8px}
  .status-badge{font-size:9px;letter-spacing:.3px}
  .receipt-hours{font-size:9px}
  .receipt-thursday{font-size:9px;gap:6px}
  .hero-dino-home{right:-55px;bottom:9px;width:61px;min-height:69px}
  .hero-dino-home .dino-button{width:64px;height:69px}
  .section-heading{margin-bottom:27px;align-items:start;gap:16px}
  h2{font-size:42px;line-height:1.06;letter-spacing:-1.3px}
  .eyebrow{font-size:9px;letter-spacing:1.6px}
  .section-heading .eyebrow{margin-bottom:13px}
  .section-heading>p{font-size:11px;line-height:1.7}
  .menu-section{padding-top:47px;padding-bottom:36px}
  .menu-heading{display:block;padding-right:0}
  .menu-heading>p{margin-top:17px}
  .menu-dino{bottom:2px;right:7px;transform:rotate(5deg)}
  .menu-board{grid-template-columns:1fr;gap:28px;margin-top:33px;padding-inline:3px}
  .menu-card{border-radius:20px;padding-bottom:19px}
  .menu-card-header{padding:19px 22px;min-height:78px;gap:16px}
  .menu-card-header h3{font-size:26px}
  .menu-card-header svg{width:32px;height:32px;flex-basis:32px}
  .menu-items{padding:6px 24px 0}
  .menu-items li{padding-block:13px}
  .menu-items h4{font-size:20px;line-height:1.2}
  .menu-items li>p:not(.hand-note){font-size:11px}
  .menu-items .hand-note{font-size:24px;max-width:250px;margin-top:7px}
  .menu-sip-photo{width:135px;margin:16px 0 4px 31px}
  .card-aside{font-size:22px;right:28px;bottom:56px}
  .bake-doodle{justify-content:center;margin-top:19px;gap:12px}
  .bake-doodle svg{width:132px}
  .bake-doodle>span{font-size:25px}
  .menu-bottom-note{font-size:10px;margin-top:28px;gap:8px}
  .menu-bottom-note>span{font-size:21px}
  .thursday-section{padding-top:43px;padding-bottom:35px}
  .thursday-grid{grid-template-columns:1fr;gap:23px}
  .thursday-copy .eyebrow{margin-bottom:13px}
  .thursday-copy h2{font-size:44px}
  .thursday-copy>p:not(.eyebrow){font-size:13px;max-width:300px;margin-top:18px}
  .thursday-state{margin-top:20px;font-size:10px;padding:12px 13px;border-radius:11px;gap:9px}
  .thursday-state .clock-icon{width:21px;height:21px;flex-basis:21px}
  .thursday-photos{height:305px;margin-top:10px}
  .thursday-scones{width:51%;left:2px;top:0}
  .thursday-scones img{aspect-ratio:246/310}
  .thursday-doughnuts{width:54%;right:0;top:91px}
  .thursday-doughnuts img{aspect-ratio:1.15}
  .thursday-seal{width:78px;height:78px;right:9px;top:0;font-size:12px;outline-offset:-5px}
  .thursday-seal span{font-size:24px}
  .thursday-dino{left:10px;bottom:0}
  .story-section{padding-top:58px;padding-bottom:44px}
  .story-grid{display:flex;flex-direction:column;gap:25px;align-items:stretch}
  .story-copy{order:1}
  .story-copy h2{font-size:41px;margin-bottom:20px}
  .story-copy>p:not(.eyebrow){font-size:13px;line-height:1.85;margin-top:15px}
  .story-photos{order:2;height:354px;margin-top:8px}
  .tote-sticker{width:53%;left:1px;top:5px}
  .tote-sticker img{aspect-ratio:222/283}
  .mug-sticker{width:49%;right:0;top:117px}
  .mug-sticker img{aspect-ratio:1}
  .story-flower{top:13px;right:29px;font-size:87px}
  .story-dino{left:35px;bottom:4px}
  .dino-trail{margin-top:25px;padding:22px 20px;flex-direction:column;gap:19px}
  .trail-intro{gap:0}
  .trail-mark{display:none}
  .trail-intro h3{font-size:24px;max-width:250px;margin-bottom:9px}
  .trail-intro p{font-size:12px;line-height:1.8}
  .dino-progress{align-self:flex-end;align-items:end;padding:0 3px 0 18px}
  .dino-progress strong{font-size:38px}
  .dino-progress>span{font-size:10px}
  .house-note{margin-top:21px;padding:19px 16px;gap:13px;align-items:start;border-radius:18px}
  .house-note-symbol{font-size:31px;line-height:1.15}
  .house-note h3{font-size:21px;line-height:1.15;margin-bottom:8px}
  .house-note p{font-size:11px;line-height:1.8}
  .house-note-end{display:none}
  .reviews-section{padding-top:45px;padding-bottom:54px}
  .reviews-section h2{font-size:41px}
  .reviews-side-note{display:none}
  .reviews-board{grid-template-columns:1fr;gap:28px;padding-inline:5px}
  .review-note{grid-column:auto;padding:26px 25px 24px}
  .review-note blockquote{font-size:23px;line-height:1.35;margin-top:15px;margin-bottom:20px}
  .review-note .stars svg{width:12px;height:12px}
  .review-note figcaption{font-size:10px}
  .review-four{padding-right:45px}
  .review-four blockquote{font-size:26px}
  .review-five blockquote{font-size:22px}
  .reviews-dino{bottom:-23px;left:auto;right:9px}
  .visit-section{padding-top:46px;padding-bottom:47px}
  .visit-section h2{font-size:41px;margin-bottom:25px;max-width:300px}
  .visit-grid{grid-template-columns:1fr;gap:30px}
  .visit-intro{font-size:13px;margin-bottom:15px}
  .contact-line{padding-block:10px}
  .contact-line .contact-label{font-size:8px;letter-spacing:1.2px}
  .contact-line>span:last-child{font-size:14px}
  .directions-button{font-size:12px;margin-top:17px}
  .hours-card{padding:23px 23px 18px;margin-inline:3px}
  .hours-heading h3{font-size:26px}
  .hours-heading svg{width:42px;flex-basis:42px}
  .hours-table{font-size:11px}
  .hours-table th{padding:10px 9px}
  .hours-table td{padding:10px 9px}
  .hours-table caption{font-size:8px;margin-top:14px}
  .map-card{min-height:359px;margin-top:15px;margin-inline:3px}
  .map-card iframe{min-height:300px}
  .map-dino{right:-15px;top:-45px}
  .map-caption{padding-block:13px 5px}
  .map-caption strong{font-size:16px}
  .map-caption small{font-size:7px}
  .site-footer{padding-top:34px;padding-bottom:24px}
  .footer-top{display:block;padding-bottom:28px}
  .footer-wordmark>span{font-size:44px}
  .footer-wordmark small{font-size:7px;letter-spacing:3.5px}
  .footer-top>div:first-child>p{font-size:10px;margin-top:16px;max-width:275px}
  .footer-welcome{margin:26px 0 0;padding:0;display:block}
  .footer-welcome>span{display:block;font-size:24px;line-height:1.1}
  .site-footer .status-badge{font-size:8px;margin-top:24px;max-width:250px}
  .footer-dino-home{right:8px;bottom:48px}
  .footer-bottom{align-items:start;flex-wrap:wrap;gap:15px 18px;padding-top:22px}
  .sample-badge{font-size:8px}
  .footer-bottom>p:nth-child(2){font-size:9px;line-height:1.8;order:3;width:100%;max-width:300px}
  .footer-progress{font-size:9px;padding-top:5px}
  body::before{font-size:60px}
}
@media(max-width:365px){
  .wrap{width:calc(100% - 36px)}
  h1{font-size:54px}
  .hero .eyebrow{letter-spacing:1.1px;font-size:7px}
  .hero-actions .button{padding-inline:17px;font-size:10px;gap:15px}
  .hero-collage{height:355px}
  .rose-sticker{top:46px}
  .doughnut-sticker{top:193px}
  .table-sticker{top:213px}
  .receipt-heading{font-size:6px}
  .receipt-thursday{font-size:8px}
  .menu-card-header h3{font-size:24px}
  .menu-sip-photo{margin-left:22px;width:122px}
  .card-aside{right:23px;font-size:20px}
  .thursday-photos{height:280px}
  .story-photos{height:325px}
}
