/* EDGE Adaptive Space Journey 2.0.0 — chapter presentation. No global layout rules. */
.edge-asj2 {
  --asj2-surface:#c6d8c9; --asj2-ink:#121714; --asj2-muted:#44594b;
  --asj2-accent:#526b56; --asj2-control-bg:#f7f7f3; --asj2-control-hover:#fff;
  --asj2-media-bg:#edf1ec; --asj2-gutter:32px; --asj2-padding:28px;
  --asj2-canvas-max:1400px; --asj2-scene-request:100svh; --asj2-distance-request:240svh;
  --asj2-offset:0px; --asj2-editorial-gap:44px; --asj2-editorial-media-max:36svh;
  --asj2-pair-ratio:1.5; --asj2-radius:24px; --asj2-control-size:48px;
  --asj2-slide-width:88%; --asj2-rail-gap:20px; --asj2-mobile-media-min:0px;
  --asj2-overlap:16; --asj2-intro-width:54%; --asj2-badge-scale:1;
  --asj2-sans:"EDGE-Book","EDGE Book","EDGE",Arial,sans-serif;
  --asj2-serif:"P22MackinacProBook","P22 Mackinac Pro","P22 Mackinac",Georgia,serif;
  position:relative; width:100%; max-width:100%; min-width:0; box-sizing:border-box;
  container-type:inline-size; background:var(--asj2-surface); color:var(--asj2-ink);
  font-family:var(--asj2-sans); font-size:16px; line-height:1.5;
}
.edge-asj2 *, .edge-asj2 *::before, .edge-asj2 *::after {box-sizing:border-box;}
.edge-asj2 [hidden] {display:none!important;}
.edge-asj2__frame {position:relative; width:100%; min-width:0; padding:var(--asj2-padding) min(var(--asj2-gutter),6%);}
.edge-asj2__canvas {position:relative; max-width:var(--asj2-canvas-max); min-width:0; margin-inline:auto;}
.edge-asj2__intro {position:relative; min-width:0; max-width:680px; margin-bottom:32px; z-index:30;}
.edge-asj2__eyebrow {margin:0 0 16px; color:var(--asj2-muted); font-family:var(--asj2-sans); font-size:11px; line-height:1.35; letter-spacing:.12em; text-transform:uppercase;}
.edge-asj2__heading {margin:0; color:var(--asj2-ink); font-family:var(--asj2-serif); font-size:clamp(30px,3.2cqw,46px); font-weight:400; line-height:1.14; letter-spacing:-.025em; overflow-wrap:break-word;}
.edge-asj2__heading em {font-family:var(--asj2-serif); font-style:italic;}
.edge-asj2__body {margin-top:24px; color:var(--asj2-ink); font-family:var(--asj2-sans); font-size:clamp(16px,1.45cqw,20px); line-height:1.5; overflow-wrap:anywhere;}
.edge-asj2__body > :first-child {margin-top:0;}
.edge-asj2__body > :last-child {margin-bottom:0;}
.edge-asj2__rail {position:relative; display:flex; align-items:stretch; gap:var(--asj2-rail-gap); width:100%; min-width:0; max-width:100%; padding:0; margin:0; list-style:none; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-inline:0; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch;}
.edge-asj2__rail::after {content:""; flex:0 0 var(--asj2-trail,calc(100% - var(--asj2-slide-width)));}
.edge-asj2.is-ready .edge-asj2__rail {scrollbar-width:none;}
.edge-asj2.is-ready .edge-asj2__rail::-webkit-scrollbar {display:none;}
.edge-asj2__chapter {position:relative; flex:0 0 var(--asj2-slide-width); min-width:0; max-width:100%; margin:0; padding:0 0 6px; scroll-snap-align:start; scroll-snap-stop:normal;}
.edge-asj2__pair {position:relative; width:100%; min-width:0; aspect-ratio:var(--asj2-pair-ratio); min-height:var(--asj2-mobile-media-min); margin:0 0 22px;}
.edge-asj2__pair[data-count="0"] {display:none;}
.edge-asj2__visual {position:absolute; left:0; top:0; width:calc(66% + var(--asj2-overlap)*.5%); height:calc(50% + var(--asj2-overlap)*.5%); margin:0; padding:0; overflow:hidden; border-radius:var(--asj2-radius); background:var(--asj2-media-bg); isolation:isolate;}
.edge-asj2__visual:nth-child(2) {top:auto; left:auto; right:0; bottom:0; z-index:2;}
.edge-asj2:not([data-mode="cinematic"]):not([data-mode="collage"]) .edge-asj2__pair[data-count="1"] .edge-asj2__visual {inset:0; width:100%; height:100%;}
.edge-asj2__pair:not([data-count="0"]):not([data-count="1"]):not([data-count="2"]) {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; aspect-ratio:auto;}
.edge-asj2__pair:not([data-count="0"]):not([data-count="1"]):not([data-count="2"]) .edge-asj2__visual {position:relative; inset:auto; width:100%; height:auto; aspect-ratio:3/2;}
.edge-asj2__image-link {position:absolute; inset:0; display:block; color:inherit!important;}
.edge-asj2 img.edge-asj2__image {position:absolute!important; inset:0!important; display:block; width:100%!important; height:100%!important; max-width:none!important; max-height:none!important; object-fit:cover; border:0!important; border-radius:0; margin:0!important;}
.edge-asj2__visual.is-error::after {content:"Image unavailable"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:20px; color:var(--asj2-muted); font-size:13px; text-align:center; background:var(--asj2-media-bg); pointer-events:none;}
.edge-asj2__badge {width:calc(82px * var(--asj2-badge-scale)); height:calc(45px * var(--asj2-badge-scale)); margin:0 0 14px; pointer-events:none;}
.edge-asj2 img.edge-asj2__badge-image {display:block; width:100%!important; height:100%!important; object-fit:contain!important; border-radius:0!important;}
.edge-asj2__chapter-copy {position:relative; min-width:0; max-width:38rem;}
.edge-asj2__chapter-index {display:block; margin-bottom:8px; color:var(--asj2-muted); font-size:11px; letter-spacing:.08em;}
.edge-asj2__chapter-title {margin:0; color:var(--asj2-ink); font-family:var(--asj2-serif); font-size:clamp(25px,2.4cqw,34px); font-weight:400; line-height:1.15; letter-spacing:-.02em; overflow-wrap:anywhere;}
.edge-asj2__description {margin:14px 0 0; color:var(--asj2-muted); font-size:16px; line-height:1.5; overflow-wrap:anywhere;}
.edge-asj2__empty {font-size:12px; color:var(--asj2-muted); border:1px dashed currentColor; padding:16px;}
.edge-asj2__connector {display:none; pointer-events:none;}
.edge-asj2__toolbar {position:relative; display:flex; align-items:center; justify-content:space-between; gap:16px; max-width:var(--asj2-canvas-max); width:100%; min-width:0; margin:26px auto 0;}
.edge-asj2__steps {display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; min-width:0;}
.edge-asj2 button.edge-asj2__step, .edge-asj2 button.edge-asj2__skip {appearance:none; -webkit-appearance:none; display:inline-flex; gap:10px; align-items:center; min-height:44px; margin:0; padding:6px 0; border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; color:var(--asj2-muted)!important; font-family:var(--asj2-sans); font-size:13px; line-height:1.3; text-align:start; text-transform:none; cursor:pointer;}
.edge-asj2 button.edge-asj2__step span {font-size:10px;}
.edge-asj2 button.edge-asj2__step[aria-current="step"] {color:var(--asj2-ink)!important; text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:1px;}
.edge-asj2 button.edge-asj2__step:hover, .edge-asj2 button.edge-asj2__step:focus, .edge-asj2 button.edge-asj2__skip:hover, .edge-asj2 button.edge-asj2__skip:focus {color:var(--asj2-ink)!important; background:transparent!important;}
.edge-asj2__actions {display:flex; align-items:center; gap:10px; flex:none;}
.edge-asj2 button.edge-asj2__arrow {appearance:none; -webkit-appearance:none; display:inline-flex; align-items:center; justify-content:center; width:max(44px,var(--asj2-control-size)); height:max(44px,var(--asj2-control-size)); min-width:44px; min-height:44px; flex:none; padding:0!important; margin:0; border:1px solid color-mix(in srgb,var(--asj2-accent) 25%,transparent)!important; border-radius:50%!important; background:var(--asj2-control-bg)!important; color:var(--asj2-accent)!important; box-shadow:none!important; cursor:pointer; transition:background-color .2s,opacity .2s;}
.edge-asj2 button.edge-asj2__arrow:hover, .edge-asj2 button.edge-asj2__arrow:focus, .edge-asj2 button.edge-asj2__arrow:active {background:var(--asj2-control-hover)!important; color:var(--asj2-accent)!important; border-color:var(--asj2-accent)!important;}
.edge-asj2 button.edge-asj2__arrow:disabled {opacity:.35; cursor:default;}
.edge-asj2 button.edge-asj2__arrow svg, .edge-asj2__skip svg {display:block; width:24px!important; height:24px!important; min-width:24px; flex:none; color:inherit; fill:none;}
.edge-asj2__arrow--prev svg {transform:rotate(180deg);}
.edge-asj2 :where(a,button):focus-visible {outline:2px solid var(--asj2-accent)!important; outline-offset:4px;}
.edge-asj2 a:hover, .edge-asj2 a:focus {color:var(--asj2-ink)!important; background-color:transparent!important;}
.edge-asj2__swiper-info {display:flex; flex-direction:column; gap:4px; min-width:0; color:var(--asj2-muted); font-size:12px;}
.edge-asj2__hint {font-size:11px;}
.edge-asj2__sr {position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important;}
.edge-asj2__diagnostic {display:block; margin:16px auto 0; max-width:var(--asj2-canvas-max); font-size:11px; color:var(--asj2-muted);}
/* Medium: one readable chapter image pair, not a squeezed cinematic scene. */
.edge-asj2[data-mode="editorial"] .edge-asj2__canvas {display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:var(--asj2-editorial-gap); align-items:center;}
.edge-asj2[data-mode="editorial"] .edge-asj2__intro {margin:0;}
.edge-asj2[data-mode="editorial"] .edge-asj2__rail {display:grid; overflow:visible; scroll-snap-type:none;}
.edge-asj2[data-mode="editorial"] .edge-asj2__rail::after {display:none;}
.edge-asj2[data-mode="editorial"] .edge-asj2__chapter {grid-area:1/1; width:100%; visibility:hidden; opacity:0; pointer-events:none;}
.edge-asj2[data-mode="editorial"] .edge-asj2__chapter.is-current {visibility:visible; opacity:1; pointer-events:auto;}
.edge-asj2[data-mode="editorial"] .edge-asj2__pair[data-count="1"], .edge-asj2[data-mode="editorial"] .edge-asj2__pair[data-count="2"] {height:min(calc(100cqw / 3),max(180px,var(--asj2-editorial-media-max))); aspect-ratio:auto; min-height:0;}
.edge-asj2[data-mode="editorial"] .edge-asj2__swiper-info {display:none;}
.edge-asj2[data-mode="swiper"] .edge-asj2__steps {display:none;}
/* Wide: one bounded artboard and the same geometry in editor and frontend. */
.edge-asj2:is([data-mode="cinematic"],[data-mode="collage"]) .edge-asj2__canvas {width:var(--asj2-canvas-w); height:var(--asj2-canvas-h); max-width:100%;}
.edge-asj2[data-mode="cinematic"] {height:calc(var(--asj2-scene-px) + var(--asj2-distance-px));}
.edge-asj2[data-mode="cinematic"] .edge-asj2__frame {position:sticky; top:var(--asj2-sticky-top); height:var(--asj2-scene-px); display:flex; flex-direction:column; justify-content:center;}
.edge-asj2[data-mode="cinematic"][data-editor="true"] {height:auto;}
.edge-asj2[data-mode="cinematic"][data-editor="true"] .edge-asj2__frame {position:relative; top:0;}
.edge-asj2:is([data-mode="cinematic"],[data-mode="collage"]) .edge-asj2__intro {position:absolute; left:0; top:0; width:var(--asj2-intro-width); max-width:none; margin:0;}
.edge-asj2:is([data-mode="cinematic"],[data-mode="collage"]) .edge-asj2__rail {position:absolute; inset:0; display:block; height:100%; width:100%; overflow:visible; scroll-snap-type:none; pointer-events:none;}
.edge-asj2:is([data-mode="cinematic"],[data-mode="collage"]) .edge-asj2__rail::after {display:none;}
.edge-asj2:is([data-mode="cinematic"],[data-mode="collage"]) .edge-asj2__chapter, .edge-asj2:is([data-mode="cinematic"],[data-mode="collage"]) .edge-asj2__pair {position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none; min-height:0; margin:0; padding:0; aspect-ratio:auto; pointer-events:none;}
.edge-asj2:is([data-mode="cinematic"],[data-mode="collage"]) .edge-asj2__visual {position:absolute; left:var(--asj2-x); top:var(--asj2-y); right:auto; bottom:auto; width:var(--asj2-w); height:var(--asj2-h); z-index:var(--asj2-z,5); transform:rotate(var(--asj2-rotation,0deg)); transform-origin:center; pointer-events:auto;}
.edge-asj2:is([data-mode="cinematic"],[data-mode="collage"]) .edge-asj2__badge {position:absolute; left:var(--asj2-bx); top:var(--asj2-by); width:var(--asj2-bw); height:var(--asj2-bh); z-index:20; margin:0;}
.edge-asj2:is([data-mode="cinematic"],[data-mode="collage"]) .edge-asj2__chapter-copy {position:absolute; left:35%; top:44%; width:28%; max-width:none; z-index:25; pointer-events:none;}
.edge-asj2:is([data-mode="cinematic"],[data-mode="collage"]) .edge-asj2__chapter-title {font-size:25px;}
.edge-asj2:is([data-mode="cinematic"],[data-mode="collage"]) .edge-asj2__description {font-size:15px; line-height:1.45; margin-top:12px;}
.edge-asj2:is([data-mode="cinematic"],[data-mode="collage"]) .edge-asj2__connector {position:absolute; display:block; object-fit:contain; z-index:12;}
.edge-asj2__connector--1 {left:65%; top:37%; width:5.5%; height:16%;}
.edge-asj2__connector--2 {left:45%; top:69%; width:10%; height:16%;}
.edge-asj2__connector--2:not(.is-custom) {transform:rotate(200deg);}
.edge-asj2:is([data-mode="cinematic"],[data-mode="collage"]) .edge-asj2__toolbar {width:var(--asj2-canvas-w); margin-top:18px;}
.edge-asj2:is([data-mode="cinematic"],[data-mode="collage"]) .edge-asj2__swiper-info, .edge-asj2[data-mode="cinematic"] .edge-asj2__arrow {display:none!important;}
.edge-asj2[data-mode="collage"] .edge-asj2__chapter-copy {visibility:hidden; opacity:0;}
.edge-asj2[data-mode="collage"] .edge-asj2__chapter.is-current .edge-asj2__chapter-copy {visibility:visible; opacity:1;}
@media(max-width:860px) {.edge-asj2 {--asj2-gutter:24px; --asj2-padding:24px; --asj2-radius:20px;}}
@media(max-width:600px) {.edge-asj2 {--asj2-gutter:20px; --asj2-radius:18px; --asj2-rail-gap:16px;} .edge-asj2__intro {margin-bottom:28px;} .edge-asj2__heading {font-size:32px;} .edge-asj2__body {font-size:16px; margin-top:18px;} .edge-asj2__toolbar {gap:12px;} .edge-asj2__steps {gap:8px 16px;} .edge-asj2__badge {width:72px; height:40px;}}
@media(prefers-reduced-motion:reduce) {.edge-asj2 *, .edge-asj2 *::before, .edge-asj2 *::after {animation:none!important; transition:none!important; scroll-behavior:auto!important;}}
