.wn-cform {
  background: var(--wn-grad-beige);
  padding-block: clamp(2.6rem, 1.8rem + 3.5vw, 5rem);
}
.wn-cform__panel {
  position: relative;
  width: min(100% - var(--wn-gut) * 2, 760px);
  margin-inline: auto;
  background: linear-gradient(168deg, #fbf4e3 0%, #efe1c0 100%);
  border: 3px solid var(--wn-gold-dk);
  border-radius: var(--wn-r-2xl);
  padding: clamp(2rem, 1.3rem + 3vw, 3.4rem);
  box-shadow: var(--wn-shadow-2);
}
.wn-cform__c {
  position: absolute;
  width: clamp(30px, 3.6vw, 42px);
  height: auto;
  pointer-events: none;
  opacity: 0.85;
}
.wn-cform__c--tl { top: -8px; left: -8px; transform: rotate(90deg); }
.wn-cform__c--br { bottom: -8px; right: -8px; transform: rotate(90deg) scale(-1, -1); }
.wn-cform__head { text-align: center; margin-bottom: clamp(1.4rem, 1rem + 1.5vw, 2.2rem); }
.wn-cform__k {
  display: block;
  font-family: var(--wn-ff-display);
  font-style: italic;
  font-weight: 600;
  font-size: 1.2rem;
  color: var(--wn-gold-dk);
  margin-bottom: 0.3rem;
}
.wn-cform__h {
  font-family: var(--wn-ff-display);
  font-weight: 600;
  font-size: clamp(1.7rem, 1.3rem + 1.6vw, 2.4rem);
  line-height: 1.12;
  color: var(--wn-ink);
}
.wn-cform__sub {
  max-width: 480px;
  margin: 0.7rem auto 0;
  font-size: 1.04rem;
  line-height: 1.55;
  color: var(--wn-soft);
}
.wn-cform__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.wn-field { display: block; margin-bottom: 1.1rem; }
.wn-field__l {
  display: block;
  margin-bottom: 0.45rem;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--wn-brown);
}
.wn-input {
  width: 100%;
  padding: 0.85rem 1rem;
  font-family: var(--wn-ff-body);
  font-size: 1.04rem;
  font-weight: 500;
  color: var(--wn-ink);
  background: var(--wn-cream);
  border: 3px solid var(--wn-line);
  border-radius: var(--wn-r-md);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.wn-input::placeholder { color: var(--wn-muted); }
.wn-input:hover { border-color: var(--wn-gold); }
.wn-input:focus {
  outline: none;
  border-color: var(--wn-gold-dk);
  background: #fffdf8;
  box-shadow: var(--wn-glow-gold);
}
textarea.wn-input { resize: none; min-height: 150px; line-height: 1.6; }
.wn-sel { position: relative; }
.wn-sel select { appearance: none; -webkit-appearance: none; padding-right: 2.8rem; cursor: pointer; }
.wn-sel__ic {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  color: var(--wn-gold-dk);
  pointer-events: none;
}
.wn-check {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  margin: 0.4rem 0 1.4rem;
  cursor: pointer;
  font-size: 1rem;
  color: var(--wn-soft);
}
.wn-check input { position: absolute; opacity: 0; width: 0; height: 0; }
.wn-check__box {
  flex: none;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  margin-top: 1px;
  background: var(--wn-cream);
  border: 3px solid var(--wn-line);
  border-radius: 7px;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.wn-check__box::after {
  content: '';
  width: 6px;
  height: 11px;
  border: solid var(--wn-cream);
  border-width: 0 3px 3px 0;
  transform: rotate(45deg) translateY(-1px);
  opacity: 0;
  transition: opacity 0.15s ease;
}
.wn-check:hover .wn-check__box { border-color: var(--wn-gold); }
.wn-check input:focus-visible + .wn-check__box { box-shadow: var(--wn-glow-gold); }
.wn-check input:checked + .wn-check__box {
  background: var(--wn-grad-wine);
  border-color: var(--wn-wine-dk);
}
.wn-check input:checked + .wn-check__box::after { opacity: 1; }
.wn-cform__send { width: 100%; }
.wn-cform__alt {
  margin-top: 1.1rem;
  text-align: center;
  font-size: 1rem;
  color: var(--wn-soft);
}
.wn-cform__alt a { color: var(--wn-wine); font-weight: 600; }
.wn-cform__alt a:hover { color: var(--wn-gold-dk); }
.wn-cform__done { text-align: center; padding: clamp(1rem, 0.5rem + 2vw, 2.4rem) 0; }
.wn-cform__seal {
  display: grid;
  place-items: center;
  width: 78px;
  height: 78px;
  margin: 0 auto 1.2rem;
  border-radius: 50%;
  color: var(--wn-gold-lt);
  background: radial-gradient(circle at 36% 30%, #5c2030 0%, #4d1824 70%);
  border: 3px solid var(--wn-gold);
  box-shadow: 0 6px 18px rgba(40, 18, 24, 0.45);
}
.wn-cform__seal .wn-ic { width: 38px; height: 38px; }
.wn-cform__dh {
  font-family: var(--wn-ff-display);
  font-weight: 600;
  font-size: clamp(1.6rem, 1.3rem + 1.4vw, 2.2rem);
  color: var(--wn-ink);
  margin-bottom: 0.6rem;
}
.wn-cform__dp {
  max-width: 460px;
  margin: 0 auto 1.4rem;
  font-size: 1.08rem;
  line-height: 1.6;
  color: var(--wn-soft);
}
.wn-cform__again {
  background: none;
  border: 0;
  font-family: var(--wn-ff-body);
  font-weight: 600;
  color: var(--wn-wine);
  cursor: pointer;
}
.wn-cform__again:hover { color: var(--wn-gold-dk); }

.wn-desk {
  background: linear-gradient(150deg, var(--wn-dark) 0%, var(--wn-wine-dk) 100%);
  padding-block: clamp(2.2rem, 1.6rem + 2.5vw, 3.6rem);
}
.wn-desk__row {
  width: min(100% - var(--wn-gut) * 2, var(--wn-wrap-wide));
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(1rem, 0.4rem + 2vw, 2.4rem);
}
.wn-desk__item { padding-top: 1.1rem; border-top: 3px solid var(--wn-line-d); }
.wn-desk__ic { width: 26px; height: 26px; color: var(--wn-gold-lt); margin-bottom: 0.7rem; }
.wn-desk__l {
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--wn-gold-lt);
  margin-bottom: 0.35rem;
}
.wn-desk__v { font-size: 1.06rem; line-height: 1.45; color: var(--wn-cream); }
.wn-desk__v a { color: inherit; }
.wn-desk__v a:hover { color: var(--wn-gold-lt); }

.wn-reaches {
  background: var(--wn-grad-beige);
  padding-block: clamp(2.6rem, 1.8rem + 3.5vw, 5rem);
}
.wn-reaches__grid {
  width: min(100% - var(--wn-gut) * 2, var(--wn-wrap-wide));
  margin: clamp(2rem, 1.4rem + 2.5vw, 3.2rem) auto 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(1.4rem, 0.9rem + 2vw, 2.4rem);
}
.wn-reaches__item { padding-top: 1.2rem; border-top: 3px solid var(--wn-gold-dk); }
.wn-reaches__ic { width: 30px; height: 30px; color: var(--wn-gold-dk); margin-bottom: 0.8rem; }
.wn-reaches__t {
  margin-bottom: 0.5rem;
  font-family: var(--wn-ff-display);
  font-weight: 600;
  font-size: 1.3rem;
  color: var(--wn-ink);
}
.wn-reaches__d { font-size: 1rem; line-height: 1.6; color: var(--wn-soft); }
.wn-reaches__note {
  width: min(100% - var(--wn-gut) * 2, 820px);
  margin: clamp(1.8rem, 1.2rem + 2vw, 2.6rem) auto 0;
  text-align: center;
  font-size: 1.06rem;
  line-height: 1.65;
  color: var(--wn-soft);
}
.wn-reaches__note b { color: var(--wn-wine); }

.wn-urgent {
  background: var(--wn-dark);
  border-top: 3px solid var(--wn-gold-dk);
  padding-block: clamp(2rem, 1.4rem + 2vw, 3.2rem);
}
.wn-urgent__in {
  width: min(100% - var(--wn-gut) * 2, var(--wn-wrap));
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem 2rem;
}
.wn-urgent__txt { flex: 1 1 360px; }
.wn-urgent__h {
  font-family: var(--wn-ff-display);
  font-weight: 600;
  font-size: clamp(1.4rem, 1.2rem + 1vw, 1.9rem);
  color: var(--wn-cream);
  margin-bottom: 0.5rem;
}
.wn-urgent__p { font-size: 1.04rem; line-height: 1.6; color: var(--wn-parch); }
.wn-urgent__p b { color: var(--wn-gold-lt); }

@media (max-width: 900px) {
  .wn-desk__row { grid-template-columns: 1fr 1fr; }
  .wn-reaches__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .wn-cform__row { grid-template-columns: 1fr; }
  .wn-desk__row { grid-template-columns: 1fr; }
  .wn-reaches__grid { grid-template-columns: 1fr; }
}
