@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Noto+Sans+JP:wght@400;500;700&display=swap');
body.motion-enabled .reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}body.motion-enabled .reveal.is-visible{opacity:1;transform:translateY(0)}.button,.filter-button,.visit-banner a,.social-links a{transition:color .25s ease,background-color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease}.button:hover,.filter-button:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(48,43,39,.14)}.card,.menu-item,.value-grid article{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.card:hover,.menu-item:hover,.value-grid article:hover{transform:translateY(-7px);box-shadow:0 16px 32px rgba(48,43,39,.10)}.visit-banner a:hover,.social-links a:hover{color:#fff;border-color:currentColor}.back-to-top{position:fixed;z-index:10;right:24px;bottom:24px;width:54px;height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--accent);border-radius:50%;background:var(--surface);color:var(--accent);font:700 8px/1 "Noto Sans JP",sans-serif;letter-spacing:.08em;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:.25s}.back-to-top span:first-child{margin-bottom:3px;font:18px/1 "DM Serif Display",serif}.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--accent);color:#fff;transform:translateY(-3px)}@media(max-width:700px){.back-to-top{right:16px;bottom:16px;width:50px;height:50px}body.motion-enabled .reveal{transform:translateY(16px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body.motion-enabled .reveal{opacity:1;transform:none;transition:none}.button,.filter-button,.card,.menu-item,.value-grid article,.back-to-top{transition:none}}
.menu-catalog{padding-top:120px}.catalog-intro{max-width:660px}.catalog-intro p:last-child{margin:24px 0 0;color:var(--muted);font-size:14px}.filter-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:55px 0 35px}.filter-button{padding:10px 17px;border:1px solid var(--line);background:transparent;color:var(--ink);font:700 10px "Noto Sans JP",sans-serif;letter-spacing:.14em;cursor:pointer}.filter-button:hover,.filter-button.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.menu-item{min-height:230px;padding:30px;background:var(--surface);border-top:2px solid transparent}.menu-item:hover{border-color:var(--accent)}.menu-item.is-hidden{display:none}.item-category{margin:0;color:var(--accent);font-size:9px;font-weight:700;letter-spacing:.18em}.menu-item h3{margin:15px 0 8px;font:25px/1.25 "DM Serif Display",serif}.menu-item>p:not(.item-category){margin:0;color:var(--muted);font-size:12px;line-height:1.9}.menu-item span{display:block;margin-top:22px;font:21px "DM Serif Display",serif}.fiction-note{margin:30px 0 0;color:var(--muted);font-size:11px}.concept-section{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.concept-mark{min-height:430px;display:grid;place-content:center;background:linear-gradient(145deg,#72564a,#b28769);color:#fbf5ec;text-align:center;font:italic 140px/.65 "DM Serif Display",serif}.concept-mark small{font-size:20px;letter-spacing:.1em}.concept-section h2,.facts-heading h2,.access-copy h2{margin:0;font:400 clamp(35px,3.8vw,52px)/1.35 "DM Serif Display","Noto Sans JP",serif}.concept-section p:not(.eyebrow){margin:25px 0 0;color:var(--muted);font-size:14px;line-height:2.25}.shop-facts{padding:115px max(7vw,30px);background:#e8e4da}.facts-heading{max-width:1110px;margin:0 auto 45px}.shop-facts dl{max-width:1110px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.shop-facts dl>div{padding:30px;background:var(--surface)}.shop-facts dt{margin-bottom:8px;color:var(--accent);font:700 10px "Noto Sans JP",sans-serif;letter-spacing:.16em}.shop-facts dd{margin:0;font-size:14px}.shop-facts small{color:var(--muted);font-size:11px}.shop-facts .fiction-note{max-width:1110px;margin:30px auto 0}.access-page{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;align-items:start}.access-copy dl{margin:28px 0 0}.access-copy dt{float:left;width:100px;padding:16px 0;font-size:11px;font-weight:700}.access-copy dd{margin-left:100px;padding:16px 0;border-bottom:1px solid var(--line);font-size:13px}.access-copy dd a:hover{color:var(--accent)}.map-embed{overflow:hidden;background:var(--surface)}.map-embed iframe{display:block;width:100%;height:480px;border:0}.map-embed>a{display:inline-block;margin:17px 20px;color:var(--accent);border-bottom:1px solid var(--accent);font-size:11px;letter-spacing:.08em}@media(max-width:700px){.menu-catalog{padding-top:85px}.menu-grid{grid-template-columns:1fr}.menu-item{min-height:0}.concept-section,.access-page{grid-template-columns:1fr;gap:42px}.concept-mark{min-height:280px;font-size:110px}.shop-facts{padding:80px 7vw}.shop-facts dl{grid-template-columns:1fr}.map-embed iframe{height:380px}.filter-buttons{margin-top:35px}}
.intro{grid-template-columns:1fr 1fr!important;align-items:center!important}.intro-image{margin:0;overflow:hidden}.intro-image img{display:block;width:100%;height:420px;object-fit:cover}.intro-copy>p:last-child{margin:28px 0 0;color:var(--muted);font-size:14px;line-height:2.25}img.card-visual{display:block;width:calc(100% + 56px)!important;height:245px!important;object-fit:cover;object-position:center;margin:0 -28px}@media(max-width:700px){.intro{grid-template-columns:1fr!important}.intro-image img{height:auto;aspect-ratio:3/2}img.card-visual{height:auto!important;aspect-ratio:1/1}}
:root{--paper:#f7f3eb;--surface:#fcfaf5;--ink:#302b27;--muted:#746d64;--accent:#9c654d;--line:#dcd3c6;--deep:#36312c}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:15px/2 "Noto Sans JP",sans-serif;letter-spacing:.025em}a{color:inherit;text-decoration:none}.site-header{height:88px;padding:0 clamp(26px,7vw,112px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--surface)}.logo{font:28px/1 "DM Serif Display",serif;letter-spacing:.045em}.logo span{color:var(--accent);font-style:italic}.global-nav{height:100%;display:flex;align-items:center;gap:32px;font-size:10px;font-weight:700;letter-spacing:.15em}.global-nav a{height:100%;display:flex;align-items:center;border-bottom:1px solid transparent}.global-nav a:hover,.global-nav .is-current{color:var(--accent);border-color:var(--accent)}.menu-toggle{display:none}.hero{min-height:680px;display:flex;align-items:center;padding:100px clamp(26px,12vw,180px);color:var(--surface);background:linear-gradient(90deg,rgba(40,34,29,.91),rgba(43,37,32,.70) 46%,rgba(43,37,32,.20)),url("images/cafe-lento-hero.png") center/cover no-repeat}.hero-content{max-width:620px}.eyebrow{margin:0 0 12px;color:var(--accent);font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.22em}.hero .eyebrow{color:#e4b39a}.hero h1,.page-title h1{margin:0 0 27px;font:400 clamp(48px,6.3vw,84px)/1.1 "DM Serif Display","Noto Sans JP",serif}.hero p:not(.eyebrow){margin:0 0 36px}.button{display:inline-block;padding:14px 29px;border:1px solid #fff;color:#fff;font-size:11px;font-weight:700;letter-spacing:.14em}.button:hover{background:#fff;color:var(--ink)}.section{max-width:1200px;margin:auto;padding:145px 42px}.intro{display:grid;grid-template-columns:1.15fr .85fr;gap:110px;align-items:end}.intro h2,.feature-section h2,.story h2,.values h2{margin:0;font:400 clamp(33px,3.6vw,51px)/1.35 "DM Serif Display","Noto Sans JP",serif}.intro>p,.story p:not(.eyebrow){margin:0;color:var(--muted);font-size:14px;line-height:2.25}.feature-section{padding-top:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}.card{padding:0 28px 34px;background:var(--surface)}.card-visual{height:245px;margin:0 -28px;display:grid;place-items:center;color:#f7f3eb;font-size:58px}.coffee{background:#806451}.pastry{background:#b18b65}.space{background:#7d8373}.card .menu-category{margin:22px 0 0;color:var(--accent);font-size:9px;font-weight:700;letter-spacing:.18em}.card h3{margin:8px 0;font:24px "DM Serif Display",serif}.card p{margin:0;color:var(--muted);font-size:12px;line-height:1.9}.card .card-price{margin-top:17px;color:var(--ink);font:22px "DM Serif Display",serif}.visit-banner{padding:47px clamp(26px,8vw,125px);display:flex;justify-content:space-between;align-items:center;background:var(--deep);color:#f6f0e8}.visit-banner p{margin:0;font-size:11px;letter-spacing:.14em}.visit-banner a{border-bottom:1px solid #c09275;color:#ecd3c3;font-size:11px;letter-spacing:.1em}.site-footer{padding:65px clamp(26px,7vw,112px);display:flex;justify-content:space-between;gap:35px;background:#282522;color:#eee8df}.site-footer .logo{color:#fffaf1}.footer-tagline{margin:15px 0 0;color:#bdb5aa;font:italic 15px "DM Serif Display",serif}.footer-details{text-align:right}.footer-details p{margin:2px 0 14px;color:#bdb5aa;font-size:10px;letter-spacing:.12em}.social-links{display:flex;justify-content:flex-end;gap:18px}.social-links a{border-bottom:1px solid #82776e;font-size:10px;letter-spacing:.12em}.page-title{padding:135px 30px 112px;text-align:center;background:#ede7dc}.page-title h1{font-size:clamp(54px,5vw,76px)}.page-title>p:last-child{margin:0;color:var(--muted);font-size:13px}.menu-section{display:grid;grid-template-columns:30% 1fr;gap:65px;border-bottom:1px solid var(--line);padding-top:88px;padding-bottom:88px}.menu-heading h2{margin:0;font:400 39px "DM Serif Display","Noto Sans JP",serif}.menu-list>div{padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--line)}.menu-list>div:last-child{border:0}.menu-list h3{margin:0;font-size:15px}.menu-list h3 span{float:right;color:var(--accent);font:20px "DM Serif Display",serif}.menu-list p,.menu-note{color:var(--muted);font-size:12px}.menu-note{max-width:1200px;margin:0 auto 110px;padding:0 42px}.story{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.story-visual{min-height:440px;display:grid;place-items:center;background:linear-gradient(145deg,#72564a,#b28769);color:#fbf5ec;text-align:center;font:italic 55px/1.08 "DM Serif Display",serif}.values{padding:120px 7vw 135px;background:#e8e4da;text-align:center}.value-grid{max-width:1110px;margin:48px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.value-grid article{padding:42px 28px;background:var(--surface)}.value-grid span{color:var(--accent);font:22px "DM Serif Display",serif}.value-grid h3{margin:11px 0;font-size:15px}.value-grid p{margin:0;color:var(--muted);font-size:12px}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.map-placeholder{min-height:480px;display:grid;place-items:center;background:repeating-linear-gradient(45deg,#d6dbcf,#d6dbcf 24px,#c9d1c2 24px,#c9d1c2 26px)}.map-placeholder span{display:grid;place-items:center;width:145px;height:145px;border-radius:50%;background:var(--accent);color:white;text-align:center;font:25px/1.15 "DM Serif Display",serif}.shop-info h2{margin:0 0 28px;font:400 43px "DM Serif Display",serif}.shop-info dt{float:left;width:105px;padding:17px 0;font-size:11px;font-weight:700}.shop-info dd{margin-left:105px;padding:17px 0;border-bottom:1px solid var(--line);font-size:13px}.access-note{color:var(--muted);font-size:10px}@media(max-width:700px){.site-header{height:72px;padding:0 7vw}.menu-toggle{display:block;border:0;background:transparent;font-size:25px}.global-nav{display:none;position:absolute;z-index:5;top:72px;left:0;right:0;height:auto;flex-direction:column;align-items:stretch;gap:0;padding:12px 7vw 20px;background:var(--surface);border-bottom:1px solid var(--line)}.global-nav.is-open{display:flex}.global-nav a{height:auto;padding:13px 0}.hero{min-height:570px;padding:75px 8vw}.section{padding:90px 7vw}.intro,.story,.access-grid{grid-template-columns:1fr;gap:42px}.cards,.value-grid{grid-template-columns:1fr}.card-visual{height:190px}.visit-banner,.site-footer{flex-direction:column;align-items:flex-start;gap:24px}.footer-details{text-align:left}.social-links{justify-content:flex-start}.page-title{padding:86px 7vw 72px}.menu-section{grid-template-columns:1fr;gap:20px;padding-top:62px;padding-bottom:62px}.menu-note{padding:0 7vw}.story-visual{min-height:280px}.values{padding:85px 7vw}.map-placeholder{min-height:330px}}
