:root{
  --ink:#3f4548;
  --white:#fff;
  --pink:#f5dfe4;
  --peach:#f5dfcf;
  --mint:#dbece4;
  --blue:#dce9f1;
  --lav:#e8e1ef;
  --cream:#f6f0df;
  --yellow:#f3e7b9;
  --sage:#cfdfd1;
  --rose:#e9cfd4;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;color:var(--ink);background:#f7f7f5;line-height:1.7}
a{color:inherit;text-decoration:none}
.tile-page{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,minmax(280px,33.333vh));min-height:100vh;gap:1px;background:#fff}
.tile{position:relative;min-width:0;padding:clamp(25px,3vw,52px);display:flex;align-items:flex-end;overflow:hidden;transition:transform .25s ease,filter .25s ease}
a.tile:hover{filter:brightness(.97)}
.tile h2{font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(27px,2.6vw,48px);font-weight:500;line-height:1.28;margin:.2em 0 .45em}
.tile p{margin:.3em 0}.eyebrow{font-size:10px;letter-spacing:.22em;font-weight:700;text-transform:uppercase;opacity:.72}.tile-brand{background:var(--white);align-items:center;justify-content:center;text-align:center}.brand-mark span{font-family:Georgia,serif;font-style:italic;font-size:14px}.brand-mark h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(38px,4.2vw,68px);letter-spacing:.07em;margin:.08em 0;line-height:1}.brand-mark p{font-size:9px;letter-spacing:.25em}.small-link{position:absolute;left:30px;bottom:20px;font-size:9px;letter-spacing:.18em}.tile-message{background:var(--pink)}.tile-photo{align-items:center;justify-content:center;text-align:center;color:#65706d}.tile-photo-1{background:linear-gradient(135deg,var(--mint),var(--blue))}.tile-photo:before{content:"";position:absolute;inset:14%;border:1px solid rgba(255,255,255,.7);border-radius:999px}.photo-label{position:relative;font-family:Georgia,serif;letter-spacing:.15em;font-size:12px}.tile-photo p{position:absolute;bottom:24px;font-size:11px}.tile-menu{background:var(--mint)}.tile-esthetic{background:var(--lav)}.tile-reserve{background:var(--peach)}.tile-calendar{background:var(--cream)}.tile-access{background:var(--blue)}.tile-contact{background:var(--sage)}.tile span:not(.round-arrow){font-size:10px;letter-spacing:.12em}.round-arrow{display:grid;place-items:center;width:48px;height:48px;border:1px solid currentColor;border-radius:50%;margin-top:20px;font-size:20px}.tile-calendar a{font-size:12px;border-bottom:1px solid currentColor}.contact-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.contact-actions a{border:1px solid rgba(63,69,72,.35);padding:9px 16px;border-radius:99px;font-size:12px;background:rgba(255,255,255,.35)}
.detail-section{padding:100px max(5vw,calc((100% - 1180px)/2))}.detail-head{max-width:700px;margin-bottom:45px}.detail-head h2,.map-copy h2{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(34px,4vw,58px);font-weight:500;line-height:1.3;margin:.15em 0}.menu-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.menu-cards article{background:#fff;border-radius:18px;padding:28px;min-height:220px;box-shadow:0 10px 35px rgba(0,0,0,.04)}.menu-cards small{font-size:10px;letter-spacing:.18em;opacity:.55}.menu-cards h3{font-family:Georgia,"Yu Mincho",serif;font-size:23px;font-weight:500;margin:.5em 0}.menu-cards p{font-size:13px;color:#70777a}.menu-cards a{font-size:12px;border-bottom:1px solid #aaa}.calendar-detail{background:#f0ece8}.cal{background:#fff;padding:30px;border-radius:18px}.cal-head{font-family:Georgia,"Yu Mincho",serif;font-size:25px;margin-bottom:18px}.cal-head span{float:right;font:12px sans-serif;color:#777}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.dow{text-align:center;font-size:12px;color:#777}.day{min-height:68px;border-radius:10px;background:#f7f6f2;padding:8px}.day b{color:#52645c}.day small{display:block;font-size:10px;margin-top:10px;color:#7c8d84}.day.closed{background:#eee}.day.closed b,.day.closed small{color:#aaa}.cal-note{font-size:11px;color:#777}.map-section{display:grid;grid-template-columns:38% 62%;min-height:430px;background:#fff}.map-copy{padding:70px max(5vw,calc((100vw - 1180px)/2));padding-right:50px;display:flex;flex-direction:column;justify-content:center}.map-wrap{min-height:430px;background:linear-gradient(135deg,#e8eef1,#d9e4df);display:grid;place-items:center}.map-placeholder{text-align:center;letter-spacing:.1em;color:#7a8587}.map-placeholder small{font-size:10px}footer{padding:30px 5vw;background:#42484b;color:#fff;display:flex;justify-content:space-between;align-items:center}footer strong,footer small{display:block}footer strong{font-family:Georgia,serif;font-weight:500;letter-spacing:.06em}footer small,footer a{font-size:10px;opacity:.7}.mobile-fixed{display:none}
.form-page{width:min(680px,90%);margin:70px auto}.form-page h1{font-family:Georgia,"Yu Mincho",serif;font-size:42px;font-weight:500}.form-page form{background:#fff;padding:30px;border-radius:18px;display:grid;gap:16px;box-shadow:0 10px 35px rgba(0,0,0,.05)}.form-page label{font-size:13px;font-weight:700}.form-page input,.form-page select{display:block;width:100%;padding:13px;margin-top:6px;border:1px solid #ddd;background:#fff;border-radius:9px}.form-page button{padding:14px;background:#667a70;border:0;border-radius:9px;color:#fff}
@media(max-width:900px){.tile-page{grid-template-columns:1fr 1fr;grid-template-rows:none}.tile{min-height:270px}.tile-brand{grid-column:1/3;min-height:330px}.menu-cards{grid-template-columns:1fr 1fr}.map-section{grid-template-columns:1fr}.map-copy{padding:60px 6vw}.map-wrap{min-height:330px}}
@media(max-width:620px){.tile-page{grid-template-columns:1fr}.tile-brand{grid-column:auto}.tile{min-height:230px;padding:30px}.tile-brand{min-height:300px}.tile h2{font-size:32px}.menu-cards{grid-template-columns:1fr}.detail-section{padding:70px 6vw}.cal{padding:14px}.day{min-height:48px;padding:5px;font-size:12px}.cal-head span{display:none}.map-wrap{min-height:280px}footer{margin-bottom:52px;display:block}footer a{display:inline-block;margin-top:10px}.mobile-fixed{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:1fr 1fr}.mobile-fixed a{text-align:center;padding:14px;background:#fff;border-top:1px solid #ddd}.mobile-fixed a:last-child{background:#667a70;color:#fff}}

/* SHOP PHOTO image */
.tile-photo{padding:0;overflow:hidden}.tile-photo img{width:100%;height:100%;object-fit:cover;display:block}.tile-photo img~*{display:none}
/* NEWS tile */
.tile-news{background:var(--yellow)}.tile-news a{font-size:12px;border-bottom:1px solid currentColor}.news-line{font-size:13px;line-height:1.5;margin:.7em 0!important}.news-line small{font-size:10px;opacity:.65}.news-list{background:#fff;border-radius:18px;padding:10px 28px}.news-list article{display:grid;grid-template-columns:120px 1fr;gap:20px;border-bottom:1px solid #eee;padding:18px 0}.news-list article:last-child{border-bottom:0}.news-list time{font-size:12px;color:#777}.news-list p{margin:0}@media(max-width:620px){.news-list article{grid-template-columns:1fr;gap:5px}}

/* Google Map: block full-size */
.map-section{display:grid;grid-template-columns:40% 60%;width:100%;min-height:430px;padding:0;overflow:hidden}
.map-copy{min-width:0}
.map-wrap{width:100%;height:100%;min-height:430px;margin:0;padding:0;overflow:hidden;border-radius:0}
.map-wrap iframe{display:block;width:100%;height:100%;min-height:430px;border:0}
@media(max-width:900px){.map-section{grid-template-columns:1fr}.map-wrap,.map-wrap iframe{height:330px;min-height:330px}}
@media(max-width:620px){.map-wrap,.map-wrap iframe{height:300px;min-height:300px}}

.reserve-message{padding:14px 16px;border-radius:10px}.reserve-message.success{background:#edf7ef}.reserve-message.error{background:#fff0f0}.form-page label small{display:block;margin-top:6px;font-weight:400;color:#777}
