.elementor-89 .elementor-element.elementor-element-978d4071{--display:flex;--min-height:74vh;--justify-content:center;--padding-top:208px;--padding-bottom:200px;--padding-left:24px;--padding-right:24px;}.elementor-89 .elementor-element.elementor-element-978d4071:not(.elementor-motion-effects-element-type-background), .elementor-89 .elementor-element.elementor-element-978d4071 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://images.unsplash.com/photo-1542744173-8e7e53415bb0?auto=format&fit=crop&q=80&w=2000");background-position:center center;background-size:cover;}.elementor-89 .elementor-element.elementor-element-4d79bd1d{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-89 .elementor-element.elementor-element-f93929e5{font-family:var( --e-global-typography-pspsurt-font-family ), Sans-serif;font-size:var( --e-global-typography-pspsurt-font-size );font-weight:var( --e-global-typography-pspsurt-font-weight );text-transform:var( --e-global-typography-pspsurt-text-transform );line-height:var( --e-global-typography-pspsurt-line-height );letter-spacing:var( --e-global-typography-pspsurt-letter-spacing );color:var( --e-global-color-pspsag3 );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-89 .elementor-element.elementor-element-cf4339a5 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-pspcrem );}.elementor-89 .elementor-element.elementor-element-4bead2f5{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-pspsag1 );}.elementor-89 .elementor-element.elementor-element-bc521cd3{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:12px 16px;--row-gap:12px;--column-gap:16px;--flex-wrap:wrap;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-89 .elementor-element.elementor-element-dcbeda33 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-89 .elementor-element.elementor-element-dcbeda33 .elementor-button .elementor-button-content-wrapper{gap:8px;}.elementor-89 .elementor-element.elementor-element-1940dc38 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-89 .elementor-element.elementor-element-1940dc38 .elementor-button .elementor-button-content-wrapper{gap:8px;}.elementor-89 .elementor-element.elementor-element-d82192f2{--display:flex;--padding-top:0px;--padding-bottom:104px;--padding-left:24px;--padding-right:24px;}.elementor-89 .elementor-element.elementor-element-6ff6c54d{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;}.elementor-89 .elementor-element.elementor-element-95527a19{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-3560fc38{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );color:var( --e-global-color-pspnav9 );}.elementor-89 .elementor-element.elementor-element-98ad1dfe{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-pspmute );}.elementor-89 .elementor-element.elementor-element-95f90750{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-f660e654{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );color:var( --e-global-color-pspnav9 );}.elementor-89 .elementor-element.elementor-element-7d2c4951{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-pspmute );}.elementor-89 .elementor-element.elementor-element-10be9df8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-b6613d24{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );color:var( --e-global-color-pspnav9 );}.elementor-89 .elementor-element.elementor-element-17a21706{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-pspmute );}.elementor-89 .elementor-element.elementor-element-c32eab67{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-127be2fd{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );color:var( --e-global-color-pspnav9 );}.elementor-89 .elementor-element.elementor-element-ee543069{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-pspmute );}.elementor-89 .elementor-element.elementor-element-a917e98c{--display:flex;--padding-top:112px;--padding-bottom:112px;--padding-left:24px;--padding-right:24px;}.elementor-89 .elementor-element.elementor-element-a917e98c:not(.elementor-motion-effects-element-type-background), .elementor-89 .elementor-element.elementor-element-a917e98c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-pspcrem );}.elementor-89 .elementor-element.elementor-element-50049a24{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-946f4910{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:48px 56px;--row-gap:48px;--column-gap:56px;--flex-wrap:wrap;}.elementor-89 .elementor-element.elementor-element-e439a271{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-a0962671{font-family:var( --e-global-typography-pspsurt-font-family ), Sans-serif;font-size:var( --e-global-typography-pspsurt-font-size );font-weight:var( --e-global-typography-pspsurt-font-weight );text-transform:var( --e-global-typography-pspsurt-text-transform );line-height:var( --e-global-typography-pspsurt-line-height );letter-spacing:var( --e-global-typography-pspsurt-letter-spacing );color:var( --e-global-color-pspmute );}.elementor-89 .elementor-element.elementor-element-baba9104 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-pspnav9 );}.elementor-89 .elementor-element.elementor-element-36f6e6e1{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-89 .elementor-element.elementor-element-812da03d .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-89 .elementor-element.elementor-element-812da03d .elementor-button .elementor-button-content-wrapper{gap:8px;}.elementor-89 .elementor-element.elementor-element-aab673fd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-386f9ecc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-d352a7e1{--display:flex;}.elementor-89 .elementor-element.elementor-element-d352a7e1:not(.elementor-motion-effects-element-type-background), .elementor-89 .elementor-element.elementor-element-d352a7e1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://images.unsplash.com/photo-1502672260266-1c1ef2d93688?auto=format&fit=crop&q=80&w=1400");background-position:center center;background-size:cover;}.elementor-89 .elementor-element.elementor-element-57e57261{--display:flex;}.elementor-89 .elementor-element.elementor-element-57e57261:not(.elementor-motion-effects-element-type-background), .elementor-89 .elementor-element.elementor-element-57e57261 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://images.unsplash.com/photo-1583847268964-b28dc8f51f92?auto=format&fit=crop&q=80&w=1400");background-position:center center;background-size:cover;}.elementor-89 .elementor-element.elementor-element-88063007{--display:flex;--padding-top:112px;--padding-bottom:112px;--padding-left:24px;--padding-right:24px;}.elementor-89 .elementor-element.elementor-element-88063007:not(.elementor-motion-effects-element-type-background), .elementor-89 .elementor-element.elementor-element-88063007 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-pspsag0 );}.elementor-89 .elementor-element.elementor-element-2a16d6f3{--display:flex;--gap:38px 38px;--row-gap:38px;--column-gap:38px;}.elementor-89 .elementor-element.elementor-element-afb62dc2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-eca73357{text-align:center;font-family:var( --e-global-typography-pspsurt-font-family ), Sans-serif;font-size:var( --e-global-typography-pspsurt-font-size );font-weight:var( --e-global-typography-pspsurt-font-weight );text-transform:var( --e-global-typography-pspsurt-text-transform );line-height:var( --e-global-typography-pspsurt-line-height );letter-spacing:var( --e-global-typography-pspsurt-letter-spacing );color:var( --e-global-color-pspmute );}.elementor-89 .elementor-element.elementor-element-971e2c50{text-align:center;}.elementor-89 .elementor-element.elementor-element-971e2c50 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-pspnav9 );}.elementor-89 .elementor-element.elementor-element-84388953{text-align:center;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-89 .elementor-element.elementor-element-0b21bb47{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--flex-wrap:wrap;}.elementor-89 .elementor-element.elementor-element-24fd456c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-065f365b{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-b2c0bd1c .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );color:var( --e-global-color-pspnav9 );}.elementor-89 .elementor-element.elementor-element-ede69251{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-e3e94878{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-a2386954 .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );color:var( --e-global-color-pspnav9 );}.elementor-89 .elementor-element.elementor-element-73e1f551{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-d8b05a4e{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-c0cff70d .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );color:var( --e-global-color-pspnav9 );}.elementor-89 .elementor-element.elementor-element-87857173{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-0a68363d{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-3782989f .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );color:var( --e-global-color-pspnav9 );}.elementor-89 .elementor-element.elementor-element-81a13209{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-23e1f2d0{text-align:center;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-pspmute );}.elementor-89 .elementor-element.elementor-element-681a8dd5{--display:flex;--padding-top:120px;--padding-bottom:120px;--padding-left:24px;--padding-right:24px;}.elementor-89 .elementor-element.elementor-element-681a8dd5:not(.elementor-motion-effects-element-type-background), .elementor-89 .elementor-element.elementor-element-681a8dd5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://images.unsplash.com/photo-1509316975850-ff9c5deb0cd9?auto=format&fit=crop&q=80&w=2000");background-position:center center;background-size:cover;}.elementor-89 .elementor-element.elementor-element-cdbd62b5{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-971b37e8{text-align:center;color:var( --e-global-color-pspcrem );}.elementor-89 .elementor-element.elementor-element-47070dc4{--display:flex;--padding-top:112px;--padding-bottom:112px;--padding-left:24px;--padding-right:24px;}.elementor-89 .elementor-element.elementor-element-47070dc4:not(.elementor-motion-effects-element-type-background), .elementor-89 .elementor-element.elementor-element-47070dc4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-pspcrem );}.elementor-89 .elementor-element.elementor-element-0ce6425d{--display:flex;--gap:38px 38px;--row-gap:38px;--column-gap:38px;}.elementor-89 .elementor-element.elementor-element-d3acccf9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-59395b69{text-align:center;font-family:var( --e-global-typography-pspsurt-font-family ), Sans-serif;font-size:var( --e-global-typography-pspsurt-font-size );font-weight:var( --e-global-typography-pspsurt-font-weight );text-transform:var( --e-global-typography-pspsurt-text-transform );line-height:var( --e-global-typography-pspsurt-line-height );letter-spacing:var( --e-global-typography-pspsurt-letter-spacing );color:var( --e-global-color-pspmute );}.elementor-89 .elementor-element.elementor-element-333acd51{text-align:center;}.elementor-89 .elementor-element.elementor-element-333acd51 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-pspnav9 );}.elementor-89 .elementor-element.elementor-element-33f84b9b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:44px 56px;--row-gap:44px;--column-gap:56px;--flex-wrap:wrap;}.elementor-89 .elementor-element.elementor-element-042c304f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-fa360c3a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-89 .elementor-element.elementor-element-dc0a5c4a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-f73e4d01{--display:flex;}.elementor-89 .elementor-element.elementor-element-f73e4d01:not(.elementor-motion-effects-element-type-background), .elementor-89 .elementor-element.elementor-element-f73e4d01 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://images.unsplash.com/photo-1517048676732-d65bc937f952?auto=format&fit=crop&q=80&w=1400");background-position:center center;background-size:cover;}.elementor-89 .elementor-element.elementor-element-25c8d27e{--display:flex;--padding-top:112px;--padding-bottom:112px;--padding-left:24px;--padding-right:24px;}.elementor-89 .elementor-element.elementor-element-25c8d27e:not(.elementor-motion-effects-element-type-background), .elementor-89 .elementor-element.elementor-element-25c8d27e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-psprot0 );}.elementor-89 .elementor-element.elementor-element-eb5c8667{--display:flex;--gap:38px 38px;--row-gap:38px;--column-gap:38px;}.elementor-89 .elementor-element.elementor-element-4bed4ce8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-63748980{text-align:center;font-family:var( --e-global-typography-pspsurt-font-family ), Sans-serif;font-size:var( --e-global-typography-pspsurt-font-size );font-weight:var( --e-global-typography-pspsurt-font-weight );text-transform:var( --e-global-typography-pspsurt-text-transform );line-height:var( --e-global-typography-pspsurt-line-height );letter-spacing:var( --e-global-typography-pspsurt-letter-spacing );color:var( --e-global-color-pspmute );}.elementor-89 .elementor-element.elementor-element-65168f4c{text-align:center;}.elementor-89 .elementor-element.elementor-element-65168f4c .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-pspnav9 );}.elementor-89 .elementor-element.elementor-element-6d8c6405{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:22px 22px;--row-gap:22px;--column-gap:22px;--flex-wrap:wrap;}.elementor-89 .elementor-element.elementor-element-31b0db9b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-53125676 .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );color:var( --e-global-color-pspnav9 );}.elementor-89 .elementor-element.elementor-element-77433a45{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-89 .elementor-element.elementor-element-26f7e2da{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-5036d4cd .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );color:var( --e-global-color-pspnav9 );}.elementor-89 .elementor-element.elementor-element-7e215ae6{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-89 .elementor-element.elementor-element-11261e8a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-aad93fdb .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );color:var( --e-global-color-pspnav9 );}.elementor-89 .elementor-element.elementor-element-6b7aef31{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-89 .elementor-element.elementor-element-5c4a34e8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-702519fc .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-89 .elementor-element.elementor-element-702519fc .elementor-button .elementor-button-content-wrapper{gap:8px;}.elementor-89 .elementor-element.elementor-element-812bc795{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:6px 6px;--row-gap:6px;--column-gap:6px;}.elementor-89 .elementor-element.elementor-element-9113c443{text-align:center;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-pspmute );}.elementor-89 .elementor-element.elementor-element-29e54e1a .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-89 .elementor-element.elementor-element-29e54e1a .elementor-button .elementor-button-content-wrapper{gap:8px;}.elementor-89 .elementor-element.elementor-element-54948452{--display:flex;--padding-top:120px;--padding-bottom:120px;--padding-left:24px;--padding-right:24px;}.elementor-89 .elementor-element.elementor-element-54948452:not(.elementor-motion-effects-element-type-background), .elementor-89 .elementor-element.elementor-element-54948452 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-89 .elementor-element.elementor-element-f7e91c4b{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-89 .elementor-element.elementor-element-ec269359{text-align:center;font-family:var( --e-global-typography-pspsurt-font-family ), Sans-serif;font-size:var( --e-global-typography-pspsurt-font-size );font-weight:var( --e-global-typography-pspsurt-font-weight );text-transform:var( --e-global-typography-pspsurt-text-transform );line-height:var( --e-global-typography-pspsurt-line-height );letter-spacing:var( --e-global-typography-pspsurt-letter-spacing );color:var( --e-global-color-pspsag3 );}.elementor-89 .elementor-element.elementor-element-a2d847da{text-align:center;}.elementor-89 .elementor-element.elementor-element-a2d847da .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-pspcrem );}.elementor-89 .elementor-element.elementor-element-acb06425{text-align:center;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-pspsag1 );}.elementor-89 .elementor-element.elementor-element-8e4eccec .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-89 .elementor-element.elementor-element-8e4eccec .elementor-button .elementor-button-content-wrapper{gap:8px;}@media(max-width:1024px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-f93929e5{font-size:var( --e-global-typography-pspsurt-font-size );line-height:var( --e-global-typography-pspsurt-line-height );letter-spacing:var( --e-global-typography-pspsurt-letter-spacing );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-cf4339a5 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-4bead2f5{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-89 .elementor-element.elementor-element-3560fc38{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-98ad1dfe{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-f660e654{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-7d2c4951{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-b6613d24{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-17a21706{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-127be2fd{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-ee543069{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-a0962671{font-size:var( --e-global-typography-pspsurt-font-size );line-height:var( --e-global-typography-pspsurt-line-height );letter-spacing:var( --e-global-typography-pspsurt-letter-spacing );}.elementor-89 .elementor-element.elementor-element-baba9104 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-36f6e6e1{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-eca73357{font-size:var( --e-global-typography-pspsurt-font-size );line-height:var( --e-global-typography-pspsurt-line-height );letter-spacing:var( --e-global-typography-pspsurt-letter-spacing );}.elementor-89 .elementor-element.elementor-element-971e2c50 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-84388953{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-065f365b{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-b2c0bd1c .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-e3e94878{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-a2386954 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-d8b05a4e{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-c0cff70d .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-0a68363d{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-3782989f .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-23e1f2d0{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-59395b69{font-size:var( --e-global-typography-pspsurt-font-size );line-height:var( --e-global-typography-pspsurt-line-height );letter-spacing:var( --e-global-typography-pspsurt-letter-spacing );}.elementor-89 .elementor-element.elementor-element-333acd51 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-fa360c3a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-63748980{font-size:var( --e-global-typography-pspsurt-font-size );line-height:var( --e-global-typography-pspsurt-line-height );letter-spacing:var( --e-global-typography-pspsurt-letter-spacing );}.elementor-89 .elementor-element.elementor-element-65168f4c .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-53125676 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-77433a45{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-5036d4cd .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-7e215ae6{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-aad93fdb .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-6b7aef31{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-9113c443{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-ec269359{font-size:var( --e-global-typography-pspsurt-font-size );line-height:var( --e-global-typography-pspsurt-line-height );letter-spacing:var( --e-global-typography-pspsurt-letter-spacing );}.elementor-89 .elementor-element.elementor-element-a2d847da .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-acb06425{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-89 .elementor-element.elementor-element-978d4071{--min-height:78vh;--padding-top:156px;--padding-bottom:128px;--padding-left:20px;--padding-right:20px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-f93929e5{font-size:var( --e-global-typography-pspsurt-font-size );line-height:var( --e-global-typography-pspsurt-line-height );letter-spacing:var( --e-global-typography-pspsurt-letter-spacing );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-cf4339a5 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-4bead2f5{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-89 .elementor-element.elementor-element-d82192f2{--padding-top:0px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-89 .elementor-element.elementor-element-3560fc38{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-98ad1dfe{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-f660e654{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-7d2c4951{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-b6613d24{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-17a21706{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-127be2fd{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-ee543069{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-a917e98c{--padding-top:80px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-89 .elementor-element.elementor-element-a0962671{font-size:var( --e-global-typography-pspsurt-font-size );line-height:var( --e-global-typography-pspsurt-line-height );letter-spacing:var( --e-global-typography-pspsurt-letter-spacing );}.elementor-89 .elementor-element.elementor-element-baba9104 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-36f6e6e1{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-88063007{--padding-top:80px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-89 .elementor-element.elementor-element-eca73357{font-size:var( --e-global-typography-pspsurt-font-size );line-height:var( --e-global-typography-pspsurt-line-height );letter-spacing:var( --e-global-typography-pspsurt-letter-spacing );}.elementor-89 .elementor-element.elementor-element-971e2c50 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-84388953{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-065f365b{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-b2c0bd1c .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-e3e94878{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-a2386954 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-d8b05a4e{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-c0cff70d .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-0a68363d{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-3782989f .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-23e1f2d0{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-681a8dd5{--padding-top:88px;--padding-bottom:88px;--padding-left:20px;--padding-right:20px;}.elementor-89 .elementor-element.elementor-element-47070dc4{--padding-top:80px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-89 .elementor-element.elementor-element-59395b69{font-size:var( --e-global-typography-pspsurt-font-size );line-height:var( --e-global-typography-pspsurt-line-height );letter-spacing:var( --e-global-typography-pspsurt-letter-spacing );}.elementor-89 .elementor-element.elementor-element-333acd51 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-fa360c3a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-25c8d27e{--padding-top:80px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-89 .elementor-element.elementor-element-63748980{font-size:var( --e-global-typography-pspsurt-font-size );line-height:var( --e-global-typography-pspsurt-line-height );letter-spacing:var( --e-global-typography-pspsurt-letter-spacing );}.elementor-89 .elementor-element.elementor-element-65168f4c .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-53125676 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-77433a45{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-5036d4cd .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-7e215ae6{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-aad93fdb .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-6b7aef31{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-9113c443{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-89 .elementor-element.elementor-element-54948452{--padding-top:88px;--padding-bottom:88px;--padding-left:20px;--padding-right:20px;}.elementor-89 .elementor-element.elementor-element-ec269359{font-size:var( --e-global-typography-pspsurt-font-size );line-height:var( --e-global-typography-pspsurt-line-height );letter-spacing:var( --e-global-typography-pspsurt-letter-spacing );}.elementor-89 .elementor-element.elementor-element-a2d847da .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-89 .elementor-element.elementor-element-acb06425{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}/* Start custom CSS *//* =========================================================================
   PÔLE SANTÉ PSY · SOCLE DE FORMES ET D'ANIMATIONS
   Créé le 6 août 2026, à partir de la page Consultations (page 85).

   À QUOI SERT CE FICHIER
   C'est la couche d'ambiance du site, extraite de la page où elle a été mise
   au point, pour que les pages suivantes ne la réinventent pas. Il se colle
   TEL QUEL en tête du CSS de page, avant les règles propres à la page.
   Rien ici n'est spécifique à Consultations : aucune URL, aucun identifiant de
   page, aucun contenu. Seuls les DÉCALAGES de halos section par section sont à
   écrire dans le CSS de la page, et le §4 ci-dessous dit comment.

   TROIS COUCHES, PAS UNE DE PLUS. C'est la règle du §5 de CLAUDE.md, et c'est
   ce qui distingue un site vivant d'un sapin de Noël :
     1. APPARITIONS     fadeInUp 24px, 0,6s, décalage 80ms, déclenchement unique
     2. SURVOL          une micro-interaction par famille d'objet
     3. AMBIANCE        halos organiques, courbes, motif de pluie
   N'ajoute pas de quatrième couche. Si une page semble en avoir besoin, c'est
   qu'il lui manque une image ou une respiration, pas une animation.

   CINQ RÈGLES D'ÉCRITURE, toutes payées au moins une fois
   ---------------------------------------------------------------------------
   1. RÉPÉTITION DE CLASSE, jamais de préfixe d'identifiant de page.
      `.psp-x.psp-x.psp-x` vaut 0-3-0 et survit à une copie de page.
      `.elementor-page-85 .psp-x` fait le même travail et MEURT à la copie :
      c'est la cause des 42 sélecteurs morts du §19 étape 3.
   2. TOUTE RÈGLE QUI HABILLE UN TITRE RÉPÈTE SA CLASSE (0-4-0).
      Elementor émet ses contrôles de widget APRÈS le CSS personnalisé, et
      `.elementor-element-XXXX .elementor-heading-title` vaut 0-2-0 comme
      `.psp-x-titre .elementor-heading-title`. À spécificité égale, la sienne
      gagne : sans répétition, TOUS les titres sortent à la typographie globale.
      Constaté le 6 août 2026 sur les quatre pages du site.
   3. LES BORNES DE MESURE DE LECTURE S'ÉCRIVENT EN `em`, JAMAIS EN px.
      590px donne 72 caractères à 18px et 92 à 14px : une borne en pixels
      suppose une taille de police et ment dès qu'elle change. 33em ≈ 72
      caractères quelle que soit la taille.
   4. `var(--psp-titre, "Fraunces"), sans-serif` TOUJOURS avec son repli.
      La variable n'est définie nulle part sur le site : sans repli, la règle
      retombe silencieusement sur Source Sans 3.
   5. UNE RANGÉE ORPHELINE SE CORRIGE EN IMPOSANT LA GRILLE, jamais en
      ajustant le `flex-basis`. Voir §5 de ce fichier.
   ========================================================================= */


/* ==========================================================================
   1. GARDE-FOUS. À coller en premier, avant toute autre règle.
   ========================================================================== */

/* §18 pièges 2 et 3 : une animation d'entrée portée par un container masque
   son contenu POUR DE BON, parce que le container reçoit `elementor-invisible`
   mais que son `data-settings` sort vide et que le JS ne le révèle jamais.
   Règle : aucune animation sur un container, elles descendent sur les widgets.
   Cette ligne est la ceinture : l'apparition devient une amélioration
   progressive, jamais une condition d'affichage. */
.elementor-invisible { visibility: visible !important; }

/* §18 piège 4 : Elementor insère une cale sous un en-tête sticky, qui pousse
   le hero de 128px au lieu de l'y superposer. Le §8 veut la superposition. */
.elementor-sticky__spacer { display: none !important; }

/* Le §5 exige un anneau de mise au point visible, qu'Elementor supprime. */
:focus-visible {
  outline: 3px solid var(--psp-navy-700);
  outline-offset: 2px;
  border-radius: 2px;
}


/* ==========================================================================
   2. LES DEUX ANIMATIONS DE FOND. Aucune autre keyframe sur le site.
   ========================================================================== */

/* Déformation lente d'une forme organique. C'est le moteur de toute
   l'ambiance : halos de section, pastille du collage, formes libres. */
@keyframes psp-morph {
  0%   { border-radius: 62% 38% 47% 53% / 55% 44% 56% 45%; transform: translate3d(0,0,0) rotate(0deg); }
  33%  { border-radius: 38% 62% 63% 37% / 41% 58% 42% 59%; transform: translate3d(0,-14px,0) rotate(3deg); }
  66%  { border-radius: 55% 45% 34% 66% / 62% 36% 64% 38%; transform: translate3d(0,8px,0) rotate(-2deg); }
  100% { border-radius: 62% 38% 47% 53% / 55% 44% 56% 45%; transform: translate3d(0,0,0) rotate(0deg); }
}

/* Motif de pluie, fil rouge visuel arrêté au §2. Ne s'emploie que sur les
   fonds sombres : hero et bande de respiration. */
@keyframes psp-pluie {
  from { transform: translate3d(0, -10px, 0); }
  to   { transform: translate3d(0, 0, 0); }
}


/* ==========================================================================
   3. HALOS DE SECTION · classe `psp-forme`
   Deux halos par section, portés par les pseudo-éléments du container.
   Se pose sur n'importe quelle section. `--rose` inverse les deux couleurs.
   ========================================================================== */

.psp-forme { position: relative; overflow: hidden; isolation: isolate; }

.psp-forme::before,
.psp-forme::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  animation: psp-morph 26s ease-in-out infinite;
}

.psp-forme::before {
  inset-inline-end: -10%;
  inset-block-start: -14%;
  inline-size: 44vw; block-size: 44vw;
  max-inline-size: 560px; max-block-size: 560px;
  background: radial-gradient(closest-side, var(--psp-sage-100), transparent 74%);
}

.psp-forme::after {
  inset-inline-start: -12%;
  inset-block-end: -18%;
  inline-size: 34vw; block-size: 34vw;
  max-inline-size: 430px; max-block-size: 430px;
  background: radial-gradient(closest-side, var(--psp-rose-100), transparent 74%);
  animation-duration: 34s;
  animation-direction: reverse;
}

.psp-forme--rose::before { background: radial-gradient(closest-side, var(--psp-rose-100), transparent 74%); }
.psp-forme--rose::after  { background: radial-gradient(closest-side, var(--psp-sage-100), transparent 74%); }

/* ATTENTION. `overflow: hidden` crée un conteneur de défilement, ce qui
   NEUTRALISE silencieusement le `position: sticky` de tout descendant : le
   `position` calculé sort bien à `sticky` et rien ne bouge. Sur une section qui
   contient une colonne collante, écrire `overflow: clip`, qui confine
   exactement pareil sans créer ce conteneur. */
/* .ma-section.ma-section.ma-section { overflow: clip; } */

/* Sur fond marine, les halos en teintes pleines éclaircissent le fond en
   plaques. Version translucide, à poser sur toute section sombre. */
.psp-sombre.psp-forme::before {
  background: radial-gradient(closest-side, rgba(79, 107, 87, .42), transparent 72%);
  inset-block-start: -16%; inset-inline-end: -12%;
}
.psp-sombre.psp-forme::after {
  background: radial-gradient(closest-side, rgba(142, 78, 86, .38), transparent 72%);
  inset-block-end: -20%; inset-inline-start: -10%;
}


/* ==========================================================================
   4. TROISIÈME HALO · classe `psp-halo`, sur le container INTÉRIEUR
   Un `psp-forme` n'a que deux pseudo-éléments donc deux halos, et deux halos
   aux angles laissent tout le centre plat. Sur une section qui porte une
   grille de quatre ou cinq blocs, ce troisième halo empêche le fond d'être uni.
   Il tourne en 52s contre 26 et 34 : trois durées premières entre elles, donc
   le motif ne se rejoue jamais à l'identique.
   À RÉSERVER aux sections les plus denses. Deux ou trois par page, pas plus.
   ========================================================================== */

.psp-halo { position: relative; }

.psp-halo::before {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  inset-block-start: 18%;
  inset-inline-start: 22%;
  inline-size: 56vw;
  block-size: 56vw;
  max-inline-size: 760px;
  max-block-size: 760px;
  transform: translate(-50%, -20%);
  background: radial-gradient(closest-side, rgba(168, 191, 168, .30), transparent 72%);
  animation: psp-morph 52s ease-in-out infinite;
}

/* DÉCALAGES SECTION PAR SECTION, à écrire dans le CSS DE LA PAGE et pas ici.
   Si le halo revient au même endroit d'une section à l'autre, le motif devient
   un gabarit. Chaque page redéfinit ses positions, et elles doivent différer
   de celles des pages voisines. Gabarit à recopier :

   .ma-section::before { inset-block-start: -20%; inset-inline-end: -18%; inline-size: 42vw; block-size: 42vw; }
   .ma-section::after  { inset-block-end: -22%; inset-inline-start: -10%; inline-size: 28vw; block-size: 28vw; }

   Pour pousser un halo à gauche, penser à remettre `inset-inline-end: auto`,
   sinon les deux insets se battent. */


/* ==========================================================================
   5. SÉPARATIONS COURBES · classe `psp-courbe`
   La section remonte de 68px sur la précédente et lui présente un bord
   elliptique : la couleur du dessus déborde dans les angles et la transition
   devient un mouvement au lieu d'une ligne.

   QUATRE PAR PAGE, réparties. Sur treize sections ce serait un tic ; sur
   quatre c'est un rythme.
   Aucune image, aucun JavaScript, aucun pseudo-élément consommé : la courbe est
   un rayon de bordure sur la section elle-même, donc elle cohabite avec les
   halos de `psp-forme`.
   NE PAS la poser sur une section qui porte déjà une marge négative, comme le
   panneau de repères à cheval.
   ========================================================================== */

.psp-courbe {
  border-start-start-radius: 50% 68px;
  border-start-end-radius: 50% 68px;
  margin-block-start: -68px !important;
  padding-block-start: 180px !important;
  position: relative;
  z-index: 2;
}

@media (max-width: 767px) {
  .psp-courbe {
    border-start-start-radius: 50% 40px;
    border-start-end-radius: 50% 40px;
    margin-block-start: -40px !important;
    padding-block-start: 120px !important;
  }
}


/* ==========================================================================
   6. HERO · photographie sous voile marine, plus motif de pluie
   Composant du §17, identique sur les quatre pages. C'est ce voile qui rend
   lisibles le logo clair et la navigation blanche exigés au §8.
   ========================================================================== */

.psp-hero { position: relative; overflow: hidden; isolation: isolate; }

.psp-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(100deg,
      rgba(15, 37, 64, .96) 0%,
      rgba(15, 37, 64, .90) 34%,
      rgba(15, 37, 64, .66) 62%,
      rgba(22, 50, 79, .48) 100%),
    radial-gradient(70% 90% at 88% 18%, rgba(79, 107, 87, .40), transparent 70%);
}

.psp-hero::after {
  content: "";
  position: absolute;
  inset: -40% -25%;
  z-index: -1;
  background-image: repeating-linear-gradient(
    15deg,
    rgba(221, 231, 218, .14) 0 1px,
    transparent 1px 10px);
  mask-image: radial-gradient(ellipse 80% 75% at 76% 12%, #000 5%, transparent 74%);
  -webkit-mask-image: radial-gradient(ellipse 80% 75% at 76% 12%, #000 5%, transparent 74%);
  animation: psp-pluie 6.5s linear infinite;
  pointer-events: none;
}

/* En mobile, le voile passe en vertical : le dégradé oblique laisse le bas du
   texte sur la partie claire de l'image. */
@media (max-width: 767px) {
  .psp-hero::before {
    background:
      linear-gradient(180deg,
        rgba(15, 37, 64, .90) 0%,
        rgba(15, 37, 64, .93) 55%,
        rgba(15, 37, 64, .96) 100%);
  }
}

/* RYTHME VERTICAL DU HERO. Un hero se juge à CINQ écarts, jamais à sa hauteur
   totale. Valeurs mesurées et validées (§21, §22) :
     sous l'en-tête            96 à 190   (64 à 190 en mobile)
     surtitre vers titre       10 à 24
     titre vers bloc suivant   18 à 40
     dernier texte vers boutons 28 à 60
     BOUTONS VERS CE QUI SUIT  88 à 150   <- celui qu'on oublie
   Le cinquième décide de la sensation d'étouffement, parce que le panneau à
   cheval remonte de 84px DANS le hero et mange cet espace sans que ça
   apparaisse dans les réglages Elementor.
   Piège de compensation : aérer le haut d'un hero à hauteur fixe et contenu
   centré PREND l'espace en bas. Toujours re-mesurer le bas après avoir aéré. */
.psp-surtitre--clair { margin-block-end: 14px !important; }
.psp-hero-titre { margin-block-end: 26px !important; }
.psp-hero-titre .elementor-heading-title { text-wrap: balance; }
.psp-hero-chapo { max-inline-size: 33em; }
.psp-hero-chapo p { max-inline-size: 33em; margin: 0; }
.psp-hero-inner > .e-con-inner { margin-inline: auto; }
.psp-hero-actions { padding-block-start: 38px !important; }
.psp-hero-actions > .e-con-inner,
.psp-hero-actions { align-items: center; }

@media (max-width: 767px) {
  .psp-hero-inner > .e-con-inner { max-inline-size: 100%; }
  .psp-hero-actions { padding-block-start: 32px !important; }
}


/* ==========================================================================
   7. BANDE DE RESPIRATION · classe `psp-respire`
   Une pause dans le parcours, sur une page longue. Photographie pleine largeur
   sous voile marine, motif de pluie plus large et plus lent que celui du hero,
   une seule ligne en Fraunces.

   UNE SEULE PAR PAGE, et pas dans le même registre que celle des voisines :
   l'Accueil porte une citation sur fond sauge clair, Consultations une
   affirmation de méthode sur fond sombre. Deux pauses, deux registres.
   La photographie est décorative : le sens est porté par la ligne de texte,
   il n'y a donc pas de texte alternatif à inventer.
   ========================================================================== */

.psp-respire { position: relative; overflow: hidden; isolation: isolate; }

.psp-respire::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(180deg,
      rgba(15, 37, 64, .93) 0%,
      rgba(22, 50, 79, .86) 50%,
      rgba(15, 37, 64, .93) 100%),
    radial-gradient(60% 120% at 20% 50%, rgba(79, 107, 87, .34), transparent 72%);
}

.psp-respire::after {
  content: "";
  position: absolute;
  inset: -50% -30%;
  z-index: -1;
  background-image: repeating-linear-gradient(
    12deg,
    rgba(221, 231, 218, .13) 0 1px,
    transparent 1px 13px);
  mask-image: radial-gradient(ellipse 90% 90% at 50% 50%, #000 10%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 90% 90% at 50% 50%, #000 10%, transparent 78%);
  animation: psp-pluie 9s linear infinite;
  pointer-events: none;
}

.psp-respire-inner > .e-con-inner {
  max-inline-size: 820px;
  margin-inline: auto;
  text-align: center;
}

/* Widget de TEXTE et non de titre : une grande phrase décorative ne doit pas
   entrer dans la hiérarchie des titres de la page. */
.psp-respire-ligne p {
  margin: 0;
  font-family: var(--psp-titre, "Fraunces"), sans-serif;
  font-size: clamp(27px, 3.4vw, 44px);
  font-weight: 400;
  line-height: 1.28;
  letter-spacing: -.005em;
  text-wrap: balance;
}


/* ==========================================================================
   8. COLLAGE PHOTO · classes `psp-collage`, `psp-collage-a`, `psp-collage-b`
   Grande image à contour organique, vignette en chevauchement, pastille sauge
   qui se déforme derrière. C'est le composant qui casse un mur de texte quand
   une section n'a qu'une colonne.

   Les deux emplacements sont des containers VIDES : leurs URL vivent dans le
   bloc d'emplacements photo généré en fin de CSS de page, jamais ici.
   ========================================================================== */

.psp-collage {
  position: relative;
  padding-block-end: 76px !important;
  padding-inline-end: 62px !important;
}

.psp-collage-a,
.psp-collage-b {
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  transition: border-radius .5s var(--psp-ease), box-shadow .35s var(--psp-ease);
}

.psp-collage-a {
  min-block-size: 380px;
  border-radius: 46% 54% 40% 60% / 12% 12% 88% 88%;
  box-shadow: var(--psp-ombre);
  width: 100%;
  max-width: 100%;
}

.psp-collage:hover .psp-collage-a { border-radius: 40% 60% 46% 54% / 16% 16% 84% 84%; }

.psp-collage-b {
  position: absolute;
  inset-block-end: 0;
  inset-inline-end: 0;
  inline-size: 58%;
  min-block-size: 200px;
  border-radius: 18px;
  border: 8px solid var(--psp-cream);
  box-shadow: var(--psp-ombre-fo);
}

.psp-collage:hover .psp-collage-b {
  box-shadow: 0 4px 8px rgba(15, 37, 64, .10), 0 22px 50px rgba(15, 37, 64, .20);
}

.psp-collage::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset-block-start: -30px;
  inset-inline-start: -36px;
  inline-size: 172px;
  block-size: 172px;
  background: var(--psp-sage-100);
  border-radius: 62% 38% 47% 53% / 55% 44% 56% 45%;
  animation: psp-morph 24s ease-in-out infinite;
}

@media (max-width: 900px) {
  .psp-collage { padding-inline-end: 44px !important; padding-block-end: 58px !important; }
  .psp-collage-a { min-block-size: 300px; }
}


/* ==========================================================================
   9. EMPLACEMENT PHOTO EN TÊTE DE CARTE · classe `psp-carte-photo`
   Zoom doux au survol, coins bas qui s'arrondissent un peu plus.

   UN EMPLACEMENT PHOTO EST UN CONTAINER VIDE, ET UN CONTAINER VIDE NE PREND
   AUCUNE HAUTEUR. Sans `min-block-size`, le fond est bien posé et l'image est
   INVISIBLE, et un contrôle qui teste `backgroundImage !== none` ne le voit
   pas. Trois garde-fous cumulés, dans cet ordre : le parent étire, l'emplacement
   fait 100%, et `no-repeat` plus `cover` empêchent toute tuile.
   ========================================================================== */

.psp-carte-photo {
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  min-block-size: 210px;
  border-radius: 0 0 28px 28px;
  transition: border-radius .45s var(--psp-ease), transform .55s var(--psp-ease);
  transform-origin: center;
}

/* Le zoom passe par `transform` et non par `background-size` : la carte porte
   `overflow: hidden`, donc le débordement est masqué proprement, et on ne
   dépend plus d'une valeur qui déformait l'image. */
.psp-carte:hover .psp-carte-photo,
.psp-carte:focus-within .psp-carte-photo {
  transform: scale(1.05);
  border-radius: 0 0 42px 42px;
}


/* ==========================================================================
   10. MICRO-INTERACTIONS · une par famille d'objet, jamais deux
   Toute carte, tout panneau, tout bloc cliquable ou survolable du site prend
   `psp-leve`. Le filet de couleur qui s'allonge prend `psp-filet`.
   ========================================================================== */

.psp-leve {
  transition: transform .3s var(--psp-ease), box-shadow .3s var(--psp-ease);
}

.psp-leve:hover,
.psp-leve:focus-within {
  transform: translateY(-6px);
  box-shadow: var(--psp-ombre-fo);
}

/* Variante douce, pour les blocs de texte sans ombre au repos. */
.psp-leve--doux:hover { transform: translateY(-4px); box-shadow: var(--psp-ombre); }

/* Filet de couleur en tête de bloc, qui s'allonge au survol. */
.psp-filet { position: relative; }

.psp-filet::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 30px;
  inline-size: 44px;
  block-size: 3px;
  border-radius: 0 0 3px 3px;
  background: var(--psp-sage-600);
  transition: inline-size .3s var(--psp-ease);
}

.psp-filet:hover::before { inline-size: 76px; }

.psp-filet--marine::before { background: var(--psp-navy-600); }
.psp-filet--rose::before   { background: var(--psp-rose-700); }
.psp-filet--sauge::before  { background: var(--psp-sage-500); }

/* Barre pleine largeur en tête de panneau, variante sans survol. */
.psp-barre { position: relative; overflow: hidden; }

.psp-barre::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline: 0;
  block-size: 4px;
  z-index: 3;
  background: var(--psp-sage-600);
}

.psp-barre--marine::before { background: var(--psp-navy-600); }
.psp-barre--rose::before   { background: var(--psp-rose-700); }


/* ==========================================================================
   11. SIGNES GRAPHIQUES RÉCURRENTS
   Filet avant le surtitre, trait dégradé sous le titre de section centré,
   puces en goutte. C'est ce qui fait qu'une page nouvelle appartient au site.
   ========================================================================== */

.psp-surtitre p { margin: 0; }
.psp-surtitre--centre { margin-block-end: 12px; }
.psp-surtitre--clair p { color: var(--psp-sage-300); }

.psp-surtitre p::before {
  content: "";
  display: inline-block;
  inline-size: 28px;
  block-size: 2px;
  margin-inline-end: 12px;
  vertical-align: middle;
  background: currentColor;
  opacity: .6;
}

.psp-surtitre--centre p::after {
  content: "";
  display: inline-block;
  inline-size: 28px;
  block-size: 2px;
  margin-inline-start: 12px;
  vertical-align: middle;
  background: currentColor;
  opacity: .6;
}

/* AIR SOUS UN TITRE DE SECTION. Corrigé dans le socle le 6 août 2026, dette
   annoncée au §27.8 point 9. La règle d'origine était
   `.psp-section-titre { margin-block-end: 4px }`, et le §27.3 l'expliquait par
   un calibrage sur le titre CENTRÉ, qui reçoit ensuite le trait dégradé de
   22 px.

   MESURE FAITE AVANT DE CORRIGER, sur les cinq pages en ligne : ce n'était pas
   ça. LA RÈGLE NE S'APPLIQUAIT PAS DU TOUT. `margin-block-end` calculé = 0px
   sur les quatre pages publiées, alors que le socle écrit 4px. À 0-1-0 elle
   perd contre la marge de widget qu'Elementor émet dans le CSS du document
   APRÈS le CSS personnalisé : c'est le mécanisme du §26.4bis sur les titres et
   du §18 sur les boutons, ici appliqué à une marge. Les deux rustines de la
   page 87 ne fonctionnaient que parce qu'elles portaient `!important`.

   Écarts titre / bloc suivant relevés à 1440 px avant correction :
     Consultations  « Pourquoi consulter »       -2 px
     Consultations  « Quelles approches »        -2 px
     Qui suis-je    « Formations et diplômes »   14 px
     Prendre RDV    « Où me trouver »            16 px
     Accueil        « Un pôle spécialisé »       30 px
   Norme retenue, celle du §21 pour « titre vers bloc suivant » : 18 à 40 px.

   DEUX RÈGLES, PAS UNE. La marge seule ne suffit pas : l'écart dépendait aussi
   de la marge haute du bloc suivant, qui vaut 18 px sur `psp-texte`, 6 sur un
   `psp-liste` et 0 ailleurs. Même intention, trois résultats. La seconde règle
   la neutralise, pour que l'air vienne d'un seul endroit. */
.psp-section-titre.psp-section-titre.psp-section-titre { margin-block-end: 20px; }

/* Un titre CENTRÉ tire son air du trait dégradé ci-dessous (le `margin: 22px
   auto 0` du ::after). Il ne prend donc pas la marge. Même spécificité, écrite
   après, donc elle gagne. */
.psp-section-titre--centre.psp-section-titre--centre.psp-section-titre--centre { margin-block-end: 0; }

/* Elementor 7 ne pose PAS de `.elementor-widget-container` : le paragraphe est
   enfant DIRECT du widget. Vérifié dans le DOM le 6 août 2026, ne pas le
   supposer. 0-3-1, ce qui bat les 0-1-1 de `.psp-texte p` et `.psp-liste ul`. */
.psp-section-titre.psp-section-titre:not(.psp-section-titre--centre) + .elementor-element > p:first-child,
.psp-section-titre.psp-section-titre:not(.psp-section-titre--centre) + .elementor-element > ul:first-child {
  margin-block-start: 0;
}

.psp-section-titre--centre .elementor-heading-title::after {
  content: "";
  display: block;
  inline-size: 64px;
  block-size: 3px;
  margin: 22px auto 0;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--psp-sage-300), var(--psp-rose-300));
}

/* Puce en goutte, pas un rond : rappel du fil rouge de la pluie. */
.psp-liste ul { margin: 6px 0 0; padding: 0; list-style: none; }

.psp-liste li {
  position: relative;
  padding-inline-start: 28px;
  margin-block-end: 9px;
  font-size: 16px;
  line-height: 1.6;
  max-inline-size: 33em;
}

.psp-liste li:last-child { margin-block-end: 0; }

.psp-liste li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: .58em;
  inline-size: 11px;
  block-size: 11px;
  background: var(--psp-sage-300);
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
}

.psp-liste--marine li::before { background: var(--psp-navy-600); }
.psp-liste--rose li::before   { background: var(--psp-rose-300); }

/* Amorce de citation : filet vertical, Fraunces italique. À distinguer de la
   bande de respiration, qui est pleine largeur. Deux formes, deux usages. */
.psp-citation-amorce p {
  margin: 0;
  padding-inline-start: 26px;
  border-inline-start: 3px solid var(--psp-sage-500);
  font-family: var(--psp-titre, "Fraunces"), sans-serif;
  font-size: clamp(21px, 2.1vw, 27px);
  font-weight: 400;
  font-style: italic;
  line-height: 1.42;
  color: var(--psp-navy-900);
  max-inline-size: 26em;
  text-wrap: balance;
}

/* Fraunces rend le & en esperluette ornementale, illisible dans un titre. Le
   §19 tranche : écrire « et ». Cette règle est une ceinture, à étendre à toute
   nouvelle classe de titre de la page. */
.psp-section-titre .elementor-heading-title { font-variant-ligatures: none; font-feature-settings: "dlig" 0; }

/* CEINTURE DE COUPURE DES TITRES. Trouvée le 6 août 2026 en construisant
   /entreprises/, par le contrôle de débordement de titre du §26.4bis.

   Le §26.4bis pose `overflow-wrap: break-word` sur les titres de CARTE, jamais
   sur le H1 ni sur les titres de SECTION, qui sont pourtant les plus gros de la
   page : à 35px en mobile, un mot de quatorze lettres sort de sa boîte. Mesuré
   à 375px : « Accompagnement » débordait de 10px, « fonctionnement » de 23.

   `hyphens: auto` et PAS `overflow-wrap` seul. La page est servie en
   `lang="fr-FR"`, donc le navigateur coupe aux vraies césures françaises et
   pose le trait d'union ; `overflow-wrap` couperait n'importe où, au milieu
   d'un mot, dans un H1 en Fraunces. Le second reste en dernier recours, pour un
   mot qu'aucun motif de césure ne sait couper (une URL, un sigle long).
   Vérifié au banc d'essai à 375px : zéro débordement avec `hyphens` seul. */
.psp-hero-titre.psp-hero-titre.psp-hero-titre .elementor-heading-title,
.psp-section-titre.psp-section-titre.psp-section-titre .elementor-heading-title {
  hyphens: auto;
  overflow-wrap: break-word;
}

/* Marqueur de chantier (§14) : une donnée manque, on l'affiche au lieu de
   l'inventer. À retirer dès que la cliente a répondu. */
.psp-attente-texte p {
  margin: 14px 0 0;
  font-size: 13px;
  font-style: italic;
  color: var(--psp-muted);
  max-inline-size: 33em;
}

.psp-attente-bloc {
  margin-block-start: 14px;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px dashed var(--psp-sage-500);
  background: var(--psp-sage-50);
}

.psp-attente-bloc p { margin: 0; font-size: 14px; line-height: 1.6; font-style: italic; max-inline-size: 33em; }


/* ==========================================================================
   12. MESURE DE LECTURE. En `em`, toujours.
   ========================================================================== */

.psp-mesure p { max-inline-size: 33em; }
.psp-mesure--centre p { max-inline-size: 33em; margin-inline: auto; }


/* ==========================================================================
   13. MOUVEMENT RÉDUIT. Non négociable, critère WCAG 2.3.3.
   Le kit coupe déjà animations et transitions. On neutralise en plus tout ce
   qui est porté par `transform` et par les pseudo-éléments de forme.
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  .psp-forme::before,
  .psp-forme::after,
  .psp-halo::before,
  .psp-collage::before,
  .psp-hero::after,
  .psp-respire::after { animation: none; }

  .psp-leve:hover,
  .psp-leve--doux:hover,
  .psp-carte:hover .psp-carte-photo { transform: none; }

  html { scroll-behavior: auto; }
}


/* ==========================================================================
   14. GABARITS DE GRILLE. À recopier, jamais à improviser.

   UNE RANGÉE ORPHELINE NE SE CORRIGE PAS EN AJUSTANT LE `flex-basis`, ELLE SE
   CORRIGE EN IMPOSANT LA GRILLE. Avec une base souple, quatre blocs sortent en
   3 + 1 à 1440 et cinq blocs en 3 + 2 avec la seconde rangée ÉTIRÉE. Mesuré
   deux fois, sur Qui suis-je puis sur Consultations.

   Et il faut TOUJOURS les deux formes de sélecteur : un container boxed
   intercale un `.e-con-inner` et ses enfants sont petits-enfants, un container
   full n'en a aucun et ses enfants sont directs. Une règle qui ne vise qu'une
   des deux formes ne matche rien, EN SILENCE. Test de détection : lire le
   `flex` calculé de l'enfant, `0 1 auto` signale le piège. Et vérifier aussi le
   `flex-wrap` du PARENT : aucun `flex-basis` d'enfant ne provoque un repli si
   le parent refuse le retour à la ligne.

   DEUX BLOCS
     .P > .E, .P > .e-con-inner > .E { flex: 1 1 330px !important; width: auto !important; min-inline-size: 0 !important; }
     @media (max-width: 780px) { ... flex: 1 1 100% !important; }

   TROIS BLOCS · 3 colonnes ou 1, JAMAIS 2 + 1
     .P > .E, .P > .e-con-inner > .E { flex: 1 1 260px !important; width: auto !important; min-inline-size: 0 !important; }
     @media (max-width: 1000px) { ... flex: 0 0 100% !important; }

   QUATRE BLOCS · 2 x 2 imposé, ou 4 colonnes puis 2 x 2
     .P > .E, .P > .e-con-inner > .E { flex: 0 0 calc((100% - 24px) / 2) !important; width: auto !important; min-inline-size: 0 !important; }
     @media (max-width: 760px) { ... flex: 0 0 100% !important; }
     (variante 4 colonnes : calc((100% - 72px) / 4) au-dessus de 1200px)

   CINQ BLOCS · largeur imposée au tiers, `flex-grow: 0`, rangée incomplète
     .P > .E, .P > .e-con-inner > .E { flex: 0 0 calc((100% - 44px) / 3) !important; width: auto !important; min-inline-size: 0 !important; }
     @media (max-width: 1000px) { ... flex: 0 0 calc((100% - 22px) / 2) !important; }
     @media (max-width: 700px)  { ... flex: 0 0 100% !important; }

   Le `calc` soustrait les gouttières : (nombre de colonnes - 1) x écart.
   ========================================================================== */


/* =========================================================================
   ENTREPRISES ET DIRIGEANTS · Pôle Santé Psy · cinquième page déclinée
   6 août 2026.

   CE FICHIER NE CONTIENT QUE CE QUI EST PROPRE À LA PAGE.
   Le socle `psp-formes.css` est collé en tête à la génération : garde-fous,
   keyframes, halos, courbes, hero, respiration, collage, emplacement photo de
   carte, micro-interactions, signes récurrents, mesure de lecture, mouvement
   réduit et gabarits de grille viennent de là. On construit AVEC, on ne le
   réinvente pas (PSP-SYSTEME-FORMES.md).

   LES CINQ RÈGLES D'ÉCRITURE DU SOCLE S'APPLIQUENT SANS EXCEPTION :
   1. répétition de classe, jamais de préfixe d'identifiant de page ;
   2. toute règle qui habille un titre répète sa classe (0-4-0) ;
   3. les bornes de mesure de lecture s'écrivent en `em`, jamais en px ;
   4. `var(--psp-titre, "Fraunces"), sans-serif` toujours avec son repli ;
   5. une rangée orpheline se corrige en imposant la grille.

   AUCUNE MENTION DE DOCTOLIB. Le §6bis l'écrit depuis le début pour cette
   page comme pour Le coin des Pros, et c'est la seule de ses trois lignes que
   les lectures du 6 août n'ont pas rendue caduque. Une assertion la tient, sur
   le JSON et sur les règles CSS.

   AUCUN MONTANT. Le verbatim de cette page n'en porte aucun, et le §26.2 pose
   qu'une prestation a une source unique de tarif : les soins vivent sur
   /prendre-rendez-vous/, la supervision sur /le-coin-des-pros/. Une assertion
   refuse tout caractère « euro ».

   DEUX ACHETEURS, UNE HIÉRARCHIE FRANCHE (arbitrage de Toufik, 6 août 2026).
   Le verbatim consacre quatre paragraphes denses au dirigeant qui paie pour
   lui-même et un seul bloc à l'entreprise qui achète pour ses équipes : il a
   déjà tranché. La page suit ce poids, elle ne fabrique pas une symétrie qui
   n'existe pas. La rupture entre les deux moitiés est portée par une courbe et
   par un changement de fond, pas par un titre plus gros.
   ========================================================================= */

/* ---------------------------------------------------------- 0. Fondations */

.psp-section { position: relative; }

/* ---------------------------------------------------------- 1. Décalages de halos
   Le socle pose deux halos par section et un troisième sur les sections
   denses. Les POSITIONS s'écrivent ici, page par page : si le halo revient au
   même endroit d'une section à l'autre, le motif devient un gabarit. Celles-ci
   diffèrent de celles du Coin des Pros, qui est la page VOISINE dans le menu,
   et de celles de Consultations. */

.psp-dirigeant.psp-dirigeant::before { inset-block-start: -18%; inset-inline-end: auto; inset-inline-start: -20%; inline-size: 38vw; block-size: 38vw; }
.psp-dirigeant.psp-dirigeant::after  { inset-block-end: -30%; inset-inline-start: auto; inset-inline-end: -10%; inline-size: 28vw; block-size: 28vw; }

.psp-codes.psp-codes::before { inset-block-start: -28%; inset-inline-end: -12%; inline-size: 34vw; block-size: 34vw; }
.psp-codes.psp-codes::after  { inset-block-end: -16%; inset-inline-start: -18%; inline-size: 32vw; block-size: 32vw; }

.psp-entreprise.psp-entreprise::before { inset-block-start: -12%; inset-inline-end: auto; inset-inline-start: -8%; inline-size: 30vw; block-size: 30vw; }
.psp-entreprise.psp-entreprise::after  { inset-block-end: -32%; inset-inline-start: auto; inset-inline-end: -18%; inline-size: 36vw; block-size: 36vw; }

.psp-offres-sec.psp-offres-sec::before { inset-block-start: -24%; inset-inline-end: -16%; inline-size: 40vw; block-size: 40vw; }
.psp-offres-sec.psp-offres-sec::after  { inset-block-end: -14%; inset-inline-start: -6%; inline-size: 26vw; block-size: 26vw; }

.psp-cta.psp-cta::before { inset-block-start: -20%; inset-inline-end: auto; inset-inline-start: -16%; inline-size: 34vw; block-size: 34vw; }
.psp-cta.psp-cta::after  { inset-block-end: -26%; inset-inline-start: auto; inset-inline-end: -10%; inline-size: 30vw; block-size: 30vw; }

/* Troisième halo, DEUX sur cette page (le socle en autorise deux ou trois).
   Il tourne en 52s contre 26 et 34 : trois durées premières entre elles, le
   motif ne se rejoue jamais à l'identique. Posé sur les deux sections les plus
   denses, une par moitié de page. */
.psp-codes-inner.psp-codes-inner::before  { inset-block-start: 18%; inset-inline-start: 68%; }
.psp-offres-inner.psp-offres-inner::before { inset-block-start: 30%; inset-inline-start: 10%; }

/* ---------------------------------------------------------- 2. Hero
   Le voile, le motif de pluie et les cinq écarts du rythme vertical viennent
   du socle. Il ne reste ici que la largeur du titre, qui dépend du texte.
   Le H1 nomme les DEUX acheteurs, le surtitre porte le mot-clé local (§20). */

.psp-hero-titre { max-inline-size: 900px; }

/* ---------------------------------------------------------- 3. Repères
   Panneau blanc à cheval sur la limite hero / page, composant validé au §19.
   NE PAS lui poser `psp-courbe` : le socle l'interdit sur une section qui
   porte déjà une marge négative, les deux se battraient.

   Le quatrième repère annonce « RPS et QVCT », c'est-à-dire la MOITIÉ
   ENTREPRISE, dès le premier écran. La hiérarchie de la page met le dirigeant
   devant, mais un responsable RH qui arrive ici doit savoir en trois secondes
   que la page est aussi pour lui, sinon il repart. */

.psp-reperes {
  background-color: transparent !important;
  margin-block-start: -84px !important;
  padding-block-start: 0 !important;
  padding-block-end: 104px !important;
  position: relative;
  z-index: 3;
}

.psp-reperes-grille > .e-con-inner {
  background: #FFFFFF;
  border-radius: 22px;
  box-shadow: 0 2px 4px rgba(15, 37, 64, .05), 0 26px 64px rgba(15, 37, 64, .14);
  padding: 40px 16px !important;
  gap: 0 !important;
  flex-wrap: nowrap !important;
}

.psp-reperes-grille > .e-con-inner,
.psp-reperes-grille { align-items: stretch; }

/* ÉCRITURE B du piège 6bis (§18, §22) : la règle de répartition est posée sur
   la CLASSE DE L'ENFANT, en !important. Elle ne descend d'aucun parent, donc
   la forme du container (boxed ou full) ne peut pas la faire manquer. */
.psp-repere {
  flex: 1 1 0 !important;
  min-inline-size: 0 !important;
  border-inline-start: 0 !important;
  position: relative;
  padding: 4px 30px !important;
}

.psp-repere + .psp-repere::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 50%;
  transform: translateY(-50%);
  inline-size: 1px;
  block-size: 52px;
  background: var(--psp-sage-300);
}

.psp-repere-chiffre p { margin: 0 0 6px; font-size: clamp(19px, 1.5vw, 23px) !important; line-height: 1.2; letter-spacing: -.01em; }
.psp-repere-label p { margin: 0; font-size: 15px !important; line-height: 1.5 !important; }

/* Deux des quatre titres de repère tiennent sur deux lignes. On RÉSERVE la
   place plutôt que de raccourcir le verbatim, et uniquement quand les repères
   sont côte à côte : une fois empilés, cette hauteur ne créerait que du vide.
   Défaut 4 du §24, défaut 2 du §27.3, même correctif. */
@media (min-width: 621px) {
  .psp-repere-chiffre p { min-block-size: 2.4em; }
}

/* Point de rupture à 1160 et non 1080 : à 1100px les quatre repères tiennent
   sur une ligne mais à 243px chacun, et les libellés partent sur trois lignes.
   Mesuré au banc d'essai le 5 août 2026, valeur reprise telle quelle. */
@media (max-width: 1160px) {
  .psp-reperes-grille > .e-con-inner { flex-wrap: wrap !important; gap: 26px 0 !important; }
  .psp-repere { flex: 1 1 46% !important; }
  .psp-repere:nth-child(3)::before { display: none; }
}

@media (max-width: 620px) {
  .psp-reperes { margin-block-start: -56px !important; padding-block-end: 80px !important; }
  .psp-repere { flex: 1 1 100% !important; padding-inline: 20px !important; }
  .psp-repere + .psp-repere::before { display: none; }
}

/* ---------------------------------------------------------- 4. Le dirigeant
   La section qui porte le plus de texte en une colonne prend le COLLAGE
   (dosage du socle : un collage par page, là où le mur de texte se voit).
   Deux colonnes, texte à gauche, collage à droite.

   Les deux photographies du collage sont des intérieurs calmes et sans
   personne. La métaphore du verbatim est sportive (« comme un athlète de haut
   niveau ») : illustrer un dirigeant par une image de sport ou de réunion
   tendue transformerait un accompagnement psychologique en promesse de
   performance, ce qui est exactement la confusion que le verbatim refuse
   (« pas seulement avec les compétences d'un coach »). */

.psp-dirigeant-inner > .e-con-inner { max-inline-size: 1240px; margin-inline: auto; }

/* Piège 6bis, ÉCRITURE A : les DEUX formes de sélecteur, boxed et full. Une
   règle qui ne vise qu'une des deux ne matche RIEN, en silence, et la colonne
   s'empile à toutes les largeurs. Payé quatre fois sur la seule page d'accueil. */
.psp-dirigeant-grille > .psp-dirigeant-col,
.psp-dirigeant-grille > .e-con-inner > .psp-dirigeant-col {
  flex: 1 1 330px !important;
  width: auto !important;
  min-inline-size: 0 !important;
}

.psp-dirigeant-grille > .e-con-inner,
.psp-dirigeant-grille { align-items: center; }

.psp-dirigeant-texte p { margin: 0 0 18px; line-height: 1.75; max-inline-size: 33em; }
.psp-dirigeant-texte p:last-child { margin-block-end: 0; }

/* Écart « dernier texte vers bouton », norme 28 à 60 du §21, généralisée hors
   du hero au §27.3.5. `p:last-child` remet sa marge basse à zéro et l'écart de
   la colonne est nul : sans cette règle il ne reste rien du tout. */
.psp-dirigeant-texte.psp-dirigeant-texte { margin-block-end: 32px !important; }

.psp-dirigeant-titre.psp-dirigeant-titre.psp-dirigeant-titre .elementor-heading-title {
  font-size: 34px;
  line-height: 1.24;
  overflow-wrap: break-word;
}

@media (max-width: 900px) {
  .psp-dirigeant-grille > .psp-dirigeant-col,
  .psp-dirigeant-grille > .e-con-inner > .psp-dirigeant-col { flex: 1 1 100% !important; }
}

/* ---------------------------------------------------------- 5. Les codes de la route
   QUATRE étapes numérotées, reprises telles quelles de l'énumération du
   verbatim : « comprendre ses automatismes, lire son environnement, ajuster
   ses réponses et s'entraîner mentalement ».

   POURQUOI DES ÉTAPES ET PAS DES CARTES. Le verbatim ne donne AUCUN texte
   descriptif pour ces quatre items. Des cartes réclament un corps de texte, et
   l'inventer serait écrire à la place de la cliente (§14). Une étape numérotée
   se suffit d'un libellé, et le verbatim présente d'ailleurs ces quatre gestes
   comme une progression, pas comme un catalogue.

   QUATRE BLOCS : 2 x 2 imposé sous 1200px, quatre colonnes au-dessus. Jamais
   3 + 1. Gabarit du socle §14, une rangée orpheline se corrige en imposant la
   grille et pas en ajustant la base souple. */

.psp-codes-inner > .e-con-inner { max-inline-size: 1240px; margin-inline: auto; }

.psp-codes-titre-bloc { text-align: center; margin-inline: auto; }

.psp-codes-intro p {
  margin: 0;
  line-height: 1.75;
  max-inline-size: 33em;
  margin-inline: auto;
  text-wrap: balance;
}

.psp-etapes > .psp-etape,
.psp-etapes > .e-con-inner > .psp-etape {
  flex: 0 0 calc((100% - 72px) / 4) !important;
  width: auto !important;
  min-inline-size: 0 !important;
}

.psp-etape { position: relative; padding-block-start: 6px !important; }

/* PAS DE POINTILLÉ DE LIAISON ENTRE LES ÉTAPES. Écrit, vu à la capture, puis
   retiré : dans une gouttière de 24px, un segment pointillé de 12px ne se lit
   pas comme un lien entre deux étapes, il se lit comme un artefact de rendu.
   Le pointillé du §17 fonctionne sur l'Accueil parce que les trois étapes y
   sont larges et l'écart généreux ; ici les numéros portent déjà la séquence.
   Le §5 veut un site vivant, pas un sapin de Noël : un signe qu'on doit
   expliquer est un signe de trop. */

/* Répétition de classe sur la couleur AUSSI, et pas seulement sur les règles
   de titre : aucun jeton global n'est posé sur ce widget (le kit n'a pas de
   sauge 500), donc c'est cette règle qui décide, et elle doit battre ce
   qu'Elementor émet après le CSS personnalisé. */
.psp-etape-num.psp-etape-num.psp-etape-num p {
  margin: 0 0 14px;
  font-family: var(--psp-titre, "Fraunces"), sans-serif;
  font-size: 40px;
  line-height: 1;
  letter-spacing: -.02em;
  color: var(--psp-sage-500);
}

.psp-etape-titre { margin-block-end: 0 !important; }

.psp-etape-titre.psp-etape-titre.psp-etape-titre .elementor-heading-title {
  font-size: 21px;
  line-height: 1.3;
  overflow-wrap: break-word;
}

.psp-codes-mot { padding-block-start: 10px !important; }
.psp-codes-mot p {
  margin: 0;
  line-height: 1.75;
  max-inline-size: 33em;
  margin-inline: auto;
  text-wrap: balance;
}

@media (max-width: 1200px) {
  .psp-etapes > .psp-etape,
  .psp-etapes > .e-con-inner > .psp-etape { flex: 0 0 calc((100% - 26px) / 2) !important; }
}

@media (max-width: 620px) {
  .psp-etapes > .psp-etape,
  .psp-etapes > .e-con-inner > .psp-etape { flex: 0 0 100% !important; }
}

/* MESURÉ APRÈS CAPTURE : la ligne de respiration sortait sur CINQ lignes de
   44px, soit 282px de haut. Ce n'est plus une respiration, c'est un
   paragraphe. Le socle borne `psp-respire-inner` à 820px, ce qui convient à
   une phrase courte ; celle-ci fait 155 caractères parce qu'elle reprend la
   phrase du verbatim en entier, sans coupe. On élargit plutôt que de couper :
   la coupe aurait rejeté « au service d'une performance durable » dans une
   autre section, où elle n'a pas de place. Mesuré après : 3 lignes, 169px. */
.psp-respire-inner.psp-respire-inner > .e-con-inner { max-inline-size: 1180px; }

/* ---------------------------------------------------------- 6. Respiration
   Bande photographique sous voile marine, tout vient du socle. UNE SEULE par
   page, et pas dans le même registre que celle des voisines : l'Accueil porte
   une citation d'Épictète, Consultations une affirmation de méthode, Le coin
   des Pros une phrase adressée aux pairs, celle-ci la définition du rôle.

   La forêt dans la brume et pas les gouttes de pluie : la pluie est déjà la
   respiration du Coin des Pros, qui est la page VOISINE dans le menu. */

/* ---------------------------------------------------------- 7. Pour l'entreprise
   LA RUPTURE. C'est ici que la page change d'acheteur : le dirigeant qui paie
   pour lui-même laisse la place à l'entreprise qui achète pour ses équipes.
   La rupture est portée par la courbe, par le changement de fond et par la
   respiration qui précède, pas par un titre plus gros.

   Deux colonnes : le texte et une photographie à cadre organique. La moitié
   entreprise porte donc elle aussi une image, sinon la hiérarchie voulue se
   lirait comme un abandon. */

.psp-entreprise-inner > .e-con-inner { max-inline-size: 1240px; margin-inline: auto; }

.psp-entreprise-titre-bloc { text-align: center; margin-inline: auto; }

.psp-entreprise-grille > .psp-entreprise-col,
.psp-entreprise-grille > .e-con-inner > .psp-entreprise-col {
  flex: 1 1 330px !important;
  width: auto !important;
  min-inline-size: 0 !important;
}

.psp-entreprise-grille > .e-con-inner,
.psp-entreprise-grille { align-items: center; }

/* Un emplacement photo est un container VIDE, et un container vide ne prend
   AUCUNE hauteur : le fond est bien posé et l'image reste invisible (§18
   piège 6, revu au §26.4). `psp-carte-photo` du socle porte la hauteur, ce
   bloc porte le cadre organique. Le contour diffère de celui du Coin des Pros
   pour la même raison que les halos. */
.psp-photo-cadre {
  /* VU À LA CAPTURE : avec 16%/16% en haut et 84%/84% en bas sur une boîte
     large et courte, le haut sort presque droit et le bas en grand arc, donc
     la forme se lit comme un BOL et pas comme une forme organique. Les valeurs
     du Coin des Pros tiennent sur une boîte plus étroite, pas ici. Remontées. */
  border-radius: 54% 46% 58% 42% / 34% 28% 72% 66%;
  min-block-size: 340px;
  box-shadow: 0 3px 8px rgba(15, 37, 64, .08), 0 24px 56px rgba(15, 37, 64, .16);
}

.psp-entreprise-texte p { margin: 0 0 16px; line-height: 1.75; max-inline-size: 33em; }
.psp-entreprise-texte p:last-child { margin-block-end: 0; }

@media (max-width: 900px) {
  .psp-entreprise-grille > .psp-entreprise-col,
  .psp-entreprise-grille > .e-con-inner > .psp-entreprise-col { flex: 1 1 100% !important; }
  .psp-photo-cadre { min-block-size: 260px; }
}

/* ---------------------------------------------------------- 8. Ce que je propose
   TROIS panneaux, trois colonnes ou une, JAMAIS 2 + 1 (gabarit du socle).
   Aucune photographie sur aucun des trois : une image sur l'un et pas sur les
   autres n'est jamais un choix, c'est un oubli (§27.3, point 3). Ces blocs
   énumèrent des thèmes, c'est la matière du composant `psp-panneau` du §20.

   Le troisième panneau porte deux lignes de plus que le deuxième, qui n'a
   qu'une ligne dans le verbatim. C'est assumé : ce sont des panneaux de texte
   à barre de couleur, pas des cartes jumelles, et leur hauteur s'égalise par
   `align-items: stretch`. */

.psp-offres-inner > .e-con-inner { max-inline-size: 1240px; margin-inline: auto; }

.psp-offres-titre-bloc { text-align: center; margin-inline: auto; }

.psp-offres > .psp-offre,
.psp-offres > .e-con-inner > .psp-offre {
  flex: 1 1 260px !important;
  width: auto !important;
  min-inline-size: 0 !important;
}

.psp-offre {
  background: #FFFFFF;
  border-radius: 18px;
  padding: 34px 30px 30px !important;
  box-shadow: 0 1px 2px rgba(15, 37, 64, .04), 0 14px 36px rgba(15, 37, 64, .07);
}

.psp-offre-titre { margin-block-end: 10px !important; }

.psp-offre-titre.psp-offre-titre.psp-offre-titre .elementor-heading-title {
  font-size: 21px;
  line-height: 1.3;
  overflow-wrap: break-word;
}

.psp-offre-texte p { margin: 0; line-height: 1.7; font-size: 16px; max-inline-size: 33em; }

.psp-offres-action { padding-block-start: 10px !important; }

/* Renvoi discret vers Le coin des Pros. Les deux pages proposent de la
   formation, et la frontière n'est pas évidente : ici les équipes d'une
   entreprise, là les professionnels du soin. Le dire vaut mieux que laisser
   deux pages se concurrencer en silence. Variante `--lien`, pas un bouton :
   c'est une précision de lecture, pas une action. */
.psp-offres-renvoi { padding-block-start: 6px !important; }
.psp-offres-renvoi p { margin: 0; font-size: 15px; line-height: 1.6; max-inline-size: 40em; margin-inline: auto; }

@media (max-width: 1000px) {
  .psp-offres > .psp-offre,
  .psp-offres > .e-con-inner > .psp-offre { flex: 0 0 100% !important; }
}

/* ---------------------------------------------------------- 9. Appel à l'action
   Fond marine, un seul chemin : la fiche contact.

   LE TEXTE DIT EXPLICITEMENT DE CHOISIR LE PROFIL. Le verbatim demande un
   bouton « qui renvoie vers le formulaire unique du site avec le profil
   Professionnel / entreprise PRÉSÉLECTIONNÉ ». L'ancre `#fiche-contact` ne
   présélectionne rien, et le formulaire id 3 est hors périmètre (arbitrage de
   Toufik, 6 août 2026). La consigne écrite est la substitution honnête : elle
   coûte une phrase au lecteur au lieu d'un clic, et elle ne risque pas de
   casser le seul formulaire de conversion du site. */

.psp-cta-inner > .e-con-inner {
  max-inline-size: 720px;
  margin-inline: auto;
  text-align: center;
}

.psp-cta-titre { margin-block-end: 18px !important; }
.psp-cta-texte { margin-block-end: 36px !important; }
.psp-cta-texte p { margin: 0; line-height: 1.75; max-inline-size: 33em; margin-inline: auto; text-wrap: balance; }

/* ---------------------------------------------------------- 10. Boutons
   Elementor 7 émet `.elementor-widget-button .elementor-button
   { background-color: var(--e-global-color-accent) }` dans le CSS de chaque
   document, APRÈS le CSS personnalisé : sans répétition de classe les boutons
   sortent en bordeaux (§18). 0-3-0 contre son 0-2-0, sans préfixe de page. */

.psp-bouton.psp-bouton.psp-bouton .elementor-button {
  border-radius: 999px;
  font-weight: 600;
  letter-spacing: .01em;
}

.psp-bouton--clair.psp-bouton--clair.psp-bouton--clair .elementor-button,
.psp-bouton--clair.psp-bouton--clair.psp-bouton--clair .elementor-button svg {
  fill: var(--psp-navy-900);
}
.psp-bouton--clair.psp-bouton--clair.psp-bouton--clair .elementor-button {
  background-color: var(--psp-cream) !important;
  color: var(--psp-navy-900);
  border: 2px solid var(--psp-cream);
  white-space: nowrap;
  padding: 15px 30px;
}

.psp-bouton--clair.psp-bouton--clair.psp-bouton--clair .elementor-button:hover,
.psp-bouton--clair.psp-bouton--clair.psp-bouton--clair .elementor-button:focus-visible {
  background-color: #FFFFFF;
  border-color: #FFFFFF;
  color: var(--psp-navy-900);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .22);
}

.psp-bouton--fantome.psp-bouton--fantome.psp-bouton--fantome .elementor-button {
  background-color: transparent !important;
  color: var(--psp-cream);
  border: 2px solid rgba(251, 249, 245, .55);
  padding: 15px 30px;
}

.psp-bouton--fantome.psp-bouton--fantome.psp-bouton--fantome .elementor-button:hover,
.psp-bouton--fantome.psp-bouton--fantome.psp-bouton--fantome .elementor-button:focus-visible {
  background-color: rgba(251, 249, 245, .12) !important;
  border-color: var(--psp-cream);
  color: #FFFFFF;
}

.psp-bouton--secondaire.psp-bouton--secondaire.psp-bouton--secondaire .elementor-button {
  background-color: var(--psp-navy-800) !important;
  color: #FFFFFF;
  border: 2px solid var(--psp-navy-800);
  padding: 15px 30px;
}

.psp-bouton--secondaire.psp-bouton--secondaire.psp-bouton--secondaire .elementor-button:hover,
.psp-bouton--secondaire.psp-bouton--secondaire.psp-bouton--secondaire .elementor-button:focus-visible {
  background-color: var(--psp-navy-700);
  border-color: var(--psp-navy-700);
  color: #FFFFFF;
}

.psp-bouton--secondaire.psp-bouton--secondaire.psp-bouton--secondaire { align-self: flex-start; }

/* DEUX DÉFAUTS DE CETTE VARIANTE, TROUVÉS À LA CAPTURE ET PAS À LA MESURE.

   1. Elle héritait des CAPITALES et de la graisse 600 du bouton de base : le
      renvoi censé être le plus discret de la page était plus lourd que la
      phrase qu'il complète. C'est exactement le défaut corrigé au §24 sur la
      ligne Doctolib de la page 80, et il était revenu par la variante.

   2. LA FLÈCHE SORTAIT EN BLANC SUR FOND CRÈME, donc invisible. Elementor
      colore le texte du bouton mais pose `fill: #FFFFFF` sur le SVG dans le
      CSS du document, après le CSS personnalisé. Vérifié en styles calculés :
      `fill` = rgb(255,255,255) sur un fond rgb(255,255,255). Le défaut est
      présent sur l'Accueil (3 flèches) et sur Qui suis-je (2). */
.psp-bouton--lien.psp-bouton--lien.psp-bouton--lien .elementor-button {
  background-color: transparent !important;
  color: var(--psp-navy-700);
  padding: 0;
  border-radius: 0;
  justify-content: flex-start;
  text-align: start;
  text-transform: none;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0;
}

.psp-bouton--lien.psp-bouton--lien.psp-bouton--lien .elementor-button svg {
  fill: currentColor !important;
}

.psp-bouton--lien.psp-bouton--lien.psp-bouton--lien .elementor-button-text {
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 1px;
  padding-block-end: 2px;
  transition: background-size .25s var(--psp-ease);
}

.psp-bouton--lien.psp-bouton--lien.psp-bouton--lien .elementor-button:hover .elementor-button-text,
.psp-bouton--lien.psp-bouton--lien.psp-bouton--lien .elementor-button:focus-visible .elementor-button-text {
  background-size: 100% 1px;
}

.psp-bouton--centre.psp-bouton--centre.psp-bouton--centre .elementor-button { margin-inline: auto; }
.psp-bouton--centre.psp-bouton--centre.psp-bouton--centre { text-align: center; }

/* §27.3, point 4 : `align-self` du WIDGET bat `align-items` du CONTAINER. Un
   centrage se reprend sur le widget, à spécificité égale et plus bas dans la
   feuille. Poser `align-items: center` sur le parent ne suffit pas. */
.psp-bouton--centre.psp-bouton--centre.psp-bouton--centre {
  align-self: center;
  align-items: center;
}

/* ---------------------------------------------------------- 11. Mobile */

@media (max-width: 767px) {
  .psp-bouton--clair.psp-bouton--clair.psp-bouton--clair,
  .psp-bouton--clair.psp-bouton--clair.psp-bouton--clair .elementor-button,
  .psp-bouton--fantome.psp-bouton--fantome.psp-bouton--fantome,
  .psp-bouton--fantome.psp-bouton--fantome.psp-bouton--fantome .elementor-button,
  .psp-bouton--secondaire.psp-bouton--secondaire.psp-bouton--secondaire,
  .psp-bouton--secondaire.psp-bouton--secondaire.psp-bouton--secondaire .elementor-button { width: 100%; }
  .psp-bouton--clair.psp-bouton--clair.psp-bouton--clair .elementor-button,
  .psp-bouton--fantome.psp-bouton--fantome.psp-bouton--fantome .elementor-button,
  .psp-bouton--secondaire.psp-bouton--secondaire.psp-bouton--secondaire .elementor-button { justify-content: center; }
  .psp-offre { padding: 28px 24px 26px !important; }
  .psp-etape-num.psp-etape-num.psp-etape-num p { font-size: 34px; }
}

/* ---------------------------------------------------------- 12. Mouvement réduit
   Le socle neutralise déjà halos, collage, pluie et micro-interactions. On
   ajoute ici les seules classes propres à cette page qui bougent. */

@media (prefers-reduced-motion: reduce) {
  .psp-offre:hover,
  .psp-etape:hover { transform: none; }
}

/* ---------------------------------------------------------- 13. Emplacements photo
   §18 piège 5 : Elementor injecte une feuille en ligne qui pose
   `background-image: none !important` à 0-5-0 sur les containers dont
   l'observateur de chargement différé ne se déclenche pas, ET sur tous leurs
   descendants. Les URL vivent donc ICI, à 0-6-0 par répétition de classe.

   §20 : ce bloc est GÉNÉRÉ depuis le dictionnaire PHOTOS du générateur, jamais
   écrit à la main, sinon le dictionnaire devient du code mort qui ment : on
   remplacerait un placeholder dans le Python sans rien changer à l'écran. Une
   assertion refuse toute URL Unsplash écrite à la main ici. */
.e-con.psp-hero.psp-hero.psp-hero.psp-hero.psp-hero {
  background-image: url("https://images.unsplash.com/photo-1542744173-8e7e53415bb0?auto=format&fit=crop&q=80&w=2000") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.e-con.psp-collage-a.psp-collage-a.psp-collage-a.psp-collage-a.psp-collage-a {
  background-image: url("https://images.unsplash.com/photo-1502672260266-1c1ef2d93688?auto=format&fit=crop&q=80&w=1400") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.e-con.psp-collage-b.psp-collage-b.psp-collage-b.psp-collage-b.psp-collage-b {
  background-image: url("https://images.unsplash.com/photo-1583847268964-b28dc8f51f92?auto=format&fit=crop&q=80&w=1400") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.e-con.psp-photo-entreprise.psp-photo-entreprise.psp-photo-entreprise.psp-photo-entreprise.psp-photo-entreprise {
  background-image: url("https://images.unsplash.com/photo-1517048676732-d65bc937f952?auto=format&fit=crop&q=80&w=1400") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.e-con.psp-respire.psp-respire.psp-respire.psp-respire.psp-respire {
  background-image: url("https://images.unsplash.com/photo-1509316975850-ff9c5deb0cd9?auto=format&fit=crop&q=80&w=2000") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}/* End custom CSS */