
:root{--bg:#080808;--bg2:#111113;--text:#f4efe7;--muted:#b8aa97;--line:rgba(244,239,231,.14);--gold:#c6a15b;--gold2:#efd5a4;--card:#171719;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 70% 0,#273142 0,#080808 42%),#080808;color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;line-height:1.65}a{color:inherit}img{max-width:100%;display:block}.site-header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:16px clamp(18px,4vw,54px);background:rgba(8,8,8,.78);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.brand img{height:42px;width:auto;filter:drop-shadow(0 0 10px rgba(239,213,164,.18));opacity:1}.brand b{display:block;letter-spacing:.08em;text-transform:uppercase}.brand small{display:block;color:#d8ccb9;font-size:.78rem}.site-header nav{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}.site-header nav a{text-decoration:none;color:#e9dfd1;font-size:.9rem}.site-header nav a:hover{color:var(--gold2)}.hero{min-height:78vh;display:grid;align-items:end;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.05)),var(--hero) center/cover;filter:saturate(1.06) contrast(1.03)}.hero>div{position:relative;width:min(var(--max),calc(100% - 36px));margin:0 auto;padding:120px 0 72px}.eyebrow{color:var(--gold2);text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700}.hero h1,.page h1{font-family:Georgia,serif;font-size:clamp(2.05rem,3.9vw,3.85rem);line-height:1.08;margin:.24em 0;max-width:980px}.lead{font-size:clamp(1rem,1.35vw,1.18rem);color:#eadfcd;max-width:780px}.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;padding:13px 18px;border:1px solid var(--line);text-decoration:none;background:#f1d8a3;color:#111;font-weight:800}.btn.secondary{background:transparent;color:var(--text)}section{padding:68px clamp(18px,4vw,54px)}.wrap{width:min(var(--max),100%);margin:auto}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid.two{grid-template-columns:repeat(2,1fr)}.card{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));border:1px solid var(--line);padding:26px}.card h2,.card h3{font-family:Georgia,serif;margin:.3em 0}.card p,.muted,li{color:var(--muted)}.project-card{padding:0;overflow:hidden}.project-card img{height:250px;width:100%;object-fit:cover}.project-card div{padding:22px}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:38px;align-items:center}.dark{background:#050505;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.page{padding-top:80px}.page h1{font-size:clamp(1.85rem,3vw,3rem)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery img{height:280px;object-fit:cover;width:100%}.faq details{border-top:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-weight:800}footer{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:28px;padding:52px clamp(18px,4vw,54px);border-top:1px solid var(--line);background:#070707;color:var(--muted)}footer b{color:var(--text)}.note{border-left:3px solid var(--gold);padding-left:18px;color:#e8dcc9}.pillrow{display:flex;gap:8px;flex-wrap:wrap}.pill{border:1px solid var(--line);padding:6px 10px;color:var(--muted);font-size:.88rem}@media(max-width:850px){.site-header{align-items:flex-start;flex-direction:column}.grid,.grid.two,.split,footer{grid-template-columns:1fr}.hero{min-height:70vh}.gallery{grid-template-columns:1fr}.project-card img{height:220px}}

.gallery a{display:block;position:relative;overflow:hidden}.gallery a:after{content:"Voir en HD";position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.66);color:#fff;border:1px solid rgba(255,255,255,.25);padding:5px 8px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;opacity:0;transition:.2s}.gallery a:hover:after{opacity:1}.gallery a:hover img{transform:scale(1.025)}.gallery img{transition:transform .25s ease}.lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:999;display:none;align-items:center;justify-content:center;padding:28px}.lightbox-overlay.open{display:flex}.lightbox-overlay img{max-width:96vw;max-height:90vh;object-fit:contain;box-shadow:0 20px 80px rgba(0,0,0,.7)}.lightbox-close{position:fixed;top:18px;right:22px;background:#f1d8a3;color:#111;border:0;padding:10px 14px;font-weight:800;cursor:pointer}.lightbox-caption{position:fixed;left:28px;bottom:18px;color:#eadfcd;font-size:.9rem;max-width:70vw}

body{font-size:16px}h2{font-size:clamp(1.55rem,2.4vw,2.35rem);line-height:1.16}h3{font-size:clamp(1.1rem,1.6vw,1.45rem)}.project-seo-copy{max-width:860px}.project-seo-copy p{font-size:1.04rem;color:#d8ccb9}.project-carousel{position:relative}.carousel-stage{position:relative;background:#050505;border:1px solid var(--line);overflow:hidden}.carousel-slide{display:none;margin:0}.carousel-slide.active{display:block}.carousel-slide img{width:100%;height:min(72vh,720px);object-fit:contain;background:#050505}.carousel-slide figcaption{padding:12px 16px;color:#b8aa97;font-size:.92rem;border-top:1px solid var(--line)}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:64px;border:1px solid rgba(255,255,255,.24);background:rgba(0,0,0,.48);color:#fff;font-size:2.4rem;line-height:1;cursor:pointer}.carousel-btn:hover{background:#f1d8a3;color:#111}.carousel-btn.prev{left:14px}.carousel-btn.next{right:14px}.carousel-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px;margin-top:12px}.carousel-thumb{padding:0;border:2px solid transparent;background:#111;cursor:pointer;opacity:.62}.carousel-thumb.active{border-color:#f1d8a3;opacity:1}.carousel-thumb img{height:74px;width:100%;object-fit:cover}.carousel-help{margin-top:10px;font-size:.92rem}@media(max-width:850px){.carousel-slide img{height:54vh}.carousel-btn{width:40px;height:54px}.hero h1,.page h1{font-size:clamp(1.9rem,9vw,2.8rem)}}

.home-image-break{background:linear-gradient(180deg,#0a0a0b,#111113)}.home-image-break figure{margin:0;border:1px solid var(--line);background:#050505}.home-image-break figure img{width:100%;height:min(62vh,620px);object-fit:cover}.home-image-break figcaption{padding:12px 14px;color:#b8aa97;font-size:.9rem}.small-seo{font-size:.9rem;opacity:.78}h2{font-size:clamp(1.42rem,2vw,2.05rem)}


/* Contact form + responsive refinements */
.contact-card{align-self:start}.contact-form{display:grid;gap:14px;margin-top:18px}.contact-form label{display:grid;gap:7px;color:#eadfcd;font-size:.94rem}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:0;background:#0b0b0c;color:var(--text);padding:12px 13px;font:inherit;outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:rgba(239,213,164,.72);box-shadow:0 0 0 3px rgba(198,161,91,.13)}.contact-form textarea{resize:vertical;min-height:150px}.form-note{margin:.2rem 0 0;color:#b8aa97;font-size:.9rem}.muted{color:#b8aa97}.contact-form .btn{justify-content:center;cursor:pointer}
@media(max-width:980px){.site-header{align-items:flex-start;flex-direction:column;gap:12px}.site-header nav{width:100%;justify-content:flex-start;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.site-header nav a{white-space:nowrap;padding:5px 0}.brand img{height:36px}.hero{min-height:68vh}.hero>div{padding:92px 0 54px}.split{grid-template-columns:1fr!important;gap:28px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}footer{grid-template-columns:1fr!important}}
@media(max-width:640px){body{font-size:15px;line-height:1.58}.site-header{position:relative;padding:14px 16px}.brand{gap:10px}.brand small{font-size:.72rem}.site-header nav{font-size:.86rem}.hero{min-height:auto}.hero>div,.page section{width:calc(100% - 28px)!important;padding-top:56px;padding-bottom:44px}.hero h1,.page h1{font-size:clamp(1.72rem,8.2vw,2.35rem);line-height:1.1}.lead{font-size:1rem}.eyebrow{font-size:.68rem;letter-spacing:.14em}.btns{gap:10px;margin-top:22px}.btn{width:100%;justify-content:center;text-align:center}.cards{grid-template-columns:1fr!important;gap:14px}.card{padding:18px!important}.home-image-break figure img{height:auto;max-height:none}.carousel-slide img{height:58vh;max-height:520px}.carousel-btn{width:36px;height:46px;font-size:1.8rem}.carousel-btn.prev{left:8px}.carousel-btn.next{right:8px}.carousel-thumbs{grid-template-columns:repeat(4,1fr);gap:7px}.carousel-thumb img{height:56px}.lightbox-overlay{padding:14px}.lightbox-close{top:10px;right:10px}.lightbox-caption{left:14px;right:14px;bottom:10px;max-width:none;font-size:.78rem}.contact-form{gap:12px}.contact-form input,.contact-form select,.contact-form textarea{padding:11px 12px}}
@media(max-width:390px){.hero h1,.page h1{font-size:1.62rem}.carousel-thumbs{grid-template-columns:repeat(3,1fr)}.carousel-slide img{height:52vh}.brand b{font-size:.92rem}}

.contact-form button[disabled]{opacity:.62;cursor:wait}.form-success{color:#a8e6b1}.form-error{color:#ffb4a8}

.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,8,8,.42),rgba(8,8,8,0) 42%);pointer-events:none}.hero>div{z-index:1}@media(max-width:640px){.hero:before{background:linear-gradient(180deg,rgba(0,0,0,.38),rgba(0,0,0,.68)),var(--hero) center/cover;filter:saturate(1.08) contrast(1.04)}}

.proof-line{margin:18px 0 0;color:#f4e8d4;font-size:.95rem;letter-spacing:.02em;max-width:860px}.hero .proof-line{background:rgba(0,0,0,.28);border:1px solid rgba(244,239,231,.16);display:inline-block;padding:9px 12px}


.section-note{max-width:760px;color:var(--muted);margin:10px 0 28px;font-size:.98rem}.proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}.proof-grid span,.service-detail,.project-facts{font-size:.92rem;color:var(--muted)}.proof-grid span{border:1px solid rgba(244,239,231,.14);background:rgba(255,255,255,.035);padding:12px 14px}.service-detail{border-top:1px solid rgba(244,239,231,.1);padding-top:14px;margin-top:14px}.project-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0 28px}.project-facts div{border:1px solid rgba(244,239,231,.12);background:rgba(255,255,255,.035);padding:12px}.project-facts dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-bottom:5px}.project-facts dd{margin:0;color:var(--text)}.project-card.signature{border-color:rgba(201,166,107,.36);background:linear-gradient(135deg,rgba(201,166,107,.08),rgba(255,255,255,.025))}.project-card.signature img{min-height:260px;object-fit:cover}@media(max-width:760px){.proof-grid,.project-facts{grid-template-columns:1fr}.project-card.signature img{min-height:auto}}


/* Visual breathing blocks added after pass 2.5 */
.visual-strip{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:14px;margin:30px 0 34px}.visual-card{margin:0;position:relative;overflow:hidden;border:1px solid rgba(244,239,231,.14);background:#050505}.visual-card img{width:100%;height:250px;object-fit:cover;filter:saturate(1.02) contrast(1.02);transition:transform .35s ease}.visual-card:hover img{transform:scale(1.025)}.visual-card figcaption,.about-portrait figcaption,.contact-visual-panel figcaption{position:absolute;left:12px;right:12px;bottom:10px;padding:7px 9px;background:rgba(0,0,0,.52);border:1px solid rgba(255,255,255,.13);color:#eadfcd;font-size:.82rem}.visual-strip .visual-card:first-child img{height:320px}.card-visual{width:calc(100% + 48px);max-width:none;margin:-24px -24px 18px;height:190px;object-fit:cover;border-bottom:1px solid rgba(244,239,231,.12)}.service-card{overflow:hidden}.visual-mosaic{display:grid;grid-template-columns:1.45fr .75fr;gap:14px;margin:30px 0 36px}.visual-mosaic figure{margin:0;border:1px solid rgba(244,239,231,.14);background:#050505;position:relative;overflow:hidden}.visual-mosaic img{width:100%;object-fit:cover}.visual-mosaic .visual-large img{height:520px}.visual-mosaic>div{display:grid;gap:14px}.visual-mosaic>div .visual-card img{height:253px}.about-portrait,.contact-visual-panel{margin:24px 0 0;position:relative;overflow:hidden;border:1px solid rgba(244,239,231,.14);background:#050505}.about-portrait img,.contact-visual-panel img{width:100%;height:330px;object-fit:cover}.visual-card-list{overflow:hidden}.faq .visual-strip{margin-bottom:28px}.service-detail-visual{margin-top:26px}@media(max-width:900px){.visual-strip,.visual-mosaic{grid-template-columns:1fr}.visual-strip .visual-card:first-child img,.visual-card img,.visual-mosaic .visual-large img,.visual-mosaic>div .visual-card img{height:260px}.card-visual{width:calc(100% + 36px);margin:-18px -18px 16px;height:180px}}@media(max-width:640px){.visual-strip{gap:10px;margin:22px 0 28px}.visual-card img,.visual-strip .visual-card:first-child img,.visual-mosaic .visual-large img,.visual-mosaic>div .visual-card img,.about-portrait img,.contact-visual-panel img{height:220px}.visual-card figcaption,.about-portrait figcaption,.contact-visual-panel figcaption{font-size:.76rem}}

/* Visual alignment fix — consistent crops and captions */
.visual-strip{
  align-items:stretch;
}
.visual-strip .visual-card{
  display:flex;
  min-height:0;
  height:280px;
}
.visual-strip .visual-card img{
  width:100%;
  height:100% !important;
  object-fit:cover;
  object-position:center center;
}
.visual-strip .visual-card:first-child img{
  height:100% !important;
}
.visual-strip .visual-card figcaption{
  min-height:42px;
  display:flex;
  align-items:center;
  bottom:12px;
}
.faq-visual,
.services-visual,
.method-visual{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
@media(max-width:900px){
  .visual-strip .visual-card{height:250px;}
}
@media(max-width:640px){
  .visual-strip .visual-card{height:220px;}
  .visual-strip .visual-card figcaption{min-height:auto;}
}

/* Portfolio / project carousel refinements — pass 3 */
.project-carousel .carousel-stage{box-shadow:0 24px 70px rgba(0,0,0,.28)}
.project-carousel .lightbox-link{position:relative;display:block;cursor:zoom-in}
.project-carousel .lightbox-link::after{content:"Voir en HD";position:absolute;right:16px;bottom:16px;padding:8px 11px;background:rgba(0,0,0,.58);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;opacity:.86;transform:none;transition:.22s ease}
.project-carousel .lightbox-link:hover::after{opacity:1;background:rgba(0,0,0,.72)}
.carousel-count{position:absolute;left:16px;bottom:16px;z-index:2;padding:7px 10px;background:rgba(0,0,0,.56);border:1px solid rgba(255,255,255,.18);color:#eadfcd;font-size:.82rem;letter-spacing:.08em}
.carousel-thumb{cursor:pointer;opacity:.68;border:1px solid rgba(244,239,231,.16);transition:opacity .18s ease,border-color .18s ease,transform .18s ease}
.carousel-thumb:hover{opacity:1;border-color:rgba(239,213,164,.55)}
.carousel-thumb.active{opacity:1;border-color:var(--gold);box-shadow:0 0 0 1px rgba(198,161,91,.55)}
.clickable-card{cursor:pointer;transition:transform .22s ease,border-color .22s ease,background .22s ease}
.clickable-card:hover{transform:translateY(-3px);border-color:rgba(239,213,164,.42);background:rgba(255,255,255,.045)}
.clickable-card:hover img{transform:scale(1.025)}
.clickable-card img{transition:transform .28s ease}
.clickable-card a{position:relative;z-index:1}
.card a[href*="realisations/"]{color:var(--gold2);text-decoration:none;border-bottom:1px solid rgba(239,213,164,.28)}
.card a[href*="realisations/"]:hover{border-bottom-color:rgba(239,213,164,.78)}
.portfolio-separator{grid-column:1/-1;margin:22px 0 4px;padding:22px 0 8px;border-top:1px solid rgba(244,239,231,.14)}
.portfolio-separator h2{margin:.2rem 0 .35rem}.portfolio-separator p{max-width:760px;margin:0;color:var(--muted)}
.project-card img[src*="projets-blog"]{height:260px;object-fit:cover;background:#050505}
@media(max-width:640px){.project-carousel .lightbox-link::after{opacity:1;right:10px;bottom:10px;font-size:.68rem}.carousel-count{left:10px;bottom:10px}.portfolio-separator{padding-top:18px;margin-top:14px}.project-card img[src*="projets-blog"]{height:170px}}


/* Trust, portrait and France contact additions — pass 4 */
.trust-section{background:linear-gradient(180deg,#111113,#09090a);border-top:1px solid rgba(244,239,231,.08);border-bottom:1px solid rgba(244,239,231,.08)}
.client-logo-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:24px}
.client-logo-strip span{display:flex;align-items:center;justify-content:center;min-height:58px;padding:12px 10px;border:1px solid rgba(244,239,231,.14);background:rgba(255,255,255,.035);color:#eadfcd;text-align:center;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;filter:grayscale(1)}
.client-logo-strip span:hover{border-color:rgba(239,213,164,.42);background:rgba(198,161,91,.07)}
.about-portrait-person img{height:430px;object-fit:cover;object-position:center center;filter:grayscale(.08) contrast(1.03)}
.trust-note{margin-top:20px;border-top:1px solid rgba(244,239,231,.12);padding-top:16px;color:#d8ccb9}.trust-note strong{color:#f4efe7}.trust-note p{margin:.35rem 0 0}
.france-card{margin-top:18px}.france-map{margin:12px 0 16px;border:1px solid rgba(244,239,231,.12);background:radial-gradient(circle at 62% 76%,rgba(198,161,91,.18),transparent 22%),rgba(255,255,255,.025);padding:16px}.france-map svg{width:100%;height:auto;max-height:230px}.france-map path{fill:rgba(244,239,231,.06);stroke:rgba(239,213,164,.65);stroke-width:3}.france-map circle{fill:var(--gold2);stroke:#09090a;stroke-width:3}.france-map text{fill:#f4efe7;font-size:14px;font-weight:700;letter-spacing:.02em}
@media(max-width:900px){.client-logo-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.about-portrait-person img{height:360px}}
@media(max-width:640px){.client-logo-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.client-logo-strip span{min-height:50px;font-size:.7rem}.about-portrait-person img{height:auto}.france-map{padding:12px}}


/* Real logo grid refinement — pass 5 */
.client-logo-strip-real a,
.client-logo-strip-real span{display:flex;align-items:center;justify-content:center;min-height:72px;padding:14px 16px;border:1px solid rgba(244,239,231,.14);background:rgba(255,255,255,.035);text-decoration:none;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.client-logo-strip-real a:hover,
.client-logo-strip-real span:hover{transform:translateY(-2px);border-color:rgba(239,213,164,.42);background:rgba(198,161,91,.07)}
.client-logo-strip-real img{max-width:130px;max-height:42px;width:auto;height:auto;object-fit:contain;filter:grayscale(1) brightness(1.45) contrast(.9);opacity:.88}
.client-logo-strip-real a:hover img{filter:grayscale(.2) brightness(1.2);opacity:1}
.client-logo-strip-real span{color:#eadfcd;text-align:center;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.78rem}


/* Pass 6 — logo visibility + compact mobile portfolio */
.brand img{
  height:54px;
  filter:brightness(0) invert(1) drop-shadow(0 0 12px rgba(239,213,164,.22));
  opacity:.98;
}
.brand b{font-size:1.02rem;letter-spacing:.1em}
.realisations-mosaic{display:none!important}

@media(max-width:980px){
  .site-header{gap:8px;padding:12px 16px}
  .brand img{height:46px}
  .site-header nav{gap:14px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}
  .hero{min-height:58vh}
  .hero>div{padding:72px 0 46px}
}
@media(max-width:640px){
  .site-header{padding:9px 12px;gap:6px}
  .brand{gap:9px}
  .brand img{height:42px}
  .brand b{font-size:.95rem}
  .brand small{display:none}
  .site-header nav{font-size:.78rem;gap:12px;line-height:1.2}
  .site-header nav a{padding:3px 0}
  .hero>div,.page section{padding-top:38px!important;padding-bottom:34px!important}
  .page h1{font-size:clamp(1.58rem,7vw,2.05rem)}
  .lead{font-size:.95rem}
  .section-note{margin:8px 0 18px;font-size:.9rem}
  .grid.two{gap:12px}
  .project-card.signature img,.card-visual{height:170px;min-height:0;object-fit:cover}
  .card{padding:16px!important}
  .card h2{font-size:1.16rem}
  .project-facts{gap:7px;margin:14px 0 18px}
  .project-facts div{padding:9px 10px}
}
/* Reduce the first-screen vertical delay before the real content */
.page>section:first-child{padding-top:54px!important}
@media(max-width:640px){.page>section:first-child{padding-top:28px!important}}

@media(max-width:390px){
  .site-header nav{gap:10px;font-size:.75rem}
  .brand img{height:38px}
}

/* Pass 9 — project back link and contact location */
.project-back{display:inline-flex;align-items:center;gap:6px;margin:0 0 18px;padding:8px 12px;border:1px solid rgba(244,239,231,.16);background:rgba(255,255,255,.035);color:#eadfcd;text-decoration:none;font-size:.88rem;letter-spacing:.02em;transition:.2s}
.project-back:hover{border-color:rgba(239,213,164,.55);background:rgba(198,161,91,.12);transform:translateX(-2px)}
.contact-location-card .btn{margin-top:6px;width:auto}
.hero .btns .secondary{background:rgba(255,255,255,.045)}


/* Pass 10 — portfolio chronology, visible home image, social links, extended logos */
.home-hero-visual{background:#09090a;padding:34px 0 54px}
.home-hero-visual figure{margin:0;border:1px solid rgba(244,239,231,.14);background:#050505}
.home-hero-visual img{width:100%;height:min(62vh,680px);object-fit:cover}
.home-hero-visual figcaption{padding:12px 14px;color:#b8aa97;font-size:.9rem}
.social-links a{color:#eadfcd;text-decoration:none;border-bottom:1px solid rgba(239,213,164,.28)}
.social-links a:hover{color:#efd5a4;border-bottom-color:#efd5a4}
.social-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.social-buttons a{border:1px solid rgba(244,239,231,.16);padding:8px 11px;background:rgba(255,255,255,.035)}
.client-logo-grid .client-logo img,.trust-logos .client-logo img,.logo-grid .client-logo img{max-height:54px;object-fit:contain}
@media(max-width:640px){.home-hero-visual{padding:20px 0 36px}.home-hero-visual img{height:42vh}}

/* Pass 11 — hero visibility + compact project intro + social icon pills */
.hero:before{background:linear-gradient(90deg,rgba(0,0,0,.34),rgba(0,0,0,.03)),var(--hero) center/cover;filter:saturate(1.08) contrast(1.05) brightness(1.02)}
.hero:after{background:linear-gradient(0deg,rgba(8,8,8,.18),rgba(8,8,8,0) 44%)}
.page>section:first-child{padding-top:34px!important;padding-bottom:22px!important}
.page>section:first-child .lead{margin:.12rem 0 .7rem;max-width:860px}
.page>section:first-child .project-facts{margin:10px 0 8px;gap:8px}
.page>section:first-child .project-facts div{padding:9px 10px}
.page>section:first-child .project-carousel{margin-top:4px}
.page>section:first-child .carousel-stage{margin-top:0}
.page>section:first-child .carousel-help{margin-top:6px;margin-bottom:4px}
.page>section:first-child .project-back{margin:0 0 10px}
.social-buttons a,footer a[href*="instagram"],footer a[href*="linkedin"],footer a[href*="behance"],footer a[href*="facebook"],footer a[href*="youtube"]{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(244,239,231,.16);padding:8px 11px;background:rgba(255,255,255,.035);border-radius:999px;text-decoration:none;transition:.2s ease}
.social-buttons a:hover,footer a[href*="instagram"]:hover,footer a[href*="linkedin"]:hover,footer a[href*="behance"]:hover,footer a[href*="facebook"]:hover,footer a[href*="youtube"]:hover{border-color:rgba(239,213,164,.55);background:rgba(198,161,91,.12);transform:translateY(-1px)}
.social-buttons a::before,footer a[href*="instagram"]::before,footer a[href*="linkedin"]::before,footer a[href*="behance"]::before,footer a[href*="facebook"]::before,footer a[href*="youtube"]::before{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;border:1px solid rgba(239,213,164,.52);font-size:.62rem;color:#efd5a4;font-weight:700;letter-spacing:.02em;content:"RS"}
.social-buttons a[href*="instagram"]::before,footer a[href*="instagram"]::before{content:"IG"}
.social-buttons a[href*="linkedin"]::before,footer a[href*="linkedin"]::before{content:"IN"}
.social-buttons a[href*="behance"]::before,footer a[href*="behance"]::before{content:"BE"}
.social-buttons a[href*="facebook"]::before,footer a[href*="facebook"]::before{content:"FB"}
.social-buttons a[href*="youtube"]::before,footer a[href*="youtube"]::before{content:"YT"}
@media(max-width:640px){.hero:before{background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.46)),var(--hero) center/cover}.page>section:first-child{padding-top:20px!important;padding-bottom:10px!important}.page>section:first-child .project-facts{margin:6px 0 4px;gap:6px}.page>section:first-child .project-facts div{padding:8px 9px}.page>section:first-child .carousel-slide img{height:min(64vh,480px)}}

/* Pass 15 — hero hard-fix (image visible, no "below hero" effect) */
.hero{min-height:56vh;max-height:640px}
.hero>div{padding:72px 0 42px}
.hero:before{background:linear-gradient(90deg,rgba(0,0,0,.22),rgba(0,0,0,.04)),var(--hero) center 36%/cover no-repeat;filter:saturate(1.08) contrast(1.04) brightness(1.06)}
.hero:after{background:linear-gradient(0deg,rgba(8,8,8,.12),rgba(8,8,8,0) 46%)}
.page>section:first-child{padding-bottom:12px!important}
.page>section:first-child .project-facts{margin:6px 0 4px;gap:7px}
.page>section:first-child .project-facts div{padding:8px 10px}
.page>section:first-child + section{padding-top:8px!important}
.page>section:first-child + section .wrap{padding-top:0!important}
.page .project-carousel,.page .gallery,.page .carousel-stage{margin-top:0!important}

/* Pass 13 — contact/footer social distribution */
.social-footer{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:10px;align-items:stretch}
.social-footer a{justify-content:center;text-align:center;min-height:40px}
.contact-social-card .social-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.contact-social-card .social-buttons a{justify-content:center;text-align:center;min-height:42px}
@media(max-width:900px){.social-footer{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-social-card .social-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
@media(max-width:640px){.social-footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}}

/* Pass 13b — services card visuals harmonized */
.service-card .card-visual{height:200px;object-position:center center}
@media(max-width:900px){.service-card .card-visual{height:185px}}
@media(max-width:640px){.service-card .card-visual{height:170px}}

/* Pass 16 — hero final: image réelle DANS le hero, pas une section en dessous */
.hero.hero-with-image{
  min-height:72vh;
  max-height:none;
  display:grid;
  align-items:end;
  position:relative;
  overflow:hidden;
  background:#080808;
}
.hero.hero-with-image .hero-bg-img{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  width:100%;
  height:auto;
  max-width:none;
  object-fit:contain;
  object-position:center bottom;
  transform:translateY(200px);
  transform-origin:center bottom;
  z-index:0;
  filter:saturate(1.02) contrast(1.02) brightness(.76);
}
.hero.hero-with-image:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.48) 46%,rgba(0,0,0,.24) 100%);
  filter:none;
}
.hero.hero-with-image:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(0deg,rgba(8,8,8,.46),rgba(8,8,8,.08) 52%);
  pointer-events:none;
}
.hero.hero-with-image>div{
  position:relative;
  z-index:2;
  padding:104px 0 72px;
}
@media(max-width:980px){.hero.hero-with-image{min-height:64vh}.hero.hero-with-image>div{padding:82px 0 52px}.hero.hero-with-image .hero-bg-img{object-position:center center}}
@media(max-width:640px){.hero.hero-with-image{min-height:58vh}.hero.hero-with-image>div{padding:48px 0 38px!important}.hero.hero-with-image .hero-bg-img{object-position:center center}}

/* Pass 19 — Google Maps contact */
.google-map-card{margin:16px 0 12px;border:1px solid rgba(244,239,231,.14);background:#050505;overflow:hidden;min-height:230px}
.google-map-card iframe{display:block;width:100%;height:260px;border:0;filter:none}
@media(max-width:640px){.google-map-card iframe{height:220px}}
