/* ══════════════════════════════════════════════════
   메인 페이지 전용 (front-page.php)
   ※ 공통(토큰/nav/히어로/stats/why/process/CTA/footer)은 style.css
══════════════════════════════════════════════════ */

/* ── 신고기한 D-day 배너 (관리자 > 사용자 정의하기 에서 수정) ── */
.dday-bar{
  margin-top:var(--nav-h);
  display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;
  background:var(--navy-800);color:#fff;text-decoration:none;
  padding:12px var(--px);font-size:14px;line-height:1.4;
  transition:background .15s;
}
.dday-bar:hover{background:var(--navy-700);}
.dday-badge{
  background:#fff;color:var(--navy-800);
  font-weight:800;font-size:12.5px;letter-spacing:.5px;
  padding:3px 10px;border-radius:20px;flex-shrink:0;
}
.dday-title{font-weight:700;}
.dday-date{color:rgba(255,255,255,.72);font-size:13px;}
.dday-go{
  font-size:12.5px;font-weight:600;color:rgba(255,255,255,.85);
  border-bottom:1px solid rgba(255,255,255,.4);white-space:nowrap;
}
.dday-go::after{content:' →';}
/* 배너가 nav 높이만큼 자리를 차지하므로, 배너 바로 뒤 히어로는 nav 여백 제거 */
.dday-bar + .hero{padding-top:72px;}

/* ── 기장대리 안내 배너 ── */
.bb{
  background:var(--navy-800);border-radius:var(--r);
  padding:30px 34px;display:flex;align-items:center;justify-content:space-between;
  gap:20px;flex-wrap:wrap;margin-bottom:24px;
}
.bb-text h3{font-size:18px;font-weight:700;color:#fff;margin-bottom:6px;letter-spacing:-.3px;}
.bb-text p{font-size:14px;color:rgba(255,255,255,.72);line-height:1.65;}
.bb-text p strong{color:#fff;font-weight:700;}
.bb-btn{
  background:#fff;color:var(--navy-800);
  padding:12px 22px;border-radius:10px;font-size:14px;font-weight:700;
  text-decoration:none;white-space:nowrap;
  display:inline-flex;align-items:center;gap:6px;
  transition:background .15s;flex-shrink:0;
}
.bb-btn:hover{background:var(--navy-50);}
.bb-btn::after{content:'→';}

/* ── 업무분야 카드 ── */
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.service-box{
  background:#fff;border-radius:var(--r);padding:26px 22px;
  border:1px solid var(--border);
  transition:border-color .2s,box-shadow .2s;
  display:block;color:inherit;
  text-decoration:none;cursor:default;
}
.service-box:hover{border-color:var(--navy-100);box-shadow:0 6px 20px rgba(20,31,54,.06);}
.service-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.service-head .icon-box{width:40px;height:40px;border-radius:10px;margin-bottom:0;}
.service-head .icon-box svg{width:20px;height:20px;}
.service-box h3{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.3px;}
.service-box p{font-size:13.5px;color:var(--text-sub);line-height:1.65;}
.service-tags{display:flex;flex-wrap:wrap;row-gap:7px;column-gap:20px;margin-top:16px;justify-content:center;text-align:center;}
.service-tags .tag{width:calc(40% - 4px);}

/* ── 언론 보도 ── */
.media-row{display:flex;gap:14px;flex-wrap:wrap;}
.media-card{
  flex:1;min-width:180px;background:#fff;border:1px solid var(--border);border-radius:var(--r);
  padding:24px;display:flex;flex-direction:column;gap:9px;
  transition:border-color .2s,box-shadow .2s;
}
.media-card:hover{border-color:var(--navy-100);box-shadow:0 6px 20px rgba(20,31,54,.06);}
.media-badge{
  font-size:11px;font-weight:700;color:var(--navy-700);
  background:var(--navy-50);padding:4px 10px;border-radius:20px;width:fit-content;
}
.media-card h4{font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.55;}
.media-card span{font-size:12px;color:var(--text-light);}

/* ── 언론 보도: 사진 슬롯 + 링크 카드 ── */
.media-thumb{
  display:block;width:calc(100% + 48px);margin:-24px -24px 4px;
  aspect-ratio:16/9;overflow:hidden;
  border-radius:var(--r) var(--r) 0 0;background:var(--navy-50);
}
.media-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.media-card--link{text-decoration:none;color:inherit;cursor:pointer;}
.media-card--link:hover h4{color:var(--navy-700);}

/* ── 고객후기 ── */
.review-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.review-card{
  background:#fff;border:1px solid var(--border);border-radius:var(--r);
  padding:26px 24px;display:flex;flex-direction:column;gap:12px;
  text-decoration:none;color:inherit;
  transition:border-color .2s,box-shadow .2s;
}
.review-card:hover{border-color:var(--navy-100);box-shadow:0 6px 20px rgba(20,31,54,.06);}
.review-thumb{
  display:block;width:calc(100% + 48px);margin:-26px -24px 2px;
  aspect-ratio:16/9;overflow:hidden;
  border-radius:var(--r) var(--r) 0 0;background:var(--navy-50);
}
.review-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.review-quote svg{width:22px;height:22px;color:var(--navy-100);}
.review-text{font-size:14px;color:var(--text-sub);line-height:1.75;flex:1;}
.review-meta{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding-top:12px;border-top:1px solid var(--border);
}
.review-name{font-size:13px;font-weight:700;color:var(--ink);}
.review-go{font-size:12px;font-weight:600;color:var(--navy-600);white-space:nowrap;}
.review-go::after{content:' →';}
.review-card:hover .review-go{color:var(--navy-700);}

/* ── 최신 칼럼 (게시판 미리보기) ── */
.latest-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:28px;}
.latest-head .section-sub{margin-bottom:0;}
.latest-more{
  background:#fff;border:1px solid #d5dae0;border-radius:10px;
  padding:11px 22px;font-size:14px;font-weight:600;color:var(--ink);
  text-decoration:none;white-space:nowrap;flex-shrink:0;
  min-height:44px;display:inline-flex;align-items:center;gap:6px;
  transition:border-color .15s,color .15s;
}
.latest-more:hover{border-color:var(--navy-600);color:var(--navy-700);}
.latest-more::after{content:'→';}

/* ── 반응형 ── */
@media(max-width:768px){
  .dday-bar{
    margin-top:var(--nav-h-mb);
    padding:10px var(--px-mb);gap:8px;font-size:13px;
    justify-content:flex-start;
  }
  .dday-date{display:none;}
  .dday-go{margin-left:auto;}
  .dday-bar + .hero{padding:48px var(--px-mb) 48px;}
  .review-row{grid-template-columns:1fr;gap:10px;}
  .review-card:hover{box-shadow:none;border-color:var(--border);}
  .bb{padding:24px 20px;}
  .bb-text h3{font-size:15.5px;}
  .bb-btn{width:100%;justify-content:center;}
  .services-grid{grid-template-columns:1fr;gap:10px;}
  .service-box{padding:20px 18px;}
  .service-box:hover,.media-card:hover{box-shadow:none;border-color:var(--border);}
  .media-row{flex-direction:column;gap:10px;}
  .media-card{min-width:unset;}
  .latest-head{margin-bottom:18px;}
  .latest-more{width:100%;justify-content:center;}
}
