@charset "utf-8";

/* ───────── 회사소개 (about.php) ───────── */
.about_page { max-width:640px; margin:0 auto; padding:0 0 100px; background:#fafbff; }

/* ───── 1. HERO ───── */
.about_page .hero {
    position:relative;
    padding:50px 24px 60px;
    background:linear-gradient(135deg, #667eea 0%, #764ba2 60%, #f093fb 100%);
    color:#fff;
    text-align:center;
    overflow:hidden;
}
.about_page .hero::before {
    content:''; position:absolute; inset:0;
    background:
        radial-gradient(circle at 20% 30%, rgba(255,255,255,.15) 0%, transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(255,255,255,.10) 0%, transparent 40%);
    pointer-events:none;
}
.about_page .hero .badge {
    position:relative; z-index:1;
    display:inline-block;
    padding:6px 14px;
    background:rgba(255,255,255,.18);
    backdrop-filter:blur(8px);
    border:1px solid rgba(255,255,255,.3);
    border-radius:50px;
    font-size:11px; font-weight:700; letter-spacing:1.5px;
    margin-bottom:16px;
}
.about_page .hero .logo {
    position:relative; z-index:1;
    font-size:48px; font-weight:900;
    letter-spacing:-1px; line-height:1;
    margin:0 0 12px;
    text-shadow:0 4px 24px rgba(0,0,0,.2);
}
.about_page .hero .logo span {
    background:linear-gradient(135deg,#ffd700,#ffaa00);
    -webkit-background-clip:text; background-clip:text;
    color:transparent;
}
.about_page .hero .tagline {
    position:relative; z-index:1;
    font-size:16px; font-weight:600; opacity:.95;
    margin:0;
}
.about_page .hero .cubes {
    position:relative; z-index:1;
    margin-top:30px;
    display:flex; gap:18px; justify-content:center;
}
.about_page .hero .cubes .cube {
    display:inline-flex; align-items:center; justify-content:center;
    width:48px; height:48px;
    background:rgba(255,255,255,.2);
    backdrop-filter:blur(8px);
    border:1px solid rgba(255,255,255,.3);
    border-radius:14px;
    font-size:22px;
    animation:cube_float 3s ease-in-out infinite;
}
.about_page .hero .cubes .c2 { animation-delay:.3s; }
.about_page .hero .cubes .c3 { animation-delay:.6s; }
.about_page .hero .cubes .c4 { animation-delay:.9s; }
@keyframes cube_float {
    0%,100% { transform:translateY(0) rotate(0); }
    50%     { transform:translateY(-8px) rotate(6deg); }
}

/* ───── 공통 섹션 ───── */
.about_page .sec_title {
    font-size: 24px;
    font-weight:800;
    color:#1f2330;
    line-height:1.3;
    margin:0 0 18px;
    letter-spacing:-.5px;
}
.about_page .sec_title span {
    color: var(--color-main);
    background: linear-gradient(135deg,#456DEA 0%,#2B53CF 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

/* ───── 2. INTRO ───── */
.about_page .intro {
    margin: -30px 0 24px;
    padding:30px 24px;
    background:#fff;
    border-radius:20px;
    box-shadow:0 8px 30px rgba(20,25,40,.08);
    position:relative;
    z-index:2;
}
.about_page .intro .desc {
    font-size: 16px;
    line-height:1.8;
    color:#5b5e6b;
    margin:0;
}
.about_page .intro .desc strong {
    color: #4471ff;
    font-weight:800;
}
.about_page .intro .desc em {
    font-style:normal; font-weight:700;
    background:linear-gradient(180deg, transparent 60%, #fef3c7 60%);
    padding:0 3px;
}

/* ───── 3. STATS ───── */
.about_page .stats {
    margin: 0 0 30px;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:10px;
}
.about_page .stats .stat {
    background:#fff;
    border:1px solid #e7eaef;
    border-radius:14px;
    padding: 24px 8px 20px;
    text-align:center;
    box-shadow:0 2px 8px rgba(20,25,40,.04);
}
.about_page .stats .stat .num {
    display:block;
    font-size:24px;
    font-weight:900;
    color: var(--color-main);
    line-height:1.1;
    margin-bottom:6px;
    letter-spacing:-.5px;
}
.about_page .stats .stat .num em {
    font-size:14px;
    font-style:normal;
    margin-left:2px;
}
.about_page .stats .stat .lbl {
    font-size: 14px;
    color:#7a7e8c;
    font-weight:600;
    line-height:1.4;
}

@media (max-width: 480px){
    .about_page .stats {grid-template-columns: repeat(1, 1fr);}
}

/* ───── 4. VALUES ───── */
.about_page .values {
    margin: 0 0 30px;
    padding:28px 24px;
    background:#fff;
    border-radius:20px;
    box-shadow:0 4px 18px rgba(20,25,40,.05);
}
.about_page .values .value_list {
    list-style:none; padding:0; margin:0;
    display:flex; flex-direction:column; gap:18px;
}
.about_page .values .value_list li {
    display:flex; gap:14px;
    padding:16px; background:#f8f9ff;
    border-radius:14px;
    border-left:3px solid transparent;
    transition:all .2s;
}
.about_page .values .value_list li:nth-child(1) { border-left-color:#6366f1; }
.about_page .values .value_list li:nth-child(2) { border-left-color:#8b5cf6; }
.about_page .values .value_list li:nth-child(3) { border-left-color:#ec4899; }
.about_page .values .value_list .emoji {
    flex-shrink:0;
    width:44px; height:44px;
    display:flex; align-items:center; justify-content:center;
    background:#fff;
    border-radius:12px;
    font-size:22px;
    box-shadow:0 2px 6px rgba(99,102,241,.12);
}
.about_page .values .value_list .text { flex:1; }
.about_page .values .value_list .text strong {
    display:block;
    font-size: 17px;
    font-weight:800;
    color:#1f2330;
}
.about_page .values .value_list .text p {
    margin:0;
    font-size: 14px;
    line-height:1.6;
    color:#6b7280;
}

/* ───── 5. COMPANY ───── */
.about_page .company {
    margin: 0 0 30px;
    padding:28px 24px;
    background:#fff;
    border-radius:20px;
    box-shadow:0 4px 18px rgba(20,25,40,.05);
}
.about_page .company .info_list {
    list-style:none; padding:0; margin:0;
    display:flex; flex-direction:column; gap:0;
}
.about_page .company .info_list li {
    display:flex; align-items:flex-start;
    padding:14px 0;
    border-bottom:1px solid #f1f2f6;
}
.about_page .company .info_list li:last-child { border-bottom:0; }
.about_page .company .info_list .lbl {
    flex-shrink:0;
    width:80px;
    font-size: 14px;
    font-weight: 600;
    color:#9aa0ad;
}
.about_page .company .info_list .val {
    flex:1;
    font-size:14px; font-weight:600;
    color:#1f2330; line-height:1.5;
    word-break:keep-all;
}

/* ───── 6. CTA ───── */
.about_page .cta {
    margin:0 18px;
    padding:36px 24px;
    background: linear-gradient(135deg,#456DEA 0%,#2B53CF 100%);
    border-radius:20px;
    text-align:center;
    color:#fff;
    box-shadow:0 10px 30px rgba(99,102,241,.3);
}
.about_page .cta .msg {
    margin:0 0 20px;
    font-size: 18px;
    font-weight:700;
    line-height:1.6;
}
.about_page .cta .btn {
    display:inline-block;
    padding:14px 36px;
    background:#fff;
    color: var(--color-main);
    border-radius:50px;
    font-size:14px;
    font-weight: 700;
    text-decoration:none;
    box-shadow: 0 8px 22px rgba(72,52,212,0.18);
    transition:transform .15s;
}
.about_page .cta .btn:hover { transform:translateY(-2px); }
.about_page .cta .btn:active { transform:scale(.98); }
