/* First-visit guidance only. Navigation, page headers and other pages keep their theme. */
.cute-page .visit-guide{--visit-ink:#493d43;--visit-muted:#75636d;--visit-accent:#98466d;--visit-line:#eadbe2;max-width:1000px;color:var(--visit-ink)}
.cute-page .visit-guide :is(section,aside,h2)[id]{scroll-margin-top:94px}
.cute-page .visit-guide :is(h2,h3){color:var(--visit-ink)}
.cute-page .visit-guide h2{background:none;border:0;border-radius:0;padding:0;font-size:25px;line-height:1.6;margin:0 0 16px}
.cute-page .visit-guide h3{font-size:19px;line-height:1.6;margin:22px 0 12px}
.cute-page .visit-guide p{font-size:15px;line-height:1.9;margin:0 0 16px}
.cute-page .visit-guide>section{margin:0 0 42px}
.cute-page .visit-guide a{color:var(--visit-accent);text-underline-offset:4px}
.cute-page .visit-guide a:focus-visible,.cute-page .visit-guide summary:focus-visible{outline:3px solid #98466d;outline-offset:4px}
.cute-page .visit-guide .visit-kicker{font:12px/1.5 Georgia,serif;letter-spacing:.12em;color:var(--visit-accent);margin:0 0 9px}
.cute-page .visit-guide .visit-caption{font-size:13px;line-height:1.8;color:var(--visit-muted);margin:12px 0 0}
.cute-page .visit-guide .visit-toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.cute-page .visit-guide .visit-toc a{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:44px;padding:9px 15px;border:1px solid var(--visit-line);border-radius:8px;background:#fff;font-size:14px;line-height:1.7;text-decoration:none}
.cute-page .visit-guide .visit-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}
.cute-page .visit-guide .visit-total{min-width:0;background:#fff;border:1px solid var(--visit-line);border-top:3px solid #d4a6bb;border-radius:4px 4px 14px 14px;padding:18px 16px}
.cute-page .visit-guide .visit-total:nth-child(n+3){background:#fbf6f9;border-top-color:#b798b7}
.cute-page .visit-guide .visit-total-person{font-size:15px;font-weight:700;margin:0 0 12px}
.cute-page .visit-guide .visit-total-person span{display:block;font-size:11px;font-weight:400;color:var(--visit-muted);line-height:1.8;margin-top:3px}
.cute-page .visit-guide .visit-total h3{font-size:14px;line-height:1.65;margin:0 0 10px;min-height:46px}
.cute-page .visit-guide .visit-total-amount{display:block;font-family:Georgia,serif;font-size:35px;font-weight:500;line-height:1.3;font-variant-numeric:tabular-nums;color:var(--visit-accent)}
.cute-page .visit-guide .visit-total-formula{border-top:1px solid var(--visit-line);padding-top:12px;margin:12px 0 0;font-size:12px;line-height:1.9;color:var(--visit-muted)}
.cute-page .visit-guide .visit-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}
.cute-page .visit-guide .visit-options article{padding:20px;background:#f7f1f4;border-radius:12px;min-width:0}
.cute-page .visit-guide .visit-options h3{margin:0 0 10px;font-size:18px}
.cute-page .visit-guide .visit-options p{margin:0;font-size:14px}
.cute-page .visit-guide .visit-language{font-size:13px;line-height:2}
.cute-page .visit-guide .price-table{border-radius:12px;box-shadow:none;margin:12px 0 26px;border-color:var(--visit-line)}
.cute-page .visit-guide .price-table :is(th,td){font-size:15px;line-height:1.7;padding:14px 16px}
.cute-page .visit-guide .price-table th{background:#f6edf2}
.cute-page .visit-guide .visit-example{margin:24px 0;padding:24px;border:1px solid #e4d4bd;border-radius:12px;background:#fffaf1}
.cute-page .visit-guide .visit-example h3{margin:0 0 12px}
.cute-page .visit-guide .visit-example strong{font-size:24px;display:block;margin-top:7px}
.cute-page .visit-guide .visit-question{border:1px solid var(--visit-line);border-radius:9px;margin:10px 0;background:#fff;overflow:hidden}
.cute-page .visit-guide .visit-question summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;font-size:15px;font-weight:700;line-height:1.7;padding:17px 18px;min-height:58px;color:var(--visit-ink)}
.cute-page .visit-guide .visit-question summary::-webkit-details-marker{display:none}
.cute-page .visit-guide .visit-question summary::after{content:'+';margin-left:auto;flex:none;color:var(--visit-accent);font:24px/1 Georgia,serif}
.cute-page .visit-guide .visit-question[open] summary{background:#fcf6f9}
.cute-page .visit-guide .visit-question[open] summary::after{content:'−'}
.cute-page .visit-guide .visit-answer{padding:16px 20px 19px}
.cute-page .visit-guide .visit-answer p{font-size:14px;margin:0;line-height:1.95}
.cute-page .visit-guide .visit-answer p+p{margin-top:12px}
.cute-page .visit-guide .visit-answer ul{font-size:14px;padding-left:20px;margin:14px 0;line-height:1.95}
.cute-page .visit-guide .visit-answer li+li{margin-top:12px}
.cute-page .visit-guide .visit-note,.cute-page .visit-guide .visit-set{margin:20px 0}
.cute-page .visit-guide .visit-booking{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:22px 24px;margin:28px 0 36px;border:1px solid var(--visit-line);background:#f8eef3;border-radius:12px}
.cute-page .visit-guide .visit-booking strong{font-size:17px;color:var(--visit-ink)}
.cute-page .visit-guide .visit-booking p{font-size:13px;line-height:1.8;margin:6px 0 0}
.cute-page .visit-guide a.visit-button{display:flex;gap:24px;align-items:center;justify-content:space-between;min-height:48px;padding:13px 20px;border-radius:7px;background:var(--visit-accent);color:#fff;text-decoration:none;font-size:15px;font-weight:700;white-space:nowrap}
.cute-page .visit-guide .visit-welcome{padding:22px 26px;background:#f9f3f6;border:1px solid var(--visit-line);border-radius:14px}
.cute-page .visit-guide .visit-welcome h2{font-size:30px}
.cute-page .visit-guide .visit-reassurance{display:flex;flex-wrap:wrap;gap:7px 15px;list-style:none;padding:0;margin:20px 0 0;font-size:13px}
.cute-page .visit-guide .visit-reassurance li::before{content:'✓';color:var(--visit-accent);margin-right:6px}
.cute-page .visit-guide .visit-shops{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}
.cute-page .visit-guide .visit-shop{min-width:0;border:1px solid var(--visit-line);border-radius:10px;overflow:hidden;background:#fff}
.cute-page .visit-guide .visit-shop>a{display:block}
.cute-page .visit-guide .visit-shop img,.cute-page .visit-guide .visit-contact-links img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:contain}
.cute-page .visit-guide .visit-shop>div{padding:18px}
.cute-page .visit-guide .visit-shop .visit-shop-type{font-size:11px;color:var(--visit-muted);margin:0 0 5px}
.cute-page .visit-guide .visit-shop h3{font-size:21px;margin:0 0 12px}
.cute-page .visit-guide .visit-shop h3 small{display:block;font-size:11px;font-weight:400;line-height:1.8;color:var(--visit-muted)}
.cute-page .visit-guide .visit-shop p{font-size:14px;margin:0 0 12px}
.cute-page .visit-guide .visit-shop a.visit-text-link{font-size:13px;line-height:1.8}
.cute-page .visit-guide .visit-text-link{display:inline-block;min-height:44px;padding:8px 0;font-size:15px;text-decoration:underline}
.cute-page .visit-guide .visit-flow{list-style:none;padding:0;margin:20px 0}
.cute-page .visit-guide .visit-flow li{display:flex;gap:20px;align-items:start;padding:21px 0;border-bottom:1px solid var(--visit-line)}
.cute-page .visit-guide .visit-flow li>span{font:28px/1.5 Georgia,serif;color:#bc849e;flex:none}
.cute-page .visit-guide .visit-flow h3{font-size:18px;margin:2px 0 7px}
.cute-page .visit-guide .visit-flow p{font-size:14px;margin:0}
.cute-page .visit-guide .visit-rule{padding:24px;background:#fff9ed;border:1px solid #ebdcc4;border-radius:12px}
.cute-page .visit-guide .visit-rule h2{font-size:22px}
.cute-page .visit-guide .visit-rule p{margin:0;font-size:14px}
.cute-page .visit-guide .visit-contact{padding-top:26px;margin-top:34px;border-top:1px solid var(--visit-line)}
.cute-page .visit-guide .visit-contact-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.cute-page .visit-guide .visit-contact-links a{display:block;min-height:46px;padding:12px;background:#fff;border:1px solid var(--visit-line);border-radius:7px;font-size:14px;line-height:1.8;text-align:center;text-decoration:none}
.cute-page .visit-guide .visit-contact-links a:has(img){padding:0;overflow:hidden}
.cute-page .visit-guide .visit-contact-links a>span:not([aria-hidden]){display:block;padding:12px}
.cute-page .visit-guide .visit-related{display:flex;flex-wrap:wrap;gap:12px 22px;border-top:1px solid var(--visit-line);padding-top:18px;margin-top:28px;font-size:14px}
@media(max-width:768px){
 .cute-page .visit-guide .visit-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .cute-page .visit-guide .visit-total h3{min-height:0}
 .cute-page .visit-guide .visit-shops{gap:12px}
 .cute-page .visit-guide .visit-shop>div{padding:13px}
 .cute-page .visit-guide .price-table{display:table;table-layout:fixed;width:100%}
 .cute-page .visit-guide .price-table :is(th,td){padding:12px 9px;font-size:14px;min-width:0;overflow-wrap:anywhere}
 .cute-page .visit-guide .price-table :is(th:first-child,td:first-child){width:50%}
}
@media(max-width:640px){
 .cute-page .visit-guide h2{font-size:23px}
 .cute-page .visit-guide>section{margin-bottom:32px}
 .cute-page .visit-guide .visit-welcome{padding:21px 19px}
 .cute-page .visit-guide .visit-welcome h2{font-size:28px}
 .cute-page .visit-guide .visit-toc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .cute-page .visit-guide .visit-toc a{padding:10px 12px;font-size:13px;gap:7px}
 .cute-page .visit-guide .visit-total{padding:16px 13px}
 .cute-page .visit-guide .visit-total h3{font-size:13px;min-height:43px}
 .cute-page .visit-guide .visit-total-amount{font-size:32px}
 .cute-page .visit-guide .visit-total-person span{font-size:10px}
 .cute-page .visit-guide .visit-total-formula{font-size:11px}
 .cute-page .visit-guide .visit-options{grid-template-columns:1fr;gap:10px}
 .cute-page .visit-guide .visit-options article{padding:18px}
 .cute-page .visit-guide .visit-booking{grid-template-columns:1fr;padding:20px;gap:14px}
 .cute-page .visit-guide a.visit-button{justify-content:center;white-space:normal}
 .cute-page .visit-guide .visit-shops{grid-template-columns:1fr;gap:20px}
 .cute-page .visit-guide .visit-shop>div{padding:18px}
 .cute-page .visit-guide .visit-question summary{padding:16px 14px;font-size:14px}
 .cute-page .visit-guide .visit-answer{padding:14px 16px 18px}
 .cute-page .visit-guide .visit-answer .price-table :is(th,td){padding:10px 6px;font-size:12px}
 .cute-page .visit-guide .visit-example{padding:20px 18px}
 .cute-page .visit-guide .visit-example p{font-size:14px}
 .cute-page .visit-guide .visit-flow li{gap:15px}
 .cute-page .visit-guide .visit-contact-links{grid-template-columns:1fr;gap:9px}
 .cute-page .visit-guide .visit-contact-links a:has(img){display:grid;grid-template-columns:45% 1fr;align-items:center;text-align:left}
 .cute-page .visit-guide .visit-contact-links a>span:not([aria-hidden]){font-size:13px;padding:10px 12px}
}
@media(prefers-reduced-motion:reduce){.cute-page .visit-guide *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Match the compact, photo-led events and store comparison headers. */
body.visit-page{background:#fffdfa}
.visit-page .page-hero{padding:26px 20px 24px;background:#f9edf1;border:0}
.visit-page .page-eyebrow{display:block;background:none;border:0;padding:0;margin:0 0 7px;font:12px/1.6 Georgia,serif;letter-spacing:.14em;color:#944467}
.visit-page .page-hero h1{font-family:'Yu Mincho','Hiragino Mincho ProN',serif!important;font-size:clamp(26px,3.4vw,38px);font-weight:600!important;line-height:1.6;margin:0 0 7px}
.visit-page .page-hero .lead{color:#715c68;font-size:14px;line-height:1.8;margin:0}
.visit-page .hamburger{background:#fff;border-radius:3px}
.visit-page .visit-guide :is(.visit-total,.visit-options article,.price-table,.visit-example,.visit-question,.visit-toc a,.visit-welcome,.visit-shop,.visit-booking){border-radius:2px}
.visit-page .visit-guide .visit-total{padding:16px}
.visit-page .visit-guide .visit-total-person{margin-bottom:5px}
.visit-page .visit-guide .visit-total h3{min-height:0;margin-bottom:9px}
.visit-page .visit-guide .visit-total-formula{line-height:1.65;padding-top:8px;margin-top:8px}
.visit-page .visit-guide .visit-total-person span{margin:0}
.visit-page .visit-guide .visit-total-amount{font-size:30px}
.visit-page .visit-guide .visit-total-section>p:not(.visit-kicker){font-size:14px;line-height:1.8}
.visit-page .visit-guide .visit-totals{margin-top:14px;gap:10px}
@media(max-width:640px){.visit-page .visit-guide .visit-total{padding:13px}.visit-page .visit-guide .visit-total-formula{font-size:11px}.visit-page .visit-guide .visit-total h3{font-size:12px}.visit-page .page-body{padding-top:18px}}
