
@font-face{font-family:Inter;src:url('/assets/fonts/inter-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Playfair;src:url('/assets/fonts/playfair-display-latin.woff2') format('woff2');font-weight:400 900;font-display:swap}
:root{color-scheme:light;--paper:#fffefa;--celadon:#ecf3ef;--ink:#183b37;--red:#ab3439;--muted:#596762;--line:#d6e1da;--gutter:clamp(20px,4vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}button,summary{font:inherit}img{display:block;max-width:100%}picture{display:block}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}[hidden]{display:none!important}
.wrap{max-width:calc(1280px + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}.skip{position:fixed;top:-100px;left:16px;z-index:100;background:var(--paper);padding:16px}.skip:focus{top:10px}.preview-note{margin:0;padding:7px 20px;text-align:center;font-size:11px;line-height:1.4;background:var(--celadon);color:var(--muted)}
.header{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;gap:30px;min-height:90px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}.brand img{width:54px;height:54px}.brand-name{display:block;font-size:30px;font-weight:600;letter-spacing:-1.4px;line-height:1}.brand-sub{display:block;font-size:11px;margin-top:5px}.desktop-nav{display:flex;align-items:center;gap:28px}.desktop-nav a{text-decoration:none;font-size:14px;padding-block:14px}.desktop-nav a:hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:15px 27px;border-radius:7px;border:1px solid var(--red);background:var(--red);color:white;font-size:15px;font-weight:650;line-height:1.4;text-decoration:none;text-align:center;cursor:pointer}.button:hover{background:#8f292e;border-color:#8f292e}.button.secondary{color:var(--ink);border-color:var(--ink);background:transparent}.button.secondary:hover{background:#dce8e0}.header-order{min-width:166px}.mobile-nav{display:none}.text-link{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:6px;font-size:14px;font-weight:600}
.hero-shell{background:var(--celadon)}.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(28px,5vw,80px);padding-block:42px 48px;align-items:center}.hero-copy{padding-block:28px}.location-line{font-size:14px;margin:0 0 24px;color:var(--muted)}h1{font-size:clamp(48px,5.45vw,78px);font-weight:550;line-height:1.035;letter-spacing:-.062em;margin:0 0 28px}.hero-copy>p:not(.location-line){font-size:18px;line-height:1.65;max-width:360px;margin:0 0 28px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.hero-photo{border-radius:110px 12px 12px 12px;overflow:hidden;aspect-ratio:1;isolation:isolate}.hero-photo picture,.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo img{object-position:50% 49%}.hero-photo::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(100deg,transparent 28%,rgba(255,171,52,.12) 72%,rgba(255,206,97,.2)),radial-gradient(circle at 84% 15%,rgba(255,239,165,.72) 0 5%,transparent 11%),radial-gradient(circle at 68% 29%,rgba(255,215,100,.55) 0 4%,transparent 10%),radial-gradient(circle at 92% 43%,rgba(255,226,137,.48) 0 5%,transparent 12%),radial-gradient(circle at 75% 55%,rgba(255,193,71,.32) 0 4%,transparent 10%);mix-blend-mode:screen;opacity:.9;-webkit-mask-image:linear-gradient(105deg,transparent 0 38%,#000 68%);mask-image:linear-gradient(105deg,transparent 0 38%,#000 68%)}.hero-caption{font-size:12px;line-height:1.5;margin:13px 0 0;color:var(--muted);text-align:right}.hero-visual{margin:0}.welcome-line{border-top:1px solid #cfddd5;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:20px;font-size:13px}.welcome-line a{display:inline-flex;align-items:center;min-height:32px;text-underline-offset:4px}.welcome-line span{color:var(--muted)}
.food-story{padding-block:100px;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}.food-story figure{margin:0;overflow:hidden;border-radius:12px 70px 12px 12px}.food-story picture,.food-story img{width:100%;aspect-ratio:1.16;object-fit:cover}.section-title{font:500 clamp(36px,4vw,56px)/1.12 Playfair,Georgia,serif;letter-spacing:-.035em;margin:0 0 22px}.section-copy{font-size:17px;line-height:1.7;max-width:380px;margin:0 0 26px;color:var(--muted)}.food-story .section-title{max-width:400px}.food-story .button{margin-top:5px}
.favorites-shell{background:var(--celadon);border-block:1px solid #cfddd5}.favorites{padding-block:86px 104px}.favorites-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:38px}.favorites-head>div{max-width:570px}.favorites-head .section-title{margin-bottom:10px}.favorites-head p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}.favorites-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;align-items:start}.favorite-card{position:relative;min-width:0;margin:0;overflow:hidden;aspect-ratio:4/5;border-radius:12px;background:var(--ink);box-shadow:0 10px 24px #183b3712;transition:transform 260ms cubic-bezier(.2,.7,.2,1),box-shadow 260ms ease}.favorite-card:nth-child(even){margin-top:34px}.favorite-card picture{position:absolute;inset:0;overflow:hidden;background:var(--paper)}.favorite-card picture::after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(to bottom,transparent,#0b2521d9)}.favorite-card img{width:100%;height:100%;object-fit:cover;transition:transform 420ms cubic-bezier(.2,.7,.2,1)}.favorite-card:nth-child(2) img{object-position:54% 50%}.favorite-card:nth-child(4) img{object-position:57% 50%}.favorite-card figcaption{position:absolute;z-index:1;left:18px;right:16px;bottom:17px;padding:0;color:white;font:500 clamp(18px,1.45vw,23px)/1.12 Playfair,Georgia,serif;letter-spacing:-.02em;text-wrap:balance;text-shadow:0 1px 12px #071c18b3}
.kitchen{padding-bottom:96px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.section-heading .section-title{margin:0}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.photo-grid picture{aspect-ratio:1;overflow:hidden;position:relative;z-index:0;transform:scale(1);transition:transform 260ms cubic-bezier(.2,.7,.2,1),box-shadow 260ms ease}.photo-grid img{width:100%;height:100%;object-fit:cover}.gallery-end{display:flex;justify-content:center;padding-top:30px}.editorial-study{border-top:1px solid var(--line);padding-block:82px 104px}.editorial-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:34px}.editorial-head .section-title{margin:0;max-width:440px}.concept-note{margin:0;color:var(--muted);font-size:13px;line-height:1.65;max-width:520px}.editorial-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto;gap:18px;align-items:start}.editorial-grid picture{border-radius:12px;overflow:hidden;position:relative}.editorial-grid img{width:100%;height:100%;object-fit:cover}.editorial-grid .concept-lead{grid-column:1/10;grid-row:1;aspect-ratio:1.42}.editorial-grid .concept-lead img{object-position:50% 51%;transform:scale(1.12)}.editorial-grid .concept-detail{grid-column:9/13;grid-row:1;align-self:end;aspect-ratio:4/3;border:12px solid var(--paper);box-shadow:0 18px 40px #183b3720;transform:translateY(22%);z-index:2}.editorial-grid .concept-action{grid-column:4/13;grid-row:2;aspect-ratio:3/1.55;margin-top:64px}
@media(hover:hover) and (pointer:fine){.favorite-card:hover{transform:translateY(-6px);box-shadow:0 20px 38px #183b3724}.favorite-card:hover img{transform:scale(1.035)}.photo-grid picture:hover{z-index:2;transform:scale(1.075);box-shadow:0 18px 44px #183b3730}}
.gather-shell{background:var(--celadon)}.gather{padding-block:74px;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:clamp(40px,7vw,110px)}.gather-copy{padding-left:clamp(0px,2vw,30px)}.gather .section-title{max-width:420px}.gather-photo{overflow:hidden;border-radius:12px 12px 90px 12px;margin:0}.gather-photo img{width:100%;aspect-ratio:1;object-fit:cover;object-position:50% 60%}.light-drawing{width:104px;height:78px;margin:0 0 22px;display:block;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round}.light-drawing .rays{stroke-dasharray:100;stroke-dashoffset:0;animation:daybreak 2.5s ease-out 1}@keyframes daybreak{from{stroke-dashoffset:100;opacity:0}to{stroke-dashoffset:0;opacity:1}}
.guest-section{padding-block:90px}.guest-head{text-align:center;margin-bottom:40px}.guest-head .section-title{margin-bottom:14px}.guest-head p{font-size:13px;color:var(--muted);margin:0}.quotes{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:1000px;margin:auto}.quote{margin:0;border-top:1px solid var(--line);padding-top:24px}.stars{letter-spacing:3px;font-size:17px;color:var(--red);margin-bottom:16px}.quote blockquote{font-size:18px;line-height:1.65;margin:0 0 20px}.quote figcaption{font-size:13px;color:var(--muted)}.guest-link{text-align:center;margin-top:30px}
.visit{border-top:1px solid var(--line);padding-block:80px;display:grid;grid-template-columns:1fr 1fr;gap:80px}.visit address{font-style:normal;font-size:17px;line-height:1.7;margin-bottom:14px}.visit-contact{display:flex;gap:25px;flex-wrap:wrap}.visit h3{font-size:17px;font-weight:600;margin:0 0 22px}.hours{display:grid;grid-template-columns:100px 1fr;gap:16px 26px;line-height:1.6;font-size:15px;margin:0}.hours dt{font-weight:600}.hours dd{margin:0;color:var(--muted)}.visit-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.footer{background:var(--ink);color:var(--paper);padding-block:35px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-brand{font-size:26px;font-weight:550;letter-spacing:-1px}.footer p{font-size:12px;line-height:1.6;margin:4px 0 0;color:#ccdcd3}.footer-links{display:flex;gap:24px;flex-wrap:wrap}.footer a{font-size:13px;min-height:44px;display:inline-flex;align-items:center;text-underline-offset:5px}.preview-footer{font-size:11px;text-align:center;background:var(--ink);color:#ccdcd3;margin:0;padding:0 20px 20px;line-height:1.6}.mobile-order{display:none}
@media(min-width:1600px){.hero-photo{aspect-ratio:1.08}.hero{padding-block:55px}.hero-copy{padding-left:15px}}
@media(max-width:1050px){.nav{gap:18px}.desktop-nav{gap:18px}.brand-sub{max-width:130px}.header-order{min-width:145px;padding-inline:18px}.hero{gap:30px}.hero-copy>p:not(.location-line){font-size:16px}.hero-actions{gap:14px}.food-story,.gather{gap:45px}.visit{gap:40px}}
@media(max-width:760px){html{scroll-padding-top:90px}.preview-note{font-size:10px;padding:5px 12px}.nav{min-height:74px;gap:12px}.brand{gap:8px}.brand img{width:40px;height:40px}.brand-name{font-size:25px}.brand-sub{font-size:9px}.desktop-nav{display:none}.header-order{font-size:13px;min-width:0;min-height:44px;padding:11px 15px}.mobile-nav{display:block}.mobile-nav summary{cursor:pointer;list-style:none;width:44px;height:44px;display:grid;place-items:center}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary svg{width:23px;height:23px}.mobile-nav nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:14px 20px 24px;box-shadow:0 10px 15px #183b3712;border-bottom:1px solid var(--line);display:grid}.mobile-nav nav a{padding:14px 6px;text-decoration:none}.hero{grid-template-columns:1fr;gap:28px;padding-top:28px;padding-bottom:25px}.hero-copy{padding:0}.location-line{font-size:12px;margin-bottom:18px}h1{font-size:clamp(44px,9.4vw,67px);letter-spacing:-.055em;margin-bottom:20px}.hero-copy>p:not(.location-line){font-size:16px;max-width:390px;margin-bottom:22px}.hero-actions{gap:24px}.hero-actions .button{min-height:50px;padding-inline:24px}.hero-photo{aspect-ratio:1.2;border-radius:64px 8px 8px 8px}.hero-caption{font-size:11px;margin-top:9px}.welcome-line{flex-wrap:wrap;justify-content:center;gap:2px 20px;padding-block:12px;font-size:12px}.welcome-line span{width:100%;text-align:center}.food-story{padding-block:58px;grid-template-columns:1fr;gap:30px}.food-story figure{border-radius:8px 48px 8px 8px}.section-title{font-size:38px;margin-bottom:18px}.section-copy{font-size:16px;line-height:1.65;max-width:100%;margin-bottom:22px}.food-story .section-title{max-width:340px}.favorites{padding-block:52px}.favorites-head{align-items:start;margin-bottom:24px}.favorites-head .section-title{font-size:35px}.favorites-head p{font-size:12px}.favorites-head .text-link{display:none}.favorites-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(148px,46vw);gap:12px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;padding:0 1px 12px;scrollbar-width:thin}.favorite-card{scroll-snap-align:start}.favorite-card picture{border-radius:8px}.favorite-card figcaption{font-size:13px;padding-top:10px}.kitchen{padding-bottom:58px}.section-heading{margin-bottom:22px}.section-heading .section-title{font-size:35px}.section-heading .text-link{display:none}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-grid picture{transition:none}.gallery-end{padding-top:24px}.editorial-study{padding-block:54px 64px}.editorial-head{grid-template-columns:1fr;gap:14px;margin-bottom:24px}.editorial-head .section-title{font-size:35px}.concept-note{margin:0;font-size:12px}.editorial-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:10px}.editorial-grid .concept-lead,.editorial-grid .concept-detail,.editorial-grid .concept-action{grid-column:1;grid-row:auto;margin:0;transform:none;border:0;box-shadow:none;border-radius:7px}.editorial-grid .concept-lead{aspect-ratio:1.45}.editorial-grid .concept-detail{aspect-ratio:1.12}.editorial-grid .concept-action{aspect-ratio:1.35}.gather{padding-block:50px;grid-template-columns:1fr;gap:30px}.gather-copy{padding-left:0}.gather-photo{border-radius:8px 8px 60px 8px}.gather-photo img{aspect-ratio:1.1}.light-drawing{width:86px;height:64px;margin-bottom:18px}.guest-section{padding-block:58px}.guest-head{text-align:left;margin-bottom:30px}.guest-head .section-title{font-size:36px}.quotes{grid-template-columns:1fr;gap:28px}.quote blockquote{font-size:17px}.guest-link{text-align:left;margin-top:22px}.visit{padding-block:52px;grid-template-columns:1fr;gap:38px}.visit .section-title{font-size:38px}.hours{font-size:14px;gap:12px 20px;grid-template-columns:94px 1fr}.visit-actions .button{flex:1;padding-inline:14px}.footer-inner{display:block}.footer-links{margin-top:18px;gap:24px}.preview-footer{padding-bottom:100px;text-align:left;padding-inline:20px}.mobile-order{display:flex;position:fixed;z-index:35;bottom:0;left:0;right:0;background:var(--paper);border-top:1px solid var(--line);padding:10px 20px max(10px,env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:16px}.mobile-order span{font-size:12px;color:var(--muted);line-height:1.4}.mobile-order .button{min-height:48px;flex:1;max-width:260px;padding:12px 18px}}
@media(max-width:370px){.brand-sub{display:none}.nav{gap:6px}.brand img{width:34px;height:34px}.brand-name{font-size:23px}.header-order{padding-inline:11px}.hero-actions{gap:16px}.hero-actions .text-link{font-size:13px}.hero-actions .button{padding-inline:18px}}
@media(max-width:760px){.favorites{padding-block:60px 68px}.favorites-head{margin-bottom:26px}.favorites-grid{grid-auto-columns:minmax(220px,68vw);gap:14px;padding-bottom:14px}.favorite-card,.favorite-card:nth-child(even){margin-top:0}.favorite-card{aspect-ratio:4/5;border-radius:10px}.favorite-card picture{border-radius:0}.favorite-card figcaption{left:17px;right:14px;bottom:16px;padding:0;font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.light-drawing .rays{animation:none}.photo-grid picture{transition:none}.photo-grid picture:hover{transform:none;box-shadow:none}}
@media(prefers-reduced-motion:reduce){.favorite-card,.favorite-card img{transition:none}.favorite-card:hover{transform:none;box-shadow:0 10px 24px #183b3712}.favorite-card:hover img{transform:none}}
.food-story picture{aspect-ratio:1.16}.food-story img{height:100%;aspect-ratio:auto}.gather-photo picture{aspect-ratio:1}.gather-photo img{height:100%;aspect-ratio:auto}@media(max-width:760px){.gather-photo picture{aspect-ratio:1.1}}
/* Original direction: restrained, even photo corners instead of asymmetric masks. */
html:not([data-style]) :is(.hero-photo,.food-story figure,.gather-photo,.photo-grid picture,.editorial-grid picture){border-radius:12px}
@media(max-width:760px){html:not([data-style]) :is(.hero-photo,.food-story figure,.gather-photo,.photo-grid picture,.editorial-grid picture){border-radius:8px}}
/* Detail polish: keep Original's palette, composition, fonts and even photo corners. */
html:not([data-style]) :is(h1,.section-title){text-wrap:balance;font-kerning:normal}
html:not([data-style]) .section-copy{text-wrap:pretty}
html:not([data-style]) .gather-shell{position:relative;isolation:isolate}
html:not([data-style]) .gather-shell::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.24;background-image:radial-gradient(circle at 1px 1px,#183b3720 .55px,transparent .8px),radial-gradient(circle at 3px 5px,#fffefa 1px,transparent 1.3px);background-size:7px 9px,11px 13px}
html:not([data-style]) .light-drawing{width:112px;height:82px;stroke-width:1.65;color:var(--ink)}
html:not([data-style]) .light-drawing .rays{animation:none;stroke:var(--red)}
html:not([data-style]) .light-drawing.illuminate .rays{animation:hikari-light 1.6s ease-out 1}
html:not([data-style]) .light-drawing.illuminate>path:first-child{animation:hikari-water 2.2s ease-out 1}
html:not([data-style]) .button{position:relative;transform:translateY(0);transition:background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease,transform 160ms cubic-bezier(.2,.7,.2,1)}
html:not([data-style]) .button:active{transform:translateY(1px);box-shadow:inset 0 2px 3px #00000012}
html:not([data-style]) .text-link{position:relative;text-decoration:none}
html:not([data-style]) .text-link::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:currentColor;opacity:.38;transform:scaleX(.28);transform-origin:left;transition:transform 180ms cubic-bezier(.2,.7,.2,1),opacity 180ms ease}
html:not([data-style]) .text-link:hover::after,html:not([data-style]) .text-link:focus-visible::after{opacity:1;transform:scaleX(1)}
html:not([data-style]) .desktop-nav a{position:relative;text-decoration:none}
html:not([data-style]) .desktop-nav a:hover{text-decoration:none}
html:not([data-style]) .desktop-nav a::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:var(--red);transform:scaleX(0);transform-origin:center;transition:transform 180ms cubic-bezier(.2,.7,.2,1)}
html:not([data-style]) .desktop-nav a:hover::after,html:not([data-style]) .desktop-nav a:focus-visible::after{transform:scaleX(1)}
html:not([data-style]) .mobile-nav[open] nav{animation:hikari-menu 140ms ease-out 1}
html:not([data-style]) .mobile-order:not([hidden]){animation:hikari-order-in 220ms cubic-bezier(.2,.7,.2,1) 1}
@media(hover:hover){html:not([data-style]) .button:hover{transform:translateY(-2px);box-shadow:0 7px 16px #183b3724}}
@keyframes hikari-light{from{stroke-dashoffset:100;opacity:.15}to{stroke-dashoffset:0;opacity:1}}
@keyframes hikari-water{from{opacity:.35}to{opacity:1}}
@keyframes hikari-menu{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@keyframes hikari-order-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html:not([data-style]) :is(.button,.text-link){transition:none}html:not([data-style]) .text-link::after,html:not([data-style]) .desktop-nav a::after{transition:none}html:not([data-style]) .button:hover,html:not([data-style]) .button:active{transform:none}html:not([data-style]) .light-drawing.illuminate path,html:not([data-style]) .mobile-nav[open] nav,html:not([data-style]) .mobile-order:not([hidden]){animation:none}}
/* Visible refinement pass: same composition, more distinctive editorial detail. */
html:not([data-style]) h1{font-family:Playfair,Georgia,serif;font-weight:500;letter-spacing:-.045em;line-height:1.08}
html:not([data-style]) .hero-copy::before{content:"";display:block;width:78px;height:44px;margin-bottom:20px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 56' fill='none' stroke='%23ab3439' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M25 43a25 25 0 0 1 50 0M8 44h84M50 3v9M19 13l7 8M81 13l-7 8M3 30l10 4M97 30l-10 4'/%3E%3C/svg%3E")}
html:not([data-style]) .location-line{margin-bottom:18px}
html:not([data-style]) .gather-shell::before{opacity:.55;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='110' viewBox='0 0 150 110'%3E%3Cg stroke='%23596762' stroke-opacity='.13' fill='none' stroke-width='.6'%3E%3Cpath d='M4 9l18 2m14 19l28-2m22-17l21 3m13 26l22-2M8 71l27 2m20 18l19-3m16-26l32 2m-9 35l24-3M21 42l2 9m61-22l-2 11m-34 19l2 10'/%3E%3C/g%3E%3C/svg%3E")}
html:not([data-style]) .light-drawing{width:190px;height:138px;margin-bottom:26px;stroke-width:1.3}
html:not([data-style]) .hero-photo,html:not([data-style]) .food-story figure,html:not([data-style]) .photo-grid picture,html:not([data-style]) .gather-photo{position:relative}
@media(max-width:760px){html:not([data-style]) h1{font-size:clamp(43px,10.4vw,66px)}html:not([data-style]) .hero-copy::before{width:62px;height:36px;margin-bottom:15px}html:not([data-style]) .light-drawing{width:160px;height:116px}}
/* One immersive food moment: broader than the content grid, but still framed as Hikari. */
html:not([data-style]) .food-story{width:calc(100% - var(--gutter)*2);max-width:1500px;min-height:clamp(520px,42vw,580px);margin-block:100px;padding:0;grid-template-columns:minmax(0,3fr) minmax(360px,2fr);gap:0;align-items:stretch;overflow:hidden;border-radius:12px;background:var(--ink);color:var(--paper)}
html:not([data-style]) .food-story figure{height:100%;margin:0;border-radius:0}
html:not([data-style]) .food-story picture,html:not([data-style]) .food-story img{width:100%;height:100%;aspect-ratio:auto}
html:not([data-style]) .food-story img{object-fit:cover;object-position:50% 52%}
html:not([data-style]) .food-story>div{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(48px,6vw,84px)}
html:not([data-style]) .food-story .section-title{max-width:430px;color:var(--paper);font-size:clamp(42px,4.4vw,64px);margin-bottom:24px}
html:not([data-style]) .food-story .section-copy{max-width:430px;color:#d9e5df;margin-bottom:30px}
@media(max-width:760px){html:not([data-style]) .food-story{width:calc(100% - 40px);min-height:0;margin-block:58px;grid-template-columns:1fr;gap:0;border-radius:8px}html:not([data-style]) .food-story figure,html:not([data-style]) .food-story picture{height:auto;aspect-ratio:1.28}html:not([data-style]) .food-story>div{padding:36px 26px 40px}html:not([data-style]) .food-story .section-title{font-size:38px;margin-bottom:18px}html:not([data-style]) .food-story .section-copy{font-size:16px;margin-bottom:24px}}
.kitchen{padding-top:96px}
@media(max-width:760px){.kitchen{padding-top:58px}}

/* Customer Favorites concept lab: five deliberately different structures using identical content. */
.concept-lab{padding-block:92px 110px;background:var(--paper)}
.concept-lab-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:72px}
.concept-lab-head .section-title{max-width:610px;margin:0}
.concept-lab-head p{max-width:520px;margin:0;color:var(--muted);line-height:1.7}
.favorite-concept{padding-block:70px;border-top:1px solid var(--line)}
.concept-intro{display:grid;grid-template-columns:minmax(220px,.72fr) 1.28fr;gap:42px;align-items:end;margin-bottom:32px}
.concept-intro h3{font:500 clamp(30px,3vw,44px)/1.1 Playfair,Georgia,serif;letter-spacing:-.035em;margin:0}
.concept-intro p{max-width:590px;margin:0;color:var(--muted);line-height:1.65}
.concept-visual figure{margin:0}.concept-visual img{width:100%;height:100%;object-fit:cover}
.concept-caption{position:absolute;z-index:2;left:22px;right:18px;bottom:20px;color:white;font:500 clamp(20px,2vw,29px)/1.08 Playfair,Georgia,serif;letter-spacing:-.025em;text-shadow:0 2px 14px #071c18c7}
.concept-shade::after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(transparent,#071c18d9);pointer-events:none}

.expanding-lineup{display:flex;height:480px;gap:9px;overflow:hidden;border-radius:14px;background:var(--ink)}
.expand-panel{position:relative;flex:.78;min-width:0;overflow:hidden;transition:flex 420ms cubic-bezier(.2,.75,.2,1)}
.expand-panel:first-child{flex:2.35}.expand-panel img{transition:transform 520ms cubic-bezier(.2,.75,.2,1)}
.expanding-lineup:hover .expand-panel:first-child,.expanding-lineup:focus-within .expand-panel:first-child{flex:.78}
.expanding-lineup .expand-panel:hover,.expanding-lineup .expand-panel:focus{flex:2.35;outline:none}
.expanding-lineup .expand-panel:hover img,.expanding-lineup .expand-panel:focus img{transform:scale(1.035)}

.bento-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:240px 240px;gap:12px}
.bento-piece{position:relative;overflow:hidden;border-radius:10px;background:var(--ink)}
.bento-piece:nth-child(1){grid-column:1/7;grid-row:1/3}.bento-piece:nth-child(2){grid-column:7/10;grid-row:1}.bento-piece:nth-child(3){grid-column:10/13;grid-row:1}.bento-piece:nth-child(4){grid-column:7/9;grid-row:2}.bento-piece:nth-child(5){grid-column:9/13;grid-row:2}
.bento-piece:not(:first-child) .concept-caption{font-size:20px;left:16px;bottom:15px}

.deck-stage{position:relative;height:560px;overflow:hidden;background:var(--celadon);border-radius:14px;isolation:isolate}
.deck-stage::before{content:"Hikari";position:absolute;left:50%;top:50%;translate:-50% -52%;color:#d3e1d9;font:500 clamp(90px,14vw,190px)/1 Playfair,Georgia,serif;letter-spacing:-.08em}
.deck-card{position:absolute;left:50%;top:50%;width:min(390px,32%);aspect-ratio:4/5;overflow:visible;border:9px solid var(--paper);border-bottom-width:48px;background:var(--ink);box-shadow:0 22px 55px #183b3730;transform:translate(-50%,-50%);transition:transform 700ms cubic-bezier(.2,.75,.2,1)}
.deck-card figcaption{position:absolute;left:13px;right:13px;bottom:-36px;color:var(--ink);font:500 18px/1.15 Playfair,Georgia,serif}
.deck-stage.is-visible .deck-card:nth-child(1){transform:translate(-112%,-49%) rotate(-9deg)}
.deck-stage.is-visible .deck-card:nth-child(2){transform:translate(-78%,-54%) rotate(-4deg)}
.deck-stage.is-visible .deck-card:nth-child(3){transform:translate(-50%,-57%) rotate(1deg)}
.deck-stage.is-visible .deck-card:nth-child(4){transform:translate(-21%,-53%) rotate(6deg)}
.deck-stage.is-visible .deck-card:nth-child(5){transform:translate(12%,-47%) rotate(10deg)}

.counter-scene{position:relative;overflow:hidden;border-radius:14px;background:#123632;padding:54px 34px 46px;color:var(--paper)}
.counter-scene::after{content:"";position:absolute;left:0;right:0;bottom:0;height:31%;background:linear-gradient(#80543a,#5f3928);border-top:8px solid #b87b53}
.counter-rolls{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:end}
.counter-plate{position:relative}.counter-plate picture{display:block;aspect-ratio:1.05;overflow:hidden;border-radius:50% 50% 8px 8px;background:var(--paper);box-shadow:0 20px 30px #06181559}
.counter-ticket{position:relative;z-index:2;width:calc(100% - 22px);min-height:70px;margin:-12px auto 0;padding:17px 12px 12px;background:#fffefa;color:var(--ink);text-align:center;font:500 17px/1.15 Playfair,Georgia,serif;box-shadow:0 5px 14px #071c1840;transform:rotate(-1deg)}
.counter-plate:nth-child(even) .counter-ticket{transform:rotate(1.2deg)}

.spotlight{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);min-height:560px;overflow:hidden;border-radius:14px;background:var(--ink);color:var(--paper)}
.spotlight-stage{position:relative;min-height:560px}.spotlight-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 380ms ease}.spotlight-slide img{width:100%;height:100%;object-fit:cover}.spotlight-slide.is-active{opacity:1}.spotlight-slide::after{content:"";position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(transparent,#071c188c)}
.favorites .spotlight-slide img{object-position:50% 50%;transform:none}
.spotlight-slide figcaption{position:absolute;z-index:1;left:34px;bottom:30px;color:white;font:500 clamp(30px,3.4vw,50px)/1 Playfair,Georgia,serif;letter-spacing:-.035em}
.spotlight-menu{display:flex;flex-direction:column;justify-content:center;padding:42px}
.spotlight-menu button{appearance:none;width:100%;padding:19px 0;border:0;border-bottom:1px solid #8ca29b66;background:none;color:#aebfba;text-align:left;font:500 clamp(20px,2vw,29px)/1.15 Playfair,Georgia,serif;cursor:pointer;transition:color 180ms ease,padding-left 180ms ease}
.spotlight-menu button[aria-pressed=true]{padding-left:18px;color:white;border-bottom-color:#ffcb73}.spotlight-menu button[aria-pressed=true]::before{content:"";display:inline-block;width:8px;height:8px;margin:0 11px 3px 0;border-radius:50%;background:#ffcb73;box-shadow:0 0 15px #ffcb73}

@media(max-width:760px){
  .concept-lab{padding-block:64px 76px}.concept-lab-head{grid-template-columns:1fr;gap:16px;margin-bottom:42px}.concept-lab-head .section-title{font-size:39px}.concept-lab-head p{font-size:14px}.favorite-concept{padding-block:48px}.concept-intro{grid-template-columns:1fr;gap:12px;margin-bottom:24px}.concept-intro h3{font-size:32px}.concept-intro p{font-size:13px}
  .expanding-lineup{height:auto;display:grid;grid-auto-flow:column;grid-auto-columns:78vw;overflow-x:auto;scroll-snap-type:x mandatory;background:transparent;border-radius:0}.expand-panel,.expand-panel:first-child,.expanding-lineup:hover .expand-panel:first-child,.expanding-lineup:focus-within .expand-panel:first-child{flex:none;aspect-ratio:4/5;border-radius:10px;scroll-snap-align:start}.expanding-lineup .expand-panel:hover,.expanding-lineup .expand-panel:focus{flex:none}.concept-caption{font-size:24px}
  .bento-grid{grid-template-columns:1.15fr .85fr;grid-template-rows:260px 150px 180px;gap:8px}.bento-piece:nth-child(1){grid-column:1/3;grid-row:1}.bento-piece:nth-child(2){grid-column:1;grid-row:2}.bento-piece:nth-child(3){grid-column:2;grid-row:2}.bento-piece:nth-child(4){grid-column:1;grid-row:3}.bento-piece:nth-child(5){grid-column:2;grid-row:3}.bento-piece:not(:first-child) .concept-caption{font-size:16px;left:11px;bottom:11px}
  .deck-stage{height:455px}.deck-stage::before{font-size:82px}.deck-card{width:63%;border-width:6px;border-bottom-width:39px}.deck-card figcaption{bottom:-30px;font-size:15px}.deck-stage.is-visible .deck-card:nth-child(1){transform:translate(-76%,-55%) rotate(-11deg)}.deck-stage.is-visible .deck-card:nth-child(2){transform:translate(-68%,-53%) rotate(-6deg)}.deck-stage.is-visible .deck-card:nth-child(3){transform:translate(-50%,-50%) rotate(0)}.deck-stage.is-visible .deck-card:nth-child(4){transform:translate(-31%,-46%) rotate(6deg)}.deck-stage.is-visible .deck-card:nth-child(5){transform:translate(-24%,-41%) rotate(11deg)}
  .counter-scene{margin-inline:calc(var(--gutter)*-1);border-radius:0;padding:38px 20px 40px}.counter-rolls{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:68vw;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.counter-plate{scroll-snap-align:center}.counter-ticket{font-size:20px}
  .spotlight{grid-template-columns:1fr;min-height:0}.spotlight-stage{min-height:0;aspect-ratio:16/10}.spotlight-menu{display:grid;grid-auto-flow:column;grid-auto-columns:65%;justify-content:start;overflow-x:auto;padding:12px 20px 18px}.spotlight-menu button{font-size:18px;padding:14px 8px;white-space:nowrap}.spotlight-menu button[aria-pressed=true]{padding-left:8px}.spotlight-slide figcaption{left:22px;bottom:22px;font-size:34px}
}
@media(prefers-reduced-motion:reduce){.expand-panel,.expand-panel img,.deck-card,.spotlight-slide,.spotlight-menu button{transition:none}}

/* Keep inactive photographs out of assistive navigation; maintain the approved static hero. */
.spotlight-slide:not(.is-active){visibility:hidden}.spotlight-slide.is-active{visibility:visible}.quote blockquote{overflow-wrap:anywhere}.review-controls{display:flex;justify-content:center;gap:12px;margin-top:24px}.review-controls button{padding:10px 18px;border:1px solid var(--ink);border-radius:7px;background:transparent;color:var(--ink);cursor:pointer}.footer{padding-bottom:95px}@media(min-width:761px){.footer{padding-bottom:20px}}
.spotlight-controls{display:none}
@media(max-width:760px){
  .favorites .spotlight{display:block;background:transparent;color:var(--ink);overflow:visible;border-radius:0}
  .favorites .spotlight-stage{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;aspect-ratio:auto;min-height:0;padding-right:28px;scrollbar-width:none}
  .favorites .spotlight-stage::-webkit-scrollbar{display:none}
  .favorites .spotlight-slide,.favorites .spotlight-slide:not(.is-active){position:relative;inset:auto;flex:0 0 calc(100% - 28px);min-width:0;opacity:1;visibility:visible;scroll-snap-align:start;transition:none}
  .favorites .spotlight-slide::after{display:none}
  .favorites .spotlight-slide img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:10px}
  .favorites .spotlight-slide figcaption{position:static;color:var(--ink);font-size:26px;line-height:1.15;letter-spacing:-.025em;padding-top:14px;min-height:74px}
  .favorites .spotlight-menu{display:none}
  .favorites .spotlight-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
  .spotlight-controls .browse-hint{font-size:12px;color:var(--muted)}
  .spotlight-controls .browse-actions{display:flex;align-items:center;gap:12px}
  .spotlight-controls output{font-size:13px;min-width:44px;text-align:center;font-variant-numeric:tabular-nums}
  .spotlight-controls button{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--ink);border-radius:50%;background:transparent;color:var(--ink);font:24px/1 Inter,sans-serif;cursor:pointer}
  .spotlight-controls button:disabled{opacity:.3;cursor:default}
  .spotlight-controls button:focus-visible,.spotlight-stage:focus-visible{outline:3px solid var(--red);outline-offset:3px}
}
/* Owner-approved ivory panels and restrained warm shadows. */
html[data-panel=ivory]{--panel:#f6f0e3;--panel-text:#303833;--panel-muted:#525d55;--panel-line:#b5b8a8}
html[data-panel=ivory] .food-story{box-shadow:0 3px 8px -3px rgba(101,89,68,.12),0 12px 24px -12px rgba(101,89,68,.24)}
html[data-panel=ivory] .footer{--panel:#eee5d5}
@media(min-width:761px){html[data-panel=ivory] .spotlight{box-shadow:0 3px 8px -3px rgba(101,89,68,.12),0 12px 24px -12px rgba(101,89,68,.24)}}
html[data-panel]:not([data-panel=green]) .food-story,html[data-panel]:not([data-panel=green]) .footer,html[data-panel]:not([data-panel=green]) .spotlight-menu{background:var(--panel);color:var(--panel-text)}
html[data-panel]:not([data-panel=green]) .food-story .section-title{color:var(--panel-text)}
html[data-panel]:not([data-panel=green]) .food-story .section-copy,html[data-panel]:not([data-panel=green]) .footer p{color:var(--panel-muted)}
html[data-panel]:not([data-panel=green]) .spotlight-menu button{color:var(--panel-muted);border-bottom-color:var(--panel-line)}
html[data-panel]:not([data-panel=green]) .spotlight-menu button[aria-pressed=true]{color:var(--panel-text);border-bottom-color:var(--red)}
html[data-panel]:not([data-panel=green]) .spotlight-menu button[aria-pressed=true]::before{background:var(--red);box-shadow:none}
/* Preserve full drink geometry; dessert remains the deliberate macro detail. */
.sweets-story .editorial-head .section-title{max-width:680px;font-size:clamp(34px,4.2vw,58px)}
.sweets-story .editorial-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-template-rows:1fr 1fr;align-items:stretch}
.sweets-story .concept-lead{grid-column:1;grid-row:1/3;aspect-ratio:auto}
.sweets-story .concept-detail{grid-column:2;grid-row:1;aspect-ratio:1;align-self:stretch;border:0;box-shadow:none;transform:none}
.sweets-story .concept-action{grid-column:2;grid-row:2;margin-top:0}
.sweets-story .concept-lead img{transform:none;object-position:center}
.sweets-story .concept-action{aspect-ratio:1}
.sweets-story .concept-action img{object-position:center}
@media(max-width:760px){.sweets-story .editorial-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:12px}.sweets-story .concept-lead,.sweets-story .concept-detail,.sweets-story .concept-action{grid-column:1;grid-row:auto}.sweets-story .concept-lead{aspect-ratio:4/5}}

/* The selected roll's order action remains visible below the phone carousel. */
@media(max-width:760px){
  .favorites-head{flex-wrap:wrap;gap:12px}
  .favorites-head [data-favorite-order]{display:inline-flex;min-height:44px}
  .favorites .favorite-order-mobile{display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;margin-top:20px;padding:12px 16px;border-radius:4px;background:var(--ink);color:var(--paper);text-align:center;text-decoration:none}
  .favorites .favorite-order-mobile::after{display:none}
  .favorites .favorite-order-mobile:focus-visible{outline:3px solid var(--red);outline-offset:3px}
}

/* Named ordering actions stay visible below kitchen photos at every width. */
.gallery-dish{margin:0;min-width:0}.gallery-dish picture{display:block}.gallery-dish figcaption{padding:14px 2px 8px}.gallery-dish h3{font-family:"Playfair Display",Georgia,serif;font-weight:600;font-size:23px;line-height:1.2;margin:0 0 4px;overflow-wrap:anywhere}.gallery-dish .text-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px}.gallery-dish .text-link:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media(max-width:760px){.photo-grid{row-gap:20px}.gallery-dish h3{font-size:19px;min-height:2.4em}.gallery-dish figcaption{padding-top:12px}.gallery-dish .text-link{font-size:13px}}
