/*
Theme Name: Batteo 2026
Theme URI: https://batteo.fr/
Author: Batteo
Description: Site vitrine Batteo, entreprise générale de rénovation.
Version: 1.0.0
Text Domain: batteo-2026
*/
:root{--ink:#17262d;--paper:#f2efe8;--white:#fff;--red:#df2a31;--blue:#9ccfe8;--blue-dark:#173e53;--line:rgba(23,38,45,.18);--pad:clamp(22px,4.2vw,72px);--radius:3px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;left:12px;top:12px;transform:translateY(-160%);background:var(--white);padding:10px 16px}.skip-link:focus{transform:none}.site-header{position:fixed;z-index:100;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;height:86px;padding:0 var(--pad);border-bottom:1px solid rgba(255,255,255,.28);color:var(--white);transition:background .3s,color .3s,height .3s,border .3s}.site-header.is-scrolled{height:72px;background:rgba(242,239,232,.94);backdrop-filter:blur(16px);color:var(--ink);border-color:var(--line)}.brand{display:inline-flex;flex-direction:column;line-height:1;position:relative}.brand__name{color:var(--red);font-size:31px;font-weight:900;letter-spacing:-2px}.brand__name:after{content:"";display:block;width:100%;height:5px;margin-top:2px;background:var(--blue);transform:skewX(-25deg)}.brand__line{margin-top:6px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:2.2px}.main-nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,42px);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.main-nav a{position:relative}.main-nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:currentColor;transition:right .25s}.main-nav a:hover:after,.main-nav a:focus-visible:after{right:0}.nav-cta{padding:12px 18px;border:1px solid currentColor}.menu-toggle{display:none;background:none;border:0;color:inherit;padding:8px}.menu-toggle>span:not(.sr-only){display:block;width:25px;height:2px;margin:5px;background:currentColor}.hero{min-height:100svh;padding:118px var(--pad) 0;background:var(--ink);color:var(--white);display:grid;grid-template-columns:minmax(320px,.85fr) minmax(440px,1.15fr);grid-template-rows:1fr auto;gap:clamp(30px,5vw,90px);position:relative}.hero:before{content:"";position:absolute;left:var(--pad);top:0;width:1px;height:100%;background:rgba(255,255,255,.1)}.hero__copy{align-self:center;padding:50px 0 80px;position:relative;z-index:1}.eyebrow{margin:0 0 22px;font-size:11px;line-height:1.2;font-weight:800;text-transform:uppercase;letter-spacing:3px;color:var(--red)}.hero .eyebrow,.site-story .eyebrow,.contact-panel .eyebrow{color:var(--blue)}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:700;letter-spacing:-.045em;line-height:.98}h1{font-size:clamp(52px,7.2vw,118px);margin:0 0 30px}h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--blue)}.hero__lead{max-width:630px;font-size:clamp(18px,1.55vw,25px);line-height:1.45;color:rgba(255,255,255,.78)}.hero__actions{display:flex;align-items:center;gap:25px;margin-top:42px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1.2px}.button--primary{background:var(--red);color:var(--white);padding:0 25px;transition:transform .2s,background .2s}.button--primary:hover{background:#c91f27;transform:translateY(-2px)}.button--text{gap:10px;border-bottom:1px solid rgba(255,255,255,.55)}.button--text span{font-size:20px}.hero__media{margin:0;min-height:580px;position:relative}.hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.36))}.hero__media img{width:100%;height:100%;object-fit:cover}.hero__media figcaption{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;display:flex;justify-content:space-between;gap:20px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:2px}.hero__scope{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.2);height:82px;align-items:center;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.8px}.hero__scope span+span{border-left:1px solid rgba(255,255,255,.2);padding-left:28px}.section-pad{padding:clamp(90px,10vw,170px) var(--pad)}.section-index{font-family:Georgia,serif;font-size:18px;color:var(--red)}.manifesto{display:grid;grid-template-columns:80px 1.05fr .95fr;gap:clamp(25px,5vw,90px);border-bottom:1px solid var(--line)}.manifesto h2,.section-heading h2,.finish-gallery h2,.method h2,.site-story h2{font-size:clamp(40px,5.2vw,82px);margin-bottom:0}.manifesto__body>p{font-size:clamp(18px,1.5vw,24px);max-width:650px}.expertise-list{margin-top:50px;border-top:1px solid var(--line)}.expertise-list span{display:flex;align-items:center;min-height:54px;border-bottom:1px solid var(--line);font-weight:700}.expertise-list span:before{content:"+";margin-right:18px;color:var(--red)}.transformations{background:var(--white)}.section-heading{display:grid;grid-template-columns:1fr minmax(280px,.4fr);align-items:end;gap:50px;margin-bottom:100px}.section-heading>p{font-size:18px;color:#526067}.compare-list{display:grid;gap:130px}.project-card{display:grid;grid-template-columns:minmax(210px,.34fr) 1fr;gap:clamp(30px,5vw,80px);align-items:start}.project-card--reverse{grid-template-columns:1fr minmax(210px,.34fr)}.project-card--reverse header{grid-column:2}.project-card--reverse .compare{grid-column:1;grid-row:1}.project-card header{padding-top:15px;border-top:1px solid var(--ink)}.project-card header>span{font:italic 26px Georgia,serif;color:var(--red)}.project-card h3{margin:55px 0 8px;font-size:clamp(28px,3vw,45px);letter-spacing:-.04em}.project-card header p{color:#657178}.compare{--position:50%;position:relative;aspect-ratio:14/8;overflow:hidden;background:#d9d7d1;isolation:isolate}.compare__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.compare__before{position:absolute;z-index:1;inset:0 auto 0 0;width:var(--position);overflow:hidden}.compare__before .compare__image{width:calc(100vw - 2 * var(--pad));max-width:none}.project-card:not(.project-card--reverse) .compare__before .compare__image{width:100%;min-width:100%}.compare__line{position:absolute;z-index:4;left:var(--position);top:0;bottom:0;width:2px;background:var(--white);transform:translateX(-1px);pointer-events:none}.compare__line span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--white);color:var(--ink);font-weight:800;box-shadow:0 4px 25px rgba(0,0,0,.22)}.compare input{position:absolute;z-index:5;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.compare__label{position:absolute;z-index:3;top:18px;padding:7px 10px;background:rgba(23,38,45,.8);color:var(--white);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px}.compare__label--before{left:18px}.compare__label--after{right:18px}.site-story{background:var(--blue-dark);color:var(--white);position:relative;overflow:hidden}.section-index--light{color:var(--blue)}.site-story__heading{max-width:980px;margin:0 auto 90px;text-align:center}.site-story__heading>p:last-child{max-width:660px;margin:28px auto 0;color:rgba(255,255,255,.68);font-size:18px}.trade-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(270px,34vw);gap:18px;overflow-x:auto;padding:0 var(--pad) 30px;margin-inline:calc(-1 * var(--pad));scroll-snap-type:x proximity;scrollbar-color:var(--blue) transparent}.trade-card{scroll-snap-align:start;margin:0;position:relative}.trade-card img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.72)}.trade-card span{display:block;margin-top:18px;color:var(--blue);font:italic 22px Georgia,serif}.trade-card h3{font-size:clamp(21px,2vw,30px);margin:4px 0}.finish-gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:minmax(260px,32vw);gap:18px}.finish-gallery__heading{grid-column:1/3;align-self:center;padding-right:8vw}.gallery-item{margin:0;position:relative;overflow:hidden}.gallery-item--wide{grid-column:1/3}.gallery-item--tall{grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.gallery-item:hover img{transform:scale(1.025)}.gallery-item figcaption{position:absolute;left:16px;bottom:16px;background:var(--paper);padding:8px 11px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px}.method{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,9vw,160px);background:#e5e1d8}.method__heading{position:sticky;top:120px;align-self:start}.method__steps{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.method__steps li{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:36px 0;border-bottom:1px solid var(--line)}.method__steps li>span{font:italic 22px Georgia,serif;color:var(--red)}.method__steps h3{font-size:26px;margin-bottom:8px}.method__steps p{margin:0;max-width:560px;color:#5a666b}.contact-panel{background:var(--red);color:var(--white);padding:clamp(80px,11vw,180px) var(--pad);position:relative}.contact-panel h2{font-size:clamp(48px,8vw,130px);max-width:1400px;margin-bottom:65px;letter-spacing:-.055em;line-height:.92}.contact-panel__links{display:flex;gap:clamp(24px,6vw,100px);flex-wrap:wrap;font-size:clamp(22px,3vw,46px);font-weight:700}.contact-panel__links a{border-bottom:2px solid currentColor}.contact-panel__address{position:absolute;right:var(--pad);bottom:clamp(25px,4vw,65px);margin:0;text-align:right}.site-footer{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:35px;padding:45px var(--pad);background:var(--ink);color:rgba(255,255,255,.65);font-size:12px}.brand--footer{color:var(--white)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.gallery-item img{transition:none}}
@media (max-width:900px){.site-header{height:72px}.menu-toggle{display:block}.main-nav{position:absolute;left:0;right:0;top:72px;background:var(--paper);color:var(--ink);padding:28px var(--pad);display:none;align-items:stretch;flex-direction:column;gap:24px;border-bottom:1px solid var(--line)}.main-nav.is-open{display:flex}.hero{grid-template-columns:1fr;padding-top:92px}.hero__copy{padding:60px 0 20px}.hero__media{min-height:62vw}.hero__scope{grid-column:1;height:auto;padding:24px 0;gap:15px}.manifesto{grid-template-columns:45px 1fr}.manifesto__body{grid-column:2}.section-heading{grid-template-columns:1fr;margin-bottom:65px}.project-card,.project-card--reverse{grid-template-columns:1fr;gap:25px}.project-card--reverse header,.project-card--reverse .compare{grid-column:1;grid-row:auto}.project-card h3{margin-top:25px}.compare__before .compare__image{width:calc(100vw - 2 * var(--pad))!important}.finish-gallery{grid-template-columns:1fr 1fr}.finish-gallery__heading{grid-column:1/-1;padding:0 0 35px}.gallery-item--wide{grid-column:1/-1}.method{grid-template-columns:1fr}.method__heading{position:static}.contact-panel__address{position:static;margin-top:55px;text-align:left}.site-footer{grid-template-columns:1fr;text-align:left}}
@media (max-width:600px){.hero__scope{grid-template-columns:1fr}.hero__scope span+span{border-left:0;padding-left:0}.hero__media{min-height:86vw}.section-pad{padding-top:80px;padding-bottom:80px}.manifesto{grid-template-columns:1fr}.manifesto .section-index,.manifesto__body{grid-column:1}.compare{aspect-ratio:4/3}.trade-track{grid-auto-columns:82vw}.finish-gallery{display:block}.finish-gallery__heading{margin-bottom:45px}.gallery-item{height:78vw;margin-bottom:14px}.gallery-item--tall{height:110vw}.method__steps li{grid-template-columns:45px 1fr}.contact-panel__links{flex-direction:column}.site-footer{padding-block:35px}}
/* Galeries étendues et cadrages contrôlés */
.compare__before{inset:0;width:100%;clip-path:inset(0 calc(100% - var(--position)) 0 0);overflow:visible}.compare__before .compare__image{width:100%!important;min-width:0!important;object-position:var(--before-position,50% 50%)}.compare>.compare__image{object-position:var(--after-position,50% 50%)}.compare--contain,.compare--contain .compare__image{background:#d9d6cf}.compare--contain .compare__image{object-fit:contain}.archive-section{background:#e5e1d8;border-top:1px solid var(--line)}.archive-section__heading{display:grid;grid-template-columns:1fr minmax(260px,.38fr);align-items:end;gap:55px;margin-bottom:70px}.archive-section__heading h2{font-size:clamp(40px,5.2vw,82px);margin:0}.archive-section__heading>p{font-size:18px;color:#526067}.pair-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 18px}.pair-card{border-top:1px solid var(--ink);padding-top:14px}.pair-card header{display:flex;align-items:baseline;gap:15px;margin-bottom:14px}.pair-card header span{font:italic 18px Georgia,serif;color:var(--red)}.pair-card h3{font-size:20px;margin:0}.pair-card__images{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--ink)}.pair-card__images button,.sequence-card{appearance:none;border:0;padding:0;margin:0;background:#d5d2ca;color:var(--white);position:relative;cursor:zoom-in;overflow:hidden}.pair-card__images img{width:100%;height:clamp(150px,15vw,240px);object-fit:contain;transition:transform .35s}.pair-card__images button:hover img,.sequence-card:hover img{transform:scale(1.02)}.pair-card__images button span,.sequence-card span{position:absolute;left:8px;bottom:8px;background:rgba(23,38,45,.86);padding:5px 8px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:1px}.trade-library{margin-top:130px;border-top:1px solid rgba(255,255,255,.24);padding-top:80px}.trade-library__intro{display:grid;grid-template-columns:.75fr 1fr;gap:20px 60px;max-width:1100px;margin-bottom:55px}.trade-library__intro .eyebrow{grid-column:1/-1;margin-bottom:0}.trade-library__intro h3{font-size:clamp(32px,4vw,58px);line-height:1;letter-spacing:-.045em;margin:0}.trade-library__intro>p:last-child{color:rgba(255,255,255,.67);font-size:18px}.trade-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:12px}.trade-tabs button{flex:0 0 auto;border:1px solid rgba(255,255,255,.34);background:transparent;color:var(--white);padding:13px 16px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;cursor:pointer}.trade-tabs button span{margin-left:12px;color:var(--blue)}.trade-tabs button[aria-selected="true"]{background:var(--blue);border-color:var(--blue);color:var(--ink)}.trade-tabs button[aria-selected="true"] span{color:var(--ink)}.trade-panels{margin-top:25px}.sequence-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,24vw);gap:10px;overflow-x:auto;padding-bottom:20px;scroll-snap-type:x proximity}.sequence-card{height:270px;scroll-snap-align:start;background:#101d22}.sequence-card img{width:100%;height:100%;object-fit:contain;transition:transform .35s}.lightbox{width:min(94vw,1400px);max-height:94vh;border:0;padding:0;background:#111b20;color:var(--white);box-shadow:0 30px 90px rgba(0,0,0,.5)}.lightbox::backdrop{background:rgba(6,12,15,.86);backdrop-filter:blur(5px)}.lightbox img{width:100%;height:min(82vh,950px);object-fit:contain}.lightbox p{margin:0;padding:14px 60px 17px 20px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1.4px}.lightbox__close{position:absolute;z-index:2;right:12px;top:12px;width:44px;height:44px;border:0;border-radius:50%;background:var(--white);color:var(--ink);font-size:28px;line-height:1;cursor:pointer}.gallery-item img{object-position:50% 50%}
@media(max-width:1000px){.pair-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-section__heading{grid-template-columns:1fr}.trade-library__intro{grid-template-columns:1fr}.sequence-grid{grid-auto-columns:minmax(220px,45vw)}}
@media(max-width:600px){.pair-grid{grid-template-columns:1fr}.pair-card__images img{height:54vw}.sequence-grid{grid-auto-columns:78vw}.sequence-card{height:66vw}.trade-library{margin-top:90px;padding-top:60px}}
.lightbox__nav{position:absolute;z-index:3;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:52px;height:64px;border:1px solid rgba(255,255,255,.46);background:rgba(17,27,32,.78);color:var(--white);font-size:30px;line-height:1;cursor:pointer;backdrop-filter:blur(4px)}
.lightbox__nav:hover,.lightbox__nav:focus-visible{background:var(--white);color:var(--ink)}
.lightbox__nav[hidden]{display:none}
.lightbox__prev{left:14px}
.lightbox__next{right:14px}
@media(max-width:600px){.lightbox__nav{width:44px;height:54px}.lightbox__prev{left:6px}.lightbox__next{right:6px}}