
:root {
  --paper: #f5f4f0;
  --paper-2: #eceae4;
  --ink: #11110f;
  --muted: #686864;
  --line: #cbc9c2;
  --soft-line: #dfddd6;
  --max: 1180px;
}
html { scroll-behavior: smooth; }
body { background: var(--paper); color: var(--ink); letter-spacing: .12px; font-weight: 300; }
body, p { line-height: 1.65; }
a { color: var(--ink); }
a:hover, a:focus { color: var(--ink); }
.site-shell { max-width: var(--max); margin: 0 auto; padding-left: 28px; padding-right: 28px; }
.site-nav.navbar { margin: 10px; background: rgba(245,244,240,.94); border: 0; backdrop-filter: blur(12px); }
.site-nav .navbar-collapse { padding: 18px 0; }
.site-nav .navbar-brand { color: var(--ink); font-family: Georgia, 'Times New Roman', serif; font-weight: 700; font-size: 18px; letter-spacing: 0; padding-left: 0; }
.site-nav .navbar-nav { float: right; }
.site-nav .nav>li>a { color: var(--ink); padding: 15px 13px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.site-nav .nav>li>a:hover, .site-nav .nav>li>a.active { background: transparent; font-weight: 700; }
.language-link { border-left: 1px solid var(--line); margin-left: 6px; padding-left: 6px; }
@media (max-width: 767px) {
  .site-nav .navbar-brand { padding-left: 15px; }
  .site-nav .navbar-nav { float: none; margin: 0; }
  .language-link { border-left: 0; margin-left: 0; padding-left: 0; }
  .site-nav.navbar { background: transparent; }
  .site-nav .navbar-collapse { background: var(--paper); margin: 0; padding: 12px; }
}

.home-intro { min-height: 100vh; padding: 145px 0 80px; position: relative; overflow: hidden; display:flex; align-items:center; }
.home-intro:after { content:''; position:absolute; width:760px; height:520px; right:-150px; bottom:-80px; background:url('./assets/research/egrafs-architecture.svg') center/contain no-repeat; opacity:.045; filter: grayscale(1); pointer-events:none; }
.home-grid { display:grid; grid-template-columns: 1.12fr .68fr; gap: 72px; align-items:center; position:relative; z-index:2; }
.eyebrow { font-family: 'Roboto Mono', monospace; text-transform: uppercase; font-size: 11px; letter-spacing: .14em; color: var(--muted); margin-bottom: 18px; }
.display-title { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(54px, 7.2vw, 104px); line-height: .95; font-weight: 400; letter-spacing: -.045em; margin: 0 0 28px; }
.hero-subtitle { font-size: clamp(21px, 2vw, 29px); line-height: 1.35; max-width: 760px; margin: 0 0 22px; font-weight: 400; }
.hero-copy { max-width: 720px; color: #333330; font-size: 16px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:34px; }
.btn-ink, .btn-line { display:inline-block; border:1px solid var(--ink); padding:12px 17px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; transition:.2s ease; }
.btn-ink { background:var(--ink); color:white; }
.btn-ink:hover { background:transparent; color:var(--ink); text-decoration:none; }
.btn-line { background:transparent; color:var(--ink); }
.btn-line:hover { background:var(--ink); color:#fff; text-decoration:none; }
.portrait-wrap { position:relative; }
.portrait-wrap:before { content:''; position:absolute; left:-18px; top:24px; width:1px; height:calc(100% - 48px); background:var(--ink); }
.portrait { width:100%; max-height:72vh; min-height:470px; object-fit:cover; object-position:50% 16%; filter:grayscale(100%); display:block; }
.status-line { display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:40px; padding-top:20px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); }
.status-line strong { color:var(--ink); font-weight:500; }
@media(max-width:900px){ .home-grid{grid-template-columns:1fr; gap:42px}.home-intro{padding-top:120px}.portrait{max-height:none;min-height:0;aspect-ratio:4/5}.home-intro:after{display:none}.portrait-wrap:before{display:none} }

.editorial-section { padding: 95px 0; border-top:1px solid var(--line); }
.editorial-section.tight { padding: 68px 0; }
.section-head { display:grid; grid-template-columns: 220px 1fr; gap:40px; align-items:start; margin-bottom:55px; }
.section-kicker { font-family:'Roboto Mono', monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.section-title { font-family:Georgia, 'Times New Roman', serif; font-size:clamp(34px,4vw,56px); line-height:1.05; letter-spacing:-.025em; font-weight:400; margin:0; max-width:800px; }
.section-lede { font-size:18px; color:#333330; max-width:760px; margin-top:20px; }
@media(max-width:700px){ .section-head{grid-template-columns:1fr;gap:12px}.editorial-section{padding:70px 0} }

.project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 42px; }
.project-tile { border-top:1px solid var(--ink); padding:22px 0 36px; min-height:270px; display:flex; flex-direction:column; }
.project-meta { font-family:'Roboto Mono', monospace; font-size:10px; letter-spacing:.11em; text-transform:uppercase; color:var(--muted); margin-bottom:30px; }
.project-tile h3 { font-family:Georgia, 'Times New Roman', serif; font-weight:400; font-size:28px; line-height:1.12; margin:0 0 14px; }
.project-tile p { color:#3b3b37; margin-bottom:20px; }
.project-tile .link-arrow { margin-top:auto; }
.link-arrow { font-size:12px; text-transform:uppercase; letter-spacing:.08em; font-weight:500; text-decoration:none; }
.link-arrow:after { content:' ↗'; }
.link-arrow.internal:after { content:' →'; }
@media(max-width:720px){ .project-grid{grid-template-columns:1fr}.project-tile{min-height:0} }

.figure-block { background:#fff; border:1px solid var(--soft-line); padding:18px; margin:32px 0 14px; }
.figure-block img { width:100%; height:auto; max-height:680px; object-fit:contain; display:block; }
.figure-caption { font-size:11px; color:var(--muted); margin-top:10px; line-height:1.45; }
.research-story { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:58px; padding:58px 0; border-top:1px solid var(--line); align-items:start; }
.research-story.reverse { grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr); }
.research-story h2 { padding:0; font-family:Georgia,'Times New Roman',serif; font-size:39px; line-height:1.08; font-weight:400; margin-top:0; }
.research-story h2:before, .research-story h2:after { display:none; }
.story-num { font-family:'Roboto Mono',monospace; font-size:11px; color:var(--muted); margin-bottom:14px; }
.story-copy p { color:#353532; }
.tag-list { display:flex; gap:7px; flex-wrap:wrap; margin:20px 0; }
.tag { border:1px solid var(--line); padding:5px 8px; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
@media(max-width:850px){ .research-story,.research-story.reverse{grid-template-columns:1fr;gap:22px}.research-story.reverse .story-copy{order:0}.research-story.reverse .figure-block{order:1} }

.page-hero { padding:150px 0 72px; }
.page-hero h1 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(48px,7vw,88px); line-height:.98; font-weight:400; letter-spacing:-.04em; max-width:1000px; margin:0 0 25px; }
.page-hero .lead { font-size:20px; max-width:800px; color:#343430; }
.page-hero .minor { font-family:'Roboto Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); margin-top:25px; }

.resource-strip { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); margin:38px 0; }
.resource-strip a { padding:20px 18px; border-right:1px solid var(--line); text-decoration:none; }
.resource-strip a:last-child { border-right:0; }
.resource-strip strong { display:block; font-size:13px; font-weight:500; margin-bottom:5px; }
.resource-strip span { font-size:11px; color:var(--muted); }
@media(max-width:720px){.resource-strip{grid-template-columns:1fr}.resource-strip a{border-right:0;border-bottom:1px solid var(--line)}.resource-strip a:last-child{border-bottom:0}}

.pub-list { border-top:1px solid var(--ink); }
.pub-row { display:grid; grid-template-columns:120px 1fr 110px; gap:20px; padding:23px 0; border-bottom:1px solid var(--line); align-items:start; }
.pub-type { font-family:'Roboto Mono',monospace; font-size:10px; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); }
.pub-title { font-size:17px; line-height:1.45; margin-bottom:4px; }
.pub-authors { font-size:12px; color:var(--muted); }
.pub-link { font-size:11px; text-transform:uppercase; letter-spacing:.08em; text-align:right; }
@media(max-width:650px){ .pub-row{grid-template-columns:1fr;gap:7px}.pub-link{text-align:left} }

.split-panel { display:grid; grid-template-columns:1fr 1fr; gap:55px; }
.panel-line { border-top:1px solid var(--ink); padding-top:22px; }
.panel-line h3 { font-family:Georgia,'Times New Roman',serif; font-size:28px; font-weight:400; margin-top:0; }
@media(max-width:750px){.split-panel{grid-template-columns:1fr;gap:36px}}

.about-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:70px; align-items:start; }
.about-grid .portrait { max-height:none; aspect-ratio:4/5; min-height:0; }
.about-copy h2 { padding:0; font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:38px; }
.about-copy h2:before,.about-copy h2:after{display:none}
.fact-list { margin:30px 0 0; border-top:1px solid var(--ink); }
.fact { display:grid; grid-template-columns:145px 1fr; gap:20px; border-bottom:1px solid var(--line); padding:14px 0; }
.fact .label { font-family:'Roboto Mono',monospace; font-size:10px; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); font-weight:400; }
@media(max-width:760px){.about-grid{grid-template-columns:1fr;gap:38px}.fact{grid-template-columns:1fr;gap:3px}}

.ananke-mark { font-family:Georgia,'Times New Roman',serif; font-size:clamp(74px,14vw,180px); font-weight:400; letter-spacing:-.07em; line-height:.8; margin:20px 0 55px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.service { border-top:1px solid var(--ink); padding-top:18px; }
.service h3 { font-size:17px; font-weight:500; margin:0 0 10px; }
.service p { font-size:13px; color:#41413d; }
@media(max-width:720px){.service-grid{grid-template-columns:1fr}}

.shift-band { background:var(--ink); color:#fff; padding:58px 0; }
.shift-band a { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.shift-band .eyebrow { color:#bdbdb5; }
.shift-band h2 { color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:39px; font-weight:400; padding:0; margin-top:0; }
.shift-band h2:before,.shift-band h2:after{display:none}
.shift-band p { color:#e8e8e2; max-width:820px; }

.site-footer { padding:55px 0 75px; border-top:1px solid var(--line); }
.footer-grid { display:grid; grid-template-columns:1fr auto; gap:30px; align-items:end; }
.footer-name { font-family:Georgia,'Times New Roman',serif; font-size:23px; margin-bottom:7px; }
.footer-small { font-size:11px; color:var(--muted); }
.footer-links { display:flex; gap:18px; flex-wrap:wrap; font-size:11px; text-transform:uppercase; letter-spacing:.07em; }
@media(max-width:650px){.footer-grid{grid-template-columns:1fr}.footer-links{justify-content:flex-start}}

.legacy-note { max-width:720px; margin:160px auto 80px; padding:35px; border:1px solid var(--line); background:#fff; }

/* September 2026 refinement pass */
.home-intro:after { display:none !important; }

/* Scientific figures are part of the page, not framed cards. */
.figure-block { background:transparent; border:0; padding:0; margin:34px 0 16px; }
.figure-block img { width:100%; height:auto; max-height:620px; object-fit:contain; display:block; }
.research-story .figure-block { align-self:center; width:100%; }
.research-story .figure-block img { max-height:600px; }
.figure-caption { border-top:1px solid var(--soft-line); padding-top:9px; margin-top:11px; }

/* Give the E-GRAFS architecture the visual weight of a central thesis result. */
.feature-figure { margin:48px auto 24px; max-width:1080px; }
.feature-figure img { width:auto; max-width:100%; height:auto; max-height:min(74vh, 780px); margin:0 auto; }
.feature-figure .figure-caption { margin-left:0; margin-right:0; }

/* Editorial photo for the ongoing EU energy-dependence project. */
.energy-photo { aspect-ratio: 3 / 2; object-fit:cover !important; object-position:62% 52%; max-height:none !important; filter:grayscale(100%); }
.energy-photo-credit a { color:inherit; text-decoration:underline; text-underline-offset:2px; }

.supervision-head { margin-bottom:34px; }
.supervisor-grid { display:grid; grid-template-columns:1fr 1fr; gap:42px; }
.supervisor-grid .panel-line h3 { font-family:Georgia,'Times New Roman',serif; font-size:30px; line-height:1.12; font-weight:400; margin:10px 0 0; }
.supervisor-role { font-family:'Roboto Mono',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.supervision-link { margin-top:28px; }

@media(max-width:850px){
  .feature-figure { margin:36px 0 20px; }
  .feature-figure .figure-caption { margin-left:0; margin-right:0; }
  .supervisor-grid { grid-template-columns:1fr; gap:20px; }
}
