.steps.steps{padding-left:0;margin-left:0;margin-right:0}
.steps{list-style:none;counter-reset:s;padding:0;display:grid;gap:1rem;margin:1.4rem 0}
@media (min-width:700px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.steps{grid-template-columns:repeat(4,1fr)}}
.steps li{counter-increment:s;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1rem 1rem 3.4rem;position:relative;box-shadow:var(--shadow)}
.steps li::before{content:counter(s);position:absolute;left:1rem;top:1rem;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--gold);color:var(--espresso);font-weight:700;display:flex;align-items:center;justify-content:center}
.steps strong{display:block;color:var(--espresso)}
.vs-form{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;box-shadow:var(--shadow)}
.vs-form fieldset{border:0;padding:0;margin:0 0 1.2rem}
.vs-form legend{font-family:var(--serif);font-size:1.2rem;color:var(--espresso);font-weight:700;margin-bottom:.5rem}
.vs-grid{display:grid;gap:.8rem}
@media (min-width:700px){.vs-grid{grid-template-columns:1fr 1fr}.vs-grid .full{grid-column:1/-1}}
.vs-form label{display:block;font-weight:600;font-size:.95rem}
.vs-form input[type=text],.vs-form input[type=tel],.vs-form input[type=email],.vs-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:.25rem;padding:.65rem .75rem;font:inherit;border:1px solid #c9b9a3;border-radius:10px;background:#fff;min-height:48px}
.vs-form textarea{min-height:120px;resize:vertical}
.vs-form .check{display:flex;gap:.55rem;align-items:flex-start;font-weight:400;margin:.35rem 0}
.vs-form .check input{width:1.25rem;height:1.25rem;margin-top:.2rem;flex:0 0 auto}
.vs-form button.btn{cursor:pointer;font:inherit;font-weight:700}
.vs-note{font-size:.9rem;color:var(--muted)}
.opt{font-size:.85rem;font-weight:400;color:var(--muted)}
#schein{display:none}
@media print{
  @page{size:A4;margin:12mm}
  body{background:#fff;padding:0;font-size:10.5pt;line-height:1.4}
  body>*:not(main),main>*:not(#vs-print-wrap),#vs-print-wrap>*:not(#schein){display:none!important}
  #schein{display:block;color:#000}
  #schein h1{font-size:16pt;margin:0 0 2mm}
  #schein h2{font-size:11.5pt;margin:4mm 0 1.5mm;border-bottom:1px solid #000;padding-bottom:.5mm}
  .s-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #000;padding-bottom:3mm;margin-bottom:3mm}
  .s-head img{width:45mm;height:auto}
  .s-head address{font-style:normal;text-align:right;font-size:9.5pt}
  .s-tab{width:100%;border-collapse:collapse}
  .s-tab th{text-align:left;width:38mm;font-weight:600;vertical-align:top;padding:1.2mm 2mm 1.2mm 0}
  .s-tab td{padding:1.2mm 0;border-bottom:1px solid #999;white-space:pre-wrap}
  .s-tab td.blank{height:7mm}
  .s-tab td.tall{height:auto}
  .s-tab td.tall.blank{height:28mm}
  .s-opt p{margin:1mm 0}
  .s-sign{display:flex;gap:10mm;margin-top:9mm}
  .s-sign div{flex:1;border-top:1px solid #000;padding-top:1mm;font-size:9pt}
  .s-sign span{display:block;min-height:5mm}
  .s-label{margin-top:7mm;border:2px dashed #000;padding:5mm 7mm;page-break-inside:avoid}
  .s-label .cut{font-size:8.5pt;margin:0 0 2mm}
  .s-label .to{font-size:17pt;font-weight:700;line-height:1.35}
  .s-label .from{font-size:9.5pt;margin-top:3mm}
  .s-small{font-size:8.5pt}
  #schein.is-blank .s-tab td.blank{height:5.5mm}
  #schein.is-blank .s-tab td.tall.blank{height:18mm}
  #schein.is-blank .s-sign{margin-top:7mm}
  #schein.is-blank .s-label{margin-top:5mm}
  #schein.is-blank .s-label .from .blank{min-width:45mm}
  .s-label .blank,.s-small .blank{display:inline-block;min-width:35mm;border-bottom:1px solid #000}
}
