style: convert project sizing to scalable rem units with responsive root font scaling

This commit is contained in:
2026-09-06 13:58:17 +03:30
parent c7ef6dff3e
commit 9f14e9a4f4
12 changed files with 342 additions and 325 deletions

View File

@@ -16,10 +16,23 @@
}
html {
font-size: 100%;
scroll-behavior: smooth;
color-scheme: light;
}
@media (max-width: 1024px) {
html {
font-size: 93.75%;
}
}
@media (max-width: 650px) {
html {
font-size: 87.5%;
}
}
html[data-theme="dark"] {
color-scheme: dark;
}
@@ -56,7 +69,7 @@ body {
}
}
/* 1320px Inner Content Container with 60px Gutters */
/* 1320px Inner Content Container with Page Gutters */
.content-container {
width: calc(100% - (2 * var(--layout-page-gutter)));
max-width: var(--layout-container);
@@ -64,18 +77,18 @@ body {
position: relative;
}
@media (max-width: 640px) {
@media (max-width: 650px) {
.section-header {
margin-bottom: var(--space-6);
}
.section-title {
font-size: 28px;
line-height: 38px;
font-size: 1.75rem;
line-height: 2.375rem;
}
.section-underline {
width: 88px;
width: 5.5rem;
}
}
@@ -84,7 +97,7 @@ body {
display: flex;
flex-direction: column;
align-items: flex-start;
margin-bottom: 40px;
margin-bottom: 2.5rem;
}
.section-eyebrow {
@@ -94,7 +107,7 @@ body {
text-transform: uppercase;
font-weight: 700;
color: var(--text-secondary);
margin-bottom: 8px;
margin-bottom: 0.5rem;
}
.section-title-wrap {
@@ -108,11 +121,11 @@ body {
line-height: var(--line-height-h2);
font-weight: 700;
color: var(--text-primary);
margin-bottom: 12px;
margin-bottom: 0.75rem;
}
.section-underline {
width: 120px;
width: 7.5rem;
height: 3px;
background-color: var(--accent-default);
border-radius: var(--radius-pill);
@@ -129,9 +142,9 @@ body {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
gap: 0.5rem;
height: var(--size-button-height);
padding: 0 24px;
padding: 0 1.5rem;
border-radius: var(--radius-pill);
font-size: var(--font-size-button);
line-height: var(--line-height-button);

View File

@@ -21,65 +21,65 @@
--color-border-strong-light: #A9BEDA;
--color-border-strong-dark: #426B9D;
--color-black: #000000;
--space-0: 0px;
--space-1: 4px;
--space-2: 8px;
--space-3: 12px;
--space-4: 16px;
--space-5: 24px;
--space-6: 32px;
--space-7: 40px;
--space-8: 48px;
--space-9: 64px;
--space-10: 80px;
--space-11: 96px;
--space-12: 120px;
--radius-sm: 8px;
--radius-md: 12px;
--radius-lg: 16px;
--radius-xl: 24px;
--radius-pill: 999px;
--space-0: 0;
--space-1: 0.25rem;
--space-2: 0.5rem;
--space-3: 0.75rem;
--space-4: 1rem;
--space-5: 1.5rem;
--space-6: 2rem;
--space-7: 2.5rem;
--space-8: 3rem;
--space-9: 4rem;
--space-10: 5rem;
--space-11: 6rem;
--space-12: 7.5rem;
--radius-sm: 0.5rem;
--radius-md: 0.75rem;
--radius-lg: 1rem;
--radius-xl: 1.5rem;
--radius-pill: 9999px;
--stroke-default: 1px;
--stroke-strong: 2px;
--layout-frame: 1440px;
--layout-container: 1320px;
--layout-page-gutter: 60px;
--layout-grid-gutter: 24px;
--layout-grid-column: 88px;
--layout-section-gap: 120px;
--layout-section-padding: 96px;
--layout-text-measure: 720px;
--size-icon-sm: 16px;
--size-icon-md: 20px;
--size-icon-lg: 24px;
--size-icon-button: 44px;
--size-button-height: 48px;
--size-social-button: 56px;
--size-avatar: 200px;
--size-journey-image: 96px;
--size-project-width: 360px;
--size-project-media-height: 225px;
--size-tool-tile: 72px;
--font-size-display-hero: 64px;
--font-size-display-footer: 48px;
--font-size-h1: 40px;
--font-size-h2: 32px;
--font-size-h3: 20px;
--font-size-body-large: 18px;
--font-size-body-default: 16px;
--font-size-body-small: 14px;
--font-size-label-small: 12px;
--font-size-button: 15px;
--line-height-display-hero: 72px;
--line-height-display-footer: 56px;
--line-height-h1: 52px;
--line-height-h2: 42px;
--line-height-h3: 28px;
--line-height-body-large: 30px;
--line-height-body-default: 26px;
--line-height-body-small: 22px;
--line-height-label-small: 18px;
--line-height-button: 20px;
--layout-page-gutter: 3.75rem;
--layout-grid-gutter: 1.5rem;
--layout-grid-column: 5.5rem;
--layout-section-gap: 7.5rem;
--layout-section-padding: 6rem;
--layout-text-measure: 45rem;
--size-icon-sm: 1rem;
--size-icon-md: 1.25rem;
--size-icon-lg: 1.5rem;
--size-icon-button: 2.75rem;
--size-button-height: 3rem;
--size-social-button: 3.5rem;
--size-avatar: 12.5rem;
--size-journey-image: 6rem;
--size-project-width: 22.5rem;
--size-project-media-height: 14.0625rem;
--size-tool-tile: 4.5rem;
--font-size-display-hero: 4rem;
--font-size-display-footer: 3rem;
--font-size-h1: 2.5rem;
--font-size-h2: 2rem;
--font-size-h3: 1.25rem;
--font-size-body-large: 1.125rem;
--font-size-body-default: 1rem;
--font-size-body-small: 0.875rem;
--font-size-label-small: 0.75rem;
--font-size-button: 0.9375rem;
--line-height-display-hero: 4.5rem;
--line-height-display-footer: 3.5rem;
--line-height-h1: 3.25rem;
--line-height-h2: 2.625rem;
--line-height-h3: 1.75rem;
--line-height-body-large: 1.875rem;
--line-height-body-default: 1.625rem;
--line-height-body-small: 1.375rem;
--line-height-label-small: 1.125rem;
--line-height-button: 1.25rem;
--letter-spacing-eyebrow: 0.16em;
--motion-duration-fast: 140ms;
--motion-duration-default: 200ms;
@@ -161,14 +161,14 @@
@media (max-width: 1024px) {
:root {
--layout-page-gutter: 32px;
--layout-section-padding: 80px;
--layout-page-gutter: 2rem;
--layout-section-padding: 5rem;
}
}
@media (max-width: 640px) {
@media (max-width: 650px) {
:root {
--layout-page-gutter: 20px;
--layout-section-padding: 64px;
--layout-page-gutter: 1.25rem;
--layout-section-padding: 4rem;
}
}