
@media (max-width: 1023px) {
    .mo-hero { margin-top: -66px; height: 100svh; max-height: 886px; }
    .mo-hero-txt { top: 96px; }
    .mo-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 140px; background: linear-gradient(180deg, rgba(244, 245, 248, 0), var(--mo-silk)); pointer-events: none; }
}
.mo-hero-sub { margin: 12px 0 0; font-size: 14.5px; color: #5b6b7c; letter-spacing: -.01em; }
.mo-hero-cta { border: 0; cursor: pointer; font-family: inherit; font-weight: 600; }
.mo-home { background: var(--mo-silk); color: var(--mo-ink); }
.mo-home, .mo-sec, .mo-modal { word-break: keep-all; overflow-wrap: break-word; }
.mo-home b { font-weight: 700; }
.mo-sec { --card: #fff; padding: 56px 0; }
.mo-sec:nth-child(even) { --card: var(--mo-silk); background: linear-gradient(180deg, #fff, #f9fafb); }
.mo-sec.mo-price { --card: #fff; background: none; }
.mo-wrap { max-width: 1080px; margin: 0 auto; padding: 0 20px; }
.mo-kick { margin: 0 0 8px; font-family: Lora, serif; font-size: 12px; letter-spacing: .24em; text-transform: uppercase; color: #7a8a9b; }
.mo-h { margin: 0; font-size: 24px; font-weight: 500; line-height: 1.4; letter-spacing: -.03em; color: var(--mo-ink); }
.mo-h b { font-weight: 700; color: var(--mo-navy); }
.mo-pages { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.mo-pages::-webkit-scrollbar { display: none; }
.mo-pgrp { margin-top: 26px; }
.mo-pcards { gap: 12px; margin: 0 -20px -22px; padding: 4px 20px 48px; list-style: none; align-items: stretch; scroll-snap-type: none; scroll-behavior: auto; }
.mo-pcards li { display: flex; flex: none; width: 68%; max-width: 270px; }
.mo-ban { padding: 4px 0 18px; text-align: center; }
.mo-ban .mo-kick { margin: 0; font: 12px/1 Lora, serif; letter-spacing: .3em; text-transform: uppercase; color: #a7803c; }
.mo-ban .mo-h { margin: 10px 0 0; font-size: 25px; font-weight: 700; letter-spacing: -.02em; color: var(--mo-ink); }
.mo-ban-line { display: block; width: 36px; height: 1px; margin: 9px auto 16px;    background: linear-gradient(90deg, transparent, #c9a25a, transparent); }
.mo-ban-sub { margin: 0; font-size: 13px; color: #7a8698; }
.mo-sec.mo-private { position: relative; background: #2f3946; color: #fff; }
.mo-private-bg { position: absolute; inset: -40px; z-index: 0; background: no-repeat center / cover; filter: blur(14px); opacity: 0; transition: opacity .9s; pointer-events: none; will-change: opacity; }
.mo-private-bg.on { opacity: 1; }
.mo-private::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(20, 23, 29, .6), rgba(20, 23, 29, .66)); }
.mo-private::after { content: "PRIVATE"; position: absolute; z-index: 1; top: 34px; right: -22vw; font-size: 28vw; font-weight: 900; -webkit-text-stroke: .045em #fff; opacity: .06; line-height: 1; letter-spacing: -.02em; color: #fff; pointer-events: none; white-space: nowrap; }
@media (min-width: 1024px) { .mo-private::after { top: 70px; right: -4vw; font-size: min(17vw, 230px); } }
.mo-private .mo-wrap { position: relative; z-index: 2; }
.mo-sec.mo-private { overflow: hidden; }
.mo-rooms { --c: min(70vw, 340px); --r: 1.5; --x1: 40%; --x2: 70%; position: relative; height: calc(var(--c) * var(--r)); margin: 32px 0 0; padding: 0; list-style: none; }
.mo-rooms li { position: absolute; top: 0; left: 50%; width: var(--c); height: calc(var(--c) * var(--r)); margin-left: calc(var(--c) / -2); overflow: hidden; border-radius: 18px; background: #222;
    box-sizing: border-box;
    box-shadow: 0 0 0 1.7px rgba(8, 10, 14, .55), 0 24px 48px -24px rgba(0, 0, 0, .7);    cursor: pointer; z-index: 1; opacity: 0;
    transition: transform .6s cubic-bezier(.22, .61, .36, 1), opacity .6s, filter .6s; will-change: transform, opacity, filter; }
.mo-rooms { cursor: grab; touch-action: pan-y; -webkit-user-select: none; user-select: none; }
.mo-rooms.dragging, .mo-rooms.dragging li { cursor: grabbing; transition: none; }
.mo-rooms img { -webkit-user-drag: none; }
.mo-rooms li::after { content: ""; position: absolute; inset: 30% 0 0; background: linear-gradient(180deg, rgba(12, 14, 18, 0), rgba(12, 14, 18, .52) 45%, rgba(12, 14, 18, .82)); pointer-events: none; }
.mo-rooms img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mo-rooms img[src*="/r18."] { object-position: 100% 50%; }
.mo-rooms img[src*="/r05."] { object-position: 100% 50%; }
.mo-rooms picture { display: contents; }
.mo-rooms img[src*="/r19."], .mo-zoom img[src*="/r19."] { object-position: 100% 50%; }
@media (max-width: 1023px) { .mo-rooms img[src*="/r13."] { object-position: 72% 50%; } .mo-rooms img[src*="/r17."] { object-position: 16% 50%; } .mo-rooms img[src*="/r18."] { object-position: 90% 50%; } }
.mo-rooms li::before { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; padding: 2px; pointer-events: none;
    background: linear-gradient(180deg, rgba(255, 255, 255, .34), rgba(255, 255, 255, .2) 45%, rgba(255, 255, 255, .14));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
.mo-rooms b, .mo-rooms small { position: absolute; z-index: 1; left: 18px; right: 18px; color: #fff; transition: opacity .4s; }
.mo-rooms b { bottom: 40px; font-size: 18px; letter-spacing: -.02em; }
.mo-rooms small { bottom: 18px; font-size: 12.5px; line-height: 1.45; color: rgba(255, 255, 255, .78); }
@media (max-width: 1023px) { .mo-rooms b { bottom: 52px; } .mo-rooms small { bottom: 30px; } }
@media (min-width: 1024px) { .mo-rooms li::after { background: linear-gradient(180deg, rgba(12, 14, 18, 0), rgba(12, 14, 18, .6) 45%, rgba(12, 14, 18, .9)); } }
.mo-region { display: inline-flex; gap: 4px; margin-top: 24px; padding: 5px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 999px; background: rgba(0, 0, 0, .28); box-shadow: inset 0 2px 6px rgba(0, 0, 0, .45), 0 1px 0 rgba(255, 255, 255, .08);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.mo-region button { height: 40px; padding: 0 16px; border: 0; border-radius: 999px; background: none; font: inherit; font-size: 14px; font-weight: 600; color: rgba(255, 255, 255, .55); cursor: pointer; transition: color .2s, background .2s; }
.mo-region button:hover { color: rgba(255, 255, 255, .85); }
.mo-region button[aria-selected="true"] { background: linear-gradient(180deg, #4a505a, #2a2f37); color: #d9b56c; font-weight: 700;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), inset 0 -1px 0 rgba(0, 0, 0, .4), 0 0 0 1px rgba(217, 181, 108, .35), 0 6px 14px -4px rgba(0, 0, 0, .7); text-shadow: 0 1px 2px rgba(0, 0, 0, .5); }
@media (min-width: 1024px) { .mo-region { margin-top: 28px; } .mo-region button { height: 42px; padding: 0 22px; font-size: 15px; } }
.mo-region { position: relative; --x: 5px; --w: 0px; }
.mo-region::before { content: ""; position: absolute; top: 5px; bottom: 5px; left: 0; width: var(--w); border-radius: 999px; transform: translateX(var(--x)); pointer-events: none;
    background: linear-gradient(180deg, #4a505a, #2a2f37); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), inset 0 -1px 0 rgba(0, 0, 0, .4), 0 0 0 1px rgba(217, 181, 108, .35), 0 6px 14px -4px rgba(0, 0, 0, .7);
    transition: transform .4s cubic-bezier(.65, 0, .25, 1), width .4s cubic-bezier(.65, 0, .25, 1); }
.mo-region.ready button[aria-selected="true"] { background: none; box-shadow: none; }
.mo-region button { position: relative; z-index: 1; transition: color .35s; }
.mo-rooms-soon { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; box-sizing: border-box; width: min(70vw, 340px); aspect-ratio: 2 / 3; margin: 32px auto 0; border: 1px solid rgba(255, 255, 255, .22); border-radius: 18px; text-align: center;
    background: linear-gradient(160deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .03)); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.mo-rooms-soon[hidden], .mo-rooms-nav[hidden], .mo-rooms[hidden] { display: none; }
.mo-rooms-soon i { font: 400 11px/1 Lora, serif; font-style: normal; letter-spacing: .3em; text-transform: uppercase; color: #d9b56c; }
.mo-rooms-soon b { font-size: 22px; color: #fff; }
.mo-rooms-soon small { font-size: 13.5px; color: rgba(255, 255, 255, .65); }
.mo-rooms-soon em { padding: 7px 16px; border: 1px solid rgba(217, 181, 108, .45); border-radius: 999px; font-style: normal; font-size: 14px; font-weight: 700; letter-spacing: .02em; color: #d9b56c; }
.mo-rooms-soon em:empty { display: none; }
@media (min-width: 1024px) { .mo-rooms-soon { width: 540px; aspect-ratio: 3 / 2; margin-top: 48px; } .mo-rooms-soon b { font-size: 26px; } }
.mo-rooms-nav { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 44px; font-size: 13px; font-variant-numeric: tabular-nums; letter-spacing: .04em; }
@media (min-width: 1024px) { .mo-rooms-nav { margin-top: 60px; } }
.mo-rooms-nav b { font-weight: 700; color: #fff; }
.mo-rooms-nav small { font-size: inherit; color: rgba(255, 255, 255, .45); }
.mo-rooms-nav span { position: relative; width: 84px; height: 3px; border-radius: 999px; overflow: hidden; background: rgba(255, 255, 255, .18); }
.mo-rooms-nav i { position: absolute; inset: 0 auto 0 0; width: 0; border-radius: inherit; background: linear-gradient(90deg, #a7803c, #d9b56c 55%, #f3e2bf); animation: mo-fill 3.5s linear forwards; }
.mo-rooms-nav.paused i { animation-play-state: paused; }
@keyframes mo-fill { to { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .mo-rooms-nav i { animation: none; width: 100%; } }
.mo-zoom { position: fixed; inset: 0; z-index: 10001; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(10, 12, 16, .88); cursor: zoom-out; }
.mo-zoom[hidden] { display: none; }
.mo-zoom figure { position: relative; width: min(100%, 1100px, (100vh - 96px) * 16 / 9); margin: 0; overflow: hidden; border-radius: 12px; background: #0c0e12; box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .8); cursor: default; }
.mo-zoom img { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; object-fit: cover; }
.mo-zoom img[src*="/r18."] { object-position: 100% 50%; }
.mo-zoom figure::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(180deg, rgba(12, 14, 18, 0), rgba(12, 14, 18, .6) 50%, rgba(12, 14, 18, .92)); pointer-events: none; }
.mo-zoom figure { border-radius: 18px; box-shadow: 0 0 0 1.7px rgba(8, 10, 14, .55), 0 30px 80px -20px rgba(0, 0, 0, .8); }
.mo-zoom figure::before { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; padding: 2px; pointer-events: none;
    background: linear-gradient(180deg, rgba(255, 255, 255, .34), rgba(255, 255, 255, .2) 45%, rgba(255, 255, 255, .14));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
.mo-zoom figcaption { position: absolute; z-index: 1; left: 20px; right: 20px; bottom: 18px; color: #fff; }
.mo-zoom figcaption i { display: block; margin-bottom: 8px; font: 400 11px/1 Lora, serif; font-style: normal; letter-spacing: .3em; text-transform: uppercase; color: #d9b56c; }
.mo-zoom figcaption b { display: block; font-size: 20px; letter-spacing: -.02em; }
.mo-zoom figcaption small { display: block; margin-top: 4px; font-size: 13.5px; color: rgba(255, 255, 255, .78); }
@media (min-width: 1024px) { .mo-zoom figcaption { left: 36px; bottom: 32px; } .mo-zoom figcaption b { font-size: 28px; } .mo-zoom figcaption small { font-size: 15px; } }
.mo-zoom button { position: absolute; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff; font-size: 18px; line-height: 1; cursor: pointer; transition: background .2s; }
.mo-zoom button:hover { background: rgba(255, 255, 255, .26); }
.mo-zoom .x { top: 16px; right: 16px; }
.mo-zoom .prev, .mo-zoom .next { top: 50%; margin-top: -26px; width: 52px; height: 52px; font-size: 26px; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.mo-zoom .prev { left: 16px; }
.mo-zoom .next { right: 16px; }
@media (max-width: 1023px) {
    .mo-zoom .prev, .mo-zoom .next { margin-top: -18px; width: 36px; height: 36px; font-size: 20px; background: rgba(12, 14, 18, .45); }
    .mo-zoom .prev { left: 24px; } .mo-zoom .next { right: 24px; }
    .mo-zoom .prev, .mo-zoom .next { top: calc(50% + (100vw - 32px) * 9 / 32 + 16px); margin-top: 0; width: 40px; height: 40px; background: rgba(255, 255, 255, .14); }
    .mo-zoom .prev { left: calc(50% - 48px); } .mo-zoom .next { right: calc(50% - 48px); }
    .mo-zoom .x { top: calc(50% - (100vw - 32px) * 9 / 32 - 48px); right: 16px; width: 38px; height: 38px; }
    .mo-zoom { --zw: min(100vw - 72px, (100vh - 240px) * 2 / 3); }
    .mo-zoom figure { width: var(--zw); }
    .mo-zoom img { aspect-ratio: 2 / 3; }
    .mo-zoom img[src*="/r05."] { object-position: 100% 50%; } .mo-zoom img[src*="/r13."] { object-position: 72% 50%; } .mo-zoom img[src*="/r17."] { object-position: 16% 50%; } .mo-zoom img[src*="/r18."] { object-position: 90% 50%; }
    .mo-zoom .prev, .mo-zoom .next { top: calc(50% + var(--zw) * 3 / 4 + 16px); }
    .mo-zoom .x { top: calc(50% - var(--zw) * 3 / 4 - 48px); right: calc(50% - var(--zw) / 2); }
}
@media (min-width: 1024px) { .mo-zoom { padding: 48px; } }
.mo-rooms li[data-pos="0"] { cursor: zoom-in; }
.mo-rooms b::before { content: "Private"; display: block; margin-bottom: 6px; font: 400 10.5px/1 Lora, serif; letter-spacing: .3em; text-transform: uppercase; color: #d9b56c; }
.mo-rooms li:not([data-pos="0"]) b, .mo-rooms li:not([data-pos="0"]) small { opacity: 0; }
.mo-private .mo-kick { margin-bottom: 14px; color: rgba(255, 255, 255, .7); }
.mo-private .mo-h, .mo-private .mo-h b { color: #fff; }
.mo-private .mo-h { font-size: 29px; }
@media (min-width: 1024px) { .mo-private .mo-h { font-size: 40px; } }
.mo-private .mo-h { font-weight: 300; color: rgba(255, 255, 255, .82); }
.mo-private .mo-h b { font-weight: 800; color: #fff; }
.mo-private .mo-kick { color: #d9b56c; }
.mo-visit .mo-h { font-size: 29px; font-weight: 300; color: #6b7586; }
.mo-visit .mo-h b { font-weight: 800; color: var(--mo-ink); }
@media (min-width: 1024px) { .mo-visit .mo-h { font-size: 40px; } }
.mo-visit .mo-kick { color: #a7803c; }
@media (max-width: 1023px) {
    .mo-sec.mo-private { background: #2f3946; clip-path: inset(0); padding-top: 72px; padding-bottom: 72px; }
    .mo-private::before, .mo-private-bg { position: fixed; }
    .mo-private-bg { inset: -40px; }
}
.mo-device-img { display: block; width: calc(100% + 24px); max-width: none; margin: 14px -12px 0; filter: drop-shadow(0 26px 24px rgba(38, 46, 57, .22)); }
.mo-sec.mo-device { position: relative; overflow: hidden;
    background: radial-gradient(45% 40% at 6% 96%, rgba(123, 14, 114, .16), transparent 70%) #040407; }
.mo-sec.mo-device::before { content: ""; position: absolute; inset: 0; pointer-events: none;
    background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1.2px); background-size: 22px 22px;
    -webkit-mask-image: radial-gradient(60% 45% at 25% 30%, #000, transparent 75%); mask-image: radial-gradient(60% 45% at 25% 30%, #000, transparent 75%); }
.mo-sec.mo-device::after { content: "GENTLEMAX"; position: absolute; left: 50%; bottom: -0.12em; transform: translateX(-50%); pointer-events: none; white-space: nowrap;
    font-family: Lora, serif; font-size: clamp(90px, 19vw, 260px); font-weight: 600; letter-spacing: .06em; line-height: 1;
    color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, .06); }
:has(> .mo-sec.mo-device:not(.mo-device-light)) { display: flow-root; background: var(--mo-silk); }
.mo-sec.mo-device:not(.mo-device-light) { margin: 168px 16px 0 !important; border-radius: 28px; box-shadow: 0 28px 56px -18px rgba(20, 24, 31, .5), 0 10px 24px -10px rgba(20, 24, 31, .3), 0 0 0 1px rgba(255, 255, 255, .6); }
@media (min-width: 1024px) { .mo-sec.mo-device:not(.mo-device-light) { margin: 200px max(40px, (100% - 1200px) / 2) 0 !important; border-radius: 40px;    box-shadow: 0 40px 80px -26px rgba(20, 24, 31, .5), 0 14px 30px -12px rgba(20, 24, 31, .3), 0 0 0 1px rgba(255, 255, 255, .6); } }
.mo-device-title { text-align: left; padding: 0 0 22px; }
.mo-device .mo-device-title .mo-kick { color: #c9a25a; }
.mo-device .mo-device-title .mo-h { width: fit-content; margin-top: 10px; font-size: 25px; letter-spacing: -.02em; white-space: normal; background: linear-gradient(90deg, #fff 0%, #f3e2bd 40%, #c9a25a 100%); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.mo-device-title .mo-ban-line { margin: 9px 0 16px; }
.mo-device-title .mo-ban-sub { color: rgba(255, 255, 255, .62); }
@media (max-width: 1023px) { .mo-device .mo-device-title .mo-h { font-size: min(29px, 7.7vw); }    }
@media (max-width: 1023px) { .mo-device-title { text-align: center; } .mo-device .mo-device-title .mo-h { margin-left: auto; margin-right: auto; } .mo-device-title .mo-ban-line { margin-left: auto; margin-right: auto; } }
.mo-sec.mo-device:not(.mo-device-light) { padding: 44px 0 44px; }
@media (min-width: 1024px) {
    .mo-sec.mo-device:not(.mo-device-light) { padding: 36px 0 56px; }
    .mo-sec.mo-device:not(.mo-device-light) .mo-device-vid { width: 78%; margin-left: 14%; }
    .mo-device .mo-device-title .mo-h { font-size: 44px; }
    .mo-device:not(.mo-device-light) .mo-wrap { grid-template-rows: 1fr auto 0 0 auto 1fr; }
    .mo-device-title { grid-row: 2; padding-bottom: 6px; }
}
.mo-sec.mo-device:not(.mo-device-light) { background:
    linear-gradient(90deg, transparent, rgba(196, 92, 182, .85), transparent) 50% 0 / calc(100% - 80px) 2px no-repeat,
    linear-gradient(90deg, transparent, rgba(196, 92, 182, .85), transparent) 50% 100% / calc(100% - 80px) 2px no-repeat,
    radial-gradient(45% 40% at 6% 96%, rgba(123, 14, 114, .16), transparent 70%) #040407; }
.mo-device .mo-wrap { position: relative; z-index: 1; }
.mo-device-vid { filter: none; aspect-ratio: 1; height: auto; object-fit: cover; background: #040407;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent), linear-gradient(180deg, transparent, #000 6%, #000 90%, transparent);
    -webkit-mask-composite: source-in;
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent), linear-gradient(180deg, transparent, #000 6%, #000 90%, transparent);
    mask-composite: intersect; }
.mo-sec.mo-device { --gm: #7b0e72; --gm-l: #c45cb6; }
.mo-device .mo-kick { color: var(--gm-l); }
.mo-device .mo-h { font-size: min(29px, 7.7vw); letter-spacing: -.07em; white-space: nowrap; font-weight: 700; justify-self: start; width: fit-content; background: linear-gradient(90deg, #f3d4ee, var(--gm-l)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mo-device .mo-h b { color: #fff; -webkit-text-fill-color: #fff; }
.mo-device .mo-keys li { border-top-color: rgba(255, 255, 255, .1); padding: 20px 0 15px; }
.mo-device .mo-keys li::before { background: linear-gradient(180deg, #f3d4ee, var(--gm-l)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mo-device .mo-keys b, .mo-device .mo-specs b { color: #fff; }
.mo-device .mo-keys small { color: rgba(255, 255, 255, .74); }
.mo-device .mo-keys b { font-size: 16px; }
.mo-device .mo-keys small { margin-top: 5px; font-size: 13px; }
.mo-device .mo-keys li::before { font-size: 26px; }
@media (min-width: 1024px) { .mo-device .mo-h { font-size: 40px; letter-spacing: -.03em; white-space: nowrap; } .mo-device .mo-keys b { font-size: 18px; } .mo-device .mo-keys small { font-size: 14px; } .mo-device .mo-keys li::before { font-size: 28px; } }
.mo-device .mo-specs li { position: relative; overflow: hidden; padding: 0 0 16px; border: 1px solid rgba(255, 255, 255, .09);
    background: linear-gradient(180deg, #17191d, #0f1013); box-shadow: 0 16px 32px -22px rgba(0, 0, 0, .9);
    transition: transform .3s, border-color .3s; }
.mo-device .mo-specs li::before { content: ""; position: absolute; z-index: 1; top: 0; left: 16px; right: 16px; height: 1px; background: linear-gradient(90deg, transparent, var(--gm-l), transparent); opacity: .7; transform: scaleY(.5); transform-origin: top; }
.mo-device .mo-specs li::after { content: ""; position: absolute; z-index: 1; bottom: 0; left: 16px; right: 16px; height: 1px; background: linear-gradient(90deg, transparent, var(--gm-l), transparent); opacity: .7; }
.mo-device .mo-specs li:hover { transform: translateY(-4px); border-color: rgba(255, 255, 255, .2); }
.mo-device .mo-specs img { display: block; width: 100%; aspect-ratio: 16 / 10; height: auto; margin: 0 0 12px; object-fit: cover;
    -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent); mask-image: linear-gradient(180deg, #000 70%, transparent); }
.mo-device .mo-specs b, .mo-device .mo-specs small { padding: 0 14px; }
.mo-device .mo-specs b { font-size: 15px; letter-spacing: -.02em; }
.mo-device .mo-specs small { color: rgba(255, 255, 255, .62); }
.mo-sec.mo-device:not(.mo-device-light) { --gm: #a7803c; --gm-l: #d4b06a;
    background:
    linear-gradient(90deg, transparent, rgba(212, 176, 106, .85), transparent) 50% 0 / calc(100% - 80px) 2px no-repeat,
    linear-gradient(90deg, transparent, rgba(212, 176, 106, .85), transparent) 50% 100% / calc(100% - 80px) 2px no-repeat,
    #040407; }
.mo-sec.mo-device:not(.mo-device-light) .mo-keys li::before { background: linear-gradient(180deg, #f3e2bd, #c9a25a); -webkit-background-clip: text; background-clip: text; }
@media (max-width: 1023px) { .mo-device .mo-specs li { width: 58%; } }
.mo-sec.mo-device.mo-device-light { background: #fff; }
.mo-device-light::before { background-image: radial-gradient(rgba(31, 45, 74, .08) 1px, transparent 1.2px); }
.mo-device-light::after { -webkit-text-stroke: 1px rgba(31, 45, 74, .06); }
.mo-device-light .mo-kick { color: var(--gm); }
.mo-device-light .mo-h { background: linear-gradient(90deg, var(--gm-l), var(--gm)); -webkit-background-clip: text; background-clip: text; }
.mo-device-light .mo-h b { color: var(--mo-ink); -webkit-text-fill-color: var(--mo-ink); }
.mo-device-light .mo-keys li { border-top-color: var(--mo-line); }
.mo-device-light .mo-keys li::before { background: linear-gradient(180deg, var(--gm-l), var(--gm)); -webkit-background-clip: text; background-clip: text; }
.mo-device-light .mo-keys b { color: var(--mo-ink); }
.mo-device-light .mo-keys small { color: #6b7585; }
.mo-device-light .mo-specs li { border-color: var(--mo-line); background: linear-gradient(180deg, #fff, #f3f5f8); box-shadow: 0 16px 32px -22px rgba(38, 46, 57, .35); }
.mo-device-light .mo-specs li:hover { border-color: #d5dde7; }
.mo-device-light .mo-specs b { color: var(--mo-ink); }
.mo-device-light .mo-specs small { color: #6b7585; }
.mo-device-light .mo-device-vid { background: #fff; }
.mo-sec.mo-device.mo-device-light { background: linear-gradient(180deg, var(--mo-silk) 0, var(--mo-silk) 60px, #eef1f6 45%, #e9edf5 100%); }
.mo-sec.mo-device.mo-device-light { padding-top: 72px; padding-bottom: 64px; }
@media (min-width: 1024px) { .mo-sec.mo-device.mo-device-light { padding-top: 132px; padding-bottom: 112px; } }
.mo-device-light::before { display: none; }
.mo-device-light .mo-device-vid { background: transparent; }
.mo-device .mo-device-vid {
    -webkit-mask-image: radial-gradient(closest-side, #000 64%, transparent 100%); -webkit-mask-composite: source-over;
    mask-image: radial-gradient(closest-side, #000 64%, transparent 100%); mask-composite: add;
    -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: 50% 50%; mask-position: 50% 50%;
    -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; scale: 1; }
.mo-device-light .mo-wrap { margin: 0 16px; padding: 30px 20px 26px; border-radius: 28px;
    border: 1px solid transparent; background: linear-gradient(160deg, rgba(255, 255, 255, .58) 0%, rgba(255, 255, 255, .28) 45%, rgba(255, 255, 255, .16) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95), inset 0 -1px 0 rgba(255, 255, 255, .5), inset 0 0 0 1px rgba(255, 255, 255, .25), inset 0 -40px 70px -50px rgba(130, 148, 182, .22),
        0 1px 2px rgba(38, 46, 57, .06), 0 30px 70px -35px rgba(38, 46, 57, .34); }
.mo-device-light .mo-wrap::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none;
    background: radial-gradient(120% 55% at 28% -8%, rgba(255, 255, 255, .8), rgba(255, 255, 255, 0) 62%),
        linear-gradient(118deg, rgba(255, 255, 255, 0) 56%, rgba(255, 255, 255, .32) 62%, rgba(255, 255, 255, 0) 69%); }
.mo-device-light .mo-wrap::after { content: ""; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; pointer-events: none;
    background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, .5) 35%, rgba(255, 255, 255, .15) 65%, rgba(255, 255, 255, .3) 100%);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); }
@media (max-width: 1023px) { .mo-device-light .mo-h { font-size: min(29px, 7vw); } }
@media (min-width: 1024px) { .mo-device-light .mo-wrap { box-sizing: border-box; width: min(1000px, calc(100% - 160px)); max-width: none; margin: 0 auto; padding: 52px 56px 48px; border-radius: 40px; } }
}
.mo-keys { margin: 8px 0 0; padding: 0; list-style: none; counter-reset: k; }
.mo-keys li { display: grid; grid-template-columns: 34px 1fr;    padding: 18px 0; border-top: 1px solid var(--mo-line); counter-increment: k; }
.mo-keys li:first-child { border-top: 0; }
.mo-keys li::before { content: counter(k);    grid-row: span 2; font-family: Lora, serif; font-size: 30px; font-weight: 400; line-height: 1; color: var(--mo-ink); }
.mo-keys b { font-size: 16px; font-weight: 700; color: var(--mo-ink); }
.mo-keys small { margin-top: 4px; font-size: 13px; line-height: 1.55; color: #6b7585; }
.mo-specs li { border: 1px solid rgba(255, 255, 255, .9); border-radius: 18px; background: linear-gradient(160deg, #fff, #eef1f5); box-shadow: 0 10px 24px -16px rgba(38, 46, 57, .45); }
.mo-specs { display: flex; gap: 10px; margin: 14px -20px 0; padding: 4px 20px 18px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 20px; -webkit-overflow-scrolling: touch; scrollbar-width: none; list-style: none; }
.mo-specs::-webkit-scrollbar { display: none; }
.mo-specs { scroll-snap-type: none; scroll-behavior: auto; }
.mo-specs, .mo-pages { cursor: grab; }
.mo-specs.dragging, .mo-pages.dragging { cursor: grabbing; scroll-snap-type: none; -webkit-user-select: none; user-select: none; }
.mo-specs img, .mo-pages img { -webkit-user-drag: none; }
.mo-specs li { flex: none; width: 42%; padding: 16px 14px; scroll-snap-align: start; }
.mo-specs img { display: block; width: 40px; height: auto; margin-bottom: 10px; }
.mo-specs b { display: block; font-size: 14px; font-weight: 700; color: var(--mo-ink); }
.mo-specs small { display: block; margin-top: 4px; font-size: 12px; line-height: 1.5; color: #6b7585; }
.mo-visit [hidden] { display: none !important; }
.mo-loc-box { display: grid; margin-top: 20px; border-radius: 16px; box-shadow: 0 26px 50px -26px rgba(38, 46, 57, .5), 0 6px 14px -8px rgba(38, 46, 57, .25); }
@media (min-width: 1024px) { .mo-loc-box { margin-top: 24px; } }
.mo-loc-info { grid-row: 2; grid-column: 1; }
.mo-visit .mo-loc-info[hidden] { display: block !important; visibility: hidden; }
.mo-visit .mo-loc-card[hidden] { display: flex !important; }
.mo-loc { border: 1px solid var(--mo-line); border-radius: 16px 16px 0 0; overflow: hidden; background: var(--card); }
.mo-map { position: relative; height: 240px; border: 1px solid var(--mo-line); border-radius: 16px; overflow: hidden; background: #e9eef6; }
.mo-loc .mo-map { height: 280px; border: 0; border-radius: 0; }
.mo-map .root_daum_roughmap, .mo-map .wrap_map { width: 100% !important; height: 100% !important; }
.mo-map .mo-nmap { width: 100%; height: 100%; }
.mo-zbar { position: absolute; z-index: 3; top: 12px; right: 12px; display: flex; flex-direction: column; align-items: center; width: 32px; border: 1px solid rgba(213, 217, 222, .7); border-radius: 6px; background: rgba(255, 255, 255, .72); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); box-shadow: 0 1px 4px rgba(0, 0, 0, .1); --z: .5; }
.mo-zbar button { width: 30px; height: 30px; padding: 0; border: 0; background: none; font: 300 24px/30px Arial, sans-serif; color: #444; cursor: pointer; }
.mo-zbar .tr { position: relative; width: 30px; height: 110px; cursor: pointer; touch-action: none; }
.mo-zbar .tr::before { content: ""; position: absolute; left: 50%; top: 4px; bottom: 4px; width: 6px; margin-left: -3px; border-radius: 3px; background: rgba(150, 160, 172, .35); }
.mo-zbar .fill { position: absolute; left: 50%; bottom: 4px; width: 8px; margin-left: -4px; height: calc((100% - 8px) * var(--z)); border-radius: 4px; background: #3b8ef0; }
.mo-zbar .knob { position: absolute; left: 50%; bottom: calc(4px + (100% - 8px) * var(--z)); width: 20px; height: 9px; margin: 0 0 -4px -10px; border: 1px solid #fff; border-radius: 4px; background: #3b8ef0; box-shadow: 0 1px 3px rgba(0, 0, 0, .3); }
@media (max-width: 1023px) { .mo-zbar .tr { height: 80px; } }
.mo-npin { display: inline-block; padding: 4px 8px; border: 1px solid #b5bcc5; border-radius: 3px; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .15); font-size: 12px; font-weight: 700; line-height: 1.2; color: #222; white-space: nowrap; }
.mo-map .cont { display: none !important; }
.mo-map-soon { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; text-align: center; background: linear-gradient(160deg, #3a4350, #262c35); }
.mo-map-soon i { font: 400 11px/1 Lora, serif; font-style: normal; letter-spacing: .3em; text-transform: uppercase; color: #d9b56c; }
.mo-map-soon b { font-size: 22px; color: #fff; }
.mo-map-soon em { padding: 7px 16px; border: 1px solid rgba(217, 181, 108, .45); border-radius: 999px; font-style: normal; font-size: 14px; font-weight: 700; letter-spacing: .02em; color: #d9b56c; }
.mo-map-soon small { font-size: 13.5px; color: rgba(255, 255, 255, .65); }
@media (min-width: 1024px) { .mo-map-soon b { font-size: 26px; } }
.mo-loc-info { margin: 0; padding: 14px 18px 16px; border: 1px solid var(--mo-line); border-top: 0; border-radius: 0 0 16px 16px; background: var(--card); }
.mo-loc-info div { display: flex; gap: 12px; padding: 5px 0; font-size: 13.5px; line-height: 1.55; }
.mo-loc-info dt { flex: none; width: 40px; color: #7a8a9b; }
.mo-loc-info dd { margin: 0; color: var(--mo-ink); }
.mo-loc-info dd b { font-weight: 700; color: var(--mo-navy); }
.mo-loc-card { display: flex; flex-direction: column; gap: 14px; }
.mo-loc-name { margin: 0; font-size: 13.5px; line-height: 1.55; color: #5b6677; }
.mo-loc-name small { display: block; font: 10.5px/1 Lora, serif; letter-spacing: .26em; text-transform: uppercase; color: #a7803c; }
.mo-loc-pickwrap { position: relative; display: block; width: fit-content; margin: 8px 0 4px; }
.mo-loc-pick { display: inline-flex; align-items: center; gap: 10px; padding: 0; border: 0; background: none; font: inherit; font-size: 19px; font-weight: 700; letter-spacing: -.02em; color: var(--mo-ink); cursor: pointer; }
.mo-loc-pick::after { content: "지점 변경"; display: inline-flex; align-items: center; height: 26px; padding: 0 26px 0 11px; border: 1px solid var(--mo-line); border-radius: 999px; font-size: 12px; font-weight: 600; letter-spacing: 0; color: #5b6677;
    background: #f6f7fa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%235b6677' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center / 9px 6px;
    box-shadow: 0 2px 6px -3px rgba(38, 46, 57, .3); transition: background-color .2s, border-color .2s; }
.mo-loc-pick:hover::after, .mo-loc-pick[aria-expanded="true"]::after { border-color: #cfd7e2; background-color: #eef1f6; }
.mo-loc-pick:hover { color: var(--mo-navy); }
.mo-loc-menu { position: absolute; top: calc(100% + 8px); left: 0; z-index: 5; display: flex; flex-direction: column; gap: 2px; min-width: 168px; padding: 6px; border: 1px solid var(--mo-line); border-radius: 12px; background: #fff; box-shadow: 0 18px 36px -16px rgba(38, 46, 57, .4); }
.mo-loc-menu[hidden] { display: none; }
.mo-loc-menu button { height: 40px; padding: 0 12px; border: 0; border-radius: 8px; background: none; font: inherit; font-size: 14px; font-weight: 600; text-align: left; color: #5b6677; cursor: pointer; }
.mo-loc-menu button:hover { background: #f6f7fa; color: var(--mo-ink); }
.mo-loc-menu button[aria-selected="true"] { background: #eef1f6; color: var(--mo-navy); font-weight: 700; }
@media (min-width: 1024px) {
    .mo-loc-card { flex-direction: row; align-items: center; justify-content: space-between; gap: 24px; }
    .mo-loc-pick { font-size: 22px; }
}
.mo-sec.mo-visit { --card: #fff; background: var(--mo-silk); padding-bottom: 32px; }
.mo-home ~ #footer.mo-foot, body:has(.mo-home) #footer.mo-foot { background: #f4f5f8; }
.mo-lead-body, .mo-lead-done { overflow: auto; padding: 4px 20px 24px; -webkit-overflow-scrolling: touch; }
.mo-lead-done[hidden], .mo-lead-body[hidden] { display: none; }
@media (min-width: 1024px) {
    .mo-hero-sub { font-size: 17px; }
    .mo-sec { padding: 96px 0; }
    .mo-wrap { padding: 0 40px; }
    .mo-h { font-size: 36px; }
    .mo-price .mo-wrap { max-width: 1160px; }
    .mo-pgrp { position: relative; }
    .mo-pcards { margin: 0 calc(50% - 50vw) -22px; padding: 4px calc(50vw - 50%) 48px; scroll-padding-left: calc(50vw - 50%); gap: 20px; }
    .mo-pcards li { width: 300px; max-width: none; }
    .mo-pcards .sx { top: 18px; left: 18px; padding: 6px 14px; font-size: 13px; }
    .mo-pgrp::before, .mo-pgrp::after { content: ""; position: absolute; top: 0; bottom: 26px; z-index: 1; width: 150px; pointer-events: none; transition: opacity .3s; }
    .mo-pgrp::before { left: calc(50% - 50vw); background: linear-gradient(270deg, rgba(244, 245, 248, 0), rgba(244, 245, 248, .7)); opacity: 0; }
    .mo-pgrp::after { right: calc(50% - 50vw); background: linear-gradient(90deg, rgba(244, 245, 248, 0), rgba(244, 245, 248, .7)); }
    .mo-pgrp.is-scrolled::before { opacity: 1; }
    .mo-pgrp.at-end::after { opacity: 0; }
    .mo-ban .mo-kick { font-size: 13px; }
    .mo-ban .mo-h { font-size: 34px; }
    .mo-ban-sub { font-size: 15px; }
    .mo-ban { padding-bottom: 26px; }
    .mo-device .mo-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); column-gap: 56px; align-items: center; }
    .mo-device .mo-wrap > * { grid-column: 1; }
    .mo-device .mo-wrap { grid-template-rows: 0 auto auto 0 auto 1fr; }
    .mo-device .mo-kick { grid-row: 2; }
    .mo-device .mo-h { grid-row: 3; }
    .mo-device .mo-keys { grid-row: 5; }
    .mo-device-img { grid-column: 2 !important; grid-row: 1 / span 6; }
    .mo-device .mo-keys { align-self: start; margin-top: 32px; }
    .mo-device .mo-specs { grid-column: 1 / -1 !important; grid-row: 7; margin-top: 36px; }
    .mo-device:not(.mo-device-light) .mo-keys { grid-row: 5; align-self: start; margin-top: 18px; }
    .mo-specs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin: 12px 0 0; padding: 0; overflow: visible; }
    .mo-specs li { width: auto; }
    .mo-device-img { width: 100%; max-width: 640px; margin: 24px auto 0; }
    .mo-device-vid { position: relative; z-index: 0; width: 96%; max-width: none; margin: 0 0 0 -6%;
        -webkit-mask-image: radial-gradient(closest-side, #000 64%, transparent 100%); -webkit-mask-composite: source-over;
        mask-image: radial-gradient(closest-side, #000 64%, transparent 100%); mask-composite: add;
        --w: 0; -webkit-mask-size: calc(86% + 26% * var(--w)) calc(86% + 18% * var(--w)); mask-size: calc(86% + 26% * var(--w)) calc(86% + 18% * var(--w)); scale: calc(1 + .06 * var(--w)); -webkit-mask-position: 50% 50%; mask-position: 50% 50%; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
    .mo-device .mo-kick, .mo-device .mo-h, .mo-device .mo-keys { position: relative; z-index: 1; }
    .mo-sec.mo-private { padding: 120px 0; }
    .mo-rooms { --c: 540px; --r: .667; --x1: 50%; --x2: 88%; margin-top: 48px; }
    .mo-rooms b { left: 26px; bottom: 50px; font-size: 22px; }
    .mo-rooms small { left: 26px; bottom: 24px; font-size: 14px; }
    .mo-loc-box { display: grid; grid-template-columns: minmax(0, 1fr); border: 1px solid var(--mo-line); border-radius: 16px; overflow: hidden; background: var(--card); }
    .mo-loc { display: contents; }
    .mo-loc .mo-map { grid-column: 1; grid-row: 1; }
    .mo-loc-info { grid-column: 1; grid-row: 2; border: 0; border-radius: 0; }
    .mo-loc .mo-map { height: 440px; }
    .mo-loc-info { padding: 18px 28px 20px; }
    .mo-loc-info div { font-size: 14px; }
    .mo-loc-info dt { width: 48px; }
}
.mo-sec.mo-doc { position: relative; overflow: hidden; padding: 48px 0; background: #dfe4f0 url(/custom/home/doctors/bg_mo.webp) no-repeat center / cover; }
.mo-doc .mo-wrap { position: relative; }
@media (min-width: 1024px) {
    .mo-sec.mo-doc { padding: 40px 0 72px; background-image: url(/custom/home/doctors/bg_pc.webp); }
}
.mo-gap { height: 40px; background: var(--mo-silk); }
@media (min-width: 1024px) { .mo-gap { height: 56px; } }
@media (min-width: 1024px) { .mo-device .mo-device-vid { width: 92%; margin-left: 8%; } }
@media (min-width: 1024px) {
    .mo-loc-box { overflow: visible; padding: 0; border: 0; border-radius: 14px; background: none; }
    .mo-loc .mo-map { border: 1px solid var(--mo-line); border-bottom: 0; border-radius: 14px 14px 0 0; }
    .mo-loc-info { border: 1px solid var(--mo-line); border-top: 0; border-radius: 0 0 14px 14px; }
}
.mo-visit .mo-loc-card { border-color: transparent; background: linear-gradient(115deg, #2f3845 0%, #262e39 45%, #1c222b 100%); }
.mo-visit .mo-loc-card { background: radial-gradient(90% 160% at 100% 0%, rgba(217, 181, 108, .14), rgba(217, 181, 108, 0) 55%),
    radial-gradient(70% 140% at 0% 100%, rgba(150, 170, 200, .10), rgba(150, 170, 200, 0) 60%),
    linear-gradient(115deg, #343e4d 0%, #262e39 48%, #191e26 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), inset 0 -1px 0 rgba(0, 0, 0, .25), 0 18px 36px -18px rgba(20, 26, 34, .55); }
.mo-loc-card .mo-loc-name { color: rgba(255, 255, 255, .72); }
.mo-loc-card .mo-loc-name small { color: #d9b56c; }
.mo-loc-card .mo-loc-pick, .mo-loc-card .mo-loc-pick:hover { color: #fff; }
.mo-loc-card .mo-loc-pick::after { border-color: rgba(255, 255, 255, .28); color: rgba(255, 255, 255, .88); box-shadow: none;
    background: rgba(255, 255, 255, .1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center / 9px 6px; }
.mo-loc-card .mo-loc-pick:hover::after, .mo-loc-card .mo-loc-pick[aria-expanded="true"]::after { border-color: rgba(255, 255, 255, .5); background-color: rgba(255, 255, 255, .2); }
.mo-loc-card .mo-loc-time { display: grid; gap: 4px; padding: 14px 0 0; border-top: 1px solid rgba(255, 255, 255, .14); }
.mo-loc-time p { display: flex; align-items: baseline; gap: 12px; margin: 0; }
.mo-loc-time span { width: 44px; font-size: 12.5px; color: rgba(255, 255, 255, .6); }
.mo-loc-time b { font-size: 16px; font-weight: 700; letter-spacing: -.01em; color: #fff; font-variant-numeric: tabular-nums; }
.mo-loc-time small { margin: 0 0 4px; font-size: 12px; color: #d9b56c; }
.mo-loc-time p { align-items: center; }
.mo-loc-time span { box-sizing: border-box; display: inline-flex; justify-content: center; align-items: center; flex: none; width: 40px; height: 22px; border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px; background: rgba(255, 255, 255, .1); font-size: 11.5px; font-weight: 600; letter-spacing: -.01em; color: rgba(255, 255, 255, .9); }
.mo-loc-time em { margin-left: -4px; font-size: 12px; font-style: normal; color: rgba(255, 255, 255, .6); white-space: nowrap; }
.mo-loc-time b { white-space: nowrap; }
.mo-loc-time em { white-space: normal; line-height: 1.35; }
.mo-loc-time em i { display: inline-block; font-style: normal; }
@media (max-width: 767px) {
    .mo-loc-time p { gap: 8px; }
    .mo-loc-time span { width: 36px; }
    .mo-loc-time b { font-size: 15px; }
    .mo-loc-time em { margin-left: 0; font-size: min(11.5px, 2.95vw); }
}
@media (min-width: 1024px) {
    .mo-loc-card .mo-loc-time { flex: none; padding: 2px 0 2px 28px; border-top: 0; border-left: 1px solid rgba(255, 255, 255, .14); }
    .mo-loc-time b { font-size: 18px; }
}
.mo-loc-addr { display: block; }
@media (max-width: 1023px) { .mo-visit .mo-loc-box { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 1023px) { .mo-loc-addr { font-size: clamp(9px, 2.7vw, 12.5px); letter-spacing: -.05em; white-space: nowrap; } .mo-loc-addr .mo-copy { margin-left: 4px; } }
.mo-loc-addr .mo-copy { margin-left: 6px; vertical-align: middle; }
.mo-copy { position: relative; display: inline-grid; place-items: center; width: 22px; height: 22px; padding: 0; border: 0; border-radius: 6px; background: rgba(255, 255, 255, .12); color: rgba(255, 255, 255, .85); cursor: pointer; transition: background .2s; }
.mo-copy:hover { background: rgba(255, 255, 255, .22); color: #fff; }
.mo-copy svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.mo-copy::after { content: ""; position: absolute; inset: 0; border-radius: inherit; opacity: 0; transition: opacity .2s;
    background: #16b364 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") no-repeat center / 13px; }
.mo-copy::before { content: "복사됨"; position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%); padding: 4px 8px; border-radius: 6px; background: #fff; font-size: 11.5px; font-weight: 700; color: var(--mo-ink); white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .2s; }
.mo-copy.done::after, .mo-copy.done::before { opacity: 1; }
.mo-loc-card .mo-loc-menu { left: auto; right: 0; top: calc(100% + 6px); min-width: 150px; padding: 5px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 12px;
    background: linear-gradient(180deg, #3d4757, #2a323e); box-shadow: 0 18px 36px -14px rgba(0, 0, 0, .65); transform-origin: top right; }
.mo-loc-card .mo-loc-menu:not([hidden]) { animation: mo-drop .18s ease-out; }
@keyframes mo-drop { from { opacity: 0; transform: translateY(-6px) scale(.98); } }
.mo-loc-card .mo-loc-menu button { display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 38px; padding: 0 12px; font-size: 13.5px; color: rgba(255, 255, 255, .72); }
.mo-loc-card .mo-loc-menu button:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.mo-loc-card .mo-loc-menu button[aria-selected="true"] { background: rgba(255, 255, 255, .1); color: #fff; }
.mo-loc-card .mo-loc-menu button[aria-selected="true"]::after { content: ""; width: 12px; height: 7px; margin-top: -3px; border: solid #d9b56c; border-width: 0 0 2px 2px; transform: rotate(-45deg); }
.mo-loc-pick:focus:not(:focus-visible) { outline: none; }
.mo-pcards li[hidden] { display: none !important; }
.mo-pcards .sx { display: none; }
.mo-gx { display: flex; flex-direction: column; align-items: center; gap: 10px; margin: 26px 0 40px; }
.mo-gx-sex { --x: 5px; --tw: 0px; position: relative; display: inline-flex; padding: 5px; border-radius: 999px; background: linear-gradient(180deg, #e9edf2, #f4f6f9);
    box-shadow: inset 0 2px 5px rgba(38, 46, 57, .14), inset 0 -1px 0 rgba(255, 255, 255, .9), 0 1px 0 #fff; }
.mo-gx-sex::before { content: ""; position: absolute; top: 5px; bottom: 5px; left: 0; width: var(--tw); border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px; box-sizing: border-box;
    background: var(--mo-cta); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 6px 14px -6px rgba(20, 26, 34, .55), 0 0 0 1px rgba(38, 46, 57, .35);
    transform: translateX(var(--x)); transition: transform .4s cubic-bezier(.65, 0, .25, 1), width .4s cubic-bezier(.65, 0, .25, 1); }
.mo-gx-sex button { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px; flex: none; max-width: 140px; height: 42px; padding: 0 26px; overflow: hidden; border: 0; border-radius: 999px;
    background: none; font: inherit; font-size: 15px; font-weight: 600; white-space: nowrap; color: #7a8698; cursor: pointer;
    transition: color .35s, max-width .45s cubic-bezier(.65, 0, .25, 1), padding .45s cubic-bezier(.65, 0, .25, 1), opacity .3s; -webkit-tap-highlight-color: transparent; }
.mo-gx-sex button[aria-pressed="true"] { color: #fff; }
.mo-gx button:focus { outline: none; }
.mo-gx button:focus-visible { box-shadow: 0 0 0 3px rgba(74, 85, 104, .3); }
@media (min-width: 1024px) { .mo-gx { margin: 28px 0 50px; } }
.mo-visit .mo-loc-box { position: relative; }
.mo-park { position: absolute; z-index: 3; top: 14px; left: 14px; display: flex; align-items: center; gap: 8px; height: 36px; margin: 0; padding: 0 14px; border-radius: 999px;
    background: var(--mo-cta); box-shadow: var(--mo-cta-shadow), 0 10px 20px -10px rgba(20, 26, 34, .7); color: #fff; font-size: 13px; line-height: 1; white-space: nowrap; pointer-events: none; }
.mo-park b { font-weight: 700; }
.mo-visit .roughmap_lebel_text { font-size: 0 !important; padding: 6px 9px !important; line-height: 0 !important; }
.mo-visit .roughmap_lebel_text::after { content: "모린의원"; display: block; font-size: 12.5px; line-height: 1.2; }
.mo-park span { padding-left: 8px; border-left: 1px solid rgba(255, 255, 255, .3); font-weight: 500; color: rgba(255, 255, 255, .85); }
@media (max-width: 1023px) { .mo-park { top: 10px; left: 10px; gap: 6px; height: 31px; padding: 0 11px; font-size: 11.5px; } .mo-park span { padding-left: 6px; } }
.mo-visit .mo-loc-card .mo-loc-pick::after { display: none; }
.mo-visit .mo-loc-card .mo-loc-pick { pointer-events: none; }
.mo-visit .mo-map div:has(> button[title="확대"]) { transform: translate(-12px, 12px); border-radius: 8px !important; overflow: hidden; }
.mo-sec.mo-device::after { content: none; }
@media (min-width: 1024px) {
    .mo-zoom { --zw: min(100vw - 96px, 1100px, (100vh - 230px) * 16 / 9); --zh: calc(var(--zw) * 9 / 16); }
    .mo-zoom figure { width: var(--zw); }
    .mo-zoom .x { top: calc(50% - var(--zh) / 2 - 56px); right: calc(50% - var(--zw) / 2); }
    .mo-zoom .prev, .mo-zoom .next { top: calc(50% + var(--zh) / 2 + 18px); margin-top: 0; width: 48px; height: 48px; font-size: 24px; }
    .mo-zoom .prev { left: calc(50% - 56px); } .mo-zoom .next { right: calc(50% - 56px); }
}
@media (min-width: 1024px) { .mo-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 200px; background: linear-gradient(180deg, rgba(244, 245, 248, 0), var(--mo-silk)); pointer-events: none; } }
