.page { background: var(--color-white); } .container { max-width: var(--container-width); margin: 0 auto; padding: 0 var(--page-pad); } .wide { max-width: 1512px; margin: 0 auto; padding: 0 var(--page-pad); } .intro { display: grid; grid-template-columns: minmax(240px, 0.85fr) minmax(0, 1.15fr); gap: 48px; align-items: center; padding: 56px 0 72px; } .visual { position: relative; width: min(100%, 380px); aspect-ratio: 466 / 634; margin-inline: auto 0; } .visualBack { position: absolute; inset: 0 18% 12% 0; background: var(--color-card); border-radius: 32px; } .visualCard { position: absolute; left: 14%; top: 12%; width: 86%; height: 88%; border-radius: 32px; object-fit: cover; box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08); } .kicker { font-size: clamp(22px, 2.2vw, 35px); font-weight: 300; color: #434343; margin-bottom: 8px; } .title { font-size: clamp(34px, 3.4vw, 55px); font-weight: 700; line-height: 1.1; margin-bottom: 28px; } .title span { display: block; } .copy { font-size: 16px; font-weight: 400; line-height: 1.45; color: #bababa; margin-bottom: 18px; max-width: 650px; text-align: justify; } .cta { margin-top: 18px; height: 34px; padding: 0 16px; min-width: 207px; font-size: 12px; letter-spacing: 2.4px; } .clients { padding: 24px 0 56px; } .clientBar { margin-top: 36px; background: #f8f8f8; border-radius: 5px; min-height: 160px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: center; gap: 24px; padding: 24px 40px; } .clientLogo { width: 100%; max-height: 96px; object-fit: contain; margin: 0 auto; } .story { display: grid; grid-template-columns: minmax(240px, 0.85fr) minmax(0, 1.15fr); gap: 40px; padding: 40px 0 72px; align-items: start; } .story .cta { margin-top: 24px; } .comments { padding: 24px 0 72px; text-align: center; } .commentHead { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; margin-bottom: 8px; } .commentHead .sectionHead { margin: 0; } .arrows { display: flex; gap: 6px; } .arrowBtn { width: 38px; height: 36px; background: var(--color-card); border-radius: 5px; display: flex; align-items: center; justify-content: center; } .arrowBtn img { width: 8px; height: 14px; object-fit: contain; } .arrowPrev { transform: rotate(180deg); } .commentCount { font-size: 13px; letter-spacing: 1px; color: var(--color-soft); min-width: 48px; text-align: right; } .commentTrack { animation: commentIn 0.35s ease; } @keyframes commentIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } } .quote { max-width: 900px; margin: 28px auto 18px; font-size: 18px; line-height: 1.45; color: #bababa; } .meta { font-size: 18px; color: #5f5f5f; } .dots { margin-top: 28px; display: flex; justify-content: center; gap: 8px; } .dot, .dotActive { width: 8px; height: 8px; border-radius: 50%; background: #d8d8d8; padding: 0; } .dotActive { background: var(--color-black); } .services { padding: 24px 0 96px; } .serviceGrid { margin-top: 48px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; align-items: end; } .serviceCard { position: relative; min-height: 190px; display: grid; grid-template-columns: auto 1fr; align-items: end; gap: 8px; padding: 24px 16px 18px 0; } .serviceCard::before { content: ""; position: absolute; left: 52px; right: 0; bottom: 18px; height: 135px; background: #f8f8f8; border-radius: 25px; z-index: 0; } .serviceCard img { position: relative; z-index: 1; display: block; width: auto; height: 160px; max-width: 150px; object-fit: contain; margin-left: 0; filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.12)); } .serviceCopy { position: relative; z-index: 1; align-self: center; padding: 8px 12px 8px 4px; text-align: left; } .serviceCopy h3 { font-size: clamp(20px, 1.8vw, 30px); font-weight: 400; letter-spacing: 1px; text-transform: uppercase; line-height: 1.1; } .serviceCopy p { margin-top: 6px; font-size: 11px; font-weight: 300; letter-spacing: 1.2px; text-transform: uppercase; color: var(--color-black); } .support .serviceCopy h3 { color: #575f50; } .register .serviceCopy h3 { color: #b68968; } .responsive .serviceCopy h3 { color: #474039; } .sectionHead { text-align: center; } .sectionTitle { font-size: clamp(24px, 2.2vw, 35px); font-weight: 400; letter-spacing: 14px; text-transform: uppercase; } .sectionSub { margin-top: 8px; font-size: 12px; font-weight: 300; letter-spacing: 4.02px; text-transform: uppercase; color: var(--color-soft); } @media (max-width: 980px) { .intro, .story { grid-template-columns: 1fr; } .visual { margin: 0 auto; } .commentHead { grid-template-columns: 1fr; justify-items: center; gap: 14px; } .commentCount { text-align: center; } .serviceGrid { grid-template-columns: 1fr; max-width: 420px; margin-left: auto; margin-right: auto; } .clientBar { grid-template-columns: repeat(3, 1fr); min-height: auto; } } @media (max-width: 720px) { .clientBar { grid-template-columns: repeat(2, 1fr); padding: 20px; } .sectionTitle { letter-spacing: 6px; } .serviceCopy { padding-left: 4px; } }