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

.u-section-1 .u-custom-html-1 {
  height: auto;
  min-height: 400px;
  margin-top: 0;
  margin-bottom: 0;
} html, body {
    margin: 0;
    padding: 0;
    background: #070d16;
}
/* ---------- 1. 디자인 토큰 ---------- */
#bm-root {
       /* 베이스 */
       /* 교차 섹션 */
     /* 패널 */
       /* 라인 */
       /* 아쿠아민트 */
       /* 오션블루 */
       /* 하버앰버 (3rd) */
    
    
    
    
    
    
    
    
    
}
/* ---------- 2. 베이스 ---------- */
#bm-root {
    all: revert;
    box-sizing: border-box;
    font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont,
            "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "맑은 고딕",
            system-ui, sans-serif;
    background: #070d16;
    color: #e6eef7;
    line-height: 1.88;
    letter-spacing: -0.02em;
    word-break: keep-all;
    overflow-wrap: anywhere;
    text-align: left;
    overflow-x: clip;
    background-image:
        radial-gradient(820px 460px at 12% -8%, rgba(53, 214, 192, 0.15), transparent 64%),
        radial-gradient(700px 420px at 88% 2%,  rgba(79, 157, 255, 0.17), transparent 64%);
    background-repeat: no-repeat;
}
#bm-root *,
#bm-root *::before,
#bm-root *::after { box-sizing: border-box; }
#bm-root img {
    max-width: 100%;
    height: auto;
    display: block;
}
#bm-root a { color: #ffc861; text-decoration: none; }
#bm-root a:hover { text-decoration: underline; }
#bm-root strong { color: #35d6c0; font-weight: 700; }
#bm-root :focus-visible {
    outline: 2px solid #4f9dff;
    outline-offset: 3px;
    border-radius: 4px;
}
#bm-root .bd-shell {
    width: 100%;
    max-width: 1080px;
    margin-inline: auto;
    padding-inline: 22px;
}
#bm-root [id] { scroll-margin-top: 80px; }
#bm-root .bd-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}
/* ---------- 3. 헤더 ---------- */
#bm-root .bd-head {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(7, 13, 22, 0.86);
    backdrop-filter: saturate(150%) blur(14px);
    border-bottom: 1px solid #21344a;
}
#bm-root .bd-head-in {
    max-width: 1080px;
    margin-inline: auto;
    padding: 0 22px;
    height: 64px;
    display: flex;
    align-items: center;
    gap: 18px;
}
#bm-root .bd-mark {
    flex: none;
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 1.18rem;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: -0.03em;
}
#bm-root .bd-mark:hover { text-decoration: none; }
#bm-root .bd-mark i {
    font-style: normal;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: #35d6c0;
    text-transform: uppercase;
}
#bm-root .bd-menu {
    display: flex;
    align-items: center;
    gap: 2px;
    margin-left: auto;
    overflow-x: auto;
    scrollbar-width: none;
}
#bm-root .bd-menu::-webkit-scrollbar { display: none; }
#bm-root .bd-menu a {
    position: relative;
    flex: none;
    padding: 8px 11px;
    font-size: 0.9rem;
    font-weight: 600;
    color: #9fb2c6;
    transition: color .16s;
}
#bm-root .bd-menu a::after {
    content: "";
    position: absolute;
    left: 11px;
    right: 11px;
    bottom: 2px;
    height: 2px;
    border-radius: 2px;
    background: linear-gradient(90deg, #35d6c0, #4f9dff);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .18s ease;
}
#bm-root .bd-menu a:hover { color: #ffffff; text-decoration: none; }
#bm-root .bd-menu a:hover::after { transform: scaleX(1); }
/* ---------- 4. 오프닝(히어로) ---------- */
#bm-root .bd-open {
    padding: 66px 0 58px;
    text-align: center;
}
#bm-root .bd-tagline {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 22px;
    padding: 7px 8px 7px 16px;
    font-size: 0.84rem;
    font-weight: 600;
    color: #cfe3f5;
    background: rgba(79, 157, 255, 0.09);
    border: 1px solid rgba(79, 157, 255, 0.32);
    border-radius: 999px;
}
#bm-root .bd-tagline em {
    font-style: normal;
    padding: 3px 11px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    color: #05202b;
    background: linear-gradient(135deg, #35d6c0, #4f9dff);
    border-radius: 999px;
}
#bm-root h1 {
    margin: 0 0 26px;
    font-size: clamp(2.05rem, 5.2vw, 3.3rem);
    font-weight: 800;
    line-height: 1.28;
    letter-spacing: -0.045em;
    color: #ffffff;
}
#bm-root h1 em {
    font-style: normal;
    background: linear-gradient(96deg, #35d6c0 8%, #4f9dff 58%, #ffc861 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
#bm-root .bd-intro {
    max-width: 66ch;
    margin: 0 auto 30px;
    font-size: clamp(1rem, 1.55vw, 1.13rem);
    line-height: 1.98;
    color: #9fb2c6;
    text-align: left;
}
#bm-root .bd-intro strong { color: #a9f0e2; }
/* 히어로 하단 사실 스트립 */
#bm-root .bd-facts {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
    margin: 0 auto 34px;
    padding: 0;
    list-style: none;
    border: 1px solid #21344a;
    border-radius: 999px;
    background: #101c2c8c;
    overflow: hidden;
}
#bm-root .bd-facts li {
    padding: 12px 22px;
    font-size: 0.87rem;
    color: #9fb2c6;
    border-right: 1px solid #21344a;
}
#bm-root .bd-facts li:last-child { border-right: 0; }
#bm-root .bd-facts b { color: #ffffff; font-weight: 700; }
#bm-root .bd-facts time { color: #35d6c0; }
/* CTA */
#bm-root .bd-go {
    display: inline-block;
    margin: 0 auto 46px;
    border-radius: 16px;
    overflow: hidden;
    line-height: 0;
    box-shadow: 0 16px 40px rgba(53, 214, 192, 0.24);
    transition: transform .18s ease, box-shadow .18s ease;
}
#bm-root .bd-go:hover {
    transform: translateY(-3px);
    box-shadow: 0 22px 52px rgba(79, 157, 255, 0.36);
    text-decoration: none;
}
#bm-root .bd-go img { width: 500px; max-width: 100%; height: auto; }
/* ---------- 5. 이미지 (크기 규칙 원본 유지) ---------- */
#bm-root .bm-figure {
    margin: 0 0 44px;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid #21344a;
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.5);
}
#bm-root .bm-figure img { width: 100%; }
#bm-root .bm-figure-hero { margin-bottom: 52px; }
#bm-root .bm-figure--md { max-width: 640px; margin-inline: auto; }
#bm-root .bm-figure--sq { max-width: 560px; margin-inline: auto; }
#bm-root .bm-figure--wide { max-width: 930px; margin-inline: auto; }
#bm-root .bd-text + .bm-figure { margin-top: 40px; }
#bm-root .bd-tablebox + .bm-figure { margin-top: 4px; }
/* ---------- 6. 목차 ---------- */
#bm-root .bd-index {
    padding: 26px 24px 22px;
    background: #101c2c8c;
    border: 1px solid #21344a;
    border-radius: 22px;
    text-align: left;
}
#bm-root .bd-index-h {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 18px;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    color: #35d6c0;
    text-transform: uppercase;
}
#bm-root .bd-index-h::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, #21344a, transparent);
}
#bm-root .bd-index-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px 30px;
    margin: 0;
    padding: 0;
    list-style: none;
}
#bm-root .bd-index-list a {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 11px 6px;
    border-bottom: 1px dashed rgba(33, 52, 74, 0.9);
    color: #e6eef7;
    font-size: 0.94rem;
    line-height: 1.55;
    transition: color .15s, padding-left .15s;
}
#bm-root .bd-index-list a:hover {
    color: #35d6c0;
    padding-left: 12px;
    text-decoration: none;
}
#bm-root .bd-index-list b {
    flex: none;
    min-width: 22px;
    font-size: 0.78rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: #4f9dff;
}
#bm-root .bd-index-list span { flex: 1; }
/* ---------- 7. 섹션 ---------- */
#bm-root .bd-block { padding: 78px 0; }
#bm-root .bd-block--tint {
    background: #0c1421;
    border-block: 1px solid #21344a;
}
#bm-root .bd-block-head {
    max-width: 72ch;
    margin: 0 auto 34px;
    padding-left: 18px;
    border-left: 3px solid #35d6c0;
    text-align: left;
}
#bm-root .bd-over {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 9px;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    color: #4f9dff;
    text-transform: uppercase;
}
#bm-root .bd-tag {
    display: inline-block;
    padding: 2px 9px;
    font-size: 0.7rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.05em;
    color: #05202b;
    background: #35d6c0;
    border-radius: 5px;
}
#bm-root h2 {
    max-width: 30ch;
    margin: 0;
    font-size: clamp(1.45rem, 3vw, 1.98rem);
    font-weight: 800;
    line-height: 1.44;
    letter-spacing: -0.04em;
    color: #ffffff;
}
#bm-root h3 {
    max-width: 72ch;
    margin: 44px auto 14px;
    padding-bottom: 9px;
    font-size: clamp(1.1rem, 1.9vw, 1.28rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -0.03em;
    color: #35d6c0;
    border-bottom: 1px solid rgba(33, 52, 74, 0.85);
}
#bm-root .bd-text {
    max-width: 72ch;
    margin-inline: auto;
}
#bm-root .bd-text p {
    margin: 0 0 24px;
    font-size: 1.02rem;
    line-height: 1.96;
    color: #cddbe9;
    text-align: left;
}
#bm-root .bd-text p:last-child { margin-bottom: 0; }
/* ---------- 8. 포인트 박스 ---------- */
#bm-root .bd-point {
    max-width: 72ch;
    margin: 0 auto 38px;
    padding: 20px 22px 20px 24px;
    background: linear-gradient(135deg, rgba(53, 214, 192, 0.1), rgba(79, 157, 255, 0.04));
    border: 1px solid rgba(53, 214, 192, 0.3);
    border-radius: 16px;
}
#bm-root .bd-point-h {
    margin: 0 0 12px;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: #7ff0dc;
}
#bm-root .bd-point ol {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: bdp;
}
#bm-root .bd-point li {
    position: relative;
    margin-bottom: 9px;
    padding-left: 26px;
    font-size: 0.97rem;
    line-height: 1.82;
    color: #e6eef7;
    counter-increment: bdp;
}
#bm-root .bd-point li:last-child { margin-bottom: 0; }
#bm-root .bd-point li::before {
    content: counter(bdp);
    position: absolute;
    left: 0;
    top: 0.34em;
    width: 17px;
    height: 17px;
    font-size: 0.66rem;
    font-weight: 800;
    line-height: 17px;
    text-align: center;
    color: #05202b;
    background: #35d6c0;
    border-radius: 5px;
}
/* ---------- 9. 플로우(스텝) ---------- */
#bm-root .bd-flow {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(168px, 1fr));
    gap: 10px;
    margin: 0 0 38px;
    padding: 0;
    list-style: none;
}
#bm-root .bd-flow li {
    padding: 16px 16px 14px;
    background: #101c2c8c;
    border: 1px solid #21344a;
    border-top: 2px solid #4f9dff;
    border-radius: 0 0 10px 10px;
}
#bm-root .bd-flow b {
    display: block;
    margin-bottom: 7px;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: #4f9dff;
}
#bm-root .bd-flow strong {
    display: block;
    margin-bottom: 5px;
    font-size: 0.98rem;
    font-weight: 700;
    color: #ffffff;
}
#bm-root .bd-flow span {
    display: block;
    font-size: 0.87rem;
    line-height: 1.7;
    color: #9fb2c6;
}
/* ---------- 10. 카드 그리드 ---------- */
#bm-root .bd-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 12px;
    margin: 0 0 40px;
    padding: 0;
    list-style: none;
}
#bm-root .bd-grid li {
    position: relative;
    padding: 22px 20px 20px;
    background: #101c2c8c;
    border: 1px solid #21344a;
    border-radius: 16px;
    transition: border-color .16s, transform .16s;
}
#bm-root .bd-grid li:hover {
    border-color: rgba(53, 214, 192, 0.5);
    transform: translateY(-3px);
}
#bm-root .bd-grid b {
    position: absolute;
    top: 16px;
    right: 18px;
    font-size: 1.5rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    color: rgba(79, 157, 255, 0.22);
}
#bm-root .bd-grid strong {
    display: block;
    margin-bottom: 8px;
    padding-right: 34px;
    font-size: 1.01rem;
    font-weight: 700;
    color: #ffffff;
}
#bm-root .bd-grid span {
    display: block;
    font-size: 0.89rem;
    line-height: 1.72;
    color: #9fb2c6;
}
/* ---------- 11. 표 ---------- */
#bm-root .bd-tablebox {
    max-width: 940px;
    margin: 0 auto 42px;
    overflow-x: auto;
    border: 1px solid #21344a;
    border-radius: 16px;
    background: #101c2c8c;
}
#bm-root .bd-table {
    width: 100%;
    min-width: 560px;
    border-collapse: collapse;
    font-size: 0.94rem;
}
#bm-root .bd-table caption {
    padding: 16px 18px 12px;
    font-size: 0.85rem;
    font-weight: 700;
    color: #9fb2c6;
    text-align: left;
}
#bm-root .bd-table thead th {
    padding: 12px 14px;
    font-weight: 700;
    color: #d9ecff;
    background: rgba(79, 157, 255, 0.14);
    border-bottom: 1px solid rgba(53, 214, 192, 0.4);
    text-align: left;
    white-space: nowrap;
}
#bm-root .bd-table tbody th,
#bm-root .bd-table td {
    padding: 13px 14px;
    border-bottom: 1px solid rgba(33, 52, 74, 0.7);
    line-height: 1.72;
    text-align: left;
    vertical-align: top;
}
#bm-root .bd-table tbody th {
    font-weight: 700;
    color: #ffffff;
    white-space: nowrap;
    border-right: 1px solid rgba(33, 52, 74, 0.7);
}
#bm-root .bd-table td { color: #c3d3e3; }
#bm-root .bd-table tbody tr:last-child th,
#bm-root .bd-table tbody tr:last-child td { border-bottom: none; }
#bm-root .bd-table tbody tr:hover { background: rgba(255, 255, 255, 0.03); }
/* ---------- 12. 진단 리스트 ---------- */
#bm-root .bd-check {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
    gap: 13px;
    margin: 0 0 40px;
    padding: 0;
    list-style: none;
}
#bm-root .bd-check li {
    padding: 20px 20px 18px;
    background: #101c2c8c;
    border: 1px solid #21344a;
    border-radius: 16px;
}
#bm-root .bd-check-h {
    margin: 0 0 12px;
    padding-bottom: 11px;
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.55;
    color: #ffffff;
    border-bottom: 1px solid #21344a;
}
#bm-root .bd-check-h b {
    display: inline-block;
    margin-right: 8px;
    padding: 2px 9px;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    line-height: 1.7;
    color: #05202b;
    background: #ffc861;
    border-radius: 5px;
    vertical-align: 2px;
}
#bm-root .bd-check-r {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 10px;
    margin: 0 0 8px;
    font-size: 0.92rem;
    line-height: 1.74;
    color: #9fb2c6;
}
#bm-root .bd-check-r b {
    padding-top: 0.22em;
    font-size: 0.73rem;
    font-weight: 800;
    color: #4f9dff;
}
#bm-root .bd-check-r:last-child { margin-bottom: 0; color: #e6eef7; }
#bm-root .bd-check-r:last-child b { color: #35d6c0; }
/* ---------- 13. 용어 리스트 ---------- */
#bm-root .bd-terms {
    max-width: 940px;
    margin: 0 auto 40px;
    padding: 0;
    border-top: 1px solid #21344a;
}
#bm-root .bd-terms > div {
    display: grid;
    grid-template-columns: minmax(140px, 210px) 1fr;
    gap: 8px 24px;
    padding: 17px 4px;
    border-bottom: 1px solid #21344a;
}
#bm-root .bd-terms dt {
    margin: 0;
    font-size: 0.99rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #35d6c0;
}
#bm-root .bd-terms dd {
    margin: 0;
    font-size: 0.93rem;
    line-height: 1.78;
    color: #9fb2c6;
}
/* ---------- 14. Q&A ---------- */
#bm-root .bd-qa {
    max-width: 72ch;
    margin: 0 auto 16px;
}
#bm-root .bd-qa details {
    margin-bottom: 8px;
    background: #101c2c8c;
    border: 1px solid #21344a;
    border-radius: 10px;
    overflow: hidden;
}
#bm-root .bd-qa details[open] {
    border-color: rgba(53, 214, 192, 0.45);
    background: rgba(53, 214, 192, 0.05);
}
#bm-root .bd-qa summary {
    position: relative;
    padding: 15px 48px 15px 44px;
    font-size: 0.99rem;
    font-weight: 700;
    color: #ffffff;
    cursor: pointer;
    list-style: none;
    line-height: 1.66;
}
#bm-root .bd-qa summary::-webkit-details-marker { display: none; }
#bm-root .bd-qa summary::before {
    content: "Q";
    position: absolute;
    left: 18px;
    top: 15px;
    font-size: 0.92rem;
    font-weight: 800;
    color: #35d6c0;
}
#bm-root .bd-qa summary::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    width: 9px;
    height: 9px;
    margin-top: -6px;
    border-right: 2px solid #4f9dff;
    border-bottom: 2px solid #4f9dff;
    transform: rotate(45deg);
    transition: transform .2s;
}
#bm-root .bd-qa details[open] summary::after {
    transform: rotate(225deg);
    margin-top: -2px;
}
#bm-root .bd-qa summary:hover { background: rgba(255, 255, 255, 0.035); }
#bm-root .bd-qa details p {
    margin: 0;
    padding: 0 20px 18px 44px;
    font-size: 0.96rem;
    line-height: 1.92;
    color: #c3d3e3;
}
#bm-root .bd-qa details p::before {
    content: "A";
    display: inline-block;
    margin-left: -26px;
    width: 26px;
    font-weight: 800;
    color: #ffc861;
}
/* ==========================================================================
   15. 푸터 — 3열 맵 + 태그 스트립
   ========================================================================== */
#bm-root .bd-foot {
    position: relative;
    /* 하단 여백은 플로팅 배너가 마지막 줄을 가리지 않도록 확보 */
    padding: 60px 0 108px;
    background: #050a11;
    border-top: 1px solid #21344a;
}
#bm-root .bd-foot::before {
    content: "";
    position: absolute;
    inset: -1px 0 auto;
    height: 1px;
    background: linear-gradient(90deg, transparent, #35d6c0, #4f9dff, transparent);
    opacity: 0.75;
}
#bm-root .bd-foot-top {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 26px;
    padding-bottom: 30px;
    border-bottom: 1px solid #21344a;
}
#bm-root .bd-foot-id { flex: 1 1 340px; }
#bm-root .bd-foot-logo {
    display: flex;
    align-items: baseline;
    gap: 9px;
    margin: 0 0 12px;
    font-size: 1.22rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #ffffff;
}
#bm-root .bd-foot-logo i {
    font-style: normal;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: #35d6c0;
    text-transform: uppercase;
}
#bm-root .bd-foot-desc {
    margin: 0;
    max-width: 52ch;
    font-size: 0.89rem;
    line-height: 1.82;
    color: #7e91a6;
}
#bm-root .bd-foot-act {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex: none;
    padding: 13px 24px;
    font-size: 0.93rem;
    font-weight: 800;
    color: #05202b;
    background: linear-gradient(135deg, #35d6c0, #4f9dff);
    border-radius: 10px;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}
#bm-root .bd-foot-act:hover {
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(53, 214, 192, 0.26);
}
#bm-root .bd-foot-act span { font-size: 1.02rem; }
/* 3열 맵 */
#bm-root .bd-foot-map {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px 26px;
    padding: 30px 0 28px;
    border-bottom: 1px solid #21344a;
}
#bm-root .bd-foot-set-h {
    margin: 0 0 13px;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: #4f9dff;
    text-transform: uppercase;
}
#bm-root .bd-foot-set ul { margin: 0; padding: 0; list-style: none; }
#bm-root .bd-foot-set li { margin-bottom: 8px; }
#bm-root .bd-foot-set a {
    display: inline-block;
    font-size: 0.87rem;
    line-height: 1.62;
    color: #92a5b9;
    border-bottom: 1px solid transparent;
    transition: color 0.16s ease, border-color 0.16s ease;
}
#bm-root .bd-foot-set a:hover {
    color: #35d6c0;
    border-bottom-color: rgba(53, 214, 192, 0.55);
    text-decoration: none;
}
/* 질문 태그 */
#bm-root .bd-foot-tags {
    padding: 26px 0 24px;
    border-bottom: 1px solid #21344a;
}
#bm-root .bd-foot-tags ul {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}
#bm-root .bd-foot-tags a {
    display: inline-block;
    padding: 7px 14px;
    font-size: 0.83rem;
    color: #92a5b9;
    background: rgba(255, 255, 255, 0.028);
    border: 1px solid #21344a;
    border-radius: 7px;
    transition: color 0.16s ease, border-color 0.16s ease, background 0.16s ease;
}
#bm-root .bd-foot-tags a:hover {
    color: #ffffff;
    border-color: #4f9dff;
    background: rgba(79, 157, 255, 0.1);
    text-decoration: none;
}
/* 고지 */
#bm-root .bd-foot-disc {
    max-width: 92ch;
    margin: 0;
    padding: 24px 0 20px;
    font-size: 0.81rem;
    line-height: 1.9;
    color: #6c7d90;
    border-bottom: 1px solid #21344a;
}
#bm-root .bd-foot-disc strong { color: #8ea1b4; }
/* 하단 바 */
#bm-root .bd-foot-end {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 20px;
}
#bm-root .bd-foot-copy {
    margin: 0;
    font-size: 0.79rem;
    color: #6c7d90;
}
#bm-root .bd-foot-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0;
    padding: 0;
    font-size: 0.79rem;
    color: #6c7d90;
}
#bm-root .bd-foot-meta > div { display: flex; gap: 7px; }
#bm-root .bd-foot-meta dt { margin: 0; font-weight: 700; color: #ffc861; }
#bm-root .bd-foot-meta dd { margin: 0; }
/* ==========================================================================
   16. 플로팅 배너 (5시 방향)
   ========================================================================== */
#bm-root .bd-dock {
    position: fixed;
    right: 26px;
    bottom: 26px;
    z-index: 90;
    animation: bd-bob 4.2s ease-in-out infinite;
    pointer-events: none;
}
#bm-root .bd-dock > * { pointer-events: auto; }
/* 테두리 발광 — 알약 모양 두 겹(가까운 빛 + 퍼지는 빛) */
#bm-root .bd-dock-glow {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    pointer-events: none;
}
#bm-root .bd-dock-glow::before,
#bm-root .bd-dock-glow::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    background: linear-gradient(115deg,
        #35d6c0 0%,
        #4f9dff 42%,
        #ffc861 72%,
        #35d6c0 100%);
    will-change: opacity, transform;
}
#bm-root .bd-dock-glow::before {
    inset: -3px;
    filter: blur(9px);
    opacity: 0.9;
    animation: bd-glow-rim 3.4s ease-in-out infinite;
}
#bm-root .bd-dock-glow::after {
    inset: -13px;
    filter: blur(26px);
    opacity: 0.5;
    animation: bd-glow-halo 3.4s ease-in-out infinite;
}
#bm-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, #10202f, #0a1119);
    border: 1px solid rgba(53, 214, 192, 0.5);
    border-radius: 999px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.62), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    color: #fff;
    transition: transform 0.2s ease, border-color 0.2s ease;
}
#bm-root .bd-dock-btn:hover {
    text-decoration: none;
    transform: scale(1.03);
    border-color: rgba(53, 214, 192, 0.95);
}
#bm-root .bd-dock-dot {
    flex: none;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #35d6c0;
    box-shadow: 0 0 0 0 rgba(53, 214, 192, 0.7);
    animation: bd-dock-ping 2.1s ease-out infinite;
}
#bm-root .bd-dock-txt {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 1px;
    line-height: 1.35;
    white-space: nowrap;
}
#bm-root .bd-dock-txt b {
    font-size: 1.02rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #fff;
}
#bm-root .bd-dock-txt em {
    font-style: normal;
    font-size: 0.73rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #35d6c0;
}
#bm-root .bd-dock-ico {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    color: #05202b;
    background: linear-gradient(135deg, #35d6c0, #4f9dff);
    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(53, 214, 192, 0.65); }
    70%  { box-shadow: 0 0 0 11px rgba(53, 214, 192, 0); }
    100% { box-shadow: 0 0 0 0 rgba(53, 214, 192, 0); }
}
@keyframes bd-dock-slide {
    0%, 100% { transform: translateX(0); }
    50%      { transform: translateX(4px); }
}
/* ==========================================================================
   17. 이미지 자리(플레이스홀더)
   ※ max-width / aspect-ratio / min-height 수치는 원본 그대로. 색상만 스킨 적용.
   ========================================================================== */
#bm-root .bm-ph {
    width: 100%;
    max-width: 930px;
    margin: 6px auto 42px;
    padding: 0;
}
#bm-root .bd-text + .bm-ph { margin-top: 40px; }
#bm-root .bd-tablebox + .bm-ph { margin-top: 4px; }
#bm-root .bm-ph--wide { max-width: 930px; }
#bm-root .bm-ph--md   { max-width: 640px; }
#bm-root .bm-ph--sq   { max-width: 560px; }
#bm-root .bm-ph-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 15px;
    aspect-ratio: 930 / 620;
    padding: 28px 26px;
    background-color: #0a1119;
    background-image: repeating-linear-gradient(135deg,
        rgba(53, 214, 192, 0.06) 0 12px,
        rgba(255, 255, 255, 0) 12px 26px);
    border: 2px dashed #2c4560;
    border-radius: 22px;
}
#bm-root .bm-ph--wide .bm-ph-box { aspect-ratio: 930 / 360; }
#bm-root .bm-ph--md   .bm-ph-box { aspect-ratio: 640 / 420; }
#bm-root .bm-ph--sq   .bm-ph-box { aspect-ratio: 1 / 1; }
#bm-root .bm-ph-mark {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    color: #35d6c0;
    background: rgba(53, 214, 192, 0.1);
    border: 1px solid rgba(53, 214, 192, 0.35);
    border-radius: 12px;
}
#bm-root .bm-ph-file {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: #ffffff;
}
#bm-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: #05202b;
    background: #ffc861;
    border-radius: 999px;
    vertical-align: 1px;
}
#bm-root .bm-ph-spec {
    display: grid;
    gap: 9px;
    max-width: 74ch;
    margin: 0;
    padding: 0;
}
#bm-root .bm-ph-spec > div {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 10px;
}
#bm-root .bm-ph-spec dt {
    margin: 0;
    padding-top: 0.2em;
    font-size: 0.75rem;
    font-weight: 800;
    color: #4f9dff;
}
#bm-root .bm-ph-spec dd {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.7;
    color: #9fb2c6;
}
#bm-root .bm-ph-spec .bm-ph-copy {
    font-weight: 700;
    color: #ffffff;
}
#bm-root .bm-ph figcaption {
    margin-top: 11px;
    font-size: 0.78rem;
    color: #6c7d90;
    text-align: center;
}
/* ==========================================================================
   18. 반응형
   ========================================================================== */
@media (max-width: 1000px) {
    #bm-root .bd-foot-map { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
    #bm-root .bd-index-list { grid-template-columns: 1fr; }
    #bm-root .bd-terms > div { grid-template-columns: 1fr; gap: 5px; }
}
@media (max-width: 640px) {
    #bm-root .bd-shell { padding-inline: 16px; }
    #bm-root .bd-head-in { padding: 0 16px; height: 58px; gap: 12px; }
    #bm-root [id] { scroll-margin-top: 70px; }
    #bm-root .bd-open { padding: 42px 0 38px; }
    #bm-root .bd-block { padding: 56px 0; }
    #bm-root .bd-block-head { padding-left: 14px; }
    #bm-root .bd-index { padding: 22px 17px 18px; }
    #bm-root .bd-facts { border-radius: 16px; }
    #bm-root .bd-facts li { flex: 1 1 100%; border-right: 0; border-bottom: 1px solid #21344a; text-align: center; }
    #bm-root .bd-facts li:last-child { border-bottom: 0; }
    #bm-root .bd-point { padding: 18px 16px 18px 18px; }
    #bm-root .bd-text p { font-size: 0.99rem; }
    #bm-root .bm-figure { border-radius: 14px; }
    #bm-root .bd-table { font-size: 0.87rem; min-width: 480px; }
    #bm-root .bd-table thead th,
    #bm-root .bd-table tbody th,
    #bm-root .bd-table td { padding: 10px; }
    #bm-root .bd-foot { padding: 44px 0 130px; }
    #bm-root .bd-foot-map { grid-template-columns: 1fr; gap: 22px; }
    #bm-root .bd-foot-act { width: 100%; justify-content: center; }
    #bm-root .bd-foot-desc { font-size: 0.85rem; }
    #bm-root .bd-foot-tags a { font-size: 0.79rem; padding: 6px 12px; }
    #bm-root .bd-foot-end { justify-content: flex-start; }
    #bm-root .bm-ph { margin-bottom: 34px; }
    #bm-root .bd-text + .bm-ph { margin-top: 32px; }
    #bm-root .bm-ph-box,
    #bm-root .bm-ph--wide .bm-ph-box,
    #bm-root .bm-ph--md .bm-ph-box,
    #bm-root .bm-ph--sq .bm-ph-box {
        aspect-ratio: auto;
        min-height: 300px;
        padding: 20px 16px;
        gap: 12px;
        border-radius: 14px;
    }
    #bm-root .bm-ph-mark { width: 38px; height: 38px; }
    #bm-root .bm-ph-file { font-size: 0.85rem; }
    #bm-root .bm-ph-spec dd { font-size: 0.86rem; }
    #bm-root .bd-check li { padding: 17px 16px 15px; }
    #bm-root .bd-check-r { grid-template-columns: 46px 1fr; gap: 8px; }
    #bm-root .bd-dock {
        right: 14px;
        left: auto;
        bottom: 14px;
    }
    #bm-root .bd-dock-btn {
        min-width: 0;
        width: auto;
        padding: 11px 13px 11px 16px;
        gap: 9px;
    }
    #bm-root .bd-dock-txt b { font-size: 0.87rem; }
    #bm-root .bd-dock-txt em { font-size: 0.66rem; }
    #bm-root .bd-dock-ico { width: 28px; height: 28px; }
    #bm-root .bd-dock-glow::before { inset: -2px; filter: blur(7px); }
    #bm-root .bd-dock-glow::after { inset: -10px; filter: blur(20px); }
}
@media (prefers-reduced-motion: reduce) {
    #bm-root * {
        animation-duration: 0.01ms;
        transition-duration: 0.01ms;
    }
}
@media print {
    #bm-root { background: #fff; color: #000; }
    #bm-root .bd-head,
    #bm-root .bd-go,
    #bm-root .bd-dock,
    #bm-root .bd-foot-act { display: none; }
} 