:root{--nori: #00392c;--wasabi: #d4fb6f;--kewpie: #fefaf0;--navy: #102a43;--rice: #ffffff;--bg: var(--rice);--ink: var(--navy);--ink-invert: var(--kewpie);--accent: var(--wasabi);--accent-ink: #000000;--font-title: "gelica", Georgia, "Times New Roman", serif;--font-body: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fs-hero: clamp(3.5rem, 22vw, 5.4rem);--fs-title: clamp(2.9rem, calc(2.435rem + 1.9vw) , 4.15rem);--fs-heading: clamp(2.14rem, calc(1.86rem + 1.14vw) , 2.89rem);--fs-lead: clamp(1.25rem, calc(1.19rem + .25vw) , 1.42rem);--fs-roll: 1.25rem;--fs-body: 1rem;--ls-tight: -.02em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-24: 6rem;--content-max: 1425px;--gutter: 58px;--header-h: 120px;--radius-card: 20px;--radius-pill: 999px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-weight:var(--fw-regular);font-size:var(--fs-body);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-title);font-weight:var(--fw-medium);line-height:1.06;margin:0}p{margin:0}a{color:inherit;text-decoration:none;text-underline-offset:3px}img,svg{max-width:100%;height:auto;display:block}.container{width:100%;max-width:var(--content-max);margin-inline:auto;padding-inline:var(--gutter)}@media(max-width:700px){:root{--gutter: 24px}}.btn{display:inline-block;font-family:var(--font-body);font-weight:var(--fw-medium);font-size:var(--fs-body);line-height:1.4;text-decoration:none;padding:12.8px 32px;border-radius:var(--radius-pill);background:var(--wasabi);color:var(--accent-ink);border:2px solid var(--wasabi);cursor:pointer;transition:opacity .1s linear}.btn:hover{opacity:.85}.btn:focus-visible{outline:3px solid var(--wasabi);outline-offset:3px}.btn--nori{background:var(--nori);color:var(--wasabi);border-color:var(--nori)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.site-header{background:var(--nori);color:var(--kewpie)}.site-header__inner{display:flex;align-items:center;gap:44px;min-height:var(--header-h)}.site-header__logo img{height:45px;width:auto}.site-nav ul{list-style:none;display:flex;align-items:center;gap:26px;margin:0;padding:0}.site-nav a{font-family:var(--font-body);font-weight:var(--fw-regular);font-size:var(--fs-body);color:var(--kewpie);padding-block:4px;border-bottom:2px solid transparent}.site-nav a:hover,.site-nav a[aria-current=page]{border-bottom-color:var(--wasabi)}.nav-toggle{display:none;margin-left:auto;background:none;border:0;color:var(--kewpie);cursor:pointer;padding:6px}.nav-toggle svg{width:28px;height:28px}@media(max-width:880px){.site-header{position:sticky;top:0;z-index:100}.site-header__inner{min-height:84px}html.menu-open{overflow:hidden}html.menu-open .site-header{background:transparent}.nav-toggle{display:inline-flex}.site-header__logo,.nav-toggle{position:relative;z-index:95}.nav-toggle__close,.nav-toggle[aria-expanded=true] .nav-toggle__open{display:none}.nav-toggle[aria-expanded=true] .nav-toggle__close{display:block}.site-nav{position:fixed;inset:0;z-index:90;background:var(--navy);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease}.site-nav[data-open=true]{opacity:1;visibility:visible;pointer-events:auto}.site-nav ul{flex-direction:column;align-items:center;gap:.45em;padding:0}.site-nav a{display:block;color:var(--kewpie);font-family:var(--font-body);font-size:33px;font-weight:var(--fw-regular);border-bottom:0;padding-block:.1em}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--wasabi);border-bottom:0}}.hero{display:flex;align-items:stretch;background:var(--nori)}.hero__panel{flex:1 1 50%;background:var(--nori);color:var(--kewpie);display:flex;flex-direction:column;justify-content:center;gap:var(--space-6);padding:var(--space-16) var(--gutter);min-height:640px}.hero__panel h1{font-size:var(--fs-hero);font-weight:var(--fw-medium);letter-spacing:var(--ls-tight);line-height:1.056;color:var(--kewpie);max-width:12ch}.hero__tag{font-size:var(--fs-lead);line-height:1.5}.hero__quote{font-size:var(--fs-lead);font-style:italic}.hero__panel .btn{align-self:flex-start;margin-top:var(--space-2)}.hero__media{flex:1 1 50%}.hero__media img{width:100%;height:100%;object-fit:cover}@media(max-width:880px){.hero{flex-direction:column}.hero__media{order:-1;min-height:0;height:78vw}.hero__panel{min-height:0;padding-block:var(--space-12)}}.page-head{background:var(--nori);color:var(--kewpie);padding-block:var(--space-8) var(--space-12)}.page-head h1{font-size:var(--fs-title);font-weight:var(--fw-medium);letter-spacing:var(--ls-tight);color:var(--wasabi)}.section{background:var(--rice)}.section-pad{padding-block:var(--space-16)}.split{display:flex;align-items:stretch;background:var(--rice);min-height:700px}.split--textLeft .split__media{order:2}.split__body{flex:1 1 50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-5, 1.25rem);padding:var(--space-16) var(--space-12)}.split__body h2{font-size:var(--fs-heading);font-weight:var(--fw-medium);color:var(--navy);line-height:1.1}.split__body p{color:var(--navy);max-width:42ch}.split__body .btn{margin-top:var(--space-2)}.split__media{flex:1 1 50%;min-height:420px}.split__media img{width:100%;height:100%;object-fit:cover}@media(max-width:880px){.split{flex-direction:column;min-height:auto}.split--textLeft .split__media{order:0}.split__body{flex:0 0 auto;padding:var(--space-16) var(--gutter)}.split__media{flex:0 0 auto;height:min(374px,100vw)}}.story{display:flex;gap:var(--space-12);align-items:flex-start;padding-block:var(--space-16)}.story__body{flex:1 1 60%}.story__body p{color:var(--navy);margin-bottom:var(--space-5, 1.25rem)}.story__body p:last-child{margin-bottom:0}.story__body h2{font-size:var(--fs-heading);color:#000;margin-top:var(--space-6)}.story__aside{flex:0 0 265px;text-align:center}.story__aside img{width:265px;height:265px;object-fit:cover;border-radius:8px;margin-inline:auto}.story__aside figcaption{margin-top:var(--space-3);color:var(--navy)}@media(max-width:880px){.story{flex-direction:column;gap:var(--space-8)}.story__aside{align-self:center}}.loc-list{display:flex;flex-direction:column;gap:var(--space-12);padding-block:var(--space-16)}.loc-row{display:flex;gap:var(--space-8);align-items:flex-start}.loc-row__media{flex:0 0 48%}.loc-row__media img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.loc-row__body{flex:1;display:flex;flex-direction:column;gap:var(--space-3)}.loc-row__body h2{font-size:clamp(1.76rem,calc(1.574rem + .76vw),2.26rem);font-weight:var(--fw-medium);color:var(--navy)}.loc-row__body address{font-style:normal;color:var(--navy)}.loc-hours{color:var(--navy)}.loc-row__body .btn{align-self:flex-start;margin-top:var(--space-2)}@media(max-width:700px){.loc-row{flex-direction:column}.loc-row__media{flex:0 0 auto;width:100%}}.faq-list{max-width:920px;margin-inline:auto;padding-block:var(--space-16)}.faq-item{border-bottom:1px solid rgba(16,42,67,.18)}.faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;color:var(--navy);font-family:var(--font-body);font-size:clamp(1.38rem,calc(1.287rem + .38vw),1.63rem)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"";width:10px;height:10px;border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:rotate(45deg);transition:transform .2s ease;flex:none;margin-right:4px}.faq-item[open] summary:after{transform:rotate(-135deg)}.faq-item__body{padding:0 0 var(--space-5, 1.25rem);color:var(--navy);max-width:68ch}.faq-item__body a{color:var(--nori);text-decoration:underline}.menu-section{background:var(--nori);color:var(--kewpie);padding-block:var(--space-12) var(--space-16)}.menu-inner{width:min(1100px,100% - 48px);margin-inline:auto}.menu-title{text-align:center;font-size:var(--fs-title);font-weight:var(--fw-medium);color:var(--wasabi)}.menu-filters{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin:var(--space-8) 0 var(--space-4)}.menu-tab{font-family:var(--font-body);font-size:var(--fs-body);padding:10px 14px;border-radius:var(--radius-pill);border:2px solid var(--wasabi);background:transparent;color:var(--wasabi);cursor:pointer;transition:background .15s ease,color .15s ease}.menu-tab[aria-selected=true]{background:var(--wasabi);color:var(--nori)}.menu-subtitle{text-align:center;color:var(--kewpie);margin-bottom:var(--space-8)}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.roll-card{border:4px solid var(--wasabi);border-radius:var(--radius-card);overflow:hidden;background:var(--nori);box-shadow:0 4px 10px #0000001a;display:flex;flex-direction:column}.roll-card__media{position:relative;aspect-ratio:343 / 193;overflow:hidden;background:#222}.roll-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.roll-card__body{padding:16px;display:flex;flex-direction:column;gap:10px}.roll-card h3{font-family:var(--font-title);font-weight:var(--fw-medium);font-size:var(--fs-roll);color:var(--wasabi)}.roll-badges{display:flex;flex-wrap:wrap;gap:var(--space-2)}.badge{font-family:var(--font-body);font-size:13px;font-weight:var(--fw-bold);padding:6px 10px;border-radius:var(--radius-pill);border:1.2px solid var(--nori);color:var(--nori);background:var(--kewpie);align-self:flex-start}.roll-ing{border-top:1px solid var(--wasabi);margin-top:8px;padding-top:8px}.roll-ing summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:8px 0 0;color:var(--wasabi);font-family:var(--font-body);font-weight:var(--fw-bold);font-size:15px}.roll-ing summary::-webkit-details-marker{display:none}.roll-ing summary:after{content:"";width:8px;height:8px;flex:none;border-right:2px solid var(--wasabi);border-bottom:2px solid var(--wasabi);transform:rotate(45deg);transition:transform .2s ease}.roll-ing[open] summary:after{transform:rotate(-135deg)}.roll-ing__body{padding-top:var(--space-3)}.roll-desc{font-size:14px;line-height:24px;color:var(--kewpie);font-weight:var(--fw-regular);margin:0}.roll-allergens{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.alg{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:2px 6px;border:.8px solid var(--kewpie);border-radius:6px;background:var(--nori);color:var(--kewpie);font-size:12px;font-weight:800;line-height:1.2}.roll-ing p{color:var(--kewpie);opacity:.85;padding-bottom:var(--space-3)}.roll-card[hidden]{display:none}.allergen-key{margin-top:var(--space-12);color:var(--kewpie);font-size:.9rem}.allergen-key p{margin-bottom:var(--space-3)}.allergen-key .disclaimer{opacity:.75;font-style:italic}@media(max-width:880px){.menu-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.menu-grid{grid-template-columns:1fr}}.form-intro{max-width:640px;margin:0 auto var(--space-8);text-align:center;color:var(--navy)}.form{max-width:560px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-6)}.form fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-5, 1.25rem)}.form-legend{display:inline-block;background:var(--nori);color:var(--wasabi);padding:6px 16px;border-radius:var(--radius-pill);font-family:var(--font-body);font-weight:var(--fw-semibold);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-2)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field label{font-weight:var(--fw-semibold);color:var(--navy);font-size:.9rem}.field .req{color:var(--nori)}.field .hint{font-size:.8rem;color:#102a43a6}.field input,.field textarea{font-family:var(--font-body);font-size:var(--fs-body);padding:var(--space-3) var(--space-4);border:1px solid rgba(16,42,67,.3);border-radius:6px;background:var(--rice);color:var(--navy);width:100%}.field input::placeholder,.field textarea::placeholder{color:#102a4366}.field input:focus,.field textarea:focus{outline:none;border-color:var(--nori)}.field textarea{min-height:120px;resize:vertical}.newsletter-form{flex-direction:row;flex-wrap:wrap;align-items:flex-end}.newsletter-form .field{flex:1 1 240px}.notice{padding:var(--space-4);border-radius:6px;background:var(--wasabi);color:var(--accent-ink);font-size:.9rem;font-weight:var(--fw-semibold);text-align:center}.site-footer{background:var(--nori);color:var(--kewpie);padding-block:var(--space-16)}.site-footer__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);text-align:center}.site-footer h2{font-family:var(--font-body);font-weight:var(--fw-regular);font-size:var(--fs-lead);color:var(--kewpie);margin-bottom:var(--space-4)}.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.site-footer a{color:var(--kewpie)}.site-footer a:hover{color:var(--wasabi)}.social-row{display:flex;gap:var(--space-4);justify-content:center}.social-row a{display:inline-flex}.social-row svg{width:24px;height:24px;fill:var(--kewpie)}.social-row a:hover svg{fill:var(--wasabi)}@media(max-width:700px){.site-footer__cols{grid-template-columns:1fr;gap:var(--space-8)}}@keyframes revealUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}.anim :is(.hero__panel>*,.page-head h1,.split__body>*,.split__media,.story__body>p,.story__aside,.loc-row,.menu-title,.menu-filters,.menu-subtitle,.roll-card,.faq-item,.allergen-key,.form-intro,.form fieldset,.site-footer__cols>*){opacity:0}.anim :is(.hero__panel>*,.page-head h1,.split__body>*,.split__media,.story__body>p,.story__aside,.loc-row,.menu-title,.menu-filters,.menu-subtitle,.roll-card,.faq-item,.allergen-key,.form-intro,.form fieldset,.site-footer__cols>*).in{animation:revealUp .8s ease var(--d, 0s) both}.roll-card img{transition:opacity .3s ease}.roll-card:hover img{opacity:.9}
