@charset "utf-8";
/* doc.css는 디자인페이지 스타일을 정의합니다. */


/* ══════════════════════════════ 공통 유틸 ══════════════════════════════ */
.pf-eyebrow {font-size:var(--type-eyebrow-size); font-weight:600; letter-spacing:0; color:var(--color-point); text-transform:uppercase; margin-bottom:var(--sec-eyebrow-title-gap);}
.pf-eyebrow-light {color:var(--color-point-light);}
.pf-sec-head {margin-bottom:var(--space-50);}
.pf-sec-head-center {text-align:center;}
.pf-sec-head-row {display:flex; justify-content:space-between; align-items:flex-end; gap:var(--space-20); flex-wrap:wrap;}
.pf-sec-title {font-size:var(--type-h2-size); font-weight:700; color:var(--color-ink-deep); letter-spacing:0; line-height:var(--type-h2-lh); margin-bottom:var(--sec-title-desc-gap);}
.pf-sec-desc {font-size:var(--type-body-size); color:var(--color-body-text); line-height:var(--type-body-lh);}
.pf-sec-desc--lead {margin-bottom:var(--space-40);}
.pf-note {margin-top:var(--space-20); text-align:center; font-size:var(--type-body-sm-size); line-height:var(--type-body-sm-lh); color:var(--color-caption-text);}
.pf-link-more {display:inline-flex; align-items:center; gap:6px; font-size:var(--type-body-size); line-height:var(--type-body-sm-lh); font-weight:700; color:var(--color-ink-deep); text-decoration:none;}
.pf-link-more:hover {color:var(--color-point);}
.pf-btn-outline-dark {display:inline-flex; align-items:center; gap:8px; padding:11px 26px; border:1.5px solid var(--color-ink-deep); color:var(--color-ink-deep); border-radius:100px; font-size:var(--type-button-size); line-height:var(--type-button-lh); font-weight:600; text-decoration:none; white-space:nowrap;}
.pf-btn-outline-dark:hover {background:var(--color-ink-deep); color:#fff;}
.btn-pack.pf-btn-point {background:var(--color-point); border-color:var(--color-point); color:#fff;}
.btn-pack.pf-btn-point:hover {background:var(--color-point-dark); border-color:var(--color-point-dark);}
.btn-pack.pf-btn-outline-w {background:transparent; border:1.5px solid rgba(255,255,255,.65); color:#fff;}
.btn-pack.pf-btn-outline-w:hover {background:rgba(255,255,255,.15);}


/* ══════════════════════════════ 메인 — 히어로 ══════════════════════════════ */
.main-visual {position:relative; margin-top:var(--header-height); height:calc(100vh - var(--header-height)); overflow:hidden;}
.main-visual .item {position:relative; height:calc(100vh - var(--header-height)); min-height:520px; background-size:cover; background-position:center; background-repeat:no-repeat; display:flex; align-items:center; overflow:hidden;}
.main-visual .item .video-js,
.main-visual .item video {position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover;}
.main-visual .item iframe {position:absolute; top:50%; left:50%; width:100vw; height:100vh; -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%);}
.main-visual .item img {position:absolute; top:0; left:0; width:100%; height:100%; aspect-ratio:1920/1080; object-fit:cover;}
.pf-hero-slide-dark {background:linear-gradient(135deg, var(--color-main) 0%, #1f1f1f 100%);}
.pf-hero-overlay {position:absolute; inset:0; background:rgba(43,43,43,.55);}
.pf-hero-overlay-soft {background:rgba(0,0,0,.15);}
.pf-hero-body {position:absolute; top:50%; left:0; z-index:10; width:100%; -webkit-transform:translateY(-50%); transform:translateY(-50%);}
/* 슬라이드 전체 클릭영역(관리자가 링크주소를 넣은 슬라이드에만 출력됨).
   .pf-hero-overlay(inset:0) 와 .pf-hero-body(z-index:10) 가 이미지를 덮고 있어
   이미지에 <a> 를 감으면 클릭이 먹지 않는다. 그래서 맨 위에 투명 앵커를 깐다.
   .slick-list 가 transform 으로 별도 스택컨텍스트라 이 z-index 는 슬라이드 안에서만 유효 →
   dots(.slick-dots) 와 SCROLL DOWN(.pf-hero-scroll) 은 계속 위에 있어 그대로 눌린다. */
.pf-hero-link {position:absolute; inset:0; z-index:15; display:block; font-size:0; text-indent:-9999px; overflow:hidden;}
.main-visual .slick-list.dragging .pf-hero-link {pointer-events:none;} /* 스와이프 끝에 오클릭 방지 */
.pf-hero-inner {text-align:center;}
.pf-hero-headline {font-size:var(--font-size-50); font-weight:800; color:#fff; line-height:1.2; letter-spacing:-.02em; margin-bottom:40px;}
.pf-hero .pf-eyebrow {font-size:var(--font-size-16); font-weight:700; letter-spacing:2px; margin-bottom:var(--space-12);}
.pf-hero-headline-slogan {
	font-family:"Times New Roman", Times, serif;
	font-size:88px;
	font-style:normal;
	font-weight:700;
	letter-spacing:-.04em;
	line-height:1.15;
	background:linear-gradient(110deg, #fff 0%, #fff 38%, var(--color-point) 50%, var(--color-point-light) 54%, #fff 62%, #fff 100%);
	background-size:250% 100%;
	-webkit-background-clip:text;
	background-clip:text;
	-webkit-text-fill-color:transparent;
	color:transparent;
	animation:pf-hero-slogan-shine 3.2s ease-in-out infinite;
}
@keyframes pf-hero-slogan-shine {
	0% {background-position:120% 0;}
	100% {background-position:-20% 0;}
}
@media (min-aspect-ratio: 16/9) {
	.main-visual .item iframe {height:56.25vw;}
}
@media (max-aspect-ratio: 16/9) {
	.main-visual .item iframe {width:177.78vh;}
}
.pf-hero-sub {font-size:var(--font-size-16); color:rgba(255,255,255,.9); line-height:1.8; max-width:680px; margin:0 auto;}
.pf-hero-scroll {position:absolute; left:50%; bottom:40px; z-index:2; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:8px; color:#fff; text-decoration:none;}
.pf-hero-scroll:hover {color:#fff; opacity:.85;}
.pf-hero-scroll-text {font-size:var(--font-size-16); font-weight:700; line-height:24px; letter-spacing:0; text-align:center;}
.pf-hero-scroll-icon {display:flex; width:24px; height:24px; animation:pf-hero-scroll-bounce 1.8s ease-in-out infinite;}
.pf-hero-scroll-icon svg {display:block; width:24px; height:24px;}
@keyframes pf-hero-scroll-bounce {
	0%, 100% {transform:translateY(0);}
	50% {transform:translateY(6px);}
}
@media (prefers-reduced-motion: reduce) {
	.pf-hero-headline-slogan {
		animation:none;
		background:none;
		-webkit-text-fill-color:#fff;
		color:#fff;
	}
	.pf-hero-scroll-icon {animation:none;}
}
.slick-dots {position:absolute; bottom:30px; left:50%; transform:translateX(-50%); display:flex; gap:10px; list-style:none;}
.slick-dots li {width:8px; height:8px;}
.slick-dots li button {width:8px; height:8px; padding:0; border-radius:50%; background:rgba(255,255,255,.4); border:none; font-size:0; text-indent:-999px; overflow:hidden; cursor:pointer;}
.slick-dots li.slick-active button {background:var(--color-point);}
.slick-arrow {display:none;}

/* ══════════════════════════════ 메인 — 인트로 ══════════════════════════════ */
.pf-intro {padding:var(--space-100) 0; background:var(--color-canvas);}
.pf-intro-grid {display:grid; grid-template-columns:max-content 1fr; gap:80px; align-items:center;}
.pf-intro-grid > div:first-child {width:max-content; max-width:100%; align-self:center;}
.pf-intro-headline {font-size:var(--type-h1-size); font-weight:700; color:var(--color-ink-deep); line-height:var(--type-h1-lh); letter-spacing:0; margin-bottom:32px;}
.pf-intro-headline em {font-style:normal; color:var(--color-point);}
.pf-intro-body {font-size:var(--type-body-size); color:var(--color-body-text); line-height:var(--type-body-lh); margin-bottom:var(--space-18);}
.pf-intro-headline + .pf-intro-body {font-size:20px; line-height:28px; font-weight:600; margin-bottom:var(--space-12);}
.pf-intro-body:last-of-type {margin-bottom:32px;}
.pf-intro-cards {display:grid; grid-template-columns:repeat(4, 1fr); grid-template-rows:repeat(2, 1fr); gap:var(--space-16); align-self:center; align-items:stretch;}
.pf-intro-card {display:flex; flex-direction:column; justify-content:flex-start; align-items:center; height:100%; min-height:148px; padding:var(--space-32) var(--space-20); background:#fff; border:1px solid var(--color-hairline); border-radius:var(--radius-10); text-align:center; transition:border-color .2s, box-shadow .2s, transform .2s;}
.pf-intro-card:hover {border-color:var(--color-point); box-shadow:0 8px 24px rgba(43,43,43,.06); transform:translateY(-2px);}
.pf-intro-card-icon {display:flex; align-items:center; justify-content:center; width:32px; height:32px; margin-bottom:var(--space-20); color:var(--color-point); transition:color .2s;}
.pf-intro-card:hover .pf-intro-card-icon {color:var(--color-point);}
.pf-intro-card-icon svg {display:block; width:32px; height:32px; stroke:currentColor; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round;}
.pf-intro-card-icon i {display:flex; align-items:center; justify-content:center; width:32px; height:32px;}
.pf-intro-card-label {display:inline-block; font-size:14px; line-height:22px; font-weight:600; letter-spacing:0; color:#808080; background:#f8f8f8; border-radius:50px; padding:2px 10px; margin-bottom:14px; white-space:nowrap; transition:background .2s, color .2s;}
.pf-intro-card:hover .pf-intro-card-label {background:var(--color-primary); color:#fff;}
.pf-intro-card strong {display:flex; flex-direction:column; justify-content:center; align-items:center; min-height:44px; font-size:16px; line-height:22px; font-weight:500; color:var(--color-ink-deep); word-break:keep-all; text-align:center;}
.pf-intro-card--wide strong {color:var(--color-ink-deep);}
.pf-kpi-divider {width:40px; height:3px; background:var(--color-point); margin-bottom:var(--space-24);}
.pf-kpi-row {display:grid; grid-template-columns:1fr 1fr; gap:var(--space-24); margin-bottom:var(--space-24);}
.pf-kpi-row:last-child {margin-bottom:0;}
.pf-kpi-num {font-size:var(--font-size-36); font-weight:800; color:var(--color-ink-deep);}
.pf-kpi-num span {font-size:var(--font-size-18); color:var(--color-point);}
.pf-kpi-label {font-size:var(--type-caption-size); line-height:var(--type-caption-lh); color:var(--color-caption-text); margin-top:4px;}

/* ══════════════════════════════ 사업영역 — 솔루션탭 (Business Area 서브 · 공용) ══════════════════════════════ */
.pf-biz {padding:var(--space-100) 0; background:var(--color-surface-soft);}
.pf-biz-grid {display:grid; grid-template-columns:repeat(3, 1fr); grid-template-rows:repeat(2, 220px) 146px; gap:var(--space-20);}
.pf-biz-card {position:relative; background:var(--color-main); color:#fff; padding:var(--space-28); display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; text-decoration:none; border-radius:var(--radius-10); transition:border-color .2s, box-shadow .2s;}
.pf-biz-card.big {grid-column:span 2; grid-row:span 2;}
.pf-biz-card .bg {position:absolute; inset:0; background-size:cover; background-position:center; opacity:.55; transition:opacity .3s, transform .3s;}
.pf-biz-card:hover {box-shadow:0 8px 24px rgba(43,43,43,.12);}
.pf-biz-card:hover .bg {opacity:.75; transform:scale(1.04);}
.pf-biz-card:before {content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(43,43,43,.15) 0%, rgba(43,43,43,.9) 100%); border-radius:inherit;}
.pf-biz-card .num {position:relative; font-size:16px; font-weight:700; color:var(--color-point-light); margin-bottom:var(--space-10);}
.pf-biz-card .tit {position:relative; font-size:23px; font-weight:700; line-height:1.35; color:#fff;}
.pf-biz-card.big .tit {font-size:32px; line-height:var(--type-h3-lh);}
.pf-sol {display:grid; grid-template-columns:220px 1fr; gap:0 var(--space-56); align-items:start;}
.pf-biz-area .pf-sol {display:block; margin-top:var(--space-40);}
.pf-biz-area .pf-sol-panels .pf-sol-panel {display:none;}
.pf-biz-area .pf-sol-panels .pf-sol-panel.is-active {display:grid;}
.pf-sol-tabs {display:flex; flex-direction:column; border-top:1px solid var(--color-hairline);}
.pf-sol-tabs li {border-bottom:1px solid var(--color-hairline);}
.pf-sol-tabs li a {display:block; padding:var(--space-14) 0 var(--space-14) var(--space-20); font-size:var(--type-body-sm-size); line-height:var(--type-body-sm-lh); font-weight:500; color:var(--color-steel); position:relative; text-decoration:none;}
.pf-sol-tabs li a:before {content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:14px; height:2px; background:transparent;}
.pf-sol-tabs li.active a {color:var(--color-point); font-weight:700;}
.pf-sol-tabs li.active a:before {background:var(--color-point);}
.pf-sol-panel {display:grid; grid-template-columns:1fr 440px; gap:0 var(--space-56); align-items:center; min-height:280px;}
.pf-sol-text h3 {font-size:var(--type-h3-size); font-weight:600; color:var(--color-ink-deep); margin-bottom:var(--sec-title-desc-gap); line-height:var(--type-h3-lh);}
.pf-sol-text p {font-size:var(--type-body-size); color:var(--color-body-text); line-height:var(--type-body-lh); margin-bottom:var(--space-20); max-width:440px;}
.pf-sol-text ul {margin-bottom:var(--space-24);}
.pf-sol-text ul li {font-size:var(--type-body-sm-size); line-height:var(--type-body-sm-lh); color:var(--color-body-text); padding:5px 0; display:flex; gap:8px; align-items:flex-start;}
.pf-sol-text ul li:before {content:""; flex-shrink:0; width:16px; height:16px; margin-top:2px; background:url(../images/icon-check-bullet.svg) center / contain no-repeat;}
.pf-sol-image {height:340px; border-radius:var(--radius-10); background-size:cover; background-position:center; position:relative; overflow:hidden;}
.pf-sol-image:after {content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(43,43,43,0) 55%, rgba(43,43,43,.5) 100%);}

.pf-biz-summary {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-16); margin-top:var(--space-60);}
.pf-biz-area .pf-biz-summary {margin-top:0;}
.pf-biz-summary-item {padding:var(--space-24); background:#fff; border:1px solid var(--color-hairline); border-radius:var(--radius-10); text-align:center; cursor:pointer; transition:border-color .2s, box-shadow .2s, background .2s;}
button.pf-biz-summary-item {display:block; width:100%; font:inherit; color:inherit;}
.pf-biz-summary-item strong {display:block; font-size:var(--type-body-size); font-weight:600; color:var(--color-ink-deep); margin-bottom:6px;}
.pf-biz-summary-item span {display:block; font-size:var(--type-body-sm-size); line-height:var(--type-body-sm-lh); color:var(--color-caption-text);}
.pf-biz-summary-item:hover {border-color:var(--color-point); box-shadow:0 4px 16px rgba(43,43,43,.06);}
.pf-biz-summary-item.is-active {border-color:var(--color-point); background:var(--color-surface-soft); box-shadow:0 4px 20px rgba(172,19,26,.1);}
.pf-biz-summary-item.is-active strong {color:var(--color-point);}

/* Business Area 서브 — 넘버드 지그재그 */
/* scroll-margin-top: 메인 사업영역 카드에서 /business#biz01~06 으로 들어올 때
   고정 헤더(#header position:fixed)가 섹션 상단을 덮지 않도록 그만큼 띄운다. */
.pf-zz-row {padding:var(--space-80) 0; scroll-margin-top:var(--header-height);}
.pf-zz-row:first-child {padding-top:0;}
.pf-zz-row .contain {display:grid; grid-template-columns:1fr 1fr; gap:var(--space-80); align-items:center;}
.real-cont:has(> .pf-zigzag:last-child) {padding-bottom:0;}
.pf-zz-row:last-child {padding-bottom:120px;}
.pf-zz-row:nth-child(even) {background:#f8f8f8;}
.pf-zz-row:nth-child(even) .pf-zz-text {order:2;}
.pf-zz-num {font-size:var(--type-body-sm-size); line-height:var(--type-body-sm-lh); font-weight:700; color:var(--color-point); margin-bottom:var(--space-16);}
.pf-zz-text h3 {font-size:28px; font-weight:600; color:var(--color-ink-deep); margin-bottom:var(--sec-title-desc-gap); line-height:38px;}
.pf-zz-text p {font-size:var(--type-body-size); color:var(--color-body-text); line-height:var(--type-body-lh); margin-bottom:var(--space-20); max-width:100%;}
.pf-zz-text ul li {font-size:16px; line-height:28px; color:var(--color-body-text); padding:5px 0; display:flex; gap:8px; align-items:center;}
.pf-zz-text ul li:before {content:""; flex-shrink:0; width:16px; height:16px; background:url(../images/icon-check-bullet.svg) center / contain no-repeat;}
.pf-zz-img {position:relative; overflow:hidden; border-radius:500px; background:var(--color-surface-soft); height:0; padding-bottom:calc(75% - 80px);}
.pf-zz-img img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;}

@media (max-width:1024px) {
	.pf-biz-grid {grid-template-columns:repeat(2, 1fr); grid-template-rows:repeat(3, 200px);}
	.pf-biz-card.big {grid-column:span 2; grid-row:span 1;}
	.pf-sol {grid-template-columns:1fr;}
	.pf-sol-tabs {flex-direction:row; flex-wrap:wrap; border-top:0; border-bottom:1px solid var(--color-hairline); margin-bottom:var(--space-30);}
	.pf-sol-tabs li {border-bottom:0; flex:0 0 auto;}
	.pf-sol-tabs li a {padding:10px 16px;}
	.pf-sol-panel {grid-template-columns:1fr; gap:var(--space-24);}
	.pf-sol-image {height:220px;}
	.pf-biz-summary {grid-template-columns:repeat(2, 1fr);}
	.pf-zz-row .contain {grid-template-columns:1fr; gap:var(--space-32);}
	.pf-zz-row:first-child {padding-top:0;}
	.pf-zz-row:last-child {padding-bottom:120px;}
	.pf-zz-row:nth-child(even) .pf-zz-text {order:0;}
}
@media (max-width:640px) {
	.pf-biz-grid {grid-template-columns:1fr; grid-template-rows:none;}
	.pf-biz-card, .pf-biz-card.big {grid-column:auto; grid-row:auto; height:200px;}
	.pf-biz-summary {grid-template-columns:1fr;}
}

/* ══════════════════════════════ 메인 — 포트폴리오 프리뷰 (card-list 재사용) ══════════════════════════════ */
.pf-work {padding:var(--space-100) 0; background:var(--color-canvas);}
.pf-work .card-list {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:20px; margin-bottom:0;}
.pf-work .card-list .link-item {display:flex; flex-direction:column; min-width:0; height:100%;}
.pf-work .card-list .link-item .thumb {position:relative; padding-bottom:0; aspect-ratio:3/2; width:100%; flex-shrink:0; overflow:hidden; border-radius:var(--radius-10);}
.pf-work .card-list .link-item .thumb img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:.3s;}
.pf-work .card-list .link-item .info {display:flex; flex-direction:column; flex:1; padding:0; margin-top:var(--space-24);}
.pf-work .card-list .link-item .info .tit {font-size:var(--type-h4-size); line-height:var(--type-h4-lh); font-weight:600; letter-spacing:0; color:var(--color-ink-deep); height:calc(var(--type-h4-lh) * 2); overflow:hidden; text-overflow:ellipsis; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
.pf-work .card-list .link-item .info .date {margin-top:8px; font-size:var(--type-body-sm-size); line-height:var(--type-body-sm-lh); color:var(--color-body-text);}
.pf-work .card-list .link-item:hover .thumb img {transform:scale(1.05);}
@media (max-width:1024px) {.pf-work .card-list {grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px;}}
@media (max-width:640px) {.pf-work .card-list {grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px;}}
.card-list .link-item {border:none; border-radius:0; overflow:visible;}
.card-list .link-item .thumb {border-radius:var(--radius-10); overflow:hidden;}
.card-list .link-item .info {padding:0; margin-top:24px;}
.card-list .link-item .info .tit {font-size:var(--type-h4-size); line-height:var(--type-h4-lh); font-weight:600; letter-spacing:0; color:var(--color-ink-deep); height:var(--type-h4-lh); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:block;}
.card-list .link-item .info .txt {margin-top:8px; font-size:var(--type-body-size); line-height:var(--type-body-sm-lh); color:var(--color-body-text); height:calc(var(--type-body-sm-lh) * 2); overflow:hidden; text-overflow:ellipsis; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
.card-list .link-item .info .date {margin-top:8px; font-size:var(--type-body-sm-size); line-height:var(--type-body-sm-lh); color:var(--color-body-text);}


/* ══════════════════════════════ CTA 밴드 (Figma 1218:597 기준) ══════════════════════════════ */
.pf-cta {position:relative; padding:var(--space-80) 0; text-align:center; overflow:hidden; min-height:413px; background:radial-gradient(ellipse 44% 82% at 0% 0%, color-mix(in srgb, var(--color-primary) 18%, transparent) 0%, transparent 72%), radial-gradient(ellipse 52% 96% at 100% 100%, color-mix(in srgb, var(--color-point-dark) 14%, transparent) 0%, transparent 68%), radial-gradient(ellipse 28% 48% at 94% 6%, color-mix(in srgb, var(--color-primary) 11%, transparent) 0%, transparent 58%), radial-gradient(ellipse 38% 62% at 12% 58%, color-mix(in srgb, var(--color-point-light) 8%, transparent) 0%, transparent 66%), radial-gradient(ellipse 58% 44% at 50% 100%, color-mix(in srgb, var(--color-primary) 9%, transparent) 0%, transparent 62%), linear-gradient(155deg, #2e2a2a 0%, color-mix(in srgb, var(--color-primary) 5%, #262626) 42%, #222020 68%, #212121 100%);}
.pf-cta::before {content:""; position:absolute; inset:0; background:radial-gradient(ellipse 62% 92% at 50% 42%, rgba(33,33,33,.38) 0%, transparent 74%), radial-gradient(ellipse 36% 58% at 78% 32%, color-mix(in srgb, var(--color-primary) 6%, transparent) 0%, transparent 70%), radial-gradient(ellipse 30% 50% at 22% 78%, color-mix(in srgb, var(--color-point-dark) 5%, transparent) 0%, transparent 64%); pointer-events:none; z-index:0;}
.pf-cta-deco {position:absolute; z-index:0; pointer-events:none; line-height:0; aspect-ratio:1; mix-blend-mode:soft-light; --pf-cta-x:0px; --pf-cta-y:0px; --pf-cta-r:0deg; will-change:transform;}
.pf-cta-deco svg {display:block; width:100%; height:100%;}
.pf-cta-deco--star-lg svg, .pf-cta-deco--star-sm svg {filter:saturate(.95) brightness(1.65);}
.pf-cta-deco--ellipse svg {filter:saturate(.65) brightness(.92);}
.pf-cta-deco--star-lg {left:calc(7.083% + 48px); top:calc(-16.22% + 24px); width:18.58%; transform:translate3d(var(--pf-cta-x), var(--pf-cta-y), 0) rotate(calc(-13.73deg + var(--pf-cta-r))); transform-origin:center center; opacity:.72;}
.pf-cta-deco--ellipse {left:66.15%; top:30.27%; width:26.98%; transform:translate3d(var(--pf-cta-x), var(--pf-cta-y), 0); opacity:.07; mix-blend-mode:screen;}
.pf-cta-deco--star-sm {left:89.17%; top:16px; width:5.63%; transform:translate3d(var(--pf-cta-x), var(--pf-cta-y), 0) rotate(calc(-64.81deg + var(--pf-cta-r))); transform-origin:center center; opacity:.68;}
@media (prefers-reduced-motion:reduce) {
	.pf-cta-deco {--pf-cta-x:0px; --pf-cta-y:0px; --pf-cta-r:0deg; will-change:auto;}
}
.pf-cta .contain {position:relative; z-index:1;}
.pf-cta .pf-eyebrow {color:rgba(255,255,255,.62);}
.pf-cta-title {font-size:var(--type-h2-size); font-weight:700; line-height:var(--type-h2-lh); color:#fff; margin-bottom:var(--sec-title-desc-gap);}
.pf-cta-sub {font-size:var(--type-body-size); color:rgba(255,255,255,.72); line-height:var(--type-body-lh); margin-bottom:var(--space-30);}
.pf-cta .btn-pack.pf-btn-point {width:160px; min-width:160px; height:56px; padding:0; line-height:54px; font-size:16px; border-radius:500px;}
@media (max-width:640px) {.pf-cta .btn-pack.pf-btn-point {width:160px; min-width:160px; height:56px; line-height:54px; font-size:16px; border-radius:500px;}}
@media (max-width:1024px) {
	.pf-cta {min-height:360px;}
	.pf-cta-deco--star-lg {opacity:.64;}
	.pf-cta-deco--ellipse {opacity:.055;}
	.pf-cta-deco--star-sm {opacity:.6;}
}
@media (max-width:640px) {
	.pf-cta {min-height:320px;}
	.pf-cta-deco--star-lg {left:calc(4% + 48px); top:calc(-18% + 24px); width:22.4%; opacity:.56;}
	.pf-cta-deco--ellipse {left:auto; right:-18%; top:auto; bottom:-22%; width:42%; opacity:.045;}
	.pf-cta-deco--star-sm {left:auto; right:6%; top:16px; width:9.8%; opacity:.42;}
}

/* ══════════════════════════════ 내부 탭 공통 (About) ══════════════════════════════ */
.pf-inner-tabs {display:flex; gap:4px; border-bottom:2px solid var(--color-hairline); margin-bottom:var(--space-60);}
.pf-inner-tabs li a {display:block; padding:var(--space-14) var(--space-24); font-size:var(--type-body-size); line-height:var(--type-body-lh); font-weight:600; color:var(--color-steel); text-decoration:none; border-bottom:2px solid transparent; margin-bottom:-2px;}
.pf-inner-tabs li a:hover {color:var(--color-ink-deep);}
.pf-inner-tabs li.active a {color:var(--color-point); border-bottom-color:var(--color-point);}

/* ══════════════════════════════ About — 회사소개 ══════════════════════════════ */
.pf-about-box {border:2px solid var(--color-ink-deep); padding:var(--space-40); margin-bottom:var(--space-60); text-align:center;}
.pf-about-box-label {font-size:var(--type-caption-size); line-height:var(--type-caption-lh); font-weight:600; letter-spacing:0; color:var(--color-point); text-transform:uppercase; margin-bottom:var(--sec-eyebrow-title-gap);}
.pf-about-box h2 {font-size:var(--type-h2-size); line-height:var(--type-h2-lh); font-weight:700; color:var(--color-ink-deep);}

.pf-ceo-block {margin-bottom:var(--space-80); padding-left:40px; border-left:4px solid var(--color-point);}
.pf-ceo-row {display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;}
.pf-ceo-text h3 {font-size:28px; font-weight:600; color:var(--color-ink-deep); margin-bottom:28px; line-height:38px;}
.pf-ceo-text p {font-size:var(--type-body-size); color:var(--color-body-text); line-height:var(--type-body-lh); margin-bottom:var(--space-14);}
.pf-ceo-sign {margin-top:var(--space-28);}
.pf-ceo-sign .name {font-size:var(--type-h4-size); line-height:var(--type-h4-lh); font-weight:700; color:var(--color-ink-deep);}
.pf-ceo-sign .pos {font-size:16px; line-height:24px; color:var(--color-caption-text); margin-top:6px;}

.pf-ceo-block--banner {padding-left:0; border-left:0; margin-bottom:var(--space-80);}
.pf-ceo-banner {display:grid; grid-template-columns:minmax(320px, 440px) 1fr; align-items:stretch; background:#f8f8f8; border-radius:500px; overflow:hidden;}
.pf-ceo-banner__photo {position:relative; align-self:stretch; min-height:0; line-height:0;}
.pf-ceo-banner__photo img {position:absolute; left:112px; bottom:0; display:block; width:auto; height:calc(100% - 24px); max-width:calc(100% - 112px); object-fit:contain; object-position:left bottom; transform:scale(1.06); transform-origin:left bottom;}
.pf-ceo-banner .pf-ceo-text {padding:64px 106px 64px 64px;}
.pf-ceo-banner .pf-ceo-text h3 {font-weight:700; margin-bottom:32px;}
.pf-ceo-banner .pf-ceo-text p {margin-bottom:16px;}
.pf-ceo-banner .pf-ceo-sign {margin-top:36px;}

.pf-about-band {margin-top:var(--space-100); margin-bottom:120px; padding:var(--space-100) 0; background:#f8f8f8;}
.real-cont:has(> .pf-about-band:last-child) {padding-bottom:0;}
.pf-about-band .pf-core-values {width:100vw; margin-left:calc(50% - 50vw); margin-bottom:0; padding:var(--space-100) calc(50vw - 50%) 0; background:#fff; box-sizing:border-box;}

.pf-mvv-head {margin-bottom:var(--space-40); text-align:center;}
.pf-mvv-sec-title {font-size:var(--type-h3-size); line-height:var(--type-h3-lh); font-weight:700; color:var(--color-ink-deep); margin-top:0;}
.pf-mvv-grid {display:grid; grid-template-columns:1fr 1fr; gap:var(--space-24);}
.pf-mvv-card {position:relative; padding:var(--space-36) var(--space-40); border:1px solid #ddd; border-top:none; border-radius:0 0 24px 24px; background:#fff; display:flex; flex-direction:column;}
.pf-mvv-card:before {content:""; position:absolute; top:0; left:0; right:0; height:3px; border-radius:0; background:var(--color-point);}
.pf-mvv-card-vision:before {background:var(--color-ink-deep);}
.pf-mvv-badge {display:inline-block; font-size:var(--type-body-sm-size); line-height:22px; font-weight:600; letter-spacing:0; text-transform:uppercase; color:var(--color-point); margin-bottom:var(--space-8);}
.pf-mvv-card-vision .pf-mvv-badge {color:var(--color-ink-deep);}
.pf-mvv-lead {font-size:24px; font-weight:600; color:var(--color-ink-deep); line-height:32px; margin-bottom:16px;}
.pf-mvv-desc-row {display:flex; align-items:flex-end; gap:30px;}
.pf-mvv-desc {flex:1; min-width:0; font-size:var(--type-body-size); color:var(--color-body-text); line-height:var(--type-body-lh); margin-bottom:0;}
.pf-mvv-desc-icon {flex-shrink:0; display:flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:8px; color:var(--color-point);}
.pf-mvv-card-mission .pf-mvv-desc-icon {background:color-mix(in srgb, var(--color-primary) 3%, transparent);}
.pf-mvv-card-vision .pf-mvv-desc-icon {background:color-mix(in srgb, var(--color-ink-deep) 5%, transparent); color:var(--color-ink-deep);}
.pf-mvv-desc-icon svg {display:block; width:32px; height:32px; stroke-width:1.75;}

.pf-core-values {margin-bottom:0;}
.pf-core-grid {display:flex; align-items:center; justify-content:center;}
.pf-core-item {flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; gap:32px; padding:0 28px; text-align:center; background:transparent; border:none; border-radius:16px; overflow:visible;}
.pf-core-divider {flex-shrink:0; align-self:center; width:0; height:232px; border-left:1px dashed #ddd;}
.pf-core-shape-wrap {width:160px; height:160px; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.pf-core-icon-circle {width:160px; height:160px; border-radius:50%; background:#fff; border:3px solid var(--color-point); box-sizing:border-box; display:flex; align-items:center; justify-content:center;}
.pf-core-icon-circle img {display:block; flex-shrink:0; max-width:none;}
.pf-core-item-creativity .pf-core-icon-circle {border-color:var(--color-ink-deep);}
.pf-core-item-professional .pf-core-icon-circle {border-color:var(--color-ink-deep);}
.pf-core-txt {display:flex; flex-direction:column; gap:10px; width:100%;}
.pf-core-item h4 {font-size:22px; line-height:30px; font-weight:600; color:var(--color-ink-deep); margin-bottom:0;}
.pf-core-item p {font-size:18px; color:var(--color-body-text); line-height:26px; margin:0;}

.pf-info-table {width:100%; border-collapse:collapse; margin-bottom:0; table-layout:fixed; border-top:1px solid var(--color-hairline);}
.pf-info-table th,
.pf-info-table td {padding:var(--space-16) var(--space-20); border-bottom:1px solid var(--color-hairline); text-align:left; font-size:var(--type-body-size); line-height:var(--type-body-lh); vertical-align:middle;}
.pf-info-table th {width:120px; color:var(--color-steel); font-weight:600; background:#fafafa;}
.pf-info-table td {color:var(--color-ink-deep); font-weight:500;}

.pf-value-row {display:grid; grid-template-columns:200px 1fr; gap:var(--space-40); padding:var(--space-26) 0; border-top:1px solid var(--color-hairline); align-items:start;}
.pf-value-row:last-child {border-bottom:1px solid var(--color-hairline);}
.pf-value-title {font-size:var(--type-body-lg-size); line-height:var(--type-body-lg-lh); font-weight:500; color:var(--color-point);}
.pf-value-desc {font-size:var(--type-body-size); color:var(--color-body-text); line-height:var(--type-body-lh);}

@media (max-width:640px) {
	.pf-info-table colgroup {display:none;}
    .pf-info-table tr {display:grid; grid-template-columns: 100px auto;}
	.pf-info-table th {width:auto;}
    .pf-core-grid {gap:30px;}
}

/* ══════════════════════════════ About — 연혁 타임라인 ══════════════════════════════ */
.pf-timeline {position:relative; padding-bottom:var(--space-30); isolation:isolate; --tl-dot-center:17px;}
.pf-tl-line {display:none;}
.pf-tl-item {position:relative; z-index:1; display:grid; grid-template-columns:1fr 56px 1fr; gap:0; margin-bottom:var(--space-40); align-items:start;}
.pf-tl-item:not(:last-child)::before {content:""; position:absolute; left:50%; top:var(--tl-dot-center); width:1px; height:calc(100% + var(--space-40)); background:var(--color-hairline); transform:translateX(-50%); z-index:0;}
.pf-tl-dot {position:relative; z-index:2; width:14px; height:14px; border-radius:50%; background:var(--color-point); border:4px solid var(--color-canvas); box-shadow:0 0 0 1px var(--color-point); justify-self:center; margin-top:6px;}
.pf-tl-left {padding-right:var(--space-28); text-align:right;}
.pf-tl-right {padding-left:var(--space-28);}
.pf-tl-year {font-size:28px; line-height:38px; font-weight:700; color:var(--color-point); margin-bottom:var(--space-10);}
.pf-tl-list li {display:flex; align-items:baseline; gap:12px; font-size:16px; line-height:var(--type-body-lh); color:var(--color-body-text); padding:4px 0; position:relative;}
.pf-tl-left .pf-tl-list li {flex-direction:row; justify-content:flex-end; text-align:right;}
.pf-tl-right .pf-tl-list li {flex-direction:row; justify-content:flex-start; text-align:left;}
.pf-tl-month {flex-shrink:0; min-width:2em; font-weight:700; color:var(--color-ink-deep); text-align:center;}
.pf-tl-txt {flex:1; min-width:0;}
.pf-tl-item:nth-child(odd) .pf-tl-list li {padding-right:14px;}
.pf-tl-item:nth-child(even) .pf-tl-list li {padding-left:14px;}

@media (max-width:767px) {
	.pf-tl-item {grid-template-columns:1fr; gap:8px;}
	.pf-tl-item::before {display:none;}
	.pf-tl-dot {display:none;}
	.pf-tl-left,
	.pf-tl-right {text-align:left; padding:0;}
	.pf-tl-left .pf-tl-list li,
	.pf-tl-right .pf-tl-list li {justify-content:flex-start; text-align:left;}
}

/* ══════════════════════════════ About — 등록증 / 수상 ══════════════════════════════ */
.pf-cert-list {display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); column-gap:30px; row-gap:60px; width:100%;}
.pf-cert-item {display:flex; flex-direction:column; align-items:center; gap:20px;}
.pf-cert-item__thumb {position:relative; width:100%; aspect-ratio:256 / 357; background:#fff; border:1px solid var(--color-hairline); box-sizing:border-box; overflow:hidden;}
.pf-cert-item__photo {display:block; width:100%; height:100%; object-fit:cover; object-position:top center;}
.pf-cert-item__photo--placeholder {object-fit:contain; padding:24px; background:var(--color-surface-soft);}
.pf-cert-item__thumb--stack {display:flex; flex-direction:column;}
.pf-cert-item__thumb--stack .pf-cert-item__photo {flex:1; min-height:0; height:auto; object-fit:contain; object-position:center; background:var(--color-surface-soft); border-bottom:1px solid var(--color-hairline);}
.pf-cert-item__thumb--stack .pf-cert-item__photo:last-child {border-bottom:0;}
.pf-cert-item__caption {display:flex; flex-direction:column; align-items:center; gap:8px; width:100%;}
.pf-cert-item__chip {display:inline-block; font-size:14px; line-height:22px; font-weight:600; letter-spacing:0; color:#808080; background:#f8f8f8; border-radius:50px; padding:2px 10px; white-space:nowrap;}
.pf-cert-item__name {margin:0; width:100%; text-align:center; font-size:var(--type-body-size); font-weight:500; line-height:var(--type-body-lh); color:var(--color-body-text);}
@media (max-width:1199px) {
	.pf-cert-list {grid-template-columns:repeat(4, minmax(0, 1fr));}
}
@media (max-width:991px) {
	.pf-cert-list {grid-template-columns:repeat(3, minmax(0, 1fr));}
}
@media (max-width:767px) {
	.pf-cert-list {grid-template-columns:repeat(2, minmax(0, 1fr)); gap:30px 16px;}
    .pf-intro-headline {font-size:28px;}
}

/* ══════════════════════════════ Contact - 행사 의뢰 (Figma 1017:712) ══════════════════════════════ */
.pf-inquiry {width:100%;}
.pf-inquiry-form {display:flex; flex-direction:column; align-items:center; gap:60px;}
.pf-inquiry-table {width:100%; border-top:2px solid #868686;}
.pf-inquiry-row {display:flex; align-items:center; gap:16px; width:100%; border-bottom:1px solid #ddd; padding-right:16px; box-sizing:border-box;}
.pf-inquiry-th {flex-shrink:0; width:220px; min-height:80px; display:flex; align-items:center; justify-content:center; background:#fff; border-right:1px solid #ddd; box-sizing:border-box;}
.pf-inquiry-th span {font-size:18px; line-height:24px; font-weight:600; color:var(--color-ink-deep); text-align:center;}
.pf-inquiry-td {flex:1 1 0; min-width:0; padding:16px 0;}
.pf-inquiry-td .input {width:100%; height:48px; padding:0 15px; border:1px solid #ddd; border-radius:6px; font-size:16px; line-height:24px; font-weight:500; color:var(--color-ink-deep); box-sizing:border-box;}
.pf-inquiry-td .input::placeholder {color:#bebebe; font-weight:500;}
.pf-inquiry-td textarea.input {height:348px; padding:15px; resize:vertical;}
.pf-inquiry-row--textarea {align-items:stretch;}
.pf-inquiry-row--textarea .pf-inquiry-th {min-height:380px;}
.pf-inquiry-td--file {display:flex; align-items:center; gap:16px;}
.pf-inquiry-td--file .pf-inquiry-file-name {flex:1 1 0; min-width:0;}
.pf-inquiry-file-input {position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.pf-inquiry-file-btn {flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; width:100px; height:48px; padding:12px 16px; border:none; border-radius:6px; background:#454545; color:#fff; font-size:14px; line-height:22px; font-weight:600; cursor:pointer; box-sizing:border-box;}
.pf-inquiry-td--captcha {display:flex; align-items:center; gap:16px;}
.pf-inquiry-captcha {flex-shrink:0; display:block; width:120px; height:48px; border-radius:6px; object-fit:cover;}
.pf-inquiry-td--captcha .input {flex:1 1 0; min-width:0;}
.pf-inquiry-privacy {width:100%; display:flex; flex-direction:column; align-items:center; gap:20px;}
.pf-inquiry-privacy-tit {width:100%; font-size:16px; line-height:24px; font-weight:500; color:var(--color-body-text); margin:0;}
.pf-inquiry-privacy-box {width:100%; padding:16px; border:1px solid #ddd; border-radius:8px; background:#fff; box-sizing:border-box;}
.pf-inquiry-privacy-box p {margin:0; font-size:14px; line-height:22px; color:var(--color-body-text); white-space:pre-wrap;}
.pf-inquiry-agree {display:flex; align-items:center; justify-content:center; gap:7px; flex-wrap:wrap;}
.pf-inquiry-checkbox {margin:0;}
.pf-inquiry-checkbox label {font-size:16px; line-height:24px; font-weight:400; color:var(--color-body-text);}
.pf-inquiry-checkbox input:checked + label:before {background:#fff url("../images/inquiry-checkbox-on.svg") 50% 50% / 20px 20px no-repeat; border-color:#ddd;}
.pf-inquiry-agree-more {display:inline-flex; align-items:center; justify-content:center; padding:2px 8px; border:1px solid #ddd; background:#fff; font-size:12px; line-height:20px; font-weight:500; color:var(--color-body-text); cursor:pointer;}
.pf-inquiry-submit-wrap {display:flex; justify-content:center; width:100%; margin-top:12px;}
.pf-inquiry-submit {display:inline-flex; align-items:center; justify-content:center; width:260px; height:60px; padding:10px; border:none; border-radius:500px; background:var(--color-point); color:#fff; font-size:16px; font-weight:700; letter-spacing:-0.03em; cursor:pointer; transition:background .2s;}
.pf-inquiry-submit:hover {background:var(--color-point-dark);}

@media (max-width:767px) {
	.pf-inquiry-row {flex-direction:column; align-items:stretch; gap:0; padding-right:0;}
	.pf-inquiry-th {width:100%; min-height:0; padding:14px 16px; border-right:none; border-bottom:1px solid #ddd; justify-content:flex-start;}
	.pf-inquiry-row--textarea .pf-inquiry-th {min-height:0;}
	.pf-inquiry-td {padding:12px 16px 16px;}
	.pf-inquiry-td--file {flex-direction:column; align-items:stretch;}
	.pf-inquiry-td--captcha {flex-direction:column; align-items:stretch;}
}

.pf-contact-grid {display:grid; grid-template-columns:1fr 1fr; gap:var(--space-56);}
.pf-form-tit {font-size:var(--type-h4-size); line-height:var(--type-h4-lh); font-weight:600; color:var(--color-ink-deep); margin-bottom:var(--space-26); padding-bottom:var(--space-14); border-bottom:2px solid var(--color-point);}
.pf-fg {margin-bottom:var(--space-18);}
.pf-fg label {display:block; font-size:var(--type-body-sm-size); line-height:var(--type-body-sm-lh); font-weight:600; color:var(--color-ink); margin-bottom:7px;}
.pf-fg .req {color:var(--color-point);}
.pf-fg .input {width:100%;}
.pf-fg textarea.input {height:130px;}
.pf-agree {display:flex; align-items:center; margin:var(--space-18) 0;}
.pf-agree label {margin-left:2px; font-size:var(--type-body-sm-size); line-height:var(--type-body-sm-lh); color:var(--color-caption-text);}
.pf-submit {width:100%;}
.pf-info-items {display:flex; flex-direction:column; gap:var(--space-18); margin-bottom:var(--space-28);}
.pf-info-item {display:flex; gap:var(--space-14); align-items:flex-start;}
.pf-info-icon {width:42px; height:42px; flex-shrink:0; background:var(--color-surface-soft); border-radius:var(--radius-10); display:flex; align-items:center; justify-content:center;}
.pf-info-icon svg {width:18px; height:18px; stroke:var(--color-point); fill:none;}
.pf-info-item .il {font-size:var(--type-caption-size); line-height:var(--type-caption-lh); color:var(--color-caption-text); margin-bottom:2px;}
.pf-info-item .iv {font-size:var(--type-body-size); line-height:var(--type-body-lh); font-weight:700; color:var(--color-ink-deep);}
.pf-map-ph {background:var(--color-surface-soft); border-radius:var(--radius-10); height:200px; display:flex; align-items:center; justify-content:center; text-align:center; padding:0 20px; font-size:var(--type-body-sm-size); line-height:var(--type-body-sm-lh); color:var(--color-caption-text);}

@media (max-width:1024px) {
	.pf-contact-grid {grid-template-columns:1fr;}
}

/* ══════════════════════════════ Contact - 오시는 길 ══════════════════════════════ */
.pf-map {width:100%; border-radius:var(--radius-16); overflow:hidden; margin-bottom:var(--space-48);}
.pf-map img {display:block; width:100%; height:100%; object-fit:cover;}
.pf-map .root_daum_roughmap {width:100% !important;}
.pf-map .root_daum_roughmap .wrap_map {height:clamp(250px, calc(400 / 1024 * 100vw), 400px) !important;}
.pf-map .root_daum_roughmap .cont {display:none !important;}
.pf-info-grid {display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; margin-bottom:var(--space-48);}
.pf-info-card {display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start; min-height:148px; padding:24px; background:#fff; border:1px solid var(--color-hairline); border-radius:var(--radius-10); text-align:left; transition:border-color .2s, box-shadow .2s, transform .2s;}
.pf-info-card:hover {border-color:var(--color-point); box-shadow:0 8px 24px rgba(43,43,43,.06); transform:translateY(-2px);}
.pf-info-card .il {display:block; font-size:16px; line-height:22px; font-weight:600; letter-spacing:0; color:var(--color-point); margin-bottom:8px; white-space:nowrap; text-align:left;}
.pf-info-card .iv {display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start; min-height:44px; font-size:18px; line-height:30px; font-weight:500; color:var(--color-ink-deep); word-break:keep-all; text-align:left;}
.pf-dl-float {position:fixed; right:28px; bottom:28px; z-index:101; display:inline-flex; align-items:center; gap:8px; height:60px; padding:0 30px 0 24px; background:var(--color-point); color:#fff !important; border-radius:100px; font-size:16px; line-height:24px; font-weight:600; text-decoration:none; box-shadow:0 8px 24px rgba(43,43,43,.22); transition:background .2s, transform .2s, box-shadow .2s;}
.pf-dl-float:hover {background:var(--color-point-dark); color:#fff !important; transform:translateY(-2px); box-shadow:0 12px 28px rgba(43,43,43,.28);}
.pf-dl-float svg {flex-shrink:0; stroke:#fff;}
.pf-dl-float__text {color:#fff;}

/* ══════════════════════════════ Portfolio - 포트폴리오 상세 ══════════════════════════════ */
.pf-portfolio-view {--pf-slider-side:80px; border-top:2px solid #868686; }
.pf-portfolio-view-head {padding:var(--space-32) 0 var(--space-24); border-bottom:1px solid var(--color-hairline); }
.pf-portfolio-view-title {font-size:var(--type-h2-size); font-weight:700; line-height:1.3em; letter-spacing:0; color:#242424;}
.pf-portfolio-view-meta dt {font-size:var(--type-body-sm-size); font-weight:600; line-height:1.5em;  color:#999;}
.pf-portfolio-view-meta dd {font-size:var(--type-body-size); font-weight:500; line-height:1.5em;  color:#242424;}
.pf-portfolio-slider__btn {border:none; border-radius:50%; transition:background .2s, color .2s, box-shadow .2s;}
.pf-portfolio-slider__pager {font-size:var(--type-body-sm-size); font-weight:600;}
.pf-portfolio-view-body p,
.pf-portfolio-view-notice {font-size:var(--type-body-size); line-height:var(--type-body-lh);}
.pf-portfolio-view-meta {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--space-20) var(--space-32); margin:var(--space-24) 0 0; }
.pf-portfolio-view-meta__row {display:flex; flex-direction:column; gap:6px; min-width:0; }
.pf-portfolio-slider {display:flex; align-items:center; gap:20px; width:100%; max-width:1392px; margin:var(--space-40) 0 var(--space-32); }
.pf-portfolio-slider__viewport {position:relative; flex:1 1 auto; min-width:0; overflow:hidden; border-radius:var(--radius-24); }
.pf-portfolio-slider__track img {display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover;}
.pf-portfolio-slider__btn {position:relative; flex:0 0 60px; display:inline-flex; align-items:center; justify-content:center; width:60px; height:60px; margin:0; padding:0; cursor:pointer; border-radius:100%; border:0; background:rgba(255, 255, 255, .92); color:var(--color-ink-deep); box-shadow:0 4px 16px rgba(43, 43, 43, .12); }
.pf-portfolio-slider__btn:hover {color:var(--color-primary);}
.pf-portfolio-slider__btn--prev svg {transform:rotate(180deg); }
.pf-portfolio-slider__btn svg {display:block; width:24px; height:24px; }
.pf-portfolio-slider__pager {position:absolute; right:16px; bottom:16px; z-index:2; display:inline-flex; align-items:center; gap:4px; margin:0; padding:6px 12px; line-height:1; border-radius:100px; background:rgba(43, 43, 43, .55);
color:#fff;}
.pf-portfolio-view-body {width:calc(100% - var(--pf-slider-side) * 2); max-width:1232px; margin-left:auto; margin-right:auto; padding:0 0 var(--space-40); line-height:var(--type-body-lh); }
.pf-portfolio-view-notice {display:flex; align-items:flex-start; gap:0.35em; margin:0; color:#999;}
.pf-portfolio-view-notice__mark {flex-shrink:0; line-height:var(--type-body-lh); }
.pf-portfolio-view-notice__text {flex:1; min-width:0; }
.pf-portfolio-view-foot {display:flex; justify-content:center; padding:72px 0 0; border-top:1px solid var(--color-hairline); }

@media (max-width:1024px) {
	.pf-info-grid {grid-template-columns:repeat(2, 1fr);}
    .pf-dl-float {display:none;}
}
@media (max-width:640px) {
	.pf-info-grid {grid-template-columns:1fr;}
	.pf-dl-float {right:16px; bottom:16px; height:60px; padding:0 30px 0 24px;}
}

/* ══════════════════════════════ 반응형 — 메인 공통 ══════════════════════════════ */
@media (max-width:1024px) {
	.pf-intro-grid {grid-template-columns:1fr; gap:var(--space-40);}
	.pf-intro-grid > div:first-child {width:auto; max-width:none;}
	.pf-intro-grid {align-items:stretch;}
	.pf-intro-cards {grid-template-columns:repeat(2, 1fr); grid-template-rows:auto; gap:var(--space-16);}
	.pf-intro-card {min-height:0;}
	.pf-mvv-grid {grid-template-columns:1fr;}
	.pf-core-grid {flex-direction:column; max-width:420px; margin:0 auto;}
	.pf-core-divider {display:none;}
	.pf-ceo-row {grid-template-columns:1fr; gap:var(--space-24);}
	.pf-ceo-banner {grid-template-columns:1fr; border-radius:48px;}
	.pf-ceo-banner__photo {padding-left:24px;}
	.pf-ceo-banner__photo img {left:24px; max-width:calc(100% - 24px);}
	.pf-ceo-banner .pf-ceo-text {padding:32px 24px 40px;}
}
@media (max-width:767px) {
	.pf-hero-headline {font-size:var(--font-size-40);}
	.pf-hero-headline-slogan {font-size:40px;}
	.pf-intro-cards {grid-template-columns:repeat(2, 1fr); gap:var(--space-10);}
	.pf-intro-card {padding:var(--space-16) var(--space-12); min-height:0;}
	.pf-value-row {grid-template-columns:1fr; gap:var(--space-10);}
	.pf-info-table th {width:120px;}

	.pf-portfolio-view-title {font-size:20px; letter-spacing:-.03em;}
    .pf-portfolio-view-meta {grid-template-columns:1fr;}
    .pf-portfolio-view-meta__row {gap:3px;}
    .pf-portfolio-slider {position:relative; display:block;}
    .pf-portfolio-slider__btn {position:absolute; top:50%; z-index:10; margin:0; width:32px; height:32px; -webkit-transform:translateY(-50%); transform:translateY(-50%); background: rgba(255, 255, 255, .5);}
    .pf-portfolio-slider__btn svg {width:16px; height:16px;}
    .pf-portfolio-slider__btn--prev {left:5px;}
    .pf-portfolio-slider__btn--next {right:5px;}
    .pf-portfolio-view-body {padding:0; width:auto;}
    .pf-portfolio-view-body p, .pf-portfolio-view-notice {font-size:12px;}
    .pf-portfolio-view-foot {margin:25px 0 0; padding:25px 0 0;}
    .pf-inquiry-submit {width:160px; height:50px;}
}

