/* AuthorNode™ Intelligence — shared editorial layer for the public pages
 * (/waitlist, the maintenance page): warm paper, near-black ink, proof red,
 * Lora display, letterspaced Plus Jakarta Sans metadata, Caveat for
 * handwritten proof notes. All fonts are self-hosted.
 *
 * Components: page frame, brand, header + action button, eyebrow, margin
 * tick, paper layers, proof marks and notes, the numbered feature strip,
 * footer. Motion: entrance (.ed-enter), settle (.ed-layer), slow drift
 * (.ed-drift--a…d), proof marks drawing in (.ed-draw), notes fading in
 * (.ed-note); pointer parallax is static/js/editorial-motion.js. Everything
 * moving is switched off under prefers-reduced-motion.
 */

@font-face { font-family: 'Lora'; font-style: normal; font-weight: 400 700; font-display: swap;
             src: url('../fonts/lora-variable-normal-latin.woff2?v=9577af3ccd') format('woff2'); }
@font-face { font-family: 'Lora'; font-style: italic; font-weight: 400 700; font-display: swap;
             src: url('../fonts/lora-variable-italic-latin.woff2?v=1640b0b69e') format('woff2'); }
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 200 800; font-display: swap;
             src: url('../fonts/plus-jakarta-sans-variable-latin.woff2?v=7660bd9909') format('woff2'); }
@font-face { font-family: 'AN Editorial Hand'; font-style: normal; font-weight: 500; font-display: swap;
             src: url('../fonts/caveat-500-editorial-notes.woff2?v=c5952bf526') format('woff2'); }
:root {
    --ed-paper: #f1ece2;
    --ed-paper-2: #f6f2ea;
    --ed-sheet: #faf7f0;
    --ed-ink: #141210;
    --ed-ink-2: #2a2723;
    --ed-ink-3: #5c5750;
    --ed-muted: #6c675e;
    --ed-rule: #a39c90;
    --ed-rule-soft: #cbc4b7;
    --ed-red: #a11d21;
    --ed-red-deep: #8a171b;
    --ed-serif: 'Lora', Georgia, 'Times New Roman', serif;
    --ed-sans: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --ed-hand: 'AN Editorial Hand', 'Bradley Hand', 'Segoe Print', cursive;
    --ed-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
    --ed-gutter: clamp(20px, 3.8vw, 58px);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; overflow-x: clip; }
body.ed {
    margin: 0;
    background: var(--ed-paper);
    color: var(--ed-ink);
    font-family: var(--ed-serif);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
}
body.ed::before {
    content: ''; position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: 0.5;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.3 0 0 0 0 0.22 0 0 0 0.07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
body.ed::after {       /* a soft vignette, like a lit desk */
    content: ''; position: fixed; inset: 0; z-index: 0; pointer-events: none;
    background: radial-gradient(ellipse at 62% 30%, rgba(255, 252, 245, 0.55), transparent 60%);
}
a { color: inherit; }
.ed-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ed-skip { position: absolute; left: -9999px; top: 12px; z-index: 20; padding: 8px 14px; background: var(--ed-sheet); border: 1px solid var(--ed-ink); }
.ed-skip:focus { left: 12px; }
:focus-visible { outline: 2px solid var(--ed-red); outline-offset: 3px; }
.ed-page { position: relative; z-index: 1; max-width: calc(1420px + 2 * var(--ed-gutter)); margin: 0 auto; padding: 0 var(--ed-gutter); }
.ed-brand { display: inline-flex; align-items: baseline; gap: 0.32em; text-decoration: none; color: var(--ed-ink); white-space: nowrap; }
.ed-brand__name { font: 500 40px/1 var(--ed-serif); letter-spacing: -0.035em; }
.ed-brand__name sup { font: 500 0.26em/1 var(--ed-sans); letter-spacing: 0; vertical-align: top; position: relative; top: 0.2em; margin-left: 0.12em; }
.ed-brand__tag { font: italic 400 27px/1 var(--ed-serif); color: var(--ed-red); letter-spacing: -0.01em; }
.ed-brand--small .ed-brand__name { font-size: 24px; }
.ed-brand--small .ed-brand__tag { font-size: 18px; }
.ed-header { display: flex; align-items: center; justify-content: space-between; height: 78px; padding: 0 0 0 10px;
             border-bottom: 1px solid var(--ed-rule); position: relative; z-index: 3; }
.ed-action { font: 400 16px/1 var(--ed-serif); color: var(--ed-ink); text-decoration: none; padding: 11px 20px;
             border: 1px solid #7d776d; background: rgba(250, 247, 240, 0.4); transition: background 160ms ease, color 160ms ease; }
.ed-action:hover { background: var(--ed-ink); color: var(--ed-sheet); }
.ed-margin-tick { position: absolute; top: 130px; left: calc(50% - 50vw); width: 34px; height: 0; border-top: 1px solid var(--ed-red); }
.ed-eyebrow { font: 500 14.5px/1 var(--ed-sans); letter-spacing: 0.22em; text-transform: uppercase; color: var(--ed-ink-2); margin: 0 0 22px 2px; }
.ed-layer { position: absolute; will-change: transform; }
.ed-paper { position: absolute; inset: 0; background: var(--ed-sheet);
            box-shadow: 0 1px 1px rgba(40, 30, 15, 0.08), 0.8cqw 1.4cqw 2.6cqw rgba(40, 30, 15, 0.16); }
.ed-paper::after { content: ''; position: absolute; inset: 0; pointer-events: none;
                   background: linear-gradient(135deg, rgba(255, 255, 255, 0.35), transparent 40%, rgba(120, 100, 70, 0.05)); }
.ed-mark { position: absolute; fill: none; stroke: var(--ed-red); stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
.ed-note { position: absolute; margin: 0; font: 500 3.5cqw/1.15 var(--ed-hand); color: var(--ed-red); white-space: nowrap; }
.ed-features { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(var(--ed-cols, 4), minmax(0, 1fr)); }
.ed-feature { position: relative; display: flex; gap: 22px; padding: 8px 20px 18px 0; min-height: 124px; }
.ed-feature + .ed-feature { padding-left: 30px; border-left: 1px solid var(--ed-rule-soft); }
.ed-feature__num { flex: none; width: 28px; padding-top: 2px; font: 500 13px/1 var(--ed-sans); letter-spacing: 0.12em; color: var(--ed-red); }
.ed-feature__body { padding-top: 6px; }
.ed-feature__title { display: flex; align-items: center; gap: 24px; margin: 0 0 14px; font: italic 500 30px/1 var(--ed-serif); letter-spacing: -0.02em; color: var(--ed-ink); }
.ed-feature__title svg { width: 32px; height: 36px; fill: none; stroke: var(--ed-ink-2); stroke-width: 1.5; stroke-linejoin: round; stroke-linecap: round; flex: none; }
.ed-feature p { margin: 0; max-width: 15em; font: 400 18.5px/1.45 var(--ed-serif); color: var(--ed-ink-2); }
.ed-footer { display: grid; grid-template-columns: auto auto 1fr; align-items: center; column-gap: 66px; margin-top: 26px; padding: 16px 8px 26px 10px;
             border-top: 1px solid var(--ed-rule); }
.ed-footer__links { display: flex; align-items: center; gap: 28px; font: 400 15px/1 var(--ed-serif); }
.ed-footer__links a { text-decoration: none; color: var(--ed-ink-2); }
.ed-footer__links a:hover { color: var(--ed-red); text-decoration: underline; text-underline-offset: 0.2em; }
.ed-footer__sep { width: 1px; height: 22px; background: var(--ed-ink-3); }
.ed-folio { justify-self: end; margin: 0 6px 0 0; font: 400 14px/1 var(--ed-sans); letter-spacing: 0.08em; color: var(--ed-ink-3); }
.ed-folio span { color: var(--ed-red); margin-right: 0.3em; }
@keyframes ed-rise { from { opacity: 0; translate: 0 10px; } to { opacity: 1; translate: 0 0; } }
@keyframes ed-settle { from { opacity: 0; translate: 0 14px; } to { opacity: 1; translate: 0 0; } }
@keyframes ed-ink { to { stroke-dashoffset: 0; } }
@keyframes ed-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes ed-drift-a { from { translate: 0 0; } to { translate: 1.5px -2.5px; } }
@keyframes ed-drift-b { from { translate: 0 0; } to { translate: -2px 1.5px; } }
@keyframes ed-drift-c { from { translate: 0 0; } to { translate: 1.5px 2px; } }
@keyframes ed-drift-d { from { translate: 0 0; } to { translate: -1px -2px; } }
.ed-enter { animation: ed-rise 650ms var(--ed-ease) both; animation-delay: calc(var(--d, 0) * 80ms); }
.ed-layer { animation: ed-settle 900ms var(--ed-ease) both; }
.ed-drift--a { animation: ed-drift-a 23s ease-in-out 1s infinite alternate; }
.ed-drift--b { animation: ed-drift-b 29s ease-in-out 1s infinite alternate; }
.ed-drift--c { animation: ed-drift-c 26s ease-in-out 1s infinite alternate; }
.ed-drift--d { animation: ed-drift-d 31s ease-in-out 1s infinite alternate; }
.ed-draw { stroke-dasharray: 1; stroke-dashoffset: 1; animation: ed-ink 1.1s var(--ed-ease) 900ms forwards; }
.ed-draw--late { animation-delay: 1.6s; }
.ed-note { animation: ed-fade 900ms ease 1.2s both; }
@media (prefers-reduced-motion: reduce) {
    .ed-enter, .ed-layer, .ed-drift--a, .ed-drift--b, .ed-drift--c, .ed-drift--d, .ed-note, .ed-draw {
        animation: none !important; }
    .ed-draw { stroke-dashoffset: 0; }
    .ed-layer { transform: none !important; will-change: auto; }
    .ed-action { transition: none; }
}
@media (max-width: 1100px) {
    .ed-features { grid-template-columns: repeat(var(--ed-cols-md, 2), minmax(0, 1fr)); row-gap: 26px; }
}
@media (max-width: 760px) {
    .ed-header { height: 64px; padding-left: 0; }
    .ed-brand__name { font-size: 28px; }
    .ed-brand__tag { font-size: 20px; }
    .ed-action { padding: 9px 14px; font-size: 15px; }
    .ed-margin-tick { top: 96px; width: 14px; }
    .ed-eyebrow { font-size: 12px; margin-bottom: 16px; }
    .ed-features { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
    .ed-feature, .ed-feature + .ed-feature { padding: 18px 0; border-left: 0; border-top: 1px solid var(--ed-rule-soft); min-height: 0; }
    .ed-feature__title { font-size: 26px; gap: 16px; }
    .ed-feature p { font-size: 17px; max-width: none; }
    .ed-footer { grid-template-columns: minmax(0, 1fr); justify-items: start; gap: 14px; padding-left: 0; }
    .ed-folio { justify-self: start; }
}
.ed--return .ed-enter, .ed--return .ed-layer, .ed--return .ed-note { animation: none; }
.ed--return .ed-draw { animation: none; stroke-dashoffset: 0; }
