@import"https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=Space+Mono:ital,wght@0,400;0,700;1,400&display=swap";:root{--primary: #1A3FBF;--primary-dark: #0F2B8C;--primary-light: #4A6AE8;--secondary: #1A7A4A;--accent: #C8360A;--neutral-50: #FDFAF6;--neutral-100: #F7F3EC;--neutral-200: #EDE8DE;--neutral-300: #D8D2C6;--neutral-400: #A89D92;--neutral-500: #72675E;--neutral-600: #524840;--neutral-700: #3A332C;--neutral-800: #28221C;--neutral-900: #181310;--neutral-950: #0D0B08;--success: #1A7A4A;--warning: #B85C00;--error: #C8360A;--info: #1A3FBF;--background: #EDE8DE;--foreground: #0F0F0F;--card: #F5F1E8;--card-foreground: #0F0F0F;--border: #C4BDB2;--input: #C4BDB2;--font-sans: "Syne", system-ui, sans-serif;--font-mono: "Space Mono", "Courier New", monospace;--header-height: 4rem;--max-width: 84rem;--radius-sm: .125rem;--radius-md: .25rem;--radius-lg: .5rem;--radius-full: 9999px;--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08);--shadow-md: 0 4px 14px -2px rgb(0 0 0 / .1);--shadow-lg: 0 16px 36px -4px rgb(0 0 0 / .12);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;height:100%;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);line-height:1.6;color:var(--foreground);background-color:var(--background);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;max-width:100%}.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 0 auto}.hero-section{padding:4rem 0 3rem;background-color:var(--background)}.hero-content{max-width:72rem;margin:0 auto}.hero-title{font-family:var(--font-sans);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;color:var(--foreground);margin-bottom:1.25rem;background:none;-webkit-background-clip:unset;background-clip:unset;-webkit-text-fill-color:var(--foreground);letter-spacing:-.025em;line-height:1.1}.hero-subtitle{font-family:var(--font-mono);font-size:clamp(.8rem,1.4vw,1rem);color:var(--primary);font-weight:400;letter-spacing:.06em;text-transform:uppercase;margin-bottom:1.5rem;opacity:.85}.hero-text{font-family:var(--font-sans);font-size:1.125rem;color:var(--neutral-500);max-width:42rem;margin:0 auto 2rem}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:700;letter-spacing:-.025em;line-height:1.2;margin-bottom:.5em;color:var(--foreground)}h1{font-size:clamp(2.25rem,5vw,3.75rem)}h2{font-size:clamp(1.75rem,3vw,2.5rem)}h3{font-size:clamp(1.25rem,2vw,1.75rem)}p{margin-bottom:1.5rem;color:var(--foreground)}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark)}small{font-size:.875rem}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 2rem}.section{padding:5rem 0}.grid{display:grid;gap:1.5rem}.grid-1,.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(1,1fr)}@media (min-width: 640px){.grid-2{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.grid-3{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.grid-4{grid-template-columns:repeat(4,1fr)}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--foreground);color:var(--background);font-family:var(--font-sans);font-weight:700;font-size:.875rem;letter-spacing:-.01em;padding:.75rem 1.75rem;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:2px solid var(--foreground);text-align:center;position:relative;overflow:hidden;z-index:1}.btn:hover{background:var(--primary);border-color:var(--primary);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:before{display:none}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}.btn-secondary{background:var(--card);border-color:var(--border);color:var(--foreground)}.btn-secondary:hover{background:var(--neutral-200);border-color:var(--neutral-300);color:var(--foreground)}.btn-outline{background:transparent;border:2px solid var(--foreground);color:var(--foreground)!important}.btn-outline:hover{background:var(--foreground);color:var(--background)!important}.btn-with-icon{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem}.btn-with-icon .icon{height:1rem;width:1rem;color:currentColor}.card{background-color:var(--card);color:var(--foreground);border-radius:var(--radius-md);padding:1.5rem;border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-light)}.card-content{padding-top:1rem}input,textarea,select{width:100%;padding:.75rem 1rem;border:1.5px solid var(--border);border-radius:var(--radius-md);background-color:var(--card);color:var(--foreground);font-family:var(--font-sans);font-size:1rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1a3fbf1f}::placeholder{color:var(--neutral-400);opacity:1}label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.badge{display:inline-flex;padding:.2rem .65rem;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background-color:var(--primary);color:#fff}.text-gradient{background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-image:linear-gradient(135deg,var(--primary),var(--primary-light))}.text-center{text-align:center}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.mx-auto{margin-left:auto;margin-right:auto}.my-8{margin-top:2rem;margin-bottom:2rem}.mt-2{margin-top:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.img-cover{width:100%;height:100%;object-fit:cover}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}@keyframes pulse{0%{box-shadow:0 0 #1a3fbf59}70%{box-shadow:0 0 0 12px #1a3fbf00}to{box-shadow:0 0 #1a3fbf00}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fadeIn{animation:fadeIn var(--transition-normal) forwards}.animate-float{animation:float 6s ease-in-out infinite}.animate-pulse{animation:pulse 2s infinite}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;opacity:.032;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:200px 200px}.gradient-bg{position:relative;background-color:var(--background)}.gradient-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 12% 22%,rgba(26,63,191,.05) 0%,transparent 45%),radial-gradient(circle at 88% 78%,rgba(26,122,74,.04) 0%,transparent 45%);z-index:-1;pointer-events:none}.gradient-bg:after{display:none}.navbar{background-color:var(--background);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:none;backdrop-filter:none}.navbar-content{display:flex;justify-content:space-between;align-items:center;height:var(--header-height)}.navbar-logo{font-family:var(--font-sans);font-size:1.125rem;font-weight:800;color:var(--foreground);letter-spacing:-.04em}.navbar-menu{display:none;gap:2.5rem}.navbar-link{font-family:var(--font-sans);font-size:.875rem;font-weight:600;color:var(--neutral-500);letter-spacing:-.01em;transition:color var(--transition-fast);position:relative}.navbar-link:hover,.navbar-link.active{color:var(--foreground)}.navbar-active-indicator{position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--primary);border-radius:0;margin:0}.navbar-toggle{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--foreground);padding:.25rem}.navbar-icon{height:1.375rem;width:1.375rem}.navbar-mobile{padding-bottom:.5rem}.navbar-mobile-links{padding:.5rem 0;border-top:1px solid var(--border)}.navbar-mobile-link{display:block;padding:.75rem 0;border-bottom:1px solid var(--border);font-size:.9375rem;font-weight:600;color:var(--neutral-500);transition:color var(--transition-fast)}.navbar-mobile-link:hover,.navbar-mobile-link.active{color:var(--foreground)}@media (min-width: 1024px){.navbar-menu{display:flex}.navbar-toggle{display:none}.navbar-mobile{display:none!important}}.footer{background-color:var(--foreground);padding:4rem 0 2rem;position:relative;overflow:hidden}.footer:before{display:none}.footer-content{position:relative;z-index:1}.footer-section{margin-bottom:2rem}.footer-heading{font-family:var(--font-mono);font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.25rem;color:var(--neutral-500)}.footer-links{display:flex;flex-direction:column;gap:.75rem;list-style:none}.footer-link{font-family:var(--font-sans);font-size:.9375rem;font-weight:600;color:var(--neutral-300);letter-spacing:-.01em;transition:color var(--transition-fast);display:inline-block}.footer-link:hover{color:#fff}.footer-text{color:var(--neutral-500);font-size:.875rem;margin-bottom:.75rem;line-height:1.6}.footer-copyright{color:var(--neutral-600);font-size:.7rem;font-family:var(--font-mono);margin-top:1rem;letter-spacing:.05em}@media (max-width: 768px){.footer-section{margin-bottom:2.5rem}.footer{padding:3rem 0 2rem}}.about-container{max-width:64rem;margin:0 auto}.section-title{font-family:var(--font-sans);font-size:clamp(1.375rem,3vw,1.75rem);font-weight:800;color:var(--foreground);margin-bottom:1.5rem;letter-spacing:-.03em;position:relative;display:inline-block}.section-title:after{content:"";position:absolute;bottom:-6px;left:0;width:2rem;height:2px;background:var(--primary);border-radius:0}.card-title{font-family:var(--font-sans);font-size:1.125rem;font-weight:700;color:var(--foreground);margin-bottom:.5rem;letter-spacing:-.02em}.card-subtitle{font-family:var(--font-mono);font-size:.72rem;color:var(--neutral-400);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.06em}.card-text{color:var(--neutral-600);margin-bottom:.75rem;line-height:1.65;font-size:.9375rem}.card-text:last-child{margin-bottom:0}.skill-tags{display:flex;flex-wrap:wrap;gap:.4rem}.profile-image-container{display:flex;justify-content:flex-end;margin-bottom:0}.profile-image{width:240px;height:300px;border-radius:0;overflow:hidden;border:2px solid var(--primary);transform:none;transition:border-color var(--transition-normal);box-shadow:var(--shadow-sm)}.profile-image:hover{border-color:var(--primary-dark);transform:none}.profile-image:after{display:none}.quick-links{margin-top:0}.quick-link-card{display:block;padding:1.25rem .5rem 1.25rem 0;border-top:1px solid var(--border);text-decoration:none;color:var(--foreground);transition:color var(--transition-fast);position:relative;overflow:hidden;z-index:1}.quick-link-card:before{display:none}.quick-link-card:hover{color:var(--primary);transform:none;box-shadow:none;border-color:var(--border)}.quick-link-card:hover:before{display:none}.quick-link-title{font-family:var(--font-sans);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:inherit;margin-bottom:0;transition:none;display:block}.quick-link-text{font-family:var(--font-mono);font-size:.68rem;color:var(--neutral-400);line-height:1.5;margin-top:.3rem;letter-spacing:.03em;display:block}.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:5rem;align-items:start}.home-hero-grid{display:grid;grid-template-columns:1fr 240px;gap:4rem;align-items:center;margin-bottom:3rem}.home-hero-grid>*{min-width:0}.home-links-grid{display:grid;grid-template-columns:repeat(3,1fr)}@media (max-width: 1023px){.home-hero-grid{grid-template-columns:1fr;gap:2rem}.profile-image-container{justify-content:flex-start}.profile-image{width:180px;height:225px}.contact-grid{grid-template-columns:1fr;gap:3rem}}@media (max-width: 767px){.home-links-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 639px){.container{padding:0 1rem}.section{padding:2.5rem 0}.hero-section{padding:2rem 0 1.5rem}.home-links-grid{grid-template-columns:1fr}.home-hero-grid{gap:1.5rem}.profile-image{width:140px;height:175px}}@media (max-width: 767px){.entreprise-hero{height:260px!important}.pdf-container object,.pdf-container iframe{height:500px!important}.pdf-container>div:first-child{display:flex;flex-direction:column;align-items:stretch}.pdf-container>div:first-child a,.pdf-container>div:first-child button{margin-right:0!important;min-width:unset!important;width:100%}}.border{border:1px solid var(--border)}.border-t{border-top:1px solid var(--border)}.border-r{border-right:1px solid var(--border)}.border-b{border-bottom:1px solid var(--border)}.border-l{border-left:1px solid var(--border)}.border-primary{border-color:var(--primary)}.border-accent{border-color:var(--accent)}.border-2{border-width:2px}.border-gradient{border:1.5px solid var(--primary);border-radius:var(--radius-md);transition:all var(--transition-normal)}.border-gradient:hover{border-color:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.border-glow{border:1px solid rgba(26,63,191,.25);box-shadow:0 0 6px #1a3fbf14;border-radius:var(--radius-md);transition:all var(--transition-normal)}.border-glow:hover{border-color:#1a3fbf80;box-shadow:0 0 12px #1a3fbf26}.glass{background:var(--card);border:1px solid var(--border)}
