:root{--ink:#3a302b;--brown:#8b6b5b;--sand:#f1e5d8;--cream:#faf6ef;--white:#fff;--line:rgba(58,48,43,.14);--button:#5c473d;--radius:6px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:"Noto Sans JP",sans-serif;line-height:1.85;letter-spacing:.04em}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.header{height:88px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:var(--cream);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;line-height:1}.brand span,.footer-brand{font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:600;letter-spacing:.08em}.brand small,.footer-brand small{font-size:8px;letter-spacing:.25em;margin-top:5px}.nav{display:flex;align-items:center;gap:34px;font-size:12px}.nav-reserve{padding:13px 26px;background:var(--button);color:white;border-radius:var(--radius)}.menu-button{display:none;background:none;border:0;letter-spacing:.15em}.hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:56% 44%;position:relative}.hero-image{background:linear-gradient(90deg,transparent 75%,var(--cream)),url("assets/mana-hero-v2.jpg") center/cover}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:8vw 7vw 10vw 5vw}.eyebrow,.section-label{font-size:11px;letter-spacing:.22em;color:var(--brown);font-weight:600}.hero h1,.section h2,.reserve h2{font-family:"Cormorant Garamond","Zen Kaku Gothic New","Noto Sans JP",serif;font-weight:500;line-height:1.45;letter-spacing:.05em}.hero h1{font-size:clamp(28px,2.7vw,46px);margin:20px 0 28px}.hero h1 span{display:inline-block}.hero-copy>p:not(.eyebrow){font-size:14px}.hero-actions{display:flex;gap:22px;align-items:center;margin-top:28px}.button{border-radius:var(--radius);white-space:nowrap;flex-shrink:0;display:inline-flex;justify-content:center;align-items:center;min-width:190px;padding:15px 24px;font-size:12px;letter-spacing:.1em;transition:.25s}.button:hover{opacity:.75}.primary{background:var(--button);color:white}.text{min-width:auto;padding:10px 0;border-bottom:1px solid var(--ink)}.outline{border:1px solid var(--button);color:var(--button)}.hero-note{position:absolute;left:5vw;bottom:28px;background:rgba(255,255,255,.92);padding:12px 22px;font-size:11px;border-radius:var(--radius)}.hero-note span{font-weight:600}.section{padding:120px 8vw}.intro{background:white}.intro-copy{display:grid;grid-template-columns:1.2fr 1fr;gap:10vw;margin:38px 0 80px}.lead{font-family:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;font-size:clamp(25px,3vw,42px);line-height:1.65;margin:0}.lead span{display:inline-block}.intro-copy>p:last-child{font-size:14px}.intro-photo{margin:0 0 40px;border-radius:var(--radius);overflow:hidden}.intro-photo img{height:420px;object-position:center 60%}.intro-photo figcaption{font-size:12px;color:#756b66;padding:12px 0 0;text-align:right}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-grid article{background:white;padding:42px;border-radius:var(--radius);border:1px solid var(--line)}.feature-grid strong{font-family:"Cormorant Garamond",serif;color:#a99387;font-size:20px}.feature-grid h3{font-size:16px;margin:28px 0 12px}.feature-grid p{font-size:12px;margin:0}.menu-section{background:var(--sand)}.menu-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:58px}.menu-heading h2{font-size:clamp(34px,4vw,52px);margin:16px 0 0}.kids h2,.access h2{font-size:clamp(28px,2.4vw,40px);letter-spacing:.03em;margin:16px 0 0}.kids h2 span,.access h2 span{display:inline-block}.menu-heading>p{max-width:380px;font-size:12px}.menu-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.menu-card{background:white;border-radius:var(--radius)}.menu-card img{aspect-ratio:4/3}.menu-card div{padding:30px}.menu-card span{font-family:"Cormorant Garamond",serif;color:var(--brown);font-size:12px;letter-spacing:.16em}.menu-card h3{font-size:16px;margin:12px 0}.menu-card p{font-size:12px;min-height:70px}.menu-card strong{display:block;font-size:12px;border-top:1px solid var(--line);padding-top:15px}.center{text-align:center;margin-top:50px}.kids{display:grid;grid-template-columns:1.15fr .85fr;padding-left:0;background:white}.kids-photo{min-height:590px}.kids-copy{padding:65px 8vw;align-self:center}.kids-copy p{font-size:14px}.kids-copy small{display:block;margin-top:24px;font-size:10px}.access{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.access-info{padding-top:25px}.access-info dl{display:grid;grid-template-columns:110px 1fr;margin:0}.access-info dt,.access-info dd{padding:20px 0;border-bottom:1px solid var(--line);font-size:13px}.access-info dd{margin:0}.access-info small{font-size:10px}.access-buttons{display:flex;gap:12px;margin:35px 0}.route{font-size:11px;color:#6e6560}.reserve{text-align:center;padding:110px 20px;background:#8c6a58;color:white}.reserve .eyebrow{color:#e9ddd6}.reserve h2{font-size:clamp(34px,4vw,52px);margin:18px 0}.reserve>p:not(.eyebrow){font-size:12px}.light{margin-top:25px;background:white;color:var(--ink)}footer{padding:55px 6vw 75px;background:#332924;color:white;display:grid;grid-template-columns:1fr 1fr auto;align-items:end}footer>div:nth-child(2){display:flex;gap:28px;font-size:11px}.footer-brand{display:flex;flex-direction:column}.mobile-reserve{display:none}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){body{padding-bottom:58px}.header{height:68px;padding:0 20px}.brand span{font-size:29px}.menu-button{display:block}.nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--cream);padding:25px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav-reserve{width:100%;text-align:center}.hero{min-height:auto;display:flex;flex-direction:column}.hero-image{height:57vh;min-height:430px;background-image:linear-gradient(0deg,var(--cream),transparent 25%),url("assets/mana-hero-v2.jpg")}.hero-copy{padding:35px 24px 80px}.hero h1{font-size:clamp(23px,7.2vw,32px);letter-spacing:.02em}.hero-copy br{display:none}.hero-actions{align-items:flex-start;flex-direction:column}.hero-note{left:18px;bottom:18px}.section{padding:80px 24px}.intro-copy{display:block;margin:28px 0 40px}.intro-photo img{height:230px}.intro-photo figcaption{text-align:left}.intro-copy>p:last-child{margin-top:30px}.feature-grid,.menu-cards{grid-template-columns:1fr}.feature-grid article{padding:35px 28px}.menu-heading{display:block}.menu-heading>p{margin-top:25px}.menu-card p{min-height:auto}.kids{grid-template-columns:1fr;padding:0}.kids-photo{min-height:400px}.kids-copy{padding:70px 24px}.access{grid-template-columns:1fr;gap:20px}.access-info dl{grid-template-columns:85px 1fr}.access-buttons{flex-direction:column}.access-buttons .button{width:100%}footer{grid-template-columns:1fr;gap:30px;padding:45px 24px}.mobile-reserve{display:block;position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--ink);color:white;text-align:center;padding:17px;font-size:12px;letter-spacing:.12em}}

/* Brand artwork and generated hero image */
.brand{display:block;width:145px;height:74px;overflow:hidden;line-height:normal}
.brand img{width:100%;height:100%;object-fit:cover}
.hero-image{background-image:linear-gradient(90deg,transparent 75%,var(--cream)),url("assets/mana-hero-v2.jpg");background-position:40% center}
.footer-brand{width:92px;height:116px;overflow:hidden;border-radius:2px}
.footer-brand img{width:100%;height:100%;object-fit:cover}
@media(max-width:800px){.brand{width:116px;height:59px}.hero-image{background-image:linear-gradient(0deg,var(--cream),transparent 25%),url("assets/mana-hero-v2.jpg");background-position:32% center}}

/* Readable navigation and original menu catalogue */
.header{height:110px}
.brand{width:100px;height:100px;overflow:visible}
.brand img{object-fit:contain}
.nav{font-size:15px;font-weight:500;gap:38px}
.nav-reserve{padding:15px 30px}
.button{font-size:15px;font-weight:500;min-width:220px;padding:17px 28px}
.menu-button{font-size:16px;font-weight:600}
.menu-section{padding-left:6vw;padding-right:6vw}
.menu-heading>p{font-size:15px;max-width:520px}
.menu-cards{grid-template-columns:1fr;gap:32px;max-width:1120px;margin:0 auto}
.menu-card{display:grid;grid-template-columns:48% 52%;overflow:hidden}
.menu-card>img{aspect-ratio:auto;min-height:100%;object-position:center}.menu-photos{padding:0!important;display:grid;grid-template-rows:auto auto;align-content:start;gap:4px}.menu-photos img{display:block;width:100%;height:auto;aspect-ratio:4/3;min-height:0;object-fit:cover}
.menu-card-body{padding:38px!important;display:flex;flex-direction:column}
.menu-card-body>span{font-size:14px}
.menu-card-body h3{font-size:28px;line-height:1.4;margin:10px 0 14px}
.menu-intro{font-size:15px!important;min-height:0!important;margin:0 0 24px}
.price-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.price-list li>div{padding:0}.price-list li{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line)}
.price-list b{display:block;font-size:15px;line-height:1.55}
.price-list small{display:block;font-size:12px;color:#756b66;margin-top:3px}
.price-list strong{border:0!important;padding:0!important;font-size:16px!important;white-space:nowrap}
.menu-contact{display:block;margin-top:auto;padding:18px 12px 2px;text-align:center;font-size:15px;font-weight:600;border-bottom:1px solid var(--ink)}
.menu-note{font-size:13px;margin:36px 0 0;text-align:center}
.menu-actions{display:flex;justify-content:center;gap:16px;margin-top:30px}
@media(max-width:1050px){.menu-card{grid-template-columns:1fr}.menu-card>img{height:280px;min-height:0}.menu-photos{grid-template-rows:none;grid-template-columns:1fr 1fr}.menu-card-body{padding:30px!important}}
@media(max-width:800px){.header{height:82px}.brand{width:68px;height:68px}.nav{top:82px;font-size:17px;gap:24px}.nav a:not(.nav-reserve){padding:8px 0}.menu-cards{grid-template-columns:1fr;gap:26px}.menu-heading>p{font-size:15px}.menu-card>img{height:240px}.menu-card-body h3{font-size:25px}.menu-intro{font-size:15px!important}.price-list b{font-size:15px}.price-list strong{font-size:15px!important}.menu-actions{flex-direction:column}.menu-actions .button{width:100%}}
.reserve-actions{display:flex;justify-content:center;gap:16px;margin-top:28px}
.reserve-actions .light{margin-top:0}
.reserve-outline{border:1px solid white;color:white}.reserve .light{color:var(--button)}
.hotpepper-link{display:inline-block;margin-top:25px;font-size:13px;text-decoration:underline;text-underline-offset:5px;opacity:.85}
@media(max-width:800px){.reserve-actions{flex-direction:column;align-items:center}.reserve-actions .button{width:100%;max-width:330px}}

/* Reservation guide */
.reserve-guide{background:white;text-align:center}
.reserve-guide h2{font-size:clamp(34px,4vw,52px);margin:16px 0 0}
.reserve-guide-lead{font-size:15px;max-width:620px;margin:22px auto 55px}
.reserve-methods{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;text-align:left;max-width:860px;margin:0 auto}
.reserve-methods article{background:var(--cream);padding:42px 36px;border-radius:var(--radius);border:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}
.reserve-methods span{font-family:"Cormorant Garamond",serif;color:var(--brown);font-size:14px;letter-spacing:.2em}
.reserve-methods h3{font-size:18px;margin:14px 0 12px}
.reserve-methods p{font-size:13px;margin:0 0 26px;flex:1}
.reserve-methods .button{width:100%;min-width:0}
.reserve-guide-note{font-size:12px;color:#756b66;margin:36px 0 0}
.reserve-guide-note a{text-decoration:underline;text-underline-offset:4px}

/* FAQ */
.faq{background:var(--sand)}
.faq h2{font-size:clamp(34px,4vw,52px);margin:16px 0 45px}
.faq-list{margin:0;max-width:860px}
.faq-list>div{background:white;padding:26px 32px;margin-bottom:14px;border-radius:var(--radius)}
.faq-list dt{font-size:15px;font-weight:600;position:relative;padding-left:34px}
.faq-list dt::before{content:"Q";position:absolute;left:0;top:-2px;font-family:"Cormorant Garamond",serif;font-size:20px;color:var(--brown)}
.faq-list dd{margin:12px 0 0;font-size:13px;padding-left:34px;color:#4d4642}

/* Access map */
.access-map{margin-top:35px;border:1px solid var(--line)}
.access-map iframe{display:block;width:100%;height:340px;border:0}

@media(max-width:800px){
.reserve-methods{grid-template-columns:1fr}
.reserve-methods article{padding:34px 26px}
.faq-list>div{padding:22px 20px}
.access-map iframe{height:260px}
}
