
    :root {
      font-family: Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", system-ui, sans-serif;
      --ln-ease-out: cubic-bezier(.22, 1, .36, 1);
      --ln-ease-select: cubic-bezier(.22, .72, .24, 1);
      --ln-ink: #171714;
      --ln-muted-ink: rgba(23, 23, 20, .84);
      --ln-shell-fill: rgba(255, 255, 255, .42);
      --ln-shell-edge: rgba(255, 255, 255, .52);
      --ln-shell-edge-low: rgba(29, 27, 23, .14);
      --ln-shell-shadow: rgba(28, 23, 17, .15);
      --ln-lens-fill: rgba(255, 255, 255, .12);
      --ln-lens-edge: rgba(255, 255, 255, .6);
      --ln-label-shadow: rgba(255, 255, 255, .2);
      --ln-dock-bottom: max(12px, env(safe-area-inset-bottom));
      --ln-dock-height: 72px;
    }

    body[data-tone="light"] { --ln-ink: #fff; --ln-muted-ink: rgba(255,255,255,.86); --ln-shell-fill: rgba(7,8,8,.34); --ln-shell-edge: rgba(255,255,255,.3); --ln-shell-edge-low: rgba(0,0,0,.23); --ln-shell-shadow: rgba(0,0,0,.24); --ln-lens-fill: rgba(255,255,255,.075); --ln-lens-edge: rgba(255,255,255,.4); --ln-label-shadow: rgba(0,0,0,.28); }
    .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; }

    .site-chrome { position:fixed; z-index:80; inset:0 0 auto; height:100px; pointer-events:none; }
    .brand-lockup { position:absolute; top:27px; left:clamp(28px,3.4vw,54px); width:218px; height:30px; display:grid; align-items:center; padding:0; border:0; background:transparent; cursor:pointer; pointer-events:auto; -webkit-tap-highlight-color:transparent; transition:opacity .24s ease,transform .3s var(--ln-ease-out); }
    body.nav-compact .brand-lockup{opacity:0;transform:translateY(-8px);pointer-events:none}
    body.page-modal .site-chrome,body.page-modal .mg-liquid-dock,body.page-modal .mobile-actions{opacity:0;pointer-events:none}
    .brand-lockup img { grid-area:1/1; display:block; width:100%; height:auto; filter:drop-shadow(0 1px 2px var(--ln-label-shadow)); transition:opacity .3s ease; }
    .brand-lockup .logo-white, body[data-tone="light"] .brand-lockup .logo-dark { opacity:0; }
    body[data-tone="light"] .brand-lockup .logo-white { opacity:1; }

    .liquid-nav,.mg-liquid-dock { --ln-active-index:0; --ln-nav-pad:5px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); padding:var(--ln-nav-pad); border:1px solid var(--ln-shell-edge); border-bottom-color:var(--ln-shell-edge-low); color:var(--ln-ink); background:linear-gradient(180deg,rgba(255,255,255,.055),transparent 48%),var(--ln-shell-fill); box-shadow:0 13px 32px var(--ln-shell-shadow),inset 0 1px 0 rgba(255,255,255,.24); -webkit-backdrop-filter:blur(5px) saturate(145%); backdrop-filter:blur(5px) saturate(145%); isolation:isolate; }
    .liquid-nav { position:absolute; top:18px; left:50%; width:400px; height:56px; border-radius:999px; transform:translateX(-50%); pointer-events:auto; transition:width .38s var(--ln-ease-out),height .38s var(--ln-ease-out),background-color .3s ease,border-color .3s ease,box-shadow .3s ease; }
    .desktop-nav { -webkit-backdrop-filter:blur(12px) saturate(140%); backdrop-filter:blur(12px) saturate(140%); }
    .liquid-nav::before,.mg-liquid-dock::before { content:""; position:absolute; z-index:0; inset:1px 16% auto; height:1px; border-radius:99px; background:rgba(255,255,255,.4); opacity:.55; pointer-events:none; }
    .selection-lens { position:absolute; z-index:0; top:var(--ln-nav-pad); left:var(--ln-nav-pad); width:calc((100% - (var(--ln-nav-pad) * 2))/5); height:calc(100% - (var(--ln-nav-pad) * 2)); border:1px solid var(--ln-lens-edge); border-bottom-color:rgba(0,0,0,.12); border-radius:999px; background:var(--ln-lens-fill); box-shadow:0 4px 11px rgba(0,0,0,.09),inset 0 1px 0 rgba(255,255,255,.22); -webkit-backdrop-filter:blur(1px) saturate(150%) brightness(1.025); backdrop-filter:blur(1px) saturate(150%) brightness(1.025); transform:translate3d(calc(var(--ln-active-index) * 100%),0,0); pointer-events:none; transition:transform .34s var(--ln-ease-select),background-color .3s ease,border-color .3s ease; }
    .selection-lens::before { display:none; }
    .nav-button { position:relative; z-index:1; min-width:0; min-height:0; height:100%; border:0; border-radius:999px; color:var(--ln-muted-ink); background:transparent; cursor:pointer; font-size:13px; font-weight:670; line-height:1; letter-spacing:-.026em; text-shadow:0 1px 6px var(--ln-label-shadow); transition:color .22s ease,transform .1s ease,gap .28s var(--ln-ease-out); touch-action:manipulation; -webkit-tap-highlight-color:transparent; overflow:hidden; }
    .nav-button:hover,.nav-button[data-selected="true"] { color:var(--ln-ink); }
    .nav-button:active { transform:scale(.975); }
    .nav-button:focus-visible { outline:2px solid #d1111e; outline-offset:-3px; }
    .desktop-nav .nav-button { display:inline-flex; align-items:center; justify-content:center; gap:7px; }
    .nav-button svg { width:16px; height:16px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; opacity:.84; transition:width .3s var(--ln-ease-out),height .3s var(--ln-ease-out),opacity .2s ease,margin .3s var(--ln-ease-out); }
    body.nav-compact .liquid-nav { width:300px; height:48px; }
    body.nav-compact .desktop-nav .nav-button { gap:0; font-size:12.5px; }
    body.nav-compact .desktop-nav svg { width:0; height:0; margin:0; opacity:0; }

    .mg-liquid-dock,.mobile-actions { display:none; }
    .demo-toast { position:fixed; z-index:100; left:50%; bottom:110px; max-width:calc(100vw - 36px); padding:11px 15px; border:1px solid rgba(255,255,255,.22); border-radius:999px; color:#fff; background:rgba(6,7,8,.56); box-shadow:0 12px 30px rgba(0,0,0,.24); -webkit-backdrop-filter:blur(9px) saturate(140%); backdrop-filter:blur(9px) saturate(140%); font-size:12px; font-weight:650; white-space:nowrap; transform:translate(-50%,10px); opacity:0; pointer-events:none; transition:opacity .25s ease,transform .28s var(--ln-ease-out); }
    .demo-toast.is-visible { opacity:1; transform:translate(-50%,0); }

    @media(min-width:1025px) and (max-width:1180px){
      .brand-lockup{left:28px;width:190px}
      .liquid-nav{width:390px}
      body.nav-compact .liquid-nav{width:300px}
    }

    @media(max-width:1024px){
      body{--ln-dock-height:64px}
      .site-chrome{height:72px}.brand-lockup{top:max(19px,env(safe-area-inset-top));left:20px;width:min(52vw,210px);height:28px}.desktop-nav{display:none}
      .mg-liquid-dock{--ln-nav-pad:5px;position:fixed;z-index:90;left:50%;bottom:var(--ln-dock-bottom);width:min(calc(100vw - 32px),332px);height:var(--ln-dock-height);display:grid;border-radius:999px;color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 52%),rgba(5,6,7,.58);box-shadow:0 12px 28px rgba(0,0,0,.27),inset 0 1px 0 rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px) saturate(140%);backdrop-filter:blur(8px) saturate(140%);transform:translateX(-50%);transition:width .38s var(--ln-ease-out),height .38s var(--ln-ease-out),transform .3s var(--ln-ease-out),opacity .25s ease}
      .mg-liquid-dock .selection-lens{border-color:rgba(255,255,255,.31);border-bottom-color:rgba(0,0,0,.22);background:linear-gradient(180deg,rgba(255,255,255,.105),transparent 56%),rgba(255,255,255,.08);box-shadow:0 5px 15px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.24)}
      .mg-liquid-dock .nav-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:rgba(255,255,255,.64);font-size:11.5px;font-weight:680;text-shadow:0 1px 5px rgba(0,0,0,.68)}
      .mg-liquid-dock .nav-button:hover,.mg-liquid-dock .nav-button[data-selected="true"]{color:#fff}.mg-liquid-dock svg{width:19px;height:19px}
      body.nav-compact{--ln-dock-height:56px}body.nav-compact .mg-liquid-dock{width:min(calc(100vw - 40px),292px);border-radius:28px}body.nav-compact .mg-liquid-dock .nav-button{gap:0;font-size:12px}body.nav-compact .mg-liquid-dock svg{width:0;height:0;margin:0;opacity:0}
      .mobile-actions{position:fixed;z-index:86;right:16px;bottom:calc(var(--ln-dock-bottom) + var(--ln-dock-height) + 12px);display:flex;flex-direction:column;align-items:flex-end;gap:9px;transition:bottom .46s var(--ln-ease-out),opacity .24s ease,transform .28s var(--ln-ease-out)}
      .floating-button{min-width:44px;height:44px;display:inline-grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.23);border-radius:22px;color:#fff;background:rgba(6,7,8,.62);box-shadow:0 9px 22px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.13);-webkit-backdrop-filter:blur(9px) saturate(140%);backdrop-filter:blur(9px) saturate(140%);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:width .3s var(--ln-ease-out),padding .3s var(--ln-ease-out),opacity .25s ease,transform .18s ease}
      .floating-button.consult{width:auto;padding:0 15px;gap:7px;display:inline-flex;font-size:12px;font-weight:700}.floating-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.floating-button.top{opacity:0;transform:translateY(7px) scale(.88);pointer-events:none}body.show-top:not(.brand-story-active) .floating-button.top{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}body[data-page="brand"] .floating-button.consult,body[data-page="booking"] .floating-button.consult{display:none}
      body.keyboard-mode .mg-liquid-dock{opacity:0;transform:translate(-50%,calc(100% + 28px));pointer-events:none}body.keyboard-mode .mobile-actions{opacity:0;transform:translateY(18px);pointer-events:none}.demo-toast{bottom:calc(var(--ln-dock-bottom) + var(--ln-dock-height) + 14px)}
      body.nav-compact .floating-button.consult{width:44px;padding:0;justify-content:center}body.nav-compact .floating-button.consult span{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}
      .mg-liquid-dock .nav-button{color:rgba(255,255,255,.84)}
    }
    @supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.liquid-nav{background:rgba(245,245,242,.86)}body[data-tone="light"] .liquid-nav{background:rgba(20,20,19,.82)}.mg-liquid-dock,.floating-button,.demo-toast{background:rgba(7,8,9,.86)}}
    /* Smoked glass carries the labels; only the selected lens carries volume.
       The same material is used over light/dark content and at both breakpoints. */
    .liquid-nav,.mg-liquid-dock {
      --ln-glass-ink:#fff;--ln-glass-muted:#f2f4f2;--ln-glass-tint:rgba(18,25,24,.64);
      --ln-glass-label-shadow:rgba(0,0,0,.55);--ln-glass-frost:10px;
      border-color:rgba(255,255,255,.32);border-bottom-color:rgba(255,255,255,.12);
      color:var(--ln-glass-ink);background:transparent;
      box-shadow:0 8px 22px rgba(8,16,14,.2),0 2px 5px rgba(8,16,14,.1);
      -webkit-backdrop-filter:blur(var(--ln-glass-frost)) saturate(115%);backdrop-filter:blur(var(--ln-glass-frost)) saturate(115%);
    }
    .mg-primary-nav[data-surface="dark"] {--ln-glass-ink:#fff;--ln-glass-muted:#f2f4f2;--ln-glass-tint:rgba(18,25,24,.64);--ln-glass-label-shadow:rgba(0,0,0,.55)}
    .liquid-nav::before,.mg-liquid-dock::before {
      content:"";inset:0;z-index:0;border-radius:inherit;height:auto;opacity:1;
      background:linear-gradient(180deg,rgba(255,255,255,.07),transparent 34%,transparent 75%,rgba(0,0,0,.045)),linear-gradient(180deg,rgba(18,25,24,.38),var(--ln-glass-tint) 22%,var(--ln-glass-tint) 82%,rgba(18,25,24,.42));
      -webkit-backdrop-filter:none;backdrop-filter:none;
    }
    .liquid-nav::after,.mg-liquid-dock::after {content:none}
    .liquid-nav .selection-lens,.mg-liquid-dock .selection-lens {
      z-index:1;overflow:hidden;border:1px solid rgba(255,255,255,.42);
      border-top-color:rgba(255,255,255,.72);border-right-color:rgba(255,255,255,.24);border-bottom-color:rgba(255,255,255,.2);
      background:radial-gradient(ellipse 90% 60% at 50% -12%,rgba(255,255,255,.42),transparent 85%),linear-gradient(175deg,rgba(255,255,255,.12),rgba(255,255,255,.035) 48%,rgba(13,24,20,.12) 75%,rgba(255,255,255,.14));
      box-shadow:0 3px 7px rgba(0,0,0,.25),inset 3px 0 7px -5px rgba(255,255,255,.7),inset -3px 0 7px -5px rgba(255,255,255,.48),inset 0 -4px 7px -5px rgba(255,255,255,.48);
      -webkit-backdrop-filter:blur(1.5px) saturate(115%) brightness(1.04);
      backdrop-filter:blur(1.5px) saturate(115%) brightness(1.04);
    }
    .selection-lens::before{content:"";display:block;position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse 35% 85% at 0% 20%,rgba(255,255,255,.17),transparent 85%),radial-gradient(ellipse 25% 70% at 100% 90%,rgba(255,255,255,.12),transparent 85%);pointer-events:none}
    .selection-lens::after{content:none}
    .liquid-nav .nav-button,.mg-liquid-dock .nav-button{z-index:4;color:var(--ln-glass-muted);text-shadow:0 1px 2px var(--ln-glass-label-shadow)}
    .liquid-nav .nav-button[data-selected="true"],.mg-liquid-dock .nav-button[data-selected="true"]{color:var(--ln-glass-ink);font-weight:750}
    .nav-button svg{opacity:1}
    .demo-toast{visibility:hidden}.demo-toast.is-visible{visibility:visible}
    @supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.liquid-nav::before,.mg-liquid-dock::before{background:rgba(24,32,29,.94)}}
    @media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

html.mg-frame-inactive .light-art i{animation-play-state:paused!important}.brand-site-footer{font-family:Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif!important}@media(max-width:1024px){.film-bottom{display:none!important}.film-copy{bottom:calc(104px + env(safe-area-inset-bottom))!important}}@media(max-width:700px) and (max-height:650px){.film-copy h1,.film-copy h2{font-size:25px!important;margin-bottom:12px!important}.film-copy .eyebrow{margin-bottom:10px!important}.film-copy .free-promise{margin-top:12px!important}}#main-header,.site-header,#rmp_menu_trigger-1926,#rmp-container-1926,#mg-mobile-menu-backdrop,.floating-menu,.et_pb_scroll_top,[data-mg-scroll]{display:none!important}html{scroll-padding-bottom:128px!important}html.mg-scroll-root{overflow-y:auto!important}body{padding-top:0!important}[id]{scroll-margin-bottom:128px}html.mg-frame-inactive .glass-epilogue *{animation-play-state:paused!important}.brand-site-footer__inner{position:relative}.glass-epilogue .brand-thought{transition:opacity .18s ease!important}html.mg-hide-epilogue-eyebrow .glass-epilogue .brand-thought{opacity:0!important}@media(max-width:1024px){.scene-index{right:22px!important;bottom:94px!important}.scroll-hint{display:none!important}.user-concept .scene-copy,.user-concept .scene--ln-copy-right .scene-copy{bottom:104px!important}.glass-epilogue .motion-toggle{right:22px!important;bottom:104px!important}.glass-epilogue .brand-signature{bottom:105px!important}.brand-site-footer__inner{padding-top:132px!important;padding-bottom:58px!important}#main-footer{padding-top:112px!important}input,textarea,select,[contenteditable="true"]{scroll-margin-bottom:148px!important}}@media(max-width:520px) and (max-height:700px){.user-concept .scene-copy,.user-concept .scene--ln-copy-right .scene-copy{bottom:90px!important}.glass-epilogue .motion-toggle{bottom:92px!important}.glass-epilogue .brand-signature{bottom:94px!important}}
.brand-site-footer {
  position: relative;
  z-index: 5;
  color: rgba(255, 250, 241, 0.7);
  background: #171512;
}

.brand-site-footer__inner {
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(320px, 1.45fr) minmax(220px, 0.75fr);
  gap: clamp(36px, 6vw, 96px);
  width: min(1380px, calc(100% - 80px));
  margin: 0 auto;
  padding: 68px 0 72px;
}

.brand-site-footer p {
  margin: 0;
}

.brand-site-footer__identity img {
  display: block;
  width: min(260px, 100%);
  height: auto;
  margin-bottom: 26px;
}

.brand-site-footer .policy a {
  color: rgba(255, 250, 241, 0.78);
  font-size: 13px;
  text-decoration: underline;
  text-decoration-color: rgba(255, 250, 241, 0.34);
  text-underline-offset: 5px;
}

.brand-site-footer__company,
.brand-site-footer__contact {
  font-size: 13px;
  line-height: 1.85;
}

.brand-site-footer__company p:last-child {
  margin-top: 18px;
  color: rgba(255, 250, 241, 0.38);
  font-size: 11px;
  letter-spacing: 0.02em;
}

.brand-site-footer__contact span {
  display: block;
  margin-bottom: 8px;
  color: rgba(255, 250, 241, 0.5);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.brand-site-footer__contact a {
  display: inline-block;
  margin-bottom: 7px;
  color: #fffaf1;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.035em;
}


.brand-site-footer{display:block;padding:0;border:0;text-align:left;font-weight:400;letter-spacing:normal;line-height:1.85}.brand-site-footer *{box-sizing:border-box}.brand-site-footer p{color:inherit;padding:0;font-size:inherit;line-height:inherit}.brand-site-footer__identity img{max-height:none;object-fit:contain}.brand-site-footer a{text-decoration:none}.brand-site-footer a:focus-visible{outline:2px solid #d27a59;outline-offset:4px}@media(max-width:1100px){.brand-site-footer__inner{grid-template-columns:1fr 1.4fr;width:calc(100% - 44px);gap:34px;padding:54px 0 58px}.brand-site-footer__contact{grid-column:1/-1}}@media(max-width:600px){.brand-site-footer__inner{grid-template-columns:1fr;gap:28px;padding:46px 0 52px}.brand-site-footer__contact{grid-column:auto}}

/* Native route shell: preserve document scrolling and native links. */
:root body{padding-top:0!important}
.site-chrome,.mg-liquid-dock,.mobile-actions{font-family:Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif;line-height:1;letter-spacing:normal}
.site-chrome *,.mg-liquid-dock *,.mobile-actions *{box-sizing:border-box}
a.nav-button,a.brand-lockup,a.floating-button{text-decoration:none!important}
.nav-button{padding:0;outline-offset:-3px}
.brand-lockup img{max-height:none}
body[data-page="other"] .selection-lens{opacity:0}
body[data-page="other"] main.page{padding-top:112px}
@media(max-width:1024px){body[data-page="other"] main.page{padding-top:96px}}
/* The content cover sits below the controls. The browser bridges only the
   already-black document swap; page fading itself uses the real DOM. */
.site-chrome,.mg-liquid-dock,.mobile-actions{z-index:1100}
.mg-primary-nav{overflow:hidden}
.site-chrome{view-transition-name:mg-chrome}
.mg-liquid-dock{view-transition-name:mg-dock}
html[data-ln-transition] .brand-lockup{opacity:1!important;transform:none!important;pointer-events:auto!important}
html[data-ln-transition] .brand-lockup .logo-dark{opacity:0}
html[data-ln-transition] .brand-lockup .logo-white{opacity:1}
html[data-ln-transition] .mobile-menu-toggle{color:#fff}
html[data-ln-transition] .mg-primary-nav{--ln-glass-ink:#fff;--ln-glass-muted:#f2f4f2;--ln-glass-tint:rgba(18,25,24,.64);--ln-glass-label-shadow:rgba(0,0,0,.55)}
html[data-ln-transition] .liquid-nav{width:400px;height:56px}
@media(min-width:1025px) and (max-width:1180px){html[data-ln-transition] .liquid-nav{width:390px}}
html[data-ln-transition] .mg-liquid-dock{top:auto;bottom:var(--ln-dock-bottom);transform:translateX(-50%)}

/* Restore the shared contact launcher and TOP on desktop and mobile. */
.mobile-actions{position:fixed;z-index:86;right:24px;bottom:24px;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.mobile-actions .floating-button{width:44px;min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:24px;color:#fff;background:rgba(24,29,30,.92);box-shadow:0 4px 16px rgba(0,0,0,.16);font:650 13px/1 Pretendard,sans-serif;cursor:pointer;text-decoration:none}
.mobile-actions .floating-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.mobile-actions .floating-button.consult{width:148px;padding:0 14px;gap:10px;justify-content:flex-start}
.mobile-actions .floating-button.top{opacity:0;pointer-events:none;transform:translateY(5px);transition:opacity .2s ease,transform .2s ease}
body.show-top .mobile-actions .floating-button.top{opacity:1;pointer-events:auto;transform:none}
.contact-options{position:absolute;right:0;bottom:108px;display:grid;gap:8px;width:148px}
.contact-options[hidden]{display:none}
.contact-channel{display:flex;align-items:center;justify-content:flex-start;gap:10px;height:44px;min-height:44px;padding:0 14px;border-radius:24px;font:700 13px/1 Pretendard,sans-serif;text-decoration:none!important;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.contact-channel img{width:22px;height:22px;max-height:none}
.contact-channel.naver{color:#fff!important;background:#04a84b}.contact-channel.kakao{color:#261e10!important;background:#ffe812}
.mobile-actions button:focus-visible,.contact-channel:focus-visible{outline:2px solid #d27a59;outline-offset:3px}
@media(max-width:1024px){
  .mobile-actions{right:16px;bottom:calc(var(--ln-dock-bottom) + var(--ln-dock-height) + 12px)}
  .mobile-actions .floating-button.consult{width:44px;padding:0;gap:0;display:flex;justify-content:center}
  .contact-options{width:44px}
  .contact-channel{width:44px;height:44px;padding:0;gap:0;justify-content:center;border-radius:50%}
  .contact-channel span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .mobile-actions .floating-button.consult span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  body[data-page="brand"] .mobile-actions .floating-button.consult,body[data-page="booking"] .mobile-actions .floating-button.consult{display:flex}

}

@media(max-width:360px){.user-concept .primary-cta{min-width:0;max-width:calc(100% - 54px);padding-inline:14px;font-size:12px}}

/* Mobile top row reserves equal left/right slots; login is intentionally absent. */
.mobile-menu-toggle{display:none}
.mobile-menu-dialog{box-sizing:border-box;border:1px solid rgba(255,255,255,.18);border-radius:24px;background:linear-gradient(145deg,rgba(72,76,73,.3),transparent 45%),rgba(22,28,27,.96);color:#f4f3ee;margin:12px;padding:24px;width:min(400px,calc(100vw - 24px));height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);max-width:calc(100vw - 24px);font-family:Pretendard,sans-serif;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#58665d transparent;box-shadow:0 24px 80px rgba(0,0,0,.35);overflow-y:auto}
.mobile-menu-dialog::backdrop{background:rgba(0,0,0,.48);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.mobile-menu-dialog[open]{display:flex;flex-direction:column;animation:ln-menu-open .24s ease-out both}
.mobile-menu-heading{display:flex;flex:none;align-items:center;justify-content:space-between;gap:16px}
.mobile-menu-brand{display:flex;align-items:center;min-height:44px;max-width:calc(100% - 60px)}
.mobile-menu-brand img{display:block;width:178px;max-width:100%;height:auto}
.mobile-menu-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(255,255,255,.035);color:#fff;cursor:pointer}
.mobile-menu-close svg,.mobile-menu-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.mobile-menu-caption{margin:20px 0 24px!important;padding:0!important;color:#a6ada8;font-size:10px;letter-spacing:.22em;line-height:1.4}
.mobile-menu-dialog nav{display:grid;flex:none;border-top:1px solid rgba(255,255,255,.13)}
.mobile-menu-dialog a.mobile-menu-link{display:grid;grid-template-columns:24px 1fr 24px;gap:12px;align-items:center;min-height:72px;padding:12px 2px;border-bottom:1px solid rgba(255,255,255,.1);color:#efefea;font-size:24px;font-weight:550;line-height:1.2;text-decoration:none}
.mobile-menu-link .menu-number{font-size:10px;font-weight:400;color:#8b9690;align-self:start;margin-top:5px}
.mobile-menu-link small{display:block;margin-top:5px;color:#9ba6a0;font-size:9px;font-weight:450;letter-spacing:.14em}
.mobile-menu-link .menu-arrow{font-size:20px;font-weight:400;color:#7a8981;opacity:0}
.mobile-menu-dialog a.mobile-menu-link[aria-current="page"]{color:#e5c9a3}
.mobile-menu-link[aria-current="page"] .menu-arrow{opacity:1;color:#e5c9a3}
.mobile-menu-link:hover{background:rgba(255,255,255,.035)}
.mobile-menu-contact{margin-top:auto;padding-top:32px;display:grid;gap:10px}
.mobile-menu-contact>span{color:#aab3ad;font-size:12px;line-height:1.6}
.mobile-menu-contact>a:not(.mobile-menu-phone){display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:12px 14px;border:1px solid rgba(226,204,173,.4);border-radius:12px;color:#e5c9a3;font-size:13px;text-decoration:none}
.mobile-menu-contact .mobile-menu-phone{min-height:44px;display:flex;align-items:center;justify-content:space-between;color:#f0f0e9;font-size:20px;text-decoration:none;letter-spacing:.02em}
.mobile-menu-phone small{color:#9ba6a0;font-size:10px;letter-spacing:0}
.mobile-menu-dialog :focus-visible,.mobile-menu-toggle:focus-visible{outline:2px solid #e5c9a3;outline-offset:3px}
@media(max-height:700px){.mobile-menu-dialog{padding:16px 20px}.mobile-menu-caption{margin:10px 0 16px!important}.mobile-menu-dialog a.mobile-menu-link{min-height:60px;padding:9px 2px;font-size:22px}.mobile-menu-contact{padding-top:20px}}
body.mobile-menu-open{overflow:hidden!important}
@keyframes ln-menu-open{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:none}}
@media(max-width:1024px){
  .site-chrome .brand-lockup{width:168px;height:24px;top:24px;left:calc(50% - 84px)}
  .mobile-menu-toggle{position:absolute;left:14px;top:14px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--ln-ink);pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}
}
@media(prefers-reduced-motion:reduce){.mobile-menu-dialog[open]{animation:none}}

/* Reading space is based on the expanded dock, never its animated height.
   The stage overflow accounts for mobile browser chrome and minimum heights. */
@media(max-width:1024px){
  body{--ln-reading-clearance:calc(64px + var(--ln-dock-bottom) + 28px)}
  .user-concept .scene-copy,.user-concept .scene--copy-right .scene-copy,
  .film-copy{bottom:calc(var(--ln-reading-clearance) + var(--ln-stage-overflow,0px))!important}
  .scene-index{left:22px!important;right:auto!important;bottom:calc(64px + var(--ln-dock-bottom) + 12px + var(--ln-stage-overflow,0px))!important}
  .glass-epilogue .motion-toggle,.glass-epilogue .brand-signature{bottom:var(--ln-reading-clearance)!important}
  html{scroll-padding-bottom:calc(var(--ln-dock-bottom) + 104px)!important}
  input,textarea,select,[contenteditable="true"]{scroll-margin-bottom:calc(var(--ln-dock-bottom) + 124px)!important}
}

@media(max-height:600px){.mobile-menu-dialog a.mobile-menu-link{min-height:56px;padding:7px 2px;font-size:20px}.mobile-menu-contact{padding-top:12px;gap:6px}.mobile-menu-caption{margin:8px 0 12px!important}}

/* Adaptive header: a single mobile bar; the desktop capsule remains available. */
:root{--ln-header-height:86px}
html{scrollbar-gutter:stable;scroll-padding-top:calc(var(--ln-header-height) + 16px)!important}
.site-chrome{height:var(--ln-header-height);--header-ink:#202724;--header-solid:#fff;--header-glass:rgba(248,249,246,.72);--header-line:rgba(22,32,27,.08)}
body[data-page="brand"] .site-chrome:not([data-theme]),body[data-page="booking"] .site-chrome:not([data-theme]),.site-chrome[data-theme="dark"]{--header-ink:#f5f5f0;--header-solid:#191f1d;--header-glass:rgba(20,28,25,.56);--header-line:rgba(255,255,255,.1)}
.site-chrome[data-theme="light"]{--header-ink:#202724;--header-solid:#fff;--header-glass:rgba(248,249,246,.72);--header-line:rgba(22,32,27,.08)}
.site-chrome::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--header-solid);border-bottom:1px solid var(--header-line);box-shadow:0 3px 16px rgba(0,0,0,.045);opacity:0;transition:opacity .22s ease,background-color .18s ease}
.site-chrome[data-surface="solid"]{pointer-events:auto}
.site-chrome[data-surface="solid"]::before{opacity:1}
body.nav-compact .site-chrome{pointer-events:none}
body.nav-compact .site-chrome::before{opacity:0}
.site-chrome .brand-lockup img{filter:none}
.site-chrome .logo-dark{opacity:1}
.site-chrome .logo-white{opacity:0}
body[data-page="brand"] .site-chrome:not([data-theme="light"]) .logo-dark,body[data-page="booking"] .site-chrome:not([data-theme="light"]) .logo-dark,.site-chrome[data-theme="dark"] .logo-dark{opacity:0}
body[data-page="brand"] .site-chrome:not([data-theme="light"]) .logo-white,body[data-page="booking"] .site-chrome:not([data-theme="light"]) .logo-white,.site-chrome[data-theme="dark"] .logo-white{opacity:1}
.site-chrome .mobile-menu-toggle{color:var(--header-ink)}
.header-account-slot{position:absolute;right:28px;top:20px;width:44px;height:44px;pointer-events:none}
html[data-ln-transition] .site-chrome{opacity:1;transform:none;--header-solid:#191f1d;--header-glass:rgba(20,28,25,.56)}
html[data-ln-transition] .site-chrome .logo-dark{opacity:0}
html[data-ln-transition] .site-chrome .logo-white{opacity:1}
html[data-ln-transition] .site-chrome .mobile-menu-toggle{color:#fff}
@media(max-width:1024px){
  :root{--ln-header-height:calc(56px + env(safe-area-inset-top))}
  .site-chrome{pointer-events:auto;transition:transform .22s cubic-bezier(.2,.7,.2,1),opacity .18s ease;transform:translateY(0);opacity:1}
  .site-chrome::before,body.nav-compact .site-chrome::before{opacity:1}
  .site-chrome:not([data-surface="solid"])::before{opacity:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;box-shadow:none}
  .site-chrome .mobile-menu-toggle{top:calc(6px + env(safe-area-inset-top));left:10px}
  .site-chrome .mobile-menu-toggle svg{width:20px;height:20px}
  .site-chrome .brand-lockup{width:150px;left:calc(50% - 75px);height:44px;top:calc(6px + env(safe-area-inset-top))}
  .site-chrome .brand-lockup img{max-height:22px;object-fit:contain}
  .header-account-slot{top:calc(6px + env(safe-area-inset-top));right:10px}
  body.nav-compact .site-chrome,body.keyboard-mode .site-chrome{transform:translateY(calc(-100% - 2px));opacity:0;pointer-events:none}
  body.nav-compact .site-chrome .brand-lockup{opacity:1;transform:none;pointer-events:auto}
  body.page-modal .site-chrome{opacity:0;pointer-events:none}
  html[data-ln-transition] .site-chrome{transform:none;opacity:1}
  .brand-site-footer__inner{padding-top:54px!important;padding-right:60px!important;padding-bottom:calc(64px + var(--ln-dock-bottom) + 28px)!important}
}
@media(prefers-reduced-motion:reduce){.site-chrome,.site-chrome::before{transition:none}}

/* Keep the permanent desktop floating controls clear of footer details. */
@media(min-width:1025px){.brand-site-footer__inner{padding-bottom:140px}}
