:root{
  --ink:#101317;
  --muted:#6d737b;
  --paper:#f4f3ef;
  --white:#fff;
  --accent:#d7ff3f;
  --line:rgba(16,19,23,.13);
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}
.header{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(244,243,239,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}
.logo-image{display:flex;align-items:center;width:154px;height:54px}
.logo-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}
.footer-logo{width:145px;height:58px;filter:brightness(0) invert(1);opacity:.95}
.nav{display:flex;gap:26px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.nav a{padding:8px 0;opacity:.65;border-bottom:2px solid transparent}
.nav a:hover,.nav a.active{opacity:1;border-color:var(--ink)}
.hero{min-height:680px;background:#11181d url("https://bodor.com/fr/fiber-laser-cutting-machine/tube-laser-cutting-machines/tube/img/Banner/0.webp") center/cover no-repeat;position:relative;color:white;display:flex;align-items:flex-end;overflow:hidden}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,10,12,.94) 0%,rgba(7,10,12,.68) 45%,rgba(7,10,12,.18) 100%)}
.hero-content{position:relative;z-index:2;padding:0 7vw 92px;max-width:800px}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px}
.eyebrow.dark{color:#697078}
.hero h1,.page-hero h1{font-size:clamp(52px,7vw,94px);line-height:.94;letter-spacing:-.055em;margin:0 0 28px}
.hero h1 em,.page-hero h1 em{font-style:normal;color:var(--accent)}
.hero-text{font-size:18px;max-width:600px;color:#d7d9db;margin-bottom:34px}
.hero-line{position:absolute;bottom:0;left:7vw;right:7vw;height:1px;background:rgba(255,255,255,.3)}
.btn{display:inline-flex;align-items:center;gap:28px;padding:15px 18px;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.btn span{font-size:20px;line-height:0}
.btn-primary{background:var(--accent);color:white}
.btn-dark{background:#22292d;color:white}
.intro{max-width:var(--max);margin:0 auto;padding:115px 32px 70px;display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end}
.intro h2,.section-heading h2,.detail-copy h2,.cta h2{font-size:clamp(38px,5vw,64px);line-height:.98;letter-spacing:-.05em;margin:0}
.intro-text{color:var(--muted);font-size:17px;max-width:460px;margin:0}
.cards{max-width:var(--max);margin:0 auto;padding:0 32px 120px;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.card{min-height:390px;background:white;border:1px solid var(--line);position:relative;overflow:hidden;transition:.3s transform,.3s box-shadow;display:flex;align-items:flex-end}
.card:hover{transform:translateY(-5px);box-shadow:0 20px 45px rgba(0,0,0,.1)}
.card-featured{background:#11181d;color:white}
.card:before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-100px;top:-100px;background:var(--accent);opacity:.95;transition:.4s}
.card-featured:before{background:rgba(237,27,47,.16)}
.card:hover:before{transform:scale(1.15)}
.card-number{position:absolute;top:26px;left:28px;font-size:12px;font-weight:900;letter-spacing:.1em;opacity:.55}
.card-content{position:relative;padding:32px;max-width:520px}
.card-tag{font-size:10px;font-weight:900;letter-spacing:.14em}
.card h3{font-size:46px;line-height:.95;letter-spacing:-.045em;margin:20px 0 20px}
.card p{max-width:440px;color:#7a8087;margin-bottom:28px}
.card-featured p{color:#bdc2c6}
.card-link{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.card-link b{font-size:18px;margin-left:8px}
.cta{background:#ed1b2f; color:white;padding:90px max(32px,7vw);display:flex;justify-content:space-between;align-items:end;gap:40px}
.footer{background:#101317;color:white;padding:42px 5vw;display:flex;gap:30px;align-items:center;justify-content:space-between;font-size:12px;color:#9ba1a7}
.footer .logo{color:white}
.footer p{margin:0}
.page-hero{min-height:440px;background:#11181d;color:white;padding:110px max(32px,7vw) 80px;display:flex;align-items:end}
.page-hero>div{max-width:850px}
.page-hero p:not(.eyebrow){font-size:18px;color:#c6cbd0;max-width:700px}
.page-hero.simple{min-height:420px}
.back{display:inline-block;margin-bottom:50px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#aeb5bb}
.machine-visual{max-width:1240px;margin:-40px auto 0;padding:0 32px;position:relative;z-index:3}
.machine-visual img{width:100%;display:block;background:#111}
.image-caption{font-size:11px;color:#777;padding:10px 0}
.spec-section,.video-section{max-width:1240px;margin:0 auto;padding:110px 32px}
.section-heading{margin-bottom:55px}
.spec-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.spec{padding:30px 18px;border-right:1px solid var(--line)}
.spec:last-child{border-right:0}
.spec-value{display:block;font-size:40px;font-weight:900;letter-spacing:-.06em;line-height:1}
.spec-value small{font-size:18px;letter-spacing:0}
.spec-label{display:block;color:#737981;font-size:12px;margin-top:15px;line-height:1.3}
.detail-two{max-width:1240px;margin:0 auto;padding:40px 32px 120px;display:grid;grid-template-columns:1.1fr .9fr;gap:100px}
.detail-copy>p:not(.eyebrow){color:#656c73;font-size:17px;max-width:650px}
.mini-list{margin-top:40px;border-top:1px solid var(--line)}
.mini-list div{padding:17px 0;border-bottom:1px solid var(--line);font-weight:700}
.mini-list span{font-size:11px;color:#8a9097;margin-right:20px}
.quote-box{background:#11181d;color:white;padding:55px;align-self:center}
.quote-mark{font-size:65px;color:#ed1b2f;line-height:.5}
.quote-box p{font-size:25px;line-height:1.15;letter-spacing:-.02em}
.video-frame{aspect-ratio:16/9;background:#0d0f10;box-shadow:0 20px 60px rgba(0,0,0,.12)}
.video-frame iframe{width:100%;height:100%;border:0}
.video-note{font-size:12px;color:#777;margin-top:14px}
.coming{max-width:900px;margin:0 auto;padding:130px 32px 150px;text-align:center}
.coming>span{font-size:11px;font-weight:900;letter-spacing:.15em;background:var(--accent);padding:8px 12px}
.coming h2{font-size:clamp(42px,6vw,72px);line-height:.95;letter-spacing:-.055em;margin:30px 0}
.coming p{color:#6e747a;max-width:620px;margin:0 auto 35px;font-size:17px}
@media(max-width:850px){
  .header{height:auto;padding:18px 22px;align-items:flex-start;gap:18px;flex-direction:column}
  .nav{gap:14px;overflow:auto;width:100%;padding-bottom:3px;white-space:nowrap}
  .hero{min-height:620px}
  .hero-content{padding:0 25px 65px}
  .intro,.detail-two{grid-template-columns:1fr;gap:35px;padding-left:25px;padding-right:25px}
  .cards{grid-template-columns:1fr;padding:0 25px 80px}
  .cta{padding:65px 25px;flex-direction:column;align-items:flex-start}
  .footer{flex-direction:column;align-items:flex-start}
  .machine-visual{padding:0 15px}
  .spec-section,.video-section{padding:75px 25px}
  .spec-grid{grid-template-columns:repeat(2,1fr)}
  .spec:nth-child(2){border-right:0}
  .spec:nth-child(3){border-top:1px solid var(--line)}
  .spec:nth-child(4){border-top:1px solid var(--line);border-right:0}
  .spec:nth-child(5){border-top:1px solid var(--line);grid-column:1/-1}
  .page-hero{padding:80px 25px 65px}
  .quote-box{padding:35px}
}

.logo-image img{object-fit:contain}
.cta .eyebrow{color:rgba(255,255,255,.72)}
.cta strong{color:white}

/* --- SITOS V2 : identité visuelle et contenus réels --- */
.logo-image{width:220px;height:70px}
.hero-logo{position:absolute;z-index:2;top:72px;left:7vw;width:min(390px,36vw);height:auto;filter:drop-shadow(0 10px 20px rgba(0,0,0,.25))}
.real-photo img{max-height:720px;object-fit:cover;object-position:center}
.tole-hero{background:linear-gradient(90deg,rgba(10,13,15,.92),rgba(10,13,15,.45)),url("machine-haco.jpg") center/cover no-repeat}
.para-hero{background:linear-gradient(90deg,rgba(10,13,15,.94),rgba(10,13,15,.5)),url("atelier.jpg") center/cover no-repeat}
.entreprise-hero{background:linear-gradient(90deg,rgba(10,13,15,.92),rgba(10,13,15,.35)),url("atelier.jpg") center/cover no-repeat}
.spec-grid.three{grid-template-columns:repeat(3,1fr)}
.photo-wide{position:relative;max-width:1240px;margin:0 auto 110px;min-height:530px;overflow:hidden}
.photo-wide img{width:100%;height:530px;object-fit:cover;display:block}
.photo-wide>div{position:absolute;left:0;bottom:0;color:white;background:linear-gradient(transparent,rgba(0,0,0,.75));width:100%;padding:140px 42px 42px}
.photo-wide h2{font-size:clamp(34px,4.5vw,58px);line-height:.98;letter-spacing:-.05em;margin:0}
.company-intro{max-width:1240px;margin:0 auto;padding:115px 32px 80px;display:grid;grid-template-columns:1.1fr .9fr;gap:90px}
.company-text{color:#656c73;font-size:17px;max-width:620px}
.photo-grid{max-width:1240px;margin:0 auto;padding:0 32px 120px;display:grid;grid-template-columns:1.35fr .65fr;gap:18px}
.photo-card{position:relative;height:480px;overflow:hidden;background:#222}
.photo-card.large{height:620px}
.photo-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.photo-card:hover img{transform:scale(1.03)}
.photo-overlay{position:absolute;left:0;right:0;bottom:0;color:white;padding:130px 34px 34px;background:linear-gradient(transparent,rgba(0,0,0,.78))}
.photo-overlay span{font-size:11px;font-weight:900;letter-spacing:.1em}.photo-overlay h3{font-size:34px;margin:8px 0 3px;letter-spacing:-.04em}.photo-overlay p{margin:0;font-size:12px;color:#ddd}
.values{max-width:1240px;margin:0 auto;padding:0 32px 110px}.value-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.value-grid>div{padding:28px 22px 10px 0;border-right:1px solid var(--line);margin-right:22px}.value-grid>div:last-child{border-right:0;margin-right:0}.value-grid span{font-size:11px;color:#999}.value-grid h3{font-size:24px;line-height:1.05;margin:30px 0 12px;letter-spacing:-.03em}.value-grid p{color:#71777d;font-size:14px}
.markets{background:#e9e9e7;padding:75px max(32px,7vw) 85px}.market-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.market-list span{border:1px solid #b8b9b7;padding:14px 18px;font-weight:800;background:#f7f7f6}
.footer-logo{width:180px;height:65px}
@media(max-width:850px){.logo-image{width:185px;height:58px}.hero-logo{top:75px;left:25px;width:260px;max-width:65vw}.spec-grid.three{grid-template-columns:1fr}.photo-wide{margin:0 25px 75px}.photo-wide img{height:430px}.photo-wide>div{padding:130px 30px 30px}.company-intro{grid-template-columns:1fr;gap:35px;padding:75px 25px 60px}.photo-grid{grid-template-columns:1fr;padding:0 25px 75px}.photo-card,.photo-card.large{height:430px}.values{padding:0 25px 75px}.value-grid{grid-template-columns:1fr 1fr}.value-grid>div{border-bottom:1px solid var(--line);padding-bottom:22px}}

.video-fallback{padding:14px 16px;background:#22292d;color:#d5d8da;font-size:12px}.video-fallback a{color:#fff;font-weight:800;text-decoration:underline}

/* Vidéo de fond de la page d'accueil */
.hero-with-video{isolation:isolate;background:#11181d}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(100%);z-index:0}
.hero-with-video .hero-overlay{z-index:1;background:linear-gradient(90deg,rgba(7,10,12,.78) 0%,rgba(7,10,12,.48) 45%,rgba(7,10,12,.12) 100%)}
.hero-with-video .hero-logo{left:auto;right:7vw;top:36px;width:min(320px,30vw);z-index:3}
.hero-with-video .hero-line{z-index:2}
.hero-video-toggle{position:absolute;right:24px;bottom:20px;z-index:3;background:rgba(0,0,0,.65);color:#fff;border:1px solid rgba(255,255,255,.55);padding:9px 13px;font:inherit;font-size:12px;cursor:pointer}
.hero-video-toggle:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(max-width:850px){.hero-with-video .hero-logo{left:auto;right:25px;top:26px;width:190px;max-width:48vw}}
/* Accroche agrandie et mise en valeur successive des capacités */
.hero-with-video .hero-content{padding-top:165px;max-width:920px}
.hero-with-video .hero-text{font-size:clamp(22px,2.1vw,29px);line-height:1.65;max-width:740px;color:#f1f2f3;text-shadow:0 2px 14px rgba(0,0,0,.6)}
.hero-with-video .hero-text strong{display:inline-block;white-space:nowrap;font-weight:900;font-size:1.18em;color:#fff;transform-origin:center;animation:capacity-emphasis 5.4s ease-in-out 3;will-change:transform}
.hero-with-video .hero-text strong:nth-of-type(2){animation-delay:.6s}
.hero-with-video .hero-text strong:nth-of-type(3){animation-delay:1.2s}
@keyframes capacity-emphasis{0%,8%,38%,100%{transform:scale(1)}20%{transform:scale(1.14);text-shadow:0 0 22px rgba(255,255,255,.45)}}
@media(max-width:850px){.hero-with-video .hero-content{padding-top:135px}.hero-with-video .hero-text{font-size:22px;line-height:1.7}}
@media(prefers-reduced-motion:reduce){.hero-with-video .hero-text strong{animation:none;will-change:auto}}
/* Bandeau photo : même traitement visuel que l'accueil */
.tube-photo-hero{position:relative;isolation:isolate;overflow:hidden;min-height:680px;padding-top:180px}
.tube-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(100%);z-index:0}
.tube-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,10,12,.78) 0%,rgba(7,10,12,.48) 45%,rgba(7,10,12,.12) 100%)}
.tube-photo-hero>div{position:relative;z-index:2}
.tube-photo-hero .hero-logo{left:auto;right:7vw;top:36px;width:min(320px,30vw);z-index:3}
.tube-photo-hero p:not(.eyebrow){font-size:clamp(22px,2.1vw,29px);line-height:1.65;color:#f1f2f3;text-shadow:0 2px 14px rgba(0,0,0,.6)}
@media(max-width:850px){.tube-photo-hero{min-height:620px;padding-top:155px}.tube-photo-hero .hero-logo{left:auto;right:25px;top:26px;width:190px;max-width:48vw}.tube-photo-hero p:not(.eyebrow){font-size:22px}}
/* Montage des rotations du tube, sous le bandeau */
.tube-montage{max-width:1240px;margin:0 auto;padding:32px 32px 0}
.tube-montage video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#101317;box-shadow:0 16px 44px rgba(0,0,0,.12)}
.tube-montage figcaption{padding-top:12px;font-size:12px;color:#6d737b}
@media(max-width:850px){.tube-montage{padding:25px 25px 0}}
/* Photos et prestations de parachèvement */
.finishing-hero{position:relative;isolation:isolate;overflow:hidden;background:#11181d;min-height:680px;padding-top:180px}
.finishing-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(100%);z-index:0}
.finishing-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,10,12,.84),rgba(7,10,12,.52) 55%,rgba(7,10,12,.18))}
.finishing-hero>div{position:relative;z-index:2;min-width:0}
.finishing-hero h1{font-size:clamp(40px,6vw,82px);overflow-wrap:break-word}
.finishing-hero .hero-logo{left:auto;right:7vw;top:36px;width:min(320px,30vw);z-index:3}
.finishing-hero p:not(.eyebrow){font-size:clamp(22px,2.1vw,29px);line-height:1.6;color:#f1f2f3}
.finishing-services{max-width:1240px;margin:0 auto;padding:0 32px 110px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.finishing-services article{background:#fff;padding:32px;border:1px solid var(--line)}
.finishing-services article>span{font-size:11px;font-weight:800;letter-spacing:.1em;color:#6d737b}
.finishing-services h3{font-size:36px;letter-spacing:-.04em;margin:30px 0 16px}
.finishing-services p{color:#656c73;margin:0}
.finishing-workshop{max-width:1240px;margin:0 auto;padding:0 32px 110px}
.finishing-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.finishing-gallery figure{margin:0;background:#fff;border:1px solid var(--line);min-width:0}
.finishing-gallery figure:first-child{grid-column:1/-1}
.finishing-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.finishing-gallery figure:first-child img{aspect-ratio:16/9}
.finishing-gallery figcaption{padding:24px 28px}
.finishing-gallery figcaption span{font-size:11px;letter-spacing:.12em;font-weight:800;color:#6d737b}
.finishing-gallery h3{font-size:28px;letter-spacing:-.03em;margin:8px 0}
.finishing-gallery p{color:#656c73;margin:0}
.finishing-workshop+.cta>div>p:last-child{max-width:620px}
@media(max-width:850px){.finishing-hero{padding-top:155px;min-height:620px}.finishing-hero .hero-logo{right:25px;top:26px;width:190px;max-width:48vw}.finishing-services{grid-template-columns:1fr;padding:0 25px 75px}.finishing-workshop{padding:0 25px 75px}.finishing-gallery{grid-template-columns:1fr}.finishing-gallery figure:first-child{grid-column:auto}.finishing-gallery figure:first-child img{aspect-ratio:4/3}.finishing-hero p:not(.eyebrow){font-size:22px}}
/* Photo de la carte 01 : découpe laser tube */
.card.card-featured{background:#11181d;color:#fff;isolation:isolate}
.card.card-featured:after{content:"";position:absolute;inset:0;z-index:-2;background:url("accueil-laser-tube.png") center center/cover no-repeat;filter:brightness(1.2) contrast(1.08)}
.card.card-featured:before{display:block;position:absolute;inset:0;width:auto;height:auto;border-radius:0;z-index:-1;opacity:1;background:linear-gradient(90deg,rgba(7,10,12,.72) 0%,rgba(7,10,12,.45) 48%,rgba(7,10,12,.06) 75%),linear-gradient(0deg,rgba(7,10,12,.58),transparent 38%);transition:none}
.card.card-featured:hover:before{transform:none}

.card-featured .card-number{opacity:1;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.card-featured .card-content{text-shadow:0 2px 12px rgba(0,0,0,.55)}
.card-featured p{color:#edf0f2}
/* Illustrations des cartes 02, 03 et 04 de l’accueil */
.card.card-tole,.card.card-parachevement{background:#11181d;color:#fff;isolation:isolate}
.card.card-tole:after,.card.card-parachevement:after{content:"";position:absolute;inset:0;z-index:-2;background-position:center;background-size:cover;background-repeat:no-repeat;filter:brightness(1.1) contrast(1.05)}
.card.card-tole:after{background-image:url("machine-haco.jpg")}
.card.card-parachevement:after{background-image:url("parachevement-pliage.jpg")}
.card.card-tole:before,.card.card-parachevement:before{display:block;position:absolute;inset:0;width:auto;height:auto;border-radius:0;z-index:-1;opacity:1;background:linear-gradient(90deg,rgba(7,10,12,.76),rgba(7,10,12,.4) 55%,rgba(7,10,12,.12)),linear-gradient(0deg,rgba(7,10,12,.65),transparent 65%);transition:none}
.card.card-tole:hover:before,.card.card-parachevement:hover:before{transform:none}
.card-tole .card-number,.card-parachevement .card-number{opacity:1;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.card-tole .card-content,.card-parachevement .card-content{text-shadow:0 2px 12px rgba(0,0,0,.55)}
.card-tole p,.card-parachevement p{color:#edf0f2}
.card.card-entreprise{background:#fff url("logo-sitos-transparent.png") right 28px top 30px / auto 145px no-repeat}
.card.card-entreprise:before{display:none}
.card-entreprise .card-content{padding-top:190px}
@media(max-width:480px){.card.card-entreprise{background-position:right 20px top 35px;background-size:75% auto}}
/* Rouge prélevé sur le logo SITOS, limité au bandeau d’accueil */
.hero.hero-with-video{--accent:#e01f2f}
/* Rouge du logo dans les bandeaux de toutes les pages */
.hero,.page-hero{--accent:#e01f2f}
.video-frame .tube-workshop-video{display:block;width:100%;height:100%;object-fit:contain;background:#0d0f10}

/* Page Contact / Devis */
.contact-hero{background:linear-gradient(90deg,rgba(7,10,12,.9),rgba(7,10,12,.5)),url("atelier.jpg") center/cover no-repeat}
.contact-layout{max-width:1240px;margin:0 auto;padding:80px 32px 110px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:32px;align-items:start}
.contact-info{display:grid;gap:24px}.contact-panel,.contact-form-panel{background:white;border:1px solid var(--line);padding:32px}
.contact-panel h2{font-size:32px;line-height:1.1;letter-spacing:-.03em;margin:0 0 24px}.contact-panel address{font-style:normal;line-height:1.9;overflow-wrap:anywhere}
.contact-panel address a{text-decoration:underline}.contact-commercial{background:#101317;color:white;border-top:4px solid #e01f2f}
.contact-commercial>p:not(.eyebrow){color:#d7d9db}.contact-phone{display:inline-block;font-size:clamp(22px,2.4vw,30px);font-weight:800;margin:12px 0;white-space:nowrap}
.contact-form-panel h2{font-size:36px;line-height:1.1;letter-spacing:-.04em;margin:0 0 20px}.contact-form-panel>p:not(.eyebrow){color:#6d737b}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}
.contact-fields label,.project-label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:700}
.contact-layout input:not([type=checkbox]),.contact-layout textarea{width:100%;min-width:0;border:1px solid #a9adb1;background:#fafafa;padding:12px;font:inherit;font-weight:400;color:#101317;border-radius:0}
.contact-layout textarea{resize:vertical}.contact-layout input:focus-visible,.contact-layout textarea:focus-visible,.service-dropdown summary:focus-visible{outline:2px solid #e01f2f;outline-offset:3px}
.service-fieldset{padding:0;margin:28px 0;border:0;min-width:0}.service-fieldset legend{font-size:14px;font-weight:700;margin-bottom:8px}
.service-dropdown{border:1px solid #a9adb1;background:#fafafa}.service-dropdown summary{padding:13px;cursor:pointer;font-size:14px}.service-options{display:grid;border-top:1px solid var(--line);padding:12px;gap:8px}.service-options label{display:flex;align-items:center;gap:9px;padding:7px 0;cursor:pointer}.service-options input{width:18px;height:18px;accent-color:#e01f2f;flex-shrink:0}
.contact-small{font-size:12px;line-height:1.6;color:#656c73}.contact-small a{text-decoration:underline}.contact-error{color:#b41927;font-size:13px}.contact-form-panel button{border:0;cursor:pointer;line-height:1.5}.contact-form-panel button:focus-visible{outline:3px solid #e01f2f;outline-offset:4px}
#quote-status{font-size:14px}#quote-fallback{margin-top:24px}
.nav{gap:20px}
@media(max-width:1050px) and (min-width:851px){.header{padding:0 24px}.header .logo-image{width:165px}.nav{gap:12px;font-size:11px}}
@media(max-width:850px){.contact-layout{grid-template-columns:1fr;padding:50px 25px 75px}.contact-panel,.contact-form-panel{padding:24px}.nav{gap:14px}}
@media(max-width:480px){.contact-fields{grid-template-columns:1fr}.contact-form-panel h2{font-size:30px}.contact-form-panel button{font-size:11px;letter-spacing:.04em;gap:14px}}
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-form-panel button:disabled{opacity:.65;cursor:wait}

/* Deux vidéos côte à côte dans le bandeau Découpe tôle */
.tole-video-hero{position:relative;isolation:isolate;overflow:hidden;background:#11181d;min-height:680px;padding-top:180px}
.tole-video-hero>.tole-video-pair{position:absolute;inset:0;display:grid;grid-template-columns:1.6fr 1fr;max-width:none;z-index:0}
.tole-video-pair video{width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;filter:grayscale(100%)}
.tole-video-pair video:first-child{object-position:55% center}.tole-video-pair video:last-child{object-position:center}
.tole-video-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,10,12,.78),rgba(7,10,12,.46) 50%,rgba(7,10,12,.13))}
.tole-video-hero>div:not(.tole-video-pair){position:relative;z-index:2}
.tole-video-hero .hero-logo{left:auto;right:7vw;top:36px;width:min(320px,30vw);z-index:3}
.tole-video-hero p:not(.eyebrow){font-size:clamp(22px,2.1vw,29px);line-height:1.6;color:#f1f2f3}
@media(max-width:850px){.tole-video-hero{min-height:620px;padding-top:155px}.tole-video-hero .hero-logo{right:25px;top:26px;width:190px;max-width:48vw}.tole-video-hero>.tole-video-pair{grid-template-columns:1fr 1fr}.tole-video-hero p:not(.eyebrow){font-size:22px}}
/* Dégager la tête de découpe dans le bandeau tôle */
.tole-video-hero h1{font-size:clamp(40px,4.5vw,62px);line-height:1;max-width:530px;margin-bottom:20px}
.tole-video-hero>div:not(.tole-video-pair){max-width:650px}
.tole-video-hero .back{margin-bottom:24px}
.tole-video-hero p:not(.eyebrow){font-size:clamp(18px,1.6vw,22px);line-height:1.5;max-width:580px}
@media(max-width:850px){.tole-video-hero h1{font-size:clamp(38px,7vw,52px)}.tole-video-hero p:not(.eyebrow){font-size:18px}}
/* Logo blanc sur la vidéo du bandeau tôle */
.tole-video-hero .hero-logo{filter:url("#sitos-red-white") drop-shadow(0 3px 12px rgba(0,0,0,.45))}

/* Logo bicolore commun à tous les bandeaux */
.hero .hero-logo,.page-hero .hero-logo{filter:url("#sitos-red-white") drop-shadow(0 3px 12px rgba(0,0,0,.45))}
.entreprise-hero,.contact-hero{position:relative;isolation:isolate;padding-top:180px}
.entreprise-hero .hero-logo,.contact-hero .hero-logo{left:auto;right:7vw;top:36px;width:min(320px,30vw);z-index:3}
@media(max-width:850px){.entreprise-hero,.contact-hero{padding-top:155px}.entreprise-hero .hero-logo,.contact-hero .hero-logo{left:auto;right:25px;top:26px;width:190px;max-width:48vw}}
/* Logo transparent rouge et blanc dans les pieds de page */
.footer .footer-logo{filter:url("#sitos-red-white");opacity:1}

/* Logo du pied de page agrandi x2 */
.footer .footer-logo{width:360px;height:130px;max-width:100%;flex-shrink:0}

/* Logo agrandi sans augmenter la hauteur du pied de page */
.footer .footer-logo{width:360px;height:65px;max-width:100%;position:relative;overflow:visible}
.footer .footer-logo img{height:130px;width:100%;position:absolute;left:0;top:50%;transform:translateY(-50%);object-fit:contain}
@media(max-width:850px){.footer{gap:30px}.footer .footer-logo{margin-bottom:12px}}
/* Vignettes de production à droite du texte de la page tôle */
.tole-production{gap:48px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start}
.tole-thumbnails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-self:start}
.tole-thumbnails a{display:block;overflow:hidden;background:#e6e6e3;aspect-ratio:4/3;border:1px solid var(--line)}
.tole-thumbnails img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.tole-thumbnails a:hover img{transform:scale(1.04)}
.tole-thumbnails a:focus-visible{outline:3px solid #e01f2f;outline-offset:4px}
.tole-thumbnails .tole-thumbnail-storage img{object-position:center 60%}
@media(max-width:850px){.tole-production{grid-template-columns:1fr;gap:32px}}
@media(prefers-reduced-motion:reduce){.tole-thumbnails img{transition:none}.tole-thumbnails a:hover img{transform:none}}
/* Photos tôle plus grandes, en colonne, avec zoom au survol */
.tole-thumbnails{grid-template-columns:minmax(0,1fr);gap:22px}
.tole-thumbnails a{aspect-ratio:4/3}
.tole-thumbnails .tole-thumbnail-storage{aspect-ratio:3/4}
.tole-thumbnails img{transition:transform .5s ease}
.tole-thumbnails a:hover img,.tole-thumbnails a:focus-visible img{transform:scale(1.12)}
@media(prefers-reduced-motion:reduce){.tole-thumbnails img{transition:none}.tole-thumbnails a:hover img,.tole-thumbnails a:focus-visible img{transform:none}}
/* Légende de la tour de stockage */
.tole-storage-figure{margin:0;min-width:0}
.tole-storage-figure figcaption{padding:14px 4px 4px;font-size:13px;line-height:1.6;color:#656c73}
.tole-storage-figure figcaption strong{display:inline-block;margin-bottom:4px;color:#101317;font-size:14px}
/* Photo des fortes épaisseurs sous le texte, avec repère sur la tranche */
.tole-thickness-figure{margin:32px 0 0}
.tole-thickness-image{position:relative}
.tole-thickness-image>a{display:block;overflow:hidden;aspect-ratio:4/3}
.tole-thickness-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.tole-thickness-image>a:hover img{transform:scale(1.06)}
.tole-thickness-image>a:focus-visible{outline:3px solid #e01f2f;outline-offset:4px}
.tole-thickness-label{position:absolute;right:22%;bottom:13%;display:flex;flex-direction:column;padding:8px 11px;background:rgba(16,19,23,.9);border-left:3px solid #e01f2f;color:white;pointer-events:none;line-height:1.3;box-shadow:0 3px 14px rgba(0,0,0,.22)}
.tole-thickness-label:after{content:"";position:absolute;left:100%;top:50%;width:30px;height:2px;background:#e01f2f}
.tole-thickness-label strong{font-size:22px}.tole-thickness-label>span{font-size:11px}
.tole-thickness-figure figcaption{font-size:12px;line-height:1.5;color:#656c73;margin-top:12px}
@media(prefers-reduced-motion:reduce){.tole-thickness-image img{transition:none}.tole-thickness-image>a:hover img{transform:none}}
.tole-thickness-label{bottom:6%}

/* Bloc de photos sous le texte, sans légende intermédiaire */
.tole-pallet-figure{margin:22px 0 0}
.tole-pallet-figure a{display:block;overflow:hidden;aspect-ratio:4/3}
.tole-pallet-figure img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.tole-pallet-figure a:hover img{transform:scale(1.12)}
.tole-pallet-figure a:focus-visible{outline:3px solid #e01f2f;outline-offset:4px}
.tole-production{padding-bottom:50px}
@media(prefers-reduced-motion:reduce){.tole-pallet-figure img{transition:none}.tole-pallet-figure a:hover img{transform:none}}
/* Aligner le bas des deux colonnes de photos sur la page tôle */
.tole-production .tole-thumbnails{align-self:end}
@media(max-width:850px){.tole-production .tole-thumbnails{align-self:start}}
/* Carte Google Maps sous les coordonnées du commercial */
.contact-map{background:#fff;border:1px solid var(--line);min-width:0}
.contact-map-heading{padding:26px 26px 18px}
.contact-map-heading h2{font-size:26px;letter-spacing:-.03em;line-height:1.15;margin:0 0 14px}
.contact-map-heading p:last-child{font-size:14px;color:#656c73;margin:0}
.contact-map-preview{position:relative;height:320px;background:#e7e7e3}
.contact-map-preview iframe{display:block;width:100%;height:100%;border:0;pointer-events:none}
.contact-map-link{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:16px}
.contact-map-link span{padding:12px 16px;background:#101317;color:#fff;font-size:13px;font-weight:800;box-shadow:0 3px 14px rgba(0,0,0,.2)}
.contact-map-link:hover span{background:#b71a28}
.contact-map-link:focus-visible{outline:3px solid #e01f2f;outline-offset:3px}
/* Repère SITOS superposé à la carte centrée sur le site */
.contact-map-sitos-marker{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);width:100px;height:57px;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #e01f2f;border-radius:7px;padding:7px;box-shadow:0 3px 12px rgba(0,0,0,.3);pointer-events:none}
.contact-map-sitos-marker:after{content:"";position:absolute;left:50%;top:100%;margin-left:-7px;border-left:7px solid transparent;border-right:7px solid transparent;border-top:10px solid #e01f2f}
.contact-map-sitos-marker img{display:block;width:100%;height:100%;object-fit:contain}