*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
:root{--text:#172033;--muted:#667085;--line:#e5e7eb;--primary:#2563eb;--navy:#0f172a;--success:#16a34a;--shadow:0 12px 32px rgba(15,23,42,.08);--radius:24px}
html,body{margin:0;padding:0;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans KR",sans-serif;background:linear-gradient(180deg,#eff5ff 0%,#f8fbff 30%,#f8fafc 100%)}
a{text-decoration:none;color:inherit} img{max-width:100%}
.container{max-width:1180px;margin:0 auto;padding:18px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0 18px}
.brand{font-size:20px;font-weight:900;letter-spacing:-.03em}.nav,.badges,.actions,.status-buttons{display:flex;gap:10px;flex-wrap:wrap}
.nav a,.badge{padding:11px 15px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:14px;box-shadow:var(--shadow)}
.hero{background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 48%,#60a5fa 100%);color:#fff;border-radius:34px;padding:26px;box-shadow:0 22px 45px rgba(29,78,216,.24)}
.hero h1{margin:0;font-size:38px;line-height:1.16;letter-spacing:-.05em}.hero p{margin:12px 0 0;color:rgba(255,255,255,.92);max-width:760px;line-height:1.7}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 18px;border:none;border-radius:18px;font-weight:800;cursor:pointer}
.btn-primary{background:var(--primary);color:#fff}.btn-white{background:#fff;color:#1d4ed8}.btn-dark{background:#0f172a;color:#fff}.btn-outline{background:#fff;border:1px solid var(--line);color:var(--text)}
.grid{display:grid;gap:18px}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}
.card{background:#fff;border:1px solid rgba(226,232,240,.9);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)} .card-title{font-size:22px;font-weight:900;letter-spacing:-.03em}
.sub{margin-top:8px;color:var(--muted);line-height:1.7;font-size:14px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow)}.kpi .num{font-size:28px;font-weight:900}.kpi .lab{margin-top:6px;font-size:13px;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.full{grid-column:1 / -1}
label{font-size:14px;font-weight:800} input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px 15px;font-size:15px;color:var(--text);outline:none}
textarea{min-height:120px;resize:vertical} input:focus,select:focus,textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 4px rgba(37,99,235,.1)}
.section-title{margin:0 0 14px;font-size:19px;font-weight:900}.help{font-size:12px;color:var(--muted)}.notice{padding:14px 16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:18px;color:#1e40af;font-size:14px;line-height:1.7}.notice.warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.badge.primary{background:#eff6ff;color:#1d4ed8}.badge.success{background:#f0fdf4;color:#15803d}.badge.warn{background:#fff7ed;color:#c2410c}.badge.danger{background:#fef2f2;color:#b91c1c}
.timeline{display:grid;grid-template-columns:repeat(8,minmax(120px,1fr));gap:10px;overflow:auto;padding-bottom:4px}.step{min-width:120px;padding:12px;border-radius:18px;border:1px solid var(--line);background:#f8fafc;text-align:center;color:#64748b;font-size:13px;font-weight:900}.step.active{background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;border-color:transparent}
.table-wrap{overflow:auto} table{width:100%;border-collapse:collapse;background:#fff} th,td{padding:14px 12px;border-bottom:1px solid var(--line);font-size:14px;text-align:left;white-space:nowrap} th{font-size:12px;color:#667085;background:#f8fafc}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px}.file-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.file-thumb{aspect-ratio:1/1;background:#f8fafc;display:flex;align-items:center;justify-content:center}.file-thumb img{width:100%;height:100%;object-fit:cover}.file-info{padding:10px;font-size:12px;color:var(--muted);line-height:1.5}
.row{display:flex;gap:18px}.col{flex:1}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.info-item{padding:14px;border-radius:18px;background:#f8fafc;border:1px solid var(--line)}.info-item .k{font-size:12px;color:var(--muted);font-weight:700}.info-item .v{margin-top:6px;font-size:15px;font-weight:800;line-height:1.5;word-break:break-word}
.login-wrap{max-width:460px;margin:5vh auto}.filters{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.empty{padding:26px;border:1px dashed #cbd5e1;border-radius:18px;text-align:center;color:#64748b;background:#f8fafc}.footer-space{height:24px}
@media (max-width:980px){.grid-2,.grid-3,.kpis,.form-grid,.filters,.info-grid{grid-template-columns:1fr}.row{flex-direction:column}.container{padding:16px}.hero h1{font-size:30px}.card{padding:18px}.nav{display:none}.btn{width:100%}th:nth-child(5),td:nth-child(5),th:nth-child(6),td:nth-child(6){display:none}}


/* ========================================================
   SEAWORLD LOGIS SITE SHELL
   홈페이지 + 탁송프로그램 통합 레이아웃
   - 기존 접수/관리 CSS와 충돌하지 않도록 sw-site / sw-home 접두어 사용
======================================================== */
.sw-site-wrap{max-width:1180px;margin:0 auto;padding:0 18px;box-sizing:border-box}
.sw-site-topbar{background:#fff;border-top:4px solid #071f49;border-bottom:1px solid #eef2f7;color:#627084;font-size:13px}
.sw-site-topbar .sw-site-wrap{height:38px;display:flex;justify-content:space-between;align-items:center;gap:15px}.sw-site-toplinks{display:flex;gap:16px}.sw-site-toplinks a{font-weight:800;color:#334155;text-decoration:none}
.sw-site-head{background:#fff;border-bottom:1px solid #edf2f8}.sw-site-head-row{height:116px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.sw-site-logo{display:grid;place-items:center;text-decoration:none;color:#071f49;font-weight:950;font-size:18px;letter-spacing:-.04em}.sw-site-logo img{height:54px;width:auto;display:block;margin-bottom:5px}.sw-site-contact{display:flex;align-items:center;gap:12px}.sw-site-contact-right{justify-content:flex-end;text-align:right}.sw-site-round{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#eef6ff;color:#0059b3;font-weight:900}.sw-site-kicker{font-size:12px;color:#93a1b4;font-weight:800}.sw-site-main-tel{font-size:22px;color:#071f49;font-weight:950;letter-spacing:-.04em}.sw-site-nav-shell{background:#fff;border-bottom:1px solid #e7eef7;position:sticky;top:0;z-index:80}.sw-site-nav{height:68px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;gap:0;position:relative;padding-left:0!important;padding-right:0!important}.sw-site-nav>a{height:68px;display:flex;align-items:center;justify-content:center;font-weight:950;color:#12233c;text-decoration:none;font-size:16px;letter-spacing:-.02em;padding:0 10px;text-align:center;white-space:nowrap}.sw-site-nav>a:hover{color:#0059b3}.sw-site-nav .sw-site-cta{height:auto;min-height:48px;align-self:center;justify-self:center;background:#071f49;color:#fff;padding:0 30px;border-radius:999px;box-shadow:0 8px 18px rgba(7,31,73,.22);margin-left:0}.sw-site-mega{position:absolute;top:68px;left:50%;transform:translateX(-50%);width:100vw;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding-left:max(0px,calc((100vw - 1180px)/2));padding-right:max(0px,calc((100vw - 1180px)/2));box-sizing:border-box;background:rgba(255,255,255,.98);backdrop-filter:blur(10px);border-top:1px solid #edf2f8;border-bottom:1px solid #dfe7f0;box-shadow:0 14px 24px rgba(7,31,73,.06);border-radius:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}.sw-site-nav:hover .sw-site-mega{opacity:1;visibility:visible;pointer-events:auto}.sw-site-mega>div{min-height:188px;padding:30px 20px 28px;text-align:center;border-right:1px solid #e5ebf2}.sw-site-mega>div:first-child{border-left:1px solid #e5ebf2}.sw-site-mega a{display:block;color:#334155;text-decoration:none;font-size:14px;line-height:1.6;padding:8px 0}.sw-site-mega a:hover{color:#0059b3;font-weight:900}.sw-site-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;text-decoration:none;font-weight:950;border:0;cursor:pointer;box-sizing:border-box}.sw-site-primary{background:#0059b3;color:#fff!important;box-shadow:0 12px 24px rgba(0,89,179,.22)}.sw-site-light{background:#fff;color:#071f49!important;border:1px solid rgba(255,255,255,.7)}.sw-home{background:#fff}.sw-home-hero{height:610px;min-height:610px;background:linear-gradient(120deg,rgba(3,21,48,.56),rgba(0,89,179,.34)),url('assets/queen_jenubia_hero.jpg') center/cover no-repeat;position:relative}.sw-home-hero-inner{height:100%;display:flex;align-items:center}.sw-home-card{max-width:650px;color:#fff;background:rgba(7,31,73,.56);border:1px solid rgba(255,255,255,.18);border-radius:0;padding:46px 44px;box-shadow:0 30px 70px rgba(0,0,0,.22);backdrop-filter:blur(8px)}.sw-home-eyebrow,.sw-home-kicker{color:#8ec7ff;font-weight:950;letter-spacing:.1em;font-size:13px}.sw-home-card h1{font-size:52px;line-height:1.12;letter-spacing:-.06em;margin:14px 0}.sw-home-card p{font-size:17px;line-height:1.75;color:rgba(255,255,255,.92);margin:0}.sw-home-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.sw-home-section{padding:86px 0}.sw-home-alt{background:#f6f9fc}.sw-home-title{text-align:center;margin-bottom:36px}.sw-home-title h2{font-size:40px;letter-spacing:-.06em;color:#071f49;margin:8px 0 10px}.sw-home-title p{margin:0;color:#5d6b7c}.sw-home-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.sw-home-service{display:block;background:#fff;border:1px solid #e2ebf5;border-radius:0;padding:28px 24px;text-decoration:none;color:#1f2d3d;box-shadow:0 12px 30px rgba(7,31,73,.06);transition:.22s}.sw-home-service:hover{transform:translateY(-8px);box-shadow:0 22px 45px rgba(7,31,73,.12)}.sw-home-ico{height:84px;background:linear-gradient(135deg,#eaf5ff,#fff);display:grid;place-items:center;font-size:42px;margin:-8px -4px 18px}.sw-home-num{font-size:13px;color:#0059b3;font-weight:950}.sw-home-service h3{margin:8px 0;color:#071f49}.sw-home-service p{margin:0;color:#657386;font-size:14px;line-height:1.65}.sw-home-process{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.sw-home-process>div{background:#fff;border:1px solid #e2ebf5;border-radius:0;padding:24px 16px;text-align:center;box-shadow:0 10px 24px rgba(7,31,73,.05)}.sw-home-process b{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:#071f49;color:#fff}.sw-home-process h3{margin:0 0 8px;color:#071f49}.sw-home-process p{margin:0;color:#6b7b8e;font-size:13px}.sw-home-reco-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.sw-home-reco-grid>div{background:#fff;border:1px solid #e2ebf5;border-radius:0;padding:26px 18px;text-align:center;font-size:38px;box-shadow:0 10px 24px rgba(7,31,73,.05)}.sw-home-reco-grid h3{font-size:18px;color:#071f49;margin:12px 0 8px}.sw-home-reco-grid p{font-size:13px;color:#667789;margin:0}.sw-home-reserve{background:linear-gradient(135deg,#071f49,#0059b3);color:#fff;padding:50px;display:grid;grid-template-columns:1fr 1.05fr;gap:36px;align-items:center}.sw-home-reserve h2{font-size:34px;line-height:1.25;margin:0 0 14px}.sw-home-reserve p{color:#dbeaff;margin:0}.sw-home-mock{background:#fff;color:#0f172a;padding:26px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.sw-home-mock div{height:52px;border:1px solid #d7e3f0;display:flex;align-items:center;padding:0 14px;color:#8190a3}.sw-home-mock a{grid-column:1/-1}.sw-home-faq{max-width:900px}.sw-home-faq h2{font-size:34px;color:#071f49;margin:0 0 20px}.sw-home-faq details{background:#fff;border:1px solid #e2ebf5;margin-bottom:12px;padding:18px 20px}.sw-home-faq summary{cursor:pointer;font-weight:950;color:#071f49}.sw-home-faq p{color:#667789;margin:12px 0 0}.sw-site-float{position:fixed;right:22px;bottom:22px;z-index:90;display:grid;gap:10px}.sw-site-float a{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#071f49;color:#fff;text-decoration:none;font-weight:950;box-shadow:0 10px 25px rgba(7,31,73,.25)}.sw-site-float .sw-site-kakao{background:#f9df33;color:#371d1e}.sw-site-footer{background:#051833;color:#b8c8dc;padding:54px 0 28px}.sw-site-footer-top{display:grid;grid-template-columns:1.1fr 2fr 1fr;gap:36px}.sw-site-footer-logo img{height:42px;width:auto;margin-bottom:8px}.sw-site-footer-logo strong,.sw-site-footer h4{display:block;color:#fff;margin:0 0 10px}.sw-site-footer p{color:#b8c8dc;line-height:1.7}.sw-site-foot-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.sw-site-foot-links a{display:block;color:#b8c8dc;text-decoration:none;font-size:14px;margin:7px 0}.sw-site-copy{margin-top:30px;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;color:#7f91a9;font-size:13px}
@media(max-width:980px){.sw-site-topbar{display:none}.sw-site-head-row{height:auto;grid-template-columns:1fr;padding:20px 18px;text-align:center}.sw-site-contact,.sw-site-contact-right{justify-content:center;text-align:center}.sw-site-nav{justify-content:flex-start;overflow-x:auto;gap:26px;padding-left:18px!important;padding-right:18px!important}.sw-site-mega{display:none}.sw-home-hero{height:560px;min-height:560px}.sw-home-card h1{font-size:38px}.sw-home-service-grid{grid-template-columns:repeat(2,1fr)}.sw-home-process{grid-template-columns:repeat(3,1fr)}.sw-home-reco-grid{grid-template-columns:repeat(2,1fr)}.sw-home-reserve,.sw-site-footer-top{grid-template-columns:1fr}.sw-site-foot-links{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:640px){.sw-site-wrap{padding:0 16px}.sw-site-logo img{height:44px}.sw-site-main-tel{font-size:18px}.sw-site-nav{height:56px;gap:22px}.sw-site-nav>a{font-size:14px;white-space:nowrap;padding:17px 0}.sw-site-nav .sw-site-cta{padding:9px 18px}.sw-home-hero{height:auto;min-height:520px;padding:46px 0}.sw-home-card{padding:34px 26px}.sw-home-card h1{font-size:32px}.sw-home-section{padding:62px 0}.sw-home-title h2{font-size:30px}.sw-home-service-grid,.sw-home-process,.sw-home-reco-grid{grid-template-columns:1fr}.sw-home-reserve{padding:32px 22px}.sw-home-reserve h2{font-size:26px}.sw-home-mock{grid-template-columns:1fr}.sw-site-float{display:none}.sw-site-foot-links{grid-template-columns:1fr}}


/* ========================================================
   요청 반영 v2: 풀스크린 메인 / 넓은 Swal 팝업 / 전문형 카드 / 진행단계 강조
======================================================== */
.sw-home-hero{
    min-height:calc(100vh - 212px) !important;
    height:calc(100vh - 212px) !important;
    position:relative;
    overflow:hidden;
}
.sw-home-hero::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(3,21,48,.08) 0%,rgba(3,21,48,.2) 48%,rgba(3,21,48,.5) 100%);
    pointer-events:none;
}
.sw-home-hero-inner{position:relative;z-index:2;align-items:center;}
.sw-home-card{max-width:720px;}
.sw-home-scroll{
    position:absolute;
    left:50%;
    bottom:28px;
    transform:translateX(-50%);
    z-index:3;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    color:#fff;
    text-decoration:none;
    font-weight:900;
    letter-spacing:-.03em;
    text-shadow:0 2px 12px rgba(0,0,0,.35);
}
.sw-home-scroll span{font-size:14px;opacity:.96;}
.sw-home-scroll i{
    width:34px;
    height:34px;
    border-right:3px solid #fff;
    border-bottom:3px solid #fff;
    transform:rotate(45deg);
    animation:swDownArrow 1.15s ease-in-out infinite;
    filter:drop-shadow(0 8px 12px rgba(0,0,0,.22));
}
@keyframes swDownArrow{
    0%,100%{transform:translateY(0) rotate(45deg);opacity:.58;}
    50%{transform:translateY(12px) rotate(45deg);opacity:1;}
}
.sw-program-modal{
    border-radius:28px !important;
    overflow:hidden !important;
    box-shadow:0 30px 90px rgba(4,18,40,.32) !important;
}
.sw-program-modal-title{
    background:#071f49 !important;
    color:#fff !important;
    padding:18px 60px 18px 24px !important;
    font-size:20px !important;
    text-align:left !important;
}
.sw-program-modal-close{
    color:#fff !important;
    top:8px !important;
    right:12px !important;
}
.sw-program-modal-frame{
    height:min(78vh, 860px);
    background:#f4f7fb;
}
.sw-program-modal-frame iframe{
    width:100%;
    height:100%;
    border:0;
    display:block;
    background:#fff;
}
.sw-customer-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}
.sw-customer-card{
    min-height:318px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    background:#fff;
    border:1px solid #d7dde6;
    color:#111827;
    text-decoration:none;
    padding:32px 26px;
    transition:.22s ease;
}
.sw-customer-card:hover{
    transform:translateY(-6px);
    border-color:#071f49;
    box-shadow:0 22px 42px rgba(7,31,73,.12);
}
.sw-line-icon{
    width:114px;
    height:114px;
    display:grid;
    place-items:center;
    margin:6px auto 22px;
}
.sw-line-icon svg{
    width:100%;
    height:100%;
    fill:none;
    stroke:#111827;
    stroke-width:2.4;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.sw-line-icon svg path:nth-child(2n),
.sw-line-icon svg circle,
.sw-line-icon svg rect{stroke:#ff9d00;}
.sw-customer-card h3{
    margin:0 0 22px;
    font-size:24px;
    line-height:1.2;
    color:#172033;
    font-weight:600;
    letter-spacing:-.04em;
}
.sw-customer-card p{
    margin:0;
    color:#111827;
    font-size:16px;
    line-height:1.65;
    word-break:keep-all;
}
.sw-home-process>div{
    position:relative;
    transition:.2s ease;
    animation:swProcessFocus 7.2s ease-in-out infinite;
    transform-origin:center center;
}
.sw-home-process>div:nth-child(1){animation-delay:0s;}
.sw-home-process>div:nth-child(2){animation-delay:1.2s;}
.sw-home-process>div:nth-child(3){animation-delay:2.4s;}
.sw-home-process>div:nth-child(4){animation-delay:3.6s;}
.sw-home-process>div:nth-child(5){animation-delay:4.8s;}
.sw-home-process>div:nth-child(6){animation-delay:6s;}
@keyframes swProcessFocus{
    0%,13%,100%{transform:scale(1);box-shadow:0 10px 24px rgba(7,31,73,.05);border-color:#e2ebf5;}
    5%,9%{transform:scale(1.09);box-shadow:0 24px 50px rgba(0,89,179,.22);border-color:#0059b3;}
}
.sw-home-process>div b{transition:.2s ease;}
.sw-home-process>div:nth-child(1) b{animation:swNumFocus 7.2s ease-in-out infinite 0s;}
.sw-home-process>div:nth-child(2) b{animation:swNumFocus 7.2s ease-in-out infinite 1.2s;}
.sw-home-process>div:nth-child(3) b{animation:swNumFocus 7.2s ease-in-out infinite 2.4s;}
.sw-home-process>div:nth-child(4) b{animation:swNumFocus 7.2s ease-in-out infinite 3.6s;}
.sw-home-process>div:nth-child(5) b{animation:swNumFocus 7.2s ease-in-out infinite 4.8s;}
.sw-home-process>div:nth-child(6) b{animation:swNumFocus 7.2s ease-in-out infinite 6s;}
@keyframes swNumFocus{
    0%,13%,100%{background:#071f49;color:#fff;}
    5%,9%{background:#0059b3;color:#fff;}
}
.sw-recommend-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}
.sw-recommend-item{
    display:grid;
    grid-template-columns:76px 1fr;
    gap:20px;
    align-items:start;
    background:#fff;
    border:1px solid #dfe7f0;
    text-decoration:none;
    color:#172033;
    padding:26px;
    transition:.22s ease;
}
.sw-recommend-item:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(7,31,73,.11);border-color:#071f49;}
.sw-recommend-item strong{
    width:58px;height:58px;display:grid;place-items:center;background:#071f49;color:#fff;font-size:18px;font-weight:950;
}
.sw-recommend-item h3{margin:0 0 9px;color:#071f49;font-size:20px;line-height:1.35;letter-spacing:-.04em;}
.sw-recommend-item p{margin:0;color:#667789;line-height:1.65;font-size:14px;word-break:keep-all;}
@media(max-width:1180px){
    .sw-customer-grid{grid-template-columns:repeat(2,1fr);}
    .sw-home-hero{min-height:680px !important;height:680px !important;}
}
@media(max-width:980px){
    .sw-home-hero{min-height:620px !important;height:620px !important;}
    .sw-program-modal-frame{height:78vh;}
    .sw-recommend-list{grid-template-columns:1fr;}
}
@media(max-width:640px){
    .sw-home-hero{min-height:calc(100vh - 54px) !important;height:calc(100vh - 54px) !important;padding:0 !important;}
    .sw-home-card{padding:32px 24px;}
    .sw-home-scroll{bottom:22px;}
    .sw-customer-grid{grid-template-columns:1fr;}
    .sw-customer-card{min-height:270px;padding:28px 22px;}
    .sw-line-icon{width:96px;height:96px;}
    .sw-customer-card h3{font-size:22px;margin-bottom:16px;}
    .sw-customer-card p{font-size:15px;}
    .sw-recommend-item{grid-template-columns:1fr;gap:14px;}
    .sw-program-modal{border-radius:20px !important;}
    .sw-program-modal-frame{height:82vh;}
}


/* ========================================================
   FIX: customer type inline SVG icon rendering
   - Prevent black filled giant SVG when browser/default CSS wins
======================================================== */
.sw-customer-card .sw-line-icon{
    width:114px !important;
    height:114px !important;
    min-width:114px !important;
    max-width:114px !important;
    display:grid !important;
    place-items:center !important;
    margin:6px auto 22px !important;
    overflow:visible !important;
    line-height:0 !important;
}
.sw-customer-card .sw-line-icon svg{
    width:114px !important;
    height:114px !important;
    max-width:114px !important;
    max-height:114px !important;
    display:block !important;
    overflow:visible !important;
    fill:none !important;
    stroke:#111827 !important;
    stroke-width:2.4 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}
.sw-customer-card .sw-line-icon svg *,
.sw-customer-card .sw-line-icon svg path,
.sw-customer-card .sw-line-icon svg circle,
.sw-customer-card .sw-line-icon svg rect{
    fill:none !important;
}
.sw-customer-card .sw-line-icon svg path:nth-child(2n),
.sw-customer-card .sw-line-icon svg circle,
.sw-customer-card .sw-line-icon svg rect{
    stroke:#ff9d00 !important;
}
@media(max-width:640px){
    .sw-customer-card .sw-line-icon,
    .sw-customer-card .sw-line-icon svg{
        width:96px !important;
        height:96px !important;
        min-width:96px !important;
        max-width:96px !important;
        max-height:96px !important;
    }
}


/* Popup-only mode: apply.php?popup=1 / lookup.php?popup=1 */
body.sw-popup-body{
    background:#fff;
}
body.sw-popup-body .apply-chat-page{
    margin-top:0;
    padding:18px 18px 48px;
}
body.sw-popup-body .cp-lookup-wrap{
    padding-top:18px;
}
body.sw-popup-body .apply-chat-hero{
    border-radius:22px;
}
@media(max-width:860px){
    body.sw-popup-body .apply-chat-page{padding:10px 10px 34px;}
    body.sw-popup-body .cp-lookup-wrap{padding:10px 10px 34px;}
}

/* ========================================================
   메인 비주얼 수정: 카드 제거 + 배경 슬라이드 복원
   적용일: 2026-06-12
======================================================== */
.sw-home-hero{
    background:#071f49 !important;
    isolation:isolate;
}
.sw-hero-slider{
    position:absolute;
    inset:0;
    z-index:0;
    overflow:hidden;
}
.sw-hero-slider span{
    position:absolute;
    inset:0;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    opacity:0;
    transform:scale(1.04);
    animation:swHeroSlide 18s infinite;
}
.sw-hero-slider span:nth-child(1){animation-delay:0s;}
.sw-hero-slider span:nth-child(2){animation-delay:6s;}
.sw-hero-slider span:nth-child(3){animation-delay:12s;}
@keyframes swHeroSlide{
    0%{opacity:0;transform:scale(1.04);}
    8%{opacity:1;transform:scale(1);}
    33%{opacity:1;transform:scale(1.03);}
    42%{opacity:0;transform:scale(1.06);}
    100%{opacity:0;transform:scale(1.06);}
}
.sw-home-hero::after{
    z-index:1;
    background:linear-gradient(90deg,rgba(3,21,48,.72) 0%,rgba(3,21,48,.45) 46%,rgba(3,21,48,.14) 100%) !important;
}
.sw-home-hero-inner{
    position:relative;
    z-index:2;
}
.sw-home-card.sw-home-hero-text{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    padding:0 !important;
    border-radius:0 !important;
    max-width:760px !important;
}
.sw-home-card.sw-home-hero-text .sw-home-eyebrow{
    color:#b9d9ff;
}
.sw-home-card.sw-home-hero-text h1,
.sw-home-card.sw-home-hero-text p{
    text-shadow:0 4px 18px rgba(0,0,0,.38);
}
.sw-home-card.sw-home-hero-text .sw-site-light{
    background:rgba(255,255,255,.92);
    border-color:rgba(255,255,255,.72);
}
@media(max-width:640px){
    .sw-home-hero::after{
        background:linear-gradient(180deg,rgba(3,21,48,.68),rgba(3,21,48,.42)) !important;
    }
}


/* ========================================================
   메인 이미지 컨트롤 + 가로 스크롤바 제거
   적용일: 2026-06-12
======================================================== */
html,
body{
    max-width:100%;
    overflow-x:hidden !important;
}
.sw-home,
.sw-site-head,
.sw-site-nav-shell,
.sw-home-hero{
    max-width:100%;
    overflow-x:hidden;
}
.sw-hero-slider span{
    animation:none !important;
    opacity:0;
    transform:scale(1.04);
    transition:opacity .75s ease, transform 6s ease;
}
.sw-hero-slider span.is-active{
    opacity:1;
    transform:scale(1);
}
.sw-hero-controls{
    position:absolute;
    left:50%;
    bottom:74px;
    transform:translateX(-50%);
    z-index:5;
    display:flex;
    align-items:center;
    gap:8px;
    padding:9px 14px;
    border-radius:999px;
    background:rgba(7,31,73,.72);
    backdrop-filter:blur(8px);
    box-shadow:0 12px 28px rgba(0,0,0,.18);
    color:#fff;
    white-space:nowrap;
}
.sw-hero-control{
    width:30px;
    height:30px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.12);
    color:#fff;
    display:grid;
    place-items:center;
    font-size:20px;
    font-weight:900;
    line-height:1;
    cursor:pointer;
    transition:background .2s ease, transform .2s ease;
}
.sw-hero-control:hover{
    background:rgba(255,255,255,.25);
    transform:translateY(-1px);
}
.sw-hero-pause{
    width:38px;
    height:38px;
    background:#020817;
    font-size:14px;
    letter-spacing:-.08em;
}
.sw-hero-count{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-left:8px;
    font-size:15px;
    font-weight:950;
}
.sw-hero-count em{
    font-style:normal;
    opacity:.75;
}
.sw-hero-dots{
    display:flex;
    align-items:center;
    gap:5px;
    margin-left:6px;
}
.sw-hero-dots button{
    width:7px;
    height:7px;
    border:0;
    border-radius:999px;
    padding:0;
    background:rgba(255,255,255,.45);
    cursor:pointer;
    transition:width .2s ease, background .2s ease;
}
.sw-hero-dots button.is-active{
    width:20px;
    background:#fff;
}
@media(max-width:640px){
    .sw-hero-controls{
        bottom:68px;
        padding:8px 10px;
        gap:6px;
    }
    .sw-hero-control{
        width:28px;
        height:28px;
    }
    .sw-hero-pause{
        width:34px;
        height:34px;
    }
    .sw-hero-count{
        font-size:13px;
        margin-left:4px;
    }
}

/* ========================================================
   Hero controls position fix
   적용일: 2026-06-12
   - 이미지 컨트롤과 아래로 내리기 버튼 겹침 방지
======================================================== */
.sw-hero-controls{
    bottom:124px !important;
}
.sw-home-scroll{
    bottom:26px !important;
}
@media(max-width:640px){
    .sw-hero-controls{
        bottom:116px !important;
    }
    .sw-home-scroll{
        bottom:22px !important;
    }
}


/* ========================================================
   Hero slide text sync
   적용일: 2026-06-12
   - 슬라이드 이미지 변경 시 메인 문구도 함께 전환
======================================================== */
.sw-home-hero-text{
    transition:opacity .26s ease, transform .26s ease;
}
.sw-home-hero-text.is-changing{
    opacity:0;
    transform:translateY(10px);
}
.sw-home-hero-text [data-hero-kicker],
.sw-home-hero-text [data-hero-title],
.sw-home-hero-text [data-hero-desc]{
    transition:opacity .26s ease, transform .26s ease;
}


/* ========================================================
   상단 풀다운 메뉴 hover 복구
   - 가로 스크롤 방지 CSS 때문에 메가메뉴가 잘리는 문제 보정
   - 상위 메뉴에 마우스를 올리면 전체 하위메뉴가 내려오도록 고정
======================================================== */
@media (min-width:981px){
    .sw-site-nav-shell{
        overflow:visible !important;
        z-index:300 !important;
    }
    .sw-site-nav{
        overflow:visible !important;
        position:relative !important;
    }
    .sw-site-mega{
        display:grid !important;
        position:absolute !important;
        top:68px !important;
        left:50% !important;
        transform:translateX(-50%) !important;
        width:100vw !important;
        z-index:310 !important;
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
    }
    .sw-site-nav:hover .sw-site-mega,
    .sw-site-nav-shell:hover .sw-site-mega,
    .sw-site-nav-shell.is-mega-open .sw-site-mega{
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
    }
    .sw-site-nav > a.sw-nav-main{
        cursor:default;
    }
}
@media (max-width:980px){
    .sw-site-mega{
        display:none !important;
    }
}


/* v20260612 popup nav/action hide
   팝업 모드에서는 접수하기/접수조회 이동 버튼을 노출하지 않는다. */
body.sw-popup-body .customer-nav,
body.sw-popup-body .cp-nav,
body.sw-popup-body .ok-mini-link,
body.sw-popup-body .ok-actions,
body.sw-popup-body .badges,
body.sw-popup-body .cp-actions{
    display:none !important;
}
body.sw-popup-body a[href="apply.php"],
body.sw-popup-body a[href="lookup.php"],
body.sw-popup-body a[href^="apply.php?"],
body.sw-popup-body a[href^="lookup.php?"]{
    display:none !important;
}

/* ========================================================
   FAQ 전용 페이지
   적용일: 2026-06-12
======================================================== */
.sw-faq-page{
    background:#f6f9fc;
    min-height:640px;
}
.sw-faq-hero{
    background:linear-gradient(135deg,#071f49,#0059b3);
    color:#fff;
    padding:76px 0 70px;
    text-align:center;
}
.sw-faq-eyebrow{
    margin:0 0 14px;
    font-size:13px;
    font-weight:950;
    letter-spacing:.12em;
    color:#9fd0ff;
}
.sw-faq-hero h1{
    margin:0;
    font-size:46px;
    line-height:1.22;
    letter-spacing:-.06em;
}
.sw-faq-hero p{
    margin:18px 0 0;
    color:#dbeaff;
    font-size:16px;
}
.sw-faq-search-section{
    padding:54px 0 88px;
}
.sw-faq-panel{
    max-width:1060px;
    background:#fff;
    border:1px solid #e2ebf5;
    box-shadow:0 22px 54px rgba(7,31,73,.08);
    padding:36px;
    box-sizing:border-box;
}
.sw-faq-search-box{
    display:grid;
    grid-template-columns:1fr 116px;
    gap:10px;
    margin-bottom:24px;
}
.sw-faq-search-box input{
    height:56px;
    border:1px solid #d9e4f0;
    padding:0 18px;
    font-size:16px;
    outline:none;
    box-sizing:border-box;
}
.sw-faq-search-box input:focus{
    border-color:#0059b3;
    box-shadow:0 0 0 3px rgba(0,89,179,.08);
}
.sw-faq-search-box button{
    height:56px;
    border:0;
    background:#071f49;
    color:#fff;
    font-weight:950;
    cursor:pointer;
}
.sw-faq-tabs{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:24px;
}
.sw-faq-tab{
    min-width:108px;
    height:44px;
    border:1px solid #d9e4f0;
    background:#fff;
    color:#34435a;
    font-weight:900;
    cursor:pointer;
}
.sw-faq-tab.is-active{
    background:#0059b3;
    border-color:#0059b3;
    color:#fff;
}
.sw-faq-list{
    border-top:2px solid #071f49;
}
.sw-faq-item{
    border-bottom:1px solid #e5edf6;
    background:#fff;
}
.sw-faq-question{
    width:100%;
    min-height:68px;
    border:0;
    background:#fff;
    display:grid;
    grid-template-columns:42px 1fr 28px;
    align-items:center;
    gap:12px;
    padding:0 14px 0 8px;
    cursor:pointer;
    text-align:left;
    box-sizing:border-box;
}
.sw-faq-question span{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    color:#0059b3;
    font-weight:950;
    font-size:18px;
}
.sw-faq-question strong{
    color:#12233c;
    font-size:16px;
    font-weight:850;
    line-height:1.45;
}
.sw-faq-question:after{
    content:'+';
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    color:#8ca0b8;
    font-size:22px;
    font-weight:300;
}
.sw-faq-item.is-open .sw-faq-question{
    background:#f8fbff;
}
.sw-faq-item.is-open .sw-faq-question:after{
    content:'−';
    color:#0059b3;
}
.sw-faq-answer{
    display:none;
    padding:0 24px 24px 62px;
    color:#5d6b7c;
    line-height:1.75;
    font-size:15px;
}
.sw-faq-item.is-open .sw-faq-answer{
    display:block;
}
.sw-faq-empty{
    display:none;
    padding:46px 0;
    color:#718096;
    text-align:center;
    font-weight:800;
}
@media(max-width:760px){
    .sw-faq-hero{
        padding:56px 0 52px;
    }
    .sw-faq-hero h1{
        font-size:32px;
    }
    .sw-faq-panel{
        padding:22px 16px;
    }
    .sw-faq-search-box{
        grid-template-columns:1fr;
    }
    .sw-faq-tabs{
        display:grid;
        grid-template-columns:repeat(2,1fr);
    }
    .sw-faq-tab{
        width:100%;
        min-width:0;
    }
    .sw-faq-question{
        grid-template-columns:34px 1fr 24px;
        padding:0 8px;
    }
    .sw-faq-question strong{
        font-size:15px;
    }
    .sw-faq-answer{
        padding:0 12px 22px 50px;
        font-size:14px;
    }
}

/* FAQ inserted content responsive fix */
.sw-faq-answer p{margin:0 0 12px;}
.sw-faq-answer img{max-width:100%;height:auto;display:inline-block;border:1px solid #e5e7eb;margin:10px 10px 10px 0;}
.sw-faq-answer a{color:#0059b3;text-decoration:underline;word-break:break-all;}
.sw-faq-answer b,.sw-faq-answer strong{color:#e11d48;}

/* sub pages */
.sw-sub-page{padding:72px 18px 96px;box-sizing:border-box;}
.sw-sub-hero{background:linear-gradient(135deg,#071f49,#0b5fb5);color:#fff;padding:54px 46px;margin-bottom:34px;box-sizing:border-box;}
.sw-sub-hero p{margin:0 0 10px;color:#9fd0ff;font-weight:950;letter-spacing:.12em;font-size:13px;}
.sw-sub-hero h1{margin:0 0 12px;font-size:42px;letter-spacing:-.06em;}
.sw-sub-hero span{display:block;color:#dcecff;line-height:1.7;}
.sw-sub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.sw-sub-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.sw-sub-grid article,.sw-sub-steps>div{background:#fff;border:1px solid #e2ebf5;padding:28px 24px;box-shadow:0 10px 24px rgba(7,31,73,.05);box-sizing:border-box;}
.sw-sub-grid article.is-active,.sw-sub-steps>div.is-active{border-color:#0059b3;box-shadow:0 18px 38px rgba(0,89,179,.13);}
.sw-sub-grid h2,.sw-sub-steps h2{margin:0 0 10px;color:#071f49;font-size:22px;letter-spacing:-.04em;}
.sw-sub-grid p,.sw-sub-steps p{margin:0;color:#667789;line-height:1.7;}
.sw-sub-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.sw-sub-steps b{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#071f49;color:#fff;margin-bottom:16px;}
@media(max-width:900px){.sw-sub-grid,.sw-sub-grid-4,.sw-sub-steps{grid-template-columns:1fr}.sw-sub-hero{padding:38px 26px}.sw-sub-hero h1{font-size:32px}}


/* service detail page */
.sw-service-page{background:#f6f9fd;color:#12233c;overflow-x:hidden;}
.sw-service-hero{min-height:430px;background:linear-gradient(120deg,rgba(7,31,73,.96),rgba(0,89,179,.82)),url('assets/queen_jenubia_hero.jpg') center/cover no-repeat;color:#fff;display:flex;align-items:center;}
.sw-service-hero-inner{padding:82px 18px;box-sizing:border-box;}
.sw-service-eyebrow,.sw-section-kicker{margin:0 0 14px;font-size:13px;font-weight:950;letter-spacing:.14em;color:#66b7ff;}
.sw-service-hero h1{margin:0;font-size:56px;line-height:1.1;letter-spacing:-.07em;}
.sw-service-lead{max-width:720px;margin:22px 0 0;color:#e4f1ff;font-size:18px;line-height:1.75;word-break:keep-all;}
.sw-service-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px;}
.sw-btn-primary,.sw-btn-light{height:52px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:950;box-sizing:border-box;}
.sw-btn-primary{background:#0b67d1;color:#fff;}
.sw-btn-light{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.42);}
.sw-service-section{padding:86px 18px 70px;box-sizing:border-box;}
.sw-section-title-row{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:end;margin-bottom:46px;}
.sw-section-title-row h2{margin:0;color:#071f49;font-size:40px;line-height:1.22;letter-spacing:-.065em;word-break:keep-all;}
.sw-section-title-row>p{margin:0;color:#607086;line-height:1.8;font-size:16px;word-break:keep-all;}
.sw-route-map{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:28px 0 0;}
.sw-route-line{position:absolute;left:9%;right:9%;top:54px;height:3px;background:linear-gradient(90deg,#0b67d1,#55b3ff,#0b67d1);z-index:0;}
.sw-route-node{position:relative;z-index:1;background:#fff;border:1px solid #dfe8f2;min-height:210px;padding:28px 22px;box-shadow:0 16px 36px rgba(7,31,73,.08);box-sizing:border-box;}
.sw-route-node span{width:54px;height:54px;border-radius:50%;background:#071f49;color:#fff;display:grid;place-items:center;font-weight:950;margin:0 auto 24px;border:6px solid #f6f9fd;box-sizing:border-box;}
.sw-route-node strong{display:block;color:#071f49;font-size:21px;text-align:center;letter-spacing:-.04em;}
.sw-route-node p{margin:14px 0 0;color:#667789;line-height:1.65;text-align:center;word-break:keep-all;}
.sw-route-node.is-port span{background:#0b67d1;}
.sw-route-node.is-jeju span{background:#00a1b7;}
.sw-service-system{background:#071f49;color:#fff;padding:78px 0;}
.sw-service-system-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center;padding:0 18px;box-sizing:border-box;}
.sw-service-system-copy h2{margin:0;color:#fff;font-size:38px;line-height:1.25;letter-spacing:-.065em;word-break:keep-all;}
.sw-service-system-copy p:not(.sw-section-kicker){margin:20px 0 0;color:#d9eaff;line-height:1.8;word-break:keep-all;}
.sw-system-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.sw-system-card-list article{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:24px;min-height:136px;box-sizing:border-box;}
.sw-system-card-list b{display:block;color:#fff;font-size:20px;margin-bottom:10px;}
.sw-system-card-list span{color:#c9ddf4;line-height:1.7;word-break:keep-all;}
.sw-service-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:74px 18px 96px;box-sizing:border-box;}
.sw-service-info-grid article{background:#fff;border:1px solid #e2ebf5;padding:30px 26px;box-shadow:0 14px 30px rgba(7,31,73,.06);box-sizing:border-box;}
.sw-service-info-grid h3{margin:0 0 12px;color:#071f49;font-size:23px;letter-spacing:-.045em;}
.sw-service-info-grid p{margin:0;color:#657589;line-height:1.75;word-break:keep-all;}
@media(max-width:980px){
  .sw-service-hero h1{font-size:42px;}
  .sw-section-title-row,.sw-service-system-grid{grid-template-columns:1fr;gap:24px;}
  .sw-route-map{grid-template-columns:1fr;gap:18px;padding-left:28px;}
  .sw-route-line{left:27px;right:auto;top:0;bottom:0;width:3px;height:auto;}
  .sw-route-node{min-height:0;padding:24px 22px;}
  .sw-route-node span{margin:0 0 14px;}
  .sw-route-node strong,.sw-route-node p{text-align:left;}
  .sw-system-card-list,.sw-service-info-grid{grid-template-columns:1fr;}
}
@media(max-width:620px){
  .sw-service-hero{min-height:390px;}
  .sw-service-hero-inner{padding:58px 18px;}
  .sw-service-hero h1{font-size:34px;}
  .sw-service-lead{font-size:15px;}
  .sw-section-title-row h2,.sw-service-system-copy h2{font-size:30px;}
  .sw-btn-primary,.sw-btn-light{width:100%;}
}
