:root{
  --hd-text: #111827;
  --hd-muted: #6b7280;
  --hd-border: #e5e7eb;
  --hd-soft: #f8fafc;
}

html, body {
  height: 100%;
}

body{
  color: var(--hd-text);
  background: #fff;
}

a{
  color: inherit;
}

.hd-nav{
  backdrop-filter: saturate(180%) blur(8px);
}

.hd-main{
  min-height: calc(100vh - 160px);
}

/* 섹션 */
.hd-hero{
  padding: 92px 0 72px;
  background: linear-gradient(180deg, var(--hd-soft) 0%, #ffffff 70%);
  border-bottom: 1px solid var(--hd-border);
}

.hd-section{
  padding: 72px 0;
}

.hd-section.soft{
  background: var(--hd-soft);
  border-top: 1px solid var(--hd-border);
  border-bottom: 1px solid var(--hd-border);
}

/* 텍스트 */
.hd-kicker{
  letter-spacing: .10em;
  text-transform: uppercase;
  font-size: .80rem;
  color: var(--hd-muted);
}

.hd-muted{
  color: var(--hd-muted);
}

/* 카드 */
.hd-card{
  border: 1px solid var(--hd-border);
  border-radius: 16px;
  background: #fff;
}

.hd-shadow{
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}

.hd-chip{
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .35rem .6rem;
  border: 1px solid var(--hd-border);
  border-radius: 999px;
  font-size: .85rem;
  color: var(--hd-muted);
  background: #fff;
}

.hd-timeline{
  border-left: 2px solid var(--hd-border);
  padding-left: 18px;
}

.hd-timeline-item{
  position: relative;
  padding: 10px 0 10px 0;
}

.hd-timeline-item::before{
  content: "";
  position: absolute;
  left: -27px;
  top: 18px;
  width: 10px;
  height: 10px;
  background: #111827;
  border-radius: 999px;
}

.process-chip {
  padding: 6px 14px;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  font-size: 0.85rem;
}

.problem-card {
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  height: 100%;
  font-weight: 500;
  line-height: 1.5;
}

.process-card {
  background: #fff;
  border-radius: 16px;
  padding: 28px;
  height: 100%;
}

.process-step {
  font-size: 0.85rem;
  font-weight: 700;
  color: #6b7280;
  margin-bottom: 6px;
}

.sector-card {
  background: #fff;
  border-radius: 16px;
  padding: 32px;
  height: 100%;
}

.hd-kicker { font-weight: 600; }
.hd-hero h1 { letter-spacing: -0.02em; }
.hd-card:hover { box-shadow: 0 14px 40px rgba(0,0,0,.08); transition: .2s; }


