@font-face{font-family:"Baloo 2";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/baloo-2-v23-latin-regular.woff2) format("woff2")}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/baloo-2-v23-latin-700.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--white: #ffffff;--black: #000000;--blue: #007fa6;--blue-dark: #005f80;--blue-light: #e6f4f8;--blue-mid: #b3d9e8;--gray: #6b7280;--bg: #f3f6f9;--theme-blue: #007fa6;--theme-blue-light: #e6f4f8;--theme-blue-border: #b3d9e8;--theme-magenta: #a8256a;--theme-magenta-light: #faeef5;--theme-magenta-border: #e8bcd5;--theme-gold: #9a6a08;--theme-gold-light: #fdf5e6;--theme-gold-border: #e8d0a0;--theme-teal: #0f6e56;--theme-teal-light: #e8f5f1;--theme-teal-border: #aad6c8;--theme-coral: #993c1d;--theme-coral-light: #faeeea;--theme-coral-border: #e8bfb2;--theme-violet: #6b21a8;--theme-violet-light: #f3eefb;--theme-violet-border: #d4b8ee;--theme-rose: #be185d;--theme-rose-light: #fdeef5;--theme-rose-border: #f0b8d8;--theme-indigo: #3730a3;--theme-indigo-light: #eeeeff;--theme-indigo-border: #c0bfee;--theme-lime: #3d7a0a;--theme-lime-light: #eef6e6;--theme-lime-border: #b8dda0;--theme-amber: #b45309;--theme-amber-light: #fdf3e6;--theme-amber-border: #eecfa0;--theme-cyan: #0e7490;--theme-cyan-light: #e6f6fb;--theme-cyan-border: #a0d8ee;--theme-emerald: #065f46;--theme-emerald-light: #e6f5f0;--theme-emerald-border: #9ad0c2;--theme-slate: #334155;--theme-slate-light: #eef0f4;--theme-slate-border: #b8c2d0;--theme-orange: #9a3412;--theme-orange-light: #fdf0ea;--theme-orange-border: #eec4aa;--theme-pink: #9d174d;--theme-pink-light: #fdeef4;--theme-pink-border: #eeb8d2;--theme-sky: #0369a1;--theme-sky-light: #e6f3fb;--theme-sky-border: #a0ccee;--theme-fuchsia: #86198f;--theme-fuchsia-light: #faeefb;--theme-fuchsia-border: #ddb8ee;--font: "Baloo 2", cursive;--header-h: 64px;--max-w: 1200px}html{font-size:16px;scroll-behavior:smooth}body{color:var(--black);background:var(--white);font-family:var(--font);overflow-x:hidden}.sr-only{position:absolute;margin:-1px;padding:0;border:0;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-9999px;left:-9999px;z-index:9999;padding:.5rem 1rem;border-radius:0 0 4px 4px;font-size:1rem;color:#fff;background:#000;transition:top .2s}.skip-link:focus{top:0;left:1rem}.section{padding:5rem 2rem;display:flex;justify-content:center}.app-wrapper{display:flex;flex-direction:column;min-height:100vh}main{flex:1}.section-wrapper{max-width:var(--max-w);width:100%}.section-label{font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);font-weight:700;margin-bottom:.5rem;text-align:center}.section-title{font-size:2.5rem;font-weight:800;line-height:1.2;color:var(--black);margin-bottom:1.5rem}.cta-sub{font-size:1.05rem;opacity:.75}.cta-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}.reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:translateY(0)}.btn-primary,.btn-outline,.btn-send{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:inherit;font-size:1rem;font-weight:600;padding:.75rem 2rem;border-radius:6px;text-decoration:none;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.btn-primary{background-color:var(--blue);color:var(--white);border:2px solid var(--blue)}.btn-primary:hover{background-color:var(--white);color:var(--blue);border-color:var(--blue)}.btn-outline{background-color:transparent;color:var(--blue);border:2px solid var(--blue)}.btn-outline:hover{background-color:var(--blue-light)}.theme-badge--blue{background-color:var(--theme-blue-light);color:var(--theme-blue);border:1px solid var(--theme-blue-border)}.theme-badge--magenta{background-color:var(--theme-magenta-light);color:var(--theme-magenta);border:1px solid var(--theme-magenta-border)}.theme-badge--gold{background-color:var(--theme-gold-light);color:var(--theme-gold);border:1px solid var(--theme-gold-border)}.theme-badge--teal{background-color:var(--theme-teal-light);color:var(--theme-teal);border:1px solid var(--theme-teal-border)}.theme-badge--coral{background-color:var(--theme-coral-light);color:var(--theme-coral);border:1px solid var(--theme-coral-border)}.theme-badge--violet{background-color:var(--theme-violet-light);color:var(--theme-violet);border:1px solid var(--theme-violet-border)}.theme-badge--rose{background-color:var(--theme-rose-light);color:var(--theme-rose);border:1px solid var(--theme-rose-border)}.theme-badge--indigo{background-color:var(--theme-indigo-light);color:var(--theme-indigo);border:1px solid var(--theme-indigo-border)}.theme-badge--lime{background-color:var(--theme-lime-light);color:var(--theme-lime);border:1px solid var(--theme-lime-border)}.theme-badge--amber{background-color:var(--theme-amber-light);color:var(--theme-amber);border:1px solid var(--theme-amber-border)}.theme-badge--cyan{background-color:var(--theme-cyan-light);color:var(--theme-cyan);border:1px solid var(--theme-cyan-border)}.theme-badge--emerald{background-color:var(--theme-emerald-light);color:var(--theme-emerald);border:1px solid var(--theme-emerald-border)}.theme-badge--slate{background-color:var(--theme-slate-light);color:var(--theme-slate);border:1px solid var(--theme-slate-border)}.theme-badge--orange{background-color:var(--theme-orange-light);color:var(--theme-orange);border:1px solid var(--theme-orange-border)}.theme-badge--pink{background-color:var(--theme-pink-light);color:var(--theme-pink);border:1px solid var(--theme-pink-border)}.theme-badge--sky{background-color:var(--theme-sky-light);color:var(--theme-sky);border:1px solid var(--theme-sky-border)}.theme-badge--fuchsia{background-color:var(--theme-fuchsia-light);color:var(--theme-fuchsia);border:1px solid var(--theme-fuchsia-border)}.hero-wrap{position:relative;height:100vh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--white);overflow:hidden}.hero-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(#0006,#0000008c);z-index:1;pointer-events:none}.hero-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;z-index:0;pointer-events:none}.hero-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.65) 100%);z-index:2;pointer-events:none}.hero-content{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:740px;padding:0 1.5rem}.hero-title{font-family:var(--font);font-size:3rem;font-weight:800;letter-spacing:-.02em;color:var(--white);line-height:1.1;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.5)}.hero-logo-img{width:300px;height:auto;filter:brightness(0) invert(1);margin-bottom:1rem;margin-top:10rem}.hero-tagline{font-family:var(--font);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:500;color:#ffffffd9;line-height:1.5;margin-bottom:1.5rem;margin-top:0;text-shadow:0 2px 10px rgba(0,0,0,.5)}.hero-services{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 0;list-style:none;margin:0;padding:0}.hero-services li{color:#ffffffbf;font-size:1rem;text-shadow:0 2px 10px rgba(0,0,0,.5)}.hero-services li:not(:last-child):after{content:"·";margin:0 .6rem;color:#ffffff73}.hero-cta{margin-top:1rem;z-index:4}.scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--white);text-decoration:none;font-size:1rem;opacity:.7;transition:opacity .2s ease;z-index:4}.scroll-hint:hover{opacity:1}.scroll-hint svg{animation:bounce 2s infinite}.page-hero{height:60vh;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:calc(var(--header-h) + 40px) 24px 40px;text-align:center}.page-hero__lcp-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;pointer-events:none}.page-hero__overlay{position:absolute;inset:0;background:linear-gradient(#00000073,#0009);z-index:1;pointer-events:none}.page-hero .hero-grain,.page-hero .hero-blob,.page-hero .hero-vignette{position:absolute;inset:0;z-index:2;pointer-events:none}.page-hero-content{position:relative;z-index:3;max-width:740px;margin:0 auto;opacity:1;transform:none}.page-hero-label{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font);font-size:1rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:1.2rem}.page-hero-title{font-family:var(--font);font-weight:800;font-size:clamp(2.4rem,5.5vw,4rem);letter-spacing:-.03em;color:var(--white);line-height:1.08;margin-bottom:1.4rem}.page-hero-sub{font-family:var(--font);font-size:1rem;font-weight:500;color:#ffffffd9;line-height:1.65;max-width:580px;margin:0 auto}.cta-section--white{background-color:var(--white)}.cta-section--blue{background:linear-gradient(135deg,var(--blue-dark) 0%,var(--blue) 100%)}.cta-section--blue .section-label{color:#ffffffa6}.cta-section--blue .section-title,.cta-section--blue .cta-sub,.cta-section--blue .launch-final-sub,.cta-section--blue .launch-final-meta{color:var(--white)}.cta-section--blue .cta-sub,.cta-section--blue .launch-final-sub{opacity:.8}.cta-section--blue .launch-final-meta{opacity:.6;font-style:italic}.cta-section--blue .btn-primary{background-color:var(--white);color:var(--blue-dark)}.cta-section--blue .btn-primary:hover{background-color:#ffffffe0}.section-blob{position:absolute;width:480px;height:480px;border-radius:50%;filter:blur(80px);opacity:.12;pointer-events:none;background:var(--blue)}.section-blob--tl{top:-120px;left:-120px}.section-blob--br{bottom:-120px;right:-120px}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}60%{transform:translateY(-3px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 3px #007fa659}50%{box-shadow:0 0 0 6px #007fa626}}:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:3px}:focus:not(:focus-visible){outline:none}.real-page-iframe{scrollbar-width:none}.real-page-iframe::-webkit-scrollbar{display:none}@media(min-width:768px)and (max-width:1024px){.section{padding:3.5rem 1.25rem}.section-title{font-size:1.75rem}.section-blob{width:280px;height:280px}.hero-wrap .hero-logo-img{width:300px;margin-top:6rem}.page-hero{height:50vh;align-items:flex-end;padding-bottom:2.5rem}.page-hero-sub{font-size:1rem}}@media(max-width:767px){.section{padding:2.5rem 1rem}.hero-wrap .hero-tagline{font-size:1.25rem;line-height:1.5}.hero-services{font-size:.9rem}.hero-wrap .hero-logo-img{width:200px;margin-top:6rem}.page-hero{height:45vh;align-items:flex-end;padding-bottom:2rem}.page-hero-title{font-size:clamp(1.75rem,8vw,2.4rem);margin-bottom:.75rem}.page-hero-sub{font-size:1rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.eng-card,.real-page-card{transition:none;animation:none}}.cta-section--hero{position:relative;overflow:hidden;isolation:isolate}.cta-section--hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.cta-section--hero__overlay{position:absolute;inset:0;background:#050a1e73;z-index:-1}.cta-section--hero .section-label,.cta-section--hero .section-title,.cta-section--hero .cta-sub{color:var(--white)}.cta-section--hero .cta-meta{font-size:1rem;font-style:italic;color:var(--white);margin-top:-.5rem}.cta-section--hero .btn-primary:hover{background-color:var(--white);color:var(--blue-dark);outline-offset:2px}.approche-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.approche-left{display:flex;flex-direction:column;gap:1.25rem}.approche-text{font-size:1.05rem;line-height:1.7}.approche-text strong{color:var(--black);font-weight:700}.approche-right{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:5rem}.approche-card{padding:1.75rem;background:var(--blue);border:1px solid var(--blue);border-radius:16px;transition:transform .2s ease,box-shadow .2s ease}.approche-card-title{display:flex;align-items:center;gap:.6rem;font-size:1.05rem;font-weight:700;color:var(--white);margin-bottom:.6rem}.approche-card-text{font-size:.95rem;line-height:1.6;color:#ffffffd1}.approche-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000002e;background:var(--white);border-color:var(--blue)}.approche-card:hover .approche-card-title{color:var(--blue)}.approche-card:hover .approche-card-text{color:var(--black)}.realisations-section{flex-direction:column;align-items:center;gap:3rem;background:var(--black)}.realisations-section .section-label{color:#ffffffa6}.realisations-section .section-title,.realisations-section .approche-text,.realisations-section .real-cta-description{color:var(--white)}.realisations-section .approche-text,.realisations-section .real-cta-description{opacity:.75}.home-real-grid{width:100%;max-width:var(--max-w);list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.home-real-grid article{display:flex;flex-direction:column;height:100%;background:var(--white);border-radius:16px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.home-real-grid article:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000014}.real-page-iframe-link{display:block}.real-page-iframe-wrap{position:relative;width:100%;aspect-ratio:8 / 5;overflow:hidden;background:var(--bg)}.real-page-iframe-wrap iframe{position:absolute;top:0;left:0}.real-page-card-body{padding:1.5rem;display:flex;flex-direction:column;gap:.6rem;flex:1;background:var(--blue);color:var(--white)}.real-page-card-name-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.real-page-card-name{font-size:1.2rem;font-weight:700;color:var(--white)}.real-page-card-num{font-size:.85rem;opacity:.7}.real-page-card-accroche{font-size:.95rem;line-height:1.5;flex:1;color:#ffffffd1}.real-page-card-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:.5rem;color:var(--white);font-weight:600;text-decoration:none}.real-page-card-link svg{transition:transform .2s ease}.real-page-card-link:hover svg{transform:translate(4px)}.real-page-card-link:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:2px}.real-cta{width:100%;max-width:var(--max-w);display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem}.presta-grid-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.presta-text{font-size:1.05rem;line-height:1.7;margin-bottom:1.25rem}.presta-text strong{color:var(--black);font-weight:700}.presta-info .btn-primary{margin-top:.5rem}.vignettes-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:30px}.vignette-card{padding:1.75rem;background:var(--blue);border:1px solid var(--blue);border-radius:16px;transition:transform .2s ease,box-shadow .2s ease}.vignette-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#ffffff2e;color:var(--white);margin-bottom:1rem}.vignette-title{font-size:1.05rem;font-weight:700;color:var(--white);margin-bottom:.4rem}.vignette-card p{color:#ffffffd1;font-size:.95rem;line-height:1.6}.vignette-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000002e;background:var(--white);border-color:var(--blue)}.vignette-card:hover .vignette-icon{background:var(--blue-light);color:var(--blue)}.vignette-card:hover .vignette-title{color:var(--blue)}.vignette-card:hover p{color:var(--black)}.contact-section{background:var(--blue)}.contact-section .section-label{color:#ffffffa6}.contact-sub{font-size:1.05rem;line-height:1.7;margin-bottom:2rem}.contact-section .section-title,.contact-section .contact-sub{color:var(--white)}.contact-section .contact-sub{opacity:.82}.contact-info-label{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--blue);margin-bottom:.2rem}.contact-info-value{font-size:.95rem;line-height:1.5}.contact-section .contact-info-label{color:var(--white)}.contact-section .contact-info-value{color:#ffffffd1}.contact-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--blue-light);color:var(--blue)}.contact-section .contact-icon{background:#ffffff2e;color:var(--white)}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.contact-items{list-style:none;display:flex;flex-direction:column;gap:1.25rem}.contact-item{display:flex;align-items:flex-start;gap:1rem}.contact-right{background:var(--white);border:1px solid var(--blue-mid);border-radius:16px;padding:2rem;box-shadow:0 12px 24px #0000000a}.contact-right h3{font-size:1.3rem;font-weight:700;color:var(--black);margin-bottom:1.25rem}.contact-form-skeleton{width:100%;height:320px;border-radius:12px;background:linear-gradient(90deg,var(--blue-light) 25%,var(--bg) 50%,var(--blue-light) 75%);background-size:200% 100%;animation:skeleton-loading 1.4s ease-in-out infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media(min-width:768px)and (max-width:1024px){.approche-grid,.presta-grid-layout,.contact-inner{grid-template-columns:1fr;gap:2.5rem}.approche-right,.vignettes-grid{grid-template-columns:1fr 1fr}.home-real-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media(max-width:767px){.approche-grid,.presta-grid-layout,.contact-inner{grid-template-columns:1fr;gap:2rem}.approche-right,.vignettes-grid{grid-template-columns:1fr}.home-real-grid{grid-template-columns:1fr;gap:1.5rem}.real-cta{gap:1rem}.contact-right{padding:1.5rem}}.skip-link{position:absolute;top:-40px;left:0;z-index:100;padding:8px;border-radius:0 0 4px;background-color:var(--blue);color:var(--white);text-decoration:none}.skip-link:focus-visible{top:0}.sr-only{position:absolute;overflow:hidden;width:1px;height:1px;margin:-1px;padding:0;border-width:0;white-space:nowrap;clip:rect(0,0,0,0)}.nf-wrap{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem 1.5rem;background:linear-gradient(135deg,#0a0e27,#000)}.nf-overlay{position:absolute;inset:0;z-index:1;background:#00000059}.hero-grain{position:absolute;inset:0;z-index:2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");opacity:.04;pointer-events:none}.nf-content{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;max-width:580px;text-align:center}.nf-logo-wrap{display:inline-flex;margin-bottom:2.5rem;border-radius:4px;opacity:.9;transition:opacity .2s ease}.nf-logo-wrap:hover{opacity:1}.nf-logo-wrap:focus-visible{outline:2px solid var(--blue-light);outline-offset:4px}.nf-logo{display:block;width:160px;height:53px;object-fit:contain}.nf-subtitle{margin-bottom:.75rem;font-size:1rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-light)}.nf-title{margin-bottom:1.25rem;font-size:clamp(6rem,18vw,11rem);font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--white);text-shadow:0 4px 40px rgba(0,127,166,.4)}.nf-heading{margin-bottom:1rem;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:700;line-height:1.25;color:var(--white)}.nf-text{max-width:460px;margin-bottom:2.5rem;font-size:1rem;font-weight:400;line-height:1.7;color:#ffffffde}.nf-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem}.btn-base{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 2rem;border:1.5px solid var(--blue);border-radius:6px;font-family:inherit;font-size:1rem;font-weight:600;color:var(--white);background:var(--blue);text-decoration:none;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.btn-base:focus-visible{outline:2px solid var(--white);outline-offset:2px}.btn-primary:hover{background-color:var(--blue-dark, #005f80);border-color:var(--blue-dark, #005f80)}.btn-secondary{background:transparent;border-color:#ffffff73}.btn-secondary:hover{background:#ffffff14;border-color:#ffffffb3}@media(max-width:1024px){.nf-text{max-width:400px}}@media(max-width:767px){.nf-wrap{padding:1.5rem 1rem}.nf-logo{width:130px;height:43px}.nf-logo-wrap{margin-bottom:2rem}.nf-text{margin-bottom:2rem;font-size:1rem}.nf-actions{flex-direction:column;width:100%}.btn-base{width:100%;justify-content:center}}
