/* SunoAuto 공용 푸터 */
.tf-footer{
  margin-top:60px;
  border-top:1px solid #edf0fa;
  padding:38px 0 32px;
  background:#fff;
  font-family:'DM Sans','Noto Sans KR',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif;
}
.tf-footer .tf-inner{
  width:min(1160px,calc(100% - 48px));margin:0 auto;
}
.tf-top{
  display:flex;justify-content:space-between;gap:40px;
  flex-wrap:wrap;margin-bottom:24px;
}
.tf-brand-block{max-width:420px}
.tf-brand{
  display:inline-flex;gap:11px;align-items:center;text-decoration:none;color:#171b38;
}
.tf-brand-mark{
  width:45px;height:42px;display:flex;align-items:center;justify-content:center;
  gap:3px;transform:rotate(-8deg);
}
.tf-brand-mark i{
  width:5px;border-radius:10px;
  background:linear-gradient(165deg,#d23edf 4%,#7540f2 55%,#329ffd);
  display:block;height:15px;
}
.tf-brand-mark i:nth-child(2){height:25px}
.tf-brand-mark i:nth-child(3){height:39px}
.tf-brand-mark i:nth-child(4){height:30px}
.tf-brand-mark i:nth-child(5){height:17px}
.tf-brand-word{font-weight:900;letter-spacing:-.07em;line-height:1.04;font-size:22px;color:#171b38}
.tf-brand-word small{display:block;font-size:10px;color:#5e6688;letter-spacing:.01em;font-weight:700;margin-top:5px}
.tf-slogan{margin:14px 0 0;font-size:12px;color:#8490a9;line-height:1.75}
.tf-cols{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;flex:1;max-width:640px;
}
.tf-col h4{
  font-size:12px;font-weight:900;color:#343d60;margin:0 0 12px;letter-spacing:.08em;
  text-transform:uppercase;
}
.tf-col ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tf-col a,.tf-col button{
  font:inherit;font-size:12px;color:#6c7591;background:none;border:0;
  padding:0;cursor:pointer;text-decoration:none;text-align:left;
}
.tf-col a:hover,.tf-col button:hover{color:#7855e7;text-decoration:underline}

.tf-biz{
  border-top:1px solid #edf0fa;padding-top:20px;margin-top:8px;
  display:grid;grid-template-columns:1fr 1fr;gap:8px 32px;
  font-size:11px;color:#8b93a8;line-height:1.9;
}
.tf-biz span b{color:#5d6682;font-weight:700;margin-right:6px}

.tf-bottom{
  border-top:1px solid #edf0fa;padding-top:16px;margin-top:18px;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:11px;color:#909ab1;
}
.tf-bottom a{color:#7855e7;text-decoration:none;font-weight:700}

/* 모달 */
.tf-modal{
  position:fixed;inset:0;z-index:9999;
  background:rgba(19,26,70,.5);backdrop-filter:blur(4px);
  display:none;align-items:center;justify-content:center;padding:20px;
}
.tf-modal.open{display:flex}
.tf-modal-box{
  width:min(780px,100%);max-height:88vh;background:#fff;border-radius:20px;
  display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 32px 90px rgba(37,34,84,.28);
}
.tf-modal-head{
  padding:20px 24px;border-bottom:1px solid #edf0fa;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.tf-modal-head h2{margin:0;font-size:18px;letter-spacing:-.04em;color:#171b38}
.tf-modal-close{
  border:0;background:transparent;color:#5f6682;font-size:26px;
  cursor:pointer;line-height:1;padding:0 4px;
}
.tf-modal-body{
  padding:24px;overflow-y:auto;font-size:13px;line-height:1.9;color:#343d60;
}
.tf-modal-body h3{
  font-size:14px;font-weight:900;color:#171b38;margin:20px 0 8px;
}
.tf-modal-body h3:first-child{margin-top:0}
.tf-modal-body p{margin:0 0 10px}
.tf-modal-body ul{margin:0 0 12px;padding-left:20px}
.tf-modal-body li{margin:4px 0}
.tf-modal-body code{background:#f2f0ff;padding:2px 6px;border-radius:4px;font-size:12px}

@media (max-width:800px){
  .tf-top{flex-direction:column;gap:24px}
  .tf-cols{grid-template-columns:1fr 1fr}
  .tf-biz{grid-template-columns:1fr}
}
@media (max-width:480px){
  .tf-cols{grid-template-columns:1fr}
  .tf-modal-body{padding:18px}
}
