.page { background: var(--color-white); } .shell { max-width: 1920px; margin: 0 auto; padding: 0 var(--page-pad); } .bannerWrap { padding-top: 28px; } .banner { position: relative; isolation: isolate; overflow: hidden; background: #f6f6f6; border-radius: 5px; min-height: 136px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 24px 20px; } .banner::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: 0.7; background-image: var(--page-title-pattern); } .bannerTitle, .crumbs { position: relative; z-index: 1; } .bannerTitle { font-size: clamp(24px, 2.2vw, 35px); font-weight: 400; letter-spacing: 14px; text-transform: uppercase; } .crumbs { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: center; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--color-soft); } .crumbs > span { display: inline-flex; align-items: center; gap: 10px; } .crumbChevron { width: 10px; height: 10px; opacity: 0.55; } .crumbActive { color: var(--color-black); } .container { width: 100%; } .filtersBar { margin-top: 28px; background: #f9f9f9; border-radius: 5px; padding: 18px 24px; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 24px; align-items: center; } .filtersLabel { display: flex; align-items: center; gap: 12px; min-width: 150px; } .filtersLabel strong { display: block; font-size: 18px; font-weight: 500; } .filtersLabel span { font-size: 12px; color: var(--color-soft); } .filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 12px; } .filters input { width: 100%; border: 1px solid #e4e4e4; border-radius: 4px; padding: 12px 14px; background: var(--color-white); font: inherit; font-size: 13px; } .filterBtn { height: 44px; padding: 0 22px; font-size: 14px; letter-spacing: 2px; text-transform: uppercase; color: var(--color-soft); } .filterBtn img { width: 10px; height: 14px; transition: filter 0.3s ease, opacity 0.3s ease; } :global(.filter-chip).filterBtn:hover, :global(.filter-chip).filterBtn:focus-visible { color: var(--color-white); } :global(.filter-chip).filterBtn:hover img, :global(.filter-chip).filterBtn:focus-visible img { filter: invert(1); } .tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 28px; } .tag { gap: 8px; padding: 8px 12px; font-size: 12px; letter-spacing: 1px; } .tag button { position: relative; z-index: 2; font-size: 14px; line-height: 1; color: var(--color-soft); transition: color 0.3s ease; } :global(.filter-chip).tag:hover, :global(.filter-chip).tag:focus-within { color: var(--color-white); } :global(.filter-chip).tag:hover button, :global(.filter-chip).tag:focus-within button { color: var(--color-white); } .grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; } .pager { margin: 36px auto 56px; display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; } .pager a, .pager span { min-width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 4px; font-size: 13px; color: var(--color-soft); } .pagerActive { background: var(--color-card); color: var(--color-black) !important; } .featureSection { max-width: var(--container-width); margin: 0 auto; width: 100%; } .feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: center; padding: 48px 0 64px; } .featureTitle { font-size: 36px; font-weight: 400; letter-spacing: 0; text-transform: uppercase; line-height: 1.1; } .featureLead { margin-top: 6px; font-size: 22px; font-weight: 400; color: var(--color-soft); } .featureBody { margin-top: 16px; font-size: 15px; font-weight: 400; line-height: 1.4; color: var(--color-body); max-width: none; } .featureList { list-style: none; margin-top: 18px; display: flex; flex-direction: column; gap: 10px; } .featureList li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; color: var(--color-body); } .featureList img { width: 9px; height: 11px; margin-top: 6px; flex-shrink: 0; } .featureCta { margin-top: 22px; height: 34px; padding: 0 16px; font-size: 13px; letter-spacing: 2.4px; } .featureVisual { position: relative; background: var(--color-card); border-radius: 10px; min-height: 360px; aspect-ratio: 1 / 1.05; display: flex; align-items: center; justify-content: center; overflow: hidden; padding: 28px; } .featureVisual img { width: auto; height: auto; max-width: 72%; max-height: 86%; object-fit: contain; } .exportSection { margin: 0 0 72px; } .exportCta { background: var(--color-card); border-radius: 5px; height: min(201px, calc((min(100vw, 1920px) - 2 * var(--page-pad)) * 201 / 1800)); display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 40px 0 22%; position: relative; overflow: hidden; } .plane { position: absolute; left: 1.5%; top: 50%; width: min(240px, 16%); height: auto; max-height: 88%; object-fit: contain; transform: translateY(-52%) rotate(38deg); transform-origin: center; pointer-events: none; } .exportTitle { font-size: clamp(28px, 4vw, 48px); font-weight: 300; letter-spacing: 8px; text-transform: uppercase; line-height: 1.05; } .beginBtn { height: 40px; padding: 0 18px; gap: 10px; font-size: 13px; letter-spacing: 3px; } .beginBtn img { width: 9px; height: 16px; } @media (max-width: 1200px) { .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .filtersBar { grid-template-columns: 1fr; } .filters { grid-template-columns: 1fr 1fr; } } @media (max-width: 980px) { .feature { grid-template-columns: 1fr; } .exportCta { flex-direction: column; justify-content: center; text-align: center; height: auto; min-height: 160px; padding: 28px 20px 24px; } .plane { position: relative; left: auto; top: auto; width: min(180px, 46%); max-height: 120px; transform: rotate(38deg); margin-bottom: 8px; } } @media (max-width: 720px) { .grid, .filters { grid-template-columns: 1fr; } .bannerTitle { letter-spacing: 6px; } }