:root{--couleur-noir: #0a0a0a;--couleur-noir-doux: #151515;--couleur-anthracite: #1f1f1f;--couleur-or: #d4af37;--couleur-or-clair: #e8c968;--couleur-or-fonce: #a9821f;--couleur-blanc: #ffffff;--couleur-texte: #2a2a2a;--couleur-texte-clair: #f4f1e9;--couleur-gris: #6b6b6b;--couleur-gris-clair: #f6f5f2;--couleur-bordure: #e6e2d8;--police-titres: "Oswald", "Arial Narrow", sans-serif;--police-corps: "Montserrat", system-ui, -apple-system, sans-serif;--rayon: 10px;--ombre: 0 10px 30px rgba(0, 0, 0, .12);--transition: .25s ease;--largeur-max: 1200px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--police-corps);color:var(--couleur-texte);background:var(--couleur-blanc);line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,h4{font-family:var(--police-titres);text-transform:uppercase;letter-spacing:.02em;line-height:1.2;margin:0 0 .6em;color:var(--couleur-noir)}h1{font-size:clamp(2rem,5vw + 1rem,3.4rem)}h2{font-size:clamp(1.6rem,3vw + 1rem,2.4rem)}h3{font-size:1.15rem}p{margin:0 0 1em;color:var(--couleur-gris)}button{font-family:inherit}.conteneur{width:100%;max-width:var(--largeur-max);margin:0 auto;padding:0 20px}.site-wrapper{overflow-x:hidden}.lien-evitement{position:absolute;left:-999px;top:0;background:var(--couleur-or);color:var(--couleur-noir);padding:10px 16px;z-index:200;font-weight:600}.lien-evitement:focus{left:10px;top:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:999px;font-weight:700;font-family:var(--police-titres);text-transform:uppercase;letter-spacing:.04em;font-size:.9rem;border:2px solid transparent;cursor:pointer;transition:transform var(--transition),background var(--transition),color var(--transition),border-color var(--transition);white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn--primary{background:linear-gradient(135deg,var(--couleur-or-clair),var(--couleur-or-fonce));color:var(--couleur-noir)}.btn--primary:hover{filter:brightness(1.08)}.btn--ghost{background:transparent;border-color:var(--couleur-or);color:var(--couleur-or)}.btn--outline-light{background:transparent;border-color:#fff9;color:var(--couleur-texte-clair)}.btn--outline-light:hover{border-color:var(--couleur-or);color:var(--couleur-or)}.site-header{position:sticky;top:0;z-index:100;background:#0a0a0af2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid rgba(212,175,55,.25);transition:background var(--transition)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;padding:10px 20px}.site-header__brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.site-header__logo{border-radius:8px;object-fit:cover}.site-header__brand-text{display:flex;flex-direction:column;line-height:1.15}.site-header__brand-name{font-family:var(--police-titres);color:var(--couleur-or);font-weight:700;font-size:1.05rem;text-transform:uppercase;letter-spacing:.03em}.site-header__brand-tagline{color:var(--couleur-texte-clair);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;opacity:.75}.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:transparent;border:none;cursor:pointer;z-index:110;padding:0}.hamburger span{display:block;height:2px;width:100%;background:var(--couleur-or);transition:transform var(--transition),opacity var(--transition)}.hamburger--ouvert span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger--ouvert span:nth-child(2){opacity:0}.hamburger--ouvert span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.site-nav{position:fixed;inset:0 0 0 auto;width:min(80vw,320px);height:100vh;background:var(--couleur-noir-doux);padding:90px 28px 40px;transform:translate(100%);transition:transform var(--transition);overflow-y:auto}.site-nav--ouvert{transform:translate(0)}.site-nav ul{display:flex;flex-direction:column;gap:4px;margin-bottom:28px}.site-nav a{display:block;padding:12px 0;color:var(--couleur-texte-clair);font-family:var(--police-titres);text-transform:uppercase;letter-spacing:.03em;font-size:1rem;border-bottom:1px solid rgba(255,255,255,.08);transition:color var(--transition)}.site-nav a.active,.site-nav a:hover{color:var(--couleur-or)}.site-nav__cta{width:100%}@media (min-width: 900px){.hamburger{display:none}.site-nav{position:static;width:auto;height:auto;background:transparent;padding:0;transform:none;display:flex;align-items:center;gap:28px;overflow:visible}.site-nav ul{flex-direction:row;gap:24px;margin-bottom:0}.site-nav a{padding:6px 0;border-bottom:none;font-size:.85rem;position:relative}.site-nav a:after{content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--couleur-or);transition:width var(--transition)}.site-nav a.active:after,.site-nav a:hover:after{width:100%}.site-nav__cta{width:auto;padding:10px 22px}}.hero{position:relative;background:radial-gradient(circle at top right,#1a1a1a,var(--couleur-noir) 65%);color:var(--couleur-texte-clair);padding:70px 0 80px;text-align:center}.hero__inner{display:flex;flex-direction:column;align-items:center}.hero__logo{width:96px;height:96px;border-radius:16px;margin-bottom:24px;box-shadow:0 0 0 1px #d4af3759,var(--ombre)}.hero h1{color:var(--couleur-texte-clair);max-width:900px}.hero h1 span{color:var(--couleur-or)}.hero p{max-width:640px;color:#f4f1e9cc;font-size:1.05rem}.hero__actions{display:flex;flex-direction:column;gap:14px;width:100%;max-width:320px;margin-top:12px}@media (min-width: 640px){.hero__actions{flex-direction:row;max-width:none;justify-content:center}}.section{padding:64px 0}.section--sombre{background:var(--couleur-gris-clair)}.section-heading{margin-bottom:40px;max-width:720px}.section-heading--centre{margin-left:auto;margin-right:auto;text-align:center}.section-heading__eyebrow{display:inline-block;color:var(--couleur-or-fonce);font-family:var(--police-titres);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:600;margin-bottom:10px}.page-hero{background:var(--couleur-noir);color:var(--couleur-texte-clair);padding:56px 0;text-align:center}.page-hero__eyebrow{display:inline-block;color:var(--couleur-or);font-family:var(--police-titres);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;margin-bottom:10px}.page-hero h1{color:var(--couleur-texte-clair);max-width:820px;margin-left:auto;margin-right:auto}.page-hero p{max-width:640px;margin:0 auto;color:#f4f1e9bf}.grille{display:grid;gap:28px}.grille--2,.grille--3,.grille--4{grid-template-columns:1fr}.grille--align-centre{align-items:center}@media (min-width: 640px){.grille--2,.grille--4{grid-template-columns:repeat(2,1fr)}}@media (min-width: 900px){.grille--3{grid-template-columns:repeat(3,1fr)}.grille--4{grid-template-columns:repeat(4,1fr)}}.service-card{background:var(--couleur-blanc);border:1px solid var(--couleur-bordure);border-radius:var(--rayon);padding:28px 24px;display:block;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.service-card:hover{transform:translateY(-4px);box-shadow:var(--ombre);border-color:var(--couleur-or)}.service-card__icone{font-size:2rem;display:inline-block;margin-bottom:12px}.service-card h3{margin-bottom:8px}.service-card p{margin-bottom:10px;font-size:.94rem}.service-card__lien{color:var(--couleur-or-fonce);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}.service-detail-card{background:var(--couleur-blanc);border-left:4px solid var(--couleur-or);border-radius:6px;padding:22px 24px;box-shadow:0 4px 16px #0000000d}.section--sombre .service-detail-card{background:var(--couleur-blanc)}.stats-band{background:var(--couleur-noir);padding:40px 0}.stats-band__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;text-align:center}.stat-block{display:flex;flex-direction:column;gap:6px}.stat-block__chiffre{font-family:var(--police-titres);color:var(--couleur-or);font-size:clamp(1.3rem,2.4vw,1.8rem);font-weight:700;text-transform:uppercase}.stat-block__libelle{color:#f4f1e9b3;font-size:.82rem}@media (min-width: 900px){.stats-band__grid{grid-template-columns:repeat(4,1fr)}}.liste-avantages{display:flex;flex-direction:column;gap:22px}.liste-avantages h3{color:var(--couleur-noir);margin-bottom:4px;font-size:1.05rem}.liste-avantages p{margin:0;font-size:.94rem}.grille-images{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grille-images img:first-child{grid-column:1 / -1;border-radius:var(--rayon);aspect-ratio:16 / 9;object-fit:cover}.grille-images img:not(:first-child){border-radius:var(--rayon);aspect-ratio:1 / 1;object-fit:cover}.valeur-card{background:var(--couleur-blanc);border-radius:var(--rayon);padding:24px;text-align:center;border:1px solid var(--couleur-bordure)}.apropos__logo-bloc{display:flex;justify-content:center}.apropos__logo-bloc img{max-width:260px;border-radius:var(--rayon);box-shadow:var(--ombre)}.tags-villes{display:flex;flex-wrap:wrap;gap:10px}.tag-ville{background:var(--couleur-gris-clair);border:1px solid var(--couleur-bordure);color:var(--couleur-texte);padding:8px 16px;border-radius:999px;font-size:.85rem;font-weight:600}.cta-band{background:linear-gradient(120deg,#12100a,var(--couleur-noir));color:var(--couleur-texte-clair);padding:50px 0}.cta-band__inner{display:flex;flex-direction:column;gap:24px;align-items:flex-start}.cta-band h2{color:var(--couleur-texte-clair);margin-bottom:8px}.cta-band p{color:#f4f1e9bf;margin:0}.cta-band__actions{display:flex;flex-direction:column;gap:12px;width:100%}@media (min-width: 720px){.cta-band__inner{flex-direction:row;align-items:center;justify-content:space-between}.cta-band__actions{flex-direction:row;width:auto}}.etapes{display:grid;grid-template-columns:1fr;gap:24px;counter-reset:etape}.etapes li{background:var(--couleur-gris-clair);border-radius:var(--rayon);padding:26px 22px;position:relative}.etapes__numero{display:block;font-family:var(--police-titres);color:var(--couleur-or);font-size:1.6rem;font-weight:700;margin-bottom:8px}.etapes li h3{margin-bottom:6px}.etapes li p{margin:0;font-size:.92rem}@media (min-width: 900px){.etapes{grid-template-columns:repeat(5,1fr)}}.filtres-galerie{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}.filtre-btn{background:var(--couleur-blanc);border:1px solid var(--couleur-bordure);color:var(--couleur-texte);padding:10px 20px;border-radius:999px;cursor:pointer;font-weight:600;font-size:.85rem;transition:background var(--transition),color var(--transition),border-color var(--transition)}.filtre-btn:hover{border-color:var(--couleur-or)}.filtre-btn--actif{background:var(--couleur-noir);border-color:var(--couleur-noir);color:var(--couleur-or)}.project-card{margin:0;border-radius:var(--rayon);overflow:hidden;border:1px solid var(--couleur-bordure);background:var(--couleur-blanc)}.project-card__image-wrap{aspect-ratio:4 / 3;overflow:hidden}.project-card__image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.project-card:hover .project-card__image-wrap img{transform:scale(1.05)}.project-card figcaption{padding:18px 20px}.project-card__categorie{color:var(--couleur-or-fonce);text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:.06em}.project-card h3{margin:6px 0 4px;font-size:1rem}.project-card p{margin:0;font-size:.88rem}.note-placeholder{margin-top:24px;font-size:.8rem;color:var(--couleur-gris);font-style:italic}.contact-grille{align-items:start}.contact-infos__liste{display:flex;flex-direction:column;gap:18px;margin-bottom:32px}.contact-infos__liste li{display:flex;flex-direction:column;gap:2px}.contact-infos__liste strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--couleur-or-fonce)}.contact-infos__horaires-titre{margin-bottom:12px}.contact-infos__horaires{display:flex;flex-direction:column;gap:8px;margin-bottom:28px}.contact-infos__horaires li{display:flex;justify-content:space-between;border-bottom:1px dashed var(--couleur-bordure);padding-bottom:6px;font-size:.92rem}.contact-map{border-radius:var(--rayon);overflow:hidden;border:1px solid var(--couleur-bordure);aspect-ratio:4 / 3}.contact-map iframe{width:100%;height:100%;border:0}.formulaire-contact{background:var(--couleur-gris-clair);padding:28px 24px;border-radius:var(--rayon);border:1px solid var(--couleur-bordure)}.formulaire-contact h2{margin-bottom:18px}.formulaire-contact__succes{background:#eaf6ec;color:#1f6b33;padding:12px 16px;border-radius:8px;font-size:.9rem}.champ{margin-bottom:18px;display:flex;flex-direction:column;gap:6px}.champ label{font-size:.85rem;font-weight:600;color:var(--couleur-texte)}.champ input,.champ select,.champ textarea{font-family:inherit;font-size:.95rem;padding:12px 14px;border-radius:8px;border:1px solid var(--couleur-bordure);background:var(--couleur-blanc);color:var(--couleur-texte);resize:vertical}.champ input:focus,.champ select:focus,.champ textarea:focus{outline:2px solid var(--couleur-or);outline-offset:1px}.champ__erreur{color:#b3261e;font-size:.8rem}.formulaire-contact__submit{width:100%;margin-top:6px}.site-footer{background:var(--couleur-noir);color:#f4f1e9cc;padding:56px 0 0}.site-footer__grid{display:grid;grid-template-columns:1fr;gap:32px;padding-bottom:40px}.site-footer__brand{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:var(--couleur-or);font-family:var(--police-titres);font-weight:700;text-transform:uppercase;font-size:1rem}.site-footer__logo{border-radius:8px}.site-footer p{color:#f4f1e9a6;font-size:.88rem}.site-footer h3{color:var(--couleur-texte-clair);font-size:.95rem;margin-bottom:16px}.site-footer__links,.site-footer__contact{display:flex;flex-direction:column;gap:10px;font-size:.9rem}.site-footer__links a,.site-footer__contact a{transition:color var(--transition)}.site-footer__links a:hover,.site-footer__contact a:hover{color:var(--couleur-or)}.site-footer__rbq{color:#f4f1e98c;font-size:.8rem}.site-footer__social{display:flex;gap:16px;font-size:.85rem;font-weight:600}.site-footer__social a:hover{color:var(--couleur-or)}.site-footer__bottom{border-top:1px solid rgba(255,255,255,.08);padding:20px;display:flex;flex-direction:column;gap:6px;font-size:.78rem;color:#f4f1e980}@media (min-width: 720px){.site-footer__grid{grid-template-columns:2fr 1fr 1fr 1.2fr}.site-footer__bottom{flex-direction:row;justify-content:space-between}}.page-404{text-align:center;padding:120px 0}.page-404 h1{font-size:4rem;color:var(--couleur-or-fonce)}@media (max-width: 639px){.conteneur{padding:0 16px}}
