.evt-contract-mount { width: 100%; }
.evt-contract-mount [hidden] { display: none !important; }
.evt-contract-fields {
  border: 1px solid currentColor;
  margin: 0 0 1.5rem;
  padding: 1rem clamp(.85rem, 3vw, 1.5rem) 1.35rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem 1.25rem;
  min-inline-size: 0;
}
.evt-contract-fields legend { padding: 0 .35rem; font: inherit; font-weight: 650; }
.evt-contract-fields > p { grid-column: 1/-1; margin: 0 0 .25rem; }
.evt-contract-field { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.evt-contract-field input:not([type=checkbox]), .evt-contract-field select {
  box-sizing: border-box; max-width: 100%; width: 100%; min-height: 2.75rem;
  padding: .5rem .65rem; border: 1px solid #76736c;
  color: #20221d; background: #fff; border-radius: .2rem; font: inherit;
}
.evt-contract-check { flex-direction: row-reverse; justify-content: flex-end; align-items: center; gap: .6rem; }
.evt-contract-check input { width: 1.1rem; height: 1.1rem; }
.evt-contract-student { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-column: 1 / -1; gap: .75rem 1.25rem; }
.evt-contract-doc {
  box-sizing: border-box; background: #fff; color: #20221d;
  padding: clamp(1rem, 4vw, 2.8rem); border: 1px solid #d3cdbf; overflow-wrap: anywhere;
}
.evt-contract-doc h2 { margin: .45em 0 .2em; font-size: clamp(1.65rem, 4.5vw, 2.9rem); line-height: 1.12; }
.evt-contract-doc h3 { margin: 1.7em 0 .5em; font-size: 1.3em; line-height: 1.25; }
.evt-contract-doc p { margin: .75em 0; font-size: 1rem; line-height: 1.64; }
.evt-contract-doc strong { font-weight: 690; color: inherit; }
.evt-contract-doc .evt-contract-status { font: inherit; font-weight: 650; letter-spacing: .035em; }
.evt-contract-doc .evt-contract-entity { margin: .4em 0 1.3em; font-style: italic; }
.evt-contract-doc table { width: 100%; border-collapse: collapse; margin: .55em 0 .9em; table-layout: fixed; }
.evt-contract-doc th, .evt-contract-doc td {
  padding: .55em .45em; border-bottom: 1px solid #d8d3c9; text-align: left; vertical-align: top;
  font: inherit; font-size: .96em; line-height: 1.45; color: inherit;
}
.evt-contract-doc th { width: 46%; font-weight: 650; }
.evt-contract-print { margin: 1rem 0; min-height: 2.75rem; padding: .65em 1.15em; cursor: pointer; }
.evt-contract-print-copy { display: none; }
@media (max-width: 42rem) {
  .evt-contract-fields, .evt-contract-student { grid-template-columns: minmax(0, 1fr); }
}
@media print {
  .evt-contract-fields, .evt-contract-print { display: none !important; }
  body.evt-print-contract > :not(.evt-contract-print-copy) { display: none !important; }
  body.evt-print-contract { display: block !important; width: auto !important; min-height: auto !important; margin: 0 !important; }
  body.evt-print-contract > .evt-contract-print-copy {
    display: block !important; overflow: visible !important; width: 100% !important; max-width: none !important;
    border: 0; padding: 0; color: #000; background: #fff;
  }
  .evt-contract-doc { border: 0; padding: 0; font: 10pt/1.35 Georgia, serif; overflow: visible; }
  .evt-contract-doc p, .evt-contract-doc th, .evt-contract-doc td { font-size: 10pt; line-height: 1.35; }
  .evt-contract-doc h2 { font-size: 18pt; }
  .evt-contract-doc h3 { font-size: 13pt; break-after: avoid; }
  .evt-contract-doc tr { break-inside: avoid; }
  .evt-contract-doc p { widows: 3; orphans: 3; }
}
