:root{--surface:#f8faf8;--surface-lowest:#fff;--surface-low:#f2f4f2;--surface-container:#eceeec;--surface-high:#e6e9e7;--ink:#191c1b;--ink-muted:#414845;--primary:#001610;--primary-container:#0d2c24;--primary-soft:#adcec1;--lime:#c8f323;--lime-hover:#aed500;--line:#c1c8c4;--line-strong:#727975;--white:#fff;--font-display:"Manrope", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--display-lg:clamp(3.4rem, 5.1vw, 4.5rem);--headline-lg:clamp(2.3rem, 3.6vw, 3rem);--headline-md:clamp(1.75rem, 2.4vw, 2rem);--body-lg:1.125rem;--body-md:1rem;--label:.75rem;--page-margin:clamp(1.25rem, 4.2vw, 4rem);--gutter:1.5rem;--section-space:clamp(5rem, 9vw, 8.75rem);--stack-xs:.25rem;--stack-sm:.5rem;--stack-md:1rem;--stack-lg:1.5rem;--header-height:4.5rem;--ease:cubic-bezier(.22, 1, .36, 1);--transition:.18s var(--ease)}@media (width<=48rem){:root{--header-height:4.25rem;--section-space:5rem}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--surface)}body{padding-top:var(--header-height);background:var(--surface);color:var(--ink);font-family:var(--font-body);font-size:var(--body-md);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}#top,#partenaires,#expertises,#atouts,.expertise-card{scroll-margin-top:var(--header-height)}:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.visually-hidden{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{top:0;left:var(--page-margin);z-index:100;background:var(--lime);color:var(--primary);font-size:var(--label);letter-spacing:.08em;text-transform:uppercase;transition:transform var(--transition);padding:.75rem 1rem;font-weight:700;position:fixed;transform:translateY(-120%)}.skip-link:focus{transform:translateY(0)}.shell{width:min(100%,110rem);padding-inline:var(--page-margin);margin-inline:auto}.site-header{z-index:50;height:var(--header-height);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 95%, transparent);backdrop-filter:blur(10px);position:fixed;top:0;left:0;right:0}.header-inner{grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(1.5rem,3vw,3rem);height:100%;display:grid}.brand{color:var(--primary);font-family:var(--font-display);letter-spacing:-.04em;white-space:nowrap;align-items:center;gap:.55rem;font-size:clamp(1rem,1.5vw,1.25rem);font-weight:700;display:inline-flex}.brand-mark{object-fit:contain;flex:none;width:1.7rem;height:1.7rem}.primary-nav{justify-content:center;align-items:center;gap:clamp(1rem,2vw,1.75rem);display:flex}.nav-link{color:var(--ink-muted);letter-spacing:.1em;text-transform:uppercase;transition:color var(--transition);padding-block:.65rem;font-size:.6875rem;font-weight:600;position:relative}.nav-link:after{background:var(--primary);content:"";transform-origin:0;height:1px;transition:transform var(--transition);position:absolute;bottom:.25rem;left:0;right:0;transform:scaleX(0)}.nav-link:hover,.nav-link.active,.nav-link[aria-current]{color:var(--primary)}.nav-link.active:after,.nav-link[aria-current]:after{transform:scaleX(1)}.button{min-height:3.25rem;font-size:var(--label);letter-spacing:.1em;text-align:center;text-transform:uppercase;transition:background-color var(--transition), border-color var(--transition), color var(--transition), transform var(--transition);border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:.75rem;padding:.9rem 1.5rem;font-weight:700;line-height:1.25;display:inline-flex}.button:hover{transform:translateY(-3px)}.button--primary{background:var(--primary);color:var(--white)}.button--primary:hover{background:var(--primary-container)}.button--lime{background:var(--lime);color:var(--primary)}.button--lime:hover{background:var(--lime-hover)}.button--outline{border-color:var(--primary);color:var(--primary);background:0 0}.button--outline:hover{background:var(--surface-low)}.header-cta{min-height:2.55rem;padding:.68rem 1.25rem;font-size:.625rem}.button-arrow{transition:transform var(--transition)}.button:hover .button-arrow{transform:translate(.2rem)}.menu-toggle{border:1px solid var(--line);cursor:pointer;background:0 0;width:2.75rem;height:2.75rem;padding:0;display:none}.menu-close-icon,.menu-toggle[aria-expanded=true] .menu-open-icon{display:none}.menu-toggle[aria-expanded=true] .menu-close-icon{display:block}.mobile-menu{top:var(--header-height);z-index:45;padding:1.25rem var(--page-margin) 1.75rem;border-bottom:1px solid var(--line);background:var(--surface-lowest);position:fixed;left:0;right:0}.mobile-menu[hidden]{display:none}.mobile-menu ul{display:grid}.mobile-menu .nav-link{border-bottom:1px solid var(--line);padding-block:.9rem;display:block}.mobile-menu .button{width:100%;margin-top:1.25rem}.home-hero{min-height:calc(80vh - var(--header-height));grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(2.5rem,5vw,6rem);padding-top:clamp(4.5rem,8vw,8.75rem);padding-bottom:clamp(4.5rem,8vw,8.75rem);display:grid}.hero-copy{flex-direction:column;align-items:flex-start;gap:1.5rem;display:flex}.eyebrow,.section-label{color:var(--line-strong);font-size:var(--label);letter-spacing:.02em;align-items:center;gap:1rem;font-weight:500;display:flex}.section-label{letter-spacing:.1em;text-transform:uppercase;font-weight:600}.eyebrow:before,.section-label:before{background:var(--line);content:"";width:2rem;height:1px}.eyebrow:before{background:var(--line-strong);width:1rem}.home-title{max-width:12ch;color:var(--primary);font-family:var(--font-display);font-size:var(--display-lg);letter-spacing:-.045em;text-wrap:balance;font-weight:800;line-height:1.08}.hero-intro{max-width:38rem;color:var(--ink-muted);font-size:var(--body-lg);line-height:1.6}.cta-row{flex-wrap:wrap;gap:1rem;padding-top:.5rem;display:flex}.hero-media{border:1px solid var(--line);background:var(--surface);padding:.5rem;position:relative}.hero-media img{object-fit:cover;object-position:52% center;width:100%;height:clamp(28rem,44vw,37.5rem)}.hero-media>span{background:var(--lime);width:3rem;height:.25rem;position:absolute;top:1rem;left:1rem}.partner-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-lowest);padding-block:3.25rem}.partner-list{align-items:center;gap:var(--gutter);color:var(--ink-muted);grid-template-columns:repeat(6,minmax(0,1fr));margin-top:2.5rem;display:grid}.partner-list li{place-items:center;min-width:0;height:3.75rem;display:grid}.partner-list img{--logo-scale:1;object-fit:contain;filter:grayscale();opacity:.72;width:6.5rem;max-width:100%;height:2.5rem;transform:scale(var(--logo-scale));transition:filter var(--transition), opacity var(--transition), transform var(--transition)}.partner-logo--amee,.partner-logo--qualiprim{--logo-scale:1.08}.partner-logo--delassus{--logo-scale:1.32}.partner-logo--providence{--logo-scale:1.16}.partner-logo--laragel{--logo-scale:1.28}.partner-list img:hover{filter:grayscale(0);opacity:1;transform:translateY(-2px) scale(var(--logo-scale))}.expertise-section{padding-top:var(--section-space);padding-bottom:var(--section-space)}.expertise-grid{gap:var(--gutter);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:3rem;display:grid}.expertise-card{border:1px solid var(--line);min-height:19rem;transition:border-color var(--transition), background-color var(--transition), transform var(--transition);background:0 0;flex-direction:column;align-items:flex-start;gap:1rem;padding:clamp(1.75rem,3vw,3rem);display:flex}.expertise-card:hover{border-color:var(--primary);background:var(--surface-lowest);transform:translateY(-4px)}.expertise-number{color:#0000;font-family:var(--font-display);letter-spacing:-.04em;-webkit-text-stroke:1px var(--line);font-size:clamp(3.5rem,5vw,4.5rem);font-weight:800;line-height:1}.expertise-card h3{max-width:24ch;color:var(--primary);font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;font-size:clamp(1.4rem,2vw,2rem);font-weight:600;line-height:1.24}.expertise-card p{max-width:34rem;color:var(--ink-muted)}.strengths-section{padding-block:var(--section-space);border-top:1px solid var(--line);background:var(--surface-lowest)}.strengths-section .section-label{color:var(--primary)}.strengths-section .section-label:before{background:var(--primary)}.strengths-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2rem,5vw,5rem);margin-top:clamp(3.5rem,7vw,6rem);display:grid}.strengths-grid li{flex-direction:column;align-items:flex-start;gap:1.5rem;display:flex}.strength-number{color:var(--lime-hover);font-family:var(--font-display);font-size:var(--display-lg);letter-spacing:-.04em;font-weight:700;line-height:1}.strength-line{background:var(--line);width:100%;height:1px}.strengths-grid h3{max-width:27ch;color:var(--primary);font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;font-size:clamp(1.35rem,2.1vw,2rem);font-weight:600;line-height:1.25}.contact-main{padding-top:clamp(2rem,4vw,4rem);padding-bottom:var(--section-space)}.contact-grid{gap:var(--gutter);grid-template-columns:minmax(18rem,5fr) minmax(30rem,7fr);display:grid}.contact-details{padding-right:var(--gutter);border-right:1px solid var(--line)}.contact-side-intro{margin-bottom:clamp(2rem,4vw,4rem)}.contact-side-intro h1{max-width:10ch;color:var(--primary);font-family:var(--font-display);letter-spacing:-.045em;text-wrap:balance;font-size:clamp(2.75rem,4.5vw,4.75rem);font-weight:800;line-height:1.06}.contact-side-intro p{max-width:30rem;color:var(--ink-muted);font-size:var(--body-lg);margin-top:1.25rem}.contact-card,.contact-form-card{border:1px solid var(--line);background:var(--surface-lowest);padding:clamp(1.5rem,3vw,3rem);position:relative}.contact-card:before,.contact-form-card:before{background:var(--primary);content:"";width:.3rem;height:2rem;position:absolute;top:0;left:0}.contact-card h2{color:var(--primary);font-family:var(--font-display);font-size:var(--headline-md);font-weight:600}.contact-list{gap:1.5rem;margin-top:2rem;display:grid}.contact-list li{grid-template-columns:1.5rem 1fr;align-items:start;gap:.85rem;display:grid}.contact-list svg{color:var(--line-strong);margin-top:.1rem}.contact-label{color:var(--line-strong);font-size:var(--label);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.25rem;font-weight:600;display:block}.contact-list address{font-style:normal}.contact-list a{transition:color var(--transition)}.contact-list a:hover{color:var(--primary-container)}.contact-form{gap:1.25rem;display:grid}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.field{gap:.5rem;display:grid}.field label{color:var(--ink-muted);font-size:var(--label);letter-spacing:.1em;text-transform:uppercase;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--line-strong);background:var(--surface);width:100%;color:var(--ink);transition:border-color var(--transition), box-shadow var(--transition);border-radius:0}.field input,.field select{min-height:3.5rem;padding:.8rem 1rem}.field textarea{resize:vertical;min-height:10rem;padding:1rem}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary);outline:0}.contact-form .button{width:fit-content;margin-top:.75rem}.form-note{color:var(--ink-muted);font-size:.8rem}.site-footer{border-top:1px solid var(--line);background:var(--surface-container)}.footer-grid{grid-template-columns:1fr 2fr 1fr;gap:clamp(2rem,5vw,5rem);padding-top:5rem;padding-bottom:5rem;display:grid}.footer-brand p{max-width:18rem;color:var(--ink-muted);margin-top:1.5rem}.footer-heading{color:var(--primary);font-size:var(--label);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem;font-weight:700}.footer-links{color:var(--ink-muted);gap:.55rem;display:grid}.footer-links a{width:fit-content;transition:color var(--transition), transform var(--transition)}.footer-links a:hover{color:var(--primary);transform:translate(.25rem)}.footer-meta{color:var(--ink-muted);font-size:var(--label);letter-spacing:.1em;text-transform:uppercase;justify-content:flex-end;align-items:flex-end;font-weight:600;display:flex}@media (width<=70rem){.primary-nav,.header-cta{display:none}.header-inner{grid-template-columns:1fr auto}.menu-toggle{place-items:center;display:grid}.home-hero{gap:3rem}.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{grid-template-columns:1fr}.contact-details{padding-top:var(--gutter);border-top:1px solid var(--line);border-right:0;order:2;padding-right:0}.contact-side-intro{display:none}.contact-form-card{order:1}}@media (width<=48rem){.home-hero{grid-template-columns:1fr;min-height:auto;padding-top:4rem;padding-bottom:5rem}.home-title{font-size:clamp(2.5rem,12vw,3.5rem)}.cta-row,.cta-row .button{width:100%}.hero-media{margin-top:1rem}.hero-media img{height:min(120vw,32rem)}.partner-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem;display:grid}.partner-list li{height:3.75rem}.expertise-grid,.strengths-grid,.footer-grid{grid-template-columns:1fr}.expertise-card{min-height:17rem}.strengths-grid{gap:3.5rem}.contact-main{padding-top:2rem}.form-row{grid-template-columns:1fr}.contact-card,.contact-form-card{padding:1.5rem}.contact-form .button{width:100%}.footer-meta{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
