 .u-section-1 {
  min-height: 400px;
}

.u-section-1 .u-custom-html-1 {
  height: auto;
  min-height: 400px;
  margin-top: 0;
  margin-bottom: 0;
}/* ==========================================================================
   강남 달토 — 나이트 트랙 스킨
   스코프: #rk-root
   ※ 이미지 크기(PC 930x620 / 모바일 상한, 플레이스홀더 수치)는 원본 유지
   ※ CTA 이미지 width: 500px 유지 (실제 CTA는 코드 버튼, 클릭 비활성)
   ========================================================================== */
html, body {
    margin: 0;
    padding: 0;
    background: #0c141c;
}
#rk-root {
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    box-sizing: border-box;
    font-family: Pretendard, "Noto Sans KR", "Malgun Gothic", sans-serif;
    background:
        radial-gradient(1200px 520px at 8% -10%, rgba(94, 234, 212, 0.08), transparent 58%),
        radial-gradient(900px 480px at 100% 8%, rgba(240, 163, 107, 0.06), transparent 52%),
        #111a24;
    color: #d7e2ec;
    line-height: 1.84;
    letter-spacing: -0.018em;
    word-break: keep-all;
    overflow-wrap: anywhere;
    text-align: left;
    overflow-x: clip;
}
#rk-root *,
#rk-root *::before,
#rk-root *::after { box-sizing: border-box; }
#rk-root img { max-width: 100%; height: auto; display: block; }
#rk-root a { color: #5eead4; text-decoration: none; }
#rk-root a:hover { color: #99f6e4; text-decoration: underline; }
#rk-root strong { color: #99f6e4; font-weight: 700; }
#rk-root :focus-visible {
    outline: 2px solid #5eead4;
    outline-offset: 3px;
}
#rk-root .rk-frame {
    width: 100%;
    max-width: 1000px;
    margin-inline: auto;
    padding-inline: 30px;
}
#rk-root [id] { scroll-margin-top: 26px; }
/* ---------- 마스트 (스티키 메뉴 없음, 원본 상단바와 다른 배치) ---------- */
#rk-root .rk-mast {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 30px 18px;
    max-width: 1000px;
    margin-inline: auto;
    border-bottom: 1px solid #2a3b4d;
}
#rk-root .rk-mark {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #edf7fb;
    font-weight: 800;
    letter-spacing: -0.04em;
    font-size: 1.02rem;
}
#rk-root .rk-mark:hover { text-decoration: none; color: #99f6e4; }
#rk-root .rk-mark i {
    flex: none;
    width: 11px;
    height: 11px;
    background: #5eead4;
    box-shadow: 0 0 0 4px rgba(94, 234, 212, 0.16);
}
#rk-root .rk-mark span {
    display: block;
    margin-top: 2px;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #f0a36b;
}
#rk-root .rk-mast-note {
    margin: 0;
    font-size: 0.78rem;
    font-weight: 700;
    color: #7d93a6;
    letter-spacing: 0.04em;
}
/* ---------- 히어로 ---------- */
#rk-root .rk-stage {
    padding: 40px 0 36px;
}
#rk-root .rk-eyebrow {
    margin: 0 0 16px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #5eead4;
}
#rk-root h1 {
    margin: 20px 0 16px;
    max-width: 12ch;
    font-size: clamp(2.05rem, 5.2vw, 3.1rem);
    font-weight: 800;
    line-height: 1.24;
    letter-spacing: -0.055em;
    color: #edf7fb;
}
#rk-root .rk-lede {
    max-width: 56ch;
    margin: 0 0 26px;
    font-size: clamp(1rem, 1.45vw, 1.1rem);
    line-height: 1.98;
    color: #9aafc0;
}
#rk-root .rk-lede strong { color: #edf7fb; }
/* ---------- 코드 CTA (이미지 URL 없음, 클릭 비활성) ---------- */
#rk-root .cta-call-img {
    width: 500px;
    max-width: 100%;
    height: auto;
}
#rk-root .rk-cta {
    margin: 0 0 38px;
}
#rk-root .rk-cta-btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 6px;
    width: 500px;
    max-width: 100%;
    min-height: 108px;
    padding: 22px 28px;
    border: 1px solid rgba(94, 234, 212, 0.45);
    background:
        linear-gradient(135deg, rgba(94, 234, 212, 0.16), rgba(23, 34, 46, 0.92) 46%, #0f1822);
    color: #edf7fb;
    font-family: inherit;
    text-align: left;
    cursor: default;
    pointer-events: none;
    user-select: none;
    box-shadow: 0 14px 36px rgba(8, 14, 22, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
#rk-root .rk-cta-btn:disabled {
    opacity: 1;
}
#rk-root .rk-cta-k {
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #5eead4;
}
#rk-root .rk-cta-t {
    font-size: 1.22rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #edf7fb;
}
#rk-root .rk-cta-s {
    font-size: 0.82rem;
    color: #7d93a6;
}
/* ---------- 챕터 맵 (원본 단열 레일·3열 로마숫자와 다른 2열 격자) ---------- */
#rk-root .rk-board {
    margin: 4px 0 8px;
    padding: 22px 0 4px;
    border-top: 3px solid #5eead4;
}
#rk-root .rk-board-h {
    margin: 0 0 16px;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #f0a36b;
}
#rk-root .rk-board ol {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 28px;
}
#rk-root .rk-board a {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px dashed #2a3b4d;
    color: #edf7fb;
    font-size: 0.94rem;
    line-height: 1.45;
}
#rk-root .rk-board a:hover {
    color: #99f6e4;
    text-decoration: none;
}
#rk-root .rk-board b {
    flex: none;
    width: 1.6rem;
    font-size: 0.78rem;
    font-weight: 800;
    color: #5eead4;
}
/* ---------- 본문 유닛 ---------- */
#rk-root .rk-unit {
    padding: 68px 0;
    border-top: 1px solid #2a3b4d;
}
#rk-root .rk-unit--shift {
    background: #17222e;
    box-shadow: inset 8px 0 0 #5eead4;
}
#rk-root .rk-tick {
    margin: 0 0 8px;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #f0a36b;
}
#rk-root h2 {
    margin: 0 0 26px;
    max-width: 22ch;
    font-size: clamp(1.32rem, 2.5vw, 1.78rem);
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: -0.038em;
    color: #edf7fb;
}
#rk-root h3 {
    margin: 32px 0 10px;
    font-size: clamp(1.04rem, 1.65vw, 1.16rem);
    font-weight: 800;
    line-height: 1.48;
    color: #5eead4;
}
#rk-root .rk-prose { max-width: 62ch; }
#rk-root .rk-prose p {
    margin: 0 0 20px;
    font-size: 1.02rem;
    line-height: 1.96;
    color: #c5d4e0;
}
#rk-root .rk-prose p:last-child { margin-bottom: 0; }
#rk-root .rk-aside {
    margin: 0 0 26px;
    padding: 14px 16px 14px 18px;
    border-left: 3px solid #f0a36b;
    background: rgba(240, 163, 107, 0.08);
}
#rk-root .rk-aside p {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.78;
    color: #edf7fb;
}
/* ---------- 비교 줄 / 스텝 / 칩 ---------- */
#rk-root .rk-rows {
    max-width: 920px;
    margin: 0 0 30px;
    border-top: 1px solid #2a3b4d;
}
#rk-root .rk-rows article {
    display: grid;
    grid-template-columns: minmax(92px, 150px) 1fr;
    gap: 8px 22px;
    padding: 15px 0;
    border-bottom: 1px solid #2a3b4d;
}
#rk-root .rk-rows .rk-tick {
    margin: 0;
    font-size: 0.92rem;
    color: #99f6e4;
}
#rk-root .rk-rows p {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.72;
    color: #9aafc0;
}
#rk-root .rk-dots {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    margin: 0 0 30px;
    padding: 0;
    list-style: none;
}
#rk-root .rk-dots li {
    padding: 16px 16px 14px;
    background: #0f1822;
    border: 1px solid #2a3b4d;
    border-top: 2px solid #5eead4;
}
#rk-root .rk-dots strong {
    display: block;
    margin-bottom: 6px;
    color: #edf7fb;
}
#rk-root .rk-dots span {
    display: block;
    font-size: 0.86rem;
    line-height: 1.7;
    color: #7d93a6;
}
#rk-root .rk-days {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 12px;
    margin: 0 0 28px;
}
#rk-root .rk-days article {
    padding: 18px 16px 16px;
    background: #0f1822;
    border-bottom: 3px solid #2a3b4d;
}
#rk-root .rk-days article:first-child {
    border-bottom-color: #5eead4;
}
#rk-root .rk-days .rk-tick { margin-bottom: 8px; }
#rk-root .rk-days p {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.7;
    color: #7d93a6;
}
/* ---------- 콜로폰 ---------- */
#rk-root .rk-colophon {
    padding: 52px 0 128px;
    background: #0a1118;
    color: #8aa0b2;
    border-top: 1px solid #2a3b4d;
}
#rk-root .rk-colophon a { color: #5eead4; }
#rk-root .rk-colo-name {
    margin: 0 0 10px;
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #edf7fb;
}
#rk-root .rk-colo-blurb {
    margin: 0 0 22px;
    max-width: 50ch;
    font-size: 0.88rem;
    line-height: 1.82;
    color: #7d93a6;
}
#rk-root .rk-colo-avoid-h {
    margin: 0 0 8px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    color: #5eead4;
}
#rk-root .rk-colo-avoid {
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
    max-width: 54ch;
}
#rk-root .rk-colo-avoid li {
    padding: 7px 0;
    border-top: 1px solid #1c2a38;
    font-size: 0.8rem;
    color: #6e8496;
}
#rk-root .rk-colo-nav {
    margin: 0 0 24px;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
}
#rk-root .rk-colo-nav a {
    font-size: 0.82rem;
    color: #9ab0c2;
}
#rk-root .rk-colo-nav a:hover { color: #99f6e4; text-decoration: none; }
#rk-root .rk-colo-disc {
    margin: 0 0 14px;
    max-width: 70ch;
    font-size: 0.76rem;
    line-height: 1.85;
    color: #61788a;
}
#rk-root .rk-colo-copy {
    margin: 0;
    font-size: 0.74rem;
    color: #54687a;
}
/* ---------- 플로팅 배너 (위치·구조 유지, 색만 변경 / 문자연결) ---------- */
#rk-root .bd-dock {
    position: fixed;
    right: 26px;
    bottom: 26px;
    z-index: 90;
    animation: bd-bob 4.2s ease-in-out infinite;
    pointer-events: none;
}
#rk-root .bd-dock > * { pointer-events: auto; }
#rk-root .bd-dock-glow {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    pointer-events: none;
}
#rk-root .bd-dock-glow::before,
#rk-root .bd-dock-glow::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    background: linear-gradient(115deg, #5eead4 0%, #2a3b4d 48%, #f0a36b 100%);
    will-change: opacity, transform;
}
#rk-root .bd-dock-glow::before {
    inset: -3px;
    filter: blur(9px);
    opacity: 0.9;
    animation: bd-glow-rim 3.4s ease-in-out infinite;
}
#rk-root .bd-dock-glow::after {
    inset: -13px;
    filter: blur(26px);
    opacity: 0.5;
    animation: bd-glow-halo 3.4s ease-in-out infinite;
}
#rk-root .bd-dock-btn {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 310px;
    padding: 15px 22px;
    background: linear-gradient(135deg, #1a2836, #0c141c);
    border: 1px solid rgba(94, 234, 212, 0.55);
    border-radius: 999px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    color: #fff;
    transition: transform 0.2s ease, border-color 0.2s ease;
}
#rk-root .bd-dock-btn:hover {
    text-decoration: none;
    transform: scale(1.03);
    border-color: rgba(153, 246, 228, 0.9);
}
#rk-root .bd-dock-dot {
    flex: none;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #5eead4;
    box-shadow: 0 0 0 0 rgba(94, 234, 212, 0.7);
    animation: bd-dock-ping 2.1s ease-out infinite;
}
#rk-root .bd-dock-txt {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 1px;
    line-height: 1.35;
    white-space: nowrap;
}
#rk-root .bd-dock-txt b {
    font-size: 1.02rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #fff;
}
#rk-root .bd-dock-txt em {
    font-style: normal;
    font-size: 0.73rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #99f6e4;
}
#rk-root .bd-dock-ico {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    color: #0c141c;
    background: linear-gradient(135deg, #99f6e4, #5eead4);
    animation: bd-dock-slide 1.9s ease-in-out infinite;
}
@keyframes bd-bob {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-11px); }
}
@keyframes bd-glow-rim {
    0%, 100% { opacity: 0.6; }
    50%      { opacity: 1; }
}
@keyframes bd-glow-halo {
    0%, 100% { opacity: 0.3; transform: scale(0.985); }
    50%      { opacity: 0.62; transform: scale(1.02); }
}
@keyframes bd-dock-ping {
    0%   { box-shadow: 0 0 0 0 rgba(94, 234, 212, 0.65); }
    70%  { box-shadow: 0 0 0 11px rgba(94, 234, 212, 0); }
    100% { box-shadow: 0 0 0 0 rgba(94, 234, 212, 0); }
}
@keyframes bd-dock-slide {
    0%, 100% { transform: translateX(0); }
    50%      { transform: translateX(4px); }
}
/* ==========================================================================
   이미지 자리(플레이스홀더)
   ※ max-width / aspect-ratio / min-height 수치는 원본 그대로.
   ========================================================================== */
#rk-root .bm-ph {
    width: 100%;
    max-width: 930px;
    margin: 6px auto 42px;
    padding: 0;
}
#rk-root .rk-prose + .bm-ph { margin-top: 40px; }
#rk-root .bm-ph--wide { max-width: 930px; }
#rk-root .bm-ph--md   { max-width: 640px; }
#rk-root .bm-ph--sq   { max-width: 560px; }
#rk-root .bm-ph-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 15px;
    aspect-ratio: 930 / 620;
    padding: 28px 26px;
    background-color: #0f1822;
    background-image: repeating-linear-gradient(135deg,
        rgba(94, 234, 212, 0.08) 0 12px,
        rgba(255, 255, 255, 0) 12px 26px);
    border: 2px dashed #3d5568;
    border-radius: 8px;
}
#rk-root .bm-ph--wide .bm-ph-box { aspect-ratio: 930 / 360; }
#rk-root .bm-ph--md   .bm-ph-box { aspect-ratio: 640 / 420; }
#rk-root .bm-ph--sq   .bm-ph-box { aspect-ratio: 1 / 1; }
#rk-root .bm-ph-mark {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    color: #99f6e4;
    background: rgba(94, 234, 212, 0.14);
    border: 1px solid rgba(94, 234, 212, 0.4);
    border-radius: 8px;
}
#rk-root .bm-ph-file {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 800;
    color: #edf7fb;
}
#rk-root .bm-ph-file em {
    display: inline-block;
    margin-left: 9px;
    padding: 2px 9px;
    font-style: normal;
    font-size: 0.73rem;
    font-weight: 800;
    line-height: 1.7;
    color: #0c141c;
    background: #5eead4;
    border-radius: 999px;
    vertical-align: 1px;
}
#rk-root .bm-ph-spec {
    display: grid;
    gap: 9px;
    max-width: 74ch;
    margin: 0;
    padding: 0;
}
#rk-root .bm-ph-spec > div {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 10px;
}
#rk-root .bm-ph-spec dt {
    margin: 0;
    padding-top: 0.2em;
    font-size: 0.75rem;
    font-weight: 800;
    color: #99f6e4;
}
#rk-root .bm-ph-spec dd {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.7;
    color: #c5d4e0;
}
#rk-root .bm-ph-spec .bm-ph-copy {
    font-weight: 700;
    color: #edf7fb;
}
#rk-root .bm-ph figcaption {
    margin-top: 11px;
    font-size: 0.78rem;
    color: #7d93a6;
    text-align: center;
}
/* ---------- 반응형 ---------- */
@media (max-width: 900px) {
    #rk-root .rk-board ol { grid-template-columns: 1fr; }
    #rk-root .rk-days { grid-template-columns: 1fr; }
    #rk-root .rk-rows article { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    #rk-root .rk-frame { padding-inline: 16px; }
    #rk-root .rk-mast { padding: 14px 16px; }
    #rk-root .rk-stage { padding: 28px 0 24px; }
    #rk-root .rk-unit { padding: 48px 0; }
    #rk-root h1 { max-width: none; }
    #rk-root .rk-colophon { padding: 36px 0 130px; }
    #rk-root .rk-cta-btn {
        min-height: 92px;
        padding: 16px 18px;
    }
    #rk-root .bm-ph { margin-bottom: 34px; }
    #rk-root .rk-prose + .bm-ph { margin-top: 32px; }
    #rk-root .bm-ph-box,
    #rk-root .bm-ph--wide .bm-ph-box,
    #rk-root .bm-ph--md .bm-ph-box,
    #rk-root .bm-ph--sq .bm-ph-box {
        aspect-ratio: auto;
        min-height: 300px;
        padding: 20px 16px;
        gap: 12px;
        border-radius: 14px;
    }
    #rk-root .bm-ph-mark { width: 38px; height: 38px; }
    #rk-root .bm-ph-file { font-size: 0.85rem; }
    #rk-root .bm-ph-spec dd { font-size: 0.86rem; }
    #rk-root .bd-dock {
        right: 14px;
        left: auto;
        bottom: 14px;
    }
    #rk-root .bd-dock-btn {
        min-width: 0;
        width: auto;
        padding: 11px 13px 11px 16px;
        gap: 9px;
    }
    #rk-root .bd-dock-txt b { font-size: 0.87rem; }
    #rk-root .bd-dock-txt em { font-size: 0.66rem; }
    #rk-root .bd-dock-ico { width: 28px; height: 28px; }
    #rk-root .bd-dock-glow::before { inset: -2px; filter: blur(7px); }
    #rk-root .bd-dock-glow::after { inset: -10px; filter: blur(20px); }
}
@media (prefers-reduced-motion: reduce) {
    #rk-root * {
        animation-duration: 0.01ms;
        transition-duration: 0.01ms;
    }
}
@media print {
    #rk-root { background: #fff; color: #000; }
    #rk-root .rk-mast,
    #rk-root .rk-cta,
    #rk-root .bd-dock { display: none; }
} 