/* Shared modal viewport and scroll boundary, including Kakao in-app browsers. */
html:has(body.r791-scroll-locked){overflow:hidden!important;overscroll-behavior:none}
body.r791-scroll-locked{position:fixed!important;top:var(--r791-scroll-top)!important;left:0!important;right:0!important;width:auto!important;overflow:hidden!important;overscroll-behavior:none}
dialog[open]{max-height:calc(100vh - 24px)!important;max-height:calc(100dvh - 24px)!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
dialog::backdrop{overscroll-behavior:none}
dialog[open]>form,dialog[open]>.order-dialog-card{min-height:0}
.r791-menu{box-sizing:border-box!important;position:fixed!important;inset:0!important;width:100%!important;max-width:100%!important;height:100%!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:0 20px max(24px,env(safe-area-inset-bottom))!important;border:0!important;border-radius:0!important;background:#06271f!important;color:#fff!important}
.r791-menu:not([open]){display:none!important}
.r791-menu-heading{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#06271f;padding:16px 0;border-bottom:1px solid #e6c77555}
.r791-menu-heading h2{font:700 20px/1.3 sans-serif;color:#e6c775;margin:0}
.r791-menu-close{width:48px!important;height:48px!important;min-width:48px!important;padding:0!important;border:1px solid #e6c775;border-radius:14px;background:#ffffff12;color:white;font:32px/1 sans-serif}
.r791-menu nav{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px;padding:16px 0;max-width:640px;margin:auto}
.r791-menu nav a{display:block;padding:18px 20px;border:1px solid #e6c77566;border-radius:16px;color:#fff;background:#ffffff08;text-decoration:none;font:700 18px/1.4 sans-serif;overflow-wrap:anywhere}
.r791-menu nav a[aria-current=page]{background:#efcb6c;color:#06271f}
.r791-menu a:focus-visible,.r791-menu button:focus-visible{outline:3px solid white;outline-offset:3px}
.r791-collection-return{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f7f2e7;border-bottom:1px solid #dfd5bc}
.r791-collection-return a,.r791-collection-return button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:8px 16px;border:1px solid #d7c9a6;border-radius:24px;background:#fffdf8;color:#06271f;font:700 15px/1.4 sans-serif;text-decoration:none}
@media(max-width:760px){
  .r791-menu nav{gap:7px;padding:12px 0}
  .r791-menu nav a{padding:11px 14px;border-radius:12px;font:700 14px/1.4 sans-serif}
  .r791-menu-close{width:40px!important;height:40px!important;min-width:40px!important;font-size:27px}
  .app-bottom-nav,.mobile-tabbar{display:none!important}
  body{--bottom-nav-h:0px;--mobile-tabbar-height:0px;padding-bottom:env(safe-area-inset-bottom)!important}
  .site-header .brand,.app-header .app-brand,.collection-header .collection-brand{min-width:0!important;flex-shrink:1!important}
  .site-header .brand-copy,.collection-brand-copy,.app-brand>span{min-width:0!important}
  .site-header .brand strong,.app-brand strong,.collection-brand strong{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;font-size:clamp(14px,4vw,20px)!important;letter-spacing:.07em!important}
  .site-header .brand small,.collection-brand small,.app-brand small{display:none!important}
  .site-header .header-inner,.app-header-inner,.collection-header-inner{gap:8px!important;padding-inline:12px!important}
  .site-header .brand-mark,.collection-brand-mark{width:40px!important;height:40px!important;flex:0 0 40px!important}
  #r791MenuToggle{flex:0 0 44px!important;width:44px!important;height:44px!important;min-width:44px!important}
  .hero-inner{min-width:0!important;max-width:100%!important}
  .hero-visual{box-sizing:border-box;min-width:0!important;width:100%!important;max-width:100%!important;min-height:0!important;height:auto!important;overflow:hidden!important;margin-inline:0!important;display:flex!important;flex-direction:column;align-items:center}
  .hero-visual>picture{display:block;position:relative;width:100%;max-width:380px;flex:none}
  .hero-visual .hero-character{position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:62vh!important;max-height:62dvh!important;object-fit:contain!important;transform:none!important;animation:none!important;display:block;margin:auto}
  .hero-visual .savori-card{position:relative!important;inset:auto!important;transform:none!important;width:calc(100% - 24px)!important;max-width:380px!important;margin:8px auto 16px!important;box-sizing:border-box}
  .hero-visual .hero-floating-tag{display:none!important}
  .hero-character-halo{max-width:100%!important;pointer-events:none}
  dialog[open]{max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;box-sizing:border-box}
  dialog.r791-menu[open]{max-width:100%!important;max-height:100dvh!important}
}
@media(max-width:760px){
  .savori-layout,.savori-portrait,.portrait-frame{min-width:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box}
  .portrait-frame{height:auto!important;min-height:0!important;overflow:hidden!important}
  .portrait-frame img{position:relative!important;inset:auto!important;display:block;width:100%!important;max-width:100%!important;height:auto!important;max-height:70dvh!important;object-fit:contain!important;transform:none!important;margin:auto}
}
@media(max-width:760px){
  .hero-inner,.savori-layout{grid-template-columns:minmax(0,1fr)!important}
  .portrait-caption{position:relative!important;inset:auto!important;max-width:100%!important;width:auto!important;margin:12px 0 0!important;box-sizing:border-box}
  .site-header .header-actions,.app-header-actions,.collection-header-actions{gap:6px!important;flex-shrink:0}
  .site-header .language-select,.app-header .language-select,.collection-language{width:84px!important;min-width:0!important;padding-inline:8px!important;font-size:12px!important}
}
@media(max-width:380px){
  .site-header .brand,.app-brand,.collection-brand{gap:5px!important}
  .site-header .brand strong,.app-brand strong,.collection-brand strong{font-size:14px!important;letter-spacing:.03em!important}
  .site-header .brand-mark,.collection-brand-mark{width:30px!important;height:36px!important;flex-basis:30px!important}
}
/* The same destinations on every public page, including frame and venue pages. */
#r791MenuToggle.r791-menu-toggle{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;margin:0;padding:0;border:1px solid #b4c4e0;border-radius:12px;background:#183151;color:#f6d98c;font:24px/1 system-ui;cursor:pointer}
.r791-menu.r791-menu{background:#0b1932!important;color:#f3f7ff!important}
.r791-menu .r791-menu-heading{background:#0b1932;max-width:780px;margin:auto;z-index:2}
.r791-menu nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:780px;gap:8px}
.r791-menu nav a,.r791-menu nav button{box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;min-width:0;min-height:72px;padding:12px;border:1px solid #567196;border-radius:12px;background:#142b4b;color:#f2f6ff;font:14px/1.4 system-ui;text-align:left;text-decoration:none;cursor:pointer}
.r791-menu nav strong,.r791-menu nav small{display:block;overflow-wrap:anywhere;word-break:keep-all}
.r791-menu nav small{font:11px/1.5 system-ui;color:#c1cfe5;margin-top:5px}
.r791-menu nav a[aria-current=page]{background:#f0d080;color:#102341}.r791-menu nav a[aria-current=page] small{color:#273f61}
.r791-menu nav .sv-menu-icon{flex-shrink:0;width:28px;color:#f4d48a;font-size:22px;text-align:center}
.r791-menu nav a[aria-current=page] .sv-menu-icon{color:#163457}
.r791-menu nav>*>span:last-child{min-width:0}
@media(min-width:761px){.desktop-nav,.app-nav,.collection-desktop-nav,.af-header>nav{min-width:0;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin;scrollbar-color:#b6a366 transparent}.desktop-nav>a,.app-nav>a,.collection-desktop-nav>a,.af-header>nav>a{flex-shrink:0;white-space:nowrap}}
@media(max-width:380px){.r791-menu{padding-inline:12px!important}.r791-menu nav a,.r791-menu nav button{gap:7px;padding:10px;font-size:13px}.r791-menu nav small{font-size:10px}.r791-menu nav .sv-menu-icon{width:20px;font-size:19px}.sp-header-actions{gap:5px}.sp-header-cta{max-width:96px}}

/* Saebori quick choices: the main menu, art rental and artwork stories. */
.r791-menu nav a[data-savorip-menu="products"],
.r791-menu nav a[data-savorip-menu="collection"],
.r791-menu nav a[data-savorip-menu="store"],
.r791-menu nav a[data-savorip-menu="frame"],
.r791-menu nav a[data-savorip-menu="memory"],
.r791-menu nav a[data-savorip-menu="studio"],
.r791-menu nav a[data-savorip-menu="my"],
.r791-menu nav a[data-savorip-menu="spaces"],
.r791-menu nav a[data-savorip-menu="rental"],
.r791-menu nav a[data-savorip-menu="story"]{background:#f3d483;color:#102343;border-color:#f3d483;font-weight:700;}
.r791-menu nav a[data-savorip-menu="products"] .sv-menu-icon,
.r791-menu nav a[data-savorip-menu="collection"] .sv-menu-icon,
.r791-menu nav a[data-savorip-menu="store"] .sv-menu-icon,
.r791-menu nav a[data-savorip-menu="frame"] .sv-menu-icon,
.r791-menu nav a[data-savorip-menu="memory"] .sv-menu-icon,
.r791-menu nav a[data-savorip-menu="studio"] .sv-menu-icon,
.r791-menu nav a[data-savorip-menu="my"] .sv-menu-icon,
.r791-menu nav a[data-savorip-menu="spaces"] .sv-menu-icon,
.r791-menu nav a[data-savorip-menu="rental"] .sv-menu-icon,
.r791-menu nav a[data-savorip-menu="story"] .sv-menu-icon{color:#102343;background:#e7c570;}
.r791-menu nav a[data-savorip-menu="products"] small,
.r791-menu nav a[data-savorip-menu="collection"] small,
.r791-menu nav a[data-savorip-menu="store"] small,
.r791-menu nav a[data-savorip-menu="frame"] small,
.r791-menu nav a[data-savorip-menu="memory"] small,
.r791-menu nav a[data-savorip-menu="studio"] small,
.r791-menu nav a[data-savorip-menu="my"] small,
.r791-menu nav a[data-savorip-menu="spaces"] small,
.r791-menu nav a[data-savorip-menu="rental"] small,
.r791-menu nav a[data-savorip-menu="story"] small{color:#273f61;}
.r791-menu nav a[data-savorip-menu="products"][aria-current="page"],
.r791-menu nav a[data-savorip-menu="collection"][aria-current="page"],
.r791-menu nav a[data-savorip-menu="store"][aria-current="page"],
.r791-menu nav a[data-savorip-menu="frame"][aria-current="page"],
.r791-menu nav a[data-savorip-menu="memory"][aria-current="page"],
.r791-menu nav a[data-savorip-menu="studio"][aria-current="page"],
.r791-menu nav a[data-savorip-menu="my"][aria-current="page"],
.r791-menu nav a[data-savorip-menu="spaces"][aria-current="page"],
.r791-menu nav a[data-savorip-menu="rental"][aria-current="page"],
.r791-menu nav a[data-savorip-menu="story"][aria-current="page"]{box-shadow:inset 0 0 0 2px #102343;}
@media(hover:hover){
.r791-menu nav a[data-savorip-menu="products"]:hover,
.r791-menu nav a[data-savorip-menu="collection"]:hover,
.r791-menu nav a[data-savorip-menu="store"]:hover,
.r791-menu nav a[data-savorip-menu="frame"]:hover,
.r791-menu nav a[data-savorip-menu="memory"]:hover,
.r791-menu nav a[data-savorip-menu="studio"]:hover,
.r791-menu nav a[data-savorip-menu="my"]:hover,
.r791-menu nav a[data-savorip-menu="spaces"]:hover,
.r791-menu nav a[data-savorip-menu="rental"]:hover,
.r791-menu nav a[data-savorip-menu="story"]:hover{background:#ffe3a0;border-color:#ffe3a0;color:#102343;}
}
