

/* Use the existing shared label/caption roles; preserve the clinic palette. */
.planme-hero__copy .planme-text-link { font: var(--pm-type-label); letter-spacing: var(--pm-type-tracking); }
.planme-text-link:focus-visible, .planme-menu-toggle:focus-visible, .planme-language button:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
@media(min-width: 1200px) {
  .planme-quick-dock { right: 12px; padding: 6px; border-radius: 18px; gap: 2px; }
  .planme-quick-dock a { width: 72px; height: 56px; border-radius: 10px; display: flex; flex-direction: column; justify-content: center; gap: 4px; }
  .planme-quick-dock a span { position: static; width: auto; max-width: 72px; padding: 0; background: transparent; color: inherit; opacity: 1; transform: none; font: var(--pm-type-caption); letter-spacing: var(--pm-type-tracking); text-align: center; }
}
@media(max-width: 767px) {
  :root { --pm-top-h: 0px; }
  .planme-topline { display: none; }
  .planme-quick-dock { height: calc(64px + env(safe-area-inset-bottom, 0px)); padding-bottom: env(safe-area-inset-bottom, 0px); }
  .planme-quick-dock a { min-height: 64px; }
  .planme-quick-dock strong, .planme-quick-dock svg { width: 22px; height: 22px; }
  .planme-quick-dock a span { font: var(--pm-type-caption); letter-spacing: var(--pm-type-tracking); color: var(--pm-navy); white-space: normal; overflow: visible; text-overflow: clip; text-align: center; }
  .planme-panel__plan-label, .planme-panel__number, .planme-page-hero__mark, .planme-page-hero__index { display: none; }
  .planme-footer { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
  .planme-contact__details { padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)); }
}

/* 1.8.63: calm, compositor-friendly motion without repeated entrances. */
@media (prefers-reduced-motion: no-preference) {
  .planme-hero__slide { transition: opacity 1.1s ease-in-out, visibility 1.1s; }
  .planme-hero.is-revealed .planme-hero__slide .planme-panel__media { animation: none; }
  .planme-hero__slide .planme-panel__media { transition: transform 7s linear; }
  .planme-hero__slide.is-active .planme-panel__media { filter: saturate(.72) contrast(.95); }
  .planme-signature__visuals img { transition: opacity .9s ease-in-out, transform 1.2s cubic-bezier(.22,.61,.36,1); }
  .pm-editorial .pm-reveal { transition: opacity .7s ease-out, transform .8s cubic-bezier(.22,.61,.36,1); transition-delay: var(--pm-reveal-delay, 0ms); }
  .pm-editorial .pm-reveal:not(.is-visible) { transform: translate3d(0,14px,0); }
  .pm-editorial .pm-reveal--media { clip-path: none; }
  .planme-menu-toggle span { transition: transform .32s ease, opacity .24s ease; }
}
@media (prefers-reduced-motion: reduce) {
  .planme-hero__slide, .planme-hero__slide .planme-panel__media,
  .planme-signature__visuals img, .pm-editorial .pm-reveal { animation: none !important; transition: none !important; }
  .pm-editorial .pm-reveal { opacity: 1; transform: none; clip-path: none; }
}

/* 1.8.65: portrait-safe home composition and consistent controls. */
.planme-signature .planme-signature__visuals { left: auto; top: auto; right: auto; bottom: auto; width: 100%; max-width: none; transform: none !important; }
.planme-signature__visuals img:first-child { object-position: center 24%; }
.planme-contact__buttons { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.planme-contact__buttons a { min-width: 0; gap: 8px; align-items: center; }
.planme-doctor__copy::after { content: '03'; }
.planme-contact__details::before { content: '05'; }
.planme-hero__slide--2, .planme-hero__slide--3 { background: var(--pm-navy-deep); }
.planme-hero__slide--2 .planme-panel__media, .planme-hero__slide--3 .planme-panel__media { left: 54%; width: 46%; object-position: center 25%; }
.planme-hero__slide--2 .planme-panel__veil, .planme-hero__slide--3 .planme-panel__veil { background: linear-gradient(90deg,var(--pm-navy-deep) 48%,transparent 68%); }
.planme-hero__slide--2 .planme-hero__copy, .planme-hero__slide--3 .planme-hero__copy { left: 5%; right: 48%; }
.planme-hero__slide--2 .planme-hero__copy h1, .planme-hero__slide--3 .planme-hero__copy h1 { max-width: 100%; }
@media(min-width:768px) and (max-width:1199px) {
 .planme-hero__controls { right: 104px; }
 .planme-hero__edition { display: none; }
 .planme-topline > :first-child { visibility: hidden; }
}
@media(max-width:900px) {
 .planme-signature .planme-signature__visuals { min-height: 0; height: 29svh; }
 .planme-signature__visuals img:first-child { object-fit: contain; background: #e7e4dd; }
 .planme-contact__buttons { grid-template-columns: 1fr; }
 .planme-doctor__copy::after, .planme-contact__details::before, .planme-space__edition { display:none; }
 .planme-hero__slide--2 .planme-panel__media, .planme-hero__slide--3 .planme-panel__media { top: calc(var(--pm-header-h) + var(--pm-top-h)); left:0; width:100%; height:38%; object-fit:contain; transform:none !important; }
 .planme-hero__slide--2 .planme-panel__veil, .planme-hero__slide--3 .planme-panel__veil { background:none; }
 .planme-hero__slide--2 .planme-hero__copy, .planme-hero__slide--3 .planme-hero__copy { top: calc(38% + var(--pm-header-h) + var(--pm-top-h)); bottom:80px; left:24px; right:24px; justify-content:center; }
 .planme-hero__slide--2 .planme-hero__copy .planme-kicker, .planme-hero__slide--3 .planme-hero__copy .planme-kicker { margin-bottom:12px; }
 .planme-hero__slide--2 .planme-hero__text, .planme-hero__slide--3 .planme-hero__text { margin:14px auto 18px; }
}
@media(max-width:900px) {
 .planme-signature { padding-top: calc(var(--pm-header-h) + var(--pm-top-h) + 20px); }
 .planme-signature .planme-signature__visuals { height:23svh; }
}
@media(min-width:901px) {
 .planme-hero__slide--2 .planme-panel__media, .planme-hero__slide--3 .planme-panel__media { top:calc(var(--pm-header-h) + var(--pm-top-h)); height:calc(100% - var(--pm-header-h) - var(--pm-top-h)); object-position:center top; }
}

/* Medical portrait: preserve the complete head in the editorial frame. */
.planme-editorial-image img { object-fit: contain; object-position: center; background: #eeeae3; }

/* Continuous scrolling and readable editorial details. */
.planme-fullpage { scroll-snap-type: none; }
.planme-panel { scroll-snap-align: none; scroll-snap-stop: normal; }
.planme-contact__buttons .pm-service-mark,
.pm-location-actions .pm-service-mark { display:inline-flex; flex:0 0 28px; width:28px; height:28px; margin:0; opacity:1; transform:none; }
.pm-service-mark svg { display:block; width:100%; height:100%; }
.planme-contact__buttons a { justify-content:flex-start; }
.planme-contact__buttons a > span:last-child:not(.pm-service-mark) { margin-left:auto; }
.pm-location-actions nav a { position:relative; }
.pm-location-actions nav a > .pm-service-mark { position:absolute; right:24px; top:24px; }
.pm-values article > span { display:block; font:var(--pm-type-number); color:#82725e; letter-spacing:0; font-variant-numeric:tabular-nums; }
.pm-values h3 { font:var(--pm-type-subheading); letter-spacing:var(--pm-type-tracking); margin:40px 0 18px; word-break:keep-all; }
.pm-values p { font:var(--pm-type-body); letter-spacing:var(--pm-type-tracking); color:#60616b; word-break:keep-all; }
.planme-panel h2 { font:var(--pm-type-section); letter-spacing:var(--pm-type-tracking); word-break:keep-all; text-wrap:balance; }
.planme-hero__copy h1 { font:var(--pm-type-display); letter-spacing:var(--pm-type-tracking); word-break:keep-all; text-wrap:balance; }
.planme-philosophy__copy > p:not(.planme-kicker), .planme-doctor__copy > p:not(.planme-kicker), .planme-space__copy > p:not(.planme-kicker), .planme-hero__copy > p:not(.planme-kicker) { font:var(--pm-type-body); letter-spacing:var(--pm-type-tracking); word-break:keep-all; text-wrap:pretty; }
.planme-contact__buttons a { font:var(--pm-type-label); }
.planme-editorial-image img { object-fit:cover; object-position:center; }
@media(max-width:900px) {
  .planme-signature__visuals img:first-child { object-fit:cover; object-position:center 32%; }
}

.planme-contact__buttons a { padding:18px 10px; gap:6px; white-space:nowrap; }
.planme-contact__buttons .pm-service-mark { width:24px; height:24px; flex-basis:24px; }
.planme-programs a > span { font:var(--pm-type-label); color:#82725e; font-variant-numeric:tabular-nums; }
.pm-values p { text-wrap:pretty; }

/* First load and each active slide share the same staged introduction. */
@keyframes pm-hero-stagger {
 from { opacity:0; transform:translate3d(0,18px,0); }
 to { opacity:1; transform:translate3d(0,0,0); }
}
@media(min-width:0px) {
 .planme-hero.is-revealed .planme-hero__slide .planme-hero__copy > * {
   animation:none; opacity:0; transform:translate3d(0,18px,0);
 }
 .planme-hero.is-revealed .planme-hero__slide.is-active.is-copy-ready .planme-hero__copy > * {
   animation:pm-hero-stagger .85s cubic-bezier(.22,.61,.36,1) both;
 }
 .planme-hero.is-revealed .planme-hero__slide.is-active.is-copy-ready .planme-hero__copy > :nth-child(1) { animation-delay:.10s; }
 .planme-hero.is-revealed .planme-hero__slide.is-active.is-copy-ready .planme-hero__copy > :nth-child(2) { animation-delay:.28s; }
 .planme-hero.is-revealed .planme-hero__slide.is-active.is-copy-ready .planme-hero__copy > :nth-child(3) { animation-delay:.48s; }
 .planme-hero.is-revealed .planme-hero__slide.is-active.is-copy-ready .planme-hero__copy > :nth-child(4) { animation-delay:.68s; }
 .planme-hero.is-revealed .planme-hero__slide.is-active.is-copy-ready .planme-hero__copy > :nth-child(5) { animation-delay:.80s; }
}

/* Explicit site motion requested by the owner, scoped to the full-page home. */
.pm-fullpage-motion { scroll-behavior:auto !important; }
.pm-fullpage-motion .pm-panel-enter {
 opacity:0; transform:translate3d(0,18px,0);
 transition:opacity .8s ease, transform .95s cubic-bezier(.22,.61,.36,1) !important;
 transition-delay:var(--pm-panel-delay,0ms) !important;
}
.pm-fullpage-motion .is-revealed .pm-panel-enter { opacity:1; transform:translate3d(0,0,0); }
.pm-fullpage-motion .pm-panel-media-enter { opacity:0; transition:opacity 1.1s ease !important; }
.pm-fullpage-motion .is-revealed .pm-panel-media-enter { opacity:1; }
.pm-fullpage-motion .planme-hero__slide { transition:opacity 1.1s ease-in-out,visibility 1.1s !important; }
.pm-fullpage-motion .planme-signature__visuals img { transition:opacity .9s ease-in-out !important; }
.pm-fullpage-motion .planme-hero__slide.is-active.is-copy-ready .planme-hero__copy > * { animation-duration:.85s !important; }

@media(min-width:901px) and (max-height:800px) {
 .planme-editorial-image { top:calc(var(--pm-header-h) + var(--pm-top-h) + 24px); height:26vh; min-height:0; }
 .planme-philosophy__copy { top:53%; }
}

/* Shared calm entrances across public detail and board pages. */
.pm-editorial .pm-reveal, .pm-page-enter {
 opacity:0; transform:translate3d(0,12px,0); clip-path:none;
 transition:opacity .65s ease, transform .8s cubic-bezier(.22,.61,.36,1) !important;
 transition-delay:var(--pm-reveal-delay,0ms) !important;
}
.pm-editorial .pm-reveal.is-visible, .pm-page-enter.is-visible { opacity:1; transform:none; clip-path:none; }
@media(prefers-reduced-motion:reduce) {
 .pm-editorial .pm-reveal, .pm-page-enter { transform:none !important; }
}

/* Clear title hierarchy and consistently visible quick actions. */
.pm-editorial h1, .pm-editorial h2, .planme-page-hero h1 {
 font-weight:var(--pm-weight-heading) !important;
 word-break:keep-all; text-wrap:balance;
}
.pm-editorial h3 { font-weight:var(--pm-weight-subheading); }
.planme-quick-dock {
 background:#20265a; border:1px solid rgba(255,255,255,.22);
 box-shadow:0 8px 26px rgba(12,18,49,.24);
}
.planme-quick-dock a, .planme-quick-dock a span, .planme-quick-dock a strong {
 color:#fff !important;
}
.planme-quick-dock a { background:transparent; border-color:rgba(255,255,255,.18); }
.planme-quick-dock a span { font:var(--pm-type-dock); background:transparent; }
.planme-quick-dock a:hover, .planme-quick-dock a:focus-visible { background:#3c467e; color:#fff; }
.planme-quick-dock svg { stroke:currentColor; }
@media(min-width:1200px) { .planme-quick-dock a { height:60px; } }

/* Signature imagery and aligned catalog section edges. */
.planme-page-hero--signature {
 background-image:url('../images/source/beauty-editorial-20260910.png');
 background-size:auto 125%; background-position:right 35% !important;
}
.planme-page-hero--signature::after {
 background:linear-gradient(90deg,#14183d 0%,rgba(20,24,61,.96) 28%,rgba(20,24,61,.48) 58%,rgba(20,24,61,.08) 100%);
}
.planme-page-hero--signature::before,
.planme-page-hero--signature .planme-page-hero__mark { display:none; }
.pm-treatment-catalog .pm-catalog-intro,
.pm-treatment-catalog .pm-program-standard {
 width:min(1560px,calc(100% - 80px)); max-width:1560px;
 margin-left:auto; margin-right:auto; box-sizing:border-box;
}
@media(max-width:767px) {
 .planme-page-hero--signature { background-size:auto 110%; background-position:65% center !important; }
 .planme-page-hero--signature::after { background:linear-gradient(90deg,rgba(20,24,61,.84),rgba(20,24,61,.28)); }
 .pm-treatment-catalog .pm-catalog-hero.pm-catalog-hero--image,
 .pm-treatment-catalog .pm-catalog-intro,
 .pm-treatment-catalog .pm-program-standard { width:calc(100% - 32px); margin-left:auto; margin-right:auto; }
}

/* One quiet clinical backdrop and consistent masthead proportions. */
.planme-page-main .planme-page-hero {
 min-height:0 !important; height:360px; box-sizing:border-box;
 padding-top:56px; padding-bottom:56px;
 background-image:url('../images/planme-treatment-room.webp') !important;
 background-size:cover !important; background-position:center 64% !important;
}
.planme-page-main .planme-page-hero::after {
 background:linear-gradient(90deg,rgba(20,24,61,.83) 0%,rgba(20,24,61,.57) 48%,rgba(20,24,61,.20) 100%);
}
.planme-page-main .planme-page-hero::before,
.planme-page-main .planme-page-hero__mark { display:none; }
@media(max-width:767px) {
 .planme-page-main .planme-page-hero { height:260px; padding-top:36px; padding-bottom:36px; background-position:62% center !important; }
 .planme-page-main .planme-page-hero::after { background:linear-gradient(90deg,rgba(20,24,61,.85),rgba(20,24,61,.42)); }
}

.pm-ba-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:2px; background:#fff; }
.pm-ba-pair figure { position:relative; margin:0; min-width:0; }
.pm-ba-pair img { display:block; width:100%; height:100%; aspect-ratio:1; object-fit:contain; background:#ecebe8; }
.pm-ba-pair figcaption { position:absolute; left:0; bottom:0; width:100%; padding:10px; box-sizing:border-box; background:rgba(20,24,61,.9); color:#fff; text-align:center; font-size:13px; letter-spacing:.08em; }
.planme-board-card__image .pm-ba-pair { height:100%; }
.planme-board-card__image .pm-ba-pair img { width:100%; height:100%; object-fit:contain; }
.pm-ba-locked { display:flex; flex-direction:column; justify-content:center; align-items:center; height:100% !important; min-height:100% !important; width:100% !important; background:#20265a; color:#fff; text-align:center; line-height:1.8; font-size:15px; box-sizing:border-box; padding:20px; }
.planme-naver-blog { position:relative; background:#e7e8ed; box-shadow:0 0 0 100vmax #e7e8ed; clip-path:inset(0 -100vmax); }
.planme-naver-blog__header .planme-text-link { color:#20265a; border-color:#20265a; }
.planme-naver-blog__header h2 { font-family:inherit; line-height:1.3; }
.planme-naver-blog__image img { width:100%; height:100%; object-fit:cover; }

.pm-doctor-hero__detail { display:none !important; }
.pm-doctor-clinical__media { display:block !important; }
.pm-doctor-clinical__media figure { width:100%; margin:0; }
.pm-doctor-hero__portrait img,.pm-doctor-clinical__media img { object-position:50% 35% !important; }
.pm-credential-columns li { font-size:16px; line-height:1.85; color:#343746; padding-block:8px; }
.pm-access-map img { height:auto !important; object-fit:contain !important; }
.pm-doctor-hero__copy h2 { font-size:clamp(32px,3.2vw,48px) !important; line-height:1.3 !important; }
.pm-doctor-hero__copy h2 strong { white-space:nowrap; }
.pm-doctor-hero__mark { display:none !important; }
/* Keep touch/keyboard focus from applying the desktop dropdown offset. */
@media (max-width:1120px) {
 .planme-nav li > .sub-menu,
 .planme-nav li:hover > .sub-menu,
 .planme-nav li:focus-within > .sub-menu {
  transform:none !important; left:auto; right:auto; transition:none;
 }
}
.planme-hero__slides { z-index:0; isolation:isolate; }
.planme-hero__slide:not(.is-active) { pointer-events:none; }
.planme-hero__controls { z-index:10; }
.planme-hero__arrow { min-width:44px; min-height:44px; touch-action:manipulation; }
.planme-hero__arrow:hover,.planme-hero__arrow:focus-visible { transform:none; }

/* Optional photography preserves the accompanying content. */
.pm-hide-subhero-photo .planme-page-main .planme-page-hero {background-image:none !important;background-color:var(--pm-navy-deep,#151a43) !important;}
.pm-hide-home-hero .planme-hero .planme-panel__media,
.pm-hide-home-philosophy .planme-editorial-image,
.pm-hide-home-signature .planme-signature__visuals,
.pm-hide-home-doctor .planme-doctor__image,
.pm-hide-home-space .planme-space > .planme-panel__media {display:none !important;}
.pm-hide-home-philosophy .planme-philosophy,.pm-hide-home-doctor .planme-doctor {grid-template-columns:1fr !important;}
.pm-hide-home-philosophy .planme-philosophy__copy,.pm-hide-home-doctor .planme-doctor__copy {width:100%;max-width:900px;margin:auto;}
.pm-photo-removed {grid-template-columns:minmax(0,1fr) !important;}
.pm-photo-removed > :only-child {width:100%;max-width:none;grid-column:1/-1;}
.pm-hide-home-hero .planme-hero__slide .planme-hero__copy {left:var(--pm-axis);right:var(--pm-axis);top:0;bottom:80px;}
.planme-quick-dock {max-height:calc(100dvh - 180px);overflow-y:auto;scrollbar-width:thin;}

@media(max-width:1120px){
 .planme-header:not(.is-menu-open) .planme-nav {visibility:hidden;}
 .planme-header:not(.is-menu-open) .planme-nav * {pointer-events:none !important;}
 .planme-header.is-menu-open .planme-nav {visibility:visible;}
}

@media(max-width:767px){
 .planme-quick-dock {overflow-y:hidden;}
 .planme-quick-dock.pm-custom-dock {grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(86px,1fr);overflow-x:auto;}
 .planme-quick-dock.pm-custom-dock .planme-quick-dock__item {display:flex !important;}
}

/* Reserve the mobile dock plus a 24px gap, including short app viewports. */
@media(max-width:767px){
 .planme-hero__controls {
  bottom:88px;
  bottom:max(calc(88px + env(safe-area-inset-bottom,0px)),calc(100% - 100svh + 88px + env(safe-area-inset-bottom,0px)));
 }
}

/* Only the Korean home hero's medical-staff slide swaps photos on phones. */
.planme-mobile-doctor-photo { display: contents; }
@media(max-width:767px){
 .planme-hero__slide--2 .planme-mobile-doctor-photo > .planme-panel__media {
  object-fit: cover !important;
  object-position: center 45% !important;
 }
}
