@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&family=Zen+Old+Mincho:wght@400;700&display=swap');
:root{--ink:#40342b;--brown:#5a3d2d;--cream:#f7f3eb;--sand:#ebe2d3;--clay:#b96948;--line:#ded3c2;--light:#fffdfa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans','Zen Old Mincho',sans-serif}a{text-decoration:none;color:inherit}.site-header{height:82px;padding:0 clamp(20px,5vw,78px);display:flex;justify-content:space-between;align-items:center;background:#fffdfae8;backdrop-filter:blur(10px);position:sticky;top:0;z-index:20;border-bottom:1px solid #eadfce}.logo{font:600 24px 'Playfair Display',serif;letter-spacing:-.04em}.logo small{display:block;margin-top:-4px;font:8px 'DM Sans',sans-serif;letter-spacing:.22em;color:#a38670;text-align:center}.nav{display:flex;gap:28px;font-size:12px;letter-spacing:.08em}.nav a{padding:9px 0;position:relative}.nav a::after{content:'';position:absolute;bottom:2px;left:0;width:0;height:1px;background:var(--clay);transition:.25s}.nav a:hover::after,.nav a.active::after{width:100%}.menu-toggle{display:none;border:0;background:transparent;font-size:25px}.hero{min-height:640px;padding:0 clamp(20px,8vw,150px);display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:60px;overflow:hidden;background:linear-gradient(110deg,#eee3d3 0%,#eee3d3 58%,#dfc6ab 58%)}.hero-copy{position:relative;z-index:1}.eyebrow{margin:0 0 15px;color:#9b765e;font-size:10px;letter-spacing:.2em;font-weight:600}.hero h1,.page-hero h1{margin:0;font:600 clamp(58px,8vw,108px)/.9 'Playfair Display',serif;letter-spacing:-.07em}.hero h1 em{color:var(--clay);font-style:italic}.hero-copy>p:not(.eyebrow){max-width:410px;margin:26px 0 30px;line-height:1.9;color:#65564a;font-family:'Zen Old Mincho',serif;font-size:14px}.button{display:inline-flex;align-items:center;gap:14px;background:var(--brown);color:#fff;padding:14px 20px;font-size:12px;letter-spacing:.08em;transition:.25s}.button:hover{background:var(--clay);transform:translateY(-3px);box-shadow:0 8px 20px #76513d33}.button span{font-size:17px}.image-placeholder{position:relative;overflow:hidden;background:linear-gradient(135deg,#af795a,#d6af85)}.image-placeholder::after{content:'IMAGE PLACEHOLDER';position:absolute;inset:13px;border:1px solid #fff8;color:#fff9;display:grid;place-items:center;font:10px 'DM Sans',sans-serif;letter-spacing:.18em}.hero-visual{height:470px;transform:rotate(3deg);box-shadow:18px 20px 0 #aa795b33}.hero-visual::before{content:'Cafe Time';position:absolute;z-index:1;left:22px;bottom:16px;color:#fff;font:italic 34px 'Playfair Display',serif}.section{padding:110px clamp(20px,8vw,150px)}.section-head{max-width:570px;margin-bottom:42px}.section-head h2{margin:0;font:600 clamp(35px,5vw,54px)/1.1 'Playfair Display',serif;letter-spacing:-.05em}.section-head p:not(.eyebrow){line-height:1.9;color:#706257;font-size:14px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.intro-visual{height:385px;background:linear-gradient(135deg,#7d4e36,#d69765)}.intro-copy p{line-height:2;color:#6a5b50;font-family:'Zen Old Mincho',serif;font-size:14px}.link-arrow{display:inline-block;margin-top:18px;padding-bottom:5px;border-bottom:1px solid var(--brown);font-size:12px;letter-spacing:.1em;transition:.2s}.link-arrow:hover{color:var(--clay);padding-right:10px}.menu-preview{background:var(--sand)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.menu-card{background:var(--light);padding:12px;transition:.25s}.menu-card:hover{transform:translateY(-8px);box-shadow:0 16px 25px #6a4a3220}.menu-card .image-placeholder{height:190px}.menu-card h3{font:500 25px 'Playfair Display',serif;margin:18px 8px 7px}.menu-card p{min-height:40px;margin:0 8px 14px;color:#7b6c60;font-size:12px;line-height:1.7}.price{display:block;margin:0 8px 10px;color:#a35438;font-size:13px;font-weight:600}.cta{background:var(--brown);color:#fff;padding:70px clamp(20px,8vw,150px);display:flex;justify-content:space-between;align-items:center;gap:25px}.cta h2{margin:0;font:500 clamp(30px,4vw,45px) 'Playfair Display',serif}.cta .button{background:#e3bc87;color:var(--brown)}.site-footer{padding:48px clamp(20px,8vw,150px);background:#2f261f;color:#d8cbbc;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px}.site-footer .logo{color:#fff}.site-footer p,.site-footer a{font-size:12px;color:#bdaf9f;line-height:1.9;margin:0}.socials{display:flex;gap:9px;margin-top:13px}.socials i{font-style:normal;border:1px solid #766557;width:28px;height:28px;display:grid;place-items:center;color:#e5d5bf;font-size:10px}.page-hero{padding:110px clamp(20px,8vw,150px) 80px;background:var(--sand);text-align:center}.page-hero h1{font-size:clamp(52px,7vw,86px)}.page-hero p:last-child{margin:20px auto 0;max-width:520px;color:#716054;line-height:1.9;font-size:13px}.menu-tabs{display:flex;justify-content:center;gap:10px;margin-bottom:50px}.menu-tabs a{border:1px solid var(--line);padding:9px 17px;font-size:12px}.menu-tabs a:hover{background:var(--brown);color:#fff}.menu-group{margin:0 auto 70px;max-width:940px}.menu-group h2{font:500 38px 'Playfair Display',serif;margin:0 0 22px}.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;background:#fff;padding:5px 25px}.menu-item{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:21px 0}.menu-item h3{margin:0 0 5px;font-size:15px;font-weight:600}.menu-item p{margin:0;color:#88796e;font-size:11px;line-height:1.6}.menu-item b{font-size:13px;white-space:nowrap;color:#a35438}.concept{display:grid;grid-template-columns:1fr 1fr;min-height:460px}.concept .image-placeholder{min-height:460px;background:linear-gradient(135deg,#d4a36e,#845238)}.concept-copy{background:#fff;padding:clamp(35px,7vw,95px);display:flex;flex-direction:column;justify-content:center}.concept-copy h2{font:500 43px/1.1 'Playfair Display',serif;margin:0 0 20px}.concept-copy p{font:13px/2 'Zen Old Mincho',serif;color:#715f53}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.info-card{background:#fff;padding:30px}.info-card h3{font:500 27px 'Playfair Display',serif;margin:0 0 17px}.info-card dl{margin:0}.info-card dl div{padding:9px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:85px 1fr;font-size:12px}.info-card dt{color:#99897c}.info-card dd{margin:0;line-height:1.7}.access-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:center}.access-details h2{font:500 42px 'Playfair Display',serif;margin:0 0 22px}.access-details p{font:13px/2;color:#6d5e53}.access-details dl{border-top:1px solid var(--line);margin:26px 0}.access-details dl div{display:grid;grid-template-columns:80px 1fr;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}.access-details dt{color:#9a8878}.access-details dd{margin:0}.map{height:390px;background:linear-gradient(135deg,#d5dfd1,#b8cdb8)}.map::before{content:'MAP PLACEHOLDER\A \A Café Lumière\A 〒150-0042 東京都灯り区月見町 8-14';white-space:pre;text-align:center;position:absolute;inset:0;display:grid;place-items:center;color:#4b6652;font:13px/1.8 'DM Sans',sans-serif}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:760px){.site-header{height:68px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fffdfaf5;padding:18px 25px;flex-direction:column;gap:10px}.nav.open{display:flex}.hero{grid-template-columns:1fr;padding:72px 30px 50px;gap:35px;min-height:0}.hero-visual{height:300px;margin:0 12px}.section{padding:70px 25px}.intro,.concept,.access-grid{grid-template-columns:1fr;gap:30px}.intro-visual{height:290px}.cards{grid-template-columns:1fr}.menu-card .image-placeholder{height:210px}.cta{padding:45px 25px;display:block}.cta .button{margin-top:20px}.site-footer{padding:42px 25px;grid-template-columns:1fr}.page-hero{padding:74px 25px 55px}.menu-list{grid-template-columns:1fr;padding:5px 18px}.info-grid{grid-template-columns:1fr}.concept .image-placeholder{min-height:280px}.map{height:290px}.hero h1{font-size:67px}}
