/* ÆL-SIRIL V0.29 — Horizons vivants. Scenography only: astronomical state is never modified. */
:root{--h29-warm:#e8c38d;--h29-cold:#89c8df;--h29-edge:#7799b354}
html{scroll-padding-top:25px}body[data-ael-mode="portail"]{background:#050c16}
.portal-hero{min-height:min(775px,90svh);overflow:hidden;background:#05101e}
.portal-hero::before{background:linear-gradient(90deg,#050b16f5 0%,#071422ce 33%,#07162579 70%,#060c1b60 100%),linear-gradient(0deg,#040b13,transparent 48%),url('ril-arae-v022/ril-arae-360.webp') center 54%/cover no-repeat;filter:saturate(1.17) contrast(1.05);animation:h29-river 42s ease-in-out infinite alternate;will-change:transform}
.portal-hero::after{background:radial-gradient(ellipse at 75% 38%,transparent 12%,#040c1c61 86%),linear-gradient(0deg,#040b13,transparent 30%)}
.portal-hero .ael029-stars{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.ael029-horizon-light{position:absolute;pointer-events:none;z-index:-1;width:105%;height:240px;bottom:-120px;left:-2%;border-radius:50%;background:radial-gradient(ellipse,var(--ael-glow) 0%,transparent 74%);filter:blur(14px);animation:h29-breathe 13s ease-in-out infinite alternate}
.hero-content{position:relative;z-index:1;padding-top:96px;padding-bottom:108px}
.portal-hero h1{max-width:710px;font-size:clamp(48px,5.8vw,86px);letter-spacing:-.033em;text-wrap:balance}
.hero-desc{max-width:595px;line-height:1.8}
.portal-hero .hero-content>.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;max-width:100%}
.portal-hero .hero-content>.eyebrow::before{content:'';width:25px;height:1px;background:var(--ael-accent);box-shadow:0 0 13px var(--ael-accent)}
.ael029-header-bar{position:relative;z-index:30;background:#07101cd6;border-bottom:1px solid #84b2d032;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.ael029-header-bar .header{border-bottom:0;min-height:76px}
.ael029-header-bar .navlinks{flex-wrap:nowrap}
.ael029-header-bar .navlinks a{white-space:nowrap;transition:color .2s}
.ael029-header-bar .brand small{opacity:.85}
.ael029-hero-extras{display:flex;gap:15px;flex-wrap:wrap;align-items:center;margin:8px 0 20px;color:#c8d7e7;font-size:12px}
.ael029-hero-extras .ael029-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ael-secondary);box-shadow:0 0 9px var(--ael-secondary);animation:h29-pulse 3.5s ease-in-out infinite}
.ael029-sky-moods{display:inline-flex;gap:5px;padding:5px;border:1px solid #a4bbd14b;background:#081725ce;border-radius:50px}
.ael029-sky-moods button{border:0;border-radius:50px;background:transparent;color:#c5d7e7;cursor:pointer;padding:7px 11px;min-height:35px;font-size:12px;font-weight:600}
.ael029-sky-moods button[aria-pressed="true"]{background:color-mix(in srgb,var(--ael-accent) 17%,#19314a);color:#fff4df;box-shadow:inset 0 0 0 1px #dfc58c6b}
.ael029-sky-moods button:focus-visible{outline:2px solid var(--ael-accent)}
.ael029-sky-caption{opacity:.85}
.ael029-sky-instrument{position:absolute;right:3.6%;top:17%;width:min(35vw,400px);aspect-ratio:1;pointer-events:none;opacity:.84;filter:drop-shadow(0 0 30px #4e98bf25)}
.ael029-sky-instrument svg{width:100%;height:100%;overflow:visible}
.ael029-sky-instrument .h29-reticle{transform-origin:200px 200px;animation:h29-compass 115s linear infinite}
.ael029-sky-instrument .h29-orbit{transform-origin:200px 200px;animation:h29-compass 165s linear infinite reverse}
.ael029-sky-instrument .h29-center{animation:h29-pulse 5s ease-in-out infinite}
.ael029-sky-instrument .h29-cap{text-align:center;position:absolute;inset:auto 0 -22px;color:#bbd2df;font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.portal-hero[data-mood="aube"]::before{filter:hue-rotate(-16deg) saturate(1.2) brightness(1.24)}
.portal-hero[data-mood="crepuscule"]::before{filter:hue-rotate(18deg) saturate(1.22) brightness(1.11)}
.portal-hero[data-mood="nuit"]::before{filter:saturate(1.12) contrast(1.08) brightness(.78)}
.stage,.archive-link,.era-panel{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.stage{transition:transform .3s cubic-bezier(.25,.75,.25,1),border-color .25s,box-shadow .25s}
.stage:hover,.stage:focus-visible{transform:translateY(-6px);box-shadow:0 18px 65px #0004,0 0 30px var(--ael-glow)}
.stage::before{content:'';position:absolute;top:-70px;right:-30px;width:180px;height:180px;background:radial-gradient(circle,var(--ael-glow),transparent 68%);opacity:.36;pointer-events:none;transition:opacity .3s}
.stage:hover::before{opacity:.78}
.archive-link{transition:transform .25s,border-color .25s,background .25s;position:relative}
.archive-link:hover,.archive-link:focus-visible{transform:translateY(-3px);box-shadow:0 13px 40px #0005}
.portal-hero .action{min-height:48px;box-shadow:0 0 0 0 transparent}
.portal-hero .action:hover{box-shadow:0 8px 34px var(--ael-glow)}
.ael029-section-title{max-width:820px}
.ael029-scroll-hint{position:absolute;z-index:1;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px;align-items:center;text-transform:uppercase;letter-spacing:.17em;color:#bcd0dd;font-size:10px;pointer-events:none;opacity:.7}
.ael029-scroll-hint span{height:23px;width:1px;background:linear-gradient(transparent,var(--ael-accent));animation:h29-breathe 3s ease-in-out infinite alternate}
.ael029-story-rule{margin:0 auto;max-width:1260px;height:1px;background:linear-gradient(90deg,transparent,#afc6d43b 16%,var(--ael-accent) 50%,#afc6d43b 84%,transparent);opacity:.5}
.ael029-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}
.ael029-gallery-card{min-height:220px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;overflow:hidden;border:1px solid #678cac82;border-radius:20px;padding:24px;transition:transform .3s,border-color .25s}
.ael029-gallery-card::before{content:'';z-index:-1;position:absolute;inset:-4%;background:linear-gradient(0deg,#071321f0 0%,#06101a69 65%,#0b1e3673 100%),var(--scene-img) center/cover no-repeat;transition:transform 6s cubic-bezier(.2,.7,.2,1)}
.ael029-gallery-card:hover::before{transform:scale(1.09)}
.ael029-gallery-card:hover{border-color:var(--ael-accent)}
.ael029-gallery-card .eyebrow{font-size:10px}.ael029-gallery-card strong{font:normal 29px Georgia,serif;color:#f5e5c8;margin:7px 0}.ael029-gallery-card small{color:#cedce6;font-size:13px;max-width:530px}
.ael029-scene-note{font-size:12px;color:#a9c5d5;padding:10px 0 0}
[data-h29-reveal]{opacity:1;transform:none}
html.h29-ready [data-h29-reveal]{opacity:1;transform:none}
html.h29-ready [data-h29-reveal].h29-visible{animation:h29-reveal .65s cubic-bezier(.2,.7,.25,1) both}
@keyframes h29-reveal{from{opacity:.45;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
body.ael028-quiet .ael029-stars,body.ael029-still .ael029-stars{display:none}
body.ael028-quiet .portal-hero::before,body.ael029-still .portal-hero::before,body.ael028-quiet .ael029-sky-instrument *,body.ael029-still .ael029-sky-instrument *,body.ael028-quiet .ael029-horizon-light,body.ael029-still .ael029-horizon-light,body.ael028-quiet .ael029-live-dot,body.ael029-still .ael029-live-dot{animation:none!important}
@keyframes h29-river{from{transform:scale(1.02) translate(-.6%,0)}to{transform:scale(1.07) translate(.6%,-.8%)}}
@keyframes h29-breathe{from{opacity:.34}to{opacity:.75}}
@keyframes h29-pulse{0%,100%{opacity:.38}50%{opacity:1}}
@keyframes h29-compass{to{transform:rotate(360deg)}}
/* Light-touch shared styling in other modules: do not capture input or modify canvas stacking. */
body:not([data-ael-mode="portail"]) .ael028-launch{transition:border-color .2s,box-shadow .2s,transform .2s}
body:not([data-ael-mode="portail"]) .ael028-launch:hover{transform:translateY(-2px)}
body:not([data-ael-mode="portail"]) .ael028-panel{border-radius:18px}
body:not([data-ael-mode="portail"]) :is(.topbar,.top,.bar) :is(a,button):focus-visible{outline:2px solid var(--ael-accent);outline-offset:3px}
@media(max-width:1100px){.ael029-sky-instrument{width:300px;right:2%;top:18%;opacity:.38}}
@media(max-width:800px){.ael029-sky-instrument{display:none}.ael029-header-bar .header{min-height:65px}.ael029-header-bar .navlinks{overflow-x:auto;scrollbar-width:none;width:100%;padding-bottom:3px}.ael029-gallery{grid-template-columns:1fr}.portal-hero{min-height:625px}.hero-content{padding-top:75px}}
@media(max-width:680px){.ael029-header-bar .header{gap:9px}.ael029-header-bar .navlinks{flex-wrap:nowrap}.portal-hero{min-height:620px}.portal-hero h1{font-size:clamp(40px,11vw,64px)}.hero-content{padding:50px 18px 85px}.ael029-hero-extras{gap:9px}.ael029-sky-caption{width:100%}.ael029-scroll-hint{bottom:8px}.ael029-gallery-card{min-height:200px}.ael029-sky-moods{max-width:100%}.ael029-sky-moods button{padding:7px 8px}}
@media(prefers-reduced-motion:reduce){.portal-hero::before,.ael029-horizon-light,.ael029-sky-instrument *,[data-h29-reveal],.ael029-live-dot{animation:none!important;transform:none!important;transition:none!important}html.h29-ready [data-h29-reveal]{opacity:1!important;transform:none!important}}
