/* ═══════════════════════════════════════════════════════ CONTAINER OVERRIDE ═══════════════════════════════════════════════════════ */ .container { max-width: 1240px; padding: 0 20px; margin: 0 auto; } /* ═══════════════════════════════════════════════════════ HERO ═══════════════════════════════════════════════════════ */ .container-hero-section{ max-width: 1240px; padding: 0 20px; margin: 0 auto; } .hero-section { padding-bottom: 50px; } .hero-card { position: relative; width: 100%; height: 303px; background-color: #eff6ff; border-radius: 10px; overflow: hidden; display: flex; align-items: center; justify-content: center; } .hero-content { position: relative; z-index: 1; width: 673px; display: flex; flex-direction: column; gap: 16px; text-align: center; } .hero-h1 { font-size: 36px; font-weight: 700; line-height: 54px; color: var(--color-primary); } .hero-sub { font-size: 15px; font-weight: 400; line-height: 26px; color: var(--color-text); } .hero-circles { position: absolute; top: -59%; right: 50%; transform: translate(50%, -50%); pointer-events: none; } .circle { position: absolute; border-radius: 50%; top: 50%; right: 50%; transform: translate(50%, -50%); } .circle--1 { width: 698px; height: 698px; background-color: rgba(216, 233, 255, 0.2); } .circle--2 { width: 616px; height: 616px; background-color: rgba(216, 233, 255, 0.4); } .circle--3 { width: 534px; height: 534px; background-color: rgba(216, 233, 255, 0.6); } .circle--4 { width: 452px; height: 452px; background-color: rgba(216, 233, 255, 0.8); } .hero-hollow { position: absolute; width: 403px; height: 403px; border-radius: 50%; background-color: rgba(2, 116, 179, 0.12); top: 75%; transform: translateY(-50%); pointer-events: none; filter: blur(250px); } .hero-hollow--left { left: -290px; } .hero-hollow--right { right: -290px; } .hero-dot-pattern { position: absolute; inset: 0; background-image: radial-gradient(circle, var(--color-pastel-main) 1px, transparent 1px); background-size: 24px 24px; pointer-events: none; opacity: 0.4; } .contactus-hands { position: absolute; top: 50%; right: 50%; transform: translate(50%, -50%); } /* ═══════════════════════════════════════════════════════ CONTACT SECTION ═══════════════════════════════════════════════════════ */ .contact-section { margin-bottom: 100px; } .contact-grid { display: flex; gap: 32px; align-items: flex-start; } /* ── Contact Info (left column) ── */ .contact-info { width: 550px; flex-shrink: 0; display: flex; flex-direction: column; gap: 24px; padding-top: 24px; } .contact-info__header { display: flex; flex-direction: column; gap: 8px; text-align: right; } .contact-info__title { font-size: 22px; font-weight: 700; line-height: 34px; color: var(--color-title); } .contact-info__subtitle { font-size: 15px; font-weight: 400; line-height: 26px; color: var(--color-text); } .contact-items { display: flex; flex-direction: column; gap: 16px; padding-bottom: 16px; border-bottom: 1px dashed #bdbdbd; } .contact-item { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background-color: #f0f5fe; border-radius: 10px; text-decoration: none; color: inherit; transition: opacity 0.2s; overflow: hidden; min-height: 64px; } .contact-item:hover { opacity: 0.85; } .contact-item--tall { align-items: flex-start; padding-top: 12px; padding-bottom: 12px; } .contact-item__link-btn { flex-shrink: 0; width: 24px; height: 24px; border-radius: 1000px; display: flex; align-items: center; justify-content: center; overflow: hidden; } .contact-item__body { flex: 1; display: flex; align-items: center; gap: 8px; min-width: 0; } .contact-item__body--top { align-items: center; } .contact-item__texts { flex: 1; display: flex; flex-direction: column; gap: 4px; text-align: right; min-width: 0; } .contact-item__label { font-size: 14px; font-weight: 700; line-height: 22px; color: var(--color-title); } .contact-item__value { font-size: 13px; font-weight: 400; line-height: 24px; color: var(--color-body-text); } .contact-item__value strong { font-weight: 700; } .contact-item__icon { flex-shrink: 0; width: 48px; height: 48px; background-color: var(--color-primary); border-radius: 11px; display: flex; align-items: center; justify-content: center; overflow: hidden; } .contact-item__icon img { width: 32px; height: 32px; object-fit: contain; } /* ── Social Media ── */ .contact-social { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; } .contact-social__label { font-size: 14px; font-weight: 700; line-height: 22px; color: var(--color-text); text-align: right; } .contact-social__icons { display: flex; gap: 16px; align-items: center; justify-content: flex-end; } .social-icon { flex-shrink: 0; width: 32px; height: 32px; background-color: #f3f8ff; border-radius: 150px; display: flex; align-items: center; justify-content: center; overflow: hidden; transition: background-color 0.2s; } .social-icon:hover { background-color: var(--color-pastel-main); } .social-icon img { width: 24px; height: 24px; object-fit: contain; } /* ── Contact Form (right column) ── */ .contact-form-wrapper { flex: 1; min-width: 0; background-color: #fafcff; padding: 24px; display: flex; flex-direction: column; gap: 24px; } .contact-form-title { display: flex; flex-direction: column; gap: 9px; text-align: right; } .contact-form-title__h2 { font-size: 24px; font-weight: 700; line-height: 36px; color: var(--color-primary); } .contact-form-title__sub { font-size: 15px; font-weight: 400; line-height: 26px; color: var(--color-text); } .form-input input, .form-text textarea { border: 1px solid #ccc; outline: none; transition: all 0.3s ease; } .form-input input:focus, .form-text textarea:focus { border-color: var(--color-primary); background-color: #eaf7ff; } .error-message { color: #dc2626; font-size: 13px; margin-top: 6px; display: block; } .input-error { background-color: #ffebeb !important; border-color: #ef4444 !important; } /* ── Brands logos scroll ── */ .form-brands { display: flex; flex-direction: column; gap: 12px; } .form-brands__header { display: flex; align-items: center; gap: 12px; margin-top: 24px; } .form-brands__line { flex: 1; height: 1px; background-color: #e0e0e0; } .form-brands__label { font-size: 14px; font-weight: 700; line-height: 22px; color: var(--color-text); white-space: nowrap; text-align: right; } .form-brands__logos { height: 32px; overflow: hidden; position: relative; mask-image: linear-gradient(90deg, transparent 0%, black 8%, black 92%, transparent 100%); -webkit-mask-image: linear-gradient(90deg, transparent 0%, black 8%, black 92%, transparent 100%); } .logos-track { display: flex; align-items: center; gap: 40px; justify-content: right; animation: logos-scroll 18s linear infinite; white-space: transform; width: max-content; } .logos-track img { width: auto; object-fit: contain; flex-shrink: 0; filter: grayscale(0.3); } @keyframes logos-scroll { from { transform: translateX(-1%); } to { transform: translateX(50%); } } form { /* display: flex; */ flex-wrap: wrap; gap: 16px; } .form-input label, .required-label { font-size: 14px; margin-bottom: 8px; display: block; color: #1a1a2e; } .required-label::after { content: '*'; color: #ff0000; margin-left: 4px; } input, .select-box, textarea { width: 100%; border: 1px solid #dbdbdb; border-radius: 8px; padding: 0px 12px; height: 38px; font-size: 14px; font-weight: 400; line-height: 1.8; color: var(--color-title); background-color: #ffffff; } textarea { min-height: 114px; resize: vertical; } .form-input { flex-basis: 48%; position: relative; margin-bottom: 16px; } .label { display: block; margin-bottom: 10px; font-size: 18px; font-weight: 500; color: #222; } .custom-select { position: relative; width: 100%; user-select: none; } .select-box { display: flex; align-items: center; justify-content: space-between; cursor: pointer; transition: 0.25s; } .selected-text { font-size: 14px; color: #222; font-weight: 500; } .arrow { display: flex; transition: 0.25s; } .custom-select.active .arrow { transform: rotate(180deg); } .options { position: absolute; right: 0; width: 100%; border-radius: 8px; overflow: hidden; list-style: none; border: 1px solid #dbdbdb; opacity: 0; visibility: hidden; z-index: 100; } .custom-select.active .options { opacity: 1; visibility: visible; } .option { padding: 0px 12px; height: 38px; font-size: 13px; transition: 0.2s; background-color: #f9f9f9; display: flex; align-items: center; } .option.active { background: var(--color-primary); color: #fff; } .form-text { flex-basis: 98%; font-size: 14px; margin-bottom: 16px; } .form-btn { background-color: var(--color-primary); border: none; border-radius: 10px; padding: 10px 24px 10px 20px; display: flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; transition: 0.3s ease; } .form-btn-icon { display: none; align-items: center; justify-content: center; color: #000; } .form-btn.loading .btn-icon-default { display: none; } .form-btn.loading .btn-icon-loading { display: flex; } .btn-icon-default { display: flex; } .spinner { width: 24px; height: 24px; border: 4px solid #c5d7ec; border-top-color: transparent; border-radius: 50%; box-sizing: border-box; animation: spin 300ms linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } .btn-text { color: #ffffff; font-size: 16px; font-weight: 400; } .form-section-right { flex: 0 1 45%; } .form-section-text h2 { margin-bottom: 16px; } .form-section-text p { font-size: 15px; font-weight: 400; line-height: 1.7; color: var(--color-body-text); } .form-img { position: relative; } .form-img p { position: absolute; top: 28%; right: 16%; font-size: 56px; font-weight: 700; color: #c8dff9; } .form-img img { max-width: 100%; height: auto; display: block; } .end-form-img { left: 184px; top: -28px; } .success-message { display: none; } .success-message p { margin-top: 16px; } .success-message h3 { margin-top: 24px; } .success-btn { margin-top: 24px; border: none; border-radius: 10px; background-color: var(--color-primary); color: #ffffff; font-size: 16px; font-weight: 500; cursor: pointer; padding: 10px 24px; display: inline-flex; align-items: center; justify-content: center; } .success-message.visible { display: flex; flex-direction: column; align-items: center; text-align: center; } /* ═══════════════════════════════════════════════════════ PROCESS STEPS ═══════════════════════════════════════════════════════ */ .steps-section { padding-bottom: 100px; } .steps-header { display: flex; flex-direction: column; gap: 8px; text-align: center; margin-bottom: 32px; } .steps-header__title { font-size: 24px; font-weight: 700; line-height: 36px; color: var(--color-title); } .steps-header__sub { font-size: 15px; font-weight: 400; line-height: 26px; color: var(--color-body-text); } .steps-grid { display: flex; flex-direction: column; gap: 22px; } .steps-row { display: flex; gap: 24px; } /* ─── Card base ─────────────────────────────────── */ .step-card { flex: 1; position: relative; display: flex; flex-direction: column; gap: 12px; padding: 24px; background-color: #f0f4fd; border-radius: 16px; overflow: hidden; text-align: right; transition: background-color 0.3s ease, color 0.3s ease; background-image: url(/src/img/Vector\(1\).png); z-index: 1; } /* .step-card::before { content: ""; position: absolute; inset: 0; background: var(--color-primary); clip-path: polygon(100% 100%, 100% 100%, 100% 100%, 100% 100%); transition: clip-path 0.6s cubic-bezier(0.22, 1, 0.36, 1); z-index: 0; } .step-card:hover::before { clip-path: polygon(30% 0, 100% 0, 100% 100%, 0 100%); } */ .step-card::before { content: ''; position: absolute; width: 400%; height: 400%; right: -200%; bottom: -200%; background: var(--color-primary); border-radius: 50%; transform: scale(0); transform-origin: bottom right; transition: transform 1.5s cubic-bezier(0.22, 1, 0.36, 1); z-index: 0; } .step-card:hover::before { transform: scale(1); } .step-card > * { position: relative; z-index: 2; } /* ─── Badge (default) ───────────────────────────── */ .step-card__badge { display: inline-flex; align-items: center; justify-content: center; padding: 5px 10px; border-radius: 32px; font-size: 13px; font-weight: 400; line-height: 24px; border: 1px solid var(--color-primary); color: var(--color-primary); white-space: nowrap; /* transition: border-color 0.3s ease, color 0.3s ease; */ } .step-card__icon { width: 32px; height: 32px; object-fit: contain; flex-shrink: 0; } /* ─── Top wrapper ───────────────────────────────── */ .step-card__top { display: flex; flex-direction: column; gap: 8px; } .step-card__meta { display: flex; align-items: center; justify-content: space-between; } /* ─── Title & description (default) ────────────── */ .step-card__title { font-size: 18px; font-weight: 700; line-height: 28px; color: var(--color-text); white-space: nowrap; /* transition: color 0.3s ease; */ } .step-card__desc { font-size: 15px; font-weight: 400; line-height: 26px; color: var(--color-body-text); /* transition: color 0.3s ease; */ } /* ─── Hover: ALL cards turn blue ────────────────── */ .step-card:hover::after { opacity: 0.15; /* dim the pattern so it doesn't clash with the blue bg */ } .step-card__meta svg { color: var(--color-primary); } /* .step-card { color: var(--color-text); } */ .step-card:hover { color: #fff; } .step-card__title, .step-card__desc, .step-card__badge, .step-card__meta svg { transition: color ease 0.3s, border-color ease 0.3s; } .step-card:hover .step-card__title, .step-card:hover .step-card__desc, .step-card:hover .step-card__badge, .step-card:hover .step-card__meta svg { transition-delay: 0.3s; } .step-card:hover .step-card__meta svg { color: #ffffff; } .step-card:hover .step-card__badge { border-color: #ffffff; color: #ffffff; } .step-card:hover .step-card__title { color: #ffffff; } .step-card:hover .step-card__desc { color: #ffffff; } /* ═══════════════════════════════════════════════════════ MAP ═══════════════════════════════════════════════════════ */ .map-card { position: relative; width: 100%; height: 428px; border-radius: 48px; overflow: hidden; box-shadow: 0px 9.5px 15.8px 6.3px rgba(255, 255, 255, 0.05), 0px 3.2px 4.7px 0px rgba(0, 0, 0, 0.1); border: 1px solid rgba(255, 255, 255, 0.02); } .map-card__img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; border-radius: 48px; pointer-events: none; } .map-txt { position: absolute; top: 43%; left: 56%; transform: translate(-50%, -50%); color: #556574; font-size: 12px; z-index: 10; text-shadow: -1px 0 #fff, 1px 0 #fff, 0 -1px #fff, 0 1px #fff, -1px -1px #fff, 1px -1px #fff, -1px 1px #fff, 1px 1px #fff; } .map-txt::before { -webkit-text-stroke: 2px #fff; } .map-card__location { position: absolute; left: 56%; top: 50%; transform: translate(-40%, -50%); width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; } .map-location-dot { position: relative; display: block; width: 18px; height: 18px; background-color: #0274b3; border-radius: 50%; border: 2.2px solid #ffffff; z-index: 100; } .map-card__location::before, .map-card__location::after { content: ''; position: absolute; left: 50%; top: 50%; width: 12px; height: 12px; border-radius: 50%; transform: translate(-50%, -50%); background: #0274b3; z-index: -1; animation: locationPulse 2s infinite ease-out; filter: blur(2px); } .map-location-dot::after { animation-delay: 0s; } .map-card__location::after { animation-delay: 0s; } @keyframes locationPulse { 0% { transform: translate(-50%, -50%) scale(1); opacity: 0.9; } 100% { transform: translate(-50%, -50%) scale(5); opacity: 0; } } .map-card__nav { position: absolute; right: 40px; bottom: 24px; display: flex; gap: 16px; align-items: center; } .map-nav-btn { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background-color: #ffffff; border-radius: 10px; text-decoration: none; font-size: 13px; font-weight: 400; line-height: 24px; color: var(--color-primary); transition: box-shadow 0.2s; white-space: nowrap; } .map-nav-btn:hover { box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12); } .map-nav-btn img { width: 20px; height: 20px; object-fit: contain; flex-shrink: 0; }