/* Source: /assets/index-v32-visit-labels.css */
:root{--ink:#333;--ink-strong:#202020;--ink-soft:#6a6a6d;--ink-faint:#8a8a8f;--paper:#f5f5f7;--paper-soft:#ececef;--white:#fff;--line:#1a1a1a1f;--line-light:#ffffff61;--header-height:130px;--page-pad:clamp(20px, 5vw, 72px);--section-space:clamp(82px, 10vw, 140px);--font:Montserrat, "Helvetica Neue", "Noto Sans", "Noto Sans KR", "Apple SD Gothic Neo", Arial, sans-serif}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.65}body.no-scroll{overflow:hidden}button,input,textarea,select{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{background:0 0;border:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}address{font-style:normal}strong,b{font-weight:550}::selection{color:#fff;background:#303030}.site-shell{min-height:100vh;overflow:clip}.site-shell.is-hydrating{opacity:0}.site-shell.is-ready{animation:.45s both site-enter}@keyframes site-enter{0%{opacity:0}to{opacity:1}}[data-reveal]{opacity:0;transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1);transform:translateY(24px)}[data-reveal][data-revealed=true]{opacity:1;transform:translateY(0)}.neutral-glass{-webkit-backdrop-filter:blur(28px)saturate(108%);backdrop-filter:blur(28px)saturate(108%);background:#ffffffc7;box-shadow:0 26px 80px #1414161f}.section{width:min(100%,1240px);padding:var(--section-space) var(--page-pad) 0;margin-inline:auto}.eyebrow,.card-label{color:var(--ink-faint);letter-spacing:.2em;text-transform:uppercase;margin:0;font-size:11px;font-weight:550;line-height:1.4}.section-heading{max-width:820px}.section-heading h2,.compact-intro h1,.art-feature-copy h2,.exhibition-preview-card h2,.neighborhood-strip h2{color:var(--ink-strong);letter-spacing:-.055em;margin:16px 0 0;font-size:clamp(36px,5vw,70px);font-weight:400;line-height:1.06}.section-heading>p:last-child,.compact-intro>p:last-child{max-width:680px;color:var(--ink-soft);margin:24px 0 0;font-size:clamp(16px,1.3vw,19px)}.section-heading.is-light h2,.section-heading.is-light p{color:#fff}.text-link,.text-button,.solid-button{justify-content:center;align-items:center;display:inline-flex}.text-link,.text-button{color:var(--ink-strong);letter-spacing:.015em;border-bottom:1px solid;gap:9px;padding:8px 0;font-size:13px;font-weight:550}.text-link svg,.text-button svg,.solid-button svg{width:17px;height:17px;transition:transform .28s}.text-link:hover svg,.text-button:hover svg,.solid-button:hover svg{transform:translate(4px)}.solid-button{color:#fff;letter-spacing:.02em;background:#303030;border-radius:999px;gap:12px;min-height:50px;padding:0 22px;font-size:13px;font-weight:550;transition:background .25s,transform .25s}.solid-button:hover{background:#505050;transform:translateY(-2px)}.solid-button.minimal-button{min-height:48px;color:var(--ink-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#ffffffd1,#f7f4ee85);border:1px solid #20202024;padding-inline:19px;transition:border-color .25s,background .25s,box-shadow .25s,transform .25s;box-shadow:0 8px 24px #1414160a,inset 0 1px #ffffffdb}.solid-button.minimal-button:hover{background:linear-gradient(135deg,#fffffff5,#f9f7f2c7);border-color:#20202045;transform:translateY(-1px);box-shadow:0 12px 30px #14141611,inset 0 1px #fffffff0}.solid-button.minimal-button:focus-visible{outline-offset:3px;outline:2px solid #2020206b}.solid-button.minimal-button:disabled{opacity:.48;transform:none}.icon-button{width:42px;height:42px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;transition:background .2s;display:inline-flex}.icon-button:hover{background:#1e1e2012}.icon-button svg{width:20px;height:20px}.site-header{z-index:100;height:var(--header-height);background:#fffffffa;justify-content:space-between;align-items:center;padding-inline:clamp(22px,8.5vw,150px);transition:height .38s cubic-bezier(.22,1,.36,1),background .38s,box-shadow .38s;display:flex;position:fixed;top:0;left:0;right:0}.site-header.is-compact{-webkit-backdrop-filter:blur(24px)saturate(115%);backdrop-filter:blur(24px)saturate(115%);background:#ffffffd1;height:50px;box-shadow:0 8px 30px #14141612}.brand-link{width:min(232px,20vw);transition:width .38s cubic-bezier(.22,1,.36,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.brand-link img{aspect-ratio:601/201;object-fit:contain;width:100%;height:auto}.site-header.is-compact .brand-link{width:138px}.site-header.is-compact .menu-trigger{gap:7px;font-size:11px}.site-header.is-compact .menu-trigger svg{width:19px;height:19px}.site-header.is-compact .header-phone{font-size:10px}.site-header.is-compact .header-social{height:28px}.site-header.is-compact .language-trigger{min-width:46px;height:30px}.menu-trigger,.language-trigger,.header-social{justify-content:center;align-items:center;display:inline-flex}.menu-trigger{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;gap:9px;padding:10px 0;font-size:13px;transition:gap .28s,font-size .28s}.menu-trigger svg{width:22px;height:22px;transition:width .28s,height .28s}.header-meta{color:var(--ink-soft);align-items:center;gap:13px;display:flex}.header-phone{border-right:1px solid var(--line);letter-spacing:.02em;padding-right:13px;font-size:12px;transition:font-size .28s}.header-social{width:28px;height:34px;transition:height .28s}.header-social svg{width:18px;height:18px}.language-trigger{background:#1e1e200d;border-radius:999px;gap:3px;min-width:52px;height:34px;margin-left:2px;font-size:11px;font-weight:550;transition:min-width .28s,height .28s}.language-trigger svg{width:13px;height:13px}.menu-overlay,.language-overlay,.reservation-overlay{z-index:150;pointer-events:none;visibility:hidden;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.menu-overlay.is-open,.language-overlay.is-open,.reservation-overlay.is-open{pointer-events:auto;visibility:visible}.overlay-backdrop{opacity:0;-webkit-backdrop-filter:blur(18px)saturate(90%);backdrop-filter:blur(18px)saturate(90%);background:#ebebeead;width:100%;height:100%;transition:opacity .28s;position:absolute;inset:0}.is-open>.overlay-backdrop{opacity:1}.menu-panel,.language-panel,.reservation-panel,.taxi-card{z-index:1;opacity:0;border-radius:28px;width:min(100%,700px);max-height:calc(100svh - 44px);transition:opacity .3s,transform .3s cubic-bezier(.22,1,.36,1);position:relative;overflow:auto;transform:translateY(16px)scale(.985)}.is-open>.menu-panel,.is-open>.language-panel,.is-open>.reservation-panel{opacity:1;transform:translateY(0)scale(1)}.menu-panel{padding:clamp(26px,4vw,42px)}.menu-panel-head,.language-panel-head,.reservation-head,.taxi-card-head{justify-content:space-between;align-items:flex-start;display:flex}.menu-panel-head img{aspect-ratio:601/201;object-fit:contain;width:132px;height:auto}.popup-navigation{text-align:center;gap:2px;padding:clamp(28px,6vh,54px) 0;display:grid}.popup-navigation a,.popup-navigation button{color:var(--ink-soft);letter-spacing:-.04em;padding:8px;font-size:clamp(25px,4.2vw,44px);font-weight:400;line-height:1.2;transition:color .2s,transform .2s}.popup-navigation a:hover,.popup-navigation button:hover,.popup-navigation a.is-current{color:var(--ink-strong);transform:translate(4px)}.menu-panel-foot{border-top:1px solid var(--line);color:var(--ink-soft);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 22px;padding-top:20px;font-size:12px;display:flex}.language-panel{width:min(100%,940px);padding:clamp(24px,4vw,42px)}.language-panel-head span,.reservation-head span{color:var(--ink-faint);letter-spacing:.16em;font-size:10px;font-weight:550}.language-panel-head h2,.reservation-head h2{color:var(--ink-strong);letter-spacing:-.045em;margin:8px 0 0;font-size:clamp(28px,4vw,46px);font-weight:400}.language-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:30px;display:grid}.language-grid button{min-height:58px;color:var(--ink-soft);text-align:left;background:#ffffff8f;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;transition:background .2s,color .2s;display:flex}.language-grid button:hover,.language-grid button.is-selected{color:var(--ink-strong);background:#23232514}.language-grid strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.language-grid span{color:var(--ink-faint);font-size:10px}.reservation-panel{padding:clamp(26px,4vw,44px)}.reservation-guide{max-width:580px;color:var(--ink-soft);margin:20px 0 26px;font-size:14px}.reservation-options{gap:10px;display:grid}.reservation-options a{min-height:92px;box-shadow:inset 0 0 0 1px var(--line);background:#ffffffb3;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:17px 18px;transition:background .22s,transform .22s;display:grid}.reservation-options a:hover{background:#fff;transform:translateY(-2px)}.reservation-options a>svg{width:19px;height:19px}.reservation-mark{width:45px;height:45px;color:var(--ink-soft);background:#23232514;border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:inline-flex}.reservation-options a>span:nth-child(2){min-width:0;display:grid}.reservation-options small{color:var(--ink-faint);letter-spacing:.12em;font-size:9px;font-weight:550}.reservation-options strong{color:var(--ink-strong);margin-top:3px;font-size:17px;font-weight:550}.reservation-options em{color:var(--ink-soft);margin-top:2px;font-size:12px;font-style:normal}.hero{min-height:calc(100svh - var(--header-height) - 12px);margin:var(--header-height) 12px 0;isolation:isolate;background:#242424;border-radius:24px;align-items:flex-end;display:flex;position:relative;overflow:hidden}.hero-images,.hero-images img,.hero-images video,.hero-overlay,.hero-spotlight{width:100%;height:100%;position:absolute;inset:0}.hero-images video{object-fit:cover;object-position:center;filter:saturate(.92)contrast(1.02);display:block}[data-click-fullscreen]{cursor:zoom-in;-webkit-tap-highlight-color:transparent}[data-click-fullscreen]:focus-visible{outline-offset:-5px;outline:2px solid #ffffffd1}.media-loading-mark{z-index:2;opacity:1;pointer-events:none;border:1px solid #ffffff57;border-top-color:#ffffffeb;border-radius:50%;width:28px;height:28px;transition:opacity .25s;animation:.85s linear infinite media-loading-spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.is-media-ready>.media-loading-mark{opacity:0}@keyframes media-loading-spin{to{transform:translate(-50%,-50%)rotate(1turn)}}.hero-images img{object-fit:cover;opacity:0;transition:opacity 1.15s,transform 7.6s linear;transform:scale(1.035)}.hero-images img.is-active{opacity:1;transform:scale(1.09)}.hero-overlay{pointer-events:none;background:linear-gradient(90deg,#08080a4d,#08080a06 58%),linear-gradient(#0000 50%,#05050752)}.hero-spotlight{background:radial-gradient(340px 340px at var(--spot-x) var(--spot-y), #ffffff21, transparent 72%);pointer-events:none}.hero-copy{z-index:2;color:#fff;text-shadow:0 2px 22px #0000006b;width:min(560px,100% - 48px);padding:0 0 clamp(40px,6vw,72px) clamp(28px,5vw,72px);position:relative}.hero-copy .eyebrow{color:#ffffffa3}.hero-copy h1{letter-spacing:-.065em;opacity:.84;max-width:540px;margin:13px 0 0;font-size:clamp(44px,5vw,72px);font-weight:400;line-height:.92}.hero-lead{color:#ffffffb8;max-width:450px;margin:18px 0 0;font-size:clamp(14px,1.15vw,17px)}.hero-tags{color:#ffffff7a;letter-spacing:.15em;margin:14px 0 0;font-size:10px;font-weight:550}.hero-actions{flex-wrap:wrap;gap:9px;margin-top:20px;display:flex}.glass-button{color:#fff;-webkit-backdrop-filter:blur(14px)saturate(105%);backdrop-filter:blur(14px)saturate(105%);background:#ffffff1a;border-radius:999px;justify-content:center;align-items:center;min-height:42px;padding:0 17px;font-size:11px;font-weight:550;transition:background .22s,transform .22s;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff3d}.glass-button:hover{background:#ffffff3b;transform:translateY(-2px)}.film-controls{z-index:3;opacity:0;pointer-events:none;gap:8px;transition:opacity .24s,transform .24s;display:flex;position:absolute;transform:translateY(5px)}.film-controls.is-visible,.film-controls:focus-within{opacity:1;pointer-events:auto;transform:translateY(0)}.hero-film-controls{bottom:22px;right:24px}.film-controls button{color:#ffffffe6;-webkit-backdrop-filter:blur(12px)saturate(90%);backdrop-filter:blur(12px)saturate(90%);background:linear-gradient(315deg,#ffffff3b 0%,#dee4ed1f 44%,#0c0e1238 100%);border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;transition:background .2s,border-color .2s,transform .2s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 1px 8px #00000038,inset 0 0 0 .5px #ffffff24}.film-controls button:hover{background:linear-gradient(315deg,#ffffff57 0%,#d0d9e533 46%,#0f11154d 100%);border-color:#ffffff70;transform:translateY(-2px)}.film-controls button:focus-visible{outline-offset:2px;outline:2px solid #ffffffeb}.film-controls button:disabled{opacity:.42}.film-controls svg{z-index:1;filter:drop-shadow(0 1px 2px #00000052);width:17px;height:17px;position:relative}.film-fullscreen-control:before{content:"";filter:blur(1.8px);opacity:.9;background:linear-gradient(315deg,#ffffff52 0%,#98aece1f 56%,#fff0 100%);border-radius:60% 40% 58% 42%/56% 62% 38% 44%;position:absolute;inset:5px}.film-expand-accent{stroke-width:1.15px}.split-heading{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:end;gap:clamp(42px,8vw,110px);display:grid}.split-heading>div:last-child>p{color:var(--ink-soft);margin:0 0 20px}.dish-grid{gap:14px;margin-top:48px;display:flex}.dish-card{text-align:left;background:#d8d8db;border-radius:22px;flex:1 1 0;min-width:0;min-height:520px;padding:0;transition:flex-grow .55s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.dish-card:focus-visible{outline-offset:3px;outline:3px solid #4a6faa94}.dish-card-image{background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.dish-card-image:focus-visible,.dish-menu-link:focus-visible{outline-offset:-5px;outline:3px solid #dfebffdb}.dish-card:after{content:"";background:linear-gradient(#0000 48%,#08080a9e);position:absolute;inset:0}.dish-card img{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.22,1,.36,1)}.dish-card:hover img{transform:scale(1.035)}.dish-card>div{z-index:1;color:#fff;pointer-events:none;position:absolute;bottom:23px;left:24px;right:24px}.dish-card span{color:#ffffff9e;letter-spacing:.14em;font-size:9px;font-weight:550}.dish-card h3{letter-spacing:-.035em;text-wrap:balance;margin:7px 0 0;font-size:clamp(20px,2.2vw,30px);font-weight:480;line-height:1.12}.dish-card.is-detailed-title h3{font-size:clamp(15px,1.45vw,21px);line-height:1.25}.dish-menu-link{color:#ffffffe6;letter-spacing:.02em;pointer-events:auto;border-bottom:1px solid #ffffff75;align-items:center;gap:7px;min-height:28px;margin-top:13px;font-size:11px;font-weight:550;display:inline-flex}.dish-menu-link svg{width:13px;height:13px}.dish-menu-link:hover{border-bottom-color:#ffffffeb}@media (hover:hover) and (width>=761px){.dish-grid:hover .dish-card{flex-grow:.78}.dish-grid .dish-card:hover{flex-grow:1.66}}.art-feature{width:min(100% - 28px,1320px);margin:var(--section-space) auto 0;color:#fff;background:#121212;border-radius:24px;grid-template-columns:1fr;display:grid;overflow:hidden}.art-feature-media{aspect-ratio:1920/818;background:#050505;position:relative;overflow:hidden}.art-feature-media img,.art-feature-media video{object-fit:contain;filter:saturate(.9);background:#050505;width:100%;height:100%;min-height:0;display:block}.art-feature-copy{max-width:820px;padding:clamp(38px,5vw,68px)}.art-feature-copy .eyebrow{color:#ffffff80}.art-feature-copy h2{color:#fff;font-size:clamp(34px,4vw,54px)}.art-feature-copy>p:not(.eyebrow){color:#ffffffad;max-width:440px;margin:27px 0;font-size:clamp(14px,1.15vw,17px)}.light-link{color:#fff}.exhibition-preview{padding-top:clamp(44px,6vw,72px)}.exhibition-preview-card{background:var(--paper-soft);border-radius:18px;grid-template-columns:minmax(150px,.32fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,44px);padding:clamp(20px,3vw,30px);display:grid}.poster-preview{border-radius:3px;justify-self:center;width:min(100%,205px);overflow:hidden}.poster-preview img{width:100%;height:auto;transition:transform .5s}.poster-preview:hover img{transform:scale(1.02)}.exhibition-preview-card>div>p:not(.eyebrow){max-width:610px;color:var(--ink-soft);margin:13px 0;font-size:14px}.exhibition-preview-card h2{font-size:clamp(23px,2.8vw,34px)}.ambience-section{padding-top:clamp(44px,7vw,88px)}.ambience-card{background:#eceef1;border-radius:24px;grid-template-columns:minmax(0,1.22fr) minmax(280px,.78fr);display:grid;overflow:hidden}.ambience-media{aspect-ratio:16/9;background:#07080a;min-width:0;position:relative;overflow:hidden}.ambience-media video{object-fit:contain;background:#07080a;width:100%;height:100%;display:block}.ambience-film-controls,.art-feature-controls{bottom:18px;right:18px}.ambience-media-index{z-index:3;gap:6px;display:flex;position:absolute;bottom:18px;left:18px}.ambience-media-index span{background:#ffffff4d;width:24px;height:2px;transition:background .2s}.ambience-media-index span.is-active{background:#ffffffeb}.ambience-copy{align-self:center;padding:clamp(34px,5vw,68px)}.ambience-copy h2{color:var(--ink-strong);letter-spacing:-.055em;margin:15px 0 0;font-size:clamp(34px,4.2vw,58px);font-weight:400;line-height:1.04}.ambience-copy>p:last-child{max-width:430px;color:var(--ink-soft);margin:24px 0 0;font-size:clamp(14px,1.12vw,17px)}.visit-overview{padding-bottom:var(--section-space)}.visit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:44px;display:grid}.visit-overview>.visit-grid:first-child{margin-top:0}.visit-card{background:#ffffffc2;border-radius:22px;min-height:230px;padding:clamp(25px,4vw,40px);box-shadow:0 18px 48px #1414160d}.visit-card-wide{grid-column:1/-1;min-height:auto}.visit-card address{max-width:520px;color:var(--ink-strong);letter-spacing:-.025em;margin-top:17px;font-size:clamp(19px,2vw,28px);font-weight:480}.bilingual-address{gap:7px;display:grid}.address-localized{unicode-bidi:plaintext}.visit-card .address-localized{color:var(--ink-soft);letter-spacing:0;font-size:.58em;font-weight:400;line-height:1.55}.visit-card>strong{color:var(--ink-strong);margin-top:15px;font-size:15px;display:block}.visit-card>p:not(.card-label){color:var(--ink-soft);margin:7px 0 0}.inline-links{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.inline-links a{min-height:40px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-soft);border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-size:12px;transition:background .2s,color .2s;display:inline-flex}.inline-links a:hover{background:var(--paper-soft);color:var(--ink-strong)}.policy-head{justify-content:space-between;align-items:center;gap:24px;display:flex}.policy-card ol{gap:0;margin:22px 0 0;padding:0;list-style:none;display:grid}.policy-card li{border-top:1px solid var(--line);grid-template-columns:38px 1fr;gap:12px;padding:15px 0;display:grid}.policy-card li>span{color:var(--ink-faint);letter-spacing:.08em;font-size:10px}.policy-card li p{color:var(--ink-soft);margin:0}.social-strip{justify-content:space-between;align-items:end;gap:30px;padding-top:0;padding-bottom:clamp(70px,9vw,120px);display:flex}.social-strip h2{color:var(--ink-strong);letter-spacing:-.055em;margin:12px 0 0;font-size:clamp(36px,5vw,68px);font-weight:400}.social-strip>a{border-bottom:1px solid;align-items:center;gap:10px;padding-bottom:8px;font-size:13px;font-weight:550;display:inline-flex}.social-strip>a svg{width:18px;height:18px}.content-page{min-height:75vh;padding-top:calc(var(--header-height) + clamp(44px, 7vw, 90px))}.compact-intro{width:min(100%,1120px);padding-inline:var(--page-pad);margin-inline:auto}.compact-intro h1{max-width:900px}.current-exhibition-block{grid-template-columns:minmax(260px,.72fr) minmax(0,1.1fr);align-items:start;gap:clamp(48px,9vw,120px);padding-top:clamp(22px,4vw,52px);display:grid}.current-poster-button{border-radius:3px;justify-self:center;width:min(100%,340px);position:relative;overflow:hidden}.current-poster-button img{width:100%;height:auto;transition:transform .45s}.current-poster-button:hover img{transform:scale(1.018)}.current-poster-button>span{color:var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffad;border-radius:999px;padding:8px 12px;font-size:10px;position:absolute;bottom:14px;right:14px}.current-exhibition-copy>p:not(.eyebrow){max-width:650px;color:var(--ink-soft)}.current-exhibition-copy dl{border-top:1px solid var(--line);margin:0 0 30px}.current-exhibition-copy dl>div{border-bottom:1px solid var(--line);grid-template-columns:120px 1fr;gap:20px;padding:12px 0;display:grid}.current-exhibition-copy dt{color:var(--ink-faint);text-transform:uppercase;font-size:11px}.current-exhibition-copy dd{color:var(--ink-soft);margin:0;font-size:13px}.current-exhibition-copy .exhibition-title-value{color:var(--ink-strong);letter-spacing:-.02em;font-size:clamp(15px,1.45vw,18px);font-weight:500}.current-exhibition-copy .solid-button{margin-top:18px}.selected-works,.archive-section{padding-bottom:0}.selected-works .section-heading h2,.archive-section .section-heading h2{font-size:clamp(28px,3.8vw,48px)}.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px;display:grid}.work-grid button{text-align:left;background:#ffffffb3;border-radius:16px;transition:box-shadow .25s,transform .25s;overflow:hidden}.work-grid button:hover{transform:translateY(-3px);box-shadow:0 20px 44px #14141614}.work-grid img{aspect-ratio:1/1.12;object-fit:contain;background:#fff;width:100%;transition:transform .45s}.work-grid button:hover img{transform:scale(1.025)}.work-grid span{min-height:128px;color:var(--ink-soft);align-content:start;gap:6px;padding:16px 17px 18px;font-size:11px;display:grid}.work-grid strong{color:var(--ink-strong);font-size:13px;font-weight:500;line-height:1.42}.work-grid small{color:var(--ink-faint);letter-spacing:.035em;font-size:10px}.work-grid em{color:var(--ink-soft);font-size:11px;font-style:normal;line-height:1.45}.archive-section{padding-bottom:var(--section-space)}.archive-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px;display:grid}.archive-grid button{text-align:left;background:#ffffffbd;border-radius:16px;transition:box-shadow .25s,transform .25s;overflow:hidden}.archive-grid button:hover{transform:translateY(-3px);box-shadow:0 20px 44px #14141614}.archive-grid img{aspect-ratio:4/5;object-fit:contain;background:#f0f0f2;width:100%}.archive-grid button>span{align-content:center;gap:7px;min-height:94px;padding:16px 18px;display:grid}.archive-grid time{color:var(--ink-faint);letter-spacing:.06em;font-size:10px}.archive-grid strong{color:var(--ink);font-size:13px;font-weight:500}.image-lightbox{z-index:220;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.lightbox-backdrop{-webkit-backdrop-filter:blur(16px)saturate(85%);backdrop-filter:blur(16px)saturate(85%);background:#161618c2;width:100%;height:100%;position:absolute;inset:0}.image-lightbox figure{z-index:1;max-width:min(92vw,1180px);max-height:92svh;margin:0;position:relative}.image-lightbox figure>img{object-fit:contain;width:auto;max-width:92vw;height:auto;max-height:84svh;box-shadow:0 30px 90px #00000059}.image-lightbox figcaption{color:#fffc;text-align:center;margin-top:10px;font-size:12px}.lightbox-close{z-index:2;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff40;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex;position:absolute;top:10px;right:10px}.lightbox-close svg{width:20px;height:20px}.route-section .section-heading h2{font-size:clamp(28px,3.8vw,48px)}.visit-photo-strip{border-radius:24px;width:min(100% - 28px,1320px);height:clamp(300px,46vw,580px);margin:clamp(48px,7vw,86px) auto 0;overflow:hidden}.visit-photo-strip img{object-fit:cover;width:100%;height:100%}.route-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:38px;display:grid}.route-grid .taxi-route-button{display:none}.route-grid a,.route-grid button{text-align:left;background:#ffffffc2;border-radius:20px;grid-template-columns:1fr auto;align-items:center;gap:6px 20px;min-height:128px;padding:24px 26px;transition:background .2s,transform .2s;display:grid;box-shadow:0 14px 40px #1414160b}.route-grid a:hover,.route-grid button:hover{background:#fff;transform:translateY(-2px)}.route-grid span{color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.route-grid strong{color:var(--ink-strong);letter-spacing:-.025em;font-size:clamp(17px,1.8vw,23px);font-weight:500}.route-grid svg{grid-area:1/2/3;width:21px;height:21px}.route-support-note{color:var(--ink-soft);background:#ffffff8a;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin-top:14px;padding:16px 18px;display:flex}.route-support-note p{max-width:760px;margin:0;font-size:12px}.route-support-note a{color:var(--ink-strong);flex:none;align-items:center;gap:8px;font-size:11px;font-weight:550;display:inline-flex}.route-support-note svg{width:15px;height:15px}.visit-page .visit-overview{padding-top:32px}.neighborhood-strip{margin-bottom:var(--section-space);background:var(--paper-soft);border-radius:24px;justify-content:space-between;align-items:end;gap:36px;padding:clamp(32px,5vw,54px);display:flex}.neighborhood-strip h2{font-size:clamp(30px,4vw,50px)}.neighborhood-strip>div>p:last-child{max-width:650px;color:var(--ink-soft);margin:18px 0 0}.taxi-dialog{z-index:210;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.taxi-card{opacity:1;width:min(100%,670px);max-height:calc(100dvh - 44px);padding:clamp(25px,4vw,42px);overflow-y:auto;transform:none}.taxi-card h2{color:var(--ink-strong);letter-spacing:-.04em;margin:22px 0 0;font-size:clamp(24px,3.4vw,38px);font-weight:400}.taxi-card-head>span{color:var(--ink-faint);letter-spacing:.12em;font-size:11px}.taxi-message{color:var(--ink-soft);margin:0 0 18px;font-size:14px}.taxi-destination{background:#ebebeeb8;border-radius:18px;gap:4px;margin:18px 0 16px;padding:20px;display:grid}.taxi-destination span{color:var(--ink-faint);font-size:10px}.taxi-destination strong{color:var(--ink-strong);font-size:20px}.contact-page{min-height:100svh;padding-top:var(--header-height);background:#f3f3f5}.contact-media{aspect-ratio:16/9;background:#08080a;border-radius:24px;width:min(100% - 24px,1320px);margin:12px auto 0;position:relative;overflow:hidden}.contact-media video{object-fit:contain;background:#08080a;width:100%;height:100%;display:block}.contact-media-index{z-index:3;gap:6px;display:flex;position:absolute;bottom:16px;right:18px}.contact-film-controls{bottom:16px;left:18px}.contact-media-index span{background:#ffffff52;width:22px;height:2px;transition:background .2s}.contact-media-index span.is-active{background:#ffffffeb}.contact-stage{padding-top:clamp(42px,6vw,76px);padding-bottom:clamp(54px,7vw,88px)}.contact-shell{grid-template-columns:minmax(220px,.36fr) minmax(480px,.64fr);align-items:start;gap:clamp(32px,5vw,58px);width:min(100%,980px);margin-inline:auto;display:grid}.contact-copy{max-width:340px;color:var(--ink);padding-top:10px}.contact-copy .eyebrow{color:var(--ink-faint)}.contact-copy h1{color:var(--ink-strong);letter-spacing:-.055em;margin:10px 0 0;font-size:clamp(30px,3.4vw,44px);font-weight:400;line-height:1}.contact-copy>p:not(.eyebrow){max-width:320px;color:var(--ink-soft);margin:13px 0;font-size:13px}.contact-copy>a,.contact-copy address{color:var(--ink);margin-top:7px;font-size:13px;display:block}.contact-copy .bilingual-address{gap:4px;display:grid}.contact-copy .address-localized{color:var(--ink-soft);font-size:11px;line-height:1.5}.contact-form{color:var(--ink);text-shadow:none;background:#ffffffb8;border-radius:18px;padding:clamp(22px,3vw,34px);box-shadow:0 18px 55px #1414160e}.honeypot{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.contact-form label{gap:7px;margin-bottom:14px;display:grid}.contact-form label>span{color:var(--ink-soft);font-size:11px;font-weight:500}.contact-form input,.contact-form textarea{width:100%;box-shadow:none;color:var(--ink-strong);caret-color:var(--ink-strong);background:0 0;border:0;border-bottom:1px solid #1c1c1f4d;border-radius:0;outline:0;padding:10px 2px 11px;transition:border-color .2s,background .2s}.contact-form input:focus,.contact-form textarea:focus{box-shadow:none;background:linear-gradient(#0000 24%,#1c1c1f06);border-color:#1c1c1fd1}:-webkit-any(.contact-form input:-webkit-autofill,.contact-form textarea:-webkit-autofill){-webkit-text-fill-color:var(--ink-strong);transition:background-color 9999s ease-out}:is(.contact-form input:autofill,.contact-form textarea:autofill){-webkit-text-fill-color:var(--ink-strong);transition:background-color 9999s ease-out}.contact-form textarea{resize:vertical}.form-foot{justify-content:space-between;align-items:center;gap:20px;margin-top:7px;display:flex}.form-foot>p{max-width:360px;color:var(--ink-faint);margin:0;font-size:10px}.form-message{border-radius:14px;margin:17px 0 0;padding:13px 15px;font-size:12px}.form-message p{margin:3px 0 0}.form-message.is-success{color:#1d6548;background:#23734e1a}.form-message.is-error{color:#8e2d2d;background:#962e2e1a}.site-footer{color:#1e1e208a;background:#ececef;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;min-height:62px;padding:10px clamp(20px,4vw,64px);display:grid}.site-footer>img{aspect-ratio:601/201;object-fit:contain;opacity:.7;justify-self:start;width:74px;height:auto}.site-footer nav{flex-wrap:wrap;justify-content:center;justify-self:center;align-items:center;gap:7px 17px;font-size:11px;display:flex}.site-footer nav button{color:inherit}.site-footer>p{text-align:right;white-space:nowrap;justify-self:end;margin:0;font-size:10px}.art-cursor-arrow,.art-cursor-lens{z-index:400;pointer-events:none;contain:paint;will-change:transform;border:0;outline:0;position:fixed;top:0;left:0;overflow:hidden}.art-cursor-arrow{clip-path:polygon(0 0,100% 38%,38% 100%);transform-origin:0 0;opacity:0;-webkit-backdrop-filter:blur(5px)saturate(112%);backdrop-filter:blur(5px)saturate(112%);background:linear-gradient(315deg,#fff 0%,#e0e4ebb8 30%,#858c9a47 68%,#52566000 100%);width:27px;height:27px;transition:opacity .22s;box-shadow:1px 2px 4px #0000002e,0 0 5px #ffffff29}.art-cursor-arrow.is-visible{opacity:1}.art-cursor-arrow.is-interactive{opacity:0}.art-cursor-lens{contain:layout style;opacity:0;filter:blur(2.6px);-webkit-backdrop-filter:blur(5px)saturate(108%);backdrop-filter:blur(5px)saturate(108%);background:linear-gradient(315deg,#f2f7ff5c 0%,#a5bede2b 44%,#fff0 100%);border-radius:64% 36% 58% 42%/55% 62% 38% 45%;width:30px;height:20px;transition:opacity .28s,width .24s,height .24s,filter .24s;overflow:visible;box-shadow:0 0 10px #5b7ca829,0 0 18px #fff3}.art-cursor-arrow:before,.art-cursor-lens:before{content:"";pointer-events:none;position:absolute}.art-cursor-arrow:before{background:linear-gradient(315deg,#ffffffb3 0%,#ffffff3d 34%,#fff0 72%);animation:9.6s cubic-bezier(.42,0,.2,1) infinite cursor-directional-flow;inset:-18% -28%}.art-cursor-lens:before{border-radius:inherit;filter:blur(4px);background:linear-gradient(325deg,#ffffff42 0%,#a6c1e21c 52%,#fff0 100%);animation:8.8s ease-in-out infinite alternate cursor-fog-drift;inset:-35%}.art-cursor-lens.is-positioned.is-interactive{opacity:.74;box-shadow:0 0 0 .6px #2f364133,0 0 10px #5b7ca829,0 0 18px #fff3}.art-cursor-lens.is-pressed{opacity:.62;filter:blur(2px)brightness(1.06);width:15px;height:10px}.art-cursor-lens.is-native{opacity:0}@keyframes cursor-directional-flow{0%{opacity:.18;transform:translate(-14%,-14%)scale(1.04)}24%{opacity:.66}76%{opacity:.42}to{opacity:.08;transform:translate(22%,22%)scale(1.04)}}@keyframes cursor-fog-drift{0%{opacity:.36;transform:translate(-8%,-5%)scale(.96)}to{opacity:.16;transform:translate(9%,6%)scale(1.08)}}html.has-art-cursor,html.has-art-cursor body,html.has-art-cursor a,html.has-art-cursor button{cursor:none}html.has-art-cursor input,html.has-art-cursor textarea{cursor:text}html.has-art-cursor select{cursor:default}[dir=rtl] .hero-copy{padding-left:0;padding-right:clamp(28px,7vw,92px)}[dir=rtl] .hero-language,[dir=rtl] .hero-dots{left:24px;right:auto}[dir=rtl] .route-grid a,[dir=rtl] .route-grid button,[dir=rtl] .archive-grid button,[dir=rtl] .language-grid button{text-align:right}@media (width<=980px){:root{--header-height:100px}.site-header{padding-inline:22px}.brand-link{width:184px}.site-header.is-compact .brand-link{width:122px}.menu-trigger span,.header-phone{display:none}.header-meta{gap:7px}.split-heading,.current-exhibition-block,.contact-shell{grid-template-columns:1fr}.split-heading{gap:28px}.dish-card{min-height:430px}.art-feature{grid-template-columns:1fr}.art-feature-media{height:auto}.art-feature-media video{min-height:0}.current-poster-button{width:min(100%,380px)}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-shell{width:min(100%,760px)}.contact-copy{text-align:center;max-width:360px;margin-inline:auto}.contact-copy>p:not(.eyebrow){margin-inline:auto}}@media (width<=760px){.section{padding-inline:20px}.site-header{padding-inline:18px}.header-social:first-of-type{display:none}.brand-link{width:156px}.site-header.is-compact .brand-link{width:112px}.language-trigger{min-width:46px;margin-left:0}.menu-panel,.language-panel,.reservation-panel{border-radius:22px;max-height:calc(100svh - 24px)}.language-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{min-height:calc(100svh - var(--header-height) - 8px);border-radius:18px;margin-left:7px;margin-right:7px}.hero-images video{object-fit:contain;width:auto;min-width:100%;max-width:none;height:100%;left:50%;right:auto;transform:translate(-50%)}.hero-copy{width:calc(100% - 30px);padding:0 0 30px 22px}.hero-copy h1{max-width:92%;font-size:clamp(30px,8.8vw,42px);line-height:.98}.hero-lead{max-width:88%;margin-top:12px;font-size:12px;line-height:1.55}.hero-tags{line-height:1.8}.hero-film-controls{top:16px;bottom:auto;right:16px}.dish-grid{overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;grid-template-columns:none;grid-auto-columns:minmax(76vw,1fr);grid-auto-flow:column;display:grid;overflow-x:auto}.dish-grid:focus-visible{outline:0;box-shadow:0 0 0 3px #5a82be3d}.dish-grid.is-dragging{scroll-snap-type:none;-webkit-user-select:none;user-select:none}.dish-grid::-webkit-scrollbar{display:none}.dish-card{scroll-snap-align:start;scroll-snap-stop:always;min-height:460px}.dish-card.is-detailed-title h3{font-size:clamp(16px,4.6vw,21px)}.dish-card img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.art-feature{border-radius:18px;width:calc(100% - 14px)}.art-feature-media{height:auto;min-height:0}.art-feature-copy{padding:38px 26px 44px}.art-feature-copy h2{font-size:clamp(30px,8.6vw,42px)}.exhibition-preview-card{grid-template-columns:1fr}.poster-preview{width:min(76%,230px)}.ambience-card{border-radius:18px;grid-template-columns:1fr}.ambience-copy{padding:34px 26px 40px}.ambience-copy h2{font-size:clamp(30px,8.5vw,42px)}.ambience-film-controls,.art-feature-controls{bottom:12px;right:12px}.ambience-media-index{bottom:12px;left:12px}.visit-grid,.route-grid{grid-template-columns:1fr}.route-grid .taxi-route-button{display:grid}.route-support-note{flex-direction:column;align-items:flex-start}.visit-card-wide{grid-column:auto}.visit-card{min-height:auto}.policy-head,.social-strip,.neighborhood-strip,.form-foot{flex-direction:column;align-items:flex-start}.social-strip,.neighborhood-strip{display:flex}.compact-intro{padding-inline:20px}.content-page{padding-top:calc(var(--header-height) + 42px)}.work-grid,.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.archive-grid button>span{min-height:90px;padding:13px}.taxi-dialog{padding:8px}.taxi-card{border-radius:20px;width:100%;max-height:calc(100dvh - 16px);padding:18px}.taxi-card h2{margin-top:10px;font-size:24px}.taxi-destination{border-radius:14px;margin:14px 0 12px;padding:14px}.taxi-destination strong{font-size:18px}.taxi-message{margin-bottom:12px;font-size:14px;line-height:1.55}.taxi-message p{margin:0 0 8px}.taxi-card .solid-button{width:100%;min-height:44px}.contact-shell{gap:18px}.contact-copy h1{font-size:31px}.contact-copy{padding:0}.contact-copy>p:not(.eyebrow){margin-block:9px}.contact-form{padding:16px}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.contact-form label{gap:4px;margin-bottom:9px}.contact-form input,.contact-form textarea{padding-block:7px 8px}.contact-media{border-radius:18px;width:calc(100% - 14px);margin-top:7px}.form-foot{display:flex}.site-footer{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"logo copyright""navigation navigation";gap:7px 16px;min-height:auto;padding:10px 18px 12px;display:grid}.site-footer>img{grid-area:logo;width:66px}.site-footer nav{grid-area:navigation;gap:5px 12px}.site-footer>p{grid-area:copyright;place-self:center end;font-size:9px}[dir=rtl] .hero-copy{padding-right:24px}}@media (width<=460px){.header-social{display:none}.brand-link{width:145px}.site-header.is-compact .brand-link{width:106px}.popup-navigation a,.popup-navigation button{font-size:28px}.reservation-options a{grid-template-columns:38px 1fr auto;gap:11px;padding:15px 13px}.reservation-mark{width:38px;height:38px}.hero-actions{gap:7px}.hero-copy{width:calc(100% - 22px);padding:0 0 22px 16px}.hero-copy h1{font-size:clamp(28px,8.4vw,37px)}.hero-copy .eyebrow,.hero-tags{font-size:8px}.glass-button{min-height:42px;padding:0 15px;font-size:11px}.work-grid{grid-template-columns:1fr}.archive-grid{grid-template-columns:1fr 1fr}}@media (width<=350px){.field-row{grid-template-columns:1fr;gap:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visit-page>.route-section:first-child{padding-top:0}

/* Source: /assets/mahina-titles-v3.1.css */
/* v3.1 · lighter title baseline shared by all Mahina sites */
h1,
h2 {
  font-weight: 350 !important;
}

/* Source: /assets/mahina-taxi-v3.10.css */
body.no-scroll {
  overflow: hidden;
}

.taxi-dialog {
  align-items: stretch;
  justify-content: stretch;
  padding: 0;
  background: #f5f5f7;
}

.taxi-dialog > .overlay-backdrop {
  display: none;
}

.taxi-card.neutral-glass {
  display: grid;
  grid-template-rows: auto auto auto auto;
  align-content: center;
  align-content: safe center;
  gap: clamp(13px, 2.5vh, 28px);
  width: 100%;
  max-width: none;
  height: 100dvh;
  max-height: none;
  padding:
    max(clamp(22px, 4.5vw, 68px), env(safe-area-inset-top))
    max(clamp(20px, 7vw, 120px), env(safe-area-inset-right))
    max(clamp(22px, 4.5vw, 68px), env(safe-area-inset-bottom))
    max(clamp(20px, 7vw, 120px), env(safe-area-inset-left));
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  border-radius: 0;
  background: #f5f5f7;
  box-shadow: none;
  opacity: 1;
  transform: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.taxi-card .taxi-card-head {
  align-items: center;
}

.taxi-card .taxi-card-head > span {
  color: #707075;
  font-size: clamp(12px, 1.5vw, 18px);
  font-weight: 600;
  letter-spacing: 0.14em;
}

.taxi-card .taxi-card-head .icon-button {
  width: clamp(44px, 4.5vw, 58px);
  height: clamp(44px, 4.5vw, 58px);
  background: rgba(30, 30, 32, 0.06);
}

.taxi-card h2 {
  margin: 0;
  color: #202020;
  font-size: clamp(29px, 4.3vw, 62px);
  font-weight: 450;
  line-height: 1.12;
  letter-spacing: -0.045em;
}

.taxi-card .taxi-destination {
  display: grid;
  gap: clamp(6px, 1vh, 12px);
  margin: 0;
  padding: clamp(19px, 3vw, 38px);
  border-radius: clamp(16px, 2vw, 28px);
  background: #e8e8eb;
}

.taxi-card .taxi-destination > span {
  color: #707075;
  font-size: clamp(12px, 1.4vw, 17px);
  font-weight: 600;
  letter-spacing: 0.08em;
}

.taxi-card .taxi-destination > strong,
.taxi-card .taxi-destination address,
.taxi-card .taxi-destination a {
  color: #171719;
  font-size: clamp(19px, 2.7vw, 34px);
  font-style: normal;
  font-weight: 550;
  line-height: 1.3;
  letter-spacing: -0.025em;
}

.taxi-card .taxi-message {
  display: grid;
  gap: clamp(14px, 1.8vh, 22px);
  word-break: keep-all;
  overflow-wrap: break-word;
  margin: 0;
  color: #4f4f54;
  font-size: clamp(22px, 2.75vw, 38px);
  font-weight: 450;
  line-height: 1.48;
}

.taxi-card .taxi-message p {
  margin: 0;
}

.taxi-card > .solid-button {
  display: none !important;
}

@media (max-width: 760px) {
  .taxi-card.neutral-glass {
    gap: clamp(11px, 2.1vh, 20px);
    padding:
      max(18px, env(safe-area-inset-top))
      max(18px, env(safe-area-inset-right))
      max(18px, env(safe-area-inset-bottom))
      max(18px, env(safe-area-inset-left));
  }

  .taxi-card h2 {
    font-size: clamp(27px, 8vw, 38px);
  }

  .taxi-card .taxi-destination {
    padding: clamp(17px, 5vw, 25px);
  }

  .taxi-card .taxi-destination > strong,
  .taxi-card .taxi-destination address,
  .taxi-card .taxi-destination a {
    font-size: clamp(19px, 5.2vw, 24px);
  }

  .taxi-card .taxi-message {
    font-size: clamp(22px, 5.6vw, 30px);
    line-height: 1.44;
  }
}

@media (max-height: 700px) and (orientation: portrait) {
  .taxi-card.neutral-glass {
    align-content: start;
    gap: 9px;
    padding-top: max(12px, env(safe-area-inset-top));
    padding-bottom: max(12px, env(safe-area-inset-bottom));
  }

  .taxi-card .taxi-card-head > span {
    font-size: 11px;
  }

  .taxi-card .taxi-card-head .icon-button {
    width: 40px;
    height: 40px;
  }

  .taxi-card h2 {
    font-size: clamp(23px, 7vw, 30px);
  }

  .taxi-card .taxi-destination {
    gap: 3px;
    padding: 13px 15px;
  }

  .taxi-card .taxi-destination > strong,
  .taxi-card .taxi-destination address,
  .taxi-card .taxi-destination a {
    font-size: clamp(16px, 4.7vw, 19px);
  }

  .taxi-card .taxi-message {
    gap: 9px;
    font-size: clamp(17px, 4.8vw, 21px);
    line-height: 1.38;
  }
}

@media (orientation: landscape) and (max-height: 620px) {
  .taxi-card.neutral-glass {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    grid-template-rows: auto auto 1fr;
    column-gap: clamp(22px, 4vw, 58px);
    row-gap: 8px;
    padding:
      max(12px, env(safe-area-inset-top))
      max(22px, env(safe-area-inset-right))
      max(12px, env(safe-area-inset-bottom))
      max(22px, env(safe-area-inset-left));
  }

  .taxi-card .taxi-card-head {
    grid-column: 1 / -1;
  }

  .taxi-card h2 {
    grid-column: 1;
    font-size: clamp(24px, 4vw, 38px);
  }

  .taxi-card .taxi-destination {
    grid-column: 1;
    padding: 15px 18px;
  }

  .taxi-card .taxi-destination > strong,
  .taxi-card .taxi-destination address,
  .taxi-card .taxi-destination a {
    font-size: clamp(17px, 2.4vw, 23px);
  }

  .taxi-card .taxi-message {
    grid-column: 2;
    grid-row: 2 / 4;
    align-content: center;
    gap: clamp(10px, 1.8vh, 16px);
    font-size: clamp(18px, 2.55vw, 26px);
    line-height: 1.4;
  }
}

@media (orientation: landscape) and (max-height: 360px) {
  .taxi-card.neutral-glass {
    column-gap: 16px;
    row-gap: 6px;
    padding:
      max(8px, env(safe-area-inset-top))
      max(12px, env(safe-area-inset-right))
      max(8px, env(safe-area-inset-bottom))
      max(12px, env(safe-area-inset-left));
  }

  .taxi-card .taxi-card-head > span {
    font-size: 10px;
  }

  .taxi-card .taxi-card-head .icon-button {
    width: 36px;
    height: 36px;
  }

  .taxi-card h2 {
    font-size: 21px;
  }

  .taxi-card .taxi-destination {
    gap: 3px;
    padding: 9px 12px;
  }

  .taxi-card .taxi-destination > strong,
  .taxi-card .taxi-destination address,
  .taxi-card .taxi-destination a {
    font-size: 15px;
  }

  .taxi-card .taxi-message {
    gap: 7px;
    font-size: 14px;
    line-height: 1.35;
  }
}

/* Source: /assets/mahina-exhibition-v3.8.css */
/* Mahina exhibition responsive gallery refinements — v3.8 */

.exhibition-page .current-poster-button,
.exhibition-page .work-grid button,
.exhibition-page .archive-grid button {
  cursor: zoom-in;
}

.image-lightbox,
.image-lightbox figure,
.image-lightbox figure > img {
  cursor: zoom-out;
}

@media (min-width: 981px) {
  .exhibition-page .work-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
  }

  .exhibition-page .archive-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 761px) and (max-width: 980px) {
  .exhibition-page .work-grid,
  .exhibition-page .archive-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .exhibition-page .current-poster-button {
    width: min(62vw, 230px);
  }

  .exhibition-page .work-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }

  .exhibition-page .work-grid span {
    min-height: 112px;
    gap: 4px;
    padding: 11px 9px 13px;
  }

  .exhibition-page .work-grid strong {
    font-size: 10.5px;
    line-height: 1.38;
  }

  .exhibition-page .work-grid small {
    font-size: 8.5px;
  }

  .exhibition-page .work-grid em {
    font-size: 9.5px;
    line-height: 1.38;
  }

  .exhibition-page .archive-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 400px) {
  .exhibition-page .current-poster-button {
    width: min(60vw, 210px);
  }

  .exhibition-page .work-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .exhibition-page .work-grid span {
    min-height: 118px;
    gap: 5px;
    padding: 12px 11px 14px;
  }

  .exhibition-page .work-grid strong {
    font-size: 11.5px;
  }

  .exhibition-page .work-grid small {
    font-size: 9px;
  }

  .exhibition-page .work-grid em {
    font-size: 10px;
  }
}

/* Source: /assets/mahina-site-polish-v3.20.css */
/* Mahina v3.20 — shared language control, media-origin note, cursor and tablet exhibition sizing. */

.language-trigger {
  min-width: 76px;
  height: 34px;
  gap: 5px;
  padding: 0 10px;
}

.language-trigger > svg:not(.mahina-language-chevron):not(.language-chevron) {
  width: 14px;
  height: 14px;
  stroke-width: 1.45;
}

.language-trigger .mahina-language-chevron,
.language-trigger .language-chevron {
  width: 8px;
  height: 6px;
  flex: 0 0 auto;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.site-header.is-compact .language-trigger {
  min-width: 70px;
  height: 30px;
}

.site-footer .mahina-media-origin,
.mahina-origin-footer .mahina-media-origin {
  grid-column: 1 / -1;
  width: min(100%, 980px);
  margin: 0 auto;
  padding-top: 9px;
  border-top: 1px solid rgba(30, 30, 32, 0.08);
  color: rgba(30, 30, 32, 0.58);
  font-size: 9px;
  font-weight: 450;
  line-height: 1.55;
  letter-spacing: 0.01em;
  text-align: center;
  white-space: normal;
}

.art-cursor-arrow {
  background: linear-gradient(
    315deg,
    rgba(255, 255, 255, 0.98) 0%,
    rgba(184, 194, 209, 0.86) 29%,
    rgba(83, 91, 106, 0.68) 67%,
    rgba(45, 49, 57, 0.15) 100%
  );
  -webkit-backdrop-filter: blur(3px) saturate(116%);
  backdrop-filter: blur(3px) saturate(116%);
  box-shadow:
    1px 2px 5px rgba(19, 24, 33, 0.28),
    inset 0 0 0 0.6px rgba(255, 255, 255, 0.48);
}

.art-cursor-lens {
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 34% 30%, rgba(255, 255, 255, 0.9) 0 18%, transparent 42%),
    linear-gradient(145deg, rgba(105, 129, 160, 0.74), rgba(47, 57, 72, 0.54));
  -webkit-backdrop-filter: blur(2px) saturate(116%);
  backdrop-filter: blur(2px) saturate(116%);
  filter: blur(0.75px);
  box-shadow:
    0 0 0 1px rgba(36, 43, 54, 0.34),
    0 3px 10px rgba(39, 55, 79, 0.24),
    inset 0 1px 2px rgba(255, 255, 255, 0.64);
}

.art-cursor-lens::before {
  inset: 1px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.5), rgba(117, 145, 181, 0.2));
  filter: none;
}

.art-cursor-lens.is-positioned.is-interactive {
  opacity: 0.9;
  box-shadow:
    0 0 0 1px rgba(31, 38, 49, 0.42),
    0 3px 11px rgba(39, 55, 79, 0.3),
    inset 0 1px 2px rgba(255, 255, 255, 0.72);
}

.art-cursor-lens.is-pressed {
  width: 12px;
  height: 12px;
  opacity: 0.94;
  filter: blur(0.55px) brightness(0.96);
}

@media (min-width: 761px) and (max-width: 980px) {
  .exhibition-page .current-poster-button {
    width: min(100%, 285px);
  }
}

@media (max-width: 760px) {
  .language-trigger,
  .site-header.is-compact .language-trigger {
    min-width: 68px;
    padding-inline: 8px;
  }

  .site-footer .mahina-media-origin,
  .mahina-origin-footer .mahina-media-origin {
    grid-area: auto / 1 / auto / -1;
    margin-top: 3px;
    padding-top: 8px;
    font-size: 8.5px;
    text-align: start;
  }
}

/* Source: /assets/mahina-site-polish-v3.21.css */
/* Mahina v3.21 — dimensional cursor refinement and balanced media-origin note. */

.art-cursor-arrow {
  contain: layout style;
  overflow: visible;
  background:
    radial-gradient(circle at 13% 12%, rgba(255, 255, 255, 1) 0 4%, rgba(255, 255, 255, 0.7) 8%, transparent 25%),
    linear-gradient(315deg, rgba(246, 249, 253, 0.98) 0%, rgba(174, 187, 205, 0.93) 31%, rgba(73, 82, 98, 0.82) 67%, rgba(35, 39, 47, 0.32) 100%);
  -webkit-backdrop-filter: blur(2.4px) saturate(122%);
  backdrop-filter: blur(2.4px) saturate(122%);
  filter:
    drop-shadow(1.4px 2.2px 2.4px rgba(15, 19, 27, 0.38))
    drop-shadow(-0.45px -0.45px 0.65px rgba(255, 255, 255, 0.9));
  box-shadow:
    inset 0.8px 0.8px 0 rgba(255, 255, 255, 0.72),
    inset -1px -1px 1px rgba(24, 30, 40, 0.24);
}

.art-cursor-arrow::before {
  inset: -10% -16%;
  background: linear-gradient(315deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.46) 25%, transparent 57%);
}

.art-cursor-arrow::after {
  content: "";
  position: absolute;
  inset: 1px;
  pointer-events: none;
  clip-path: polygon(0 0, 100% 38%, 38% 100%);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.86) 0%, rgba(255, 255, 255, 0.28) 24%, transparent 48%);
  opacity: 0.92;
}

.art-cursor-lens {
  width: 13.3px;
  height: 13.3px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 31% 27%, rgba(255, 255, 255, 0.98) 0 12%, rgba(255, 255, 255, 0.64) 18%, transparent 39%),
    linear-gradient(145deg, rgba(105, 133, 169, 0.9), rgba(40, 49, 63, 0.76));
  -webkit-backdrop-filter: blur(1.2px) saturate(124%);
  backdrop-filter: blur(1.2px) saturate(124%);
  filter: blur(0.32px) saturate(1.08);
  box-shadow:
    0 0 0 0.85px rgba(30, 37, 48, 0.58),
    0 2.2px 6.5px rgba(32, 48, 72, 0.34),
    inset 0 1px 1.5px rgba(255, 255, 255, 0.78);
}

.art-cursor-lens::before {
  inset: 0.8px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.62), rgba(105, 137, 178, 0.24));
  filter: none;
}

.art-cursor-lens.is-positioned.is-interactive {
  opacity: 0.94;
  box-shadow:
    0 0 0 0.9px rgba(27, 34, 45, 0.64),
    0 2.5px 7px rgba(31, 48, 73, 0.4),
    inset 0 1px 1.5px rgba(255, 255, 255, 0.84);
}

.art-cursor-lens.is-pressed {
  width: 8.4px;
  height: 8.4px;
  opacity: 0.96;
  filter: blur(0.2px) brightness(0.94) saturate(1.1);
}

.site-footer .mahina-media-origin,
.mahina-origin-footer .mahina-media-origin {
  width: min(calc(100% - 32px), 660px);
  max-width: 660px;
  justify-self: center;
  color: rgba(30, 30, 32, 0.55);
  text-wrap: pretty;
  overflow-wrap: normal;
  word-break: normal;
}

.site-footer .mahina-media-origin > span,
.mahina-origin-footer .mahina-media-origin > span {
  display: block;
}

.mahina-media-origin:lang(ko),
.mahina-media-origin:lang(ja),
.mahina-media-origin:lang(zh-CN),
.mahina-media-origin:lang(zh-TW) {
  word-break: keep-all;
}

@media (prefers-reduced-motion: reduce) {
  .art-cursor-arrow::before {
    animation: none;
  }
}

/* Source: /assets/mahina-cursor-v3.22.css */
/* Mahina v3.22 — restore the v3.20 pointer while retaining the circular hover state. */

.art-cursor-arrow {
  contain: paint;
  overflow: hidden;
  background: linear-gradient(
    315deg,
    rgba(255, 255, 255, 0.98) 0%,
    rgba(184, 194, 209, 0.86) 29%,
    rgba(83, 91, 106, 0.68) 67%,
    rgba(45, 49, 57, 0.15) 100%
  );
  -webkit-backdrop-filter: blur(3px) saturate(116%);
  backdrop-filter: blur(3px) saturate(116%);
  filter: none;
  box-shadow:
    1px 2px 5px rgba(19, 24, 33, 0.28),
    inset 0 0 0 0.6px rgba(255, 255, 255, 0.48);
}

.art-cursor-arrow::before {
  inset: -18% -28%;
  background: linear-gradient(
    315deg,
    rgba(255, 255, 255, 0.7) 0%,
    rgba(255, 255, 255, 0.24) 34%,
    rgba(255, 255, 255, 0) 72%
  );
}

.art-cursor-arrow::after {
  content: none;
}

.art-cursor-lens {
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 34% 30%, rgba(255, 255, 255, 0.9) 0 18%, transparent 42%),
    linear-gradient(145deg, rgba(105, 129, 160, 0.74), rgba(47, 57, 72, 0.54));
  -webkit-backdrop-filter: blur(2px) saturate(116%);
  backdrop-filter: blur(2px) saturate(116%);
  filter: blur(0.75px);
  box-shadow:
    0 0 0 1px rgba(36, 43, 54, 0.34),
    0 3px 10px rgba(39, 55, 79, 0.24),
    inset 0 1px 2px rgba(255, 255, 255, 0.64);
}

.art-cursor-lens::before {
  inset: 1px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.5), rgba(117, 145, 181, 0.2));
  filter: none;
}

.art-cursor-lens.is-positioned.is-interactive {
  opacity: 0.9;
  box-shadow:
    0 0 0 1px rgba(31, 38, 49, 0.42),
    0 3px 11px rgba(39, 55, 79, 0.3),
    inset 0 1px 2px rgba(255, 255, 255, 0.72);
}

.art-cursor-lens.is-pressed {
  width: 12px;
  height: 12px;
  opacity: 0.94;
  filter: blur(0.55px) brightness(0.96);
}

/* Source: /assets/mahina-ui-fix-v3.23.css */
/* Mahina MAIN v3.23 — 20% smaller circular hover pointer. */

.art-cursor-lens {
  width: 15.2px;
  height: 15.2px;
}

/* Source: /mahina-reservation-invites-v1.css */
.mahina-reservation-invite,
.mahina-reservation-invite * {
  box-sizing: border-box;
}

.mahina-reservation-invite {
  --mahina-invite-ink: #2c2926;
  --mahina-invite-soft: #6d655e;
  --mahina-invite-line: rgba(45, 40, 35, 0.14);
  color: var(--mahina-invite-ink);
}

.mahina-reservation-invite__copy {
  margin: 0;
  color: inherit;
  text-wrap: pretty;
}

.mahina-reservation-invite__cta {
  min-height: 40px;
  border: 0;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 17px;
  color: #fff;
  background: #33302d;
  font: inherit;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.24s ease, background 0.24s ease;
}

.mahina-reservation-invite__cta:hover {
  background: #514b46;
  transform: translateY(-2px);
}

.mahina-reservation-invite__cta:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

/* MAIN: one quiet line immediately below the existing hero buttons. */
.mahina-reservation-invite--main {
  max-width: 470px;
  margin: 12px 0 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 11px;
  line-height: 1.55;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.48);
}

/* VISIT: supporting copy between the reservation row and visit notes. */
.mahina-reservation-invite--visit {
  margin: 17px 0 0;
  padding: 14px 16px;
  border: 1px solid rgba(32, 32, 32, 0.1);
  border-radius: 14px;
  color: var(--ink-soft, #6a6a6d);
  background: rgba(245, 245, 247, 0.66);
  font-size: 13px;
  line-height: 1.6;
}

/* MAP: appears inside the selected destination row, never as an overlay. */
.destination-row > .mahina-reservation-invite--map {
  margin: 0 14px 14px;
}

.mahina-reservation-invite--map {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 17px 18px;
  border: 1px solid rgba(52, 48, 43, 0.13);
  border-radius: 15px;
  color: #37332f;
  background: rgba(248, 245, 239, 0.92);
  box-shadow: 0 12px 28px rgba(38, 32, 26, 0.08);
}

.mahina-reservation-invite--map .mahina-reservation-invite__copy {
  font-size: 13px;
  line-height: 1.55;
}

/* MENU: normal cover flow between the seven choices and opening hours. */
.cover-page > .mahina-reservation-invite--menu {
  width: 100%;
}

.mahina-reservation-invite--menu {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  margin: 18px 0 0;
  padding: 15px 17px;
  border: 1px solid rgba(30, 30, 30, 0.12);
  border-radius: 14px;
  color: #363230;
  background: rgba(255, 255, 255, 0.58);
}

.mahina-reservation-invite--menu .mahina-reservation-invite__copy {
  font-size: 12px;
  line-height: 1.55;
}

html[data-mahina-usage-context="onsite_table"]
  .mahina-reservation-invite--menu {
  display: none !important;
}

/* BEST: the table-setting moment is intentionally exclusive to this page. */
.mahina-reservation-invite--best {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  align-items: center;
  gap: 15px;
  margin: 18px 0 0;
  padding: 13px 14px;
  border: 1px solid color-mix(in srgb, var(--hero-ink, #322c27) 17%, transparent);
  border-radius: 17px;
  color: var(--hero-ink, #322c27);
  background: color-mix(in srgb, var(--hero-ink, #322c27) 8%, transparent);
  opacity: 0;
  transform: translateY(12px);
}

.mahina-reservation-invite--best.is-visible {
  animation: mahina-invite-rise 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.mahina-reservation-invite--best .mahina-reservation-invite__body {
  min-width: 0;
  opacity: 0;
  transform: translateY(7px);
}

.mahina-reservation-invite--best.is-visible .mahina-reservation-invite__body {
  animation: mahina-copy-arrive 0.48s 0.96s cubic-bezier(0.22, 1, 0.36, 1)
    forwards;
}

.mahina-reservation-invite--best .mahina-reservation-invite__copy {
  font-size: 12px;
  font-weight: 520;
  line-height: 1.5;
}

.mahina-reservation-invite--best .mahina-reservation-invite__cta {
  min-height: 34px;
  margin-top: 9px;
  padding-inline: 14px;
  color: var(--hero-color, #f7f3ea);
  background: var(--hero-ink, #322c27);
  font-size: 10px;
}

.mahina-table-ready-visual {
  width: 104px;
  height: 78px;
  position: relative;
  isolation: isolate;
}

.mahina-table-ready-plate,
.mahina-table-ready-fork,
.mahina-table-ready-knife,
.mahina-table-ready-card {
  position: absolute;
  display: block;
}

.mahina-table-ready-plate {
  width: 64px;
  height: 64px;
  top: 7px;
  left: 20px;
  border: 1px solid color-mix(in srgb, currentColor 42%, transparent);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 255, 255, 0.72) 0 27%, transparent 28%),
    radial-gradient(circle, rgba(255, 255, 255, 0.34) 0 54%, transparent 55%);
  box-shadow:
    inset 0 0 0 7px rgba(255, 255, 255, 0.2),
    0 6px 12px rgba(50, 39, 28, 0.09);
  transform: scale(0.72);
  opacity: 0;
}

.mahina-table-ready-fork,
.mahina-table-ready-knife {
  width: 2px;
  height: 48px;
  top: 16px;
  border-radius: 999px;
  background: currentColor;
  opacity: 0;
}

.mahina-table-ready-fork {
  left: 9px;
  transform: translateX(13px);
}

.mahina-table-ready-fork::before {
  content: "";
  width: 10px;
  height: 9px;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  background: repeating-linear-gradient(90deg, currentColor 0 1px, transparent 1px 3px);
  position: absolute;
  top: 0;
  left: -4px;
}

.mahina-table-ready-knife {
  right: 9px;
  width: 4px;
  border-radius: 5px 1px 1px 5px;
  transform: translateX(-13px);
}

.mahina-table-ready-card {
  min-width: 55px;
  height: 22px;
  top: 2px;
  right: -2px;
  border: 1px solid color-mix(in srgb, currentColor 30%, transparent);
  border-radius: 4px;
  padding: 0 7px;
  color: inherit;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 5px 12px rgba(45, 35, 26, 0.11);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 7px;
  font-weight: 700;
  letter-spacing: 0.09em;
  line-height: 20px;
  text-align: center;
  opacity: 0;
  transform: translate(22px, -10px) rotate(5deg);
}

.mahina-reservation-invite--best.is-visible .mahina-table-ready-plate {
  animation: mahina-plate-arrive 0.58s 0.08s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.mahina-reservation-invite--best.is-visible .mahina-table-ready-fork {
  animation: mahina-fork-arrive 0.52s 0.25s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.mahina-reservation-invite--best.is-visible .mahina-table-ready-knife {
  animation: mahina-knife-arrive 0.52s 0.25s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.mahina-reservation-invite--best.is-visible .mahina-table-ready-card {
  animation: mahina-card-arrive 0.62s 0.52s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes mahina-invite-rise {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes mahina-plate-arrive {
  from {
    opacity: 0;
    transform: scale(0.72);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes mahina-fork-arrive {
  from {
    opacity: 0;
    transform: translateX(13px);
  }
  to {
    opacity: 0.72;
    transform: translateX(0);
  }
}

@keyframes mahina-knife-arrive {
  from {
    opacity: 0;
    transform: translateX(-13px);
  }
  to {
    opacity: 0.72;
    transform: translateX(0);
  }
}

@keyframes mahina-card-arrive {
  from {
    opacity: 0;
    transform: translate(22px, -10px) rotate(5deg);
  }
  to {
    opacity: 1;
    transform: translate(0, 0) rotate(-3deg);
  }
}

@keyframes mahina-copy-arrive {
  from {
    opacity: 0;
    transform: translateY(7px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.mahina-reservation-benefit {
  max-width: 580px;
  margin: 20px 0 0;
  color: #2f2f31;
  font-size: 14px;
  font-weight: 520;
  line-height: 1.65;
  text-wrap: pretty;
  overflow-wrap: normal;
  word-break: normal;
}

.mahina-reservation-benefit + .mahina-booking-guide,
.mahina-reservation-benefit + .reservation-guide {
  margin-top: 8px;
}

.mahina-reservation-benefit:lang(ko),
.mahina-reservation-benefit:lang(ja),
.mahina-reservation-benefit:lang(zh-CN),
.mahina-reservation-benefit:lang(zh-TW) {
  word-break: keep-all;
}

@media (max-width: 760px) {
  .mahina-reservation-benefit {
    margin-top: 17px;
    font-size: 13px;
  }

  .mahina-reservation-invite--main {
    max-width: 92%;
    margin-top: 10px;
    font-size: 10px;
  }

  .mahina-reservation-invite--visit {
    margin-top: 14px;
    padding: 13px 14px;
    font-size: 12px;
  }

  .mahina-reservation-invite--map,
  .mahina-reservation-invite--menu {
    grid-template-columns: 1fr;
    gap: 11px;
  }

  .mahina-reservation-invite--map .mahina-reservation-invite__cta,
  .mahina-reservation-invite--menu .mahina-reservation-invite__cta {
    width: 100%;
  }

  .destination-row > .mahina-reservation-invite--map {
    margin-inline: 9px;
  }

  .mahina-reservation-invite--best {
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 11px;
    margin-top: 13px;
    padding: 10px 11px;
    border-radius: 14px;
  }

  .mahina-table-ready-visual {
    width: 82px;
    height: 66px;
    transform: scale(0.78);
    transform-origin: center;
  }

  .mahina-reservation-invite--best .mahina-reservation-invite__copy {
    font-size: 10px;
    line-height: 1.45;
  }

  .mahina-reservation-invite--best .mahina-reservation-invite__cta {
    width: 100%;
    min-height: 31px;
    margin-top: 7px;
    padding-inline: 9px;
    font-size: 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mahina-reservation-invite,
  .mahina-reservation-invite * {
    animation: none !important;
    transition: none !important;
  }

  .mahina-reservation-invite--best,
  .mahina-reservation-invite--best .mahina-reservation-invite__body,
  .mahina-table-ready-plate,
  .mahina-table-ready-fork,
  .mahina-table-ready-knife,
  .mahina-table-ready-card {
    opacity: 1 !important;
    transform: none !important;
  }

  .mahina-table-ready-card {
    transform: rotate(-3deg) !important;
  }
}

/* Deferred video: keep the poster visually settled until media loading starts. */
.video-control-surface:not([data-mahina-video-loading="true"]) .media-loading-mark { opacity: 0; visibility: hidden; animation-play-state: paused; }
/* User-approved menu popup typography: exactly 30% smaller than v322. */
.menu-panel .popup-navigation a,.menu-panel .popup-navigation button{font-size:clamp(17.5px,2.94vw,30.8px)}
.menu-panel .menu-panel-foot{font-size:8.4px}
@media (width<=460px){.menu-panel .popup-navigation a,.menu-panel .popup-navigation button{font-size:19.6px}}
