/* Keep the rice project with the profile; use the floating slot for 2028. */
.profile__actions {
  display: flex;
  align-items: flex-end;
  gap: 22px;
  max-width: 500px;
  margin-top: 28px;
}
.profile__actions .profile__more {
  flex: 1 1 auto;
  min-width: 0;
  margin-top: 0;
  gap: 10px;
}
.rice-teaser--profile { flex: 0 0 92px; }

.site-menu__secondary { flex-wrap: wrap; }
.site-menu__rice {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 8px 14px;
  border: var(--line);
  border-radius: 99px;
  color: var(--ink);
  background: transparent;
  cursor: pointer;
  font-size: 14px;
  font-weight: 800;
}
.site-menu__rice > span {
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  border: 1px solid currentColor;
  border-radius: 4px;
  background: var(--yellow);
  font-size: 13px;
  line-height: 1;
}
.site-menu__rice:hover, .site-menu__rice:focus-visible { background: var(--yellow); }

/* An editorial lead distinguishes the third-person introduction from the story below. */
.profile-dialog__body .profile-dialog__intro {
  margin: 0 0 32px;
  padding: 14px 0 20px 20px;
  border-left: 3px solid var(--blue);
  border-bottom: 1px solid rgba(23,24,20,.24);
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: clamp(18px, 2.2vw, 21px);
  font-weight: 600;
  line-height: 1.75;
  letter-spacing: .012em;
}
.profile-dialog__intro::before {
  content: "PROFILE NOTE";
  display: block;
  margin-bottom: 12px;
  color: var(--blue);
  font: 900 11px/1 Arial, sans-serif;
  letter-spacing: .14em;
}
.profile-dialog__intro + h3 { margin-top: 0; }

.future-teaser {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 92px;
  height: 92px;
  border: 2px solid var(--ink);
  border-radius: 50%;
  color: var(--ink);
  background: var(--yellow);
  box-shadow: 3px 4px 0 var(--ink);
  cursor: pointer;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.3;
}
.floating-actions {
  left: calc(18px + env(safe-area-inset-left, 0px));
  right: calc(18px + env(safe-area-inset-right, 0px));
  bottom: calc(18px + env(safe-area-inset-bottom, 0px));
}
.future-teaser__year { font: 900 23px/1 Arial, sans-serif; letter-spacing: -.06em; }
.future-teaser:hover { transform: translateY(-3px); }

.future-dialog {
  width: min(calc(100% - 32px), 720px);
  max-height: min(90vh, 800px);
  padding: 0;
  overflow: auto;
  border: 2px solid var(--ink);
  color: var(--ink);
  background: var(--paper);
  box-shadow: 9px 9px 0 var(--yellow);
}
.future-dialog::backdrop { background: rgba(23,24,20,.7); }
.future-dialog__body { padding: clamp(25px, 5vw, 54px); }
.future-dialog__year {
  margin: 0 0 20px;
  font: 900 clamp(86px, 19vw, 155px)/.8 Arial, sans-serif;
  letter-spacing: -.1em;
}
.future-dialog__body .kicker { margin-bottom: 10px; }
.future-dialog__body h2 {
  margin: 0 0 26px;
  font-family: var(--display);
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.25;
  letter-spacing: -.055em;
}
.future-dialog__body > p:not(.future-dialog__year, .kicker) { margin: 0 0 18px; font-size: 17px; line-height: 1.8; }
.future-dialog__links { display: flex; flex-wrap: wrap; gap: 10px 25px; margin-top: 28px; }
.future-dialog__links a { padding-bottom: 3px; border-bottom: 2px solid currentColor; font-size: 15px; font-weight: 900; }
.future-dialog__links a:hover { color: var(--blue); }

@media (max-width: 767px) {
  .profile__actions { gap: 15px; }
  .rice-teaser--profile { flex-basis: 84px; }
  .future-teaser { width: 84px; height: 84px; }
  .future-teaser__year { font-size: 21px; }
  .future-dialog__body > p:not(.future-dialog__year, .kicker) { font-size: 16px; }
  .future-dialog__links a { font-size: 14px; }
}

@media (max-width: 380px) {
  .profile__actions { gap: 10px; }
  .rice-teaser--profile { flex-basis: 76px; width: 76px; height: 76px; font-size: 11px; }
  .profile__actions .profile__more { font-size: 14px; }
}
