@charset "UTF-8";
/* =========================================================
   STANDARD ALL — PARTNER / 파트너사
   (sub_common.css 의 변수 · 폰트 사용)
   ========================================================= */

/* 세리프 고정 */
.pt-count__num,.pt-count__num *,.pt-count__label em,
.pt-marquee__track,.pt-marquee__track *,
.pt-card__idx,.pt-cta__en,.pt-cta__en *{font-family:var(--sub-serif)!important}

.article.pt-sec{background-color:#fff;padding-top:clamp(120px,12vw,180px)}

/* =========================================================
   INTRO
   ========================================================= */
.pt-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;width:100%}
.pt-intro__desc{margin:26px 0 0;font-size:clamp(17px,1.35vw,20px);line-height:1.8;color:var(--sub-text);letter-spacing:-.025em}

.pt-count{display:flex;align-items:flex-end;gap:22px;flex-shrink:0}
.pt-count__num{display:flex;align-items:flex-start;margin:0;font-size:clamp(110px,12vw,200px);font-weight:500;line-height:.8;letter-spacing:-.04em;color:var(--main-color);font-variant-numeric:lining-nums tabular-nums}
.pt-count__num small{margin-left:4px;font-size:.38em;font-weight:400;line-height:1}
.pt-count__label{display:flex;flex-direction:column;gap:6px;margin:0 0 .4em;font-size:16px;font-weight:600;color:var(--sub-text);letter-spacing:-.02em}
.pt-count__label em{font-size:28px;font-weight:400;color:var(--sub-ink)}

/* =========================================================
   MARQUEE
   ========================================================= */
.pt-marquee{width:100%;margin:clamp(70px,8vw,120px) 0 clamp(60px,6vw,90px);overflow:hidden}
.pt-marquee__row{display:flex;white-space:nowrap}
.pt-marquee__row+.pt-marquee__row{margin-top:6px}
.pt-marquee__track{display:flex;align-items:center;flex-shrink:0;gap:clamp(22px,2.6vw,46px);padding-right:clamp(22px,2.6vw,46px);font-size:clamp(44px,6vw,104px);font-weight:500;line-height:1.12;letter-spacing:-.03em;color:var(--sub-ink)}
.pt-marquee__track i{font-style:normal;font-size:.3em;color:var(--main-color)}
.pt-marquee__row--rev .pt-marquee__track{font-style:italic;font-weight:400;color:transparent;-webkit-text-stroke:1px color-mix(in srgb, var(--main-color) 65%, transparent)}

/* =========================================================
   GRID — 1px 라인 사이로 스포트라이트가 비치는 구조
   ========================================================= */
.pt-grid{
  --mx:-999px;--my:-999px;
  position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;width:100%;margin:0;padding:1px;list-style:none;
  background:
    radial-gradient(320px circle at var(--mx) var(--my), var(--main-color), transparent 70%),
    var(--sub-line);
}
.pt-grid > li{align-self:stretch;min-width:0}
.pt-fill{background:#fff}
.pt-card{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:16/11;padding:14% 16%;background:#fff;overflow:hidden;isolation:isolate}

.pt-card__idx{position:absolute;left:18px;top:14px;font-size:14px;color:var(--sub-mute);transition:color .4s}
.pt-card:hover .pt-card__idx{color:var(--main-color)}

.pt-card__logo{display:flex;align-items:center;justify-content:center;width:100%;height:100%;will-change:transform}
.pt-card__logo img{max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(1);opacity:.62;transition:filter .5s var(--sub-ease),opacity .5s var(--sub-ease)}
.pt-card:hover .pt-card__logo img{filter:none;opacity:1}

/* 로고 있을 때 : 이름은 hover 시 하단에 슬라이드 */
.pt-card__name{position:absolute;left:18px;right:18px;bottom:14px;font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--sub-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:translateY(130%);opacity:0;transition:transform .5s var(--sub-ease),opacity .5s var(--sub-ease)}
.pt-card:hover .pt-card__name{transform:none;opacity:1}

/* 로고 이미지 없을 때 : 이름을 중앙에 텍스트로 표시 */
.pt-card__logo:not(:has(img)){display:none}
.pt-card:not(:has(img)) .pt-card__name{position:static;transform:none;opacity:1;font-size:clamp(15px,1.25vw,19px);font-weight:700;letter-spacing:-.02em;text-align:center;white-space:normal;color:var(--sub-text);transition:color .4s}
.pt-card:not(:has(img)):hover .pt-card__name{color:var(--main-color)}

/* CTA 셀 : 마지막 줄 빈칸을 채움 (5열 기준 2칸) */
.pt-cta{grid-column:span 2;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:clamp(28px,3vw,48px);background:var(--main-color);color:#fff;overflow:hidden;position:relative}
.pt-cta::after{content:"";position:absolute;right:-12%;bottom:-40%;width:60%;aspect-ratio:1;border-radius:50%;border:1px dashed rgba(255,255,255,.25);animation:ptSpin 30s linear infinite;pointer-events:none}
.pt-cta__en{margin:0;font-size:clamp(30px,2.6vw,44px);font-weight:500;line-height:1.1;letter-spacing:-.02em}
.pt-cta__en em{font-weight:400;color:color-mix(in srgb, var(--main-color) 25%, #fff)}
.pt-cta__ko{margin:0;font-size:16px;color:rgba(255,255,255,.78);letter-spacing:-.02em}
.pt-cta__btn{position:relative;z-index:1;display:inline-flex;align-items:center;gap:10px;align-self:flex-start;margin-top:8px;padding:14px 26px;border:1px solid rgba(255,255,255,.45);border-radius:999px;font-size:15px;font-weight:700;color:#fff;text-decoration:none;transition:background .4s var(--sub-ease),color .4s var(--sub-ease)}
.pt-cta__btn:hover{background:#fff;color:var(--main-color)}
@keyframes ptSpin{to{transform:rotate(360deg)}}
/* 카드와 같은 줄에 놓일 때 : 카드 높이에 맞춘 압축형 */
.pt-cta.is-compact{gap:8px;padding:clamp(20px,2vw,32px)}
.pt-cta.is-compact .pt-cta__en{font-size:clamp(24px,2vw,32px)}
.pt-cta.is-compact .pt-cta__ko{font-size:15px}
.pt-cta.is-compact .pt-cta__btn{margin-top:4px;padding:10px 20px;font-size:14px}

/* =========================================================
   RESPONSIVE (CTA span 으로 마지막 줄 빈칸 없음 : 28개 기준)
   ========================================================= */
@media (max-width:1280px){
  .pt-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pt-cta{grid-column:span 4;flex-direction:row;align-items:center;flex-wrap:wrap;column-gap:30px}
  .pt-cta__btn{margin:0 0 0 auto;align-self:center}
}
@media (max-width:1024px){
  .pt-intro{flex-direction:column;align-items:flex-start}
  .pt-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pt-cta{grid-column:span 2;flex-direction:column;align-items:flex-start}
  .pt-cta__btn{margin:8px 0 0}
}
@media (max-width:640px){
  .article.pt-sec{padding-top:90px}
  .pt-intro__desc br{display:none}
  .pt-count__num{font-size:96px}
  .pt-count__label em{font-size:22px}
  .pt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pt-card{padding:16% 14%}
  .pt-card__idx{left:12px;top:10px;font-size:12px}
  .pt-card__name{left:12px;right:12px;bottom:10px;font-size:12px}
  .pt-cta{grid-column:span 2}
}

/* 터치 기기 : hover 없음 → 로고 원색 */
@media (hover:none){
  .pt-card__logo img{filter:none;opacity:1}
}
@media (prefers-reduced-motion:reduce){
  .pt-cta::after{animation:none}
}
