.idea-page {
  padding-block: clamp(48px, 8vw, 110px);
}
.idea-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.17fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(36px, 7vw, 104px);
}
.idea-intro h1 {
  max-width: 12ch;
  margin: 0 0 24px;
  font-size: clamp(44px, 5.5vw, 78px);
  font-weight: 550;
  line-height: 1.03;
  letter-spacing: -.052em;
}
.idea-intro > p:not(.eyebrow) {
  max-width: 43ch;
  margin: 0 0 18px;
  color: #d9dfd3;
  font-size: 17px;
  line-height: 1.65;
}
.idea-intro > p.idea-detail {
  color: #b5bfae;
  font-size: 15px;
}
.idea-card {
  min-width: 0;
  padding: clamp(25px, 3.6vw, 50px);
  color: #171916;
  background: #e8ecdf;
  border: 1px solid #d0d9c5;
  border-radius: 20px;
  color-scheme: light;
}
.idea-card .eyebrow {
  margin-bottom: 22px;
  color: #536447;
}
.idea-card h2 {
  margin: 0 0 14px;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.08;
  letter-spacing: -.045em;
}
.idea-card > p:not(.eyebrow) {
  margin: 0 0 24px;
  color: #45503e;
  font-size: 15px;
  line-height: 1.65;
}
.idea-card .button {
  background: #20291d;
  border-color: #20291d;
  color: #fff;
}
.idea-card .button:hover {
  background: #394d2e;
  color: #fff;
}
.idea-mail-details {
  margin-top: 28px;
  padding-top: 19px;
  border-top: 1px solid #bac4b0;
  font-size: 13px;
  line-height: 1.55;
}
.idea-mail-details p { margin: 0 0 10px; font-weight: 600; }
.idea-mail-details dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 3px 12px; margin: 0; }
.idea-mail-details dt { color: #495341; }
.idea-mail-details dd { margin: 0; overflow-wrap: anywhere; user-select: all; }
.room-note {
  display: none;
  margin: 0 0 32px;
  padding: 18px 22px;
  border-left: 3px solid #b3bfa7;
  background: #172013;
  color: #edf0e7;
  scroll-margin-block-start: 16px;
}
.room-note:target { display: block; }
.room-note h2 { margin: 0 0 5px; font-size: 21px; letter-spacing: -.03em; }
.room-note p { margin: 0; font-size: 14px; line-height: 1.6; }
@media (max-width: 760px) {
  .idea-layout { grid-template-columns: 1fr; gap: 25px; }
  .idea-intro h1 { max-width: 14ch; }
  .idea-card { max-width: 560px; }
}
@media (max-width: 430px) {
  .idea-page { padding-block: 38px; }
  .idea-card .button { width: 100%; }
}
