
/* ==========================================================
   SCRA MAIN v1.35
   기준: 기존 index(3).html + style02.css
   Cafe24 전용 module 스타일은 제거하고 현 DB 구조에 맞게 정리.
   ========================================================== */

.home-body{
    background:#fff;
}
.home-body .site-header{
    z-index:80;
}
.home-main{
    overflow:hidden;
    background:#fff;
}

/* HERO */
.home-hero{
    position:relative;
    min-height:660px;
    background-image:
        linear-gradient(rgba(7,18,38,.34),rgba(7,18,38,.54)),
        url("../images/main/main_11.jpg");
    background-size:cover;
    background-position:center;
}
.home-hero__swiper,
.home-hero__slide{
    height:clamp(660px,67vw,900px);
}
.home-hero__slide{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    color:#fff;
}
.home-hero__video{
    position:absolute;
    inset:0;
    overflow:hidden;
    background:#0a172b;
    pointer-events:none;
}
.home-hero__video iframe{
    position:absolute;
    left:50%;
    top:50%;
    width:177.78vh;
    min-width:100%;
    height:56.25vw;
    min-height:100%;
    transform:translate(-50%,-50%);
    border:0;
    pointer-events:none;
}
.home-hero__shade{
    position:absolute;
    inset:0;
    z-index:1;
    background:
        linear-gradient(
            180deg,
            rgba(3,11,26,.20) 0%,
            rgba(3,11,26,.36) 62%,
            rgba(3,11,26,.62) 100%
        );
}
.home-hero__content{
    position:relative;
    z-index:2;
    width:min(720px,calc(100% - 40px));
    margin-top:70px;
    text-align:center;
    word-break:keep-all;
}
.home-hero__content h1,
.home-hero__content h2{
    margin:0;
    color:#fff;
    font-size:clamp(34px,4.7vw,64px);
    font-weight:850;
    line-height:1.12;
    letter-spacing:-.055em;
}
.home-hero__content p{
    max-width:650px;
    margin:22px auto 0;
    color:rgba(255,255,255,.84);
    font-size:clamp(15px,1.45vw,20px);
    line-height:1.8;
}
.home-hero__control{
    position:absolute;
    right:max(28px,calc((100vw - 1380px)/2));
    bottom:145px;
    z-index:8;
    display:flex;
    align-items:center;
    gap:11px;
    color:#fff;
    font-weight:800;
}
.home-hero__current,
.home-hero__total{
    min-width:28px;
    text-align:center;
    font-size:14px;
}
.home-hero__progress{
    position:relative;
    width:90px;
    height:2px;
    overflow:hidden;
    border-radius:99px;
    background:rgba(255,255,255,.35);
}
.home-hero__progress span{
    display:block;
    width:0;
    height:100%;
    background:#fff;
}
.home-hero__arrow{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid rgba(255,255,255,.36);
    border-radius:50%;
    background:rgba(7,18,38,.18);
    color:#fff;
    cursor:pointer;
    font-size:17px;
}

/* QUICK MENU */
.home-quick{
    position:relative;
    z-index:12;
    width:min(1380px,calc(100% - 48px));
    margin:-88px auto 0;
}
.home-quick__inner{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    overflow:hidden;
    border:1px solid rgba(255,255,255,.22);
    border-radius:2px;
    box-shadow:0 20px 55px rgba(5,18,43,.20);
    backdrop-filter:blur(12px) saturate(130%);
    -webkit-backdrop-filter:blur(12px) saturate(130%);
}
.home-quick__item{
    min-height:88px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:14px;
    padding:18px 24px;
    border-right:1px solid rgba(255,255,255,.18);
    background:rgba(84,117,157,.48);
    color:#fff;
    text-decoration:none;
    transition:.18s ease;
}
.home-quick__item:last-child{
    border-right:0;
}
.home-quick__item:hover{
    background:#2949a4;
    transform:translateY(-2px);
}
.home-quick__icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.3);
    border-radius:12px;
    font-size:18px;
}
.home-quick__item strong{
    font-size:18px;
    font-weight:750;
}
.home-quick__item.is-disabled{
    opacity:.55;
    pointer-events:none;
}

/* COMMON SECTION */
.home-section-head{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:34px;
}
.home-section-head h2,
.home-program__intro h2,
.home-faculty__head h2{
    margin:0;
    color:#151b26;
    font-size:clamp(42px,5vw,72px);
    font-weight:800;
    line-height:1.05;
    letter-spacing:-.055em;
}
.home-section-kicker{
    margin:0 0 10px;
    color:#3159bd;
    font-size:12px;
    font-weight:900;
    letter-spacing:.16em;
}
.home-text-link{
    padding:10px 14px;
    border:1px solid #dde3eb;
    border-radius:12px;
    text-decoration:none;
    color:#28344a;
    font-size:14px;
    font-weight:700;
}

/* WHAT'S NEW */
.home-whatsnew{
    width:min(1380px,calc(100% - 48px));
    margin:clamp(95px,9vw,150px) auto 80px;
}
.home-whatsnew__grid{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(380px,.75fr);
    gap:42px;
}
.home-feature{
    position:relative;
    min-height:340px;
    padding-right:36px;
    border-right:1px solid #e3e6eb;
}
.home-feature__slide{
    display:none;
    grid-template-columns:minmax(270px,340px) 1fr;
    gap:26px;
    align-items:center;
}
.home-feature__slide.is-active{
    display:grid;
}
.home-feature__media{
    width:100%;
    aspect-ratio:4/3;
    display:block;
    overflow:hidden;
    border-radius:18px;
    background:
        radial-gradient(circle at 25% 20%,rgba(255,255,255,.2),transparent 35%),
        linear-gradient(135deg,#12284c,#2d55a2);
}
.home-feature__media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.home-feature__media.is-placeholder{
    display:grid;
    place-items:center;
    color:rgba(255,255,255,.72);
    font-size:32px;
    font-weight:900;
    letter-spacing:.08em;
}
.home-feature__title{
    display:-webkit-box;
    overflow:hidden;
    margin-bottom:12px;
    color:#161c28;
    text-decoration:none;
    font-size:clamp(21px,2vw,27px);
    font-weight:800;
    line-height:1.42;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}
.home-feature__copy p{
    display:-webkit-box;
    overflow:hidden;
    margin:0 0 16px;
    color:#626b79;
    font-size:15px;
    line-height:1.75;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
}
.home-feature__copy time{
    color:#9299a5;
    font-size:13px;
}
.home-feature__nav{
    position:absolute;
    right:36px;
    top:0;
    display:flex;
    gap:7px;
}
.home-feature__nav button{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid #dfe4ec;
    border-radius:11px;
    background:#fff;
    color:#1f2937;
    font-size:24px;
    cursor:pointer;
}
.home-board-preview__tabs{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:14px;
}
.home-board-tab{
    height:40px;
    padding:0 18px;
    border:1px solid #dfe4ec;
    border-radius:999px;
    background:#fff;
    color:#202735;
    font:inherit;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
}
.home-board-tab.is-active{
    border-color:#111827;
    background:#111827;
    color:#fff;
}
.home-board-preview__more{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    margin-left:auto;
    border:1px solid #dfe4ec;
    border-radius:11px;
    text-decoration:none;
    font-size:19px;
}
.home-board-panel{
    display:grid;
    gap:10px;
}
.home-board-panel[hidden]{
    display:none !important;
}
.home-mini-post{
    padding:14px 16px 15px;
    border:1px solid #e8ebf0;
    border-radius:14px;
    background:#fff;
}
.home-mini-post__meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:7px;
}
.home-mini-post__meta span{
    padding:4px 8px;
    border-radius:99px;
    background:#eff4ff;
    color:#3159bd;
    font-size:11px;
    font-weight:800;
}
.home-mini-post__meta time{
    color:#9aa1ad;
    font-size:12px;
}
.home-mini-post > a{
    display:-webkit-box;
    overflow:hidden;
    color:#1a2231;
    text-decoration:none;
    font-size:16px;
    font-weight:800;
    line-height:1.45;
    -webkit-line-clamp:1;
    -webkit-box-orient:vertical;
}
.home-mini-post p{
    display:-webkit-box;
    overflow:hidden;
    margin:6px 0 0;
    color:#747d8b;
    font-size:13px;
    line-height:1.55;
    -webkit-line-clamp:1;
    -webkit-box-orient:vertical;
}

/* NEWS TABS */
.home-news{
    width:min(1380px,calc(100% - 48px));
    margin:0 auto 95px;
}
.home-news__inner{
    padding-top:34px;
    border-top:1px solid #dce1e8;
}
.home-news__tabs{
    display:flex;
    flex-wrap:wrap;
    gap:28px;
    margin-bottom:18px;
}
.home-news__tab{
    padding:8px 2px 10px;
    border:0;
    border-bottom:4px solid transparent;
    background:transparent;
    color:#a1a6b0;
    font:inherit;
    font-size:21px;
    cursor:pointer;
}
.home-news__tab.is-active{
    border-color:#3159bd;
    color:#202633;
    font-weight:800;
}
.home-news__panel[hidden]{
    display:none !important;
}
.home-news-row{
    display:grid;
    grid-template-columns:120px minmax(0,1fr) 120px;
    align-items:center;
    gap:18px;
    min-height:68px;
    padding:12px 4px;
    border-bottom:1px solid #e7eaf0;
    color:#222a38;
    text-decoration:none;
}
.home-news-row__tag{
    justify-self:start;
    padding:7px 12px;
    border-radius:999px;
    background:#edf2ff;
    color:#3159bd;
    font-size:12px;
    font-weight:800;
}
.home-news-row strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:16px;
}
.home-news-row time{
    color:#939aa6;
    text-align:right;
    font-size:13px;
}
.home-news__more{
    display:flex;
    justify-content:flex-end;
    margin-top:16px;
}
.home-news__more a{
    padding:9px 14px;
    border:1px solid #dfe4ec;
    border-radius:10px;
    text-decoration:none;
    font-size:13px;
    font-weight:800;
}

/* PROGRAM */
.home-program{
    position:relative;
    width:min(1380px,calc(100% - 48px));
    margin:0 auto;
    padding:clamp(70px,8vw,120px);
    overflow:hidden;
    background:
        linear-gradient(rgba(244,245,247,.95),rgba(244,245,247,.95)),
        url("../images/main/biz-sec02bg.png") center/cover no-repeat;
}
.home-program__grid{
    position:relative;
    z-index:1;
}
.home-program__grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:22px;
    grid-template-areas:
        "intro intro intro intro intro intro policy policy policy safety safety safety"
        "support support support support support support video video video civil civil civil";
}
.home-program__intro{
    grid-area:intro;
    padding-right:26px;
}
.home-program__intro p:last-child{
    max-width:640px;
    margin:20px 0 0;
    color:#525b69;
    font-size:clamp(15px,1.3vw,19px);
    line-height:1.9;
    word-break:keep-all;
}
.home-program-card{
    position:relative;
    min-height:245px;
    display:block;
    overflow:hidden;
    border-radius:20px;
    background-position:center;
    background-size:cover;
    box-shadow:0 10px 28px rgba(10,28,60,.11);
    color:#fff;
    text-decoration:none;
    transition:.25s ease;
}
.home-program-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            rgba(5,15,35,.06),
            rgba(5,15,35,.68)
        );
}
.home-program-card:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 38px rgba(10,28,60,.16);
}
.home-program-card span,
.home-program-card i{
    position:absolute;
    z-index:2;
    bottom:22px;
}
.home-program-card span{
    left:22px;
    right:50px;
    font-size:19px;
    font-weight:850;
    line-height:1.35;
}
.home-program-card i{
    right:22px;
    font-style:normal;
    font-size:20px;
}
.home-program-card--policy{
    grid-area:policy;
    background-image:
        linear-gradient(135deg,rgba(38,67,121,.28),rgba(10,24,52,.08)),
        url("../images/main/pro_bg01.png"),
        linear-gradient(135deg,#315fa8,#152b50);
}
.home-program-card--safety{
    grid-area:safety;
    background-image:
        linear-gradient(135deg,rgba(38,67,121,.24),rgba(10,24,52,.08)),
        url("../images/main/pro_bg02.jpg"),
        linear-gradient(135deg,#557a9e,#1b324e);
}
.home-program-card--support{
    grid-area:support;
    min-height:290px;
    background-image:
        linear-gradient(135deg,rgba(27,56,110,.22),rgba(6,20,48,.12)),
        url("../images/main/pro_bg032.jpg"),
        linear-gradient(135deg,#244b86,#152a4d);
}
.home-program-card--civil{
    grid-area:civil;
    background-image:
        linear-gradient(135deg,rgba(52,74,112,.2),rgba(12,24,48,.12)),
        url("../images/main/pro_bg04.jpg"),
        linear-gradient(135deg,#385a75,#182f49);
}
.home-program-card--video{
    grid-area:video;
    background-image:
        url("../images/main/logo_bg.jpg"),
        linear-gradient(135deg,#0b1b34,#234b86);
    background-size:cover;
    background-position:center;
    pointer-events:none;
}
.home-program-card--video::after{
    background:rgba(8,19,40,.18);
}
.home-program-card--video iframe{
    position:absolute;
    left:50%;
    top:50%;
    z-index:1;
    width:177.78%;
    height:100%;
    min-width:100%;
    min-height:56.25%;
    transform:translate(-50%,-50%);
    border:0;
    pointer-events:none;
}

/* FACULTY */
.home-faculty{
    margin-top:90px;
    padding:80px 0 96px;
    overflow:hidden;
    color:#fff;
    background:
        radial-gradient(circle at 20% 0,rgba(67,111,199,.48),transparent 28%),
        linear-gradient(135deg,#07162d,#102c54 58%,#0a1a35);
}
.home-faculty__head{
    width:min(1380px,calc(100% - 48px));
    margin:0 auto 34px;
    text-align:center;
}
.home-faculty__head h2{
    color:#fff;
}
.home-faculty__head > p:not(.home-section-kicker){
    margin:13px 0 18px;
    color:rgba(255,255,255,.75);
}
.home-faculty__head a{
    display:inline-flex;
    padding:9px 14px;
    border:1px solid rgba(255,255,255,.26);
    border-radius:999px;
    color:#fff;
    text-decoration:none;
    font-size:13px;
    font-weight:800;
}
.home-faculty__viewport{
    width:100%;
    overflow:hidden;
}
.home-faculty__track{
    width:max-content;
    display:flex;
    gap:14px;
    margin:0;
    padding:12px 7vw 0;
    list-style:none;
    animation:homeFacultyRoll 58s linear infinite;
}
.home-faculty__viewport:hover .home-faculty__track,
.home-faculty__viewport:focus-within .home-faculty__track{
    animation-play-state:paused;
}
.home-faculty-card{
    width:210px;
    min-height:170px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:24px 22px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:18px;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}
.home-faculty-card:has(figure){
    width:260px;
    min-height:270px;
    justify-content:flex-start;
}
.home-faculty-card figure{
    height:150px;
    margin:0 0 20px;
    overflow:hidden;
    border-radius:13px;
    background:#fff;
}
.home-faculty-card figure img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 25%;
}
.home-faculty-card span{
    margin-bottom:6px;
    color:#a9c0f1;
    font-size:12px;
    font-weight:800;
}
.home-faculty-card strong{
    font-size:22px;
    line-height:1.25;
}
.home-faculty-card small{
    margin-top:7px;
    color:rgba(255,255,255,.67);
    font-size:13px;
}
@keyframes homeFacultyRoll{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
}

/* EMPTY */
.home-empty{
    padding:24px;
    border:1px dashed #d8dee8;
    border-radius:14px;
    color:#87909d;
    text-align:center;
    font-size:14px;
}

/* RESPONSIVE */
@media(max-width:1100px){
    .home-whatsnew__grid{
        grid-template-columns:1fr;
    }
    .home-feature{
        padding-right:0;
        padding-bottom:36px;
        border-right:0;
        border-bottom:1px solid #e3e6eb;
    }
    .home-program__grid{
        grid-template-columns:1fr 1fr;
        grid-template-areas:
            "intro intro"
            "policy safety"
            "support support"
            "video civil";
    }
    .home-program{
        padding:70px 44px;
    }
}
@media(max-width:860px){
    .home-quick__inner{
        grid-template-columns:1fr 1fr;
    }
    .home-quick__item:nth-child(2){
        border-right:0;
    }
    .home-quick__item:nth-child(n+3){
        border-top:1px solid rgba(255,255,255,.18);
    }
    .home-feature__slide{
        grid-template-columns:1fr;
    }
    .home-feature__media{
        max-width:560px;
    }
    .home-feature__nav{
        right:0;
    }
    .home-news-row{
        grid-template-columns:95px minmax(0,1fr);
    }
    .home-news-row time{
        grid-column:2;
        text-align:left;
    }
}
@media(max-width:760px){
    .home-hero__swiper,
    .home-hero__slide{
        height:660px;
    }
    .home-hero__content{
        margin-top:20px;
    }
    .home-hero__control{
        left:24px;
        right:auto;
        bottom:150px;
    }
    .home-quick{
        width:calc(100% - 28px);
        margin-top:-120px;
    }
    .home-quick__item{
        min-height:68px;
        padding:12px 14px;
    }
    .home-quick__icon{
        display:none;
    }
    .home-quick__item strong{
        font-size:14px;
    }
    .home-whatsnew,
    .home-news,
    .home-faculty__head{
        width:calc(100% - 32px);
    }
    .home-whatsnew{
        margin-top:80px;
    }
    .home-section-head{
        align-items:flex-start;
        flex-direction:column;
    }
    .home-section-head h2,
    .home-program__intro h2,
    .home-faculty__head h2{
        font-size:38px;
    }
    .home-feature{
        min-height:0;
    }
    .home-feature__title{
        font-size:21px;
    }
    .home-news__tabs{
        gap:14px;
    }
    .home-news__tab{
        font-size:17px;
    }
    .home-news-row{
        grid-template-columns:1fr;
        gap:8px;
        padding:16px 2px;
    }
    .home-news-row time{
        grid-column:auto;
    }
    .home-program{
        width:calc(100% - 24px);
        padding:44px 14px;
    }
    .home-program__grid{
        grid-template-columns:1fr 1fr;
        gap:14px;
        grid-template-areas:
            "intro intro"
            "policy safety"
            "support support"
            "civil civil";
    }
    .home-program__intro{
        padding:10px;
    }
    .home-program-card{
        min-height:180px;
        border-radius:16px;
    }
    .home-program-card--support,
    .home-program-card--civil{
        min-height:200px;
    }
    .home-program-card--video{
        display:none;
    }
    .home-program-card span{
        left:15px;
        bottom:15px;
        right:34px;
        font-size:14px;
    }
    .home-program-card i{
        right:15px;
        bottom:15px;
    }
    .home-faculty{
        margin-top:70px;
        padding:62px 0 78px;
    }
    .home-faculty-card{
        width:175px;
        min-height:145px;
    }
    .home-faculty-card:has(figure){
        width:220px;
        min-height:250px;
    }
}
@media(prefers-reduced-motion:reduce){
    .home-faculty__track{
        animation:none;
    }
}


/* ==========================================================
   SCRA MAIN v1.59 — 메인 리듬 정리 + 회원사 지역검색
   ========================================================== */

/* 전체 화면을 기존 메인의 밀도에 가깝게 조정 */
.home-hero{min-height:560px}
.home-hero__swiper,
.home-hero__slide{height:clamp(560px,58vw,760px)}
.home-hero__content{margin-top:38px}
.home-hero__content h1,
.home-hero__content h2{font-size:clamp(34px,4.1vw,56px)}
.home-hero__content p{margin-top:17px;font-size:clamp(14px,1.25vw,18px)}
.home-hero__control{bottom:116px}
.home-quick{margin-top:-72px}
.home-quick__item{min-height:76px;padding:14px 20px}
.home-quick__icon{width:36px;height:36px;border-radius:10px}
.home-quick__item strong{font-size:16px}

.home-whatsnew{margin:88px auto 64px}
.home-section-head{margin-bottom:26px}
.home-section-head h2,
.home-program__intro h2,
.home-faculty__head h2{font-size:clamp(38px,4.4vw,62px)}
.home-whatsnew__grid{gap:34px}
.home-feature{min-height:300px;padding-right:30px}
.home-feature__slide{grid-template-columns:minmax(245px,310px) 1fr;gap:22px}
.home-feature__media{border-radius:15px}
.home-mini-post{padding:12px 14px 13px;border-radius:12px}
.home-news{margin-bottom:72px}
.home-news__inner{padding-top:26px}
.home-news-row{min-height:61px;padding:10px 4px}

.home-program{padding:clamp(54px,6vw,86px)}
.home-program__grid{gap:18px}
.home-program-card{min-height:220px;border-radius:17px}
.home-program-card--support{min-height:260px}
.home-faculty{margin-top:72px;padding:64px 0 76px}
.home-faculty__head{margin-bottom:26px}
.home-faculty-card{width:198px;min-height:156px;padding:20px 18px;border-radius:16px}
.home-faculty-card:has(figure){width:238px;min-height:246px}
.home-faculty-card figure{height:132px;margin-bottom:16px}

/* ===== v1.59.1 회원사현황 동일 소스 재사용 =====
   메인에서 별도 지도/목록 스타일을 만들지 않고,
   page.php?slug=members-status 의 scra_pages.content 자체 스타일을 사용합니다.
*/
.home-members-status-source{
    width:100%;
    min-width:0;
    margin:0;
    padding:0;
}
.home-members-status-source.legacy-page-content{
    overflow:visible;
}
.home-members-status-fallback{
    width:min(1280px,calc(100% - 48px));
    margin:72px auto;
    padding:36px;
    border:1px solid #e4e9f1;
    border-radius:18px;
    background:#fff;
    text-align:center;
}
.home-members-status-fallback strong{
    display:block;
    margin-bottom:14px;
    color:#182235;
    font-size:18px;
}
.home-members-status-fallback a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 16px;
    border-radius:9px;
    background:#2458d7;
    color:#fff;
    font-weight:800;
    text-decoration:none;
}


/* ==========================================================
   SCRA v1.59.2
   메인 임원단 현황 — 기존 홈페이지 디자인 복원
   기존 index(4).html 의 scra-faculty / roller-card 시각체계를
   현재 home-faculty 마크업에 맞춰 이식합니다.
   ========================================================== */

.home-faculty{
    position:relative;
    isolation:isolate;
    margin-top:72px !important;
    padding:72px 0 96px !important;
    overflow:hidden;
    color:#fff !important;
    background:
        radial-gradient(
            1100px 520px at 20% 0%,
            rgba(120,190,255,.55) 0%,
            rgba(120,190,255,0) 60%
        ),
        radial-gradient(
            1100px 520px at 80% 100%,
            rgba(80,140,255,.55) 0%,
            rgba(80,140,255,0) 60%
        ),
        linear-gradient(
            180deg,
            #5fb2ff 0%,
            #4f96ff 40%,
            #2a5fe8 100%
        ) !important;
}

.home-faculty::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.03),
            rgba(0,39,145,.06)
        );
}

.home-faculty__head{
    width:min(1180px,calc(100% - 48px)) !important;
    margin:0 auto 34px !important;
    text-align:center !important;
    color:#fff !important;
}

.home-faculty__head .home-section-kicker{
    margin-bottom:8px !important;
    color:rgba(255,255,255,.72) !important;
    font-size:11px !important;
    font-weight:800 !important;
    letter-spacing:.18em !important;
}

.home-faculty__head h2{
    margin:0 0 8px !important;
    color:#fff !important;
    font-size:42px !important;
    line-height:1.12 !important;
    letter-spacing:-.035em !important;
    font-weight:800 !important;
}

.home-faculty__head > p:not(.home-section-kicker){
    margin:0 0 16px !important;
    color:rgba(255,255,255,.92) !important;
    font-size:15px !important;
    line-height:1.65 !important;
}

.home-faculty__head a{
    display:inline-flex !important;
    align-items:center;
    gap:6px;
    min-height:40px;
    padding:9px 16px !important;
    border:1.5px solid rgba(255,255,255,.75) !important;
    border-radius:10px !important;
    background:rgba(255,255,255,.04) !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:700 !important;
    backdrop-filter:saturate(140%) blur(4px);
    -webkit-backdrop-filter:saturate(140%) blur(4px);
}

.home-faculty__viewport{
    width:100% !important;
    overflow:hidden !important;
    padding-top:12px;
}

.home-faculty__track{
    width:max-content !important;
    display:flex !important;
    align-items:stretch !important;
    gap:22px !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
    animation:homeFacultyRoll 60s linear infinite !important;
}

.home-faculty-card{
    flex:0 0 210px !important;
    width:210px !important;
    min-height:330px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    padding:78px 18px 68px !important;
    border:0 !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.96) !important;
    box-shadow:
        0 20px 40px rgba(2,8,23,.12),
        0 6px 18px rgba(2,8,23,.08) !important;
    color:#0b1020 !important;
    text-align:center !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
}

/* 이사장 사진 카드 */
.home-faculty-card:has(figure){
    flex-basis:230px !important;
    width:230px !important;
    min-height:360px !important;
    padding:22px 18px 38px !important;
    justify-content:flex-start !important;
}

.home-faculty-card figure{
    width:150px !important;
    height:185px !important;
    margin:0 auto 18px !important;
    overflow:hidden !important;
    border-radius:95px 95px 34px 34px / 112px 112px 34px 34px !important;
    background:linear-gradient(180deg,#e9f1ff,#e3ecff) !important;
}

.home-faculty-card figure img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 20% !important;
}

/* 직책: 기존 파란 pill 태그 */
.home-faculty-card > span{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-width:112px;
    min-height:42px;
    margin:0 0 10px !important;
    padding:8px 22px !important;
    border-radius:999px !important;
    background:#457ef3 !important;
    color:#fff !important;
    font-size:16px !important;
    line-height:1 !important;
    font-weight:500 !important;
    white-space:nowrap;
}

.home-faculty-card > strong{
    color:#0b1020 !important;
    font-size:29px !important;
    line-height:1.25 !important;
    font-weight:500 !important;
    letter-spacing:-.035em !important;
}

.home-faculty-card > small{
    display:block !important;
    margin-top:8px !important;
    color:#475569 !important;
    font-size:15px !important;
    line-height:1.45 !important;
    font-weight:400 !important;
}

/* 화면이 넓을 때 기존처럼 좌우 끝까지 자연스럽게 흐르게 */
@media(min-width:1200px){
    .home-faculty__track{
        padding-left:0 !important;
        padding-right:0 !important;
    }
}

/* 모바일에서는 캡슐 비율만 줄이고 스타일은 유지 */
@media(max-width:760px){
    .home-faculty{
        padding:58px 0 72px !important;
    }

    .home-faculty__head{
        width:calc(100% - 32px) !important;
        margin-bottom:26px !important;
    }

    .home-faculty__head h2{
        font-size:34px !important;
    }

    .home-faculty-card{
        flex-basis:170px !important;
        width:170px !important;
        min-height:270px !important;
        padding:60px 14px 52px !important;
    }

    .home-faculty-card:has(figure){
        flex-basis:190px !important;
        width:190px !important;
        min-height:300px !important;
        padding:18px 14px 30px !important;
    }

    .home-faculty-card figure{
        width:124px !important;
        height:150px !important;
    }

    .home-faculty-card > span{
        min-width:96px;
        min-height:36px;
        padding:7px 17px !important;
        font-size:14px !important;
    }

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

    .home-faculty-card > small{
        font-size:13px !important;
    }
}


/* ==========================================================
   SCRA v1.63 — 메인 Social Live Feed
   ========================================================== */
.home-social{
    padding:88px 0 94px;
    background:#f7f9fc;
}
.home-social__inner{
    width:min(1180px,calc(100% - 48px));
    margin:0 auto;
}
.home-social__head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
    margin-bottom:28px;
}
.home-social__head > div:first-child{
    max-width:720px;
}
.home-social__head h2{
    margin:4px 0 10px;
    color:#111827;
    font-size:clamp(34px,4vw,52px);
    line-height:1.12;
    letter-spacing:-.045em;
    font-weight:850;
}
.home-social__head > div:first-child > p:last-child{
    margin:0;
    color:#6f7a8d;
    font-size:15px;
    line-height:1.7;
}
.home-social__tabs{
    display:inline-flex;
    gap:5px;
    padding:4px;
    border:1px solid #e1e7ef;
    border-radius:999px;
    background:#fff;
}
.home-social__tab{
    min-height:38px;
    padding:0 15px;
    border:0;
    border-radius:999px;
    background:transparent;
    color:#6a7587;
    font:inherit;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
}
.home-social__tab.is-active{
    background:#111d35;
    color:#fff;
}
.home-social__panel[hidden]{
    display:none!important;
}
.home-social__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}
.home-social-card{
    min-width:0;
    overflow:hidden;
    border:1px solid #e4e9f0;
    border-radius:17px;
    background:#fff;
    box-shadow:0 9px 28px rgba(21,37,67,.045);
    color:inherit;
    text-decoration:none;
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}
.home-social-card:hover{
    transform:translateY(-4px);
    border-color:#d2dbe8;
    box-shadow:0 16px 34px rgba(21,37,67,.09);
}
.home-social-card__media{
    position:relative;
    aspect-ratio:16/10;
    overflow:hidden;
    background:#edf2f7;
}
.home-social-card__media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .28s ease;
}
.home-social-card:hover .home-social-card__media img{
    transform:scale(1.025);
}
.home-social-card__fallback{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:
        radial-gradient(circle at 25% 30%,rgba(255,210,99,.85),transparent 32%),
        radial-gradient(circle at 75% 28%,rgba(220,67,135,.9),transparent 38%),
        linear-gradient(135deg,#6748d8,#f05d78);
    color:#fff;
    font-size:24px;
    font-weight:850;
}
.home-social-card__fallback--blog{
    background:linear-gradient(135deg,#03c75a,#13b66b);
}
.home-social-card__badge{
    position:absolute;
    top:12px;
    left:12px;
    display:inline-flex;
    min-height:27px;
    align-items:center;
    padding:0 9px;
    border-radius:999px;
    background:rgba(16,24,40,.72);
    color:#fff;
    font-size:10px;
    font-weight:850;
    letter-spacing:.04em;
    backdrop-filter:blur(8px);
}
.home-social-card__badge--blog{
    background:rgba(3,199,90,.9);
}
.home-social-card__body{
    padding:16px 17px 17px;
}
.home-social-card__body > strong{
    display:-webkit-box;
    overflow:hidden;
    min-height:48px;
    color:#202b3d;
    font-size:16px;
    line-height:1.5;
    letter-spacing:-.02em;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}
.home-social-card__body > p{
    display:-webkit-box;
    overflow:hidden;
    min-height:40px;
    margin:8px 0 0;
    color:#737f91;
    font-size:12.5px;
    line-height:1.6;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}
.home-social-card__meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid #f0f2f5;
    color:#8a94a4;
    font-size:11px;
}
.home-social__connect{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    min-height:170px;
    padding:28px 32px;
    border:1px solid #e2e8f0;
    border-radius:18px;
    background:#fff;
}
.home-social__connect > div{
    display:flex;
    align-items:center;
    gap:16px;
}
.home-social__connect-mark{
    flex:0 0 58px;
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    background:linear-gradient(135deg,#6748d8,#f05d78);
    color:#fff;
    font-size:17px;
    font-weight:900;
}
.home-social__connect-mark--blog{
    background:#03c75a;
}
.home-social__connect strong{
    color:#172238;
    font-size:19px;
}
.home-social__connect p{
    margin:5px 0 0;
    color:#758094;
    font-size:13px;
}
.home-social__connect > a{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    min-height:42px;
    padding:0 15px;
    border:1px solid #d9e0ea;
    border-radius:10px;
    color:#27344b;
    font-size:13px;
    font-weight:800;
    text-decoration:none;
}

@media(max-width:900px){
    .home-social__head{
        align-items:flex-start;
        flex-direction:column;
    }
    .home-social__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:640px){
    .home-social{
        padding:66px 0 72px;
    }
    .home-social__inner{
        width:calc(100% - 32px);
    }
    .home-social__head{
        margin-bottom:20px;
    }
    .home-social__head h2{
        font-size:34px;
    }
    .home-social__tabs{
        width:100%;
    }
    .home-social__tab{
        flex:1 1 50%;
    }
    .home-social__grid{
        display:flex;
        gap:14px;
        margin-right:-16px;
        padding-right:16px;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
    }
    .home-social__grid::-webkit-scrollbar{
        display:none;
    }
    .home-social-card{
        flex:0 0 82%;
        scroll-snap-align:start;
    }
    .home-social__connect{
        align-items:flex-start;
        flex-direction:column;
        padding:22px;
    }
    .home-social__connect > a{
        width:100%;
        justify-content:center;
    }
}


/* ==========================================================
   SCRA v1.63.1 — Blog only + Instagram shortcut
   ========================================================== */
.home-social__actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}
.home-social__instagram-link,
.home-social__blog-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 15px;
    border-radius:10px;
    font-size:13px;
    font-weight:800;
    text-decoration:none !important;
    transition:transform .18s ease, border-color .18s ease, background .18s ease;
}
.home-social__instagram-link{
    border:1px solid #d9e0ea;
    background:#fff;
    color:#27344b !important;
}
.home-social__blog-link{
    border:1px solid #03c75a;
    background:#03c75a;
    color:#fff !important;
}
.home-social__instagram-link:hover,
.home-social__blog-link:hover{
    transform:translateY(-1px);
}
.home-social__panel{
    display:block;
}
@media(max-width:640px){
    .home-social__actions{
        width:100%;
        justify-content:flex-start;
    }
    .home-social__instagram-link,
    .home-social__blog-link{
        flex:1 1 auto;
    }
}


/* ==========================================================
   SCRA v1.63.2 — Blog cards compact / image clarity
   ========================================================== */
.home-social{
    padding:76px 0 82px;
}
.home-social__inner{
    width:min(1100px,calc(100% - 48px));
}
.home-social__head{
    margin-bottom:22px;
}
.home-social__head h2{
    font-size:clamp(30px,3.6vw,44px);
    line-height:1.14;
}
.home-social__head > div:first-child > p:last-child{
    font-size:14px;
}
.home-social__grid{
    gap:18px;
}
.home-social-card{
    border-radius:15px;
}
.home-social-card__media{
    aspect-ratio: 16 / 8.8;
    background:#eef2f7;
}
.home-social-card__media img{
    transform:none !important;
    object-fit:cover;
    filter:contrast(1.03) saturate(1.02);
    image-rendering:auto;
}
.home-social-card:hover .home-social-card__media img{
    transform:none !important;
}
.home-social-card__badge{
    top:10px;
    left:10px;
    min-height:25px;
    padding:0 8px;
    font-size:9px;
}
.home-social-card__body{
    padding:14px 15px 15px;
}
.home-social-card__body > strong{
    min-height:44px;
    font-size:15px;
    line-height:1.45;
}
.home-social-card__body > p{
    min-height:36px;
    margin-top:7px;
    font-size:12px;
    line-height:1.55;
}
.home-social-card__meta{
    margin-top:12px;
    padding-top:10px;
    font-size:10.5px;
}
@media(max-width:900px){
    .home-social__inner{
        width:min(1000px,calc(100% - 40px));
    }
}
@media(max-width:640px){
    .home-social{
        padding:60px 0 66px;
    }
    .home-social__head h2{
        font-size:32px;
    }
    .home-social__grid{
        gap:12px;
    }
    .home-social-card{
        flex:0 0 78%;
    }
    .home-social-card__body{
        padding:13px 14px 14px;
    }
}


/* ==========================================================
   SCRA v1.65 — Main UX hierarchy upgrade
   ========================================================== */

/* Hero: 보는 화면 -> 바로 행동할 수 있는 화면 */
.home-hero__content{
    max-width:760px;
}
.home-hero__cta{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    margin-top:22px;
}
.home-hero__cta a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 18px;
    border-radius:10px;
    font-size:13px;
    font-weight:850;
    text-decoration:none!important;
    transition:
        transform .18s ease,
        background .18s ease,
        border-color .18s ease;
}
.home-hero__cta a:hover{
    transform:translateY(-1px);
}
.home-hero__cta-primary{
    border:1px solid #fff;
    background:#fff;
    color:#15213a!important;
}
.home-hero__cta-secondary{
    border:1px solid rgba(255,255,255,.55);
    background:rgba(7,18,39,.28);
    color:#fff!important;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}

/* 기존 4개 바로가기의 존재감은 유지하되 조금 더 얇게 */
.home-quick__item{
    min-height:66px!important;
}
.home-quick__inner{
    min-height:66px!important;
}

/* 메인의 핵심 실용 기능을 SCRA 소개 바로 아래로 */
.home-member-priority{
    position:relative;
    z-index:1;
    padding:70px 0 78px;
    background:#fff;
}
.home-member-priority .home-members-status-source{
    margin:0!important;
}
.home-member-priority .legacy-page-content{
    overflow:visible;
}
.home-member-priority + .home-social{
    border-top:1px solid #eef1f5;
}

/* Blog: 메인에서는 최근 3개만, 뉴스보다 가볍게 */
.home-social{
    padding:68px 0 74px!important;
}
.home-social__inner{
    width:min(1060px,calc(100% - 48px))!important;
}
.home-social__head{
    margin-bottom:20px!important;
}
.home-social__head h2{
    font-size:clamp(29px,3.2vw,41px)!important;
}
.home-social__grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:16px!important;
}
.home-social-card__media{
    aspect-ratio:16/8.2!important;
}
.home-social-card__body{
    padding:13px 14px 14px!important;
}
.home-social-card__body > strong{
    min-height:42px!important;
    font-size:14.5px!important;
}
.home-social-card__body > p{
    min-height:34px!important;
    font-size:11.5px!important;
}

/* 임원단: 시각적 존재감은 유지하되 높이/카드 크기 약 10~15% 축소 */
.home-faculty{
    margin-top:0!important;
    padding:58px 0 72px!important;
}
.home-faculty__head{
    margin-bottom:24px!important;
}
.home-faculty__head h2{
    font-size:38px!important;
}
.home-faculty__head > p:not(.home-section-kicker){
    margin-bottom:13px!important;
    font-size:14px!important;
}
.home-faculty-card{
    flex-basis:184px!important;
    width:184px!important;
    min-height:286px!important;
    padding:64px 15px 55px!important;
}
.home-faculty-card:has(figure){
    flex-basis:204px!important;
    width:204px!important;
    min-height:316px!important;
    padding:19px 15px 31px!important;
}
.home-faculty-card figure{
    width:132px!important;
    height:160px!important;
    margin-bottom:14px!important;
}
.home-faculty-card > span{
    min-width:98px!important;
    min-height:36px!important;
    padding:7px 17px!important;
    font-size:14px!important;
}
.home-faculty-card > strong{
    font-size:25px!important;
}
.home-faculty-card > small{
    margin-top:6px!important;
    font-size:13px!important;
}
.home-faculty__track{
    gap:18px!important;
}

/* 전체 섹션의 세로 리듬을 조금 더 촘촘하게 */
.home-whatsnew{
    padding-top:78px!important;
    padding-bottom:64px!important;
}
.home-news{
    padding-bottom:72px!important;
}
.home-program{
    margin-top:0!important;
    padding-top:72px!important;
    padding-bottom:76px!important;
}

@media(max-width:900px){
    .home-member-priority{
        padding:54px 0 62px;
    }
    .home-social__grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

@media(max-width:640px){
    .home-hero__cta{
        width:min(92vw,360px);
        margin:18px auto 0;
    }
    .home-hero__cta a{
        flex:1 1 50%;
        min-height:42px;
        padding:0 12px;
        font-size:12px;
    }
    .home-member-priority{
        padding:44px 0 52px;
    }
    .home-social{
        padding:56px 0 62px!important;
    }
    .home-social__grid{
        display:flex!important;
        grid-template-columns:none!important;
    }
    .home-social-card{
        flex:0 0 78%!important;
    }
    .home-faculty{
        padding:50px 0 62px!important;
    }
    .home-faculty__head h2{
        font-size:32px!important;
    }
}


/* ==========================================================
   SCRA v1.66 — Main typography refinement
   ========================================================== */

/* Keep hero headline scale; improve supporting text */
.home-hero__content p{
    font-size:clamp(16px,1.45vw,20px) !important;
    line-height:1.78 !important;
}
.home-hero__cta a{
    font-size:14px !important;
}
.home-quick__item strong{
    font-size:17px !important;
}

/* Section utility typography */
.home-section-kicker{
    font-size:13px !important;
}
.home-text-link{
    font-size:15px !important;
}

/* See what's new */
.home-feature__copy p{
    font-size:16px !important;
    line-height:1.75 !important;
}
.home-feature__copy time{
    font-size:13.5px !important;
}
.home-board-tab{
    font-size:15px !important;
}
.home-mini-post__meta span{
    font-size:12px !important;
}
.home-mini-post__meta time{
    font-size:12.5px !important;
}
.home-mini-post > a{
    font-size:17px !important;
}
.home-mini-post p{
    font-size:14px !important;
}
.home-news-row__tag{
    font-size:12.5px !important;
}
.home-news-row strong{
    font-size:17px !important;
}
.home-news-row time{
    font-size:13.5px !important;
}
.home-news__more a{
    font-size:14px !important;
}

/* SCRA program */
.home-program__intro p:last-child{
    font-size:clamp(16px,1.3vw,19px) !important;
}
.home-program-card span{
    font-size:20px !important;
}

/* Social / Blog */
.home-social__head > div:first-child > p:last-child{
    font-size:15.5px !important;
}
.home-social__instagram-link,
.home-social__blog-link{
    font-size:14px !important;
}
.home-social-card__body > strong{
    font-size:16px !important;
    line-height:1.48 !important;
}
.home-social-card__body > p{
    font-size:13.5px !important;
    line-height:1.58 !important;
}
.home-social-card__meta{
    font-size:12px !important;
}

/* Faculty */
.home-faculty__head > p:not(.home-section-kicker){
    font-size:15px !important;
}
.home-faculty__head a{
    font-size:14px !important;
}
.home-faculty-card > span{
    font-size:15px !important;
}
.home-faculty-card > small{
    font-size:14px !important;
}

/* Members-status reused content: increase inherited baseline */
.home-member-priority .legacy-page-content{
    font-size:16px !important;
}
.home-member-priority .legacy-page-content p,
.home-member-priority .legacy-page-content li{
    line-height:1.7 !important;
}

/* Common text inside members-status UI — do not alter large headings */
.home-member-priority .legacy-page-content button,
.home-member-priority .legacy-page-content input,
.home-member-priority .legacy-page-content select{
    font-size:14px !important;
}
.home-member-priority .legacy-page-content table{
    font-size:14.5px;
}

@media(max-width:640px){
    .home-hero__content p{
        font-size:15.5px !important;
    }
    .home-hero__cta a{
        font-size:12.5px !important;
    }
    .home-quick__item strong{
        font-size:15px !important;
    }
    .home-feature__copy p{
        font-size:15px !important;
    }
    .home-mini-post > a,
    .home-news-row strong{
        font-size:15.5px !important;
    }
    .home-social-card__body > strong{
        font-size:15px !important;
    }
    .home-social-card__body > p{
        font-size:13px !important;
    }
    .home-member-priority .legacy-page-content{
        font-size:15px !important;
    }
}


/* ==========================================================
   SCRA v1.68 — Main mobile / tablet final QA
   ========================================================== */

@media(max-width:900px){
    .home-whatsnew__grid{
        grid-template-columns:1fr !important;
        gap:34px !important;
    }
    .home-feature{
        padding-right:0 !important;
        border-right:0 !important;
    }
    .home-feature__nav{
        right:0 !important;
    }
    .home-program{
        width:calc(100% - 32px) !important;
    }
}

@media(max-width:760px){
    /* Hero: 기존 660px에서 축소, CTA/퀵메뉴는 그대로 사용 가능 */
    .home-hero{
        min-height:590px !important;
    }
    .home-hero__swiper,
    .home-hero__slide{
        height:590px !important;
    }
    .home-hero__content{
        width:calc(100% - 34px) !important;
        margin-top:4px !important;
    }
    .home-hero__content h1,
    .home-hero__content h2{
        font-size:clamp(32px,9.4vw,42px) !important;
        line-height:1.14 !important;
    }
    .home-hero__content p{
        max-width:520px;
        margin-top:14px !important;
        font-size:15.5px !important;
        line-height:1.65 !important;
    }
    .home-hero__cta{
        width:min(94vw,380px) !important;
        gap:8px !important;
        margin-top:17px !important;
    }
    .home-hero__cta a{
        min-height:44px !important;
        padding:0 11px !important;
        font-size:13px !important;
    }
    .home-hero__control{
        left:18px !important;
        bottom:124px !important;
    }

    /* 4개 바로가기 */
    .home-quick{
        width:calc(100% - 24px) !important;
        margin-top:-92px !important;
    }
    .home-quick__inner{
        border-radius:16px !important;
        overflow:hidden;
    }
    .home-quick__item{
        min-height:72px !important;
        padding:12px 10px !important;
    }
    .home-quick__item strong{
        font-size:15px !important;
        line-height:1.35;
        word-break:keep-all;
    }

    /* Section rhythm */
    .home-whatsnew{
        width:calc(100% - 28px) !important;
        margin-top:68px !important;
        margin-bottom:54px !important;
    }
    .home-news,
    .home-faculty__head{
        width:calc(100% - 28px) !important;
    }
    .home-section-head{
        margin-bottom:20px !important;
    }
    .home-section-head h2,
    .home-program__intro h2,
    .home-faculty__head h2{
        font-size:32px !important;
        line-height:1.16;
    }

    /* What's new */
    .home-feature__slide{
        gap:18px !important;
    }
    .home-feature__media{
        max-width:none !important;
        aspect-ratio:16/10 !important;
        border-radius:15px !important;
    }
    .home-feature__title{
        font-size:20px !important;
        line-height:1.4 !important;
    }
    .home-feature__copy p{
        font-size:15px !important;
    }
    .home-feature__nav button{
        width:42px !important;
        height:42px !important;
    }
    .home-board-preview__tabs,
    .home-news__tabs{
        overflow-x:auto;
        flex-wrap:nowrap !important;
        padding-bottom:3px;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
    }
    .home-board-preview__tabs::-webkit-scrollbar,
    .home-news__tabs::-webkit-scrollbar{
        display:none;
    }
    .home-board-tab,
    .home-news__tab{
        flex:0 0 auto;
        white-space:nowrap;
    }
    .home-news-row{
        min-height:0 !important;
        gap:7px !important;
        padding:14px 2px !important;
    }
    .home-news-row__tag{
        justify-self:start;
    }
    .home-news-row strong{
        white-space:normal !important;
        line-height:1.45;
    }

    /* Program */
    .home-program{
        width:calc(100% - 24px) !important;
        padding:40px 12px 44px !important;
        border-radius:18px;
    }
    .home-program__grid{
        gap:11px !important;
    }
    .home-program__intro{
        padding:6px !important;
    }
    .home-program__intro p:last-child{
        margin-top:14px !important;
        font-size:15px !important;
        line-height:1.72 !important;
    }
    .home-program-card{
        min-height:164px !important;
        border-radius:14px !important;
    }
    .home-program-card--support,
    .home-program-card--civil{
        min-height:180px !important;
    }
    .home-program-card span{
        font-size:16px !important;
        line-height:1.35;
    }

    /* 회원사 검색: 긴 표/UI 때문에 화면 전체가 옆으로 밀리지 않게 */
    .home-member-priority{
        padding:40px 0 48px !important;
    }
    .home-member-priority .legacy-page-content{
        max-width:100%;
        overflow-x:auto !important;
        overscroll-behavior-x:contain;
        -webkit-overflow-scrolling:touch;
    }
    .home-member-priority .legacy-page-content input,
    .home-member-priority .legacy-page-content select,
    .home-member-priority .legacy-page-content button{
        min-height:44px;
        font-size:15px !important;
    }

    /* Blog */
    .home-social{
        padding:50px 0 56px !important;
    }
    .home-social__inner{
        width:calc(100% - 28px) !important;
    }
    .home-social__head{
        gap:16px !important;
        margin-bottom:18px !important;
    }
    .home-social__head h2{
        font-size:31px !important;
    }
    .home-social__head > div:first-child > p:last-child{
        font-size:14.5px !important;
    }
    .home-social__actions{
        gap:7px !important;
    }
    .home-social__instagram-link,
    .home-social__blog-link{
        min-height:44px !important;
        font-size:13.5px !important;
    }
    .home-social-card{
        flex:0 0 84% !important;
    }
    .home-social-card__body > strong{
        font-size:15.5px !important;
    }
    .home-social-card__body > p{
        font-size:13.5px !important;
    }

    /* 임원단: 모바일은 자동 흘러가기 대신 사용자가 직접 스와이프 */
    .home-faculty{
        margin-top:0 !important;
        padding:46px 0 54px !important;
    }
    .home-faculty__viewport{
        overflow-x:auto !important;
        overflow-y:hidden !important;
        scroll-snap-type:x proximity;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
    }
    .home-faculty__viewport::-webkit-scrollbar{
        display:none;
    }
    .home-faculty__track{
        animation:none !important;
        gap:10px !important;
        padding:8px 14px 6px !important;
    }
    .home-faculty-card{
        scroll-snap-align:start;
    }
}

@media(max-width:480px){
    .home-hero{
        min-height:552px !important;
    }
    .home-hero__swiper,
    .home-hero__slide{
        height:552px !important;
    }
    .home-hero__content h1,
    .home-hero__content h2{
        font-size:31px !important;
    }
    .home-hero__content p{
        font-size:15px !important;
    }
    .home-hero__cta{
        flex-direction:column;
        width:min(88vw,330px) !important;
    }
    .home-hero__cta a{
        width:100%;
        flex:none !important;
    }
    .home-hero__control{
        bottom:132px !important;
    }
    .home-quick{
        margin-top:-88px !important;
    }

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

    /* 360~430px 기기에서 사업 카드가 지나치게 좁아지지 않게 */
    .home-program__grid{
        grid-template-columns:1fr !important;
        grid-template-areas:
            "intro"
            "policy"
            "safety"
            "support"
            "civil" !important;
    }
    .home-program-card,
    .home-program-card--support,
    .home-program-card--civil{
        min-height:158px !important;
    }

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

    .home-faculty-card{
        flex-basis:158px !important;
        width:158px !important;
    }
    .home-faculty-card:has(figure){
        flex-basis:182px !important;
        width:182px !important;
    }
}

/* v207: Keep news controls in their own row above the slide. */
.home-feature > .home-feature__nav{
    position:static !important;
    display:flex;
    justify-content:flex-end;
    margin:0 0 18px;
}
.home-feature__copy{min-width:0}

/* v208: Reserve a separate full-width row for carousel controls. */
.home-feature > .home-feature__nav{
    position:static !important;
    float:none !important;
    width:100%;
    height:auto !important;
    transform:none !important;
    margin:0 0 18px !important;
}
.home-feature__slides{clear:both;min-width:0}
