/* home.css — Homepage-specific styles (loaded only on index.html) */ /* ============================================================ CONTACT ROW Professional links: Email · CV · About · GitHub · GPG · ORCID ============================================================ */ .contact-row { display: flex; flex-wrap: wrap; justify-content: space-evenly; gap: 0.35rem 1rem; margin: 1.75rem 0 0; font-family: var(--font-sans); font-size: var(--text-size-small); } .contact-row a { display: inline-flex; align-items: center; gap: 0.3em; color: var(--text-muted); text-decoration: none; transition: color var(--transition-fast); } .contact-row a:hover { color: var(--text); } .contact-row a[data-contact-icon]::before { content: ''; display: inline-block; width: 0.85em; height: 0.85em; flex-shrink: 0; background-color: currentColor; mask-size: contain; mask-repeat: no-repeat; mask-position: center; -webkit-mask-size: contain; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center; } .contact-row a[data-contact-icon="email"]::before { mask-image: url('/images/link-icons/email.svg'); -webkit-mask-image: url('/images/link-icons/email.svg'); } .contact-row a[data-contact-icon="document"]::before { mask-image: url('/images/link-icons/document.svg'); -webkit-mask-image: url('/images/link-icons/document.svg'); } .contact-row a[data-contact-icon="person"]::before { mask-image: url('/images/link-icons/person.svg'); -webkit-mask-image: url('/images/link-icons/person.svg'); } .contact-row a[data-contact-icon="github"]::before { mask-image: url('/images/link-icons/github.svg'); -webkit-mask-image: url('/images/link-icons/github.svg'); } .contact-row a[data-contact-icon="key"]::before { mask-image: url('/images/link-icons/key.svg'); -webkit-mask-image: url('/images/link-icons/key.svg'); } .contact-row a[data-contact-icon="orcid"]::before { mask-image: url('/images/link-icons/orcid.svg'); -webkit-mask-image: url('/images/link-icons/orcid.svg'); } /* ============================================================ SITE GUIDE (expandable
) ============================================================ */ .site-guide { margin: 1.5rem 0 0; border: 1px solid var(--border); border-radius: 3px; } .site-guide summary { display: flex; align-items: center; gap: 0.5rem; padding: 0.6rem 0.9rem; font-family: var(--font-sans); font-size: var(--text-size-small); color: var(--text-muted); cursor: pointer; list-style: none; user-select: none; transition: color var(--transition-fast); } .site-guide summary::-webkit-details-marker { display: none; } .site-guide summary::before { content: '▶'; font-size: 0.6rem; transition: transform var(--transition-fast); flex-shrink: 0; } .site-guide[open] summary::before { transform: rotate(90deg); } .site-guide summary:hover { color: var(--text); } .site-guide-body { padding: 0.75rem 1rem 1rem; font-family: var(--font-sans); font-size: var(--text-size-small); color: var(--text-muted); line-height: 1.6; border-top: 1px solid var(--border); } .site-guide-body p { margin: 0 0 0.6rem; } .site-guide-body p:last-child { margin-bottom: 0; } /* ============================================================ CURATED GRID Hand-picked entry points, one per portal. ============================================================ */ .curated-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 2.5rem; } @media (max-width: 580px) { .curated-grid { grid-template-columns: 1fr; } } .curated-card { display: flex; flex-direction: column; gap: 0.3rem; padding: 0.9rem 1.1rem; border: 1px solid var(--border); border-radius: 3px; text-decoration: none; color: inherit; transition: border-color var(--transition-fast); } .curated-card:hover { border-color: var(--text-muted); } .curated-portal { font-family: var(--font-sans); font-size: 0.68rem; font-variant: small-caps; letter-spacing: 0.07em; color: var(--text-faint); } .curated-title { font-family: var(--font-serif); font-size: 1rem; line-height: 1.35; color: var(--text); } /* Reset