.journeySection { position: relative; width: 100%; height: 65.625rem; overflow: hidden; background: var(--bg-page); } .journeySection::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(to bottom, var(--bg-page), transparent 10%, transparent 90%, var(--bg-page)), radial-gradient(ellipse at center, transparent 48%, var(--bg-page) 100%); opacity: 0.62; } .introBlock { position: absolute; top: 7rem; left: var(--layout-page-gutter); z-index: 3; width: min(24.375rem, calc(100% - (2 * var(--layout-page-gutter)))); padding: var(--space-4); border-radius: var(--radius-md); background: var(--overlay-contact); backdrop-filter: blur(8px); } .eyebrow { display: block; margin-bottom: var(--space-2); color: var(--text-secondary); font-size: var(--font-size-label-small); font-weight: 700; line-height: var(--line-height-label-small); letter-spacing: var(--letter-spacing-eyebrow); text-transform: uppercase; } .heading { margin-bottom: var(--space-3); color: var(--text-primary); font-size: var(--font-size-h2); font-weight: 700; line-height: var(--line-height-h2); } .underlineBar { width: 7.5rem; height: 3px; margin-bottom: var(--space-5); border-radius: var(--radius-pill); background: var(--accent-default); } .description { color: var(--text-secondary); font-size: var(--font-size-body-large); font-weight: 400; line-height: var(--line-height-body-large); } .stepsList { position: absolute; top: 5.5rem; right: var(--layout-page-gutter); z-index: 3; display: flex; flex-direction: column; width: min(33rem, 46vw); gap: var(--space-3); padding-left: 3.5rem; list-style: none; } .stepsList::before { content: ''; position: absolute; top: 1.25rem; bottom: 1.25rem; left: 1.25rem; width: 2px; border-radius: var(--radius-pill); background: var(--border-strong); } .stepCard { position: relative; display: flex; width: 100%; min-height: 6.125rem; gap: var(--space-3); padding: var(--space-4); border: 1px solid var(--border-default); border-radius: var(--radius-md); background: var(--overlay-contact); box-shadow: 0 0.5rem 1.5rem var(--shadow-color); backdrop-filter: blur(8px); transition: border-color var(--motion-duration-fast) ease; } .stepIcon { position: absolute; top: 1rem; left: -3.5rem; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border: 1px solid var(--border-strong); border-radius: 50%; background: var(--bg-raised); color: var(--accent-default); box-shadow: 0 0.375rem 1rem var(--shadow-color); } .stepContent { min-width: 0; } .stepTitle { margin-bottom: var(--space-1); color: var(--text-primary); font-size: var(--font-size-h3); font-weight: 700; line-height: var(--line-height-h3); } .stepDesc { color: var(--text-secondary); font-size: var(--font-size-body-small); line-height: var(--line-height-body-small); } @media (max-width: 1024px) { .introBlock { top: 5rem; } .stepsList { top: 4.5rem; right: 2rem; width: min(28rem, 45vw); } } @media (max-width: 900px) { .journeySection { height: auto; min-height: 70rem; padding: var(--layout-section-padding) var(--layout-page-gutter); } .journeySection::after { background: linear-gradient(to bottom, transparent 0 28%, var(--bg-page) 54%); opacity: 0.82; } .introBlock { position: relative; top: auto; left: auto; width: 100%; padding: var(--space-4); border: 1px solid var(--border-default); background: var(--overlay-contact); box-shadow: 0 0.5rem 1.5rem var(--shadow-color); backdrop-filter: blur(12px); } .heading { font-size: 1.75rem; line-height: 2.375rem; } .description { font-size: var(--font-size-body-default); line-height: var(--line-height-body-default); } .stepsList { position: relative; top: auto; right: auto; display: flex; flex-direction: column; width: 100%; gap: var(--space-3); margin-top: 13.75rem; padding-left: 3.25rem; } .stepsList::before { content: ''; position: absolute; top: 1.25rem; bottom: 1.25rem; left: 1.125rem; width: 2px; background: var(--border-strong); } .stepCard { position: relative; inset: auto; width: 100%; padding: var(--space-3) var(--space-4); box-shadow: none; backdrop-filter: blur(6px); } .stepIcon { top: 0.75rem; left: -3.25rem; } } @media (min-width: 1441px) { .journeySection { overflow: visible; } .journeySection::after { left: 50%; right: auto; transform: translateX(-50%); width: 100vw; } }