
:root{--bg:#090909;--panel:#141414;--text:#f5f1e9;--muted:#b9b2a6;--gold:#c9a35a;--line:#2a2a2a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:14px 5vw;background:rgba(9,9,9,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.brand img{height:42px;width:auto}nav{display:flex;gap:18px;align-items:center;font-size:.95rem}nav a{color:var(--muted)}nav a:hover,nav a.active{color:var(--text)}.nav-cta,.btn{border:1px solid var(--gold);border-radius:999px;padding:10px 18px;color:var(--text);display:inline-flex;align-items:center;justify-content:center}.btn.primary,.nav-cta{background:var(--gold);color:#111;font-weight:700}.btn.secondary{background:rgba(0,0,0,.35)}.menu{display:none;background:none;border:0;color:var(--text);font-size:28px}.hero{position:relative;min-height:78vh;display:grid;align-items:end;overflow:hidden}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.32)),linear-gradient(0deg,rgba(9,9,9,.8),transparent 45%)}.hero-content{position:relative;max-width:920px;padding:0 5vw 80px}.eyebrow{color:var(--gold);letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;font-weight:800}.hero h1,.page-hero h1{font-family:Georgia,serif;font-size:clamp(2.5rem,6vw,5.6rem);line-height:.95;margin:.15em 0}.hero p{max-width:760px;font-size:1.16rem;color:#e6dfd2}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}section,.page{padding:64px 5vw}.intro{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;border-bottom:1px solid var(--line)}.intro h2,.section-head h2,.text-block h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1;margin:0}.intro p,.text-block p{color:var(--muted);font-size:1.08rem}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.cards a,.contact-card,form,.text-block{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:24px}.cards h3{margin:0 0 12px;color:var(--gold)}.cards p{color:var(--muted);margin:0}.section-head{margin-bottom:28px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photo{position:relative;display:block;border-radius:22px;overflow:hidden;background:#191919;min-height:260px;border:1px solid var(--line)}.photo img{width:100%;height:100%;min-height:260px;object-fit:cover;display:block;transition:transform .35s}.photo:hover img{transform:scale(1.04)}
.photo::after{content:"Voir le projet";position:absolute;left:50%;bottom:18px;transform:translateX(-50%) translateY(12px);opacity:0;background:rgba(0,0,0,.62);backdrop-filter:blur(8px);padding:8px 14px;border-radius:999px;color:white;font-weight:700;transition:opacity .25s,transform .25s;pointer-events:none;white-space:nowrap}.photo:hover::after{opacity:1;transform:translateX(-50%) translateY(0)}
.page-hero{padding-top:96px;padding-bottom:38px;border-bottom:1px solid var(--line)}.page-hero p{max-width:860px;color:var(--muted);font-size:1.15rem}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}.filters button{border:1px solid var(--line);background:#151515;color:var(--text);border-radius:999px;padding:10px 14px;cursor:pointer}.filters button.active{background:var(--gold);color:#111}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;padding-top:32px}.contact-card a{color:var(--gold)}form{display:grid;gap:14px}label{display:grid;gap:6px;color:var(--muted)}input,textarea,select{width:100%;background:#0b0b0b;border:1px solid #333;color:var(--text);border-radius:12px;padding:12px;font:inherit}.form-note{font-size:.9rem;color:var(--muted)}footer{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:34px;padding:48px 5vw;background:#050505;border-top:1px solid var(--line);color:var(--muted)}footer a{color:var(--gold)}.foot-logo{height:70px;width:auto;margin-bottom:14px}@media(max-width:900px){nav{position:fixed;inset:71px 0 auto 0;background:#090909;display:none;flex-direction:column;align-items:flex-start;padding:24px 5vw;border-bottom:1px solid var(--line)}nav.open{display:flex}.menu{display:block}.intro,.contact-layout,footer{grid-template-columns:1fr}.cards,.gallery-grid{grid-template-columns:1fr 1fr}.hero-content{padding-bottom:50px}}@media(max-width:620px){.cards,.gallery-grid{grid-template-columns:1fr}.photo{min-height:230px}.hero{min-height:72vh}}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
