@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{--bg:#09111e;--bg2:#0e1a2b;--panel:#142236;--line:#26374c;--blue:#4abcf3;--text:#f6f8fc;--muted:#a0afc2;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.72 'Manrope','Noto Sans KR',sans-serif;word-break:keep-all}a{text-decoration:none;color:inherit}button{font:inherit}h1,h2,h3,p{margin-top:0}.container{width:min(calc(100% - 64px),var(--max));margin:0 auto}.skip{position:absolute;top:-100px;left:20px;z-index:50;background:#fff;color:#111;padding:10px}.skip:focus{top:5px}.header{position:sticky;top:0;z-index:30;background:rgba(9,17,30,.91);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.07)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{font-size:28px;font-weight:800;letter-spacing:-1.8px;display:inline-flex;align-items:center;gap:7px}.brand-mark{color:var(--blue)}.brand-period{color:var(--blue)}.desktop-nav{display:flex;align-items:center;gap:28px}.desktop-nav a{font-size:12px;font-weight:700;letter-spacing:.7px;color:#c6d1dd;transition:color .2s}.desktop-nav a:hover,.desktop-nav a:focus{color:var(--blue)}.nav-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:9px;background:transparent;padding:10px;cursor:pointer}.nav-toggle span{display:block;height:2px;background:#fff;margin:4px 0}.mobile-nav{display:none}.hero{position:relative;overflow:hidden;min-height:740px;background:radial-gradient(circle at 74% 42%,#16375d 0%,#101e34 25%,#09111e 65%)}.hero-glow{position:absolute;width:550px;height:550px;right:-160px;top:0;background:radial-gradient(circle,rgba(20,134,221,.18),transparent 68%);pointer-events:none}.hero-grid{position:absolute;inset:0;opacity:.15;background-image:linear-gradient(#355277 1px,transparent 1px),linear-gradient(90deg,#355277 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent 20%,black 100%)}.hero-layout{display:grid;grid-template-columns:1.14fr .86fr;align-items:center;position:relative;min-height:670px;gap:5%;padding:76px 0}.eyebrow,.section-index{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--blue)}.status-dot{display:inline-block;width:7px;height:7px;background:var(--blue);border-radius:50%;margin-right:8px;box-shadow:0 0 15px var(--blue)}.hero h1{font-size:clamp(43px,4.9vw,75px);line-height:1.27;letter-spacing:-4px;font-weight:800;margin:26px 0}.hero h1 span,.section h2 em{color:var(--blue);font-style:normal}.hero-desc{max-width:590px;color:#b6c3d2;font-size:16px;line-height:1.95}.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:15px 24px;border-radius:7px;font-weight:700;font-size:13px;min-height:50px;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-3px)}.btn-primary{background:#2098db;color:#fff}.btn-primary:hover{background:#39b5f4}.btn-outline{border:1px solid #56687d;color:#fff}.hero-exp{margin:55px 0 0;font-size:11px;letter-spacing:1.5px;color:#7d92a9;font-weight:700}.hero-exp span{margin:0 10px}.hero-art{height:425px;position:relative;display:flex;align-items:center;justify-content:center}.orb{position:absolute;border-radius:50%;filter:blur(2px)}.orb-1{width:320px;height:320px;border:1px solid rgba(71,179,242,.2);box-shadow:0 0 100px rgba(22,122,215,.12),inset 0 0 70px rgba(30,150,218,.08)}.orb-2{width:450px;height:450px;border:1px solid rgba(71,179,242,.11)}.art-frame{position:relative;width:100%;max-width:480px;transform:rotate(-4deg);background:rgba(19,36,58,.92);border:1px solid #416184;box-shadow:0 35px 110px rgba(0,0,0,.5);border-radius:13px;overflow:hidden}.art-top{height:40px;background:#1b304b;border-bottom:1px solid #36506b;display:flex;align-items:center;gap:6px;padding:0 18px}.art-top span{width:8px;height:8px;border-radius:50%;background:#64829f}.art-top span:first-child{background:#e07880}.art-top span:nth-child(2){background:#e8c274}.art-top span:nth-child(3){background:#72c99f}.art-top small{margin-left:auto;color:#7699bd;font-size:9px;letter-spacing:1px}.art-code{font-family:Consolas,monospace;font-size:14px;line-height:2.25;color:#d9e6fb;padding:25px 19px 30px;white-space:nowrap}.art-code i{display:inline-block;width:37px;font-style:normal;color:#66829e}.code-purple{color:#b39aff}.code-green{color:#8de1bb}.code-blue{color:#65c6ff}.cursor{display:inline-block;width:8px;height:17px;background:#55c5f9;vertical-align:-3px;margin-left:5px}.art-label{position:absolute;bottom:0;right:0;font-size:10px;letter-spacing:2px;font-weight:800;color:#8eb4d2}.art-label span{color:var(--blue);margin:0 8px}.hero-bottom{position:relative;display:flex;gap:18px;align-items:center;padding-bottom:29px;font-size:10px;letter-spacing:2px;color:#71849b}.down-arrow{color:var(--blue);font-size:20px}.section{padding:120px 0;scroll-margin-top:75px}.section-business,.section-about,.section-insights{background:#0d1828}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}.section h2{font-size:clamp(32px,3.4vw,50px);line-height:1.4;letter-spacing:-2.2px;margin:12px 0 0}.section-intro{max-width:340px;color:var(--muted);font-size:14px;margin-bottom:5px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{background:#15243a;border:1px solid #283c54;min-height:245px;padding:28px;position:relative;display:flex;flex-direction:column;justify-content:space-between;transition:background .2s,border-color .2s,transform .2s}.service-card:hover{background:#1b304c;border-color:#4284b5;transform:translateY(-5px)}.service-no{font-size:12px;color:#678ca9}.service-tag{font-size:11px;letter-spacing:1.5px;color:var(--blue);font-weight:800}.service-card h3{font-size:21px;margin:10px 0}.service-card p{font-size:13px;color:#9fb0c2;margin:0;max-width:260px}.service-arrow{position:absolute;right:25px;top:20px;color:#4f7193;font-size:21px}.section-portfolio{background:#09111e}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 20px}.project-card{min-width:0}.project-visual{height:235px;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;border:1px solid rgba(255,255,255,.12)}.project-word{font-size:clamp(19px,2.5vw,34px);line-height:1.15;text-align:center;letter-spacing:1px;font-weight:800;opacity:.86;text-shadow:0 6px 20px rgba(0,0,0,.3);padding:20px}.project-visual:before{content:"";position:absolute;border:1px solid rgba(255,255,255,.13);width:60%;aspect-ratio:1;border-radius:50%;transform:scale(1.3)}.project-corner{position:absolute;right:16px;top:12px;font-size:21px}.welfare{background:linear-gradient(135deg,#133a53,#25818a)}.eco{background:linear-gradient(135deg,#114c4a,#6ca466)}.edu{background:linear-gradient(135deg,#1b3462,#5976ac)}.medical{background:linear-gradient(135deg,#284854,#4b8ea6)}.industry{background:linear-gradient(135deg,#2d3d4a,#6d756b)}.booking{background:linear-gradient(135deg,#4c3e30,#a5794a)}.project-card:hover .project-word{transform:scale(1.06);transition:transform .3s}.project-info{padding:21px 2px}.project-info span{font-size:10px;color:var(--blue);font-weight:800;letter-spacing:1.4px}.project-info h3{font-size:20px;letter-spacing:-.6px;margin:9px 0 4px}.project-info p,.project-note{color:#90a3b8;font-size:13px}.project-note{margin:0}.solutions{background:linear-gradient(135deg,#102038,#092136)}.solutions-inner{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.solutions-inner>div>p:last-child,.about-copy p,.insight-row p{color:var(--muted);font-size:15px;max-width:530px;margin-top:23px}.solution-panel{display:flex;flex-direction:column;background:#172d47;padding:38px;border:1px solid #3a5d79;min-height:310px;position:relative}.solution-icon{width:50px;height:50px;display:grid;place-items:center;border:1px solid #6284a5;border-radius:50%;align-self:flex-end;font-size:23px}.solution-sub{font-size:10px;color:var(--blue);letter-spacing:1.6px;font-weight:800;margin-top:5px}.solution-panel strong{font-size:62px;line-height:1.3;letter-spacing:-3px}.solution-panel strong span{color:var(--blue)}.solution-panel p{font-size:14px;color:#b2c4d4;margin:0}.solution-link{font-weight:700;font-size:13px;color:#fff;margin-top:32px}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:10%}.about-copy p:first-child{margin-top:0}.text-link{display:inline-block;border-bottom:1px solid var(--blue);font-size:14px;font-weight:700;padding-bottom:8px;margin-top:18px}.text-link span{margin-left:24px;color:var(--blue)}.insight-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.contact{background:linear-gradient(155deg,#14263c 0%,#0a1524 75%)}.contact h2{font-size:clamp(36px,4.2vw,61px)}.contact p:not(.section-index){color:#a6b9c9}.contact small{display:block;margin-top:22px;color:#7b8fa5}.footer{background:#080e18;padding:42px 0;color:#8d9eb2}.footer-upper,.footer-bottom{display:flex;justify-content:space-between;gap:25px}.footer-upper{align-items:center;padding-bottom:28px;border-bottom:1px solid #253143}.footer-upper>span{font-size:11px;letter-spacing:1.5px}.footer-bottom{padding-top:23px;font-size:12px;line-height:2}.footer-bottom p:last-child{text-align:right}
@media(max-width:1050px){.desktop-nav{gap:15px}.desktop-nav a{font-size:10px}.hero-layout{grid-template-columns:1.1fr .9fr}.art-code{font-size:11px}.service-grid,.project-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.container{width:min(calc(100% - 36px),var(--max))}.header-inner{min-height:68px}.brand{font-size:25px}.desktop-nav{display:none}.nav-toggle{display:block}.mobile-nav{display:flex;flex-direction:column;padding:10px 18px 20px;background:#0c192a;border-top:1px solid var(--line)}.mobile-nav[hidden]{display:none}.mobile-nav a{padding:10px 4px;font-size:13px;font-weight:700;letter-spacing:1px;border-bottom:1px solid #26374c}.hero{min-height:auto}.hero-layout{display:block;min-height:0;padding:100px 0 55px}.hero h1{font-size:clamp(37px,7.7vw,56px);letter-spacing:-2.1px}.eyebrow{font-size:9px;letter-spacing:1px}.hero-desc{font-size:14px}.hero-exp{font-size:9px;line-height:1.8;margin-top:40px}.hero-art{height:310px;margin-top:20px}.art-frame{max-width:400px}.art-code{font-size:12px;line-height:2.1}.orb-1{width:230px;height:230px}.orb-2{width:290px;height:290px}.section{padding:80px 0}.section-head{display:block;margin-bottom:32px}.section-intro{max-width:none;margin:20px 0 0}.section h2{font-size:34px;letter-spacing:-1.5px}.service-grid,.project-grid{grid-template-columns:1fr}.service-card{min-height:200px}.project-visual{height:240px}.solutions-inner,.about-inner{grid-template-columns:1fr;gap:34px}.insight-row{display:block}.insight-row>.btn{margin-top:20px}.footer-upper,.footer-bottom{display:block}.footer-bottom p:last-child{text-align:left}.contact h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* 헤더 로고 배경 제거 */
.header .brand {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.header .brand img {
    display: block;
    width: auto;
    height: 48px;
}
/* BUSINESS 카드 - 상세페이지 연결 전 화살표 숨김 */
.service-arrow {
    display: none;
}

/* 포트폴리오 실제 화면 이미지 */
.project-thumb {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.project-visual.welfare::before {
    display: none;
}

/* 모바일 헤더 높이 및 로고 크기 조정 */
@media (max-width: 760px) {
    .header-inner {
        min-height: 60px;
    }

    .brand-original img {
        width: 90px;
        height: auto;
    }

    .nav-toggle {
        width: 38px;
        height: 38px;
    }
}

/* 모바일 BUSINESS 카드 간격 조정 */
@media (max-width: 760px) {

    .service-grid {
        gap: 12px;
    }

    .service-card {
        min-height: 165px;
        padding: 22px 24px;
    }

    .service-card h3 {
        font-size: 19px;
        margin: 7px 0;
    }

    .service-card p {
        font-size: 13px;
        line-height: 1.7;
    }

}

/* 모바일 PORTFOLIO 간격 조정 */
@media (max-width: 760px) {

    .project-grid {
        gap: 26px;
    }

    .project-visual {
        height: auto;
        aspect-ratio: 8 / 5;
    }

    .project-thumb {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .project-info {
        padding: 15px 2px 0;
    }

    .project-info h3 {
        font-size: 19px;
        margin: 7px 0 5px;
    }

    .project-info p {
        font-size: 13px;
        line-height: 1.7;
        margin-bottom: 0;
    }

}
/* 실제 프로젝트 이미지의 배경 장식 제거 */
.project-visual.welfare::before,
.project-visual.fashionfinder::before {
    display: none;
}

/* PORTFOLIO 이미지 크기 및 카드 레이아웃 수정 */
.project-visual {
    position: relative;
    width: 100%;
    aspect-ratio: 8 / 5;
    height: auto;
    overflow: hidden;
}

.project-visual .project-thumb {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.project-visual.welfare::before,
.project-visual.fashionfinder::before,
.project-visual.edu::before,
.project-visual.booking::before,
.project-visual.medical::before {
    display: none;
}


/* 관리자 포트폴리오 목록 */
.project-cell {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 250px;
}

.project-cell .project-thumb {
    display: block;
    width: 100px;
    height: 65px;
    max-width: 100px;
    max-height: 65px;
    flex: 0 0 100px;
    object-fit: cover;
    border: 1px solid #e0e5ec;
    border-radius: 6px;
    background: #f3f6f9;
}

.project-cell .project-thumb.no-image {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #98a6b6;
    font-size: 10px;
}

.project-text {
    min-width: 0;
}

.project-text strong {
    display: block;
    font-size: 13px;
}

.project-text small {
    display: block;
    font-size: 11px;
    margin-top: 4px;
    color: #8190a4;
}

.actions {
    white-space: nowrap;
}

.delete-btn {
    background: #fff;
    border: 1px solid #f0c6c6;
    color: #c43131;
    padding: 6px 10px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 12px;
}

/* 포트폴리오 페이지 번호 */
.portfolio-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 50px;
}

.portfolio-pagination a,
.portfolio-pagination strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #314259;
    border-radius: 6px;
    color: #aabdd0;
    font-size: 13px;
    font-weight: 700;
}

.portfolio-pagination a:hover {
    background: #19334b;
    color: #fff;
}

.portfolio-pagination strong {
    background: #2098db;
    border-color: #2098db;
    color: #fff;
}

/* =====================================
   MAIN INSIGHTS - 최신 게시글
===================================== */

.main-insights-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.main-insights-card {
    display: block;
    min-width: 0;
}

.main-insights-visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 8 / 5;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    background: linear-gradient(135deg,#173a56,#2e6e8c);
}

.main-insights-visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.main-insights-visual > span:not(.main-insights-arrow) {
    font-size: 29px;
    color: #d7edff;
    font-weight: 800;
    letter-spacing: 1px;
}

.main-insights-arrow {
    position: absolute;
    top: 13px;
    right: 16px;
    color: #fff;
    font-size: 20px;
}

.main-insights-card:hover .main-insights-visual {
    border-color: var(--blue);
}

.main-insights-info {
    padding: 19px 2px;
}

.main-insights-meta {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: var(--blue);
    font-size: 11px;
    font-weight: 800;
}

.main-insights-meta span {
    color: #829bb3;
    font-weight: 500;
}

.main-insights-info h3 {
    font-size: 20px;
    line-height: 1.5;
    margin: 10px 0 9px;
    letter-spacing: -.6px;
}

.main-insights-info p {
    font-size: 13px;
    line-height: 1.8;
    color: #90a3b8;
    margin: 0;
}

.main-insights-empty {
    grid-column: 1 / -1;
    color: #a0afc2;
    padding: 30px 0;
}

.main-insights-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

@media (max-width: 1050px) {
    .main-insights-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .main-insights-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .main-insights-info {
        padding: 15px 2px 0;
    }

    .main-insights-info h3 {
        font-size: 19px;
    }

    .main-insights-actions {
        margin-top: 30px;
    }
}


