.iz-root .iz-stage.is-glass-art{inset:0;width:100%;height:100svh;background:linear-gradient(130deg,#fffdf6,#fff1eb 65%,#ecdef0)}
.iz-root .iz-stage.is-glass-art .iz-frame{width:100%!important;height:100%!important;max-height:none!important;object-fit:cover;object-position:65% center;transform:none}
.iz-root .iz-stage.is-glass-art .iz-frame[data-frame="0"]{object-fit:cover;object-position:65% center}
.iz-stage.is-glass-art .iz-test-label{display:none}
.iz-stage.is-glass-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fffaf5b0,transparent 48%);pointer-events:none}
.iz-root .iz-team.e-con{background-color:#fffaf5;background-repeat:no-repeat}
.iz-root .iz-work-hero.e-con{min-height:clamp(520px,55vw,850px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background-repeat:no-repeat;padding:50px 0}
.iz-root .iz-work-intro.e-con{width:39%;position:relative;z-index:2}
.iz-root .iz-work-visual.e-con{display:none}
.iz-root .iz-work-intro h2.elementor-heading-title{font-size:clamp(40px,5.5vw,88px)}
.iz-root .iz-work .iz-project-grid{margin-top:34px}
@media(max-width:767px){
 .iz-root .iz-stage.is-glass-art{inset:auto 0 0;height:48svh;width:100%}
 .iz-root .iz-stage.is-glass-art .iz-frame{object-fit:cover;object-position:right center;padding:0}
 .iz-root .iz-stage.is-glass-art .iz-frame[data-frame="0"]{object-position:right center}
 .iz-stage.is-glass-art:after{background:linear-gradient(180deg,#fff5ef,transparent 23%)}
 .iz-root .iz-work-hero.e-con{min-height:750px;justify-content:flex-start;padding-top:0;padding-bottom:350px;background-size:auto 350px;background-position:right bottom;background-color:#fffaf5}
 .iz-root .iz-work-intro.e-con{width:100%}
 .iz-root .iz-work-intro h2.elementor-heading-title{font-size:12.5vw}
 .iz-root .iz-team.e-con{background-size:auto 100%;background-position:center}
}

html.iz-anchor-moving{scroll-snap-type:none!important}
.iz-root .iz-stage.is-glass-art .iz-frame{mask-image:none}

html.iz-free-scroll{scroll-snap-type:none!important}
.iz-root .iz-contact.e-con{display:block;background-repeat:no-repeat;padding-top:150px;padding-bottom:100px}
.iz-root .iz-contact-copy.e-con{width:45%;max-width:720px}
@media(max-width:767px){.iz-root .iz-contact.e-con{padding-top:110px;padding-bottom:360px;background-size:auto 350px;background-position:right bottom;background-color:#fff5ef;min-height:110svh}.iz-root .iz-contact-copy.e-con{width:100%;max-width:none}}
@media(max-width:767px){.iz-root .iz-contact.e-con{background-size:auto 350px!important;background-position:right bottom!important;background-repeat:no-repeat!important;background-color:#fff5ef!important}.iz-root .iz-work-hero.e-con{background-size:auto 350px!important;background-position:right bottom!important;background-repeat:no-repeat!important}}

/* Full-viewport artwork without letterboxing or inset white margins. */
.iz-root .iz-work.e-con{padding:0}
.iz-root .iz-work-hero.e-con{min-height:100svh;width:100%;padding:130px 5.4% 80px;background-size:cover!important;background-position:65% center!important}
.iz-root .iz-work .iz-project-grid{padding:45px 5.4% 90px;margin-top:0}
.iz-root .iz-contact.e-con{background-size:cover!important;background-position:65% center!important;min-height:100svh}
@media(max-width:767px){
 .iz-root .iz-stage.is-glass-art{inset:0;width:100%;height:100svh}
 .iz-root .iz-stage.is-glass-art .iz-frame{object-fit:cover;object-position:75% center}
 .iz-stage.is-glass-art:after{background:linear-gradient(180deg,#fffaf5ed 0%,#fffaf5a0 38%,transparent 75%)}
 .iz-root .iz-work-hero.e-con{padding:120px 6% 50px;min-height:100svh;justify-content:flex-start;background-size:cover!important;background-position:68% center!important}
 .iz-root .iz-work-intro.e-con{background:linear-gradient(90deg,#fffaf5e8,#fffaf580);border-radius:12px;padding:14px;width:100%}
 .iz-root .iz-work .iz-project-grid{padding:35px 6% 70px}
 .iz-root .iz-contact.e-con{padding:120px 6% 60px;background-size:cover!important;background-position:65% center!important}
 .iz-root .iz-contact-copy.e-con{background:#fffaf5c9;border-radius:14px;padding:16px}
}

/* A continuous soft scrim keeps editable copy readable over full-height art. */
.iz-root .iz-stage.is-glass-art:after{background:linear-gradient(90deg,rgba(255,250,245,.97) 0%,rgba(255,250,245,.90) 24%,rgba(255,250,245,.72) 37%,rgba(255,250,245,.26) 49%,transparent 63%)}
.iz-root .iz-work-hero.e-con,.iz-root .iz-contact.e-con{position:relative;isolation:isolate}
.iz-root .iz-work-hero:before,.iz-root .iz-contact:before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,250,245,.96),rgba(255,250,245,.86) 27%,rgba(255,250,245,.50) 43%,transparent 65%)}
.iz-root .iz-work-intro.e-con,.iz-root .iz-contact-copy.e-con{position:relative;z-index:1;background:none;border-radius:0}
@media(max-width:767px){
 .iz-root .iz-stage.is-glass-art:after{background:linear-gradient(180deg,rgba(255,250,245,.98),rgba(255,250,245,.94) 24%,rgba(255,250,245,.78) 44%,rgba(255,250,245,.25) 65%,transparent 83%)}
 .iz-root .iz-work-hero:before,.iz-root .iz-contact:before{background:linear-gradient(180deg,rgba(255,250,245,.97),rgba(255,250,245,.90) 35%,rgba(255,250,245,.65) 58%,transparent 86%)}
 .iz-root .iz-work-intro.e-con,.iz-root .iz-contact-copy.e-con{padding:0}
}

/* Keep faces in the safe area: crop the lower body before the head. */
.iz-root .iz-stage.is-glass-art .iz-frame[data-frame="0"]{object-position:70% top!important}
.iz-root .iz-stage.is-glass-art .iz-frame[data-frame="1"]{object-position:75% top!important}
.iz-root .iz-stage.is-glass-art .iz-frame[data-frame="2"]{object-position:80% center!important}
.iz-root .iz-stage.is-glass-art .iz-frame[data-frame="3"]{object-position:85% center!important}
.iz-root .iz-stage.is-glass-art .iz-frame[data-frame="4"]{object-position:100% top!important}
.iz-root .iz-work-hero.e-con{background-position:78% top!important}
/* Section labels and more generous calls to action. */
.iz-root .iz-eyebrow p{font-size:16px!important;line-height:1.4!important}
.iz-root .elementor-button{font-size:20px!important;line-height:1.3!important;padding:20px 32px!important}
.iz-root .elementor-button-content-wrapper{align-items:center;gap:16px}
.iz-root .elementor-button-text{display:flex;align-items:center;gap:16px}
.iz-root .elementor-button-text::after{content:"";display:block;flex:0 0 24px;width:24px;height:24px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M13 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat}
/* Match the narrative headings and use a downward line arrow. */
.iz-root .iz-work-intro h2.elementor-heading-title{font-size:clamp(42px,5.5vw,96px);line-height:.97}
.iz-root .elementor-button-text::after{transform:rotate(90deg)}
@media(max-width:767px){.iz-root .iz-work-intro h2.elementor-heading-title{font-size:clamp(37px,10.8vw,62px)}}
/* Shared left edge; optical word offsets compensate for font side bearings. */
.iz-root :is(.iz-chapter,.iz-team,.iz-work-intro,.iz-contact-copy)>.elementor-widget{margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;text-align:left!important;align-self:flex-start}
.iz-root :is(.iz-chapter,.iz-team,.iz-work-intro,.iz-contact-copy)>.elementor-widget>.elementor-widget-container{margin-left:0!important;padding-left:0!important;text-align:left!important}
.iz-root :is(.iz-chapter,.iz-team,.iz-work-intro,.iz-contact-copy) :is(h1,h2,p){margin-left:0!important;padding-left:0!important;text-indent:0;text-align:left}
.iz-root .iz-optical-word{display:inline-block}
.iz-root .iz-header a[href="#accueil"]{cursor:pointer;color:inherit;text-decoration:none}
.iz-root .iz-header a[href="#accueil"]:focus-visible{outline:2px solid var(--iz-coral);outline-offset:5px}
/* Mail symbol replaces the arrow on project-contact calls to action. */
.iz-root :is(#motion,#contact) .elementor-button-text::after{transform:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 6 9 7 9-7'/%3E%3C/svg%3E")}
.iz-root .iz-filter-widget{padding:35px 5.4% 0!important;width:100%}
.iz-filters{display:flex;flex-wrap:wrap;gap:12px}
.iz-filters button{font:inherit;font-size:16px;line-height:1.3;padding:13px 22px;border:1px solid #53154160;border-radius:40px;background:transparent;color:#531541;cursor:pointer;transition:background .2s,color .2s}
.iz-filters button[aria-pressed="true"],.iz-filters button:hover{background:#531541;color:white}
.iz-filters button:focus-visible{outline:2px solid #d3534a;outline-offset:4px}
.iz-filter-count{font-size:14px!important;margin:14px 0 0;color:#866174}
.iz-root .iz-project[hidden]{display:none!important}
.iz-root #projets{scroll-margin-top:140px}
.iz-root #motion .iz-projects-digital .elementor-button-text::after{transform:rotate(90deg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M13 5l7 7-7 7'/%3E%3C/svg%3E")}
@media(max-width:767px){.iz-root .iz-filter-widget{padding-left:6%!important;padding-right:6%!important}.iz-filters{gap:8px}.iz-filters button{padding:11px 16px;font-size:14px}}
.iz-root #projets{scroll-margin-top:240px}
@media(max-width:767px){.iz-root #projets{scroll-margin-top:250px}}
/* Reference partner artwork, framed as the original coral logo strip. */
.iz-root #contact{padding-bottom:calc(clamp(120px,13vw,190px) + 65px)!important}
.iz-root #contact>.iz-partner-widget{position:absolute!important;left:0;right:0;bottom:0;width:100%!important;margin:0!important;padding:0!important;z-index:3}
.iz-partners{width:100%;overflow-x:auto;overflow-y:hidden;background:#d3534a;scrollbar-width:thin}
.iz-partner-art{position:relative;width:100%;min-width:900px;height:clamp(120px,13vw,190px);overflow:hidden}
.iz-root .iz-partner-art img{position:absolute;left:50%;top:50%;width:200%!important;max-width:none!important;height:auto!important;transform:translate(-50%,-89.9%);pointer-events:none}
@media(max-width:767px){.iz-root #contact{padding-bottom:250px!important}.iz-partner-art{height:120px}}
/* Fixed purple footer with a draggable, continuously looping partner strip. */
body:has(.iz-fixed-partners){padding-bottom:140px}
body>.iz-fixed-partners{position:fixed!important;inset:auto 0 0!important;width:100%!important;height:140px!important;margin:0!important;padding:0!important;z-index:80}
.iz-fixed-partners .iz-partners{height:140px;overflow:hidden;background:#531541;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.iz-fixed-partners .iz-partners.is-dragging{cursor:grabbing}
.iz-fixed-partners .iz-partners:focus-visible{outline:2px solid white;outline-offset:-5px}
.iz-fixed-partners .iz-partner-track{display:flex;width:max-content;height:140px;will-change:transform;pointer-events:none}
.iz-fixed-partners .iz-partner-art{flex:0 0 max(1100px,90vw);width:max(1100px,90vw);min-width:0;height:140px;position:relative;overflow:hidden;background:#531541}
.iz-fixed-partners .iz-partner-art img{position:absolute;left:50%;top:50%;width:200%!important;max-width:none!important;height:auto!important;transform:translate(-50%,-89.9%);filter:grayscale(1) contrast(12);mix-blend-mode:screen;pointer-events:none}
.iz-root #contact{padding-bottom:100px!important}
@media(max-width:767px){.iz-root #contact{padding-bottom:100px!important}}
/* Leave room to scroll calls to action clear of the fixed footer. */
body:has(.iz-fixed-partners) .iz-chapter.e-con{padding-bottom:240px}
@media(max-width:767px){body:has(.iz-fixed-partners) .iz-chapter.e-con{padding-bottom:calc(58svh + 140px)}}
/* Compact partner footer. */
body:has(.iz-fixed-partners){padding-bottom:70px}
body>.iz-fixed-partners,.iz-fixed-partners .iz-partners,.iz-fixed-partners .iz-partner-track{height:70px!important}
.iz-fixed-partners .iz-partner-art{height:70px;flex-basis:max(550px,45vw);width:max(550px,45vw)}
body:has(.iz-fixed-partners) .iz-chapter.e-con{padding-bottom:170px}
@media(max-width:767px){body:has(.iz-fixed-partners) .iz-chapter.e-con{padding-bottom:calc(58svh + 70px)}}
/* Equal gaps between individually framed logos, including the loop seam. */
.iz-fixed-partners .iz-partner-art{display:flex;align-items:center;gap:48px;flex:0 0 auto;width:auto;min-width:0;height:70px;padding:0 48px 0 0;overflow:visible;box-sizing:content-box}
.iz-fixed-partners .iz-partner-logo{display:block;position:relative;overflow:hidden;flex:none}
.iz-fixed-partners .iz-partner-logo img{position:absolute;left:50%;top:50%;max-width:none!important;height:auto!important;filter:grayscale(1) contrast(12);mix-blend-mode:screen;pointer-events:none}
.iz-fixed-partners .iz-partner-logo img{width:var(--logo-source-width)!important}
/* Centre the contact copy below the fixed brand, above the partner footer. */
.iz-root #contact.e-con{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:center!important;min-height:100svh;padding-top:150px!important;padding-bottom:110px!important}
.iz-root #contact .iz-contact-copy.e-con{flex:0 0 auto;margin-top:0;margin-bottom:0}
.iz-root .iz-work-hero.e-con{padding-top:150px}
@media(max-width:767px){.iz-root #contact.e-con{padding-top:120px!important;padding-bottom:110px!important}.iz-root .iz-work-hero.e-con{padding-top:120px}}
/* Updated ribbon artwork supplied for the eight story sections. */
.iz-root #equipe{background-image:url('equipe-rubans-v2.png')!important}
.iz-root .iz-work-hero{background-image:url('realisations-rubans-nov3.png')!important}
.iz-root #contact{background-image:url('contact-rubans-nov3.png')!important}
.iz-root #realisations .iz-work-hero.e-con{background-image:url('realisations-rubans-nov3.png')!important}
/* Reposition the portfolio screen into the right-hand visual area. */
@media(min-width:768px){
 .iz-root #realisations .iz-work-hero.e-con{background-image:linear-gradient(115deg,#fffaf3 22%,#ffe4da 64%,#e6cce9 100%)!important}
 .iz-root #realisations .iz-work-hero.e-con::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:url('realisations-rubans-nov3.png') right center/auto 78% no-repeat;mask-image:linear-gradient(90deg,transparent 22%,#000 55%);-webkit-mask-image:linear-gradient(90deg,transparent 22%,#000 55%)}
 .iz-root #realisations .iz-work-hero.e-con::before{z-index:1}
 .iz-root #realisations .iz-work-intro.e-con{z-index:2}
}
/* Fit the screen and speech bubble within their visual areas without cropping. */
@media(min-width:768px){
 .iz-root #realisations .iz-work-hero.e-con::after{inset:15% 2% 12% 0;background-size:contain;background-position:right center}
 .iz-root #contact.e-con{background-image:linear-gradient(115deg,#fffaf3 22%,#ffe4da 64%,#e6cce9 100%)!important}
 .iz-root #contact.e-con::after{content:'';position:absolute;inset:10% 2% 12% 0;z-index:0;pointer-events:none;background:url('contact-rubans-nov3.png') right center/contain no-repeat;mask-image:linear-gradient(90deg,transparent 20%,#000 52%);-webkit-mask-image:linear-gradient(90deg,transparent 20%,#000 52%)}
 .iz-root #contact.e-con::before{z-index:1}
 .iz-root #contact .iz-contact-copy.e-con{z-index:2}
}
@media(max-width:767px){
 .iz-root #realisations .iz-work-hero.e-con,.iz-root #contact.e-con{background-size:100% auto!important;background-position:center bottom 80px!important}
}
@media(min-width:768px){
 .iz-root #realisations .iz-work-hero.e-con::after,.iz-root #contact.e-con::after{mask-image:linear-gradient(90deg,transparent 18%,#000 48%,#000 96%,transparent),linear-gradient(180deg,transparent,#000 9%,#000 90%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent 18%,#000 48%,#000 96%,transparent),linear-gradient(180deg,transparent,#000 9%,#000 90%,transparent);-webkit-mask-composite:source-in}
}
/* Keep section content between the fixed brand and the 70px partner footer. */
body:has(.iz-fixed-partners){padding-bottom:0!important}
.iz-root #equipe.e-con{padding-top:140px!important;padding-bottom:110px!important}
.iz-root #equipe .iz-team-grid.e-con{margin-top:28px;gap:26px}
.iz-root #equipe .iz-person .elementor-widget-image{width:100%;margin-bottom:14px}
.iz-root #equipe .iz-person img{height:clamp(160px,30svh,300px);width:100%;object-fit:contain;object-position:center bottom;aspect-ratio:auto}
.iz-root #equipe .iz-person h3{font-size:clamp(18px,1.4vw,24px);line-height:1.2}
.iz-root #equipe .iz-person p{font-size:14px;line-height:1.35}
@media(min-width:768px) and (max-height:950px){
 .iz-root #equipe h2.elementor-heading-title{font-size:clamp(42px,5vw,80px)}
 .iz-root #equipe .iz-person img{height:clamp(145px,26svh,245px)}
 .iz-root #equipe .iz-team-grid.e-con{margin-top:20px}
}
@media(min-width:768px) and (max-height:760px){
 .iz-root #equipe h2.elementor-heading-title{font-size:clamp(38px,4.5vw,62px)}
 .iz-root #equipe .iz-person img{height:165px}
 .iz-root #equipe .iz-team-grid.e-con{margin-top:16px;gap:20px}
 .iz-root #equipe>.elementor-widget-text-editor p{font-size:16px;line-height:1.4}
}
@media(max-width:1024px) and (min-width:768px){.iz-root #equipe .iz-team-grid.e-con{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
 .iz-root #equipe.e-con{padding-top:120px!important;padding-bottom:110px!important}
 .iz-root #equipe .iz-person img{height:280px}
}
.iz-root #approche h2.elementor-heading-title{font-size:clamp(32px,4.6vw,84px)}
.iz-root #approche .iz-title-line{display:block;white-space:nowrap}
@media(max-width:767px){.iz-root #approche h2.elementor-heading-title{font-size:clamp(27px,8.8vw,58px)}}
/* Keep team information readable regardless of the background crop. */
.iz-root #equipe.e-con{isolation:isolate}
.iz-root #equipe.e-con::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,250,245,.97),rgba(255,250,245,.88) 38%,rgba(255,250,245,.40) 68%,rgba(255,250,245,.10))}
.iz-root #equipe.e-con>.elementor-widget,.iz-root #equipe.e-con>.iz-team-grid{position:relative;z-index:1}
.iz-root #equipe .iz-person h3.elementor-heading-title{font-size:clamp(22px,1.55vw,28px)!important;line-height:1.2}
.iz-root #equipe .iz-person p{font-size:17px!important;line-height:1.45;color:#30102f}
.iz-root #equipe>.elementor-widget-text-editor:not(.iz-eyebrow) p{font-size:20px!important;line-height:1.5}
.iz-root #equipe .iz-person.e-con{background:linear-gradient(180deg,transparent 65%,rgba(255,250,245,.96));border-radius:20px;padding-bottom:12px}
@media(min-width:1025px) and (max-height:950px){.iz-root #equipe .iz-person img{height:clamp(150px,24svh,225px)}}
@media(max-width:767px){.iz-root #equipe .iz-person h3.elementor-heading-title{font-size:24px!important}.iz-root #equipe .iz-person p{font-size:17px!important}.iz-root #equipe>.elementor-widget-text-editor:not(.iz-eyebrow) p{font-size:18px!important}}
.iz-root #contact h2.elementor-heading-title{font-size:clamp(28px,3.6vw,65px)}
.iz-root #contact .iz-contact-title-line{display:block;white-space:nowrap}
@media(max-width:767px){.iz-root #contact h2.elementor-heading-title{font-size:clamp(22px,6.8vw,48px)}}
/* Larger portraits fill each rounded frame edge to edge. */
.iz-root #equipe .iz-person .elementor-widget-image{overflow:hidden;border-radius:150px 150px 20px 20px}
.iz-root #equipe .iz-person img{display:block;width:100%!important;height:clamp(240px,34svh,380px)!important;object-fit:cover!important;object-position:center 24%!important;mix-blend-mode:normal;aspect-ratio:auto}
.iz-root #equipe .iz-person .iz-maissa-photo img{object-position:center 20%!important}
@media(max-width:767px){.iz-root #equipe .iz-person img{height:340px!important}}
.iz-root #equipe .iz-team-grid.e-con{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
@media(max-width:1024px) and (min-width:768px){.iz-root #equipe .iz-team-grid.e-con{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.iz-root #equipe .iz-team-grid.e-con{grid-template-columns:1fr}}
/* Keep portraits close to their original square framing, even on ultra-wide screens. */
.iz-root #equipe .iz-team-grid.e-con{grid-template-columns:repeat(3,minmax(0,340px));justify-content:start;gap:clamp(24px,3vw,58px);width:100%}
.iz-root #equipe .iz-person.e-con{width:100%;max-width:340px;min-width:0}
.iz-root #equipe .iz-person img{width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:cover!important;object-position:center center!important}
.iz-root #equipe .iz-person .iz-maissa-photo img{object-position:center center!important}
.iz-root #equipe .iz-person .elementor-widget-image{border-radius:46% 46% 20px 20px}
@media(min-width:1025px) and (max-height:950px){.iz-root #equipe .iz-team-grid.e-con{grid-template-columns:repeat(3,minmax(0,285px))}.iz-root #equipe .iz-person.e-con{max-width:285px}}
@media(max-width:1024px) and (min-width:768px){.iz-root #equipe .iz-team-grid.e-con{grid-template-columns:repeat(2,minmax(0,310px))}}
@media(max-width:767px){.iz-root #equipe .iz-team-grid.e-con{grid-template-columns:minmax(0,340px);justify-content:center}.iz-root #equipe .iz-person.e-con{max-width:340px}}

/* Leave breathing room after the final project, above the fixed partner strip. */
.iz-root #realisations.iz-work.e-con{padding-bottom:190px!important}
@media(max-width:767px){.iz-root #realisations.iz-work.e-con{padding-bottom:150px!important}}
/* Match head size and eye level while keeping the original portraits. */
.iz-root #equipe .iz-person .elementor-widget-image{background:#080808}
.iz-root #equipe .iz-person img{transform-origin:50% 0}
.iz-root #equipe .iz-person img[src*="1741012864982"]{transform:translateY(2%) scale(-.90,.90)}
.iz-root #equipe .iz-person img[src*="team-maissa"]{transform:translateY(4%) scaleX(-1)}
.iz-root #equipe .iz-person img[src*="team-maurice-photo-v2"]{transform:translateY(-10%) scale(1.20)}
/* Fill Franck's frame completely; retain the right-facing mirror. */
.iz-root #equipe .iz-person img[src*="1741012864982"]{transform:scaleX(-1)}
/* The extended Franck portrait fills the height with a smaller, natural head size. */
.iz-root #equipe .iz-person .elementor-widget-image:has(img[src*="team-franck-photo-v3"]){background:#000}
.iz-root #equipe .iz-person img[src*="team-franck-photo-v3"]{object-fit:contain!important;object-position:center bottom!important;transform:scaleX(-1);background:#000}
/* Use the wider replacement edge to edge, without inset portrait edges. */
.iz-root #equipe .iz-person img[src*="team-franck-photo-v4"]{object-fit:cover!important;object-position:center center!important;transform:scaleX(-1)}
.iz-root #equipe .iz-person img[src*="team-franck-photo-v4"]{object-position:center top!important}
/* Slightly enlarge Maïssa and Maurice to match Franck's face proportions. */
.iz-root #equipe .iz-person img[src*="team-maissa"]{transform:translateY(1%) scale(-1.07,1.07)}
.iz-root #equipe .iz-person img[src*="team-maurice-photo-v2"]{transform:translateY(-13%) scale(1.29)}
/* Protect the fixed logo and burger from the overlapping sections starting at Team. */
.iz-root .iz-header::before{content:'';position:fixed;inset:0 0 auto;height:120px;background:rgba(255,255,255,.90);box-shadow:0 6px 22px rgba(39,11,45,.12);z-index:-1;pointer-events:none;opacity:0;transition:opacity .22s ease}
.iz-root.has-header-backdrop .iz-header::before{opacity:1}
@media(max-width:767px){.iz-root .iz-header::before{height:94px}}
@media(prefers-reduced-motion:reduce){.iz-root .iz-header::before{transition:none}}
.iz-root #contact .iz-contact-actions.e-con{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:14px;padding:0;margin:6px 0 28px;width:100%}
.iz-root #contact .iz-contact-actions>.elementor-widget{width:auto;max-width:100%}
.iz-root #contact .iz-contact-actions .elementor-button{padding:20px 25px;white-space:nowrap}
.iz-root #contact .iz-contact-phone .elementor-button-text::after{transform:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.2 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.69 2.79a2 2 0 0 1-.45 2.11L8.09 9.89a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.89.33 1.83.56 2.79.69A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E")}
/* Four team members on one desktop row; preserve Elementor content and portraits. */
@media(min-width:1025px){
 .iz-root #equipe .iz-team-grid.e-con{grid-template-columns:repeat(4,minmax(0,340px));align-items:start}
 .iz-root #equipe .iz-person.e-con{max-width:340px}
}
@media(min-width:1025px) and (max-height:950px){
 .iz-root #equipe .iz-team-grid.e-con{grid-template-columns:repeat(4,minmax(0,285px))}
 .iz-root #equipe .iz-person.e-con{max-width:285px}
}
/* Equal-height team cards and consistent name/role spacing, including plain text widgets. */
.iz-root #equipe .iz-team-grid.e-con{align-items:stretch}
.iz-root #equipe .iz-person.e-con{height:100%;align-self:stretch;justify-content:flex-start}
.iz-root #equipe .iz-person>.elementor-widget-heading{margin:0 0 12px}
.iz-root #equipe .iz-person h3.elementor-heading-title{margin:0;line-height:1.15}
.iz-root #equipe .iz-person>.elementor-widget-text-editor{margin:0;font-size:14px;line-height:1.5}
.iz-root #equipe .iz-person>.elementor-widget-text-editor p{margin:0;font-size:inherit;line-height:inherit}
.iz-root #equipe .iz-person>.elementor-widget-text-editor,
.iz-root #equipe .iz-person>.elementor-widget-text-editor>.elementor-widget-container,
.iz-root #equipe .iz-person>.elementor-widget-text-editor p{font-size:16px!important;line-height:1.5!important;margin:0}

/* Hide the project count in the editor and before scripts initialize. */
.iz-root .iz-filter-count{display:none!important}

.iz-root .iz-filters button[data-category="edition"]{display:none!important}
/* Bring the team eyebrow closer to its headline. */
.iz-root #equipe>.elementor-widget-text-editor:first-child{margin-bottom:8px!important}
.iz-root #equipe>.elementor-widget-text-editor:first-child p{margin-bottom:0!important}
/* Mobile trial: homepage artwork below the copy, above the partner footer. */
@media(max-width:767px){
 .iz-root #accueil.iz-chapter.e-con{min-height:100svh;justify-content:flex-start;padding:118px 6% calc(40svh + 94px);background:#fffaf5}
 .iz-root #accueil>.elementor-widget,.iz-root #accueil>.elementor-widget-text-editor{width:100%;max-width:100%}
 .iz-root #accueil h1.elementor-heading-title{font-size:clamp(34px,9.8vw,50px)}
 .iz-root .iz-stage.is-glass-art.is-hero-art{inset:auto 0 70px;height:40svh;width:100%;background:#fffaf5;z-index:2}
 .iz-root .iz-stage.is-glass-art.is-hero-art:after{background:linear-gradient(180deg,#fffaf5,rgba(255,250,245,0) 18%)}
 .iz-root .iz-stage.is-glass-art.is-hero-art .iz-frame,
 .iz-root .iz-stage.is-glass-art.is-hero-art .iz-scroll-sequence{object-fit:cover;object-position:right top!important}
}
@media(max-width:767px){
 .iz-root .iz-stage.is-glass-art.is-hero-art{height:32svh}
 .iz-root #accueil.iz-chapter.e-con{padding-bottom:calc(32svh + 94px)}
}
/* Mobile: carry the approved text-above/artwork-below composition through the story. */
@media(max-width:767px){
 .iz-root .iz-chapter.e-con{min-height:100svh;justify-content:flex-start;padding:118px 6% calc(32svh + 94px)!important;background:#fffaf5}
 .iz-root .iz-chapter>.elementor-widget,.iz-root .iz-chapter>.elementor-widget-text-editor{width:100%;max-width:100%}
 .iz-root .iz-chapter h1.elementor-heading-title,.iz-root .iz-chapter h2.elementor-heading-title{font-size:clamp(34px,9.8vw,50px)}
 .iz-root .iz-stage.is-glass-art{inset:auto 0 70px;height:32svh;width:100%;background:#fffaf5;z-index:2}
 .iz-root .iz-stage.is-glass-art:after{background:linear-gradient(180deg,#fffaf5,rgba(255,250,245,0) 18%)}
 .iz-root .iz-stage.is-glass-art .iz-frame,.iz-root .iz-stage.is-glass-art .iz-scroll-sequence{object-fit:cover;object-position:right top!important}
 .iz-root #realisations .iz-work-hero.e-con,.iz-root #contact.e-con{justify-content:flex-start!important;padding:118px 6% calc(32svh + 110px)!important;background:#fffaf5!important;min-height:100svh}
 .iz-root #realisations .iz-work-hero.e-con::before,.iz-root #contact.e-con::before{display:none}
 .iz-root #realisations .iz-work-hero.e-con::after,.iz-root #contact.e-con::after{content:'';position:absolute;inset:auto 0 80px;height:32svh;z-index:0;pointer-events:none;background-position:right top;background-size:auto 100%;background-repeat:no-repeat;mask-image:linear-gradient(180deg,transparent,#000 15%);-webkit-mask-image:linear-gradient(180deg,transparent,#000 15%)}
 .iz-root #realisations .iz-work-hero.e-con::after{background-image:url('realisations-rubans-nov3.png')}
 .iz-root #contact.e-con::after{background-image:url('contact-rubans-nov3.png')}
 .iz-root .iz-work-intro.e-con,.iz-root .iz-contact-copy.e-con{width:100%;max-width:100%;padding:0}
 .iz-root .iz-work-intro h2.elementor-heading-title,.iz-root #contact h2.elementor-heading-title{font-size:clamp(34px,9.8vw,50px)}
}
@media(max-width:767px){
 /* Longer service copy needs a little more room before its visual. */
 .iz-root .iz-stage.is-glass-art:not(.is-hero-art){height:27svh}
}
/* Mobile contact: keep the contact details without the final speech-bubble artwork. */
@media(max-width:767px){
 .iz-root #contact.e-con::after{display:none!important}
 .iz-root #contact.e-con{background-image:none!important;padding-bottom:110px!important}
}

/* Mobile landing sections: keep only the final contact actions. */
@media(max-width:767px){
 .iz-root:not(.iz-project-page) .iz-chapter .elementor-widget-button{display:none!important}
}
/* Soften the portfolio artwork's lower edge into the section background. */
@media(max-width:767px){
 .iz-root #realisations .iz-work-hero.e-con::after{
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 15%,#000 65%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0%,#000 15%,#000 65%,transparent 100%);
 }
}
/* Give the three-line portfolio headline more presence across phone widths. */
@media(max-width:767px){
 .iz-root #realisations .iz-work-intro h2.elementor-heading-title{font-size:clamp(42px,13.8vw,78px);width:100%;max-width:none;line-height:.98}
}
/* Mobile first-section trial: a desktop-like split composition. */
@media(max-width:767px){
 .iz-root #accueil.iz-chapter.e-con{padding:150px 6% 110px!important;justify-content:center;min-height:100svh;background:transparent}
 .iz-root #accueil>.elementor-widget,.iz-root #accueil>.elementor-widget-text-editor{width:52%;max-width:52%}
 .iz-root #accueil h1.elementor-heading-title{font-size:clamp(26px,7.3vw,49px);line-height:1.02;letter-spacing:-.055em}
 .iz-root #accueil>.elementor-widget-text-editor:first-child p{font-size:10px!important;letter-spacing:1.1px;line-height:1.45}
 .iz-root #accueil>.elementor-widget-text-editor:not(:first-child) p{font-size:13px!important;line-height:1.45}
 .iz-root .iz-stage.is-glass-art.is-hero-art{inset:0 0 70px;height:calc(100svh - 70px);width:100%;z-index:1}
 .iz-root .iz-stage.is-glass-art.is-hero-art .iz-frame,
 .iz-root .iz-stage.is-glass-art.is-hero-art .iz-scroll-sequence{object-fit:cover;object-position:79% top!important}
 .iz-root .iz-stage.is-glass-art.is-hero-art:after{background:linear-gradient(90deg,#fffaf5 0%,rgba(255,250,245,.97) 28%,rgba(255,250,245,.78) 42%,rgba(255,250,245,.2) 58%,transparent 70%)}
}
@media(max-width:767px){
 .iz-root .iz-stage.is-glass-art.is-hero-art .iz-frame,
 .iz-root .iz-stage.is-glass-art.is-hero-art .iz-scroll-sequence{object-position:55% top!important}
}
@media(max-width:767px){
 .iz-root #accueil>.elementor-widget,.iz-root #accueil>.elementor-widget-text-editor{width:54%!important;max-width:54%!important}
 .iz-root #accueil h1.elementor-heading-title{font-size:clamp(24px,6.8vw,42px)}
}
/* Enlarge the first mobile split headline and use more of the left column. */
@media(max-width:767px){
 .iz-root #accueil.iz-chapter.e-con{justify-content:flex-start;padding-top:clamp(150px,20svh,190px)!important}
 .iz-root #accueil>.elementor-widget,.iz-root #accueil>.elementor-widget-text-editor{width:57%!important;max-width:57%!important}
 .iz-root #accueil h1.elementor-heading-title{font-size:clamp(30px,8.2vw,54px);line-height:1.04}
 .iz-root #accueil>.elementor-widget-text-editor:first-child p{font-size:12px!important;letter-spacing:1.1px;margin-bottom:24px}
 .iz-root #accueil>.elementor-widget-text-editor:not(:first-child) p{font-size:15px!important;line-height:1.5}
}

/* Extend the approved mobile split trial to the second section only. */
@media(max-width:767px){
 .iz-root #approche.iz-chapter.e-con{padding:clamp(150px,20svh,190px) 6% 110px!important;justify-content:flex-start;min-height:100svh;background:transparent}
 .iz-root #approche>.elementor-widget,.iz-root #approche>.elementor-widget-text-editor{width:57%!important;max-width:57%!important}
 .iz-root #approche h2.elementor-heading-title{font-size:clamp(30px,8.2vw,54px);line-height:1.04;letter-spacing:-.055em}
 .iz-root #approche>.elementor-widget-text-editor:first-child p{font-size:12px!important;letter-spacing:1.1px;line-height:1.45;margin-bottom:24px}
 .iz-root #approche>.elementor-widget-text-editor:not(:first-child) p{font-size:15px!important;line-height:1.5}
 .iz-root .iz-stage.is-glass-art.is-approach-art{inset:0 0 70px;height:calc(100svh - 70px);width:100%;z-index:1}
 .iz-root .iz-stage.is-glass-art.is-approach-art .iz-frame,
 .iz-root .iz-stage.is-glass-art.is-approach-art .iz-scroll-sequence{object-fit:cover;object-position:75% top!important}
 .iz-root .iz-stage.is-glass-art.is-approach-art:after{background:linear-gradient(90deg,#fffaf5 0%,rgba(255,250,245,.97) 28%,rgba(255,250,245,.78) 42%,rgba(255,250,245,.2) 58%,transparent 70%)}
}
@media(max-width:767px){
 .iz-root #approche .iz-title-line{white-space:normal}
 .iz-root .iz-stage.is-glass-art.is-approach-art:after{background:linear-gradient(90deg,#fffaf5 0%,rgba(255,250,245,.98) 36%,rgba(255,250,245,.90) 49%,rgba(255,250,245,.45) 62%,transparent 78%)}
}

/* Approved mobile split composition for the three service sections. */
@media(max-width:767px){
 .iz-root :is(#clm,#motion,#congres).iz-chapter.e-con{padding:clamp(150px,20svh,190px) 6% 110px!important;justify-content:flex-start;min-height:100svh;background:transparent}
 .iz-root :is(#clm,#motion,#congres)>.elementor-widget,
 .iz-root :is(#clm,#motion,#congres)>.elementor-widget-text-editor{width:57%!important;max-width:57%!important}
 .iz-root :is(#clm,#motion,#congres) h2.elementor-heading-title{font-size:clamp(30px,8.2vw,54px);line-height:1.04;letter-spacing:-.055em}
 .iz-root :is(#clm,#motion,#congres)>.elementor-widget-text-editor:first-child p{font-size:12px!important;letter-spacing:1.1px;line-height:1.45;margin-bottom:24px}
 .iz-root :is(#clm,#motion,#congres)>.elementor-widget-text-editor:not(:first-child) p{font-size:15px!important;line-height:1.5}
 .iz-root .iz-stage.is-glass-art.is-service-art{inset:0 0 70px;height:calc(100svh - 70px);width:100%;z-index:1}
 .iz-root .iz-stage.is-glass-art.is-service-art .iz-frame,
 .iz-root .iz-stage.is-glass-art.is-service-art .iz-scroll-sequence{object-fit:cover;object-position:80% top!important}
 .iz-root .iz-stage.is-glass-art.is-service-art:after{background:linear-gradient(90deg,#fffaf5 0%,rgba(255,250,245,.98) 36%,rgba(255,250,245,.90) 49%,rgba(255,250,245,.45) 62%,transparent 78%)}
}
/* Move the congress roll-up slightly right, clear of the mobile text scrim. */
@media(max-width:767px){
 .iz-root .iz-stage.is-service-art[data-active-chapter="4"] .iz-scroll-sequence,
 .iz-root .iz-stage.is-service-art[data-active-chapter="4"] .iz-frame[data-frame="4"]{object-position:74% top!important}
}
/* Follow the visible phone viewport as the browser toolbar opens/closes. */
@media(max-width:767px){
 .iz-root .iz-stage.is-glass-art:is(.is-hero-art,.is-approach-art,.is-service-art){
  top:0;bottom:70px;height:calc(100vh - 70px)!important;
  height:calc(100dvh - 70px)!important;
 }
}
/* Mobile portfolio introduction: match the story's left-copy/right-art layout. */
@media(max-width:767px){
 .iz-root #realisations .iz-work-hero.e-con{padding:clamp(150px,20svh,190px) 6% 110px!important;min-height:100svh;justify-content:flex-start!important}
 .iz-root #realisations .iz-work-intro.e-con{width:57%!important;max-width:57%!important;z-index:2}
 .iz-root #realisations .iz-work-intro h2.elementor-heading-title{font-size:clamp(30px,8.2vw,54px);line-height:1.04;letter-spacing:-.055em}
 .iz-root #realisations .iz-work-intro>.elementor-widget-text-editor:first-child p{font-size:12px!important;letter-spacing:1.1px;line-height:1.45;margin-bottom:24px}
 .iz-root #realisations .iz-work-intro>.elementor-widget-text-editor:not(:first-child) p{font-size:15px!important;line-height:1.5}
 .iz-root #realisations .iz-work-hero.e-con::after{inset:0;height:100%;background-size:auto 100%;background-position:72% top;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.02) 36%,rgba(0,0,0,.10) 49%,rgba(0,0,0,.55) 62%,#000 78%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.02) 36%,rgba(0,0,0,.10) 49%,rgba(0,0,0,.55) 62%,#000 78%)}
}
@media(max-width:767px){
 .iz-root #realisations .iz-work-hero.e-con::after{
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.02) 36%,rgba(0,0,0,.10) 49%,rgba(0,0,0,.55) 62%,#000 78%),linear-gradient(180deg,#000 80%,transparent);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.02) 36%,rgba(0,0,0,.10) 49%,rgba(0,0,0,.55) 62%,#000 78%),linear-gradient(180deg,#000 80%,transparent);
  -webkit-mask-composite:source-in;mask-composite:intersect;
 }
}
/* Shorten the mobile portfolio introduction while retaining its artwork scale/fade. */
@media(max-width:767px){
 .iz-root #realisations .iz-work-hero.e-con{min-height:0!important;height:auto;padding-bottom:38px!important;overflow:hidden}
 .iz-root #realisations .iz-work-hero.e-con::after{height:100%;background-size:auto 100svh;background-position:72% top}
 .iz-root #realisations .iz-filter-widget{padding-top:22px!important}
}
