/* /waitlist — the private-beta page. Shared editorial pieces (brand,
 * header, footer, feature strip, paper, motion) live in editorial.css. */

.ed-layer--sheet { left: 60%; top: 10%; width: 40%; height: 91%; }
.ed-paper--sheet { rotate: 1.2deg; background: #f3efe6; }
.ed-layer--chapter { left: 19.5%; top: 0; width: 56.5%; height: 58%; }
.ed-paper--chapter { rotate: 2.2deg; padding: 7.5cqw 8cqw 0 8.5cqw; background: #f5f1e8; }
.ed-layer--photo { left: 59%; top: 34.5%; width: 30%; height: 31%; }
.ed-paper--photo { rotate: -5.5deg; padding: 1.3cqw; background: #eeeae1; }
.ed-paper--photo img { display: block; width: 100%; height: 100%; object-fit: cover; filter: contrast(1.05); }
.ed-layer--list { left: 63.5%; top: 58.5%; width: 34%; height: 38%; }
.ed-paper--list { rotate: 8deg; padding: 5cqw 3.5cqw 0 6.5cqw; background: #f4f0e7; }
.ed-layer--book { left: 0; top: 13%; width: 57.5%; height: 78%; }
.ed-layer--marks { inset: 0; pointer-events: none; }
.ed-mark--oval { left: 70%; top: 19%; width: 23%; rotate: -16deg; }
.ed-mark--arrow { left: 62%; top: 27%; width: 13%; }
.ed-note--opening { left: 73.5%; top: 21.2%; rotate: -16deg; }
.ed-note--journey { left: 89%; top: 83%; font-size: 4cqw; line-height: 1.08; rotate: -17deg; }
.ed-layer--sheet { animation-delay: 60ms; }
.ed-layer--chapter { animation-delay: 120ms; }
.ed-layer--photo { animation-delay: 220ms; }
.ed-layer--list { animation-delay: 300ms; }
.ed-layer--book { animation-delay: 160ms; }
.ed-layer--marks { animation: none; }
.ed-note--journey { animation-delay: 1.9s; }
@media (max-width: 1100px) {
    .ed-note--journey { left: 80%; top: 88%; font-size: 3.6cqw; }
    .ed-feature:nth-child(3) { padding-left: 0; border-left: 0; }
}
@media (max-width: 760px) {
    .ed-note--journey { display: none; }
}
.wl-hero { position: relative; display: grid; grid-template-columns: minmax(0, 700px) minmax(0, 1fr) 76px;
           column-gap: 20px; min-height: 610px; padding: 76px 0 0 10px; border-bottom: 1px solid var(--ed-rule); }
.wl-title { font: 500 clamp(52px, 5.72vw, 88px)/0.97 var(--ed-serif); letter-spacing: -0.042em; margin: 0; color: var(--ed-ink); }
.wl-title__line { display: block; white-space: nowrap; }
.wl-title em { font-style: italic; font-weight: 500; color: var(--ed-red); letter-spacing: -0.035em; }
.wl-lede { font: 400 clamp(19px, 1.64vw, 25px)/1.29 var(--ed-serif); color: var(--ed-ink-2); max-width: 24.2em; margin: 24px 0 0 2px; }
.wl-access { margin-top: 42px; max-width: 675px; }
.wl-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; height: 59px; }
.wl-form__input { min-width: 0; height: 100%; padding: 0 26px; border: 1px solid #8a8378; border-right: 0; border-radius: 0;
                  background: rgba(250, 247, 240, 0.72); color: var(--ed-ink); font: 400 19px/1 var(--ed-serif); }
.wl-form__input::placeholder { color: #736e65; opacity: 1; }
.wl-form__input:focus { outline: none; border-color: var(--ed-ink); box-shadow: inset 0 -2px 0 var(--ed-red); }
.wl-form__input[aria-invalid='true'] { border-color: var(--ed-red); }
.wl-form__submit { display: inline-flex; align-items: center; justify-content: center; gap: 12px; height: 100%; padding: 0 30px 0 32px;
                   border: 1px solid var(--ed-red); border-radius: 0; background: var(--ed-red); color: #fbf7f0; cursor: pointer;
                   font: 400 20px/1 var(--ed-serif); letter-spacing: 0.005em; white-space: nowrap; transition: background 160ms ease; }
.wl-form__submit svg { width: 19px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.4; transition: transform 200ms var(--ed-ease); }
.wl-form__submit:hover { background: var(--ed-red-deep); }
.wl-form__submit:hover svg { transform: translateX(3px); }
.wl-error { margin: 12px 0 0; font: italic 400 16px/1.4 var(--ed-serif); color: var(--ed-red); }
.wl-caption { margin: 17px 0 0 2px; font: 500 13px/1.4 var(--ed-sans); letter-spacing: 0.21em; text-transform: uppercase; color: var(--ed-muted); }
.wl-success { position: relative; padding: 4px 0 2px; border-left: 2px solid var(--ed-red); padding-left: 22px; }
.wl-success__kicker { margin: 0 0 8px; font: 500 12.5px/1 var(--ed-sans); letter-spacing: 0.22em; text-transform: uppercase; color: var(--ed-red); }
.wl-success__title { margin: 0; font: italic 500 34px/1.1 var(--ed-serif); color: var(--ed-ink); letter-spacing: -0.02em; }
.wl-success__body { margin: 8px 0 0; font: 400 20px/1.35 var(--ed-serif); color: var(--ed-ink-2); }
.wl-success__mark { display: block; width: 210px; height: 14px; margin-top: 10px; }
.wl-success__mark path { fill: none; stroke: var(--ed-red); stroke-width: 1.6; stroke-linecap: round;
                         stroke-dasharray: 240; stroke-dashoffset: 240; animation: ed-ink 1.1s var(--ed-ease) 500ms forwards; }
.wl-hero__art { position: relative; container-type: inline-size; margin-top: -104px; margin-left: 0; align-self: start; }
.wl-collage { position: relative; width: 100%; aspect-ratio: 580 / 610; }
.wl-chapter__head { margin: 0; font: 500 2.1cqw/1 var(--ed-sans); letter-spacing: 0.26em; text-transform: uppercase; color: var(--ed-ink-2); }
.wl-chapter__rule { display: block; width: 6.8cqw; height: 0; border-top: 1px solid var(--ed-ink-2); margin: 2.6cqw 0 0; }
.wl-scrawl { position: absolute; left: 39cqw; top: 13cqw; width: 34cqw; fill: none; stroke: #4a453e; stroke-width: 0.9; opacity: 0.55; stroke-linecap: round; }
.wl-checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.4cqw; font: 500 4.9cqw/1 var(--ed-hand); color: #2c2824; }
.wl-checklist li { display: flex; align-items: center; gap: 2.8cqw; }
.wl-box { position: relative; flex: none; width: 3.2cqw; height: 3.2cqw; border: 1.5px solid #3a3530; }
.wl-box svg { position: absolute; left: -0.6cqw; top: -1.3cqw; width: 4.4cqw; height: 4.4cqw; fill: none; stroke: #2c2824; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.wl-book { position: absolute; inset: 0; rotate: -4.2deg; }
.wl-book::before {            /* the cast shadow; shifts with the pointer (see waitlist.js) */
    content: ''; position: absolute; inset: 3% -2% -3% 4%; background: rgba(35, 25, 12, 0.34); filter: blur(2.6cqw);
    transform: translate(calc(var(--ed-sx, 0) * 1cqw), calc(var(--ed-sy, 0) * 1cqw)); z-index: -1; }
.wl-book__cover { position: absolute; inset: 0; padding: 18cqw 6cqw 0 16.5cqw; overflow: hidden;
                  background: linear-gradient(90deg, #d9d2c4 0, #efe9dd 2.2%, #f7f3eb 5%, #f4efe5 60%, #ede7db 100%);
                  border: 1px solid rgba(90, 80, 60, 0.18); box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.6); }
.wl-book__cover::before { content: ''; position: absolute; top: 0; bottom: 0; left: 3.2%; width: 1px; background: rgba(90, 80, 60, 0.25); }
.wl-book__rule { position: absolute; height: 0; border-top: 1px solid var(--ed-red); }
.wl-book__rule--top { left: 14%; top: 13.5%; width: 11%; }
.wl-book__rule--mid { left: 18.5%; top: 64%; width: 9%; }
.wl-book__rule--end { left: 19%; top: 88%; width: 11%; }
.wl-book__title { margin: 0; font: 500 8.4cqw/0.93 var(--ed-serif); letter-spacing: -0.03em; color: var(--ed-ink); }
.wl-book__title em { font-style: italic; color: var(--ed-red); }
.wl-book__meta { position: absolute; left: 20%; top: 70%; margin: 0; font: 500 1.55cqw/1.85 var(--ed-sans); letter-spacing: 0.24em;
                 text-transform: uppercase; color: var(--ed-ink-2); }
.wl-process { list-style: none; margin: 0; padding: 0; align-self: start; display: grid; justify-items: center;
              font: 500 13.5px/1 var(--ed-sans); letter-spacing: 0.24em; text-transform: uppercase; color: var(--ed-ink-2); }
.wl-process li { position: relative; padding-left: 0.24em; }
.wl-process li + li { margin-top: 110px; }
.wl-process li + li::before { content: ''; position: absolute; left: 50%; bottom: calc(100% + 12px); height: 86px; width: 0;
                              border-left: 1px solid var(--ed-red); }
.wl-process li + li::after { content: ''; position: absolute; left: calc(50% - 4px); bottom: calc(100% + 12px); width: 7px; height: 7px;
                             border-right: 1px solid var(--ed-red); border-bottom: 1px solid var(--ed-red); rotate: 45deg; translate: 0.5px -1px; }
.wl-joining { padding: 22px 10px 0 12px; }
.wl-joining__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 40px; }
.wl-joining__title { margin: 0; font: 400 39px/1.2 var(--ed-serif); letter-spacing: -0.025em; color: var(--ed-ink); }
.wl-joining__rule { display: block; width: 50px; height: 0; border-top: 1px solid var(--ed-red); margin-top: 12px; }
.wl-joining__lede { margin: 16px 6px 0 0; font: 400 19px/1.4 var(--ed-serif); color: var(--ed-ink-2); text-align: right; }
.wl-box .ed-draw { animation-duration: 450ms; }
.wl-checklist li:nth-child(1) .ed-draw { animation-delay: 1.05s; }
.wl-checklist li:nth-child(2) .ed-draw { animation-delay: 1.2s; }
.wl-checklist li:nth-child(3) .ed-draw { animation-delay: 1.35s; }
.wl-checklist li:nth-child(4) .ed-draw { animation-delay: 1.5s; }
.wl-checklist li:nth-child(5) .ed-draw { animation-delay: 1.65s; }
@media (prefers-reduced-motion: reduce) {
    .wl-success__mark path {
        animation: none !important; }
    .wl-success__mark path { stroke-dashoffset: 0; }
    .wl-book::before { transform: none; }
    .wl-form__submit svg, .wl-form__submit { transition: none; }
}
@media (max-width: 1320px) {
    .wl-hero { grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr) 64px; }
}
@media (max-width: 1100px) {
    .wl-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr); padding-top: 56px; min-height: 0; padding-bottom: 36px; }
    .wl-hero__art { margin-top: -60px; }
    .wl-form__submit { padding: 0 20px; font-size: 18px; }
    .wl-process { grid-column: 1 / -1; display: flex; justify-content: flex-start; gap: 0; margin: 34px 0 0 2px; }
    .wl-process li + li { margin: 0 0 0 76px; }
    .wl-process li + li::before { left: auto; right: calc(100% + 12px); bottom: 50%; height: 0; width: 50px; border-left: 0; border-top: 1px solid var(--ed-red); }
    .wl-process li + li::after { left: auto; right: calc(100% + 12px); bottom: calc(50% - 4px); rotate: -45deg; translate: 0 0; }
    .wl-joining__head { flex-direction: column; gap: 6px; }
    .wl-joining__lede { text-align: left; margin-top: 10px; }
}
@media (max-width: 760px) {
    .wl-hero { grid-template-columns: minmax(0, 1fr); padding: 40px 0 32px; }
    .wl-title { font-size: clamp(44px, 13vw, 68px); }
    .wl-title__line { white-space: normal; }
    .wl-lede { font-size: 19px; margin-top: 20px; }
    .wl-access { margin-top: 28px; }
    .wl-form { grid-template-columns: minmax(0, 1fr); height: auto; }
    .wl-form__input { height: 54px; border-right: 1px solid #8a8378; border-bottom: 0; font-size: 18px; padding: 0 18px; }
    .wl-form__submit { height: 54px; font-size: 19px; }
    .wl-caption { font-size: 11px; letter-spacing: 0.16em; }
    .wl-hero__art { margin: 28px auto 0; width: min(100%, 440px); }
    .wl-process { margin-top: 26px; justify-content: space-between; width: 100%; font-size: 11.5px; letter-spacing: 0.18em; }
    .wl-process li + li { margin-left: 0; }
    .wl-process li + li::before, .wl-process li + li::after { display: none; }
    .wl-process li:not(:last-child)::after { content: '→'; position: static; display: inline; border: 0; width: auto; height: auto; rotate: none;
                                             translate: none; margin-left: 10px; color: var(--ed-red); letter-spacing: 0; }
    .wl-joining { padding: 20px 0 0; }
    .wl-joining__title { font-size: 32px; }
    .wl-joining__lede { font-size: 17px; }
}
