.source-study {
  padding-block: clamp(64px, 7vw, 102px);
  background: #eee7e6;
  color: #382633;
  letter-spacing: -.025em;
}
.source-study h2, .source-study h3, .source-study p,
.source-study figure, .source-study ul { margin: 0; }
.source-study-head {
  display: grid;
  grid-template-columns: 1.28fr 1fr;
  align-items: end;
  gap: 15px clamp(38px, 8vw, 125px);
}
.source-study-label {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #783f56;
  font-size: 13px;
  font-weight: 700;
}
.source-study-label::before { content: ""; width: 25px; height: 2px; background: #a24660; }
.source-study h2 {
  color: #4e2038;
  font-family: "Plate Serif", Georgia, serif;
  font-size: clamp(36px, 4.3vw, 62px);
  font-weight: 560;
  line-height: 1.22;
  letter-spacing: -.075em;
}
.source-study h2 em { color: #863f56; font-style: normal; }
.source-study-summary { max-width: 34em; color: #654e59; font-size: 16px; line-height: 1.75; }
.source-study-data {
  display: grid;
  grid-template-columns: minmax(200px, .68fr) minmax(0, 1.8fr);
  gap: clamp(36px, 6vw, 95px);
  margin-top: 37px;
  padding-block: 25px 22px;
  border-top: 2px solid #58344a;
  border-bottom: 1px solid #9e8791;
}
.source-own { padding-right: clamp(12px, 2.5vw, 42px); border-right: 1px solid #bca9af; }
.source-own h3, .source-graph h3, .source-action h3 {
  color: #4e2b3d;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -.035em;
}
.source-zero { display: flex; gap: 8px; align-items: baseline; padding-block: 8px; color: #743950; }
.source-zero strong { font: 400 clamp(62px, 6.6vw, 94px)/.95 Georgia, "Times New Roman", serif; letter-spacing: -.07em; }
.source-zero span { font-size: 15px; font-weight: 650; }
.source-own > p:last-child, .source-graph > p {
  color: #6d5760; font-size: 13px; line-height: 1.6;
}
.source-graph { min-width: 0; }
.source-graph figcaption { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.source-graph figcaption > span { font-size: 12px; color: #715763; }
.source-graph ul { list-style: none; padding: 0; margin: 8px 0 10px; }
.source-graph li {
  display: grid;
  grid-template-columns: minmax(136px, .73fr) minmax(20px, 1fr) 48px;
  align-items: center;
  gap: 16px;
  border-top: 1px solid #d4c5c9;
  padding: 7px 0;
}
.source-domain { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 8px; }
.source-domain strong { font-size: 16px; line-height: 1.4; font-weight: 690; }
.source-domain small { font-size: 11px; line-height: 1.4; color: #735b65; }
.source-track { height: 9px; background: #dfd1d5; }
.source-track i { display:block; width:var(--cite-width); height:100%; background:#7a3f59; }
.source-graph li b { color: #4e2038; font: 500 27px/1 Georgia, serif; text-align: right; font-variant-numeric: lining-nums tabular-nums; }
.source-graph li b span { padding-left: 3px; font: 650 12px/1 Pretendard, sans-serif; }
.source-graph > p { font-size: 12px; }
.source-action { display: grid; grid-template-columns: minmax(200px,.68fr) minmax(0,1.8fr); gap: clamp(36px,6vw,95px); margin-top: 19px; }
.source-action p { max-width: 52em; font-size: 14px; line-height: 1.7; color: #563e4a; }
@media(max-width: 800px) {
  .source-study-head { grid-template-columns: 1fr; gap: 12px; }
  .source-study-summary { max-width: 37em; }
  .source-study-data { grid-template-columns: minmax(150px,.52fr) minmax(0,1fr); gap: 21px; }
  .source-graph li { grid-template-columns: minmax(108px, .96fr) minmax(20px,1fr) 32px; gap: 8px; }
  .source-domain { flex-direction: column; }
  .source-action { grid-template-columns: minmax(150px,.52fr) minmax(0,1fr); gap: 21px; }
}
@media(max-width: 590px) {
  .source-study h2 { font-size: clamp(33px,8vw,43px); }
  .source-study-summary { font-size: 15px; }
  .source-study-data { display: block; margin-top: 22px; padding-top: 16px; }
  .source-own {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    grid-template-rows: auto auto;
    gap: 4px 16px;
    align-items: center;
    border-right: 0;
    padding: 0 0 17px;
    border-bottom: 1px solid #bca9af;
  }
  .source-own h3 { grid-column: 1; }
  .source-zero { grid-column: 2; grid-row: 1 / 3; gap: 6px; }
  .source-zero strong { font-size: 62px; }
  .source-zero span { font-size: 12px; }
  .source-own > p:last-child { grid-column: 1; font-size: 12px; }
  .source-graph { margin-top: 19px !important; }
  .source-graph li { grid-template-columns: 125px minmax(20px,1fr) 35px; }
  .source-domain strong { font-size: 15px; }
  .source-action { display: block; margin-top: 15px; }
  .source-action p { margin-top: 5px; }
}
