:root {--primary: #0066FF; --primary-dark: #0047B3; --primary-light: #3385FF;--secondary: #00D4AA; --secondary-dark: #00A887; --success: #10B981; --warning: #F59E0B; --danger: #EF4444; --info: #3B82F6; --gray-900: #0F172A; --gray-800: #1E293B; --gray-700: #334155; --gray-600: #475569; --gray-500: #64748B; --gray-400: #94A3B8; --gray-300: #CBD5E1;
    --gray-200: #E2E8F0; --gray-100: #F1F5F9; --gray-50: #F8FAFC; --white: #FFFFFF; --black: #000000; --bg-primary: var(--white); --bg-secondary: var(--gray-50); --bg-tertiary: var(--gray-100);  --text-primary: var(--gray-900);--text-secondary: var(--gray-600); --text-tertiary: var(--gray-500);--border-color: var(--gray-200);--border-hover: var(--gray-300); --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; --font-mono: 'Fira Code', 'Consolas', monospace;--text-xs: 0.75rem; --text-sm: 0.875rem; --text-base: 1rem; --text-lg: 1.125rem; --text-xl: 1.25rem; --text-2xl: 1.5rem;--text-3xl: 1.875rem; --text-4xl: 2.25rem; --text-5xl: 3rem; --space-1: 0.25rem;    --space-2: 0.5rem;--space-3: 0.75rem; --space-4: 1rem;--space-5: 1.25rem; --space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem; --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);--shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);--radius-sm: 0.25rem;--radius: 0.375rem;--radius-md: 0.5rem;--radius-lg: 0.75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--transition-fast: 150ms ease;
    --transition: 300ms ease;--transition-slow: 500ms ease;--z-base: 0;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;
    --z-tooltip: 1070;}[data-theme="dark"]{--bg-primary: var(--gray-900);--bg-secondary: var(--gray-800);--bg-tertiary: var(--gray-700);--text-primary: var(--gray-100);--text-secondary: var(--gray-400);--text-tertiary: var(--gray-500);--border-color: var(--gray-700);--border-hover: var(--gray-600);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.25); --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.3), 0 1px 2px -1px rgb(0 0 0 / 0.3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.3), 0 2px 4px -2px rgb(0 0 0 / 0.3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.3), 0 4px 6px -4px rgb(0 0 0 / 0.3);}@media (prefers-color-scheme: dark) {:root:not([data-theme="light"]) {--bg-primary: var(--gray-900);--bg-secondary: var(--gray-800);--bg-tertiary: var(--gray-700);--text-primary: var(--gray-100);--text-secondary: var(--gray-400);--text-tertiary: var(--gray-500);--border-color: var(--gray-700);--border-hover: var(--gray-600);}}*, *::before,*::after{box-sizing: border-box;}*{margin: 0;padding: 0;}html {font-size: 16px;-webkit-text-size-adjust: 100%;scroll-behavior: smooth;}body {font-family: var(--font-primary);font-size: var(--text-base);line-height: 1.6;color: var(--text-primary);background-color: var(--bg-primary);-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;transition: background-color var(--transition), color var(--transition);}img, picture, video, canvas, svg {
    display: block;max-width: 100%;height: auto;}input, button, textarea, select {font: inherit;}p, h1, h2, h3, h4, h5, h6 {overflow-wrap: break-word;}a {color: var(--primary);
    text-decoration: none;transition: color var(--transition-fast);font-weight: bold;}a:hover {color: var(--primary-dark);}button {cursor: pointer;background: none;border: none;
    font: inherit;}.container {width: 100%;max-width: 1200px;margin: 0 auto;padding: 0 var(--space-4);}@media (min-width: 768px) {.container {padding: 0 var(--space-6);}}.sr-only {
    position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0, 0, 0, 0);white-space: nowrap;border: 0;}h1, .h1 {font-size: clamp(var(--text-3xl), 5vw, var(--text-5xl));font-weight: 800;line-height: 1.2;letter-spacing: -0.02em;}h2, .h2 {font-size: clamp(var(--text-2xl), 4vw, var(--text-4xl));font-weight: 700;
    line-height: 1.3;letter-spacing: -0.01em;}h3, .h3 {font-weight: 600;line-height: 1.4;}.skills-column  h3 {font-size: var(--text-xl) !important;}@keyframes fadeInUp {from {
        opacity: 0;transform: translateY(20px);}to {opacity: 1;transform: translateY(0);}}@keyframes fadeIn {from { opacity: 0; }to { opacity: 1; }}@keyframes slideInRight {from {
        opacity: 0;transform: translateX(-20px);}to {opacity: 1;transform: translateX(0);}}.animate-fade-in {animation: fadeIn var(--transition-slow) ease-out;}.animate-fade-in-up {
    animation: fadeInUp var(--transition-slow) ease-out;}.scroll-indicator {position: fixed;top: 0;left: 0;right: 0;height: 4px;background: var(--bg-tertiary);z-index: var(--z-sticky);}.scroll-progress {height: 100%;background: linear-gradient(90deg, var(--primary) 0%, var(--secondary) 100%);transform-origin: left;transform: scaleX(0);transition: transform var(--transition-fast);}:focus-visible {outline: 2px solid var(--primary);outline-offset: 2px;}[data-theme="dark"] .main-nav {background: rgba(15, 23, 42, 0.8);
}.theme-toggle {display: flex;align-items: center;justify-content: center;width: 40px;height: 40px;border-radius: var(--radius-md);color: var(--text-primary);transition: all var(--transition-fast);}.theme-toggle:hover {background: var(--bg-secondary);}.theme-icon-light,.theme-icon-dark {width: 20px;height: 20px;}.theme-icon-dark {display: none;}[data-theme="dark"] .theme-icon-light {display: none;}[data-theme="dark"] .theme-icon-dark {display: block;}.nav-cta {display: none;padding: var(--space-2) var(--space-4);
    background: var(--primary);color: var(--white);font-weight: 500;border-radius: var(--radius-full);transition: all var(--transition-fast);}@media (min-width: 768px) {.nav-cta {
        display: block;}}.nav-cta:hover {background: var(--primary-dark);transform: translateY(-2px);box-shadow: var(--shadow-md);color: white;}.hero {min-height: calc(100vh - 64px);
    margin-top: 64px;display: flex;align-items: center;padding: var(--space-16) 0;overflow: hidden;}@media (max-width: 767px) {.hero {min-height: calc(100vh - 56px);margin-top: 0;
        margin-bottom: 56px;padding: var(--space-8) 0;}}.hero-content {display: grid;grid-template-columns: 1fr;gap: var(--space-12);align-items: center;}@media (min-width: 768px) {
    .hero-content {grid-template-columns: 1fr 1fr;}.hero-badge{margin-top: var(--space-12);}}.hero-badge {display: inline-flex;align-items: center;gap: var(--space-2);padding: var(--space-1) var(--space-3);background: var(--bg-secondary);border: 1px solid var(--border-color);border-radius: var(--radius-full);font-size: var(--text-sm);color: var(--text-secondary);margin-bottom: var(--space-4);margin-top: 0px;}.badge-dot {width: 8px;height: 8px;background: var(--success);border-radius: var(--radius-full);animation: pulse 2s infinite;}@keyframes pulse {0%, 100% {opacity: 1;transform: scale(1);}50% {opacity: 0.5;transform: scale(1.2);}}.hero-title {margin-bottom: var(--space-6);}.text-gradient {
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);-webkit-background-clip: text;-webkit-text-fill-color: transparent;background-clip: text;font-size: var(--text-2xl) !important;}.hero-description {font-size: var(--text-lg);color: var(--text-secondary);margin-bottom: var(--space-8);max-width: 600px;}.hero-actions {display: flex;flex-wrap: wrap;gap: var(--space-4);margin-bottom: var(--space-12);}.btn {display: inline-flex;align-items: center;gap: var(--space-2);padding: var(--space-3) var(--space-6);font-weight: 500;border-radius: var(--radius-full);transition: all var(--transition-fast);text-align: center;}.btn-primary {background: var(--primary);color: var(--white);}.btn-primary:hover {background: var(--primary-dark);transform: translateY(-2px);box-shadow: var(--shadow-lg);color: var(--white);}.btn-secondary {background: var(--bg-secondary);color: var(--text-primary);border: 1px solid var(--border-color);}.btn-secondary:hover {background: var(--bg-tertiary);border-color: var(--border-hover);
    color: var(--white);}.hero-stats {display: grid;grid-template-columns: repeat(3, 1fr);gap: var(--space-4);}.stat {text-align: center;}.stat-value {font-size: var(--text-3xl);
    font-weight: 700;color: var(--primary);line-height: 1;margin-bottom: var(--space-2);}.stat-label {font-size: var(--text-sm);color: var(--text-secondary);}.hero-image {position: relative;display: flex;justify-content: center;align-items: center;}.hero-image img {width: 100%;max-width: 400px;height: auto;border-radius: var(--radius-2xl);box-shadow: var(--shadow-xl);}.contact-section {padding: var(--space-16) 0;background: var(--bg-secondary);}.nav-scrolled {box-shadow: var(--shadow-md);}.animate-fade-in-up,
.animate-fade-in {will-change: opacity, transform;}@media (max-width: 767px) {.hide-mobile {display: none !important;}}@media (min-width: 768px) {.hide-desktop {display: none !important;}}@media print {.main-nav,.scroll-indicator,.nav-cta,.theme-toggle {display: none !important;}body {color: black !important;background: white !important;}}@media (max-width: 767px) {body {padding-bottom: 56px;}.cv-header {margin-top: 0;}.cv-main {padding: var(--space-8) 0;}}@media (max-width: 768px) {.nav-cta {position: fixed;bottom: 70px;
        right: 20px;z-index: var(--z-sticky);box-shadow: var(--shadow-lg);}}.footer {position: relative;margin-top: var(--space-16);background: linear-gradient(60deg, var(--primary) 0%, var(--secondary) 100%);}.footer-waves {position: relative;width: 100%;height: 100px;min-height: 100px;max-height: 150px;}.waves {position: relative;width: 100%;
   height: 100%;margin-bottom: -7px;}.parallax > use {animation: move-forever 25s cubic-bezier(.55,.5,.45,.5) infinite;}.parallax > use:nth-child(1) {animation-delay: -2s;animation-duration: 7s;}.parallax > use:nth-child(2) {animation-delay: -3s;animation-duration: 10s;}.parallax > use:nth-child(3) {animation-delay: -4s;animation-duration: 13s;}.parallax > use:nth-child(4) {animation-delay: -5s;animation-duration: 20s;}@keyframes move-forever {0% {transform: translate3d(-90px,0,0);}100% {transform: translate3d(85px,0,0);}}.footer-content {background: var(--bg-primary);text-align: center;padding: var(--space-8) var(--space-4);}.footer-content p {color: var(--text-secondary);margin: 0;}@media (max-width: 767px) {.cv-section {margin-bottom: var(--space-12);}.section-title {font-size: var(--text-xl);margin-bottom: var(--space-6);}.timeline-item {margin-bottom: var(--space-8);padding-bottom: var(--space-6);}.waves {height: 40px;min-height: 40px;}}.btn_main_wrap {position: relative;display: inline-block;text-decoration: none;
    z-index: 99;}.btn_main_inner {display: inline-flex;align-items: center;gap: var(--space-2);padding: var(--space-3) var(--space-6);font-weight: 500;border-radius: var(--radius-full);transition: all var(--transition-fast);text-align: center;position: relative;cursor: pointer;}.btn_main_inner.btn-primary {background: var(--primary);color: var(--white);}.btn_main_inner.btn-secondary {background: var(--bg-secondary);color: var(--text-primary);border: 1px solid var(--border-color);}.btn_main_inner.hover {
    position: absolute;inset: 0;width: 100%;height: 100%;display: none;justify-content: center;align-items: center;clip-path: circle(0% at 50% 50%);border-radius: var(--radius-full);
}.btn_main_wrap:not(.btn-secondary-wrapper) .btn_main_inner.hover {background: var(--warning);color: var(--white);}.btn-secondary-wrapper .btn_main_inner.hover {background: var(--success);color: var(--white);border: 1px solid var(--success)}.btn_main_text {font-weight: 500;line-height: 1;}.btn_main_text.is-second {font-weight: 500;}.btn-primary:hover,
.btn-secondary:hover {transform: none;box-shadow: none;}@media (max-width: 767px) {.btn_main_inner {padding: var(--space-3) var(--space-5);font-size: var(--text-sm);}.btn_main_inner svg {width: 18px;height: 18px;}}.btn-49north,.btn-overlay {display: none !important;}.hero-image.animate-fade-in {animation: none !important;opacity: 1 !important;transform: none !important;}.hero-image.animate-fade-in img {animation: none !important;opacity: 1 !important;transform: none !important;}.animate-fade-in-up {animation: none !important;}@keyframes float {0% {box-shadow: 0 5px 15px 0px rgba(0, 0, 0, 0.6);transform: translateY(0px);}50% {box-shadow: 0 25px 15px 0px rgba(0, 0, 0, 0.2);transform: translateY(-20px);}100% {box-shadow: 0 5px 15px 0px rgba(0, 0, 0, 0.6);transform: translateY(0px);}}.hero-image img {box-sizing: border-box;border-radius: 50%;overflow: hidden;object-fit: cover;
    border-color: #00A887;transform: translateY(0px);animation: float 6s ease-in-out infinite;animation-fill-mode: both;animation-play-state: running;will-change: transform, box-shadow;}.hero-image:hover img {animation-play-state: paused;transform: translateY(-10px) scale(1.05);filter: brightness(1.5) saturate(1.2);transition: filter var(--transition-fast), transform var(--transition-fast);}.hero-image img:not(:hover) {transition: filter var(--transition), transform var(--transition);}[data-theme="dark"] @keyframes float {0% {box-shadow: 0 5px 15px 0px rgba(255, 255, 255, 0.15);transform: translateY(0px);} 50% {box-shadow: 0 25px 15px 0px rgba(255, 255, 255, 0.08);transform: translateY(-20px);}100% {box-shadow: 0 5px 15px 0px rgba(255, 255, 255, 0.15);transform: translateY(0px);}}[data-theme="dark"] .hero-image:hover img {box-shadow: 0 30px 30px 0px rgba(255, 255, 255, 0.1) !important;}@media (max-width: 768px) {.hero-image img {width: 300px;height: 300px;}}@keyframes float {0% {box-shadow: 0 4px 12px 0px rgba(0, 0, 0, 0.5);transform: translateY(0px);}50% {box-shadow: 0 20px 12px 0px rgba(0, 0, 0, 0.2);transform: translateY(-15px);}100% {box-shadow: 0 4px 12px 0px rgba(0, 0, 0, 0.5);
            transform: translateY(0px);}}@media (max-width: 480px) {.hero-image img {width: 250px;height: 250px;}.hero-badge{margin-top: var(--space-12);}}@keyframes float {0% {box-shadow: 0 3px 10px 0px rgba(0, 0, 0, 0.4);transform: translateY(0px);}50% {box-shadow: 0 15px 10px 0px rgba(0, 0, 0, 0.15);transform: translateY(-12px); } 100% {
            box-shadow: 0 3px 10px 0px rgba(0, 0, 0, 0.4); transform: translateY(0px); }}@media (prefers-reduced-motion: reduce) {.hero-image img {animation: none !important;}.hero-image:hover img {transform: scale(1.05); animation: none !important;}}.hero-image img {transform: translateZ(0); backface-visibility: hidden;perspective: 1000px;}.force-float {animation: float 6s ease-in-out infinite !important;}.pause-float {animation-play-state: paused !important;}div.hero-image img,.hero-image > img {
    animation: float 6s ease-in-out infinite; transform: translateY(0px);}img[src*="photo-cv-dethie-faye.webp"] {animation: float 6s ease-in-out infinite !important; transform: translateY(0px) !important;border-radius: 50% !important; box-sizing: border-box !important;}.permier-lien-interne a{font-weight: normal !important;}

