@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');:root{--ink:#191b1a;--cream:#f7f5f0;--muted:#6c6c69;--gold:#3d6687}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}.wrap{max-width:1360px;padding:0 6%;margin:auto}.header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#fff;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:14px}.brand-symbol{font-family:Georgia,serif;font-size:48px;line-height:1;font-weight:bold;letter-spacing:-5px}.gold{color:var(--gold)}.brand-name{font-size:15px;letter-spacing:.25em;font-weight:700;line-height:1.35}.brand-name small{display:block;font-size:10px;letter-spacing:.35em;font-weight:500}.header nav{display:flex;align-items:center;gap:36px;font-size:12px;letter-spacing:.07em;text-transform:uppercase;font-weight:600}.header nav a:hover,.underlink:hover{color:var(--gold)}.nav-contact{border:1px solid #ddd;padding:15px 21px}.nav-contact span{margin-left:14px}.menu{display:none;border:0;background:transparent;font-size:24px}.hero{position:relative;min-height:690px;height:calc(100vh - 88px);max-height:950px;background:#202020;color:white;overflow:hidden}.hero-image{position:absolute;inset:0;background-image:url('images/marbre-noir.webp');background-size:cover;background-position:center 54%;animation:zoom 22s ease-in-out infinite alternate;will-change:transform}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,7,8,.79),rgba(4,7,8,.35) 59%,rgba(4,7,8,.13)),linear-gradient(0deg,rgba(0,0,0,.3),transparent 25%)}@keyframes zoom{from{transform:scale(1)}to{transform:scale(1.11)}}.hero-inner{position:relative;max-width:900px;padding:13vh 6% 90px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.23em;color:var(--gold);margin:0 0 27px}.eyebrow.light{color:#d4bd98}h1,h2{font-weight:400;letter-spacing:-.035em;line-height:1.13;margin:0;font-family:'Playfair Display',Georgia,serif}h1{font-size:clamp(52px,6.9vw,105px)}h2{font-size:clamp(38px,4.1vw,67px)}h1 em,h2 em{font-weight:400}.hero-text{max-width:480px;font-size:16px;line-height:1.8;color:#e9e9e7;margin:30px 0 38px}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;padding:21px 26px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;transition:transform .2s}.button:hover{transform:translateY(-3px)}.button-light{background:#fff;color:#151515}.button-dark{background:var(--ink);color:#fff}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid #ffffff91;padding-bottom:7px}.text-link span{margin-left:10px}.hero-bottom{position:absolute;bottom:26px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.18em;font-weight:600}.hero-bottom a:hover{color:var(--gold)}.intro{padding-top:130px;padding-bottom:130px;display:grid;grid-template-columns:1fr .7fr;gap:13%;align-items:end}.intro-copy p{font-size:17px;line-height:1.9;color:#575b5b;margin:0 0 31px}.underlink{font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;border-bottom:1px solid;padding-bottom:12px}.underlink span{margin-left:17px}.services{background:var(--cream);padding:115px 0 120px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:55px}.section-number{color:#8d8b86;font-size:11px;letter-spacing:.16em;white-space:nowrap}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#e3dfd8;border:1px solid #e3dfd8}.service-grid article{background:var(--cream);padding:48px 38px;min-height:310px}.num{font-size:11px;color:#999;letter-spacing:.1em}.service-icon{font-size:40px;color:var(--gold);margin:25px 0}.service-grid h3{font-size:22px;font-weight:500;margin:0 0 15px}.service-grid p{color:#666;line-height:1.7;font-size:14px;max-width:280px}.projects{padding-top:120px;padding-bottom:130px}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project{margin:0;position:relative;height:360px;overflow:hidden;background:#ddd}.project.large{grid-column:span 2;grid-row:span 2;height:744px}.project img{transition:transform .7s ease}.project:hover img{transform:scale(1.055)}.project:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.6));pointer-events:none}.project figcaption{position:absolute;bottom:25px;left:25px;color:white;z-index:1;display:flex;flex-direction:column;gap:5px}.project figcaption strong{font-size:18px;font-weight:500}.project figcaption span{font-size:12px;color:#e8e6e0}.about{min-height:630px;display:grid;grid-template-columns:1fr 1fr;background:#232629;color:white}.about-photo{background:url('images/marbre-blanc.webp') center/cover}.about-content{padding:110px 11%;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.about-content p:not(.eyebrow){font-size:16px;line-height:1.95;color:#d1d2d0;max-width:460px;margin:30px 0 42px}.contact{text-align:center;padding-top:135px;padding-bottom:145px}.contact p:not(.eyebrow){max-width:570px;margin:32px auto 35px;color:#666;line-height:1.85}.contact-actions{display:flex;flex-direction:column;align-items:center;gap:13px}.contact-hint{font-size:11px;color:#8e8983}footer{background:#171a1c;color:white}.footer-inner{padding-top:65px;padding-bottom:65px;display:flex;justify-content:space-between;gap:30px;align-items:start}.footer-brand{font-size:22px;letter-spacing:.11em;font-weight:700}.footer-brand span{display:block;font-size:11px;letter-spacing:.32em;margin-top:6px}.footer-inner p{font-size:13px;color:#bbb;line-height:1.8;margin:0}.footer-inner a{font-size:12px}.footer-bottom{padding-top:24px;padding-bottom:24px;display:flex;justify-content:space-between;border-top:1px solid #35383a;color:#8a8d8e;font-size:11px;gap:15px}@media(max-width:800px){.header{height:72px}.header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:25px 6%;gap:24px;box-shadow:0 10px 20px #0001}.header nav.open{display:flex}.menu{display:block}.brand-symbol{font-size:39px}.hero{min-height:670px;height:calc(100svh - 72px)}.hero-inner{padding:14vh 7% 120px}.hero-image{background-position:61% center}.hero-shade{background:linear-gradient(90deg,#080808bd,#08080868 75%,#08080830)}.hero-bottom span:last-child{display:none}.intro{padding-top:85px;padding-bottom:85px;grid-template-columns:1fr;gap:35px}.services{padding:80px 0}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:unset;padding:34px}.section-number{display:none}.projects{padding-top:85px;padding-bottom:85px}.projects-grid{grid-template-columns:1fr 1fr;gap:12px}.project,.project.large{grid-column:auto;grid-row:auto;height:320px}.project.large{grid-column:span 2;height:480px}.about{grid-template-columns:1fr}.about-photo{height:420px}.about-content{padding:85px 7%}.contact{padding-top:90px;padding-bottom:100px}.footer-inner{flex-direction:column}.footer-bottom{flex-direction:column}}@media(max-width:530px){.hero-inner{padding-top:17vh}.hero-text{font-size:14px}.hero-actions{gap:23px}.button{gap:20px;padding:18px}.hero-bottom{font-size:8px}.projects-grid{grid-template-columns:1fr}.project,.project.large{grid-column:auto;height:440px}.project.large{height:500px}.project img{object-position:center}.section-top{margin-bottom:35px}.brand-name{font-size:12px}.brand-name small{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image{animation:none}.project img,.button{transition:none}}
.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.contact-actions .contact-hint{flex-basis:100%}.button-outline{border:1px solid #17191b;color:#17191b;background:transparent}.button-outline:hover{background:#17191b;color:white}

/* Logo original fourni par Champion Plomberie : sans retouche */
.brand-logo{width:154px;height:82px;object-fit:contain;object-position:left center}
.footer-logo{width:166px;height:132px;object-fit:contain;object-position:left center}
.header{background:#fff}.eyebrow.light{color:#c5daec}
@media(max-width:800px){.brand-logo{width:133px;height:68px}.footer-logo{width:150px;height:118px}}

/* Parcours client de A à Z */
.service-grid{grid-template-columns:repeat(3,1fr)}
.service-grid article{min-height:292px}
.service-note{font-size:13px;line-height:1.8;color:#5c6261;margin:28px 0 0;max-width:820px}
.process{padding-top:115px;padding-bottom:115px}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #dcdad5;border-bottom:1px solid #dcdad5}
.process-grid article{padding:33px 23px 32px;border-right:1px solid #e5e3df}
.process-grid article:first-child{padding-left:0}
.process-grid article:last-child{border-right:0}
.process-grid span{font-size:10px;letter-spacing:.13em;font-weight:700;color:var(--gold)}
.process-grid h3{font-family:'Playfair Display',Georgia,serif;font-size:25px;font-weight:400;margin:18px 0 14px}
.process-grid p{font-size:13px;line-height:1.8;color:#666}
.process-bottom{font-size:14px;line-height:1.8;color:#555;max-width:730px;margin:27px 0 0}
/* Préserver le logo original entier dans l'en-tête et en pied de page */
.brand-logo{object-fit:contain;object-position:left center}
@media(max-width:1000px){.process-grid{grid-template-columns:repeat(2,1fr)}.process-grid article:nth-child(2){border-right:0}.process-grid article:nth-child(-n+2){border-bottom:1px solid #e5e3df}.process-grid article:nth-child(3){padding-left:0}}
@media(max-width:800px){.service-grid{grid-template-columns:1fr}.process{padding-top:80px;padding-bottom:85px}.header nav{gap:19px}}
@media(max-width:540px){.process-grid{grid-template-columns:1fr}.process-grid article,.process-grid article:first-child,.process-grid article:nth-child(3){padding:26px 0;border-right:0;border-bottom:1px solid #e5e3df}.process-grid article:last-child{border-bottom:0}.hero h1{font-size:clamp(40px,10vw,60px)}.hero-inner{padding-top:14vh}.brand-logo{width:124px;height:60px}}

.wc-section{padding-top:90px;padding-bottom:90px;scroll-margin-top:90px}.wc-section>p{max-width:850px;line-height:1.7;margin:22px 0}.wc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:36px 0 60px}.wc-grid article{background:#f3f3f1;padding:20px}.wc-grid video{display:block;width:100%;aspect-ratio:9/12;object-fit:contain;background:#161616}.wc-grid h3{margin:18px 0 10px}.products{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:800px){.wc-grid,.products{grid-template-columns:1fr}.wc-grid video{aspect-ratio:16/10}}

/* WC lavants */
html{scroll-behavior:smooth}.wc-section{padding:100px 0;background:#f4f3ef;color:#1a2022;scroll-margin-top:95px}.wc-lead{max-width:850px;font-size:1.12rem;line-height:1.8;margin:18px 0 38px}.wc-videos,.wc-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.wc-videos article,.wc-product{background:white;padding:20px;border:1px solid #e3e3de}.wc-videos video{display:block;width:100%;aspect-ratio:9/12;object-fit:contain;background:#151515;border-radius:3px}.wc-videos h3,.wc-product h3{font-size:1.35rem;margin:20px 0 10px}.wc-videos p,.wc-product p,.wc-product li{line-height:1.65}.wc-comparison{margin-top:80px}.wc-comparison h2{margin:12px 0 30px}.wc-products{grid-template-columns:repeat(2,minmax(0,1fr))}.wc-product{padding:35px}.wc-tag{font-size:.75rem;letter-spacing:.14em;font-weight:700;color:#53646c}.wc-product ul{padding-left:22px;margin:24px 0}.wc-price{font-size:2rem;font-weight:700;margin:24px 0 2px}.wc-small,.wc-disclaimer{font-size:.83rem;color:#60686b}.wc-disclaimer{margin-top:18px;max-width:850px}.wc-cta{margin-top:65px;padding:35px 0;border-top:1px solid #d4d4d0}.wc-cta p{margin:14px 0 26px}@media(max-width:850px){.wc-section{padding:65px 0}.wc-videos{grid-template-columns:1fr}.wc-products{grid-template-columns:1fr}.wc-videos video{aspect-ratio:16/10}.wc-product{padding:25px}}

/* Réalisations complémentaires et focus technique */
.tech-showcase{padding:85px 0;background:#f2f1ee}.tech-intro{max-width:800px;font-size:1.08rem;line-height:1.75;color:#45494b;margin:0 0 28px}.tech-visual{display:block;position:relative;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 16px 42px rgba(0,0,0,.09)}.tech-visual img{display:block;width:100%;height:auto}.tech-visual span{position:absolute;right:14px;bottom:14px;background:rgba(14,21,28,.90);color:#fff;padding:10px 14px;border-radius:6px;font-size:.85rem}.tech-note{color:#62676a;line-height:1.6;font-size:.9rem;margin:19px 0 22px}@media(max-width:700px){.tech-showcase{padding:52px 0}.tech-visual span{position:static;display:block;border-radius:0;text-align:center}.tech-intro{font-size:1rem}}


/* Galerie d'images agrandissables */
.projects-grid figure.project{cursor:zoom-in}
.projects-grid figure.project:focus-visible,.tech-visual:focus-visible{outline:3px solid #1b72ad;outline-offset:4px}
.photo-lightbox[hidden]{display:none!important}
.photo-lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(9,12,16,.96);padding:64px 64px 80px}
.lightbox-open{overflow:hidden}
.photo-lightbox .lightbox-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 12px 35px rgba(0,0,0,.3)}
.photo-lightbox button{position:absolute;border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;border-radius:100%;font-size:2rem;line-height:1;width:46px;height:46px;display:grid;place-items:center}
.photo-lightbox button:hover,.photo-lightbox button:focus-visible{background:rgba(255,255,255,.35)}
.lightbox-close{top:14px;right:18px}.lightbox-prev{left:12px;top:50%;transform:translateY(-50%)}.lightbox-next{right:12px;top:50%;transform:translateY(-50%)}
.lightbox-caption{position:absolute;bottom:16px;left:60px;right:60px;text-align:center;color:#fff;font-size:.93rem;margin:0}
.email-fallback{font-size:.92rem;line-height:1.6;margin-top:12px}.email-fallback a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:650px){.photo-lightbox{padding:65px 12px 85px}.photo-lightbox button{width:38px;height:38px;font-size:1.8rem}.lightbox-prev{left:5px}.lightbox-next{right:5px}.lightbox-caption{left:40px;right:40px}}
