/* ===== TRADE ACCENT — change this single variable per trade page ===== */
:root{
  --bleu:#1A2744;--bleu-deep:#131E35;--bleu-light:#1F2F50;--or:#C8956C;--blanc:#FAFAF8;--gris:#8C8C84;--rouge:#C4483E;--vert:#3A7D5C;
  /* ACCENT — SERRURIER = or-laiton. Change to #5EAFC0 for plombier, #F5C542 for electricien etc. */
  --accent:#D4A76A;
  --accent-rgb:212,167,106;
  --accent-glow:rgba(212,167,106,.08);
  --accent-border:rgba(212,167,106,.15);
  --accent-border-hover:rgba(212,167,106,.35);
  --accent-subtle:rgba(212,167,106,.05);
  --accent-bg:rgba(212,167,106,.08);
}
*{margin:0;padding:0;box-sizing:border-box}
.mobile-only{display:none}
@media(max-width:900px){.desktop-only{display:none}.mobile-only{display:inline}}
html{scroll-behavior:smooth;overflow-x:hidden}
.nous{color:var(--or);font-weight:inherit}
.hero .nous,.hero-atmosphere .nous{color:var(--blanc)}
body{font-family:'Outfit',sans-serif;background:var(--bleu);color:var(--blanc);overflow-x:hidden;-webkit-font-smoothing:antialiased}

@keyframes fadeUp{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(var(--accent-rgb),.4)}70%{transform:scale(1.05);box-shadow:0 0 0 12px rgba(var(--accent-rgb),0)}}

/* TRADE HERO ATMOSPHERE — gradient glow + SVG pattern */
.hero-atmosphere{position:relative;overflow:hidden}
.hero-atmosphere::before{content:'';position:absolute;top:-20%;right:-10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(var(--accent-rgb),.08) 0%,transparent 70%);pointer-events:none;z-index:0}
.hero-atmosphere::after{content:'';position:absolute;bottom:-10%;left:-5%;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(var(--accent-rgb),.04) 0%,transparent 70%);pointer-events:none;z-index:0}

/* TRADE PATTERN — unique SVG per trade. Serrurier = keyhole grid */
.trade-pattern{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:0;opacity:.018;background-repeat:repeat;background-size:120px 120px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Ccircle cx='60' cy='40' r='14' fill='none' stroke='%23D4A76A' stroke-width='1'/%3E%3Crect x='56' y='52' width='8' height='20' rx='2' fill='none' stroke='%23D4A76A' stroke-width='1'/%3E%3Ccircle cx='60' cy='40' r='5' fill='none' stroke='%23D4A76A' stroke-width='.5'/%3E%3C/svg%3E")}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.2rem 2rem;display:flex;align-items:center;justify-content:space-between;transition:all .4s}
.nav.scrolled{background:rgba(19,30,53,.95);backdrop-filter:blur(12px);padding:.8rem 2rem;box-shadow:0 4px 20px rgba(0,0,0,.2)}
.nav-logo{font-family:'DM Serif Display',serif;font-size:1.4rem;color:var(--blanc);text-decoration:none;letter-spacing:-.5px}
.nav-logo .d{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);vertical-align:baseline;margin:0 1px 2px 1px}
.nav-links{display:flex;align-items:center;gap:1.5rem}
.nav-links a{color:rgba(250,250,248,.6);text-decoration:none;font-size:.8rem;font-weight:400;transition:color .3s}
.nav-links a:hover{color:var(--blanc)}
.nav-cta{padding:.55rem 1.2rem;background:var(--accent);color:var(--bleu-deep);font-weight:700;font-size:.75rem;letter-spacing:.5px;text-decoration:none;text-transform:uppercase;transition:all .3s;font-family:'JetBrains Mono',monospace}
.nav-cta:hover{background:var(--blanc);color:var(--bleu-deep)}
.nav-cta-mobile{display:none}
.nav-phone{color:var(--accent);text-decoration:none;font-family:'JetBrains Mono',monospace;font-size:.8rem;font-weight:500;transition:color .3s}
.nav-phone:hover{color:var(--blanc)}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--blanc);margin:5px 0;transition:all .3s}

/* BREADCRUMB */
.breadcrumb{padding:5rem 4rem 0;max-width:1100px;margin:0 auto;font-family:'JetBrains Mono',monospace;font-size:.6rem;color:rgba(250,250,248,.3);letter-spacing:.5px;position:relative;z-index:1}
.breadcrumb a{color:rgba(250,250,248,.4);text-decoration:none;transition:color .3s}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb span{margin:0 .5rem;opacity:.3}

/* HERO */
.hero{padding:2rem 4rem 5rem;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.3fr .7fr;gap:4rem;align-items:start;position:relative;z-index:1}
.hero::before{content:attr(data-trade);font-family:'Outfit',sans-serif;font-weight:900;font-size:clamp(6rem,12vw,12rem);color:rgba(var(--accent-rgb),.025);position:absolute;top:50%;right:-3%;transform:translateY(-50%);line-height:.8;pointer-events:none;white-space:nowrap}
.hero-bg-pattern{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.06;background-size:80px 100px;background-repeat:repeat}
.hero-left{position:relative;z-index:1}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem 1.1rem;background:rgba(var(--accent-rgb),.1);border:1px solid rgba(var(--accent-rgb),.2);font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem}
.hero-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--vert);animation:pulse 2s infinite}
h1{font-family:'DM Serif Display',serif;font-size:clamp(2.2rem,4.5vw,3.2rem);line-height:1.12;letter-spacing:-1px;margin-bottom:.5rem}
h1 .dot{color:var(--accent)}
.hero-slogan{font-family:'Outfit',sans-serif;font-weight:800;font-size:clamp(1.2rem,2.5vw,1.8rem);color:var(--accent);text-transform:uppercase;letter-spacing:-.5px;line-height:1.15;margin-bottom:1.5rem}
.hero-text{font-weight:300;font-size:1rem;color:rgba(250,250,248,.65);line-height:1.85;max-width:480px;margin-bottom:2rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:1rem 2rem;font-weight:700;font-size:.85rem;letter-spacing:.5px;text-decoration:none;border:none;cursor:pointer;transition:all .3s;text-transform:uppercase}
.btn-accent{background:var(--accent);color:var(--bleu-deep)}
.btn-accent:hover{background:var(--blanc);transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.2)}
.btn-accent::after{content:'→';transition:transform .3s}
.btn-accent:hover::after{transform:translateX(4px)}
.btn-ghost{background:transparent;color:var(--blanc);border:1px solid rgba(250,250,248,.12)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.hero-trust{display:flex;gap:1.5rem;flex-wrap:wrap}
.hero-trust-item{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:rgba(250,250,248,.3)}
.hero-trust-item .n{color:var(--accent);font-weight:600;font-size:.75rem}

/* HERO RIGHT — DISPATCH BOX */
.dispatch{background:var(--bleu-deep);border:1px solid var(--accent-border);padding:2.5rem;position:relative;z-index:1;box-shadow:0 0 40px rgba(var(--accent-rgb),.04)}
.dispatch-title{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem}
.dispatch-step{display:flex;align-items:flex-start;gap:1rem;padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.04)}
.dispatch-step:last-child{border-bottom:none}
.dispatch-num{width:28px;height:28px;border-radius:50%;background:rgba(var(--accent-rgb),.12);display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:.65rem;color:var(--accent);flex-shrink:0;margin-top:.1rem}
.dispatch-text{font-size:.8rem;font-weight:300;color:rgba(250,250,248,.6);line-height:1.5}
.dispatch-text strong{color:var(--blanc);font-weight:600}

/* SECTION DEFAULTS */
.sec{padding:5rem 4rem;max-width:1100px;margin:0 auto;position:relative;z-index:1}
.sec-full{padding:5rem 4rem;max-width:100%;position:relative;z-index:1}
.sec-deep{background:var(--bleu-deep)}
.sec-white{background:var(--blanc);color:var(--bleu)}
.lb{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:5px;text-transform:uppercase;color:var(--accent);margin-bottom:.8rem}
.st{font-family:'DM Serif Display',serif;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.2;margin-bottom:.8rem}
.lead{font-weight:300;color:rgba(250,250,248,.65);font-size:1rem;max-width:550px;line-height:1.85;margin-bottom:2.5rem}
.sec-white .lead{color:var(--gris)}
.sec-white .st{color:var(--bleu)}

/* PRESTATIONS */
.presta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.presta{padding:2rem;border:1px solid rgba(255,255,255,.05);transition:all .3s;position:relative}
.presta:hover{background:var(--accent-subtle)}
.presta::before{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transition:transform .3s;transform-origin:left}
.presta:hover::before{transform:scaleX(1)}
.presta-icon{width:28px;height:28px;color:var(--accent);margin-bottom:.75rem}
.presta-icon svg{width:100%;height:100%}
.presta h3{font-family:'DM Serif Display',serif;font-size:1.05rem;margin-bottom:.4rem}
.presta p{font-weight:300;font-size:.8rem;color:rgba(250,250,248,.4);line-height:1.6}
.presta-price{font-size:.75rem;color:var(--accent);margin-top:.5rem;font-weight:500}

/* PRICING TABLE */
.price-table{width:100%;border-collapse:collapse;margin-top:2rem}
.price-table thead th{text-align:left;padding:1rem;font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:2px;text-transform:uppercase;border-bottom:2px solid var(--accent-border-hover)}
.sec-white .price-table thead th{color:var(--bleu);border-color:var(--bleu)}
.price-table tbody td{padding:1rem;border-bottom:1px solid rgba(255,255,255,.05);font-size:.9rem;font-weight:300;color:rgba(250,250,248,.7);vertical-align:top}
.sec-white .price-table tbody td{color:var(--bleu);border-color:rgba(26,39,68,.08)}
.price-table .price{font-family:'JetBrains Mono',monospace;font-weight:600;color:var(--accent);font-size:.9rem;white-space:nowrap}
.sec-white .price-table .price{color:var(--or)}
.price-table .detail{font-size:.75rem;color:rgba(250,250,248,.35);margin-top:.2rem;display:block}
.sec-white .price-table .detail{color:var(--gris)}
.price-note{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:var(--or);margin-top:1.5rem;letter-spacing:.5px;line-height:1.6}

/* IMAGE PLACEHOLDER */
.img-block{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:3rem 0}
.img-placeholder{aspect-ratio:4/3;background:var(--bleu-deep);border:1px solid rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:.6rem;color:rgba(250,250,248,.15);letter-spacing:2px;text-transform:uppercase;position:relative;overflow:hidden}
.img-placeholder::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--accent-subtle) 0%,transparent 60%)}
.img-caption{font-size:.7rem;color:rgba(250,250,248,.3);margin-top:.5rem;font-style:italic}
.sec-white .img-placeholder{background:rgba(26,39,68,.03);border-color:rgba(26,39,68,.06);color:rgba(26,39,68,.12)}
.sec-white .img-caption{color:var(--gris)}

/* CONTENT BLOCK */
.content-2col{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.seo-scene-layout{display:grid;grid-template-columns:1fr 300px;gap:3rem;align-items:start}
.seo-scene-aside{position:sticky;top:6rem;padding:2rem;background:rgba(var(--accent-rgb),.04);border:1px solid rgba(var(--accent-rgb),.1);border-radius:4px;text-align:center}
.seo-scene-svg{width:100%;max-width:220px;height:auto;opacity:.8;filter:drop-shadow(0 0 24px rgba(var(--accent-rgb),.2));margin:0 auto}
.seo-scene-aside .scene-label{font-family:'JetBrains Mono',monospace;font-size:.55rem;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-top:1.2rem;opacity:.7}
.seo-content-full h2{font-family:'DM Serif Display',serif;font-size:1.7rem;margin-bottom:1.2rem;margin-top:2.5rem;line-height:1.3;color:var(--blanc)}
.seo-content-full h3{font-family:'DM Serif Display',serif;font-size:1.35rem;margin-bottom:1rem;line-height:1.3;color:rgba(250,250,248,.9)}
.seo-content-full p{font-weight:300;font-size:.95rem;color:rgba(250,250,248,.7);line-height:1.9;margin-bottom:1.2rem}
.seo-content-full ul{padding-left:1.5rem;margin-bottom:1.2rem}
.seo-content-full li{font-weight:300;font-size:.95rem;color:rgba(250,250,248,.7);line-height:1.9;margin-bottom:.4rem}
.seo-content-full strong{color:var(--blanc);font-weight:500}
.content-text h2{font-family:'DM Serif Display',serif;font-size:1.7rem;margin-bottom:1.2rem;margin-top:2.5rem;line-height:1.3;color:var(--blanc)}
.content-text h3{font-family:'DM Serif Display',serif;font-size:1.35rem;margin-bottom:1rem;line-height:1.3;color:rgba(250,250,248,.9)}
.content-text p{font-weight:300;font-size:.95rem;color:rgba(250,250,248,.7);line-height:1.9;margin-bottom:1.2rem}
.sec-white .content-text p{color:var(--gris)}
.sec-white .content-text h2{color:var(--bleu)}
.sec-white .content-text h3{color:var(--bleu)}
.content-text p strong{color:var(--blanc);font-weight:600}
.content-text ul,.content-text ol{font-weight:300;font-size:.95rem;color:rgba(250,250,248,.7);line-height:1.9;margin-bottom:1.2rem;padding-left:1.5rem}
.content-text li{margin-bottom:.5rem}
.sec-white .content-text ul,.sec-white .content-text ol{color:var(--gris)}
.sec-white .content-text p strong{color:var(--bleu)}

/* FAQ */
.faq-item{border-bottom:1px solid rgba(255,255,255,.05);padding:1.5rem 0;cursor:pointer;transition:all .3s}
.sec-white .faq-item{border-color:rgba(26,39,68,.08)}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-q h3{font-family:'DM Serif Display',serif;font-size:1.05rem;line-height:1.3;transition:color .3s}
.faq-item:hover .faq-q h3{color:var(--or)}
.faq-toggle{font-family:'DM Serif Display',serif;font-size:1.5rem;color:var(--or);transition:transform .3s;flex-shrink:0}
.faq-item.open .faq-toggle{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease}
.faq-item.open .faq-a{max-height:300px;padding-top:1rem}
.faq-a p{font-weight:300;font-size:.95rem;color:rgba(250,250,248,.7);line-height:1.9;max-width:700px}
.sec-white .faq-a p{color:var(--gris)}

/* AVIS */
.avis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}
.avis{padding:2rem;background:var(--bleu-deep);border:1px solid rgba(255,255,255,.04);transition:all .3s}
.avis:hover{border-color:var(--accent-border-hover)}
.avis-stars{color:var(--accent);font-size:.8rem;letter-spacing:1px;margin-bottom:.8rem}
.avis-text{font-family:'DM Serif Display',serif;font-size:.95rem;font-style:italic;line-height:1.5;margin-bottom:1rem;color:rgba(250,250,248,.8)}
.avis-author{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:rgba(250,250,248,.3);letter-spacing:1px}

/* MAILLAGE INTERNE */
.maillage-title{font-family:'DM Serif Display',serif;font-size:1.1rem;margin-bottom:1rem;color:var(--accent)}
.maillage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}
.maillage-link{padding:.6rem 1rem;border:1px solid rgba(255,255,255,.06);font-size:.8rem;color:rgba(250,250,248,.5);text-decoration:none;transition:all .2s;display:block}
.maillage-link:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}
.sec-white .maillage-link{border-color:rgba(26,39,68,.08);color:var(--gris)}
.sec-white .maillage-link:hover{border-color:var(--or);color:var(--or)}

/* AUTRES MÉTIERS */
.autres-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:2rem}
.autre-card{padding:1.8rem;border:1px solid rgba(255,255,255,.04);text-decoration:none;color:var(--blanc);transition:all .3s;text-align:left}
.autre-card:hover{background:var(--accent-subtle);border-color:var(--accent-border)}
.autre-name{font-family:'Outfit',sans-serif;font-weight:800;font-size:1.1rem;text-transform:uppercase;letter-spacing:-.3px;margin-bottom:.3rem}
.autre-dot{display:inline-block;width:6px;height:6px;border-radius:50%;vertical-align:baseline;margin-left:2px;margin-bottom:1px}
.autre-slogan{font-family:'DM Serif Display',serif;font-size:.75rem;font-style:italic;color:rgba(250,250,248,.35)}

/* CTA BAND */
.cta-band{padding:5rem 4rem;text-align:center;position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(var(--accent-rgb),.06) 0%,transparent 60%)}
.cta-band-inner{position:relative;z-index:1;max-width:600px;margin:0 auto}
.cta-band h2{font-family:'DM Serif Display',serif;font-size:clamp(2rem,4vw,2.8rem);line-height:1.2;margin-bottom:.8rem}
.cta-band p{font-weight:300;color:rgba(250,250,248,.45);margin-bottom:2rem;line-height:1.7}
.cta-phone{display:inline-flex;align-items:center;gap:.8rem;font-family:'JetBrains Mono',monospace;font-size:clamp(1.2rem,3vw,1.8rem);color:var(--accent);text-decoration:none;padding:1rem 2rem;border:2px solid var(--accent);transition:all .3s;margin-bottom:1rem}
.cta-phone:hover{background:var(--accent);color:var(--bleu-deep);transform:scale(1.03)}

/* FOOTER */
.footer{padding:3rem 4rem 5rem;background:var(--bleu-deep)}
.footer-inner{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}
.footer-logo{font-family:'DM Serif Display',serif;font-size:1.3rem;color:var(--blanc)}
.footer-logo .d{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--or);vertical-align:baseline;margin:0 1px 2px 1px}
.footer-links{display:flex;gap:1.5rem}
.footer-links a{color:rgba(250,250,248,.3);text-decoration:none;font-size:.75rem;transition:color .3s}
.footer-links a:hover{color:var(--or)}
.footer-copy{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:1px;color:rgba(250,250,248,.2)}

/* STICKY CTA */
.sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:99;border-top:1px solid var(--accent-border-hover);padding:.7rem 2rem;display:flex;align-items:center;justify-content:center;gap:1.5rem;transform:translateY(100%);transition:transform .4s ease;backdrop-filter:blur(12px);background:rgba(19,30,53,.95)}
.sticky-cta.visible{transform:translateY(0)}
.sticky-cta-text{font-family:'DM Serif Display',serif;font-size:.85rem}
.sticky-cta a.btn-sticky{padding:.5rem 1.3rem;background:var(--accent);color:var(--bleu-deep);font-weight:700;font-size:.75rem;letter-spacing:.5px;text-decoration:none;text-transform:uppercase;transition:all .3s;white-space:nowrap}
.sticky-cta a.btn-sticky:hover{background:var(--blanc)}
.sticky-cta-phone{font-family:'JetBrains Mono',monospace;font-size:.8rem;color:var(--accent);text-decoration:none;transition:color .3s}
.sticky-cta-phone:hover{color:var(--blanc)}
.sticky-close{background:none;border:none;color:rgba(250,250,248,.3);font-size:1.2rem;cursor:pointer;padding:.3rem;line-height:1}

/* TRUST BADGES */
.trust-badges{padding:2.5rem 4rem;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.trust-badge{padding:1.2rem;border:1px solid var(--accent-border);text-align:center;background:var(--accent-subtle);transition:all .3s}
.trust-badge:hover{border-color:var(--accent-border-hover);background:var(--accent-bg)}
.trust-badge-icon{margin-bottom:.5rem;color:var(--accent)}
.trust-badge-icon svg{width:28px;height:28px}
.trust-badge-text{font-weight:600;font-size:.75rem;line-height:1.3;color:var(--blanc)}
.trust-badge-sub{font-family:'JetBrains Mono',monospace;font-size:.55rem;color:rgba(250,250,248,.3);margin-top:.2rem;letter-spacing:.5px}

/* ARTISAN CARD */
.artisan-card{padding:2.5rem;background:var(--bleu-deep);border:1px solid var(--accent-border);display:flex;gap:2rem;align-items:center;margin-top:3rem}
.artisan-avatar{width:80px;height:80px;border-radius:50%;background:var(--accent-border);display:flex;align-items:center;justify-content:center;font-family:'DM Serif Display',serif;font-size:2rem;color:var(--accent);flex-shrink:0;border:2px solid var(--accent-border-hover)}
.artisan-info h4{font-family:'DM Serif Display',serif;font-size:1.2rem;margin-bottom:.3rem}
.artisan-info p{font-weight:300;font-size:.8rem;color:rgba(250,250,248,.45);line-height:1.6}
.artisan-badges{display:flex;gap:.5rem;margin-top:.6rem;flex-wrap:wrap}
.artisan-badge-item{padding:.25rem .6rem;border:1px solid var(--accent-border-hover);font-family:'JetBrains Mono',monospace;font-size:.5rem;letter-spacing:1px;text-transform:uppercase;color:var(--accent)}

/* BRANDS */
.brands-bar{display:flex;align-items:center;gap:2.5rem;flex-wrap:wrap;padding:2rem 0;opacity:.4;justify-content:center}
.brands-bar span{font-family:'Outfit',sans-serif;font-weight:600;font-size:.85rem;letter-spacing:1px;color:rgba(250,250,248,.6)}
.sec-white .brands-bar span{color:rgba(26,39,68,.4)}

/* MAP */
.map-embed{width:100%;aspect-ratio:16/9;border:1px solid rgba(255,255,255,.04);filter:grayscale(1) brightness(.7) contrast(1.1);transition:filter .4s}
.map-embed:hover{filter:grayscale(.3) brightness(.8) contrast(1)}
.sec-white .map-embed{filter:grayscale(.8) brightness(1) contrast(1);border-color:rgba(26,39,68,.06)}
.sec-white .map-embed:hover{filter:grayscale(.2) brightness(1) contrast(1)}

/* BEFORE/AFTER */
.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem}
.ba-item{position:relative}
.ba-item .img-placeholder{aspect-ratio:3/2}
.ba-label{position:absolute;top:1rem;left:1rem;padding:.3rem .8rem;font-family:'JetBrains Mono',monospace;font-size:.55rem;letter-spacing:2px;text-transform:uppercase;z-index:1}
.ba-before{background:rgba(196,72,62,.8);color:white}
.ba-after{background:rgba(58,125,92,.8);color:white}
.ba-caption{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:rgba(250,250,248,.3);margin-top:.5rem;letter-spacing:.5px}

/* VIDEO */
.video-placeholder{aspect-ratio:16/9;background:var(--bleu-deep);border:1px solid rgba(255,255,255,.04);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:all .3s;overflow:hidden}
.video-placeholder:hover{border-color:var(--accent-border-hover)}
.video-placeholder::after{content:'';position:absolute;inset:0;background:radial-gradient(circle,var(--accent-subtle) 0%,transparent 60%)}
.video-play{width:60px;height:60px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;position:relative;z-index:1;transition:transform .3s}
.video-placeholder:hover .video-play{transform:scale(1.1)}
.video-play::after{content:'';width:0;height:0;border-left:16px solid var(--bleu-deep);border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:3px}
.video-label{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:rgba(250,250,248,.3);margin-top:1rem;letter-spacing:2px;text-transform:uppercase;position:relative;z-index:1}

/* MINI FORM */
.form-card{padding:3rem;background:var(--bleu-deep);border:1px solid var(--accent-border)}
.form-card h3{font-family:'DM Serif Display',serif;font-size:1.3rem;margin-bottom:.5rem}
.form-card p{font-weight:300;font-size:.85rem;color:rgba(250,250,248,.4);margin-bottom:1.5rem;line-height:1.6}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.form-input{width:100%;padding:.9rem 1rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:var(--blanc);font-family:'Outfit',sans-serif;font-size:.85rem;outline:none;transition:border-color .3s}
.form-input:focus{border-color:var(--accent)}
.form-input::placeholder{color:rgba(250,250,248,.25)}
.form-textarea{width:100%;padding:.9rem 1rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:var(--blanc);font-family:'Outfit',sans-serif;font-size:.85rem;outline:none;resize:vertical;min-height:80px;margin-bottom:1rem;transition:border-color .3s}
.form-textarea:focus{border-color:var(--accent)}
.form-textarea::placeholder{color:rgba(250,250,248,.25)}
.form-submit{width:100%;padding:1rem;background:var(--accent);color:var(--bleu-deep);font-family:'Outfit',sans-serif;font-weight:700;font-size:.85rem;letter-spacing:.5px;text-transform:uppercase;border:none;cursor:pointer;transition:all .3s}
.form-submit:hover{background:var(--blanc)}
.form-note{font-family:'JetBrains Mono',monospace;font-size:.55rem;color:rgba(250,250,248,.25);margin-top:.8rem;text-align:center;letter-spacing:.5px}

/* FORM SECTION GRID */
.form-section-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.form-desc{font-weight:300;font-size:.9rem;color:rgba(250,250,248,.45);line-height:1.8;margin-bottom:1rem}
.form-hint{font-weight:300;font-size:.8rem;color:rgba(250,250,248,.3);line-height:1.6;margin-bottom:1rem}

/* RESPONSIVE */
@media(max-width:900px){
  .sec-full [style*="grid-template-columns"]{grid-template-columns:1fr !important}
  .trust-badges{grid-template-columns:repeat(2,1fr);padding:1.5rem 2rem}
  .artisan-card{flex-direction:column;text-align:center;gap:1rem}
  .ba-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .brands-bar{gap:1rem;flex-wrap:wrap}
  .hero{grid-template-columns:1fr;padding:1rem 1.5rem 3rem;gap:2rem}
  .breadcrumb{padding:4rem 1.5rem 0}
  .sec{padding:3rem 1.5rem}
  .sec-full{padding:3rem 1.5rem}
  .presta-grid{grid-template-columns:1fr}
  .content-2col{grid-template-columns:1fr}
  .seo-scene-layout{grid-template-columns:1fr}
  .seo-scene-aside{position:static;max-width:200px;margin:0 auto 2rem}
  .img-block{grid-template-columns:1fr}
  .avis-grid{grid-template-columns:1fr}
  .autres-grid{grid-template-columns:repeat(2,1fr)}
  .nav-links{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(19,30,53,.98);flex-direction:column;justify-content:center;align-items:center;gap:2rem;animation:fadeIn .3s ease-out}
  .nav-links.open{display:flex}
  .nav-links a{font-size:1.2rem;color:var(--blanc)}
  .nav-cta-desktop{display:none}
  .nav-cta-mobile{display:inline}
  .nav-toggle{display:block;z-index:101}
  .nav-toggle.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
  .nav-toggle.open span:nth-child(2){opacity:0}
  .nav-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
  .hero-actions{flex-direction:column}
  .btn{width:100%;justify-content:center}
  .footer-inner{flex-direction:column;text-align:center}
  .sticky-cta-text{display:none}
  .dispatch{padding:1.5rem}
  .form-section-grid{grid-template-columns:1fr}
  .price-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .hero::before{font-size:clamp(4rem,15vw,8rem);right:-5%;opacity:.6}
  h1{font-size:clamp(1.8rem,6vw,2.8rem)}
  .hero-slogan{font-size:clamp(1rem,4vw,1.5rem)}
  .cta-band{padding:3rem 1.5rem}
  .cta-phone{font-size:clamp(1rem,5vw,1.5rem);padding:.8rem 1.5rem}
  .faq-q h3{font-size:.95rem}
}
@media(max-width:600px){
  .hero-trust{flex-direction:column;gap:.6rem}
  .autres-grid{grid-template-columns:1fr}
  .maillage-grid{grid-template-columns:1fr 1fr}
  .trust-badges{grid-template-columns:1fr 1fr;gap:.5rem;padding:1rem}
  .trust-badge{padding:.8rem .6rem}
  .hero{padding:.8rem 1rem 2rem}
  .hero-badge{margin-bottom:.8rem}
  .breadcrumb{padding:4rem 1rem 0}
  .sec{padding:2.5rem 1rem}
  .sec-full{padding:2.5rem 1rem}
  .nav{padding:1rem}
  .nav.scrolled{padding:.6rem 1rem}
  .footer{padding:2rem 1rem 4rem}
  .sticky-cta{padding:.6rem 1rem;gap:.8rem}
  .dispatch-step{gap:.6rem}
  .dispatch-num{width:24px;height:24px;font-size:.55rem}
  .artisan-avatar{width:60px;height:60px;font-size:1.5rem}
  .price-table thead th{font-size:.5rem;padding:.6rem .5rem}
  .price-table tbody td{font-size:.78rem;padding:.6rem .5rem}
  .price-note{font-size:.5rem}
  .form-card{padding:1.5rem}
  .form-card h3{font-size:1.1rem}
}

/* ===== SUB-SERVICE PAGE (city/sub-service.html) ===== */

/* HERO ATMOSPHERE — sub-service variant (smaller radii than .hero-atmosphere) */
.hero-atm{position:relative;overflow:hidden}
.hero-atm::before{content:'';position:absolute;top:-20%;right:-10%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(var(--accent-rgb),.08) 0%,transparent 70%);pointer-events:none}
.hero-atm::after{content:'';position:absolute;bottom:-10%;left:-5%;width:350px;height:350px;border-radius:50%;background:radial-gradient(circle,rgba(var(--accent-rgb),.04) 0%,transparent 70%);pointer-events:none}

/* BREADCRUMB — short class used in sub-service template */
.bc{padding:6rem 4rem 0;max-width:1100px;margin:0 auto;font-family:'JetBrains Mono',monospace;font-size:.6rem;color:rgba(250,250,248,.3);letter-spacing:.5px;position:relative;z-index:1}
.bc a{color:rgba(250,250,248,.4);text-decoration:none;transition:color .3s}
.bc a:hover{color:var(--accent)}

/* HERO SUB-SERVICE */
.hero-ss{padding:2rem 4rem 4rem;max-width:1100px;margin:0 auto;position:relative;z-index:1}
.hero-ss::before{content:'';font-family:'Outfit',sans-serif;font-weight:900;font-size:clamp(5rem,10vw,10rem);color:rgba(var(--accent-rgb),.025);position:absolute;top:40%;right:-3%;transform:translateY(-50%);line-height:.8;pointer-events:none;white-space:nowrap}
.hero-ss .badge{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .8rem;background:rgba(var(--accent-rgb),.1);border:1px solid rgba(var(--accent-rgb),.2);font-family:'JetBrains Mono',monospace;font-size:.55rem;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:1.2rem}
.hero-ss .badge::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--vert);animation:pulse 2s infinite}
.hero-ss h1{font-family:'DM Serif Display',serif;font-size:clamp(2rem,4vw,3rem);line-height:1.12;letter-spacing:-1px;margin-bottom:1rem}
.hero-ss .sub{font-weight:300;font-size:.95rem;color:rgba(250,250,248,.5);line-height:1.8;max-width:550px;margin-bottom:2rem}
.hero-ss .actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}

/* TRUST ROW — sub-service hero stats */
.trust-row{display:flex;gap:1.5rem;flex-wrap:wrap}
.trust-row span{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:rgba(250,250,248,.3)}
.trust-row .n{color:var(--accent);font-weight:600;font-size:.75rem}

/* SCENARIOS */
.scenarios{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:2rem}
.scenario{padding:2.5rem;border:1px solid rgba(255,255,255,.04);transition:all .3s;position:relative;overflow:hidden}
.scenario:hover{background:rgba(var(--accent-rgb),.03)}
.scenario::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);transform:scaleY(0);transition:transform .3s;transform-origin:top}
.scenario:hover::before{transform:scaleY(1)}
.scenario h3{font-family:'DM Serif Display',serif;font-size:1.1rem;margin-bottom:.5rem}
.scenario-icon{width:36px;height:36px;color:var(--accent);margin-bottom:1rem}
.scenario-icon svg{width:100%;height:100%}
.scenario p{font-weight:300;font-size:.8rem;color:rgba(250,250,248,.4);line-height:1.6;margin-bottom:.8rem}
.scenario-price{font-family:'JetBrains Mono',monospace;font-size:.75rem;color:var(--accent);font-weight:600}

/* HOW IT WORKS — vertical timeline */
.timeline{position:relative;padding-left:3rem;margin-top:2rem}
.timeline::before{content:'';position:absolute;left:11px;top:0;bottom:0;width:1px;background:rgba(var(--accent-rgb),.15)}
.tl-step{position:relative;padding-bottom:2.5rem}
.tl-step:last-child{padding-bottom:0}
.tl-dot{position:absolute;left:-3rem;top:.2rem;width:23px;height:23px;border-radius:50%;background:rgba(var(--accent-rgb),.12);display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:.55rem;color:var(--accent)}
.tl-step h4{font-family:'DM Serif Display',serif;font-size:1.05rem;margin-bottom:.3rem}
.tl-step p{font-weight:300;font-size:.85rem;color:rgba(250,250,248,.45);line-height:1.7;max-width:500px}

/* TECHNIQUES */
.tech-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}
.tech{padding:2rem;background:rgba(var(--accent-rgb),.02);border:1px solid rgba(var(--accent-rgb),.06);transition:all .3s}
.tech:hover{border-color:rgba(var(--accent-rgb),.15);transform:translateY(-2px)}
.tech h4{font-family:'DM Serif Display',serif;font-size:1rem;margin-bottom:.5rem}
.tech p{font-weight:300;font-size:.8rem;color:rgba(250,250,248,.4);line-height:1.6}
.tech-tag{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:.5rem;letter-spacing:1px;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem;padding:.2rem .5rem;border:1px solid rgba(var(--accent-rgb),.12)}

/* MAILLAGE — short class names used in sub-service */
.ml-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;margin-top:1rem}
.ml-link{padding:.6rem 1rem;border:1px solid rgba(255,255,255,.06);font-size:.8rem;color:rgba(250,250,248,.5);text-decoration:none;transition:all .2s;display:block}
.ml-link:hover{border-color:var(--accent);color:var(--accent);background:rgba(var(--accent-rgb),.03)}
.ml-title{font-family:'DM Serif Display',serif;font-size:1rem;margin-bottom:.8rem;color:var(--accent)}

/* OTHER SERVICES — 5-column grid (sub-service sibling navigation) */
.other-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:2rem}
.other-card{padding:1.5rem;border:1px solid rgba(255,255,255,.04);text-decoration:none;color:var(--blanc);transition:all .3s}
.other-card:hover{background:rgba(var(--accent-rgb),.04);border-color:rgba(var(--accent-rgb),.12)}
.other-card h4{font-family:'Outfit',sans-serif;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:-.2px;margin-bottom:.2rem}
.other-card p{font-family:'DM Serif Display',serif;font-size:.7rem;font-style:italic;color:rgba(250,250,248,.3)}

/* CTA INNER — sub-service variant of .cta-band-inner */
.cta-inner{position:relative;z-index:1;max-width:600px;margin:0 auto}
.cta-inner h2{font-family:'DM Serif Display',serif;font-size:clamp(1.8rem,3.5vw,2.5rem);line-height:1.2;margin-bottom:.8rem}
.cta-inner p{font-weight:300;color:rgba(250,250,248,.45);margin-bottom:2rem;line-height:1.7}

/* STICKY — sub-service variant (class .sticky instead of .sticky-cta) */
.sticky{position:fixed;bottom:0;left:0;right:0;z-index:99;border-top:1px solid rgba(var(--accent-rgb),.2);padding:.7rem 2rem;display:flex;align-items:center;justify-content:center;gap:1.5rem;transform:translateY(100%);transition:transform .4s;backdrop-filter:blur(12px);background:rgba(19,30,53,.95)}
.sticky.visible{transform:translateY(0)}
.sticky-text{font-family:'DM Serif Display',serif;font-size:.85rem}
.sticky .btn-sticky{padding:.5rem 1.3rem;background:var(--accent);color:var(--bleu-deep);font-weight:700;font-size:.75rem;letter-spacing:.5px;text-decoration:none;text-transform:uppercase;transition:all .3s}
.sticky .btn-sticky:hover{background:var(--blanc)}
.sticky-phone{font-family:'JetBrains Mono',monospace;font-size:.8rem;color:var(--accent);text-decoration:none}

/* SUB-SERVICE RESPONSIVE */
@media(max-width:900px){
  .hero-ss{padding:2rem 2rem 3rem}
  .bc{padding:6rem 2rem 0}
  .scenarios{grid-template-columns:1fr}
  .tech-grid{grid-template-columns:1fr}
  .other-grid{grid-template-columns:repeat(2,1fr)}
  .hero-ss .actions{flex-direction:column}
  .sticky-text{display:none}
}
@media(max-width:600px){
  .other-grid{grid-template-columns:1fr}
  .ml-grid{grid-template-columns:1fr 1fr}
}

/* ===== BRAND PAGES (qui-sommes-nous, contact, prix) ===== */

/* MANIFESTO HERO — full-viewport opening */
.m-hero{position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:4rem;text-align:center}
.m-hero::before{content:'NOUS';font-family:'Outfit',sans-serif;font-weight:900;font-size:clamp(15rem,30vw,30rem);color:rgba(200,149,108,.02);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);line-height:.75;pointer-events:none;white-space:nowrap}
.m-hero .g1{position:absolute;top:-20%;right:-10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(200,149,108,.06) 0%,transparent 70%);pointer-events:none}
.m-hero .g2{position:absolute;bottom:-15%;left:-8%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(200,149,108,.03) 0%,transparent 70%);pointer-events:none}
.m-hero .c{position:relative;z-index:1;max-width:750px;animation:fadeUp .8s ease-out}
.m-hero h1{font-family:'DM Serif Display',serif;font-size:clamp(3rem,6vw,5rem);line-height:1.05;letter-spacing:-2px;margin-bottom:1.5rem}
.m-hero .sub{font-weight:300;font-size:1.1rem;color:rgba(250,250,248,.5);line-height:1.9;margin-bottom:2rem}
.m-hero .line{width:40px;height:2px;background:var(--or);margin:0 auto 1.5rem}
.m-hero .scroll-hint{font-family:'JetBrains Mono',monospace;font-size:.55rem;letter-spacing:3px;text-transform:uppercase;color:rgba(250,250,248,.2)}

/* BRAND SECTIONS — override spacing and accent for brand pages (qui-sommes-nous, contact, prix) */
.brand-page .sec{padding:6rem 4rem;max-width:900px;margin:0 auto;position:relative;z-index:1}
.brand-page .sec-full{padding:6rem 4rem;max-width:100%;position:relative;z-index:1}
.brand-page .lb{color:var(--or)}
.brand-page .st{font-size:clamp(1.8rem,3.5vw,2.5rem);margin-bottom:1.2rem}

/* MANIFESTO PROSE */
.prose{font-weight:300;font-size:1rem;color:rgba(250,250,248,.55);line-height:2;margin-bottom:1.5rem;max-width:700px}
.prose strong{color:var(--blanc);font-weight:500}
.sec-white .prose{color:var(--gris)}
.sec-white .prose strong{color:var(--bleu)}

/* PULL QUOTE */
.pull{padding:3rem 0;margin:2rem 0;border-top:1px solid rgba(200,149,108,.1);border-bottom:1px solid rgba(200,149,108,.1);text-align:center}
.pull q{font-family:'DM Serif Display',serif;font-size:clamp(1.3rem,2.5vw,1.8rem);font-style:italic;color:var(--or);line-height:1.5;display:block;max-width:600px;margin:0 auto}
.pull q::before,.pull q::after{content:none}
.pull cite{display:block;margin-top:1rem;font-family:'JetBrains Mono',monospace;font-size:.55rem;font-style:normal;letter-spacing:2px;text-transform:uppercase;color:rgba(250,250,248,.25)}

/* DOT SECTION */
.dot-section{text-align:center;padding:6rem 4rem}
.dot-visual{width:60px;height:60px;border-radius:50%;background:var(--or);margin:0 auto 2rem;box-shadow:0 0 60px rgba(200,149,108,.2)}
.dot-section .st{margin:0 auto .8rem;max-width:500px}
.dot-section .prose{margin:0 auto 1.5rem;text-align:center}

/* VALUES — big number + text */
.val-grid{margin-top:3rem}
.val{display:grid;grid-template-columns:100px 1fr;gap:2rem;align-items:start;padding:2.5rem 0;border-bottom:1px solid rgba(255,255,255,.04)}
.val:last-child{border-bottom:none}
.val-num{font-family:'DM Serif Display',serif;font-size:3rem;color:var(--or);opacity:.2;line-height:1}
.val h3{font-family:'DM Serif Display',serif;font-size:1.2rem;margin-bottom:.4rem}
.val p{font-weight:300;font-size:.85rem;color:rgba(250,250,248,.45);line-height:1.7}
.sec-white .val{border-color:rgba(26,39,68,.06)}
.sec-white .val h3{color:var(--bleu)}
.sec-white .val p{color:var(--gris)}

/* TRADES WALL */
.trades-wall{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:2rem}
.tw-item{padding:2rem 1.5rem;border:1px solid rgba(255,255,255,.03);text-align:center;transition:all .3s}
.tw-item:hover{background:rgba(200,149,108,.02)}
.tw-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-bottom:.6rem}
.tw-name{font-family:'Outfit',sans-serif;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:-.2px;margin-bottom:.2rem}
.tw-slogan{font-family:'DM Serif Display',serif;font-size:.65rem;font-style:italic;color:rgba(250,250,248,.3);line-height:1.3}

/* NUMBERS BAND */
.nums-band{display:grid;grid-template-columns:repeat(5,1fr);gap:0;max-width:1100px;margin:0 auto}
.nb{padding:3rem;border:1px solid rgba(200,149,108,.06);text-align:center}
.nb-big{font-family:'DM Serif Display',serif;font-size:clamp(2rem,4vw,3.2rem);color:var(--or);line-height:1}
.nb-label{font-weight:300;font-size:.7rem;color:rgba(250,250,248,.3);margin-top:.5rem;line-height:1.4}

/* VERBAL SYSTEM */
.verbal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem;max-width:900px}
.verbal{padding:2rem;border:1px solid rgba(255,255,255,.04);background:rgba(255,255,255,.015);transition:all .3s}
.verbal:hover{border-color:rgba(200,149,108,.12)}
.verbal-where{font-family:'JetBrains Mono',monospace;font-size:.5rem;letter-spacing:3px;text-transform:uppercase;color:var(--or);margin-bottom:.6rem}
.verbal-phrase{font-family:'DM Serif Display',serif;font-size:1rem;line-height:1.4;margin-bottom:.4rem}
.verbal-note{font-weight:300;font-size:.7rem;color:rgba(250,250,248,.3);line-height:1.4}

/* CTA FINAL */
.cta-final{padding:8rem 4rem;text-align:center;position:relative;overflow:hidden}
.cta-final::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(200,149,108,.06) 0%,transparent 60%)}
.cta-final .c{position:relative;z-index:1;max-width:600px;margin:0 auto}
.cta-final h2{font-family:'DM Serif Display',serif;font-size:clamp(2rem,4.5vw,3rem);line-height:1.15;margin-bottom:1rem}
.cta-final p{font-weight:300;color:rgba(250,250,248,.45);margin-bottom:2.5rem;font-size:1rem;line-height:1.8}
.cta-final .actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn-or{background:var(--or);color:var(--bleu-deep)}
.btn-or:hover{background:var(--blanc);transform:translateY(-2px)}

/* CONTACT — 4 PATHS */
.contact-hero{padding:10rem 4rem 4rem;text-align:center;max-width:700px;margin:0 auto}
.contact-hero .lb{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:5px;text-transform:uppercase;color:var(--or);margin-bottom:1rem}
.contact-hero h1{font-family:'DM Serif Display',serif;font-size:clamp(2.2rem,4.5vw,3.2rem);line-height:1.1;margin-bottom:1rem}
.contact-hero p{font-weight:300;color:rgba(250,250,248,.45);line-height:1.8;font-size:.95rem}
.paths{max-width:1100px;margin:0 auto;padding:3rem 4rem 6rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.path{padding:0;border:1px solid rgba(255,255,255,.04);transition:all .4s;position:relative;overflow:hidden;display:flex;flex-direction:column}
.path:hover{border-color:rgba(200,149,108,.15);transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,.15)}
.path-header{padding:2.5rem 2.5rem 1.5rem;display:flex;align-items:flex-start;gap:1.2rem}
.path-icon{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%}
.path-icon svg{width:24px;height:24px}
.path-title{font-family:'DM Serif Display',serif;font-size:1.3rem;line-height:1.2}
.path-desc{padding:0 2.5rem;font-weight:300;font-size:.85rem;color:rgba(250,250,248,.4);line-height:1.7;flex:1}
.path-action{padding:2rem 2.5rem 2.5rem}
.path-urgence{background:linear-gradient(135deg,rgba(196,72,62,.08) 0%,var(--bleu-deep) 60%)}
.path-urgence .path-icon{background:rgba(196,72,62,.15);color:var(--rouge)}
.path-urgence .path-title{color:var(--blanc)}
.path-urgence .path-tag{color:var(--rouge)}
.path-devis{background:var(--bleu-deep)}
.path-devis .path-icon{background:rgba(200,149,108,.12);color:var(--or)}
.path-devis .path-title{color:var(--blanc)}
.path-recla{background:var(--bleu-deep)}
.path-recla .path-icon{background:rgba(250,250,248,.06);color:rgba(250,250,248,.5)}
.path-recla .path-title{color:var(--blanc)}
.path-artisan{background:linear-gradient(135deg,rgba(200,149,108,.06) 0%,var(--bleu-deep) 60%)}
.path-artisan .path-icon{background:rgba(200,149,108,.12);color:var(--or)}
.path-artisan .path-title{color:var(--blanc)}
.path-tag{font-family:'JetBrains Mono',monospace;font-size:.5rem;letter-spacing:2px;text-transform:uppercase;color:var(--or);margin-bottom:.5rem;display:block}
.btn-urgence{display:flex;align-items:center;justify-content:center;gap:.8rem;padding:1rem;background:var(--rouge);color:var(--blanc);font-weight:700;font-size:1rem;text-decoration:none;transition:all .3s;text-align:center;letter-spacing:.5px}
.btn-urgence:hover{background:#d45040;transform:scale(1.02)}
.btn-urgence .phone{font-family:'JetBrains Mono',monospace;font-weight:600}
.btn-sub{font-family:'JetBrains Mono',monospace;font-size:.55rem;color:rgba(250,250,248,.25);text-align:center;margin-top:.5rem;letter-spacing:.5px}
.mini-form{padding:0 2.5rem 2.5rem}
.mf-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.6rem}
.mf-input{width:100%;padding:.7rem .8rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);color:var(--blanc);font-family:'Outfit',sans-serif;font-size:.8rem;outline:none;transition:border-color .3s}
.mf-input:focus{border-color:var(--or)}
.mf-input::placeholder{color:rgba(250,250,248,.2)}
.mf-select{width:100%;padding:.7rem .8rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);color:var(--blanc);font-family:'Outfit',sans-serif;font-size:.8rem;outline:none;-webkit-appearance:none;margin-bottom:.6rem}
.mf-select option{background:var(--bleu-deep)}
.mf-textarea{width:100%;padding:.7rem .8rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);color:var(--blanc);font-family:'Outfit',sans-serif;font-size:.8rem;outline:none;resize:vertical;min-height:70px;margin-bottom:.8rem}
.mf-textarea::placeholder{color:rgba(250,250,248,.2)}
.mf-submit{width:100%;padding:.8rem;background:var(--or);color:var(--bleu-deep);font-family:'Outfit',sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.5px;text-transform:uppercase;border:none;cursor:pointer;transition:all .3s}
.mf-submit:hover{background:var(--blanc)}
.mf-note{font-family:'JetBrains Mono',monospace;font-size:.5rem;color:rgba(250,250,248,.2);margin-top:.5rem;text-align:center;letter-spacing:.5px}
.details{max-width:1100px;margin:0 auto;padding:0 4rem 5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.detail-card{padding:2rem;border:1px solid rgba(255,255,255,.04)}
.detail-card .lb{font-family:'JetBrains Mono',monospace;font-size:.5rem;letter-spacing:3px;text-transform:uppercase;color:var(--or);margin-bottom:.6rem}
.detail-card h3{font-family:'DM Serif Display',serif;font-size:1rem;margin-bottom:.4rem}
.detail-card p{font-weight:300;font-size:.8rem;color:rgba(250,250,248,.4);line-height:1.6}
.detail-link{color:var(--or);text-decoration:none;font-size:.8rem;font-weight:500;display:inline-flex;align-items:center;gap:.3rem;margin-top:.5rem;transition:color .3s}
.detail-link:hover{color:var(--blanc)}

/* PRIX — hero variant with .promise */
.contact-hero.prix-hero{padding:10rem 4rem 3rem;max-width:800px}
.contact-hero.prix-hero p{margin-bottom:1.5rem}
.promise{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.2rem;border:1px solid rgba(200,149,108,.2);font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:1px;color:var(--or)}
.promise svg{width:14px;height:14px}

/* TRADE NAV */
.trade-nav{max-width:1100px;margin:0 auto;padding:0 4rem 3rem;display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}
.tn-link{padding:.4rem .8rem;border:1px solid rgba(255,255,255,.06);font-size:.75rem;color:rgba(250,250,248,.4);text-decoration:none;transition:all .2s}
.tn-link:hover{border-color:var(--or);color:var(--or)}

/* TRADE SECTIONS */
.trade-sec{max-width:1100px;margin:0 auto;padding:2rem 4rem 4rem;scroll-margin-top:5rem}
.trade-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.04)}
.trade-header .trade-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.trade-header .trade-name{font-family:'DM Serif Display',serif;font-size:1.5rem}
.trade-header .trade-slogan{font-family:'DM Serif Display',serif;font-size:.8rem;font-style:italic;color:rgba(250,250,248,.3);margin-left:auto}

/* PRICE TABLE */
.pt{width:100%;border-collapse:collapse}
.pt thead th{text-align:left;padding:.8rem 1rem;font-family:'JetBrains Mono',monospace;font-size:.55rem;letter-spacing:2px;text-transform:uppercase;color:rgba(250,250,248,.3);border-bottom:1px solid rgba(255,255,255,.06)}
.pt tbody tr{border-bottom:1px solid rgba(255,255,255,.03);transition:background .2s}
.pt tbody tr:hover{background:rgba(200,149,108,.02)}
.pt tbody td{padding:.8rem 1rem;font-size:.85rem;font-weight:300;color:rgba(250,250,248,.6);vertical-align:top}
.pt .price{font-family:'JetBrains Mono',monospace;font-weight:600;color:var(--or);font-size:.85rem;white-space:nowrap}
.pt .detail{font-size:.7rem;color:rgba(250,250,248,.25);margin-top:.2rem;display:block}

/* SEPARATOR */
.sep{max-width:1100px;margin:0 auto;padding:0 4rem;height:1px;background:rgba(200,149,108,.06)}

/* GUARANTEE BAND */
.guarantee{max-width:1100px;margin:0 auto;padding:4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.g-item{text-align:center;padding:2rem}
.g-icon{width:36px;height:36px;margin:0 auto .8rem;color:var(--or)}
.g-icon svg{width:100%;height:100%}
.g-item h3{font-family:'DM Serif Display',serif;font-size:1rem;margin-bottom:.4rem}
.g-item p{font-weight:300;font-size:.8rem;color:rgba(250,250,248,.4);line-height:1.6}

/* FINE PRINT */
.fine{max-width:1100px;margin:0 auto;padding:0 4rem 4rem}
.fine p{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:rgba(250,250,248,.2);line-height:1.8;letter-spacing:.3px}

/* BRAND PAGES RESPONSIVE */
@media(max-width:900px){
  .m-hero{padding:8rem 2rem 4rem;min-height:auto}
  .brand-page .sec,.brand-page .sec-full{padding:3rem 2rem}
  .dot-section{padding:3rem 2rem}
  .contact-hero{padding:8rem 2rem 3rem}
  .val{grid-template-columns:60px 1fr;gap:1rem}
  .trades-wall{grid-template-columns:repeat(3,1fr)}
  .nums-band{grid-template-columns:repeat(2,1fr)}
  .verbal-grid{grid-template-columns:1fr}
  .cta-final{padding:4rem 2rem}
  .cta-final .actions{flex-direction:column;align-items:center}
  .paths{grid-template-columns:1fr;padding:2rem}
  .details{grid-template-columns:1fr;padding:0 2rem 3rem}
  .mf-row{grid-template-columns:1fr}
  .trade-nav{padding:0 2rem 2rem}
  .trade-sec{padding:2rem}
  .guarantee{grid-template-columns:1fr;padding:2rem}
  .fine{padding:0 2rem 3rem}
  .pt{font-size:.8rem}
}
@media(max-width:600px){
  .trades-wall{grid-template-columns:repeat(2,1fr)}
  .nums-band{grid-template-columns:1fr}
}

/* ===== REJOINDRE LE COLLECTIF (brand/rejoindre.html) ===== */

/* RECRUITMENT HERO */
.r-hero{position:relative;overflow:hidden;padding:10rem 4rem 6rem;text-align:center}
.r-hero::before{content:'';position:absolute;top:-20%;right:-10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(200,149,108,.08) 0%,transparent 70%);pointer-events:none}
.r-hero::after{content:'';position:absolute;bottom:-15%;left:-8%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(200,149,108,.04) 0%,transparent 70%);pointer-events:none}
.r-hero .wm{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Outfit',sans-serif;font-weight:900;font-size:clamp(6rem,14vw,16rem);color:rgba(200,149,108,.02);line-height:.8;pointer-events:none;white-space:nowrap}
.r-hero .c{position:relative;z-index:1;max-width:700px;margin:0 auto}
.r-hero .badge{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .8rem;background:rgba(200,149,108,.1);border:1px solid rgba(200,149,108,.2);font-family:'JetBrains Mono',monospace;font-size:.55rem;letter-spacing:2px;text-transform:uppercase;color:var(--or);margin-bottom:1.5rem}
.r-hero .badge::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--vert);animation:pulse 2s infinite}
.r-hero h1{font-family:'DM Serif Display',serif;font-size:clamp(2.5rem,5vw,3.8rem);line-height:1.1;letter-spacing:-1px;margin-bottom:1rem}
.r-hero .sub{font-weight:300;font-size:1.05rem;color:rgba(250,250,248,.5);line-height:1.8;margin-bottom:2.5rem}
.btn-or::after{content:'→';transition:transform .3s}
.btn-or:hover::after{transform:translateX(4px)}

/* PROBLEM / SOLUTION GRID */
.ps-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:2rem}
.ps{padding:2.5rem;border:1px solid rgba(255,255,255,.04);transition:all .3s}
.ps:hover{background:rgba(200,149,108,.02)}
.ps-label{font-family:'JetBrains Mono',monospace;font-size:.5rem;letter-spacing:3px;text-transform:uppercase;margin-bottom:.8rem}
.ps h3{font-family:'DM Serif Display',serif;font-size:1.1rem;margin-bottom:.5rem}
.ps p{font-weight:300;font-size:.8rem;color:rgba(250,250,248,.4);line-height:1.7}

/* BENEFITS GRID */
.ben-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:2rem}
.ben{padding:2.5rem;border:1px solid rgba(255,255,255,.04);transition:all .3s;position:relative}
.ben:hover{background:rgba(200,149,108,.03)}
.ben::before{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--or);transform:scaleX(0);transition:transform .3s;transform-origin:left}
.ben:hover::before{transform:scaleX(1)}
.ben-icon{width:36px;height:36px;color:var(--or);margin-bottom:1rem}
.ben-icon svg{width:100%;height:100%}
.ben h3{font-family:'DM Serif Display',serif;font-size:1.05rem;margin-bottom:.5rem}
.ben p{font-weight:300;font-size:.8rem;color:rgba(250,250,248,.4);line-height:1.6}

/* PROCESS — HOW TO JOIN */
.join-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:2.5rem}
.j-step{position:relative;padding-top:3rem}
.j-step::before{content:attr(data-step);font-family:'DM Serif Display',serif;font-size:3rem;color:var(--or);opacity:.15;position:absolute;top:0;left:0}
.j-step h4{font-family:'DM Serif Display',serif;font-size:1rem;margin-bottom:.4rem}
.j-step p{font-weight:300;font-size:.8rem;color:rgba(250,250,248,.4);line-height:1.6}

/* REQUIREMENTS */
.req-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;margin-top:2rem}
.req-list{list-style:none}
.req-list li{padding:.8rem 0;border-bottom:1px solid rgba(26,39,68,.06);display:flex;gap:.8rem;align-items:flex-start;font-size:.9rem;font-weight:300;color:var(--gris);line-height:1.6}
.req-check{width:20px;height:20px;flex-shrink:0;color:var(--or);margin-top:.1rem}
.req-check svg{width:100%;height:100%}
.req-text h4{font-family:'DM Serif Display',serif;font-size:1.2rem;margin-bottom:1rem;color:var(--bleu)}
.req-text p{font-weight:300;font-size:.9rem;color:var(--gris);line-height:1.8;margin-bottom:1rem}

/* TESTIMONIAL */
.testi{padding:3rem;border:1px solid rgba(200,149,108,.1);background:rgba(200,149,108,.02);margin-top:3rem}
.testi-text{font-family:'DM Serif Display',serif;font-size:1.2rem;font-style:italic;line-height:1.5;margin-bottom:1rem;color:rgba(250,250,248,.8)}
.testi-author{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:rgba(250,250,248,.35);letter-spacing:1px}

/* APPLICATION FORM SECTION */
.form-section{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.form-text h3{font-family:'DM Serif Display',serif;font-size:1.5rem;margin-bottom:1rem;line-height:1.3}
.form-text p{font-weight:300;font-size:.9rem;color:rgba(250,250,248,.45);line-height:1.8;margin-bottom:1rem}
.form-select{width:100%;padding:.85rem 1rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:var(--blanc);font-family:'Outfit',sans-serif;font-size:.85rem;outline:none;-webkit-appearance:none;margin-bottom:1rem;transition:border-color .3s}
.form-select:focus{border-color:var(--or)}
.form-select option{background:var(--bleu-deep);color:var(--blanc)}

/* NUMBERS BAND — rejoindre variant (4-column) */
.nums{display:grid;grid-template-columns:repeat(4,1fr);gap:0;text-align:center}
.num{padding:2.5rem;border:1px solid rgba(200,149,108,.06)}
.num-big{font-family:'DM Serif Display',serif;font-size:clamp(2rem,4vw,3rem);color:var(--or);line-height:1}
.num-label{font-weight:300;font-size:.75rem;color:rgba(250,250,248,.35);margin-top:.5rem;line-height:1.4}

/* REJOINDRE RESPONSIVE */
@media(max-width:900px){
  .r-hero{padding:8rem 2rem 4rem}
  .ps-grid,.ben-grid{grid-template-columns:1fr}
  .join-steps{grid-template-columns:repeat(2,1fr);gap:1.5rem}
  .form-section,.req-grid{grid-template-columns:1fr}
  .nums{grid-template-columns:repeat(2,1fr)}
}

/* ===== MENTIONS LÉGALES (brand/mentions-legales.html) ===== */

/* HERO — mentions légales specific (prefixed ml- to avoid conflict with trade .hero) */
.ml-hero{padding:10rem 4rem 3rem;max-width:800px;margin:0 auto}
.ml-hero .lb{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:5px;text-transform:uppercase;color:var(--or);margin-bottom:1rem}
.ml-hero h1{font-family:'DM Serif Display',serif;font-size:clamp(2rem,4vw,2.8rem);line-height:1.15;margin-bottom:.8rem}
.ml-hero p{font-weight:300;color:rgba(250,250,248,.4);line-height:1.8;font-size:.9rem}

/* TABLE OF CONTENTS */
.toc{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.4rem}
.toc a{padding:.4rem .8rem;border:1px solid rgba(255,255,255,.06);font-size:.75rem;color:rgba(250,250,248,.4);text-decoration:none;transition:all .2s}
.toc a:hover{border-color:var(--or);color:var(--or)}

/* CONTENT AREA */
.ml-content{max-width:800px;margin:0 auto;padding:3rem 4rem 5rem}
.ml-section{margin-bottom:3rem;scroll-margin-top:5rem}
.ml-section h2{font-family:'DM Serif Display',serif;font-size:1.4rem;margin-bottom:1rem;line-height:1.3;padding-bottom:.8rem;border-bottom:1px solid rgba(200,149,108,.1)}
.ml-section h3{font-family:'DM Serif Display',serif;font-size:1.05rem;margin:1.5rem 0 .5rem;color:var(--or)}
.ml-section p{font-weight:300;font-size:.88rem;color:rgba(250,250,248,.5);line-height:1.9;margin-bottom:.8rem}
.ml-section p strong{color:var(--blanc);font-weight:500}
.ml-section ul{list-style:none;margin:.5rem 0 1rem}
.ml-section li{padding:.3rem 0;font-weight:300;font-size:.85rem;color:rgba(250,250,248,.45);line-height:1.7;display:flex;gap:.5rem}
.ml-section li::before{content:'·';color:var(--or);font-weight:700;flex-shrink:0}
.ml-section a{color:var(--or);text-decoration:none;transition:color .2s}
.ml-section a:hover{color:var(--blanc)}
.ml-update{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:rgba(250,250,248,.2);letter-spacing:1px;margin-top:3rem;text-align:center}

/* MENTIONS LÉGALES RESPONSIVE */
@media(max-width:700px){
  .ml-hero{padding:8rem 2rem 2rem}
  .ml-content{padding:2rem}
}

/* ===== HOMEPAGE (index.html) ===== */

.urgence-bar{background:var(--rouge);padding:1rem 2rem;display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap}
.urgence-bar a{color:white;text-decoration:none;font-weight:700;font-size:.85rem;letter-spacing:.5px;display:flex;align-items:center;gap:.5rem;transition:opacity .3s}
.urgence-bar a:hover{opacity:.8}
.urgence-bar span{color:rgba(255,255,255,.6);font-size:.8rem;font-weight:300}

.metiers{padding:0;max-width:100%;margin:0;background:var(--bleu-deep)}
.metiers-header{max-width:1100px;margin:0 auto;padding:5rem 4rem 3rem}
.section-label{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:5px;text-transform:uppercase;color:var(--or);margin-bottom:.8rem}
.section-title{font-family:'DM Serif Display',serif;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.2;margin-bottom:.8rem}
.section-sub{font-weight:300;color:rgba(250,250,248,.45);font-size:.95rem;max-width:450px;line-height:1.7;margin-bottom:0}
.metiers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;max-width:1100px;margin:0 auto;padding:0 4rem 5rem}
.metier-card{padding:2.2rem 1.8rem;border:1px solid rgba(255,255,255,.06);text-align:left;cursor:pointer;transition:all .35s;position:relative;overflow:hidden;text-decoration:none;color:var(--blanc);display:flex;flex-direction:column;justify-content:space-between;min-height:210px;background:transparent}
.metier-card:hover{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.1);transform:translateY(-2px)}
.metier-card:hover .metier-slogan{opacity:.7}
.metier-card:hover .metier-arrow{opacity:1;transform:translateX(0)}
.metier-top{position:relative;z-index:1}
.metier-bottom{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between}
.metier-name{font-family:'Outfit',sans-serif;font-weight:800;font-size:clamp(1rem,1.5vw,1.6rem);text-transform:uppercase;letter-spacing:-.3px;line-height:1.1;display:block;color:rgba(250,250,248,.85);white-space:nowrap}
.metier-dot{display:inline-block;width:8px;height:8px;border-radius:50%;vertical-align:baseline;margin-left:3px;margin-bottom:2px;transition:transform .35s}
.metier-card:hover .metier-dot{transform:scale(1.5)}
.metier-card:hover .metier-name{color:var(--blanc)}
.metier-slogan{font-family:'DM Serif Display',serif;font-size:.8rem;font-style:italic;opacity:.3;display:block;transition:all .35s;line-height:1.4;color:rgba(250,250,248,.6)}
.metier-arrow{font-size:1.1rem;opacity:0;transform:translateX(-8px);transition:all .35s;color:var(--or)}

.btn-main{display:inline-flex;align-items:center;gap:.6rem;padding:1rem 2rem;background:var(--or);color:var(--bleu);font-weight:700;font-size:.85rem;letter-spacing:.5px;text-decoration:none;border:none;cursor:pointer;transition:all .3s;text-transform:uppercase}
.btn-main:hover{background:var(--blanc);transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.2)}
.btn-main::after{content:'→';transition:transform .3s}
.btn-main:hover::after{transform:translateX(4px)}

.branding{padding:0;background:var(--bleu);color:var(--blanc)}
.brand-opener{padding:6rem 4rem;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:start}
.brand-opener-text h2{font-family:'DM Serif Display',serif;font-size:clamp(2rem,4vw,3rem);line-height:1.15;margin-bottom:1.5rem}
.brand-opener-text h2 .hot{color:var(--or)}
.brand-opener-text p{font-weight:300;font-size:1.05rem;color:rgba(250,250,248,.55);line-height:1.9;margin-bottom:1.5rem}
.brand-opener-text p strong{color:var(--blanc);font-weight:600}
.brand-aside{padding:2.5rem;background:var(--bleu-deep);color:var(--blanc);position:relative;margin-top:1rem;border:1px solid rgba(200,149,108,.1)}
.brand-aside::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:var(--or)}
.brand-aside blockquote{font-family:'DM Serif Display',serif;font-size:1.3rem;font-style:italic;line-height:1.5;margin-bottom:1rem;color:var(--or)}
.brand-aside p{font-weight:300;font-size:.85rem;color:rgba(250,250,248,.5);line-height:1.7}
.brand-problem{padding:5rem 4rem;background:var(--bleu-deep);color:var(--blanc)}
.brand-problem-inner{max-width:1100px;margin:0 auto}
.brand-problem h3{font-family:'DM Serif Display',serif;font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:2rem;max-width:600px;line-height:1.3}
.brand-problem h3 .hot{color:var(--or)}
.bp-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.bp-item{padding:2rem 2.5rem;border:1px solid rgba(255,255,255,.05);transition:background .3s}
.bp-item:hover{background:rgba(200,149,108,.03)}
.bp-num{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:3px;color:var(--or);opacity:.5;margin-bottom:.6rem}
.bp-item h4{font-family:'DM Serif Display',serif;font-size:1.1rem;margin-bottom:.5rem}
.bp-item p{font-weight:300;font-size:.85rem;color:rgba(250,250,248,.45);line-height:1.7}
.brand-story{padding:5rem 4rem;background:var(--blanc);color:var(--noir)}
.brand-story-inner{max-width:1100px;margin:0 auto}
.brand-story h3{font-family:'DM Serif Display',serif;font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:.8rem;line-height:1.3;color:var(--bleu)}
.brand-story-inner>p{font-weight:300;color:var(--gris);line-height:1.8;font-size:.95rem;max-width:650px;margin-bottom:2.5rem}
.bs-pillars{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-bottom:3rem}
.bs-pillar{padding:2rem 1.5rem;border:1px solid var(--gris2);text-align:center;transition:all .3s;position:relative}
.bs-pillar::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--or);transform:scaleX(0);transition:transform .3s}
.bs-pillar:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(26,39,68,.08)}
.bs-pillar:hover::after{transform:scaleX(1)}
.bs-pillar-num{font-family:'DM Serif Display',serif;font-size:2rem;color:var(--or);opacity:.25;margin-bottom:.5rem}
.bs-pillar h4{font-family:'DM Serif Display',serif;font-size:1rem;margin-bottom:.4rem;color:var(--bleu)}
.bs-pillar p{font-weight:300;font-size:.78rem;color:var(--gris);line-height:1.6}
.brand-numbers{padding:4rem;background:var(--bleu-deep);color:var(--blanc)}
.brand-numbers-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:0;text-align:center}
.bn-item{padding:2rem;border:1px solid rgba(200,149,108,.08)}
.bn-big{font-family:'DM Serif Display',serif;font-size:clamp(2rem,4vw,3rem);color:var(--or);line-height:1}
.bn-label{font-weight:300;font-size:.75rem;color:rgba(250,250,248,.35);margin-top:.5rem;line-height:1.4}
.brand-verbal{padding:5rem 4rem;background:var(--bleu);color:var(--blanc)}
.brand-verbal-inner{max-width:1100px;margin:0 auto}
.brand-verbal h3{font-family:'DM Serif Display',serif;font-size:clamp(1.5rem,3vw,2rem);margin-bottom:.8rem}
.brand-verbal-inner>p{font-weight:300;color:rgba(250,250,248,.5);font-size:.95rem;max-width:550px;line-height:1.8;margin-bottom:2.5rem}
.bv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.bv-card{padding:2rem;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);transition:all .3s}
.bv-card:hover{border-color:rgba(200,149,108,.25);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.15)}
.bv-where{font-family:'JetBrains Mono',monospace;font-size:.55rem;letter-spacing:3px;text-transform:uppercase;color:var(--or);margin-bottom:.8rem}
.bv-phrase{font-family:'DM Serif Display',serif;font-size:1.05rem;line-height:1.4;margin-bottom:.5rem}
.bv-note{font-weight:300;font-size:.75rem;color:rgba(250,250,248,.35);line-height:1.5}
.promesses{padding:5rem 4rem;background:var(--bleu);color:var(--blanc)}
.promesses-inner{max-width:1100px;margin:0 auto}
.promesses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:3rem}
.promesse{padding:2.5rem;border:1px solid rgba(255,255,255,.06);position:relative;transition:background .3s}
.promesse:hover{background:rgba(200,149,108,.04)}
.promesse-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-bottom:1rem}
.promesse-icon svg{width:100%;height:100%}
.promesse h3{font-family:'DM Serif Display',serif;font-size:1.15rem;margin-bottom:.6rem;line-height:1.3}
.promesse p{font-weight:300;font-size:.85rem;color:rgba(250,250,248,.45);line-height:1.7}
.process{padding:5rem 4rem;max-width:1100px;margin:0 auto}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:3rem}
.process-step{position:relative;padding-top:3rem}
.process-step::before{content:attr(data-step);font-family:'DM Serif Display',serif;font-size:3rem;color:var(--or);opacity:.2;position:absolute;top:0;left:0}
.process-step h4{font-family:'DM Serif Display',serif;font-size:1.05rem;margin-bottom:.5rem;color:var(--blanc)}
.process-step p{font-weight:300;font-size:.85rem;color:rgba(250,250,248,.45);line-height:1.7}
.stats{padding:3rem 4rem;background:var(--bleu-deep);color:var(--blanc)}
.stats-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.stat{padding:1.5rem}
.stat .big{font-family:'DM Serif Display',serif;font-size:clamp(1.8rem,3vw,2.5rem);color:var(--or)}
.stat .desc{font-weight:300;font-size:.75rem;color:rgba(250,250,248,.4);margin-top:.2rem}
.zones{padding:4rem;max-width:1100px;margin:0 auto;text-align:center}
.zones-pills{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:2rem}
.zone-pill{padding:.45rem .9rem;border:1px solid rgba(255,255,255,.08);font-size:.75rem;color:rgba(250,250,248,.4);transition:all .2s;cursor:pointer;text-decoration:none}
.zone-pill:hover{border-color:var(--or);color:var(--or)}
.zone-pill.more{color:var(--or);border-color:var(--or);font-weight:600}
.cta-or{display:block;font-size:.8rem;color:rgba(250,250,248,.3);margin:.8rem 0}

@media(max-width:900px){
  .metiers-header{padding:3rem 2rem 2rem}
  .metiers-grid{grid-template-columns:repeat(2,1fr);padding:0 2rem 3rem}
  .brand-opener{grid-template-columns:1fr;padding:3rem 2rem;gap:2rem}
  .brand-problem{padding:3rem 2rem}
  .bp-grid{grid-template-columns:1fr}
  .brand-story{padding:3rem 2rem}
  .bs-pillars{grid-template-columns:repeat(2,1fr)}
  .brand-numbers{padding:2rem}
  .brand-numbers-inner{grid-template-columns:repeat(2,1fr)}
  .brand-verbal{padding:3rem 2rem}
  .bv-grid{grid-template-columns:1fr}
  .process,.zones{padding:3rem 2rem}
  .promesses{padding:3rem 2rem}
  .promesses-grid{grid-template-columns:1fr}
  .process-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}
  .stats-inner{grid-template-columns:repeat(2,1fr)}
  .urgence-bar{flex-direction:column;gap:.5rem;padding:.8rem}
}
@media(max-width:500px){
  .metiers-grid{grid-template-columns:1fr 1fr}
  .process-grid{grid-template-columns:1fr}
}

/* ===== ACTIVITY HUB (activity/single.html) ===== */

.hub-hero{padding:2.5rem 4rem 5rem;max-width:1100px;margin:0 auto;position:relative;z-index:1;text-align:center}
.hub-hero .badge{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .8rem;background:rgba(var(--accent-rgb),.1);border:1px solid rgba(var(--accent-rgb),.2);font-family:'JetBrains Mono',monospace;font-size:.55rem;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem}
.hub-hero .badge::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--vert);animation:pulse 2s infinite}
.hub-hero h1{font-family:'DM Serif Display',serif;font-size:clamp(2.5rem,5.5vw,4rem);line-height:1.1;letter-spacing:-1px;margin-bottom:.5rem}
.hub-hero .slogan{font-family:'Outfit',sans-serif;font-weight:800;font-size:clamp(1.2rem,2.5vw,1.8rem);color:var(--accent);text-transform:uppercase;letter-spacing:-.5px;margin-bottom:1.5rem}
.hub-hero .sub{font-weight:300;font-size:1rem;color:rgba(250,250,248,.45);line-height:1.8;max-width:600px;margin:0 auto 2rem}
.hub-hero .actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem}
.hub-trust{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap}
.hub-trust span{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:rgba(250,250,248,.3)}
.hub-trust .n{color:var(--accent);font-weight:600;font-size:.8rem}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:2rem}
.svc{padding:2.5rem;border:1px solid rgba(255,255,255,.04);transition:all .3s;text-decoration:none;color:var(--blanc);display:block;position:relative;overflow:hidden}
.svc:hover{background:rgba(var(--accent-rgb),.03)}
.svc::after{content:'→';position:absolute;bottom:2.5rem;right:2.5rem;font-size:1rem;color:var(--accent);opacity:0;transform:translateX(-8px);transition:all .3s}
.svc:hover::after{opacity:1;transform:translateX(0)}
.svc-icon{width:36px;height:36px;color:var(--accent);margin-bottom:1rem}
.svc-icon svg{width:100%;height:100%}
.svc h3{font-family:'DM Serif Display',serif;font-size:1.15rem;margin-bottom:.5rem}
.svc p{font-weight:300;font-size:.8rem;color:rgba(250,250,248,.4);line-height:1.6}
.svc-price{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--accent);margin-top:.8rem;font-weight:600}
.stats-band{display:grid;grid-template-columns:repeat(4,1fr);gap:0;text-align:center}
.stat-item{padding:2.5rem;border:1px solid rgba(var(--accent-rgb),.06)}
.stat-big{font-family:'DM Serif Display',serif;font-size:clamp(2rem,4vw,3rem);color:var(--accent);line-height:1}
.stat-label{font-weight:300;font-size:.75rem;color:rgba(250,250,248,.35);margin-top:.5rem;line-height:1.4}
.city-section{margin-top:2.5rem}
.city-title{font-family:'DM Serif Display',serif;font-size:1.1rem;margin-bottom:1rem;color:var(--accent);display:flex;align-items:center;gap:.5rem}
.city-title::before{content:'';width:20px;height:1px;background:var(--accent);opacity:.3}
.city-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.4rem;margin-bottom:2rem}
.city-link{padding:.5rem .8rem;border:1px solid rgba(255,255,255,.04);font-size:.78rem;color:rgba(250,250,248,.5);text-decoration:none;transition:all .2s;display:block}
.city-link:hover{border-color:var(--accent);color:var(--accent);background:rgba(var(--accent-rgb),.03)}
.sec-white .city-link{border-color:rgba(26,39,68,.06);color:var(--gris)}
.sec-white .city-link:hover{border-color:var(--accent);color:var(--accent)}
.trade-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-top:2rem}
.trade-card{padding:1.5rem 1rem;border:1px solid rgba(255,255,255,.04);text-decoration:none;color:var(--blanc);transition:all .3s;text-align:center}
.trade-card:hover{background:rgba(255,255,255,.02);border-color:rgba(255,255,255,.08)}
.trade-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-bottom:.5rem}
.trade-name{font-family:'Outfit',sans-serif;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:-.2px;margin-bottom:.2rem}
.trade-slogan{font-family:'DM Serif Display',serif;font-size:.6rem;font-style:italic;color:rgba(250,250,248,.3);line-height:1.3}
.sticky .btn-s{padding:.5rem 1.3rem;background:var(--accent);color:var(--bleu-deep);font-weight:700;font-size:.75rem;letter-spacing:.5px;text-decoration:none;text-transform:uppercase;transition:all .3s}
.sticky .btn-s:hover{background:var(--blanc)}
.sticky-x{background:none;border:none;color:rgba(250,250,248,.3);font-size:1.2rem;cursor:pointer;line-height:1}

/* ============================================
   PHOTO SECTIONS — Homepage visual life
   ============================================ */
.photo-section{padding:5rem 4rem;position:relative;overflow:hidden}
.photo-section-inner{max-width:1100px;margin:0 auto}
.photo-grid-team{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.photo-card{position:relative;overflow:hidden;background:var(--bleu-deep);border:1px solid rgba(255,255,255,.06);transition:all .4s}
.photo-card:hover{border-color:rgba(200,149,108,.2);transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.25)}
.photo-card img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;filter:grayscale(15%) contrast(1.05);transition:all .5s}
.photo-card:hover img{filter:grayscale(0%) contrast(1.1);transform:scale(1.03)}
.photo-card-overlay{position:absolute;bottom:0;left:0;right:0;padding:1.2rem;background:linear-gradient(0deg,rgba(19,30,53,.92) 0%,rgba(19,30,53,.5) 60%,transparent 100%)}
.photo-card-name{font-family:'Outfit',sans-serif;font-weight:700;font-size:.85rem;color:var(--blanc);letter-spacing:-.2px}
.photo-card-role{font-family:'JetBrains Mono',monospace;font-size:.55rem;letter-spacing:2px;text-transform:uppercase;color:var(--or);margin-top:.2rem}
.photo-card-exp{font-weight:300;font-size:.7rem;color:rgba(250,250,248,.4);margin-top:.15rem}
.photo-card.featured{grid-column:span 2}
.photo-card.featured img{aspect-ratio:3/2}
.vehicules-section{background:var(--bleu-deep)}
.vehicules-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:1.5rem;align-items:stretch}
.vehicule-main{position:relative;overflow:hidden;background:var(--bleu);border:1px solid rgba(255,255,255,.06)}
.vehicule-main img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:16/9;filter:contrast(1.05);transition:filter .4s}
.vehicule-main:hover img{filter:contrast(1.12) brightness(1.05)}
.vehicule-badge{position:absolute;top:1.5rem;left:1.5rem;padding:.4rem 1rem;background:rgba(19,30,53,.85);backdrop-filter:blur(8px);border:1px solid rgba(200,149,108,.2);font-family:'JetBrains Mono',monospace;font-size:.55rem;letter-spacing:2px;text-transform:uppercase;color:var(--or)}
.vehicule-stack{display:grid;grid-template-rows:1fr 1fr;gap:1.5rem}
.vehicule-thumb{position:relative;overflow:hidden;background:var(--bleu);border:1px solid rgba(255,255,255,.06)}
.vehicule-thumb img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/3;filter:contrast(1.05);transition:all .4s}
.vehicule-thumb:hover img{filter:contrast(1.12);transform:scale(1.03)}
.vehicule-caption{position:absolute;bottom:0;left:0;right:0;padding:.8rem 1rem;background:linear-gradient(0deg,rgba(19,30,53,.85) 0%,transparent 100%);font-size:.7rem;color:rgba(250,250,248,.5);font-weight:300}
.paris-ambiance{position:relative;overflow:hidden;background:var(--bleu)}
.paris-ambiance-img{width:100%;aspect-ratio:21/7;object-fit:cover;display:block;filter:grayscale(20%) contrast(1.1) brightness(.85);transition:filter .6s}
.paris-ambiance:hover .paris-ambiance-img{filter:grayscale(10%) contrast(1.15) brightness(.9)}
.paris-ambiance-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,39,68,.3) 0%,rgba(19,30,53,.7) 70%,rgba(19,30,53,.95) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:4rem}
.paris-ambiance-text{max-width:600px}
.paris-ambiance-text h2{font-family:'DM Serif Display',serif;font-size:clamp(1.8rem,3.5vw,2.8rem);line-height:1.2;color:var(--blanc);margin-bottom:1rem}
.paris-ambiance-text h2 .hot{color:var(--or)}
.paris-ambiance-text p{font-weight:300;font-size:.95rem;color:rgba(250,250,248,.5);line-height:1.8;max-width:480px}

@media(max-width:900px){
  .hub-hero{padding:2rem 2rem 3rem;text-align:left}
  .hub-hero .sub{margin:0 0 2rem}
  .hub-hero .actions{justify-content:flex-start;flex-direction:column}
  .hub-trust{justify-content:flex-start}
  .svc-grid{grid-template-columns:1fr}
  .stats-band{grid-template-columns:repeat(2,1fr)}
  .trade-grid{grid-template-columns:repeat(3,1fr)}
  .cta-band{padding:3rem 2rem}
  .photo-section{padding:3rem 2rem}
  .photo-grid-team{grid-template-columns:1fr 1fr;gap:.8rem}
  .photo-card.featured{grid-column:span 2}
  .vehicules-grid{grid-template-columns:1fr;gap:1rem}
  .vehicule-stack{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .paris-ambiance-img{aspect-ratio:16/9}
  .paris-ambiance-overlay{padding:2rem}
}
@media(max-width:600px){
  .trade-grid{grid-template-columns:repeat(2,1fr)}
  .city-grid{grid-template-columns:1fr 1fr}
  .photo-grid-team{grid-template-columns:1fr}
  .photo-card.featured{grid-column:span 1}
  .photo-card.featured img{aspect-ratio:3/4}
  .vehicule-stack{grid-template-columns:1fr}
  .paris-ambiance-img{aspect-ratio:4/3}
}
