@font-face{font-family:Space Grotesk;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/space-grotesk-600.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/space-grotesk-700.woff2)format("woff2")}@font-face{font-family:Inter;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/inter-400.woff2)format("woff2")}@font-face{font-family:Inter;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/inter-500.woff2)format("woff2")}@font-face{font-family:Inter;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/inter-600.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/jetbrains-mono-500.woff2)format("woff2")}:root{--brand:#d52b1e;--brand-700:#a61e14;--brand-100:#fbe9e7;--glacier:#a9dceb;--ink:#14171f;--muted:#555b66;--surface:#fff;--surface-2:#f5f4f2;--line:#e2dfda;--on-brand:#fff;--sur-granit-doux:#c9cdd4;--display:"Space Grotesk", "Segoe UI", Arial, sans-serif;--sans:"Inter", "Segoe UI", Arial, sans-serif;--mono:"JetBrains Mono", Consolas, monospace;--space-2:8px;--space-4:16px;--space-6:24px;--space-12:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--largeur:1160px;--gouttiere:16px;--entete:68px;--focus:0 0 0 3px var(--surface), 0 0 0 5px var(--ink)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--entete) + 16px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}body{background:var(--surface);color:var(--ink);font:400 16px/24px var(--sans);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}img,svg{max-width:100%;display:block}h1,h2,h3,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}a{color:var(--brand-700);text-underline-offset:3px}a:hover{color:var(--ink)}:focus-visible{box-shadow:var(--focus);border-radius:var(--radius-sm);outline:none}main:focus{outline:none}h1,h2{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance}h1{font-size:clamp(2.375rem,6.4vw,3.5rem);font-weight:700;line-height:1.07}h2{font-size:clamp(1.625rem,3.6vw,2.25rem);font-weight:600;line-height:1.18}h3{font:600 20px/28px var(--sans)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.conteneur{width:100%;max-width:calc(var(--largeur) + 2 * var(--gouttiere));padding:0 var(--gouttiere);margin:0 auto}.conteneur--etroit{max-width:calc(760px + 2 * var(--gouttiere))}@media (width>=640px){:root{--gouttiere:24px}}.lien-evitement{z-index:100;background:var(--ink);color:var(--surface);border-radius:var(--radius-md);padding:10px 16px;position:absolute;top:-100px;left:16px}.lien-evitement:focus{color:var(--surface);top:12px}.points{background-color:var(--brand);background-image:radial-gradient(circle,#ffffff4d 1.6px,#0000 1.8px);background-position:12px 12px;background-size:24px 24px}.boutons{flex-wrap:wrap;gap:12px;display:flex}.bouton{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);min-height:48px;font:600 16px/1.2 var(--sans);text-align:center;border:2px solid #0000;padding:12px 20px;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.bouton--rouge{background:var(--brand);color:var(--on-brand)}.bouton--rouge:hover{background:var(--brand-700);color:var(--on-brand)}.bouton--contour{border-color:var(--ink);color:var(--ink)}.bouton--contour:hover{background:var(--ink);color:var(--surface)}.bouton--blanc{background:var(--surface);color:var(--ink)}.bouton--blanc:hover{background:var(--brand-100);color:var(--ink)}.bouton--granit{background:var(--ink);color:var(--surface)}.bouton--granit:hover{color:var(--surface);background:#2a2f3a}.bouton .icon{flex:none}.badge{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);background:var(--brand-100);color:var(--brand-700);font:500 14px/20px var(--sans);padding:6px 12px;display:inline-flex}.logo{color:var(--ink);border-radius:var(--radius-md);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.logo:hover{color:var(--ink)}.logo-symbole{flex:none;width:40px;height:40px}.logo-texte{flex-direction:column;display:flex}.logo-nom{font:700 23px/1 var(--display);letter-spacing:-.02em}.logo-sous{font:500 10px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:4px}.logo--sombre{color:var(--surface)}.logo--sombre .logo-sous{color:var(--sur-granit-doux)}.entete{z-index:50;border-bottom:1px solid var(--line);background:#fffffff5;position:sticky;top:0}.entete-inner{justify-content:space-between;align-items:center;gap:var(--space-6);min-height:var(--entete);display:flex}.menu-bouton{border-radius:var(--radius-md);width:48px;height:48px;color:var(--ink);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.menu-bouton .icon-fermer,.menu-bouton[aria-expanded=true] .icon-menu{display:none}.menu-bouton[aria-expanded=true] .icon-fermer{display:block}.menu{padding:8px var(--gouttiere) 24px;background:var(--surface);border-bottom:1px solid var(--line);display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 16px 24px -16px #14171f40}.menu.ouvert{display:block}.menu ul{flex-direction:column;margin-bottom:16px;display:flex}.menu li a{border-bottom:1px solid var(--line);color:var(--ink);padding:14px 4px;font-weight:500;text-decoration:none;display:block}.menu li a:hover{color:var(--brand-700)}.menu .bouton{width:100%}@media (width>=1140px){.menu-bouton{display:none}.menu{box-shadow:none;background:0 0;border:0;align-items:center;gap:28px;padding:0;display:flex;position:static}.menu ul{flex-direction:row;gap:28px;margin:0}.menu li a{border:0;padding:8px 2px}.menu .bouton{width:auto;min-height:44px;padding:10px 18px}}.section{padding:64px 0}@media (width>=960px){.section{padding:96px 0}}.section--pierre{background:var(--surface-2)}.section--granit{background:var(--ink);color:var(--surface)}.section h2{max-width:22ch;margin-bottom:40px}.heros{padding:48px 0 64px;overflow:hidden}.heros-grille{align-items:center;gap:56px;display:grid}.heros-texte{flex-direction:column;align-items:flex-start;gap:24px;display:flex}.heros h1{max-width:13ch}.heros-intro{max-width:34rem;color:var(--muted);font-size:18px;line-height:28px}.heros .boutons{margin-top:8px}.heros-visuel{min-height:340px;margin-right:8px;position:relative}.aplat{border-radius:var(--radius-lg);position:absolute;inset:0 0 0 48px}.fenetre{background:var(--surface);border-radius:var(--radius-lg);max-width:400px;position:absolute;top:50%;left:0;right:64px;overflow:hidden;transform:translateY(-50%);box-shadow:0 24px 48px -12px #14171f59}.fenetre-barre{background:var(--surface-2);border-bottom:1px solid var(--line);gap:6px;padding:12px 16px;display:flex}.fenetre-barre i{background:var(--line);border-radius:50%;width:10px;height:10px}.fenetre-corps{flex-direction:column;gap:12px;padding:20px;display:flex}.fenetre-entete{justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.ligne{background:var(--line);border-radius:5px;height:10px;display:block}.ligne--titre{background:var(--ink);opacity:.85;width:40%;height:14px}.ligne--80{width:80%}.ligne--70{width:70%}.ligne--60{width:60%}.etat{background:var(--glacier);color:var(--ink);font:500 12px/16px var(--mono);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.etat i{background:var(--ink);border-radius:50%;width:7px;height:7px}.fenetre-tuiles{grid-template-columns:repeat(3,1fr);gap:10px;margin:4px 0;display:grid}.fenetre-tuiles span{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);height:52px}.fenetre-tuiles span:first-child{background:var(--brand-100);border-color:var(--brand-100)}.pastille{background:var(--glacier);border:6px solid var(--surface);border-radius:50%;width:72px;height:72px;position:absolute;top:-14px;right:-14px}@media (width>=960px){.heros{padding:72px 0 104px}.heros-grille{grid-template-columns:1.05fr 1fr;gap:64px}.heros-visuel{min-height:460px}.aplat{left:72px}.fenetre{right:72px}.pastille{width:96px;height:96px;top:-20px;right:-20px}}.cartes{gap:var(--space-6);display:grid}@media (width>=768px){.cartes{grid-template-columns:repeat(3,1fr)}}.carte{padding:28px var(--space-6);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;gap:12px;display:flex}.carte-icone{border-radius:var(--radius-md);background:var(--brand-100);width:52px;height:52px;color:var(--brand);justify-content:center;align-items:center;margin-bottom:8px;display:inline-flex}.carte p{color:var(--muted)}.etapes{gap:32px var(--space-6);display:grid}@media (width>=640px){.etapes{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.etapes{grid-template-columns:repeat(4,1fr)}}.etape{border-top:2px solid var(--ink);flex-direction:column;gap:8px;padding-top:20px;display:flex}.etape-num{font:500 14px/20px var(--mono);color:var(--brand-700);letter-spacing:.04em;margin-bottom:4px}.etape p{color:var(--muted)}.pourquoi-grille{gap:48px;display:grid}@media (width>=960px){.pourquoi-grille{grid-template-columns:1.1fr 1fr;align-items:start;gap:80px}}.section--granit h2{margin-bottom:24px}.pourquoi-texte{max-width:34rem;color:var(--sur-granit-doux);font-size:18px;line-height:28px}.points-forts{flex-direction:column;gap:28px;display:flex}.points-forts li{gap:16px;display:flex}.points-forts h3{margin-bottom:4px}.points-forts p{color:var(--sur-granit-doux)}.coche{background:var(--glacier);width:32px;height:32px;color:var(--ink);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.coche .icon{stroke-width:2.5px}.section--contact{padding-top:64px}.bloc-contact{border-radius:var(--radius-lg);color:var(--on-brand);text-align:center;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;display:flex}.bloc-contact h2{max-width:20ch;margin:0 auto}.bloc-contact>p{max-width:34rem;font-size:18px;line-height:28px}.bloc-contact .boutons{justify-content:center;margin-top:16px}.bloc-contact :focus-visible{box-shadow:0 0 0 3px var(--brand), 0 0 0 5px var(--surface)}.contact-sans-js{font-weight:600}@media (width>=768px){.bloc-contact{padding:72px 48px}}.page-legale h1{margin-bottom:40px;font-size:clamp(2rem,5vw,2.75rem)}.page-legale h2{margin:32px 0 12px;font-size:22px;line-height:30px}.page-legale p{max-width:65ch;margin-bottom:8px}.page-legale p .bouton{margin-top:24px}.mise-a-jour{color:var(--muted);margin-top:40px;font-size:14px}.pied{background:var(--surface-2);border-top:1px solid var(--line);padding:40px 0}.pied-inner{flex-direction:column;gap:20px;display:flex}.pied-ligne{color:var(--muted);font-size:14px}.pied-liens{flex-wrap:wrap;gap:8px 24px;font-size:14px;display:flex}.pied-liens a{padding:4px 0;display:inline-block}@media (width>=960px){.pied-inner{flex-direction:row;justify-content:space-between;align-items:center}.pied-ligne{text-align:center;flex:1}}.intro{max-width:40rem;color:var(--muted);margin-bottom:40px;font-size:18px;line-height:28px}.section h2+.intro{margin-top:-24px}.section--granit .intro{color:var(--sur-granit-doux)}.badge--glacier{background:var(--glacier);color:var(--ink)}.badge--sombre{color:#ff8f86;background:#3a1714}.capture{border-radius:var(--radius-lg);width:100%;height:auto}.produits-grille{gap:var(--space-6);display:grid}@media (width>=900px){.produits-grille{grid-template-columns:repeat(2,1fr)}}.produit-carte{background:var(--ink);height:100%;color:var(--surface);border-radius:var(--radius-lg);flex-direction:column;transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.produit-carte:hover{transform:translateY(-2px);box-shadow:0 20px 40px -16px #14171f73}.produit-carte:focus-within{box-shadow:0 0 0 3px var(--surface), 0 0 0 5px var(--ink)}.produit-carte-visuel{padding:20px 20px 0}.produit-carte-visuel .capture{border-radius:var(--radius-md) var(--radius-md) 0 0;box-shadow:0 0 0 1px #30353f}.produit-carte-corps{flex-direction:column;align-items:flex-start;gap:8px;padding:24px;display:flex}.produit-carte-nom{font:700 32px/1.1 var(--display);letter-spacing:-.02em}.produit-carte-nom a{color:inherit;text-decoration:none}.produit-carte-nom a:after{content:"";position:absolute;inset:0}.produit-carte-nom a:focus-visible{box-shadow:none}.produit-carte-long{color:var(--sur-granit-doux);font:500 14px/20px var(--mono);margin-top:-4px}.produit-carte-corps>p:not(.badge):not(.produit-carte-long){color:var(--sur-granit-doux)}.produit-carte-lien{color:#ff8f86;align-items:center;gap:6px;margin-top:8px;font-weight:600;display:inline-flex}.page-produits h1{margin-bottom:16px}.page-produits .intro{margin-bottom:40px}.ppms-heros{background:var(--ink);color:var(--surface);padding:40px 0 64px;position:relative;overflow:hidden}.ppms-heros:before{content:"";background-color:var(--brand);width:12px;position:absolute;inset:0 auto 0 0}.ppms-heros-grille{align-items:center;gap:48px;display:grid}.ppms-heros-texte{flex-direction:column;align-items:flex-start;gap:20px;display:flex}.fil{color:var(--sur-granit-doux);font-size:14px}.fil a{color:var(--surface)}.fil a:hover{color:var(--glacier)}.ppms-heros h1{flex-direction:column;gap:8px;display:flex}.ppms-nom{font:700 clamp(4rem, 13vw, 7rem)/.9 var(--display);letter-spacing:-.03em}.ppms-nom-long{font:600 clamp(1.125rem, 2.4vw, 1.5rem)/1.3 var(--display);letter-spacing:-.01em;color:var(--sur-granit-doux);padding-top:14px;position:relative}.ppms-nom-long:before{content:"";background:var(--glacier);border-radius:2px;width:56px;height:4px;position:absolute;top:0;left:0}.ppms-accroche{font:600 clamp(1.25rem, 2.6vw, 1.625rem)/1.3 var(--display);max-width:26ch}.ppms-intro{max-width:34rem;color:var(--sur-granit-doux);font-size:18px;line-height:28px}.bouton--contour-clair{border-color:var(--surface);color:var(--surface)}.bouton--contour-clair:hover{background:var(--surface);color:var(--ink)}.ppms-heros :focus-visible,.section--granit :focus-visible,.produit-carte :focus-visible{box-shadow:0 0 0 3px var(--ink), 0 0 0 5px var(--surface)}.ppms-heros-visuel{padding:16px;position:relative}.ppms-heros-visuel .capture{border-radius:var(--radius-md);position:relative;box-shadow:0 24px 48px -12px #0009,0 0 0 1px #30353f}.cadre-lecture{--c:var(--brand);--l:40px;--e:4px;background:linear-gradient(var(--c), var(--c)) top left / var(--l) var(--e) no-repeat, linear-gradient(var(--c), var(--c)) top left / var(--e) var(--l) no-repeat, linear-gradient(var(--c), var(--c)) top right / var(--l) var(--e) no-repeat, linear-gradient(var(--c), var(--c)) top right / var(--e) var(--l) no-repeat, linear-gradient(var(--c), var(--c)) bottom left / var(--l) var(--e) no-repeat, linear-gradient(var(--c), var(--c)) bottom left / var(--e) var(--l) no-repeat, linear-gradient(var(--c), var(--c)) bottom right / var(--l) var(--e) no-repeat, linear-gradient(var(--c), var(--c)) bottom right / var(--e) var(--l) no-repeat;position:absolute;inset:0}@media (width>=960px){.ppms-heros{padding:56px 0 96px}.ppms-heros:before{width:24px}.ppms-heros-grille{grid-template-columns:1fr 1.15fr;gap:64px}}.cartes--4,.cartes--3{gap:var(--space-6);display:grid}@media (width>=640px){.cartes--4,.cartes--3{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.cartes--4{grid-template-columns:repeat(4,1fr)}.cartes--3{grid-template-columns:repeat(3,1fr)}}.carte--compacte{padding:24px}.chiffre-cle{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:12px;margin-top:40px;font-size:18px;display:flex}.chiffre-cle strong{font:500 clamp(2rem, 5vw, 2.75rem)/1 var(--mono);color:var(--brand-700)}.details{flex-direction:column;gap:72px;display:flex}.detail{align-items:center;gap:32px;display:grid}.detail h2{margin-bottom:24px}.surtitre{font:500 14px/20px var(--mono);color:var(--brand-700);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.detail-visuel .capture{box-shadow:0 20px 40px -16px #14171f59, 0 0 0 1px var(--line);border-radius:var(--radius-md)}.detail--portrait .detail-visuel{justify-self:center;width:100%;max-width:420px}@media (width>=960px){.details{gap:104px}.detail{grid-template-columns:1fr 1.25fr;gap:64px}.detail--inverse .detail-texte{order:2}.detail--portrait{grid-template-columns:1.25fr 1fr}}.liste-coches{flex-direction:column;gap:12px;display:flex}.liste-coches li{align-items:flex-start;gap:12px;display:flex}.liste-coches .icon{color:var(--brand);stroke-width:2.5px;flex:none;margin-top:3px}.points-forts--grille{gap:32px var(--space-6);display:grid}@media (width>=768px){.points-forts--grille{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.points-forts--grille{grid-template-columns:repeat(3,1fr)}}.deux-colonnes{gap:56px;display:grid}@media (width>=960px){.deux-colonnes{grid-template-columns:1fr 1fr;align-items:start;gap:80px}}.chiffres{border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px 24px}.section .chiffres-titre{margin-bottom:24px;font-size:22px;line-height:30px}.chiffres ul{grid-template-columns:repeat(2,1fr);gap:28px 24px;display:grid}.chiffres li{flex-direction:column;gap:6px;display:flex}.chiffres strong{font:500 clamp(1.75rem, 4vw, 2.25rem)/1 var(--mono);color:var(--brand-700)}.chiffres span{color:var(--muted);font-size:15px;line-height:22px}.note{color:var(--muted);margin-top:24px;font-size:14px;line-height:20px}.installation{flex-direction:column;gap:24px;display:flex}.installation li{border-left:2px solid var(--ink);padding-left:20px}.installation h3{margin-bottom:4px}.installation p{color:var(--muted)}.licence{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px 24px}.section .licence h2{margin-bottom:16px;font-size:24px;line-height:32px}.licence>p{color:var(--muted)}.licence h3{margin:24px 0 12px;font-size:16px;line-height:24px}.modules{flex-wrap:wrap;gap:8px;display:flex}.modules li{border-radius:var(--radius-sm);background:var(--brand-100);color:var(--brand-700);font:500 14px/20px var(--sans);padding:6px 12px}.licence-prix{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;font-weight:600;color:var(--ink)!important}.mention-captures{text-align:center;color:var(--muted);margin-top:24px;font-size:14px}@media (width>=900px){.produits-grille>li:only-child{grid-column:1/-1}.produits-grille>li:only-child .produit-carte{grid-template-columns:1.3fr 1fr;align-items:center;display:grid}.produits-grille>li:only-child .produit-carte-visuel{padding:24px 0 24px 24px}.produits-grille>li:only-child .produit-carte-visuel .capture{border-radius:var(--radius-md)}.produits-grille>li:only-child .produit-carte-corps{padding:32px 40px}}.realisations{gap:var(--space-6);display:grid}@media (width>=900px){.realisations{grid-template-columns:repeat(2,1fr)}}.realisation{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.navigateur{background:var(--surface-2);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 14px;display:flex}.navigateur-points{gap:6px;display:flex}.navigateur-points i{background:var(--line);border-radius:50%;width:10px;height:10px}.navigateur-adresse{border-radius:var(--radius-sm);background:var(--surface);max-width:260px;color:var(--muted);font:500 12px/18px var(--mono);flex:1;padding:3px 10px}.realisation .capture{border-radius:0}.realisation-corps{flex-direction:column;flex:1;align-items:flex-start;gap:12px;padding:24px;display:flex}.realisation-corps .surtitre{margin:0}.realisation-corps h3{font:700 26px/1.15 var(--display);letter-spacing:-.02em}.realisation-corps>p:not(.surtitre){color:var(--muted)}.realisation-lien{align-items:center;gap:6px;margin-top:auto;padding-top:8px;font-weight:600;display:inline-flex}
