/* =========================================================
   파트너 프로그램 — 전용 스타일 (styles.css 위에 덮어씀)
   ========================================================= */

/* hero 배경 오버라이드 */
.partner-photo{
  background-image:
    linear-gradient(to bottom, rgba(10,22,50,.72) 0%, rgba(10,22,50,.58) 100%),
    url('https://images.unsplash.com/photo-1521737604893-d14cc237f11d?auto=format&fit=crop&w=2400&q=80');
}
.hero.partner-photo-wrap{padding-top:clamp(90px,13vw,160px)}

/* 파트너 히어로 헤드라인은 한 줄로 (styles.css 의 max-width:16ch 제한 해제) */
.hero h1{max-width:none}

.p-eyebrow{
  display:inline-block;
  font-size:12px;font-weight:600;letter-spacing:.18em;
  color:rgba(159,192,255,.85);text-transform:uppercase;
  margin-bottom:16px;
}

.p-sub-desc{margin-top:12px;font-size:14.5px;color:var(--gray-500);line-height:1.7;word-break:keep-all}

/* lay 컬럼을 파트너 페이지에서 넓게 */
.section .lay{grid-template-columns:320px 1fr !important}

/* =========================================================
   수익 구조 (fee grid)
   ========================================================= */
.fee-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(20px,2.8vw,30px);
}
.fee-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:clamp(22px,3vw,32px) clamp(20px,2.5vw,28px);
  display:flex;flex-direction:column;gap:6px;
  transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;
}
.fee-card:hover{transform:translateY(-4px);border-color:#dbe2ee;box-shadow:0 13px 24px -15px rgba(15,31,61,.22)}
.fee-card--accent{border-color:var(--accent);background:#f0f4ff}
.fee-icon{
  width:44px;height:44px;
  display:grid;place-items:center;color:var(--accent);margin-bottom:8px;
}
.fee-icon svg{width:22px;height:22px}
.fee-pct{font-size:clamp(30px,4vw,42px);font-weight:700;color:var(--accent);letter-spacing:-0.04em;line-height:1}
.fee-card h4{font-size:17px;font-weight:700;color:var(--navy-800);margin-top:4px}
.fee-tier{font-size:12px;font-weight:600;color:var(--gray-700);letter-spacing:.06em;font-family:var(--mono)}
.fee-desc{font-size:14px;color:var(--gray-500);line-height:1.6;margin-top:4px}

.legal-notice{
  font-size:12.5px;color:var(--gray-400);line-height:1.7;
  margin-top:8px;
}

/* =========================================================
   진행 방법 (how)
   ========================================================= */
.how-steps{
  display:flex;align-items:stretch;gap:clamp(14px,2vw,20px);
}
.how-step{
  flex:1;padding:clamp(22px,3vw,32px) clamp(18px,2.5vw,26px);
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  display:flex;flex-direction:column;
}
.how-arr{
  flex-shrink:0;width:32px;display:flex;align-items:center;justify-content:center;
  color:var(--gray-400);
}
.how-num{
  font-size:32px;font-weight:700;color:var(--accent);letter-spacing:-0.04em;
  opacity:.25;line-height:1;margin-bottom:14px;
}
.how-step h4{font-size:17px;font-weight:700;color:var(--navy-800);margin-bottom:10px}
.how-step p{font-size:14.5px;color:var(--gray-500);line-height:1.7;word-break:keep-all}

/* =========================================================
   파트너 등급 (grade)
   ========================================================= */
.grade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.2vw,24px)}
.grade-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:clamp(20px,2.6vw,28px) clamp(16px,2vw,22px);
  display:flex;flex-direction:column;gap:10px;
  transition:transform .3s var(--ease),box-shadow .3s;
}
.grade-cond{white-space:nowrap;font-size:12px}
.grade-card:hover{transform:translateY(-4px);box-shadow:0 13px 24px -15px rgba(15,31,61,.18)}
.grade-card--top{border-color:var(--accent);background:#f0f4ff}
.grade-badge{
  display:inline-flex;align-items:center;justify-content:center;
  padding:7px 16px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.04em;
  width:fit-content;
}
.grade-badge.bronze{background:#f5ede6;color:#8b5e3c}
.grade-badge.silver{background:#f0f2f5;color:#6b7280}
.grade-badge.gold{background:#fdf4dc;color:#92620a}
.grade-badge.platinum{background:#e8eef8;color:var(--accent)}
.caps--blank{border-top:none}
.caps--blank .cap{visibility:hidden}
.grade-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.grade-list li{
  font-size:13px;color:var(--navy-800);padding-left:14px;position:relative;line-height:1.4;white-space:nowrap;
}
.grade-list li::before{
  content:"";position:absolute;left:0;top:8px;
  width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.5;
}

/* =========================================================
   FAQ (accordion)
   ========================================================= */
.faq-list{display:flex;flex-direction:column}
.faq{
  border-bottom:1px solid var(--line);
}
.faq:first-child{border-top:1px solid var(--line)}
.faq summary{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:clamp(18px,2.4vw,22px) 4px;
  font-size:16px;font-weight:600;color:var(--navy-800);cursor:pointer;
  list-style:none;transition:color .18s;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";flex-shrink:0;
  width:20px;height:20px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23aab' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;
  transition:transform .25s var(--ease);
}
.faq[open] summary::after{transform:rotate(180deg)}
.faq[open] summary{color:var(--accent)}
.faq p{
  padding:0 4px clamp(18px,2.4vw,22px);
  font-size:15px;color:var(--gray-500);line-height:1.75;word-break:keep-all;
}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:980px){
  .fee-grid{grid-template-columns:1fr 1fr}
  .how-steps{flex-direction:column;gap:12px}
  .how-arr{transform:rotate(90deg);padding-top:0;width:100%;height:32px}
  .grade-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .fee-grid{grid-template-columns:1fr}
  .grade-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  .grade-grid{grid-template-columns:1fr}
}
/* 모바일: 히어로 버튼은 PC와 같은 콘텐츠 폭 유지.
   전역 legacy-mobile.css 가 @media(≤880px) 에서 .hero-btn{width:100%} 로 풀폭 강제 →
   더 높은 특이도 + !important 로 되돌린다. */
@media (max-width:880px){
  .hero .hero-actions{align-items:flex-start !important;width:auto !important;flex-wrap:wrap}
  .hero .hero-actions .hero-btn{width:auto !important;min-width:0 !important;justify-content:center}
}
