:root{--ink:#20241f;--paper:#f4f0e7;--gold:#b69a61;--wine:#74392e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hiragino Mincho ProN','Yu Mincho',serif;line-height:1.9}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}img{width:100%;object-fit:cover;display:block}.demo{background:#252d27;color:#e5ddc9;padding:8px 4%;font:10px/1.5 sans-serif;letter-spacing:1px;display:flex;align-items:center;gap:20px}.demo button{margin-left:auto;background:none;color:inherit;border:0;font-size:11px}.demo span{letter-spacing:0}header{display:flex;align-items:center;justify-content:space-between;padding:20px 5%;background:var(--paper)}.brand{font-size:12px;line-height:1.3;letter-spacing:3px}.brand strong{font-size:30px;margin-left:10px}.brand small{display:block;font:8px sans-serif;letter-spacing:4px;margin-top:7px}nav{display:flex;gap:35px;font-size:12px}.reserve{border:1px solid #b7ad98;padding:12px 28px;font-size:13px}.reserve span{margin-left:25px}.hero{height:min(790px,85vh);min-height:580px;position:relative;color:white;overflow:hidden}.hero>img{height:100%;object-position:center 48%;animation:appear 1.5s ease}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,18,15,.82),rgba(9,18,15,.08) 80%),linear-gradient(0deg,rgba(9,18,15,.6),transparent 40%)}.hero-copy{position:absolute;left:9%;top:20%}.eyebrow{font:10px/1.6 sans-serif;letter-spacing:3px;margin-bottom:25px}.hero h1{font-weight:400;font-size:clamp(36px,4.5vw,68px);line-height:1.6;letter-spacing:7px;margin:20px 0}.hero-copy>p:not(.eyebrow){font-size:13px;line-height:2.4;letter-spacing:2px}.light-link{display:inline-block;border-bottom:1px solid #c8baa0;padding:15px 0;margin-top:22px;font-size:12px}.light-link span{margin-left:80px}.hero-side{position:absolute;right:5%;top:17%;writing-mode:vertical-rl;font-size:24px;letter-spacing:9px}.hero-foot{position:absolute;bottom:28px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:120px 10%;align-items:center}h2{font-size:34px;line-height:1.8;font-weight:400;letter-spacing:3px;margin:0 0 30px}p{font-size:13px}.intro p{line-height:2.5}.intro figure{margin:0}.intro img{height:440px}.intro figcaption{font-size:10px;letter-spacing:2px;margin-top:15px}.seal{border:1px solid var(--wine);color:var(--wine);width:45px;text-align:center;font-size:16px;line-height:1.3;padding:5px;margin-top:30px}.food{background:#202c26;color:#f3ede1;padding:95px 9%}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:45px}.section-head h2{margin:0}.section-head>p{font-size:11px;line-height:2.2}.food-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:6%}.food-grid img{height:300px}.food-grid .dish-main img{height:480px}.food-grid span{font:9px sans-serif;letter-spacing:2px;color:#c8b78b;display:block;margin-top:25px}.food-grid h3{font-size:21px;font-weight:400}.food-grid p{font-size:12px;color:#c4cbbf}.food-grid .sake-detail{height:210px;object-position:center 62%;margin-top:35px}.courses{padding:110px 9%}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.course-grid article{border:1px solid #c9bfaa;padding:35px 28px;background:#ebe5d8}.course-grid .featured{background:#e0d7c4;border-color:#99835a}.course-grid span{font-size:11px;color:#716342}.course-grid h3{font-size:31px;font-weight:400;margin:20px 0 5px;letter-spacing:6px}.price{font-size:38px;margin:0}.price small{font-size:13px;margin-left:7px}.course-grid article>p:not(.price){font-size:11px}.course-grid button{border:0;border-top:1px solid #b8ab90;padding:18px 0 0;margin-top:20px;background:none;width:100%;text-align:left;font-size:12px}.note{font:11px/1.9 sans-serif;color:#777568}.room{display:grid;grid-template-columns:1fr 1fr;background:#e9e2d4}.room>img{height:580px}.room>div{padding:70px 15%;align-self:center}.room p{line-height:2.5}.booking{padding:110px 9%;display:grid;grid-template-columns:.85fr 1.15fr;gap:8%}.demo-note{font:12px/1.9 sans-serif;background:#e9e3d4;border-left:2px solid var(--gold);padding:15px;color:#665a41}.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{font:12px/1.6 sans-serif;display:block;margin-bottom:20px}input,select,textarea{width:100%;padding:12px;border:1px solid #c6bead;background:#fbf8f1;border-radius:0;color:#252c26;display:block;margin-top:8px;font:14px/1.5 sans-serif}.submit{background:#253b30;color:#fff;border:0;width:100%;padding:19px;font-size:14px;display:flex;justify-content:space-between}.access{display:grid;grid-template-columns:1fr 1fr;padding:80px 9%;gap:10%;border-top:1px solid #d9d0bf}.access>img{height:490px}.access dl{display:grid;grid-template-columns:80px 1fr;font-size:12px;line-height:2;margin:25px 0}.access dd{margin:0 0 15px}.map-link{font-size:12px;border-bottom:1px solid #998664;padding-bottom:10px}footer{background:#202c26;color:#e3dccb;text-align:center;padding:55px 20px}footer strong{font-size:36px;letter-spacing:8px}footer small{font:9px sans-serif;letter-spacing:2px}footer button{display:block;margin:20px auto 0;color:#d1c7b2;background:none;border:0;font-size:11px}.mobile-bar{display:none}dialog{border:0;background:var(--paper);color:var(--ink);width:min(1100px,95vw);max-height:90vh;padding:35px}dialog::backdrop{background:#101b16bb}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2{font-size:26px;margin:0}.modal-head button,.toolbar button{border:1px solid #bbae93;background:transparent;padding:9px 15px;font:12px sans-serif}.toolbar{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin:20px 0}.toolbar label{margin:0;flex:1;min-width:150px}#stats{font:14px sans-serif;padding:15px;background:#ded8c9}.record{border:1px solid #c9bfaa;padding:20px;margin:15px 0}.record h3{margin:5px 0;font-size:19px}.record p{margin:5px 0}.record .tools{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:15px}.record label{margin:0;min-width:145px}.record button{padding:10px;background:#263e30;color:white;border:0;font:12px sans-serif}.record button.cancel{background:#795847}.record .status{font:11px sans-serif;color:#7c5729}.record select{padding:7px}.record .error{color:#a33122}.record small{font:10px sans-serif}#editor{max-width:600px}.light-link:hover,nav a:hover{color:#b69a61}button:hover,.reserve:hover{filter:brightness(.9)}:focus-visible{outline:3px solid #ba9140;outline-offset:3px}@keyframes appear{from{transform:scale(1.04);opacity:.5}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important}}@media(max-width:700px){.demo{gap:5px;font-size:8px;padding:7px 4%;flex-wrap:wrap}.demo span{font-size:9px}.demo button{font-size:10px}header{padding:15px 5%}nav{display:none}.brand strong{font-size:25px}.reserve{padding:9px 14px}.reserve span{margin-left:10px}.hero{height:76vh;min-height:570px}.hero>img{object-position:60% center}.shade{background:linear-gradient(90deg,#09120fc4,#09120f30),linear-gradient(0deg,#09120f80,transparent)}.hero-copy{left:7%;top:20%}.hero h1{font-size:37px;letter-spacing:3px}.hero-side{font-size:15px;right:5%;top:8%;letter-spacing:5px}.hero-foot span:last-child{display:none}.hero-copy>p:not(.eyebrow){font-size:12px}.intro,.booking,.access{grid-template-columns:1fr;padding:65px 7%;gap:35px}h2{font-size:27px;letter-spacing:2px}.intro img{height:300px}.food,.courses{padding:65px 7%}.section-head{display:block}.section-head>p{margin-top:20px}.food-grid{grid-template-columns:1fr;gap:35px}.food-grid .dish-main img{height:320px}.food-grid img{height:260px}.food-grid .sake-detail{display:none}.course-grid{grid-template-columns:1fr;gap:15px}.course-grid article{padding:25px}.course-grid h3{margin:8px 0}.room{grid-template-columns:1fr}.room>img{height:360px}.room>div{padding:45px 7%}.access>img{height:380px}.two{gap:12px}.booking{padding-top:65px}footer{padding-bottom:110px}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:5;background:#f4f0e7;box-shadow:0 -2px 15px #0002;padding-bottom:env(safe-area-inset-bottom)}.mobile-bar a{width:38%;text-align:center;padding:16px;font-size:13px}.mobile-bar a:last-child{width:62%;background:#253b30;color:#fff}dialog{padding:20px}.modal-head h2{font-size:22px}}

.footer-logo{width:125px;height:125px;object-fit:contain;margin:0 auto 20px}@media(max-width:380px){.hero h1{font-size:30px;letter-spacing:2px}.hero-copy{top:18%}}
