/* デザインポリシー（/design）— 公開ページ。tokens.css の上に置く演出だけを持つ */
.dp-hero{padding:120px 0 70px;border-bottom:2px solid var(--text)}
.dp-hero h1{font-size:clamp(38px,6.4vw,84px);line-height:1.16;letter-spacing:-.03em;font-weight:800;margin:22px 0 26px}
.dp-hero p{font-size:17px;line-height:2;color:var(--text-2);max-width:46em;margin:0}
.dp-sec{padding:74px 0;border-bottom:1px solid var(--line-strong)}
.dp-sec:last-of-type{border-bottom:0}
.dp-head{display:flex;align-items:baseline;gap:18px;margin:0 0 30px}
.dp-no{font:800 13px/1 var(--font-mono);color:var(--brand);letter-spacing:.14em}
.dp-head h2{font-size:clamp(24px,3.2vw,36px);letter-spacing:-.02em;margin:0;font-weight:800}
.dp-lede{font-size:17px;line-height:2;max-width:46em;margin:0 0 30px}
.dp-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:0;border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}
.dp-cols>div{border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding:24px}
.dp-cols h3{font-size:15px;margin:0 0 10px;font-weight:800}
.dp-cols p{font-size:13.5px;line-height:1.95;color:var(--text-2);margin:0}
.dp-swatch{display:flex;gap:0;border:1px solid var(--line-strong);margin:0 0 26px;flex-wrap:wrap}
.dp-swatch div{flex:1 1 150px;padding:22px 18px;border-right:1px solid var(--line-strong)}
.dp-swatch div:last-child{border-right:0}
.dp-swatch b{display:block;font-size:13px;margin-bottom:6px}
.dp-swatch span{font:700 11px/1.6 var(--font-mono);color:var(--text-muted);letter-spacing:.06em}
.dp-chip{height:44px;margin-bottom:14px;border:1px solid var(--line-strong)}
.dp-quote{border-left:3px solid var(--brand);padding:4px 0 4px 18px;font-size:19px;line-height:1.9;font-weight:700;margin:34px 0}
.dp-no-list{list-style:none;padding:0;margin:0}
.dp-no-list li{border-bottom:1px solid var(--line);padding:14px 0 14px 30px;position:relative;font-size:14.5px;line-height:1.9}
.dp-no-list li::before{content:"×";position:absolute;left:6px;top:14px;color:var(--brand);font-weight:800}
.dp-do-list li::before{content:"✓";color:var(--positive)}
.dp-gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:26px;margin:34px 0 0}
.dp-gal figure{margin:0}
.dp-gal img{display:block;width:100%;border:1px solid var(--line-strong)}
.dp-gal figcaption{font-size:12.5px;line-height:1.8;color:var(--text-muted);margin-top:10px}
.dp-gal figcaption b{display:block;color:var(--text);font-size:13.5px;margin-bottom:3px}
.dp-logo-row{display:flex;gap:36px;flex-wrap:wrap;margin:0 0 28px}
.dp-logo-cell{border:1px solid var(--line-strong);padding:26px 30px;min-width:230px}
.dp-logo-cell.ink{background:var(--ink);color:var(--text-inv)}
.dp-logo-cell .cap{display:block;font:800 10px/1 var(--font-mono);letter-spacing:.16em;color:var(--text-muted);margin-bottom:16px}
.dp-logo-cell.ink .cap{color:var(--text-inv-muted)}
.dp-note{font-size:13px;line-height:1.95;color:var(--text-muted);border-top:1px solid var(--line);padding-top:18px;margin-top:34px}
@media(max-width:767px){
  .dp-hero{padding:80px 0 50px}
  .dp-sec{padding:52px 0}
  .dp-gal{grid-template-columns:1fr}
}
