/* Ætheris — shared site stylesheet (single source of truth for header, scroll, footer).
   Linked AFTER each page's inline <style> so these values win on every page,
   making the fixed nav byte-identical site-wide (no jump between pages). */

/* Global scale: bake in the "90% zoom" look as the 100% default.
   Almost all sizing is rem-based, so this shrinks type + spacing proportionally
   while leaving px breakpoints (and therefore the responsive layout) intact. */
html{font-size:90%}

/* one consistent scrollbar gutter on every page */
html{overflow-y:scroll;scrollbar-gutter:stable}
.snap-wrapper{scrollbar-width:none}
.snap-wrapper::-webkit-scrollbar{width:0;height:0}

/* NAV — identical on every page */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:900;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;background:rgba(7,11,16,0.92);backdrop-filter:blur(24px) saturate(1.6);border-bottom:1px solid rgba(177,31,42,0.18)}
.nav-logo{display:flex;align-items:center;gap:0.6rem;text-decoration:none;flex-shrink:0}
.nav-hex{width:30px;height:30px;background:#B11F2A;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);display:flex;align-items:center;justify-content:center;font-family:'Orbitron',monospace;font-size:0.8rem;font-weight:900;color:#FFFFFF;flex-shrink:0;transition:box-shadow 0.3s}
.nav-logo:hover .nav-hex{box-shadow:0 0 20px var(--crimson)}
.nav-wordmark{font-family:'Orbitron',monospace;font-size:0.72rem;font-weight:700;letter-spacing:0.06em;color:var(--frost);line-height:1.2}
.nav-wordmark small{display:block;font-family:'Barlow Condensed',sans-serif;font-size:0.5rem;font-weight:400;letter-spacing:0.22em;text-transform:uppercase;color:var(--ash)}
.nav-menu{display:flex;align-items:center;gap:0.05rem;list-style:none}
.nav-menu a{font-family:'Barlow Condensed',sans-serif;font-size:0.7rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--ash);text-decoration:none;padding:0.4rem 0.52rem;border:1px solid transparent;transition:color 0.2s,border-color 0.2s;display:block;white-space:nowrap}
.nav-menu a:hover{color:var(--frost);border-color:rgba(177,31,42,0.25)}
.nav-menu a.active{color:var(--frost);border-color:var(--crimson);background:var(--crimson-g)}
.nav-menu a[href="lif.html"].active{color:var(--frost);border-color:var(--green);background:var(--green-g)}
.nav-cta{font-family:'Barlow Condensed',sans-serif;font-size:0.7rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--frost);background:var(--crimson);border:none;padding:0.5rem 1rem;text-decoration:none;clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);transition:background 0.2s;flex-shrink:0;white-space:nowrap}
.nav-cta:hover{background:var(--crimson-d);color:#fff}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.nav-toggle span{width:24px;height:1.5px;background:var(--frost);display:block}
.back-btn{position:fixed;top:72px;left:1rem;z-index:899;font-family:'Barlow Condensed',sans-serif;font-size:0.6rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--ash);text-decoration:none;display:flex;align-items:center;gap:0.3rem;padding:0.3rem 0.6rem;border:1px solid var(--border);background:rgba(7,11,16,0.8);backdrop-filter:blur(10px);transition:color 0.2s,border-color 0.2s}
.back-btn:hover{color:var(--frost);border-color:rgba(177,31,42,0.3)}
@media(max-width:1040px){.nav-menu a{font-size:0.64rem;padding:0.4rem 0.42rem;letter-spacing:0.06em}.nav-cta{padding:0.5rem 0.8rem}}
@media(max-width:900px){.site-nav{padding:0 1.5rem}.nav-menu,.nav-cta{display:none}.nav-toggle{display:flex}.nav-menu.open{display:flex;flex-direction:column;position:fixed;top:64px;left:0;right:0;background:rgba(7,11,16,0.97);backdrop-filter:blur(20px);padding:1.5rem;gap:0.25rem}}

/*WIDGETS*/
#chatToggle{position:fixed;bottom:2rem;right:2rem;z-index:950;width:54px;height:54px;border-radius:50%;background:var(--crimson);border:1px solid rgba(177,31,42,0.5);color:#fff;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0.4;box-shadow:0 4px 14px rgba(0,0,0,0.4);transition:opacity .28s ease,box-shadow .28s ease,transform .28s ease}
#chatToggle:hover{opacity:1;box-shadow:0 6px 26px rgba(177,31,42,0.55);transform:translateY(-2px) scale(1.05)}
#chatPanel{position:fixed;bottom:5.6rem;right:2rem;z-index:940;width:360px;max-width:calc(100vw - 2rem);max-height:460px;overscroll-behavior:contain;background:var(--abyss);border:1px solid rgba(177,31,42,0.25);border-radius:16px 16px 4px 16px;display:none;flex-direction:column;box-shadow:0 12px 40px rgba(0,0,0,0.6);overflow:hidden}
#chatPanel.open{display:flex}
.chat-header{padding:0.75rem 1rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.chat-header-title{font-family:'Orbitron',monospace;font-size:0.65rem;font-weight:600;letter-spacing:0.08em}
.chat-header-close{background:none;border:none;color:var(--ash);cursor:pointer;font-size:1.1rem}
.chat-header-close:hover{color:var(--frost)}
.chat-messages{flex:1;overflow-y:auto;padding:0.75rem 1rem;display:flex;flex-direction:column;gap:0.6rem;min-height:180px;max-height:300px}
.chat-msg{max-width:85%;padding:0.6rem 0.85rem;font-size:0.8rem;line-height:1.55}
.chat-msg.bot{align-self:flex-start;background:var(--deep);border:1px solid var(--border);border-radius:0 10px 10px 10px;color:var(--frost)}
.chat-msg.user{align-self:flex-end;background:var(--crimson-g);border:1px solid rgba(177,31,42,0.3);border-radius:10px 0 10px 10px;color:var(--frost)}
.chat-msg .msg-label{font-family:'Barlow Condensed',sans-serif;font-size:0.45rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--crimson);display:block;margin-bottom:0.15rem}
.typing-indicator{display:none;align-self:flex-start;padding:0.6rem 1rem;background:var(--deep);border:1px solid var(--border);border-radius:0 10px 10px 10px;gap:4px}
.typing-indicator.show{display:flex}
.typing-dot{width:5px;height:5px;border-radius:50%;background:var(--ash)}
.chat-input-row{display:flex;gap:0.4rem;padding:0.6rem 1rem;border-top:1px solid var(--border)}
.chat-input-row input{flex:1;background:var(--deep);border:1px solid rgba(242,245,247,0.1);color:var(--frost);font-family:'Barlow',sans-serif;font-size:0.8rem;padding:0.45rem 0.65rem;outline:none;border-radius:4px}
.chat-input-row input:focus{border-color:var(--teal)}
.chat-send{background:var(--crimson);border:none;color:#fff;padding:0.45rem 0.85rem;cursor:pointer;font-family:'Barlow Condensed',sans-serif;font-size:0.6rem;letter-spacing:0.15em;text-transform:uppercase;border-radius:4px}
.chat-send:hover{background:var(--crimson-d)}
#backToTop{position:fixed;bottom:2rem;left:2rem;z-index:800;width:44px;height:44px;background:var(--crimson);border:none;color:#fff;font-size:1.1rem;cursor:pointer;display:none;align-items:center;justify-content:center;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);opacity:0.4;box-shadow:0 4px 14px rgba(0,0,0,0.4);transition:opacity .28s ease,box-shadow .28s ease,transform .28s ease}
#backToTop.show{display:flex}
#backToTop:hover{opacity:1;box-shadow:0 0 22px rgba(177,31,42,0.55);transform:translateY(-2px)}

/* F5 — unified NAV type: <a> links and injected dropdown labels (.ae-top spans)
   get byte-identical sizing, hover, active, and breakpoint behavior on every page.
   Specificity (0,3,0)+ deliberately beats both .nav-menu a and the runtime-injected .ae-top rules. */
.site-nav .nav-menu a,.site-nav .nav-menu .ae-top{font-family:'Barlow Condensed',sans-serif;font-size:0.7rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--ash);padding:0.4rem 0.52rem;border:1px solid transparent;white-space:nowrap;transition:color 0.2s,border-color 0.2s}
.site-nav .nav-menu a:hover,.site-nav .nav-menu .ae-item:hover>.ae-top{color:var(--frost);border-color:rgba(177,31,42,0.25)}
.site-nav .nav-menu a.active,.site-nav .nav-menu .ae-top.active,.site-nav .nav-menu .ae-top.active-parent{color:var(--frost);border-color:var(--crimson);background:var(--crimson-g)}
.site-nav .nav-menu .ae-panel a{font-size:0.72rem;letter-spacing:0.06em;text-transform:none;border:0;padding:0.36rem 0.7rem;color:var(--mist)}
.site-nav .nav-menu .ae-panel a:hover{color:var(--frost);background:rgba(177,31,42,0.14);border:0}
@media(max-width:1040px){.site-nav .nav-menu a,.site-nav .nav-menu .ae-top{font-size:0.64rem;padding:0.4rem 0.42rem;letter-spacing:0.06em}}

/* F5 — long-word heroes: grid children may shrink, so a long title can't crush its sibling column.
   site.js then auto-fits any overflowing h1/.hero-title down to size. */
.vi>*{min-width:0}
h1,.hero-title{max-width:100%}

/* F5 — system name colors (chain palette: RUNE crimson, SEER teal, ODIN ion, VALKYRIE gold) */
.rune{color:var(--crimson,#B11F2A)}
.seer{color:var(--teal,#2EA8A8)}
.odin{color:var(--ion,#4DA3FF)}
.valkyrie{color:var(--gold,#D9A400)}
.forge{color:var(--green,#3CCB7F)}
.watchtower{color:var(--teal,#2EA8A8)}

/* F5 — unified type scale (home-reference), same hero look on every page */
h1,.hero-title,.page-title,.page-hero h1,.hero h1,.m-hero h1{font-family:'Orbitron',monospace;font-weight:900;line-height:1.08;letter-spacing:-0.01em;font-size:clamp(2.8rem,6vw,5.5rem)}
h2,.section-title,.sec h2{font-family:'Orbitron',monospace;font-weight:700;line-height:1.2;font-size:clamp(1.5rem,2.8vw,2.2rem)}
.sec h3{font-size:1.05rem}
.sec p{font-size:1rem;line-height:1.8}
.sec li{font-size:0.95rem}
.shn{font-size:0.95rem}
.shds{font-size:0.72rem}
.shl{font-size:0.55rem}
.shlk{font-size:0.6rem}
.lead,.page-lead,.hero-desc,.section-lead,.sec-lead,.div-intro,.m-text{font-size:1rem;line-height:1.8;font-weight:300}
.div-body,.div-sub,.card p{font-size:0.9rem;line-height:1.7}
.note{font-size:0.85rem;line-height:1.6}
.btn{font-size:0.82rem}
.badge{font-size:0.62rem}
.hero-sub,.hero-tag{font-size:clamp(0.9rem,2vw,1.3rem)}
.eyebrow,.ph-ey{font-size:0.62rem;letter-spacing:0.4em;text-transform:uppercase}
.page-hero{text-align:center}
.page-hero .eyebrow{justify-content:center}
.page-hero .lead{margin-left:auto;margin-right:auto}
.page-hero .actions{justify-content:center}
.chain{margin-left:auto;margin-right:auto}
