 :root {--ink-950: #0B1D2E;--ink-900: #122A40;--ink-800: #1C3A55;--ink-700: #2D4E6B;--ink-600: #47637F;--ink-500: #647E98;--ink-400: #8CA2B7;--ink-300: #B5C6D5;--ink-200: #D7E1EA;--ink-100: #E9F0F5;--ink-50: #F4F8FA;--accent-700: #0A4FB5;--accent-600: #0B5FD0;--accent-500: #1F74E6;--accent-400: #549AF2;--accent-300: #8FC0F8;--accent-100: #D8E8FC;--accent-50: #EDF4FE;--green-700: #0B7A4B;--green-600: #0D9160;--green-50: #EFFBF5;--alert-600: #B42318;--alert-50: #FEF3F2;--paper: var(--ink-50);--font-display: 'Sora', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;--font-primary: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: 'JetBrains Mono', monospace;--header-height: 70px;--section-padding: 6rem 2rem;--container-max-width: 1200px;--reading-max-width: 1000px;--shadow-card: 0 1px 2px rgba(11, 29, 46, 0.05);--shadow-card-hover: 0 8px 22px rgba(11, 29, 46, 0.09);--transition-smooth: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);}* {margin: 0;padding: 0;box-sizing: border-box;}html {scroll-behavior: smooth;scroll-padding-top: calc(var(--header-height) + 1rem);}body {font-family: var(--font-primary);line-height: 1.6;color: var(--ink-800);background: #FFFFFF;font-size: 16px;overflow-x: hidden;overflow-wrap: break-word;}::selection {background: var(--accent-100);color: var(--ink-900);}:focus-visible {outline: 3px solid var(--accent-500);outline-offset: 2px;border-radius: 4px;}img, video {max-width: 100%;}sup {line-height: 0;}html:not([lang="fr"]) .fr, html[lang="fr"] .en {display: none !important;}.overline {font-family: var(--font-mono);font-size: 0.74rem;font-weight: 500;letter-spacing: 0.07em;text-transform: uppercase;color: var(--ink-500);}.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;}button, select, label, summary, [role="button"], img, video, .no-select {-webkit-user-select: none;user-select: none;}.thin-scrollbar {scrollbar-width: thin;scrollbar-color: var(--ink-300) transparent;}.thin-scrollbar::-webkit-scrollbar {width: 6px;height: 6px;}.thin-scrollbar::-webkit-scrollbar-thumb {background: var(--ink-300);border-radius: 3px;}.thin-scrollbar::-webkit-scrollbar-thumb:hover {background: var(--ink-400);}.thin-scrollbar::-webkit-scrollbar-track {background: transparent;}.container {width: 100%;max-width: var(--container-max-width);margin: 0 auto;padding: 0 2rem;}.skip-link {position: absolute;top: -100%;left: 1rem;padding: 0.75rem 1.25rem;background: var(--accent-600);color: white;font-weight: 600;text-decoration: none;border-radius: 0 0 8px 8px;z-index: 2000;transition: top 0.2s ease;}.skip-link:focus {top: 0;}header {position: fixed;top: 0;left: 0;right: 0;height: var(--header-height);display: flex;justify-content: center;align-items: center;background: rgba(255, 255, 255, 0.92);backdrop-filter: blur(16px);border-bottom: 1px solid var(--ink-200);z-index: 1000;transition: var(--transition-smooth);}.header-content {display: flex;align-items: center;justify-content: space-between;height: 100%;width: 100%;gap: 1rem;}.logo {padding: 0.25rem 0.5rem;border-radius: 10px;font-family: var(--font-display);font-size: 1.4rem;font-weight: 700;letter-spacing: -0.01em;color: var(--ink-900);text-decoration: none;-webkit-user-select: none;user-select: none;transition: var(--transition-smooth);}.logo:hover {color: var(--accent-700);}.lang-selector {padding: 0.5rem 0.9rem;border: 1px solid var(--ink-300);border-radius: 8px;background: white;color: var(--ink-800);font-family: var(--font-primary);cursor: pointer;transition: var(--transition-smooth);}.lang-selector:hover {border-color: var(--accent-500);}@media (max-width: 480px) {.container {padding: 0 1rem;}}@media (prefers-reduced-motion: reduce) {*, *::before, *::after {animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important;}html {scroll-behavior: auto;}}.back-to-top {position: fixed;right: 1.5rem;bottom: 1.5rem;z-index: 900;width: 44px;height: 44px;display: flex;align-items: center;justify-content: center;border-radius: 50%;border: 1px solid var(--ink-300);background: #FFFFFF;color: var(--ink-700);cursor: pointer;box-shadow: 0 6px 18px rgba(11, 29, 46, 0.14);opacity: 0;visibility: hidden;transform: translateY(8px);transition: var(--transition-smooth);}.back-to-top.visible {opacity: 1;visibility: visible;transform: none;}.back-to-top:hover {border-color: var(--accent-500);color: var(--accent-700);}.back-to-top svg {width: 20px;height: 20px;}.footer {background: var(--ink-950);color: var(--ink-300);padding: 3.5rem 0 2rem;}.footer-grid {display: grid;grid-template-columns: 2fr 1fr 1fr 1fr;gap: 2.5rem;margin-bottom: 2.5rem;}.footer-logo {font-family: var(--font-display);font-size: 1.3rem;font-weight: 700;color: #FFFFFF;margin-bottom: 0.75rem;}.footer-tagline {font-size: 0.9rem;line-height: 1.6;color: var(--ink-400);max-width: 30ch;}.footer-col {display: flex;flex-direction: column;gap: 0.65rem;align-items: flex-start;}.footer-col-title {font-family: var(--font-mono);font-size: 0.72rem;font-weight: 500;letter-spacing: 0.07em;text-transform: uppercase;color: var(--ink-400);margin-bottom: 0.35rem;}.footer-link {padding: 0;border: none;background: none;font: inherit;font-size: 0.92rem;color: var(--ink-300);text-align: inherit;text-decoration: none;cursor: pointer;-webkit-user-select: none;user-select: none;transition: var(--transition-smooth);}.footer-link:hover {color: #FFFFFF;}.footer-bottom {border-top: 1px solid rgba(255, 255, 255, 0.08);padding-top: 1.5rem;}.footer-copyright {font-size: 0.85rem;color: var(--ink-400);}@media (max-width: 768px) {.footer-grid {grid-template-columns: 1fr 1fr;}.footer-brand {grid-column: 1 / -1;}}@media (max-width: 480px) {.footer-grid {grid-template-columns: 1fr;}}body.modal-opened {overflow-y: hidden;}.cookie-banner {position: fixed;bottom: 0;left: 0;right: 0;background: rgba(255, 255, 255, 0.98);backdrop-filter: blur(16px);border-top: 1px solid var(--ink-200);padding: 1.5rem 0;z-index: 998;box-shadow: 0 -8px 32px rgba(16, 42, 64, 0.1);transform: translateY(100%);opacity: 0;visibility: hidden;transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);}.cookie-banner.show {transform: translateY(0);opacity: 1;visibility: visible;}.cookie-banner-content {display: flex;align-items: center;justify-content: space-between;gap: 2rem;flex-wrap: wrap;}.cookie-banner-text {flex: 1;min-width: 300px;}.cookie-banner-text h4 {font-size: 1.05rem;font-weight: 600;color: var(--ink-900);margin-bottom: 0.5rem;display: flex;align-items: center;gap: 0.5rem;}.cookie-icon {font-size: 1.25rem;}.cookie-banner-text p {color: var(--ink-600);line-height: 1.5;margin-bottom: 0;font-size: 0.95rem;}.cookie-banner-text a {color: var(--accent-600);text-decoration: none;font-weight: 500;}.cookie-banner-text a:hover {text-decoration: underline;}.cookie-banner-actions {display: flex;gap: 1rem;flex-shrink: 0;flex-wrap: wrap;align-items: center;}.cookie-btn {padding: 0.7rem 1.4rem;border: 1px solid transparent;border-radius: 8px;font-family: var(--font-primary);font-weight: 500;font-size: 0.9rem;cursor: pointer;transition: var(--transition-smooth);text-decoration: none;display: inline-flex;align-items: center;gap: 0.5rem;white-space: nowrap;}.cookie-btn-accept {background: var(--accent-600);color: white;}.cookie-btn-accept:hover {background: var(--accent-700);}.cookie-btn-customize {background: transparent;color: var(--ink-700);border: 1px solid var(--ink-300);}.cookie-btn-customize:hover {background: var(--ink-50);border-color: var(--accent-500);color: var(--accent-700);}.cookie-btn-reject {background: transparent;color: var(--ink-600);border: 1px solid var(--ink-300);}.cookie-btn-reject:hover {background: var(--ink-50);color: var(--ink-900);}.cookie-modal {position: fixed;inset: 0;background: rgba(11, 29, 46, 0.55);backdrop-filter: blur(4px);z-index: 10001;display: flex;align-items: center;justify-content: center;padding: 2rem;opacity: 0;visibility: hidden;transition: var(--transition-smooth);}.cookie-modal.show {opacity: 1;visibility: visible;}.cookie-modal-content {background: white;border-radius: 14px;max-width: 600px;width: 100%;max-height: 80vh;display: flex;flex-direction: column;overflow: hidden;box-shadow: 0 20px 60px rgba(11, 29, 46, 0.3);transform: translateY(20px);transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);}.cookie-modal.show .cookie-modal-content {transform: translateY(0);}.cookie-modal-header {display: flex;align-items: center;justify-content: space-between;flex-shrink: 0;padding: 2rem 2rem 1rem;border-bottom: 1px solid var(--ink-200);}.cookie-modal-body {overflow-y: auto;padding: 1.5rem 2rem;overscroll-behavior: contain;}.cookie-modal-header h3 {font-family: var(--font-display);font-size: 1.35rem;font-weight: 600;color: var(--ink-900);display: flex;align-items: center;gap: 0.5rem;}.cookie-modal-close {background: none;border: none;font-size: 1.5rem;cursor: pointer;color: var(--ink-500);padding: 0.25rem 0.5rem;border-radius: 10px;transition: var(--transition-smooth);}.cookie-modal-close:hover {color: var(--ink-900);background: var(--ink-50);}.cookie-category {margin-bottom: 1.5rem;padding: 1rem;border: 1px solid var(--ink-200);border-radius: 10px;}.cookie-category:last-child {margin-bottom: 0;}.cookie-category-header {display: flex;align-items: center;justify-content: space-between;margin-bottom: 0.5rem;}.cookie-category h4 {font-size: 1.05rem;font-weight: 600;color: var(--ink-900);margin-bottom: 0.25rem;}.cookie-category p {color: var(--ink-600);font-size: 0.9rem;line-height: 1.5;}.cookie-toggle {position: relative;display: inline-block;width: 50px;height: 26px;}.cookie-toggle input {opacity: 0;width: 0;height: 0;}.cookie-toggle-slider {position: absolute;cursor: pointer;inset: 0;background: var(--ink-300);border-radius: 26px;transition: var(--transition-smooth);}.cookie-toggle-slider:before {position: absolute;content: "";height: 20px;width: 20px;left: 3px;bottom: 3px;background: white;border-radius: 50%;transition: var(--transition-smooth);box-shadow: 0 2px 4px rgba(11, 29, 46, 0.2);}.cookie-toggle input:checked + .cookie-toggle-slider {background: var(--accent-600);}.cookie-toggle input:checked + .cookie-toggle-slider:before {transform: translateX(24px);}.cookie-toggle input:disabled + .cookie-toggle-slider {background: var(--ink-200);cursor: not-allowed;}.cookie-modal-actions {display: flex;gap: 1rem;justify-content: flex-end;flex-shrink: 0;padding: 1rem 2rem 1.5rem;border-top: 1px solid var(--ink-200);}@media (max-width: 768px) {.cookie-banner-content {flex-direction: column;gap: 1rem;}.cookie-banner-actions {justify-content: center;width: 100%;}.cookie-modal {padding: 1rem;}.cookie-modal-header {padding: 1.5rem 1.5rem 1rem;}.cookie-modal-body {padding: 1rem 1.5rem;}.cookie-modal-actions {padding: 1rem 1.5rem 1.5rem;flex-direction: column;gap: 0.75rem;}.cookie-btn {width: 100%;justify-content: center;}}@media (max-width: 480px) {.cookie-banner {padding: 1rem 0;}.cookie-banner-text h4 {font-size: 1rem;}.cookie-banner-text p {font-size: 0.9rem;}.cookie-btn {padding: 0.6rem 1.2rem;font-size: 0.85rem;}}@media print {.cookie-banner, .cookie-modal, .back-to-top {display: none;}}