/* ========================================================================== AAideA — Responsive Stylesheet Mobile-first overrides on top of style.css. Breakpoints (Bootstrap 5 aligned): xs : < 576px (default / mobile) sm : >= 576px md : >= 768px lg : >= 992px xl : >= 1200px xxl: >= 1400px ========================================================================== */ /* ---------------- GLOBAL TOKENS & BASE ---------------- */ :root { --ux-radius: 14px; --ux-gap: clamp(12px, 2vw, 24px); --ux-section-y: clamp(48px, 8vw, 110px); --ux-container-x: clamp(16px, 4vw, 32px); --ux-tap: 44px; } html { -webkit-text-size-adjust: 100%; } body { overflow-x: hidden; } img, svg, video { max-width: 100%; height: auto; } * { box-sizing: border-box; } .container, .container-fluid { padding-left: var(--ux-container-x); padding-right: var(--ux-container-x); } /* Touch-friendly defaults: every interactive element gets minimum 44px tap target */ .ux-btn-primary, .ux-btn-secondary, .ux-footer-cta-btn, .ux-result-btn, button, a.btn { min-height: var(--ux-tap); display: inline-flex; align-items: center; justify-content: center; } .ux-input, .ux-textarea { width: 100%; font-size: 16px; /* prevent iOS zoom on focus */ } /* ============================================================ HEADER + MOBILE NAVIGATION ============================================================ */ .ux-header { padding: 14px 0; } .ux-navbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; flex-wrap: nowrap; } .ux-navbar img { width: auto; height: auto; max-width: 110px; } .ux-brand { display: inline-flex; align-items: center; } .ux-header-actions { display: flex; align-items: center; gap: 10px; } /* HAMBURGER (mobile only by default) */ .ux-hamburger { width: 40px; height: 40px; display: inline-flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; background: transparent; border: 1px solid rgba(255,255,255,0.18); border-radius: 10px; padding: 0; cursor: pointer; } .ux-hamburger span { display: block; width: 20px; height: 2px; background: #fff; border-radius: 2px; transition: transform .25s ease, opacity .2s ease; } .ux-hamburger.is-active span:nth-child(1) { transform: translateY(7px) rotate(45deg); } .ux-hamburger.is-active span:nth-child(2) { opacity: 0; } .ux-hamburger.is-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); } /* CONTACT TOGGLE: hide the close icon by default and reveal when active */ .ux-menu { width: 40px; height: 40px; background: transparent; border: 0; padding: 0; } .ux-menu .icon {/* width: 100%; *//* height: 100%; */} .ux-menu .close-icon { opacity: 0; transform: rotate(90deg); } .ux-menu.active .open-icon { opacity: 0; transform: rotate(90deg); } .ux-menu.active .close-icon { opacity: 1; transform: rotate(0); } /* OVERLAY (shared by mobile nav + contact panel on small screens) */ .ux-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.55); opacity: 0; pointer-events: none; transition: opacity .3s ease; z-index: 0; } .ux-overlay.active { opacity: 1; pointer-events: auto; } /* MOBILE NAV DRAWER (default = mobile) */ .ux-nav { position: fixed; top: 0; right: 0; width: min(82vw, 320px); height: 100dvh; background: #0e1414; flex-direction: column; gap: 6px; padding: 88px 24px 32px; margin: 0; list-style: none; transform: translateX(100%); transition: transform .35s ease; z-index: 95; box-shadow: -10px 0 40px rgba(0,0,0,0.45); overflow-y: auto; } .ux-nav.is-open { transform: translateX(0); } .ux-nav li {/* width: 100%; */} .ux-nav li a { display: flex; align-items: center; width: 100%; padding: 14px 8px; font-size: 17px; color: #fff; border-bottom: 1px solid rgba(255,255,255,0.06); text-decoration: none; min-height: var(--ux-tap); } .ux-nav .ux-nav-cta a { margin-top: 12px; background: var(--primary); color: #000 !important; border-radius: 30px; justify-content: center; border: 0; padding: 12px 22px; font-weight: 600; } /* CONTACT PANEL: full-width sheet on mobile */ .contact-panel { top: 0; right: -100%; width: min(88vw, 360px); height: 100dvh; border-radius: 0; padding: 80px 22px 24px; overflow-y: auto; z-index: 96; } .contact-panel.active { right: 0; } .contact-panel .images { flex-wrap: wrap; } .contact-panel .images img { width: 72px; height: 72px; } /* ============================================================ HERO ============================================================ */ .ux-hero-section { padding: 120px 0 40px; background-size: cover; background-position: center top; } .ux-hero-title { font-size: clamp(28px, 7vw, 52px); } .ux-hero-subtitle { width: 100%; font-size: 15px; } .ux-hero-actions { flex-wrap: wrap; gap: 12px; margin-top: 28px; } .ux-hero-actions .btn {/* width: 100%; */max-width: 320px;} .ux-bottom-wrapper { margin-top: 40px; } .ux-bottom-wrapper .ux-img-card img { width: 100%; } .ux-stat-box { padding: 24px 20px; } .ux-counter { font-size: 32px; } .ux-dark h2 { font-size: 28px; } .ux-dark h5, .ux-dark p {font-size: 21px;line-height: 1.45;} .ux-about-img{ margin: 0 0 20px; } /* ============================================================ ABOUT SECTION ============================================================ */ .ux-about-section { padding: var(--ux-section-y) 0; } .ux-section-label {/* width: 100%; */} .ux-main-heading { font-size: clamp(20px, 4vw, 32px); } .ux-sub-heading { font-size: 16px; } .ux-big-counter { font-size: clamp(40px, 10vw, 70px); } .ux-small-text { width: 100%; } .ux-about-img { height: auto; max-height: 280px; } .ux-card-text { max-width: 100%; } /* PARTNERS */ .partners-wrapper { grid-template-columns: repeat(2, 1fr); gap: 8px; } .partner-item { height: 80px; } .partner-item img { max-width: 90px; } /* ============================================================ WORK / SWIPER ============================================================ */ .ux-work-section { padding: 30px 0 50px; } .ux-work-card img { height: auto; max-height: 240px; } .ux-work-card h4 { font-size: 17px; } .displayflexhead { width: 100%; flex-direction: column; gap: 10px; } .ux-swiper-nav { gap: 10px; } .ux-swiper-nav .ux-arrow { width: 70px; height: 40px; display: inline-flex; align-items: center; justify-content: center; } /* ============================================================ WHY SECTION ============================================================ */ .ux-why-section { padding: var(--ux-section-y) 0; } .ux-why-img img { height: auto; max-height: 260px; } .ux-why-card { padding: 22px 20px; } .main-headingexit { width: 100%; } /* ============================================================ BUILD / SELL SECTION ============================================================ */ .ux-build-section { padding: var(--ux-section-y) 0; background-size: cover; } .ux-build-card { padding: 26px 22px; } .ux-build-card h5 {} .ux-build-card p {} .ux-build-swiper .swiper-slide { width: 86%; } /* ============================================================ PROCESS SECTION ============================================================ */ .ux-process-section { padding: var(--ux-section-y) 0; } .ux-process-card {/* width: 100%; *//* padding: 24px 22px; */} .ux-step-arrow { display: none; } /* ============================================================ FOOTER CTA + MAIN FOOTER ============================================================ */ .ux-footer-hero { padding: 60px 0; background-size: cover; background-position: center; } .ux-footer-title { font-size: clamp(22px, 5vw, 30px); } .ux-footer-cta-btn { font-size: 16px; padding: 6px 6px 6px 22px; } .ux-footer-cta-btn .ux-btn-icon { width: 38px; height: 38px; } .ux-footer-grid { grid-template-columns: 1fr; border-left: 0; border-right: 0; } .ux-footer-left { padding: 32px 22px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,0.08); } .ux-footer-desc { max-width: 100%; font-size: 15px; line-height: 1.7; } .ux-footer-right { grid-template-columns: repeat(2, 1fr); } .ux-footer-links { padding: 26px 22px; } .ux-footer-links h6 { font-size: 16px; margin-bottom: 12px; } .ux-footer-links a { font-size: 14px; margin-bottom: 10px; } .ux-footer-bottom { flex-direction: column; align-items: flex-start; padding: 18px 22px; gap: 14px; text-align: left; } .ux-footer-bottom p { font-size: 13px; } .ux-footer-social { gap: 14px; flex-wrap: wrap; } /* ============================================================ START PROJECT / BREADCRUMB HERO ============================================================ */ .ux-project-hero { padding: 130px 0 60px; background-size: cover; } .ux-project-title { font-size: clamp(26px, 6vw, 50px); } .ux-project-subtitle { font-size: 15px; } .ux-breadcrumb-wrap { margin-bottom: 36px; flex-wrap: wrap; } .ux-joined-box { position: static; margin: 30px auto 0; justify-content: center; flex-wrap: wrap; } .ux-avatar-group img { width: 48px; height: 48px; border-width: 2px; margin-left: -10px; } /* CONTACT FORM */ .ux-contact-section { padding: 50px 0; } .ux-contact-left, .ux-contact-box {} .ux-contact-email { font-size: clamp(24px, 6vw, 35px); margin-bottom: 36px; } .ux-contact-link { font-size: 18px; } .ux-contact-title { font-size: clamp(20px, 4vw, 26px); margin-bottom: 24px; } .ux-input {} .ux-textarea { font-size: 16px; padding: 16px 18px; } /* CASE ACCORDION */ .ux-case-section { padding: 50px 0; } .ux-case-btn { padding: 22px 22px !important; flex-wrap: wrap; gap: 10px; } .ux-case-head {/* width: 100%; */} .ux-case-head h3 { font-size: clamp(20px, 5vw, 29px); } .ux-case-head p { font-size: 15px; } .ux-case-right { padding-right: 0; margin-left: 0; } .ux-case-body { padding: 0 18px 24px !important; } .ux-case-inner { grid-template-columns: 1fr; gap: 18px; padding: 18px; } .ux-case-img { height: auto; max-height: 220px; } .ux-case-grid { grid-template-columns: 1fr; gap: 18px; } .ux-case-grid strong { font-size: 17px; } /* RESULT / DELIVER */ .ux-result-section { padding: 50px 0; } .ux-result-box { grid-template-columns: 1fr; margin-bottom: 50px; padding: 26px; } .ux-result-left { padding-right: 0; border-right: 0; padding-bottom: 22px; border-bottom: 1px solid #e3e3e3; } .ux-result-right { padding-left: 0; padding-top: 22px; } .ux-build-grid { grid-template-columns: repeat(2, 1fr); } .ux-ai-grid { grid-template-columns: 1fr; } .ux-mini-card { min-height: auto; } .ux-mini-card span { font-size: 32px; top: 8px; right: 12px; } .ux-mini-card p { margin-top: 56px; font-size: 14px; } .ux-deliver-box { grid-template-columns: 1fr; gap: 24px; padding: 26px; } .ux-deliver-center img { height: auto; max-height: 240px; } /* ============================================================ PROCESS STEP CARD ============================================================ */ .ux-process-step-section { padding: 50px 0; } .ux-process-step-box { padding: 24px 22px; margin: 0 0 28px; } .ux-process-title { font-size: clamp(20px, 5vw, 28px); } .ux-process-grid { grid-template-columns: 1fr; gap: 24px; } .ux-process-image img { height: auto; max-height: 280px; } .ux-process-content { padding-right: 0; } .ux-process-item { margin-bottom: 22px; } /* SYSTEMS WRAPPER */ .systems-wrapper { flex-direction: column; gap: 30px; padding: 40px 0; } .systems-left, .systems-right { width: 100%; } .systems-left { position: static; } .systems-left .desc { width: 100%; } .system-card { padding: 22px; } .system-card ul { grid-template-columns: 1fr; } /* CONNECT SECTION (FLOW) */ .connect-section { padding: 50px 0 30px; } .connect-section h2 { font-size: clamp(22px, 5vw, 30px); } .connect-flow { gap: 8px; } .flow-item { padding: 8px 18px 8px 8px; font-size: 13px; } .arrow { display: none; } .bottom-text { font-size: 17px; margin: 30px auto; } /* APPROACH / DELIVER */ .ux-approach-section { padding: 60px 0; } .ux-section-desc { font-size: 16px; margin-left: 0; max-width: 100%; } .ux-card { padding: 22px 20px; } .ux-card-top { margin-bottom: 22px; } .ux-card h4 { font-size: 19px; } .ux-deliver-section { padding: 30px 0 60px; } .ux-snapshot-box { padding: 28px 24px; } .ux-snapshot-box h2 { font-size: clamp(30px, 8vw, 48px); } .ux-snapshot-box p { font-size: 17px; } /* GROWTH SECTION */ .ux-growth-section { margin: 24px auto; padding: 30px 0; } .ux-growth-title { font-size: clamp(22px, 5vw, 30px); } .ux-growth-bottom { font-size: 17px; } /* BREACAMP OFFLINE TEXT BLOCK */ .breacampoffline { flex-direction: column; gap: 14px; margin: 30px auto 0; align-items: stretch; } .breacampoffline p { width: 100%; } /* ========================================================================== >= 576px (sm) ========================================================================== */ @media (min-width: 576px) { .ux-hero-actions .btn { width: auto; } .partners-wrapper { grid-template-columns: repeat(3, 1fr); } .ux-build-grid { grid-template-columns: repeat(2, 1fr); } .ux-ai-grid { grid-template-columns: repeat(2, 1fr); } .ux-footer-right { grid-template-columns: repeat(3, 1fr); } .ux-build-swiper .swiper-slide { width: 60%; } } /* ========================================================================== >= 768px (md / tablet) ========================================================================== */ @media (min-width: 768px) { .ux-header { padding: 18px 0; } .ux-navbar { padding: 14px 22px; } .ux-hero-section { padding: 160px 0 50px; } .ux-hero-subtitle { width: 80%; } .partners-wrapper { grid-template-columns: repeat(4, 1fr); } .partner-item { height: 90px; } .ux-case-inner { grid-template-columns: 280px 1fr; } .ux-case-grid { grid-template-columns: repeat(2, 1fr); } .ux-result-box { grid-template-columns: 1.3fr .9fr; } .ux-result-left { padding-right: 26px; padding-bottom: 0; border-right: 1px solid #e3e3e3; border-bottom: 0; } .ux-result-right { padding-left: 30px; padding-top: 0; } .ux-build-grid { grid-template-columns: repeat(3, 1fr); } .ux-ai-grid { grid-template-columns: repeat(3, 1fr); } .ux-deliver-box { grid-template-columns: .9fr 1fr .8fr; } .ux-process-grid { grid-template-columns: 1fr 1fr; } .ux-footer-grid { grid-template-columns: 1.1fr 1fr; } .ux-footer-left { padding: 38px 32px; border-right: 1px solid rgba(255,255,255,0.08); border-bottom: 0; } .ux-footer-bottom { flex-direction: row; align-items: center; text-align: left; padding: 18px 28px; } .systems-wrapper { padding: 60px 0; } .ux-build-swiper .swiper-slide { width: 45%; } } /* ========================================================================== >= 992px (lg / desktop) — restore original desktop nav ========================================================================== */ @media (min-width: 992px) { .ux-header { padding: 20px 0; } .ux-navbar { padding: 15px 25px; } .ux-hamburger { display: none; } .ux-nav { position: static; width: auto; height: auto; background: transparent; flex-direction: row; gap: 30px; padding: 0; transform: none; box-shadow: none; overflow: visible; } .ux-nav li a { padding: 0; border-bottom: 0; font-size: 16px; min-height: auto; } .ux-nav .ux-nav-cta a { margin-top: 0; background: transparent; color: var(--primary) !important; padding: 0; font-weight: 400; } /* Contact panel returns to floating card */ .contact-panel { top: 100px; right: -350px; width: 320px; height: auto; border-radius: 12px; padding: 20px; } .contact-panel.active { right: 40px; } .ux-overlay { display: none; } .ux-hero-section { padding: 200px 0 60px; } .ux-hero-subtitle { width: 60%; } .partners-wrapper { grid-template-columns: repeat(6, 1fr); } .partner-item { height: 100px; } .partner-item img { max-width: 120px; } .ux-build-grid { grid-template-columns: repeat(4, 1fr); } .ux-build-swiper .swiper-slide { width: 330px; } .ux-joined-box { position: absolute; right: 8%; bottom: 50px; margin: 0; flex-wrap: nowrap; } .ux-avatar-group img { width: 64px; height: 64px; border-width: 3px; margin-left: -14px; } .ux-step-arrow { display: block; } .systems-wrapper { flex-direction: row; gap: 80px; padding: 80px 20px; } .systems-left { width: 45%; position: sticky; top: 90px; } .systems-right { width: 65%; } .systems-left .desc { width: 70%; } .system-card ul { grid-template-columns: 1fr 1fr; } .breacampoffline { flex-direction: row; align-items: self-start; gap: 20px; justify-content: center; } .breacampoffline p { width: 33%; } .displayflexhead { flex-direction: row; width: 62%; gap: 0; } .arrow { display: inline; } .flow-item { padding: 10px 40px 10px 10px; font-size: 14px; } } /* ========================================================================== >= 1200px (xl) ========================================================================== */ @media (min-width: 1200px) { .ux-hero-section { padding: 200px 0 60px; } .ux-project-hero { padding: 190px 0 100px; } } /* ========================================================================== Reduced motion respect ========================================================================== */ @media (prefers-reduced-motion: reduce) { .ux-nav, .contact-panel, .ux-overlay, .ux-hamburger span, .ux-menu .icon { transition: none !important; } }