/* A hidden-x ancestor becomes a scroll container; clip preserves document sticky. */
.ethet-normalized-page:has(.ec-film--embed){overflow-x:clip!important;overflow-y:visible!important}
/* All rules belong to the portfolio; the existing Etchenet video owns the page background. */
.ec-film--embed{--ec-blue:var(--etch-accent-blue,#a3c7f5);--ec-line:rgba(163,199,245,.24);--ec-soft:rgba(255,255,255,.76);--ec-space:clamp(24px,5vw,80px);position:relative;width:100%;max-width:none!important;margin:50px 0!important;background:transparent!important;color:var(--etch-text,#fff);font-family:inherit;overflow:clip;text-align:left}
.ec-film--embed *{box-sizing:border-box}
.ec-film--embed :where(h2,h3,p,figure){margin:0;padding:0}
.ec-film--embed :where(h2,h3,p,a){font-family:inherit}
.ec-film--embed :where(h2,h3){color:inherit;letter-spacing:-.025em}
.ec-film--embed h2{font-size:clamp(32px,4vw,54px);font-weight:800;line-height:1.12}
.ec-film--embed a{color:inherit;text-underline-offset:5px}
.ec-film--embed a:hover{color:var(--ec-blue)}
.ec-film--embed :where(a,button):focus-visible{outline:3px solid var(--ec-blue);outline-offset:5px}
.ec-film--embed img{display:block;width:100%;max-width:100%;height:auto}
.ec-film--embed [id]{scroll-margin-top:135px}
.ec-film--embed .wp-block-group{margin-block-start:0}
.ec-film--embed .ec-embed-controls{max-width:1320px;margin:auto;padding:12px var(--ec-space);display:flex;justify-content:flex-end}
.ec-film--embed .ec-embed-motion{font:inherit;font-size:12px;line-height:1.4;color:inherit;background:transparent;border:1px solid var(--ec-line);border-radius:8px;padding:9px 12px;cursor:pointer}
.ec-film--embed .ec-embed-motion:disabled{cursor:default;opacity:.8}
.ec-film--embed .ec-orbit,.ec-film--embed .ec-orbit-room,.ec-film--embed .ec-portfolio,.ec-film--embed .ec-case,.ec-film--embed .ec-case-copy{background:transparent!important;background-image:none!important}
.ec-film--embed .ec-orbit{position:relative;width:100%;max-width:none}
.ec-film--embed .ec-orbit-room{padding:40px 0}
.ec-film--embed .ec-orbit-heading{max-width:1320px;margin:auto!important;padding:0 var(--ec-space);display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.ec-film--embed .ec-orbit-heading h2{margin:10px 0 0}
.ec-film--embed .ec-orbit-heading .wp-block-buttons{flex-shrink:0}
.ec-film--embed .ec-orbit-stage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:45px var(--ec-space);max-width:1440px;margin:auto!important}
.ec-film--embed .ec-orbit-card{min-width:0;padding:0!important;border:1px solid rgba(163,199,245,.5);border-radius:12px;background:rgba(6,15,33,.94);box-shadow:0 18px 45px #0004;overflow:hidden}
.ec-film--embed .ec-orbit-image{aspect-ratio:1.6;overflow:hidden;margin:0!important}
.ec-film--embed .ec-orbit-image a{display:block;height:100%}
.ec-film--embed .ec-orbit-image img{height:100%;object-fit:cover;object-position:top}
.ec-film--embed .ec-card-name{padding:12px 15px 3px;font-size:13px;font-weight:650;line-height:1.4;color:#fff}
.ec-film--embed .ec-card-category{padding:0 15px 12px;font-size:10px;line-height:1.5;color:var(--ec-soft)}
.ec-film--embed .ec-card-role{padding:0 15px 12px;font-size:10px;line-height:1.5;color:var(--ec-blue)}
.ec-film--embed .ec-orbit-caption{display:none}
.ec-film--embed .ec-orbit-description{min-width:0}
.ec-film--embed .ec-orbit-category{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ec-blue);line-height:1.5}
.ec-film--embed .ec-orbit-name{font-size:clamp(24px,3vw,38px);font-weight:750;line-height:1.2;letter-spacing:-.025em;margin-top:5px}
.ec-film--embed .ec-orbit-intervention{font-size:12px;color:var(--ec-blue);margin-top:6px}
.ec-film--embed .ec-orbit-intervention[hidden]{display:none!important}
.ec-film--embed .ec-orbit-count{font-size:16px;white-space:nowrap}
.ec-film--embed .wp-block-button__link{font-size:13px;line-height:1.5;padding:10px 17px;border-radius:10px}
.ec-film--embed .ec-portfolio{width:100%;max-width:1320px;margin:auto!important;padding:100px var(--ec-space) 50px}
.ec-film--embed .ec-portfolio-intro{max-width:1040px;margin:0 auto 65px!important;text-align:center}
.ec-film--embed .ec-portfolio-intro h2{margin:15px 0 25px}
.ec-film--embed .ec-portfolio-intro>p{color:var(--ec-soft);line-height:1.7}
.ec-film--embed .ec-project-index{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:30px!important}
.ec-film--embed .ec-project-index a{font-size:11px;padding:5px 9px;border:1px solid var(--ec-line);border-radius:7px;text-decoration:none;line-height:1.5}
.ec-film--embed .ec-case{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.45fr);align-items:center;gap:clamp(35px,5vw,80px);min-height:740px;padding:85px 0;position:relative;perspective:1600px;border-top:1px solid var(--ec-line)}
.ec-film--embed .ec-case-reverse{grid-template-columns:minmax(0,1.45fr) minmax(0,.78fr)}
.ec-film--embed .ec-case-reverse .ec-case-copy{grid-column:2;grid-row:1}
.ec-film--embed .ec-case-reverse .ec-case-media{grid-column:1;grid-row:1}
.ec-film--embed .ec-case-copy{min-width:0}
.ec-film--embed .ec-case-copy h3{font-size:clamp(28px,3vw,43px);line-height:1.12;font-weight:800;margin:12px 0 20px;overflow-wrap:anywhere}
.ec-film--embed .ec-case-copy>p{font-size:14px;line-height:1.75;color:var(--ec-soft);margin:12px 0}
.ec-film--embed .ec-case-copy .ec-case-number{font-size:52px;line-height:1;font-weight:800;color:var(--ec-blue);opacity:.6;margin-bottom:20px}
.ec-film--embed .ec-case-copy .ec-eyebrow{font-size:10px;color:var(--ec-blue);letter-spacing:.08em;text-transform:uppercase;line-height:1.6}
.ec-film--embed .ec-case-copy .ec-case-hook{font-size:17px;color:#fff;line-height:1.5}
.ec-film--embed .ec-case-intervention{border-left:2px solid var(--ec-blue);padding:8px 0 8px 16px;margin:22px 0!important;background:transparent}
.ec-film--embed .ec-case-intervention p{font-size:12px;line-height:1.7;color:var(--ec-soft);margin:4px 0}
.ec-film--embed .ec-case-intervention p:first-child{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--ec-blue)}
.ec-film--embed .ec-case-intervention p:nth-child(2){font-weight:700;color:#fff}
.ec-film--embed .ec-case-media{min-width:0;transform-origin:center}
.ec-film--embed .ec-case-shot{position:relative;margin:0!important;height:auto;aspect-ratio:1.6;border:1px solid rgba(163,199,245,.5);border-radius:12px;overflow:hidden;background:rgba(6,15,33,.94);box-shadow:0 22px 60px #0005}
.ec-film--embed .ec-case-shot a{display:block;position:absolute;inset:0;width:100%;height:100%;min-height:0}
.ec-film--embed .ec-case-shot img{width:100%;height:100%;min-height:0;object-fit:contain;object-position:center}
.ec-film--embed .ec-case-shot--dark{background:#000}
.ec-film--embed .ec-archive-label{font-size:11px!important;color:var(--ec-blue)!important}
.ec-film--embed .ec-archive-note{font-size:12px;line-height:1.7;color:var(--ec-soft);text-align:center;max-width:800px;margin:45px auto!important}
@media(min-width:1000px) and (min-height:750px){
 .ec-film--embed.ec-enhanced .ec-orbit{height:calc(var(--ec-orbit-count,21)*360px + 900px)}
 .ec-film--embed.ec-enhanced .ec-orbit-room{height:calc(100svh - 200px);min-height:0;position:sticky;top:110px;padding:18px 0 22px;display:flex;flex-direction:column;justify-content:space-between}
 .ec-film--embed.ec-enhanced .ec-orbit-heading{width:100%;position:relative;z-index:3;min-height:90px}
 .ec-film--embed.ec-enhanced .ec-orbit-stage{position:relative;height:calc(100% - 230px);width:100%;max-width:none;padding:0;perspective:1550px;transform-style:preserve-3d;display:block;flex:1;z-index:1}
 .ec-film--embed.ec-enhanced .ec-orbit-card{position:absolute;top:50%;left:50%;width:min(43vw,max(300px,calc((100svh - 550px)*1.6)),650px);will-change:transform,opacity;transform-style:preserve-3d;margin:0!important}
 .ec-film--embed.ec-enhanced .ec-orbit-caption{width:100%;max-width:1320px;margin:auto!important;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;position:relative;z-index:3;padding:10px var(--ec-space) 0;min-height:104px}
}
@media(max-width:999px){
 .ec-film--embed .ec-orbit-stage{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .ec-film--embed .ec-case,.ec-film--embed .ec-case-reverse{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:65px 0;gap:30px}
 .ec-film--embed .ec-case-shot{height:auto;max-height:none;aspect-ratio:1.6}
 .ec-film--embed .ec-case-copy .ec-case-number{font-size:38px}
}
@media(max-width:599px){
 .ec-film--embed{--ec-space:24px}
 .ec-film--embed .ec-orbit-stage{grid-template-columns:1fr}
 .ec-film--embed .ec-orbit-heading{display:block}
 .ec-film--embed .ec-orbit-heading .wp-block-buttons{margin-top:22px}
 .ec-film--embed .ec-portfolio{padding-top:65px}
 .ec-film--embed .ec-case-shot{aspect-ratio:1.6}
 .ec-film--embed .ec-case-copy>p{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.ec-film--embed *, .ec-film--embed *::before,.ec-film--embed *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Public media revision 2.3. */

/* Bounded hero carousel. The fallback is a native horizontal rail at every size. */
.ethet-hero-section:has(.ec-film--hero){min-height:calc(100svh - 200px)!important;padding-block:24px!important}
.ethet-hero-inner:has(.ec-film--hero){max-width:1320px!important;width:100%!important}
.ethet-hero-inner:has(.ec-film--hero) .ethet-trust-pills{margin-bottom:12px!important}
.ethet-hero-inner:has(.ec-film--hero) .ethet-hero-buttons{margin-top:18px!important}
.ethet-hero-inner:has(.ec-film--hero) .ethet-hero-proofline{margin-top:18px!important}
.ec-film--hero{--ec-space:0px;margin:8px 0 0!important;text-align:left}
.ec-film--hero .ec-orbit,.ec-film--hero.ec-enhanced .ec-orbit{height:auto!important}
.ec-film--hero .ec-orbit-room,.ec-film--hero.ec-enhanced .ec-orbit-room{height:auto;min-height:0;position:relative;top:auto;padding:0;display:block}
.ec-film--hero .ec-orbit-heading,.ec-film--hero.ec-enhanced .ec-orbit-heading{padding:0;min-height:0;align-items:center;gap:20px}
.ec-film--hero .ec-orbit-heading-copy{position:relative}
.ec-film--hero .ec-orbit-heading h1{font-size:clamp(30px,3.4vw,46px);line-height:1.1;font-weight:800;color:#fff;margin:7px 0 0;letter-spacing:-.025em}
.ec-film--hero .ec-orbit-heading .ec-eyebrow{font-size:10px;color:var(--ec-blue);letter-spacing:.08em;line-height:1.4}
.ec-film--hero .ec-orbit-catalog-link{font-size:12px;white-space:nowrap}
.ec-film--hero .ec-embed-controls{padding:0;position:absolute;left:calc(100% + 18px);bottom:0;width:160px}
.ec-film--hero .ec-embed-motion{padding:5px 8px;font-size:10px;white-space:nowrap}
.ec-film--embed .ec-embed-controls[hidden]{display:none}
.ec-film--hero .ec-orbit-stage{display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:0;padding:16px 0 12px;max-width:100%;width:100%;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--ec-blue) transparent;touch-action:pan-x pan-y}
.ec-film--hero .ec-orbit-card{flex:0 0 min(65%,420px);scroll-snap-align:start;scroll-snap-stop:normal;margin:0!important}
.ec-film--hero .ec-orbit-stage::after{content:'';flex:0 0 max(0px,calc(100% - 420px));height:1px}
.ec-film--hero .ec-orbit-caption,.ec-film--hero.ec-enhanced .ec-orbit-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:0;min-height:52px}
.ec-film--hero .ec-orbit-caption-copy{flex:1;min-width:0}
.ec-film--hero:not([data-ec-ready="true"]) .ec-orbit-caption{display:none}
.ec-film--hero .ec-orbit-name{font-size:19px;margin-top:2px}
.ec-film--hero .ec-orbit-category{font-size:9px}
.ec-film--hero .ec-orbit-intervention{font-size:10px}
.ec-film--hero .ec-orbit-counter{display:flex;align-items:center;gap:16px;flex-shrink:0}
.ec-film--hero .ec-orbit-count{font-size:12px;min-width:50px}
.ec-film--hero .ec-orbit-scroll-hint,.ec-film--hero .ec-orbit-progress{display:none}
.ec-carousel-nav{display:flex;gap:8px;margin:0!important}
.ec-carousel-nav button{width:44px;height:44px;border:1px solid var(--ec-line);border-radius:50%;background:rgba(6,15,33,.7);color:#fff;font:inherit;font-size:21px;cursor:pointer}
.ec-carousel-nav button:hover{border-color:var(--ec-blue);background:rgba(163,199,245,.15)}
.ec-carousel-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:1000px) and (min-height:750px){
 .ec-film--hero.ec-enhanced .ec-orbit-stage{height:clamp(235px,30svh,300px);display:block;overflow:hidden;perspective:1550px;padding:0;margin:12px auto!important}
 .ec-film--hero.ec-enhanced .ec-orbit-stage::after{display:none}
 .ec-film--hero.ec-enhanced .ec-orbit-card{width:min(29vw,max(280px,calc((30svh - 65px)*1.6)),370px);top:50%;left:50%;position:absolute}
 .ec-film--hero.ec-enhanced .ec-card-name{padding-top:8px}
 .ec-film--hero.ec-enhanced .ec-card-category{padding-bottom:8px}
}
@media(max-width:999px),(max-height:749px){
 .ec-film--hero .ec-orbit-heading{display:flex}
 .ec-film--hero .ec-orbit-caption-copy,.ec-film--hero .ec-orbit-current-link{display:none}
 .ec-film--hero .ec-orbit-caption{justify-content:center;min-height:44px}
 .ec-film--hero .ec-orbit-card{flex-basis:min(82%,420px)}
}
@media(min-width:1000px) and (min-height:750px) and (max-height:850px){
 #etch-s1.ec-hero-scroll .ethet-section-next{margin-top:8px!important;margin-bottom:0!important}
 #etch-s1.ec-hero-scroll .ethet-hero-proofline{margin-top:12px!important;margin-bottom:0!important}
}
@media(max-width:599px){
 .wp-site-blocks>.wp-block-group:has(.ec-film--hero){padding-top:0!important;margin-block-start:0!important}
 .ethet-hero-section:has(.ec-film--hero){padding-inline:16px!important;min-height:0!important}
 .ethet-hero-inner:has(.ec-film--hero) .ethet-trust-pills{gap:6px!important;margin-bottom:10px!important}
 .ethet-hero-inner:has(.ec-film--hero) .ethet-trust-pills{flex-direction:row!important}
 .ethet-hero-inner:has(.ec-film--hero) .ethet-trust-pill{padding:5px 9px!important;font-size:11px!important}
 .ethet-hero-inner:has(.ec-film--hero) .ethet-trust-pill p{font-size:11px!important}
 .ec-film--hero .ec-orbit-heading{display:block;text-align:center}
 .ec-film--hero .ec-orbit-heading h1{font-size:30px}
 .ec-film--hero .ec-orbit-catalog-link{margin-top:8px!important;font-size:11px}
 .ec-film--hero .ec-orbit-stage{gap:12px;padding-top:14px;padding-bottom:8px}
 .ec-film--hero .ec-orbit-card{flex-basis:76%}
 .ec-film--hero .ec-orbit-stage::after{flex-basis:18%}
 .ec-film--hero .ec-card-name{padding:8px 12px 2px;font-size:12px}
 .ec-film--hero .ec-card-category,.ec-film--hero .ec-card-role{padding:0 12px 8px;font-size:9px}
 .ec-film--hero .ec-card-category{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .ec-film--hero .ec-card-role{display:none}
 .ec-film--hero .ec-orbit-caption .wp-block-buttons{display:none}
}

/* 2.6: viewport scenes. Only this portfolio page owns these overrides. */
html.ec-portfolio-document{scroll-padding-top:var(--ec-header-bottom,128px);scroll-snap-type:none!important}
.wp-site-blocks>.wp-block-group:has(.ec-film--hero){padding-top:0!important;margin-block-start:0!important}
.ethet-normalized-page:has(.ec-film--hero)>.ethet-section{min-height:var(--ec-panel-height,calc(100svh - 128px))!important;height:auto;padding:28px 24px!important;display:flex!important;align-items:center;justify-content:center;scroll-margin-top:var(--ec-header-bottom,128px)}
.ethet-normalized-page:has(.ec-film--hero) .ethet-section-inner{margin-inline:auto!important}
.ec-film--portfolio{margin:0!important}
.ec-film--portfolio .ec-portfolio{padding-top:0;padding-bottom:0}
.ec-film--portfolio .ec-portfolio-intro{min-height:var(--ec-panel-height,calc(100svh - 128px));display:flex;flex-direction:column;align-items:center;justify-content:center;margin-block:0!important;padding-block:35px;scroll-margin-top:var(--ec-header-bottom,128px)}
.ec-film--portfolio .ec-case{min-height:var(--ec-panel-height,calc(100svh - 128px));padding-block:45px;scroll-margin-top:var(--ec-header-bottom,128px)}
.ec-film--hero .ec-orbit-heading{display:flex;flex-direction:column;justify-content:center;text-align:center;gap:8px}
.ec-film--hero .ec-orbit-heading-copy{width:100%}
.ec-film--hero .ec-embed-controls{left:auto;right:0;bottom:auto;top:0;width:auto}
.ec-film--hero .ec-orbit-heading h1{font-size:clamp(30px,3.4vw,52px);margin:8px 0 0!important}
.ec-film--hero .ec-orbit-heading .ec-eyebrow{margin:0!important}
@media(min-width:1000px) and (min-height:750px){
 .ethet-normalized-page:has(.ec-film--hero)>#etch-s1{padding-block:16px!important;margin-top:16px!important}
 #etch-s1>.ethet-hero-inner:has(.ec-enhanced){max-width:1640px!important;height:auto;min-height:0;display:flex;flex-direction:column;gap:10px;justify-content:center;position:relative!important;top:auto}
 #etch-s1:has(.ec-enhanced) .ethet-trust-pills,#etch-s1:has(.ec-enhanced) .ethet-hero-buttons,#etch-s1:has(.ec-enhanced) .ethet-hero-proofline,#etch-s1:has(.ec-enhanced) .ethet-section-next{margin:0 auto!important;flex-shrink:0;width:100%}
 #etch-s1:has(.ec-enhanced) .ethet-hero-proofline{padding:0!important;min-height:0;gap:10px}
 #etch-s1:has(.ec-enhanced) .ethet-section-next{height:24px;min-height:0}
 .ec-film--hero.ec-enhanced{flex:0 0 auto;min-height:0;display:flex;flex-direction:column;margin:0!important;overflow:visible}
 .ec-film--hero.ec-enhanced .ec-orbit{flex:1;min-height:0;display:flex}
 .ec-film--hero.ec-enhanced .ec-orbit-room{flex:1;min-height:0;display:flex;flex-direction:column;height:auto;justify-content:center;gap:8px}
 .ec-film--hero.ec-enhanced .ec-orbit-heading{flex-shrink:0}
 .ec-film--hero.ec-enhanced .ec-orbit-stage{flex:none;height:clamp(230px,calc(var(--ec-panel-height,calc(100svh - 128px)) - 336px),720px);min-height:230px;margin:0!important;overflow:visible;perspective:1800px}
 .ec-film--hero.ec-enhanced .ec-orbit-card{width:var(--ec-card-width,560px)}
 .ec-film--hero.ec-enhanced .ec-orbit-caption{flex-shrink:0;min-height:52px;margin:0!important}
 .ec-film--hero.ec-enhanced .ec-orbit-progress{display:none}
 #etch-s1:has(.ec-enhanced) .ethet-trust-pills{display:none!important}
 .ec-film--hero.ec-enhanced .ec-orbit-heading{gap:6px}
 .ec-film--hero.ec-enhanced .ec-orbit-heading h1{font-size:clamp(30px,3vw,46px)}
 .ec-film--hero.ec-enhanced .ec-orbit-catalog-link{position:absolute;right:0;bottom:0;font-size:11px}
 .ec-film--hero.ec-enhanced .ec-orbit-caption{margin-inline:auto!important}
 .ec-film--hero.ec-enhanced .ec-card-category{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
 .ec-film--hero.ec-enhanced .ec-card-role{display:none}
}
@media(max-width:999px),(max-height:749px){
 .ec-film--hero .ec-embed-controls{position:static;justify-content:center;margin-top:8px}
 .ec-film--portfolio .ec-case{justify-content:center}
}
@media(max-width:599px){
 .ethet-normalized-page:has(.ec-film--hero)>.ethet-section{padding-inline:16px!important}
 .ec-film--portfolio .ec-case{min-height:0;padding-block:55px}
}
@media(min-width:1000px) and (min-height:750px) and (max-height:1000px){
 .ethet-normalized-page:has(.ec-film--hero)>.ethet-section:not(#etch-s1){padding-block:20px!important}
 .ethet-normalized-page:has(.ec-film--hero)>.ethet-section:not(#etch-s1) .ethet-section-header{margin-bottom:24px!important}
 .ethet-normalized-page:has(.ec-film--hero)>.ethet-section:not(#etch-s1) .ethet-section-next{margin-top:16px!important}
 .ethet-normalized-page:has(.ec-film--hero) #etch-s4 .etch-tarif-card{padding-top:90px!important;padding-bottom:20px!important}
}

/* 2.6.6: leave a clear reading gap above the smaller hero orbit. */
@media(min-width:1000px) and (min-height:750px){
 .ec-film--hero.ec-enhanced .ec-orbit-stage{height:clamp(220px,calc(var(--ec-panel-height,calc(100svh - 128px)) - 376px),680px);min-height:220px;margin-top:40px!important}
 .ec-film--hero.ec-enhanced .ec-orbit-card{width:calc(var(--ec-card-width,560px) * .8)}
}
@media(max-width:599px){
 .ec-film--hero .ec-orbit-stage{padding-top:24px}
}
