body.project-page{display:block;height:auto;min-height:100svh;padding:0 28px 36px}body.project-page main{width:min(940px,100%);max-width:none;margin:0 auto;padding:112px 0 60px}.project-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:64px}.back{display:inline-flex;align-items:center;gap:8px;min-height:40px;color:var(--secondary);font-size:13px}.back:hover{color:var(--fg)}.project-actions{display:flex;align-items:center;gap:8px}.language-switch{display:flex;padding:3px;border:1px solid var(--border);border-radius:9px;gap:2px}.language-switch button{border:0;border-radius:6px;min-width:36px;min-height:30px;background:transparent;color:var(--secondary);font-size:11px;cursor:pointer}.language-switch button[aria-pressed=true]{background:var(--hover);color:var(--fg)}.project-page .theme-toggle{position:relative;inset:auto;color:var(--secondary)}.project-page footer{position:static;animation:none;width:min(940px,100%);margin:0 auto;text-align:left;font-size:11px;color:var(--muted)}.eyebrow{margin:0 0 16px;color:var(--secondary);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.project-page h1{margin:0;font-size:clamp(34px,5vw,52px);letter-spacing:-.055em;font-weight:550;line-height:1.1}.page-intro{max-width:530px;color:var(--secondary);font-size:16px;line-height:1.7;margin:18px 0 40px}.project-card{border:1px solid var(--border);border-radius:16px;overflow:hidden;animation:arrive .6s both}.project-visual{display:block;padding:30px 30px 0;background:linear-gradient(145deg,var(--hover),var(--bg));overflow:hidden}.project-visual img{display:block;width:100%;height:auto;border-radius:9px 9px 0 0;border:1px solid #ffffff14;box-shadow:0 12px 60px #0002;transition:transform .4s cubic-bezier(.22,1,.36,1)}.project-visual:hover img{transform:translateY(-3px)}.project-content{padding:28px 30px 30px}.project-heading{display:flex;gap:16px;justify-content:space-between;align-items:center}.project-heading h2{margin:0;font-size:24px;letter-spacing:-.7px;font-weight:550}.status{font-size:11px;color:var(--secondary);white-space:nowrap;display:flex;align-items:center;gap:7px}.status:before{content:'';width:6px;height:6px;border-radius:50%;background:#7fa58f}.project-description{max-width:590px;color:var(--secondary);font-size:14px;line-height:1.8;margin:14px 0 20px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.tags span{font-size:11px;color:var(--secondary);border:1px solid var(--border);border-radius:6px;padding:5px 8px}.project-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.project-links a,.primary-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid var(--border);border-radius:8px;padding:0 14px;font-size:12px;transition:background .2s,color .2s,transform .2s}.project-links a:hover{background:var(--hover)}.project-links .primary-link{background:var(--fg);border-color:var(--fg);color:var(--bg)}.project-links .primary-link:hover{background:var(--fg);opacity:.85}.project-links .text-link{border-color:transparent;color:var(--secondary)}.project-meta{font-size:11px;line-height:1.8;color:var(--muted);margin:20px 0 0}.case-hero{margin:36px 0 44px}.case-hero img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border:1px solid var(--border);border-radius:12px}.case-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:42px;margin-top:54px}.case-label{font-size:12px;color:var(--muted);margin:5px 0}.case-body h2{font-size:22px;font-weight:550;letter-spacing:-.7px;margin:0 0 16px}.case-body p{color:var(--secondary);font-size:14px;line-height:1.85;margin:0 0 18px}.feature-list{display:grid;gap:20px}.feature-list strong{display:block;color:var(--fg);font-size:14px;font-weight:500;margin-bottom:4px}.feature-list p{margin:0}.source-picture{margin:28px 0 0}.source-picture img{display:block;width:100%;height:auto;object-fit:contain;border:1px solid var(--border);border-radius:10px}.source-picture figcaption{margin-top:10px;color:var(--muted);font-size:11px}.case-divider{height:1px;background:var(--border);margin:42px 0 0}.case-footer{display:flex;justify-content:space-between;gap:15px;margin-top:52px;color:var(--muted);font-size:11px}.case-footer a:hover{color:var(--fg)}@media(max-width:600px){body.project-page{padding-inline:22px}.project-page main{padding-top:30px}.project-topbar{margin-bottom:48px}.project-visual{padding:16px 16px 0}.project-content{padding:22px}.project-heading{align-items:flex-start;flex-direction:column;gap:10px}.project-links a{flex:1;white-space:nowrap}.project-links .text-link{flex-basis:100%}.case-layout{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:38px}.page-intro{font-size:15px}.case-footer{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.project-visual img{transition:none}}

.project-visual img{aspect-ratio:2/1;object-fit:cover;object-position:top}
.source-picture{max-width:780px;margin:28px 0 0}.source-picture picture{display:block;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#0b0e12}.source-picture img{display:block;width:100%;height:auto;border:0;border-radius:0}.source-picture figcaption{max-width:60ch;line-height:1.65}
@media(max-width:600px){.source-picture{margin-top:24px}.source-picture picture{border-radius:14px}.source-picture figcaption{font-size:12px}}

.project-offerings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 0;padding:16px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.project-offerings>span,.project-offerings>div{min-width:0}.project-offerings>span{font-size:11px;color:var(--secondary);line-height:1.6}.project-offerings strong{display:block;font-size:12px;font-weight:550;margin-bottom:6px}.project-offerings p{margin:0 0 8px!important;font-size:12px!important;line-height:1.65!important}.project-offerings a{font-size:11px;color:var(--secondary)}@media(max-width:600px){.project-offerings{grid-template-columns:minmax(0,1fr);gap:16px}.project-offerings>span{display:block}}


/* Project-card actions: one aligned row, with supporting notes below. */
.project-card-footer{margin-top:24px}
.project-card-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}
.project-main-actions{display:flex;align-items:center;gap:10px}
.project-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--border);border-radius:10px;font-size:13px;font-weight:500;line-height:1.35;white-space:nowrap;transition:background .16s,color .16s,border-color .16s}
.project-action svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.project-action-primary{color:var(--bg);background:var(--fg);border-color:var(--fg)}
.project-action-primary:hover{opacity:.88}
.project-action-secondary:hover{background:var(--hover)}
.project-action-detail{border-color:transparent;color:var(--secondary);padding-inline:4px}
.project-action-detail:hover{color:var(--fg)}
.project-action:focus-visible{outline:2px solid var(--fg);outline-offset:4px}
.project-notes{display:grid;gap:8px;max-width:76ch;margin-top:16px}
.project-notes p{margin:0;color:var(--secondary);font-size:12px;line-height:1.7}
.project-notes .project-license-note{font-size:11px}
@media(max-width:600px){
 .project-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .project-main-actions{display:contents}
 .project-action{min-width:0;padding-inline:10px;font-size:12px}
 .project-action-primary{grid-column:1/-1;font-size:13px}
 .project-action-detail{padding-inline:4px}
 .project-notes{gap:10px;margin-top:18px}
}
@media(prefers-reduced-motion:reduce){.project-action{transition:none}}

.installation-options{display:grid;gap:18px;margin:28px 0}.installation-options article{padding:20px;border:1px solid var(--line,#5555);border-radius:12px}.installation-options h3{margin:0 0 8px;font:inherit;font-weight:600}.installation-options p{margin:0 0 12px}.installation-options a{display:inline-block;padding-block:6px;text-decoration:underline;text-underline-offset:4px}.installation-options .install-command{font-size:13px;overflow-wrap:anywhere}.install-preservation{font-size:13px;opacity:.8}@media(min-width:900px){.installation-options{grid-template-columns:minmax(0,1fr);gap:16px}.installation-options article{padding:16px}.installation-options p,.installation-options a{font-size:13px}}
.installation-options .desktop-download-card{border-color:var(--accent,#5a91ff);background:color-mix(in srgb,var(--accent,#5a91ff) 7%,transparent)}.installation-options .desktop-download-card a{display:block;width:max-content;max-width:100%;font-weight:600}

/* Community information is one clear offering. */
.project-offerings{grid-template-columns:minmax(0,1fr)}

.installation-options .desktop-download-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.installation-options .desktop-download-links a{display:block;width:100%;padding:11px 12px;border:1px solid var(--line,#5555);border-radius:9px;text-decoration:none;font-weight:600;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.installation-options .desktop-download-links a:hover,.installation-options .desktop-download-links a:focus-visible{background:color-mix(in srgb,var(--accent,#5a91ff) 12%,transparent);border-color:var(--accent,#5a91ff);transform:translateY(-1px)}.installation-options .desktop-signing-note{font-size:13px;opacity:.8}@media(max-width:480px){.installation-options .desktop-download-links{grid-template-columns:1fr}}
