@font-face{font-family:"Archivo Var";src:url("../fonts/archivo-variable-fr.woff2") format("woff2-variations");font-weight:400 900;font-stretch:64% 100%;font-style:normal;font-display:swap}
:root{--ink:#18312D;--graphite:#28322F;--concrete:#D8DED8;--paper:#F8F5EF;--soft:#EAEFEA;--white:#fff;--signal:#D7A84E;--accent:#497B6F;--line:rgba(11,23,36,.16);--max:1540px;--header-h:82px;--ease:cubic-bezier(.22,1,.36,1);--ease-sharp:cubic-bezier(.76,0,.24,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--graphite);font-family:"Archivo Var",Inter,system-ui,-apple-system,Roboto,Arial,sans-serif;font-variation-settings:"wdth" 100,"wght" 400;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.akg-scroll-lock{overflow:hidden}body:after{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");opacity:.035;pointer-events:none;z-index:9999;will-change:auto;contain:strict}@media (max-width:800px){body:after{display:none}}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}.site-shell{min-height:100vh}.container-wide{width:min(calc(100% - 64px),var(--max));margin-inline:auto}.container-narrow{width:min(calc(100% - 48px),900px);margin-inline:auto}.section-pad{padding:clamp(96px,11vw,180px) 0}.section-dark{background:var(--ink);color:var(--white)}.section-soft{background:var(--soft)}.skip-link{position:fixed;left:16px;top:-100px;z-index:10000;background:var(--signal);padding:12px 18px;font-weight:800}.skip-link:focus{top:16px}.section-index{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#6c6b68;margin-bottom:24px}.section-dark .section-index,.section-heading--inverse .section-index{color:#aaa}.section-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.55fr);gap:6vw;align-items:end;margin-bottom:clamp(54px,7vw,96px)}.section-heading h2,.about-copy h2,.offer-section h2,.faq-intro h2,.contact-copy h2,.zone-section h2,.reviews-head h2{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(44px,6.2vw,106px);line-height:.88;letter-spacing:-.055em;text-transform:uppercase;margin:0;max-width:1100px}.section-heading p{font-size:18px;line-height:1.65;max-width:560px;margin:0}.large-copy{font-size:clamp(19px,2vw,28px);line-height:1.45;margin:0}.display-title{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(58px,8.2vw,146px);line-height:.82;letter-spacing:-.06em;text-transform:uppercase;margin:0}.display-title span,[data-reveal-title] span{display:block;clip-path:inset(0 0 100% 0);transform:translateY(30%);transition:clip-path 1s var(--ease),transform 1s var(--ease)}.is-visible.display-title span,.is-visible[data-reveal-title] span{clip-path:inset(0 0 0 0);transform:none}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}[data-reveal].is-visible{opacity:1;transform:none}
/* Header */
.site-header{position:fixed;inset:0 0 auto;z-index:900;height:var(--header-h);transition:transform .45s var(--ease),background .35s,border-color .35s;background:rgba(73,105,153,.24);border-bottom:1px solid rgba(255,255,255,.18);backdrop-filter:blur(14px);color:#fff}.site-header.is-scrolled{background:rgba(73,105,153,.96);border-color:rgba(255,255,255,.12)}.site-header.is-hidden{transform:translateY(-102%)}.site-header__inner{height:100%;width:min(calc(100% - 40px),var(--max));margin:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:36px}.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand img{width:64px;height:64px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:.9}.brand b{font-size:24px;letter-spacing:.04em}.brand small{font-size:10px;letter-spacing:.22em;margin-top:5px}.site-nav{justify-self:center}.site-nav__list{display:flex;align-items:center;gap:clamp(20px,2.5vw,42px);list-style:none;margin:0;padding:0}.site-nav a{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;position:relative;padding:10px 0}.site-nav a:after{content:"";position:absolute;left:50%;right:50%;bottom:4px;height:2px;background:var(--signal);transition:left .35s var(--ease),right .35s var(--ease)}.site-nav a:hover:after,.site-nav a:focus-visible:after{left:0;right:0}.site-header__actions{display:flex;align-items:center;gap:14px}.header-phone{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13px}.header-phone svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}.menu-toggle{display:none;background:transparent;border:0;padding:8px}.menu-toggle svg{width:28px;stroke:currentColor;fill:none;stroke-width:1.8}
/* Buttons */
.button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:58px;padding:0 28px;border:1px solid transparent;background:transparent;font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;overflow:hidden;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s}.button svg,.text-link svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .35s var(--ease)}.button:hover svg,.text-link:hover svg{transform:translateX(5px)}.button:hover{transform:translateY(-2px)}.button--signal{background:var(--signal);color:var(--ink)}.button--signal:hover{background:#fff}.button--dark{background:var(--ink);color:#fff}.button--dark:hover{background:var(--graphite)}.button--small{min-height:44px;padding:0 18px;font-size:10px}.button--wide{width:100%}.button:disabled{opacity:.55;cursor:wait}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:8px}.text-link svg{width:18px}
/* Hero */
.hero{position:relative;min-height:100svh;background:var(--ink);color:#fff;overflow:hidden;padding-top:var(--header-h);display:flex;align-items:stretch}.hero__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.075) 1px,transparent 1px);background-size:calc(100vw / 12) calc(100vw / 12);mask-image:linear-gradient(to bottom,black 0,transparent 100%)}.hero__giant{position:absolute;left:-.025em;bottom:-.19em;font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(150px,25vw,480px);font-weight:900;line-height:.8;letter-spacing:-.07em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.11);white-space:nowrap;pointer-events:none}.hero__content{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.9fr) minmax(460px,.75fr);gap:5vw;min-height:calc(100svh - var(--header-h));align-items:center;padding-top:70px;padding-bottom:80px}.hero__copy{position:relative;z-index:2}.hero__kicker{display:flex;align-items:center;gap:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#d7d7d7;margin-bottom:35px}.signal-line{width:38px;height:3px;background:var(--signal)}.hero__lead{max-width:680px;font-size:clamp(18px,1.6vw,24px);line-height:1.55;color:#d0d0d0;margin:34px 0 40px}.hero__actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.hero__proof{display:flex;gap:42px;margin-top:56px;padding-top:28px;border-top:1px solid rgba(255,255,255,.2)}.hero__proof>div{display:grid;grid-template-columns:auto auto;column-gap:10px;align-items:center}.hero__proof>div:last-child{grid-template-columns:auto}.hero__proof b{font-size:20px}.hero__proof span{grid-column:1/-1;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#a8a8a8}.rating-stars{display:inline-flex;gap:2px}.rating-star{font-size:14px;color:#777}.rating-star.is-full{color:var(--signal)}.hero__media{position:relative;align-self:stretch;margin:40px 0 0;min-height:620px;overflow:hidden;background:#18312D}.hero__media:before{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.22);z-index:3;pointer-events:none}.hero__media img{width:100%;height:100%;object-fit:cover;filter:none;transform:scale(1.12);transition:filter 1s var(--ease),transform 1.6s var(--ease)}.hero__media.is-settled img{transform:scale(1)}.hero__media:hover img{filter:none}.hero__media figcaption{position:absolute;left:0;right:0;bottom:0;z-index:4;display:flex;justify-content:space-between;background:var(--signal);color:var(--ink);padding:12px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.1em}.hero__measure{position:absolute;inset:20px 20px auto auto;z-index:4;display:flex;gap:1px}.hero__measure span{width:34px;height:34px;display:grid;place-items:center;background:rgba(11,23,36,.78);font:10px ui-monospace,monospace}.hero__scroll{position:absolute;z-index:5;bottom:18px;left:50%;display:flex;align-items:center;gap:10px;transform:translateX(-50%);font:9px ui-monospace,monospace;letter-spacing:.15em;text-transform:uppercase;color:#aaa}.hero__scroll i{display:block;width:50px;height:1px;background:#777;position:relative}.hero__scroll i:after{content:"";position:absolute;left:0;top:-1px;width:15px;height:3px;background:var(--signal);animation:scrollCue 2.2s infinite var(--ease)}@keyframes scrollCue{0%{transform:translateX(0)}70%,100%{transform:translateX(35px)}}
/* bands / stats */
.trust-band{background:var(--signal);overflow:hidden;padding:17px 0}.trust-band__track{display:flex;align-items:center;gap:28px;width:max-content;animation:marquee 30s linear infinite;font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:15px;font-weight:900;letter-spacing:.08em;white-space:nowrap}.trust-band__track i{width:7px;height:7px;background:var(--ink);transform:rotate(45deg)}@keyframes marquee{to{transform:translateX(-35%)}}.stats-section{padding:clamp(100px,10vw,160px) 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #38383b;border-left:1px solid #38383b}.stat-card{min-height:230px;border-right:1px solid #38383b;border-bottom:1px solid #38383b;padding:34px 26px;display:flex;flex-direction:column;justify-content:space-between}.stat-card__number{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(55px,6vw,100px);line-height:.9;letter-spacing:-.07em;color:var(--signal);font-variant-numeric:tabular-nums}.stat-card div{display:flex;flex-direction:column}.stat-card b{text-transform:uppercase;font-size:13px;letter-spacing:.08em}.stat-card small{color:#888;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
/* Process */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.process-grid article{padding:28px 28px 44px;border-right:1px solid var(--line);min-height:320px;display:flex;flex-direction:column;transition:background .4s,color .4s}.process-grid article:first-child{border-left:1px solid var(--line)}.process-grid article:hover{background:var(--ink);color:#fff}.process-grid article>span{font:11px ui-monospace,monospace;color:#777}.process-grid h3{margin:auto 0 20px;font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:30px;line-height:1;text-transform:uppercase}.process-grid p{margin:0;color:#666;font-size:14px}.process-grid article:hover p{color:#bbb}
/* About */
.about-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(440px,.65fr);gap:7vw;align-items:center}.about-copy h2{margin-bottom:40px}.about-copy>.large-copy{max-width:780px}.about-points{list-style:none;padding:0;margin:54px 0;display:grid;gap:24px}.about-points li{display:grid;grid-template-columns:34px 1fr;gap:18px;padding-top:20px;border-top:1px solid rgba(11,23,36,.18)}.about-points svg{width:25px;height:25px;fill:none;stroke:var(--ink);stroke-width:1.5}.about-points div{display:flex;flex-direction:column;gap:4px}.about-points b{text-transform:uppercase;font-size:13px;letter-spacing:.08em}.about-points span{color:#62615e}.about-media{margin:0;position:relative;min-height:720px;overflow:hidden}.about-media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:none;transform:scale(1.08);transition:transform 1.3s var(--ease),filter .8s}.about-media:hover img{filter:none;transform:scale(1.02)}.about-media figcaption{position:absolute;left:20px;right:20px;bottom:20px;display:flex;justify-content:space-between;padding:12px;background:rgba(11,23,36,.9);color:#fff;font:10px ui-monospace,monospace;letter-spacing:.1em}
/* Services */
.services-section{background:color-mix(in srgb,var(--paper) 86%,var(--white))}.services-index{position:relative;border-top:1px solid var(--ink)}.service-row{display:grid;grid-template-columns:80px minmax(230px,.7fr) minmax(320px,1fr) 70px;gap:28px;align-items:center;min-height:160px;border-bottom:1px solid var(--ink);position:relative;z-index:2;transition:padding .45s var(--ease),background .45s,color .45s;padding:20px 0}.service-row:hover{padding-left:20px;padding-right:20px;background:var(--ink);color:#fff}.service-row__number{font:11px ui-monospace,monospace;color:#777}.service-row h3{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;text-transform:uppercase;font-size:clamp(30px,3.2vw,55px);line-height:.95;margin:0}.service-row p{margin:0;color:#65645f;font-size:15px}.service-row:hover p{color:#bbb}.service-row__arrow{justify-self:end}.service-row__arrow svg{width:28px;fill:none;stroke:currentColor;stroke-width:1.4}.service-follower{position:fixed;width:320px;height:220px;z-index:850;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.8);transition:opacity .25s,transform .4s var(--ease);overflow:hidden}.service-follower.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.service-follower img{width:100%;height:100%;object-fit:cover;filter:none}
/* Offer */
.offer-section{display:grid;grid-template-columns:1.15fr .85fr;min-height:760px}.offer-section__media{overflow:hidden}.offer-section__media img{width:100%;height:100%;object-fit:cover;filter:none;transition:filter .8s,transform 1.2s var(--ease)}.offer-section:hover .offer-section__media img{filter:none;transform:scale(1.035)}.offer-section__copy{background:var(--graphite);color:#fff;padding:clamp(50px,7vw,120px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.offer-section__copy .section-index{color:#bbb}.offer-section__copy h2{font-size:clamp(50px,5.4vw,92px)}.offer-section__copy p{font-size:18px;color:#ddd;max-width:670px;margin:35px 0 45px}
/* Projects horizontal */
.projects-section{height:auto;position:relative}.projects-sticky{position:relative;height:auto;min-height:100vh;overflow:hidden;padding-top:calc(var(--header-h) + 32px)}.projects-head{display:grid;grid-template-columns:1fr 220px;align-items:end;gap:30px;margin-bottom:38px}.projects-head h2{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(42px,5vw,84px);line-height:.9;letter-spacing:-.05em;text-transform:uppercase;margin:0;max-width:1050px}.projects-progress{height:2px;background:#3a3a3d;overflow:hidden}.projects-progress span{display:block;width:0;height:100%;background:var(--signal)}.projects-track{display:flex;gap:28px;padding-left:max(32px,calc((100vw - min(calc(100vw - 64px),var(--max)))/2));will-change:transform}.project-card{flex:0 0 min(72vw,980px);display:grid;grid-template-columns:1.25fr .75fr;height:min(62vh,620px);background:#1d1d20;border:1px solid #38383b}.project-card__media{position:relative;border:0;padding:0;overflow:hidden;background:#222;cursor:zoom-in}.project-card__media img{width:100%;height:100%;object-fit:cover;filter:none;transition:filter .8s,transform 1.2s var(--ease)}.project-card:hover img{filter:none;transform:scale(1.035)}.project-card__meta{padding:38px;display:flex;flex-direction:column;align-items:flex-start}.project-card__meta>span{font:10px ui-monospace,monospace;color:#8f8f93;letter-spacing:.12em}.project-card__meta h3{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(36px,4vw,68px);line-height:.9;text-transform:uppercase;margin:auto 0 24px}.project-card__meta p{color:#b9b9ba;margin:0 0 30px}.project-card__meta a{display:flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;border-bottom:1px solid #666;padding-bottom:6px}.project-card__meta svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.5}
/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:120px;gap:16px}.gallery-item{position:relative;border:0;padding:0;overflow:hidden;background:#222;cursor:zoom-in;text-align:left}.gallery-item img{width:100%;height:100%;object-fit:cover;filter:none;transition:filter .7s,transform 1.1s var(--ease)}.gallery-item:hover img{filter:none;transform:scale(1.05)}.gallery-item span{position:absolute;left:16px;bottom:14px;color:#fff;background:rgba(11,23,36,.88);padding:7px 10px;font:10px ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;transform:translateY(130%);transition:transform .45s var(--ease)}.gallery-item:hover span{transform:none}.gallery-item--1{grid-column:1/8;grid-row:span 4}.gallery-item--2{grid-column:8/13;grid-row:span 3}.gallery-item--3{grid-column:8/13;grid-row:span 4}.gallery-item--4{grid-column:1/6;grid-row:span 4}.gallery-item--5{grid-column:6/13;grid-row:span 3}.gallery-item--6{grid-column:1/7;grid-row:span 3}.gallery-item--7{grid-column:7/13;grid-row:span 4}.gallery-item--8{grid-column:1/7;grid-row:span 4}
/* Reviews */
.reviews-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px;margin-bottom:70px}.rating-block{display:flex;align-items:center;gap:20px;border-left:1px solid rgba(11,23,36,.2);padding-left:35px}.rating-block>b{font:clamp(52px,5vw,80px)/.8 ui-monospace,monospace;letter-spacing:-.08em}.rating-block div{display:flex;flex-direction:column}.rating-block span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#696864}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(11,23,36,.18);border:1px solid rgba(11,23,36,.18)}.reviews-grid blockquote{margin:0;background:var(--soft);padding:38px;min-height:390px;display:flex;flex-direction:column}.review-quote{font-family:Georgia,serif;font-size:80px;line-height:.5;color:var(--signal)}.reviews-grid blockquote p{font-size:18px;line-height:1.65;margin:26px 0 auto}.reviews-grid footer{padding-top:28px;border-top:1px solid rgba(11,23,36,.18);display:flex;flex-direction:column}.reviews-grid footer b{text-transform:uppercase;font-size:13px;letter-spacing:.08em}.reviews-grid footer span{font-size:11px;color:#777}
/* FAQ */
.faq-grid{display:grid;grid-template-columns:minmax(300px,.55fr) minmax(500px,1fr);gap:8vw;align-items:start}.faq-intro{position:sticky;top:130px}.faq-intro h2{font-size:clamp(48px,5vw,84px)}.faq-intro p{font-size:18px;color:#65645f;margin:35px 0}.faq-list{border-top:1px solid var(--ink)}.faq-item{border-bottom:1px solid var(--ink)}.faq-item button{width:100%;border:0;background:transparent;display:grid;grid-template-columns:48px 1fr 32px;gap:16px;align-items:center;text-align:left;padding:28px 0;cursor:pointer}.faq-item button>span{font:10px ui-monospace,monospace;color:#777}.faq-item button>b{font-size:18px}.faq-item button i{position:relative;width:24px;height:24px}.faq-item button i:before,.faq-item button i:after{content:"";position:absolute;background:var(--ink);left:3px;right:3px;top:11px;height:2px}.faq-item button i:after{transform:rotate(90deg);transition:transform .35s var(--ease)}.faq-item.is-open button i:after{transform:rotate(0)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}.faq-answer>p{overflow:hidden;margin:0;padding:0 48px;color:#62615e}.faq-item.is-open .faq-answer{grid-template-rows:1fr}.faq-item.is-open .faq-answer>p{padding-bottom:30px}
/* Contact */
.contact-grid{display:grid;grid-template-columns:minmax(320px,.62fr) minmax(560px,1fr);gap:8vw;align-items:start}.contact-copy{position:sticky;top:130px}.contact-copy h2{font-size:clamp(54px,6vw,100px)}.contact-copy>p{font-size:19px;color:#bbb;max-width:620px;margin:38px 0 60px}.contact-direct{display:grid;gap:20px}.contact-direct a{display:flex;flex-direction:column;border-top:1px solid #444;padding-top:14px}.contact-direct small{text-transform:uppercase;color:#858589;letter-spacing:.09em}.contact-direct b{font-size:clamp(22px,2vw,34px)}.contact-form-wrap{background:#1c1c1f;padding:clamp(24px,4vw,55px);border:1px solid #37373a}.quote-form__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.quote-form label{display:flex;flex-direction:column;gap:8px}.quote-form label>span{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#a7a7aa}.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:0;border-bottom:1px solid #525256;background:transparent;color:#fff;padding:13px 2px;outline:none;border-radius:0}.quote-form select{background:#1c1c1f}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--signal)}.quote-form__full{margin-top:22px}.quote-form__file input{border:1px dashed #525256;padding:16px}.quote-form__file small{color:#777}.quote-form__consent{display:grid!important;grid-template-columns:20px 1fr;align-items:start;margin:22px 0}.quote-form__consent input{width:18px;height:18px;margin-top:2px}.quote-form__consent span{text-transform:none!important;letter-spacing:0!important;line-height:1.5;color:#aaa!important}.quote-form__footer{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.quote-form__status{min-height:24px;margin:0;font-size:13px}.quote-form__status.is-error,.form-notice.is-error{color:#ff9b9b}.quote-form__status.is-success,.form-notice.is-success{color:#a9e4b2}.quote-form__trap{position:absolute!important;left:-9999px!important}.form-notice{border:1px solid currentColor;padding:13px;margin-bottom:20px}
/* Zone/blog/footer */
.zone-grid{display:grid;grid-template-columns:1fr .75fr;gap:8vw;align-items:start}.zone-section h2{margin-bottom:35px}.zone-section .large-copy{margin-bottom:35px}.zone-card{background:var(--signal);padding:44px}.zone-card>span{font:10px ui-monospace,monospace;letter-spacing:.12em}.zone-card dl{margin:40px 0 0}.zone-card dl div{display:grid;grid-template-columns:140px 1fr;gap:20px;border-top:1px solid rgba(11,23,36,.25);padding:20px 0}.zone-card dt{text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.08em}.zone-card dd{margin:0}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.blog-grid article{padding:30px;border-right:1px solid var(--line);min-height:330px;display:flex;flex-direction:column}.blog-grid article:first-child{border-left:1px solid var(--line)}.blog-grid article>span{font:10px ui-monospace,monospace;color:#777}.blog-grid h3{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:34px;line-height:1;text-transform:uppercase;margin:35px 0 20px}.blog-grid p{color:#666}.blog-grid .text-link{margin-top:auto;align-self:flex-start}.site-footer{background:#0B1724;color:#fff}.site-footer__marquee{overflow:hidden;border-bottom:1px solid #28445E;padding:22px 0}.site-footer__marquee div{width:max-content;font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(28px,4vw,62px);font-weight:900;letter-spacing:-.04em;white-space:nowrap;animation:marquee 28s linear infinite}.site-footer__grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:60px;padding-top:85px;padding-bottom:85px}.site-footer__grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.site-footer__brand img{width:180px;height:auto;object-fit:contain;margin-bottom:20px}.site-footer__brand p{max-width:300px;color:#aaa}.footer-label{font:10px ui-monospace,monospace;color:#777;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}.site-footer__grid a{color:#ddd;border-bottom:1px solid transparent}.site-footer__grid a:hover{border-color:var(--signal);color:#fff}.site-footer__grid p{margin:0;color:#bbb}.site-footer__bottom{display:flex;justify-content:space-between;gap:25px;padding:22px 0;border-top:1px solid #28445E;font:10px ui-monospace,monospace;color:#777;text-transform:uppercase;letter-spacing:.08em}.site-footer__bottom div{display:flex;gap:22px}.whatsapp-button{position:fixed;right:22px;bottom:22px;z-index:880;width:60px;height:60px;background:#1fa855;color:#fff;display:grid;place-items:center;transition:transform .3s var(--ease)}.whatsapp-button:hover{transform:translateY(-4px)}.whatsapp-button svg{width:32px;height:32px;fill:currentColor}.whatsapp-button__pulse{position:absolute;inset:-6px;border:1px solid rgba(31,168,85,.55);animation:waPulse 2.2s infinite}@keyframes waPulse{0%{transform:scale(.8);opacity:0}30%{opacity:1}100%{transform:scale(1.25);opacity:0}}
/* Drawer / lightbox */
.quote-drawer{position:fixed;inset:0;z-index:2000;pointer-events:none;visibility:hidden}.quote-drawer.is-open{pointer-events:auto;visibility:visible}.quote-drawer__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7);opacity:0;transition:opacity .45s}.quote-drawer.is-open .quote-drawer__backdrop{opacity:1}.quote-drawer__panel{position:absolute;right:0;top:0;bottom:0;width:min(720px,100%);background:#19191b;color:#fff;padding:clamp(32px,5vw,75px);overflow-y:auto;transform:translateX(100%);transition:transform .65s var(--ease)}.quote-drawer.is-open .quote-drawer__panel{transform:none}.quote-drawer__panel h2{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(48px,5vw,78px);line-height:.9;text-transform:uppercase;margin:0 0 22px}.quote-drawer__panel>p{color:#aaa;margin-bottom:38px}.quote-drawer__close{position:absolute;right:20px;top:20px;border:1px solid #4c4c50;background:transparent;color:#fff;width:48px;height:48px;display:grid;place-items:center;cursor:pointer}.quote-drawer__close svg,.lightbox__close svg{width:24px;fill:none;stroke:currentColor;stroke-width:1.5}.lightbox{position:fixed;inset:0;z-index:2100;background:rgba(5,5,6,.96);display:grid;place-items:center;padding:70px;opacity:0;visibility:hidden;transition:opacity .35s}.lightbox.is-open{opacity:1;visibility:visible}.lightbox figure{margin:0;max-width:1300px;max-height:calc(100vh - 120px)}.lightbox img{max-height:calc(100vh - 160px);width:auto;margin:auto}.lightbox figcaption{color:#fff;text-align:center;margin-top:15px;font:11px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em}.lightbox__close{position:absolute;right:25px;top:25px;width:50px;height:50px;border:1px solid #555;background:#0B1724;color:#fff;display:grid;place-items:center;cursor:pointer}
/* Inner pages */
.content-page{padding-top:calc(var(--header-h) + 100px);min-height:75vh}.content-page h1{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(60px,8vw,120px);line-height:.86;text-transform:uppercase;letter-spacing:-.055em}.entry-content{font-size:18px}.entry-content h2{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:44px;text-transform:uppercase;line-height:1}.entry-content a{text-decoration:underline;text-decoration-color:var(--signal);text-decoration-thickness:3px}.entry-hero{margin:45px 0}.post-list article{padding:35px 0;border-top:1px solid var(--line)}.post-list h2{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:44px;line-height:1;text-transform:uppercase;margin:12px 0}
/* Responsive */
@media(max-width:1150px){.site-nav{position:fixed;inset:var(--header-h) 0 auto;background:#0B1724;color:#fff;transform:translateY(-140%);transition:transform .45s var(--ease);padding:35px;z-index:-1}.site-nav.is-open{transform:none}.site-nav__list{flex-direction:column;align-items:flex-start}.menu-toggle{display:block}.header-phone span{display:none}.hero__content{grid-template-columns:1fr 44%;gap:35px}.display-title{font-size:clamp(58px,8.5vw,105px)}.about-grid{grid-template-columns:1fr 45%;gap:50px}.contact-grid{grid-template-columns:1fr}.contact-copy{position:static}.projects-section{height:350vh}.process-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}.service-row{grid-template-columns:60px .8fr 1fr 40px}.site-footer__grid{grid-template-columns:1fr 1fr}.faq-grid{grid-template-columns:1fr}.faq-intro{position:static}.zone-grid{grid-template-columns:1fr}.reviews-grid{grid-template-columns:1fr}.reviews-grid blockquote{min-height:300px}}
@media(max-width:800px){:root{--header-h:70px}.container-wide{width:min(calc(100% - 32px),var(--max))}.section-pad{padding:82px 0}.section-heading{grid-template-columns:1fr;gap:28px}.section-heading h2,.about-copy h2,.offer-section h2,.faq-intro h2,.contact-copy h2,.zone-section h2,.reviews-head h2{font-size:clamp(44px,14vw,72px)}.site-header__inner{width:calc(100% - 24px);gap:12px}.brand img{width:56px;height:56px}.brand span{display:none}.site-header__actions{gap:7px}.site-header__actions .button{display:none}.hero{min-height:auto}.hero__content{grid-template-columns:1fr;padding-top:70px;padding-bottom:60px}.hero__copy{padding-top:30px}.hero__media{min-height:480px;margin-top:15px}.hero__giant{font-size:50vw;bottom:18%}.hero__proof{gap:20px;flex-wrap:wrap}.hero__scroll{display:none}.display-title{font-size:clamp(58px,17vw,92px)}.hero__actions{align-items:flex-start;flex-direction:column}.trust-band{padding:13px 0}.stats-grid{grid-template-columns:1fr 1fr}.stat-card{min-height:180px;padding:22px 15px}.stat-card__number{font-size:48px}.process-grid{grid-template-columns:1fr}.process-grid article{min-height:250px;border-left:1px solid var(--line)}.about-grid{grid-template-columns:1fr}.about-media{min-height:530px;order:-1}.service-row{grid-template-columns:42px 1fr 30px;gap:12px;min-height:auto;padding:25px 0}.service-row h3{font-size:34px}.service-row p{grid-column:2/4;font-size:14px}.service-row__arrow{grid-column:3;grid-row:1}.service-follower{display:none}.offer-section{grid-template-columns:1fr}.offer-section__media{min-height:430px}.offer-section__copy{padding:60px 24px}.projects-section{height:auto;padding:82px 0}.projects-sticky{position:static;height:auto;padding:0}.projects-head{grid-template-columns:1fr;margin-bottom:30px}.projects-progress{display:none}.projects-track{overflow-x:auto;transform:none!important;padding:0 16px 20px;scroll-snap-type:x mandatory}.project-card{flex:0 0 88vw;height:auto;grid-template-columns:1fr;scroll-snap-align:start}.project-card__media{height:330px}.project-card__meta{min-height:300px;padding:25px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:220px}.gallery-item{grid-column:auto!important;grid-row:auto!important}.gallery-item:nth-child(1),.gallery-item:nth-child(4){grid-column:1/-1}.reviews-head{grid-template-columns:1fr}.rating-block{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.faq-item button{grid-template-columns:35px 1fr 28px}.faq-answer>p{padding-left:35px;padding-right:0}.contact-form-wrap{padding:24px 16px}.quote-form__grid{grid-template-columns:1fr}.zone-card{padding:30px 22px}.zone-card dl div{grid-template-columns:1fr;gap:5px}.blog-grid{grid-template-columns:1fr}.blog-grid article{border-left:1px solid var(--line)}.site-footer__grid{grid-template-columns:1fr;padding-top:60px;padding-bottom:60px;gap:38px}.site-footer__bottom{flex-direction:column}.site-footer__bottom div{flex-wrap:wrap}.whatsapp-button{width:54px;height:54px;right:14px;bottom:14px}.quote-drawer__panel{padding:80px 20px 40px}.lightbox{padding:70px 14px}.lightbox img{max-height:calc(100vh - 140px)}}
@media(max-width:520px){.header-phone{display:none}.stats-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:320px}.gallery-item{grid-column:auto!important}.project-card{flex-basis:91vw}.hero__media{min-height:390px}.hero__proof>div{width:100%}.about-media{min-height:430px}}
@media(pointer:coarse){.service-follower{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.projects-section{height:auto!important;padding:82px 0}.projects-sticky{position:static;height:auto}.projects-track{overflow-x:auto;transform:none!important}.hero__media img,.about-media img{transform:none!important}}
body:not(.home) .site-header{background:rgba(11,23,36,.97);border-color:rgba(255,255,255,.12)}

/* ========================================================================== 
   Monolithe — compatibility layer inherited from validated base
   ========================================================================== */

/* Les titres de rubrique occupent réellement la largeur utile : plus de vide artificiel à gauche. */
.section-heading{grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);grid-template-rows:auto auto;align-items:start}
.section-heading>.section-index{grid-column:1;grid-row:1;margin-bottom:18px}
.section-heading>h2{grid-column:1;grid-row:2;min-width:0}
.section-heading>p{grid-column:2;grid-row:1/3;align-self:end;min-width:0}
.section-heading h2,.display-title,.about-copy h2,.offer-section h2,.faq-intro h2,.contact-copy h2,.zone-section h2,.reviews-head h2{overflow-wrap:break-word;hyphens:auto}
.hero__copy,.hero__media,.about-copy,.about-media,.offer-section__copy,.contact-copy,.contact-form-wrap,.zone-grid>*,.faq-grid>*{min-width:0}

/* Toutes les photos sont visibles en couleur dès le chargement. */
.hero__media img,.about-media img,.offer-section__media img,.project-card__media img,.gallery-item img,.service-follower img{filter:none!important}
.hero__media:hover img,.about-media:hover img,.offer-section:hover .offer-section__media img,.project-card:hover img,.gallery-item:hover img{filter:none!important}

/* Carrousels latéraux communs : Méthode, Expertise et Avis clients. */
.side-scroll{position:relative}
.side-scroll__controls{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px;font:700 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;color:#6c6b68}
.side-scroll__controls>div{display:flex;gap:8px}
.side-scroll__controls button{width:48px;height:48px;border:1px solid var(--ink);background:transparent;display:grid;place-items:center;font-size:20px;line-height:1;cursor:pointer;transition:background .25s,color .25s,opacity .25s}
.side-scroll__controls button:hover,.side-scroll__controls button:focus-visible{background:var(--ink);color:#fff}
.side-scroll__controls button:disabled{opacity:.25;cursor:default;background:transparent;color:inherit}
.side-scroll__track{display:flex;gap:22px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 1px 20px;cursor:grab;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}
.side-scroll__track::-webkit-scrollbar{display:none}
.side-scroll__track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.side-scroll__progress{height:2px;background:rgba(11,23,36,.18);overflow:hidden;margin-top:8px;transform-origin:left}
.side-scroll__progress span{display:block;width:100%;height:100%;background:var(--signal);transform:scaleX(.05);transform-origin:left;transition:transform .16s linear}

.process-card{flex:0 0 clamp(340px,39vw,590px);min-height:390px;border:1px solid var(--ink);padding:32px;display:flex;flex-direction:column;scroll-snap-align:start;background:var(--paper);transition:background .4s,color .4s,transform .4s var(--ease)}
.process-card:hover{background:var(--ink);color:#fff;transform:translateY(-5px)}
.process-card>span{font:11px ui-monospace,monospace;color:#777}
.process-card h3{margin:auto 0 24px;font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(38px,4vw,64px);line-height:.92;letter-spacing:-.035em;text-transform:uppercase;overflow-wrap:break-word}
.process-card p{margin:0;max-width:520px;color:#62615e;font-size:16px;line-height:1.7}
.process-card:hover p{color:#c7c7c7}

.services-section{background:color-mix(in srgb,var(--paper) 86%,var(--white))}
.service-card{flex:0 0 clamp(400px,54vw,790px);display:grid;grid-template-columns:minmax(230px,.85fr) minmax(260px,1fr);min-height:520px;border:1px solid var(--ink);background:var(--paper);scroll-snap-align:start;overflow:hidden}
.service-card figure{margin:0;position:relative;min-height:100%;overflow:hidden;background:#ddd}
.service-card figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:none;transition:transform 1s var(--ease)}
.service-card:hover figure img{transform:scale(1.035)}
.service-card figure span{position:absolute;top:18px;left:18px;width:46px;height:46px;display:grid;place-items:center;background:var(--signal);color:var(--ink);font:700 11px ui-monospace,monospace}
.service-card>div{padding:clamp(30px,4vw,60px);display:flex;flex-direction:column;justify-content:flex-end}
.service-card h3{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;text-transform:uppercase;font-size:clamp(42px,5vw,78px);line-height:.88;letter-spacing:-.045em;margin:0 0 30px;overflow-wrap:break-word}
.service-card p{margin:0;color:#5f5e5a;font-size:16px;line-height:1.75}

.reviews-carousel blockquote{flex:0 0 clamp(350px,42vw,590px);min-height:400px;margin:0;border:1px solid rgba(11,23,36,.2);background:var(--soft);padding:38px;display:flex;flex-direction:column;scroll-snap-align:start}
.reviews-carousel blockquote p{font-size:18px;line-height:1.65;margin:26px 0 auto}
.reviews-carousel footer{padding-top:28px;border-top:1px solid rgba(11,23,36,.18);display:flex;flex-direction:column}
.reviews-carousel footer b{text-transform:uppercase;font-size:13px;letter-spacing:.08em}
.reviews-carousel footer span{font-size:11px;color:#777}

/* Administration visuelle du projet : la photo et les textes restent lisibles. */

@media(max-width:800px){
  .container-wide{width:calc(100% - 28px)}
  .section-pad{padding:78px 0}
  .section-heading{display:grid;grid-template-columns:1fr;grid-template-rows:auto;gap:0;text-align:center;margin-bottom:46px}
  .section-heading>.section-index,.section-heading>h2,.section-heading>p{grid-column:1;grid-row:auto}
  .section-heading>.section-index{margin-bottom:17px}
  .section-heading>p{margin:24px auto 0;max-width:620px;font-size:16px}
  .section-heading h2,.about-copy h2,.offer-section h2,.faq-intro h2,.contact-copy h2,.zone-section h2,.reviews-head h2{font-size:clamp(39px,11.6vw,62px);line-height:.93;letter-spacing:-.042em;max-width:100%}
  .display-title{font-size:clamp(42px,12.7vw,64px);line-height:.92;letter-spacing:-.045em;max-width:100%;text-align:center}
  .button{max-width:100%;white-space:normal;text-align:center;padding-left:22px;padding-right:22px}

  .hero__content{padding-top:50px;padding-bottom:48px;gap:34px;text-align:center}
  .hero__copy{text-align:center;width:100%}
  .hero__kicker{justify-content:center;margin-bottom:26px;line-height:1.45}
  .hero__lead{margin:26px auto 32px;font-size:17px;max-width:560px}
  .hero__actions{align-items:center;justify-content:center;gap:20px}
  .hero__proof{justify-content:center;margin-top:38px;padding-top:22px}
  .hero__proof>div{justify-content:center;text-align:center}
  .hero__media{width:100%;min-height:430px;margin-top:0}
  .hero__media figcaption{gap:8px;flex-wrap:wrap;justify-content:center;text-align:center}
  .hero__measure{inset:12px 12px auto auto}

  .stats-section .section-heading{text-align:center}
  .stat-card{text-align:center;align-items:center;justify-content:center}
  .stat-card>div{align-items:center}

  .about-copy{text-align:center}
  .about-copy>.large-copy{margin-inline:auto;font-size:19px}
  .about-points{text-align:left;margin:38px 0}
  .about-copy>.button{margin-inline:auto}
  .about-media{width:100%;min-height:460px}

  .side-scroll{width:100%}
  .side-scroll__controls{justify-content:center;flex-direction:column;gap:12px;text-align:center;margin-bottom:18px}
  .side-scroll__controls>div{justify-content:center}
  .side-scroll__track{gap:14px;padding-bottom:16px;scroll-padding-left:0}
  .process-card{flex-basis:86vw;min-height:360px;padding:26px;text-align:left}
  .process-card h3{font-size:42px}
  .service-card{flex:0 0 88vw;grid-template-columns:1fr;min-height:0}
  .service-card figure{min-height:310px}
  .service-card>div{padding:28px;text-align:left}
  .service-card h3{font-size:45px;margin-bottom:22px}
  .reviews-carousel blockquote{flex-basis:88vw;min-height:370px;padding:28px;text-align:left}

  .offer-section__copy{text-align:center;align-items:center;padding:58px 20px}
  .offer-section__copy p{margin:28px auto 36px;font-size:17px}
  .projects-head{text-align:center}
  .projects-head h2{font-size:clamp(39px,11.6vw,62px);line-height:.93;overflow-wrap:break-word}
  .project-card__meta{text-align:center;align-items:center;min-height:260px}
  .project-card__meta h3{font-size:42px;margin:auto 0 18px;overflow-wrap:break-word}
  .gallery-section .section-heading{text-align:center}

  .reviews-head{text-align:center;justify-items:center;margin-bottom:42px}
  .rating-block{justify-content:center;text-align:left;width:auto}
  .faq-intro{text-align:center}
  .faq-intro p{margin-left:auto;margin-right:auto}
  .faq-intro .button{margin-inline:auto}
  .contact-copy{text-align:center}
  .contact-copy p{margin-left:auto;margin-right:auto}
  .contact-direct{justify-content:center;text-align:left}
  .zone-grid>div:first-child{text-align:center}
  .zone-grid .text-link{margin-inline:auto}
}

@media(max-width:520px){
  .container-wide{width:calc(100% - 24px)}
  .display-title{font-size:clamp(40px,12.2vw,55px)}
  .section-heading h2,.about-copy h2,.offer-section h2,.faq-intro h2,.contact-copy h2,.zone-section h2,.reviews-head h2,.projects-head h2{font-size:clamp(37px,10.9vw,52px)}
  .hero__content{padding-top:38px}
  .hero__media{min-height:360px}
  .hero__proof{width:100%;gap:14px}
  .hero__proof>div{width:100%}
  .stats-grid{grid-template-columns:1fr}
  .process-card{flex-basis:90vw;min-height:340px}
  .process-card h3{font-size:38px}
  .service-card{flex-basis:91vw}
  .service-card figure{min-height:260px}
  .service-card h3{font-size:39px}
  .reviews-carousel blockquote{flex-basis:91vw}
  .side-scroll__controls button{width:44px;height:44px}
  .about-media{min-height:390px}
  .offer-section__media{min-height:360px}
  .project-card{flex-basis:91vw}
  .project-card__media{height:290px}
  .gallery-grid{grid-auto-rows:285px}
}


/* ========================================================================== 
   Monolithe — couche de compatibilité et palette administrable
   ========================================================================== */
.gallery-section--compact{padding:clamp(72px,8vw,118px) 0;background:var(--paper)}
.gallery-compact__head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.55fr);gap:7vw;align-items:end;margin-bottom:42px}
.gallery-compact__head h2{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(42px,5.6vw,88px);line-height:.9;letter-spacing:-.05em;text-transform:uppercase;margin:0;max-width:1000px}
.gallery-compact__head>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.gallery-compact__head p{font-size:17px;line-height:1.65;color:#62615e;margin:0;max-width:540px}
.gallery-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.gallery-strip__item{position:relative;border:0;padding:0;background:var(--ink);overflow:hidden;cursor:zoom-in;aspect-ratio:4/3;text-align:left;min-width:0}
.gallery-strip__item img{width:100%;height:100%;object-fit:cover;filter:none;transition:transform .8s var(--ease)}
.gallery-strip__item:hover img{transform:scale(1.04)}
.gallery-strip__item:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(to top,rgba(0,0,0,.72),transparent);pointer-events:none}
.gallery-strip__item span{position:absolute;z-index:2;left:16px;right:16px;bottom:14px;color:var(--white);font:700 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase}

@media(max-width:980px){
  .gallery-compact__head{grid-template-columns:1fr;gap:24px;text-align:center}
  .gallery-compact__head>div:last-child{align-items:center}
  .gallery-strip{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .gallery-section--compact{padding:66px 0}
  .gallery-compact__head{margin-bottom:30px}
  .gallery-compact__head h2{font-size:clamp(37px,10.9vw,52px);overflow-wrap:break-word}
  .gallery-compact__head p{font-size:16px}
  .gallery-strip{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px;margin-right:calc((100vw - 100%)/-2);padding-right:14px}
  .gallery-strip::-webkit-scrollbar{display:none}
  .gallery-strip__item{flex:0 0 78vw;max-width:390px;scroll-snap-align:start;aspect-ratio:4/3}
}


/* ========================================================================== 
   Monolithe — horizontal slider compatibility layer
   ========================================================================== */
.horizontal-slider-section{position:relative;height:auto;overflow:hidden}
.horizontal-slider-sticky{position:relative;height:auto;min-height:100vh;overflow:hidden;padding-top:calc(var(--header-h) + 24px);padding-bottom:36px;display:flex;flex-direction:column}
.horizontal-slider-section.is-horizontal-ready{padding:0;overflow:clip}
.horizontal-slider-section.is-horizontal-ready .horizontal-slider-sticky{position:sticky;top:0;height:100vh;min-height:0;padding-bottom:0}
.horizontal-slider-section:not(.is-horizontal-ready) .horizontal-slider-track{overflow-x:auto;transform:none!important;scroll-snap-type:x mandatory;scrollbar-width:thin}
.horizontal-slider-section:not(.is-horizontal-ready) .method-slide-card,.horizontal-slider-section:not(.is-horizontal-ready) .expertise-slide-card,.horizontal-slider-section:not(.is-horizontal-ready) .project-card{scroll-snap-align:start}
.horizontal-slider-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.55fr);gap:6vw;align-items:end;margin-bottom:34px;flex:0 0 auto}
.horizontal-slider-head h2{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(42px,5vw,82px);line-height:.9;letter-spacing:-.05em;text-transform:uppercase;margin:0;max-width:1050px}
.horizontal-slider-head__aside{align-self:end}
.horizontal-slider-head__aside p{font-size:16px;line-height:1.6;margin:0 0 24px;max-width:560px;color:#686762}
.section-dark .horizontal-slider-head__aside p{color:#b9b9ba}
.horizontal-slider-progress{height:2px;background:color-mix(in srgb,currentColor 22%,transparent);overflow:hidden}
.horizontal-slider-progress span{display:block;width:0;height:100%;background:var(--signal)}
.horizontal-slider-track{display:flex;gap:28px;padding-left:max(32px,calc((100vw - min(calc(100vw - 64px),var(--max)))/2));padding-right:48px;will-change:transform;flex:1;min-height:0;align-items:stretch}
.horizontal-slider-track:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}

.method-slider-section{background:var(--ink);color:var(--white)}
.method-slide-card{flex:0 0 min(72vw,980px);height:clamp(360px,54vh,560px);display:grid;grid-template-columns:1.1fr .9fr;background:#1d1d20;border:1px solid #3a3a3d;overflow:hidden}
.method-slide-card__visual{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:64px 64px}
.method-slide-card__visual:before,.method-slide-card__visual:after{content:"";position:absolute;background:var(--signal)}
.method-slide-card__visual:before{width:1px;height:72%;left:18%}
.method-slide-card__visual:after{height:1px;width:72%;bottom:18%}
.method-slide-card__visual strong{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(150px,18vw,340px);line-height:.75;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.42);letter-spacing:-.08em}
.method-slide-card__label{position:absolute;left:24px;top:22px;font:10px ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:#aaa}
.method-slide-card__visual i{position:absolute;width:18px;height:18px;border:2px solid var(--signal);right:18%;top:24%}
.method-slide-card__copy{padding:38px;display:flex;flex-direction:column;align-items:flex-start}
.method-slide-card__copy>span,.expertise-slide-card>div>span{font:10px ui-monospace,monospace;color:#8f8f93;letter-spacing:.12em;text-transform:uppercase}
.method-slide-card h3,.expertise-slide-card h3{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(38px,4.2vw,72px);line-height:.9;letter-spacing:-.045em;text-transform:uppercase;margin:auto 0 26px}
.method-slide-card p{color:#c5c5c7;margin:0;font-size:17px;line-height:1.65}

.expertise-slider-section{background:color-mix(in srgb,var(--paper) 88%,var(--white))}
.expertise-slide-card{flex:0 0 min(72vw,980px);height:clamp(360px,54vh,560px);display:grid;grid-template-columns:1.22fr .78fr;background:var(--white);border:1px solid var(--line);overflow:hidden}
.expertise-slide-card figure{position:relative;margin:0;overflow:hidden;background:var(--graphite)}
.expertise-slide-card figure img{width:100%;height:100%;object-fit:cover;filter:none;transition:transform 1.1s var(--ease)}
.expertise-slide-card:hover figure img{transform:scale(1.035)}
.expertise-slide-card figure span{position:absolute;left:18px;top:18px;width:46px;height:46px;display:grid;place-items:center;background:var(--signal);font:11px ui-monospace,monospace;font-weight:800}
.expertise-slide-card>div{padding:38px;display:flex;flex-direction:column;align-items:flex-start}
.expertise-slide-card p{color:#65645f;margin:0;font-size:16px;line-height:1.65}
.expertise-slide-card>div>span{color:#777}

.projects-section.horizontal-slider-section{height:auto}
.projects-section .horizontal-slider-sticky{padding-top:calc(var(--header-h) + 32px)}
.projects-section .horizontal-slider-track{flex:0 0 auto}
.projects-section.is-horizontal-ready .projects-sticky{position:sticky;top:0;height:100vh;min-height:0}

.whatsapp-button__bubble{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);width:max-content;max-width:220px;padding:9px 12px;background:var(--white);color:var(--ink);border:1px solid rgba(11,23,36,.14);font-size:11px;font-weight:800;line-height:1.25;letter-spacing:.01em;pointer-events:none;animation:akgWhatsappBubble 5.5s var(--ease) 1 both}
.whatsapp-button__bubble:after{content:"";position:absolute;left:100%;top:50%;width:9px;height:9px;background:var(--white);border-top:1px solid rgba(11,23,36,.14);border-right:1px solid rgba(11,23,36,.14);transform:translate(-4px,-50%) rotate(45deg)}
.whatsapp-button:hover .whatsapp-button__bubble,.whatsapp-button:focus-visible .whatsapp-button__bubble{opacity:1;transform:translateY(-50%) translateX(-3px)}
@keyframes akgWhatsappBubble{0%{opacity:0;transform:translateY(-50%) translateX(12px)}12%,82%{opacity:1;transform:translateY(-50%) translateX(0)}100%{opacity:.82;transform:translateY(-50%) translateX(0)}}

@media(max-width:800px){
  .horizontal-slider-section,.projects-section.horizontal-slider-section{height:auto!important;overflow:hidden;padding:78px 0}
  .horizontal-slider-sticky,.projects-section .horizontal-slider-sticky{position:static;height:auto;padding:0;display:block;overflow:visible}
  .horizontal-slider-head{grid-template-columns:1fr;gap:24px;text-align:center;margin-bottom:30px}
  .horizontal-slider-head h2{font-size:clamp(37px,10.9vw,52px);line-height:.93;overflow-wrap:anywhere}
  .horizontal-slider-head__aside p{margin:0 auto 20px;font-size:16px}
  .horizontal-slider-progress{display:none}
  .horizontal-slider-track,.projects-section .horizontal-slider-track{overflow-x:auto;transform:none!important;padding:0 14px 20px;gap:14px;scroll-snap-type:x mandatory;scroll-padding-left:14px;align-items:stretch;-webkit-overflow-scrolling:touch}
  .horizontal-slider-track::-webkit-scrollbar{height:4px}.horizontal-slider-track::-webkit-scrollbar-thumb{background:var(--signal)}
  .method-slide-card,.expertise-slide-card,.project-card{flex:0 0 88vw;height:auto;min-height:0;grid-template-columns:1fr;scroll-snap-align:start}
  .method-slide-card__visual{min-height:265px}
  .method-slide-card__visual strong{font-size:46vw}
  .method-slide-card__copy,.expertise-slide-card>div{padding:27px;min-height:300px;text-align:left}
  .method-slide-card h3,.expertise-slide-card h3{font-size:clamp(38px,11vw,50px);margin:auto 0 20px;overflow-wrap:anywhere}
  .method-slide-card p,.expertise-slide-card p{font-size:15px}
  .expertise-slide-card figure{height:310px}
  .whatsapp-button__bubble{right:-1px;top:auto;bottom:calc(100% + 10px);max-width:165px;font-size:10px;text-align:center;white-space:normal}
  .whatsapp-button__bubble:after{left:auto;right:20px;top:100%;transform:translateY(-4px) rotate(135deg)}
}
@media(max-width:520px){
  .method-slide-card,.expertise-slide-card,.project-card{flex-basis:91vw}
  .method-slide-card__visual{min-height:230px}
  .expertise-slide-card figure{height:270px}
  .whatsapp-button__bubble{max-width:150px;padding:8px 10px}
}
@media(prefers-reduced-motion:reduce){
  .horizontal-slider-section,.projects-section.horizontal-slider-section{height:auto!important;padding:82px 0}
  .horizontal-slider-sticky,.projects-section .horizontal-slider-sticky{position:static;height:auto;padding:0;display:block}
  .horizontal-slider-track,.projects-section .horizontal-slider-track{overflow-x:auto;transform:none!important;padding:0 20px 20px;scroll-snap-type:x mandatory}
  .method-slide-card,.expertise-slide-card,.project-card{scroll-snap-align:start}
  .whatsapp-button__bubble{animation:none;opacity:1}
}

/* ========================================================================== 
   LSZ PLOMBERIE — Monolithe 3.1 production layer
   ========================================================================== */
:root{--ink:#18312D;--graphite:#28322F;--concrete:#D8E4E3;--paper:#F8F5EF;--soft:#EAEFEA;--signal:#D7A84E;--accent:#497B6F;--line:rgba(73,105,153,.20)}
body{font-family:"Archivo Var",Arial,sans-serif;background:var(--paper);color:var(--graphite)}
body.akg-scroll-lock{position:fixed;left:0;right:0;width:100%;overflow:hidden}
button,.button,input,select,textarea,.whatsapp-button,.header-whatsapp,.mobile-nav-whatsapp,.request-drawer__panel,.request-drawer__close,.mobile-conversion-bar,.mobile-conversion-bar a,.review-summary-card,.contact-form-wrap,.service-index-row,.gallery-editorial__item,.project-card{border-radius:0!important;box-shadow:none!important}
.button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
.site-header__inner{grid-template-columns:auto minmax(0,1fr) auto}
.brand img,.site-footer__brand img{object-fit:contain;background:transparent}
.header-whatsapp,.mobile-nav-whatsapp{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(255,255,255,.35);min-height:44px;padding:0 13px}
.header-whatsapp svg,.mobile-nav-whatsapp svg{width:20px;height:20px;fill:currentColor}
.site-nav__mobile-actions{display:none}

/* Monolithe image language: client photographs stay in their original colours at all times. */
.hero__media img,.about-media img,.offer-section__media img,.project-card__media img,.gallery-editorial__item img,.service-index-row>img,.service-cursor-preview img{filter:none!important;transition:transform 1.1s var(--ease)}
.hero__media:hover img,.about-media:hover img,.offer-section:hover .offer-section__media img,.project-card:hover img,.gallery-editorial__item:hover img,.service-index-row:hover>img,.service-cursor-preview img{filter:none!important}
.hero__media img,.about-media img,.offer-section__media img{transform:scale(1.12)}
.hero__media.is-settled img,.about-media.is-settled img,.offer-section__media.is-settled img{transform:scale(1)}

/* Verified split-flap stats. */
.stats-grid--verified{grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px}
.stat-card--flip{min-height:300px;position:relative;overflow:hidden;background:#111}
.stat-card--flip:after{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid #343434;pointer-events:none}
.stat-card--flip .stat-card__number{font-variant-numeric:tabular-nums;letter-spacing:-.06em}

/* Services as a full-width technical index. */
.services-index{background:var(--paper);position:relative;overflow:hidden}
.services-index__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);gap:7vw;align-items:end;margin-bottom:52px}
.services-index__head h2{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(52px,6.2vw,104px);line-height:.88;letter-spacing:-.055em;text-transform:uppercase;margin:0;max-width:1050px}
.services-index__head p{margin:0;max-width:570px;font-size:18px;line-height:1.65;color:#62615e}
.services-index__list{border-top:1px solid var(--ink)}
.service-index-row{position:relative;display:grid;grid-template-columns:minmax(70px,8vw) minmax(260px,.65fr) minmax(320px,1fr) minmax(170px,23vw) 54px;align-items:center;gap:28px;min-height:190px;border-bottom:1px solid var(--ink);padding:22px max(32px,calc((100vw - min(calc(100vw - 64px),var(--max)))/2));transition:background .35s,color .35s,padding .35s var(--ease)}
.service-index-row:hover{background:var(--ink);color:#fff;padding-left:max(46px,calc((100vw - min(calc(100vw - 92px),var(--max)))/2));padding-right:max(46px,calc((100vw - min(calc(100vw - 92px),var(--max)))/2))}
.service-index-row__number{font:700 11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;color:#777}
.service-index-row h3{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(34px,3.5vw,64px);line-height:.9;letter-spacing:-.045em;text-transform:uppercase;margin:0}
.service-index-row p{font-size:15px;line-height:1.55;color:#686762;margin:0;max-width:620px}
.service-index-row:hover p{color:#c9c9c9}
.service-index-row>img{width:100%;height:130px;object-fit:cover}
.service-index-row__arrow{justify-self:end}.service-index-row__arrow svg{width:28px;fill:none;stroke:currentColor;stroke-width:1.5}
.service-cursor-preview{position:fixed;left:0;top:0;width:340px;height:230px;z-index:850;pointer-events:none;opacity:0;overflow:hidden;transform:translate(-50%,-50%) scale(.86);transition:opacity .2s,transform .35s var(--ease)}
.service-cursor-preview.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}
.service-cursor-preview img{width:100%;height:100%;object-fit:cover}
.services-index__cta{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-top:48px}.services-index__cta p{max-width:600px;margin:0;font-size:17px}

/* Project technical sheet. */
.project-tech{width:100%;margin:0 0 28px;border-top:1px solid #424246}
.project-tech>div{display:grid;grid-template-columns:88px 1fr;gap:16px;padding:9px 0;border-bottom:1px solid #343438}
.project-tech dt{font:700 9px ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.12em;color:#858589}
.project-tech dd{margin:0;font:11px ui-monospace,SFMono-Regular,Menlo,monospace;color:#d2d2d2}

/* Editorial gallery — asymmetric and never uniform. */
.gallery-section--editorial{background:var(--paper)}
.gallery-editorial__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);gap:7vw;align-items:end;margin-bottom:54px}
.gallery-editorial__head h2{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(48px,6vw,100px);line-height:.88;letter-spacing:-.055em;text-transform:uppercase;margin:0}
.gallery-editorial__head>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.gallery-editorial__head p{margin:0;font-size:17px;line-height:1.65;color:#62615e}
.gallery-editorial{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:95px;gap:14px}
.gallery-editorial__item{position:relative;border:0;padding:0;background:#151515;overflow:hidden;cursor:zoom-in;text-align:left;min-height:260px}
.gallery-editorial__item img{width:100%;height:100%;object-fit:cover}
.gallery-editorial__item:hover img{transform:scale(1.045)}
.gallery-editorial__item span{position:absolute;left:0;bottom:0;max-width:78%;background:var(--signal);color:#fff;padding:10px 13px;font:700 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;transform:translateY(105%);transition:transform .35s var(--ease)}
.gallery-editorial__item:hover span,.gallery-editorial__item:focus-visible span{transform:none}
.gallery-editorial__item--1{grid-column:1/8;grid-row:span 5}.gallery-editorial__item--2{grid-column:8/13;grid-row:span 4}.gallery-editorial__item--3{grid-column:8/13;grid-row:span 5}.gallery-editorial__item--4{grid-column:1/6;grid-row:span 5}.gallery-editorial__item--5{grid-column:6/13;grid-row:span 4}.gallery-editorial__item--6{grid-column:1/7;grid-row:span 4}.gallery-editorial__item--7{grid-column:7/13;grid-row:span 5}.gallery-editorial__item--8{grid-column:1/8;grid-row:span 4}

/* Aggregate Google proof only: no fabricated quote cards. */
.reviews-proof-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.55fr);gap:8vw;align-items:end}
.reviews-head h2{max-width:900px}
.review-summary-card{border:1px solid var(--ink);padding:clamp(28px,4vw,52px);background:transparent;display:flex;flex-direction:column;align-items:flex-start}
.review-summary-card>strong{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(82px,9vw,154px);line-height:.75;letter-spacing:-.07em}.review-summary-card>strong small{font:700 16px ui-monospace,monospace;letter-spacing:0}.review-summary-card .rating-stars{margin:30px 0}.review-summary-card p{font-size:16px;line-height:1.65;color:#5c5b58;margin:0 0 28px}

/* Contact + practical information + two independent no-JS forms. */
.contact-grid--requests{grid-template-columns:minmax(330px,.62fr) minmax(540px,1fr)}
.contact-practical{margin-top:70px;padding-top:34px;border-top:1px solid #3b3b3e}.contact-practical h3{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(34px,3vw,54px);line-height:.95;text-transform:uppercase;margin:0 0 20px}.contact-practical p{color:#b6b6b8}.contact-practical dl{margin:28px 0}.contact-practical dl>div{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:12px 0;border-top:1px solid #343438}.contact-practical dt{font:700 9px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.12em;color:#86868a}.contact-practical dd{margin:0;color:#ddd}
.contact-forms-stack{display:grid;gap:34px}.contact-form-wrap--appointment{background:#151517}.request-form-heading{margin-bottom:30px}.request-form-heading>span{font:700 10px ui-monospace,monospace;letter-spacing:.14em;color:#89898d}.request-form-heading h3{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(38px,4vw,64px);line-height:.9;text-transform:uppercase;margin:11px 0 0}.request-form-heading p,.request-form__notice{color:#aaa;font-size:13px;line-height:1.55}.request-form__notice{border-left:3px solid var(--signal);padding-left:13px;margin:20px 0}.quote-form input[type=file]::file-selector-button{border:1px solid #666;background:transparent;color:#fff;padding:9px 12px;margin-right:12px;border-radius:0;cursor:pointer}

/* Accessible right-side request drawer. */
.request-drawer{position:fixed;inset:0;z-index:2400;pointer-events:none;visibility:hidden}.request-drawer.is-open{pointer-events:auto;visibility:visible}
.request-drawer__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);opacity:0;transition:opacity .36s}.request-drawer.is-open .request-drawer__backdrop{opacity:1}
.request-drawer__panel{position:absolute;right:0;top:0;bottom:0;width:min(540px,100%);background:#171719;color:#fff;padding:72px 34px 42px;overflow-y:auto;overscroll-behavior:contain;transform:translateX(102%);transition:transform .55s var(--ease)}
.request-drawer.is-open .request-drawer__panel{transform:none}.request-drawer__mode>h2{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(48px,5vw,72px);line-height:.88;letter-spacing:-.045em;text-transform:uppercase;margin:0 0 18px}.request-drawer__mode>p{color:#aaa;margin:0 0 32px}
.request-drawer__close{position:absolute;right:18px;top:18px;width:46px;height:46px;border:1px solid #505054;background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;z-index:2}.request-drawer__close svg{width:22px;fill:none;stroke:currentColor;stroke-width:1.6}
body.request-drawer-open .mobile-conversion-bar,body.mobile-keyboard-open .mobile-conversion-bar{transform:translateY(130%);visibility:hidden}

/* Mobile conversion bar and WhatsApp collision management. */
.mobile-conversion-bar{display:none;position:fixed;z-index:875;left:0;right:0;bottom:0;background:#0a0a0a;border-top:1px solid #3b3b3e;padding:8px 8px calc(8px + env(safe-area-inset-bottom));grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;transition:transform .25s var(--ease),visibility .25s}
.mobile-conversion-bar a{min-height:46px;display:grid;place-items:center;text-align:center;padding:7px 8px;border:1px solid #555;color:#fff;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.mobile-conversion-bar a:first-child{background:var(--signal);border-color:var(--signal);color:#fff}

/* Lightbox keyboard navigation. */
.lightbox{grid-template-columns:64px minmax(0,1fr) 64px;gap:24px}.lightbox figure{grid-column:2}.lightbox__nav{width:56px;height:56px;border:1px solid #606064;background:#0B1724;color:#fff;display:grid;place-items:center;font-size:24px;cursor:pointer}.lightbox__nav--prev{grid-column:1}.lightbox__nav--next{grid-column:3}.lightbox__close{z-index:2}

/* WhatsApp stays square, visible and above the mobile conversion bar. */
.whatsapp-button{background:#176b45;right:22px;bottom:22px}.whatsapp-button__pulse{border-color:rgba(125,182,200,.7)}.whatsapp-button__bubble{box-shadow:none!important;animation-duration:4.8s}

@media(max-width:1150px){
  .header-whatsapp span{display:none}.header-whatsapp{width:44px;padding:0;justify-content:center}.site-nav__mobile-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px;width:min(320px,100%)}.mobile-nav-whatsapp{justify-content:center}
  .contact-grid--requests{grid-template-columns:1fr}.contact-copy{position:static}
  .service-index-row{grid-template-columns:56px minmax(220px,.7fr) 1fr 170px 36px;gap:18px}
}
@media(max-width:800px){
  .site-header__actions .header-whatsapp{display:flex}.site-nav{overflow:auto;max-height:calc(100svh - var(--header-h))}
  .stats-grid--verified{grid-template-columns:1fr 1fr}.stat-card--flip{min-height:190px}
  .services-index__head,.gallery-editorial__head,.reviews-proof-grid{grid-template-columns:1fr;text-align:center;gap:24px}.services-index__head p,.gallery-editorial__head p{margin-inline:auto}.gallery-editorial__head>div:last-child{align-items:center}
  .service-index-row{grid-template-columns:42px 1fr 34px;gap:12px;padding:24px 16px;min-height:0}.service-index-row:hover{padding:24px 16px}.service-index-row__number{grid-column:1}.service-index-row h3{grid-column:2;font-size:clamp(31px,8.7vw,44px)}.service-index-row__arrow{grid-column:3}.service-index-row p{grid-column:2/4;font-size:14px}.service-index-row>img{grid-column:2/4;height:190px;margin-top:7px}.service-cursor-preview{display:none}.services-index__cta{flex-direction:column;text-align:center}
  .gallery-editorial{grid-template-columns:1fr 1fr;grid-auto-rows:240px;gap:10px}.gallery-editorial__item{grid-column:auto!important;grid-row:auto!important;min-height:0}.gallery-editorial__item--1,.gallery-editorial__item--4,.gallery-editorial__item--7{grid-column:1/-1!important}.gallery-editorial__item span{transform:none;max-width:92%}
  .review-summary-card{align-items:center;text-align:center}.review-summary-card>strong{font-size:94px}
  .contact-practical dl>div{grid-template-columns:1fr;gap:4px}.contact-form-wrap{padding:26px 18px}
  .request-drawer__panel{width:100%;padding:76px 18px calc(36px + env(safe-area-inset-bottom))}.request-drawer__mode>h2{font-size:clamp(42px,12vw,62px)}
  .mobile-conversion-bar{display:grid}.whatsapp-button{width:52px;height:52px;right:14px;bottom:calc(70px + env(safe-area-inset-bottom))}.whatsapp-button__bubble{display:none}
  .lightbox{grid-template-columns:46px minmax(0,1fr) 46px;gap:6px;padding:70px 8px 28px}.lightbox__nav{width:42px;height:52px}.lightbox figure{max-width:100%}.lightbox img{max-width:100%}
}
@media(max-width:520px){
  .header-whatsapp{display:none!important}.stats-grid--verified{grid-template-columns:1fr}.gallery-editorial{grid-template-columns:1fr;grid-auto-rows:auto}.gallery-editorial__item,.gallery-editorial__item--1,.gallery-editorial__item--4,.gallery-editorial__item--7{grid-column:1!important;aspect-ratio:4/5;min-height:0}.gallery-editorial__item:nth-child(3n){aspect-ratio:4/3}
  .service-index-row>img{height:160px}.services-index__head h2,.gallery-editorial__head h2{font-size:clamp(42px,12vw,62px)}
  .site-footer{padding-bottom:68px}
}
@media(pointer:coarse){.service-cursor-preview{display:none}}
@media(prefers-reduced-motion:reduce){
  .hero__media img,.about-media img,.offer-section__media img{transform:none!important}.service-cursor-preview{display:none}.whatsapp-button__pulse{display:none}
}
/* Cursor follower position is written by requestAnimationFrame; opacity remains CSS-driven. */
.service-cursor-preview,.service-cursor-preview.is-visible{transform:translate3d(0,0,0);transition:opacity .2s var(--ease)}
.service-cursor-preview.is-visible{opacity:1}
.reviews-real-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);margin-top:36px}
.reviews-real-list blockquote{margin:0;padding:28px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);min-height:250px;display:flex;flex-direction:column}.reviews-real-list blockquote:first-child{border-left:1px solid var(--ink)}.reviews-real-list p{font-size:16px;line-height:1.65;margin:0 0 28px}.reviews-real-list footer{margin-top:auto;display:flex;justify-content:space-between;gap:16px;font:700 10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:800px){.reviews-real-list{grid-template-columns:1fr}.reviews-real-list blockquote{border-left:1px solid var(--ink)}}

/* LSZ PLOMBERIE identity overrides */
.brand img{width:54px;height:54px}.site-footer__brand img{width:118px;height:118px}.hero__media,.about-media,.offer-section__media{background:#18312D}.hero__media img,.about-media img,.offer-section__media img,.project-card__media img,.gallery-editorial__item img{filter:none!important}

/* ========================================================================== 
   LSZ PLOMBERIE — v3.3 header simplifié + galerie une seule ligne
   ========================================================================== */
:root{--header-h:74px}
.site-header{height:var(--header-h);background:rgba(34,58,91,.72);border-bottom:1px solid rgba(255,255,255,.14);backdrop-filter:blur(18px) saturate(120%)}
.site-header.is-scrolled{background:rgba(37,61,94,.96)}
.site-header__inner{width:min(calc(100% - 48px),1480px);grid-template-columns:auto 1fr auto;gap:28px}
.brand{gap:10px}
.brand img{width:46px!important;height:46px!important}
.brand span{line-height:1}
.brand b{font-size:16px;letter-spacing:.055em;white-space:nowrap}
.brand small{font-size:8px;letter-spacing:.22em;margin-top:5px;opacity:.72}
.site-nav{justify-self:center}
.site-nav__list{gap:clamp(22px,2.3vw,38px)}
.site-nav a{font-size:10px;letter-spacing:.13em;padding:12px 0;opacity:.86;transition:opacity .25s var(--ease)}
.site-nav a:hover,.site-nav a:focus-visible{opacity:1}
.site-nav a:after{height:1px;bottom:6px}
.site-header__actions{gap:8px}
.header-icon-action{width:38px;height:38px;display:grid!important;place-items:center;border:1px solid rgba(255,255,255,.26);padding:0!important;min-height:0!important;transition:background .25s,border-color .25s,transform .25s var(--ease)}
.header-icon-action:hover,.header-icon-action:focus-visible{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.56);transform:translateY(-1px)}
.header-icon-action svg{width:17px!important;height:17px!important}
.header-phone span,.header-whatsapp span{display:none!important}
.header-primary-cta{min-height:38px;padding:0 16px;font-size:9px;letter-spacing:.12em}
.menu-toggle{width:40px;height:40px;place-items:center;border:1px solid rgba(255,255,255,.25);padding:0}
.menu-toggle svg{width:22px}
.mobile-nav-phone,.mobile-nav-whatsapp{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border:1px solid rgba(255,255,255,.28);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.mobile-nav-phone svg,.mobile-nav-whatsapp svg{width:18px;height:18px}

.gallery-section--single-row{background:var(--paper);overflow:hidden}
.gallery-single__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.55fr);gap:7vw;align-items:end;margin-bottom:42px}
.gallery-single__head h2{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(48px,6vw,96px);line-height:.88;letter-spacing:-.055em;text-transform:uppercase;margin:0}
.gallery-single__intro{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.gallery-single__intro p{margin:0;font-size:17px;line-height:1.65;color:#62615e;max-width:560px}
.gallery-view-all{display:inline-flex;align-items:center;gap:14px;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:0 0 9px;color:var(--ink);font:800 11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.gallery-view-all span{color:var(--accent)}
.gallery-view-all svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .3s var(--ease)}
.gallery-view-all:hover svg,.gallery-view-all:focus-visible svg{transform:translateX(5px)}
.gallery-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gallery-row__item{position:relative;border:0;padding:0;background:var(--ink);overflow:hidden;cursor:zoom-in;aspect-ratio:4/3;min-width:0}
.gallery-row__item--hidden{display:none!important}
.gallery-row__item img{width:100%;height:100%;object-fit:cover;filter:none!important;transition:transform .8s var(--ease)}
.gallery-row__item:hover img,.gallery-row__item:focus-visible img{transform:scale(1.045)}
.gallery-row__item:after{content:"";position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(to top,rgba(0,0,0,.68),transparent);pointer-events:none}
.gallery-row__item span{position:absolute;z-index:2;left:14px;right:14px;bottom:12px;color:#fff;font:700 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase;text-align:left}

@media(max-width:1150px){
  .site-header__inner{width:calc(100% - 30px)}
  .site-nav{top:var(--header-h);inset-inline:0;padding:30px 22px 34px;background:rgba(34,58,91,.985);border-top:1px solid rgba(255,255,255,.12);z-index:-1}
  .site-nav__list{align-items:center;gap:8px}
  .site-nav__list a{font-size:15px;letter-spacing:.09em;padding:13px 0}
  .site-nav__mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:min(420px,100%);margin:24px auto 0}
  .site-nav__mobile-actions .button{grid-column:1/-1;min-height:48px}
  .header-icon-action,.header-primary-cta{display:none!important}
  .menu-toggle{display:grid}
}
@media(max-width:800px){
  .brand img{width:42px!important;height:42px!important}
  .brand b{font-size:15px}.brand small{font-size:7px}
  .gallery-single__head{grid-template-columns:1fr;text-align:center;gap:22px;margin-bottom:30px}
  .gallery-single__intro{align-items:center}.gallery-single__intro p{font-size:16px;margin-inline:auto}
  .gallery-row{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px;padding-right:14px;margin-right:calc((100vw - 100%)/-2)}
  .gallery-row::-webkit-scrollbar{display:none}
  .gallery-row__item{flex:0 0 76vw;max-width:390px;scroll-snap-align:start}
}
@media(max-width:520px){
  :root{--header-h:68px}
  .site-header__inner{width:calc(100% - 22px)}
  .brand{gap:8px}.brand img{width:38px!important;height:38px!important}.brand b{font-size:13px}.brand small{display:none}
  .menu-toggle{width:38px;height:38px}
  .site-nav__mobile-actions{grid-template-columns:1fr}
  .site-nav__mobile-actions .button{grid-column:auto}
  .gallery-single__head h2{font-size:clamp(40px,11.2vw,54px)}
  .gallery-row__item{flex-basis:82vw}
}


/* ==========================================================================
   LSZ PLOMBERIE — v3.4 galerie photo fidèle + avis premium simplifiés
   ========================================================================== */
/* Les photos client restent entières : plus de recadrage 4/3 destructif. */
.gallery-section--single-row{overflow:hidden}
.gallery-row{display:flex;align-items:flex-start;gap:12px;overflow:hidden}
.gallery-row__item{display:flex;flex:0 1 calc((100% - 36px)/4);flex-direction:column;min-width:0;aspect-ratio:auto;background:transparent;border:0;padding:0;text-align:left;cursor:zoom-in;overflow:visible}
.gallery-row__item--hidden{display:none!important}
.gallery-row__media{display:block;width:100%;aspect-ratio:var(--gallery-ratio,1.3333);overflow:hidden;background:#eef2f5;border:1px solid rgba(18,78,165,.14)}
.gallery-row__media img{width:100%;height:100%;object-fit:cover;object-position:center;filter:none!important;transform:none!important;transition:transform .65s var(--ease)}
.gallery-row__item:hover .gallery-row__media img,.gallery-row__item:focus-visible .gallery-row__media img{transform:scale(1.025)!important}
.gallery-row__item:after{display:none!important}
.gallery-row__caption{position:static!important;display:flex!important;align-items:center;gap:12px;width:100%;max-width:none!important;padding:12px 1px 0!important;background:transparent!important;color:var(--graphite)!important;transform:none!important;font:700 10px ui-monospace,SFMono-Regular,Menlo,monospace!important;letter-spacing:.08em!important;text-transform:uppercase;text-align:left}
.gallery-row__caption b{color:var(--signal);font-weight:900}

/* Hero et grandes images : suppression du zoom permanent qui coupait les vraies réalisations. */
.hero__media img,.about-media img,.offer-section__media img{transform:none!important;object-position:center center}
.hero__media img{object-position:center 42%}

/* Avis : composition sobre, lisible et cohérente avec Monolithe. */
.reviews-premium{position:relative;background:#18312D;color:#fff;overflow:hidden}
.reviews-premium:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:72px 72px;pointer-events:none;opacity:.35}
.reviews-premium .container-wide{position:relative;z-index:1}
.reviews-premium__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;margin-bottom:54px}
.reviews-premium__head .section-index{color:rgba(255,255,255,.58)}
.reviews-premium__head h2{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(48px,5.7vw,94px);line-height:.88;letter-spacing:-.055em;text-transform:uppercase;margin:0;max-width:980px;color:#fff}
.reviews-premium__google-link{display:inline-flex;align-items:center;gap:12px;padding:0 0 9px;border-bottom:1px solid rgba(255,255,255,.7);font:800 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.reviews-premium__google-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.reviews-premium__layout{display:grid;grid-template-columns:minmax(250px,.34fr) minmax(0,1fr);gap:clamp(28px,4.5vw,70px);align-items:stretch}
.reviews-premium__score{border-top:1px solid rgba(255,255,255,.42);border-bottom:1px solid rgba(255,255,255,.20);padding:32px 0 28px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.reviews-premium__score-number{display:flex;align-items:flex-end;gap:7px;line-height:.75}
.reviews-premium__score-number strong{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(92px,9vw,150px);letter-spacing:-.075em}
.reviews-premium__score-number small{font:800 15px ui-monospace,SFMono-Regular,Menlo,monospace;padding-bottom:9px;color:rgba(255,255,255,.68)}
.reviews-premium__stars{margin:30px 0 34px;color:#D7A84E;font-size:24px;letter-spacing:.12em;line-height:1}
.reviews-premium__stars .rating-stars{display:flex;gap:4px;color:#D7A84E}
.reviews-premium__score p{margin:auto 0 0;display:flex;flex-direction:column;gap:7px;font-size:14px;color:rgba(255,255,255,.66)}
.reviews-premium__score p b{font-size:16px;color:#fff}
.reviews-premium__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.42);border-left:1px solid rgba(255,255,255,.20)}
.reviews-premium__card{margin:0;padding:30px 28px 26px;border-right:1px solid rgba(255,255,255,.20);border-bottom:1px solid rgba(255,255,255,.20);min-height:330px;display:flex;flex-direction:column;background:rgba(255,255,255,.025)}
.reviews-premium__card-top{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:34px;font:800 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}
.reviews-premium__card-top>span{color:rgba(255,255,255,.48)}
.reviews-premium__card-top>div{color:#D7A84E;letter-spacing:.08em;font-size:13px}
.reviews-premium__card p{font-size:clamp(16px,1.18vw,19px);line-height:1.65;margin:0;color:#fff}
.reviews-premium__card footer{margin-top:auto;padding-top:32px;display:flex;flex-direction:column;gap:3px;border-top:1px solid rgba(255,255,255,.13);font:800 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}
.reviews-premium__card footer span{color:rgba(255,255,255,.5);font-weight:600}

@media(max-width:1100px){
  .reviews-premium__layout{grid-template-columns:1fr}
  .reviews-premium__score{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:24px;border-bottom:0}
  .reviews-premium__stars{margin:0}.reviews-premium__score p{margin:0 0 0 auto;text-align:right}
  .reviews-premium__score-number strong{font-size:86px}
  .gallery-row{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px;padding-right:20px;margin-right:calc((100vw - 100%)/-2)}
  .gallery-row::-webkit-scrollbar{display:none}
  .gallery-row__item{flex:0 0 min(38vw,360px);scroll-snap-align:start}
}
@media(max-width:800px){
  .reviews-premium__head{grid-template-columns:1fr;gap:22px;text-align:center;margin-bottom:38px}
  .reviews-premium__head h2{font-size:clamp(42px,11vw,60px)}
  .reviews-premium__google-link{justify-self:center}
  .reviews-premium__score{grid-template-columns:1fr;text-align:center;justify-items:center;gap:14px;padding:25px 0}
  .reviews-premium__score p{margin:5px 0 0;text-align:center}.reviews-premium__stars{margin:0}
  .reviews-premium__cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-left:0;gap:10px;padding-bottom:6px;scrollbar-width:none}
  .reviews-premium__cards::-webkit-scrollbar{display:none}
  .reviews-premium__card{flex:0 0 84vw;max-width:430px;scroll-snap-align:start;min-height:300px;border:1px solid rgba(255,255,255,.20)}
  .gallery-row__item{flex-basis:72vw;max-width:390px}
  .gallery-row__caption{font-size:9px!important}
}

/* ============================================================
   LSZ PLOMBERIE — v3.5.0
   Réalisations verrouillées sur les médias LSZ + avis simplifiés
   ============================================================ */

.lsz-realizations{background:#18312D;color:#fff;overflow:hidden}
.lsz-realizations__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,430px);gap:clamp(34px,6vw,90px);align-items:end;margin-bottom:48px}
.lsz-realizations__head .section-index{color:rgba(255,255,255,.55)}
.lsz-realizations__head h2{margin:0;font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(48px,5.8vw,92px);line-height:.88;letter-spacing:-.055em;text-transform:uppercase;color:#fff;max-width:940px}
.lsz-realizations__head>p{margin:0 0 4px;padding-top:20px;border-top:1px solid rgba(255,255,255,.28);font-size:15px;line-height:1.7;color:rgba(255,255,255,.7)}
.lsz-realizations__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.lsz-realization-card{min-width:0;border-top:2px solid #D7A84E;padding-top:12px}
.lsz-realization-card__media{position:relative;display:block;width:100%;padding:0;border:0;background:#07182c;cursor:zoom-in;overflow:hidden;aspect-ratio:4/5}
.lsz-realization-card__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:none!important;transform:scale(1.001);transition:transform .85s var(--ease)}
.lsz-realization-card__media:hover img,.lsz-realization-card__media:focus-visible img{transform:scale(1.035)}
.lsz-realization-card__media>span{position:absolute;left:0;bottom:0;display:grid;place-items:center;width:54px;height:54px;background:#D7A84E;color:#fff;font:800 11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em}
.lsz-realization-card__copy{padding:20px 4px 0}
.lsz-realization-card__copy h3{margin:0 0 10px;font-family:"Archivo Var",Arial,sans-serif;font-stretch:72%;font-variation-settings:"wdth" 72,"wght" 760;font-size:clamp(27px,2.25vw,40px);line-height:.96;letter-spacing:-.035em;text-transform:uppercase;color:#fff}
.lsz-realization-card__copy p{margin:0;max-width:42ch;font-size:14px;line-height:1.65;color:rgba(255,255,255,.62)}

.lsz-reviews{background:#f7f8fa;color:#18312D;border-top:1px solid rgba(13,35,66,.12);border-bottom:1px solid rgba(13,35,66,.12)}
.lsz-reviews__top{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:clamp(34px,6vw,90px);align-items:end;padding-bottom:44px;border-bottom:1px solid rgba(13,35,66,.18)}
.lsz-reviews__heading .section-index{color:#497B6F}
.lsz-reviews__heading h2{margin:0;max-width:880px;font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(50px,5.8vw,92px);line-height:.88;letter-spacing:-.055em;text-transform:uppercase;color:#18312D}
.lsz-reviews__score{padding-left:28px;border-left:1px solid rgba(13,35,66,.18)}
.lsz-reviews__score>div{display:flex;align-items:flex-end;gap:8px;line-height:.8;margin-bottom:14px}
.lsz-reviews__score strong{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 820;font-size:72px;letter-spacing:-.06em;color:#18312D}
.lsz-reviews__score>div>span{padding-bottom:8px;font:800 12px ui-monospace,SFMono-Regular,Menlo,monospace;color:#497B6F}
.lsz-reviews__score .rating-stars{display:flex;gap:3px;color:#D7A84E;font-size:18px;line-height:1;margin-bottom:12px}
.lsz-reviews__score p{margin:0 0 18px;font:800 11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.09em;text-transform:uppercase;color:#595752}
.lsz-reviews__score a{display:inline-flex;align-items:center;gap:9px;padding-bottom:6px;border-bottom:1px solid #18312D;font:800 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase;color:#18312D}
.lsz-reviews__score a svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
.lsz-reviews__quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:42px}
.lsz-review{position:relative;margin:0;padding:0 34px 0 0;min-height:265px;display:flex;flex-direction:column;border-right:1px solid rgba(13,35,66,.16)}
.lsz-review+ .lsz-review{padding-left:34px}
.lsz-review:last-child{border-right:0;padding-right:0}
.lsz-review__meta{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:28px;font:800 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.09em;text-transform:uppercase}
.lsz-review__meta span:first-child{color:#497B6F}
.lsz-review__meta span:last-child{color:#D7A84E;letter-spacing:.06em}
.lsz-review>p{position:relative;margin:0;font-size:clamp(16px,1.25vw,19px);line-height:1.65;color:#202b38}
.lsz-review>p:before{content:"“";display:block;height:28px;margin-bottom:8px;font-family:Georgia,serif;font-size:54px;line-height:.75;color:#D7A84E}
.lsz-review footer{margin-top:auto;padding-top:28px;display:flex;flex-direction:column;gap:4px;font:800 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;color:#18312D}
.lsz-review footer span{font-weight:600;color:#7b8490}

@media(max-width:900px){
  .lsz-realizations__head,.lsz-reviews__top{grid-template-columns:1fr;gap:28px}
  .lsz-realizations__grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-right:18px;margin-right:calc((100vw - 100%)/-2);scrollbar-width:none}
  .lsz-realizations__grid::-webkit-scrollbar{display:none}
  .lsz-realization-card{flex:0 0 min(78vw,430px);scroll-snap-align:start}
  .lsz-reviews__score{padding:22px 0 0;border-left:0;border-top:1px solid rgba(13,35,66,.18);display:grid;grid-template-columns:auto 1fr;column-gap:20px;align-items:center}
  .lsz-reviews__score>div{grid-row:1/3}.lsz-reviews__score .rating-stars{margin:0}.lsz-reviews__score p{margin:5px 0 0}.lsz-reviews__score a{grid-column:1/-1;justify-self:start;margin-top:15px}
  .lsz-reviews__quotes{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;padding-right:18px;margin-right:calc((100vw - 100%)/-2);scrollbar-width:none}
  .lsz-reviews__quotes::-webkit-scrollbar{display:none}
  .lsz-review,.lsz-review+ .lsz-review{flex:0 0 min(80vw,440px);scroll-snap-align:start;padding:0 28px 0 0;margin-right:28px;border-right:1px solid rgba(13,35,66,.16);min-height:280px}
}
@media(max-width:560px){
  .lsz-realizations__head h2,.lsz-reviews__heading h2{font-size:clamp(44px,13vw,62px)}
  .lsz-realizations__head>p{font-size:14px}
  .lsz-realization-card{flex-basis:82vw}
  .lsz-realization-card__copy h3{font-size:30px}
  .lsz-reviews__score strong{font-size:62px}
  .lsz-review,.lsz-review+ .lsz-review{flex-basis:84vw;padding-right:22px;margin-right:22px}
}

/* ============================================================
   LSZ PLOMBERIE — v3.6.0
   Galerie restaurée + avis Google animés
   ============================================================ */

/* Correctif galerie : un ancien sélecteur positionnait TOUS les spans en absolu.
   Le conteneur image repasse donc explicitement dans le flux, ce qui rend les photos visibles. */
.gallery-section--single-row .gallery-row{display:flex!important;align-items:flex-start!important;gap:14px!important;overflow:hidden!important}
.gallery-section--single-row .gallery-row__item{display:flex!important;flex:0 1 calc((100% - 42px)/4)!important;flex-direction:column!important;min-width:0!important;aspect-ratio:auto!important;background:transparent!important;overflow:visible!important}
.gallery-section--single-row .gallery-row__item--hidden{display:none!important}
.gallery-section--single-row .gallery-row__media{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;display:block!important;width:100%!important;aspect-ratio:4/5!important;overflow:hidden!important;background:#e9edf2!important;border:1px solid rgba(13,35,66,.14)!important;color:inherit!important;font:inherit!important;letter-spacing:normal!important;text-transform:none!important;z-index:1!important}
.gallery-section--single-row .gallery-row__media img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:center!important;opacity:1!important;visibility:visible!important;filter:none!important;transform:none!important}
.gallery-section--single-row .gallery-row__caption{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;display:flex!important;width:100%!important;padding:12px 0 0!important;color:#18312D!important;background:transparent!important;z-index:2!important}
.gallery-section--single-row .gallery-row__item:hover .gallery-row__media img{transform:scale(1.025)!important}

/* Avis Google : bloc plus visuel, étoiles XXL avec apparition en cascade. */
.lsz-reviews{background:#07182c!important;color:#fff!important;border:0!important;overflow:hidden;position:relative}
.lsz-reviews:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 72%,rgba(255,255,255,.025) 72%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);background-size:auto,100% 72px;pointer-events:none}
.lsz-reviews .container-wide{position:relative;z-index:1}
.lsz-reviews__top{grid-template-columns:minmax(0,1fr) minmax(350px,440px)!important;border-bottom:1px solid rgba(255,255,255,.18)!important}
.lsz-reviews__heading .section-index{color:#D7A84E!important}
.lsz-reviews__heading h2{color:#fff!important}
.lsz-reviews__score{padding:28px 0 28px 34px!important;border-left:1px solid rgba(255,255,255,.20)!important}
.lsz-reviews__scoreline{display:flex!important;align-items:flex-end!important;gap:10px!important;margin:0 0 18px!important;line-height:.78!important}
.lsz-reviews__scoreline strong{font-size:clamp(84px,8vw,132px)!important;color:#fff!important}
.lsz-reviews__scoreline span{padding-bottom:11px!important;color:#D7A84E!important}
.lsz-google-stars{position:relative;margin:4px 0 20px;min-height:58px}
.lsz-google-stars .rating-stars{display:flex!important;gap:9px!important;align-items:center!important;font-size:clamp(34px,3.1vw,52px)!important;line-height:1!important}
.lsz-google-stars .rating-star{display:inline-block;color:#FFC107!important;opacity:0;transform:translateY(18px) scale(.4) rotate(-16deg);filter:drop-shadow(0 0 0 rgba(255,193,7,0));transition:opacity .45s ease,transform .62s cubic-bezier(.2,.9,.2,1.25),filter .45s ease}
.lsz-google-stars.is-visible .rating-star{opacity:1;transform:translateY(0) scale(1) rotate(0);filter:drop-shadow(0 0 10px rgba(255,193,7,.28))}
.lsz-google-stars.is-visible .rating-star:nth-child(1){transition-delay:.05s}
.lsz-google-stars.is-visible .rating-star:nth-child(2){transition-delay:.16s}
.lsz-google-stars.is-visible .rating-star:nth-child(3){transition-delay:.27s}
.lsz-google-stars.is-visible .rating-star:nth-child(4){transition-delay:.38s}
.lsz-google-stars.is-visible .rating-star:nth-child(5){transition-delay:.49s}
.lsz-google-stars:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:2px;background:linear-gradient(90deg,#FFC107,#D7A84E);transition:width .9s .42s var(--ease)}
.lsz-google-stars.is-visible:after{width:min(100%,330px)}
.lsz-google-proof{display:flex!important;align-items:center!important;gap:12px!important;margin:0 0 20px!important}
.lsz-google-proof b{display:inline-grid;place-items:center;height:28px;padding:0 9px;background:#fff;color:#4285F4;font:900 11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}
.lsz-google-proof span{font:800 11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.lsz-reviews__score a{color:#fff!important;border-bottom-color:rgba(255,255,255,.7)!important}
.lsz-reviews__quotes{border-top:0!important}
.lsz-review{border-right-color:rgba(255,255,255,.16)!important}
.lsz-review__meta span:first-child{color:#D7A84E!important}
.lsz-review__meta span:last-child{color:#FFC107!important}
.lsz-review>p{color:#fff!important}
.lsz-review>p:before{color:#D7A84E!important}
.lsz-review footer{color:#fff!important}
.lsz-review footer span{color:rgba(255,255,255,.52)!important}

@media(max-width:900px){
  .gallery-section--single-row .gallery-row{overflow-x:auto!important;scroll-snap-type:x mandatory;padding-bottom:6px;padding-right:18px;margin-right:calc((100vw - 100%)/-2)}
  .gallery-section--single-row .gallery-row__item{flex:0 0 min(76vw,390px)!important;scroll-snap-align:start}
  .lsz-reviews__top{grid-template-columns:1fr!important}
  .lsz-reviews__score{border-left:0!important;border-top:1px solid rgba(255,255,255,.18)!important;padding:24px 0 0!important}
}
@media(max-width:560px){
  .lsz-google-stars .rating-stars{font-size:38px!important;gap:5px!important}
  .lsz-reviews__scoreline strong{font-size:78px!important}
}
@media(prefers-reduced-motion:reduce){
  .lsz-google-stars .rating-star{opacity:1!important;transform:none!important;transition:none!important;filter:none!important}
  .lsz-google-stars:after{width:min(100%,330px)!important;transition:none!important}
}

/* ============================================================
   LSZ PLOMBERIE — v3.7.0
   Prestations premium : index éditorial + visuel actif
   ============================================================ */
.lsz-services-premium{position:relative;overflow:hidden;background:#07182c;color:#fff;padding:clamp(88px,9vw,150px) 0}
.lsz-services-premium:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.038) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.038) 1px,transparent 1px);background-size:72px 72px;opacity:.45;pointer-events:none}
.lsz-services-premium:after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(255,255,255,.16)}
.lsz-services-premium>.container-wide{position:relative;z-index:1}
.lsz-services-premium__head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(310px,.55fr);gap:clamp(42px,7vw,110px);align-items:end;margin-bottom:clamp(52px,6vw,90px)}
.lsz-services-premium__heading .section-index{color:#D7A84E}
.lsz-services-premium__heading h2{margin:0;max-width:960px;font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 820;font-size:clamp(54px,6.2vw,104px);line-height:.86;letter-spacing:-.06em;text-transform:uppercase;color:#fff}
.lsz-services-premium__intro{padding-top:18px;border-top:1px solid rgba(255,255,255,.28)}
.lsz-services-premium__eyebrow{display:block;margin-bottom:18px;font:800 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;color:#D7A84E}
.lsz-services-premium__intro p{margin:0 0 24px;font-size:15.5px;line-height:1.75;color:rgba(255,255,255,.72)}
.lsz-services-premium__contact{display:inline-flex;align-items:center;gap:14px;padding:0 0 8px;border-bottom:1px solid rgba(255,255,255,.75);font:800 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.lsz-services-premium__contact svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .45s var(--ease)}
.lsz-services-premium__contact:hover svg,.lsz-services-premium__contact:focus-visible svg{transform:translate(4px,-2px)}

.lsz-services-premium__stage{display:grid;grid-template-columns:minmax(360px,.86fr) minmax(0,1.14fr);gap:clamp(34px,5vw,78px);align-items:start}
.lsz-services-premium__visual{position:sticky;top:calc(var(--header-h) + 28px)}
.lsz-services-premium__visual-frame{position:relative;aspect-ratio:4/5;overflow:hidden;background:#0b223c;border:1px solid rgba(255,255,255,.17)}
.lsz-service-visual{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transform:scale(1.045);transition:opacity .62s var(--ease),visibility .62s var(--ease),transform 1.05s var(--ease)}
.lsz-service-visual.is-active{opacity:1;visibility:visible;transform:scale(1)}
.lsz-service-visual:after{content:"";position:absolute;inset:0;border:12px solid rgba(7,24,44,.08);pointer-events:none}
.lsz-service-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:none!important;transform:none!important}
.lsz-service-visual figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;background:#07182c;color:#fff;border-top:1px solid rgba(255,255,255,.18);font:800 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase}
.lsz-service-visual figcaption span{display:grid;place-items:center;width:30px;height:30px;background:#D7A84E;color:#fff}
.lsz-service-visual figcaption b{font-weight:800;color:rgba(255,255,255,.82)}
.lsz-services-premium__crosshair{position:absolute;inset:18px;pointer-events:none;opacity:.55}
.lsz-services-premium__crosshair i:first-child{position:absolute;left:0;top:0;width:44px;height:1px;background:#D7A84E}
.lsz-services-premium__crosshair i:last-child{position:absolute;left:0;top:0;width:1px;height:44px;background:#D7A84E}
.lsz-services-premium__visual-meta{display:flex;justify-content:space-between;gap:20px;padding-top:13px;font:800 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:rgba(255,255,255,.46)}

.lsz-services-premium__list{border-top:1px solid rgba(255,255,255,.30)}
.lsz-service-row{position:relative;padding:26px 0 30px;border-bottom:1px solid rgba(255,255,255,.17);outline:none;cursor:default;transition:padding .55s var(--ease),border-color .55s var(--ease),background-color .55s var(--ease)}
.lsz-service-row:before{content:"";position:absolute;left:0;top:-1px;width:0;height:2px;background:#D7A84E;transition:width .58s var(--ease)}
.lsz-service-row.is-active:before,.lsz-service-row:hover:before,.lsz-service-row:focus-visible:before{width:100%}
.lsz-service-row.is-active,.lsz-service-row:hover,.lsz-service-row:focus-visible{padding-left:18px;padding-right:10px;border-bottom-color:rgba(255,255,255,.28)}
.lsz-service-row__top{display:grid;grid-template-columns:48px 1fr 26px;gap:18px;align-items:center;margin-bottom:18px}
.lsz-service-row__number{font:900 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:#D7A84E}
.lsz-service-row__tag{font:800 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;color:rgba(255,255,255,.47);text-transform:uppercase}
.lsz-service-row__arrow{display:flex;justify-content:flex-end;color:#D7A84E;transition:transform .45s var(--ease),color .45s var(--ease)}
.lsz-service-row__arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}
.lsz-service-row.is-active .lsz-service-row__arrow,.lsz-service-row:hover .lsz-service-row__arrow,.lsz-service-row:focus-visible .lsz-service-row__arrow{transform:translate(4px,-3px);color:#fff}
.lsz-service-row h3{margin:0;max-width:760px;font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 790;font-size:clamp(40px,4.35vw,72px);line-height:.9;letter-spacing:-.052em;text-transform:uppercase;color:rgba(255,255,255,.68);transition:color .45s var(--ease),transform .55s var(--ease)}
.lsz-service-row.is-active h3,.lsz-service-row:hover h3,.lsz-service-row:focus-visible h3{color:#fff;transform:translateX(5px)}
.lsz-service-row__details{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:end;max-height:0;opacity:0;overflow:hidden;transform:translateY(10px);transition:max-height .7s var(--ease),opacity .42s var(--ease),transform .55s var(--ease),margin .55s var(--ease)}
.lsz-service-row.is-active .lsz-service-row__details,.lsz-service-row:hover .lsz-service-row__details,.lsz-service-row:focus-visible .lsz-service-row__details{max-height:260px;opacity:1;transform:none;margin-top:24px}
.lsz-service-row__details p{margin:0;max-width:720px;font-size:15px;line-height:1.7;color:rgba(255,255,255,.67)}
.lsz-service-row__details a{display:inline-flex;align-items:center;gap:9px;padding:0 0 7px;border-bottom:1px solid rgba(255,255,255,.62);font:800 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;color:#fff}
.lsz-service-row__details a span{color:#D7A84E;font-size:14px}

@media(max-width:980px){
  .lsz-services-premium{padding:82px 0}
  .lsz-services-premium__head{grid-template-columns:1fr;gap:28px;margin-bottom:44px}
  .lsz-services-premium__heading h2{font-size:clamp(48px,10vw,74px)}
  .lsz-services-premium__stage{grid-template-columns:1fr;gap:32px}
  .lsz-services-premium__visual{position:relative;top:auto}
  .lsz-services-premium__visual-frame{aspect-ratio:16/10;max-height:620px}
  .lsz-service-row__details{max-height:none!important;opacity:1!important;transform:none!important;margin-top:18px!important;grid-template-columns:1fr}
  .lsz-service-row{padding:24px 0 28px}
  .lsz-service-row.is-active,.lsz-service-row:hover,.lsz-service-row:focus-visible{padding-left:0;padding-right:0}
  .lsz-service-row h3{color:#fff;font-size:clamp(38px,7vw,58px)}
}
@media(max-width:600px){
  .lsz-services-premium{padding:70px 0}
  .lsz-services-premium__head{text-align:left}
  .lsz-services-premium__heading h2{font-size:clamp(43px,12vw,58px)}
  .lsz-services-premium__intro p{font-size:14.5px}
  .lsz-services-premium__visual-frame{aspect-ratio:4/5}
  .lsz-service-visual figcaption{padding:14px 14px;font-size:9px}
  .lsz-services-premium__visual-meta{font-size:8px}
  .lsz-service-row__top{grid-template-columns:34px 1fr 22px;gap:10px;margin-bottom:14px}
  .lsz-service-row__tag{font-size:8px;line-height:1.4}
  .lsz-service-row h3{font-size:clamp(36px,10vw,49px)}
  .lsz-service-row__details p{font-size:14.5px}
}
@media(prefers-reduced-motion:reduce){
  .lsz-service-visual,.lsz-service-row,.lsz-service-row:before,.lsz-service-row h3,.lsz-service-row__details,.lsz-service-row__arrow,.lsz-services-premium__contact svg{transition:none!important}
}

/* =========================================================
   LSZ PLOMBERIE — v3.8.0
   PRESTATIONS CINÉMATIQUES / FLUX ANIMÉ
   ========================================================= */
.lsz-services-cinema{position:relative;overflow:hidden;background:#07182c;color:#fff;padding:clamp(90px,9vw,150px) 0 clamp(82px,8vw,130px)}
.lsz-services-cinema:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px);background-size:72px 72px;pointer-events:none}
.lsz-services-cinema__head{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.52fr);gap:clamp(42px,7vw,110px);align-items:end;margin-bottom:clamp(44px,5.5vw,78px)}
.lsz-services-cinema__title .section-index{color:#D7A84E}
.lsz-services-cinema__title h2{margin:0;max-width:1000px;font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 830;font-size:clamp(58px,6.7vw,112px);line-height:.82;letter-spacing:-.065em;text-transform:uppercase;color:#fff}
.lsz-services-cinema__lead{padding-top:17px;border-top:1px solid rgba(255,255,255,.26)}
.lsz-services-cinema__eyebrow{display:block;margin:0 0 17px;font:850 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;color:#D7A84E}
.lsz-services-cinema__lead p{margin:0;font-size:15.5px;line-height:1.75;color:rgba(255,255,255,.69)}

.lsz-services-cinema__stage{position:relative;z-index:2}
.lsz-services-cinema__media{position:relative;min-height:clamp(610px,64vw,810px);overflow:hidden;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);background:#07182c;isolation:isolate}
.lsz-services-cinema__slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transform:scale(1.075);transition:opacity 1s cubic-bezier(.2,.75,.2,1),visibility 1s,transform 6.5s cubic-bezier(.17,.67,.25,1)}
.lsz-services-cinema__slide.is-active{opacity:1;visibility:visible;transform:scale(1)}
.lsz-services-cinema__slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.86) contrast(1.03) brightness(.79)!important;transform:none!important}
.lsz-services-cinema__veil{position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(3,14,28,.93) 0%,rgba(3,14,28,.72) 39%,rgba(3,14,28,.22) 66%,rgba(3,14,28,.48) 100%),linear-gradient(0deg,rgba(3,14,28,.82) 0%,transparent 44%);pointer-events:none}
.lsz-services-cinema__grain{position:absolute;z-index:3;inset:0;opacity:.11;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.27'/%3E%3C/svg%3E")}

.lsz-services-flow{position:absolute;z-index:4;inset:0;pointer-events:none;mix-blend-mode:screen;opacity:.8}
.lsz-services-flow svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.lsz-services-flow__base,.lsz-services-flow__line{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}
.lsz-services-flow__base{stroke:rgba(125,182,200,.14);stroke-width:1.25}
.lsz-services-flow__line{stroke:#D7A84E;stroke-width:2.1;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 5px rgba(125,182,200,.55))}
.lsz-services-cinema.is-in-view .lsz-services-flow__line{animation:lszFlowDraw 3.2s cubic-bezier(.3,.8,.15,1) .2s forwards}
.lsz-services-flow__pulse{position:absolute;left:-14px;top:calc(75.8% - 7px);width:14px;height:14px;border-radius:50%;background:#D7A84E;box-shadow:0 0 0 7px rgba(242,43,47,.12),0 0 28px rgba(242,43,47,.8);opacity:0}
.lsz-services-cinema.is-in-view .lsz-services-flow__pulse{animation:lszFlowPulse 5.8s cubic-bezier(.45,.02,.34,1) .7s infinite}
@keyframes lszFlowDraw{to{stroke-dashoffset:0}}
@keyframes lszFlowPulse{0%{left:-14px;top:75.8%;opacity:0}5%{opacity:1}24%{left:27%;top:33.8%}50%{left:53.8%;top:69.4%}75%{left:83.2%;top:23.2%}95%{opacity:1}100%{left:102%;top:40%;opacity:0}}

.lsz-services-cinema__content{position:absolute;z-index:6;left:clamp(26px,4.7vw,72px);top:clamp(32px,5vw,72px);width:min(680px,52%);min-height:410px}
.lsz-services-cinema__status{display:inline-flex;align-items:center;gap:10px;margin-bottom:clamp(50px,7vw,90px);font:850 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;color:rgba(255,255,255,.62)}
.lsz-services-cinema__status-dot{width:7px;height:7px;border-radius:50%;background:#D7A84E;box-shadow:0 0 0 0 rgba(242,43,47,.35);animation:lszStatusPulse 2s ease-out infinite}
@keyframes lszStatusPulse{0%{box-shadow:0 0 0 0 rgba(242,43,47,.35)}70%{box-shadow:0 0 0 12px rgba(242,43,47,0)}100%{box-shadow:0 0 0 0 rgba(242,43,47,0)}}
.lsz-services-cinema__copy{position:absolute;left:0;right:0;opacity:0;visibility:hidden;transform:translateY(34px);transition:opacity .58s var(--ease),transform .72s var(--ease),visibility .58s}
.lsz-services-cinema__copy.is-active{opacity:1;visibility:visible;transform:none}
.lsz-services-cinema__num{display:block;margin-bottom:13px;font:900 11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:#D7A84E}
.lsz-services-cinema__copy h3{margin:0 0 22px;font-family:"Archivo Var",Arial,sans-serif;font-stretch:64%;font-variation-settings:"wdth" 64,"wght" 850;font-size:clamp(58px,7vw,110px);line-height:.78;letter-spacing:-.068em;text-transform:uppercase;text-wrap:balance;color:#fff;text-shadow:0 2px 26px rgba(0,0,0,.16)}
.lsz-services-cinema__copy p{max-width:580px;margin:0 0 28px;font-size:15.5px;line-height:1.7;color:rgba(255,255,255,.75)}
.lsz-services-cinema__copy a{display:inline-flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.65);font:850 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;text-transform:uppercase;color:#fff}
.lsz-services-cinema__copy a span{font-size:15px;color:#D7A84E;transition:transform .4s var(--ease)}
.lsz-services-cinema__copy a:hover span,.lsz-services-cinema__copy a:focus-visible span{transform:translate(4px,-3px)}

.lsz-services-cinema__nav{position:absolute;z-index:7;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.19);background:rgba(3,14,28,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.lsz-services-cinema__tab{position:relative;display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;min-height:118px;padding:22px 22px 28px;border:0;border-right:1px solid rgba(255,255,255,.15);background:transparent;color:#fff;text-align:left;cursor:pointer;transition:background .42s var(--ease)}
.lsz-services-cinema__tab:last-child{border-right:0}
.lsz-services-cinema__tab:hover,.lsz-services-cinema__tab:focus-visible,.lsz-services-cinema__tab.is-active{background:rgba(255,255,255,.055)}
.lsz-services-cinema__tab-num{padding-top:4px;font:900 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:#D7A84E}
.lsz-services-cinema__tab-main{display:block;font-family:"Archivo Var",Arial,sans-serif;font-stretch:72%;font-variation-settings:"wdth" 72,"wght" 760;font-size:clamp(20px,1.75vw,30px);line-height:.93;letter-spacing:-.035em;text-transform:uppercase;color:rgba(255,255,255,.58);transition:color .42s var(--ease),transform .42s var(--ease)}
.lsz-services-cinema__tab-main small{display:block;margin-top:12px;font:750 8px ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.45;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.36)}
.lsz-services-cinema__tab.is-active .lsz-services-cinema__tab-main,.lsz-services-cinema__tab:hover .lsz-services-cinema__tab-main,.lsz-services-cinema__tab:focus-visible .lsz-services-cinema__tab-main{color:#fff;transform:translateY(-2px)}
.lsz-services-cinema__tab-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.08);overflow:hidden}
.lsz-services-cinema__tab-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#D7A84E 0 70%,#D7A84E 100%)}
.lsz-services-cinema.is-playing .lsz-services-cinema__tab.is-active .lsz-services-cinema__tab-progress i{animation:lszServiceProgress 5.4s linear forwards}
@keyframes lszServiceProgress{to{width:100%}}

@media(max-width:980px){
  .lsz-services-cinema{padding:82px 0 78px}
  .lsz-services-cinema__head{grid-template-columns:1fr;gap:28px;margin-bottom:42px}
  .lsz-services-cinema__title h2{font-size:clamp(50px,10vw,76px)}
  .lsz-services-cinema__media{min-height:780px}
  .lsz-services-cinema__content{width:auto;left:28px;right:28px;top:38px;min-height:420px}
  .lsz-services-cinema__copy h3{font-size:clamp(54px,11vw,86px)}
  .lsz-services-cinema__nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lsz-services-cinema__tab{min-height:94px;padding:17px 16px 22px;border-bottom:1px solid rgba(255,255,255,.13)}
  .lsz-services-cinema__tab-main{font-size:22px}.lsz-services-cinema__tab-main small{display:none}
  .lsz-services-flow{opacity:.55}
}
@media(max-width:640px){
  .lsz-services-cinema{padding:68px 0 68px}
  .lsz-services-cinema__head{margin-bottom:30px}
  .lsz-services-cinema__title h2{font-size:clamp(43px,13vw,60px)}
  .lsz-services-cinema__eyebrow{line-height:1.6}.lsz-services-cinema__lead p{font-size:14.5px}
  .lsz-services-cinema__stage{width:100%;max-width:none;padding:0}
  .lsz-services-cinema__media{min-height:730px;border-left:0;border-right:0}
  .lsz-services-cinema__veil{background:linear-gradient(0deg,rgba(3,14,28,.94) 0%,rgba(3,14,28,.72) 48%,rgba(3,14,28,.4) 100%)}
  .lsz-services-cinema__content{left:20px;right:20px;top:30px;min-height:430px}
  .lsz-services-cinema__status{margin-bottom:52px}
  .lsz-services-cinema__copy h3{font-size:clamp(48px,15vw,68px);line-height:.82}
  .lsz-services-cinema__copy p{font-size:14.5px;line-height:1.62;max-width:100%}
  .lsz-services-cinema__nav{grid-template-columns:1fr 1fr}
  .lsz-services-cinema__tab{grid-template-columns:26px 1fr;gap:8px;min-height:82px;padding:15px 12px 19px}
  .lsz-services-cinema__tab-main{font-size:18px}.lsz-services-cinema__tab-num{font-size:8px}
  .lsz-services-flow{display:none}
}
@media(prefers-reduced-motion:reduce){
  .lsz-services-cinema__slide,.lsz-services-cinema__copy,.lsz-services-cinema__tab-main,.lsz-services-cinema__copy a span{transition:none!important}
  .lsz-services-flow__line,.lsz-services-flow__pulse,.lsz-services-cinema__status-dot,.lsz-services-cinema__tab-progress i{animation:none!important}
  .lsz-services-flow__line{stroke-dashoffset:0}.lsz-services-flow__pulse{display:none}
}

/* ============================================================
   LSZ PLOMBERIE — v3.9.0
   Signature premium : Header + Hero + Prestations + Réalisations
   Le logo client reste strictement inchangé.
   ============================================================ */

/* ---------- HEADER / sobre, précis, premium ---------- */
.site-header--signature{
  height:76px;
  background:linear-gradient(180deg,rgba(3,14,28,.48),rgba(3,14,28,.16));
  border-bottom:1px solid rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(16px) saturate(1.08);
  backdrop-filter:blur(16px) saturate(1.08);
}
.site-header--signature.is-scrolled{
  background:rgba(4,20,39,.95);
  border-bottom-color:rgba(255,255,255,.12);
  box-shadow:0 10px 34px rgba(3,14,28,.14);
}
.site-header--signature .site-header__inner{
  width:min(calc(100% - 48px),1540px);
  grid-template-columns:auto 1fr auto;
  gap:clamp(24px,3vw,52px);
}
.brand--signature{gap:14px;min-width:0}
.brand--signature .brand__plate{
  width:56px;height:56px;display:grid;place-items:center;overflow:hidden;
  background:#fff;border:1px solid rgba(255,255,255,.76);flex:0 0 auto;
}
.brand--signature .brand__plate img{
  width:100%;height:100%;object-fit:contain;display:block;
}
.brand--signature .brand__copy{display:flex;flex-direction:column;line-height:1;min-width:max-content}
.brand--signature .brand__copy b{
  font-family:"Archivo Var",Arial,sans-serif;font-variation-settings:"wdth" 78,"wght" 790;
  font-size:15px;letter-spacing:.035em;color:#fff;
}
.brand--signature .brand__copy small{
  margin-top:7px;font:750 8px ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.18em;color:rgba(255,255,255,.54);
}
.site-nav--signature{justify-self:center}
.site-nav--signature .site-nav__list{gap:clamp(24px,2.7vw,46px)}
.site-nav--signature .site-nav__list a{
  padding:26px 0 24px;font:760 10px ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.13em;color:rgba(255,255,255,.73);transition:color .3s var(--ease);
}
.site-nav--signature .site-nav__list a:after{height:1px;bottom:18px;background:#D7A84E}
.site-nav--signature .site-nav__list a:hover,.site-nav--signature .site-nav__list a:focus-visible{color:#fff}
.site-header--signature .site-header__actions{gap:8px}
.site-header--signature .header-icon-action{
  width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.20);
  transition:background .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease);
}
.site-header--signature .header-icon-action:hover,.site-header--signature .header-icon-action:focus-visible{
  background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.5);transform:translateY(-1px);
}
.site-header--signature .header-icon-action svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:1.7}
.site-header--signature .header-whatsapp svg{fill:#fff;stroke:none}
.site-header--signature .header-primary-cta{
  min-height:40px;padding:0 16px 0 18px;gap:12px;border:1px solid #D7A84E;background:#D7A84E;color:#fff;
  font-size:9px;letter-spacing:.13em;
}
.site-header--signature .header-primary-cta:hover{background:#fff;color:#18312D;border-color:#fff}
.site-header--signature .header-primary-cta svg{width:15px;height:15px}

/* ---------- HERO / photographie plein écran ---------- */
.hero--signature{
  min-height:100svh;padding:0;background:#18312D;isolation:isolate;
  display:block;color:#fff;
}
.hero--signature .hero__media--backdrop{
  position:absolute;z-index:-4;inset:0;margin:0;min-height:0;width:100%;height:100%;overflow:hidden;background:#18312D;
}
.hero--signature .hero__media--backdrop:before{display:none}
.hero--signature .hero__media--backdrop img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%;
  filter:saturate(.86) contrast(1.05) brightness(.78)!important;
  transform:scale(1.065);transition:transform 2.2s cubic-bezier(.22,1,.36,1),filter 1s ease;
}
.hero--signature .hero__media--backdrop.is-settled img{transform:scale(1.01)}
.hero--signature .hero__scrim{
  position:absolute;z-index:-3;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(3,15,29,.96) 0%,rgba(3,15,29,.86) 37%,rgba(3,15,29,.36) 68%,rgba(3,15,29,.28) 100%),
    linear-gradient(0deg,rgba(3,15,29,.78) 0%,transparent 52%),
    linear-gradient(180deg,rgba(3,15,29,.28) 0%,transparent 28%);
}
.hero--signature .hero__grid{
  z-index:-2;opacity:.5;mask-image:linear-gradient(90deg,black 0 58%,transparent 86%);
  background-size:calc(100vw / 12) calc(100vw / 12);
}
.hero--signature .hero__giant{
  z-index:-1;left:-.035em;bottom:-.13em;font-size:clamp(170px,24vw,440px);
  -webkit-text-stroke:1px rgba(255,255,255,.12);color:transparent;opacity:.76;
}
.hero--signature .hero__content{
  position:relative;z-index:2;width:min(calc(100% - 64px),1540px);margin:auto;
  min-height:100svh;padding:clamp(150px,17vh,210px) 0 clamp(96px,11vh,128px);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,330px);gap:clamp(44px,6vw,100px);
  align-items:end;
}
.hero--signature .hero__copy{max-width:990px}
.hero--signature .hero__kicker{
  margin:0 0 30px;color:rgba(255,255,255,.68);font-size:10px;letter-spacing:.17em;
}
.hero--signature .signal-line{width:46px;height:2px;background:#D7A84E}
.hero--signature .display-title{
  max-width:980px;font-size:clamp(72px,8vw,142px);line-height:.79;letter-spacing:-.067em;
  text-shadow:0 7px 28px rgba(0,0,0,.10);
}
.hero--signature .hero__lead{
  max-width:680px;margin:34px 0 36px;font-size:clamp(16px,1.3vw,20px);line-height:1.65;
  color:rgba(255,255,255,.74);
}
.hero--signature .hero__actions{gap:25px}
.button--hero{
  min-height:56px;background:#D7A84E;border-color:#D7A84E;color:#fff;padding:0 24px 0 28px;
}
.button--hero:hover{background:#fff;border-color:#fff;color:#18312D}
.text-link--hero{color:#fff;border-bottom-color:rgba(255,255,255,.62)}
.hero__proof--signature{
  width:min(100%,650px);display:flex;gap:0;margin-top:44px;padding-top:0;border:1px solid rgba(255,255,255,.18);
  background:rgba(4,20,39,.28);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
}
.hero__proof--signature>div{
  min-height:76px;padding:13px 18px;display:grid!important;grid-template-columns:auto auto auto!important;
  gap:4px 10px;align-items:center;align-content:center;border-right:1px solid rgba(255,255,255,.15);
}
.hero__proof--signature>div:last-child{border-right:0;grid-template-columns:1fr!important;min-width:160px}
.hero__proof--signature .hero__proof-label{
  grid-column:1/-1!important;font:800 7.5px ui-monospace,SFMono-Regular,Menlo,monospace!important;
  letter-spacing:.16em;color:#D7A84E!important;
}
.hero__proof--signature .rating-stars{grid-column:auto!important;display:flex;gap:2px}
.hero__proof--signature .rating-star{font-size:13px;color:#FFC107!important}
.hero__proof--signature b{font-size:17px;line-height:1;color:#fff}
.hero__proof--signature small{font:700 9px ui-monospace,SFMono-Regular,Menlo,monospace;color:rgba(255,255,255,.55)}
.hero__signature-card{
  align-self:end;margin-bottom:12px;padding:24px 0 2px;border-top:1px solid rgba(255,255,255,.45);
  color:#fff;
}
.hero__signature-card>span{
  display:block;margin-bottom:28px;font:800 8px ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.16em;color:#D7A84E;
}
.hero__signature-card>strong{
  display:block;font-family:"Archivo Var",Arial,sans-serif;font-variation-settings:"wdth" 70,"wght" 760;
  font-size:clamp(28px,2.8vw,44px);line-height:.96;letter-spacing:-.045em;text-transform:uppercase;
}
.hero__signature-card>div{display:grid;grid-template-columns:30px 1fr;gap:13px;align-items:start;margin-top:32px}
.hero__signature-card i{display:block;width:30px;height:2px;margin-top:6px;background:#D7A84E}
.hero__signature-card small{font:700 8px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:rgba(255,255,255,.53)}
.hero--signature .hero__scroll{bottom:20px;color:rgba(255,255,255,.48)}

/* ---------- PRESTATIONS / studio cinématique ---------- */
.lsz-services-cinema{background:#102522;padding:clamp(98px,9vw,148px) 0;overflow:hidden}
.lsz-services-cinema:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:80px 80px;opacity:.45;
}
.lsz-services-cinema__head{position:relative;z-index:2;grid-template-columns:minmax(0,1.05fr) minmax(320px,.55fr);margin-bottom:52px}
.lsz-services-cinema__title h2{font-size:clamp(56px,6.4vw,108px);line-height:.84;letter-spacing:-.062em}
.lsz-services-cinema__lead{padding-top:17px;border-top:1px solid rgba(255,255,255,.22)}
.lsz-services-cinema__eyebrow{color:#D7A84E!important;font-size:8px!important;letter-spacing:.15em!important}
.lsz-services-cinema__lead p{max-width:540px;color:rgba(255,255,255,.65)!important;font-size:15px!important;line-height:1.75!important}
.lsz-services-cinema__stage{position:relative;z-index:2}
.lsz-services-cinema__media{
  min-height:760px!important;border:1px solid rgba(255,255,255,.18)!important;background:#18312D!important;overflow:hidden;
}
.lsz-services-cinema__media:after{
  content:"";position:absolute;z-index:8;left:0;top:0;width:2px;height:0;background:#D7A84E;
  transition:height 1.05s cubic-bezier(.22,1,.36,1);
}
.lsz-services-cinema.is-in-view .lsz-services-cinema__media:after{height:100%}
.lsz-services-cinema__slide{
  clip-path:inset(0 0 0 100%);opacity:1!important;visibility:hidden!important;transform:scale(1.035)!important;
  transition:clip-path 1s cubic-bezier(.76,0,.24,1),transform 6.4s cubic-bezier(.22,1,.36,1),visibility 0s 1s!important;
}
.lsz-services-cinema__slide.is-active{
  clip-path:inset(0 0 0 0);visibility:visible!important;transform:scale(1)!important;transition-delay:0s!important;
}
.lsz-services-cinema__slide img{
  filter:saturate(.88) contrast(1.04) brightness(.72)!important;object-position:center!important;
}
.lsz-services-cinema__veil{
  background:linear-gradient(90deg,rgba(2,13,26,.94) 0%,rgba(2,13,26,.74) 42%,rgba(2,13,26,.20) 67%,rgba(2,13,26,.48) 100%)!important;
}
.lsz-services-flow{display:none!important}
.lsz-services-cinema__content{
  left:clamp(30px,4.5vw,70px)!important;top:clamp(45px,5vw,72px)!important;width:min(58%,720px)!important;min-height:480px!important;
}
.lsz-services-cinema__status{margin-bottom:clamp(70px,9vw,120px)!important;color:rgba(255,255,255,.55)!important}
.lsz-services-cinema__status-dot{background:#D7A84E!important}
.lsz-services-cinema__copy h3{
  max-width:650px;font-size:clamp(62px,6.9vw,110px)!important;line-height:.98!important;letter-spacing:-.025em!important;word-spacing:.06em;
}
.lsz-services-cinema__copy p{max-width:560px!important;font-size:15px!important;color:rgba(255,255,255,.73)!important}
.lsz-services-cinema__copy a{color:#fff!important;border-color:rgba(255,255,255,.55)!important}
.lsz-services-cinema__nav{
  left:auto!important;right:0!important;top:0!important;bottom:0!important;width:min(36%,480px)!important;
  grid-template-columns:1fr!important;grid-template-rows:repeat(4,minmax(0,1fr))!important;
  border-top:0!important;border-left:1px solid rgba(255,255,255,.18)!important;
  background:rgba(3,15,29,.68)!important;backdrop-filter:blur(11px)!important;-webkit-backdrop-filter:blur(11px)!important;
}
.lsz-services-cinema__tab{
  min-height:0!important;padding:22px 28px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.14)!important;
  grid-template-columns:38px 1fr!important;align-items:center!important;align-content:center!important;
}
.lsz-services-cinema__tab:last-child{border-bottom:0!important}
.lsz-services-cinema__tab:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#D7A84E;transform:scaleY(0);transform-origin:bottom;transition:transform .45s var(--ease);
}
.lsz-services-cinema__tab.is-active:before{transform:scaleY(1)}
.lsz-services-cinema__tab-main{font-size:clamp(22px,2vw,31px)!important;color:rgba(255,255,255,.50)!important}
.lsz-services-cinema__tab-main small{font-size:9px!important;color:rgba(255,255,255,.72)!important;margin-top:10px!important}
.lsz-services-cinema__tab.is-active .lsz-services-cinema__tab-main{color:#fff!important;transform:none!important}
.lsz-services-cinema__tab-progress{height:1px!important;left:28px!important;right:28px!important;background:rgba(255,255,255,.10)!important}
.lsz-services-cinema__tab-progress i{background:#D7A84E!important}

/* ---------- RÉALISATIONS / portfolio d'architecture ---------- */
.lsz-realizations--portfolio{position:relative;background:#18312D!important;color:#fff;overflow:hidden}
.lsz-realizations--portfolio:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,transparent calc(50% - .5px),rgba(255,255,255,.04) 50%,transparent calc(50% + .5px));
}
.lsz-realizations__head--portfolio{
  position:relative;z-index:1;grid-template-columns:minmax(0,1fr) minmax(290px,410px);margin-bottom:clamp(52px,7vw,92px);
}
.lsz-realizations__head--portfolio h2{font-size:clamp(56px,6.2vw,104px);max-width:1050px}
.lsz-realizations__manifesto{padding-top:18px;border-top:1px solid rgba(255,255,255,.24)}
.lsz-realizations__manifesto>span{display:block;margin-bottom:17px;font:800 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;color:#D7A84E}
.lsz-realizations__manifesto p{margin:0;font-size:14px;line-height:1.75;color:rgba(255,255,255,.62)}
.lsz-portfolio{
  position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto;
  gap:clamp(22px,2.5vw,38px) clamp(18px,2.1vw,32px);align-items:start;
}
.lsz-portfolio__item{min-width:0;margin:0;opacity:0;transform:translateY(46px);transition:opacity .85s var(--ease),transform 1s var(--ease)}
.lsz-portfolio__item.is-visible{opacity:1;transform:none}
.lsz-portfolio__item--hero{grid-column:1/8;grid-row:1/3}
.lsz-portfolio__item--wide{grid-column:8/13;grid-row:1}
.lsz-portfolio__item--portrait{grid-column:8/13;grid-row:2}
.lsz-portfolio__media{position:relative;display:block;width:100%;padding:0;border:0;background:#102522;overflow:hidden;cursor:zoom-in}
.lsz-portfolio__item--hero .lsz-portfolio__media{aspect-ratio:4/5}
.lsz-portfolio__item--wide .lsz-portfolio__media{aspect-ratio:16/9}
.lsz-portfolio__item--portrait .lsz-portfolio__media{aspect-ratio:16/10}
.lsz-portfolio__media:after{
  content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,15,29,.45),transparent 42%);opacity:.62;transition:opacity .5s var(--ease);
}
.lsz-portfolio__media img{width:100%;height:100%;object-fit:cover;filter:none!important;transform:scale(1.015);transition:transform 1.25s var(--ease),filter .6s ease}
.lsz-portfolio__item--hero .lsz-portfolio__media img{object-position:center 45%}
.lsz-portfolio__item--wide .lsz-portfolio__media img{object-position:center}
.lsz-portfolio__item--portrait .lsz-portfolio__media img{object-position:center 40%}
.lsz-portfolio__media:hover img,.lsz-portfolio__media:focus-visible img{transform:scale(1.055)}
.lsz-portfolio__media:hover:after,.lsz-portfolio__media:focus-visible:after{opacity:.32}
.lsz-portfolio__number{
  position:absolute;z-index:3;left:18px;top:18px;width:48px;height:48px;display:grid;place-items:center;
  background:#D7A84E;color:#fff;font:850 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;
}
.lsz-portfolio__zoom{
  position:absolute;z-index:3;right:18px;bottom:16px;font:850 8px ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.14em;color:#fff;opacity:0;transform:translateY(8px);transition:opacity .4s var(--ease),transform .4s var(--ease);
}
.lsz-portfolio__media:hover .lsz-portfolio__zoom,.lsz-portfolio__media:focus-visible .lsz-portfolio__zoom{opacity:1;transform:none}
.lsz-portfolio__copy{display:grid;grid-template-columns:minmax(0,1fr);padding:18px 2px 0;border-top:1px solid rgba(255,255,255,.18);margin-top:12px}
.lsz-portfolio__copy>span{font:800 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.15em;color:#D7A84E;margin-bottom:9px}
.lsz-portfolio__copy h3{margin:0 0 10px;font-family:"Archivo Var",Arial,sans-serif;font-variation-settings:"wdth" 70,"wght" 780;font-size:clamp(28px,2.7vw,46px);line-height:.92;letter-spacing:-.045em;text-transform:uppercase;color:#fff}
.lsz-portfolio__copy p{margin:0;max-width:62ch;font-size:13.5px;line-height:1.7;color:rgba(255,255,255,.56)}
.lsz-portfolio__item--wide .lsz-portfolio__copy h3,.lsz-portfolio__item--portrait .lsz-portfolio__copy h3{font-size:clamp(25px,2.2vw,37px)}
.lsz-portfolio__footer{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:clamp(48px,6vw,82px);padding-top:22px;border-top:1px solid rgba(255,255,255,.18)}
.lsz-portfolio__footer>span{font:800 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;color:rgba(255,255,255,.43)}

@media(max-width:1150px){
  .site-header--signature .brand__copy{display:none}
  .site-header--signature .site-nav{top:76px;inset:76px 0 auto;background:#102522;color:#fff;padding:34px 28px;border-top:1px solid rgba(255,255,255,.1)}
  .site-header--signature .site-nav__list a{padding:11px 0;font-size:11px}
  .site-header--signature .site-nav__list a:after{bottom:5px}
  .hero--signature .hero__content{grid-template-columns:minmax(0,1fr) 260px}
  .lsz-services-cinema__content{width:58%!important}
  .lsz-services-cinema__nav{width:39%!important}
}

@media(max-width:800px){
  .site-header--signature{height:70px;background:rgba(4,20,39,.72)}
  .site-header--signature .site-header__inner{width:calc(100% - 22px)}
  .brand--signature .brand__plate{width:52px;height:52px}
  .site-header--signature .header-icon-action{width:38px;height:38px}
  .site-header--signature .header-primary-cta{display:none}
  .site-header--signature .site-nav{inset:70px 0 auto}

  .hero--signature{min-height:100svh}
  .hero--signature .hero__media--backdrop img{object-position:59% center;filter:saturate(.85) contrast(1.04) brightness(.64)!important}
  .hero--signature .hero__scrim{background:linear-gradient(0deg,rgba(3,15,29,.96) 0%,rgba(3,15,29,.78) 54%,rgba(3,15,29,.37) 100%)}
  .hero--signature .hero__grid{mask-image:linear-gradient(to bottom,transparent 0,black 42%,black 100%);opacity:.34}
  .hero--signature .hero__giant{font-size:34vw;bottom:-.08em}
  .hero--signature .hero__content{width:calc(100% - 32px);min-height:100svh;padding:150px 0 82px;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:34px}
  .hero--signature .hero__kicker{margin-bottom:22px;font-size:8.5px}
  .hero--signature .display-title{font-size:clamp(54px,15vw,82px);line-height:.82}
  .hero--signature .hero__lead{font-size:15px;line-height:1.6;margin:24px 0 30px;max-width:540px}
  .hero--signature .hero__actions{gap:18px}
  .button--hero{min-height:52px;padding:0 20px}
  .hero__proof--signature{margin-top:34px;display:grid;grid-template-columns:1fr 1fr}
  .hero__proof--signature>div{min-height:68px;padding:11px 13px}
  .hero__signature-card{display:none}
  .hero--signature .hero__scroll{display:none}

  .lsz-services-cinema{padding:80px 0}
  .lsz-services-cinema__head{grid-template-columns:1fr;gap:24px;margin-bottom:32px}
  .lsz-services-cinema__title h2{font-size:clamp(47px,13vw,68px)}
  .lsz-services-cinema__media{min-height:760px!important;border-left:0!important;border-right:0!important}
  .lsz-services-cinema__stage{width:100%;max-width:none}
  .lsz-services-cinema__veil{background:linear-gradient(0deg,rgba(2,13,26,.96) 0%,rgba(2,13,26,.76) 58%,rgba(2,13,26,.35) 100%)!important}
  .lsz-services-cinema__content{left:20px!important;right:20px!important;top:36px!important;width:auto!important;min-height:420px!important}
  .lsz-services-cinema__status{margin-bottom:56px!important}
  .lsz-services-cinema__copy h3{font-size:clamp(48px,15vw,68px)!important}
  .lsz-services-cinema__copy p{font-size:14px!important;line-height:1.62!important}
  .lsz-services-cinema__nav{left:0!important;right:0!important;top:auto!important;bottom:0!important;width:100%!important;height:auto!important;grid-template-columns:1fr 1fr!important;grid-template-rows:auto auto!important;border-left:0!important;border-top:1px solid rgba(255,255,255,.18)!important}
  .lsz-services-cinema__tab{min-height:86px!important;padding:14px 13px 18px!important;grid-template-columns:26px 1fr!important;align-items:start!important}
  .lsz-services-cinema__tab:nth-child(odd){border-right:1px solid rgba(255,255,255,.14)!important}
  .lsz-services-cinema__tab-main{font-size:18px!important}
  .lsz-services-cinema__tab-main small{display:none!important}
  .lsz-services-cinema__tab-progress{left:13px!important;right:13px!important}

  .lsz-realizations__head--portfolio{grid-template-columns:1fr;gap:30px}
  .lsz-realizations__head--portfolio h2{font-size:clamp(48px,13vw,67px)}
  .lsz-portfolio{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-right:18px;margin-right:calc((100vw - 100%)/-2);scrollbar-width:none}
  .lsz-portfolio::-webkit-scrollbar{display:none}
  .lsz-portfolio__item,.lsz-portfolio__item--hero,.lsz-portfolio__item--wide,.lsz-portfolio__item--portrait{flex:0 0 min(82vw,430px);scroll-snap-align:start;display:block}
  .lsz-portfolio__item .lsz-portfolio__media{aspect-ratio:4/5}
  .lsz-portfolio__copy h3,.lsz-portfolio__item--wide .lsz-portfolio__copy h3,.lsz-portfolio__item--portrait .lsz-portfolio__copy h3{font-size:30px}
  .lsz-portfolio__footer{align-items:flex-start;flex-direction:column}
}

@media(max-width:480px){
  .hero--signature .hero__content{padding-top:128px}
  .hero--signature .hero__proof-google{grid-template-columns:auto auto!important}
  .hero--signature .hero__proof-google small{display:none}
  .hero--signature .hero__proof--signature b{font-size:15px}
  .hero--signature .hero__actions .text-link{font-size:10px}
  .lsz-services-cinema__media{min-height:720px!important}
  .lsz-services-cinema__status{margin-bottom:48px!important}
  .lsz-services-cinema__tab{min-height:80px!important;padding:13px 10px 17px!important}
  .lsz-services-cinema__tab-main{font-size:16px!important}
  .lsz-portfolio__item,.lsz-portfolio__item--hero,.lsz-portfolio__item--wide,.lsz-portfolio__item--portrait{flex-basis:84vw}
}

@media(prefers-reduced-motion:reduce){
  .hero--signature .hero__media--backdrop img,.lsz-services-cinema__slide,.lsz-portfolio__item,.lsz-portfolio__media img{transition:none!important;transform:none!important}
  .lsz-services-cinema__slide{clip-path:none!important;opacity:0!important}
  .lsz-services-cinema__slide.is-active{opacity:1!important}
  .lsz-portfolio__item{opacity:1!important}
}
.lsz-services-cinema__slide{z-index:0}
.lsz-services-cinema__slide.is-active{z-index:1}

/* ==========================================================================
   v4.1.0 — Corrections : contraste des boutons, appel sur mobile, titres
   ========================================================================== */

/* 1. Boutons rouges : texte blanc sur un rouge légèrement plus profond (contraste ≥ 4,5:1).
      Le rouge de marque reste utilisé pour les filets, numéros et accents. */
.button--signal,.button--hero,.header-primary-cta,.site-header--signature .header-primary-cta{background:#C7923C;background:color-mix(in srgb,var(--signal) 88%,#000);border-color:#C7923C;border-color:color-mix(in srgb,var(--signal) 88%,#000);color:#fff}
.button--signal:hover,.button--hero:hover,.header-primary-cta:hover{background:#fff;border-color:#fff;color:#18312D}
.hero__media figcaption,.service-card figure span{color:#fff}
.mobile-conversion-bar a:first-child{background:#C7923C;background:color-mix(in srgb,var(--signal) 88%,#000);border-color:#C7923C;border-color:color-mix(in srgb,var(--signal) 88%,#000);color:#fff}

/* 2. Mobile : bouton d'appel toujours accessible (header + barre du bas) */
.mobile-conversion-bar__call{grid-auto-flow:column;gap:8px}
.mobile-conversion-bar__call svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
.mobile-conversion-bar a.mobile-conversion-bar__call{font-size:11px}
@media(max-width:1150px){
  .site-header__inner{grid-template-columns:auto 1fr auto}
  .site-header__actions{grid-column:3;justify-self:end}
  .site-header .header-icon-action.header-phone{display:grid!important;place-items:center}
}
@media(max-width:800px){
  .site-header .header-icon-action.header-whatsapp{display:none!important}
}

/* 3. Grands titres : mots bien séparés et accents (À, É) jamais rognés ni superposés */
.display-title,.hero--signature .display-title,
.section-heading h2,.about-copy h2,.offer-section h2,.faq-intro h2,.contact-copy h2,.zone-section h2,.reviews-head h2,
.horizontal-slider-head h2,.gallery-single__head h2,.lsz-realizations__head h2,.lsz-reviews__heading h2,
.lsz-services-cinema__title h2,.request-drawer__mode>h2,.content-page h1{letter-spacing:-.03em;word-spacing:.08em;line-height:1}
.lsz-services-cinema__copy h3,.method-slide-card h3,.lsz-portfolio__copy h3,.hero__signature-card>strong{letter-spacing:-.025em;word-spacing:.06em;line-height:.98}
.display-title span,[data-reveal-title] span{padding-top:.08em}
.is-visible.display-title span,.is-visible[data-reveal-title] span{clip-path:inset(-.3em -.15em -.2em -.15em)}

/* 4. Textes secondaires lisibles sur les fonds bleus, sombres et rouges */
.skip-link{background:#C7923C;color:#fff}
.trust-band{background:#C7923C;background:color-mix(in srgb,var(--signal) 88%,#000)}
.trust-band__track span{color:#fff}
.lsz-portfolio__number{background:#C7923C;background:color-mix(in srgb,var(--signal) 88%,#000);color:#fff}
.horizontal-slider-head .section-index,.contact-section .section-index{color:rgba(255,255,255,.82)}
.horizontal-slider-head__aside p,.contact-copy>p,.contact-practical>p{color:rgba(255,255,255,.9)}
.contact-direct small,.contact-practical dt{color:rgba(255,255,255,.78)}
.lsz-portfolio__footer>span{color:rgba(255,255,255,.66)}
.gallery-view-all span{color:var(--ink)}
.lsz-google-proof b{color:#8EB6A8}
.lsz-google-proof span{color:rgba(255,255,255,.72)}
.faq-item button>span{color:#666}
.quote-form__file small{color:#a3a3a3}
.site-footer .footer-label,.site-footer__bottom,.site-footer__bottom a{color:#949494}
.section-dark .horizontal-slider-head__aside p{color:rgba(255,255,255,.9)}
.lsz-reviews__score>div>span{color:#9CB4AA}
.lsz-google-proof b{color:#497B6F}
.lsz-services-cinema__num,.lsz-services-cinema__tab-num{color:#E2B866}
.gallery-row__caption b{color:#C7923C}
.contact-copy h2{font-size:clamp(40px,4.5vw,76px)}
.offer-section h2{font-size:clamp(40px,4.4vw,76px)}
.lsz-services-cinema__tab-main{letter-spacing:-.02em;word-spacing:.06em}

/* Blog — ajout demandé pour la création de contenu, sans modifier les composants existants. */
.blog-page__intro{max-width:760px;font-size:20px;line-height:1.55;margin:28px 0 56px}.blog-post-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 44px}.blog-card{min-width:0}.blog-card__media{display:block;aspect-ratio:16/10;overflow:hidden;margin:0 0 24px;background:var(--soft)}.blog-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.blog-card__media:hover img{transform:scale(1.025)}.blog-card p{max-width:62ch}.blog-empty{padding:48px 0;border-top:1px solid var(--line)}.blog-empty h2{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(36px,4vw,58px);line-height:1;text-transform:uppercase}.blog-preview__head{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;margin-bottom:48px}.blog-preview__head h2{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(54px,7vw,100px);line-height:.9;letter-spacing:-.045em;text-transform:uppercase;margin:14px 0 0}.blog-preview__intro{max-width:500px}.blog-preview__intro p{font-size:18px;line-height:1.55}.blog-preview__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.blog-preview__card{border-top:1px solid var(--line);padding-top:20px}.blog-preview__media{display:block;aspect-ratio:4/3;overflow:hidden;margin-bottom:22px;background:var(--paper)}.blog-preview__media img{width:100%;height:100%;object-fit:cover;display:block}.blog-preview__copy>span,.blog-card>span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.65}.blog-preview__copy h3{font-family:"Archivo Var",Arial,sans-serif;font-stretch:68%;font-variation-settings:"wdth" 68,"wght" 800;font-size:clamp(28px,2.8vw,42px);line-height:.98;text-transform:uppercase;margin:12px 0}.blog-preview__copy p{line-height:1.5}.blog-preview a,.blog-card a{color:inherit}.blog-page .page-numbers{display:flex;gap:10px;list-style:none;padding:40px 0 0}.blog-page .page-numbers a,.blog-page .page-numbers span{display:grid;place-items:center;min-width:42px;height:42px;border:1px solid var(--line);padding:0 12px}.blog-page .page-numbers .current{background:var(--ink);color:var(--white)}
@media(max-width:900px){.blog-preview__head{grid-template-columns:1fr;gap:24px}.blog-preview__grid{grid-template-columns:1fr}.blog-post-list{grid-template-columns:1fr}.blog-page__intro{font-size:18px;margin-bottom:36px}.blog-preview__card{padding-bottom:18px}}


/* ===== JNP v1.1.0 — palette & typographie modernisées ===== */
html,body{hyphens:none;-webkit-hyphens:none}
h1,h2,h3,h4,h5,h6,.display-title,.hero__giant,.section-heading h2,.about-copy h2,.offer-section h2,.faq-intro h2,.contact-copy h2,.zone-section h2,.reviews-head h2,
.blog-preview__head h2,.blog-empty h2,.lsz-portfolio__copy h3,.service-row h3,.process-grid h3{
  word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;-webkit-hyphens:none!important;
  font-family:"Avenir Next","Segoe UI Variable","Segoe UI",Inter,system-ui,-apple-system,Arial,sans-serif!important;
  font-stretch:normal!important;font-variation-settings:normal!important;letter-spacing:-.035em!important;
}
body{font-family:"Avenir Next","Segoe UI Variable","Segoe UI",Inter,system-ui,-apple-system,Arial,sans-serif!important;letter-spacing:-.006em}
.display-title{font-size:clamp(52px,7.2vw,126px)!important;line-height:.9!important}
.section-heading h2,.about-copy h2,.offer-section h2,.faq-intro h2,.contact-copy h2,.zone-section h2,.reviews-head h2{font-size:clamp(40px,5.4vw,88px)!important;line-height:.94!important}
.service-row h3{font-size:clamp(24px,2.35vw,40px)!important;line-height:1.02!important}
@media(max-width:800px){
  .hero--signature .display-title{font-size:clamp(44px,12.4vw,68px)!important;line-height:.92!important}
  .section-heading h2,.about-copy h2,.offer-section h2,.faq-intro h2,.contact-copy h2,.zone-section h2,.reviews-head h2{font-size:clamp(36px,10.5vw,58px)!important}
}

/* Chantiers terminés */
.completed-projects-page{background:var(--paper);color:var(--graphite)}
.completed-projects-hero{padding:clamp(150px,16vw,220px) 0 clamp(72px,9vw,120px);background:var(--ink);color:#fff;position:relative;overflow:hidden}
.completed-projects-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:8.333vw 8.333vw;pointer-events:none}
.completed-projects-hero .container-wide{position:relative;z-index:1}
.completed-projects-hero h1{margin:18px 0 24px;max-width:1100px;font-size:clamp(48px,7.4vw,118px);line-height:.9;text-transform:uppercase;color:#fff}
.completed-projects-hero p{max-width:760px;font-size:clamp(17px,1.6vw,22px);color:rgba(255,255,255,.72);margin:0}
.completed-projects-list{padding:clamp(72px,9vw,130px) 0}
.completed-projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 28px}
.completed-project-card{min-width:0}
.completed-project-card__media{aspect-ratio:4/3;overflow:hidden;background:var(--soft);display:block;border:0;padding:0;width:100%;cursor:zoom-in}
.completed-project-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.completed-project-card__media:hover img,.completed-project-card__media:focus-visible img{transform:scale(1.035)}
.completed-project-card__copy{padding:18px 0 0;border-top:1px solid var(--line);margin-top:12px}
.completed-project-card__copy span{display:block;color:var(--accent);font:700 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;text-transform:uppercase;margin-bottom:9px}
.completed-project-card__copy h2{margin:0 0 10px;font-size:clamp(25px,2.1vw,36px);line-height:1}
.completed-project-card__copy p{margin:0;line-height:1.65;color:#607078}
.completed-projects-empty{padding:44px;border:1px solid var(--line);background:var(--soft)}
.completed-projects-empty h2{margin:0 0 12px;font-size:clamp(30px,3vw,48px)}
.completed-projects-empty p{margin:0;max-width:680px}
.completed-projects-cta{margin-top:clamp(60px,8vw,100px);padding-top:32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;align-items:center}
@media(max-width:980px){.completed-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.completed-projects-grid{grid-template-columns:1fr}.completed-projects-hero{padding-top:120px}.completed-projects-cta{align-items:flex-start;flex-direction:column}}

/* JNP v1.1.1 — typographie lisible : aucun mot coupé. */
h1,h2,h3,h4,h5,h6,.display-title,.hero__title,.hero__giant,.section-heading h2,.service-row h3,.service-card h3,.process-card h3,.lsz-services-cinema__copy h3,.lsz-services-cinema__title h2,.lsz-services-premium__heading h2,.lsz-realizations__head h2,.lsz-reviews__heading h2,.completed-project-card__copy h2,.completed-project-card__copy h3{
  font-family:"Archivo Var",Arial,sans-serif!important;
  overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;text-wrap:balance;
}
@media(max-width:800px){
  h1,h2,h3,h4,h5,h6,.display-title,.section-heading h2,.service-row h3,.service-card h3,.lsz-services-cinema__copy h3{
    overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;
  }
}


/* ==========================================================================
   JNP v1.2.0 — palette bleu pétrole / champagne + Manrope
   ========================================================================== */
:root{
  --ink:#0C252B;
  --graphite:#123B43;
  --paper:#F5F1E8;
  --soft:#EEE8DC;
  --signal:#D5B98B;
  --accent:#123B43;
  --muted:#6C757D;
  --line:rgba(12,37,43,.14);
}
html,body{
  hyphens:none!important;
  -webkit-hyphens:none!important;
  word-break:normal;
  overflow-wrap:normal;
}
body,
button,input,select,textarea{
  font-family:"Manrope",Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
  color:var(--graphite);
  letter-spacing:-.01em;
}
h1,h2,h3,h4,h5,h6,
.display-title,.hero__title,.hero__giant,
.section-heading h2,.about-copy h2,.offer-section h2,.faq-intro h2,.contact-copy h2,.zone-section h2,.reviews-head h2,
.blog-preview__head h2,.blog-empty h2,.blog-preview__copy h3,.service-row h3,.service-card h3,.process-card h3,.completed-projects-hero h1,.completed-project-card__copy h2{
  font-family:"Manrope",Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
  font-stretch:normal!important;
  font-variation-settings:normal!important;
  font-weight:800;
  letter-spacing:-.04em!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
p,li,.hero__lead,.section-heading p,.gallery-compact__head p,.horizontal-slider-head__aside p,.blog-preview__copy p,.completed-project-card__copy p{
  color:inherit;
}
.section-index,.hero__kicker,.blog-preview__copy>span,.blog-card>span,.completed-project-card__copy span{color:var(--muted)}
.section-soft{background:var(--soft)}
.site-header{
  background:rgba(12,37,43,.30)!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
  backdrop-filter:blur(16px);
}
.site-header.is-scrolled{background:rgba(12,37,43,.94)!important;border-color:rgba(255,255,255,.10)!important}
.site-nav a:after,.signal-line,.horizontal-slider-progress span{background:var(--signal)!important}
.button--signal,.button--hero,.header-primary-cta,.site-header--signature .header-primary-cta,.mobile-conversion-bar a:first-child{
  background:var(--signal)!important;
  border-color:var(--signal)!important;
  color:var(--ink)!important;
}
.button--signal:hover,.button--hero:hover,.header-primary-cta:hover{background:#fff!important;border-color:#fff!important;color:var(--ink)!important}
.button--dark{background:var(--ink)!important;color:#fff!important}
.button--dark:hover{background:var(--graphite)!important}
.skip-link,.trust-band,.lsz-portfolio__number{background:var(--signal)!important;color:var(--ink)!important}
.trust-band__track span{color:var(--ink)!important}
.hero,.section-dark,.method-slider-section,.completed-projects-hero,.site-footer{background:var(--ink)!important;color:#fff!important}
.hero__lead,.section-dark .horizontal-slider-head__aside p,.contact-copy>p,.contact-practical>p,.completed-projects-hero p{color:rgba(255,255,255,.84)!important}
.hero__media,.service-card figure,.expertise-slide-card figure,.completed-projects-hero:before{background:var(--ink)!important}
.hero__media figcaption{background:var(--signal)!important;color:var(--ink)!important}
.hero__giant{color:transparent!important;-webkit-text-stroke:1px rgba(255,255,255,.12)!important}
.offer-section__copy,.completed-projects-empty,.gallery-section--compact{background:transparent}
.lsz-google-proof b,.gallery-row__caption b,.completed-project-card__copy span{color:var(--signal)!important}
.faq-item button>span,.site-footer .footer-label,.site-footer__bottom,.site-footer__bottom a{color:rgba(255,255,255,.78)!important}
.contact-direct small,.contact-practical dt,.lsz-google-proof span,.lsz-portfolio__footer>span,.lsz-reviews__score>div>span{color:rgba(255,255,255,.70)!important}
.horizontal-slider-head .section-index,.contact-section .section-index{color:rgba(255,255,255,.78)!important}
.gallery-view-all span{color:var(--ink)!important}
.blog-page .page-numbers .current{background:var(--ink)!important;color:#fff!important}
@media(max-width:800px){
  .display-title{font-size:clamp(42px,12.2vw,68px)!important;line-height:.94!important}
  .section-heading h2,.about-copy h2,.offer-section h2,.faq-intro h2,.contact-copy h2,.zone-section h2,.reviews-head h2,.projects-head h2,.gallery-compact__head h2,.horizontal-slider-head h2{font-size:clamp(34px,10vw,56px)!important;line-height:.96!important}
}


/* ==========================================================================
   JNP v1.2.1 — corrections mobile demandées
   ========================================================================== */
/* Galerie visuelle très tôt dans la page : mobile uniquement. */
.mobile-early-gallery{display:none}
.method-mobile-swipe{display:none}

/* Le bloc déplacement à domicile doit rester parfaitement lisible. */
.offer-section__copy{
  background:var(--soft)!important;
  color:var(--ink)!important;
}
.offer-section__copy .section-index{color:var(--graphite)!important}
.offer-section__copy h2{color:var(--ink)!important}
.offer-section__copy p{color:#46565A!important}
.offer-section__copy .button--signal{background:var(--signal)!important;color:var(--ink)!important;border-color:var(--signal)!important}
.offer-section__copy .button--signal:hover{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}

@media(max-width:800px){
  /* Plus de photos dès le début, sans alourdir le desktop. */
  .mobile-early-gallery{display:block;background:var(--paper);padding:24px 0 30px;overflow:hidden}
  .mobile-early-gallery__head{width:calc(100% - 32px);margin:0 auto 14px;display:flex;align-items:end;justify-content:space-between;gap:16px}
  .mobile-early-gallery__head span{font-size:9px;font-weight:800;letter-spacing:.16em;color:var(--muted)}
  .mobile-early-gallery__head b{font-size:14px;line-height:1.25;text-align:right;color:var(--ink);max-width:230px}
  .mobile-early-gallery__track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:16px;padding:0 16px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .mobile-early-gallery__track::-webkit-scrollbar{display:none}
  .mobile-early-gallery figure{position:relative;flex:0 0 72vw;max-width:320px;aspect-ratio:4/3;margin:0;overflow:hidden;scroll-snap-align:start;background:var(--ink)}
  .mobile-early-gallery img{width:100%;height:100%;object-fit:cover}
  .mobile-early-gallery figcaption{position:absolute;left:10px;bottom:10px;background:rgba(12,37,43,.88);color:#fff;padding:7px 9px;font-size:9px;font-weight:800;letter-spacing:.12em}

  /* Méthode : laisser dépasser la carte 2 + flèche de guidage très visible. */
  .method-mobile-swipe{display:flex;width:calc(100% - 32px);margin:0 auto 12px;align-items:center;justify-content:flex-end;gap:10px;color:var(--signal)}
  .method-mobile-swipe span{font-size:9px;font-weight:800;letter-spacing:.12em}
  .method-mobile-swipe b{font-size:28px;line-height:1;animation:jnpSwipeArrow 1.3s ease-in-out infinite alternate}
  .method-slider-section .horizontal-slider-track{padding-left:16px!important;padding-right:36px!important;gap:12px!important;scroll-padding-left:16px!important}
  .method-slider-section .method-slide-card{flex-basis:82vw!important;max-width:350px!important}
  .method-slider-section .method-slide-card__visual{min-height:205px!important}
  .method-slider-section .method-slide-card__visual strong{font-size:39vw!important}
  .method-slider-section .method-slide-card__copy{padding:24px!important;min-height:280px!important}
  .method-slider-section .method-slide-card h3{font-size:clamp(30px,9vw,40px)!important;line-height:1.02!important;overflow-wrap:normal!important;word-break:normal!important}
  @keyframes jnpSwipeArrow{from{transform:translateX(-4px)}to{transform:translateX(5px)}}

  /* Savoir-faire : titres entièrement visibles et jamais hors écran. */
  .lsz-services-cinema__head{padding-left:16px;padding-right:16px}
  .lsz-services-cinema__title h2{font-size:clamp(36px,10.5vw,48px)!important;line-height:.98!important;max-width:100%!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
  .lsz-services-cinema__lead{min-width:0}
  .lsz-services-cinema__media{min-height:760px!important;overflow:hidden!important}
  .lsz-services-cinema__content{left:18px!important;right:18px!important;top:30px!important;width:auto!important;max-width:calc(100vw - 36px)!important;min-width:0!important}
  .lsz-services-cinema__copy{width:100%!important;max-width:100%!important;min-width:0!important}
  .lsz-services-cinema__copy h3{font-size:clamp(30px,9vw,42px)!important;line-height:1.03!important;letter-spacing:-.035em!important;max-width:100%!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;text-wrap:balance!important}
  .lsz-services-cinema__copy p{font-size:13.5px!important;line-height:1.58!important;max-width:100%!important}
  .lsz-services-cinema__status{margin-bottom:34px!important}
  .lsz-services-cinema__nav{overflow:hidden!important}
  .lsz-services-cinema__tab{min-width:0!important;padding:12px 9px 16px!important;grid-template-columns:22px minmax(0,1fr)!important;gap:6px!important}
  .lsz-services-cinema__tab-main{font-size:14px!important;line-height:1.08!important;max-width:100%!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
  .lsz-services-cinema__tab-num{font-size:8px!important}

  /* Déplacement à domicile : contraste mobile renforcé. */
  .offer-section__copy{padding:52px 20px!important;text-align:left!important;align-items:flex-start!important}
  .offer-section__copy .section-index{color:#58676A!important;margin-bottom:16px!important}
  .offer-section__copy h2{font-size:clamp(32px,9.5vw,46px)!important;line-height:1!important;text-align:left!important}
  .offer-section__copy p{font-size:15px!important;line-height:1.65!important;margin:24px 0 30px!important;text-align:left!important}
}

@media(max-width:430px){
  .mobile-early-gallery figure{flex-basis:76vw}
  .method-slider-section .method-slide-card{flex-basis:80vw!important}
  .lsz-services-cinema__copy h3{font-size:clamp(28px,8.4vw,38px)!important}
  .lsz-services-cinema__tab-main{font-size:13px!important}
}


/* ==========================================================================
   JNP v1.3.0 — Prestations plein écran au scroll + signal galerie
   Conserve strictement la palette et les composants de la v1.2.1.
   ========================================================================== */
.lsz-services-cinema[data-scroll-services]{
  position:relative;
  min-height:465svh;
  padding:clamp(92px,8vw,132px) 0 0!important;
  overflow:visible!important;
}
.lsz-services-cinema[data-scroll-services] .lsz-services-cinema__head{margin-bottom:clamp(34px,4vw,54px)}
.lsz-services-cinema[data-scroll-services] .lsz-services-cinema__stage{
  position:sticky!important;
  top:0!important;
  width:100%!important;
  max-width:none!important;
  height:100svh!important;
  margin:0!important;
}
.lsz-services-cinema[data-scroll-services] .lsz-services-cinema__media{
  min-height:0!important;
  height:100svh!important;
  border-left:0!important;
  border-right:0!important;
}
.lsz-services-cinema[data-scroll-services] .lsz-services-cinema__slide{
  transition:clip-path .85s cubic-bezier(.76,0,.24,1),transform 1.45s cubic-bezier(.22,1,.36,1),visibility 0s .85s!important;
}
.lsz-services-cinema[data-scroll-services] .lsz-services-cinema__slide.is-active{transition-delay:0s!important}
.lsz-services-cinema[data-scroll-services] .lsz-services-cinema__tab-progress i{animation:none!important;transform:none!important;width:0!important;transition:width .45s var(--ease)!important}
.lsz-services-cinema[data-scroll-services] .lsz-services-cinema__tab.is-active .lsz-services-cinema__tab-progress i{width:100%!important}
.lsz-services-cinema__scroll-cue{
  position:absolute;left:clamp(30px,4.5vw,70px);bottom:28px;z-index:14;
  display:flex;align-items:center;gap:13px;padding:11px 14px;
  border:1px solid rgba(255,255,255,.22);background:rgba(12,37,43,.52);backdrop-filter:blur(8px);
  color:#fff;font-size:8px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
}
.lsz-services-cinema__scroll-cue b{color:var(--signal);font-size:10px;white-space:nowrap}
.lsz-services-cinema__scroll-cue i{font-style:normal;color:var(--signal);font-size:16px;animation:jnpServiceCue 1.5s ease-in-out infinite}
@keyframes jnpServiceCue{0%,100%{transform:translateY(-2px)}50%{transform:translateY(4px)}}

.gallery-discovery-cue{margin-top:clamp(28px,4vw,48px)}
.gallery-discovery-cue__button{
  width:100%;border:1px solid var(--line);background:var(--ink);color:#fff;cursor:pointer;
  padding:clamp(18px,2.5vw,28px) clamp(18px,3vw,34px);display:flex;align-items:center;justify-content:space-between;gap:24px;text-align:left;
  transition:transform .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease);
}
.gallery-discovery-cue__button:hover,.gallery-discovery-cue__button:focus-visible{transform:translateY(-2px);background:var(--graphite);border-color:var(--signal)}
.gallery-discovery-cue__button span{display:flex;flex-direction:column;gap:5px}
.gallery-discovery-cue__button small{font-size:8px;font-weight:800;letter-spacing:.16em;color:var(--signal)}
.gallery-discovery-cue__button strong{font-size:clamp(18px,2vw,28px);line-height:1.1;font-weight:800;letter-spacing:-.025em}
.gallery-discovery-cue__button>b{display:grid;place-items:center;flex:0 0 auto;width:54px;height:54px;border-radius:50%;background:var(--signal);color:var(--ink);font-size:27px;transition:transform .3s var(--ease)}
.gallery-discovery-cue__button:hover>b,.gallery-discovery-cue__button:focus-visible>b{transform:translateX(5px)}

@media(max-width:800px){
  .lsz-services-cinema[data-scroll-services]{min-height:455svh;padding:74px 0 0!important}
  .lsz-services-cinema[data-scroll-services] .lsz-services-cinema__head{padding-left:16px;padding-right:16px;margin-bottom:26px}
  .lsz-services-cinema[data-scroll-services] .lsz-services-cinema__stage{height:100svh!important}
  .lsz-services-cinema[data-scroll-services] .lsz-services-cinema__media{height:100svh!important;min-height:0!important}
  .lsz-services-cinema[data-scroll-services] .lsz-services-cinema__content{top:26px!important;min-height:0!important;bottom:190px!important}
  .lsz-services-cinema[data-scroll-services] .lsz-services-cinema__status{margin-bottom:28px!important}
  .lsz-services-cinema[data-scroll-services] .lsz-services-cinema__copy h3{font-size:clamp(29px,8.6vw,40px)!important;line-height:1.03!important}
  .lsz-services-cinema[data-scroll-services] .lsz-services-cinema__copy p{font-size:13px!important;line-height:1.52!important;max-width:94%!important}
  .lsz-services-cinema__scroll-cue{left:18px;right:18px;bottom:174px;justify-content:space-between;padding:9px 11px;font-size:7px;gap:8px}
  .lsz-services-cinema__scroll-cue span{max-width:210px;line-height:1.35}
  .lsz-services-cinema[data-scroll-services] .lsz-services-cinema__nav{bottom:0!important}
  .gallery-discovery-cue{margin-top:22px}
  .gallery-discovery-cue__button{padding:16px;gap:12px}
  .gallery-discovery-cue__button strong{font-size:18px}
  .gallery-discovery-cue__button>b{width:46px;height:46px;font-size:24px}
}

@media(prefers-reduced-motion:reduce){
  .lsz-services-cinema[data-scroll-services]{min-height:auto!important;padding-bottom:70px!important;overflow:hidden!important}
  .lsz-services-cinema[data-scroll-services] .lsz-services-cinema__stage{position:relative!important;height:auto!important}
  .lsz-services-cinema[data-scroll-services] .lsz-services-cinema__media{height:auto!important;min-height:760px!important}
  .lsz-services-cinema__scroll-cue{display:none!important}
}


/* ========================================================================== 
   JNP v1.4.0 — Prestations "Editorial Stack"
   Quatre tableaux plein écran empilés. Aucun scroll artificiel : le navigateur
   traverse naturellement les quatre prestations avant la suite du site.
   ========================================================================== */
.jnp-services-stack{
  position:relative;
  background:var(--ink)!important;
  color:#fff;
  padding:clamp(90px,9vw,150px) 0 0;
  isolation:isolate;
}
.jnp-services-stack__intro{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.55fr);
  gap:clamp(40px,7vw,110px);
  align-items:end;
  padding-bottom:clamp(70px,8vw,120px);
}
.jnp-services-stack__intro h2{
  margin:10px 0 0;
  max-width:980px;
  font-family:"Manrope",Inter,sans-serif!important;
  font-size:clamp(48px,6.8vw,108px);
  line-height:.91;
  letter-spacing:-.055em!important;
  color:#fff;
  text-transform:uppercase;
}
.jnp-services-stack__intro-copy>span{
  display:block;
  margin-bottom:18px;
  color:var(--signal);
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.jnp-services-stack__intro-copy p{
  margin:0;
  max-width:570px;
  color:rgba(255,255,255,.76)!important;
  font-size:17px;
  line-height:1.65;
}
.jnp-services-stack__hint{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:30px;
  color:#fff;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.jnp-services-stack__hint i{width:42px;height:1px;background:var(--signal)}
.jnp-services-stack__hint span{color:var(--signal);font-size:20px;animation:jnpStackArrow 1.5s ease-in-out infinite}
@keyframes jnpStackArrow{0%,100%{transform:translateY(-2px)}50%{transform:translateY(5px)}}

.jnp-services-stack__panels{position:relative}
.jnp-service-panel{
  --panel-top:0px;
  position:sticky;
  top:var(--panel-top);
  height:100svh;
  min-height:680px;
  overflow:hidden;
  background:var(--ink);
  box-shadow:0 -18px 45px rgba(0,0,0,.24);
}
.jnp-service-panel:nth-child(1){z-index:11}
.jnp-service-panel:nth-child(2){z-index:12}
.jnp-service-panel:nth-child(3){z-index:13}
.jnp-service-panel:nth-child(4){z-index:14}
.jnp-service-panel__media{position:absolute;inset:0;margin:0;background:var(--ink);overflow:hidden}
.jnp-service-panel__media img{
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.025);
  filter:saturate(.92) contrast(1.02);
}
.jnp-service-panel__shade{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(6,23,27,.94) 0%,rgba(6,23,27,.80) 32%,rgba(6,23,27,.24) 61%,rgba(6,23,27,.12) 100%),
    linear-gradient(0deg,rgba(6,23,27,.55) 0%,transparent 45%);
}
.jnp-service-panel__frame{
  position:absolute;inset:22px;
  border:1px solid rgba(255,255,255,.18);
  pointer-events:none;
}
.jnp-service-panel__content{
  position:relative;z-index:2;height:100%;
  display:flex;flex-direction:column;
  padding-top:clamp(34px,4vw,58px);
  padding-bottom:clamp(34px,4vw,58px);
}
.jnp-service-panel__topline{
  display:flex;justify-content:space-between;align-items:center;
  padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.22);
  color:rgba(255,255,255,.78);
  font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
}
.jnp-service-panel__topline b{color:var(--signal);font-size:11px}
.jnp-service-panel__copy{margin:auto 0;max-width:min(760px,58vw)}
.jnp-service-panel__micro{
  display:inline-block;margin-bottom:22px;color:var(--signal);
  font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;
}
.jnp-service-panel__copy h3{
  margin:0 0 26px;
  font-family:"Manrope",Inter,sans-serif!important;
  font-size:clamp(48px,6.4vw,104px)!important;
  line-height:.91!important;
  letter-spacing:-.055em!important;
  color:#fff;
  text-transform:none;
  text-wrap:balance;
  overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;
}
.jnp-service-panel__copy p{
  max-width:670px;margin:0 0 34px;
  color:rgba(255,255,255,.86)!important;
  font-size:clamp(16px,1.3vw,20px);line-height:1.65;
}
.jnp-service-panel__cta{
  display:inline-flex;align-items:center;gap:18px;
  color:#fff;border-bottom:1px solid var(--signal);padding:0 0 8px;
  font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
}
.jnp-service-panel__cta b{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--signal);color:var(--ink);font-size:15px}
.jnp-service-panel__progress{display:flex;gap:6px;align-items:center;width:min(280px,35vw)}
.jnp-service-panel__progress i{display:block;height:2px;flex:1;background:rgba(255,255,255,.25)}
.jnp-service-panel__progress i.is-on{background:var(--signal)}
.jnp-service-panel__next{
  position:absolute;right:max(32px,calc((100vw - min(calc(100vw - 64px),var(--max)))/2));bottom:clamp(31px,4vw,55px);
  display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.8);
  font-size:8px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
}
.jnp-service-panel__next b{font-size:19px;color:var(--signal);animation:jnpStackArrow 1.5s ease-in-out infinite}

/* Chaque panneau doit occuper son propre écran de scroll avant d'être recouvert. */
.jnp-service-panel:not(:last-child){margin-bottom:65svh}
.jnp-service-panel:last-child{margin-bottom:0}

@media(max-width:800px){
  .jnp-services-stack{padding-top:72px}
  .jnp-services-stack__intro{grid-template-columns:1fr;gap:26px;padding:0 16px 58px}
  .jnp-services-stack__intro h2{font-size:clamp(38px,10.8vw,56px);line-height:.96;letter-spacing:-.045em!important}
  .jnp-services-stack__intro-copy p{font-size:14.5px;line-height:1.6}
  .jnp-services-stack__hint{margin-top:22px}
  .jnp-service-panel{height:100svh;min-height:640px}
  .jnp-service-panel__frame{inset:10px}
  .jnp-service-panel__media img{object-position:center center}
  .jnp-service-panel__shade{
    background:
      linear-gradient(0deg,rgba(6,23,27,.97) 0%,rgba(6,23,27,.88) 32%,rgba(6,23,27,.35) 63%,rgba(6,23,27,.12) 100%);
  }
  .jnp-service-panel__content{width:calc(100% - 32px);padding-top:26px;padding-bottom:26px}
  .jnp-service-panel__topline{font-size:8px;padding-bottom:12px}
  .jnp-service-panel__copy{margin:auto 0 54px;max-width:100%}
  .jnp-service-panel__micro{font-size:8px;margin-bottom:13px}
  .jnp-service-panel__copy h3{
    font-size:clamp(34px,10.4vw,49px)!important;
    line-height:.98!important;
    letter-spacing:-.04em!important;
    margin-bottom:18px;
    max-width:100%;
  }
  .jnp-service-panel__copy p{font-size:13.5px;line-height:1.56;margin-bottom:22px;max-width:96%}
  .jnp-service-panel__cta{font-size:9px;gap:12px}
  .jnp-service-panel__cta b{width:26px;height:26px;font-size:13px}
  .jnp-service-panel__progress{width:52%;gap:4px}
  .jnp-service-panel__next{right:16px;bottom:23px;font-size:7px}
  .jnp-service-panel:not(:last-child){margin-bottom:65svh}
}

@media(max-height:720px) and (max-width:800px){
  .jnp-service-panel__copy{margin:auto 0 40px}
  .jnp-service-panel__copy h3{font-size:clamp(31px,9.1vw,42px)!important;margin-bottom:12px}
  .jnp-service-panel__copy p{font-size:12.5px;line-height:1.48;margin-bottom:16px}
  .jnp-service-panel__micro{margin-bottom:9px}
}

@media(prefers-reduced-motion:reduce){
  .jnp-services-stack__hint span,.jnp-service-panel__next b{animation:none}
}
