:root{--ink:#172c39;--ink-deep:#112430;--muted:#5d6b72;--orange:#eb8550;--orange-dark:#b9592e;--paper:#f7f6f2;--line:#e4e5e1;--soft:#eef0ed;--white:#fff;--font-body:'DM Sans',Arial,sans-serif;--font-title:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--font-body);background:var(--paper);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}.container{width:min(1220px,calc(100% - 72px));margin:0 auto}.announcement{background:var(--ink);color:#e9f0ef;text-align:center;padding:10px 16px;font-size:12px;font-weight:700;letter-spacing:.095em;text-transform:uppercase;display:flex;justify-content:center;align-items:center;gap:10px}.announcement-dot,.status-badge span{width:7px;height:7px;background:#9ecd9e;border-radius:50%;display:inline-block}.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{display:inline-flex;gap:13px;align-items:center;white-space:nowrap}.brand-mark{display:grid;grid-template-columns:repeat(2,17px);grid-template-rows:repeat(2,17px);gap:3px;transform:rotate(-1deg)}.brand-mark span{display:block;background:var(--ink)}.brand-mark span:first-child{background:var(--orange)}.brand-mark span:last-child{background:var(--orange);border-radius:0 0 6px 0}.brand-name{font:800 17px/1 var(--font-title);letter-spacing:-.065em}.brand-name>span{font-weight:600;margin-left:3px}.brand-name small{display:block;font:700 8px/1.6 var(--font-body);letter-spacing:.19em;margin-top:5px;color:#7b8584}.header-actions{display:flex;align-items:center;gap:27px}.header-phone{display:flex;gap:8px;align-items:center;font-size:14px;font-weight:800}.header-phone svg{width:17px;height:17px}.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:53px;padding:13px 24px;border:1px solid transparent;border-radius:4px;font-size:13px;font-weight:800;letter-spacing:.015em;transition:background .2s,transform .2s,color .2s;cursor:pointer}.button svg{height:18px;width:18px}.button:hover:not(:disabled){transform:translateY(-2px)}.button-primary{background:var(--orange);color:#142734}.button-primary:hover:not(:disabled){background:#f09b6b}.button-outline{border:1px solid #d5d9d6;color:var(--ink);background:transparent}.button-outline:hover{background:#ebece8}.button-small{min-height:43px;padding:10px 18px}.hero{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;gap:58px;padding-top:55px;padding-bottom:100px}.hero-content{display:flex;flex-direction:column;align-items:flex-start;padding:37px 0 10px}.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.21em;font-weight:800;color:#66777d}.mini-square{height:8px;width:8px;background:var(--orange);display:inline-block}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--font-title);font-weight:800;letter-spacing:-.058em}h1{font-size:clamp(47px,4.55vw,71px);line-height:1.13;margin:27px 0 24px}h1 em,h2 em{font-style:normal;color:var(--orange-dark)}.hero-intro{font-size:17px;line-height:1.85;max-width:545px;color:var(--muted);margin-bottom:32px}.hero-ctas{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.text-link{font-weight:800;font-size:13px;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#aab6b6}.text-link span{margin-left:5px}.hero-reassurance{display:flex;align-items:center;gap:11px;margin-top:auto;padding-top:43px;font-size:12px;color:#677879}.status-badge{border-radius:50%;height:25px;width:25px;display:inline-flex;align-items:center;justify-content:center;background:#e6eee4}.hero-art{position:relative;overflow:hidden;background:var(--ink);color:#f8f6ed;min-height:512px;padding:27px;display:flex;flex-direction:column;box-shadow:0 27px 47px -38px #0d283a66}.art-corner{position:absolute;width:24px;height:24px;border:1px solid rgba(255,255,255,.3)}.art-corner-tl{left:13px;top:13px;border-bottom:0;border-right:0}.art-corner-br{right:13px;bottom:13px;border-top:0;border-left:0}.art-topline,.art-bottomline{display:flex;justify-content:space-between;gap:10px;font-size:9px;font-weight:800;letter-spacing:.17em;color:#b3c6c9}.art-title{font:800 clamp(28px,3.2vw,46px)/1.12 var(--font-title);letter-spacing:-.065em;margin:auto 0 26px;padding:39px 8px 25px}.art-title span:not(.art-dot){color:#f2a173}.art-title .art-dot{color:#f2a173}.art-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.art-cell{height:112px;padding:17px;display:flex;flex-direction:column;justify-content:space-between;font-size:13px;line-height:1.3;font-weight:800}.art-number{font-size:10px;opacity:.7}.art-cell.orange{background:#f3a06e;color:#172b38}.art-cell.navy{background:#3b5464}.art-cell.pale{background:#d4dfd9;color:#172b38}.art-cell.ink{background:#1c3949;border:1px solid #47606e}.art-bottomline{margin-top:26px}.services-strip{background:#e9eeea;border-top:1px solid #e0e7e1;border-bottom:1px solid #e0e7e1}.services-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.services-inner span{font-family:var(--font-title);font-size:12px;letter-spacing:.08em;font-weight:800;color:#435961}.services-inner i{width:5px;height:5px;background:var(--orange);border-radius:50%}.contact-section{background:#fff;padding:108px 0 125px}.contact-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:100px;align-items:start}.contact-copy{padding-top:25px}.contact-copy h2{font-size:clamp(40px,4vw,60px);line-height:1.16;margin:25px 0 22px}.contact-copy>p{color:var(--muted);line-height:1.9;font-size:16px;max-width:465px}.contact-details{margin-top:48px;max-width:500px}.detail-row{display:flex;align-items:center;gap:18px;padding:20px 0;border-top:1px solid #e6e8e6;transition:padding-left .2s}.detail-row:hover{padding-left:4px}.detail-row:last-child{border-bottom:1px solid #e6e8e6}.detail-icon{border:1px solid #d5dad8;width:43px;height:43px;display:grid;place-items:center;border-radius:4px;font:600 19px var(--font-title);color:#7b8e8f;flex:none}.detail-row small{display:block;color:#7c898a;font-size:10px;font-weight:800;letter-spacing:.14em;margin-bottom:7px}.detail-row strong{font-size:15px;overflow-wrap:anywhere}.contact-copy .location-note{font-size:12px;color:#8a9696;margin-top:28px}.form-panel{padding:38px;background:var(--paper);border:1px solid #e7e7e2;box-shadow:0 14px 45px -34px #10283b44}.form-heading{display:flex;align-items:start;gap:15px;margin-bottom:30px}.form-heading h3{font:800 23px/1.3 var(--font-title);letter-spacing:-.045em;margin:0 0 4px}.form-heading p{font-size:13px;line-height:1.7;color:#738080;margin:0}.form-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#f6dfce;color:#b65d34;font-size:22px;flex:none}.form-panel form{display:flex;flex-direction:column;gap:17px}.form-panel label{display:flex;flex-direction:column;gap:8px;font-weight:800;font-size:12px;color:#405560}.form-panel label b{color:var(--orange-dark)}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-panel input:not([type=checkbox]),.form-panel textarea,.form-panel select{width:100%;border:1px solid #dce0dd;border-radius:3px;background:#fff;min-height:47px;padding:13px 14px;font-size:13px;font-weight:400;color:#334754;outline:none;resize:vertical}.form-panel input:disabled,.form-panel textarea:disabled,.form-panel select:disabled{opacity:1;cursor:not-allowed;background:#fcfcfa;color:#667b81}.form-panel input::placeholder,.form-panel textarea::placeholder{color:#a4aeb1}.upload-box{border:1px dashed #bcc8c6;border-radius:4px;min-height:149px;padding:20px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#fdfdfa;gap:7px;text-align:center;color:#546b75}.upload-box svg{width:27px;height:27px;color:#a5b1b3}.upload-box strong{font-size:13px}.upload-box span{font-size:12px;color:#7a8a8d}.upload-box small{font-size:11px;color:#9aa6a7}.form-panel .checkbox-line{display:flex;flex-direction:row;align-items:flex-start;gap:9px;font-weight:400;font-size:11px;line-height:1.6;color:#798587}.checkbox-line input{margin:3px 0 0}.submit-button{width:100%;margin-top:1px;opacity:.55;cursor:not-allowed}.form-prelaunch{display:flex;align-items:flex-start;gap:8px;color:#805a43;font-size:11px;line-height:1.65;background:#f9e9de;border:1px solid #f0dacb;padding:12px 14px;margin:0}.form-prelaunch span{font-size:7px;margin-top:5px}.footer{background:var(--ink-deep);color:#fff;padding:40px 0 24px}.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;font-size:12px}.footer-inner>div:first-child{display:flex;flex-direction:column;gap:5px}.footer-inner strong{font:800 14px var(--font-title);letter-spacing:-.02em}.footer-inner span,.footer-inner>div:nth-child(2){color:#aabac0}.footer-inner a{text-decoration:underline;text-decoration-color:#9db1b8;text-underline-offset:5px}.footer-meta{font-size:10px;line-height:1.6;color:#899ca4;border-top:1px solid #30424e;padding-top:23px;margin-top:28px}[hidden]{display:none!important}
@media(max-width:1050px){.hero{gap:34px}.contact-grid{gap:55px}.container{width:min(1220px,calc(100% - 52px))}.hero-art{min-height:480px}.art-title{font-size:35px}.header-actions{gap:15px}}
@media(max-width:820px){.site-header{height:92px}.header-phone{display:none}.hero{grid-template-columns:1fr;gap:30px;padding-top:20px;padding-bottom:64px}.hero-content{padding:34px 0}.hero-reassurance{margin-top:0}.hero-art{min-height:410px;max-width:660px;width:100%}.art-title{font-size:40px;margin:25px 0}.art-cell{height:93px}.contact-grid{grid-template-columns:1fr;gap:44px}.contact-section{padding:65px 0 80px}.contact-copy{padding-top:0}.contact-details{margin-top:30px}.services-inner{justify-content:center;min-height:77px;gap:15px 20px;padding-top:19px;padding-bottom:19px}.services-inner span{font-size:10px}}
@media(max-width:520px){.container{width:calc(100% - 34px)}.announcement{font-size:10px;letter-spacing:.06em}.site-header{height:82px}.wordmark{gap:9px}.brand-mark{grid-template-columns:repeat(2,14px);grid-template-rows:repeat(2,14px);gap:2px}.brand-name{font-size:14px}.brand-name small{font-size:6px}.header-actions .button{font-size:11px;padding:9px;min-height:39px}.hero{padding-top:0;padding-bottom:48px}.hero-content{padding:28px 0 10px}h1{font-size:45px;line-height:1.13}.hero-intro{font-size:15px;line-height:1.8}.hero-ctas{align-items:flex-start;gap:19px;flex-direction:column}.hero-reassurance{padding-top:34px;align-items:flex-start}.hero-art{padding:22px;min-height:382px}.art-title{font-size:33px;padding:20px 0;margin:20px 0}.art-cell{height:94px;padding:12px;font-size:11px}.art-topline,.art-bottomline{font-size:7px}.services-inner{gap:12px}.services-inner i:last-of-type{display:none}.contact-copy h2{font-size:43px}.contact-section{padding:60px 0 68px}.form-panel{padding:24px 18px}.form-row{grid-template-columns:1fr;gap:16px}.footer-inner{flex-direction:column;align-items:flex-start}.footer{padding-top:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.detail-row{transition:none}}

/* Identité visuelle Espace Publicréation, fidèle au logo fourni. */
:root{--ink:#2b2e45;--ink-deep:#24263b;--muted:#626d7a;--orange:#02999c;--orange-dark:#037b83;--paper:#fff;--line:#e2e8e9;--soft:#eaf5f5}
.announcement{background:#292b42}
.announcement-dot,.status-badge span{background:#02999c}
.logo-original{width:min(365px,38vw);height:auto;display:block;object-fit:contain}
.brand-mark{display:none}
.brand-name{display:none}
.site-header{height:116px}
.hero-art{background:#292c45}
.hero-art::before{content:"";position:absolute;inset:0 0 36% 47%;pointer-events:none;opacity:.16;background-image:radial-gradient(#3be3dd 2px,transparent 2.5px);background-size:20px 20px;mask-image:linear-gradient(145deg,transparent 5%,#000 68%)}
.art-topline,.art-bottomline{color:#b5ced0}
.art-title span:not(.art-dot),.art-title .art-dot{color:#48c4c3}
.art-cell.orange{background:#12acac;color:#1d2943}
.art-cell.navy{background:#44506b;color:#fff}
.art-cell.pale{background:#deeeee;color:#2b2e45}
.art-cell.ink{background:#303751;border-color:#6e8395}
.services-strip{background:#e8f4f4;border-color:#d5e8e8}
.services-inner span{color:#3c5666}
.contact-section{background:#f8fbfb}
.form-panel{background:#fff;border-color:#dfe8e9}
.form-icon{background:#d9f1f0;color:#037b83}
.form-prelaunch{color:#356a71;background:#eaf6f6;border-color:#cae9e9}
.status-badge{background:#dcf2f0}
.footer{background:#25273e}
.detail-icon{color:#037b83;border-color:#c8dada}
.upload-box{border-color:#a8cbcd}

/* Formulaire raccordé au stockage privé et à l'API d'envoi. */
.form-panel fieldset{display:flex;flex-direction:column;gap:17px;border:0;margin:0;padding:0;min-width:0}
.form-panel fieldset:disabled .upload-box{opacity:.7;cursor:not-allowed}
.form-panel .upload-box input[type=file]{min-height:auto;width:100%;max-width:310px;background:transparent;border:0;padding:7px 0;color:#405560;cursor:pointer}
.upload-box input[type=file]::file-selector-button{border:1px solid #9bbebc;background:#f0faf9;border-radius:4px;padding:8px 11px;margin-right:10px;color:#29575d;font-weight:700;cursor:pointer}
.upload-box #attachment-summary{max-width:100%;overflow-wrap:anywhere;color:#365961}
.spam-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-panel .submit-button:not(:disabled){opacity:1;cursor:pointer}
.form-prelaunch[data-kind=success]{color:#195f46;background:#e4f5ee;border-color:#badaca}
.form-prelaunch[data-kind=error]{color:#943b36;background:#fff0ee;border-color:#edd0cc}
.form-success{padding:42px 16px 30px;text-align:center;outline:none}
.success-symbol{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 24px;border-radius:50%;background:#d7f3ea;color:#087e72;font-size:42px;font-weight:800}
.form-success h3{max-width:420px;margin:0 auto 18px;font:800 clamp(24px,3vw,31px)/1.25 var(--font-title);letter-spacing:-.035em;color:#25273e}
.form-success p{max-width:410px;margin:0 auto 14px;color:#526b70;font-size:15px;line-height:1.7}
.form-success .button{margin-top:23px;border-color:#a5c7c4;color:#087e82}
@media(max-width:820px){.logo-original{width:min(330px,52vw)}}
@media(max-width:520px){.logo-original{width:min(245px,72vw)}.site-header{height:88px}.site-header .button-small{display:none}}
