.message-wall-section{
  border-top:1px solid var(--line);
}
.message-wall-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:28px;
  margin-bottom:34px;
}
.message-wall-head h2{
  margin:7px 0 0;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:clamp(2.5rem,5vw,4.6rem);
  letter-spacing:-.035em;
}
.message-wall-intro{
  max-width:440px;
  margin:0;
  color:var(--muted);
}
.message-wall-layout{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);
  gap:18px;
  align-items:start;
}
.message-wall-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.message-wall-card{
  min-height:150px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:22px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:16px;
  background:
    radial-gradient(circle at 100% 0,rgba(232,203,212,.055),transparent 42%),
    rgba(18,18,22,.74);
}
.message-wall-card.is-pinned{
  grid-column:1/-1;
  min-height:170px;
  border-color:rgba(233,169,188,.42);
  background:
    radial-gradient(circle at 100% 0,rgba(233,169,188,.12),transparent 44%),
    linear-gradient(145deg,rgba(35,24,31,.96),rgba(18,17,21,.94));
  box-shadow:0 0 28px rgba(233,169,188,.055);
}
.message-wall-pin{
  margin-bottom:-8px;
  color:#e9a9bc;
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.18em;
}
.message-wall-card.is-pinned blockquote{
  font-size:1.08rem;
}
.message-wall-card.is-pinned .message-wall-meta span:first-child{
  color:#d8abb9;
}
.message-wall-card blockquote{
  margin:0;
  color:#ece8eb;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.02rem;
  line-height:1.68;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.message-wall-meta{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  color:#827e86;
  font-size:.62rem;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.message-wall-empty{
  grid-column:1/-1;
  min-height:150px;
  display:grid;
  place-items:center;
  padding:24px;
  border:1px dashed rgba(255,255,255,.14);
  border-radius:16px;
  color:#77747b;
  font-size:.76rem;
  letter-spacing:.12em;
  text-align:center;
}
.message-wall-form-wrap{
  position:sticky;
  top:100px;
  padding:22px;
  border:1px solid rgba(232,203,212,.18);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(25,23,28,.94),rgba(15,15,18,.96));
}
.message-wall-form-wrap h3{
  margin:0 0 6px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.35rem;
  font-weight:400;
}
.message-wall-form-wrap>p{
  margin:0 0 18px;
  color:#8d8991;
  font-size:.77rem;
}
.message-wall-form{
  display:grid;
  gap:12px;
}
.message-wall-form label{
  display:grid;
  gap:7px;
  color:#9c98a0;
  font-size:.62rem;
  letter-spacing:.15em;
}
.message-wall-form input,
.message-wall-form textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.13);
  border-radius:12px;
  background:rgba(6,6,8,.62);
  color:#f5f1f3;
  font:inherit;
  outline:none;
}
.message-wall-form input{
  height:44px;
  padding:0 13px;
}
.message-wall-form textarea{
  min-height:118px;
  resize:vertical;
  padding:12px 13px;
  line-height:1.55;
}
.message-wall-form input:focus,
.message-wall-form textarea:focus{
  border-color:rgba(232,203,212,.52);
  box-shadow:0 0 0 3px rgba(232,203,212,.055);
}
.message-wall-form-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.message-wall-count{
  color:#6f6b73;
  font-size:.66rem;
}
.message-wall-submit{
  min-height:42px;
  padding:0 17px;
  border:1px solid rgba(232,203,212,.5);
  border-radius:999px;
  background:rgba(232,203,212,.94);
  color:#171418;
  font-weight:700;
  font-size:.68rem;
  letter-spacing:.12em;
  cursor:pointer;
}
.message-wall-submit:disabled{
  opacity:.48;
  cursor:wait;
}
.message-wall-status{
  min-height:1.35em;
  margin:2px 0 0;
  color:#b9b4bb;
  font-size:.72rem;
  line-height:1.5;
}
.message-wall-hp{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  white-space:nowrap !important;
}

@media(max-width:760px){
  .message-wall-head{
    display:block;
  }
  .message-wall-intro{
    margin-top:12px;
  }
  .message-wall-layout{
    grid-template-columns:1fr;
  }
  .message-wall-list{
    grid-template-columns:1fr;
  }
  .message-wall-card,
  .message-wall-card.is-pinned{
    grid-column:auto;
    min-height:132px;
    padding:19px;
  }
  .message-wall-card.is-pinned{
    min-height:148px;
  }
  .message-wall-form-wrap{
    position:static;
    padding:19px;
  }
}

@media(prefers-reduced-motion:reduce){
  .message-wall-submit{transition:none}
}
