:root{
  --green: #11ac1b;
  --muted: #6b7280;
  --max-width: 1000px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{display:flex;flex-direction:column;min-height:100%;font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;line-height:1.6;color:#111;background:#f7f7f7;padding:0;margin:0}
.container{max-width:var(--max-width);margin:0 auto;padding:24px}
.site-header{background:#fff;border-bottom:1px solid #e6e6e6}
.site-header .container{display:flex;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.brand-photo{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid #eee}
.main-nav{margin-left:auto;display:flex;gap:14px}
.main-nav a{color:var(--muted);text-decoration:none;padding:12px;border-radius:8px}
.main-nav a:hover{background:#f0f8f0;color:var(--green)}
.section{background:#fff;padding:20px;margin:18px 0;border-radius:10px;border:1px solid #eee}
h2{margin-top:0}
.muted{color:var(--muted);margin:0}
.gallery{display:flex;gap:12px}
.gallery img{width:220px;height:140px;object-fit:cover;border-radius:8px}
.install-btn{position:fixed;right:18px;bottom:18px;background:var(--green);color:#fff;border:none;padding:12px 16px;border-radius:10px;box-shadow:0 6px 18px rgba(0,0,0,0.15);font-weight:700;cursor:pointer}
.publications-list, #publications-list ul{list-style:none;padding:0;margin:0}
.publication{padding:12px;border-bottom:1px dashed #eee}
.publication:last-child{border-bottom:none}
.speech{padding:12px;border-bottom:1px dashed #eee}
.social-handles a{color:var(--green)}

@media (max-width:720px){.container{padding:12px}.main-nav{display:none}.gallery{flex-direction:column}.brand-photo{width:56px;height:56px}}

/* Make footer stick to bottom when content is short */
.site-footer{margin-top:auto;padding:18px 0;background:transparent}

/* Biography floating photo */
.bio-photo{ 
  float: left;
  display: block;
  width: 250px;
  height: 250px;
  object-fit: cover;
  border-radius: 8px;
  margin: 0 12px 8px 0;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}
.section:after{content:"";display:block;clear:both}

@media (max-width:720px){
  .bio-photo{float:none;width:40px;height:40px;display:block;margin:0 auto 8px}
}
