*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --dark-marble:#1a1225;--deep-surface:#2a1d3d;--tyrian:#3d2855;
  --bronze:#c4956a;--marble:#e8e4de;--deep-red:#e07070;
  --alert-red:#7a3a3a;--ash:#aea2bc;--warm-stone:#b89776;
  --healthy:#5ab478;--mid-purple:#a08cba;--deep-nav:#140e1e;
  --light-marble:#f2efea;--warm-white:#f5f2ed;--warm-gray:#d4cfc6;
  --deep-purple-text:#5a4e64;--alert-light:#c47070;--cal-purple:#a08cba;
  --serif:Georgia,'Times New Roman',serif;
  --sans:Arial,'Helvetica Neue',Helvetica,sans-serif;
  --parchment-bg:#e5dac6;--parchment-light:#ede4d3;--parchment-card:#f0e8d8;
  --parchment-rule:#c4b8a0;--ink-primary:#2a1f15;--ink-secondary:#5a4e3d;
  --ink-muted:#8a7e6a;--sepia:#8a6d4a;
  --leaf-green:#4a7a3a;--earth:#8a6a3a;
  /* Verdeckter Bereich am Viewport-Oberrand: fixe Nav + sticky Storybar.
     Speist scroll-padding-top (US-17) und ist die einzige Stelle, an der
     diese Hoehen fuer Sprungmarken stehen. Vgl. iv-role-tour.js, das
     denselben Wert zur Laufzeit misst (nav.offsetHeight + bar.offsetHeight). */
  --iv-nav-h:54px;--iv-storybar-h:50px;--iv-scroll-gap:16px;
}
/* scroll-padding-top gilt fuer JEDE Fragment-Navigation im Dokument, also
   fuer alle Sprungmarken der Site auf einmal (gemessen: 343 Links mit
   Fragment, davon 124 seitenintern). Kein scroll-margin-top
   pro Ziel mehr (US-17 loest die Einzelfaelle aus US-04 ab); beides zusammen
   wuerde sich addieren. Wirkt NICHT auf window.scrollTo() mit festem Wert,
   die Role Tour springt deshalb unveraendert korrekt (kein doppelter Offset). */
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--iv-nav-h) + var(--iv-storybar-h) + var(--iv-scroll-gap))}
h1,h2,h3,h4{font-family:var(--serif)}
h1{font-weight:700}h2{font-weight:500}h3{font-weight:600}

body{font-family:var(--sans);background:var(--dark-marble);color:var(--marble);font-size:17px;line-height:1.7;font-weight:400}
.iv-name{color:var(--deep-red);font-family:var(--serif);font-weight:700}
.iv-red{color:var(--deep-red)}

/* ═══ NAVIGATION ═══ */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--deep-nav);display:flex;align-items:center;padding:0 2.5rem;height:54px;border-bottom:1px solid rgba(61,40,85,0.3)}
.nav-brand{display:flex;align-items:baseline;gap:0.6rem;margin-right:auto;text-decoration:none}
.nav-iv{font-family:var(--serif);font-size:22px;font-weight:700;letter-spacing:2px;color:var(--deep-red)}
.nav-tagline{font-size:9px;letter-spacing:1px;color:var(--warm-stone);opacity:0.7;text-transform:uppercase}
.nav-links{display:flex;gap:0;list-style:none}
.nav-links a{color:var(--ash);text-decoration:none;font-size:12px;letter-spacing:0.5px;transition:color 0.3s,border-color 0.3s;font-weight:400;padding:17px 1rem;border-bottom:2px solid transparent}
.nav-links a:hover{color:var(--marble)}
.nav-links a.active{color:var(--bronze);border-bottom-color:var(--bronze)}
/* Sprachumschalter im Menue (US-14.1). Zeigt die jeweils ANDERE Sprache.
   Wird von build.py nur eingesetzt, wenn die Gegenseite existiert. */
.nav-links a.nav-lang{color:var(--warm-stone);font-weight:500;letter-spacing:1.5px;font-size:11px}
.nav-links a.nav-lang:hover{color:var(--bronze)}


/* ═══ SHARED ═══ */

section{padding:7rem 2rem 5rem}
.section-inner{max-width:960px;margin:0 auto}
.zone-label{font-size:11px;text-transform:uppercase;letter-spacing:4px;color:var(--bronze);margin-bottom:0.5rem;font-weight:500}
.zone-title{font-size:clamp(26px,3.5vw,36px);font-weight:500;color:var(--marble);margin-bottom:1.5rem;line-height:1.3}
.zone-subtitle{font-size:16px;color:var(--ash);max-width:640px;margin-bottom:3rem;line-height:1.7}
.section-divider{width:60px;height:1px;background:linear-gradient(90deg,var(--bronze),transparent);margin-bottom:2rem}
.zone-dark{background:var(--dark-marble)}.zone-elevated{background:var(--deep-surface)}

/* ═══ HERO ═══ */
.hero{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:56px 2rem 4rem;text-align:center;background:var(--dark-marble);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 40%,rgba(61,40,85,0.15),transparent);pointer-events:none}
.hero-logo{position:relative;display:inline-block;margin-bottom:2rem}
.hero-iv{font-family:var(--serif);font-size:clamp(100px,15vw,160px);font-weight:700;letter-spacing:6px;color:var(--bronze);opacity:0.9;line-height:1;user-select:none}
.hero-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--sans);font-size:clamp(10px,1.4vw,14px);font-weight:500;text-transform:uppercase;letter-spacing:4px;color:var(--deep-red);white-space:nowrap;z-index:1}
.hero-overlay .dot{display:inline-block;width:7px;height:7px;background:var(--deep-red);border-radius:50%;opacity:1;vertical-align:middle;margin:0 8px}
.hero-divider{width:80px;height:1px;background:linear-gradient(90deg,transparent,var(--bronze),transparent);margin:0 auto 0.75rem}
.hero-tagline{font-size:11px;font-style:italic;letter-spacing:2px;color:var(--warm-stone)}

/* ═══ FORUM ═══ */
.temple-wrap{display:flex;flex-direction:column;align-items:center;margin:3rem 0 2rem}
.temple-motto{text-align:center;font-size:13px;color:var(--ash);letter-spacing:0.5px;max-width:640px;margin:2rem auto 0;line-height:1.8;font-style:italic}
.trust-claims{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:2.5rem}
.trust-claim{padding:1.25rem;border-left:2px solid var(--tyrian);transition:border-color 0.3s}
.trust-claim:hover{border-color:var(--bronze)}
.trust-claim .numeral{font-family:var(--serif);font-size:18px;color:var(--bronze);font-weight:700;margin-bottom:0.5rem}
.trust-claim p{font-size:14px;color:var(--ash);line-height:1.6}
.gov-gap{margin-top:5rem;padding-top:4rem;border-top:1px solid rgba(61,40,85,0.3)}
.gov-gap-header{text-align:center;margin-bottom:3rem}
.gov-gap-header h2{font-size:clamp(22px,3vw,30px);font-weight:500;color:var(--marble);margin-bottom:1rem}
.gov-gap-header p{font-size:15px;color:var(--ash);max-width:580px;margin:0 auto;line-height:1.7}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.stat-card{background:var(--deep-surface);border:1px solid var(--tyrian);border-radius:4px;padding:2rem 1.5rem;text-align:center;position:relative;overflow:hidden;transition:border-color 0.3s}
.stat-card:hover{border-color:rgba(196,149,106,0.4)}
.stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--deep-red),transparent);opacity:0.6}
.stat-number{font-size:clamp(36px,4vw,48px);font-weight:500;color:var(--deep-red);line-height:1;margin-bottom:0.75rem}
.stat-desc{font-size:13px;color:var(--marble);line-height:1.5;margin-bottom:1rem}
.stat-source{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--ash);opacity:0.7}
.gov-gap-cta{text-align:center;margin-top:2.5rem;font-size:15px;color:var(--marble);line-height:1.7;font-style:italic}
.gov-gap-cta strong{color:var(--bronze);font-weight:500}
.who-section{margin-top:5rem;padding-top:4rem;border-top:1px solid rgba(61,40,85,0.3)}
.who-section h2{font-size:clamp(22px,3vw,28px);font-weight:500;color:var(--bronze);margin-bottom:2rem}
.who-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.who-content p{font-size:15px;color:var(--ash);line-height:1.8}
.who-content p strong{color:var(--marble);font-weight:500}
.who-highlight{background:var(--deep-surface);border-left:3px solid var(--bronze);padding:1.5rem 2rem;border-radius:0 4px 4px 0;margin-top:1rem}
.who-highlight p{font-size:14px;color:var(--marble);line-height:1.7;font-style:italic}
.minute-section{margin-top:5rem;padding-top:4rem;border-top:1px solid rgba(61,40,85,0.3)}
.minute-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}
.minute-header h2{font-size:clamp(20px,2.5vw,26px);font-weight:500;color:var(--marble)}
.minute-header .the-iv{font-family:var(--serif);color:var(--bronze);font-weight:700}
.minute-subscribe{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--bronze);border:1px solid rgba(196,149,106,0.4);padding:6px 16px;border-radius:3px;cursor:pointer;transition:background 0.3s;text-decoration:none}
.minute-subscribe:hover{background:rgba(196,149,106,0.1)}
.featured-article{background:var(--deep-surface);border:1px solid var(--tyrian);border-radius:4px;padding:2.5rem;margin-bottom:1.5rem;cursor:pointer;transition:border-color 0.3s,transform 0.2s;position:relative;overflow:hidden}
.featured-article:hover{border-color:rgba(196,149,106,0.5);transform:translateY(-2px)}
.featured-article::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--bronze),var(--deep-red),var(--bronze))}
.featured-label{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}
.article-tag{font-size:9px;text-transform:uppercase;letter-spacing:2px;color:var(--bronze);background:rgba(196,149,106,0.1);padding:3px 10px;border-radius:2px}
.feat-badge{font-size:9px;text-transform:uppercase;letter-spacing:2px;color:var(--deep-red)}
.featured-article h3{font-size:clamp(20px,2.5vw,26px);font-weight:500;color:var(--marble);line-height:1.3;margin-bottom:0.5rem}
.featured-article .feat-sub{font-size:15px;color:var(--ash);margin-bottom:1rem;font-style:italic}
.featured-article .feat-excerpt{font-size:14px;color:var(--ash);line-height:1.7;margin-bottom:1.25rem;max-width:720px}
.featured-article .feat-cta{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--bronze);font-weight:500}
.featured-article:hover .feat-cta{text-decoration:underline}
.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.article-card{background:var(--deep-surface);border:1px solid var(--tyrian);border-radius:4px;padding:1.75rem;transition:border-color 0.3s,transform 0.3s;cursor:pointer}
.article-card:hover{border-color:rgba(196,149,106,0.4);transform:translateY(-2px)}
.article-title{font-size:16px;font-weight:500;color:var(--marble);line-height:1.4;margin-bottom:0.75rem}
.article-card .article-excerpt{font-size:13px;color:var(--ash);line-height:1.6;margin-bottom:1rem}
.article-date{font-size:11px;color:var(--ash);opacity:0.6}
/* — US-15: dezente LinkedIn-Aktionen in den Karten der Articles-Übersicht.
     Warum das Markup umgebaut ist: die Karten waren seit US-05 selbst <a>-Elemente,
     und ein Link innerhalb eines Links ist ungültiges HTML. Deshalb „stretched
     link": die Karte ist wieder ein <div>, der Titel ist der echte <a> und deckt
     per ::after die ganze Kachel ab. Der Fuß liegt mit z-index darüber, damit die
     LinkedIn-Links anklickbar bleiben. Tastatur, „in neuem Tab öffnen" und
     Crawling laufen weiter über den Titel-Link. — */
.article-card,.featured-article{position:relative}
.iv-card-link{color:inherit;text-decoration:none}
.iv-card-link::after{content:"";position:absolute;inset:0;z-index:0}
.iv-card-link:focus-visible{outline:2px solid var(--bronze);outline-offset:3px;border-radius:2px}
/* Der Fuss ist bewusst NICHT positioniert: sonst liegt er komplett ueber der
   Klickflaeche des Titel-Links und Datum bzw. „Read Article →" werden zu toten
   Bereichen. Angehoben wird ausschliesslich die LinkedIn-Gruppe. */
.article-card-foot{display:flex;justify-content:space-between;align-items:baseline;gap:0.75rem;flex-wrap:wrap}
.article-card-li{position:relative;z-index:1;display:inline-flex;align-items:baseline;gap:0.5rem;font-size:11px;white-space:nowrap}
a.feat-cta{text-decoration:none}
.article-card-li a{color:var(--ash);opacity:0.7;text-decoration:none;border-bottom:1px solid transparent;transition:color 0.25s,opacity 0.25s,border-color 0.25s}
.article-card-li a:hover{color:var(--bronze);opacity:1;border-bottom-color:rgba(196,149,106,0.5)}
.article-card-li a:focus-visible{outline:2px solid var(--bronze);outline-offset:3px;border-radius:2px}
.article-card-li .sep{color:var(--ash);opacity:0.35}
@media(max-width:400px){.article-card-foot{flex-direction:column;align-items:flex-start;gap:0.5rem}}

/* — US-15: LinkedIn-Aktionskachel am Fuss der Artikelseiten.
     Die Kacheloptik ist hier bewusst eigenstaendig definiert und nicht aus
     iv-tiles.css uebernommen: die Artikelseiten laden ausschliesslich
     iv-shared.css. Ebenso eigene Button-Klassen, weil .cta-button in dieser
     Datei nur als ".armory-cta-inner .cta-button" existiert und hier sonst
     voellig unformatiert bliebe. — */
.iv-li-card{background:var(--deep-surface);border:1px solid rgba(196,149,106,0.16);border-radius:22px;box-shadow:0 1px 2px rgba(0,0,0,.35),0 34px 66px -48px rgba(0,0,0,.95);padding:2rem 2.25rem;margin:3.5rem 0 0}
.iv-li-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:3px;color:var(--bronze);margin-bottom:0.5rem}
.iv-li-date{font-size:14px;color:var(--ash);margin-bottom:1.5rem}
.iv-li-actions{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center}
.iv-li-primary{display:inline-block;font-size:12px;text-transform:uppercase;letter-spacing:3px;font-weight:500;text-decoration:none;color:var(--dark-marble);background:var(--bronze);border:1px solid var(--bronze);padding:13px 30px;border-radius:3px;transition:background 0.3s,border-color 0.3s}
.iv-li-primary:hover{background:#d4a87e;border-color:#d4a87e}
.iv-li-secondary{display:inline-block;font-size:12px;text-transform:uppercase;letter-spacing:2px;font-weight:500;text-decoration:none;color:var(--bronze);border-bottom:1px solid rgba(196,149,106,0.4);padding-bottom:2px;transition:border-color 0.3s}
.iv-li-secondary:hover{border-color:var(--bronze)}
.iv-li-primary:focus-visible,.iv-li-secondary:focus-visible{outline:2px solid var(--bronze);outline-offset:4px}
@media(max-width:580px){.iv-li-card{padding:1.6rem 1.4rem;border-radius:18px;margin-top:2.5rem}.iv-li-actions{gap:1.1rem}.iv-li-primary{padding:12px 22px;letter-spacing:2px}}
/* — US-05: Artikel-Karten sind echte Links (<a> statt div+onclick). Anker-Default-Look
     zurücknehmen, damit die Karten optisch unveraendert bleiben. — */
a.featured-article,a.article-card{display:block;text-decoration:none;color:inherit}
a.featured-article:focus-visible,a.article-card:focus-visible{outline:2px solid var(--bronze);outline-offset:4px}
/* — Noch nicht veroeffentlichte Karten bleiben <div> und verlieren jedes Klick-Affordance
     (kein Pointer, kein Hover-Lift); Status-Label wird als Badge deutlich. — */
.article-card.is-unpublished{cursor:default}
.article-card.is-unpublished:hover{border-color:rgba(196,149,106,0.16)!important;transform:none}
.article-card.is-unpublished .article-date{color:var(--bronze);opacity:1;font-size:10px;text-transform:uppercase;letter-spacing:1.5px}

/* ═══ ARCHITECT'S TABLE ═══ */
.pdr-intro{font-size:15px;color:var(--ash);line-height:1.8;max-width:700px;margin-bottom:2rem}
.pdr-intro strong{color:var(--marble);font-weight:500}
.ring-container{display:flex;justify-content:center;margin:2rem 0 1.5rem}
.ring-container svg{width:100%;max-width:520px;cursor:pointer}
.ring-container svg .node-group{cursor:pointer}
.ring-container svg .node-circle{transition:stroke 0.3s,fill 0.3s}
.ring-container svg .node-group:hover .node-circle{stroke:var(--bronze)}
.ring-container svg .node-group.active .node-circle{stroke:#c4956a;fill:rgba(196,149,106,0.1)}
.stage-detail{background:var(--dark-marble);border:1px solid var(--tyrian);border-radius:4px;padding:2rem;margin:0 0 2rem;min-height:160px;position:relative;overflow:hidden;transition:border-color 0.3s}
.stage-detail::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--bronze),transparent)}
.sd-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}
.sd-numeral{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--bronze)}
.sd-title{font-size:18px;font-weight:500;color:var(--marble)}
.sd-arc-tag{font-size:9px;text-transform:uppercase;letter-spacing:2px;padding:2px 8px;border-radius:2px;margin-left:auto}
.sd-arc-pro{color:var(--healthy);background:rgba(90,180,120,0.1);border:1px solid rgba(90,180,120,0.2)}
.sd-arc-react{color:var(--deep-red);background:rgba(154,64,64,0.1);border:1px solid rgba(154,64,64,0.2)}
.sd-arc-bridge{color:var(--mid-purple);background:rgba(160,140,186,0.1);border:1px solid rgba(160,140,186,0.2)}
.sd-body p{font-size:14px;color:var(--ash);line-height:1.7;margin-bottom:0.75rem}
.sd-body strong{color:var(--marble);font-weight:500}
.sd-agents{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1rem}
.sd-agent{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--bronze);background:rgba(196,149,106,0.08);border:1px solid rgba(196,149,106,0.2);padding:3px 10px;border-radius:2px}
.hmac-section{margin-top:3rem;padding-top:3rem;border-top:1px solid rgba(61,40,85,0.3)}
.hmac-section h3{font-size:clamp(18px,2.5vw,24px);font-weight:500;color:var(--marble);margin-bottom:1rem}
.hmac-desc{font-size:15px;color:var(--ash);line-height:1.8;max-width:700px;margin-bottom:2rem}
.chain-visual{display:flex;align-items:center;gap:0;margin:2rem 0;overflow-x:auto;padding-bottom:1rem}
.chain-block{background:var(--dark-marble);border:1px solid var(--tyrian);border-radius:4px;padding:1rem 1.25rem;min-width:150px;flex-shrink:0;text-align:center;transition:border-color 0.3s}
.chain-block:hover{border-color:var(--bronze)}
.cb-type{font-size:9px;text-transform:uppercase;letter-spacing:2px;color:var(--bronze);margin-bottom:0.5rem}
.cb-label{font-size:12px;color:var(--marble);font-weight:500}
.cb-hash{font-family:'Courier New',monospace;font-size:11px;color:var(--mid-purple);opacity:0.8;margin-top:0.5rem}
.chain-arrow{color:var(--bronze);font-size:18px;flex-shrink:0;padding:0 0.5rem;opacity:0.6}
.hmac-guarantees{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2rem}
.hg-card{padding:1.25rem;border-left:2px solid var(--tyrian);transition:border-color 0.3s}
.hg-card:hover{border-color:var(--bronze)}
.hg-card h4{font-size:13px;text-transform:uppercase;letter-spacing:1.5px;color:var(--bronze);margin-bottom:0.5rem;font-weight:500}
.hg-card p{font-size:13px;color:var(--ash);line-height:1.6}
/* Mobile (Smartphone): Section-Header site-weit zentriert; Fließtext bleibt links */
@media (max-width: 899px){
  .zone-label,.zone-title,.zone-subtitle,.pdr-intro,.hmac-desc{text-align:center}
  .zone-subtitle,.pdr-intro,.hmac-desc{margin-left:auto;margin-right:auto}
  .section-divider{margin-left:auto;margin-right:auto}
  #eventstore .chain-visual{flex-direction:column;overflow-x:visible}
  #eventstore .chain-block{min-width:0;width:100%;max-width:300px;margin:0 auto}
  #eventstore .chain-arrow{transform:rotate(90deg);padding:0.35rem 0}
  #eventstore .hg-card{border-left:none;border-top:2px solid var(--bronze);text-align:center}
}

/* ═══ ARMORY ═══ */
.armory-hero-inner{text-align:center;padding:0 2rem 2rem;margin-bottom:2rem}
.ah-sub{font-size:16px;color:var(--ash);font-style:italic;max-width:580px;margin:0 auto 0.75rem}
.ah-hint{font-size:12px;color:var(--ash);opacity:0.5;letter-spacing:1px}
.legion-interactive{max-width:1000px;margin:0 auto;padding:0 2rem;display:flex;gap:2.5rem;align-items:flex-start;justify-content:center}
.legion-img-wrap{position:relative;flex-shrink:0;width:420px}
.legion-img-wrap img{width:100%;height:auto;display:block;border-radius:6px}
.legion-detail{flex:1;max-width:400px;position:sticky;top:80px}
.hotspot{position:absolute;cursor:pointer;border:2px solid transparent;border-radius:3px;transition:border-color 0.3s,background 0.3s}
.hotspot:hover,.hotspot.active{border-color:rgba(196,149,106,0.6);background:rgba(196,149,106,0.08)}
.hotspot-cloak{border-color:transparent}
.hotspot-cloak:hover,.hotspot-cloak.active{border-color:rgba(154,64,64,0.5);background:rgba(120,30,30,0.12);box-shadow:0 0 20px rgba(154,64,64,0.15)}
.ld-panel{background:var(--deep-surface);border:1px solid var(--tyrian);border-radius:4px;padding:2rem;position:relative;overflow:hidden;transition:border-color 0.3s;min-height:220px}
.ld-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--bronze),transparent)}
.ld-icon{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--bronze);margin-bottom:0.75rem}
.ld-title{font-size:20px;font-weight:500;color:var(--marble);margin-bottom:0.75rem}
.ld-body{font-size:14px;color:var(--ash);line-height:1.7}
.ld-body strong{color:var(--marble);font-weight:500}
.ld-agents{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1.25rem}
.ld-agent{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--bronze);background:rgba(196,149,106,0.08);border:1px solid rgba(196,149,106,0.2);padding:3px 10px;border-radius:2px}
.ld-default{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;text-align:center}
.ld-default p{font-size:14px;color:var(--ash);opacity:0.6}
.ld-default .ld-d-title{font-family:var(--serif);font-size:22px;color:var(--bronze);font-weight:700;margin-bottom:0.5rem;opacity:1}
.img-placeholder{width:100%;aspect-ratio:714/1024;background:var(--deep-surface);border:1px dashed var(--tyrian);border-radius:6px;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem}
.img-placeholder p{font-size:13px;color:var(--ash);line-height:1.6}
.img-placeholder code{font-size:11px;color:var(--bronze);background:rgba(196,149,106,0.1);padding:2px 6px;border-radius:2px}
.cip-section{background:var(--deep-surface);padding:4rem 2rem;border-top:1px solid rgba(61,40,85,0.3);border-bottom:1px solid rgba(61,40,85,0.3);margin-top:3rem}
.cip-inner{max-width:800px;margin:0 auto}
.cip-badge{display:inline-block;font-size:9px;text-transform:uppercase;letter-spacing:2px;color:var(--bronze);background:rgba(196,149,106,0.1);border:1px solid rgba(196,149,106,0.2);padding:3px 10px;border-radius:2px;margin-bottom:1rem}
.cip-inner h2{font-size:clamp(22px,3vw,30px);font-weight:500;color:var(--marble);margin-bottom:0.75rem}
.cip-inner .cip-hook{font-size:17px;color:var(--ash);font-style:italic;margin-bottom:2rem}
.cip-features{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2.5rem}
.cip-feat h3{font-size:14px;font-weight:500;color:var(--bronze);margin-bottom:0.5rem}
.cip-feat p{font-size:14px;color:var(--ash);line-height:1.7}
.cip-cta{text-align:center;padding:2rem 0 0;border-top:1px solid rgba(61,40,85,0.3)}
.cip-cta p{font-size:15px;color:var(--marble);line-height:1.7}
.cip-cta strong{color:var(--bronze);font-weight:500}
.expand-section{padding:4rem 2rem;max-width:800px;margin:0 auto}
.expand-section h2{font-size:clamp(22px,3vw,28px);font-weight:500;color:var(--marble);margin-bottom:2rem;text-align:center}
.expand-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.expand-card{border:1px solid var(--tyrian);border-radius:4px;padding:2rem;text-align:center;position:relative;overflow:hidden}
.expand-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--bronze),transparent)}
/* ═══ CVR SECTION ═══ */
.cvr-section{margin-top:3rem;padding-top:3rem;border-top:1px solid rgba(61,40,85,0.3)}
.cvr-section h3{font-size:clamp(18px,2.5vw,24px);font-weight:500;color:var(--marble);margin-bottom:1rem}
.cvr-desc{font-size:15px;color:var(--ash);line-height:1.8;max-width:700px;margin-bottom:2rem}
.cvr-desc strong{color:var(--marble);font-weight:500}
.cvr-features{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2rem}
.cvr-feat{padding:1.25rem;border-left:2px solid var(--tyrian);transition:border-color 0.3s}
.cvr-feat:hover{border-color:var(--bronze)}
.cvr-feat h4{font-size:13px;text-transform:uppercase;letter-spacing:1.5px;color:var(--bronze);margin-bottom:0.5rem;font-weight:500}
.cvr-feat p{font-size:13px;color:var(--ash);line-height:1.6}
.cvr-callout{background:var(--dark-marble);border:1px solid var(--tyrian);border-left:3px solid var(--deep-red);padding:1.5rem 2rem;border-radius:0 4px 4px 0;margin-top:2rem}
.cvr-callout p{font-size:14px;color:var(--marble);line-height:1.7;font-style:italic}
.cvr-callout strong{color:var(--bronze);font-weight:500}
/* ═══ AGENT LIFECYCLE SECTION ═══ */
.lifecycle-section{margin-top:3rem;padding-top:3rem;border-top:1px solid rgba(61,40,85,0.3)}
.lifecycle-section h3{font-size:clamp(18px,2.5vw,24px);font-weight:500;color:var(--marble);margin-bottom:1rem}
.lifecycle-desc{font-size:15px;color:var(--ash);line-height:1.8;max-width:700px;margin-bottom:2rem}
.lifecycle-desc strong{color:var(--marble);font-weight:500}
.lifecycle-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.lifecycle-card{padding:1.25rem;border-left:2px solid var(--tyrian);transition:border-color 0.3s}
.lifecycle-card:hover{border-color:var(--bronze)}
.lifecycle-card h4{font-size:13px;text-transform:uppercase;letter-spacing:1.5px;color:var(--bronze);margin-bottom:0.5rem;font-weight:500}
.lifecycle-card p{font-size:13px;color:var(--ash);line-height:1.6}
.lifecycle-card.full-span{grid-column:1/-1;border-left-color:var(--deep-red)}
/* ═══ PDA / VIGIL SECTION ═══ */
.vigil-section{background:var(--deep-surface);padding:4rem 2rem;border-top:1px solid rgba(61,40,85,0.3);border-bottom:1px solid rgba(61,40,85,0.3);margin-top:3rem}
.vigil-inner{max-width:800px;margin:0 auto}
.vigil-badge{display:inline-block;font-size:9px;text-transform:uppercase;letter-spacing:2px;color:var(--deep-red);background:rgba(154,64,64,0.1);border:1px solid rgba(154,64,64,0.2);padding:3px 10px;border-radius:2px;margin-bottom:1rem}
.vigil-inner h2{font-size:clamp(22px,3vw,30px);font-weight:500;color:var(--marble);margin-bottom:0.75rem}
.vigil-inner .vigil-hook{font-size:17px;color:var(--ash);font-style:italic;margin-bottom:2rem}
.vigil-features{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2.5rem}
.vigil-feat h3{font-size:14px;font-weight:500;color:var(--bronze);margin-bottom:0.5rem}
.vigil-feat p{font-size:14px;color:var(--ash);line-height:1.7}
.vigil-cta{text-align:center;padding:2rem 0 0;border-top:1px solid rgba(61,40,85,0.3)}
.vigil-cta p{font-size:15px;color:var(--marble);line-height:1.7}
.vigil-cta strong{color:var(--bronze);font-weight:500}
/* ═══ MEASUREMENT SECTION ═══ */
.measurement-callout{background:var(--dark-marble);border:1px solid var(--tyrian);border-left:3px solid var(--bronze);padding:1.5rem 2rem;border-radius:0 4px 4px 0;margin-top:2rem}
.measurement-callout h4{font-size:13px;text-transform:uppercase;letter-spacing:1.5px;color:var(--bronze);margin-bottom:0.5rem;font-weight:500}
.measurement-callout p{font-size:13px;color:var(--ash);line-height:1.7}
.measurement-callout em{color:var(--marble);font-style:normal;font-weight:500}
/* ═══ DEPLOYMENT SECTION ═══ */
.deploy-section{margin-top:3rem;padding-top:3rem;border-top:1px solid rgba(61,40,85,0.3)}
.deploy-section h3{font-size:clamp(18px,2.5vw,24px);font-weight:500;color:var(--marble);margin-bottom:1rem}
.deploy-desc{font-size:15px;color:var(--ash);line-height:1.8;max-width:700px;margin-bottom:2rem}
.deploy-desc strong{color:var(--marble);font-weight:500}
.deploy-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:1.5rem}
.deploy-card{padding:1.25rem;border-left:2px solid var(--tyrian);transition:border-color 0.3s}
.deploy-card:hover{border-color:var(--bronze)}
.deploy-card h4{font-size:13px;text-transform:uppercase;letter-spacing:1.5px;color:var(--bronze);margin-bottom:0.5rem;font-weight:500}
.deploy-card p{font-size:13px;color:var(--ash);line-height:1.6}
.deploy-card.full-span{grid-column:1/-1}
/* ═══ ARMORY CTA ═══ */
.armory-cta{background:var(--deep-surface);padding:4rem 2rem;border-top:1px solid rgba(61,40,85,0.3);margin-top:3rem;text-align:center}
.armory-cta-inner{max-width:640px;margin:0 auto}
.armory-cta-inner h2{font-size:clamp(22px,3vw,28px);font-weight:500;color:var(--marble);margin-bottom:1rem}
.armory-cta-inner p{font-size:15px;color:var(--ash);line-height:1.8;margin-bottom:1.5rem}
.armory-cta-inner .cta-button{display:inline-block;font-size:12px;text-transform:uppercase;letter-spacing:3px;color:var(--bronze);border:1px solid rgba(196,149,106,0.5);padding:12px 32px;border-radius:3px;cursor:pointer;transition:background 0.3s,border-color 0.3s;text-decoration:none;font-weight:500}
.armory-cta-inner .cta-button:hover{background:rgba(196,149,106,0.1);border-color:var(--bronze)}
.armory-cta-inner .cta-sub{font-size:12px;color:var(--ash);opacity:0.6;margin-top:1rem}
/* ═══ PRIMARY CTA BUTTON ═══ */
.iv-cta-primary{display:inline-block;font-size:12px;text-transform:uppercase;letter-spacing:3px;color:var(--dark-marble);background:var(--deep-red);border:1px solid var(--deep-red);padding:14px 34px;border-radius:4px;text-decoration:none;font-weight:600;cursor:pointer;box-shadow:0 2px 10px rgba(224,112,112,0.25);transition:transform 0.18s ease,box-shadow 0.18s ease,background 0.18s ease}
.iv-cta-primary:hover{background:#e88585;box-shadow:0 6px 22px rgba(224,112,112,0.42);transform:translateY(-2px)}
.iv-cta-primary:active{transform:translateY(0);box-shadow:0 2px 8px rgba(224,112,112,0.3)}
.iv-cta-primary:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
/* lila-gerahmte Variante mit "Click here"-Hinweis darüber */
.iv-cta-framed{position:relative;border:2px solid #a678d6;box-shadow:0 0 0 4px rgba(166,120,214,0.15),0 2px 12px rgba(224,112,112,0.25);margin-top:26px}
.iv-cta-framed:hover{border-color:#b48ce0;box-shadow:0 0 0 4px rgba(166,120,214,0.28),0 6px 22px rgba(224,112,112,0.42)}
.iv-cta-framed::before{content:"Click here";position:absolute;left:50%;top:-22px;transform:translateX(-50%);font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:#c3a3e6;white-space:nowrap;pointer-events:none}
/* ═══ COMPLIANCE NOTE ═══ */
.compliance-note{background:var(--dark-marble);border:1px solid var(--tyrian);border-left:3px solid var(--warm-stone);padding:1.5rem 2rem;border-radius:0 4px 4px 0;margin-top:2rem}
.compliance-note h4{font-size:13px;text-transform:uppercase;letter-spacing:1.5px;color:var(--warm-stone);margin-bottom:0.5rem;font-weight:500}
.compliance-note p{font-size:13px;color:var(--ash);line-height:1.7}
.ec-title{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--bronze);margin-bottom:0.5rem}
.ec-desc{font-size:14px;color:var(--ash);line-height:1.6;margin-bottom:1rem}
.ec-badge{font-size:9px;text-transform:uppercase;letter-spacing:2px;color:var(--mid-purple);border:1px solid rgba(160,140,186,0.3);padding:3px 10px;border-radius:2px}

/* ═══ LUDUS ═══ */
#ludus{background:var(--parchment-bg);color:var(--ink-primary);padding:0}
.ludus-hero-inner{text-align:center;padding:5rem 2rem 3rem;position:relative;overflow:hidden}
.ludus-hero-inner::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 38px,var(--parchment-rule) 38px,var(--parchment-rule) 39px);opacity:0.15;pointer-events:none}
.ludus-hero-inner::after{content:'';position:absolute;top:0;bottom:0;left:12%;width:1px;background:var(--deep-red);opacity:0.08;pointer-events:none}
.ludus-hero-inner h2{font-family:var(--serif);font-size:clamp(32px,5vw,48px);font-weight:700;color:var(--ink-primary);letter-spacing:3px;position:relative;z-index:1}
.ludus-hero-inner .l-sub{font-size:14px;letter-spacing:4px;text-transform:uppercase;color:var(--sepia);position:relative;z-index:1;margin-top:0.5rem}
.ludus-hero-inner .l-tag{font-size:18px;font-style:italic;color:var(--ink-secondary);max-width:540px;margin:1.5rem auto 0;line-height:1.8;position:relative;z-index:1}
.ludus-hero-inner .l-tag em{color:var(--deep-red)}
.l-divider{display:flex;align-items:center;justify-content:center;gap:16px;padding:24px 0;position:relative;z-index:1}
.l-divider .line{width:80px;height:1px;background:linear-gradient(to right,transparent,var(--parchment-rule),transparent)}
.l-divider .dot{width:5px;height:5px;border-radius:50%;background:var(--sepia);opacity:0.5}
.l-container{max-width:900px;margin:0 auto;padding:3rem 2rem}
.l-container .l-label{font-size:10px;letter-spacing:5px;text-transform:uppercase;color:var(--sepia);margin-bottom:0.75rem}
.l-container .l-heading{font-family:var(--serif);font-size:clamp(22px,3vw,28px);font-weight:500;color:var(--ink-primary);margin-bottom:1.5rem;line-height:1.4}
.l-container p{font-size:15px;color:var(--ink-secondary);line-height:1.8;margin-bottom:1rem}
.l-callout{background:var(--parchment-light);border:1px solid var(--parchment-rule);border-left:3px solid var(--deep-red);padding:2rem 2.5rem;border-radius:2px;margin:2rem 0}
.l-callout .lead{font-size:18px;font-style:italic;color:var(--ink-primary);line-height:1.8;margin-bottom:1rem}
.l-callout .body{font-size:15px;color:var(--ink-secondary);line-height:1.8;margin:0}
.problems-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin:1.5rem 0}
.problem-card{background:var(--parchment-card);border:1px solid var(--parchment-rule);border-left:3px solid var(--sepia);padding:1.5rem;border-radius:2px;transition:all 0.3s}
.problem-card:hover{border-left-color:var(--deep-red)}
.problem-card .num{font-family:var(--serif);font-size:11px;letter-spacing:3px;color:var(--sepia);margin-bottom:0.5rem}
.problem-card h4{font-size:15px;font-weight:500;color:var(--ink-primary);margin-bottom:0.5rem}
.problem-card p{font-size:13px;line-height:1.6;color:var(--ink-secondary);margin:0}
.problem-card.full-width{grid-column:1/-1}
.psych-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:1.5rem 0}
.psych-card{background:var(--parchment-card);border:1px solid var(--parchment-rule);border-top:2px solid var(--bronze);padding:1.75rem 1.5rem;text-align:center;border-radius:2px}
.psych-card .name{font-family:var(--serif);font-size:17px;font-weight:500;color:var(--ink-primary);margin-bottom:4px}
.psych-card .dates{font-size:11px;color:var(--ink-muted);letter-spacing:1px;margin-bottom:1rem}
.psych-card .concept{font-size:12px;font-weight:500;color:var(--sepia);letter-spacing:1px;text-transform:uppercase;margin-bottom:0.75rem}
.psych-card .desc{font-size:13px;line-height:1.6;color:var(--ink-secondary)}
.thesis-comparison{display:grid;grid-template-columns:1fr auto 1fr;gap:0;margin:1.5rem 0;align-items:stretch}
.thesis-side{padding:2rem;border-radius:2px}
.thesis-side.current{background:rgba(154,64,64,0.06);border:1px solid rgba(154,64,64,0.15)}
.thesis-side.proposed{background:rgba(90,180,120,0.06);border:1px solid rgba(90,180,120,0.15)}
.thesis-side h4{font-family:var(--serif);font-size:14px;font-weight:500;margin-bottom:1rem;letter-spacing:1px}
.thesis-side.current h4{color:var(--deep-red)}.thesis-side.proposed h4{color:#3a7a4a}
.thesis-side .flow{font-size:13px;line-height:2;color:var(--ink-secondary)}
.thesis-side .flow .arrow{color:var(--ink-muted);font-size:11px}
.thesis-divider{display:flex;align-items:center;justify-content:center;padding:0 20px}
.thesis-divider span{font-family:var(--serif);font-size:20px;color:var(--sepia);opacity:0.4}
.l-featured{display:grid;grid-template-columns:1fr 200px;background:var(--parchment-card);border:1px solid var(--parchment-rule);border-radius:2px;overflow:hidden;cursor:pointer;transition:all 0.3s;margin:1.5rem 0}
.l-featured:hover{box-shadow:0 4px 20px rgba(42,31,21,0.08);border-color:var(--sepia)}
.l-featured-body{padding:2rem}
.l-featured-body .tag{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--deep-red);margin-bottom:1rem}
.l-featured-body h4{font-family:var(--serif);font-size:20px;font-weight:500;color:var(--ink-primary);margin-bottom:0.75rem;line-height:1.4}
.l-featured-body .excerpt{font-size:14px;color:var(--ink-secondary);line-height:1.7;margin-bottom:1rem}
.l-featured-body .read-link{font-size:13px;font-weight:500;color:var(--sepia);letter-spacing:1px;text-decoration:none}
.l-featured-body .read-link:hover{color:var(--deep-red)}
.l-featured-visual{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 24px,var(--parchment-rule) 24px,var(--parchment-rule) 25px),linear-gradient(135deg,var(--parchment-light),var(--parchment-bg))}
.l-featured-visual .big{font-family:var(--serif);font-size:48px;font-weight:700;color:var(--sepia);opacity:0.3}
.l-iv-position{text-align:center;padding:2rem 2rem 3rem}
.l-iv-position .brand-mark{font-family:var(--serif);font-size:13px;font-weight:500;letter-spacing:6px;text-transform:uppercase;margin-bottom:1.5rem}
.l-iv-position .iv-m{color:var(--deep-red)}.l-iv-position .iv-n{color:var(--deep-red)}
.l-iv-position .pos{font-size:17px;font-style:italic;color:var(--ink-primary);max-width:600px;margin:0 auto 1rem;line-height:1.8}
.l-iv-position .fol{font-size:14px;color:var(--ink-muted);letter-spacing:1px}

/* ═══ AGORA ═══ */
.transition-band{height:120px;background:linear-gradient(180deg,var(--parchment-bg) 0%,var(--warm-stone) 50%,var(--light-marble) 100%)}
#agora{background:var(--light-marble);color:var(--dark-marble);padding-top:0}
.agora-hero-inner{text-align:center;padding:4rem 2rem 3rem}
.ag-label{font-size:11px;text-transform:uppercase;letter-spacing:4px;color:var(--warm-stone);margin-bottom:0.5rem}
.ag-divider{width:60px;height:1px;background:linear-gradient(90deg,var(--warm-stone),transparent);margin:0 auto 2rem}
.ag-title{font-size:clamp(28px,4vw,40px);font-weight:500;color:var(--dark-marble);line-height:1.2;margin-bottom:1rem}
.ag-sub{font-size:17px;color:var(--deep-purple-text);max-width:620px;margin:0 auto;line-height:1.7}
.seed-tree-wrap{display:flex;justify-content:center;padding:2rem 2rem 1rem}
.seed-tree-wrap img{width:100%;max-width:480px;border-radius:8px}
.seed-tree-wrap .img-drop{width:100%;max-width:480px;aspect-ratio:1/1;background:var(--warm-white);border:1px dashed var(--warm-gray);border-radius:8px;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem;cursor:pointer}
.seed-tree-wrap .img-drop p{font-size:13px;color:var(--deep-purple-text);opacity:0.6;line-height:1.6}
.seed-tree-wrap .img-drop code{font-size:11px;color:var(--warm-stone);background:rgba(154,123,90,0.1);padding:2px 6px;border-radius:2px}
.seed-label{text-align:center;margin-bottom:3rem}
.seed-label h2{font-family:var(--serif);font-size:clamp(24px,3vw,32px);color:var(--dark-marble);font-weight:700;margin-bottom:0.25rem}
.seed-label p{font-size:13px;color:var(--deep-purple-text);letter-spacing:1px}
.domains-section{max-width:800px;margin:0 auto;padding:0 2rem 4rem}
.domains-section h2{font-size:clamp(20px,2.5vw,26px);font-weight:500;color:var(--dark-marble);text-align:center;margin-bottom:0.75rem}
.domains-intro{text-align:center;font-size:15px;color:var(--deep-purple-text);max-width:560px;margin:0 auto 2.5rem;line-height:1.7}
.domain-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.domain-card{background:var(--warm-white);border:1px solid var(--warm-gray);border-radius:4px;padding:1.75rem;transition:border-color 0.3s;position:relative;overflow:hidden}
.domain-card:hover{border-color:var(--warm-stone)}
.domain-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%}
.domain-card:nth-child(1)::before{background:var(--bronze)}
.domain-card:nth-child(2)::before{background:var(--leaf-green)}
.domain-card:nth-child(3)::before{background:var(--warm-stone)}
.domain-card:nth-child(4)::before{background:var(--deep-purple-text)}
.dc-title{font-size:16px;font-weight:500;color:var(--dark-marble);margin-bottom:0.5rem}
.dc-desc{font-size:14px;color:var(--deep-purple-text);line-height:1.7}
.programs-section{background:var(--warm-white);border-top:1px solid var(--warm-gray);border-bottom:1px solid var(--warm-gray);padding:4rem 2rem}
.programs-inner{max-width:800px;margin:0 auto}
.programs-inner h2{font-size:clamp(20px,2.5vw,26px);font-weight:500;color:var(--dark-marble);text-align:center;margin-bottom:2.5rem}
.program-cards{display:grid;grid-template-columns:1fr;gap:1.5rem}
.prog-card{display:grid;grid-template-columns:100px 1fr;gap:1.5rem;align-items:start;padding:1.75rem;border:1px solid var(--warm-gray);border-radius:4px;transition:border-color 0.3s}
.prog-card:hover{border-color:var(--warm-stone)}
.pc-abbr{font-family:var(--serif);font-size:28px;font-weight:700;color:var(--bronze);line-height:1}
.pc-full{font-size:10px;color:var(--deep-purple-text);letter-spacing:1px;margin-top:0.25rem}
.pc-body h3{font-size:16px;font-weight:500;color:var(--dark-marble);margin-bottom:0.5rem}
.pc-body p{font-size:14px;color:var(--deep-purple-text);line-height:1.7}

/* ═══ DISPLACEMENT CALCULATOR (within Agora) ═══ */
.wdc-transition{height:80px;background:linear-gradient(180deg,var(--warm-white) 0%,var(--dark-marble) 100%)}
.wdc-section{background:var(--dark-marble);padding:3rem 2rem 4rem;color:var(--marble)}
.wdc-inner{max-width:720px;margin:0 auto}
.wdc-header{text-align:center;margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid rgba(61,40,85,0.3)}
.wdc-header .wdc-iv{font-family:var(--serif);font-size:36px;font-weight:700;letter-spacing:4px;color:var(--deep-red);opacity:0.9}
.wdc-header .wdc-brand{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:6px;color:var(--deep-red);margin:4px 0 12px}
.wdc-header h2{font-size:20px;font-weight:500;color:var(--marble);margin-bottom:4px}
.wdc-header .wdc-tagline{font-size:11px;color:var(--warm-stone);font-style:italic;letter-spacing:2px}
.wdc-essay{max-width:600px;margin:0 auto 2.5rem;line-height:1.8;font-size:13px;color:var(--marble)}
.wdc-essay p{margin-bottom:16px}
.wdc-essay .wdc-highlight{color:var(--bronze);font-weight:500;font-size:14px}
.wdc-tool-header{display:flex;align-items:baseline;gap:0;margin-bottom:4px}
.wdc-tool-header .wdc-logo{font-family:var(--serif);font-size:28px;font-weight:700;letter-spacing:2px;color:var(--deep-red);display:inline}
.wdc-tool-header .wdc-title{font-size:16px;font-weight:500;color:var(--marble);margin-left:12px}
.wdc-sub{font-size:11px;color:var(--ash);margin-bottom:20px}
.wdc-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}
.wdc-card{background:var(--deep-surface);border-radius:8px;padding:10px 14px}
.wdc-card-label{font-size:11px;color:var(--ash);margin-bottom:3px}
.wdc-card-val{font-size:20px;font-weight:500;color:var(--marble)}
.wdc-card-sub{font-size:10px;color:var(--ash);margin-top:2px}
.wdc-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:0.5px solid var(--tyrian)}
.wdc-tab{padding:6px 12px;font-size:12px;border:none;cursor:pointer;background:transparent;color:var(--ash);font-weight:400;border-bottom:2px solid transparent;margin-bottom:-1px;font-family:inherit}
.wdc-tab.active{color:var(--bronze);font-weight:500;border-bottom-color:var(--bronze)}
.wdc-tab:hover{color:var(--marble)}
.wdc-tab-content{display:none}
.wdc-tab-content.active{display:block}
.wdc-section-head{font-size:12px;font-weight:500;color:var(--bronze);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:10px;padding-bottom:5px;border-bottom:0.5px solid var(--tyrian);margin-top:20px}
.wdc-section-head:first-child{margin-top:0}
.wdc-slider-row{margin-bottom:14px}
.wdc-slider-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:3px}
.wdc-slider-label{font-size:13px;color:var(--marble)}
.wdc-slider-sub{font-size:11px;color:var(--ash);margin-left:6px}
.wdc-slider-val{font-size:13px;font-weight:500;color:var(--bronze);min-width:70px;text-align:right}
.wdc-slider-row input[type=range]{width:100%;accent-color:var(--bronze);height:4px}
.wdc-slider-range{display:flex;justify-content:space-between;font-size:10px;color:var(--ash);margin-top:1px}
.wdc-grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.wdc-toggle-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.wdc-toggle-label{font-size:12px;color:var(--ash)}
.wdc-toggle{width:36px;height:20px;border-radius:10px;cursor:pointer;position:relative;transition:background 0.2s}
.wdc-toggle .wdc-thumb{width:16px;height:16px;border-radius:8px;background:var(--marble);position:absolute;top:2px;transition:left 0.2s}
.wdc-legend{display:flex;gap:16px;margin-top:8px;flex-wrap:wrap;font-size:11px}
.wdc-legend-item{display:flex;align-items:center;gap:5px;color:var(--ash)}
.wdc-legend-line{width:20px;height:2.5px;border-radius:1px}
.wdc-legend-fill{width:14px;height:10px;border-radius:2px}
.wdc-table{width:100%;border-collapse:collapse;font-size:11px;margin-top:16px}
.wdc-table th{text-align:left;padding:5px 8px;color:var(--ash);font-weight:500;border-bottom:0.5px solid var(--tyrian)}
.wdc-table th.right{text-align:right}
.wdc-table td{padding:4px 8px;color:var(--marble);border-bottom:0.5px solid var(--tyrian)}
.wdc-table td.right{text-align:right}
.wdc-job-card{background:var(--deep-surface);padding:12px 14px;margin-bottom:8px;border-left:3px solid var(--bronze)}
.wdc-job-card.emerging{border-left-color:var(--healthy)}
.wdc-job-top{display:flex;justify-content:space-between;align-items:baseline}
.wdc-job-name{font-size:13px;font-weight:500;color:var(--marble)}
.wdc-job-horizon{font-size:11px;color:var(--bronze);font-weight:500}
.wdc-job-demand{font-size:10px;color:var(--healthy);font-weight:500;background:rgba(90,180,120,0.12);padding:2px 8px;border-radius:4px}
.wdc-job-desc{font-size:11px;color:var(--ash);margin-top:4px;line-height:1.5}
.wdc-caveat{background:var(--tyrian);border-radius:8px;padding:12px 14px;margin-top:16px}
.wdc-caveat-title{font-size:11px;color:var(--bronze);font-weight:500;margin-bottom:4px}
.wdc-caveat-text{font-size:11px;color:var(--warm-stone);line-height:1.6}
.wdc-about-box{background:var(--deep-surface);border-radius:8px;padding:12px 14px;margin-top:12px}
.wdc-about-title{font-size:11px;color:var(--bronze);font-weight:500;margin-bottom:6px}
.wdc-about-text{font-size:11px;color:var(--ash);line-height:1.6}
.wdc-intro-text{font-size:12px;color:var(--ash);margin-bottom:16px;line-height:1.6}
.wdc-return-band{height:80px;background:linear-gradient(180deg,var(--dark-marble) 0%,var(--light-marble) 100%)}

.agora-close{text-align:center;padding:4rem 2rem 5rem;max-width:640px;margin:0 auto}
.agora-close p{font-size:16px;color:var(--deep-purple-text);line-height:1.8;margin-bottom:1.5rem}

footer{background:var(--deep-nav);padding:2rem;text-align:center;border-top:1px solid rgba(61,40,85,0.3)}
footer .f-iv{font-family:var(--serif);font-size:16px;font-weight:700;letter-spacing:2px;color:var(--deep-red);margin-bottom:0.25rem}
footer p{font-size:10px;color:var(--ash);letter-spacing:1px;opacity:0.6}

/* ═══ RESPONSIVE ═══ */
@media(max-width:900px){.stats-grid,.articles-grid{grid-template-columns:1fr 1fr}.who-content{grid-template-columns:1fr}.hmac-guarantees,.cip-features,.expand-grid,.cvr-features,.lifecycle-grid,.vigil-features,.deploy-grid{grid-template-columns:1fr}}
@media(max-width:860px){.legion-interactive{flex-direction:column;align-items:center}.legion-img-wrap{width:100%;max-width:380px}.legion-detail{max-width:100%;position:static}}
@media(max-width:768px){nav{padding:0 1rem}.nav-tagline{display:none}.nav-links a{padding:17px 0.5rem;font-size:10px;letter-spacing:0}section{padding:5rem 1.25rem 3rem}.trust-claims{grid-template-columns:1fr 1fr}.problems-grid,.domain-grid{grid-template-columns:1fr}.psych-cards{grid-template-columns:1fr}.thesis-comparison{grid-template-columns:1fr}.thesis-divider{padding:12px 0}.l-featured{grid-template-columns:1fr}.prog-card{grid-template-columns:80px 1fr}}
@media(max-width:640px){.wdc-cards{grid-template-columns:1fr 1fr}.wdc-grid2{grid-template-columns:1fr}}
@media(max-width:580px){.stats-grid,.articles-grid{grid-template-columns:1fr}.trust-claims{grid-template-columns:1fr}.nav-links a{padding:17px 0.35rem;font-size:9px}}

/* ═══ ROLE TOUR MODAL ═══ */
.rt-banner{position:fixed;top:54px;left:0;right:0;z-index:90;background:linear-gradient(90deg,var(--deep-surface),rgba(61,40,85,0.85));border-bottom:1px solid var(--tyrian);padding:0.85rem 2rem;display:flex;align-items:center;gap:1.5rem;justify-content:center;flex-wrap:wrap;transition:transform 0.4s ease,opacity 0.3s;font-size:13px}
.rt-banner.rt-hidden{transform:translateY(-100%);opacity:0;pointer-events:none}
.rt-banner-text{color:var(--marble)}
.rt-banner-text strong{color:var(--bronze);font-weight:500}
.rt-banner-cta{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--bronze);border:1px solid rgba(196,149,106,0.4);padding:6px 14px;border-radius:3px;cursor:pointer;background:transparent;transition:background 0.3s;font-family:var(--sans)}
.rt-banner-cta:hover{background:rgba(196,149,106,0.1)}
.rt-banner-dismiss{background:none;border:none;color:var(--ash);font-size:18px;cursor:pointer;padding:0 0.5rem;transition:color 0.3s;font-family:var(--sans);line-height:1}
.rt-banner-dismiss:hover{color:var(--marble)}
body.rt-banner-visible nav{box-shadow:0 1px 0 rgba(61,40,85,0.3)}
body.rt-banner-visible{padding-top:48px}

.rt-modal-backdrop{position:fixed;inset:0;background:rgba(20,14,30,0.85);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;display:none;align-items:center;justify-content:center;padding:2rem;opacity:0;transition:opacity 0.3s}
.rt-modal-backdrop.rt-active{display:flex;opacity:1}
.rt-modal{background:var(--deep-surface);border:1px solid var(--tyrian);border-radius:6px;max-width:520px;width:100%;padding:3rem 2.5rem;position:relative;transform:scale(0.96);transition:transform 0.3s}
.rt-modal-backdrop.rt-active .rt-modal{transform:scale(1)}
.rt-modal::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--bronze),transparent)}
.rt-modal-iv{font-family:var(--serif);font-size:32px;font-weight:700;letter-spacing:3px;color:var(--deep-red);text-align:center;margin-bottom:0.4rem;line-height:1}
.rt-modal-tag{font-size:10px;letter-spacing:3px;color:var(--warm-stone);text-transform:uppercase;text-align:center;margin-bottom:1.8rem;font-style:italic}
.rt-modal h2{font-size:22px;font-weight:500;color:var(--marble);margin-bottom:0.6rem;text-align:center;line-height:1.4}
.rt-modal p{font-size:14px;color:var(--ash);line-height:1.7;margin-bottom:1.8rem;text-align:center}
.rt-modal label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--bronze);margin-bottom:0.5rem;font-weight:500}
.rt-modal select{width:100%;background:var(--dark-marble);border:1px solid var(--tyrian);color:var(--marble);font-family:var(--sans);font-size:14px;padding:0.85rem 1rem;border-radius:3px;cursor:pointer;transition:border-color 0.3s;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--bronze) 50%),linear-gradient(135deg,var(--bronze) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:2.5rem}
.rt-modal select:focus,.rt-modal select:hover{outline:none;border-color:var(--bronze)}
.rt-modal-actions{display:flex;gap:0.75rem;margin-top:1.8rem;justify-content:flex-end;flex-wrap:wrap}
.rt-modal-skip{background:none;border:1px solid var(--tyrian);color:var(--ash);font-family:var(--sans);font-size:11px;text-transform:uppercase;letter-spacing:2px;padding:10px 20px;border-radius:3px;cursor:pointer;transition:color 0.3s,border-color 0.3s;font-weight:500}
.rt-modal-skip:hover{color:var(--marble);border-color:var(--ash)}
.rt-modal-go{background:var(--bronze);border:1px solid var(--bronze);color:var(--dark-marble);font-family:var(--sans);font-size:11px;text-transform:uppercase;letter-spacing:2px;padding:10px 24px;border-radius:3px;cursor:pointer;transition:background 0.3s;font-weight:500}
.rt-modal-go:hover{background:#d4a574}
.rt-modal-go:disabled{opacity:0.4;cursor:not-allowed}

/* Active-role indicator */
.rt-active-pill{display:inline-flex;align-items:center;gap:0.5rem;font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--bronze);background:rgba(196,149,106,0.1);border:1px solid rgba(196,149,106,0.3);padding:4px 10px;border-radius:2px;margin-left:1rem;font-weight:500}
.rt-active-pill .rt-clear{background:none;border:none;color:var(--bronze);cursor:pointer;font-family:var(--sans);font-size:14px;line-height:1;padding:0;opacity:0.7;transition:opacity 0.3s}
.rt-active-pill .rt-clear:hover{opacity:1}

/* Role-tagged content */
[data-role-block]{display:none}
[data-role-block].rt-show{display:block}
a[data-role-block].rt-show,span[data-role-block].rt-show{display:inline-block}
[data-role-hide].rt-hidden-by-role{display:none !important}
.zone-stack{display:flex;flex-direction:column}
body.role-cfo .zone-stack .zone-problem{order:1}
body.role-cfo .zone-stack .zone-trust{order:2}
body.role-cfo .zone-stack .zone-loriqa{order:3}
.rt-role-callout{background:rgba(196,149,106,0.05);border:1px solid rgba(196,149,106,0.25);border-left:3px solid var(--bronze);border-radius:0 4px 4px 0;padding:1.5rem 1.75rem;margin:2rem 0}
.rt-role-callout-label{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--bronze);margin-bottom:0.6rem;font-weight:500}
.rt-role-callout h4{font-size:16px;font-weight:500;color:var(--marble);margin-bottom:0.5rem}
.rt-role-callout p{font-size:14px;color:var(--marble);line-height:1.7}

/* ═══ CROSS-SITE LINK STRIP ═══ */
.cross-site{background:var(--dark-marble);border-top:1px solid var(--tyrian);padding:3rem 2rem;text-align:center}
.cross-site-inner{max-width:880px;margin:0 auto}
.cross-site-label{font-size:10px;text-transform:uppercase;letter-spacing:3px;color:var(--bronze);margin-bottom:1.5rem;font-weight:500}
.cross-site-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem}
.cross-site-card{display:block;background:var(--deep-surface);border:1px solid var(--tyrian);border-radius:4px;padding:1.5rem 1.75rem;text-decoration:none;transition:border-color 0.3s,transform 0.2s;text-align:left}
.cross-site-card:hover{border-color:rgba(196,149,106,0.5);transform:translateY(-2px)}
.cross-site-card-name{font-family:var(--serif);font-size:18px;color:var(--bronze);font-weight:700;letter-spacing:1px;margin-bottom:0.25rem}
.cross-site-card-desc{font-size:12px;color:var(--ash);line-height:1.6;margin-bottom:0.5rem}
.cross-site-card-cta{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--bronze);font-weight:500}
@media(max-width:640px){.cross-site-grid{grid-template-columns:1fr}}

/* ═══ FOUNDERS PAGE EXTENSIONS (used by founders.html) ═══ */
.intro-pull{font-size:18px;color:var(--marble);line-height:1.8;border-left:2px solid var(--bronze);padding:0.5rem 0 0.5rem 1.5rem;margin:2rem 0;font-style:italic;max-width:720px}
.intro-pull strong{color:var(--bronze);font-style:normal}
.principal-card{display:grid;grid-template-columns:200px 1fr;gap:2.5rem;align-items:start;padding:2rem;background:rgba(26,18,37,0.4);border:1px solid var(--tyrian);border-radius:2px;margin-bottom:1.5rem;transition:border-color 0.3s}
.principal-card:hover{border-color:rgba(196,149,106,0.4)}
.principal-photo{width:200px;height:200px;border-radius:50%;border:2px solid var(--bronze);padding:4px;background:var(--dark-marble);position:relative}
.principal-photo img{width:100%;height:100%;border-radius:50%;display:block}
.principal-photo::after{content:'';position:absolute;inset:-6px;border:0.5px solid rgba(196,149,106,0.3);border-radius:50%;pointer-events:none}
.principal-meta{display:flex;flex-direction:column}
.principal-name{font-family:var(--serif);font-size:26px;font-weight:700;color:var(--marble);margin-bottom:0.4rem;letter-spacing:0.5px}
.principal-role{font-size:11px;text-transform:uppercase;letter-spacing:3px;color:var(--bronze);margin-bottom:0.3rem;font-weight:500}
.principal-locale{font-size:13px;color:var(--warm-stone);margin-bottom:1.2rem;font-style:italic}
.principal-bio{font-size:15px;color:var(--marble);line-height:1.8;margin-bottom:1rem}
.principal-affil{font-size:12px;color:var(--ash);padding-top:0.8rem;border-top:1px solid rgba(61,40,85,0.5);margin-top:0.5rem}
.principal-affil strong{color:var(--warm-stone);font-weight:500}
@media(max-width:720px){.principal-card{grid-template-columns:1fr;text-align:center;justify-items:center}.principal-photo{width:160px;height:160px}.principal-meta{align-items:center}.principal-affil{text-align:center}}
.impressum-grid{display:grid;grid-template-columns:200px 1fr;gap:1rem 2rem;font-size:14px;line-height:1.8}
.impressum-grid dt{color:var(--bronze);text-transform:uppercase;letter-spacing:1.5px;font-size:11px;font-weight:500;padding-top:3px}
.impressum-grid dd{color:var(--marble)}
.impressum-grid dd .placeholder{color:var(--warm-stone);font-style:italic;opacity:0.6}
@media(max-width:600px){.impressum-grid{grid-template-columns:1fr;gap:0.4rem 0}.impressum-grid dt{padding-top:0.8rem}}

/* ═══ FOOTER ═══ */
footer{background:var(--deep-nav);text-align:center;padding:2.5rem 2rem;border-top:1px solid var(--tyrian)}
.f-iv{font-family:var(--serif);font-size:18px;color:var(--deep-red);letter-spacing:2px;margin-bottom:0.5rem;font-weight:700}
footer p{color:var(--ash);font-size:11px;letter-spacing:1px;margin-bottom:0.3rem}
.f-motto{color:var(--warm-stone);font-style:italic;font-size:11px;margin-top:0.6rem;letter-spacing:2px}
.f-links{display:flex;gap:2rem;justify-content:center;margin-top:1rem;flex-wrap:wrap}
.f-links a{color:var(--ash);font-size:11px;letter-spacing:1px;text-decoration:none;transition:color 0.3s;text-transform:uppercase}
.f-links a:hover{color:var(--bronze)}
.f-legal{display:flex;gap:1.25rem;justify-content:center;margin-top:1.1rem;padding-top:0.9rem;flex-wrap:wrap;border-top:1px solid rgba(196,149,106,0.15)}
.f-legal a{position:relative;color:rgba(232,228,222,0.6);font-size:10px;letter-spacing:0.5px;text-decoration:none;transition:color 0.3s ease;font-family:var(--sans)}
.f-legal a:not(:last-child)::after{content:'·';position:absolute;right:-0.7rem;color:rgba(232,228,222,0.3)}
.f-legal a:hover{color:var(--bronze)}
@media(prefers-reduced-motion:reduce){.f-legal a{transition:none}}

/* ═══ PRODUCTS MEGA-MENU ═══ */
.nav-links{position:relative}
.products-trigger{display:flex;align-items:center;gap:0.4rem;color:var(--ash);text-decoration:none;font-size:12px;letter-spacing:0.5px;transition:color 0.3s,border-color 0.3s;font-weight:400;padding:17px 1rem;border-bottom:2px solid transparent;cursor:pointer;background:none;border-top:none;border-left:none;border-right:none;font-family:var(--sans)}
.products-trigger:hover,.products-trigger.pm-open{color:var(--marble)}
.products-trigger.pm-open{border-bottom-color:var(--bronze);color:var(--bronze)}
.products-trigger.active{color:var(--bronze);border-bottom-color:var(--bronze)}
.pm-caret{display:inline-block;font-size:9px;transition:transform 0.25s;line-height:1;margin-top:1px}
.products-trigger.pm-open .pm-caret{transform:rotate(180deg)}

.pm-panel{position:fixed;top:54px;left:0;right:0;background:var(--deep-surface);border-bottom:1px solid var(--tyrian);border-top:1px solid rgba(196,149,106,0.2);box-shadow:0 8px 24px rgba(0,0,0,0.4);z-index:99;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity 0.25s ease,transform 0.25s ease}
.pm-panel.pm-open{opacity:1;pointer-events:auto;transform:translateY(0)}
.pm-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--bronze),transparent)}
.pm-inner{max-width:1100px;margin:0 auto;padding:2.5rem 2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.pm-header{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;padding-bottom:1.25rem;border-bottom:1px solid rgba(61,40,85,0.5);margin-bottom:0.5rem}
.pm-header-label{font-size:10px;text-transform:uppercase;letter-spacing:3px;color:var(--bronze);font-weight:500}
.pm-header-tag{font-size:11px;color:var(--ash);font-style:italic}

.pm-card{display:block;text-decoration:none;padding:1.5rem 1.5rem 1.75rem;border:1px solid var(--tyrian);border-radius:4px;background:rgba(20,14,30,0.4);transition:border-color 0.3s,transform 0.2s,background 0.3s;position:relative;overflow:hidden}
.pm-card:hover{border-color:var(--bronze);transform:translateY(-2px);background:rgba(20,14,30,0.7)}
.pm-card-numeral{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--bronze);letter-spacing:2px;line-height:1;margin-bottom:0.5rem;display:block}
.pm-card-name{font-family:var(--serif);font-size:18px;color:var(--marble);font-weight:700;letter-spacing:0.5px;margin-bottom:0.4rem}
.pm-card-tag{font-size:11px;color:var(--bronze);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:0.75rem;font-weight:500}
.pm-card-desc{font-size:13px;color:var(--ash);line-height:1.6;margin-bottom:1.25rem;min-height:54px}
.pm-card-status{display:inline-flex;align-items:center;gap:0.5rem;font-size:10px;text-transform:uppercase;letter-spacing:2px;font-weight:500;padding:4px 10px;border-radius:2px}
.pm-status-live{color:var(--healthy);background:rgba(90,180,120,0.1);border:1px solid rgba(90,180,120,0.25)}
.pm-status-live::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--healthy);animation:pmpulse 2s infinite}
@keyframes pmpulse{0%,100%{opacity:1}50%{opacity:0.5}}
.pm-status-soon{color:var(--warm-stone);background:rgba(154,123,90,0.1);border:1px solid rgba(154,123,90,0.25)}

/* Roadmap cards (IV Labs, IV Exchange) — slightly muted but readable */
.pm-card.pm-roadmap{opacity:0.78}
.pm-card.pm-roadmap:hover{opacity:1}
.pm-card.pm-roadmap .pm-card-name{color:var(--ash)}
.pm-card.pm-roadmap:hover .pm-card-name{color:var(--marble)}

/* Featured card (Loriqa) — accent rail at top */
.pm-card.pm-featured::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--bronze),var(--deep-red),var(--bronze))}

/* Backdrop for mega-menu — closes on click outside */
.pm-backdrop{position:fixed;inset:0;background:rgba(20,14,30,0.6);z-index:98;opacity:0;pointer-events:none;transition:opacity 0.25s;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.pm-backdrop.pm-open{opacity:1;pointer-events:auto}

/* Mobile */
@media(max-width:780px){
  .pm-inner{grid-template-columns:1fr;padding:1.5rem 1.25rem;gap:1rem}
  .pm-header{flex-direction:column;align-items:flex-start;gap:0.3rem}
  .pm-card-desc{min-height:0}
}

/* ═══ Cross-site mega-menus (added 2026-05-09 — unified nav) ═══ */
.has-mega{position:relative;display:flex;align-items:stretch}
.mega{position:absolute;top:54px;left:50%;transform:translateX(-50%);background:var(--deep-nav);border:1px solid var(--tyrian);border-top:none;min-width:280px;padding:0.75rem 0;display:none;box-shadow:0 6px 20px rgba(0,0,0,0.4);z-index:1000}
.has-mega:hover .mega,.has-mega:focus-within .mega{display:block}
/* Letztes Dropdown rechts ausrichten statt zentriert. Zentriert (left:50%/translateX(-50%))
   ragte es bei min-width:280px um gemessene 50px ueber den rechten Bildrand, gleich bei
   1440/1280/1024px, weil es am Elternelement klebt; alle vier Eintraege waren abgeschnitten.
   Das letzte Kind von .nav-links ist auf allen 34 Seiten die Research-Gruppe (im DOM geprueft). */
@media (min-width:900px){
  /* :last-of-type statt :last-child (korrigiert 14.08.2026). Der Selektor hing an
     der Annahme, dass die Research-Gruppe das letzte Kind von .nav-links ist. Das
     stimmte, bis der Sprachumschalter (<a class="nav-lang">) und der Prinzipien-Block
     fuer die Schublade (<div class="nav-mobile-only">) dahinter kamen. Damit griff die
     Rechtsausrichtung nicht mehr, und das Dropdown lief auf der ENGLISCHEN Site bei
     jeder gemessenen Breite (900 bis 1440px) 2px ueber den rechten Rand; auf der
     deutschen fehlte 1px, also reiner Zufall. :last-of-type meint das letzte
     span.has-mega und damit weiter genau die Research-Gruppe. */
  .nav-links > .has-mega:last-of-type .mega{left:auto;right:0;transform:none}
}
.mega a{display:block;padding:10px 1.25rem;border:none;color:var(--ash);font-size:12px;letter-spacing:0.5px;text-decoration:none;transition:color 0.2s,background 0.2s}
.mega a:hover{color:var(--bronze);background:rgba(196,149,106,0.06)}
.mega-numeral{font-family:var(--serif);color:var(--bronze);font-weight:700;margin-right:0.5rem;display:inline-block;width:22px}

/* ═══ MOBILE BURGER + DRAWER (≤899px) ═══ */
.nav-mobile-only { display: none; }
.nav-burger { display: none; background: transparent; border: none; cursor: pointer; padding: 11px 10px; margin-left: auto; width: 44px; height: 44px; flex-direction: column; align-items: stretch; justify-content: center; gap: 5px; }
.nav-burger span { display: block; width: 100%; height: 2px; background: var(--bronze); border-radius: 2px; transition: transform 0.3s ease, opacity 0.2s ease; transform-origin: center; }
.nav-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
@media (max-width: 899px) {
  .nav-burger { display: flex; }
  /* ═══ Burger-Menue: flache Liste mit Gruppen-Labels ═══
     Struktur auf Wunsch Ben (14.08.2026), Vorbild sincera-tech.com: durchgehende
     Liste, Gruppen durch kleine graue Labels getrennt, duenne Trennlinien,
     Grossbuchstaben mit weiter Laufweite.
     Das ERSETZT das Akkordeon vom 06.08.2026 (Untermenues zu, ein Tap oeffnet
     eines). Bewusste Umkehr einer frueheren Entscheidung von Ben: das Akkordeon
     hielt die Schublade kurz, versteckte aber die Struktur hinter Taps. Die
     Schublade ist jetzt wieder lang und wird gescrollt, genau wie beim Vorbild.
     Neu darin: die sieben Prinzipien, die auf Mobil komplett fehlten, weil die
     Storybar unter 900px ausgeblendet ist. */
  .nav-links { position: fixed; top: 54px; left: 0; right: 0; bottom: 0; background: var(--deep-nav); border-top: 1px solid var(--tyrian); flex-direction: column; align-items: stretch; gap: 0; padding: 0 0 5rem; overflow-y: auto; -webkit-overflow-scrolling: touch; transform: translateX(100%); transition: transform 0.3s ease; z-index: 999; }
  body.nav-mobile-open .nav-links { transform: translateX(0); }
  body.nav-mobile-open { overflow: hidden; }

  /* Eintraege der obersten Ebene */
  .nav-links > a, .nav-links > button.products-trigger {
    width: 100%; padding: 14px 1.5rem; font-size: 12px; letter-spacing: 2px;
    text-transform: uppercase; color: var(--marble); text-align: left;
    justify-content: flex-start; border-bottom: 1px solid rgba(196, 149, 106, 0.12);
  }
  .nav-links > button.products-trigger { border-top: none; }

  /* Gruppen-Label. Zwei Elementarten, ein Aussehen:
     - .has-mega > a ist der Elternlink der Desktop-Dropdowns (Module, Soziale
       Verantwortung, Forschung). Auf Mobil ist er das Label der Gruppe und
       bewusst NICHT klickbar (pointer-events:none), weil das Ziel als
       "Uebersicht" der erste Eintrag der Gruppe darunter ist. Ein klickbares
       Label neben einem gleichnamigen Eintrag waere doppelt.
     - .nav-group ist das Label des reinen Mobil-Blocks mit den Prinzipien. */
  .nav-links .has-mega > a, .nav-links .nav-group {
    display: block; width: 100%; padding: 26px 1.5rem 10px; font-size: 10px;
    letter-spacing: 3px; text-transform: uppercase; color: var(--warm-stone);
    opacity: 0.6; border-bottom: none; pointer-events: none; font-weight: 400;
  }
  /* Der Pfeil verspricht ein Aufklappen, das es hier nicht gibt. Genau dieser
     Fehler stand vor dem Akkordeon schon einmal in der Schublade. */
  .mega-caret { display: none; }

  .nav-links .has-mega { display: flex; flex-direction: column; align-items: stretch; position: static; width: 100%; }
  .nav-links .has-mega .mega { position: static; display: block; transform: none; background: transparent; border: none; box-shadow: none; min-width: 0; padding: 0; }
  .nav-links .has-mega .mega a,
  .nav-mobile-only > a {
    display: flex; align-items: center; width: 100%; padding: 14px 1.5rem;
    font-size: 12px; letter-spacing: 2px; text-transform: uppercase;
    color: var(--marble); border-bottom: 1px solid rgba(196, 149, 106, 0.12);
  }
  /* Aktive Seite: Marker links statt bronzener Unterkante. Die Basisregel
     .nav-links a.active setzt border-bottom-color auf Bronze; im Spalten-Modus
     wird daraus eine durchgehende Linie ueber die ganze Breite, die wie ein
     Trenner aussieht und nicht wie eine Markierung. */
  .nav-links .has-mega .mega a.active, .nav-mobile-only > a.active {
    color: var(--bronze); border-bottom-color: rgba(196, 149, 106, 0.12);
    box-shadow: inset 3px 0 0 var(--bronze); background: rgba(196, 149, 106, 0.04);
  }
  .nav-links .mega-numeral, .nav-mobile-only .mega-numeral { width: 34px; flex-shrink: 0; color: var(--bronze); font-size: 12px; }

  /* Der Prinzipien-Block existiert nur in der Schublade. Auf dem Desktop
     tragen die sieben Prinzipien die Storybar, dort waere er ein neunter
     Nav-Eintrag und wuerde die Leiste sprengen. */
  .nav-mobile-only { display: flex; flex-direction: column; width: 100%; }

  /* ═══ Reihenfolge in der Schublade ═══
     Die DOM-Reihenfolge ist fuer die Desktop-Leiste gewaehlt (Research MUSS das
     letzte .has-mega bleiben, daran haengt die Rechtsausrichtung seines
     Dropdowns). Auf Mobil zaehlt eine andere Ordnung: erst die einzelnen
     Eintraege, dann die Gruppen, wie beim Vorbild. Deshalb hier flex-order
     statt einer Umsortierung im HTML.
     ACHTUNG bei neuen Nav-Eintraegen: ohne eigenen order-Wert ist der
     Standard 0 und der Eintrag springt in der Schublade nach ganz oben. */
  .nav-links > button.products-trigger { order: 1; }
  .nav-links > a[data-rt-trigger] { order: 2; }
  .nav-links > a[data-zone="founders"] { order: 3; }
  .nav-links > a[data-zone="articles"] { order: 4; }
  .nav-mobile-only { order: 5; }
  .nav-links > .has-mega:nth-of-type(1) { order: 6; }   /* Module */
  .nav-links > .has-mega:nth-of-type(2) { order: 7; }   /* Soziale Verantwortung */
  .nav-links > .has-mega:nth-of-type(3) { order: 8; }   /* Forschung */
  .nav-links > a.nav-lang { order: 9; }

  .nav-links a.nav-lang { padding: 22px 1.5rem; font-size: 12px; letter-spacing: 3px; color: var(--bronze); border-bottom: none; }
  .pm-panel { top: 54px !important; }
}

/* ═══ MOBILE FALLBACK (desktop-only tools) ═══ */
.mobile-fallback { display: none; }
@media (max-width: 899px) {
  .desktop-only-tool { display: none !important; }
  .mobile-fallback { display: block; }
}
.mobile-fallback { text-align: center; padding: 4rem 1.5rem 5rem; color: var(--marble); max-width: 560px; margin: 0 auto; }
.mf-icon { font-size: 46px; color: var(--bronze); margin-bottom: 1.6rem; line-height: 1; font-family: var(--serif); }
.mf-title { font-family: var(--serif); font-size: 30px; color: var(--bronze); font-weight: 500; margin: 0 0 1.2rem; letter-spacing: 0.3px; }
.mf-desc { font-size: 14px; color: var(--ash); line-height: 1.85; margin: 0 auto 2.2rem; }
.mf-cta { display: inline-block; font-size: 11px; text-transform: uppercase; letter-spacing: 3px; color: var(--bronze); border: 1px solid rgba(196, 149, 106, 0.5); padding: 14px 26px; border-radius: 3px; font-weight: 500; }

/* ═══ STORY BAR — the eight-principle sequence (I–VIII) ═══ */
.iv-storybar{position:sticky;top:54px;z-index:80;background:var(--deep-nav);border-bottom:1px solid rgba(61,40,85,0.4)}
.iv-storybar::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(196,149,106,0.5),transparent)}
.iv-storybar-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:0.4rem;padding:0 2rem}
.iv-storybar-inner::-webkit-scrollbar{display:none}
.iv-storybar-lead{flex-shrink:0;font-size:9px;text-transform:uppercase;letter-spacing:3px;color:var(--warm-stone);opacity:0.7;padding-right:1.5rem;margin-right:0.5rem;border-right:1px solid rgba(61,40,85,0.5)}
.iv-story-step{flex-shrink:0;display:flex;align-items:baseline;gap:0.5rem;text-decoration:none;padding:14px 1rem;border-bottom:2px solid transparent;transition:color 0.3s,border-color 0.3s}
.iv-story-num{font-family:var(--serif);font-size:14px;font-weight:700;color:var(--bronze);letter-spacing:1px;line-height:1}
.iv-story-name{font-size:11px;letter-spacing:0.5px;color:var(--ash);white-space:nowrap}
.iv-story-step:hover .iv-story-name{color:var(--marble)}
.iv-story-step.active{border-bottom-color:var(--bronze)}
.iv-story-step.active .iv-story-name{color:var(--bronze)}
@media(max-width:1200px){
  .iv-storybar-inner{padding:0 1.25rem}
  .iv-story-step{padding:12px 0.55rem;gap:0.4rem}
  .iv-story-name{font-size:10px;letter-spacing:0.3px}
  .iv-storybar-lead{padding-right:1rem;margin-right:0.25rem;letter-spacing:2px}
}
@media(max-width:1040px){
  .iv-storybar-lead{display:none}
  .iv-story-step{padding:12px 0.4rem}
  .iv-story-num{font-size:13px}
}
@media(max-width:899px){.iv-storybar{display:none}}
/* Unter 900px ist die Storybar ausgeblendet (Regel direkt darueber), es
   verdeckt also nur noch die Nav. Ohne diese Zeile waere der Sprung-Offset
   auf Mobil um die volle Storybar-Hoehe zu gross und liesse eine sichtbare
   Luecke ueber der Zielueberschrift stehen. */
@media(max-width:899px){:root{--iv-storybar-h:0px}}
/* Die frueheren Einzelfall-Regeln #armory,#osp,#eventstore
   (scroll-margin-top:120px, aus US-04) sind entfallen: das globale
   scroll-padding-top oben deckt sie mit ab. Sie hier wieder aufzunehmen
   wuerde sich mit dem scroll-padding addieren und die Ziele zu weit nach
   unten schieben. Unveraendert gilt: die Storybar-Links auf eventstore.html
   bleiben bewusst fragmentlos, dort IST der Hero das richtige Ziel
   (Principle III) — das ist eine Link-, keine Offset-Frage. */

/* ═══ MODULE PLACEHOLDER CARD — real IV card w/ bronze top-accent ═══ */
.iv-module{background:var(--deep-surface);border:1px solid var(--tyrian);border-radius:4px;padding:2.25rem 2rem;position:relative;overflow:hidden;margin-top:2.5rem;transition:border-color 0.3s}
.iv-module:hover{border-color:rgba(196,149,106,0.4)}
.iv-module-accent{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--bronze),transparent)}
.iv-module-badge{display:inline-block;font-size:9px;text-transform:uppercase;letter-spacing:2px;color:var(--bronze);background:rgba(196,149,106,0.1);border:1px solid rgba(196,149,106,0.2);padding:3px 10px;border-radius:2px;margin-bottom:1rem}
.iv-module-title{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--bronze);letter-spacing:0.5px;margin-bottom:0.6rem}
.iv-module-desc{font-size:14px;color:var(--ash);line-height:1.7;margin-bottom:1.5rem;max-width:640px}

/* ═══ GHOST CTA — bronze hairline button ═══ */
.iv-cta-ghost{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:3px;color:var(--bronze);border:1px solid rgba(196,149,106,0.5);padding:11px 26px;border-radius:3px;text-decoration:none;font-weight:500;cursor:pointer;transition:background 0.3s,border-color 0.3s}
.iv-cta-ghost:hover{background:rgba(196,149,106,0.1);border-color:var(--bronze)}

/* ═══ PRINCIPLE SUBPAGE HERO ═══ */
.iv-principle-hero{padding:8.5rem 2rem 3rem;text-align:center;background:var(--dark-marble);position:relative;overflow:hidden}
.iv-principle-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 50% 30%,rgba(61,40,85,0.18),transparent);pointer-events:none}
.iv-principle-hero-inner{position:relative;z-index:1;max-width:720px;margin:0 auto}
.iv-principle-numeral{font-family:var(--serif);font-size:clamp(64px,10vw,104px);font-weight:700;letter-spacing:4px;color:var(--bronze);opacity:0.9;line-height:1;margin-bottom:1.25rem}
.iv-principle-name{font-family:var(--serif);font-size:clamp(30px,4.5vw,46px);font-weight:400;color:var(--marble);letter-spacing:1px;margin-top:0.5rem;line-height:1.2}

/* ═══ LEGAL / DOCUMENT PAGES ═══ */
.iv-legal{max-width:940px;margin:0 auto}
.iv-legal p{font-size:15px;color:var(--ash);line-height:1.8;margin-bottom:1.25rem}
.iv-legal h2{font-family:var(--serif);font-size:20px;font-weight:500;color:var(--marble);margin:2.5rem 0 1rem;padding-top:1.5rem;border-top:1px solid rgba(61,40,85,0.4)}
.iv-legal h3{font-size:13px;text-transform:uppercase;letter-spacing:1.5px;color:var(--bronze);font-weight:500;margin:1.75rem 0 0.75rem}
.iv-legal ul{list-style:none;margin:0 0 1.25rem;padding:0}
.iv-legal li{font-size:15px;color:var(--ash);line-height:1.7;padding:0.35rem 0 0.35rem 1.25rem;position:relative}
.iv-legal li::before{content:'·';position:absolute;left:0.25rem;color:var(--bronze);font-weight:700}
.iv-legal strong{color:var(--marble);font-weight:500}
.iv-legal a{color:var(--bronze)}
.iv-legal-card{background:var(--deep-surface);border:1px solid rgba(196,149,106,0.16);border-radius:12px;padding:2rem 1.75rem;margin-bottom:1.25rem;box-shadow:0 2px 20px rgba(0,0,0,0.25)}
.iv-legal .iv-legal-card h2{margin-top:0;padding-top:0;border-top:none}
.iv-legal .iv-legal-card p,.iv-legal .iv-legal-card li{max-width:72ch}
.iv-legal .iv-legal-address{background:var(--tyrian);border:1px solid var(--tyrian);border-left:2px solid var(--bronze);border-radius:0 4px 4px 0;padding:1.25rem 1.5rem;margin-bottom:1.5rem}
.iv-legal .iv-legal-address p{margin:0;font-size:14px;line-height:1.7;color:var(--marble)}
.iv-legal .iv-legal-updated{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(61,40,85,0.4);font-size:12px;font-style:italic;color:var(--ash);opacity:0.7}
.iv-legal .iv-legal-lead{border-left:2px solid var(--bronze);padding-left:1.5rem;margin-bottom:2rem}
.iv-legal .iv-legal-lead p:last-child{margin-bottom:0}
.iv-legal .iv-legal-emphasis{background:var(--tyrian);border:1px solid rgba(196,149,106,0.5);border-radius:4px;padding:1.1rem 1.4rem;margin-bottom:1.5rem}
.iv-legal .iv-legal-emphasis p{margin:0;text-transform:uppercase;letter-spacing:0.5px;font-size:12px;font-weight:700;color:var(--marble);line-height:1.6}
.iv-legal .art-cite{font-size:13px;color:var(--warm-stone);font-style:italic;margin-top:-0.75rem;margin-bottom:1.75rem;letter-spacing:0.3px}
.iv-legal h2.art-sources-h{margin-top:3rem}
.iv-legal .art-source{font-size:13px;color:var(--ash);line-height:1.7;margin-bottom:0.6rem;opacity:0.85}
.iv-article-sub{font-size:clamp(15px,1.6vw,18px);color:var(--ash);line-height:1.6;max-width:720px;margin:1.25rem auto 0;font-style:italic}

/* ── Live body text color: warm cream, no lilac (em stays lilac) ── */
p,li,.zone-subtitle,.pdr-intro,.hmac-desc,.cvr-desc,.lifecycle-desc,.deploy-desc,.gov-gap-header p,.gov-gap-cta,.who-content p,.armory-cta-inner p,.cip-feat p,.cip-cta p,.vigil-feat p,.vigil-cta p,.research-cta-inner p,.impact-cta-inner p,.iv-legal p,.iv-legal li,.principal-bio,.principal-affil,.article-excerpt,.feat-excerpt,.trust-claim p,.inv-path-body,.inv-paths-close,.l-container p,.l-callout .body,.problem-card p,.psych-card .desc{color:rgb(232,228,222)}
em,i,article.inv p em{color:rgb(174,162,188)}

.iv-principle-hero--full{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:0;padding-bottom:0}


/* Die Fly-in- und Fade-in-Regeln sind am 14.08.2026 entfallen (Ansage Ben:
   keine Einblend-Effekte mehr, sie passen nicht zur Site). Inhalte erscheinen
   statisch. Diese eine Zeile ist geblieben, weil sie keine Animation ist,
   sondern horizontales Scrollen verhindert. */
html{overflow-x:clip}


/* ═══ Footer animation guard — footer never animates/fades (global) ═══ */
footer, footer * {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
}


/* Hier standen die Standby-Regeln fuer .fly, die Neutralisierung von .fade-in
   und der Karten-Reveal .iv-reveal. Alles entfernt am 14.08.2026.
   Achtung fuer spaeter: .iv-reveal startete auf opacity:0 und wurde erst per
   JavaScript sichtbar geschaltet. Wer so etwas wieder einbaut, muss CSS und
   Skript zusammen liefern, sonst bleiben die Karten dauerhaft unsichtbar. */

/* Active-role label in nav "Personalize" trigger — brand bronze */
.nav-links [data-rt-trigger].rt-has-role{color:#C4956A !important}

/* Personalized Tour: HIDE – zum Reaktivieren entfernen */
.nav-links [data-rt-trigger],
footer [data-rt-trigger],
.rt-banner { display: none !important; }
