
.home-redo { --m-fast: 150ms; --m-base: 300ms; }
.home-redo .brand, .home-redo .footer-brand { margin-inline-start: calc(-7.5rem * .111); }
.home-redo .hero { min-height: 100svh; padding-block: calc(var(--header-h) + 48px) 48px; }
.home-redo .hero .display { max-width: 19ch; margin-inline: auto; }
.home-redo .hero .lead { max-width: 52ch; }
.home-redo .hero-photo::after { background: linear-gradient(180deg, rgb(8 16 34 / 56%), rgb(8 16 34 / 62%)); }
.home-redo .scroll-cue { padding-inline: 24px; }
.home-redo .scroll-cue span { transition: translate 150ms var(--ease); }
.home-redo .scroll-cue:hover span { translate: 0 3px; }
.home-redo .section { padding-block: 64px; }
.home-redo .home-scene { height: 150svh; position: relative; }
.home-redo .home-sticky { position: sticky; top: var(--header-h); height: calc(100svh - var(--header-h)); display: grid; align-items: center; padding-block: 32px; }
.home-redo .scene-track { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 32px; }
.home-redo .scene-left { display: grid; gap: 24px; }
.home-redo .scene-left .lead { font-size: var(--t-body); }
.home-redo .scene-steps { gap: 12px; }
.home-redo .step { opacity: 1; }
.home-redo .step-button { gap: 16px; pointer-events: auto; }
.home-redo .step-body { max-width: none; line-height: 1.45; }
.home-redo .step-number { transition: none; }
.home-redo .scene-stage { height: 560px; min-height: 0; padding: 0; order: 0; }
.home-redo .board { margin: 16px; gap: 12px; grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); }
.home-redo .reply { padding: 16px; font-size: 14px; }
.home-redo .reply-head { display: grid; grid-template-columns: 1fr; gap: 4px; }
.home-redo .reply-head .reply-case, .home-redo .reply-head .reply-to, .home-redo .reply-head .status { grid-area: auto; white-space: normal; }
.home-redo .cases-head { padding: 12px; gap: 8px; }
.home-redo .cases-count { white-space: nowrap; }
.home-redo .case { padding: 12px; }
.home-redo .reply-done { font-size: 14px; }
.home-redo .reply-sources, .home-redo .case, .home-redo .reply, .home-redo .cases-head, .home-redo .cases::before { transition-duration: 300ms; transition-delay: 0ms; }
.home-redo .letter { transition-duration: 300ms; transition-delay: 0ms; }
.home-redo .letter { width: 42%; }
.home-redo .letter:nth-of-type(1) { left: 5%; top: 5%; --rot: -2deg; }
.home-redo .letter:nth-of-type(2) { left: 53%; top: 7%; --rot: 2deg; }
.home-redo .letter:nth-of-type(3) { left: 5%; top: 29%; --rot: 1deg; }
.home-redo .letter:nth-of-type(4) { left: 53%; top: 31%; --rot: -2deg; }
.home-redo .letter:nth-of-type(5) { left: 5%; top: 53%; --rot: -2deg; }
.home-redo .letter:nth-of-type(6) { left: 53%; top: 55%; --rot: 1deg; }
.home-redo .letter:nth-of-type(7) { left: 12%; top: 78%; width: 76%; --rot: -1deg; }
.home-redo .scene-stage .reply { translate: 0 12px; }
.home-redo .scene-stage:is([data-step="2"], [data-step="3"]) .reply { translate: 0 0; }
.home-redo .scene-stage[data-step="1"] .cases-head,
.home-redo .scene-stage[data-step="1"] .case,
.home-redo .scene-stage[data-step="1"] .cases::before { opacity: 0; translate: 0 0; }
.home-redo .scene-stage[data-collected][data-step="1"] .cases-head,
.home-redo .scene-stage[data-collected][data-step="1"] .case,
.home-redo .scene-stage[data-collected][data-step="1"] .cases::before { opacity: 1; }
.home-redo .scene-stage[data-step="1"] .reply { visibility: hidden; }
.home-redo .scene-stage[data-step="1"] .letter { opacity: 1; }
.home-redo .scene-stage[data-collected] .letter { opacity: 0; transform: translate(var(--dx), var(--dy)) scale(var(--sx), var(--sy)); }
.home-redo .scene-stage[data-sent][data-approved-once] .approve { animation: none; opacity: 0; }
.home-redo .home-casework { position: relative; isolation: isolate; min-height: 650px; display: grid; align-items: center; }
.home-redo .casework-photo { position: absolute; inset: 0; z-index: -1; }
.home-redo .casework-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.home-redo .casework-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(8 16 34 / 84%) 0%, rgb(8 16 34 / 74%) 44%, rgb(8 16 34 / 16%) 100%); }
.home-redo .home-casework .lead { color: var(--site-on-night); }
.home-redo .home-evidence { padding: 24px; }
.home-redo .evidence { gap: 32px; }
.home-redo .note::before { background: var(--site-line); }
.home-redo .tiles { gap: 24px; }

.home-redo .tile { position: relative; }
.home-redo .tile .film-media { transition: transform 150ms var(--ease), box-shadow 150ms var(--ease); }
.home-redo .tile:hover .film-media, .home-redo .tile:focus-within .film-media { transform: translateY(-3px); box-shadow: var(--shadow-lift); }
.home-redo .tile .page-link::after { content: ""; position: absolute; inset: 0; }
.home-redo .tile .film-media img { transition: transform 150ms var(--ease); }
.home-redo .tile:hover .film-media img { transform: scale(1.02); }
.home-redo .tile:hover .page-link svg { translate: 3px 0; }
.home-redo .faq summary { position: relative; padding-right: 24px; }
.home-redo .faq summary::before, .home-redo .faq summary::after { content: ""; position: absolute; right: 0; width: 14px; height: 2px; background: var(--site-leaf); transition: rotate 200ms var(--ease); }
.home-redo .faq summary::after { rotate: 90deg; }
.home-redo .faq details[open] summary::after { rotate: 0deg; }
.home-redo .ending { height: calc(100svh - var(--header-h)); }
.home-redo .closing-text { padding-block: 32px; }
.home-redo .closing .display { font-size: clamp(2.75rem, min(5.2vw, 8.6svh), 5.25rem); max-width: 15ch; }
.home-redo .closing .lead { font-size: var(--t-lead); }
.home-redo .site-footer { --sky: 64px; padding-bottom: 24px; }
.home-redo .footer-nav { row-gap: 24px; }
@media (min-width: 56.001em) and (max-height: 850px) {
  .home-redo .scene-left { gap: 16px; }
  .home-redo .scene-stage { height: 540px; }
  .home-redo .home-casework { min-height: 640px; }
}
@media (prefers-reduced-motion: no-preference) {
  .home-redo .hero h1 { animation: home-heading 300ms var(--ease) both; }
  @keyframes home-heading { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
  .home-redo [data-home-reveal] { transition: opacity 300ms var(--ease), transform 300ms var(--ease); }
  .home-redo.motion-ready [data-home-reveal]:not([data-shown]) { opacity: 0; transform: translateY(12px); }
}
@media (max-width: 56em) {
  .home-redo .hero .display { font-size: 44px; }
  .home-redo .home-scene { height: auto; }
  .home-redo .home-sticky { position: static; height: auto; padding-block: 64px; }
  .home-redo .scene-track { grid-template-columns: 1fr; }
  .home-redo .scene-left { display: grid; }
  .home-redo .scene-stage { height: auto; padding: 16px; }
  .home-redo .board { grid-template-columns: 1fr; margin: 0; }
  .home-redo .letter { display: none; }
  .home-redo .home-casework { min-height: 0; }
  .home-redo .home-evidence { padding: 0; }
  .home-redo .casework-photo::after { background: rgb(8 16 34 / 76%); }
  .home-redo .card-head { flex-wrap: wrap; gap: 8px; }
  .home-redo .ending { height: auto; }
  .home-redo .closing-photo { height: 28svh; }
  .home-redo .closing-text { padding: 32px var(--gutter) 48px; }
  .home-redo .closing .display { max-width: none; }
  .home-redo .footer-nav { gap: 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .home-redo .home-scene { height: auto; }
  .home-redo .home-sticky { position: static; }
  .home-redo .step .step-number { background: var(--site-leaf); color: var(--site-paper); }
  .home-redo .button:hover, .home-redo .tile:hover .film-media, .home-redo .tile:focus-within .film-media,
  .home-redo .tile:hover .film-media img { transform: none; }
  .home-redo .page-link:hover svg, .home-redo .tile:hover .page-link svg,
  .home-redo .scroll-cue:hover span { translate: none; }
}
