/* Compact footer destination. No homepage stylesheet dependency. */
.open-source-page { padding-block:72px; }
.open-source-intro { max-width:640px; margin-bottom:56px; }
.open-source-intro h1 { font-size:clamp(42px,5vw,64px); line-height:1.08; letter-spacing:-.05em; }
.open-source-intro > p { margin-top:24px; color:var(--secondary); font-size:16px; line-height:1.8; }
.open-source-intro .text-link { margin-top:16px; }
.open-source-projects > h2 { font-size:19px; letter-spacing:-.4px; margin-bottom:24px; }
.open-source-project { display:grid; grid-template-columns:1fr 2fr auto; align-items:start; gap:32px; padding-block:28px; border-top:1px solid var(--line); }
.open-source-project:last-child { border-bottom:1px solid var(--line); }
.open-source-project h3 { font-size:23px; letter-spacing:-.6px; }
.project-type { display:block; font-size:12px; color:var(--secondary); margin-top:8px; }
.open-source-project > p { font-size:14px; line-height:1.8; color:var(--secondary); }
.open-source-project .text-link { white-space:nowrap; }
.open-source-note { display:grid; grid-template-columns:1fr 2fr; gap:48px; margin-top:56px; }
.open-source-note h2 { font-size:26px; letter-spacing:-.7px; }
.open-source-note p { font-size:14px; line-height:1.8; color:var(--secondary); }
.open-source-note p + p { margin-top:16px; }
.open-source-note .text-link { margin-top:16px; }
@media(max-width:999px) {
 .navigation { height:76px; } .nav-links,.nav-actions { display:none; } .menu-toggle { display:inline-flex; }
 .open-source-project { grid-template-columns:1fr 2fr; gap:20px 32px; }
 .open-source-project .text-link { grid-column:2; }
}
@media(max-width:699px) {
 .navigation { height:72px; }
 .demo-notice .container { flex-wrap:wrap; gap:4px 12px; } .demo-notice a { margin-left:0; }
 .open-source-page { padding-block:48px; }
 .open-source-intro { margin-bottom:40px; }
 .open-source-project,.open-source-note { grid-template-columns:1fr; gap:16px; }
 .open-source-project .text-link { grid-column:1; }
 .open-source-note { margin-top:40px; gap:24px; }
 .footer-top { grid-template-columns:1fr 1fr; gap:32px 24px; } .footer-brand { grid-column:1/-1; }
 .footer-bottom { flex-wrap:wrap; gap:16px; } .footer-bottom > div { flex-wrap:wrap; }
 .modal { padding:28px 24px; } .modal .form-row { grid-template-columns:1fr; }
 input:not([type=checkbox]),textarea { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }
