:root{--base-900:#0a1a24;--base-800:#0c2230;--base-700:#0f2d3f;--green-500:#2ebd8b;--green-400:#3ed7a5;--green-300:#5eecd0;--energy-orange:#f2994a;--tech-purple:#c93cff;--tech-accent:#36c4dd;--text-main:#f7f8fa;--text-secondary:#e2e8f0;--text-muted:#94a3b8;--font-size:1.3rem;--mono:"Oxygen mono",monospace;--sans:Oxygen,sans-serif;--text-h2:clamp(1.6rem,3vw,2rem);--text-h3-card:clamp(1.1rem,2vw,1.4rem);--text-h3-compact:1.1rem;--text-h3-action:1.2rem;--text-body-lg:1.05rem;--text-body:1rem;--text-body-sm:0.95rem;--text-meta:0.85rem}html{box-sizing:border-box;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}a,button{transition:color .2s ease,background-color .2s ease,transform .2s ease}.card,.number-card,.service-card,.tarif-card{transition:transform .25s ease,box-shadow .25s ease}*,:after,:before{box-sizing:inherit}body{background-color:var(--base-900);color:var(--text-main);font-family:var(--sans);font-size:var(--font-size);isolation:isolate;margin:0;padding:0;position:relative}body,html{overflow-x:hidden;width:100%}h1,h2,h3,h4,p{margin:0}.menu-item a:hover{color:var(--green-400);text-decoration:none}.divider{background:linear-gradient(90deg,var(--green-400) 0,var(--tech-purple) 100%);height:1px}.reverse-divider{background:linear-gradient(90deg,var(--tech-purple) 0,var(--green-400) 100%);height:1px}.container{margin:0 auto;max-width:1280px;padding:4rem 1rem 4.75rem}.title-group{margin-bottom:3rem;text-align:center}.title{color:var(--text-main);font-size:var(--text-h2);margin-bottom:1rem}.subtitle,.title{text-align:center}.subtitle{color:var(--text-secondary);font-size:var(--text-body-lg);line-height:2rem}html::-webkit-scrollbar{width:15px}html::-webkit-scrollbar-thumb{background:var(--green-400);border-radius:6px}html::-webkit-scrollbar-thumb:hover{background:var(--tech-accent)}header{display:flex;flex-direction:column;min-height:100svh;min-height:100dvh;min-height:100vh}header img.fixed{height:800px;inset:50% auto auto 50%;left:55%;opacity:.025;pointer-events:none;position:fixed;top:50%;transform:translate(-50%,-50%);width:800px;z-index:-1}@media (min-width:850px){header img.fixed{display:none}}header>nav{flex:0 0 auto}nav{font-family:var(--mono);font-size:80%;padding:1.5rem 1rem 0}.main-nav li:first-child{display:none}@media (min-width:850px){.main-nav li:first-child{display:block;font-family:var(--sans);-ms-flex-preferred-size:100%;font-size:2rem;font-weight:700}.main-nav .home-item{display:none}}nav ul{align-items:center;display:flex;flex-flow:row wrap;gap:2rem;justify-content:center;list-style-type:none;margin:0;padding:0}nav li a{color:var(--text-main);display:block;text-decoration:none}nav span img{left:50%;margin-bottom:-100px;position:relative;top:-50px;transform:translateX(-50%);width:150px;z-index:1}@media (min-width:1080px){nav span img{left:125px;position:absolute;top:-30px;width:200px}}@media (min-width:1420px){nav span img{left:100px;top:-20px;transform:translateX(0);width:250px}}@media (min-width:1900px){nav span img{left:15px;position:fixed;top:-30px;width:300px}}nav span:first-child{color:var(--tech-purple);margin-right:10px}nav span:first-child:hover{color:var(--green-400)}nav li:nth-child(n+2) span{color:var(--tech-purple);font-size:150%}nav .primary-btn{font-size:100%;padding:.5rem}.primary-btn{background:var(--green-500);color:var(--base-900);font-family:var(--mono);font-size:70%;padding:.5rem;text-decoration:none}@media (min-width:768px){.primary-btn{font-size:75%;padding:.5rem 1rem}}@media (min-width:1080px){.primary-btn{font-size:80%}}.primary-btn:hover{background-color:var(--green-400);box-shadow:0 0 10px 0 var(--green-400)}.secondary-btn{background:transparent;border:1px solid var(--green-500);color:var(--green-500);font-family:var(--mono);font-size:70%;padding:.5rem;text-decoration:none}@media (min-width:768px){.secondary-btn{font-size:75%;padding:.5rem 1rem}}@media (min-width:1080px){.secondary-btn{font-size:80%}}.secondary-btn:hover{color:var(--green-400)}@media (min-width:850px){nav{margin:0 auto;max-width:1280px}nav li:first-child{flex-basis:auto;margin-right:auto}}.fixed-btn .nav-item{height:63px;width:63px}.fixed-btn .nav-item .nav-fa{font-size:30px}.fixed-btn .fixed-mail{left:10px}.fixed-btn .fixed-home,.fixed-btn .fixed-mail{align-items:center;bottom:25px;display:flex;justify-content:center;position:fixed;z-index:2}.fixed-btn .fixed-home{right:10px}.floating-nav{display:flex;flex-direction:column;gap:1rem;padding:0;position:fixed;right:10px;top:50%;transform:translateY(-50%);z-index:1000}.fixed-hidden{opacity:0;pointer-events:none;transition:opacity .25s ease}.nav-item{backdrop-filter:blur(6px);background:rgba(10,26,36,.75);border:1px solid hsla(0,0%,100%,.08);border-radius:999px;display:grid;height:42px;place-items:center;text-decoration:none;transition:transform .2s ease,box-shadow .25s ease,background-color .25s ease;width:42px}.nav-fa{background:linear-gradient(135deg,var(--tech-accent),var(--green-400));-webkit-background-clip:text;background-clip:text;font-size:20px;-webkit-text-fill-color:transparent}.nav-item:focus-visible,.nav-item:hover{background:rgba(10,26,36,.9);box-shadow:0 0 0 2px rgba(62,215,165,.35),0 8px 20px rgba(0,0,0,.4);outline:none;transform:translateY(-2px)}.nav-icon{fill:none;height:22px;stroke:url(#icon-gradient);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:22px}#hero{display:flex;flex:1 1 auto;flex-direction:column;justify-content:space-around;margin:40px auto;max-width:1280px;min-height:0;padding:clamp(1.5rem,3vw,3rem) clamp(2rem,6vw,4rem);position:relative}@media (min-width:850px){#hero{padding:clamp(3rem,6vw,6rem) clamp(2rem,6vw,4rem)}}#hero h1{font-family:var(--sans);font-size:.9rem;font-weight:400;letter-spacing:.5rem;line-height:1.5}#hero h1 span{color:var(--tech-purple);display:inline;font-size:3rem;letter-spacing:.5rem;margin:2rem 0 0}@media (min-width:640px){#hero h1 span{font-size:4rem;margin:0}}@media (min-width:1080px){#hero h1 span{font-size:5rem}}#hero h2{font-family:var(--sans);font-size:2rem;font-weight:500;letter-spacing:.3rem}@media (min-width:640px){#hero h2{font-size:2.5rem}}@media (min-width:1080px){#hero h2{font-size:3rem}}#hero h2 span{color:var(--green-400);display:block;font-family:var(--mono);font-size:1rem;letter-spacing:.1rem;margin-top:1.5rem}@media (min-width:640px){#hero h2 span{font-size:1.25rem;margin-top:1.75rem}}@media (min-width:1080px){#hero h2 span{font-size:1.5rem;margin-top:2rem}}#hero p.flex{display:flex;flex-wrap:wrap;gap:clamp(1rem,4vw,4.5rem);justify-content:center;margin-left:auto;margin-right:auto;margin-top:clamp(.75rem,3vh,2.5rem)}@media (min-width:768px){#hero p.flex{justify-content:flex-start;margin-right:0;margin-top:clamp(1.5rem,6vh,5rem)}}@media (min-width:1024px){#hero p.flex{margin-top:clamp(3rem,12vh,10rem)}}#services{background-color:var(--base-800)}.contact-grid,.numbers-grid,.process-grid,.services-grid,.skills-grid,.tarifs-grid,.tarifs-grid-2,.testimonials-grid,.vision-grid{display:grid;gap:2rem;grid-template-columns:1fr}.tarifs-grid,.tarifs-grid-2{margin-bottom:3rem}.contact-grid,.process-grid{align-items:center;margin-top:3rem}.process-grid{grid-template-columns:repeat(2,1fr)}@media (min-width:700px){.process-grid{grid-template-columns:repeat(3,1fr)}.numbers-grid,.skills-grid,.tarifs-grid,.vision-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:900px){.process-grid,.services-grid,.tarifs-grid-2,.testimonials-grid{grid-template-columns:repeat(3,1fr)}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}}@media (min-width:1280px){.tarifs-grid,.vision-grid{grid-template-columns:repeat(3,1fr)}.numbers-grid{grid-template-columns:repeat(4,1fr)}.process-grid{grid-template-columns:repeat(6,1fr)}}@media (min-width:701px) and (max-width:1279px){.tarif-standard-site{order:1}.tarif-standard-maintenance{order:3}.tarif-standard-package{order:5}.tarif-premium-site{order:2}.tarif-premium-maintenance{order:4}.tarif-premium-package{order:6}}.number-card,.service-card,.skill-card,.tarif-card,.testimonial-card,.vision-card{backdrop-filter:blur(4px);background-color:var(--base-700);border-radius:16px;box-shadow:0 0 12px rgba(0,0,0,.25);display:flex;flex-direction:column;gap:1.2rem;padding:1.8rem 1.8rem 2.2rem;transition:transform .25s ease,box-shadow .25s ease}.number-card:hover,.service-card:hover,.skill-card:hover,.tarif-card:hover,.testimonial-card:hover,.vision-card:hover{box-shadow:0 12px 30px rgba(0,0,0,.45);transform:translateY(-5px)}.service-head,.skill-head,.tarif-head,.vision-head{align-items:center;display:flex;gap:1rem}.tarif-head{justify-content:center}.number-head{align-items:center;display:flex;gap:1rem;justify-content:center;left:10px;margin-bottom:1.2rem;position:absolute;top:10px}.service-icon,.skill-icon,.tarif-icon,.vision-icon{font-size:1.6rem;height:55px;min-width:55px}.number-icon,.service-icon,.skill-icon,.tarif-icon,.vision-icon{align-items:center;background:linear-gradient(135deg,var(--green-400),var(--tech-purple));border-radius:12px;box-shadow:0 0 12px rgba(54,196,221,.25);display:flex;justify-content:center}.number-icon{font-size:1.25rem;height:40px;min-width:40px}.icon-badge{background:var(--base-900);border:1px solid hsla(0,0%,100%,.08);border-radius:12px;box-shadow:0 0 18px rgba(0,0,0,.25);display:grid;height:55px;min-width:55px;place-items:center}.card:hover .icon-badge{background:linear-gradient(var(--base-900),var(--base-900)) padding-box,linear-gradient(135deg,var(--green-400),var(--tech-purple)) border-box;transform:translateY(-1px)}.icon-badge i{color:var(--tech-accent);font-size:23px;opacity:.9}.card:hover .icon-badge i{opacity:1}.number-card .icon-badge{height:40px;min-width:40px}.number-card .icon-badge i{font-size:18px}.service-card h3,.skill-card h3,.tarif-card h3,.vision-card h3{color:var(--green-400);font-size:var(--text-h3-card);line-height:1.3;margin:0}.service-card p,.skill-card p,.tarif-card p,.vision-card p{color:var(--text-secondary);font-size:var(--text-body-lg);line-height:1.55}#projects{margin:0 auto;max-width:1280px;padding:4rem 1rem 3rem}#projects h2.aboutme{text-align:center}#projects .text{display:flex;flex-direction:column;font-size:clamp(1.25rem,2vw,1.75rem);gap:10px;margin:auto 0 auto auto}#projects .project-title{color:var(--green-400);font-family:var(--sans);font-size:clamp(1.25rem,2vw,1.75rem);font-weight:600}#projects .reverse .text{margin:auto auto auto 0}#projects article{margin:4rem 0 2rem}#projects .about .text{margin:0 0 auto}#projects .in-progress{color:var(--tech-purple);font-size:1.2rem;font-weight:500}#projects p{font-family:var(--sans);font-size:clamp(.75rem,1.5vw,1.1rem)}#projects ul{display:flex;flex-flow:row wrap;font-size:clamp(.6rem,1.2vw,.8rem);gap:1.5rem;justify-content:flex-end;list-style-type:none;margin:0;padding:0}#projects .reverse ul{display:flex;justify-content:flex-start}#projects .black-box{background-color:hsla(0,0%,100%,.039);border-radius:10px;color:var(--text-main);font-size:1rem;line-height:2;padding:1rem}#projects .black-box:first-letter{font-family:var(--mono);font-size:1.5rem}#projects img{border-left:1px dotted var(--tech-purple);border-radius:25px;border-top:1px dotted var(--tech-purple);margin-top:1rem;padding:1rem;width:100%}#about .about img{border:1px solid var(--tech-purple);border-radius:50%;text-align:center}#projects .reverse img{border-bottom:1px dotted var(--tech-purple);border-left:none;border-right:1px dotted var(--tech-purple);border-top:none}@media (min-width:789px){#projects article{display:grid;gap:1rem;grid-template-columns:repeat(10,1fr)}#projects img{-ms-grid-column:1;-ms-grid-column-span:5;grid-column:1/8;-ms-grid-row:1;-ms-grid-row-span:1;grid-row:1/2}#projects .about img{-ms-grid-column:1;-ms-grid-column-span:4;grid-column:1/5}#projects a{-ms-grid-column:1;-ms-grid-column-span:5;grid-column:1/8;-ms-grid-row:1;-ms-grid-row-span:1;grid-row:1/2}#projects .text{-ms-grid-column:5;-ms-grid-column-span:6;grid-column:8/11;-ms-grid-row:1;-ms-grid-row-span:1;grid-row:1/2;order:2;text-align:right}#projects .about .text{-ms-grid-column:5;-ms-grid-column-span:6;grid-column:6/11;text-align:left}#projects ul{justify-content:flex-end}#projects .reverse .text{-ms-grid-column:1;-ms-grid-column-span:6;grid-column:1/4;text-align:left}#projects .reverse a,#projects .reverse img{-ms-grid-column:6;-ms-grid-column-span:5;grid-column:4/11}#projects .reverse ul{justify-content:flex-start}}@media (min-width:0) and (max-width:788px){#projects .about{margin:0}#projects .about img{left:50%;margin-top:3rem;position:relative;transform:translateX(-50%);width:70%}#projects .text{text-align:center}#projects .about .text{text-align:left}#projects ul{justify-content:center}#projects .about ul{justify-content:left}#projects .reverse .text{text-align:center}#projects .reverse ul{justify-content:center}}#tarifs{background:var(--base-800)}.tarif-card .tarifs-price,.tarifs-price{color:var(--tech-purple);font-size:clamp(1.6rem,3vw,2rem);font-weight:700;margin:.5rem 0 1rem;text-align:center}.tarifs-price small,.tarifs-price span{color:var(--text-secondary);font-size:1rem;font-weight:400}.tarifs-price s{opacity:.5}.package{background:linear-gradient(180deg,rgba(62,215,165,.08),rgba(62,215,165,.02));border:1px solid rgba(62,215,165,.25);border-radius:12px;margin-top:1.2rem;padding:1.4rem}.package h4{color:var(--green-400);margin-bottom:.6rem}.package strong{color:var(--text-main)}.tarifs-cta{margin:3rem 0}.sub-subtitle,.tarifs-cta{text-align:center}.consent-text,.star-display,.sub-subtitle,.tarifs-note{color:var(--text-muted);font-size:var(--text-meta);line-height:1.6}.star{color:var(--tech-accent);font-size:1.75rem;font-weight:500}.copilot{box-shadow:0 0 3px var(--tech-accent);transform:scale(1.0075)}.copilot:hover{box-shadow:0 0 15px var(--tech-accent);transform:translateY(-5px)}.skill-list,.tarif-list{display:grid;gap:.75rem;list-style:none;margin:0;padding-left:0}@media (min-width:500px){.skill-list,.tarif-list{margin:0 20%}}@media (min-width:700px){.skill-list,.tarif-list{margin:0}}@media (min-width:990px){.skill-list,.tarif-list{margin:0 15%}}@media (min-width:1280px){.tarif-list{margin:0}.skill-list{margin:0 20%}}.skill-list li,.tarif-card li{font-size:1rem;font-weight:600;opacity:.9;padding-left:2rem;position:relative}.skill-list li:before,.tarif-card li:before{color:var(--tech-accent);content:"+";font-weight:700;left:0;position:absolute}.cta div{margin-top:3rem}.cta{color:var(--text-main);padding:6rem 2rem;text-align:center}.cta h2{font-size:2rem;margin-bottom:1rem}.cta .primary-btn{background:var(--green-500);color:var(--base-900)}.cta .primary-btn:hover{background:var(--green-400)}.parallax{background-attachment:fixed;background-position:50%;background-size:cover;min-height:320px;overflow:hidden;position:relative;z-index:0}.parallax:before{background:linear-gradient(180deg,rgba(10,26,36,.72),rgba(10,26,36,.92));content:"";inset:0;position:absolute}.parallax>.container-media{position:relative;z-index:1}@supports (-webkit-touch-callout:none){.parallax{background-attachment:scroll}}.parallax-cta{background-image:url(../img/parallax/bureau-ergo.webp)}.parallax-cta-2{background-image:url(../img/parallax/collab-2.webp)}.parallax-cta-3{background-image:url(../img/parallax/collab-3.webp)}.parallax-numbers{background-image:url(../img/parallax/abstract-data-2.webp)}.parallax-process{background-image:url(../img/parallax/abstract-data.webp)}.parallax-contact{background-image:url(../img/parallax/abstract-data-3.webp)}.who{margin-bottom:4rem}.who-layout-grid{display:grid;gap:4rem;margin-top:3rem}@media (min-width:768px){.who .title{margin-left:17%;text-align:left}.who-layout-grid{align-items:center;gap:5rem;grid-template-columns:1.2fr .8fr}.vision .title{margin-right:17%;text-align:right}}@media (min-width:900px){.who-layout-grid{gap:7rem}}@media (min-width:1280px){.who-layout-grid{gap:10rem}}.who-flow{display:grid;gap:3rem}.who-photo img{border-radius:50%;display:block;margin:0 auto;overflow:hidden;width:100%}@media (min-width:770px){.who-photo img{scale:1.5}}.flow-step{align-items:center;animation:flowFade .6s ease forwards;display:grid;gap:1.5rem;grid-template-columns:24px 1fr;opacity:0;position:relative;transform:translateY(10px)}.flow-step:nth-child(2){animation-delay:.1s}.flow-step:nth-child(3){animation-delay:.2s}.flow-step:nth-child(4){animation-delay:.3s}@keyframes flowFade{to{opacity:1;transform:translateY(0)}}.flow-step:before{background:linear-gradient(to bottom,var(--green-400),transparent);content:"";height:calc(100% + 1rem);left:11px;position:absolute;top:50%;width:2px}.flow-step:last-child:before{display:none}.flow-marker{background:linear-gradient(135deg,var(--tech-accent),var(--green-400));border-radius:50%;box-shadow:0 0 0 6px rgba(62,215,165,.15);height:24px;width:24px}.flow-marker.is-final{box-shadow:0 0 0 10px rgba(62,215,165,.25)}.flow-content{background:var(--base-700);border-radius:16px;padding:1.6rem 1.8rem}.flow-content h3{color:var(--green-400);font-size:var(--text-h3-compact);margin-bottom:.5rem}.flow-content p{color:var(--text-secondary);font-size:var(--text-body-sm);line-height:1.6}.number-card{background:var(--base-700);border:1px dotted var(--tech-accent);border-radius:12px;color:var(--text-main);padding:2rem;position:relative;text-align:center}.number-card .number{color:var(--green-400);font-size:clamp(2.2rem,4vw,2.6rem);font-weight:700;margin-bottom:.5rem}.number-card .label{color:var(--text-muted);font-size:var(--text-body-sm)}#process,#skills{background-color:var(--base-800)}.process-step{color:var(--text-main);text-align:center}.process-icon{align-items:center;background:linear-gradient(var(--base-900),var(--base-900)) padding-box;border-radius:50%;box-shadow:0 0 15px rgba(54,196,221,.25);display:flex;font-size:1.6rem;height:70px;justify-content:center;margin:0 auto .8rem;position:relative;width:70px}.process-icon i{background:linear-gradient(135deg,var(--tech-purple),var(--green-400));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.step-num{align-items:center;background:var(--base-900);border:1px solid var(--green-400);border-radius:50%;color:var(--green-400);display:flex;font-size:.75rem;font-weight:700;height:22px;justify-content:center;left:-5px;position:absolute;top:0;width:22px}.process-label{color:var(--text-secondary);font-size:.9rem}.approche-agile{background:var(--base-700);border:1px solid hsla(0,0%,100%,.08);border-left:3px solid var(--green-400);border-radius:16px;box-shadow:0 0 18px rgba(0,0,0,.25);margin-top:3rem;padding:1.6rem 1.8rem}.approche-agile h3{color:var(--green-400);font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.2;margin:0 0 .6rem}.approche-agile p{color:var(--text-secondary);font-size:clamp(.95rem,1.2vw,1.05rem);line-height:1.65;margin:.6rem 0 0;opacity:.95}.approche-agile .agile-points{display:grid;gap:.6rem;list-style:none;margin:1rem 0 0;padding:0}.approche-agile .agile-points li{align-items:flex-start;color:var(--text-secondary);display:flex;font-size:.95rem;gap:.6rem;line-height:1.5}.approche-agile .agile-points li:before{color:var(--tech-accent);content:"✓";font-weight:700;margin-top:.05rem}.approche-agile .agile-badge{align-items:center;background:rgba(62,215,165,.12);border:1px solid rgba(62,215,165,.25);border-radius:999px;color:var(--tech-accent);display:inline-flex;font-size:.85rem;font-weight:600;gap:.5rem;margin-bottom:.8rem;padding:.35rem .6rem}@media (min-width:900px){.approche-agile{padding:1.8rem 2rem}}.testimonial-text{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:1.2rem}.testimonial-author strong{color:var(--green-400);font-weight:600}.testimonial-author span{display:block;font-size:.85rem;opacity:.7}.testimonials-carousel.swiper{margin-top:1.5rem;overflow:hidden;position:relative}#testimonials .testimonials-carousel:after,#testimonials .testimonials-carousel:before{bottom:0;content:"";pointer-events:none;position:absolute;top:0;width:5%;z-index:5}@media (min-width:770px){#testimonials .testimonials-carousel:after,#testimonials .testimonials-carousel:before{width:8%}}#testimonials .testimonials-carousel:before{background:linear-gradient(90deg,rgba(0,0,0,.85),transparent);left:0}#testimonials .testimonials-carousel:after{background:linear-gradient(270deg,rgba(0,0,0,.85),transparent);right:0}.testimonials-carousel .swiper-wrapper{align-items:stretch}.testimonials-carousel .swiper-slide{align-self:stretch;display:flex;flex-shrink:0;height:auto;width:clamp(260px,35vw,520px)}.testimonials-carousel .testimonial-card{border-radius:0;display:flex;flex-direction:column;height:100%;width:100%}#testimonials .swiper-wrapper{transition-timing-function:linear!important}#testimonials .swiper-slide{opacity:.8;transform:scale(1);transition:transform .3s ease,opacity .3s ease}#testimonials .swiper-slide.swiper-slide-active{opacity:1}#testimonials .swiper-slide.swiper-slide-next,#testimonials .swiper-slide.swiper-slide-prev{opacity:.9}#faq{background-color:var(--base-800)}.faq-list{display:grid;gap:1rem;margin-top:3rem}.faq-item{background:var(--base-700);border:1px solid var(--base-800);border-radius:12px;color:var(--text-main);cursor:pointer;padding:1.2rem 1.5rem}.faq-item:focus-visible{outline:2px solid var(--tech-accent);outline-offset:3px}.faq-item summary{color:var(--green-400);cursor:pointer;font-size:var(--text-h3-action);font-weight:500;list-style:none;padding-right:1.5rem;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{color:var(--tech-accent);content:"+";font-size:1.2rem;position:absolute;right:0;top:0;transition:transform .25s ease}.faq-item[open] summary:after{content:"–"}.faq-content{height:0;opacity:0;overflow:hidden;padding-bottom:0;padding-top:0;transition:opacity .2s ease}.faq-item[open] .faq-content{opacity:1;padding-bottom:.2rem;padding-top:.8rem}.faq-item p{font-size:var(--text-body);margin:0;transform:translateY(-4px);transition:transform .2s ease}.contact-info,.faq-item p{color:var(--text-secondary);line-height:1.6}.contact-info{font-size:.95rem}.contact-info strong{color:var(--green-400)}.contact-mail{margin-top:1rem}.contact-mail a{color:var(--tech-accent);text-decoration:none}.contact-mail a:hover{text-decoration:underline}.contact-grid>*{min-width:0}.contact-form{background:var(--base-700);border:1px solid var(--base-800);border-radius:16px;padding:2rem}.form-group{gap:2rem}@media (min-width:640px){.form-group{display:flex}}.form-subgroup{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.2rem;width:100%}.form-subgroup label{color:var(--text-secondary);font-size:.85rem}.form-subgroup input,.form-subgroup textarea{background:var(--base-900);border:1px solid var(--base-800);border-radius:8px;color:var(--text-main);font-size:.95rem;padding:.7rem .8rem}.form-subgroup input:focus,.form-subgroup textarea:focus{border-color:var(--green-400);outline:none}.contact-form span.asterisque{color:var(--tech-purple)}.contact-form .consent-text a{color:var(--tech-accent);font-weight:600;text-decoration:none}.recaptcha-wrapper{max-width:304px;transform-origin:0 0;width:100%}@media (max-width:400px){.recaptcha-wrapper{transform:scale(.85)}}@media (max-width:360px){.recaptcha-wrapper{transform:scale(.7)}}@media (max-width:320px){.recaptcha-wrapper{transform:scale(.6)}}.contact-form .primary-btn{cursor:pointer;margin-top:1.2rem}.validation-style{color:var(--green-500)}.error-style,.validation-style{background:var(--base-900);border-radius:.3rem;font-family:var(--mono);font-size:80%;margin-top:1.2rem;padding:.5rem 1rem;text-decoration:none}.error-style{color:red}footer{background-color:var(--base-900);padding:4rem 1rem 4.75rem}.footer-grid{display:grid;gap:2.5rem;justify-content:center;margin:0 auto;max-width:1280px}@media (min-width:900px){.footer-grid{align-items:start;grid-template-columns:1fr 1fr 1fr}}.footer-col{margin:0 auto}.footer-col:first-of-type{text-align:center}@media (min-width:901px){.footer-col:first-of-type{margin:0;text-align:left}}.footer-col h2{margin:0 0 .6rem}.footer-col h2 a{color:inherit;text-decoration:none}.footer-col h3{color:var(--green-400);display:block;font-size:1.05rem;font-weight:500;letter-spacing:.08em;margin-bottom:.75rem;opacity:.85;text-transform:uppercase}.footer-tagline{color:var(--text-secondary);line-height:1.6;margin:.75rem 0 1.5rem;max-width:45ch;opacity:.95}.footer ul{list-style:none;margin:0;padding:0}.footer-social{display:flex;flex-flow:row wrap;gap:1rem;justify-content:center;margin-top:1.5rem}@media (min-width:900px){.footer-social{justify-content:flex-start}}.footer-social li{font-size:2rem}.footer-nav{align-items:center;display:flex;flex-wrap:nowrap;gap:3rem;justify-content:center;margin-top:.25rem}.footer-nav-title{color:var(--green-400);display:block;font-size:.75rem;letter-spacing:.08em;margin-bottom:.75rem;opacity:.85;text-transform:uppercase}.footer-nav-group ul{display:grid;gap:.6rem;margin-top:.75rem}.footer-nav-group li{font-size:1rem}.footer-nav a{color:var(--text-main);font-size:var(--text-body-sm);opacity:.85;text-decoration:none;transition:opacity .2s ease,transform .2s ease}.footer-nav a:focus-visible,.footer-nav a:hover{opacity:1;outline:none;transform:translateX(2px)}.footer-divider{background:linear-gradient(180deg,transparent,hsla(0,0%,100%,.25),transparent);min-height:120px;width:1px}.footer-links{display:grid;gap:.6rem;margin-top:.75rem}.footer-links li{font-size:1rem}.footer-links li:first-child a{color:var(--tech-accent);display:block;flex-basis:100%;font-family:var(--sans);font-size:130%;font-weight:700;letter-spacing:.1rem}.footer-links a{color:var(--text-main);opacity:.85;text-decoration:none;transition:opacity .2s ease,transform .2s ease}.footer-links a:focus-visible,.footer-links a:hover{color:var(--tech-accent);opacity:1;outline:none;transform:translateX(2px)}footer [class*=fa-]{background:linear-gradient(135deg,var(--tech-purple),var(--green-400));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;transition:opacity .25s ease,transform .25s ease}footer [class*=fa-]:hover{opacity:.85;transform:translateY(-2px)}.social-link{backdrop-filter:blur(6px);display:grid;height:40px;place-items:center;text-decoration:none;transition:transform .2s ease,box-shadow .25s ease,background-color .25s ease;width:40px}.social-link:focus-visible,.social-link:hover{outline:none;transform:translateY(-2px)}.footer-bottom{align-items:center;border-top:1px solid hsla(0,0%,100%,.08);display:flex;flex-direction:column;gap:1.5rem;margin-top:3rem;padding-top:1.5rem;text-align:center}.footer-bottom small,.footer-meta{color:var(--text-muted);font-size:var(--text-meta)}.footer-bottom img{height:125px;position:relative;top:-10px;width:125px}.footer-bottom .footer-bottom-text{align-items:center;display:flex;flex-direction:column;gap:1.5rem}@media (min-width:700px){.footer-bottom .footer-bottom-text{flex-direction:row;gap:3rem;justify-content:space-between}}@media (min-width:900px){.footer-bottom .footer-bottom-text{gap:10rem}}.legal-page{background:var(--base-900)}.legal-hero{margin:0 auto;max-width:1280px;padding:4rem 1rem 2.5rem}header.legal-hero{min-height:0}.legal-meta{color:var(--text-muted);font-size:var(--text-meta);margin-top:.75rem;text-align:center}.legal-content{background:var(--base-800)}.legal-card{backdrop-filter:blur(4px);background-color:var(--base-700);border:1px solid hsla(0,0%,100%,.06);border-radius:16px;box-shadow:0 0 12px rgba(0,0,0,.25);padding:1.8rem 1.8rem 2.2rem;transition:transform .25s ease,box-shadow .25s ease}.legal-card:hover{box-shadow:0 12px 30px rgba(0,0,0,.45);transform:translateY(-5px)}.legal-card h3{color:var(--green-400);font-size:var(--text-h3-card);line-height:1.3;margin-bottom:.75rem}.legal-card li,.legal-card p{color:var(--text-secondary);font-size:var(--text-body);line-height:1.65}.legal-card p+p{margin-top:.75rem}.legal-list{display:grid;gap:.6rem;list-style:none;margin:.75rem 0 0;padding-left:0}.legal-list li{font-weight:600;opacity:.95;padding-left:2rem;position:relative}.legal-list li:before{color:var(--tech-accent);content:"+";font-weight:700;left:0;position:absolute}.legal-card a{color:var(--tech-accent);font-weight:600;text-decoration:none}.legal-card a:hover{text-decoration:underline}.legal-note{background:linear-gradient(180deg,rgba(62,215,165,.08),rgba(62,215,165,.02));border:1px solid rgba(62,215,165,.25);border-radius:12px;margin-top:1rem;padding:1.2rem}.legal-note strong{color:var(--text-main)}.legal-hero .legal-cta{margin-bottom:1rem;text-align:center}.legal-content .legal-cta{margin-top:4.75rem;text-align:center}.legal-table{border-collapse:collapse;font-size:.95rem;margin-top:1rem;width:100%}.legal-table td,.legal-table th{border-bottom:1px solid hsla(0,0%,100%,.08);color:var(--text-secondary);padding:.8rem .4rem;text-align:left}.legal-table th{color:var(--text-main);font-weight:700}@media (max-width:640px){.legal-card{padding:1.4rem 1.2rem 1.6rem}}