/* ===========================================================
   보도블럭시공견적 — 전용 스타일 (팔레트: #1A1A1A / #FAFAF8 / #FFB703)
   =========================================================== */
@import url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2107@1.1/Freesentation.css');

:root{
  --dp-est-ink:#1A1A1A;
  --dp-est-bg:#FAFAF8;
  --dp-est-bg-alt:#F1F0E9;
  --dp-est-accent:#FFB703;
  --dp-est-accent-ink:#7A4B00;
  --dp-est-radius:12px;
}

.site-header{position:sticky;top:0;z-index:60;}

body.dp-est-page{
  background:var(--dp-est-bg);
  color:var(--dp-est-ink);
  font-family:'Pretendard','Noto Sans KR',sans-serif;
  font-display:swap;
}
.dp-est-page h1,.dp-est-page h2,.dp-est-page h3{
  font-family:'Freesentation','Pretendard','Noto Sans KR',sans-serif;
  font-display:swap;
  letter-spacing:-.01em;
}

/* ---- 섹션 패딩(64px 계열) / 배경 스코프 override ---- */
.dp-est-page .section{padding:64px 0;}
.dp-est-page .section-alt{background:var(--dp-est-bg-alt);}
@media (max-width:768px){.dp-est-page .section{padding:44px 0;}}

.dp-est-page h2.dp-est-h2{
  font-size:clamp(22px,2.9vw,28.8px); /* 1.2 scale step */
  font-weight:800;
  margin-bottom:14px;
}
.dp-est-page h3.dp-est-h3{
  font-size:20.7px; /* base 17.25 * 1.2 */
  font-weight:700;
  margin-bottom:8px;
}
.dp-est-page p{color:#3a3a3a;line-height:1.85;font-size:16.5px;}
.dp-est-eyebrow{
  display:inline-block;font-size:13px;font-weight:800;letter-spacing:.06em;
  color:var(--dp-est-accent-ink);background:rgba(255,183,3,.18);
  padding:5px 12px;border-radius:999px;margin-bottom:14px;
}

/* ---- HERO: 폼 카드 중심 ---- */
.dp-est-hero{
  background:var(--dp-est-ink);
  padding:56px 0 0;
}
.dp-est-hero .inner{position:relative;z-index:1;}
.dp-est-hero-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:40px;
  align-items:end;
  padding-bottom:0;
}
.dp-est-hero-text p.dp-est-lead{
  color:#d8d5cc;
  font-size:17px;
  max-width:520px;
  margin-top:14px;
}
.dp-est-card{
  background:var(--dp-est-bg);
  color:var(--dp-est-ink);
  border-radius:var(--dp-est-radius) var(--dp-est-radius) 0 0;
  padding:26px 26px 22px;
  box-shadow:0 -20px 50px rgba(0,0,0,.25);
  transform:translateY(20px);
}
.dp-est-card-title{font-size:14.5px;font-weight:800;color:#7a7568;margin-bottom:14px;letter-spacing:.02em;}
.dp-est-card-row{
  display:flex;justify-content:space-between;gap:10px;
  padding:9px 0;border-bottom:1px dashed #ddd8c8;
  font-size:14.5px;
}
.dp-est-card-row span:first-child{color:#555;}
.dp-est-card-row span:last-child{font-weight:700;}
.dp-est-card-row.total{border-bottom:none;border-top:2px solid var(--dp-est-ink);margin-top:6px;padding-top:12px;font-size:16px;}
.dp-est-card-row.total span:last-child{color:var(--dp-est-accent-ink);}

/* ---- 본문 카드/리스트 ---- */
.dp-est-block{margin-bottom:38px;}
.dp-est-block:last-child{margin-bottom:0;}
.dp-est-checklist{display:grid;gap:12px;margin-top:16px;}
.dp-est-checklist li{
  display:flex;gap:12px;align-items:flex-start;
  background:var(--white,#fff);border:1px solid #ece8dc;border-radius:var(--dp-est-radius);
  padding:14px 16px;font-size:15px;line-height:1.7;color:#333;
}
.dp-est-checklist li b{color:var(--dp-est-ink);}
.dp-est-checklist .mark{
  flex:none;width:22px;height:22px;border-radius:6px;background:var(--dp-est-accent);
  color:var(--dp-est-ink);font-size:13px;font-weight:900;display:flex;align-items:center;justify-content:center;
}

/* ---- SVG 도식 ---- */
.dp-est-svg-wrap{
  background:#fff;border:1px solid #ece8dc;border-radius:var(--dp-est-radius);
  padding:18px;
}
.dp-est-svg-wrap svg{width:100%;height:auto;display:block;}

/* ---- 표 ---- */
.dp-est-table-scroll{overflow-x:auto;border-radius:var(--dp-est-radius);border:1px solid #ece8dc;}
.dp-est-table-scroll table{width:100%;border-collapse:collapse;min-width:560px;background:#fff;}
.dp-est-table-scroll caption{text-align:left;font-size:14px;color:#7a7568;padding:14px 16px 0;}
.dp-est-table-scroll th,.dp-est-table-scroll td{
  padding:13px 16px;text-align:left;font-size:14.5px;border-bottom:1px solid #f0ede2;
}
.dp-est-table-scroll thead th{
  background:var(--dp-est-ink);color:#fff;font-weight:700;font-size:13.5px;
}
.dp-est-table-scroll tbody tr:last-child td{border-bottom:none;}
.dp-est-table-scroll tbody tr:nth-child(even){background:#fbfaf6;}

/* ---- 사진 캡션 ---- */
.photo-caption{
  margin-top:8px;font-size:13.5px;color:#6b6a63;line-height:1.6;padding:0 2px;
}

/* ---- FAQ 라디우스 정책 ---- */
.dp-est-page .guide-item{border-radius:var(--dp-est-radius);}

/* ---- 반응형 ---- */
@media (max-width:1024px){
  .dp-est-hero-grid{grid-template-columns:1fr;}
  .dp-est-card{transform:none;margin-top:30px;box-shadow:0 10px 30px rgba(0,0,0,.15);border-radius:var(--dp-est-radius);}
}
@media (max-width:640px){
  .dp-est-hero{padding-top:44px;}
}

/* ---- 접근성 ---- */
.dp-est-page a:focus-visible,
.dp-est-page button:focus-visible{outline:3px solid var(--dp-est-accent);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){
  .dp-est-page *{animation:none!important;transition:none!important;}
}

/* ---- 페이지 유일 애니메이션(체크마크 표시) ---- */
@keyframes dpEstPop{from{transform:scale(.85);opacity:0;}to{transform:scale(1);opacity:1;}}
.dp-est-checklist .mark{animation:dpEstPop .4s ease both;}
