/* Profile homepage using Horizon, the documentation theme shared by steward, zircon, and sitescope. */
.brand-symbol { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 6px; color: #0f2147; background: var(--sun-300); font-size: 1.5rem; line-height: 1; }
.orbit-art { max-width: 28rem !important; filter: drop-shadow(0 18px 28px rgba(0,0,0,.25)); }
.home-shell { max-width: 88rem; margin: auto; padding: 4.2rem 1.5rem 5rem; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding-bottom: 1.3rem; border-bottom: 1px solid var(--rule-strong); }
.section-eyebrow, .site-count, .project-label, .link-label { font-family: var(--font-display); font-size: .68rem; letter-spacing: .15em; text-transform: uppercase; }
.section-eyebrow { color: var(--accent); margin: 0 0 .55rem; }
.section-heading h2, .about-copy h2 { font-family: var(--font-head); font-weight: 500; letter-spacing: -.025em; line-height: 1.15; margin: 0; }
.section-heading h2 { font-size: clamp(2rem, 4vw, 3rem); }
.section-lede { color: var(--ink-2); max-width: 39rem; margin: .75rem 0 0; }
.site-count { color: var(--ink-3); white-space: nowrap; padding-bottom: .3rem; }
.site-count span { color: var(--mark); font-size: 1.3rem; }
.project-controls { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; padding: 1.5rem 0 1.7rem; }
.filters { display: flex; flex-wrap: wrap; gap: .4rem; }
.filters button { font: 500 .86rem var(--font-head); color: var(--ink-2); background: var(--panel); border: 1px solid var(--rule); border-radius: 999px; padding: .45rem .85rem; cursor: pointer; }
.filters button:hover { color: var(--ink); border-color: var(--rule-strong); }
.filters button[aria-pressed="true"] { color: #fff; background: var(--teal-700); border-color: var(--teal-700); }
.search { display: flex; align-items: center; gap: .5rem; min-width: 14rem; border: 1px solid var(--rule); background: var(--panel); border-radius: var(--radius); padding: .4rem .7rem; }
.search:focus-within { outline: 2px solid var(--mark); outline-offset: 2px; }
.search svg { width: 1rem; height: 1rem; stroke: var(--ink-3); stroke-width: 1.7; fill: none; flex: none; }
.search input { color: var(--ink); background: none; border: 0; outline: 0; width: 100%; font: .9rem var(--font-body); }
.search input::placeholder { color: var(--ink-3); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.project-group + .project-group { margin-top: 3.2rem; }
.project-group[hidden] { display: none; }
.project-group-heading { margin: 0 0 1.2rem; }
.project-group-heading h3 { font: 500 clamp(1.35rem, 2.5vw, 1.8rem)/1.2 var(--font-head); margin: 0; }
.project-group-heading p:last-child:not(.section-eyebrow) { color: var(--ink-2); margin: .45rem 0 0; }
.project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.project-card { display: flex; flex-direction: column; min-height: 14.8rem; padding: 1.35rem; background: var(--panel); border: 1px solid var(--rule); border-radius: var(--radius); box-shadow: var(--shadow); position: relative; overflow: hidden; }
.project-card[hidden] { display: none; }
.project-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--teal-600); }
.project-card[data-category="systems"]::before { background: var(--sky-600); }
.project-card[data-category="experiments"]::before { background: var(--sun-500); }
.project-card[data-category="guides"]::before { background: var(--rose-600); }
.project-card:hover { border-color: var(--rule-strong); transform: translateY(-2px); box-shadow: 0 2px 5px rgba(15,33,71,.08), 0 15px 30px -16px rgba(15,33,71,.23); }
.project-top { display: flex; justify-content: space-between; align-items: start; gap: 1rem; }
.project-label { color: var(--accent); }
.project-card[data-category="systems"] .project-label { color: var(--sky-600); }
.project-card[data-category="experiments"] .project-label { color: var(--sun-600); }
.project-card[data-category="guides"] .project-label { color: var(--rose-600); }
.project-symbol { font-family: var(--font-head); font-size: 1.5rem; color: var(--ink-3); line-height: 1; }
.project-card h4 { font: 500 1.55rem/1.2 var(--font-head); margin: 1.35rem 0 .55rem; }
.project-card p { color: var(--ink-2); font-size: .95rem; line-height: 1.5; margin: 0 0 1.4rem; }
.project-attributes { display: flex; flex-wrap: wrap; gap: .35rem; margin: -.35rem 0 1.2rem; }
.project-attributes span { color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--rule); border-radius: 999px; padding: .18rem .5rem; font: 500 .72rem var(--font-mono); }
.project-links { display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; margin-top: auto; font: 500 .83rem var(--font-mono); }
#empty { padding: 1.2rem; color: var(--ink-2); border: 1px dashed var(--rule-strong); border-radius: var(--radius); }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; padding-top: 5rem; margin-top: 5rem; border-top: 1px solid var(--rule-strong); }
.about-copy h2 { font-size: clamp(1.8rem, 3.2vw, 2.5rem); }
.about-copy p:not(.section-eyebrow) { color: var(--ink-2); max-width: 36rem; }
.text-link { font-family: var(--font-head); font-weight: 600; }
.about-links { display: grid; gap: .75rem; }
.about-links a { position: relative; display: grid; gap: .35rem; padding: 1rem 3rem 1rem 1.2rem; color: var(--ink); background: var(--panel); border: 1px solid var(--rule); border-radius: var(--radius); box-shadow: var(--shadow); text-decoration: none; }
.about-links a:hover { border-color: var(--rule-strong); }
.about-links strong { font-family: var(--font-head); font-size: 1.18rem; font-weight: 500; }
.about-links span:not(.link-label):not(.link-arrow) { color: var(--ink-2); font-size: .9rem; }
.link-label { color: var(--accent); }
.link-arrow { position: absolute; right: 1rem; top: 1rem; color: var(--accent); }
.home-footer { color: #b9cbe6; background: var(--sky-950); border-top: 4px solid var(--sun-500); }
.footer-inner { max-width: 88rem; margin: auto; padding: 1.5rem; display: flex; justify-content: space-between; gap: 1rem; font-size: .85rem; }
.home-footer a { color: #d9e7fa; }
.footer-mark { color: var(--sun-300); }
@media (max-width: 62rem) { .project-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 40rem) { .masthead-bar { flex-wrap: wrap; } .topnav { flex-wrap: wrap; margin-left: 0; } .topnav a { display: inline-flex; } .home-shell { padding-top: 2.7rem; } .section-heading { align-items: start; } .site-count { display: none; } .project-controls { align-items: stretch; } .search { width: 100%; } .project-grid, .about-grid { grid-template-columns: 1fr; } .about-grid { gap: 1.5rem; padding-top: 3.5rem; margin-top: 3.5rem; } .footer-inner { display: grid; } }
@media (prefers-reduced-motion: reduce) { .project-card { transition: none; } }
