:root { --site-navigation-block-size: 45px; } .portfolio-shell { min-width: 0; } .site-header { display: grid; gap: var(--space-2); min-width: 0; padding: calc(var(--space-4) + var(--site-navigation-block-size)) 4vw var(--space-3); border-block-end: var(--panel-border); background: #0b111b; } .site-header h1 { font-size: var(--step-3); } .site-header > p:not(.route-label) { color: var(--text-muted); font-size: var(--step-1); } .site-navigation { position: fixed; z-index: 3; inset: 0 0 auto; block-size: var(--site-navigation-block-size); border-block-end: var(--panel-border); background: rgb(7 13 23 / 94%); backdrop-filter: blur(10px); } .site-navigation ul { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); grid-auto-rows: 44px; gap: 0.25rem; max-inline-size: 90rem; margin: 0; padding: 0; list-style: none; } .site-navigation a { display: inline-flex; inline-size: 100%; align-items: center; min-block-size: 44px; justify-content: center; padding-inline: 0.4rem; color: var(--text-muted); font-family: var(--mono); font-size: var(--step--1); letter-spacing: 0.04em; text-decoration: none; transition: color var(--transition), background-color var(--transition); } .site-navigation a:hover, .site-navigation a:focus-visible { background: var(--cyan-deep); color: var(--text); } .site-navigation a:focus-visible { outline-offset: -3px; } .site-navigation__compact-label { display: none; } .portfolio-main { min-width: 0; padding-block: var(--space-4) var(--space-5); } .portfolio-section { width: calc(100% - 2rem); min-width: 0; margin: 0 1rem var(--space-4); padding: var(--space-3); scroll-margin-block-start: calc( var(--site-navigation-block-size) + var(--space-3) ); border: var(--panel-border); border-radius: 2px; background: var(--surface); box-shadow: var(--panel-shadow); transition: border-color var(--transition), background-color var(--transition); } .portfolio-section:hover { border-color: var(--line-strong); } .site-footer, .portfolio-section footer { display: grid; gap: var(--space-2); min-width: 0; } .site-footer { padding: var(--space-4) 4vw; border-block-start: var(--panel-border); background: #0b111b; } @media (max-width: 767px) { :root { --site-navigation-block-size: 93px; } .site-header { padding-block-start: calc( var(--space-4) + var(--site-navigation-block-size) ); } .site-navigation ul { grid-template-columns: repeat(4, minmax(0, 1fr)); } .site-navigation__full-label { display: none; } .site-navigation__compact-label { display: inline; } .portfolio-section { scroll-margin-block-start: calc( var(--site-navigation-block-size) + var(--space-3) ); } .project-link, .contact-link, .contact-social-link { display: inline-flex; align-items: center; min-inline-size: 44px; min-block-size: 44px; padding-inline: 0.55rem; } } @media (min-width: 768px) { .site-header { padding-inline: 5vw; } .portfolio-section { width: calc(50% - 3rem); margin-inline: 2rem 0; } .portfolio-section:nth-child(even) { margin-inline-start: calc(50% + 1rem); } .site-footer { padding-inline: 5vw; } } @media (min-width: 1280px) { .site-header { padding-inline: 4vw; } .portfolio-section { width: 42%; margin-inline: 4% 0; } .portfolio-section:nth-child(even) { margin-inline-start: 54%; } .site-footer { padding-inline: 4vw; } }