@font-face{font-family:Inter;src:url(../assets/inter.woff2);font-weight:100 900;font-display:swap}@font-face{font-family:Playfair;src:url(../assets/playfair-display-0.ttf);font-display:swap}*{box-sizing:border-box}body{margin:0;font:14px/1.65 Inter,Arial,sans-serif;background:var(--bg);color:var(--ink);--bg:#f4f7fa;--ink:#14367d;--accent:#174dc9;--line:#cad6e8}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img{width:100%;display:block;object-fit:cover}h1{font-size:clamp(47px,6vw,83px);font-weight:600;letter-spacing:-.065em;line-height:1.01}h2{font-size:clamp(30px,3.4vw,46px);letter-spacing:-.05em;line-height:1.1;font-weight:500}button,a{touch-action:manipulation}:focus-visible{outline:3px solid #dd872d;outline-offset:5px}.shell{width:min(1200px,90%);margin:auto}.brand{font-size:22px;font-weight:600;letter-spacing:-.06em;line-height:1.1}.brand small{display:block;font-size:8px;letter-spacing:.16em;text-transform:uppercase;margin-top:8px}.edition-header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:27px 0}.edition-header nav{display:flex;gap:27px;font-size:11px}.menu-toggle{border:1px solid var(--line);background:transparent;padding:10px 17px;min-height:44px;display:none}.kicker{font-size:9px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:22px}.action{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:14px 22px;border:0;background:var(--accent);color:white;font-size:12px;font-weight:550;transition:background-color .2s}.action:hover{filter:brightness(.9)}.action svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5}.underlink{border-bottom:1px solid;padding:8px 0;display:inline-block;font-size:11px}.section{padding:65px 0}.section-top{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}.section-top p{font-size:12px;max-width:370px}.edition-scope{font-size:11px;padding:23px 5%;border-top:1px solid var(--line);opacity:.8}.edition-scope strong{display:block;margin-bottom:4px}footer{padding:26px 5%;display:flex;justify-content:space-between;gap:25px;font-size:10px;border-top:1px solid var(--line)}dialog{position:fixed;inset:0;margin:auto;padding:40px;background:var(--bg);color:var(--ink);border:1px solid var(--line);width:min(600px,94vw);max-height:90dvh}dialog::backdrop{background:#11284caa}dialog nav{display:flex;flex-direction:column;gap:24px;margin-top:45px}dialog nav a{font-size:30px;letter-spacing:-.04em}dialog button{background:transparent;border:1px solid var(--line);padding:10px 20px;float:right}.intro{padding:55px 0 35px}.intro p{max-width:570px;margin-top:20px}.form-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:50px 0 70px}.form-layout h1{font-size:clamp(42px,5vw,65px)}.form-layout>div>p{margin:25px 0;max-width:380px}.contact-art{max-width:230px;margin-top:35px}.request-form{border-top:2px solid var(--accent);padding-top:25px}.request-form label{display:block;font-size:11px;margin-bottom:18px}.request-form input,.request-form select,.request-form textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);background:transparent;padding:12px;min-height:47px;outline-offset:3px}.request-form textarea{min-height:100px;resize:vertical}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.fine{font-size:10px;opacity:.75;margin:15px 0}.form-status{font-size:12px;padding:15px 0}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.gallery-grid button{padding:0;border:0;background:none;text-align:left}.gallery-grid img{height:360px}.gallery-grid p{margin-top:13px;font-size:12px}.gallery-grid small{display:block;font-size:10px;opacity:.65}.large-photo{width:100%;max-height:65vh;object-fit:contain;margin:20px 0}.gallery-tabs{display:flex;gap:20px;margin:25px 0}.gallery-tabs button{background:none;border:0;border-bottom:1px solid transparent;padding:8px 0;min-height:42px;font-size:11px}.gallery-tabs button[aria-pressed=true]{border-color:currentColor}.service-details details{border-top:1px solid var(--line);padding:24px 0}.service-details summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:20px;font-size:22px}.service-details summary svg{width:45px;height:45px;fill:none;stroke:currentColor;stroke-width:1.5}.service-details summary:after{content:'+';margin-left:auto}.service-details details[open] summary:after{content:'−'}.service-details details p{margin:22px 0 20px 65px;max-width:700px;font-size:13px}.service-details details a{margin-left:65px}.service-details{padding:20px 0 60px}
/* Plumbing: technical blue, ruled typography and instrument-like controls. */
.plomberie-tech{--bg:#f5f8fb;--ink:#123c84;--accent:#174dc9}.plomberie-tech .action{border-radius:6px;box-shadow:4px 4px 0 #b3c5e6}.plomberie-tech .edition-header{border-bottom:1px solid var(--line)}.tech-strip{display:flex;justify-content:space-between;padding:10px 0;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.tech-hero{display:grid;grid-template-columns:1.03fr 1fr;min-height:610px;background:#e9f0f9}.tech-copy{padding:65px 45px 50px max(5vw,calc((100vw - 1200px)/2));display:flex;flex-direction:column;align-items:start}.tech-copy h1 span{display:block;color:#2f65ba}.tech-copy>p:not(.kicker){max-width:340px;margin:25px 0}.tech-photo{position:relative}.tech-photo img{height:100%;min-height:610px}.tech-stamp{position:absolute;left:25px;bottom:25px;background:#fff;padding:17px 23px;border-left:4px solid var(--accent);font-size:11px;box-shadow:0 5px 22px #113f8b18}.tech-stamp strong{display:block;font-size:16px}.tech-services{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin-top:45px}.tech-service{padding:28px;display:grid;grid-template-columns:54px 1fr;gap:20px;border-right:1px solid var(--line)}.tech-service:last-child{border:0}.tech-service svg{width:50px;height:50px;fill:none;stroke:currentColor;stroke-width:1.5}.tech-service h3{font-size:16px}.tech-service p{font-size:11px;margin-top:6px}.tech-service:hover{background:#e7eef9}.tech-end{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:60px 0}.tech-end p{margin-top:12px;font-size:13px}
/* BTP: blueprint grids, dimension lines, chamfered work-order buttons. */
.btp-plan{--bg:#112e3a;--ink:#eef3dc;--accent:#d8ef7f;--line:#49626a}.btp-plan .action{color:#15353e;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);border-radius:0}.btp-plan .edition-header{border-bottom:1px solid var(--line)}.btp-plan .brand{font-family:monospace;letter-spacing:-.04em}.btp-plan .edition-header nav{font-family:monospace;text-transform:uppercase}.plan-hero{background-image:linear-gradient(#829b9730 1px,transparent 1px),linear-gradient(90deg,#829b9730 1px,transparent 1px);background-size:38px 38px;border-bottom:1px solid var(--line)}.plan-hero .shell{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-block:65px}.plan-copy h1{font-size:clamp(48px,6vw,83px);text-transform:uppercase}.plan-copy h1 em{display:block;font-style:normal;-webkit-text-stroke:1px #edf6df;color:transparent}.plan-copy>p:not(.kicker){margin:28px 0;max-width:350px;color:#c2d0c9}.plan-art{width:100%;height:420px;color:#dce9bd}.plan-art text{font-family:monospace;fill:currentColor;font-size:12px}.plan-caption{display:flex;justify-content:space-between;font:10px monospace;border-block:1px solid #698477;padding:10px 0}.plan-work{display:grid;grid-template-columns:1.3fr 1fr;gap:55px;align-items:center}.plan-work img{height:370px;filter:saturate(.55)}.plan-work p{margin:25px 0;color:#c3d2c9;font-size:13px}.plan-work .kicker{color:#d8ef7f}.plan-work-list{display:flex;gap:30px;border-top:1px solid var(--line);padding-top:25px;font-size:10px;font-family:monospace}.btp-plan input,.btp-plan select,.btp-plan textarea{color:var(--ink);background:#153742}.btp-plan option{background:#153742}.project-types{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0}.project-types button{background:none;color:var(--ink);border:1px solid var(--line);padding:25px 15px;text-align:left;min-height:120px}.project-types button span{display:block;font-size:10px;opacity:.7;margin-top:10px}.project-types button[aria-pressed=true]{background:var(--accent);color:#15333a;border-color:var(--accent)}.brief-result{border:1px solid var(--line);padding:30px;margin-bottom:55px}.brief-result h2{font-size:31px}.brief-result p{max-width:650px;margin:20px 0}
/* Photography: editorial white, serif type, underlined links and circular shutter CTA. */
.photo-editorial{--bg:#f9f7f1;--ink:#262723;--accent:#776750;--line:#d7d3c8}.photo-editorial h1,.photo-editorial h2{font-family:Playfair,Georgia,serif;font-weight:400;letter-spacing:-.05em}.photo-editorial .brand{font-family:Georgia,serif;font-style:italic;font-weight:400}.photo-editorial .edition-header{padding:35px 0}.photo-editorial .menu-toggle{display:block;border:0;padding:10px 0;letter-spacing:.15em;font-size:9px}.photo-editorial .edition-header nav{display:none}.photo-editorial .action{border-radius:0;background:none;color:var(--ink);border-bottom:1px solid var(--ink);padding:10px 0;min-height:40px}.editorial-hero{position:relative;padding:30px 0 50px}.editorial-title{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:32px}.editorial-title h1{font-size:clamp(48px,6.7vw,94px)}.editorial-title p{max-width:210px;font-size:11px;padding-bottom:10px}.editorial-images{display:grid;grid-template-columns:1.4fr .68fr;align-items:start;gap:30px}.editorial-images figure{margin:0}.editorial-images img{height:470px}.editorial-images figure:nth-child(2){margin-top:80px}.editorial-images figure:nth-child(2) img{height:320px}.editorial-images figcaption{font-size:10px;padding:12px 0;border-top:1px solid var(--line);margin-top:10px;display:flex;justify-content:space-between}.round-cta{position:absolute;right:15%;top:160px;z-index:1;width:105px;height:105px;background:#f9f7f1;border:1px solid #262723;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font-size:10px;box-shadow:0 4px 15px #2221}.photo-contact-image{height:350px;max-width:400px;margin-top:35px}.photo-editorial .request-form{border-top:1px solid var(--line)}.photo-editorial .request-form input,.photo-editorial .request-form textarea,.photo-editorial .request-form select{border:0;border-bottom:1px solid var(--line);padding-left:0}.photo-editorial .gallery-grid figure{margin:0}.photo-editorial .gallery-grid button:nth-child(2n){margin-top:80px}.photo-editorial .gallery-grid img{height:400px}.photo-editorial .gallery-grid button:nth-child(2n) img{height:300px}.photo-editorial .gallery-grid button{text-align:left}.photo-editorial .gallery-grid button:hover img{filter:contrast(1.05)}
.round-cta{right:25%;top:275px}
@media(max-width:900px){.edition-header nav{gap:15px}.edition-header>.action{display:none}.tech-copy{padding:45px 25px 40px 5vw}.tech-services{grid-template-columns:1fr}.tech-service{border-right:0;border-bottom:1px solid var(--line)}.plan-hero .shell{gap:20px}.plan-art{height:370px}.form-layout{gap:35px}.editorial-title h1{font-size:65px}.round-cta{right:25%;top:260px}.editorial-images img{height:390px}}
@media(max-width:650px){.edition-header nav{display:none}.menu-toggle{display:block}.edition-header{padding:23px 0}.tech-strip{font-size:8px}.tech-hero{grid-template-columns:1fr}.tech-copy{padding:40px 5%}.tech-copy h1{font-size:57px}.tech-photo img{height:350px;min-height:0}.tech-services{margin-top:30px}.tech-service{padding:24px 10px}.tech-end{display:block;padding:40px 0}.tech-end .action{margin-top:25px}.plan-hero .shell{grid-template-columns:1fr;padding-block:40px}.plan-copy h1{font-size:57px}.plan-art{height:auto;max-height:350px}.plan-work{grid-template-columns:1fr;gap:30px}.plan-work img{height:260px}.section{padding:40px 0}.section-top{display:block}.section-top p{margin-top:15px}.form-layout{grid-template-columns:1fr;gap:25px;padding-top:30px}.contact-art{max-width:120px;margin-top:25px}.form-pair{grid-template-columns:1fr;gap:0}.project-types{grid-template-columns:1fr;gap:8px}.project-types button{min-height:80px;padding:15px}.brief-result{padding:22px}.editorial-title{display:block}.editorial-title h1{font-size:57px}.editorial-title p{max-width:320px;margin-top:22px}.editorial-images{gap:15px;grid-template-columns:1.25fr .75fr}.editorial-images img{height:310px}.editorial-images figure:nth-child(2){margin-top:70px}.editorial-images figure:nth-child(2) img{height:200px}.round-cta{position:static;width:auto;height:auto;border:0;border-bottom:1px solid;border-radius:0;display:inline-flex;padding:10px 0;box-shadow:none;font-size:12px;margin-bottom:25px}.editorial-images figcaption{font-size:8px;display:block}.gallery-grid{gap:18px}.photo-editorial .gallery-grid img{height:240px}.photo-editorial .gallery-grid button:nth-child(2n){margin-top:50px}.photo-editorial .gallery-grid button:nth-child(2n) img{height:200px}.intro{padding-top:30px}.intro h1{font-size:48px}footer{flex-direction:column;gap:10px}.edition-scope{font-size:10px}.photo-contact-image{height:220px}.edition-header .brand{font-size:21px}.btp-plan .brand{font-size:19px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}[hidden]{display:none!important}

/* Controls inherit their concept's shape, including native select elements. */
.plomberie-tech{--control-radius:6px}
.btp-plan,.photo-editorial{--control-radius:0px}
.request-form :is(input,select,textarea){border-radius:var(--control-radius);color:var(--ink)}
.plomberie-tech :is(.menu-toggle,dialog,dialog button){border-radius:var(--control-radius)}
.btp-plan :is(.menu-toggle,dialog,dialog button,.project-types button,.brief-result){border-radius:0}
.btp-plan .action:focus-visible{outline:0;box-shadow:inset 0 0 0 3px var(--ink),inset 0 0 0 5px #15353e}
.photo-editorial dialog button{border:0;border-bottom:1px solid var(--ink);border-radius:0;padding-inline:0}
