/* startup-partner — 극적 + 시원한 여백 + 비대칭 */

.sp-landing { background: #0f172a; }

/* 히어로 — 효과 억제 */
.sp-hero-section { padding: 0 !important; background: #0f172a !important; }
.sp-hero-section .gradient-orb { opacity: 0.15; }
.sp-hero-section .hero-image-glow { opacity: 0.1; }
.sp-hero-section .hero-description {
    font-size: 0.9375rem;
    color: #64748b;
    margin-bottom: 40px;
}
.sp-hero-img { max-width: 100%; position: relative; z-index: 1; }

/* ============================================
   S2: 대비 — 비대칭 레이아웃
   왼쪽 작게 + 오른쪽 크게
   ============================================ */
.sp-contrast-section { padding: 200px 0 160px; }

.sp-contrast-grid {
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 120px;
    max-width: 1060px;
    margin: 0 auto;
    align-items: start;
}

.sp-contrast-card { padding: 0; }

/* 왼쪽: 일반 외주 — 작고 어둡게 */
.sp-contrast-before { padding-top: 40px; }
.sp-contrast-before .sp-contrast-quote {
    font-size: 1.375rem;
    color: #475569;
    font-weight: 400;
    text-decoration: line-through;
    text-decoration-color: rgba(239,68,68,0.5);
    text-decoration-thickness: 2px;
    margin-bottom: 48px;
    line-height: 1.6;
}
.sp-contrast-before .sp-contrast-flow {
    color: #475569;
    font-size: 0.875rem;
    margin-bottom: 48px;
    opacity: 0.8;
}
.sp-contrast-before .sp-contrast-desc {
    color: #475569;
    font-size: 0.875rem;
    line-height: 2.4;
    opacity: 0.7;
}

/* 오른쪽: 기술 파트너 — 크고 밝게 */
.sp-contrast-after .sp-contrast-quote {
    font-size: clamp(2rem, 3.5vw, 3rem);
    color: #f1f5f9;
    font-weight: 700;
    margin-bottom: 48px;
    line-height: 1.4;
    letter-spacing: -0.02em;
}
.sp-contrast-after .sp-contrast-flow {
    color: #94a3b8;
    font-size: 1.125rem;
    margin-bottom: 48px;
}
.sp-contrast-after .sp-contrast-desc {
    color: #cbd5e1;
    font-size: 1.125rem;
    line-height: 2.4;
}

/* flow 공통 */
.sp-contrast-flow {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    row-gap: 4px;
}
.sp-contrast-flow span { white-space: nowrap; }
.sp-flow-sep { margin: 0 10px; opacity: 0.25; font-size: 0.75em; }
.sp-flow-end { opacity: 0.3; }
.sp-flow-next { color: #5eead4; font-weight: 700; }

/* 프로세스 한 줄 */
.sp-process-line {
    max-width: 1060px;
    margin: 120px auto 0;
    padding-top: 60px;
    border-top: 1px solid rgba(255,255,255,0.04);
    font-size: clamp(1.125rem, 2vw, 1.5rem);
    color: #64748b;
    text-align: center;
    letter-spacing: 0.04em;
}

/* ============================================
   S3: 신뢰 — 넉넉한 여백
   ============================================ */
.sp-trust-section { padding: 200px 0 160px; }

/* 인용문 — 비대칭: 우측 offset */
.sp-quote-block {
    max-width: 800px;
    margin: 0 0 200px auto;
    padding-right: 10%;
    position: relative;
    text-align: right;
}
.sp-quote-block::before {
    content: '\201C';
    position: absolute;
    top: -60px;
    right: 10%;
    font-size: 8rem;
    color: rgba(255,255,255,0.04);
    font-family: Georgia, serif;
    line-height: 1;
}
.sp-quote-text {
    font-size: clamp(2rem, 4.5vw, 3.5rem);
    font-weight: 700;
    color: #f1f5f9;
    line-height: 1.3;
    margin-bottom: 24px;
    letter-spacing: -0.03em;
}
.sp-quote-attr {
    font-size: 1rem;
    color: #475569;
    line-height: 1.7;
}

/* 숫자 — 비대칭: 좌측 정렬, 세로 배치 */
.sp-stats-row {
    display: flex;
    flex-direction: column;
    gap: 64px;
    max-width: 800px;
    margin: 0 auto 160px;
    padding-left: 10%;
}
.sp-stat {
    display: flex;
    align-items: baseline;
    gap: 16px;
}
.sp-stat strong {
    font-size: clamp(4rem, 8vw, 7rem);
    font-weight: 800;
    color: #f1f5f9;
    line-height: 1;
    letter-spacing: -0.04em;
}
.sp-stat small {
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 800;
    color: #f1f5f9;
    letter-spacing: -0.04em;
}
.sp-stat span {
    font-size: 1.125rem;
    color: #475569;
    line-height: 1.5;
}

/* 링크 */
.sp-article-links {
    max-width: 800px;
    margin: 0 auto;
    padding-left: 10%;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.sp-article-links a {
    font-size: 1.25rem;
    color: #64748b;
    text-decoration: none;
    transition: color 0.2s;
}
.sp-article-links a::before { content: '→ '; opacity: 0.2; }
.sp-article-links a:hover { color: #f1f5f9; }

/* ============================================
   S4: CTA — 배경 구분 + 극적 여백
   ============================================ */
.sp-cta-section {
    padding: 0 !important;
    background: #080c14;
}
.sp-cta-inner {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 200px 24px 240px;
    text-align: center;
}
.sp-cta-title {
    font-size: clamp(2.25rem, 4.5vw, 3.5rem);
    font-weight: 700;
    color: #f1f5f9;
    margin-bottom: 64px;
    line-height: 1.3;
    letter-spacing: -0.02em;
}
.sp-cta-btn-final {
    background: #f1f5f9;
    border: none;
    box-shadow: none;
    font-size: 1.25rem;
    padding: 20px 56px;
    color: #0f172a;
    font-weight: 700;
    border-radius: 0;
    display: inline-block;
    text-decoration: none;
    transition: background 0.2s, transform 0.2s;
    letter-spacing: 0.02em;
}
.sp-cta-btn-final:hover {
    background: #e2e8f0;
    transform: translateY(-2px);
}

/* ============================================
   반응형
   ============================================ */
@media (max-width: 1024px) {
    .sp-contrast-grid { grid-template-columns: 1fr 1fr; gap: 80px; }
    .sp-quote-block { padding-right: 5%; }
    .sp-stats-row { padding-left: 5%; }
    .sp-article-links { padding-left: 5%; }
}
@media (max-width: 768px) {
    .sp-contrast-section { padding: 140px 0 100px; }
    .sp-contrast-grid { grid-template-columns: 1fr; gap: 64px; }
    .sp-contrast-before { padding-top: 0; }
    .sp-contrast-after .sp-contrast-quote { font-size: 1.375rem; }
    .sp-trust-section { padding: 140px 0 100px; }
    .sp-quote-block { text-align: left; padding-right: 0; margin-bottom: 140px; }
    .sp-quote-block::before { right: auto; left: -5px; }
    .sp-stats-row { padding-left: 0; gap: 48px; }
    .sp-stat strong { font-size: clamp(3rem, 6vw, 5rem); }
    .sp-article-links { padding-left: 0; }
    .sp-cta-inner { padding: 140px 24px 160px; }
    .sp-cta-btn-final { width: 100%; font-size: 1.0625rem; padding: 18px 36px; }
    .sp-process-line { font-size: 0.875rem; margin-top: 80px; padding-top: 40px; }
    .sp-contrast-flow { font-size: 0.75rem !important; }
}
@media (max-width: 480px) {
    .sp-contrast-section { padding: 100px 0 80px; }
    .sp-trust-section { padding: 100px 0 80px; }
    .sp-cta-inner { padding: 100px 20px 120px; }
}

/* ============================================
   S3: 우리가 실제로 하는 것
   ============================================ */
.sp-what-section {
    padding: 200px 0;
}

.sp-what-item {
    max-width: 800px;
    margin: 0 auto;
    padding: 80px 0;
    border-bottom: 1px solid rgba(255,255,255,0.04);
}

.sp-what-item:last-child {
    border-bottom: none;
}

.sp-what-item h3 {
    font-size: clamp(1.75rem, 3.5vw, 2.75rem);
    font-weight: 700;
    color: #f1f5f9;
    margin-bottom: 20px;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.sp-what-item p {
    font-size: 1.1875rem;
    color: #64748b;
    line-height: 1.8;
}

/* 마지막 항목 강조 — 민트 */
.sp-what-item:last-child h3 {
    color: #5eead4;
}

@media (max-width: 768px) {
    .sp-what-section { padding: 140px 0; }
    .sp-what-item { padding: 60px 0; }
    .sp-what-item h3 { font-size: 1.375rem; }
}
@media (max-width: 480px) {
    .sp-what-section { padding: 100px 0; }
    .sp-what-item { padding: 48px 0; }
}

/* ============================================
   감정 곡선 — 컬러 점층
   ============================================ */

/* 실제 하는 것: 제목 색 점층 (어두움→밝음→민트) */
.sp-what-item:nth-child(1) h3 { color: #94a3b8; }
.sp-what-item:nth-child(2) h3 { color: #b0bec9; }
.sp-what-item:nth-child(3) h3 { color: #cbd5e1; }
.sp-what-item:nth-child(4) h3 { color: #f1f5f9; }
.sp-what-item:nth-child(5) h3 { color: #5eead4; }

/* 실제 하는 것: 설명 색 점층 */
.sp-what-item:nth-child(1) p { color: #475569; }
.sp-what-item:nth-child(2) p { color: #546378; }
.sp-what-item:nth-child(3) p { color: #64748b; }
.sp-what-item:nth-child(4) p { color: #94a3b8; }
.sp-what-item:nth-child(5) p { color: #94a3b8; }

/* 실제 하는 것: 배경 점층 */
.sp-what-section {
    background: linear-gradient(180deg, #0f172a 0%, #131c2e 100%);
}

/* 인용문+숫자: 절정 배경 */
.sp-trust-section {
    background: #131c2e !important;
    position: relative;
}
.sp-trust-section::after {
    content: '';
    position: absolute;
    top: 30%;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 400px;
    background: radial-gradient(circle, rgba(94,234,212,0.03) 0%, transparent 70%);
    pointer-events: none;
}

/* 숫자: 민트 (최고점) */
.sp-stat strong {
    color: #5eead4 !important;
}
.sp-stat small {
    color: #5eead4 !important;
}

/* CTA 버튼: 민트 배경 */
.sp-cta-btn-final {
    background: #5eead4 !important;
    color: #0f172a !important;
}
.sp-cta-btn-final:hover {
    background: #2dd4bf !important;
}

/* ============================================
   시니어 디테일
   ============================================ */

/* 프로세스: 화살표 민트, 마지막 단어 민트 */
.sp-arrow { color: #5eead4; opacity: 0.5; }
.sp-process-mint { color: #5eead4; font-weight: 700; }

/* 실제 하는 것 3번: 하이라이트 */
.sp-what-highlight {
    border-left: 3px solid rgba(94,234,212,0.4);
    padding-left: 32px;
}
.sp-what-quote {
    margin-top: 32px;
    font-size: clamp(1.25rem, 2.5vw, 1.75rem);
    color: #5eead4;
    font-weight: 600;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: -0.01em;
}
.sp-what-quote span {
    font-size: 0.9375rem;
    color: #475569;
    font-weight: 400;
    display: block;
    margin-top: 8px;
}

/* 링크: hover 시 화살표 이동 */
.sp-article-links a::before {
    display: inline-block;
    transition: transform 0.2s;
}
.sp-article-links a:hover::before {
    transform: translateX(4px);
}

/* "다음" glow */
.sp-flow-next {
    text-shadow: 0 0 20px rgba(94,234,212,0.3);
}

/* CTA 버튼 존재감 */
.sp-cta-btn-final {
    box-shadow: 0 4px 24px rgba(94,234,212,0.15) !important;
}

/* 인용문 따옴표 더 크게 */
.sp-quote-block::before {
    font-size: 10rem !important;
}

/* 숫자 glow */
.sp-stat strong {
    text-shadow: 0 0 40px rgba(94,234,212,0.15);
}

@media (max-width: 768px) {
    .sp-what-highlight { padding-left: 20px; }
    .sp-what-quote { font-size: 1.25rem; }
}

/* ============================================
   박스 + 가독성 강화
   ============================================ */

/* 대비 오른쪽: 배경 강화 */
.sp-contrast-after {
    background: rgba(255,255,255,0.05) !important;
    padding: 56px 48px !important;
}

/* 실제 하는 것 하이라이트(3번): 배경 박스 */
.sp-what-highlight {
    background: rgba(94,234,212,0.03);
    padding: 56px 48px 56px 48px !important;
    border-left: 3px solid rgba(94,234,212,0.4);
    margin-left: -48px;
    margin-right: -48px;
    padding-left: 48px !important;
}

/* 항목 구분선 강화 */
.sp-what-item {
    border-bottom-color: rgba(255,255,255,0.06) !important;
}

/* 항목 간 여백 */
.sp-what-item {
    padding: 100px 0 !important;
}
.sp-what-highlight {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
}

@media (max-width: 768px) {
    .sp-contrast-after { padding: 40px 28px !important; }
    .sp-what-highlight {
        margin-left: -20px;
        margin-right: -20px;
        padding: 60px 28px 60px 28px !important;
    }
    .sp-what-item { padding: 72px 0 !important; }
}

/* ============================================
   밸런스 — 민트 포인트를 숫자에만 집중
   ============================================ */

/* 발표장: 민트 배경/세로선 제거. 인용문 톤 낮춤 */
.sp-what-highlight {
    background: none !important;
    border-left: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
}
.sp-what-quote {
    color: #cbd5e1 !important;
}
.sp-what-quote span {
    color: #475569 !important;
}

/* 프로세스: 민트 제거 */
.sp-arrow { color: #334155 !important; opacity: 0.4 !important; }
.sp-process-mint { color: #f1f5f9 !important; font-weight: 700; }

/* "다음" glow 제거 */
.sp-flow-next { text-shadow: none !important; }

/* 실제 하는 것 5번: 민트→흰색 */
.sp-what-item:nth-child(5) h3 { color: #f1f5f9 !important; }

/* CTA 버튼: 흰색 */
.sp-cta-btn-final {
    background: #f1f5f9 !important;
    color: #0f172a !important;
    box-shadow: 0 4px 24px rgba(255,255,255,0.1) !important;
}
.sp-cta-btn-final:hover {
    background: #e2e8f0 !important;
}

/* 대비 좌측: padding 맞춤 */
.sp-contrast-before {
    padding: 48px 0 !important;
}

/* 숫자 glow 유지 (유일한 민트 포인트) */

/* 루프1: 포인트 A — "같이" 강조 */
.sp-contrast-after .sp-contrast-quote em {
    font-style: normal;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 6px;
    text-decoration-thickness: 2px;
    text-decoration-color: rgba(241,245,249,0.3);
}

/* 루프1: 포인트 B — "사업계획서" 크게 */
.sp-big-word {
    font-size: 1.4em;
    font-weight: 800;
    letter-spacing: -0.03em;
}

/* 루프1: 포인트 C — 인용문 앞 가로선 */
.sp-quote-block {
    border-top: 1px solid rgba(255,255,255,0.06);
    padding-top: 80px;
}

/* 루프2: "보여드릴까요?" 키움 */
.sp-what-quote {
    font-size: clamp(1.5rem, 3vw, 2.25rem) !important;
    color: #e2e8f0 !important;
}

/* 루프2: 신뢰 배경 약간 밝게 */
.sp-trust-section {
    background: #151f30 !important;
}

/* 루프3: "끝" 거의 사라지게 */
.sp-flow-end { opacity: 0.15 !important; }

/* 루프3: 실제하는것→신뢰 사이 여백 */
.sp-what-section { padding-bottom: 240px !important; }

/* 루프4: 히어로 버튼 존재감 */
.sp-hero-section .btn-primary {
    border: 1px solid rgba(255,255,255,0.15);
}

/* 루프4: 링크 여백 + hover 밑줄 */
.sp-article-links { gap: 20px !important; }
.sp-article-links a {
    padding-bottom: 4px;
    border-bottom: 1px solid transparent;
    transition: color 0.2s, border-color 0.2s;
}
.sp-article-links a:hover {
    border-bottom-color: rgba(241,245,249,0.2);
}
