Skip to main content

Autoflo Technology

Cashcrop Farming | Autoflo Technology :root { --accent: #800059; --accent-dk: #5A003E; --accent-tint: #FAEEF5; --cta-bg: #FEBE4F; --cta-text: #331A00; --dark-bg: #2A001D; --dark-border: rgba(255,255,255,0.12); --dark-muted: rgba(255,255,255,0.7); --bg: #FFFFFF; --bg-section: #F8F9FA; --bg-alt: #F3F4F6; --text: #111827; --muted: #4B5563; --border: #E5E7EB; --container: 1240px; --transition: 0.3s cubic-bezier(0.22, 1, 0.36, 1); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { scroll-behavior: smooth; overflow-x: clip; width: 100%; margin: 0; padding: 0; } body { font-family: 'Inter', system-ui, sans-serif; background: var(--bg); color: var(--text); font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; overflow-x: clip; } a { color: inherit; text-decoration: none; } img { display: block; max-width: 100%; } ul { list-style: none; } button { font-family: inherit; cursor: pointer; border: none; background: none; } .container { max-width: var(--container); margin: 0 auto; padding: 0 40px; position: relative; z-index: 2; } /* ── BUTTONS ── */ .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 14px; font-weight: 600; border-radius: 4px; padding: 14px 32px; transition: var(--transition); white-space: nowrap; position: relative; overflow: hidden; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); } .btn::after { content: ''; position: absolute; top: 0; left: -100%; width: 50%; height: 100%; background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.2) 50%, rgba(255,255,255,0) 100%); transform: skewX(-25deg); transition: left 0.6s cubic-bezier(0.22, 1, 0.36, 1); pointer-events: none; } .btn:hover::after { left: 150%; } .btn-accent { background: linear-gradient(135deg, #ffd080 0%, #FEBE4F 100%); color: var(--cta-text); box-shadow: 0 4px 12px rgba(254,190,79,0.2); border: 1px solid rgba(255,255,255,0.3); } .btn-accent:hover { background: linear-gradient(135deg, #ffe9a8 0%, #ffd080 100%); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(254,190,79,0.3); } .btn-white-ghost { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.3); color: #fff; } .btn-white-ghost:hover { background: rgba(255, 255, 255, 0.15); border-color: #fff; transform: translateY(-2px); } /* ── NAV ── */ .nav { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; height: 76px; background: transparent; border-bottom: 1px solid transparent; transition: background 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; } .nav.scrolled { background: rgba(77,0,54,0.95); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-bottom: 1px solid rgba(255,255,255,0.08); box-shadow: 0 10px 30px rgba(0,0,0,0.2); } .nav-inner { max-width: var(--container); margin: 0 auto; padding: 0 40px; height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; } .nav-logo img { height: 42px; width: auto; } .nav-menu { display: flex; align-items: center; gap: 32px; } .nav-item { position: relative; height: 76px; display: flex; align-items: center; } .nav-link { font-size: 14px; font-weight: 500; color: rgba(255, 255, 255, 0.9); display: inline-flex; align-items: center; gap: 6px; transition: var(--transition); text-shadow: 0 1px 4px rgba(0,0,0,0.3); } .nav-link:hover { color: var(--cta-bg); } .nav-item:hover .nav-link svg { transform: rotate(180deg); transition: transform 0.3s ease; } .dropdown { position: absolute; top: 76px; left: -16px; min-width: 320px; background: var(--bg); border: 1px solid var(--border); box-shadow: 0 12px 40px rgba(0,0,0,0.08); border-radius: 6px; padding: 12px; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.3s; max-height: 70vh; overflow-y: auto; } .nav-item:hover .dropdown { opacity: 1; visibility: visible; transform: translateY(0); } .dropdown a { display: block; font-size: 14px; font-weight: 500; color: var(--muted); padding: 10px 16px; border-radius: 4px; transition: var(--transition); } .dropdown a:hover { color: var(--accent); background: var(--accent-tint); padding-left: 20px; text-shadow: none; } .nav-toggle { display: none; flex-direction: column; gap: 5px; padding: 6px; z-index: 2001; } .nav-toggle span { display: block; width: 24px; height: 2px; background: #fff; transition: var(--transition); } .mobile-menu { position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; z-index: 2000; background: var(--dark-bg); padding: 80px 32px 40px; transform: translateX(100%); transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1); overflow-y: auto; display: flex; flex-direction: column; } .mobile-menu.is-open { transform: translateX(0); } .mobile-close { position: absolute; top: 24px; right: 28px; font-size: 32px; color: #fff; padding: 8px; line-height: 1; border: none; background: transparent; cursor: pointer; } .mobile-group { margin-bottom: 24px; } .mobile-group span { display: block; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--cta-bg); margin-bottom: 12px; } .mobile-group a { display: block; font-size: 16px; color: #fff; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,0.1); text-decoration: none; } .mobile-group a:last-child { border-bottom: none; } .mobile-menu .btn { width: 100%; margin-top: 16px; } /* ── HERO — matches T1/Market T1-T2 standard ── */ .page-hero { background: linear-gradient(135deg, rgba(42,0,29,1) 0%, rgba(128,0,89,0.85) 100%); padding: 130px 0 80px; position: relative; overflow: hidden; min-height: 550px; } .page-hero::before { content: ''; position: absolute; inset: 0; z-index: 2; background: linear-gradient(135deg, rgba(42,0,29,0.95) 0%, rgba(128,0,89,0.75) 100%); } .page-hero-inner { position: relative; z-index: 2; padding-bottom: 0; } .page-hero-label { display: block; color: var(--cta-bg); font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 16px; } .breadcrumb { display: flex; align-items: center; gap: 8px; margin-bottom: 20px; font-size: 13px; color: rgba(255,255,255,0.45); flex-wrap: wrap; } .breadcrumb a { color: rgba(255,255,255,0.45); transition: color 0.2s; } .breadcrumb a:hover { color: var(--cta-bg); } .breadcrumb-sep { color: rgba(255,255,255,0.25); } .page-hero h1 { font-family: 'Outfit', system-ui, sans-serif; font-size: 56px; font-weight: 700; color: #fff; letter-spacing: -0.02em; line-height: 1.08; margin: 0 0 24px; } .page-hero-desc { font-size: 17px; color: rgba(255,255,255,0.7); line-height: 1.65; max-width: 580px; margin-bottom: 40px; } .page-hero-ctas { display: flex; gap: 16px; justify-content: flex-start; flex-wrap: wrap; } /* ── REVEAL ── */ .reveal { opacity: 0; transform: translateY(30px); transition: opacity 0.8s ease, transform 0.8s ease; } .reveal.is-visible { opacity: 1; transform: translateY(0); } /* ── RESPONSIVE ── */ @media (max-width: 1024px) { .container { padding: 0 24px; } } @media (max-width: 767px) { .nav-menu, .nav-cta { display: none; } .nav-toggle { display: flex; } .page-hero { padding: 110px 0 60px; min-height: 480px; } .page-hero h1 { font-size: 40px; } .page-hero-desc { font-size: 15px; margin-bottom: 32px; } .page-hero-ctas { flex-direction: column; gap: 12px; } .page-hero-ctas .btn { width: 100%; justify-content: center; } } @media (max-width: 480px) { .page-hero { padding: 100px 0 48px; min-height: 420px; } .page-hero h1 { font-size: 32px; } .breadcrumb { font-size: 12px; gap: 6px; } }
Agriculture · Use Case

Cashcrop Farming

From water source to root zone, we enable intelligent water and chemical management through precision irrigation, fertigation systems, water quality management, automation, and smart farming technologies.

(function () { const nav = document.getElementById('mainNav'); const navToggle = document.getElementById('navToggle'); const mobileMenu = document.getElementById('mobileMenu'); const mobileClose = document.getElementById('mobileClose'); if (navToggle && mobileMenu && mobileClose) { navToggle.addEventListener('click', () => mobileMenu.classList.add('is-open')); mobileClose.addEventListener('click', () => mobileMenu.classList.remove('is-open')); } const revealObs = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add('is-visible'); revealObs.unobserve(entry.target); } }); }, { threshold: 0.1 }); document.querySelectorAll('.reveal, .stagger-children').forEach(el => revealObs.observe(el)); window.addEventListener('scroll', () => { nav.classList.toggle('scrolled', window.scrollY > 20); }, { passive: true }); })();
:root { --accent: #800059; --accent-dk: #5A003E; --accent-tint: #FAEEF5; --cta-bg: #FEBE4F; --cta-text: #331A00; --dark-bg: #2A001D; --dark-border: rgba(255,255,255,0.12); --dark-muted: rgba(255,255,255,0.7); --bg: #FFFFFF; --bg-section: #F8F9FA; --bg-alt: #F3F4F6; --text: #111827; --muted: #4B5563; --border: #E5E7EB; --container: 1240px; --transition: 0.3s cubic-bezier(0.22, 1, 0.36, 1); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { scroll-behavior: smooth; overflow-x: clip; width: 100%; margin: 0; padding: 0; } body { font-family: 'Inter', system-ui, sans-serif; background: var(--bg); color: var(--text); font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; overflow-x: clip; } a { color: inherit; text-decoration: none; } img { display: block; max-width: 100%; } ul { list-style: none; } button { font-family: inherit; cursor: pointer; border: none; background: none; } .container { max-width: var(--container); margin: 0 auto; padding: 0 40px; position: relative; z-index: 2; } section { padding: 100px 0; position: relative; } .label { font-size: 14px; font-weight: 600; letter-spacing: 0.05em; color: var(--accent); text-transform: uppercase; display: inline-block; margin-bottom: 8px; } .section-heading { font-family: 'Outfit', system-ui, sans-serif; font-size: clamp(32px, 4vw, 40px); font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; color: var(--text); margin-top: 4px; } .section-sub { font-size: 17px; color: var(--muted); max-width: 680px; margin-top: 18px; line-height: 1.6; } .section-head-wrap { margin-bottom: 56px; } /* ── BUTTONS ── */ .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 14px; font-weight: 600; border-radius: 4px; padding: 14px 32px; transition: var(--transition); white-space: nowrap; position: relative; overflow: hidden; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); } .btn::after { content: ''; position: absolute; top: 0; left: -100%; width: 50%; height: 100%; background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.2) 50%, rgba(255,255,255,0) 100%); transform: skewX(-25deg); transition: left 0.6s cubic-bezier(0.22, 1, 0.36, 1); pointer-events: none; } .btn:hover::after { left: 150%; } .btn-accent { background: linear-gradient(135deg, #ffd080 0%, #FEBE4F 100%); color: var(--cta-text); box-shadow: 0 4px 12px rgba(254,190,79,0.2); border: 1px solid rgba(255,255,255,0.3); } .btn-accent:hover { background: linear-gradient(135deg, #ffe9a8 0%, #ffd080 100%); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(254,190,79,0.3); } .btn-dark { background: linear-gradient(135deg, #9b006c 0%, #800059 100%); color: #fff; box-shadow: 0 4px 12px rgba(128,0,89,0.2); border: 1px solid rgba(255,255,255,0.1); } .btn-dark:hover { background: linear-gradient(135deg, #b3007c 0%, #9b006c 100%); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(128,0,89,0.3); } .btn-ghost { background: transparent; color: var(--accent); border: 1px solid rgba(128,0,89,0.25); padding: 10px 20px; font-size: 13px; font-weight: 600; border-radius: 4px; display: inline-flex; align-items: center; gap: 6px; transition: all 0.2s; } .btn-ghost:hover { background: var(--accent-tint); border-color: var(--accent); } /* ── NAV ── */ .nav { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; height: 76px; background: transparent; border-bottom: 1px solid transparent; transition: background 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; } .nav.scrolled { background: rgba(77,0,54,0.95); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-bottom: 1px solid rgba(255,255,255,0.08); box-shadow: 0 10px 30px rgba(0,0,0,0.2); } .nav-inner { max-width: var(--container); margin: 0 auto; padding: 0 40px; height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; } .nav-logo img { height: 42px; width: auto; } .nav-menu { display: flex; align-items: center; gap: 32px; } .nav-item { position: relative; height: 76px; display: flex; align-items: center; } .nav-link { font-size: 14px; font-weight: 500; color: rgba(255, 255, 255, 0.9); display: inline-flex; align-items: center; gap: 6px; transition: var(--transition); text-shadow: 0 1px 4px rgba(0,0,0,0.3); } .nav-link:hover { color: var(--cta-bg); } .nav-item:hover .nav-link svg { transform: rotate(180deg); transition: transform 0.3s ease; } .dropdown { position: absolute; top: 76px; left: -16px; min-width: 320px; background: var(--bg); border: 1px solid var(--border); box-shadow: 0 12px 40px rgba(0,0,0,0.08); border-radius: 6px; padding: 12px; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.3s; max-height: 70vh; overflow-y: auto; } .nav-item:hover .dropdown { opacity: 1; visibility: visible; transform: translateY(0); } .dropdown a { display: block; font-size: 14px; font-weight: 500; color: var(--muted); padding: 10px 16px; border-radius: 4px; transition: var(--transition); } .dropdown a:hover { color: var(--accent); background: var(--accent-tint); padding-left: 20px; text-shadow: none; } .nav-toggle { display: none; flex-direction: column; gap: 5px; padding: 6px; z-index: 2001; } .nav-toggle span { display: block; width: 24px; height: 2px; background: #fff; transition: var(--transition); } .mobile-menu { position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; z-index: 2000; background: var(--dark-bg); padding: 80px 32px 40px; transform: translateX(100%); transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1); overflow-y: auto; display: flex; flex-direction: column; } .mobile-menu.is-open { transform: translateX(0); } .mobile-close { position: absolute; top: 24px; right: 28px; font-size: 32px; color: #fff; padding: 8px; line-height: 1; border: none; background: transparent; cursor: pointer; } .mobile-group { margin-bottom: 24px; } .mobile-group span { display: block; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--cta-bg); margin-bottom: 12px; } .mobile-group a { display: block; font-size: 16px; color: #fff; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,0.1); text-decoration: none; } .mobile-group a:last-child { border-bottom: none; } .mobile-menu .btn { width: 100%; margin-top: 16px; } /* ── HERO — matches T1/Market T1-T2 standard ── */ .page-hero { background: linear-gradient(135deg, rgba(42,0,29,1) 0%, rgba(128,0,89,0.85) 100%); padding: 130px 0 0; position: relative; overflow: hidden; min-height: 550px; } .page-hero::before { content: ''; position: absolute; inset: 0; z-index: 2; background: linear-gradient(135deg, rgba(42,0,29,0.95) 0%, rgba(128,0,89,0.75) 100%); } .page-hero-inner { position: relative; z-index: 2; padding-bottom: 0; } .page-hero-label { display: block; color: var(--cta-bg); font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 16px; } .breadcrumb { display: flex; align-items: center; gap: 8px; margin-bottom: 20px; font-size: 13px; color: rgba(255,255,255,0.45); flex-wrap: wrap; } .breadcrumb a { color: rgba(255,255,255,0.45); transition: color 0.2s; } .breadcrumb a:hover { color: var(--cta-bg); } .breadcrumb-sep { color: rgba(255,255,255,0.25); } .page-hero h1 { font-family: 'Outfit', system-ui, sans-serif; font-size: 56px; font-weight: 700; color: #fff; letter-spacing: -0.02em; line-height: 1.08; margin: 0 0 24px; } .page-hero-desc { font-size: 17px; color: rgba(255,255,255,0.7); line-height: 1.65; max-width: 580px; margin-bottom: 40px; } .page-hero-ctas { display: flex; gap: 16px; justify-content: flex-start; flex-wrap: wrap; } .btn-white-ghost { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.3); color: #fff; } .btn-white-ghost:hover { background: rgba(255, 255, 255, 0.15); border-color: #fff; transform: translateY(-2px); } /* ── DESCRIPTION / OVERVIEW ── */ .overview-section { background: var(--bg-section); } .overview-box { background: var(--bg); border: 1px solid var(--border); border-radius: 16px; padding: 56px; box-shadow: 0 2px 16px rgba(0,0,0,0.04); } .overview-box .label { margin-bottom: 16px; } .overview-box h2 { font-family: 'Outfit', system-ui, sans-serif; font-size: clamp(28px, 3vw, 36px); font-weight: 700; color: var(--text); letter-spacing: -0.01em; line-height: 1.2; margin-bottom: 20px; } .overview-box h5 { font-family: 'Outfit', system-ui, sans-serif; font-size: clamp(14px, 3vw, 18px); font-weight: 700; color: var(--text); letter-spacing: -0.01em; line-height: 1.2; margin-bottom: 20px; } .overview-box p { font-size: 17px; color: var(--muted); line-height: 1.8; margin-bottom: 20px; max-width: 760px; } .overview-box p:last-of-type { margin-bottom: 0; } .overview-related { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--border); display: flex; align-items: center; gap: 16px; flex-wrap: wrap; } .overview-related-label { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); } .overview-related-chips { display: flex; flex-wrap: wrap; gap: 8px; } .product-chip { font-size: 13px; font-weight: 600; color: var(--accent); background: var(--accent-tint); border: 1px solid rgba(128,0,89,0.15); padding: 6px 14px; border-radius: 4px; transition: all 0.2s; } .product-chip:hover { background: var(--accent); color: #fff; border-color: var(--accent); } /* ── CASE STUDIES ── */ .cases-section { background: var(--bg); } .case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; } .case-card { display: flex; flex-direction: column; text-decoration: none; border-radius: 12px; overflow: hidden; background: var(--bg); border: 1px solid var(--border); transition: all 0.3s ease; } .case-card:hover { transform: translateY(-6px); box-shadow: 0 16px 32px rgba(0,0,0,0.06); border-color: rgba(128, 0, 89, 0.2); } .case-card-img { aspect-ratio: 4/3; overflow: hidden; background: var(--bg-alt); } .case-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; } .case-card:hover .case-card-img img { transform: scale(1.05); } .case-card-body { padding: 20px 24px 24px; display: flex; flex-direction: column; gap: 8px; } .case-card-tag { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); } .case-card-body h3 { font-family: 'Outfit', system-ui, sans-serif; font-size: 18px; font-weight: 700; color: var(--text); letter-spacing: -0.01em; line-height: 1.3; } .case-card-body p { font-size: 14px; color: var(--muted); line-height: 1.6; } /* ── LATEST RESOURCES — matches T4/T5 ── */ .related-label { font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent); margin-bottom: 8px; } .resources-section { background: var(--bg-section); } .resources-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 36px; } .resources-title { font-family: 'Outfit', sans-serif; font-size: 28px; font-weight: 700; color: var(--text); letter-spacing: -0.02em; } .resources-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; } .resource-card { background: var(--bg); border: 1px solid var(--border); border-radius: 10px; padding: 24px; display: flex; flex-direction: column; gap: 10px; transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s; position: relative; overflow: hidden; } .resource-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; opacity: 0; transition: opacity 0.3s; } .resource-card.type-article::before { background: var(--accent); } .resource-card.type-case::before { background: var(--cta-bg); } .resource-card:hover { border-color: rgba(128,0,89,0.25); box-shadow: 0 10px 28px rgba(0,0,0,0.06); transform: translateY(-4px); } .resource-card:hover::before { opacity: 1; } .resource-card-tag { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; } .resource-card.type-article .resource-card-tag { color: var(--accent); } .resource-card.type-case .resource-card-tag { color: #b38000; } .resource-card-title { font-family: 'Outfit', sans-serif; font-size: 15px; font-weight: 700; color: var(--text); line-height: 1.35; letter-spacing: -0.01em; flex: 1; } .resource-card-meta { font-size: 12px; color: var(--muted); padding-top: 12px; border-top: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; } .resource-card-link { font-size: 12px; font-weight: 600; color: var(--accent); display: inline-flex; align-items: center; gap: 5px; transition: gap 0.2s; } .resource-card:hover .resource-card-link { gap: 8px; } /* ── FOOTER (matches T1-T5 standard) ── */ .footer { background: var(--dark-bg); padding-top: 80px; } .footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 2.2fr; gap: 40px; } .footer-logo { height: 40px; width: auto; margin-bottom: 24px; filter: brightness(0) invert(1); } .footer-brand .tagline { font-size: 15px; color: var(--dark-muted); margin-bottom: 16px; max-width: 280px; line-height: 1.4; } .footer-contact li { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 6px; font-size: 14px; color: var(--dark-muted); } .footer-contact .ci { width: 18px; height: 18px; color: var(--cta-bg); flex-shrink: 0; margin-top: 2px; } .footer-col h4 { font-size: 14px; color: #fff; margin-bottom: 16px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; } .footer-col ul li { margin-bottom: 6px; } .footer-col a { font-size: 15px; color: var(--dark-muted); transition: var(--transition); } .footer-col a:hover { color: var(--cta-bg); } .footer-col.products-col ul { column-count: 2; column-gap: 32px; } .footer-col.products-col ul li { break-inside: avoid; page-break-inside: avoid; } .footer-socials { display: flex; gap: 12px; margin-top: 24px; } .footer-socials a { width: 36px; height: 36px; border: 1px solid var(--dark-border); border-radius: 6px; display: flex; align-items: center; justify-content: center; color: var(--dark-muted); background: rgba(255,255,255,0.03); transition: var(--transition); } .footer-socials a:hover { color: var(--dark-bg); background: var(--cta-bg); border-color: var(--cta-bg); transform: translateY(-2px); } .footer-socials svg { width: 18px; height: 18px; } .footer-bottom { border-top: 1px solid var(--dark-border); margin-top: 64px; padding: 24px 0; display: flex; flex-direction: column; align-items: center; gap: 16px; font-size: 13px; color: var(--dark-muted); } .footer-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; list-style: none; padding: 0; margin: 0; } .footer-legal a { color: var(--dark-muted); transition: var(--transition); } .footer-legal a:hover { color: var(--cta-bg); } @media (min-width: 768px) { .footer-bottom { flex-direction: row; justify-content: space-between; text-align: left; } } /* ── REVEAL ── */ .reveal { opacity: 1; transform: translateY(0); } .stagger-children > * { opacity: 1; transform: translateY(0); } .stagger-children.is-visible > * { opacity: 1; transform: translateY(0); } .stagger-children.is-visible > *:nth-child(1) { transition-delay: 0.06s; } .stagger-children.is-visible > *:nth-child(2) { transition-delay: 0.12s; } .stagger-children.is-visible > *:nth-child(3) { transition-delay: 0.18s; } .stagger-children.is-visible > *:nth-child(4) { transition-delay: 0.24s; } /* ── RESPONSIVE ── */ @media (max-width: 1024px) { .container { padding: 0 24px; } .footer-grid { grid-template-columns: 1fr 1fr; gap: 48px; } .footer-col.products-col { grid-column: span 2; } .resources-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 900px) { .case-grid { grid-template-columns: 1fr 1fr; } .overview-box { padding: 36px; } } @media (max-width: 767px) { .nav-menu, .nav-cta { display: none; } .nav-toggle { display: flex; } .page-hero h1 { font-size: 40px; } .case-grid { grid-template-columns: 1fr; } .resources-grid { grid-template-columns: 1fr; } .resources-header { flex-direction: column; align-items: flex-start; gap: 12px; } .overview-box { padding: 28px; } .footer-grid { grid-template-columns: 1fr; gap: 40px; } .footer-col.products-col { grid-column: span 1; } .footer-col.products-col ul { column-count: 1; } .footer-bottom { flex-direction: column; align-items: flex-start; } }
Overview

Intelligent Water & Chemical Management for Modern Cash Crop Farming

Successful cash crop farming depends on far more than fertilisers and irrigation equipment. Consistent yields are built on how water is sourced, treated, delivered, monitored, and managed throughout the entire farm.

At Autoflo Technology, we help growers improve every stage of this process through intelligent chemical and water management technologies. From water supply automation and precision irrigation to fertigation systems, water quality management, and smart farming solutions, we enable farms to operate more efficiently while improving productivity, resource utilization, and long-term reliability.

Precision Irrigation System Design

Every irrigation system begins with proper hydraulic design. Selecting pumps based solely on horsepower or installing irrigation lines without hydraulic calculations often results in uneven water distribution, excessive energy consumption, and poor irrigation performance. We design and build precision irrigation systems that deliver the right flow and pressure throughout the farm, ensuring every irrigation zone receives the water it requires for consistent crop development.

Fertigation System

A well-designed fertigation system ensures nutrients are delivered accurately through the irrigation network, allowing crops to receive the right fertiliser concentration at the right time. As a pioneer of fertigation systems in Malaysia since 2005, Autoflo Technology supplies proven dosing technologies that provide consistent fertiliser injection while reducing manual labour, fertiliser wastage, and application errors. Whether for open-field cultivation, protected agriculture, or commercial plantations, our fertigation solutions are engineered to improve nutrient management and crop performance.

Water Supply Automation

Reliable irrigation starts with reliable water supply.Our automation solutions help manage pumps, storage tanks, reservoirs, and distribution networks automatically, ensuring water is available when required while minimizing unnecessary pump operation, reducing labour, and protecting equipment from dry running and overflow conditions.

Water Quality Management

Water quality directly affects irrigation performance, fertiliser effectiveness, and crop health. We provide technologies for filtration, pH adjustment, iron oxidation and removal, suspended solids treatment, and coagulation where conventional filtration alone is insufficient. By improving water quality before it enters the irrigation network, farms experience fewer blockages, more effective nutrient delivery, and healthier crop development.

Smart Farming Solutions

Modern farming requires more than automation—it requires better decision-making.Our smart farming solutions combine sensors, controllers, and monitoring technologies to provide real-time visibility into irrigation and water management systems. By making operational data readily available, growers can make informed decisions, optimize resource usage, and respond quickly to changing field conditions.

Irrigation Line Cleaning & Disinfection

Even well-designed irrigation systems gradually accumulate biofilm, mineral deposits, algae, and bacteria that restrict flow and reduce irrigation uniformity.We provide chemical dosing and cleaning solutions for routine irrigation line maintenance, helping restore flow, maintain emitter performance, extend system lifespan, and improve the effectiveness of fertiliser application.

Water Conditioning Technologies

Beyond conventional water treatment, certain applications can benefit from improved water conditioning.Our SKW water conditioning technologies help optimize water characteristics for agricultural use, supporting improved water penetration, absorption, and overall irrigation effectiveness without relying solely on chemical treatment.

A Complete Solution for Cash Crop Farming

Autoflo Technology combines dosing, flow, and control technologies to help growers manage water and fertilisers more intelligently. By improving irrigation design, fertigation, automation, water quality, and system reliability, we enable farms to increase productivity while making better use of water, chemicals, energy, and labour.

:root { --accent: #800059; --accent-dk: #5A003E; --accent-tint: #FAEEF5; --cta-bg: #FEBE4F; --cta-text: #331A00; --dark-bg: #2A001D; --dark-border: rgba(255,255,255,0.12); --dark-muted: rgba(255,255,255,0.7); --bg: #FFFFFF; --bg-section: #F8F9FA; --bg-alt: #F3F4F6; --text: #111827; --muted: #4B5563; --border: #E5E7EB; --container: 1240px; --transition: 0.3s cubic-bezier(0.22, 1, 0.36, 1); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { scroll-behavior: smooth; overflow-x: clip; width: 100%; margin: 0; padding: 0; } body { font-family: 'Inter', system-ui, sans-serif; background: var(--bg); color: var(--text); font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; overflow-x: clip; } a { color: inherit; text-decoration: none; } img { display: block; max-width: 100%; } ul { list-style: none; } button { font-family: inherit; cursor: pointer; border: none; background: none; } .container { max-width: var(--container); margin: 0 auto; padding: 0 40px; position: relative; z-index: 2; } section { padding: 100px 0; position: relative; } .label { font-size: 14px; font-weight: 600; letter-spacing: 0.05em; color: var(--accent); text-transform: uppercase; display: inline-block; margin-bottom: 8px; } .section-heading { font-family: 'Outfit', system-ui, sans-serif; font-size: clamp(32px, 4vw, 40px); font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; color: var(--text); margin-top: 4px; } .section-sub { font-size: 17px; color: var(--muted); max-width: 680px; margin-top: 18px; line-height: 1.6; } .section-head-wrap { margin-bottom: 56px; } /* ── BUTTONS ── */ .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 14px; font-weight: 600; border-radius: 4px; padding: 14px 32px; transition: var(--transition); white-space: nowrap; position: relative; overflow: hidden; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); } .btn::after { content: ''; position: absolute; top: 0; left: -100%; width: 50%; height: 100%; background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.2) 50%, rgba(255,255,255,0) 100%); transform: skewX(-25deg); transition: left 0.6s cubic-bezier(0.22, 1, 0.36, 1); pointer-events: none; } .btn:hover::after { left: 150%; } .btn-accent { background: linear-gradient(135deg, #ffd080 0%, #FEBE4F 100%); color: var(--cta-text); box-shadow: 0 4px 12px rgba(254,190,79,0.2); border: 1px solid rgba(255,255,255,0.3); } .btn-accent:hover { background: linear-gradient(135deg, #ffe9a8 0%, #ffd080 100%); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(254,190,79,0.3); } .btn-dark { background: linear-gradient(135deg, #9b006c 0%, #800059 100%); color: #fff; box-shadow: 0 4px 12px rgba(128,0,89,0.2); border: 1px solid rgba(255,255,255,0.1); } .btn-dark:hover { background: linear-gradient(135deg, #b3007c 0%, #9b006c 100%); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(128,0,89,0.3); } .btn-ghost { background: transparent; color: var(--accent); border: 1px solid rgba(128,0,89,0.25); padding: 10px 20px; font-size: 13px; font-weight: 600; border-radius: 4px; display: inline-flex; align-items: center; gap: 6px; transition: all 0.2s; } .btn-ghost:hover { background: var(--accent-tint); border-color: var(--accent); } /* ── NAV ── */ .nav { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; height: 76px; background: transparent; border-bottom: 1px solid transparent; transition: background 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; } .nav.scrolled { background: rgba(77,0,54,0.95); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-bottom: 1px solid rgba(255,255,255,0.08); box-shadow: 0 10px 30px rgba(0,0,0,0.2); } .nav-inner { max-width: var(--container); margin: 0 auto; padding: 0 40px; height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; } .nav-logo img { height: 42px; width: auto; } .nav-menu { display: flex; align-items: center; gap: 32px; } .nav-item { position: relative; height: 76px; display: flex; align-items: center; } .nav-link { font-size: 14px; font-weight: 500; color: rgba(255, 255, 255, 0.9); display: inline-flex; align-items: center; gap: 6px; transition: var(--transition); text-shadow: 0 1px 4px rgba(0,0,0,0.3); } .nav-link:hover { color: var(--cta-bg); } .nav-item:hover .nav-link svg { transform: rotate(180deg); transition: transform 0.3s ease; } .dropdown { position: absolute; top: 76px; left: -16px; min-width: 320px; background: var(--bg); border: 1px solid var(--border); box-shadow: 0 12px 40px rgba(0,0,0,0.08); border-radius: 6px; padding: 12px; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.3s; max-height: 70vh; overflow-y: auto; } .nav-item:hover .dropdown { opacity: 1; visibility: visible; transform: translateY(0); } .dropdown a { display: block; font-size: 14px; font-weight: 500; color: var(--muted); padding: 10px 16px; border-radius: 4px; transition: var(--transition); } .dropdown a:hover { color: var(--accent); background: var(--accent-tint); padding-left: 20px; text-shadow: none; } .nav-toggle { display: none; flex-direction: column; gap: 5px; padding: 6px; z-index: 2001; } .nav-toggle span { display: block; width: 24px; height: 2px; background: #fff; transition: var(--transition); } .mobile-menu { position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; z-index: 2000; background: var(--dark-bg); padding: 80px 32px 40px; transform: translateX(100%); transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1); overflow-y: auto; display: flex; flex-direction: column; } .mobile-menu.is-open { transform: translateX(0); } .mobile-close { position: absolute; top: 24px; right: 28px; font-size: 32px; color: #fff; padding: 8px; line-height: 1; border: none; background: transparent; cursor: pointer; } .mobile-group { margin-bottom: 24px; } .mobile-group span { display: block; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--cta-bg); margin-bottom: 12px; } .mobile-group a { display: block; font-size: 16px; color: #fff; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,0.1); text-decoration: none; } .mobile-group a:last-child { border-bottom: none; } .mobile-menu .btn { width: 100%; margin-top: 16px; } /* ── HERO — matches T1/Market T1-T2 standard ── */ .page-hero { background: linear-gradient(135deg, rgba(42,0,29,1) 0%, rgba(128,0,89,0.85) 100%); padding: 130px 0 0; position: relative; overflow: hidden; min-height: 550px; } .page-hero::before { content: ''; position: absolute; inset: 0; z-index: 2; background: linear-gradient(135deg, rgba(42,0,29,0.95) 0%, rgba(128,0,89,0.75) 100%); } .page-hero-inner { position: relative; z-index: 2; padding-bottom: 0; } .page-hero-label { display: block; color: var(--cta-bg); font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 16px; } .breadcrumb { display: flex; align-items: center; gap: 8px; margin-bottom: 20px; font-size: 13px; color: rgba(255,255,255,0.45); flex-wrap: wrap; } .breadcrumb a { color: rgba(255,255,255,0.45); transition: color 0.2s; } .breadcrumb a:hover { color: var(--cta-bg); } .breadcrumb-sep { color: rgba(255,255,255,0.25); } .page-hero h1 { font-family: 'Outfit', system-ui, sans-serif; font-size: 56px; font-weight: 700; color: #fff; letter-spacing: -0.02em; line-height: 1.08; margin: 0 0 24px; } .page-hero-desc { font-size: 17px; color: rgba(255,255,255,0.7); line-height: 1.65; max-width: 580px; margin-bottom: 40px; } .page-hero-ctas { display: flex; gap: 16px; justify-content: flex-start; flex-wrap: wrap; } .btn-white-ghost { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.3); color: #fff; } .btn-white-ghost:hover { background: rgba(255, 255, 255, 0.15); border-color: #fff; transform: translateY(-2px); } /* ── DESCRIPTION / OVERVIEW ── */ .overview-section { background: var(--bg-section); } .overview-box { background: var(--bg); border: 1px solid var(--border); border-radius: 16px; padding: 56px; box-shadow: 0 2px 16px rgba(0,0,0,0.04); } .overview-box .label { margin-bottom: 16px; } .overview-box h2 { font-family: 'Outfit', system-ui, sans-serif; font-size: clamp(28px, 3vw, 36px); font-weight: 700; color: var(--text); letter-spacing: -0.01em; line-height: 1.2; margin-bottom: 20px; } .overview-box p { font-size: 17px; color: var(--muted); line-height: 1.8; margin-bottom: 20px; max-width: 760px; } .overview-box p:last-of-type { margin-bottom: 0; } .overview-related { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--border); display: flex; align-items: center; gap: 16px; flex-wrap: wrap; } .overview-related-label { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); } .overview-related-chips { display: flex; flex-wrap: wrap; gap: 8px; } .product-chip { font-size: 13px; font-weight: 600; color: var(--accent); background: var(--accent-tint); border: 1px solid rgba(128,0,89,0.15); padding: 6px 14px; border-radius: 4px; transition: all 0.2s; } .product-chip:hover { background: var(--accent); color: #fff; border-color: var(--accent); } /* ── CASE STUDIES ── */ .cases-section { background: var(--bg); } .case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; } .case-card { display: flex; flex-direction: column; text-decoration: none; border-radius: 12px; overflow: hidden; background: var(--bg); border: 1px solid var(--border); transition: all 0.3s ease; } .case-card:hover { transform: translateY(-6px); box-shadow: 0 16px 32px rgba(0,0,0,0.06); border-color: rgba(128, 0, 89, 0.2); } .case-card-img { aspect-ratio: 4/3; overflow: hidden; background: var(--bg-alt); } .case-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; } .case-card:hover .case-card-img img { transform: scale(1.05); } .case-card-body { padding: 20px 24px 24px; display: flex; flex-direction: column; gap: 8px; } .case-card-tag { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); } .case-card-body h3 { font-family: 'Outfit', system-ui, sans-serif; font-size: 18px; font-weight: 700; color: var(--text); letter-spacing: -0.01em; line-height: 1.3; } .case-card-body p { font-size: 14px; color: var(--muted); line-height: 1.6; } /* ── LATEST RESOURCES — matches T4/T5 ── */ .related-label { font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent); margin-bottom: 8px; } .resources-section { background: var(--bg-section); } .resources-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 36px; } .resources-title { font-family: 'Outfit', sans-serif; font-size: 28px; font-weight: 700; color: var(--text); letter-spacing: -0.02em; } .resources-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; } .resource-card { background: var(--bg); border: 1px solid var(--border); border-radius: 10px; padding: 24px; display: flex; flex-direction: column; gap: 10px; transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s; position: relative; overflow: hidden; } .resource-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; opacity: 0; transition: opacity 0.3s; } .resource-card.type-article::before { background: var(--accent); } .resource-card.type-case::before { background: var(--cta-bg); } .resource-card:hover { border-color: rgba(128,0,89,0.25); box-shadow: 0 10px 28px rgba(0,0,0,0.06); transform: translateY(-4px); } .resource-card:hover::before { opacity: 1; } .resource-card-tag { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; } .resource-card.type-article .resource-card-tag { color: var(--accent); } .resource-card.type-case .resource-card-tag { color: #b38000; } .resource-card-title { font-family: 'Outfit', sans-serif; font-size: 15px; font-weight: 700; color: var(--text); line-height: 1.35; letter-spacing: -0.01em; flex: 1; } .resource-card-meta { font-size: 12px; color: var(--muted); padding-top: 12px; border-top: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; } .resource-card-link { font-size: 12px; font-weight: 600; color: var(--accent); display: inline-flex; align-items: center; gap: 5px; transition: gap 0.2s; } .resource-card:hover .resource-card-link { gap: 8px; } /* ── FOOTER (matches T1-T5 standard) ── */ .footer { background: var(--dark-bg); padding-top: 80px; } .footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 2.2fr; gap: 40px; } .footer-logo { height: 40px; width: auto; margin-bottom: 24px; filter: brightness(0) invert(1); } .footer-brand .tagline { font-size: 15px; color: var(--dark-muted); margin-bottom: 16px; max-width: 280px; line-height: 1.4; } .footer-contact li { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 6px; font-size: 14px; color: var(--dark-muted); } .footer-contact .ci { width: 18px; height: 18px; color: var(--cta-bg); flex-shrink: 0; margin-top: 2px; } .footer-col h4 { font-size: 14px; color: #fff; margin-bottom: 16px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; } .footer-col ul li { margin-bottom: 6px; } .footer-col a { font-size: 15px; color: var(--dark-muted); transition: var(--transition); } .footer-col a:hover { color: var(--cta-bg); } .footer-col.products-col ul { column-count: 2; column-gap: 32px; } .footer-col.products-col ul li { break-inside: avoid; page-break-inside: avoid; } .footer-socials { display: flex; gap: 12px; margin-top: 24px; } .footer-socials a { width: 36px; height: 36px; border: 1px solid var(--dark-border); border-radius: 6px; display: flex; align-items: center; justify-content: center; color: var(--dark-muted); background: rgba(255,255,255,0.03); transition: var(--transition); } .footer-socials a:hover { color: var(--dark-bg); background: var(--cta-bg); border-color: var(--cta-bg); transform: translateY(-2px); } .footer-socials svg { width: 18px; height: 18px; } .footer-bottom { border-top: 1px solid var(--dark-border); margin-top: 64px; padding: 24px 0; display: flex; flex-direction: column; align-items: center; gap: 16px; font-size: 13px; color: var(--dark-muted); } .footer-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; list-style: none; padding: 0; margin: 0; } .footer-legal a { color: var(--dark-muted); transition: var(--transition); } .footer-legal a:hover { color: var(--cta-bg); } @media (min-width: 768px) { .footer-bottom { flex-direction: row; justify-content: space-between; text-align: left; } } /* ── REVEAL ── */ .reveal { opacity: 1; transform: translateY(0); } .stagger-children > * { opacity: 1; transform: translateY(0); } .stagger-children.is-visible > * { opacity: 1; transform: translateY(0); } .stagger-children.is-visible > *:nth-child(1) { transition-delay: 0.06s; } .stagger-children.is-visible > *:nth-child(2) { transition-delay: 0.12s; } .stagger-children.is-visible > *:nth-child(3) { transition-delay: 0.18s; } .stagger-children.is-visible > *:nth-child(4) { transition-delay: 0.24s; } /* ── RESPONSIVE ── */ @media (max-width: 1024px) { .container { padding: 0 24px; } .footer-grid { grid-template-columns: 1fr 1fr; gap: 48px; } .footer-col.products-col { grid-column: span 2; } .resources-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 900px) { .case-grid { grid-template-columns: 1fr 1fr; } .overview-box { padding: 36px; } } @media (max-width: 767px) { .nav-menu, .nav-cta { display: none; } .nav-toggle { display: flex; } .page-hero h1 { font-size: 40px; } .case-grid { grid-template-columns: 1fr; } .resources-grid { grid-template-columns: 1fr; } .resources-header { flex-direction: column; align-items: flex-start; gap: 12px; } .overview-box { padding: 28px; } .footer-grid { grid-template-columns: 1fr; gap: 40px; } .footer-col.products-col { grid-column: span 1; } .footer-col.products-col ul { column-count: 1; } .footer-bottom { flex-direction: column; align-items: flex-start; } }
(function () { const nav = document.getElementById('mainNav'); const navToggle = document.getElementById('navToggle'); const mobileMenu = document.getElementById('mobileMenu'); const mobileClose = document.getElementById('mobileClose'); if (navToggle && mobileMenu && mobileClose) { navToggle.addEventListener('click', () => mobileMenu.classList.add('is-open')); mobileClose.addEventListener('click', () => mobileMenu.classList.remove('is-open')); } const revealObs = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add('is-visible'); revealObs.unobserve(entry.target); } }); }, { threshold: 0.1 }); document.querySelectorAll('.reveal, .stagger-children').forEach(el => revealObs.observe(el)); window.addEventListener('scroll', () => { nav.classList.toggle('scrolled', window.scrollY > 20); }, { passive: true }); })();
:root { --accent: #800059; --accent-dk: #5A003E; --accent-tint: #FAEEF5; --cta-bg: #FEBE4F; --cta-text: #331A00; --dark-bg: #2A001D; --dark-border: rgba(255,255,255,0.12); --dark-muted: rgba(255,255,255,0.7); --bg: #FFFFFF; --bg-section: #F8F9FA; --bg-alt: #F3F4F6; --text: #111827; --muted: #4B5563; --border: #E5E7EB; --container: 1240px; --transition: 0.3s cubic-bezier(0.22, 1, 0.36, 1); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { scroll-behavior: smooth; overflow-x: clip; width: 100%; margin: 0; padding: 0; } body { font-family: 'Inter', system-ui, sans-serif; background: var(--bg); color: var(--text); font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; overflow-x: clip; } a { color: inherit; text-decoration: none; } img { display: block; max-width: 100%; } ul { list-style: none; } button { font-family: inherit; cursor: pointer; border: none; background: none; } .container { max-width: var(--container); margin: 0 auto; padding: 0 40px; position: relative; z-index: 2; } section { padding: 100px 0; position: relative; } .label { font-size: 14px; font-weight: 600; letter-spacing: 0.05em; color: var(--accent); text-transform: uppercase; display: inline-block; margin-bottom: 8px; } .section-heading { font-family: 'Outfit', system-ui, sans-serif; font-size: clamp(32px, 4vw, 40px); font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; color: var(--text); margin-top: 4px; } .section-sub { font-size: 17px; color: var(--muted); max-width: 680px; margin-top: 18px; line-height: 1.6; } .section-head-wrap { margin-bottom: 56px; } /* ── BUTTONS ── */ .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 14px; font-weight: 600; border-radius: 4px; padding: 14px 32px; transition: var(--transition); white-space: nowrap; position: relative; overflow: hidden; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); } .btn::after { content: ''; position: absolute; top: 0; left: -100%; width: 50%; height: 100%; background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.2) 50%, rgba(255,255,255,0) 100%); transform: skewX(-25deg); transition: left 0.6s cubic-bezier(0.22, 1, 0.36, 1); pointer-events: none; } .btn:hover::after { left: 150%; } .btn-accent { background: linear-gradient(135deg, #ffd080 0%, #FEBE4F 100%); color: var(--cta-text); box-shadow: 0 4px 12px rgba(254,190,79,0.2); border: 1px solid rgba(255,255,255,0.3); } .btn-accent:hover { background: linear-gradient(135deg, #ffe9a8 0%, #ffd080 100%); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(254,190,79,0.3); } .btn-dark { background: linear-gradient(135deg, #9b006c 0%, #800059 100%); color: #fff; box-shadow: 0 4px 12px rgba(128,0,89,0.2); border: 1px solid rgba(255,255,255,0.1); } .btn-dark:hover { background: linear-gradient(135deg, #b3007c 0%, #9b006c 100%); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(128,0,89,0.3); } .btn-ghost { background: transparent; color: var(--accent); border: 1px solid rgba(128,0,89,0.25); padding: 10px 20px; font-size: 13px; font-weight: 600; border-radius: 4px; display: inline-flex; align-items: center; gap: 6px; transition: all 0.2s; } .btn-ghost:hover { background: var(--accent-tint); border-color: var(--accent); } /* ── NAV ── */ .nav { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; height: 76px; background: transparent; border-bottom: 1px solid transparent; transition: background 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; } .nav.scrolled { background: rgba(77,0,54,0.95); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-bottom: 1px solid rgba(255,255,255,0.08); box-shadow: 0 10px 30px rgba(0,0,0,0.2); } .nav-inner { max-width: var(--container); margin: 0 auto; padding: 0 40px; height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; } .nav-logo img { height: 42px; width: auto; } .nav-menu { display: flex; align-items: center; gap: 32px; } .nav-item { position: relative; height: 76px; display: flex; align-items: center; } .nav-link { font-size: 14px; font-weight: 500; color: rgba(255, 255, 255, 0.9); display: inline-flex; align-items: center; gap: 6px; transition: var(--transition); text-shadow: 0 1px 4px rgba(0,0,0,0.3); } .nav-link:hover { color: var(--cta-bg); } .nav-item:hover .nav-link svg { transform: rotate(180deg); transition: transform 0.3s ease; } .dropdown { position: absolute; top: 76px; left: -16px; min-width: 320px; background: var(--bg); border: 1px solid var(--border); box-shadow: 0 12px 40px rgba(0,0,0,0.08); border-radius: 6px; padding: 12px; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.3s; max-height: 70vh; overflow-y: auto; } .nav-item:hover .dropdown { opacity: 1; visibility: visible; transform: translateY(0); } .dropdown a { display: block; font-size: 14px; font-weight: 500; color: var(--muted); padding: 10px 16px; border-radius: 4px; transition: var(--transition); } .dropdown a:hover { color: var(--accent); background: var(--accent-tint); padding-left: 20px; text-shadow: none; } .nav-toggle { display: none; flex-direction: column; gap: 5px; padding: 6px; z-index: 2001; } .nav-toggle span { display: block; width: 24px; height: 2px; background: #fff; transition: var(--transition); } .mobile-menu { position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; z-index: 2000; background: var(--dark-bg); padding: 80px 32px 40px; transform: translateX(100%); transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1); overflow-y: auto; display: flex; flex-direction: column; } .mobile-menu.is-open { transform: translateX(0); } .mobile-close { position: absolute; top: 24px; right: 28px; font-size: 32px; color: #fff; padding: 8px; line-height: 1; border: none; background: transparent; cursor: pointer; } .mobile-group { margin-bottom: 24px; } .mobile-group span { display: block; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--cta-bg); margin-bottom: 12px; } .mobile-group a { display: block; font-size: 16px; color: #fff; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,0.1); text-decoration: none; } .mobile-group a:last-child { border-bottom: none; } .mobile-menu .btn { width: 100%; margin-top: 16px; } /* ── HERO — matches T1/Market T1-T2 standard ── */ .page-hero { background: linear-gradient(135deg, rgba(42,0,29,1) 0%, rgba(128,0,89,0.85) 100%); padding: 130px 0 0; position: relative; overflow: hidden; min-height: 550px; } .page-hero::before { content: ''; position: absolute; inset: 0; z-index: 2; background: linear-gradient(135deg, rgba(42,0,29,0.95) 0%, rgba(128,0,89,0.75) 100%); } .page-hero-inner { position: relative; z-index: 2; padding-bottom: 0; } .page-hero-label { display: block; color: var(--cta-bg); font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 16px; } .breadcrumb { display: flex; align-items: center; gap: 8px; margin-bottom: 20px; font-size: 13px; color: rgba(255,255,255,0.45); flex-wrap: wrap; } .breadcrumb a { color: rgba(255,255,255,0.45); transition: color 0.2s; } .breadcrumb a:hover { color: var(--cta-bg); } .breadcrumb-sep { color: rgba(255,255,255,0.25); } .page-hero h1 { font-family: 'Outfit', system-ui, sans-serif; font-size: 56px; font-weight: 700; color: #fff; letter-spacing: -0.02em; line-height: 1.08; margin: 0 0 24px; } .page-hero-desc { font-size: 17px; color: rgba(255,255,255,0.7); line-height: 1.65; max-width: 580px; margin-bottom: 40px; } .page-hero-ctas { display: flex; gap: 16px; justify-content: flex-start; flex-wrap: wrap; } .btn-white-ghost { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.3); color: #fff; } .btn-white-ghost:hover { background: rgba(255, 255, 255, 0.15); border-color: #fff; transform: translateY(-2px); } /* ── DESCRIPTION / OVERVIEW ── */ .overview-section { background: var(--bg-section); } .overview-box { background: var(--bg); border: 1px solid var(--border); border-radius: 16px; padding: 56px; box-shadow: 0 2px 16px rgba(0,0,0,0.04); } .overview-box .label { margin-bottom: 16px; } .overview-box h2 { font-family: 'Outfit', system-ui, sans-serif; font-size: clamp(28px, 3vw, 36px); font-weight: 700; color: var(--text); letter-spacing: -0.01em; line-height: 1.2; margin-bottom: 20px; } .overview-box p { font-size: 17px; color: var(--muted); line-height: 1.8; margin-bottom: 20px; max-width: 760px; } .overview-box p:last-of-type { margin-bottom: 0; } .overview-related { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--border); display: flex; align-items: center; gap: 16px; flex-wrap: wrap; } .overview-related-label { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); } .overview-related-chips { display: flex; flex-wrap: wrap; gap: 8px; } .product-chip { font-size: 13px; font-weight: 600; color: var(--accent); background: var(--accent-tint); border: 1px solid rgba(128,0,89,0.15); padding: 6px 14px; border-radius: 4px; transition: all 0.2s; } .product-chip:hover { background: var(--accent); color: #fff; border-color: var(--accent); } /* ── CASE STUDIES ── */ .cases-section { background: var(--bg); } .case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; } .case-card { display: flex; flex-direction: column; text-decoration: none; border-radius: 12px; overflow: hidden; background: var(--bg); border: 1px solid var(--border); transition: all 0.3s ease; } .case-card:hover { transform: translateY(-6px); box-shadow: 0 16px 32px rgba(0,0,0,0.06); border-color: rgba(128, 0, 89, 0.2); } .case-card-img { aspect-ratio: 4/3; overflow: hidden; background: var(--bg-alt); } .case-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; } .case-card:hover .case-card-img img { transform: scale(1.05); } .case-card-body { padding: 20px 24px 24px; display: flex; flex-direction: column; gap: 8px; } .case-card-tag { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); } .case-card-body h3 { font-family: 'Outfit', system-ui, sans-serif; font-size: 18px; font-weight: 700; color: var(--text); letter-spacing: -0.01em; line-height: 1.3; } .case-card-body p { font-size: 14px; color: var(--muted); line-height: 1.6; } /* ── LATEST RESOURCES — matches T4/T5 ── */ .related-label { font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent); margin-bottom: 8px; } .resources-section { background: var(--bg-section); } .resources-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 36px; } .resources-title { font-family: 'Outfit', sans-serif; font-size: 28px; font-weight: 700; color: var(--text); letter-spacing: -0.02em; } .resources-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; } .resource-card { background: var(--bg); border: 1px solid var(--border); border-radius: 10px; padding: 24px; display: flex; flex-direction: column; gap: 10px; transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s; position: relative; overflow: hidden; } .resource-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; opacity: 0; transition: opacity 0.3s; } .resource-card.type-article::before { background: var(--accent); } .resource-card.type-case::before { background: var(--cta-bg); } .resource-card:hover { border-color: rgba(128,0,89,0.25); box-shadow: 0 10px 28px rgba(0,0,0,0.06); transform: translateY(-4px); } .resource-card:hover::before { opacity: 1; } .resource-card-tag { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; } .resource-card.type-article .resource-card-tag { color: var(--accent); } .resource-card.type-case .resource-card-tag { color: #b38000; } .resource-card-title { font-family: 'Outfit', sans-serif; font-size: 15px; font-weight: 700; color: var(--text); line-height: 1.35; letter-spacing: -0.01em; flex: 1; } .resource-card-meta { font-size: 12px; color: var(--muted); padding-top: 12px; border-top: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; } .resource-card-link { font-size: 12px; font-weight: 600; color: var(--accent); display: inline-flex; align-items: center; gap: 5px; transition: gap 0.2s; } .resource-card:hover .resource-card-link { gap: 8px; } /* ── FOOTER (matches T1-T5 standard) ── */ .footer { background: var(--dark-bg); padding-top: 80px; } .footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 2.2fr; gap: 40px; } .footer-logo { height: 40px; width: auto; margin-bottom: 24px; filter: brightness(0) invert(1); } .footer-brand .tagline { font-size: 15px; color: var(--dark-muted); margin-bottom: 16px; max-width: 280px; line-height: 1.4; } .footer-contact li { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 6px; font-size: 14px; color: var(--dark-muted); } .footer-contact .ci { width: 18px; height: 18px; color: var(--cta-bg); flex-shrink: 0; margin-top: 2px; } .footer-col h4 { font-size: 14px; color: #fff; margin-bottom: 16px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; } .footer-col ul li { margin-bottom: 6px; } .footer-col a { font-size: 15px; color: var(--dark-muted); transition: var(--transition); } .footer-col a:hover { color: var(--cta-bg); } .footer-col.products-col ul { column-count: 2; column-gap: 32px; } .footer-col.products-col ul li { break-inside: avoid; page-break-inside: avoid; } .footer-socials { display: flex; gap: 12px; margin-top: 24px; } .footer-socials a { width: 36px; height: 36px; border: 1px solid var(--dark-border); border-radius: 6px; display: flex; align-items: center; justify-content: center; color: var(--dark-muted); background: rgba(255,255,255,0.03); transition: var(--transition); } .footer-socials a:hover { color: var(--dark-bg); background: var(--cta-bg); border-color: var(--cta-bg); transform: translateY(-2px); } .footer-socials svg { width: 18px; height: 18px; } .footer-bottom { border-top: 1px solid var(--dark-border); margin-top: 64px; padding: 24px 0; display: flex; flex-direction: column; align-items: center; gap: 16px; font-size: 13px; color: var(--dark-muted); } .footer-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; list-style: none; padding: 0; margin: 0; } .footer-legal a { color: var(--dark-muted); transition: var(--transition); } .footer-legal a:hover { color: var(--cta-bg); } @media (min-width: 768px) { .footer-bottom { flex-direction: row; justify-content: space-between; text-align: left; } } /* ── REVEAL ── */ .reveal { opacity: 1; transform: translateY(0); } .stagger-children > * { opacity: 1; transform: translateY(0); } .stagger-children.is-visible > * { opacity: 1; transform: translateY(0); } .stagger-children.is-visible > *:nth-child(1) { transition-delay: 0.06s; } .stagger-children.is-visible > *:nth-child(2) { transition-delay: 0.12s; } .stagger-children.is-visible > *:nth-child(3) { transition-delay: 0.18s; } .stagger-children.is-visible > *:nth-child(4) { transition-delay: 0.24s; } /* ── RESPONSIVE ── */ @media (max-width: 1024px) { .container { padding: 0 24px; } .footer-grid { grid-template-columns: 1fr 1fr; gap: 48px; } .footer-col.products-col { grid-column: span 2; } .resources-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 900px) { .case-grid { grid-template-columns: 1fr 1fr; } .overview-box { padding: 36px; } } @media (max-width: 767px) { .nav-menu, .nav-cta { display: none; } .nav-toggle { display: flex; } .page-hero h1 { font-size: 40px; } .case-grid { grid-template-columns: 1fr; } .resources-grid { grid-template-columns: 1fr; } .resources-header { flex-direction: column; align-items: flex-start; gap: 12px; } .overview-box { padding: 28px; } .footer-grid { grid-template-columns: 1fr; gap: 40px; } .footer-col.products-col { grid-column: span 1; } .footer-col.products-col ul { column-count: 1; } .footer-bottom { flex-direction: column; align-items: flex-start; } }
(function () { const nav = document.getElementById('mainNav'); const navToggle = document.getElementById('navToggle'); const mobileMenu = document.getElementById('mobileMenu'); const mobileClose = document.getElementById('mobileClose'); if (navToggle && mobileMenu && mobileClose) { navToggle.addEventListener('click', () => mobileMenu.classList.add('is-open')); mobileClose.addEventListener('click', () => mobileMenu.classList.remove('is-open')); } const revealObs = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add('is-visible'); revealObs.unobserve(entry.target); } }); }, { threshold: 0.1 }); document.querySelectorAll('.reveal, .stagger-children').forEach(el => revealObs.observe(el)); window.addEventListener('scroll', () => { nav.classList.toggle('scrolled', window.scrollY > 20); }, { passive: true }); })();