@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--paper:#faf7f0;--ink:#202a24;--green:#193e32;--gold:#947344;--line:#deded3;--muted:#586258;--soft:#efeee3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--paper);font:400 1rem/1.6 'DM Sans',Arial,sans-serif}a{color:inherit;text-underline-offset:5px}a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}img{display:block;width:100%}p{margin:0 0 1rem}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.13;margin:0}h1{font-size:clamp(2.8rem,5.2vw,5.25rem);letter-spacing:-.04em}h2{font-size:clamp(2.3rem,4vw,4rem);letter-spacing:-.035em}h3{font-size:1.45rem;letter-spacing:-.015em}em{font-weight:500;color:var(--green)}.wrap{width:min(1260px,calc(100% - 96px));margin:0 auto}.skip{position:absolute;left:12px;top:-100px;z-index:20;background:#fff;padding:12px}.skip:focus{top:12px}.topline{display:flex;justify-content:space-between;padding:9px 48px;background:var(--green);color:#fff;font-size:.875rem;letter-spacing:.03em}header{border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:23px 0;gap:26px}.brand{font:600 3.2rem/.9 'Playfair Display',Georgia,serif;text-decoration:none;letter-spacing:-.06em;color:var(--green)}.brand span{display:block;font:600 .75rem/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.16em;margin-top:10px}.header-inner nav{display:flex;gap:30px;align-items:center}.header-inner nav>a:not(.button){font-size:.94rem;text-decoration:none;font-weight:600}.header-inner nav a:hover,.text-link:hover{color:var(--gold)}.header-inner [aria-current=page]{text-decoration:underline!important}.button{display:inline-flex;justify-content:center;align-items:center;min-height:49px;padding:13px 22px;background:var(--green);color:#fff;border:1px solid var(--green);font-size:.9rem;font-weight:600;text-decoration:none;text-align:center;line-height:1.35;border-radius:2px}.button:hover{background:#28523f;color:#fff}.button.outline{background:transparent;color:var(--green)}.button.outline:hover{background:#e9eddf}.actions{display:flex;flex-wrap:wrap;gap:12px}.eyebrow{font-size:.875rem;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:18px}.hero{display:grid;grid-template-columns:1fr 1.02fr;gap:55px;align-items:center;padding-top:55px;padding-bottom:55px}.hero-copy{padding:15px 0}.hero h1{margin-bottom:25px}.intro{font-size:1.125rem;max-width:440px;color:var(--muted);margin-bottom:30px}.hero-note{display:flex;align-items:center;gap:16px;margin-top:40px}.hero-note p{margin:0;font-size:.94rem;color:var(--muted)}.hero-note strong{font-weight:600;color:var(--ink)}.rule{height:45px;width:2px;background:var(--gold);flex-shrink:0}.hero-visual{position:relative}.photo{overflow:hidden;background:#e6e5d9;position:relative}.photo img{height:100%;object-fit:cover}.hero-image{aspect-ratio:1.05}.hero-image img{object-position:center}.image-caption{display:flex;justify-content:space-between;padding:15px 0 0;gap:12px;font-size:.875rem}.image-caption a{font-weight:600}.brand-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.brand-strip .wrap{display:flex;justify-content:space-between;gap:20px;padding:21px 0;font-size:.9rem}.brand-strip strong{color:var(--green)}.section{padding-top:90px;padding-bottom:90px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.section-heading p:not(.eyebrow){max-width:360px;color:var(--muted);margin-bottom:0}.food-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 26px}.food-card .photo{aspect-ratio:1.12}.card-meta{display:flex;justify-content:space-between;gap:12px;font-size:.875rem;margin:18px 0 9px;color:var(--gold);font-weight:600}.card-meta span:last-child{color:var(--ink);white-space:nowrap}.food-card h3{margin-bottom:11px}.food-card p{font-size:.94rem;color:var(--muted);margin-bottom:0}.sprite img{position:absolute;height:auto;max-width:none}.food-card .sprite{aspect-ratio:1}.square-screen img{width:100%;height:auto;position:absolute;top:50%;transform:translateY(-50%);object-fit:initial}.food-card .square-screen{aspect-ratio:1}.wagyu{aspect-ratio:1!important}.wagyu img{position:absolute;width:179.5%;max-width:none;height:auto;left:-75.9%;top:-164.5%}.section-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:40px;border-top:1px solid var(--line);padding-top:20px}.section-bottom p{font-size:.875rem;color:var(--muted);margin:0}.text-link{font-size:.94rem;font-weight:600}.matcha-section{background:var(--soft);padding:90px 0}.matcha-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.matcha-copy>p:not(.eyebrow){margin-top:24px;color:var(--muted);max-width:470px}.drink-lines{border-top:1px solid #c7ccb8;margin:30px 0}.drink-lines>div{display:flex;justify-content:space-between;gap:22px;border-bottom:1px solid #c7ccb8;padding:13px 0;font-size:.94rem}.drink-lines b{white-space:nowrap;font-weight:600}.matcha-images{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.hot-matcha{aspect-ratio:.78;margin-top:75px}.iced-matcha{aspect-ratio:.78}.hot-matcha img{object-position:48% center}.iced-matcha img{object-position:47% center}.salads-section{padding-bottom:65px}.coming-roll{margin-top:55px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;display:flex;justify-content:space-between;align-items:center;gap:30px}.coming-roll .eyebrow{margin-bottom:9px}.coming-roll h3{margin-bottom:10px}.coming-roll p:last-child{margin-bottom:0;color:var(--muted)}.specials{background:var(--green);color:var(--paper);padding:70px 0}.specials em{color:#d7dfba}.specials .eyebrow{color:#dfc49c}.specials-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:center}.specials h2{margin-bottom:18px}.specials p:last-child{margin-bottom:0;color:#e0e5d9}.special-prices{border-top:1px solid #ffffff55}.special-prices>div{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px 0;border-bottom:1px solid #ffffff55}.special-prices h3{font:500 1.1rem/1.45 'DM Sans',Arial,sans-serif;max-width:320px}.special-prices b{font:500 2.6rem 'Playfair Display',Georgia,serif;color:#dfc49c;white-space:nowrap}.visit-section{display:grid;grid-template-columns:1fr 1fr;gap:90px}.visit-section h2{margin-bottom:24px}.visit-section>div>p:not(.eyebrow){max-width:350px;color:var(--muted)}.visit-details{border-left:1px solid var(--line);padding-left:65px}.visit-details h3{margin:0 0 18px}.visit-details address{font-style:normal;font-size:1.1rem}.hours{margin:24px 0 5px;font-weight:600}.small{font-size:.875rem;color:var(--muted)}.menu-footnote{font-size:.875rem;color:var(--muted);padding-bottom:35px}footer{border-top:1px solid var(--line);padding:35px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-inner .brand{font-size:2.5rem}.footer-inner p{margin:0;font-size:.9rem;color:var(--muted)}.footer-inner>div{display:flex;gap:24px;font-size:.9rem}.mobile-actions{display:none}.menu-title{padding-top:60px;padding-bottom:38px}.menu-title h1{margin-bottom:20px}.menu-title>p:not(.eyebrow){font-size:1.125rem;color:var(--muted)}.menu-disclaimer{font-size:.875rem;color:var(--muted);line-height:1.6;max-width:780px}.menu-layout{display:grid;grid-template-columns:240px 1fr;gap:75px;padding-bottom:90px}.menu-index{align-self:start;position:sticky;top:25px}.menu-index nav{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:13px;margin-bottom:24px}.menu-index nav a{padding:8px 0;text-decoration:none;font-size:.94rem}.menu-index nav a:hover{text-decoration:underline}.menu-content{min-width:0}.menu-special{padding:28px 32px;background:var(--green);color:#fff;margin-bottom:40px}.menu-special .eyebrow{color:#e3c9a1;margin-bottom:9px}.menu-special h2{font-size:2rem;margin-bottom:18px}.menu-special p:not(.eyebrow){display:flex;justify-content:space-between;gap:20px;font-size:.94rem;margin-bottom:10px}.menu-special p:last-child{margin:0}.menu-category{margin-bottom:48px;scroll-margin-top:24px}.menu-category>h2{font-size:2.4rem;padding-bottom:20px;border-bottom:2px solid var(--green)}.menu-item{padding:19px 0;border-bottom:1px solid var(--line)}.item-heading{display:flex;align-items:baseline;justify-content:space-between;gap:25px}.item-heading h3{font:600 1.05rem/1.4 'DM Sans',Arial,sans-serif;letter-spacing:0}.item-price{white-space:nowrap;font-weight:600;font-size:1rem}.menu-item p{font-size:.94rem;color:var(--muted);max-width:620px;margin:6px 0 0}.item-badge{display:inline-block;font-size:.875rem;color:var(--green);background:#e4eadb;padding:2px 9px;margin-top:8px}.menu-page footer{margin-top:0}
@media(min-width:1500px){.hero{gap:90px}.hero-image{aspect-ratio:1.05}}
@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.topline{padding-left:28px;padding-right:28px}.header-inner nav{gap:19px}.hero{gap:35px}.hero h1{font-size:clamp(2.7rem,5.5vw,4rem)}.matcha-grid{gap:40px}.visit-section{gap:45px}.visit-details{padding-left:35px}.food-card h3{font-size:1.3rem}.menu-layout{grid-template-columns:200px 1fr;gap:40px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.topline{padding:8px 20px;font-size:.8rem}.header-inner{padding:20px 0;align-items:center}.brand{font-size:2.7rem}.brand span{font-size:.65rem;letter-spacing:.12em}.header-inner nav{gap:15px;flex-wrap:wrap;justify-content:flex-end}.header-inner nav>a:not(.button){font-size:.875rem}.header-inner nav>a[href='./#matcha']{display:none}.nav-order{display:none}.hero{grid-template-columns:1fr;gap:30px;padding-top:35px;padding-bottom:35px}.hero-copy{padding:0}.hero h1{font-size:clamp(2.85rem,8.6vw,4.3rem)}.hero .eyebrow{margin-bottom:16px}.hero h1 br{display:none}.intro{font-size:1rem;max-width:440px}.hero-note{margin-top:24px}.hero-image{aspect-ratio:1.25}.image-caption{font-size:.875rem}.brand-strip .wrap{flex-direction:column;gap:5px;padding:18px 0}.section{padding-top:60px;padding-bottom:60px}.section-heading{display:block;margin-bottom:28px}.section-heading p:not(.eyebrow){margin-top:18px;max-width:440px}.food-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}.card-meta{font-size:.875rem;flex-wrap:wrap;gap:5px}.card-meta span:first-child{width:100%}.food-card h3{font-size:1.3rem}.food-card p{font-size:.875rem}.section-bottom{align-items:start}.section-bottom>*{max-width:50%}.matcha-section{padding:60px 0}.matcha-grid{grid-template-columns:1fr;gap:35px}.matcha-images{max-width:500px}.hot-matcha{margin-top:35px;aspect-ratio:.9}.iced-matcha{aspect-ratio:.9}.coming-roll{display:block;margin-top:40px}.coming-roll .text-link{display:inline-block;margin-top:20px}.specials{padding:50px 0}.specials-grid{grid-template-columns:1fr;gap:30px}.special-prices h3{font-size:1rem}.special-prices b{font-size:2.2rem}.visit-section{grid-template-columns:1fr;gap:30px}.visit-details{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.footer-inner{flex-wrap:wrap;gap:25px}.footer-inner p{width:100%;order:3}.footer-inner>div{flex-wrap:wrap}.mobile-actions{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--green);color:#fff;z-index:10;border-top:1px solid #ffffff40;padding-bottom:env(safe-area-inset-bottom)}.mobile-actions a{flex:1;min-height:52px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:.94rem;font-weight:600;border-right:1px solid #ffffff35}.mobile-actions a:last-child{border:0;background:#e2c294;color:#193e32}body{padding-bottom:calc(52px + env(safe-area-inset-bottom))}.menu-title{padding-top:36px;padding-bottom:25px}.menu-layout{display:block;padding-bottom:45px}.menu-index{position:static;margin-bottom:30px}.menu-index nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px 12px;padding-top:15px;margin-bottom:0}.menu-index nav a{font-size:.875rem;border:1px solid var(--line);padding:7px 10px;background:#fff}.menu-index>.button{display:none}.menu-special{padding:24px 20px}.menu-category>h2{font-size:2rem}.item-heading{gap:15px}.item-heading h3{font-size:1rem}.menu-special p:not(.eyebrow){font-size:.9rem}.item-price{font-size:.94rem}}
@media(max-width:390px){.header-inner nav{gap:10px}.header-inner nav>a{font-size:.85rem!important}.brand{font-size:2.4rem}.brand span{font-size:.6rem}.hero h1{font-size:2.65rem}.hero .actions{display:grid;grid-template-columns:1fr;width:100%}.food-grid{grid-template-columns:1fr}.card-meta{flex-wrap:nowrap}.card-meta span:first-child{width:auto}.section-bottom{display:block}.section-bottom>*{max-width:none}.section-bottom p{margin-bottom:12px}.image-caption{flex-wrap:wrap}.item-heading{flex-wrap:wrap;gap:4px}.item-price{margin-left:auto}.special-prices h3{max-width:220px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{header,.topline,.menu-index,.mobile-actions,footer,.skip{display:none!important}.wrap{width:100%}.menu-layout{display:block}.menu-title{padding:0 0 20px}.menu-category{break-inside:avoid}.menu-special{background:transparent;color:#202a24;border:1px solid #aaa}.menu-special .eyebrow{color:#202a24}body{padding:0;font-size:12pt;background:white}.menu-content{width:100%}}

.coming-roll{display:grid;grid-template-columns:220px 1fr;gap:24px 35px}.coming-roll>.photo{grid-row:span 2;aspect-ratio:1.3}.coming-roll>.text-link{justify-self:start}.chicken-roll-photo img{object-position:50% 50%}@media(max-width:760px){.coming-roll{display:block}.coming-roll>.photo{width:min(100%,400px);margin-bottom:25px}}
.dish-open{appearance:none;background:none;border:0;color:var(--ink);font:inherit;text-align:left;padding:0;cursor:pointer;text-decoration:underline;text-decoration-color:#9aa993;text-underline-offset:5px}.dish-open:hover{color:var(--green);text-decoration-color:var(--green)}.dish-open:focus-visible,.dialog-close:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.photo-hint{display:block;font-size:.875rem;color:var(--muted);margin-top:7px}.dialog-open{overflow:hidden}.dish-dialog{padding:0;border:0;background:var(--paper);color:var(--ink);width:min(650px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow-y:auto;border-radius:4px;box-shadow:0 25px 90px #0005}.dish-dialog::backdrop{background:#101c16bf}.dialog-close{display:block;position:sticky;top:12px;z-index:1;margin:12px 12px 12px auto;padding:9px 18px;min-height:44px;background:var(--green);color:white;border:1px solid var(--green);font:600 .94rem 'DM Sans',Arial,sans-serif;border-radius:2px;cursor:pointer}.dish-dialog .photo{aspect-ratio:1.3;margin:0 20px}.dish-dialog .photo.sprite{aspect-ratio:312/281}.dish-dialog .square-screen{aspect-ratio:1}.dish-dialog .wagyu{aspect-ratio:1!important}.dialog-copy{padding:25px 28px 28px}.dialog-copy .eyebrow{margin-bottom:12px}.dialog-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:16px}.dialog-heading h2{font-size:2rem}.dialog-heading strong{white-space:nowrap;font-size:1.125rem}.dialog-copy>p:not(.eyebrow){color:var(--muted)}.dialog-copy p:last-child{margin-bottom:0}.missing-photo{background:var(--soft);padding:40px 25px;text-align:center;color:var(--muted);margin:0 20px}@media(max-width:560px){.dialog-heading{display:block}.dialog-heading strong{display:block;margin-top:12px}.dialog-heading h2{font-size:1.7rem}.dialog-copy{padding:22px}.dish-dialog{max-height:calc(100dvh - 24px)}}@media print{.photo-hint,.dish-dialog{display:none}.dish-open{text-decoration:none}}

.tea-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px;padding:0 20px}.tea-gallery figure{margin:0}.dish-dialog .tea-gallery .photo{margin:0;aspect-ratio:3/4}.dish-dialog .tea-gallery .tea-jar img{object-fit:contain}.dish-dialog .tea-gallery .tea-square,.dish-dialog .tea-gallery .square-screen{aspect-ratio:1}.tea-gallery figcaption{font-size:1rem;line-height:1.4;margin-top:10px;text-align:center;color:var(--ink)}@media(max-width:420px){.tea-gallery{grid-template-columns:1fr}}

.dish-dialog .photo.uber-photo{aspect-ratio:auto}.dish-dialog .uber-photo img{position:static;display:block;width:100%;height:auto;object-fit:contain}.menu-photo-figure{margin:0}.menu-photo-figure figcaption{margin:12px 20px 0;font-size:.94rem;color:var(--muted);text-align:center}

.photo.catalog-square,.dish-dialog .photo.catalog-square,.dish-dialog .tea-gallery .photo.tea-professional,.dish-dialog .photo.chicken-roll-photo{aspect-ratio:1}.catalog-square img,.tea-professional img,.chicken-roll-photo img{object-fit:contain}

.curry-hero{width:100%;margin:0;gap:0;padding:0;grid-template-columns:1fr 1.1fr;background:#18221d;color:#faf7f0;min-height:590px}.curry-hero .hero-copy{padding:65px max(35px,calc((100vw - 1260px)/2));padding-right:45px}.curry-hero .eyebrow{color:#e2c294}.curry-hero h1{font-size:clamp(3rem,5.7vw,5.75rem);letter-spacing:-.04em}.curry-hero .intro{color:#e1e5de}.curry-hero .hero-note p,.curry-hero .hero-note strong{color:#f5eee0}.curry-hero .rule{background:#e2c294}.curry-hero .button{background:#e2c294;border-color:#e2c294;color:#193e32}.curry-hero .button:hover{background:#efd4af}.curry-hero .button.outline{background:transparent;border-color:#faf7f0;color:#faf7f0}.curry-hero .button.outline:hover{background:#ffffff15}.curry-hero .hero-visual{align-self:stretch;display:flex;align-items:center;background:#1c221a;padding:30px}.curry-hero-image{width:100%;background:transparent;aspect-ratio:550/485}.curry-hero-image img{object-fit:contain}@media(min-width:1500px){.curry-hero{gap:0}}@media(max-width:1050px){.curry-hero .hero-copy{padding:45px 28px}.curry-hero .hero-visual{padding:20px}.curry-hero h1{font-size:clamp(3rem,5.7vw,4.7rem)}}@media(max-width:760px){.curry-hero{grid-template-columns:1fr;gap:0;min-height:0}.curry-hero .hero-copy{padding:38px 24px 25px}.curry-hero h1{font-size:clamp(3rem,10vw,4.6rem)}.curry-hero h1 br{display:block}.curry-hero .hero-visual{padding:0 20px 25px}.curry-hero .hero-note{margin-top:25px}.curry-hero-image{max-width:550px;margin:auto}}

.food-card .photo.curry-card{aspect-ratio:550/485}.curry-card img{object-fit:contain}

.curry-hero-image,.food-card .photo.curry-card{aspect-ratio:3/2}

/* Homepage cards share the full menu photo dialog. */
.food-card-open{display:block;width:100%;text-decoration:none;line-height:1.6}.food-card-title{display:block;font:500 1.45rem/1.13 'Playfair Display',Georgia,serif;letter-spacing:-.015em;margin-bottom:11px}.food-card-description{display:block;font-size:.94rem;color:var(--muted)}.card-photo-hint{display:block;margin-top:12px;font-size:.8rem;color:var(--green);text-decoration:underline;text-underline-offset:4px}.food-card-open:hover .food-card-title{color:var(--green)}.matcha-images figure{margin:0}.matcha-images figcaption{font-size:.875rem;margin-top:10px;color:var(--muted)}.coffee-feature,.matcha-feature{aspect-ratio:1}.coffee-feature img,.matcha-feature img{object-fit:contain}@media(max-width:760px){.food-card-title{font-size:1.3rem}.food-card-description{font-size:.875rem}}

.food-card-open .photo{display:block}
.hero-menu-links{font-size:.875rem;color:var(--muted);margin:17px 0 0;line-height:1.8}.hero-menu-links a{color:var(--green);font-weight:600;text-underline-offset:3px}

/* Breakfast combo photos */
.morning-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.morning-offer{display:flex;flex-direction:column;background:var(--paper);color:var(--ink);min-width:0;overflow:hidden}
.morning-offer img{height:auto;aspect-ratio:3/2;object-fit:contain}
.morning-offer>div{padding:18px 20px}
.morning-offer-copy{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1}
.morning-inclusion,.menu-special p.morning-inclusion{display:block;font-size:.78rem;line-height:1.5;color:var(--muted);margin:6px 0 0}
.morning-offer h3{font:600 1rem/1.4 'DM Sans',Arial,sans-serif}
.morning-offer strong{display:block;font:500 2.25rem/1 'Playfair Display',Georgia,serif;color:var(--green);white-space:nowrap}

@media(max-width:520px){.morning-offers{grid-template-columns:1fr}}
