
:root{--ink:#203d51;--pink:#f9e4e8;--cream:#fcfaf8;--muted:#596c78}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}header{background:#fcfaf8ed;position:sticky;top:0;z-index:5;border-bottom:1px solid #203d5118}nav{max-width:1280px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:18px 5%;gap:24px}.brand{font-family:Georgia,serif;font-size:26px;line-height:1}.brand small{display:block;font:10px Arial;letter-spacing:4px;margin-top:8px}nav .links{display:flex;gap:28px;font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:#c7e5f7;color:var(--ink);padding:14px 24px;border:1px solid #9fcce5;font-size:13px;cursor:pointer}.btn.light{background:transparent;color:var(--ink)}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hero-copy{padding:85px 10% 70px 14%;align-self:center}.eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-size:10px;font-weight:700}.line{width:40px;height:2px;background:#be8880;display:inline-block;vertical-align:middle;margin-right:12px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(46px,5.3vw,78px);margin:25px 0}em{color:#a56c7b;font-weight:400}p{color:var(--muted)}.hero-copy p{max-width:410px;font-size:15px;margin-bottom:30px}.actions{display:flex;gap:12px;flex-wrap:wrap}.hero-art{position:relative;overflow:hidden;background:#d4eaf7;min-height:500px}.hero-art img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.photo-label{position:absolute;bottom:14px;right:18px;background:#fffdf4df;padding:3px 9px;font-size:10px}.stamp{position:absolute;bottom:45px;left:30px;background:var(--pink);padding:20px 25px;max-width:200px;font-family:Georgia;font-size:22px;line-height:1.2}.strip{background:#d4eaf7;color:var(--ink);display:flex;justify-content:space-evenly;gap:25px;padding:24px 6%;font-size:12px}.strip span:before{content:'✦';color:var(--pink);margin-right:12px}.section{max-width:1200px;margin:auto;padding:90px 5%}h2{font-size:clamp(36px,4vw,52px);margin:15px 0 25px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:40px}.section-head p{max-width:340px;font-size:14px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #203d5130}.service{padding:30px 28px 20px 0;border-bottom:1px solid #203d5130}.service:not(:nth-child(3n+1)){padding-left:28px;border-left:1px solid #203d5130}.num{font-size:11px;color:#a56f69}h3{font-size:26px;margin:22px 0 14px}.service p{font-size:14px}.about{background:#f9e8ec}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.quote{border-left:1px solid #ae817b;padding:20px 0 20px 40px;font:32px/1.4 Georgia}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.process b{font:42px Georgia;color:#c28f87}.process h3{font-size:23px}.process p{font-size:14px}.gallery{background:#edf6fc}.gallery-placeholder{display:grid;grid-template-columns:1.4fr 1fr;min-height:260px;gap:22px}.sample{padding:45px;background:#e0e6e6;display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden}.sample:before{content:'';position:absolute;width:180px;height:220px;right:10%;top:25px;border-radius:100px 100px 0 0;background:#f8f5ec;box-shadow:15px 20px 0 #c8d1d4}.sample:nth-child(2){background:#dcbeb5}.sample:nth-child(2):before{background:#f0e4d5;box-shadow:15px 20px 0 #cbaba0}.sample span{position:relative;font:24px Georgia}.sample small{position:relative;font-size:11px;margin-top:10px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-info a{display:block;margin:15px 0;font-size:19px}.contact-info .eyebrow{margin-top:35px}form{background:white;padding:32px;border:1px solid #203d5118}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:12px;margin-bottom:16px}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #a6afb3;padding:9px 0;border-radius:0;background:transparent;color:var(--ink)}textarea{resize:vertical}form small{display:block;color:var(--muted);font-size:11px;margin:15px 0}.status{font-size:12px}footer{padding:30px 6%;border-top:1px solid #203d5120;display:flex;justify-content:space-between;gap:25px;font-size:11px}.mobile-call{display:none}a:focus-visible,button:focus-visible{outline:3px solid #c58b82;outline-offset:4px}@media(max-width:800px){nav .links{display:none}nav{padding:18px 6%}nav>.btn{padding:10px 15px;font-size:11px}.brand{font-size:22px}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 7%}.hero-art{min-height:360px}.strip{flex-wrap:wrap;justify-content:start;font-size:11px;gap:12px 25px}.section{padding:60px 7%}.section-head{display:block}.services{grid-template-columns:1fr 1fr}.service,.service:not(:nth-child(3n+1)){padding:22px 16px 15px 0;border-left:0}.service:nth-child(even){padding-left:16px;border-left:1px solid #203d5130}.about-inner,.contact-grid{grid-template-columns:1fr;gap:30px}.quote{font-size:27px}.process{grid-template-columns:1fr;gap:15px}.process h3{margin-top:10px}.gallery-placeholder{grid-template-columns:1fr}.sample{min-height:230px}.fields{grid-template-columns:1fr}footer{flex-direction:column;padding-bottom:35px}.hero-copy h1{max-width:500px}}
.hero-copy{background:linear-gradient(135deg,#fcfaf8 40%,#edf6fc)}.sample{background:#dceefa}.sample:nth-child(2){background:#f7e2e8}.sample:before{box-shadow:15px 20px 0 #c4dfef}.sample:nth-child(2):before{box-shadow:15px 20px 0 #e8cbd3}.strip span:before{color:#8dbbd6}
/* Placo, bandes à joint et panneaux de contenu */
body{background:#d6d8d5 url('assets/fond-placo.png') center top/1400px auto repeat-y;background-attachment:fixed}
header{background:rgba(248,250,250,.95)}
.hero{margin-top:28px;box-shadow:0 8px 40px #203d5115}
.hero-copy{background:rgba(249,251,251,.95)}
.section{position:relative}
#savoir-faire{margin-top:50px;margin-bottom:50px;background:rgba(247,250,250,.85);padding-top:60px;padding-bottom:60px;box-shadow:0 8px 40px #203d5112}
.services{gap:20px;border:0}
.service,.service:not(:nth-child(3n+1)),.service:nth-child(even){padding:28px;border:1px solid #ffffffc0;background:rgba(249,252,253,.94);box-shadow:0 4px 18px #203d5110}
.service:nth-child(3n+2){background:rgba(233,245,252,.95)}
.service:nth-child(3n){background:rgba(254,243,246,.97)}
.about{background:rgba(247,230,237,.93);margin:25px 0;box-shadow:0 8px 40px #203d5112}
main>.section:not(#savoir-faire){background:rgba(246,250,252,.92);margin-top:50px;margin-bottom:50px}
.gallery{background:rgba(230,242,250,.92);margin:25px 0}
em,.num,.brand>span{color:#f2c3d3!important}
h1 em,h2 em{display:inline;color:#f6cbd9!important;text-shadow:0 1px 1px #213d5170;background:#526c7a;padding:0 .09em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.line{background:#f2c3d3}.quote{border-color:#f2c3d3}.process b{color:#edbfd0;text-shadow:0 1px 0 #526c7a}
.stamp{background:#f9dfe9}.strip{background:#c9e7f7}
footer{background:rgba(248,250,250,.96)}
@media(max-width:800px){body{background-size:auto 1000px;background-attachment:scroll}.hero{margin-top:0}#savoir-faire,main>.section:not(#savoir-faire){margin:25px 4%;padding:35px 5%}.services{grid-template-columns:1fr;gap:14px}.service,.service:not(:nth-child(3n+1)),.service:nth-child(even){padding:24px}.hero-copy{padding:50px 7%}}

/* Une composition ouverte sur le mur, avec catégories de métiers. */
.hero{box-shadow:none;background:none;grid-template-columns:1.05fr 1fr}.hero-copy{background:none;padding-top:45px;padding-bottom:45px}
.hero-copy>p{color:#233f50}.hero-intro{margin-top:28px;border-top:1px solid #617e8e55;padding-top:20px;max-width:430px}.hero-intro strong{font:25px Georgia}.hero-intro p{font-size:14px;margin:10px 0}.hero-intro a{font-size:12px;text-decoration:underline}
h1 em,h2 em{background:#7db9db;color:#ffe0eb!important;text-shadow:0 1px 1px #355c7570;padding:0 .1em}
.strip{display:flex;flex-wrap:wrap;gap:16px 32px;padding:25px 5%;font-size:17px;font-weight:600;justify-content:center;text-align:center;background:#bbdef3}.strip-zone{display:block;flex-basis:100%;font-size:19px;letter-spacing:.2px;border-top:1px solid #5986a340;padding-top:15px}.strip span:before{color:#fff0f5}
#savoir-faire,main>.section:not(#savoir-faire){background:none;box-shadow:none;margin-top:30px;margin-bottom:30px}.about{background:none;box-shadow:none;margin:0}.about-inner{padding-top:55px;padding-bottom:45px}.quote{background:#8cc0df;color:#ffe6ef;border:0;padding:35px;font-size:31px}.quote .eyebrow{color:#ffe6ef}
.trade-groups{display:grid;gap:26px}.trade-group{padding:25px}.group-title{font:12px Arial;letter-spacing:2px;font-weight:700;margin:0 0 20px}.services{gap:18px}.service,.service:not(:nth-child(3n+1)),.service:nth-child(even),.service:nth-child(3n+2),.service:nth-child(3n){background:transparent;border:0;box-shadow:none;padding:0 22px 0 0}.service h3{margin-top:5px;font-size:26px}.service p{color:#385162}.service+.service{border-left:1px solid #5e7b8a40!important;padding-left:22px!important}
.supports{background:#c8e5f5ed}.amenagement{background:#f8dce7ed}.finitions{background:#d9e9e6ed}.process article{background:#e2f0f7e0;padding:25px}.process b{background:#7db9db;color:#ffe0eb;padding:0 8px}.gallery{background:#d7ebf4bd}form{background:#dceef6e6;border:0}footer{background:#c6e3f2ed}
@media(max-width:800px){.hero{grid-template-columns:1fr}.hero-copy{padding:35px 7%}.strip{font-size:15px;gap:14px 22px}.strip-zone{font-size:16px}.trade-group{padding:22px}.service+.service{border-left:0!important;border-top:1px solid #5e7b8a40!important;padding:20px 0 0!important}.service,.service:not(:nth-child(3n+1)),.service:nth-child(even){padding:0}.quote{font-size:27px;padding:28px}.hero-intro strong{font-size:23px}}

/* Contraste renforcé tout en gardant les titres rose clair. */
:root{--ink:#18394d;--muted:#294657}
p,.service p,.hero-copy>p{color:#294657}
h1 em,h2 em{background:#285777;color:#ffe1ed!important;text-shadow:none;padding:0 .12em}
.hero-copy{background:rgba(247,250,252,.88)}
.hero-copy p{font-size:17px}.hero-intro p{font-size:16px}
.section-head>p,.service p,.process p{font-size:16px}
.eyebrow,.num{font-size:12px;font-weight:700;color:#23495f}
.quote{background:#285777;color:#ffe1ed}.quote .eyebrow{color:#ffe1ed}
.process b{background:#285777;color:#ffe1ed;text-shadow:none}
.section-head,.contact-info{background:rgba(248,251,253,.94);padding:24px}
.about-inner>div:first-child{background:rgba(248,251,253,.94);padding:28px}
.hero-intro{border-color:#41647970}.hero-intro a{font-size:14px;font-weight:700}
.btn{font-size:14px;font-weight:600}
.supports{background:#c8e5f5fa}.amenagement{background:#f8dce7fa}.finitions{background:#d9e9e6fa}
.group-title{font-size:14px;color:#203f52}.process article{background:#e5f1f8f7}
.strip{color:#18394d}.strip span:before{color:#315e79}
.sample small{font-size:12px;color:#203f52}form small{font-size:12px;color:#294657}footer{color:#203f52}
@media(max-width:800px){.section-head,.contact-info{padding:20px}.about-inner>div:first-child{padding:22px}.hero-copy p{font-size:16px}}

/* Titres sans encadrés ; sélection de plusieurs travaux. */
h1 em,h2 em{background:none!important;color:#386b88!important;text-shadow:none!important;padding:0!important}
.quote{background:none!important;color:#386b88;border-left:3px solid #c7e5f7;padding:15px 0 15px 30px}.quote .eyebrow{color:#386b88}
.process b{background:none!important;color:#386b88!important;padding:0;text-shadow:none}
.work-options{border:0;padding:0;margin:0 0 20px;grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px 15px}
.work-options legend{font-size:13px;font-weight:600;margin-bottom:15px}.work-choice{display:flex;align-items:center;gap:9px;margin:0;font-size:13px;cursor:pointer}.work-choice input{width:18px;height:18px;margin:0;accent-color:#548cad;flex-shrink:0}.other-work{grid-column:1/-1;margin-top:10px}
@media(max-width:500px){.work-options{grid-template-columns:1fr}.quote{padding-left:20px}}

.brand-logo{display:flex;align-items:center;gap:10px}.brand-logo img{width:68px;height:60px;object-fit:contain}.brand-logo>span{color:var(--ink)!important}.brand-logo small{font-size:9px}
.artisan-banner{display:grid;grid-template-columns:1fr 1.8fr auto;gap:30px;align-items:center;background:#e5f1f7f2;padding:30px 35px;max-width:1200px;margin:35px auto}.artisan-banner h2{font-size:31px;margin:12px 0 0}.artisan-summary p{font-size:15px;margin:0 0 10px}.artisan-summary p:last-child{margin:0}.artisan-banner .btn{white-space:nowrap;padding:14px 18px}
.trade-group{padding:0;display:grid;grid-template-columns:240px 1fr;overflow:hidden}.trade-content{padding:26px}.trade-visual{position:relative;min-height:240px}.trade-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.trade-visual>span{position:absolute;bottom:8px;left:10px;background:#ffffffe6;font-size:10px;padding:1px 6px}.trade-group .services{gap:12px}.trade-group .service h3{font-size:23px}.trade-group .service p{font-size:14px}.trade-group .service,.trade-group .service:not(:nth-child(3n+1)){padding-right:12px}.trade-group .service+.service{padding-left:12px!important}
@media(max-width:1000px){.artisan-banner{margin:25px 4%;grid-template-columns:1fr 2fr}.artisan-banner>.btn{grid-column:2;justify-self:start}.trade-group{grid-template-columns:190px 1fr}.trade-group .services{grid-template-columns:1fr}.trade-group .service+.service{border-left:0!important;border-top:1px solid #5e7b8a40!important;padding:15px 0 0!important}}
@media(max-width:600px){.artisan-banner{grid-template-columns:1fr;gap:18px;padding:25px}.artisan-banner>.btn{grid-column:1}.artisan-banner h2{font-size:30px}.trade-group{grid-template-columns:1fr}.trade-visual{min-height:180px}.brand-logo img{width:48px;height:48px}.brand-logo{font-size:20px}.brand-logo small{font-size:8px;letter-spacing:2px}nav{gap:12px}}

.trade-group{display:block}.trade-content{padding:26px}.trade-group .services{grid-template-columns:repeat(3,1fr)}.brand-logo img{width:78px;height:78px}.brand-logo{gap:8px}
@media(max-width:800px){.trade-group .services{grid-template-columns:1fr}.brand-logo img{width:58px;height:58px}}

.hero{min-height:0;align-items:stretch}.hero-copy{padding:42px 8% 35px 10%}.hero-copy h1{font-size:clamp(42px,4.2vw,62px);margin:20px 0}.hero-copy>p{margin-bottom:22px;font-size:16px}.hero-journey{margin-top:30px;padding-top:24px;border-top:1px solid #83b9d2}.hero-journey h2{font-size:29px;margin:10px 0 20px}.journey-items{display:grid;gap:17px}.journey-items article{padding-left:16px;border-left:3px solid #b6dcee}.journey-items article:nth-child(2){border-color:#edc7d5}.journey-items h3{font-size:20px;margin:0 0 5px}.journey-items p{font-size:14px;margin:0;line-height:1.6}.hero-art{max-height:none}.hero-art img{object-position:48% center}
.trade-groups{gap:32px}.trade-group,.supports,.amenagement,.finitions{background:none!important;overflow:visible}.trade-content{padding:0}.group-title{display:flex;align-items:center;gap:15px;font-size:13px;letter-spacing:1.6px;margin-bottom:16px}.group-title:after{content:'';flex:1;height:1px;background:#87afc6}.group-title:before{content:'';width:9px;height:9px;border-radius:50%;background:#e4b8ca}.trade-group .services{gap:16px}.trade-group .service,.trade-group .service:not(:nth-child(3n+1)),.trade-group .service+.service{padding:24px!important;background:#f8fbfceF!important;border:1px solid #adcddd!important;border-top:3px solid #b4dcef!important;box-shadow:0 3px 10px #203d5108}.trade-group .service:nth-child(2){border-top-color:#edcbd8!important}.trade-group .service h3{font-size:24px}.trade-group .service p{font-size:15px}.section-head{background:none;padding:0;margin-bottom:32px}.section-head>p{background:#f8fbfceF;padding:15px 20px;border-left:2px solid #eac6d5}
@media(max-width:800px){.hero-copy{padding:35px 7%}.hero-copy h1{font-size:46px}.hero-journey h2{font-size:29px}.trade-group .services{grid-template-columns:1fr}.hero-art{min-height:380px}}

a.service{display:flex!important;flex-direction:column;transition:transform .18s,border-color .18s,box-shadow .18s}.service-link{margin-top:auto;padding-top:15px;font-size:13px;font-weight:600;color:#386b88}a.service:hover{transform:translateY(-3px);border-color:#6ba7c6!important;box-shadow:0 6px 20px #203d5116!important}.selection-status:empty{display:none}.selection-status{font-size:13px;padding:12px;background:#eff8fc;border-left:3px solid #8fc0db}#contact{scroll-margin-top:125px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a.service{transition:none}}

.work-dimensions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.dimension-field{padding:15px;background:#f6fafc;border-left:3px solid #afd7ec;margin:0}.dimension-field[hidden]{display:none!important}.dimension-field strong,.dimension-field span{display:block}.dimension-field strong{font-size:14px;margin-bottom:5px}.dimension-field span{font-size:12px}.dimension-field input{background:transparent;font-size:15px}.work-dimensions:empty{display:none}@media(max-width:600px){.work-dimensions{grid-template-columns:1fr}}

.legal-page{max-width:950px;margin:35px auto;padding:35px;background:#fafcfdf5}.legal-page h1{font-size:44px}.legal-page h2{font-size:27px;margin-top:32px}.legal-page p{font-size:16px}.legal-page a,form small a{text-decoration:underline}.legal-date{font-size:13px!important}.legal-draft{padding:18px;background:#fff0dc;color:#47331f;border-left:3px solid #b77f36}.legal-page footer{margin-top:30px}@media(max-width:600px){.legal-page{margin:20px 4%;padding:22px}.legal-page h1{font-size:35px}}

/* Finitions : repères dorés, grandes plaques et réalisations en bandeau. */
.strip span::before{color:#a77a21;text-shadow:0 1px 0 #fff4ca}
body{background-color:#deded8;background-image:linear-gradient(#fcfaf82b,#fcfaf82b),url('assets/fond-placo-large.png');background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}
.gallery{margin:35px 0;background:#d7ebf4cf}
.gallery>.section{padding-top:44px;padding-bottom:44px}
.gallery .section-head{align-items:center;margin-bottom:24px}
.gallery .section-head>p{background:none;border:0;padding:0}
.realisations-banner{display:flex;align-items:center;gap:30px;padding:24px 30px;border-top:1px solid #91bdd4;border-bottom:1px solid #91bdd4;background:#eaf5f9c9}
.realisations-banner>.eyebrow{flex:0 0 auto;color:#386b88}
.realisations-banner p{font:25px/1.3 Georgia,serif;margin:0;color:#18394d;flex:1}
.realisations-banner>span:last-child{max-width:300px;font-size:14px;color:#294657}
@media(max-width:800px){body{background-size:auto 100vh;background-attachment:fixed}.gallery>.section{padding-top:35px;padding-bottom:35px}.realisations-banner{flex-direction:column;align-items:flex-start;gap:12px;padding:22px}.realisations-banner>span:last-child{max-width:none}}

/* Photos Tony et bandeau des transformations */
.hero-art>img{object-position:center center}.artisan-banner{align-items:center}.artisan-portrait{width:150px;height:190px;object-fit:cover;object-position:center;border-radius:12px;flex:0 0 150px}.project-photo-band{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:5px 0 16px}.project-photo-band>a{flex:1 0 46%;min-width:0;scroll-snap-align:start;display:block}.project-photo-band img{display:block;width:100%;height:auto;border-radius:10px}.project-photo-band a:focus-visible{outline:3px solid #386b88;outline-offset:4px}@media(max-width:800px){.artisan-portrait{width:125px;height:166px;flex-basis:auto}.project-photo-band>a{flex-basis:92%}}

/* Logo discret sur la photo du chantier */
.hero-art{position:relative}.photo-brand{position:absolute;z-index:2;top:22px;right:22px;display:flex;align-items:center;gap:9px;padding:10px 14px;background:rgba(255,255,255,.93);border-radius:8px;color:#173e54;pointer-events:none}.photo-brand img{width:66px;height:66px;object-fit:contain}.photo-brand span{font:25px Georgia,serif}.photo-brand small{display:block;font:10px Arial,sans-serif;letter-spacing:3px;margin-top:5px}.artisan-portrait{object-position:center 35%;image-rendering:auto}@media(max-width:600px){.photo-brand{top:12px;right:12px;padding:7px 10px}.photo-brand img{width:48px;height:48px}.photo-brand span{font-size:20px}}

.hero-art .photo-brand img{position:static;inset:auto;width:66px;height:66px;object-fit:contain}@media(max-width:600px){.hero-art .photo-brand img{width:48px;height:48px}}
