
/* ==========================================================
   SCRA v1.79 — Main Mobile Compact Refinement
   - 모바일 관리자 플로팅 버튼 제거
   - 독립 모바일 메뉴 드로어
   - 메인 세로 길이 축소
   - 푸터 아코디언
   - 회원사현황 지도/목록 압축
   ========================================================== */

@media(max-width:1080px){
    :root{
        --m-header:60px;
        --m-side:14px;
    }

    html,
    body.site-body{
        max-width:100%;
        overflow-x:hidden;
    }

    body.site-body{
        background:#fff;
        -webkit-text-size-adjust:100%;
    }

    body.site-mobile-drawer-open{
        overflow:hidden!important;
        touch-action:none;
    }

    /* ------------------------------------------------------
       HEADER
       ------------------------------------------------------ */
    .site-header{
        position:sticky!important;
        top:0!important;
        z-index:12000!important;
        height:var(--m-header)!important;
        min-height:var(--m-header)!important;
        background:#0c1d36!important;
        box-shadow:0 5px 18px rgba(8,24,47,.13)!important;
    }

    .site-header__inner{
        width:calc(100% - 24px)!important;
        height:var(--m-header)!important;
        min-height:var(--m-header)!important;
        margin:0 auto!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:10px!important;
    }

    .site-brand{
        width:min(182px,65vw)!important;
        max-width:182px!important;
        flex:0 1 182px!important;
    }

    .site-brand img{
        width:100%!important;
        max-height:41px!important;
        object-fit:contain!important;
        object-position:left center!important;
    }

    .site-account-nav{
        display:none!important;
    }

    .site-menu-toggle{
        display:grid!important;
        place-items:center!important;
        flex:0 0 40px!important;
        width:40px!important;
        height:40px!important;
        min-width:40px!important;
        min-height:40px!important;
        margin:0!important;
        padding:8px!important;
        border:1px solid rgba(255,255,255,.22)!important;
        border-radius:11px!important;
        background:rgba(255,255,255,.08)!important;
    }

    .site-menu-toggle span:not(.sr-only){
        width:22px!important;
        height:2px!important;
        margin:2px auto!important;
        border-radius:99px;
        background:#fff!important;
    }

    /* 기존 데스크톱 nav는 모바일에서 완전히 숨김 */
    #site-main-nav.site-main-nav{
        display:none!important;
        visibility:hidden!important;
        pointer-events:none!important;
        width:0!important;
        height:0!important;
        min-height:0!important;
        max-height:0!important;
        overflow:hidden!important;
        padding:0!important;
        margin:0!important;
        border:0!important;
        opacity:0!important;
    }

    /* 모바일에서 관리자 플로팅 버튼은 제거 */
    .site-admin-shortcut{
        display:none!important;
    }

    /* ------------------------------------------------------
       DEDICATED MOBILE DRAWER
       ------------------------------------------------------ */
    .site-mobile-drawer{
        position:fixed;
        inset:var(--m-header) 0 0;
        z-index:11990;
        display:none;
        background:rgba(7,18,36,.25);
    }

    .site-mobile-drawer.is-open{
        display:block;
    }

    .site-mobile-drawer__scroll{
        width:100%;
        height:100%;
        overflow-y:auto;
        padding:0 14px calc(30px + env(safe-area-inset-bottom));
        background:#fff;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
    }

    .site-mobile-drawer__head{
        position:sticky;
        top:0;
        z-index:2;
        min-height:54px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        border-bottom:1px solid #e8ecf2;
        background:#fff;
        color:#172033;
        font-size:15px;
        font-weight:850;
    }

    .site-mobile-drawer__close{
        width:38px;
        height:38px;
        display:grid;
        place-items:center;
        padding:0;
        border:0;
        border-radius:10px;
        background:#f3f6fa;
        color:#344054;
        font-size:25px;
        line-height:1;
    }

    .site-mobile-drawer__nav{
        padding:8px 0;
    }

    .site-mobile-drawer__group{
        border-bottom:1px solid #edf0f4;
    }

    .site-mobile-drawer__group > summary{
        min-height:50px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
        list-style:none;
        padding:0 4px;
        color:#182235;
        font-size:16px;
        font-weight:850;
        cursor:pointer;
    }

    .site-mobile-drawer__group > summary::-webkit-details-marker{
        display:none;
    }

    .site-mobile-drawer__group > summary b{
        color:#8a94a6;
        font-size:14px;
        font-weight:700;
        transition:transform .16s ease;
    }

    .site-mobile-drawer__group[open] > summary{
        color:#2458d7;
    }

    .site-mobile-drawer__group[open] > summary b{
        transform:rotate(180deg);
    }

    .site-mobile-drawer__links{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:6px;
        padding:0 0 12px;
    }

    .site-mobile-drawer__links a{
        min-height:40px;
        display:flex;
        align-items:center;
        padding:8px 10px;
        border:1px solid #e8ecf2;
        border-radius:9px;
        background:#f8fafc;
        color:#586477;
        text-decoration:none;
        font-size:13px;
        font-weight:700;
        line-height:1.35;
        word-break:keep-all;
    }

    .site-mobile-drawer__links a.is-current{
        border-color:#cbd9ff;
        background:#edf3ff;
        color:#2458d7;
    }

    .site-mobile-drawer__links a.is-disabled{
        opacity:.45;
        pointer-events:none;
    }

    .site-mobile-drawer__account{
        margin-top:10px;
        padding:12px;
        border:1px solid #e6eaf0;
        border-radius:12px;
        background:#f7f9fc;
    }

    .site-mobile-drawer__member small,
    .site-mobile-drawer__member strong{
        display:block;
    }

    .site-mobile-drawer__member small{
        color:#748095;
        font-size:11px;
    }

    .site-mobile-drawer__member strong{
        margin-top:2px;
        color:#172033;
        font-size:15px;
    }

    .site-mobile-drawer__account-links{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:6px;
        margin-top:10px;
    }

    .site-mobile-drawer__account-links a{
        min-height:40px;
        display:flex;
        align-items:center;
        justify-content:center;
        padding:7px 5px;
        border:1px solid #e0e5ed;
        border-radius:9px;
        background:#fff;
        color:#344054;
        text-decoration:none;
        text-align:center;
        font-size:12px;
        font-weight:750;
    }

    /* ------------------------------------------------------
       SUBPAGE
       ------------------------------------------------------ */
    .page-hero,
    .page-hero--board,
    .member-page-hero,
    .page-hero__inner,
    .page-hero--board .page-hero__inner,
    .member-page-hero .page-hero__inner{
        min-height:186px!important;
    }

    .page-hero__inner,
    .page-hero--board .page-hero__inner,
    .member-page-hero .page-hero__inner{
        width:calc(100% - 28px)!important;
        padding:26px 0 20px!important;
    }

    .page-hero__eyebrow{
        margin-bottom:6px!important;
        font-size:9.5px!important;
    }

    .page-hero h1{
        max-width:94vw;
        font-size:29px!important;
        line-height:1.14!important;
    }

    .page-hero p{
        max-width:92vw!important;
        margin-top:8px!important;
        font-size:12.5px!important;
        line-height:1.55!important;
    }

    .subnav{
        position:sticky!important;
        top:var(--m-header)!important;
        z-index:500!important;
    }

    .subnav__inner{
        width:100%!important;
        min-height:54px!important;
        padding:7px 10px!important;
        gap:6px!important;
    }

    .subnav__home{
        flex:0 0 38px!important;
        width:38px!important;
        height:38px!important;
        border-radius:9px!important;
    }

    .subnav__divider{
        display:none!important;
    }

    .subnav-select{
        min-width:0!important;
    }

    .subnav-select--section{
        flex:0 1 35%!important;
    }

    .subnav-select--current{
        flex:1 1 65%!important;
    }

    .subnav-select__button{
        width:100%!important;
        min-width:0!important;
        min-height:38px!important;
        padding:0 9px!important;
        border-radius:9px!important;
        font-size:12px!important;
    }

    .subnav-select__button span{
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .page-main,
    .public-site-inner,
    .member-main,
    .member-main--narrow{
        width:calc(100% - 24px)!important;
        max-width:none!important;
    }

    .page-main{
        padding:24px 0 42px!important;
    }

    .public-site-inner{
        padding:22px 0 46px!important;
    }

    /* ------------------------------------------------------
       HOME: 세로 길이 크게 축소
       ------------------------------------------------------ */
    .home-hero,
    .home-hero__swiper,
    .home-hero__slide{
        height:400px!important;
        min-height:400px!important;
    }

    .home-hero__content{
        width:calc(100% - 36px)!important;
        margin-top:0!important;
        padding:18px 0 54px!important;
    }

    .home-hero__content h1,
    .home-hero__content h2{
        font-size:30px!important;
        line-height:1.14!important;
        letter-spacing:-.045em!important;
    }

    .home-hero__content p{
        max-width:320px!important;
        margin-top:10px!important;
        font-size:12.5px!important;
        line-height:1.6!important;
    }

    .home-hero__control{
        left:18px!important;
        right:auto!important;
        bottom:48px!important;
        gap:8px!important;
    }

    .home-hero__current,
    .home-hero__total{
        min-width:25px!important;
        font-size:12px!important;
    }

    .home-hero__progress{
        width:82px!important;
        height:2px!important;
        border-radius:99px!important;
        background:rgba(255,255,255,.35)!important;
    }

    .home-hero__arrow{
        width:34px!important;
        height:34px!important;
        font-size:15px!important;
    }

    .home-quick{
        width:calc(100% - 24px)!important;
        margin:-24px auto 0!important;
    }

    .home-quick__inner{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:6px!important;
        padding:7px!important;
        border:1px solid #e2e7ef!important;
        border-radius:15px!important;
        background:#fff!important;
        box-shadow:0 10px 26px rgba(18,35,66,.09)!important;
        backdrop-filter:none!important;
    }

    .home-quick__item{
        min-height:58px!important;
        grid-template-columns:1fr auto!important;
        gap:7px!important;
        padding:9px 11px!important;
        border:0!important;
        border-radius:10px!important;
        background:#f4f7fb!important;
        color:#172033!important;
        transform:none!important;
    }

    .home-quick__item strong,
    .home-quick__item > span:last-child{
        color:#172033!important;
    }

    .home-quick__icon{
        display:none!important;
    }

    .home-quick__item strong{
        font-size:12.5px!important;
        line-height:1.3!important;
    }

    .home-quick__item > span:last-child{
        font-size:12px!important;
        opacity:.55;
    }

    .home-whatsnew,
    .home-news,
    .home-social__inner,
    .home-faculty__head{
        width:calc(100% - 24px)!important;
    }

    .home-whatsnew{
        margin:34px auto 30px!important;
    }

    .home-section-head{
        align-items:flex-end!important;
        flex-direction:row!important;
        gap:10px!important;
        margin-bottom:15px!important;
    }

    .home-section-kicker{
        margin-bottom:4px!important;
        font-size:9.5px!important;
    }

    .home-section-head h2,
    .home-program__intro h2,
    .home-faculty__head h2,
    .home-social__head h2{
        font-size:24px!important;
        line-height:1.15!important;
    }

    .home-text-link{
        flex:0 0 auto;
        padding:8px 10px!important;
        border-radius:9px!important;
        font-size:11.5px!important;
    }

    .home-whatsnew__grid{
        grid-template-columns:1fr!important;
        gap:18px!important;
    }

    .home-feature{
        min-height:0!important;
        padding:0 0 14px!important;
        border-right:0!important;
        border-bottom:1px solid #e4e8ee!important;
    }

    .home-feature__slide.is-active{
        display:grid!important;
        grid-template-columns:112px minmax(0,1fr)!important;
        gap:12px!important;
        align-items:center!important;
    }

    .home-feature__media{
        width:112px!important;
        height:88px!important;
        aspect-ratio:auto!important;
        border-radius:10px!important;
    }

    .home-feature__title{
        margin:0 0 7px!important;
        font-size:14.5px!important;
        line-height:1.4!important;
        -webkit-line-clamp:2!important;
    }

    .home-feature__copy p{
        display:none!important;
    }

    .home-feature__copy time{
        font-size:10.5px!important;
    }

    .home-feature__nav{
        position:static!important;
        justify-content:flex-end!important;
        gap:5px!important;
        margin-top:9px!important;
    }

    .home-feature__nav button{
        width:32px!important;
        height:32px!important;
        border-radius:8px!important;
    }

    .home-board-preview__tabs{
        min-height:38px!important;
        gap:7px!important;
    }

    .home-board-tab{
        font-size:13px!important;
    }

    .home-mini-post{
        padding:11px 0!important;
    }

    .home-mini-post:nth-of-type(n+3){
        display:none!important;
    }

    .home-mini-post a{
        font-size:13.5px!important;
        line-height:1.4!important;
        -webkit-line-clamp:1!important;
    }

    .home-mini-post p{
        display:none!important;
    }

    .home-mini-post__meta{
        margin-bottom:4px!important;
        font-size:10px!important;
    }

    .home-news{
        margin:0 auto 30px!important;
    }

    .home-news__inner{
        padding-top:12px!important;
    }

    .home-news__tabs{
        gap:7px!important;
        overflow-x:auto!important;
        flex-wrap:nowrap!important;
        scrollbar-width:none;
    }

    .home-news__tabs::-webkit-scrollbar{
        display:none;
    }

    .home-news__tab{
        flex:0 0 auto!important;
        min-height:34px!important;
        font-size:13px!important;
        white-space:nowrap;
    }

    .home-news-row{
        display:grid!important;
        grid-template-columns:auto minmax(0,1fr) auto!important;
        gap:5px 8px!important;
        padding:10px 0!important;
    }

    .home-news-row:nth-child(n+4){
        display:none!important;
    }

    .home-news-row__tag{
        font-size:9.5px!important;
    }

    .home-news-row strong{
        font-size:12.5px!important;
        line-height:1.35!important;
        white-space:nowrap!important;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .home-news-row time{
        grid-column:auto!important;
        font-size:9.5px!important;
        white-space:nowrap;
    }

    .home-program{
        width:calc(100% - 16px)!important;
        margin-top:0!important;
        padding:24px 8px 28px!important;
        border-radius:15px!important;
    }

    .home-program__grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        grid-template-areas:
            "intro intro"
            "policy safety"
            "support civil"!important;
        gap:7px!important;
    }

    .home-program__intro{
        padding:3px 4px 10px!important;
    }

    .home-program__intro p:last-child{
        margin-top:7px!important;
        font-size:11.5px!important;
        line-height:1.55!important;
    }

    .home-program-card,
    .home-program-card--support,
    .home-program-card--civil{
        min-height:106px!important;
        border-radius:11px!important;
    }

    .home-program-card span{
        left:10px!important;
        right:10px!important;
        bottom:10px!important;
        font-size:12px!important;
        line-height:1.3!important;
    }

    .home-program-card--video{
        display:none!important;
    }

    .home-member-priority{
        padding:26px 0 30px!important;
    }

    .home-social{
        padding:30px 0 34px!important;
    }

    .home-social__head{
        align-items:flex-start!important;
        flex-direction:column!important;
        gap:8px!important;
        margin-bottom:12px!important;
    }

    .home-social__actions{
        width:100%;
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:6px!important;
    }

    .home-social__instagram-link,
    .home-social__blog-link{
        min-height:38px!important;
        justify-content:center!important;
        padding:0 8px!important;
        font-size:11px!important;
    }

    .home-social__grid{
        display:flex!important;
        gap:9px!important;
        overflow-x:auto!important;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
    }

    .home-social__grid::-webkit-scrollbar{
        display:none;
    }

    .home-social-card{
        flex:0 0 76%!important;
        scroll-snap-align:start;
    }

    .home-faculty{
        padding:30px 0 34px!important;
    }

    .home-faculty__viewport{
        overflow-x:auto!important;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
    }

    .home-faculty__track{
        animation:none!important;
        gap:8px!important;
        padding:4px 12px 7px!important;
    }

    .home-faculty-card{
        flex:0 0 138px!important;
        width:138px!important;
        min-height:128px!important;
        padding:12px 10px!important;
        scroll-snap-align:start;
    }

    .home-faculty-card:has(figure){
        flex-basis:156px!important;
        width:156px!important;
        min-height:198px!important;
    }

    /* ------------------------------------------------------
       MEMBER STATUS / OLD EMBEDDED MAP
       ------------------------------------------------------ */
    .legacy-page-content .rcs.wrap,
    .rcs.wrap{
        width:100%!important;
        max-width:none!important;
        margin:8px auto 0!important;
        padding:0!important;
    }

    .rcs .grid{
        gap:12px!important;
        grid-template-columns:1fr!important;
    }

    .rcs .card{
        padding:12px!important;
        border-radius:13px!important;
    }

    .rcs .head{
        margin-bottom:8px!important;
    }

    .rcs .head .hint{
        display:none!important;
    }

    .rcs .svg-mount{
        width:100%!important;
        height:278px!important;
        overflow:hidden!important;
        border-radius:10px!important;
        background:#f8fafc;
    }

    .rcs .seoul-map{
        width:100%!important;
        height:278px!important;
        margin:0!important;
        transform:none!important;
        border-radius:10px!important;
    }

    .rcs .gu-dropdown{
        display:block!important;
        margin-top:8px!important;
    }

    .rcs .gu-select{
        height:42px!important;
        border-radius:9px!important;
        font-size:14px!important;
    }

    .rcs .result-head{
        margin-bottom:8px!important;
        font-size:14px!important;
    }

    .rcs table tbody{
        gap:7px!important;
    }

    .rcs table tbody tr{
        grid-template-columns:minmax(0,1fr) auto!important;
        grid-template-areas:
            "name name"
            "addr addr"
            "tel link"!important;
        row-gap:6px!important;
        padding:11px!important;
        border-radius:11px!important;
    }

    .rcs table tbody tr td:nth-child(1){
        font-size:14.5px!important;
        line-height:1.3!important;
    }

    .rcs table tbody tr td:nth-child(2){
        display:-webkit-box!important;
        overflow:hidden!important;
        font-size:12.5px!important;
        line-height:1.45!important;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
    }

    .rcs table tbody tr td:nth-child(3){
        justify-self:start!important;
        align-self:center!important;
        font-size:13px!important;
    }

    .rcs table tbody tr td:nth-child(4){
        justify-self:end!important;
    }

    .rcs .btn-link{
        height:34px!important;
        padding:0 12px!important;
        font-size:12px!important;
    }

    .rcs .pager{
        margin-top:11px!important;
        gap:5px!important;
    }

    .rcs .page-btn{
        min-width:32px!important;
        height:32px!important;
        padding:0 8px!important;
    }

    /* ------------------------------------------------------
       FOOTER: 큰 메뉴만 보이고 클릭 시 열기
       ------------------------------------------------------ */
    .site-footer.site-footer--hero{
        margin-top:28px!important;
    }

    .site-footer__wrap{
        width:calc(100% - 24px)!important;
        padding:22px 0 calc(26px + env(safe-area-inset-bottom))!important;
    }

    .site-footer__sections{
        display:block!important;
        margin:0 0 14px!important;
        border:1px solid rgba(255,255,255,.14)!important;
        border-radius:12px!important;
        overflow:hidden!important;
    }

    .site-footer__col{
        min-height:0!important;
        padding:0!important;
        border:0!important;
        border-bottom:1px solid rgba(255,255,255,.12)!important;
    }

    .site-footer__col:last-child{
        border-bottom:0!important;
    }

    .site-footer__section-toggle{
        min-height:46px!important;
        margin:0!important;
        padding:0 13px!important;
        cursor:pointer!important;
        font-size:14px!important;
    }

    .site-footer__section-toggle svg{
        display:block!important;
    }

    .site-footer__col.is-open
    .site-footer__section-toggle svg{
        transform:rotate(180deg);
    }

    .site-footer__col ul{
        display:none!important;
        padding:0 13px 10px!important;
    }

    .site-footer__col.is-open ul{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:4px 7px!important;
    }

    .site-footer__col li{
        margin:0!important;
    }

    .site-footer__col a{
        min-height:34px!important;
        display:flex!important;
        align-items:center!important;
        padding:5px 7px!important;
        border-radius:7px;
        color:rgba(255,255,255,.68)!important;
        font-size:11.5px!important;
        line-height:1.35!important;
    }

    .site-footer__family{
        justify-content:flex-start!important;
        margin:12px 0 16px!important;
    }

    .site-footer__family-trigger{
        min-height:38px!important;
        padding:8px 12px!important;
        font-size:12px!important;
    }

    .site-footer__family-list{
        width:min(280px,calc(100vw - 48px))!important;
    }

    .site-footer__meta-row{
        display:grid!important;
        grid-template-columns:auto minmax(0,1fr)!important;
        align-items:start!important;
        gap:5px 10px!important;
        margin-top:10px!important;
        font-size:11.5px!important;
        line-height:1.55!important;
        text-align:left!important;
    }

    .site-footer__meta-row > span:not(.site-footer__label):not(.site-footer__sep),
    .site-footer__meta-row > strong{
        min-width:0;
        overflow-wrap:anywhere;
    }

    .site-footer__sep{
        display:none!important;
    }

    .site-footer__policies{
        gap:6px!important;
        margin-top:16px!important;
        flex-wrap:wrap!important;
    }

    .site-footer__policies a{
        padding:7px 9px!important;
        font-size:11px!important;
    }

    .site-footer__copyright{
        margin-top:14px!important;
        font-size:10.5px!important;
        line-height:1.5!important;
        white-space:normal!important;
    }

    .site-footer__mobile-admin{
        width:max-content;
        min-height:32px;
        display:inline-flex!important;
        align-items:center;
        margin-top:12px;
        padding:0 10px;
        border:1px solid rgba(255,255,255,.18);
        border-radius:999px;
        color:rgba(255,255,255,.65);
        text-decoration:none;
        font-size:10.5px;
        font-weight:750;
    }
}

@media(max-width:520px){
    :root{
        --m-header:58px;
    }

    .site-header,
    .site-header__inner{
        height:var(--m-header)!important;
        min-height:var(--m-header)!important;
    }

    .site-brand{
        width:min(170px,66vw)!important;
        max-width:170px!important;
    }

    .site-menu-toggle{
        flex-basis:38px!important;
        width:38px!important;
        height:38px!important;
        min-width:38px!important;
        min-height:38px!important;
    }

    .site-mobile-drawer{
        inset:var(--m-header) 0 0!important;
    }

    .site-mobile-drawer__links{
        grid-template-columns:1fr 1fr!important;
    }

    .site-mobile-drawer__account-links{
        grid-template-columns:1fr!important;
    }

    .page-hero,
    .page-hero--board,
    .member-page-hero,
    .page-hero__inner,
    .page-hero--board .page-hero__inner,
    .member-page-hero .page-hero__inner{
        min-height:172px!important;
    }

    .page-hero h1{
        font-size:27px!important;
    }

    .home-hero,
    .home-hero__swiper,
    .home-hero__slide{
        height:380px!important;
        min-height:380px!important;
    }

    .home-hero__content h1,
    .home-hero__content h2{
        font-size:28px!important;
    }

    .home-hero__content p{
        font-size:12px!important;
    }

    .home-quick__item{
        min-height:54px!important;
    }

    .home-feature__slide.is-active{
        grid-template-columns:102px minmax(0,1fr)!important;
        gap:10px!important;
    }

    .home-feature__media{
        width:102px!important;
        height:80px!important;
    }

    .home-program-card,
    .home-program-card--support,
    .home-program-card--civil{
        min-height:98px!important;
    }

    .rcs .svg-mount,
    .rcs .seoul-map{
        height:248px!important;
    }

    .site-footer__col.is-open ul{
        grid-template-columns:1fr 1fr!important;
    }
}


/* ==========================================================
   SCRA v1.77 — Stabilization overrides
   ========================================================== */

/* Desktop guard: this file is media-loaded, but keep explicit safety. */
@media(min-width:1081px){
    .site-mobile-drawer{
        display:none!important;
    }
}

@media(max-width:1080px){

    /* ------------------------------------------------------
       Footer: older site.css had min-height:270px !important.
       Use stronger specificity + later load order.
       ------------------------------------------------------ */
    .site-footer.site-footer--hero
    .site-footer__sections{
        display:block!important;
        height:auto!important;
        min-height:0!important;
        margin-bottom:12px!important;
    }

    .site-footer.site-footer--hero
    .site-footer__sections
    .site-footer__col{
        display:block!important;
        height:auto!important;
        min-height:0!important;
        max-height:46px!important;
        overflow:hidden!important;
        padding:0!important;
        margin:0!important;
    }

    .site-footer.site-footer--hero
    .site-footer__sections
    .site-footer__col.is-open{
        max-height:none!important;
        overflow:visible!important;
    }

    .site-footer.site-footer--hero
    .site-footer__section-toggle{
        height:46px!important;
        min-height:46px!important;
        max-height:46px!important;
        padding:0 13px!important;
    }

    .site-footer.site-footer--hero
    .site-footer__col
    ul{
        height:auto!important;
        min-height:0!important;
        margin:0!important;
    }

    /* ------------------------------------------------------
       서울 지역 회원사
       기본은 업체명 한 줄만.
       업체명을 누르면 주소/전화/바로가기 상세가 열림.
       ------------------------------------------------------ */
    .rcs table tbody{
        gap:6px!important;
    }

    .rcs table tbody tr{
        position:relative!important;
        display:block!important;
        min-height:46px!important;
        padding:0!important;
        overflow:hidden!important;
        border:1px solid #e4e8ef!important;
        border-radius:10px!important;
        background:#fff!important;
        box-shadow:none!important;
    }

    .rcs table tbody tr td{
        display:none!important;
        width:100%!important;
        min-width:0!important;
        padding:0!important;
        border:0!important;
    }

    .rcs table tbody tr td.name,
    .rcs table tbody tr td:nth-child(1){
        position:relative!important;
        display:flex!important;
        align-items:center!important;
        min-height:46px!important;
        padding:10px 42px 10px 12px!important;
        color:#172033!important;
        font-size:13.5px!important;
        font-weight:850!important;
        line-height:1.35!important;
        cursor:pointer!important;
        user-select:none;
    }

    .rcs table tbody tr td.name::after,
    .rcs table tbody tr td:nth-child(1)::after{
        content:"";
        position:absolute;
        top:50%;
        right:15px;
        width:7px;
        height:7px;
        border-right:1.8px solid #7e899a;
        border-bottom:1.8px solid #7e899a;
        transform:translateY(-70%) rotate(45deg);
        transition:transform .16s ease;
    }

    .rcs table tbody tr.is-mobile-open
    td.name::after,
    .rcs table tbody tr.is-mobile-open
    td:nth-child(1)::after{
        transform:translateY(-25%) rotate(225deg);
    }

    .rcs table tbody tr.is-mobile-open{
        padding-bottom:10px!important;
        background:#fbfcfe!important;
    }

    .rcs table tbody tr.is-mobile-open
    td:nth-child(2){
        display:block!important;
        padding:1px 12px 7px!important;
        color:#687386!important;
        font-size:11.5px!important;
        line-height:1.5!important;
        white-space:normal!important;
        overflow-wrap:anywhere!important;
    }

    .rcs table tbody tr.is-mobile-open
    td:nth-child(3){
        display:inline-flex!important;
        width:auto!important;
        margin-left:12px!important;
        padding:0!important;
        color:#172033!important;
        font-size:12.5px!important;
        font-weight:800!important;
    }

    .rcs table tbody tr.is-mobile-open
    td:nth-child(3) a{
        color:#172033!important;
        text-decoration:none!important;
    }

    .rcs table tbody tr.is-mobile-open
    td:nth-child(4){
        display:inline-flex!important;
        width:auto!important;
        float:right!important;
        margin-right:10px!important;
        padding:0!important;
    }

    .rcs table tbody tr.is-mobile-open
    .btn-link{
        height:30px!important;
        padding:0 10px!important;
        border-radius:999px!important;
        font-size:10.5px!important;
    }

    /* 업체가 없을 때의 빈 행은 아코디언 처리하지 않음 */
    .rcs table tbody tr:has(td.empty){
        min-height:60px!important;
        padding:16px!important;
    }

    .rcs table tbody tr:has(td.empty) td.empty{
        display:block!important;
        padding:0!important;
        color:#7a8495!important;
        text-align:center!important;
        font-size:12px!important;
    }

    /* 지도 자체도 한 번 더 압축 */
    .rcs .svg-mount,
    .rcs .seoul-map{
        height:220px!important;
    }

    .rcs .card{
        padding:10px!important;
    }

    .rcs .gu-dropdown{
        margin-top:7px!important;
    }

    .rcs .gu-select{
        height:40px!important;
        font-size:13px!important;
    }

    .rcs .result-head{
        margin-bottom:7px!important;
        font-size:13px!important;
    }

    /* 페이징: 모바일에서는 한글 긴 버튼 대신 화살표 중심 */
    .rcs .pager{
        flex-wrap:nowrap!important;
        gap:4px!important;
        margin-top:10px!important;
        overflow-x:auto!important;
        justify-content:center!important;
        scrollbar-width:none;
    }

    .rcs .pager::-webkit-scrollbar{
        display:none;
    }

    .rcs .page-btn{
        min-width:30px!important;
        height:30px!important;
        flex:0 0 auto!important;
        padding:0 7px!important;
        border-radius:7px!important;
        font-size:10.5px!important;
    }

    /* ------------------------------------------------------
       Mobile drawer: menu compactness
       ------------------------------------------------------ */
    .site-mobile-drawer__head{
        min-height:48px!important;
    }

    .site-mobile-drawer__group > summary{
        min-height:46px!important;
        font-size:14.5px!important;
    }

    .site-mobile-drawer__links{
        gap:5px!important;
        padding-bottom:9px!important;
    }

    .site-mobile-drawer__links a{
        min-height:36px!important;
        padding:7px 8px!important;
        font-size:11.5px!important;
    }
}

@media(max-width:520px){
    .rcs .svg-mount,
    .rcs .seoul-map{
        height:205px!important;
    }

    .rcs table tbody tr td.name,
    .rcs table tbody tr td:nth-child(1){
        min-height:44px!important;
        padding-top:9px!important;
        padding-bottom:9px!important;
        font-size:13px!important;
    }
}


/* ==========================================================
   SCRA v1.78 — Compact mobile finalization
   이전 사이트의 정보 밀도를 참고하되 현재 디자인 톤은 유지
   ========================================================== */

@media(max-width:1080px){

    /* 관리자 플로팅 버튼은 어떤 잔여 마크업이 있어도 모바일/PC 모두 금지 */
    .site-admin-shortcut{
        display:none!important;
    }

    /* ------------------------------------------------------
       전체 여백 리듬: 섹션 간격 20~25% 추가 축소
       ------------------------------------------------------ */
    .home-whatsnew{
        margin-top:26px!important;
        margin-bottom:22px!important;
    }

    .home-news{
        margin-bottom:22px!important;
    }

    .home-program{
        margin-top:0!important;
        padding-top:20px!important;
        padding-bottom:22px!important;
    }

    .home-member-priority{
        padding-top:20px!important;
        padding-bottom:22px!important;
    }

    .home-social{
        padding-top:24px!important;
        padding-bottom:26px!important;
    }

    .home-faculty{
        padding-top:24px!important;
        padding-bottom:26px!important;
    }

    .site-footer.site-footer--hero{
        margin-top:18px!important;
    }

    .home-section-head,
    .home-social__head,
    .home-faculty__head{
        margin-bottom:11px!important;
    }

    .home-section-head h2,
    .home-program__intro h2,
    .home-social__head h2,
    .home-faculty__head h2{
        font-size:22px!important;
    }

    /* 설명문은 모바일에서 짧게 */
    .home-social__head > p:not(.home-section-kicker),
    .home-faculty__head > p:not(.home-section-kicker){
        display:none!important;
    }

    .home-program__intro p:last-child{
        display:-webkit-box!important;
        overflow:hidden!important;
        max-width:100%!important;
        margin-top:6px!important;
        font-size:11px!important;
        line-height:1.45!important;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
    }

    /* ------------------------------------------------------
       Hero / quick
       ------------------------------------------------------ */
    .home-hero,
    .home-hero__swiper,
    .home-hero__slide{
        height:372px!important;
        min-height:372px!important;
    }

    .home-hero__content{
        padding-bottom:46px!important;
    }

    .home-hero__content h1,
    .home-hero__content h2{
        font-size:28px!important;
    }

    .home-hero__control{
        bottom:40px!important;
    }

    .home-quick{
        margin-top:-20px!important;
    }

    .home-quick__item{
        min-height:52px!important;
        padding:8px 10px!important;
    }

    /* ------------------------------------------------------
       SCRA NEWS: 대표글이 한 화면을 과도하게 차지하지 않도록
       ------------------------------------------------------ */
    .home-feature__slide.is-active{
        grid-template-columns:94px minmax(0,1fr)!important;
        gap:10px!important;
    }

    .home-feature__media{
        width:94px!important;
        height:72px!important;
        border-radius:8px!important;
    }

    .home-feature__title{
        margin-bottom:5px!important;
        font-size:13px!important;
        line-height:1.35!important;
    }

    .home-feature__copy time{
        font-size:9.5px!important;
    }

    .home-feature__nav{
        margin-top:6px!important;
    }

    .home-feature__nav button{
        width:28px!important;
        height:28px!important;
    }

    .home-mini-post{
        padding:9px 0!important;
    }

    .home-mini-post a{
        font-size:12.5px!important;
    }

    .home-news-row{
        padding:8px 0!important;
    }

    .home-news-row strong{
        font-size:12px!important;
    }

    /* ------------------------------------------------------
       주요 사업 / SNS / 임원진
       ------------------------------------------------------ */
    .home-program-card,
    .home-program-card--support,
    .home-program-card--civil{
        min-height:92px!important;
    }

    .home-program-card span{
        bottom:9px!important;
        font-size:11px!important;
    }

    .home-social__actions{
        margin-top:0!important;
    }

    .home-social-card{
        flex-basis:68%!important;
    }

    .home-social-card__body{
        padding:10px!important;
    }

    .home-social-card__title{
        font-size:12.5px!important;
        line-height:1.35!important;
    }

    .home-faculty-card{
        flex-basis:122px!important;
        width:122px!important;
        min-height:116px!important;
        padding:10px 9px!important;
    }

    .home-faculty-card:has(figure){
        flex-basis:142px!important;
        width:142px!important;
        min-height:180px!important;
    }

    .home-faculty-card figure{
        height:92px!important;
        margin-bottom:8px!important;
    }

    .home-faculty-card strong{
        font-size:12px!important;
    }

    /* ------------------------------------------------------
       서울 지역 선택: 모바일에서는 지도 완전 제거
       드롭다운 + 업체명 아코디언만 사용
       ------------------------------------------------------ */
    .rcs.wrap{
        margin-top:0!important;
    }

    .rcs .grid{
        gap:10px!important;
    }

    .rcs .grid > .card:first-child{
        padding:12px!important;
        border-radius:12px!important;
    }

    .rcs .grid > .card:first-child .head{
        margin-bottom:8px!important;
    }

    .rcs .grid > .card:first-child .title{
        font-size:15px!important;
        font-weight:850!important;
    }

    .rcs .grid > .card:first-child .hint{
        display:none!important;
    }

    .rcs .svg-mount,
    .rcs .seoul-map,
    .rcs .gu-buttons{
        display:none!important;
    }

    .rcs .gu-dropdown{
        display:block!important;
        margin-top:0!important;
    }

    .rcs .gu-select{
        height:42px!important;
        padding:0 12px!important;
        border-radius:9px!important;
        background:#fff!important;
        font-size:13.5px!important;
        font-weight:750!important;
    }

    .rcs .grid > .card:nth-child(2){
        padding:10px!important;
        border-radius:12px!important;
    }

    .rcs .result-head{
        min-height:32px!important;
        margin-bottom:7px!important;
        padding:0 2px!important;
        font-size:12.5px!important;
    }

    .rcs .result-head b{
        font-size:13.5px!important;
    }

    .rcs .result-count{
        font-size:11px!important;
    }

    .rcs table tbody{
        gap:5px!important;
    }

    .rcs table tbody tr{
        min-height:42px!important;
        border-radius:9px!important;
    }

    .rcs table tbody tr td.name,
    .rcs table tbody tr td:nth-child(1){
        min-height:42px!important;
        padding:8px 38px 8px 11px!important;
        font-size:12.5px!important;
    }

    .rcs table tbody tr.is-mobile-open{
        padding-bottom:8px!important;
    }

    .rcs table tbody tr.is-mobile-open td:nth-child(2){
        padding:0 11px 6px!important;
        font-size:11px!important;
        line-height:1.45!important;
    }

    .rcs table tbody tr.is-mobile-open td:nth-child(3){
        margin-left:11px!important;
        font-size:11.5px!important;
    }

    .rcs table tbody tr.is-mobile-open td:nth-child(4){
        margin-right:8px!important;
    }

    .rcs .btn-link{
        height:28px!important;
        padding:0 9px!important;
        font-size:10px!important;
    }

    .rcs .pager{
        margin-top:8px!important;
    }

    .rcs .page-btn{
        min-width:28px!important;
        height:28px!important;
        padding:0 6px!important;
        border-radius:6px!important;
        font-size:10px!important;
    }

    /* ------------------------------------------------------
       Footer
       ------------------------------------------------------ */
    .site-footer__wrap{
        padding-top:18px!important;
        padding-bottom:calc(22px + env(safe-area-inset-bottom))!important;
    }

    .site-footer__sections{
        margin-bottom:10px!important;
    }

    .site-footer__section-toggle{
        height:42px!important;
        min-height:42px!important;
        max-height:42px!important;
        font-size:13px!important;
    }

    .site-footer.site-footer--hero
    .site-footer__sections
    .site-footer__col{
        max-height:42px!important;
    }

    .site-footer__family{
        margin-top:9px!important;
        margin-bottom:12px!important;
    }

    .site-footer__meta-row{
        margin-top:7px!important;
        font-size:10.5px!important;
        line-height:1.48!important;
    }

    .site-footer__policies{
        margin-top:12px!important;
    }

    .site-footer__copyright{
        margin-top:10px!important;
        font-size:9.5px!important;
    }

    .site-footer__mobile-admin{
        margin-top:9px!important;
        min-height:28px!important;
        padding:0 9px!important;
        font-size:9.5px!important;
        opacity:.72;
    }
}

@media(max-width:520px){
    .home-hero,
    .home-hero__swiper,
    .home-hero__slide{
        height:356px!important;
        min-height:356px!important;
    }

    .home-hero__content h1,
    .home-hero__content h2{
        font-size:26px!important;
    }

    .home-social-card{
        flex-basis:72%!important;
    }

    .rcs .grid > .card:first-child,
    .rcs .grid > .card:nth-child(2){
        padding:9px!important;
    }
}


/* ==========================================================
   SCRA v1.78.1 — 서울 지역 회원사 모바일 5개 + 더보기
   ========================================================== */
@media(max-width:1080px){
    .rcs .pager{
        justify-content:center!important;
        overflow:visible!important;
    }

    .rcs .pager .mobile-load-more{
        width:100%!important;
        max-width:none!important;
        height:40px!important;
        min-height:40px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        margin-top:2px!important;
        padding:0 14px!important;
        border:1px solid #dbe3ef!important;
        border-radius:9px!important;
        background:#f7f9fc!important;
        color:#24324a!important;
        font-size:11.5px!important;
        font-weight:850!important;
        letter-spacing:-.01em;
    }

    .rcs .pager .mobile-load-more:hover,
    .rcs .pager .mobile-load-more:active{
        border-color:#b9c9ef!important;
        background:#eef4ff!important;
        color:#2458d7!important;
    }
}


/* ==========================================================
   SCRA v1.79 — Homepage-only final compact pass
   ========================================================== */
@media(max-width:1080px){

    /* ------------------------------------------------------
       전체 메인 콘텐츠 폭 / 간격 통일
       ------------------------------------------------------ */
    .home-whatsnew,
    .home-news,
    .home-social__inner,
    .home-faculty__head{
        width:calc(100% - 20px)!important;
    }

    .home-whatsnew{
        margin-top:22px!important;
        margin-bottom:18px!important;
    }

    .home-news{
        margin-bottom:18px!important;
    }

    .home-program{
        width:calc(100% - 12px)!important;
        padding:18px 6px 20px!important;
    }

    .home-member-priority{
        padding:16px 0 20px!important;
    }

    .home-social{
        padding:22px 0 23px!important;
    }

    .home-faculty{
        padding:22px 0 24px!important;
    }

    /* ------------------------------------------------------
       Hero: 현재 디자인 유지하면서 세로만 조금 더 압축
       ------------------------------------------------------ */
    .home-hero,
    .home-hero__swiper,
    .home-hero__slide{
        height:348px!important;
        min-height:348px!important;
    }

    .home-hero__content{
        width:calc(100% - 30px)!important;
        padding-top:14px!important;
        padding-bottom:40px!important;
    }

    .home-hero__content h1,
    .home-hero__content h2{
        max-width:320px!important;
        font-size:25px!important;
        line-height:1.16!important;
    }

    .home-hero__content p{
        max-width:300px!important;
        margin-top:8px!important;
        font-size:11.5px!important;
        line-height:1.5!important;
    }

    .home-hero__cta{
        width:min(100%,310px)!important;
        margin-top:13px!important;
        gap:5px!important;
    }

    .home-hero__cta a{
        min-height:38px!important;
        padding:0 10px!important;
        font-size:11px!important;
        border-radius:8px!important;
    }

    .home-hero__control{
        bottom:34px!important;
    }

    /* ------------------------------------------------------
       바로가기 2x2
       ------------------------------------------------------ */
    .home-quick{
        width:calc(100% - 20px)!important;
        margin-top:-17px!important;
    }

    .home-quick__inner{
        gap:5px!important;
        padding:6px!important;
        border-radius:13px!important;
    }

    .home-quick__item{
        min-height:48px!important;
        padding:7px 9px!important;
        border-radius:8px!important;
    }

    .home-quick__item strong{
        font-size:11.5px!important;
    }

    /* ------------------------------------------------------
       SCRA NEWS
       대표 1건 + 최신 리스트를 한 화면 안에서 빠르게 훑기
       ------------------------------------------------------ */
    .home-section-kicker{
        margin-bottom:3px!important;
        font-size:8.5px!important;
    }

    .home-section-head h2,
    .home-program__intro h2,
    .home-social__head h2,
    .home-faculty__head h2{
        font-size:20px!important;
    }

    .home-text-link{
        min-height:34px!important;
        padding:6px 8px!important;
        font-size:10px!important;
    }

    .home-whatsnew__grid{
        gap:13px!important;
    }

    .home-feature{
        padding-bottom:10px!important;
    }

    .home-feature__slide.is-active{
        grid-template-columns:82px minmax(0,1fr)!important;
        gap:9px!important;
    }

    .home-feature__media{
        width:82px!important;
        height:63px!important;
        border-radius:7px!important;
    }

    .home-feature__title{
        margin-bottom:3px!important;
        font-size:11.8px!important;
        line-height:1.35!important;
    }

    .home-feature__copy time{
        font-size:8.8px!important;
    }

    .home-feature__nav{
        margin-top:4px!important;
    }

    .home-feature__nav button{
        width:26px!important;
        height:26px!important;
        border-radius:7px!important;
    }

    .home-board-preview__tabs,
    .home-news__tabs{
        min-height:34px!important;
        gap:5px!important;
    }

    .home-board-tab,
    .home-news__tab{
        min-height:32px!important;
        font-size:11px!important;
    }

    .home-mini-post{
        padding:7px 0!important;
    }

    .home-mini-post a{
        font-size:11.5px!important;
    }

    .home-news-row{
        min-height:0!important;
        padding:7px 0!important;
    }

    .home-news-row strong{
        font-size:11px!important;
    }

    .home-news-row__tag,
    .home-news-row time{
        font-size:8.5px!important;
    }

    .home-news__more{
        margin-top:6px!important;
    }

    .home-news__more a{
        min-height:30px!important;
        padding:5px 8px!important;
        font-size:9.5px!important;
    }

    /* ------------------------------------------------------
       SCRA 주요사업
       ------------------------------------------------------ */
    .home-program__intro{
        padding:2px 3px 8px!important;
    }

    .home-program-card,
    .home-program-card--support,
    .home-program-card--civil{
        min-height:84px!important;
        border-radius:9px!important;
    }

    .home-program-card span{
        left:9px!important;
        right:9px!important;
        bottom:8px!important;
        font-size:10px!important;
    }

    /* ------------------------------------------------------
       메인 서울 회원사
       지도 없음 + 드롭다운 + 최초 5개 + 더보기
       바깥 카드 테두리를 제거해 중첩 카드 느낌 완화
       ------------------------------------------------------ */
    .home-member-priority
    .home-members-status-source{
        width:calc(100% - 20px)!important;
        margin:0 auto!important;
    }

    .home-member-priority
    .rcs.wrap{
        margin:0!important;
    }

    .home-member-priority
    .rcs .grid{
        gap:8px!important;
    }

    .home-member-priority
    .rcs .grid > .card:first-child,
    .home-member-priority
    .rcs .grid > .card:nth-child(2){
        padding:0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
    }

    .home-member-priority
    .rcs .grid > .card:first-child .head{
        min-height:28px!important;
        margin-bottom:6px!important;
        padding:0 2px!important;
    }

    .home-member-priority
    .rcs .grid > .card:first-child .title{
        font-size:13px!important;
    }

    .home-member-priority
    .rcs .gu-select{
        height:38px!important;
        padding:0 10px!important;
        border-radius:8px!important;
        font-size:12px!important;
    }

    .home-member-priority
    .rcs .result-head{
        min-height:27px!important;
        margin:4px 0 5px!important;
        padding:0 2px!important;
        font-size:11px!important;
    }

    .home-member-priority
    .rcs .result-head b{
        font-size:12px!important;
    }

    .home-member-priority
    .rcs table tbody{
        gap:4px!important;
    }

    .home-member-priority
    .rcs table tbody tr{
        min-height:38px!important;
        border-radius:8px!important;
    }

    .home-member-priority
    .rcs table tbody tr td.name,
    .home-member-priority
    .rcs table tbody tr td:nth-child(1){
        min-height:38px!important;
        padding:7px 34px 7px 10px!important;
        font-size:11.5px!important;
    }

    .home-member-priority
    .rcs table tbody tr.is-mobile-open
    td:nth-child(2){
        padding:0 10px 5px!important;
        font-size:10.5px!important;
    }

    .home-member-priority
    .rcs table tbody tr.is-mobile-open
    td:nth-child(3){
        margin-left:10px!important;
        font-size:11px!important;
    }

    .home-member-priority
    .rcs .pager{
        margin-top:6px!important;
    }

    .home-member-priority
    .rcs .pager .mobile-load-more{
        height:36px!important;
        min-height:36px!important;
        margin:0!important;
        border-radius:8px!important;
        font-size:10.5px!important;
    }

    /* ------------------------------------------------------
       SNS / 임원진
       ------------------------------------------------------ */
    .home-social__actions{
        gap:5px!important;
    }

    .home-social__instagram-link,
    .home-social__blog-link{
        min-height:34px!important;
        font-size:10px!important;
    }

    .home-social__grid{
        gap:7px!important;
    }

    .home-social-card{
        flex-basis:64%!important;
        border-radius:10px!important;
    }

    .home-social-card__body{
        padding:8px!important;
    }

    .home-social-card__body > strong{
        min-height:0!important;
        font-size:11px!important;
    }

    .home-social-card__body > p{
        display:none!important;
    }

    .home-faculty__head{
        margin-bottom:9px!important;
    }

    .home-faculty-card{
        flex:0 0 112px!important;
        width:112px!important;
        min-height:106px!important;
        padding:9px 8px!important;
    }

    .home-faculty-card:has(figure){
        flex-basis:132px!important;
        width:132px!important;
        min-height:168px!important;
    }

    .home-faculty-card figure{
        height:84px!important;
        margin-bottom:7px!important;
    }

    .home-faculty-card > span{
        min-width:0!important;
        min-height:28px!important;
        padding:5px 8px!important;
        font-size:9.5px!important;
    }

    .home-faculty-card > strong{
        font-size:11.5px!important;
    }

    .home-faculty-card > small{
        margin-top:3px!important;
        font-size:8.5px!important;
    }

    /* Footer starts closer to last section */
    .site-footer.site-footer--hero{
        margin-top:10px!important;
    }
}

@media(max-width:520px){
    .home-hero,
    .home-hero__swiper,
    .home-hero__slide{
        height:336px!important;
        min-height:336px!important;
    }

    .home-hero__content h1,
    .home-hero__content h2{
        font-size:24px!important;
    }

    .home-social-card{
        flex-basis:68%!important;
    }
}

/* ==========================================================
   SCRA v1.92 — Mobile readability and content hierarchy
   ========================================================== */
@media (max-width:1080px){
    body.site-body{
        color:#172033;
        font-size:16px;
        line-height:1.65;
    }

    a, button, input, select, textarea{
        -webkit-tap-highlight-color:rgba(36,88,215,.14);
    }

    .home-whatsnew,
    .home-news,
    .home-social__inner,
    .home-faculty__head{
        width:calc(100% - 32px)!important;
    }

    .home-whatsnew{
        margin-top:40px!important;
        margin-bottom:36px!important;
    }

    .home-news{
        margin-bottom:38px!important;
    }

    .home-section-head,
    .home-social__head,
    .home-faculty__head{
        margin-bottom:18px!important;
    }

    .home-section-kicker{
        margin-bottom:5px!important;
        font-size:11px!important;
        line-height:1.3!important;
        letter-spacing:.14em!important;
    }

    .home-section-head h2,
    .home-program__intro h2,
    .home-social__head h2,
    .home-faculty__head h2{
        font-size:27px!important;
        line-height:1.22!important;
    }

    .home-text-link{
        min-height:42px!important;
        padding:8px 12px!important;
        font-size:13px!important;
    }

    .home-hero,
    .home-hero__swiper,
    .home-hero__slide{
        height:430px!important;
        min-height:430px!important;
    }

    .home-hero__content{
        width:calc(100% - 36px)!important;
        padding:24px 0 62px!important;
    }

    .home-hero__content h1,
    .home-hero__content h2{
        max-width:360px!important;
        font-size:32px!important;
        line-height:1.18!important;
    }

    .home-hero__content p{
        max-width:340px!important;
        margin-top:12px!important;
        font-size:15px!important;
        line-height:1.6!important;
    }

    .home-hero__cta{
        width:min(100%,350px)!important;
        margin-top:18px!important;
        gap:8px!important;
    }

    .home-hero__cta a{
        min-height:46px!important;
        padding:0 14px!important;
        border-radius:10px!important;
        font-size:14px!important;
    }

    .home-hero__control{
        bottom:52px!important;
    }

    .home-hero__arrow{
        width:40px!important;
        height:40px!important;
    }

    .home-quick{
        width:calc(100% - 28px)!important;
        margin-top:-25px!important;
    }

    .home-quick__inner{
        gap:8px!important;
        padding:9px!important;
        border-radius:17px!important;
    }

    .home-quick__item{
        min-height:62px!important;
        padding:11px 13px!important;
        border-radius:11px!important;
    }

    .home-quick__item strong{
        font-size:14px!important;
    }

    .home-feature__slide.is-active{
        grid-template-columns:108px minmax(0,1fr)!important;
        gap:13px!important;
    }

    .home-feature__media{
        width:108px!important;
        height:82px!important;
        border-radius:10px!important;
    }

    .home-feature__title{
        margin-bottom:7px!important;
        font-size:15px!important;
        line-height:1.42!important;
    }

    .home-feature__copy time,
    .home-mini-post__meta{
        font-size:11px!important;
    }

    .home-feature__nav button{
        width:38px!important;
        height:38px!important;
    }

    .home-board-preview__tabs,
    .home-news__tabs{
        min-height:42px!important;
        gap:8px!important;
    }

    .home-board-tab,
    .home-news__tab{
        min-height:40px!important;
        padding:8px 13px!important;
        font-size:14px!important;
    }

    .home-mini-post,
    .home-news-row{
        padding:12px 0!important;
    }

    .home-mini-post a,
    .home-news-row strong{
        font-size:14px!important;
        line-height:1.45!important;
    }

    .home-news-row__tag,
    .home-news-row time{
        font-size:11px!important;
    }

    .home-news__more a{
        min-height:40px!important;
        padding:8px 12px!important;
        font-size:13px!important;
    }

    .home-program{
        width:calc(100% - 24px)!important;
        padding:32px 12px 36px!important;
        border-radius:18px!important;
    }

    .home-program__intro{
        padding:4px 4px 14px!important;
    }

    .home-program__intro p:last-child{
        display:block!important;
        margin-top:10px!important;
        font-size:14px!important;
        line-height:1.65!important;
    }

    .home-program-card,
    .home-program-card--support,
    .home-program-card--civil{
        min-height:122px!important;
        border-radius:12px!important;
    }

    .home-program-card span{
        left:12px!important;
        right:12px!important;
        bottom:12px!important;
        font-size:14px!important;
        line-height:1.35!important;
    }

    .home-member-priority{
        padding:36px 0 42px!important;
    }

    .home-member-priority .home-members-status-source{
        width:calc(100% - 28px)!important;
    }

    .home-member-priority .rcs .grid{
        gap:12px!important;
    }

    .home-member-priority .rcs .grid > .card:first-child .title{
        font-size:17px!important;
    }

    .home-member-priority .rcs .gu-select{
        height:46px!important;
        padding:0 13px!important;
        font-size:14px!important;
    }

    .home-member-priority .rcs .result-head,
    .home-member-priority .rcs .result-head b{
        font-size:14px!important;
    }

    .home-member-priority .rcs table tbody{
        gap:8px!important;
    }

    .home-member-priority .rcs table tbody tr{
        min-height:52px!important;
        border-radius:11px!important;
    }

    .home-member-priority .rcs table tbody tr td.name,
    .home-member-priority .rcs table tbody tr td:nth-child(1){
        min-height:52px!important;
        padding:12px 40px 12px 13px!important;
        font-size:14px!important;
        line-height:1.4!important;
    }

    .home-member-priority .rcs table tbody tr.is-mobile-open td:nth-child(2){
        padding:0 13px 8px!important;
        font-size:13px!important;
        line-height:1.5!important;
    }

    .home-member-priority .rcs table tbody tr.is-mobile-open td:nth-child(3){
        margin-left:13px!important;
        font-size:13px!important;
    }

    .home-member-priority .rcs .pager .mobile-load-more{
        min-height:46px!important;
        height:46px!important;
        margin-top:4px!important;
        border-radius:10px!important;
        font-size:14px!important;
    }

    .home-social{
        padding:38px 0 42px!important;
    }

    .home-social__head > div:first-child > p:last-child{
        display:block!important;
        margin-top:8px!important;
        font-size:14px!important;
        line-height:1.6!important;
    }

    .home-social__instagram-link,
    .home-social__blog-link{
        min-height:44px!important;
        font-size:13px!important;
    }

    .home-social-card{
        flex-basis:80%!important;
        border-radius:13px!important;
    }

    .home-social-card__body{
        padding:13px!important;
    }

    .home-social-card__body > strong{
        font-size:14px!important;
        line-height:1.45!important;
    }

    .home-faculty{
        padding:38px 0 42px!important;
    }

    .home-faculty-card{
        flex:0 0 145px!important;
        width:145px!important;
        min-height:138px!important;
        padding:14px 11px!important;
    }

    .home-faculty-card:has(figure){
        flex-basis:166px!important;
        width:166px!important;
        min-height:214px!important;
    }

    .home-faculty-card figure{
        height:112px!important;
    }

    .home-faculty-card > span{
        min-height:34px!important;
        font-size:11px!important;
    }

    .home-faculty-card > strong{
        font-size:14px!important;
    }

    .home-faculty-card > small{
        font-size:11px!important;
        line-height:1.4!important;
    }

    .page-main,
    .public-site-inner,
    .member-main,
    .member-main--narrow{
        width:calc(100% - 28px)!important;
    }

    .legacy-page-content,
    .page-content,
    .public-board,
    .member-card{
        font-size:15px;
        line-height:1.7;
    }

    .legacy-page-content input,
    .legacy-page-content select,
    .legacy-page-content textarea,
    .legacy-page-content button,
    .public-board input,
    .public-board select,
    .public-board textarea,
    .public-board button,
    .member-card input,
    .member-card select,
    .member-card textarea,
    .member-card button{
        min-height:44px;
        font-size:15px!important;
    }

    .site-footer__section-toggle{
        min-height:50px!important;
        font-size:15px!important;
    }

    .site-footer__col a,
    .site-footer__meta-row,
    .site-footer__policies a,
    .site-footer__copyright{
        font-size:13px!important;
        line-height:1.65!important;
    }
}

@media (max-width:520px){
    .home-hero,
    .home-hero__swiper,
    .home-hero__slide{
        height:410px!important;
        min-height:410px!important;
    }

    .home-hero__content h1,
    .home-hero__content h2{
        font-size:29px!important;
    }

    .home-hero__cta{
        flex-direction:column!important;
        width:min(100%,330px)!important;
    }

    .home-hero__cta a{
        width:100%!important;
    }

    .home-program__grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        grid-template-areas:
            "intro intro"
            "policy safety"
            "support civil"!important;
    }

    .home-social-card{
        flex-basis:86%!important;
    }
}
