| .presentation { |
| position: relative; |
| background: #05080d; |
| } |
|
|
| .presentation__track { |
| position: relative; |
| height: 880vh; |
| } |
|
|
| .stage { |
| position: sticky; |
| top: 0; |
| height: 100vh; |
| height: 100svh; |
| overflow: hidden; |
| background: #05080d; |
| } |
|
|
| .scene { |
| position: absolute; |
| inset: 0; |
| background-size: cover; |
| background-position: center; |
| display: flex; |
| align-items: flex-end; |
| justify-content: center; |
| } |
|
|
| .scene__veil { |
| position: absolute; |
| inset: 0; |
| background: linear-gradient( |
| 180deg, |
| rgba(5, 8, 13, 0.55) 0%, |
| rgba(5, 8, 13, 0.12) 38%, |
| rgba(5, 8, 13, 0.86) 100% |
| ); |
| } |
|
|
| .scene__text { |
| position: relative; |
| text-align: center; |
| padding: 0 24px 12vh; |
| max-width: 780px; |
| } |
|
|
| .scene__kicker { |
| text-transform: uppercase; |
| letter-spacing: 0.4em; |
| font-size: 11px; |
| color: #8fa6bd; |
| margin-bottom: 14px; |
| } |
|
|
| .scene__title { |
| font-size: clamp(30px, 5vw, 58px); |
| font-weight: 500; |
| letter-spacing: 0.04em; |
| margin: 0; |
| color: #eaf2fb; |
| text-shadow: 0 2px 30px rgba(0, 0, 0, 0.6); |
| } |
|
|
| .scene__sub { |
| margin: 14px auto 0; |
| color: #c9d6e5; |
| max-width: 540px; |
| font-size: 14px; |
| text-shadow: 0 1px 16px rgba(0, 0, 0, 0.7); |
| } |
|
|
| .scene__shade { |
| position: absolute; |
| left: 0; |
| right: 0; |
| top: -8%; |
| height: 108%; |
| background: |
| linear-gradient( |
| 180deg, |
| rgba(8, 10, 14, 0.98) 0%, |
| rgba(18, 23, 30, 0.97) 70%, |
| rgba(28, 34, 44, 0.92) 88%, |
| rgba(44, 51, 61, 0.5) 96%, |
| rgba(44, 51, 61, 0) 100% |
| ); |
| filter: blur(1.5px); |
| pointer-events: none; |
| } |
|
|
| .scene__shade::after { |
| content: ""; |
| position: absolute; |
| left: 0; |
| right: 0; |
| bottom: -6%; |
| height: 14%; |
| background: radial-gradient( |
| ellipse at 50% 0%, |
| rgba(28, 34, 44, 0.75) 0%, |
| rgba(28, 34, 44, 0.3) 40%, |
| rgba(28, 34, 44, 0) 75% |
| ); |
| filter: blur(6px); |
| pointer-events: none; |
| } |
|
|
| .explain { |
| position: absolute; |
| inset: 0; |
| display: grid; |
| place-items: center; |
| } |
|
|
| .explain__header { |
| position: absolute; |
| top: 12vh; |
| left: 0; |
| right: 0; |
| text-align: center; |
| text-transform: uppercase; |
| letter-spacing: 0.4em; |
| font-size: 12px; |
| color: var(--info); |
| } |
|
|
| .explain__panel { |
| position: absolute; |
| width: min(560px, 86vw); |
| border: 1px solid var(--panel-edge); |
| background: rgba(8, 13, 20, 0.82); |
| backdrop-filter: blur(2px); |
| padding: 28px 30px; |
| text-align: left; |
| } |
|
|
| .explain__panel h3 { |
| margin: 0 0 8px; |
| font-size: 18px; |
| letter-spacing: 0.06em; |
| color: var(--info); |
| } |
|
|
| .explain__panel p { |
| margin: 0; |
| color: var(--text); |
| font-size: 14px; |
| } |
|
|
| .ack { |
| position: absolute; |
| inset: 0; |
| display: flex; |
| flex-direction: column; |
| align-items: center; |
| justify-content: center; |
| gap: 10px; |
| text-align: center; |
| } |
|
|
| .ack__title { |
| font-size: clamp(26px, 4vw, 44px); |
| letter-spacing: 0.12em; |
| color: #eaf2fb; |
| } |
|
|
| .presentation__skip { |
| position: fixed; |
| top: 18px; |
| right: 18px; |
| z-index: 20; |
| } |
|
|
| .presentation__progress { |
| position: fixed; |
| left: 0; |
| top: 0; |
| height: 2px; |
| background: var(--info); |
| transform-origin: 0 50%; |
| z-index: 20; |
| } |
|
|
| @media (max-width: 900px) { |
| .presentation__track { |
| height: 700vh; |
| height: 700svh; |
| } |
|
|
| .scene { |
| align-items: center; |
| } |
|
|
| .scene__text { |
| padding: 0 18px 14vh; |
| max-width: 100%; |
| } |
|
|
| .scene__kicker { |
| letter-spacing: 0.28em; |
| font-size: 10px; |
| } |
|
|
| .scene__title { |
| letter-spacing: 0.02em; |
| } |
|
|
| .scene__sub { |
| font-size: 13px; |
| max-width: 92vw; |
| padding-bottom: 8px; |
| } |
|
|
| .explain__header { |
| top: 8vh; |
| letter-spacing: 0.28em; |
| font-size: 11px; |
| padding: 0 12px; |
| } |
|
|
| .explain__panel { |
| width: min(92vw, 520px); |
| padding: 18px 18px; |
| } |
|
|
| .explain__panel h3 { |
| font-size: 16px; |
| } |
|
|
| .explain__panel p { |
| font-size: 13px; |
| } |
|
|
| .presentation__skip { |
| top: 12px; |
| right: 12px; |
| background: rgba(5, 8, 13, 0.6); |
| padding: 6px 8px; |
| border-radius: 2px; |
| } |
| } |
|
|