/* Red-team fixes: constrain grid items rather than hiding page overflow. */
.experience-layout > *, .case-layout > *, .case-heading > * { min-width: 0; }
.table-scroll { width: 100%; min-width: 0; }
.evidence-map table { max-width: none; }
.evidence-caption { margin-top: 18px; max-width: 850px; color: #606d72; font-size: 12px; line-height: 1.8; }
.decision-list { display: grid; gap: 24px; margin-top: 25px; }
.decision-list article { border-left: 2px solid #80977d; padding-left: 22px; }
.decision-list h3 { font-family: Georgia,serif; font-size: 24px; margin-bottom: 12px; }
.evidence-link { margin-top: 22px; }
.experience-item .role-period { color:#526b60; font-size:12px; margin-top:-10px; margin-bottom:18px; }
.contact-builder { border-top: 1px solid #ffffff35; margin-top: 44px; padding-top: 34px; }
.contact-builder h3 { font-size: 32px; line-height: 1.2; }
.builder-intro { font-size: 14px; color: #b8c6cc; max-width: 650px; margin-top: 16px; }
.contact-builder form { margin-top: 28px; }
.inquiry-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.contact-builder label { display: flex; flex-direction: column; gap: 9px; font-size: 13px; line-height: 1.5; min-width: 0; }
.contact-builder label span { color: #b8c6cc; }
.field-wide { grid-column: 1 / -1; }
.contact-builder input, .contact-builder textarea, .contact-builder select { width: 100%; min-width: 0; padding: 13px; font: 16px/1.5 Arial,sans-serif; background: #f7f6f2; color: #182b36; border: 1px solid #b8c6cc; border-radius: 2px; }
.contact-builder textarea { resize: vertical; }
.contact-builder :is(input,textarea,select):focus-visible { outline: 3px solid #c47d33; outline-offset: 3px; }
.draft-note { color: #b8c6cc; font-size: 12px; line-height: 1.8; max-width: 750px; margin: 20px 0; }
.message-options { margin-top: 32px; padding: 25px; border: 1px solid #ffffff35; }
.message-options h4 { font: 26px/1.25 Georgia,serif; margin: 0 0 20px; }
.draft-actions { display: flex; gap: 18px; flex-wrap: wrap; align-items: center; }
#draft-status { margin-top: 20px; font-size: 13px; color: #c5e5cf; }
.contact-builder [hidden] { display: none; }
@media(max-width:650px) {
  .nav { gap: 12px; }
  .brand { min-width: 0; }
  .brand > span:last-child { min-width: 0; }
  .menu-button { flex-shrink: 0; }
  .inquiry-fields { grid-template-columns: minmax(0,1fr); }
  .contact-builder h3 { font-size: 28px; }
  .contact-builder label { font-size: 13px; }
  .message-options { padding: 18px; }
  .draft-actions { gap: 16px; }
  .decision-list h3 { font-size: 22px; }
  .evidence-caption { font-size: 11px; }
}
@media(max-width:360px) {
  .brand { font-size: 9px; gap: 9px; letter-spacing: .08em; }
  .brand small { display: none; }
  .monogram { font-size: 36px; margin-right: 3px; }
  .workflow > span { flex-direction: column; min-width: 0; padding: 8px 4px; gap: 3px; }
}
@media print { .contact-builder { display:none; } }
