/* Layout Components */ .container { max-width: var(--max-width); margin: 0 auto; padding: 0 var(--s-lg); @media (max-width: 640px) { padding: 0 var(--s-md); } } /* Section Styling */ section { border-top: 1px solid var(--c-mist); } .section-title { font-size: clamp(2rem, 4vw, 3rem); font-weight: 600; margin-bottom: 0; padding-bottom: var(--s-sm); position: relative; display: block; &::after { content: ''; position: absolute; bottom: -0.25em; left: 0; width: 80px; height: 2px; background: var(--c-accent); } @media (max-width: 968px) { margin-bottom: var(--s-lg); } } .section-subtitle { font-size: 1.125rem; color: var(--c-ash); margin-top: var(--s-md); max-width: 50ch; } /* Section Headers */ .section-header-sticky { margin-bottom: var(--s-lg); .section-title { margin-bottom: var(--s-sm); } .section-subtitle { margin-top: var(--s-sm); } } /* Skills Section Layout */ .skills-section { padding: var(--s-xl) 0; } .skills-layout { display: grid; grid-template-columns: 180px 1fr; gap: var(--s-lg); align-items: start; @media (max-width: 968px) { grid-template-columns: 1fr; gap: var(--s-md); } } .skills-nav { display: flex; flex-direction: column; gap: 2px; @media (max-width: 968px) { flex-direction: row; flex-wrap: wrap; gap: var(--s-xs); } } .skills-showcase { /* Contain the showcase to prevent excessive scrolling */ } /* Commands Section Layout - mirrors skills layout */ .commands-section { padding: var(--s-xl) 0; } .commands-layout { display: grid; grid-template-columns: 180px 1fr; gap: var(--s-lg); align-items: start; @media (max-width: 968px) { grid-template-columns: 1fr; gap: var(--s-md); } } .commands-nav { display: flex; flex-direction: column; gap: var(--s-sm); @media (max-width: 968px) { flex-direction: row; flex-wrap: wrap; gap: var(--s-xs); } } .commands-showcase { /* Contains demo + info */ } /* Downloads Section */ .downloads-section { padding: var(--s-2xl) 0; } .downloads-header { margin-bottom: var(--s-xl); max-width: 600px; } .downloads-header .section-title { margin-bottom: var(--s-md); } .downloads-lead { font-size: 1.125rem; line-height: 1.6; color: var(--c-ash); } /* Grid Utilities */ .item-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: var(--s-md); } /* Loading State */ .loading { padding: var(--s-xl); text-align: center; color: var(--c-ash); font-style: italic; }