/* Minima-style site shell (home, builds, experience) — matches minima-blog.css */
@import url("minima-blog.css");

/* Demo banner */
.demo-banner {
    background: #fff8f0;
    border-bottom: 1px solid #ffd6a8;
    color: #8a4b00;
    font-size: 0.85em;
    padding: 10px 20px;
    text-align: center;
}
.demo-banner a { color: var(--brand); font-weight: 600; }

.site-nav .active { font-weight: 600; color: var(--text); }

/* Home */
.home-intro {
    margin-bottom: calc(var(--spacing) * 1.2);
}
.home-intro .lead {
    font-size: 1.125rem;
    font-weight: 400;
    color: var(--muted);
    margin-bottom: calc(var(--spacing) * 0.75);
    line-height: 1.5;
}
.contact-line {
    font-size: 0.9rem;
    color: var(--muted);
    margin-bottom: calc(var(--spacing) * 1.2);
}
.contact-line a { color: var(--muted); }
.contact-line a:hover { color: var(--brand); }
.contact-line .sep { padding: 0 8px; color: var(--border); }

.bio-row {
    display: flex;
    gap: calc(var(--spacing) * 1.2);
    align-items: flex-start;
    margin-bottom: calc(var(--spacing) * 1.2);
}
.bio-row .bio-copy { flex: 1; min-width: 0; }
.bio-row .bio-copy p {
    margin-bottom: calc(var(--spacing) * 0.5);
    color: #333;
}
.bio-row .bio-photo {
    flex-shrink: 0;
    width: 168px;
    text-align: center;
}
.bio-row .bio-photo img {
    width: 168px;
    height: 200px;
    object-fit: cover;
    object-position: center 68%;
    border-radius: 3px;
    border: 1px solid var(--border);
    display: block;
}
.bio-row .edu-caption {
    font-size: 0.8rem;
    color: var(--muted);
    margin-top: 8px;
    line-height: 1.4;
}

.section-heading {
    font-size: 1.75rem;
    font-weight: 500;
    margin-bottom: var(--spacing);
}

.news-list { list-style: none; margin-left: 0; }
.news-list > li {
    margin-bottom: calc(var(--spacing) * 0.75);
    padding-bottom: calc(var(--spacing) * 0.75);
    border-bottom: 1px solid var(--border);
}
.news-list > li:last-child { border-bottom: none; }
.news-list .when {
    font-size: 0.875rem;
    color: var(--muted);
    display: block;
    margin-bottom: 4px;
}
.news-list .what { font-size: 1rem; line-height: 1.5; }

/* Builds — flat list (Minima post-list style) */
.build-list { list-style: none; margin-left: 0; }
.build-list > li {
    margin-bottom: var(--spacing);
    padding-bottom: var(--spacing);
    border-bottom: 1px solid var(--border);
}
.build-list > li:last-child { border-bottom: none; }
.build-list .build-meta {
    font-size: 0.875rem;
    color: var(--muted);
    margin-bottom: 4px;
}
.build-list .build-title {
    display: block;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.3;
    margin-bottom: 8px;
}
.build-list .build-tags {
    font-size: 0.85rem;
    color: var(--muted);
    margin-bottom: 10px;
}
.build-list ul {
    margin-left: var(--spacing);
    margin-bottom: 10px;
}
.build-list .build-links a {
    font-size: 0.9rem;
    color: var(--muted);
}
.build-list .build-links a:hover { color: var(--brand); }

/* Experience */
.job-entry {
    margin-bottom: var(--spacing);
    padding-bottom: var(--spacing);
    border-bottom: 1px solid var(--border);
}
.job-entry:last-of-type { border-bottom: none; }
.job-entry .role-line {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 4px;
}
.job-entry .role {
    font-size: 1.375rem;
    font-weight: 500;
}
.job-entry .when { font-size: 0.875rem; color: var(--muted); }
.job-entry .org {
    font-size: 0.9rem;
    color: var(--muted);
    margin-bottom: calc(var(--spacing) * 0.5);
}
.job-entry ul {
    margin-left: var(--spacing);
    margin-bottom: calc(var(--spacing) * 0.5);
}
.job-entry li { margin-bottom: 0.35em; }

.pub-box {
    background: #fafafa;
    border: 1px solid var(--border);
    border-left: 4px solid var(--border-top);
    padding: 1em 1.15em;
    margin-bottom: calc(var(--spacing) * 0.5);
    border-radius: 3px;
}
.pub-box .label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--muted);
    margin-bottom: 4px;
}
.pub-box .title { font-weight: 500; margin-bottom: 4px; }
.pub-box .venue { font-size: 0.9rem; color: var(--muted); }

.quote-box {
    border-left: 4px solid var(--border);
    padding-left: calc(var(--spacing) * 0.5);
    margin-top: calc(var(--spacing) * 0.5);
    color: var(--muted);
    font-style: italic;
}
.quote-box cite {
    display: block;
    font-style: normal;
    font-size: 0.875rem;
    margin-top: 8px;
    color: var(--muted);
}

.edu-block { margin-top: calc(var(--spacing) * 1.2); }
.edu-block .edu-label {
    font-size: 1.75rem;
    font-weight: 500;
    margin-bottom: var(--spacing);
}
.edu-block .edu-line {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    font-weight: 500;
}
.edu-block .edu-detail { color: var(--muted); font-size: 0.9rem; margin-top: 4px; }

@media (max-width: 600px) {
    .bio-row { flex-direction: column-reverse; }
    .bio-row .bio-photo { width: 100%; }
    .bio-row .bio-photo img { width: 100%; height: 220px; }
}
