PageSourceSearch

https://bluekoi.kitchen/contact/

html bluekoi.kitchen collected 2026-10-09 22:13:45 UTC 33,862 bytes, 80 lines download raw bytes

1<!DOCTYPE html><html lang="en" class="scroll-smooth"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="Astro v5.18.1"><!-- Primary Meta Tags --><title>Contact | Blue Koi Noodles &amp; Dumplings</title><meta name="description" content="Contact Blue Koi Noodles &#38; Dumplings in Leawood, KS. Call 913-383-3330, send us a message, or visit us at 10581 Mission Rd."><meta name="keywords" content="Blue Koi, noodles and dumplings, pan-asian restaurant, Kansas City, Leawood, handmade noodles, handmade dumplings, Chinese food, bubble tea, takeout, delivery"><meta name="author" content="Blue Koi Noodles &#38; Dumplings"><meta name="robots" content="index, follow"><meta name="theme-color" content="#0C3D65"><!-- Canonical URL --><link rel="canonical" href="https://bluekoi.kitchen/contact/"><!-- Open Graph / Facebook --><meta property="og:type" content="website"><meta property="og:url" content="https://bluekoi.kitchen/contact/"><meta property="og:title" content="Contact | Blue Koi Noodles &#38; Dumplings"><meta property="og:description" content="Contact Blue Koi Noodles &#38; Dumplings in Leawood, KS. Call 913-383-3330, send us a message, or visit us at 10581 Mission Rd."><meta property="og:image" content="https://bluekoi.kitchen/brand/og-image.png"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="og:site_name" content="Blue Koi Noodles &#38; Dumplings"><meta property="og:locale" content="en_US"><!-- Twitter --><meta property="twitter:card" content="summary_large_image"><meta property="twitter:url" content="https://bluekoi.kitchen/contact/"><meta property="twitter:title" content="Contact | Blue Koi Noodles &#38; Dumplings"><meta property="twitter:description" content="Contact Blue Koi Noodles &#38; Dumplings in Leawood, KS. Call 913-383-3330, send us a message, or visit us at 10581 Mission Rd."><meta property="twitter:image" content="https://bluekoi.kitchen/brand/og-image.png"><!-- Favicons: gold koi on brand navy --><link rel="icon" href="/favicon.svg" type="image/svg+xml"><link rel="icon" href="/favicon-32.png" sizes="32x32" type="image/png"><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><!-- Font: Plus Jakarta Sans, the typeface named in the brand guidelines --><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap" rel="stylesheet"><!-- Preload the lockup used in the header on every page --><link rel="preload" href="/brand/logo-horizontal.svg" as="image" type="image/svg+xml"><!-- Structured Data - Restaurant -->
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"Restaurant","name":"Blue Koi Noodles & Dumplings","alternateName":["Blue Koi","Blue Koi Pan-Asian Kitchen","蓝锦鱼"],"image":"https://bluekoi.kitchen/brand/og-image.png","logo":"https://bluekoi.kitchen/icon-512.png","url":"https://bluekoi.kitchen","telephone":"+19133833330","email":"[email protected]","address":{"@type":"PostalAddress","streetAddress":"10581 Mission Rd","addressLocality":"Leawood","addressRegion":"KS","postalCode":"66206","addressCountry":"US"},"geo":{"@type":"GeoCoordinates","latitude":38.9345674,"longitude":-94.629679},"servesCuisine":["Pan-Asian","Chinese","Japanese","Thai","Vietnamese"],"priceRange":"$$","openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"opens":"11:00","closes":"21:00"}],"hasMenu":"https://bluekoi.kitchen/menu","hasMap":"https://maps.google.com/?cid=12598193137754845347","acceptsReservations":"No","foundingDate":"2002","description":"Blue Koi Noodles & Dumplings. A Kansas City staple since 2002, serving handmade noodles and dumplings and pan-Asian dishes in Leawood, KS.","areaServed":{"@type":"City","name":"Kansas City"}}</script>
1<link rel="stylesheet" href="/_astro/catering-preview.WIdewwBI.css">
2<style>.hero-wash[data-astro-cid-bbe6dxrz]{background:linear-gradient(to top,var(--color-navy-ink) 0%,color-mix(in srgb,var(--color-navy-ink) 82%,transparent) 26%,color-mix(in srgb,var(--color-navy) 55%,transparent) 62%,color-mix(in srgb,var(--color-navy-ink) 72%,transparent) 100%)}.hero-wash--compact[data-astro-cid-bbe6dxrz]{background:linear-gradient(to top,color-mix(in srgb,var(--color-navy-ink) 92%,transparent),color-mix(in srgb,var(--color-navy-ink) 62%,transparent) 30%,color-mix(in srgb,var(--color-navy) 34%,transparent) 70%,color-mix(in srgb,var(--color-navy-ink) 78%,transparent))}.hero-in[data-astro-cid-bbe6dxrz]{opacity:0;animation:heroIn 1.1s var(--ease-brand) forwards;animation-delay:var(--d, 0s)}@keyframes heroIn{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}.hero-cue[data-astro-cid-bbe6dxrz]{display:flex;flex-direction:column;align-items:center;gap:.75rem;opacity:0;animation:heroIn 1.1s var(--ease-brand) 1s forwards}.hero-cue-line[data-astro-cid-bbe6dxrz]{width:1px;height:3rem;background-image:linear-gradient(to bottom,color-mix(in srgb,var(--color-sand) 70%,transparent),transparent);animation:cueSlide 2.6s var(--ease-brand) infinite;transform-origin:top}@keyframes cueSlide{0%{transform:scaleY(0);opacity:0}35%{transform:scaleY(1);opacity:1}to{transform:scaleY(1) translateY(100%);opacity:0}}@media(prefers-reduced-motion:reduce){.hero-in[data-astro-cid-bbe6dxrz],.hero-cue[data-astro-cid-bbe6dxrz]{opacity:1;animation:none}.hero-cue-line[data-astro-cid-bbe6dxrz]{animation:none}}
3.faq[data-astro-cid-uw5kdbxl] summary[data-astro-cid-uw5kdbxl]::-webkit-details-marker{display:none}.faq-plus[data-astro-cid-uw5kdbxl]{position:relative;flex-shrink:0;width:.875rem;height:.875rem;transition:transform .4s var(--ease-brand)}.faq-plus[data-astro-cid-uw5kdbxl]:before,.faq-plus[data-astro-cid-uw5kdbxl]:after{content:"";position:absolute;inset:50% 0 auto;height:1px;background-color:var(--color-gold)}.faq-plus[data-astro-cid-uw5kdbxl]:after{transform:rotate(90deg);transition:opacity .4s var(--ease-brand)}.faq[data-astro-cid-uw5kdbxl][open] .faq-plus[data-astro-cid-uw5kdbxl]{transform:rotate(180deg)}.faq[data-astro-cid-uw5kdbxl][open] .faq-plus[data-astro-cid-uw5kdbxl]:after{opacity:0}
4</style>
4<script>!(function(w,p,f,c){if(!window.crossOriginIsolated && !navigator.serviceWorker) return;c=w[p]=Object.assign(w[p]||{},{"lib":"/~partytown/","debug":false});c[f]=(c[f]||[]).concat(["dataLayer.push"])})(window,'partytown','forward');/* Partytown 0.11.2 - MIT QwikDev */
5const t={preserveBehavior:!1},e=e=>{if("string"==typeof e)return[e,t];const[n,r=t]=e;return[n,{...t,...r}]},n=Object.freeze((t=>{const e=new Set;let n=[];do{Object.getOwnPropertyNames(n).forEach((t=>{"function"==typeof n[t]&&e.add(t)}))}while((n=Object.getPrototypeOf(n))!==Object.prototype);return Array.from(e)})());!function(t,r,o,i,a,s,c,l,d,p,u=t,f){function h(){f||(f=1,"/"==(c=(s.lib||"/~partytown/")+(s.debug?"debug/":""))[0]&&(d=r.querySelectorAll('script[type="text/partytown"]'),i!=t?i.dispatchEvent(new CustomEvent("pt1",{detail:t})):(l=setTimeout(v,(null==s?void 0:s.fallbackTimeout)||1e4),r.addEventListener("pt0",w),a?y(1):o.serviceWorker?o.serviceWorker.register(c+(s.swPath||"partytown-sw.js"),{scope:c}).then((function(t){t.active?y():t.installing&&t.installing.addEventListener("statechange",(function(t){"activated"==t.target.state&&y()}))}),console.error):v())))}function y(e){p=r.createElement(e?"script":"iframe"),t._pttab=Date.now(),e||(p.style.display="block",p.style.width="0",p.style.height="0",p.style.border="0",p.style.visibility="hidden",p.setAttribute("aria-hidden",!0)),p.src=c+"partytown-"+(e?"atomics.js?v=0.11.2":"sandbox-sw.html?"+t._pttab),r.querySelector(s.sandboxParent||"body").appendChild(p)}function v(n,o){for(w(),i==t&&(s.forward||[]).map((function(n){const[r]=e(n);delete t[r.split(".")[0]]})),n=0;n<d.length;n++)(o=r.createElement("script")).innerHTML=d[n].innerHTML,o.nonce=s.nonce,r.head.appendChild(o);p&&p.parentNode.removeChild(p)}function w(){clearTimeout(l)}s=t.partytown||{},i==t&&(s.forward||[]).map((function(r){const[o,{preserveBehavior:i}]=e(r);u=t,o.split(".").map((function(e,r,o){var a;u=u[o[r]]=r+1<o.length?u[o[r]]||(a=o[r+1],n.includes(a)?[]:{}):(()=>{let e=null;if(i){const{methodOrProperty:n,thisObject:r}=((t,e)=>{let n=t;for(let t=0;t<e.length-1;t+=1)n=n[e[t]];return{thisObject:n,methodOrProperty:e.length>0?n[e[e.length-1]]:void 0}})(t,o);"function"==typeof n&&(e=(...t)=>n.apply(r,...t))}return function(){let n;return e&&(n=e(arguments)),(t._ptf=t._ptf||[]).push(o,arguments),n}})()}))})),"complete"==r.readyState?h():(t.addEventListener("DOMContentLoaded",h),t.addEventListener("load",h))}(window,document,navigator,top,window.crossOriginIsolated);;(e=>{e.addEventListener("astro:before-swap",e=>{let r=document.body.querySelector("iframe[src*='/~partytown/']");if(r)e.newDocument.body.append(r)})})(document);</script>
5</head> <body class="bg-navy-ink text-ink antialiased"> <a href="#main-content" class="sr-only focus:not-sr-only focus:fixed focus:top-4 focus:left-4 focus:z-[100] focus:px-5 focus:py-3 focus:bg-gold focus:text-navy-ink focus:text-xs focus:font-semibold focus:uppercase focus:tracking-[0.2em]">
6Skip to main content
7</a> <header id="main-nav" data-dark-hero="true" data-home="false" data-state="top" class="fixed top-0 left-0 right-0 z-50" data-astro-cid-pux6a34n> <nav class="mx-auto max-w-7xl px-5 sm:px-8 lg:px-12" aria-label="Main navigation" data-astro-cid-pux6a34n> <div class="flex h-20 items-center justify-between lg:h-24" data-astro-cid-pux6a34n> <a href="/" class="nav-brand shrink-0 transition-opacity duration-300 hover:opacity-80" aria-label="Blue Koi home" data-astro-cid-pux6a34n> <span class="mark mark-horizontal" style="width:clamp(112px, 12.5vw, 156px)" role="img" aria-label="Blue Koi Noodles &#38; Dumplings, Kansas City"></span> </a> <div class="hidden items-center gap-9 lg:flex" data-astro-cid-pux6a34n> <a href="/" class="nav-link" data-astro-cid-pux6a34n> Home </a><a href="/menu" class="nav-link" data-astro-cid-pux6a34n> Menu </a><a href="/about" class="nav-link" data-astro-cid-pux6a34n> About </a><a href="/contact" class="nav-link is-active" data-astro-cid-pux6a34n> Contact </a> </div> <div class="hidden items-center gap-6 lg:flex" data-astro-cid-pux6a34n> <a href="tel:+19133833330" class="nav-phone" data-astro-cid-pux6a34n>913-383-3330</a> <a href="/order" class="btn btn-sm nav-cta" data-astro-cid-pux6a34n>
8Order Online
9</a> </div> <button type="button" id="mobile-menu-btn" class="nav-burger lg:hidden" aria-label="Open menu" aria-expanded="false" aria-controls="mobile-menu" data-astro-cid-pux6a34n> <svg class="h-6 w-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true" data-astro-cid-pux6a34n> <path stroke-linecap="round" stroke-width="1.25" d="M3 7h18M3 12h18M3 17h18" data-astro-cid-pux6a34n></path> </svg> </button> </div> </nav> <!-- Gold hairline, revealed once the header goes solid --> <div class="nav-rule" data-astro-cid-pux6a34n></div> </header> <!-- Mobile overlay --> <div id="mobile-menu" class="seigaiha fixed inset-0 z-[60] hidden flex-col overflow-y-auto bg-navy-ink" role="dialog" aria-modal="true" aria-label="Site menu" data-astro-cid-pux6a34n> <div class="relative flex h-20 items-center justify-between px-5 sm:px-8" data-astro-cid-pux6a34n> <span class="mark mark-horizontal text-porcelain" style="width:120px" role="img" aria-label="Blue Koi Noodles &#38; Dumplings, Kansas City"></span> <button type="button" id="mobile-close-btn" class="nav-burger" aria-label="Close menu" data-astro-cid-pux6a34n> <svg class="h-6 w-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true" data-astro-cid-pux6a34n>
9 <path stroke-linecap="round" stroke-width="1.25" d="M6 18 18 6M6 6l12 12" data-astro-cid-pux6a34n></path> </svg> </button> </div> <div class="relative flex flex-1 flex-col items-center justify-center gap-8 px-6 py-12" data-astro-cid-pux6a34n> <nav class="flex flex-col items-center gap-6" aria-label="Mobile navigation" data-astro-cid-pux6a34n> <a href="/" class="display-md transition-colors duration-300 text-porcelain/70 hover:text-porcelain" data-astro-cid-pux6a34n> Home </a><a href="/menu" class="display-md transition-colors duration-300 text-porcelain/70 hover:text-porcelain" data-astro-cid-pux6a34n> Menu </a><a href="/about" class="display-md transition-colors duration-300 text-porcelain/70 hover:text-porcelain" data-astro-cid-pux6a34n> About </a><a href="/contact" class="display-md transition-colors duration-300 text-gold" data-astro-cid-pux6a34n> Contact </a> </nav> <div class="rule-gold my-2" data-astro-cid-pux6a34n></div> <a href="/order" class="btn btn-gold" data-astro-cid-pux6a34n>
10Order Online
11</a> <a href="tel:+19133833330" class="label text-sand/60 transition-colors hover:text-sand" data-astro-cid-pux6a34n>913-383-3330</a> </div> </div>  
11<script type="module">const s=document.getElementById("main-nav"),c=s?.dataset.darkHero==="true";function d(){s&&(s.dataset.state=!c||window.scrollY>64?"solid":"top")}d();window.addEventListener("scroll",d,{passive:!0});const o=document.getElementById("mobile-menu-btn"),a=document.getElementById("mobile-close-btn"),t=document.getElementById("mobile-menu");function n(e){t?.classList.toggle("is-open",e),o?.setAttribute("aria-expanded",String(e)),document.body.style.overflow=e?"hidden":"",e?t?.querySelector("a")?.focus():o?.focus()}o?.addEventListener("click",()=>n(!0));a?.addEventListener("click",()=>n(!1));t?.querySelectorAll("a").forEach(e=>e.addEventListener("click",()=>n(!1)));document.addEventListener("keydown",e=>{e.key==="Escape"&&t?.classList.contains("is-open")&&n(!1)});</script>
11 <main id="main-content">  <section class="relative flex items-center justify-center overflow-hidden bg-navy-ink min-h-[62vh] pt-24" data-astro-cid-bbe6dxrz> <!-- Background: video › image › flat navy --> <div class="absolute inset-0" aria-hidden="true" data-astro-cid-bbe6dxrz> <span class="koi-watermark -right-10 -top-10 h-[150%] text-sand sm:right-[6%]" data-astro-cid-bbe6dxrz></span> <span class="koi-watermark -left-16 bottom-[-30%] h-[110%] scale-x-[-1] text-sand opacity-[0.035] sm:left-[4%]" data-astro-cid-bbe6dxrz></span> </div> <!-- Brand navy wash: tints the footage toward #0C3D65 and grounds the type --> <div class="hero-wash absolute inset-0 hero-wash--compact" aria-hidden="true" data-astro-cid-bbe6dxrz></div> <div class="seigaiha absolute inset-0 seigaiha-strong" aria-hidden="true" data-astro-cid-bbe6dxrz></div> <div class="relative z-10 mx-auto w-full max-w-5xl px-5 py-24 text-center sm:px-8" data-astro-cid-bbe6dxrz> <p class="hero-in label text-sand/70" style="--d:0.05s" data-astro-cid-bbe6dxrz>Leawood, Kansas</p><h1 class="display-lg hero-in mt-6 text-porcelain" style="--d:0.15s" data-astro-cid-bbe6dxrz> Contact </h1> <div class="hero-in mx-auto mt-8 rule-gold" style="--d:0.3s" data-astro-cid-bbe6dxrz></div> <p class="hero-in text-editorial mx-auto mt-8 max-w-xl text-porcelain/60" style="--d:0.4s" data-astro-cid-bbe6dxrz> We&#39;d love to hear from you. </p>  </div>  <!-- Gold hairline closing the hero, from the deck's palette rule --> <div class="absolute inset-x-0 bottom-0 h-px" style="background-image:var(--gradient-gold);opacity:.55" aria-hidden="true" data-astro-cid-bbe6dxrz></div> </section>   <section class="bg-porcelain py-24 lg:py-32" data-astro-cid-uw5kdbxl> <div class="mx-auto max-w-6xl px-5 sm:px-8 lg:px-12" data-astro-cid-uw5kdbxl> <div class="grid gap-14 lg:grid-cols-5 lg:gap-16" data-astro-cid-uw5kdbxl> <div class="reveal-left lg:col-span-3" data-astro-cid-uw5kdbxl> <div class="card-light p-8 lg:p-12" data-astro-cid-uw5kdbxl> <p class="label text-gold" data-astro-cid-uw5kdbxl>Send a Message</p> <h2 class="heading-md mt-5 text-navy" data-astro-cid-uw5kdbxl>How can we help?</h2> <div class="rule-gold mt-7" data-astro-cid-uw5kdbxl></div> <div class="mt-10" data-astro-cid-uw5kdbxl> <form id="contact-form" class="space-y-7" novalidate>  <div class="grid gap-6 sm:grid-cols-2" data-astro-cid-uw5kdbxl> <div data-astro-cid-uw5kdbxl> <label for="name" class="field-label" data-astro-cid-uw5kdbxl>Name <span class="text-error" data-astro-cid-uw5kdbxl>*</span></label> <input type="text" id="name" name="name" required autocomplete="name" class="field" data-astro-cid-uw5kdbxl> </div> <div data-astro-cid-uw5kdbxl> <label for="email" class="field-label" data-astro-cid-uw5kdbxl>Email <span class="text-error" data-astro-cid-uw5kdbxl>*</span></label> <input type="email" id="email" name="email" required autocomplete="email" class="field" data-astro-cid-uw5kdbxl> </div> </div> <div class="grid gap-6 sm:grid-cols-2" data-astro-cid-uw5kdbxl> <div data-astro-cid-uw5kdbxl> <label for="phone" class="field-label" data-astro-cid-uw5kdbxl>Phone</label> <input type="tel" id="phone" name="phone" autocomplete="tel" class="field" data-astro-cid-uw5kdbxl> </div> <div data-astro-cid-uw5kdbxl> <label for="subject" class="field-label" data-astro-cid-uw5kdbxl>Subject <span class="text-error" data-astro-cid-uw5kdbxl>*</span></label> <select id="subject" name="subject" required class="field" data-astro-cid-uw5kdbxl> <option value="" data-astro-cid-uw5kdbxl>Select…</option> <option value="general" data-astro-cid-uw5kdbxl>General Inquiry</option> <option value="feedback" data-astro-cid-uw5kdbxl>Feedback</option> <option value="press" data-astro-cid-uw5kdbxl>Press / Media</option> <option value="other" data-astro-cid-uw5kdbxl>Other</option> </select> </div> </div> <div data-astro-cid-uw5kdbxl> <label for="message" class="field-label" data-astro-cid-uw5kdbxl>Message <span class="text-error" data-astro-cid-uw5kdbxl>*</span></label> <textarea id="message" name="message" rows="5" required placeholder="How can we help?" class="field resize-none" data-astro-cid-uw5kdbxl></textarea> </div>  <!-- Spam trap. Hidden from people and screen readers; bots that fill
12       every field give themselves away. Validated server-side. --> <div aria-hidden="true" style="position:absolute;
12left:-9999px;top:auto;width:1px;height:1px;overflow:hidden"> <label for="contact-form-company-website">Company website</label> <input type="text" id="contact-form-company-website" name="company-website" tabindex="-1" autocomplete="off"> </div> <div class="flex flex-col gap-5 pt-2 sm:flex-row sm:items-center sm:justify-between"> <button type="submit" class="btn btn-navy w-full sm:w-auto"> <span class="btn-label">Send Message</span> <svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M17 8l4 4m0 0l-4 4m4-4H3"></path> </svg> </button> <p class="text-xs text-navy-mist"> <span class="text-error">*</span> Required fields
13</p> </div> <!-- Status messages, styled in the brand palette rather than stock alert colours --> <div id="contact-form-success" class="hidden border-l-2 border-gold bg-sand/25 px-6 py-5 text-sm text-navy" role="status" aria-live="polite">
14Thank you. Your message is on its way and we'll be in touch shortly.
15</div> <div id="contact-form-error" class="hidden border-l-2 border-error bg-error/8 px-6 py-5 text-sm text-navy" role="alert">
16Something went wrong. Please try again, or call us at
17<a href="tel:+19133833330" class="font-medium text-gold underline underline-offset-2">913-383-3330</a>.
18</div> </form> 
18<script>(function(){const formName = "contact-form";
19const FORM_ENDPOINT = "https://script.google.com/macros/s/AKfycbxEf227KxvgpOO0dG-2k_-uhC2IqsJCx40anKlH4C4iqX84_K9RM96ksWusZI5VOAdigw/exec";
20
21  // How long the form was on screen before submit. Real people take
22  // seconds; scripted submissions are near-instant or absent entirely.
23  const renderedAt = Date.now();
24
25  document.getElementById(formName)?.addEventListener('submit', async (e) => {
26    e.preventDefault();
27    const form = e.target;
28
29    if (!form.checkValidity()) {
30      form.reportValidity();
31      return;
32    }
33
34    const btn = form.querySelector('button[type="submit"]');
35    const label = btn.querySelector('.btn-label');
36    const successEl = document.getElementById(`${formName}-success`);
37    const errorEl = document.getElementById(`${formName}-error`);
38
39    successEl.classList.add('hidden');
40    errorEl.classList.add('hidden');
41    btn.disabled = true;
42    const originalText = label.textContent;
43    label.textContent = 'Sending…';
44
45    const data = Object.fromEntries(new FormData(form));
46    data.formName = formName;
47    data.elapsedMs = Date.now() - renderedAt;
48
49    try {
50      const res = await fetch(FORM_ENDPOINT, {
51        method: 'POST',
52        headers: { 'Content-Type': 'text/plain' },
53        body: JSON.stringify(data),
54      });
55
56      if (!res.ok) throw new Error('Request failed');
57      successEl.classList.remove('hidden');
58      form.reset();
59    } catch {
60      errorEl.classList.remove('hidden');
61    } finally {
62      btn.disabled = false;
63      label.textContent = originalText;
64    }
65  });
66})();</script>
66 </div> </div> </div> <!-- Details rail --> <aside class="reveal-right lg:col-span-2" data-astro-cid-uw5kdbxl> <dl class="space-y-9" data-astro-cid-uw5kdbxl> <div data-astro-cid-uw5kdbxl> <dt class="label text-gold" data-astro-cid-uw5kdbxl>Location</dt> <dd class="mt-3" data-astro-cid-uw5kdbxl> <a href="https://maps.google.com/?cid=12598193137754845347" target="_blank" rel="noopener noreferrer" class="text-lg text-navy transition-colors hover:text-gold" data-astro-cid-uw5kdbxl> 10581 Mission Rd<br data-astro-cid-uw5kdbxl>Leawood, KS 66206 </a> </dd> </div> <div class="h-px bg-mist" data-astro-cid-uw5kdbxl></div> <div data-astro-cid-uw5kdbxl> <dt class="label text-gold" data-astro-cid-uw5kdbxl>Hours</dt> <dd class="mt-3 max-w-xs space-y-2" data-astro-cid-uw5kdbxl> <div class="flex justify-between border-b border-mist pb-2" data-astro-cid-uw5kdbxl> <span class="text-sm text-navy-mist" data-astro-cid-uw5kdbxl>Monday - Saturday</span> <span class="numeral text-sm text-navy" data-astro-cid-uw5kdbxl>11:00 AM - 9:00 PM</span> </div><div class="flex justify-between border-b border-mist pb-2" data-astro-cid-uw5kdbxl> <span class="text-sm text-navy-mist" data-astro-cid-uw5kdbxl>Sunday</span> <span class="numeral text-sm text-navy" data-astro-cid-uw5kdbxl>Closed</span> </div> </dd> </div> <div class="h-px bg-mist" data-astro-cid-uw5kdbxl></div> <div data-astro-cid-uw5kdbxl> <dt class="label text-gold" data-astro-cid-uw5kdbxl>Reach Us</dt> <dd class="mt-3 space-y-2" data-astro-cid-uw5kdbxl> <a href="tel:+19133833330" class="numeral block text-lg text-navy transition-colors hover:text-gold" data-astro-cid-uw5kdbxl>913-383-3330</a> <a href="/cdn-cgi/l/email-protection#9af3f4fcf5daf8f6effff1f5f3b4f1f3eef9f2fff4" class="block text-navy transition-colors hover:text-gold" data-astro-cid-uw5kdbxl><span class="__cf_email__" data-cfemail="5d34333b321d3f312838363234733634293e353833">[email&#160;protected]</span></a> </dd> </div> </dl> </aside> </div> </div> </section>  <section class="bg-navy-ink py-24 lg:py-32" data-astro-cid-uw5kdbxl> <div class="mx-auto max-w-5xl px-5 sm:px-8 lg:px-12" data-astro-cid-uw5kdbxl> <div class="reveal text-center" data-astro-cid-uw5kdbxl> <p class="label text-gold" data-astro-cid-uw5kdbxl>Directions</p> <h2 class="display-lg mt-6 text-porcelain" data-astro-cid-uw5kdbxl>Find Us</h2> <div class="rule-gold mx-auto mt-8" data-astro-cid-uw5kdbxl></div> </div> <div class="reveal-scale mt-14 aspect-video overflow-hidden border border-sand/20" data-astro-cid-uw5kdbxl> <iframe src="https://maps.google.com/maps?cid=12598193137754845347&z=16&output=embed" width="100%" height="100%" style="border:0;" allowfullscreen loading="lazy" referrerpolicy="no-referrer-when-downgrade" title="Blue Koi Noodles &#38; Dumplings location map" data-astro-cid-uw5kdbxl></iframe> </div> </div> </section>  <section class="bg-porcelain py-24 lg:py-32" data-astro-cid-uw5kdbxl> <div class="mx-auto max-w-3xl px-5 sm:px-8 lg:px-12" data-astro-cid-uw5kdbxl> <div class="reveal text-center" data-astro-cid-uw5kdbxl> <p class="label text-gold" data-astro-cid-uw5kdbxl>FAQ</p> <h2 class="display-lg mt-6 text-navy" data-astro-cid-uw5kdbxl>Common Questions</h2> <div class="rule-gold mx-auto mt-8" data-astro-cid-uw5kdbxl></div> </div> <div class="stagger mt-14 divide-y divide-mist border-y border-mist" data-astro-cid-uw5kdbxl> <details class="faq group" data-astro-cid-uw5kdbxl> <summary class="flex cursor-pointer list-none items-center justify-between gap-6 py-6" data-astro-cid-uw5kdbxl> <span class="heading-sm text-navy" data-astro-cid-uw5kdbxl>Do you take reservations?</span> <span class="faq-plus" aria-hidden="true" data-astro-cid-uw5kdbxl></span> </summary> <p class="pb-7 pr-10 text-sm leading-relaxed text-navy-mist" data-astro-cid-uw5kdbxl>We operate first-come, first-served. For parties of eight or more, please call ahead and we will do our best to accommodate you.</p> </details><details class="faq group" data-astro-cid-uw5kdbxl> <summary class="flex cursor-pointer list-none items-center justify-between gap-6 py-6" data-astro-cid-uw5kdbxl> <span class="heading-sm text-navy" data-astro-cid-uw5kdbxl>Is there parking?</span> <span class="faq-plus" aria-hidden="true" data-astro-cid-uw5kdbxl></span> </summary> <p class="pb-7 pr-10 text-sm leading-relaxed text-navy-mist" data-astro-cid-uw5kdbxl>Yes. There is ample parking directly adjacent to the restaurant.</p> </details>
66<details class="faq group" data-astro-cid-uw5kdbxl> <summary class="flex cursor-pointer list-none items-center justify-between gap-6 py-6" data-astro-cid-uw5kdbxl> <span class="heading-sm text-navy" data-astro-cid-uw5kdbxl>Do you offer gluten-free options?</span> <span class="faq-plus" aria-hidden="true" data-astro-cid-uw5kdbxl></span> </summary> <p class="pb-7 pr-10 text-sm leading-relaxed text-navy-mist" data-astro-cid-uw5kdbxl>Many dishes are naturally gluten-free. Look for the GF mark throughout our menu, and tell your server about any allergies.</p> </details><details class="faq group" data-astro-cid-uw5kdbxl> <summary class="flex cursor-pointer list-none items-center justify-between gap-6 py-6" data-astro-cid-uw5kdbxl> <span class="heading-sm text-navy" data-astro-cid-uw5kdbxl>Can I order online?</span> <span class="faq-plus" aria-hidden="true" data-astro-cid-uw5kdbxl></span> </summary> <p class="pb-7 pr-10 text-sm leading-relaxed text-navy-mist" data-astro-cid-uw5kdbxl>Yes. Order online for pickup or delivery; the link is in the header of every page.</p> </details> </div> </div> </section>  </main> <footer class="text-porcelain"> <!-- Pre-footer CTA, with the circular badge as the anchoring mark --> <div class="seigaiha relative overflow-hidden border-b border-sand/10 bg-navy"> <div class="mx-auto max-w-7xl px-5 py-20 sm:px-8 lg:px-12 lg:py-28"> <div class="grid items-center gap-14 lg:grid-cols-[auto_1fr_auto]"> <!-- <Logo variant="badge" gold class="reveal-scale mx-auto w-36 lg:mx-0 lg:w-44" /> --> <div class="reveal text-center lg:text-left"> <p class="label text-gold">Visit Us Today</p> <h2 class="heading-lg mt-5 text-porcelain">
67Experience the flavors<br>that built a legacy.
68</h2> </div> <div class="reveal flex flex-col gap-4 sm:flex-row lg:flex-col"> <a href="/order" class="btn btn-gold">
69Order Online
70<svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M17 8l4 4m0 0l-4 4m4-4H3"></path> </svg> </a> <a href="/contact" class="btn btn-outline-gold">Get in Touch</a> </div> </div> </div> </div> <!-- Main footer --> <div class="bg-navy-ink"> <div class="mx-auto max-w-7xl px-5 sm:px-8 lg:px-12"> <div class="grid grid-cols-1 gap-12 py-16 md:grid-cols-2 lg:grid-cols-4 lg:py-20"> <div> <a href="/" class="inline-block text-sand transition-opacity hover:opacity-80" aria-label="Blue Koi home"> <span class="mark mark-horizontal" style="width:164px" role="img" aria-label="Blue Koi Noodles &#38; Dumplings, Kansas City"></span> </a> <p class="mt-7 max-w-xs text-sm leading-relaxed text-porcelain/45">
71Handmade noodles and dumplings in Leawood, Kansas. A neighborhood
72            staple since 2002.
73</p> <div class="mt-7 flex gap-5"> <a href="https://instagram.com/bluekoikc" target="_blank" rel="noopener noreferrer" class="text-porcelain/40 transition-colors duration-300 hover:text-gold" aria-label="Instagram"> <svg class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"> <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z"></path> </svg>  </a><a href="https://facebook.com/bluekoikc" target="_blank" rel="noopener noreferrer" class="text-porcelain/40 transition-colors duration-300 hover:text-gold" aria-label="Facebook">  <svg class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"> <path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path> </svg> </a> </div> </div> <div> <h3 class="label text-sand/70">Navigate</h3> <ul class="mt-6 space-y-3"> <li> <a href="/" class="text-sm text-porcelain/50 transition-colors duration-300 hover:text-gold"> Home </a> </li><li> <a href="/menu" class="text-sm text-porcelain/50 transition-colors duration-300 hover:text-gold"> Menu </a> </li><li> <a href="/about" class="text-sm text-porcelain/50 transition-colors duration-300 hover:text-gold"> About </a> </li><li> <a href="/contact" class="text-sm text-porcelain/50 transition-colors duration-300 hover:text-gold"> Contact </a> </li> </ul> </div> <div> <h3 class="label text-sand/70">Hours</h3> <ul class="mt-6 space-y-4"> <li> <span class="block text-xs uppercase tracking-[0.16em] text-porcelain/40">Monday - Saturday</span> <span class="numeral mt-1 block text-[0.9375rem] text-porcelain">11:00 AM - 9:00 PM</span> </li><li> <span class="block text-xs uppercase tracking-[0.16em] text-porcelain/40">Sunday</span> <span class="numeral mt-1 block text-[0.9375rem] text-porcelain">Closed</span> </li> </ul> </div> <div> <h3 class="label text-sand/70">Contact</h3> <ul class="mt-6 space-y-4 text-sm"> <li> <a href="tel:+19133833330" class="numeral text-[0.9375rem] text-porcelain transition-colors hover:text-gold">913-383-3330</a> </li> <li> <a href="/cdn-cgi/l/email-protection#274e49414867454b52424c484e094c4e53444f4249" class="text-porcelain/50 transition-colors duration-300 hover:text-gold"><span class="__cf_email__" data-cfemail="92fbfcf4fdd2f0fee7f7f9fdfbbcf9fbe6f1faf7fc">[email&#160;protected]</span></a> </li> <li> <a href="https://maps.google.com/?cid=12598193137754845347" target="_blank" rel="noopener noreferrer" class="block leading-relaxed text-porcelain/50 transition-colors duration-300 hover:text-gold"> 10581 Mission Rd<br>Leawood, KS 66206 </a> </li> </ul> </div> </div> <div class="rule-gold-full"></div> <div class="flex flex-col items-center justify-between gap-4 py-8 md:flex-row"> <p class="text-xs text-porcelain/30">
74&copy; 2026 Blue Koi Noodles &amp; Dumplings. All rights reserved.
75</p> <div class="flex gap-7"> <a href="/privacy" class="text-xs text-porcelain/30 transition-colors duration-300 hover:text-porcelain/60">Privacy</a> <a href="/terms" class="text-xs text-porcelain/30 transition-colors duration-300 hover:text-porcelain/60">Terms</a> </div> </div> </div> </div> </footer> <!-- Scroll reveal + parallax -->
vendor: 109 bytes, line 75
75 <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
75<script type="module">const o=window.matchMedia("(prefers-reduced-motion: reduce)").matches,s=document.querySelectorAll(".reveal, .reveal-left, .reveal-right, .reveal-scale, .stagger");if(o)s.forEach(e=>e.classList.add("visible"));else{const e=new IntersectionObserver(t=>{t.forEach(r=>{r.isIntersecting&&(r.target.classList.add("visible"),e.unobserve(r.target))})},{threshold:.12,rootMargin:"0px 0px -60px 0px"});s.forEach(t=>e.observe(t));const a=document.querySelectorAll(".parallax-bg");if(a.length){let t=!1;window.addEventListener("scroll",()=>{t||(t=!0,requestAnimationFrame(()=>{a.forEach(r=>{const l=r.parentElement;l&&(r.style.transform=`translateY(${-(l.getBoundingClientRect().top*.3)}px)`)}),t=!1}))},{passive:!0})}}document.querySelectorAll('img[loading="lazy"]').forEach(e=>{e.complete?e.classList.add("loaded"):e.addEventListener("load",()=>e.classList.add("loaded"))});</script>
75 <!-- Google Analytics 4 - Replace G-XXXXXXXXXX with actual tracking ID -->
vendor: 86 bytes, line 75
75 <script type="text/partytown" async src="https://www.googletagmanager.com/gtag/js?id=
75G-XXXXXXXXXX
vendor: 12 bytes, line 75
75"></script> 
75<script type="text/partytown">
76    
vendor: 139 bytes, lines 76-79
76window.dataLayer = window.dataLayer || [];
77    function gtag(){dataLayer.push(arguments);}
78    gtag('js', new Date());
79    gtag('config', '
79G-XXXXXXXXXX
vendor: 6 bytes, lines 79-80
79');
80  
80</script>
80 </body> </html> 

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.