.contact-hero{flex:0 0 auto;margin-bottom:1.25rem}

.offer-card-compact{
  width:min(100%,18rem);
  margin-top:1.25rem;
}

.form-card{
  width:100%;
  max-width:26rem;
  margin:0 auto;
  padding:1.35rem 1.35rem 1.15rem;
  border-radius:1.125rem;
  background:var(--atelier-card);
  border:1px solid var(--atelier-border);
  box-shadow:0 24px 70px -28px rgba(33,31,28,.28);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  text-align:left;
  animation:atelier-rise .7s cubic-bezier(.22,1,.36,1) .08s both;
}

.stack{display:grid;gap:1rem}
.field{display:grid;gap:.35rem}
.field label{
  font-size:.875rem;
  font-weight:600;
  color:var(--atelier-fg);
}
.field input,.field textarea{
  width:100%;
  padding:.75rem .9rem;
  font:inherit;
  color:var(--atelier-fg);
  background:#fff;
  border:1px solid var(--atelier-border);
  border-radius:.8rem;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.field textarea{min-height:9rem;resize:vertical;line-height:1.7}
.field input:focus-visible,.field textarea:focus-visible{
  outline:2px solid var(--atelier-accent);
  outline-offset:1px;
  border-color:transparent;
}

.submit{
  display:grid;
  gap:.1rem;
  width:100%;
  min-height:2.75rem;
  padding:.75rem 1.375rem;
  border:0;
  border-radius:.75rem;
  background:var(--atelier-accent);
  color:var(--atelier-accent-ink);
  font:inherit;
  font-weight:600;
  line-height:1.35;
  cursor:pointer;
  box-shadow:0 10px 30px -12px var(--atelier-accent);
  transition:background .15s ease,transform .15s ease;
}
.submit .en{
  color:inherit;
  opacity:.82;
  font-size:.78em;
  font-weight:500;
}
.submit:hover{
  background:var(--atelier-accent-hover);
  transform:translateY(-1px);
}
.submit:active{transform:scale(.97)}

.notice{
  margin:0 0 1rem;
  padding:.8rem 1rem;
  border-radius:.8rem;
  border:1px solid transparent;
  font-size:.9375rem;
}
.notice-success{
  background:var(--atelier-ok-bg);
  border-color:var(--atelier-ok);
  color:var(--atelier-ok);
}
.notice-error{
  background:var(--atelier-ng-bg);
  border-color:var(--atelier-ng);
  color:var(--atelier-ng);
}

.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.back{
  margin:1.15rem 0 0;
  text-align:center;
  font-size:.875rem;
}
.back a{
  color:var(--atelier-muted);
  text-decoration:none;
}
.back a:hover{color:var(--atelier-accent)}
