/* 보도블럭시공재시공 — 전용 스타일 (팔레트: #2D2D2A / #EFEFEA / #C9483B, 타입스케일 1.333, 패딩 96px, 라운드 0px 각짐) */
@font-face{
  font-family:"Gmarket Sans";
  src:local("Gmarket Sans");
  font-display:swap;
}
@import url('https://cdn.jsdelivr.net/gh/webfontworld/gmarket/GmarketSans.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;900&display=swap');

:root{
  --dp-redo-primary:#2D2D2A;
  --dp-redo-bg:#EFEFEA;
  --dp-redo-accent:#C9483B;
  --dp-redo-radius:0px;
  --dp-redo-font-head:"Gmarket Sans","Pretendard","Noto Sans KR",sans-serif;
  --dp-redo-font-body:"Noto Sans KR","Pretendard",sans-serif;
}

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

/* 섹션 패딩 96px 계열 */
.section{padding:96px 0;}
@media (max-width:768px){.section{padding:56px 0;}}

/* 타입 스케일 1.333 기준 */
.dp-redo-hero h1{font-family:var(--dp-redo-font-head);font-size:clamp(32px,4.8vw,48px);}
.dp-redo-body{font-family:var(--dp-redo-font-body);font-size:17px;line-height:1.9;color:#3a3a36;max-width:820px;}
.dp-redo-lead{font-family:var(--dp-redo-font-body);font-size:19px;line-height:1.9;color:var(--dp-redo-primary);font-weight:700;}
.dp-redo-eyebrow{background:#f2d9d4;color:#8a2f24;border-radius:0;}
.section-head h2{font-family:var(--dp-redo-font-head);}

/* 히어로: 대각선 분할 */
.dp-redo-hero{background:var(--dp-redo-primary);position:relative;overflow:hidden;}
.dp-redo-diagonal{
  position:absolute;
  inset:0;
  background:linear-gradient(100deg, var(--dp-redo-primary) 0%, var(--dp-redo-primary) 55%, var(--dp-redo-accent) 55%, var(--dp-redo-accent) 100%);
  clip-path:polygon(0 0, 100% 0, 100% 100%, 30% 100%);
  opacity:.9;
}
.dp-redo-hero .inner{position:relative;z-index:1;}
.dp-redo-hero .btn-primary{background:var(--dp-redo-accent);color:#fff;border-radius:0;box-shadow:0 10px 24px rgba(201,72,59,.4);}
.dp-redo-hero .btn-primary:hover{background:#a83a2f;}
.dp-redo-hero .btn-outline{border-radius:0;}

/* SVG 도식 */
.dp-redo-svg{width:100%;height:auto;background:var(--dp-redo-bg);padding:12px;}

/* 표 */
.dp-redo-table-wrap{overflow-x:auto;border:1px solid #d8d8d0;}
.dp-redo-table{width:100%;border-collapse:collapse;min-width:560px;background:#fff;}
.dp-redo-table caption{text-align:left;font-size:14px;font-weight:700;color:var(--dp-redo-primary);padding:14px 18px;background:#e3e3dc;}
.dp-redo-table th,.dp-redo-table td{padding:14px 18px;font-size:15px;text-align:left;border-bottom:1px solid #e3e3dc;}
.dp-redo-table th{background:var(--dp-redo-primary);color:#fff;font-weight:700;}
.dp-redo-table tbody tr:last-child td{border-bottom:none;}
.dp-redo-table-note{margin-top:14px;font-size:13.5px;color:#5c5c56;}

/* 사진 캡션 */
.photo-caption{margin-top:8px;font-size:13.5px;font-weight:700;color:var(--dp-redo-primary);text-align:center;}

/* 각짐 라운드 정책 오버라이드 */
.guide-item,.process-item{border-radius:0;}

/* 접근성 · 모션 */
a:focus-visible,button:focus-visible{outline:3px solid var(--dp-redo-accent);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){.process-item img{transition:none;}}

@media (max-width:640px){
  .dp-redo-diagonal{clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%);opacity:.5;}
}

/* footer가 4열(브랜드/바로가기/관련페이지/문의)이라 전역 3열 정의에 최소 오버라이드 */
.footer-grid{grid-template-columns:1.3fr 1fr 1fr 1fr;}
@media (max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:768px){.footer-grid{grid-template-columns:1fr;}}
