/* 예일안과 리뉴얼 공용 — 헤더 · 전체메뉴 · 퀵메뉴 · 푸터 · 공용 버튼 (2026-10-13)
   기존 서브페이지의 전역 CSS 와 함께 실려도 깨지지 않도록 모든 규칙을 rn- 클래스 안으로 한정한다. */

.rn-header, .rn-header *, .rn-header *::before, .rn-header *::after,
.rn-allmenu, .rn-allmenu *, .rn-allmenu *::before, .rn-allmenu *::after,
.rn-quick, .rn-quick *, .rn-quick *::before, .rn-quick *::after,
.rn-footer, .rn-footer *, .rn-footer *::before, .rn-footer *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
/* 상속값 기준: 메인(main.css body)과 같게 — 서브 화면에서는 구 CSS 의 body 값을 물려받지 않도록 */
.rn-header, .rn-allmenu, .rn-quick, .rn-footer {
    font-family: var(--rn-font-base);
    line-height: 1.6;
    letter-spacing: -0.02em;
    word-break: keep-all;
    -webkit-font-smoothing: antialiased;
}
.rn-header ul, .rn-allmenu ul, .rn-quick ul, .rn-footer ul { list-style: none; }
.rn-header a, .rn-allmenu a, .rn-quick a, .rn-footer a { color: inherit; text-decoration: none; }
.rn-header button, .rn-allmenu button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
.rn-header img, .rn-quick img, .rn-footer img { display: block; max-width: none; }

/* ===== 브라우저 스크롤바 — 메인 · 서브 공통 (rn- 한정 원칙의 예외: 화면 전체 스크롤바라 html 에 건다)
   폭 8px, 주컬러 막대에 흰 테두리 2px 를 둘러 가는 알약처럼 보이게 (강남도쿄안과 사이트 방식).
   구 scroll.css(8px · #2f3542) 를 대신한다 — 메인은 그 파일을 읽지 않아 기본 스크롤바(15px)가 나왔다 */
html::-webkit-scrollbar { width: 8px; }
html::-webkit-scrollbar-track { background: var(--rn-white); }
html::-webkit-scrollbar-thumb {
    background: var(--rn-blue-600);
    border: 2px solid var(--rn-white);
    border-radius: 30px;
}
html::-webkit-scrollbar-thumb:hover { background: var(--rn-blue-500); }
/* ::-webkit-scrollbar 를 모르는 브라우저(Firefox)만 — 크롬은 scrollbar-color 를 주면 위 모양을 무시한다 */
@supports not selector(::-webkit-scrollbar) {
    html { scrollbar-width: thin; scrollbar-color: var(--rn-blue-600) var(--rn-white); }
}

/* ===== 공용 버튼 호버: 왼쪽에서 채워지는 배경 (aspensearch 참고, 시안 "호버 시 000000 으로 채우기")
   사용: <a class="rn-fill"><span>텍스트</span></a>  — 채움색은 --rn-fill-bg / --rn-fill-fg 로 바꿈 */
.rn-fill {
    --rn-fill-bg: var(--rn-black);
    --rn-fill-fg: var(--rn-white);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    transition: color .8s var(--rn-ease);
}
.rn-fill::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--rn-fill-bg);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .8s var(--rn-ease);
}
.rn-fill > * { position: relative; }
@media (hover: hover) {
    .rn-fill:hover { color: var(--rn-fill-fg); }
    .rn-fill:hover::before { transform: scaleX(1); }
}
@media (prefers-reduced-motion: reduce) {
    .rn-fill, .rn-fill::before { transition: none; }
}

/* ===================================================================
   Header
   =================================================================== */
.rn-header {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 900;
    height: var(--rn-header-h);
    background: var(--rn-white);
    font-family: var(--rn-font-base);
    color: var(--rn-black);
    letter-spacing: -0.02em;
    transition: transform .5s var(--rn-ease);
}
/* 아래로 스크롤하면 숨김 (RenewalHeader). 헤더에 걸린 드롭다운·포커스가 있으면 보이게 둔다 */
body.rn-header-hidden .rn-header:not(:focus-within) { transform: translateY(-100%); }
/* 헤더 — 시안 178:977: 좌우 120 여백, 로고 | GNB(1049) | 아이콘 버튼 2개 (아래 선 없음) */
.rn-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    padding: 0 var(--rn-margin);
}
.rn-header__logo {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    height: 100%;
    font-size: 0;
}
/* 로고 = 글래스 심볼(45) + 글자(119 × 31) — 시안 178:979 */
.rn-header__brand { display: flex; align-items: flex-start; gap: 11px; }
.rn-header__sym { width: 45px; height: 45px; object-fit: contain; }
.rn-header__wordmark { width: 119px; height: auto; margin-top: 7px; }

.rn-gnb { flex: 0 1 1049px; margin: 0 40px; }
.rn-gnb__list { display: flex; align-items: center; justify-content: space-between; }
.rn-gnb__item { position: relative; }
.rn-gnb__link {
    --rn-fill-bg: var(--rn-blue-500);
    display: flex;
    align-items: center;
    padding: 8px 0;
    font-size: 18px;
    font-weight: 500; /* 피그마 코멘트 #28: 레귤러 → 미디엄 */
    line-height: 18px;
    white-space: nowrap;
}
/* 마우스 올림 · 현재 메뉴: 아래 2px 파란 밑줄 (시안 204:778) — 채우기(.rn-fill) 효과는 쓰지 않는다 */
.rn-gnb__link::before { display: none; }
.rn-gnb__link { --rn-fill-fg: var(--rn-black); } /* 마우스를 올려도 글씨 색은 그대로 (밑줄만) */
.rn-gnb__link::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: var(--rn-blue-500);
    transform: scaleX(0);
    transition: transform .4s var(--rn-ease);
}
.rn-gnb__item.is-active > .rn-gnb__link::after,
.rn-gnb__item:focus-within > .rn-gnb__link::after { transform: scaleX(1); }
@media (hover: hover) {
    .rn-gnb__item:hover > .rn-gnb__link::after { transform: scaleX(1); }
}

/* 드롭다운: 메뉴 가운데 정렬, 헤더 하단선에 살짝 걸침 — 둥근 카드 + 그림자 (피그마 코멘트 #26, 시안 204:797 top 76) */
.rn-gnb__sub {
    position: absolute;
    top: calc(100% + 14px);
    left: 50%;
    min-width: 130px;
    border-radius: 12px;
    background: var(--rn-white);
    box-shadow: 0 4px 6px rgba(29, 42, 143, .1);
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -6px);
    transition: opacity .3s var(--rn-ease), transform .3s var(--rn-ease), visibility .3s;
}
.rn-gnb__sub::before { /* 메뉴 → 드롭다운 사이 마우스 이동 통로 (overflow 로 자르지 않는다) */
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 100%;
    height: 20px;
}
/* 메뉴 쪽에서도 아래 틈(14px)을 덮어, 메뉴 → 드롭다운으로 내려가는 동안 hover 가 끊기지 않게 */
.rn-gnb__item::after {
    content: '';
    position: absolute;
    top: 100%;
    left: -12px;
    right: -12px;
    height: 18px;
}
/* 둥근 모서리는 첫·마지막 항목에 (드롭다운에 overflow: hidden 을 주면 위 통로가 잘린다) */
.rn-gnb__sub li:first-child a { border-radius: 12px 12px 0 0; }
.rn-gnb__sub li:last-child a { border-radius: 0 0 12px 12px; }
.rn-gnb__item:hover > .rn-gnb__sub,
.rn-gnb__item:focus-within > .rn-gnb__sub {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}
.rn-gnb__sub a {
    display: block;
    padding: 12px 24px;
    font-size: 16px;
    line-height: 1.7;
    text-align: center;
    white-space: nowrap;
    color: var(--rn-black);
    letter-spacing: -0.02em;
    transition: background-color .3s, color .3s;
}
/* 2뎁스: 일반 hover — 배경색만 바뀐다 */
.rn-gnb__sub a:hover,
.rn-gnb__sub a:focus-visible,
.rn-gnb__sub a[aria-current="page"] { background: var(--rn-blue-50); color: var(--rn-gray-700); }

.rn-header__util { display: flex; gap: 8px; flex-shrink: 0; }
/* 아이콘 버튼 — 시안 178:1017 · 178:1026: 40 × 40, 모서리 4, 테두리 없음 (회원: 회색 / 전체메뉴: 연한 파랑) */
.rn-iconbtn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 0 !important;
    border-radius: 4px;
    background: var(--rn-gray-50) !important;
    transition: background-color .3s;
}
.rn-iconbtn:hover { background: var(--rn-blue-50) !important; }
.rn-burger { background: var(--rn-blue-50) !important; }
.rn-burger:hover { background: var(--rn-blue-100) !important; }
.rn-iconbtn img { width: 15.5px; height: 20.7px; } /* 시안 사람 아이콘 15.4 × 20.7 */
.rn-burger { flex-direction: column; gap: 4.44px; }
.rn-burger span {
    display: block;
    width: 18px;
    height: 1.7px;
    border-radius: 2px;
    background: var(--rn-gray-900);
    transition: transform .4s var(--rn-ease), opacity .3s;
}
body.rn-menu-open .rn-burger span:nth-child(1) { transform: translateY(6.1px) rotate(45deg); }
body.rn-menu-open .rn-burger span:nth-child(2) { opacity: 0; }
body.rn-menu-open .rn-burger span:nth-child(3) { transform: translateY(-6.1px) rotate(-45deg); }

/* ===================================================================
   전체메뉴 (햄버거) — 시안 없음: 푸터 사이트맵 톤으로 구성
   =================================================================== */
/* 전체메뉴: 화면 전체(100vh)를 덮는다 — 위 헤더까지 가린다 (피그마 코멘트 #21). 닫기는 메뉴 안 .rn-allmenu__close */
.rn-allmenu {
    position: fixed;
    inset: 0;
    z-index: 950;
    height: 100vh;
    height: 100dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: var(--rn-blue-700);
    color: var(--rn-white);
    font-family: var(--rn-font-base);
    letter-spacing: -0.02em;
    opacity: 0;
    visibility: hidden;
    clip-path: inset(0 0 100% 0);
    transition: clip-path .7s var(--rn-ease), opacity .3s, visibility .7s;
}
body.rn-menu-open .rn-allmenu { opacity: 1; visibility: visible; clip-path: inset(0 0 0 0); }
body.rn-menu-open { overflow: hidden; }
.rn-allmenu__inner { position: relative; padding: 60px var(--rn-margin) 80px; }
/* 닫기: 헤더 햄버거와 같은 자리·크기 */
.rn-allmenu__close {
    position: absolute;
    top: calc((var(--rn-header-h) - 42px) / 2);
    right: var(--rn-margin);
    z-index: 1;
    width: 42px;
    height: 42px;
    border: 1px solid var(--rn-white) !important;
    transition: background-color .3s;
}
.rn-allmenu__close:hover { background: rgba(255, 255, 255, .12) !important; }
.rn-allmenu__close span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 1.7px;
    border-radius: 2px;
    background: var(--rn-white);
}
.rn-allmenu__close span:first-child { transform: translate(-50%, -50%) rotate(45deg); }
.rn-allmenu__close span:last-child { transform: translate(-50%, -50%) rotate(-45deg); }
.rn-allmenu__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(255, 255, 255, .3);
}
.rn-allmenu__title {
    font-family: var(--rn-font-serif);
    font-weight: 500;
    font-size: clamp(44px, 5.2vw, 100px);
    line-height: 1;
    letter-spacing: -0.02em;
}
.rn-allmenu__member { display: flex; gap: 10px; }
.rn-allmenu__member > * {
    padding: 10px 20px;
    border: 1px solid var(--rn-white) !important;
    font-size: 15px;
    font-weight: 600;
    transition: background-color .3s, color .3s;
}
.rn-allmenu__member > *:hover { background: var(--rn-white); color: var(--rn-blue-700); }
.rn-allmenu__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.rn-allmenu__col {
    padding: 32px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, .15);
    border-right: 1px solid rgba(255, 255, 255, .15);
}
.rn-allmenu__col:nth-child(4n) { border-right: 0; }
.rn-allmenu__dep1 { font-size: 22px; font-weight: 600; text-align: left; cursor: default !important; }
.rn-allmenu__dep2 { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; }
.rn-allmenu__dep2 a { font-size: 16px; line-height: 1.5; color: var(--rn-gray-200); transition: color .3s; }
.rn-allmenu__dep2 a:hover { color: var(--rn-blue-100); }

/* ===================================================================
   우측 퀵메뉴
   =================================================================== */
.rn-quick {
    position: fixed;
    top: 50%;
    right: 40px;
    z-index: 800;
    width: 80px;
    transform: translateY(-50%);
    font-family: var(--rn-font-base);
    box-shadow: 0 8px 24px rgba(15, 17, 40, .08);
}
.rn-quick__item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 80px;
    padding: 12px 6px;
    background: var(--rn-white);
    border-bottom: .7px solid var(--rn-black);
    font-size: 14px;
    line-height: 1.2;
    color: var(--rn-gray-700);
    text-align: center;
    white-space: nowrap;
    transition: background-color .3s;
}
.rn-quick__item:last-child a { border-bottom: 0; }
.rn-quick__item img { width: 28px; height: 28px; object-fit: contain; }
.rn-quick__item.is-primary a { background: var(--rn-blue-600); color: var(--rn-white); }
.rn-quick__item a:hover { background: var(--rn-blue-50); }
.rn-quick__item.is-primary a:hover { background: var(--rn-blue-500); }
.rn-quick__item.is-primary img { filter: brightness(0) invert(1); } /* 하단 바(모바일): 남색 칸 위 흰 아이콘 */
.rn-quick__hub { display: none; }

/* PC·태블릿: 원형 퀵메뉴 — 시안 309:1414 (263 × 248, 오른쪽 28 · 아래 30).
   가운데 로고 원(160)을 누르면 둘레 아이템(60)이 튀어나오며 펼쳐진다 (마우스 올림으로는 열리지 않는다) — 더원서울안과 퀵바 방식 */
@media (min-width: 769px) {
    .rn-quick {
        top: auto;
        right: 28px;
        bottom: 30px;
        width: 263px;
        height: 248px;
        transform: none;
        box-shadow: none;
        pointer-events: none;
    }
    .rn-quick__hub {
        position: absolute;
        left: 71px;
        top: 68px;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 160px;
        height: 160px;
        border-radius: 50%;
        background: var(--rn-blue-500);
        filter: drop-shadow(0 4px 6px rgba(29, 42, 143, .1));
        pointer-events: auto;
        transition: background-color .3s, transform .4s var(--rn-ease);
    }
    .rn-quick__hub:hover { background: var(--rn-blue-600); }
    .rn-quick__hub:active { transform: scale(.96); }
    .rn-quick__eye { width: 69px; height: auto; }
    .rn-quick__ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(var(--rn-ring, 0deg)); } /* 스크롤에 맞춰 돈다 (RenewalHeader) */
    .rn-quick__ring text { font-family: var(--rn-font-base); font-size: 5.7px; fill: rgba(255, 255, 255, .4); }
    .rn-quick ul { position: absolute; inset: 0; }
    .rn-quick__item {
        --x: 0px;
        --y: 0px;
        position: absolute;
        width: 60px;
        height: 60px;
        opacity: 0;
        pointer-events: none;
        /* 닫힘: 로고 원 가운데(151,148)로 모여 작게 */
        transform: translate(calc(121px - var(--x)), calc(118px - var(--y))) scale(.3);
        transition: transform .42s cubic-bezier(.34, 1.2, .64, 1), opacity .28s;
    }
    .rn-quick__item--1 { --x: 203px; --y: 27px; left: 203px; top: 27px; }
    .rn-quick__item--2 { --x: 135px; --y: 0px; left: 135px; top: 0; transition-delay: .03s; }
    .rn-quick__item--3 { --x: 67px; --y: 11px; left: 67px; top: 11px; transition-delay: .06s; }
    .rn-quick__item--4 { --x: 12px; --y: 52px; left: 12px; top: 52px; transition-delay: .09s; }
    .rn-quick__item--5 { --x: 0px; --y: 120px; left: 0; top: 120px; transition-delay: .12s; }
    .rn-quick__item--6 { --x: 22px; --y: 188px; left: 22px; top: 188px; transition-delay: .15s; }
    .rn-quick.is-open .rn-quick__item { opacity: 1; pointer-events: auto; transform: none; }
    .rn-quick__item a,
    .rn-quick__item.is-primary a {
        gap: 2px;
        width: 60px;
        height: 60px;
        padding: 8px;
        border: 0;
        border-radius: 50%;
        background: var(--rn-white);
        box-shadow: 0 4px 6px rgba(29, 42, 143, .1);
        font-size: 11px;
        line-height: 1.2;
        color: var(--rn-gray-700);
    }
    .rn-quick__item a:hover,
    .rn-quick__item.is-primary a:hover { background: var(--rn-blue-50); }
    .rn-quick__item img,
    .rn-quick__item.is-primary img { width: 19px; height: 19px; filter: none; }
}


/* ===================================================================
   Footer
   =================================================================== */
.rn-footer {
    position: relative;
    z-index: 2;
    padding: 120px var(--rn-margin) 50px;
    background: #000;
    color: var(--rn-white);
    font-family: var(--rn-font-base);
    letter-spacing: -0.02em;
}
/* 메인: 직전 섹션(오시는 길) 위로 겹쳐 올라오며, 위쪽은 투명 → 검정 그라데이션 + 블러 (grounded2026 참고) */
.rn-footer--overlap {
    margin-top: -210px;   /* 직전 섹션과 겹쳐 시작하는 높이 (지도·안내문을 너무 일찍 덮지 않게) */
    padding-top: 300px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, .55) 200px, #000 360px, #000 100%);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    /* 블러가 윗변에서 칼같이 시작하지 않고 서서히 진해지도록 */
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 240px);
    mask-image: linear-gradient(to bottom, transparent 0, #000 240px);
}
.rn-footer__inner {
    display: flex;
    justify-content: space-between;
    gap: 60px;
    max-width: 1680px;
    margin: 0 auto;
    padding: 40px 0;
}
.rn-footer__info {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 60px;
    flex-shrink: 0;
}
.rn-footer__logo {
    font-family: var(--rn-font-serif);
    font-weight: 700;
    font-size: 50px;
    line-height: 44.8px;
    letter-spacing: -0.0025em;
}
.rn-footer__policy { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.rn-footer__policy a {
    --rn-fill-bg: var(--rn-white);
    --rn-fill-fg: var(--rn-black);
    padding: 11px 19px;
    border: 1px solid var(--rn-white);
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    white-space: nowrap;
}
.rn-footer__address {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 24px;
    max-width: 500px;
    margin-top: 40px;
    font-style: normal;
    font-size: 16px;
    line-height: 1.7;
}
.rn-footer__address p { white-space: nowrap; }
.rn-footer__address p.is-full { flex-basis: 100%; white-space: normal; }
.rn-footer__address span { margin-right: 12px; color: #999; }
.rn-footer__call-label { font-size: 26px; font-weight: 600; line-height: 32px; }
.rn-footer__call-num {
    display: inline-block;
    margin-top: 6px;
    font-size: 50px;
    font-weight: 700;
    line-height: 60px;
    color: var(--rn-blue-accent) !important;
    letter-spacing: -0.004em;
}
.rn-footer__sns { display: flex; gap: 12px; margin-top: 24px; }
.rn-footer__sns a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    transition: background-color .3s;
}
.rn-footer__sns a.is-ring { border: 1px solid var(--rn-white); }
.rn-footer__sns a:hover { background: rgba(255, 255, 255, .15); }
.rn-footer__copy { font-size: 14px; line-height: 1.5; }

.rn-footer__sitemap {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    flex: 0 1 1055px;
    border-top: 1px solid #3f3f3f;
    border-left: 1px solid #3f3f3f;
}
.rn-footer__col {
    padding: 32px 20px;
    border-right: 1px solid #3f3f3f;
    border-bottom: 1px solid #3f3f3f;
}
.rn-footer__col:nth-child(4n) { border-right: 0; }
.rn-footer__sitemap { border-left: 0; }
.rn-footer__dep1 { font-size: 20px; font-weight: 600; line-height: 1.5; letter-spacing: -0.03em; }
.rn-footer__col ul { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; }
.rn-footer__col a { font-size: 16px; line-height: 1.5; color: var(--rn-gray-200); letter-spacing: -0.03em; transition: color .3s; }
.rn-footer__col a:hover { color: var(--rn-white); text-decoration: underline; text-underline-offset: 3px; }

/* ===================================================================
   반응형 (시안 PC 1920 only → 임의 구성)
   =================================================================== */
@media (max-width: 1600px) {
    .rn-gnb { margin: 0 24px; }
    .rn-gnb__link { font-size: 16px; padding: 8px 6px; }
}
@media (max-width: 1360px) {
    .rn-gnb { display: none; }
    .rn-footer__inner { flex-direction: column; }
    .rn-footer__info { flex-direction: row; flex-wrap: wrap; align-items: flex-end; }
    .rn-footer__copy { flex-basis: 100%; order: 3; }
    .rn-footer__sitemap { flex-basis: auto; }
}
@media (max-width: 1024px) {

    .rn-header__brand { gap: 8px; }
    .rn-header__sym { width: 33px; height: 33px; }
    .rn-header__wordmark { width: 88px; margin-top: 5px; }
    .rn-iconbtn { width: 38px; height: 38px; }
    .rn-allmenu__grid { grid-template-columns: repeat(2, 1fr); }
    .rn-allmenu__col:nth-child(4n) { border-right: 1px solid rgba(255, 255, 255, .15); }
    .rn-allmenu__col:nth-child(2n) { border-right: 0; }
    .rn-footer { padding-top: 80px; }
    .rn-footer--overlap { margin-top: -120px; padding-top: 220px; }
    .rn-footer__sitemap { grid-template-columns: repeat(2, 1fr); }
    .rn-footer__col:nth-child(4n) { border-right: 1px solid #3f3f3f; }
    .rn-footer__col:nth-child(2n) { border-right: 0; }
    .rn-footer__col.is-empty { display: none; }
}
@media (max-width: 768px) {
    /* 퀵메뉴: 하단 고정 바 */
    .rn-quick {
        top: auto;
        right: 0;
        bottom: 0;
        left: 0;
        width: auto;
        transform: none;
        box-shadow: 0 -4px 16px rgba(15, 17, 40, .08);
        padding-bottom: env(safe-area-inset-bottom);
        background: var(--rn-white);
    }
    /* 카카오·네이버 인앱: 하단 툴바가 퀵바를 가리는 만큼 아래 여백 (html 클래스는 [locale]/layout 의 인라인 스크립트).
       카카오는 kakao-inapp 만, 네이버는 둘 다 붙어 naver 가 덮어쓴다 — bum-eye 와 같은 값, 실기기 확인 후 조정 */
    .kakao-inapp .rn-quick { padding-bottom: calc(20px + env(safe-area-inset-bottom)); }
    .naver-inapp .rn-quick { padding-bottom: calc(24px + env(safe-area-inset-bottom)); }
    .rn-quick ul { display: flex; }
    .rn-quick__item { flex: 1; }
    .rn-quick__item a {
        height: 60px;
        gap: 4px;
        padding: 8px 2px;
        border-bottom: 0;
        border-right: .7px solid var(--rn-black);
        font-size: 11px;
    }
    .rn-quick__item:last-child a { border-right: 0; }
    .rn-quick__item img { width: 20px; height: 20px; }


    .rn-header__brand { gap: 7px; }
    .rn-header__sym { width: 28px; height: 28px; }
    .rn-header__wordmark { width: 75px; margin-top: 4px; }
    .rn-header__inner { padding: 0 16px; }
    .rn-header__util { gap: 8px; }

    /* 전체메뉴: 아코디언 */
    .rn-allmenu__inner { padding: 32px 20px 120px; }
    .rn-allmenu__head { flex-direction: column; align-items: flex-start; padding-bottom: 24px; }
    .rn-allmenu__grid { display: block; }
    .rn-allmenu__col { padding: 0; border-right: 0 !important; }
    .rn-allmenu__dep1 {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        padding: 18px 0;
        font-size: 18px;
        cursor: pointer !important;
    }
    .rn-allmenu__dep1::after {
        content: '';
        width: 9px;
        height: 9px;
        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;
        transform: rotate(45deg) translateY(-3px);
        transition: transform .3s;
    }
    .rn-allmenu__col.is-open .rn-allmenu__dep1::after { transform: rotate(-135deg) translateY(-3px); }
    .rn-allmenu__dep2 { display: none; margin: 0; padding: 0 0 20px; }
    .rn-allmenu__col.is-open .rn-allmenu__dep2 { display: flex; }

    .rn-footer { padding: 60px 20px 110px; }
    /* 그라데이션이 지도 위까지 더 올라오게 (#45) */
    .rn-footer--overlap {
        margin-top: -200px;
        padding-top: 260px;
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, .55) 130px, #000 240px, #000 100%);
        -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 160px);
        mask-image: linear-gradient(to bottom, transparent 0, #000 160px);
    }
    .rn-footer__inner { gap: 40px; padding: 0; }
    .rn-footer__sitemap { display: none; } /* 모바일은 사이트맵 없음 (#46) */
    .rn-footer__info { flex-direction: column; align-items: flex-start; gap: 36px; }
    .rn-footer__logo { font-size: 38px; line-height: 1; }
    .rn-footer__policy a { padding: 8px 12px; font-size: 13px; line-height: 20px; }
    .rn-footer__address { font-size: 14px; gap: 2px 16px; }
    .rn-footer__address p { white-space: normal; }
    .rn-footer__call-label { font-size: 20px; }
    .rn-footer__call-num { font-size: 36px; line-height: 44px; }
}
