/* Local v7 decision materials. Component names are intentionally scoped. */
@layer components {
  .ve7-section .section-head { align-items:start; }
  .ve7-board { margin:0; padding:30px; border:1px solid var(--line); border-radius:6px; background:#1b1e1c; }
  .ve7-board-title { margin-bottom:30px; }
  .ve7-board-title>span { display:block; font:10px/1.6 Arial,sans-serif; letter-spacing:.14em; color:var(--accent); margin-bottom:14px; }
  .ve7-board-title h3 { font-size:22px; line-height:1.7; }
  .ve7-board figcaption { border-top:1px solid var(--line); padding-top:17px; margin-top:25px; font-size:11px; line-height:1.85; color:var(--muted); }
  .ve7-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:0; margin:0; gap:24px; }
  .ve7-flow>li { min-width:0; border-top:1px solid #65756a; padding-top:18px; }
  .ve7-flow>li>span { font-size:10px; color:#aabdaf; letter-spacing:.04em; }
  .ve7-flow h4 { font-size:17px; line-height:1.7; margin:15px 0 12px; font-weight:600; }
  .ve7-flow p { font-size:13px; line-height:1.9; color:var(--muted); }
  .ve7-flow-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ve7-flow .ve7-human { border-top:2px solid var(--accent); }
  .ve7-flow .ve7-human>span { color:var(--accent); }
  .ve7-links { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:28px; }
  .ve7-links a { max-width:100%; font-size:13px; min-height:44px; }
  .ve7-links .arrow { flex:none; }
  .ve7-rows { margin:0; }
  .ve7-rows>div { display:grid; grid-template-columns:180px minmax(0,1fr); gap:30px; border-top:1px solid var(--line); padding:24px 0; }
  .ve7-rows dt { font-size:16px; line-height:1.85; }
  .ve7-rows dd { margin:0; font-size:14px; color:var(--muted); }
  .ve7-rows dd a { display:flex; width:fit-content; max-width:100%; font-size:13px; margin-top:8px; color:var(--ink); min-height:44px; }
  .ve7-note { margin-top:20px; max-width:54em; color:var(--muted); font-size:13px; }
  .ve7-note a { font-size:13px; }
  .ve7-report { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
  .ve7-report>div { border-top:1px solid #65756a; padding-top:18px; min-width:0; }
  .ve7-report span { font-size:11px; color:var(--accent); }
  .ve7-report h4 { font-size:17px; margin:14px 0 12px; line-height:1.8; }
  .ve7-report p { font-size:13px; color:var(--muted); }
  .ve7-review-line { display:grid; grid-template-columns:120px minmax(0,1fr); gap:12px 24px; border-top:1px solid var(--line); padding-top:24px; margin-top:30px; font-size:13px; }
  .ve7-review-line strong { font-weight:500; color:var(--accent); }
  .ve7-review-line p { color:var(--muted); }
  .ve7-before { display:grid; grid-template-columns:150px minmax(0,1fr); gap:24px; padding:20px 0; margin-bottom:25px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .ve7-before span { font-size:11px; color:var(--muted); }
  .ve7-before p { font-size:13px; color:var(--muted); }
  .ve7-handover-head,.ve7-handover-row { display:grid; grid-template-columns:140px minmax(0,1fr) minmax(0,1fr); gap:30px; }
  .ve7-handover-head { padding:0 0 18px; font-size:11px; color:var(--accent); }
  .ve7-handover-row { padding:24px 0; border-top:1px solid var(--line); }
  .ve7-handover-row h3 { font-size:17px; }
  .ve7-handover-row p { font-size:13px; color:var(--muted); }
  .ve7-handover-row p>span { display:none; }
  .ve7-case-next { border-top:1px solid var(--line); padding-top:26px; }
  .ve7-case-next h3 { font-size:21px; margin-bottom:16px; }
  .ve7-case-next p { max-width:53em; font-size:14px; color:var(--muted); }
}
@layer responsive {
  @media(max-width:1200px) {
    .ve7-flow { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
    .ve7-flow-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .ve7-report { grid-template-columns:1fr; gap:24px; }
    .ve7-handover-head,.ve7-handover-row { grid-template-columns:110px minmax(0,1fr) minmax(0,1fr); gap:20px; }
  }
  @media(max-width:680px) {
    .ve7-board { padding:22px 18px; }
    .ve7-board-title h3 { font-size:20px; }
    .ve7-flow,.ve7-flow-three { grid-template-columns:1fr; gap:24px; }
    .ve7-flow h4 { font-size:18px; margin-top:10px; }
    .ve7-rows>div { display:block; padding:22px 0; }
    .ve7-rows dt { margin-bottom:12px; }
    .ve7-rows dd { font-size:13px; }
    .ve7-links { flex-direction:column; align-items:flex-start; gap:10px; }
    .ve7-links a { gap:18px; }
    .ve7-review-line { grid-template-columns:1fr; gap:7px; }
    .ve7-review-line p+strong { margin-top:10px; }
    .ve7-before { display:block; }
    .ve7-before span { display:block; margin-bottom:10px; }
    .ve7-handover-head { display:none; }
    .ve7-handover-row { display:block; }
    .ve7-handover-row h3 { margin-bottom:20px; font-size:19px; }
    .ve7-handover-row p+p { margin-top:18px; }
    .ve7-handover-row p>span { display:block; font-size:10px; color:var(--accent); margin-bottom:7px; }
  }
}
