@font-face{font-family:Montserrat;src:url(/fonts/montserrat-300.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat-800.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}:root{--bg:#050a12;--surface:#0b121d;--text:#ffffffe6;--text-muted:#ffffffad;--text-soft:#ffffff8c;--accent:#8db3ce;--accent-bright:#aacbe0;--accent-deep:#4b708c;--border:#8db3ce38;--border-strong:#8db3ce61;--border-soft:#ffffff14;--glow:#8db3ce33;--glass-bg:#ffffff0b;--glass-bg-hover:#ffffff0e;--glass-blur:blur(16px) saturate(160%);--shadow-card:0 18px 45px #0000008c;--shadow-card-hover:0 26px 70px #0000009e;--radius-sm:16px;--radius:22px;--radius-lg:30px;--container:1180px;--font:"Montserrat", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:32px;scroll-padding-bottom:110px}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.65;position:relative;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3{color:#fff;letter-spacing:-.02em;font-weight:700;line-height:1.15}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}body:before{content:"";z-index:-2;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='1' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"),linear-gradient(90deg,#ffffff06 1px,#0000 1px),linear-gradient(#ffffff06 1px,#0000 1px);background-size:150px 150px,40px 40px,40px 40px;position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#8db3ce1a,#0000 75%);width:90vw;max-width:1100px;height:70vh;position:fixed;top:-10%;left:50%;transform:translate(-50%)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--accent);color:#06121c;border-radius:8px;padding:10px 16px;font-weight:600;transition:top .2s;position:absolute;top:-60px;left:16px}.skip-link:focus{top:16px}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:24px}section{padding-block:clamp(64px,8vw,110px)}.icon{flex-shrink:0}.section-head{text-align:center;max-width:760px;margin:0 auto clamp(32px,4vw,56px)}.section-title{color:var(--accent);letter-spacing:-.02em;font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.1}.section-intro{max-width:62ch;color:var(--text-muted);margin:14px auto 0;font-size:clamp(1rem,1.2vw,1.1rem);line-height:1.7}.center-cta{text-align:center;margin-top:clamp(32px,4vw,48px)}.portfolio-grid{--cols:3;--gap:44px;justify-content:center;gap:var(--gap);flex-wrap:wrap;max-width:1160px;margin:0 auto;display:flex}.portfolio-grid>*{flex:0 0 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols))}@media (width<=991px){.portfolio-grid{--cols:2;--gap:40px}}@media (width<=478px){.portfolio-grid{--cols:1;--gap:30px}}.card-glass{border-radius:var(--radius);background:var(--glass-bg);border:1px solid var(--border);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-card);transition:transform .28s,border-color .28s,background .28s,box-shadow .28s;position:relative;overflow:hidden}.card-glass:before{content:"";z-index:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(420px 260px at 20% 20%,#8db3ce2e,#0000 60%);transition:opacity .28s;position:absolute;inset:-2px}.card-glass>*{z-index:1;position:relative}.card-glass--hover:hover{border-color:var(--border-strong);background:var(--glass-bg-hover);box-shadow:var(--shadow-card-hover);transform:translateY(-6px)}.card-glass--hover:hover:before{opacity:.9}.card-kicker{color:#fff;letter-spacing:.1em;text-transform:uppercase;margin-bottom:22px;font-size:.82rem;font-weight:700}.btn{white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:14px 26px;font-family:inherit;font-size:.97rem;font-weight:600;line-height:1;transition:transform .22s,background .22s,border-color .22s,box-shadow .22s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #8db3ce59}.btn-primary{color:#fff;background:linear-gradient(#8db3ce52,#8db3ce29);border-color:#8db3ce8c;box-shadow:0 10px 30px #00000059}.btn-primary:hover{background:linear-gradient(#8db3ce66,#8db3ce2e);border-color:#8db3cecc}.btn-ghost{color:#ffffffeb;background:#ffffff0f;border-color:#ffffff38}.btn-ghost:hover{background:#ffffff14;border-color:#8db3ce59}.btn-sm{min-height:42px;padding:11px 20px;font-size:.88rem}.page-title{letter-spacing:-.02em;text-align:center;background:linear-gradient(135deg,#c8e0f4,#8db3ce,#41556b,#c8e0f4) 0 0/200%;-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.6rem,6vw,5rem);font-weight:700;line-height:1.05}.page-title:after{content:"";background:linear-gradient(135deg,#8db3ce,#304050,#8db3ce) 0 0/200%;border-radius:4px;width:150px;height:4px;margin:18px auto 0;display:block}@media (width<=768px){.page-title:after{width:115px;height:3px}}@media (width<=480px){.page-title{font-size:2.4rem}.page-title:after{width:100px}}@media (width<=360px){.page-title{font-size:2rem}}.pills{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.pill{color:#ffffffd1;-webkit-backdrop-filter:blur(10px)saturate(140%);background:#ffffff0a;border:1px solid #8db3ce33;border-radius:999px;align-items:center;gap:10px;padding:8px 18px;font-size:.85rem;display:inline-flex}.pill:before{content:"";background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;box-shadow:0 0 10px #8db3ce59}.list-dots{gap:12px;display:grid}.list-dots li{color:#ffffffe6;padding-left:20px;line-height:1.55;position:relative}.list-dots li:before{content:"";background:#8db3cee6;border-radius:50%;width:7px;height:7px;position:absolute;top:.6em;left:0;box-shadow:0 0 10px #8db3ce59}.list-checks{gap:16px;display:grid}.list-checks li{color:#ffffffe6;align-items:flex-start;gap:12px;line-height:1.55;display:flex}.list-checks li:before{content:"";background:var(--accent);flex:0 0 18px;height:18px;margin-top:2px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") 50%/contain no-repeat}.num-shine{letter-spacing:-.02em;background:linear-gradient(110deg,#8db3ce 20%,#fff 50%,#8db3ce 80%) 0 0/200%;-webkit-text-fill-color:transparent;color:#8db3ce;-webkit-background-clip:text;background-clip:text;font-weight:800;line-height:1}@keyframes shimmer{to{background-position:200%}}@keyframes titre-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes shine{0%{background-position:-200%}to{background-position:200%}}@keyframes reveal-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.page-title{animation:.9s ease-out .1s both titre-fade-up,4s linear infinite shimmer}.page-title:after{animation:4s linear infinite shimmer}.num-shine{animation:4s ease-in-out infinite alternate shine}@supports (animation-timeline:view()){.reveal{animation:linear both reveal-up view();animation-range:entry}}}html[data-curseur],html[data-curseur] body,html[data-curseur] a,html[data-curseur] button,html[data-curseur] label,html[data-curseur] summary{cursor:none}.curseur[data-astro-cid-qmueewfo]{z-index:9999;pointer-events:none;opacity:0;transition:opacity .25s ease-out;position:fixed;top:0;left:0}.curseur[data-astro-cid-qmueewfo].est-visible{opacity:1}.curseur__rond[data-astro-cid-qmueewfo]{background:var(--accent);border-radius:50%;width:25px;height:25px;margin:-12.5px 0 0 -12.5px;transition:transform .2s ease-out,opacity .2s ease-out;display:block}.curseur[data-astro-cid-qmueewfo].survol .curseur__rond[data-astro-cid-qmueewfo]{opacity:.55;transform:scale(1.7)}@media (hover:none),(pointer:coarse),(width<=1024px){.curseur[data-astro-cid-qmueewfo]{display:none}}@media (prefers-reduced-motion:reduce){.curseur[data-astro-cid-qmueewfo]{display:none}}.footer[data-astro-cid-jo6i4kqk]{background:linear-gradient(0deg, #4b708c 1%, var(--bg) 100%);margin-top:clamp(40px,5vw,80px);padding-top:70px;position:relative;overflow:hidden}.footer__eco[data-astro-cid-jo6i4kqk]{justify-content:center;margin-bottom:36px;display:flex}.footer__eco[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{border-radius:999px;transition:transform .2s,box-shadow .2s;display:inline-flex}.footer__eco[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{transform:translateY(-2px);box-shadow:0 0 18px #8db3ce59}.footer__row[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;display:grid}.footer__brand[data-astro-cid-jo6i4kqk]{align-items:center;gap:14px;display:flex}.footer__social[data-astro-cid-jo6i4kqk]{width:40px;height:40px;color:var(--accent);background:#ffffff08;border:1px solid #8db3ce4d;border-radius:999px;justify-content:center;align-items:center;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.footer__social[data-astro-cid-jo6i4kqk]:hover{color:#fff;background:#8db3ce1f;border-color:#8db3ce99}.footer__copy[data-astro-cid-jo6i4kqk]{color:var(--text-muted);font-size:.9rem}.footer__nav[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:center;gap:10px 22px;display:flex}.footer__nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk],.footer__legal[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:#ffffffd9;padding-block:8px;font-size:.95rem;transition:color .2s}.footer__nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover,.footer__legal[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent)}.footer__legal[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:flex-end;gap:8px 20px;display:flex}.footer__legal[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--text-muted);font-size:.88rem}.footer__logo[data-astro-cid-jo6i4kqk]{justify-content:center;margin-top:clamp(40px,6vw,80px);display:flex}.footer__logo[data-astro-cid-jo6i4kqk] img[data-astro-cid-jo6i4kqk]{opacity:.9;width:min(70%,900px);height:auto;transform:translateY(22%)}@media (width<=860px){.footer__row[data-astro-cid-jo6i4kqk]{text-align:center;grid-template-columns:1fr;justify-items:center;gap:22px}.footer__nav[data-astro-cid-jo6i4kqk]{order:1}.footer__brand[data-astro-cid-jo6i4kqk]{order:2}.footer__legal[data-astro-cid-jo6i4kqk]{order:3;justify-content:center}}.bar[data-astro-cid-nen7h5rs]{transition:opacity .35s,transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s,border-color .4s,background .3s}.bar--dock[data-astro-cid-nen7h5rs]{z-index:100;-webkit-backdrop-filter:saturate(180%)blur(12px);background:linear-gradient(#ffffff0f,#ffffff0f),#050a12b8;border:1px solid #ffffff26;border-radius:999px;align-items:center;gap:clamp(14px,2.2vw,34px);max-width:calc(100vw - 24px);padding:9px 10px 9px clamp(18px,2.4vw,28px);display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 -6px 28px #00000059,0 4px 18px #00000040}.bar--dock[data-astro-cid-nen7h5rs]:hover{border-color:#8db3ce47;transform:translate(-50%)scale(1.03);box-shadow:0 -8px 36px #00000073,0 4px 18px #0000004d}.bar--dock[data-astro-cid-nen7h5rs][data-hidden]{opacity:0;pointer-events:none;transform:translate(-50%)translateY(25px)scale(.95)}.bar__logo[data-astro-cid-nen7h5rs]{flex-shrink:0;align-items:center;display:flex}.bar__logo[data-astro-cid-nen7h5rs] img[data-astro-cid-nen7h5rs]{width:auto;height:26px}.bar__links[data-astro-cid-nen7h5rs]{white-space:nowrap;align-items:center;gap:clamp(14px,2vw,30px);display:flex}.bar__links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:#fff;opacity:.9;align-items:center;font-size:clamp(14px,1.15vw,15.5px);font-weight:500;transition:color .25s,opacity .25s;display:inline-flex;position:relative}.bar__links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:after{content:"";background:var(--accent);opacity:.8;border-radius:2px;width:0;height:2px;transition:width .3s;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.bar__links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,.bar__links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:focus-visible,.bar__links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--accent);opacity:1}.bar__links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover:after,.bar__links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:focus-visible:after,.bar__links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]:after{width:60%}.bar__ia[data-astro-cid-nen7h5rs]{height:38px;color:var(--accent);background:#8db3ce1f;border:1px solid #8db3ce59;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:0 16px;font-size:.88rem;font-weight:700;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.bar__ia[data-astro-cid-nen7h5rs]:hover{color:var(--accent-bright);background:#8db3ce38;border-color:#8db3ce99}.bar--mobile[data-astro-cid-nen7h5rs]{display:none}@media (width<=600px){.bar--dock[data-astro-cid-nen7h5rs]{display:none}.bar--mobile[data-astro-cid-nen7h5rs]{z-index:100;-webkit-backdrop-filter:saturate(180%)blur(14px);scrollbar-width:none;background:#000000c7;border:1px solid #8db3ce59;border-radius:999px;align-items:center;gap:14px;width:max-content;max-width:calc(100vw - 20px);padding:12px 16px;display:flex;position:fixed;bottom:18px;left:50%;overflow-x:auto;transform:translate(-50%);box-shadow:0 8px 25px #00000073,0 0 22px #8db3ce4d}.bar--mobile[data-astro-cid-nen7h5rs]::-webkit-scrollbar{display:none}.bar--mobile[data-astro-cid-nen7h5rs]:hover{background:#000000d9;transform:translate(-50%)scale(1.03)}.bar--mobile[data-astro-cid-nen7h5rs][data-hidden]{opacity:0;pointer-events:none;transform:translate(-50%)translateY(10px)scale(.95)}.bar__icon[data-astro-cid-nen7h5rs]{filter:drop-shadow(0 0 6px #8db3ce73);flex-shrink:0;justify-content:center;align-items:center;width:27px;height:27px;display:inline-flex}.bar__icon[data-astro-cid-nen7h5rs] img[data-astro-cid-nen7h5rs]{object-fit:contain;width:100%;height:100%}.bar--mobile[data-astro-cid-nen7h5rs] .bar__links[data-astro-cid-nen7h5rs]{gap:14px}.bar--mobile[data-astro-cid-nen7h5rs] .bar__links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{letter-spacing:.02em;min-height:44px;margin-block:-10px;margin-inline:-5px;padding-inline:5px;font-size:15px}.bar--mobile[data-astro-cid-nen7h5rs] .bar__links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:after{bottom:-4px}.bar__ia-link[data-astro-cid-nen7h5rs]{font-weight:700;color:var(--accent)!important}}@media (width<=360px){.bar--mobile[data-astro-cid-nen7h5rs]{gap:11px;padding:11px 14px}.bar--mobile[data-astro-cid-nen7h5rs] .bar__links[data-astro-cid-nen7h5rs]{gap:11px}.bar--mobile[data-astro-cid-nen7h5rs] .bar__links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{font-size:13.5px}.bar__icon[data-astro-cid-nen7h5rs]{width:24px;height:24px}}
