
/* Alterra Editions self-host shell: deliberately minimal. Framer retains the
   authored layout/motion; this only handles loading + removal of platform UI. */
#__framer-badge-container,[data-framer-name="Made in Framer"],a[href*="framer.com"]:has(img[alt*="Framer"]){display:none!important}
#ae-loader{position:fixed;inset:0;z-index:2147483646;background:#050505;display:grid;place-items:center;opacity:1;visibility:visible;transition:opacity .52s cubic-bezier(.16,.37,.22,1),visibility .52s;pointer-events:all}
#ae-loader.ae-out{opacity:0;visibility:hidden;pointer-events:none}
#ae-loader-inner{width:min(220px,42vw);display:flex;flex-direction:column;align-items:center;gap:25px;transform:translateY(4px)}
#ae-loader-logo{width:158px;max-width:100%;filter:brightness(0) invert(1);opacity:.96}
#ae-loader-track{width:100%;height:1px;background:rgba(255,255,255,.13);overflow:hidden;position:relative}
#ae-loader-track:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#2f7189,#dff4f8,transparent);transform:translateX(-115%);animation:ae-load-line 1.25s cubic-bezier(.16,.37,.22,1) .12s forwards}
@keyframes ae-load-line{to{transform:translateX(115%)}}
html.ae-preload,html.ae-preload body{overflow:hidden!important}
html.ae-preload #main{opacity:0;transform:translateY(6px)}
#main{transition:opacity .62s ease,transform .78s cubic-bezier(.16,.37,.22,1)}
@media (prefers-reduced-motion:reduce){#ae-loader{display:none!important}html.ae-preload,html.ae-preload body{overflow:auto!important}html.ae-preload #main{opacity:1;transform:none}#main{transition:none!important}}

/* --------------------------------------------------------------------------
   Alterra Editions editorial-image system
   -------------------------------------------------------------------------- */
.ae-editorial-image{opacity:0!important;transition:opacity .62s ease,filter .45s ease!important;background:#0a0a0a!important}
.ae-editorial-image.ae-editorial-loaded{opacity:1!important}
.ae-editorial-image[data-ae-tone="history"]{filter:grayscale(.9) contrast(1.06) brightness(.96)!important}
.ae-editorial-image[data-ae-tone="history-dark"]{filter:grayscale(.72) saturate(.35) contrast(1.08) brightness(.88)!important}
.ae-editorial-image[data-ae-tone="science"]{filter:saturate(.6) contrast(1.08) brightness(.94)!important}
.ae-editorial-image[data-ae-tone="science-dark"]{filter:saturate(.48) contrast(1.09) brightness(.88)!important}
.ae-editorial-image[data-ae-tone="science-paper"]{filter:grayscale(.72) saturate(.28) contrast(1.04) brightness(.98)!important}
.ae-editorial-image[data-ae-tone="geo"]{filter:saturate(.5) contrast(1.06) brightness(.93)!important}
.ae-editorial-image.ae-editorial-error{opacity:1!important;filter:grayscale(1) contrast(.9) brightness(.55)!important}

/* A slight institutional wash keeps disparate archives coherent without
   flattening them into the same image treatment. */
.ae-editorial-library img.ae-editorial-image{color-scheme:dark}

/* --------------------------------------------------------------------------
   Browser Back / Forward motion. Framer remains responsible for its normal
   route motion; these classes only run when a history entry is restored.
   -------------------------------------------------------------------------- */
html.ae-history-enter #main{will-change:transform,opacity,filter}
html.ae-history-enter[data-ae-history-direction="back"] #main{animation:ae-history-back-in .46s cubic-bezier(.16,.73,.24,1) both}
html.ae-history-enter[data-ae-history-direction="forward"] #main{animation:ae-history-forward-in .46s cubic-bezier(.16,.73,.24,1) both}
@keyframes ae-history-back-in{from{opacity:.45;transform:translate3d(-16px,0,0);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes ae-history-forward-in{from{opacity:.45;transform:translate3d(16px,0,0);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@media (prefers-reduced-motion:reduce){html.ae-history-enter #main{animation:none!important}.ae-editorial-image{transition:none!important}}
/* v14 editorial archive grading */
.ae-editorial-image{object-fit:cover!important;object-position:center!important}
.ae-editorial-image[data-ae-tone="history-paper"]{filter:grayscale(.88) sepia(.08) contrast(1.05) brightness(.98)!important}
.ae-editorial-image[data-ae-tone="science-paper"]{filter:grayscale(.72) sepia(.04) contrast(1.08) brightness(.97)!important}
.ae-editorial-image[data-ae-tone="geo-dark"]{filter:saturate(.32) contrast(1.1) brightness(.74)!important}
