/* ===========================================================
   보도블럭시공마당 — 전용 스타일 (팔레트: #3F4A3C / #FBF7EF / #A3B18A)
   =========================================================== */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@600;800&family=Noto+Sans+KR:wght@400;700&display=swap');

:root{
  --dp-yd-ink:#3F4A3C;
  --dp-yd-bg:#FBF7EF;
  --dp-yd-bg-alt:#F2ECDD;
  --dp-yd-accent:#A3B18A;
  --dp-yd-radius:0px;
}

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

body.dp-yd-page{
  background:var(--dp-yd-bg);
  color:var(--dp-yd-ink);
  font-family:'Noto Sans KR','Pretendard',sans-serif;
  font-display:swap;
}
.dp-yd-page h1,.dp-yd-page h2,.dp-yd-page h3{
  font-family:'Noto Serif KR','Pretendard','Noto Sans KR',serif;
  font-display:swap;
  letter-spacing:-.01em;
}
.dp-yd-page .section{padding:96px 0;background:var(--dp-yd-bg);}
.dp-yd-page .section-alt{background:var(--dp-yd-bg-alt);}
@media (max-width:768px){.dp-yd-page .section{padding:56px 0;}}

.dp-yd-page h2.dp-yd-h2{
  font-size:clamp(24px,3.4vw,33.9px); /* 1.333 scale */
  font-weight:800;
  margin-bottom:16px;
  color:var(--dp-yd-ink);
}
.dp-yd-page p{color:#5a6152;line-height:1.9;font-size:16.5px;}
.dp-yd-eyebrow{
  display:inline-block;font-size:13px;font-weight:700;letter-spacing:.08em;
  color:#5c6b4d;background:rgba(163,177,138,.25);
  padding:6px 16px;border-radius:0;margin-bottom:16px;
  border:1px solid rgba(63,74,60,.2);
}

/* ---- HERO: 중앙 정렬 · 여백 넓게 ---- */
.dp-yd-hero{
  background:linear-gradient(180deg,#3F4A3C 0%,#4b5844 100%);
  padding:96px 0 88px;
  text-align:center;
}
.dp-yd-hero .breadcrumb{justify-content:center;}
.dp-yd-hero .inner{max-width:680px;margin:0 auto;}
.dp-yd-hero p.dp-yd-lead{color:#dbe3cf;font-size:17.5px;margin:20px auto 0;max-width:520px;}
.dp-yd-hero .btn-group{justify-content:center;margin-top:34px;}

/* ---- 본문 블록 ---- */
.dp-yd-block{margin-bottom:48px;}
.dp-yd-block:last-child{margin-bottom:0;}
.dp-yd-note{
  background:#fff;border:1px solid #e3ddc9;border-left:4px solid var(--dp-yd-accent);
  border-radius:0;padding:22px 26px;margin-top:18px;
  font-size:14.5px;color:#5a6152;line-height:1.9;
}
.dp-yd-note b{color:var(--dp-yd-ink);}

/* ---- SVG 도식 ---- */
.dp-yd-svg-wrap{
  background:#fff;border:1px solid #e3ddc9;border-radius:0;
  padding:20px;
}
.dp-yd-svg-wrap svg{width:100%;height:auto;display:block;}

/* ---- 표 ---- */
.dp-yd-table-scroll{overflow-x:auto;border-radius:0;border:1px solid #e3ddc9;}
.dp-yd-table-scroll table{width:100%;border-collapse:collapse;min-width:600px;background:#fff;}
.dp-yd-table-scroll caption{text-align:left;font-size:14px;color:#7c8570;padding:16px 20px 0;}
.dp-yd-table-scroll th,.dp-yd-table-scroll td{
  padding:14px 18px;text-align:left;font-size:14.5px;border-bottom:1px solid #f0ebdd;
}
.dp-yd-table-scroll thead th{
  background:var(--dp-yd-ink);color:#fff;font-weight:700;font-size:13.5px;
}
.dp-yd-table-scroll tbody tr:last-child td{border-bottom:none;}

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

/* ---- FAQ 라디우스 정책(각짐) ---- */
.dp-yd-page .guide-item{border-radius:0;}

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

/* ---- 페이지 유일 애니메이션(리드 문구 페이드인) ---- */
@keyframes dpYdFade{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.dp-yd-hero p.dp-yd-lead{animation:dpYdFade .6s ease both;}
