/* A warm, spacious presentation inspired by the supplied reference. */
:root{--green:#88665c;--cream:#fffdf7;--ink:#443b36;--line:#d4e3da;--gold:#b8907b}
body{color:var(--ink);background:var(--cream);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:2}
.sample{background:#eee3da;color:#756153;font-family:"Yu Gothic",sans-serif;letter-spacing:.04em}
header{max-width:1240px;padding:32px 5% 28px;border-bottom:1px solid #dbece1;gap:24px}
.brand{font-size:25px;letter-spacing:.09em;white-space:nowrap}.brand small{font-size:12px;color:#997869;letter-spacing:.08em}
nav{gap:24px;flex-wrap:wrap}nav>a{white-space:nowrap}.nav-button{background:#99786b;color:white;border:0;padding:8px 22px}
.hero{max-width:1240px;grid-template-columns:1fr 1fr;padding:32px 5% 90px;gap:50px;margin:0 auto}
.hero-copy{padding:20px 0}.eyebrow{font-family:Georgia,"Yu Mincho",serif;color:#ac8777;font-size:17px;font-weight:400;letter-spacing:.1em;margin-bottom:20px}
h1{font-size:clamp(44px,4.6vw,65px);line-height:1.5;letter-spacing:.1em;margin-bottom:27px}.intro{font-size:17px;line-height:2.2}
.hero figure{height:620px;border-radius:32px 130px 32px 32px;background:#efe8e1}.hero img{object-position:50% 42%}.hero figcaption{font-size:14px;background:linear-gradient(transparent,rgba(80,61,47,.5));padding:70px 25px 20px}
.button{background:#927164;font-size:16px;padding:13px 27px;margin-top:20px}.button:hover{background:#755549}.hero-gallery-link{display:block;text-decoration:underline;text-underline-offset:6px;color:#8c6e61;font-size:14px;margin-top:20px}
.section{padding:85px max(6%,calc((100vw - 1090px)/2))}h2{font-size:34px;letter-spacing:.05em;line-height:1.75}.about{background:#e8f3ec;gap:70px;border-radius:0 100px 0 0}.about-text p{font-size:16px}
.experience{display:flex;align-items:center;gap:25px;border-bottom:1px solid #ddc9ba;padding-bottom:20px;margin-bottom:25px}.experience>span{white-space:nowrap;font-size:18px}.experience b{font-family:Georgia,serif;font-size:50px;font-weight:400;color:#947366;line-height:1}.experience>p{font-size:14px;margin:0;line-height:1.8}
.gallery{background:#fffdf7;padding-bottom:85px}.gallery .section-heading{display:block;text-align:center;margin-bottom:36px}.gallery .section-heading>p{font-size:14px;color:#85746a}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.gallery-photo{border-radius:18px;background:#eee4db;box-shadow:0 4px 15px #7a503c09}.gallery-photo:first-child{grid-column:span 2;grid-row:span 2}.gallery-photo:first-child img{height:100%;object-fit:cover}.gallery-photo img{aspect-ratio:3/4}
.menu{background:#e8f5ee;border-top:1px solid #cfe4d7}.menu>.section-heading{display:block;text-align:center}.menu>.section-heading p{font-size:14px}.shower-note{background:#f7fff9;border:1px solid #cfe4d7;text-align:center;border-radius:24px;padding:30px;margin:0 0 38px}.shower-note .eyebrow{display:block;font-size:15px;margin:0 0 6px}.shower-note h3{font-size:25px;margin:0 0 12px}.shower-note p{font-size:16px;margin:0}.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:22px;border:0}.menu-list article{display:block;border:1px solid var(--line);border-radius:20px;padding:30px;background:#f7fff9}.menu-list article:last-child{grid-column:1/-1;display:grid;grid-template-columns:50px 1fr auto;align-items:center}.number{display:block;font-size:18px;color:#78a58b;margin-bottom:12px}article h3{font-size:23px}article p{font-size:15px;color:#597367}.price{display:inline-block;margin-top:20px;color:#4e8464;border:0;padding:0;font-size:23px;font-family:Georgia,"Yu Mincho",serif}.menu-list article:last-child .price{margin-top:0}.price-table{margin-top:48px}thead{background:#f0f7f2}table{font-size:16px}th,td{padding:20px 18px}caption{text-align:center;font-size:24px}.price-note,.sources{color:#5d7768;font-size:14px}.sources{padding:18px 0}
.info{background:#e8f5ee;color:var(--ink);border-radius:90px 0 0 0;gap:60px}.info>div>p:last-child{color:#597367;font-size:16px}.info dt{color:#5f806d}.info dd{font-size:16px}.info dd small,.info dd span{color:#668573}.info dl>div{border-color:#c2ddcd;grid-template-columns:145px 1fr}.map-link{display:block;width:max-content;text-decoration:underline;text-underline-offset:5px;margin-top:10px;color:#4d8065;font-size:14px}footer{background:#fffdf7;padding:36px 6%;gap:20px}footer p{font-size:14px}footer .brand{font-size:22px}.photo-close{background:#5d9274}.photo-viewer{background:#f3fbf6}
@media(max-width:1050px){header{flex-wrap:wrap;justify-content:center}nav{justify-content:center}.hero{gap:30px}.hero figure{height:540px}.brand{font-size:23px}.experience{flex-wrap:wrap;gap:10px}.info dl>div{grid-template-columns:115px 1fr}}
@media(max-width:780px){header{padding:18px 6%;gap:16px}.brand{font-size:23px}.brand small{text-align:center;font-size:11px}nav{gap:16px;width:100%;justify-content:center}nav>a:not(.nav-button){display:block;font-size:13px}.nav-button{font-size:13px;padding:6px 15px}.hero{grid-template-columns:1fr;padding:28px 7% 55px;gap:32px}.hero-copy{padding:0}.hero .eyebrow{font-size:14px;margin-bottom:15px}h1{font-size:44px;line-height:1.5}.intro{font-size:16px}.hero figure{height:auto;aspect-ratio:3/4;border-radius:24px 90px 24px 24px}.button{font-size:15px;margin-top:12px}.hero-gallery-link{display:inline-block;margin-left:16px;margin-top:16px}.section{padding:58px 7%}h2{font-size:28px}.about,.info{grid-template-columns:1fr;gap:30px;border-radius:0 65px 0 0}.experience{flex-wrap:nowrap;gap:20px}.experience b{font-size:44px}.experience>p{font-size:13px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-photo:first-child{grid-column:auto;grid-row:auto}.gallery-photo:first-child img{height:auto;object-fit:contain}.gallery-photo{border-radius:12px}.menu-list{grid-template-columns:1fr;gap:16px}.menu-list article{padding:24px}.menu-list article:last-child{display:block;grid-column:auto}.menu-list article:last-child .price{margin-top:20px}.shower-note{padding:24px 18px}.shower-note h3{font-size:22px}.shower-note p{font-size:15px}th,td{padding:16px 12px}footer{justify-content:center;text-align:center}footer p{flex-basis:100%;margin:0}footer .brand{white-space:normal;font-size:22px}.info dl>div{grid-template-columns:95px 1fr}.info dd{font-size:15px}}

/* Larger top navigation labels */
header nav{font-size:18px;gap:24px}header nav>a,header nav>a:not(.nav-button),header nav>a[href="#gallery"],header nav>.nav-button{font-size:18px}header nav>.nav-button{padding:10px 24px}@media(max-width:780px){header nav{gap:12px 18px}header nav>a,header nav>a:not(.nav-button),header nav>a[href="#gallery"],header nav>.nav-button{font-size:16px}header nav>.nav-button{padding:8px 18px}}

body,h1,h2,h3,.brand,.brand small,.eyebrow,.price,.number,.experience b,button{font-family:"Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho",serif}h1,h2,h3,.brand{font-weight:700}body{font-weight:400}header nav,.button,.nav-button{font-weight:500}.brand{letter-spacing:.04em}h1{letter-spacing:.04em}.eyebrow{font-weight:500;letter-spacing:.08em}
.reservation-buttons{display:flex;gap:10px;margin-top:16px;align-items:stretch}.reservation-buttons .button{flex:1;display:flex;justify-content:center;text-align:center;margin:0;padding:12px 10px;font-size:14px;line-height:1.6;min-width:0}.info dl>div:last-child{grid-template-columns:1fr}.info dl>div:last-child dd{min-width:0}

header nav{font-weight:400}a[href="https://lin.ee/Xefhbwg"]{background:#06c755;color:#fff;font-weight:700}a[href="https://lin.ee/Xefhbwg"]:hover{background:#059e44}
.reservation-note{font-size:14px;line-height:1.9;margin:16px 0 0}
.course-label{font-size:13px;letter-spacing:.1em;margin:8px 0 16px}.course-includes{padding-left:1.3em;margin:16px 0 0;font-size:16px;line-height:2}.course-includes li{padding-left:.15em}
.option-table{background:#fcfaf7;border:1px solid #ecded3;border-radius:24px;padding:24px 30px;margin-top:34px;box-shadow:0 8px 24px rgba(116,79,61,.06)}.option-table table{margin:0}.option-table caption{text-align:left;font-size:25px;color:#88665c;margin-bottom:8px}.option-table th{font-weight:500}.option-table td{white-space:nowrap;color:#88665c;font-family:Georgia,"Yu Mincho",serif;font-size:19px}
@media(max-width:780px){.option-table{padding:18px 14px;border-radius:18px}.option-table caption{font-size:21px}.option-table th,.option-table td{padding:14px 10px;font-size:14px}.option-table td{font-size:16px}.option-table th small{font-size:12px}}
.option-table{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}.option-table table{border-collapse:separate;border-spacing:0 12px}.option-table tr{background:#fcfaf7}.option-table th,.option-table td{border-top:1px solid #ecded3;border-bottom:1px solid #ecded3}.option-table th{border-left:1px solid #ecded3;border-radius:16px 0 0 16px;text-align:left}.option-table td{border-right:1px solid #ecded3;border-radius:0 16px 16px 0;text-align:right}.option-table caption{margin-bottom:4px}
.options-section{background:#fffdf7;border-top:1px solid #e8e1d6}.options-section .section-heading{text-align:center;display:block;margin-bottom:10px}.options-section .section-heading .eyebrow{margin-bottom:8px}
@media(max-width:780px){.option-table table{border-spacing:0 9px}.option-table th{border-radius:12px 0 0 12px}.option-table td{border-radius:0 12px 12px 0}}
.option-table tr.main-option{background:#f5e6dc}.option-table tr.main-option th,.option-table tr.main-option td{border-color:#d6a98f}.option-table tr.main-option th{color:#825241;font-weight:700}.option-table tr.main-option td{color:#9d5e43;font-weight:700}
.option-table tr.rose-option{background:#f9e1e8}.option-table tr.rose-option th,.option-table tr.rose-option td{border-color:#e7b8c7}.option-table tr.rose-option th,.option-table tr.rose-option td{color:#a24f6a}.option-table tr.herb-option{background:#e3efdf}.option-table tr.herb-option th,.option-table tr.herb-option td{border-color:#b8d1ae}.option-table tr.herb-option th,.option-table tr.herb-option td{color:#4b7546}
.option-table tr.lime-option{background:#edf4c9}.option-table tr.lime-option th,.option-table tr.lime-option td{border-color:#c9d99a}.option-table tr.lime-option th,.option-table tr.lime-option td{color:#667b35}
.option-table th small{display:block;font-size:13px;line-height:1.7;font-weight:400;color:inherit;opacity:.82;margin-top:4px}
.popular-badge{display:inline-block;background:#c9869b;color:#fff;border-radius:999px;padding:2px 10px;font-size:12px;letter-spacing:.08em;vertical-align:middle;margin-right:4px}
.gallery-photo:first-child{grid-column:auto;grid-row:auto}.gallery-photo img{height:280px;aspect-ratio:auto;object-fit:cover}
@media(max-width:780px){.gallery-photo img{height:210px}}
.instagram-update-link{color:#5d9274;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.featured-options table tbody{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.featured-options tr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;background:#f9fdfb;border:1px solid #d4e3da;border-radius:16px;overflow:hidden}.featured-options tr th,.featured-options tr td{border:0;border-radius:0;padding:17px 18px}.featured-options tr td{font-size:18px}.featured-options tr:first-child{grid-column:1/-1;display:flex;justify-content:space-between;padding:4px 0;border-color:#e7b8c7;background:#f9e1e8}.featured-options tr:first-child th,.featured-options tr:first-child td{color:#a24f6a;font-weight:700}.featured-options tr.main-option:not(:first-child) th,.featured-options tr.main-option:not(:first-child) td{font-weight:600}.featured-options tr.herb-option{background:#e3efdf}.featured-options tr.lime-option{background:#edf4c9}
@media(max-width:780px){.featured-options table tbody{grid-template-columns:1fr;gap:10px}.featured-options tr:first-child{grid-column:auto}.featured-options tr th,.featured-options tr td{padding:14px 12px}.featured-options tr td{font-size:16px}}
a:hover{text-decoration:none}.button:hover{background:#927164}.gallery-photo:hover img{transform:none}a[href="https://lin.ee/Xefhbwg"]:hover{background:#06c755}

.hero-slideshow{transition:opacity .45s ease}.hero-slideshow.is-changing{opacity:.2}

.menu-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.menu-list article:last-child{grid-column:1 / -1}@media(max-width:780px){.menu-list{grid-template-columns:1fr}.menu-list article:last-child{grid-column:auto}}

/* course cards side by side */
.menu-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}.menu-list article:last-child{grid-column:auto!important;display:block!important}@media(max-width:780px){.menu-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.menu-list article{min-width:0;padding:16px 10px}.menu-list article:last-child{grid-column:auto!important;display:block!important}}
