:root { --paper:#f5f0e7; --paper-deep:#ece4d7; --ink:#2b2420; --muted:#746b63; --accent:#a55f45; --line:rgba(43,36,32,.16); --serif:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif; --sans:"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; --page:min(1240px,calc(100% - 96px)); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; color:var(--ink); background:var(--paper); font-family:var(--sans); font-size:16px; line-height:2; letter-spacing:.04em; }
img { display:block; width:100%; height:100%; object-fit:cover; }
a { color:inherit; }
h1,h2,h3,p,figure { margin-top:0; }
h1,h2,h3 { font-family:var(--serif); font-weight:400; letter-spacing:-.015em; }

.site-header { position:sticky; top:0; z-index:20; height:96px; padding:0 max(48px,calc((100vw - 1240px)/2)); display:flex; align-items:center; justify-content:space-between; background:rgba(245,240,231,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(14px); }
.logo { display:inline-flex; flex-direction:column; text-decoration:none; font:400 1.25rem/1 var(--serif); letter-spacing:.18em; }
.logo span { margin-bottom:8px; color:var(--accent); font:600 .61rem/1 var(--sans); letter-spacing:.32em; }
.site-nav { display:flex; gap:clamp(28px,4vw,60px); align-items:center; }
.site-nav a { position:relative; padding:8px 0; text-decoration:none; font-size:.72rem; letter-spacing:.18em; }
.site-nav a::after { position:absolute; right:0; bottom:2px; left:0; height:1px; content:""; background:var(--accent); transform:scaleX(0); transform-origin:right; transition:transform .35s ease; }
.site-nav a:hover::after,.site-nav a.active::after { transform:scaleX(1); transform-origin:left; }
.nav-toggle { display:none; border:0; background:none; padding:10px; }
.nav-toggle span { display:block; width:26px; height:1px; margin:6px 0; background:var(--ink); transition:.3s; }

body[data-page="home"] .site-header { position:absolute; width:100%; color:#f8f3eb; background:linear-gradient(to bottom,rgba(20,15,12,.48),transparent); border-bottom-color:rgba(255,255,255,.2); backdrop-filter:none; }
body[data-page="home"] .site-header .logo span { color:#d8a58d; }
body[data-page="home"] .site-header .nav-toggle span { background:#f8f3eb; }
.home-hero { position:relative; min-height:100svh; display:flex; align-items:center; padding:150px max(48px,calc((100vw - 1240px)/2)) 100px; color:#f8f3eb; background:url("images/hero-cafe-interior.png") center/cover no-repeat; overflow:hidden; }
.home-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(22,16,13,.78) 0%,rgba(22,16,13,.55) 34%,rgba(22,16,13,.08) 72%),linear-gradient(0deg,rgba(16,12,10,.35),transparent 48%); }
.home-hero-copy { position:relative; z-index:1; max-width:780px; }
.home-hero .eyebrow { color:#dab09e; }
.home-hero h1 { margin-bottom:36px; font-size:clamp(4.5rem,8.5vw,8.8rem); line-height:.88; color:#fffaf2; }
.home-hero-copy>p:not(.eyebrow) { max-width:470px; margin-bottom:38px; color:rgba(255,250,242,.82); font-size:1.03rem; line-height:2.1; }
.hero-link { display:inline-flex; gap:42px; align-items:center; padding-bottom:6px; border-bottom:1px solid rgba(255,255,255,.65); text-decoration:none; font-size:.7rem; letter-spacing:.18em; }
.hero-link span { transition:transform .3s; }.hero-link:hover span { transform:translate(4px,-4px); }
.hero-hours { position:absolute; z-index:1; right:max(48px,calc((100vw - 1240px)/2)); bottom:52px; margin:0; font-size:.65rem; letter-spacing:.2em; }
.scroll-mark { position:absolute; z-index:1; bottom:42px; left:50%; padding-left:70px; font-size:.58rem; letter-spacing:.24em; transform:rotate(90deg); transform-origin:left center; }
.scroll-mark::before { position:absolute; top:50%; left:0; width:50px; height:1px; content:""; background:rgba(255,255,255,.55); }

.home-about { display:grid; grid-template-columns:1fr 1fr; gap:clamp(80px,12vw,180px); align-items:start; }
.home-about h2,.section-heading h2,.home-access h2 { margin:0; font-size:clamp(3.8rem,6.5vw,7rem); line-height:.92; }
.home-about-copy { max-width:520px; padding-top:54px; }.home-about-copy>p:not(.section-ja) { color:var(--muted); }.home-about-copy .text-link { margin-top:36px; }
.home-menu { background:#ebe3d7; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:50px; margin-bottom:82px; }.section-heading>p { max-width:340px; margin:0; color:var(--muted); }
.menu-card-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.menu-card { min-width:0; min-height:610px; display:flex; flex-direction:column; border-right:1px solid var(--line); overflow:hidden; }.menu-card:last-child { border-right:0; }
.menu-card-image { width:100%; aspect-ratio:4/3; margin:0; overflow:hidden; background:#ded5c8; }.menu-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }.menu-card:hover .menu-card-image img { transform:scale(1.025); }
.card-number { margin:30px 34px 0; color:var(--accent); font:italic 1rem var(--serif); }.menu-card>div { margin:auto 34px; padding:28px 0; }.menu-card h3 { margin-bottom:18px; font-size:1.55rem; }.menu-card div p { margin:0; color:var(--muted); font-size:.9rem; }.menu-card strong { align-self:flex-end; margin:0 34px 30px; color:var(--accent); font-size:.88rem; font-weight:500; }
.menu-all-link { margin-top:48px; }
.home-access { padding:clamp(100px,12vw,170px) max(48px,calc((100vw - 1240px)/2)); display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(70px,10vw,150px); align-items:end; color:var(--paper); background:var(--ink); }
.home-access .eyebrow { color:#d6a38e; }.home-access-info { max-width:470px; }.home-access-info p { color:#c8bfb8; }.home-access-info p+p { margin-top:28px; padding-top:24px; border-top:1px solid rgba(255,255,255,.18); }
.outline-button { display:flex; justify-content:space-between; align-items:center; margin-top:44px; padding:17px 20px; border:1px solid rgba(255,255,255,.45); text-decoration:none; font-size:.67rem; letter-spacing:.16em; transition:.3s; }.outline-button:hover { color:var(--ink); background:var(--paper); border-color:var(--paper); }

.eyebrow { margin-bottom:24px; color:var(--accent); font-size:.68rem; font-weight:600; line-height:1.4; letter-spacing:.28em; }
.hero { width:var(--page); min-height:calc(100vh - 96px); margin:0 auto; padding:clamp(72px,9vw,140px) 0; display:grid; grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr); align-items:center; gap:clamp(48px,7vw,112px); }
.hero-copy { position:relative; z-index:2; }
.hero h1 { max-width:720px; margin-bottom:30px; font-size:clamp(3.6rem,6vw,6.8rem); line-height:.96; }
.hero-ja { margin:0 0 26px; font-family:var(--serif); font-size:1.15rem; letter-spacing:.06em; }
.hero-copy>p:not(.eyebrow):not(.hero-ja) { max-width:480px; color:var(--muted); }
.hero-image { position:relative; height:min(68vh,720px); min-height:520px; margin:0; }
.hero-image::before { position:absolute; z-index:-1; top:-26px; right:-26px; width:72%; height:70%; content:""; border:1px solid var(--accent); }
.hero-image figcaption { position:absolute; right:-1px; bottom:-44px; font:italic .72rem var(--serif); letter-spacing:.08em; color:var(--muted); }
.button { display:inline-flex; align-items:center; gap:34px; margin-top:24px; padding:14px 22px; color:var(--paper); background:var(--ink); text-decoration:none; font-size:.71rem; letter-spacing:.16em; transition:background .25s,gap .25s; }
.button:hover { gap:44px; background:var(--accent); transform:translateY(-2px); box-shadow:0 12px 28px rgba(43,36,32,.18); }

.section-pad { padding:clamp(110px,13vw,190px) max(48px,calc((100vw - 1240px)/2)); }
.intro { text-align:center; background:#faf7f1; }
.intro h2,.values>h2,.favorites h2 { margin-bottom:24px; font-size:clamp(3.1rem,6vw,6.7rem); line-height:.98; }
.section-ja { margin-bottom:28px; font-family:var(--serif); font-size:1.18rem; }
.lead { max-width:700px; margin:0 auto 86px; color:var(--muted); }
.feature-grid,.value-grid { display:grid; grid-template-columns:repeat(3,1fr); max-width:1140px; margin:0 auto; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.feature-grid article,.value-grid article { min-height:250px; padding:44px 42px; text-align:left; border-right:1px solid var(--line); transition:background .3s,transform .3s; }
.feature-grid article:hover,.value-grid article:hover { background:#fffaf3; transform:translateY(-4px); }
.feature-grid article:last-child,.value-grid article:last-child { border-right:0; }
.feature-number { color:var(--accent); font:italic 1rem var(--serif); }
.feature-grid h3,.value-grid h3 { margin:58px 0 10px; font-size:1.35rem; }
.feature-grid p,.value-grid p { margin:0; color:var(--muted); font-size:.92rem; }
.favorites { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(60px,9vw,130px); align-items:center; }
.favorites-image { height:clamp(430px,52vw,680px); }
.favorites-copy { max-width:500px; }
.favorites-copy>p:not(.eyebrow):not(.section-ja) { color:var(--muted); }
.text-link { display:inline-block; margin-top:28px; padding-bottom:5px; border-bottom:1px solid currentColor; text-decoration:none; font-size:.72rem; letter-spacing:.16em; transition:color .25s,letter-spacing .25s; }.text-link:hover { color:var(--accent); letter-spacing:.2em; }
.visit-strip { display:grid; grid-template-columns:1.4fr 1fr auto; align-items:end; gap:56px; padding:72px max(48px,calc((100vw - 1240px)/2)); color:var(--paper); background:var(--ink); }
.visit-strip .eyebrow { color:#d6a38e; }.visit-strip h2 { margin:0; font-size:clamp(2rem,3.4vw,3.2rem); }.visit-strip p { margin:0; }.visit-strip .text-link { color:var(--paper); }

.page-heading { padding:clamp(105px,12vw,180px) max(48px,calc((100vw - 1240px)/2)); border-bottom:1px solid var(--line); }
.page-heading h1 { margin:0 0 30px; font-size:clamp(4.8rem,11vw,10rem); line-height:.82; }
.page-heading>p:last-child { margin:0; color:var(--muted); }
.menu-wrap { max-width:1240px; margin:0 auto; }
.menu-section { display:grid; grid-template-columns:300px 1fr; gap:76px; margin-bottom:120px; }
.menu-title span { color:var(--accent); font:italic 1rem var(--serif); }.menu-title h2 { margin-top:18px; font-size:1.7rem; }
.menu-list>div { display:grid; grid-template-columns:1fr auto; padding:25px 0; border-bottom:1px solid var(--line); }
.menu-list h3 { margin:0; font:500 1rem var(--sans); }.menu-list p { grid-column:1; margin:4px 0 0; color:var(--muted); font-size:.86rem; }.menu-list strong { grid-column:2; grid-row:1/3; align-self:center; color:var(--accent); font-weight:500; }
.menu-note { padding-top:22px; border-top:1px solid var(--line); color:var(--muted); font-size:.82rem; }

.filter-menu { max-width:1240px; margin:0 auto; }
.filter-bar { position:sticky; top:96px; z-index:10; display:flex; gap:10px; margin-bottom:70px; padding:18px 0; background:rgba(245,240,231,.96); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.filter-button { min-width:112px; padding:12px 20px; border:1px solid var(--line); color:var(--muted); background:transparent; font:600 .78rem/1 var(--sans); letter-spacing:.16em; cursor:pointer; transition:.25s; }
.filter-button:hover,.filter-button:focus-visible { color:var(--ink); border-color:var(--ink); }.filter-button.active { color:var(--paper); background:var(--ink); border-color:var(--ink); }
.product-list { border-top:1px solid var(--line); }
.product-item { display:grid; grid-template-columns:110px 1fr auto; gap:40px; align-items:center; padding:34px 18px; border-bottom:1px solid var(--line); transition:background .3s,transform .3s; }.product-item:hover { background:rgba(255,255,255,.42); transform:translateX(6px); }
.product-item[hidden] { display:none; }.product-category { color:var(--accent); font-size:.7rem; font-weight:600; letter-spacing:.2em; }.product-item h2 { margin:0 0 5px; font-family:var(--sans); font-size:1.08rem; font-weight:500; letter-spacing:.04em; }.product-item p { margin:0; color:var(--muted); font-size:.9rem; }.product-item strong { color:var(--accent); font-size:.9rem; font-weight:500; }

.story { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(60px,9vw,130px); align-items:center; background:#faf7f1; }
.story-art { height:clamp(520px,60vw,760px); overflow:hidden; }.story-art img { object-position:57% center; }
.story-copy h2 { margin-bottom:36px; font-size:clamp(2.8rem,4.5vw,5.2rem); line-height:1.08; }.story-copy p:not(.eyebrow) { color:var(--muted); }
.values { text-align:center; }.values .value-grid { margin-top:70px; }.values .value-grid article { background:transparent; }
.store-details { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(70px,10vw,150px); color:var(--paper); background:var(--ink); }
.details-heading h2 { margin:0 0 34px; font-size:clamp(3.5rem,6vw,6.3rem); line-height:.92; }.details-heading>p:last-child { max-width:420px; color:#bcb2ac; }.store-details .eyebrow { color:#d6a38e; }
.details-list { margin:0; border-top:1px solid rgba(255,255,255,.2); }.details-list>div { display:grid; grid-template-columns:140px 1fr; gap:30px; padding:25px 0; border-bottom:1px solid rgba(255,255,255,.2); }.details-list dt { color:#d6a38e; font-size:.7rem; font-weight:600; letter-spacing:.18em; }.details-list dd { margin:0; display:flex; justify-content:space-between; gap:28px; align-items:baseline; }.details-list strong { font-family:var(--serif); font-size:1.25rem; font-weight:400; }.details-list span { color:#aaa09a; font-size:.82rem; text-align:right; }

.access-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(70px,9vw,130px); align-items:center; max-width:1240px; margin:auto; }
.map-card { position:relative; aspect-ratio:1.16; overflow:hidden; border:1px solid var(--line); background:var(--paper-deep); }
.road { position:absolute; border:1px solid rgba(43,36,32,.08); background:#fbf8f2; }.road-a { top:44%; left:-10%; width:120%; height:65px; transform:rotate(-8deg); }.road-b { top:-10%; left:27%; width:60px; height:120%; transform:rotate(12deg); }.road-c { top:-10%; right:16%; width:45px; height:120%; transform:rotate(-25deg); }
.station,.map-label,.map-pin { position:absolute; z-index:2; }.station { bottom:16%; left:10%; padding:5px 14px; color:var(--paper); background:var(--ink); font-size:.72rem; }.map-label { top:37%; left:44%; color:var(--muted); font-size:.68rem; transform:rotate(-8deg); }.map-pin { top:24%; right:25%; width:76px; height:76px; padding:14px; display:grid; place-items:center; color:#fff; background:var(--accent); border-radius:50% 50% 50% 0; transform:rotate(-45deg); text-align:center; font:400 .9rem/1.3 var(--serif); }
.shop-info h2 { margin-bottom:34px; font-size:3.2rem; }.shop-info dl { margin:0 0 34px; border-top:1px solid var(--line); }.shop-info dl div { display:grid; grid-template-columns:105px 1fr; padding:19px 0; border-bottom:1px solid var(--line); }.shop-info dt { font-size:.84rem; font-weight:600; }.shop-info dd { margin:0; }.shop-info small { color:var(--muted); }.notice { padding:20px 22px; border-left:2px solid var(--accent); background:rgba(255,255,255,.34); color:var(--muted); font-size:.86rem; }
.osm-map iframe { display:block; width:100%; height:clamp(500px,55vw,680px); border:0; filter:grayscale(1) sepia(.15) contrast(.92); }.osm-map>a { display:inline-block; margin-top:14px; color:var(--muted); font-size:.78rem; text-underline-offset:5px; }.shop-info dd a { text-underline-offset:5px; }

.site-footer { position:relative; display:grid; grid-template-columns:1.4fr 1fr .7fr; gap:60px; padding:88px max(48px,calc((100vw - 1240px)/2)) 50px; color:var(--paper); background:var(--ink); }
.site-footer .logo { font-size:1.6rem; }.tagline { margin:24px 0 0; color:#aca39d; font:italic 1rem var(--serif); }.site-footer .eyebrow { margin-bottom:15px; color:#d6a38e; }.footer-info p:last-child { margin:0; color:#c9c0ba; font-size:.85rem; }.footer-social { display:flex; flex-direction:column; align-items:flex-start; }.footer-social a { color:#c9c0ba; font-size:.85rem; text-underline-offset:5px; }.copyright { position:absolute; right:max(48px,calc((100vw - 1240px)/2)); bottom:48px; margin:0; color:#8f8580; font-size:.68rem; letter-spacing:.1em; }

.reveal { opacity:1; transform:none; }
.motion-ready .reveal { opacity:0; transform:translateY(26px); transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1); }
.motion-ready .reveal.visible { opacity:1; transform:none; }
.back-to-top { position:fixed; z-index:30; right:28px; bottom:28px; width:62px; height:62px; display:grid; place-items:center; align-content:center; gap:0; border:1px solid rgba(245,240,231,.38); border-radius:50%; color:var(--paper); background:rgba(43,36,32,.92); box-shadow:0 10px 32px rgba(20,15,12,.2); font-family:var(--sans); cursor:pointer; opacity:0; visibility:hidden; transform:translateY(14px); transition:opacity .3s,transform .3s,background .25s; }.back-to-top span:first-child { font-size:1rem; line-height:1; }.back-to-top span:last-child { font-size:.56rem; letter-spacing:.12em; }.back-to-top.visible { opacity:1; visibility:visible; transform:none; }.back-to-top:hover { background:var(--accent); transform:translateY(-4px); }.back-to-top:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }.motion-ready .reveal { opacity:1; transform:none; } }
@media (max-width:900px) {
  :root { --page:calc(100% - 48px); }
  .site-header { height:78px; padding:0 24px; }.js-enabled .nav-toggle { display:block; z-index:3; }.nav-toggle.open span:first-child { transform:translateY(7px) rotate(45deg); }.nav-toggle.open span:nth-child(2) { opacity:0; }.nav-toggle.open span:last-child { transform:translateY(-7px) rotate(-45deg); }
  body[data-page="home"] .site-nav { color:var(--ink); }
  .home-hero { min-height:92svh; padding:130px 24px 80px; background-position:58% center; }.home-hero h1 { font-size:clamp(4rem,14vw,7rem); }.home-hero-shade { background:linear-gradient(90deg,rgba(22,16,13,.82),rgba(22,16,13,.24)),linear-gradient(0deg,rgba(16,12,10,.45),transparent 50%); }.hero-hours { right:24px; bottom:30px; }.scroll-mark { display:none; }
  .home-about { grid-template-columns:1fr; gap:48px; }.home-about-copy { padding-top:0; }.section-heading { display:block; }.section-heading>p { margin-top:28px; }.menu-card-grid { grid-template-columns:1fr; }.menu-card { min-height:0; border-right:0; border-bottom:1px solid var(--line); }.menu-card:last-child { border-bottom:0; }.menu-card-image { aspect-ratio:16/10; }.home-access { grid-template-columns:1fr; padding:100px 24px; }.home-access-info { max-width:600px; }
  .js-enabled .site-nav { position:absolute; top:78px; right:0; left:0; display:flex; flex-direction:column; align-items:flex-start; gap:0; padding:28px 24px 36px; background:var(--paper); border-bottom:1px solid var(--line); visibility:hidden; opacity:0; transform:translateY(-12px); pointer-events:none; transition:opacity .3s,transform .3s; }.js-enabled .site-nav.open { visibility:visible; opacity:1; transform:none; pointer-events:auto; }.site-nav a { padding:12px 0; }.js-enabled .site-nav a { width:100%; }
  html:not(.js-enabled) .site-header { height:auto; min-height:78px; flex-wrap:wrap; padding-top:16px; padding-bottom:16px; } html:not(.js-enabled) .site-nav { width:100%; flex-wrap:wrap; gap:10px 24px; padding-top:12px; }
  .hero { min-height:auto; padding:70px 0 110px; grid-template-columns:1fr; gap:72px; }.hero h1 { font-size:clamp(3.7rem,13vw,6.2rem); }.hero-image { height:68vw; min-height:390px; }.hero-image figcaption { right:0; }
  .section-pad { padding:110px 24px; }.feature-grid,.value-grid { grid-template-columns:1fr; }.feature-grid article,.value-grid article { min-height:0; border-right:0; border-bottom:1px solid var(--line); }.feature-grid article:last-child,.value-grid article:last-child { border-bottom:0; }.feature-grid h3,.value-grid h3 { margin-top:26px; }
  .favorites,.story,.access-grid { grid-template-columns:1fr; }.favorites-image { height:72vw; }.favorites-copy { max-width:620px; }.story-art { height:70vw; min-height:440px; }.story-copy { order:-1; }
  .visit-strip { grid-template-columns:1fr; gap:24px; align-items:start; padding:64px 24px; }.page-heading { padding:100px 24px; }.page-heading h1 { font-size:clamp(4.4rem,16vw,7.5rem); }
  .menu-section { grid-template-columns:1fr; gap:20px; }.menu-title h2 { margin-bottom:10px; }.filter-bar { top:78px; overflow-x:auto; scrollbar-width:none; }.filter-bar::-webkit-scrollbar { display:none; }.filter-button { min-width:102px; }.product-item { grid-template-columns:86px 1fr auto; gap:22px; }.store-details { grid-template-columns:1fr; }.details-list dd { flex-direction:column; gap:3px; }.details-list span { text-align:left; }.osm-map iframe { height:520px; }.site-footer { grid-template-columns:1fr 1fr; padding:72px 24px 100px; }.site-footer>div:first-child { grid-column:1/-1; }.copyright { right:24px; bottom:34px; }
}
@media (max-width:540px) {
  body { font-size:15px; }.home-hero { min-height:760px; background-position:61% center; }.home-hero h1 { font-size:clamp(3.6rem,17vw,5rem); }.home-hero-copy>p:not(.eyebrow) { font-size:.94rem; }.hero-hours { font-size:.58rem; }.home-about h2,.section-heading h2,.home-access h2 { font-size:3.55rem; }.menu-card-image { aspect-ratio:4/3; }.card-number { margin:25px 24px 0; }.menu-card>div { margin:0 24px; padding:26px 0; }.menu-card strong { margin:0 24px 26px; }.hero { padding-top:56px; }.hero h1 { font-size:clamp(3.25rem,16vw,4.7rem); }.hero-image { min-height:360px; }.intro h2,.values>h2,.favorites h2 { font-size:3.25rem; }.section-pad { padding-top:88px; padding-bottom:88px; }.page-heading { padding-top:82px; padding-bottom:82px; }.menu-section { margin-bottom:84px; }.filter-bar { margin-bottom:48px; }.filter-button { min-width:94px; padding:11px 16px; }.product-item { grid-template-columns:1fr auto; gap:8px 18px; padding:28px 10px; }.product-category { grid-column:1/-1; }.product-item div { grid-column:1; }.product-item strong { grid-column:2; align-self:end; }.details-list>div { grid-template-columns:1fr; gap:8px; }.details-list dd { gap:1px; }.osm-map iframe { height:440px; }.menu-list>div { grid-template-columns:1fr auto; column-gap:15px; }.shop-info dl div { grid-template-columns:86px 1fr; }.site-footer { grid-template-columns:1fr; gap:42px; }.site-footer>div:first-child { grid-column:auto; }.copyright { left:24px; right:auto; }.favorites-image { height:92vw; }.back-to-top { right:16px; bottom:16px; width:56px; height:56px; }
}
