diff --git a/cv-data.json b/cv-data.json
index 808092f..ecfe2dd 100644
--- a/cv-data.json
+++ b/cv-data.json
@@ -8,9 +8,22 @@
"accroche": "UX & Digital Manager // Product Manager // E-Commerce Architect // Data Leader",
"description": "Fort de 25 ans d'expérience dans l'édition de logiciels, l'e-commerce et les systèmes d'information, Stéphane accompagne la transformation IT des entreprises en alliant vision stratégique, innovation et excellence opérationnelle.",
"disponibilite": "AVAILABLE — CV NOV. 2025",
- "email": "",
- "linkedin": "",
- "site": "www.stephaneliabeuf.fr"
+ "contact": {
+ "email": "",
+ "telephone": "",
+ "linkedin": "",
+ "linkedin_label": "linkedin.com/in/stephaneliabeuf",
+ "github": "",
+ "site": "https://www.stephaneliabeuf.fr"
+ },
+ "seo": {
+ "title": "Stéphane Liabeuf — Directeur Conseil UX & Digital | CGI Clermont-Ferrand",
+ "description": "CV de Stéphane Liabeuf, Directeur Conseil et UX & Digital Manager chez CGI. 25 ans d'expérience en transformation digitale, e-commerce, product management et UX/UI.",
+ "keywords": "Stéphane Liabeuf, UX Designer, Digital Manager, Product Manager, E-Commerce, CGI, Clermont-Ferrand, Salesforce, Scrum, Power BI",
+ "og_image": "https://www.stephaneliabeuf.fr/og-image.png",
+ "canonical": "https://www.stephaneliabeuf.fr",
+ "twitter_handle": ""
+ }
},
"stats": [
{
@@ -46,12 +59,7 @@
"programme": "Plateforme BI & CRM — Pilotage commercial européen",
"objectif": "Transformation digitale du pôle Field Seeds — écosystème de tableaux de bord unifiés (Power BI + CRM Dynamics) pour piloter les performances commerciales, marketing et terrain à l'échelle européenne.",
"description": "Roadmap produit LFS, conception UX/UI (wireframes, maquettes, guidelines), ateliers Design Thinking avec équipes sales / marketing / CRM / data. KPIs par profil utilisateur (Comex, Country Managers, Sales Managers, commerciaux). Gouvernance Scrum : backlog, rituels Sprint, cadencement trimestriel, coaching des équipes Data et CRM.",
- "resultats": [
- "Evangélisation au mode produit",
- "Mise en place des rituels Scrum",
- "Mise en place des KPIs par profil utilisateur",
- "Mise en place des dashboards"
- ],
+ "resultats": [],
"tags": [
"Power BI",
"CRM Dynamics",
diff --git a/index.html b/index.html
index bc191c5..696706c 100644
--- a/index.html
+++ b/index.html
@@ -1,440 +1,2505 @@
+
-
-
-CV — Stéphane Liabeuf
-
-
-
-
-
+
+
+
+
+
+ [data-theme="itpro"] .hero-subtitle::before {
+ display: none
+ }
+
+ [data-theme="itpro"] .stat-box {
+ background: rgba(255, 255, 255, .08);
+ border: 1px solid rgba(255, 255, 255, .15);
+ border-radius: 8px;
+ clip-path: none;
+ backdrop-filter: blur(8px)
+ }
+
+ [data-theme="itpro"] .stat-num {
+ font-family: 'DM Serif Display', serif;
+ color: #93c5fd;
+ font-size: 38px;
+ text-shadow: none
+ }
+
+ [data-theme="itpro"] .stat-label {
+ font-family: 'Inter', sans-serif;
+ color: rgba(255, 255, 255, .5);
+ font-size: 10px;
+ font-weight: 500;
+ letter-spacing: .12em
+ }
+
+ [data-theme="itpro"] nav {
+ background: #fff;
+ border-bottom: 1px solid #e2e8f0;
+ backdrop-filter: none;
+ box-shadow: 0 1px 4px rgba(0, 0, 0, .06)
+ }
+
+ [data-theme="itpro"] .nav-logo {
+ font-family: 'DM Serif Display', serif;
+ color: #1a56db;
+ font-size: 18px;
+ text-shadow: none;
+ letter-spacing: 0;
+ font-weight: 400
+ }
+
+ [data-theme="itpro"] nav a {
+ font-family: 'Inter', sans-serif;
+ font-size: 13px;
+ font-weight: 500;
+ color: #64748b;
+ text-transform: none;
+ letter-spacing: .01em
+ }
+
+ [data-theme="itpro"] nav a::before {
+ display: none
+ }
+
+ [data-theme="itpro"] nav a:hover {
+ color: #1a56db
+ }
+
+ [data-theme="itpro"] #experience {
+ background: #f8fafc
+ }
+
+ [data-theme="itpro"] #competences {
+ background: #f1f5f9
+ }
+
+ [data-theme="itpro"] #secteurs {
+ background: #f8fafc
+ }
+
+ [data-theme="itpro"] #formation {
+ background: #f1f5f9
+ }
+
+ [data-theme="itpro"] footer {
+ background: #0f172a;
+ border-top: none
+ }
+
+ [data-theme="itpro"] .section-id {
+ font-family: 'Share Tech Mono', monospace;
+ color: #1a56db;
+ font-size: 11px;
+ letter-spacing: .12em;
+ opacity: .7
+ }
+
+ [data-theme="itpro"] .section-title {
+ font-family: 'DM Serif Display', serif;
+ color: #0f172a;
+ text-transform: none;
+ font-weight: 400;
+ letter-spacing: -.01em
+ }
+
+ [data-theme="itpro"] .section-title::after {
+ background: #1a56db;
+ height: 2px;
+ width: 100%
+ }
+
+ [data-theme="itpro"] .group-label {
+ font-family: 'Inter', sans-serif;
+ font-size: 10px;
+ font-weight: 700;
+ letter-spacing: .14em;
+ color: #fff;
+ background: #1a56db;
+ border-radius: 3px;
+ text-transform: uppercase
+ }
+
+ [data-theme="itpro"] .group-label.sec {
+ background: #475569
+ }
+
+ [data-theme="itpro"] .exp-item {
+ border-top: 1px solid #e2e8f0;
+ border-left: 3px solid transparent;
+ background: transparent;
+ padding: 28px 0;
+ margin-bottom: 0
+ }
+
+ [data-theme="itpro"] .exp-item:hover {
+ border-left-color: #1a56db;
+ background: #f8fafc;
+ padding-left: 20px
+ }
+
+ [data-theme="itpro"] .exp-period {
+ font-family: 'Share Tech Mono', monospace;
+ color: #1a56db;
+ font-size: 11px;
+ letter-spacing: .08em
+ }
+
+ [data-theme="itpro"] .exp-co {
+ font-family: 'Inter', sans-serif;
+ color: #64748b;
+ font-size: 12px;
+ font-weight: 500;
+ text-transform: none;
+ letter-spacing: 0
+ }
+
+ [data-theme="itpro"] .exp-role {
+ font-family: 'DM Serif Display', serif;
+ color: #0f172a;
+ font-size: 18px;
+ text-transform: none;
+ font-weight: 400;
+ letter-spacing: -.01em
+ }
+
+ [data-theme="itpro"] .exp-program {
+ font-family: 'Inter', sans-serif;
+ color: #64748b;
+ font-size: 11px;
+ font-weight: 500;
+ letter-spacing: .04em
+ }
+
+ [data-theme="itpro"] .exp-objective {
+ font-family: 'Inter', sans-serif;
+ font-size: 13px;
+ color: #64748b;
+ border-left: 2px solid #e2e8f0;
+ font-style: italic
+ }
+
+ [data-theme="itpro"] .exp-objective strong {
+ color: #1a56db;
+ font-style: normal
+ }
+
+ [data-theme="itpro"] .exp-desc {
+ color: #64748b;
+ font-family: 'Inter', sans-serif;
+ font-size: 14px
+ }
+
+ [data-theme="itpro"] .exp-results {
+ border: 1px solid #d1fae5;
+ background: #f0fdf4;
+ clip-path: none;
+ border-radius: 6px
+ }
+
+ [data-theme="itpro"] .exp-results-title {
+ font-family: 'Inter', sans-serif;
+ color: #0e9f6e;
+ font-size: 10px;
+ font-weight: 700;
+ letter-spacing: .12em;
+ text-transform: uppercase
+ }
+
+ [data-theme="itpro"] .exp-results li {
+ color: #166534;
+ font-family: 'Inter', sans-serif;
+ font-size: 13px
+ }
+
+ [data-theme="itpro"] .exp-results li::before {
+ content: '✓ ';
+ color: #0e9f6e
+ }
+
+ [data-theme="itpro"] .tag {
+ font-family: 'Inter', sans-serif;
+ font-size: 11px;
+ font-weight: 500;
+ color: #1a56db;
+ border: 1px solid #bfdbfe;
+ background: #eff6ff;
+ border-radius: 20px;
+ clip-path: none;
+ text-transform: none;
+ letter-spacing: 0
+ }
+
+ [data-theme="itpro"] .tag.mag {
+ color: #7c3aed;
+ border-color: #ddd6fe;
+ background: #f5f3ff
+ }
+
+ [data-theme="itpro"] .tag.grn {
+ color: #0e9f6e;
+ border-color: #a7f3d0;
+ background: #ecfdf5
+ }
+
+ [data-theme="itpro"] .skill-panel {
+ border: 1px solid #e2e8f0;
+ background: #fff;
+ clip-path: none;
+ border-radius: 8px;
+ box-shadow: 0 1px 3px rgba(0, 0, 0, .06)
+ }
+
+ [data-theme="itpro"] .skill-panel::before {
+ display: none
+ }
+
+ [data-theme="itpro"] .skill-cat {
+ font-family: 'Inter', sans-serif;
+ font-size: 10px;
+ font-weight: 700;
+ color: #1a56db;
+ letter-spacing: .14em;
+ text-transform: uppercase;
+ border-bottom: 1px solid #e2e8f0
+ }
+
+ [data-theme="itpro"] .skill-name {
+ font-family: 'Inter', sans-serif;
+ color: #1e293b;
+ font-weight: 500;
+ font-size: 13px
+ }
+
+ [data-theme="itpro"] .skill-meta {
+ font-family: 'Inter', sans-serif;
+ color: #64748b;
+ font-size: 11px
+ }
+
+ [data-theme="itpro"] .skill-bar {
+ background: #e2e8f0;
+ border-radius: 4px;
+ height: 5px
+ }
+
+ [data-theme="itpro"] .skill-fill {
+ background: linear-gradient(90deg, #1a56db, #6875f5);
+ box-shadow: none;
+ border-radius: 4px
+ }
+
+ [data-theme="itpro"] .skill-fill::after {
+ display: none
+ }
+
+ [data-theme="itpro"] .sector-cell {
+ border: 1px solid #e2e8f0;
+ background: #fff;
+ border-radius: 6px;
+ color: #64748b;
+ font-family: 'Inter', sans-serif;
+ font-size: 12px;
+ font-weight: 500;
+ text-transform: none
+ }
+
+ [data-theme="itpro"] .sector-cell::before {
+ content: '';
+ display: none
+ }
+
+ [data-theme="itpro"] .sector-cell:hover {
+ color: #1a56db;
+ border-color: #1a56db;
+ background: #eff6ff
+ }
+
+ [data-theme="itpro"] .edu-card {
+ border: 1px solid #e2e8f0;
+ background: #fff;
+ clip-path: none;
+ border-radius: 8px;
+ box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
+ border-top: 3px solid #1a56db
+ }
+
+ [data-theme="itpro"] .edu-card::before {
+ display: none
+ }
+
+ [data-theme="itpro"] .edu-year {
+ font-family: 'Share Tech Mono', monospace;
+ color: #64748b;
+ font-size: 11px;
+ letter-spacing: .1em
+ }
+
+ [data-theme="itpro"] .edu-degree {
+ font-family: 'DM Serif Display', serif;
+ color: #0f172a;
+ text-transform: none;
+ font-weight: 400;
+ font-size: 20px
+ }
+
+ [data-theme="itpro"] .edu-school {
+ font-family: 'Inter', sans-serif;
+ color: #64748b;
+ font-size: 13px
+ }
+
+ [data-theme="itpro"] .certs-title {
+ font-family: 'Inter', sans-serif;
+ color: #0f172a;
+ font-size: 12px;
+ font-weight: 700;
+ letter-spacing: .1em;
+ text-transform: uppercase
+ }
+
+ [data-theme="itpro"] .cert-chip {
+ font-family: 'Inter', sans-serif;
+ font-size: 11px;
+ font-weight: 500;
+ color: #1e293b;
+ border: 1px solid #e2e8f0;
+ background: #fff;
+ border-radius: 4px;
+ text-transform: none;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, .05)
+ }
+
+ [data-theme="itpro"] .footer-name {
+ font-family: 'DM Serif Display', serif;
+ color: #fff;
+ font-size: 22px;
+ font-weight: 400;
+ text-shadow: none;
+ letter-spacing: 0
+ }
+
+ [data-theme="itpro"] .footer-info {
+ font-family: 'Inter', sans-serif;
+ color: rgba(255, 255, 255, .5)
+ }
+
+ [data-theme="itpro"] .footer-status {
+ color: #34d399
+ }
+
+ /* ════ BASE LAYOUT ════ */
+ .cursor-dot {
+ position: fixed;
+ width: 8px;
+ height: 8px;
+ background: #00f5ff;
+ border-radius: 50%;
+ pointer-events: none;
+ z-index: 10000;
+ transform: translate(-50%, -50%);
+ box-shadow: 0 0 10px #00f5ff, 0 0 20px rgba(0, 245, 255, .5);
+ display: none
+ }
+
+ @keyframes fadeIn {
+ from {
+ opacity: 0;
+ transform: translateY(12px)
+ }
+
+ to {
+ opacity: 1;
+ transform: none
+ }
+ }
+
+ .hero {
+ position: relative;
+ min-height: 100vh;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ padding: 80px;
+ z-index: 1;
+ overflow: hidden
+ }
+
+ .hero-bg {
+ position: absolute;
+ inset: 0;
+ z-index: 0
+ }
+
+ .corner-bracket {
+ position: absolute;
+ width: 24px;
+ height: 24px;
+ z-index: 2
+ }
+
+ .corner-bracket.tl {
+ top: 20px;
+ left: 60px
+ }
+
+ .corner-bracket.tr {
+ top: 20px;
+ right: 60px
+ }
+
+ .corner-bracket.bl {
+ bottom: 20px;
+ left: 60px
+ }
+
+ .corner-bracket.br {
+ bottom: 20px;
+ right: 60px
+ }
+
+ .hero-badge {
+ position: relative;
+ z-index: 2;
+ opacity: 0;
+ animation: fadeIn .5s ease .3s forwards
+ }
+
+ .hero-name {
+ position: relative;
+ z-index: 2;
+ font-size: clamp(48px, 8vw, 110px);
+ font-weight: 900;
+ line-height: .9;
+ letter-spacing: -.02em;
+ opacity: 0;
+ animation: fadeIn .6s ease .5s forwards
+ }
+
+ .hero-name-line2 {
+ display: block
+ }
+
+ .hero-subtitle {
+ position: relative;
+ z-index: 2;
+ margin-top: 24px;
+ font-size: 13px;
+ opacity: 0;
+ animation: fadeIn .6s ease .7s forwards
+ }
+
+ .hero-stats {
+ position: relative;
+ z-index: 2;
+ display: flex;
+ gap: 20px;
+ margin-top: 52px;
+ flex-wrap: wrap;
+ opacity: 0;
+ animation: fadeIn .6s ease .9s forwards
+ }
+
+ .stat-box {
+ padding: 14px 22px
+ }
+
+ .stat-num {
+ font-size: 32px;
+ font-weight: 700;
+ display: block
+ }
+
+ .stat-label {
+ font-size: 10px;
+ letter-spacing: .15em;
+ text-transform: uppercase;
+ display: block
+ }
+
+ .hero-scroll {
+ position: absolute;
+ bottom: 48px;
+ left: 50%;
+ transform: translateX(-50%);
+ z-index: 2;
+ font-size: 10px;
+ letter-spacing: .2em
+ }
+
+ nav {
+ position: sticky;
+ top: 0;
+ z-index: 100;
+ display: flex;
+ align-items: center;
+ padding: 0 48px
+ }
+
+ .nav-logo {
+ font-size: 14px;
+ font-weight: 700;
+ margin-right: auto
+ }
+
+ nav a {
+ font-size: 11px;
+ text-decoration: none;
+ padding: 18px 20px;
+ transition: color .2s;
+ position: relative
+ }
+
+ section {
+ position: relative;
+ z-index: 1;
+ padding: 100px 80px;
+ opacity: 0;
+ transform: translateY(20px);
+ transition: opacity .6s ease, transform .6s ease
+ }
+
+ section.visible {
+ opacity: 1;
+ transform: none
+ }
+
+ .section-header {
+ margin-bottom: 52px
+ }
+
+ .section-id {
+ font-size: 11px;
+ letter-spacing: .3em;
+ margin-bottom: 12px;
+ display: block
+ }
+
+ .section-title {
+ font-size: clamp(28px, 4vw, 48px);
+ font-weight: 700;
+ display: inline-block
+ }
+
+ .section-title::after {
+ content: '';
+ display: block;
+ margin-top: 12px;
+ height: 2px
+ }
+
+ .exp-group {
+ margin-bottom: 40px
+ }
+
+ .group-label {
+ font-size: 10px;
+ letter-spacing: .25em;
+ text-transform: uppercase;
+ display: inline-block;
+ padding: 3px 14px;
+ margin-bottom: 1px
+ }
+
+ .exp-item {
+ display: grid;
+ grid-template-columns: 220px 1fr;
+ padding: 28px 0 28px 24px;
+ margin-bottom: 2px;
+ position: relative;
+ transition: all .2s
+ }
+
+ .exp-left {
+ padding-right: 28px;
+ padding-top: 2px
+ }
+
+ .exp-period {
+ font-size: 11px;
+ letter-spacing: .1em;
+ margin-bottom: 6px;
+ display: block
+ }
+
+ .exp-co {
+ font-size: 11px;
+ letter-spacing: .1em;
+ line-height: 1.5;
+ display: block
+ }
+
+ .exp-role {
+ font-size: 14px;
+ font-weight: 700;
+ margin-bottom: 4px;
+ line-height: 1.3;
+ display: block
+ }
+
+ .exp-program {
+ font-size: 11px;
+ letter-spacing: .1em;
+ margin-bottom: 10px;
+ display: block
+ }
+
+ .exp-objective {
+ font-size: 12px;
+ padding-left: 10px;
+ margin-bottom: 10px;
+ line-height: 1.6
+ }
+
+ .exp-desc {
+ font-size: 14px;
+ line-height: 1.7;
+ max-width: 640px;
+ display: block;
+ margin-bottom: 4px
+ }
+
+ .exp-results {
+ margin-top: 12px;
+ padding: 12px 16px
+ }
+
+ .exp-results-title {
+ font-size: 10px;
+ letter-spacing: .2em;
+ margin-bottom: 6px;
+ display: block
+ }
+
+ .exp-results ul {
+ list-style: none
+ }
+
+ .exp-results li {
+ font-size: 13px;
+ padding: 2px 0
+ }
+
+ .tag-wrap {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 8px;
+ margin-top: 12px
+ }
+
+ .tag {
+ font-size: 10px;
+ letter-spacing: .08em;
+ padding: 3px 10px;
+ text-transform: uppercase;
+ display: inline-block
+ }
+
+ .skills-grid {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ gap: 32px
+ }
+
+ .skill-panel {
+ padding: 28px;
+ position: relative
+ }
+
+ .skill-cat {
+ font-size: 11px;
+ font-weight: 700;
+ letter-spacing: .2em;
+ text-transform: uppercase;
+ margin-bottom: 24px;
+ padding-bottom: 12px;
+ display: block
+ }
+
+ .skill-row {
+ margin-bottom: 16px
+ }
+
+ .skill-info {
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 6px
+ }
+
+ .skill-name {
+ font-size: 13px;
+ font-weight: 600
+ }
+
+ .skill-meta {
+ font-size: 10px
+ }
+
+ .skill-bar {
+ height: 5px
+ }
+
+ .skill-fill {
+ height: 100%;
+ width: 0;
+ transition: width 1.4s cubic-bezier(.4, 0, .2, 1);
+ position: relative;
+ display: block
+ }
+
+ .skill-fill::after {
+ content: '';
+ position: absolute;
+ right: -1px;
+ top: -3px;
+ width: 2px;
+ height: 9px;
+ background: #fff;
+ display: none
+ }
+
+ .sectors-grid {
+ display: grid;
+ grid-template-columns: repeat(4, 1fr);
+ gap: 8px
+ }
+
+ .sector-cell {
+ padding: 16px 18px;
+ font-size: 13px;
+ font-weight: 600;
+ letter-spacing: .08em;
+ text-transform: uppercase;
+ transition: all .2s;
+ cursor: default;
+ display: flex;
+ align-items: center
+ }
+
+ .edu-grid {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: 24px;
+ margin-bottom: 48px
+ }
+
+ .edu-card {
+ padding: 32px;
+ position: relative
+ }
+
+ .edu-year {
+ font-size: 11px;
+ letter-spacing: .2em;
+ margin-bottom: 12px;
+ display: block
+ }
+
+ .edu-degree {
+ font-size: 18px;
+ font-weight: 700;
+ margin-bottom: 6px;
+ display: block
+ }
+
+ .edu-school {
+ font-size: 12px;
+ line-height: 1.7;
+ display: block
+ }
+
+ .certs-title {
+ font-size: 12px;
+ letter-spacing: .2em;
+ margin-bottom: 20px;
+ display: block;
+ text-transform: uppercase
+ }
+
+ .certs-grid {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 10px
+ }
+
+ .cert-chip {
+ font-size: 11px;
+ letter-spacing: .1em;
+ padding: 6px 14px;
+ text-transform: uppercase;
+ display: inline-block
+ }
+
+ footer {
+ position: relative;
+ z-index: 1;
+ padding: 48px 80px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center
+ }
+
+ .footer-name {
+ font-size: 20px;
+ font-weight: 900;
+ letter-spacing: .1em
+ }
+
+ .footer-info {
+ font-size: 11px;
+ text-align: right;
+ line-height: 1.8
+ }
+
+ /* responsive */
+ @media (max-width:900px) {
+
+ section,
+ .hero,
+ footer {
+ padding-left: 24px;
+ padding-right: 24px
+ }
+
+ .exp-item {
+ grid-template-columns: 1fr
+ }
+
+ .exp-left {
+ margin-bottom: 10px
+ }
+
+ .skills-grid,
+ .sectors-grid,
+ .edu-grid {
+ grid-template-columns: 1fr
+ }
+
+ nav {
+ padding: 0 16px;
+ flex-wrap: wrap
+ }
+
+ nav a {
+ padding: 12px 10px;
+ font-size: 10px
+ }
+
+ #theme-switcher {
+ bottom: 16px;
+ right: 16px
+ }
+
+ .theme-btn {
+ padding: 8px 12px;
+ font-size: 11px
+ }
+ }
+
+ /* ════ CONTACT BAR ════ */
+ .contact-bar {
+ position: relative;
+ z-index: 1;
+ display: flex;
+ justify-content: center;
+ flex-wrap: wrap;
+ gap: 12px;
+ padding: 14px 48px;
+ }
+
+ [data-theme="cyberpunk"] .contact-bar {
+ background: #050810;
+ border-bottom: 1px solid rgba(0, 245, 255, .12);
+ }
+
+ [data-theme="bd"] .contact-bar {
+ background: #FFE033;
+ border-bottom: 4px solid #1a1a1a;
+ }
+
+ [data-theme="itpro"] .contact-bar {
+ background: #fff;
+ border-bottom: 1px solid #e2e8f0;
+ box-shadow: 0 1px 4px rgba(0, 0, 0, .04);
+ }
+
+ .contact-link {
+ display: inline-flex;
+ align-items: center;
+ gap: 7px;
+ font-size: 12px;
+ text-decoration: none;
+ padding: 6px 16px;
+ border-radius: 3px;
+ transition: all .2s;
+ font-weight: 600;
+ letter-spacing: .04em;
+ }
+
+ [data-theme="cyberpunk"] .contact-link {
+ font-family: 'Share Tech Mono', monospace;
+ color: #00f5ff;
+ border: 1px solid rgba(0, 245, 255, .25);
+ background: rgba(0, 245, 255, .04);
+ }
+
+ [data-theme="cyberpunk"] .contact-link:hover {
+ background: rgba(0, 245, 255, .12);
+ border-color: #00f5ff;
+ }
+
+ [data-theme="bd"] .contact-link {
+ font-family: 'Comic Neue', cursive;
+ color: #1a1a1a;
+ border: 2px solid #1a1a1a;
+ background: #fff;
+ box-shadow: 2px 2px 0 #1a1a1a;
+ border-radius: 4px;
+ }
+
+ [data-theme="bd"] .contact-link:hover {
+ background: #E8001C;
+ color: #fff;
+ border-color: #E8001C;
+ }
+
+ [data-theme="itpro"] .contact-link {
+ font-family: 'Inter', sans-serif;
+ color: #1a56db;
+ border: 1px solid #bfdbfe;
+ background: #eff6ff;
+ border-radius: 20px;
+ }
+
+ [data-theme="itpro"] .contact-link:hover {
+ background: #1a56db;
+ color: #fff;
+ }
+
+ .contact-icon {
+ font-size: 14px;
+ }
+
+
-
-
-
CHARGEMENT DU CV...
-
-
+
+
+
CHARGEMENT DU CV...
+
+
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
+
+
-
+ });
+
-
+
+