/* V4.1. Isolated narrative stage; the document remains the only scroll surface. */
.journey-editorial{padding:100px var(--pad) 24px;background:var(--warm);color:var(--ink);--gap:24px}
.journey-editorial .je-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 var(--gap)}
.journey-editorial .je-header{margin:0 0 64px}
.journey-editorial .je-header>.eyebrow{grid-column:2/12;color:#596700;margin-bottom:28px}
.journey-editorial h2{grid-column:2/10;font:500 clamp(46px,5.6vw,82px)/.98 Arial,sans-serif;letter-spacing:-.065em;margin:0;max-width:17ch}
.journey-editorial .je-intro{grid-column:2/8;font:20px/1.5 Georgia,serif;max-width:48ch;margin:30px 0 0}
.journey-editorial .je-label{font:11px/1.5 var(--font-micro);text-transform:uppercase;letter-spacing:.1em;margin:0 0 20px}
.journey-editorial h3{font:500 clamp(34px,3.5vw,52px)/1.03 Arial,sans-serif;letter-spacing:-.055em;margin:0;max-width:12ch}
.journey-editorial .je-support{font:18px/1.45 Georgia,serif;margin:24px 0 0;max-width:22ch}
.journey-editorial figure{margin:0;min-width:0}
.journey-editorial img{width:100%;height:auto;display:block}
.journey-editorial figcaption{font:10px/1.6 var(--font-micro);text-transform:uppercase;letter-spacing:.085em;color:#625e56;margin-top:16px;max-width:48ch}
.journey-editorial a{display:block}
.journey-editorial a:focus-visible{outline:2px solid var(--ink);outline-offset:6px}
/* Static editorial baseline is readable before JS, on small screens, and in reduce. */
.journey-editorial .je-invite{row-gap:32px}
.journey-editorial .je-invite .je-copy{grid-column:2/6}
.journey-editorial .je-invite .je-artifact{grid-column:2/6;width:100%;max-width:384px}
.journey-editorial .je-conversion{margin-top:80px}
.journey-editorial .je-landing{width:40%;margin-left:51%}
.journey-editorial .je-copy{margin-bottom:32px}
.journey-editorial .je-connected{margin-top:96px;display:flex;gap:8%;align-items:flex-start;padding:0 8%}
.journey-editorial .je-registration{width:45%}
.journey-editorial .je-confirmation{width:38%;margin-top:220px}
.journey-editorial .je-event{margin-top:120px}
.journey-editorial .je-event>.je-copy,.journey-editorial .je-event>.je-artifact{grid-column:8/13}
.journey-editorial .je-event-type p{font:24px/1.2 Georgia,serif;margin:0}
.journey-editorial .je-closing{margin-top:120px;padding-top:64px;border-top:1px solid var(--line)}
.journey-editorial .je-closing>*{grid-column:2/13}
.journey-editorial .je-closing p{font:500 clamp(44px,6.5vw,94px)/.98 Arial,sans-serif;letter-spacing:-.06em;margin:16px 0 36px}
/* A single sticky canvas. Clips conceal image swaps; no image opacity animation. */
.journey-editorial.je-motion .je-track{height:calc(var(--journey-travel,296.88vh) + var(--stage-size,100vh));position:relative;margin-top:calc(-94px - var(--invite-top,136px))}
.journey-editorial.je-motion .je-stage{height:var(--stage-size,100vh);position:sticky;top:0;overflow:clip}
.journey-editorial.je-motion .je-invite,
.journey-editorial.je-motion .je-conversion,
.journey-editorial.je-motion .je-landing,
.journey-editorial.je-motion .je-connected,
.journey-editorial.je-motion .je-registration,
.journey-editorial.je-motion .je-confirmation,
.journey-editorial.je-motion .je-event{display:contents}
.journey-editorial.je-motion .je-copy{position:absolute;margin:0;width:28%;top:37vh;left:8%}
.journey-editorial.je-motion .je-landing>.je-copy{left:65%;top:35vh}
.journey-editorial.je-motion .je-registration>.je-copy{left:65%;top:38vh}
.journey-editorial.je-motion .je-confirmation>.je-copy{left:56%;top:36%}
.journey-editorial.je-motion .je-invite>.je-artifact,
.journey-editorial.je-motion .je-living-page,
.journey-editorial.je-motion .je-confirmation>.je-artifact{position:absolute;left:0;top:0;will-change:transform,clip-path}
.journey-editorial.je-motion .je-living-page{transform-origin:50.159134% 55.807318%}
.journey-editorial.je-motion figcaption,.journey-editorial.je-motion .je-static-form{display:none}
.journey-editorial.je-motion .je-event>.je-copy{left:50%;top:34%;width:43%}
.journey-editorial.je-motion .je-event h3{font-size:clamp(64px,7vw,108px);max-width:9ch}
.journey-editorial.je-motion .je-event>.je-artifact{position:absolute;left:50%;top:65%}
.journey-editorial.je-motion .je-event-type p{font:11px/1.5 var(--font-micro);text-transform:uppercase;letter-spacing:.1em}
.journey-editorial.je-motion .je-closing{position:absolute;left:8%;top:31vh;width:88%;display:block;margin:0;padding:0;border:0}
.journey-editorial.je-motion .je-closing .je-label{display:block}
.journey-editorial.je-motion .je-closing p{font-size:clamp(52px,6.6vw,100px);margin:32px 0 40px}
@media(max-width:800px){
 .journey-editorial{padding:72px var(--pad) 24px;--gap:8px}
 .journey-editorial .je-header{margin-bottom:64px}
 .journey-editorial .je-header>.eyebrow,.journey-editorial h2,.journey-editorial .je-intro,.journey-editorial .je-invite .je-copy,.journey-editorial .je-invite .je-artifact,.journey-editorial .je-event>.je-copy,.journey-editorial .je-event>.je-artifact,.journey-editorial .je-closing>*{grid-column:1/-1}
 .journey-editorial h2{font-size:clamp(39px,9.5vw,64px)}
 .journey-editorial .je-intro{font-size:18px;margin-top:24px}
 .journey-editorial h3{font-size:36px;max-width:18ch}
 .journey-editorial .je-invite .je-artifact{width:88%;max-width:320px}
 .journey-editorial .je-invite{row-gap:0}
 .journey-editorial .je-conversion{margin-top:64px}
 .journey-editorial .je-landing{width:100%;margin:0}
 .journey-editorial .je-connected{display:block;margin-top:64px;padding:0}
 .journey-editorial .je-registration{width:100%}
 .journey-editorial .je-static-form{width:90%}
 .journey-editorial .je-confirmation{width:100%;margin:64px 0 0}
 .journey-editorial .je-confirmation .je-artifact{width:88%;margin-left:12%}
 .journey-editorial .je-event{margin-top:80px}
 .journey-editorial .je-event h3{font-size:clamp(42px,12vw,64px)}
 .journey-editorial .je-closing{margin-top:80px;padding-top:40px}
 .journey-editorial .je-closing p{font-size:clamp(37px,10.3vw,62px);margin:10px 0 32px}
}
@media(prefers-reduced-motion:reduce){.journey-editorial *{scroll-behavior:auto!important}}

/* Requested composition refinement, including the static desktop reading order. */
@media(min-width:801px){
 .journey-editorial:not(.je-motion) .je-invite{margin-top:-94px}
 .journey-editorial:not(.je-motion) .je-invite .je-copy{grid-column:2/6;grid-row:1;padding-top:180px}
 .journey-editorial:not(.je-motion) .je-invite .je-artifact{grid-column:8/12;grid-row:1}
 .journey-editorial:not(.je-motion) .je-landing{width:52%;margin-left:8%;position:relative}
 .journey-editorial:not(.je-motion) .je-landing>.je-copy{position:absolute;left:calc(100% + 48px);top:160px;width:54%}
 .journey-editorial:not(.je-motion) .je-connected{gap:6%}
 .journey-editorial:not(.je-motion) .je-registration{width:58.5%;flex-shrink:0}
 .journey-editorial:not(.je-motion) .je-confirmation{width:35.5%;flex-shrink:0}
}

/* Consistent optical text-to-artifact spacing across the four digital moments. */
.journey-editorial.je-motion .je-copy{width:max-content;max-width:30%}
.journey-editorial.je-motion .je-event>.je-copy{width:43%;max-width:43%}
.journey-editorial.je-motion .je-invite>.je-copy{width:min-content}
.journey-editorial.je-motion .je-invite .je-label{white-space:nowrap}

/* The opening is anchored on the real invitation line, x137 / y379 of 548 × 1648. */
.journey-editorial.je-motion .je-invite>.je-artifact{transform-origin:25% 23%}
.journey-editorial.je-motion .je-event>.je-copy{left:8%;top:31vh}
.journey-editorial.je-motion .je-event h3{font-size:clamp(52px,6.6vw,100px);max-width:12ch}
/* One compact static conclusion; the Event label leads into the resolution. */
.journey-editorial:not(.je-motion) .je-event>.je-artifact{display:none}
.journey-editorial:not(.je-motion) .je-closing{margin-top:32px;padding-top:0;border-top:0}
@media(max-width:800px){
 .journey-editorial .je-event>.je-copy{margin-bottom:0}
 .journey-editorial .je-invite .je-artifact>a{overflow:clip}
 .journey-editorial.je-mobile-reveal .je-invite img{transform-origin:25% 23%;transform:scale(var(--invite-mobile-scale,1))}
}

@media(min-width:801px){.journey-editorial:not(.je-motion) .je-event>.je-copy{grid-column:2/13}}
