diff --git a/src/css/common.css b/src/css/common.css
index e009771..b9d8f0f 100644
--- a/src/css/common.css
+++ b/src/css/common.css
@@ -113,10 +113,10 @@ body{overflow-x:hidden;}
.partners-title-main em { font-style: normal; font-weight: 700; color: #333; background: none; }
.partners-title-desc { font-size: 13px; color: #bbb; line-height: 1.8; letter-spacing: 0.02em; }
.partners-section-row { display: grid; grid-template-columns: 180px 1fr; gap: 3rem; align-items: start; padding: 4rem 0; border-top: 1px solid #e8e8e8; }
-.partners-sidebar { display: flex; flex-direction: column; gap: 6px; padding-top: 4px; position: sticky; top: 100px; }
-.partners-eyebrow { font-size: 11px; font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase; color: #aaa; }
-.partners-heading { font-size: 22px; font-weight: 600; color: #111; letter-spacing: -0.03em; line-height: 1.2; margin-top: 4px; }
-.partners-count { font-size: 12px; color: #bbb; margin-top: 6px; }
+.partners-sidebar { display: flex; flex-direction: column; gap: 6px; padding-top: 4px;}
+.partners-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #888; }
+.partners-heading { font-size: 32px; font-weight: 700; color: #111; letter-spacing: -0.04em; line-height: 1.15; margin-top: 6px; }
+.partners-count { font-size: 13px; font-weight: 500; color: #999; margin-top: 8px; }
.partners-grid { display: grid; border: 1px solid #e8e8e8; border-radius: 16px; overflow: hidden; }
.partners-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.partners-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@@ -126,11 +126,6 @@ body{overflow-x:hidden;}
.partners-grid--5 .partners-logo-cell:nth-child(5n) { border-right: none; }
.partners-grid--5 .partners-logo-cell:nth-last-child(-n+5) { border-bottom: none; }
.partners-logo-cell img { max-width: 75%; max-height: 28px; width: auto; height: auto; object-fit: contain; }
-.partners-cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 4rem 0 0; border-top: 1px solid #e8e8e8; }
-.partners-cta-left { display: flex; flex-direction: column; gap: 8px; }
-.partners-cta-title { font-size: 22px; font-weight: 600; color: #111; letter-spacing: -0.03em; line-height: 1.4; }
-.partners-cta-btn { display: inline-flex; align-items: center; gap: 8px; padding: 0.85rem 2rem; border: 1px solid #222; border-radius: 100px; font-size: 14px; font-weight: 500; color: #111; background: transparent; text-decoration: none; white-space: nowrap; transition: background 0.15s ease, color 0.15s ease; flex-shrink: 0; }
-.partners-cta-btn:hover { background: #111; color: #fff; }
@media (max-width: 768px) {
.partners-wrap { padding: 0 1.25rem 4rem; }
.partners-title-block { padding: 3rem 0 2rem; text-align: left; align-items: flex-start; }
@@ -148,7 +143,6 @@ body{overflow-x:hidden;}
.partners-grid--5 .partners-logo-cell:nth-last-child(-n+5) { border-bottom: 1px solid #e8e8e8; }
.partners-grid--5 .partners-logo-cell:nth-child(3n) { border-right: none; }
.partners-grid--5 .partners-logo-cell:nth-last-child(-n+3) { border-bottom: none; }
-.partners-cta { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
}
diff --git a/src/pages/company/PartnersPage.jsx b/src/pages/company/PartnersPage.jsx
index 6539ebf..25c2747 100644
--- a/src/pages/company/PartnersPage.jsx
+++ b/src/pages/company/PartnersPage.jsx
@@ -26,12 +26,32 @@ const CLIENTS = [
{ id: "molit", logo: "24" },
];
-const PARTNERS = ["02", "03", "04", "05", "06", "07", "08", "10", "11", "12", "13", "14", "18", "19", "22"];
+const PARTNERS = [
+ "02",
+ "03",
+ "04",
+ "05",
+ "06",
+ "07",
+ "08",
+ "10",
+ "11",
+ "12",
+ "13",
+ "14",
+ "18",
+ "19",
+ "22",
+];
function LogoCard({ logo, basePath }) {
return (
-

+
);
}
@@ -43,6 +63,32 @@ export default function PartnersPage() {
useEffect(() => {
const ctx = gsap.context(() => {
+ // 모든 섹션 요소 — 아래에서 위로
+ gsap.utils
+ .toArray([
+ ".partners-section-row",
+ ".partners-sidebar",
+ ".partners-grid",
+ ".sub-fade-in",
+ ])
+ .forEach((el) => {
+ gsap.fromTo(
+ el,
+ { opacity: 0, y: 48 },
+ {
+ opacity: 1,
+ y: 0,
+ duration: 0.7,
+ ease: "power3.out",
+ scrollTrigger: {
+ trigger: el,
+ start: "top 88%",
+ },
+ },
+ );
+ });
+
+ // 로고 셀 stagger (기존 유지)
gsap.fromTo(
".partners-logo-cell",
{ opacity: 0, y: 16 },
@@ -59,9 +105,9 @@ export default function PartnersPage() {
},
);
}, wrapRef);
+
return () => ctx.revert();
}, []);
-
return (
{/* 상단 타이틀 */}
-
+
Trusted by Many,
@@ -88,7 +140,9 @@ export default function PartnersPage() {
Built for the Future
- 오랜 신뢰, 깊은 협력 함께하는 기관과 파트너
+
+ 오랜 신뢰, 깊은 협력 함께하는 기관과 파트너
+
@@ -129,19 +183,69 @@ export default function PartnersPage() {
{/* CTA */}
-
-
-
Become a Partner
-
- 팔네트웍스와 함께 성장할
-
- 파트너를 찾습니다
-
+
+