.inner-header{position:relative;background:var(--pine)}
.inner-header [aria-current="page"]::after{width:100%!important;background:var(--ochre)!important}

.page-hero{background:var(--pine);padding:90px 0 100px;color:#fff}
.page-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:center}
.page-hero h1{color:#fff}
.page-hero p:not(.eyebrow):not(.breadcrumbs){max-width:620px;color:#d3dcc7;font-size:1.06rem}
.page-hero img{width:100%;height:520px;object-fit:cover;border-radius:26px}
.breadcrumbs{margin-bottom:40px;color:#a9b89b;font-size:.75rem}
.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}

.page-section{padding:100px 0}
.page-heading{max-width:780px;margin-bottom:55px}
.page-heading>p:last-child{color:var(--muted)}

.service-block{padding:90px 0;border-top:1px solid var(--line)}
.service-block:nth-child(even){background:var(--stone)}
.service-block-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.service-block h2{margin-bottom:18px}
.service-block .lead{color:var(--muted);font-size:1.05rem;margin-bottom:26px}
.sub-points{display:grid;gap:22px;margin:0;padding:0}
.sub-points div{border-top:1px solid var(--line);padding-top:18px}
.sub-points h3{margin:0 0 8px;font-size:1.05rem;font-family:var(--display);font-weight:500}
.sub-points p{margin:0;color:var(--muted);font-size:.92rem}
.service-block img{width:100%;height:460px;object-fit:cover;border-radius:22px}

.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.value-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:32px}
.value-card h3{margin:0 0 12px;font-size:1.15rem}
.value-card p{margin:0;color:var(--muted);font-size:.9rem}

.related{background:var(--stone)}
.link-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.link-grid a{display:flex;justify-content:space-between;align-items:center;background:var(--paper);padding:22px 26px;transition:.2s}
.link-grid a:hover{background:var(--stone)}
.link-grid a span{color:var(--ochre-dark)}

.faq{background:var(--paper)}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}
.faq details{position:relative;background:var(--stone);border-radius:16px;padding:6px 26px;margin-bottom:14px;transition:.2s}
.faq details[open]{background:#fff;border:1px solid var(--ochre)}
.faq summary{position:relative;list-style:none;cursor:pointer;padding:20px 40px 20px 0;font-weight:600;font-family:var(--display);font-size:1.08rem;color:var(--bark)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:2px;top:50%;transform:translateY(-50%);width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--ochre);color:#fff;font-size:1rem;font-family:var(--sans);transition:.25s}
.faq details[open] summary::after{content:"–";transform:translateY(-50%) rotate(180deg)}
.faq details p{margin:0 0 20px;color:var(--muted)}

.local-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.local-intro>div:last-child{color:var(--muted);font-size:1.05rem}
.service-links{background:var(--stone)}
.service-links .service-grid{grid-template-columns:repeat(4,1fr)}

.simple-hero{background:var(--pine);padding:90px 0;color:#fff}
.simple-hero h1{max-width:900px;color:#fff}
.prose-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.prose-grid img{width:100%;height:520px;object-fit:cover;border-radius:22px}
.prose-grid p{color:var(--muted);font-size:1.05rem}

.project-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.project-gallery figure{margin:0;border-radius:18px;overflow:hidden}
.project-gallery img{width:100%;height:340px;object-fit:cover}
.project-gallery figcaption{margin-top:10px;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}

.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}
.contact-layout>div>p{color:var(--muted)}
.contact-card{display:block;border-top:1px solid var(--line);padding:22px 4px}
.form-notice{border:1px solid var(--line);border-radius:16px;background:var(--stone);padding:20px 24px}.direct-contact{padding:30px}.direct-contact-title{margin-bottom:10px;color:var(--ink);font:600 1.65rem/1.15 var(--display)}.direct-contact>p:not(.direct-contact-title){max-width:520px;color:var(--muted)}.direct-contact-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:24px}.direct-contact-actions .button{padding:14px 20px}.form-privacy{font-size:.82rem;color:var(--muted);margin-top:18px}.form-privacy a{text-decoration:underline}.seo-conclusion{border-top:1px solid var(--line)}
.contact-card:last-of-type{border-bottom:1px solid var(--line);margin-bottom:25px}
.contact-card small{display:block;color:var(--muted);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}
.contact-card strong{display:block;margin-top:8px;font:500 1.7rem var(--display)}
.contact-card-email strong{font-size:clamp(1rem,2vw,1.35rem);overflow-wrap:anywhere}

.legal-copy .shell{max-width:800px}
.legal-copy h2{margin-top:55px;font-size:1.9rem}
.legal-copy h2:first-child{margin-top:0}
.legal-copy p{color:var(--muted)}

/* Rythme éditorial et cartes compactes sans photographie. */
.page-section{padding:80px 0}
.page-heading{margin-bottom:38px}
.service-links{padding:72px 0}
.service-card:not(:has(img)){min-height:0;padding:24px 26px 22px;border:1px solid var(--line)}
.service-card:not(:has(img))::before{top:0;height:100%;width:4px}
.service-card:not(:has(img)) h3,.service-card:not(:has(img)) p,.service-card:not(:has(img)) a{padding-left:0;padding-right:0}
.service-card:not(:has(img)) h3{margin:0 0 8px;font-size:1.2rem}
.service-card:not(:has(img)) p{min-height:0;margin:0 0 16px;line-height:1.55}
.service-card:not(:has(img)) a{margin:0}
.service-links .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.seo-conclusion .quote-grid{align-items:start}
.seo-conclusion p{max-width:58ch}

/* Mise en page panoramique pour Mac, écrans 4K et formats ultra-larges. */
@media(min-width:1200px){
.page-hero>.shell,.service-block>.shell,.page-section>.shell,.simple-hero>.shell{width:calc(100% - clamp(96px,12vw,260px));max-width:1680px}
.page-hero-grid{grid-template-columns:minmax(520px,1fr) minmax(520px,1fr);gap:clamp(70px,7vw,150px)}
.page-hero img{height:clamp(540px,34vw,720px)}
.service-block{padding:clamp(95px,7vw,145px) 0}
.service-block-grid{grid-template-columns:minmax(520px,1.08fr) minmax(480px,.92fr);gap:clamp(75px,8vw,170px)}
.service-block:nth-child(even) .service-block-grid{grid-template-columns:minmax(480px,.92fr) minmax(520px,1.08fr)}
.service-block img{height:clamp(500px,32vw,680px)}
.project-gallery{grid-template-columns:repeat(3,minmax(320px,1fr));gap:clamp(22px,2vw,40px)}
.project-gallery img{height:clamp(360px,24vw,520px)}
.contact-layout{grid-template-columns:minmax(390px,.75fr) minmax(620px,1.25fr);gap:clamp(80px,9vw,180px)}
}
@media(min-width:1900px){
.page-hero>.shell,.service-block>.shell,.page-section>.shell,.simple-hero>.shell{width:calc(100% - clamp(180px,14vw,360px));max-width:none}
.legal-copy .shell{max-width:900px}
}

@media(max-width:900px){
.page-hero-grid,.service-block-grid,.local-intro,.prose-grid,.faq-grid,.contact-layout{grid-template-columns:1fr}
.page-hero img,.service-block img{height:340px}
.value-grid{grid-template-columns:1fr 1fr}
.link-grid{grid-template-columns:1fr}
.project-gallery{grid-template-columns:1fr 1fr}
.service-links .service-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
.page-hero,.simple-hero{padding:60px 0}
.page-section,.service-links{padding:52px 0}
.page-heading{margin-bottom:28px}
.value-grid{grid-template-columns:1fr}
.project-gallery{grid-template-columns:1fr}
.service-links .service-grid{grid-template-columns:1fr}
.direct-contact{padding:24px 20px}.direct-contact-actions{align-items:stretch;flex-direction:column}.direct-contact-actions .button{width:100%;text-align:center}
}
