﻿*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}:root{--bg-root:#020c1b;--bg-dark:#071224;--bg-card:rgba(11,27,62,0.94);--b900:#1e3a5f;--b700:#1d4ed8;--b600:#2563eb;--b500:#3b82f6;--b400:#60a5fa;--b300:#93c5fd;--b200:#bfdbfe;--sky:#38bdf8;--txt:#e2e8f0;--txt2:#94a3b8;--txt3:#64748b;--bdr:rgba(59,130,246,.28);--bdrh:rgba(59,130,246,.52);--shd:0 4px 48px rgba(0,0,0,.65);--glow:0 0 36px rgba(37,99,235,.18);}html{scroll-behavior:smooth;}body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;background:var(--bg-root);color:var(--txt);min-height:100vh;overflow-x:hidden;line-height:1.65;}.bg-canvas{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;contain:layout style paint;}.blob{position:absolute;border-radius:50%;filter:blur(72px);animation:drift linear infinite;}.blob-1{width:700px;height:700px;background:radial-gradient(circle,#1d4ed8 0%,transparent 68%);top:-180px;left:-200px;opacity:.055;animation-duration:40s;}.blob-2{width:500px;height:500px;background:radial-gradient(circle,#38bdf8 0%,transparent 68%);top:18%;right:-120px;opacity:.045;animation-duration:32s;animation-delay:-11s;}.blob-3{width:420px;height:420px;background:radial-gradient(circle,#3b82f6 0%,transparent 68%);top:52%;left:38%;opacity:.04;animation-duration:50s;animation-delay:-22s;}.blob-4{width:600px;height:600px;background:radial-gradient(circle,#1e3a5f 0%,transparent 68%);bottom:5%;right:15%;opacity:.06;animation-duration:45s;animation-delay:-7s;}.blob-5{width:320px;height:320px;background:radial-gradient(circle,#0ea5e9 0%,transparent 68%);bottom:-60px;left:8%;opacity:.04;animation-duration:28s;animation-delay:-18s;}.blob-6{width:250px;height:250px;background:radial-gradient(circle,#60a5fa 0%,transparent 68%);top:35%;left:12%;opacity:.035;animation-duration:36s;animation-delay:-5s;}.geo{position:absolute;opacity:.022;filter:blur(44px);animation:driftGeo linear infinite;}.geo-1{width:340px;height:340px;background:linear-gradient(135deg,#2563eb,#38bdf8);top:14%;right:28%;border-radius:22px;animation-duration:52s;animation-delay:-9s;}.geo-2{width:200px;height:200px;background:linear-gradient(45deg,#3b82f6,transparent);top:66%;left:55%;border-radius:18px;opacity:.03;animation-duration:23s;animation-delay:-4s;}.geo-3{width:160px;height:160px;background:linear-gradient(90deg,#0ea5e9,#1d4ed8);top:80%;left:20%;border-radius:14px;animation-duration:30s;animation-delay:-14s;}@keyframes drift{0%{transform:translateY(0) translateX(0) rotate(0deg);}25%{transform:translateY(-28px)translateX(18px)rotate(90deg);}50%{transform:translateY(-14px)translateX(-10px)rotate(180deg);}75%{transform:translateY(-36px)translateX(22px)rotate(270deg);}100%{transform:translateY(0) translateX(0) rotate(360deg);}}@keyframes driftGeo{0%{transform:rotate(0deg) scale(1);}33%{transform:rotate(120deg) scale(1.08);}66%{transform:rotate(240deg) scale(0.95);}100%{transform:rotate(360deg) scale(1);}}@media (max-width:768px){.blob,.geo{display:none;}.bg-grid{background-image:none;}.card{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;}}.blob,.geo{will-change:transform;}.card:not(.modal-box){contain:layout style;}@media (prefers-reduced-motion:reduce){.blob,.geo,.photo-pulse,.photo-pulse2{animation:none !important;will-change:auto;}.card{transition:none !important;}.bar-fill{transition:none !important;}}.bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(59,130,246,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.028) 1px,transparent 1px);background-size:64px 64px;}.wrap{position:relative;z-index:1;max-width:1700px;margin:0 auto;padding:32px 48px 72px;}.card{background:var(--bg-card);border:1px solid var(--bdr);border-radius:18px;padding:36px 40px;margin-bottom:22px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shd),var(--glow);opacity:0;transform:translateY(26px);transition:opacity .55s cubic-bezier(.4,0,.2,1),transform .55s cubic-bezier(.4,0,.2,1),border-color .3s,box-shadow .3s;}.card.is-visible{opacity:1;transform:translateY(0);}.card:hover{border-color:var(--bdrh);box-shadow:var(--shd),0 0 48px rgba(37,99,235,.2);}.sec-title{font-size:1.05rem;font-weight:700;color:var(--b300);text-transform:uppercase;letter-spacing:.13em;margin-bottom:28px;display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;}.sec-title i{color:var(--b400);font-size:.95rem;}.sec-title::before,.sec-title::after{content:'';flex:1;height:1px;}.sec-title::before{background:linear-gradient(to right,transparent,var(--bdr));}.sec-title::after{background:linear-gradient(to left,transparent,var(--bdr));}.card-header{background:linear-gradient(135deg,rgba(5,16,46,.96) 0%,rgba(8,20,62,.9) 100%);border-color:rgba(59,130,246,.28);position:relative;overflow:hidden;}.header-inner{display:flex;align-items:center;gap:38px;position:relative;z-index:1;}.alsace-logo{position:absolute;right:-8px;top:50%;transform:translateY(-50%);height:110%;width:auto;pointer-events:none;opacity:0.13;filter:brightness(0) invert(1);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 55%);mask-image:linear-gradient(to right,transparent 0%,black 55%);z-index:0;}html.light .alsace-logo{filter:brightness(0);opacity:0.09;}.photo-wrap{position:relative;flex-shrink:0;}.photo-ring{width:148px;height:148px;border-radius:50%;padding:3px;background:linear-gradient(135deg,var(--b500),var(--sky));}.photo-inner{width:100%;height:100%;border-radius:50%;overflow:hidden;background:var(--bg-dark);display:flex;align-items:center;justify-content:center;}.profile-img{width:100%;height:100%;object-fit:cover;display:none;}.photo-ph{color:var(--b400);font-size:3.8rem;display:flex;align-items:center;justify-content:center;width:100%;height:100%;}.photo-pulse{position:absolute;inset:-7px;border-radius:50%;border:2px solid rgba(59,130,246,.28);will-change:transform,opacity;transform:translateZ(0);animation:pulse 3.2s ease-in-out infinite;}.photo-pulse2{position:absolute;inset:-14px;border-radius:50%;border:1px solid rgba(59,130,246,.12);will-change:transform,opacity;transform:translateZ(0);animation:pulse 3.2s ease-in-out infinite;animation-delay:.8s;}@keyframes pulse{0%,100%{transform:scale(1) translateZ(0);opacity:.5;}50%{transform:scale(1.06) translateZ(0);opacity:1;}}.hdr-info{flex:1;min-width:0;}.name-line{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:10px;}.badges-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;margin-bottom:18px;}.full-name{font-size:2.5rem;font-weight:800;color:#fff;letter-spacing:-.025em;line-height:1.1;margin-bottom:0;flex-basis:100%;}.full-name em{color:var(--b400);font-style:normal;}.avail-badge{display:inline-flex;align-items:center;gap:7px;font-size:.75rem;font-weight:700;color:#4ade80;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);padding:5px 12px;border-radius:999px;letter-spacing:.03em;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s;}.avail-badge:not(.avail-badge--info):not(.avail-badge--why):hover,.avail-badge:not(.avail-badge--info):not(.avail-badge--why):focus,.avail-badge:not(.avail-badge--info):not(.avail-badge--why):visited{background:rgba(34,197,94,.22);border-color:rgba(74,222,128,.55);text-decoration:none !important;color:#4ade80;}.avail-badge--static{cursor:default;pointer-events:none;}.avail-badge--info{color:var(--txt2);background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.20);}.avail-badge--info:hover,.avail-badge--info:focus,.avail-badge--info:visited,.avail-badge--info:active{color:var(--txt);background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);text-decoration:none !important;}html.light .avail-badge{color:#15803d;background:rgba(21,128,61,.10);border-color:rgba(21,128,61,.35);}html.light .avail-badge:not(.avail-badge--info):not(.avail-badge--why):hover,html.light .avail-badge:not(.avail-badge--info):not(.avail-badge--why):focus{color:#14532d;background:rgba(21,128,61,.18);border-color:rgba(21,128,61,.55);}html.light .avail-badge--info{color:var(--txt2);background:rgba(30,41,59,.07);border-color:rgba(30,41,59,.20);}html.light .avail-badge--info:hover,html.light .avail-badge--info:focus,html.light .avail-badge--info:active{color:var(--txt);background:rgba(30,41,59,.12);border-color:rgba(30,41,59,.35);}.avail-badge--why{color:#fbbf24;background:rgba(251,191,36,.10);border-color:rgba(251,191,36,.30);}.avail-badge--why:hover,.avail-badge--why:focus,.avail-badge--why:visited,.avail-badge--why:active{color:#fde68a;background:rgba(251,191,36,.20);border-color:rgba(251,191,36,.55);text-decoration:none !important;}html.light .avail-badge--why{color:#92400e;background:rgba(217,119,6,.10);border-color:rgba(217,119,6,.28);}html.light .avail-badge--why:hover,html.light .avail-badge--why:focus,html.light .avail-badge--why:active{color:#78350f;background:rgba(217,119,6,.18);border-color:rgba(217,119,6,.50);}dialog.modal-dialog{position:fixed;border:1px solid var(--bdr);border-radius:18px;padding:60px 40px 36px;max-width:680px;width:calc(100% - 48px);max-height:85vh;max-height:85dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--bg-card);color:var(--txt);box-shadow:var(--shd),var(--glow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);margin:auto;inset:0;}dialog.modal-dialog::backdrop{background:rgba(2,10,24,0.88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}dialog.modal-dialog[open]{animation:modalIn .35s cubic-bezier(.4,0,.2,1);}html.light dialog.modal-dialog{background:var(--bg-card);border-color:rgba(37,99,235,.3);}html.light dialog.modal-dialog::backdrop{background:rgba(180,200,255,0.65);}@media (max-width:768px){dialog.modal-dialog{width:calc(100% - 24px);padding:56px 20px 24px;}}@keyframes modalIn{from{transform:translateY(28px) scale(.97);opacity:0;}to{transform:translateY(0) scale(1);opacity:1;}}.modal-close{position:absolute;top:16px;right:16px;padding:6px 16px;border-radius:999px;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#f87171;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap;transition:background .2s,border-color .2s,color .2s;z-index:1;font-family:inherit;}.modal-close:hover{background:rgba(239,68,68,.25);border-color:rgba(239,68,68,.65);color:#fca5a5;}html.light .modal-close{background:rgba(220,38,38,.08);border-color:rgba(220,38,38,.3);color:#dc2626;}html.light .modal-close:hover{background:rgba(220,38,38,.16);border-color:rgba(220,38,38,.55);color:#b91c1c;}.avail-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;flex-shrink:0;animation:availPulse 2s ease-in-out infinite;}@keyframes availPulse{0%,100%{box-shadow:0 0 0 0 rgba(74,222,128,.6);}50%{box-shadow:0 0 0 5px rgba(74,222,128,0);}}.job-title{font-size:1.05rem;font-weight:500;color:var(--sky);margin-bottom:18px;display:flex;align-items:center;gap:10px;}.job-title::before{content:'';width:22px;height:2px;background:var(--sky);border-radius:2px;flex-shrink:0;}.contact-row{display:flex;flex-wrap:wrap;gap:14px 20px;}.contact-item{display:flex;align-items:center;gap:7px;color:var(--txt2);font-size:.86rem;text-decoration:none;transition:color .2s;}.contact-item:hover{color:var(--b300);}.contact-item i{color:var(--b400);width:15px;text-align:center;font-size:.85rem;}.about-txt{text-align:center;max-width:820px;margin:0 auto;color:var(--txt2);font-size:.97rem;line-height:1.95;}.about-txt p:first-child{color:var(--b200);font-size:1.05rem;font-weight:500;margin-bottom:12px;}.about-txt p+p{margin-top:8px;color:var(--txt2);}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;}.skills-sub-title{font-size:.82rem;font-weight:700;color:var(--b400);text-transform:uppercase;letter-spacing:.1em;margin-bottom:20px;padding-bottom:8px;border-bottom:1px solid var(--bdr);}.skill-item{margin-bottom:18px;}.skill-hdr{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;}.skill-name{font-size:.9rem;font-weight:600;color:var(--txt);}.skill-note{font-size:.8em;font-style:italic;color:#94a3b8;font-weight:400;}.skill-pct{font-size:.8rem;font-weight:700;color:var(--b400);font-variant-numeric:tabular-nums;min-width:36px;text-align:right;}.bar-track{height:7px;background:rgba(30,58,95,.55);border-radius:999px;overflow:hidden;}.bar-fill{height:100%;border-radius:999px;transform:scaleX(0);transform-origin:left center;will-change:transform;background:linear-gradient(90deg,var(--b700),var(--b500),var(--sky));position:relative;transition:transform 1.25s cubic-bezier(.4,0,.2,1);}.bar-fill::after{content:'';position:absolute;top:0;left:0;right:0;height:45%;background:rgba(255,255,255,.13);border-radius:999px 999px 0 0;}.skills-secondary .bar-fill{background:linear-gradient(90deg,#0f766e,#0d9488,#2dd4bf);}.skills-secondary .skills-sub-title{color:#2dd4bf;border-color:rgba(45,212,191,.18);}.skills-secondary .skill-pct{color:#2dd4bf;}.timeline{position:relative;padding-left:34px;}.timeline::before{content:'';position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:linear-gradient(to bottom,var(--b600),rgba(37,99,235,.05));}.tl-item{position:relative;margin-bottom:34px;}.tl-item:last-child{margin-bottom:0;}.tl-dot{position:absolute;left:-32px;top:50%;transform:translateY(-50%);width:16px;height:16px;border-radius:50%;background:var(--b600);border:2px solid var(--b400);box-shadow:0 0 14px rgba(37,99,235,.65);z-index:1;}.timeline::before{background:linear-gradient(to bottom,#2563eb 0%,#0891b2 20%,#059669 40%,#d97706 60%,#7c3aed 80%,#db2777 100%);}.tl-item:nth-child(1) .tl-dot{background:#2563eb;border-color:#93c5fd;box-shadow:0 0 16px rgba(37,99,235,.70);}.tl-item:nth-child(1) .tl-card{border-left:3px solid rgba(37,99,235,.65);}.tl-item:nth-child(2) .tl-dot{background:#0891b2;border-color:#67e8f9;box-shadow:0 0 16px rgba(8,145,178,.65);}.tl-item:nth-child(2) .tl-card{border-left:3px solid rgba(8,145,178,.60);}.tl-item:nth-child(3) .tl-dot{background:#059669;border-color:#6ee7b7;box-shadow:0 0 16px rgba(5,150,105,.65);}.tl-item:nth-child(3) .tl-card{border-left:3px solid rgba(5,150,105,.60);}.tl-item:nth-child(4) .tl-dot{background:#d97706;border-color:#fcd34d;box-shadow:0 0 16px rgba(217,119,6,.60);}.tl-item:nth-child(4) .tl-card{border-left:3px solid rgba(217,119,6,.55);}.tl-item:nth-child(5) .tl-dot{background:#7c3aed;border-color:#c4b5fd;box-shadow:0 0 16px rgba(124,58,237,.60);}.tl-item:nth-child(5) .tl-card{border-left:3px solid rgba(124,58,237,.55);}.tl-item:nth-child(6) .tl-dot{background:#db2777;border-color:#f9a8d4;box-shadow:0 0 16px rgba(219,39,119,.60);}.tl-item:nth-child(6) .tl-card{border-left:3px solid rgba(219,39,119,.55);}.tl-card{background:rgba(10,26,62,.72);border:1px solid var(--bdr);border-radius:13px;padding:20px 24px;transition:border-color .3s,background .3s;}.tl-card:hover{border-color:var(--bdrh);background:rgba(14,34,80,.86);}.tl-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:5px;}.tl-pos{font-size:1rem;font-weight:700;color:var(--txt);}.tl-badge{font-size:.76rem;font-weight:700;color:var(--b300);background:rgba(37,99,235,.14);border:1px solid rgba(37,99,235,.28);padding:3px 10px;border-radius:999px;white-space:nowrap;}.tl-badge-apprenti{font-size:.76rem;font-weight:700;color:#f9a8d4;background:rgba(219,39,119,.14);border:1px solid rgba(219,39,119,.3);padding:3px 10px;border-radius:999px;white-space:nowrap;}.tl-company{font-size:.88rem;font-weight:600;color:var(--sky);margin-bottom:8px;}.tl-company i{margin-right:5px;font-size:.78rem;}.tl-meta{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:10px;}.tl-meta-item{display:flex;align-items:center;gap:5px;font-size:.81rem;color:var(--txt3);}.tl-meta-item i{color:var(--b500);font-size:.74rem;}.tl-desc{font-size:.87rem;color:var(--txt2);line-height:1.75;}.tl-actions{margin-top:20px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;}@media (max-width:480px){.tl-actions{margin-top:12px;flex-direction:column;align-items:flex-end;}}.tl-partners{margin-top:14px;padding-top:12px;border-top:1px solid var(--bdr);}.tl-partners-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--b400);margin-bottom:8px;}.tl-partners-list{display:flex;flex-wrap:wrap;gap:6px;}.tl-partner-item{display:inline-flex;align-items:center;gap:5px;font-size:.74rem;font-weight:500;color:rgba(255,255,255,.75);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);padding:3px 10px;border-radius:999px;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s;}a.tl-partner-item:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.28);color:rgba(255,255,255,.75);}.tl-partner-item i{font-size:.62rem;color:var(--b400);}.tl-more{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:700;color:rgba(255,255,255,.85);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);padding:5px 12px;border-radius:999px;cursor:pointer;text-decoration:none;transition:background .2s,border-color .2s,color .2s;letter-spacing:.02em;}.tl-more:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.45);color:#fff;}.tl-more i{font-size:.65rem;transition:transform .2s;}.tl-more:hover i{transform:translateX(3px);}.tl-litige-btn{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:700;color:#fca5a5;background:rgba(185,28,28,.18);border:1px solid rgba(185,28,28,.45);padding:5px 12px;border-radius:999px;cursor:pointer;text-decoration:none;transition:background .2s,border-color .2s,color .2s;letter-spacing:.02em;}.tl-litige-btn:hover{background:rgba(185,28,28,.32);border-color:rgba(220,38,38,.65);color:#fecaca;}.tl-litige-btn i{font-size:.65rem;transition:transform .2s;}.tl-litige-btn:hover i{transform:translateX(3px);}html.light .tl-litige-btn{color:#991b1b;background:rgba(185,28,28,.09);border-color:rgba(185,28,28,.35);}html.light .tl-litige-btn:hover{background:rgba(185,28,28,.18);border-color:rgba(185,28,28,.55);color:#7f1d1d;}.modal-body{margin-top:6px;}.modal-body p{color:var(--txt2);font-size:.93rem;line-height:1.82;margin-bottom:12px;}.modal-body p:last-child{margin-bottom:0;}.testimonials-divider{display:flex;align-items:center;gap:10px;margin:22px 0 16px;}.testimonials-divider::before,.testimonials-divider::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.12);}html.light .testimonials-divider::before,html.light .testimonials-divider::after{background:rgba(0,0,0,.12);}.testimonials-label{font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#0a66c2;white-space:nowrap;}.testimonials-list{display:flex;flex-direction:column;gap:10px;}.testimonial-card{margin:0;padding:14px 16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-left:3px solid rgba(99,179,237,.45);border-radius:0 8px 8px 0;}html.light .testimonial-card{background:rgba(37,99,235,.04);border-color:rgba(37,99,235,.12);border-left-color:rgba(37,99,235,.45);}.testimonial-card p{font-size:.88rem;line-height:1.7;color:var(--txt2);margin:0 0 8px;font-style:italic;}.testimonial-card footer{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;}.testimonial-card footer strong{font-size:.82rem;color:var(--txt);font-style:normal;}.testimonial-card footer span{font-size:.78rem;color:var(--txt2);opacity:.75;}.tl-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:7px 24px;margin-top:6px;}.tl-list li{display:flex;align-items:baseline;gap:8px;font-size:.86rem;color:var(--txt2);line-height:1.45;}.tl-list li i{color:var(--b500);font-size:.65rem;flex-shrink:0;position:relative;top:-1px;}@media (max-width:580px){.tl-list{grid-template-columns:1fr;}}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;}.form-item{display:flex;gap:16px;align-items:flex-start;background:rgba(8,22,55,.48);border:1px solid var(--bdr);border-radius:13px;padding:18px 20px;transition:border-color .3s;}.form-item:hover{border-color:var(--bdrh);}.form-ico{flex-shrink:0;width:44px;height:44px;background:rgba(37,99,235,.14);border-radius:11px;display:flex;align-items:center;justify-content:center;color:var(--b400);font-size:1.1rem;}.form-note{font-size:.86rem;color:var(--txt2);font-style:italic;background:rgba(37,99,235,.07);border-left:3px solid var(--b600);padding:10px 14px;border-radius:0 8px 8px 0;margin-bottom:20px;line-height:1.7;}.form-note i{color:var(--b400);margin-right:7px;}.form-note strong{color:var(--b300);font-style:normal;}.form-degree{font-size:.93rem;font-weight:700;color:var(--txt);margin-bottom:3px;}.form-school{font-size:.83rem;color:var(--sky);margin-bottom:4px;}.form-year{font-size:.78rem;color:var(--txt3);}.form-year i{margin-right:4px;}.traits-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}.traits-col-title{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;padding-bottom:10px;min-height:38px;display:flex;align-items:center;gap:8px;border-bottom:1px solid;}.traits-col-title.green{color:#4ade80;border-color:rgba(74,222,128,.2);}.traits-col-title.orange{color:#fb923c;border-color:rgba(251,146,60,.22);}.traits-col-title.red{color:#f87171;border-color:rgba(248,113,113,.2);}.trait-item{display:flex;align-items:center;gap:14px;padding:13px 16px;border-radius:11px;margin-bottom:10px;border:1px solid;transition:transform .25s ease,background .25s;}.trait-item:last-child{margin-bottom:0;}.trait-item:hover{transform:translateX(5px);}.trait-item.green{background:rgba(34,197,94,.07);border-color:rgba(34,197,94,.2);}.trait-item.green:hover{background:rgba(34,197,94,.13);}.trait-item.orange{background:rgba(249,115,22,.07);border-color:rgba(249,115,22,.22);}.trait-item.orange:hover{background:rgba(249,115,22,.13);}.trait-item.red{background:rgba(239,68,68,.07);border-color:rgba(239,68,68,.2);}.trait-item.red:hover{background:rgba(239,68,68,.13);}.trait-ico{flex-shrink:0;width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:.9rem;}.trait-item.green .trait-ico{background:rgba(34,197,94,.15);color:#4ade80;}.trait-item.orange .trait-ico{background:rgba(249,115,22,.15);color:#fb923c;}.trait-item.red .trait-ico{background:rgba(239,68,68,.15);color:#f87171;}.trait-label{font-size:.92rem;font-weight:700;color:var(--txt);line-height:1.2;}.trait-sub{font-size:.78rem;color:var(--txt3);margin-top:2px;}.lang-row{display:flex;flex-wrap:wrap;gap:14px;}.lang-sublabel{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--txt3);margin:18px 0 10px;display:flex;align-items:center;justify-content:center;gap:7px;}.lang-row--code{flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-bottom:4px;}.lang-row--code .lang-item{flex-direction:column;align-items:center;text-align:center;gap:6px;padding:10px 12px;flex-shrink:0;min-width:0;}.lang-code-icon{width:32px !important;height:32px !important;border-radius:6px;}.lang-row--code .lang-name{font-size:.78rem;}.lang-row--code .lang-level{font-size:.68rem;}.lang-row--code .lang-dots{justify-content:center;}.lang-item{display:flex;gap:14px;align-items:center;background:rgba(8,22,55,.48);border:1px solid var(--bdr);border-radius:13px;padding:16px 20px;flex:1;min-width:160px;transition:border-color .3s;}.lang-item:hover{border-color:var(--bdrh);}.lang-flag{line-height:1;flex-shrink:0;display:flex;align-items:center;}.flag-svg{display:block;border-radius:2px;flex-shrink:0;overflow:hidden;}.lang-flag .flag-svg{width:36px;height:auto;}.lang-btn .flag-svg{width:24px;height:auto;}.lang-name{font-size:.9rem;font-weight:700;color:var(--txt);}.lang-level{font-size:.78rem;color:var(--txt3);margin-top:2px;margin-bottom:5px;}.lang-dots{display:flex;gap:5px;}.lang-dot{width:9px;height:9px;border-radius:50%;background:rgba(59,130,246,.18);}.lang-dot.on{background:var(--b400);}.hobbies-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:10px;}.hobby-item{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;background:rgba(8,22,55,.48);border:1px solid var(--bdr);border-radius:12px;padding:14px 8px;cursor:default;transition:border-color .3s,transform .3s ease,background .3s;}.hobby-item:hover{border-color:var(--bdrh);transform:translateY(-3px);background:rgba(12,30,72,.65);}.hobby-ico{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,rgba(37,99,235,.18),rgba(56,189,248,.08));border:1px solid rgba(59,130,246,.22);display:flex;align-items:center;justify-content:center;color:var(--b300);font-size:.9rem;transition:background .3s,transform .3s;}.hobby-item:hover .hobby-ico{background:linear-gradient(135deg,rgba(37,99,235,.35),rgba(56,189,248,.18));transform:scale(1.08);}.hobby-label{font-size:.75rem;font-weight:600;color:var(--txt);}button.hobby-item{cursor:pointer;font-family:inherit;border-color:var(--bdrh);}button.hobby-item:hover{border-color:var(--b500);background:rgba(37,99,235,.18);}button.hobby-item .hobby-ico{color:var(--b400);}#pets-trigger{position:relative;}#pets-trigger::after{content:'';position:absolute;top:7px;right:7px;width:8px;height:8px;border-radius:50%;background:var(--b400);animation:pet-pulse 2.4s ease-in-out infinite;}@keyframes pet-pulse{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.5);opacity:.4}}#pets-trigger .hobby-ico{animation:pet-wiggle 4s ease-in-out infinite;transform-origin:bottom center;}@keyframes pet-wiggle{0%,80%,100%{transform:rotate(0deg)}85%{transform:rotate(-18deg)}90%{transform:rotate(16deg)}95%{transform:rotate(-10deg)}97%{transform:rotate(6deg)}}@media (prefers-reduced-motion:reduce){#pets-trigger .hobby-ico,#pets-trigger::after{animation:none}}.pet-grid{display:flex;gap:32px;justify-content:center;flex-wrap:wrap;margin-top:24px;}.pet-card{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;}.pet-photo{width:140px;height:140px;border-radius:50%;object-fit:cover;border:3px solid var(--b600);box-shadow:0 0 24px rgba(37,99,235,.4);}html.light .pet-photo{box-shadow:0 0 16px rgba(37,99,235,.2);}.pet-name{font-size:1.15rem;font-weight:800;color:var(--txt);letter-spacing:-.02em;}.pet-breed{font-size:.82rem;font-weight:600;color:var(--b400);}.pet-birthdate{font-size:.75rem;color:var(--txt2);}.cv-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 28px;align-items:start;}.cv-col-left,.cv-col-right{min-width:0;}@media (max-width:900px){.cv-columns{display:flex;flex-direction:column;align-items:stretch;}.cv-col-left,.cv-col-right{display:contents;}.card-header{order:1;}.card-about{order:2;}.card-skills{order:3;}.card-timeline{order:4;}.cv-col-left .card:not(.card-header):not(.card-skills):not(.card-timeline),.cv-col-right .card:not(.card-about){order:5;}.card{width:100% !important;box-sizing:border-box !important;overflow:hidden !important;}.hobbies-grid,.tools-grid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:8px !important;width:100% !important;box-sizing:border-box !important;}.hobby-item{padding:12px 6px !important;gap:6px !important;}.hobby-ico{width:32px !important;height:32px !important;font-size:.85rem !important;}.hobby-label{font-size:.72rem !important;}.lang-row{flex-wrap:wrap;gap:10px;}.lang-item{min-width:0 !important;flex:1 1 calc(50% - 5px) !important;box-sizing:border-box !important;}}.proj-item{display:flex;flex-direction:column;align-items:center;gap:20px;}.proj-banner{max-width:539px;width:100%;height:76px;object-fit:contain;object-position:center;border-radius:10px;margin:0;}.proj-banner--sm{height:82px;object-fit:contain;}.proj-body{display:flex;flex-direction:column;align-items:center;gap:14px;}.proj-desc{font-size:.92rem;color:var(--txt2);line-height:1.65;text-align:center;}.proj-tags{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;}.proj-tag{font-size:.75rem;font-weight:700;color:rgba(255,255,255,.85);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);padding:3px 10px;border-radius:999px;white-space:nowrap;}.gh-btn{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:700;color:#fff;background:rgba(37,99,235,.22);border:1px solid rgba(59,130,246,.4);padding:8px 18px;border-radius:999px;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,transform .2s;letter-spacing:.02em;}.gh-btn:hover{background:rgba(37,99,235,.38);border-color:var(--b300);transform:translateY(-2px);color:#fff;}.gh-btn svg{width:16px;height:16px;fill:currentColor;flex-shrink:0;}.gh-btn .fa-globe{font-size:15px;flex-shrink:0;}.proj-nav-row{display:flex;align-items:center;gap:10px;}.proj-viewport{flex:1;overflow:hidden;min-width:0;transition:height .42s cubic-bezier(.4,0,.2,1);}.proj-track{display:flex;transition:transform .42s cubic-bezier(.4,0,.2,1);will-change:transform;}.proj-slide{flex:0 0 100%;min-width:0;box-sizing:border-box;}.proj-nav-btn{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:var(--txt);font-size:.88rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,border-color .2s,transform .2s;padding:0;}.proj-nav-btn:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.42);transform:scale(1.1);}.proj-dots{display:flex;justify-content:center;gap:8px;margin-top:14px;}.proj-dot{width:8px;height:8px;border-radius:50%;border:none;cursor:pointer;padding:0;background:rgba(255,255,255,.22);transition:background .2s,transform .2s;}.proj-dot.active{background:var(--b300);transform:scale(1.4);}.proj-banner-house{max-width:90px;width:100%;height:76px;fill:rgba(255,255,255,.88);display:block;margin:0 auto 6px;}html.light .proj-banner-house{fill:#0f172a;}html.light .proj-nav-btn{background:rgba(30,41,59,.07);border-color:rgba(30,41,59,.22);}html.light .proj-nav-btn:hover{background:rgba(30,41,59,.15);border-color:rgba(30,41,59,.42);}html.light .proj-dot{background:rgba(30,41,59,.22);}.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:12px;}.tools-grid.collapsed .tool-item:nth-child(n+7){display:none;}@media (min-width:721px){.tools-grid.collapsed .tool-item:nth-child(n+7){display:flex;}.tools-grid.collapsed .tool-item:nth-child(n+13){display:flex;}.tools-toggle{display:none !important;}}.tools-toggle{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:12px;font-size:.8rem;font-weight:700;color:rgba(255,255,255,.8);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);padding:8px 16px;border-radius:999px;cursor:pointer;transition:background .2s,border-color .2s;}.tools-toggle:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4);}.tools-toggle i{font-size:.65rem;transition:transform .3s;}.tools-toggle.open i{transform:rotate(180deg);}.tool-item{display:flex;flex-direction:column;align-items:center;gap:9px;background:rgba(8,22,55,.48);border:1px solid var(--bdr);border-radius:12px;padding:18px 10px;cursor:default;transition:border-color .3s,transform .3s ease,background .3s;}.tool-item:hover{border-color:var(--bdrh);transform:translateY(-3px);background:rgba(12,30,72,.65);}.tool-img{width:42px;height:42px;object-fit:contain;border-radius:8px;}.tool-label{font-size:.78rem;font-weight:600;color:var(--txt);text-align:center;}.cv-quote{position:relative;z-index:1;max-width:860px;margin:60px auto 18px;padding:0 20px;text-align:center;}.cv-quote blockquote{display:inline-block;position:relative;padding:18px 28px;background:rgba(11,27,62,.88);border:1px solid rgba(59,130,246,.28);border-radius:16px;backdrop-filter:blur(12px);}.cv-quote blockquote::before{content:'\201C';position:absolute;top:-8px;left:14px;font-size:3.6rem;line-height:1;color:var(--b600);opacity:.5;font-family:Georgia,serif;}.cv-quote p{font-size:.82rem;font-style:italic;color:var(--b200);letter-spacing:.015em;line-height:1.65;margin:0;}.cv-quote cite{display:block;margin-top:8px;font-size:.7rem;font-style:normal;color:var(--txt3);letter-spacing:.08em;text-transform:uppercase;}.cv-quote cite::before{content:'— ';}.cv-footer{text-align:center;padding:12px 20px;color:var(--txt3);font-size:.78rem;position:relative;z-index:1;}.cv-footer a{color:var(--b400);text-decoration:none;}.cv-footer a:hover{color:var(--b300);}@media (max-width:720px){.alsace-logo{display:none;}.wrap{padding:16px 12px 60px;}.card{padding:24px 20px;}.proj-nav-btn{display:none !important;}.proj-nav-row{gap:0;}.header-inner{flex-direction:column;align-items:center;text-align:center;gap:22px;}.photo-ring{width:120px;height:120px;}.full-name{font-size:1.9rem;}.name-line{justify-content:center;}.badges-row{display:grid;grid-template-columns:auto auto;justify-content:center;margin-bottom:24px;}.badges-row .avail-badge--static{grid-column:1 / -1;justify-self:center;}.job-title{justify-content:center;}.job-title::before{display:none;}.contact-row{justify-content:center;}.skills-grid{grid-template-columns:1fr;gap:28px;}.tl-top{flex-direction:column;}.traits-grid{grid-template-columns:1fr;gap:20px;}}@media (max-width:440px){.full-name{font-size:1.55rem;}.form-grid{grid-template-columns:1fr;}.hobbies-grid{gap:6px !important;}.hobby-item{padding:10px 4px;}.hobby-ico{width:28px;height:28px;font-size:.75rem;}}.contact-form{display:flex;flex-direction:column;gap:16px;}.contact-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}.contact-field{display:flex;flex-direction:column;gap:6px;}.contact-label{font-size:.8rem;font-weight:600;color:var(--b400);text-transform:uppercase;letter-spacing:.07em;}.contact-label .req{color:#f87171;margin-left:3px;}.contact-input{background:rgba(5,15,40,.55);border:1px solid var(--bdr);border-radius:10px;color:var(--txt);font-family:inherit;font-size:.92rem;padding:10px 14px;transition:border-color .25s,box-shadow .25s,background .25s;outline:none;width:100%;box-sizing:border-box;}.contact-textarea{resize:vertical;min-height:130px;line-height:1.6;}.contact-input:focus{border-color:var(--b500);box-shadow:0 0 0 3px rgba(59,130,246,.18);}.contact-input.is-error{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.15);}.contact-input::placeholder{color:var(--txt3);opacity:.8;}.contact-captcha{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}.captcha-question{font-size:.9rem;font-weight:600;color:var(--txt2);flex-shrink:0;}.captcha-answer{width:80px;flex-shrink:0;text-align:center;}.contact-footer{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}.contact-submit{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:700;color:#fff;background:var(--b600);border:1px solid var(--b500);padding:11px 28px;border-radius:999px;cursor:pointer;transition:background .25s,transform .2s,box-shadow .25s;font-family:inherit;letter-spacing:.02em;flex-shrink:0;}.contact-submit:hover:not(:disabled){background:var(--b700);transform:translateY(-2px);box-shadow:0 4px 18px rgba(37,99,235,.4);}.contact-submit:disabled{opacity:.6;cursor:not-allowed;}.contact-submit .spin{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:contactSpin .7s linear infinite;display:none;flex-shrink:0;}.contact-submit.loading .spin{display:block}.contact-submit.loading .btn-txt{display:none}@keyframes contactSpin{to{transform:rotate(360deg)}}.contact-status{font-size:.88rem;font-weight:600;padding:9px 14px;border-radius:9px;display:none;flex:1;min-width:0;}.contact-status.ok{display:block;color:#4ade80;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);}.contact-status.err{display:block;color:#f87171;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);}@keyframes contactPulse{0%,100%{box-shadow:0 0 0 0 rgba(59,130,246,.45)}50%{box-shadow:0 0 0 7px rgba(59,130,246,0)}}@media (min-width:721px){.btn-contact-header{animation:contactPulse 2.8s ease-in-out infinite;}.btn-contact-header:hover{animation:none;}}.btn-contact-header{display:inline-flex !important;align-items:center;gap:7px;font-size:.82rem !important;font-weight:700 !important;color:#fff !important;background:var(--b600);border:1px solid var(--b500);padding:6px 16px !important;border-radius:999px;text-decoration:none !important;transition:background .25s,transform .2s,box-shadow .25s,border-color .25s !important;letter-spacing:.02em;}.btn-contact-header:hover{background:var(--b700) !important;color:#fff !important;transform:translateY(-2px);box-shadow:0 4px 16px rgba(37,99,235,.4);border-color:var(--b400) !important;}.btn-contact-header i{color:#fff !important;width:auto;}html.light .btn-contact-header{background:var(--b600);border-color:var(--b500);color:#fff !important;box-shadow:0 2px 10px rgba(37,99,235,.25);}html.light .btn-contact-header:hover{background:var(--b700) !important;box-shadow:0 4px 16px rgba(37,99,235,.4);}.contact-honey{position:absolute;left:-9999px;opacity:0;pointer-events:none;}html.light .contact-input{background:rgba(239,246,255,.85);color:var(--txt);}html.light .contact-input::placeholder{color:#94a3b8;}html.light .contact-status.ok{color:#15803d;background:rgba(22,163,74,.09);border-color:rgba(22,163,74,.28);}html.light .contact-status.err{color:#b91c1c;background:rgba(220,38,38,.08);border-color:rgba(220,38,38,.28);}html.light .contact-label .req{color:#dc2626;}@media (max-width:580px){.contact-row-2{grid-template-columns:1fr}.contact-footer{flex-direction:column;align-items:stretch}.contact-submit{justify-content:center}.contact-status{text-align:center}.contact-captcha{align-items:center;flex-wrap:nowrap;gap:10px}}.print-btn{position:fixed;bottom:70px;right:20px;z-index:900;width:42px;height:42px;border-radius:50%;background:rgba(37,99,235,.16);border:1px solid var(--bdr);color:var(--b300);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s,color .25s,transform .2s;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}.print-btn:hover{background:rgba(220,38,38,.18);border-color:rgba(220,38,38,.45);color:#f87171;transform:scale(1.1);}html.light .print-btn:hover{background:rgba(220,38,38,.12);border-color:rgba(220,38,38,.4);color:#dc2626;}.lang-btn,.print-btn,.theme-toggle{overflow:visible}.fab-tip{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%) translateX(6px);background:rgba(4,12,26,.95);border:1px solid var(--bdr);color:var(--txt);font-size:.72rem;font-weight:500;white-space:nowrap;padding:5px 10px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;box-shadow:0 2px 12px rgba(0,0,0,.3);z-index:1;}html.light .fab-tip{background:rgba(239,246,255,.97);box-shadow:0 2px 12px rgba(30,58,138,.1);}@media (min-width:769px){.lang-btn:hover .fab-tip,.print-btn:hover .fab-tip,.theme-toggle:hover .fab-tip{opacity:1;transform:translateY(-50%) translateX(0);}}@media (max-width:768px){.fab-tip{display:none}}.lang-btn{position:fixed;bottom:122px;right:20px;z-index:900;width:42px;height:42px;border-radius:50%;background:rgba(37,99,235,.16);border:1px solid var(--bdr);font-size:1.35rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s,transform .2s;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}.lang-btn:hover{background:rgba(37,99,235,.3);border-color:var(--bdrh);transform:scale(1.1);}.print-notice{display:none}@media print{.lang-btn{display:none}}.fab-toggle{position:fixed;bottom:20px;right:20px;z-index:910;width:46px;height:46px;border-radius:50%;background:var(--b600);border:1px solid rgba(255,255,255,.12);color:#fff;font-size:1rem;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,99,235,.45);transition:background .2s,transform .2s,box-shadow .2s;}.fab-toggle:hover{background:var(--b700);box-shadow:0 6px 24px rgba(37,99,235,.6);transform:scale(1.08);}.fab-toggle i{display:block;transition:transform .2s ease;}@media print{.fab-toggle{display:none !important}}@media (max-width:768px){.fab-toggle{display:flex}.lang-btn,.print-btn,.theme-toggle{bottom:20px;opacity:0;pointer-events:none;transform:scale(0.5);transition:opacity .2s ease,transform .25s cubic-bezier(.34,1.56,.64,1);z-index:905;}body.fab-open .theme-toggle{opacity:1;pointer-events:auto;transform:translateY(-56px) scale(1);transition-delay:0ms;}body.fab-open .print-btn{opacity:1;pointer-events:auto;transform:translateY(-112px) scale(1);transition-delay:50ms;}body.fab-open .lang-btn{opacity:1;pointer-events:auto;transform:translateY(-168px) scale(1);transition-delay:100ms;}}.theme-toggle{position:fixed;bottom:20px;right:20px;z-index:900;width:42px;height:42px;border-radius:50%;background:rgba(37,99,235,.16);border:1px solid var(--bdr);color:var(--b300);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s,color .25s,transform .2s;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}.theme-toggle:hover{background:rgba(37,99,235,.3);border-color:var(--bdrh);transform:scale(1.1);}html.light{--bg-root:#eef2ff;--bg-dark:#dde6ff;--bg-card:rgba(255,255,255,0.88);--b300:#1d4ed8;--b400:#2563eb;--b200:#1e3a8a;--sky:#0369a1;--txt:#1e293b;--txt2:#334155;--txt3:#64748b;--bdr:rgba(37,99,235,.22);--bdrh:rgba(37,99,235,.5);--shd:0 4px 40px rgba(0,0,0,.09);--glow:0 0 32px rgba(37,99,235,.05);}html.light body{background:var(--bg-root);}html.light .bg-grid{background-image:linear-gradient(rgba(37,99,235,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.07) 1px,transparent 1px);}html.light .blob-1{opacity:.12}html.light .blob-2{opacity:.10}html.light .blob-3{opacity:.09}html.light .blob-4{opacity:.10}html.light .blob-5{opacity:.08}html.light .blob-6{opacity:.08}html.light .geo-1{opacity:.06}html.light .geo-2{opacity:.06}html.light .geo-3{opacity:.06}html.light .tl-card{background:rgba(239,246,255,.75);}html.light .tl-card:hover{background:rgba(219,234,254,.9);}html.light .form-item,html.light .lang-item,html.light .hobby-item,html.light .tool-item{background:rgba(239,246,255,.75);}html.light .hobby-item:hover,html.light .tool-item:hover{background:rgba(219,234,254,.9);}html.light .cv-quote blockquote{background:rgba(255,255,255,.82);border-color:rgba(37,99,235,.18);}html.light .bar-track{background:rgba(59,130,246,.14);}html.light .modal-overlay{background:rgba(180,200,255,0.65);}html.light .tl-partner-item{color:var(--txt2);background:rgba(37,99,235,.07);border-color:rgba(37,99,235,.18);text-decoration:none;}html.light a.tl-partner-item:hover{background:rgba(37,99,235,.13);border-color:rgba(37,99,235,.32);color:var(--txt2);}html.light .tl-partner-item i{color:var(--b400);}html.light .tl-more{color:var(--txt);background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.25);}html.light .tl-more:hover{background:rgba(37,99,235,.16);border-color:var(--bdrh);color:var(--b700);}html.light .proj-tag{color:var(--txt2);background:rgba(37,99,235,.07);border-color:rgba(37,99,235,.2);}html.light .tools-toggle{color:var(--txt);background:rgba(37,99,235,.07);border-color:rgba(37,99,235,.2);}html.light .tools-toggle:hover{background:rgba(37,99,235,.14);border-color:rgba(37,99,235,.4);}html.light .card-header{background:linear-gradient(135deg,#dbeafe 0%,#eff6ff 100%);border-color:rgba(37,99,235,.3);}html.light .full-name{color:#1e3a8a;}html.light .full-name em{color:var(--b600);}html.light .job-title{color:#1d4ed8;}html.light .job-title::before{background:#1d4ed8;}html.light .contact-item{color:var(--txt2);}html.light .contact-item:hover{color:var(--b700);}html.light .photo-inner{background:#dbeafe;}html.light .photo-ph{color:#2563eb;}html.light .photo-pulse{border-color:rgba(37,99,235,.4);}html.light .photo-pulse2{border-color:rgba(37,99,235,.2);}html.light .proj-banner{filter:invert(1);}html.light .proj-banner--color{filter:none;}.proj-logo-img{height:92px;width:auto;border-radius:12px;display:block;margin:0 auto;}html.light .tool-img-light{filter:invert(1);}html.light .gh-btn{background:rgba(37,99,235,.75);border-color:rgba(37,99,235,.9);color:#fff;}html.light .gh-btn:hover{background:rgba(29,78,216,.9);border-color:#1d4ed8;}html.light .tl-badge-apprenti{color:#831843;background:rgba(219,39,119,.1);border-color:rgba(219,39,119,.45);}@media print{.lang-sublabel,.lang-row--code{display:none !important}#pets-trigger::after{display:none !important}#pets-trigger .hobby-ico{animation:none !important}}@media print{@page{size:A4 portrait;margin:0;}*,*::before,*::after{animation:none !important;transition:none !important;-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important;}html,body{width:210mm !important;height:297mm !important;margin:0 !important;padding:0 !important;overflow:hidden !important;}.bg-canvas,.bg-grid,.print-btn,.theme-toggle,.cv-footer,.cv-quote,.photo-pulse,.photo-pulse2,.avail-badge,.badges-row,.card-attentes,.card-skills,.card-projets,.card-tools,.form-note,.modal-dialog,.tl-actions,.tl-partners,.btn-contact-header{display:none !important;}body{background:#fff !important;color:#1e293b !important;}main.wrap{width:210mm !important;height:297mm !important;padding:5mm 6mm !important;box-sizing:border-box !important;position:static !important;overflow:hidden !important;display:flex !important;flex-direction:column !important;}.print-notice{display:block !important;text-align:center !important;font-size:6.5pt !important;color:#64748b !important;padding:0 0 0.8mm !important;margin-bottom:0.8mm !important;border-bottom:0.3pt solid #e2e8f0 !important;flex-shrink:0 !important;}.print-notice .fa-circle-info{color:#3b82f6 !important;}.cv-columns{display:grid !important;grid-template-columns:1fr 1fr !important;grid-template-rows:280mm !important;gap:0 6mm !important;align-items:stretch !important;flex:none !important;height:280mm !important;}.cv-col-left{display:grid !important;grid-template-rows:auto 1fr !important;gap:3mm !important;height:280mm !important;overflow:hidden !important;}.cv-col-right{display:flex !important;flex-direction:column !important;gap:3mm !important;height:280mm !important;overflow:hidden !important;justify-content:space-between !important;}.card-timeline{height:100% !important;overflow:hidden !important;break-inside:auto !important;page-break-inside:auto !important;padding:2.5mm 3mm !important;}.card{background:#fff !important;border:1px solid #e2e8f0 !important;box-shadow:none !important;border-radius:4px !important;margin-bottom:0 !important;padding:3mm 4mm !important;opacity:1 !important;transform:none !important;backdrop-filter:none !important;break-inside:avoid !important;page-break-inside:avoid !important;}.sec-title{break-after:avoid !important;page-break-after:avoid !important;}.tl-item,.form-item,.lang-item,.hobby-item,.trait-item{break-inside:avoid !important;page-break-inside:avoid !important;}.photo-wrap{display:flex !important;justify-content:center !important;margin-bottom:3mm !important;}.photo-ring{width:52px !important;height:52px !important;border-radius:50% !important;padding:2px !important;background:linear-gradient(135deg,#60a5fa,#38bdf8) !important;}.photo-inner{width:100% !important;height:100% !important;border-radius:50% !important;overflow:hidden !important;background:#1e3a8a !important;}.profile-img{display:block !important;width:100% !important;height:100% !important;object-fit:cover !important;}.photo-ph{display:none !important;}.card-header{background:linear-gradient(135deg,#1e3a8a 0%,#1d4ed8 100%) !important;border:none !important;padding:4mm 5mm !important;box-sizing:border-box !important;}.header-inner{gap:0 !important;flex-direction:column !important;}.name-line{margin-bottom:1mm !important;flex-wrap:wrap !important;}.badges-row{margin-bottom:2mm !important;flex-wrap:wrap !important;}.full-name{color:#fff !important;font-size:17pt !important;}.full-name em{color:#93c5fd !important;}.job-title{color:#bfdbfe !important;margin-bottom:1.5mm !important;font-size:9pt !important;}.job-title::before{background:#bfdbfe !important;width:16px !important;}.contact-row{gap:1.5mm 8px !important;flex-direction:column !important;}.contact-item{color:#bfdbfe !important;font-size:8pt !important;}.contact-item i{color:#93c5fd !important;}.about-txt{text-align:left !important;max-width:100% !important;}.sec-title{color:#1d4ed8 !important;font-size:9.5pt !important;margin-bottom:2mm !important;}.sec-title i{color:#3b82f6 !important;}.sec-title::before{background:linear-gradient(to right,transparent,#cbd5e1) !important;}.sec-title::after{background:linear-gradient(to left,transparent,#cbd5e1) !important;}.about-txt{color:#374151 !important;font-size:8pt !important;line-height:1.4 !important;}.about-txt p:first-child{color:#1e40af !important;font-size:8.5pt !important;}.about-txt p+p{margin-top:1.5mm !important;}.skills-grid{gap:12px !important;}.skill-item{margin-bottom:5px !important;}.skill-pct{display:none !important;}.skill-name{color:#1f2937 !important;font-size:.87rem !important;}.skills-sub-title{color:#2563eb !important;border-color:#dde3f0 !important;margin-bottom:6px !important;font-size:.76rem !important;}.bar-track{background:#e2e8f0 !important;height:4px !important;}.bar-fill{transform:none !important;width:100% !important;background:linear-gradient(90deg,#1d4ed8,#3b82f6,#38bdf8) !important;}.skills-secondary .bar-fill{background:linear-gradient(90deg,#0f766e,#0d9488,#2dd4bf) !important;}.skills-secondary .skills-sub-title{color:#0d9488 !important;border-color:rgba(13,148,136,.22) !important;}.timeline{padding-left:16px !important;}.timeline::before{left:5px !important;width:1.5px !important;background:linear-gradient(to bottom,#2563eb,#0891b2,#059669,#d97706,#7c3aed) !important;}.tl-item{margin-bottom:1.2mm !important;}.tl-dot{width:7px !important;height:7px !important;box-shadow:none !important;left:-20px !important;top:50% !important;}.tl-item:nth-child(1) .tl-dot{background:#2563eb !important;border-color:#93c5fd !important;}.tl-item:nth-child(2) .tl-dot{background:#0891b2 !important;border-color:#67e8f9 !important;}.tl-item:nth-child(3) .tl-dot{background:#059669 !important;border-color:#6ee7b7 !important;}.tl-item:nth-child(4) .tl-dot{background:#d97706 !important;border-color:#fcd34d !important;}.tl-item:nth-child(5) .tl-dot{background:#7c3aed !important;border-color:#c4b5fd !important;}.tl-item:nth-child(6) .tl-dot{background:#db2777 !important;border-color:#f9a8d4 !important;}.tl-card{background:#f8fafc !important;border:1px solid #e2e8f0 !important;padding:1.2mm 2mm !important;}.tl-item:nth-child(1) .tl-card{border-left:3px solid #2563eb !important;}.tl-item:nth-child(2) .tl-card{border-left:3px solid #0891b2 !important;}.tl-item:nth-child(3) .tl-card{border-left:3px solid #059669 !important;}.tl-item:nth-child(4) .tl-card{border-left:3px solid #d97706 !important;}.tl-item:nth-child(5) .tl-card{border-left:3px solid #7c3aed !important;}.tl-top{flex-wrap:nowrap !important;}.tl-pos{color:#1f2937 !important;font-size:7.5pt !important;line-height:1.2 !important;}.tl-badge,.tl-badge-apprenti{font-size:6pt !important;white-space:nowrap !important;padding:1px 4px !important;}.tl-badge{background:#f1f5f9 !important;border-color:#cbd5e1 !important;color:#475569 !important;}.tl-company{font-size:6.5pt !important;margin-bottom:0.3mm !important;color:#0284c7 !important;}.tl-meta{margin-bottom:0.5mm !important;gap:5px !important;}.tl-meta-item{color:#6b7280 !important;font-size:6.5pt !important;}.tl-meta-item i{color:#94a3b8 !important;}.tl-desc{color:#374151 !important;font-size:6.5pt !important;line-height:1.3 !important;}.tl-list{grid-template-columns:1fr !important;gap:0.2mm !important;margin-top:0.5mm !important;}.tl-list li{color:#374151 !important;font-size:6.5pt !important;line-height:1.3 !important;}.tl-list li i{color:#94a3b8 !important;}.form-grid{gap:2mm !important;}.form-item{background:#f8fafc !important;border-color:#e2e8f0 !important;padding:1.5mm 2.5mm !important;}.form-ico{background:#eff6ff !important;color:#2563eb !important;width:22px !important;height:22px !important;font-size:8pt !important;}.form-degree{color:#1f2937 !important;font-size:8pt !important;}.form-school{color:#0284c7 !important;font-size:7.5pt !important;}.form-year{color:#6b7280 !important;font-size:7pt !important;}.traits-grid{grid-template-columns:1fr 1fr !important;gap:2mm !important;}.traits-col-title{font-size:7pt !important;margin-bottom:1.5mm !important;padding-bottom:1mm !important;min-height:auto !important;}.traits-col-title.green{color:#16a34a !important;border-color:rgba(22,163,74,.25) !important;}.traits-col-title.orange{color:#c2410c !important;border-color:rgba(194,65,12,.25) !important;}.trait-item{padding:1mm 1.5mm !important;margin-bottom:1mm !important;border-radius:3px !important;}.trait-item.green{background:rgba(22,163,74,.07) !important;border-color:rgba(22,163,74,.18) !important;}.trait-item.orange{background:rgba(194,65,12,.07) !important;border-color:rgba(194,65,12,.18) !important;}.trait-ico{width:16px !important;height:16px !important;font-size:7pt !important;border-radius:2px !important;}.trait-item.green .trait-ico{background:rgba(22,163,74,.12) !important;color:#16a34a !important;}.trait-item.orange .trait-ico{background:rgba(194,65,12,.12) !important;color:#c2410c !important;}.trait-label{color:#1f2937 !important;font-size:8pt !important;}.trait-sub{color:#6b7280 !important;font-size:6.5pt !important;}.lang-row{gap:6px !important;}.lang-item{background:#f8fafc !important;border-color:#e2e8f0 !important;padding:6px 10px !important;gap:10px !important;}.lang-flag{font-size:1.3rem !important;}.lang-name{color:#1f2937 !important;font-size:.82rem !important;}.lang-level{color:#6b7280 !important;font-size:.7rem !important;}.lang-dot{background:#e2e8f0 !important;width:7px !important;height:7px !important;}.lang-dot.on{background:#3b82f6 !important;}.lang-row{gap:2mm !important;}.lang-item{background:#f8fafc !important;border-color:#e2e8f0 !important;padding:1.5mm 2.5mm !important;gap:2.5mm !important;}.lang-flag{font-size:11pt !important;}.lang-name{color:#1f2937 !important;font-size:8pt !important;}.lang-level{color:#6b7280 !important;font-size:7pt !important;}.hobbies-grid{grid-template-columns:repeat(4,1fr) !important;gap:2mm !important;}.hobby-item{background:#f8fafc !important;border-color:#e2e8f0 !important;padding:2mm 1mm !important;gap:1.5mm !important;}.hobby-ico{background:#eff6ff !important;border-color:#bfdbfe !important;color:#2563eb !important;width:22px !important;height:22px !important;font-size:7pt !important;}.hobby-label{color:#1f2937 !important;font-size:7pt !important;}}body{-webkit-user-select:none;-moz-user-select:none;user-select:none;}input,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text;}::selection{background:transparent}::-moz-selection{background:transparent}img{-webkit-user-drag:none;}@supports (-moz-appearance: none){.card{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;}dialog.modal-dialog{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;}dialog.modal-dialog::backdrop{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;}.cv-quote blockquote{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;}.lang-btn,.print-btn,.theme-toggle{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;}.blob,.geo{filter:none !important;will-change:auto !important;}.avail-dot,.btn-contact-header{animation:none !important;}html.light dialog.modal-dialog::backdrop{background:rgba(100,130,210,0.55) !important;backdrop-filter:none !important;}html.light body:has(dialog.modal-dialog[open])::before{content:'';position:fixed;inset:0;background:rgba(100,130,210,0.55);z-index:999;pointer-events:none;}.lang-btn,.print-btn,.theme-toggle{background:rgba(11,27,62,0.95) !important;border-color:rgba(59,130,246,0.65) !important;}html.light .lang-btn,html.light .print-btn,html.light .theme-toggle{background:rgba(255,255,255,0.97) !important;border-color:rgba(37,99,235,0.5) !important;}html.light dialog.modal-dialog{background:#fff !important;}}}