/* calyr.aí Design System — Quelle: calyr-projects/dist/index.html */
:root { --paper:#050505; --ink:#f5f5f2; --soft:#a7abb0; --line:#343434; --card:#090909; }
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Helvetica Neue','Helvetica','Arial',sans-serif;background:var(--paper);color:var(--ink);line-height:1.6;font-size:16px;min-height:100vh;display:flex;flex-direction:column;}
header{padding:72px max(4vw,calc((100vw - 1240px)/2)) 60px;border-bottom:1px solid var(--line);}
header h1{font-size:clamp(3rem,8vw,7rem);font-weight:400;letter-spacing:-.07em;line-height:1;}
header p{font-size:.88rem;color:var(--soft);letter-spacing:.1em;text-transform:uppercase;margin-top:16px;}
.grid{width:min(1240px,94vw);margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;flex:1;}
.hub-card{padding:52px 48px;border-bottom:1px solid var(--line);text-decoration:none;transition:background .2s;position:relative;overflow:hidden;display:block;}
.hub-card:nth-child(odd){border-right:1px solid var(--line);}
.hub-card:hover{background:var(--card);}
.hc-num{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;display:block;margin-bottom:10px;}
.hc-title{font-size:clamp(1.5rem,3vw,2.6rem);font-weight:400;letter-spacing:-.05em;color:var(--ink);margin-bottom:4px;}
.hc-sub{font-size:.9rem;color:var(--soft);margin-bottom:8px;}
.hc-desc{font-size:.78rem;color:var(--soft);opacity:.7;}
footer{padding:24px max(4vw,calc((100vw - 1240px)/2));border-top:1px solid var(--line);display:flex;justify-content:space-between;}
footer p{font-size:.7rem;color:var(--soft);letter-spacing:.06em;}
footer a{color:var(--soft);}
footer a:hover{color:var(--ink);}
@media(max-width:700px){.grid{grid-template-columns:1fr;}.hub-card:nth-child(odd){border-right:none;}.hub-card{padding:36px 20px;}header{padding:44px 20px;}}

/* CALYR.AI Research Biotope */
.biotope-intro{width:min(1240px,94vw);margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line);padding:42px 48px 48px;background:#08070d;}
.biotope-intro-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.2rem;}
.biotope-kicker{display:block;color:#a99cff;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.7rem;}
.biotope-intro h2{font-size:clamp(2rem,5vw,4.4rem);font-weight:400;letter-spacing:-.06em;line-height:.95;}
.biotope-lede{max-width:620px;color:var(--soft);font-size:.82rem;margin-top:1rem;}
.landing-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;flex-wrap:wrap;}
.landing-edit{color:#c7c0ff;background:transparent;border:1px solid #3e3864;padding:.52rem .7rem;font:inherit;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;}
.landing-edit:hover{border-color:#a99cff;}
.biotope-open{color:#c7c0ff;text-decoration:none;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #7567d8;padding-bottom:.35rem;}
.home-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;gap:.7rem;}
.home-flow a{display:flex;flex-direction:column;min-height:126px;padding:1rem;border:1px solid #3e3864;color:var(--ink);text-decoration:none;background:#0b0913;transition:border-color .2s,transform .2s;}
.home-flow a:hover{border-color:#a99cff;transform:translateY(-2px);}
.home-flow small{color:#a99cff;font-size:.55rem;letter-spacing:.13em;text-transform:uppercase;}
.home-flow strong{font-size:1.15rem;font-weight:400;margin:auto 0 .2rem;}
.home-flow span{font-size:.68rem;color:var(--soft);}
.home-flow i{align-self:center;color:#7567d8;font-style:normal;}
.project-grid{border-top:1px solid var(--line);}
.landing-system{display:grid;grid-template-columns:1fr 1.25fr 1fr;grid-template-rows:1fr 1fr;gap:1px;margin-top:2rem;background:#3e3864;border:1px solid #3e3864;}
.landing-node,.landing-core{min-height:178px;padding:1.1rem;background:#09080f;color:var(--ink);text-decoration:none;display:flex;flex-direction:column;transition:background .2s,color .2s;}
.landing-node:hover,.landing-core:hover{background:#121020;}
.landing-node small,.landing-core small{color:#a99cff;font-size:.54rem;letter-spacing:.13em;text-transform:uppercase;}
.landing-node strong{font-size:1.45rem;font-weight:400;margin:auto 0 .2rem;}
.landing-node span{font-size:.67rem;color:var(--soft);line-height:1.4;max-width:260px;}
.landing-core{grid-column:2;grid-row:1 / 3;justify-content:center;align-items:center;text-align:center;background:#100d1d;border-left:1px solid #7567d8;border-right:1px solid #7567d8;}
.landing-core strong{font-size:clamp(2rem,4vw,4rem);font-weight:400;letter-spacing:-.06em;line-height:.88;margin:1rem 0 1.6rem;}
.landing-core span{color:#c7c0ff;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;}
.landing-node-parvotec{grid-column:1;grid-row:1}.landing-node-aorta{grid-column:1;grid-row:2}.landing-node-biophys{grid-column:3;grid-row:1}.landing-node-brix{grid-column:3;grid-row:2}
.landing-status{color:#8b82c7;font-size:.64rem;letter-spacing:.06em;margin-top:.8rem;text-align:right;}
.landing-is-editing [data-landing-edit]{outline:none;box-shadow:inset 0 -1px 0 #a99cff;cursor:text;}
.landing-is-editing .landing-node{cursor:default;}
@media(max-width:850px){.home-flow{grid-template-columns:1fr 1fr}.home-flow i{display:none}.biotope-intro-head{align-items:flex-start;flex-direction:column}.biotope-intro{padding:34px 24px}}
@media(max-width:520px){.home-flow{grid-template-columns:1fr}}
@media(max-width:760px){.landing-system{grid-template-columns:1fr 1fr;grid-template-rows:auto}.landing-core{grid-column:1 / 3;grid-row:1}.landing-node-parvotec,.landing-node-aorta,.landing-node-biophys,.landing-node-brix{grid-column:auto;grid-row:auto}.landing-node,.landing-core{min-height:150px}.landing-actions{justify-content:flex-start}}
@media(max-width:480px){.landing-system{grid-template-columns:1fr}.landing-core{grid-column:1}.landing-node{grid-column:1!important}.landing-actions{align-items:flex-start;flex-direction:column}}

.biotope-page{width:min(1400px,96vw);margin:0 auto;padding:3rem 0 5rem;}
.biotope-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2rem;}
.biotope-page h1{font-size:clamp(2.8rem,7vw,6rem);font-weight:400;letter-spacing:-.07em;line-height:.9;}
.biotope-page-note{max-width:480px;color:var(--soft);font-size:.78rem;}
.biotope-controls{display:flex;gap:.6rem;flex-wrap:wrap;margin:0 0 1rem;}
.biotope-controls button{font:inherit;color:var(--ink);background:transparent;border:1px solid #3e3864;padding:.55rem .8rem;cursor:pointer;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;}
.biotope-controls button:hover{border-color:#a99cff;}
.biotope-map{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#3e3864;border:1px solid #3e3864;}
.biotope-stage{background:#0b0913;min-height:240px;padding:1.25rem;display:flex;flex-direction:column;position:relative;}
.biotope-stage::after{content:none;}
.biotope-stage:last-child::after{display:none;}
.biotope-stage small{color:#a99cff;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;}
.biotope-stage h2{font-size:1.5rem;font-weight:400;letter-spacing:-.03em;margin:.6rem 0 1.5rem;}
.biotope-stage p{color:var(--soft);font-size:.76rem;line-height:1.55;margin-bottom:1.25rem;}
.subsystem-links{list-style:none;margin-top:auto;display:grid;gap:.45rem;}
.subsystem-links a{display:flex;justify-content:space-between;gap:1rem;color:var(--ink);text-decoration:none;border-top:1px solid #2b2840;padding-top:.45rem;font-size:.72rem;}
.subsystem-links a:hover{color:#c7c0ff;}
[contenteditable="true"]{outline:none;border-radius:2px;}
[contenteditable="true"]:focus{background:#171329;box-shadow:0 0 0 4px #171329;}
.edit-active [contenteditable="true"]{box-shadow:inset 0 -1px 0 #7567d8;cursor:text;}
.biotope-status{color:#8b82c7;font-size:.65rem;letter-spacing:.06em;margin-left:auto;align-self:center;}
@media(max-width:950px){.biotope-map{grid-template-columns:1fr 1fr}.biotope-stage::after{display:none}}
@media(max-width:580px){.biotope-map{grid-template-columns:1fr}.biotope-page-head{align-items:flex-start;flex-direction:column}}

/* --- Inner pages (same variables, same feel) --- */
.hero{padding:52px max(4vw,calc((100vw - 1240px)/2)) 40px;border-bottom:1px solid var(--line);}
.hero h1{font-size:clamp(2rem,5vw,4rem);font-weight:400;letter-spacing:-.05em;line-height:1;margin-bottom:1rem;}
.hero-subtitle{font-size:.9rem;color:var(--soft);max-width:540px;margin-bottom:2rem;}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;}
.page-main{width:min(1240px,94vw);margin:0 auto;padding:3rem max(4vw,calc((100vw - 1240px)/2));}
.section-label{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);margin-bottom:.75rem;}
.section-block{margin-bottom:3rem;}
.portal-header{padding:1rem max(4vw,calc((100vw - 1240px)/2));border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:1.5rem;}
.portal-badge{font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;padding:.2rem .5rem;border:1px solid var(--line);color:var(--soft);}
.btn{display:inline-flex;align-items:center;padding:.5rem 1.25rem;font-family:inherit;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);color:var(--ink);background:transparent;cursor:pointer;}
.btn:hover{background:var(--ink);color:var(--paper);}
.btn-primary{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.download-list{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;}
.video-container{position:relative;padding-top:56.25%;overflow:hidden;background:var(--card);border:1px solid var(--line);}
.video-container iframe{position:absolute;inset:0;width:100%;height:100%;border:none;}
.btn-pdf{position:fixed;bottom:1.5rem;right:1.5rem;z-index:200;background:var(--ink);color:var(--paper);border:none;padding:.4rem .9rem;font-family:inherit;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;}
.btn-pdf:hover{background:var(--soft);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ── Surrogate · Oracle homepage ─────────────────────────────────── */
.so-hero{width:min(1240px,94vw);margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line);padding:64px 48px 56px;}
.so-kicker{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);display:block;margin-bottom:1.5rem;}
.so-title{font-size:clamp(4rem,10vw,9rem);font-weight:400;letter-spacing:-.06em;line-height:.9;margin-bottom:2rem;}
.so-sub{font-size:clamp(.9rem,1.5vw,1.1rem);color:var(--soft);line-height:1.6;max-width:480px;margin-bottom:3rem;}
.so-loop{display:flex;align-items:flex-start;gap:0;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:2rem;}
.so-loop-step{flex:1;min-width:160px;padding:1.5rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;}
.so-loop-step strong{font-size:1rem;font-weight:500;letter-spacing:-.01em;}
.so-loop-step span{font-size:.72rem;color:var(--soft);line-height:1.5;}
.so-loop-n{font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);}
.so-loop-active strong{color:#39bfff;}
.so-loop-active .so-loop-n{color:#39bfff;}

.so-projects{width:min(1240px,94vw);margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line);border-top:1px solid var(--line);padding:40px 48px 56px;}
.so-projects-label{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);margin-bottom:2rem;}
.so-projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);}
.so-card{background:var(--paper);padding:40px 32px;text-decoration:none;display:flex;flex-direction:column;gap:.4rem;transition:background .15s;}
.so-card:hover{background:var(--card);}
.so-card-n{font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);}
.so-card-title{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:400;letter-spacing:-.04em;color:var(--c,#39bfff);}
.so-card-domain{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin-bottom:.5rem;}
.so-card-sub{font-size:.8rem;font-weight:500;color:var(--ink);}
.so-card-desc{font-size:.72rem;color:var(--soft);line-height:1.5;flex:1;}
.so-card-cta{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--c,#39bfff);margin-top:1rem;}
@media(max-width:800px){.so-projects-grid{grid-template-columns:1fr;}.so-loop{flex-direction:column;}.so-hero,.so-projects{padding:40px 24px;}}
@media print{body{background:#fff;color:#000;}.site-header,.btn-pdf{display:none!important;}}


/* ── CALYR White Paper ──────────────────────────────────────────── */
.wp{width:100%;margin:0 auto;}
.wp-hero{width:min(980px,92vw);margin:0 auto;padding:72px 0 56px;border-bottom:1px solid var(--line);background:transparent;}
.wp-kicker,.wp-label{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--soft);}
.wp-kicker{margin-bottom:1.6rem;}
.wp-hero h1{font-size:clamp(3rem,7.2vw,6.6rem);font-weight:400;letter-spacing:-.065em;line-height:.92;max-width:900px;margin:0 0 1.7rem;}
.wp-deck{font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.45;max-width:680px;color:var(--ink);margin-bottom:1rem;}
.wp-thesis{font-size:1rem;line-height:1.7;max-width:680px;color:var(--soft);margin-bottom:2rem;}
.wp-actions{display:flex;gap:.75rem;flex-wrap:wrap;}
.wp-body{width:min(820px,90vw);margin:0 auto;padding:56px 0 96px;}
.wp-toc{margin:0 0 72px;padding:0 0 32px;border-bottom:1px solid var(--line);}
.wp-toc .wp-label{margin-bottom:1rem;}
.wp-toc ol{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.35rem 2rem;counter-reset:toc;}
.wp-toc li{counter-increment:toc;font-size:.78rem;line-height:1.45;}
.wp-toc li::before{content:counter(toc,decimal-leading-zero) "  ";color:var(--soft);font-size:.62rem;letter-spacing:.08em;}
.wp-toc a{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;}
.wp-toc a:hover{border-bottom-color:var(--ink);}
.wp-section{padding:0 0 64px;margin:0 0 64px;border-bottom:1px solid var(--line);scroll-margin-top:32px;}
.wp-section:last-child{margin-bottom:0;}
.wp-section .wp-label{display:block;margin-bottom:1rem;}
.wp-section h2{font-size:clamp(1.9rem,4vw,3.1rem);font-weight:400;letter-spacing:-.045em;line-height:1.04;max-width:760px;margin:0 0 1.75rem;}
.wp-section p{font-size:1.05rem;line-height:1.78;max-width:720px;color:#deded9;margin:0 0 1.25rem;}
.wp-section p:last-child{margin-bottom:0;}
.wp-section strong{font-weight:600;color:var(--ink);}
.wp-section em{color:var(--ink);}
.wp-lead{font-size:clamp(1.18rem,2vw,1.38rem)!important;line-height:1.62!important;color:var(--ink)!important;}
.wp-sequence,.wp-equation,.wp-emphasis{font-size:1.12rem!important;color:var(--ink)!important;border-left:1px solid #39bfff;padding-left:1rem;margin-top:1.8rem!important;}
.wp-question{margin:2rem 0 2.2rem;padding:1.4rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.wp-question p{font-size:.9rem;line-height:1.45;margin:.45rem 0;color:var(--soft);}
.wp-defs{margin:2rem 0 0;}
.wp-defs div{display:grid;grid-template-columns:180px 1fr;gap:1.5rem;padding:1rem 0;border-top:1px solid var(--line);}
.wp-defs div:last-child{border-bottom:1px solid var(--line);}
.wp-defs dt{font-size:.78rem;letter-spacing:.03em;color:var(--ink);}
.wp-defs dd{font-size:.92rem;line-height:1.62;color:var(--soft);}
.wp-section blockquote{font-size:clamp(1.35rem,3vw,2rem);line-height:1.35;letter-spacing:-.025em;color:var(--ink);margin:2.5rem 0;padding:0 0 0 1.25rem;border-left:1px solid #39bfff;}
.wp-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;line-height:1.8;padding:1.2rem 1.35rem;margin:1.5rem 0 2rem;border:1px solid var(--line);background:#080808;color:#d9d9d4;}
.wp-conclusion h2{max-width:720px;}
.wp-references ol{padding-left:1.2rem;}
.wp-references li{font-size:.78rem;line-height:1.6;color:var(--soft);margin:.6rem 0;}
.wp-references a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);}
.wp-references a:hover{border-bottom-color:var(--ink);}
@media(max-width:700px){
  .wp-hero{padding:52px 0 40px;}
  .wp-body{padding:40px 0 72px;}
  .wp-toc ol{grid-template-columns:1fr;}
  .wp-section{padding-bottom:44px;margin-bottom:44px;}
  .wp-section p{font-size:1rem;line-height:1.72;}
  .wp-defs div{grid-template-columns:1fr;gap:.4rem;}
}


/* ── CALYR homepage / white paper alignment ─────────────────────── */
.so-hero-inner{max-width:900px;}
.so-deck{font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.45;max-width:680px;color:var(--ink);margin-bottom:.9rem;}
.so-sub{max-width:680px;margin-bottom:1.25rem;}
.so-sub a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);}
.so-sub a:hover{border-bottom-color:var(--ink);}
.so-thesis{font-size:1rem;line-height:1.7;max-width:680px;color:var(--soft);margin-bottom:2.25rem;}
.so-publication{max-width:680px;padding:1.2rem 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:170px 1fr;gap:.35rem 1.25rem;align-items:start;margin-bottom:2.75rem;}
.so-publication-label{grid-row:1 / span 2;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);line-height:1.5;}
.so-publication a{font-size:1rem;line-height:1.35;color:var(--ink);text-decoration:none;}
.so-publication a:hover{text-decoration:underline;text-underline-offset:.2em;}
.so-publication > span:last-child{font-size:.78rem;line-height:1.5;color:var(--soft);}
.so-loop{margin-top:.25rem;}
.wp-hero{width:min(1240px,94vw);padding:64px 48px 56px;border-left:1px solid var(--line);border-right:1px solid var(--line);}
.wp-hero > *{max-width:900px;}
.wp-body{width:min(820px,90vw);}
.wp-kicker{font-size:.6rem;letter-spacing:.16em;}
.wp-deck{max-width:680px;}
.wp-thesis{max-width:680px;}
@media(max-width:800px){
  .so-publication{grid-template-columns:1fr;gap:.35rem;}
  .so-publication-label{grid-row:auto;margin-bottom:.35rem;}
  .wp-hero{padding:40px 24px;}
}


/* CALYR / LITHÍOS alignment: preserve native CALYR design */
.so-counterpart{
  max-width:680px;
  margin:-.25rem 0 1.8rem;
  font-size:.68rem;
  line-height:1.5;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--soft);
}
.so-counterpart a{
  color:var(--ink);
  text-decoration:none;
  border-bottom:1px solid var(--line);
  padding-bottom:.12rem;
}
.so-counterpart a:hover{border-bottom-color:var(--ink);}


/* Landing header — shared information logic, native CALYR styling */
header.site-header{
  width:min(1240px,94vw);
  margin:0 auto;
  padding:28px 48px 24px;
  border-left:1px solid var(--line);
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:auto auto 1fr;
  align-items:center;
  gap:18px;
}
.site-brand{
  color:var(--ink);
  text-decoration:none;
  font-size:clamp(2rem,4vw,4rem);
  font-weight:400;
  letter-spacing:-.065em;
  line-height:1;
  white-space:nowrap;
}
.site-brand-meta{
  display:inline-flex;
  align-items:center;
  gap:18px;
  min-width:0;
  color:var(--soft);
  font-size:.68rem;
  letter-spacing:.09em;
  text-transform:uppercase;
  white-space:nowrap;
}
.site-header-divider{
  width:1px;
  height:26px;
  background:var(--line);
}
.site-nav{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:24px;
}
.site-nav a{
  color:var(--soft);
  text-decoration:none;
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.site-nav a:hover{color:var(--ink);}
@media(max-width:800px){
  header.site-header{
    padding:22px 24px;
    grid-template-columns:1fr auto;
  }
  .site-brand-meta{display:none;}
  .site-nav{gap:14px;}
  .site-nav a:first-child{display:none;}
}
@media(max-width:520px){
  header.site-header{padding:20px;}
  .site-nav a:nth-child(1),.site-nav a:nth-child(3){display:none;}
}


/* ── Research Journal marketing visual ─────────────────────────── */
.rj{
  width:min(1400px,96vw);
  margin:0 auto;
  border-left:1px solid var(--line);
  border-right:1px solid var(--line);
}
.rj-hero{
  min-height:76vh;
  padding:74px 54px 56px;
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(300px,.72fr);
  gap:4rem;
  align-items:end;
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(circle at 76% 16%, rgba(169,156,255,.13), transparent 28%),
    linear-gradient(145deg,#050505 0%,#08070d 52%,#0d0a17 100%);
}
.rj-kicker{
  display:block;
  color:#a99cff;
  font-size:.6rem;
  letter-spacing:.17em;
  text-transform:uppercase;
  margin-bottom:1.15rem;
}
.rj-hero h1{
  max-width:950px;
  font-size:clamp(3.5rem,8vw,8.6rem);
  font-weight:400;
  letter-spacing:-.075em;
  line-height:.82;
  margin:0 0 2.2rem;
}
.rj-hero h1 span{color:#a99cff;}
.rj-deck{
  max-width:720px;
  font-size:clamp(1rem,1.7vw,1.3rem);
  line-height:1.55;
  color:#d2d2ce;
}
.rj-actions{
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
  margin-top:2.2rem;
}
.rj-action,.rj-action-primary{
  display:inline-flex;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:.62rem;
  padding:.7rem 1rem;
  border:1px solid #4b456b;
  color:var(--ink);
}
.rj-action-primary{
  background:#a99cff;
  color:#08070d;
  border-color:#a99cff;
}
.rj-action:hover{border-color:#a99cff;}
.rj-action-primary:hover{background:#c7c0ff;}
.rj-hero-index{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid #4b456b;
  border-left:1px solid #4b456b;
}
.rj-hero-index div{
  min-height:150px;
  padding:1rem;
  border-right:1px solid #4b456b;
  border-bottom:1px solid #4b456b;
  display:flex;
  flex-direction:column;
}
.rj-hero-index small,.rj-flow small{
  color:#a99cff;
  font-size:.52rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.rj-hero-index strong{
  margin:auto 0 .15rem;
  font-size:1.1rem;
  font-weight:400;
}
.rj-hero-index span{
  color:var(--soft);
  font-size:.67rem;
  line-height:1.45;
}

.rj-tracks,.rj-system,.rj-evidence,.rj-closing{
  padding:54px;
  border-bottom:1px solid var(--line);
}
.rj-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:2rem;
  margin-bottom:2rem;
}
.rj-section-head > p{
  color:var(--soft);
  font-size:.74rem;
  max-width:430px;
}
.rj-section-head h2{
  font-size:clamp(2rem,5vw,4.4rem);
  font-weight:400;
  letter-spacing:-.06em;
  line-height:.95;
}
.rj-track-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  background:#302b42;
  border:1px solid #302b42;
}
.rj-track{
  min-height:340px;
  padding:1.35rem;
  background:#09090b;
  color:var(--ink);
  text-decoration:none;
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
  transition:transform .2s,background .2s;
}
.rj-track::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:2px;
  background:var(--track,#a99cff);
  opacity:.9;
}
.rj-track:hover{
  background:#101016;
  transform:translateY(-3px);
}
.rj-track small{
  color:var(--track,#a99cff);
  font-size:.54rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.rj-track h2{
  font-size:clamp(2rem,3.4vw,3.5rem);
  font-weight:400;
  letter-spacing:-.055em;
  margin:auto 0 .9rem;
}
.rj-track p{
  color:var(--soft);
  font-size:.73rem;
  line-height:1.55;
  margin-bottom:1.25rem;
}
.rj-track > span{
  color:var(--track,#a99cff);
  font-size:.62rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.rj-track-parvotec{--track:#ff4066;}
.rj-track-aorta{--track:#39bfff;}
.rj-track-sbpa{--track:#a99cff;}
.rj-track-spr{--track:#ffb84d;}
.rj-track-saxs{--track:#74e0ff;}
.rj-track-brix{--track:#5cf2c7;}

.rj-system{
  background:#08070d;
}
.rj-flow{
  display:grid;
  grid-template-columns:repeat(11,auto);
  align-items:stretch;
  gap:.45rem;
}
.rj-flow div{
  min-width:135px;
  min-height:130px;
  padding:1rem;
  border:1px solid #3e3864;
  display:flex;
  flex-direction:column;
  background:#0b0913;
}
.rj-flow strong{
  margin:auto 0 .2rem;
  font-weight:400;
  font-size:1rem;
}
.rj-flow span{
  color:var(--soft);
  font-size:.62rem;
}
.rj-flow i{
  color:#7567d8;
  font-style:normal;
  align-self:center;
}
.rj-section-head-evidence{
  align-items:flex-start;
}
.rj-section-head-evidence h2{
  margin-top:.1rem;
}
.rj-section-head-evidence > p{
  margin-top:1.6rem;
}
.rj-evidence-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.rj-evidence-card{
  min-height:290px;
}
.rj-evidence-card h3{
  font-size:1.6rem;
  font-weight:400;
  letter-spacing:-.035em;
  margin:.6rem 0 1.4rem;
}
.rj-closing{
  min-height:300px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:
    radial-gradient(circle at 85% 30%,rgba(169,156,255,.12),transparent 30%),
    #050505;
}
.rj-closing p{
  max-width:960px;
  font-size:clamp(2rem,5.2vw,5rem);
  line-height:.96;
  letter-spacing:-.06em;
}

@media(max-width:1080px){
  .rj-hero{grid-template-columns:1fr;min-height:auto;}
  .rj-hero-index{max-width:680px;}
  .rj-track-grid{grid-template-columns:1fr 1fr;}
  .rj-flow{grid-template-columns:1fr 1fr 1fr;}
  .rj-flow i{display:none;}
  .rj-evidence-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:680px){
  .rj{width:100%;border-left:0;border-right:0;}
  .rj-hero,.rj-tracks,.rj-system,.rj-evidence,.rj-closing{padding:38px 20px;}
  .rj-hero{gap:2.5rem;}
  .rj-hero h1{font-size:clamp(3rem,17vw,5.4rem);}
  .rj-hero-index{grid-template-columns:1fr 1fr;}
  .rj-track-grid,.rj-evidence-grid{grid-template-columns:1fr;}
  .rj-track{min-height:280px;}
  .rj-flow{grid-template-columns:1fr 1fr;}
  .rj-section-head{align-items:flex-start;flex-direction:column;gap:.6rem;}
}


/* ── SPR Research Series ────────────────────────────────────────── */
.rj-series{
  padding:54px;
  border-bottom:1px solid var(--line);
  background:#070707;
}
.rj-series-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:1px;
  background:#3c3428;
  border:1px solid #3c3428;
}
.rj-series-grid a{
  min-height:160px;
  padding:1rem;
  display:flex;
  flex-direction:column;
  color:var(--ink);
  text-decoration:none;
  background:#0b0a08;
  transition:background .2s,transform .2s;
}
.rj-series-grid a:hover{
  background:#151109;
  transform:translateY(-2px);
}
.rj-series-grid small{
  color:#ffb84d;
  font-size:.52rem;
  letter-spacing:.14em;
}
.rj-series-grid strong{
  margin:auto 0 .25rem;
  font-weight:400;
  font-size:1rem;
}
.rj-series-grid span{
  color:var(--soft);
  font-size:.64rem;
  line-height:1.4;
}

/* Dedicated public SPR page */
.spr-page{
  width:min(1240px,94vw);
  margin:0 auto;
  border-left:1px solid var(--line);
  border-right:1px solid var(--line);
}
.spr-hero{
  min-height:70vh;
  padding:72px 48px 58px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(circle at 82% 16%,rgba(255,184,77,.11),transparent 27%),
    linear-gradient(145deg,#050505,#0d0a06);
}
.spr-kicker{
  display:block;
  color:#ffb84d;
  font-size:.6rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:1.1rem;
}
.spr-hero h1{
  font-size:clamp(3.7rem,9vw,8.5rem);
  font-weight:400;
  line-height:.84;
  letter-spacing:-.075em;
  max-width:1050px;
  margin-bottom:2rem;
}
.spr-hero h1 span{color:#ffb84d;}
.spr-deck{
  max-width:760px;
  font-size:clamp(1rem,1.7vw,1.28rem);
  line-height:1.55;
  color:#d6d2cb;
}
.spr-actions{
  display:flex;
  gap:.7rem;
  margin-top:2rem;
  flex-wrap:wrap;
}
.spr-actions a{
  padding:.68rem 1rem;
  border:1px solid #57462b;
  color:var(--ink);
  text-decoration:none;
  font-size:.62rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.spr-actions .spr-primary{
  color:#080706;
  background:#ffb84d;
  border-color:#ffb84d;
}
.spr-principle{
  padding:54px 48px;
  border-bottom:1px solid var(--line);
}
.spr-principle > p{
  color:var(--soft);
  max-width:720px;
  font-size:.82rem;
  margin-top:1.3rem;
}
.spr-equation{
  display:grid;
  grid-template-columns:repeat(9,auto);
  align-items:center;
  gap:.75rem;
  margin-top:1.5rem;
}
.spr-equation strong{
  min-height:100px;
  border:1px solid #57462b;
  padding:1rem;
  display:flex;
  align-items:flex-end;
  font-weight:400;
  font-size:1rem;
  background:#0b0a08;
}
.spr-equation i{
  color:#ffb84d;
  font-style:normal;
}
.spr-series-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:var(--line);
  border-bottom:1px solid var(--line);
}
.spr-series-list article{
  min-height:280px;
  padding:40px;
  background:#070707;
  display:flex;
  flex-direction:column;
  scroll-margin-top:24px;
}
.spr-series-list article:last-child{
  grid-column:1 / 3;
}
.spr-series-list small{
  color:#ffb84d;
  font-size:.55rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.spr-series-list h2{
  font-size:clamp(2rem,4vw,3.4rem);
  font-weight:400;
  letter-spacing:-.055em;
  line-height:.95;
  margin:auto 0 1rem;
}
.spr-series-list p{
  color:var(--soft);
  font-size:.78rem;
  max-width:560px;
}
.spr-boundary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:var(--line);
}
.spr-boundary > div{
  min-height:300px;
  padding:44px;
  background:#090909;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.spr-boundary h2{
  font-size:clamp(1.8rem,3.5vw,3rem);
  font-weight:400;
  letter-spacing:-.045em;
  line-height:1;
  margin-bottom:1rem;
}
.spr-boundary p{
  color:var(--soft);
  font-size:.78rem;
  max-width:520px;
}
.spr-close{
  min-height:330px;
  padding:54px 48px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:
    radial-gradient(circle at 85% 25%,rgba(255,184,77,.10),transparent 28%),
    #050505;
}
.spr-close p{
  max-width:1000px;
  font-size:clamp(2rem,5vw,5rem);
  line-height:.95;
  letter-spacing:-.06em;
}

@media(max-width:1080px){
  .rj-series-grid{grid-template-columns:1fr 1fr 1fr;}
  .spr-equation{grid-template-columns:1fr 1fr 1fr;}
  .spr-equation i{display:none;}
}
@media(max-width:700px){
  .rj-series{padding:38px 20px;}
  .rj-series-grid{grid-template-columns:1fr;}
  .spr-page{width:100%;border-left:0;border-right:0;}
  .spr-hero,.spr-principle,.spr-close{padding:40px 20px;}
  .spr-equation{grid-template-columns:1fr 1fr;}
  .spr-series-list{grid-template-columns:1fr;}
  .spr-series-list article:last-child{grid-column:1;}
  .spr-boundary{grid-template-columns:1fr;}
  .spr-boundary > div{padding:36px 20px;}
}


/* Research Journal interactive evidence stream */
.rj-evidence-controls{
  margin:0 0 1.25rem;
  padding:1rem;
  border:1px solid #3e3864;
  background:#08070d;
  display:grid;
  gap:.9rem;
}
.rj-search{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.75rem;
  align-items:center;
}
.rj-search span,
.rj-filter-row label > span{
  color:#a99cff;
  font-size:.54rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.rj-search input,
.rj-filter-row select{
  width:100%;
  background:#0b0913;
  color:var(--ink);
  border:1px solid #3e3864;
  padding:.65rem .75rem;
  font:inherit;
  font-size:.72rem;
}
.rj-search input:focus,
.rj-filter-row select:focus{
  outline:none;
  border-color:#a99cff;
}
.rj-filter-group{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}
.rj-filter{
  font:inherit;
  color:var(--soft);
  background:transparent;
  border:1px solid #3e3864;
  padding:.48rem .68rem;
  cursor:pointer;
  font-size:.58rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.rj-filter:hover,
.rj-filter.is-active{
  color:#08070d;
  background:#a99cff;
  border-color:#a99cff;
}
.rj-filter-row{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;
  gap:.75rem;
  align-items:end;
}
.rj-filter-row label{
  display:grid;
  gap:.35rem;
}
.rj-result-count{
  color:var(--soft);
  font-size:.68rem;
  white-space:nowrap;
  padding:.55rem 0;
}
.rj-result-count strong{
  color:var(--ink);
  font-size:1rem;
  font-weight:400;
}
.rj-evidence-card[hidden]{display:none!important;}
.rj-entry-meta{
  display:flex;
  justify-content:space-between;
  gap:.7rem;
  align-items:flex-start;
}
.rj-stage-badge{
  border:1px solid #4b456b;
  color:#c7c0ff;
  padding:.2rem .4rem;
  font-size:.48rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.rj-workflow{
  border-top:1px solid #2b2840;
  border-bottom:1px solid #2b2840;
  padding:.7rem 0;
  margin:.2rem 0 .8rem;
}
.rj-workflow > span{
  color:#a99cff;
  font-size:.5rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.rj-workflow p{
  margin:.35rem 0 0;
  color:#d4d1df;
  font-size:.67rem;
  line-height:1.5;
}
.rj-entry-details{
  margin-top:auto;
  border-top:1px solid #2b2840;
}
.rj-entry-details summary{
  list-style:none;
  cursor:pointer;
  padding:.65rem 0;
  color:#c7c0ff;
  font-size:.58rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  display:flex;
  justify-content:space-between;
}
.rj-entry-details summary::-webkit-details-marker{display:none;}
.rj-entry-details[open] summary span{transform:rotate(45deg);}
.rj-entry-details > div{
  padding:.2rem 0 .55rem;
}
.rj-entry-details p{
  margin:0 0 .7rem;
  font-size:.68rem;
}
.rj-entry-details strong{
  color:var(--ink);
  font-weight:500;
}
.rj-entry-footer{
  display:flex;
  justify-content:space-between;
  gap:.7rem;
  align-items:center;
  border-top:1px solid #2b2840;
  padding-top:.65rem;
}
.rj-entry-footer a{
  color:#c7c0ff;
  text-decoration:none;
  font-size:.56rem;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.rj-entry-footer a:hover{text-decoration:underline;}
.rj-no-results{
  padding:2rem 0;
  color:var(--soft);
  font-size:.75rem;
}
@media(max-width:680px){
  .rj-search{grid-template-columns:1fr;}
  .rj-filter-row{grid-template-columns:1fr;}
  .rj-result-count{padding:0;}
}
