/* OPALE-BET — pages de missions et de réalisations, charte existante. */
.site-header #navigation{font-size:.9rem;gap:clamp(.9rem,1.5vw,1.8rem)}
.site-header .brand img{width:185px}
.site-header .nav-contact{white-space:nowrap}
.premium-page .hero{min-height:min(850px,100svh);height:auto;max-height:none}
.premium-page .hero-content{width:min(800px,70vw)}
.premium-page .hero h1{font-size:clamp(3.3rem,6.5vw,6.7rem);line-height:1.02;letter-spacing:-.055em}
.premium-page .hero-lead{max-width:660px;line-height:1.65}
.premium-page .hero-note{color:#e8e5dd;font-size:.9rem;margin:2rem 0 0}
.premium-page .button{font-size:.94rem;padding:1rem 1.25rem;min-height:48px}
.premium-page .hero-actions .button{width:auto}
.editorial-section{max-width:var(--max);margin:auto;padding:clamp(4rem,7vw,7rem) var(--pad)}
.editorial-heading{display:grid;grid-template-columns:1fr 1.9fr;gap:3rem;align-items:start;margin-bottom:2.8rem}
.editorial-heading h2,.method-compact h2,.home-faq h2{font:500 clamp(2.2rem,4.5vw,4.7rem)/1.07 "Manrope",Arial,sans-serif;letter-spacing:-.045em;margin:0 0 1rem}
.editorial-heading h2 em,.method-compact h2 em{font:italic 400 1em "Playfair Display",serif;color:#775438}
.editorial-heading .heading-copy{font-size:1.06rem;line-height:1.75;max-width:710px;color:#514e49}
.editorial-heading .eyebrow{color:#775438;font-size:.84rem;letter-spacing:.13em}
.expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.expertise-tile{display:flex;flex-direction:column;padding:2rem;background:#e8e5dd;border-top:2px solid #775438;gap:1rem}
.expertise-tile .tile-number{font:.9rem "DM Sans";color:#775438}
.expertise-tile h3{font:500 clamp(1.55rem,2.3vw,2rem)/1.18 "Manrope";letter-spacing:-.025em;margin:0}
.expertise-tile p{color:#514e49;line-height:1.65;margin:0}
.expertise-tile a{margin-top:auto;padding-top:1.3rem;font-weight:600;text-decoration:underline;text-underline-offset:.25em}
.expertise-tile a:focus-visible{outline-color:#775438}
.method-compact{background:#191917;color:#f4f2ec;max-width:none}
.method-inner{max-width:calc(var(--max) - 2 * var(--pad));margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,7rem)}
.method-compact .eyebrow{font-size:.84rem;color:#c5a586;letter-spacing:.13em}
.method-compact h2 em{color:#c5a586}
.method-compact p{color:#cfcbc3;line-height:1.75}
.method-steps{list-style:none;display:grid;grid-template-columns:1fr 1fr;padding:0;margin:0;gap:1.5rem}
.method-steps li{border-top:1px solid #57534c;padding:1rem 0 0}
.method-steps strong{font:500 1.15rem "Manrope";display:block;margin:.5rem 0}
.method-steps b{font:italic 400 1.45rem "Playfair Display";color:#c5a586}
.method-steps span{color:#cfcbc3;font-size:.94rem}
.agency-compact{border-top:1px solid #57534c;margin-top:2rem;padding-top:1.5rem;font-size:.94rem}
.agency-compact h3{font-size:1.1rem;color:#f4f2ec}
.project-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}
.project-link{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);text-decoration:none;transition:box-shadow .2s,transform .2s}
.project-link:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.08)}
.project-link>img{width:100%;aspect-ratio:4/3;object-fit:cover}
.project-link-copy{padding:1.5rem;display:flex;flex-direction:column;flex:1;gap:.8rem}
.project-link-copy .project-category{font-size:.84rem;color:#775438}
.project-link h3{font:500 1.5rem/1.2 "Manrope";letter-spacing:-.025em;margin:0}
.project-link p{font-size:.98rem;color:#514e49;margin:0;line-height:1.65}
.project-link .project-read{padding-top:1rem;margin-top:auto;font-size:.9rem;font-weight:600;text-decoration:underline;text-underline-offset:.2em}
.section-action{margin:2rem 0 0;display:flex;justify-content:flex-end}
.section-action .button{width:auto;border:1px solid var(--ink)}
.premium-page .publications .section-heading{grid-template-columns:1fr 1.9fr;margin-bottom:2rem;gap:3rem}
.premium-page .publications .section-index{font-size:.84rem;letter-spacing:.13em}
.premium-page .publications h2{font-size:clamp(2.2rem,4.5vw,4.7rem)}
.premium-page .publications .publications-notice{margin-bottom:2rem}
.premium-page .publications{padding-top:5rem;padding-bottom:5rem}
.home-faq{display:grid;grid-template-columns:1fr 1.4fr;gap:4rem;border-top:1px solid var(--line)}
.faq-list details{border-top:1px solid var(--line);padding:1.2rem 0}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{font:500 1.1rem/1.5 "Manrope";cursor:pointer;padding-right:1rem}
.faq-list details p{color:#514e49;font-size:1rem;line-height:1.75;margin:1.1rem 0 0}
.faq-list details a{text-decoration:underline;text-underline-offset:.2em}
.home-faq .text-link{font-weight:600;text-decoration:underline;text-underline-offset:.2em;display:inline-block;margin-top:1rem}
.premium-page .contact h2{font-size:clamp(2.5rem,5vw,5.2rem);line-height:1.05}
.premium-page .contact .eyebrow,.premium-page .contact address span{font-size:.84rem}
.premium-page .contact address p{font-size:.94rem}
.page-heading{max-width:var(--max);margin:auto;padding:150px var(--pad) 2.5rem}
.page-heading .eyebrow{font-size:.84rem;color:#775438;letter-spacing:.13em}
.page-heading h1{font:500 clamp(2.6rem,5.5vw,5.2rem)/1.08 "Manrope";letter-spacing:-.045em;max-width:1100px;margin:.7rem 0 1.5rem;overflow-wrap:anywhere}
.page-heading h1 em{font-family:"Playfair Display";color:#775438}
.page-heading .page-intro{font-size:1.12rem;line-height:1.75;max-width:850px;color:#514e49}
.page-heading .breadcrumb{font-size:.9rem}
.page-body{max-width:var(--max);margin:auto;padding:0 var(--pad) 5rem}
.topic-links{display:flex;gap:.75rem;flex-wrap:wrap;margin:0 0 3rem}
.topic-links a{border:1px solid #bab3a6;padding:.65rem 1rem;font-size:.94rem}
.catalog-group{margin:3rem 0 4rem;scroll-margin-top:120px}
.catalog-group>h2{font:500 clamp(1.8rem,3vw,2.5rem) "Manrope";letter-spacing:-.025em;margin-bottom:1.5rem}
.project-hero{max-width:var(--max);margin:auto;padding:0 var(--pad)}
.project-hero img{width:100%;max-height:600px;aspect-ratio:16/9;object-fit:cover}
.project-hero .document-image{max-height:780px;aspect-ratio:auto;object-fit:contain}
.project-meta{display:grid;grid-template-columns:1.3fr 1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:2rem 0 3rem;gap:1.5rem;padding:1.5rem 0}
.project-meta dt{font-size:.84rem;color:#625d56;margin-bottom:.4rem}
.project-meta dd{font-weight:500;margin:0;font-size:1rem}
.case-story{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(2rem,5vw,5rem);margin:3rem 0}
.case-story h2,.service-copy h2,.project-gallery>h2,.contact-intro h2{font:500 clamp(1.8rem,3vw,2.7rem)/1.16 "Manrope";letter-spacing:-.03em}
.case-story .story-intro{font-size:1.14rem;color:#514e49;line-height:1.8}
.story-sections h3{font:600 1.15rem "Manrope";margin:0 0 .8rem}
.story-sections p,.service-copy p,.service-copy li{line-height:1.8;color:#514e49}
.story-sections section{margin-bottom:2rem}
.project-gallery{padding-top:2rem;border-top:1px solid var(--line)}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.gallery-grid figure{margin:0}
.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#e8e5dd}
.gallery-grid figcaption{font-size:.94rem;color:#625d56;line-height:1.6;padding:.8rem 0}
.project-scope{max-width:850px;color:#625d56;font-size:.94rem;border-top:1px solid var(--line);margin:2rem 0;padding-top:1rem}
.project-scope a{text-decoration:underline;text-underline-offset:.2em}
.poster-link{font-size:.94rem;text-decoration:underline;text-underline-offset:.2em;display:inline-block;padding:.8rem 1rem;background:#eee9df;color:var(--ink);border:1px solid var(--line)}
.project-footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:2rem;margin-top:3rem}
.project-footer a{padding:.8rem 1rem;border:1px solid var(--line);font-size:.94rem}
.service-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.service-copy{font-size:1.05rem;min-width:0}
.service-copy section{margin-bottom:3rem;scroll-margin-top:110px}
.service-copy ul,.service-copy ol{padding-left:1.3rem}
.service-aside{padding:2rem;background:#e8e5dd;position:sticky;top:110px}
.service-aside h2{font:500 1.6rem/1.2 "Manrope";letter-spacing:-.02em}
.service-aside p{line-height:1.7;color:#514e49}
.service-aside .button{margin-top:1rem;width:100%}
.service-aside img{width:100%;aspect-ratio:4/3;object-fit:cover;margin:1.5rem 0}
.service-reference{font-size:.94rem;padding:1.3rem;border-left:2px solid #775438;background:#e8e5dd}
.service-reference a{text-decoration:underline;text-underline-offset:.2em}
.related-projects{border-top:1px solid var(--line);padding-top:2.5rem;margin-top:3rem}
.related-projects h2{font:500 1.7rem "Manrope"}
.full-faq{max-width:900px}
.contact-layout{display:grid;grid-template-columns:1fr 1.7fr;gap:4rem;align-items:start}
.contact-intro p{color:#514e49;line-height:1.75}
.contact-intro a{text-decoration:underline;text-underline-offset:.2em}
.project-form{background:#fff;border:1px solid var(--line);padding:2rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.form-field{display:flex;flex-direction:column;gap:.5rem;min-width:0}
.form-field.full{grid-column:1/-1}
.form-field label{font-weight:500;font-size:1rem}
.form-field .optional{font-weight:400;font-size:.875rem;color:#625d56}
.form-field input,.form-field select,.form-field textarea{width:100%;font:400 1rem "DM Sans",Arial,sans-serif;border:1px solid #a9a194;background:#faf9f6;color:var(--ink);border-radius:0;padding:.85rem;min-height:48px}
.form-field textarea{resize:vertical;min-height:160px;line-height:1.6}
.form-help{font-size:.94rem;color:#625d56;line-height:1.6;margin:0}
.form-privacy{font-size:.94rem;color:#514e49;line-height:1.7;margin:1.5rem 0}
.form-privacy a{text-decoration:underline;text-underline-offset:.2em}
.project-form .button{cursor:pointer}
.form-result{padding:1.2rem;margin-top:1rem;border-left:3px solid #775438;background:#eee9df;color:var(--ink)}
.form-result h2{font-size:1.2rem;margin:0 0 .7rem}
.form-result p{margin:0}
.form-result.error{border-color:#9b3333;background:#fff0ed}
.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.project-form input:focus,.project-form textarea:focus,.project-form select:focus{outline:3px solid #775438;outline-offset:2px}
.backup-page-link{font-size:.94rem;text-decoration:underline;text-underline-offset:.2em}
footer .footer-links,footer>p{font-size:.875rem}
@media(max-width:1100px){.project-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.expertise-grid{gap:1rem}.expertise-tile{padding:1.5rem}.contact-layout{gap:2rem}.site-header .brand img{width:170px}}
@media(max-width:1050px){
 .site-header,.site-header.scrolled{height:76px}.menu-button{display:grid;width:46px;height:46px;padding:11px;background:var(--ink);color:#fff;place-content:center;gap:4px}.menu-button span{width:22px;height:1px;background:#fff}.menu-button b{position:absolute;width:1px;height:1px;overflow:hidden}
 .site-header #navigation{position:fixed;inset:76px 0 auto;background:var(--paper);padding:1.5rem var(--pad) 2rem;display:none;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);font-size:1rem;max-height:calc(100svh - 76px);overflow:auto}
 .site-header.menu-open #navigation{display:flex}.site-header #navigation a{min-height:44px;display:flex;align-items:center}.site-header #navigation .nav-contact{justify-content:center}
 .no-js .site-header{position:static;height:auto;min-height:76px;flex-wrap:wrap;padding-top:1rem;padding-bottom:1rem}.no-js .site-header #navigation{position:static;display:flex;width:100%;border:0;max-height:none}
 .no-js .page-heading{padding-top:3rem}
}
@media(max-width:780px){
 .premium-page .hero{height:auto;min-height:720px;padding-top:155px;padding-bottom:3rem}.premium-page .hero-content{width:100%}.premium-page .hero h1{font-size:clamp(2.8rem,11vw,4.2rem);line-height:1.08}.premium-page .hero-actions{display:flex;flex-direction:column}.premium-page .hero-actions .button{width:100%}.premium-page .hero-note{font-size:.875rem}
 .editorial-heading,.method-inner,.home-faq,.service-layout,.case-story,.contact-layout{grid-template-columns:1fr;gap:2rem}
 .expertise-grid,.project-cards{grid-template-columns:1fr}.expertise-tile{padding:1.6rem}.project-link h3{font-size:1.55rem}.project-link-copy{padding:1.25rem}
 .premium-page .publications .section-heading{grid-template-columns:1fr;gap:1rem}.premium-page .publications{padding-top:4rem;padding-bottom:4rem}
 .method-steps{gap:1.5rem 1rem}.home-faq{gap:1rem}.page-heading{padding-top:115px}.page-heading h1{font-size:clamp(2.35rem,9vw,3.2rem)}.page-heading .page-intro{font-size:1.05rem}
 .project-meta{grid-template-columns:1fr;gap:1rem}.gallery-grid{grid-template-columns:1fr}.project-hero img{aspect-ratio:4/3}.service-aside{position:static}
 .form-grid{grid-template-columns:1fr}.project-form{padding:1.4rem}.form-field.full{grid-column:auto}.topic-links{gap:.5rem}
 footer .footer-links{gap:.7rem 1.1rem}.project-footer a{width:100%;text-align:center}
}
@media(prefers-reduced-motion:reduce){.project-link:hover{transform:none}.project-link{transition:none}}
