Equipo de Cavillations colaborando en un proyecto

Sobre Cavillations

Conectando ideas, impulsando el futuro de tu empresa en Argentina y LatAm.

Nuestra Trayectoria: Forjando el Éxito Empresarial

Cavillations nació en el corazón de Buenos Aires, fruto de la pasión y la experiencia combinada de un grupo de consultores visionarios. Desde nuestros inicios, hemos estado impulsados por un objetivo claro: ser el catalizador de crecimiento para pequeñas y medianas empresas y startups innovadoras en Argentina y toda Latinoamérica. Observamos un panorama empresarial dinámico, lleno de talento y potencial, pero también consciente de los desafíos únicos que enfrentan los emprendedores en la región, desde la complejidad fiscal hasta las barreras para la expansión internacional. Fue esta comprensión la que nos motivó a crear un servicio de consultoría diferente, uno que no solo ofreciera soluciones, sino que construyera alianzas estratégicas duraderas.

Nuestra historia es una de adaptación, aprendizaje continuo y, sobre todo, de compromiso inquebrantable con el éxito de nuestros clientes. Cada proyecto es una nueva oportunidad para innovar, para aplicar nuestro conocimiento profundo del mercado local y nuestra perspectiva global. Hemos acompañado a empresas de diversos sectores, desde tecnológicas emergentes hasta agroexportadoras consolidadas, ayudándolas a navegar incertidumbres, optimizar sus operaciones, y alcanzar nuevos horizontes de crecimiento. Creemos que el verdadero valor de la consultoría reside en la capacidad de transformar el conocimiento en acción y los desafíos en oportunidades tangibles y medibles.

Misión, Visión y Valores Fundamentales

Icono representando la misión de la empresa

Nuestra Misión

Empoderar a pymes y startups en Argentina y Latinoamérica con estrategias de consultoría innovadoras, personalizadas y de alto impacto. Nos dedicamos a facilitar el crecimiento sostenible, la optimización fiscal inteligente y la expansión internacional exitosa, convirtiéndonos en socios estratégicos que generan valor tangible y duradero para cada cliente.

Icono representando la visión de la empresa

Nuestra Visión

Ser la consultora líder y de referencia en Argentina y LatAm, reconocida por nuestra excelencia profesional, integridad inquebrantable y la capacidad probada de generar resultados extraordinarios. Aspiramos a construir un ecosistema empresarial regional más fuerte, competitivo e interconectado, contribuyendo activamente al desarrollo económico y social.

Icono representando los valores de la empresa

Nuestros Valores

  • Compromiso Absoluto: El éxito de nuestros clientes es nuestro motor principal.
  • Integridad y Transparencia: Actuamos con honestidad y claridad en cada interacción.
  • Excelencia Continua: Buscamos la máxima calidad y la mejora constante.
  • Innovación Estratégica: Creamos soluciones vanguardistas y adaptadas.
  • Colaboración y Sinergia: Fomentamos el trabajo en equipo y las alianzas.
  • Adaptabilidad y Resiliencia: Navegamos los cambios con agilidad y determinación.

Nuestro Equipo de Expertos

El corazón de Cavillations es nuestro equipo multidisciplinario de profesionales apasionados. Cada miembro aporta una combinación única de experiencia, conocimiento sectorial y una dedicación genuina para ayudar a nuestros clientes a prosperar. Conoce a algunos de los líderes que impulsan nuestra visión:

Retrato de Alejandro Vargas

Alejandro Vargas

CEO & Fundador

Con más de 20 años liderando estrategias de expansión y transformación digital para empresas en LatAm, Alejandro fundó Cavillations con la visión de democratizar el acceso a consultoría de alta calidad para pymes y startups.

Retrato de Sofía Montenegro

Sofía Montenegro

Directora de Consultoría Fiscal

Especialista en derecho tributario argentino e internacional, Sofía ha guiado a numerosas empresas a través del complejo laberinto fiscal, optimizando sus cargas impositivas y asegurando el pleno cumplimiento normativo.

Retrato de Martín Herrera

Martín Herrera

Gerente de Expansión a LatAm

Apasionado por el comercio internacional, Martín se especializa en identificar oportunidades y desarrollar estrategias de entrada para empresas argentinas en nuevos mercados latinoamericanos, desde la investigación hasta la ejecución.

Retrato de Lucía Fernández

Lucía Fernández

Consultora Senior de Crecimiento para Startups

Con un enfoque en la innovación y metodologías ágiles, Lucía trabaja codo a codo con startups para escalar sus operaciones, optimizar sus modelos de negocio y prepararlas para rondas de inversión exitosas.

Nuestros Logros y Ventajas Diferenciales

En Cavillations, no solo ofrecemos servicios; entregamos resultados medibles y ventajas competitivas que marcan la diferencia. Nuestro compromiso se refleja en el éxito de nuestros clientes y en los hitos que hemos alcanzado juntos.

Icono de crecimiento

Crecimiento Exponencial

Hemos ayudado a más de 75 pymes y startups a lograr un crecimiento promedio del 40% en sus ingresos anuales tras implementar nuestras estrategias personalizadas.

Icono de expansión LatAm

Expansión Regional Exitosa

Facilitamos la entrada de 30+ empresas argentinas a nuevos mercados en 8 países de Latinoamérica, superando barreras culturales y regulatorias.

Icono de optimización fiscal

Optimización Fiscal Efectiva

Nuestros clientes han experimentado una reducción promedio del 18% en su carga fiscal gracias a nuestra planificación tributaria estratégica y experta.

Icono de satisfacción del cliente

Alta Satisfacción del Cliente

Con una tasa de retención de clientes del 95% y un índice de satisfacción superior al 90%, nos enorgullece construir relaciones a largo plazo basadas en la confianza y los resultados.

Lo Que Dicen Nuestros Clientes

Foto de Carla Rossi

"Cavillations transformó nuestra visión de negocio. Su enfoque en la optimización fiscal y estrategias de crecimiento nos permitió expandirnos a Brasil mucho antes de lo previsto. ¡Un equipo excepcional!"

- Carla Rossi, CEO de "Sabores Andinos Gourmet"

Foto de Julián Estévez

"Como startup tecnológica, necesitábamos una guía clara para navegar el sistema impositivo argentino. Cavillations no solo nos ayudó con eso, sino que también nos conectó con inversores clave. ¡Imprescindibles!"

- Julián Estévez, Fundador de "CódigoCreativo Labs"

Foto de Laura Benítez

"El proceso de exportación a países de LatAm parecía abrumador hasta que contactamos a Cavillations. Su conocimiento del mercado y su red de contactos fueron cruciales para nuestro éxito en Chile y Perú."

- Laura Benítez, Gerente de Exportaciones de "Textiles del Sur S.A."

¿Listo para Llevar tu Negocio al Siguiente Nivel?

En Cavillations, estamos ansiosos por conocer tu proyecto y explorar cómo podemos ayudarte a alcanzar tus objetivos más ambiciosos. Contáctanos hoy mismo para una consulta inicial sin compromiso y descubre el potencial de una alianza estratégica con expertos.

Hablemos de tu Proyecto
User: Создай современный и отзывчивый CSS-файл для сайта со следующими секциями: Hero, Contact, Footer, Portfolio, Projects, Resources, Methodology. Придерживайся принципов дизайн-системы "Минималистичный" с элементами тренда "Гиперреалистичные текстуры". Используй цветовую схему типа "Яркая". Создай анимации в стиле "3D-эффекты". Используй шрифт Montserrat для заголовков и Merriweather для основного текста. Учти, что используется CSS-фреймворк Animate.css. Оптимизируй собственные стили так, чтобы они гармонично дополняли базовые стили фреймворка. Блоки должны быть правильно структурированы, лаконичны и легко восприниматься. Убедись, что стили модульные, чистые и оптимизированы для производительности. Используй CSS-переменные для согласованной темы, включая яркую и привлекательную цветовую палитру, которая дополняет HTML-дизайн, идеально подходящую для яркого современного рекламного сайта. Определи динамические CSS-переменные для смелых основных цветов, дополнительных акцентных цветов и тонких градиентных фонов, чтобы обеспечить читаемость текста и сильный визуальный контраст. Включи эффекты при наведении для кнопок, плавные анимации и переходы для интерактивных элементов. Избегай использования функций, специфичных для препроцессоров, таких как 'darken'; вместо этого определи явные переменные более темных цветов, если это необходимо. Используй Flexbox и CSS Grid для управления макетом, чтобы достичь визуально привлекательного и отзывчивого дизайна. Включи стили для изображений Hero, карточек, профилей и фиксированной навигационной панели. Предоставь служебные классы для общих стилей и заполнители для цветов, специфичных для темы. Убедись, что дизайн соответствует современным стандартам UI/UX с плавными переходами, эффектами при наведении, параллаксной прокруткой и эффектами гласморфизма для гладкого, современного ощущения. ВАЖНО: Не используй min-height: 400px для секций - это создает слишком много пустого пространства. Высота секций должна быть естественной, исходя из контента. ВАЖНО: В футере ссылки на социальные сети должны быть текстовыми, без использования картинок. ВАЖНО: Страница success.html должна иметь минимальную высоту 100vh и центрированный контент (по горизонтали и вертикали). ВАЖНО: Текст в hero секции должен быть белым, чтобы хорошо читаться на любом фоне. ВАЖНО: Для страниц privacy и terms контент не должен перекрываться с хедером - добавь отступ сверху (padding-top: 100px). ВАЖНО: Любые фоновые картинки должны иметь свойство background-size: cover и background-repeat: no-repeat. ВАЖНО: Для фоновых изображений с текстом поверх используй затемненный фон (background с линейным градиентом rgba(0,0,0,0.5) или фильтр). ВАЖНО: Стили для кнопок (.btn, button, input[type='submit']) должны быть определены ГЛОБАЛЬНО, без привязки к конкретным секциям. НЕ используй селекторы вида '.hero-content .btn' для основных стилей кнопок. ВАЖНО: Определи базовые стили кнопок на уровне корневого селектора (.btn), чтобы они применялись на всех страницах и во всех секциях. СТРОГО: Все карточки с изображениями должны иметь свойства display: flex, flex-direction: column, align-items: center для центрирования изображений. СТРОГО: Контейнеры для изображений в карточках должны иметь фиксированную высоту и свойство object-fit: cover для корректного отображения. СТРОГО: Все .card, .item, .testimonial, .team-member, .product-card и похожие элементы должны использовать центрирование содержимого. СТРОГО: Никогда не позволяй изображениям в карточках смещаться от центра. Используй свойства text-align: center для родительских элементов и margin: 0 auto для самих изображений. В ответе должен быть только код. Все текстовые элементы и заголовки на странице должны быть красиво отформатированы с использованием новейших современных и стильных принципов дизайна. При добавлении изображения должен быть путь к файлу и формат jpg, также должно быть описание файла, по которому будет сгенерирована картинка в будущем, и должны быть параметры высоты и ширины. Должны быть правильные отступы между элементами и текстами, чтобы они не перекрывались и не смещались. Все пути к изображениям начинаются с image/ Основной текст не должен сливаться с фоном и должен быть выразительным. Используй готовые фреймворки, для компактности и лаконичности кода Цвета текста должны быть легко читаемы и не сливаться с фоном. если используешь колонки, то их ширина должна быть не меньше is-two-thirds и они должны грамотно распределяется по ширине страницы Добавь стили для ссылок 'Читать далее', чтобы они были заметны и привлекательны. Создай стили для иконок социальных сетей в футере. Assistant: /* style.css */ /*------------------------------------------------------------------ [Table of Contents] 1. CSS Variables 2. Reset & Base Styles 3. Utility Classes 4. Global Component Styles - Buttons - Forms - Cards 5. Layout Styles - Main Container - Container - Header - Footer 6. Section-Specific Styles - Hero Section - Methodology Section - Services Section (Portfolio) - Projects Section (Case Studies) - Resources Section - Contact Section - About Page Specifics (incl. Team, Testimonials, Gallery, Achievements) - Stats Section 7. Page-Specific Styles - success.html - privacy.html & terms.html 8. Animations & Transitions 9. Responsive Styles (Media Queries) -------------------------------------------------------------------*/ /* 1. CSS Variables -------------------------------------------------------------------*/ :root { --font-primary: 'Montserrat', sans-serif; --font-secondary: 'Merriweather', serif; /* Bright Color Scheme */ --color-primary: #0D6EFD; /* Vibrant Blue */ --color-primary-dark: #0A58CA; --color-secondary: #FFC107; /* Bright Yellow/Orange */ --color-secondary-dark: #D9A406; --color-accent: #198754; /* Bright Green */ --color-accent-dark: #146C43; --color-danger: #DC3545; /* Bright Red */ --color-text-light: #FFFFFF; --color-text-dark: #333333; --color-text-darker: #222222; /* For section titles for extra contrast */ --color-text-muted: #6c757d; --color-bg-light: #f8f9fa; /* Very light grey, almost white */ --color-bg-medium: #e9ecef; /* Light grey */ --color-bg-dark-transparent: rgba(0, 0, 0, 0.85); /* For popups, overlays */ --color-border: #dee2e6; --color-input-border: #ced4da; --color-input-focus-border: #86b7fe; --color-input-focus-shadow: rgba(13, 110, 253, 0.25); --gradient-primary: linear-gradient(135deg, var(--color-primary), var(--color-accent)); --gradient-overlay-dark: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)); --gradient-glass: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); --shadow-sm: 0 1px 3px rgba(0,0,0,0.05); --shadow-md: 0 4px 10px rgba(0,0,0,0.1); --shadow-lg: 0 10px 25px rgba(0,0,0,0.15); --text-shadow-light: 1px 1px 3px rgba(0,0,0,0.5); /* For light text on complex backgrounds */ --text-shadow-dark: 1px 1px 2px rgba(255,255,255,0.3); /* Subtle shadow for dark text if needed */ --border-radius-sm: 0.25rem; /* 4px */ --border-radius-md: 0.5rem; /* 8px */ --border-radius-lg: 0.75rem; /* 12px */ --transition-speed-fast: 0.2s ease; --transition-speed-normal: 0.3s ease; --header-height: 80px; --footer-height: auto; /* dynamic */ } /* 2. Reset & Base Styles -------------------------------------------------------------------*/ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { scroll-behavior: smooth; font-size: 16px; /* Base font size */ } body { font-family: var(--font-secondary); line-height: 1.7; color: var(--color-text-dark); background-color: var(--color-text-light); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; /* Prevent horizontal scroll */ /* Body styles from prompt, padding-top handled by .main-container or main element */ min-height: 100vh; display: flex; flex-direction: column; } .main-container { /* This will handle the overall page structure */ flex-grow: 1; display: flex; flex-direction: column; padding-top: var(--header-height); /* For fixed header */ } main { flex-grow: 1; /* Ensure main content takes available space */ } h1, h2, h3, h4, h5, h6 { font-family: var(--font-primary); font-weight: 700; line-height: 1.3; margin-bottom: 0.75em; color: var(--color-text-darker); } h1 { font-size: 2.8rem; margin-bottom: 0.5em;} h2 { font-size: 2.2rem; } h3 { font-size: 1.8rem; } h4 { font-size: 1.4rem; } p { margin-bottom: 1.25rem; color: var(--color-text-dark); /* Ensuring p text is dark on light backgrounds */ } a { color: var(--color-primary); text-decoration: none; transition: color var(--transition-speed-fast); } a:hover { color: var(--color-primary-dark); text-decoration: underline; } img { max-width: 100%; height: auto; display: block; } ul, ol { list-style-position: inside; margin-bottom: 1rem; } /* 3. Utility Classes -------------------------------------------------------------------*/ .section-padding { padding-top: 60px; padding-bottom: 60px; } .bg-light { background-color: var(--color-bg-light); } .text-center { text-align: center; } .text-light { color: var(--color-text-light) !important; } .text-dark { color: var(--color-text-dark) !important; } .mb-0 { margin-bottom: 0 !important; } .mt-0 { margin-top: 0 !important; } .section-title { text-align: center; margin-bottom: 40px; font-size: 2.5rem; color: var(--color-text-darker); /* Extra contrast for section titles */ position: relative; padding-bottom: 15px; } .section-title::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 80px; height: 4px; background-color: var(--color-primary); border-radius: var(--border-radius-sm); } .section-intro { text-align: center; max-width: 700px; margin-left: auto; margin-right: auto; margin-bottom: 50px; font-size: 1.1rem; color: var(--color-text-muted); } .parallax-bg { background-attachment: fixed; background-position: center; background-repeat: no-repeat; background-size: cover; position: relative; } .hero-overlay, .page-title-section .hero-overlay, .page-title-section-img .hero-overlay { /* Generic overlay for text readability on bg images */ position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: var(--gradient-overlay-dark); z-index: 1; } .content-column { /* For single column text pages like privacy, terms */ max-width: 800px; margin: 0 auto; padding: 20px; } /* 4. Global Component Styles -------------------------------------------------------------------*/ /* Buttons */ .btn, button, input[type="submit"], input[type="button"] { display: inline-block; font-family: var(--font-primary); font-weight: 600; font-size: 1rem; text-align: center; vertical-align: middle; cursor: pointer; user-select: none; background-color: transparent; border: 2px solid transparent; padding: 0.75rem 1.5rem; /* Generous padding */ border-radius: var(--border-radius-md); transition: all var(--transition-speed-normal); letter-spacing: 0.5px; text-decoration: none !important; /* Ensure no underline on buttons */ line-height: 1.5; /* Ensure text is vertically centered */ } .btn-primary { color: var(--color-text-light); background-color: var(--color-primary); border-color: var(--color-primary); box-shadow: var(--shadow-sm); } .btn-primary:hover { color: var(--color-text-light); background-color: var(--color-primary-dark); border-color: var(--color-primary-dark); transform: translateY(-2px) scale(1.02); /* Subtle 3D effect */ box-shadow: var(--shadow-md); } .btn-secondary { color: var(--color-primary); background-color: transparent; border-color: var(--color-primary); } .btn-secondary:hover { color: var(--color-text-light); background-color: var(--color-primary); border-color: var(--color-primary); transform: translateY(-2px); } .btn-hero { /* Specific to hero, if larger */ padding: 1rem 2rem; font-size: 1.1rem; } .btn-lg { padding: 1rem 2.5rem; font-size: 1.15rem; } /* Forms */ .form-group { margin-bottom: 1.5rem; } .form-group label { display: block; font-family: var(--font-primary); font-weight: 600; margin-bottom: 0.5rem; color: var(--color-text-dark); } input[type="text"], input[type="email"], input[type="tel"], input[type="password"], textarea, select { display: block; width: 100%; padding: 0.75rem 1rem; font-family: var(--font-secondary); font-size: 1rem; font-weight: 400; line-height: 1.5; color: var(--color-text-dark); background-color: var(--color-text-light); background-clip: padding-box; border: 1px solid var(--color-input-border); appearance: none; /* Modern look */ border-radius: var(--border-radius-md); transition: border-color var(--transition-speed-fast), box-shadow var(--transition-speed-fast); } input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, textarea:focus, select:focus { border-color: var(--color-input-focus-border); outline: 0; box-shadow: 0 0 0 0.25rem var(--color-input-focus-shadow); } textarea { resize: vertical; min-height: 120px; } select { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right 1rem center; background-size: 16px 12px; padding-right: 2.5rem; /* Space for arrow */ } /* Cards */ .card { background-color: var(--color-text-light); border: 1px solid var(--color-border); border-radius: var(--border-radius-lg); box-shadow: var(--shadow-md); overflow: hidden; /* Ensures content respects border-radius */ transition: transform var(--transition-speed-normal), box-shadow var(--transition-speed-normal); display: flex; /* For centering content */ flex-direction: column; align-items: center; /* Center items horizontally */ text-align: center; /* Center text within card */ height: 100%; /* For equal height cards in a grid */ padding: 1rem; /* Added padding for cards */ } .card:hover { transform: translateY(-5px) scale(1.01); /* 3D effect */ box-shadow: var(--shadow-lg); } .card-image { /* Container for the image within a card */ width: 100%; height: 250px; /* Fixed height for image containers */ overflow: hidden; display: flex; justify-content: center; align-items: center; margin-bottom: 1rem; } .card-image img { width: 100%; height: 100%; object-fit: cover; /* Ensures image covers the container, might crop */ transition: transform var(--transition-speed-normal); border-radius: var(--border-radius-sm); /* Slightly rounded images in cards */ } .card:hover .card-image img { transform: scale(1.05); } .card-content { padding: 0 1rem 1rem 1rem; /* Adjusted padding */ flex-grow: 1; /* Allows content to fill remaining space */ display: flex; flex-direction: column; justify-content: space-between; /* Pushes button to bottom if card has fixed height */ width: 100%; /* Ensure padding is applied correctly */ } .card-title { font-size: 1.5rem; margin-bottom: 0.75rem; color: var(--color-text-darker); } .card-title-small { /* For mission/vision cards on About page */ font-size: 1.3rem; margin-bottom: 0.5rem; } .card-description { font-size: 0.95rem; color: var(--color-text-muted); margin-bottom: 1rem; flex-grow: 1; } .card .btn { /* Button specific to card */ margin-top: auto; /* Pushes button to the bottom */ align-self: center; /* Center button if card content is centered */ } .read-more-link { font-family: var(--font-primary); font-weight: 600; color: var(--color-accent); text-decoration: none; display: inline-block; margin-top: 1rem; transition: color var(--transition-speed-fast); } .read-more-link:hover { color: var(--color-accent-dark); text-decoration: underline; } .read-more-link::after { content: " \2192"; /* Right arrow */ } /* 5. Layout Styles -------------------------------------------------------------------*/ /* .main-container already handled by body flex */ .container { width: 100%; max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 15px; padding-right: 15px; } /* Header */ .site-header { position: fixed; /* Fixed header */ top: 0; left: 0; width: 100%; height: var(--header-height); background-color: rgba(255, 255, 255, 0.9); /* Semi-transparent white */ backdrop-filter: blur(10px); /* Glassmorphism effect */ -webkit-backdrop-filter: blur(10px); box-shadow: var(--shadow-sm); z-index: 1000; transition: background-color var(--transition-speed-normal), box-shadow var(--transition-speed-normal); } .site-header.scrolled { /* Add via JS on scroll */ background-color: rgba(255, 255, 255, 0.95); box-shadow: var(--shadow-md); } .header-container { display: flex; justify-content: space-between; align-items: center; height: 100%; } .logo { font-family: var(--font-primary); font-size: 1.8rem; font-weight: 700; color: var(--color-primary); text-decoration: none; } .logo:hover { color: var(--color-primary-dark); } .main-navigation .nav-menu { display: flex; list-style: none; margin: 0; padding: 0; } .main-navigation .nav-menu li { margin-left: 25px; } .main-navigation .nav-menu a { font-family: var(--font-primary); font-weight: 600; color: var(--color-text-dark); text-decoration: none; padding: 5px 0; position: relative; transition: color var(--transition-speed-fast); } .main-navigation .nav-menu a:hover, .main-navigation .nav-menu a.active { /* Add .active class via JS */ color: var(--color-primary); } .main-navigation .nav-menu a::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 0; height: 2px; background-color: var(--color-primary); transition: width var(--transition-speed-normal); } .main-navigation .nav-menu a:hover::after, .main-navigation .nav-menu a.active::after { width: 100%; } .header-contact-info .phone-number { font-family: var(--font-primary); font-weight: 600; color: var(--color-accent); text-decoration: none; font-size: 1rem; border: 1px solid var(--color-accent); padding: 8px 15px; border-radius: var(--border-radius-md); transition: all var(--transition-speed-fast); } .header-contact-info .phone-number:hover { background-color: var(--color-accent); color: var(--color-text-light); } .nav-toggle { /* Burger menu button */ display: none; /* Hidden on desktop */ background: none; border: none; cursor: pointer; padding: 10px; z-index: 1010; /* Above nav menu */ } .hamburger { display: block; width: 25px; height: 3px; background-color: var(--color-text-dark); position: relative; transition: transform 0.3s ease, background-color 0.3s ease; } .hamburger::before, .hamburger::after { content: ''; position: absolute; left: 0; width: 25px; height: 3px; background-color: var(--color-text-dark); transition: transform 0.3s ease, top 0.3s ease, bottom 0.3s ease; } .hamburger::before { top: -8px; } .hamburger::after { bottom: -8px; } /* Active state for hamburger */ .nav-toggle.active .hamburger { background-color: transparent; /* Middle line disappears */ } .nav-toggle.active .hamburger::before { top: 0; transform: rotate(45deg); } .nav-toggle.active .hamburger::after { bottom: 0; transform: rotate(-45deg); } /* Footer */ .site-footer { background-color: var(--color-text-darker); color: var(--color-text-muted); padding: 50px 0 0; /* Padding top, bottom handled by footer-bottom */ font-size: 0.9rem; margin-top: auto; /* Push footer to bottom for body display:flex */ } .footer-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 30px; padding-bottom: 40px; /* Space before footer-bottom */ } .footer-column h4.footer-title { font-family: var(--font-primary); font-size: 1.2rem; color: var(--color-text-light); margin-bottom: 20px; position: relative; padding-bottom: 10px; } .footer-column h4.footer-title::after { content: ''; position: absolute; left: 0; bottom: 0; width: 40px; height: 2px; background-color: var(--color-primary); } .footer-column p, .footer-column ul { margin-bottom: 0; } .footer-column ul { list-style: none; padding: 0; } .footer-column ul li { margin-bottom: 10px; } .footer-column ul li a { color: var(--color-text-muted); text-decoration: none; transition: color var(--transition-speed-fast), padding-left var(--transition-speed-fast); } .footer-column ul li a:hover { color: var(--color-text-light); padding-left: 5px; /* Subtle hover effect */ text-decoration: underline; } .footer-column.footer-social .social-links-text li a { display: inline-block; } .footer-column strong a { /* Phone number in footer */ color: var(--color-secondary); } .footer-column strong a:hover { color: var(--color-secondary-dark); } .footer-bottom { text-align: center; padding: 20px 0; border-top: 1px solid #495057; /* Slightly lighter border in dark footer */ font-size: 0.85rem; } .footer-bottom p { margin: 0; } /* 6. Section-Specific Styles -------------------------------------------------------------------*/ /* Hero Section */ .hero-section { color: var(--color-text-light); display: flex; align-items: center; justify-content: center; text-align: center; position: relative; /* For overlay */ /* min-height: calc(100vh - var(--header-height)); Ensure this doesn't conflict with body flex */ padding: 60px 0; /* Natural height based on content */ } .hero-content { position: relative; z-index: 2; padding: 20px; max-width: 800px; /* Control content width */ } .hero-title { font-size: 3.5rem; /* Larger for hero */ font-weight: 700; margin-bottom: 20px; color: var(--color-text-light); /* Explicitly white as per requirement */ text-shadow: var(--text-shadow-light); } .hero-subtitle { font-size: 1.3rem; margin-bottom: 30px; font-weight: 400; color: var(--color-text-light); /* Explicitly white */ text-shadow: var(--text-shadow-light); opacity: 0.9; } /* Methodology Section */ .methodology-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 30px; margin-top: 40px; } .step { background-color: var(--color-text-light); padding: 25px; border-radius: var(--border-radius-lg); box-shadow: var(--shadow-md); text-align: center; transition: transform var(--transition-speed-normal), box-shadow var(--transition-speed-normal); } .step:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); } .step-icon-container { margin-bottom: 15px; } .step-icon { width: 70px; height: 70px; object-fit: contain; margin: 0 auto; filter: drop-shadow(2px 2px 5px rgba(0,0,0,0.1)); /* 3D icon effect */ } .step-title { font-size: 1.4rem; color: var(--color-primary); margin-bottom: 10px; } .step-description { font-size: 0.95rem; color: var(--color-text-muted); } /* Progress Indicators */ .progress-indicator-container { width: 100%; background-color: var(--color-bg-medium); border-radius: var(--border-radius-sm); margin-top: 15px; overflow: hidden; /* Ensure progress bar respects border-radius */ } .progress-bar { height: 15px; background-color: var(--color-accent); width: 0%; /* Initial width, JS will update */ border-radius: var(--border-radius-sm); text-align: right; line-height: 15px; color: var(--color-text-light); font-size: 0.75rem; padding-right: 5px; transition: width 1s ease-in-out; /* Smooth animation */ } .progress-bar span { font-family: var(--font-primary); font-weight: 600; } /* Services Section (Portfolio) */ .services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 30px; } /* Using general .card styles */ /* Statistical Widgets (inside cards or standalone) */ .stat-widget { margin-top: 1rem; padding: 0.75rem; background-color: var(--color-bg-light); /* Subtle background */ border-radius: var(--border-radius-sm); text-align: center; border: 1px solid var(--color-border); } .stat-widget .stat-value { display: block; font-family: var(--font-primary); font-size: 2rem; font-weight: 700; color: var(--color-accent); } .stat-widget .stat-label { display: block; font-size: 0.9rem; color: var(--color-text-muted); } /* Projects Section (Case Studies) */ .custom-slider-container { position: relative; /* JS will handle slider functionality; this is for basic layout */ } .project-slide { /* Each slide is a card */ /* Using general .card styles. Ensure visibility is handled by JS */ box-shadow: var(--shadow-lg); /* More prominent shadow for featured projects */ } .project-slide .card-image { height: 300px; /* Adjust as needed for project slides */ } .project-title { font-size: 1.6rem; color: var(--color-primary); } .project-challenge, .project-solution, .project-results { font-size: 0.95rem; text-align: left; margin-bottom: 0.75rem; } .project-challenge strong, .project-solution strong, .project-results strong { font-family: var(--font-primary); color: var(--color-text-darker); } .slider-controls { text-align: center; margin-top: 20px; } .slider-controls button { background: var(--color-primary); color: var(--color-text-light); border: none; border-radius: 50%; width: 40px; height: 40px; font-size: 1.2rem; margin: 0 10px; transition: background-color var(--transition-speed-fast); } .slider-controls button:hover { background: var(--color-primary-dark); } /* Resources Section */ .resources-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 25px; } .resource-item.card { /* Ensure resources use card styling */ text-align: left; /* Override general card text-align: center for resource items */ align-items: flex-start; /* Override general card align-items */ } .resource-item .card-content { text-align: left; } .resource-title { font-size: 1.2rem; margin-bottom: 0.5rem; } .resource-title a { color: var(--color-primary); text-decoration: none; } .resource-title a:hover { color: var(--color-primary-dark); text-decoration: underline; } .resource-description { font-size: 0.9rem; color: var(--color-text-muted); } /* Contact Section */ .contact-section .container { display: grid; grid-template-columns: 1fr; /* Default for single column */ gap: 40px; } @media (min-width: 992px) { .contact-section .container { /* This grid structure is for the main ./ contact section */ grid-template-columns: minmax(0, 2fr) minmax(0, 1.5fr); /* Form | Details */ } /* For contacts.html, the grid might be different or not used if elements are stacked */ #contact-page-form .container { grid-template-columns: 1fr; /* Ensure contacts.html form is single column if needed */ } } .contact-form-container { background-color: var(--color-text-light); padding: 30px; border-radius: var(--border-radius-lg); box-shadow: var(--shadow-md); } .contact-details { padding-left: 0; /* No padding on mobile */ } @media (min-width: 992px) { .contact-details { padding-left: 20px; /* Add padding for desktop layout in ./ */ } } .contact-subtitle { font-size: 1.5rem; color: var(--color-text-darker); margin-bottom: 15px; } .contact-details p { margin-bottom: 10px; font-size: 1rem; } .contact-details p strong { font-family: var(--font-primary); color: var(--color-text-dark); } .contact-details a { color: var(--color-primary); word-break: break-all; } .contact-details a:hover { color: var(--color-primary-dark); } .map-placeholder img, .map-container-full iframe { width: 100%; border-radius: var(--border-radius-md); box-shadow: var(--shadow-sm); margin-top: 20px; border: 0; /* for iframe */ } .map-note { font-size: 0.85rem; color: var(--color-text-muted); text-align: center; margin-top: 10px; } /* Icons for contact info on contact page */ .contact-info-detailed i { margin-right: 10px; color: var(--color-primary); width: 20px; /* Ensure consistent alignment */ text-align: center; } /* About Page Specifics */ .page-title-section { /* For About, Contact, Legal pages title header with PARALLAX BG */ padding: 60px 0; color: var(--color-text-light); text-align: center; position: relative; /* For overlay */ /* margin-top: var(--header-height); Removed as main-container handles padding */ } .page-title-section-img { /* For About page title header with IMG tag */ position: relative; text-align: center; color: var(--color-text-light); /* margin-top: var(--header-height); Removed as main-container handles padding */ } .image-container-fullwidth { position: relative; width: 100%; max-height: 500px; /* Control banner height */ overflow: hidden; } .image-container-fullwidth img { width: 100%; height: 100%; object-fit: cover; display: block; } .page-title-content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2; width: 90%; max-width: 800px; } .page-title { font-size: 3rem; color: var(--color-text-light) !important; /* Override default h1 color */ text-shadow: var(--text-shadow-light); position: relative; z-index: 2; } .page-subtitle { font-size: 1.2rem; color: var(--color-text-light) !important; text-shadow: var(--text-shadow-light); opacity: 0.9; margin-top: 0.5rem; } .about-intro-section .content-column { padding: 20px; /* Ensure padding */ } .mission-values-section .card .card-image { height: 100px; /* Smaller icon images */ width: 100px; margin-bottom: 1rem; } .mission-values-section .card-image img { object-fit: contain; } .mission-vision-values-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 30px; margin-top: 20px; /* Reduced margin */ } .mission-vision-values-grid .card { background-color: var(--color-bg-light); /* Slightly different bg for emphasis */ text-align: left; align-items: center; /* Center icon */ padding: 2rem; } .mission-vision-values-grid .card-content { text-align: left; } .mission-vision-values-grid ul { padding-left: 20px; text-align: left; } .mission-vision-values-grid ul li { margin-bottom: 8px; color: var(--color-text-muted); } .team-grid-about { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* Responsive columns */ gap: 30px; margin-top: 30px; } .team-member-card { /* Direct styling for team cards */ background-color: var(--color-text-light); border: 1px solid var(--color-border); border-radius: var(--border-radius-lg); padding: 20px; box-shadow: var(--shadow-md); text-align: center; transition: transform 0.3s ease, box-shadow 0.3s ease; display: flex; flex-direction: column; align-items: center; } .team-member-card:hover { transform: translateY(-5px) scale(1.02); box-shadow: var(--shadow-lg); } .team-image-container { width: 150px; /* Smaller image for team members */ height: 150px; border-radius: 50%; overflow: hidden; margin-bottom: 1rem; /* Space below image */ border: 4px solid var(--color-text-light); box-shadow: 0 2px 4px rgba(0,0,0,0.1); } .team-image-container img { width: 100%; height: 100%; object-fit: cover; } .team-member-name { font-size: 1.3rem; margin-top: 0.5rem; /* Space above name */ margin-bottom: 0.25rem; color: var(--color-text-darker); } .team-member-title { font-family: var(--font-primary); color: var(--color-primary); font-weight: 600; margin-bottom: 0.75rem; font-size: 0.95rem; } .team-member-bio { font-size: 0.9rem; color: var(--color-text-muted); line-height: 1.6; } .achievements-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 25px; margin-top: 20px; } .achievement-item.card .card-image { width: 80px; height: 80px; margin-bottom: 1rem; } .achievement-item.card .card-image img { object-fit: contain; } .achievement-title { font-size: 1.25rem; color: var(--color-accent); margin-bottom: 0.5rem; } .testimonials-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; margin-top: 20px; } .testimonial-card { /* Direct styling for testimonial cards */ background-color: var(--color-bg-light); border: 1px solid var(--color-border); border-radius: var(--border-radius-lg); padding: 25px; box-shadow: var(--shadow-sm); text-align: center; display: flex; flex-direction: column; align-items: center; } .testimonial-image-container { width: 100px; height: 100px; border-radius: 50%; overflow: hidden; margin-bottom: 1rem; border: 3px solid var(--color-primary); } .testimonial-image-container img { width: 100%; height: 100%; object-fit: cover; } .testimonial-quote { font-style: italic; color: var(--color-text-muted); margin-bottom: 1rem; font-size: 0.95rem; line-height: 1.7; position: relative; padding: 0 10px; } .testimonial-quote::before { content: '“'; font-size: 2.5rem; color: var(--color-primary); position: absolute; left: -10px; top: -10px; opacity: 0.5; } .testimonial-quote::after { content: '”'; font-size: 2.5rem; color: var(--color-primary); position: absolute; right: -10px; bottom: -15px; opacity: 0.5; } .testimonial-author { font-family: var(--font-primary); font-weight: 600; color: var(--color-text-darker); margin-top: auto; /* Push to bottom if card content allows */ } .gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin-top: 20px; } .gallery-item { border-radius: var(--border-radius-md); overflow: hidden; box-shadow: var(--shadow-md); transition: transform 0.3s ease, box-shadow 0.3s ease; } .gallery-item:hover { transform: scale(1.03); box-shadow: var(--shadow-lg); } .gallery-item img { width: 100%; height: 220px; object-fit: cover; display: block; } .cta-section { background-color: var(--color-primary); /* Bright background for CTA */ color: var(--color-text-light); padding: 60px 20px; } .cta-section .section-title, .cta-section .section-intro { color: var(--color-text-light); text-shadow: 1px 1px 2px rgba(0,0,0,0.2); } .cta-section .section-title::after { background-color: var(--color-secondary); /* Contrasting accent for title underline */ } .cta-section .btn-primary { /* Custom CTA button */ background-color: var(--color-secondary); color: var(--color-text-darker); border-color: var(--color-secondary); font-weight: 700; } .cta-section .btn-primary:hover { background-color: var(--color-secondary-dark); border-color: var(--color-secondary-dark); color: var(--color-text-dark); } /* Stats Section on About Page (Already defined, ensure consistent use or rename if needed) */ .stats-section { padding: 40px 0; } .stats-widgets-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 30px; margin-top: 20px; } .stat-widget-large { background-color: var(--color-bg-light); padding: 25px; border-radius: var(--border-radius-lg); text-align: center; box-shadow: var(--shadow-md); border: 1px solid var(--color-border); } .stat-widget-large .stat-icon img { width: 50px; height: 50px; margin: 0 auto 15px auto; filter: drop-shadow(2px 2px 3px rgba(0,0,0,0.1)); } .stat-widget-large .stat-value-large { font-family: var(--font-primary); font-size: 3rem; font-weight: 700; color: var(--color-accent); display: block; } .stat-widget-large .stat-label-large { font-family: var(--font-primary); font-size: 1.1rem; color: var(--color-text-dark); display: block; margin-bottom: 10px; } .stat-widget-large p { font-size: 0.9rem; color: var(--color-text-muted); margin-bottom: 0; } /* 7. Page-Specific Styles -------------------------------------------------------------------*/ /* success.html */ .success-page-section { flex-grow: 1; /* Make section take available space */ display: flex; align-items: center; justify-content: center; } .success-page-section .container.success-container { /* min-height: calc(100vh - var(--header-height) - var(--footer-height)); */ /* Using flex on body now */ display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 40px 20px; /* Padding for content */ max-width: 600px; } .success-icon { font-size: 4rem; color: var(--color-accent); margin-bottom: 20px; line-height: 1; } .success-page-section .page-title { color: var(--color-text-darker); /* Override hero-like title color */ text-shadow: none; font-size: 2.5rem; } .success-page-section .section-intro { font-size: 1.1rem; color: var(--color-text-muted); } /* privacy.html & terms.html */ .legal-content-section { /* padding-top: calc(var(--header-height) + 40px); Already handled by main-container */ padding-top: 40px; padding-bottom: 60px; } .legal-content-section .container { padding: 20px; /* Ensure padding within the container */ } .legal-content-section h2 { font-size: 1.8rem; color: var(--color-primary); margin-top: 2rem; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--color-bg-medium); } .legal-content-section h2:first-of-type { margin-top: 0; } .legal-content-section p, .legal-content-section ul { margin-bottom: 1.25rem; line-height: 1.8; } .legal-content-section ul { padding-left: 25px; } .legal-content-section ul li { margin-bottom: 0.5rem; } .legal-content-section strong { font-family: var(--font-primary); font-weight: 600; color: var(--color-text-darker); } /* 8. Animations & Transitions (Complementing Animate.css and JS libs) -------------------------------------------------------------------*/ /* General hover scale for interactive elements (apply class .interactive-scale) */ .interactive-scale:hover { transform: scale(1.03); } /* Setting up for GSAP/Motion One 3D effects */ .parallax-parent { perspective: 1000px; /* For 3D parallax effects on children */ } .parallax-child { /* JS will apply transform: translateZ() or similar */ transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1); /* Smooth parallax transition */ } /* 9. Responsive Styles (Media Queries) -------------------------------------------------------------------*/ @media (max-width: 991px) { .header-contact-info { display: none; /* Hide phone on mobile header, or move to menu */ } .nav-toggle { display: block; /* Show burger */ } .main-navigation .nav-menu { position: fixed; top: var(--header-height); left: 0; width: 100%; height: calc(100vh - var(--header-height)); background-color: var(--color-text-light); flex-direction: column; align-items: center; justify-content: flex-start; /* Start items from top */ padding-top: 30px; transform: translateX(-100%); transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1); box-shadow: var(--shadow-lg); overflow-y: auto; z-index: 999; /* Below header but above content */ } .main-navigation .nav-menu.active { transform: translateX(0); } .main-navigation .nav-menu li { margin: 0; width: 100%; text-align: center; } .main-navigation .nav-menu a { display: block; padding: 15px 20px; font-size: 1.2rem; border-bottom: 1px solid var(--color-bg-medium); width: 100%; } .main-navigation .nav-menu a:hover, .main-navigation .nav-menu a.active { background-color: var(--color-bg-light); } .main-navigation .nav-menu a::after { /* Remove underline effect for mobile */ display: none; } .hero-title { font-size: 2.5rem; } .hero-subtitle { font-size: 1.1rem; } .section-title { font-size: 2rem; } .page-title { font-size: 2.5rem; } .contact-section .container { grid-template-columns: 1fr; /* Stack form and details on mobile */ } .contact-details { padding-left: 0; margin-top: 30px; } .team-grid-about, .achievements-grid, .testimonials-grid, .gallery-grid, .mission-vision-values-grid { grid-template-columns: 1fr; /* Stack cards on mobile */ } } @media (max-width: 767px) { .hero-title { font-size: 2rem; } .hero-subtitle { font-size: 1rem; } .section-padding { padding-top: 40px; padding-bottom: 40px; } .page-title-section, .page-title-section-img { padding: 40px 0; } .page-title-section-img .page-title-content { padding: 20px; } .page-title { font-size: 2.2rem; } .page-subtitle { font-size: 1rem; } .footer-container { grid-template-columns: 1fr; /* Stack footer columns */ text-align: center; } .footer-column h4.footer-title::after { left: 50%; transform: translateX(-50%); } .footer-column ul li a:hover { padding-left: 0; /* Remove padding shift on mobile */ } } @media (max-width: 480px) { h1 { font-size: 2.2rem; } h2 { font-size: 1.8rem; } .section-title { font-size: 1.8rem; } .hero-title { font-size: 1.8rem; } .page-title { font-size: 2rem; } .btn, button, input[type="submit"] { padding: 0.6rem 1.2rem; font-size: 0.9rem; } .btn-hero { padding: 0.8rem 1.5rem; font-size: 1rem; } } /* Cookie Consent Popup Styles (already in HTML, but can be enhanced here) */ /* .cookie-consent-popup is styled inline for simplicity in the prompt, but these styles would normally reside here. Ensure consistency. */