/* Start custom CSS */@media (max-width: 767px) {
  .s-hero-copy,
  .s-approach-inner,
  .s-services-grid,
  .s-work-disclosure,
  .s-project-jwm-caption,
  .s-project-nexpace-caption,
  .s-process-list,
  .s-contact-inner {
    word-break: keep-all;
    overflow-wrap: normal;
  }
}

/* Studio Namu Living Frame: 5-second featured-scene rotation */
.page-id-15 .s-hero-film,
.page-id-15 .s-hero-drone,
.page-id-15 .s-hero-dining {
  animation: sn-living-frame-cycle 15s ease-in-out infinite both;
  backface-visibility: hidden;
  will-change: transform, opacity;
}

.page-id-15 .s-hero-film {
  animation-delay: 0s;
}

.page-id-15 .s-hero-drone {
  animation-delay: -5s;
}

.page-id-15 .s-hero-dining {
  animation-delay: -10s;
}

.page-id-15 .s-living-frame:hover .s-hero-film,
.page-id-15 .s-living-frame:hover .s-hero-drone,
.page-id-15 .s-living-frame:hover .s-hero-dining,
.page-id-15 .s-living-frame:focus-within .s-hero-film,
.page-id-15 .s-living-frame:focus-within .s-hero-drone,
.page-id-15 .s-living-frame:focus-within .s-hero-dining {
  animation-play-state: paused;
}

@keyframes sn-living-frame-cycle {
  0%,
  28% {
    transform: translate3d(-51%, 0, 0) scale(0.78);
    opacity: 0.78;
    z-index: 2;
  }

  33.333%,
  61.333% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 1;
    z-index: 4;
  }

  66.667%,
  94.667% {
    transform: translate3d(51%, 0, 0) scale(0.78);
    opacity: 0.78;
    z-index: 2;
  }

  100% {
    transform: translate3d(-51%, 0, 0) scale(0.78);
    opacity: 0.78;
    z-index: 2;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-id-15 .s-hero-film,
  .page-id-15 .s-hero-drone,
  .page-id-15 .s-hero-dining {
    animation: none !important;
    transition-duration: 0.01ms !important;
    will-change: auto;
  }

  .page-id-15 .s-hero-film {
    transform: translate3d(-51%, 0, 0) scale(0.78);
    opacity: 0.78;
    z-index: 2;
  }

  .page-id-15 .s-hero-drone {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 1;
    z-index: 4;
  }

  .page-id-15 .s-hero-dining {
    transform: translate3d(51%, 0, 0) scale(0.78);
    opacity: 0.78;
    z-index: 2;
  }
}

/* Studio Namu responsive copy and floating actions */
@media (max-width: 767px) {
  .page-id-15 .e-heading-base,
  .page-id-15 .e-paragraph-base,
  .page-id-15 .e-button-base {
    word-break: keep-all;
    overflow-wrap: normal;
  }

  .page-id-15 .s-approach-copy-mobile,
  .page-id-15 .s-service-01-body-mobile,
  .page-id-15 .s-service-02-body-mobile,
  .page-id-15 .s-service-03-body-mobile,
  .page-id-15 .s-process-note-mobile,
  .page-id-15 .s-process-04-copy-mobile,
  .page-id-15 .s-contact-note-mobile {
    white-space: pre-line;
  }

  .page-id-15 .s-site-footer {
    padding-bottom: 138px;
  }
}

@media (min-width: 768px) {
  .page-id-15 .s-site-footer {
    padding-bottom: 96px;
  }
}

.page-id-15 .s-floating-top:focus-visible,
.page-id-15 .s-floating-kakao:focus-visible,
.page-id-15 .s-footer-privacy-link:focus-visible {
  outline: 2px solid #FF3511;
  outline-offset: 3px;
}

/* Studio Namu compact floating controls and desktop Korean wraps */
.page-id-15 .s-service-01-body,
.page-id-15 .s-service-02-body,
.page-id-15 .s-service-03-body,
.page-id-15 .s-project-nexpace-body {
  word-break: keep-all;
  overflow-wrap: normal;
}

.page-id-15 .s-floating-top,
.page-id-15 .s-floating-kakao {
  min-width: 0;
  min-height: 0;
  box-shadow: none;
}

.page-id-15 .s-floating-kakao::before {
  content: "";
  position: absolute;
  width: 19px;
  height: 14px;
  left: 9px;
  top: 9px;
  border-radius: 50%;
  background: #191919;
}

.page-id-15 .s-floating-kakao::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  left: 10px;
  top: 20px;
  border-top: 5px solid #191919;
  border-right: 4px solid transparent;
  transform: rotate(-12deg);
  transform-origin: top left;
}

.page-id-15 .s-footer-privacy-link {
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  .page-id-15 .s-floating-kakao::before {
    width: 18px;
    height: 13px;
    left: 8px;
    top: 8px;
  }

  .page-id-15 .s-floating-kakao::after {
    left: 9px;
    top: 18px;
  }
}

/* Studio Namu balanced desktop paragraph endings */
.page-id-15 .s-service-01-body,
.page-id-15 .s-service-02-body,
.page-id-15 .s-service-03-body,
.page-id-15 .s-project-nexpace-body {
  text-wrap: pretty;
}

/* Studio Namu intentional desktop service line breaks */
.page-id-15 .s-service-01-body,
.page-id-15 .s-service-02-body {
  white-space: pre-line;
}

/* Studio Namu Approach cinematic video */
.page-id-15 .s-approach {
  isolation: isolate;
  background-color: #151515;
}

.page-id-15 .s-approach::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(13, 13, 13, 0.62) 0%, rgba(13, 13, 13, 0.44) 56%, rgba(13, 13, 13, 0.34) 100%),
    linear-gradient(180deg, rgba(13, 13, 13, 0.12) 0%, rgba(13, 13, 13, 0.04) 46%, rgba(13, 13, 13, 0.20) 100%);
}

.page-id-15 .s-approach-inner {
  position: relative;
  z-index: 2;
}

.page-id-15 .s-approach-video {
  pointer-events: none;
  filter: saturate(0.82) brightness(0.78) contrast(1.04);
  transform: translate3d(0, 0, 0) scale(1.14);
  transform-origin: center center;
  will-change: transform;
}

.page-id-15 .s-approach-kicker {
  color: #FF3511 !important;
}

.page-id-15 .s-approach-title,
.page-id-15 .s-approach-copy,
.page-id-15 .s-approach-copy-mobile,
.page-id-15 .s-principle-03 {
  color: #F7F5F3 !important;
}

.page-id-15 .s-principle-01,
.page-id-15 .s-principle-02 {
  color: #BEBBB7 !important;
}

@media (max-width: 767px) {
  .page-id-15 .s-approach::after {
    background:
      linear-gradient(180deg, rgba(13, 13, 13, 0.60) 0%, rgba(13, 13, 13, 0.44) 48%, rgba(13, 13, 13, 0.66) 100%);
  }

  .page-id-15 .s-approach-video {
    height: 130% !important;
    inset-block-start: -15% !important;
    filter: saturate(0.78) brightness(0.72) contrast(1.04);
    transform: translate3d(0, 0, 0) scale(1.2);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-id-15 .s-approach {
    background:
      linear-gradient(90deg, rgba(13, 13, 13, 0.62), rgba(13, 13, 13, 0.42)),
      url("https://studionamu.co.kr/wp-content/uploads/2026/08/approach-visual-production-poster.jpg") center / cover no-repeat;
  }

  .page-id-15 .s-approach-video {
    display: none !important;
    transform: none !important;
    will-change: auto;
  }
}


/* Studio Namu Services title forced two lines */
.page-id-15 .s-services-title {
  white-space: pre-line;
}


/* Studio Namu Core Services intentional wraps */
.page-id-15 .s-core-services .e-heading-base,
.page-id-15 .s-core-services .e-paragraph-base {
  word-break: keep-all;
  overflow-wrap: normal;
  text-wrap: pretty;
}

.page-id-15 .s-core-services-lead-focus,
.page-id-15 .s-core-corporate-body-one,
.page-id-15 .s-core-corporate-body-two,
.page-id-15 .s-core-fnb-body-one,
.page-id-15 .s-core-fnb-body-two,
.page-id-15 .s-core-corporate-body-one-mobile,
.page-id-15 .s-core-corporate-body-two-mobile,
.page-id-15 .s-core-fnb-body-one-mobile,
.page-id-15 .s-core-fnb-body-two-mobile {
  white-space: pre-line;
}

/* Studio Namu tablet Living Frame: non-overlapping editorial strip */
@media (min-width: 768px) and (max-width: 1024px) {
  .page-id-15 .s-hero-film,
  .page-id-15 .s-hero-drone,
  .page-id-15 .s-hero-dining {
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
    will-change: auto;
  }
}


/* Studio Namu touch Work frame auto-scroll */
@media (max-width: 1024px) {
  .page-id-15 .s-project-jwm-media,
  .page-id-15 .s-project-nexpace-media {
    --sn-work-window-h: 560px;
    overflow: hidden;
  }

  .page-id-15 .s-work-jwm-image,
  .page-id-15 .s-work-nexpace-image {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-width: none;
    object-fit: initial;
    transition: none !important;
    backface-visibility: hidden;
    will-change: transform;
  }

  .page-id-15 .s-work-jwm-image {
    animation: sn-work-jwm-touch-scroll 32s linear infinite both;
  }

  .page-id-15 .s-work-nexpace-image {
    animation: sn-work-nexpace-touch-scroll 22s linear infinite both;
  }
}

@media (max-width: 767px) {
  .page-id-15 .s-project-jwm-media,
  .page-id-15 .s-project-nexpace-media {
    --sn-work-window-h: 348px;
  }
}

@keyframes sn-work-jwm-touch-scroll {
  0%,
  10% {
    transform: translate3d(0, 0, 0);
  }

  45%,
  60% {
    transform: translate3d(0, calc(-100% + var(--sn-work-window-h)), 0);
  }

  95%,
  100% {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes sn-work-nexpace-touch-scroll {
  0%,
  10% {
    transform: translate3d(0, 0, 0);
  }

  45%,
  60% {
    transform: translate3d(0, calc(-100% + var(--sn-work-window-h)), 0);
  }

  95%,
  100% {
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) and (max-width: 1024px) {
  .page-id-15 .s-work-jwm-image,
  .page-id-15 .s-work-nexpace-image {
    animation: none !important;
    transform: none !important;
    will-change: auto;
  }
}

@media (prefers-reduced-motion: reduce) and (max-width: 767px) {
  .page-id-15 .s-work-jwm-image,
  .page-id-15 .s-work-nexpace-image {
    height: 348px !important;
    object-fit: cover;
  }
}

/* Studio Namu mobile Work browser metadata */
@media (max-width: 767px) {
  .s-project-jwm-media .s-jwm-browser-bar,
  .s-project-nexpace-media .s-nexpace-browser-bar {
    height: 52px !important;
    min-height: 52px !important;
    padding: 8px 12px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 2px !important;
  }

  .s-jwm-browser-project,
  .s-nexpace-browser-project,
  .s-jwm-browser-url,
  .s-nexpace-browser-url {
    width: 100% !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  .s-jwm-browser-project,
  .s-nexpace-browser-project {
    font-size: 9px !important;
    letter-spacing: 0.5px !important;
    text-align: left !important;
  }

  .s-jwm-browser-url,
  .s-nexpace-browser-url {
    font-size: 8px !important;
    letter-spacing: 0.4px !important;
    text-align: right !important;
  }
}

/* Studio Namu WORKS hover dropdown: start */
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
  .s-nav-work-menu {
    align-items: center !important;
  }

  .s-nav-work-menu .s-nav-works-dropdown {
    position: absolute !important;
    inset-block-start: 100% !important;
    inset-inline-start: 50% !important;
    width: 160px !important;
    z-index: 500 !important;
    padding: 4px !important;
    border: 1px solid #BEBBB7 !important;
    background: #F7F5F3 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate(-50%, -6px) !important;
    transition: opacity 180ms ease, transform 180ms ease, visibility 0s linear 180ms !important;
  }

  .s-nav-work-menu:hover .s-nav-works-dropdown,
  .s-nav-work-menu:focus-within .s-nav-works-dropdown {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) !important;
    transition-delay: 0s !important;
  }

  .s-nav-work-menu:hover .s-nav-work-trigger,
  .s-nav-work-menu:focus-within .s-nav-work-trigger {
    color: #FF3511 !important;
  }
}

@media (prefers-reduced-motion: reduce) and (min-width: 1025px) {
  .s-nav-work-menu .s-nav-works-dropdown {
    transition: none !important;
  }
}
/* Studio Namu WORKS hover dropdown: end */

/* Studio Namu mobile hamburger header: start */
@media (min-width: 1025px) {
  .s-mobile-menu-toggle, .s-mobile-menu-close { display: none !important; }
}
@media (max-width: 1024px) {
  .s-site-header { position: relative !important; overflow: visible !important; z-index: 1000 !important; }
  .s-header-inner { width: 100% !important; display: flex !important; align-items: center !important; justify-content: space-between !important; }
  .s-mobile-menu-toggle, .s-mobile-menu-close {
    position: relative !important; flex: 0 0 44px !important; align-items: center !important; justify-content: center !important;
    width: 44px !important; min-width: 44px !important; height: 44px !important; min-height: 44px !important;
    margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
    background: transparent !important; color: transparent !important; font-size: 0 !important;
    line-height: 0 !important; box-shadow: none !important; cursor: pointer !important;
  }
  .s-mobile-menu-toggle { display: flex !important; }
  .s-mobile-menu-close { display: none !important; }
  .s-mobile-menu-toggle::before, .s-mobile-menu-toggle::after,
  .s-mobile-menu-close::before, .s-mobile-menu-close::after {
    content: "" !important; position: absolute !important; left: 11px !important;
    width: 22px !important; height: 2px !important; background: #0D0D0D !important;
    transform-origin: center !important; transition: top 180ms ease, transform 180ms ease !important;
  }
  .s-mobile-menu-toggle::before { top: 17px !important; }
  .s-mobile-menu-toggle::after { top: 25px !important; }
  .s-mobile-menu-close::before { top: 21px !important; transform: rotate(45deg) !important; }
  .s-mobile-menu-close::after { top: 21px !important; transform: rotate(-45deg) !important; }
  .s-mobile-menu-toggle:focus-visible, .s-mobile-menu-close:focus-visible {
    outline: 2px solid #FF3511 !important; outline-offset: 2px !important;
  }
  .s-site-header:has(.s-mobile-nav:target) .s-mobile-menu-toggle { display: none !important; }
  .s-site-header:has(.s-mobile-nav:target) .s-mobile-menu-close { display: flex !important; }
  .s-mobile-nav {
    display: none !important; position: absolute !important; top: 100% !important; right: 0 !important; left: 0 !important;
    width: 100% !important; height: auto !important; max-height: calc(100dvh - 68px) !important; scroll-margin-top: 68px !important;
    overflow-y: auto !important; margin: 0 !important; flex-direction: column !important;
    align-items: stretch !important; gap: 0 !important; padding: 12px 40px 20px !important;
    background: #F7F5F3 !important; color: #0D0D0D !important;
    border: 0 !important; border-top: 1px solid #BEBBB7 !important; border-bottom: 1px solid #BEBBB7 !important;
    border-radius: 0 !important; box-shadow: none !important; z-index: 1001 !important;
  }
  .s-mobile-nav:target { display: flex !important; }
  .s-mobile-nav > .e-button-base, .s-mobile-work-menu > .e-button-base {
    display: flex !important; align-items: center !important; justify-content: flex-start !important;
    width: 100% !important; min-height: 44px !important; padding: 12px 0 !important;
    color: #0D0D0D !important; text-align: left !important; text-decoration: none !important;
  }
  .s-mobile-work-menu {
    width: 100% !important; display: flex !important; flex-direction: column !important;
    align-items: stretch !important; gap: 0 !important;
  }
  .s-mobile-works-dropdown {
    position: static !important; inset: auto !important; width: 100% !important;
    display: flex !important; flex-direction: column !important; align-items: stretch !important;
    gap: 0 !important; padding: 0 0 8px 16px !important; border: 0 !important; background: transparent !important;
  }
  .s-mobile-works-dropdown .e-button-base {
    display: flex !important; align-items: center !important; justify-content: flex-start !important;
    width: 100% !important; min-height: 40px !important; padding: 9px 0 !important;
    color: #0D0D0D !important; text-align: left !important; text-decoration: none !important;
  }
}
@media (max-width: 767px) {
  .s-mobile-nav { max-height: calc(100dvh - 64px) !important; scroll-margin-top: 64px !important; padding-right: 22px !important; padding-left: 22px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .s-mobile-menu-toggle::before, .s-mobile-menu-toggle::after,
  .s-mobile-menu-close::before, .s-mobile-menu-close::after { transition: none !important; }
}
/* Studio Namu mobile hamburger header: end *//* End custom CSS */