/* SWITCH / Portfolio editorial. Styles scoped : la galerie /cases/ ne change pas. */
.switch-pf{--sp-red:#c72908;--sp-ink:#11100f;--sp-paper:#f7f5f1;--sp-cream:#ece7e0;--sp-line:#d8d0c7;--sp-muted:#574f49;width:100%;max-width:none;background:var(--sp-paper);color:var(--sp-ink);font:16px/1.57 "Cera GR","CeraGR","Avenir Next",Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
.switch-pf *,.switch-pf *::before,.switch-pf *::after{box-sizing:border-box}
.switch-pf img{display:block;max-width:100%;height:auto}.switch-pf a{color:inherit;text-decoration:none}.switch-pf a:hover{color:inherit}.switch-pf a:focus-visible{outline:3px solid var(--sp-red);outline-offset:4px}
.switch-pf h1,.switch-pf h2,.switch-pf h3,.switch-pf p,.switch-pf figure{margin:0}.switch-pf h1,.switch-pf h2{overflow-wrap:normal;hyphens:none}
.switch-pf .sp-wrap{width:min(1200px,calc(100% - 72px));margin-inline:auto}
.switch-pf .sp-display{font:900 clamp(50px,6.25vw,98px)/.98 Impact,"Arial Narrow","Helvetica Neue Condensed",Arial,sans-serif;letter-spacing:-.026em;text-transform:uppercase;text-wrap:balance}
.switch-pf .sp-ink-red{color:var(--sp-red)}
.switch-pf .sp-label{display:flex;align-items:center;gap:10px;color:var(--sp-red);font-size:11px;font-weight:900;letter-spacing:.135em;text-transform:uppercase;line-height:1.5}
.switch-pf .sp-label:before{content:"";display:inline-block;flex:none;width:21px;height:2px;background:currentColor}.switch-pf .sp-label-light{color:#ff9a7b}
.switch-pf .sp-menu-reserve{height:148px;background:var(--sp-ink)}.switch-pf [id]{scroll-margin-top:150px}
.switch-pf .sp-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-top:24px;padding-bottom:23px;font-size:10px;font-weight:900;letter-spacing:.12em;color:#675e57;text-transform:uppercase}.switch-pf .sp-breadcrumbs a:hover{color:var(--sp-red)}.switch-pf .sp-breadcrumbs>span:last-child{color:var(--sp-red)}
.switch-pf .sp-hero{display:grid;grid-template-columns:53% 47%;min-height:690px;border-top:1px solid var(--sp-line)}.switch-pf .sp-hero-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:65px 43px 84px max(36px,calc((100vw - 1200px)/2))}.switch-pf .sp-h1{font-size:clamp(53px,5.5vw,87px);margin:21px 0 26px;max-width:710px}.switch-pf .sp-h1 span{display:block;overflow-wrap:break-word}.switch-pf .sp-lead{font-size:19px;line-height:1.47;max-width:560px;color:#3c3530}.switch-pf .sp-hero-links{display:flex;align-items:center;flex-wrap:wrap;gap:26px;margin-top:30px}
.switch-pf .sp-button{display:inline-flex;align-items:center;justify-content:space-between;gap:21px;padding:15px 21px;background:var(--sp-red);color:#fff!important;font-size:12px;letter-spacing:.025em;font-weight:900;min-height:54px}.switch-pf .sp-button:hover{background:#991f0b}.switch-pf .sp-button span{font-size:20px}.switch-pf .sp-inline-link{border-bottom:2px solid var(--sp-red);font-size:11px;font-weight:900;padding-bottom:5px;letter-spacing:.04em}.switch-pf .sp-inline-link span{color:var(--sp-red)}
.switch-pf .sp-hero-media{min-height:690px;position:relative;overflow:hidden;background:#211b19}.switch-pf .sp-hero-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.switch-pf .sp-hero-media:after{position:absolute;inset:45% 0 0;content:"";pointer-events:none;background:linear-gradient(transparent,rgba(0,0,0,.8))}.switch-pf .sp-media-note{position:absolute;bottom:30px;left:34px;right:34px;z-index:1;color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:22px;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.12em}.switch-pf .sp-media-note span:last-child{color:#ffb29b;text-align:right}.switch-pf .sp-no-image{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:55px;color:#fff;background:radial-gradient(circle at 95% 10%,#e45230 0,#ab260c 30%,#211715 78%)}.switch-pf .sp-no-image>span{font-size:12px;letter-spacing:.12em;font-weight:900}.switch-pf .sp-no-image strong{font:900 clamp(44px,5vw,75px)/1 Impact,Arial,sans-serif;margin:34px 0}.switch-pf .sp-no-image small{font-size:12px;opacity:.75}
.switch-pf .sp-facts{background:var(--sp-cream);border-bottom:1px solid var(--sp-line)}.switch-pf .sp-facts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.switch-pf .sp-fact{min-width:0;border-right:1px solid var(--sp-line);padding:25px 21px 27px}.switch-pf .sp-fact:first-child{padding-left:0}.switch-pf .sp-fact:last-child{border-right:0}.switch-pf .sp-fact>span{display:block;font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--sp-red);margin-bottom:9px}.switch-pf .sp-fact>strong{display:block;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.switch-pf .sp-section{padding:108px 0 116px}.switch-pf .sp-context{background:var(--sp-ink);color:white}.switch-pf .sp-context-grid{display:grid;grid-template-columns:minmax(0,57fr) minmax(0,43fr);gap:65px;align-items:start}.switch-pf .sp-context h2{margin-top:33px;font-size:clamp(55px,6.35vw,99px)}.switch-pf .sp-context h2 em{font-style:normal;color:#ff9c81}.switch-pf .sp-copy{font-size:18px;line-height:1.7;max-width:650px}.switch-pf .sp-context .sp-copy{padding-top:45px;color:#ece2da}.switch-pf .sp-caption-pair{display:flex;gap:36px;flex-wrap:wrap;border-top:1px solid #574842;padding-top:24px;margin-top:35px}.switch-pf .sp-caption-pair div{display:flex;flex-direction:column;gap:8px}.switch-pf .sp-caption-pair span{font-size:10px;font-weight:900;letter-spacing:.13em;color:#ff9875}.switch-pf .sp-caption-pair b{font-size:15px;color:#fff}
.switch-pf .sp-two{display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);gap:55px;align-items:start}.switch-pf .sp-two h2{margin-top:30px;font-size:clamp(48px,5.7vw,88px)}.switch-pf .sp-two .sp-copy{padding-top:51px}.switch-pf .sp-two .sp-copy h3{font-size:14px;letter-spacing:.10em;font-weight:900;margin-bottom:21px}.switch-pf .sp-two .sp-copy p{color:#514943}
.switch-pf .sp-intervention{background:#eae4dc;color:#171311}.switch-pf .sp-intervention .sp-label-light{color:var(--sp-red)}.switch-pf .sp-intervention-head{display:grid;grid-template-columns:57% 43%;align-items:end;gap:25px;margin:23px 0 44px}.switch-pf .sp-intervention h2{font-size:clamp(60px,6.6vw,101px)}.switch-pf .sp-intervention h2 em{font-style:normal;color:var(--sp-red)}.switch-pf .sp-intervention-head>p{font-size:17px;line-height:1.7;max-width:520px;padding-bottom:9px}.switch-pf .sp-mission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#cbc1b7;border:1px solid #cbc1b7}.switch-pf .sp-mission{position:relative;background:var(--sp-paper);min-height:202px;padding:26px 32px 34px;display:flex;flex-direction:column;align-items:flex-start}.switch-pf .sp-mission>span:first-child{color:var(--sp-red);font-size:12px;font-weight:900;letter-spacing:.12em}.switch-pf .sp-mission h3{font-size:clamp(24px,2.65vw,36px);font-weight:900;line-height:1.16;max-width:450px;margin-top:30px;overflow-wrap:anywhere}.switch-pf .sp-mission .sp-mission-arrow{position:absolute;right:27px;top:17px;color:var(--sp-red);font-size:24px}
.switch-pf .sp-gallery-heading h2{margin-top:27px}.switch-pf .sp-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:45px}.switch-pf .sp-gallery-item{aspect-ratio:1.45;overflow:hidden;background:#30251c}.switch-pf .sp-gallery-item:first-child{grid-column:span 2;aspect-ratio:2.1}.switch-pf .sp-gallery-item>a{position:relative;display:block;width:100%;height:100%}.switch-pf .sp-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.switch-pf .sp-gallery-item a:hover img{transform:scale(1.035)}.switch-pf .sp-gallery-item a>span{position:absolute;bottom:16px;right:18px;padding:8px 13px;background:var(--sp-red);color:#fff;font-size:11px;font-weight:900;letter-spacing:.08em}
.switch-pf .sp-outcomes{background:#e8e1d9}.switch-pf .sp-outcome-grid{display:grid;grid-template-columns:minmax(0,56fr) minmax(0,44fr);gap:72px}.switch-pf .sp-outcomes h2{margin:28px 0 30px;font-size:clamp(54px,5.7vw,90px)}.switch-pf .sp-outcomes p{font-size:17px;line-height:1.73;color:#554d48;max-width:680px}.switch-pf .sp-stats{border-top:1px solid #cbbfb6}.switch-pf .sp-stat{padding:21px 0;border-bottom:1px solid #cbbfb6}.switch-pf .sp-stat strong{font:900 clamp(48px,5.8vw,86px)/1 Impact,Arial,sans-serif;letter-spacing:-.03em;color:var(--sp-red);display:block}.switch-pf .sp-stat span{font-weight:900;font-size:12px;line-height:1.5;letter-spacing:.03em;display:block;padding-top:9px}
.switch-pf .sp-original{background:#fff}.switch-pf .sp-original h2{margin:25px 0}.switch-pf .sp-original-body{max-width:900px;line-height:1.8;color:#4d433d}.switch-pf .sp-original-body h2,.switch-pf .sp-original-body h3{font:900 30px/1.15 Impact,Arial,sans-serif;margin:25px 0 13px}.switch-pf .sp-original-body ul{padding-left:22px}.switch-pf .sp-original-body a{text-decoration:underline;color:var(--sp-red)}.switch-pf .sp-original-body .vc_row{margin-left:0!important;margin-right:0!important}
.switch-pf .sp-more{padding-top:86px;padding-bottom:84px}.switch-pf .sp-more-links{border-top:1px solid #cfc7bf;margin-top:22px}.switch-pf .sp-more-links a{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:19px 0;border-bottom:1px solid #cfc7bf;font:900 clamp(25px,3vw,43px)/1.05 Impact,Arial,sans-serif;letter-spacing:-.015em}.switch-pf .sp-more-links a:hover{color:var(--sp-red)}.switch-pf .sp-more-links span{font:400 24px/1 Arial;color:var(--sp-red)}
/* V1.2 | RELATED PORTFOLIO: containment prevents tall WordPress thumbnails from escaping cards. */
.switch-pf .sp-related{background:#ece7e0;position:relative;isolation:isolate}
.switch-pf .sp-related h2{margin-top:25px}
.switch-pf .sp-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:42px 0 34px;align-items:stretch}
.switch-pf .sp-related-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;isolation:isolate;background:#fff;border:0;box-shadow:none;transition:transform .25s ease,box-shadow .25s ease}
.switch-pf .sp-related-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(17,16,15,.12)}
.switch-pf .sp-related-img{position:relative;display:block;flex:none;width:100%;height:auto!important;aspect-ratio:3 / 2;min-width:0;min-height:0;max-height:none;overflow:hidden;padding:0!important;line-height:0;background:linear-gradient(125deg,#12100e,#b22b0d);color:#fff;font-weight:900;letter-spacing:.10em;font-size:14px}
.switch-pf .sp-related-img img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;min-width:0!important;min-height:0!important;object-fit:cover!important;object-position:center;aspect-ratio:auto!important;margin:0!important;padding:0!important;box-shadow:none!important;border:0!important;transform:none!important;transition:transform .35s ease}
.switch-pf .sp-related-card:hover .sp-related-img img{transform:scale(1.035)!important}
.switch-pf .sp-related-img>span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:22px;line-height:1.4;text-align:center}
.switch-pf .sp-related-txt{position:relative;z-index:1;display:flex;flex:1;justify-content:space-between;gap:16px;align-items:center;min-height:92px;padding:22px;background:#fff}
.switch-pf .sp-related-txt strong{display:block;margin:0;min-width:0;max-width:100%;color:#11100f;font-size:19px;font-weight:900;line-height:1.18;overflow-wrap:anywhere;text-transform:uppercase}
.switch-pf .sp-related-txt>span{flex:none;font-size:25px;color:var(--sp-red)}
.switch-pf .sp-all-link{position:relative;display:inline-flex;align-items:center;gap:10px;z-index:1;font-weight:900;font-size:12px;letter-spacing:.08em;border-bottom:2px solid var(--sp-red);padding-bottom:7px;background:transparent}
.switch-pf .sp-all-link span{color:var(--sp-red)}
.switch-pf .sp-cta{background:var(--sp-red);padding:99px 0 109px;color:#fff}.switch-pf .sp-cta-grid{display:grid;grid-template-columns:56% 44%;align-items:end;gap:20px}.switch-pf .sp-cta h2{font-size:clamp(68px,8vw,125px);margin-top:30px}.switch-pf .sp-cta h2 em{color:#ffbca8;font-style:normal}.switch-pf .sp-cta-grid>div:last-child{padding-left:27px}.switch-pf .sp-cta p{font-size:19px;line-height:1.55;max-width:490px;margin-bottom:30px}.switch-pf .sp-cta .sp-button{background:#141110}
@media(max-width:1100px){.switch-pf .sp-hero{grid-template-columns:54% 46%;min-height:590px}.switch-pf .sp-h1{font-size:clamp(43px,5.1vw,68px)}.switch-pf .sp-hero-media{min-height:590px}.switch-pf .sp-hero-copy{padding:47px 32px}.switch-pf .sp-context-grid,.switch-pf .sp-two{gap:33px}}
@media(max-width:850px){.switch-pf .sp-menu-reserve{height:128px}.switch-pf .sp-wrap{width:calc(100% - 52px)}.switch-pf .sp-hero{grid-template-columns:1fr 1fr;min-height:550px}.switch-pf .sp-h1{font-size:clamp(40px,5vw,51px)}.switch-pf .sp-hero-media{min-height:550px}.switch-pf .sp-lead{font-size:16px}.switch-pf .sp-section{padding:78px 0 84px}.switch-pf .sp-context h2,.switch-pf .sp-intervention h2{font-size:clamp(51px,6.5vw,73px)}.switch-pf .sp-two h2{font-size:clamp(46px,6vw,68px)}.switch-pf .sp-outcomes h2{font-size:clamp(47px,6.1vw,67px)}.switch-pf .sp-related-img{aspect-ratio:4 / 3}}
@media(max-width:650px){.switch-pf .sp-menu-reserve{height:100px}.switch-pf .sp-wrap{width:calc(100% - 36px)}.switch-pf .sp-breadcrumbs{padding-top:18px;padding-bottom:18px;gap:8px;font-size:9px}.switch-pf .sp-hero{display:flex;flex-direction:column;min-height:0}.switch-pf .sp-hero-copy{padding:52px 19px 54px}.switch-pf .sp-h1{font-size:clamp(43px,11.1vw,70px);margin-top:20px}.switch-pf .sp-lead{font-size:18px}.switch-pf .sp-hero-links{gap:18px}.switch-pf .sp-hero-media{min-height:420px;height:420px}.switch-pf .sp-media-note{left:20px;right:20px;bottom:20px;font-size:10px}.switch-pf .sp-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.switch-pf .sp-fact{padding:20px 10px 22px;border-bottom:1px solid var(--sp-line)}.switch-pf .sp-fact:nth-child(odd){padding-left:0}.switch-pf .sp-fact:nth-child(even){border-right:0;padding-left:17px}.switch-pf .sp-section{padding:72px 0 78px}.switch-pf .sp-context-grid,.switch-pf .sp-two,.switch-pf .sp-intervention-head,.switch-pf .sp-outcome-grid{grid-template-columns:1fr;gap:20px}.switch-pf .sp-context h2{font-size:clamp(47px,12vw,68px);margin-top:20px}.switch-pf .sp-context .sp-copy,.switch-pf .sp-two .sp-copy{padding-top:0}.switch-pf .sp-copy{font-size:16px}.switch-pf .sp-two h2{font-size:clamp(45px,11vw,62px);margin-top:20px}.switch-pf .sp-intervention h2{font-size:clamp(52px,12vw,71px)}.switch-pf .sp-intervention-head{margin-bottom:28px}.switch-pf .sp-intervention-head>p{font-size:16px}.switch-pf .sp-mission-grid{grid-template-columns:1fr}.switch-pf .sp-mission{min-height:164px;padding:23px 25px 25px}.switch-pf .sp-mission h3{font-size:29px;margin-top:20px}.switch-pf .sp-gallery-heading h2,.switch-pf .sp-outcomes h2{font-size:clamp(47px,11.8vw,65px)}.switch-pf .sp-gallery-grid{grid-template-columns:1fr;margin-top:27px}.switch-pf .sp-gallery-item,.switch-pf .sp-gallery-item:first-child{grid-column:auto;aspect-ratio:1.25}.switch-pf .sp-outcomes p{font-size:16px}.switch-pf .sp-stat strong{font-size:68px}.switch-pf .sp-more{padding-top:65px;padding-bottom:68px}.switch-pf .sp-more-links a{font-size:29px}.switch-pf .sp-related h2{font-size:clamp(48px,12vw,68px)}.switch-pf .sp-related-grid{grid-template-columns:1fr;gap:14px;margin:30px 0}.switch-pf .sp-related-img{aspect-ratio:3 / 2}.switch-pf .sp-cta{padding:72px 0 82px}.switch-pf .sp-cta-grid{grid-template-columns:1fr;gap:30px}.switch-pf .sp-cta h2{font-size:clamp(70px,18vw,95px);margin-top:20px}.switch-pf .sp-cta-grid>div:last-child{padding-left:0}.switch-pf .sp-cta p{font-size:18px}}
@media(max-width:390px){.switch-pf .sp-menu-reserve{height:88px}.switch-pf .sp-h1{font-size:clamp(39px,10.1vw,47px)}.switch-pf .sp-context h2{font-size:clamp(44px,11.4vw,52px)}.switch-pf .sp-two h2{font-size:clamp(42px,10.7vw,49px)}.switch-pf .sp-intervention h2{font-size:clamp(47px,11.7vw,58px)}.switch-pf .sp-gallery-heading h2,.switch-pf .sp-outcomes h2,.switch-pf .sp-related h2{font-size:clamp(44px,11vw,55px)}.switch-pf .sp-cta h2{font-size:clamp(63px,16vw,75px)}.switch-pf .sp-stat strong{font-size:60px}}
@media(prefers-reduced-motion:reduce){.switch-pf *{transition:none!important;scroll-behavior:auto!important}}
