/* Couleurs : rouge et dégradé issus du logo fourni. */
:root{--red:#fd3c41;--coral:#ff745b;--orange:#ffa360;--ink:#242426;--muted:#66666d;--paper:#fff;--line:#e5e5e7;--soft:#f6f6f7;--gradient:linear-gradient(125deg,#fd3c41,#ff745b 58%,#ffa360)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}
a{color:inherit;text-decoration:none}
button{font:inherit}
a:focus-visible,button:focus-visible{outline:3px solid #a12328;outline-offset:6px}
::selection{background:#ffcfbd;color:var(--ink)}
.wrap,.header{width:min(1200px,calc(100% - 96px));margin-inline:auto}
.skip-link{position:fixed;top:-100px;left:20px;padding:12px 20px;background:white;z-index:30}.skip-link:focus{top:12px}
.header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:115px;border-bottom:1px solid var(--line)}
.brand{display:block;width:205px;flex-shrink:0}.brand img{width:100%;height:auto;display:block}
nav{display:flex;justify-content:center;align-items:center;gap:28px;font-size:1.0625rem;font-weight:600;text-align:center}nav a{padding-block:14px;white-space:nowrap}nav a:hover,.text-link:hover{color:#bf262d}
.menu-toggle{border:1px solid var(--line);background:white;padding:8px 14px;border-radius:5px}.menu-toggle span{margin-left:8px}
.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:70px;align-items:center;padding-block:85px 75px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.7px;margin:0 0 24px;color:#a92930}
h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(40px,4.2vw,60px);margin-bottom:26px;font-weight:750}h1 span{color:#d9323b}h2{font-size:clamp(32px,3vw,43px);margin-bottom:22px}h3{font-size:24px;letter-spacing:-.025em}
.intro{font-size:18px;color:var(--muted);max-width:510px;margin-bottom:32px}.button{display:inline-flex;align-items:center;gap:28px;padding:16px 24px;border-radius:5px;background:var(--ink);color:white;font-size:14px;font-weight:700}.button:hover{background:#424247}.button span{font-size:21px;line-height:1}.audience{font-size:11px;letter-spacing:1.4px;font-weight:700;margin:33px 0 0;color:var(--muted)}.audience span{margin-inline:16px;color:var(--red)}
.brand-panel{background:var(--gradient);border-radius:8px;min-height:450px;display:flex;flex-direction:column;justify-content:space-between;padding:30px;color:#321d21;position:relative;overflow:hidden}.brand-panel:after{content:"";position:absolute;width:520px;height:520px;border:1px solid #ffffff40;border-radius:50%;right:-300px;top:10px;pointer-events:none}.panel-top,.panel-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:1px;font-weight:700}.panel-top{border-bottom:1px solid #321d2130;padding-bottom:20px}.panel-title{font-size:clamp(36px,3.5vw,52px);font-weight:750;line-height:1.13;letter-spacing:-2px;margin-block:45px;z-index:1}.panel-title em{font-style:normal;color:#fff}.panel-bottom{letter-spacing:0;font-size:13px}.spark{font-size:48px;font-weight:400;line-height:1}
.section{padding-block:80px}.expertises{border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:330px;color:var(--muted);margin-bottom:3px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{border:1px solid var(--line);border-radius:6px;padding:28px;display:flex;flex-direction:column;min-height:320px}.number{font-size:14px;color:#ad3036;margin-bottom:30px}.service h3{margin-bottom:16px}.service p{font-size:15px;color:var(--muted);margin-bottom:30px}.service-tag{font-size:10px;letter-spacing:1.3px;font-weight:700;margin-top:auto}.service-main{grid-row:span 2;background:var(--ink);color:white;justify-content:space-between;position:relative}.service-main .number{color:#ff9a87}.service-main h3{font-size:40px;max-width:250px}.service-main p{color:#d0d0d4;font-size:17px}.service-main .service-tag{margin-top:0;color:#ffb4a5}
.projects{background:var(--soft)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:40px}.project-grid article{border-top:1px solid #cfcfd3;padding-top:28px}.project-label{font-size:11px;letter-spacing:1.4px;font-weight:700;color:#a92930}.project-grid h3{font-size:28px;margin:18px 0}.project-grid p{color:var(--muted);max-width:480px}.project-grid .project-foot{font-size:13px;color:var(--ink);margin:28px 0 0}
.about{display:grid;grid-template-columns:1fr 2fr;gap:50px}.about>div{max-width:700px}.about p:not(.eyebrow){color:var(--muted)}.text-link{display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:5px;margin-top:14px;font-size:14px;font-weight:700}.text-link span{margin-left:20px}.footer{border-top:1px solid var(--line);padding-block:30px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px;color:var(--muted)}.footer p{margin:0}.footer-name{font-size:16px;font-weight:800;color:#d9323b;letter-spacing:-.5px}.footer-name span{font-weight:400}
/* Tablettes et téléphones */
@media(min-width:681px) and (max-width:1200px){.header{grid-template-columns:1fr;gap:0;padding-top:16px}.header nav{padding-bottom:10px}.header .brand{justify-self:center}}
@media(max-width:1000px){.wrap,.header{width:calc(100% - 48px)}.hero{gap:35px}.brand-panel{min-height:420px;padding:25px}.services{grid-template-columns:repeat(2,1fr)}.service-main{grid-row:auto;grid-column:span 2;min-height:270px}.service-main h3{max-width:none;font-size:32px}.service-main p{max-width:650px}.section-heading>p{max-width:270px}nav{gap:20px}.brand{width:175px}}
@media(max-width:680px){html{scroll-padding-top:24px}.wrap,.header{width:calc(100% - 40px)}.header{min-height:92px;flex-wrap:wrap;gap:0;padding-block:12px}.brand{width:160px}.menu-toggle:not([hidden]){display:block}nav{width:100%;flex-direction:column;align-items:stretch;gap:0;padding-top:12px}nav a{padding:12px 0}.nav-cta{border:0;padding:12px 0}nav.is-collapsed{display:none}.hero{grid-template-columns:1fr;padding-block:48px;gap:35px}h1{font-size:43px}.eyebrow{font-size:10px;letter-spacing:1.1px;margin-bottom:20px}.intro{font-size:17px}.brand-panel{min-height:330px;padding:25px}.panel-title{font-size:43px;margin-block:30px}.section{padding-block:55px}.section-heading{display:block}.section-heading>p{max-width:none;margin-top:22px}.services{grid-template-columns:1fr}.service-main{grid-column:auto}.service{min-height:280px;padding:25px}.service-main h3{font-size:30px}.number{margin-bottom:25px}.project-grid{grid-template-columns:1fr;gap:35px}.project-grid h3{font-size:25px}.about{grid-template-columns:1fr;gap:0}.footer{flex-direction:column;align-items:flex-start;gap:12px}h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:680px){.header{display:flex;justify-content:space-between}}
.realisations>p:not(.eyebrow){color:var(--muted)}
/* Coordonnées de l’entreprise */
.location{font-size:13px;color:var(--muted);margin:12px 0 0}
.contact{background:#242426;color:white;padding-block:65px}
.contact-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.contact .eyebrow{color:#ff9a87}.contact h2{margin-bottom:20px}.contact p:not(.eyebrow){color:#d0d0d4;margin-bottom:0}
.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.phone{font-size:clamp(28px,3.2vw,42px);font-weight:700;letter-spacing:-1px}.email{font-size:clamp(15px,1.8vw,21px);border-bottom:1px solid #79797f;overflow-wrap:anywhere}.contact-links span{color:#bcbcc2;font-size:13px;margin-top:10px}.contact a:hover{color:#ff9a87}.contact a:focus-visible{outline-color:#ff9a87}
@media(max-width:680px){.contact-inner{grid-template-columns:1fr;gap:30px}.contact{padding-block:45px}}

/* Pages distinctes : même en-tête et même pied de page. */
body{min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
nav a[aria-current="page"]{color:#bf262d;box-shadow:inset 0 -2px var(--red)}
.page-title{font-size:clamp(32px,3vw,43px);margin-bottom:22px}
.section-heading .page-title{margin-bottom:0}
.service h2{font-size:24px;letter-spacing:-.025em;margin-bottom:16px}
.service-main h2{font-size:40px;max-width:250px}
.page-expertises .expertises{border-top:0}
.page-contact main{display:flex;flex-direction:column}
.page-contact .contact{flex:1;display:flex;align-items:center;min-height:420px}
@media(max-width:1000px){.service-main h2{max-width:none;font-size:32px}}
@media(max-width:680px){.page-title{font-size:34px}.service-main h2{font-size:30px}.page-contact .contact{min-height:0}}

/* Formulaire de contact */
.page-contact .contact-inner{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:65px;align-items:start}
.contact-details{padding-top:20px}
.contact-details .contact-links{margin-block:32px}
.contact-details .contact-area{font-size:15px;line-height:1.8}
.contact-card-download{margin-top:34px;padding-top:28px;border-top:1px solid #55555c}
.contact-card-download h2{font-size:26px;letter-spacing:-.025em}
.contact .contact-card-download>p{font-size:15px}
.contact .save-contact{margin-top:20px;background:white;color:var(--ink);justify-content:center;text-align:center}
.contact .save-contact:hover{background:#ffe7df;color:var(--ink)}
.contact-qr{display:flex;align-items:center;gap:20px;margin-top:24px}
.contact-qr>a{display:block;flex:0 0 196px}
.contact-qr img{display:block;width:196px;height:196px;background:white}
.contact .contact-qr p{font-size:14px;line-height:1.6}
@media(max-width:1000px){.contact-qr{flex-direction:column;align-items:flex-start}.contact-qr>a{flex-basis:auto}.contact-qr p{max-width:300px}}
.contact-form{background:white;color:var(--ink);border-radius:8px;padding:32px;min-width:0}
.contact-form h2{font-size:28px;letter-spacing:-.025em;margin-bottom:12px}
.contact .contact-form p{color:var(--muted);font-size:14px}
.contact .contact-form .form-required{margin-bottom:24px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.form-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.form-wide{grid-column:1 / -1}
.form-field label{font-size:14px;font-weight:700}
.form-field label span{font-weight:400;color:var(--muted)}
.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;border:1px solid #bdbdc4;border-radius:5px;padding:12px;font:inherit;font-size:16px;background:#fff;color:var(--ink);line-height:1.4}
.form-field textarea{resize:vertical;min-height:135px}
.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline:2px solid #bf262d;outline-offset:2px}
.form-field textarea::placeholder{color:#71717a}
.contact-form .form-help{margin-top:22px}
.form-submit{margin-top:22px;border:0;cursor:pointer;font-size:16px;justify-content:center;width:100%}
.form-submit:disabled{opacity:.6;cursor:not-allowed}
.contact .contact-form .form-status:not(:empty){margin-top:16px;border-left:3px solid var(--red);padding-left:12px;color:var(--ink)}
.contact-form a{text-decoration:underline}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.challenge-refresh{align-self:flex-start;background:none;border:0;padding:4px 0;color:#a92930;text-decoration:underline;font-size:14px;cursor:pointer}
.challenge-refresh:disabled{opacity:.6;cursor:wait}
@media(min-width:681px) and (max-width:1000px){.page-contact .contact-inner{gap:30px}.contact-form{padding:24px}.form-grid{grid-template-columns:1fr}.contact-details .email{font-size:16px}}
@media(max-width:680px){.page-contact .contact-inner{grid-template-columns:1fr;gap:32px}.contact-details{padding-top:0}.contact-form{padding:24px 20px}.form-grid{grid-template-columns:1fr;gap:16px}.contact-form h2{font-size:26px}}

/* Expertises illustrées : une prestation principale, puis quatre cartes. */
.page-expertises .services{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.page-expertises .service{padding:0;min-height:0;overflow:hidden}
.service-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.service-content{display:flex;flex-direction:column;flex:1;padding:28px}
.service-content .number{margin-bottom:20px}
.page-expertises .service-main{grid-column:1 / -1;grid-row:auto;display:grid;grid-template-columns:1fr 1fr}
.page-expertises .service-main .service-image{height:100%;min-height:350px}
.page-expertises .service-main .service-content{padding:38px}
.page-expertises .service-main h2{max-width:none;font-size:34px}
.page-expertises .service-main .service-tag{margin-top:auto}
.image-note{font-size:13px;color:var(--muted);margin:20px 0 0}
@media(max-width:680px){.page-expertises .services{grid-template-columns:1fr;gap:24px}.page-expertises .service-main{display:flex;grid-column:auto}.page-expertises .service-main .service-image{height:auto;min-height:0}.service-content,.page-expertises .service-main .service-content{padding:24px}.page-expertises .service-main h2{font-size:28px}}
