/* Moments are translucent records. One card becomes the reading surface when opened. */
html:not(.js) .moment-open {
  display: none;
}
.section-feel .moment-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2.4vw, 2.4rem);
  max-width: none;
  margin: 0;
}
.section-feel .moment {
  position: relative;
  min-height: 12rem;
  padding: clamp(1.2rem, 2.4vw, 2rem);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--mist) 30%, transparent);
  background: color-mix(in srgb, var(--mist) 8%, transparent);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.12);
  backdrop-filter: blur(10px);
  transition:
    transform 0.32s var(--ease),
    background 0.32s var(--ease),
    border-color 0.32s var(--ease);
}
.section-feel .moment:before {
  display: none;
}
.section-feel .moment:hover,
.section-feel .moment:focus-within {
  transform: translateY(-4px);
  background: color-mix(in srgb, var(--mist) 13%, transparent);
  border-color: var(--cyan);
}
.section-feel .moment time,
.section-feel .moment > div {
  position: relative;
  z-index: 1;
}
.section-feel .moment > div {
  max-height: 10.25rem;
  margin-top: 1rem;
  overflow: hidden;
}
html.js .section-feel .moment .moment-discussion {
  display: none;
}
html:not(.js) .section-feel .moment {
  min-height: 0;
  overflow: visible;
}
html:not(.js) .section-feel .moment > div {
  max-height: none;
}
html:not(.js) .section-feel .moment .moment-discussion {
  display: block;
  margin-top: 2.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}
.moment-open {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.moment-open:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: -5px;
}
.moment-focus-layer {
  position: fixed;
  z-index: 90;
  inset: 0;
  display: block;
  background: color-mix(in srgb, var(--ocean-deep) 38%, transparent);
  backdrop-filter: blur(0);
  opacity: 0;
  transition:
    opacity 0.44s var(--ease),
    backdrop-filter 0.44s var(--ease);
}
.moment-focus-layer.is-open {
  opacity: 1;
  backdrop-filter: blur(18px);
}
.moment-focus-card {
  position: fixed;
  z-index: 1;
  box-sizing: border-box;
  overflow: hidden;
  border: 0;
  background: var(--ocean);
  box-shadow: none;
  color: var(--ink);
  transition:
    top 0.58s var(--ease),
    left 0.58s var(--ease),
    width 0.58s var(--ease),
    height 0.58s var(--ease);
}
.moment-focus-card.is-expanded {
  display: grid;
  grid-template-columns: minmax(10rem, 0.65fr) minmax(0, 1.7fr);
  grid-template-rows: auto auto auto;
  column-gap: clamp(2rem, 8vw, 10rem);
  align-content: start;
  overflow: auto;
  padding: clamp(2rem, 6vw, 7rem) clamp(1.4rem, 6vw, 8rem);
  scrollbar-color: var(--ink) transparent;
}
.moment-focus-card .moment-open {
  display: none;
}
.moment-focus-card time {
  grid-column: 1;
  grid-row: 2;
  align-self: start;
  display: block;
  padding-top: 0.32rem;
  color: var(--ink);
  font: 0.72rem var(--mono);
  letter-spacing: 0.14em;
}
.moment-focus-card > div {
  grid-column: 2;
  grid-row: 2;
  width: min(72ch, 100%);
  margin: 0;
  overflow: visible;
  font-size: clamp(1.08rem, 1.38vw, 1.28rem);
  line-height: 1.92;
}
.moment-focus-card > div p {
  margin: 0 0 1.35em;
}
.moment-focus-card .moment-discussion {
  display: block;
  grid-column: 2;
  grid-row: 3;
  width: min(72ch, 100%);
  margin-top: clamp(3.5rem, 8vw, 8rem);
  padding-top: 1.15rem;
  border-top: 1px solid color-mix(in srgb, var(--ink) 36%, transparent);
}
.moment-discussion-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.5rem;
}
.moment-discussion-head h2 {
  margin: 0;
  color: var(--ink);
  font: 900 clamp(1.55rem, 2.5vw, 2.15rem)/1 var(--display);
  letter-spacing: 0;
}
.moment-discussion-head span {
  color: var(--muted);
  font-size: 0.76rem;
}
.moment-comment-list,
.moment-comment-children {
  padding: 0;
  list-style: none;
}
.moment-comment-list {
  margin: 1.9rem 0 0;
}
.moment-comment-children {
  margin: 1rem 0 0 clamp(1rem, 3vw, 2.5rem);
}
.moment-focus-card .comment-body {
  margin: 1.1rem 0;
}
.moment-focus-card .comment-body > article {
  padding: 1.05rem 0;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--ink) 20%, transparent);
}
.moment-focus-card .comment-body header {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  color: var(--ink);
  font-size: 0.75rem;
}
.moment-focus-card .comment-body header img {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
}
.moment-focus-card .comment-body header time {
  display: block;
  margin-left: auto;
  padding: 0;
  color: var(--muted);
  font: 0.72rem var(--mono);
  letter-spacing: 0;
}
.moment-focus-card .comment-content {
  margin: 0.75rem 0 0 2.7rem;
  color: var(--ink);
  font-size: 0.94rem;
  line-height: 1.75;
}
.moment-focus-card .moment-respond {
  margin-top: clamp(3rem, 6vw, 5rem);
}
.moment-focus-card .respond {
  margin-top: 0;
}
.moment-focus-card .respond .form-grid {
  margin-bottom: 1rem;
}
.moment-focus-card .respond label {
  color: var(--muted);
}
.moment-focus-card .respond input,
.moment-focus-card .respond textarea {
  border-color: color-mix(in srgb, var(--ink) 34%, transparent);
  background: color-mix(in srgb, var(--mist) 14%, transparent);
  color: var(--ink);
}
.moment-focus-card .respond input:focus,
.moment-focus-card .respond textarea:focus {
  border-color: var(--ink);
}
.moment-focus-card .respond button {
  border-color: var(--signal);
  background: var(--signal);
  color: var(--ocean);
}
.moment-focus-card .respond button:hover,
.moment-focus-card .respond button:focus-visible {
  background: transparent;
  color: var(--signal);
}
.moment-submit-status {
  min-height: 1.5em;
  margin: 1rem 0 0;
  color: var(--muted);
  font-size: 0.8rem;
}
.moment-comments-closed {
  margin: 2rem 0 0;
  color: var(--muted);
  font-size: 0.88rem;
}
.moment-close {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  margin: 0 0 clamp(4rem, 10vw, 10rem);
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: var(--ink);
  font: 700 0.76rem/1 var(--display);
  letter-spacing: 0.04em;
  cursor: pointer;
}
.moment-close:hover,
.moment-close:focus-visible {
  color: var(--muted);
  outline: 0;
}
body.moment-is-open {
  overflow: hidden;
}

@media (min-width: 901px) {
  .section-feel .moment-strip {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-auto-flow: dense;
    gap: clamp(1rem, 2vw, 2rem) clamp(1rem, 2.4vw, 2.6rem);
    padding: clamp(0.5rem, 2vw, 2rem) 0;
  }
  .section-feel .moment {
    --moment-turn: 0deg;
    grid-column: span 5;
    min-height: 13rem;
    border-radius: 26px 10px 30px 14px;
    transform: rotate(var(--moment-turn));
  }
  .section-feel .moment:nth-child(3n + 1) {
    --moment-turn: -1deg;
    grid-column: span 7;
    margin-top: clamp(0.5rem, 2vw, 2rem);
    border-radius: 34px 12px 26px 8px;
  }
  .section-feel .moment:nth-child(3n + 2) {
    --moment-turn: 0.7deg;
    grid-column: span 5;
    margin-top: clamp(2rem, 5vw, 6rem);
    border-radius: 12px 30px 10px 28px;
  }
  .section-feel .moment:nth-child(3n) {
    --moment-turn: -0.35deg;
    grid-column: span 6;
    margin-top: clamp(-0.5rem, -1vw, -0.1rem);
    border-radius: 18px 34px 8px 26px;
  }
  .section-feel .moment:hover,
  .section-feel .moment:focus-within {
    transform: translateY(-7px) rotate(var(--moment-turn));
  }
}

@media (max-width: 900px) {
  .moment-focus-card.is-expanded {
    display: block;
    padding: 1.5rem 1.25rem 3rem;
  }
  .moment-focus-card time {
    padding: 0;
    margin: 0 0 2.5rem;
  }
  .moment-focus-card > div {
    width: 100%;
    font-size: 1.04rem;
    line-height: 1.84;
  }
  .moment-focus-card .moment-discussion {
    width: 100%;
    margin-top: 3.5rem;
  }
  .moment-close {
    display: block;
    margin: 0 0 4.5rem auto;
  }
}
