/* Process — page-specific styles (converted from process.html <style>) */

@keyframes tsInfinityBorder { to { stroke-dashoffset: 0; } }

.dsmt-phase {
  display: grid; grid-template-columns: minmax(100px, max-content) 1fr 1.6fr;
  gap: 32px; padding: clamp(36px,5vw,64px) 0;
  border-top: 1px solid var(--dsmt-line); align-items: start;
}
.dsmt-phase:last-child { border-bottom: 1px solid var(--dsmt-line); }
@media(max-width:900px){ .dsmt-phase { grid-template-columns: 1fr; gap: 16px; } }
.dsmt-phase-num { font-family: var(--dsmt-font-head); font-weight: 800; font-size: clamp(3rem,6vw,5.5rem); line-height: 0.9; letter-spacing: -0.05em; color: var(--dsmt-blue); white-space: nowrap; }
.dsmt-phase-meta { padding-top: 6px; }
.dsmt-phase-label { font-family: var(--dsmt-font-mono); font-size: 0.67rem; color: var(--dsmt-ink-3); letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 10px; }
.dsmt-phase-title { font-family: var(--dsmt-font-head); font-weight: 700; font-size: clamp(1.2rem,2vw,1.7rem); letter-spacing: -0.03em; line-height: 1.1; }
.dsmt-phase-body p { font-size: 0.925rem; color: var(--dsmt-ink-2); line-height: 1.7; margin-bottom: 14px; max-width: 54ch; }
.dsmt-phase-body ul { list-style: none; display: grid; gap: 9px; }
.dsmt-phase-body li { display: grid; grid-template-columns: 14px 1fr; gap: 10px; font-size: 0.875rem; color: var(--dsmt-ink-2); line-height: 1.5; }
.dsmt-phase-body li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--dsmt-blue); margin-top: 8px; }
.dsmt-phase-dur { text-align: right; padding-top: 6px; }
@media(max-width:900px){ .dsmt-phase-dur { text-align: left; } }
.dsmt-phase-dur .dsmt-dur-val { font-family: var(--dsmt-font-head); font-weight: 700; font-size: 1.5rem; letter-spacing: -0.03em; color: var(--dsmt-ink); display: block; margin-bottom: 4px; }
.dsmt-phase-dur .dsmt-dur-val span { color: var(--dsmt-blue); }
.dsmt-phase-dur .dsmt-dur-label { font-family: var(--dsmt-font-mono); font-size: 0.67rem; color: var(--dsmt-ink-3); letter-spacing: 0.06em; }
/* NOTE: .dsmt-principles-grid / .dsmt-princ-cell below are unused in the
   source markup (no matching HTML in process.html) — kept for fidelity
   with the original page CSS in case a future section revives them. */
.dsmt-principles-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--dsmt-line); border: 1px solid var(--dsmt-line); border-radius: var(--dsmt-radius-xl); overflow: hidden; margin-top: 48px; }
@media(max-width:820px){ .dsmt-principles-grid { grid-template-columns: 1fr 1fr; } }
@media(max-width:480px){ .dsmt-principles-grid { grid-template-columns: 1fr; } }
.dsmt-princ-cell { background: var(--dsmt-bg); padding: 28px 28px 32px; transition: background 0.15s; }
.dsmt-princ-cell:hover { background: var(--dsmt-bg-2); }
.dsmt-princ-n { font-family: var(--dsmt-font-mono); font-size: 0.67rem; color: var(--dsmt-blue); letter-spacing: 0.1em; margin-bottom: 16px; }
.dsmt-princ-title { font-family: var(--dsmt-font-head); font-weight: 700; font-size: clamp(1rem,1.5vw,1.25rem); letter-spacing: -0.02em; line-height: 1.2; margin-bottom: 10px; }
.dsmt-princ-title span { color: var(--dsmt-blue); }
.dsmt-princ-desc { font-size: 0.85rem; color: var(--dsmt-ink-2); line-height: 1.65; }
