
:root{--brown:#302016;--coffee:#6b4329;--latte:#b78a60;--cream:#f7f0e6;--paper:#fffaf2;--gold:#d8a765;--ink:#2d2119;--muted:#76675e;--line:#eadcc8;--shadow:0 26px 80px rgba(54,32,18,.18);--r:34px}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;font-family:"Cormorant Garamond","Noto Serif JP","Yu Mincho",serif;color:var(--ink);background:var(--paper);line-height:1.85;letter-spacing:.045em;overflow-x:hidden}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}#progress{position:fixed;left:0;top:0;height:4px;width:0;background:linear-gradient(90deg,var(--gold),var(--latte),var(--coffee));z-index:99999}#loader{position:fixed;inset:0;background:var(--paper);display:grid;place-content:center;text-align:center;gap:12px;z-index:99998;transition:.7s}#loader span{width:70px;height:70px;border-radius:50%;border:1px solid var(--gold);background:radial-gradient(circle,var(--coffee) 0 28%,transparent 30%),conic-gradient(var(--gold),transparent,var(--coffee));animation:spin 1.5s linear infinite}#loader b{font-size:12px;letter-spacing:.25em;color:var(--coffee)}#loader.hide{opacity:0;visibility:hidden}.header{position:fixed;top:18px;left:50%;transform:translateX(-50%);width:min(1120px,92vw);height:76px;z-index:9000;border:1px solid rgba(255,255,255,.55);background:rgba(255,250,242,.82);backdrop-filter:blur(20px);border-radius:999px;display:flex;align-items:center;gap:26px;padding:12px 18px;box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:12px}.brand span,.mark{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--coffee),var(--latte));color:#fff;font-weight:700}.brand b{font-size:21px;white-space:nowrap}.header nav{display:flex;gap:20px;margin-left:auto;font-size:14px}.header nav a:hover{color:var(--gold)}.reserve,.btn,.ghost{display:inline-flex;justify-content:center;align-items:center;border-radius:999px;padding:13px 24px;font-weight:700;position:relative;overflow:hidden}.reserve,.btn{background:linear-gradient(135deg,var(--coffee),var(--latte));color:#fff;box-shadow:0 18px 36px rgba(107,67,41,.22)}.ghost{border:1px solid rgba(255,255,255,.75);background:rgba(255,255,255,.45);color:#fff}.hero{position:relative;min-height:900px;overflow:hidden;display:grid;align-items:center;padding:150px 7vw 86px}.hero-bg{position:absolute;inset:0}.hero-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(37,23,15,.78),rgba(61,37,23,.45) 46%,rgba(247,240,230,.18)),radial-gradient(circle at 72% 30%,rgba(216,167,101,.22),transparent 34%)}.layer{position:absolute;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);backdrop-filter:blur(10px);box-shadow:var(--shadow)}.l1{right:8%;top:18%;width:230px;height:230px;border-radius:48% 52% 43% 57%;animation:float 8s ease-in-out infinite}.l2{right:26%;bottom:12%;width:150px;height:150px;border-radius:50%;animation:float 10s ease-in-out infinite reverse}.hero-copy{position:relative;z-index:3;color:#fff;max-width:720px}.eyebrow,.title p,.parallax-inner p,.contact-copy p{font-family:system-ui,sans-serif;font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:800}.hero h1{font-size:clamp(54px,8vw,106px);line-height:1.02;margin:18px 0 28px;font-weight:600;letter-spacing:.01em}.lead{font-size:18px;max-width:650px;color:#f7eadc}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.hero-card{position:absolute;right:8%;bottom:84px;z-index:4;background:rgba(255,250,242,.86);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.65);border-radius:32px;padding:26px 30px;box-shadow:var(--shadow);max-width:310px}.hero-card small{color:var(--latte);letter-spacing:.18em;text-transform:uppercase}.hero-card b{display:block;font-size:31px;color:var(--brown)}.hero-card p{color:var(--muted)}.scroll{position:absolute;left:35px;bottom:55px;color:#f7eadc;writing-mode:vertical-rl;letter-spacing:.25em;font-size:11px}.topics{position:relative;z-index:5;width:min(1040px,88vw);margin:-38px auto 86px;background:#fff;border:1px solid var(--line);border-radius:26px;padding:24px 32px;box-shadow:var(--shadow);display:flex;gap:24px}.topics b{color:var(--coffee);font-family:system-ui,sans-serif}.section{width:min(1100px,88vw);margin:0 auto;padding:92px 0}.title{max-width:780px}.title h2{font-size:clamp(34px,5vw,64px);line-height:1.22;margin:8px 0 34px;font-weight:600}.concept-grid{display:grid;grid-template-columns:.95fr 1fr;gap:54px;align-items:center}.concept figure{margin:0;position:relative}.concept figure img{height:520px;width:100%;object-fit:cover;border-radius:46px;box-shadow:var(--shadow)}.concept figcaption{position:absolute;left:28px;bottom:24px;background:rgba(255,250,242,.86);border-radius:999px;padding:10px 18px;color:var(--coffee)}.concept-text{font-size:18px;color:var(--muted)}.concept-text li{margin:10px 0}.menu{background:linear-gradient(180deg,var(--paper),var(--cream));width:100%;padding-inline:6vw}.menu .title,.menu-grid{width:min(1100px,88vw);margin-inline:auto}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.menu-card{background:#fff;border:1px solid var(--line);border-radius:34px;overflow:hidden;box-shadow:var(--shadow);transition:.35s}.menu-card img{height:270px;width:100%;object-fit:cover}.menu-card span{display:inline-block;margin:24px 26px 0;color:var(--gold);font-family:system-ui,sans-serif;font-weight:900}.menu-card h3{font-size:30px;margin:4px 26px}.menu-card p{margin:0 26px 28px;color:var(--muted)}.hover-card:hover{transform:translateY(-10px);box-shadow:0 38px 100px rgba(54,32,18,.22)}.parallax{width:min(1180px,92vw);min-height:560px;margin:110px auto;border-radius:54px;background:linear-gradient(90deg,rgba(37,23,15,.74),rgba(107,67,41,.28)),url('https://images.unsplash.com/photo-1554118811-1e0d58224f24?auto=format&fit=crop&w=2200&q=84') center/cover fixed;display:grid;place-items:center;text-align:center;color:#fff;box-shadow:var(--shadow)}.parallax-inner{max-width:780px;padding:40px}.parallax h2{font-size:clamp(40px,6vw,76px);line-height:1.1;margin:10px 0 18px}.parallax span{color:#f7eadc}.gallery{overflow:hidden;background:#fff;padding:28px 0;border-block:1px solid var(--line)}.gallery-track{display:flex;gap:22px;width:max-content;animation:marquee 42s linear infinite}.gallery img{width:360px;height:240px;object-fit:cover;border-radius:24px}.info-panel{background:#fff;border:1px solid var(--line);border-radius:34px;padding:34px;box-shadow:var(--shadow)}.info-panel dl{display:grid;grid-template-columns:170px 1fr;gap:0;margin:0}.info-panel dt,.info-panel dd{border-bottom:1px solid var(--line);padding:16px 0}.info-panel dt{color:var(--coffee);font-weight:700}.note{color:var(--muted);font-size:14px}.contact{width:min(1080px,88vw);margin:80px auto 120px;border-radius:48px;background:linear-gradient(135deg,#2e1d14,#6b4329);color:#fff;padding:68px;display:flex;align-items:center;justify-content:space-between;gap:34px;box-shadow:var(--shadow)}.contact h2{font-size:clamp(32px,5vw,58px);line-height:1.2;margin:8px 0}.contact span{color:#f7eadc}footer{background:var(--brown);color:#f8ead8;padding:64px 8vw 32px;display:flex;justify-content:space-between;gap:30px}.ripple .rip{position:absolute;border-radius:50%;transform:scale(0);animation:ripple .65s linear;background:rgba(255,255,255,.55);pointer-events:none}.reveal{opacity:1;transform:translateY(18px);transition:.85s cubic-bezier(.2,.8,.2,1)}.reveal.in{transform:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translateY(-18px) rotate(4deg)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes ripple{to{transform:scale(5);opacity:0}}@media(max-width:900px){.header{height:auto;border-radius:26px;display:grid}.header nav{overflow:auto;margin-left:0}.hero{min-height:820px;padding-top:155px}.hero h1{font-size:48px}.hero-card{position:relative;right:auto;bottom:auto;margin-top:30px}.topics,.contact{display:grid}.concept-grid,.menu-grid{grid-template-columns:1fr}.concept figure img{height:360px}.parallax{background-attachment:scroll}.info-panel dl{grid-template-columns:1fr}.gallery img{width:280px;height:190px}footer{display:grid}.reserve{display:none}}
