/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:host,:root{--font-sans:var(--font-manrope),system-ui,sans-serif;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--color-darkblue:#02003a;--color-lightbeige:#fffaea;--color-midbeige:#ccc8bb;--color-darkbeige:#727069;--font-display:"gallery_modernregular",var(--font-manrope),sans-serif}}@layer base{:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg,#ffffff26,#fff0);--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:#212529bf;--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:#21252980;--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:#0000002d;--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem #00000026;--bs-box-shadow-sm:0 .125rem .25rem #00000013;--bs-box-shadow-lg:0 1rem 3rem #0000002d;--bs-box-shadow-inset:inset 0 1px 2px #00000013;--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:#0d6efd40;--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:#dee2e6bf;--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:#dee2e680;--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:#ffffff26;--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:#0000;margin:0}hr{color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25;margin:1rem 0}h1,h2,h3,h4,h5,h6{color:var(--bs-heading-color);margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1rem}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg);padding:.1875em}sub,sup{vertical-align:baseline;font-size:.75em;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{margin-top:0;margin-bottom:1rem;font-size:.875em;display:block;overflow:auto}pre code{font-size:inherit;color:inherit;word-break:normal}code{color:var(--bs-code-color);word-wrap:break-word;font-size:.875em}a>code{color:inherit}kbd{color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem;padding:.1875rem .375rem;font-size:.875em}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{color:var(--bs-secondary-color);text-align:left;padding-top:.5rem;padding-bottom:.5rem}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border:0 solid;border-color:inherit}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{border-style:none;padding:0}textarea{resize:vertical}fieldset{border:0;min-width:0;margin:0;padding:0}legend{float:left;width:100%;font-size:calc(1.275rem + .3vw);line-height:inherit;margin-bottom:.5rem;padding:0}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text{padding:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute{padding:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding:0}::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{cursor:pointer;display:list-item}progress{vertical-align:baseline}[hidden]{display:none!important}@font-face{font-family:gallery_modernregular;src:url(/Gallery/otherfontfiles/gallerymodern-webfont.woff2)format("woff2"),url(/Gallery/otherfontfiles/gallerymodern-webfont.woff)format("woff"),url(/Gallery/otherfontfiles/gallerymodern-webfont.ttf)format("truetype");font-weight:100;font-display:swap}:root{--darkblue:var(--color-darkblue);--lightbeige:var(--color-lightbeige);--midbeige:var(--color-midbeige);--darkbeige:var(--color-darkbeige);--ink-950:#05041f;--ink-900:#02003a;--ink-800:#0d0b4d;--ink-700:#1b1866;--cream-50:#fffdf6;--cream-100:#fffaea;--cream-200:#f6eed9;--accent-indigo:#4f46e5;--accent-violet:#8b5cf6;--accent-amber:#d9a441;--text-strong:#0a0930;--text-body:#0a0930c7;--text-muted:#0a093094;--text-on-dark:#fffaea;--text-on-dark-body:#fffaead1;--text-on-dark-muted:#fffaea99;--glass-light-border:#ffffffb3;--panel-dark:linear-gradient(145deg,#040230f7,#020110fa);--glass-dark-border:#ffffff24;--glass-dark-hairline:#ffffff1a;--blur-sm:10px;--blur-md:18px;--blur-lg:28px;--blur-nav:18px;--saturate:165%;--shadow-xs:0 1px 2px #05041f0f;--shadow-sm:0 4px 16px #05041f14;--shadow-md:0 12px 32px #05041f1f;--shadow-lg:0 24px 60px #05041f2e;--shadow-xl:0 40px 90px #05041f47;--sheen-light:inset 0 1px 0 #ffffffbf;--sheen-dark:inset 0 1px 0 #ffffff29;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-pill:999px;--space-2xs:.375rem;--space-xs:.625rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--space-2xl:6rem;--content-max:1600px;--shell-gutter:clamp(.75rem,1.5vw,1.5rem);--measure:65ch;--font-body:var(--font-sans);--step-hero:clamp(3.2rem,10vw,7.5rem);--step-h2:clamp(2.4rem,5vw,4rem);--step-h3:clamp(1.35rem,2vw,1.75rem);--step-h4:clamp(1.1rem,1.5vw,1.35rem);--step-lead:clamp(1.2rem,2vw,1.7rem);--step-body:clamp(1rem,1.1vw,1.1rem);--step-small:.875rem;--ease-out:cubic-bezier(.22,1,.36,1);--ease-in-out:cubic-bezier(.65,0,.35,1);--dur-fast:.2s;--dur-mid:.35s;--dur-slow:.7s;--nav-height:62px;--nav-offset:92px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}body{background-color:var(--cream-100);min-height:100vh;color:var(--text-body);font-family:var(--font-body);font-size:var(--step-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;line-height:1.65;position:relative}img,video{max-width:100%}a{cursor:pointer}body:before{z-index:-2;filter:blur(20px);background:radial-gradient(42vmax 42vmax at 12% 8%,#4f46e533,#0000 62%),radial-gradient(38vmax 38vmax at 88% 22%,#8b5cf629,#0000 62%),radial-gradient(48vmax 48vmax at 72% 82%,#d9a44129,#0000 62%),radial-gradient(40vmax 40vmax at 20% 92%,#02003a24,#0000 62%);inset:-20vmax}body:after,body:before{content:"";pointer-events:none;position:fixed}body:after{z-index:-1;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");inset:0}h1,h2{font-family:var(--font-display);letter-spacing:-.01em;font-weight:100;line-height:1.05}h1,h2,h3,h4,h5{color:var(--text-strong)}h3,h4,h5{font-family:var(--font-body);line-height:1.3}h3{font-size:var(--step-h3);letter-spacing:-.01em}h3,h4{font-weight:700}h4{font-size:var(--step-h4)}p{font-family:var(--font-body)}*{scrollbar-width:thin;scrollbar-color:#02003a73 transparent}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background-color:#0000}::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background-color:#02003a59;background-clip:content-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background-color:#02003a99;background-clip:content-box}::-webkit-scrollbar-button:start:decrement{display:none}::-webkit-scrollbar-button:end:increment{display:none}@media screen and (max-width:500px){::-webkit-scrollbar{display:none}}:where(a,button,[tabindex]):focus-visible{outline:2px solid var(--accent-indigo);outline-offset:3px;border-radius:var(--radius-sm)}.skip-link{z-index:1000;background:var(--ink-900);color:var(--cream-100);border-radius:0 0 var(--radius-md) var(--radius-md);transition:transform var(--dur-fast) var(--ease-out);padding:.7rem 1.4rem;font-weight:600;text-decoration:none;position:absolute;top:0;left:50%;transform:translate(-50%,-150%)}.skip-link:focus-visible{transform:translate(-50%)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer components{.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;z-index:var(--bs-modal-zindex);outline:0;width:100%;height:100%;display:none;position:fixed;top:0;left:0;overflow:hidden auto}.modal-dialog{width:auto;margin:var(--bs-modal-margin);pointer-events:none;position:relative}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal-content{width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);background-clip:padding-box;outline:0;flex-direction:column;display:flex;position:relative}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:.5;z-index:var(--bs-backdrop-zindex);background-color:var(--bs-backdrop-bg);width:100vw;height:100vh;position:fixed;top:0;left:0}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius);flex-shrink:0;align-items:center;display:flex}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{line-height:var(--bs-modal-title-line-height);margin-bottom:0}.modal-body{padding:var(--bs-modal-padding);flex:auto;position:relative}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-left:auto;margin-right:auto}}@media (min-width:992px){.modal-lg{--bs-modal-width:800px}}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:.5;--bs-btn-close-hover-opacity:.75;--bs-btn-close-focus-shadow:0 0 0 .25rem #0d6efd40;--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;opacity:var(--bs-btn-close-opacity);border:0;border-radius:.375rem;padding:.25em}.btn-close,.btn-close:hover{color:var(--bs-btn-close-color)}.btn-close:hover{opacity:var(--bs-btn-close-hover-opacity);text-decoration:none}.btn-close:focus{box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity);outline:0}}@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.resize{resize:both}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}.glass--dark{border-radius:var(--radius-lg);border:1px solid var(--glass-dark-border);background:var(--panel-dark);box-shadow:var(--shadow-lg),var(--sheen-dark);color:var(--text-on-dark-body);isolation:isolate;position:relative}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass--dark{-webkit-backdrop-filter:blur(var(--blur-md)) saturate(var(--saturate));backdrop-filter:blur(var(--blur-md)) saturate(var(--saturate))}}.glass--dark:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:linear-gradient(160deg,#ffffff1f,#fff0 46%);position:absolute;inset:0}.btn-glass{border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(var(--blur-sm)) saturate(var(--saturate));backdrop-filter:blur(var(--blur-sm)) saturate(var(--saturate));box-shadow:var(--shadow-sm),var(--sheen-light);color:var(--text-strong);font-family:var(--font-body);cursor:pointer;overflow-wrap:anywhere;max-width:100%;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);background:linear-gradient(145deg,#ffffffa8,#fffaea4d);border:1px solid #02003a38;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.5rem;font-size:1rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn-glass:hover{box-shadow:var(--shadow-md),var(--sheen-light);color:var(--text-strong);border-color:#02003a59;transform:translateY(-2px)}.btn-glass:active{box-shadow:var(--shadow-xs),var(--sheen-light);transform:translateY(0)}.btn-glass--primary{background:linear-gradient(145deg,var(--ink-800),var(--ink-950));box-shadow:var(--shadow-md),var(--sheen-dark);color:var(--cream-100);border-color:#0000}.btn-glass--primary:hover{background:linear-gradient(145deg,var(--ink-700),var(--ink-900));box-shadow:var(--shadow-lg),var(--sheen-dark);color:var(--cream-100)}.on-dark .btn-glass{box-shadow:var(--shadow-sm),var(--sheen-dark);color:var(--cream-100);background:linear-gradient(145deg,#ffffff29,#ffffff0d);border-color:#ffffff47}.on-dark .btn-glass:hover{color:var(--cream-100);background:linear-gradient(145deg,#ffffff42,#ffffff1a);border-color:#ffffff80}.on-dark .btn-glass--primary{background:linear-gradient(145deg,var(--cream-50),var(--cream-200));box-shadow:var(--shadow-md),var(--sheen-light);color:var(--ink-900);border-color:#0000}.on-dark .btn-glass--primary:hover{background:var(--cream-50);color:var(--ink-900)}.tech-tags{flex-wrap:wrap;gap:.5rem;list-style:none;display:flex;padding-left:0!important}.tech-tags li{border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));color:var(--text-body);font-size:var(--step-small);overflow-wrap:break-word;background:#ffffff73;border:1px solid #02003a2e;max-width:100%;padding:.25rem .85rem;font-weight:500;line-height:1.6;list-style:none}.on-dark .tech-tags li{color:var(--text-on-dark-body);background:#ffffff1a;border-color:#ffffff3d}.page-shell{width:100%;max-width:var(--content-max);padding:0 var(--shell-gutter) var(--space-xl);gap:clamp(2.5rem,6vw,5.5rem);margin:0 auto}.hero,.page-shell{flex-direction:column;display:flex}.hero{justify-content:center;align-items:center;gap:var(--space-lg);text-align:center;min-height:100svh;padding:calc(var(--nav-offset) + var(--space-lg)) 0 var(--space-xl)}.hero-title{font-size:var(--step-hero);letter-spacing:-.02em;background:linear-gradient(155deg,var(--ink-900) 0,var(--ink-700) 45%,var(--accent-indigo) 130%);color:#0000;animation:apparition 1s .35s var(--ease-out) backwards;-webkit-background-clip:text;background-clip:text;line-height:.95}.hero-card{align-items:center;gap:var(--space-md);width:min(100%,720px);animation:apparition 1s .55s var(--ease-out) backwards;flex-direction:column;display:flex}#moi-role{font-size:var(--step-h3);color:var(--text-strong);letter-spacing:-.01em;font-weight:700}#moi{max-width:54ch;color:var(--text-body);text-wrap:pretty;font-size:clamp(1.05rem,1.3vw,1.3rem);font-weight:400;line-height:1.7}#moi a{color:var(--ink-800);transition:background-size var(--dur-fast) var(--ease-out);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;font-weight:600;text-decoration:none}#moi a:hover{background-size:100% 2px}.hero-cta{justify-content:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.droite .hero-cta,.gauche .hero-cta{margin-top:var(--space-md);justify-content:flex-start}.photos-container{justify-content:center;align-items:center;gap:var(--space-xs);display:flex}.photos-container a{border-radius:var(--radius-pill);width:46px;height:46px;-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);background:#fff6;border:1px solid #02003a24;place-items:center;display:grid}.photos-container a:hover{box-shadow:var(--shadow-sm);background:#ffffffb8;transform:translateY(-3px)}.photos-container img{object-fit:contain;opacity:.75;width:22px;height:22px;transition:opacity var(--dur-fast) var(--ease-out);display:block}.photos-container a:hover img{opacity:1}.hero-scroll{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);animation:apparition 1s 1s var(--ease-out) backwards;place-items:center;gap:.5rem;font-size:.75rem;font-weight:600;text-decoration:none;display:grid}.hero-scroll span{width:1px;height:42px;animation:scroll-hint 2.2s var(--ease-in-out) infinite;background:linear-gradient(#0a093066,#0000);display:block}@keyframes scroll-hint{0%,to{transform-origin:top;opacity:.3;transform:scaleY(.4)}50%{transform-origin:top;opacity:1;transform:scaleY(1)}}.droite,.gauche{scroll-margin-top:var(--nav-offset);padding:clamp(1.75rem,5vw,3.5rem)}.gauche{border-radius:var(--radius-xl);color:var(--text-on-dark-body)}.gauche h2,.gauche h3,.gauche h4{color:var(--text-on-dark)}.gauche a:not(.btn-glass){color:var(--cream-100);text-underline-offset:3px;transition:text-decoration-color var(--dur-fast) var(--ease-out);font-weight:600;text-decoration-color:#fffaea73}.gauche a:not(.btn-glass):hover{-webkit-text-decoration-color:var(--cream-100);text-decoration-color:var(--cream-100)}.droite-box,.gauche-box{align-items:center;gap:var(--space-md);width:100%;margin-bottom:var(--space-lg);display:flex}.droite-box{flex-direction:row-reverse}.droite-box h2,.gauche-box h2{font-size:var(--step-h2);text-align:left;white-space:nowrap;flex:none}.droite-box h2{text-align:right}.droite-box hr,.gauche-box hr{opacity:1;border:none;flex:auto;min-width:2rem;height:1px}.droite-box hr{background:linear-gradient(270deg,#0000,#0a093047 35%,#0a093047)}.gauche-box hr{background:linear-gradient(90deg,#0000,#fffaea59 35%,#fffaea59)}.p-droite,.p-gauche{max-width:var(--measure);font-size:var(--step-lead);-webkit-hyphens:auto;hyphens:auto;text-wrap:pretty;line-height:1.75}.p-droite{color:var(--text-body)}.p-gauche,.section-lead{color:var(--text-on-dark-body)}.section-lead{max-width:var(--measure);font-size:var(--step-lead);text-wrap:pretty;line-height:1.7}.droite .section-lead{color:var(--text-body)}.reveal-apparition{opacity:0;transform:translateY(24px)}.reveal-visible{opacity:1;transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out);transform:translateY(0)}@keyframes apparition{0%{opacity:0;transform:translateY(28px)}}@media (prefers-reduced-motion:reduce){.reveal-apparition{opacity:1;transform:none}}.custom-nav{top:var(--space-sm);z-index:900;width:max-content;max-width:calc(100% - 2rem);animation:nav-apparition 1s .9s var(--ease-out) backwards;justify-content:center;display:flex;position:fixed;left:50%;transform:translate(-50%)}@keyframes nav-apparition{0%{opacity:0;transform:translate(-50%)translateY(-10px)}}.custom-nav-links{height:var(--nav-height);border-radius:var(--radius-pill);box-shadow:var(--shadow-md),var(--sheen-light);background:linear-gradient(145deg,#fffdf6b8,#fffaea80);border:1px solid #fff9;flex-wrap:nowrap;align-items:center;gap:.15rem;margin:0;padding:0 .4rem;list-style:none;display:flex}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.custom-nav-links{-webkit-backdrop-filter:blur(var(--blur-nav)) saturate(180%);backdrop-filter:blur(var(--blur-nav)) saturate(180%);background:linear-gradient(145deg,#fffdf69e,#fffaea80)}}.custom-nav-links li{list-style:none;display:flex}.custom-nav-links a{border-radius:var(--radius-pill);color:var(--text-body);font-family:var(--font-body);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out);align-items:center;padding:.5rem 1rem;font-size:.95rem;font-weight:600;line-height:1.2;text-decoration:none;display:flex;position:relative}.custom-nav-links a:hover{color:var(--text-strong);background:#fff9}.custom-nav-links a.is-active{color:var(--cream-100);box-shadow:var(--shadow-xs),var(--sheen-dark)}.custom-nav-links a.is-active,.hamburger{background:linear-gradient(145deg,var(--ink-800),var(--ink-950))}.hamburger{top:var(--space-sm);right:var(--space-sm);z-index:950;border-radius:var(--radius-pill);width:48px;height:48px;-webkit-backdrop-filter:blur(var(--blur-md)) saturate(var(--saturate));backdrop-filter:blur(var(--blur-md)) saturate(var(--saturate));box-shadow:var(--shadow-md),var(--sheen-dark);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out);border:1px solid #ffffff2e;padding:13px;display:none;position:fixed}.hamburger:hover{transform:scale(1.05)}@media screen and (max-width:1100px){.hamburger{display:block}.custom-nav{opacity:1;pointer-events:none;width:100%;max-width:none;height:100svh;animation:none;top:0;left:0;transform:none}.custom-nav-links{justify-content:center;gap:var(--space-sm);width:100%;height:100svh;padding:var(--space-2xl) var(--space-md);-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(var(--saturate));backdrop-filter:blur(var(--blur-lg)) saturate(var(--saturate));box-shadow:none;opacity:0;visibility:hidden;transition:opacity var(--dur-mid) var(--ease-out),transform var(--dur-mid) var(--ease-out),visibility var(--dur-mid);background:linear-gradient(160deg,#02003ac7,#05041fe0);border:none;border-radius:0;flex-direction:column;position:absolute;inset:0;transform:translateY(-1.5rem)}.custom-nav-links.mobile-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.custom-nav.nav-menu{pointer-events:auto}.custom-nav-links li{width:min(100%,460px);margin:0 auto}.custom-nav-links a{width:100%;box-shadow:none;font-family:var(--font-display);letter-spacing:.03em;-webkit-text-stroke:.6px currentColor;color:var(--text-on-dark-muted);background:0 0;border:none;border-radius:0;justify-content:center;padding:.9rem 1.25rem;font-size:clamp(2rem,8.5vw,2.6rem);font-weight:100}.custom-nav-links a.is-active,.custom-nav-links a:hover{color:var(--cream-100);background:0 0}.custom-nav-links a.is-active:after,.custom-nav-links a.is-active:before{content:"";height:1px;position:absolute;left:0;right:0}.custom-nav-links a.is-active:before{background:linear-gradient(90deg,#fffaea66,#fffaea66 12%,#fffaea00);top:0}.custom-nav-links a.is-active:after{background:linear-gradient(270deg,#fffaea66,#fffaea66 12%,#fffaea00);bottom:0}}.timeline-shell{width:100%;padding:var(--space-md) 0;justify-content:center;display:flex}.timeline{width:100%;max-width:860px;margin:0 auto;position:relative}.timeline ul{margin:0;list-style:none;padding-left:0!important}.timeline ul li{margin-bottom:var(--space-md);border-radius:var(--radius-lg);border:1px solid var(--glass-dark-border);background:var(--panel-dark);box-shadow:var(--shadow-md),var(--sheen-dark);color:var(--text-on-dark-body);padding:clamp(1.25rem,3vw,1.75rem);position:relative}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.timeline ul li{-webkit-backdrop-filter:blur(var(--blur-md)) saturate(var(--saturate));backdrop-filter:blur(var(--blur-md)) saturate(var(--saturate));background:var(--panel-dark)}}.timeline ul li:last-child{margin-bottom:0}.timeline-content h2{font-family:var(--font-body);letter-spacing:-.01em;color:var(--text-on-dark);margin-bottom:.5rem;font-size:clamp(1.25rem,2.2vw,1.6rem);font-weight:700;line-height:1.25}.timeline-content p{text-align:left;-webkit-hyphens:auto;hyphens:auto;text-wrap:pretty;color:var(--text-on-dark-body);font-size:1rem;font-weight:300;line-height:1.7}.timeline-content a{color:var(--cream-100);text-underline-offset:3px;transition:text-decoration-color var(--dur-fast) var(--ease-out);font-weight:600;text-decoration-color:#fffaea73}.timeline-content a:hover{-webkit-text-decoration-color:var(--cream-100);text-decoration-color:var(--cream-100)}.timeline-content .date{border-radius:var(--radius-pill);font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--text-on-dark-muted);background:#ffffff14;border:1px solid #fff3;margin-bottom:.75rem;padding:.2rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}@media only screen and (min-width:800px){.timeline:before{content:"";border-radius:var(--radius-pill);background:linear-gradient(#0000,#0a093038 12% 88%,#0000);width:2px;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.timeline ul li{width:calc(50% - 2.25rem);margin-bottom:var(--space-lg)}.timeline ul li:nth-child(odd){float:left;clear:right;border-top-right-radius:4px}.timeline ul li:nth-child(2n){float:right;clear:left;border-top-left-radius:4px}.timeline ul li:before{content:"";background:var(--ink-900);border:2px solid var(--cream-100);border-radius:50%;width:14px;height:14px;position:absolute;top:2rem;box-shadow:0 0 0 4px #4f46e52e}.timeline ul li:nth-child(odd):before{right:-2.75rem;transform:translate(50%)}.timeline ul li:nth-child(2n):before{left:-2.75rem;transform:translate(-50%)}.timeline ul li:after{content:"";background:#0a093038;width:2.25rem;height:1px;position:absolute;top:calc(2rem + 6px)}.timeline ul li:nth-child(odd):after{right:-2.25rem}.timeline ul li:nth-child(2n):after{left:-2.25rem}.timeline ul:after{content:"";clear:both;display:block}}.BUT-year{margin:var(--space-lg) 0 0;font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--text-on-dark-muted);align-items:center;gap:var(--space-sm);font-size:.8rem;font-weight:700;display:flex}.BUT-year:after{content:"";background:linear-gradient(90deg,#fffaea47,#0000);flex:1;height:1px}.projets-container{gap:var(--space-md);margin-top:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));display:grid}.projets-card--featured{grid-column:span 2}@media screen and (max-width:760px){.projets-card--featured{grid-column:span 1}}.projets-container .projets-card .card-container{text-align:left;width:100%;height:100%;font:inherit;cursor:pointer;border-radius:var(--radius-lg);border:1px solid var(--glass-light-border);box-shadow:var(--shadow-md),var(--sheen-light);color:var(--text-body);transition:transform var(--dur-mid) var(--ease-out),box-shadow var(--dur-mid) var(--ease-out);background:linear-gradient(145deg,#fffdf6e6,#fffaeac7);flex-direction:column;align-items:stretch;margin:0;padding:0;display:flex;overflow:hidden}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.projets-container .projets-card .card-container{-webkit-backdrop-filter:blur(var(--blur-md)) saturate(var(--saturate));backdrop-filter:blur(var(--blur-md)) saturate(var(--saturate));background:linear-gradient(145deg,#fffdf6f5,#fffaeae6)}}.card-container:hover{box-shadow:var(--shadow-xl),var(--sheen-light);transform:translateY(-6px)}.card-media{background-color:var(--ink-900);width:100%;height:200px;transition:transform var(--dur-slow) var(--ease-out);background-position:50%;background-size:cover;position:relative}.card-media:after{content:"";background:linear-gradient(#0000 45%,#05041f59);position:absolute;inset:0}.projets-card--featured .card-media{height:260px}@media screen and (max-width:760px){.projets-card--featured .card-media{height:200px}}.card-container:hover .card-media{transform:scale(1.05)}.card-body{flex-direction:column;flex:1;gap:.75rem;padding:clamp(1.1rem,2.5vw,1.5rem);display:flex}.projets-container .projets-card .card-container h2{font-family:var(--font-body);letter-spacing:-.01em;color:var(--text-strong);font-size:clamp(1.15rem,1vw + 1rem,1.4rem);font-weight:700;line-height:1.25}.projets-container .projets-card .card-container p{text-align:left;-webkit-hyphens:auto;hyphens:auto;text-wrap:pretty;color:var(--text-body);font-size:.95rem;line-height:1.6}.projets-container .projets-card .card-container .card-body>p:first-of-type{flex:1}.on-dark .card-tags li{color:var(--text-body);background:#ffffff8c;border-color:#02003a2e}.card-tags{gap:.4rem;margin:0}.card-tags li{padding:.15rem .65rem;font-size:.75rem}.projets-plus-infos{white-space:nowrap;align-items:center;gap:.4rem;margin-top:auto;display:inline-flex;color:var(--ink-800)!important;font-size:.9rem!important;font-weight:700!important}.projets-plus-infos:after{content:"→";transition:transform var(--dur-fast) var(--ease-out)}.card-container:hover .projets-plus-infos:after{transform:translate(4px)}.seville-card{background-image:url(/Image/seville.png)}.bataille-de-boule-card{background-image:url(/Image/bataille_de_boules.png)}.bdd-card{background-image:url(/Image/bdd.png)}.ihm-card{background-image:url(/Image/ihm.png)}.algo-card{background-image:url(/Image/algo.png)}.pmp-card{background-image:url(/Image/PimpMyPaids.png)}.la-card{background-image:url(/Image/LA.png)}.idm-card{background-image:url(/Image/idm.png)}.optimisation-algo-card{background-image:url(/Image/opti-algo.png)}.competences-group-title{margin:var(--space-lg) 0 var(--space-sm);font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:var(--space-sm);font-size:.8rem;font-weight:700;display:flex}.competences-group-title:after{content:"";background:linear-gradient(90deg,#0a093033,#0000);flex:1;height:1px}.container-competences{gap:var(--space-sm);margin:0 0 var(--space-md);grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));display:grid}.container-competence{text-align:left;color:var(--text-body);border-left:2px solid #0a093059;flex-direction:column;gap:.9rem;margin:0;padding:.25rem 0 .25rem 1.25rem;display:flex}.container-competence h4{letter-spacing:-.01em;color:var(--text-strong);padding:0;font-size:1rem;font-weight:700}.container-competence *{text-align:left}.detail-competence,.detail-outil{margin:0;padding:0;list-style:none}.detail-outil{gap:var(--space-sm);flex-wrap:wrap;display:flex}.detail-outil li{text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;gap:.5rem;width:88px;margin:0;display:flex}.detail-outil li img{object-fit:contain;width:48px;height:48px}.detail-outil li p{color:var(--text-muted);text-wrap:balance;font-size:.75rem;line-height:1.3;text-align:center!important}.skill-tiers .container-competence h4:before{content:"";background:var(--accent-indigo);vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:.55rem;display:inline-block}.skill-tiers .container-competence:nth-child(2) h4:before{background:var(--accent-violet)}.skill-tiers .container-competence:nth-child(3) h4:before{background:var(--accent-amber)}.objectifs{max-width:var(--measure);font-size:var(--step-lead);-webkit-hyphens:auto;hyphens:auto;text-wrap:pretty;color:var(--text-body);line-height:1.75}.modal-backdrop{-webkit-backdrop-filter:blur(var(--blur-md)) saturate(120%);backdrop-filter:blur(var(--blur-md)) saturate(120%);transition:opacity var(--dur-mid) var(--ease-out);background-color:#04021c80}.modal-backdrop.show{opacity:1}.modal.fade .modal-dialog{transition:transform var(--dur-mid) var(--ease-out),opacity var(--dur-mid) var(--ease-out);opacity:0;transform:translateY(1rem)scale(.98)}.modal.show .modal-dialog{opacity:1;transform:none}.modal-dialog{align-items:center;max-width:min(92vw,880px);min-height:calc(100% - 3.5rem);display:flex}.modal-content{border:1px solid var(--glass-light-border);border-radius:var(--radius-xl);width:100%;box-shadow:var(--shadow-xl),var(--sheen-light);color:var(--text-body);background:linear-gradient(160deg,#fffdf6f5,#fffaeaeb);overflow:hidden}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.modal-content{-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(var(--saturate));backdrop-filter:blur(var(--blur-lg)) saturate(var(--saturate));background:linear-gradient(160deg,#fffdf6f0,#fffaeae6)}}.modal-header{border-bottom:1px solid var(--glass-dark-hairline);background:linear-gradient(135deg,#0d0b4deb,#05041ff0);align-items:center;padding:clamp(1.25rem,3vw,1.75rem) clamp(1.25rem,3vw,2rem)}.modal-title{font-family:var(--font-display);color:var(--cream-100);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:100;line-height:1.1}.btn-close{filter:invert()grayscale()brightness(200%);opacity:.7;transition:opacity var(--dur-fast) var(--ease-out)}.btn-close:hover{opacity:1}.modal-body{padding:clamp(1.25rem,3vw,2rem)}.modal-body h3{margin:var(--space-md) 0 .75rem;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);border-bottom:1px solid #0a09301f;padding-bottom:.5rem;font-size:.75rem;font-weight:700}.modal-body>h3:first-child{margin-top:0}.modal-body p{text-align:left;-webkit-hyphens:auto;hyphens:auto;text-wrap:pretty;color:var(--text-body);font-size:1.02rem;line-height:1.75}.modal-body ul{color:var(--text-body);padding-left:1.15rem;font-size:.98rem}.modal-body ul li{margin-bottom:.4rem}.modal-body a:not(.btn-glass){color:var(--ink-800);text-underline-offset:3px;font-weight:600}.modal-content-container{gap:var(--space-md);margin:var(--space-md) 0;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));align-items:start;display:grid}.modal-content-container .languages h3,.modal-content-container .skills h3{margin-top:0}.modal-content-container .vertical-line{display:none}.languages ul{flex-wrap:wrap;gap:.4rem;padding:0;list-style:none;display:flex}.languages ul li{border-radius:var(--radius-pill);color:var(--text-body);background:#ffffff80;border:1px solid #02003a2e;margin:0;padding:.15rem .7rem;font-size:.78rem}.video{justify-content:center;display:flex}.modal-video{border-radius:var(--radius-md);width:auto;max-width:100%;height:auto;max-height:calc(100vh - 220px);box-shadow:var(--shadow-md)}.project-btn-link-container{justify-content:flex-start;gap:var(--space-xs);margin-top:var(--space-md);flex-wrap:wrap;display:flex}@media (max-width:768px){.modal-dialog{max-width:calc(100% - 1rem)}}#arrow-up{bottom:var(--space-md);right:var(--space-md);z-index:880;border-radius:var(--radius-pill);background:linear-gradient(145deg,var(--ink-800),var(--ink-950));width:46px;height:46px;-webkit-backdrop-filter:blur(var(--blur-md)) saturate(var(--saturate));backdrop-filter:blur(var(--blur-md)) saturate(var(--saturate));box-shadow:var(--shadow-lg),var(--sheen-dark);color:var(--cream-100);opacity:0;visibility:hidden;transition:opacity var(--dur-mid) var(--ease-out),transform var(--dur-mid) var(--ease-out),visibility var(--dur-mid);border:1px solid #ffffff2e;place-items:center;font-size:1.15rem;line-height:1;text-decoration:none;display:grid;position:fixed;transform:translateY(12px)scale(.9)}#arrow-up.show{opacity:.7;visibility:visible;transform:translateY(0)scale(1)}#arrow-up.show:hover{opacity:1;color:var(--cream-100);transform:translateY(-3px)scale(1.05)}footer{text-align:center;align-items:center;gap:var(--space-sm);margin-top:var(--space-lg);padding:var(--space-lg) var(--space-md);border-top:1px solid var(--glass-dark-border);color:var(--text-on-dark-body);background:linear-gradient(#0d0b4de6,#05041ff5);flex-direction:column;display:flex}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){footer{-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(var(--saturate));backdrop-filter:blur(var(--blur-lg)) saturate(var(--saturate));background:linear-gradient(#0d0b4df5,#05041ffa)}}footer hr{width:min(60%,480px);height:1px;margin:var(--space-xs) 0;opacity:1;background:linear-gradient(90deg,#0000,#fffaea47,#0000);border:0}footer p{color:var(--text-on-dark-muted);margin:0;font-size:.85rem}#credits{color:var(--text-on-dark-body);text-underline-offset:4px;transition:color var(--dur-fast) var(--ease-out);font-size:.9rem;font-weight:600;text-decoration:none}#credits:hover{color:var(--cream-100);text-decoration:underline}.photos-container-footer{justify-content:center;align-items:center;gap:var(--space-xs);margin:0;display:flex}.photos-container-footer a{border-radius:var(--radius-pill);width:42px;height:42px;transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out);background:#ffffff12;border:1px solid #ffffff29;place-items:center;display:grid}.photos-container-footer a:hover{background:#ffffff2e;transform:translateY(-3px)}.photos-container-footer img{object-fit:contain;filter:invert();opacity:.8;width:20px;height:20px;transition:opacity var(--dur-fast) var(--ease-out);display:block}.photos-container-footer a:hover img{opacity:1}.lang-switch{top:var(--space-sm);right:var(--space-sm);z-index:940;position:fixed}.lang-switch-button{border-radius:var(--radius-pill);height:40px;box-shadow:var(--shadow-md),var(--sheen-light);color:var(--text-body);font-family:var(--font-body);letter-spacing:.04em;cursor:pointer;transition:color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);background:linear-gradient(145deg,#fffdf6b8,#fffaea80);border:1px solid #fff9;align-items:center;gap:.4rem;padding:0 .7rem 0 .6rem;font-size:.85rem;font-weight:700;line-height:1;display:inline-flex}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.lang-switch-button{-webkit-backdrop-filter:blur(var(--blur-nav)) saturate(180%);backdrop-filter:blur(var(--blur-nav)) saturate(180%);background:linear-gradient(145deg,#fffdf69e,#fffaea80)}}.lang-switch-button:hover{color:var(--text-strong);box-shadow:var(--shadow-lg),var(--sheen-light);transform:translateY(-1px)}.lang-switch-globe{color:var(--ink-800);opacity:.75;place-items:center;display:grid}.lang-switch-chevron{opacity:.6;transition:transform var(--dur-fast) var(--ease-out);place-items:center;display:grid}.lang-switch-button[aria-expanded=true] .lang-switch-chevron{transform:rotate(180deg)}.lang-switch-menu{border-radius:var(--radius-md);border:1px solid var(--glass-light-border);min-width:11rem;-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(var(--saturate));backdrop-filter:blur(var(--blur-lg)) saturate(var(--saturate));box-shadow:var(--shadow-lg),var(--sheen-light);background:linear-gradient(160deg,#fffdf6f0,#fffaeae6);margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + .5rem);right:0}.lang-switch-menu[hidden]{display:none}.lang-switch-option{border-radius:var(--radius-sm);color:var(--text-body);font-family:var(--font-body);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);align-items:center;gap:.55rem;padding:.5rem .6rem;font-size:.9rem;font-weight:600;text-decoration:none;display:flex}.lang-switch-option:hover{color:var(--text-strong);background:#02003a0f}.lang-switch-code{border-radius:var(--radius-pill);letter-spacing:.06em;background:#ffffff80;border:1px solid #02003a2e;place-items:center;min-width:2rem;padding:.15rem .4rem;font-size:.7rem;font-weight:700;display:grid}.lang-switch-option.is-current{color:var(--text-strong)}.lang-switch-option.is-current .lang-switch-code{background:linear-gradient(145deg,var(--ink-800),var(--ink-950));color:var(--cream-100);border-color:#0000}@media screen and (max-width:1100px){.lang-switch{right:auto;left:var(--space-sm)}.lang-switch-menu{left:0;right:auto}}@media screen and (max-width:860px){.droite-box,.gauche-box{margin-bottom:var(--space-md);flex-direction:column;align-items:flex-start;gap:.75rem}.droite-box{align-items:flex-end}.droite-box h2,.gauche-box h2{white-space:normal}.droite-box hr,.gauche-box hr{flex:none;width:100%}}@media screen and (max-width:560px){.page-shell{gap:var(--space-lg)}.hero{gap:var(--space-md)}.droite,.gauche,.hero-card{padding:1.4rem 1.1rem}.droite,.gauche{border-radius:var(--radius-lg)}.droite-box{align-items:flex-start}.droite-box h2{text-align:left}.detail-outil li{width:72px}.detail-outil li img{width:36px;height:36px}.card-media,.projets-card--featured .card-media{height:170px}}@media screen and (max-width:340px){.hero-cta{flex-direction:column;align-items:stretch;width:100%}.detail-outil{justify-content:center}}@media screen and (max-height:640px) and (orientation:landscape){.hero{min-height:auto;padding-top:calc(var(--nav-offset) + var(--space-md));padding-bottom:var(--space-lg)}.hero-scroll{display:none}}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}