:root{
	--bg: #f4f9ff;
	--surface: #ffffff;
	--primary-50: #eaf6ff;
	--primary-100: #d6eeff;
	--primary-300: #9fd6ff;
	--primary-500: #2b89d9;
	--primary-700: #1b5f99;
	--accent: #67b0ff;
	--muted: #6b7280;
	--text: #071428;
	--glass: rgba(43,137,217,0.06);
	--radius: 10px;
	--container-width: 980px;
}

/* Reset and base */
*{box-sizing: border-box}
html,body{height:100%}
body{
	margin:0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial;
	background: var(--bg);
	color:var(--text);
	line-height:1.55;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

/* Layout container used in HTML */
.container{
	max-width:var(--container-width);
	margin: 2rem auto;
	padding: 1.25rem;
}

/* Hero section */
.hero.container{
	display:flex;
	gap:2rem;
	align-items:center;
	background: transparent;
	border-radius: calc(var(--radius) + 4px);
	box-shadow: 0 8px 30px rgba(11, 38, 69, 0.06);
	padding: 2rem;
	border: 1px solid rgba(43,137,217,0.08);
}

.hero .photo{
	flex:0 0 200px;
	width:200px;
	height:200px;
	display:flex;
	align-items:center;
	justify-content:center;
	overflow:hidden;
	border-radius:8px;
	background: var(--primary-50);
}
.hero .photo img{
	width:100%;
	height:100%;
	object-fit:cover;
	border-radius:6px;
	border: 4px solid var(--surface);
	box-shadow: 0 6px 20px rgba(43,137,217,0.12);
}

.hero .intro{
	flex:1 1 auto;
}
.hero .intro h2{
	margin:0 0 .35rem 0;
	font-size: clamp(1.45rem, 2.2vw, 2rem);
	color: var(--primary-700);
}
.hero .intro p{
	margin:0 0 .75rem 0;
	color:var(--text);
}
.hero .intro a{color:var(--primary-700);font-weight:600}

/* Section headings */
section h2{
	font-size:1.35rem;
	margin:0 0 .6rem 0;
	color:var(--primary-700);
	padding-bottom:.35rem;
	border-bottom: 2px solid rgba(43,137,217,0.06);
}
section h3{color:var(--primary-500);margin-top:1rem}

/* Lists and content */
ul{padding-left:1rem;margin-top:.5rem}
li{margin-bottom:.7rem}
li p{margin:.1rem 0}

/* Download links and DOI links styling */
a{color:var(--primary-700);text-decoration:none}
a:hover{color:var(--primary-500);text-decoration:underline}

a[download]{
	display:inline;
	margin-right:.35rem;
	padding:0;
	background:transparent;
	color:var(--primary-700);
	border:0;
	font-weight:600;
	font-size:.95rem;
	text-decoration:none;
}
a[download]:hover{
	color:var(--primary-500);
	text-decoration:underline;
}

/* Make arXiv links visually match the [pdf] download links */
a[href*="arxiv.org"]{
	display:inline;
	margin-right:.35rem;
	padding:0;
	background:transparent;
	color:var(--primary-700);
	border:0;
	font-weight:600;
	font-size:.95rem;
	text-decoration:none;
}
a[href*="arxiv.org"]:hover{
	color:var(--primary-500);
	text-decoration:underline;
}

/* Make DOI links visually match the [pdf] / arXiv links */
a[href*="doi.org"]{
	display:inline;
	margin-right:.35rem;
	padding:0;
	background:transparent;
	color:var(--primary-700);
	border:0;
	font-weight:600;
	font-size:.95rem;
	text-decoration:none;
}
a[href*="doi.org"]:hover{
	color:var(--primary-500);
	text-decoration:underline;
}
/* Small utility button style for links used as actions */
.btn{display:inline-block;padding:.45rem .75rem;border-radius:8px;background:var(--primary-500);color:#fff;text-decoration:none;border:none;cursor:pointer}
.btn:focus{outline:3px solid rgba(103,176,255,0.25)}

/* Text helpers */
.muted{color:var(--muted)}

/* Responsive adjustments */
@media (max-width:760px){
	.hero.container{flex-direction:column;align-items:center;text-align:center;padding:1.25rem}
	.hero .photo{flex:0 0 auto;width:140px;height:140px;border-radius:8px}
	.hero .photo img{width:100%;height:100%}
	.container{padding:.75rem;margin:1rem}
}

/* Images */
img{max-width:100%;height:auto;display:block}

/* Accessibility & print */
@media print{body{background:#fff;color:#000} a{color:#000;text-decoration:underline} .hero{box-shadow:none;border:0}}

/* Minor polish for lists of presentations/papers */
.container ul li strong{display:block;color:var(--primary-700)}

