.zavel-contact-main { margin-block: 0; }
.zavel-contact {
  color: var(--zavel-charcoal);
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  column-gap: clamp(2.5rem, 7vw, 8rem);
  row-gap: 0;
  max-width: 94rem;
  margin: 0 auto;
  padding: clamp(3rem, 6vw, 6.5rem) var(--wp--preset--spacing--page-padding) 5rem;
}
.zavel-contact-intro { grid-column:1; grid-row:1; align-self:start; }
.zavel-contact [hidden] { display: none !important; }
.zavel-contact-kicker { display:flex; align-items:center; gap:1rem; margin:0 0 2rem; }
.zavel-contact-kicker::before { content:""; width:2rem; height:1px; background:var(--zavel-clay-deep); }
.zavel-contact h1 {
  font-family: var(--wp--preset--font-family--serif);
  font-size: clamp(3rem, 4.9vw, 5.4rem);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.035em;
  margin: 0 0 1.7rem;
}
.zavel-contact h1 span { color:var(--zavel-clay-deep); }
.zavel-contact-lead { max-width:29rem; font-size:1.05rem; line-height:1.75; color:var(--zavel-charcoal-soft); margin:0; }
.zavel-contact-drawing { width:100%; max-width:32rem; margin:2rem 0; }
.zavel-contact-drawing img { display:block; width:100%; height:auto; aspect-ratio:3 / 2; object-fit:contain; }
.zavel-contact-direct { grid-column:1; grid-row:2; align-self:start; max-width:27rem; border-top:1px solid var(--zavel-line); padding-top:1.3rem; }
.zavel-contact-direct > p { margin:0 0 .6rem; color:var(--zavel-charcoal-soft); }
.zavel-contact-direct a { color:inherit; text-decoration:none; display:flex; justify-content:space-between; align-items:center; gap:1rem; min-height:44px; }
.zavel-contact-email { font-family:var(--wp--preset--font-family--serif); font-size:2rem; margin-bottom:1rem; }
.zavel-contact-person { font-size:.85rem; line-height:1.6; flex-wrap:wrap; }
.zavel-contact-person span:last-child { font-variant-numeric:tabular-nums; color:var(--zavel-charcoal-soft); }
.zavel-contact-direct a:hover { text-decoration:underline; text-underline-offset:5px; }
.zavel-contact-sheet { grid-column:2; grid-row:1 / span 2; border-top:1px solid var(--zavel-charcoal); padding-top:1.75rem; align-self:start; }
.zavel-contact-form { position:relative; }
.zavel-contact fieldset { padding:0; border:0; margin:0; min-width:0; }
.zavel-contact legend { display:flex; gap:1rem; font:500 1rem/1.6 var(--wp--preset--font-family--sans); padding:0; margin:0 0 1.2rem; }
.zavel-contact legend > span { font-size:.75rem; color:var(--zavel-clay-deep); font-variant-numeric:tabular-nums; padding-top:.2rem; }
.zavel-contact-choices { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.zavel-contact-choices label { position:relative; cursor:pointer; }
.zavel-contact-choices input { position:absolute; opacity:0; width:1px; height:1px; }
.zavel-contact-choices label > span { display:grid; grid-template-columns:1fr 1rem; align-content:start; gap:.65rem .6rem; height:100%; min-height:132px; padding:1.1rem; border:1px solid var(--zavel-charcoal-soft); font-size:.85rem; line-height:1.5; }
.zavel-contact-choice-title { grid-column:1; grid-row:1; font-weight:600; }
.zavel-contact-choice-note { grid-column:1 / -1; font-size:.8rem; line-height:1.65; }
.zavel-contact-choices label > span::before { content:""; grid-column:2; grid-row:1; width:1rem; height:1rem; margin-top:.15rem; border:1px solid currentColor; border-radius:50%; text-align:center; font-size:.7rem; line-height:.9rem; }
.zavel-contact-choices label:hover > span { background:var(--zavel-paper-soft); }
.zavel-contact-choices input:checked + span { border-color:var(--zavel-charcoal); background:var(--zavel-charcoal); color:var(--zavel-button-text); }
.zavel-contact-choices input:checked + span::before { content:"✓"; }
.zavel-contact-choices input:focus-visible + span { outline:2px solid var(--zavel-focus); outline-offset:4px; }
.zavel-contact-reply { margin-bottom:1.5rem; }
.zavel-contact-reply label > span { min-height:3.5rem; }
.zavel-contact-caption { margin-top:.75rem; color:var(--zavel-charcoal-soft); font-size:.85rem; line-height:1.6; }
.zavel-contact .zavel-contact-details { margin-top:2.5rem; }
.zavel-contact-required { margin:-.5rem 0 1.5rem; font-size:.8rem; line-height:1.6; color:var(--zavel-charcoal-soft); }
.zavel-contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem 1.5rem; }
.zavel-contact-fields label { display:block; font-size:.85rem; line-height:1.6; }
.zavel-contact-full { grid-column:1 / -1; }
.zavel-contact-fields input,
.zavel-contact-fields textarea { display:block; width:100%; border:0; border-bottom:1px solid var(--zavel-charcoal-soft); border-radius:0; background:transparent; color:var(--zavel-charcoal); font:400 1rem/1.6 var(--wp--preset--font-family--sans); padding:.5rem .2rem; min-height:48px; box-shadow:none; }
.zavel-contact-fields textarea { resize:vertical; min-height:104px; }
.zavel-contact-fields input:focus,
.zavel-contact-fields textarea:focus { background:var(--zavel-paper-soft); border-bottom-color:var(--zavel-clay-deep); }
.zavel-contact :is(a, button, input, textarea):focus-visible { outline:2px solid var(--zavel-focus); outline-offset:4px; }
.zavel-contact input:user-invalid,
.zavel-contact textarea:user-invalid { border-bottom:2px solid var(--zavel-error-text); }
.zavel-contact-hint { font-size:.8rem; line-height:1.65; color:var(--zavel-charcoal-soft); margin:.8rem 0 0; max-width:32rem; }
.zavel-contact-send { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin-top:2rem; }
.zavel-contact-send p { font-size:.8rem; line-height:1.65; color:var(--zavel-charcoal-soft); max-width:17rem; margin:0; }
.zavel-contact-send button { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-shrink:0; cursor:pointer; min-height:56px; padding:1rem 1.4rem; border:1px solid var(--zavel-charcoal); background:var(--zavel-charcoal); color:var(--zavel-button-text); font:650 .85rem/1.5 var(--wp--preset--font-family--sans); }
.zavel-contact-send button:hover { background:var(--zavel-charcoal-soft); }
.zavel-contact-send button:disabled { cursor:wait; opacity:.7; }
.zavel-contact-feedback { color:var(--zavel-error-text); font-size:.9rem; line-height:1.65; scroll-margin-top:8rem; }
.zavel-contact-feedback:not(:empty) { border-left:2px solid currentColor; padding:.8rem 1rem; margin-top:1.5rem; }
.zavel-contact-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.zavel-contact-success { padding:3rem 0; scroll-margin-top:8rem; }
.zavel-contact.zavel-contact-thanks { display:block; max-width:54rem; min-height:65vh; }
.zavel-contact-thanks .zavel-contact-success { padding:0; }
.zavel-contact-thanks h1 { max-width:13ch; }
.zavel-contact-thanks .zavel-contact-success > p:not(.zavel-micro-label) { font-size:1rem; line-height:1.8; max-width:32rem; margin:1.5rem 0 2rem; }
.zavel-contact-check { display:grid; place-items:center; width:3.5rem; height:3.5rem; border:1px solid var(--zavel-clay-deep); border-radius:50%; font-size:1.5rem; color:var(--zavel-clay-deep); margin-bottom:2rem; }
.zavel-contact-success h2 { font:400 clamp(2.5rem, 3vw, 3.5rem)/1.1 var(--wp--preset--font-family--serif); margin:1rem 0; }
.zavel-contact-success > p:last-child { font-size:1rem; line-height:1.8; max-width:30rem; }
@media (min-width:1600px) { .zavel-contact { padding-inline:3rem; } }
@media (max-width:1000px) {
  .zavel-contact { display:flex; flex-direction:column; gap:0; max-width:48rem; }
  .zavel-contact-sheet { margin-top:2.5rem; align-self:stretch; }
  .zavel-contact h1 { font-size:clamp(3rem, 8vw, 4.5rem); }
  .zavel-contact-drawing { margin-bottom:0; }
  .zavel-contact-direct { margin-top:2.5rem; max-width:none; align-self:stretch; }
}
@media (max-width:480px) {
  .zavel-contact { padding-top:2.5rem; padding-bottom:3rem; }
  .zavel-contact-kicker { margin-bottom:1.5rem; }
  .zavel-contact-choices { grid-template-columns:1fr; }
  .zavel-contact-choices label > span { min-height:0; }
  .zavel-contact-fields { grid-template-columns:1fr; gap:1.3rem; }
  .zavel-contact-send { flex-direction:column; align-items:stretch; gap:1.2rem; }
  .zavel-contact-send p { max-width:none; }
  .zavel-contact-email { font-size:1.8rem; }
  .zavel-contact-person { column-gap:.5rem; }
}
