.nav .brand{width:340px;height:150px;display:flex;align-items:center;overflow:visible;position:relative;left:-24px;top:18px;background:transparent}.nav .brand>img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:normal;filter:none;background:transparent}
.hero-image img{object-position:center;filter:saturate(.9) contrast(1.03)}
.trade-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#101010;color:#fff;border-top:1px solid rgba(255,255,255,.15)}
.trade-strip span{min-height:100px;display:flex;align-items:center;padding:24px 2vw;border-right:1px solid rgba(255,255,255,.14);font-size:.76rem;letter-spacing:.13em;text-transform:uppercase}
.trade-strip span:before{content:'•';color:var(--copper);font-size:1.4rem;margin-right:14px}
.expertise-photo img{object-position:center;height:100%}
.project-large img{object-position:center}
.reviews{display:grid;grid-template-columns:34% 66%;background:#fff;border-top:1px solid #ddd}
.reviews-brand{display:flex;align-items:center;justify-content:center;gap:18px;border-right:1px solid #ddd;padding:8vw 4vw}
.reviews-brand img{width:62px;height:62px;object-fit:contain}
.reviews-brand span{font-size:2.1rem;letter-spacing:-.04em;color:#4b4b4b}
.reviews-copy{padding:8vw 9vw}
.reviews h2,.instagram h2{font:400 clamp(45px,5vw,82px)/.95 'Italiana',serif;letter-spacing:-.025em;margin:20px 0 30px;text-transform:none}
.reviews h2 i,.instagram h2 i{color:var(--copper);font-weight:400}
.reviews-copy>p:not(.section-no),.instagram-follow p{font-size:1rem;line-height:1.75;color:#5d5852;max-width:540px}
.outline-button{display:inline-flex;align-items:center;gap:18px;border:1px solid #222;padding:16px 22px;margin-top:24px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;transition:.3s}
.outline-button:hover{background:#111;color:#fff;border-color:#111}.outline-button span{color:var(--copper)}
.instagram{padding:10vw 4vw;background:#f4f1eb;color:var(--ink)}
.instagram-head{display:grid;grid-template-columns:1.5fr 1fr;gap:7vw;align-items:end;margin-bottom:55px}
.instagram-title{display:flex;align-items:flex-start;gap:30px}.instagram-title svg{width:54px;height:54px;box-sizing:border-box;padding:8px;border-radius:15px;background:linear-gradient(135deg,#833ab4 0%,#c13584 28%,#e1306c 52%,#fd1d1d 73%,#fcb045 100%);fill:none;stroke:#fff;stroke-width:1.6;flex:0 0 auto;margin-top:10px}.instagram-title h2{margin-bottom:0}.instagram .section-no{color:#716b63}.instagram h2 i{color:var(--copper)}.instagram-follow{padding-bottom:8px}.instagram-follow p{color:#5d5852}.instagram .outline-button{border-color:#222;color:#222}.instagram .outline-button span{color:var(--copper)}.instagram .outline-button:hover{background:#111;color:#fff;border-color:#111}.instagram .outline-button:hover span{color:#fff}
.insta-grid{display:grid;grid-template-columns:1fr .72fr 1fr;gap:16px}.insta-grid figure{margin:0;position:relative;height:520px;overflow:hidden;background:#111}.insta-grid figure:nth-child(2){height:620px;margin-top:-50px}.insta-grid img{height:100%;object-fit:cover;transition:transform .7s,filter .7s}.insta-grid:hover img{filter:brightness(.78)}.insta-grid figure:hover img{transform:scale(1.035);filter:brightness(1)}.insta-grid figcaption{position:absolute;left:18px;bottom:16px;color:#fff;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase}
@media(max-width:800px){.trade-strip{grid-template-columns:1fr 1fr}.trade-strip span{min-height:82px;font-size:.68rem;padding:20px 6vw}.hero-image img{object-position:58% center}.hero h1{max-width:92%}.nav .brand{width:265px;height:155px;left:-14px;top:15px}.expertise-photo img{object-position:55% center}.project-large img{object-position:center}.reviews{grid-template-columns:1fr}.reviews-brand{justify-content:flex-start;padding:16vw 6vw 8vw;border-right:0;border-bottom:1px solid #ddd}.reviews-copy{padding:12vw 6vw 18vw}.instagram{padding:18vw 6vw;background:#f4f1eb}.instagram-head{grid-template-columns:1fr;gap:35px}.instagram-title{gap:16px}.instagram-title svg{width:46px;height:46px;padding:7px;border-radius:13px}.instagram h2,.reviews h2{font-size:13vw}.insta-grid{grid-template-columns:1fr 1fr;gap:9px}.insta-grid figure,.insta-grid figure:nth-child(2){height:270px;margin:0}.insta-grid figure:first-child{grid-column:1/3;height:360px}}

/* Galerie de réalisations réelles */
.project-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:350px 350px 500px;gap:18px}
.project-featured{grid-column:1/8;grid-row:1/3}
.project-secondary{grid-column:8/13}
.project-secondary-top{grid-row:1}
.project-secondary-bottom{grid-row:2}
.project-small{grid-row:3}
.project-small-left{grid-column:1/5}
.project-small-center{grid-column:5/9}
.project-small-center img{object-position:center 38%}
.project-small-right{grid-column:9/13}
.project-featured img{object-position:center}

@media(max-width:800px){
  .hero-image img{object-position:center}
  .expertise-photo{height:72vh}
  .expertise-photo img{object-position:center}
  .project-grid{display:block}
  .project-small{height:48vh}
  .dark-card.project-small{height:310px}
}

/* Projet en cours */
.nav{color:#fff;background:linear-gradient(180deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.18) 72%,transparent 100%)}
.nav nav a{text-shadow:0 1px 12px rgba(0,0,0,.75)}
.hero-image img{object-position:center 58%}
.current-project{padding:10vw 4vw;background:#111;color:#f4f1eb;border-top:1px solid #303030}
.current-project-head{display:grid;grid-template-columns:1.5fr .65fr;gap:7vw;align-items:end;margin-bottom:58px}
.current-project .section-no{color:#aaa49c}
.current-project h2{font:400 clamp(45px,5.5vw,88px)/.92 'Italiana',serif;letter-spacing:-.025em;text-transform:uppercase;margin:20px 0 0}
.current-project h2 i{color:var(--copper);text-transform:none}
.current-project-head>p{max-width:470px;margin:0 0 8px;font-size:17px;line-height:1.75;color:#bdb8b0}
.current-project-images{display:grid;grid-template-columns:1.45fr .75fr;gap:18px;align-items:end}
.current-project-images figure{position:relative;margin:0;overflow:hidden;background:#222}
.current-project-main{height:690px}
.current-project-overview{height:470px}
.current-project-images img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.current-project-images figure:hover img{transform:scale(1.02)}
.current-project-images figcaption{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;gap:20px;padding:70px 24px 22px;background:linear-gradient(transparent,rgba(0,0,0,.82));color:#fff}
.current-project-images figcaption strong{font:26px 'Italiana',serif;font-weight:400}
.current-project-images figcaption span{align-self:end;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#d0c9c0;white-space:nowrap}

@media(max-width:800px){
  .nav nav.is-open{display:flex;position:absolute;top:100px;left:0;right:0;padding:30px 6vw 34px;background:#111;color:#fff;flex-direction:column;gap:27px;border-bottom:1px solid var(--copper);box-shadow:0 18px 35px rgba(0,0,0,.28)}
  .nav nav.is-open a{text-shadow:none}
  .hero-image img{object-position:center}
  .current-project{padding:20vw 4vw}
  .current-project-head{grid-template-columns:1fr;gap:30px;margin-bottom:38px}
  .current-project h2{font-size:12vw}
  .current-project-head>p{font-size:16px}
  .current-project-images{display:block}
  .current-project-main{height:58vh;margin-bottom:14px!important}
  .current-project-overview{height:40vh}
  .current-project-images figcaption{display:block;padding:60px 18px 18px}
  .current-project-images figcaption strong{display:block;font-size:23px;margin-bottom:8px}
  .current-project-images figcaption span{font-size:10px}
}

/* Règle typographique unique : aucun titre en italique */
.hero h1 em,
h2 i,
.current-project h2 i,
.reviews h2 i,
.instagram h2 i{font-style:normal!important}

/* Preuve technique, volontairement placée en fin de parcours */
.technical-proof{display:grid;grid-template-columns:42% 58%;background:#e8e3da;color:var(--ink);border-top:1px solid var(--line)}
.technical-proof-image{min-height:720px;padding:5vw;background:#ded8ce;display:flex;align-items:center;justify-content:center}
.technical-proof-image img{width:100%;height:100%;max-height:650px;object-fit:contain}
.technical-proof-copy{padding:10vw 8vw;display:flex;flex-direction:column;justify-content:center}
.technical-proof h2{font:400 clamp(45px,5vw,80px)/.95 'Italiana',serif;letter-spacing:-.025em;text-transform:uppercase;margin:22px 0 38px}
.technical-proof h2 i{color:var(--copper)}
.technical-proof-copy>p:last-child{max-width:560px;margin:0;font-size:17px;line-height:1.8;color:#514c45}

@media(max-width:800px){
  .technical-proof{display:flex;flex-direction:column-reverse}
  .technical-proof-copy{padding:18vw 6vw 12vw}
  .technical-proof h2{font-size:12vw}
  .technical-proof-image{min-height:auto;height:62vh;padding:10vw}
  .technical-proof-image img{max-height:100%}
}

/* Typographie de marque : premium, architecturale et parfaitement droite */
.hero h1,
.manifesto h2,
.expertise h2,
.projects h2,
.reviews h2,
.instagram h2,
.current-project h2,
.technical-proof h2,
.contact h2,
.project h3,
.dark-card p,
.current-project-images figcaption strong,
.mail{font-family:'Tenor Sans',sans-serif!important}

/* Le titre d’accueil conserve la signature plus luxueuse d’origine */
.hero h1{font-family:'Italiana',serif!important}

/* Sélecteur de langue */
.lang-switch{display:flex;align-items:center;gap:5px;margin-left:2px;white-space:nowrap}
.lang-switch button{appearance:none;border:0;background:transparent;padding:3px 0;color:inherit;font:600 11px/1 'DM Sans',sans-serif;letter-spacing:.1em;cursor:pointer;opacity:.42;display:flex;align-items:center;gap:4px}
.lang-switch button.is-active{color:var(--copper);opacity:1}
.lang-switch span{font-size:10px;opacity:.35}
.lang-switch button>span:first-child{font-size:17px;line-height:1;opacity:1;filter:saturate(.88)}
.lang-switch .lang-label{font-size:10px;opacity:1}

/* Recharge électrique IRVE */
.irve{display:grid;grid-template-columns:55% 45%;background:#111;color:#f4f1eb}
.irve-copy{padding:9vw 8vw 9vw 7vw;display:flex;flex-direction:column;justify-content:center}
.irve .section-no{color:#a8a39c}
.irve-badge{align-self:flex-start;margin:28px 0 34px;padding:11px 15px;border:1px solid var(--copper);color:#fff;font-size:11px;letter-spacing:.15em;text-transform:uppercase}
.irve h2{font:400 clamp(45px,5vw,80px)/.95 'Tenor Sans',sans-serif;letter-spacing:-.025em;text-transform:uppercase;margin:0 0 36px}
.irve h2 i{color:var(--copper)}
.irve-copy>p:not(.section-no):not(.irve-badge){max-width:570px;margin:0;font-size:17px;line-height:1.8;color:#bdb8b0}
.irve .outline-button{align-self:flex-start;border-color:#777;color:#fff;margin-top:36px}
.irve-image{position:relative;margin:0;min-height:760px;overflow:hidden;background:#222}
.irve-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.88)}
.irve-image figcaption{position:absolute;left:22px;bottom:20px;padding:9px 12px;background:rgba(0,0,0,.66);color:#fff;font-size:10px;letter-spacing:.14em;text-transform:uppercase}

/* Engagement matériel et approvisionnement professionnel */
.material-quality{padding:10vw 7vw;background:#f4f1eb;color:var(--ink);border-top:1px solid var(--line)}
.material-quality-head{display:grid;grid-template-columns:25% 75%;align-items:start}
.material-quality h2{font:400 clamp(45px,5.2vw,84px)/.95 'Tenor Sans',sans-serif;letter-spacing:-.025em;text-transform:uppercase;margin:0}
.material-quality h2 i{color:var(--copper)}
.material-quality-content{display:grid;grid-template-columns:1fr 1fr;gap:7vw;margin:70px 0 65px;padding-left:25%;font-size:17px;line-height:1.8;color:#514c45}
.material-quality-content p{margin:0}
.material-quality-content strong{color:#111;font-weight:600}
.brand-list{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);background:#fff}
.brand-logo{min-height:112px;display:flex;align-items:center;justify-content:center;padding:24px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.brand-logo img{width:100%;height:48px;object-fit:contain}
.brand-logo:last-child img{height:62px}

@media(max-width:800px){
  .irve{display:flex;flex-direction:column}
  .irve-copy{padding:18vw 6vw}
  .irve h2{font-size:12vw}
  .irve-image{min-height:0;height:62vh}
  .material-quality{padding:18vw 6vw}
  .material-quality-head{display:block}
  .material-quality h2{font-size:12vw;margin-top:26px}
  .material-quality-content{display:block;padding:0;margin:45px 0}
  .material-quality-content p+p{margin-top:24px}
  .brand-list{grid-template-columns:1fr 1fr}
  .brand-logo{min-height:92px;padding:20px}
  .brand-logo img{height:42px}
  .brand-logo:last-child img{height:54px}
  .nav nav .lang-switch{margin-top:8px}
}

@media(max-width:1450px) and (min-width:801px){
  .nav nav{gap:18px;font-size:12px}
  .lang-switch{gap:4px}
  .contact-link{padding:13px 14px}
}

/* Hiérarchie typographique plus lisible sur ordinateur */
@media(min-width:801px){
  .section-no{font-size:15px;font-weight:600;letter-spacing:.16em;line-height:1.45}
  .manifesto h2,.expertise h2,.projects h2,.current-project h2,.reviews h2,.instagram h2,.technical-proof h2,.irve h2,.material-quality h2,.quote-intro h2,.contact h2{font-size:clamp(40px,4.25vw,66px)!important;line-height:1!important}
}

/* Avis Google authentiques */
.reviews{display:block;padding:10vw 7vw;background:#f4f1eb;color:var(--ink);border-top:1px solid var(--line)}
.reviews-head{display:grid;grid-template-columns:58% 42%;align-items:end;margin-bottom:62px}
.reviews-head h2{font:400 clamp(45px,5.2vw,84px)/.95 'Tenor Sans',sans-serif!important;letter-spacing:-.025em;text-transform:uppercase;margin:22px 0 0}
.reviews-head h2 i{color:var(--copper)}
.reviews-head>p{max-width:500px;margin:0 0 7px;font-size:17px;line-height:1.75;color:#5d5852}
.google-review-panel{padding:48px;background:#111;color:#f4f1eb}
.google-review-summary{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:38px;border-bottom:1px solid #363636}
.google-review-brand{display:flex;align-items:center;gap:16px}
.google-review-brand img{width:48px;height:48px;object-fit:contain}
.google-review-brand strong{display:block;font-size:22px;font-weight:500}
.google-review-brand span{display:block;margin-top:4px;color:#a8a39c;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.google-review-summary>div:last-child{text-align:right}
.google-score{display:flex;align-items:center;justify-content:flex-end;gap:16px}
.google-score strong{font:400 44px/1 'Tenor Sans',sans-serif}
.google-stars,.review-stars{color:#d89a55;letter-spacing:.12em}
.google-review-summary p{margin:9px 0 0;color:#a8a39c;font-size:13px}
.review-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:1px 0 0;background:#363636}
.review-card{min-height:245px;padding:34px;background:#181818;display:flex;flex-direction:column}
.review-card blockquote{margin:26px 0 32px;font:400 19px/1.48 'Tenor Sans',sans-serif;color:#f4f1eb}
.review-card>p{margin:auto 0 0;color:#a8a39c;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.google-review-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:34px}
.google-review-actions .outline-button{color:#fff;border-color:#5b5b5b}
.google-review-actions .review-button{background:var(--copper);border-color:var(--copper)}

/* Demande de devis */
.quote-request{display:grid;grid-template-columns:38% 62%;background:#e8e3da;color:var(--ink);border-top:1px solid var(--line)}
.quote-intro{padding:9vw 5vw 9vw 7vw}
.quote-intro h2{font:400 clamp(45px,5vw,80px)/.95 'Tenor Sans',sans-serif;letter-spacing:-.025em;text-transform:uppercase;margin:25px 0 38px}
.quote-intro h2 i{color:var(--copper)}
.quote-intro>p:not(.section-no):not(.quote-contact){font-size:17px;line-height:1.8;color:#514c45}
.quote-contact{margin-top:52px;color:#79736b;font-size:13px;line-height:1.7}
.quote-contact a{font:400 26px 'Tenor Sans',sans-serif;color:#111;text-decoration:none}
.quote-form{padding:8vw 7vw;background:#f4f1eb;border-left:1px solid var(--line)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.quote-form label{display:block;margin-bottom:24px;color:#514c45;font-size:11px;font-weight:600;letter-spacing:.11em;text-transform:uppercase}
.quote-form input,.quote-form select,.quote-form textarea{box-sizing:border-box;width:100%;margin-top:10px;padding:15px 0;border:0;border-bottom:1px solid #bdb5a9;border-radius:0;background:transparent;color:#111;font:400 16px/1.4 'DM Sans',sans-serif;outline:none}
.quote-form textarea{min-height:130px;resize:vertical}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--copper)}
.quote-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-width:310px;margin-top:8px;padding:17px 20px;border:1px solid var(--copper);background:var(--copper);color:#fff;font:600 11px/1 'DM Sans',sans-serif;letter-spacing:.11em;text-transform:uppercase;cursor:pointer}
.form-note{max-width:600px;margin:20px 0 0;color:#79736b;font-size:11px;line-height:1.6}

@media(max-width:800px){
  .reviews{padding:18vw 6vw}
  .reviews-head{display:block;margin-bottom:38px}
  .reviews-head h2{font-size:12vw;margin-bottom:28px}
  .google-review-panel{padding:25px 18px}
  .google-review-summary{display:block;padding-bottom:28px}
  .google-review-summary>div:last-child{text-align:left;margin-top:26px}
  .google-score{justify-content:flex-start}
  .review-cards{grid-template-columns:1fr}
  .review-card{min-height:210px;padding:28px 24px}
  .review-card blockquote{font-size:20px}
  .google-review-actions{display:grid;grid-template-columns:1fr;padding-top:24px}
  .google-review-actions .outline-button{justify-content:space-between}
  .quote-request{display:block}
  .quote-intro{padding:18vw 6vw 12vw}
  .quote-intro h2{font-size:12vw}
  .quote-form{padding:14vw 6vw;border-left:0;border-top:1px solid var(--line)}
  .form-row{grid-template-columns:1fr;gap:0}
  .quote-submit{width:100%;min-width:0}
}

/* Portrait de l’entreprise familiale */
.story-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:5vw;align-items:end}
.story-layout figure{position:relative;margin:0;overflow:hidden;background:#ddd}
.story-layout img{aspect-ratio:4/3;object-fit:cover}
.story-layout figcaption{position:absolute;right:16px;bottom:14px;padding:8px 10px;background:rgba(0,0,0,.66);color:#fff;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.manifesto .story-layout>p{margin:0;max-width:520px;font-size:18px;line-height:1.8;color:#504b45}

@media(max-width:1100px) and (min-width:801px){.review-cards{grid-template-columns:1fr 1fr}}
@media(max-width:800px){
  .story-layout{display:block}
  .story-layout figure{margin-bottom:34px}
.manifesto .story-layout>p{font-size:17px}
}

/* Réponses locales et expertise, lisibles par les visiteurs comme par les moteurs */
.faq{display:grid;grid-template-columns:42% 58%;padding:10vw 7vw;background:#111;color:#f4f1eb;border-top:1px solid #303030}
.faq-heading{padding-right:7vw}
.faq .section-no{color:#a8a39c}
.faq h2{font:400 clamp(45px,5vw,80px)/.98 'Tenor Sans',sans-serif;letter-spacing:-.025em;text-transform:uppercase;margin:26px 0 36px}
.faq h2 i{color:var(--copper)}
.faq-heading>p:last-child{max-width:520px;margin:0;color:#aaa49c;font-size:17px;line-height:1.75}
.faq-list{border-top:1px solid #3a3a3a}
.faq details{border-bottom:1px solid #3a3a3a;padding:0}
.faq summary{position:relative;list-style:none;cursor:pointer;padding:27px 52px 27px 0;font:400 20px/1.45 'Tenor Sans',sans-serif;color:#f4f1eb}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';position:absolute;right:4px;top:24px;color:var(--copper);font:300 28px/1 'DM Sans',sans-serif}
.faq details[open] summary:after{content:'−'}
.faq details p{max-width:720px;margin:-5px 48px 27px 0;color:#bdb8b0;font-size:16px;line-height:1.75}

@media(min-width:801px){.faq h2{font-size:clamp(40px,4.25vw,66px)!important;line-height:1!important}}
@media(max-width:800px){
  .faq{display:block;padding:18vw 6vw}
  .faq-heading{padding:0 0 50px}
  .faq h2{font-size:12vw}
  .faq summary{font-size:18px;padding:24px 42px 24px 0}
  .faq details p{margin:-3px 20px 24px 0;font-size:16px}
}
