:root{--paper:#2a2b30;--white:#fff;--ink:#f5f6f9;--muted:#b7bbc5;--line:#474951;--accent:#c9a079;--accent-bright:#b1875f;--dark:#232429;--cyan:#019be3;--magenta:#e0017e;--yellow:#feec04;--black:#050506;--radius:3px;--max:1240px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
button{color:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;object-fit:cover}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
button:disabled{cursor:default;opacity:.6}
[hidden]{display:none!important}
::selection{background:#c9a079;color:#232429}
.section-wrap{width:min(var(--max),calc(100% - 96px));margin-inline:auto}
.eyebrow{font-size:10px;font-weight:700;line-height:1.6;text-transform:uppercase;letter-spacing:.16em;margin:0 0 24px}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3{font-weight:700;letter-spacing:-.055em;line-height:1.04}
h2{font-size:clamp(36px,4.4vw,60px);margin-bottom:25px}
h2 em{font-family:inherit;font-weight:500;font-style:normal;letter-spacing:-.045em;color:var(--accent)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:17px 23px;background:var(--accent);color:var(--dark);border:1px solid var(--accent);border-radius:var(--radius);font-size:13px;line-height:1.4;font-weight:600;transition:background .18s,transform .18s}
.button:hover{background:#e0b893;border-color:#e0b893;transform:translateY(-2px)}
.button span{font-size:20px;font-weight:400}
.button-small{padding:12px 16px;gap:17px;font-size:12px}
.text-link{display:inline-flex;align-items:center;gap:18px;font-size:12px;font-weight:600;border:0;border-bottom:1px solid currentColor;background:none;padding:5px 0;text-align:left;line-height:1.5}
.text-link span{font-size:19px;font-weight:400}
.text-link:hover{color:var(--accent)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-150%);background:var(--accent);color:var(--dark);padding:12px;z-index:50}
.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}
.header-inner{width:min(var(--max),calc(100% - 96px));height:90px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.wordmark{display:inline-flex;align-items:center;flex-shrink:0;line-height:1}
.wordmark img{width:150px;height:auto;object-fit:contain}
.navigation{display:flex;align-items:center;gap:29px}
.navigation>a:not(.button){font-size:12px;font-weight:600}
.navigation>a:not(.button):hover{color:var(--accent)}
.menu-toggle{display:none}
.hero{padding-top:56px;padding-bottom:62px;display:grid;grid-template-columns:1.12fr 1fr;gap:72px;align-items:center;min-height:710px}
.hero .eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:26px}
.status-dot{display:inline-block;background:var(--accent);width:6px;height:6px;border-radius:50%}
h1{font-size:clamp(65px,7.05vw,102px);line-height:.95;letter-spacing:-.067em;margin:0 0 28px}
h1 em{font-family:inherit;font-style:normal;font-weight:700;color:var(--accent);letter-spacing:inherit}
.hero-description{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:30px;max-width:420px}
.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.hero-footnote{margin-top:33px;display:flex;gap:10px;align-items:center;text-transform:uppercase;letter-spacing:.13em;font-size:9px;color:var(--muted)}
.registration-mark{font-size:21px;color:var(--ink)}
.hero-visual{position:relative;padding-bottom:25px}
.photo-label{font-size:9px;font-weight:700;letter-spacing:.12em;display:flex;justify-content:space-between;padding-bottom:12px}
.photo-label>span:last-child{font-size:16px;line-height:1}
.hero-photo{height:495px;position:relative;background:#373941;overflow:hidden;border-radius:var(--radius)}
.hero-photo>img{height:100%;width:100%;object-position:54% 46%}
.image-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:40px 20px 18px;background:linear-gradient(transparent,#0009);color:white;font-size:10px;letter-spacing:.03em}
.hero-note{position:absolute;right:-18px;bottom:42px;display:flex;align-items:center;gap:14px;padding:18px 21px;background:var(--paper);border:1px solid var(--line);box-shadow:0 4px 18px #0002;transform:rotate(-3deg)}
.hero-note p{margin:0;font-size:12px;line-height:1.55}
.hero-note strong{font-size:13px;font-weight:600}
.asterisk{font-size:43px;line-height:1;color:var(--accent)}
.photo-credit{font-size:8px;color:var(--muted);position:absolute;bottom:0;left:0;letter-spacing:.06em;margin:0}
.service-strip{border-block:1px solid var(--line)}
.strip-inner{display:flex;justify-content:space-between;align-items:center;padding-block:22px;gap:16px;flex-wrap:wrap}
.strip-inner>span{text-transform:uppercase;font-weight:700;font-size:12px;letter-spacing:.07em;display:inline-flex;align-items:center;gap:13px}
.strip-inner i{font-size:22px;color:var(--accent);line-height:1;font-style:normal}
.services-section{display:grid;grid-template-columns:.92fr 1.3fr;gap:100px;padding-block:100px}
.section-intro>p:not(.eyebrow){max-width:320px;font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:22px}
.services-photo{margin:40px 0 0;max-width:330px}
.services-photo img{width:100%;aspect-ratio:1.5;height:auto;border-radius:var(--radius)}
.services-photo figcaption{font-size:10px;margin-top:10px;color:var(--muted)}
.service-list{border-top:1px solid var(--line);margin-top:5px}
.service-detail{border-bottom:1px solid var(--line)}
.service-detail summary{display:flex;align-items:center;gap:26px;list-style:none;cursor:pointer;padding:27px 0;font-size:22px;line-height:1.25;font-weight:500;letter-spacing:-.035em}
summary::-webkit-details-marker{display:none}
.service-number{font-size:10px;color:var(--muted);letter-spacing:0}
.detail-mark{height:16px;width:16px;position:relative;flex-shrink:0;margin-left:auto}
.detail-mark::before,.detail-mark::after{content:'';height:1px;width:15px;background:var(--ink);position:absolute;top:7px;left:0}
.detail-mark::after{transform:rotate(90deg)}
details[open] .detail-mark::after{transform:rotate(0)}
.service-detail[open] summary{color:var(--ink)}
.detail-body{padding:0 25px 28px 40px;font-size:13px;color:var(--muted);line-height:1.85}
.detail-body>p{margin:0 0 16px;max-width:480px}
.detail-body .service-tags{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink)}
.detail-body .text-link{color:var(--ink);font-size:11px}
.projects-section{background:#24252a;padding-block:90px}
.section-heading{display:flex;gap:50px;justify-content:space-between;align-items:flex-end;margin-bottom:42px}
.section-heading h2{margin-bottom:0}
.section-heading>p{font-size:13px;color:var(--muted);line-height:1.85;max-width:300px;margin:0 0 5px}
.project-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:33px}
.project-filters button{background:transparent;border:1px solid var(--line);font-size:10px;padding:8px 14px;border-radius:30px;display:flex;gap:13px;align-items:center;font-weight:600}
.project-filters button>span{opacity:.65;font-size:9px}
.project-filters button[aria-pressed=true]{background:var(--accent);color:var(--dark);border-color:var(--accent)}
.project-filters button:hover{border-color:var(--ink)}
.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 25px}
.project-card{text-align:left;border:0;background:none;padding:0;width:100%}
.project-image{position:relative;overflow:hidden;aspect-ratio:1.19;background:#373941;border-radius:var(--radius)}
.project-image img{width:100%;height:100%;transition:transform .35s}
.project-card:hover img{transform:scale(1.035)}
.project-arrow{position:absolute;bottom:13px;right:13px;width:32px;height:32px;display:grid;place-items:center;background:var(--accent);color:var(--dark);font-size:18px;border-radius:50%}
.project-info{display:block;padding-top:16px}
.project-info strong{display:block;font-size:15px;font-weight:600;letter-spacing:-.02em;line-height:1.4}
.project-info>span{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:4px}
.process-section{padding-block:100px}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;margin-top:54px}
.process-grid article{border-top:1px solid var(--line);padding-top:20px}
.step-number{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;color:var(--accent);margin-bottom:37px}
.step-number>span{font-size:23px;font-weight:400}
.process-grid h3{font-size:25px;line-height:1.2;margin:0 0 16px;letter-spacing:-.04em}
.process-grid p{font-size:13px;line-height:1.85;color:var(--muted);margin:0;max-width:300px}
.contact-section{background:#202126;color:var(--ink);padding-block:87px}
.contact-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:70px}
.contact-copy h2{font-size:clamp(38px,4.2vw,58px)}
.contact-copy h2 em{color:var(--accent)}
.contact-copy>p:not(.eyebrow):not(.contact-phone-label){font-size:13px;line-height:1.8;color:var(--muted);max-width:290px}
.contact-symbol{font-size:116px;line-height:1;color:var(--accent);margin-block:22px}
.contact-phone{font-size:25px;display:flex;justify-content:space-between;max-width:330px;letter-spacing:-.03em;border-top:1px solid var(--line);padding-top:16px}
.contact-phone-label{font-size:9px;color:var(--muted);margin-top:8px;letter-spacing:.02em}
.form-panel{--paper:#f4f3f0;--ink:#2a2b30;--muted:#626773;--line:#c8cbd1;--accent:#845c37;background:var(--paper);color:var(--ink);padding:31px;border-radius:var(--radius);align-self:start}
.form-panel .button{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.form-panel .button:hover{background:#484b53;border-color:#484b53}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field{margin-bottom:22px;min-width:0}
.field label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}
.field label>span{color:var(--accent)}
.field input,.field select,.field textarea{border:1px solid var(--line);background:transparent;border-radius:var(--radius);width:100%;padding:12px 11px;font-size:14px;line-height:1.5;color:var(--ink)}
.field input::placeholder,.field textarea::placeholder{color:#747882}
.field input{min-height:43px}
.field select{min-height:43px}
.field textarea{resize:vertical;min-height:130px}
.form-help{font-size:10px;line-height:1.7;color:var(--muted);margin-bottom:18px}
.button-wide{width:100%;justify-content:space-between}
.form-privacy{font-size:9px;line-height:1.7;color:var(--muted);margin:15px 0 0}
.quote-review h3{font-size:31px;line-height:1.2;margin-bottom:14px}
.quote-review .eyebrow{color:var(--accent);margin-bottom:15px}
.review-recipient{font-size:11px;color:var(--muted);overflow-wrap:anywhere}
#review-body{font:13px/1.8 Arial,Helvetica,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;background:#e5e6e9;border-radius:var(--radius);max-height:320px;overflow-y:auto;margin:20px 0}
.review-actions{display:flex;justify-content:space-between;gap:15px;margin-block:15px 23px}
.review-actions button{font-size:10px}
#copy-status{font-size:11px;color:var(--accent);margin:0}
.faq-section{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;padding-block:85px}
.faq-section h2{font-size:36px}
.faq-section .eyebrow{margin-bottom:17px}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{padding:19px 0;list-style:none;display:flex;gap:20px;align-items:center;justify-content:space-between;font-size:13px;line-height:1.5;cursor:pointer;font-weight:500}
.faq-list summary>span{font-size:19px;font-weight:400}
.faq-list details[open] summary>span{transform:rotate(45deg)}
.faq-list details p{font-size:12px;line-height:1.8;max-width:530px;color:var(--muted);padding-bottom:18px;margin:0}
.site-footer{padding-top:47px;border-top:1px solid var(--line)}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:42px}
.footer-wordmark img{width:240px;height:auto}
.footer-top p{font-size:19px;line-height:1.4;letter-spacing:-.03em;margin:0}
.footer-contacts{display:grid;grid-template-columns:1fr;gap:35px;border-top:1px solid var(--line);padding-block:29px 36px}
.footer-contacts .eyebrow{font-size:8px;margin-bottom:10px;display:block;color:var(--muted)}
.footer-contacts strong{font-weight:600;font-size:12px;display:block;margin-bottom:8px}
.footer-contacts p,.footer-contacts a{font-size:12px;line-height:1.75;color:var(--muted);margin:0}
.footer-contacts a{border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-block:18px;font-size:8px;color:var(--muted)}
.footer-bottom .text-link{font-size:8px;font-weight:400;border:0;padding:0}
dialog{border:0;background:var(--paper);color:var(--ink);padding:0;border-radius:5px;max-height:90vh;box-shadow:0 20px 100px #0005;width:min(900px,calc(100% - 40px));overscroll-behavior:contain}
dialog::backdrop{background:#111b}
.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:15px 24px;border-bottom:1px solid var(--line)}
.dialog-header .eyebrow{margin:0;font-size:9px}
.dialog-close{font-size:27px;line-height:1;width:38px;height:38px;background:none;border:1px solid var(--line);border-radius:50%}
.dialog-close:hover{background:#3b3d45}
.project-dialog>img{width:100%;height:50vh;object-fit:contain;background:#202126}
.dialog-content{padding:28px}
.dialog-content h3{font-size:34px;line-height:1.15;margin-bottom:15px}
.dialog-content h4{font-size:15px;line-height:1.3;margin:23px 0 9px}
.dialog-content .eyebrow{margin-bottom:13px;color:var(--accent)}
.dialog-content p{font-size:13px;color:var(--muted);line-height:1.8}
.dialog-content p a{text-decoration:underline;text-underline-offset:4px}
.dialog-actions{display:flex;gap:25px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:25px}
.information-dialog{max-width:680px}
@media(min-width:1500px){.hero{gap:110px}.hero-photo{height:540px}}
@media(max-width:1100px){.section-wrap,.header-inner{width:calc(100% - 60px)}.navigation{gap:19px}.navigation>a:not(.button){font-size:11px}.hero{gap:40px;min-height:650px}.hero-photo{height:450px}h1{font-size:76px}.hero-actions{gap:16px}.hero-actions .text-link{font-size:11px}.services-section{gap:60px}.service-detail summary{font-size:20px;gap:20px}.contact-layout{gap:38px}.form-panel{padding:24px}.form-row{gap:14px}.contact-copy h2{font-size:44px}}
@media(max-width:820px){.section-wrap,.header-inner{width:calc(100% - 44px)}.header-inner{height:76px}.wordmark{font-size:27px}.menu-toggle{display:flex;gap:13px;align-items:center;font-size:12px;border:1px solid var(--line);border-radius:3px;padding:9px 12px;background:none}.menu-icon{width:15px;height:10px;border-top:1px solid;border-bottom:1px solid}.navigation{display:none;position:absolute;top:76px;left:0;right:0;padding:22px;flex-direction:column;align-items:stretch;background:var(--paper);border-bottom:1px solid var(--line);gap:0}.navigation.is-open{display:flex}.navigation>a:not(.button){font-size:15px;padding-block:13px}.navigation .button{margin-top:14px;justify-content:space-between}.hero{gap:30px;padding-block:42px 48px;min-height:0}.hero h1{font-size:clamp(55px,8vw,76px)}.hero .eyebrow{font-size:8px;letter-spacing:.1em}.hero-description{font-size:12px}.hero-actions .button{font-size:11px;padding:15px 18px;gap:14px}.hero-actions{gap:15px}.hero-photo{height:390px}.hero-note{right:-6px;padding:14px;bottom:41px;gap:10px}.hero-note strong{font-size:11px}.hero-note p{font-size:10px}.asterisk{font-size:30px}.strip-inner>span{font-size:10px}.strip-inner i{font-size:16px}.strip-inner{gap:11px;padding-block:17px}.services-section{gap:36px;padding-block:75px;grid-template-columns:.8fr 1.2fr}.section-intro>p:not(.eyebrow){font-size:12px}.service-detail summary{font-size:18px;padding-block:24px;gap:13px}.detail-body{padding-left:27px;font-size:12px;padding-right:5px}.projects-section{padding-block:70px}.section-heading{gap:25px}.section-heading>p{max-width:220px;font-size:11px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:29px 20px}.process-section{padding-block:75px}.process-grid{gap:24px}.process-grid h3{font-size:23px}.process-grid p{font-size:12px}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.contact-copy h2{grid-row:2/4;font-size:48px}.contact-copy>.eyebrow{grid-column:1/-1}.contact-copy>.contact-symbol{display:none}.contact-copy>p:not(.eyebrow):not(.contact-phone-label){align-self:end;margin-bottom:21px}.contact-phone{grid-column:2}.contact-phone-label{grid-column:2}.contact-section{padding-block:60px}.form-panel{padding:30px}.faq-section{gap:35px;padding-block:65px;grid-template-columns:.8fr 1.2fr}.faq-section h2{font-size:31px}.faq-list summary{font-size:12px}.footer-top p{font-size:16px}.footer-wordmark{font-size:41px}}
@media(max-width:580px){html{scroll-padding-top:94px}.section-wrap,.header-inner{width:calc(100% - 36px)}.hero{display:flex;flex-direction:column;align-items:stretch;gap:31px;padding-top:33px;padding-bottom:38px}.hero .eyebrow{font-size:8px;letter-spacing:.13em;margin-bottom:23px}.hero h1{font-size:clamp(61px,15vw,83px);max-width:420px;margin-bottom:23px}.hero-description{font-size:13px;max-width:340px;margin-bottom:23px}.hero-actions{gap:20px}.hero-actions .button{font-size:12px;padding:15px 18px}.hero-actions .text-link{font-size:11px}.hero-footnote{font-size:8px;margin-top:20px}.hero-visual{padding-bottom:22px}.hero-photo{height:330px}.hero-photo>img{object-position:50% 41%}.photo-label{font-size:8px}.hero-note{right:11px;bottom:35px;padding:15px 17px}.hero-note p{font-size:10px}.hero-note strong{font-size:12px}.asterisk{font-size:37px}.photo-credit{font-size:8px}.strip-inner{justify-content:center;gap:12px}.strip-inner>span{font-size:9px;letter-spacing:.02em}.strip-inner i{font-size:13px}.strip-inner i:last-of-type{display:inline-block}.strip-inner>span:last-child{display:inline-flex}h2{font-size:39px}.eyebrow{font-size:9px;margin-bottom:20px}.services-section{grid-template-columns:1fr;gap:34px;padding-block:57px}.section-intro>p:not(.eyebrow){font-size:13px;max-width:340px}.services-photo{display:none}.service-detail summary{font-size:21px;padding-block:23px;gap:19px}.service-number{font-size:9px}.detail-body{padding-left:33px;padding-right:10px;font-size:13px}.section-heading{display:block;margin-bottom:27px}.section-heading>p{max-width:100%;font-size:12px;margin-top:22px}.projects-section{padding-block:54px}.project-filters{gap:7px;margin-bottom:25px}.project-filters button{font-size:9px;padding:7px 10px;gap:8px}.projects-grid{gap:27px 13px}.project-image{aspect-ratio:.93}.project-info{padding-top:11px}.project-info strong{font-size:12px;letter-spacing:-.015em}.project-info>span{font-size:9px;margin-top:5px}.project-arrow{width:27px;height:27px;font-size:16px;bottom:9px;right:9px}.process-section{padding-block:57px}.process-grid{grid-template-columns:1fr;gap:32px;margin-top:34px}.process-grid article{display:grid;grid-template-columns:43px 1fr;gap:0 15px;padding-top:18px}.step-number{grid-row:1/3;display:block;font-size:10px;padding-top:4px}.step-number>span{display:block;margin-top:15px}.process-grid h3{font-size:26px;margin-bottom:13px}.process-grid p{font-size:13px;max-width:100%}.contact-layout{gap:28px}.contact-copy{display:block}.contact-copy h2{font-size:43px;margin-bottom:25px}.contact-copy>p:not(.eyebrow):not(.contact-phone-label){max-width:330px;font-size:13px;margin-bottom:25px}.contact-phone{font-size:24px;max-width:100%}.contact-phone-label{margin-bottom:0}.contact-section{padding-block:47px}.form-panel{padding:22px 18px}.form-row{grid-template-columns:1fr;gap:0}.field{margin-bottom:19px}.field input,.field select,.field textarea{font-size:16px;padding:11px 10px}.field label{font-size:11px}.form-help{font-size:11px}.form-privacy{font-size:10px}.faq-section{display:block;padding-block:51px}.faq-section h2{font-size:35px;margin-bottom:28px}.faq-list summary{font-size:13px}.faq-list details p{font-size:12px}.footer-top{flex-wrap:wrap;padding-bottom:28px;gap:22px}.footer-wordmark{font-size:44px}.footer-top p{font-size:14px}.footer-top .text-link{font-size:11px}.footer-contacts{grid-template-columns:1fr;gap:25px;padding-block:26px}.footer-contacts .eyebrow{font-size:9px}.footer-contacts strong{font-size:13px}.footer-contacts p,.footer-contacts a{font-size:11px}.footer-bottom{font-size:9px;gap:14px;padding-block:20px}.footer-bottom .text-link{font-size:9px}.footer-bottom>a{margin-left:auto}.dialog-header{padding:12px 17px}.dialog-content{padding:22px 18px}.dialog-content h3{font-size:28px}.project-dialog>img{height:39vh}.dialog-actions{gap:19px}.dialog-actions .button{width:100%;justify-content:space-between}.dialog-actions .text-link{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Repères CMJN de l’identité Impact Print. */
.brand-dots{display:inline-flex;align-items:center;gap:5px;flex-shrink:0}
.brand-dots i,.service-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0}
.brand-dots i:nth-child(1),.service-dot.tone-cyan{background:var(--cyan)}
.brand-dots i:nth-child(2),.service-dot.tone-magenta{background:var(--magenta)}
.brand-dots i:nth-child(3),.service-dot.tone-yellow{background:var(--yellow)}
.brand-dots i:nth-child(4),.service-dot.tone-black{background:var(--black);border:1px solid #8f939d}
.brand-dots-vertical{flex-direction:column;gap:5px}
.brand-dots-vertical i{width:10px;height:10px}
.service-name{display:inline-flex;align-items:center;gap:13px}
.service-detail summary{gap:18px}
.service-heading{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.service-photo-count{font-size:10px;font-weight:400;letter-spacing:0;color:var(--muted)}
.service-thumbnail{width:80px;height:60px;flex-shrink:0;object-fit:cover;border-radius:var(--radius);background:#373941}
.service-thumbnail--contain{object-fit:contain;background:var(--white)}
.service-photo{width:100%;max-width:480px;margin:0 0 21px}
.service-photo img{width:100%;height:250px;object-fit:cover;border-radius:var(--radius)}
.service-photo--contain img{object-fit:contain;background:var(--white)}
.service-photo figcaption{font-size:10px;line-height:1.5;color:var(--muted);margin-top:9px}
.service-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 12px;max-width:480px;margin-bottom:24px}
.service-gallery .service-photo{margin:0;max-width:none;min-width:0}
.service-gallery[data-count="3"] .service-photo:first-child{grid-column:1/-1}
.service-gallery[data-count="3"] .service-photo:first-child .service-photo-button{aspect-ratio:16/9}
.service-photo-button{position:relative;display:block;width:100%;padding:0;aspect-ratio:4/3;border:0;border-radius:var(--radius);overflow:hidden;background:#373941}
.service-gallery .service-photo img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.service-gallery .service-photo--contain img{object-fit:contain;background:var(--white)}
.service-photo-button:hover img{transform:scale(1.035)}
.service-photo-zoom{position:absolute;right:8px;bottom:8px;width:25px;height:25px;display:grid;place-items:center;background:var(--accent);color:var(--dark);border-radius:50%;font-size:16px}
.service-gallery-note{font-size:11px;line-height:1.65;color:var(--muted)}
.service-dot{width:10px;height:10px}
.field select option{background:#f4f3f0;color:#2a2b30}
@media(max-width:820px){.wordmark img{width:126px}.footer-wordmark img{width:210px}}
@media(max-width:580px){.service-name{gap:10px}.strip-inner{gap:17px 22px}.strip-inner>span{font-size:9px;gap:9px}.hero h1{font-size:clamp(52px,14vw,77px)}.footer-wordmark img{width:205px}.service-detail summary{font-size:20px}}
@media(max-width:820px){.service-detail summary{gap:12px}.service-thumbnail{width:68px;height:52px}.service-photo img{height:220px}}
@media(max-width:580px){.service-detail summary{gap:11px;font-size:19px}.service-thumbnail{width:60px;height:48px}.service-detail .detail-body{padding-left:0;padding-right:0}.service-photo img{height:210px}}

/* Impact Print — ergonomie mobile et conversion (ajout indépendant) */
.hero-local-proof{font-size:.86rem;line-height:1.6;color:#d6d4d0;max-width:38rem;margin:1rem 0 1.3rem}
.legal-links{display:inline-flex;flex-wrap:wrap;gap:1.1rem;align-items:center}
.legal-links a{text-underline-offset:3px;font-size:.86rem}
.quick-actions{display:none}
@media(max-width:820px){
  body{padding-bottom:67px}
  body.modal-open{padding-bottom:0}
  .quick-actions{position:fixed;inset:auto 0 0;z-index:50;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:8px;padding:9px 12px max(9px,env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid #d9d9df;box-shadow:0 -8px 24px rgba(0,0,0,.08)}
  .quick-actions a{min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:8px;text-decoration:none;font-weight:700;line-height:1.25;padding:9px;text-align:center}
  .quick-call{color:#222!important;background:#ededf1}
  .quick-quote{color:#fff!important;background:#242329}
  .quick-quote span{margin-left:7px}
  body.modal-open .quick-actions{display:none}
}
@media(max-width:580px){
  .hero h1{font-size:clamp(40px,12vw,64px);line-height:1.01;max-width:100%;overflow-wrap:break-word}
  .hero-local-proof{font-size:12px;line-height:1.55;max-width:100%}
  .quick-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);width:100%;box-sizing:border-box}
  .quick-actions a{font-size:13px;min-width:0;white-space:normal;overflow-wrap:break-word}
}

/* Pages de services — liens SEO visibles, navigation sans dépendance JS. */
.seo-service-detail-link{display:inline-flex;align-items:center;gap:.5rem;margin:12px 0 15px;color:#e6c7aa;text-decoration:underline;text-underline-offset:4px;font-size:.95rem;font-weight:650}
.seo-home-links{padding-top:clamp(35px,5vw,70px);padding-bottom:clamp(45px,6vw,85px)}
.seo-home-links-heading{max-width:760px}
.seo-home-links-heading h2{font-size:clamp(26px,4vw,48px);letter-spacing:-.045em;line-height:1.12}
.seo-home-links-heading p:last-child{line-height:1.8;max-width:710px}
.seo-home-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:25px}
.seo-home-link-grid a{min-height:80px;padding:19px;background:#f3f0eb;color:#25252a;text-decoration:none;border:1px solid #ccc9c5;border-radius:10px;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:12px}
.seo-home-link-grid a:hover,.seo-home-link-grid a:focus-visible{border-color:#cd8666;box-shadow:0 3px 15px rgba(0,0,0,.08)}
.seo-home-links .seo-helpful-links{margin:20px 0 0}
.seo-home-links .seo-helpful-links a{text-underline-offset:4px}
.seo-home-footer-services{padding:28px 0;border-top:1px solid rgba(255,255,255,.18)}
.seo-home-footer-services strong{display:block;margin-bottom:13px}
.seo-home-footer-services nav{display:flex;flex-wrap:wrap;gap:12px 24px}
.seo-home-footer-services nav a{color:inherit;text-underline-offset:4px}
.seo-home-footer-services p{margin:16px 0 0}
@media(max-width:760px){.seo-home-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.seo-home-link-grid{grid-template-columns:1fr}.seo-home-link-grid a{min-height:58px}}

.seo-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
