body, button, input, select, textarea {
            font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', sans-serif;
            letter-spacing: -0.02em;
            font-weight: 400;
        }
        .u11-eng, #u11-header .top_util, #u11-footer .copyr { font-family: 'Montserrat', 'Pretendard', sans-serif; letter-spacing: 0; }

/* Tailwind v2 prebuilt에는 arbitrary value (max-w-[920px] / text-[var(...)] 등)가 빌드되지 않으므로
           같은 셀렉터를 직접 정의해 호환 */
        /* 색상 변수 */
        .text-\[var\(--color-primary\)\] { color: var(--color-primary); }
        .text-\[var\(--color-primary-hover\)\] { color: var(--color-primary-hover); }
        .text-\[var\(--color-text-muted\)\] { color: var(--color-text-muted); }
        .text-\[var\(--color-text\)\] { color: var(--color-text, #222); }
        .text-\[var\(--color-border\)\] { color: var(--color-border, #e5e7eb); }
        .bg-\[var\(--color-primary\)\] { background-color: var(--color-primary); }
        .bg-\[var\(--color-primary-light\)\] { background-color: var(--color-primary-light); }
        .bg-\[var\(--color-bg-card\)\] { background-color: var(--color-bg-card, #f9fafb); }
        .bg-\[var\(--color-text-muted\)\] { background-color: var(--color-text-muted); }
        .border-\[var\(--color-primary\)\] { border-color: var(--color-primary); }
        .border-\[var\(--color-border\)\] { border-color: var(--color-border, #e5e7eb); }
        /* hover variants (Tailwind v3 JIT용 arbitrary value 호환) */
        .hover\:text-\[var\(--color-primary\)\]:hover { color: var(--color-primary); }
        .hover\:text-\[var\(--color-primary-hover\)\]:hover { color: var(--color-primary-hover); }
        .hover\:bg-\[var\(--color-primary\)\]:hover { background-color: var(--color-primary); }
        .hover\:bg-\[var\(--color-primary-hover\)\]:hover { background-color: var(--color-primary-hover); }
        .hover\:bg-\[var\(--color-primary-light\)\]:hover { background-color: var(--color-primary-light); }
        .hover\:border-\[var\(--color-primary\)\]:hover { border-color: var(--color-primary); }

        /* 폭/크기 (arbitrary px) */
        .max-w-\[920px\] { max-width: 920px; }
        .max-w-\[1200px\] { max-width: 1200px; }
        .max-w-\[1240px\] { max-width: 1240px; }
        .w-\[60px\] { width: 60px; }
        .h-\[60px\] { height: 60px; }
        .pt-\[70px\] { padding-top: 70px; }
        .rounded-\[20px\] { border-radius: 20px; }

:root{--color-heading:#333333;--color-link:#104880;--color-primary:#104880;--color-primary-hover:#0a3252;--color-primary-light:#dbe6f2;--color-strong:#333333}

/* === upper11 원본 톤 매칭 === */
        :root {
            --u11-gold: #104880;
            --u11-gold-soft: #3a6ea5;
            --u11-dark: #222;
            --u11-dark-2: #393939;
        }
        body { font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', sans-serif; margin: 0; color:#222; font-weight:400; letter-spacing:-0.02em; }

        /* 헤더 — 원본 CSS(.stiky 상태) 매칭: 흰 배경, 90px 높이, 골드 호버 */
        #u11-header { background:#fff; border-bottom:1px solid #ddd; position:sticky; top:0; z-index:50; }
        #u11-header .inner { max-width:1800px; margin:0 auto; display:flex; align-items:center; padding:0 40px; height:90px; }
        /* 원본: #logo padding:15px 0 10px (h1 65px 영역에서 이미지 자연 표시), margin-right:50px */
        #u11-header #logo { margin:0 50px 0 0; padding:15px 0 10px; line-height:0; }
        #u11-header #logo a { display:inline-block; }
        #u11-header #logo img { height:68px; width:auto; vertical-align:middle; display:block; }

        /* GNB — 원본: dep1 padding:0 25px / font-size:18px / line-height:90px */
        #u11-header #gnb_wrap { flex:1; position:relative; min-width:0; }
        #u11-header .dep1_wrap { display:flex; padding:0 20px; margin:0; list-style:none; flex-wrap:nowrap; }
        #u11-header .dep1_con { position:relative; flex:0 0 auto; }
        #u11-header .dep1_con .dep1 {
            display:block; padding:0 25px; color:#333; font-size:18px; font-weight:500;
            line-height:90px; transition:color .25s; text-decoration:none; letter-spacing:-0.02em;
            white-space:nowrap;
        }
        #u11-header .dep1_con:hover .dep1 { color:var(--u11-gold); }
        /* 원본은 현재 페이지 active 강조가 없음 — 동일하게 처리 (블로그 페이지에서도 골드로 표시 안 함) */
        #u11-header .dep1_con .dep1.active { color:var(--u11-gold); }

        /* TOP UTIL — 원본 .top_util: Montserrat, padding 0 7px, letter-spacing -0.5px */
        #u11-header .top_util { display:flex; align-items:center; gap:10px; margin-left:auto;
            font-family:'Montserrat',sans-serif; font-size:15px; font-weight:500; color:#222;
            list-style:none; padding:0; letter-spacing:-0.5px; }
        #u11-header .top_util li { padding:0 7px; }
        #u11-header .top_util a { color:#222; text-decoration:none; transition:color .2s; }
        #u11-header .top_util a:hover { color:var(--u11-gold); }
        #u11-header .top_util .sep { color:#d0d0d0; padding:0; font-weight:300; }

        /* 모바일 햄버거 */
        .u11-hamburger { display:none; background:none; border:none; cursor:pointer; padding:8px; color:#222; margin-left:auto; }
        .u11-mobile-menu { display:none; position:absolute; top:100%; left:0; right:0; background:#fff;
            border-bottom:1px solid #e5e5e5; box-shadow:0 8px 24px rgba(0,0,0,0.06); z-index:200;
            padding:8px 16px; max-height:75vh; overflow-y:auto; }
        .u11-mobile-menu.show { display:block; }
        .u11-mobile-menu a { display:block; padding:14px 8px; font-size:16px; color:#333;
            text-decoration:none; border-bottom:1px solid #f3f3f3; transition:color .2s; }
        .u11-mobile-menu a:last-child { border-bottom:none; }
        .u11-mobile-menu a:hover, .u11-mobile-menu a.active { color:var(--u11-gold); font-weight:600; }

        /* 1600px 이하 — 메뉴 살짝 좁힘 */
        @media (max-width: 1600px) {
            #u11-header .inner { padding:0 30px; }
            #u11-header #logo { margin-right:30px; }
            #u11-header .dep1_con .dep1 { padding:0 16px; font-size:17px; }
        }
        /* 1450px 이하 — 더 좁힘, 로고 축소 */
        @media (max-width: 1450px) {
            #u11-header #logo img { height:60px; }
            #u11-header #logo { margin-right:18px; }
            #u11-header .dep1_con .dep1 { padding:0 11px; font-size:15px; }
            #u11-header .top_util { font-size:14px; gap:6px; }
            #u11-header .top_util li { padding:0 4px; }
        }
        /* 1340px 이하 — GNB/유틸 숨기고 햄버거로 전환 (메뉴 겹침/깨짐 방지) */
        @media (max-width: 1340px) {
            #u11-header .inner { padding:0 20px; height:80px; }
            #u11-header #logo { padding:0; margin-right:0; }
            #u11-header #logo img { height:48px; }
            #u11-header #gnb_wrap, #u11-header .top_util { display:none; }
            .u11-hamburger { display:block; }
        }
        @media (max-width: 480px) {
            #u11-header .inner { height:64px; }
            #u11-header #logo img { height:36px; }
        }

        /* 푸터 — 원본 #footer 톤 (#222), font-weight:300 + 본문 opacity:0.3 */
        #u11-footer { padding:25px 0 60px; background-color:var(--u11-dark); color:#fff; font-weight:300; margin-top:3rem; }
        #u11-footer .inner { max-width:1400px; margin:0 auto; padding:0 40px; }
        /* 원본: f_menu 굵기는 일반(500 정도) — txt15 */
        #u11-footer .f_menu { padding:30px 0; margin-bottom:30px; border-bottom:1px solid var(--u11-dark-2); font-size:15px; font-weight:500; }
        #u11-footer .f_menu a { padding:0 20px; position:relative; color:#fff; text-decoration:none; }
        #u11-footer .f_menu a:after { content:''; display:block; width:1px; height:80%;
            background-color:#fff; position:absolute; top:10%; left:0; opacity:.3; }
        #u11-footer .f_menu a:first-child { padding-left:0; }
        #u11-footer .f_menu a:first-child:after { display:none; }
        #u11-footer .f_menu a:hover { color:var(--u11-gold); }
        #u11-footer .f_bot_wrap { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; }
        /* 원본 #footer .f_bot p { opacity: 0.3; line-height: 2; } */
        #u11-footer .f_bot p { opacity:.3; line-height:2; font-size:16px; margin:0; font-weight:300; }
        #u11-footer .f_bot .copyr { color:#787878; opacity:.5; margin-top:35px; font-size:14px; font-family:'Montserrat','Pretendard',sans-serif; font-weight:400; }
        #u11-footer .f_logo img { height:120px; width:auto; opacity:1; }
        @media (max-width: 820px) {
            #u11-footer { padding:20px 0 40px; }
            #u11-footer .inner { padding:0 20px; }
            #u11-footer .f_menu { padding:20px 0; margin-bottom:20px; font-size:13px; }
            #u11-footer .f_menu a { padding:0 12px; }
            #u11-footer .f_bot p { font-size:13px; line-height:1.8; }
            #u11-footer .f_logo img { height:80px; }
        }
        /* 블로그 카드 썸네일 16:9 비율 고정 (tailwind aspect-video 누락 대응) */
        .blog-thumb { aspect-ratio: 16 / 9; width: 100%; }
        .blog-thumb > img, .blog-thumb > div { width: 100%; height: 100%; object-fit: cover; }
        /* 본문 가로 오버플로우 방지 (모바일에서 wide 표/이미지가 페이지를 가로로 늘리는 것 차단)
           NOTE: .post-content 자체에는 max-width를 두지 않음 — view.php의 max-w-[920px] Tailwind 유틸이 작동하도록 보장. */
        .post-content .table-wrap { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 1rem 0; }
        .post-content .table-wrap > table { margin: 0; min-width: auto; }
        .post-content img, .post-content video, .post-content iframe { max-width: 100%; height: auto; }
        @media (max-width: 820px) {
            /* 모바일에서만 가로 오버플로우 클리핑.
               clip 사용 이유: hidden은 스펙상 overflow-y를 auto로 강제 변환해 본문 내 세로 스크롤바를 유발함. clip은 스크롤 컨테이너를 만들지 않으면서 동일하게 가로를 잘라줌. */
            .post-content { overflow-x: clip; }
        }

.upper11-section{
                width:640px;
                max-width:100%;
                margin:0 auto;
                font-family:'Noto Sans KR', Arial, sans-serif;
                color:#111;
                box-sizing:border-box;
            
                position:relative;
                z-index:1;
            }
            
            .upper11-section::before{
                content:"";
                position:absolute;
            
                top:0;
                left:50%;
                transform:translateX(-50%);
            
                width:920px;
                height:2200px;
            
                background:url('https://i.imgur.com/sX5Bcpk.png') center top no-repeat;
                background-size:100% auto;
            
                opacity:0.2;
            
                pointer-events:none;
                z-index:-1;
            }
                                                
                                                .upper11-section,
                                                .upper11-section *{
                                                    box-sizing:border-box;
                                                }
                                                
                                                .upper11-main-divider{
                                                    width:100%;
                                                    margin:40px auto 60px;
                                                    border:0;
                                                    border-top:1px solid #dcdcdc;
                                                }
                                                
                                                .upper11-title{
                                                    text-align:center;
                                                    
                                                    
                                                    letter-spacing:2px;
                                                    
                                                    color:#111;
                                                    margin:0 0 40px;
                                                }
                                                
                                                .upper11-title strong,
                                                .upper11-map-title strong{
                                                    
                                                }
                                                
                                                .upper11-divider{
                                                    width:180px;
                                                    height:1px;
                                                    background:#e5e5e5;
                                                    margin:60px auto;
                                                }
                                                
                                                /* CONTACT */
                                                .upper11-contact{
                                                    width:390px;
                                                    max-width:100%;
                                                    margin:0 auto;
                                                    text-align:center;
                                                }
                                                
                                                .upper11-contact-label{
                                                    
                                                    
                                                    color:#666;
                                                    margin-bottom:10px;
                                                }
                                                
                                                .upper11-contact-text{
                                                    
                                                    
                                                    
                                                    color:#111;
                                                }
                                                
                                                .upper11-contact-phone{
                                                    
                                                    
                                                    letter-spacing:0.5px;
                                                    color:#111;
                                                    margin-top:5px;
                                                    display:inline-block;
                                                }
                                                
                                                .upper11-contact-phone a{
                                                    color:#111;
                                                    text-decoration:none;
                                                    display:inline-block;
                                                    transition:transform .25s ease;
                                                }
                                                
                                                .upper11-contact-phone a:hover{
                                                    transform:scale(1.1);
                                                }
                                                
                                                /* 카드 */
                                                .upper11-card{
                                                    width:390px;
                                                    max-width:100%;
                                                    margin:0 auto;
                                                    border:1px solid #e5e5e5;
                                                    background:#fff;
                                                    text-decoration:none;
                                                    color:#111;
                                                    display:block;
                                                    overflow:hidden;
                                                    transition:box-shadow .25s ease;
                                                }
                                                
                                                .upper11-card:hover{
                                                    box-shadow:0 10px 25px rgba(0,0,0,.08);
                                                }
                                                
                                                .upper11-card .thumb{
                                                    display:block;
                                                    width:100%;
                                                    overflow:hidden;
                                                    background:#f8f8f8;
                                                    
                                                    
                                                }
                                                
                                                .upper11-card.large .thumb{
                                                    aspect-ratio:780 / 470;
                                                }
                                                
                                                .upper11-card.small{
                                                    display:flex;
                                                    height:95px;
                                                }
                                                
                                                .upper11-card.small .thumb{
                                                    width:95px;
                                                    min-width:95px;
                                                    max-width:95px;
                                                    height:95px;
                                                    aspect-ratio:1 / 1;
                                                }
                                                
                                                .upper11-card .thumb img{
                                                    display:block !important;
                                                    width:100% !important;
                                                    height:100% !important;
                                                    max-width:none !important;
                                                    object-fit:cover !important;
                                                    object-position:center center !important;
                                                    border:0 !important;
                                                    margin:0 !important;
                                                    padding:0 !important;
                                                    transition:transform .35s ease;
                                                }
                                                
                                                .upper11-card:hover .thumb img{
                                                    transform:scale(1.05);
                                                }
                                                
                                                .upper11-card.large .info{
                                                    padding:18px 22px;
                                                }
                                                
                                                .upper11-card.small .info{
                                                    flex:1;
                                                    min-width:0;
                                                    height:95px;
                                                    padding:14px 18px;
                                                    overflow:hidden;
                                                }
                                                
                                                .upper11-card .card-title{
                                                    display:block;
                                                    
                                                    
                                                    color:#111;
                                                    margin:0 0 8px;
                                                    
                                                    transition:transform .25s ease;
                                                    transform-origin:left center;
                                                }
                                                
                                                .upper11-card .card-desc{
                                                    
                                                    color:#777;
                                                    
                                                    margin:0 0 8px;
                                                    white-space:nowrap;
                                                    overflow:hidden;
                                                    text-overflow:ellipsis;
                                                    transition:transform .25s ease;
                                                    transform-origin:left center;
                                                }
                                                
                                                .upper11-card .card-url{
                                                    
                                                    
                                                    color:#00a832;
                                                    margin:0;
                                                    transition:transform .25s ease;
                                                    transform-origin:left center;
                                                }
                                                
                                                .upper11-card:hover .card-title{
                                                    transform:scale(1.04);
                                                }
                                                
                                                .upper11-card:hover .card-desc{
                                                    transform:scale(1.03);
                                                }
                                                
                                                .upper11-card:hover .card-url{
                                                    transform:scale(1.04);
                                                }
                                                
                                                /* 지도 */
                                                .upper11-map-wrap{
                                                    width:640px;
                                                    max-width:100%;
                                                    margin:0 auto;
                                                    text-align:center;
                                                }
                                                
                                                .upper11-map-title{
                                                    text-align:center;
                                                    
                                                    
                                                    letter-spacing:2px;
                                                    
                                                    color:#111;
                                                    margin-bottom:35px;
                                                }
                                                
                                                .upper11-map-box{
                                                    width:640px;
                                                    max-width:100%;
                                                    margin:0 auto;
                                                    text-align:center;
                                                    overflow:hidden;
                                                
                                                }
                                                
                                                .upper11-map-box .root_daum_roughmap,
                                                .upper11-map-box .root_daum_roughmap_landing{
                                                    width:100% !important;
                                                    max-width:640px !important;
                                                    margin:0 auto !important;
                                                }
                                                
                                                .upper11-map-box .wrap_map{
                                                    width:100% !important;
                                                
                                                }
                                                
                                                .upper11-map-box iframe{
                                                    width:100% !important;
                                                }
                                                
                                                @media (max-width:768px){
                                                
                                                    .upper11-map-wrap{
                                                        width:100%;
                                                    }
                                                
                                                    .upper11-map-box{
                                                        width:100%;
                                                    }
                                                
                                                    .upper11-map-title{
                                                        
                                                    }
                                                }

#ctaFixedBar {
        position: fixed;
        bottom: -80px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 999;
        transition: bottom 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        pointer-events: none;
    }
    #ctaFixedBar .cta-link {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 16px 40px;
        background: #104880;
        color: #ffffff;
        font-size: 16px;
        font-weight: 700;
        font-family: 'Pretendard', sans-serif;
        border-radius: 50px;
        text-decoration: none;
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
        pointer-events: auto;
        transition: transform 0.2s, box-shadow 0.2s;
        white-space: nowrap;
        line-height: 1;
    }
    #ctaFixedBar .cta-link span { white-space: nowrap; }
    #ctaFixedBar .cta-link svg { flex-shrink: 0; }
    @media (max-width: 640px) {
        #ctaFixedBar .cta-link {
            padding: 18px 36px;
            font-size: 17px;
            gap: 10px;
        }
        #ctaFixedBar .cta-link svg { width: 20px; height: 20px; }
    }

/* 정사각형 썸네일 (사용자 요청) */
.aspect-square{aspect-ratio:1/1;}
.aspect-video{aspect-ratio:16/9;}
