﻿/* SJ Thermotec — portfolio éditorial. */
:root{--paper:#f7f5f0;--sand:#eeebe4;--ink:#272b28;--ink-2:#626660;--or-ink:#94542c;--line:#d6d5cc;--gut:48px;--sans:"DM Sans",Arial,sans-serif;--cond:"Manrope",Arial,sans-serif;--mono:var(--sans);--or:#bd7947}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:var(--cond);font-weight:400;line-height:1.13;letter-spacing:-.04em}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{display:block;max-width:100%;height:auto}svg{display:block}ul{margin:0;padding:0;list-style:none}button{cursor:pointer}strong{font-weight:500}.wrap{max-width:1392px;padding:0 var(--gut);margin:auto}.sec{padding:110px 0}.kicker{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:22px}.h2{font-size:clamp(30px,3.4vw,48px)}.lead{color:var(--ink-2);max-width:580px;font-size:16px;margin-top:20px}.sec-head{max-width:760px;margin-bottom:42px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--or-ink);outline-offset:5px}
.hdr{position:sticky;top:0;z-index:50;background:rgba(247,245,240,.97);border-bottom:1px solid var(--line)}.nav{height:90px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{height:57px;width:auto}.nav-links{display:flex;gap:34px;font-size:13px}.nav-links a{padding:12px 0}.nav-links a[aria-current]{color:var(--or-ink)}.burger{display:none;background:none;border:1px solid var(--line);width:44px;height:44px}.burger i,.burger i:before,.burger i:after{display:block;width:18px;height:1px;background:var(--ink);margin:auto}.burger i:before,.burger i:after{content:"";position:relative}.burger i:before{top:-6px}.burger i:after{top:5px}
.hero-heading{padding-top:68px;padding-bottom:40px}.hero-heading h1{font-size:clamp(42px,5.8vw,82px);max-width:1050px;line-height:1.1}.hero-heading em{font-family:Georgia,serif;font-weight:400}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-top:34px;font-size:14px}.hero-bottom p{color:var(--ink-2)}.hero-bottom a{border-bottom:1px solid var(--ink);padding-bottom:8px}.hero-bottom a span{margin-left:38px}.hero-photo{margin:0 24px;position:relative;height:clamp(420px,62vw,780px);overflow:hidden;background:var(--sand)}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 55%}.hero-photo figcaption{position:absolute;bottom:24px;left:24px;background:rgba(247,245,240,.93);padding:10px 16px;font-size:12px}
.portfolio-nav{display:flex;gap:26px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:20px;font-size:14px}.portfolio-nav a{padding:6px 0}.portfolio-nav a:hover{text-decoration:underline;text-underline-offset:6px}.filtres{display:flex;flex-wrap:wrap;gap:20px;margin:0 0 36px}.filtre{background:none;border:0;border-bottom:1px solid transparent;padding:8px 0;color:var(--ink-2);font-size:13px}.filtre[aria-pressed="true"]{border-color:var(--ink);color:var(--ink)}.dossiers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 36px;align-items:start}.dossier.is-hidden{display:none}.dossier>button{display:block;width:100%;padding:0;border:0;text-align:left;background:none;color:inherit}.dossier-vue{display:block;position:relative;overflow:hidden;background:var(--sand)}.dossier-vue img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .6s}.dossier>button:hover img{transform:scale(1.025)}.dossier-cpt{position:absolute;bottom:18px;right:18px;display:flex;align-items:center;gap:8px;background:rgba(247,245,240,.94);padding:7px 11px;font-size:11px}.cartouche{display:block;padding:20px 0 0}.cart-obj{display:block}.cart-obj b{display:block;font-family:var(--cond);font-weight:400;font-size:24px;letter-spacing:-.035em;line-height:1.2}.cart-obj>span{display:block;font-size:13px;color:var(--ink-2);margin-top:10px;max-width:500px}.dossier>button:focus-visible .dossier-vue{outline:3px solid var(--or-ink);outline-offset:-3px}
.transformations{margin-top:100px;padding:85px 0;background:var(--sand)}#realisations{padding-bottom:0}.ap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 26px}.cmp{position:relative;aspect-ratio:3/4;overflow:hidden;touch-action:pan-y;background:#ddd}.cmp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cmp-after{clip-path:inset(0 0 0 var(--pos,50%))}.cmp-bar{position:absolute;inset:0 auto 0 var(--pos,50%);width:2px;background:#fff;box-shadow:0 0 1px #222;pointer-events:none}.cmp-knob{position:absolute;left:var(--pos,50%);top:50%;transform:translate(-50%,-50%);width:42px;height:42px;display:grid;place-items:center;background:var(--paper);border-radius:50%;color:var(--ink);pointer-events:none}.cmp-tag{position:absolute;top:12px;padding:5px 9px;background:rgba(247,245,240,.95);font-size:10px;color:var(--ink);pointer-events:none}.cmp-tag--a{left:12px}.cmp-tag--b{right:12px}.cmp input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.cmp:focus-within{outline:3px solid var(--or-ink);outline-offset:4px}.ap-item .cart-obj b{font-size:20px}.ap-item .cart-obj>span{font-size:13px}
.metiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px}.metier{border-top:1px solid var(--line);padding-top:26px}.metier-ic{display:none}.metier h3{font-size:23px}.metier>p{color:var(--ink-2);font-size:14px;margin-top:16px}.metier ul{margin-top:18px;display:grid;gap:10px}.metier li{font-size:13px;color:var(--ink-2)}.technical-detail{margin-top:-40px;padding-bottom:80px}.technical-detail details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.technical-detail summary{display:flex;justify-content:space-between;cursor:pointer;padding:20px 0;font-size:13px;list-style:none}.technical-detail summary::-webkit-details-marker{display:none}.technical-figure{max-width:720px;margin:20px auto 40px}.technical-figure svg{width:100%;height:auto}.fig-cap{font-size:11px;color:var(--ink-2);display:flex;justify-content:space-between;gap:20px}
#contact{background:#e9e6de}.ct-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.ct-list{display:grid;gap:25px}.ct-list li{display:flex;gap:16px}.ct-list svg{width:19px;flex:none;margin-top:6px}.ct-list b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}.ct-list strong{display:block;font-weight:400;font-size:18px}.ct-list span{display:block;font-size:12px;color:var(--ink-2)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.f--full{grid-column:1/-1}.field label{display:block;font-size:12px;margin-bottom:8px}.field i{font-style:normal}.field input,.field select,.field textarea{width:100%;border:1px solid #85877e;background:transparent;color:var(--ink);padding:11px 12px;border-radius:0}.field textarea{resize:vertical}.field [aria-invalid="true"]{border:2px solid #a43229}.btn{background:var(--ink);color:var(--paper);border:0;padding:16px 24px;display:flex;align-items:center;justify-content:center;gap:20px;width:100%;font-size:14px}.btn:hover{background:#41483e}.form-note{font-size:12px;color:var(--ink-2);margin-top:14px}.is-err{color:#a43229}
.ftr{background:#292e29;color:#f4f1eb;padding:64px 0 25px}.ftr-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px}.ftr-grid img{height:65px;width:auto;margin-bottom:20px}.ftr-intro{font-size:13px;color:#c3c6bc;max-width:310px}.ftr h3{font-family:var(--sans);font-size:12px;letter-spacing:0;margin-bottom:18px}.ftr li{font-size:13px;color:#c3c6bc;margin:8px 0}.ftr-legal{margin-top:40px;padding-top:25px;border-top:1px solid #53594f}.ftr-legal p{font-size:11px;color:#c3c6bc}.ftr-bot{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#c3c6bc;margin-top:25px}
.lb{display:none;position:fixed;inset:0;z-index:100;background:rgba(22,25,23,.97);padding:50px 65px}.lb.is-on{display:grid;place-items:center}.lb figure{display:grid;justify-items:center;max-width:100%}.lb img{max-height:77vh;max-width:100%;object-fit:contain}.lb-cap{color:#e5e5dd;margin-top:15px;max-width:680px;text-align:center;font-size:14px}.lb-num{position:absolute;top:22px;left:24px;color:white;font-size:13px}.lb-btn{position:absolute;display:grid;place-items:center;width:44px;height:44px;background:#353d35;color:white;border:1px solid #889084}.lb-x{top:16px;right:20px}.lb-p{top:50%;left:14px}.lb-n{top:50%;right:14px}.lb--solo .lb-num,.lb--solo .lb-p,.lb--solo .lb-n{display:none}
@media(max-width:1020px){:root{--gut:30px}.metiers{grid-template-columns:repeat(2,minmax(0,1fr))}.ct-grid{gap:40px}.ap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-photo{height:560px}.hero-heading h1{font-size:60px}}
@media(max-width:720px){:root{--gut:22px}.nav{height:76px}.brand img{height:49px}.burger{display:block}.nav-links{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:22px;flex-direction:column;gap:5px;border-bottom:1px solid var(--line)}.nav-links.is-open{display:flex}.hero-heading{padding-top:42px;padding-bottom:30px}.hero-heading h1{font-size:43px}.hero-bottom{display:block;margin-top:24px}.hero-bottom a{display:inline-block;margin-top:25px}.hero-photo{margin:0 12px;height:480px}.hero-photo img{object-position:50% 60%}.hero-photo figcaption{left:15px;bottom:15px}.sec{padding:70px 0}.dossiers{grid-template-columns:1fr;gap:36px}.dossier-vue img{aspect-ratio:4/5}.cart-obj b{font-size:23px}.ap-grid{grid-template-columns:1fr;gap:36px}.transformations{margin-top:65px;padding:60px 0}.metiers{grid-template-columns:1fr;gap:30px}.ct-grid{grid-template-columns:1fr;gap:40px}.form-grid{grid-template-columns:1fr}.ftr-grid{grid-template-columns:1fr;gap:28px}.ftr-bot{flex-direction:column;gap:8px}.technical-detail{margin-top:-20px;padding-bottom:55px}.lb{padding:60px 14px}.lb img{max-height:70vh}.lb-p{left:4px}.lb-n{right:4px}.filtres{gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.pl-mur{fill:none;stroke:#2f4f7a;stroke-width:2.2}
.pl-tr{fill:none;stroke:#2f4f7a;stroke-width:1.6}
.pl-fin{fill:none;stroke:#9aadc6;stroke-width:1}
.pl-pt{fill:none;stroke:#9aadc6;stroke-width:1;stroke-dasharray:5 4}
.pl-cu{fill:none;stroke:#a6510a;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pl-cu-e{fill:#a6510a}
.pl-lab{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;fill:#6f6b64}
.pl-cote{font-family:var(--mono);font-size:9.5px;letter-spacing:.04em;fill:#2f4f7a}
.pl-num{font-family:var(--mono);font-size:10px;font-weight:500;fill:#fff}


/* Logos originaux : signature sans slogan et symbole d’onglet. */
.brand{flex-shrink:0}.brand img{width:146px;height:auto;mix-blend-mode:multiply}.ftr-grid img.footer-logo{width:188px;height:auto;margin-bottom:24px}
@media(max-width:720px){.brand img{width:114px;height:auto}}
